云存储中基于相似性的数据块级数据去重方法

文档序号:9350043阅读:603来源:国知局
云存储中基于相似性的数据块级数据去重方法
【技术领域】
[0001] 本发明涉及云存储领域,尤其是一种云存储中基于相似性的数据块级数据去重方 法。
【背景技术】
[0002] 数据去重是一种数据无损的冗余数据缩减技术,是一种数据处理技术。它使得多 个相同的数据块在存储系统中只存储一个数据块副本,减少了存储数据所需的资源,节约 了成本,已成为存储系统的一种新趋势。在云存储系统中,数据相对更密集,数据量更多,出 现相似度高的数据可能性更高,因而对云存储中的数据进行去重更具实际意义,其在提高 数据处理效率的同时还能减少存储设备的开销。
[0003] 数量去重的分类方法主要包括:(1)从数据去重的粒度大小来分,数据去重可以 分为字节级数据去重、数据块级数据去重和文件级数据去重;(2)从去重位置的角度来分, 数据去重可以分为数据源端数据去重和数据宿端的数据去重;(3)从数据去重的范围来 分,数据去重可以分为局部数据去重和全局数据去重。
[0004] 传统文件系统中的数据去重过程如下: 1. 对需要存储的数据进行分块; 2. 利用哈希函数对每个数据块生成一个唯一的数据指纹,用以区分不同的数据块; 3. 对每个将要存储数据块的数据指纹在系统的数据指纹库中查找,若找到相同的数据 指纹,则表明数据块重复;若未找到,则表明数据块不重复。
[0005] 从上述数据去重过程可以看出,现有的数据去重方法大多数都需要为已存储文件 构建一个索引表,来提高对已存储数据的检索速度。这样的方法适用于存储有少量文件的 文件系统,但是在存储着海量数据文件的云存储系统中,普通的文件索引无法保障高效的 检索,也无法跨用户对数据进行去重。

【发明内容】

