fastdfs分片上传和断点续传

什么是分片上传呢?

分片上传就是把一个文件分割成多个一定大小的小文件,然后把小文件上传到服务器,上传结束后在服务端进行合并。

分片上传应用场景:大文件上传、网络环境不好。

为什么需要分片上传?

如果上传的文件比较大,在快上传完的时候出了错,需要重新上传。如果采用分片上传,当出错时只需上传出错的一片即可。并且分片上传可采用多线程上传,增加上传速度,还可实现断点上传、断点下载。

分片上传文件注意事项:分配和每次上传文件的大小,内存起始位置。若采用多线程上传,需要分配好每个线程上传的内存片段。

什么是断点续传?

断点续传是在下载或上传时,将下载或上传任务(⼀个⽂件或⼀个压缩包)⼈为的划分为⼏个部分,每⼀个部分采⽤⼀个线程进⾏上传或下载,如果碰到⽹络故障,可以从已经上传或下载的部分开始继续上传或者下载未完成的部分,⽽没有必要从头开始上传或者下载。
断点续传的实现逻辑
在分⽚上传的过程中,如果因为系统崩溃或者⽹络中断等异常因素导致上传中断,这时候客户端需要记录上传的进度。在之后⽀持再次上传时,可以继续从上次上传中断的地⽅进⾏继续上传。
为了避免客户端在上传之后的进度数据被删除⽽导致重新开始从头上传的问题,服务端也可以提供相应的接⼝便于客户端对已经上传的分⽚数据进⾏查询,从⽽使客户端知道已经上传的分⽚数据,从⽽从下⼀个分⽚数据开始继续上传。
实现流程: 将需要上传的⽂件按照⼀定的分割规则,分割成相同⼤⼩的数据块; 初始化⼀个分⽚上传任务,返回本次分⽚上传唯⼀标识; 按照⼀定的策略(串⾏或并⾏)发送各个分⽚数据块;
发送完成后,服务端根据判断数据上传是否完整,如果完整,则进⾏数据块合成得到原始⽂件。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值