[發明專利]消除文件存儲系統中冗余文件的系統及方法有效
| 申請號: | 200610036536.4 | 申請日: | 2006-07-10 |
| 公開(公告)號: | CN101079034A | 公開(公告)日: | 2007-11-28 |
| 發明(設計)人: | 熊展志;張立明 | 申請(專利權)人: | 騰訊科技(深圳)有限公司 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30 |
| 代理公司: | 深圳市順天達專利商標代理有限公司 | 代理人: | 郭偉剛;蔡曉紅 |
| 地址: | 518057廣東省深圳市高新科*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 消除 文件 存儲系統 冗余 系統 方法 | ||
技術領域
本發明涉及數據處理領域,更具體地說,涉及一種快速消除文件存儲系統中冗余文件的系統及方法。
背景技術
在任何一個大規模的存儲系統中都存在大量的冗余文件,例如在個人計算機的本地硬盤中就經常存有一個文件的多個拷貝,這些拷貝很多是由于操作失誤或使用者遺忘而多次拷貝造成的。而在多人共同使用的系統中,由于使用者之間的共享性差,文件的冗余度非常的高。隨著網絡硬盤的興起,不少互聯網公司為用戶提供的網絡硬盤中冗余文件也很多。此外,在web搜索引擎中也存在大量的重復網頁和文件。對于一個文件存儲系統來說,主要的成本就是設備成本,而消除系統中的冗余文件,可以極大節約設備成本,另外消除冗余也可以提高系統的性能。所以無論從節省成本、提高系統處理性能,還是提高用戶使用體驗來說,消除冗余都是很有必要的。
目前的存儲系統消除冗余文件一般是采用文件兩兩之間進行所有字節比較來判斷是否有重復文件。這種文件相互比較的方式,在小系統中也許是可行的。但是在一個大的存儲系統中,時間耗費是相當大的,對于T一級的數據量幾乎是不可行的,而且通常基于文件名稱比較、文件大小比較、或者文件頭的比較不完全準確。
發明內容
本發明要解決的技術問題在于,針對現有文件存儲系統中冗余文件占用空間以及冗余處理效率較低的缺陷,提供一種新的消除文件存儲系統中冗余文件的系統及方法。
本發明解決技術問題所采用的技術方案是:提供一種消除文件存儲系統中冗余文件的系統,該系統包括由存儲服務器模塊和索引服務器模塊組成的海量存儲系統,還包括:
預處理模塊,用于獲取文件MD5值、文件大小及文件的引用數;
快速存取模塊,包括內存哈希映射表及哈希表;
去重服務器模塊,用于通過哈希算法將文件MD5值進行哈希變換后,經由內存哈希映射表映射到對應哈希表,在文件的引用數超過最小引用數時,直接根據文件生成節點并將節點加入所述哈希表;在文件的引用數小于最小引用數時,將該文件的引用數加到映射表中與該文件的MD5值和文件大小都相同的節點,并在哈希表中的節點引用數達到最大引用數時,對節點文件進行去重操作;
其中所述索引服務器模塊、存儲服務器模塊、預處理模塊依次連接,快速存取模塊、索引服務器模塊、存儲服務器模塊、預處理模塊分別與去重服務器模塊連接。
本發明所述的消除文件存儲系統中冗余文件的系統中,所述預處理模塊進一步包括將文件存儲系統中容量小但數量較多的文件過濾的過濾子模塊。
本發明所述的消除文件存儲系統中冗余文件的系統中,所述去重服務器模塊在去重操作時對所述引用數達到最大引用數的節點對應文件進行硬鏈接并刪除所述節點對應的文件。
本發明所述的消除文件存儲系統中冗余文件的系統中,還包括一派發服務器,所述預處理模塊和去重服務器模塊通過該派發服務器相連接,所述去重服務器模塊包括多個去重服務器,所述派發服務器用于將文件派發給不同的去重服務器進行處理。
本發明還提供一種消除文件存儲系統中冗余文件的方法,所述文件分布存儲于海量存儲系統的存儲服務器模塊中,并通過索引服務器模塊進行文件的定位,包括以下步驟:
(a)通過掃描存儲服務器模塊獲取文件相關信息并計算文件內容的MD5值,其中文件相關信息包括文件ID、文件大小及文件引用數;
(b1)通過文件MD5值進行哈希運算,并通過內存哈希映射表并找到相應的哈希表;
(b2)判斷所述文件引用數是否超過最小引用數,并在所述文件的引用數超過所述最小引用數時將所述文件插入到哈希表頭,并返回步驟(b1);
(b3)在所述文件的引用數小于最小引用數時搜尋哈希表找到MD5值和文件大小與所述文件都相等的節點,并將所述節點的引用數加上所述文件的引用數;
(b4)判斷所述節點的引用數是否小于一個最大引用數,并在所述節點的引用數小于所述最大引用數時返回步驟(b1);而在所述節點的引用數超過所述最大引用數時對所述節點進行去重操作,并在操作完成后返回步驟(b1)。
本發明所述的消除文件存儲系統中冗余文件的方法中,所述步驟(a)進一步包括過濾掉非重點文件而保留容量相對較大但數量相對較少的文件的步驟。
本發明所述的消除文件存儲系統中冗余文件的方法中,所述步驟(a)中還包括將過濾后的文件根據去重策略分配到不同去重服務器的步驟。
本發明所述的消除文件存儲系統中冗余文件的方法,所述步驟(b4)進一步包括:
步驟(b41):將所述節點的信息返回給存儲服務器模塊,并在哈希表中刪除所述節點;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于騰訊科技(深圳)有限公司,未經騰訊科技(深圳)有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/200610036536.4/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種鍵合參數加載方法
- 下一篇:治療慢性乙肝的中藥組合物及其制備方法





