CN116594795B - 面向数据中台的错误检测和修复方法 - Google Patents

面向数据中台的错误检测和修复方法 Download PDF

Info

Publication number
CN116594795B
CN116594795B CN202310201668.1A CN202310201668A CN116594795B CN 116594795 B CN116594795 B CN 116594795B CN 202310201668 A CN202310201668 A CN 202310201668A CN 116594795 B CN116594795 B CN 116594795B
Authority
CN
China
Prior art keywords
lhs
function
data source
ith
data
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
Application number
CN202310201668.1A
Other languages
English (en)
Other versions
CN116594795A (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.)
Qilu University of Technology
Heilongjiang University
Shandong Institute of Artificial Intelligence
Original Assignee
Qilu University of Technology
Heilongjiang University
Shandong Institute of Artificial Intelligence
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 Qilu University of Technology, Heilongjiang University, Shandong Institute of Artificial Intelligence filed Critical Qilu University of Technology
Priority to CN202310201668.1A priority Critical patent/CN116594795B/zh
Publication of CN116594795A publication Critical patent/CN116594795A/zh
Application granted granted Critical
Publication of CN116594795B publication Critical patent/CN116594795B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/079Root cause analysis, i.e. error or fault diagnosis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/30Computing systems specially adapted for manufacturing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

一种面向数据中台的错误检测和修复方法,属于工业大数据技术领域,通过对工业大数据中关系数据的错误数据的检测和修复方法可以有效检测数据集中的不能被规则检测出来的错误并对其就行修复,相对于公开数据集book和Flight,通过基于草图构建的近似算法和精确计算权重的算法,提高了检测和修复效率。

Description

