一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种数据质量校验方法及装置、存储介质及电子设备与流程

2022-06-01 04:16:28 来源:中国专利 TAG:


1.本技术涉及大数据技术领域,尤其涉及一种数据质量校验方法及装置、存储介质及电子设备。


背景技术:

2.对于日常etl(extract-transform-load,抽取-转换-存储)作业,业务流程复杂,数据产出有时间和质量要求,在大量作业涌现之时,表与表之间层层嵌套,逻辑相对比较复杂,如果其中一个环节出现问题,不能及时进行解决,脏数据则会流入下游,降低业务数据使用的准确性,因此,需要对数据库表进行数据质量校验。
3.现有的数据质量校验,通过sql查询的方式,对数据库中的数据库表进行质量校验。由于存在部分数据库表的数据量较大,通过sql查询方式,响应时间较长,执行速度较慢,从而长期占用库资源,影响数据库性能。


技术实现要素:

4.本技术提供了一种数据质量校验及装置、存储介质及电子设备,目的在于解决现有的数据质量校验,响应时间较长,执行速度较慢,从而长期占用数据库资源,影响数据库性能的问题。
5.为了实现上述目的,本技术提供了以下技术方案:
6.一种数据质量校验方法,包括:
7.通过数据文件,获取待校验数据库表;其中,所述数据文件包括日志文件和抽取-转换-存储etl任务输出的结果文件;
8.查找预设的规则库中与所述待校验数据库表对应的校验规则;
9.基于所述校验规则,对所述待检验数据库表进行数据质量校验,得到校验结果;
10.存储所述校验结果。
11.上述的数据质量校验方法,可选的,所述通过数据文件,获取待校验数据库表,包括:
12.遍历预设的规则表,获取所述规则表中包括的待校验数据库表的标识信息;
13.查找数据文件中,与所述标识信息对应的数据库表;
14.将所查找到的数据库表确定为待校验数据库表。
15.上述的数据质量校验方法,可选的,所述通过数据文件,获取待校验数据库表,包括:
16.实时监测数据文件中是否完成对待校验数据库表的写入;
17.在监测到所述数据文件中完成对待检验数据库表的写入的情况下,获取所述数据文件中的所述待校验数据库表。
18.上述的数据质量校验方法,可选的,所述基于所述校验规则,对所述待检验数据库表进行数据质量校验,得到校验结果之后,还包括:
19.确定所述校验结果所属的告警区间;
20.确定预设的与目标告警区间对应的告警方式;其中,所述目标告警区间为所述校验结果所属的告警区间;
21.基于所确定的告警方式进行告警。
22.上述的数据质量校验方法,可选的,所述基于所述校验规则,对所述待检验数据库表进行数据质量校验,得到校验结果,包括:
23.查找所述规则库中与所述校验规则对应的插件信息;
24.调用所述插件信息对应的校验插件,对所述待检验数据库表进行数据质量校验,得到校验结果。
25.一种数据质量校验装置,包括:
26.获取单元,用于通过数据文件,获取待校验数据库表;其中,所述数据文件包括日志文件和抽取-转换-存储etl任务输出的结果文件;
27.查找单元,用于查找预设的规则库中与所述待校验数据库表对应的校验规则;
28.校验单元,用于基于所述校验规则,对所述待检验数据库表进行数据质量校验,得到校验结果;
29.存储单元,用于存储所述校验结果。
30.上述的数据质量校验装置,可选的,所述获取单元具体用于:
31.遍历预设的规则表,获取所述规则表中包括的待校验数据库表的标识信息;
32.查找数据文件中,与所述标识信息对应的数据库表;
33.将所查找到的数据库表确定为待校验数据库表。
34.上述的数据质量校验装置,可选的,所述获取单元具体用于:
35.实时监测数据文件中是否完成对待校验数据库表的写入;
36.在监测到数据文件中完成对待检验数据库表的写入的情况下,获取所述数据文件中的所述待校验数据库表。
37.上述的数据质量校验装置,可选的,还包括:
38.第一确定单元,用于确定所述校验结果所属的告警区间;
39.第二确定单元,用于确定预设的与目标告警区间对应的告警方式;其中,所述目标告警区间为所述校验结果所属的告警区间;
40.告警单元,用于基于所确定的告警方式进行告警。
41.上述的数据质量校验装置,可选的,校验单元具体用于:
42.查找所述规则库中与所述校验规则对应的插件信息;
43.调用所述插件信息对应的校验插件,对所述待检验数据库表进行数据质量校验,得到校验结果。
44.一种存储介质,所述存储介质存储有指令集,其中,所述指令集被处理器执行时实现如上述的数据质量校验方法。
45.一种电子设备,包括:
46.存储器,用于存储至少一组指令集;
47.处理器,用于执行所述存储器中存储的指令集,通过执行所述指令集实现如上述的数据质量校验方法。
48.与现有技术相比,本技术包括以下优点:
49.本技术提供了一种数据质量校验方法及装置、存储介质及电子设备,包括:通过数据文件,获取待校验数据库表;其中,数据文件包括日志文件和抽取-转换-存储etl任务输出的结果文件,查找预设的规则库中与所述待校验数据库表对应的校验规则,基于校验规则,对所述待检验数据库表进行数据质量校验,得到校验结果,存储该校验结果。可见,本技术方案,通过研究数据库中的日志文件和etl任务输出的结果文件的数据特性,提出了利用日志文件和etl任务输出的结果文件的数据特性,即数据库中数据库表的数据均会记录于日志文件和etl任务输出的结果文件,获取待检验数据库表,对待检验数据库表进行数据质量校验的技术思路,而无需通过sql查询的方式,对数据库中的数据库表进行质量校验,从而降低对数据库性能的影响。
附图说明
50.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
51.图1为本技术提供的一种数据质量校验的方法流程图;
52.图2为本技术提供的一种数据质量校验的又一方法流程图;
53.图3为本技术提供的一种数据质量校验的另一方法流程图;
54.图4为本技术提供的一种数据质量校验的另一方法流程图;
55.图5为本技术提供的一种数据质量校验的示例图;
56.图6为本技术提供的一种数据质量校验装置的结构示意图;
57.图7为本技术提供的一种电子设备的结构示意图。
具体实施方式
58.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
59.本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。
60.需要注意,本技术公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
61.需要注意,本技术公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
62.本技术可用于众多通用或专用的计算装置环境或配置中。例如:个人计算机、服务
器计算机、手持设备或便携式设备、平板型设备、多处理器装置、包括以上任何装置或设备的分布式计算环境等等。
63.本技术实施例提供了一种数据质量校验,该方法可以应用于计算引擎spark,该方法的方法流程图如图1所示,具体包括:
64.s101、通过数据文件,获取待校验数据库表。
65.本实施例中,通过数据文件,获取待校验数据库表,也就是通过数据库中的数据文件,获取待校验数据库表,其中,数据文件包括日志文件binlog和etl(extract-transform-load,抽取-转换-存储)任务输出的结果文件。
66.需要说明的是,发明人通过研究发现数据库中数据库表的数据均会落地在日志文件和etl任务输出的结果文件中,也就是说数据库中数据库表的数据均会记录于日志文件和etl任务输出的结果文件,从而通过日志文件和etl任务输出的结果文件,可以获取到待校验数据库表。
67.本实施例中,参阅图2,通过数据文件,获取待校验数据库表的一种可实现方式为:
68.s201、遍历预设的规则表,获取规则表中包括的待校验数据库表的标识信息。
69.本实施例中,预设规则表,规则表中预先配置待检验数据库表的标识信息,以及待检验数据库表的校验规则。
70.本实施例中,通过遍历预设的规则表,获取规则表中包括的待校验数据库表的标识信息。
71.具体的,通过全局触发,定时任务启动,扫描规则库中所需要监控的表的标识信息,也就是按预设周期遍历预设的规则表,获取规则表中包括的待校验数据库表的标识信息。
72.示例性的,待校验数据库表的标识信息可以是待校验数据库表的表名。
73.s202、查找数据文件中,与标识信息对应的数据库表。
74.本实施例中,确定数据文件的存储路径,也就是确定数据库中该数据文件的存储路径,基于存储路径,获取数据库的数据文件。
75.本实施例中,查找数据库的数据文件中,与标识信息对应的数据库表,具体的,基于待校验数据库表的标识信息,遍历文件库的数据文件,查找数据文件中与待校验数据库表的标识信息相匹配的标识信息所对应的数据库表。
76.s203、将所查找到的数据库表确定为待校验数据库表。
77.本实施例中,将所查找到的数据库表确定为待校验数据库表。
78.本技术实施例提供的数据质量校验方法中,通过获取规则库中预先配置待校验数据库表的标识信息,基于标识信息,通过数据库中的数据文件获取待检验数据库表。
79.本实施例中,通过数据库的数据文件,获取待校验数据库表的另一种可实现方式为:
80.实时监测数据文件中是否完成对待校验数据库表的写入;
81.在监测到数据文件中完成对待检验数据库表的写入的情况下,获取数据文件中的待校验数据库表。
82.本实施例中,可通过单点触发,获取待校验数据库表,预先在每个任务中配置触发校验规则,也就是为数据库的数据库表配置触发校验规则,实时监测数据文件中是否完成
对待艳数据库表的写入,在监测到数据文件中完成对待校验数据库表的写入的情况下,触发获取待校验数据库表。
83.可选的,在获取待校验数据库表后,还可以将该待校验数据库表写入至分布式系统文件hdfs中。
84.s102、查找预设的规则库中与待校验数据库表对应的校验规则。
85.本实施例中,预先在规则表中配置校验规则。
86.本实施例中,在获取到待校验数据库表的情况下,遍历预设的规则库,查找规则库中与待校验数据库表对应的校验规则。
87.具体的,基于待校验数据库表的标识信息,查找预设的规则库中与该标识信息对应的校验规则,将所查找到的校验规则确定为与待校验数据库表对应的校验规则。
88.s103、基于校验规则,对待检验数据库表进行数据质量校验,得到校验结果。
89.本实施例中,基于校验规则,对待校验数据库表进行数据质量校验,从而得到校验结果。
90.本实施例中,在将待校验数据库表写入分布式系统文件的情况下,基于校验规则,对分布式系统文件中的数据库表进行数据质量校验。
91.示例性的,校验规则可以是表级校验规则,表级校验规则为在表层面的校验规则。基于表级校验规则,对待校验数据库表进行数据质量校验的过程,包括:获取该待校验数据库表在预设时间段内的表存储大小,计算该待校验数据库表在预设时间段内的表存储大小与待校验数据库表当前的存储大小的差值,将该差值除以该待校验数据库表在预设时间段内的表存储大小,得到计算值,计算值即为校验结果。其中,待校验数据库表当前的存储大小即为分布式系统文件的大小;预设时间段可以是一周。
92.示例性的,校验规则可以是列级校验规则,列级校验规则为对表中字段的校验规则。基于列级校验规则,对待校验数据库表进行数据质量校验的过程,包括:校验待校验数据库表中的主键字段是否存在重复、维度值是否存在缺失,指标值是否为空,并计算重复主键字段与所有主键字段的占比,以及缺失维度值与所有维度值的占比,以及计算为空的指标值与所有指标值的占比。
93.参阅图3,基于校验规则,对待检验数据库表进行数据质量校验,得到校验结果。
94.s301、查找规则库中与校验规则对应的插件信息。
95.本实施例中,预设每个校验规则对应的校验插件,校验插件为用于执行校验规则的执行策略对应的程序。
96.本实施例中,预先在规则库中将每个校验规则和该校验规则对应的校验插件的插件信息进行关联存储。
97.本实施例中,由于预先规则库中将每个校验规则和该校验规则对应的校验插件的插件信息进行关联存储,从而基于校验规则,可以查找到规则库中与校验规则对应的插件信息。
98.s302、调用插件信息对应的插件,对待检验数据库表进行数据质量校验,得到校验结果。
99.本实施例中,调用插件信息对应的插件,对待检验数据库表进行数据质量校验,从而得到校验结果。
100.本技术实施例提供的数据质量校验方法中,通过校验插件对待校验数据库表进行质量检验,实现执行策略之间的解耦。
101.s104、存储校验结果。
102.本实施例中,在得到校验结果后,还可以对校验结果进行存储,可选的,可以将校验结果存储至预设的结果库中。
103.本技术实施例提供的数据质量校验方法中,通过研究数据库中的日志文件和etl任务输出的结果文件的数据特性,提出了利用日志文件和etl任务输出的结果文件的数据特性,即数据库中数据库表的数据均会记录于日志文件和etl任务输出的结果文件,获取待检验数据库表,对待检验数据库表进行数据质量校验的技术思路,而无需通过sql查询的方式,对数据库中的数据库表进行质量校验,从而降低对数据库性能的影响。并且通过校验插件对待校验数据库表进行质量检验,实现执行策略之间的解耦。
104.参阅图4,本技术实施例提供的数据质量校验中,步骤s103之后,还可以包括以下步骤:
105.s401、确定校验结果所属的告警区间。
106.本实施例中,还可以预先在规则库中配置待检验数据库表对应的告警区间,示例性的,告警区间包括但不限于低阈值区间,高低阈值区间,高阈值区间,其中,小于低阈值,则属于低阈值区间,大于等于低阈值,且小于高阈值,则属于高低阈值区间,大于高阈值,则属于高阈值区间。
107.本实施例中,确定校验结果所属的告警区间,具体的,将该校验结果与各个阈值进行比较,得到比较结果,基于比较结果,确定校验结果所属的告警区间。
108.s402、确定预设的与目标告警区间对应的告警方式;其中,目标告警区间为校验结果所属的告警区间。
109.本实施例中,预设不同告警区间对应的告警方式,示例性的,高阈值区间对应的告警方式为亮绿灯,高低阈值区间对应的告警方式为亮黄灯,高阈值区间对应的告警方式为亮红灯。
110.本实施例中,确定预设的与目标告警区间对应的告警方式,其中,目标告警区间为校验结果所属的告警区间,也就是确定预设的与校验结果所属的告警区间对应的告警方式。
111.s403、基于所确定的告警方式进行告警。
112.本实施例中,基于所确定的告警方式进行告警。
113.本技术实施例提供的数据质量校验方法中,确定校验结果所属的告警区间,确定预设的与校验结果所属的告警区间对应的告警方式,并基于所确定的告警方式进行告警。
114.参阅图5,对上述提及的数据质量校验方法的具体实现过程进行举例说明如下:
115.上述本技术实施例提供的数据质量校验方法,可以应用于数据质量校验系统,数据质量校验系统包括start(开始模块)、ruledatabase(规则库模块)、calculateengine(计算引擎模块)、rulemodule(规则模块)、alarm module(报警模块)和resultdatabase(结果库模块)。
116.其中,(1)start(开始模块)接收用户的启动监控程序指令,并启动监控程序,获取待校验数据库表。可选的,可以通过单点触发的方式获取待校验数据库表,也可以通过全局
触发的方式获取待校验数据库表。
117.其中,单点触发方式为:为数据库的数据库表配置触发校验规则,在数据库的数据文件中完成写入待校验数据库表后,触发获取待校验数据库表。
118.全局触发方式为:预先在规则库中配置待校验数据库表的标识信息,遍历预设的规则表,获取规则表中包括的待校验数据库表的标识信息,查找数据库的数据文件中,与标识信息对应的数据库表,将所查找到的数据库表确定为待校验数据库表。
119.将所获取的待校验数据库表写入分布式系统文件dhfs中。
120.(2)ruledatabase(规则库模块)获取与待校验数据库表对应的校验规则,可选的,可以通过单点配置获取待校验数据库表对应的校验规则,也可以通过全局获取待校验数据库表对应的校验规则。
121.其中,通过单点配置获取待校验数据库表对应的校验规则包括,在通过单点触发的方式获取待校验数据库表后,基于待校验数据库表,获取规则库中与待校验数据库对应的校验规则。
122.通过全局获取待校验数据库表对应的校验规则包括,在通过全局触发的方式获取待校验数据库表后,基于待校验数据库表的标识信息,获取规则库中与待校验数据库的标识信息对应的校验规则。
123.(3)calculateengine(计算引擎模块)扫描hdfs文件,获取hdfs文件的大小,也就是获取待检验数据库表的大小。并触发规则模块进行数据质量校验。
124.(4)rulemodule(规则模块)对待校验数据库表进行数据质量校验。
125.示例性的,校验规则可以是表级校验规则,表级校验规则为在表层面的校验规则。基于表级校验规则,对待校验数据库表进行数据质量校验的过程,包括:获取该待校验数据库表在预设时间段内的表存储大小,计算该待校验数据库表在预设时间段内的表存储大小与待校验数据库表当前的存储大小的差值,将该差值除以该待校验数据库表在预设时间段内的表存储大小,得到计算值,计算值即为校验结果。其中,待校验数据库表当前的存储大小即为分布式系统文件的大小;预设时间段可以是一周。
126.示例性的,校验规则可以是列级校验规则,列级校验规则为对表中字段的校验规则。基于列级校验规则,对待校验数据库表进行数据质量校验的过程,包括:校验待校验数据库表中的主键字段是否存在重复、维度值是否存在缺失,指标值是否为空,并计算重复主键字段与所有主键字段的占比,以及缺失维度值与所有维度值的占比,以及计算为空的指标值与所有指标值的占比。
127.(5)alarmmodule(报警模块)确定校验结果所属的告警区间,确定预设的与校验结果所属的告警区间对应的告警方式,并基于所确定的告警方式进行告警。
128.示例性的,高阈值区间对应的告警方式为报绿灯,高低阈值区间对应的告警方式为报黄灯,高阈值区间对应的告警方式为报红灯。
129.(6)resultdatabase(结果库模块)对校验结果进行存储。
130.需要说明的是,虽然采用特定次序描绘了各操作,但是这不应当理解为要求这些操作以所示出的特定次序或以顺序次序执行来执行。在一定环境下,多任务和并行处理可能是有利的。
131.应当理解,本技术公开的方法实施方式中记载的各个步骤可以按照不同的顺序执
行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本技术公开的范围在此方面不受限制。
132.与图1所述的方法相对应,本技术实施例还提供了一种数据质量校验装置,用于对图1中方法的具体实现,其结构示意图如图6所示,具体包括:
133.获取单元601,用于通过数据文件,获取待校验数据库表;其中,所述数据文件包括日志文件和抽取-转换-存储etl任务输出的结果文件;
134.查找单元602,用于查找预设的规则库中与所述待校验数据库表对应的校验规则;
135.校验单元603,用于基于所述校验规则,对所述待检验数据库表进行数据质量校验,得到校验结果;
136.存储单元604,用于存储所述校验结果。
137.本技术实施例提供的数据质量校验装置,通过研究数据库中的日志文件和etl任务输出的结果文件的数据特性,提出了利用日志文件和etl任务输出的结果文件的数据特性,即数据库中数据库表的数据均会记录于日志文件和etl任务输出的结果文件,获取待检验数据库表,对待检验数据库表进行数据质量校验的技术思路,而无需通过sql查询的方式,对数据库中的数据库表进行质量校验,从而降低对数据库性能的影响。
138.在本技术的一个实施例中,基于前述方案,获取单元601具体用于:
139.遍历预设的规则表,获取所述规则表中包括的待校验数据库表的标识信息;
140.查找数据文件中,与所述标识信息对应的数据库表;
141.将所查找到的数据库表确定为待校验数据库表。
142.在本技术的一个实施例中,基于前述方案,获取单元601具体用于:
143.实时监测数据文件中是否完成对待校验数据库表的写入;
144.在监测到所述数据文件中完成对待检验数据库表的写入的情况下,获取所述数据文件中的所述待校验数据库表。
145.在本技术的一个实施例中,基于前述方案,还可以配置为:
146.第一确定单元,用于确定所述校验结果所属的告警区间;
147.第二确定单元,用于确定预设的与目标告警区间对应的告警方式;其中,所述目标告警区间为所述校验结果所属的告警区间;
148.告警单元,用于基于所确定的告警方式进行告警。
149.在本技术的一个实施例中,基于前述方案,校验单元603具体用于:
150.查找所述规则库中与所述校验规则对应的插件信息;
151.调用所述插件信息对应的校验插件,对所述待检验数据库表进行数据质量校验,得到校验结果。
152.本技术实施例还提供了一种存储介质,所述存储介质存储有指令集,其中,在所述指令集运行时执行以下操作:
153.通过数据文件,获取待校验数据库表;其中,所述数据文件包括日志文件和抽取-转换-存储etl任务输出的结果文件;
154.查找预设的规则库中与所述待校验数据库表对应的校验规则;
155.基于所述校验规则,对所述待检验数据库表进行数据质量校验,得到校验结果;
156.存储所述校验结果。
157.本技术实施例还提供了一种电子设备,其结构示意图如图7所示,具体包括存储器701,用于存储至少一组指令集;处理器702,用于执行所述存储器中存储的指令集,通过执行所述指令集实现以下操作:
158.通过数据文件,获取待校验数据库表;其中,所述数据文件包括日志文件和抽取-转换-存储etl任务输出的结果文件;
159.查找预设的规则库中与所述待校验数据库表对应的校验规则;
160.基于所述校验规则,对所述待检验数据库表进行数据质量校验,得到校验结果;
161.存储所述校验结果。
162.尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。
163.虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本技术公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实施例中。相反地,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实施例中。
164.以上描述仅为本技术公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本技术公开中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本技术公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献