您好、欢迎来到现金彩票网!
当前位置:2019全年资料大全正版 > 同步算法 >

百度云管家和百度同步盘的算法上的BUG和优化

发布时间:2019-07-21 19:34 来源:未知 编辑:admin

  最新版的百度云管家和百度同步盘的算法上都有一些BUG,或者说算法不够高效,产品需要优化。

  主要是我用过很多网盘,后来主要是用360网盘和百度云,因为这两个容量够大,速度更快,上传限制比较低。

  360限制要比百度云少,但是没百度云稳定,所以一般我用百度云,文件太大的时候会用360网盘,但是百度云网盘有很多BUG和上传算法亟需要优化。

  首先说百度云管家,百度云管家根据MD5判断服务器上是不是有文件,有了就秒传,这个无可厚非,但是有些版本第一次正常上传,第二次上传竟然没有秒传,我就很奇怪,后来没法办降了百度云管家版本,解决了这个问题。然后百度云管家的备份功能,备份目录后,服务器上文件的修改时间竟然是我的上传时间,我再想为什么百度云不存储我文件的修改时间呢?基于这个原因,百度云二次备份的时候会效率低下。第二次我再上传这个文件的时候,竟然还是会上传一次,秒传后会把服务器上的文件的修改时间改成我现在的上传时间。如果这个目录只增加了一个文件,但是百度云还是会花数个小时,挨个计算每个文件的MD5,再秒传,最后再上传我增加的文件,本来只要几秒钟只上传我新增的不就行了吗?可能工程师又要说,那你应该用百度云同步盘!!!那为什么360云盘(非同步版)可以解决这个问题呢?我理解的360云盘的备份方法,360云盘备份的时候会把文件修改时间记录成服务器上的文件的修改时间,然后360云盘会有一个快速的取样算法,比如检测文件头,文件尾部,文件的中间部分,生成一个快速的识别码,然后把这个识别码存储在服务器上,这样服务器既保存了MD5,也保存了识别码。再次上传的时候,如果文件大小,修改时间,文件在服务器位置上对用户的相对位置,识别码都一致,那就认为这个文件再服务上已经存在了,就不用上传了,也没有必要再重新计算MD5,因为大文件的MD5计算十分浪费时间,所以记录文件的修改时间十分必要。那工程师又要说了,这样不能决定保证上传的文件和服务器上的文件绝对一致。那我就笑了,MD5也是可以仿制的,用户没有必要去伪装成别人的文件吧,伪装也没有必要,伪装了也仅仅是秒传,自己的文件也上传不上去啊,快速上传仅仅对单一用户。如果说不同用户,不同用户在在服务器位置上对用户的相对位置也不一样啊,肯定要重新计算MD5的,这样既能避免重复,又能在重复备份时候高效,为什么不用这样的方法吗?

  在说下百度云同步盘,算法没得说,也是文件修改时间为上传时间,服务器上的文件和本地文件的对应关系保存在本机上的。文件删除操作保存在baohe.cache.delete 目录中,其他保存在本地数据库。但是有的时候文件删除操作和文件移动操作捕捉不到,导致本来删除的又被百度云下载了,文件的移动也被重新下载和上传,不过这个是有几率的现象。而且百度云同步盘和百度云管家不能同时用,用了百度云管家备份同一文件会修改服务器文件修改时间,无论这个文件有没有修改,然后百度云同步盘认为文件被修改,就会重新下载一次。这个算法我是无语了。如果你看了上面我说的360的算法。百度工程师想解决这些问题根本不是事,如果保存了文件修改时间,文件修改时间一致,识别码又一致,就不会下载了。两个客户端就都完美了。

  可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。

http://cpfafrance.com/tongbusuanfa/689.html
锟斤拷锟斤拷锟斤拷QQ微锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷微锟斤拷
关于我们|联系我们|版权声明|网站地图|
Copyright © 2002-2019 现金彩票 版权所有