CN116483903A - 一种面向多源异构数据源的全链路数据血缘关系识别方法 - Google Patents

一种面向多源异构数据源的全链路数据血缘关系识别方法 Download PDF

Info

Publication number
CN116483903A
CN116483903A CN202310457815.1A CN202310457815A CN116483903A CN 116483903 A CN116483903 A CN 116483903A CN 202310457815 A CN202310457815 A CN 202310457815A CN 116483903 A CN116483903 A CN 116483903A
Authority
CN
China
Prior art keywords
blood
data
edge
link
information
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
CN202310457815.1A
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.)
Jiangsu Suning Bank Co Ltd
Original Assignee
Jiangsu Suning Bank 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 Jiangsu Suning Bank Co Ltd filed Critical Jiangsu Suning Bank Co Ltd
Priority to CN202310457815.1A priority Critical patent/CN116483903A/zh
Publication of CN116483903A publication Critical patent/CN116483903A/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/25Integrating or interfacing systems involving database management systems
    • G06F16/252Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
    • 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/23Updating
    • G06F16/2365Ensuring data consistency and integrity
    • 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
    • G06F16/24564Applying rules; Deductive queries
    • 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/25Integrating or interfacing systems involving database management systems
    • G06F16/256Integrating or interfacing systems involving database management systems in federated or virtual databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/31Programming languages or programming paradigms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4482Procedural
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

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)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种面向多源异构数据源的全链路数据血缘关系识别方法。该方法包括各个任务部门在大数据平台配置各自批量执行任务流,对任务流的元数据信息进行动态采集,并对采集到的元数据根据任务流类型进行数据的处理加工,对处理加工好的数据进行数据结构调整,并统一发送至血缘规则解析引擎中,依次进行元数据类型判断、关键信息抽取及处理、构建单数据源表的血缘链路关系;根据构建出的单数据源表的血缘链路关系,并通过对接元数据管理平台的全量元数据信息,分析出输入的数据表和字段信息的血缘上下游关系,返回全量构建全链路血缘关系图谱。本发明能够对历史孤岛数据进行血缘链路追溯,完备的数据血缘有效提高的数据的可信度和完整性。

Description

