以专业角度谈谈115网盘的秒传功能

回复 已回复29 星标
更多

以专业角度谈谈115网盘的秒传功能

       我来以专业角度说说秒传等等功能, 作为微软skydrive开发人员, 我们都深知网盘中存在比较多的重复文件, 特别是音乐. 影片之类, 其实从服务器角度考虑, 服务器在秒传文件时候, 并不是使用所谓的MD5或者CRC32冗余校验循环, 服务器判断文件重复的根据主要是文件头和文件散扇区校验. 试想一下如果服务器对上传的文件进行校验, 需要耗费大量的硬盘资源, 因为可能同时有很多文件进行校验, 不可能一下子就能校验完成的, 如果进行校验MD5, 硬盘可能将会忙碌于大量I/O扇区操作.

       从目前主流的网盘技术出发, 一般使用的是比较先进的header check技术, 也是TCP/IP的GET头校验 (8byte), 并配合 10%左右的文件片区SHA1散列校验, 因为同一个文件在一个随机单元的重复率是SHA1 40bits*10^8, 也就是说只要有大约10%的GET头steaming校验和少量SHA1散列校验即可.

       举一个比较通俗的例子, 115网盘再进行秒传的时候, 一般15G的文件能够在数秒内完成, 如果是校验本地硬盘的SHA1和服务器对比, 绝对不可能完成 (udown是完整文件校验, 不知道开发者为什么不采用网页的片区校验).

正序阅读 29# 2012-10-15 23:54

貌似SKYdrive没有妙传功能啊。

28# 2012-10-15 22:54

115现在怎么了  不想用了  削尖脑袋赚钱

27# 2012-10-15 22:48

对此, 微软对大量文件类型做了测试, 测试?


就这样带过了?我不相信不劳而获的东西,你必定要牺牲一些东西的,你能以校验10%的代价换取速度,你舍弃的是什么呢?是文件准确精度罢了,你提的文件结构和分区结构都说明不了问题,不具代表性,2个文件是否一样,最正确的是一个个字节比对,你顶多说MD5也有可能碰撞重复,你的10%的检验重复的可能性更大

26# 2012-10-10 16:39

技术贴,看不懂

25# 2012-10-09 18:04

楼主有没注意格式化的时候每个扇区的大小都是人为设定的,假设多个文件存储在一个文件夹内,里面有TXT文件修改了某个字然后和一堆文件一起压缩成包,刚好又在比较靠后的位置,然后传上网盘;第二次又这样操作一次,把修改的字再改成其他字,然后再打包传上去,那岂不是又会出现秒传?以为压缩前修改的东西刚好就是小于一个扇区里的小文件。其实这两个压缩包是不同的,难道不是吗?

24# 2012-10-09 17:20

这种方法不可行,就像迅雷一样,只有中国才出这种软件---叫资源整合(网站站长穷啊),人们说的离线下载之类的,

整合国情,国人上网付着高昂的费用却用的是和运营商宣传一半不到的带宽,玩个游戏都会顿卡

所以迅雷这类软件在国内运营而生,

结果是国人上网连个隐私都没有了

第二 出现差错是不可避免的,一个错误文件会造成其他用户下载的文件错误

23# 2012-10-09 15:47

有得有失,速度快,准确性要差一点,(这种文件校验技术不可能取代md5、SHA1)

22# 2012-10-09 00:17

个人看法, SHA比较可靠,尤其是比较严肃的文件。

楼主说的也是一种方法,不过无法保证文件一定一模一样。尤其是两个几乎一模一样的时候的大文件,仅有少许不同之处的时候。楼主的方法有可能把两个不完全一样的文件当成同一个。

当然,比较完美的做法是在设置中或者上传时,可以让用户自行选择是否快速校验。

 

另:发现115网页的秒传有时不太灵光。打个比方,有时候从网页同时上传了某文件甲、乙、丙。之后再次上传时,发现仅甲可以秒传,乙、丙通过网页只能重新传一遍。BTW,如果此时放弃乙和丙的上传,用Udown重新试传甲乙丙三个文件,三个文件都可以通过udown秒传(虽然校验的时间长一些些)。

21# 2012-10-08 19:34
楼主霸气

20# 2012-10-08 19:34
楼主霸气

19# 2012-10-08 19:26

真霸气!!

18# 2012-10-08 18:03

SK一点都不好用!

17# 2012-10-08 17:44
sk居然不支持自家的xp,伤不起啊

16# 2012-10-08 17:43
楼主威武

15# 2012-10-08 10:53

欢迎大家加入112018圈

14# 2012-10-08 10:48

这是楼主进入115的第一步,祝你成功!

13# 2012-10-08 10:22

一直以为是对比md5···

12# 2012-10-08 10:10

LZ的意思是牺牲准确性换速度看,你举例的15G大小的文件,如果仅修改了其中一个配置文件,而配置文件正好在15G中比较靠后的地方,也能正确的秒传?我想秒传是在服务端已经把上传好的文件MD5已经计算完成了吧,如果你怕IO吃不消,可以在接收端读取数据时在内存先计算好啊。客户端计算MD5也只是浪费客户端的资源,稍微慢一点还是比不准确的好!!

11# 2012-10-07 11:18

如果恶意传输两个差别很小的文件会出现什么情况?

10# 2012-10-07 10:20

这些不都在迅雷离线实现了吗?

 

新窗口打开 关闭