APP下载

基于文件指纹的搜索和禁用文件控制设计

2011-09-27钟克吟

肇庆学院学报 2011年1期
关键词:文件名词表指纹

严 浪,钟克吟

(肇庆学院 图书馆,广东 肇庆 526061)

基于文件指纹的搜索和禁用文件控制设计

严 浪,钟克吟

(肇庆学院 图书馆,广东 肇庆 526061)

文章研究Maze系统中资源的性质,介绍根据文件指纹的搜索方式,利用文件指纹聚合镜像文件,向用户提供所需文件的所有可下载源。同时,为控制Maze网络中的禁用文件的传播,提出禁用指纹库和禁用词表相结合的禁用文件识别方法。

P2P;检索系统;文件指纹

一、引言

在P2P网络中,热门文件的流传往往非常广泛。在Maze网络中,文件备份数呈重尾分布,其中热门类别影视类文件,平均备份数达到了8.92。因此有效的发现文件的备份所在位置,有利于充分利用Maze网络中资源,均衡对Peer的负载要求,提高下载的可靠性和速度[1]。

笔者采用MD5哈希算法,针对文件内容计算文件指纹。通过文件指纹识别文件的备份现象,并提出文件指纹搜索方式。

P2P网络的最大亮点是每个Peer自由和平等的参与。因此也不可避免有违规Peer的存在,他们提供禁用资源的共享。发现并阻止的这些资源的传播,以及对违规Peer进行惩罚,是P2P网络的研究重点之一,也是难点之一。集中式架构的P2P网络的最大优点就在于此,它能有效的控制禁用文件的传播,并对违规Peer施以惩罚,提高共享禁用资源的代价[2]。

笔者提出结合禁用指纹库和禁用词表,识别禁用文件。再从中央服务器发起对Maze网络内禁用文件的控制。

二、文件指纹搜索方式

Maze网络中有众多的文件资源,每个文件资源都可能有许多镜像,但部分镜像的命名却完全没有联系;也有许多文件它们在内容上毫无相连,却有非常相似的命名,混淆了人们对文件的使用[3]。因此,根据文件名的搜索方式,不能发现目标文件的所有镜像地址,不能充分利用网络中的文件资源。为了弥补根据文件名的搜索方式的不足,笔者提出根据文件指纹的搜索方式,对用户的目标文件做深入搜索;下面称之为文件指纹搜索方式。文件指纹搜索方式的流程如下。

1.用户提交目标资源的文件指纹。笔者使用文件的部分内容的MD5值作为文件指纹。我们只使用文件的部分内容,是基于下列考虑:在内容交换系统中,有大量的文件是影视文件,文件都非常大,计算所有内容的MD5值代价非常高;此外,经应用,只要合理选择参与计算的内容部分,镜像的误判率非常低,因此只选取部分内容也足以表示文件内容差异。MD5算法是一种广泛使用的哈希算法,其碰撞率非常低,可以忽略不计,因此笔者采用它来计算文件指纹。

2.检索服务器查找所有具有所需文件指纹的资源,将所有在线的目标资源镜像路径返回给用户。生成以文件指纹为主键的数据库,将相同文件指纹文件聚合在一块,可以迅速的返回所有具有所需文件指纹的文件信息。

3.用户可尝试从所有可能下载位置多点下载资源。通过文件指纹搜索方式,用户获得了所需资源的所有可下载源。利用多点下载,充分利用了Maze网络中的资源,提高了下载效率,又平衡了被下载方的负载。

文件指纹搜索方式可以发现目标资源所有的可下载源,主要用在两处:第一,是对根据文件名的搜索方式的补充,对返回结果中用户感兴趣的资源进行深入搜索;第二,在浏览过程中,发现感兴趣的资源更多的可下载源。尤其在第二种情形,用户浏览好友或者邻居的共享资源列表,寻找感兴趣的资源;此时,对于目标资源只有唯一的可下载源,由于网络原因,下载的成功率无法保证,而下载速度也不能达到最优;文件指纹搜索方式正好适应了用户的需求,给出目标资源的所有可能的下载源,提高下载成功率和下载速度。