面向数据中台的错误检测和修复方法
技术领域
本发明涉及工业大数据技术领域,具体涉及一种面向数据中台的错误检测和修复方法。
背景技术
数据中台是从后台及业务中台中将数据导入,完成海量数据的存储、计算、产品包装过程,统一要辅助以数据治理,保证数据的输入输出质量,构成企业的核心数据能力。在数据中台中的一个核心技术就是数据质量管理,即如何有提升工业大数据的数据质量,例如修复目标数据集的错误数据,从而保证数据的输入输出质量,构成企业的核心数据能力,最终为前台基于属于数据的定制化提供了强大的支撑,也帮助业务中台基于数据反馈做持续的演进。与传统数据库的数据相比,工业大数据的数据由于数据采集的不确定性,其数据可能并不可靠,包含较多的错误,这给数据修复带来了挑战。因此,如何在数据中台的架构下检测工业大数据中的错误并修复是数据中台能够有效支持企业各类数据服务的必不可少的环节。当前的研究者提出了一系列传统数据库下一致性的修复技术,但是仍存在一些不足,例如并不能有效利用外面的数据源来帮助检测数据的不一致。数据中台集成了来自多个数据源的数据,多个数据源的数据的集成带来了困难,但也带来了解决数据质量问题的新机会。
发明内容
本发明为了克服以上技术的不足,提供了一种能够解决数据中台中数据治理里的数据错误问题的面向数据中台的错误检测和修复方法。
本发明克服其技术问题所采用的技术方案是:
一种面向数据中台的错误检测和修复方法,包括如下步骤:
a)从数据中台内的工业大数据中获取数据建立一个关系模式为R的目标数据集D(A1,A2,...,Ai,...,Am)=(t1,t2,...,tj,...,tn),其中Ai为第i个属性,i∈{1,2,…,m},m为获取的工业大数据中的属性个数,tj为第j个元组,j∈{1,2,...,n},n为获取的工业大数据中的元组个数,目标数据集D(A1,A2,...,Ai,...,Am)=(t1,t2,...,tj,...,tn)满足的函数依赖集合为Z={r1,r2,...,ri,...,rp},其中ri为第i条函数依赖规则,i∈{1,2,...,p},p为函数依赖集合的大小,第j条函数依赖规则rj的形式定义为LHS(rj)→RHS(rj),其中LHS(rj)为函数依赖规则rj的前件,RHS(rj)为函数依赖规则rj的后件,LHS(rj)为属性列表,LHS(rj)=Aj(1),Aj(2),...,Aj(o),...,Aj(s),Aj(o)为关系模式R上的第j个属性,j(o)∈{1,2,...,m},o∈{1,2,...,s},s为前件中属性的个数,RHS(rj)=Aj(s+1),Aj(s+1)为关系模式R上的第j(s+1)个属性,j(s+1)∈{1,2,...,m};
b)从数据中台内的工业大数据中获取数据建立一个数据源集合S={S1,S2,...,Si,...,So},其中Si为第i个数据源,i∈{1,2,...,o},o为数据源的数量,第i个数据源Si的关系模式为Ri,第i个数据源Si的函数依赖集合为Zi,第j条函数依赖规则rj的形式定义为LHS(rj)→RHS(rj),其中LHS(rj)为函数依赖规则rj的前件,RHS(rj)为函数依赖规则rj的后件,LHS(rj)为属性列表,LHS(rj)=Aj(1),Aj(2),...,Aj(o′),...,Aj(s),Aj(o′)为关系模式Ri上的第j(o′)个属性,j(o′)∈{1,2,...,|R_i|},|R_i|为关系模式Ri中属性个数,o′∈{1,2,...,|R_i|},s为前件中属性的个数,RHS(ri)=Aj(s+1),Aj(s+1)为关系模式Ri上的第j(s+1)个属性,j(s+1)∈{1,2,...,m};
c)设置子函数一,利用子函数一将目标数据集D(A1,A2,...,Ai,...,Am)=(t1,t2,...,tj,...,tn)构建其在函数依赖集合Z={r1,r2,...,ri,...,rp}中第j条函数依赖规则rj对应的草图ScratchD(j);
d)利用子函数一将数据源集合S={S1,S2,...,Si,...,So}中的第i个数据源Si构建其在函数依赖集合Zi中第j条函数依赖规则rj对应的草图Scratch(i,j);
e)设置子函数二,利用子函数二计算第i个数据源Si对目标数据集D(A1,A2,...,Ai,...,Am)=(t1,t2,…,tj,...,tn)错误检测和修复的重要性权重Wi
f)设置子函数三,利用子函数三对所有数据源按照其权重Wi从大到小的顺序进行排列,按照权重从大到小的的顺序对数据源依次进行访问,根据c个独立的哈希函数h1-hc计算得到工业大数据中获取数据的模式p的c个哈希值h1(p)-hc(p),如果数据源集合S={S1,S2,...,Si,...,So}中第i个数据源Si在第j条函数依赖规则rj上的布隆过滤器BF(i,j)上所有位置均为1,则第i个数据源Si可被用于对模式p的错误检测和修复,如果数据源集合S={S1,S2,...,Si,...,So}中第i个数据源Si在第j条函数依赖规则rj上的布隆过滤器BF(i,j)上所有位置不均为1,则第i个数据源Si不可被用于对模式p的错误检测和修复;
g)设置子函数四,利用子函数四判断第i个数据源Si是否可用于对模式p的错误检测和修复,如果第i个数据源Si可被用于对模式p的错误检测和修复,则对第i个数据源Si进行SQL查询模式p来判断第i个数据源Si是否可以用于错误检测和修复,如果不能用于错误检测和修复,则访问下一个数据源后重复执行f),如果可以用于错误检测和修复,则停止循环,用SQL查询模式p的查询结果对模式p进行错误检测和修复。
进一步的,步骤c)包括如下步骤:
c-1)构造目标数据集D(A1,A2,...,Ai,...,Am)=(t1,t2,...,tj,...,tn)在第j条函数依赖规则rj上的最小哈希值列表mhD(j),j∈{1,2,...,p};
c-2)构造目标数据集D(A1,A2,...,Ai,...,Am)=(t1,t2,...,tj,...,tn)在第j条函数依赖规则rj上的布隆过滤器BFD(j);
c-3)最小哈希值列表mhD(j)及布隆过滤器BFD(j)共同构成目标数据集D(A1,A2,...,Ai,...,Am)=(t1,t2,...,tj,...,tn)在第j条函数依赖规则rj上的草图ScratchD(j)。
进一步的,步骤c-1)中通过定义k个独立的哈希函数h1-hk,遍历目标数据集D(A1,A2,...,Ai,...,Am)=(t1,t2,...,tj,...,tn)中每个元组在函数依赖规则rj的前件LHS(rj)上的值,计算该值在哈希函数h1-hk上的哈希值,得到k个最小哈希值列表mhD(j),mhD(j)=[mh1(D),mh2(D),...,mhi(D),...,mhk(D)],mhi(D)为每个元组在函数依赖规则rj的前件LHS(rj)上的值在第i个哈希函数hi上的哈希值,i∈{1,2,...,k};步骤c-2)中初始化一个长度为L的位数组BFD(j),定义c个独立的哈希函数h1-hc,将任意整数映射到1-L,将位数组BFD(j)的所有位初始化为0后遍历目标数据集D(A1,A2,...,Ai,...,Am)=(t1,t2,...,tj,...,tn)中的每条元组,计算出第j个元组tj在属性列表LHS(rj)上的值在哈希函数h1-hc上的哈希值,得到h1(tj[LHS(rj)]),h2(tj[LHS(rj)]),...,hi(tj[LHS(rj)]),...,hc(tj[LHS(rj)]),其中hi(tj[LHS(rj)])为第j个元组tj在属性列表LHS(rj)上的值在第i个哈希函数hi上的哈希值,i∈{1,2,...,c},将位数组BFD(j)中c个位置的哈希值h1(tj[LHS(rj)]),h2(tj[LHS(rj)]),...,hi(tj[LHS(rj)]),...,hc(tj[LHS(rj)])置1。
进一步的,步骤d)包括如下步骤:
d-1)构造数据源集合S={S1,S2,...,Si,...,So}中的第i个数据源Si在第j条函数依赖规则rj上的最小哈希值列表mh(i,j),j∈{1,2,...,p};
d-2)构造数据源集合S={S1,S2,...,Si,...,So}中的第i个数据源Si在第j条函数依赖规则rj上的布隆过滤器BF(i,j);
d-3)最小哈希值列表mh(i,j)及布隆过滤器BF(i,j)共同构成第i个数据源Si在第j条函数依赖规则rj上的草图Scratch(i,j)。
进一步的,步骤d-1)中通过定义k个独立的哈希函数h1-hk,遍历第i个数据源Si中每个元组在函数依赖规则rj的前件LHS(rj)上的值,计算该值在哈希函数h1-hk上的哈希值,得到k个最小哈希值列表mh(i,j),mh(i,j)=[mh1(Si),mh2(Si),...,mhi(Si),...,mhk(Si)],mhi(Si)为每个元组在函数依赖规则rj的前件LHS(rj)上的值在第i个哈希函数hi上的哈希值,i∈{1,2,...,k};步骤d-2)中初始化一个长度为L的位数组BF(i,j),定义c个独立的哈希函数h1-hc,将任意整数映射到1-L,将位数组BF(i,j)的所有位初始化为0后遍历第i个数据源Si中的每条元组,计算出第j个元组tj在属性列表LHS(rj)上的值在哈希函数h1-hc上的哈希值,得到h1(tj[LHS(rj)]),h2(tj[LHS(rj)]),...,hi(tj[LHS(rj)]),...,hc(tj[LHS(rj)]),其中hi(tj[LHS(rj)])为第j个元组tj在属性列表LHS(rj)上的值在第i个哈希函数hi上的哈希值,i∈{1,2,...,c},将位数组BF(i,j)中c个位置的哈希值h1(tj[LHS(rj)]),h2(tj[LHS(rj)]),...,hi(tj[LHS(rj)]),...,hc(tj[LHS(rj)])置1。
进一步的,步骤e)包括如下步骤:
e-1)对权重Wi初始化为0;
e-2)遍历第i个数据源Si和目标数据集D(A1,A2,…,Ai,…,Am)=(t1,t2,...,tj,...,tn)中的函数依赖的交集Zi∩Z中的每一条函数依赖规则,计算第i个数据源Si和目标数据集D(A1,A2,...,Ai,...,Am)=(t1,t2,...,tj,...,tn)的最小哈希相似度s;
e-3)通过公式Wi=Wi+s(n1+n2)/(1+s)更新权重Wi,式中s(n1+n2)/(1+s)为第i个数据源Si在函数依赖规则rj上对权重的覆盖度,n1为第i个数据源Si在前件LHS(rj)下属性列表的投影下不同模式的数量,n2为目标数据集D(A1,A2,...,Ai,...,Am)=(t1,t2,...,tj,...,tn)在前件LHS(rj)下属性列表的投影下不同模式的数量;
e-4)遍历完交集Zi∩Z中的最后一条函数依赖规则后,计算得到的更新后的权重Wi为第i个数据源Si的权重。
进一步的,步骤e-2)中第i个数据源Si最小哈希值列表mh(i,j)=[mh1(Si),mh2(Si),...,mhi(Si),...,mhk(Si)],目标数据集D(A1,A2,...,Ai,...,Am)=(t1,t2,...,tj,...,tn)最小哈希值列表mhD(j)=[mh1(D),mh2(D),...,mhi(D),...,mhk(D)],通过公式s=(mhi(Si)和mhi(D)相等的数量)/k计算得到最小哈希相似度s。
本发明的有益效果是:本发明提出的对工业大数据中关系数据的错误数据的检测和修复方法可以有效检测数据集中的不能被规则检测出来的错误并对其就行修复,相对于公开数据集book和Flight,通过基于草图构建的近似算法和精确计算权重的算法,提高了检测和修复效率。
附图说明
图1为本发明的方法流程图。
具体实施方式
下面结合附图1对本发明做进一步说明。
一种面向数据中台的错误检测和修复方法,包括如下步骤:
a)从数据中台内的工业大数据中获取数据建立一个关系模式为R的目标数据集D(A1,A2,...,Ai,...,Am)=(t1,t2,…,tj,...,tn),其中Ai为第i个属性,i∈{1,2,…,m},m为获取的工业大数据中的属性个数,tj为第j个元组,j∈{1,2,…,n},n为获取的工业大数据中的元组个数,目标数据集D(A1,A2,…,Ai,…,Am)=(t1,t2,...,tj,...,tn)满足的函数依赖集合为Z={r1,r2,...,ri,...,rp},其中ri为第i条函数依赖规则,i∈{1,2,...,p},p为函数依赖集合的大小,第j条函数依赖规则rj的形式定义为LHS(rj)→RHS(rj),其中LHS(rj)为函数依赖规则rj的前件,RHS(rj)为函数依赖规则rj的后件,LHS(rj)为属性列表,LHS(rj)=Aj(1),Aj(2),...,Aj(o),...,Aj(s),Aj(o)为关系模式R上的第j个属性,j(o)∈{1,2,...,m},o∈{1,2,...,s},s为前件中属性的个数,RHS(rj)=Aj(s+1),Aj(s+1)为关系模式R上的第j(s+1)个属性,j(s+1)∈{1,2,...,m};
b)从数据中台内的工业大数据中获取数据建立一个数据源集合S={S1,S2,...,Si,...,So},其中Si为第i个数据源,i∈{1,2,...,o},o为数据源的数量,第i个数据源Si的关系模式为Ri,第i个数据源Si的函数依赖集合为Zi,第j条函数依赖规则rj的形式定义为LHS(rj)→RHS(rj),其中LHS(rj)为函数依赖规则rj的前件,RHS(rj)为函数依赖规则rj的后件,LHS(rj)为属性列表,LHS(rj)=Aj(1),Aj(2),...,Aj(o′),...,Aj(s),Aj(o′)为关系模式Ri上的第j(o′)个属性,j(o′)∈{1,2,...,|R_i|},|R_i|为关系模式Ri中属性个数,o′∈{1,2,...,|R_i|},s为前件中属性的个数,RHS(ri)=Aj(s+1),Aj(s+1)为关系模式Ri上的第j(s+1)个属性,j(s+1)∈{1,2,...,m}。
c)设置子函数一,利用子函数一将目标数据集D(A1,A2,...,Ai,...,Am)=(t1,t2,...,tj,...,tn)构建其在函数依赖集合Z={r1,r2,...,ri,...,rp}中第j条函数依赖规则rj对应的草图ScratchD(j)。
d)利用子函数一将数据源集合S={S1,S2,...,Si,...,So}中的第i个数据源Si构建其在函数依赖集合Zi中第j条函数依赖规则rj对应的草图Scratch(i,j)。
e)设置子函数二,利用子函数二计算第i个数据源Si对目标数据集D(A1,A2,...,Ai,...,Am)=(t1,t2,...,tj,...,tn)错误检测和修复的重要性权重Wi
f)设置子函数三,利用子函数三对所有数据源按照其权重Wi从大到小的顺序进行排列,按照权重从大到小的的顺序对数据源依次进行访问,根据c个独立的哈希函数h1-hc计算得到工业大数据中获取数据的模式p的c个哈希值h1(p)-hc(p),如果数据源集合S={S1,S2,...,Si,...,So}中第i个数据源Si在第j条函数依赖规则rj上的布隆过滤器BF(i,j)上所有位置均为1,则第i个数据源Si可被用于对模式p的错误检测和修复,如果数据源集合S={S1,S2,...,Si,...,So}中第i个数据源Si在第j条函数依赖规则rj上的布隆过滤器BF(i,j)上所有位置不均为1,则第i个数据源Si不可被用于对模式p的错误检测和修复。
g)设置子函数四,利用子函数四判断第i个数据源Si是否可用于对模式p的错误检测和修复,如果第i个数据源Si可被用于对模式p的错误检测和修复,则对第i个数据源Si进行SQL查询模式p,例如SELECT RHS(rj)FROM Si WHERE LHS(rj)=p,通过查询来判断第i个数据源Si是否可以用于错误检测和修复,如果不能用于错误检测和修复,则访问下一个数据源后重复执行f),如果可以用于错误检测和修复,则停止循环,用SQL查询模式p的查询结果对模式p进行错误检测和修复。即比较查询结果和第j个元组tj在属性列表RHS(rj)上的值tj(RHS(rj))进行比较,如果相等则什么都不做,如不不相等,则将tj(RHS(rj))更新为在第i个数据源Si中的查询结果。
可以有效检测数据集中的不能被规则检测出来的错误并对其就行修复。在真实的两个公开数据集book(包含1263个元组,894个相关的数据源,函数依赖为ISBN title)和flight(包含1200个元组,38个相关的数据源,函数依赖为flight#Scheduled departure)数据集上验证了该发明的有效性,该发明技术提升了原数据集的正确性。对于Book数据集,利用数据源能够对目标数据集中92%的数据进行错误检测,检测出并修复了290个错误。对于Flight数据集,利用数据源能够对目标数据集中75%的数据进行错误检测,检测出并修复了456个错误。在合成数据上将本发明中基于草图构建的近似算法和精确计算权重的算法进行了对比,发现本发明在精度上和精确算法相当,误差不超过10%,但是在效率上大大提升。当数据源数量达到1000时,本算法效率是精确算法的10倍。
实施例1:
在本发明的一个实施例中,步骤c)包括如下步骤:
c-1)构造目标数据集D(A1,A2,...,Ai,...,Am)=(t1,t2,...,tj,...,tn)在第j条函数依赖规则rj上的最小哈希值列表mhD(j),j∈{1,2,...,p}。即计算目标数据集D(A1,A2,...,Ai,...,Am)=(t1,t2,...,tj,...,tn)所有元组在前件LHS(r)上的投影的实例构成的集合的最小哈希。
c-2)构造目标数据集D(A1,A2,...,Ai,...,Am)=(t1,t2,...,tj,...,tn)在第j条函数依赖规则rj上的布隆过滤器BFD(j)。
c-3)最小哈希值列表mhD(j)及布隆过滤器BFD(j)共同构成目标数据集D(A1,A2,...,Ai,...,Am)=(t1,t2,...,tj,...,tn)在第j条函数依赖规则rj上的草图ScratchD(j)。
具体的:
步骤c-1)中通过定义k个独立的哈希函数h1-hk,遍历目标数据集D(A1,A2,...,Ai,...,Am)=(t1,t2,...,tj,...,tn)中每个元组在函数依赖规则rj的前件LHS(rj)上的值,计算该值在哈希函数h1-hk上的哈希值,得到k个最小哈希值列表mhD(j),mhD(j)=[mh1(D),mh2(D),...,mhi(D),...,mhk(D)],mhi(D)为每个元组在函数依赖规则rj的前件LHS(rj)上的值在第i个哈希函数hi上的哈希值,i∈{1,2,...,k};步骤c-2)中初始化一个长度为L的位数组BFD(j),定义c个独立的哈希函数h1-hc,将任意整数映射到1-L,将位数组BFD(j)的所有位初始化为0后遍历目标数据集D(A1,A2,...,Ai,...,Am)=(t1,t2,…,tj,…,tn)中的每条元组,计算出第j个元组tj在属性列表LHS(rj)上的值在哈希函数h1-hc上的哈希值,得到h1(tj[LHS(rj)]),h2(tj[LHS(rj)]),...,hi(tj[LHS(rj)]),…,hc(tj[LHS(rj)]),其中hi(tj[LHS(rj)])为第j个元组tj在属性列表LHS(rj)上的值在第i个哈希函数hi上的哈希值,i∈{1,2,…,c},将位数组BFD(j)中c个位置的哈希值h1(tj[LHS(rj)]),h2(tj[LHS(rj)]),...,hi(tj[LHS(rj)]),...,hc(tj[LHS(rj)])置1。
实施例2:
在本发明的一个实施例中,步骤d)包括如下步骤:
d-1)构造数据源集合S={S1,S2,...,Si,...,So}中的第i个数据源Si在第j条函数依赖规则rj上的最小哈希值列表mh(i,j),j∈{1,2,...,p}。
d-2)构造数据源集合S={S1,S2,...,Si,...,So}中的第i个数据源Si在第j条函数依赖规则rj上的布隆过滤器BF(i,j)。
d-3)最小哈希值列表mh(i,j)及布隆过滤器BF(i,j)共同构成第i个数据源Si在第j条函数依赖规则rj上的草图Scratch(i,j)。
具体的:
步骤d-1)中通过定义k个独立的哈希函数h1-hk,遍历第i个数据源Si中每个元组在函数依赖规则rj的前件LHS(rj)上的值,计算该值在哈希函数h1-hk上的哈希值,得到k个最小哈希值列表mh(i,j),mh(i,j)=[mh1(Si),mh2(Si),...,mhi(Si),...,mhk(Si)],mhi(Si)为每个元组在函数依赖规则rj的前件LHS(rj)上的值在第i个哈希函数hi上的哈希值,i∈{1,2,...,k};步骤d-2)中初始化一个长度为L的位数组BF(i,j),定义c个独立的哈希函数h1-hc,将任意整数映射到1-L,将位数组BF(i,j)的所有位初始化为0后遍历第i个数据源Si中的每条元组,计算出第j个元组tj在属性列表LHS(rj)上的值在哈希函数h1-hc上的哈希值,得到h1(tj[LHS(rj)]),h2(tj[LHS(rj)]),…,hi(tj[LHS(rj)]),...,hc(tj[LHS(rj)]),其中hi(tj[LHS(rj)])为第j个元组tj在属性列表LHS(rj)上的值在第i个哈希函数hi上的哈希值,i∈{1,2,...,c},将位数组BF(i,j)中c个位置的哈希值h1(tj[LHS(rj)]),h2(tj[LHS(rj)]),…,hi(tj[LHS(rj)]),...,hc(tj[LHS(rj)])置1。
实施例3:
在本发明的一个实施例中,步骤e)包括如下步骤:
e-1)对权重Wi初始化为0。
e-2)遍历第i个数据源Si和目标数据集D(A1,A2,...,Ai,...,Am)=(t1,t2,...,tj,...,tn)中的函数依赖的交集Zi∩Z中的每一条函数依赖规则,计算第i个数据源Si和目标数据集D(A1,A2,…,Ai,…,Am)=(t1,t2,...,tj,...,tn)的最小哈希相似度s。
e-3)通过公式Wi=Wi+s(n1+n2)/(1+s)更新权重Wi,式中s(n1+n2)/(1+s)为第i个数据源Si在函数依赖规则rj上对权重的覆盖度,即第i个数据源Si的模式和权重Wi的模式的交集大小,n1为第i个数据源Si在前件LHS(rj)下属性列表的投影下不同模式的数量,n2为目标数据集D(A1,A2,...,Ai,...,Am)=(t1,t2,...,tj,...,tn)在前件LHS(rj)下属性列表的投影下不同模式的数量。
e-4)遍历完交集Zi∩Z中的最后一条函数依赖规则后,计算得到的更新后的权重Wi为第i个数据源Si的权重。权重Wi越大,说明第i个数据源Si对目标数据集D(A1,A2,...,Ai,...,Am)=(t1,t2,...,tj,...,tn)的检测和修复能力越强。
具体的:
步骤e-2)中第i个数据源Si最小哈希值列表mh(i,j)=[mh1(Si),mh2(Si),...,mhi(Si),...,mhk(Si)],目标数据集D(A1,A2,...,Ai,...,Am)=(t1,t2,...,tj,...,tn)最小哈希值列表mhD(j)=[mh1(D),mh2(D),...,mhi(D),...,mhk(D)],通过公式s=(mhi(Si)和mhi(D)相等的数量)/k计算得到最小哈希相似度s。
最后应说明的是:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (4)

