基于消息队列的数据标准自动检验和同步系统及方法技术方案

技术编号:39053499 阅读:11 留言:0更新日期:2023-10-12 19:46
本发明专利技术公开了基于消息队列的数据标准自动检验和同步系统及方法,系统包括数据标准制定模块、本地校验程序模块、置数据库模块、数据校验消息队列模块、自动校验程序模块、网页工具模块、数据同步消息队列模块和数据中心库模块八大功能模块;通过本发明专利技术提出的自动检验和同步系统及方法将数据质量检验自动化,通过自动化检验和网页工具对检验结果的即时反馈,提高数据检验和问题反馈沟通的效率,将数据的质量导向由数据推送方来保证,极大的减少数据中心建设方的人力和时间成本,提高数据中心建设和数据达标推送的效率,提高数据质量,保障后续数据加工使用的效果。续数据加工使用的效果。续数据加工使用的效果。

【技术实现步骤摘要】
基于消息队列的数据标准自动检验和同步系统及方法


[0001]本专利技术涉及数据检验
,尤其涉及基于消息队列的数据标准自动检验和同步系统及方法。

技术介绍

[0002]数据中心的建设单位最主要的工作体现在四个方面:数据标准制定发布、数据检验、数据入库、数据加工使用,其中的数据检验,在以往的方式中,通常为大数据处理人员人工检验,这在数据中心的持续运行过程中,是最消耗人力和时间的部分,需要长期安排专业数据处理人员对每一次、每一份推送的数据进行质量检验,与数据推送方沟通处理不达标的数据。从标准制定下发,数据联调,到首次检验达标入库,通常需要两到三个月,受推送数据字段的数量影响,数据字段较多的时候耗时会更长,且从初次推送成功到后续持续推送过程中可能存在人为失误或其他原因,导致入库数据质量不佳,最终影响数据推送效率和数据加工使用效果。
[0003]对数据中心建设单位来说,需要对接的推送方往往不会只有一个,使用传统人工校验保障数据质量,消耗的人力和时间会成倍增长。

技术实现思路