一种面向多源异构数据源的全链路数据血缘关系识别方法
技术领域
本发明涉及计算机技术领域,具体涉及一种面向多源异构数据源的全链路数据血缘关系识别方法。
背景技术
当前随着大数据技术的发展和应用,数据血缘成了数据治理的关键要素之一,数据血缘仍然面临着一些问题和挑战:如数据血缘的有效性和准确性难以保证、数据血缘的收集和分析过程过于繁琐和复杂,数据血缘的标准和规范尚不完善等诸多问题。同时,在企业数字化建设过程中,存在的数据孤岛问题,也很难追踪数据血缘链路关系,给数据的应用和分析带来较大阻力。另外在真实的企业环境下,上下游系统之间没有建立完善的血缘关系,常常导致大数据日常任务出错时,无法判断其任务的影响范围,无法有效梳理任务的优先级,无法快速定位字段加工的影响范围等等的疑难问题。
目前,在分析数据血缘技术上,各个企业根据自身的信息化建设程度,选择不同的分析方式,大体上分为如下几种:(1)手工记录法,这种方式最原始,也是信息化程度不高的情况下,最常使用的一种方法,主要依赖excel等电子表格等工具,手动记录数据的处理过程和关系,虽然简单,但是却需要付出大量的人力和时间成本,也往往容易出错。(2)自动化跟踪方法,这种方式利用数据管理平台等工具,自动通过日志或者任务执行脚本等方式记录解析数据的处理过程和关系,从而建立数据血缘地图,这种方式高度依赖日志解析或者任务脚本的执行,并且遇到孤岛式数据的情况下,很难去建立准确的数据血缘,导致给上层的数据分析带来困扰。同时,该种方法也很难做到对异构数据源的解析分析,最终导致采用不同技术手段落库的数据具有不同的血缘,血缘链路重复,繁杂。不具备全局统一的链路血脉关系追溯查询能力。
发明内容
本发明的目的是针对现有技术存在的不足,提供一种面向多源异构数据源的全链路数据血缘关系识别方法。
为实现上述目的,本发明提供了一种面向多源异构数据源的全链路数据血缘关系识别方法,包括:
各个任务部门在大数据平台配置各自批量执行任务流;
对所述任务流的元数据信息进行动态采集,并对采集到的元数据根据任务流类型进行数据的处理加工;
对处理加工好的数据进行数据结构调整,以满足血缘规则引擎定义的接口数据规范;
将结构调整后的元数据信息组织之后统一发送至血缘规则解析引擎中,以在血缘规则解析引擎中依次进行元数据类型判断、关键信息抽取及处理、构建单数据源表的血缘链路关系;
根据构建出的单数据源表的血缘链路关系,并通过对接元数据管理平台的全量元数据信息,分析出输入的数据表和字段信息的血缘上下游关系,返回全量构建全链路血缘关系图谱。
进一步的,所述元数据类型包括Mysql、Hive、Oracler任务库和SparkSQL数据源类型。
进一步的,所述关键信息包括源表名称、目的表名称、关联表名称,以及相对应的表字段信息。
进一步的,所述全链路血缘关系图谱用以供前端UI解析并展示,并通过API的方式供数据治理管理平台调用数据血缘信息,以及查询表和字段等相关血缘信息。
进一步的,通过Hook采集器模块进行所述任务流的元数据信息的动态采集。
进一步的,所述结构调整后的元数据信息组织之后先统一发送到Kafaka集群,再通过Kafaka集群进行消息透传至血缘规则解析引擎中。
有益效果:本发明能够对信息化建设过程中,存在的历史孤岛数据进行血缘链路追溯,完备的数据血缘有效提高的数据的可信度和完整性。具有如下优点:
(1)不涉及已有平台任何架构调整;
(2)类似sidecar方式,对现有平台上的业务无任何侵入;
(3)分散式执行,几乎不消耗平台任何资源;
(4)可以支持不同数据源之间的数据可以进行对比和验证,避免数据的错误和不一致
(5)可以利用数据血缘探究关键数据和孤岛数据的来源,处理过程,以及与其他数据之间的关联关系,从而更加准确的进行数据分析。
附图说明
图1是一种面向多源异构数据源的全链路数据血缘关系识别方法的流程示意图;
图2是本发明实施例的血缘规则解析引擎的工作流程示意图;
图3是本发明实施例的血缘图谱存储示意图。
具体实施方式
下面结合附图和具体实施例,进一步阐明本发明,本实施例在以本发明技术方案为前提下进行实施,应理解这些实施例仅用于说明本发明而不用于限制本发明的范围。
如图1至图3所示,本发明实施例提供了一种面向多源异构数据源的全链路数据血缘关系识别方法,包括:
各个任务部门在大数据平台配置各自批量执行任务流。各个任务部门的任务流如任务流A、任务流B……,及其它任务流。目前,支持的配置任务种类包含:Spark任务、SparkSQL任务、hive任务、MapReduce任务、Python任务以及PySpark任务等,在统一数据开发平台,通过不同任务的托拉拽实现任务流程的编排,编好好的任务流设置调度规则执行。
对任务流的元数据信息进行动态采集,并对采集到的元数据根据任务流类型进行数据的处理加工。具体的,本发明实施例通过元数据采集平台的Hook采集器模块进行任务流的元数据信息的动态采集,在完成采集后,Hook采集器模块将元数据根据任务流类型发送到不同的处理模块进行数据的处理加工,以对各个任务流的元数据分别进行解析。其中,元数据类型包括Mysql、Hive、Oracler任务库和SparkSQL数据源类型。对应的,上述处理模块包括Mysql任务解析模块、Hive任务解析模块、Oracler任务库任务解析模块和SparkSQL任务解析模块。
对处理加工好的数据进行数据结构调整,以满足血缘规则引擎定义的接口数据规范。具体的,在上述处理模块对任务流的元数据进行解析后,会将解析后的数据同步到统一消息处理子服务,统一消息处理子服务进行数据结构调整。接口接收数据为json格式,具体主要包含如下几个核心的json节点:(1)任务名称(2)任务执行时间(3)任务创建人(4)任务更新人(5)任务所属的业务系统编码(6)任务类型(7)任务详情sql。
将结构调整后的元数据信息组织之后统一发送至血缘规则解析引擎中,以在血缘规则解析引擎中依次进行元数据类型判断、关键信息抽取及处理、构建单数据源表的血缘链路关系。具体的,结构调整后的元数据信息组织之后先统一发送到Kafaka集群,再通过Kafaka集群进行消息透传至血缘规则解析引擎中。
血缘规则解析引擎具体包括类型判断、解析处理、图计算和构建血缘图谱引擎等模块,类型判断模块用来对上游的元数据采集平台传递过来的数据进行类型判断,解析处理模块用来对输入的SQL语句进行关键信息抽取,上述关键信息包括源表名称、目的表名称、关联表名称,以及相对应的表字段信息,并且把这些数据信息处理成图计算模块可以接受的参数对象结构。
图计算模块用来对解析处理模块的处理结果进行语义分析,构建单数据源表的血缘链路关系。具体的,构建接受参数为json格式,json对象主要包含目标表的一些信息,比如表id,表列名集合、表的父表parentId、父表名称、源表source的表名,列字段信息等。在接受到该参数json内容之后,调用fastjson的开源json解析工具包进行json对象的解析,形成一个具备父子依赖关系的java对象,该对象标识单表的父子依赖逻辑。
构建血缘图谱模块根据图计算模块构建出的单数据源表的血缘链路关系,通过对接元数据管理平台的全量元数据信息,调用元数据管理平台的findSqlFlowInfo(SqlFlowInfo infos)接口,通过轮询遍历的方式找出当前单表在整个元数据分析平台的上游表和下游表,分析出输入的数据表和字段信息的血缘上下游关系,最后返回全量构建的全链路血缘关系图谱。
上述全链路血缘关系图谱可供前端UI解析并展示,并通过API的方式供数据治理管理平台调用数据血缘信息,以及查询表和字段等相关血缘信息。示例返回前端UI的数据组织格式主要为json格式,包含整体链路的父子关系,使用relationships的json节点字段信息存储,以及展示在UI画布中的坐标信息,使用coordinates节点存储,还有该次请求的sessionId鉴权信息等。
参见图2,以下举例具体说明:(1)开始从元数据采集平台接受Kafka消息,消息接收API接口:public void recMsg(String meta),参数meta为任务流元数据信息,其结构以json格式组织,示例如下:
参数bizSys为业务应用系统编码,meta为任务流元数据信息,其结构以json格式组织,示例如下:
其中,字段taskName为任务名称;taskExecuteTime为任务执行时间;taskCreateUser为任务创建用户;taskUpdateUser为任务更新用户;bizSys为该任务属于那个业务域;taskType为任务类型,类型定义范围如下:
public final static int TYPE_MYSQL=1;
public final static int TYPE_SPARKSQL=2;
public final static int TYPE_HIVE=3;
public final static int TYPE_ORACLE=4;
taskDetail为具体任务执行的元数据信息。
(2)根据recMsg接口参数meta中字段taskType类型,调用不同类型元数据处理类型流程,在调用解析处理模块之前,调用函数public bool checkTaskType(int taskType)进行任务类型判断,返回true继续执行,返回false则失败,同时抛出异常信息给前端UI提示用户“不支持该类型的任务”。
(3)在解析处理模块中,解析taskDetail中的SQL语句,解析出源表、目的表、是否涉及中间表、查询字段等信息。
(4)如果涉及中间表,则递归执行解析。
(5)判断是否有关联过程,如果有,则进入关联关系解析处理子模块,解析关联表名称、关联表字段等信息,最后存储到SQL关键字信息库;如果没有,直接进入下一阶段(5)判断,判断是否有过滤过程。
(6)判断是否有过滤过程,如果有,则进入过滤条件解析处理子模块,解析过滤字段名称,最后存储到SQL关键字信息库;如果没有,则进入下一阶段(7)判断,判断是否有排序过程。
(7)判断是否有排序过程,如果有,则进入排序解析处理子模块,解析排序字段,最后存储到SQL关键字信息库中;如果没有,则返回(3),退出递归迭代过程。
(8)图计算引擎模块从SQL关键字信息库,读取数据,经过逻辑加工处理组织成如图3所示信息。
(9)根据图谱引擎构建的数据血缘关系链路,存储该链路信息到血缘数据库。
(10)存储成功,流程结束,返回成功信息给上游模块。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,其它未具体描述的部分,属于现有技术或公知常识。在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (6)