1.一种面向数据中台的错误检测和修复方法,其特征在于,包括如下步骤:
a)从数据中台内的工业大数据中获取数据建立一个关系模式为R的目标数据集D(A1,A2,...,Ai,...,Am)=(t1,t2,...,tj,...,tn),其中Ai为第i个属性,i∈{1,2,...,m},m为获取的工业大数据中的属性个数,tj为第j个元组,j∈{1,2,...,n},n为获取的工业大数据中的元组个数,目标数据集D(A1,A2,...,Ai,...,Am)=(t1,t2,...,tj,...,tn)满足的函数依赖集合为Z={r1,r2,...,ri,...,rp},其中ri为第i条函数依赖规则,i∈{1,2,...,p},p为函数依赖集合的大小,第j条函数依赖规则rj的形式定义为LHS(rj)→RHS(rj),其中LHS(rj)为函数依赖规则rj的前件,RHS(rj)为函数依赖规则rj的后件,LHS(rj)为属性列表,LHS(rj)=Aj(1),Aj(2),...,Aj(o),...,Aj(s),Aj(o)为关系模式R上的第j个属性,j(o)∈{1,2,...,m},o∈{1,2,...,s},s为前件中属性的个数,RHS(rj)=Aj(s+1),Aj(s+1)为关系模式R上的第j(s+1)个属性,j(s+1)∈{1,2,...,m};
b)从数据中台内的工业大数据中获取数据建立一个数据源集合S={S1,S2,...,Si,...,So},其中Si为第i个数据源,i∈{1,2,...,o},o为数据源的数量,第i个数据源Si的关系模式为Ri,第i个数据源Si的函数依赖集合为Zi,第j条函数依赖规则rj的形式定义为LHS(rj)→RHS(rj),其中LHS(rj)为函数依赖规则rj的前件,RHS(rj)为函数依赖规则rj的后件,LHS(rj)为属性列表,LHS(rj)=Aj(1),Aj(2),...,Aj(o′),...,Aj(s),Aj(o′)为关系模式Ri上的第j(o′)个属性,j(o′)∈{1,2,...,|R_i|},|R_i|为关系模式Ri中属性个数,o′∈{1,2,...,|R_i|},s为前件中属性的个数,RHS(ri)=Aj(s+1),Aj(s+1)为关系模式Ri上的第j(s+1)个属性,j(s+1)∈{1,2,...,m};
c)设置子函数一,利用子函数一将目标数据集D(A1,A2,...,Ai,...,Am)=(t1,t2,...,tj,...,tn)构建其在函数依赖集合Z={r1,r2,...,ri,...,rp}中第j条函数依赖规则rj对应的草图ScratchD(j);
d)利用子函数一将数据源集合S={S1,S2,...,Si,...,So}中的第i个数据源Si构建其在函数依赖集合Zi中第j条函数依赖规则rj对应的草图Scratch(i,j);
e)设置子函数二,利用子函数二计算第i个数据源Si对目标数据集D(A1,A2,...,Ai,...,Am)=(t1,t2,...,tj,...,tn)错误检测和修复的重要性权重Wi
f)设置子函数三,利用子函数三对所有数据源按照其权重Wi从大到小的顺序进行排列,按照权重从大到小的的顺序对数据源依次进行访问,根据c个独立的哈希函数h1-hc计算得到工业大数据中获取数据的模式p的c个哈希值h1(p)-hc(p),如果数据源集合S={S1,S2,...,Si,...,So}中第i个数据源Si在第j条函数依赖规则rj上的布隆过滤器BF(i,j)上所有位置均为1,则第i个数据源Si可被用于对模式p的错误检测和修复,如果数据源集合S={S1,S2,...,Si,...,So}中第i个数据源Si在第j条函数依赖规则rj上的布隆过滤器BF(i,j)上所有位置不均为1,则第i个数据源Si不可被用于对模式p的错误检测和修复;
g)设置子函数四,利用子函数四判断第i个数据源Si是否可用于对模式p的错误检测和修复,如果第i个数据源Si可被用于对模式p的错误检测和修复,则对第i个数据源Si进行SQL查询模式p来判断第i个数据源Si是否可以用于错误检测和修复,如果不能用于错误检测和修复,则访问下一个数据源后重复执行f),如果可以用于错误检测和修复,则停止循环,用SQL查询模式p的查询结果对模式p进行错误检测和修复;
步骤c)包括如下步骤:
c-1)构造目标数据集D(A1,A2,...,Ai,...,Am)=(t1,t2,...,tj,...,tn)在第j条函数依赖规则rj上的最小哈希值列表mhD(j),j∈{1,2,...,p};
c-2)构造目标数据集D(A1,A2,...,Ai,...,Am)=(t1,t2,...,tj,...,tn)在第j条函数依赖规则rj上的布隆过滤器BFD(j);
c-3)最小哈希值列表mhD(j)及布隆过滤器BFD(j)共同构成目标数据集D(A1,A2,...,Ai,...,Am)=(t1,t2,...,tj,...,tn)在第j条函数依赖规则rj上的草图ScratchD(j);
步骤d)包括如下步骤:
d-1)构造数据源集合S={S1,S2,...,Si,...,So}中的第i个数据源Si在第j条函数依赖规则rj上的最小哈希值列表mh(i,j),j∈{1,2,...,p};
d-2)构造数据源集合S={S1,S2,...,Si,...,So}中的第i个数据源Si在第j条函数依赖规则rj上的布隆过滤器BF(i,j);
d-3)最小哈希值列表mh(i,j)及布隆过滤器BF(i,j)共同构成第i个数据源Si在第j条函数依赖规则rj上的草图Scratch(i,j);
步骤e)包括如下步骤:
e-1)对权重Wi初始化为0;
e-2)遍历第i个数据源Si和目标数据集D(A1,A2,...,Ai,...,Am)=(t1,t2,...,tj,...,tn)中的函数依赖的交集Zi∩Z中的每一条函数依赖规则,计算第i个数据源Si和目标数据集D(A1,A2,...,Ai,...,Am)=(t1,t2,...,tj,...,tn)的最小哈希相似度s;
e-3)通过公式Wi=Wi+s(n1+n2)/(1+s)更新权重Wi,式中s(n1+n2)/(1+s)为第i个数据源Si在函数依赖规则rj上对权重的覆盖度,n1为第i个数据源Si在前件LHS(rj)下属性列表的投影下不同模式的数量,n2为目标数据集D(A1,A2,...,Ai,...,Am)=(t1,t2,...,tj,...,tn)在前件LHS(rj)下属性列表的投影下不同模式的数量;
e-4)遍历完交集Zi∩Z中的最后一条函数依赖规则后,计算得到的更新后的权重Wi为第i个数据源Si的权重。
2.根据权利要求1所述的面向数据中台的错误检测和修复方法,其特征在于:
步骤c-1)中通过定义k个独立的哈希函数h1-hk,遍历目标数据集D(A1,A2,...,Ai,...,Am)=(t1,t2,...,tj,...,tn)中每个元组在函数依赖规则rj的前件LHS(rj)上的值,计算该值在哈希函数h1-hk上的哈希值,得到k个最小哈希值列表mhD(j),mhD(j)=[mh1(D),mh2(D),...,mhi(D),...,mhk(D)],mhi(D)为每个元组在函数依赖规则rj的前件LHS(rj)上的值在第i个哈希函数hi上的哈希值,i∈{1,2,...,k};步骤c-2)中初始化一个长度为L的位数组BFD(j),定义c个独立的哈希函数h1-hc,将任意整数映射到1-L,将位数组BFD(j)的所有位初始化为0后遍历目标数据集D(A1,A2,...,Ai,...,Am)=(t1,t2,...,tj,...,tn)中的每条元组,计算出第j个元组tj在属性列表LHS(rj)上的值在哈希函数h1-hc上的哈希值,得到
h1(tj[LHS(rj)]),h2(tj[LHS(rj)]),...,hi(tj[LHS(rj)]),...,hc(tj[LHS(rj)]),其中hi(tj[LHS(rj)])为第j个元组tj在属性列表LHS(rj)上的值在第i个哈希函数hi上的哈希值,i∈{1,2,...,c},将位数组BFD(j)中c个位置的哈希值h1(tj[LHS(rj)]),h2(tj[LHS(rj)]),...,hi(tj[LHS(rj)]),...,hc(tj[LHS(rj)])置1。
3.根据权利要求1所述的面向数据中台的错误检测和修复方法,其特征在于:
步骤d-1)中通过定义k个独立的哈希函数h1-hk,遍历第i个数据源Si中每个元组在函数依赖规则rj的前件LHS(rj)上的值,计算该值在哈希函数h1-hk上的哈希值,得到k个最小哈希值列表mh(i,j),mh(i,j)=[mh1(Si),mh2(Si),...,mhi(Si),...,mhk(Si)],mhi(Si)为每个元组在函数依赖规则rj的前件LHS(rj)上的值在第i个哈希函数hi上的哈希值,i∈{1,2,...,k};步骤d-2)中初始化一个长度为L的位数组BF(i,j),定义c个独立的哈希函数h1-hc,将任意整数映射到1-L,将位数组BF(i,j)的所有位初始化为0后遍历第i个数据源Si中的每条元组,计算出第j个元组tj在属性列表LHS(rj)上的值在哈希函数h1-hc上的哈希值,得到h1(tj[LHS(rj)]),h2(tj[LHS(rj)]),...,hi(tj[LHS(rj)]),...,hc(tj[LHS(rj)]),其中hi(tj[LHS(rj)])为第j个元组tj在属性列表LHS(rj)上的值在第i个哈希函数hi上的哈希值,i∈{1,2,...,c},将位数组BF(i,j)中c个位置的哈希值h1(tj[LHS(rj)]),h2(tj[LHS(rj)]),...,hi(tj[LHS(rj)]),...,hc(tj[LHS(rj)])置1。
4.根据权利要求1所述的面向数据中台的错误检测和修复方法,其特征在于:
步骤e-2)中第i个数据源Si最小哈希值列表mh(i,j)=[mh1(Si),mh2(Si),...,mhi(Si),...,mhk(Si)],目标数据集D(A1,A2,...,Ai,...,Am)=(t1,t2,...,tj,...,tn)最小哈希值列表mhD(j)=[mh1(D),mh2(D),...,mhi(D),...,mhk(D)],通过公式s=(mhi(Si)和mhi(D)相等的数量)/k计算得到最小哈希相似度s。
CN202310201668.1A 2023-03-03 2023-03-03 面向数据中台的错误检测和修复方法 Active CN116594795B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310201668.1A CN116594795B (zh) 2023-03-03 2023-03-03 面向数据中台的错误检测和修复方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310201668.1A CN116594795B (zh) 2023-03-03 2023-03-03 面向数据中台的错误检测和修复方法

