CN116860740A - 数据质量监控的方法、装置、电子设备及介质 - Google Patents

数据质量监控的方法、装置、电子设备及介质 Download PDF

Info

Publication number
CN116860740A
CN116860740A CN202310946804.XA CN202310946804A CN116860740A CN 116860740 A CN116860740 A CN 116860740A CN 202310946804 A CN202310946804 A CN 202310946804A CN 116860740 A CN116860740 A CN 116860740A
Authority
CN
China
Prior art keywords
data
monitoring
real
information
data table
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.)
Pending
Application number
CN202310946804.XA
Other languages
English (en)
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.)
Beijing Jingdong Century Trading Co Ltd
Beijing Wodong Tianjun Information Technology Co Ltd
Original Assignee
Beijing Jingdong Century Trading Co Ltd
Beijing Wodong Tianjun Information Technology Co Ltd
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 Beijing Jingdong Century Trading Co Ltd, Beijing Wodong Tianjun Information Technology Co Ltd filed Critical Beijing Jingdong Century Trading Co Ltd
Priority to CN202310946804.XA priority Critical patent/CN116860740A/zh
Publication of CN116860740A publication Critical patent/CN116860740A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/215Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2282Tablespace storage structures; Management thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/283Multi-dimensional databases or data warehouses, e.g. MOLAP or ROLAP

Abstract

本公开涉及一种数据质量监控的方法、装置、电子设备及介质,上述方法包括:获取针对异构源数据的监控配置信息;上述异构源数据包括至少两种不同的源数据;上述监控配置信息包括:上述异构源数据中待监控的数据表对象、针对上述数据表对象配置的跨表关联字段和针对上述跨表关联字段配置的监控规则;根据上述监控配置信息,生成与上述数据表对象对应的实时数据表,并生成用于执行上述监控规则的查询执行信息;基于上述查询执行信息,对上述实时数据表进行查询,得到针对上述跨表关联字段的监控结果。能够对异构源数据进行跨表关联字段的数据质量检测,从源头上有效检测数据质量并为后续处理预留充足的时间,有助于提升大数据平台的运行效率。

Description

