数据血缘关系构建方法及系统、电子设备、存储介质与流程

文档序号:29806026发布日期:2022-04-23 21:57阅读:309来源:国知局
数据血缘关系构建方法及系统、电子设备、存储介质与流程

1.本技术涉及数据处理技术领域,尤其涉及数据血缘关系构建方法及系统、电子设备、存储介质。


背景技术:

2.随着业务创新和综合化进程的快速发展,系统种类迅速膨胀,系统之间相互交织,业务系统越来越复杂。此外,互联网时代业务需求瞬息万变,给系统开发、测试、运维带来巨大的压力和挑战。
3.系统规模随业务扩展而扩大,形成庞大的程序和软件资源,甚至分割为更多子系统并交由多个开发组织开发和维护。早期采用面向过程设计技术的核心系统框架,程序模块的隔离和封装性相对较差,子系统之间耦合度较高。由于业务变化多、实现周期短,使得业务系统核心代码修改频繁,大大的增加了单业务系统管理难度。并且,现有的血缘关系管理主要依靠手工维护,一旦系统代码、脚本、模型发生变化,手工维护遗漏或不及时的话,就会造成关系不准确。目前子系统血缘管理技术,多为应用级别关系管理,应用级的血缘简单易行、执行效率高,但分析精度较低,难以支撑企业级多系统、跨系统的应用。


技术实现要素:

