本發明專利技術實施例提供一種重復數據檢索方法及設備。方法包括:對接收到的數據進行分塊處理獲取至少兩個數據分塊;對至少兩個數據分塊進行分組得到至少一個數據分組;針對每個數據分組,對該數據分組內的數據分塊進行相似性哈希運算獲取該數據分組的哈希值,獲取哈希值存儲表中與該數據分組的哈希值相似度大于或等于第一相似度閾值的第一哈希值,如果該數據分組的哈希值與第一哈希值的相似度大于或等于預設第二相似度閾值,對該數據分組內的數據分塊進行重復塊檢索。本發明專利技術技術方案提高了重復塊查詢效率,提高重復數據刪除技術的整體性能。
【技術實現步驟摘要】
【國外來華專利技術】
本專利技術涉及存儲技術,尤其涉及一種重復數據檢索方法及設備。
技術介紹
重復數據刪除(英文為De-duplication)是一種數據減縮技術,旨在減少存儲系統中使用的存儲容量或減少數據在網絡中的傳輸量,它廣泛應用于數據備份或廣域網數據傳輸的場景。重復數據刪除的過程是:對輸入數據進行分塊,計算每個分塊的哈希(Hash)值,用計算出的Hash值在單一實例庫中查找以判斷該分塊是否為重復塊,若為重復塊,則不將該分塊及其Hash值存儲到單一實例庫中,從而達到縮減數據的目的。單一實例庫通常比較大,無法全部放入內存,通常會放在磁盤中,這樣在查詢分塊是否為重復塊時就需要頻繁地訪問磁盤,由于磁盤訪問速度較低,使得重復塊查詢的效率較低,影響了重復數據刪除技術的整體性能。
技術實現思路
本專利技術實施例提供一種重復數據檢索方法及設備,用以提高重復塊查詢效率,提高重復數據刪除技術的整體性能。第一方面提供一種重復數據檢索方法,包括:對接收到的數據進行分塊處理,獲取至少兩個數據分塊;對所述至少兩個數據分塊進行分組,得到至少一個數據分組,每個數據分組包括至少一個數據分塊;針對所述至少一個數據分組中的第一數據分組,對所述第一數據分組內的數據分塊進行相似性哈希運算,獲取所述第一數據分組的哈希值,獲取哈希值存儲表中與所述第一數據分組的哈希值相似度大于或等于預設的第一相似度閾值的第一哈希值,所述哈希值存儲表中存儲有已經存儲在數據存儲空間中的第二數據分組的哈希值和所述第二數據分組的對應關系,所述第二數據分組的哈希值是根據所述第二數據分組內的數據分塊進行相似性哈希運算獲得的;所述第一數據分組是所述至少一個數據分組中的任意一個數據分組;如果所述第一數據分組的哈希值與所述第一哈希值的相似度大于或等于預設的第二相似度閾值,對所述第一數據分組內的數據分塊進行重復塊檢索。在第一方面的第一種可能的實現方式中,所述重復數據塊檢索方法還包括:如果所述第一數據分組的哈希值與所述第一哈希值的相似度小于所述第二相似度閾值,將所述第一數據分組內的數據分塊和所述第一數據分組內的數據分塊的哈希值存儲到所述數據存儲空間中,并將所述第一數據分組的哈希值與所述第一數據分組的對應關系存儲到所述哈希值存儲表中。結合第一方面或第一方面的第一種可能的實現方式,在第一方面的第二種可能的實現方式中,對所述至少兩個數據分塊進行分組,得到至少一個數據分組包括:由所述至少兩個數據分塊中每個數據分塊的哈希值構成待分塊哈希數據;以任一個所述數據分塊的哈希值的長度為滑動步長,采用分塊算法對所述待分塊哈希數據進行分塊處理,得到至少一個哈希值分塊;將屬于同一哈希值分塊的哈希值對應的數據分塊作為一個所述數據分組。結合第一方面或第一方面的第一種可能的實現方式或第一方面的第二種可能的實現方式,在第一方面的第三種可能的實現方式中,對所述第一數據分組內的數據分塊進行相似性哈希運算,獲取所述第一數據分組的哈希值包括:對所述第一數據分組內每個數據分塊進行哈希運算,獲取所述第一數據分組內每個數據分塊的哈希值;將所述第一數據分組內每個數據分塊的哈希值中的O替換為-1,將所述第一數據分組內所有數據分塊的哈希值的對應位相加,將相加大于O的位映射為1,將相加小于或等于O的位映射為0,獲得的二進制數值作為所述第一數據分組的哈希值。結合第一方面或第一方面的第一種可能的實現方式或第一方面的第二種可能的實現方式或第一方面的第三種可能的實現方式,在第一方面的第四種可能的實現方式中,所述數據存儲空間包括多個存儲區域;所述哈希值存儲表還存儲有所述第二數據分組的哈希值和所述第二數據分組所在存儲區域的編號的對應關系;對所述第一數據分組內的數據分塊進行重復塊檢索包括:從所述哈希值存儲表中獲取所述第一哈希值對應的存儲區域的編號n,將編號η對應存儲區域中的數據分塊和數據分塊的哈希值加載到內存中;其中,η為大于等于O的整數;將所述第一數據分組中與所述編號η對應存儲區域中哈希值相同的數據分塊進行比較,以完成對所述第一數據分組內的數據分塊的重復塊檢索。結合第一方面的第四種可能的實現方式,在第一方面的第五種可能的實現方式中,所述方法還包括:在將編號η對應存儲區域中的數據分塊和數據分塊的哈希值加載到內存中的同時,將編號(η+1)對應存儲區域中的數據分塊和數據分塊的哈希值加載到內存中;所述將所述第一數據分組中與所述編號η對應存儲區域中哈希值相同的數據分塊進行比較,以完成對所述第一數據分組內的數據分塊的重復塊檢索包括:將所述第一數據分組中與所述編號η和編號(η+1)對應存儲區域中哈希值相同的數據分塊進行比較,以完成對所述第一數據分組內的數據分塊的重復塊檢索。結合第一方面或第一方面的第一種可能的實現方式或第一方面的第二種可能的實現方式或第一方面的第三種可能的實現方式或第一方面的第四種可能的實現方式或第一方面的第五種可能的實現方式,在第一方面的第六種可能的實現方式中,所述獲取哈希值存儲表中與所述第一數據分組的哈希值相似度大于或等于預設的第一相似度閾值的第一哈希值包括:獲取所述哈希值存儲表中與所述第一數據分組的哈希值對應位置上的重復位的個數大于或等于預設數量的哈希值作為所述第一哈希值。結合第一方面的第六種可能的實現方式,在第一方面的第七種可能的實現方式中,所述獲取哈希值存儲表中與所述第一數據分組的哈希值對應位置上的重復位的個數大于或等于預設數量的哈希值作為所述第一哈希值包括:獲取所述第一數據分組的哈希值與所述哈希值存儲表中每個哈希值之間的漢明距離,將漢明距離小于或等于預設漢明距離閾值的所述哈希值存儲表中的哈希值作為所述第一哈希值。第二方面提供一種重復數據檢索設備,包括:分塊獲取模塊,用于對接收到的數據進行分塊處理,獲取至少兩個數據分塊;分組獲取模塊,用于對所述分塊獲取模塊獲取到的所述至少兩個數據分塊進行分組,得到至少一個數據分組,每個數據分組包括至少一個數據分塊;哈希計算模塊,用于針對所述至少一個數據分組中的第一數據分組,對所述第一數據分組內的數據分塊進行相似性哈希運算,獲取所述第一數據分組的哈希值,獲取哈希值存儲表中與所述第一數據分組的哈希值相似度大于或等于預設的第一相似度閾值的第一哈希值,所述哈希值存儲表中存儲有已經存儲在數據存儲空間中的第二數據分組的哈希值和所述第二數據分組的對應關系,所述第二數據分組的哈希值是根據所述第二數據分組內的數據分塊進行相似性哈希運算獲得的;所述第一數據分組是所述至少一個數據分組中的任意一個數據分組;重復檢索模塊,用于在所述第一數據分組的哈希值與所述第一哈希值的相似度大于或等于預設的第二相似度閾值時,對所述第一數據分組內的數據分塊進行重復塊檢索。在第二方面的第一種可能的實現方式中,所述重復數據檢索設備還包括:存儲模塊,用于在所述第一數據分組的哈希值與所述第一哈希值的相似度小于所述第二相似度閾值時,將所述第一數據分組內的數據分塊和所述第一數據分組內的數據分塊的哈希值存儲到所述數據存儲空間中,并將所述第一數據分組的哈希值與所述第一數據分組的對應關系存儲到所述哈希值存儲表中。結合第二方面或第二方面的第一種可能的實現方式,在第二方面的第二種可能的實現方式中,所述分組獲取模塊具體用于由所述至少兩個數據分塊中每個數據分塊的哈希值構成待分塊哈希數據本文檔來自技高網...
【技術保護點】
【技術特征摘要】
【國外來華專利技術】
【專利技術屬性】
技術研發人員:覃強,
申請(專利權)人:華為技術有限公司,
類型:
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。