1.一种面向多源异构数据源的全链路数据血缘关系识别方法,其特征在于,包括:
各个任务部门在大数据平台配置各自批量执行任务流;
对所述任务流的元数据信息进行动态采集,并对采集到的元数据根据任务流类型进行数据的处理加工;
对处理加工好的数据进行数据结构调整,以满足血缘规则引擎定义的接口数据规范;
将结构调整后的元数据信息组织之后统一发送至血缘规则解析引擎中,以在血缘规则解析引擎中依次进行元数据类型判断、关键信息抽取及处理、构建单数据源表的血缘链路关系;
根据构建出的单数据源表的血缘链路关系,并通过对接元数据管理平台的全量元数据信息,分析出输入的数据表和字段信息的血缘上下游关系,返回全量构建全链路血缘关系图谱。
2.根据权利要求1所述的一种面向多源异构数据源的全链路数据血缘关系识别方法,其特征在于,所述元数据类型包括Mysql、Hive、Oracler任务库和SparkSQL数据源类型。
3.根据权利要求1所述的一种面向多源异构数据源的全链路数据血缘关系识别方法,其特征在于,所述关键信息包括源表名称、目的表名称、关联表名称,以及相对应的表字段信息。
4.根据权利要求1所述的一种面向多源异构数据源的全链路数据血缘关系识别方法,其特征在于,所述全链路血缘关系图谱用以供前端UI解析并展示,并通过API的方式供数据治理管理平台调用数据血缘信息,以及查询表和字段等相关血缘信息。
5.根据权利要求1所述的一种面向多源异构数据源的全链路数据血缘关系识别方法,其特征在于,通过Hook采集器模块进行所述任务流的元数据信息的动态采集。
6.根据权利要求1所述的一种面向多源异构数据源的全链路数据血缘关系识别方法,其特征在于,所述结构调整后的元数据信息组织之后先统一发送到Kafaka集群,再通过Kafaka集群进行消息透传至血缘规则解析引擎中。
CN202310457815.1A 2023-04-26 2023-04-26 一种面向多源异构数据源的全链路数据血缘关系识别方法 Pending CN116483903A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310457815.1A CN116483903A (zh) 2023-04-26 2023-04-26 一种面向多源异构数据源的全链路数据血缘关系识别方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310457815.1A CN116483903A (zh) 2023-04-26 2023-04-26 一种面向多源异构数据源的全链路数据血缘关系识别方法

