本发明专利技术公开了一种并发层次式的重复数据消除方法和系统。所述方法包括下列步骤:输入装置接收到外部输入的数据,并将所述数据放入共享缓冲队列;多个分块装置并行地从所述缓冲队列中获取所述数据并进行分块,并将划分后的块输入给多个粗粒度去重装置进行粗粒度去重;所述粗粒度去重装置进行粗粒度去重,判断数据块是否重复,若是,则将重复数据块的索引信息通过数据读写子系统写入存储器;否则细粒度去重装置对非重复的数据块执行细粒度的去重,并将去重后的数据块及其索引信息通过数据读写子系统存入存储器。
【技术实现步骤摘要】
本专利技术涉及信息安全领域,特别是涉及一种可以有效利用多核计算资源的并发层 次式的重复数据消除方法和系统。
技术介绍
随着信息化程度的不断提高,数据量不断爆炸式增长。据统计,2002年全球产生了 5EB的数据,并且以每年30%速度迅速增长,预计到2010年,全球数据总量将超过988EB。 同时,数据的重要性不断提高,越来越多的数据需要通过归档和备份进行集中存储,据企业 战略集团(Enterprise StrategyGroup, ESG)统计,归档和备份的数据量每年以60%的速 度迅速增长,规模已达PB级并且很快会增长到百PB级;备份系统中的数据量通常会达到生 产系统的10倍到20倍。而在备份、归档等集中存储系统中,存在大量的冗余数据信息,某些 情况下冗余数据量甚至可以达到几十倍甚至上百倍。例如办公自动化系统中,文件流转、 版本修订比较普遍,一个文件可能抄送给多个人,一个文件可能有多个版本,这其中有大量 的重复数据;另外,群发邮件也会导致巨大的冗余信息。在这种情况下,消除冗余信息、节省 存储空间就成为需要解决的重要问题。目前,在初期,大量的研究工作都集中在消冗率的提升方面,通过不断减小数据消 冗粒度来提高消冗率。美国易安信公司(EMC)的Centera内容寻址系统、windows的单实 例存储系统采用了以文件为单位的数据消冗方法,该方法的优点是实现简单、计算速度快, 但是检测粒度较粗,消冗效果差;为了提高消冗率,研究者又提出了定长块的检测方法,将 一个文件分成固定长度的数据块,以数据块为单位进行消冗,该方法的优点是计算速度快、 对数据变化反应比较敏感,主要缺陷是在文件中部分内容被插入或者修改的情况下会严重 影响消冗效果,该方法被应用到了 Venti归档存储系统中;为了进一步提高消冗率,研究者 针对定长块消冗存在的问题,又提出了变长块的数据消冗方法,即使用Rabin fingerprint 技术或者其它相似函数确定数据块的边界,将变化的内容划分到一个数据块中,典型的应 用有Shark、De印Store等。另外,研究者还提出了字节级的消冗机制,先查找相似度比较 高的数据块,然后采用差异压缩机制计算数据块之间的差异,仅存储差异部分的内容,常用 的差异压缩算法有zDelta等。随着数据消冗技术在海量存储系统中的应用,消冗机制对存储系统吞吐率的影响 逐渐体现出来,数据消冗的性能问题逐渐引起了研究者的关注,针对该问题展开了一系列 的研究。提出通过Bloom Filter、基于局部性的缓存等机制来降低消冗过程中的磁盘I/O 次数,提高数据消冗速度;还提出通过将消冗数据块打包成定长的数据对象来提高数据读 写性能;研究者还提出了一个两阶段消冗机制,通过将随机的小的磁盘I/O调整为序列化 的大的磁盘I/O来提高数据消冗的吞吐率;针对一些系统缺少数据局部性特征的特点,研 究者提出了基于文件相似性的特点降低消冗过程中查询的次数,提高数据消冗性能。通过降低重复数据消除的粒度,可以明显提高消冗率,然而会导致计算开销明显 增加,特别是采用字节级的重复数据消除机制时,计算开销明显增加,会严重影响重复数据消除的速率;同时,在多核系统中,现有的重复数据消除机制都无法充分利用计算资源。
技术实现思路
本专利技术的目的在于提供一种并发层次式的重复数据消除方法和系统,其充分利用 了多核系统的计算资源,采用先粗粒度再细粒度的重复数据消除机制,在通过降低去重粒 度提高消重率的情况下,保证系统的去重速率,解决去重率与去重速率的矛盾,满足海量存 储系统去重的需求,实现了高效的重复数据消除。为实现本专利技术的目的而提供的一种并发层次式的重复数据消除方法,包括下列步 骤步骤100.输入装置接收到外部输入的数据,并将所述数据放入共享缓冲队列;步骤200.多个分块装置并行地从所述缓冲队列中获取所述数据并进行分块,并 将划分后的块输入给多个粗粒度去重装置进行粗粒度去重;步骤300.所述粗粒度去重装置进行粗粒度去重,判断数据块是否重复,若是,则 执行步骤500,否则执行步骤400 ;步骤400.细粒度去重装置对非重复的数据块执行细粒度的去重,并将去重后的 数据块及其索引信息通过数据读写子系统存入存储器;步骤500.将重复数据块的索引信息通过数据读写子系统写入存储器。所述共享缓冲队列具有一个上限,当所述共享缓冲队列中数据对象的个数超过预 定值时,所述输入装置就停止工作一段时间,等待分块装置进行处理。所述步骤300,包括下列步骤步骤310.块去重装置计算每个数据块的特征值,并将所述特征值存入存储器中;步骤320.根据特征值从存储器中检索是否存在相同特征值的数据块,若是,则执 行步骤500,否则执行步骤400。所述步骤400,包括下列步骤步骤410.所述数据读写子系统将所述去重后的数据块写入存储器中的数据块仓 库中;步骤420.所述数据读写子系统形成所述去重后的数据块所属文件的索引信息, 写入存储器中的文件索引表中;步骤430.所述数据读写子系统形成所述去重后的数据块在所述数据块仓库中的 位置的索引信息,写入存储器中的数据块索引表中。所述重复数据块的索引信息,是指重复数据块所属文件的索引信息和其在所述存 储器中的位置的索引信息。所述细粒度去重装置是字节级去重装置,采用现有的LZW、LZ77压缩算法。步骤300和400中先粗粒度再细粒度的去重,是采用先进行文件级的重复数据消 重,再进行数据块级的重复数据消重,然后进行字节级的重复数据消重。所述方法,还包括步骤600.数据读取和组合装置调用所述数据读写子系统的接口根据索引信息从 存储器中读取数据块,并对数据块进行组合形成数据对象,由输出装置输出给用户。所述步骤600,包括下列步骤步骤610.所述数据读取和组合装置读取文件索引信息,获取该文件所引用的数 据块标志;步骤620.所述数据读取和组合装置根据数据块标志依次读取数据内容;步骤630.所述数据读取和组合装置对数据内容进行组合形成数据对象,由输出 装置输出给用户。为实现本专利技术的目的还提供一种并发层次式的重复数据消除系统,所述系统,包 括一个输入装置、多个分块装置、多个粗粒度去重装置、多个细粒度去重装置、一个数据读 写子系统和存储器,其中 所述输入装置,用于接收外部输入的数据,并将所述数据放入共享缓冲队列;所述分块装置,用于并行地从所述缓冲队列中获取所述数据并进行分块得到多个 数据块,并将多个数据块输入给多个粗粒度去重装置进行粗粒度去重;所述粗粒度去重装置,用于对多个数据块进行粗粒度去重,并判断所述数据块是 否重复,若是,则只将重复数据块的索引信息通过数据读写子系统写入存储器,否则触发细 粒度去重装置;所述细粒度去重装置,用于对非重复的数据块执行字节级的去重,并将去重后的 数据块及其索引信息通过数据读写子系统存入存储器;所述数据读写子系统,用于从所述存储器中写入或读出去重后的数据块。所述共享缓冲队列具有一个上限,当所述共享缓冲队列中数据对象的个数超过预 定值时,所述输入装置就停止工作一段时间,等待分块装置进行处理。所述粗粒度去重装置,包括特征值计算模块,用于计算每个数据块的特征值,并将所述特征值存入存储器 中;判断模块.用于根据所述特征值计算模块31计算得到特征值从存储器本文档来自技高网...
【技术保护点】
一种并发层次式的重复数据消除方法,其特征在于,所述方法,包括下列步骤:步骤100.输入装置接收到外部输入的数据,并将所述数据放入共享缓冲队列;步骤200.多个分块装置并行地从所述缓冲队列中获取所述数据并进行分块,并将划分后的块输入给多个粗粒度去重装置进行粗粒度去重;步骤300.所述粗粒度去重装置进行粗粒度去重,判断数据块是否重复,若是,则执行步骤500,否则执行步骤400;步骤400.细粒度去重装置对非重复的数据块执行细粒度的去重,并将去重后的数据块及其索引信息通过数据读写子系统存入存储器;步骤500.将重复数据块的索引信息通过数据读写子系统写入存储器。
【技术特征摘要】
【专利技术属性】
技术研发人员:王树鹏,云晓春,包秀国,李楠宁,
申请(专利权)人:中国科学院计算技术研究所,
类型:发明
国别省市:11[中国|北京]
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。