解析百度网盘为什么能实现秒传,两三个G的文件一下子就上传完成了.
工具/原料
网盘上传插件
浏览器
方法/步骤
1、在上传文件之前,如果你是第一次使用百度网盘,那么会提示你安装一个极速控件.(图片均来自百度图库)
2、该极速控件的下载是为了更方便的来检测我们将要上传文件的哈希值.也就是文件的唯一识别码.下面的图片是一个文件哈希码的计算小工具,像这样的小工具有很多.算法也不尽相同.
3、下载百度的"噍祧鲚歇极速控件"的原因:百度有自己的一套加密算了.所以为了保证两邗锒凳审个文件加密对比文件的准确性更高,要使用同一套加密算法才可以.网上有资料说是以MD5方式对文件的"哈希值"进行比对.个人觉得不太可能,因为MD5在这几年的弱点不断被人们所发现,已不再适用当前的计算机安全环境.再者,如果是用的MD5加密算法,百度也没有必要提示我们再下载一次自己的控件.另一个原因是,百度网盘上的文件数量是以PB或者是YB来进去存放的,所以对于所保存的"哈希值"的唯一性要求更高.
4、秒传原理:上传大文件时,会对文件进行比对操作,这里的对比操作其实茧盯璜阝就是将我们下载的插件对要上传的文件进行"哈希值"的计算,跟百度的"稆糨孝汶;哈希值"数据库中的文件进行匹配操作.如果发现两者的"哈希值"相同,那么,将已存在于百度数据库里面的文件对应的文件链接到我们对应的帐号里,做一个关联就可以,其实并没有对本地文件进行上传,所以我们也就看到了秒传的效果.
5、秒传的弊端:如果"哈希值"一样的,但是文件不一样怎么办,因为毕竟没有把我自己本地的文件进行上传,而是用的别人的文件,还是会有所担心的.其实哈希算法就像是人的指纹一样,十万个里面可能会发现一个不一样的,这种概率极低.另一方面,哈希算法其实不止我们所熟知的MD5,还有SHX,当然,相信百度这样的公司有自己的一套更精确的算法.
6、既然有弊端,为什么还要使用秒传:聊贤霖鉴既然还有可能发生错误,为什么还要用这种秒传的方法,其实之前我也想过这个问题,但是结合生活中,其实紧鋈笆珀不难发现,交通事故那么多,我们也一直在开车的道理是一样的.总的来说,也就是利远远大于弊.举个例子,一个photoshop文件是2个G,如果每次都上传我们本地的文件,那么,有一万个人上传的话,百度就要存储20000个G的数据,而且存的还是同样的一个文件,远远没有做到资源的重复利用.中国地大物博,何止一万.假如只是对于一个文件作关联的话,就相当于是给了每一个人一个链接而已,这样数据库中最多也就几兆的数据量而已.
7、秒传的另一个好处:大大节省了我们等待的时间.像是dreamweaver,photoshop,美图秀秀等人们经常使用的软件,上传的速度又快,文件又不容易出错,这我想也是百度为什么使用这种上传方式的重要原因吧.
8、总结:技术总是有好的一面跟不好的一面,往往就看利大于弊还是弊大于利,往往需要我们去发现和权衡.个人用百度网盘已经一年多了,感觉还是不错滴,