论文部分内容阅读
重复删除技术是当前去除冗余数据的一种有效的技术手段,能够为大规模数据存储节省存储空间,减少了存储开销。随着数据中心的发展,重复删除技术得到了广泛的关注和应用。现在的数据中心突出的特点是分布式架构、系统规模大、数据冗余度高,这给重复数据删除技术带来更大的挑战,亟需高并发的重删技术以提高数据吞吐率。为了适应数据中心的多流数据存储,基于多流排序索引的重删技术得到初步研究,具有易扩展、并行度高的特点,能够极大地提高吞吐率。在此基础上进行研究分析,我们发现多流排序索引重删算法存在着以下两个问题:1、多个客户端之间资源分配不均,可能导致单个客户端性能下降;2、多流并行重删使指纹过于分散,破坏了数据流的局部性,从而影响了存储数据的吞吐率。对此,我们提出相应算法有效解决这些问题,完善排序索引结构,进一步优化重删性能。具体研究内容如下:1)提出了一种基于指纹分布的指纹检重调度算法。首先,通过实验获取部分数据流读取的指纹页信息,分析数据流在指纹索引表上的指纹分布类型,以及不同的指纹分布类型的数据流出现时间延迟的长短。然后,利用数据流的指纹大小预测数据流的指纹分布类型设计分类器。接下来,根据预测的指纹分布类型,为每个数据流设定优先级,优先级决定读取哪一个指纹页,指纹页由顺序读取改变为按需读取,优化吞吐率。最后,采用多个数据集模拟的数据流进行实验,结果验证了算法的有效性,说明算法不仅保证并行的多个数据流的整体性能,而且优化了时延较长的单个客户端的数据流。2)提出了一种基于密度的多流并行检重算法。首先,计算排序相邻指纹的差,找出单个数据流的指纹密集区域,所有数据流的指纹密集区域组成集合。然后,计算公共指纹密集区域;只检重每个数据流在公共指纹密集区域内的指纹,其他指纹留下与新来的指纹进行新一轮的检重。最后,实验统计重删过程中读取的指纹页的数量,表明算法减少了重复指纹页的读取次数,从而极大地提高了重删吞吐率。