分块上传与断点续传

一、概念

1、分块上传

文件切成多块,独立传输,上传完成后合并。

客户端在上传一个文件的时候,会按照一定的规则把该文件切成多块,每一块都会经过独立的传输过程,在所有的块上传完成之后,云端按照块的顺序将块合并,合并之后就是完成的文件。

2、断点续传

传输暂停或异常中断后,可基于原来的进度重传

典型案例:在从某个素材网站下载素材时,中途点了暂停或断网了,再点击下载时,客户端会在原来的基础上进行传输。

原来传输到38%,再次下载,也会从38%开始下载。对于服务端(云端)来说,它实际上是把要传输的每一块信息都缓存好了,下一次重传,只需要把还未完成的块信息查询出来,开始传就可以。

offset、size

3、关于使用分块上传技术的注意事项

(1)小文件(几兆几十兆)不建议分分块上传

(2)可以并行上传分块,并且可以无序传输,合理设置并行数量,可以极大提高上传消耗时间。

 

二、分块上传的大致步骤

1、初始化上传

通知客户端,上传该文件将文件分成几块,每一块多大

2、客户端执行上传分块任务

这一步,客户端通常并行执行

3、客户端通知云端(服务端)已经上传完成

云端接收到通知后,进行相关处理,比如合并文件

4、额外功能扩展

(1)客户端取消上传

(2)客户端查询每一块的上传进度