4.本技术实施例提供了数据血缘关系构建方法及系统、电子设备、存储介质,用以实现多子系统之间的数据血缘关系的构建。
5.本技术实施例提供的一种数据血缘关系构建方法,应用于包括若干子系统的业务系统,该方法包括:
6.获取业务系统中包含的数据对象的元数据信息;
7.捕获每一子系统的元数据变更信息;
8.根据元数据变信息,获得每一子系统对应的子系统数据血缘关系;
9.根据业务系统包括的每一子系统的子系统数据血缘关系获得业务系统数据血缘关系。
10.在一些实施例中,获取业务系统中包含的数据对象的元数据信息,具体包括:
11.将每一数据对象的元数据集成到业务系统;
12.对元数据进行定义获得元数据类型,并根据元数据类型创建元数据实体;
13.对元数据定义业务标签和业务分类,并将元数据对象的业务标签和业务分类通过元数据关联。
14.在一些实施例中,捕获每一子系统的元数据变更信息,具体包括:
15.捕获子系统的元数据实体的变更信息;
16.根据变更信息更新数据对象的元数据。
17.在一些实施例中,根据每一子系统的元数据变信息,生成每一子系统对应的子系统数据血缘关系,具体包括:
18.根据每一数据对象的变更信息,生成子系统的各数据对象之间的血缘依赖谱系图,作为子系统的子系统数据血缘关系。
19.在一些实施例中,方法还包括:
20.业务系统建立血缘关系交换空间,生成第一公钥和第一私钥保存至血缘关系交换空间;
21.子系统生成并保存第二公钥和第二私钥;其中,不同子系统的第二公钥不相同,不同子系统的第二私钥不相同;
22.血缘关系交换空间向子系统发送第一公钥,子系统向血缘关系交换空间发送第二公钥;
23.根据业务系统包括的每一子系统的子系统数据血缘关系获得业务系统数据血缘关系,具体包括:
24.每一子系统通过第二私钥对子系统数据血缘关系进行加密,并将加密的子系统数据血缘关系发送至血缘关系交换空间;
25.血缘关系交换空间根据第二公钥对子系统数据血缘关系进行解密,根据每一子系统数据血缘关系获得多个子系统之间的血缘关系,生成业务系统数据血缘关系。
26.在一些实施例中,根据业务系统包括的每一子系统的子系统数据血缘关系获得业务系统数据血缘关系之后,还包括:
27.血缘关系交换空间通过第一私钥对业务系统数据血缘关系加密;
28.并将加密的业务系统数据血缘关系发送至每一子系统;
29.每一子系统根据第一公钥对加密的业务系统数据血缘关系进行解密,获得解密的业务系统数据血缘关系。
30.在一些实施例中,根据每一子系统数据血缘关系获得多个子系统之间的血缘关系,生成业务系统数据血缘关系,具体包括:
31.根据预设规则对各子系统的子系统数据血缘关系中的元数据信息进行分析、归类、加权、递归,获得多个子系统之间的血缘关系,生成业务系统数据血缘关系。
32.在一些实施例中,根据预设规则对各子系统的子系统数据血缘关系中的元数据信息进行分析、归类、加权、递归,获得多个子系统之间的血缘关系,具体包括:
33.扫描子系统数据血缘关系中的数据字段;数据字段包括:输入字段和输出字段;
34.将数据字段的传递关系、运算关系定义为输入字段和输出字段交互关系;
35.按照输入字段的调用流程,生成调用路径;
36.以输出字段为起点,结合调用路径,采用决策树预测模型和递归算法,对数据字段进行分析、归类、加权、递归,生成多个子系统之间的血缘关系,并保留输入和输出字段的关联关系。
37.本技术实施例提供的一种数据血缘关系构建系统,包括:
38.获取模块,用于获取业务系统中包含的数据对象的元数据信息;其中,业务系统包括若干子系统;
39.捕获模块,用于捕获每一子系统的元数据变更信息;
40.第一数据血缘关系构建模块,用于根据元数据变信息,获得每一子系统的子系统数据血缘关系;
41.第二数据血缘关系构建模块,用于根据业务系统包括的每一子系统的子系统数据血缘关系获得业务系统数据血缘关系。
42.本技术实施例提供的一种计算机设备,设备包括:
43.一个或多个处理器;
44.存储装置,用于存储一个或多个程序;
45.当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现本技术实施例提供的数据血缘关系构建方法。
46.本技术实施例提供的一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本技术实施例提供的数据血缘关系构建方法。
47.本技术实施例提供的一种计算机程序产品,包括计算机程序,计算机程序被处理器执行时实现本技术实施例提供的数据血缘关系构建方法。
48.本技术实施例提供的数据血缘关系构建方法及系统、电子设备、存储介质,应用于包括多个子系统的业务系统,基于数据对象的元数据信息获得每一子系统对应的子系统数据血缘关系,再根据各个子系统对应的子系统数据血缘关系获得业务系统的数据血缘关系,从而可以构建跨子系统的企业级数据血缘关系。通过业务系统数据血缘关系,能够方便地实现数据管理、系统资产管理、治理功能;能够为构建业务系统的资产目录、资产分类、资产治理提供基础,同时还为运维分析师或者治理团队提供围绕这些数据资产、系统资产的协作功能。
附图说明
49.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
50.图1为本技术实施例提供的一种数据血缘关系构建方法的流程示意图;
51.图2为本技术实施例提供的决策树的示意图;
52.图3为本技术实施例提供的另一种数据血缘关系构建方法的流程示意图;
53.图4为本技术实施例提供的一种表级的数据血缘关系示意图;
54.图5为本技术实施例提供的一种字段级数据血缘关系示意图;
55.图6为本技术实施例提供的一种子系统之间的血缘关系捕获逻辑图示意图;
56.图7为本技术实施例提供的一种数据血缘关系构建系统的示意图;
57.图8为本技术实施例提供的另一种数据血缘关系构建系统的示意图。
具体实施方式
58.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例的附图,对本技术实施例的技术方案进行清楚、完整地描述。显然,所描述的实施例是本技术的一部分实施例,而不是全部的实施例。并且在不冲突的情况下,本技术中的实施例及实施例中的特征可以相互组合。基于所描述的本技术的实施例,本领域普通技术人员在无需创造性劳动的前提下所获得的所有其他实施例,都属于本技术保护的范围。
59.除非另外定义,本技术使用的技术术语或者科学术语应当为本技术所属领域内具有一般技能的人士所理解的通常意义。本技术中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。
60.需要注意的是,附图中各图形的尺寸和形状不反映真实比例,目的只是示意说明本技术内容。并且自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。
61.本技术实施例提供了本技术实施例提供的一种数据血缘关系构建方法,应用于包括若干子系统的业务系统,如图1所示,该方法包括:
62.s101、获取业务系统中包含的数据对象的元数据信息;
63.s102、捕获每一子系统的元数据变更信息;
64.s103、根据每一子系统的元数据变信息,获得每一子系统对应的子系统数据血缘关系;
65.s104、根据业务系统包括的每一子系统的子系统数据血缘关系获得业务系统数据血缘关系。
66.本技术实施例提供的数据血缘关系构建方法,应用于包括多个子系统的业务系统,基于数据对象的元数据信息获得每一子系统对应的子系统数据血缘关系,再根据各个子系统对应的子系统数据血缘关系获得业务系统的数据血缘关系,从而可以构建跨子系统的企业级数据血缘关系。通过业务系统数据血缘关系,能够方便地实现数据管理、系统资产管理、治理功能;能够为构建业务系统的资产目录、资产分类、资产治理提供基础,同时还为运维分析师或者治理团队提供围绕这些数据资产、系统资产的协作功能。
67.需要说明的是,本技术实施例提供的数据血缘关系构建方法,利用多个子系统间数据流转处理的本质来记录、加工,并构建数据血缘关系。子系统之间交易处理,本质是数据的收集和处理过程,数据处理过程实际上是程序对数据的传递、运算演绎和归档活动,归档的数据库和文件又可能影响子系统的数据血缘关系构建结果或再传播给其他子系统。本技术实施例提供的数据血缘关系构建方法,将整个业务系统包括的全部子系统软件实体(包括程序、数据库、文件、公共构件以及各部分之间的通信接口结构定义)作为分析对象,可以确保数据流跟踪的连贯性。
68.在具体实施时,本技术实施例提供的数据血缘关系构建方法例如可以基于结构化查询语言(structured query language,sql)。需要说明的是,sql是用于访问和处理数据库的标准的计算机语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。sql具有数据定义、数据操纵和数据控制的功能。
69.在具体实施时,整个数据血缘关系构建过程中,数据对象以数据字段形式分布在程序、通信接口、数据库、文件等子系统中。对于数据字段交互信息的收集和存储,字段级关系包括前项数据字段元素和后项数据字段元素。每个数据字段元素包含4层约束:版本号、应用名、实体名、字段名,可对上述4层约束分别记录存储。
70.在一些实施例中,步骤s101获取业务系统中包含的数据对象的元数据信息,具体包括:
71.将每一数据对象的元数据集成到业务系统;
72.对元数据进行定义获得元数据类型,并根据元数据类型创建元数据实体;
73.对元数据定义业务标签和业务分类,并将元数据对象的业务标签和业务分类通过元数据关联。
74.需要说明的是,数据对象的元数据是数据血缘关系构建的基础,将元数据集成到业务系统以便后续进行数据血缘关系构建。
75.需要说明的是,业务系统涉及的数据对象可以包括多种。数据对象包括关系型数据和非关系型数据;数据对象例如包括:mysql、oracel、hive、hbase等数据库的数据。在具体实施时,可以通过人工注册数据对象的元数据或者直接导入已有的数据对象的元数据(比如hive元数据),为业务系统数据血缘关系构建提供基础数据。
76.在具体实施时,对元数据进行定义获得元数据类型,根据元数据类型创建元数据实体,具体包括:对元数据使用类型进行建模,获得元数据类型,并将元数据类型表示为实体。
77.在具体实施时,类型通过“name”唯一标识,每个类型有一个元类型,元类型包括:(1)原始元类型:boolean、byte、short、int、long、float、double、biginteger、bigdecimal、string、date;(2)枚举元类型;(3)集合元类型:数组、映射;(4)复合元类型:实体、结构、分类、关系。
78.在具体实施时,实体是类型的特定值或特定列,比如表就是一个实体。实体由唯一标识符(globally unique identifier,guid)标识。此guid由服务器在定义数据对象时生成,并在实体的整个生命周期内保持不变。在任何时候,都可以使用其guid访问此特定实体。
79.在具体实施时,元数据定义主要是对元数据进行抽象,方便统一管理各种不同类型的元数据源。标识符的定义可以保证元数据的唯一性。
80.在具体实施时,对元数据定义业务标签和业务分类即允许用户为元数据定义业务标签和业务分类。在具体实施时业务标签和业务分类通过元数据关联到库、表、列等资产。对元数据定义业务标签和业务分类,可以实现通过业务标签和业务分类将元数据相互关联、通过业务标签和业务分类将元数据和数据资产关联、按不同的业务分类管理元数据、按业务分类层次更广泛和更精细的表达元数据的业务范围、通过业务标签和业务分类传播血缘依赖。
81.在一些实施例中,捕获每一子系统的元数据变更信息,具体包括:
82.捕获子系统的元数据实体的变更信息;
83.根据变更信息更新元数据实体。
84.在具体实施时,可以通过消息队列更新数据对象的元数据实体,变更信息例如包括实体创建信息、实体更新信息、实体删除信息、字段创建信息、字段更新信息、字段删除信息。
85.在具体实施时,可以通过捕获钩子自动捕获子系统的元数据实体的变更信息。在数据对象传递过程中,可以通过不同类型的捕获钩子自动捕获元数据的创建、元数据更新、元数据删除等操作,并且通过消息队列通知更新数据对象的元数据。捕获钩子可以捕获到以下操作:实体创建、实体更新、实体删除、字段创建、字段更新、字段删除。例如,当查询读
取数据对象的数据字段,输入数据字段的查询内容后,将值写入到表中,完成后记录倾斜的表名与列名的值,同步更新到表中,当数据对象传递过程中执行了上述操作时,捕获钩子将会被触发,捕获钩子内部接收到发生变更的输出列和一组输入列或输入表,发生变更的输出列和一组输入列或输入表即为元数据实体的变更信息。
86.在一些实施例中,根据元数据变信息,生成每一子系统对应的子系统数据血缘关系,具体包括:
87.根据每一数据对象的变更信息,生成子系统的各数据对象之间的血缘依赖谱系图,作为子系统的子系统数据血缘关系。
88.在具体实施时,子系统数据血缘关系例如可以是子系统血缘本。子系统血缘本包括程序指令、数据库、文件、公共构件以及上述各部分之间的通信接口结构定义等资源。
89.在具体实施时,根据每一数据对象的变更信息,生成子系统的各数据对象之间的血缘依赖谱系图,具体包括:根据变更信息对数据对象的血缘关系进行解析,获得各数据对象的传递关系,生成各数据对象的血缘关系,即血缘依赖谱系图。
90.在具体实施时,可以利用决策树预测模型对数据对象的血缘关系进行解析。需要说明的是,决策树预测模型,是对象属性与对象值之间的一种映射关系。决策树中每个节点表示某个对象,而每个分叉路径则代表某个可能的属性值,每个叶结点则对应从根节点到该叶节点所经历的路径所表示的对象的值。决策树仅有单一输出,若有复数输出,可以建立独立的决策树以处理不同输出。如图2所示,一个决策树包含三种类型的节点:决策节点,通常用矩形框来表示;机会节点,通常用圆圈来表示;终结点,通常用三角形来表示。
91.在具体实施时,可以利用决策树预测模型、并通过面向过程程序对数据对象的血缘关系进行解析。具体的,根据变更信息,利用面向过程程序标识一个完整的逻辑处理段,例如以main至end标识一个完整的逻辑处理段,一个逻辑处理段被选择、分支、跳转等指令分割为更多更小的逻辑处理段。层层细化所有逻辑处理段的选择、分支条件,从而简化为一个由若干逻辑处理段组成的树型图,作为数据血缘依赖谱系图。
92.在具体实施时,例如当变更信息包括输出列和一组输入列或输入表,通过将输出列和一组输入列或输入表相关联生成数据血缘依赖谱系图。
93.在具体实施时,血缘依赖谱系图的依赖类型主要有以下3种:
94.简单依赖:输出列具有与输入相同的值。
95.表达式:输出列在运行时由输入列上的某个表达式(例如hive sql表达式)转换。
96.脚本:输出列由用户提供的脚本转换。
97.在具体实施时,通过sql处理触发元数据实体变更,捕获钩子捕获变更信息,构建数据血缘谱系图。即可以通过执行sql语句触发元数据变更血缘动作,自动化用捕获钩子开始捕获血缘。
98.在具体实施时,生成子系统的各数据对象之间的血缘依赖谱系图之后,还包括:将血缘依赖谱系图存储至图数据库,生成索引存储到搜索引擎。
99.接下来对生成血缘依赖谱系图的流程进行举例说明,如图3所示,包括:
100.s201、获取数据对象的元数据;
101.s202、对获取的对元数据进行定义;
102.s203、基于定义的元数据创建元数据实体;
103.s204、对元数据定义业务标签和业务分类;
104.s205、捕获子系统的元数据实体的变更信息,并根据变更信息更新元数据实体;
105.s206、根据变更信息对数据对象的血缘关系进行解析生成血缘依赖谱系图;
106.s207、将血缘依赖谱系图存储至图数据库;
107.s208、生成血缘依赖谱系图的索引存储到搜索引擎。
108.在一些实施例中,数据血缘关系构建方法还包括:
109.业务系统建立血缘关系交换空间,生成第一公钥和第一私钥保存至血缘关系交换空间;
110.子系统生成并保存第二公钥和第二私钥;其中,不同子系统的第二公钥不相同,不同子系统的第二私钥不相同;
111.血缘关系交换空间向子系统发送第一公钥,子系统向血缘关系交换空间发送第二公钥;
112.根据业务系统包括的每一子系统的子系统数据血缘关系获得业务系统数据血缘关系,具体包括:
113.每一子系统通过第二私钥对子系统数据血缘关系进行加密,并将加密的子系统数据血缘关系发送至血缘关系交换空间;
114.血缘关系交换空间根据第二公钥对子系统数据血缘关系进行解密,根据每一子系统数据血缘关系获得多个子系统之间的血缘关系,生成业务系统数据血缘关系。
115.在一些实施例中,根据业务系统包括的每一子系统的子系统数据血缘关系获得业务系统数据血缘关系之后,还包括:
116.血缘关系交换空间通过第一私钥对业务系统数据血缘关系加密;
117.并将加密的业务系统数据血缘关系发送至每一子系统;
118.每一子系统根据第一公钥对加密的业务系统数据血缘关系进行解密,获得解密的业务系统数据血缘关系。
119.在一些实施例中,根据每一子系统数据血缘关系获得多个子系统之间的血缘关系,生成业务系统数据血缘关系,具体包括:
120.根据预设规则对各子系统的子系统数据血缘关系中的元数据信息进行分析、归类、加权、递归,获得多个子系统之间的血缘关系,生成业务系统数据血缘关系。
121.在一些实施例中,根据预设规则对各子系统的子系统数据血缘关系中的元数据信息进行分析、归类、加权、递归,获得多个子系统之间的血缘关系,具体包括:
122.扫描子系统数据血缘关系中的数据字段;数据字段包括:输入字段和输出字段;
123.将数据字段的传递关系、运算关系定义为输入字段和输出字段交互关系;
124.按照输入字段的调用流程,生成调用路径;
125.以输出字段为起点,结合调用路径,采用决策树预测模型和递归算法,对数据字段进行分析、归类、加权、递归,生成多个子系统之间的血缘关系,并保留输入和输出字段的关联关系。
126.在具体实施时,子系统间的关联性划分为实体级和数据字段级两个层级。实体级关联性指各子系统之间的耦合、调用关系,数据字段级关联性则指任一子系统的数据字段与其他子系统的数据字段的映射、计算、传递等耦合关系。
127.本技术实施例提供的数据血缘关系构建方法,通过对程序指令的语义分析,识别相关子系统数据字段之间的映射和传递关系,分析精度高,分析结果创建“企业大数据血缘树”影响性分析视图和业务逻辑视图,记载了数据处理过程的整个生命周期,方便评估系统之间的问题细节和影响范围,对问题预测、质量控制、数据分析、可用性等方面有着重要意义。企业通过血缘治理,能够高效和有效地满足其在中的数据合规性要求,且能够方便地与整个企业生态系统集成。
128.在具体实施时,可以通过对业务系统的程序逻辑可能涉及的路径进行静态分析和罗列。具体的,可以对关联系统模型的程序进行深度优先遍历,通过写入系统模型id和读取系统模型id,判断模型间的依赖关系。遇到读取操作则判断当前系统模型为依赖操作,遇到写入操作则判断当前系统模型为目标操作。对所有系统模型id及关联系统模型程序进行递归操作。遇到子句则压栈当前处理,处理子句。子句处理完,栈弹出。处理字句的过程中,遇到子查询就保存当前子查询的信息,判断与其父查询的关系,最终形成树形结构。
129.在具体实施时,表级的数据血缘关系如图4所示,字段级数据血缘关系如图5所示,图4中,a系统、b系统、c系统、d系统分别代表两个不同的子系统。子系统之间的血缘关系捕获逻辑图如图6所示,图6中,a系统和b系统分别代表两个不同的子系统,当a系统进行创建表的动作、b系统进行删除表的动作,捕获钩子将会被触发,捕获钩子内部接收到发生变更的输出列和一组输入列或输入表,更新a系统和b系统的元数据,并根据两个子系统的变更信息解析a系统和b系统之间的血缘关系为依赖关系。
130.本技术实施例提供的数据血缘构建方法,子系统间交互执行过程可以被自动化捕获以获得子系统之间的数据血缘关系。建立跨子系统之间的数据血缘关系,可以通过深度挖掘分析识别缺失值、异常值和其他数据异常自动化数据质量分析。还可以通过深度挖掘分析揭示数据在其生命周期中是如何演变的,它来自哪里,并预见将因未来变化而受到影响的资产的血统和影响分析。确保敏感的列派生的每个表或列都继承相同的分类和安全控制。
131.并且,本技术实施例提供的数据血缘构建方法,除了将子系统数据血缘关系上报到血缘关系交换空间并获得多个子系统之间的血缘关系,即获得业务系统数据血缘关系,还会将获得的业务系统数据血缘关系同步下发到每一子系统,这样,对于包括多个子系统的业务系统,可以形成从数据获取、子系统数据血缘关系构建、跨子系统数据血缘关系构建获得业务系统数据血缘关系、将业务系统数据血缘关系下发到各子系统的完整闭环。以支持业务系统的持续发展,可以实现海量数据模型的血缘关系构建。通过对业务系统数据血缘关系的构建,还可以实现数据治理过程中的数据可追溯,通过对数据的血缘关系分析保证数据融合,即通过数据血缘关系分析可实现数据融合处理的可追溯。
132.本技术实施例提供的数据血缘构建方法,对元数据定义业务标签和业务分类,例如可以给表和字段打标签,通过血缘分析,对数据的整个流转过程打上标签,例如业务数据,广告、订单类。也可以根据优先级重要程度打上对应的标签。
133.在具体实施时,可以利用数据血缘关系构建方法获得业务系统数据血缘关系进行数据评估,通过数据血缘关系分析,可以从数据的集中度、分布、冗余度等多角度进行评估分析,从而判断数据的价值。还可以根据数据血缘关系,确保每个环节都进行了数据质量的检测和处理,提高最终数据的质量。可以通过对表和字段的血缘分析数据,找到使用较多的
数据,分析是否存在重复计算,浪费资源的情况,以优化数据仓库。
134.基于同一发明构思,本技术实施例还提供了一种数据血缘关系构建系统,如图7所示,包括:
135.第一获取模块101,用于获取业务系统中包含的数据对象的元数据信息;其中,业务系统包括若干子系统;
136.捕获模块102,用于捕获每一子系统的元数据变更信息;
137.第一数据血缘关系构建模块103,用于根据每一子系统的元数据变信息,获得每一子系统对应的子系统数据血缘关系;
138.第二数据血缘关系构建模块104,用于根据业务系统包括的每一子系统的子系统数据血缘关系获得业务系统数据血缘关系。
139.在一些实施例中,数据血缘关系构建系统还包括:元数据集成模块,用于将每一数据对象的元数据集成到业务系统;
140.第一获取模块用于获取业务系统中包含的数据对象的元数据信息,具体包括:
141.对元数据进行定义获得元数据类型,并根据元数据类型创建元数据实体;
142.对元数据定义业务标签和业务分类,并将元数据对象的业务标签和业务分类通过元数据关联。
143.在具体实施时,对元数据进行定义获得元数据类型,根据元数据类型创建元数据实体,具体包括:对元数据使用类型进行建模,获得元数据类型,并将元数据类型表示为实体。
144.在一些实施例中,捕获模块用于捕获每一子系统的元数据变更信息,具体包括:
145.捕获子系统的元数据实体的变更信息;
146.根据变更信息更新元数据实体。
147.在具体实施时,可以通过消息队列更新数据对象的元数据实体,变更信息例如包括实体创建信息、实体更新信息、实体删除信息、字段创建信息、字段更新信息、字段删除信息。
148.在具体实施时,捕获模块包括捕获钩子,即可以通过捕获钩子自动捕获子系统的元数据实体的变更信息。在数据对象传递过程中,可以通过不同类型的捕获钩子自动捕获元数据的创建、元数据更新、元数据删除等操作,并且通过消息队列通知更新数据对象的元数据。捕获钩子可以捕获到以下操作:实体创建、实体更新、实体删除、字段创建、字段更新、字段删除。例如,当查询读取数据对象的数据字段,输入数据字段的查询内容后,将值写入到表中,完成后记录倾斜的表名与列名的值,同步更新到表中,当数据对象传递过程中执行了上述操作时,捕获钩子将会被触发,捕获钩子内部接收到发生变更的输出列和一组输入列或输入表,发生变更的输出列和一组输入列或输入表即为元数据实体的变更信息。
149.在一些实施例中,第一数据血缘关系构建模块用于根据元数据变信息生成子系统的子系统数据血缘关系,具体包括:
150.根据每一数据对象的变更信息,生成子系统的各数据对象之间的血缘依赖谱系图,作为子系统的子系统数据血缘关系。
151.在具体实施时,根据每一数据对象的变更信息,生成子系统的各数据对象之间的血缘依赖谱系图,具体包括:根据变更信息对数据对象的血缘关系进行解析,获得各数据对
象的传递关系,生成各数据对象的血缘关系,即血缘依赖谱系图。
152.在具体实施时,可以利用决策树预测模型、并通过面向过程程序对数据对象的血缘关系进行解析。
153.在具体实施时,数据血缘关系构建系统还包括:
154.图数据库,用于存储血缘依赖谱系图,以及生成索引;
155.搜索引擎,用于存储索引。
156.在一些实施例中,数据血缘关系构建系统还包括:
157.血缘关系交换空间建立模块,用于建立血缘关系交换空间,生成第一公钥和第一私钥保存至血缘关系交换空间;
158.每一子系统还包括密钥对生成模块,用于生成并保存第二公钥和第二私钥;其中,不同子系统的第二公钥不相同,不同子系统的第二私钥不相同;
159.在一些实施例中,血缘关系交换空间包括第二数据血缘关系构建模块;
160.血缘关系交换空间还包括:
161.第一发送接收模块,用于向子系统发送第一公钥,以及接受子系统发送的第二公钥;
162.每一子系统还包括:
163.第二发送接收模块,用于通过第二私钥对子系统数据血缘关系进行加密,并将加密的子系统数据血缘关系发送至血缘关系交换空间;
164.第二数据血缘关系构建模块用于根据业务系统包括的每一子系统的子系统数据血缘关系获得业务系统数据血缘关系,具体包括:
165.根据第二公钥对子系统数据血缘关系进行解密,根据每一子系统数据血缘关系获得多个子系统之间的血缘关系,生成业务系统数据血缘关系。
166.在一些实施例中,第一发送接收模块还用于:通过第一私钥对业务系统数据血缘关系加密;并将加密的业务系统数据血缘关系发送至每一子系统;
167.第二发送接收模块还用于:根据第一公钥对加密的业务系统数据血缘关系进行解密,获得解密的业务系统数据血缘关系。
168.在一些实施例中,第二数据血缘关系构建模块用于根据每一子系统数据血缘关系获得多个子系统之间的血缘关系,生成业务系统数据血缘关系,具体包括:
169.根据预设规则对各子系统的子系统数据血缘关系中的元数据信息进行分析、归类、加权、递归,获得多个子系统之间的血缘关系,生成业务系统数据血缘关系。
170.在一些实施例中,根据预设规则对各子系统的子系统数据血缘关系中的元数据信息进行分析、归类、加权、递归,获得多个子系统之间的血缘关系,具体包括:
171.扫描子系统数据血缘关系中的数据字段;数据字段包括:输入字段和输出字段;
172.将数据字段的传递关系、运算关系定义为输入字段和输出字段交互关系;
173.按照输入字段的调用流程,生成调用路径;
174.以输出字段为起点,结合调用路径,采用决策树预测模型和递归算法,对数据字段进行分析、归类、加权、递归,生成多个子系统之间的血缘关系,并保留输入和输出字段的关联关系。
175.基于同一发明构思,本技术实施例还提供了一种计算机设备,设备包括:
176.一个或多个处理器;
177.存储装置,用于存储一个或多个程序;
178.当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现本技术实施例提供的数据血缘关系构建方法。
179.本技术实施例提供的一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本技术实施例提供的数据血缘关系构建方法。
180.本技术实施例提供的一种计算机程序产品,包括计算机程序,计算机程序被处理器执行时实现本技术实施例提供的数据血缘关系构建方法。
181.基于同一发明构思,本技术实施例还提供了一种计算机设备,设备包括:
182.一个或多个处理器;
183.存储装置,用于存储一个或多个程序;
184.当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现本技术实施例提供的数据血缘关系构建方法。
185.该电子设备具体可以为桌面计算机、便携式计算机、智能手机、平板电脑、个人数字助理(personal digital assistant,pda)、服务器等。在一些实施例中,存储装置例如为存储器,如图8所示,该电子设备可以包括处理器201和存储器202。
186.处理器201可以是通用处理器,例如中央处理器(cpu)、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本技术实施例中公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本技术实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
187.存储器202作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块。存储器可以包括至少一种类型的存储介质,例如可以包括闪存、硬盘、多媒体卡、卡型存储器、随机访问存储器(random access memory,ram)、静态随机访问存储器(static random access memory,sram)、可编程只读存储器(programmable read only memory,prom)、只读存储器(read only memory,rom)、带电可擦除可编程只读存储器(electrically erasable programmable read-only memory,eeprom)、磁性存储器、磁盘、光盘等等。存储器是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。本技术实施例中的存储器202还可以是电路或者其它任意能够实现存储功能的装置,用于存储程序指令和/或数据。
188.本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;上述计算机存储介质可以是计算机能够存取的任何可用介质或数据存储设备,包括但不限于:移动存储设备、随机存取存储器(ram,random access memory)、磁性存储器(例如软盘、硬盘、磁带、磁光盘(mo)等)、光学存储器(例如cd、dvd、bd、hvd等)、以及半导体存储器(例如rom、eprom、eeprom、非易失性存储器
(nand flash)、固态硬盘(ssd))等各种可以存储程序代码的介质。
189.或者,本技术上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本技术各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、随机存取存储器(ram,random access memory)、磁性存储器(例如软盘、硬盘、磁带、磁光盘(mo)等)、光学存储器(例如cd、dvd、bd、hvd等)、以及半导体存储器(例如rom、eprom、eeprom、非易失性存储器(nand flash)、固态硬盘(ssd))等各种可以存储程序代码的介质。
190.在一些可能的实施方式中,本公开提供的方法的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在计算机设备上运行时,所述程序代码用于使所述计算机设备执行本说明书上述描述的根据本公开各种示例性实施方式的方法中的步骤,例如,所述计算机设备可以执行本公开实施例所记载的数据血缘关系构建方法。所述程序产品可以采用一个或多个可读介质的任意组合。
191.综上所述,本技术实施例提供的数据血缘关系构建方法及系统、电子设备、存储介质,应用于包括多个子系统的业务系统,基于数据对象的元数据信息获得每一子系统对应的子系统数据血缘关系,再根据各个子系统对应的子系统数据血缘关系获得业务系统的数据血缘关系,从而可以构建跨子系统的企业级数据血缘关系。通过业务系统数据血缘关系,能够方便地实现数据管理、系统资产管理、治理功能;能够为构建业务系统的资产目录、资产分类、资产治理提供基础,同时还为运维分析师或者治理团队提供围绕这些数据资产、系统资产的协作功能。
192.本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
193.本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
194.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
195.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或
其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
196.尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
197.显然,本领域的技术人员可以对本技术进行各种改动和变型而不脱离本技术的精神和范围。这样,倘若本技术的这些修改和变型属于本技术权利要求及其等同技术的范围之内,则本技术也意图包含这些改动和变型在内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1