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

文档序号:6575717阅读:230来源:国知局
专利名称:基于数据相似的平衡聚类压缩方法
技术领域
本发明涉及数据压縮、分布式存储归档与数据挖掘领域,特别是涉及一种 基于数据相似的平衡聚类压缩方法。
背景技术
随着信息总量的爆炸式增长,海量分布式存储系统已经成为当前各种互联 网应用的核心设施,分布式存储系统的性能直接决定着整个信息系统性能。在 分布式存储系统中,除了小部分热点数据之外,很大一部分数据根本很少被访 问,但却占用了大量的存储空间和系统资源,因此压縮和归档此类数据可以在 不降低用户体验的前提下,减少系统资源占用,节省成本。
通用的压縮方法只针对单个文件进行压縮,不能利用文件之间的数据冗余 性,压縮比非常有限。另外,学术界提出各种方法虽然能够利用文件之间的数 据冗余,但是计算量过大,执行效率不足,而且这些方法很少考虑压縮后数据 的存储问题,没有针对海量分布式存储系统进行优化,容易造成数据之间的依 赖性和系统负载不均。

发明内容
本发明的目的在于提供一种基于数据相似的平衡聚类压縮方法,根据文件 数据相似性对文件集进行聚类,得到较为均匀的聚类结果,即每类几乎包含相
同数据量,然后利用DELTA压縮或者BMCOM等压縮方法压逐类縮聚类结果。 本发明的目的是通过以下技术方案来实现的 一种基于数据相似的平衡聚
类压縮方法,包括以下步骤-
(l)文件特征向量提取,从文件数据中提取特征向量用于计算文件相似度。 第一步,选择一个窗口长度w和&个整数域上的独立置换函数^;, /22,…,
&},每个置换函数相互独立;
第二步,从前往后逐字节扫描输入文件/,利用高效的Rabin指纹函数,计算当前滑动窗口内数据的指纹,记该指纹为》,利用上述A个独立置换函数作
用于指纹》,得到A:个置换指纹&OK), ^砂),…,^砂),记文件/的特征向量F(^为(F;必,^仿,…,&09},特征向量的第/维F必等于第!'个置换函数所产生的置换指纹的最小值,即F^^MIN(F,切,
第三步,扫描完整个文件之后,可计算出文件的特征向量F()9,文件数据相似度 ,"根据文件;c和_y的特征向量定义为li^」nF關/^WuF關;
(2)聚类样本选取,即从输入数据集D中选取部分数据作为样本数据集,即样本数据集为&
第一步,计算关键数据集,关键数据集XD的定义是存在高相似副本的文件集合,即^XH芈eD/s(3;;eD7f3c,力3)}, f是0到1之间的一个较大实数,关键数据集中的数据通常具有比较高的可压縮性,能对最终压縮比产生比较大的影响;
准确计算关键数据集XD的计算量较大,其时间复杂度为0(|Z)|2),因此利用超级指纹快速检测高相似数据;超级指纹是根据多个文件指纹计算的哈希值,如果两个数据具有相同的超级指纹,那么它们拥有很多相同的文件指纹,因此它们的相似度比较高;关键数据集的详细估算方法如下
(g) 选择一个正整数/和w,和一个随机哈希函数/7;
(h) 循环执行步骤c)和e)共/次;
(i) 随机选择w个小于A:的正整数",/2,…,zw};
(j)对于每个文件/,利用哈希函数/Z和特征向量i^)的第^ /2,…,/w维计算超级指纹弥,即弥=(/)□...□&(/》;
(k) 以沙为关键字记录(沙,/)到超级指纹哈希表wr,即
(1)扫描哈希表SKT,对于哈希表中的每个超级指纹^9,计算集合5F775^/中数据的两两相似度,如果x, ;;eD,那么x和;;都属于关键数据集,因此更新关键数据集XD为iOXj{jc,力;第二步,计算超级数据,超级数据是多个关键数据合并而成的虚拟数据,任意超级数据s是关键数据集的子集,即s^D,超级数据中包含的数据相似度比较高,因此合并这些数据,把它们当作整体来处理,可以提高聚类质量,此外,合并成超级数据可以减少聚类方法的输入数据,提高聚类性能;超级数据及样本数据集S的构建方法如下
h)按照相似度r(3c,力排序关键数据集XD中的高相似文件对f^ ^,得到优先级队列0;i)循环执行步骤c)-g),直到队列g为空;
j)从优先级队列g中取出相似度最高的一对文件(^ W;
k)产生一个超级数据V, V包含X禾卩少两个文件,根据X和少的特征向量
计算v的特征向量F(v, F 的第i维F,勿等于MIN(F,(3c入i^K));1)对于队列中的包含x的文件对(3c, ^或者包含y的文件对(>,力,计算相
m)如果v和任意z的相似度r ,z卩都小于"那么v不可能再与其它数据合
并,加v到样本数据集S,即5=5^{^};n)否则,对于—/^a的数据二从队列g中删除数据对(3c, ^和0, z」,
并根据相似度r(V, ^加 ,^到队列Q;
(3) 样本数据聚类,利用平衡聚类方法聚类样本数据集A
第一步,根据样本数据集S构建相似图G,相似图形如GTF, £人并满足如下条件(i)F是顶点集,任意veF对应到唯一的一个数据^VjeS;每个顶点v有一个权重『F 人且fn《v戶^v)./ew; (ii)£是边集,任意(3c, 都有一个权重^,且『五(3c, 3/>-K《x),喊y》;
第二步,调用高效的图分割方法kmetis分割相似图G,并为设置kmetis设定两个约束条件
约束l(损失最小化)图分割方法需要删除相似图中的一些边,方法必须最小化删除边的权重和,约束1要求分割出来的每个子图中的数据之间具有高相似度,而跨子图数据之间只有低相似度;
约束2(负载均衡)分割方法还必须满足平衡约束条件,即平衡每个子图的顶点权重和;
(4) 剩余数据聚类,按照相似度归类剩余数据》=D-5*,在满足负载均衡约束的前提下,把剩余数据归入到最相似的类;
记7^>=2^^.&"是类别c中包含的文件总大小,剩余聚类方法必须满足如下两个条件之一i)数据"被分配到最相似的类c; ii)如果还有其它类c'和d更相似,那么7Tc'」》c/w他m'ze且c'中的任何数据cT满足sz'w(c',W )》Ww(c',力,其中c/wWera/ze是类平均大小,w'm(c',力代表数据d和类c'的相似度,类相似度w'附(^,《定义如下w'm(C,力=£eZ ^T(/), Z =尸(力n ((J F(x))剩余聚类方法基于稳定婚姻模塾设计,其主要过程如下a)对于每个类G,根据类相似度sfm(G, c/)排序剩余Z得到n,初始化类
G的剩余容量^和rx索引/'-;b) 执行步骤c),直到所有数据都已经归类;
c) 在每次循环中,在总数据量不超过剩余容量^的前提下,每个类C,向FL中尽可能多的数据求婚,设"是被G.求婚的任意数据,如果数据J还没有求婚者,那么暂时许配"给G.,如果数据J己有求婚者C/而且s/m(G,力々/m(C〃力那么取消对G的婚约,许配J给C,;
(5)结果压縮,对每个类别进行单独压縮,默认采用BMCOM压縮方法,同时亦可采用各种成熟的DELTA压縮方法;
BMCOM方法是Bentley和Mcilroy在1999年提出来的,它能够压縮间隔距离很长的冗余数据,而且压縮和解压縮性能非常好,分别能够达到lOOMB/s和1000MB/s,其本思想是利用Shingle技术检测并压縮较长的冗余数据,Shingle是数据中一段固定长度的子串,假设Shingle的长度为丄,BMCOM能够压縮所有长度>2£的字符串,并部分压縮长度在丄 2i:之间的冗余数据;
方法利用Shingle的哈希值作为Shingle指纹高效检测冗余数据,方法维护一个关键字为指纹,值为Shingle的哈希表Fr,以指纹为关键字保存所有不重叠Shingle,到哈希表F2",方法具体过程简介如下
a) 连接类别c中的所有文件,组成输入数据A
b) 逐字节扫描输入数据A执行步骤c)-h);
c) 计算当前Shingle的指纹加如果当前字节偏移整除丄,保存》到^T;
d) 以》为关键字査询哈希表KT,得到匹配指纹的候选Shingle;
e) 然后,检查当前和所有候选Shingle,找出与当前Shingle真正匹配的候选Shingle;
f) 如果FT中没有匹配的Shingle,直接输出当前字节,继续扫描下一个字节;
g) 否则,尝试双向扩展匹配长度,得到匹配起始地址和匹配长度
h) 最后编码冗余数据为々toW, /e ^/z>。本发明具有的有益效果是
聚类结果相对均匀,能够提高分布式存储系统中数据归档存储的负载均衡
能力;聚类效率较高,基于关键数据采样的聚类方式大大减小方法计算量。