文件指纹搜索方式是根据文件名的搜索方式的重要补充。分析以往的搜索日志,其中有5.57%的搜索属于文件指纹搜索方式。

三、禁用文件识别技术

笔者设计了一种禁用文件识别机制——结合禁用指纹库和禁用词表,合作识别禁用文件。

禁用词表法是一种常用的禁用文件过滤方法,它通过审查文件文件名中是否包含禁用词来判断文件是否为禁用文件。禁用词表法存在严重的不足,部分禁用文件能够轻易逃过审查。因为违规用户可随意的改变文件名,改用一些诱惑性但正常的词语来对禁用文件进行命名,这样既逃过了禁用词表法的审查,又保持了文件的吸引力。

相对于文件名的易变,文件指纹相对稳定。虽然也可通过改变文件的内容,来改变文件指纹。但这种改变代价相对较高,尤其对于多媒体文件,因此可收集禁用文件的指纹,建立禁用指纹库,通过审查文件的指纹是否属于禁用指纹库来判断文件是否为禁用文件。

禁用指纹库杜绝了禁用文件通过改名逃避审查的现象,但它只能识别已确认的禁用文件,不能识别新的禁用文件。而禁用词表法能够识别部分新的禁用文件,因此笔者提出结合禁用指纹库和禁用词表,合作识别禁用文件。

这个禁用文件识别机制的关键在于建立禁用指纹库和禁用词表。建立和更新禁用指纹库和禁用词表的步骤为:(1)初步创建禁用词表;(2)用已有的禁用指纹库和禁用词表过滤每天的被下载文件;(3)考察文件名含有禁用词,但不具备禁用文件指纹的文件,再次审查它们是否属于禁用文件,将确认为禁用文件的指纹添加到禁用指纹库;(4)考察文件名中不包含任何已有禁用词的禁用文件,审查其文件名中是否有新的禁用词。第1步只在初创禁用词表时做,而第2~4步是周期执行,通过人工参与和机器学习,不断更新禁用指纹库和禁用词表。下面详细解释各个步骤。

1.初步创建禁用词表。这个步骤是人工收集能识别禁用文件的禁用词。这个步骤不要求禁用词表规模很大,覆盖所有可能的禁用词,而是要求收集的禁用词有识别禁用文件能力,误判率较低。

2.用已有的禁用指纹库和禁用词表过滤每天的被下载文件。这个步骤主要是根据已有过滤资源筛选禁用文件。其中,禁用文件有三类:第一类文件名中含有禁用词,同时文件指纹属于禁用指纹库;第二类是文件名中含有禁用词,但文件指纹不属于禁用指纹库;第三类是文件指纹属于禁用指纹库,但文件名中没有已有的禁用词出现。对于第一类文件,不作后续处理;对于第二类文件,在第3步中进行处理,据此更新禁用指纹库;对于第三类文件,在第4步中处理,据此更新禁用词表。

3.考察文件名含有禁用词,但不具备禁用文件指纹的文件,审查它们是否属于禁用文件,将确认为禁用文件的指纹添加到禁用指纹库。这个步骤更新禁用指纹库,将新的禁用文件指纹入库。这个步骤的关键是审查禁用词表法判断的准确性。因为存在用户在正常文件的文件名中加入禁用词以吸引下载,这种情况会造成对正常文件的误判。对过滤的准确性的审查可以是人工审查或者机器审查。

人工审查是最正确的。管理员可下载具有该指纹的文件,通过观看文件内容判断文件是否属于禁用文件。不过,这种审查方式,代价太高,需要非常多的人工参与。只能偶尔对一些争议性高,影响重大的文件,进行如此审查。

机器审查则是收集所有具有候选禁用指纹的文件的文件名,再对这些文件进行禁用词表法过滤,当判断为禁用文件的比例超过设定阈值时才将该指纹加入到禁用指纹库。这种审查方式方便,可作为日常更新所用的审查方式。