Publications (1)

Publication Number Publication Date
CN116483903A true CN116483903A (zh) 2023-07-25

Family

ID=87226521

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310457815.1A Pending CN116483903A (zh) 2023-04-26 2023-04-26 一种面向多源异构数据源的全链路数据血缘关系识别方法

Country Status (1)

Country Link
CN (1) CN116483903A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117688110A (zh) * 2024-02-02 2024-03-12 山东再起数据科技有限公司 数据中台数据血缘图谱构建方法
CN118069701A (zh) * 2024-04-25 2024-05-24 深圳市万物云科技有限公司 反向查询链路的构建方法、装置、计算机设备及存储介质

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117688110A (zh) * 2024-02-02 2024-03-12 山东再起数据科技有限公司 数据中台数据血缘图谱构建方法
CN117688110B (zh) * 2024-02-02 2024-04-26 山东再起数据科技有限公司 数据中台数据血缘图谱构建方法
CN118069701A (zh) * 2024-04-25 2024-05-24 深圳市万物云科技有限公司 反向查询链路的构建方法、装置、计算机设备及存储介质
CN118069701B (zh) * 2024-04-25 2024-06-21 深圳市万物云科技有限公司 反向查询链路的构建方法、装置、计算机设备及存储介质

Similar Documents

Publication Publication Date Title
CN116483903A (zh) 一种面向多源异构数据源的全链路数据血缘关系识别方法
CN106055618B (zh) 一种基于网络爬虫与结构化存储的数据处理方法
CN103514223A (zh) 一种数据仓库数据同步方法和系统
US20080066050A1 (en) Calculating defect density by file and source module
CN112200465B (zh) 基于多媒体信息智能分析的电力ai方法及系统
CN116205396A (zh) 一种基于数据中台的数据全景监控方法及系统
CN115982012A (zh) 一种接口管理能力成熟度的评估模型及方法
CN113962597A (zh) 一种数据分析方法、装置、电子设备及存储介质
CN113821554B (zh) 一种实现异构数据库数据采集的方法
US11816112B1 (en) Systems and methods for automated process discovery
CN114185791A (zh) 一种数据映射文件的测试方法、装置、设备及存储介质
CN116823464B (zh) 数据资产管理平台、电子设备及计算机可读存储介质
CN110502529B (zh) 数据处理方法、装置、服务器及存储介质
CN116303641B (zh) 一种支持多数据源可视化配置的实验室报告管理方法
CN116303380B (zh) 一种监测业务中的数据质量校验方法、设备及介质
CN114817171B (zh) 一种埋点数据质量治理方法
CN115964431A (zh) 客流数仓数据朔源的方法、装置、系统和存储介质
CN115952160A (zh) 一种数据盘点方法
CN115982213A (zh) Bi数据分析方法、系统及存储介质
CN113076308B (zh) 一种时空大数据服务系统
CN115454964A (zh) 一种数据迁移的方法及系统
CN115168297A (zh) 绕行日志审计方法及装置
CN115099769A (zh) 一种用于汽车金融订单自动审批的风控审批平台
CN114707953A (zh) 一种主数据全生命周期管理方法、系统、引擎及存储介质
CN110019109B (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