一种数据质量稽核动态扩展的方法、装置和设备与流程

文档序号:33720550发布日期:2023-04-05 22:06阅读:56来源:国知局
一种数据质量稽核动态扩展的方法、装置和设备与流程

本发明的实施例一般涉及数据稽核的,尤其涉及一种数据质量稽核动态扩展方法、装置和设备。


背景技术:

1、随着技术的发展,数字化成为趋势。为提高基层治理的水平,城市开始向数字化转型,数字政府也开始走进人们的生活。其中,作为数字政府新型基础设施建设的城市大脑更是智慧化城市的重要内容。城市大脑的正常运作离不开数据中台。数据中台是城市大脑的数据基座,其为城市大脑行业应用提供标准、干净、全量数据。数据中台中的数据种类繁多、来源广泛、体量巨大,这些数据主要归集于政府各个单位的政务数据。然而归集数据愈多,数据质量问题愈突出。为了提高收集的数据的质量,在从多个数据源收集数据的过程中,需要对收集的数据进行数据质量稽核。

2、现在的数据质量稽核的方法存在以下问题:1.新增数据质量稽核需求,需要开发代码。整个流程设计需求、开发、测试、部署多个环节,耗时长,工作量大,成本高;2.每个数据质量需求需要根据实际的业务需求单独开发,功能重用度低;3.数据稽核的数据源读取扩展性差,没有实现通用的数据读取的功能,数据读取的需求变更,可能都需要修改代码;4.新增数据质量稽核的指标,一般都修改代码

3、如专利:“一种数据质量稽核引擎及其稽核方法(申请号:cn202110735553.1)”:该方法包括获取待稽查数据集的元数据和数据质量标准规范的质量规则项,从质量规则项中提取对应的特征词,元数据包括数据集名称、数据属性名称和数据属性注释;将特征词与元数据中的数据属性名称或者数据属性注释进行匹配,建立质量规则项和元数据中每个属性的关联关系;基于待稽查数据集中的属性和关联关系得到稽核任务;基于稽核任务与质量规则项对应的稽核处理方法,获得待稽查数据集的稽核处理方法,以生成待稽查数据集的稽核脚本;运行稽核脚本对待稽查数据集进行稽查以获得稽核结果。该发明能够解决现有技术中稽核效率较低,配置任务工作繁重的问题,但是无法解决新增需求需要修改代码、功能重用度低的问题。


技术实现思路

1、为解决以上问题,本发明基于配置,零代码完成数据质量稽核,并且,数据稽核对象和基础指标控件,根据定义的流程规则,支持任意扩展,支持接入任意的数据源以及任意的数据质量稽核规则,用户只需要编写配置文件,即可完成数据质量的稽核,无需修改代码,数据质量也可对接prometheus,便于对数据质量的稽核情况进行监控。

2、根据本发明的实施例,提供了一种数据质量稽核动态扩展的方法、装置和设备。

3、在本发明的第一方面,提供了一种数据质量稽核动态扩展的方法。该方法包括:

4、s01:使用spark的数据源接口,将各类数据源加载为dataset,并根据配置的稽核对象名,注册为spark的表;

5、s02:对加载的数据源,根据数据质量稽核控件进行处理,生成数据质量稽核基础指标;

6、s03:对生成的基础指标进行算法逻辑处理,生成新的指标:计算指标;

7、s04:配置prometheus模板,模板中配置了基础指标和计算指标的编码,在数据质量稽核任务运行时,替换指标编码为具体指标的值,进行上报。

8、进一步地,s01中所述的数据源具有可拓展性,具体拓展步骤如下:

9、s011:定义数据源接入的trait类,加载的数据源继承trait类,实现trait类的抽象方法,读取每个数据源的数据并转换为spark的dataset类型;

10、s012:将实现步骤s011的代码进行打包并生成一个目录,目录名为通过type指定的名称;

11、s013:将步骤s012生成jar包的数据源目录统一存放在一个固定的控件目录下,数据质量稽核的业务在配置文件中进行配置;

12、s014:读取配置文件中的source模块,对配置文件进行遍历,根据type定义的数据源名称,加载控件目录下在数据源子目录的jar包,创建数据源控件的实例,根据数据源控件读取配置,生成每个数据源的dataset,并将每个数据源生成的dataset注册为表。

13、进一步地,s012中所述的配置文件中的source模块配置了多个数据源。

14、4.根据权利要求1所述的一种数据质量稽核动态扩展的方法,其特征在于,所述的s02的具体步骤为:

15、s021:trait类定义四个基础指标定义的流程:读取基础指标控件的配置、检查配置、预处理、生成基础指标的dataset;

16、s022:根据需求自行控制实现抽象的方法、数据稽核的逻辑及每个基础指标控件的配置项,并将代码进行打包,生成一个目录名为通过type指定名称的目录,该目录存放基础指标控件相关的jar包;

17、s023:将生成jar包的基础控件目录统一存放在固定的控件目录下,数据质量稽核的业务在配置文件中,进行配置;

18、s024:读取配置文件中的basickpi模块,遍历所有的数据质量稽核控件,针对每个数据质量稽核控件,根据type的值,匹配控件目录下的子目录,加载子目录下的jar包,生成unique数据质量稽核控件的实例。

19、进一步地,s021中所述的基础指标的dataset有且只能返回4个字段:数据稽核对象、指标名称、指标值和指标描述。

20、进一步地,所述的基础指标的编码的命名规则为:使用“.”号连接数据稽核对象、基础控件名称及基础指标名称。

21、进一步地,s023中所述的配置文件中的basickpi模块配置了多个数据质量稽核的控件。

22、进一步地,所述的s04的具体步骤为:

