CN101464910B - 基于数据相似的平衡聚类压缩方法 - Google Patents

基于数据相似的平衡聚类压缩方法 Download PDF

Info

Publication number
CN101464910B
CN101464910B CN2009100953783A CN200910095378A CN101464910B CN 101464910 B CN101464910 B CN 101464910B CN 2009100953783 A CN2009100953783 A CN 2009100953783A CN 200910095378 A CN200910095378 A CN 200910095378A CN 101464910 B CN101464910 B CN 101464910B
Authority
CN
China
Prior art keywords
data
similarity
file
fingerprint
class
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.)
Expired - Fee Related
Application number
CN2009100953783A
Other languages
English (en)
Other versions
CN101464910A (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.)
Zhejiang University ZJU
Original Assignee
Zhejiang University ZJU
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 Zhejiang University ZJU filed Critical Zhejiang University ZJU
Priority to CN2009100953783A priority Critical patent/CN101464910B/zh
Publication of CN101464910A publication Critical patent/CN101464910A/zh
Application granted granted Critical
Publication of CN101464910B publication Critical patent/CN101464910B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明公开了一种基于数据相似的聚类压缩方法。本发明通过分析文件数据,从文件提取特征指纹构造特征向量,用于计算数据相似度,并利用带约束条件的图分割方法聚类输入文件集成多个均匀大小的类别,然后采用BMCOM等压缩方法对每个类别单独进行压缩,以去除类内部的冗余数据。本发明利用基于数据采样聚类方式,把具有较高可压缩性的关键数据作为样本数据,首先对样本数据进行聚类,然后通过稳定婚姻方法归类剩余数据,在不降低压缩效果的情况下可提高聚类效率。本发明可以作为一种压缩和归档方法应用到分布式存储系统中,能够克服已有方法的数据依赖和负载不均问题。

Description

