CN116894035A - 多源异构数据血缘关系构建方法、系统、设备和介质 - Google Patents

多源异构数据血缘关系构建方法、系统、设备和介质 Download PDF

Info

Publication number
CN116894035A
CN116894035A CN202310847233.4A CN202310847233A CN116894035A CN 116894035 A CN116894035 A CN 116894035A CN 202310847233 A CN202310847233 A CN 202310847233A CN 116894035 A CN116894035 A CN 116894035A
Authority
CN
China
Prior art keywords
data
entity
plug
blood
relationship
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
CN202310847233.4A
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.)
China Power Industry Internet Co ltd
Original Assignee
China Power Industry Internet 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 China Power Industry Internet Co ltd filed Critical China Power Industry Internet Co ltd
Priority to CN202310847233.4A priority Critical patent/CN116894035A/zh
Publication of CN116894035A publication Critical patent/CN116894035A/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/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/242Query formulation
    • G06F16/2433Query languages
    • 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/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2465Query processing support for facilitating data mining operations in structured databases
    • 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/258Data format conversion from or to a database
    • 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/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • G06F9/44526Plug-ins; Add-ons
    • 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)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Fuzzy Systems (AREA)
  • Probability & Statistics with Applications (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请涉及多源异构数据血缘关系构建方法、系统、设备和介质,该方法通过设计一套基于DAG插件编排的统一数据血缘关系构建标准,先采用DAG拖拉拽方式选择数据处理插件并配置插件参数,然后根据定义的数据插件关系动态编排模型进行插件关系动态编排,将得到的插件属性信息保存到Task任务配置,再利用数据血缘实体组合样例模型进行数据血缘关系实体解析,利用数据血缘实体关系模型进行数据血缘关系实体的实体关系解析,进而将数据血缘与任务关联绑定,最后利用基于BFS的数据血缘关系转化模型,通过数据血缘关系遍历算法从所述实体关系表查找出全部数据血缘关系实体及实体血缘关系,以用于生成数据血缘图谱。

Description

多源异构数据血缘关系构建方法、系统、设备和介质
技术领域
本发明属于数据处理技术领域,涉及一种多源异构数据血缘关系构建方法、系统、设备和介质。
背景技术
在物联网中,工业设备种类日益繁多,系统架构愈发复杂,呈现出多源异构的特性,尤其在复杂场景的数据治理中,处理规则繁多,流程杂乱无章,导致异常数据溯源难度大,数据质量难以保证。数据血缘关系构建是数据治理的关键环节,而统一有效的数据血缘关系构建方法,则是实现多源异构数据治理的重要前提。
现阶段,很多学者深入研究多源异构系统的数据血缘关系构建方法,并取得了一定的研究成果,例如通过对不同类型算子的注解标注与依赖关系解析,来构建数据血缘关系、通过解析函数对SQL语句原始血缘进行解析,来构建数据血缘关系、采用树形语法树来构建查询表的数据血缘关系以及通过图标数据源与属性的预先配置,来构建数据血缘关系等传统技术,然而,前述传统技术在面对大量工业设备的复杂多源异构数据血缘关系构建任务时,仍然存在着数据处理复杂性过高的技术问题。
发明内容
针对上述传统方法中存在的问题,本发明提出了一种多源异构数据血缘关系构建方法、一种多源异构数据血缘关系构建系统、一种计算机设备和一种计算机可读存储介质,能够大幅降低数据血缘关系构建任务的数据处理复杂性。
为了实现上述目的,本发明实施例采用以下技术方案:
一方面,提供一种多源异构数据血缘关系构建方法,包括步骤:
采用DAG拖拉拽方式选择输入插件、数据处理插件和输出插件,配置插件参数;输入插件选择的输入数据源插件包括Kafka数据源插件或MySQL数据源插件,数据处理插件选择的数据处理过程插件包括SQL语句插件、数据过滤插件、规则计算插件、字段转换插件或日期转换插件,输出插件选择的输出目标源插件包括Hive数据源插件、DB2数据源插件或Phoenix数据源插件;
根据定义的数据插件关系动态编排模型对输入插件、数据处理插件和输出插件进行插件关系动态编排;
将插件关系动态编排后得到的插件属性信息保存到Task任务配置;插件属性信息包括输入插件、数据处理插件、输出插件、插件关系、插件的数据源、插件的数据表和插件的字段集合;
利用数据血缘实体组合样例模型根据Task任务配置解析出数据血缘关系实体,将数据血缘关系实体绑定实体定义标识并保存至实体元素表中;数据血缘关系实体包括数据源实体、数据表实体、字段实体和数据处理实体,实体定义标识包括数据库标识、数据集标识、字段标识和处理过程标识;
利用数据血缘实体关系模型根据Task任务配置解析出数据血缘关系实体的实体关系,将实体关系保存至实体关系表中;实体血缘关系包括数据库表实体关系、输入表与数据处理实体关系、数据处理与输出表关系、输入表与输出表实体关系;
将数据血缘关系实体和实体血缘关系绑定Task任务标识后保存至任务关联表中;
利用基于BFS的数据血缘关系转化模型,确定检索中心并通过数据血缘关系遍历算法从实体关系表中查找出全部数据血缘关系实体及实体血缘关系。
另一方面,还提供一种多源异构数据血缘关系构建系统,包括:
插件选择模块,用于采用DAG拖拉拽方式选择输入插件、数据处理插件和输出插件,配置插件参数;输入插件选择的输入数据源插件包括Kafka数据源插件或MySQL数据源插件,数据处理插件选择的数据处理过程插件包括SQL语句插件、数据过滤插件、规则计算插件、字段转换插件或日期转换插件,输出插件选择的输出目标源插件包括Hive数据源插件、DB2数据源插件或Phoenix数据源插件;
关系编排模块,用于根据定义的数据插件关系动态编排模型对输入插件、数据处理插件和输出插件进行插件关系动态编排;
任务配置模块,用于将插件关系动态编排后得到的插件属性信息保存到Task任务配置;插件属性信息包括输入插件、数据处理插件、输出插件、插件关系、插件的数据源、插件的数据表和插件的字段集合;
实体解析模块,用于利用数据血缘实体组合样例模型根据Task任务配置解析出数据血缘关系实体,将数据血缘关系实体绑定实体定义标识并保存至实体元素表中;数据血缘关系实体包括数据源实体、数据表实体、字段实体和数据处理实体,实体定义标识包括数据库标识、数据集标识、字段标识和处理过程标识;
关系解析模块,用于利用数据血缘实体关系模型根据Task任务配置解析出数据血缘关系实体的实体关系,将实体关系保存至实体关系表中;实体血缘关系包括数据库表实体关系、输入表与数据处理实体关系、数据处理与输出表关系、输入表与输出表实体关系;
血缘绑定模块,用于将数据血缘关系实体和实体血缘关系绑定Task任务标识后保存至任务关联表中;
血缘查找模块,用于利用基于BFS的数据血缘关系转化模型,确定检索中心并通过数据血缘关系遍历算法从实体关系表中查找出全部数据血缘关系实体及实体血缘关系。
又一方面,还提供一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现上述的多源异构数据血缘关系构建方法的步骤。
再一方面,还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述的多源异构数据血缘关系构建方法的步骤。
上述技术方案中的一个技术方案具有如下优点和有益效果:
上述多源异构数据血缘关系构建方法、系统、设备和介质,通过设计一套基于DAG插件编排的统一数据血缘关系构建标准,先采用DAG拖拉拽方式选择数据处理插件并配置插件参数,然后根据定义的数据插件关系动态编排模型进行插件关系动态编排,将得到的插件属性信息保存到Task任务配置,再利用数据血缘实体组合样例模型进行数据血缘关系实体解析,利用数据血缘实体关系模型进行数据血缘关系实体的实体关系解析,进而将数据血缘与任务关联绑定,最后利用基于BFS的数据血缘关系转化模型,通过数据血缘关系遍历算法从所述实体关系表查找出全部数据血缘关系实体及实体血缘关系,以用于生成数据血缘图谱。
相比与传统技术,本申请上述技术方案能同时支持离线和实时数据处理,整合多种异构类型数据源,通过可视界面配置来降低用户操作难度,采用插件配置实现低代码开发,动态编排插件依赖关系,设计血缘关系存储结构,设计无感知血缘关系解析算法,设计二叉树广度优先关系遍历方式BFS,来实现全生命周期数据血缘地图的生成,减少外部工具依赖以降低系统复杂性。最终,实现数据血缘关系构建在多个环节的一体化,解决了处理流程繁多而关系杂乱的难题,解决了数据结构频繁变更而元数据溯源困难的问题,简化了系统架构以降低系统复杂度,降低了用户人工成本,从根本上解决了数据多源异构血缘关系构建复杂性高的难题。
附图说明
为了更清楚地说明本申请实施例或传统技术中的技术方案,下面将对实施例或传统技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为一个实施例中多源异构数据血缘关系构建方法的流程示意图;
图2为一个实施例中数据插件及关系编排示意图;
图3为一个实施例中数据插件及关系编排示例图;
图4为另一个实施例中多源异构数据血缘关系构建方法的流程示意图;
图5为一个实施例中二叉树广度优先遍历示意图;
图6为一个实施例中多源异构数据血缘关系构建系统的模块结构框图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。在本申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请。
需要说明的是,在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本发明的至少一个实施例中。在说明书中的各个位置展示该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。
本领域技术人员可以理解,本文所描述的实施例可以与其它实施例相结合。在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
在数据治理过程中,数据血缘关系构建与图谱检索至关重要。目前,虽然很多学者已经开始了一些探讨与研究,可以实现常见的数据治理血缘关系构建,能满足元数据的识别、追踪与溯源等环节。但是,在过程繁多且多源异构的血缘关系构建上,仍然缺少统一标准模型,无法兼容多个异构系统,在数据治理环节中存在一定的局限性。
现阶段,如传统的数据血缘关系的构建方法,采用硬代码编码方式对算子注解进行标注,增加了人工开发成本;又如传统的数据血缘关系的处理方法,对SQL语句原始血缘进行人工干预,以及采用图数据库增加系统复杂度;或者如传统的数据血缘关系查询方法,采用树形语法树解析数据血缘,导致数据血缘构建过程过于复杂;再如传统的可视化配置多源异构数据构建图谱的方法,没有对图谱配置进行解耦与编排,存在一定的代码重复开发工作。因此,需要研究一套统一标准的数据血缘关系构建机制,来消除多源异构系统中数据治理的复杂性。
针对传统技术的缺陷,本发明的目的是打造一套多源异构数据血缘关系构建标准方案,兼容离线和实时处理过程,兼容多源异构数据源,DAG可视插件配置与编排,低代码开发,无需人工参与,无感知血缘解析,数据血缘图谱检索,轻量级系统架构,支持复杂业务数据血缘构建过程,有效的降低项目研发成本与人工运维成本。
下面将结合本发明实施例图中的附图,对本发明实施方式进行详细说明。
请参阅图1,在一个实施例中,提供了一种多源异构数据血缘关系构建方法,包括如下处理步骤:
S1,采用DAG拖拉拽方式选择输入插件、数据处理插件和输出插件,配置插件参数;输入插件选择的输入数据源插件包括Kafka数据源插件或MySQL数据源插件,数据处理插件选择的数据处理过程插件包括SQL语句插件、数据过滤插件、规则计算插件、字段转换插件或日期转换插件,输出插件选择的输出目标源插件包括Hive数据源插件、DB2数据源插件或Phoenix数据源插件。
可以理解,对于当前各类工业设备所对应的多源异构数据处理场景而言,运行本申请方法的数据处理系统可以通过WEB界面开展各数据处理交互操作。各异构数据源插件,例如但不限于Kafka数据源插件、MySQL数据源插件、Hive数据源插件、DB2数据源插件和Phoenix数据源插件等插件,均可以根据系统实际应用情况和执行环境等进行预先配置得到,也可以在应用过程中按需在线配置,只要能够将各既有数据源以插件形式封装即可。同理的,各数据处理过程插件,例如但不限于SQL语句插件、数据过滤插件、规则计算插件、字段转换插件和日期转换插件等插件,也均可以根据系统实际应用情况和执行环境等进行预先配置得到,也可以在应用过程中按需在线配置,只要能够将各既有数据处理过程功能以插件形式封装即可。
Kafka数据源是指将Apache Kafka作为数据来源的一种数据源。Apache Kafka是一个高吞吐量、分布式的消息队列系统,广泛应用于实时数据流处理、日志收集、事件驱动架构等场景。Kafka提供了可靠性、高吞吐量、分布式处理等特性,使其成为许多实时数据处理系统和流式计算框架的首选数据源。通过将Kafka与其他工具或框架结合使用,可以构建强大的实时数据处理和分布式系统。MySQL数据源是指将MySQL数据库作为数据来源的一种数据源。MySQL是一个开源的关系型数据库管理系统,被广泛应用于各种Web应用程序和数据驱动的应用中,其提供了稳定可靠、可扩展的数据存储解决方案,支持事务处理、数据索引、复制和备份等功能。通过将MySQL与其他应用程序或数据处理工具结合使用,可以构建各种类型的应用系统,包括Web应用、数据仓库、报表生成和数据分析等。SQL(StructuredQuery Language)语句是一种用于管理和操作关系型数据库的标准化语言,它提供了一组用于定义、操作和查询数据库的命令和语法规则。
Hive数据源指的是将Apache Hive作为数据来源的一种数据源。Apache Hive是建立在Hadoop之上的数据仓库基础设施,用于处理大规模分布式数据集。Hive数据源在大数据处理和数据仓库领域得到广泛应用,特别适合于批量处理和离线分析任务。通过将Hive与其他工具和框架(如Hadoop、Spark等)结合使用,可以构建强大的大数据处理和分析系统。DB2数据源指的是将IBM DB2数据库作为数据来源的一种数据源。IBM DB2是一个关系型数据库管理系统(RDBMS),广泛应用于企业级应用程序和数据驱动的解决方案中。DB2提供了高度可伸缩性和可靠性,支持事务处理、数据索引、复制和备份等特性。它还具有多种部署选项,包括单机部署、分布式集群和云环境,以适应不同规模和需求的应用场景。通过将DB2与其他应用程序或数据处理工具结合使用,可以构建各种类型的企业级应用系统,包括事务处理系统、数据仓库、报表生成和数据分析等。DB2还有多个版本和变种(如DB2 for z/OS、DB2 for LUW等),具体功能和特性可能因版本和配置而有所差异,可以根据实际应用需要进行选择。Hudi(Hadoop Upserts Deletes and Incrementals)是一种用于构建大规模、高性能数据湖的开源数据管理框架,Hudi数据源指的是将Hudi作为数据来源的一种数据源。Doris(原名为Apache Doris,现更名为Palo)是一个开源的分布式SQL数据仓库,Doris数据源指的是将Doris作为数据来源的一种数据源。
Phoenix数据源指的是将Apache Phoenix作为数据来源的一种数据源。ApachePhoenix是一个建立在Apache HBase之上的关系型数据库引擎,旨在提供对HBase数据的高性能查询和管理能力。通过Phoenix数据源,用户可以使用标准的SQL语句来查询和操作HBase中的数据,执行复杂的查询、聚合和连接操作。同时,Phoenix还提供了事务支持、数据版本控制和分布式查询等功能,使得对大规模数据集的处理更加便捷和高效。DAG(有向无环图)拖拉拽是指在图形用户界面(GUI)或类似的可视化环境中,对有向无环图进行操作时使用的一种交互技术。DAG是由节点(或称为顶点)和边组成的图形结构,其中节点表示操作或数据,边表示节点之间的依赖关系或流向关系。拖拉拽是指通过鼠标或类似的交互方式,将节点从一个位置拖动到另一个位置的操作。在DAG拖拉拽中,用户可以在WEB界面中通过拖动节点来创建、删除或修改节点之间的连接关系;通过拖拉拽,用户可以改变节点的位置,从而改变图中的结构。
具体的,设计了插件预先配置方式,如采用基于DAG拖拉拽的方式,选择输入插件并配置输入源;选择数据处理插件并配置处理参数;选择输出插件并配置目标源。首先进行输入插件的选择和参数配置,可以采用DAG拖拉拽的方式选择MySQL数据源插件作为多源异构数据血缘关系构建流程的输入插件,并配置参数:拉取数据源Da,拉取输入数据表Ta,选择某些字段集合Ca。
然后进行数据处理插件的选择及其参数配置,例如可以采用DAG拖拉拽的方式选择SQL语句插件作为数据处理插件(在数据处理过程中,根据处理过程的不同可以同理选择相应的其他数据处理过程插件),以输入数据处理过程所需的SQL语句。再进行输出插件的选择及其参数配置,例如可以采用DAG拖拉拽的方式选择Hive数据源插件作为输出插件(在数据输出的过程中,根据输出目标的不同可以同理选择相应的其他输出目标源插件),并为该插件配置参数,如拉取数据源Db,拉取数据表Tb。
S2,根据定义的数据插件关系动态编排模型对输入插件、数据处理插件和输出插件进行插件关系动态编排。
可以理解,设计了插件关系编排方式,如采用基于DAG视图连线的方式,动态编排插件关系并生成相应的DAG有向无环图。具体的,如图2和图3所示,本申请设计了3种插件关系L,采用DAG连线方式动态编排,例如:输入插件I→数据处理插件C、数据处理插件C→输出插件O、输入插件I→输出插件O。
其中,定义的数据插件关系动态编排模型,可以如下所示:
其中,Lineage()表示血缘,m1,m2和m3为分别为插件I,C和O的插件数量。
S3,将插件关系动态编排后得到的插件属性信息保存到Task任务配置;插件属性信息包括输入插件、数据处理插件、输出插件、插件关系、插件的数据源、插件的数据表和插件的字段集合。
可以理解,完成上述步骤后,将插件属性录入到Task任务配置中,具体的,从DAG有向无环图中,解析出输入插件I、处理插件C和输出插件O等3类,将输入插件I、处理插件C、输出插件O和插件关系L,以及选择的数据源、数据表和字段集合等插件属性信息保存到Task任务配置,以记录这些插件的任务配置,保障插件在数据处理任务中的正常运行。其中,定义了插件属性转化任务实体模型,可以表示如下:
其中,m1,m2和m3为分别为插件I,C和O的插件数量,m4为L插件关系数,箭头表示任务转化方向。
S4,利用数据血缘实体组合样例模型根据Task任务配置解析出数据血缘关系实体,将数据血缘关系实体绑定实体定义标识并保存至实体元素表中;数据血缘关系实体包括数据源实体、数据表实体、字段实体和数据处理实体,实体定义标识包括数据库标识、数据集标识、字段标识和处理过程标识。
可以理解,在完成任务配置后,从Task任务配置中解析出输入实体、数据处理实体与输出实体,并将这些数据血缘关系实体属性记录在实体元素表中。具体的,可以预先创建数据血缘关系实体定义标识:从Task任务配置中解析MySQL和Hive等数据源类型,并定义相应的数据库标识mysql_db和hive_db、数据集标识mysql_table和hive_table、字段标识mysql_column和hive_column以及处理过程标识mysql_process和hive_process,并将这些数据血缘关系实体定义标识保存到实体定义表中。
在本实施例中,根据业务需求自由选择插件与编排关系,形成了多种数据血缘实体组合样例模型,该模型可以表示如下:
其中,n1,n2和n3为分别为插件I,C和O的插件数量,m1为输入源Da数,h1为输入表Ta的数量,m2为SQL语句的数量,m3为目标源Db的数量,h3为目标表Tb的数量。
结合Task任务配置与数据血缘实体组合样例模型,解析出数据源实体Da和Db、数据表实体Ta和Tb、字段实体Ca以及数据处理实体SQL,将这些数据血缘关系实体与上述的实体定义标识绑定,并将这些实体属性保存到实体元素表中。
S5,利用数据血缘实体关系模型根据Task任务配置解析出数据血缘关系实体的实体关系,将实体关系保存至实体关系表中;实体血缘关系包括数据库表实体关系、输入表与数据处理实体关系、数据处理与输出表关系、输入表与输出表实体关系。
可以理解,在完成任务配置后,还从Task任务配置中解析出输入实体、数据处理实体、输出实体等3类实体之间的实体关系,并将这些实体关系记录到实体关系表中。总的来说,数据血缘关系类型可以包括3种,即表血缘、字段血缘和任务血缘。
具体的,本申请设计了4类实体关系类型,从Task任务配置中解析出数据库表实体关系、输入表与数据处理实体关系、数据处理与输出表实体关系以及输入表与输出表实体关系等,并将这些实体关系保存到实体关系表中。其中,定义的数据血缘实体关系模型,可以表示如下:
其中,m1为输入表Ta实体数量,m2为数据处理C实体数量,m3为输出表Tb实体数量。
S6,将数据血缘关系实体和实体血缘关系绑定Task任务标识后保存至任务关联表中。
可以理解,在完成前述处理步骤之后,将上述解析后的实体元素、实体关系与对应的Task任务进行绑定,同时绑定任务对应的用户信息,也即将实体元素、实体关系等与Task任务标识进行绑定,同时绑定用户信息,并将这些绑定信息保存到任务关联表中,以消除因数据结构频繁变更而带来的元数据溯源困难的问题。
S7,利用基于BFS的数据血缘关系转化模型,确定检索中心并通过数据血缘关系遍历算法从实体关系表中查找出全部数据血缘关系实体及实体血缘关系。
可以理解,本实施例中还设计了基于BFS的数据血缘关系转化模型和数据血缘关系遍历算法,用于实现数据血缘关系的自动化高效查询。BFS(Breadth-First Search,广度优先搜索)是一种用于图和树的遍历算法,BFS从图或树的根节点开始,逐层地遍历节点,先访问当前节点的所有邻居节点,然后再依次访问邻居节点的邻居节点,以此类推,直到遍历完所有节点。基于BFS的数据血缘关系转化模型可以定义如下:
其中,m1为全部实体关系数,m2为BFS遍历后的实体关系数,E为实体元素,L为实体关系,箭头表示BFS转化方向。设计的数据血缘关系遍历算法可以有4种,例如数据血缘直接关系遍历算法、数据血缘前置关系遍历算法、数据血缘后置关系遍历算法与数据血缘前后关系遍历算法等。可以根据任务需要选择某一种遍历算法,以某个数据库、数据集或任务标识为检索中心,根据基于BFS的数据血缘关系转化模型查找全部所需的实体元素及其血缘关系。
上述多源异构数据血缘关系构建方法,通过设计一套基于DAG插件编排的统一数据血缘关系构建标准,先采用DAG拖拉拽方式选择数据处理插件并配置插件参数,然后根据定义的数据插件关系动态编排模型进行插件关系动态编排,将得到的插件属性信息保存到Task任务配置,再利用数据血缘实体组合样例模型进行数据血缘关系实体解析,利用数据血缘实体关系模型进行数据血缘关系实体的实体关系解析,进而将数据血缘与任务关联绑定,最后利用基于BFS的数据血缘关系转化模型,通过数据血缘关系遍历算法从所述实体关系表查找出全部数据血缘关系实体及实体血缘关系,以用于生成数据血缘图谱。
相比与传统技术,本申请上述技术方案能同时支持离线和实时数据处理,整合多种异构类型数据源,通过可视界面配置来降低用户操作难度,采用插件配置实现低代码开发,动态编排插件依赖关系,设计血缘关系存储结构,设计无感知血缘关系解析算法,设计二叉树广度优先关系遍历方式BFS,来实现全生命周期数据血缘地图的生成,减少外部工具依赖以降低系统复杂性。最终,实现数据血缘关系构建在多个环节的一体化,解决了处理流程繁多而关系杂乱的难题,解决了数据结构频繁变更而元数据溯源困难的问题,简化了系统架构以降低系统复杂度,降低了用户人工成本,从根本上解决了数据多源异构血缘关系构建复杂性高的难题。
在一个实施例中,上述多源异构数据血缘关系构建方法,还可以包括如下前置步骤:
创建多源异构数据处理系统的数据血缘关系结构存储表;数据血缘关系结构存储表包括数据源表、数据集表、实体定义表、实体元素表、实体关系表和任务关联表;
创建多个异构数据源插件和数据处理过程插件;异构数据源插件包括Kafka数据源插件、MySQL数据源插件、Hive数据源插件、DB2数据源插件和Phoenix数据源插件;
通过WEB界面配置异构数据源插件的数据源连接信息并保存到数据源表中;
通过WEB界面拉取异构数据源插件的数据源类型的表元数据并保存到数据集表中;表元数据包括表名、备注、字段名称、字段类型、字段长度、精度和主键;
从Task任务配置中解析出异构数据源插件的数据源类型并创建实体定义标识。
可以理解,系统工作时所需的数据血缘关系结构存储表可以预先创建得到,可以包括两张元数据表,如数据源表和数据集表,包括四张血缘关系表,如实体定义表、实体元素表、实体关系表和任务关联表。然后将各异构数据源创建为相应的多个异构数据源插件,如Kafka数据源插件、MySQL数据源插件、Hive数据源插件、DB2数据源插件和Phoenix数据源插件等,以及数据处理过程插件,如SQL语句插件、数据过滤插件、规则计算插件、字段转换插件和日期转换插件等。
进而通过系统的WEB界面配置MySQL和Hive等数据源连接信息,并保存到数据源表中备用;再通过WEB界面拉取MySQL和Hive等类型的表元数据,如表名、备注、字段名称、字段类型、长度、精度和主键等信息,并将这些表元数据保存到数据集表中备用,从而方便支持低代码化开发,简化数据血缘关系构建过程,支持多种异构类型数据源,消除不同类型数据之间的血缘关系技术壁垒,支持离线和实时数据处理过程,解决了传统方法在多计算引擎上的局限性。
在一个实施例中,如图4所示,上述多源异构数据血缘关系构建方法,还可以包括如下步骤:
S8,根据查找出的全部数据血缘关系实体及实体血缘关系生成数据血缘图谱;
S9,将数据血缘图谱输出至前端进行WEB可视化展示。
可以理解,在查找到所需的全部数据血缘关系实体及实体血缘关系后,即可直接生成相应的数据血缘图谱,并可以通过提供的接口,例如但不限于API接口输出至前端设备,以便通过前端设备实现WEB可视化的数据血缘图谱直观展示,数据血缘图谱展示的方式可以但不限于是Echarts(一种基于JavaScript的开源图表库,用于在网页中可视化数据)图表,从而达到进一步的数据血缘图谱可视化检索与展示的效果。
在一个实施例中,数据血缘关系遍历算法为数据血缘直接关系遍历算法。关于上述步骤S7中,确定检索中心并通过数据血缘关系遍历算法从实体关系表中查找出全部数据血缘关系实体及实体血缘关系的过程,具体可以包括如下处理步骤:
以数据血缘关系实体为检索中心,从实体关系表中查找出检索中心全部的直接前后置节点数据血缘关系实体及实体血缘关系。
具体的,根据于BFS的数据血缘关系转化模型,在实体关系表保存的实体关系中,可以某个实体为中心节点(即检索中心),查找全部的直接前后置节点实体(父子节点)及其血缘关系,从而获取所需的全部数据血缘关系实体及实体血缘关系。
在一个实施例中,数据血缘关系遍历算法为数据血缘前置关系遍历算法。关于上述步骤S7中,确定检索中心并通过数据血缘关系遍历算法从实体关系表中查找出全部数据血缘关系实体及实体血缘关系的过程,具体可以包括如下处理步骤:
以数据血缘关系实体为检索中心,从实体关系表中查找出检索中心的直接前置节点数据血缘关系实体及实体血缘关系;
采用二叉树广度优先遍历算法以直接前置节点数据血缘关系实体为中心,从上到下并从左到右逐层遍历查找前置节点,直至没有前置节点递归终止;
保存查找链路上的全部数据血缘关系实体及实体血缘关系。
具体的,根据于BFS的数据血缘关系转化模型,在实体关系表保存的实体关系中,可以某个实体为中心节点,查找直接前置节点实体及其血缘关系;并采用二叉树广度优先遍历算法BFS,将这些前置节点作为中心节点,从上到下、从左到右,一层一层的层次遍历,直到没有前置节点递归终止,并保存这条链路上的全部实体元素及其血缘关系,从而获取所需的全部数据血缘关系实体及实体血缘关系。
在一个实施例中,数据血缘关系遍历算法为数据血缘后置关系遍历算法。关于上述步骤S7中,确定检索中心并通过数据血缘关系遍历算法从实体关系表中查找出全部数据血缘关系实体及实体血缘关系的过程,具体可以包括如下处理步骤:
以数据血缘关系实体为检索中心,从实体关系表中查找出检索中心的直接后置节点数据血缘关系实体及实体血缘关系;
采用二叉树广度优先遍历算法以直接后置节点数据血缘关系实体为中心,从上到下并从左到右逐层遍历查找后置节点,直至没有后置节点递归终止;
保存查找链路上的全部数据血缘关系实体及实体血缘关系。
具体的,根据于BFS的数据血缘关系转化模型,在实体关系表保存的实体关系中,可以某个实体为中心节点,同理类似,通过上述中心节点+后置关系,采用二叉树广度优先遍历算法BFS,获取全部实体元素及血缘关系,也可以获取所需的全部数据血缘关系实体及实体血缘关系。
在一个实施例中,数据血缘关系遍历算法为数据血缘前后关系遍历算法。关于上述步骤S7中,确定检索中心并通过数据血缘关系遍历算法从实体关系表中查找出全部数据血缘关系实体及实体血缘关系的过程,具体可以包括如下处理步骤:
以数据血缘关系实体为检索中心,从实体关系表中查找出检索中心的直接前置节点和后置节点数据血缘关系实体及实体血缘关系;
采用二叉树广度优先遍历算法分别以直接前置节点和后置节点数据血缘关系实体为中心,从上到下并从左到右逐层遍历查找前置节点和后置节点,直至没有前置节点和后置节点递归终止;
保存查找链路上的全部数据血缘关系实体及实体血缘关系。
具体的,根据于BFS的数据血缘关系转化模型,在实体关系表保存的实体关系中,可以某个实体为中心节点,同理类似,通过上述中心节点+前后关系,采用二叉树广度优先遍历算法BFS,获取全部实体元素及血缘关系,也可以获取所需的全部数据血缘关系实体及实体血缘关系。二叉树广度优先遍历的处理流程可以如图5所示。
应该理解的是,虽然上述流程图1、图4和图5中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且上述流程图1、图4和图5的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图6所示,提供一种多源异构数据血缘关系构建系统100,包括插件选择模块01、关系编排模块02、任务配置模块03、实体解析模块04、关系解析模块05、血缘绑定模块06和血缘查找模块07。其中,插件选择模块01用于采用DAG拖拉拽方式选择输入插件、数据处理插件和输出插件,配置插件参数;输入插件选择的输入数据源插件包括Kafka数据源插件或MySQL数据源插件,数据处理插件选择的数据处理过程插件包括SQL语句插件、数据过滤插件、规则计算插件、字段转换插件或日期转换插件,输出插件选择的输出目标源插件包括Hive数据源插件、DB2数据源插件或Phoenix数据源插件。关系编排模块02用于根据定义的数据插件关系动态编排模型对输入插件、数据处理插件和输出插件进行插件关系动态编排。
任务配置模块03用于将插件关系动态编排后得到的插件属性信息保存到Task任务配置;插件属性信息包括输入插件、数据处理插件、输出插件、插件关系、插件的数据源、插件的数据表和插件的字段集合。实体解析模块04用于利用数据血缘实体组合样例模型根据Task任务配置解析出数据血缘关系实体,将数据血缘关系实体绑定实体定义标识并保存至实体元素表中;数据血缘关系实体包括数据源实体、数据表实体、字段实体和数据处理实体,实体定义标识包括数据库标识、数据集标识、字段标识和处理过程标识。关系解析模块05用于利用数据血缘实体关系模型根据Task任务配置解析出数据血缘关系实体的实体关系,将实体关系保存至实体关系表中;实体血缘关系包括数据库表实体关系、输入表与数据处理实体关系、数据处理与输出表关系、输入表与输出表实体关系。血缘绑定模块06用于将数据血缘关系实体和实体血缘关系绑定Task任务标识后保存至任务关联表中。血缘查找模块07用于利用基于BFS的数据血缘关系转化模型,确定检索中心并通过数据血缘关系遍历算法从实体关系表中查找出全部数据血缘关系实体及实体血缘关系。
上述多源异构数据血缘关系构建系统,通过设计一套基于DAG插件编排的统一数据血缘关系构建标准,先采用DAG拖拉拽方式选择数据处理插件并配置插件参数,然后根据定义的数据插件关系动态编排模型进行插件关系动态编排,将得到的插件属性信息保存到Task任务配置,再利用数据血缘实体组合样例模型进行数据血缘关系实体解析,利用数据血缘实体关系模型进行数据血缘关系实体的实体关系解析,进而将数据血缘与任务关联绑定,最后利用基于BFS的数据血缘关系转化模型,通过数据血缘关系遍历算法从实体关系表查找出全部数据血缘关系实体及实体血缘关系,以用于生成数据血缘图谱。
相比与传统技术,本申请上述技术方案能同时支持离线和实时数据处理,整合多种异构类型数据源,通过可视界面配置来降低用户操作难度,采用插件配置实现低代码开发,动态编排插件依赖关系,设计血缘关系存储结构,设计无感知血缘关系解析算法,设计二叉树广度优先关系遍历方式BFS,来实现全生命周期数据血缘地图的生成,减少外部工具依赖以降低系统复杂性。最终,实现数据血缘关系构建在多个环节的一体化,解决了处理流程繁多而关系杂乱的难题,解决了数据结构频繁变更而元数据溯源困难的问题,简化了系统架构以降低系统复杂度,降低了用户人工成本,从根本上解决了数据多源异构血缘关系构建复杂性高的难题。
在一个实施例中,上述多源异构数据血缘关系构建系统100的模块还可以用于实现上述多源异构数据血缘关系构建方法的相应附属实施例的步骤功能。
关于多源异构数据血缘关系构建系统100的具体限定,可以参见上文中多源异构数据血缘关系构建方法的相应限定,在此不再赘述。上述多源异构数据血缘关系构建系统100中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于具备数据处理功能的设备中,也可以软件形式存储于前述设备的存储器中,以便于处理器调用执行以上各个模块对应的操作,前述设备可以是但不限于本领域已有的各型数据计算与处理设备。
在一个实施例中,还提供一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现如下处理步骤:采用DAG拖拉拽方式选择输入插件、数据处理插件和输出插件,配置插件参数;输入插件选择的输入数据源插件包括Kafka数据源插件或MySQL数据源插件,数据处理插件选择的数据处理过程插件包括SQL语句插件、数据过滤插件、规则计算插件、字段转换插件或日期转换插件,输出插件选择的输出目标源插件包括Hive数据源插件、DB2数据源插件或Phoenix数据源插件;根据定义的数据插件关系动态编排模型对输入插件、数据处理插件和输出插件进行插件关系动态编排;将插件关系动态编排后得到的插件属性信息保存到Task任务配置;插件属性信息包括输入插件、数据处理插件、输出插件、插件关系、插件的数据源、插件的数据表和插件的字段集合;利用数据血缘实体组合样例模型根据Task任务配置解析出数据血缘关系实体,将数据血缘关系实体绑定实体定义标识并保存至实体元素表中;数据血缘关系实体包括数据源实体、数据表实体、字段实体和数据处理实体,实体定义标识包括数据库标识、数据集标识、字段标识和处理过程标识;利用数据血缘实体关系模型根据Task任务配置解析出数据血缘关系实体的实体关系,将实体关系保存至实体关系表中;实体血缘关系包括数据库表实体关系、输入表与数据处理实体关系、数据处理与输出表关系、输入表与输出表实体关系;将数据血缘关系实体和实体血缘关系绑定Task任务标识后保存至任务关联表中;利用基于BFS的数据血缘关系转化模型,确定检索中心并通过数据血缘关系遍历算法从实体关系表中查找出全部数据血缘关系实体及实体血缘关系。
可以理解,上述计算机设备除上述述及的存储器和处理器外,还包括其他本说明书未列出的软硬件组成部分,具体可以根据不同应用场景下的具体计算机设备的型号确定,本说明书不再一一列出详述。
在一个实施例中,处理器执行计算机程序时还可以实现上述多源异构数据血缘关系构建方法各实施例中增加的步骤或者子步骤。
在一个实施例中,还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现如下处理步骤:采用DAG拖拉拽方式选择输入插件、数据处理插件和输出插件,配置插件参数;输入插件选择的输入数据源插件包括Kafka数据源插件或MySQL数据源插件,数据处理插件选择的数据处理过程插件包括SQL语句插件、数据过滤插件、规则计算插件、字段转换插件或日期转换插件,输出插件选择的输出目标源插件包括Hive数据源插件、DB2数据源插件或Phoenix数据源插件;根据定义的数据插件关系动态编排模型对输入插件、数据处理插件和输出插件进行插件关系动态编排;将插件关系动态编排后得到的插件属性信息保存到Task任务配置;插件属性信息包括输入插件、数据处理插件、输出插件、插件关系、插件的数据源、插件的数据表和插件的字段集合;利用数据血缘实体组合样例模型根据Task任务配置解析出数据血缘关系实体,将数据血缘关系实体绑定实体定义标识并保存至实体元素表中;数据血缘关系实体包括数据源实体、数据表实体、字段实体和数据处理实体,实体定义标识包括数据库标识、数据集标识、字段标识和处理过程标识;利用数据血缘实体关系模型根据Task任务配置解析出数据血缘关系实体的实体关系,将实体关系保存至实体关系表中;实体血缘关系包括数据库表实体关系、输入表与数据处理实体关系、数据处理与输出表关系、输入表与输出表实体关系;将数据血缘关系实体和实体血缘关系绑定Task任务标识后保存至任务关联表中;利用基于BFS的数据血缘关系转化模型,确定检索中心并通过数据血缘关系遍历算法从实体关系表中查找出全部数据血缘关系实体及实体血缘关系。
在一个实施例中,计算机程序被处理器执行时,还可以实现上述多源异构数据血缘关系构建方法各实施例中增加的步骤或者子步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线式动态随机存储器(RambusDRAM,简称RDRAM)以及接口动态随机存储器(DRDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可做出若干变形和改进,都属于本申请保护范围。因此本申请专利的保护范围应以所附权利要求为准。

Claims (10)

1.一种多源异构数据血缘关系构建方法,其特征在于,包括步骤:
采用DAG拖拉拽方式选择输入插件、数据处理插件和输出插件,配置插件参数;所述输入插件选择的输入数据源插件包括Kafka数据源插件或MySQL数据源插件,所述数据处理插件选择的数据处理过程插件包括SQL语句插件、数据过滤插件、规则计算插件、字段转换插件或日期转换插件,所述输出插件选择的输出目标源插件包括Hive数据源插件、DB2数据源插件或Phoenix数据源插件;
根据定义的数据插件关系动态编排模型对所述输入插件、所述数据处理插件和所述输出插件进行插件关系动态编排;
将插件关系动态编排后得到的插件属性信息保存到Task任务配置;所述插件属性信息包括所述输入插件、所述数据处理插件、所述输出插件、插件关系、插件的数据源、插件的数据表和插件的字段集合;
利用数据血缘实体组合样例模型根据所述Task任务配置解析出数据血缘关系实体,将所述数据血缘关系实体绑定实体定义标识并保存至实体元素表中;所述数据血缘关系实体包括数据源实体、数据表实体、字段实体和数据处理实体,所述实体定义标识包括数据库标识、数据集标识、字段标识和处理过程标识;
利用数据血缘实体关系模型根据所述Task任务配置解析出数据血缘关系实体的实体关系,将所述实体关系保存至实体关系表中;所述实体血缘关系包括数据库表实体关系、输入表与数据处理实体关系、数据处理与输出表关系、输入表与输出表实体关系;
将所述数据血缘关系实体和所述实体血缘关系绑定Task任务标识后保存至任务关联表中;
利用基于BFS的数据血缘关系转化模型,确定检索中心并通过数据血缘关系遍历算法从所述实体关系表中查找出全部数据血缘关系实体及实体血缘关系。
2.根据权利要求1所述的多源异构数据血缘关系构建方法,其特征在于,还包括步骤:
根据查找出的全部所述数据血缘关系实体及所述实体血缘关系生成数据血缘图谱;
将所述数据血缘图谱输出至前端进行WEB可视化展示。
3.根据权利要求1或2所述的多源异构数据血缘关系构建方法,其特征在于,所述数据血缘关系遍历算法为数据血缘直接关系遍历算法;
确定检索中心并通过数据血缘关系遍历算法从所述实体关系表中查找出全部数据血缘关系实体及实体血缘关系的过程,包括:
以所述数据血缘关系实体为检索中心,从所述实体关系表中查找出所述检索中心全部的直接前后置节点数据血缘关系实体及实体血缘关系。
4.根据权利要求1或2所述的多源异构数据血缘关系构建方法,其特征在于,所述数据血缘关系遍历算法为数据血缘前置关系遍历算法;
确定检索中心并通过数据血缘关系遍历算法从所述实体关系表中查找出全部数据血缘关系实体及实体血缘关系的过程,包括:
以所述数据血缘关系实体为检索中心,从所述实体关系表中查找出所述检索中心的直接前置节点数据血缘关系实体及实体血缘关系;
采用二叉树广度优先遍历算法以所述直接前置节点数据血缘关系实体为中心,从上到下并从左到右逐层遍历查找前置节点,直至没有前置节点递归终止;
保存查找链路上的全部数据血缘关系实体及实体血缘关系。
5.根据权利要求1或2所述的多源异构数据血缘关系构建方法,其特征在于,所述数据血缘关系遍历算法为数据血缘后置关系遍历算法;
确定检索中心并通过数据血缘关系遍历算法从所述实体关系表中查找出全部数据血缘关系实体及实体血缘关系的过程,包括:
以所述数据血缘关系实体为检索中心,从所述实体关系表中查找出所述检索中心的直接后置节点数据血缘关系实体及实体血缘关系;
采用二叉树广度优先遍历算法以所述直接后置节点数据血缘关系实体为中心,从上到下并从左到右逐层遍历查找后置节点,直至没有后置节点递归终止;
保存查找链路上的全部数据血缘关系实体及实体血缘关系。
6.根据权利要求1或2所述的多源异构数据血缘关系构建方法,其特征在于,所述数据血缘关系遍历算法为数据血缘前后关系遍历算法;
确定检索中心并通过数据血缘关系遍历算法从所述实体关系表中查找出全部数据血缘关系实体及实体血缘关系的过程,包括:
以所述数据血缘关系实体为检索中心,从所述实体关系表中查找出所述检索中心的直接前置节点和后置节点数据血缘关系实体及实体血缘关系;
采用二叉树广度优先遍历算法分别以所述直接前置节点和所述后置节点数据血缘关系实体为中心,从上到下并从左到右逐层遍历查找前置节点和后置节点,直至没有前置节点和后置节点递归终止;
保存查找链路上的全部数据血缘关系实体及实体血缘关系。
7.根据权利要求1所述的多源异构数据血缘关系构建方法,其特征在于,还包括步骤:
创建多源异构数据处理系统的数据血缘关系结构存储表;所述数据血缘关系结构存储表包括数据源表、数据集表、实体定义表、实体元素表、实体关系表和任务关联表;
创建多个异构数据源插件和数据处理过程插件;所述异构数据源插件包括Kafka数据源插件、MySQL数据源插件、Hive数据源插件、DB2数据源插件和Phoenix数据源插件;
通过WEB界面配置所述异构数据源插件的数据源连接信息并保存到所述数据源表中;
通过WEB界面拉取所述异构数据源插件的数据源类型的表元数据并保存到所述数据集表中;所述表元数据包括表名、备注、字段名称、字段类型、字段长度、精度和主键;
从所述Task任务配置中解析出所述异构数据源插件的数据源类型并创建所述实体定义标识。
8.一种多源异构数据血缘关系构建系统,其特征在于,包括:
插件选择模块,用于采用DAG拖拉拽方式选择输入插件、数据处理插件和输出插件,配置插件参数;所述输入插件选择的输入数据源插件包括Kafka数据源插件或MySQL数据源插件,所述数据处理插件选择的数据处理过程插件包括SQL语句插件、数据过滤插件、规则计算插件、字段转换插件或日期转换插件,所述输出插件选择的输出目标源插件包括Hive数据源插件、DB2数据源插件或Phoenix数据源插件;
关系编排模块,用于根据定义的数据插件关系动态编排模型对所述输入插件、所述数据处理插件和所述输出插件进行插件关系动态编排;
任务配置模块,用于将插件关系动态编排后得到的插件属性信息保存到Task任务配置;所述插件属性信息包括所述输入插件、所述数据处理插件、所述输出插件、插件关系、插件的数据源、插件的数据表和插件的字段集合;
实体解析模块,用于利用数据血缘实体组合样例模型根据所述Task任务配置解析出数据血缘关系实体,将所述数据血缘关系实体绑定实体定义标识并保存至实体元素表中;所述数据血缘关系实体包括数据源实体、数据表实体、字段实体和数据处理实体,所述实体定义标识包括数据库标识、数据集标识、字段标识和处理过程标识;
关系解析模块,用于利用数据血缘实体关系模型根据所述Task任务配置解析出数据血缘关系实体的实体关系,将所述实体关系保存至实体关系表中;所述实体血缘关系包括数据库表实体关系、输入表与数据处理实体关系、数据处理与输出表关系、输入表与输出表实体关系;
血缘绑定模块,用于将所述数据血缘关系实体和所述实体血缘关系绑定Task任务标识后保存至任务关联表中;
血缘查找模块,用于利用基于BFS的数据血缘关系转化模型,确定检索中心并通过数据血缘关系遍历算法从所述实体关系表中查找出全部数据血缘关系实体及实体血缘关系。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7任一项所述的多源异构数据血缘关系构建方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7任一项所述的多源异构数据血缘关系构建方法的步骤。
CN202310847233.4A 2023-07-11 2023-07-11 多源异构数据血缘关系构建方法、系统、设备和介质 Pending CN116894035A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310847233.4A CN116894035A (zh) 2023-07-11 2023-07-11 多源异构数据血缘关系构建方法、系统、设备和介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310847233.4A CN116894035A (zh) 2023-07-11 2023-07-11 多源异构数据血缘关系构建方法、系统、设备和介质

Publications (1)

Publication Number Publication Date
CN116894035A true CN116894035A (zh) 2023-10-17

Family

ID=88310306

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310847233.4A Pending CN116894035A (zh) 2023-07-11 2023-07-11 多源异构数据血缘关系构建方法、系统、设备和介质

Country Status (1)

Country Link
CN (1) CN116894035A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117273131A (zh) * 2023-11-22 2023-12-22 四川三合力通科技发展集团有限公司 一种跨节点数据关系发现系统及方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117273131A (zh) * 2023-11-22 2023-12-22 四川三合力通科技发展集团有限公司 一种跨节点数据关系发现系统及方法
CN117273131B (zh) * 2023-11-22 2024-02-13 四川三合力通科技发展集团有限公司 一种跨节点数据关系发现系统及方法

Similar Documents

Publication Publication Date Title
US8332389B2 (en) Join order for a database query
US8396852B2 (en) Evaluating execution plan changes after a wakeup threshold time
US11907203B2 (en) Path encoded tree structures for operations
Gürcan et al. Real-time processing of big data streams: Lifecycle, tools, tasks, and challenges
CN110245270A (zh) 基于图模型的数据血缘关系存储方法、系统、介质和设备
Wu et al. Efficiently translating complex SQL query to mapreduce jobflow on cloud
US9218394B2 (en) Reading rows from memory prior to reading rows from secondary storage
US8442971B2 (en) Execution plans with different driver sources in multiple threads
CN106294695A (zh) 一种面向实时大数据搜索引擎的实现方法
CN114461603A (zh) 多源异构数据融合方法及装置
Wang et al. Distributed storage and index of vector spatial data based on HBase
Swarna et al. Apache Pig-a data flow framework based on Hadoop Map Reduce
CN116894035A (zh) 多源异构数据血缘关系构建方法、系统、设备和介质
Abdel Azez et al. Optimizing join in HIVE star schema using key/facts indexing
Ahsaan et al. Big data analytics: challenges and technologies
CN118035204A (zh) 数据血缘显示方法、分布式任务调度系统及存储介质
Ravichandran Big Data processing with Hadoop: a review
Delchev et al. Big Data Analysis Architecture
WO2023124253A1 (zh) 一种图搜索方法、装置、设备及存储介质
Gombos et al. P-Spar (k) ql: SPARQL evaluation method on Spark GraphX with parallel query plan
Wadhera et al. A systematic Review of Big data tools and application for developments
US20140067874A1 (en) Performing predictive analysis
Zaniewicz et al. Comparison of MongoDB, Neo4j and ArangoDB databases using the developed data generator for NoSQL databases
Kaplanis et al. HB+ tree: use hadoop and HBase even your data isn't that big
Gao et al. Exploiting sharing join opportunities in big data multiquery optimization with Flink

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