[0006] 为了解决上述技术问题,本发明的目的是:提供一种高效和应用范围广的云存储 中基于相似性的数据块级数据去重方法。
[0007] 本发明解决其技术问题所采用的技术方案是: 云存储中基于相似性的数据块级数据去重方法,包括: A、 在云存储系统中添加一个指纹索引节点,所述指纹索引节点用于得到已存储文件 的数据块指纹并根据已存储文件的相似性构建由主索引和从索引组成的二级指纹索引,其 中,主索引为文件的文件特征指纹与文件相似性集合地址的映射,从索引为文件的数据块 指纹与数据块地址、用户ID之间的映射,文件特征指纹为文件的最小数据块指纹; B、 根据指纹索引节点的二级指纹索引对待存储的文件数据块进行去重。
[0008] 进一步,所述云存储系统为基于HDFS的云存储服务系统。
[0009] 进一步,所述步骤B,其包括: B1、计算待存储的文件的文件特征指纹和每个数据块指纹; B2、根据计算的文件特征指纹检索主索引,并根据检索的结果判断待存储的文件是否 为新的文件类型,若是,则在执行步骤B3后执行步骤B5,反之,则在执行步骤B4后执行步骤 B5 ; B3、将待存储的文件分块存入存储系统中,并更新主索引及构建与待存储的文件类型 相同的从索引; B4、根据计算的数据块指纹检索从索引,并根据检索的结果更新从索引; B5、更新元数据表,所述元数据表包括文件与数据块间的映射关系表以及数据块与数 据节点间的映射关系表。
[0010] 进一步,所述步骤B2,其具体为: 客户端将计算的文件特征指纹与每个数据块指纹发送给主节点,由主节点根据文件特 征指纹去主索引中检索,若未检索到与计算的文件特征指纹相同的记录,则表明待存储的 文件为新的文件类型,此时先执行步骤B3然后执行步骤B5 ;若检索到已存在与计算的文件 特征指纹相同的记录,则表明云存储系统中已有同类型的文件数据存在,待存储的文件为 旧的文件类型,此时先执行步骤M然后执行步骤B5。
[0011] 进一步,所述步骤B3,其包括: 为待存储的文件分配存储地址,并根据分配的地址将待存储的文件数据块存储到存储 系统的数据节点上; 对主索引进行更新; 构建与待存储的文件类型相同的从索引。
[0012] 进一步,所述步骤B4,其包括: B41、主节点根据客户端发送过来的当前数据块指纹去从索引中检索,检索从索引中是 否存在与客户端发送过来的当前数据块指纹相同的数据块指纹,若是,则表明当前数据块 需要进行去重操作,此时执行步骤B43,反之,则执行步骤M2 ; B42、为待存储的文件分配存储地址,并根据分配的地址将待存储的文件数据块存储到 存储系统的数据节点上,然后更新从索引; B43、更新从索引的用户ID,将当前数据块的用户ID添加到从索引中与当前数据块相 同的数据块的用户ID上。
[0013] 进一步,所述已存储文件的数据块指纹及待存储的文件的数据块指纹均采用 SHA-I哈希算法计算得到。
[0014] 本发明的有益效果是:利用文件的相似性构建由主索引和从索引组成的二级指纹 索引,然后根据构建的二级指纹索引进行数据块级的数据去重,与传统基于文件的单个索 引表的数据去重方法相比,检索效率更高;基于文件的相似性进行去重,不仅可以在一个用 户的同类文件中进行数据去重,而且还可以在多个用户的同类文件之间进行数据去重,实 现了跨用户的数据去重,应用范围更广。
【附图说明】
[0015] 下面结合附图和实施例对本发明作进一步说明。
[0016] 图1为本发明云存储中基于相似性的数据块级数据去重方法的整体流程图; 图2为本发明步骤B的流程图; 图3为本发明步骤B3的流程图; 图4为本发明步骤M的流程图; 图5为本发明实施例二云存储系统数据去重的组成模块结构图; 图6为本发明的二级指纹索引结构示意图; 图7为本发明对待存储的文件数据块进行去重的流程图。
【具体实施方式】
[0017]参照图1,云存储中基于相似性的数据块级数据去重方法,包括: A、 在云存储系统中添加一个指纹索引节点,所述指纹索引节点用于得到已存储文件 的数据块指纹并根据已存储文件的相似性构建由主索引和从索引组成的二级指纹索引,其 中,主索引为文件的文件特征指纹与文件相似性集合地址的映射,从索引为文件的数据块 指纹与数据块地址、用户ID之间的映射,文件特征指纹为文件的最小数据块指纹; B、 根据指纹索引节点的二级指纹索引对待存储的文件数据块进行去重。
[0018] 进一步作为优选的实施方式,所述云存储系统为基于HDFS的云存储服务系统。
[0019]参照图2,进一步作为优选的实施方式,所述步骤B,其包括: B1、计算待存储的文件的文件特征指纹和每个数据块指纹; B2、根据计算的文件特征指纹检索主索引,并根据检索的结果判断待存储的文件是否 为新的文件类型,若是,则在执行步骤B3后执行步骤B5,反之,则在执行步骤B4后执行步骤 B5 ; B3、将待存储的文件分块存入存储系统中,并更新主索引及构建与待存储的文件类型 相同的从索引; B4、根据计算的数据块指纹检索从索引,并根据检索的结果更新从索引; B5、更新元数据表,所述元数据表包括文件与数据块间的映射关系表以及数据块与数 据节点间的映射关系表。
[0020] 进一步作为优选的实施方式,所述步骤B2,其具体为: 客户端将计算的文件特征指纹与每个数据块指纹发送给主节点,由主节点根据文件特 征指纹去主索引中检索,若未检索到与计算的文件特征指纹相同的记录,则表明待存储的 文件为新的文件类型,此时先执行步骤B3然后执行步骤B5 ;若检索到已存在与计算的文件 特征指纹相同的记录,则表明云存储系统中已有同类型的文件数据存在,待存储的文件为 旧的文件类型,此时先执行步骤M然后执行步骤B5。
[0021] 参照图3,进一步作为优选的实施方式,所述步骤B3,其包括: 为待存储的文件分配存储地址,并根据分配的地址将待存储的文件数据块存储到存储 系统的数据节点上; 对主索引进行更新; 构建与待存储的文件类型相同的从索引。
[0022] 参照图4,进一步作为优选的实施方式,所述步骤B4,其包括: B41、主节点根据客户端发送过来的当前数据块指纹去从索引中检索,检索从索引中是 否存在与客户端发送过来的当前数据块指纹相同的数据块指纹,若是,则表明当前数据块 需要进行去重操作,此时执行步骤B43,反之,则执行步骤M2 ; B42、为待存储的文件分配存储地址,并根据分配的地址将待存储的文件数据块存储到 存储系统的数据节点上,然后更新从索引; B43、更新从索引的用户ID,将当前数据块的用户ID添加到从索引中与当前数据块相 同的数据块的用户ID上。
[0023] 进一步作为优选的实施方式,所述已存储文件的数据块指纹及待存储的文件的数 据块指纹均采用SHA-I哈希算法计算得到。
[0024] 下面结合说明书附图和具体实施例对本发明作进一步详细说明。
[0025] 实施例一 本实施例对本发明所涉及到的相关理论进行介绍。
[0026] (1)名词定义及解释 HDFS:Hadoop的核心组件之一,即Hadoop分布式文件系统,可以用来在多台普通的计 算机之间搭建分布式文件存储系统。HDFS具有高容错性、高可靠性的特征。
[0027] 数据指纹:通过哈希函数生长的散列值,能唯一标识生成该数据指纹的数据块,具 有全局唯一*性。
[0028] SHA-I算法:一个使用非常广泛的哈希算法,SHA-I的输入消息
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1