CN102831222A - 一种基于重复数据删除的差量压缩方法 - Google Patents

一种基于重复数据删除的差量压缩方法 Download PDF

Info

Publication number
CN102831222A
CN102831222A CN2012103036504A CN201210303650A CN102831222A CN 102831222 A CN102831222 A CN 102831222A CN 2012103036504 A CN2012103036504 A CN 2012103036504A CN 201210303650 A CN201210303650 A CN 201210303650A CN 102831222 A CN102831222 A CN 102831222A
Authority
CN
China
Prior art keywords
data
data block
piece
similar
block
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN2012103036504A
Other languages
English (en)
Other versions
CN102831222B (zh
Inventor
冯丹
夏文
江泓
田磊
付忞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huazhong University of Science and Technology
Original Assignee
Huazhong University of Science and Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huazhong University of Science and Technology filed Critical Huazhong University of Science and Technology
Priority to CN201210303650.4A priority Critical patent/CN102831222B/zh
Publication of CN102831222A publication Critical patent/CN102831222A/zh
Application granted granted Critical
Publication of CN102831222B publication Critical patent/CN102831222B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种基于重复数据删除的差量压缩方法,包括以下步骤:对数据流中的文件进行分块,得到多个数据块,计算每个数据块的数据块指纹,用于重复数据查找,对所有数据块进行分组,以建立数据块组及其双向链表,并对数据块组内的每个数据块进行重复数据删除的指纹查找,以确定是否为重复数据块,对于重复数据删除处理后的数据块组,利用该数据块组的双向链表中的重复数据信息进行基于局部性的相似数据查找,即将那些跟重复数据块相邻的非重复数据块认定为潜在的相似数据块并加以差量压缩验证其相似性,最后对数据块组进行基于相似性的相似性数据查找补充。本发明具有相似数据查找快、计算和索引开销少、数据压缩效率高的优点。

Description

一种基于重复数据删除的差量压缩方法
技术领域
本发明属于计算机存储的数据压缩领域,更具体地,涉及一种基于重复数据删除的数据差量压缩方法。
背景技术
近年来,随着计算机技术和网络的发展普及,全球的数据信息存储量呈爆炸式增长的趋势。虽然存储设备的售价一直在不停的下降,但也远远赶不上数据扩张增长的速度。重复数据删除(Data Deduplication)作为一种通过大规模地有效地消除冗余数据的技术,成为了近年来存储系统研究的热点。简单来讲,目前新兴的重复数据删除就是一种通过大规模地有效地消除冗余数据,从而降低数据存储成本的重要技术。举例来说:现在某核心部门有200GB的数据需要每天备份,那么一年就需要备份73TB,事实上每天修改的数据不到1GB,这样导致了很多冗余数据重复备份存储。而传统的备份存储技术不能识别备份数据中的冗余数据,因而会备份大量的重复数据,无端浪费了网络带宽和存储空间,降低了数据备份和归档的存储效率。随着备份次数的增多和备份数据量的迅猛增长,存储系统中的冗余数据越来越多,消耗在冗余数据上的存储和管理资源会成倍增长。而重复数据删除技术正好迎合了这一需求,通过有效识别和消除重复的冗余的数据降低数据存储管理的开销和提高存储资源的利用率。
但是随着重复数据删除技术的发展,重复数据删除技术也面临诸多的挑战。由于传统的重复数据删除技术是基于数据块的指纹来进行重复数据判断,所以这限制了重复数据删除技术只能识别完全重复的数据块,而不能识别那些很相似的数据块。比如两个数据块A1和A2仅几个字节不同的情况,虽然A1和A2接近完全相似,但是重复数据删除技术会产生截然不同的数据指纹从而忽略了对这些相似数据的处理。于是差量(Delta)压缩技术就被提出来应用在这种场合,差量压缩是一项高效的数据压缩技术,它能够根据引用数据块Ar对其相似数据块Ai进行高度压缩。数据块的相似度越高,则压缩效率越高。如公式所示,把Ar和Ai输入Delta算法器,Delta算法器会输出一个差量数据△r,i代表文件Ai的压缩版本。如需要解压数据Ai,则读取差量数据△r,i和引用数据块Ar即可以计算得出数据Ai
Figure BDA00002051744500021
Figure BDA00002051744500022
然而,现有的差量压缩技术存在以下问题:其计算速度慢,索引开销大,数据压缩效率低,可扩展性差,如果要支持PB级别的相似数据检索,会产生10TB级别的相似数据信息索引,这些元数据由于太大而不能放入内存,同时,又由于放入磁盘存储管理而带来索引速度慢的瓶颈。这样元数据的管理和索引严重限制了差量压缩算法的推广和发展。
发明内容
针对现有技术的缺陷,本发明的目的在于提供一种基于重复数据删除的差量压缩方法,其通过将数据流的局部性和相似性的结合来进行差量压缩的相似性数据查找,具有查找效率快,索引开销小和数据压缩效率高的优点。
为实现上述目的,本发明提供了一种基于重复数据删除的差量压缩方法,包括以下步骤:
(1)对数据流中的文件进行分块,得到多个数据块;
(2)计算每个数据块的数据块指纹,用于重复数据查找;
(3)对所有数据块进行分组,以建立数据块组及其双向链表,并对数据块组内的每个数据块进行重复数据删除的指纹查找,以确定是否存在指纹记录,如果有指纹记录,则标记该数据块为重复数据块;如果没有,则标记该数据块为非重复数据块;
(4)对于重复数据删除处理后的数据块组,利用该数据块组的双向链表中的重复数据信息进行基于局部性的相似数据查找,具体包括如下子步骤:
(4-1)查找数据块组所在的双向链表,设置计数器i=1;
(4-2)判断双向链表中的第i个数据块是否为重复数据块;如果是,则取出该重复数据块对应的重复数据块Cd所在数据块组的双向链表,设置j=i,并转入步骤(4-3);否则设置i=i+1,并进入步骤(4-7);在这里,称重复数据块Cd为重复数据块的引用数据块;
(4-3)判断第i-1个数据块是否为空值,或是重复或相似数据块,如果都不是,则转入步骤(4-4);若是,则进入步骤(4-5);
(4-4)对第i-1个数据块读取重复数据块Cd所在数据块组的双向链表所对应的数据块,把该数据块作为差量压缩的引用数据块,对第i-1个数据块和引用数据块进行差量压缩并判断压缩效率是否小于1/2,如果压缩效率小于1/2,则认为第i-1个数据块不是相似的数据块,并进入步骤(4-5);如果压缩效率大于等于1/2,则标记第i-1个数据块和引用数据块是相似的,则设置i=i-1,并返回步骤(4-3);
(4-5)判断第j+1个数据块是否为空值,或是重复或者相似数据块,如果都不是,则转入(4-6);若是,则设置i=j+1,并返回(4-7);
(4-6)对第j+1个数据块读取重复数据块Cd所在数据块组的双向链表所对应的数据块,把该数据块作为差量压缩的引用数据块,对第j+1个数据块和引用数据块进行差量压缩并判断压缩效率是否小于1/2,如果压缩效率小于1/2,则认为第j+1个数据块不是相似的数据块,则设置i=j+1,并进入步骤(4-7);如果压缩效率大于等于1/2,则标记第j+1个数据块和引用数据块是相似的,则设置j=j+1,并返回步骤(4-5);
(4-7)判断第i个数据块是否为双向链表中的最后一个数据块,如
果是,则过程结束,否则返回步骤(4-2)。
(5)对该数据块组进行相似判断补充;
(6)重复执行步骤(4)和(5),直到处理完步骤(3)中划分的所有数据块组为止。
步骤(2)中采用SHA-1算法、SHA-256或SHA-512算法计算每个数据块的数据块指纹。
步骤(2)中数据块组的大小为2MB。
步骤(4)具体为,对于重复数据删除处理后的数据块组,利用该数据块组的双向链表中的重复数据信息进行基于局部性的相似数据查找;通过查找重复数据块相邻的非重复数据块,将其认定为潜在的相似数据块,差量压缩这些数据块和对应的引用数据块块,并验证这些数据块和引用数据块真实相似性。
步骤(5)具体为,遍历该数据块组中的双向链表,对于仍然非重复并非相似的数据块,计算该数据块的一个低开销的超级指纹,通过查找超级指纹索引表判断是否有匹配的超级指纹,如果有,则读取出匹配的超级指纹所指的引用数据块,标记当前数据块和引用数据块相似,并对这两个相似数据块进行差量压缩;若没有,则继续遍历双向链表。
通过本发明所构思的以上技术方案,与现有技术相比,本发明具有以下的有益效果:
1、本发明通过步骤(4),挖掘了数据流中的局部性特征,避免了传统的繁冗的超级指纹计算和查找匹配,而仅仅只需要利用现有的重复数据删除系统的数据块的双向链表信息,简化了差量压缩的相似数据查找过程;避免了传统的相似数据判断的计算和索引开销。
2、本发明通过步骤(5),对剩下的非重复非相似的数据块计算一个低开销的超级指纹,来进行相似数据判断,从而可以充分补充局部性差的情况下的相似性查找,最大化相似数据的查找范围,用较小的代价来提高数据存储压缩效率。
附图说明
图1是本发明基于重复数据删除的差量压缩方法的流程图。
图2是本发明基于重复数据删除的差量压缩的系统的示意框图。
图3是本发明方法的步骤(3)和步骤(4)中的重复数据查找和相似数据查找的示意图。
图4是本发明系统的工作原理示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明基于重复数据删除的差量压缩方法将待备份数据流分块、分组后,进行重复数据删除,然后利用重复数据删除的信息进行相似性数据块判断,对于局部性差的情况,本发明还采纳一种低开销的超级指纹进行补充,通过结合局部性和相似性的挖掘最大限度的查找相似数据,提高差量压缩效率,减少相似数据查找开销。
本发明将多个连续的数据块称为局部性单元,并连续保存在磁盘外存中。存储系统中的数据流的局部性是指,当数据块曾经以序列A、B、C出现时,那么下次出现数据块A时,数据块B和C很有可能会紧随后面。本发明挖掘这种数据流的局部性来发现相似数据,如图3所示:对于前后两次备份的数据块序列:B1、B2、B3、B4、B5和E1、E2、E3、E4、E5,采用重复数据删除的方法确定数据块B3和E3重复,B4和E4重复,那么E3和E4旁边的数据块极有可能是相似的数据,即B1和E1、B2和E2、B5和E5是对应的数据块,且它们相似的概率很大。因为如果数据块B3和E3,B4和E4完全重复的话,那么文件E和文件B有局部性关联,只是因为有部分修改和插入操作导致了这两个文件有部分数据块指纹不同。根据前述的局部性原理,这些和重复数据相邻的数据块就是有部分的字节被修改或者删除,导致产生了截然不同的数据指纹。而这些可能相似的数据块可以通过进一步的差量计算来确定是否相似。在我们的实践测试和观察中,90%的这种基于局部性判断的,重复数据相邻的非重复的数据块的相似程度大于1/2。
针对局部性差的情况,或者是没有重复数据块信息支持的情况,本发明采取一种低开销的超级指纹方法,来补充查找相似的数据块。这样可以最大化地查找到可能的相似数据。因为传统的超级指纹方法是基于概率的查找,有可能会漏掉相似性低的数据。而我们通过局部性和相似性结合的方法,即基于重复数据删除和低开销的超级指纹联合的方法来查找相似数据,比传统的超级指纹方法查找到的相似数据多,计算和索引开销少。
如图1所示,本发明基于重复数据删除的差量压缩方法,包括以下步骤:
(1)对数据流中的文件进行分块,得到多个数据块;
在文件分块过程中,本发明适用于基于内容的变长分块,对分块算法没有要求,对分块大小也不做要求,2KB~256KB都可以,本实施例采用平均分块大小8KB。本发明对于定长分块也适用,但是变长分块下效果更好。
(2)计算每个数据块的数据块指纹,用于重复数据查找;
数据块指纹的计算可以采用各种安全哈希摘要算法,本实施例采用SHA-1算法,也可以采用其他抗哈希冲突能力更强的哈希摘要算法,比如SHA-256或SHA-512;
(3)对所有数据块进行分组,以建立数据块组及其双向链表,并对数据块组内的每个数据块进行重复数据删除的指纹查找,以确定是否存在指纹记录,如果有指纹记录,则标记该数据块为重复数据块;如果没有,则标记该数据块为非重复数据块;
本实施例采用的分组的大小为2MB,即将连续的多个数据块作为一个数据块组,且该数据块组的大小为2MB,即数据块内容总大小超过2MB为止,根据前述的数据流局部性原理,该数据块组的双向链表信息记录了数据流的序列信息,该序列信息会在以下步骤(4)中用来挖掘数据流局部性查找相似数据;
本实施例采用的重复数据删除的指纹查找如图2所示,所有的指纹值都放入磁盘中,部分放在内存中。首先,对要检测的指纹值,系统会检索其在内存中是否命中,如果是,则认为是重复数据块;如果不是,则检索磁盘的指纹索引,如果有检索到该指纹值,则认为是重复数据块,并且将其检索到的指纹所在的数据块组都放入内存中,这样可以提高下次访问索引的内存命中率;如果不是,则认为数据块是非重复数据块;
(4)对于重复数据删除处理后的数据块组,利用该数据块组的双向链表中的重复数据信息进行基于局部性的相似数据查找,具体包括如下子步骤:
(4-1)查找数据块组所在的双向链表,设置计数器i=1;
(4-2)判断双向链表中的第i个数据块是否为重复数据块;如果是,则取出该重复数据块对应的重复数据块Cd所在数据块组的双向链表,设置j=i,并转入步骤(4-3);否则设置i=i+1,并进入步骤(4-7);在这里,称重复数据块Cd为重复数据块的引用数据块;
(4-3)判断第i-1个数据块是否为空值,或是重复或相似数据块,如果都不是,则转入步骤(4-4);若是,则进入步骤(4-5);
(4-4)对第i-1个数据块读取重复数据块Cd所在数据块组的双向链表所对应的数据块,把该数据块作为差量压缩的引用数据块,对第i-1个数据块和引用数据块进行差量压缩并判断压缩效率是否小于1/2,如果压缩效率小于1/2,则认为第i-1个数据块不是相似的数据块,并进入步骤(4-5);如果压缩效率大于等于1/2,则标记第i-1个数据块和引用数据块是相似的,则设置i=i-1,并返回步骤(4-3);
(4-5)判断第j+1个数据块是否为空值,或是重复或者相似数据块,如果都不是,则转入(4-6);若是,则设置i=j+1,并返回(4-7);
(4-6)对第j+1个数据块读取重复数据块Cd所在数据块组的双向链表所对应的数据块,把该数据块作为差量压缩的引用数据块,对第j+1个数据块和引用数据块进行差量压缩并判断压缩效率是否小于1/2,如果压缩效率小于1/2,则认为第j+1个数据块不是相似的数据块,则设置i=j+1,并进入步骤(4-7);如果压缩效率大于等于1/2,则标记第j+1个数据块和引用数据块是相似的,则设置j=j+1,并返回步骤(4-5);
(4-7)判断第i个数据块是否为双向链表中的最后一个数据块,如果是,则过程结束,否则返回步骤(4-2)。
在本实施例中采用加州大学伯克利分校的Xdelta开源软件来进行相似数据的差量计算,其他的计算相似数据或者是文件的差量压缩算法也适用于本实施例。关于相似判断的压缩效率阈值也可以由用户自己设定,不限定于1/2;本实例中步骤(4-4)和(4-6)所指的对应数据块,如前述的图三描述所说明的,当判断出来重复数据块,则建立重复数据块之间的对应关系以及非重复数据块的对应管理。
(5)对该数据块组进行相似判断补充;具体而言,遍历该数据块组中的双向链表,对于仍然非重复并非相似的数据块,计算该数据块的一个低开销的超级指纹,通过查找超级指纹索引表判断是否有匹配的超级指纹,如果有,则读取出匹配的超级指纹所指的引用数据块,标记当前数据块和引用数据块相似,并对这两个相似数据块进行差量压缩;若没有,则继续遍历双向链表。
在本实施例中,我们采用了一种低开销的超级指纹算法,我们使用2个Rabin指纹作为相似性特征值Feature,再对相似性特征值组合取得数据块的超级指纹,具体方法如公式所示:
Feature i = Max j = 1 N { ( m i * Rabin ( W j ) + a i ) mod 2 32 } - - - ( 3 )
SuperFingerpr int=Rabin(Feature1,Feature2)    (4)
这里Featurei指的就是数据块(长度为N)的第i个相似性特征值,SuperFingerprint指的是超级指纹,Rabin(Wj)表示滑动窗口Wj的Rabin指纹,mi和ai表示第i组预定的随机数;在这里数据块的长度为N,所以该数据块有N个滑动窗口,相似性特征值就是对这N个滑动窗口的Rabin指纹中再哈希计算取最大值。不同第i组预定值mi和ai就会产生第i个数据块的相似性特征值。
传统的超级指纹算法采用了多个mi和ai组合产生四个或者四个以上的相似性特征值组成超级指纹,而且采用三个或者是三个以上超级指纹来提高相似查找的效率:即只要有一个超级指纹匹配就认定两个数据块相似;由于我们采用的比传统方法的特征值少,而且只采用了一个超级指纹。所以计算开销少,超级指纹索引少。在这里,相似性特征值的Rabin指纹数目和超级指纹数目的修改都适用于本发明,本发明推荐使用尽量少的相似性特征值和尽量少的超级指纹作为相似性查找匹配的根据,以减少超级指纹的计算和索引开销;这是因为在步骤(4)中的基于局部性的相似数据查找策略已经找到大部分的相似数据,步骤(5)只是作为一个补充策略,所以可以采用低开销的超级指纹来计算。
本发明通过局部性方法发现大部分的相似数据,然后相似性方法补充发现小部分遗漏的相似数据(如图4所示)。具有计算开销少,索引开销低,查找相似数据多的优点;
(6)重复执行步骤(4)和(5),直到处理完步骤(3)中划分的所有数据块组为止。
如图2所示,本发明基于重复数据删除方法的差量压缩系统包括两个功能模块,即重复数据删除模块和差量压缩模块,其中差量压缩模块又主要分为基于局部性的相似数据查找模块和基于相似性的相似数据查找模块。其中基于局部性的相似查找又可以称为基于重复数据删除的相似数据查找;基于相似性的相似数据查找又可以称为基于低开销超级指纹的相似数据查找。
在内存的数据结构中,重复数据删除模块包括了重复数据索引和局部性缓存。差量压缩模块包括了超级指纹索引和局部性缓存。其中局部性缓存包括了最近访问的数据块组,每个数据块组由多个数据块的元数据组成,每个数据块关键元数据信息包括了数据块指纹和数据块超级指纹。其中数据块指纹用于重复数据查找,数据块超级指纹用于相似数据查找。
重复数据删除模块主要负责存储系统中的数据流分块计算、数据块的指纹计算和指纹匹配查找等操作。重复数据删除模块采用了基于内容的分块算法进行内容分块,避免了数据插入或修改操作导致新数据边界偏移的问题。数据块指纹的计算可以采用各种安全哈希摘要算法,本实施例采用SHA-1,也可以采用其他抗冲突能力更强的安全哈希摘要算法。指纹匹配查找可以在数据规模小的情况,把所有指纹信息都放入内存的重复数据删除索引中查找。在数据规模大的情况下,将全部的指纹放入磁盘中,同时将部分最近访问的指纹集合导入内存的局部性缓存中,这样可以在内存中缓存数据流的局部性,可以提高内存访问索引的命中率,也有利于进一步挖掘局部性进行相似数据判断并差量压缩。
差量压缩模块主要负责重复数据删除后的相似数据的查找和压缩。其判断相似数据主要分成两个阶段,挖掘现有的重复数据删除信息来进行基于局部性的相似数据查找阶段;采用低开销的超级指纹来挖掘数据流的相似性补充查找相似数据阶段。在这里对两个相似数据块的具体差量压缩算法,我们采用加州大学伯克利分校的开源Xdelta软件来计算相似数据的差量。差量压缩结束后,我们就不需要存储完整的相似数据块的信息。只需要存储差量数据和引用数据块位置信息。这样可以减少数据存储空间。
下面我们举一个实例说明本发明,如图4所示,对于一段输入备份数据流,有部分内容跟上次备份相比较有修改和插入操作,这里的修改操作我们用方格纹表示,插入操作我们用斜纹表示。首先我们对数据流做分块和求指纹处理,如前面步骤(1)和(2)所示;然后我们通过数据块指纹查找来进行重复数据检索,如前面步骤(3)所示,判断出第1、4、10个数据块为重复数据块;再次我们对非重复数据块进行基于重复数据删除的相似数据查找,如前面步骤(4)所示,我们可以判断出第2、3、9个数据块为相似数据块;最后我们通过对剩下的非重复非相似数据块进行基于低开销的超级指纹的相似数据查找,如步骤(5)所示,我们可以进一步判断出第6、7个数据块为相似数据块;对于剩下的非重复非相似数据块,我们用“N”表示。这样,我们可以通过挖掘备份数据流中的局部性和相似性来最大限度的找到相似的数据;尤其是基于局部性的相似数据查找策略,可以不需要计算相似性特征值就可以查找到相似数据块,减少了差量压缩的相似数据查找开销。
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (5)

1.一种基于重复数据删除的差量压缩方法,其特征在于,包括以下步骤:
(1)对数据流中的文件进行分块,得到多个数据块;
(2)计算每个数据块的数据块指纹,用于重复数据查找;
(3)对所有数据块进行分组,以建立数据块组及其双向链表,并对数据块组内的每个数据块进行重复数据删除的指纹查找,以确定是否存在指纹记录,如果有指纹记录,则标记该数据块为重复数据块;如果没有,则标记该数据块为非重复数据块;
(4)对于重复数据删除处理后的数据块组,利用该数据块组的双向链表中的重复数据信息进行基于局部性的相似数据查找,具体包括如下子步骤:
(4-1)查找数据块组所在的双向链表,设置计数器i=1;
(4-2)判断双向链表中的第i个数据块是否为重复数据块;如果是,则取出该重复数据块对应的重复数据块Cd所在数据块组的双向链表,设置j=i,并转入步骤(4-3);否则设置i=i+1,并进入步骤(4-7);在这里,称重复数据块Cd为重复数据块的引用数据块;
(4-3)判断第i-1个数据块是否为空值,或是重复或相似数据块,如果都不是,则转入步骤(4-4);若是,则进入步骤(4-5);
(4-4)对第i-1个数据块读取重复数据块Cd所在数据块组的双向链表所对应的数据块,把该数据块作为差量压缩的引用数据块,对第i-1个数据块和引用数据块进行差量压缩并判断压缩效率是否小于1/2,如果压缩效率小于1/2,则认为第i-1个数据块不是相似的数据块,并进入步骤(4-5);如果压缩效率大于等于1/2,则标记第i-1个数据块和引用数据块是相似的,则设置i=i-1,并返回步骤(4-3);
(4-5)判断第j+1个数据块是否为空值,或是重复或者相似数据块,如果都不是,则转入(4-6);若是,则设置i=j+1,并返回(4-7);
(4-6)对第j+1个数据块读取重复数据块Cd所在数据块组的双向链表所对应的数据块,把该数据块作为差量压缩的引用数据块,对第j+1个数据块和引用数据块进行差量压缩并判断压缩效率是否小于1/2,如果压缩效率小于1/2,则认为第j+1个数据块不是相似的数据块,则设置i=j+1,并进入步骤(4-7);如果压缩效率大于等于1/2,则标记第j+1个数据块和引用数据块是相似的,则设置j=j+1,并返回步骤(4-5);
(4-7)判断第i个数据块是否为双向链表中的最后一个数据块,如果是,则过程结束,否则返回步骤(4-2);
(5)对该数据块组进行相似判断补充;
(6)重复执行步骤(4)和(5),直到处理完步骤(3)中划分的所有数据块组为止。
2.根据权利要求1所述的差量压缩方法,其特征在于,步骤(2)中采用SHA-1算法、SHA-256或SHA-512算法计算每个数据块的数据块指纹。
3.根据权利要求1所述的差量压缩方法,其特征在于,数据块组的大小为2MB。
4.根据权利要求1所述的差量压缩算法,其特征在于,步骤(4)具体为,对于重复数据删除处理后的数据块组,利用该数据块组的双向链表中的重复数据信息进行基于局部性的相似数据查找;通过查找重复数据块相邻的非重复数据块,将其认定为潜在的相似数据块,差量压缩这些数据块和对应的引用数据块块,并验证这些数据块和引用数据块真实相似性。
5.根据权利要求1所述的差量压缩方法,其特征在于,步骤(5)具体为,遍历该数据块组中的双向链表,对于仍然非重复并非相似的数据块,计算该数据块的一个低开销的超级指纹,通过查找超级指纹索引表判断是否有匹配的超级指纹,如果有,则读取出匹配的超级指纹所指的引用数据块,标记当前数据块和引用数据块相似,并对这两个相似数据块进行差量压缩;若没有,则继续遍历双向链表。
CN201210303650.4A 2012-08-24 2012-08-24 一种基于重复数据删除的差量压缩方法 Active CN102831222B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210303650.4A CN102831222B (zh) 2012-08-24 2012-08-24 一种基于重复数据删除的差量压缩方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210303650.4A CN102831222B (zh) 2012-08-24 2012-08-24 一种基于重复数据删除的差量压缩方法

Publications (2)

Publication Number Publication Date
CN102831222A true CN102831222A (zh) 2012-12-19
CN102831222B CN102831222B (zh) 2014-12-31

Family

ID=47334357

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210303650.4A Active CN102831222B (zh) 2012-08-24 2012-08-24 一种基于重复数据删除的差量压缩方法

Country Status (1)

Country Link
CN (1) CN102831222B (zh)

Cited By (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103345449A (zh) * 2013-06-19 2013-10-09 暨南大学 一种面向重复数据删除技术的指纹预取方法及系统
CN103403717A (zh) * 2013-01-09 2013-11-20 华为技术有限公司 一种数据处理方法及装置
CN103412864A (zh) * 2013-06-06 2013-11-27 莱诺斯科技(北京)有限公司 一种数据压缩存储方法
CN103744783A (zh) * 2014-01-03 2014-04-23 华为技术有限公司 重复数据删除性能测试方法和装置
CN103995863A (zh) * 2014-05-19 2014-08-20 华为技术有限公司 一种重复数据删除的方法及装置
CN104050057A (zh) * 2014-06-06 2014-09-17 华中科技大学 一种历史感知的数据去重碎片消除方法与系统
WO2015024511A1 (en) * 2013-08-21 2015-02-26 International Business Machines Corporation Adding cooperative file coloring in similarity based deduplication system
CN104572872A (zh) * 2014-12-19 2015-04-29 华中科技大学 一种基于极值的数据去重分块方法
CN105022593A (zh) * 2015-08-18 2015-11-04 南京大学 一种基于数据压缩和数据去冗协同的存储优化方法
CN105069111A (zh) * 2015-08-10 2015-11-18 广东工业大学 云存储中基于相似性的数据块级数据去重方法
CN105335530A (zh) * 2015-12-11 2016-02-17 上海爱数信息技术股份有限公司 一种提升大数据块重复数据删除性能的方法
CN105389387A (zh) * 2015-12-11 2016-03-09 上海爱数信息技术股份有限公司 一种基于压缩的重复数据删除性能及重删率提升的方法和系统
CN105515586A (zh) * 2015-12-14 2016-04-20 华中科技大学 一种快速差量压缩方法
CN105550352A (zh) * 2015-12-28 2016-05-04 华为技术有限公司 一种基于图像的重复数据删除方法及装置
CN105787107A (zh) * 2016-03-22 2016-07-20 南京工程学院 一种大数据冗余检测方法
CN105931278A (zh) * 2015-02-28 2016-09-07 阿尔特拉公司 用于二维块比特流压缩和解压的方法和装置
CN103403717B (zh) * 2013-01-09 2016-11-30 华为技术有限公司 一种数据处理方法及装置
CN106990914A (zh) * 2017-02-17 2017-07-28 深圳市中博睿存信息技术有限公司 数据删除方法及装置
US9830229B2 (en) 2013-08-21 2017-11-28 International Business Machines Corporation Adding cooperative file coloring protocols in a data deduplication system
CN107480267A (zh) * 2017-08-17 2017-12-15 无锡清华信息科学与技术国家实验室物联网技术中心 一种利用局部性提高文件差分同步速度的方法
CN107612554A (zh) * 2017-09-21 2018-01-19 国家电网公司 数据压缩处理方法
CN107783990A (zh) * 2016-08-26 2018-03-09 华为技术有限公司 一种数据压缩方法及终端
CN108427538A (zh) * 2018-03-15 2018-08-21 深信服科技股份有限公司 全闪存阵列的存储数据压缩方法、装置、及可读存储介质
CN110083743A (zh) * 2019-03-28 2019-08-02 哈尔滨工业大学(深圳) 一种基于统一采样的快速相似数据检测方法
CN110618789A (zh) * 2019-08-14 2019-12-27 华为技术有限公司 一种重复数据的删除方法及装置
CN111628909A (zh) * 2020-05-25 2020-09-04 汪永强 一种用于无线通信的数据重复发送标记系统及方法
CN111796969A (zh) * 2020-05-29 2020-10-20 湖北工业大学 一种数据差量压缩检测方法、计算机设备和存储介质
CN111954000A (zh) * 2020-07-07 2020-11-17 广西交通设计集团有限公司 一种面向高速收费图片集的无损压缩方法
WO2021012162A1 (zh) * 2019-07-22 2021-01-28 华为技术有限公司 存储系统数据压缩的方法、装置、设备及可读存储介质
CN112416878A (zh) * 2020-11-09 2021-02-26 山西云时代技术有限公司 一种基于云平台的文件同步管理方法
CN113035278A (zh) * 2021-04-08 2021-06-25 哈尔滨工业大学 一种基于tpbwt自索引结构滑动窗口压缩方法
US11055005B2 (en) 2018-10-12 2021-07-06 Netapp, Inc. Background deduplication using trusted fingerprints
US11409772B2 (en) 2019-08-05 2022-08-09 International Business Machines Corporation Active learning for data matching
WO2022206334A1 (zh) * 2021-03-30 2022-10-06 华为技术有限公司 一种数据压缩方法及装置
US11663275B2 (en) 2019-08-05 2023-05-30 International Business Machines Corporation Method for dynamic data blocking in a database system
CN117150518A (zh) * 2023-08-04 2023-12-01 中国移动通信集团四川有限公司 一种通信运营商数据安全加密方法及系统
CN117369731A (zh) * 2023-12-07 2024-01-09 苏州元脑智能科技有限公司 一种数据的缩减处理方法、装置、设备及介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102214210A (zh) * 2011-05-16 2011-10-12 成都市华为赛门铁克科技有限公司 重复数据处理方法、装置和系统
CN102222085A (zh) * 2011-05-17 2011-10-19 华中科技大学 一种基于相似性与局部性结合的重复数据删除方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102214210A (zh) * 2011-05-16 2011-10-12 成都市华为赛门铁克科技有限公司 重复数据处理方法、装置和系统
CN102222085A (zh) * 2011-05-17 2011-10-19 华中科技大学 一种基于相似性与局部性结合的重复数据删除方法

Cited By (61)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103403717B (zh) * 2013-01-09 2016-11-30 华为技术有限公司 一种数据处理方法及装置
CN103403717A (zh) * 2013-01-09 2013-11-20 华为技术有限公司 一种数据处理方法及装置
WO2014107845A1 (zh) * 2013-01-09 2014-07-17 华为技术有限公司 一种数据处理方法及装置
CN103412864A (zh) * 2013-06-06 2013-11-27 莱诺斯科技(北京)有限公司 一种数据压缩存储方法
CN103412864B (zh) * 2013-06-06 2017-04-05 莱诺斯科技(北京)股份有限公司 一种数据压缩存储方法
CN103345449A (zh) * 2013-06-19 2013-10-09 暨南大学 一种面向重复数据删除技术的指纹预取方法及系统
CN103345449B (zh) * 2013-06-19 2016-12-28 暨南大学 一种面向重复数据删除技术的指纹预取方法及系统
US11048594B2 (en) 2013-08-21 2021-06-29 International Business Machines Corporation Adding cooperative file coloring protocols in a data deduplication system
WO2015024511A1 (en) * 2013-08-21 2015-02-26 International Business Machines Corporation Adding cooperative file coloring in similarity based deduplication system
US9830229B2 (en) 2013-08-21 2017-11-28 International Business Machines Corporation Adding cooperative file coloring protocols in a data deduplication system
US9542411B2 (en) 2013-08-21 2017-01-10 International Business Machines Corporation Adding cooperative file coloring in a similarity based deduplication system
CN103744783A (zh) * 2014-01-03 2014-04-23 华为技术有限公司 重复数据删除性能测试方法和装置
CN103744783B (zh) * 2014-01-03 2016-08-31 华为技术有限公司 重复数据删除性能测试方法和装置
CN103995863B (zh) * 2014-05-19 2018-06-19 华为技术有限公司 一种重复数据删除的方法及装置
CN103995863A (zh) * 2014-05-19 2014-08-20 华为技术有限公司 一种重复数据删除的方法及装置
CN104050057A (zh) * 2014-06-06 2014-09-17 华中科技大学 一种历史感知的数据去重碎片消除方法与系统
CN104572872A (zh) * 2014-12-19 2015-04-29 华中科技大学 一种基于极值的数据去重分块方法
CN104572872B (zh) * 2014-12-19 2017-08-25 华中科技大学 一种基于极值的数据去重分块方法
CN105931278A (zh) * 2015-02-28 2016-09-07 阿尔特拉公司 用于二维块比特流压缩和解压的方法和装置
CN105069111B (zh) * 2015-08-10 2018-09-18 广东工业大学 云存储中基于相似性的数据块级数据去重方法
CN105069111A (zh) * 2015-08-10 2015-11-18 广东工业大学 云存储中基于相似性的数据块级数据去重方法
CN105022593A (zh) * 2015-08-18 2015-11-04 南京大学 一种基于数据压缩和数据去冗协同的存储优化方法
CN105022593B (zh) * 2015-08-18 2017-09-26 南京大学 一种基于数据压缩和数据去冗协同的存储优化方法
CN105389387A (zh) * 2015-12-11 2016-03-09 上海爱数信息技术股份有限公司 一种基于压缩的重复数据删除性能及重删率提升的方法和系统
CN105335530A (zh) * 2015-12-11 2016-02-17 上海爱数信息技术股份有限公司 一种提升大数据块重复数据删除性能的方法
CN105389387B (zh) * 2015-12-11 2018-12-14 上海爱数信息技术股份有限公司 一种基于压缩的重复数据删除性能及重删率提升的方法和系统
CN105335530B (zh) * 2015-12-11 2018-10-19 上海爱数信息技术股份有限公司 一种提升大数据块重复数据删除性能的方法
CN105515586B (zh) * 2015-12-14 2019-04-12 华中科技大学 一种快速差量压缩方法
CN105515586A (zh) * 2015-12-14 2016-04-20 华中科技大学 一种快速差量压缩方法
CN105550352A (zh) * 2015-12-28 2016-05-04 华为技术有限公司 一种基于图像的重复数据删除方法及装置
CN105787107A (zh) * 2016-03-22 2016-07-20 南京工程学院 一种大数据冗余检测方法
CN105787107B (zh) * 2016-03-22 2018-10-30 南京工程学院 一种大数据冗余检测方法
CN107783990A (zh) * 2016-08-26 2018-03-09 华为技术有限公司 一种数据压缩方法及终端
CN107783990B (zh) * 2016-08-26 2021-11-19 华为技术有限公司 一种数据压缩方法及终端
CN106990914B (zh) * 2017-02-17 2020-06-12 北京同有飞骥科技股份有限公司 数据删除方法及装置
CN106990914A (zh) * 2017-02-17 2017-07-28 深圳市中博睿存信息技术有限公司 数据删除方法及装置
CN107480267A (zh) * 2017-08-17 2017-12-15 无锡清华信息科学与技术国家实验室物联网技术中心 一种利用局部性提高文件差分同步速度的方法
CN107612554B (zh) * 2017-09-21 2020-08-11 国家电网公司 数据压缩处理方法
CN107612554A (zh) * 2017-09-21 2018-01-19 国家电网公司 数据压缩处理方法
CN108427538A (zh) * 2018-03-15 2018-08-21 深信服科技股份有限公司 全闪存阵列的存储数据压缩方法、装置、及可读存储介质
US11055005B2 (en) 2018-10-12 2021-07-06 Netapp, Inc. Background deduplication using trusted fingerprints
CN110083743A (zh) * 2019-03-28 2019-08-02 哈尔滨工业大学(深圳) 一种基于统一采样的快速相似数据检测方法
CN112544038B (zh) * 2019-07-22 2024-07-05 华为技术有限公司 存储系统数据压缩的方法、装置、设备及可读存储介质
WO2021012162A1 (zh) * 2019-07-22 2021-01-28 华为技术有限公司 存储系统数据压缩的方法、装置、设备及可读存储介质
CN112544038A (zh) * 2019-07-22 2021-03-23 华为技术有限公司 存储系统数据压缩的方法、装置、设备及可读存储介质
US11663275B2 (en) 2019-08-05 2023-05-30 International Business Machines Corporation Method for dynamic data blocking in a database system
US11409772B2 (en) 2019-08-05 2022-08-09 International Business Machines Corporation Active learning for data matching
WO2021027541A1 (zh) * 2019-08-14 2021-02-18 华为技术有限公司 一种重复数据的删除方法及装置
CN110618789A (zh) * 2019-08-14 2019-12-27 华为技术有限公司 一种重复数据的删除方法及装置
CN113472609B (zh) * 2020-05-25 2024-03-19 汪永强 一种用于无线通信的数据重复发送标记系统
CN111628909B (zh) * 2020-05-25 2021-08-20 上海德吾信息科技有限公司 一种用于无线通信的数据重复发送标记系统及方法
CN113472609A (zh) * 2020-05-25 2021-10-01 汪永强 一种用于无线通信的数据重复发送标记系统
CN111628909A (zh) * 2020-05-25 2020-09-04 汪永强 一种用于无线通信的数据重复发送标记系统及方法
CN111796969A (zh) * 2020-05-29 2020-10-20 湖北工业大学 一种数据差量压缩检测方法、计算机设备和存储介质
CN111954000A (zh) * 2020-07-07 2020-11-17 广西交通设计集团有限公司 一种面向高速收费图片集的无损压缩方法
CN112416878A (zh) * 2020-11-09 2021-02-26 山西云时代技术有限公司 一种基于云平台的文件同步管理方法
WO2022206334A1 (zh) * 2021-03-30 2022-10-06 华为技术有限公司 一种数据压缩方法及装置
CN113035278A (zh) * 2021-04-08 2021-06-25 哈尔滨工业大学 一种基于tpbwt自索引结构滑动窗口压缩方法
CN117150518A (zh) * 2023-08-04 2023-12-01 中国移动通信集团四川有限公司 一种通信运营商数据安全加密方法及系统
CN117369731A (zh) * 2023-12-07 2024-01-09 苏州元脑智能科技有限公司 一种数据的缩减处理方法、装置、设备及介质
CN117369731B (zh) * 2023-12-07 2024-02-27 苏州元脑智能科技有限公司 一种数据的缩减处理方法、装置、设备及介质

Also Published As

Publication number Publication date
CN102831222B (zh) 2014-12-31

Similar Documents

Publication Publication Date Title
CN102831222B (zh) 一种基于重复数据删除的差量压缩方法
CN102222085B (zh) 一种基于相似性与局部性结合的重复数据删除方法
Xia et al. {FastCDC}: A fast and efficient {Content-Defined} chunking approach for data deduplication
CN103902623B (zh) 用于在存储系统上存取文件的方法和系统
US7418544B2 (en) Method and system for log structured relational database objects
CN102782643B (zh) 使用布隆过滤器的索引搜索
CN101963982B (zh) 基于位置敏感哈希的删冗存储系统元数据管理方法
CN108255647B (zh) 一种samba服务器集群下的高速数据备份方法
CN107423422B (zh) 基于网格的空间数据分布式存储及检索方法和系统
CN106663047A (zh) 用于优化的签名比较和数据复制的系统和方法
CN111400083B (zh) 数据存储方法及系统、存储介质
CN102323958A (zh) 重复数据删除方法
CN107506260A (zh) 一种动态分块数据库增量备份方法
CN103080910A (zh) 存储系统
CN108021717B (zh) 一种轻量级嵌入式文件系统的实现方法
CN101866358A (zh) 一种多维区间查询方法及系统
CN110569245A (zh) 重复数据删除系统中基于强化学习的指纹索引预取方法
CN103345496A (zh) 多媒体信息检索方法和系统
CN102169491B (zh) 一种多数据集中重复记录动态检测方法
CN104050057B (zh) 一种历史感知的数据去重碎片消除方法与系统
CN109407985B (zh) 一种数据管理的方法以及相关装置
CN112148217B (zh) 全闪存储系统的重删元数据的缓存方法、装置及介质
CN107515931A (zh) 一种基于聚类的重复数据检测方法
CN103970844B (zh) 大数据的写入方法和装置、读取方法和装置及处理系统
CN114064984A (zh) 一种基于稀疏数组链表的世界状态增量更新方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant