CN111835361A - 一种数据相似性检测方法、装置、电子设备和存储介质 - Google Patents

一种数据相似性检测方法、装置、电子设备和存储介质 Download PDF

Info

Publication number
CN111835361A
CN111835361A CN202010689825.4A CN202010689825A CN111835361A CN 111835361 A CN111835361 A CN 111835361A CN 202010689825 A CN202010689825 A CN 202010689825A CN 111835361 A CN111835361 A CN 111835361A
Authority
CN
China
Prior art keywords
data
features
data block
super
local
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
CN202010689825.4A
Other languages
English (en)
Other versions
CN111835361B (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.)
Nanjing University of Aeronautics and Astronautics
State Grid Corp of China SGCC
State Grid Shanghai Electric Power Co Ltd
Original Assignee
Nanjing University of Aeronautics and Astronautics
State Grid Corp of China SGCC
State Grid Shanghai Electric Power Co Ltd
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 Nanjing University of Aeronautics and Astronautics, State Grid Corp of China SGCC, State Grid Shanghai Electric Power Co Ltd filed Critical Nanjing University of Aeronautics and Astronautics
Priority to CN202010689825.4A priority Critical patent/CN111835361B/zh
Publication of CN111835361A publication Critical patent/CN111835361A/zh
Application granted granted Critical
Publication of CN111835361B publication Critical patent/CN111835361B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种数据相似性检测方法、装置、电子设备和存储介质,所述方法包括:将原始数据划分为若干个具有预设级别的数据块;将每一所述数据块划分为若干个子数据块;对每一所述子数据块进行特征提取,以获取每一所述子数据块对应的局部特征;将每一所述数据块的所有所述局部特征划分为若干组;构建每一组的超级特征;对所有所述超级特征进行对比,以得到所有所述数据块间的相似性检测结果。本发明有效地降低了数据块局部特征提取的计算开销和时间开销,极大地提高了数据相似性检测的效率和精确度,进而提高了数据增量压缩的效率。

Description

