CN117632930A - 分布式数据质量检核方法及装置 - Google Patents
分布式数据质量检核方法及装置 Download PDFInfo
- Publication number
- CN117632930A CN117632930A CN202311605633.0A CN202311605633A CN117632930A CN 117632930 A CN117632930 A CN 117632930A CN 202311605633 A CN202311605633 A CN 202311605633A CN 117632930 A CN117632930 A CN 117632930A
- Authority
- CN
- China
- Prior art keywords
- checking
- data quality
- check
- upstream
- data
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 48
- 238000011144 upstream manufacturing Methods 0.000 claims abstract description 150
- 238000013507 mapping Methods 0.000 claims abstract description 28
- 238000005516 engineering process Methods 0.000 claims abstract description 7
- 238000007689 inspection Methods 0.000 claims description 35
- 238000004590 computer program Methods 0.000 claims description 25
- 238000012544 monitoring process Methods 0.000 claims description 5
- 230000000977 initiatory effect Effects 0.000 claims description 4
- 238000007726 management method Methods 0.000 description 24
- 238000012545 processing Methods 0.000 description 22
- 238000010586 diagram Methods 0.000 description 13
- 230000008859 change Effects 0.000 description 8
- 230000006870 function Effects 0.000 description 8
- 238000001514 detection method Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000002159 abnormal effect Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 238000012423 maintenance Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000009434 installation Methods 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 238000003908 quality control method Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 238000009472 formulation Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/215—Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Bioethics (AREA)
- Quality & Reliability (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种分布式数据质量检核方法及装置,可用于金融科技领域,该方法包括:接收各上游***的数据质量信息,建立检核参数库,建立各检核参数表与各上游***的映射关系;对各检核参数表中的检核参数进行加密,根据各检核参数表与各上游***的映射关系,将加密后的检核参数推送至对应的上游***;根据各检核参数表与各上游***的映射关系和数据质量信息,生成各上游***的检核任务;根据各上游***的检核任务,向对应的上游***发送检核指令,供上游***接收检核指令后,根据对应检核参数完成数据质量检核。本发明可以降低数据质量检核成本,提升数据质量检核的效率和准确性。
Description
技术领域
本发明涉及金融科技领域,尤其涉及分布式数据质量检核方法及装置。
背景技术
本部分旨在为本发明实施例提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
随着商业银行业务的深入开展,数据中心后台处理数据的应用***也相应增加。目前大型商业银行数据中心每日的批处理作业数量一般达到100万+、涉及***数量达到500+。在新的业务背景下,应用之间的数据关联关系越发复杂,业务指标往往需要经过多层的批量作业与数据依赖最终加工生成。以EAST报送业务为例,复杂的单场景数据链路一般需要经过50层级以上、数千个批量作业及数据文件加工形成。EAST监管报送涉及报送指标5千余个、指标依赖上游***300余个、业务部门30余个,数据加工环节复杂。传统数据质量检核方法,在处理海量的数据检核时存在明显的不足。
发明内容
本发明实施例提供一种分布式数据质量检核方法,用以降低数据质量检核成本,提升数据质量检核的效率和准确性,该方法包括:
接收各上游***的数据质量信息,根据数据质量信息,建立检核参数库,所述检核参数库包含一个或多个检核参数表,建立各检核参数表与各上游***的映射关系;
对各检核参数表中的检核参数进行加密,根据各检核参数表与各上游***的映射关系,将加密后的检核参数推送至对应的上游***;
根据各检核参数表与各上游***的映射关系和数据质量信息,制定各上游***的检核任务;
在各上游***对加密后的检核参数进行解密后,根据各上游***的检核任务,向对应的上游***发送检核指令,所述上游***用于接收检核指令后,根据对应检核参数完成数据质量检核。
本发明实施例还提供一种分布式数据质量检核装置,用以降低数据质量检核成本,提升数据质量检核的效率和准确性,该装置包括:
参数建立模块,用于接收各上游***的数据质量信息,根据数据质量信息,建立检核参数库,所述检核参数库包含一个或多个检核参数表,建立各检核参数表与各上游***的映射关系;
加密推送模块,用于对各检核参数表中的检核参数进行加密,根据各检核参数表与各上游***的映射关系,将加密后的检核参数推送至对应的上游***;
任务制定模块,用于根据各检核参数表与各上游***的映射关系和数据质量信息,制定各上游***的检核任务;
检核模块,用于在各上游***对加密后的检核参数进行解密后,根据各上游***的检核任务,向对应的上游***发送检核指令,所述上游***用于接收检核指令后,根据对应检核参数完成数据质量检核。
本发明实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述分布式数据质量检核方法。
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述分布式数据质量检核方法。
本发明实施例还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现上述分布式数据质量检核方法。
本发明实施例中,接收各上游***的数据质量信息,根据数据质量信息,建立检核参数库,所述检核参数库包含一个或多个检核参数表,建立各检核参数表与各上游***的映射关系;对各检核参数表中的检核参数进行加密,根据各检核参数表与各上游***的映射关系,将加密后的检核参数推送至对应的上游***;根据各检核参数表与各上游***的映射关系和数据质量信息,生成各上游***的检核任务;在各上游***对加密后的检核参数进行解密后,根据各上游***的检核任务,向对应的上游***发送检核指令,供上游***接收检核指令后,根据对应检核参数完成数据质量检核。这样,将需要集中检核端完成的数据质量检核工作调整为由各个上游***进行分布式执行,及时识别出上游库表变化引起的数据质量检核参数失真场景,将数据质量检核任务以分布式方式交由上游***执行,可以有效减少集中检核端任务出错的影响,同时大大了降低集中检核带来的网络、存储、计算等资源消耗,满足实时类的数据质量检核需求,进一步保证数据质量检核参数的准确性,也减少了上游表结构变化引发的数据质量误检测风险,提升了数据质量的检核效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1为本发明实施例中提供的分布式数据质量方法的流程图;
图2为本发明实施例中提供的数据质量规则管控模块的示例图;
图3为本发明实施例中提供的数据质量规则下发模块的示例图;
图4为本发明实施例中提供的数据质量分布式检核执行模块的示例图;
图5为本发明实施例中提供的数据质量分布式检核结果同步模块的示例图;
图6为本发明实施例中提供的分布式数据质量检核装置的示意图;
图7为本发明实施例中提供的电子设备的结构框图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本发明实施例做进一步详细说明。在此,本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。
本文中术语“和/或”,仅仅是描述一种关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合,例如,包括A、B、C中的至少一种,可以表示包括从A、B和C构成的集合中选择的任意一个或多个元素。
在本说明书的描述中,所使用的“包含”、“包括”、“具有”、“含有”等,均为开放性的用语,即意指包含但不限于。参考术语“一个实施例”、“一个具体实施例”、“一些实施例”、“例如”等的描述意指结合该实施例或示例描述的具体特征、结构或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。各实施例中涉及的步骤顺序用于示意性说明本申请的实施,其中的步骤顺序不作限定,可根据需要作适当调整。
首先,对本申请实施例中的专业术语进行解释:
数据湖:一种不断演进中、可扩展的大数据存储、处理、分析的基础设施;以数据为导向,实现任意来源、任意速度、任意规模、任意类型数据的全量获取、全量存储、多模式处理与全生命周期管理;并通过与各类外部异构数据源的交互集成,支持各类企业级应用。
数据仓库:是为企业所有级别的决策制定过程,提供所有类型数据支持的战略集合。它是单个数据存储,出于分析性报告和决策支持目的而创建。为需要业务智能的企业,提供指导业务流程改进、监视时间、成本、质量以及控制。
ansible:一种自动化运维工具,基于Python开发,集合了众多运维工具(puppet、chef、func、fabric)的优点,实现批量***配置、批量程序部署、批量运行命令等功能。ansible架构可以通过SSH连接客户机执行相关任务。
目前的集中式数据质量检核方法实现方式一般为:
1)业务部门提供需要进行检核的数据质量业务规则;
2)通过数据溯源方法获取下游报送指标所对应的数据湖入口的文件或者数据仓库内部的数据库表;
3)通过数据质量规则转义,将业务规则转化为数据湖入口文件检核规则或数据仓库内部数据库表检核规则;
4)在数据湖入口集中部署离线检核等批处理任务,按照上述技术检核规则,对数据湖文件以及数据仓库数据库表进行数据质量校验,识别出湖仓内部的数据质量问题。
具体来说存在以下主要问题:
1、现有的集中式数据质量检核技术方法,需要从多个上游***获取离线数据以后,通过批处理方式进行集中检核。当***数量增多、处理数据量增大时,进行集中检核的***或平台处理压力巨大,以一般500+***、日增量数据1PB来估算,针对这些数据的集中批处理会消耗大量的网络带宽、存储资源及计算资源。针对海量数据的读取和加工,还有可能影响正常的数仓业务加工处理。
2、现有的集中式数据质量检核方法,通常只能针对固定的数据质量规则进行校验。例如上游***库表发生结构变化时,检核端没有技术手段感知,如采用历史数据质量规则进行检核,可能会识别出大量误检测数据质量问题。该情况会对数据质量管理部门进行问题整改时提供干扰,不利于数据质量的提升。
3、现有的集中式数据质量检核方法,需要等到所有数据全部接收后才能开展检核,一般只能最快支持T+1日生成检核结果明细。在现有的数据质量要求下,无法针对业务部门关注的实时类数据问题及时进行检核与识别问题数据。
4、现有的集中式数据质量检核方法,一般只能在数据湖以后进行文件或数据库表的检核,该检核方式针对上游***的卸数文件进行校验,由于数据湖供数文件为上游***通过批处理生成,仅针对入湖文件的检核无法真正识别出上游交易***的数据问题(如交易入库异常或文件卸载异常)。
基于此,本发明实施例提供了一种分布式数据质量检核方法,如图1所示,包括:
步骤101:接收各上游***的数据质量信息,根据数据质量信息,建立检核参数库,所述检核参数库包含一个或多个检核参数表,建立各检核参数表与各上游***的映射关系;
步骤102:对各检核参数表中的检核参数进行加密,根据各检核参数表与各上游***的映射关系,将加密后的检核参数推送至对应的上游***;
步骤103:根据各检核参数表与各上游***的映射关系和数据质量信息,生成各上游***的检核任务;
步骤104:在各上游***对加密后的检核参数进行解密后,根据各上游***的检核任务,向对应的上游***发送检核指令,供上游***接收检核指令后,根据对应检核参数完成数据质量检核。
本发明实施例提出的分布式数据质量检核方法,在集中管控端实现对上游***检核规则的统一维护,可以更加有效的管理数据质量业务规则。相比于传统的数据质量检核方法,可以将需要集中检核端完成的数据质量检核工作调整为由各个上游***进行分布式执行,可以有效的减少集中检核端任务出错的影响,另外可以大大的降低集中检核带来的网络、存储、计算等资源消耗,为企业节省数据质量治理的成本。
在集中管控端按照***、库表、字段等维度进行检核规则的自定义配置,以及针对检核的周期和频率进行自主定义。相比于传统的数据质量检核方法,能够满足实时类的数据质量检核需求,通过调整分布式检核的频率即可以灵活实现,不再需要T+1以后再开始进行数据质量检核。
通过从上游***定期采集的数据库表结构定义文件,与集中管控端的已配置库表规则进行比对,及时识别出上游库表变化引起的数据质量检核规则失真场景。相比于传统的数据质量检核方法,能够进一步保证数据质量检核规则的准确性,也减少了上游表结构变化引发的数据质量误检测风险。
通过将数据质量检核任务以分布式方式交由上游***执行,可以有效的识别出上游***交易入库逻辑问题、数据卸载异常等问题。相比于传统的数据质量检核方法,其将数据质量检核从湖仓内部进一步向上进行延伸,能够提前一步发现上游***的数据质量问题,提升了数据质量的检核效率。
在一实施例中,根据数据质量信息,建立检核参数库,包括:
对于不同的上游***,设置不同的检核参数;
根据各检核参数建立对应的检核参数表。
在一具体实施例中,设置数据质量规则管控模块,该模块主要针对需要进行分布式检核的数据质量规则进行统一的配置与管控关联,具体会按照检核规则维度,将对应***名、数据库表名、数据库字段名、数据字段检核规则以条目方式入库进行管理,其规则结构定义见表1:
表1
在一实施例中,还包括:
采集数据质量信息中的字段结构定义文件;
将数据质量信息中的字段结构定义文件与检核参数库中对应的字段结构定义文件进行比对;
根据比对结果,对不一致的字段结构定义文件进行上报。
具体实施时,数据质量规则管控端除了需要管理具体的业务规则、***校验逻辑以外,还会通过库表字段比对模块对上游***的库表字段变化情况进行感知。例如,上游***数据库表某字段进行字段扩充长度以后,会将数据库表最新结构推送至数据质量规则管控端,管控段会将最新的DDL结构与现有的规则进行比对,如果发现长度或字段命名发生变化,会在质量规则管控端进行提示。质量规则管控端的主要功能见图2:
1)按照业务规则名称、***名维度保存对应的数据质量检核规则,同一个业务检核规则可能对应多个上游***。具体来讲,末端报送端的数据字段加工会来源于多个上游***,在进行末端报送端数据字段业务规则配置时,会分别映射至多个上游***。对于不同的上游***预设不同的检核规则配置,在进行分布式检核时,针对A***按照规则管控模块配置A进行检核、针对B***按照规则管控模块配置B进行检核,依次类推,实现差异化检核;
2)在对上游***进行分布式检核时,同一个业务规则、同一个***一般只涉及一张数据库表,在质量管控模块配置或同步具体的数据库表、数据字段以及数据字段校验规则;
3)对于大部分需要分布式检核的上游***,其数据库流水表为交易处理后写入。针对上游***交易写入的数据,记录其相应的交易码、报文域字段,在进行检核时实现交易码与库表的映射关系;
4)从上游***定期采集质量规则管控端相应库表的结构定义文件,通过质量规则管控比对功能与已配置的数据质量规则逻辑进行比对,识别出不一致情况。
在一实施例中,对各检核参数表中的检核参数进行加密,包括:
采用ansible的vault保险柜加密技术,创建加密秘钥;
对各检核参数表中的检核参数,采用ansible-vault encrypt命令模式,通过加密秘钥进行加密。
在一具体实施例中,设置数据质量规则下发模块,该模块主要针对将规则管控端已配置的数据质量规则以加密方式推送并发布给上游***,包括:数据质量规则配置、数据质量规则检核任务等。数据质量规则配置记录了上游***需要校验的数据库表、数据字段,数据质量规则检核任务则主要为检核的客户端程序,包含检核的周期频率,在特定时间将检核任务调起。
具体实施时,通过ansible自动化工具,首先建立管控端与客户端主机之间的互信,保证管控端能够向指定的客户端主机批量推送配置等信息。在进行规则向客户端交互时,使用ansible的vault保险柜加密技术,首先在管控端与客户端之间创建加密秘钥PASSWD。将客户端规则配置文件使用ansible-vault encrypt命令模式进行加密,客户端在接收到规则配置文件以后,使用ansible-vault decrypt命令、以及已约定的加密密钥PASSWD进行解密,可实现数据的安全传输。按照上述加密传输方式,管控端会以物理子***维度将单***相关的所有规则配置下发至对应上游客户端的指定路径,包含了该***下需要校验的库表、字段和相应的检核规则。
在一实施例中,检核任务包括检核发起时间和检核频率;
检核参数包括根据待检核数据大小、数据类型以增量数据校验或全量数据校验方式进行扫描。
具体实施时,为了实现不同客户端的个性化检核,将集中式检核任务进行打散,各客户端可以按照自身的***业务低峰时间段、***资源使用情况进行最适合自身的分布式检核配置。针对单***下每张库表、字段以及校验规则,在管控端会进行分布式校核任务配置,指定每张库表的校验时间点、校验频率,可以根据数据质量检核的时效性以及***特点将该配置设置为定时调起(例如:14时开始运行)或定期轮询(例如:每小时调起一次),对于交易类***,在9-11时、14-16时一般为业务高峰期,可以将检核时间配置错开上述时间段;对于数据类***,在0-6时一般为跑批高峰期,可以将检核时间配置错开凌晨时间段。上述方法可以实现对上游***更加实时、更为灵活的数据质量检核。一般来说检核规则的分布式推送可以按照周为单位进行更新,或者根据版本上线的频率,按照月为单位进行更新,通过定期更新上游***的校验规则、调度频率、表结构定义等,实现对上游***更为准确的动态数据质量分布式校验,见图3。
一般来说,为了减少对上游***的影响,当数据质量检核规则和任务时间未发生变化时,可以不触发对上游***的规则下发任务,即沿用之前的检核规则与任务即可。
在一具体实施例中,设置数据质量分布式检核执行模块,该模块实现在对应的客户端上以分布式方式对特定的数据库表及字段进行数据质量检核执行。首先在管控端与受控端(即客户端)主机上均安装ansible工具,采用yum–install–y ansible进行安装。在安装完成以后,在各台主机的/etc/hosts文件中进行预配置,见表2:
表2
IP地址 | 主机名 | 角色 |
192.168.0.1 | Ansible-server | 主控节点 |
192.168.0.10 | Ansible-node1 | 受控节点1 |
192.168.0.11 | Ansible-node2 | 受控节点2 |
192.168.0.12 | Ansible-node3 | 受控节点3 |
接下来在主控节点使用ssh–keygen–t rsa生成公私钥对,使用ssh-copy-id–I/root/.ssh/id_rsa.pub–p22 [email protected].**分别对多台受控节点进行免密信任关系设置。在设置互信以后,在主控节点与受控节点之间可以通过命令或者脚本方式交互。
其中管控端配置的检核任务会根据配置的调度时间及调起频率被自动拉起,当某个客户端的检核任务命中执行时间策略时,管控端会首先向对应的客户端发送数据质量检核指令。在配置客户端的检核策略时,可以按照分批、分组的方式进行预设置,这样在固定时间点,会将原来的集中检核操作,改为分发至相应的客户端进行分布式执行。不同的客户端在接收具体的检核指令以后,会连接自己***的后台数据库,根据已配置的数据质量库表、字段及检核规则进行检核执行任务。由此,可以将原来的集中式检核内容,打散至对应的客户端主机进行分布式执行,通过分布式的方式进行检核,可以有效的减轻集中检核端的负载压力。
客户端主机进行实际的数据质量检核时,会根据数据大小、性质以增量数据校验或全量数据校验的方式开展库表的扫描。对于参数类、汇总类数据,一般数据量较小、且每次为全量加载,发生问题时常为多数数据质量存在问题,这时一般采用对全量数据进行检核,并能够输出相应的全量问题数据清单;对于明细类数据,一般数据量较大、且每次为增量加载,发生问题时常为某一天的数据存在问题,这时一般采用对增量数据进行检核,可以采用业务日期等字段进行筛选条件,即默认检查上一个业务日期的相关数据,以指定的规则进行增量数据的扫描,能够有效的控制对上游***的联机交易性能影响通过设置全量或者增量表的属性,可以在进行分布式检核时更加的灵活,充分减少对源***的消耗。
由于一般交易类***在夜间处于业务低峰,并且前一日的交易截面数据已生成,因此调起时间一般选择在上游***完成日终批量,且处于凌晨业务低峰时间段进行。可以将业务特性相近的***的检核项设置为同一时间或者频率,这样可以按照分组模式进行分布式检核,更有利于分布式批量任务的管理以及日志的查看。对于某些特殊的***(例如存在抢购、秒杀、积分等***),可以根据实际情况通过配置随时调整检核任务调起的频率与时间。
通过检核模块执行后,可以生成存在数据质量问题的数据明细,一般应包含流水号、时间戳、客户号等关键要素。为减少数据冗余,对***名、库表名、表字段名这些信息不在检核结果中重复保留,见图4。
在一实施例中,还包括:
监控各上游***的数据质量检核状态,获取各上游***的数据质量检核结果;
对各上游***的数据质量检核结果进行汇总。
在一具体实施例中,设置数据质量分布式检核结果同步模块,该模块实现将对应客户端上检核生成的结果明细拉取到管控端进行问题数据的汇总。各个上游***在完成数据质量分布式检核执行以后,通过检核结果同步模块,由管控端将结果数据拉取或由客户端推送至管控端,实现检核结果数据的同步。例如,在客户端完成检核任务,并生成检核结果以后,可以通过调用ansible的copy以及synchronize命令等方式实现文件的交互。例如,当客户端执行完成分布式检核指令以后,管控端调起ansible192.168.0.*-msynchronize–a“src=/home/ap/sjgl/*.csv”命令,实现将客户端的检核拉取至本机。
为了减轻对集中管控端的交互压力,在上游***完成数据质量分布式检核以后,首先会通过联机交易方式将客户端检核结果完成的信号返回给集中管控端,接着管控端可以通过上述方式或者交易带附件的方式将检核的结果明细(通常为csv格式)抓取至集中管控端。管控端在接收到检核明细数据后,按照规则编号、***名等维度将数据进行汇总。汇总的最终结果以数据质量规则编号进行聚合,将对应规则下面的各上游***的数据质量问题统一进行展示,见图5。
本发明实施例中还提供了一种分布式数据质量检核装置,如下面的实施例所述。由于该装置解决问题的原理与分布式数据质量检核方法相似,因此该装置的实施可以参见方法的实施,重复之处不再赘述。
图6为本发明实施例中提供的分布式数据质量检核装置的示意图,如图6所示,该装置包括:
参数建立模块601,用于接收各上游***的数据质量信息,根据数据质量信息,建立检核参数库,所述检核参数库包含一个或多个检核参数表,建立各检核参数表与各上游***的映射关系;
加密推送模块602,用于对各检核参数表中的检核参数进行加密,根据各检核参数表与各上游***的映射关系,将加密后的检核参数推送至对应的上游***;
任务制定模块603,用于根据各检核参数表与各上游***的映射关系和数据质量信息,生成各上游***的检核任务;
检核模块604,用于在各上游***对加密后的检核参数进行解密后,根据各上游***的检核任务,向对应的上游***发送检核指令,供上游***接收检核指令后,根据对应检核参数完成数据质量检核。
在一实施例中,参数建立模块601具体用于:
对于不同的上游***,设置不同的检核参数;
根据各检核参数建立对应的检核参数表。
在一实施例中,还包括字段比对模块,具体用于:
采集数据质量信息中的字段结构定义文件;
将数据质量信息中的字段结构定义文件与检核参数库中对应的字段结构定义文件进行比对;
根据比对结果,对不一致的字段结构定义文件进行上报。
在一实施例中,加密推送模块602具体用于:
采用ansible的vault保险柜加密技术,创建加密秘钥;
对各检核参数表中的检核参数,采用ansible-vault encrypt命令模式,通过加密秘钥进行加密。
在一实施例中,检核任务包括检核发起时间和检核频率;
检核参数包括根据待检核数据大小、数据类型以增量数据校验或全量数据校验方式进行扫描。
在一实施例中,还包括结果汇总模块,具体用于:
监控各上游***的数据质量检核状态,获取各上游***的数据质量检核结果;
对各上游***的数据质量检核结果进行汇总。
基于前述发明构思,如图7所示,本发明还提出了一种计算机设备700,包括存储器710、处理器720及存储在存储器710上并可在处理器720上运行的计算机程序730,所述处理器720执行所述计算机程序730时实现上述分布式数据质量检核方法。
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述分布式数据质量检核方法。
本发明实施例还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现上述分布式数据质量检核方法。
综上所述,本发明实施例中,接收各上游***的数据质量信息,根据数据质量信息,建立检核参数库,所述检核参数库包含一个或多个检核参数表,建立各检核参数表与各上游***的映射关系;对各检核参数表中的检核参数进行加密,根据各检核参数表与各上游***的映射关系,将加密后的检核参数推送至对应的上游***;根据各检核参数表与各上游***的映射关系和数据质量信息,生成各上游***的检核任务;在各上游***对加密后的检核参数进行解密后,根据各上游***的检核任务,向对应的上游***发送检核指令,供上游***接收检核指令后,根据对应检核参数完成数据质量检核。这样,将需要集中检核端完成的数据质量检核工作调整为由各个上游***进行分布式执行,及时识别出上游库表变化引起的数据质量检核参数失真场景,将数据质量检核任务以分布式方式交由上游***执行,可以有效减少集中检核端任务出错的影响,同时大大了降低集中检核带来的网络、存储、计算等资源消耗,满足实时类的数据质量检核需求,进一步保证数据质量检核参数的准确性,也减少了上游表结构变化引发的数据质量误检测风险,提升了数据质量的检核效率。
本领域内的技术人员应明白,本发明的实施例可提供为方法、***、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (15)
1.一种分布式数据质量检核方法,其特征在于,包括:
接收各上游***的数据质量信息,根据数据质量信息,建立检核参数库,所述检核参数库包含一个或多个检核参数表,建立各检核参数表与各上游***的映射关系;
对各检核参数表中的检核参数进行加密,根据各检核参数表与各上游***的映射关系,将加密后的检核参数推送至对应的上游***;
根据各检核参数表与各上游***的映射关系和数据质量信息,生成各上游***的检核任务;
在各上游***对加密后的检核参数进行解密后,根据各上游***的检核任务,向对应的上游***发送检核指令,供上游***接收检核指令后,根据对应检核参数完成数据质量检核。
2.如权利要求1所述的方法,其特征在于,根据数据质量信息,建立检核参数库,包括:
对于不同的上游***,设置不同的检核参数;
根据各检核参数建立对应的检核参数表。
3.如权利要求1所述的方法,其特征在于,还包括:
采集数据质量信息中的字段结构定义文件;
将数据质量信息中的字段结构定义文件与检核参数库中对应的字段结构定义文件进行比对;
根据比对结果,对不一致的字段结构定义文件进行上报。
4.如权利要求1所述的方法,其特征在于,对各检核参数表中的检核参数进行加密,包括:
采用ansible的vault保险柜加密技术,创建加密秘钥;
对各检核参数表中的检核参数,采用ansible-vault encrypt命令模式,通过加密秘钥进行加密。
5.如权利要求1所述的方法,其特征在于,检核任务包括检核发起时间和检核频率;
检核参数包括根据待检核数据大小、数据类型以增量数据校验或全量数据校验方式进行扫描。
6.如权利要求1所述的方法,其特征在于,还包括:
监控各上游***的数据质量检核状态,获取各上游***的数据质量检核结果;
对各上游***的数据质量检核结果进行汇总。
7.一种分布式数据质量检核装置,其特征在于,包括:
参数建立模块,用于接收各上游***的数据质量信息,根据数据质量信息,建立检核参数库,所述检核参数库包含一个或多个检核参数表,建立各检核参数表与各上游***的映射关系;
加密推送模块,用于对各检核参数表中的检核参数进行加密,根据各检核参数表与各上游***的映射关系,将加密后的检核参数推送至对应的上游***;
任务制定模块,用于根据各检核参数表与各上游***的映射关系和数据质量信息,生成各上游***的检核任务;
检核模块,用于在各上游***对加密后的检核参数进行解密后,根据各上游***的检核任务,向对应的上游***发送检核指令,供上游***接收检核指令后,根据对应检核参数完成数据质量检核。
8.如权利要求7所述的装置,其特征在于,参数建立模块具体用于:
对于不同的上游***,设置不同的检核参数;
根据各检核参数建立对应的检核参数表。
9.如权利要求7所述的装置,其特征在于,还包括字段比对模块,具体用于:
采集数据质量信息中的字段结构定义文件;
将数据质量信息中的字段结构定义文件与检核参数库中对应的字段结构定义文件进行比对;
根据比对结果,对不一致的字段结构定义文件进行上报。
10.如权利要求7所述的装置,其特征在于,加密推送模块具体用于:
采用ansible的vault保险柜加密技术,创建加密秘钥;
对各检核参数表中的检核参数,采用ansible-vault encrypt命令模式,通过加密秘钥进行加密。
11.如权利要求7所述的装置,其特征在于,检核任务包括检核发起时间和检核频率;
检核参数包括根据待检核数据大小、数据类型以增量数据校验或全量数据校验方式进行扫描。
12.如权利要求7所述的装置,其特征在于,还包括结果汇总模块,具体用于:
监控各上游***的数据质量检核状态,获取各上游***的数据质量检核结果;
对各上游***的数据质量检核结果进行汇总。
13.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6任一所述方法。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1至6任一所述方法。
15.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现权利要求1至6任一所述方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311605633.0A CN117632930A (zh) | 2023-11-28 | 2023-11-28 | 分布式数据质量检核方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311605633.0A CN117632930A (zh) | 2023-11-28 | 2023-11-28 | 分布式数据质量检核方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117632930A true CN117632930A (zh) | 2024-03-01 |
Family
ID=90033340
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311605633.0A Pending CN117632930A (zh) | 2023-11-28 | 2023-11-28 | 分布式数据质量检核方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117632930A (zh) |
-
2023
- 2023-11-28 CN CN202311605633.0A patent/CN117632930A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106716454B (zh) | 利用机器学习来识别非技术性损失 | |
US7675406B2 (en) | Generation of timestamps within field devices | |
CN113595761A (zh) | 电力***信息通信一体化调度平台的微服务组件优化方法 | |
CN111133391A (zh) | 用于对风力农场和风力涡轮机数据、数据分析算法和数据分析的结果进行受控式共享的方法 | |
CN111061732A (zh) | 一种基于大数据处理的报表生成方法 | |
CN112559475A (zh) | 数据实时捕获和传输方法及*** | |
CN108255628A (zh) | 一种数据处理方法及装置 | |
CN111538720B (zh) | 电力行业基础数据清理的方法及*** | |
Wu et al. | An Auxiliary Decision‐Making System for Electric Power Intelligent Customer Service Based on Hadoop | |
CN114092246A (zh) | 金融交易链路的问题定位方法及装置 | |
US20210065077A1 (en) | A method for collaborative machine learning of analytical models | |
CN111857981A (zh) | 一种数据处理方法以及装置 | |
Omori et al. | Comparing concept drift detection with process mining tools | |
CN116384921A (zh) | 运维事件的执行方法、装置、存储介质以及电子设备 | |
CN114757448B (zh) | 一种基于数据空间模型的制造环节间最优价值链构建方法 | |
CN117632930A (zh) | 分布式数据质量检核方法及装置 | |
CN115757642A (zh) | 一种基于归档日志文件的数据同步方法及装置 | |
CN111130882A (zh) | 网络设备的监控***及方法 | |
CN113094406A (zh) | 一种电力营销数据治理方法以及*** | |
CN114387124B (zh) | 一种核电工业互联网平台的时序数据存储方法 | |
Raj et al. | On the Impact of ML use cases on Industrial Data Pipelines | |
CN115114275A (zh) | 一种数据采集方法、设备及介质 | |
CN114661693A (zh) | 数据审计的实现方法、存储介质、电子设备及*** | |
CN115185825A (zh) | 接口测试的调度方法及装置 | |
CN112348698A (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 |