CN113204594A - 数据血缘关系生成方法、装置、存储介质和计算机设备 - Google Patents
数据血缘关系生成方法、装置、存储介质和计算机设备 Download PDFInfo
- Publication number
- CN113204594A CN113204594A CN202110594991.0A CN202110594991A CN113204594A CN 113204594 A CN113204594 A CN 113204594A CN 202110594991 A CN202110594991 A CN 202110594991A CN 113204594 A CN113204594 A CN 113204594A
- Authority
- CN
- China
- Prior art keywords
- data
- node
- list
- relationship
- relation
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 59
- 239000008280 blood Substances 0.000 title claims abstract description 51
- 210000004369 blood Anatomy 0.000 title claims abstract description 51
- 238000013507 mapping Methods 0.000 claims description 16
- 238000004590 computer program Methods 0.000 claims description 12
- 238000012216 screening Methods 0.000 claims description 10
- 230000000007 visual effect Effects 0.000 claims description 3
- 238000012545 processing Methods 0.000 abstract description 8
- 238000007405 data analysis Methods 0.000 abstract description 2
- 238000004458 analytical method Methods 0.000 description 6
- 238000004140 cleaning Methods 0.000 description 2
- 238000007418 data mining Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
Images
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/25—Integrating or interfacing systems involving database management systems
- G06F16/254—Extract, transform and load [ETL] procedures, e.g. ETL data flows in data warehouses
-
- 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/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
-
- 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/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24553—Query execution of query operations
- G06F16/24554—Unary operations; Data partitioning operations
- G06F16/24556—Aggregation; Duplicate elimination
-
- 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/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/283—Multi-dimensional databases or data warehouses, e.g. MOLAP or ROLAP
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy 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)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Quality & Reliability (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及数据分析技术领域,揭示了一种数据血缘关系生成方法、装置、存储介质和计算机设备,其中方法包括:从所有数据源中获取数据,确定数据的数据源类型;根据所述数据源类型将所有数据源的数据分别分配至所述输入数据源列表及输出数据源列表,并确定所述数据之间的节点关系保存至所述数据关系列表;将输入数据源列表及输出数据源列表进行合并,并去除重复节点后,得到目标数据表;当目标数据表不存在中间节点关系的节点时,根据所有数据和节点关系生成数据血缘关系。本申请减少了重复节点及中间节点的处理及干扰,提高了数据血缘关系的生成效率。
Description
技术领域
本申请涉及到数据分析技术领域,特别是涉及到一种数据血缘关系生成方法、装置、存储介质和计算机设备。
背景技术
随着大数据技术的发展与应用,在大数据治理领域出现了数据血缘分析的需求,通过对数据库进行操作的结构化查询语句的分析与处理,可以梳理出数据之间的映射关系,形成数据地图,以便在海量的数据中追踪数据的流向,查看大数据系统中上游数据的来源与下游数据的去向,方便大数据开发人员以及业务分析人员掌握数据的来源和流向,从而更好地管理大数据系统,挖掘出数据血缘关系的价值。
但是,现有的数据血缘关系生成方法通过手动连接的方式将一个一个数据按照来源进行连接,以生成数据血缘关系,这导致数据血缘关系生成的效率较低。
发明内容
本申请的主要目的为提供一种数据血缘关系生成方法、装置、存储介质和计算机设备,以提高数据血缘关系的生成效率。
为了实现上述发明目的,本申请提出一种数据血缘关系生成方法,包括:
构建输入数据源列表、输出数据源列表及数据关系列表;
从所有数据源中获取数据,并确定所述所有数据源的数据的数据源类型;
根据所述数据源类型将所有数据源的数据分别分配至所述输入数据源列表及输出数据源列表,并确定所述数据之间的节点关系保存至所述数据关系列表;
将所述输入数据源列表及输出数据源列表进行合并,得到数据表;
去除所述数据表的重复节点,得到目标数据表;
循环扫描所述目标数据表,并根据所述数据关系列表判断所述目标数据表是否存在中间节点关系的节点;
当确定所述目标数据表不存在中间节点关系的节点时,获取所述目标数据表的所有数据,并获取所述数据关系列表的所有数据的节点关系,根据所有数据和节点关系生成数据血缘关系。
优选地,所述根据所述数据关系列表判断所述目标数据表是否存在中间节点关系的节点的步骤之后,还包括:
当确定所述目标数据表存在中间节点关系的节点时,获取所述中间节点关系的第一中间节点及第二中间节点;其中,所述第一中间节点及第二中间节点为与存在中间节点关系的所述节点直接连接的两个节点;
判断所述第一中间节点是否为所述第二中间节点的起始节点;
若是,根据所述数据关系列表查询所述第一中间节点的上一起始节点,构建上一起始节点与所述第二中间节点的节点关系;
若否,根据所述数据关系列表查询所述第二中间节点的下一结束节点,构建下一结束节点与所述第一中间节点的节点关系。
优选地,所述数据源类型包括输入数据源、中间数据源、输出数据源;所述根据所述数据源类型将所有数据源的数据分别分配至所述输入数据源列表及输出数据源列表,并确定所述数据之间的节点关系保存至所述数据关系列表的步骤,包括:
从所有数据源的数据中筛选出数据源类型为输入数据源的数据,得到输入数据,将所述输入数据保存至所述输入数据源列表,并确定所述输入数据的输入节点和中间节点的输入节点关系保存至所述数据关系列表;
从所有数据源的数据中筛选出数据源类型为中间数据源的数据,得到中间数据,确定所述中间数据在各个中间节点之间的中间节点关系保存至所述数据关系列表;
从所有数据源的数据中筛选出数据源类型为输出数据源的数据,得到输出数据,将所述输出数据保存至所述输出数据源列表,并确定所述输出数据的中间节点和输出节点的输出节点关系保存至所述数据关系列表。
进一步地,所述根据所述数据关系列表判断所述目标数据表是否存在中间节点关系的节点的步骤之后,还包括:
当确定所述目标数据表存在中间节点关系的节点时,获取所述中间节点关系的第一中间节点及第二中间节点;其中,所述第一中间节点及第二中间节点为与存在中间节点关系的所述节点直接连接的两个节点;
将所述第一中间节点及第二中间节点进行合并。
优选地,所述去除所述数据表的重复节点的步骤,包括:
获取所述数据表的所有节点及预先为各个节点设置的编号;
遍历所有节点的编号,对应各个编号保留唯一一个节点,并去除其他具有相同编号的节点。进一步地,所述根据所有数据和节点关系生成数据血缘关系的步骤之后,还包括:
根据所述数据血缘关系绘制数据血缘关系图;
将绘制好的数据血缘关系图发送至用户终端进行可视化显示。
进一步地,所述根据所有数据和节点关系生成数据血缘关系的步骤之后,还包括:
按照预设的接收频率从大数据平台中接收数据源表与所述目标数据表之间的映射关系;其中,所述数据源表存储有所有数据源的数据;
判断所述映射关系是否存在更新;
若所述映射关系存在更新,则对应更新所述数据血缘关系。
本申请还提供一种数据血缘关系生成装置,包括:
构建模块,用于构建输入数据源列表、输出数据源列表及数据关系列表;
获取模块,用于从所有数据源中获取数据,并确定所述所有数据源的数据的数据源类型;
分配模块,用于根据所述数据源类型将所有数据源的数据分别分配至所述输入数据源列表及输出数据源列表,并确定所述数据之间的节点关系保存至所述数据关系列表;
合并模块,用于将所述输入数据源列表及输出数据源列表进行合并,得到数据表;
去除模块,用于去除所述数据表的重复节点,得到目标数据表;
判断模块,用于循环扫描所述目标数据表,并根据所述数据关系列表判断所述目标数据表是否存在中间节点关系的节点;
生成模块,用于当确定所述目标数据表不存在中间节点关系的节点时,获取所述目标数据表的所有数据,并获取所述数据关系列表的所有数据的节点关系,根据所有数据和节点关系生成数据血缘关系。
本申请还提供一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述任一项所述方法的步骤。
本申请还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的方法的步骤。
本申请的数据血缘关系生成方法、装置、存储介质和计算机设备,通过将所有数据源的数据自动分配至对应的输入数据源列表或输出数据源列表,并确定数据之间的节点关系保存在构建的数据关系列表,以对数据及数据的节点关系分别保存、整理,便于后续调用;然后合并输入数据源列表及输出数据源列表,得到数据表,对数据表进行整合,去除重复节点,以减少重复节点及中间节点关系的节点的处理及干扰,直接连接数据的来源和输出的事实节点,方便快捷地生成数据的血缘关系,在保证数据的准确性的同时,提高数据血缘关系的生成效率。
附图说明
图1为本申请一实施例的数据血缘关系生成方法的流程示意图;
图2为本申请一实施例的数据血缘关系生成装置的结构示意框图;
图3为本申请一实施例的计算机设备的结构示意框图。
本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提出一种数据血缘关系生成方法,用于解决当前的数据血缘关系生成方法,通过手动连接的方式将一个一个数据按照来源进行连接,数据血缘关系的生成效率较低的问题,在一实施例中,如图1所示,该数据血缘关系生成方法包括:
S1、构建输入数据源列表、输出数据源列表及数据关系列表;
S2、从所有数据源中获取数据,并确定所述所有数据源的数据的数据源类型;
S3、根据所述数据源类型将所有数据源的数据分别分配至所述输入数据源列表及输出数据源列表,并确定所述数据之间的节点关系保存至所述数据关系列表;
S4、将所述输入数据源列表及输出数据源列表进行合并,得到数据表;
S5、去除所述数据表的重复节点,得到目标数据表;
S6、循环扫描所述目标数据表,并根据所述数据关系列表判断所述目标数据表是否存在中间节点关系的节点;
S7、当确定所述目标数据表不存在中间节点关系的节点时,获取所述目标数据表的所有数据,并获取所述数据关系列表的所有数据的节点关系,根据所有数据和节点关系生成数据血缘关系。
如上述步骤S1所述,本步骤预先构建输入数据源列表、输出数据源列表及数据关系列表。所述输入数据源列表用于存储数据源节点为输入节点的数据;所述输出数据源列表用于存储数据源节点为输出节点的数据;所述数据关系列表用于存储各个数据或数据源节点之间的关系,如A流向B,B流向C,则A为B的输入节点,C为B的输出节点,B为中间节点。
如上述步骤S2所述,可通过解析ETL任务,获取所有数据的数据源,并获取节点之间的关系,在ETL任务中涉及到的数据源主要是3类:数据库、文件、接口,对于每一类数据源都有属性,通过这些属性可以唯一确定一个数据源节点,这个数据源节点就是事实节点,都是血缘关系的真实节点。数据的数据源类型也可包括三种:输入数据源、中间数据源及输出数据源。
其中,数据库:DATABASE.SCHEMA.TABLE.FIELD。
文件:FILESYSTEM.FILE.FIELD。
接口:INTERFACE.DATASET.DATAITEM.FIELD。
其中,ETL负责将分散的、异构数据源中的数据如关系数据、平面数据文件等抽取到临时中间层后进行清洗、转换、集成,最后加载到数据仓库或数据集市中,成为联机分析处理、数据挖掘的基础。
如上述步骤S3所述,所述数据源类型可包括输入数据源、中间数据源、输出数据源,本步骤可根据数据是否存在输入节点或输出节点判断该数据的数据源类型,并依照数据源类型将所有数据源的数据对应分配至输入数据源列表或输出数据源列表。例如,输入数据源被分配至输入数据源列表,输出数据源被分配至输出数据源列表。其中,所述数据之间的节点关系用于判断两个数据中哪个为输入数据,哪个为输出数据。
在一实施例中,在本步骤S3中,所述根据所述数据源类型将所有数据源的数据分别分配至所述输入数据源列表及输出数据源列表,并确定所述数据之间的节点关系保存至所述数据关系列表的步骤,可具体包括:
S31、从所有数据源的数据中筛选出数据源类型为输入数据源的数据,得到输入数据,将所述输入数据保存至所述输入数据源列表,并确定所述输入数据的输入节点和中间节点的输入节点关系保存至所述数据关系列表;
S32、从所有数据源的数据中筛选出数据源类型为中间数据源的数据,得到中间数据,确定所述中间数据在各个中间节点之间的中间节点关系保存至所述数据关系列表;
S33、从所有数据源的数据中筛选出数据源类型为输出数据源的数据,得到输出数据,将所述输出数据保存至所述输出数据源列表,并确定所述输出数据的中间节点和输出节点的输出节点关系保存至所述数据关系列表。
在步骤S31中,当数据的数据源类型为输入数据源时,则将数据源类型为输入数据源的数据作为输入数据,将输入数据及输入数据的输入数据源节点信息保存至输入数据源列表,并确定输入数据的输入节点和中间节点的输入节点关系,将输入节点关系保存至数据关系列表。其中,所述输入数据源节点信息包括输入数据源的类型、数据的来源及流向。
在步骤S32中,本步骤可通过数据的数据来源和数据流向确定数据的数据源类型是否为中间数据源,筛选出数据源类型为中间数据源的数据,得到中间数据,中间数据为含有上一节点和下一节点的数据。如该数据的节点并非起始节点或结束节点时,则确定所述数据的数据源类型为中间数据。当中间数据中还存在多个其他中间数据时,则确定该中间数据在各个中间节点之间的关系保存至数据关系列表。如存在中间数据A和中间数据B,若中间数据A为中间数据B的来源,则可将中间数据A和中间数据B的关系以A→B的形式保存至数据关系列表中,简单直观。
在步骤S33中,当数据的数据源类型为输出数据源时,则将数据的输出数据源节点信息保存至输出数据源列表,并根据输出数据的来源及流向确定输出节点和中间节点的关系,将输出节点和中间节点的关系保存至数据关系列表。例如,当输出节点由中间节点直接流入,中间并无其他节点时,则输出节点和中间节点的关系为直接连接关系;当输出节点由中间节点间接流入,中间还经过其他节点时,则输出节点和中间节点的关系为间接连接关系。其中,所述输出数据源节点信息也包括输入数据源的类型、数据的来源及流向。
如上述步骤S4所述,当所有数据源的数据都已分配完毕,以及数据之间的关系都已确定后,则将输入数据源列表及输出数据源列表中具有相同的数据进行合并,并去除标点符号、特殊字符等无意义信息,最后将输入数据源列表及输出数据源列表整理成一个数据表,数据表中包括了所有数据源的数据,即包括输入数据源的输入数据、输出数据源的输出数据及节点。
如上述步骤S5所述,由于输入数据源的输入数据和输出数据源的输出数据也可能是中间数据,因此输入数据源的输入数据还可能是输出数据源的输出数据,输出数据源的输出数据也可能是输入数据源的输入数据,因此合并后的数据表会存在重复的节点,需要将同一数据重复的节点进行删除,从而得到目标数据表,以便后续分析。
在一实施例中,在本步骤S5中,所述去除所述数据表的重复节点的步骤,可具体包括:
获取所述数据表的所有节点及预先为各个节点设置的编号;
遍历所有节点的编号,对应各个编号保留唯一一个节点,并去除其他具有相同编号的节点。
在本实施例中,可预先为各个节点设置编号,编号以数字的形式,用于对节点进行标记,设置时,可根据数据的流向依次对各个节点进行编号,例如,当数据从节点A流向节点B时,则可将节点A设置为编号1,节点B设置为编号2,以便追踪。此外,相同的节点在不同数据表中的编号相同,因此可用于判断两个节点是否重复,并从所有节点中筛选出具有相同编号的节点,保留具有相同编号的节点中的一个,并去除剩余具有相同编号的节点,从而避免合并后的数据表存在重复的节点。
如上述步骤S6所述,本步骤可先确定目标数据表的起始位置至终止位置,从目标数据表的起始位置至终止位置循环扫描所述目标数据表,并在扫描过程中,根据数据关系列表判断目标数据表是否存在中间节点关系的节点。如数据的节点并非起始节点或结束节点时,则确定所述数据的数据源类型为中间数据,其所在的节点为中间节点,存在中间节点关系。
如上述步骤S7所述,当根据数据关系列表判断目标数据表不存在中间节点关系的节点时,则获取目标数据表的所有数据,并获取数据关系列表的所有节点关系,根据所有数据及其节点关系生成数据血缘关系。
在一实施例中,在本步骤S7中,所述根据所有数据和节点关系生成数据血缘关系的步骤,可具体包括:
根据所述节点关系将所有数据用箭头指向的形式进行连接,生成数据血缘关系。
本实施例可以箭头指向的形式按照节点关系将所有数据进行连接,以生成直观易懂的数据血缘关系。如A→B→C→D,即表明数据A流向B,数据B流向C,数据C流向D。
本申请的数据血缘关系生成方法,通过将所有数据源的数据自动分配至对应的输入数据源列表或输出数据源列表,并确定数据之间的节点关系保存在构建的数据关系列表,以对数据及数据的节点关系分别保存、整理,便于后续调用;然后合并输入数据源列表及输出数据源列表,得到数据表,对数据表进行整合,去除重复节点,以减少重复节点及中间节点关系的节点的处理及干扰,直接连接数据的来源和输出的事实节点,方便快捷地生成数据的血缘关系,在保证数据的准确性的同时,提高数据血缘关系的生成效率。
在一实施例中,如上述步骤S6所述,所述根据所述数据关系列表判断所述目标数据表是否存在中间节点关系的节点的步骤之后,还可包括:
S8、当确定所述目标数据表存在中间节点关系的节点时,获取所述中间节点关系的第一中间节点及第二中间节点;其中,所述第一中间节点及第二中间节点为与存在中间节点关系的所述节点直接连接的两个节点;
S9、判断所述第一中间节点是否为所述第二中间节点的起始节点;
S10、若是,根据所述数据关系列表查询所述第一中间节点的上一起始节点,构建上一起始节点与所述第二中间节点的节点关系;
S11、若否,根据所述数据关系列表查询所述第二中间节点的下一结束节点,构建下一结束节点与所述第一中间节点的节点关系。
如上述步骤S8所述,数据的中间节点关系以该数据为中心,还包括上一节点及下一节点,即两个中间节点,在ETL任务中为处理输入输出的处理过程,中间可能还有很多的数据清洗的处理过程,这些过程会对输入的字段信息进行各种处理,从而造成了很多的中间节点,有中间节点才能确定一对多或者多对一关系。ETL任务是由一系列的任务节点连接,首先确定一系列的来源数据源节点,然后对中间数据的增、减、合并、删除等操作,从而产生了中间节点,也就确定了输入节点和中间节点的一对多、对多一、一对一的关系。本步骤在确定目标数据表存在中间节点关系时,则获取中间节点关系的第一中间节点及第二中间节点。
如上述步骤S9所述,本步骤利用数据关系列表判断第一中间节点是否为第二中间节点的起始节点,例如,假设数据A为第一中间节点、数据B为第二中间节点,中间数据关系为A流向B,则数据A的第一中间节点为数据B的第二中间节点的起始节点。
如上述步骤S10所述,当确定第一中间节点为第二中间节点的起始节点时,则根据数据关系列表查询第一中间节点是否存在上一起始节点,则建立上一起始节点与第二中间节点的直接连接,以构建上一起始节点与所述第二中间节点的节点关系,以去除原第一中间节点,构建上一起始节点与第二中间节点的关系,从而准确地确定起始节点,直接连接来源和目标的事实节点,方便快捷地生成数据的血缘关系。
如上述步骤S11所述,当确定第一中间节点并非是第二中间节点的起始节点时,则根据数据关系列表查询第二中间节点是否存在下一结束节点,将下一结束节点作为第二中间节点,以去除原第二中间节点,构建第一中间节点与下一结束节点的直接映射关系,从而准确地确定结束节点,连接来源和目标的事实节点,方便快捷地生成数据的血缘关系。
在一实施例中,在步骤S6中,所述根据所述数据关系列表判断所述目标数据表是否存在中间节点关系的节点的步骤之后,还可包括:
D8、当确定所述目标数据表存在中间节点关系的节点时,获取所述中间节点关系的第一中间节点及第二中间节点;其中,所述第一中间节点及第二中间节点为与存在中间节点关系的所述节点直接连接的两个节点;
D9、将所述第一中间节点及第二中间节点进行合并。
如上述步骤D8所述,数据的中间节点关系以该数据为中心,还包括上一节点及下一节点,即两个中间节点。当确定目标数据表存在中间节点关系的节点时,则获取中间节点关系的第一中间节点及第二中间节点,第一中间节点及第二中间节点中的任意一个并非起始节点或结束节点。
如上述步骤D9所述,可通过将第一中间节点及第二中间节点进行合并的方式去除中间节点,从而直接构建起始节点与结束节点的映射关系,从而连接来源和目标的事实节点,方便快捷地生成数据的血缘关系。
在一实施例中,在步骤S7中,所述根据所有数据和节点关系生成数据血缘关系的步骤之后,还可包括:
根据所述数据血缘关系绘制数据血缘关系图;
将绘制好的数据血缘关系图发送至用户终端进行可视化显示。
在本实施例中,血缘关系处理绘制功能以Flask框架作为后端服务,当用户终端需要可视化血缘关系时,后端服务通过Flask框架来绘制数据血缘关系图,并将相应的血缘关系节点和关联结果返回给用户终端,以便用户直观地观测数据血缘关系。其中,Flask是一个使用Python编写的轻量级Web应用框架。
在一实施例中,在步骤S7中,所述根据所有数据和节点关系生成数据血缘关系的步骤之后,还可包括:
按照预设的接收频率从大数据平台中接收数据源表与所述目标数据表之间的映射关系;其中,所述数据源表存储有所有数据源的数据;
判断所述映射关系是否存在更新;
若所述映射关系存在更新,则对应更新所述数据血缘关系。
在本实施例中,针对数据血缘关系中的每个数据表,可预先建立数据源表与目标数据表之间的映射关系,通过实时遍历大数据平台中数据源表与目标数据表之间的映射关系,判断映射关系是否存在更新,或检测大数据平台上是否执行了新的SQL语句,若映射关系存在更新,或大数据平台上执行了新的SQL语句,则对应更新所述数据血缘关系。
参照图2,本申请实施例中还提供一种数据血缘关系生成装置,包括:
构建模块1,用于构建输入数据源列表、输出数据源列表及数据关系列表;
获取模块2,用于从所有数据源中获取数据,并确定所述所有数据源的数据的数据源类型;
分配模块3,用于根据所述数据源类型将所有数据源的数据分别分配至所述输入数据源列表及输出数据源列表,并确定所述数据之间的节点关系保存至所述数据关系列表;合并模块4,用于将所述输入数据源列表及输出数据源列表进行合并,得到数据表;
去除模块5,用于去除所述数据表的重复节点,得到目标数据表;
判断模块6,用于循环扫描所述目标数据表,并根据所述数据关系列表判断所述目标数据表是否存在中间节点关系的节点;
生成模块7,用于当确定所述目标数据表不存在中间节点关系的节点时,获取所述目标数据表的所有数据,并获取所述数据关系列表的所有数据的节点关系,根据所有数据和节点关系生成数据血缘关系。
在本装置中,预先构建输入数据源列表、输出数据源列表及数据关系列表。所述输入数据源列表用于存储数据源节点为输入节点的数据;所述输出数据源列表用于存储数据源节点为输出节点的数据;所述数据关系列表用于存储各个数据或数据源节点之间的关系,如A流向B,B流向C,则A为B的输入节点,C为B的输出节点,B为中间节点。
具体的,可通过解析ETL任务,获取所有数据的数据源,并获取节点之间的关系,在ETL任务中涉及到的数据源主要是3类:数据库、文件、接口,对于每一类数据源都有属性,通过这些属性可以唯一确定一个数据源节点,这个数据源节点就是事实节点,都是血缘关系的真实节点。数据的数据源类型也可包括三种:输入数据源、中间数据源及输出数据源。
其中,数据库:DATABASE.SCHEMA.TABLE.FIELD。
文件:FILESYSTEM.FILE.FIELD。
接口:INTERFACE.DATASET.DATAITEM.FIELD。
其中,ETL负责将分散的、异构数据源中的数据如关系数据、平面数据文件等抽取到临时中间层后进行清洗、转换、集成,最后加载到数据仓库或数据集市中,成为联机分析处理、数据挖掘的基础。
所述数据源类型可包括输入数据源、中间数据源、输出数据源,本实施例可根据数据是否存在输入节点或输出节点判断该数据的数据源类型,并依照数据源类型将所有数据源的数据对应分配至输入数据源列表或输出数据源列表。例如,输入数据源被分配至输入数据源列表,输出数据源被分配至输出数据源列表。其中,所述数据之间的节点关系用于判断两个数据中哪个为输入数据,哪个为输出数据。当所有数据源的数据都已分配完毕,以及数据之间的关系都已确定后,则将输入数据源列表及输出数据源列表中具有相同的数据进行合并,并去除标点符号、特殊字符等无意义信息,最后将输入数据源列表及输出数据源列表整理成一个数据表,数据表中包括了所有数据源的数据,即包括输入数据源的输入数据、输出数据源的输出数据及节点。
由于输入数据源的输入数据和输出数据源的输出数据也可能是中间数据,因此输入数据源的输入数据还可能是输出数据源的输出数据,输出数据源的输出数据也可能是输入数据源的输入数据,因此合并后的数据表会存在重复的节点,需要将同一数据重复的节点进行删除,从而得到目标数据表,以便后续分析。
此外,还可先确定目标数据表的起始位置至终止位置,可从目标数据表的起始位置至终止位置循环扫描所述目标数据表,并在扫描过程中,根据数据关系列表判断目标数据表是否存在中间节点关系的节点。如数据的节点并非起始节点或结束节点时,则确定所述数据的数据源类型为中间数据,其所在的节点为中间节点,存在中间节点关系。
当根据数据关系列表判断目标数据表不存在中间节点关系的节点时,则获取目标数据表的所有数据,并获取数据关系列表的所有节点关系,根据所有数据及其节点关系生成数据血缘关系。
如上所述,可以理解地,本申请中提出的所述数据血缘关系生成装置的各组成部分可以实现如上所述数据血缘关系生成方法任一项的功能,具体结构不再赘述。
参照图3,本申请实施例中还提供一种计算机设备,该计算机设备可以是服务器,其内部结构可以如图3所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设计的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种数据血缘关系生成方法。
上述处理器执行上述的数据血缘关系生成方法,包括:
构建输入数据源列表、输出数据源列表及数据关系列表;
从所有数据源中获取数据,并确定所述所有数据源的数据的数据源类型;
根据所述数据源类型将所有数据源的数据分别分配至所述输入数据源列表及输出数据源列表,并确定所述数据之间的节点关系保存至所述数据关系列表;将所述输入数据源列表及输出数据源列表进行合并,得到数据表;
去除所述数据表的重复节点,得到目标数据表;
循环扫描所述目标数据表,并根据所述数据关系列表判断所述目标数据表是否存在中间节点关系的节点;
当确定所述目标数据表不存在中间节点关系的节点时,获取所述目标数据表的所有数据,并获取所述数据关系列表的所有数据的节点关系,根据所有数据和节点关系生成数据血缘关系。
本申请一实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现一种数据血缘关系生成方法,包括步骤:
构建输入数据源列表、输出数据源列表及数据关系列表;
从所有数据源中获取数据,并确定所述所有数据源的数据的数据源类型;
根据所述数据源类型将所有数据源的数据分别分配至所述输入数据源列表及输出数据源列表,并确定所述数据之间的节点关系保存至所述数据关系列表;将所述输入数据源列表及输出数据源列表进行合并,得到数据表;
去除所述数据表的重复节点,得到目标数据表;
循环扫描所述目标数据表,并根据所述数据关系列表判断所述目标数据表是否存在中间节点关系的节点;
当确定所述目标数据表不存在中间节点关系的节点时,获取所述目标数据表的所有数据,并获取所述数据关系列表的所有数据的节点关系,根据所有数据和节点关系生成数据血缘关系。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的和实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双速据率SDRAM(SSRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
综上所述,本申请的最大有益效果在于:
本申请的数据血缘关系生成方法、装置、存储介质和计算机设备,通过将所有数据源的数据自动分配至对应的输入数据源列表或输出数据源列表,并确定数据之间的节点关系保存在构建的数据关系列表,以对数据及数据的节点关系分别保存、整理,便于后续调用;然后合并输入数据源列表及输出数据源列表,得到数据表,对数据表进行整合,去除重复节点,以减少重复节点及中间节点关系的节点的处理及干扰,直接连接数据的来源和输出的事实节点,方便快捷地生成数据的血缘关系,在保证数据的准确性的同时,提高数据血缘关系的生成效率。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
以上所述仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。
Claims (10)
1.一种数据血缘关系生成方法,其特征在于,包括:
构建输入数据源列表、输出数据源列表及数据关系列表;
从所有数据源中获取数据,并确定所述所有数据源的数据的数据源类型;
根据所述数据源类型将所有数据源的数据分别分配至所述输入数据源列表及输出数据源列表,并确定所述数据之间的节点关系保存至所述数据关系列表;
将所述输入数据源列表及输出数据源列表进行合并,得到数据表;
去除所述数据表的重复节点,得到目标数据表;
循环扫描所述目标数据表,并根据所述数据关系列表判断所述目标数据表是否存在中间节点关系的节点;
当确定所述目标数据表不存在中间节点关系的节点时,获取所述目标数据表的所有数据,并获取所述数据关系列表的所有数据的节点关系,根据所有数据和节点关系生成数据血缘关系。
2.根据权利要求1所述的方法,其特征在于,所述根据所述数据关系列表判断所述目标数据表是否存在中间节点关系的节点的步骤之后,还包括:
当确定所述目标数据表存在中间节点关系的节点时,获取所述中间节点关系的第一中间节点及第二中间节点;其中,所述第一中间节点及第二中间节点为与存在中间节点关系的所述节点直接连接的两个节点;
判断所述第一中间节点是否为所述第二中间节点的起始节点;
若是,根据所述数据关系列表查询所述第一中间节点的上一起始节点,构建上一起始节点与所述第二中间节点的节点关系;
若否,根据所述数据关系列表查询所述第二中间节点的下一结束节点,构建下一结束节点与所述第一中间节点的节点关系。
3.根据权利要求1所述的方法,其特征在于,所述数据源类型包括输入数据源、中间数据源、输出数据源;所述根据所述数据源类型将所有数据源的数据分别分配至所述输入数据源列表及输出数据源列表,并确定所述数据之间的节点关系保存至所述数据关系列表的步骤,包括:
从所有数据源的数据中筛选出数据源类型为输入数据源的数据,得到输入数据,将所述输入数据保存至所述输入数据源列表,并确定所述输入数据的输入节点和中间节点的输入节点关系保存至所述数据关系列表;
从所有数据源的数据中筛选出数据源类型为中间数据源的数据,得到中间数据,确定所述中间数据在各个中间节点之间的中间节点关系保存至所述数据关系列表;
从所有数据源的数据中筛选出数据源类型为输出数据源的数据,得到输出数据,将所述输出数据保存至所述输出数据源列表,并确定所述输出数据的中间节点和输出节点的输出节点关系保存至所述数据关系列表。
4.根据权利要求1所述的方法,其特征在于,所述根据所述数据关系列表判断所述目标数据表是否存在中间节点关系的节点的步骤之后,还包括:
当确定所述目标数据表存在中间节点关系的节点时,获取所述中间节点关系的第一中间节点及第二中间节点;其中,所述第一中间节点及第二中间节点为与存在中间节点关系的所述节点直接连接的两个节点;
将所述第一中间节点及第二中间节点进行合并。
5.根据权利要求1所述的方法,其特征在于,所述去除所述数据表的重复节点的步骤,包括:
获取所述数据表的所有节点及预先为各个节点设置的编号;
遍历所有节点的编号,对应各个编号保留唯一一个节点,并去除其他具有相同编号的节点。
6.根据权利要求1所述的方法,其特征在于,所述根据所有数据和节点关系生成数据血缘关系的步骤之后,还包括:
根据所述数据血缘关系绘制数据血缘关系图;
将绘制好的数据血缘关系图发送至用户终端进行可视化显示。
7.根据权利要求1所述的方法,其特征在于,所述根据所有数据和节点关系生成数据血缘关系的步骤之后,还包括:
按照预设的接收频率从大数据平台中接收数据源表与所述目标数据表之间的映射关系;其中,所述数据源表存储有所有数据源的数据;
判断所述映射关系是否存在更新;
若所述映射关系存在更新,则对应更新所述数据血缘关系。
8.一种数据血缘关系生成装置,其特征在于,包括:
构建模块,用于构建输入数据源列表、输出数据源列表及数据关系列表;
获取模块,用于从所有数据源中获取数据,并确定所述所有数据源的数据的数据源类型;
分配模块,用于根据所述数据源类型将所有数据源的数据分别分配至所述输入数据源列表及输出数据源列表,并确定所述数据之间的节点关系保存至所述数据关系列表;
合并模块,用于将所述输入数据源列表及输出数据源列表进行合并,得到数据表;
去除模块,用于去除所述数据表的重复节点,得到目标数据表;
判断模块,用于循环扫描所述目标数据表,并根据所述数据关系列表判断所述目标数据表是否存在中间节点关系的节点;
生成模块,用于当确定所述目标数据表不存在中间节点关系的节点时,获取所述目标数据表的所有数据,并获取所述数据关系列表的所有数据的节点关系,根据所有数据和节点关系生成数据血缘关系。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述数据血缘关系生成方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述数据血缘关系生成方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110594991.0A CN113204594B (zh) | 2021-05-28 | 2021-05-28 | 数据血缘关系生成方法、装置、存储介质和计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110594991.0A CN113204594B (zh) | 2021-05-28 | 2021-05-28 | 数据血缘关系生成方法、装置、存储介质和计算机设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113204594A true CN113204594A (zh) | 2021-08-03 |
CN113204594B CN113204594B (zh) | 2024-08-13 |
Family
ID=77023539
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110594991.0A Active CN113204594B (zh) | 2021-05-28 | 2021-05-28 | 数据血缘关系生成方法、装置、存储介质和计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113204594B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017101301A1 (zh) * | 2015-12-14 | 2017-06-22 | 乐视控股(北京)有限公司 | 数据信息处理方法及装置 |
CN110399359A (zh) * | 2019-07-24 | 2019-11-01 | 阿里巴巴集团控股有限公司 | 一种数据回溯方法、装置及设备 |
CN111694858A (zh) * | 2020-04-28 | 2020-09-22 | 平安科技(深圳)有限公司 | 数据血缘分析方法、装置、设备及计算机可读存储介质 |
CN112434046A (zh) * | 2020-12-16 | 2021-03-02 | 杭州天均科技有限公司 | 一种数据血缘分析方法、装置、设备及存储介质 |
CN112825068A (zh) * | 2019-11-21 | 2021-05-21 | 北京达佳互联信息技术有限公司 | 数据血缘生成方法及装置 |
-
2021
- 2021-05-28 CN CN202110594991.0A patent/CN113204594B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017101301A1 (zh) * | 2015-12-14 | 2017-06-22 | 乐视控股(北京)有限公司 | 数据信息处理方法及装置 |
CN110399359A (zh) * | 2019-07-24 | 2019-11-01 | 阿里巴巴集团控股有限公司 | 一种数据回溯方法、装置及设备 |
CN112825068A (zh) * | 2019-11-21 | 2021-05-21 | 北京达佳互联信息技术有限公司 | 数据血缘生成方法及装置 |
CN111694858A (zh) * | 2020-04-28 | 2020-09-22 | 平安科技(深圳)有限公司 | 数据血缘分析方法、装置、设备及计算机可读存储介质 |
CN112434046A (zh) * | 2020-12-16 | 2021-03-02 | 杭州天均科技有限公司 | 一种数据血缘分析方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113204594B (zh) | 2024-08-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106951430B (zh) | 账表查询方法及装置 | |
CN109542875B (zh) | 一种配置文件的生成方法及装置 | |
CN109614309B (zh) | 比较测试结果的方法、装置、计算机设备以及存储介质 | |
CN105468720A (zh) | 集成分布式数据处理系统的方法、相应系统及其数据处理方法 | |
CN110019754A (zh) | 一种知识库的建立方法、装置及设备 | |
CN111026883A (zh) | 电力业务数据的知识图谱构建方法、装置、设备和介质 | |
CN112433712A (zh) | 报表展示方法、装置、计算机设备和存储介质 | |
CN114969612A (zh) | 多租户数据隔离方法、系统和计算机设备 | |
CN115098600A (zh) | 用于数据仓库的有向无环图构建方法、装置和计算机设备 | |
US9009652B2 (en) | Method and system for handling software design conflicts | |
CN114186102A (zh) | 树形结构数据的构建方法、装置和计算机设备 | |
CN113779273A (zh) | 基于知识图谱的企业信息挖掘方法、装置、计算机及介质 | |
CN113204594A (zh) | 数据血缘关系生成方法、装置、存储介质和计算机设备 | |
CN111382250A (zh) | 问句文本的匹配方法、装置、计算机设备和存储介质 | |
CN107798450B (zh) | 业务分配方法和装置 | |
CN111090651B (zh) | 数据源的处理方法、装置、设备及可读存储介质 | |
CN110716765A (zh) | 一种单体应用Faas化的方法 | |
CN113722337B (zh) | 业务数据确定方法、装置、设备及存储介质 | |
CN116303516A (zh) | 一种更新知识图谱的方法、装置及相关设备 | |
CN111143356A (zh) | 报表检索方法及装置 | |
CN115455042A (zh) | 数据处理方法、设备以及计算机可读存储介质 | |
CN115063101A (zh) | 基于案例库的结构数据生成方法、系统、装置及存储介质 | |
CN113448980A (zh) | 用于生成sql语句的方法及装置、电子设备 | |
CN115185960A (zh) | 数据处理方法、数据关联系统以及计算机可读存储介质 | |
CN112287005A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |