论文部分内容阅读
云存储正在因为它的可扩展性、方便性和低成本等诸多优点而变得越来越流行。它通过租用基本设施来提供对于文件的服务,包括允许用户在服务器上存储文件,同步位于服务器和用户不同设备上的文件等。在这种场景下,提供服务的物理存储设备往往是高度集中的。因为集中式存储通常存在大量的重复数据,重复数据删除技术,或者叫做重复数据检测技术,正在变得愈发的重要。传统的重复数据删除技术只是强调他们在降低存储空间方面性能,然而作为一个远程的存储系统,网络的开销也不应该被忽略,特别是当系统是跨越广域网来部署的。我们提出了一种新的重复数据删除算法,它不但修改了对数据索引的方法,并且拥有新的重复数据块匹配的方法。为了检测新算法的效果,我们实现了一个叫做DDSN的网络文件系统的原型。我们的新方法在节省存储空间上可以达到滑动分块方法,也就是目前在节省存储空间上最优的方法,所能达到的效果。与此同时,我们的方法克服了滑动分块方法需要通过网络传输整个文件的缺点,DDSN可以对于重复数据节省大量的网络带宽。另外,针对固定长度的数据块的组织,我们提出了一种新的文件结构。除此之外,当有文件在一处被更新的时候,最简单的文件同步方法需要把整个被修改的文件传输到其他所有位置(服务器、用户的其他设备)来替换老版本的文件,这会导致网络带宽的大量浪费和更新文件时极大的延迟。我们提出了种名为HadoopRsync的算法来增量地更新文件而不是传输整个文件。新算法是基于被设计用来在两个机器之间同步文件的Rsync算法,但是不同的是,新算法适用到在云存储环境下。在这种环境下,文件是被分块地存储在云中不同的节点的情况下,因此我们提出了HadoopRsync Upload和HadoopRsync Download这一对算法来分别负责用户的设备和服务器间双向的同步文件。HadoopRsync只传输新版本文件与老版本文件之间的区别,而不是传输整个文件。我们的算法是运行在开源的分布式处理大数据平台Hadoop上的,新方法利用了Hadoop所提供并行计算模型MapReduce的能力。除此之外,我们还提出了一些优化来降低文件更新时I/0操作。最后,大量的实验证明了HadoopRsync所带来的好处。