基于数据相似的平衡聚类压缩方法
技术领域
本发明涉及数据压缩、分布式存储归档与数据挖掘领域,特别是涉及一种基于数据相似的平衡聚类压缩方法。
背景技术
随着信息总量的爆炸式增长,海量分布式存储系统已经成为当前各种互联网应用的核心设施,分布式存储系统的性能直接决定着整个信息系统性能。在分布式存储系统中,除了小部分热点数据之外,很大一部分数据根本很少被访问,但却占用了大量的存储空间和系统资源,因此压缩和归档此类数据可以在不降低用户体验的前提下,减少系统资源占用,节省成本。
通用的压缩方法只针对单个文件进行压缩,不能利用文件之间的数据冗余性,压缩比非常有限。另外,学术界提出各种方法虽然能够利用文件之间的数据冗余,但是计算量过大,执行效率不足,而且这些方法很少考虑压缩后数据的存储问题,没有针对海量分布式存储系统进行优化,容易造成数据之间的依赖性和系统负载不均。
发明内容
本发明的目的在于提供一种基于数据相似的平衡聚类压缩方法,根据文件数据相似性对文件集进行聚类,得到较为均匀的聚类结果,即每类几乎包含相同数据量,然后利用DELTA压缩或者BMCOM等压缩方法压逐类缩聚类结果。
本发明的目的是通过以下技术方案来实现的:一种基于数据相似的平衡聚类压缩方法,包括以下步骤:
(1)文件特征向量提取,从文件数据中提取特征向量用于计算文件相似度。
第一步,选择一个窗口长度w和k个整数域上的独立置换函数{h1,h2,…,hk},每个置换函数相互独立;
第二步,从前往后逐字节扫描输入文件f,利用高效的Rabin指纹函数,计算当前滑动窗口内数据的指纹,记该指纹为fp,利用上述k个独立置换函数作用于指纹fp,得到k个置换指纹h1(fp),h2(fp),…,hk(fp),记文件f的特征向量F(f)为{F1(f),F2(f),…,Fk(f)},特征向量的第i维Fi(f)等于第i个置换函数所产生的置换指纹的最小值,即Fi(f)=MIN(Fi(f),hi(fp));
第三步,扫描完整个文件之后,可计算出文件的特征向量F(f),文件数据相似度r(x,y)根据文件x和y的特征向量定义为 | F ( x ) ∩ F ( y ) | / | F ( x ) ∪ F ( y ) | ;
(2)聚类样本选取,即从输入数据集D中选取部分数据作为样本数据集,即样本数据集为S;
第一步,计算关键数据集,关键数据集KD的定义是存在高相似副本的文件集合,即 KD = { x | x ∈ D ^ ( ∃ y ∈ D · r ( x , y ) ≥ t ) } , t是0到1之间的一个较大实数,关键数据集中的数据通常具有比较高的可压缩性,能对最终压缩比产生比较大的影响;
准确计算关键数据集KD的计算量较大,其时间复杂度为O(|D|2),因此利用超级指纹快速检测高相似数据;超级指纹是根据多个文件指纹计算的哈希值,如果两个数据具有相同的超级指纹,那么它们拥有很多相同的文件指纹,因此它们的相似度比较高;关键数据集的详细估算方法如下:
(g)选择一个正整数l和w,和一个随机哈希函数H;
(h)循环执行步骤c)和e)共l次;
(i)随机选择w个小于k的正整数{i1,i2,…,iw};
(j)对于每个文件f,利用哈希函数H和特征向量F(f)的第i1,i2,…,iw维计算超级指纹sfp,即
Figure G2009100953783D00023
(k)以sfp为关键字记录(sfp,f)到超级指纹哈希表SFT,即 SFT [ sfp ] = SFT [ sfp ] ∪ { f } ;
(l)扫描哈希表SFT,对于哈希表中的每个超级指纹sfp,计算集合SFT[sfp]中数据的两两相似度,如果r(x,y)≥t,x,y∈D,那么x和y都属于关键数据集,因此更新关键数据集KD为 KD ∪ { x , y } ;
第二步,计算超级数据,超级数据是多个关键数据合并而成的虚拟数据,任意超级数据s是关键数据集的子集,即 s ⊆ KD , 超级数据中包含的数据相似度比较高,因此合并这些数据,把它们当作整体来处理,可以提高聚类质量,此外,合并成超级数据可以减少聚类方法的输入数据,提高聚类性能;
超级数据及样本数据集S的构建方法如下:
h)按照相似度r(x,y)排序关键数据集KD中的高相似文件对(x,y),得到优先级队列Q;
i)循环执行步骤c)-g),直到队列Q为空;
j)从优先级队列Q中取出相似度最高的一对文件(x,y);
k)产生一个超级数据v,v包含x和y两个文件,根据x和y的特征向量计算v的特征向量F(v),F(v)的第i维Fi(v)等于MIN(Fi(x),Fi(y));
l)对于队列中的包含x的文件对(x,z)或者包含y的文件对(y,z),计算相似度r(v,z);
m)如果v和任意z的相似度r(v,z)都小于t,那么v不可能再与其它数据合并,加v到样本数据集S,即 S = S ∪ { v } ;
n)否则,对于r(v,z)≥t的数据z,从队列Q中删除数据对(x,z)和(y,z),并根据相似度r(v,z)加(v,z)到队列Q;
(3)样本数据聚类,利用平衡聚类方法聚类样本数据集S;
第一步,根据样本数据集S构建相似图G,相似图形如G(V,E),并满足如下条件:(i)V是顶点集,任意v∈V对应到唯一的一个数据d(v)∈S;每个顶点v有一个权重WV(v),且WV(v)=d(v).len;(ii)E是边集,任意(x,y)∈E都有一个权重WE(x,y),且WE(x,y)=r(d(x),d(y));
第二步,调用高效的图分割方法kmetis分割相似图G,并为设置kmetis设定两个约束条件:
约束1(损失最小化)图分割方法需要删除相似图中的一些边,方法必须最小化删除边的权重和,约束1要求分割出来的每个子图中的数据之间具有高相似度,而跨子图数据之间只有低相似度;
约束2(负载均衡)分割方法还必须满足平衡约束条件,即平衡每个子图的顶点权重和;
(4)剩余数据聚类,按照相似度归类剩余数据X=D-S,在满足负载均衡约束的前提下,把剩余数据归入到最相似的类;
记T(c)=∑d∈cd.len是类别c中包含的文件总大小,剩余聚类方法必须满足如下两个条件之一:i)数据d被分配到最相似的类c;ii)如果还有其它类c′和d更相似,那么T(c′)≥clustersize且c′中的任何数据d′满足sim(c′,d′)≥sim(c′,d),其中clustersize是类平均大小,sim(c′,d)代表数据d和类c′的相似度,类相似度sim(C,d)定义如下:
sim ( C , d ) = Σ i ∈ Z WV ( i ) , Z = F ( d ) ∩ ( ∪ x ∈ C F ( x ) )
剩余聚类方法基于稳定婚姻模型设计,其主要过程如下:
a)对于每个类Ci,根据类相似度sim(Ci,d)排序剩余X得到∏i,初始化类Ci的剩余容量ri和∏i索引Ii
b)执行步骤c),直到所有数据都已经归类;
c)在每次循环中,在总数据量不超过剩余容量ri的前提下,每个类Ci向∏i中尽可能多的数据求婚,设d是被Ci求婚的任意数据,如果数据d还没有求婚者,那么暂时许配d给Ci,如果数据d已有求婚者Cl而且sim(Ci,d)<sim(Cl,d)那么取消对Cl的婚约,许配d给Ci
(5)结果压缩,对每个类别进行单独压缩,默认采用BMCOM压缩方法,同时亦可采用各种成熟的DELTA压缩方法;
BMCOM方法是Bentley和Mcilroy在1999年提出来的,它能够压缩间隔距离很长的冗余数据,而且压缩和解压缩性能非常好,分别能够达到100MB/s和1000MB/s,其本思想是利用Shingle技术检测并压缩较长的冗余数据,Shingle是数据中一段固定长度的子串,假设Shingle的长度为L,BMCOM能够压缩所有长度>2L的字符串,并部分压缩长度在L~2L之间的冗余数据;
方法利用Shingle的哈希值作为Shingle指纹高效检测冗余数据,方法维护一个关键字为指纹,值为Shingle的哈希表FT,以指纹为关键字保存所有不重叠Shingle,到哈希表FT,方法具体过程简介如下:
a)连接类别c中的所有文件,组成输入数据d;
b)逐字节扫描输入数据d,执行步骤c)-h);
c)计算当前Shingle的指纹fp,如果当前字节偏移整除L,保存fp到FT;
d)以fp为关键字查询哈希表FT,得到匹配指纹的候选Shingle;
e)然后,检查当前和所有候选Shingle,找出与当前Shingle真正匹配的候选Shingle;
f)如果FT中没有匹配的Shingle,直接输出当前字节,继续扫描下一个字节;
g)否则,尝试双向扩展匹配长度,得到匹配起始地址start和匹配长度length;
h)最后编码冗余数据为<start,length>。
本发明具有的有益效果是:
聚类结果相对均匀,能够提高分布式存储系统中数据归档存储的负载均衡能力;聚类效率较高,基于关键数据采样的聚类方式大大减小方法计算量。
附图说明
图1是基于数据相似的聚类压缩方法过程示意图;
图2是剩余聚类方法示意图。
具体实施方式
如图1所示,本发明的实施步骤如下:
1.文件特征向量提取:
从文件数据中提取特征向量用于计算文件相似度,其具体实施步骤如下:
1)选择一个窗口长度w和k个整数域上的独立置换函数{h1,h2,…,hk},每个置换函数相互独立,这里采用独立线性函数,即hi=ai x+bi mod p,其中ai,bi,p∈□是随机产生的整数;
2)从前往后逐字节扫描输入文件f,利用高效的Rabin指纹函数,计算当前滑动窗口内数据的指纹,记该指纹为fp,利用上述k个独立置换函数作用于指纹fp,得到k个置换指纹h1(fp),h2(fp),…,hk(fp),记文件f的特征向量F(f)为{F1(f),F2(f),…,Fk(f)},特征向量的第i维Fi(f)等于第i个置换函数所产生的置换指纹的最小值,即Fi(f)=MIN(Fi(f),hi(fp));
3)扫描完整个文件之后,可计算出文件的特征向量F(f),文件数据相似度r(x,y)根据文件x和y的特征向量定义为 | F ( x ) &cap; F ( y ) | / | F ( x ) &cup; F ( y ) | ;
2.聚类样本选取:
从输入数据集D中选取部分数据作为样本数据集S,其具体实施步骤如下:
1)计算关键数据集:
关键数据集KD是指存在高相似文件的文件集合,即 KD = { x | x &Element; D ^ ( &Exists; y &Element; D &CenterDot; r ( x , y ) &GreaterEqual; t ) } , t是0到1之间的一个较大实数,关键数据集中的数据通常具有比较高的可压缩性,能对最终压缩比产生比较大的影响;
准确计算关键数据集KD需要很大计算量,时间复杂度为O(|D|2),因此采用LSH法估算关键数据集,该方法的主要思想是利用利用超级指纹快速检测高相似数据,超级指纹是根据多个指纹计算的哈希值,只要两个数据具有相同的超级指纹,它们相似的概率非常大,基于LSH的关键数据集计算方法如下:
a)选择一个正整数l和w,和一个随机哈希函数H;
b)循环执行步骤c)和e)共l次;
c)随机选择w个小于k的正整数{i1,i2,…,iw};
d)对于每个文件f,利用哈希函数H和特征向量F(f)的第i1,i2,…,iw维计算超级指纹sfp,即
Figure G2009100953783D00054
e)以sfp为关键字记录(sfp,f)到超级指纹哈希表SFT,即 SFT [ sfp ] = SFT [ sfp ] &cup; { f } ;
f)扫描哈希表SFT,对于哈希表中的每个超级指纹sfp,计算集合SFT[sfp]中数据的两两相似度,如果r(x,y)≥t,x,y∈D,那么x和y都属于关键数据集,因此更新关键数据集KD为 KD &cup; { x , y } ;
2)计算超级数据:
超级数据是多个关键数据合并而成的虚拟数据,任意超级数据s是关键数据集的子集,即 s &SubsetEqual; KD , 超级数据中包含的数据相似度比较高,因此合并这些数据,把它们当作整体来处理,可以提高聚类质量,此外,合并成超级数据可以减少聚类方法的输入数据,提高聚类性能;
超级数据的特征向量可以根据数据的特征向量计算,设v是一个超级数据,x和y是v中包含的数据。那么Fi(v)=MIN(Fi(x),Fi(y));
超级数据及样本数据集S的构建方法如下:
a)按照相似度r(x,y)排序关键数据集KD中的高相似文件对(x,y),得到优先级队列Q;
b)循环执行步骤c)-g),直到队列Q为空;
c)从优先级队列Q中取出相似度最高的一对文件(x,y);
d)产生一个超级数据v,v包含x和y两个文件,根据x和y的特征向量计算v的特征向量F(v),F(v)的第i维Fi(v)等于MIN(Fi(x),Fi(y));
e)对于队列中的包含x的文件对(x,z)或者包含y的文件对(y,z),计算相似度r(v,z);
f)如果v和任意z的相似度r(v,z)都小于t,那么v不可能再与其它数据合并,加v到样本数据集S,即 S = S &cup; { v } ;
g)否则,对于r(v,z)≥t的数据z,从队列Q中删除数据对(x,z)和(y,z),并根据相似度r(v,z)加(v,z)到队列Q;
例如t=0.5,样本数据集
Figure G2009100953783D00064
数据集D={a,b,c,d},F(a)=[1,2,3,4,5,6],F(b)=[2,3,4,5,6,7],F(c)=[3,4,5,6,7,8],F(d)=[4,5,6,7,9,10],可以计算出相似度r(a,b)=5/7,r(a,c)=4/8,r(a,d)=3/9;r(b,c)=5/7,r(b,d)=4/8,r(c,d)=4/8,高相似文件对等于{(a,b),(a,c),(b,c),(b,d),(c,d)},根据相似度得出优先级队列Q为<(a,b),(b,c),(a,c),(b,d),(c,d)>,首先从Q中取出(a,b),合并(a,b)为A,F(A)=[1,2,3,4,5],算得r(A,c)=5/7,r(A,d)=3/9,因为r(A,c)>t,所以用A替换Q中出现的a和b,重新调整优先级队列,所以经过调整之后的队列Q为<(A,c),(c,d)>,再从队列中取出(A,c),合并(A,c)为B,算得F(B)={1,2,3,4,5},r(B,d)=3/9,因为r(B,d)<t,因此S={B};
3.样本数据聚类
利用平衡聚类方法聚类样本数据集S:
1)根据样本数据集S构建相似图G,相似图形如G(V,E):
并满足如下条件:(i)V是顶点集,任意v∈V对应到唯一的一个数据d(v)∈S;每个顶点v有一个权重WV(v),且WV(v)=d(v).len;(ii)E是边集,任意(x,y)∈E都有一个权重WE(x,y),且WE(x,y)=r(d(x),d(y));
2)调用经典和高效的图分割方法kmetis分割相似图G,并为设置kmetis设定两个约束条件:
约束1(损失最小化)图分割方法需要删除相似图中的一些边,方法必须最小化删除边的权重和,约束1要求每个子图中内的数据之间具有高相似度,而跨子图数据之间只有低相似度;
约束2(负载均衡)分割方法还必须满足平衡约束条件,即平衡每个子图的顶点权重和;
4.剩余数据聚类:
按照相似度归类剩余数据X=D-S,在满足负载均衡约束的前提下,把剩余数据归入到最相似的类;
记T(c)=∑d∈cd.len是类别c中包含的文件总大小,剩余聚类方法必须满足如下两个条件之一:i)数据d被分配到最相似的类c;ii)如果还有其它类c′和d更相似,那么T(c′)≥clustersize且c′中的任何数据d′满足sim(c′,d′)≥sim(c′,d),其中clustersize是类平均大小,sim(c′,d)代表数据d和类c′的相似度,类相似度定义如下: sim ( C , d ) = &Sigma; i &Element; Z WV ( i ) , Z = F ( d ) &cap; ( &cup; x &Element; C F ( x ) ) ;
准确计算类相似度比较耗费时间,因此米用BloomFilter估算类相似度,BloomFilter是判断元素是否在集合中的快速方法,而且占用内存较小,只有哈希表的1/8所有的内存空间,我们为每个类创建都一个BloomFilter,{B(C1),B(C2),...,B(Cm)},并利用它们估算类相似度;
Figure G2009100953783D00072
BloomFilter没有false negative,而且false positive比率也非常小,因此可以证明
Figure G2009100953783D00073
如图2所示,剩余聚类方法基于稳定婚姻模型实现,其主要过程如下:
1)对于每个类Ci,根据类相似度sim(Ci,d)排序X得到∏i,初始化类Ci的剩余容量ri为clustersize和∏i索引Ii为0;
2)执行步骤d),直到所有数据都已经归类;
3)在每次循环中,每个类Ci向∏i中,第Ii个数据之后的,尽可能多的数据求婚,求婚总数据量必须不能超过剩余容量ri
4)设当前Ci向d求婚,先设置Ii=Ii+1,如果数据d还没有求婚者,那么暂时许配d给Ci;如果数据d已有求婚者Cl而且sim(Ci,d)<sim(Cl,d)那么取消对Cl的婚约,许配d给Ci,并根据需要调整ri
5.结果压缩:
对每个类别进行单独压缩,默认采用BMCOM压缩方法,同时亦可采用各种成熟的DELTA压缩方法。
BMCOM方法是Bentley和Mcilroy在1999年提出来的,它能够压缩间隔距离很长的冗余数据,而且压缩和解压缩性能非常好,分别能够达到100MB/s和1000MB/s。其本思想是利用Shingle(固定长度的子字节串)指纹技术检测并压缩较长的冗余数据。假设Shingle的长度为L,BMCOM能够压缩所有长度>2L的字符串,并部分压缩长度在L~2L之间的冗余数据。
方法维护一个关键字为指纹,值为Shingle的哈希表FT,以指纹为关键字,保存所有不重叠Shingle,到哈希表FT,方法具体过程简介如下:
1)连接类别c中的所有文件,组成输入数据d;
2)逐字节扫描输入数据d,执行步骤3)-8);
3)计算当前Shingle的指纹fp,如果当前字节偏移整除L,保存fp到FT;
4)以fp为关键字查询哈希表FT,得到匹配指纹的候选Shingle;
5)然后,检查当前和所有候选Shingle,找出与当前Shingle真正匹配的候选Shingle;
6)如果FT中没有匹配的Shingle,直接输出当前字节,继续扫描下一个字节;
7)否则,尝试双向扩展匹配长度,得到匹配起始地址start和匹配长度length;
8)最后编码冗余数据为<start,length>;
例如,L=3,输入数据是字符串“abcdefgybcdefgx”,逐字节扫描输入字符串,在扫描过程中,方法将保存Shingle“abc”,“def”,“gyb”,“cde”的指纹到哈希表FT,当第二次扫描到“def”的时候,即扫描到第11-13个字节的时候,将在FT中匹配到值为“def”的候选Shingle;然后,从第4个字节和第11个字节向左扫描,可扩展匹配字符串为“bcdef”,从第6个字节和第14个字节向右扫描,可扩展匹配字符串为“bcdefg”;最后,编码冗余串“bcdefg”为<2,6>,压缩之后字符串为“abcdefgy<2,6>x”。

