V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
wuwudeqi
V2EX  ›  Java

大文件传输技术

  •  
  •   wuwudeqi · 2020-12-25 17:03:55 +08:00 · 4751 次点击
    这是一个创建于 1421 天前的主题,其中的信息可能已经有所发展或是发生改变。

    请教一下各位 大文件传输用什么技术好,文件会大到 40G 的级别,现在是用 ftp 速度不是很理想,且比较致命的问题是文件上传后大小会变化,最好自带 md5 校验。 第二个问题是服务器是公司部署的在 A 地,但是访问的公司用户遍布全国,如果在 A 地内网的员工上传还行,但是在 B 地员工就会出现明显的速度下降,网络优化方面有没有可以提供的思路

    19 条回复    2020-12-26 14:44:29 +08:00
    netnr
        1
    netnr  
       2020-12-25 18:53:00 +08:00 via Android
    用 syncthing 同步,首次要配置,后面把文件放进去就行了,有 P2P 中继等优势
    iphoneXr
        2
    iphoneXr  
       2020-12-25 18:57:16 +08:00 via iPhone
    建议 linux crontab+rclone
    bitipao
        3
    bitipao  
       2020-12-25 18:57:56 +08:00
    rsync
    YouLMAO
        4
    YouLMAO  
       2020-12-25 18:59:21 +08:00
    下载靠 CDN, 钱的问题, 你是上传瓶颈吗, 没戏咯
    lidlesseye11
        5
    lidlesseye11  
       2020-12-25 19:12:28 +08:00
    所以为啥发在 Java 节点。。
    PS:再优化也超不过 B 地员工上传的带宽啊。。把文件切小,然后多搞几张 5G SIM 卡并行传,服务器再拼起来?
    ghostlzw
        6
    ghostlzw  
       2020-12-25 19:24:22 +08:00
    1. 切片传输
    2. 放 cdn 上,或者加入 p2p 服务
    laminux29
        7
    laminux29  
       2020-12-25 19:49:19 +08:00
    1.手动传,超大文件,建议 7zip/LZMA2 + 1900M 的分卷大小。

    2.写程序传,超过 128M 的文件,按 128M 进行切分。切分后计算每个切片的 md5 。传过去后,校验 md5 。
    varrily
        8
    varrily  
       2020-12-25 19:50:12 +08:00
    阿里云 oss + cdn
    yfwl
        9
    yfwl  
       2020-12-25 19:56:31 +08:00
    阿里云 OSS,加钱!
    hantsy
        10
    hantsy  
       2020-12-25 20:42:53 +08:00
    切细再传输啊
    leafre
        11
    leafre  
       2020-12-25 21:02:37 +08:00
    交给云吧
    wym0823
        12
    wym0823  
       2020-12-25 21:07:51 +08:00 via Android
    微力同步,resilio,都可以轻松搞定
    Jirajine
        13
    Jirajine  
       2020-12-25 23:29:05 +08:00   ❤️ 1
    提供服务给多人同步可以用 resilio sync
    点对点传输可以看看 https://github.com/schollz/croc
    如果文件不需要经常修改,可以用 bt 种子+分布式 http 源,无需专门的客户端。
    或者 IPFS

    以上方式均支持完整性校验。
    Lemeng
        14
    Lemeng  
       2020-12-25 23:43:46 +08:00
    切吧
    chn9207
        15
    chn9207  
       2020-12-26 05:27:20 +08:00
    用 oss 的拉取任务 比对 md5 我用的这个办法
    inwar
        16
    inwar  
       2020-12-26 08:05:23 +08:00 via Android
    调整下拥塞算法
    printhello
        17
    printhello  
       2020-12-26 11:01:47 +08:00
    这个量级的传输 FTP 这种直接传输的方式肯定不行,可以:多线程+分块+断点续传,如果要减少网络流量,还要进行数据压缩
    gzhhfj
        18
    gzhhfj  
       2020-12-26 12:59:39 +08:00 via Android
    有第三方上传控件,基本上是切片、多线程、 用过 http 上传。ftp 的话主要是要考虑上传用户名和密码的问题,挺难解决的。
    learningman
        19
    learningman  
       2020-12-26 14:44:29 +08:00
    @lidlesseye11 那还是受限于基站带宽
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2891 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 06:34 · PVG 14:34 · LAX 22:34 · JFK 01:34
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.