Publications (2)

Publication Number Publication Date
CN116594795A CN116594795A (zh) 2023-08-15
CN116594795B true CN116594795B (zh) 2024-01-26

Family

ID=87592576

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310201668.1A Active CN116594795B (zh) 2023-03-03 2023-03-03 面向数据中台的错误检测和修复方法

Country Status (1)

Country Link
CN (1) CN116594795B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107656978A (zh) * 2017-09-06 2018-02-02 国网上海市电力公司 一种基于函数依赖的多样性数据修复方法
CN108460404A (zh) * 2018-01-24 2018-08-28 河海大学常州校区 一种基于布隆过滤器的电机故障诊断方法
CN114238045A (zh) * 2021-11-18 2022-03-25 国网天津市电力公司电力科学研究院 一种电网多源量测数据完整性判断及自动修复***和方法
CN114741381A (zh) * 2022-04-14 2022-07-12 郑州轻工业大学 基于关联依赖的数据清洗方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11803421B2 (en) * 2021-02-09 2023-10-31 International Business Machines Corporation Monitoring health status of a large cloud computing system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107656978A (zh) * 2017-09-06 2018-02-02 国网上海市电力公司 一种基于函数依赖的多样性数据修复方法
CN108460404A (zh) * 2018-01-24 2018-08-28 河海大学常州校区 一种基于布隆过滤器的电机故障诊断方法
CN114238045A (zh) * 2021-11-18 2022-03-25 国网天津市电力公司电力科学研究院 一种电网多源量测数据完整性判断及自动修复***和方法
CN114741381A (zh) * 2022-04-14 2022-07-12 郑州轻工业大学 基于关联依赖的数据清洗方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
Double locality sensitive hashing Bloom filter for high-dimensional streaming anomaly detection;Zeng Z, **ao R, Lin X, et al.;《Information Processing & Management》;第60卷(第3期);103306 *
基于多源传感数据相关性分析的电厂设备故障检测方法;柴政;刘晨;朱美玲;韩燕波;《计算机与数字工程》;第47卷(第3期);682-688 *
基于数据中台的数据治理***的实现;芮忠;;科技创新与应用(26);39-40 *
多尺度特征提取和多级别特征融合的显著性目标检测方法;黎玲利;孟令兵;李金宝;《工程科学与技术》;第53卷(第1期);170-177 *

