字节缓存方法总结

  在字节缓存中咱们须要考虑缓存比,为了达到缓存的效果,咱们须要对数据包的内容进行切分。目前学术上的切分方法以下:算法

  上图中的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
相关文章
相关标签/搜索