CN116975051A - 血缘关系数据确定方法、装置、计算机设备和存储介质 - Google Patents

血缘关系数据确定方法、装置、计算机设备和存储介质 Download PDF

Info

Publication number
CN116975051A
CN116975051A CN202310459188.5A CN202310459188A CN116975051A CN 116975051 A CN116975051 A CN 116975051A CN 202310459188 A CN202310459188 A CN 202310459188A CN 116975051 A CN116975051 A CN 116975051A
Authority
CN
China
Prior art keywords
data
task
entity
data table
map
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
CN202310459188.5A
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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202310459188.5A priority Critical patent/CN116975051A/zh
Publication of CN116975051A publication Critical patent/CN116975051A/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/245Query processing
    • G06F16/2455Query execution
    • G06F16/24553Query execution of query operations
    • G06F16/24558Binary matching operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9024Graphs; Linked lists
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/22Matching criteria, e.g. proximity measures

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请涉及一种血缘关系数据确定方法、装置、设备和存储介质。所述方法包括:获取与待执行的数据开发任务对应的任务实体图谱和数据表实体图谱,基于数据表实体图谱和任务实体图谱,确定相同邻居信息的数据表和数据开发任务,并确定相同邻居信息的数据表和数据开发任务之间的匹配相似度。通过将匹配相似度符合预设融合条件的数据表实体图谱和任务实体图谱,进行实体融合,获得实体融合图谱,以基于实体融合图谱确定更新后的血缘关系数据。采用本方法可借助知识图谱实现不同实体的融合,并基于实体融合图谱进一步确定出更新后的血缘关系数据,可减少数据处理过程中的识别误差和无效数据,提升了所确定出的血缘关系数据的覆盖率和准确度。

Description

