CN103150260A - 重复数据删除方法和装置 - Google Patents
重复数据删除方法和装置 Download PDFInfo
- Publication number
- CN103150260A CN103150260A CN2011103807733A CN201110380773A CN103150260A CN 103150260 A CN103150260 A CN 103150260A CN 2011103807733 A CN2011103807733 A CN 2011103807733A CN 201110380773 A CN201110380773 A CN 201110380773A CN 103150260 A CN103150260 A CN 103150260A
- Authority
- CN
- China
- Prior art keywords
- fingerprint
- sampling
- grouping
- stored
- file
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/174—Redundancy elimination performed by the file system
- G06F16/1748—De-duplication implemented within the file system, e.g. based on file segments
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种重复数据删除方法和装置,方法包括:对待存储文件进行分块处理,计算分块处理结果中各分块的指纹;对各分块的指纹进行抽样处理,并根据抽取到的指纹生成待存储文件的指纹抽样表;根据指纹抽样表和分组抽样库,确定待存储文件在分组抽样库中所属的相似分组;根据指纹库中与所述相似分组对应的指纹分组中的指纹数据,对待存储文件进行重复数据删除。装置包括:分块模块、抽样模块、分组模块和重复数据删除模块。本发明解决了现有技术中重删时海量分块数据引入的计算量和资源消耗巨大的问题,缩减了重复数据删除中去重的计算量。
Description
技术领域
本发明涉及数据存储技术领域,尤其涉及一种重复数据删除方法和装置。
背景技术
重复数据删除(简称为重删)是一种数据缩减技术,通常用于基于磁盘的备份***,旨在减少存储***中所使用的存储容量。通常,重复数据删除技术应对的均为大数据量的场景,业界的重复数据删除技术主要包括分块检测、相似性检测及Delta编码等技术,其中,基于相似性检测和Delta编码为另外的两种数据压缩方法,但是只检测相似的文件,去重率较低。去重率为衡量重删效果的重要指标,标识去除重复数据的比率。
图1为现有技术中重复数据删除技术的过程示意图,如图1所示,在现有技术中的重删技术中,通过内存中建立一个巨大的块数据索引表来维持分块数据的索引。在进行重复数据删除时,将数据对象进行分块处理,并计算分块处理结果中各分块的指纹,将各分块的指纹存储在块数据索引表(即指纹库)中,如图2所示为现有技术中重复数据删除技术的指纹库的结构示意图。后续在存储数据时先查询该块数据索引表,若查询到与待存储数据的指纹相同的分块指纹,则不存储待存储数据,只存储在块数据索引表中没有查询到相同指纹的新块,从而避免存储内容重复的块,也就是相当于实现了内容重复的块的删除。
然而,发明人在实现本发明的过程中,发现现有技术至少存在以下缺陷:
在存储大数据量的场景中,在重删过程中会产生大量的分块数据,在与指纹库中的海量分块指纹进行逐一比对时,计算量和内存需求很大,从而造成重删处理的效率较低。
发明内容
本发明提供一种重复数据删除方法和装置,解决现有技术中重删时所需的计算量和消耗资源巨大,导致的重删性能较低的问题。
本发明提供了一种重复数据删除方法,包括:
对待存储文件进行分块处理,计算分块处理结果中各分块的指纹;
对所述各分块的指纹进行抽样处理,并根据抽取到的指纹生成所述待存储文件的指纹抽样表;
根据指纹抽样表和分组抽样库,确定所述待存储文件在所述分组抽样库中所属的相似分组;
根据指纹库中与所述相似分组对应的指纹分组中的指纹数据,对所述待存储文件进行重复数据删除;
其中,所述分组抽样库由至少一个抽样分组构成,所述指纹库由至少一个个指纹分组构成,所述分组抽样库中的各抽样分组与所述指纹库中的各指纹分组一一对应,所述相似分组为所述分组抽样库中与所述待存储文件的指纹抽样表中的抽样指纹相匹配的一个抽样分组。
本发明提供了一种重复数据删除装置,包括:
分块模块,用于对待存储文件进行分块处理,计算分块处理结果中各分块的指纹;
抽样模块,用于对所述各分块的指纹进行抽样处理,并根据抽取到的指纹生成所述待存储文件的指纹抽样表;
分组模块,用于根据指纹抽样表和分组抽样库,确定所述待存储文件在所述分组抽样库中所属的相似分组;
重复数据删除模块,用于根据指纹库中与所述相似分组对应的指纹分组中的指纹数据,对所述待存储文件进行重复数据删除;
其中,所述分组抽样库由至少一个抽样分组构成,所述指纹库由至少一个指纹分组构成,所述分组抽样库中的各抽样分组与所述指纹库中的各指纹分组一一对应,所述相似分组为所述分组抽样库中与所述待存储文件的指纹抽样表中的抽样指纹相匹配的一个抽样分组。
本发明提供的重复数据删除方法和装置,通过对待存储文件进行分块处理,计算各分块的指纹,对各分块的指纹进行抽样处理,根据生成的指纹抽样表和分组抽样库确定该待存储文件在分组抽样库中所属的相似分组,并根据指纹库中与所述相似分组对应的指纹分组中的指纹数据,对该待存储文件进行重复数据删除处理;本实施例对各分块的指纹进行进一步抽样处理,先通过相似性分析确定相似分组,再在相似分组对应的指纹分组中进行重复数据删除处理,缩小了去重的查询计算量,解决了现有技术中重删时海量分块数据引入的计算量和资源消耗巨大的问题,缩减了重复数据删除中去重的计算量,提升了重删性能。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为现有技术中重复数据删除技术的过程示意图;
图2为现有技术中重复数据删除技术的指纹库的结构示意图;
图3为本发明重复数据删除方法实施例一的流程图;
图4为本发明重复数据删除方法实施例二的流程图;
图5为本发明重复数据删除方法实施例二中分组抽样库的结构示意图;
图6为本发明重复数据删除装置实施例一的结构图;
图7为本发明重复数据删除装置实施例二的结构图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图3为本发明重复数据删除方法实施例一的流程图,如图3所示,本实施例提供了一种重复数据删除方法,可以具体包括如下步骤:
步骤301,对待存储文件进行分块处理,计算分块处理结果中各分块的指纹。
本实施例中对于每个文件的存储均执行相同的重复数据删除方法,文件在存储前为待存储文件。本步骤先对待存储文件进行分块处理,具体的分块处理过程可以采用现有技术中的分块技术,如通过变长分块算法对待存储文件进行分块。再计算分块处理后的得到的各分块的指纹,具体的指纹计算过程也可以采用现有技术中的计算方法,如可以采用sha1、md5双哈希算法来计算各分块的指纹。
步骤302,对所述各分块的指纹进行抽样处理,并根据抽取到的指纹生成所述待存储文件的指纹抽样表。
在本实施例中,为了缩减重复数据删除过程中去重的计算量,在得到待删除文件的各分块的指纹后,对这些指纹进行抽样,抽样的基本要求是抽样结果中的指纹在待删除文件的各分块的指纹的范围内,且抽样结果中指纹的数量不多于待删除文件的分块指纹的数量。
具体可以利用抽样因子对各分块的指纹进行抽样处理,抽样因子是指用来与文件各分块指纹进行逻辑运算的抽样特征值,抽样处理时根据抽样规则和逻辑运算结果,从各分块指纹中筛选部分分块指纹。对于不同的待存储文件来说选定不同的抽样因子,该抽样因子可以代表该待存储文件的特性,此处对各分块的指纹进行抽样处理,对指纹进行筛选,并根据抽取到的指纹生成该待存储文件的指纹抽样表。其中,抽样因子可以根据待存储文件的文件规模和分块数量来确定,也可以采用预先设定的固定的抽样因子进行抽样。该指纹抽样表中的指纹可以为通过筛选后保留的可以代表该待存储文件的特性的指纹,从而可以减少后续指纹的存储量。
或者,本步骤中的对各分块的指纹进行抽样处理时也可以不依赖抽样因子,具体为:直接将各分块的指纹中最后一个字节为0的指纹作为抽样处理抽取到的指纹;或者将固定位置上的分块作为抽取到的指纹,例如将9的整数倍位置上的分块作为抽取到得指纹;或者根据预定的抽样比例进行抽样,例如随机抽取5%的分块作为抽取到的指纹。
步骤303,根据指纹抽样表和分组抽样库,确定所述待存储文件在分组抽样库中所属的相似分组。
在获取到待存储文件的指纹抽样表后,本步骤为根据该指纹抽样表和存储***中保存的当前的分组抽样库,确定该待存储文件在当前的分组抽样库中所属的相似分组。其中,分组抽样库由至少一个抽样分组构成,每个抽样分组包括具有相似性的一个或多个已存储文件的抽样指纹。相似分组为所述分组抽样库中与所述待存储文件的指纹抽样表中的抽样指纹相匹配的一个抽样分组。除了分组抽样库之外,本实施例中还设置有一个指纹库,该指纹库由至少一个指纹分组构成。各指纹分组与分组抽样库中的各抽样分组一一对应,指纹分组中保存的指纹为经过重复数据删除处理之后的已存储文件的指纹,即分组抽样库的每个抽样分组中保存的是具有相似性的各存储文件的抽样指纹,而指纹库的每个指纹分组中保存的是这些存储文件经过重复数据删除后的所有指纹。若本步骤处理的待存储文件为第一个文件,则此时的分组抽样库为空。本步骤具体可以为通过对指纹抽样表中的各指纹与当前的分组抽样库进行匹配处理,通过匹配从分组抽样库中获取一个与待存储文件的抽样指纹相匹配的抽样分组,即获取该待存储文件所属的相似分组。
步骤304,根据指纹库中与所述相似分组对应的指纹分组中的指纹数据,对所述待存储文件进行重复数据删除。
在通过上述步骤确定了待存储文件在当前的分组抽样库中所属的相似分组后,由于分组抽样库中的抽样分组与指纹库中的指纹分组存在一一对应关系,则根据确定的该相似分组在指纹库中确定与其对应的指纹分组,根据确定的该指纹分组中的指纹数据,对待存储文件进行重复数据删除处理。具体的删除方法可以与现有技术中类似,即将计算得到的待存储文件的各分块的指纹与该确定的相似分组对应的指纹分组中保存的指纹相匹配。若相似分组对应的指纹分组中已保存有与一个分块相同或相似的指纹时,则删除该分块的数据;若相似分组对应的指纹分组中没有与一个分块相同或相似的指纹时,则将该分块的数据进行存储。由此可见,本实施例将重复数据删除过程中查询匹配的指纹从指纹库缩小到指纹库中的一个指纹分组,大大减少了查询匹配的计算量。
本实施例提供了一种重复数据删除方法,通过对待存储文件进行分块处理,计算各分块的指纹,对各分块的指纹进行抽样处理,根据生成的指纹抽样表和分组抽样库确定该待存储文件在分组抽样库中所属的相似分组,并根据指纹库中与所述相似分组对应的指纹分组中的指纹数据,对该待存储文件进行重复数据删除处理;本实施例对各分块的指纹进行进一步抽样处理,先通过相似性分析确定相似分组,再在相似分组对应的指纹分组中进行重复数据删除处理,缩小了去重的查询计算量,解决了现有技术中重删时海量分块数据引入的计算量和资源消耗巨大的问题,缩减了重复数据删除中去重的计算量,提升了重删性能。
图4为本发明重复数据删除方法实施例二的流程图,如图4所示,本实施例提供了一种重复数据删除方法,可以具体包括如下步骤:
步骤401,对待存储文件进行分块处理,并计算分块处理结果中各分块的指纹,本步骤可以与上述步骤301类似,此处不再赘述。
步骤402,根据待存储文件的文件特征确定抽样因子。
在对待存储文件进行分块,并计算得到各分块的指纹后,本实施例对各分块的指纹进行抽样,本步骤为确定抽样所使用的抽样因子。具体地,本步骤根据待存储文件的文件特征确定抽样因子,此处的待存储文件的文件特征可以为待存储文件的文件规模、分块数量等,不同待存储文件所确定的抽样因子可能不同。例如,当待存储文件的分块数量大于100万时,确定该待存储文件的抽样因子为0xFFF;当待存储文件的分块数量小于100万且大于10万时,确定该待存储文件的抽样因子为0x3FF;当待存储文件的分块数量小于10万且大于1万时,确定该待存储文件的抽样因子为0x2FF;当待存储文件的分块数量小于1万时,确定该待存储文件的抽样因子为0x3F。
步骤403,根据设定的抽样条件,利用抽样因子对待存储文件的所有分块的指纹进行抽样处理。
在对各分块的指纹进行抽样时,可以根据设定的抽样条件,利用抽样因子来进行抽样。例如,可以将各分块的指纹与抽样因子执行相与的操作,判断结果是否为0,如果为0,则符合设定的抽样条件。
步骤404,将抽样结果中的各分块的指纹加入待存储文件的指纹抽样表中。
通过上述步骤的抽样过程,分别得到各分块对应的抽样结果,将符合抽样条件的抽样结果所对应的分块的指纹,加入该待存储文件的指纹抽样表中。例如,可以将与抽样因子相与后结果为0的分块的指纹加入到指纹抽样表中,其余的可以保留在指纹原始保存的数据库中,从而形成了该待存储文件的指纹抽样表。
步骤405,判断待存储文件的指纹抽样表是否为空,如果是,则执行步骤406,否则执行步骤407。
在获取到待存储文件的指纹抽样表后,根据该指纹抽样表和当前的分组抽样库,对该待存储文件进行匹配并分组存储处理。本步骤为先判断该待存储文件的指纹抽样表是否为空,即判断上述抽样过程是否得到满足抽样条件的指纹,如果是,则执行步骤406,否则执行步骤407。
步骤406,确定所述待存储文件在分组抽样库中所属的相似分组为分组抽样库中的预设分组,并执行步骤411。
当待存储文件的指纹抽样表为空时,表明上述抽样过程得到的抽样结果均不满足抽样条件,即该待存储文件中不存在满足抽样条件的块,则确定所述待存储文件在当前的分组抽样库中所属的相似分组为当前的分组抽样库中的预设分组,本实施例的相似性分析过程结束,并执行后续步骤411,在指纹库中与该预设分组对应的指纹分组中对待存储文件进行重复数据删除处理。该预设分组为本实施例预先设定的一个分组,没有特定的含义,该预设分组可以为空,其与指纹库中一个特定的指纹分组相对应,该特定的指纹分组中保存的是这些抽样后指纹抽样表为空的待存储文件的指纹。在实际抽样过程中,存在抽样后指纹抽样表为空的特殊情况,此处仅是对这种特殊情况下的处理进行说明,避免因出现这种特殊情况而导致整个流程中断。
步骤407,将指纹抽样表中的各指纹与分组抽样库进行匹配处理。
当待存储文件的指纹抽样表不为空时,表明上述抽样过程得到了满足抽样条件的抽样结果,对保存在指纹抽样表中的满足抽样条件的指纹进行匹配处理,具体为将指纹抽样表中的各指纹与当前的分组抽样库进行匹配处理。在分组抽样库中的指纹以分组的形式保存,各分组中的指纹为具有一定相似性的一个或多个文件的抽样后的指纹。本步骤为以当前的分组抽样库中的各分组为单位,将指纹抽样表中的指纹与分组抽样库中的各分组中的指纹逐个进行比较,可以得到各分组对应的匹配结果,该匹配结果为指纹抽样表中的指纹与对应分组中指纹的相似度,例如相似度可以为与对应分组中的指纹相同或相似的指纹数占指纹抽样表中指纹总数的比例。
步骤408,判断分组抽样库的容量是否已达到容量上限,如果是,则执行步骤409,否则执行步骤410。
本步骤为判断当前的分组抽样库的容量是否已达到容量上限,如图5所示为本发明重复数据删除方法实施例二中分组抽样库的结构示意图,即判断该分组抽样库是否已满库,如果是,则执行步骤409,否则执行步骤410。
步骤409,确定所述待存储文件在分组抽样库中所属的相似分组为,分组抽样库中与所述指纹抽样表中的各指纹相似度最高的分组。
在本实施例中,若当前的分组抽样库的容量已达到容量上限时,则从匹配结果中获取当前的分组抽样库中与所述指纹抽样表中的各指纹相似度最高的分组,确定所述待存储文件在当前的分组抽样库中所属的相似分组为,当前的分组抽样库中与所述指纹抽样表中的各指纹相似度最高的分组,并执行步骤411。
步骤410,根据指纹抽样表中的各指纹与分组抽样库中各指纹分组的指纹相似度,确定所述待存储文件在分组抽样库中所属的相似分组。
通过对指纹抽样表中的各指纹与当前的分组抽样库中各分组的逐一匹配,根据指纹抽样表中的各指纹与当前的分组抽样库中各指纹分组的指纹相似度,确定所述待存储文件在所述当前的分组抽样库中所属的相似分组。具体地,当指纹抽样表中的各指纹与当前的分组抽样库中的一个抽样分组的指纹相似度大于或等于预设的相似度阈值时,则认为该待存储文件属于该抽样分组,直接确定所述待存储文件在所述当前的分组抽样库中所属的相似分组为所述抽样分组,并执行步骤411。在本实施例中,在进行指纹匹配时,当出现第一个满足上述相似度条件的抽样分组时,便将该抽样分组作为相似性分析选中的相似分组,不再进行后续与其他抽样分组的匹配过程,则可以减少相似性分析算法的计算量,也提升了相似性分析算法的性能。当指纹抽样表中的各指纹与当前的分组抽样库中的所有分组的指纹相似度均小于预设的相似度阈值时,则表明该待存储文件不属于当前的分组抽样库中的任何分组,则在当前的分组抽样库中建立一个新建分组,确定待存储文件在所述当前的分组抽样库中所属的相似分组为所述新建分组,并将所述待存储文件的指纹抽样表中的指纹保存到新建分组中,并执行步骤411。在本实施例中,通过逐个匹配各个分组的指纹,当出现第一个满足相似度阈值的分组时,则将该分组作为相似性分析选中的分组,无需再对后续的分组进行匹配,可见,本实施例明显减少了相似性分析算法的计算量。
进一步地,在本实施例中,当待存储文件为待存储的第一个文件时,根据指纹抽样表和当前的分组抽样库确定所述待存储文件在所述当前的分组抽样库中所属的相似分组:在当前的分组抽样库中建立一个新建分组,确定所述待存储文件在所述当前的分组抽样库中所属的相似分组为所述新建分组,并将所述待存储文件的指纹抽样表中的指纹保存到所述新建分组中。
步骤411,根据指纹库中与相似分组对应的指纹分组中的指纹数据,对所述待存储文件进行重复数据删除。
在通过上述步骤确定了待存储文件在当前的分组抽样库中所属的相似分组后,根据指纹库中与相似分组对应的指纹分组中的指纹数据,对待存储文件进行重复数据删除处理。具体的删除方法可以与现有技术中类似,即将计算得到的待存储文件的各分块的指纹与该相似分组对应的指纹分组中保存的指纹相匹配。若相似分组对应的指纹分组中已保存有与一个分块相同或相似的指纹时,则删除该分块的数据;若相似分组对应的指纹分组中没有与一个分块相同或相似的指纹时,则将该分块的数据进行存储。由此可见,本实施例将重复数据删除过程中查询匹配的指纹范围从整个指纹库缩小到指纹库中的一个指纹分组,大大减少了查询匹配的计算量。
本实施例提供了一种重复数据删除方法,通过对待存储文件进行分块处理,并计算各分块的指纹,利用抽样因子对指纹进行抽样处理,根据生成的指纹抽样表和当前的分组抽样库确定该待存储文件在当前的分组抽样库中所属的相似分组,并根据指纹库中与所述相似分组对应的指纹分组中的指纹数据,对该待存储文件进行重复数据删除处理;本实施例对各分块的指纹进行进一步抽样处理,先通过相似性分析确定相似分组,再在相似分组对应的指纹分组中进行重复数据删除处理,缩小了去重的查询计算量,解决了现有技术中重删时海量分块数据引入的计算量和资源消耗巨大的问题,缩减了重复数据删除中去重的计算量,提升了重删性能。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
图6为本发明重复数据删除装置实施例一的结构图,如图6所示,本实施例提供了一种重复数据删除装置,可以具体执行上述方法实施例一中的各个步骤,此处不再赘述。本实施例提供的重复数据删除装置可以具体包括分块模块601、抽样模块602、分组模块603和重复数据删除模块604。其中,分块模块601用于对待存储文件进行分块处理,计算分块处理结果中各分块的指纹。抽样模块602用于对所述各分块的指纹进行抽样处理,并根据抽取到的指纹生成所述待存储文件的指纹抽样表。分组模块603用于根据指纹抽样表和分组抽样库,确定所述待存储文件在分组抽样库中所属的相似分组。重复数据删除模块604用于根据指纹库中与所述相似分组对应的指纹分组中的指纹数据,对所述待存储文件进行重复数据删除。其中,所述分组抽样库由至少一个抽样分组构成,所述指纹库由至少一个指纹分组构成,所述分组抽样库中的各抽样分组与所述指纹库中的各指纹分组一一对应,所述相似分组为所述分组抽样库中与所述待存储文件的指纹抽样表中的抽样指纹相匹配的一个抽样分组
图7为本发明重复数据删除装置实施例二的结构图,如图7所示,本实施例提供了一种重复数据删除装置,可以具体执行上述方法实施例二中的各个步骤,此处不再赘述。本实施例提供的重复数据删除装置在上述图6所示的基础之上,抽样模块602可以具体包括确定单元612、抽样单元622和生成单元632。其中,确定单元612用于根据待存储文件的文件特征,确定抽样因子,所述文件特征包括所述待存储文件的文件规模和分块数量。抽样单元622用于根据设定的抽样条件,利用所述抽样因子对所述待存储文件的所有分块的指纹进行抽样处理。生成单元632用于将抽样结果中的各分块的指纹加入所述待存储文件的指纹抽样表中。
具体地,本实施例中的分组模块603可以具体包括第一分组单元613、匹配单元623和第二分组单元633。其中,第一分组单元613用于当所述指纹抽样表为空时,确定所述待存储文件在所述分组抽样库中所属的相似分组为分组抽样库中的预设分组。匹配单元623用于当所述指纹抽样表不为空时,将所述指纹抽样表中的各指纹与分组抽样库进行匹配处理。第二分组单元633用于根据匹配结果,确定所述待存储文件在所述分组抽样库中所属的相似分组。
进一步地,本实施例中的第二分组单元633可以具体包括第一分组子单元6331、第二分组子单元6332和第三分组子单元6333。其中,第一分组子单元6331用于若所述分组抽样库的容量已达到容量上限,确定所述待存储文件在分组抽样库中所属的相似分组为,所述分组抽样库中与所述指纹抽样表中的各指纹相似度最高的分组。第二分组子单元6332用于若所述分组抽样库的容量未达到容量上限,且当所述指纹抽样表中的各指纹与所述分组抽样库中的一个抽样分组的指纹相似度大于或等于预设的相似度阈值时,确定所述待存储文件在分组抽样库中所属的相似分组为所述抽样分组。第三分组子单元6333用于若所述分组抽样库的容量未达到容量上限,且当所述指纹抽样表中的各指纹与所述分组抽样库中的所有分组的指纹相似度均小于预设的相似度阈值时,在所述分组抽样库中建立一个新建分组,确定所述待存储文件在分组抽样库中所属的相似分组为所述新建分组,并将所述待存储文件的指纹抽样表中的指纹保存到所述新建分组中。
具体地,当所述待存储文件为待存储的第一个文件时,本实施例中的分组模块603还可以具体用于在所述分组抽样库中建立一个新建分组,确定所述待存储文件在分组抽样库中所属的相似分组为所述新建分组,并将所述待存储文件的指纹抽样表中的指纹保存到所述新建分组中。
本实施例提供了一种重复数据删除装置,通过对待存储文件进行分块处理,计算各分块的指纹,对指纹进行抽样处理;根据生成的指纹抽样表和分组抽样库,确定该待存储文件在分组抽样库中所属的相似分组;并根据指纹库中与所述相似分组对应的指纹分组中的指纹数据,对该待存储文件进行重复数据删除处理;本实施例对各分块的指纹进行进一步抽样处理,先通过相似性分析确定相似分组,再在相似分组对应的指纹分组中进行重复数据删除处理,缩小了去重的查询计算量,解决了现有技术中重删时海量分块数据引入的计算量和资源消耗巨大的问题,缩减了重复数据删除中去重的计算量,提升了重删性能。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (10)
1.一种重复数据删除方法,其特征在于,包括:
对待存储文件进行分块处理,计算分块处理结果中各分块的指纹;
对所述各分块的指纹进行抽样处理,并根据抽取到的指纹生成所述待存储文件的指纹抽样表;
根据指纹抽样表和分组抽样库,确定所述待存储文件在所述分组抽样库中所属的相似分组;
根据指纹库中与所述相似分组对应的指纹分组中的指纹数据,对所述待存储文件进行重复数据删除;
其中,所述分组抽样库由至少一个抽样分组构成,所述指纹库由至少一个指纹分组构成,所述分组抽样库中的各抽样分组与所述指纹库中的各指纹分组一一对应,所述相似分组为所述分组抽样库中与所述待存储文件的指纹抽样表中的抽样指纹相匹配的一个抽样分组。
2.根据权利要求1所述的方法,其特征在于,所述对所述各分块的指纹进行抽样处理,并根据抽取到的指纹生成所述待存储文件的指纹抽样表,包括:
根据所述待存储文件的文件特征,确定抽样因子,所述文件特征包括所述待存储文件的文件规模和分块数量;
根据设定的抽样条件,利用所述抽样因子对所述待存储文件的所有分块的指纹进行抽样处理;
将抽样结果中的各分块的指纹加入所述待存储文件的指纹抽样表中。
3.根据权利要求1或2所述的方法,其特征在于,所述根据指纹抽样表和分组抽样库,确定所述待存储文件在所述分组抽样库中所属的相似分组,包括:
当所述指纹抽样表为空时,确定所述待存储文件在所述分组抽样库中所属的相似分组为分组抽样库中的预设分组;
当所述指纹抽样表不为空时,将所述指纹抽样表中的各指纹与分组抽样库进行匹配处理;根据匹配结果,确定所述待存储文件在所述分组抽样库中所属的相似分组。
4.根据权利要求3所述的方法,其特征在于,所述根据匹配结果,确定所述待存储文件在所述分组抽样库中所属的相似分组,包括:
若所述分组抽样库的容量已达到容量上限,确定所述待存储文件在所述分组抽样库中所属的相似分组为,所述分组抽样库中与所述指纹抽样表中的各指纹相似度最高的分组;
若所述分组抽样库的容量未达到容量上限,且当所述指纹抽样表中的各指纹与所述分组抽样库中一个抽样分组的指纹相似度大于或等于预设的相似度阈值时,确定所述待存储文件在所述分组抽样库中所属的相似分组为所述抽样分组;
若所述分组抽样库的容量未达到容量上限,且当所述指纹抽样表中的各指纹与所述分组抽样库中的所有分组的指纹相似度均小于预设的相似度阈值时,在所述分组抽样库中建立一个新建分组,确定所述待存储文件在所述分组抽样库中所属的相似分组为所述新建分组,并将所述待存储文件的指纹抽样表中的指纹保存到所述新建分组中。
5.根据权利要求1所述的方法,其特征在于,当所述待存储文件为待存储的第一个文件时,所述根据指纹抽样表和分组抽样库,确定所述待存储文件在所述分组抽样库中所属的相似分组,具体为:
在所述分组抽样库中建立一个新建分组,确定所述待存储文件在所述分组抽样库中所属的相似分组为所述新建分组,并将所述待存储文件的指纹抽样表中的指纹保存到所述新建分组中。
6.一种重复数据删除装置,其特征在于,包括:
分块模块,用于对待存储文件进行分块处理,计算分块处理结果中各分块的指纹;
抽样模块,用于对所述各分块的指纹进行抽样处理,并根据抽取到的指纹生成所述待存储文件的指纹抽样表;
分组模块,用于根据指纹抽样表和分组抽样库,确定所述待存储文件在所述分组抽样库中所属的相似分组;
重复数据删除模块,用于根据指纹库中与所述相似分组对应的指纹分组中的指纹数据,对所述待存储文件进行重复数据删除;
其中,所述分组抽样库由至少一个抽样分组构成,所述指纹库由至少一个指纹分组构成,所述分组抽样库中的各抽样分组与所述指纹库中的各指纹分组一一对应,所述相似分组为所述分组抽样库中与所述待存储文件的指纹抽样表中的抽样指纹相匹配的一个抽样分组。
7.根据权利要求6所述的装置,其特征在于,所述抽样模块包括:
确定单元,用于根据所述待存储文件的文件特征,确定抽样因子,所述文件特征包括所述待存储文件的文件规模和分块数量;
抽样单元,用于根据设定的抽样条件,利用所述抽样因子对所述待存储文件的所有分块的指纹进行抽样处理;
生成单元,用于将抽样结果中的各分块的指纹加入所述待存储文件的指纹抽样表中。
8.根据权利要求6或7所述的装置,其特征在于,所述分组模块包括:
第一分组单元,用于当所述指纹抽样表为空时,确定所述待存储文件在所述分组抽样库中所属的相似分组为分组抽样库中的预设分组;
匹配单元,用于当所述指纹抽样表不为空时,将所述指纹抽样表中的各指纹与分组抽样库进行匹配处理;
第二分组单元,用于根据所述匹配单元的匹配结果,确定所述待存储文件在所述分组抽样库中所属的相似分组。
9.根据权利要求8所述的装置,其特征在于,所述第二分组单元包括:
第一分组子单元,用于若所述分组抽样库的容量已达到容量上限,确定所述待存储文件在所述分组抽样库中所属的相似分组为,所述分组抽样库中与所述指纹抽样表中的各指纹相似度最高的分组;
第二分组子单元,用于若所述分组抽样库的容量未达到容量上限,且当所述指纹抽样表中的各指纹与所述分组抽样库中的一个抽样分组的指纹相似度大于或等于预设的相似度阈值时,确定所述待存储文件在所述分组抽样库中所属的相似分组为所述抽样分组;
第三分组子单元,用于若所述分组抽样库的容量未达到容量上限,且当所述指纹抽样表中的各指纹与所述分组抽样库中的所有分组的指纹相似度均小于预设的相似度阈值时,在所述分组抽样库中建立一个新建分组,确定所述待存储文件在所述分组抽样库中所属的相似分组为所述新建分组,并将所述待存储文件的指纹抽样表中的指纹保存到所述新建分组中。
10.根据权利要求6所述的装置,其特征在于,当所述待存储文件为待存储的第一个文件时,所述分组模块具体用于在所述分组抽样库中建立一个新建分组,确定所述待存储文件在所述分组抽样库中所属的相似分组为所述新建分组,并将所述待存储文件的指纹抽样表中的指纹保存到所述新建分组中。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110380773.3A CN103150260B (zh) | 2011-11-25 | 2011-11-25 | 重复数据删除方法和装置 |
PCT/CN2012/085278 WO2013075668A1 (zh) | 2011-11-25 | 2012-11-26 | 重复数据删除方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110380773.3A CN103150260B (zh) | 2011-11-25 | 2011-11-25 | 重复数据删除方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103150260A true CN103150260A (zh) | 2013-06-12 |
CN103150260B CN103150260B (zh) | 2016-06-08 |
Family
ID=48469137
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110380773.3A Active CN103150260B (zh) | 2011-11-25 | 2011-11-25 | 重复数据删除方法和装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN103150260B (zh) |
WO (1) | WO2013075668A1 (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103631933A (zh) * | 2013-12-06 | 2014-03-12 | 中国科学院计算技术研究所 | 一种面向分布式去重***的数据路由方法 |
CN103930890A (zh) * | 2013-10-30 | 2014-07-16 | 华为技术有限公司 | 数据处理方法、装置及重删处理器 |
CN103995863A (zh) * | 2014-05-19 | 2014-08-20 | 华为技术有限公司 | 一种重复数据删除的方法及装置 |
CN104205097A (zh) * | 2013-12-31 | 2014-12-10 | 华为技术有限公司 | 一种去重方法装置与*** |
CN106409317A (zh) * | 2016-09-29 | 2017-02-15 | 北京小米移动软件有限公司 | 梦话提取方法、装置及用于提取梦话的装置 |
CN107451204A (zh) * | 2017-07-10 | 2017-12-08 | 阿里巴巴集团控股有限公司 | 一种数据查询方法、装置及设备 |
WO2017214793A1 (zh) * | 2016-06-13 | 2017-12-21 | 北京小米移动软件有限公司 | 指纹模板生成方法及装置 |
CN108280628A (zh) * | 2018-02-01 | 2018-07-13 | 泰康保险集团股份有限公司 | 基于区块链技术的核赔方法、装置、介质及电子设备 |
CN111488269A (zh) * | 2019-01-29 | 2020-08-04 | 阿里巴巴集团控股有限公司 | 数据仓库的指标检测方法、装置和*** |
CN116991329A (zh) * | 2023-09-25 | 2023-11-03 | 深圳市明泰智能技术有限公司 | 一种自助服务终端设备的数据防冗余方法和*** |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110941605B (zh) * | 2019-11-07 | 2022-07-08 | 北京浪潮数据技术有限公司 | 重复数据的在线删除方法、装置及可读存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008062145A1 (en) * | 2006-11-22 | 2008-05-29 | Half Minute Media Limited | Creating fingerprints |
CN101374234A (zh) * | 2008-09-25 | 2009-02-25 | 清华大学 | 一种基于内容的视频拷贝监测方法及装置 |
CN102214210A (zh) * | 2011-05-16 | 2011-10-12 | 成都市华为赛门铁克科技有限公司 | 重复数据处理方法、装置和*** |
CN102222085A (zh) * | 2011-05-17 | 2011-10-19 | 华中科技大学 | 一种基于相似性与局部性结合的重复数据删除方法 |
-
2011
- 2011-11-25 CN CN201110380773.3A patent/CN103150260B/zh active Active
-
2012
- 2012-11-26 WO PCT/CN2012/085278 patent/WO2013075668A1/zh active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008062145A1 (en) * | 2006-11-22 | 2008-05-29 | Half Minute Media Limited | Creating fingerprints |
CN101374234A (zh) * | 2008-09-25 | 2009-02-25 | 清华大学 | 一种基于内容的视频拷贝监测方法及装置 |
CN102214210A (zh) * | 2011-05-16 | 2011-10-12 | 成都市华为赛门铁克科技有限公司 | 重复数据处理方法、装置和*** |
CN102222085A (zh) * | 2011-05-17 | 2011-10-19 | 华中科技大学 | 一种基于相似性与局部性结合的重复数据删除方法 |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015061995A1 (zh) * | 2013-10-30 | 2015-05-07 | 华为技术有限公司 | 数据处理方法、装置及重删处理器 |
CN103930890A (zh) * | 2013-10-30 | 2014-07-16 | 华为技术有限公司 | 数据处理方法、装置及重删处理器 |
CN103930890B (zh) * | 2013-10-30 | 2015-09-23 | 华为技术有限公司 | 数据处理方法、装置及重删处理器 |
CN103631933A (zh) * | 2013-12-06 | 2014-03-12 | 中国科学院计算技术研究所 | 一种面向分布式去重***的数据路由方法 |
CN104205097B (zh) * | 2013-12-31 | 2017-08-25 | 华为技术有限公司 | 一种去重方法装置与*** |
WO2015100639A1 (zh) * | 2013-12-31 | 2015-07-09 | 华为技术有限公司 | 一种去重方法装置与*** |
CN104205097A (zh) * | 2013-12-31 | 2014-12-10 | 华为技术有限公司 | 一种去重方法装置与*** |
CN103995863B (zh) * | 2014-05-19 | 2018-06-19 | 华为技术有限公司 | 一种重复数据删除的方法及装置 |
CN103995863A (zh) * | 2014-05-19 | 2014-08-20 | 华为技术有限公司 | 一种重复数据删除的方法及装置 |
WO2017214793A1 (zh) * | 2016-06-13 | 2017-12-21 | 北京小米移动软件有限公司 | 指纹模板生成方法及装置 |
CN106409317A (zh) * | 2016-09-29 | 2017-02-15 | 北京小米移动软件有限公司 | 梦话提取方法、装置及用于提取梦话的装置 |
CN106409317B (zh) * | 2016-09-29 | 2020-02-07 | 北京小米移动软件有限公司 | 梦话提取方法、装置及用于提取梦话的装置 |
CN107451204A (zh) * | 2017-07-10 | 2017-12-08 | 阿里巴巴集团控股有限公司 | 一种数据查询方法、装置及设备 |
CN108280628A (zh) * | 2018-02-01 | 2018-07-13 | 泰康保险集团股份有限公司 | 基于区块链技术的核赔方法、装置、介质及电子设备 |
CN111488269A (zh) * | 2019-01-29 | 2020-08-04 | 阿里巴巴集团控股有限公司 | 数据仓库的指标检测方法、装置和*** |
CN111488269B (zh) * | 2019-01-29 | 2023-11-14 | 阿里巴巴集团控股有限公司 | 数据仓库的指标检测方法、装置和*** |
CN116991329A (zh) * | 2023-09-25 | 2023-11-03 | 深圳市明泰智能技术有限公司 | 一种自助服务终端设备的数据防冗余方法和*** |
CN116991329B (zh) * | 2023-09-25 | 2023-12-08 | 深圳市明泰智能技术有限公司 | 一种自助服务终端设备的数据防冗余方法和*** |
Also Published As
Publication number | Publication date |
---|---|
CN103150260B (zh) | 2016-06-08 |
WO2013075668A1 (zh) | 2013-05-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103150260A (zh) | 重复数据删除方法和装置 | |
US20180196609A1 (en) | Data Deduplication Using Multi-Chunk Predictive Encoding | |
US9851917B2 (en) | Method for de-duplicating data and apparatus therefor | |
US11068405B2 (en) | Compression of host I/O data in a storage processor of a data storage system with selection of data compression components based on a current fullness level of a persistent cache | |
US10936228B2 (en) | Providing data deduplication in a data storage system with parallelized computation of crypto-digests for blocks of host I/O data | |
KR20170054299A (ko) | 메모리 관리 시의 중복 제거를 위해서 기준 세트로 기준 블록을 취합하는 기법 | |
WO2014037767A1 (en) | Multi-level inline data deduplication | |
CN105468642A (zh) | 数据的存储方法及装置 | |
US10678480B1 (en) | Dynamic adjustment of a process scheduler in a data storage system based on loading of the data storage system during a preceding sampling time period | |
US9959049B1 (en) | Aggregated background processing in a data storage system to improve system resource utilization | |
US20190065519A1 (en) | Information processing apparatus, information processing method, and recording medium | |
CN105511812A (zh) | 一种存储***大数据优化方法及装置 | |
KR20130087850A (ko) | 데이터 디듀플리케이션 시스템 및 그 방법 | |
CN110618974A (zh) | 一种数据存储方法、装置、设备及存储介质 | |
CN112104725A (zh) | 容器镜像去重方法、***、计算机设备及存储介质 | |
KR101990329B1 (ko) | 로그 데이터 분석을 이용한 데이터베이스 복구 속도 향상 기법 및 장치 | |
JP2023510134A (ja) | スケッチ計算のためのシステムおよび方法 | |
Kumar et al. | Bucket based data deduplication technique for big data storage system | |
KR20150035876A (ko) | 데이터 중복 제거 방법 및 장치 | |
Yu et al. | Pdfs: Partially dedupped file system for primary workloads | |
WO2021082926A1 (zh) | 一种数据压缩的方法及装置 | |
EP2859453A1 (en) | Replacing a chunk of data with a reference to a location | |
US9571698B1 (en) | Method and system for dynamic compression module selection | |
CN109658985B (zh) | 一种基因参考序列的去冗余优化方法及*** | |
CN107783990B (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 | ||
TR01 | Transfer of patent right |
Effective date of registration: 20220822 Address after: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen Patentee after: HUAWEI TECHNOLOGIES Co.,Ltd. Address before: 611731 Qingshui River District, Chengdu hi tech Zone, Sichuan, China Patentee before: HUAWEI DIGITAL TECHNOLOGIES (CHENG DU) Co.,Ltd. |
|
TR01 | Transfer of patent right |