23、s041:配置prometheus数据格式的模板,在模板里配置基础指标和计算指标的编码,并根据基础指标和计算指标,生成数据上报的条件,根据基础指标和计算指标,配置数据上报的条件;

24、s042:在数据质量稽核任务运行时,将满足上报条件的数据的基础指标和计算指标的编码替换为指标的值并上报至prometheus;

25、s043:将数据稽核模板生成的prometheus监控指标写入pushgateway;

26、s044:prometheus采用定时pull模式从pushgateway采集prometheus的监控指标数据;

27、s045:prometheus根据采集的数据,基于prom ql创建告警规则,如果满足prom ql定义的规则,则会产生一条告警并告知工作人员。

28、进一步地,所述的prometheus具有基于可视化的工具,对数据质量的指标进行可视化监控的功能。

29、在本发明的第二方面,提供了一种数据质量稽核动态扩展的装置。该装置包括:

30、数据稽核对象注册模块:用于使用spark的数据源接口,将各类数据源加载为dataset,并根据配置的稽核对象名,注册为spark的表;

31、基础指标生成模块:用于对加载的数据源,根据数据质量稽核控件进行处理,生成数据质量稽核基础指标;

32、指标加工模块:用于对生成的基础指标进行算法逻辑处理,生成新的指标:计算指标;

33、稽核结果上报模块:用于配置prometheus模板,模板中配置了基础指标和计算指标的编码,在数据质量稽核任务运行时,替换指标编码为具体指标的值,进行上报。

34、进一步地,所述的数据稽核对象注册模块还包括:

35、数据源模块:用于定义数据源接入的trait类,加载的数据源继承trait类,实现trait类的抽象方法,读取每个数据源的数据并转换为spark的dataset类型;

36、代码打包模块:用于将数据源模块的代码进行打包并生成一个目录,目录名为通过type指定的名称;

37、业务配置模块:用于将目录打包模块生成jar包的数据源目录统一存放在一个固定的控件目录下,数据质量稽核的业务在配置文件中进行配置;

38、表注册模块:用于读取配置文件中的source模块,对配置文件进行遍历,根据type定义的数据源名称,加载控件目录下在数据源子目录的jar包,创建数据源控件的实例,根据数据源控件读取配置,生成每个数据源的dataset,并将每个数据源生成的dataset注册为表。

39、进一步地,所述的基础指标生成模块还包括:

40、定义模块:用于trait类定义四个基础指标定义的流程:读取基础指标控件的配置、检查配置、预处理、生成基础指标的dataset;

41、配置项模块:用于根据需求自行控制实现抽象的方法、数据稽核的逻辑及每个基础指标控件的配置项,并将代码进行打包,生成一个目录名为通过type指定名称的目录,该目录存放基础指标控件相关的jar包;

42、控件配置模块:用于将生成jar包的基础控件目录统一存放在固定的控件目录下,数据质量稽核的业务在配置文件中,进行配置;

43、实例生成模块:用于读取配置文件中的basickpi模块,遍历所有的数据质量稽核控件,针对每个数据质量稽核控件,根据type的值,匹配控件目录下的子目录,加载子目录下的jar包,生成unique数据质量稽核控件的实例。

44、进一步地,所述的稽核结果上报模块还包括:

45、条件配置模块:用于配置prometheus数据格式的模板,在模板里配置基础指标和计算指标的编码,并根据基础指标和计算指标,生成数据上报的条件,根据基础指标和计算指标,配置数据上报的条件;

46、数据上报模块:用于在数据质量稽核任务运行时,将满足上报条件的数据的基础指标和计算指标的编码替换为指标的值并上报至prometheus;

47、指标写入模块:用于将数据稽核模板生成的prometheus监控指标写入pushgateway;

48、数据采集模块:用于prometheus采用定时pull模式从pushgateway采集prometheus的监控指标数据;

49、告警模块:用于prometheus根据采集的数据,基于prom ql创建告警规则,如果满足prom ql定义的规则,则会产生一条告警并告知工作人员。

50、在本发明的第三方面,提供了一种电子设备。该电子设备包括:存储器和处理器,所述存储器上存储有计算机程序,所述处理器执行所述程序时实现如根据本发明的第一方面的方法。

51、在本发明的第四方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如根据本发明的第一方面的方法。

52、以上提及英文缩写释义:

53、spark:apache spark,专为大规模数据处理而设计的快速通用的计算引擎

54、sql:structured query language,结构化查询语言

55、dataset:是spark的一种分布式数据集,保存了数据的字段名和数据,可以理解为不依赖于数据库的独立数据集合

56、prometheus:一个开源的系统监控和报警系统

57、trait:scala语言里面的概念,可以理解为定义了一套流程

58、type:控件类型

59、jar:一种软件包文件格式,通常用于聚合大量的java类文件、相关的元数据和资源(文本、图片等)文件到一个文件,以便开发java平台应用软件或库source:源文件

60、basickpi:基础指标

61、pushgateway:是一个独立的服务,位于应用程序发送指标和prometheus服务器之间

62、prom ql:是prometheus内置的数据查询语言

63、本发明基于配置,零代码完成数据质量稽核,并且,数据稽核对象和基础指标控件,根据定义的流程规则,支持任意扩展,支持接入任意的数据源以及任意的数据质量稽核规则,用户只需要编写配置文件,即可完成数据质量的稽核,无需修改代码,数据质量也可对接prometheus,便于对数据质量的稽核情况进行监控。

64、应当理解,
技术实现要素:
部分中所描述的内容并非旨在限定本发明的实施例的关键或重要特征,亦非用于限制本发明的范围。本发明的其它特征将通过以下的描述变得容易理解。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1