Claims (5)

1.一种基于数据相似的平衡聚类压缩方法,其特征在于,包括以下步骤:
(1)文件特征向量提取,从文件数据中提取特征向量用于计算文件相似度;
(2)聚类样本选取,即从输入数据集D中选取部分数据作为样本数据集,即样本数据集为S;
(3)样本数据聚类,利用平衡聚类方法聚类样本数据集S,具体为:
(A)根据样本数据集S构建相似图G,并满足如下条件:(i)V是顶点集,任意v∈V对应到唯一的一个数据d(v)∈S;每个顶点v有一个权重WV(v),且WV(v)=d(v).len;(ii)E是边集,任意(x,y)∈E都有一个权重WE(x,y),且WE(x,y)=r(d(x),d(y));
(B)调用图分割方法kmetis分割相似图G,并为设置kmetis设定两个约束条件:
约束1:图分割方法需要删除相似图中的一些边,方法必须最小化删除边的权重和,约束1要求分割出来的每个子图中的数据之间具有高相似度,而跨子图数据之间只有低相似度;
约束2:分割方法还必须满足平衡约束条件,即平衡每个子图的顶点权重和;
(4)剩余数据聚类,按照相似度归类剩余数据X=D-S,在满足负载均衡约束的前提下,把剩余数据归入到最相似的类;
(5)结果压缩,对每个类别进行单独压缩,默认采用BMCOM压缩方法,同时亦可采用各种成熟的DELTA压缩方法。
2.根据权利要求1所述基于数据相似的平衡聚类压缩方法,其特征在于,所述步骤(1)具体为:
(A)选择一个窗口长度w和k个整数域上的独立置换函数{h1,h2,…,hk},每个置换函数相互独立;
(B)从前往后逐字节扫描输入文件f,利用高效的Rabin指纹函数,计算当前滑动窗口内数据的指纹,记该指纹为fp,利用上述k个独立置换函数作用于指纹fp,得到k个置换指纹h1(fp),h2(fp),…,hk(fp),记文件f的特征向量F(f)为{F1(f),F2(f),…,Fk(f)},特征向量的第i维Fi(f)等于第i个置换函数所产生的置换指纹的最小值,即Fi(f)=MIN(Fi(f),hi(fp));
(C)扫描完整个文件之后,可计算出文件的特征向量F(f),文件数据相似度r(x,y)根据文件x和y的特征向量定义为|F(x)∩F(y)|/|F(x)∪F(y)|。
3.根据权利要求1所述基于数据相似的平衡聚类压缩方法,其特征在于,所述步骤(2)具体为:
第一步,计算关键数据集,关键数据集KD的定义是存在高相似副本的文件集合,即t是0到1之间的一个较大实数,关键数据集的详细估算方法如下:
(a)选择一个正整数l和w,和一个随机哈希函数H;
(b)循环执行步骤c)和e)共l次;
(c)随机选择w个小于k的正整数{i1,i2,…,iw};
(d)对于每个文件f,利用哈希函数H和特征向量F(f)的第i1,i2,…,iw维计算超级指纹sfp,即
Figure FSB00000232081300022
(e)以sfp为关键字记录(sfp,f)到超级指纹哈希表SFT,即
SFT[sfp]=SFT[sfp]∪{f};
(f)扫描哈希表SFT,对于哈希表中的每个超级指纹sfp,计算集合SFT[sfp]中数据的两两相似度,如果r(x,y)≥t,x,y∈D,那么x和y都属于关键数据集,因此更新关键数据集KD为KD∪{x,y};
第二步,计算超级数据,超级数据及样本数据集S的构建方法如下:
a)按照相似度r(x,y)排序关键数据集KD中的高相似文件对(x,y),得到优先级队列Q;
b)循环执行步骤c)-g),直到队列Q为空;
c)从优先级队列Q中取出相似度最高的一对文件(x,y);
d)产生一个超级数据v,v包含x和y两个文件,根据x和y的特征向量计算v的特征向量F(v),F(v)的第i维Fi(v)等于MIN(Fi(x),Fi(y));
e)对于队列中的包含x的文件对(x,z)或者包含y的文件对(y,z),计算相似度r(v,z);
f)如果v和任意z的相似度r(v,z)都小于t,那么v不可能再与其它数据合并,加v到样本数据集S,即S=S∪{v};
g)否则,对于r(v,z)≥t的数据z,从队列Q中删除数据对(x,z)和(y,z),并根据相似度r(v,z)加(v,z)到队列Q。
4.根据权利要求1所述基于数据相似的平衡聚类压缩方法,其特征在于,所述步骤(4)具体为:
记T(c)=∑d∈cd.len是类别c中包含的文件总大小,剩余聚类方法必须满足如下两个条件之一:i)数据d被分配到最相似的类c;ii)如果还有其它类c′和d更相似,那么T(c′)≥clustersize且c′中的任何数据d′满足sim(c′,d′)≥sim(c′,d),其中clustersize是类平均大小,sim(c′,d)代表数据d和类c′的相似度,类相似度sim(C,d)定义如下:
sim ( C , d ) = &Sigma; i &Element; Z WV ( i ) , Z = F ( d ) &cap; ( &cup; x &Element; C F ( x ) )
剩余聚类方法基于稳定婚姻模型设计,其主要过程如下:
a)对于每个类Ci,根据类相似度sim(Ci,d)排序剩余X得到∏i,初始化类Ci的剩余容量ri和∏i索引Ii
b)执行步骤c),直到所有数据都已经归类;
c)在每次循环中,在总数据量不超过剩余容量ri的前提下,每个类Ci向∏i中尽可能多的数据求婚,设d是被Ci求婚的任意数据,如果数据d还没有求婚者,那么暂时许配d给Ci,如果数据d已有求婚者Cl而且sim(Ci,d)<sim(Cl,d)那么取消对Cl的婚约,许配d给Ci
5.根据权利要求1所述基于数据相似的平衡聚类压缩方法,其特征在于,所述步骤(5)中:
所述BMCOM方法包括以下步骤:
a)连接类别c中的所有文件,组成输入数据d;
b)逐字节扫描输入数据d,执行步骤c)-h);
c)计算当前Shingle的指纹fp,如果当前字节偏移整除L,保存fp到FT;
d)以fp为关键字查询哈希表FT,得到匹配指纹的候选Shingle;
e)然后,检查当前和所有候选Shingle,找出与当前Shingle真正匹配的候选Shingle;
f)如果FT中没有匹配的Shingle,直接输出当前字节,继续扫描下一个字节;
g)否则,尝试双向扩展匹配长度,得到匹配起始地址start和匹配长度length;
h)最后编码冗余数据为<start,length>。
CN2009100953783A 2009-01-12 2009-01-12 基于数据相似的平衡聚类压缩方法 Expired - Fee Related CN101464910B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2009100953783A CN101464910B (zh) 2009-01-12 2009-01-12 基于数据相似的平衡聚类压缩方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2009100953783A CN101464910B (zh) 2009-01-12 2009-01-12 基于数据相似的平衡聚类压缩方法