数据质量监控的方法、装置、电子设备及介质
技术领域
本公开涉及大数据和运维技术领域,尤其涉及一种数据质量监控的方法、装置、电子设备及介质。
背景技术
随着各个应用系统的业务数据、客服数据和运维数据等呈爆炸式增长,大数据技术应运而生。大数据平台是基于分布式框架搭建的能够提供数据存储和分析服务的应用系统,能够对海量数据进行分析和处理,挖掘有价值的信息。在大数据平台进行数据分析之前,对数据质量进行校验是至关重要的一环,数据质量的好坏对于后续进行数据分析和数据挖掘具有较大的影响。
在实现本公开构思的过程中,发明人发现相关技术中至少存在如下技术问题:由于大多数大数据平台的数据来源(也可以描述为数据生产系统)是不同的数据库甚至数据库的类型有差异,诸如:mysql(一种关系型数据库管理系统)、mongoDB(一种基于分布式文件存储的数据库)、oracle(一种关系型数据库管理系统)、sql server(一种关系型数据库管理系统)等数据来源,通常需要将各个数据生产系统的数据统一接入至数据仓库,例如基于hive工具(hive数据仓库工具能将结构化的数据文件映射为一张数据库表,并提供结构化查询语言SQL查询功能)将源数据映射至hive表,然后对数据仓库中的数据进行质量校验。然而,这种方式无法实时发现数据源头产生的问题;有质量问题的数据进行入仓(表示进入数据仓库)的过程会导致存储资源的浪费,同时在数据仓库中发现存在质量问题后,进行应对处理的时机滞后,还需要耗费处理时间进行处理,也导致后续任务的延后;此外,针对两个数据生产系统的数据进行整合加工处理的场景,数据是否有质量问题是需要在数据仓库中同时导入两个数据生产系统的数据进行处理后才能得知的,同样也存在时机滞后的问题。
发明内容
为了解决上述技术问题或者至少部分地解决上述技术问题,本公开的实施例提供了一种数据质量监控的方法、装置、电子设备及介质。
第一方面,本公开的实施例提供了一种数据质量监控的方法。上述方法包括:获取针对异构源数据的监控配置信息;上述异构源数据包括至少两种不同的源数据;上述监控配置信息包括:上述异构源数据中待监控的数据表对象、针对上述数据表对象配置的跨表关联字段和针对上述跨表关联字段配置的监控规则;根据上述监控配置信息,生成与上述数据表对象对应的实时数据表,并生成用于执行上述监控规则的查询执行信息;基于上述查询执行信息,对上述实时数据表进行查询,得到针对上述跨表关联字段的监控结果。
根据本公开的实施例,根据上述监控配置信息,生成与上述数据表对象对应的实时数据表,并生成用于执行上述监控规则的查询执行信息,包括:根据上述数据表对象的对接信息,生成实时数据表,上述实时数据表为上述数据表对象的影子表且跟随上述数据表对象的数据变动;根据上述监控规则和上述异构源数据的类型,生成针对上述跨表关联字段的查询执行信息。
根据本公开的实施例,上述对接信息包括:上述数据表对象的对象标识、位置信息和数据访问信息;其中,根据上述数据表对象的对接信息,生成实时数据表,包括:根据上述位置信息和上述对象标识,构建实时数据表的数据接口,上述数据接口用于指向上述数据表对象的源数据并能抓取上述数据表对象的数据至上述实时数据表;根据上述数据访问信息,从上述源数据中获取上述数据表对象的数据更新状态;根据上述数据更新状态,更新上述实时数据表中的数据。或者,上述对接信息包括:上述数据表对象的数据接口信息和数据访问信息;其中,根据上述数据表对象的对接信息,生成实时数据表,包括:根据上述数据接口信息,构建用于访问上述数据表对象的数据接口;基于上述数据接口,将上述数据表对象的数据对接至实时数据表;根据上述数据访问信息,从上述源数据中获取上述数据表对象的数据更新状态;根据上述数据更新状态,更新上述实时数据表中的数据。
根据本公开的实施例,根据上述监控规则和上述异构源数据的类型,生成针对上述跨表关联字段的查询执行信息,包括:获取跨表关联字段所对应的至少一种目标源数据;确定与上述目标源数据的类型匹配的查询语法信息;根据上述查询语法信息,构建与上述跨表关联字段的监控规则对应的查询执行信息。
根据本公开的实施例,上述方法还包括:将上述监控结果存储至预先构建的监控结果存储表中;根据预先配置的异常触发条件,确定上述监控结果存储表的监控结果中是否存在异常;在监控结果存在异常的情况下,基于预先配置的处理策略进行处理。
第二方面,本公开的实施例提供了一种数据质量监控的方法。上述方法应用于质量监控服务端,上述方法包括:获取针对异构源数据的监控配置信息;上述异构源数据包括至少两种不同的源数据;上述监控配置信息包括:上述异构源数据中待监控的数据表对象、针对上述数据表对象配置的跨表关联字段和针对上述跨表关联字段配置的监控规则;根据上述监控配置信息,生成用于指示实时计算服务端执行的监控执行信息;上述监控执行信息包括:用于创建与上述监控源数据对象对应的实时数据表的创建信息、和用于执行上述监控规则的查询执行信息;基于上述监控执行信息,向实时计算服务端发起监控执行请求;接收上述实时计算服务端反馈的针对上述跨表关联字段的监控结果。
根据本公开的实施例,根据上述监控配置信息,生成用于指示实时计算服务端执行的监控执行信息,包括:根据上述数据表对象的对接信息,生成用于创建实时数据表的创建信息,上述实时数据表为上述数据表对象的影子表且跟随上述数据表对象的数据变动;根据上述监控规则和上述异构源数据的类型,生成针对上述跨表关联字段的查询执行信息。
根据本公开的实施例,上述质量监控服务端预先构建有监控结果存储表,上述质量监控服务端为上述实时计算服务端预先配置有针对上述监控结果存储表的写入权限;接收上述实时计算服务端反馈的针对上述跨表关联字段的监控结果,包括:在上述监控结果存储表中接收上述实时计算服务端写入的监控结果。
第三方面,本公开的实施例提供了一种数据质量监控的方法。上述方法应用于实时计算服务端,包括:接收质量监控服务端发送的监控执行请求,上述监控执行请求携带有监控执行信息;上述监控执行信息包括:用于创建与监控源数据对象对应的实时数据表的创建信息、和用于执行监控规则的查询执行信息;根据上述创建信息,创建实时数据表,上述实时数据表为上述数据表对象的影子表且跟随上述数据表对象的数据变动;基于上述查询执行信息,对上述实时数据表进行查询,得到针对上述跨表关联字段的监控结果;将上述监控结果反馈给上述质量监控服务端。
第四方面,本公开的实施例提供了一种数据质量监控的装置。上述装置包括:第一配置信息获取模块、实时监控和计算模块以及第一执行模块。上述第一配置信息获取模块用于获取针对异构源数据的监控配置信息;上述异构源数据包括至少两种不同的源数据;上述监控配置信息包括:上述异构源数据中待监控的数据表对象、针对上述数据表对象配置的跨表关联字段和针对上述跨表关联字段配置的监控规则。上述实时监控和计算模块用于根据上述监控配置信息,生成与上述数据表对象对应的实时数据表,并生成用于执行上述监控规则的查询执行信息。上述第一执行模块用于基于上述查询执行信息,对上述实时数据表进行查询,得到针对上述跨表关联字段的监控结果。
第五方面,本公开的实施例提供了一种数据质量监控的装置。上述装置与实时计算服务端通信连接,上述装置包括:第二配置信息获取模块、信息生成模块、监控指示模块和结果接收模块。上述第二配置信息获取模块用于获取针对异构源数据的监控配置信息;上述异构源数据包括至少两种不同的源数据;上述监控配置信息包括:上述异构源数据中待监控的数据表对象、针对上述数据表对象配置的跨表关联字段和针对上述跨表关联字段配置的监控规则。上述信息生成模块用于根据上述监控配置信息,生成用于指示实时计算服务端执行的监控执行信息;上述监控执行信息包括:用于创建与上述监控源数据对象对应的实时数据表的创建信息、和用于执行上述监控规则的查询执行信息。上述监控指示模块用于基于上述监控执行信息,向实时计算服务端发起监控执行请求。上述结果接收模块用于接收上述实时计算服务端反馈的针对上述跨表关联字段的监控结果。
第六方面,本公开的实施例提供了一种数据质量监控的装置。上述装置包括:监控执行请求接收模块、影子表创建模块、第二执行模块和结果反馈模块。上述监控执行请求接收模块用于接收质量监控服务端发送的监控执行请求,上述监控执行请求携带有监控执行信息;上述监控执行信息包括:用于创建与监控源数据对象对应的实时数据表的创建信息、和用于执行监控规则的查询执行信息。上述影子表创建模块用于根据上述创建信息,创建实时数据表,上述实时数据表为上述数据表对象的影子表且跟随上述数据表对象的数据变动。上述第二执行模块用于基于上述查询执行信息,对上述实时数据表进行查询,得到针对上述跨表关联字段的监控结果。上述结果反馈模块用于将上述监控结果反馈给上述质量监控服务端。
第七方面,本公开的实施例提供了一种电子设备。上述电子设备包括处理器、通信接口、存储器和通信总线,其中,处理器、通信接口和存储器通过通信总线完成相互间的通信;存储器,用于存放计算机程序;处理器,用于执行存储器上所存放的程序时,实现如上所述的数据质量监控的方法。
第八方面,本公开的实施例提供了一种计算机可读存储介质。上述计算机可读存储介质上存储有计算机程序,上述计算机程序被处理器执行时实现如上所述的数据质量监控的方法。
本公开实施例提供的上述技术方案至少具有如下优点的部分或全部:
通过针对异构源数据中待监控的数据表对象生成对应的实时数据表,该实时数据表的数据与数据表对象中的数据相同且跟随数据表对象中的数据变动,实现对异构源数据的数据变动的实时监控,同时能够支持针对上述跨表关联字段的监控规则的配置,利用生成的用于执行上述监控规则的查询执行信息来对实时数据表进行查询,能够满足对异构源数据中跨表关联字段的质量校验需求,在源数据产生的阶段、并在进入数据仓库之前就能够及时通过质量校验发现异构源数据中存在问题的关联字段,为后续进行问题处理提供足够的时间,相较于在源数据进入数据仓库后再进行质量校验而言,对数据质量进行校验的时机提前,使得发现问题的时机也提前,从而能够为处理问题预留出更多的时间,对于后续任务的滞后影响相对较小甚至可以通过提前处理而避免对后续任务的影响;同时还能够对异构源数据进行跨表关联字段的数据质量检测,包括对相同种类的多个源数据或不同种类的多个源数据进行关联检测,从源头上能够有效检测数据质量并为后续处理预留充足的时间,有助于提升大数据平台的运行效率。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1A示意性地示出了适用于本公开实施例的数据质量监控的方法和装置的一种系统架构;
图1B示意性地示出了适用于本公开实施例的数据质量监控的方法和装置的另一种系统架构;
图2示意性地示出了根据本公开一实施例的数据质量监控的方法的流程图;
图3示意性地示出了根据本公开一实施例的步骤S220的详细实施流程图;
图4示意性地示出了根据本公开另一实施例的数据质量监控的方法的流程图;
图5示意性地示出了根据本公开实施例的质量监控服务端和实时计算服务端实施数据质量监控的方法的交互过程示意图;
图6示意性地示出了根据本公开又一实施例的数据质量监控的方法的流程图;
图7示意性地示出了根据本公开一实施例的数据质量监控的装置的结构框图;
图8示意性地示出了根据本公开另一实施例的数据质量监控的装置的结构框图;
图9示意性地示出了根据本公开又一实施例的数据质量监控的装置的结构框图;
图10A示意性地示出了相关技术中将异构源数据进行入仓后校验质量的过程和耗时示意图;
图10B示意性地示出了应用本公开实施例的数据质量监控方法对异构源数据进行数据质量监控后的过程和耗时示意图;以及
图11示意性地示出了本公开实施例提供的电子设备的结构框图。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本公开的一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
图1A示意性地示出了适用于本公开实施例的数据质量监控的方法和装置的一种系统架构;图1B示意性地示出了适用于本公开实施例的数据质量监控的方法和装置的另一种系统架构。
参照图1A所示,适用于本公开实施例的数据质量监控的方法和装置的一种系统架构100a包括:终端设备110和服务端120。在该系统架构100a下,服务端120可以执行后续第一个实施例中的数据质量监控的方法,服务端120可以作为数据质量监控的装置。
终端设备110上安装有数据质量监控平台(一种软件系统)或运维类应用,具有可视化界面,用于进行监控相关配置的操作以及监控结果的呈现等。
服务端120用于为终端设备110上的数据质量监控平台或运维类应用提供服务支持。在系统架构100a中,服务端120具有数据质量监控和实时计算功能,这一实时计算功能涵盖对各种类型的数据库中的数据对接以及实时查询匹配的功能。
数据生产系统A~C产生的数据存储于各自对应的数据库中,例如数据生产系统A生产的数据存储于数据库Ka 131中,数据生产系统B生产的数据存储于数据库Kb 132中,数据生产系统C生产的数据存储于数据库Kc 133中。对于服务端120而言,要进行数据质量监测的源数据对象是来自于异构源数据,即包含至少两个不同的源数据,这些源数据具体类型可以相同,也可以不同,例如异构源数据可以来自mysql数据库类型下至少两个不同的数据库;或者异构源数据可以来自多个不同类型的数据库,例如图1A中示例的数据库Ka为mysql数据库类型,数据库Kb为Oracle数据库类型,数据库Kc为MongoDB类型。可以理解的是,这里仅示例了部分数据库类型,还可以包括但不限于是:PostgreSQL(是一种对象-关系型数据库管理系统)、sqlserver、tidb(一种分布式关系型数据库以及支持在线事务处理与在线分析处理)等数据库类型。
服务端120具有数据质量监控和实时计算功能,能够监测数据库Ka 131~数据库Kc 133中数据的增删查改等操作并进行同步计算。在一些实施例中,服务端120用于构建与待监测的异构源数据中数据表对象同步更新数据的实时数据表;基于配置的监控规则对上述实时数据表执行跨表关联字段的监控和查询操作,得到监控结果。例如,服务端120可以包含Flink CDC功能或者包括能够进行数据库同步的功能模块。
在一些实施场景中,用户(例如运维人员、或者大数据分析人员等)可以在终端设备上进行监控配置信息(包含上述异构源数据中待监控的数据表对象、针对上述数据表对象配置的跨表关联字段和针对上述跨表关联字段配置的监控规则等)的设置,通过终端设备110和服务端120的交互,由服务端120执行本公开第一个实施例提供的数据质量监控的方法,得到监控结果。服务端120将监控结果回传给终端设备110,由终端设备110进行监控结果的呈现。
参照图1B所示,适用于本公开实施例的数据质量监控的方法和装置的另一种系统架构100b包括:终端设备110、质量监控服务端121和实时计算服务端122。
本实施例的系统架构100b中,终端设备110上安装有数据质量监控平台(一种软件系统)或运维类应用,具有可视化界面,用于进行监控相关配置的操作以及监控结果的呈现等。
质量监控服务端121用于为终端设备110上的数据质量监控平台或运维类应用提供服务支持,质量监控服务端121具有数据质量监控的管理功能,用于控制或调用实时计算服务端122的实时计算服务。基于该实时计算服务能够访问异构源数据中的数据库并同步数据库中的数据变化至所创建的实时数据表中。在一些实施例中,质量监控服务端121执行第二个实施例提供的数据质量监控的方法,质量监控服务端121作为数据质量监控的装置。
实时计算服务端122是独立于质量监控服务端121的一个服务端,实时计算服务端122在质量监控服务端121的控制或调用下,通过实时计算服务来具体执行创建实时数据表和进行质量监控的任务,并将监控结果返回至质量监控服务端121。参照图1B所示,实时计算服务端122能够访问数据库Ka~Kc。在一些实施例中,实时计算服务端122执行第三个实施例提供的数据质量监控的方法,实时计算服务端122作为数据质量监控的装置。
下面结合具体的实施例进行详细介绍。
本公开的第一个示例性实施例提供了一种数据质量监控的方法。本实施例可以由图1A示例的系统架构100a中的服务端120执行。
图2示意性地示出了根据本公开一实施例的数据质量监控的方法的流程图。
参照图2所示,本公开实施例提供的数据质量监控的方法,包括以下步骤:S210、S220和S230。
在步骤S210,获取针对异构源数据的监控配置信息;上述异构源数据包括至少两种不同的源数据;上述监控配置信息包括:上述异构源数据中待监控的数据表对象、针对上述数据表对象配置的跨表关联字段和针对上述跨表关联字段配置的监控规则。
源数据是指由数据生产系统产生的数据,源数据初始存放的位置为数据生产系统的缓存或数据生产系统对应的数据存储空间(例如为数据库或数据存储服务,例如为数据存储云服务等),数据存储空间可以是各种类型的数据库,诸如mysql、mongoDB、oracle、sqlserver、PostgreSQL、tidb等数据库。
异构源数据是指源数据之间是不同的,异构源数据包含至少两个不同的源数据,这些源数据具体类型可以相同,也可以不同,例如异构源数据可以是来自mysql数据库类型下多个不同数据库的数据;或者异构源数据可以是来自多个不同类型的数据库的数据。
在其他实施例中,本公开实施例提供的方法还可以应用至单一的源数据进行实时监控。
作为示例,异构源数据分别来自于mysql数据库和oracle数据库,例如分别表示为dbsource-mysql-1和dbsource-oracle-2。
待监控的数据表对象包括:mysql中的商品出售表,例如表示为dbsource-mysql-1.product_sale;和oracle中的商品产地表,例如表示为dbsource-oracle-2.product_make。
跨表关联字段包括:位于不同源数据中的不同数据表的字段相互关联、位于同一个源数据中的不同数据表的字段相互关联。例如跨表关联字段包括:product_sale.name和product_make.name,表示商品名称name所对应的售出结果和商品产地之间的关联字段。具体的name可以是由用户(运维人员或大数据平台人员)设置的需要分析的商品名称或者通过某些匹配条件查询得到的商品名称。
有些场景下,监控规则是用于对一些不符合规范、不符合业务需求等的源数据进行剔除或者筛选。例如,针对上述跨表关联字段配置的监控规则为监控规则R1:监控商品产地为x、y、z、s这四个地区且售出结果小于10个的商品。针对这些商品,由于数量太少,预先进行剔除,不会进入至数据仓库中。通过对源数据中的跨表关联字段进行筛选,保证商品产地为x、y、z、s这四个地区进入数据仓库进行分析的数据都是销量大于设定值的商品数据。例如还可以是统计商品名字为空的数据,这部分数据也是需要剔除的。
有些情况下,可以预先对源数据中的数据进行初步分析,预先得到分析结果;不用等到数据全部进入数据仓库后再进行分析。例如针对上述跨表关联字段配置的监控规则为监控规则R2、监控商品售出结果超过1000个对应的产地是哪里。通过这一规则分析得到对应的产地结果,从而在源数据获取的阶段就能够得到跨表分析结果。
在步骤S220,根据上述监控配置信息,生成与上述数据表对象对应的实时数据表,并生成用于执行上述监控规则的查询执行信息。
图3示意性地示出了根据本公开一实施例的步骤S220的详细实施流程图。
根据本公开的实施例,参照图3所示,上述步骤S220中,根据上述监控配置信息,生成与上述数据表对象对应的实时数据表,并生成用于执行上述监控规则的查询执行信息,包括以下步骤:S310和S320。
在步骤S310,根据上述数据表对象的对接信息,生成实时数据表,上述实时数据表为上述数据表对象的影子表且跟随上述数据表对象的数据变动。影子表是指与数据表对象的数据完全相同的数据表。
在一些实施例中,上述对接信息包括:上述数据表对象的对象标识、位置信息和数据访问信息。例如,数据表对象的对象标识为前述示例的:dbsource-mysql-1.product_sale和dbsource-oracle-2.product_make;product_sale的位置信息表示为:dbsource-mysql-1\mysql-server\data,product_make的位置信息表示为:dbsource-oracle-2\oracle-server\data。数据访问信息例如包括:用于访问mysql数据库的用户名和密码,用于访问oracle数据库的用户名和密码。
上述步骤S310中,根据上述数据表对象的对接信息,生成实时数据表,包括:根据上述位置信息和上述对象标识,构建实时数据表的数据接口;根据上述数据访问信息,从上述源数据中获取上述数据表对象的数据更新状态;根据上述数据更新状态,更新上述实时数据表中的数据。
上述数据接口用于指向上述数据表对象的源数据(例如为mysql数据库和oracle数据库)并能抓取上述数据表对象(例如为dbsource-mysql-1.product_sale和dbsource-oracle-2.product_make)的数据至上述实时数据表。
例如可以通过数据库的日志获取上述数据表对象的数据更新状态,包含数据增加操作、数据删除操作、数据修改操作等。
在另一些实施例中,上述对接信息包括:上述数据表对象的数据接口信息和数据访问信息。
例如product_sale的数据接口信息表示为:dbsource-mysql-1.url.port(访问地址和端口号),product_make的数据接口信息表示为:dbsource-oracle-2.url.port(访问地址和端口号)。
上述步骤S310中,根据上述数据表对象的对接信息,生成实时数据表,包括:根据上述数据接口信息,构建用于访问上述数据表对象的数据接口;基于上述数据接口,将上述数据表对象的数据对接至实时数据表;根据上述数据访问信息,从上述源数据中获取上述数据表对象的数据更新状态;根据上述数据更新状态,更新上述实时数据表中的数据。
在步骤S320,根据上述监控规则和上述异构源数据的类型,生成针对上述跨表关联字段的查询执行信息。
在一些实施例中,上述步骤S320中,根据上述监控规则和上述异构源数据的类型,生成针对上述跨表关联字段的查询执行信息,包括:获取跨表关联字段所对应的至少一种目标源数据;确定与上述目标源数据的类型匹配的查询语法信息;根据上述查询语法信息,构建与上述跨表关联字段的监控规则对应的查询执行信息。
针对不同的源数据的类型具有对应的查询语法信息,例如针对mysql而言,可以选用的查询语句包括但不限于是:select语句(来获取需要查询的数据结果,同时select也可以做输出,与print类似)、where语句(用来作为条件判断的语句,多个条件之间用and或者or连接,返回结果是where语句中为True的结果)、having语句(与where语句类似,都是用来作条件判断)、group by语句(是按照某一字段对数据进行分组)、order by语句(用来对查询的数据进行排序的语句,可以按照一定的规则进行排序,默认为升序(asc),降序需要在order by后面加上desc)、limit语句(用来对查询的结果做一些限制,限制只查询从某行到某行的结果)等。例如针对oracle而言,可以选用的查询语言包括但不限于是:select语句、group by语句、order by语句、包含关系运算符、比较运算符和逻辑运算符的条件查询语句等。
基于上述监控规则R1、商品产地为x、y、z、s这四个地区且售出结果小于10个,对应的目标源数据为mysql数据库(对应于售出结果product_sale)和oracle数据库(对应于product_make)。在确定了与mysql数据库和oracle数据库类型匹配的查询语法信息后,可以构建与上述跨表关联字段的监控规则对应的查询执行信息,例如SQL语句示例为以下形式,【】中的内容用于解释说明SQL语句,不作为具体执行语句的内容:
SELECT now(),count()<10as groupby_area_A【groupby_area_A表示A产地的商品售卖数量,具体可以采用上述x、y、z和s作为A的具体取值】
FROM product_sale AS a inner join product_make b on
a.name=b.name where b.area=‘A’group by b.area
在步骤S230,基于上述查询执行信息,对上述实时数据表进行查询,得到针对上述跨表关联字段的监控结果。
针对实时数据表进行查询得到的结果写入至预先构建的监控结果存储表中。
例如,监控结果存储表为dqc_dbsource-mysql-1_oracle-2_products_sale_make,这个表默认的字段有id,date_tx(表示数据日期),其余字段和用户配置的监控规则一致。
在包含上述步骤S210~S230的实施例中,通过针对异构源数据中待监控的数据表对象生成对应的实时数据表,该实时数据表的数据与数据表对象中的数据相同且跟随数据表对象中的数据变动,实现对异构源数据的数据变动的实时监控,同时能够支持针对上述跨表关联字段的监控规则的配置,利用生成的用于执行上述监控规则的查询执行信息来对实时数据表进行查询,能够满足对异构源数据中跨表关联字段的质量校验需求,且在源数据产生的阶段、在进入数据仓库之前就能够及时通过质量校验发现异构源数据中存在问题的关联字段,为后续进行问题处理提供足够的时间,相较于在源数据进入数据仓库后再进行质量校验而言,对数据质量进行校验的时机提前,使得发现问题的时机也提前,从而能够为处理问题预留出更多的时间,对于后续任务的滞后影响相对较小甚至可以通过提前处理而避免对后续任务的影响;同时还能够对异构源数据进行跨表关联字段的数据质量检测,包括对相同种类的多个源数据或不同种类的多个源数据进行关联检测,从源头上能够有效检测数据质量并为后续处理预留充足的时间,有助于提升大数据平台的运行效率。
根据本公开的实施例,数据质量监控的方法除了包括上述步骤S210~S230之外,还可以包括以下步骤:
将上述监控结果存储至预先构建的监控结果存储表中;
根据预先配置的异常触发条件,确定上述监控结果存储表的监控结果中是否存在异常;
在监控结果存在异常的情况下,基于预先配置的处理策略进行处理。
上述异常触发条件可以是某些监测结果达到设定阈值。针对监控结果的检测周期可以是预先配置的,定期检测监控结果存储表中的监控结果是否存在异常。
上述处理策略例如为对相关人员进行告警提示、对异常结果对应的当前任务进行熔断、并对相关任务发出异常通知等。
本实施例中,由于对异构源数据进行数据动态同步并基于预先配置的监控规则针对跨表关联字段进行监控,能够及时发现监控结果中的异常并及时进行处理,有效提升对源数据的质量管控效果并节约异常、缺失数据等进入数据仓库导致的存储空间浪费;也能避免由于源数据中的问题数据未被发现或剔除导致的后续出现问题后再进行解决而导致的时间成本和大数据处理任务的延误。
基于相同的技术构思,本公开的第二个示例性实施例提供了一种数据质量监控的方法。本实施例的方法可以由图1B示例的系统架构100b中的质量监控服务端121执行。本实施例的描述过程可以结合第三个实施例进行交互过程的理解。本实施例与第一个实施例相比,区别之处在于第一个实施例执行的步骤S220和S230是由本实施例的质量监控服务端121和第三个实施例的实时计算服务端122协同完成的,质量监控服务端121作为监控管理端,用于控制实时计算服务端122执行监控过程。本实施例对应的架构相较于第一个实施例的架构而言,通过设置质量监控服务端121和实时计算服务端122为分立的两个服务端,实时计算服务端作为一个外部服务可以被质量监控服务端进行调用,部署更为灵活且对质量监控服务端本身所需的功能要求较低,本实施例的架构中,质量监控服务端自身可以不具有从源数据对应的数据库进行数据库同步(例如为Flink CDC)监测的功能,只要支持和对应具有数据库同步监测功能的服务或功能模块能够通信并调用相关服务或功能即可。
图4示意性地示出了根据本公开另一实施例的数据质量监控的方法的流程图。图5示意性地示出了根据本公开实施例的质量监控服务端和实时计算服务端实施数据质量监控的方法的交互过程示意图。参照图5中右半部分框所示,示意了质量监控服务端与前端的终端设备之间进行交互的过程,参照图5中左半部分和右半部分框所示,示意了实时计算服务端与质量监控服务端进行交互的过程。在图5中为了简化表述,将实时数据表简化描述为实时表,将异构源数据中待监控的数据表对象简化描述为源表。
参照图4所示,本公开实施例提供的数据质量监控的方法,包括以下步骤:S410、S420和S430。
在步骤S410,获取针对异构源数据的监控配置信息;上述异构源数据包括至少两种不同的源数据;上述监控配置信息包括:上述异构源数据中待监控的数据表对象、针对上述数据表对象配置的跨表关联字段和针对上述跨表关联字段配置的监控规则。
在一些实施场景中,参照图1B和图5所示,可以是用户在终端设备110上进行监控配置信息的设置,终端设备将监控配置信息发送给质量监控服务端121,质量监控服务端121针对上述监控配置信息进行存储或缓存,并在定期执行数据质量监控的过程中获取上述监控配置信息。例如,参照图5所示,用户可以在终端设备上配置多个异构数据源作为监控数据源,参照图5中序号(1)的过程所示,并针对异构数据源选择需要进行监控的数据表对象、针对数据表对象配置跨表关联字段、针对跨表关联字段配置监控规则(图5未示意),通过前后端交互,会在质量监控服务端121内存储配置的数据表对象、配置的跨表关联字段和配置的监控规则等,参照图5中(2)~(4)示意的过程。
步骤S410的具体内容可以参照第一个实施例中关于步骤S210的介绍,这里不再赘述。
在步骤S420,根据上述监控配置信息,生成用于指示实时计算服务端执行的监控执行信息;上述监控执行信息包括:用于创建与上述监控源数据对象对应的实时数据表的创建信息、和用于执行上述监控规则的查询执行信息。
参照图5中(6)示意的过程,基于配置的跨表关联字段和监控规则,根据跨表的查询语法信息选择采用join字段和对应的查询规则构建查询执行信息flink sql。
根据本公开的实施例,上述步骤S420中,根据上述监控配置信息,生成用于指示实时计算服务端执行的监控执行信息,包括:
根据上述数据表对象的对接信息,生成用于创建实时数据表的创建信息,上述实时数据表为上述数据表对象的影子表且跟随上述数据表对象的数据变动;
根据上述监控规则和上述异构源数据的类型,生成针对上述跨表关联字段的查询执行信息。
上述创建信息包含有用于指示实时计算服务端122进行实时数据表创建的相关信息,诸如包括:实时数据表的名称、类型、数据来源信息等,数据来源信息根据上述对接信息得到,包含数据表对象的对象标识、位置信息和数据访问信息等;或者包含数据表对象的数据接口信息和数据访问信息等。生成查询执行信息的具体过程可以参照第一个实施例中关于步骤S320的具体实施过程,这里不再赘述。
在一些实施例中,可以基于Flink CDC技术实现创建实时数据表的功能。例如,数据表对象dbsource-mysql-1.product_sale对应的实时数据表的创建信息为以下形式:
CREATETABLE product_sale(
idINT,
nameSTRING,
descriptionSTRING,
price int
PRIMARYKEY(id)NOTENFORCED
)WITH(
'connector'='mysql-cdc',
'hostname'=’dbsource-mysql-1.url’,
'port'=‘dbsource-mysql-1.port’,
'username'=‘dbsource-mysql-1.user’,
'password'=‘dbsource-mysql-1.pwd’,
'database-name'='dbsource-mysql-1.db',
'table-name'='product_sale'
)
数据表对象dbsource-oracle-2.product_make对应的实时数据表的创建信息为以下形式:
在步骤S430,基于上述监控执行信息,向实时计算服务端发起监控执行请求。
结合图1B和图5所示,质量监控服务端121向实时计算服务端122发起监控执行请求。
在步骤S440,接收上述实时计算服务端反馈的针对上述跨表关联字段的监控结果。
参照图1B和图5中虚线箭头所示,上述质量监控服务端121预先构建有监控结果存储表,例如参照图5中序号(5)示意的过程,根据配置的监控规则在MySQL中创建记录规则结果的表,即为监控结果存储表;在图5示意的实时计算服务端122中将该监控结果存储表描述为目标表。上述质量监控服务端为上述实时计算服务端预先配置有针对上述监控结果存储表的写入权限;接收上述实时计算服务端反馈的针对上述跨表关联字段的监控结果,包括:在上述监控结果存储表中接收上述实时计算服务端写入的监控结果。
这一设置便于进行数据高效传输和读写,节省了监控结果从实时计算服务端122传输至质量监控服务端121、再由质量监控服务端121写入至监控结果存储表的传输中转时间。
在包含步骤S410~S440的实施例中,通过针对异构源数据中待监控的数据表对象生成用于创建实时数据表的创建信息,用于指示实时计算服务端执行实时数据表的创建任务,该实时数据表的数据与数据表对象中的数据相同且跟随数据表对象中的数据变动,实现对异构源数据的数据变动的实时监控,同时能够支持针对上述跨表关联字段的监控规则的配置,利用生成的用于执行上述监控规则的查询执行信息,控制实时计算服务端执行对实时数据表进行查询的任务,能够满足对异构源数据中跨表关联字段的质量校验需求,且在源数据产生的阶段、在进入数据仓库之前就能够及时通过质量校验发现异构源数据中存在问题的关联字段,为后续进行问题处理提供足够的时间,相较于在源数据进入数据仓库后再进行质量校验而言,对数据质量进行校验的时机提前,使得发现问题的时机也提前,从而能够为处理问题预留出更多的时间,对于后续任务的滞后影响相对较小甚至可以通过提前处理而避免对后续任务的影响;同时还能够对异构源数据进行跨表关联字段的数据质量检测,包括对相同种类的多个源数据或不同种类的多个源数据进行关联检测,从源头上能够有效检测数据质量并为后续处理预留充足的时间,有助于提升大数据平台的运行效率。
在一些实施例中,上述方法除了包括步骤S410~S440之外,还可以包括以下步骤:
将上述监控结果存储至预先构建的监控结果存储表中;
根据预先配置的异常触发条件,确定上述监控结果存储表的监控结果中是否存在异常;
在监控结果存在异常的情况下,基于预先配置的处理策略进行处理。
上述异常触发条件可以是某些监测结果达到设定阈值。针对监控结果的检测周期可以是预先配置的,定期检测监控结果存储表中的监控结果是否存在异常。例如参照图5中(7)示意的过程,用户可以在终端设备上配置检测周期,用于指定对监控结果进行检测的时机。
上述处理策略例如为对相关人员进行告警提示、对异常结果对应的当前任务进行熔断、并对相关任务发出异常通知等。例如参照图5中(8)和(11)的过程,用户在终端设备上配置用于提示的告警人,在质量监控服务端121定期读取监控结果(图5中描述为规则结果)并确定是否存在触发告警阈值的监控结果,触发告警阈值则视为存在异常,向预先配置的告警人进行告警提示。参照图5中(9)和(10)的过程,用户在终端设备上配置某种监控结果异常的情况下需要进行熔断的熔断任务和需要通知的相关任务。在质量监控服务端121检测到监控结果存在异常时对熔断任务进行熔断处理,对相关任务进行异常通知。
本实施例中,由于对异构源数据进行数据动态同步并基于预先配置的监控规则针对跨表关联字段进行监控,能够及时发现监控结果中的异常并及时进行处理,有效提升对源数据的质量管控效果并节约异常、缺失数据等进入数据仓库导致的存储空间浪费;也能避免由于源数据中的问题数据未被发现或剔除导致的后续出现问题后再进行解决而导致的时间成本和大数据处理任务的延误。
基于相同的构思,本公开的第三个示例性实施例提供了一种数据质量监控的方法。本实施例的方法可以应用于图1B示例的系统架构100b中的实时计算服务端122。
图6示意性地示出了根据本公开又一实施例的数据质量监控的方法的流程图。
参照图6所示,本公开实施例提供的数据质量监控的方法,包括以下步骤:S610、S620、S630和S640。
在步骤S610,接收质量监控服务端发送的监控执行请求,上述监控执行请求携带有监控执行信息;上述监控执行信息包括:用于创建与监控源数据对象对应的实时数据表的创建信息、和用于执行监控规则的查询执行信息。
在一些实施场景中,结合图1B和图5所示,实时计算服务端122接收质量监控服务端121发送的监控执行请求,该监控执行请求携带有:创建信息和查询执行信息(在图5中示意为flink sql)。
在步骤S620,根据上述创建信息,创建实时数据表,上述实时数据表为上述数据表对象的影子表且跟随上述数据表对象的数据变动。
参照图5所示,实时计算服务端122创建多个异构源表对应的实时表。
在步骤S630,基于上述查询执行信息,对上述实时数据表进行查询,得到针对上述跨表关联字段的监控结果。
参照图5所示,实时计算服务端122对创建的实时表执行flinksql查询操作并将得到的监控结果插入或者更新到目标表中。
在步骤S640,将上述监控结果反馈给上述质量监控服务端。
参照图5所示,在一些实施例中,上述质量监控服务端121预先构建有监控结果存储表,在图5示意的质量监控服务端121中描述为记录规则结果(即为监控规则对应的监控结果)的表,在图5示意的实时计算服务端122中描述为目标表,实时计算服务端122通过创建目标表的连接信息,在得到监控结果后通过上述连接信息将实时将监控结果写入至目标表中,实现将监控结果反馈给质量监控服务端。
在包含步骤S610~S640的实施例中,响应于质量监控服务端的监控执行请求,实时计算服务端能够针对异构源数据中待监控的数据表对象创建对应的实时数据表,该实时数据表的数据与数据表对象中的数据相同且跟随数据表对象中的数据变动,实现对异构源数据的数据变动的实时监控,同时根据查询执行信息执行对实时数据表进行查询的任务,能够满足对异构源数据中跨表关联字段的质量校验需求,且在源数据产生的阶段、在进入数据仓库之前就能够及时通过质量校验发现异构源数据中存在问题的关联字段,为后续进行问题处理提供足够的时间,相较于在源数据进入数据仓库后再进行质量校验而言,对数据质量进行校验的时机提前,使得发现问题的时机也提前,从而能够为处理问题预留出更多的时间,对于后续任务的滞后影响相对较小甚至可以通过提前处理而避免对后续任务的影响;同时还能够对异构源数据进行跨表关联字段的数据质量检测,包括对相同种类的多个源数据或不同种类的多个源数据进行关联检测,从源头上能够有效检测数据质量并为后续处理预留充足的时间,有助于提升大数据平台的运行效率。
本公开的第四个示例性实施例提供了一种数据质量监控的装置。
图7示意性地示出了根据本公开一实施例的数据质量监控的装置的结构框图。
参照图7所示,本公开实施例提供的数据质量监控的装置700包括:第一配置信息获取模块701、实时监控和计算模块702以及第一执行模块703。在一些实施例中,该装置700可以是图1A示例的系统架构100a中的服务端120。
上述第一配置信息获取模块701用于获取针对异构源数据的监控配置信息;上述异构源数据包括至少两种不同的源数据;上述监控配置信息包括:上述异构源数据中待监控的数据表对象、针对上述数据表对象配置的跨表关联字段和针对上述跨表关联字段配置的监控规则。
上述实时监控和计算模块702用于根据上述监控配置信息,生成与上述数据表对象对应的实时数据表,并生成用于执行上述监控规则的查询执行信息。
上述第一执行模块703用于基于上述查询执行信息,对上述实时数据表进行查询,得到针对上述跨表关联字段的监控结果。
根据本公开的实施例,上述装置700还包括:结果存储模块、异常监控模块和异常处理模块。
上述结果存储模块,用于将上述监控结果存储至预先构建的监控结果存储表中。
上述异常监控模块,用于根据预先配置的异常触发条件,确定上述监控结果存储表的监控结果中是否存在异常。
上述异常处理模块,用于在监控结果存在异常的情况下,基于预先配置的处理策略进行处理。
本实施例的其他细节、更多的实施例和有益效果等可以参照第一个实施例的描述,这里不再赘述。
本公开的第五个示例性实施例提供了一种数据质量监控的装置。
图8示意性地示出了根据本公开另一实施例的数据质量监控的装置的结构框图。
参照图8所示,本实施例提供的数据质量监控的装置800与实时计算服务端通信连接,上述装置800包括:第二配置信息获取模块801、信息生成模块802、监控指示模块803和结果接收模块804。在一些实施例中,该装置800可以是图1B示例的系统架构100b中的质量监控服务端。
上述第二配置信息获取模块801用于获取针对异构源数据的监控配置信息;上述异构源数据包括至少两种不同的源数据;上述监控配置信息包括:上述异构源数据中待监控的数据表对象、针对上述数据表对象配置的跨表关联字段和针对上述跨表关联字段配置的监控规则。
上述信息生成模块802用于根据上述监控配置信息,生成用于指示实时计算服务端执行的监控执行信息;上述监控执行信息包括:用于创建与上述监控源数据对象对应的实时数据表的创建信息、和用于执行上述监控规则的查询执行信息。
上述监控指示模块803用于基于上述监控执行信息,向实时计算服务端发起监控执行请求。
上述结果接收模块804用于接收上述实时计算服务端反馈的针对上述跨表关联字段的监控结果。
本实施例的其他细节、更多的实施例和有益效果等可以参照第二个实施例的描述,这里不再赘述。
本公开的第六个示例性实施例提供了一种数据质量监控的装置。
图9示意性地示出了根据本公开又一实施例的数据质量监控的装置的结构框图。
参照图9所示,本公开实施例提供的数据质量监控的装置900包括:监控执行请求接收模块901、影子表创建模块902、第二执行模块903和结果反馈模块904。在一些实施例中,该装置900可以是图1B示例的系统架构100b中的实时计算服务端。
上述监控执行请求接收模块901用于接收质量监控服务端发送的监控执行请求,上述监控执行请求携带有监控执行信息;上述监控执行信息包括:用于创建与监控源数据对象对应的实时数据表的创建信息、和用于执行监控规则的查询执行信息。
上述影子表创建模块902用于根据上述创建信息,创建实时数据表,上述实时数据表为上述数据表对象的影子表且跟随上述数据表对象的数据变动。
上述第二执行模块903用于基于上述查询执行信息,对上述实时数据表进行查询,得到针对上述跨表关联字段的监控结果。
上述结果反馈模块904用于将上述监控结果反馈给上述质量监控服务端。
本实施例的其他细节、更多的实施例和有益效果等可以参照第三个实施例的描述,这里不再赘述。
上述装置700、装置800或装置900所包含的功能模块中的任意多个可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。装置700、装置800或装置900所包含的功能模块中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,装置700、装置800或装置900所包含的功能模块中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
下面参照图10A和图10B的对比情况来更加直观地呈现上述各个实施例提供的数据质量监控的方法和装置相较于相关技术的优势。
图10A示意性地示出了相关技术中将异构源数据进行入仓后校验质量的过程和耗时示意图。图10B示意性地示出了应用本公开实施例的数据质量监控方法对异构源数据进行数据质量监控后的过程和耗时示意图。
参照图10A所示,相关技术中的大数据质量检查机制,大都是对数据加工链路中的结果:存储在hive表中的数据,使用已经配置的规则列表形成的sql使用离线计算引擎如spark或者presto进行质量校验,如果校验的结果触发了配置的告警阈值,则针对该表的负责人进行告警或者针对生产该表的计算任务进行熔断,达到阻断生产链路,避免问题数据污染扩散,减少对生产、商业交易造成严重损失的目的,同时生成数据质量报告用于分析修复。例如在图10A中示意了两个数据生产系统A和B基于离线引擎,在每天凌晨0:00执行数据入仓任务,针对数据生产系统A对应的数据入仓任务TA需要耗时1个小时,在1:00完成;针对数据生产系统B对应的数据入仓任务TB需要耗时半小时,在0:30完成;针对入仓后的数据进行加工的时间均为10分钟,例如针对数据生产系统A进行加工后,在1:10完成;针对数据生产系统B进行加工后,在0:40完成;多张表的加工任务C也需要耗费10分钟,需要等待数据加工任务WA和WB都完成后,即从1:10分开始执行加工任务C,完成时间为1:20。
针对上述场景,相关技术中是在数据入仓之后执行数据质量检查,如果数据生产系统A某天的生产数据,某个字段的空值个数超过了一半会造成严重的生产事故,但是传统的数据质量检查模式,最早在入仓任务A执行完成之后进行检查,假如A的入仓任务执行1个小时,当知道数据质量有问题的最早时间在凌晨的1点钟。类似的,针对多张表关联检查的加工任务C而言,任务检测的质量是前面数据抓取过程中没有检测的指标或者不关联表无法检测的指标,使用传统的数据质量检查机制,只有到了凌晨1点20分才能检查到问题。
对比图10B和图10A所示,通过应用本公开实施例提供的数据质量监控的方法,在正式入数仓之前就可以发现问题,把问题数据拦截在数据源头上。与相关技术中数据入仓后进行数据质量检查的模式相比,本公开实施例提供的方案对应为CDC模式的数据质量检测,通过在数据生产系统生产数据的过程中检查源数据是否异常并对异常进行处理;如果前一天20点检查(check)到数据生产系统A生成的源数据的某个字段空值个数已经超过了一半,那么在20点就可以通知与该数据质量相关的所有任务;而不用等到凌晨把有质量的数据入到仓库中,减少了有问题数据入库导致的入库资源占用和对存储空间的浪费。
另外,通过对异构源数据进行实时监控,提供周期性告警功能,如果源数据有质量问题或者数据源链接有问题,可以把发现问题的时机提前,以争取更多恢复数据或者数据源的时间,以及后续依赖该数据的任务做好备案的时间,最大限度的减少对生产和商业交易等业务的影响。参照图10B所示,如果前一天20点就检查到了数据生产系统A的数据有质量问题,对比同场景下的传统质量检查模式,如图10A所示,即使是对最早执行的入仓任务也是提前了4个小时发现问题。而针对依赖这份数据进行商业决策的任务来说,针对多张表加工任务C,即使该任务关注的数据质量指标是ETL过程中没有检查过的指标,任务发现问题的时机整整提前了5个半小时,这样一方面为修复数据争取了更多的时间,另一方面能更早的让依赖这份数据进行商业决策的业务方做好预案已减少损失。
此外,本公开实施例提供的方案实现跨源数据之间的数据关联检测数据质量,包括同种类的源数据和不同种类的源数据。针对多张表加工任务C,如果必须依赖数据生产系统A和数据生产系统B的数据进行关联后的数据治理,使用CDC模式跨数据源质量检测的功能后,依然可以在数据生产系统A和B生产数据的过程中进行检查,同样如果该质量问题在前一天20点检查到,对比同场景下的图10A中的质量检查模式,发现问题的时间整整提前了5个半小时。
本公开的第七个示例性实施例提供了一种电子设备。
图11示意性地示出了本公开实施例提供的电子设备的结构框图。
参照图11所示,本公开实施例提供的电子设备1100包括处理器1101、通信接口1102、存储器1103和通信总线1104,其中,处理器1101、通信接口1102和存储器1103通过通信总线1104完成相互间的通信;存储器1103,用于存放计算机程序;处理器1101,用于执行存储器上所存放的程序时,实现如上所述的数据质量监控的方法。
本公开的第八个示例性实施例还提供了一种计算机可读存储介质。上述计算机可读存储介质上存储有计算机程序,上述计算机程序被处理器执行时实现上述数据质量监控的方法。
该计算机可读存储介质可以是上述实施例中描述的设备/装置中所包含的;也可以是单独存在,而未装配入该设备/装置中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的方法。
根据本公开的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质,例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
需要说明的是,本公开实施例提供的技术方案中,所涉及的用户个人信息的采集、收集、更新、分析、处理、使用、传输、存储等方面,均符合相关法律法规的规定,被用于合法的用途,且不违背公序良俗。对用户个人信息采取必要措施,防止对用户个人信息数据的非法访问,维护用户个人信息安全、网络安全和国家安全。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本公开的具体实施方式,使本领域技术人员能够理解或实现本公开。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本公开的精神或范围的情况下,在其它实施例中实现。因此,本公开将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。

Claims (14)

1.一种数据质量监控的方法,其特征在于,包括:
获取针对异构源数据的监控配置信息;所述异构源数据包括至少两种不同的源数据;所述监控配置信息包括:所述异构源数据中待监控的数据表对象、针对所述数据表对象配置的跨表关联字段和针对所述跨表关联字段配置的监控规则;
根据所述监控配置信息,生成与所述数据表对象对应的实时数据表,并生成用于执行所述监控规则的查询执行信息;
基于所述查询执行信息,对所述实时数据表进行查询,得到针对所述跨表关联字段的监控结果。
2.根据权利要求1所述的方法,其特征在于,根据所述监控配置信息,生成与所述数据表对象对应的实时数据表,并生成用于执行所述监控规则的查询执行信息,包括:
根据所述数据表对象的对接信息,生成实时数据表,所述实时数据表为所述数据表对象的影子表且跟随所述数据表对象的数据变动;
根据所述监控规则和所述异构源数据的类型,生成针对所述跨表关联字段的查询执行信息。
3.根据权利要求2所述的方法,其特征在于,
所述对接信息包括:所述数据表对象的对象标识、位置信息和数据访问信息;
其中,根据所述数据表对象的对接信息,生成实时数据表,包括:根据所述位置信息和所述对象标识,构建实时数据表的数据接口,所述数据接口用于指向所述数据表对象的源数据并能抓取所述数据表对象的数据至所述实时数据表;根据所述数据访问信息,从所述源数据中获取所述数据表对象的数据更新状态;根据所述数据更新状态,更新所述实时数据表中的数据;
或者,所述对接信息包括:所述数据表对象的数据接口信息和数据访问信息;
其中,根据所述数据表对象的对接信息,生成实时数据表,包括:根据所述数据接口信息,构建用于访问所述数据表对象的数据接口;基于所述数据接口,将所述数据表对象的数据对接至实时数据表;根据所述数据访问信息,从所述源数据中获取所述数据表对象的数据更新状态;根据所述数据更新状态,更新所述实时数据表中的数据。
4.根据权利要求2所述的方法,其特征在于,根据所述监控规则和所述异构源数据的类型,生成针对所述跨表关联字段的查询执行信息,包括:
获取跨表关联字段所对应的至少一种目标源数据;
确定与所述目标源数据的类型匹配的查询语法信息;
根据所述查询语法信息,构建与所述跨表关联字段的监控规则对应的查询执行信息。
5.根据权利要求1所述的方法,其特征在于,还包括:
将所述监控结果存储至预先构建的监控结果存储表中;
根据预先配置的异常触发条件,确定所述监控结果存储表的监控结果中是否存在异常;
在监控结果存在异常的情况下,基于预先配置的处理策略进行处理。
6.一种数据质量监控的方法,其特征在于,应用于质量监控服务端,所述方法包括:
获取针对异构源数据的监控配置信息;所述异构源数据包括至少两种不同的源数据;所述监控配置信息包括:所述异构源数据中待监控的数据表对象、针对所述数据表对象配置的跨表关联字段和针对所述跨表关联字段配置的监控规则;
根据所述监控配置信息,生成用于指示实时计算服务端执行的监控执行信息;所述监控执行信息包括:用于创建与所述监控源数据对象对应的实时数据表的创建信息、和用于执行所述监控规则的查询执行信息;
基于所述监控执行信息,向实时计算服务端发起监控执行请求;
接收所述实时计算服务端反馈的针对所述跨表关联字段的监控结果。
7.根据权利要求6所述的方法,其特征在于,根据所述监控配置信息,生成用于指示实时计算服务端执行的监控执行信息,包括:
根据所述数据表对象的对接信息,生成用于创建实时数据表的创建信息,所述实时数据表为所述数据表对象的影子表且跟随所述数据表对象的数据变动;
根据所述监控规则和所述异构源数据的类型,生成针对所述跨表关联字段的查询执行信息。
8.根据权利要求6所述的方法,其特征在于,
所述质量监控服务端预先构建有监控结果存储表,所述质量监控服务端为所述实时计算服务端预先配置有针对所述监控结果存储表的写入权限;
接收所述实时计算服务端反馈的针对所述跨表关联字段的监控结果,包括:在所述监控结果存储表中接收所述实时计算服务端写入的监控结果。
9.一种数据质量监控的方法,其特征在于,应用于实时计算服务端,所述方法包括:
接收质量监控服务端发送的监控执行请求,所述监控执行请求携带有监控执行信息;所述监控执行信息包括:用于创建与监控源数据对象对应的实时数据表的创建信息、和用于执行监控规则的查询执行信息;
根据所述创建信息,创建实时数据表,所述实时数据表为所述数据表对象的影子表且跟随所述数据表对象的数据变动;
基于所述查询执行信息,对所述实时数据表进行查询,得到针对所述跨表关联字段的监控结果;
将所述监控结果反馈给所述质量监控服务端。
10.一种数据质量监控的装置,其特征在于,包括:
第一配置信息获取模块,用于获取针对异构源数据的监控配置信息;所述异构源数据包括至少两种不同的源数据;所述监控配置信息包括:所述异构源数据中待监控的数据表对象、针对所述数据表对象配置的跨表关联字段和针对所述跨表关联字段配置的监控规则;
实时监控和计算模块,用于根据所述监控配置信息,生成与所述数据表对象对应的实时数据表,并生成用于执行所述监控规则的查询执行信息;
第一执行模块,用于基于所述查询执行信息,对所述实时数据表进行查询,得到针对所述跨表关联字段的监控结果。
11.一种数据质量监控的装置,其特征在于,所述装置与实时计算服务端通信连接,所述装置包括:
第二配置信息获取模块,用于获取针对异构源数据的监控配置信息;所述异构源数据包括至少两种不同的源数据;所述监控配置信息包括:所述异构源数据中待监控的数据表对象、针对所述数据表对象配置的跨表关联字段和针对所述跨表关联字段配置的监控规则;
信息生成模块,用于根据所述监控配置信息,生成用于指示实时计算服务端执行的监控执行信息;所述监控执行信息包括:用于创建与所述监控源数据对象对应的实时数据表的创建信息、和用于执行所述监控规则的查询执行信息;
监控指示模块,用于基于所述监控执行信息,向实时计算服务端发起监控执行请求;
结果接收模块,用于接收所述实时计算服务端反馈的针对所述跨表关联字段的监控结果。
12.一种数据质量监控的装置,其特征在于,包括:
监控执行请求接收模块,用于接收质量监控服务端发送的监控执行请求,所述监控执行请求携带有监控执行信息;所述监控执行信息包括:用于创建与监控源数据对象对应的实时数据表的创建信息、和用于执行监控规则的查询执行信息;
影子表创建模块,用于根据所述创建信息,创建实时数据表,所述实时数据表为所述数据表对象的影子表且跟随所述数据表对象的数据变动;
第二执行模块,用于基于所述查询执行信息,对所述实时数据表进行查询,得到针对所述跨表关联字段的监控结果;
结果反馈模块,用于将所述监控结果反馈给所述质量监控服务端。
13.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器、通信接口和存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1-9中任一项所述的方法。
14.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-9中任一项所述的方法。
CN202310946804.XA 2023-07-28 2023-07-28 数据质量监控的方法、装置、电子设备及介质 Pending CN116860740A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310946804.XA CN116860740A (zh) 2023-07-28 2023-07-28 数据质量监控的方法、装置、电子设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310946804.XA CN116860740A (zh) 2023-07-28 2023-07-28 数据质量监控的方法、装置、电子设备及介质

Publications (1)

Publication Number Publication Date
CN116860740A true CN116860740A (zh) 2023-10-10

Family

ID=88226952

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310946804.XA Pending CN116860740A (zh) 2023-07-28 2023-07-28 数据质量监控的方法、装置、电子设备及介质

Country Status (1)

Country Link
CN (1) CN116860740A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117591508A (zh) * 2024-01-19 2024-02-23 云筑信息科技(成都)有限公司 一种大数据场景下的数据质量保障方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117591508A (zh) * 2024-01-19 2024-02-23 云筑信息科技(成都)有限公司 一种大数据场景下的数据质量保障方法

Similar Documents

Publication Publication Date Title
US8938421B2 (en) Method and a system for synchronizing data
CN110765091A (zh) 对账方法和系统
CN105556552A (zh) 欺诈探测和分析
CN114925045B (zh) 大数据集成和管理的PaaS平台
CN103514223A (zh) 一种数据仓库数据同步方法和系统
CN116860740A (zh) 数据质量监控的方法、装置、电子设备及介质
CN111352759A (zh) 一种告警根因的判定方法及装置
CN112819631B (zh) 业务数据处理方法、装置、计算机设备和存储介质
CN113791586A (zh) 一种新型的工业app与标识注册解析集成方法
US20180240053A1 (en) System and Method for Associating a Multi-segment Component Transaction
CN113935487A (zh) 可视化卫星故障诊断知识的生成方法、装置及系统
CA2855354C (en) Correlation of maximum configuration data sets
CN113986852A (zh) 驾驶程序标定参数匹配方法、装置、电子设备及存储介质
US10223716B2 (en) Systems and methods for monitoring and valuating transactions for document processes
CN113568892A (zh) 一种基于内存计算对数据源进行数据查询的方法和设备
CN112256489A (zh) 云端开发平台的数据获取方法和装置、数据存储架构
CN112801623A (zh) 一种专利流程管理的系统和方法
CN111562937A (zh) 一种代码方法级缺陷预警方法
CN116882931B (zh) 一种进销存管理系统及其数据处理方法
CN114442947B (zh) 跨域桶删除方法、系统、终端及存储介质
CN112434917B (zh) 一种面向服务的孪生制造车间系统重构方法
EP4109366A1 (en) Method and device for managing project by using data merging
CN117014392A (zh) 一种用于动力电池生产线的多源异构设备接入方法
CN118051536A (zh) 一种多源跨源的数据查询方法、装置、设备及存储介质
CN117575513A (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