一种数据相似性检测方法、装置、电子设备和存储介质制造方法及图纸

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

【技术实现步骤摘要】
一种数据相似性检测方法、装置、电子设备和存储介质
本专利技术涉及数据压缩领域,尤其涉及一种数据相似性检测方法、装置、电子设备和存储介质。
技术介绍
云计算、大数据和人工智能技术的快速发展,对海量数据的存储、传输及备份问题提出了新的挑战。数据规模的快速增长对数据存储技术提出了更高的要求,也使得海量数据的存储、传输和备份成为当前的研究热点之一。数据压缩作为一种能够减少数据存储规模的技术在数据存储、文件传输及容灾备份系统中的应用受到越来越多的关注。用于减少和消除非重复但却高度相似数据块之间数据冗余的增量压缩技术是数据压缩中较为流行的一种技术。增量压缩可以最大化地减少压缩损失,因此被广泛使用在数据库存储和迁移压缩中。通常增量压缩利用数据相似性检测技术实现对于数据的压缩。数据相似性检测通常需要对数据进行划分,根据数据块的大小可将增量压缩划分为整文件检测技术和数据块检测技术。就整文件检测技术而言,其数据相似性检测以文件为基本单位,检测粒度过粗,不能很好地检测出文件内部的相似性数据。而数据块检测技术常用的方法是需要先获取数据块的特征,然后根据数据块的特征进行相似性检测。但在数据块特征提取时,已有方法大多存在特征提取过程复杂、计算开销大等问题,影响数据相似性检测的效率,进而降低增量压缩的执行效率。
技术实现思路
本专利技术的目的在于提供一种数据相似性检测方法、装置、电子设备和存储介质,以解决数据相似性检测过程中存在的特征提取耗时长及检测效率低等问题。为了达到上述目的,本专利技术通过以下技术方案实现:一种数据相似性检测方法,包括:将原始数据划分为若干个具有预设级别的数据块。将每一所述数据块划分为若干个子数据块。对每一所述子数据块进行特征提取,以获取每一所述子数据块对应的局部特征。将每一所述数据块的所有所述局部特征划分为若干组。构建每一组的超级特征。对所有所述超级特征进行对比,以得到所有所述数据块间的相似性检测结果。优选地,所述对每一所述子数据块进行特征提取的步骤中包括:采用改进的N-transformSuper-Feature方法对每一所述局部特征进行提取。优选地,所述改进的N-transformSuper-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-transformSuper-Feature方法对每一所述局部特征进行提取。优选地,所述改进的N-transformSuper-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是否相同,并记录其相同的个数及相异的个数,以作为集成表决的结果;构造超级特征单元,用于根据集成表决的结果分别构建每一组的所本文档来自技高网...

【技术保护点】
1.一种数据相似性检测方法,其特征在于,包括:/n将原始数据划分为若干个具有预设级别的数据块;/n将每一所述数据块划分为若干个子数据块;/n对每一所述子数据块进行特征提取,以获取每一所述子数据块对应的局部特征;/n将每一所述数据块的所有所述局部特征划分为若干组;/n构建每一组的超级特征;/n对所有所述超级特征进行对比,以得到所有所述数据块间的相似性检测结果。/n

【技术特征摘要】
1.一种数据相似性检测方法,其特征在于,包括:
将原始数据划分为若干个具有预设级别的数据块;
将每一所述数据块划分为若干个子数据块;
对每一所述子数据块进行特征提取,以获取每一所述子数据块对应的局部特征;
将每一所述数据块的所有所述局部特征划分为若干组;
构建每一组的超级特征;
对所有所述超级特征进行对比,以得到所有所述数据块间的相似性检测结果。


2.如权利要求1所述的数据相似性检测方法,其特征在于,所述对每一所述子数据块进行特征提取的步骤中包括:采用改进的N-transformSuper-Feature方法对每一所述局部特征进行提取。


3.如权利要求2所述的数据相似性检测方法,其特征在于,
所述改进的N-transformSuper-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),用于对每一所述子数据块进行特征提取,以获取每一所述子数...

【专利技术属性】
技术研发人员:施凌鹏卢士达陈琰陈晓露富宇杨堤姚亦凡刘逸逸王肖薇李科心李静祝蓓
申请(专利权)人:国网上海市电力公司南京航空航天大学国家电网有限公司
类型:发明
国别省市:上海;31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1