V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
ttxshang
V2EX  ›  问与答

关于分片上传的疑问

  •  
  •   ttxshang · 2019-04-21 18:10:38 +08:00 · 1405 次点击
    这是一个创建于 1803 天前的主题,其中的信息可能已经有所发展或是发生改变。

    之前做分片上传相关的服务,都是直接把文件存放在服务硬盘中。主要思路是:客户端或者浏览器端,提供一个接口通过 md5,分片索引,总分片数来查寻是否上传过分片,还提供一个接口,给调用方上传分片内容,最后,再提供一个接口给客户端调用,通知服务端文件上传完成。于是,服务端就开始合并分片文件,解压,然后保存文件相关信息。

    现在的情况是,由于上传服务器有多台机器了,并且要把文件存放在 gridfs 或者 minio 的存贮服务。

    我的思路是接口还用原来定义的接口,只不过原来分片存在服务器的操作变成直接上传到存贮服务,最后,合并分片操作变成合并存贮服务中的分片文件。

    现在有几个疑问是:

    1,如何把分片内容直接传到存贮服务中? 2,如果还是根据原来的思路先把文件上传到服务器中,然后,再上传到存贮服务,这样是否有画蛇添足的感觉,而且效率肯定没有之前的实现快了,最后这种思路还有个问题,需要保证同一个用户上传同一个文件所有分片都在同一个服务器上(虽然可以根据负载均衡策略做到,但是总感觉这样反而麻烦) 3. 如果可以把分片直接上传到 minio 或者 gridfs 中,(我查看相关接口是可以把分片上传到存贮服务中),然后,直接调用 gridfs 或者 minio 相关接口进行合并应该最好的。但是,如何在相关存贮服务进行合并分片的操作(在 gridfs 或者 minio 接口都没有找到相关的接口)?

    这里先谢谢了!!如果上面的做法有问题,能否提供下正确的思路。

    1 条回复    2019-04-22 21:50:22 +08:00
    ttxshang
        1
    ttxshang  
    OP
       2019-04-22 21:50:22 +08:00
    周末发帖,感觉没人回答,工作日人工置顶下。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   956 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 21:36 · PVG 05:36 · LAX 14:36 · JFK 17:36
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.