为了给您提供更优质的服务,请您先完善以下信息:
确认提交

扫码关注

爱数技术支持中心公众号

请选择:

请选择咨询类型

AnyShare
AnyBackUp
AnyRobot

扫码关注

爱数技术支持中心公众号

contact us

提交成功!

我们将在 24 小时之内联系你。

性能爆表
AnyShare
如何购买
我已是Anyshare 客户
AnyRobot
如何购买
购买 AnyRobot 订阅服务
我已是 AnyRobot 客户
一对一在线咨询
我是 AnyRobot 新客户
一对一在线咨询

爱数博客

全部 AnyBackup AnyShare AnyRobot AnyDATA AnyFabric

AnyShare 断点续传技术解读

2020-09-21 3076 1
通常上传和下载文件过程中,由于环境影响因素可能造成上传或者下载中断,为了避免文件重新下载或者上传造成额外的传输成本和时间成本,Anyshare 对文件的上传和下载采用断点续传的方案,不仅可以解决此类场景。同时在对大文件的上传/下载中,将文件分成若干小块进行上传,可以提高上传效率,较少资源占用,还能及时记录文件块上传的进度到数据库。

技术原理:
 将一个文件按照一定的规则分割成多个小文件,然后客户端每次只上传一个小文件(利用多线程技术每次上传多个小文件),服务器接收到上传过来的小文件后根据一定的规则来组合这些小文件。断点续传的关键是断点,所以在制定传输协议的时候已经设计好。

断点续传下载:

首先判断文件是否存在,用户是否有下载权限。
下载前,客户端先指定缓存目录(Web使用浏览器默认缓存目录)。
下载过程中如果出现异常中断,客户端会记录下当前中断的位置,在网络恢复或者重新登陆后,读取本地缓存的中断点,向服务端重新发起下载请求,带上Range参数。
中断的部分下载完成后,客户端本地进行合并。

断点续传上传:

选择本地一个文件,上传前先将这些基本信息记录至客户端。
客户端根据文件大小,如果超过一定大小,可按照一定规则对文件进行分片。
客户端每次只上传一个文件的小分片,上传完一个分片,将这个文件的分片位置更新至本地缓存。
如果出现网络异常或其他异常中断,在网络恢复或者重新登陆后,读取本地缓存上次未完成的分片位置,向服务端重新发起这个分片的上传请求。
服务端接收到所有分片后进行组装拼接,一个完整的文件信息保存至服务端存储。
 

请就本文对您的益处进行评级:

标签

产品技术

相关文章

热门标签

版本发布 在线教学
ai-assistant
chat
support
trial
需求助手 (内容由 AI 大模型生成,请仔细甄别)