论文部分内容阅读
随着企业信息系统中的数据量飞速增长,用于实现数据缩减的重复数据删除技术日益为人们所重视。重复数据删除技术主要应用于数据备份系统和数据归档系统。由于数据归档系统需要将PB级的数据保存50年以上,所以数据归档中的重复数据删除在删除率、删除速度和数据可靠性上有着更高的要求。本文的目的是提高重复数据删除的删除率、删除速度和数据可靠性。本文的工作包括如下几个方面:
1.分析了现有的系统。本文分析了现有的文件分块算法,分析结果表明:固定长文件分块算法会因为数据块平移导致重复数据被误判为非重复数据,可变长文件分块算法由于分块粒度太大导致删除率较低,基于内容的文件分块算法通用性不好。然后,本文分析了现有的数据块索引,分析结果表明:基于单层哈希表的数据块索引由于桶内哈希值过多导致删除速度较慢,基于数据库的数据块索引由于需要对SQL语句进行解析导致删除速度较慢。最后,本文分析了现有的虚拟磁带库,分析结果表明现有的虚拟磁带库不能保证数据的可靠性。
2.CFV(Combination of Fixed size and Variable size)文件分块算法。本文实现了将固定长分块算法和可变长分块算法相结合的CFV文件分块算法;并通过数学分析和实验测试证明了CFV文件分块算法的重复数据删除率比可变长分块算法(venti系统)和固定长分块算法(data domain系统)提高一倍以上,比基于内容的文件分块算法(ADMAD系统)提高78%。
3.MLHT(Multi-Layer Hash Table)数据块索引。本文实现了基于多层数据块哈希表的MLHT数据块索引;并通过实验证明了MLHT数据块索引的重复数据删除速度比基于单层哈希表的数据块索引(data domain系统)提高63%,比基于数据库的数据块索引(ADMAD系统)提高39%。
4.本文在系统中使用冗余的虚拟磁带库来提高数据的可靠性,并使用多归档服务器负载均衡来提高重复数据删除速度和数据块索引的可靠性。
在未来的研究工作中,我们将进一步研究如何设计更完善的测试集,如何通过聚类算法提高重复数据删除速度,如何设计高效的数据块索引缓存来提高删除速度。