CN112162977B - 一种面向mes的海量数据去冗余方法和系统 - Google Patents
一种面向mes的海量数据去冗余方法和系统 Download PDFInfo
- Publication number
- CN112162977B CN112162977B CN202011124465.XA CN202011124465A CN112162977B CN 112162977 B CN112162977 B CN 112162977B CN 202011124465 A CN202011124465 A CN 202011124465A CN 112162977 B CN112162977 B CN 112162977B
- Authority
- CN
- China
- Prior art keywords
- data
- similarity
- similar
- determining
- hash
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/215—Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及一种面向MES的海量数据去冗余方法和系统。该面向MES的海量数据去冗余方法和系统,采用最小哈希算法对预处理后的数据进行压缩得到最小哈希签名,采用LSH(局部敏感哈希)算法能够避过相似度计算,将数据按照哈希值进行分桶,极大的减少了从海量数据找出相似重复数据过程中的时间复杂度,提高了数据处理的整体效率。并且,使用Jaccard相似度作为筛选条件,对Jaccard相似度大于阈值的数据定义为潜在相似数据,然后对潜在相似数据进行由分部到总体的相似度检测以去除相似重复数据,增加了去冗余能力。
Description
技术领域
本发明涉及数据处理领域,特别是涉及一种面向MES的海量数据去冗余方法和系统。
背景技术
相似重复数据是指:数据库中存在两条数据1R和2R,它们的内容相同或者相似,且都对应着同一个现实实体,则数据对1R、2R互为相似重复数据。实际数据库中可能存在多对互为相似重复的数据,它们的存在降低了数据的质量,可能会妨碍系统的正常运行,甚至会影响企业信息管理系统(MES)决策的正确性。
在工业中,存在着大量的相似重复数据。之所以会存在相似重复数据,是因为在进行数据获取或数据存储的过程中,相同数据产生了不同的表现形式,比如:同一个单词的拼写错误、印刷错误、字符格式不统一、字符缺失、同义词等。
存在上述问题的同时,工业设备数据存在着数据量大的问题。传统的数据去冗余方法在对海量相似重复数据的处理上存在处理效率低下、去冗余能力薄弱等问题。
因此,亟待提供一种新的面向MES系统的海量数据去冗余方法或系统,来解决现有技术中存在的上述问题。
发明内容
本发明的目的是提供一种面向MES的海量数据去冗余方法和系统,以在提高MES数据处理效率的同时,提高数据的去冗余能力。
为实现上述目的,本发明提供了如下方案:
一种面向MES的海量数据去冗余方法,包括:
获取MES中的被检测数据,对所述被检测数据进行预处理得到数据元素;所述被检测数据为工业设备数据;
根据所述数据元素建立数据集合,并确定所述数据集合的本征矩阵;每一所述数据集合包括所述被检测数据的多种数据元素;
采用最小哈希算法确定所述本征矩阵的最小哈希签名矩阵;所述最小哈希签名矩阵包括与所述数据元素相对应的数据签名;
将所述最小哈希签名矩阵的行分为几个区块,每个所述区块为r行1列的签名子矩阵;
采用基于最小哈希编码的局部敏感哈希算法确定所述每个数据元素列中各个区块的哈希值;
根据所述哈希值确定映射到同一数据桶内的最小哈希签名矩阵;
确定映射到同一所述数据桶内的各所述最小哈希签名矩阵中各数据元素间的Jaccard相似度;
获取Jaccard相似度阈值,并根据所述Jaccard相似度与所述Jaccard相似度阈值间的关系,确定与所述Jaccard相似度相对应的数据元素对是否为潜在相似数据;
若与所述Jaccard相似度相对应的数据元素为所述潜在相似数据,则判断所述潜在相似数据是否为相似重复数据;
若所述潜在相似数据为相似重复数据,则获取所述相似重复数据中各数据元素的标准度,并根据所述标准度确定保留的数据元素;
若与所述最终相似度相对应的数据元素对不是相似重复数据,则保留该数据元素对;
若与所述Jaccard相似度相对应的数据元素均不是所述潜在相似数据,则返回“确定映射到同一所述数据桶内的各所述最小哈希签名矩阵中各数据元素间的Jaccard相似度”的步骤,直至完成所有所述数据桶内的数据的去冗余工作。
优选的,所述采用最小哈希算法确定所述本征矩阵的最小哈希签名矩阵,具体包括:
获取t个哈希函数;
根据t个所述哈希函数采用最小哈希算法对所述本征矩阵进行t次映射,得到最小哈希签名矩阵。
优选的,所述根据各所述区块的哈希值确定映射到同一数据桶内的最小哈希签名矩阵,具体包括:
采用哈希算法确定每个所述区块的哈希值,并将所述哈希值作为所述数据桶的标签;
根据所述哈希值确定数据元素列间各同行区块对应的哈希值是否相等,若数据元素列间至少有一个同行的区块的哈希值相等,则将与该各区块相对应的最小哈希签名矩阵映射到将所述哈希值作为标签的所述数据桶中。
优选的,若与所述Jaccard相似度相对应的数据元素为所述潜在相似数据,则判断所述潜在相似数据是否为相似重复数据,具体包括:
获取所述潜在相似数据的相似度;
根据所述潜在相似数据的相似度确定所述潜在相似数据的总体相似度,并根据所述总体相似度和所述Jaccard相似度确定最终相似度;
获取最终相似度阈值;
判断所述最终相似度是否大于所述最终相似度阈值,得到判断结果;
若所述判断结果为所述最终相似度大于所述最终相似度阈值,则与所述最终相似度相对应的数据元素对为相似重复数据;
若所述判断结果为所述最终相似度小于等于所述最终相似度阈值,则与所述最终相似度相对应的数据元素对不是相似重复数据。
优选的,所述若所述潜在相似数据为相似重复数据,则获取所述相似重复数据中各数据元素的标准度,并根据所述标准度确定保留的数据元素,具体包括:
若所述潜在相似数据为相似重复数据,则分别获取相似重复数据中各数据元素的标准参数;所述标准参数包括:语义、数值和字符串标准度;
根据所述标准参数分别确定相似重复数据中各数据元素的标准度,保留所述标准度最高的数据元素。
一种面向MES的海量数据去冗余系统,包括:
被检测数据获取模块,用于获取MES中的被检测数据,对所述被检测数据进行预处理得到数据元素;所述被检测数据为工业设备数据;
本征矩阵确定模块,用于根据所述数据元素建立数据集合,并确定所述数据集合的本征矩阵;每一所述数据集合包括所述被检测数据的多种数据元素;
最小哈希签名矩阵确定模块,用于采用最小哈希算法确定所述本征矩阵的最小哈希签名矩阵;所述最小哈希签名矩阵包括与所述数据元素相对应的数据签名;
区块分割模块,用于将所述最小哈希签名矩阵的行分为几个区块,每个所述区块为r行1列的签名子矩阵;
哈希值确定模块,用于采用基于最小哈希编码的局部敏感哈希算法确定所述每个数据元素列中各个区块的哈希值;
数据桶映射模块,用于根据所述哈希值确定映射到同一数据桶内的最小哈希签名矩阵;
Jaccard相似度确定模块,用于确定映射到同一所述数据桶内的各所述最小哈希签名矩阵中各数据元素间的Jaccard相似度;
潜在相似数据判断模块,用于获取Jaccard相似度阈值,并根据所述Jaccard相似度与所述Jaccard相似度阈值间的关系,确定与所述Jaccard相似度相对应的数据元素对是否为潜在相似数据;
相似重复数据判断模块,用于当与所述Jaccard相似度相对应的数据元素为所述潜在相似数据时,判断所述潜在相似数据是否为相似重复数据;
相似重复数据去余模块,用于当所述潜在相似数据为相似重复数据时,获取所述相似重复数据中各数据元素的标准度,并根据所述标准度确定保留的数据元素;
数据元素保留模块,用于当与所述最终相似度相对应的数据元素对不是相似重复数据时,保留该数据元素对;
循环去余模块,用于当与所述Jaccard相似度相对应的数据元素均不是所述潜在相似数据时,返回“确定映射到同一所述数据桶内的各所述最小哈希签名矩阵中各数据元素间的Jaccard相似度”的步骤,直至完成所有所述数据桶内的数据的去冗余工作。
优选的,所述最小哈希签名矩阵确定模块,具体包括:
哈希函数获取单元,用于获取t个哈希函数;
最小哈希签名矩阵确定单元,用于根据t个所述哈希函数采用最小哈希算法对所述本征矩阵进行t次映射,得到最小哈希签名矩阵。
优选的,所述数据桶映射模块,具体包括:
哈希值确定单元,用于采用哈希算法确定每个所述区块的哈希值,并将所述哈希值作为所述数据桶的标签;
数据桶映射单元,用于根据所述哈希值确定数据元素列间各同行区块对应的哈希值是否相等,若数据元素列间至少有一个同行的区块的哈希值相等,则将与该各区块相对应的最小哈希签名矩阵映射到将所述哈希值作为标签的所述数据桶中。
优选的,所述相似重复数据判断模块,具体包括:
相似度获取单元,用于获取所述潜在相似数据的相似度;
相似度确定单元,用于根据所述潜在相似数据的相似度确定所述潜在相似数据的总体相似度,并根据所述总体相似度和所述Jaccard相似度确定最终相似度;
相似度阈值获取单元,用于获取最终相似度阈值;
判断单元,用于判断所述最终相似度是否大于所述最终相似度阈值,得到判断结果;
第一相似重复数据判定单元,用于当所述判断结果为所述最终相似度大于所述最终相似度阈值时,确定与所述最终相似度相对应的数据元素对为相似重复数据;
第二相似重复数据判定单元,用于当所述判断结果为所述最终相似度小于等于所述最终相似度阈值,确定与所述最终相似度相对应的数据元素对不是相似重复数据。
优选的,所述相似重复数据去余模块,具体包括:
标准参数获取单元,用于当所述潜在相似数据为相似重复数据,分别获取相似重复数据中各数据元素的标准参数;所述标准参数包括:语义、数值和字符串标准度;
相似重复数据去余单元,用于根据所述标准参数分别确定相似重复数据中各数据元素的标准度,保留所述标准度最高的数据元素。
根据本发明提供的具体实施例,本发明公开了以下技术效果:
本发明提供的面向MES的海量数据去冗余方法和系统,采用minhash(最小哈希)算法对预处理后的数据进行压缩得到最小哈希签名,采用LSH(局部敏感哈希)算法能够避过相似度计算,将数据按照Jaccard相似度进行分桶,极大的减少了从海量数据找出相似重复数据过程中的时间复杂度,提高了数据处理的整体效率。并且,使用Jaccard相似度作为筛选条件,对Jaccard相似度大于阈值的数据定义为潜在相似数据,然后对潜在相似数据进行由分部到总体的相似度检测以去除相似重复数据,增加了去冗余能力。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的面向MES的海量数据去冗余方法的第一流程图;
图2为本发明提供的面向MES的海量数据去冗余方法的第二流程图;
图3为本发明实施例中相似重复数据判断过程中的相似度重复检测流程图;
图4为本发明提供的面向MES的海量数据去冗余系统的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的目的是提供一种面向MES的海量数据去冗余方法和系统,以在提高MES数据处理效率的同时,提高数据的去冗余能力。
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
图1为本发明提供的面向MES的海量数据去冗余方法的第一流程图,如图1所示,一种面向MES的海量数据去冗余方法,包括:
步骤100:获取MES中的被检测数据,对被检测数据进行预处理得到数据元素。被检测数据为工业设备数据。
步骤101:根据数据元素建立数据集合,并确定数据集合的本征矩阵。每一数据集合包括被检测数据的多种数据元素。
步骤102:采用最小哈希算法确定本征矩阵的最小哈希签名矩阵。最小哈希签名矩阵包括与数据元素相对应的数据签名。该步骤具体包括:
获取t个哈希函数。
根据t个哈希函数采用最小哈希算法对本征矩阵进行t次映射,得到最小哈希签名矩阵。
步骤103:将最小哈希签名矩阵的行分为几个区块,每个区块为r行1列的签名子矩阵。
步骤104:采用基于最小哈希编码的局部敏感哈希算法确定每个数据元素列中各个区块的哈希值。该步骤具体包括:
将最小哈希签名矩阵的行分为几个区块。每个区块为r行1列的签名子矩阵。
采用哈希算法确定每个区块的哈希值,并将哈希值作为数据桶的标签。
步骤105:根据哈希值确定映射到同一数据桶内的最小哈希签名矩阵。
本发明通过设置合适的参数,可以保证Jaccard相似度高的数据有更大的概率分到一个数据桶内,Jaccard相似度低的数据分配到一个数据桶内的概率很小。
步骤106:确定映射到同一数据桶内的各最小哈希签名矩阵中各数据元素间的Jaccard相似度。
对上述数据数据桶及桶内的最小哈希签名按照哈希值进行排序,按照顺序依次计算数据桶内所有签名两两之间的Jaccard相似度,记为Jaccard相似度。
其中,Jaccard相似度的确定过程为:
设现有两个集合,分别为集合A′和集合B′,则两个集合之间的Jaccard相似度的定义为:
基于最小哈希的Jaccard相似度计算还依据以下一条重要的性质。在上述t个哈希函数均匀分布的情况下,原数据映射后得到的最小哈希值的集合,这些集合之间的Jaccard相似度就等于原数据的Jaccard相似度。故而可以计算最小哈希值集合之间的Jaccard相似度而避过对原数据的Jaccard相似度计算,以达到大大简化计算复杂度的目的。
由t个哈希函数映射,本发明可得到t个最小哈希值。设两个数据映射后得到的最小哈希值集合中有k个相同的最小哈希值,则本发明中计算Jaccard相似度的公式为:
步骤107:获取Jaccard相似度阈值,并根据Jaccard相似度与Jaccard相似度阈值间的关系,确定与Jaccard相似度相对应的数据元素对是否为潜在相似数据。其中,定义潜在相似数据是Jaccard相似度高于阈值的一组数据。
步骤108:若与Jaccard相似度相对应的数据元素为潜在相似数据,则判断潜在相似数据是否为相似重复数据。
该步骤具体包括:
获取潜在相似数据的相似度。
根据潜在相似数据的相似度确定潜在相似数据的总体相似度,并根据总体相似度和Jaccard相似度确定最终相似度。
获取最终相似度阈值。
判断最终相似度是否大于最终相似度阈值,得到判断结果。
若判断结果为最终相似度大于最终相似度阈值,则与最终相似度相对应的数据元素对为相似重复数据。
若判断结果为最终相似度小于等于最终相似度阈值,则与最终相似度相对应的数据元素对不是相似重复数据。
在该步骤中,本发明创新型的提出用字符串标准度作为衡量数据字符串部分标准程度的指标。用数值标准度作为衡量数据数值部分标准程度的指标。用语义标准度作为衡量数据语义部分标准程度的指标。
本发明提出用字符规则库配合相应的算法计算出数据的字符串标准度,用数值规则库配合相应的算法计算出数据的数值标准度,用语义规则库配合相应的算法计算出数据的语义标准度。
其中,越符合字符规则库内的字符大小写格式要求的数据,其字符串标准度越高。数值规则库则是对数值的范围进行限定。若所测数据中数值部分超过所定范围,则降低该数据的数值标准度,降低两者数据中该数据保留的概率。超出范围的越大,数值标准度越低。语义规则库是对数据语义部分进行检测。作为相似重复数据的语义部分,两条数据中更加符合语义规则库的数据,语义标准度越高。
最后根据三者评判标准度进行综合计算,加权平均得到综合标准度,保留综合标准度更高的数据,删去另一个数据,完成相似重复数据处理。
步骤109:若潜在相似数据为相似重复数据,则获取相似重复数据中各数据元素的标准度,并根据标准度确定保留的数据元素。
该步骤具体包括:若潜在相似数据为相似重复数据,则分别获取相似重复数据中各数据元素的标准参数。标准参数包括:语义、数值和字符串标准度。
根据标准参数分别确定相似重复数据中各数据元素的标准度,保留标准度最高的数据元素。
步骤110:若与最终相似度相对应的数据元素对不是相似重复数据,则保留该数据元素对。
步骤111:若与Jaccard相似度相对应的数据元素均不是潜在相似数据,则返回“确定映射到同一数据桶内的各最小哈希签名矩阵中各数据元素间的Jaccard相似度”的步骤,直至完成所有数据桶内的数据的去冗余工作。
在本发明提供的面向MES的海量数据去冗余方法的步骤107和步骤108在具体实施的过程中,包括以下过程:
计算出潜在相似数据的第二类相似度,命名为总体相似度,记为simZt。根据总体相似度simZt和上述计算得出的Jaccard相似度simJc,加权计算得到最终相似度simZz。根据得到的simZz对两条数据之间是否为相似数据进行判断,若判断为相似重复数据,则进行相似重复数据去冗余处理。若判断不为相似重复数据,则结束本次操作。其详细步骤如图3所示,包括:
1、总体相似度simZt的计算:
最终相似度是对数据中所有属性的相似度进行加权平均计算得出的相似度。假设数据A、B中有n个属性值,并且按照数据类型分别用数值相似度、语义相似度、字符串相似度计算方法求出了它们的相似度。第i个属性的相似度记为simi,那么用以下公式计算出这两条数据的总体相似度:
simZt=sim1×p1+sim2×p2+…simn×pn
其中,p1,p2,p3…pn是人为设定的权值,满足等式p1+p2+p3+…+pn=1。在给定的具体场景中其大小可以结合各属性的重要程度、长度、经验进行设定。
2、数值相似度sim1的计算:
本发明采用基于欧氏距离的相似度计算方法来进行数值相似度的计算。考虑到工业中常有数组数据出现,设定两个n维数组S与T,分别为{s1,s2,s3…sn-1,sn}和{t1,t2,t3…tn-1,tn}。而单个数值的工业数据则可以令n=1同理进行计算。
若数组S与T的长度不一致,则令n等于更长的数组的长度,并用0补齐较短的数组剩下的数据。
首先对S和T的各个数值进行归一化处理,使得每位数据对相似度的影响一致。具体表达式如下:
其中,x表示原始数据,xn表示归一化后的数据,xmax表示该数值的最大值,xmin表示该数值的最小值。
接着采用欧氏距离计算公式计算出欧氏距离,具体表达式如下:
接着用下述公式计算出S与T之间的相似度:
sim1=1-d/dmax。
其中,dmax是根据该类数据各项的最大值与最小值计算出来的,计算公式如下:
通过上述过程即可得到数组S与T之间的相似度sim1。
3、语义相似度sim2的计算:
考虑到工业传感器文本类型记录多为词语,例如部分传感器标签,物理量名称等。本发明采用基于同义词词林的语义相似度计算方法来计算语义相似度sim2。
哈尔滨工业大学更新的二代同义词词林使用独特的编码方式,将许多词语编码成字符数字形式,组成具有五层的树状结构的词林。例:Cb30A01=这里这边此地此间此处。Cb30A02#=该地该镇该乡该站该区该市该村。Cb30A03@=这方。然后基于编码即可通过固定的公式与算法计算词语之间的相似度。下面罗列出一种算法:
两个义项之间的相似度用sim2表示,其中u是该分支层的总结点数,k是两个分支之间的距离:
若两个义项不在同一棵树上,则根据两个树之间的关系,人为设定系数f,得到相似度计算表达式为:
sim2(A,B)=f。
若两个义项在同一棵树上,且在第二层分支,人为设定系数为a:
若两个义项在同一棵树上,且在第三层分支,人为设定系数为b:
若两个义项在同一棵树上,且在第四层分支,人为设定系数为c:
若两个义项在同一棵树上,且在第五层分支,人为设定系数为d:
除了上述利用公式计算相似度之外,若两个义项编号相同则根据后缀确定相似度。
通过上述公式就可以得到语义相似度sim2。
4、字符串相似度sim3的计算
工业传感器有许多字符串类型记录,例如传感器编号名称等。本发明选用经典的基于编辑距离的字符串相似度计算方法来计算字符串相似度sim3。
考虑两个长度分别为M和N的字符串S和T,构造矩阵DN+1,M+1利用下式完成矩阵元素填写,其中,x是元素行数,y是元素列数,从0开始计数。第x行,第y列的元素按照下式计算得到:
构建完成上述矩阵之后,选取上述矩阵右下角元素作为编辑距离Ld,然后通过下式将编辑距离转化为相似度,得到sim3:
5、计算最终相似度simZz并判断潜在相似数据
在上述过程中已经得到这两条数据的Jaccard相似度simJc、总体相似度simZt。接下来通过这两个相似度,得到最终相似度simZz。
首先判断相似度simJc和simZt是否差距过大。如果差距过大,则取相似度simZt为最终相似度。如果相似度没有差距过大,则按照相应权重(可以根据经验人为进行设置)对两者加权平均,得到最终相似度simZz。即:
其中,q为根据实际情况确定的差距阈值常数,k1、k2为权值,其大小根据相似度simJc和simZt的在实际场合下重要程度与准确程度进行确定。
接着判断simZz是否大于对应阈值,若大于则认为这一对数据为相似重复数据,否则认为不是相似重复数据。
下面提供一个具体实施案例对本发明上述提供面向MES的海量数据去冗余方法进行进一步说明。在本实施例中是基于对一个数据桶中的数据元素进行去冗余操作,在实际应用过程中,本发明提供的技术方案也可以是同时对多个数据桶中的数据进行去冗余操作。
如图2所示,逐数据桶进行数据去冗余操作的过程具体如下:
步骤1:数据预处理
对MES背景下的工业设备数据进行预处理,得到工业设备数据元素,然后将同一个数据得到的元素组成该数据的集合。
例如:对带有多个属性的工业设备数据进行处理,得到工业设备数据集合{属性名1、值1、属性名2、值2……}。
步骤2:最小签名矩阵生成与数据分桶
对上述集合建立本征矩阵,然后选取t个哈希函数,并使用最小哈希算法对工业数据集合建立的本征矩阵进行t次映射,得到最小哈希签名矩阵,利用LSH(LocalitySensitive Hashing)即局部敏感哈希算法,将上述最小哈希签名矩阵代表的数据及其签名矩阵映射到不同的桶内。
其中基于最小哈希编码的LSH算法实现大致原理如下:
LSH的基本思路是设置一种算法,使得相似度较大的数据能够有较大的概率分到同一个数据桶内,相似度小的数据分到一个数据桶的概率很小。
常用的基于最小哈希编码的LSH算法首先将最小哈希签名矩阵的行分为几个区块,记为band。每个区块包含签名矩阵的r行,每个band所占列数是1。然后使用碰撞率低的哈希算法如MD5、SHA-1等,处理band得到哈希值,并将这个哈希值当作每个数据桶的标签。然后将有至少一个同行的band映射后哈希值相等的两个数据分配到同一个数据桶内。
设s是两个数据的Jaccard相似度,那么两个band哈希值相等的概率为sr。设band数为b′。经过上述算法过程可知,Jaccard相似度为s的数据,至少有一个band哈希值相等的概率为:
p=1-(1-sr)b′。
由上述公式函数性质可以分析得到结论,本发明通过设置合适的参数,可以保证Jaccard相似度高的数据有更大的概率分到一个数据桶内,Jaccard相似度低的数据分配到一个数据桶内的概率很小。
步骤3:Jaccard相似度的计算与潜在相似数据的判断
定义潜在相似数据是Jaccard相似度高于阈值的一组数据。对上述数据桶及桶内的最小哈希签名按照哈希值进行排序,按照顺序依次计算数据桶内所有签名两两之间的Jaccard相似度,记为simJc,判断Jaccard相似度simJc是否高于阈值T1。若simJc>T1,则将该哈希签名对应的两对数据记为潜在相似数据,并跳转到步骤4,否则判断为不相似数据,结束本次操作跳转到步骤6。
设现有两个集合,分别为集合A′、集合B′,则两个集合之间的Jaccard相似度的定义为:
基于最小哈希的Jaccard相似度计算还依据以下一条重要的性质。在上述t个哈希函数均匀分布的情况下,原数据映射后得到的最小哈希值的集合,这些集合之间的Jaccard相似度就等于原数据的Jaccard相似度。故而我们可以计算最小哈希值集合之间的Jaccard相似度,从而避过对原数据的Jaccard相似度计算,以达到大大简化计算复杂度的目的。
由t个哈希函数映射,本发明可得到t个最小哈希值。设两个数据映射后得到的最小哈希值集合中有k个相同的最小哈希值,则本发明中计算Jaccard相似度的公式为:
步骤4:最终相似度的计算与相似重复数据的判断
计算出潜在相似数据的第二类相似度,命名为总体相似度,记为simZt。根据总体相似度simZt和步骤3中计算得出的相似度simJc,加权计算得到最终相似度simZz。根据得到的simZz对两条数据之间是否为相似数据进行判断,若判断为相似重复数据,则跳转到步骤5进行相似重复数据处理。若判断不为相似重复数据,则结束本次操作跳转到步骤6。
该步骤4中的相似度计算过程请具体参见上述如图3所示的相似度计算过程。
步骤5:相似重复数据处理
本发明提出用字符串标准度作为衡量数据字符串部分标准程度的指标。用数值标准度作为衡量数据数值部分标准程度的指标。用语义标准度作为衡量数据语义部分标准程度的指标。
本发明提出用字符规则库配合相应的算法计算出数据的字符串标准度,用数值规则库配合相应的算法计算出数据的数值标准度,用语义规则库配合相应的算法计算出数据的语义标准度。
越符合字符规则库内的字符大小写格式要求的数据,其字符串标准度越高。数值规则库则是对数值的范围进行限定。若所测数据中数值部分超过所定范围,则降低该数据的数值标准度,降低两者数据中该数据保留的概率。超出范围的越大,数值标准度越低。语义规则库是对数据语义部分进行检测。作为相似重复数据的语义部分,两条数据中更加符合语义规则库的数据,语义标准度越高。
最后根据三者评判标准度进行综合计算,加权平均得到综合标准度,保留综合标准度更高的数据,删去另一个数据,完成相似重复数据处理。
步骤6:选取下一组检测数据
判断是否检测完本数据桶内所有数据,若检测完毕,则选取下一个数据桶内数据并跳转到步骤3,否则,继续选择本桶内下一对数据,跳转到步骤3。其详细步骤如下:
假设桶数为P,第i个数据桶内的数据个数为Mi,当前检测数据对是第i个数据桶内的第j对数据,则桶内数据对的总个数为首先判断j是否小于若小于则令j=j+1,i=i并跳转到步骤3。若不小于,则判断i是否小于P,若满足则j=1,i=i+1并跳转到步骤3,若不满足则结束本次数据去冗余操作。
判断是否检测完所有数据桶,若是,结束进程,反之,则重复上述步骤1-6,直至所有数据桶内的数据均进行了去冗余操作。
此外,针对上述提供的面向MES的海量数据去冗余方法,本发明还对应提供了一种面向MES的海量数据去冗余系统,如图4所示,该系统包括:
被检测数据获取模块1,用于获取MES中的被检测数据,对被检测数据进行预处理得到数据元素。被检测数据为工业设备数据。
本征矩阵确定模块2,用于根据数据元素建立数据集合,并确定数据集合的本征矩阵。每一数据集合包括被检测数据的多种数据元素。
最小哈希签名矩阵确定模块3,用于采用最小哈希算法确定本征矩阵的最小哈希签名矩阵。最小哈希签名矩阵包括与数据元素相对应的数据签名。
区块分割模块4,用于将最小哈希签名矩阵的行分为几个区块,每个区块为r行1列的签名子矩阵。。
哈希值确定模块5,用于采用基于最小哈希编码的局部敏感哈希算法确定每个数据元素列中各个区块的哈希值。
数据桶映射模块6,用于根据哈希值确定映射到同一数据桶内的最小哈希签名矩阵。
Jaccard相似度确定模块7,用于确定映射到同一数据桶内的各最小哈希签名矩阵中各数据元素间的Jaccard相似度。
潜在相似数据判断模块8,用于获取Jaccard相似度阈值,并根据Jaccard相似度与Jaccard相似度阈值间的关系,确定与Jaccard相似度相对应的数据元素对是否为潜在相似数据。
相似重复数据判断模块9,用于当与Jaccard相似度相对应的数据元素为潜在相似数据时,判断潜在相似数据是否为相似重复数据。
相似重复数据去余模块10,用于当潜在相似数据为相似重复数据时,获取相似重复数据中各数据元素的标准度,并根据标准度确定保留的数据元素。
数据元素保留模块11,用于当与最终相似度相对应的数据元素对不是相似重复数据时,保留该数据元素对。
循环去余模块12,用于当与Jaccard相似度相对应的数据元素均不是潜在相似数据时,返回“确定映射到同一数据桶内的各最小哈希签名矩阵中各数据元素间的Jaccard相似度”的步骤,直至完成所有数据桶内的数据的去冗余工作。
作为本发明的一优选实施例,上述最小哈希签名矩阵确定模块3具体包括:
哈希函数获取单元,用于获取t个哈希函数。
最小哈希签名矩阵确定单元,用于根据t个哈希函数采用最小哈希算法对本征矩阵进行t次映射,得到最小哈希签名矩阵。
作为本发明的另一优选实施例,上述数据桶映射模块4具体包括:
哈希值确定单元,用于采用哈希算法确定每个区块的哈希值,并将哈希值作为数据桶的标签。
数据桶映射单元,用于根据所述哈希值确定数据元素列间各同行区块对应的哈希值是否相等,若数据元素列间至少有一个同行的区块的哈希值相等,则将与该各区块相对应的最小哈希签名矩阵映射到将哈希值作为标签的数据桶中。
作为本发明的又一优选实施例,上述相似重复数据判断模块9具体包括:
相似度获取单元,用于获取潜在相似数据的相似度。
相似度确定单元,用于根据潜在相似数据的相似度确定潜在相似数据的总体相似度,并根据总体相似度和Jaccard相似度确定最终相似度。
相似度阈值获取单元,用于获取最终相似度阈值。
判断单元,用于判断最终相似度是否大于最终相似度阈值,得到判断结果。
第一相似重复数据判定单元,用于当判断结果为最终相似度大于最终相似度阈值时,确定与最终相似度相对应的数据元素对为相似重复数据。
第二相似重复数据判定单元,用于当判断结果为最终相似度小于等于最终相似度阈值,确定与最终相似度相对应的数据元素对不是相似重复数据。
作为本发明的再一优选实施例,上述相似重复数据去余模块10具体包括:
标准参数获取单元,用于当潜在相似数据为相似重复数据,分别获取相似重复数据中各数据元素的标准参数。标准参数包括:语义、数值和字符串标准度。
相似重复数据去余单元,用于根据标准参数分别确定相似重复数据中各数据元素的标准度,保留标准度最高的数据元素。
综上,本发明提供的技术方案相对于现有技术具有以下优点:
1、最小哈希算法与LSH(局部敏感哈希)算法,前者能够对预处理后的数据进行压缩得到最小哈希签名;后者结合最小哈希,能够避过相似度计算,将数据按照Jaccard相似度进行分桶,分桶操作极大的减少了从海量数据找出相似重复数据过程中的时间复杂度。而在计算大量数据的Jaccard相似度时,最小哈希算法与相比传统相似度算法具有很大的速度优势,故本发明在针对海量数据处理上具有速度优势。
2、本发明针对工业设备数据的多源异构特性,提出了潜在相似数据的概念。本发明认为Jaccard相似度不能反映出两条数据在同义词、英文大小写格式上等的相似程度,Jaccard相似度在局部上反应的更多是重复问题而对语义相似等问题无能为力。但语义相似度、字符串相似度、数值相似度在相似问题上能够更为精确,可以反映上述问题。故而本发明使用Jaccard相似度作为筛选条件,对Jaccard相似度大于阈值的数据定义为潜在相似数据。然后对潜在相似数据进行由分部到总体的相似度检测,即根据属性数据类型,选不同方法分别计算得到所有属性的相似度,然后综合所有属性相似度得到总体相似度,并与第二Jacccard相似度进行结合最终相似度。最终相似度综合两者,在重复性严格要求的基础上,增加了相似性的判断能力,加强了本发明的去相似能力,增加了去冗余能力。
3、本发明提出了一种相似重复处理的流程(如图3所示),提出了字符规则库、数值规则库、语义规则库等概念。本发明设计通过两条相似重复数据之间的综合标准度,比较删除综合标准度更低的数据,能够提高数据处理的准确性。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。
Claims (6)
1.一种面向MES的海量数据去冗余方法,其特征在于,包括:
获取MES中的被检测数据,对所述被检测数据进行预处理得到数据元素;所述被检测数据为工业设备数据;
根据所述数据元素建立数据集合,并确定所述数据集合的本征矩阵;每一所述数据集合包括所述被检测数据的多种数据元素;
采用最小哈希算法确定所述本征矩阵的最小哈希签名矩阵;所述最小哈希签名矩阵包括与所述数据元素相对应的数据签名;
将所述最小哈希签名矩阵的行分为几个区块,每个所述区块为r行1列的签名子矩阵;
采用基于最小哈希编码的局部敏感哈希算法确定所述每个数据元素列中各个区块的哈希值;
根据各所述区块的哈希值确定映射到同一数据桶内的最小哈希签名矩阵;
确定映射到同一所述数据桶内的各所述最小哈希签名矩阵中各数据元素间的Jaccard相似度;
获取Jaccard相似度阈值,并根据所述Jaccard相似度与所述Jaccard相似度阈值间的关系,确定与所述Jaccard相似度相对应的数据元素对是否为潜在相似数据;
若与所述Jaccard相似度相对应的数据元素为所述潜在相似数据,则判断所述潜在相似数据是否为相似重复数据;
若所述潜在相似数据为相似重复数据,则获取所述相似重复数据中各数据元素的标准度,并根据所述标准度确定保留的数据元素;
若与最终相似度相对应的数据元素对不是相似重复数据,则保留该数据元素对;
若与所述Jaccard相似度相对应的数据元素均不是所述潜在相似数据,则返回“确定映射到同一所述数据桶内的各所述最小哈希签名矩阵中各数据元素间的Jaccard相似度”的步骤,直至完成所有所述数据桶内的数据的去冗余工作;
其中,所述若所述潜在相似数据为相似重复数据,则获取所述相似重复数据中各数据元素的标准度,并根据所述标准度确定保留的数据元素,具体包括:
若所述潜在相似数据为相似重复数据,则分别获取相似重复数据中各数据元素的标准参数;所述标准参数包括:语义、数值和字符串标准度;
根据所述标准参数分别确定相似重复数据中各数据元素的标准度,保留所述标准度最高的数据元素;
若与所述Jaccard相似度相对应的数据元素为所述潜在相似数据,则判断所述潜在相似数据是否为相似重复数据,具体包括:
获取所述潜在相似数据的相似度;
根据所述潜在相似数据的相似度确定所述潜在相似数据的总体相似度,并根据所述总体相似度和所述Jaccard相似度确定最终相似度;
获取最终相似度阈值;
判断所述最终相似度是否大于所述最终相似度阈值,得到判断结果;
若所述判断结果为所述最终相似度大于所述最终相似度阈值,则与所述最终相似度相对应的数据元素对为相似重复数据;
若所述判断结果为所述最终相似度小于等于所述最终相似度阈值,则与所述最终相似度相对应的数据元素对不是相似重复数据。
2.根据权利要求1所述的面向MES的海量数据去冗余方法,其特征在于,所述采用最小哈希算法确定所述本征矩阵的最小哈希签名矩阵,具体包括:
获取t个哈希函数;
根据t个所述哈希函数采用最小哈希算法对所述本征矩阵进行t次映射,得到最小哈希签名矩阵。
3.根据权利要求1所述的面向MES的海量数据去冗余方法,其特征在于,所述根据各所述区块的哈希值确定映射到同一数据桶内的最小哈希签名矩阵,具体包括:
采用哈希算法确定每个所述区块的哈希值,并将所述哈希值作为所述数据桶的标签;
根据所述哈希值确定数据元素列间各同行区块对应的哈希值是否相等,若数据元素列间至少有一个同行的区块的哈希值相等,则将与该各区块相对应的最小哈希签名矩阵映射到将所述哈希值作为标签的所述数据桶中。
4.一种面向MES的海量数据去冗余系统,其特征在于,包括:
被检测数据获取模块,用于获取MES中的被检测数据,对所述被检测数据进行预处理得到数据元素;所述被检测数据为工业设备数据;
本征矩阵确定模块,用于根据所述数据元素建立数据集合,并确定所述数据集合的本征矩阵;每一所述数据集合包括所述被检测数据的多种数据元素;
最小哈希签名矩阵确定模块,用于采用最小哈希算法确定所述本征矩阵的最小哈希签名矩阵;所述最小哈希签名矩阵包括与所述数据元素相对应的数据签名;
区块分割模块,用于将所述最小哈希签名矩阵的行分为几个区块,每个所述区块为r行1列的签名子矩阵;
哈希值确定模块,用于采用基于最小哈希编码的局部敏感哈希算法确定所述每个数据元素列中各个区块的哈希值;
数据桶映射模块,用于根据所述哈希值确定映射到同一数据桶内的最小哈希签名矩阵;
Jaccard相似度确定模块,用于确定映射到同一所述数据桶内的各所述最小哈希签名矩阵中各数据元素间的Jaccard相似度;
潜在相似数据判断模块,用于获取Jaccard相似度阈值,并根据所述Jaccard相似度与所述Jaccard相似度阈值间的关系,确定与所述Jaccard相似度相对应的数据元素对是否为潜在相似数据;
相似重复数据判断模块,用于当与所述Jaccard相似度相对应的数据元素为所述潜在相似数据时,判断所述潜在相似数据是否为相似重复数据;
相似重复数据去余模块,用于当所述潜在相似数据为相似重复数据时,获取所述相似重复数据中各数据元素的标准度,并根据所述标准度确定保留的数据元素;
数据元素保留模块,用于当与最终相似度相对应的数据元素对不是相似重复数据时,保留该数据元素对;
循环去余模块,用于当与所述Jaccard相似度相对应的数据元素均不是所述潜在相似数据时,返回“确定映射到同一所述数据桶内的各所述最小哈希签名矩阵中各数据元素间的Jaccard相似度”的步骤,直至完成所有所述数据桶内的数据的去冗余工作;
其中,所述相似重复数据去余模块,具体包括:
标准参数获取单元,用于当所述潜在相似数据为相似重复数据,分别获取相似重复数据中各数据元素的标准参数;所述标准参数包括:语义、数值和字符串标准度;
相似重复数据去余单元,用于根据所述标准参数分别确定相似重复数据中各数据元素的标准度,保留所述标准度最高的数据元素;
所述相似重复数据判断模块,具体包括:
相似度获取单元,用于获取所述潜在相似数据的相似度;
相似度确定单元,用于根据所述潜在相似数据的相似度确定所述潜在相似数据的总体相似度,并根据所述总体相似度和所述Jaccard相似度确定最终相似度;
相似度阈值获取单元,用于获取最终相似度阈值;
判断单元,用于判断所述最终相似度是否大于所述最终相似度阈值,得到判断结果;
第一相似重复数据判定单元,用于当所述判断结果为所述最终相似度大于所述最终相似度阈值时,确定与所述最终相似度相对应的数据元素对为相似重复数据;
第二相似重复数据判定单元,用于当所述判断结果为所述最终相似度小于等于所述最终相似度阈值,确定与所述最终相似度相对应的数据元素对不是相似重复数据。
5.根据权利要求4所述的面向MES的海量数据去冗余系统,其特征在于,所述最小哈希签名矩阵确定模块,具体包括:
哈希函数获取单元,用于获取t个哈希函数;
最小哈希签名矩阵确定单元,用于根据t个所述哈希函数采用最小哈希算法对所述本征矩阵进行t次映射,得到最小哈希签名矩阵。
6.根据权利要求4所述的面向MES的海量数据去冗余系统,其特征在于,所述数据桶映射模块,具体包括:
哈希值确定单元,用于采用哈希算法确定每个所述区块的哈希值,并将所述哈希值作为所述数据桶的标签;
数据桶映射单元,用于根据所述哈希值确定数据元素列间各同行区块对应的哈希值是否相等,若数据元素列间至少有一个同行的区块的哈希值相等,则将与该各区块相对应的最小哈希签名矩阵映射到将所述哈希值作为标签的所述数据桶中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011124465.XA CN112162977B (zh) | 2020-10-20 | 2020-10-20 | 一种面向mes的海量数据去冗余方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011124465.XA CN112162977B (zh) | 2020-10-20 | 2020-10-20 | 一种面向mes的海量数据去冗余方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112162977A CN112162977A (zh) | 2021-01-01 |
CN112162977B true CN112162977B (zh) | 2023-01-13 |
Family
ID=73867672
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011124465.XA Active CN112162977B (zh) | 2020-10-20 | 2020-10-20 | 一种面向mes的海量数据去冗余方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112162977B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112685399B (zh) * | 2021-01-08 | 2022-10-18 | 北京理工大学 | 一种mes系统的标识数据库去重方法及系统 |
CN112734386A (zh) * | 2021-01-13 | 2021-04-30 | 国家电网有限公司 | 基于关联匹配算法的新能源接网全流程贯通方法及系统 |
CN113762423A (zh) * | 2021-11-09 | 2021-12-07 | 北京世纪好未来教育科技有限公司 | 数据处理和模型训练方法、装置、电子设备及存储介质 |
CN117494072B (zh) * | 2023-12-29 | 2024-04-19 | 深圳永泰数能科技有限公司 | 一种基于数据融合的换电柜运行状态监测方法及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105677661A (zh) * | 2014-09-30 | 2016-06-15 | 华东师范大学 | 一种检测社交媒体重复数据的方法 |
CN106681688A (zh) * | 2016-12-28 | 2017-05-17 | 北京酷云互动科技有限公司 | 一种基于minhash的集合相似度计算方法和系统 |
CN107704501A (zh) * | 2017-08-28 | 2018-02-16 | 中国科学院信息工程研究所 | 一种识别同源二进制文件的方法及系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9678977B1 (en) * | 2015-11-25 | 2017-06-13 | International Business Machines Corporation | Similarity based deduplication of snapshots data |
-
2020
- 2020-10-20 CN CN202011124465.XA patent/CN112162977B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105677661A (zh) * | 2014-09-30 | 2016-06-15 | 华东师范大学 | 一种检测社交媒体重复数据的方法 |
CN106681688A (zh) * | 2016-12-28 | 2017-05-17 | 北京酷云互动科技有限公司 | 一种基于minhash的集合相似度计算方法和系统 |
CN107704501A (zh) * | 2017-08-28 | 2018-02-16 | 中国科学院信息工程研究所 | 一种识别同源二进制文件的方法及系统 |
Non-Patent Citations (2)
Title |
---|
基于最小哈希的重复数据清洗方法;张荃等;《通信技术》;20191130;第52卷(第11期);3653-2658 * |
数据挖掘在轮胎均匀性试验数据上的应用;张健斌等;《世界橡胶工业》;20160731;第43卷(第07期);45-51 * |
Also Published As
Publication number | Publication date |
---|---|
CN112162977A (zh) | 2021-01-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112162977B (zh) | 一种面向mes的海量数据去冗余方法和系统 | |
CN109598095B (zh) | 评分卡模型的建立方法、装置、计算机设备和存储介质 | |
CN110991474A (zh) | 一种机器学习建模平台 | |
CN112463774B (zh) | 文本数据的去重方法、设备及存储介质 | |
CN110750731B (zh) | 针对新闻舆情的去重方法及系统 | |
CN108280197B (zh) | 一种识别同源二进制文件的方法及系统 | |
CN109885658B (zh) | 指标数据提取方法、装置和计算机设备 | |
CN110188196B (zh) | 一种基于随机森林的文本增量降维方法 | |
CN107229694A (zh) | 一种基于大数据的数据信息一致性处理方法、系统及装置 | |
CN106909575B (zh) | 文本聚类方法和装置 | |
US20040220920A1 (en) | Edit distance string search | |
US20220229854A1 (en) | Constructing ground truth when classifying data | |
CN116821053B (zh) | 数据上报方法、装置、计算机设备和存储介质 | |
CN112612810A (zh) | 慢sql语句识别方法及系统 | |
CN109902162B (zh) | 基于数字指纹的文本相似性的识别方法、存储介质及装置 | |
US9817855B2 (en) | Method and system for determining a measure of overlap between data entries | |
CN110019829B (zh) | 数据属性确定方法、装置 | |
CN114238062A (zh) | 板卡烧录装置性能分析方法、装置、设备及可读存储介质 | |
CN114048796A (zh) | 一种改进型硬盘故障预测方法及装置 | |
CN109308565B (zh) | 人群绩效等级识别方法、装置、存储介质及计算机设备 | |
CN113609279B (zh) | 一种物料型号提取方法、装置及计算机设备 | |
CN113537195B (zh) | 一种图像文本识别方法、系统和电子设备 | |
CN113157788B (zh) | 大数据挖掘方法及系统 | |
US20230266940A1 (en) | Semantic based ordinal sorting | |
CN117216239A (zh) | 文本去重方法、装置、计算机设备及存储介质 |
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 |