Also Published As

Publication number Publication date
CN116594795A (zh) 2023-08-15

Similar Documents

Publication Publication Date Title
Schleich et al. Learning linear regression models over factorized joins
Petit et al. Using queries to improve database reverse engineering
Poess et al. Why You Should Run TPC-DS: A Workload Analysis.
CN103177068B (zh) 按照生存规则合并源记录的***和方法
US7877376B2 (en) Supporting aggregate expressions in query rewrite
US7734602B2 (en) Choosing whether to use a delayed index maintenance depending on the portion of the materialized view (MV) changed
US20090006370A1 (en) Advanced techniques for sql generation of performancepoint business rules
US20060047622A1 (en) Using join dependencies for refresh
US6917943B2 (en) Sheaf data model
US7769762B2 (en) Method and system for consolidating data type repositories
JP2007534087A (ja) 部分的クエリーキャッシング
US11379476B2 (en) Bitmap-based count distinct query rewrite in a relational SQL algebra
CN112434024A (zh) 面向关系型数据库的数据字典生成方法、装置、设备及介质
US11036709B2 (en) Single-level, multi-dimension, hash-based table partitioning
CN112015741A (zh) 一种海量数据的分库分表存储方法与装置
US11036734B2 (en) Fusing global reporting aggregate computation with the underlying operation in the query tree for efficient evaluation
CN113918663A (zh) 一种基于命名规则和缓存机制的知识图谱构的操作方法
Marotta et al. Data warehouse design: A schema-transformation approach
CN116594795B (zh) 面向数据中台的错误检测和修复方法
US7822587B1 (en) Hybrid database architecture for both maintaining and relaxing type 2 data entity behavior
CN116415199B (zh) 基于审计中间表的业务数据离群分析方法
US20050234945A1 (en) Allocating CPU resources for a particular refresh schedule
Černjeka et al. NoSQL document store translation to data vault based EDW
CN115544181A (zh) 一种基于本体的电网数据集市自动数据加载方法
CN113485638B (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