Publications (2)

Publication Number Publication Date
CN101464910A CN101464910A (zh) 2009-06-24
CN101464910B true CN101464910B (zh) 2011-08-17

Family

ID=40805485

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009100953783A Expired - Fee Related CN101464910B (zh) 2009-01-12 2009-01-12 基于数据相似的平衡聚类压缩方法

Country Status (1)

Country Link
CN (1) CN101464910B (zh)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103632303A (zh) * 2012-08-21 2014-03-12 北京友友天宇系统技术有限公司 多重属性关联的磁性对象网络服务方法及系统
CN102915347B (zh) * 2012-09-26 2016-10-12 中国信息安全测评中心 一种分布式数据流聚类方法及系统
CN102945281B (zh) * 2012-11-16 2015-09-30 上海交通大学 基于最大数据块划分的安全最近邻查询的方法及系统
CN102999594B (zh) * 2012-11-16 2015-08-19 上海交通大学 基于最大划分和随机数据块的安全最近邻查询方法及系统
CN103345586B (zh) * 2013-07-15 2016-03-16 哈尔滨工业大学 面向传感器网络数据流的均匀抽样方法
CN105447079B (zh) * 2015-11-04 2018-11-02 华中科技大学 一种基于函数依赖的数据清洗方法
CN105786622B (zh) * 2016-03-01 2018-12-28 国网安徽省电力公司 一种云环境下用于实时协同计算的节点选择方法
CN106991006B (zh) * 2017-03-30 2018-05-15 浙江天正信息科技有限公司 支持依赖和时间平衡的云工作流任务聚类方法
CN108304502B (zh) * 2018-01-17 2020-10-02 中国科学院自动化研究所 基于海量新闻数据的快速热点检测方法及系统
CN110083743B (zh) * 2019-03-28 2021-11-16 哈尔滨工业大学(深圳) 一种基于统一采样的快速相似数据检测方法
CN110704408A (zh) * 2019-09-10 2020-01-17 南京天数智芯科技有限公司 一种基于聚类的时序数据压缩方法及系统
US20210374525A1 (en) * 2020-05-28 2021-12-02 International Business Machines Corporation Method and system for processing data records
CN116760908B (zh) * 2023-08-18 2023-11-10 浙江大学山东(临沂)现代农业研究院 基于数字孪生的农业信息优化管理方法及系统

