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

扫码关注

爱数技术支持中心公众号

请选择:

请选择咨询类型

AnyShare
AnyBackUp
AnyRobot

扫码关注

爱数技术支持中心公众号

contact us

提交成功!

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

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

爱数博客

全部 AnyBackup AnyShare AnyRobot AnyDATA AnyFabric

Anyshare秒传功能解析

2020-05-26 4043 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 通过客户端上传已经上传过的文件,秒传成功


 

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

标签

产品技术

相关文章

热门标签

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