欢迎来到天天文库
浏览记录
ID:9000765
大小:517.84 KB
页数:6页
时间:2018-04-14
《云盘秒传原理的探讨——哈希查找与数据去重》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、云盘秒传原理的探讨——哈希查找与数据去重用云盘存片的童鞋注意了,别以为你辛辛苦苦收集好几年的片存到云盘就高枕无忧了,根据“假秒传,真共享”原则,你秒传的文件是非常不保险的,很容易被河蟹,已经有童鞋表示存到云盘的片子被河蟹了。自己多年的“劳动成果”很有可能突然化为乌有!!!自己的“财产”突然被剥夺了你有脾气么?最近我也发现360云盘把片都删了,至少是不能在线播放,下载我不确定。想保住革命果实,赶紧看下边的方法,打造属于你自己的,独特的,不被河蟹的云盘片源。=====================================================
2、=======================================================================前几天给360云盘传了《一个华尔街之狼》(无删减送审版,很暴力呦:http://yunpan.cn/QICpnLPX3CLaX),但是是秒传的,当时能想到肯定是服务器有了,但是它凭什么知道已经有?文件名?不可能,乱七八糟什么文件名都有,我改了一个试试,还是秒传~究竟是什么原理呢?首先想到的是360云盘利用文件标识符之类,唯一的ID,有文件相关信息等,尤其是索引信息。但后来感觉不对,查了一下,原来标识符指的是文件名,那个
3、概念应该是文件描述符。那是否是通过文件描述符来解决文件重复的问题呢?仔细想想,明显不是,很关键的一个问题其实是,文件索引,描述符,它唯一的标识你的硬盘中某文件的索引信息,在另一台机子上他就是另一个ID了,这是针对系统的而不是针对文件的。那么文件有什么唯一性呢?想起了mp3文件可以改属性,包括音乐家、专辑等,而且很多播放器是利用这个属性来自动匹配歌词等信息的。但是视频文件好像不是这样的。到这,常识已经用的差不多了,似乎没找到方向。其实通过过去网盘常用的贴一个链接大家都用,或者百度文库的收藏就可以知道,通过把同一个文件分发一些链接等假象,是可以让很多人同时”拥有
4、“的。不过看云盘需要角度更深一点,是不管你们共享不共享,传播不传播,只要文件相同,他都是只存一份(问题简单化,不考虑分布式和备份等现实问题)。那他怎么做到的呢?是对比整个文件吗?如果真的去一个字节一个字节的完全不差的比较,那样服务器不得憋死~!其实,他只要比较HASH值就够了,联想我们去网上下东西,某些网站,是不是也经常看到HASH值呢。那计算HASH值是不是也得耗费服务器资源呢,其实,HASH去重也是分粒度的,有文件去重,块去重,字节去重,粒度越细的准确率越高,相应的耗费服务器资源肯定也要多,这里只要文件级别的去重就够了,有谁没事闲的(或者具备一定的知识而
5、有能力)去修改一个音视频文件呢?太少了吧,对于大多数人,除了文件名,他的音视频文件无非就是网上流传的几个热门版本,这样大家都用一个就够了,是不是很节约云盘资源呢?通过数十个视频数十G大规模的上传证实,虽然这些文件都“秒传”了,但是没那么迅速,说明检索庞大的数据库是需要时间的,或者跟颗粒粗细有关系。“破解”秒传的办法:比如360云盘,把电影文件随便改哪怕一个字符,那应该就“秒传”不成了。这样仇视360的就可以通过不断上传垃圾文件饱和攻击360网盘了(不过怕网速不够)。如果真的这种现象频繁了,他们可以把去重粒度转为字节级,这样你把一个字节改一百次,因为其他部分都
6、重复,所以只需增加99字节(问题简单化分析)的空间,不过考虑到文件太大,可能粒度需要把调整到块来应对~又是另一个根据现实情况分析对策的问题了。个中细节,其实我也不是很了解,只是整合了一些知识进行了一个小猜想,不保证对,想解释的很透,还得再充电。补充测试:前边说的不是非常准确吧,hash码我不知道,但是回到mp3的问题上,mp3的文件头是有各种歌曲歌手信息的,也许人家去重就是通过这个文件头,这个是我知识范围能搞定的事。百度云盘下载了一个华尔街之狼插曲——themoneychant.mp3,秒传360云盘。用UE打开mp3文件,如图:挂到linux[cpp]vi
7、ewplaincopy1.root@v:/mnt/hgfs/share2VM# cp The Money Chant.mp3 /tmp 2.root@v:/mnt/hgfs/share2VM# cd /tmp 3.root@v:/tmp# ls 4.at-spi2 ssh-bCAlBYJZ2212 VMwareDnD vmware-root-2966103375 5.pulse-2L9K88eMlGn7 The Money Chant.mp3 vmware-huhuhu 6.pulse-PKdh
8、tXMmr18n unity_support_te
此文档下载收益归作者所有