CN110245270A - 基于图模型的数据血缘关系存储方法、***、介质和设备 - Google Patents
基于图模型的数据血缘关系存储方法、***、介质和设备 Download PDFInfo
- Publication number
- CN110245270A CN110245270A CN201910385135.7A CN201910385135A CN110245270A CN 110245270 A CN110245270 A CN 110245270A CN 201910385135 A CN201910385135 A CN 201910385135A CN 110245270 A CN110245270 A CN 110245270A
- Authority
- CN
- China
- Prior art keywords
- graph model
- data
- name
- initial graph
- data source
- 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
Links
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/22—Indexing; Data structures therefor; Storage structures
- G06F16/2291—User-Defined Types; Storage 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/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
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16B—BIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
- G16B50/00—ICT programming tools or database systems specially adapted for bioinformatics
- G16B50/30—Data warehousing; Computing architectures
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Bioethics (AREA)
- Biophysics (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Biotechnology (AREA)
- Evolutionary Biology (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Spectroscopy & Molecular Physics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种基于图模型的数据血缘关系存储方法,包括:解析数据加工脚本中的SQL语句;创建初始图模型;将所述解析结果与初始图模型关联;重复以上操作,遍历所有数据加工脚本中的SQL语句,生成一血缘关系图模型。本发明实施例的上述方案利用图模型直接将数据作为图的节点、关系、属性存储到图数据库中,无需预先设计复杂的关系型数据表结构,大幅降低了此类场景的设计难度和复杂度;第二,得益于图数据库Neo4j的内存计算机制和优化的数据结构,在大量数据下,能够在几毫秒内快速完成数据血缘上下游层级数量、依赖表数量的统计,以及快速完成数据字段和数据表依赖关系的检索。
Description
技术领域
本发明涉及软件技术领域,具体而言,涉及一种基于图模型的数据血缘关系存储方法、***、介质和电子设备。
背景技术
现有技术中,数据仓库为了支持不同的业务会产生大量的数据表与数据,当排查数据质量问题、清理冗余数据及研究数据流向链路的时候,难以快速理清大量数据之间的血缘依赖关系。通常采用人工记录或基于mysql等关系型数据库的形式来存储基于图模型的数据血缘关系,然而,这种方式复杂度较高、容易出错、无法支持复杂的数据血缘分析、难以应对在大规模数据下的性能要求。
因此,在长期的研发当中,发明人对基于图模型的数据血缘关系的存储进行了大量的研究,提出了一种基于图模型的数据血缘关系存储方法,以解决上述技术问题之一。
发明内容
本发明的目的在于提供一种基于图模型的数据血缘关系存储方法、***、介质和电子设备,能够解决上述提到的至少一个技术问题。具体方案如下:
根据本发明的具体实施方式,第一方面,本发明提供一种基于图模型的数据血缘关系存储方法,其特征在于,包括:
解析数据加工脚本中的SQL语句;
创建初始图模型;
将所述解析结果与初始图模型关联;
重复以上操作,遍历所有数据加工脚本中的SQL语句,生成一血缘关系图模型。
其中,所述解析数据加工脚本中的SQL语句之后,包括:
获取数据源表名称及字段名称、数据目标表名称及字段名称、数据源表与数据目标表字段之间的关系。
其中,所述创建初始图模型具体包括:
在图数据库Neo4j中创建初始图模型。
其中,所述将所述解析结果与初始图模型关联包括:
将所述数据源表字段名称及所述数据目标表字段名称分别作为所述初始图模型的节点,写入所述图数据库Neo4j。
其中,所述将所述解析结果与初始图模型关联还包括:
将所述数据源表名称及所述数据目标表名称分别作为所述初始图模型节点的属性,写入所述图数据库Neo4j。
其中,所述将所述解析结果与初始图模型关联包括:
将所述数据源表字段名称及所述数据目标表字段名称的关系作为所述初始图模型的边,写入所述图数据库Neo4j。
其中,包括可视化展示所述血缘关系图模型。
其中,所述血缘关系图模型为一网状图,其中,所述网状图以一个节点为中心,其它节点与中心节点进行关联,同时按照血缘关系的深度对不同节点进行颜色区分。
其中,所述血缘关系图模型中的节点信息包括:表名称、上游层数、下游层数、上游表数量、下游表数量、直接上游表数量、直接下游表数量及直接下游表字段列表。
其中,所述直接下游表字段列表中每个列表的信息包括数据源表字段名称及数据目标表字段名称之间的关系。
根据本发明的具体实施方式,第二方面,本发明提供一种基于图模型的数据血缘关系存储***,其特征在于,包括:
解析模块,用于解析数据加工脚本中的SQL语句;
创建模块,用于在一图数据库Neo4j中创建一初始图模型;
节点写入模块,用于将所述数据源表字段名称及所述数据目标表字段名称分别作为所述初始图模型的节点,写入所述图数据库Neo4j;
属性写入模块,用于将所述数据源表名称及所述数据目标表名称作为所述初始图模型节点的属性,写入所述图数据库Neo4j;
关系写入模块,用于将所述数据源表字段名称及所述数据目标表字段名称的关系作为所述初始图模型的边,写入所述图数据库Neo4j;
遍历模块,用于遍历解析所有数据加工脚本中的SQL语句,生成一血缘关系图模型。
其中,所述解析模块还用于获取数据源表名称及字段名称、数据目标表名称及字段名称、数据源表与数据目标表字段之间的关系。
其中,所述血缘关系图模型中的节点信息包括:表名称、上游层数、下游层数、上游表数量、下游表数量、直接上游表数量、直接下游表数量及直接下游表字段列表。
根据本发明的具体实施方式,第三方面,本发明提供一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如上任一项所述的基于图模型的数据血缘关系存储方法。
根据本发明的具体实施方式,第四方面,本发明提供一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如上任一项所述的基于图模型的数据血缘关系存储方法。
本发明实施例的上述方案利用图模型直接将数据作为图的节点、关系、属性存储到图数据库中,无需预先设计复杂的关系型数据表结构,大幅降低了此类场景的设计难度和复杂度;第二,得益于图数据库Neo4j的内存计算机制和优化的数据结构,在大量数据下,能够在几毫秒内快速完成数据血缘上下游层级数量、依赖表数量的统计,以及快速完成数据字段和数据表依赖关系的检索。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1示出了根据本发明某一实施例的一种基于图模型的数据血缘关系存储方法的流程图;
图2示出了根据本发明另一实施例的一种基于图模型的数据血缘关系存储方法的流程图;
图3示出了根据本发明实施例的一种基于图模型的数据血缘关系存储***的结构示意图;
图4示出了根据本发明的实施例的电子设备的结构示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义,“多种”一般包含至少两种。
应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
应当理解,尽管在本发明实施例中可能采用术语第一、第二、第三等来描述……,但这些……不应限于这些术语。这些术语仅用来将……区分开。例如,在不脱离本发明实施例范围的情况下,第一……也可以被称为第二……,类似地,第二……也可以被称为第一……。
取决于语境,如在此所使用的词语“如果”、“若”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的商品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种商品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的商品或者装置中还存在另外的相同要素。
大数据时代,数据蕴藏着无限的价值。移动互联网的蓬勃发展,让各互联网公司积累了PB级别的用户数据和业务数据。在强大的需求驱动下,大数据技术也稳步成熟发展,通过HDFS,HBase,MongoDB,Kafka等存储组件,记录下了海量且持续增加的数据。
数据的产生、加工融合、流转流通,到最终消亡,数据之间自然会形成一种关系。借鉴人类社会中类似的一种关系来表达数据之间的这种关系,称之为数据的血缘关系。
实施例1
请参阅图1,本发明实施例提供一种基于图模型的数据血缘关系存储方法,该方法包括如下步骤:
解析数据加工脚本中的SQL语句;
创建初始图模型;
将所述解析结果与初始图模型关联;
重复以上操作,遍历所有数据加工脚本中的SQL语句,生成一血缘关系图模型。
其中,所述解析数据加工脚本中的SQL语句之后,包括:
获取数据源表名称及字段名称、数据目标表名称及字段名称、数据源表与数据目标表字段之间的关系。
其中,所述创建初始图模型具体包括:
在图数据库Neo4j中创建初始图模型。
其中,所述将所述解析结果与初始图模型关联包括:
将所述数据源表字段名称及所述数据目标表字段名称分别作为所述初始图模型的节点,写入所述图数据库Neo4j。
其中,所述将所述解析结果与初始图模型关联还包括:
将所述数据源表名称及所述数据目标表名称分别作为所述初始图模型节点的属性,写入所述图数据库Neo4j。
其中,所述将所述解析结果与初始图模型关联包括:
将所述数据源表字段名称及所述数据目标表字段名称的关系作为所述初始图模型的边,写入所述图数据库Neo4j。
其中,包括可视化展示所述血缘关系图模型。
其中,所述血缘关系图模型为一网状图,其中,所述网状图以一个节点为中心,其它节点与中心节点进行关联,同时按照血缘关系的深度对不同节点进行颜色区分。
其中,所述血缘关系图模型中的节点信息包括:表名称、上游层数、下游层数、上游表数量、下游表数量、直接上游表数量、直接下游表数量及直接下游表字段列表。
其中,所述直接下游表字段列表中每个列表的信息包括数据源表字段名称及数据目标表字段名称之间的关系。
实施例2
请参阅图2,本发明实施例提供一种基于图模型的数据血缘关系存储方法,该方法包括如下步骤:
S1,解析数据加工脚本中的SQL语句,获取数据源表名称及字段名称、数据目标表名称及字段名称、数据源表与数据目标表字段之间的关系。
具体的,采用一定方式解析数据加工脚本,获得数据仓库中的数据表、数据字段之间的血缘关系,作为构建基于图模型的数据血缘关系图模型的数据基础。由于本发明实施例的重点在于血缘关系的存储,在此不对脚本解析过程进行阐述。本实施例中,通过解析程序解析数据加工脚本中的SQL语句,获得数据源表名称(S_TABLE)、数据源表字段名称(S_COLUMN)、目标表名称(T_TABLE)、目标表字段名称(T_COLUMN)、数据源表字段与数据目标表字段之间的关系。
S2,在一图数据库Neo4j中创建一初始图模型。
具体的,当解析到数据之间的血缘关系之后,依据Neo4j图数据库的数据模型创建初始图模型,后续在所述初始图模型中存入数据。
S3,将所述数据源表字段名称及所述数据目标表字段名称分别作为所述初始图模型的节点,写入所述图数据库Neo4j。
具体的,设定所述数据源表字段名称为所述初始图模型的节点Node_A,并写入图数据库Neo4j中;同时设定所述数据目标表字段名称为所述初始图模型的节点Node_B,并写入图数据库Neo4j中。
S4,将所述数据源表名称及所述数据目标表名称作为所述初始图模型节点的属性,写入所述图数据库Neo4j。
具体的,设定所述数据源表名称为所述初始图模型节点Node_A的属性,并写入图数据库Neo4j中;同时设定所述数据目标表名称为所述初始图模型节点Node_B的属性,并写入图数据库Neo4j中。
S5,将所述数据源表字段名称及所述数据目标表字段名称的关系作为所述初始图模型的边,写入所述图数据库Neo4j。
具体的,设定所述初始图模型的节点Node_A与Node_B之间的关系,并写入图数据库Neo4j中。本实施例中,使用应用程序编程接口,指定图数据库对象(Graph)的连接地址和账户名,与图数据库Neo4j建立连接;然后将数据源表及目标表的字段名称设计为所述初始图模型的顶点,使用create方法创建节点对象,以数据源表及目标表名称分别作为对应节点对象的名称属性;然后使用create方法创建图数据库Neo4j的关系对象,该关系对象的参数指定第一个为数据源字段、第二个参数指定为‘to’代表关系方向的描述、第三个参数指定为数据目标字段。
S6,重复上述步骤,遍历解析所有数据加工脚本中的SQL语句,生成一血缘关系图模型。
具体的,重复上述步骤S1-S5,遍历解析所有数据加工脚本中的SQL语句,得到所有数据源表和数据目标表字段、表名称,并将其分别作为所述初始图模型的节点(Nodes)、关系(Relationships)、属性(Properties),并写入图数据库Neo4j中,组成一张大的完整的图,即血缘关系图模型。
所述血缘关系图模型为一网状图,其中,所述网状图以一个节点为中心,其它节点与中心节点进行关联,同时按照血缘关系的深度对不同节点进行颜色区分。所述血缘关系图模型中的节点信息包括:表名称、上游层数、下游层数、上游表数量、下游表数量、直接上游表数量、直接下游表数量及直接下游表字段列表。所述直接下游表字段列表中每个列表的信息包括数据源表字段名称及数据目标表字段名称之间的关系。
进一步,所述基于图模型的数据血缘关系存储方法包括可视化展示所述血缘关系图模型。具体的,基于Neo4j的Cypher查询语法获取数据,同时结合前端框架vue.js完成。
本发明实施例提供的基于图模型的数据血缘关系存储方法利用初始图模型直接将数据作为图的节点、关系、属性存储到图数据库中,无需预先设计复杂的关系型数据表结构,大幅降低了此类场景的设计难度和复杂度;基于图数据库Neo4j的内存计算机制和优化的数据结构,在大量数据下,能够在几毫秒内快速完成数据血缘上下游层级数量、依赖表数量的统计,以及快速完成数据字段和数据表依赖关系的检索;同时结合良好的可视化界面功能设计,用户无需编写代码,通过鼠标点选即可快速查看和搜索数据表、直观的看到数据之间的血缘流向关系、血缘依赖层级等关键信息。
实施例3
请参阅图3,本发明实施例提供一种基于图模型的数据血缘关系存储***200,该***200包括:解析模块210,创建模块220,节点写入模块230,属性写入模块240,关系写入模块250及遍历模块260。
所述解析模块210,用于解析数据加工脚本中的SQL语句,获取数据源表名称及字段名称、数据目标表名称及字段名称、数据源表与数据目标表字段之间的关系。具体的,所述解析模块210采用一定方式解析数据加工脚本,获得数据仓库中的数据表、数据字段之间的血缘关系,作为构建基于图模型的数据血缘关系图模型的数据基础。由于本发明实施例的重点在于血缘关系的存储,在此不对脚本解析做阐述。本实施例中,所述解析模块210通过解析程序解析数据加工脚本中的SQL语句,获得数据源表名称(S_TABLE)、数据源表字段名称(S_COLUMN)、目标表名称(T_TABLE)、目标表字段名称(T_COLUMN)、数据源表字段与数据目标表字段之间的关系。
所述创建模块220,用于在一图数据库Neo4j中创建一初始图模型。具体的,当解析到数据之间的血缘关系之后,所述创建模块220依据Neo4j图数据库的数据模型创建初始图模型,后续在所述初始图模型中存入数据。
所述节点写入模块230,用于将所述数据源表字段名称及所述数据目标表字段名称分别作为所述初始图模型的节点,写入所述图数据库Neo4j。具体的,所述节点写入模块230设定所述数据源表字段名称为所述初始图模型的节点Node_A,并写入图数据库Neo4j中;同时设定所述数据目标表字段名称为所述初始图模型的节点Node_B,并写入图数据库Neo4j中。
所述属性写入模块240,用于将所述数据源表名称及所述数据目标表名称作为所述初始图模型节点的属性,写入所述图数据库Neo4j。具体的,所述属性写入模块240设定所述数据源表名称为所述初始图模型节点Node_A的属性,并写入图数据库Neo4j中;同时设定所述数据目标表名称为所述初始图模型节点Node_B的属性,并写入图数据库Neo4j中。
所述关系写入模块250,用于将所述数据源表字段名称及所述数据目标表字段名称的关系作为所述初始图模型的边,写入所述图数据库Neo4j。具体的,所述关系写入模块250设定所述初始图模型的节点Node_A与Node_B之间的关系,并写入图数据库Neo4j中。本发明实施例中,使用应用程序编程接口,指定图数据库对象(Graph)的连接地址和账户名,与图数据库Neo4j建立连接;然后将数据源表及目标表的字段名称设计为所述初始图模型的顶点,使用create方法创建节点对象,以数据源表及目标表名称分别作为对应节点对象的名称属性;然后使用create方法创建图数据库Neo4j的关系对象,该关系对象的参数指定第一个为数据源字段、第二个参数指定为‘to’代表关系方向的描述、第三个参数指定为数据目标字段。
所述遍历模块260,用于遍历解析所有数据加工脚本中的SQL语句,生成一血缘关系图模型。具体的,所述遍历模块260遍历解析所有数据加工脚本中的SQL语句,得到所有数据源表和数据目标表字段、表名称,并将其分别作为所述初始图模型的节点(Nodes)、关系(Relationships)、属性(Properties),并写入图数据库Neo4j中,组成一张大的完整的图,即血缘关系图模型。
所述血缘关系图模型为一网状图,其中,所述网状图以一个节点为中心,其它节点与中心节点进行关联,同时按照血缘关系的深度对不同节点进行颜色区分。所述血缘关系图模型中的节点信息包括:表名称、上游层数、下游层数、上游表数量、下游表数量、直接上游表数量、直接下游表数量及直接下游表字段列表。所述直接下游表字段列表中每个列表的信息包括数据源表字段名称及数据目标表字段名称之间的关系。
进一步,所述基于图模型的数据血缘关系存储***200包括一可视化展示模块270,用于可视化展示所述血缘关系图模型。具体的,所述可视化展示模块270基于Neo4j的Cypher查询语法获取数据,同时结合前端框架vue.js完成可视化展示。本实施例中,基于图模型的数据血缘关系构建之后,通过设计一种配套的可视化界面,来查询和分析所述基于图模型的数据血缘关系。
所述可视化界面展示的血缘关系图模型默认以某一个数据表节点作为中心,该节点采用红色显示;以网状图的形式展现所有与之关联的数据表节点,通过带箭头的灰色连接线连接各个数据表节点,按照血缘关系的深度,各级节点的颜色逐级变浅。其中,所述节点以圆形图标展示,图标标注有此节点代表的数据表名称;数据表包括数据源表及数据目标表。所述节点可通过点击之后弹框显示相关信息,包括:表名称、上游层数、下游层数、上游表数量、下游表数量、直接上游表数量、直接下游表数量及直接下游表字段列表。所述直接下游表字段列表中,点击某个表,展开显示数据字段之间的关系,包括:数据源表字段名称、数据目标表字段名称及带有方向箭头的连接线。
所述可视化界面进一步包括可输入文本的搜索框,输入表名称之后点击搜索按钮,血缘关系图将重新绘制,直接展示搜索的具体数据表相关的血缘关系图。所述可视化的基于图模型的数据血缘关系图可进行拖动、放大、缩小等操作,从而使用户可直观查看某个数据表在整个数据链路的流向情况。
本发明实施例提供的基于图模型的数据血缘关系存储***200利用初始图模型直接将数据作为图的节点、关系、属性存储到图数据库中,无需预先设计复杂的关系型数据表结构,大幅降低了此类场景的设计难度和复杂度;基于图数据库Neo4j的内存计算机制和优化的数据结构,在大量数据下,能够在几毫秒内快速完成数据血缘上下游层级数量、依赖表数量的统计,以及快速完成数据字段和数据表依赖关系的检索;同时结合良好的可视化界面功能设计,用户无需编写代码,通过鼠标点选即可快速查看和搜索数据表、直观的看到数据之间的血缘流向关系、血缘依赖层级等关键信息。
实施例4
如图4所示,本实施例提供一种电子设备,包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:
解析数据加工脚本中的SQL语句,获取数据源表名称及字段名称、数据目标表名称及字段名称、数据源表与数据目标表字段之间的关系;
在一图数据库Neo4j中创建一初始图模型;
将所述数据源表字段名称及所述数据目标表字段名称分别作为所述初始图模型的节点,写入所述图数据库Neo4j;
将所述数据源表名称及所述数据目标表名称分别作为所述初始图模型节点的属性,写入所述图数据库Neo4j;
将所述数据源表字段名称及所述数据目标表字段名称的关系作为所述初始图模型的边,写入所述图数据库Neo4j;
重复上述步骤,遍历解析所有数据加工脚本中的SQL语句,生成一血缘关系图模型。
实施例4
本公开实施例提供了一种非易失性计算机存储介质,所述计算机存储介质存储有计算机可执行指令,该计算机可执行指令可执行上述任意方法实施例中的漏洞组件版本查找方法。
需要说明的是,本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,单元的名称在某种情况下并不构成对该单元本身的限定,例如,第一获取单元还可以被描述为“获取至少两个网际协议地址的单元”。
Claims (10)
1.一种基于图模型的数据血缘关系存储方法,其特征在于,包括:
解析数据加工脚本中的SQL语句;
创建初始图模型;
将所述解析结果与初始图模型关联;
重复以上操作,遍历所有数据加工脚本中的SQL语句,生成一血缘关系图模型。
2.根据权利要求1所述的方法,其特征在于,其中所述解析数据加工脚本中的SQL语句之后,包括:
获取数据源表名称及字段名称、数据目标表名称及字段名称、数据源表与数据目标表字段之间的关系。
3.根据权利要求2所述的方法,其特征在于,其中所述创建初始图模型具体包括:
在图数据库Neo4j中创建初始图模型。
4.根据权利要求3所述的方法,其特征在于,其中所述将所述解析结果与初始图模型关联包括:
将所述数据源表字段名称及所述数据目标表字段名称分别作为所述初始图模型的节点,写入所述图数据库Neo4j。
5.根据权利要求3所述的方法,其特征在于,其中所述将所述解析结果与初始图模型关联还包括:
将所述数据源表名称及所述数据目标表名称分别作为所述初始图模型节点的属性,写入所述图数据库Neo4j。
6.根据权利要求3所述的方法,其特征在于,其中所述将所述解析结果与初始图模型关联包括:
将所述数据源表字段名称及所述数据目标表字段名称的关系作为所述初始图模型的边,写入所述图数据库Neo4j。
7.一种基于图模型的数据血缘关系存储***,其特征在于,包括:
解析模块,用于解析数据加工脚本中的SQL语句;
创建模块,用于在一图数据库Neo4j中创建一初始图模型;
节点写入模块,用于将所述数据源表字段名称及所述数据目标表字段名称分别作为所述初始图模型的节点,写入所述图数据库Neo4j;
属性写入模块,用于将所述数据源表名称及所述数据目标表名称作为所述初始图模型节点的属性,写入所述图数据库Neo4j;
关系写入模块,用于将所述数据源表字段名称及所述数据目标表字段名称的关系作为所述初始图模型的边,写入所述图数据库Neo4j;
遍历模块,用于遍历解析所有数据加工脚本中的SQL语句,生成一血缘关系图模型。
8.根据权利要求7所述的***,其特征在于,所述解析模块还用于获取数据源表名称及字段名称、数据目标表名称及字段名称、数据源表与数据目标表字段之间的关系。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1至6中任一项所述的方法。
10.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求1至6中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910385135.7A CN110245270A (zh) | 2019-05-09 | 2019-05-09 | 基于图模型的数据血缘关系存储方法、***、介质和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910385135.7A CN110245270A (zh) | 2019-05-09 | 2019-05-09 | 基于图模型的数据血缘关系存储方法、***、介质和设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110245270A true CN110245270A (zh) | 2019-09-17 |
Family
ID=67883891
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910385135.7A Pending CN110245270A (zh) | 2019-05-09 | 2019-05-09 | 基于图模型的数据血缘关系存储方法、***、介质和设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110245270A (zh) |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110781520A (zh) * | 2019-10-30 | 2020-02-11 | 上海观安信息技术股份有限公司 | 一种敏感表群体发现方法及*** |
CN111427997A (zh) * | 2020-03-09 | 2020-07-17 | 北京明略软件***有限公司 | 一种显示血缘关系的方法、装置、计算机存储介质及终端 |
CN111475682A (zh) * | 2020-04-06 | 2020-07-31 | 武汉智领云科技有限公司 | 一种基于超大规模数据***的智能运维平台 |
CN111538743A (zh) * | 2020-04-22 | 2020-08-14 | 电子科技大学 | 基于sql的数据血缘关系分析方法以及*** |
CN111723253A (zh) * | 2020-05-25 | 2020-09-29 | 贵州华泰智远大数据服务有限公司 | 一种基于图数据库的数据血缘查询方法及查询*** |
CN111782641A (zh) * | 2020-06-28 | 2020-10-16 | 中国工商银行股份有限公司 | 数据错误修复方法及*** |
CN112749186A (zh) * | 2021-01-22 | 2021-05-04 | 广州虎牙科技有限公司 | 数据处理方法、装置、电子设备和计算机可读存储介质 |
CN112749229A (zh) * | 2019-10-31 | 2021-05-04 | 北京国双科技有限公司 | 数据转换方法、装置、存储介质及电子设备 |
CN112783887A (zh) * | 2019-11-07 | 2021-05-11 | 北京沃东天骏信息技术有限公司 | 一种基于数据仓库的数据处理方法及装置 |
CN113094776A (zh) * | 2021-04-19 | 2021-07-09 | 城云科技(中国)有限公司 | 可视化组件模型数据构建的方法、***及电子设备 |
CN113127442A (zh) * | 2020-01-10 | 2021-07-16 | 马上消费金融股份有限公司 | 数据模型的可视化的方法、装置及存储介质 |
CN113486108A (zh) * | 2021-07-06 | 2021-10-08 | 建信金融科技有限责任公司 | 一种数据处理方法、装置、电子设备及计算机可读介质 |
CN113672674A (zh) * | 2021-07-15 | 2021-11-19 | 浙江大华技术股份有限公司 | 一种自动编排业务流的方法、电子装置和存储介质 |
CN113672774A (zh) * | 2021-07-29 | 2021-11-19 | 国电南瑞科技股份有限公司 | 一种基于配电云主站及图数据库的配电网设备拓扑着色方法及装置 |
CN116010444A (zh) * | 2023-03-27 | 2023-04-25 | 中国人民解放军国防科技大学 | 低代码交互式的图查询语句构建方法 |
CN117688217A (zh) * | 2024-02-02 | 2024-03-12 | 北方健康医疗大数据科技有限公司 | 基于有向图实现数据血缘关系结构的***、方法及介质 |
CN117786023A (zh) * | 2024-02-28 | 2024-03-29 | 北方健康医疗大数据科技有限公司 | 医疗数据血缘分析方法、***、终端及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3327991A1 (en) * | 2016-11-29 | 2018-05-30 | Alcatel Lucent | Storage of coverage-related information of a telecommunication network |
CN108170847A (zh) * | 2018-01-18 | 2018-06-15 | 国网福建省电力有限公司 | 一种基于Neo4j图数据库的大数据存储方法 |
CN108804701A (zh) * | 2018-06-19 | 2018-11-13 | 苏州大学 | 基于社交网络大数据的人物画像模型构建方法 |
CN109446279A (zh) * | 2018-10-15 | 2019-03-08 | 顺丰科技有限公司 | 基于neo4j大数据血缘关系管理方法、***、设备及存储介质 |
-
2019
- 2019-05-09 CN CN201910385135.7A patent/CN110245270A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3327991A1 (en) * | 2016-11-29 | 2018-05-30 | Alcatel Lucent | Storage of coverage-related information of a telecommunication network |
CN108170847A (zh) * | 2018-01-18 | 2018-06-15 | 国网福建省电力有限公司 | 一种基于Neo4j图数据库的大数据存储方法 |
CN108804701A (zh) * | 2018-06-19 | 2018-11-13 | 苏州大学 | 基于社交网络大数据的人物画像模型构建方法 |
CN109446279A (zh) * | 2018-10-15 | 2019-03-08 | 顺丰科技有限公司 | 基于neo4j大数据血缘关系管理方法、***、设备及存储介质 |
Cited By (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110781520A (zh) * | 2019-10-30 | 2020-02-11 | 上海观安信息技术股份有限公司 | 一种敏感表群体发现方法及*** |
CN112749229A (zh) * | 2019-10-31 | 2021-05-04 | 北京国双科技有限公司 | 数据转换方法、装置、存储介质及电子设备 |
CN112783887A (zh) * | 2019-11-07 | 2021-05-11 | 北京沃东天骏信息技术有限公司 | 一种基于数据仓库的数据处理方法及装置 |
CN113127442A (zh) * | 2020-01-10 | 2021-07-16 | 马上消费金融股份有限公司 | 数据模型的可视化的方法、装置及存储介质 |
CN113127442B (zh) * | 2020-01-10 | 2023-12-22 | 马上消费金融股份有限公司 | 数据模型的可视化的方法、装置及存储介质 |
CN111427997A (zh) * | 2020-03-09 | 2020-07-17 | 北京明略软件***有限公司 | 一种显示血缘关系的方法、装置、计算机存储介质及终端 |
CN111475682A (zh) * | 2020-04-06 | 2020-07-31 | 武汉智领云科技有限公司 | 一种基于超大规模数据***的智能运维平台 |
CN111538743A (zh) * | 2020-04-22 | 2020-08-14 | 电子科技大学 | 基于sql的数据血缘关系分析方法以及*** |
CN111538743B (zh) * | 2020-04-22 | 2023-08-18 | 电子科技大学 | 基于sql的数据血缘关系分析方法以及*** |
CN111723253A (zh) * | 2020-05-25 | 2020-09-29 | 贵州华泰智远大数据服务有限公司 | 一种基于图数据库的数据血缘查询方法及查询*** |
CN111782641A (zh) * | 2020-06-28 | 2020-10-16 | 中国工商银行股份有限公司 | 数据错误修复方法及*** |
CN111782641B (zh) * | 2020-06-28 | 2023-07-28 | 中国工商银行股份有限公司 | 数据错误修复方法及*** |
CN112749186A (zh) * | 2021-01-22 | 2021-05-04 | 广州虎牙科技有限公司 | 数据处理方法、装置、电子设备和计算机可读存储介质 |
CN112749186B (zh) * | 2021-01-22 | 2024-02-09 | 广州虎牙科技有限公司 | 数据处理方法、装置、电子设备和计算机可读存储介质 |
CN113094776A (zh) * | 2021-04-19 | 2021-07-09 | 城云科技(中国)有限公司 | 可视化组件模型数据构建的方法、***及电子设备 |
CN113486108A (zh) * | 2021-07-06 | 2021-10-08 | 建信金融科技有限责任公司 | 一种数据处理方法、装置、电子设备及计算机可读介质 |
CN113672674A (zh) * | 2021-07-15 | 2021-11-19 | 浙江大华技术股份有限公司 | 一种自动编排业务流的方法、电子装置和存储介质 |
CN113672774A (zh) * | 2021-07-29 | 2021-11-19 | 国电南瑞科技股份有限公司 | 一种基于配电云主站及图数据库的配电网设备拓扑着色方法及装置 |
CN113672774B (zh) * | 2021-07-29 | 2023-09-29 | 国电南瑞科技股份有限公司 | 一种基于配电云主站及图数据库的配电网设备拓扑着色方法及装置 |
CN116010444A (zh) * | 2023-03-27 | 2023-04-25 | 中国人民解放军国防科技大学 | 低代码交互式的图查询语句构建方法 |
CN117688217A (zh) * | 2024-02-02 | 2024-03-12 | 北方健康医疗大数据科技有限公司 | 基于有向图实现数据血缘关系结构的***、方法及介质 |
CN117786023A (zh) * | 2024-02-28 | 2024-03-29 | 北方健康医疗大数据科技有限公司 | 医疗数据血缘分析方法、***、终端及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110245270A (zh) | 基于图模型的数据血缘关系存储方法、***、介质和设备 | |
US10824632B2 (en) | System and method for generating event visualizations | |
US11580680B2 (en) | Systems and interactive user interfaces for dynamic retrieval, analysis, and triage of data items | |
US10599313B2 (en) | System for high volume data analytic integration and channel-independent advertisement generation | |
US20210382887A1 (en) | Systems and methods for grouping and enriching data items accessed from one or more databases for presentation in a user interface | |
US10311050B2 (en) | Crowdsourced discovery of paths in a knowledge graph | |
US20160364770A1 (en) | System for high volume data analytic integration and channel-independent advertisement generation | |
Dourish | No SQL: The shifting materialities of database technology | |
US9466041B2 (en) | User selected flow graph modification | |
US9223549B1 (en) | User interface generation using a model layer | |
US20150007084A1 (en) | Chaining applications | |
US11727325B2 (en) | User interface to analyze and navigate through decision logic | |
US10552423B2 (en) | Semantic tagging of nodes | |
Lavbič et al. | Facilitating information system development with Panoramic view on data | |
US10585926B2 (en) | Managing structuring of large sets of unstructured data | |
US11275485B2 (en) | Data processing pipeline engine | |
US20190384615A1 (en) | Containerized runtime environments | |
EP3786810A1 (en) | Automatic generation of computing artifacts for data analysis | |
US10552995B2 (en) | Hierarchical information visualizer and editor | |
US20130218893A1 (en) | Executing in-database data mining processes | |
JP2010128870A (ja) | データ処理装置 | |
Öztürk et al. | Onyx: A new Canvas‐based tool for visualizing biomedical and health ontologies | |
Canbaz | Visuall: a quickly customizable library for jumpstarting visual graph analysis components | |
Tailhardat et al. | NORIA UI: Efficient Incident Management on Large-Scale ICT Systems Represented as Knowledge Graphs | |
da Costa Capa | Data Center Visualization |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190917 |
|
RJ01 | Rejection of invention patent application after publication |