血缘关系数据确定方法、装置、计算机设备和存储介质
技术领域
本申请涉及人工智能技术领域,特别是涉及一种血缘关系数据确定方法、装置、计算机设备、存储介质和计算机程序产品。
背景技术
随着人工智能技术的发展,以及数据开发过程中涉及的数据量日益增加,在数据开发任务过程中,出现了利用数据表的血缘关系进行上下游运行依赖关系识别的方式,从而提升数据开发效率。其中,数据表的血缘关系是指数据在产生、处理、流转到消亡的过程中,数据之间形成的上下游关系、以及数据之间产生的链路关系。
传统技术中,通常通过解析数据开发任务对应的明文加工SQL逻辑,得到任务的读取表和写入表,然后进行上下游串接,从而获得数据表的血缘关系数据。
然而,传统的解析方式中,可以直接获取得到明文加工SQL逻辑的任务类型较少,其数据源获取难度较高,无法实现对各类数据开发任务的全面覆盖,而由于获取到的数据较为片面,也容易导致获得的血缘关系数据准确度较低。因此,传统的解析方式所获得的数据表的血缘关系数据,仍然存在准确率较低的问题。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提升所确定出的数据表之间的血缘关系数据的准确度的血缘关系数据确定方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
第一方面,本申请提供了一种血缘关系数据确定方法。所述方法包括:
获取与待执行的数据开发任务对应的任务实体图谱,以及与所述数据开发任务关联的数据表实体图谱;
基于所述数据表实体图谱和任务实体图谱,确定相同邻居信息的数据表和数据开发任务;
确定相同邻居信息的数据表和数据开发任务之间的匹配相似度;
将所述匹配相似度符合预设融合条件的数据表实体图谱和任务实体图谱,进行实体融合,获得实体融合图谱,并基于所述实体融合图谱确定更新后的血缘关系数据。
第二方面,本申请还提供了一种血缘关系数据确定装置。所述装置包括:
图谱获取模块,用于获取与待执行的数据开发任务对应的任务实体图谱,以及与所述数据开发任务关联的数据表实体图谱;
第一确定模块,用于基于所述数据表实体图谱和任务实体图谱,确定相同邻居信息的数据表和数据开发任务;
第二确定模块,用于确定相同邻居信息的数据表和数据开发任务之间的匹配相似度;
实体融合模块,用于将所述匹配相似度符合预设融合条件的数据表实体图谱和任务实体图谱,进行实体融合,获得实体融合图谱,并基于所述实体融合图谱确定更新后的血缘关系数据。
第三方面,本申请还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
获取与待执行的数据开发任务对应的任务实体图谱,以及与所述数据开发任务关联的数据表实体图谱;
基于所述数据表实体图谱和任务实体图谱,确定相同邻居信息的数据表和数据开发任务;
确定相同邻居信息的数据表和数据开发任务之间的匹配相似度;
将所述匹配相似度符合预设融合条件的数据表实体图谱和任务实体图谱,进行实体融合,获得实体融合图谱,并基于所述实体融合图谱确定更新后的血缘关系数据。
第四方面,本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
获取与待执行的数据开发任务对应的任务实体图谱,以及与所述数据开发任务关联的数据表实体图谱;
基于所述数据表实体图谱和任务实体图谱,确定相同邻居信息的数据表和数据开发任务;
确定相同邻居信息的数据表和数据开发任务之间的匹配相似度;
将所述匹配相似度符合预设融合条件的数据表实体图谱和任务实体图谱,进行实体融合,获得实体融合图谱,并基于所述实体融合图谱确定更新后的血缘关系数据。
第五方面,本申请还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
获取与待执行的数据开发任务对应的任务实体图谱,以及与所述数据开发任务关联的数据表实体图谱;
基于所述数据表实体图谱和任务实体图谱,确定相同邻居信息的数据表和数据开发任务;
确定相同邻居信息的数据表和数据开发任务之间的匹配相似度;
将所述匹配相似度符合预设融合条件的数据表实体图谱和任务实体图谱,进行实体融合,获得实体融合图谱,并基于所述实体融合图谱确定更新后的血缘关系数据。
上述血缘关系数据确定方法、装置、计算机设备、存储介质和计算机程序产品中,通过获取与待执行的数据开发任务对应的任务实体图谱,以及与数据开发任务关联的数据表实体图谱,并基于数据表实体图谱和任务实体图谱,确定相同邻居信息的数据表和数据开发任务,从而实现对数据表和数据开发任务在进行相似度匹配处理之前的数据分块,通过分块处理减少了后续的匹配处理次数,从而提升数据处理效率。进一步地,通过确定出相同邻居信息的数据表和数据开发任务之间的匹配相似度,并将匹配相似度符合预设融合条件的数据表实体图谱和任务实体图谱进行实体融合,以获得实体融合图谱,从而基于实体融合图谱进一步确定出更新后的血缘关系数据,减少数据处理过程中的识别误差和无效数据,提升了所确定出的血缘关系数据的覆盖率和准确度。
附图说明
图1为一个实施例中血缘关系数据确定方法的应用环境图;
图2为一个实施例中血缘关系数据确定方法的流程示意图;
图3为一个实施例中获得实体融合图谱的过程示意图;
图4为另一个实施例中血缘关系数据确定方法的流程示意图;
图5为一个实施例中确定相同邻居信息的数据表和数据开发任务之间的匹配相似度的流程示意图;
图6为一个实施例中确定与各属性相似度一一对应的权重数据的流程示意图;
图7为又一个实施例中血缘关系数据确定方法的流程示意图;
图8为再一个实施例中血缘关系数据确定方法的流程示意图;
图9为一个实施例中血缘关系数据确定方法的整体流程示意图;
图10为一个实施例中血缘关系数据确定装置的结构框图;
图11为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请实施例提供的血缘关系数据确定方法,可应用于云技术、人工智能、智慧交通、网络媒体以及辅助驾驶等各种场景。其中,人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。其中,人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。随着人工智能技术研究和进步,人工智能技术在多个领域展开研究和应用,例如常见的智能家居、智能穿戴设备、虚拟助理、智能音箱、智能营销、无人驾驶、自动驾驶、无人机、机器人、智能医疗、智能客服等,相信随着技术的发展,人工智能技术将在更多的领域得到应用,并发挥越来越重要的价值。
而云技术(Cloud technology)是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。具体来说,云技术(Cloud technology)是基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、以及应用技术等的总称,可以组成资源池,按需所用,灵活便利。其中,由于技术网络系统的后台服务需要大量的计算、存储资源,如视频网站、图片类网站和更多的门户网站,进而伴随着互联网行业的高度发展和应用,将来每个物品都有可能存在自己的识别标志,都需要传输到后台系统进行逻辑处理,不同程度级别的数据将会分开处理,各类行业数据皆需要强大的系统后盾支撑,只能通过云计算来实现,云计算技术将变成技术网络系统以及实际业务应用过程中的重要支撑。其中,云技术中的大数据(Big data)指的是无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。随着云时代的来临,大数据也吸引了越来越多的关注,大数据需要特殊的技术,以有效地处理大量的容忍经过时间内的数据。适用于大数据的技术,包括大规模并行处理数据库、数据挖掘、分布式文件系统、分布式数据库、云计算平台、互联网和可扩展的存储系统。随着互联网、实时数据流、连接设备多样化的发展,以及搜索服务、社会网络、移动商务和开放协作等需求的推动,云计算迅速发展起来。不同于以往的并行分布式计算,云计算的产生从理念上将推动整个互联网模式、企业管理模式发生革命性的变革。
本申请实施例提供的血缘关系数据确定方法,具体涉及云技术中的大数据技术、以及人工智能技术,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104进行通信。数据存储系统可以存储服务器104需要处理的数据。数据存储系统可以集成在服务器104上,也可以放在云上或其他网络服务器上。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑、物联网设备、便携式可穿戴设备以及飞行器等,物联网设备可为智能音箱、智能车载设备等。便携式可穿戴设备可为智能手表、智能手环、头戴设备等。服务器104可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器,终端102以及服务器104可以通过有线或无线通信方式进行直接或间接地连接,本申请实施例中不对此进行限制。
进一步地,终端102和服务器104均可单独用于执行本申请实施例中提供血缘关系数据确定,终端102和服务器104也可以协同执行本申请实施例提供血缘关系数据确定。举例来说,以终端102和服务器104协同执行本申请实施例提供血缘关系数据确定为例,服务器104通过获取与待执行的数据开发任务对应的任务实体图谱,以及与数据开发任务关联的数据表实体图谱,并基于数据表实体图谱和任务实体图谱,确定相同邻居信息的数据表和数据开发任务。其中,与待执行的数据开发任务对应的任务实体图谱,以及与数据开发任务关联的数据表实体图谱,可存储在服务器104的云端存储中、或数据存储系统中、或终端102的本地存储中,当需要进行确定出血缘关系数据时,可从服务器104、或数据存储系统、或终端102中获取。进一步地,服务器104通过确定出相同邻居信息的数据表和数据开发任务之间的匹配相似度,并将匹配相似度符合预设融合条件的数据表实体图谱和任务实体图谱,进行实体融合,从而获得实体融合图谱,以进一步基于实体融合图谱确定更新后的血缘关系数据。其中,在获得更新后的血缘关系数据后,可基于更新后的血缘关系数据,辅助发现数据开发任务上下游遗漏依赖关联的情况,还可根据更新后的血缘关系数据,确定出存在错误依赖关系的情况,应用于数据治理过程中发现无下游的节点或者数据,以进行治理,节约成本,并进一步提升数据开发任务的处理效率。
在一个实施例中,如图2所示,提供了一种血缘关系数据确定方法,以该方法应用于图1中的服务器为例进行说明,包括以下步骤:
步骤S202,获取与待执行的数据开发任务对应的任务实体图谱,以及与数据开发任务关联的数据表实体图谱。
其中,在不同应用程序开发或数据开发项目过程中,根据不同的实际需求,需要对海量数据进行处理和分析,而为了减少数据开发过程中的繁琐处理步骤,以及降低资源消耗,通常需要提前针对所涉及到的数据进行预先处理,并通过对数据的预先分块和进一步的匹配、融合处理,获得不同数据之间存在的关联关系或依赖关系等,以便后续根据数据之间的关联或依赖关系,在无效数据的治理、以及重复数据开发判定的场景下,辅助识别并治理无下游的数据或节点,提高数据开发效率、降低数据运维成本。
具体地,针对应用程序或数据开发项目过程中的不同数据开发任务,需要获取与数据开发任务对应的任务实体图谱、以及与数据开发任务关联的数据表实体图谱,从而基于任务实体图谱种的任务实体、以及数据表实体图谱中的数据表实体,实现图谱的融合,获得融合后的实体图谱,以基于融合后的实体图谱,获得数据开发任务之间、数据表之间、以及数据开发任务和数据表之间新增的血缘关系数据。其中,新增的血缘关系数据,可辅助发现数据开发任务上下游遗漏的依赖关联关系,从而解决数据孤岛问题,同时也可治理不存在下游的无效节点或数据,以降低数据开发过程中的数据运维成本。
在一个实施例中,生成与待执行的数据开发任务对应的任务实体图谱的方式,包括:
获取各数据开发任务之间的调度依赖关系,并根据调度依赖关系生成与数据开发任务对应的任务依赖关系数据表;根据数据开发任务中的各类元数据信息,确定与数据开发任务对应的任务属性数据表;根据任务依赖关系数据表和任务属性数据表,生成以任务为实体的任务实体图谱。
具体地,通过获取不同数据开发任务在不同数据平台的任务调度执行数据,获得数据开发任务之间的调度依赖关系,并根据调度依赖关系生成与数据开发任务对应的任务依赖关系数据表。其中,数据开发任务在不同数据平台之间的任务调度执行数据,可以理解为数据开发任务在同一个平台内部或跨平台的情况下,数据开发任务的执行顺序,比如先执行job1后执行job2等详细任务执行情况,从而可确定job1和job2之间存在调度依赖关系,进而通过获得不同数据开发任务各自的详细执行情况,可获得与不同数据开发任务对应的任务依赖关系数据表。
其中,获得与不同数据开发任务对应的任务依赖关系数据表之后,进一步根据数据开发任务中的各类元数据信息,确定与数据开发任务对应的任务属性数据表。其中,元数据可以理解为用于描述数据的数据属性的信息,用来支持如指示存储位置、历史数据、资源查找以及文件记录等功能,进而可根据数据开发任务中涉及的各类元数据的数据属性信息,确定与数据开发任务对应的任务属性数据,从而获得任务属性数据表。
具体来说,数据开发任务中涉及的各类元数据的数据属性信息,具体可以包括任务名称、负责人、任务创建时间以及任务的关联实例执行时间等。其中,一个任务对应的一个关联实例,即一个数据开发任务的关联实例,可以理解为是执行完对应数据开发任务的完整过程。
进一步地,在获得任务依赖关系数据表以及任务属性数据表后,基于任务依赖关系数据表和任务属性数据表,进行组合,生成以任务为实体的任务实体图谱。
其中,具体是通过确定出任务依赖关系数据表和任务属性数据表中的关联键,进而基于关联键,对任务依赖关系数据表和任务属性数据表进行数据组合处理,以获得组合处理后的以任务为实体的图谱关系数据,从而获得以任务为实体的任务实体图谱。其中,关联键具体可以是任务依赖关系数据表、以及任务属性数据表中共同存在的属性,比如数据开发任务,包括job1、job2、以及job N等。
在一个实施例中,生成与数据开发任务关联的数据表实体图谱的方式,包括:
获取与待执行的数据开发任务对应的任务读写数据表、以及任务出入库配置数据表;基于任务读写数据表和任务出入库配置数据表进行合并组合处理,获得数据表和数据开发任务之间的初级数据血缘关系;根据数据开发任务中的各类元数据信息,确定与数据表对应的表属性数据表;基于初级数据血缘关系和表属性数据表,生成以数据表为实体的数据表实体图谱。
具体地,通过对待执行的数据开发任务的基础执行逻辑进行解析,获得待执行的数据开发任务的任务读取表(即执行该数据任务时具体需要从哪张数据表中读取数据)、任务写入表(即执行该数据任务后具体需要将数据写入哪张数据表中),从而获得该数据开发任务的任务读写数据表。同样地,通过抽取数据开发任务对应的任务配置数据,并对任务配置数据进行解析,获得数据开发任务对应的输入配置数据、以及输出配置数据,并基于输入配置数据以及输出配置数据,得到包括出库任务、入库任务的任务类型所对应的读写数据表,从而获得任务出入库配置数据表。
其中,在获得任务读写数据表和任务出入库配置数据表后,基于任务读写数据表和任务出入库配置数据表进行合并组合处理,获得数据表和数据开发任务之间的初级数据血缘关系。
具体来说,通过采用对任务读写数据表以及任务出入库配置数据表,进行并集操作的方式,实现两个数据表之间的合并组合,以获得数据表和数据开发任务之间的初级数据血缘关系。具体来说,是针对任务读写数据表、以及任务出入库配置数据表中的数据开发任务和任务读写数据表,进行并集操作,可获得数据表和数据开发任务之间的初级数据血缘关系。其中,初级数据血缘关系可理解为在任务读写数据表和任务出入库配置数据表中,涉及的数据开发任务和数据表之间的依赖关联关系,包括执行不同任务时各自需要读取数据、写入数据的数据表。
同样地,在获得任务读写数据表以及任务出入库配置数据表后,还需进一步根据数据开发任务中的各类元数据信息,确定与数据表对应的表属性数据表。其中,元数据可以理解为用于描述数据的数据属性的信息,进而根据数据开发任务中的各类元数据信息,可进一步确定出与数据开发任务对应的任务读写数据表、和任务出入库配置数据表的各表属性数据,从而根据各表属性数据,获得与任务读写数据表以及任务出入库配置数据表的表属性数据表。其中,表属性数据具体包括表名称、负责人、表的创建时间以及分区生成时间等,还可包括数据表对应的产生任务。其中,分区表示用于存储不同时间段的数据的存储空间,分区生成时间表示创建存储数据的存储空间时的时间点,产生任务表示和数据表对应的数据开发任务,即执行某个数据开发任务时会用到某个数据表,则该数据表中会存储与该表对应的数据开发任务。
进一步地,在获得初级数据血缘关系和表属性数据表之后,进一步基于初级数据血缘关系和表属性数据表,生成以数据表为实体的数据表实体图谱。其中,具体可以是通过确定出初级数据血缘关系和表属性数据表中的关联键,并基于关联键,对初级数据血缘关系和表属性数据表进行数据组合处理,以获得组合处理后的以数据表为实体的图谱关系数据,从而获得以数据表为实体的数据表实体图谱。其中,关联键具体可以是初级数据血缘关系和表属性数据表中共同存在的属性,比如数据表,包括table1、table2、以及table N等。
步骤S204,基于数据表实体图谱和任务实体图谱,确定相同邻居信息的数据表和数据开发任务。
具体地,通过确定数据表实体图谱中存在连接关系的各数据表,以及确定任务实体图谱中存在连接关系的各数据开发任务,并基于存在连接关系的各数据表以及存在连接关系的各数据开发任务,确定出存在相同连接对象的数据表和数据开发任务,作为相同邻居信息的数据表和数据开发任务。
其中,基于以数据表为实体的数据表实体图谱,可确定出存在连接关系的各数据表,比如table1和table2存在连接关系,同样地,基于以任务为实体的任务实体图谱,也可确定出存在连接关系的各任务,比如job1和job2存在连接关系。
进一步地,由于初级数据血缘关系可理解为在任务读写数据表和任务出入库配置数据表中,涉及的数据开发任务和数据表之间的依赖关联关系,进而数据开发任务和数据表之间同样存在连接关系。可以理解的是,基于存在连接关系的各数据表、存在连接关系的各数据开发任务、以及初级数据血缘关系,可进一步确定出存在相同连接对象的数据表和数据开发任务。
举例来说,比如job1和job2、job2和job3存在连接关系,table2和table3存在连接关系,job1和table1存在连接关系,job2和table2存在连接关系,则可确定出table1、job2都和job1存在连接关系,即job1是table1和job2之间的相同连接对象,进而table1和job2属于相同邻居信息的数据表和数据开发任务。同样地,还可确定出job2和table3,均和table2连接,则table2是job2和table3之间的共同连接对象,进而job2和table3输入相同邻居信息的数据表和开发任务。
步骤S206,确定相同邻居信息的数据表和数据开发任务之间的匹配相似度。
具体地,基于相同邻居信息的数据表和数据开发任务,进一步进行属性信息识别和匹配,确定出数据表和数据开发任务之间的相同类别的属性信息,比如数据表中的表名称、和数据开发任务中的任务名称,可作为相同类别的属性信息,同样地,比如数据表中的表的创建时间、和数据开发任务中任务的创建时间,可作为相同类别的属性信息。其中,数据表和数据开发任务涉及的属性信息存在多种,相应也可获得多种相同类别的属性信息,即并不局限于任务名称(或表名称)、创建时间等类别。
进一步地,获得数据表和数据开发任务之间的相同类别的属性信息后,进一步按照属性信息的类别,分别确定出每种类别下的数据表和数据开发任务之间的属性相似度,从而通过结合与各属性相似度对应的权重数据,进行加权融合,融合得到相同邻居信息的数据表和数据开发任务之间的匹配相似度。
步骤S208,将匹配相似度符合预设融合条件的数据表实体图谱和任务实体图谱,进行实体融合,获得实体融合图谱,并基于实体融合图谱确定更新后的血缘关系数据。
具体地,预设融合条件包括匹配相似度大于预设相似度阈值,进而可通过获取预设相似度阈值,并将匹配相似度和预设相似度阈值进行比对,筛选出匹配相似度大于预设相似度阈值的目标数据表实体图谱和目标任务实体图谱。
其中,预设相似度阈值可根据不同实际开发任务进行设置和调整,不局限于具体取值。其中,若预设相似度阈值越大,则表明可融合的数据越少,同时可融合的数据之间的关联关系也越少,进而可达到融合后获得的血缘关系数据更精准的目的。举例来说,若预设相似度阈值设置为0.8,则表示需要将匹配相似度大于0.8的目标数据表实体图谱和目标任务实体图谱,进行实体融合。
进一步地,通过对与目标数据表实体图谱对应的目标数据表进行加工逻辑处理,将目标数据表封装至与目标任务实体图谱对应的目标数据开发任务中,将目标数据表和目标数据开发任务进行实体融合,从而获得实体融合图谱。其中,通过借助知识图谱的能力,将数据表和数据开发任务进行对齐和融合,可形成实现对数据开发任务和数据表的上下游读写关系的串联,补全数据之间的依赖、关联关系,并增强数据之间的血缘覆盖度。
其中,对与目标数据表实体图谱对应的目标数据表进行加工逻辑处理时,具体可以采用ETL处理(即Extract Transform Load,理解为描述将数据从来源端经过抽取(Extract)、转换(Transform)以及加载(Load)至目的端的过程),具体是将目标数据表实体图谱中的目标数据表进行抽取、转换处理,并将目标数据表加载、封装至与目标任务实体图谱对应的目标数据开发任务中,从而实现目标数据表和目标数据开发任务的这两种实体的融合,以获得最终的实体融合图谱。
在一个实施例中,在获得实体融合图谱后,进一步根据数据表实体图谱中数据表之间的血缘关系、任务实体图谱之间数据开发任务之间的血缘关系、以及实体融合图谱,确定更新后的血缘关系数据。其中,更新后的血缘关系数据,具体可以包括新增的数据表之间的血缘关系、或数据开发任务之间的血缘关系、或数据表和数据开发任务之间的血缘关系。
具体地,数据表实体图谱中数据表之间的连接关系,即可作为数据表实体图谱中数据表之间的血缘关系,同样地,任务实体图谱之间数据开发任务之间的连接关系,也可作为任务实体图谱之间数据开发任务之间的血缘关系。进而根据已有的数据表实体图谱中数据表之间的血缘关系、以及任务实体图谱之间数据开发任务之间的血缘关系,以及实体融合图谱中各节点的连接关系(即血缘关系),可获得通过实体融合处理后获得的新增的血缘关系数据。
举例来说,比如进行实体融合处理的目标数据表实体图谱中包括table1、table2和table3,且table2和table3之间存在连接关系,而目标任务实体图谱中包括job1、job2以及job3,且job1和job2之间存在连接关系、job2和job3之间存在连接关系。而进行实体融合处理所获得的实体融合图谱中,得到的节点包括:table1-job1节点、table2-job2节点、以及table3-job3节点,且table2-job2节点和table3-job3节点之间存在连接关系,table1-job1节点和table2-job2节点之间存在连接关系。
可以理解的是,通过融合处理后,由于table1-job1节点可共享原先job1的知识,则table1-job1节点得以链接到table2-job2节点,从而table1-job1节点,和table2-job2节点之间存在新增的连接关系,即新增的血缘关系具体包括table1和table2之间的连接关系。
在一个实施例中,如图3所示,提供了一种获得实体融合图谱的过程,参照图3可知,确定出匹配相似度大于预设相似度阈值的目标数据表实体图谱和目标任务实体图谱后,基于目标数据表实体图谱和目标任务实体图谱进行实体融合。其中,目标数据表实体图谱中包括table1、table2和table3,且table2和table3之间存在连接关系,而目标任务实体图谱中包括job1、job2以及job3,且job1和job2之间存在连接关系、job2和job3之间存在连接关系。
具体地,对目标数据表实体图谱和目标任务实体图谱进行实体融合后,可获得如图3所示的实体融合图谱。其中,在实体融合图谱中,得到的节点包括table1-job1节点、table2-job2节点、以及table3-job3节点,其中,由于table2和table3之间存在连接关系、job2和job3之间也存在连接关系,从而table1-job1节点可共享原先job1的知识,得以链接到table2-job2节点。
由此可见,在得到的实体融合图谱中,table2-job2节点和table3-job3节点之间存在连接关系,且table1-job1节点,同样也和table2-job2节点之间建立了新的连接关系,从而可得到更新后的血缘关系数据,得到在进行实体融合前不存在连接关系的节点之间的血缘关系,从而增强了数据之间的血缘覆盖度。同时,通过融合各种不同属性的数据,可解决数据孤岛问题,并进一步对数据表和数据开发任务之间的依赖、关联关系进行补全,从而可解决在进行数据解析时由于某些数据丢失(比如库名丢失等问题)引发的数据解析结果错误,导致出现数据之间的血缘关系遗漏的问题。
上述血缘关系数据确定方法中,通过获取与待执行的数据开发任务对应的任务实体图谱,以及与数据开发任务关联的数据表实体图谱,并基于数据表实体图谱和任务实体图谱,确定相同邻居信息的数据表和数据开发任务,从而实现对数据表和数据开发任务在进行相似度匹配处理之前的数据分块,通过分块处理减少了后续的匹配处理次数,从而提升数据处理效率。进一步地,通过确定出相同邻居信息的数据表和数据开发任务之间的匹配相似度,并将匹配相似度符合预设融合条件的数据表实体图谱和任务实体图谱进行实体融合,以获得实体融合图谱,从而基于实体融合图谱进一步确定出更新后的血缘关系数据,减少数据处理过程中的识别误差和无效数据,提升了所确定出的血缘关系数据的覆盖率和准确度。
在一个实施例中,如图4所示,提供了一种血缘关系数据确定方法,具体包括以下步骤:
步骤S401,获取各数据开发任务之间的调度依赖关系,并根据调度依赖关系生成与数据开发任务对应的任务依赖关系数据表。
具体地,通过获取不同数据开发任务在不同数据平台的任务调度执行数据,并根据任务调度执行数据确定数据开发任务之间的调度依赖关系。其中,任务调度执行数据可以理解为数据开发任务在同一个平台内部或跨平台的情况下,数据开发任务的执行顺序,比如先执行job1后执行job2等详细任务执行情况,从而可确定job1和job2之间存在调度依赖关系,进而通过获得不同数据开发任务各自的详细执行情况,可获得与不同数据开发任务对应的任务依赖关系,以进一步根据数据开发任务之间的调度依赖关系,可生成与数据开发任务对应的任务依赖关系数据表。
在一个实施例中,任务依赖关系数据表具体如下表1所示:
表1任务依赖关系数据表
From任务 To任务
job1 job2
job2 job3
job3 job4
其中,参照表1可知,任务依赖关系数据表中,实体为任务,form任务和to任务,可以理解为先执行form任务后和to任务,即比如先执行job1后执行job2,即job1和job2之间存在调度依赖关系,同样地,比如先执行job2后执行job3,则job2和job3之间存在调度依赖关系。
步骤S402,根据数据开发任务中的各类元数据信息,确定与数据开发任务对应的任务属性数据表。
具体地,元数据可以理解为用于描述数据的数据属性的信息,用来支持如指示存储位置、历史数据、资源查找以及文件记录等功能,则根据数据开发任务中涉及的各类元数据的数据属性信息(比如数据的名称、存储位置、以及数据创建时间等),可确定与数据开发任务对应的任务属性数据,包括任务名称、负责人、任务创建时间以及任务的关联实例执行时间等,从而获得任务属性数据表。
在一个实施例中,任务属性数据表具体如下表2所示:
表2任务属性数据表
任务 任务名称 负责人 任务创建时间 关联实例执行时间
job1 XX XX XX XX
job2 XX XX XX XX
job3 XX XX XX XX
job4 XX XX XX XX
其中,参照表2可知,每个任务,比如job1、job2、job3等,均包括任务名称、负责人、任务创建时间以及任务的关联实例执行时间等详细属性信息。其中,一个任务对应的一个关联实例,即一个数据开发任务的关联实例,可以理解为是执行完对应数据开发任务的完整过程。
步骤S403,根据任务依赖关系数据表和任务属性数据表,生成以任务为实体的任务实体图谱。
具体地,基于任务依赖关系数据表和任务属性数据表,进行组合,生成以任务为实体的任务实体图谱,其中,具体是通过确定出任务依赖关系数据表和任务属性数据表中的关联键,进而基于关联键,对任务依赖关系数据表和任务属性数据表进行数据组合处理,以获得组合处理后的以任务为实体的图谱关系数据,从而获得以任务为实体的任务实体图谱。其中,关联键具体可以是任务依赖关系数据表、以及任务属性数据表中共同存在的属性,比如数据开发任务,包括job1、job2、以及job N等。
在一个实施例中,以任务为实体的任务实体图谱对应的数据表如下表3所示:
表3任务实体图谱对应的数据表
其中,参照表3可知,通过对表1(即任务依赖关系数据表)和表2(即任务属性数据表)中共同存在的属性,即“任务”作为关联键,即将任务作为实体,from任务即为form实体,to任务即为to实体,对任务依赖关系数据表和任务属性数据表进行数据组合处理,从而生成以任务为实体的任务实体图谱对应的数据表。其中,参照表3可知,表3中form实体为job1,to实体为任务,则form实体属性中的详细信息,即为job1在表2(即任务属性数据表)中的任务属性信息,包括job1对应的任务名称、负责人、任务创建时间以及任务的关联实例执行时间等信息。
步骤S404,获取与待执行的数据开发任务对应的任务读写数据表、以及任务出入库配置数据表。
具体地,通过获取各待执行的数据开发任务对应的任务日志数据,并基于任务日志数据进行解析,获得任务日志数据携带的执行SQL逻辑,并通过对执行SQL逻辑进行解析,获得任务的任务读写数据表。其中,在数据开发过程中,数据通常会在不同数据开发任务之间的流转,而数据流转至SQL任务时,则会执行相应的SQL逻辑,即执行SQL逻辑,具体可以理解为需要执行的不同SQL语句,比如select语句、from语句、以及to语句等。
其中,对执行SQL逻辑进行解析时,具体可以采用SQL解析引擎(比如ApacheCalcite,具体理解为动态数据管理框架),进行解析,以获得数据开发任务的任务读取表、任务写入表,从而获得任务的任务读写数据表。其中,数据开发任务的任务读写数据表如下表4所示:
表4任务读写数据表
任务 读取表 写入表
job1 table1 table2
job2 table2 table3
其中,参照表4可知,执行job1时,需要从table1中读取所需数据,并将执行job1后得到的数据写入table2中,同样地,执行job2时,需要从table2中读取所需数据,并将执行job2后得到的数据写入table3中。
同样地,通过获取各待执行的数据开发任务对应的任务配置数据,并对任务配置数据进行解析,获得数据开发任务对应的输入配置数据、以及输出配置数据,并基于输入配置数据以及输出配置数据,得到包括出库任务、入库任务的任务类型所对应的读写数据表,从而获得任务出入库配置数据表。
进一步地,任务出入库配置数据表如下表5所示:
表5任务出入库配置数据表
任务 读取表 写入表
job3 table3 出库
job4 入库 table1
其中,基于数据开发任务的输入配置数据以及输出配置数据,进行解析后,可获得数据开发任务中出入库任务类型的读写数据表。参照表5可知,job3为出库任务,其读取表为table3,写入表为出库,即执行job3时,从table3中读取所需数据,并将所获得的需要出库的数据进行出库,侧重点在于可确定出实际需要进行出库的具体数据。同样地,job4为入库任务,其读取表为入库,其写入表为table1,即执行job4时,从其他平台或内部获取需要入库的数据,并将所获得的需要入库数据,写入table1中,侧重点在于可确定出实际需要进行入库的具体数据。
步骤S405,基于任务读写数据表和任务出入库配置数据表进行合并组合处理,获得数据表和数据开发任务之间的初级数据血缘关系。
具体地,通过采用对任务读写数据表以及任务出入库配置数据表,进行并集操作的方式,实现两个数据表之间的合并组合,以获得数据表和数据开发任务之间的初级数据血缘关系。具体来说,是针对任务读写数据表、以及任务出入库配置数据表中的数据开发任务和任务读写数据表,进行并集操作,可获得数据表和数据开发任务之间的初级数据血缘关系。其中,进行并集操作时,不进行排序处理,也不删除重复行,完成两个数据表之间的数据并集处理即可。
其中,初级数据血缘关系可理解为在任务读写数据表和任务出入库配置数据表中,涉及的数据开发任务和数据表之间的依赖关联关系,包括执行不同任务时各自需要读取数据、写入数据的数据表。
进一步地,初级数据血缘关系对应的数据表如下表6所示,
表6初级数据血缘关系对应的数据表
任务 读取表 写入表
job1 table1 table2
job2 table2 table3
job3 table3 出库
job4 入库 table1
其中,参照表6可知,通过对表4(即任务读写数据表)和表5(即任务出入库配置数据表)中数据开发任务和任务读写数据表,进行并集操作,可获得在表4(即任务读写数据表)和表5(即任务出入库配置数据表)中,涉及的数据开发任务和数据表之间的依赖关联关系,包括执行不同任务时各自需要读取数据、写入数据的数据表。比如,执行job1时,需要从table1中读取所需数据,并将执行job1后得到的数据写入table2中,执行job2时,需要从table2中读取所需数据,并将执行job2后得到的数据写入table3中。同样地,执行job3时,从table3中读取所需数据,并将所获得的需要出库的数据进行出库,执行job4时,从其他平台或内部获取需要入库的数据,并将所获得的需要入库数据,写入table1中。
步骤S406,根据数据开发任务中的各类元数据信息,确定与数据表对应的表属性数据表。
具体地,元数据可以理解为用于描述数据的数据属性的信息,用来支持如指示存储位置、历史数据、资源查找以及文件记录等功能,则根据数据开发任务中涉及的各类元数据的数据属性信息(比如数据的名称、存储位置、以及数据创建时间等),可确定与数据表对应的表属性数据,包括表名称、负责人、表的创建时间以及分区生成时间等,还可包括数据表对应的产生任务,进而获得数据表对应的表属性数据表。
其中,数据表对应的表属性数据表如下表7所示:
表7表属性数据表
数据表 表名称 负责人 表的创建时间 分区生成时间
table1 XX XX XX XX
table2 XX XX XX XX
table3 XX XX XX XX
table4 XX XX XX XX
其中,参照表7可知,每个数据表,比如table1、table2、table3等,均包括表名称、负责人、表的创建时间、分区生成时间等详细属性信息。其中,产生任务表示和数据表对应的数据开发任务,即执行某个数据开发任务时会用到某个数据表,则该数据表中会存储与该表对应的数据开发任务。
步骤S407,基于初级数据血缘关系和表属性数据表,生成以数据表为实体的数据表实体图谱。
具体地,通过确定出初级数据血缘关系和表属性数据表中的关联键,并基于关联键,对初级数据血缘关系和表属性数据表进行数据组合处理,以获得组合处理后的以数据表为实体的图谱关系数据,从而获得以数据表为实体的数据表实体图谱。其中,关联键具体可以是初级数据血缘关系和表属性数据表中共同存在的属性,比如数据表,包括table1、table2、以及table N等。
在一个实施例中,以数据表为实体的数据表实体图谱对应的数据表如下表8所示:
表8数据表实体图谱对应的数据表
其中,参照表8可知,通过确定出表6(即初级数据血缘关系对应的数据表)和表7(即表属性数据表),即“数据表”作为关联键,即将数据表作为实体,读取表即为from实体,写入表即为to实体,对初级数据血缘关系对应的数据表、以及表属性数据表进行数据组合处理,从而生成以数据表为实体的数据表实体图谱对应的数据表。其中,参照表8可知,表8中的from实体为table1,to实体为table2,则from实体属性中的详细信息,即为table1在表7(即表属性数据表)中的表属性信息,包括产生任务、表名称、负责人、表的创建时间以及分区生成时间等信息。
步骤S408,确定数据表实体图谱中存在连接关系的各数据表,以及确定任务实体图谱中存在连接关系的各数据开发任务。
具体地,基于以数据表为实体的数据表实体图谱,可确定出存在连接关系的各数据表,比如table1和table2存在连接关系,同样地,基于以任务为实体的任务实体图谱,也可确定出存在连接关系的各任务,比如job1和job2存在连接关系。
步骤S409,基于存在连接关系的各数据表、以及存在连接关系的各数据开发任务,确定出存在相同连接对象的数据表和数据开发任务,作为相同邻居信息的数据表和数据开发任务。
具体地,由于初级数据血缘关系可理解为在任务读写数据表和任务出入库配置数据表中,涉及的数据开发任务和数据表之间的依赖关联关系,进而数据开发任务和数据表之间同样存在连接关系。可以理解的是,基于存在连接关系的各数据表、存在连接关系的各数据开发任务、以及初级数据血缘关系,可进一步确定出存在相同连接对象的数据表和数据开发任务。
举例来说,比如job1和job2、job2和job3存在连接关系,table2和table3存在连接关系,job1和table1存在连接关系,job2和table2存在连接关系,则可确定出table1、job2都和job1存在连接关系,即job1是table1和job2之间的相同连接对象,进而table1和job2属于相同邻居信息的数据表和数据开发任务。同样地,还可确定出job2和table3,均和table2连接,则table2是job2和table3之间的共同连接对象,进而job2和table3输入相同邻居信息的数据表和开发任务。
步骤S410,确定相同邻居信息的数据表和数据开发任务之间的匹配相似度。
具体地,基于相同邻居信息的数据表和数据开发任务,进一步进行属性信息识别和匹配,确定出数据表和数据开发任务之间的相同类别的属性信息,比如数据表中的表名称、和数据开发任务中的任务名称,可作为相同类别的属性信息。
进一步地,按照各属性信息的类别,分别确定出每种类别下的数据表和数据开发任务之间的属性相似度,从而通过结合与各属性相似度对应的权重数据,对各属性相似度进行加权融合,融合得到相同邻居信息的数据表和数据开发任务之间的匹配相似度。
步骤S411,将匹配相似度符合预设融合条件的数据表实体图谱和任务实体图谱,进行实体融合,获得实体融合图谱,并基于实体融合图谱确定更新后的血缘关系数据。
具体地,通过获取预设相似度阈值,并将匹配相似度和预设相似度阈值进行比对,筛选出匹配相似度大于预设相似度阈值的目标数据表实体图谱和目标任务实体图谱。
进一步地,通过对与目标数据表实体图谱对应的目标数据表进行加工逻辑处理,将目标数据表封装至与目标任务实体图谱对应的目标数据开发任务中,将目标数据表和目标数据开发任务进行实体融合,从而获得实体融合图谱。
在一个实施例中,在获得实体融合图谱后,进一步根据数据表实体图谱中数据表之间的血缘关系、任务实体图谱之间数据开发任务之间的血缘关系、以及实体融合图谱,确定更新后的血缘关系数据。
具体地,数据表实体图谱中数据表之间的连接关系,即可作为数据表实体图谱中数据表之间的血缘关系,同样地,任务实体图谱之间数据开发任务之间的连接关系,也可作为任务实体图谱之间数据开发任务之间的血缘关系。进而根据已有的数据表实体图谱中数据表之间的血缘关系、以及任务实体图谱之间数据开发任务之间的血缘关系,以及实体融合图谱中各节点的连接关系(即血缘关系),可获得通过实体融合处理后获得的新增的血缘关系数据。
举例来说,比如进行实体融合处理的目标数据表实体图谱中包括table1、table2和table3,且table2和table3之间存在连接关系,而目标任务实体图谱中包括job1、job2以及job3,且job1和job2之间存在连接关系、job2和job3之间存在连接关系。而进行实体融合处理所获得的实体融合图谱中,得到的节点包括:table1-job1节点、table2-job2节点、以及table3-job3节点,且table2-job2节点和table3-job3节点之间存在连接关系,table1-job1节点和table2-job2节点之间存在连接关系。
可以理解的是,通过融合处理后,由于table1-job1节点可共享原先job1的知识,则table1-job1节点得以链接到table2-job2节点,从而table1-job1节点,和table2-job2节点之间存在新增的连接关系,即新增的血缘关系具体包括table1和table2之间的连接关系。
在一个实施例中,通过确定出数据表实体图谱和任务实体图谱之间的匹配相似度,并根据匹配相似度进一步确定出用于进行实体融合的目标数据表实体图谱和目标任务实体图谱,从而可通过进行实体融合,辅助发现数据开发任务上下游遗漏的依赖关联关系,比如,若判定job1和table1之间的匹配相似度大于预设相似度阈值,且table1的上游为table2,job2的任务写入表为table2,则job1和job2相似度较高,需要配置定时运行依赖关系。
同样地,也可以找到误配置的错误依赖关系,比如job1和job2之间存在调度依赖关系,job2的任务写入表为table2,但是对job1和table2进行匹配相似度计算后,其匹配相似度不满足预设融合条件,则表明job1、job2、table2之间存在错误配置的依赖关系,需要进行进一步识别和调整处理。
本实施例中,通过获取与待执行的数据开发任务对应的任务实体图谱,以及与数据开发任务关联的数据表实体图谱,并基于数据表实体图谱和任务实体图谱,确定相同邻居信息的数据表和数据开发任务,从而实现对数据表和数据开发任务在进行相似度匹配处理之前的数据分块,通过分块处理减少了后续的匹配处理次数,从而提升数据处理效率。其中,通过多元化的相似度识别处理,确定出相同邻居信息的数据表和数据开发任务之间的匹配相似度,且进行相似度计算时无需实时获取数据开发过程中的业务实际逻辑,仅根据基础属性信息即可实现相似度计算,减少了业务实际逻辑的泄漏风险。进一步地,通过将匹配相似度符合预设融合条件的数据表实体图谱和任务实体图谱进行实体融合,以获得实体融合图谱,从而基于实体融合图谱进一步确定出更新后的血缘关系数据,减少数据处理过程中的识别误差和无效数据,提升了所确定出的血缘关系数据的覆盖率和准确度。
在一个实施例中,如图5所示,确定相同邻居信息的数据表和数据开发任务之间的匹配相似度的步骤,具体包括:
步骤S502,确定数据表和数据开发任务之间的相同类别的属性信息,属性信息包括多个类别。
其中,数据表的属性信息包括表名称、负责人、表的创建时间、分区生成时间等,而数据开发任务的属性信息包括任务名称、负责人、任务创建时间以及任务的关联实例执行时间等。
具体来说,数据表和数据开发任务之间的相同类别的属性信息,比如数据表中的表名称和数据开发任务中的任务名称,属于相同类别的属性信息,数据表中的表的创建时间和数据开发任务中任务的创建时间,属于相同类别的属性信息,同样地,数据表中的负责人和数据开发任务中的负责人、数据表中表的创建时间和数据开发任务中任务创建时间、数据表中的分区生成时间和数据开发任务中关联实例执行时间,也分别属于相同类别的属性信息。
其中,针对任务依赖关系数据表中各任务之间的调度依赖关系,可获得上游任务队列和下游任务队列,而针对初级数据血缘关系对应的数据表中,各数据表的上下游关系,可获得上游表队列和下游表队列。同样地,上游任务队列和上游表队列、下游任务队列和下游表队列,也分别属于相同类别的属性信息。
步骤S504,获取与不同类别的属性信息对应的相似度确定逻辑,并根据相似度确定逻辑和对应类别的属性信息,确定相同邻居信息的数据表和数据开发任务之间的各属性相似度。
具体地,不同类别的属性信息对应的相似度确定逻辑不同,通过获取与不同类别的属性信息对应的相似度确定逻辑,并按照不同属性信息的类别,根据该类别下的属性信息内容,执行相应类别下的相似度确定逻辑,以获得相同邻居信息的数据表和数据开发任务之间的各属性相似度。
举例来说,比如针对任务名(或表名)的属性类别,采用计算文本重叠度(比如JACcard,即雅卡尔系数,用于计算文本相似度)的相似度确定逻辑,确定任务名和表名之间的属性相似度,其中,文本重叠度越大(即JACcard值),表明两者之间相似度越大。
同样地,针对表的创建时间(或任务创建时间)、分区生成时间(或关联实例执行时间)等的属性类别,则采用预设一个固定时间,分别计算表的创建时间和该固定时间之间的时间差、以及任务创建时间和该固定时间之间的时间差,并计算两个时间差之间的差值,以判断两个时间差之间的差值是否小于预设差值阈值的方式,来确定时间类别的属性相似度。其中,若两个时间差之间的差值小于预设差值阈值,则表明两个时间之间的相似度高。
步骤S506,根据各属性相似度、以及和各属性相似度一一对应的权重数据,确定相同邻居信息的数据表和数据开发任务之间的匹配相似度。
具体地,在实际数据开发过程中,不同类别的属性信息的相似度对应的权重数据不同,即需要获取与不同属性相似度对应的权重数据,并根据与各属性相似度一一对应的权重数据,对各属性相似度进行加权融合处理,以获得相同邻居信息的数据表和数据开发任务之间的匹配相似度。
进一步地,相同邻居信息的数据表和数据开发任务之间的匹配相似度S,通过以下公式(1)计算得到:
S=S1*W1+S2*W2+S3*W3+…+Sn*Wn(1);
其中,S1、S2、…、Sn,表示相同邻居信息的数据表和数据开发任务之间的各属性相似度,W1、W2、…、Wn,则表示与各属性相似度一一对应的权重数据,匹配相似度S,则具体是根据与各属性相似度一一对应的权重数据,对各属性相似度进行加权融合处理确定得到的。
本实施例中,通过确定数据表和数据开发任务之间的相同类别的属性信息,并获取与不同类别的属性信息对应的相似度确定逻辑,进而根据相似度确定逻辑和对应类别的属性信息,确定相同邻居信息的数据表和数据开发任务之间的各属性相似度。进一步地,根据各属性相似度、以及和各属性相似度一一对应的权重数据,确定出相同邻居信息的数据表和数据开发任务之间的匹配相似度。实现了全面考虑数据表和数据开发任务中的不同属性,并基于不同属性的属性相似度以及各自对应的权重数据,快速、准确确定出相同邻居信息的数据表和数据开发任务之间的相似匹配度,以减少相似度过低的数据之间的融合和匹配处理操作,降低数据运维成本,提升数据开发处理效率。
在一个实施例中,如图6所示,确定与各属性相似度一一对应的权重数据的步骤,具体包括:
步骤S602,对各属性相似度的权重数据进行初始化,获得初始权重。
其中,数据表和数据开发任务之间的相同类别的属性信息,包括:数据表中的表的创建时间和数据开发任务中任务的创建时间、数据表中的负责人和数据开发任务中的负责人、数据表中表的创建时间和数据开发任务中任务创建时间、数据表中的分区生成时间和数据开发任务中关联实例执行时间、上游任务队列和上游表队列、以及下游任务队列和下游表队列。
具体地,数据表和数据开发任务之间的属性相似度,包括:表的创建时间和任务的创建时间、数据表中的负责人和数据开发任务中的负责人、表的创建时间和任务创建时间、分区生成时间和关联实例执行时间、上游任务队列和上游表队列、以及下游任务队列和下游表队列等属性类别之间的属性相似度。
其中,不同属性类别的属性相似度对应的权重数据不同,可通过对各属性相似度的权重数据进行初始化后,获得初始权重,再对初始权重进行回归训练的方式,最终训练得到用于进行匹配相似度计算的权重数据。
步骤S604,获取标注后的标注后的标准血缘关系数据集,标注后的标准血缘关系数据集包括存在血缘关系的元数据和不存在血缘关系的元数据。
具体地,用于各属性相似度进行训练所采用的标注后的标准血缘关系数据集,具体包括存在血缘关系的元数据和不存在血缘关系的元数据,其中,存在血缘关系的元数据可以理解为通过预先筛选、测试以及标注后,确定真实存在依赖、关联关系的元数据。同样地,不存在血缘关系的元数据,则可以理解为通过预先筛选、校验以及标注后,确定不存在依赖、关联关系的元数据。
其中,标注后的标准血缘关系数据集中,存在血缘关系的元数据和不存在血缘关系的元数据之间的比例为1:1,即一个标注后的标准血缘关系数据集中,包括相同数量的存在血缘关系的元数据、以及不存在血缘关系的元数据。
步骤S606,根据标注后的标注后的标准血缘关系数据集,对各属性相似度的初始权重进行回归训练,训练得到与各属性相似度一一对应的权重数据。
具体地,采用回归训练的方式,根据标注后的标注后的标准血缘关系数据集,对各属性相似度的初始权重不断进行调整和更新,直至达到训练结束条件时,训练得到与各属性相似度对应的权重数据。
其中,回归训练的方式具体可以包括线性回归、逻辑回归以及多项式回归等多种回归方式。其中,训练结束条件可以理解为对属性相似度的初始权重的迭代或调整次数达到预设次数阈值,或对属性相似度的初始权重的训练过程中的训练损失值达到预设损失阈值。
进一步地,通过利用标注后的标注后的标准血缘关系数据集,对各属性相似度的初始权重进行调整和更新,在对属性相似度的初始权重的迭代、调整次数达到预设次数阈值时,或在对属性相似度的初始权重的训练过程中的训练损失值达到预设损失阈值时,完成对初始权重的训练,训练得到与各属性相似度对应的权重数据。
在一个实施例中,以采用逻辑回归(即Logistic Regression,逻辑回归模型)的方式,对各属性相似度的初始权重进行回归训练,训练得到与各属性相似度对应的权重数据为例,具体来说,采用逻辑回归的方式,根据标注后的标注后的标准血缘关系数据集,对各属性相似度的初始权重进行回归训练,在训练过程中,利用标注后的标注后的标准血缘关系数据集中的存在血缘关系的元数据和不存在血缘关系的元数据,不断调整各属性相似度的初始权重,直至确定达到训练结束条件。
其中,训练结束条件具体可以是训练过程中的训练损失值达到预设损失阈值,具体来说,回归训练过程中的训练损失函数具体可以是均方误差损失函数(即MSE,全称为Mean squared error)、或交叉熵损失函数(即Cross Entropy Loss)等,则具体可以是均方误差损失函数值、或交叉熵损失函数值达到预设损失阈值时,确定对各属性相似度的初始权重的训练结束,获得训练好的权重数据。其中,预设损失阈值可根据实际业务需求进行调整和设置,不局限于某个或某些具体取值。
同样地,训练结束条件也可以是对各属性相似度的初始权重的迭代次数达到预设次数阈值,即若检测到对各属性相似度的初始权重的迭代次数达到预设次数阈值,则确定对各属性相似度的初始权重的训练结束,获得训练好的权重数据。其中,预设次数阈值可根据实际业务需求进行调整和设置,不局限于某个或某些具体取值。
本实施例中,通过对各属性相似度的权重数据进行初始化,获得初始权重,并获取包括存在血缘关系的元数据和不存在血缘关系的元数据的标注后的标准血缘关系数据集,进而根据标注后的标注后的标准血缘关系数据集,对各属性相似度的初始权重进行回归训练,从而训练得到与各属性相似度一一对应的权重数据。实现了全面考虑不同的属性相似度,并通过对各属性相似度的权重进行调整和更新,直至获得满足实际业务需求的权重数据,从而可提升后续根据属性相似度以及各自的权重数据所确定出的匹配相似度的准确度,以进一步根据精准的匹配相似度,对数据表实体图谱和任务实体图谱的融合,获得准确、全面的数据之间的血缘关系数据。
在一个实施中,如图7所示,提供了一种血缘关系数据确定方法,具体包括以下步骤:
步骤S701,获取与待执行的数据开发任务对应的任务实体图谱,以及与数据开发任务关联的数据表实体图谱。
步骤S702,确定数据表实体图谱中存在连接关系的各数据表,以及确定任务实体图谱中存在连接关系的各数据开发任务。
步骤S703,基于存在连接关系的各数据表、以及存在连接关系的各数据开发任务,确定出存在相同连接对象的数据表和数据开发任务,作为相同邻居信息的数据表和数据开发任务。
步骤S704,确定数据表和数据开发任务之间的相同类别的属性信息,属性信息包括多个类别。
步骤S705,获取与不同类别的属性信息对应的相似度确定逻辑,并根据相似度确定逻辑和对应类别的属性信息,确定相同邻居信息的数据表和数据开发任务之间的各属性相似度。
步骤S706,根据各属性相似度、以及和各属性相似度一一对应的权重数据,确定相同邻居信息的数据表和数据开发任务之间的匹配相似度。
步骤S707,获取匹配相似度大于预设相似度阈值的目标数据表实体图谱和目标任务实体图谱。
步骤S708,对与目标数据表实体图谱对应的目标数据表进行加工逻辑处理,将目标数据表封装至与目标任务实体图谱对应的目标数据开发任务中,将目标数据表和目标数据开发任务进行实体融合,获得实体融合图谱。
步骤S709,根据数据表实体图谱中数据表之间的血缘关系、任务实体图谱之间数据开发任务之间的血缘关系、以及实体融合图谱,确定更新后的血缘关系数据。
上述血缘关系数据确定方法中,通过获取与待执行的数据开发任务对应的任务实体图谱,以及与数据开发任务关联的数据表实体图谱,并基于数据表实体图谱和任务实体图谱,确定相同邻居信息的数据表和数据开发任务,从而实现对数据表和数据开发任务在进行相似度匹配处理之前的数据分块,通过分块处理减少了后续的匹配处理次数,从而提升数据处理效率。进一步地,通过确定出相同邻居信息的数据表和数据开发任务之间的匹配相似度,并将匹配相似度符合预设融合条件的数据表实体图谱和任务实体图谱进行实体融合,以获得实体融合图谱,从而基于实体融合图谱进一步确定出更新后的血缘关系数据,减少数据处理过程中的识别误差和无效数据,提升了所确定出的血缘关系数据的覆盖率和准确度。
在一个实施例中,如图8所示,提供了一种血缘关系数据确定方法,具体包括以下步骤:
步骤S801,获取各数据开发任务之间的调度依赖关系,并根据调度依赖关系生成与数据开发任务对应的任务依赖关系数据表。
步骤S802,根据数据开发任务中的各类元数据信息,确定与数据开发任务对应的任务属性数据表。
步骤S803,根据任务依赖关系数据表和任务属性数据表,生成以任务为实体的任务实体图谱。
步骤S804,获取与待执行的数据开发任务对应的任务读写数据表、以及任务出入库配置数据表。
步骤S805,基于任务读写数据表和任务出入库配置数据表进行合并组合处理,获得数据表和数据开发任务之间的初级数据血缘关系。
步骤S806,根据数据开发任务中的各类元数据信息,确定与数据表对应的表属性数据表。
步骤S807,基于初级数据血缘关系和表属性数据表,生成以数据表为实体的数据表实体图谱。
步骤S808,确定数据表实体图谱中存在连接关系的各数据表,以及确定任务实体图谱中存在连接关系的各数据开发任务。
步骤S809,基于存在连接关系的各数据表、以及存在连接关系的各数据开发任务,确定出存在相同连接对象的数据表和数据开发任务,作为相同邻居信息的数据表和数据开发任务。
步骤S810,确定数据表和数据开发任务之间的相同类别的属性信息;属性信息包括多个类别。
步骤S811,获取与不同类别的属性信息对应的相似度确定逻辑,并根据相似度确定逻辑和对应类别的属性信息,确定相同邻居信息的数据表和数据开发任务之间的各属性相似度。
步骤S812,对各属性相似度的权重数据进行初始化,获得初始权重。
步骤S813,获取标注后的标注后的标准血缘关系数据集,标注后的标准血缘关系数据集包括存在血缘关系的元数据和不存在血缘关系的元数据。
步骤S814,根据标注后的标注后的标准血缘关系数据集,对各属性相似度的初始权重进行回归训练,训练得到与各属性相似度一一对应的权重数据。
步骤S815,根据各属性相似度、以及和各属性相似度一一对应的权重数据,确定相同邻居信息的数据表和数据开发任务之间的匹配相似度。
步骤S816,获取匹配相似度大于预设相似度阈值的目标数据表实体图谱和目标任务实体图谱。
步骤S817,对与目标数据表实体图谱对应的目标数据表进行加工逻辑处理,将目标数据表封装至与目标任务实体图谱对应的目标数据开发任务中,将目标数据表和目标数据开发任务进行实体融合,获得实体融合图谱。
步骤S818,根据数据表实体图谱中数据表之间的血缘关系、任务实体图谱之间数据开发任务之间的血缘关系、以及实体融合图谱,确定更新后的血缘关系数据。
上述血缘关系数据确定方法中,通过获取与待执行的数据开发任务对应的任务实体图谱,以及与数据开发任务关联的数据表实体图谱,并基于数据表实体图谱和任务实体图谱,确定相同邻居信息的数据表和数据开发任务,从而实现对数据表和数据开发任务在进行相似度匹配处理之前的数据分块,通过分块处理减少了后续的匹配处理次数,从而提升数据处理效率。其中,通过多元化的相似度识别处理,确定出相同邻居信息的数据表和数据开发任务之间的匹配相似度,且进行相似度计算时无需实时获取数据开发过程中的业务实际逻辑,仅根据基础属性信息即可实现相似度计算,减少了业务实际逻辑的泄漏风险。进一步地,通过将匹配相似度符合预设融合条件的数据表实体图谱和任务实体图谱进行实体融合,以获得实体融合图谱,从而基于实体融合图谱进一步确定出更新后的血缘关系数据,减少数据处理过程中的识别误差和无效数据,提升了所确定出的血缘关系数据的覆盖率和准确度。
在一个实施中,如图9所示提供了一种血缘关系数据确定方法,具体包括以下所示的部分:
P1、获得与数据开发任务对应的任务读写数据表
具体地,通过获取各待执行的数据开发任务对应的任务日志数据,并基于任务日志数据进行解析,获得任务日志数据携带的执行SQL逻辑,并通过对执行SQL逻辑进行解析,获得任务的任务读写数据表。其中,在数据开发过程中,数据通常会在不同数据开发任务之间的流转,而数据流转至SQL任务时,则会执行相应的SQL逻辑,即执行SQL逻辑,具体可以理解为需要执行的不同SQL语句,比如select语句、from语句、以及to语句等。
其中,对执行SQL逻辑进行解析时,具体可以采用SQL解析引擎(比如ApacheCalcite,具体理解为动态数据管理框架),进行解析,以获得数据开发任务的任务读取表、任务写入表,从而获得任务的任务读写数据表。
P2、获得与数据开发任务对应的任务出入库配置数据表
具体地,通过获取各待执行的数据开发任务对应的任务配置数据,并对任务配置数据进行解析,获得数据开发任务对应的输入配置数据、以及输出配置数据,并基于输入配置数据以及输出配置数据,得到包括出库任务、入库任务的任务类型所对应的读写数据表,从而获得任务出入库配置数据表。
P3、确定初级数据血缘关系
具体地,基于任务读写数据表和任务出入库配置数据表进行合并组合处理,获得数据表和数据开发任务之间的初级数据血缘关系。
进一步地,通过采用对任务读写数据表以及任务出入库配置数据表,进行并集操作的方式,实现两个数据表之间的合并组合,以获得数据表和数据开发任务之间的初级数据血缘关系。具体来说,是针对任务读写数据表、以及任务出入库配置数据表中的数据开发任务和任务读写数据表,进行并集操作,可获得数据表和数据开发任务之间的初级数据血缘关系。其中,进行并集操作时,不进行排序处理,也不删除重复行,完成两个数据表之间的数据并集处理即可。
其中,初级数据血缘关系可理解为在任务读写数据表和任务出入库配置数据表中,涉及的数据开发任务和数据表之间的依赖关联关系,包括执行不同任务时各自需要读取数据、写入数据的数据表。
P4、获得与数据表对应的表属性数据表
具体地,根据数据开发任务中的各类元数据信息,确定与数据表对应的表属性数据表。其中,元数据可以理解为用于描述数据的数据属性的信息,用来支持如指示存储位置、历史数据、资源查找以及文件记录等功能,则根据数据开发任务中涉及的各类元数据的数据属性信息(比如数据的名称、存储位置、以及数据创建时间等),可确定与数据表对应的表属性数据,包括表名称、负责人、表的创建时间以及分区生成时间等,还可包括数据表对应的产生任务,进而获得数据表对应的表属性数据表。
P5、确定以数据表为实体的数据表实体图谱
具体地,基于初级数据血缘关系和表属性数据表,生成以数据表为实体的数据表实体图谱。
进一步地,通过确定出初级数据血缘关系和表属性数据表中的关联键,并基于关联键,对初级数据血缘关系和表属性数据表进行数据组合处理,以获得组合处理后的以数据表为实体的图谱关系数据,从而获得以数据表为实体的数据表实体图谱。其中,关联键具体可以是初级数据血缘关系和表属性数据表中共同存在的属性,比如数据表,包括table1、table2、以及table N等。
P6、获得与数据开发任务对应的任务属性数据表
具体地,获取各数据开发任务之间的调度依赖关系,并根据调度依赖关系生成与数据开发任务对应的任务依赖关系数据表。
进一步地,通过获取不同数据开发任务在不同数据平台的任务调度执行数据,并根据任务调度执行数据确定数据开发任务之间的调度依赖关系。其中,任务调度执行数据可以理解为数据开发任务在同一个平台内部或跨平台的情况下,数据开发任务的执行顺序,比如先执行job1后执行job2等详细任务执行情况,从而可确定job1和job2之间存在调度依赖关系,进而通过获得不同数据开发任务各自的详细执行情况,可获得与不同数据开发任务对应的任务依赖关系,以进一步根据数据开发任务之间的调度依赖关系,可生成与数据开发任务对应的任务依赖关系数据表。
P7、获得与数据任务对应的任务依赖关系数据表
具体地,根据数据开发任务中的各类元数据信息,确定与数据开发任务对应的任务属性数据表。
其中,元数据可以理解为用于描述数据的数据属性的信息,用来支持如指示存储位置、历史数据、资源查找以及文件记录等功能,则根据数据开发任务中涉及的各类元数据的数据属性信息(比如数据的名称、存储位置、以及数据创建时间等),可确定与数据开发任务对应的任务属性数据,包括任务名称、负责人、任务创建时间以及任务的关联实例执行时间等,从而获得任务属性数据表。
P8、确定以任务为实体的任务实体图谱
具体地,根据任务依赖关系数据表和任务属性数据表,生成以任务为实体的任务实体图谱。
进一步地,基于任务依赖关系数据表和任务属性数据表,进行组合,生成以任务为实体的任务实体图谱,其中,具体是通过确定出任务依赖关系数据表和任务属性数据表中的关联键,进而基于关联键,对任务依赖关系数据表和任务属性数据表进行数据组合处理,以获得组合处理后的以任务为实体的图谱关系数据,从而获得以任务为实体的任务实体图谱。其中,关联键具体可以是任务依赖关系数据表、以及任务属性数据表中共同存在的属性,比如数据开发任务,包括job1、job2、以及job N等。
P9、通过实体融合生成实体融合图谱,根据实体融合图谱确定更新后的血缘关系数据
具体地,基于数据表实体图谱和任务实体图谱,确定相同邻居信息的数据表和数据开发任务,并确定相同邻居信息的数据表和数据开发任务之间的匹配相似度,进一步将匹配相似度符合预设融合条件的数据表实体图谱和任务实体图谱,进行实体融合,获得实体融合图谱,并基于实体融合图谱确定更新后的血缘关系数据。
其中,通过确定数据表和数据开发任务之间的相同类别的属性信息,并获取与不同类别的属性信息对应的相似度确定逻辑,以根据相似度确定逻辑和对应类别的属性信息,确定相同邻居信息的数据表和数据开发任务之间的各属性相似度。进而根据各属性相似度、以及和各属性相似度一一对应的权重数据,确定相同邻居信息的数据表和数据开发任务之间的匹配相似度。
具体来说,数据表和数据开发任务之间的属性相似度,包括:表的创建时间和任务的创建时间、数据表中的负责人和数据开发任务中的负责人、表的创建时间和任务创建时间、分区生成时间和关联实例执行时间、上游任务队列和上游表队列、以及下游任务队列和下游表队列等属性类别之间的属性相似度。
进一步地,通过获取匹配相似度大于预设相似度阈值的目标数据表实体图谱和目标任务实体图谱,并对与目标数据表实体图谱对应的目标数据表进行加工逻辑处理,将目标数据表封装至与目标任务实体图谱对应的目标数据开发任务中,将目标数据表和目标数据开发任务进行实体融合,获得实体融合图谱。进而可根据数据表实体图谱中数据表之间的血缘关系、任务实体图谱之间数据开发任务之间的血缘关系、以及实体融合图谱,确定更新后的血缘关系数据。
在一个实施例中,通过对与目标数据表实体图谱对应的目标数据表进行加工逻辑处理,将目标数据表封装至与目标任务实体图谱对应的目标数据开发任务中,将目标数据表和目标数据开发任务进行实体融合,从而获得实体融合图谱。其中,通过借助知识图谱的能力,将数据表和数据开发任务进行对齐和融合,可形成实现对数据开发任务和数据表的上下游读写关系的串联,补全数据之间的依赖、关联关系,并增强数据之间的血缘覆盖度。
其中,对与目标数据表实体图谱对应的目标数据表进行加工逻辑处理时,具体可以采用ETL处理(即Extract Transform Load,理解为描述将数据从来源端经过抽取(Extract)、转换(Transform)以及加载(Load)至目的端的过程),具体是将目标数据表实体图谱中的目标数据表进行抽取、转换处理,并将目标数据表加载、封装至与目标任务实体图谱对应的目标数据开发任务中,从而实现目标数据表和目标数据开发任务的这两种实体的融合,以获得最终的实体融合图谱。
在一个实施例中,在获得实体融合图谱后,进一步根据数据表实体图谱中数据表之间的血缘关系、任务实体图谱之间数据开发任务之间的血缘关系、以及实体融合图谱,确定更新后的血缘关系数据。
具体地,数据表实体图谱中数据表之间的连接关系,即可作为数据表实体图谱中数据表之间的血缘关系,同样地,任务实体图谱之间数据开发任务之间的连接关系,也可作为任务实体图谱之间数据开发任务之间的血缘关系。进而根据已有的数据表实体图谱中数据表之间的血缘关系、以及任务实体图谱之间数据开发任务之间的血缘关系,以及实体融合图谱中各节点的连接关系(即血缘关系),可获得通过实体融合处理后获得的新增的血缘关系数据。
举例来说,比如进行实体融合处理的目标数据表实体图谱中包括table1、table2和table3,且table2和table3之间存在连接关系,而目标任务实体图谱中包括job1、job2以及job3,且job1和job2之间存在连接关系、job2和job3之间存在连接关系。而进行实体融合处理所获得的实体融合图谱中,得到的节点包括:table1-job1节点、table2-job2节点、以及table3-job3节点,且table2-job2节点和table3-job3节点之间存在连接关系,table1-job1节点和table2-job2节点之间存在连接关系。
可以理解的是,通过融合处理后,由于table1-job1节点可共享原先job1的知识,则table1-job1节点得以链接到table2-job2节点,从而table1-job1节点,和table2-job2节点之间存在新增的连接关系,即新增的血缘关系具体包括table1和table2之间的连接关系。
在一个实施例中,确定与各属性相似度一一对应的权重数据的方式,包括:
对各属性相似度的权重数据进行初始化,获得初始权重;获取标注后的标注后的标准血缘关系数据集,标注后的标准血缘关系数据集包括存在血缘关系的元数据和不存在血缘关系的元数据;根据标注后的标注后的标准血缘关系数据集,对各属性相似度的初始权重进行回归训练,训练得到与各属性相似度一一对应的权重数据。
具体地,通过对各属性相似度的权重数据进行初始化后,获得初始权重,再对初始权重进行回归训练的方式,最终训练得到用于进行匹配相似度计算的权重数据。
其中,通过获取标注后的标注后的标准血缘关系数据集,标注后的标准血缘关系数据集包括存在血缘关系的元数据和不存在血缘关系的元数据,并采用回归训练的方式,根据标注后的标注后的标准血缘关系数据集,对各属性相似度的初始权重不断进行调整和更新,直至达到训练结束条件时,训练得到与各属性相似度对应的权重数据。其中,训练结束条件可以理解为对属性相似度的初始权重的迭代、调整次数达到预设次数阈值,或对属性相似度的初始权重的训练过程中的训练损失值达到预设损失值。
在一个实施例中,上述血缘关系数据确定方法的具体应用场景包括:
1)将根据血缘关系数据确定方法获得的血缘关系数据,应用于应用程序开发、数据开发等实际业务项目中,实现对各数据开发任务的依赖解析,解析得到各数据开发任务、数据表之间的依赖、关联关系。
其中,通过多元化的相似度识别以及知识图谱融合处理,可以补全数据表和数据开发任务之间的关联、依赖关系,挖掘数据之间更深层次的血液关系数据,从而提高各类不同属性的数据之间的血缘覆盖率,减少由于血缘覆盖率低导致的任务错误依赖关系和错误治理有效节点等问题的出现,并进一步提升数据开发效率和降低数据运维成本。
进一步地,由于无需针对所有的数据开发任务均获取其明文加工SQL逻辑,而是采用多元化的相似度识别处理,在进行相似度识别处理时所涉及到的属性信息为基础属性信息,不涉及项目开发过程中的实际业务信息,进而可避免实际业务信息的泄漏,提升数据开发过程中的业务安全保障。
2)将根据血缘关系数据确定方法获得的血缘关系数据,应用于数据治理中,根据血缘关系数据辅助发现无下游的节点,并进行节点治理,也可在重复数据开发判定场景下,识别无下游血缘数据表和相似加工链路表,从而提升数据运维效率。
3)将根据血缘关系数据确定方法获得的血缘关系数据,应用于下游评估分析,具体来说,在上游节点变更时,利用血缘关系数据实现对下游节点影响面的评估分析,准确、及时确定出受到变更影响的下游节点,并对受到变更影响的下游节点进行通知,以便及时处理逻辑的调整。
4)横向接入拓展新类型平台,将血缘关系数据确定方法应用至接入的不同平台,产出不同属性的数据之间的血缘关系数据。具体来说,进行多元化相似度计算时,整个计算链路采用的是普适结构的方式,进行上下游串接计算,新的数据源只需要在源头以相同的结构接入,即可低成本的并入整体血缘计算链路,实现低成本横向拓展,产出准确、全面的血缘关系数据。
上述血缘关系数据确定方法中,通过获取与待执行的数据开发任务对应的任务实体图谱,以及与数据开发任务关联的数据表实体图谱,并基于数据表实体图谱和任务实体图谱,确定相同邻居信息的数据表和数据开发任务,从而实现对数据表和数据开发任务在进行相似度匹配处理之前的数据分块,通过分块处理减少了后续的匹配处理次数,从而提升数据处理效率。其中,通过多元化的相似度识别处理,确定出相同邻居信息的数据表和数据开发任务之间的匹配相似度,且进行相似度计算时无需实时获取数据开发过程中的业务实际逻辑,仅根据基础属性信息即可实现相似度计算,减少了业务实际逻辑的泄漏风险。进一步地,通过将匹配相似度符合预设融合条件的数据表实体图谱和任务实体图谱进行实体融合,以获得实体融合图谱,从而基于实体融合图谱进一步确定出更新后的血缘关系数据,减少数据处理过程中的识别误差和无效数据,提升了所确定出的血缘关系数据的覆盖率和准确度。
应该理解的是,虽然如上的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的血缘关系数据确定方法的血缘关系数据确定装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个血缘关系数据确定装置实施例中的具体限定可以参见上文中对于血缘关系数据确定方法的限定,在此不再赘述。
在一个实施例中,如图10所示,提供了一种血缘关系数据确定装置,包括:图谱获取模块1002第一确定模块1004、第二确定模块1006、以及实体融合模块1008,其中:
图谱获取模块1002,用于获取与待执行的数据开发任务对应的任务实体图谱,以及与数据开发任务关联的数据表实体图谱。
第一确定模块1004,用于基于数据表实体图谱和任务实体图谱,确定相同邻居信息的数据表和数据开发任务。
第二确定模块1006,用于确定相同邻居信息的数据表和数据开发任务之间的匹配相似度。
实体融合模块1008,用于将匹配相似度符合预设融合条件的数据表实体图谱和任务实体图谱,进行实体融合,获得实体融合图谱,并基于实体融合图谱确定更新后的血缘关系数据。
上述血缘关系数据确定装置中,通过获取与待执行的数据开发任务对应的任务实体图谱,以及与数据开发任务关联的数据表实体图谱,并基于数据表实体图谱和任务实体图谱,确定相同邻居信息的数据表和数据开发任务,从而实现对数据表和数据开发任务在进行相似度匹配处理之前的数据分块,通过分块处理减少了后续的匹配处理次数,从而提升数据处理效率。进一步地,通过确定出相同邻居信息的数据表和数据开发任务之间的匹配相似度,并将匹配相似度符合预设融合条件的数据表实体图谱和任务实体图谱进行实体融合,以获得实体融合图谱,从而基于实体融合图谱进一步确定出更新后的血缘关系数据,减少数据处理过程中的识别误差和无效数据,提升了所确定出的血缘关系数据的覆盖率和准确度。
在一个实施例中,图谱获取模块,还用于:获取各数据开发任务之间的调度依赖关系,并根据调度依赖关系生成与数据开发任务对应的任务依赖关系数据表;根据数据开发任务中的各类元数据信息,确定与数据开发任务对应的任务属性数据表;根据任务依赖关系数据表和任务属性数据表,生成以任务为实体的任务实体图谱。
在一个实施例中,图谱获取模块,还用于:获取与待执行的数据开发任务对应的任务读写数据表、以及任务出入库配置数据表;基于任务读写数据表和任务出入库配置数据表进行合并组合处理,获得数据表和数据开发任务之间的初级数据血缘关系;根据数据开发任务中的各类元数据信息,确定与数据表对应的表属性数据表;基于初级数据血缘关系和表属性数据表,生成以数据表为实体的数据表实体图谱。
在一个实施例中,第一确定模块,还用于:确定数据表实体图谱中存在连接关系的各数据表,以及确定任务实体图谱中存在连接关系的各数据开发任务;基于存在连接关系的各数据表、以及存在连接关系的各数据开发任务,确定出存在相同连接对象的数据表和数据开发任务,作为相同邻居信息的数据表和数据开发任务。
在一个实施例中,第二确定模块,还用于:确定相同邻居信息的数据表和数据开发任务之间的属性相似度;根据各属性相似度、以及和各属性相似度一一对应的权重数据,确定相同邻居信息的数据表和数据开发任务之间的匹配相似度。
在一个实施例中,第二确定模块,还用于:确定数据表和数据开发任务之间的相同类别的属性信息;属性信息包括多个类别;获取与不同类别的属性信息对应的相似度确定逻辑,并根据相似度确定逻辑和对应类别的属性信息,确定相同邻居信息的数据表和数据开发任务之间的各属性相似度。
在一个实施例中,第二确定模块,还用于:对各属性相似度的权重数据进行初始化,获得初始权重;获取标注后的标注后的标准血缘关系数据集,标注后的标准血缘关系数据集包括存在血缘关系的元数据和不存在血缘关系的元数据;根据标注后的标注后的标准血缘关系数据集,对各属性相似度的初始权重进行回归训练,训练得到与各属性相似度一一对应的权重数据。
在一个实施例中,实体融合模块,还用于:获取匹配相似度大于预设相似度阈值的目标数据表实体图谱和目标任务实体图谱;对与目标数据表实体图谱对应的目标数据表进行加工逻辑处理,将目标数据表封装至与目标任务实体图谱对应的目标数据开发任务中,将目标数据表和目标数据开发任务进行实体融合,获得实体融合图谱。
在一个实施例中,实体融合模块,还用于:根据数据表实体图谱中数据表之间的血缘关系、任务实体图谱之间数据开发任务之间的血缘关系、以及实体融合图谱,确定更新后的血缘关系数据。
上述血缘关系数据确定装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图11所示。该计算机设备包括处理器、存储器、输入/输出接口(Input/Output,简称I/O)和通信接口。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储与数据开发任务对应的任务实体图谱、与数据开发任务关联的数据表实体图谱、相同邻居信息的数据表和数据开发任务、相同邻居信息的数据表和数据开发任务之间的匹配相似度、实体融合图谱、以及更新后的血缘关系数据等数据。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种血缘关系数据确定方法。
本领域技术人员可以理解,图11中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户的设备、个人信息等)和数据(包括但不限于用于分析、存储和展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。

Claims (13)

1.一种血缘关系数据确定方法,其特征在于,所述方法包括:
获取与待执行的数据开发任务对应的任务实体图谱,以及与所述数据开发任务关联的数据表实体图谱;
基于所述数据表实体图谱和任务实体图谱,确定相同邻居信息的数据表和数据开发任务;
确定相同邻居信息的数据表和数据开发任务之间的匹配相似度;
将所述匹配相似度符合预设融合条件的数据表实体图谱和任务实体图谱,进行实体融合,获得实体融合图谱,并基于所述实体融合图谱确定更新后的血缘关系数据。
2.根据权利要求1所述的方法,其特征在于,生成与待执行的数据开发任务对应的任务实体图谱,包括:
获取各所述数据开发任务之间的调度依赖关系,并根据所述调度依赖关系生成与所述数据开发任务对应的任务依赖关系数据表;
根据所述数据开发任务中的各类元数据信息,确定与数据开发任务对应的任务属性数据表;
根据所述任务依赖关系数据表和任务属性数据表,生成以任务为实体的任务实体图谱。
3.根据权利要求1所述的方法,其特征在于,生成与所述数据开发任务关联的数据表实体图谱,包括:
获取与待执行的数据开发任务对应的任务读写数据表、以及任务出入库配置数据表;
基于所述任务读写数据表和任务出入库配置数据表进行合并组合处理,获得数据表和数据开发任务之间的初级数据血缘关系;
根据所述数据开发任务中的各类元数据信息,确定与数据表对应的表属性数据表;
基于所述初级数据血缘关系和表属性数据表,生成以数据表为实体的数据表实体图谱。
4.根据权利要求1至3任意一项所述的方法,其特征在于,所述确定相同邻居信息的数据表和数据开发任务之间的匹配相似度,包括:
确定相同邻居信息的数据表和数据开发任务之间的属性相似度;
根据各所述属性相似度、以及和各属性相似度一一对应的权重数据,确定相同邻居信息的数据表和数据开发任务之间的匹配相似度。
5.根据权利要求4所述的方法,其特征在于,所述确定相同邻居信息的数据表和数据开发任务之间的属性相似度,包括:
确定所述数据表和数据开发任务之间的相同类别的属性信息;所述属性信息包括多个类别;
获取与不同类别的属性信息对应的相似度确定逻辑,并根据所述相似度确定逻辑和对应类别的属性信息,确定相同邻居信息的数据表和数据开发任务之间的各属性相似度。
6.根据权利要求4所述的方法,其特征在于,确定与各所述属性相似度一一对应的权重数据,包括:
对各所述属性相似度的权重数据进行初始化,获得初始权重;
获取标注后的标注后的标准血缘关系数据集,所述标注后的标准血缘关系数据集包括存在血缘关系的元数据和不存在血缘关系的元数据;
根据标注后的标注后的标准血缘关系数据集,对所述各属性相似度的初始权重进行回归训练,训练得到与各所述属性相似度一一对应的权重数据。
7.根据权利要求1至3任意一项所述的方法,其特征在于,所述基于所述数据表实体图谱和任务实体图谱,确定相同邻居信息的数据表和数据开发任务,包括:
确定所述数据表实体图谱中存在连接关系的各数据表,以及确定所述任务实体图谱中存在连接关系的各数据开发任务;
基于存在连接关系的各数据表、以及存在连接关系的各数据开发任务,确定出存在相同连接对象的数据表和数据开发任务,作为相同邻居信息的数据表和数据开发任务。
8.根据权利要求1至3任意一项所述的方法,其特征在于,所述预设融合条件包括匹配相似度大于预设相似度阈值;将所述匹配相似度符合预设融合条件的数据表实体图谱和任务实体图谱,进行实体融合,获得实体融合图谱,包括:
获取所述匹配相似度大于预设相似度阈值的目标数据表实体图谱和目标任务实体图谱;
对与所述目标数据表实体图谱对应的目标数据表进行加工逻辑处理,将所述目标数据表封装至与所述目标任务实体图谱对应的目标数据开发任务中,将目标数据表和目标数据开发任务进行实体融合,获得实体融合图谱。
9.根据权利要求8所述的方法,其特征在于,基于所述实体融合图谱确定更新后的血缘关系数据,包括:
根据所述数据表实体图谱中数据表之间的血缘关系、所述任务实体图谱之间数据开发任务之间的血缘关系、以及所述实体融合图谱,确定更新后的血缘关系数据。
10.一种血缘关系数据确定装置,其特征在于,所述装置包括:
图谱获取模块,用于获取与待执行的数据开发任务对应的任务实体图谱,以及与所述数据开发任务关联的数据表实体图谱;
第一确定模块,用于基于所述数据表实体图谱和任务实体图谱,确定相同邻居信息的数据表和数据开发任务;
第二确定模块,用于确定相同邻居信息的数据表和数据开发任务之间的匹配相似度;
实体融合模块,用于将所述匹配相似度符合预设融合条件的数据表实体图谱和任务实体图谱,进行实体融合,获得实体融合图谱,并基于所述实体融合图谱确定更新后的血缘关系数据。
11.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至9中任一项所述的方法的步骤。
12.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至9中任一项所述的方法的步骤。
13.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至9中任一项所述的方法的步骤。
CN202310459188.5A 2023-04-19 2023-04-19 血缘关系数据确定方法、装置、计算机设备和存储介质 Pending CN116975051A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310459188.5A CN116975051A (zh) 2023-04-19 2023-04-19 血缘关系数据确定方法、装置、计算机设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310459188.5A CN116975051A (zh) 2023-04-19 2023-04-19 血缘关系数据确定方法、装置、计算机设备和存储介质

Publications (1)

Publication Number Publication Date
CN116975051A true CN116975051A (zh) 2023-10-31

Family

ID=88475603

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310459188.5A Pending CN116975051A (zh) 2023-04-19 2023-04-19 血缘关系数据确定方法、装置、计算机设备和存储介质

Country Status (1)

Country Link
CN (1) CN116975051A (zh)

Similar Documents

Publication Publication Date Title
CN110489520B (zh) 基于知识图谱的事件处理方法、装置、设备和存储介质
US11537719B2 (en) Deep neural network system for similarity-based graph representations
US10725981B1 (en) Analyzing big data
US9330138B1 (en) Translating queries into graph queries using primitives
EP3144826B1 (en) A method and apparatus for representing compound relationships in a graph database
US9535963B1 (en) Graph-based queries
US9361320B1 (en) Modeling big data
Qian et al. Mining regional co-location patterns with k NNG
US20170161641A1 (en) Streamlined analytic model training and scoring system
US9378239B1 (en) Verifying graph-based queries
Gadepally et al. Ai enabling technologies: A survey
CN114579584B (zh) 数据表处理方法、装置、计算机设备和存储介质
CN113254630B (zh) 一种面向全球综合观测成果的领域知识图谱推荐方法
Bojchevski et al. Is pagerank all you need for scalable graph neural networks
US20230056760A1 (en) Method and apparatus for processing graph data, device, storage medium, and program product
CN112257959A (zh) 用户风险预测方法、装置、电子设备及存储介质
Sun Personalized music recommendation algorithm based on spark platform
EP3115911A1 (en) Method and system for fusing business data for distributional queries
CN116978450A (zh) 蛋白质数据的处理方法、装置、电子设备及存储介质
US11709798B2 (en) Hash suppression
CN116975051A (zh) 血缘关系数据确定方法、装置、计算机设备和存储介质
EP3771992A1 (en) Methods and systems for data ingestion in large-scale databases
Do et al. DW-PathSim: a distributed computing model for topic-driven weighted meta-path-based similarity measure in a large-scale content-based heterogeneous information network
CN111091198B (zh) 一种数据处理方法及装置
Milios et al. Component aggregation for PEPA models: An approach based on approximate strong equivalence

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication