首页 / 专利库 / 图形技术 / 逐行扫描 / 基于数据相似的平衡聚类压缩方法

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

阅读:687发布:2024-02-25

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

1、一种基于数据相似的平衡聚类压缩方法,其特征在于,包括以下步骤:
(1)文件特征向量提取,从文件数据中提取特征向量用于计算文件相似度。
(2)聚类样本选取,即从输入数据集D中选取部分数据作为样本数据集, 即样本数据集为S。
(3)样本数据聚类,利用平衡聚类方法聚类样本数据集S。
(4)剩余数据聚类,按照相似度归类剩余数据X=D-S,在满足负载均衡约 束的前提下,把剩余数据归入到最相似的类。
(5)结果压缩,对每个类别进行单独压缩,默认采用BMCOM压缩方法, 同时亦可采用各种成熟的DELTA压缩方法。
2、根据权利要求1所述基于数据相似的平衡聚类压缩方法,其特征在于,所述 步骤(1)具体为:
(A)选择一个窗口长度w和k个整数域上的独立置换函数{h1,h2,…, hk},每个置换函数相互独立。
(B)从前往后逐字节扫描输入文件f,利用高效的Rabin指纹函数,计算 当前滑动窗口内数据的指纹,记该指纹为fp,利用上述k个独立置换函数作用 于指纹fp,得到k个置换指纹h1fp),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)∩(y)|/|F(x)∪(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,即
(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=∪{v}。
g)否则,对于r(v,z)≥t的数据z,从队列Q中删除数据对(x,z)和(y,z), 并根据相似度r(v,z)加(v,z)到队列Q。
4、根据权利要求1所述基于数据相似的平衡聚类压缩方法,其特征在于,所述 步骤(3)具体为:
(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:分割方法还必须满足平衡约束条件,即平衡每个子图的顶点权重和。
5、根据权利要求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 ) = Σ 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)6、根据权利要求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)最后编码冗余数据为

说明书全文

技术领域

发明涉及数据压缩、分布式存储归档与数据挖掘领域,特别是涉及一种 基于数据相似的平衡聚类压缩方法

背景技术

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

发明内容

本发明的目的在于提供一种基于数据相似的平衡聚类压缩方法,根据文件 数据相似性对文件集进行聚类,得到较为均匀的聚类结果,即每类几乎包含相 同数据量,然后利用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的定义是存在高相似副本的文件 集合,即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,即
(k)以sfp为关键字记录(sfp,f)到超级指纹哈希表SFT,即 SFT[sfp]=SFT[sfp]∪{f};
(1)扫描哈希表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,相似图形如GW,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)(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)最后编码冗余数据为
本发明具有的有益效果是:
聚类结果相对均匀,能够提高分布式存储系统中数据归档存储的负载均衡 能;聚类效率较高,基于关键数据采样的聚类方式大大减小方法计算量。
附图说明
图1是基于数据相似的聚类压缩方法过程示意图;
图2是剩余聚类方法示意图。

具体实施方式

如图1所示,本发明的实施步骤如下:
1.文件特征向量提取:
从文件数据中提取特征向量用于计算文件相似度,其具体实施步骤如下:
1)选择一个窗口长度w和k个整数域上的独立置换函数{h1,h2,…,hk},每 个置换函数相互独立,这里采用独立线性函数,即hi=ai x+bi mod p,其中 ai,bi,是随机产生的整数;
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)∩F(y)|/|F(x)∪F(y)|;
2.聚类样本选取:
从输入数据集D中选取部分数据作为样本数据集S,其具体实施步骤如下:
1)计算关键数据集:
关键数据集KD是指存在高相似文件的文件集合,即 r是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,即
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};
2)计算超级数据:
超级数据是多个关键数据合并而成的虚拟数据,任意超级数据s是关键数据 集的子集,即 s 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∪{v};
g)否则,对于r(v,z)≥t的数据z,从队列Q中删除数据对(x,z)和(y,z),并根 据相似度r(v,z)加(v,z)到队列Q;
例如t=0.5,样本数据集数据集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)3.样本数据聚类
利用平衡聚类方法聚类样本数据集S:
1)根据样本数据集Sr构建相似图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 ) = Σ i Z WV ( i ) , Z = F ( d ) ( x C F ( x ) ) ;
准确计算类相似度比较耗费时间,因此采用BloomFilter估算类相似度, BloomFilter是判断元素是否在集合中的快速方法,而且占用内存较小,只有哈 希表的1/8所有的内存空间,我们为每个类创建都一个BloomFilter,{B(C1), B(C2),...,B(Gm)},并利用它们估算类相似度;

BloomFilter没有false negative,而且false positive比率也非常小,因此可以 证明
如图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)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)最后编码冗余数据为
例如,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”。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