数据质量检测方法和装置、介质、设备与流程

文档序号:32756616发布日期:2022-12-31 04:06阅读:28来源:国知局
数据质量检测方法和装置、介质、设备与流程

1.本发明涉及网络教研技术领域,特别涉及一种数据质量检测方法和装置、介质、设备。


背景技术:

2.在数据质量检测领域,一般采用源系统对照方法、业务经验判断方法对数据表中的数据进行质量检测。其中,源系统对照方法将最终数据表中的数据与源系统的数据表进行一一比对,通过分析误差来进行数据质量评估。技术的最大优点是检查的最全面细致,但是难以解决多数据来源的情况。业务经验判断方法依靠对业务的相关知识的经验来判断指标是否在合理的范围内,在数据采集过程中进行自动的数据质量检查。该技术可实时得到某数据的质量评估情况,但无法灵活地配置质量评估标准,对于质量检测的维护需要耗费较高的人力。


技术实现要素:

3.本发明实施例提供一种数据质量检测方法和装置、介质、设备,可以实现灵活配置相关规则。
4.根据第一方面,本发明实施例提供的数据质量检测方法,包括:
5.在接收到质量检测请求后,生成检测任务,并获取待检测数据表中的待检测字段对应的质量基本规则;其中,所述检测任务中包括质量检测所需的控制信息;一个待检测字段对应的质量基本规则为对该待检测字段所属类型的字段进行数据质量检测的规则,所述质量基本规则中字段采用占位符表示;
6.根据所述待检测字段对应的质量基本规则,为所述待检测字段配置对应的质量检测匹配规则;所述待检测数据表中各个待检测字段对应的质量检测匹配规则形成该待检测数据表对应的质量数据模块;
7.根据所述质量数据模块中的每一个质量检测匹配规则,确定对应的质量检测语句;
8.根据所述检测任务执行所述待检测数据表对应的各个质量检测语句,得到该待检测数据表中各个待检测字段的质量检测结果。
9.根据第二方面,本发明实施例提供的数据质量检测装置,包括:
10.任务生成模块,用于在接收到质量检测请求后,生成检测任务,并获取待检测数据表中的待检测字段对应的质量基本规则;其中,所述检测任务中包括质量检测所需的控制信息;一个待检测字段对应的质量基本规则为对该待检测字段所属类型的字段进行数据质量检测的规则,所述质量基本规则中字段采用占位符表示;
11.规则匹配模块,用于根据所述待检测字段对应的质量基本规则,为所述待检测字段配置对应的质量检测匹配规则;所述待检测数据表中各个待检测字段对应的质量检测匹配规则形成该待检测数据表对应的质量数据模块;
12.语句确定模块,用于根据所述质量数据模块中的每一个质量检测匹配规则,确定对应的质量检测语句;
13.质量检测模块,用于根据所述检测任务执行所述待检测数据表对应的各个质量检测语句,得到该待检测数据表中各个待检测字段的质量检测结果。
14.根据第三方面,本发明实施例提供计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行实现第一方面提供的方法。
15.根据第四方面,本发明实施例提供的计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现第一方面提供的方法。
16.本发明实施例提供的数据质量检测方法和装置、介质、设备,各自或者组合具有以下有益效果:
17.(1)定义了多种质量基本规则,通过质量基本规则定义抽象的业务逻辑关系,根据质量基本规则配置对应的质量检测匹配规则,进而形成质量数据模块。质量数据模块中存在一个数据表中的各个质量检测匹配规则,从而体现对一个数据表进行质量检测的业务逻辑关系,进而根据质量数据模块确定一个数据表的质量检测语句。通过控制信息执行上述质量检测语句,便可以得到质量检测结果,进而将质量检测结果进行可视化。由于本发明实施例采用的是提前定义好的质量基本规则,在质量基本规则中采用占位符表示数据表名称、字段名称、具体数值等信息,这样可以根据数据表中字段质量检测的实际需求生成对应的质量检测匹配规则,因此可以实现灵活配置质量检测匹配规则。而且,质量基本规则是通用的,因此维护也很简单,不需要耗费较高的人力成本。而且,本发明实施例提供的方法对于数据表中的数据来源不做限定,可以适用于多数据来源的情况。
18.(2)在一个实施例中,所述控制信息包括定时检测策略、检测方式和批处理量中的至少一项,这样可以控制质量检测的时间间隔、选用增量检测方式还是全量检测方式、每一批质量检测的数据表数量等信息,可以按照实际需求对质量检测过程进行控制。
19.(3)在一个实施例中,根据所述待检测数据表中各个待检测字段的质量检测结果生成所述待检测数据表的质量检测可视化图表,这样可以使得相关人员直观的了解到质量检测的情况,从而及时的处理存在问题的数据。
附图说明
20.图1为本发明一实施例中数据质量检测方法的流程示意图;
21.图2为本发明一实施例中数据质量检测装置的结构框图。
具体实施方式
22.第一方面,本发明实施例提供一种数据质量检测方法,该方法可以由计算设备执行,参见图1,该方法可以包括s110~s140:
23.s110、在接收到质量检测请求后,生成检测任务,并获取待检测数据表中的待检测字段对应的质量基本规则;其中,所述检测任务中包括质量检测所需的控制信息;一个待检测字段对应的质量基本规则为对该待检测字段所属类型的字段进行数据质量检测的规则,所述质量基本规则中字段采用占位符表示;
24.在实际场景中,当质量检测引擎启动后,质量检测引擎会向计算设备发送一个质
量检测请求。当计算设备接收到质量检测请求后会执行生成检测任务等步骤。
25.其中,所述检测任务中包括质量检测所需的控制信息,控制信息可以包括定时检测策略、检测方式和批处理量中的至少一项;其中,所述检测方式为增量检测方式或全量检测方式。
26.例如,数据表中的数据是实时发生变化的,因此可以按照一定的时间间隔进行质量检测,例如,在接收到质量检测请求后每隔一个小时进行一次质量检测操作,因此在控制信息中可以包括定时策略。增量检测方式,例如,仅仅对今天新增加的数据表进行质量检测,此时新增加的数据表为待检测数据表。全量检测方式为对所有的数据表进行质量检测,这样所有的数据表为待检测数据表。批处理量为批量检测时的数据表的数量。如果数据表的数据量过大,可以分批进行质量检测,这里可以定义每一批质量检测时的数据表的数量。
27.其中,质量基本规则是提前定义好的。质量基本规则是按照业务逻辑对一个数据表的某个字段、字段间的关系或不同表间的字段关系进行定义,但是在质量基本规则中的具体字段用占位符表示,也就是说,质量基本规则并不与具体字段、具体值相关联。
28.其中,质量基本规则的类型可以包括sql语句、正则表达式等类型,一般情况下,需要格式检测的字段对应的质量基本规则采用正则表达式,例如,对身份证号这一类的字段,需要对身份证号的字符长度进行检测,因此针对身份证号这一类的字段质量基本规则可以采用正则表达式表示。再例如,针对一个学生的成绩表,各科成绩均在60分以上,该学生才会考试通过。此时,需要对各个学科的成绩是否在60分以上进行判断。针对这种需要逻辑判断的字段,质量基本规则可以采用sql语句表示。
29.其中,预先定义好的质量基本规则与数据表中的字段没有进行关联,质量基本规则中的字段用占位符表示,例如,sql语句:select c_variable from t_variable where length(c_variable)》const。其中,t_variable、c_variable、const分别为数据表名称、字段名称、具体值的占位符。sql语句中的数据表名称、字段名称、具体值均使用占位符代替,这样可以实现后续质量检测匹配规则的灵活配置。
30.其中,sql语句是指使用mysql数据库语法的语句。
31.在具体场景中,可以为数据库中内置一些常用的质量基本规则,例如,重复数据检查、主从表关联检查、指标统计检查、指标范围检查、值运算检查、函数运算检查等,这样可以快速的为数据库中的数据表查找所需要的的质量基本规则,有利于进行单表或多表、聚合或非聚合的数据质量检查。
32.s120、根据所述待检测字段对应的质量基本规则,为所述待检测字段配置对应的质量检测匹配规则;所述待检测数据表中各个待检测字段对应的质量检测匹配规则形成该待检测数据表对应的质量数据模块;
33.具体的,将所述待检测字段对应的质量基本规则中占位符进行替换,例如,将t_variable、c_variable的占位符替换为数据表名名称、字段名称,将const的占位符替换为一个具体数值,这样质量基本规则就变成了质量检测匹配规则。可见,质量基本规则与具体数据表的具体字段进行关联,便得到了质量检测匹配规则。
34.可理解的是,一个数据表可能对应多个质量检测匹配规则,这些质量检测匹配规则形成了该数据表的质量数据模块。可见,质量数据模块是该数据表的质量检测匹配规则的集合,体现了对该数据表进行质量检测的业务逻辑。
35.其中,一个数据表对应一个质量数据模块,在形成质量数据模块后,将质量数据模块与对应的数据表关联。
36.s130、根据所述质量数据模块中的每一个质量检测匹配规则,确定对应的质量检测语句;
37.在一个实施例中,如果需要进行格式检测的待检测字段对应的质量基本规则为正则表达式,则s130可以具体包括:根据所述质量数据模块中的正则表达式,生成对应的sql语句,将所述sql语句作为对应的质量检测语句。
38.也就是说,如果质量检测匹配规则采用正则表达式表示,则将正则表达式组装成sql语句,将sql语句作为质量检测语句。由于针对数据库中的数据表进行质量检测时,执行sql语句更为方便,因此将正则表达式转换为sql语句。
39.在一个实施例中,如果需要进行逻辑判断的待检测字段对应的质量基本规则为sql语句,则s130可以具体包括:将所述质量数据模块中的所述sql语句作为所述质量检测语句。
40.也就是说,将质量数据模块中存在的sql语句直接作为质量检测语句。
41.可理解的是,一个数据表的质量数据模块中可能同时存在sql语句和正则表达式,则将其中的正则表达式转换为sql语句,将转换得到的sql语句以及质量数据模块中本来存在的sql语句一并作为这个数据表对应的质量检测语句。
42.s140、根据所述检测任务执行所述待检测数据表对应的各个质量检测语句,得到该待检测数据表中各个待检测字段的质量检测结果。
43.即,针对一个数据表,执行完对应的各个质量检测语句后,就会得到各个待检测字段的质量检测结果,从而得知数据表中的数据是否存在问题。
44.在一个实施例中,本发明实施例提供的方法还可以包括:
45.根据所述待检测数据表中各个待检测字段的质量检测结果,生成所述待检测数据表的质量检测可视化图表,并展示所述质量检测可视化图表。
46.其中,质量检测可视化图表可以是多个维度、多种样式的图表,以直观地展示数据表的质量评估情况,直观地展示数据表在各个规则上的标准化程度,从而及时地使相关人员解决报告中所显示的数据质量问题。
47.当然,还可以将数据表中的各个待检测字段的质量检测结果,生成数据表的质量评估报表,直接下发至相关人员。
48.可理解的是,在质量检测引擎启动后,接入数据库,从数据库中获取数据表、字段等表结构信息,然后查找对应的质量基本规则,根据质量基本规则配置对应的质量检测匹配规则,形成质量数据模块;接着确定质量检测语句。然后根据检测任务到数据库中执行质量检测语句,分批查询到问题数据,对检测到的问题数据进行记录、统计等。一个数据表的所有确定质量检测语句执行完毕后,即完成了对该数据表的质量检测。
49.其中,可以持久化数据库的连接地址、连接方式,以简化运行时的配置步骤。
50.其中,数据库可以采用内存数据库,这样可以提高语句执行过程中的数据库交互量,使用批处理技术,可以降低内存配置要求。
51.其中,本发明实施例提供的方法的执行主体-计算设备可以作为微服务独立运行,也可部署在集群进行负载实现均衡,提高数据质量检测效率。
52.其中,用户在web端的质量检测引擎上发起质量检测请求,进而执行本发明实施例中的后续步骤。
53.可见,在本发明实施例中,定义了多种质量基本规则,通过质量基本规则定义抽象的业务逻辑关系,将质量基本规则中的占位符替换为相应的数据表名称、字段名称、具体数值,得到对应的质量检测匹配规则,进而形成质量数据模块。质量数据模块中存在一个数据表中的各个质量检测匹配规则,从而体现对一个数据表进行质量检测的业务逻辑关系,进而根据质量数据模块确定一个数据表的质量检测语句。通过检测任务控制质量检测的定时策略、检测方式、批处理量等控制信息,通过控制信息执行上述质量检测语句,便可以得到质量检测结果,进而将质量检测结果进行可视化。
54.可理解的是,由于本发明实施例采用的是提前定义好的质量基本规则,在质量基本规则中采用占位符表示数据表名称、字段名称、具体数值等信息,这样可以根据数据表中字段质量检测的实际需求生成对应的质量检测匹配规则,因此可以实现灵活配置质量检测匹配规则。而且,质量基本规则是通用的,因此维护也很简单,不需要耗费较高的人力成本。而且,本发明实施例提供的方法对于数据表中的数据来源不做限定,可以适用于多数据来源的情况。
55.第二方面,本发明实施例提供一种数据质量检测装置,参见图2,该装置100包括:
56.任务生成模块110,用于在接收到质量检测请求后,生成检测任务,并获取待检测数据表中的待检测字段对应的质量基本规则;其中,所述检测任务中包括质量检测所需的控制信息;一个待检测字段对应的质量基本规则为对该待检测字段所属类型的字段进行数据质量检测的规则,所述质量基本规则中字段采用占位符表示;
57.规则匹配模块120,用于根据所述待检测字段对应的质量基本规则,为所述待检测字段配置对应的质量检测匹配规则;所述待检测数据表中各个待检测字段对应的质量检测匹配规则形成该待检测数据表对应的质量数据模块;
58.语句确定模块130,用于根据所述质量数据模块中的每一个质量检测匹配规则,确定对应的质量检测语句;
59.质量检测模块140,用于根据所述检测任务执行所述待检测数据表对应的各个质量检测语句,得到该待检测数据表中各个待检测字段的质量检测结果。
60.在一个实施例中,需要进行格式检测的待检测字段对应的质量基本规则为正则表达式;对应的,所述语句确定模块具体用于:根据所述质量数据模块中的正则表达式,生成对应的sql语句,将所述sql语句作为对应的质量检测语句。
61.在一个实施例中,需要进行逻辑判断的待检测字段对应的质量基本规则为sql语句;对应的,所述语句确定模块具体用于:将所述质量数据模块中的所述sql语句作为所述质量检测语句。
62.在一个实施例中,所述控制信息包括定时检测策略、检测方式和批处理量中的至少一项;其中,所述检测方式为增量检测方式或全量检测方式。
63.在一个实施例中,质量检测模块140还用于:根据所述待检测数据表中各个待检测字段的质量检测结果,生成所述待检测数据表的质量检测可视化图表,并展示所述质量检测可视化图表。
64.第三方面,本说明书一个实施例提供了一种计算机可读存储介质,其上存储有计
算机程序,当所述计算机程序在计算机中执行时,令计算机执行说明书中任一个实施例中的方法。
65.第四方面,本说明书一个实施例提供了一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现执行说明书中任一个实施例中的方法。
66.本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
67.本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件、软件、挂件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。
68.以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1