一种数据相似性检测方法、装置、电子设备和存储介质
技术领域
本发明涉及数据压缩领域,尤其涉及一种数据相似性检测方法、装置、电子设备和存储介质。
背景技术
云计算、大数据和人工智能技术的快速发展,对海量数据的存储、传输及备份问题提出了新的挑战。数据规模的快速增长对数据存储技术提出了更高的要求,也使得海量数据的存储、传输和备份成为当前的研究热点之一。
数据压缩作为一种能够减少数据存储规模的技术在数据存储、文件传输及容灾备份系统中的应用受到越来越多的关注。用于减少和消除非重复但却高度相似数据块之间数据冗余的增量压缩技术是数据压缩中较为流行的一种技术。增量压缩可以最大化地减少压缩损失,因此被广泛使用在数据库存储和迁移压缩中。
通常增量压缩利用数据相似性检测技术实现对于数据的压缩。数据相似性检测通常需要对数据进行划分,根据数据块的大小可将增量压缩划分为整文件检测技术和数据块检测技术。就整文件检测技术而言,其数据相似性检测以文件为基本单位,检测粒度过粗,不能很好地检测出文件内部的相似性数据。而数据块检测技术常用的方法是需要先获取数据块的特征,然后根据数据块的特征进行相似性检测。但在数据块特征提取时,已有方法大多存在特征提取过程复杂、计算开销大等问题,影响数据相似性检测的效率,进而降低增量压缩的执行效率。
发明内容
本发明的目的在于提供一种数据相似性检测方法、装置、电子设备和存储介质,以解决数据相似性检测过程中存在的特征提取耗时长及检测效率低等问题。
为了达到上述目的,本发明通过以下技术方案实现:
一种数据相似性检测方法,包括:
将原始数据划分为若干个具有预设级别的数据块。
将每一所述数据块划分为若干个子数据块。
对每一所述子数据块进行特征提取,以获取每一所述子数据块对应的局部特征。
将每一所述数据块的所有所述局部特征划分为若干组。
构建每一组的超级特征。
对所有所述超级特征进行对比,以得到所有所述数据块间的相似性检测结果。
优选地,所述对每一所述子数据块进行特征提取的步骤中包括:采用改进的N-transform Super-Feature方法对每一所述局部特征进行提取。
优选地,所述改进的N-transform Super-Feature方法,其函数式表示如下:
Rabin指纹FP=RabinFunction(str,m*L/N+j)
其中,Rabin指纹FP为每一所述局部特征;str为所述数据块的内容;L为所述数据块的长度;N为所述数据块中所有所述子数据块的个数;m为每一所述子数据块的次序且0≤m≤N-1;j为所述数据块中的某一位置。
优选地,所述将每一所述数据块的所有所述局部特征划分为若干组的步骤包括:将每一所述数据块中奇数个连续的所述局部特征划分为一组。
优选地,所述构建每一组的超级特征的步骤包括:
从若干个所述数据块中任意选取两个数据块,两个所述数据块包括第一数据块和第二数据块;
所述第一数据块中的每一组局部特征与所述第二数据块中的每一组局部特征一一对应;
将所述第一数据块中每一组内的奇数个局部特征f1、f2、…、f2n-1与所述第二数据块中每一组内的奇数个局部特征F1、F2、…、F2n-1按原始顺序排列并构成对照组,且满足f1与F1相对照,f2与F2相对照,…,f2n-1与F2n-1相对照;
根据集成表决的思想,分别计算对照组内的局部特征f1与F1、f2与F2、…、f2n-1与F2n-1是否相同,并记录其相同的个数及相异的个数,以作为集成表决的结果;
根据集成表决的结果分别构建每一组的所述超级特征。
优选地,所述构建每一组的所述超级特征满足下列条件:如果对照组内的所述局部特征相同的个数大于相异的个数,则利用相同的所述局部特征分别构建所述第一数据块和所述第二数据块中每一组的所述超级特征;如果对照组内的所述局部特征相同的个数小于相异的个数,则利用相异的所述局部特征分别构建所述第一数据块和所述第二数据块中每一组的所述超级特征。
优选地,所述对所有所述超级特征进行对比的步骤包括:
所有所述数据块的所述超级特征皆按原始顺序排列;
采用集合间相似性检测方法对所有所述超级特征进行对比。
优选地,所述集合间相似性检测方法包括:
所述第一数据块中的所有所述超级特征构成第一集合,所述第二数据块中的所有所述超级特征构成第二集合;
计算所述第一集合和所述第二集合具有相同的最小哈希元素的概率;
所述具有相同的最小哈希元素的概率为所述第一集合和所述第二集合的相似系数。
优选地,所述相似系数表示所述数据块间的相似性,且满足下列条件:0≤相似系数≤1;相似系数越大,所述数据块间的相似性越高。
优选地,所述预设级别为大于0且小于所述原始数据大小的任意一级别。
另一方面,本发明还提供数据相似性检测装置,包括:
第一划分模块,用于将原始数据划分为若干个具有预设级别的数据块。
第二划分模块,用于将每一所述数据块划分为若干个子数据块。
局部特征提取模块,用于对每一所述子数据块进行特征提取,以获取每一所述子数据块对应的局部特征。
局部特征分组模块,用于将每一所述数据块的所有所述局部特征划分为若干组。
超级特征构建模块,用于构建每一组的超级特征。
相似性检测模块,用于对所有所述超级特征进行对比,以得到所有所述数据块间的相似性检测结果。
优选地,所述局部特征提取模块采用改进的N-transform Super-Feature方法对每一所述局部特征进行提取。
优选地,所述改进的N-transform Super-Feature方法,其函数式表示如下:
Rabin指纹FP=RabinFunction(str,m*L/N+j)
其中,Rabin指纹FP为每一所述局部特征;str为所述数据块的内容;L为所述数据块的长度;N为所述数据块中所有所述子数据块的个数;m为每一所述子数据块的次序且0≤m≤N-1;j为所述数据块中的某一位置。
优选地,所述局部特征分组模块将每一所述数据块中奇数个连续的所述局部特征划分为一组。
优选地,所述超级特征构建模块包括:
选取数据块单元,用于从若干个所述数据块中任意选取两个数据块,两个所述数据块包括第一数据块和第二数据块;所述第一数据块中的每一组局部特征与所述第二数据块中的每一组局部特征一一对应;
构造对照组单元,用于将所述第一数据块中每一组内的奇数个局部特征f1、f2、…、f2n-1与所述第二数据块中每一组内的奇数个局部特征F1、F2、…、F2n-1按原始顺序排列并构成对照组,且满足f1与F1相对照,f2与F2相对照,…,f2n-1与F2n-1相对照;
集成表决单元,用于根据集成表决的思想,分别计算对照组内的局部特征f1与F1、f2与F2、…、f2n-1与F2n-1是否相同,并记录其相同的个数及相异的个数,以作为集成表决的结果;
构造超级特征单元,用于根据集成表决的结果分别构建每一组的所述超级特征。
优选地,所述构建每一组的所述超级特征满足下列条件:如果对照组内的所述局部特征相同的个数大于相异的个数,则利用相同的所述局部特征分别构建所述第一数据块和所述第二数据块中每一组的所述超级特征;如果对照组内的所述局部特征相同的个数小于相异的个数,则利用相异的所述局部特征分别构建所述第一数据块和所述第二数据块中每一组的所述超级特征。
优选地,所述相似性检测模块具体用于将所有所述数据块的所述超级特征皆按原始顺序排列;采用集合间相似性检测方法对所有所述超级特征进行对比。
优选地,所述集合间相似性检测方法包括:
所述第一数据块中的所有所述超级特征构成第一集合,所述第二数据块中的所有所述超级特征构成第二集合;
计算所述第一集合和所述第二集合具有相同的最小哈希元素的概率;
所述具有相同的最小哈希元素的概率为所述第一集合和所述第二集合的相似系数。
优选地,所述相似系数表示所述数据块间的相似性,且满足下列条件:0≤相似系数≤1;相似系数越大,所述数据块间的相似性越高。
优选地,所述预设级别为大于0且小于所述原始数据大小的任意一级别。
本发明还提供一种电子设备,包括处理器和存储器,所述存储器上存储有计算机程序,所述计算机程序被所述处理器执行时,实现上文所述的数据相似性检测方法。
本发明还提供一种可读存储介质,所述可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时,实现上文所述的数据相似性检测方法。
本发明与现有技术相比至少具有以下优点之一:
本发明提供一种数据相似性检测方法、装置、电子设备和存储介质,通过改进的N-transform Super-Feature方法实现了对数据块的局部特征的快速提取,优化了数据块的局部特征提取的过程,极大地提高了数据相似性检测的效率和精确度。
本发明在对局部特征进行提取时不需要额外的转换操作,同时对局部特征进行分组时不需要对进行特定的排序和选择等操作,有效地降低了数据块局部特征提取的计算开销和时间开销。
本发明不仅在数据块相似性检测的精确度和速度方面具有明显的优越性,在增量压缩执行过程中的系统吞吐量方面也有很大优势,极大地提高了数据增量压缩的执行效率。
附图说明
图1是本发明一实施例提供的一种数据相似性检测方法的流程图;
图2是本发明一实施例提供的一种数据相似性检测方法的局部特征分组示意图;
图3是本发明一实施例提供的一种数据相似性检测方法的超级特征构建示意图;
图4是本发明一实施例提供的相似数据块间的局部特征关系示意图;
图5是本发明一实施例提供的一种数据相似性检测方法的相似性检测速度对比图;
图6是本发明一实施例提供的一种数据相似性检测方法的增量压缩过程中系统吞吐量对比图;
图7为本发明一实施例提供的一种数据相似性检测装置的方框结构示意图;
图8为本发明一实施例提供的一种电子设备的方框结构示意图。
具体实施方式
以下结合附图和具体实施方式对本发明提出的一种数据相似性检测方法、装置、电子设备和存储介质作进一步详细说明。根据下面说明,本发明的优点和特征将更清楚。需要说明的是,附图采用非常简化的形式且均使用非精准的比例,仅用以方便、明晰地辅助说明本发明实施方式的目的。为了使本发明的目的、特征和优点能够更加明显易懂,请参阅附图。须知,本说明书所附图式所绘示的结构、比例、大小等,均仅用以配合说明书所揭示的内容,以供熟悉此技术的人士了解与阅读,并非用以限定本发明实施的限定条件,故不具技术上的实质意义,任何结构的修饰、比例关系的改变或大小的调整,在不影响本发明所能产生的功效及所能达成的目的下,均应仍落在本发明所揭示的技术内容能涵盖的范围内。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本发明的核心思想在于提供一种数据相似性检测方法、装置、电子设备和存储介质,以解决数据相似性检测过程中存在的特征提取耗时长及检测效率低等问题。
需要说明的是,本发明实施例的数据相似性检测方法可应用于本发明实施例的数据相似性检测装置,该数据相似性检测装置可被配置于电子设备上,其中,该电子设备可以是个人计算机、移动终端等,该移动终端可以是手机、平板电脑等具有各种操作系统的硬件设备。
结合附图1~6所示,本实施例提供的一种数据相似性检测方法,包括:步骤S101、将原始数据划分为若干个具有预设级别的数据块;步骤S102、将每一所述数据块划分为若干个子数据块;步骤S103、对每一所述子数据块进行特征提取,以获取每一所述子数据块对应的局部特征;步骤S104、将每一所述数据块的所有所述局部特征划分为若干组;步骤S105、构建每一组的超级特征;步骤S106、对所有所述超级特征进行对比,以得到所有所述数据块间的相似性检测结果。
请继续参考图1,所述对每一所述子数据块进行特征提取的步骤S103中包括:采用改进的N-transform Super-Feature方法对每一所述局部特征进行提取。
可以理解的是,在一些其他的实施例中,所述改进的N-transform Super-Feature方法,其函数式表示如下:
Rabin指纹FP= RabinFunction(str, m*L/N+j) (1)
其中,Rabin指纹FP为每一所述局部特征;str为所述数据块的内容;L为所述数据块的长度;N为所述数据块中所有所述子数据块的个数;m为每一所述子数据块的次序且0≤m≤N-1;j为所述数据块中的某一位置。
具体的,每一个所述子数据块的大小相同且可以提取一个对应的所述局部特征。在对每一所述局部特征进行提取的过程中,所述改进的N-transform Super-Feature方法(简称“改进的SF方法”)中RabinFunction函数用于求解所述子数据块的数据指纹,并通过数据指纹计算所述子数据块的所述局部特征;改进的SF方法较之N-transform Super-Feature方法(简称“SF方法”)可以减少对指纹的转换过程,从而有效地降低提取所述局部特征过程的时间开销和计算开销,同时实现了对大小相同的所述子数据块的局部特征的提取,有利于后续步骤(如局部特征的分组、超级特征的构建)的进行。
在本实施例中,利用改进的SF方法提取所述局部特征的具体执行过程如表1中伪代码所示:
表1利用改进的SF方法对局部特征进行提取
Figure BDA0002588916510000071
Figure BDA0002588916510000081
请同时参考图1和图2,所述将每一所述数据块的所有所述局部特征划分为若干组的步骤S104包括:将每一所述数据块中奇数个连续的所述局部特征划分为一组。
具体的,本实施例中,将5个所述局部特征分为一组,以避免后续进行集成表决时出现相同票数的情况,但本发明不以此为限。
请同时参考图2和图3,所述构建每一组的超级特征的步骤S105包括:从若干个所述数据块中任意选取两个数据块,两个所述数据块包括第一数据块和第二数据块;所述第一数据块中的每一组局部特征与所述第二数据块中的每一组局部特征一一对应;将所述第一数据块中每一组内的奇数个局部特征f1、f2、…、f2n-1与所述第二数据块中每一组内的奇数个局部特征F1、F2、…、F2n-1按原始顺序排列并构成对照组,且满足f1与F1相对照,f2与F2相对照,…,f2n-1与F2n-1相对照;根据集成表决的思想,分别计算对照组内的局部特征f1与F1、f2与F2、…、f2n-1与F2n-1是否相同,并记录其相同的个数及相异的个数,以作为集成表决的结果;根据集成表决的结果分别构建每一组的所述超级特征。
可以理解的是,在一些其他实施例中,所述构建每一组的所述超级特征满足下列条件:如果对照组内的所述局部特征相同的个数大于相异的个数,则利用相同的所述局部特征分别构建所述第一数据块和所述第二数据块中每一组的所述超级特征;如果对照组内的所述局部特征相同的个数小于相异的个数,则利用相异的所述局部特征分别构建所述第一数据块和所述第二数据块中每一组的所述超级特征。
具体的,在本实施例中,从若干个所述数据块中任意选取数据块a和数据块b,并从所述数据块a的局部特征分组中选取分组A1,从所述数据块b的局部特征分组中选取分组B1。局部特征分组A1中包括5个局部特征f1、f2、f3、f4和f5,局部特征分组B1中包括5个局部特征F1、F2、F3、F4和F5;将所述局部特征分组A1中的5个局部特征与所述局部特征分组B1中的5个局部特征构成对照组,且对照关系如下:
f1 f2 f3 f4 f5
↓ ↓ ↓ ↓ ↓
F1 F2 F3 F4 F5
si表示对照组内所述局部特征分组A1中的5个局部特征和所述局部特征分组B1中的5个局部特征的相同或相异情况,且si的表达式如下:
Figure BDA0002588916510000091
对照组内局部特征相同的个数以Sum_same表示,对照组内局部特征不同的个数以Sum_diff表示,并且Sum_same和Sum_diff作为对照组内局部特征集成表决的结果;Sum_same和Sum_diff的表达式如下:
Figure BDA0002588916510000092
如果对照组集成表决的结果出现如图3所示第一种情况,即局部特征f1与局部特征F1相同,局部特征f2与局部特征F2相同,局部特征f3与局部特征F3相同,局部特征f5与局部特征F5相同,但局部特征f4与局部特征F4不同;此时对照组内的局部特征相同的个数(4个)大于相异的个数(1个),则利用相同的所述局部特征f1、f2、f3和f5以及F1、F2、F3和F5分别构建所述局部特征分组A1和所述局部特征分组B1的所述超级特征;构建的所述局部特征分组A1的超级特征SF(A1)=Rabin(f1,f2,f3,f5),所述局部特征分组B1的超级特征SF(B1)=Rabin(F1,F2,F3,F5),其中Rabin函数用于求解所述局部特征分组中所述局部特征的数据指纹,并通过数据指纹计算所述局部特征分组的所述超级特征。
如果对照组集成表决的结果出现如图3所示第二种情况,即局部特征f1与局部特征F1不同,局部特征f3与局部特征F3不同,局部特征f4与局部特征F4不同,局部特征f5与局部特征F5不同,但局部特征f2与局部特征F2相同;此时对照组内的局部特征相同的个数(1个)小于相异的个数(4个),则利用不同的所述局部特征f1、f3、f4和f5以及F1、F3、F4和F5分别构建所述局部特征分组A1和所述局部特征分组B1的所述超级特征;构建的所述局部特征分组A1的超级特征SF(A1)=Rabin(f1,f3,f4,f5),所述局部特征分组B1的超级特征SF(B1)=Rabin(F1,F3,F4,F5)。
请继续参考图1,所述对所有所述超级特征进行对比的步骤S106包括:所有所述数据块的所述超级特征皆按原始顺序排列;采用集合间相似性检测方法对所有所述超级特征进行对比。
可以理解的是,在一些其他实施例中,所述集合间相似性检测方法包括:所述第一数据块中的所有所述超级特征构成第一集合,所述第二数据块中的所有所述超级特征构成第二集合;计算所述第一集合和所述第二集合具有相同的最小哈希元素的概率;所述具有相同的最小哈希元素的概率为所述第一集合和所述第二集合的相似系数。
具体的,所述集合间相似性检测方法的公式如下所示:
Figure BDA0002588916510000101
其中J(C,D)表示集合C和集合D的相似系数;H是一个将集合C和集合D中的元素映射到一些不相交整数的哈希函数;H(C)和H(D)分别是集合C和集合D中的元素散列对应的哈希值的集合;min(S)表示整数集合S中最小的元素。
在本实施例中,所述第一集合由所述数据块a中的所有所述超级特征SF(A1)、SF(A2)、…、SF(Ax)构成,所述第二集合由所述数据块b中的所有所述超级特征SF(B1)、SF(B2)、…、SF(Bx)构成;通过公式(4)计算得到的J(第一集合,第二集合),即所述数据块a和所述数据块b之间的相似系数。
在一些实施例中,所述相似系数表示所述数据块间的相似性,且满足下列条件:0≤相似系数≤1;相似系数越大,所述数据块间的相似性越高。
具体的,如果所述数据块a和所述数据块b通过公式(4)计算得到的相似系数较大,则表示所述数据块a和所述数据块b之间相似性较高,可以对其中一个数据进行删除压缩,从而节省总体数据占用的空间。
在一些其他实施例中,所述预设级别为大于0且小于所述原始数据大小的任意一级别。
具体的,在本实施例的步骤S101中,预设级别为4KB级别,可以将原始数据划分为若干个4KB级别的数据块,但本发明不以此为限。
请参考图4,对于两个相似的数据块,它们的局部特征之间表现为按顺序的高度相似性,且相同或相似的局部特征明显多于差异特征,所以两个数据块之间的相似性可以通过它们局部特征之间的相似性来表示。在本实施例的步骤S102中,将每一4KB级别的数据块划分为60个大小相同的子数据块,可便于利用所述数据块间的局部特征来实现对所述数据块间的相似性检测。
另外,在本实施例中,选用增量压缩比DCR(Delta Compression Ratio)和增量压缩效率DCE(Delta Compression Efficiency)两个指标作为所述数据块间的相似性检测的性能衡量指标;其中,DCR为增量压缩前数据大小与增量压缩后数据大小的比值,DCE为示增量压缩后数据块大小与增量压缩前数据块大小的比值。DCR在一定程度上反映数据增量压缩后存储空间的节省程度;DCE用于检测所述数据块之间的相似度,且DCE越高表示所述数据块间的相似性检测越精确。
所述原始数据具体信息如表2所示,其中DR(Deduplication Ratio)表示重复数据删除率。
表2原始数据信息
Figure BDA0002588916510000111
基于本实施例提供的一种数据相似性检测方法(以下简称为“FSD方法”)、SF方法和Finesse方法,对不同类型数据进行数据块相似性检测的精确度对比结果如表3所示。从表3可以看出,就DCE而言,本实施例提供的FSD方法优于SF方法和Finesse方法,对数据块的相似性检测的精确度较高;对于DCR,由于数据备份期间每个文件的读取及划分方式不同,因此增量压缩的过程往往会受到一定程度的影响。
表3不同类型数据中数据块相似性检测精确度的对比结果
Figure BDA0002588916510000121
请参考图5,基于本实施例提供的FSD方法、SF方法和Finesse方法,分别在Inteli7-8565U处理器和Intel i5-9400处理器的条件下进行数据块相似性检测速度的比较。从图5可以看出,在Intel i7-8565U处理器和Intel i5-9400处理器的条件下,本实施例提供的FSD方法对不同类型数据进行相似性检测的速度皆优于SF方法和Finesse方法。
请参考图6,基于本实施例提供的FSD方法、SF方法和Finesse方法,以不同类型数据的增量压缩为整个过程,对增量压缩执行过程中的系统吞吐量进行对比。从图6可以看出,在Intel i7-8565U处理器和Intel i5-9400处理器的条件下,本实施例提供的FSD方法对不同类型数据进行增量压缩时的系统吞吐量方面均优于SF方法和Finesse方法,即利用本实施例提供的FSD方法进行增量压缩时的执行效率优于SF方法和Finesse方法。
综上所述,本实施例提供的一种数据相似性检测方法,将原始数据划分为若干个数据块,再将数据块划分为若干个子数据块,并通过改进的SF方法实现了对子数据块的局部特征的快速提取;随后对局部特征按原始顺序进行分组,并通过集成表决的方式构建超级特征;最后利用已构建的超级特征和集合间相似性检测方法对数据块进行相似性检测。本实施例提供的方法在对局部特征进行提取时不需要额外的转换操作,在对局部特征进行分组时也不需要进行特定的排序和选择操作,从而有效地降低了数据块局部特征提取的计算开销和时间开销,极大地提高了数据相似性检测的效率和精确度,进而提高了数据增量压缩的执行效率。
与上述的数据相似性检测方法相对应,本实施例还提供一种数据相似性检测装置,请参考图7,示意性地给出了本发明一实施例的数据相似性检测装置的结构框图。所述数据相似性检测装置包括:第一划分模块201,用于将原始数据划分为若干个具有预设级别的数据块;第二划分模块202,用于将每一所述数据块划分为若干个子数据块;局部特征提取模块203,用于对每一所述子数据块进行特征提取,以获取每一所述子数据块对应的局部特征;局部特征分组模块204,用于将每一所述数据块的所有所述局部特征划分为若干组;超级特征构建模块205,用于构建每一组的超级特征;相似性检测模块206,用于对所有所述超级特征进行对比,以得到所有所述数据块间的相似性检测结果。
在一些实施例中,所述局部特征提取模块203采用改进的N-transform Super-Feature方法对每一所述局部特征进行提取。
可以理解的是,在一些其他实施例中,所述改进的N-transform Super-Feature方法,其函数式表示如下:
Rabin指纹FP=RabinFunction(str,m*L/N+j) (1)
其中,Rabin指纹FP为每一所述局部特征;str为所述数据块的内容;L为所述数据块的长度;N为所述数据块中所有所述子数据块的个数;m为每一所述子数据块的次序且0≤m≤N-1;j为所述数据块中的某一位置。
具体的,在本实施例中,每一个所述子数据块的大小相同且所述局部特征提取模块203可以提取到一个对应的所述局部特征。
在一些实施例中,所述局部特征分组模块204将每一所述数据块中奇数个连续的所述局部特征划分为一组。
具体的,本实施例中,所述局部特征分组模块204可以将5个所述局部特征分为一组,以避免后续进行集成表决时出现相同票数的情况,但本发明不以此为限。
在一些其他实施例中,所述超级特征构建模块205包括:选取数据块单元,用于从若干个所述数据块中任意选取两个数据块,两个所述数据块包括第一数据块和第二数据块;所述第一数据块中的每一组局部特征与所述第二数据块中的每一组局部特征一一对应;构造对照组单元,用于将所述第一数据块中每一组内的奇数个局部特征f1、f2、…、f2n-1与所述第二数据块中每一组内的奇数个局部特征F1、F2、…、F2n-1按原始顺序排列并构成对照组,且满足f1与F1相对照,f2与F2相对照,…,f2n-1与F2n-1相对照;集成表决单元,用于根据集成表决的思想,分别计算对照组内的局部特征f1与F1、f2与F2、…、f2n-1与F2n-1是否相同,并记录其相同的个数及相异的个数,以作为集成表决的结果;构造超级特征单元,用于根据集成表决的结果分别构建每一组的所述超级特征。
可以理解的是,所述构建每一组的所述超级特征满足下列条件:如果对照组内的所述局部特征相同的个数大于相异的个数,则利用相同的所述局部特征分别构建所述第一数据块和所述第二数据块中每一组的所述超级特征;如果对照组内的所述局部特征相同的个数小于相异的个数,则利用相异的所述局部特征分别构建所述第一数据块和所述第二数据块中每一组的所述超级特征。
在一些其他实施例中,所述相似性检测模块206具体用于将所有所述数据块的所述超级特征皆按原始顺序排列;采用集合间相似性检测方法对所有所述超级特征进行对比。
可以理解的是,在一些实施例中,所述集合间相似性检测方法包括:所述第一数据块中的所有所述超级特征构成第一集合,所述第二数据块中的所有所述超级特征构成第二集合;计算所述第一集合和所述第二集合具有相同的最小哈希元素的概率;所述具有相同的最小哈希元素的概率为所述第一集合和所述第二集合的相似系数。
所述相似系数表示所述数据块间的相似性,且满足下列条件:0≤相似系数≤1;相似系数越大,所述数据块间的相似性越高。
具体的,在本实施例中,如果所述第一数据块和所述第二数据块计算得到的相似系数较大,则表示所述第一数据块和第二所述数据块之间相似性较高,可以对其中一个数据进行删除压缩,从而节省总体数据占用的空间。
在一些实施例中,所述预设级别为大于0且小于所述原始数据大小的任意一级别。
具体的,在本实施例的所述第一划分模块201中,预设级别为4KB级别,可以将原始数据划分为若干个4KB级别的数据块;在所述第二划分模块202中,将每一4KB级别的数据块划分为60个大小相同的子数据块,可便于利用所述数据块间的局部特征来实现对所述数据块间的相似性检测,但本发明不以此为限。
与现有技术相比,本实施例提供的一种数据相似性检测装置,将原始数据划分为若干个数据块,再将数据块划分为若干个子数据块,并通过改进的SF方法实现了对子数据块的局部特征的快速提取;随后对局部特征按原始顺序进行分组,并通过集成表决的方式构建超级特征;最后利用已构建的超级特征和集合间相似性检测方法对数据块进行相似性检测。本实施例提供的装置在对局部特征进行提取时不需要额外的转换操作,在对局部特征进行分组时也不需要进行特定的排序和选择操作,从而有效地降低了数据块局部特征提取的计算开销和时间开销,极大地提高了数据相似性检测的效率和精确度,进而提高了数据增量压缩的执行效率。
基于同一发明构思,本实施例还提供一种电子设备,请参考图8,示意性地给出了本发明一实施方式提供的电子设备的方框结构示意图。如图8所示,所述电子设备包括处理器301和存储器303,所述存储器303上存储有计算机程序,所述计算机程序被所述处理器301执行时,实现上文所述的数据相似性检测方法。
如图8所示,所述电子设备还包括通信接口302和通信总线304,其中所述处理器301、所述通信接口302、所述存储器303通过通信总线304完成相互间的通信。所述通信总线304可以是外设部件互连标准(Peripheral Component Interconnect,PCI)总线或扩展工业标准结构(Extended Industry Standard Architecture,EISA)总线等。该通信总线304可以分为地址总线、数据总线、控制总线等。为便于表示,在图8中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。所述通信接口302用于上述电子设备与其他设备之间的通信。
本实施例中所称处理器301可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器301、数字信号处理器301(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器301可以是微处理器301或者该处理器301也可以是任何常规的处理器301等,所述处理器301是所述电子设备的控制中心,利用各种接口和线路连接整个电子设备的各个部分。
所述存储器303可用于存储所述计算机程序,所述处理器301通过运行或执行存储在所述存储器303内的计算机程序,以及调用存储在所述存储器303内的数据,实现所述电子设备的各种功能。
所述存储器303可以包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
与现有技术相比,本实施例提供的一种电子设备,将原始数据划分为若干个数据块,再将数据块划分为若干个子数据块,并通过改进的SF方法实现了对子数据块的局部特征的快速提取;随后对局部特征按原始顺序进行分组,并通过集成表决的方式构建超级特征;最后利用已构建的超级特征和集合间相似性检测方法对数据块进行相似性检测。本实施例在对局部特征进行提取时不需要额外的转换操作,在对局部特征进行分组时也不需要进行特定的排序和选择操作,从而有效地降低了数据块局部特征提取的计算开销和时间开销,极大地提高了数据相似性检测的效率和精确度,进而提高了数据增量压缩的执行效率。
本实施例还提供了一种可读存储介质,所述可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时可以,实现上文所述的数据相似性检测方法。
与现有技术相比,本实施例提供的一种可读存储介质,将原始数据划分为若干个数据块,再将数据块划分为若干个子数据块,并通过改进的SF方法实现了对子数据块的局部特征的快速提取;随后对局部特征按原始顺序进行分组,并通过集成表决的方式构建超级特征;最后利用已构建的超级特征和集合间相似性检测方法对数据块进行相似性检测。本实施例在对局部特征进行提取时不需要额外的转换操作,在对局部特征进行分组时也不需要进行特定的排序和选择操作,从而有效地降低了数据块局部特征提取的计算开销和时间开销,极大地提高了数据相似性检测的效率和精确度,进而提高了数据增量压缩的执行效率。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管本发明的内容已经通过上述优选实施例作了详细介绍,但应当认识到上述的描述不应被认为是对本发明的限制。在本领域技术人员阅读了上述内容后,对于本发明的多种修改和替代都将是显而易见的。因此,本发明的保护范围应由所附的权利要求来限定。

Claims (22)

1.一种数据相似性检测方法,其特征在于,包括:
将原始数据划分为若干个具有预设级别的数据块;
将每一所述数据块划分为若干个子数据块;
对每一所述子数据块进行特征提取,以获取每一所述子数据块对应的局部特征;
将每一所述数据块的所有所述局部特征划分为若干组;
构建每一组的超级特征;
对所有所述超级特征进行对比,以得到所有所述数据块间的相似性检测结果。
2.如权利要求1所述的数据相似性检测方法,其特征在于,所述对每一所述子数据块进行特征提取的步骤中包括:采用改进的N-transform Super-Feature方法对每一所述局部特征进行提取。
3.如权利要求2所述的数据相似性检测方法,其特征在于,
所述改进的N-transform Super-Feature方法,其函数式表示如下:
Rabin指纹FP=RabinFunction(str,m*L/N+j)
其中,Rabin指纹FP为每一所述局部特征;str为所述数据块的内容;L为所述数据块的长度;N为所述数据块中所有所述子数据块的个数;m为每一所述子数据块的次序且0≤m≤N-1;j为所述数据块中的某一位置。
4.如权利要求1所述的数据相似性检测方法,其特征在于,所述将每一所述数据块的所有所述局部特征划分为若干组的步骤包括:将每一所述数据块中奇数个连续的所述局部特征划分为一组。
5.如权利要求1所述的数据相似性检测方法,其特征在于,所述构建每一组的超级特征的步骤包括:
从若干个所述数据块中任意选取两个数据块,两个所述数据块包括第一数据块和第二数据块;
所述第一数据块中的每一组局部特征与所述第二数据块中的每一组局部特征一一对应;
将所述第一数据块中每一组内的奇数个局部特征f1、f2、…、f2n-1与所述第二数据块中每一组内的奇数个局部特征F1、F2、…、F2n-1按原始顺序排列并构成对照组,且满足f1与F1相对照,f2与F2相对照,…,f2n-1与F2n-1相对照;
根据集成表决的思想,分别计算对照组内的局部特征f1与F1、f2与F2、…、f2n-1与F2n-1是否相同,并记录其相同的个数及相异的个数,以作为集成表决的结果;
根据集成表决的结果分别构建每一组的所述超级特征。
6.如权利要求5所述的数据相似性检测方法,其特征在于,
所述构建每一组的所述超级特征满足下列条件:如果对照组内的所述局部特征相同的个数大于相异的个数,则利用相同的所述局部特征分别构建所述第一数据块和所述第二数据块中每一组的所述超级特征;如果对照组内的所述局部特征相同的个数小于相异的个数,则利用相异的所述局部特征分别构建所述第一数据块和所述第二数据块中每一组的所述超级特征。
7.如权利要求6所述的数据相似性检测方法,其特征在于,所述对所有所述超级特征进行对比的步骤包括:
所有所述数据块的所述超级特征皆按原始顺序排列;
采用集合间相似性检测方法对所有所述超级特征进行对比。
8.如权利要求7所述的数据相似性检测方法,其特征在于,所述集合间相似性检测方法包括:
所述第一数据块中的所有所述超级特征构成第一集合,所述第二数据块中的所有所述超级特征构成第二集合;
计算所述第一集合和所述第二集合具有相同的最小哈希元素的概率;
所述具有相同的最小哈希元素的概率为所述第一集合和所述第二集合的相似系数。
9.如权利要求8所述的数据相似性检测方法,其特征在于,
所述相似系数表示所述数据块间的相似性,且满足下列条件:0≤相似系数≤1;相似系数越大,所述数据块间的相似性越高。
10.如权利要求1~9中任意一项所述的数据相似性检测方法,其特征在于,
所述预设级别为大于0且小于所述原始数据大小的任意一级别。
11.一种数据相似性检测装置,其特征在于,包括:
第一划分模块(201),用于将原始数据划分为若干个具有预设级别的数据块;
第二划分模块(202),用于将每一所述数据块划分为若干个子数据块;
局部特征提取模块(203),用于对每一所述子数据块进行特征提取,以获取每一所述子数据块对应的局部特征;
局部特征分组模块(204),用于将每一所述数据块的所有所述局部特征划分为若干组;
超级特征构建模块(205),用于构建每一组的超级特征;
相似性检测模块(206),用于对所有所述超级特征进行对比,以得到所有所述数据块间的相似性检测结果。
12.如权利要求11所述的数据相似性检测装置,其特征在于,所述局部特征提取模块(203)采用改进的N-transform Super-Feature方法对每一所述局部特征进行提取。
13.如权利要求12所述的数据相似性检测装置,其特征在于,
所述改进的N-transform Super-Feature方法,其函数式表示如下:
Rabin指纹FP=RabinFunction(str,m*L/N+j)
其中,Rabin指纹FP为每一所述局部特征;str为所述数据块的内容;L为所述数据块的长度;N为所述数据块中所有所述子数据块的个数;m为每一所述子数据块的次序且0≤m≤N-1;j为所述数据块中的某一位置。
14.如权利要求11所述的数据相似性检测装置,其特征在于,所述局部特征分组模块(204)将每一所述数据块中奇数个连续的所述局部特征划分为一组。
15.如权利要求11所述的数据相似性检测装置,其特征在于,所述超级特征构建模块(205)包括:
选取数据块单元,用于从若干个所述数据块中任意选取两个数据块,两个所述数据块包括第一数据块和第二数据块;所述第一数据块中的每一组局部特征与所述第二数据块中的每一组局部特征一一对应;
构造对照组单元,用于将所述第一数据块中每一组内的奇数个局部特征f1、f2、…、f2n-1与所述第二数据块中每一组内的奇数个局部特征F1、F2、…、F2n-1按原始顺序排列并构成对照组,且满足f1与F1相对照,f2与F2相对照,…,f2n-1与F2n-1相对照;
集成表决单元,用于根据集成表决的思想,分别计算对照组内的局部特征f1与F1、f2与F2、…、f2n-1与F2n-1是否相同,并记录其相同的个数及相异的个数,以作为集成表决的结果;
构造超级特征单元,用于根据集成表决的结果分别构建每一组的所述超级特征。
16.如权利要求15所述的数据相似性检测装置,其特征在于,
所述构建每一组的所述超级特征满足下列条件:如果对照组内的所述局部特征相同的个数大于相异的个数,则利用相同的所述局部特征分别构建所述第一数据块和所述第二数据块中每一组的所述超级特征;如果对照组内的所述局部特征相同的个数小于相异的个数,则利用相异的所述局部特征分别构建所述第一数据块和所述第二数据块中每一组的所述超级特征。
17.如权利要求16所述的数据相似性检测装置,其特征在于,所述相似性检测模块(206)具体用于将所有所述数据块的所述超级特征皆按原始顺序排列;采用集合间相似性检测方法对所有所述超级特征进行对比。
18.如权利要求17所述的数据相似性检测装置,其特征在于,所述集合间相似性检测方法包括:
所述第一数据块中的所有所述超级特征构成第一集合,所述第二数据块中的所有所述超级特征构成第二集合;
计算所述第一集合和所述第二集合具有相同的最小哈希元素的概率;
所述具有相同的最小哈希元素的概率为所述第一集合和所述第二集合的相似系数。
19.如权利要求18所述的数据相似性检测装置,其特征在于,
所述相似系数表示所述数据块间的相似性,且满足下列条件:0≤相似系数≤1;相似系数越大,所述数据块间的相似性越高。
20.如权利要求11~19中任意一项所述的数据相似性检测装置,其特征在于,
所述预设级别为大于0且小于所述原始数据大小的任意一级别。
21.一种电子设备,其特征在于,包括处理器(301)和存储器(303),所述存储器(303)上存储有计算机程序,所述计算机程序被所述处理器(301)执行时,实现权利要求1至10中任一项所述的方法。
22.一种可读存储介质,其特征在于,所述可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时,实现权利要求1至10中任一项所述的方法。
CN202010689825.4A 2020-07-17 2020-07-17 一种数据相似性检测方法、装置、电子设备和存储介质 Active CN111835361B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010689825.4A CN111835361B (zh) 2020-07-17 2020-07-17 一种数据相似性检测方法、装置、电子设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010689825.4A CN111835361B (zh) 2020-07-17 2020-07-17 一种数据相似性检测方法、装置、电子设备和存储介质

Publications (2)

Publication Number Publication Date
CN111835361A true CN111835361A (zh) 2020-10-27
CN111835361B CN111835361B (zh) 2024-04-30

Family

ID=72923460

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010689825.4A Active CN111835361B (zh) 2020-07-17 2020-07-17 一种数据相似性检测方法、装置、电子设备和存储介质

Country Status (1)

Country Link
CN (1) CN111835361B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109716658A (zh) * 2016-12-15 2019-05-03 华为技术有限公司 一种基于相似性的重复数据删除方法和系统
CN110083743A (zh) * 2019-03-28 2019-08-02 哈尔滨工业大学(深圳) 一种基于统一采样的快速相似数据检测方法
CN110516693A (zh) * 2019-04-08 2019-11-29 湖北工业大学 一种基于特征值局部性的相似数据检测方法
CN110888918A (zh) * 2019-11-25 2020-03-17 湖北工业大学 相似数据检测方法及装置、计算机设备和存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109716658A (zh) * 2016-12-15 2019-05-03 华为技术有限公司 一种基于相似性的重复数据删除方法和系统
CN110083743A (zh) * 2019-03-28 2019-08-02 哈尔滨工业大学(深圳) 一种基于统一采样的快速相似数据检测方法
CN110516693A (zh) * 2019-04-08 2019-11-29 湖北工业大学 一种基于特征值局部性的相似数据检测方法
CN110888918A (zh) * 2019-11-25 2020-03-17 湖北工业大学 相似数据检测方法及装置、计算机设备和存储介质

Also Published As

Publication number Publication date
CN111835361B (zh) 2024-04-30

Similar Documents

Publication Publication Date Title
US8442942B2 (en) Combining hash-based duplication with sub-block differencing to deduplicate data
US9058253B2 (en) Data tree storage methods, systems and computer program products using page structure of flash memory
CN112099725A (zh) 一种数据处理方法、装置及计算机可读存储介质
EP4033440A1 (en) Consensus method, apparatus and device of block chain
CN114090345A (zh) 一种磁盘阵列数据恢复方法、系统、存储介质及设备
US9137336B1 (en) Data compression techniques
CN108427736B (zh) 一种用于查询数据的方法
CN112559529A (zh) 数据存储方法、装置、计算机设备及存储介质
CN114115734A (zh) 一种数据重删方法、装置、设备及存储介质
WO2021082926A1 (zh) 一种数据压缩的方法及装置
CN111835361B (zh) 一种数据相似性检测方法、装置、电子设备和存储介质
CN115982310B (zh) 一种自带验证功能的链表生成方法及电子设备
CN112764922A (zh) 基于负载均衡的并行序列比对方法、装置和计算机设备
CN111984651A (zh) 一种基于持久性内存的列式存储方法、装置及设备
CN107368281B (zh) 一种数据处理方法及装置
CN112380171B (zh) 一种yaffs文件系统oob识别方法、终端设备及存储介质
US9697899B1 (en) Parallel deflate decoding method and apparatus
CN113495901A (zh) 一种面向可变长数据块的快速检索方法
CN115543979B (zh) 重复数据的删除方法、装置、设备、存储介质和程序产品
CN110413960B (zh) 文件对比方法、装置、计算机设备及计算机可读存储介质
Zhang et al. A Compatible LZMA ORC-Based Optimization for High Performance Big Data Load
CN110866127A (zh) 建立索引的方法以及相关装置
CN117194355B (zh) 基于数据库的数据处理方法、装置和电子设备
Xue et al. A comprehensive study of present data deduplication
CN110945792A (zh) 压缩数据、解压缩数据的方法和相关装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant