CN114281989A - 基于文本相似度的数据去重方法、装置及存储介质和服务器 - Google Patents
基于文本相似度的数据去重方法、装置及存储介质和服务器 Download PDFInfo
- Publication number
- CN114281989A CN114281989A CN202111516164.6A CN202111516164A CN114281989A CN 114281989 A CN114281989 A CN 114281989A CN 202111516164 A CN202111516164 A CN 202111516164A CN 114281989 A CN114281989 A CN 114281989A
- Authority
- CN
- China
- Prior art keywords
- index
- text data
- data
- secondary index
- resident
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 42
- 238000003860 storage Methods 0.000 title claims abstract description 36
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 28
- 238000003064 k means clustering Methods 0.000 claims abstract description 12
- 238000007781 pre-processing Methods 0.000 claims abstract description 9
- 238000004590 computer program Methods 0.000 claims description 9
- 230000014759 maintenance of location Effects 0.000 claims description 6
- 238000004364 calculation method Methods 0.000 claims description 4
- 238000006467 substitution reaction Methods 0.000 claims description 4
- 230000006870 function Effects 0.000 claims description 2
- 230000000875 corresponding effect Effects 0.000 description 22
- 230000008569 process Effects 0.000 description 15
- 238000010586 diagram Methods 0.000 description 5
- 238000004519 manufacturing process Methods 0.000 description 4
- 230000002776 aggregation Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 230000003203 everyday effect Effects 0.000 description 2
- 230000002085 persistent effect Effects 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000005054 agglomeration Methods 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000013075 data extraction Methods 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及大数据处理领域,具体涉及一种基于文本相似度的数据去重方法、装置及存储介质和服务器;所述方法包括对初始文本数据和增量文本数据分别预处理;从初始文本数据中抽取部分样本,采用层次聚类算法对其分类,并确定出一级索引;采用k‑means聚类算法将所有初始文本数据哈希值划分到层次聚类算法对应的类别中,构建出二级索引,并将二级索引的地址指向一级索引;通过检索二级索引,对初始文本数据去重,并从二级索引选择排名靠前的作为常驻索引,结合常驻索引、二级索引和一级索引,对增量文本数据进行去重处理。本发明能提高内存命中率,有效减少磁盘I/O操作,极大减少去重任务对***资源的占用,有效降低企业数据的存储成本。
Description
技术领域
本发明涉及大数据处理领域,具体涉及一种基于文本相似度的数据去重方法、装置及存储介质和服务器。
背景技术
物联网和社交媒体的成功使云平台服务提供商们面临极大的挑战,各类数据中心每天都要处理分析海量的数据以挖掘出潜在的经济价值。但在数据分析的同时,还需要解决庞大的数据存储需求,云计算引领下的分布式存储方案成为解决数据存储问题的高效可靠的方案,但云端数据的大量增长导致云端负荷急剧增大,管理保存数据的成本及数据中心空间和能耗也变得越来越严重。
据统计,全球数据中有高达60%的数据是重复的,而在备份和归档存储***中,重复数据高达80%-90%。重复数据删除被广泛应用在云端的存储备份与归档***中。该技术是基于磁盘的备份存储***中的专业数据缩减方案,旨在消除数据集合中的冗余数据,减少云服务提供商们在基础架构和硬件上的投资成本。然而现有数据去重改进方法,例如自适应的相似聚类算法(adaptive similar clustering algorithm,ASCA)、聚合Binning等针对于提高重删率和精准度,反而忽略了实际应用场景中的***效率。这类改进的计算密集型的数据去重方案,往往会占用***大量的CPU资源和I/O资源,严重影响到***读写性能和其他业务性能。
发明内容
为解决上述技术问题,针对实际生产过程中计算密集型的数据去重方案,往往会占用***大量的CPU资源和I/O资源,严重影响到***读写性能和其他业务性能的问题。本发明提供一种基于文本相似度的数据去重方法、装置及存储介质和服务器,本发明对初始文本数据进行哈希计算后,通过结合层次聚类算法和K-means聚类算法分别对待处理数据进行相似集分类,并在此基础上进行初始数据去重和构建多级索引结构,在以后提交的增量文本数据中,通过多重索引结构与关联性内存置换策略完成数据去重与索引更新,从而减少CPU和磁盘资源的占用,提高数据去重的效率。
在本发明的第一方面,本发明提供了一种基于文本相似度的数据去重方法,所述方法包括:
对初始文本数据和增量文本数据进行预处理,分别获得初始文本数据和增量文本数据的数字指纹和哈希值;
从所述初始文本数据中抽取部分样本,采用层次聚类算法对部分初始文本数据哈希值进行分类,确定出K个相似集中心,将相似集中心哈希值和相似集中心标志作为一级索引;
采用k-means聚类算法将所有初始文本数据哈希值划分到K个相似集中心对应的分类中,以初始文本数据哈希值、数字指纹和存储路径作为主键,将主键和引用次数作为二级索引,并将二级索引的地址指向一级索引;
通过检索二级索引,对具有相同主键的初始文本数据进行去重处理,并增加数据引用次数;统计每个二级索引数据引用次数的总量,将二级索引按照引用次数从大到小的顺序进行排列,选择前K/4的二级索引作为常驻索引;
构造出布隆过滤器,并将常驻索引中的初始文本哈希值填充布隆过滤器,在所述布隆过滤器中,利用增量文本数据的数字指纹和哈希值,结合常驻索引、二级索引和一级索引,对增量文本数据进行去重处理。
在本发明的第二方面,本发明还提供了一种基于文本相似度的数据去重装置,包括:
数据处理单元,用于对初始文本数据和增量文本数据进行预处理,分别获得初始文本数据和增量文本数据的数字指纹和哈希值;
一级索引单元,用于从所述初始文本数据中抽取部分样本,采用层次聚类算法对部分初始文本数据哈希值进行分类,确定出K个相似集中心,将相似集中心哈希值和相似集中心标志作为一级索引;
二级索引单元,用于采用k-means聚类算法将所有初始文本数据哈希值划分到K个相似集中心对应的分类中,以初始文本数据哈希值、数字指纹和存储路径作为主键,将主键和引用次数作为二级索引,并将二级索引的地址指向一级索引;
第一去重单元,用于通过检索二级索引,对具有相同主键的初始文本数据进行去重处理,并增加数据引用次数;
常用索引单元,用于统计每个二级索引数据引用次数的总量,将二级索引按照引用次数从大到小的顺序进行排列,选择前K/4的二级索引作为常驻索引;
布隆过滤器,用于存储常驻索引中的初始文本哈希值,并提供检索;
第二去重单元,用于在所述布隆过滤器中,利用增量文本数据的数字指纹和哈希值,结合常驻索引、二级索引和一级索引,对增量文本数据进行去重处理。
在本发明的第三方面,本发明还提供了一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现如本发明第一方面所述的基于文本相似度的数据去重方法。
在本发明的第四方面,本发明还提供了一种服务器,包括处理器和存储器;所述存储器用于储存多个计算机程序,所述计算机程序用于由处理器加载并执行如本发明第一方面所述的基于文本相似度的数据去重方法;所述处理器,用于实现所述多个计算机程序中的各个计算机程序。
本发明的优点及有益效果如下:
本发明提供的一种基于文本相似度的数据去重方法、装置及存储介质和服务器,将初始的海量数据文件通过结合层次聚类和K-means聚类,充分利用两种聚类方法的优势来自适应性地创建出相似集和主键,保持数据去重效率和重删率平衡,并合理构建多级索引,为后面的增量数据去重任务提供基础;在增量文件的去重过程中,利用自适应性的内存置换算法,提高内存命中率,有效减少磁盘I/O操作,极大减少去重任务对***资源的占用,有效降低企业数据的存储成本。
附图说明
下面将结合附图及实施例对本发明作进一步说明,附图中:
图1为本发明实施例中作为海量数据去重的***架构图;
图2为本发明实施例中一种基于文本相似度的数据去重方法流程图;
图3为本发明实施例中的多级索引结构图;
图4为本发明实施例中的另一种数据去重方法流程图;
图5为本发明实施例中的初始文本数据去重流程图;
图6为本发明实施例中的增量文本数据去重流程图;
图7为本发明实施例中基于文本相似度的数据去重装置结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明实施例中作为海量数据去重的***架构图,如图1所示,在云平台中,只有***管理员有权限对磁盘数据进行去重操作,其中云平台中包括多个子***,本发明的重点在于去重***,所以其他app***不发明并不关注,在本发明中,用户请求的资源都通过文件***存储在后台磁盘中,一方面,存储在磁盘中的文件可以输入到去重***中,另一方面,去重***可以将这些文件进行去重处理后输出到磁盘中,从而完成对磁盘文件的去重;由于云平台中业务***繁多,为了减少对业务***服务器的影响,由管理员选择在合适的时间节点,对云平台后台持久化的数据内容进行去重操作。
图2是本发明实施例中一种基于文本相似度的数据去重方法流程图,如图2所示,所述方法包括:
101、对初始文本数据和增量文本数据进行预处理,分别获得初始文本数据和增量文本数据的数字指纹和哈希值;
在本发明实施例中,需要分别对所述初始文本数据和增量文本数据进行预处理,而初始文本数据主要指的是将长期累计的,没有去重的备份数据作为初始文本数据,而增量文本数据则主要指的每天新增的备份数据,因此,初始文本数据是海量的,而增量文本数据可能只是初始文本数据的一部分,并且与初始文本数据具有一定的关联性,基于此,本发明将会利用初始文本数据来构建出多级索引结构,并对初始文本数据去重,利用这个多级索引结构再来对增量文本数据进行处理。
在本发明实施例中,所采用的预处理方式主要是使用局部敏感哈希算法SimHash对每个文本数据进行哈希运算,由于SimHash存在的局限性:不同的文本数据会在极小概率的情况下会产生相同的哈希值,所以同时需要使用消息摘要算法MD5为每个文本数据生成独一无二的数字指纹,该数字指纹实际上是作为数据标识,用于区分不同的文本数据。
102、从所述初始文本数据中抽取部分样本,采用层次聚类算法对部分初始文本数据哈希值进行分类,确定出K个相似集中心,将相似集中心哈希值和相似集中心标志作为一级索引;
在本发明实施例中,考虑到初始文本数据是海量的,如果将所有的初始文本数据直接划分为K个类簇将会耗费大量的计算资源,为了减少资源浪费,本发明首先需要从所有的初始文本数据中抽取出部分样本数据,抽取比例可由实际情况决定,将数据抽取完成以后,需要采用层次聚类算法对抽取出的初始文本数据哈希值进行分类,划分为K个类簇,并在这些类簇中挑选出中心哈希值作为聚类中心,即相似集中心;在层次聚类的最后阶段,为每个相似集中心随机分配独特的ID作为相似集类标志,将相似集类标志和相似集中心simhash值构成最初的一级索引结构中的两个属性字段,如图3所示。
在本发明的一些实施例中,还需要对一级索引进行初始化,这里的初始化能够去除一级索引中的无关信息。
103、采用k-means聚类算法将所有初始文本数据哈希值划分到K个相似集中心对应的分类中,以初始文本数据哈希值、数字指纹和存储路径作为主键,将主键和引用次数作为二级索引,并将二级索引的地址指向一级索引;
在本发明实施例中,将相似集中心,K值以及所有的初始文本数据哈希值,作为k-means聚类算法的输入,将所有的初始文本数据哈希值分别划分到对应的K个相似集中心中,本发明所采用的k-means聚类算法仅仅只采用了一次迭代过程,不需要考虑相似集中心的迭代过程,只需要将所有的初始文本数据哈希值划分到对应的相似集中心即可,通过层次聚类算法与k-means聚类算法的结合,充分利用两种聚类方法的优势来自适应性地创建相似集,能够保持数据去重效率和重删率平衡,并且能够保证聚类的计算效率,满足海量数据的计算实时性要求。
在上述过程中,通过两次聚类,将每个初始文本数据都划分到对应的相似集中心,因此每种初始文本数据哈希值都属于一个相似集中心,因此通过该相似集中心所构成的一级索引就能锁定该初始文本数据哈希值所处的聚类中心,为了检索到具体的初始文本数据,需要利用k-means聚类算法的分类结果,将分类后的初始文本数据哈希值、数字指纹和存储路径作为唯一主键,将主键与引用次数共同构成二级索引的属性字段,如图3所示,同时将二级索引的地址指向一级索引,这样就可以直接通过二级索引找到对应的文本数据,当不清楚该文本数据的二级索引时,还可以借用一级索引来找到指向对应的二级索引,再利用二级索引完成检索工作。
在本发明的一些实施例中,还需要对二级索引进行初始化,二级索引初始化的同时还需要对海量的初始文本数据去重,在这个过程中,通过检索已有二级索引的主键,以确定是否存在重复数据;如果存在重复主键,只更新主键对应二级索引记录的数据引用次数属性,对重复数据不进行磁盘存储,返回唯一数据的信息作为元数据信息要素;如果不存在重复主键,对数据进行磁盘存储,同时添加新的二级索引记录。
104、通过检索二级索引,对具有相同主键的初始文本数据进行去重处理,并增加数据引用次数;统计每个二级索引数据引用次数的总量,将二级索引按照引用次数从大到小的顺序进行排列,选择前K/4的二级索引作为常驻索引;
在本发明实施例中,还需要统计每个二级索引数据引用次数的总量,将二级索引按照大小顺序进行排序,根据实际***生产环境,取前K/4个二级索引作为常驻索引放入内存中,当然,还可以选择其他数量的二级索引作为常驻索引放在内存中。
在本发明的优选实施例中,对所有的常驻索引还需要维护一个常驻索引表,如图3所示,用于记录二级索引所对应的相似集中心与其关联的二级索引所对应的相似集中心,以及置换因子,关联索引所对应的相似集中心与置换因子所在的属性列都记为空值,在后续过程中,置换因子为内存置换策略提供参考依据,根据重新计算的索引置换因子,换出置换因子小于二级索引的常驻索引,换入置换因子大于常驻索引的二级索引,可以更新常驻索引表。
105、构造出布隆过滤器,并将常驻索引中的初始文本哈希值填充布隆过滤器,在所述布隆过滤器中,利用增量文本数据的数字指纹和哈希值,结合常驻索引、二级索引和一级索引,对增量文本数据进行去重处理。
在本发明实施例中,通过Redis构造布隆过滤器,根据实际***生产环境,自行调节布隆过滤器大小,并利用常用索引中的初始文本数据哈希值属性填充布隆过滤器。
对于增量文本数据的去重过程,执行如下:
如果增量文本数据的哈希值在布隆过滤器中存在,则通过检索常驻索引对具有相同主键的增量文本数据进行去重处理,并更新常驻索引中的引用次数;对不具有相同主键的增量文本数据存储到磁盘中,并添加新的二级索引记录;
如果增量文本数据的哈希值在布隆过滤器中不存在,则计算该哈希值与一级索引中的相似集中心的汉明距离,通过最小汉明距离找到增量文本数据所在的相似集,根据一级索引中所存储的二级索引的地址,通过检索对应的二级索引对具有相同主键的增量文本数据进行去重处理,并更新二级索引中的引用次数;对不具有相同主键的增量文本数据存储到磁盘中,并新增二级索引记录。
由于增量文本数据的去重过程涉及到常用索引的置换问题,因此,需要计算出增量文本数据所涉及的二级索引的置换因子,根据重新计算的置换因子,换出置换因子小于二级索引的常驻索引,换入置换因子大于常驻索引的二级索引,更新常驻索引表。
置换因子的计算公式表示为:
wap(X)=F(X)+Find(Swap(Y)R(Y,X)),
其中,Swap(X)即为二级索引X的置换因子;F(X)为当前任务下二级索引X的内存保留因子,F(Y)为常驻索引Y的内存保留因子;R(Y,X)为常驻索引Y与X的关联系数;Find表示遍历常驻索引表,ɑ表示第一权重因子,用于保证内存保留因子的稳定性和合理性,避免发生差距过大的情况;p1表示二级索引X的参与度概率,即当前任务下X参与到的文件数占所有数据文件的比重;DXi为文件i用到的二级索引X次数,Dni为文件i的数据块总数,n为当前任务下二级索引X参与到的去重文件数量;f(X)为上次任务计算的索引X内存保留因子。
关联系数的计算公式表示为:
R(X,Y)=Ωmax(r(X,Y1),r(X,Y2)……r(X,YJ))±(1-Ω)R’(X,Y’)其中,max用于解决二级索引X与其他索引关联,选择关联因子最大的;R’(X,Y’)是上一次任务中与二级索引X关联最紧密的二级索引Y’的关联因子,当Y=Y’时取正,否则取负,Ω表示第二权重因子,用来减少后续的内存抖动问题;;r(X,Yj)表示二级索引X与其他二级索引Yj的关联因子,其表达式为:
其中,j=1,2,…,J,J表示与二级索引X关联的二级索引数量;p2为条件概率,即当前任务下某个文件中已有二级索引X参与时,索引Y也参与的概率;m为当前任务下文件总数;count(X,Yj)则是用来统计二级索引X记录与Yj记录前后同时出现的次数的函数。
图4给出了一种实施例的数据去重方法流程图,如图4所示,在本发明实施例中,首先需要由***管理员选择合适的去重时间节点,倘若不存在符合设定条件的去重时间节点,则放弃本次去重任务;倘若存在符合设定条件的去重时间节点,然后再根据内存中是否存在处理过的索引记录选择初始数据去重操作或者增量数据去重操作。
图5给出了本发明实施例中的初始文本数据去重流程图,如图5所示,该过程包括:
如果选择的是初始数据去重操作,则首先需要输入所有的初始文本数据哈希值,对所有的初始文本数据进行预处理;对所有文本数据等距随机抽样,并通过凝聚的层次聚类算法对所抽取样本的哈希值数据做简单的初始分类操作,得到K个大类,并在这些大类中挑选出中心哈希值作为聚类中心,即相似集中心;在层次聚类的最后阶段,为每个相似集中心随机分配独特的ID作为相似集类标志,相似集类标志和相似集中心simhash值构成最初的一级索引结构中的两个属性字段。将相似集中心,K值以及所有的初始文本数据哈希值,作为k-means聚类算法的输入,进行二次聚类操作,这个过程中同时在聚类过程中完成创建二级索引、初始文本数据去重任务;将每个初始文本数据的哈希值、md5值和其存储路径来构成其唯一主键,同时添加数据引用次数,共同构成二级索引的属性字段。统计每个二级索引数据引用次数的总量,将二级索引按照大小顺序进行排序,根据实际***生产环境,取前K/4个二级索引作为常驻索引放入内存中。
图6给出了本发明实施例中的增量文本数据去重流程图,如图6所示,该过程包括:
如果选择的是增量文本数据去重操作,那么对当前任务下的增量文本数据进行预处理;计算出增量文本数据的simhash值和md5值,并在布隆过滤器中对该增量文本数据的simhash值进行检索该值是否存在;
如果该增量文本数据的simhash值在布隆过滤器中不存在,则需要计算该增量文本数据的simhash值与一级索引中所有的相似集中心的汉明距离,利用最小汉明距离找到该增量文本数据所在的聚类,同时添加新的二级索引记录;这个过程中,如果大量数据都不存在于常用索引中,则需要将常用索引置换出来,即还需要通过重新计算该增量文本数据所涉及的二级索引的置换因子,去更新常驻索引和常驻索引表。
如果该增量文本数据的simhash值在布隆过滤器中存在,由于布隆过滤器存在的缺陷:检索存在的值不一定存在,故此时仍然需要通过常驻索引来进一步的校验。
如果该增量文本数据的simhash值在常驻索引中也存在,则更新增量文本数据所涉及的二级索引记录,同时不对增量文本数据进行存储,并返回对应的元数据信息;最后需要通过重新计算该增量文本数据所涉及的二级索引的置换因子,去更新常驻索引和常驻索引表;
如果该增量文本数据的simhash值在常驻索引中不存在,则计算该增量文本数据的simhash值与一级索引中所有的相似集中心的汉明距离,利用最小汉明距离找到该增量文本数据所在的聚类,查询相应的二级索引。若该增量文本数据的simhash值在二级索引中不存在,则为二级索引添加新的记录;该增量文本数据的simhash值对应的数据是非重复数据,需要存储到磁盘中,返回对应的元数据信息;若该增量文本数据的simhash值在二级索引中存在,则更新二级索引对应记录的去重数据的引用次数字段,由于该增量文本数据的simhash值对应的数据是重复数据,不对增量文本数据进行存储,并返回对应的元数据信息;最后需要通过重新计算该增量文本数据所涉及的二级索引的置换因子,去更新常驻索引和常驻索引表。
在本实施例中,除了需要判断增量文本数据的哈希值是否存在于布隆过滤器,还需要进一步判断是否存在于常驻索引中,按照是否存在与常驻索引中再进行下一步的判断,能够避免布隆过滤器存在的缺陷,保证检索过程的准确性和有效性。
图7是本发明实施例中一种基于文本相似度的数据去重装置结构图,如图5所示,数据去重装置200包括:
数据处理单元201,用于对初始文本数据和增量文本数据进行预处理,分别获得初始文本数据和增量文本数据的数字指纹和哈希值;
一级索引单元202,用于从所述初始文本数据中抽取部分样本,采用层次聚类算法对部分初始文本数据哈希值进行分类,确定出K个相似集中心,将相似集中心哈希值和相似集中心标志作为一级索引;
二级索引单元203,用于采用k-means聚类算法将所有初始文本数据哈希值划分到K个相似集中心对应的分类中,以初始文本数据哈希值、数字指纹和存储路径作为主键,将主键和引用次数作为二级索引,并将二级索引的地址指向一级索引;
第一去重单元204,用于通过检索二级索引,对具有相同主键的初始文本数据进行去重处理,并增加数据引用次数;
常用索引单元205,用于统计每个二级索引数据引用次数的总量,将二级索引按照引用次数从大到小的顺序进行排列,选择前K/4的二级索引作为常驻索引;
布隆过滤器206,用于存储常驻索引中的初始文本哈希值,并提供检索;
第二去重单元207,用于在所述布隆过滤器中,利用增量文本数据的数字指纹和哈希值,结合常驻索引、二级索引和一级索引,对增量文本数据进行去重处理。
本发明实施例还提供一种服务器,该服务器可因配置或性能不同而产生比较大的差异,可以包括一个或一个以***处理器(central processing units,CPU)(例如,一个或一个以上处理器)和存储器,一个或一个以上存储应用程序或数据的存储介质(例如一个或一个以上海量存储设备)。其中,存储器和存储介质可以是短暂存储或持久存储。存储在存储介质的程序可以包括一个或一个以上模块,每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器可以设置为与存储介质通信,在服务器上执行存储介质中的一系列指令操作。
具体地,在存储介质中储存的应用程序包括数据去重的应用程序,且该程序可以包括上述数据去重装置200中的数据处理单元201,一级索引单元202,二级索引单元203,第一去重单元204,常用索引单元205,布隆过滤器206和第二去重单元207,在此不进行赘述。更进一步地,中央处理器20可以设置为与存储介质通信,在服务器上执行存储介质中储存的数据去重的应用程序对应的一系列操作。
服务器还可以包括一个或一个以上电源,一个或一个以上有线或无线网络接口,和/或,一个或一个以上操作***,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
本发明还提供一种计算机可读存储介质,所述可读存储介质存储有计算机程序,所述计算机程序在被服务器的处理器所执行时,可以实现:
对初始文本数据和增量文本数据进行预处理,分别获得初始文本数据和增量文本数据的数字指纹和哈希值;
从所述初始文本数据中抽取部分样本,采用层次聚类算法对部分初始文本数据哈希值进行分类,确定出K个相似集中心,将相似集中心哈希值和相似集中心标志作为一级索引;
采用k-means聚类算法将所有初始文本数据哈希值划分到K个相似集中心对应的分类中,以初始文本数据哈希值、数字指纹和存储路径作为主键,将主键和引用次数作为二级索引,并将二级索引的地址指向一级索引;
通过检索二级索引,对具有相同主键的初始文本数据进行去重处理,并增加数据引用次数;统计每个二级索引数据引用次数的总量,将二级索引按照引用次数从大到小的顺序进行排列,选择前K/4的二级索引作为常驻索引;
构造出布隆过滤器,并将常驻索引中的初始文本哈希值填充布隆过滤器,在所述布隆过滤器中,利用增量文本数据的数字指纹和哈希值,结合常驻索引、二级索引和一级索引,对增量文本数据进行去重处理。
在本发明的描述中,需要理解的是,术语“同轴”、“底部”、“一端”、“顶部”、“中部”、“另一端”、“上”、“一侧”、“顶部”、“内”、“外”、“前部”、“中央”、“两端”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
在本发明中,除非另有明确的规定和限定,术语“安装”、“设置”、“连接”、“固定”、“旋转”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系,除非另有明确的限定,对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。
Claims (10)
1.一种基于文本相似度的数据去重方法,其特征在于,所述方法包括:
对初始文本数据和增量文本数据进行预处理,分别获得初始文本数据和增量文本数据的数字指纹和哈希值;
从所述初始文本数据中抽取部分样本,采用层次聚类算法对部分初始文本数据哈希值进行分类,确定出K个相似集中心,将相似集中心哈希值和相似集中心标志作为一级索引;
采用k-means聚类算法将所有初始文本数据哈希值划分到K个相似集中心对应的分类中,以初始文本数据哈希值、数字指纹和存储路径作为主键,将主键和引用次数作为二级索引,并将二级索引的地址指向一级索引;
通过检索二级索引,对具有相同主键的初始文本数据进行去重处理,并增加数据引用次数;统计每个二级索引数据引用次数的总量,将二级索引按照引用次数从大到小的顺序进行排列,选择前K/4的二级索引作为常驻索引;
构造出布隆过滤器,并将常驻索引中的初始文本哈希值填充布隆过滤器,在所述布隆过滤器中,利用增量文本数据的数字指纹和哈希值,结合常驻索引、二级索引和一级索引,对增量文本数据进行去重处理。
2.根据权利要求1所述的一种基于文本相似度的数据去重方法,其特征在于,获得初始文本数据和增量文本数据的数字指纹和哈希值包括分别对初始文本数据和增量文本数据中的每一个文本数据,采用消息摘要算法MD5计算出数字指纹;采用局部敏感哈希算法SimHash计算出哈希值。
3.根据权利要求1所述的一种基于文本相似度的数据去重方法,其特征在于,选择前K/4的二级索引作为常驻索引的同时还包括将所有常驻索引构建出一个常驻索引表,所述常驻索引表用于记录二级索引所对应的相似集中心,即一级索引中的相似集中心属性与其关联的二级索引所对应的相似集中心,以及置换因子,并将关联索引所对应的相似集中心与置换因子所在的属性列都记为空值。
4.根据权利要求1所述的一种基于文本相似度的数据去重方法,其特征在于,所述结合常驻索引、二级索引和一级索引,对增量文本数据进行去重处理包括:
如果增量文本数据的哈希值在布隆过滤器中存在,则通过检索常驻索引对具有相同主键的增量文本数据进行去重处理,并更新常驻索引中的引用次数;对不具有相同主键的增量文本数据存储到磁盘中,并添加新的二级索引记录;如果增量文本数据的哈希值在布隆过滤器中不存在,则计算该哈希值与一级索引中的相似集中心的汉明距离,通过最小汉明距离找到增量文本数据所在的相似集,根据一级索引中所存储的二级索引的地址,通过检索对应的二级索引对具有相同主键的增量文本数据进行去重处理,并更新二级索引中的引用次数;对不具有相同主键的增量文本数据存储到磁盘中,并新增二级索引记录。
5.根据权利要求4所述的一种基于文本相似度的数据去重方法,其特征在于,在对增量文本数据进行去重处理之后还包括计算出增量文本数据所涉及的二级索引的置换因子,根据重新计算的置换因子,换出置换因子小于二级索引的常驻索引,换入置换因子大于常驻索引的二级索引,更新常驻索引表。
7.根据权利要求6所述的一种基于文本相似度的数据去重方法,其特征在于,关联系数的计算公式表示为:
R(X,Y)=Ωmax(r(X,Y1),r(X,Y2)……r(X,YJ))±(1-Ω)R’(X,Y’)
其中,R’(X,Y’)是上一次任务中与二级索引X关联最紧密的二级索引Y’的关联因子,当Y=Y’时取正,否则取负,Ω表示第二权重因子;r(X,Yj)表示二级索引X与其他二级索引Yj的关联因子,其表达式为:
其中,j=1,2,…,J,J表示与二级索引X关联的二级索引数量;p2为条件概率,即当前任务下某个文件中已有二级索引X参与时,索引Yj也参与的概率;m为当前任务下文件总数;count(X,Yj)则是用来统计二级索引X记录与二级索引Yj记录前后同时出现的次数的函数。
8.一种基于文本相似度的数据去重装置,其特征在于,包括:
数据处理单元,用于对初始文本数据和增量文本数据进行预处理,分别获得初始文本数据和增量文本数据的数字指纹和哈希值;
一级索引单元,用于从所述初始文本数据中抽取部分样本,采用层次聚类算法对部分初始文本数据哈希值进行分类,确定出K个相似集中心,将相似集中心哈希值和相似集中心标志作为一级索引;
二级索引单元,用于采用k-means聚类算法将所有初始文本数据哈希值划分到K个相似集中心对应的分类中,以初始文本数据哈希值、数字指纹和存储路径作为主键,将主键和引用次数作为二级索引,并将二级索引的地址指向一级索引;
第一去重单元,用于通过检索二级索引,对具有相同主键的初始文本数据进行去重处理,并增加数据引用次数;
常用索引单元,用于统计每个二级索引数据引用次数的总量,将二级索引按照引用次数从大到小的顺序进行排列,选择前K/4的二级索引作为常驻索引;
布隆过滤器,用于存储常驻索引中的初始文本哈希值,并提供检索;
第二去重单元,用于在所述布隆过滤器中,利用增量文本数据的数字指纹和哈希值,结合常驻索引、二级索引和一级索引,对增量文本数据进行去重处理。
9.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述的基于文本相似度的数据去重方法。
10.一种服务器,其特征在于,包括处理器和存储器;所述存储器用于储存多个计算机程序,所述计算机程序用于由处理器加载并执行如权利要求1至7任一项所述的基于文本相似度的数据去重方法;所述处理器,用于实现所述多个计算机程序中的各个计算机程序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111516164.6A CN114281989B (zh) | 2021-12-06 | 2021-12-06 | 基于文本相似度的数据去重方法、装置及存储介质和服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111516164.6A CN114281989B (zh) | 2021-12-06 | 2021-12-06 | 基于文本相似度的数据去重方法、装置及存储介质和服务器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114281989A true CN114281989A (zh) | 2022-04-05 |
CN114281989B CN114281989B (zh) | 2024-06-18 |
Family
ID=80872258
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111516164.6A Active CN114281989B (zh) | 2021-12-06 | 2021-12-06 | 基于文本相似度的数据去重方法、装置及存储介质和服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114281989B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116383334A (zh) * | 2023-06-05 | 2023-07-04 | 长沙丹渥智能科技有限公司 | 研报去重方法、装置、计算机设备及介质 |
CN117892727A (zh) * | 2024-03-14 | 2024-04-16 | 中国电子科技集团公司第三十研究所 | 一种实时文本数据流去重***及方法 |
CN118133972A (zh) * | 2024-05-10 | 2024-06-04 | 北京网智天元大数据科技有限公司 | 一种基于知识图谱的内容检索生成方法、装置及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103646080A (zh) * | 2013-12-12 | 2014-03-19 | 北京京东尚科信息技术有限公司 | 基于倒序索引的微博去重方法和*** |
CN107239791A (zh) * | 2017-05-12 | 2017-10-10 | 东北大学 | 一种基于LSH的高维K‑means聚类中心优选方法 |
US20180203915A1 (en) * | 2017-01-19 | 2018-07-19 | Acquire Media Ventures Inc. | Large-scale, high-dimensional similarity clustering in linear time with error-free retrieval |
CN109101620A (zh) * | 2018-08-08 | 2018-12-28 | 广州神马移动信息科技有限公司 | 相似度计算方法、聚类方法、装置、存储介质及电子设备 |
CN111325245A (zh) * | 2020-02-05 | 2020-06-23 | 腾讯科技(深圳)有限公司 | 重复图像识别方法、装置、电子设备及计算机可读存储介质 |
CN112527948A (zh) * | 2020-12-08 | 2021-03-19 | 上海大智慧财汇数据科技有限公司 | 基于句子级索引的数据实时去重方法及*** |
-
2021
- 2021-12-06 CN CN202111516164.6A patent/CN114281989B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103646080A (zh) * | 2013-12-12 | 2014-03-19 | 北京京东尚科信息技术有限公司 | 基于倒序索引的微博去重方法和*** |
US20180203915A1 (en) * | 2017-01-19 | 2018-07-19 | Acquire Media Ventures Inc. | Large-scale, high-dimensional similarity clustering in linear time with error-free retrieval |
CN107239791A (zh) * | 2017-05-12 | 2017-10-10 | 东北大学 | 一种基于LSH的高维K‑means聚类中心优选方法 |
CN109101620A (zh) * | 2018-08-08 | 2018-12-28 | 广州神马移动信息科技有限公司 | 相似度计算方法、聚类方法、装置、存储介质及电子设备 |
CN111325245A (zh) * | 2020-02-05 | 2020-06-23 | 腾讯科技(深圳)有限公司 | 重复图像识别方法、装置、电子设备及计算机可读存储介质 |
CN112527948A (zh) * | 2020-12-08 | 2021-03-19 | 上海大智慧财汇数据科技有限公司 | 基于句子级索引的数据实时去重方法及*** |
Non-Patent Citations (3)
Title |
---|
VINICIUS COGO等: "GenoDedup: Similarity-Based Deduplication and Delta-Encoding for Genome Sequencing Data", 《 IEEE TRANSACTIONS ON COMPUTERS》, vol. 70, no. 5, 1 May 2021 (2021-05-01), pages 669, XP011848193, DOI: 10.1109/TC.2020.2994774 * |
樊亚: "Ceph中海量中文文本小文件存储性能优化方法研究", 《中国优秀硕士学位论文全文数据库信息科技辑》, no. 01, 15 January 2020 (2020-01-15), pages 137 - 150 * |
蔡可成: "面向Ceph的重复数据删除策略研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》, no. 06, 15 June 2023 (2023-06-15), pages 137 - 13 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116383334A (zh) * | 2023-06-05 | 2023-07-04 | 长沙丹渥智能科技有限公司 | 研报去重方法、装置、计算机设备及介质 |
CN116383334B (zh) * | 2023-06-05 | 2023-08-08 | 长沙丹渥智能科技有限公司 | 研报去重方法、装置、计算机设备及介质 |
CN117892727A (zh) * | 2024-03-14 | 2024-04-16 | 中国电子科技集团公司第三十研究所 | 一种实时文本数据流去重***及方法 |
CN117892727B (zh) * | 2024-03-14 | 2024-05-17 | 中国电子科技集团公司第三十研究所 | 一种实时文本数据流去重***及方法 |
CN118133972A (zh) * | 2024-05-10 | 2024-06-04 | 北京网智天元大数据科技有限公司 | 一种基于知识图谱的内容检索生成方法、装置及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN114281989B (zh) | 2024-06-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114281989B (zh) | 基于文本相似度的数据去重方法、装置及存储介质和服务器 | |
US10579661B2 (en) | System and method for machine learning and classifying data | |
JP5732536B2 (ja) | 重複排除に基づくストレージシステムにおけるスケーラブル参照管理のためのシステム、方法及び非一時的なコンピュータ可読ストレージ媒体 | |
US10089017B2 (en) | Method and apparatus for SSD storage access | |
US20160350302A1 (en) | Dynamically splitting a range of a node in a distributed hash table | |
JP2017512338A (ja) | 第一クラスデータベース要素としての半構造データの実装 | |
Yue et al. | Building an efficient put-intensive key-value store with skip-tree | |
US20120254173A1 (en) | Grouping data | |
JP2017526027A (ja) | クラスタリング記憶方法および装置 | |
US20180144061A1 (en) | Edge store designs for graph databases | |
CN101963982A (zh) | 基于位置敏感哈希的删冗存储***元数据管理方法 | |
De Vries et al. | Robust record linkage blocking using suffix arrays and bloom filters | |
US9262511B2 (en) | System and method for indexing streams containing unstructured text data | |
US10719554B1 (en) | Selective maintenance of a spatial index | |
CN113535670B (zh) | 一种虚拟化资源镜像存储***及其实现方法 | |
CN104054071A (zh) | 访问存储设备的方法和存储设备 | |
CN109241023A (zh) | 分布式存储***数据存储方法、装置、***及存储介质 | |
US12045203B2 (en) | Systems and methods for physical capacity estimation of logical space units | |
CN110908589A (zh) | 数据文件的处理方法、装置、***和存储介质 | |
US10599614B1 (en) | Intersection-based dynamic blocking | |
WO2021082928A1 (zh) | 数据缩减的方法、装置、计算设备和存储介质 | |
JP2022137281A (ja) | データ照会方法、装置、電子デバイス、記憶媒体、及びプログラム | |
CN110019017B (zh) | 一种基于访问特征的高能物理文件存储方法 | |
CN112416879A (zh) | 一种基于ntfs文件***的块级数据去重方法 | |
Narang et al. | Real-time approximate range motif discovery & data redundancy removal algorithm |
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 |