專利名稱:一種基于相似性的文件分類方法
技術(shù)領(lǐng)域:
本發(fā)明屬于計算機存儲系統(tǒng)領(lǐng)域,具體涉及一種基于相似性的文件分類方法,用于提高按相似性對文件進行分類時的處理速度,降低內(nèi)存占用。
背景技術(shù):
圖靈獎獲得者Jim Gray提出了一個經(jīng)驗定律網(wǎng)絡(luò)環(huán)境下,每18個月產(chǎn)生的數(shù)據(jù)量等于有史以來數(shù)據(jù)量之和。國際數(shù)據(jù)公司(IDC)最新“數(shù)字宇宙”研究結(jié)果顯示,全世界的信息量每兩年以超過翻番的速度增長,2011年產(chǎn)生和復制1. 8ZB的海量數(shù)據(jù),其增長速度超過摩爾定律。大數(shù)據(jù)已經(jīng)成為學術(shù)界與工業(yè)界討論的熱點話題。如何有效的存儲這些數(shù)據(jù)已經(jīng)成為目前存儲系統(tǒng)面臨的一大挑戰(zhàn)。分布式存儲系統(tǒng)解決了海量數(shù)據(jù)的存儲問題,重復數(shù)據(jù)刪除技術(shù)則解決了節(jié)省存儲空間和網(wǎng)絡(luò)帶寬的問題。對于像網(wǎng)盤這樣的網(wǎng)絡(luò)應(yīng)用,由于其管理著海量的數(shù)據(jù),而且文件之間有較高的相似性,利用相似性進行重復數(shù)據(jù)刪除可以起到提高存儲空間使用效率,提升系統(tǒng)輸入輸出吞吐量的效果。目前業(yè)界所使用的線上重復數(shù)據(jù)刪除系統(tǒng)多是采用了局部性原理來提高重刪處理的吞吐率,緩解磁盤瓶頸。最新的研究成果顯示,利用相似性可以在損失少量重復數(shù)據(jù)刪除率的情況下,提升重復數(shù)據(jù)刪除的速度,吞吐率,減少重復數(shù)據(jù)刪除時占用的資源。所以,將這一新的技術(shù)加以研究,解決其在延遲,刪除等方面的問題后,將顯著提升存儲系統(tǒng)的磁盤利用率,吞吐率,降低對網(wǎng)絡(luò)的需求。目前公開的主流相似數(shù)據(jù)檢測技術(shù),主要有三種,第一種是基于瓦(shingle)的檢測技術(shù),見Broder AZ.1dentifying and filtering near-duplicatedocuments.1n Giancarlo R,Sankoff D,eds. Proc. of the Ilth Annual Symp. OnCombinatorial PatternMatching. London :Springer-Verlag,2000. 1-10 ;該方法實現(xiàn)簡單,適用性廣,在實際系統(tǒng)中多有使用,但計算量大,內(nèi)存占用大;第二種是基于布隆過濾器(bloom filter)的檢測技術(shù),見Jain N,Dahlin M,TewariR. Taper Tiered approach for eliminatingredundancy in replica synchronization.1n Proc. of the4th Usenix Conf. on Fileand Storage Technologies(FAST2005). Berkeley USENIX Association,2005. 281-294.這種方法比第一種方法在時間和空間開銷有較大優(yōu)勢,但存在一定的錯誤匹配概率,計算量和內(nèi)存占用仍然有進一步減小的空間;第三種是基于模式匹配的檢測技術(shù),見Manber U. Finding similar files in a large file system.1n Proc. of the USENIXWinter 1994Technical Conf. Berkeley USENIX Association,1994. 1-10.該方法則需要對整個文件集進行掃描,也沒有解決計算量和內(nèi)存占用較大的問題。MD5哈希算法與SHAl哈希算法,都是計算機廣泛使用的哈希算法,主流編程語言已有MD5哈希算法與SHAl哈希算法的實現(xiàn)
發(fā)明內(nèi)容
本發(fā)明提供一種基于相似性的文件分類方法,解決現(xiàn)有分類方法計算量和內(nèi)存占用較大的問題。本發(fā)明所提供的一種基于相似性的文件分類方法,包括下述步驟(I)分塊步驟,包括下述子步驟(1.1)將文件字節(jié)流上的開始與結(jié)束位置作為兩個分界點,將一個窗口的后沿置于文件字節(jié)流的開始位置上,利用哈希函數(shù)計算窗口內(nèi)字節(jié)的哈希值,所述窗口長度LO為4字節(jié) 1024字節(jié);所述哈希函數(shù)的散列空間不大于設(shè)定的塊最大字節(jié)數(shù)P,P = 128 8192 ;(1.2)判斷所述哈希值與預(yù)定值是否相同,是則進行子步驟(1. 3),否則轉(zhuǎn)子步驟(1. 4),所述預(yù)定值從所述哈希函數(shù)的值域中任意選擇一個;(1. 3)將窗口的前沿所在字節(jié)作為當前分界點,判斷當前分界點與前一個分界點之間的字節(jié)數(shù)是否小于設(shè)定的塊最小字節(jié)數(shù),是則忽略當前分界點,執(zhí)行子步驟(1. 4),否則執(zhí)行子步驟(1. 5),所述塊最小字節(jié)數(shù)為8 P ;(1.4)將所述窗口沿文件字節(jié)流滑動一個字節(jié),判斷窗口前沿與前一個分界點之間的字節(jié)數(shù)是否達到設(shè)定的塊最大字節(jié)數(shù)P,是則把窗口前沿設(shè)定為當前分界點,執(zhí)行子步驟(1. 5),否則計算窗口內(nèi)字節(jié)的哈希值,轉(zhuǎn)子步驟(1.2);(1.5)將當前分界點與前一個分界點之間的字節(jié)作為一個塊,記為當前塊,將窗口后沿置于文件字節(jié)流上當前分界點的下一個字節(jié)處,執(zhí)行步驟(2);(2)計算校驗和步驟計算檢驗和s,并將其保存在臨時校驗和結(jié)果集中,s = a+2%,其中,a、b為中間參數(shù)
權(quán)利要求
1.一種基于相似性的文件分類方法,包括下述步驟 (1)分塊步驟,包括下述子步驟(1.1)將文件字節(jié)流上的開始與結(jié)束位置作為兩個分界點,將一個窗口的后沿置于文件字節(jié)流的開始位置上,利用哈希函數(shù)計算窗口內(nèi)字節(jié)的哈希值,所述窗口長度LO為4字節(jié) 1024字節(jié);所述哈希函數(shù)的散列空間不大于設(shè)定的塊最大字節(jié)數(shù)P,P = 128 8192 ;(1.2)判斷所述哈希值與預(yù)定值是否相同,是則進行子步驟(1.3),否則轉(zhuǎn)子步驟(1. 4),所述預(yù)定值從所述哈希函數(shù)的值域中任意選擇一個; (1. 3)將窗口的前沿所在字節(jié)作為當前分界點,判斷當前分界點與前一個分界點之間的字節(jié)數(shù)是否小于設(shè)定的塊最小字節(jié)數(shù),是則忽略當前分界點,執(zhí)行子步驟(1. 4),否則執(zhí)行子步驟(1. 5),所述塊最小字節(jié)數(shù)為8 P ; (1.4)將所述窗口沿文件字節(jié)流滑動一個字節(jié),判斷窗口前沿與前一個分界點之間的字節(jié)數(shù)是否達到設(shè)定的塊最大字節(jié)數(shù)P,是則把窗口前沿設(shè)定為當前分界點,執(zhí)行子步驟(1. 5),否則計算窗口內(nèi)字節(jié)的哈希值,轉(zhuǎn)子步驟(1.2); (1. 5)將當前分界點與前一個分界點之間的字節(jié)作為一個塊,記為當前塊,將窗口后沿置于文件字節(jié)流上當前分界點的下一個字節(jié)處,執(zhí)行步驟(2); (2)計算校驗和步驟 計算檢驗和s,并將其保存在臨時校驗和結(jié)果集中, s = a+216b, 其中,a、b為中間參數(shù)
2.如權(quán)利要求1所述的基于相似性的文件分類方法,其特征在于 所述分塊步驟中,所述哈希函數(shù)為
3.如權(quán)利要求1所述的基于相似性的文件分類方法,其特征在于 所述分類步驟中,計算指紋值采用MD5哈希算法或者SHAl哈希算法。
全文摘要
一種基于相似性的文件分類方法,屬于計算機存儲系統(tǒng)領(lǐng)域,解決現(xiàn)有分類方法計算量和內(nèi)存占用較大的問題。本發(fā)明包括分塊步驟、計算校驗和步驟、統(tǒng)計步驟和分類步驟。本發(fā)明對文件數(shù)據(jù)的處理不需要隨機讀寫,只需要從頭到尾的進行一次處理,就可以完成分塊,計算校驗和,統(tǒng)計,排序以及最終確定分類所有步驟;可以高效的獲取文件間的關(guān)聯(lián)信息,將在二進制數(shù)據(jù)層面上相似的文件劃歸為一類,對文件給出所屬類別的唯一標識,在判定兩個文件是否相似時,只需要判斷它們所屬類別的標識是否相同即可,處理速度快,占用內(nèi)存少,可以通過運行參數(shù)調(diào)整判定精度;適用于各類需要獲取數(shù)據(jù)相似性的應(yīng)用,特別面向存儲、數(shù)據(jù)去重的相關(guān)應(yīng)用。
文檔編號G06F17/30GK103049263SQ20121053747
公開日2013年4月17日 申請日期2012年12月12日 優(yōu)先權(quán)日2012年12月12日
發(fā)明者王芳, 馮丹, 陳儉喜, 杜鑫, 鄭超 申請人:華中科技大學