图1是基于数据相似的聚类压縮方法过程示意图;图2是剩余聚类方法示意图。
具体实施例方式
如图1所示,本发明的实施步骤如下
1. 文件特征向量提取
从文件数据中提取特征向量用于计算文件相似度,其具体实施步骤如下-
1) 选择一个窗口长度W和6个整数域上的独立置换函数{&, /22, , &},每
个置换函数相互独立,这里采用独立线性函数,B卩/z产"i x + & mod p,其中 i, & pe[]是随机产生的整数;
2) 从前往后逐字节扫描输入文件/,利用高效的Rabin指纹函数,计算当前滑动 窗口内数据的指纹,记该指纹为^,利用上述&个独立置换函数作用于指纹
》,得到A个置换指纹/^C^), ^砂),…,M/W,记文件/的特征向量i^ 为{^09, ^09,…,&必},特征向量的第纟维i^9等于第/个置换函数所
产生的置换指纹的最小值,即K(^^MIN(i^9, /2,侦));
3) 扫描完整个文件之后,可计算出文件的特征向量F0,文件数据相似度ffx, y」根据文件x和;;的特征向量定义为F^nF6^/IF(^uF6^
2. 聚类样本选取
从输入数据集D中选取部分数据作为样本数据集S,其具体实施步骤如下 1)计算关键数据集
关键数据集D是指存在高相似文件的文件集合,即XZ>{x|xeZ)A(3;;e£Wrx, y^W, ^是0到1之间的一个较大实数,关键数据集中的数据通常具有比较高 的可压縮性,能对最终压縮比产生比较大的影响;
准确计算关键数据集AX>需要很大计算量,时间复杂度为0(|D|2),因此采 用LSH法估算关键数据集,该方法的主要思想是利用利用超级指纹快速检测高 相似数据,超级指纹是根据多个指纹计算的哈希值,只要两个数据具有相同的 超级指纹,它们相似的概率非常大,基于LSH的关键数据集计算方法如下-
a) 选择一个正整数/和w,和一个随机哈希函数/7;
b) 循环执行步骤c)和e)共/次;
c) 随机选择w个小于A:的正整数(/!, /2,…,4};
d) 对于每个文件/,利用哈希函数/7和特征向量i^)的第^ !'2,…,"维计算
超级指纹^ ,即沙=7/(《(/)0.』^(/));
e) 以为关键字记录0》,力到超级指纹哈希表5TT,即5^77"沙戶^77"沙A^(/);
f) 扫描哈希表6Fr,对于哈希表中的每个超级指纹^ ,计算集合5F77^ /中数 据的两两相似度,如果咕,"a, x, _yeD,那么x和;;都属于关键数据集,因此更新关键数据集XD为raU(A力; 2)计算超级数据
超级数据是多个关键数据合并而成的虚拟数据,任意超级数据s是关键数据 集的子集,即sqKD,超级数据中包含的数据相似度比较高,因此合并这些数据, 把它们当作整体来处理,可以提高聚类质量,此外,合并成超级数据可以减少 聚类方法的输入数据,提高聚类性能;
超级数据的特征向量可以根据数据的特征向量计算,设v是一个超级数据, x和y是v中包含的数据。那么i^V戶MINCP/力,F,(y」);
超级数据及样本数据集S的构建方法如下
a) 按照相似度Wx, ^排序关键数据集XD中的高相似文件对f^力,得到优先 级队列g;
b) 循环执行步骤c)-g),直到队列g为空;
c) 从优先级队列2中取出相似度最高的一对文件(^ ";
d) 产生一个超级数据v, v包含x和_y两个文件,根据;c和;;的特征向量计算v 的特征向量F(V夂 FW的第i维F,^等于MIN(F/力,
e) 对于队列中的包含义的文件对 ,^或者包含少的文件对6^ z人计算相似度 r(V/ z力
f) 如果v和任意z的相似度^V, ^都小于6那么v不可能再与其它数据合并, 加v到样本数据集S,即S=<Su{V};
g) 否则,对于"v, ^a的数据z,从队列G中删除数据对",^和(y, A并根
据相似度小,Zj加 ,^到队列g;
例如t0.5,样本数据集S-0,数据集D-(a, b, c, d}, F(a)=[l, 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),, 2, 3, 4, 5}, r(B, d)=3/9,因为r(B, d)<t,因此S-(B);
3.样本数据聚类
利用平衡聚类方法聚类样本数据集&1) 根据样本数据集S构建相似图G,相似图形如GTF, 并满足如下条件(i)F是顶点集,任意ver对应到唯一的一个数据浙v)eS;
每个顶点v有一个权重!^Yv力且『^v戶^V/fe"; (ii)五是边集,任意(3c, "e五 都有一个权重『5(3c,力,且『五(3c,力7(《x),《y));
2) 调用经典和高效的图分割方法kmetis分割相似图G,并为设置kmetis设定两 个约束条件
约束l(损失最小化)图分割方法需要删除相似图中的一些边,方法必须最小 化删除边的权重和,约束1要求每个子图中内的数据之间具有高相似度,而跨 子图数据之间只有低相似度;
约束2(负载均衡)分割方法还必须满足平衡约束条件,即平衡每个子图的顶 点权重和; 4.剩余数据聚类
按照相似度归类剩余数据义="-5,在满足负载均衡约束的前提下,把剩余数 据归入到最相似的类;
记7TCJ=i;de^./eM是类别c中包含的文件总大小,剩余聚类方法必须满足如 下两个条件之一i)数据d被分配到最相似的类c; ii)如果还有其它类J和 d更相似,那么7Tc'」》c/w故ra/^且c'中的任何数据W满足w'm(c', t/' )^s/m(c',力,其中c/w化ra/ze是类平均大小,w'm(c',力代表数据d和类 c'的相似度,类相似度定义如下Ww(C^h2^『r(0,Z-F(c0n(U尸(x));
准确计算类相似度比较耗费时间,因此采S BloomFilter估^类相似度, BloomFilter是判断元素是否在集合中的快速方法,而且占用内存较小,只有哈 希表的1/8所有的内存空间,我们为每个类创建都一个BloomFilter,(风d), S(C2), ..., S(CJ),并利用它们估算类相似度;
9w(c,to=s:攀一(,))-脾(巧(力)
BloomFilter没有false negative,而且false positive比率也非常小,因此可以 证明Wm(C,cO《flw(C,c0 ;
如图2所示,剩余聚类方法基于稳定婚姻模型实现,其主要过程如下
1) 对于每个类G,根据类相似度Wm(G, J)排序Z得到IX,初始化类G的剩余 容量^为c/wWera/ze和FL索引/,为0;
2) 执行步骤d),直到所有数据都已经归类;
3) 在每次循环中,每个类G向H中,第力个数据之后的,尽可能多的数据求婚, 求婚总数据量必须不能超过剩余容量。;
4) 设当前G向d求婚,先设置/产/,+7,如果数据"还没有求婚者,那么暂时许酉己d给C,.;如果数据d已有求婚者C/而且w'm(G, J)々z'm(C,,力那么取消对 C,的婚约,许配"给G,并根据需要调整" 5.结果压縮
对每个类别进行单独压縮,默认采用BMCOM压縮方法,同时亦可采用各种 成熟的DELTA压縮方法。
BMCOM方法是Bentley和Mcilroy在1999年提出来的,它能够压縮间隔距 离很长的冗余数据,而且压縮和解压縮性能非常好,分别能够达到100MB/s和 1000MB/s。其本思想是利用Shingle(固定长度的子字节串)指纹技术检测并压縮 较长的冗余数据。假设Shingle的长度为Z, BMCOM能够压縮所有长度>2丄的 字符串,并部分压縮长度在丄 2丄之间的冗余数据。
方法维护一个关键字为指纹,值为Shingle的哈希表Fr,以指纹为关键字, 保存所有不重叠Shingle,到哈希表Fr,方法具体过程简介如下
1) 连接类别c中的所有文件,组成输入数据A
2) 逐字节扫描输入数据A执行步骤3)-8);
3) 计算当前Shingle的指纹#,如果当前字节偏移整除丄,保存》到^T;
4) 以》为关键字査询哈希表Fr,得到匹配指纹的候选Shingle;
5) 然后,检查当前和所有候选Shingle,找出与当前Shingle真正匹配的候选 Shingle;
6) 如果FT中没有匹配的SWngle,直接输出当前字节,继续扫描下一个字节;
7) 否则,尝试双向扩展匹配长度,得到匹配起始地址stoW和匹配长度/e"g^;
8) 最后编码冗余数据为々toW, /e"g//z>;
例如,丄=3,输入数据是字符串"abcdefgybcdefgx",逐字节扫描输入字符 串,在扫描过程中,方法将保存Shingle "abc" , "def,, "gyb" , "cde"的 指纹到哈希表FJ1,当第二次扫描到"def"的时候,即扫描到第11-13个字节的 时候,将在Fr中匹配到值为"def"的候选Shingle;然后,从第4个字节和第 11个字节向左扫描,可扩展匹配字符串为"bcdef",从第6个字节和第14个 字节向右扫描,可扩展匹配字符串为"bcdefg";最后,编码冗余串"bcdefg" 为<2, 6>,压縮之后字符串为"abcdefgy〈2, 6>x"。
权利要求
1、一种基于数据相似的平衡聚类压缩方法,其特征在于,包括以下步骤(1)文件特征向量提取,从文件数据中提取特征向量用于计算文件相似度。(2)聚类样本选取,即从输入数据集D中选取部分数据作为样本数据集,即样本数据集为S。(3)样本数据聚类,利用平衡聚类方法聚类样本数据集S。(4)剩余数据聚类,按照相似度归类剩余数据X=D-S,在满足负载均衡约束的前提下,把剩余数据归入到最相似的类。(5)结果压缩,对每个类别进行单独压缩,默认采用BMCOM压缩方法,同时亦可采用各种成熟的DELTA压缩方法。
2、 根据权利要求1所述基于数据相似的平衡聚类压縮方法,其特征在于,所述 步骤(1)具体为(A) 选择一个窗口长度w和A:个整数域上的独立置换函数(&, &,…, &},每个置换函数相互独立。(B) 从前往后逐字节扫描输入文件/,利用高效的Rabin指纹函数,计算 当前滑动窗口内数据的指纹,记该指纹为》,利用上述A个独立置换函数作用于指纹^,得到A个置换指纹/2;砂),/22砂),…,/Zfc砂),记文件/的特征向量尸09为("必,R必,…,&09},特征向量的第z'维i^9等于第/个置换函数所 产生的置换指纹的最小值,即F,(Z^MIN(F,伪,Z^你))。(C) 扫描完整个文件之后,可计算出文件的特征向量/^9,文件数据相似 度咕,^根据文件x和;;的特征向量定义为li^)r^6^/li^)ui^Jl。
3、 根据权利要求1所述基于数据相似的平衡聚类压縮方法,其特征在于,所述 步骤(2)具体为第一步,计算关键数据集,关键数据集XD的定义是存在高相似副本的文件 集合,即,^xeZ)A(3;;ei),;Yx, _y)a)}, f是0到1之间的一个较大实数,关 键数据集的详细估算方法如下(a) 选择一个正整数/和w,和一个随机哈希函数//。(b) 循环执行步骤c)和e)共/次。(c) 随机选择w个小于A:的正整数&, /2,…,/w}。(d) 对于每个文件/,利用哈希函数H和特征向量F()9的第",/2,…, /w维计算超级指纹沙,即沙=。(e) 以^7为关键字记录C ^, y)到超级指纹哈希表SFr,艮P釘她户釘她Aj(/jo(f)扫描哈希表SFr,对于哈希表中的每个超级指纹^9,计算集合5"F775^/ 中数据的两两相似度,如果^:, Wa, x, yeD,那么x和少都属于关 键数据集,因此更新关键数据集^D为^ZX4x,力。 第二步,计算超级数据,超级数据及样本数据集S的构建方法如下a) 按照相似度<l ^排序关键数据集XD中的高相似文件对&, ^,得到 优先级队列^。b) 循环执行步骤c)-g),直到队列g为空。c) 从优先级队列g中取出相似度最高的一对文件&,"。d) 产生一个超级数据v, v包含x和;;两个文件,根据x和_y的特征向量 计算v的特征向量i^), F(V)的第i维尸i勿等于MIN(^^, F,.0」)。e) 对于队列中的包含x的文件对&, ^或者包含^的文件对(>,z人计算相 似度巾,水f) 如果v和任意z的相似度zj都小于"那么v不可能再与其它数据合 并,加v到样本数据集51,即5HSU(v〉。g) 否则,对于—,z)3的数据z,从队列Q中删除数据对(3c, ^和&, z, 并根据相似度r(V, zJ加(V, w到队列g。
4、 根据权利要求1所述基于数据相似的平衡聚类压縮方法,其特征在于,所述 步骤(3)具体为(A) 根据样本数据集S构建相似图G,并满足如下条件(i)r是顶点集, 任意veF对应到唯一的一个数据每个顶点v有一个权重『nV力且 ^Yv戶^V)./e"; (ii)五是边集,任意f^ "e五都有一个权重",且『五「x, 力=#), "(y》。(B) 调用高效的图分割方法kmetis分割相似图G,并为设置kmetis设定 两个约束条件约束l:图分割方法需要删除相似图中的一些边,方法必须最小化删除边的 权重和,约束1要求分割出来的每个子图中的数据之间具有高相似度,而跨子 图数据之间只有低相似度。约束2:分割方法还必须满足平衡约束条件,即平衡每个子图的顶点权重和。
5、 根据权利要求1所述基于数据相似的平衡聚类压縮方法,其特征在于,所述步骤(4)具体为记7r^=2k^./^是类别c中包含的文件总大小,剩余聚类方法必须满足如下两个条件之一i)数据"被分配到最相似的类C; ii)如果还有其它类C'和d更相似,那么7Tc' )^c/w他m'ze且c'中的任何数据d'满足w'm(c', W )^Ww(c',力,其中c/wWem:ze是类平均大小,w'm(c',力代表数据d和类 c'的相似度,类相似度w'm^:,《定义如下 W—C,力=『r (/), Z = F(力n ((J剩余聚类方法基于稳定婚姻模i设计,其主要过程如下a) 对于每个类g,根据类相似度wm(c,,力排序剩余x得到n,,初始化类 g的剩余容量^和rx索引/,。b) 执行步骤c),直到所有数据都已经归类。c) 在每次循环中,在总数据量不超过剩余容量。的前提下,每个类c,向rx.中尽可能多的数据求婚,设r/是被C,求婚的任意数据,如果数据d还没有求婚 者,那么暂时许配J给C,,如果数据d已有求婚者C,而且Wm(G., J)勺/m(G, 力那么取消对C,的婚约,许配d给G。
6、根据权利要求1所述基于数据相似的平衡聚类压縮方法,其特征在于,所述 步骤(5)中所述BMCOM方法包括以下步骤a) 连接类别c中的所有文件,组成输入数据&b) 逐字节扫描输入数据A执行步骤c)-h)。c) 计算当前Shingle的指纹》,如果当前字节偏移整除丄,保存》到Fr。d) 以》为关键字查询哈希表7T,得到匹配指纹的候选Shingle。e) 然后,检查当前和所有候选Shingle,找出与当前Shingle真正匹配的候选 Shingle 。f) 如果FT中没有匹配的Shingle,直接输出当前字节,继续扫描下一个字节。g) 否则,尝试双向扩展匹配长度,得到匹配起始地址和匹配长度/wgA。h) 最后编码冗余数据为々toW, /ewgA>。
全文摘要
本发明公开了一种基于数据相似的聚类压缩方法。本发明通过分析文件数据,从文件提取特征指纹构造特征向量,用于计算数据相似度,并利用带约束条件的图分割方法聚类输入文件集成多个均匀大小的类别,然后采用BMCOM等压缩方法对每个类别单独进行压缩,以去除类内部的冗余数据。本发明利用基于数据采样聚类方式,把具有较高可压缩性的关键数据作为样本数据,首先对样本数据进行聚类,然后通过稳定婚姻方法归类剩余数据,在不降低压缩效果的情况下可提高聚类效率。本发明可以作为一种压缩和归档方法应用到分布式存储系统中,能够克服已有方法的数据依赖和负载不均问题。
文档编号G06F17/30GK101464910SQ200910095378
公开日2009年6月24日 申请日期2009年1月12日 优先权日2009年1月12日
发明者余利华, 寿黎但, 胡天磊, 刚 陈, 珂 陈 申请人:浙江大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1