论文部分内容阅读
现代信息化社会,数据呈现爆炸式增长。这会带来三个方面的严重问题,即存储和管理数据的成本越来越高,数据备份和恢复的时间越来越长,以及数据中心的能耗越来越严重。重复数据删除技术在缓解数据的高速增长和节约成本方面有很好的应用前景,然而面对日益增长的海量数据,该技术需要加强高可扩展性的支持。本文针对数据路由和指纹查询技术进行了深入的研究,以提高分布式去重系统的扩展性。 本文的工作主要包括: (1)提出了基于分布式布隆过滤器(Bloom Filter)的有状态数据路由机制。分布式去重系统中的数据路由机制会影响系统整体的去重率和存储利用的均衡。针对有状态数据路由因内存资源消耗较多而导致的扩展性不佳,本文提出一种分布式布隆过滤器技术,利用布隆过滤器的等价效果,将一个布隆过滤器等价拆分成多个布隆过滤器,并将其应用于有状态数据路由中。该机制一方面将保存数据摘要的节点扩展到多个,突破了单节点的内存瓶颈;另一方面,由于采用了分布式布隆过滤器,通过指纹的分类发送降低了通信开销。这两方面的改进可显著提高有状态数据路由的扩展性。 (2)提出了基于取样机制的指纹查询优化策略,以应对磁盘瓶颈问题。通过利用重复数据的局部性和可扩展索引的方法减少磁盘的访问次数,提高去重过程中指纹查询的性能。 (3)设计和实现了一个分布式去重系统DDSS,并进行了去重率、数据路由扩展性和去重吞吐率的评测。在去重率方面,实验结果表明DDSS中的有状态数据路由比无状态数据路由提高20%以上。前者偏离存储利用率平均值的最坏情况低于2%,而后者高于5%。在扩展性方面,DDSS中的有状态数据路由可在多节点条件下保持与单节点相当的去重率,波动低于5%。在去重节点内部,指纹取样机制在取样率为1/32时能获得非取样机制下的去重率的95%以上。对于不同的数据集,指纹缓存的命中率均高于20%。在去重吞吐率方面,单节点多数据流的去重带宽可达200MB/s,并在扩展到8节点时去重带宽可保持接近线性扩展。