|
云存储的重复数据删除架构的研究与设计本架构采用了数据块级与字节级相结合的删除策略,运用MD5 算法对要存储在云中的文件进行In-line方式的删除操作,是本文研究的一个创新点。 重复数据删除是高性能和高效存储的一种有效途径,尤其是在云计算环境下使用。这是因为服务的存储空间可能成为成本负担,利用存储效率技术(如重复数据删除)的能力逐渐成为判断服务是否合格的一个关键指标。 2.重复数据删除技术分析 2.1 重复数据删除策略分析 目前重复数据策略主要分为三种: 文件级的重复数据删除,数据块级的重复数据删除和字节级的重复数据删除。它们根据检测删除重复数据的单位不同而不同。通过研究和比较发现,文件级删除策略虽然计算速度快,但粒度太粗无法精确识别重复数据。数据块级删除策略较精确,但因为以数据块为单位故需计算的哈希值较多,且可能产生哈希冲突。字节级删除策略以字节为单位进行对比不涉及哈希算法,所以可以避免碰撞,能够实现更高的精度,但是花费的时间太多。 为了保证重复数据删除的精确性和计算时间相对平衡,本架构选择了数据块级与字节级策略相结合的重复数据删除策略。先将文件分割成数据块,以数据块为单位计算其哈希值。如果新数据块的哈希值与设备散列索引中的某个散列匹配时,将新数据块与已有的与它哈希值相同的数据块进行字节级的对比,若完全相同时仅存入指针并指向存储相同数据块的原始位置,否则,如果数据块是唯一的,就被写入磁盘,其哈希值也存入索引中。这种方法的优点是有效的使用数据块级策略的优势又能利用字节级策略避免哈希冲突时带来的数据丢失。 2.2 重复数据删除算法分析 现有的重复数据删除算法大致分为两类,分别是hash 算法和基于内容识别的算法,与其对应的是文件级或数据块级的删除策略和字节级策略。 Hash 算法的数学表述为: CA=Hc(content)。其中content表示任意长度字符串,CA 表示经过哈希变化之后得到的哈希值。Hash 算法在信息安全领域中广泛应用,现在最常用的哈希算法是MD5和SHA-1 算法。本架构采用的是MD5 算法。 2.3 重复数据删除实现方式分析 重复数据删除主要有两种实现方式—前台处理方式和后台处理方式。前台采用纯软件的方式进行,而后台采用软硬件相结合的方式,其中又分为In-lineDeduplication 、Post-Processing Deduplication 以及Adaptative Data Deduplication 三种。 通过研究比较发现In-line 方式更适合云存储系统。数据传输之前,装有重复数据删除应用程序的客户端先对其进行操作之后再传给数据节点存储处理。它在数据块写入前检测是否已有相似数据块存在,这样可以避免磁盘数据写入,提高云存储系统的空间存储效率并减少网络传输。 2.4 小结 本架构采用了数据块级与字节级相结合的删除策略,运用MD5 算法对要存储在云中的文件进行In-line方式的删除操作,是本文研究的一个创新点。较之现有的在云存储中使用文件级或数据块级策略的操作,精确性上有所提高;较之使用Post-processing 方式的删除有时间和空间上的优势。另外,在云存储上使用该方法,结合云的虚拟化和分布式计算存储的特性很好的解决了In-line 方式使主机I/O 负载过大的问题。 责编:王雅京 微信扫一扫实时了解行业动态 微信扫一扫分享本文给好友 著作权声明:畅享网文章著作权分属畅享网、网友和合作伙伴,部分非原创文章作者信息可能有所缺失,如需补充或修改请与我们联系,工作人员会在1个工作日内配合处理。 |
最新专题 推荐圈子 |
|