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

爱数博客

全部 AnyBackup AnyShare AnyRobot AnyDATA AnyFabric

Anyshare秒传功能解析

2020-05-26 3692 0
秒传功能具体是什么?


如果服务端存在一个文件,客户端再次上传相同内容的文件,无需实际传输,只需要多条文件记录共同持有这份数据

秒传服务有哪些基本原理?
1 如何判定两个文件内容相同:
     对服务端和客户端的文件都计算校验值,校验值相同的文件,内容相同
     文件校验值和文件名无关
2 采用文件长度、文件前200k内容的md5校验值,整个文件的crc32校验值、md5校验值组合进行秒传判定。有两个步骤:
     (1) 比较文件长度、文件前200k内容的md5校验值,如果任意一个值不匹配,则文件内容肯定不同,避免计算整个文件的校验值
     (2) 如果步骤(1)中两个值相同,再比较整个文件的crc32校验值、md5校验值。两个校验值都相同,文件内容相同,添加文件记录指向已有的数据,秒传成功

Anyshare 是怎么做到秒传文件的?
数据库:
version_data 表中的一条记录代表一个文件数据
version_object 表中的 data_index,指向 version_data 表中的data_index,即实现了多个版本(原始版本和秒传版本)都指向一个文件数据

秒传文件:

(1) 上传一个文件,version_object表中一条记录指向version_data表中一条记录,文件的校验值未计算
(2) 服务端计算文件的校验值
(3) 上传相同内容文件,秒传校验码协议, length、slice_md5相同
(4) 秒传文件协议, length 、md5、crc32相同
(5) 添加一条version_object记录,指向同一条version_data表记录

删除文件:

(1) 有多条版本对象记录指向同一条数据记录
(2) 删除时,只删除version_object中的记录
(3) 只有一条版本记录指向数据记录时,删除version_data和version_object表中这两条记录,并删除存储中的数据

Anyshare 秒传功能实测

1 查看控制台配置,确认已经开启文件秒传功能



2 通过客户端上传已经上传过的文件,秒传成功


 

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

标签

产品技术

相关文章

热门标签

版本发布 在线教学

拨打400

免费销售咨询热线

400 8216055

7*24 小时免费售后服务热线

400 880 1569

购买咨询

购买咨询

售后服务

售后服务

返回顶部

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

扫码关注

爱数技术支持中心公众号