Also Published As

Publication number Publication date
CN101464910A (zh) 2009-06-24

Similar Documents

Publication Publication Date Title
CN101464910B (zh) 基于数据相似的平衡聚类压缩方法
US10346257B2 (en) Method and device for deduplicating web page
CN101593200B (zh) 基于关键词频度分析的中文网页分类方法
Garfinkel et al. Using purpose-built functions and block hashes to enable small block and sub-file forensics
US20090028441A1 (en) Method for determining near duplicate data objects
US20110125722A1 (en) Methods and apparatus for efficient compression and deduplication
WO2008154029A1 (en) Data classification and hierarchical clustering
CN106570128A (zh) 一种基于关联规则分析的挖掘算法
CN106611035A (zh) 一种云存储中重复数据删除的检索算法
CN104199923B (zh) 基于最优k均值哈希算法的大规模图像库检索方法
US20120072434A1 (en) Information retrieval method, information retrieval apparatus, and computer product
CN103617157A (zh) 基于语义的文本相似度计算方法
CN102682024B (zh) 未残缺jpeg文件碎片重组的方法
Angibaud et al. On the approximability of comparing genomes with duplicates.
CN102346829A (zh) 基于集成分类的病毒检测方法
CN108549629B (zh) 一种结合相似度和图匹配的老-汉双语句子对齐方法
CN101727500A (zh) 一种基于流聚类的中文网页文本分类方法
CN103678274A (zh) 一种基于改进互信息和熵的文本分类特征提取方法
CN103336890A (zh) 一种快速计算软件相似度的方法
CN103248369A (zh) 基于fpga的压缩系统及其方法
US20160147867A1 (en) Information matching apparatus, information matching method, and computer readable storage medium having stored information matching program
CN108073815A (zh) 基于代码切片的家族判定方法、系统及存储介质
CN103646029A (zh) 一种针对博文的相似度计算方法
CN106021626A (zh) 基于数据挖掘的数据搜索方法
CN112116436A (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
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20110817

Termination date: 20210112