云存储的重复数据删除架构的分析与设计
随着各行各业信息化的要求越来越高,需要存储的数据量越来越庞大,然而,已经存储的数据中有相当一部分是重复的,这样既浪费存储空间又增加了存储的工作量。为了缓解存储系统的空间增长问题,重复数据删除技术已成为一个热门的研究课题。
云存储技术以提供数据存储服务来解决存储设备管理维护、安全稳定和成本问题,实现存储设备向存储服务的转变。重复数据删除技术旨在消除数据大量冗余,缩减存储空间。两种技术的结合,充分将两种技术的优势发挥得淋漓尽致,既能将海量数据存储在云端,又能充分利用云端的存储资源。两者结合有很大的应用价值。
本文通过研究重复数据删除和云存储,提出了一个基于云存储的重复数据删除架构, 使得海量数据能够存储在云中并且拥有重复数据删除的能力。它采用In-line方式对文件进行数据块级与字节级相结合的重复数据删除,使用MD5算法计算数据块的哈希值并与已存在的数据哈希值对比来判断上传的数据是否存在于云中。
1.云存储简介
云存储是在云计算(cloud computing)概念上延伸和发展出来的一个新的概念,是指通过集群应用、网格技术和分布式文件系统等功能将网络中大量各种不同类型的存储设备通过应用软件集合起来协同工作,共同对外提供数据存储和业务访问功能的一个系统。
1.1 云存储结构模型
云存储是一个网络设备、存储设备、服务器、应用软件、公用访问接口、接入网、和客户端程序等多个部分组成的复杂系统。各部分以存储设备为核心,通过应用软件来对外提供数据存储和业务访问服务。现有的云存储结构模型如图1所示。
\
图1 云存储结构模型图
1.2 云存储与重复数据删除
云存储是将使用了弹性配置和按需付费的因特网技术的可扩展、弹性的存储能力作为一种服务在服务提供商和用户之间传输。因为云存储提供了完整和安全的访问控制机制, 所以大部分用户都愿意将数据存储任务交予云存储。
重复数据删除是高性能和高效存储的一种有效途径,尤其是在云计算环境下使用。这是因为服务的存储空间可能成为成本负担,利用存储效率技术(如重复数据删除)的能力逐渐成为判断服务是否合格的一个关键指标。
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 负载过大的问题。
[page] 3.基于云存储的重复数据删除架构
(编辑:ASP站长网) |