字節緩存方法總結

  在字節緩存中咱們須要考慮緩存比,爲了達到緩存的效果,咱們須要對數據包的內容進行切分。目前學術上的切分方法以下:算法

  上圖中的9種方法能夠根據方法自身的特性分爲三類。
第一類:位置分類法,此方法按固定大小將數據切分。其方法的優點的計算開銷很小,可是對數據變化很敏感。
第二類:取樣法,MODP、WINN、MAXP、SAMPLEBYTE、DYNABYTE均屬於此類。因爲計算指紋的時候是按字節遞增取塊計算,所以
指紋的數量會不少,考慮到內存和磁盤的壓力,取樣法根據全局條件、局部條件、統計結果來取樣數據塊。
第三類:全局緩存,MRC和PACK屬於此類,此類方法按照必定的方法將數據塊切分,再對切分後的數據塊計算hash值並存儲。
剩下的FBC方法[6]的創新點是評估出使用頻率高的塊,以此來節省內存與磁盤的開銷。
 
1.FIXED
     按固定大小劃分數據的最大問題對數據修改十分敏感,一旦某一個位置的數據修改後,其後全部數據的hash值均發生了變化。
 
2.MODP 
     此方法由論文[1]於2000年提出。其系統架構以下:
MODP的實現:
     MODP是經過指紋來找到重複的數據。 
  1. 指紋經過Rabin指紋算法計算。
  2. 對數據包計算了全部指紋以後,因爲數據量巨大,咱們須要取樣。取樣對指紋二進制表示時最後幾位爲0的指紋。
  3. 採用hash表來存放指紋,對相同的指紋採用FIFO的方式處理。若是查詢到相同的指紋,向兩邊擴散比較。
MODP的僞代碼以下:
效果分析:
     能夠經過僞代碼中的參數p來控制取樣的數目,若是取樣的數目不多的話,就會效果不好,由於大量的數據沒有取樣。
若是取樣不少的話,那麼就會讓MODP接近於FIXED方法。並且咱們以全局的參數p來定義劃分的條件,所以有可能不少
區域並無取樣。
 
3.WINN
     此方法由論文[2]提出, 此方法能夠保證在必定範圍的hash值中必定會取一個局部最小或局部最大的hash值。此方法的優點
在於可讓取樣均勻分佈,可用於解決MODP中的大範圍取樣失效。
 
4.MAXP
     在MODP和WINN中,咱們計算了大量的指紋,可是不少指紋並無被取樣。MAX會選擇局部數據內容的最大值而不是WINN的
局部指紋的最大值,MAX選擇出最大值後在計算指紋。此方法由論文[3]提出。
 
5.SAMPLEBYTE 
     此方法的僞代碼以下:
對於此方法[4]使用取樣的字節來設置切割點,由上圖可知,取樣的本身存放於SMPLETABLE數組。
在第6行,一旦確認須要取樣,就設置取樣點並將i滑動p/2字節。 在離線方式下,數組SMPLETABLE是
經過對MAXP的結果進行排序獲得。在實驗中驗證,其方法效果並無很大改善,緣由多是:取樣出來
字節和重複的部分並不必定有聯繫。
 
6.DYNABYTE
     因爲SAMPLEBYTE存在SMPLETABLE數組大小是固定和須要預先對數據進行訓練這兩個問題,論文[5]提出了
DYNABYTE方法,此方法相似於SAMPLEBYTE,可是能夠自適應的動態對查詢表進行調整。
 
7.MRC
     塊的大小直接影響着緩存比,磁盤性能和內存壓力。更小的塊可能達到更好的緩存比,隨之而來的是增長內存
壓力和磁盤訪問量。更大的塊在使用內存和磁盤方面有優點,可是緩存比就低了,所以[9]提出了MRC方法。
如上圖,MRC方法以樹的方式對塊進行規劃,在磁盤中MPC將各層的數據均保存,這樣實現的緣由是:
  1. 磁盤價格因素
  2. 減小磁盤訪問量  和 內存壓力

上圖是MRC和其餘方法作對比,SRC表明:single-resolution chunking。MRC-Small方法是指只存儲最小塊,以最小
塊來重建最大塊。MRC-Large方法是指只存儲最大塊並依賴索引信息來構建最小塊。
     
 
參考文獻:
[1]《A Protocol-Independent Technique for Eliminating Redundant Network Traffic》October 2000 
[2]  《Winnowing: Local Algorithms for Document Fingerprinting》  2003
[3]《CONTENT-DEPENDENT CHUNKING FOR DIFFERENTIAL COMPRESSION, THE LOCAL MAXIMUM APPROACH》August 2007
[4]《EndRE: An End-System Redundancy Elimination Service for Enterprises》 2010 
[5]《DYNABYTE: A Dynamic Sampling Algorithm  for Redundant Content Detection》2011
[6] 《Frequency Based Chunking for Data De-Duplication》  Aug. 2010
[7] 《Wide-area Network Acceleration for the Developing World》 2009
相關文章
相關標籤/搜索