?

基于文件指紋的搜索和禁用文件控制設計

2011-09-27 13:23鐘克吟
肇慶學院學報 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輕松提取文件名
把我的秘密藏起來
基于自適應稀疏變換的指紋圖像壓縮
可疑的指紋
國外敘詞表的應用與發展趨勢探討*
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合