4.考察文件名不包含任何已有禁用词的禁用文件,看其文件名中是否有新的禁用词。这个步骤发现新的禁用词,更新禁用词表。首先对其文件名进行切词;然后对所得每个词,计算其在禁用文件文件名库中出现频率,求得该词对禁用文件的识别率;再对这些词,计算其在正常文件文件名库中出现频率,求得该词的误判率。将综合识别能力高于设定阈值的词添加到禁用词表中。

综上所述,设计过滤库更新算法,并列于下方:

四、Maze系统的禁用文件控制机制

对于基于P2P的内容交换系统,因其自由的特性,禁用文件在资源中所占的比例远高于社会其他传播渠道中的比例,因此对禁用文件的控制成为P2P网络重要的课题[4]。

Maze系统的架构是集中式,可以采取中央发起的方式,对禁用文件进行控制。Maze系统的禁用文件控制机制,分为两个部分:

1.禁用指纹库和禁用词表的更新。这两项数据是禁用文件控制机制的基础,其更新方法如上所述。根据Maze系统的实际运行,而禁用指纹库则在不断的增加,每天约增加62项,禁用指纹库中已有25 842项禁用文件指纹;禁用词表现在采用人工修改方式更新。当然,其中仍存在误判率的问题,在Maze系统中,采取宁枉勿纵的原则,尽可能的消除禁用文件的影响。

2.对禁用文件的控制。对禁用文件的控制分为两个部分,客户端和服务器端。

禁用词表较稳定,规模较少,且识别文件时的计算量较大,因此将禁用词表加密后置于客户端。当用户共享资源时,用禁用词表对共享资源进行审查,将禁用文件进行屏蔽,不予提供服务,且对该用户提出警告或惩罚。

禁用指纹库在持续更新,而且库的规模较大,若将其放在客户端,同步的代价较高,因此将禁用指纹库放在服务器端。服务器端用禁用指纹库,审查Peer上传的共享资源列表,将禁用文件踢出服务范围,并对禁用Peer进行警告或惩罚。

Maze系统的禁用文件控制机制,通过不断地更新禁用指纹库和禁用词表,能识别新的禁用文件资源,从资源和Peer两个层面进行禁用文件的控制,减少了禁用文件的传播,净化了Maze社区。

五、小结

介绍了禁用文件的控制机制,提出采取禁用指纹库和禁用词表相结合的识别机制,以及它们的更新机制,并结合客户端和服务器端,从资源与Peer两个层面控制禁用文件的传播和净化Maze社区出发介绍了Maze系统中的禁用文件控制机制。

[1] MOFFAT A,ZOBEL J.Self-indexing inverted files for fast text retrieval[J].Acm Transactions on Information Systems,1996,14:349-379.

[2] XIE Y,O'Hallaron D.Locality in search engine queries and its implications for caching[J].In IEEE Infocom 2002,20:1 238-1 247.

[3] 董科军,冯家宏,阎保平.一种基于Erasure Code的分布式文件系统模型[J].计算机工程,2005,31(20):93-95.

[4] 蔡晟,王泽兵,冯雁,等.基于Super-peer的对等网络研究[J].计算机应用研究,2004,6:258-260.

(责任编辑:禤展图)

TP311

A

1009-8445(2011)01-0098-03

2010-11-30

广东肇庆学院科研基金青年资金资助(0714)

严 浪(1972-),男,广东龙川人,肇庆学院图书馆副研究馆员。

猜你喜欢

文件名词表指纹
像侦探一样提取指纹
A Chinese-English List of the Sports Programmes in Winter Olympics 冬奥会项目名称汉英对照词表
为什么每个人的指纹都不一样
学术英语词表研究管窥
——三份医学英语词表比较分析
右键调用多重更名更方便
Excel轻松提取文件名
把我的秘密藏起来
基于自适应稀疏变换的指纹图像压缩
可疑的指纹
国外叙词表的应用与发展趋势探讨*