CN117891979A - 血缘图谱构建方法、装置、电子设备和可读介质 - Google Patents
血缘图谱构建方法、装置、电子设备和可读介质 Download PDFInfo
- Publication number
- CN117891979A CN117891979A CN202410295138.2A CN202410295138A CN117891979A CN 117891979 A CN117891979 A CN 117891979A CN 202410295138 A CN202410295138 A CN 202410295138A CN 117891979 A CN117891979 A CN 117891979A
- Authority
- CN
- China
- Prior art keywords
- blood
- edge
- map
- node
- service data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 239000008280 blood Substances 0.000 title claims abstract description 283
- 210000004369 blood Anatomy 0.000 title claims abstract description 283
- 238000000034 method Methods 0.000 title claims abstract description 86
- 230000008569 process Effects 0.000 claims abstract description 39
- 238000004458 analytical method Methods 0.000 claims abstract description 36
- 238000005457 optimization Methods 0.000 claims abstract description 24
- 238000007781 pre-processing Methods 0.000 claims abstract description 23
- 238000013500 data storage Methods 0.000 claims abstract description 21
- 238000010586 diagram Methods 0.000 claims description 21
- 238000010276 construction Methods 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims description 10
- 238000001228 spectrum Methods 0.000 claims description 10
- 238000011112 process operation Methods 0.000 claims description 8
- 230000004044 response Effects 0.000 claims description 8
- 230000001186 cumulative effect Effects 0.000 claims description 4
- 125000004122 cyclic group Chemical group 0.000 claims description 3
- 238000001514 detection method Methods 0.000 abstract description 3
- 238000000547 structure data Methods 0.000 description 12
- 238000004422 calculation algorithm Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 10
- 238000000605 extraction Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 6
- 238000012545 processing Methods 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 4
- 210000004204 blood vessel Anatomy 0.000 description 3
- 230000002068 genetic effect Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000009825 accumulation Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 238000009960 carding Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9024—Graphs; Linked lists
-
- 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/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/02—Knowledge representation; Symbolic representation
- G06N5/022—Knowledge engineering; Knowledge acquisition
-
- 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)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开的实施例公开了血缘图谱构建方法、装置、电子设备和可读介质。该方法的一具体实施方式包括:确定目标业务指标集合涉及的业务数据表集合;对业务数据表集合中的每个业务数据表所涉及的数据存储过程操作语句进行语法结构预处理,以生成解析后操作语句;对解析后操作语句集合进行血缘图解析,以生成初始血缘图谱;对初始血缘图谱中的血缘节点集合进行血缘节点布局优化,以生成业务指标对应的血缘图谱;通过图数据库,对血缘图谱进行图谱存储。该实施方式可以实现精准的业务指标溯源,侧面实现了对业务指标状态的及时检测。
Description
技术领域
本公开的实施例涉及计算机技术领域,具体涉及血缘图谱构建方法、装置、电子设备和可读介质。
背景技术
在业务数据的治理过程中,往往需要根据业务需求、结合业务数据加工生产多种业务指标。由于业务逻辑复杂,导致业务指标的生成过程以及更新过程较为复杂。实践中,在进行业务指标生成时,通常采用的方式是:根据业务需求,结合业务数据,手动配置业务指标。
然而,发明人发现,当采用上述方式时,经常会存在如下技术问题:
第一,手动配置业务指标的方式,难以自动解析多个业务指标之间的依赖关系,导致难以对业务指标进行溯源,从而无法有效地检测业务指标状态;
第二,血缘图谱构建过程中,由于数据颗粒度较大,导致构建的血缘图谱难以有效反映数据之间的依赖关系,从而降低了血缘图谱针对业务指标的依赖关系表达;
第三,血缘图谱往往包含多个血缘节点,当血缘图谱的图谱结构较复杂时,查找存在关联关系的血缘节点时可能会增加查找时间,导致查找速度不佳。
该背景技术部分中所公开的以上信息仅用于增强对本发明构思的背景的理解,并因此,其可包含并不形成本国的本领域普通技术人员已知的现有技术的信息。
发明内容
本公开的内容部分用于以简要的形式介绍构思,这些构思将在后面的具体实施方式部分被详细描述。本公开的内容部分并不旨在标识要求保护的技术方案的关键特征或必要特征,也不旨在用于限制所要求的保护的技术方案的范围。
本公开的一些实施例提出了血缘图谱构建方法、装置、电子设备和可读介质,来解决以上背景技术部分提到的技术问题中的一项或多项。
第一方面,本公开的一些实施例提供了一种血缘图谱构建方法,该方法包括:确定目标业务指标集合涉及的业务数据表集合,其中,上述目标业务指标集合待生成对应的血缘图谱,上述业务数据表集合中的业务数据表的数据表类型包括:宽表数据表类型和非宽表数据表类型,宽表数据表类型的业务数据表用于存储各个业务源的业务数据或用于存储单一业务源的业务数据,上述业务数据表集合对应的业务数据通过分布式闪存数据库存储;对上述业务数据表集合中的每个业务数据表所涉及的数据存储过程操作语句进行语法结构预处理,以生成解析后操作语句,得到解析后操作语句集合;对上述解析后操作语句集合进行血缘图解析,以生成初始血缘图谱;对上述初始血缘图谱中的血缘节点集合进行血缘节点布局优化,以生成上述业务指标对应的血缘图谱,其中,上述血缘图谱包括:血缘节点集合和血缘边信息集合,血缘节点对应业务数据表中数据集粒度的业务数据,血缘边信息用于描述血缘节点之间的连接关系;通过图数据库,对上述血缘图谱进行图谱存储。
第二方面,本公开的一些实施例提供了一种血缘图谱构建装置,装置包括:确定单元,被配置成确定目标业务指标集合涉及的业务数据表集合,其中,上述目标业务指标集合待生成对应的血缘图谱,上述业务数据表集合中的业务数据表的数据表类型包括:宽表数据表类型和非宽表数据表类型,宽表数据表类型的业务数据表用于存储各个业务源的业务数据或用于存储单一业务源的业务数据,上述业务数据表集合对应的业务数据通过分布式闪存数据库存储;语法结构预处理单元,被配置成对上述业务数据表集合中的每个业务数据表所涉及的数据存储过程操作语句进行语法结构预处理,以生成解析后操作语句,得到解析后操作语句集合;血缘图解析单元,被配置成对上述解析后操作语句集合进行血缘图解析,以生成初始血缘图谱;血缘节点布局优化单元,被配置成对上述初始血缘图谱中的血缘节点集合进行血缘节点布局优化,以生成上述业务指标对应的血缘图谱,其中,上述血缘图谱包括:血缘节点集合和血缘边信息集合,血缘节点对应业务数据表中数据集粒度的业务数据,血缘边信息用于描述血缘节点之间的连接关系;图谱存储单元,被配置成通过图数据库,对上述血缘图谱进行图谱存储。
第三方面,本公开的一些实施例提供了一种电子设备,包括:一个或多个处理器;存储装置,其上存储有一个或多个程序,当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现上述第一方面任一实现方式所描述的方法。
第四方面,本公开的一些实施例提供了一种计算机可读介质,其上存储有计算机程序,其中,程序被处理器执行时实现上述第一方面任一实现方式所描述的方法。
本公开的上述各个实施例具有如下有益效果:通过本公开的一些实施例的血缘图谱构建方法,通过生成可以表征业务指标之间依赖关系的血缘图谱,使得可以对业务指标进行溯源,进而可以实现对业务指标状态的及时检测。具体来说,造成无法有效地检测业务指标状态的原因在于:手动配置业务指标的方式,难以自动解析多个业务指标之间的依赖关系,导致难以对业务指标进行溯源,从而无法有效地检测业务指标状态。基于此,本公开的一些实施例的血缘图谱构建方法,首先,确定目标业务指标集合涉及的业务数据表集合,其中,上述目标业务指标集合待生成对应的血缘图谱,上述业务数据表集合中的业务数据表的数据表类型包括:宽表数据表类型和非宽表数据表类型,宽表数据表类型的业务数据表用于存储各个业务源的业务数据或用于存储单一业务源的业务数据,上述业务数据表集合对应的业务数据通过分布式闪存数据库存储。其次,对上述业务数据表集合中的每个业务数据表所涉及的数据存储过程操作语句进行语法结构预处理,以生成解析后操作语句,得到解析后操作语句集合。实践中,由于存储介质(例如,数据库)类型存在差异,不同业务源的业务数据对应的数据存储过程操作语句的语句格式可能存在差异,因此需要对语句进行语法结构预处理。接着,对上述解析后操作语句集合进行血缘图解析,以生成初始血缘图谱。进一步,对上述初始血缘图谱中的血缘节点集合进行血缘节点布局优化,以生成上述业务指标对应的血缘图谱,其中,上述血缘图谱包括:血缘节点集合和血缘边信息集合,血缘节点对应业务数据表中数据集粒度的业务数据,血缘边信息用于描述血缘节点之间的连接关系。实践中,随着业务数据体量,以及涉及的业务指标数量增加,血缘图谱包含的血缘节点以及连接血缘节点的血缘边的数量和复杂度也会随之增加,通过对血缘节点进行布局优化,可以有效地提高血缘图谱对业务指标之间依赖关系的表达。最后,通过图数据库,对上述血缘图谱进行图谱存储。通过此种方式,可以生成有效表达业务指标依赖关系的血缘图谱,可以实现精准的业务指标溯源,侧面实现了对业务指标状态的及时检测。
附图说明
结合附图并参考以下具体实施方式,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。贯穿附图中,相同或相似的附图标记表示相同或相似的元素。应当理解附图是示意性的,元件和元素不一定按照比例绘制。
图1是根据本公开的血缘图谱构建方法的一些实施例的流程图;
图2是业务数据表集合、业务源和目标业务指标集合之间的结构关系图;
图3是血缘图谱中的局部图谱结构的示意图;
图4是血缘图谱中的局部图谱结构的另一示意图;
图5是血缘图谱中的局部图谱结构的再一示意图;
图6是节点位置调整过程示意图;
图7是根据本公开的血缘图谱构建装置的一些实施例的结构示意图;
图8是适于用来实现本公开的一些实施例的电子设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例。相反,提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合。
需要注意,本公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
本公开实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。
下面将参考附图并结合实施例来详细说明本公开。
参考图1,示出了根据本公开的血缘图谱构建方法的一些实施例的流程100。该血缘图谱构建方法,包括以下步骤:
步骤101,确定目标业务指标集合涉及的业务数据表集合。
在一些实施例中,血缘图谱构建方法的执行主体(例如,计算设备)可以确定目标业务指标集合涉及的业务数据表集合。其中,目标业务指标集合待生成对应的血缘图谱。实践中,目标业务指标可以是用于刻画业务数据的数据状态和数据变化的指标数据。业务数据表可以是用于存储目标业务指标涉及的业务数据的数据表。业务数据表集合中的业务数据表的数据表类型包括:宽表数据表类型和非宽表数据表类型。其中,宽表数据表类型的业务数据表用于存储各个业务源的业务数据或用于存储单一业务源的业务数据。非宽表数据表类型用于存储单一业务源的业务数据。业务数据表集合对应的业务数据通过分布式闪存数据库存储。例如,业务数据表对应的业务数据可以通过星环Argodb数据库存储。
作为示例,首先,上述执行主体可以确定有待生成对应血缘图谱的业务指标,作为目标业务指标,得到上述目标业务指标集合。然后,上述执行主体可以将可能包含涉及目标业务指标对应的业务数据的业务数据表,作为上述业务数据表集合。
作为又一示例,如图2所示的业务数据表集合、业务源和目标业务指标集合之间的结构关系图,其中,目标业务指标集合包括:目标业务指标A和目标业务指标B。业务数据表集合包括:业务数据表A、业务数据表B、业务数据表C、业务数据表D、业务数据表E、业务数据表F、业务数据表G和业务数据表H。其中,业务数据表A对应业务源A。业务数据表B对应业务源B。业务数据表C对应业务源C。业务数据表D对应业务源D。其中,业务数据表A、业务数据表B、业务数据表C、业务数据表D、业务数据表F、业务数据表H的数据表类型的数据表类型均为非宽表数据表类型。业务数据表E和业务数据表G的数据表类型均为宽表数据表类型。具体的,业务数据表E是业务数据表A、业务数据表B、业务数据表C和业务数据表D的并集。目标业务指标A由业务数据表F生成。目标业务指标B由业务数据表G和业务数据表H生成。
需要说明的是,上述计算设备可以是硬件,也可以是软件。当计算设备为硬件时,可以实现成多个服务器或终端设备组成的分布式集群,也可以实现成单个服务器或单个终端设备。当计算设备体现为软件时,可以安装在上述所列举的硬件设备中。其可以实现成例如用来提供分布式服务的多个软件或软件模块,也可以实现成单个软件或软件模块。在此不做具体限定。应该理解,计算设备的数目根据实现需要可以具有任意数目。
步骤102,对业务数据表集合中的每个业务数据表所涉及的数据存储过程操作语句进行语法结构预处理,以生成解析后操作语句,得到解析后操作语句集合。
在一些实施例中,上述执行主体可以对业务数据表集合中的每个业务数据表所涉及的数据存储过程操作语句进行语法结构预处理,以生成解析后操作语句,得到解析后操作语句集合。实践中,由于业务数据表对应的业务数据通过分布式闪存数据库存储,例如,通过星环Argodb数据库存储。其对应的数据存储过程操作语句与标准SQL(StructuredQuery Language,结构化查询语言)语句之间存在差异,因此在血缘图解析之前,需要对业务数据表所涉及的数据存储过程操作语句进行语法结构预处理。实践中,首先,上述执行主体可以将数据存储过程操作语句转化为对应的语法树。接着,上述执行主体可以采用对语法树的树结构进行结构调整,以及对语句关键词进行映射的方式实现对数据存储过程操作语句的语法结构预处理,得到解析后操作语句。语句关键词可以是星环Argodb数据库中与标准SQL语句存在功能对应关系的数据库操作关键词。
步骤103,对解析后操作语句集合进行血缘图解析,以生成初始血缘图谱。
在一些实施例中,上述执行主体可以对解析后操作语句集合进行血缘图解析,以生成初始血缘图谱。实践中,上述执行主体可以通过SQLLineage工具,对解析后操作语句集合进行血缘图解析,以生成初始血缘图谱。
在一些实施例的一些可选的实现方式中,上述执行主体对解析后操作语句集合进行血缘图解析,以生成初始血缘图谱,可以包括以下步骤:
第一步,确定是否对上述解析后语句集合进行元数据抽取。
实践中,响应于对上述业务数据表集合中的业务数据表所涉及的数据存储过程操作语句语法结构预处理完毕,上述执行主体可以开启对上述解析后语句集合的元数据抽取。
第二步,响应于确定,执行以下元数据抽取步骤:
第一子步骤,对上述解析后语句集合中的解析后语句进行表结构抽取,以生成表结构数据表。
其中,表结构数据表是用于存储解析后语句涉及的数据表的表结构的数据表。实践中,上述执行主体可以抽取解析后语句涉及的数据表对应的information_schema.columns中存储的、用于描述表结构的信息,得到表结构数据表。
第二子步骤,对上述解析后语句集合中的解析后语句进行字段抽取,以生成字段结构数据表。
其中,字段结构数据表是用于存储解析后语句涉及的数据库字段的数据表。实践中,上述执行主体可以通过读取解析后语句对应的语法树,以确定解析后语句涉及的数据库字段,得到上述字段结构数据表。
第三子步骤,对上述解析后语句集合中的解析后语句进行存储过程抽取和视图抽取,以生成存储过程数据表。
其中,存储过程数据表是用于存储解析后语句涉及的数据存储过程,以及解析后语句在执行时可能涉及数据表的可视化内容。实践中,上述执行主体可以通过关键词匹配的方式,确定解析后语句涉及的存储过程和视图,以生成存储过程数据表。
第三步,确定是否对上述存储过程数据表进行数据表解析。
实践中,响应于元数据抽取步骤执行完毕,即对解析后语句集合中的各个解析后语句元数据抽取完毕,上述执行主体可以开启对上述存储过程数据表的数据表解析。
第四步,响应于确定,对上述存储过程数据表进行关键词预处理,以生成预处理后存储过程数据表。
实践中,存储过程数据表中可能包含存储过程期间涉及的虚拟数据字段等关键词。因此,上述执行主体可以将存储过程数据表涉及的虚拟数据字段过滤,得到上述预处理后存储过程数据表。
作为示例,存储过程数据表包括:数据库字段A、数据库字段B、数据库字段C和数据库字段D。其中,数据库字段A、数据库字段B、数据库字段C和数据库字段D对应的存储过程可以是:数据库字段A+数据库字段B得到临时数据库字段T、临时数据库字段T+数据库字段C得到数据库字段D,因此,上述执行主体可以从存储过程数据表过滤临时数据库字段T。
第五步,根据预先配置的解析粒度,对上述预处理后存储过程数据表进行存储过程解析,以生成候选节点表和候选边表。
其中,解析粒度可以包括:最大解析粒度和最小解析粒度。最大解析粒度的解析粒度大于最小解析粒度。候选节点表可以是用于存储涉及存储过程的数据库字段的数据表。候选边表可以是用于存储涉及存储过程的、数据库字段间数据处理关系的数据表。实践中,上述执行主体可以通过sqlparser组件,根据预先配置的解析粒度,对上述预处理后存储过程数据表进行存储过程解析,以生成候选节点表和候选边表。
作为示例,存储过程A涉及数据库字段A、数据库字段B和数据库字段C。其中,数据库字段C=数据库字段A+数据库字段B。因此,候选节点表存储有数据库字段A、数据库字段B和数据库字段C。候选边表存储有数据库字段A和数据库字段B指向数据库字段C的边。
第六步,根据上述表结构数据表、上述字段结构数据表和上述候选边表,对上述候选节点表中的候选节点进行中间节点过滤,以生成过滤后候选节点表。
实践中,数据存储过程可能涉及虚拟构建的数据表(例如,涉及中间计算的临时数据表),虚拟构建的数据库字段(例如,涉及中间计算的临时数据库字段),因此,上述执行主体可以根据表结构数据表和字段结构数据表,将涉及虚拟构建的数据表、涉及虚拟构建的数据库字段对应的候选节点从上述候选节点表中剔除,以生成过滤后候选节点表。
第七步,根据预设的业务分类字典表和上述过滤后节点表,对上述业务数据表集合中的业务数据表进行数据集粒度的血缘解析,以生成上述初始血缘图谱。
其中,业务分类字段表可以是预先构建的,用于标识不同业务源之间的层级的字典表。实践中,上述执行主体可以结合业务分类字典表,从业务数据表集合中解析出每个业务源对应的业务数据集,并根据业务源之间的层级关系,以及过滤后节点对应的节点关系(例如,数据流向),生成上述初始血缘图谱。
上述“在一些实施例的一些可选的实现方式中”的内容,作为本公开的一个发明点,解决了背景技术提及的技术问题二,即“血缘图谱构建过程中,由于数据颗粒度较大,导致构建的血缘图谱难以有效反映数据之间的依赖关系,从而降低了血缘图谱针对业务指标的依赖关系表达”。实践中,为了简化数据的处理,往往采用宽表对多个业务源的业务数据进行集中存储,然而此种方式在进行业务指标溯源时,极易出现溯源不精准的问题,尤其是业务指标涉及的业务数据的数据颗粒度较大。基于此,本公开的一些实施例,首先对解析后语句集合中的解析后语句分别进行表结构抽取、字段抽取、存储过程抽取和视图抽取。其中,由于存储过程涉及业务指标对应的数据库字段变化,因此,本公开通过对存储过程数据表进行关键词预处理,以及结合预先配置的解析力度,对预处理后存储过程数据表进行存储过程解析,以生成表征血缘节点和血缘节点之间关系的候选节点表和候选边表。接着,考虑到业务指标计算过程中,涉及虚拟节点,例如结合多个数据库字段生成的中间数据库字段,因此,本公开根据上述表结构数据表、上述字段结构数据表和上述候选边表,对上述候选节点表中的候选节点进行中间节点过滤,以生成过滤后候选节点表。最后,根据预设的业务分类字典表和上述过滤后节点表,对上述业务数据表集合中的业务数据表进行数据集粒度的血缘解析,以生成上述初始血缘图谱。通过此种方式实现了细数据粒度的血缘图谱构建,即细化了血缘节点对应的业务数据,降低了数据颗粒度,使得构建的血缘图谱可以有效地反应数据时间的依赖关系,提高了血缘图谱针对业务指标的依赖关系表达。
步骤104,对初始血缘图谱中的血缘节点集合进行血缘节点布局优化,以生成业务指标对应的血缘图谱。
在一些实施例中,上述执行主体可以对初始血缘图谱中的血缘节点集合进行血缘节点布局优化,以生成业务指标对应的血缘图谱。实践中,血缘图谱可以抽象为有向图,因此,上述执行主体可以采用图结构优化相关算法,对初始血缘图谱进行血缘节点布局优化,得到上述血缘图谱。例如,图结构优化相关算法可以是Gansner算法。其中,Gansner算法是基于层次的节点布局优化算法。
作为示例,如图3所示的血缘图谱中的局部图谱结构示意图,其中,数据库字段A可以对应业务指标A,数据库字段A涉及业务数据表集合中存储的业务数据集A。数据库字段B可以对应业务指标B,数据库字段B涉及业务数据表集合中存储的业务数据集B。数据库字段C可以对应业务指标C,数据库字段C涉及业务数据表集合中存储的业务数据集C。数据库字段D可以对应业务指标D,数据库字段D涉及业务数据表集合中存储的业务数据集D。数据库字段E可以对应业务指标E,数据库字段E涉及业务数据表集合中存储的业务数据集E。数据库字段F可以对应业务指标F,数据库字段F涉及业务数据表集合中存储的业务数据集F。数据库字段G可以对应业务指标G,数据库字段G涉及业务数据表集合中存储的业务数据集G。数据库字段H可以对应业务指标H,数据库字段H涉及业务数据表集合中存储的业务数据集H。其中,数据库字段A和数据库字段I之间通过SELECT关键词关联。数据库字段B和数据库字段J之间通过SELECT关键词关联。数据库字段B和数据库字段N之间通过WHERE关键词关联。数据库字段C和数据库字段N之间通过ON关键词关联。数据库字段D和数据库字段N之间通过WHERE关键词关联。数据库字段E和数据库字段N通过WHETE关键词关联。数据库字段F和数据库字段K通过SELECT关键词关联。数据库字段F和数据库字段L通过SELECT关键词关联。数据库字段GG和数据库字段N通过ON关键词关联。数据库字段H和数据库字段N通过WHERE关键词关联。需要说明的,数据库字段和血缘节点之间存在对应关系。
作为又一示例,如图4所示的血缘图谱中的局部图谱结构的另一示意图,其中,数据库字段J通过数据库字段A得到。数据库字段K通过数据库字段B得到。数据库字段L通过数据库字段C得到。数据库字段M通过数据库字段D得到。数据库字段D、数据库字段E、数据库字段F、数据库字段G、数据库字段H和数据库字段I通过NVL函数、ABS函数和SUM函数,得到数据库字段N。数据库字段O通过数据库字段J得到。数据库字段P通过数据库字段K得到。数据库字段Q通过数据库字段L得到。数据库字段R通过数据库字段M得到。数据库字段J、数据库字段K、数据库字段L和数据库字段M通过SUM函数得到数据库字段S。数据库字段T通过数据库字段N得到。需要说明的,数据库字段和血缘节点之间存在对应关系。
在一些实施例的一些可选的实现方式中,上述执行主体对上述初始血缘图谱中的血缘节点集合进行血缘节点布局优化,以生成上述业务指标对应的血缘图谱,可以包括以下步骤:
第一步,对于上述血缘图谱包括的血缘节点集合中的每个血缘节点,执行以下分裂节点判断步骤:
第一子步骤,以上述血缘节点为起始节点,深度遍历上述血缘图谱,以生成血缘路径集合。
其中,血缘路径集合中的血缘路径对应有路径标识。路径标识表征血缘路径中是否包含对应有节点类别的血缘节点。实践中,节点类别可以是表征血缘节点对应的数据库字段的字段类别。具体的,在深度遍历过程中,当血缘路径中包含对应有节点类别的血缘节点,上述执行主体可以将血缘路径对应的路径标识置为1。血缘路径标识初始为0。
作为示例,如图5所示的血缘图谱中的局部图谱结构的再一示意图,其中,以血缘节点N38为起始节点,包括6条血缘路径。其中,血缘路径A由血缘节点N38、血缘节点N39、血缘节点N40、血缘节点N41和血缘节点N58构成。血缘路径B由血缘节点N42、血缘节点N43和血缘节点N44构成。血缘路径C由血缘节点N42、血缘节点N45和血缘节点N46构成。血缘路径D由血缘节点N47、血缘节点N48和血缘节点N49构成。血缘路径E由血缘节点N50、血缘节点N51、血缘节点N52、血缘节点N59和血缘节点N60构成。血缘路径F由血缘节点N53、血缘节点N54、血缘节点N52、血缘节点N59和血缘节点N60构成。
第二子步骤,确定上述血缘路径集合中对应路径标识的标识累积值。
实践中,上述执行主体可以将血缘路径集合中的各个血缘路径对应的路径标识的和确定为标识累积值。
第三子步骤,响应于确定上述标识累积值大于等于1且上述标识累积值小于上述血缘路径集合中的血缘路径的路径数量,将上述血缘节点确定为分裂节点。
作为示例,进一步参考图5所示的血缘图谱中的局部图谱结构的再一示意图,其中,血缘路径A、血缘路径E和血缘路径F对应的路径标识为1。因此,标识累积值为3。其中,0≤3≤6(以血缘节点N38为起始节点的血缘路径的数量),因此,血缘节点N38为分裂节点。
第二步,确定上述血缘图谱对应的图谱结构信息。
其中,图谱结构信息包括:血缘节点组集合。血缘节点组中的血缘节点为对应同图谱层级的、且对应的血缘路径包含对应有节点类别的血缘节点的血缘节点。实践中,上述执行主体可以通过Sugiyama算法,确定上述图谱结构信息。
作为示例,接着参考图5所示的血缘图谱中的局部图谱结构的再一示意图,其中,血缘节点N38为一个血缘节点组。血缘节点N39、血缘节点N42、血缘节点N47、血缘节点N50和血缘节点N53为一个血缘节点组。血缘节点N40、血缘节点N43、血缘节点N45、血缘节点N48、血缘节点N51和血缘节点N54为一个血缘节点组。血缘节点N41、血缘节点N44、血缘节点N46、血缘节点N49和血缘节点N52为一个血缘节点组。血缘节点N58和血缘节点N59为一个血缘节点组。血缘节点N60为一个血缘节点组。
可选地,上述执行主体确定上述血缘图谱对应的图谱结构信息,可以包括以下子步骤:
第一子步骤,确定上述血缘图谱对应的初始图谱结构。
实践中,上述执行主体可以通过Sugiyama算法,确定上述血缘图谱的初始图谱结构。
第二子步骤,确定上述初始图谱结构中是否存在环状结构。
其中,环状结构是指图中存在的环。实践中,上述执行主体可以通过SPFA(Shortest Path Faster Algorithm,最短路径快速演算算法),确定上述初始图谱结构中是否存在环状结构。
第三子步骤,响应于存在,对上述初始图谱结构中的环状结构进行局部血缘边方向逆转,以及对对应的血缘边进行更新,得到血缘边更新后图谱结构。
实践中,上述执行主体可以对环状结构中的部分血缘边的方向进行逆转。例如,环状结构包括:血缘节点A、血缘节点B和血缘节点C。其中,血缘节点A和血缘节点B之间存在血缘节点A指向血缘节点B的有向边。血缘节点B和血缘节点C之间存在血缘节点B指向血缘节点C的有向边。血缘节点C和血缘节点A之间存在血缘节点C指向血缘节点A的有向边。上述执行主体可以逆转血缘节点C和血缘节点A之间存在血缘节点C指向血缘节点A的有向边,以消除环状结构。
第四子步骤,对上述血缘边更新后图谱结构进行初始层次划分,得到初始层次划分后图谱结构。
实践中,上述执行主体可以对血缘边更新后图谱结构进行广度优先遍历,将每层包含的血缘节点划分为一个层次。
第五子步骤,对上述初始层次划分后图谱结构对应的目标血缘节点对之间添加虚拟节点,得到节点添加后图谱结构。
其中,目标血缘节点对中的目标血缘节点之间的血缘边跨度大于等于两个图谱层级。
作为示例,血缘节点A为第一层次,血缘节点B为第三层次。即血缘节点B的父节点的父节点与血缘节点A共层次。血缘节点A和血缘节点B之间存在血缘边。因此,上述执行主体可以在血缘节点A和血缘节点B之间添加属于第二层次的虚拟节点。
第六子步骤,以目标条件为约束,对上述节点添加后图谱结构对应的、处于相同图谱层级的血缘节点进行第一位置调整,以生成第一位置更新后图谱结构。
其中,上述目标条件为:处于相同图谱层级的血缘节点对应的血缘边的边交叉值最小。
第七子步骤,对上述第一位置更新后图谱结构进行第二位置调整,得到第二位置更新后图谱结构,作为上述图谱结构信息。
其中,上述第二位置更新后图谱结构不包含虚拟节点、以及对应的、对应有血缘边的血缘节点之间节点临近。实践中,首先,上述执行主体可以先对第一位置更新后图谱结构中对应相同血缘边的血缘节点的位置,以使得对应相同血缘边的血缘节点临近。然后,上述执行主体可以删除第一位置更新后图谱结构包含的虚拟节点,得到上述第二位置更新后图谱结构。接着,上述执行主体可以确定第二位置更新后图谱结构的图谱结构信息,作为上述图谱结构信息。
第三步,对于上述血缘节点组集合中的每个血缘节点组,调整上述血缘节点组中的血缘节点的节点位置,以生成血缘节点序列。
其中,上述血缘节点序列中的血缘节点的节点次序局部有序。上述血缘节点序列中为分裂节点的血缘节点位于上述血缘节点序列的序列两侧。
作为示例,参考图6所示的节点位置调整过程示意图,其中,黑色的血缘节点经过节点位置有序,局部有序且相互临近。
第四步,更新得到的血缘节点序列集合中的每个血缘节点的节点坐标,以生成上述血缘图谱。
实践中,上述执行主体可以通过Ulrik Brandes and Boris K¨opf的基于排序图布局的坐标计算方法计算血缘节点的节点坐标,以生成上述血缘图谱。
上述“在一些实施例的一些可选的实现方式中”的内容,作为本公开的一个发明点,解决了背景技术提及的技术问题三,即“血缘图谱往往包含多个血缘节点,当血缘图谱的图谱结构较复杂时,查找存在关联关系的血缘节点时可能会增加查找时间,导致查找速度不佳”。实践中,血缘图谱可以理解为一个包含有向图的图特点和树形结构的树特点的特殊数据结构。随着血缘图谱包含的血缘节点和血缘边的数量增加,导致基于血缘图谱的溯源复杂度大大增加,尤其是时间复杂度的增加。基于此,本公开首先,确定上述血缘图谱对应的图谱结构信息。然后,对于上述血缘节点组集合中的每个血缘节点组,调整上述血缘节点组中的血缘节点的节点位置,以生成血缘节点序列,其中,上述血缘节点序列中的血缘节点的节点次序局部有序,上述血缘节点序列中为分裂节点的血缘节点位于上述血缘节点序列的序列两侧。以此实现初步的血缘图谱调整。接着,考虑到血缘图谱中存在高访问频率的血缘节点,例如对应有节点类别血缘节点。因此,本公开进行了进一步的血缘图谱调整,具体如下:第一步,对上述初始图谱结构中的环状结构进行局部血缘边方向逆转,以及对对应的血缘边进行更新,得到血缘边更新后图谱结构,以此消除血缘图谱包含的可能导致死循环的环状结构。第二步,对上述血缘边更新后图谱结构进行初始层次划分,得到初始层次划分后图谱结构,以应对复杂图谱结构下的血缘节点得位置梳理。第三步,对上述初始层次划分后图谱结构对应的目标血缘节点对之间添加虚拟节点,得到节点添加后图谱结构,其中,上述目标血缘节点对中的目标血缘节点之间的血缘边跨度大于等于两个图谱层级。通过添加虚拟节点,以消除跨越多个图片层级的血缘边。第四步,以目标条件为约束,对上述节点添加后图谱结构对应的、处于相同图谱层级的血缘节点进行第一位置调整,以生成第一位置更新后图谱结构,其中,上述目标条件为:处于相同图谱层级的血缘节点对应的血缘边的边交叉值最小。第五步,对上述第一位置更新后图谱结构进行第二位置调整,得到第二位置更新后图谱结构,作为上述图谱结构信息,其中,上述第二位置更新后图谱结构不包含虚拟节点、以及对应的、对应有血缘边的血缘节点之间节点临近。通过此种方式优化了血缘图谱的图谱结构。提高了后续基于血缘图谱的查找速度。
步骤105,通过图数据库,对血缘图谱进行图谱存储。
在一些实施例中,上述执行主体可以通过图数据库,对血缘图谱进行图谱存储。
可选地,血缘图谱还包括:血缘状态信息集合。上述血缘状态信息集合中的血缘状态信息包括:血缘节点状态和血缘边状态。血缘节点状态用于描述血缘节点对应业务数据的、不同批次的写入状态。血缘边状态用于描述血缘节点对应业务数据的存储过程状态。实践中,由于不同业务源对应的业务数据的处理时机不同,写入时机不同,因此,血缘节点对应的业务数据集对应不同批次的数据写入。
可选地,上述方法还包括:
第一步,通过血缘图谱展示页面实时展示上述血缘图谱。
其中,血缘图谱展示页面可以是用于展示血缘图谱的实时网页页面。
第二步,响应于上述血缘图谱中存在第一血缘节点,通过二级显示框展示上述第一血缘节点对应的血缘节点状态。
其中,上述第一血缘节点是鼠标悬停区域内的血缘节点。实践中,二级显示框悬浮与第一血缘节点附近。
第三步,响应于上述血缘图谱中存在目标血缘边,通过二级显示框展示上述目标血缘边对应的血缘边状态。
其中,上述目标血缘边是鼠标悬停区域内的血缘边。
第四步,响应于上述血缘图谱中存在第二血缘节点,高亮展示上述血缘图谱中与上述第二血缘节点存在血缘关系的血缘节点,以及用于血缘节点连接的血缘边。
其中,上述第二血缘节点是鼠标选中的血缘节点。实践中,上述执行主体可以通过深度优先遍历算法,确定以上述第二血缘节点为起始节点的血缘路径,并高亮显示。
本公开的上述各个实施例具有如下有益效果:通过本公开的一些实施例的血缘图谱构建方法,通过生成可以表征业务指标之间依赖关系的血缘图谱,使得可以对业务指标进行溯源,进而可以实现对业务指标状态的及时检测。具体来说,造成无法有效地检测业务指标状态的原因在于:手动配置业务指标的方式,难以自动解析多个业务指标之间的依赖关系,导致难以对业务指标进行溯源,从而无法有效地检测业务指标状态。基于此,本公开的一些实施例的血缘图谱构建方法,首先,确定目标业务指标集合涉及的业务数据表集合,其中,上述目标业务指标集合待生成对应的血缘图谱,上述业务数据表集合中的业务数据表的数据表类型包括:宽表数据表类型和非宽表数据表类型,宽表数据表类型的业务数据表用于存储各个业务源的业务数据或用于存储单一业务源的业务数据,上述业务数据表集合对应的业务数据通过分布式闪存数据库存储。其次,对上述业务数据表集合中的每个业务数据表所涉及的数据存储过程操作语句进行语法结构预处理,以生成解析后操作语句,得到解析后操作语句集合。实践中,由于存储介质(例如,数据库)类型存在差异,不同业务源的业务数据对应的数据存储过程操作语句的语句格式可能存在差异,因此需要对语句进行语法结构预处理。接着,对上述解析后操作语句集合进行血缘图解析,以生成初始血缘图谱。进一步,对上述初始血缘图谱中的血缘节点集合进行血缘节点布局优化,以生成上述业务指标对应的血缘图谱,其中,上述血缘图谱包括:血缘节点集合和血缘边信息集合,血缘节点对应业务数据表中数据集粒度的业务数据,血缘边信息用于描述血缘节点之间的连接关系。实践中,随着业务数据体量,以及涉及的业务指标数量增加,血缘图谱包含的血缘节点以及连接血缘节点的血缘边的数量和复杂度也会随之增加,通过对血缘节点进行布局优化,可以有效地提高血缘图谱对业务指标之间依赖关系的表达。最后,通过图数据库,对上述血缘图谱进行图谱存储。通过此种方式,可以生成有效表达业务指标依赖关系的血缘图谱,可以实现精准的业务指标溯源,侧面实现了对业务指标状态的及时检测。
进一步参考图7,作为对上述各图所示方法的实现,本公开提供了一种血缘图谱构建装置的一些实施例,这些装置实施例与图1所示的那些方法实施例相对应,该血缘图谱构建装置具体可以应用于各种电子设备中。
如图7所示,一些实施例的血缘图谱构建装置700包括:确定单元701、语法结构预处理单元702、血缘图解析单元703、血缘节点布局优化单元704和图谱存储单元705。其中,确定单元701,被配置成确定目标业务指标集合涉及的业务数据表集合,其中,上述目标业务指标集合待生成对应的血缘图谱,上述业务数据表集合中的业务数据表的数据表类型包括:宽表数据表类型和非宽表数据表类型,宽表数据表类型的业务数据表用于存储各个业务源的业务数据或用于存储单一业务源的业务数据,上述业务数据表集合对应的业务数据通过分布式闪存数据库存储;语法结构预处理单元702,被配置成对上述业务数据表集合中的每个业务数据表所涉及的数据存储过程操作语句进行语法结构预处理,以生成解析后操作语句,得到解析后操作语句集合;血缘图解析单元703,被配置成对上述解析后操作语句集合进行血缘图解析,以生成初始血缘图谱;血缘节点布局优化单元704,被配置成对上述初始血缘图谱中的血缘节点集合进行血缘节点布局优化,以生成上述业务指标对应的血缘图谱,其中,上述血缘图谱包括:血缘节点集合和血缘边信息集合,血缘节点对应业务数据表中数据集粒度的业务数据,血缘边信息用于描述血缘节点之间的连接关系;图谱存储单元705,被配置成通过图数据库,对上述血缘图谱进行图谱存储。
可以理解的是,该血缘图谱构建装置700中记载的诸单元与参考图1描述的方法中的各个步骤相对应。由此,上文针对方法描述的操作、特征以及产生的有益效果同样适用于血缘图谱构建装置700及其中包含的单元,在此不再赘述。
下面参考图8,其示出了适于用来实现本公开的一些实施例的电子设备(例如,计算设备)800的结构示意图。图8示出的电子设备仅仅是一个示例,不应对本公开的实施例的功能和使用范围带来任何限制。
如图8所示,电子设备800可以包括处理装置(例如中央处理器、图形处理器等)801,其可以根据存储在只读存储器802中的程序或者从存储装置808加载到随机访问存储器803中的程序而执行各种适当的动作和处理。在随机访问存储器803中,还存储有电子设备800操作所需的各种程序和数据。处理装置801、只读存储器802以及随机访问存储器803通过总线804彼此相连。输入/输出接口805也连接至总线804。
通常,以下装置可以连接至I/O接口805:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置806;包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置807;包括例如磁带、硬盘等的存储装置808;以及通信装置809。通信装置809可以允许电子设备800与其他设备进行无线或有线通信以交换数据。虽然图8示出了具有各种装置的电子设备800,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。图8中示出的每个方框可以代表一个装置,也可以根据需要代表多个装置。
特别地,根据本公开的一些实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的一些实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的一些实施例中,该计算机程序可以通过通信装置809从网络上被下载和安装,或者从存储装置808被安装,或者从只读存储器802被安装。在该计算机程序被处理装置801执行时,执行本公开的一些实施例的方法中限定的上述功能。
需要说明的是,本公开的一些实施例中记载的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开的一些实施例中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开的一些实施例中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
在一些实施方式中,客户端、服务器可以利用诸如HTTP(Hyper Text TransferProtocol,超文本传输协议)之类的任何当前已知或未来研发的网络协议进行通信,并且可以与任意形式或介质的数字数据通信(例如,通信网络)互连。通信网络的示例包括局域网(“LAN”),广域网(“WAN”),网际网(例如,互联网)以及端对端网络(例如,ad hoc端对端网络),以及任何当前已知或未来研发的网络。
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:确定目标业务指标集合涉及的业务数据表集合,其中,上述目标业务指标集合待生成对应的血缘图谱,上述业务数据表集合中的业务数据表的数据表类型包括:宽表数据表类型和非宽表数据表类型,宽表数据表类型的业务数据表用于存储各个业务源的业务数据或用于存储单一业务源的业务数据,上述业务数据表集合对应的业务数据通过分布式闪存数据库存储;对上述业务数据表集合中的每个业务数据表所涉及的数据存储过程操作语句进行语法结构预处理,以生成解析后操作语句,得到解析后操作语句集合;对上述解析后操作语句集合进行血缘图解析,以生成初始血缘图谱;对上述初始血缘图谱中的血缘节点集合进行血缘节点布局优化,以生成上述业务指标对应的血缘图谱,其中,上述血缘图谱包括:血缘节点集合和血缘边信息集合,血缘节点对应业务数据表中数据集粒度的业务数据,血缘边信息用于描述血缘节点之间的连接关系;通过图数据库,对上述血缘图谱进行图谱存储。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的一些实施例的操作的计算机程序代码,上述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)——连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开的一些实施例中的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,例如,可以描述为:一种处理器包括确定单元、语法结构预处理单元、血缘图解析单元、血缘节点布局优化单元和图谱存储单元。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定,例如,语法结构预处理单元还可以被描述为“对上述业务数据表集合中的每个业务数据表所涉及的数据存储过程操作语句进行语法结构预处理,以生成解析后操作语句,得到解析后操作语句集合的单元”。
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上系统(SOC)、复杂可编程逻辑设备(CPLD)等等。
以上描述仅为本公开的一些较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开的实施例中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开的实施例中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
Claims (8)
1.一种血缘图谱构建方法,包括:
确定目标业务指标集合涉及的业务数据表集合,其中,所述目标业务指标集合待生成对应的血缘图谱,所述业务数据表集合中的业务数据表的数据表类型包括:宽表数据表类型和非宽表数据表类型,宽表数据表类型的业务数据表用于存储各个业务源的业务数据或用于存储单一业务源的业务数据,所述业务数据表集合对应的业务数据通过分布式闪存数据库存储;
对所述业务数据表集合中的每个业务数据表所涉及的数据存储过程操作语句进行语法结构预处理,以生成解析后操作语句,得到解析后操作语句集合;
对所述解析后操作语句集合进行血缘图解析,以生成初始血缘图谱;
对所述初始血缘图谱中的血缘节点集合进行血缘节点布局优化,以生成所述业务指标对应的血缘图谱,其中,所述血缘图谱包括:血缘节点集合和血缘边信息集合,血缘节点对应业务数据表中数据集粒度的业务数据,血缘边信息用于描述血缘节点之间的连接关系;
通过图数据库,对所述血缘图谱进行图谱存储。
2.根据权利要求1所述的方法,其中,所述血缘图谱还包括:血缘状态信息集合,所述血缘状态信息集合中的血缘状态信息包括:血缘节点状态和血缘边状态,血缘节点状态用于描述血缘节点对应业务数据的、不同批次的写入状态,血缘边状态用于描述血缘节点对应业务数据的存储过程状态;以及
所述方法还包括:
通过血缘图谱展示页面实时展示所述血缘图谱;
响应于所述血缘图谱中存在第一血缘节点,通过二级显示框展示所述第一血缘节点对应的血缘节点状态,其中,所述第一血缘节点是鼠标悬停区域内的血缘节点;
响应于所述血缘图谱中存在目标血缘边,通过二级显示框展示所述目标血缘边对应的血缘边状态,其中,所述目标血缘边是鼠标悬停区域内的血缘边;
响应于所述血缘图谱中存在第二血缘节点,高亮展示所述血缘图谱中与所述第二血缘节点存在血缘关系的血缘节点,以及用于血缘节点连接的血缘边,其中,所述第二血缘节点是鼠标选中的血缘节点。
3.根据权利要求2所述的方法,其中,所述对所述初始血缘图谱中的血缘节点集合进行血缘节点布局优化,以生成所述业务指标对应的血缘图谱,包括:
对于所述血缘图谱包括的血缘节点集合中的每个血缘节点,执行以下分裂节点判断步骤:
以所述血缘节点为起始节点,深度遍历所述血缘图谱,以生成血缘路径集合,其中,所述血缘路径集合中的血缘路径对应有路径标识,路径标识表征血缘路径中是否包含对应有节点类别的血缘节点;
确定所述血缘路径集合中对应路径标识的标识累积值;
响应于确定所述标识累积值大于等于1且所述标识累积值小于所述血缘路径集合中的血缘路径的路径数量,将所述血缘节点确定为分裂节点。
4.根据权利要求3所述的方法,其中,所述对所述初始血缘图谱中的血缘节点集合进行血缘节点布局优化,以生成所述业务指标对应的血缘图谱,还包括:
确定所述血缘图谱对应的图谱结构信息,其中,所述图谱结构信息包括:血缘节点组集合,血缘节点组中的血缘节点为对应同图谱层级的、且对应的血缘路径包含对应有节点类别的血缘节点;
对于所述血缘节点组集合中的每个血缘节点组,调整所述血缘节点组中的血缘节点的节点位置,以生成血缘节点序列,其中,所述血缘节点序列中的血缘节点的节点次序局部有序,所述血缘节点序列中为分裂节点的血缘节点位于所述血缘节点序列的序列两侧;
更新得到的血缘节点序列集合中的每个血缘节点的节点坐标,以生成所述血缘图谱。
5.根据权利要求4所述的方法,其中,所述确定所述血缘图谱对应的图谱结构信息,包括:
确定所述血缘图谱对应的初始图谱结构;
确定所述初始图谱结构中是否存在环状结构;
响应于存在,对所述初始图谱结构中的环状结构进行局部血缘边方向逆转,以及对对应的血缘边进行更新,得到血缘边更新后图谱结构;
对所述血缘边更新后图谱结构进行初始层次划分,得到初始层次划分后图谱结构;
对所述初始层次划分后图谱结构对应的目标血缘节点对之间添加虚拟节点,得到节点添加后图谱结构,其中,所述目标血缘节点对中的目标血缘节点之间的血缘边跨度大于等于两个图谱层级;
以目标条件为约束,对所述节点添加后图谱结构对应的、处于相同图谱层级的血缘节点进行第一位置调整,以生成第一位置更新后图谱结构,其中,所述目标条件为:处于相同图谱层级的血缘节点对应的血缘边的边交叉值最小;
对所述第一位置更新后图谱结构进行第二位置调整,得到第二位置更新后图谱结构,作为所述图谱结构信息,其中,所述第二位置更新后图谱结构不包含虚拟节点、以及对应的、对应有血缘边的血缘节点之间节点临近。
6.一种血缘图谱构建装置,包括:
确定单元,被配置成确定目标业务指标集合涉及的业务数据表集合,其中,所述目标业务指标集合待生成对应的血缘图谱,所述业务数据表集合中的业务数据表的数据表类型包括:宽表数据表类型和非宽表数据表类型,宽表数据表类型的业务数据表用于存储各个业务源的业务数据或用于存储单一业务源的业务数据,所述业务数据表集合对应的业务数据通过分布式闪存数据库存储;
语法结构预处理单元,被配置成对所述业务数据表集合中的每个业务数据表所涉及的数据存储过程操作语句进行语法结构预处理,以生成解析后操作语句,得到解析后操作语句集合;
血缘图解析单元,被配置成对所述解析后操作语句集合进行血缘图解析,以生成初始血缘图谱;
血缘节点布局优化单元,被配置成对所述初始血缘图谱中的血缘节点集合进行血缘节点布局优化,以生成所述业务指标对应的血缘图谱,其中,所述血缘图谱包括:血缘节点集合和血缘边信息集合,血缘节点对应业务数据表中数据集粒度的业务数据,血缘边信息用于描述血缘节点之间的连接关系;
图谱存储单元,被配置成通过图数据库,对所述血缘图谱进行图谱存储。
7.一种电子设备,包括:
一个或多个处理器;
存储装置,其上存储有一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1至5中任一所述的方法。
8.一种计算机可读介质,其上存储有计算机程序,其中,所述计算机程序被处理器执行时实现如权利要求1至5中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410295138.2A CN117891979B (zh) | 2024-03-15 | 2024-03-15 | 血缘图谱构建方法、装置、电子设备和可读介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410295138.2A CN117891979B (zh) | 2024-03-15 | 2024-03-15 | 血缘图谱构建方法、装置、电子设备和可读介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117891979A true CN117891979A (zh) | 2024-04-16 |
CN117891979B CN117891979B (zh) | 2024-05-17 |
Family
ID=90639702
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410295138.2A Active CN117891979B (zh) | 2024-03-15 | 2024-03-15 | 血缘图谱构建方法、装置、电子设备和可读介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117891979B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113961584A (zh) * | 2021-10-20 | 2022-01-21 | 平安银行股份有限公司 | 字段血缘分析方法、装置、电子设备及存储介质 |
CN114510611A (zh) * | 2022-04-20 | 2022-05-17 | 中信证券股份有限公司 | 一种构建元数据血缘图谱的方法、装置及相关设备 |
CN116186174A (zh) * | 2023-02-16 | 2023-05-30 | 平安科技(深圳)有限公司 | 基于数据分析的数据血缘关系图构建方法及相关设备 |
CN116228402A (zh) * | 2023-03-08 | 2023-06-06 | 上海硕恩网络科技股份有限公司 | 一种金融征信特征仓库技术支持系统 |
CN116595038A (zh) * | 2023-07-17 | 2023-08-15 | 恒丰银行股份有限公司 | 一种数据血缘追溯方法、装置、设备及介质 |
WO2023231341A1 (zh) * | 2022-06-02 | 2023-12-07 | 蚂蚁区块链科技(上海)有限公司 | 数据资产风险发现方法和装置 |
-
2024
- 2024-03-15 CN CN202410295138.2A patent/CN117891979B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113961584A (zh) * | 2021-10-20 | 2022-01-21 | 平安银行股份有限公司 | 字段血缘分析方法、装置、电子设备及存储介质 |
CN114510611A (zh) * | 2022-04-20 | 2022-05-17 | 中信证券股份有限公司 | 一种构建元数据血缘图谱的方法、装置及相关设备 |
WO2023231341A1 (zh) * | 2022-06-02 | 2023-12-07 | 蚂蚁区块链科技(上海)有限公司 | 数据资产风险发现方法和装置 |
CN116186174A (zh) * | 2023-02-16 | 2023-05-30 | 平安科技(深圳)有限公司 | 基于数据分析的数据血缘关系图构建方法及相关设备 |
CN116228402A (zh) * | 2023-03-08 | 2023-06-06 | 上海硕恩网络科技股份有限公司 | 一种金融征信特征仓库技术支持系统 |
CN116595038A (zh) * | 2023-07-17 | 2023-08-15 | 恒丰银行股份有限公司 | 一种数据血缘追溯方法、装置、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN117891979B (zh) | 2024-05-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11023500B2 (en) | Systems and methods for code parsing and lineage detection | |
CN111177231A (zh) | 报表生成方法和报表生成装置 | |
CN111522927B (zh) | 基于知识图谱的实体查询方法和装置 | |
US11263187B2 (en) | Schema alignment and structural data mapping of database objects | |
CN110543571A (zh) | 用于水利信息化的知识图谱构建方法以及装置 | |
CN113986933A (zh) | 物化视图的创建方法、装置、存储介质及电子设备 | |
CN113760891B (zh) | 一种数据表的生成方法、装置、设备和存储介质 | |
CN111078729A (zh) | 医疗数据溯源方法、装置、系统、存储介质以及电子设备 | |
CN114443854A (zh) | 多源异构数据的处理方法、装置、计算机设备及存储介质 | |
CN113419789A (zh) | 数据模型脚本的生成方法和装置 | |
CN115687386A (zh) | 数据查询方法、装置、电子设备及存储介质 | |
CN109508361A (zh) | 用于输出信息的方法和装置 | |
CN116361522A (zh) | 一种数据的展示方法和装置 | |
CN112860811B (zh) | 数据血缘关系的确定方法、装置、电子设备和存储介质 | |
CN113722600A (zh) | 应用于大数据的数据查询方法、装置、设备及产品 | |
CN116150194B (zh) | 数据获取方法、装置、电子设备和计算机可读介质 | |
CN117891979B (zh) | 血缘图谱构建方法、装置、电子设备和可读介质 | |
CN110321435B (zh) | 一种数据源划分方法、装置、设备和存储介质 | |
CN114625757B (zh) | 基于领域特定语言的任务执行方法及装置、介质、设备 | |
US20210326514A1 (en) | Method for generating interpretation text, electronic device and storage medium | |
CN115994151B (zh) | 数据请求变更方法、装置、电子设备和计算机可读介质 | |
CN118427186B (zh) | 数据血缘追溯方法、装置、设备和介质 | |
CN116821160A (zh) | 基于用户行为轨迹信息的关联更新方法、装置、设备和介质 | |
CN118114642A (zh) | 价值数据填充凭证文件生成方法、装置、设备和可读介质 | |
CN116610706A (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 |