標籤:rabin fingerprint super fingerprint super feature
基於內容的變長分塊(CDC)技術,可以用來對檔案進行變長分塊,而後用來進行重複性檢測,廣泛用於去重系統中。後來又出現了對相似資料區塊進行delta壓縮,進一步節省儲存開銷。所以就需要一種高效的相似性檢測演算法,在論文 WAN Optimized Replication of Backup Datasets Using Stream-Informed Delta Compression 提出的super-features 演算法具有很好的效果。主要思想是在滑動視窗進行分塊的過程中,通過一個視窗的rabin fingerprint 我們可以隨機的得到一個數值,如果它比這個塊中所有視窗w的rabin指紋都大,就把它記為一個特徵值 feature-i,通過這樣的方法得到的多個feature,計算rabin 指紋得到的就是超級特徵值SF,每個SF有四個特徵值得到。
下面是對幾個檔案簡單的測試結果,這裡每個檔案產生倆超級特徵值(如果兩個檔案有一個super feature一樣,就可以認為它們相似性很高),效果比simhash好(缺乏大量資料集論證)。
F1,F2,F3 分別在F的基礎上頭,尾,中間加入額外位元組,發現得到的兩個超級特徵值都一樣 Supfeature[0]=5465959093573163876,Supfeature[1]=7673021043978770954。F4是一個完全不同的檔案, Supfeature[0]=2682386775420212619,Supfeature[1]=3509276326591445061。
參考:1. Philip Shilane-WAN Optimized Replication of Backup Datasets Using Stream-Informed Delta Compression2.Some applications of rabin‘s fingerprinting method.