[0004]本专利技术提出了基于消息队列的数据标准自动检验和同步系统及方法,以解决上述传统人工校验保障数据质量,消耗的人力和时间成倍增长的问题。
[0005]第一方面,基于消息队列的数据标准自动检验和同步系统,包括以下功能模块:数据标准制定模块:基于数据采集和加工使用需求,制定基础数据推送标准;本地校验程序模块:提供给推送方,在正式推送前,本地检验自己的推送逻辑和推送结果是否正确;前置数据库模块:数据质量自动检验仓库;数据校验消息队列模块:使用CDC数据库变化数据捕获组件,识别和捕获对前置数据库数据推送表中的数据所做的更改,将这些新增和更新的数据实时发布到消息队列;自动校验程序模块:基于数据标准要求,对数据推送表进行校验;网页工具模块:辅助数据推送方排查和处理修复不达标数据;数据同步消息队列模块:使用CDC数据库变化数据捕获组件识别和捕获前置数据库数据检验结果表中插入的数据,将这些新增数据实时发布到消息队列;数据中心库模块:存储所有数据推送方推送并检验通过的数据,用于后续的数据加工使用。
[0006]进一步,所述数据标准制定模块基础数据推送标准包括:数据表结构、字段内容、字段约束、字段格式规范、值域范围、字典类型对应字典值拟定、表数据关联关系、推送步骤和方式;制定的数据标准用于告知数据推送方数据详细推送标准,同时也是自动校验程序检验逻辑的依据。
[0007]进一步,所述本地校验程序模块对同一批次数据的合规性进行校验,包括:结构、内容、字段约束、字段格式规范、值域范围、字典值以及同一批次内的主从表关联关系。
[0008]进一步,所述前置数据库模块对每一个数据推送方开放一个前置数据库,其中包含四部分的数据表:数据推送表:基于数据标准要求建立供数据推送方推送数据,包括主表数据内容、主键id、数据来源标识字段;数据检验结果表:记录数据自动检验结果,每张数据推送表,都有对应的数据检验结果表,数据推送结果表表结构包含字段:表名、主键名称、主键值、检验时间、是否检验通过、不通过原因、是否有效以及是否推送到数据中心库;检验日志记录表:记录检验日志,包括:消息队列自动检验日志、人工触发检验日志、定时检验日志以及记录每次检验耗时、是否执行成功和异常信息,用于分析自动效应程序性能和排查异常问题;提交检验表:包含字段:表名、主键名称和主键值,数据推送方可通过对提交检验表的数据插入,触发检验程序数据的检验。
[0009]进一步,所述自动校验程序模块对数据推送表进行校验,检验内容包括:数据推送表结构、内容、字段约束、字段格式规范、值域范围、字典值、主从表关联关系、前置关联数据;还包括有多种检验方式,流式实时检验和批量多线程检验,包括:通过消费数据校验消息队列的实时流式检验:为主要检验方式,通过基于消息队列的流式处理,实时检验推送方写入前置数据库的数据;基于提交检验表的批量检验:多表复杂关联的情况下,数据推送方在主从关联表全部推送完毕后,通过插入提交检验表数据,触发对应主从关联数据的批量检验;使用网页工具手动触发表或数据的检验:查询所有数据推送表的检验结果,针对单条数据发起重检,或针对表发起全表批量重检;定时批量重检:对前置数据库中的所有未检验和检验不通过的数据定时批量重检,通过定时任务定时执行,解决漏检、误检、程序服务异常和因推送方数据推送先后顺序导致关联表检验失败的问题。
[0010]另一方面,基于消息队列的数据标准自动检验和同步方法,基于消息队列的数据标准自动检验和同步系统实现,包括以下步骤:步骤S1:确定数据中心数据范围和内容,梳理数据关联关系和表字段清单,制定数据标准;步骤S2:配置数据校验程序,基于制定的数据标准,配置数据自动校验程序。在数据自动校验程序中配置需要校验的表,包含表结构、字段、值规范、值域、字段关联关系、数据业务关联关系等需要校验的数据质量项目;步骤S3:数据推送,数据推送单位基于下发的数据推送标准,按标准实现数据推送;步骤S4:数据推送单位自动校验;步骤S5:基于检验结果表中的校验结果数据,定期自动生成数据质量分析报告;步骤S6:对同步到数据中心的数据进行加工使用。
[0011]进一步,所述步骤S1数据标准包括:数据表和字段定义、字段值格式规范和字典值
域范围约束、必填项和部分条件必填项、表和字段间的关联关系、表与表之间的业务逻辑先后顺序、码表定义、相关国标文件引用说明以及数据写入逻辑说明。
[0012]进一步,所述步骤S2还包括以下子步骤:步骤S21:将配置好的数据自动校验程序打包成离线本地校验程序,供数据推送方本地自检;步骤S22:将配置好的数据自动校验程序部署为在线自动校验服务,在数据推送时提供线上即时校验能力。
[0013]进一步,所述步骤S3还包括以下子步骤:步骤S31:使用本地校验程序验证推送数据是否初步达标;步骤S32:将本地校验达标的数据推送到前置数据库对应的数据表中。
[0014]进一步,所述步骤S4还包括以下子步骤:步骤S41:数据推送单位将数据推送到前置机数据表时,数据库变化数据捕获组件识别和捕获前置数据库数据表中插入或更新的数据,发布到数据校验消息队列;步骤S42:在线自动校验程序消费数据校验消息队列,获得需要检验的数据,按配置的校验项目进行校验,将校验结果输出到检验结果表;步骤S43:检验结果表中插入的数据,被数据库变化数据捕获组件识别和捕获,发布到数据同步消息队列;步骤S44:消费数据同步消息队列,将检验通过、质量达标的数据同步到数据中心库,回写前置机对应数据状态为同步成功;步骤S45:自动检验程序定时自动全库重检,补偿因数据推送先后顺序导致的数据关联关系检验失败。自动全库重检的校验结果输出到检验结果表,继续步骤S43;步骤S46:数据推送方通过异常数据查询处理网页工具,查看检验不通过的数据,进行数据修复,修复后可在网页工具上人工触发单条数据重检或全表数据批量重检,校验结果输出到检验结果表,继续步骤S43。
[0015]本专利技术的有益效果:本专利技术提本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.基于消息队列的数据标准自动检验和同步系统,其特征在于,包括以下功能模块:数据标准制定模块:基于数据采集和加工使用需求,制定基础数据推送标准;本地校验程序模块:提供给推送方,在正式推送前,本地检验自己的推送逻辑和推送结果是否正确;前置数据库模块:数据质量自动检验仓库;数据校验消息队列模块:使用CDC数据库变化数据捕获组件,识别和捕获对前置数据库数据推送表中的数据所做的更改,将这些新增和更新的数据实时发布到消息队列;自动校验程序模块:基于数据标准要求,对数据推送表进行校验;网页工具模块:辅助数据推送方排查和处理修复不达标数据;数据同步消息队列模块:使用CDC数据库变化数据捕获组件识别和捕获前置数据库数据检验结果表中插入的数据,将这些新增数据实时发布到消息队列;数据中心库模块:存储所有数据推送方推送并检验通过的数据,用于后续的数据加工使用。2.根据权利要求1所述的基于消息队列的数据标准自动检验和同步系统,其特征在于,所述数据标准制定模块基础数据推送标准包括:数据表结构、字段内容、字段约束、字段格式规范、值域范围、字典类型对应字典值拟定、表数据关联关系、推送步骤和方式;制定的数据标准用于告知数据推送方数据详细推送标准,同时也是自动校验程序检验逻辑的依据。3.根据权利要求1所述的基于消息队列的数据标准自动检验和同步系统,其特征在于,所述本地校验程序模块对同一批次数据的合规性进行校验,包括:结构、内容、字段约束、字段格式规范、值域范围、字典值以及同一批次内的主从表关联关系。4.根据权利要求2所述的基于消息队列的数据标准自动检验和同步系统,其特征在于,所述前置数据库模块对每一个数据推送方开放一个前置数据库,其中包含四部分的数据表:数据推送表:基于数据标准要求建立供数据推送方推送数据,包括主表数据内容、主键id、数据来源标识字段;数据检验结果表:记录数据自动检验结果,每张数据推送表,都有对应的数据检验结果表,数据推送结果表表结构包含字段:表名、主键名称、主键值、检验时间、是否检验通过、不通过原因、是否有效以及是否推送到数据中心库;检验日志记录表:记录检验日志,包括:消息队列自动检验日志、人工触发检验日志、定时检验日志以及记录每次检验耗时、是否执行成功和异常信息,用于分析自动效应程序性能和排查异常问题;提交检验表:包含字段:表名、主键名称和主键值,数据推送方可通过对提交检验表的数据插入,触发检验程序对数据的检验。5.根据权利要求1所述的基于消息队列的数据标准自动检验和同步系统,其特征在于,所述自动校验程序模块对数据推送表进行校验,检验内容包括:数据推送表结构、内容、字段约束、字段格式规范、值域范围、字典值、主从表关联关系、前置关联数据;还包括有多种检验方式,流式实时检验和批量多线程检验,包括:通过消费数据校验消息队列的实时流式检验:为主要检验方式,通过基于消息队列的流式处理,实时检验推送方写入前置数据库的数据;
基于提交检验表的批量检验:多表复杂关联的情况下,数据推送方在主从关联表全部推送完毕后,通过插入提交检验表数据,触发对应主从关联数据的批量检验;使用网页工具手动触发表或数据的检验:查询所有数据...

【专利技术属性】
技术研发人员:唐鹏李阳王金龙张竞刘勇胡树
申请(专利权)人:成都智慧锦城大数据有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1