论文部分内容阅读
科技以追风逐电的速度渗透到各行各业,使数据量出现爆炸式增长,为减少存储成本与网络开销,重复数据删除技术被越来越广泛地应用于云存储、备份与归档系统中。然而在数据块级重复数据删除算法中,传统分块算法的分块效果均较差。固定分块(FSP)不能很好的满足数据多变性,可变长度分块(CDC)的参数设定掺杂了过多人为干预,导致基于经典分块算法的重复数据删除技术性能表现不稳定。另外,随着数据量级的增加,越来越多的指纹信息不能快速被检测对比,机械式的I/O操作严重增加了算法时间,性能难以保证。针对可变长度分块(CDC)的分块大小难以控制,指纹计算对比开销大,预先设置参数等问题,提出Winnowing指纹串匹配的分块算法(CAWM)。首先在数据分块前引入分块大小预测模型,能够较准确地根据应用场景计算出合适的分块大小;然后在计算指纹时采用ASCII/Unicode编码方式作为数据块指纹;最后在确定分块边界时,提出指纹串匹配的分块算法,无须预先设置参数,使得指纹计算和对比开销减少。通过将FSP、CDC、CAWM三种分块算法应用于重删实验,来验证CAWM分块效果,相比于FSP和CDC分块算法,CAWM在数据的重删率上提升了10%左右,在指纹计算和对比开销方面减少了18%左右。因此,CAWM的分块大小和边界更加符合数据特性,减少了参数设置对重复数据删除算法性能的影响,在处理不同类型的数据时,可以有效地消除更多的重复数据。针对重复数据删除算法指纹对比I/O瓶颈问题,提出了一种基于相似聚类的二级索引重复数据删除算法。首先计算所有数据块的Simhash值,基于Simhash值之间的海明距离,提出了一种自适应的相似聚类算法,所有聚类中心信息形成一级索引存放在内存中。然后计算每个类中数据块的MD5值,将其信息形成二级索引存放在聚类中心。当需要进行重复数据块检测时,计算待检测数据块Simhash值到一级索引中所有聚类中心Simhash值的海明距离,并将海明距离最小的类的二级索引调入内存中进行MD5指纹对比。实验结果表明,与传统重复数据删除算法TDA、Bloom filter及shingle技术相比,算法没有误判率,在重删率提升23%的同时,每次检测只产生一次I/O操作,具有更高效的性能。