数据库的数据对象关系图谱生成方法、装置、设备及介质制造方法及图纸

技术编号:27411324 阅读:12 留言:0更新日期:2021-02-21 14:26
本申请涉及大数据技术领域,揭示了一种数据库的数据对象关系图谱生成方法、装置、设备及介质,其中方法包括:根据ORACLE数据库代码得到待分析视图数据;对待分析视图数据进行解析得到第一依赖关系数据、第二依赖关系数据、第三依赖关系数据和第四依赖关系数据,确定目标包定义存储过程关系、目标包定义函数关系、目标调用函数关系、目标调用存储过程关系、目标调用表关系、目标调用视图关系、目标视图调用函数关系、目标视图调用视图关系和目标视图调用表关系;根据第一依赖关系数据、第二依赖关系数据、第三依赖关系数据和第四依赖关系数据确定目标数据对象关系图谱。从而自动化生成基于数据对象的关系图谱。本申请还涉及区块链技术。技术。技术。

【技术实现步骤摘要】
数据库的数据对象关系图谱生成方法、装置、设备及介质


[0001]本申请涉及到大数据
,特别是涉及到一种数据库的数据对象关系图谱生成方法、装置、设备及介质。

技术介绍

[0002]目前的数据库开发工具在对数据库的数据对象进行分析时,只能分析包和表之间的引用关系,当一个包中有多个存储过程时,无法判断每个存储过程对表的引用,导致在表结构或表数据内容有异常变化时,难以评估对整个数据库的影响。

技术实现思路

[0003]本申请的主要目的为提供一种数据库的数据对象关系图谱生成方法、装置、设备及介质,旨在解决现有数据库开发工具只能分析包和表之间的引用关系,无法判断每个存储过程对表的引用,导致难以评估表结构或表数据内容的异常变化对数据库的影响的技术问题。
[0004]为了实现上述专利技术目的,本申请提出一种数据库的数据对象关系图谱生成方法,所述方法包括:
[0005]获取待分析视图数据,所述待分析视图数据是根据ORACLE数据库代码得到的数据;
[0006]获取表名管理表,根据所述表名管理表在所述待分析视图数据中进行逐行匹配,将匹配成功的行数和表名作为目标表名数据;
[0007]获取目标关键字,所述目标关键字包括:存储过程关键字、函数关键字、包名关键字,根据所述目标关键字对所述待分析视图数据进行逐行解析,得到第一依赖关系数据、目标存储过程名和目标函数名,所述第一依赖关系数据包括:目标包定义存储过程关系和目标包定义函数关系;
[0008]根据所述存储过程关键字、所述函数关键字、所述目标存储过程名和所述目标函数名在所述待分析视图数据中进行逐行匹配,得到第二依赖关系数据,所述第二依赖关系数据包括:目标调用函数关系和目标调用存储过程关系;
[0009]获取表更新关键字、数据库视图数据,采用所述目标表名数据、所述表更新关键字和所述数据库视图数据对所述待分析视图数据进行逐行解析,得到第三依赖关系数据,所述第三依赖关系数据包括:目标调用表关系和目标调用视图关系;
[0010]获取非系统用户标识,采用所述非系统用户标识从所述数据库视图数据获取非系统用户的数据库视图,得到目标数据库视图;
[0011]从所述表名管理表、所述数据库视图数据、所述待分析视图数据获取数据对象,得到目标视图调用数据对象数据,根据所述目标视图调用数据对象数据在所述目标数据库视图中进行匹配,得到第四依赖关系数据,所述第四依赖关系数据包括:目标视图调用函数关系、目标视图调用视图关系和目标视图调用表关系;
[0012]根据所述第一依赖关系数据、所述第二依赖关系数据、所述第三依赖关系数据和所述第四依赖关系数据,确定目标数据对象关系图谱。
[0013]进一步的,所述获取待分析视图数据的步骤,包括:
[0014]获取所述ORACLE数据库代码;
[0015]从所述ORACLE数据库代码中获取内置视图数据,得到待分析内置视图数据;
[0016]对所述待分析内置视图数据进行注释删除处理,得到所述待分析视图数据。
[0017]进一步的,所述根据所述目标关键字对所述待分析视图数据进行逐行解析,得到第一依赖关系数据、目标存储过程名和目标函数名的步骤,包括:
[0018]从所述待分析视图数据的文本内容中获取所述存储过程关键字之后的第一个单词,得到所述目标存储过程名;
[0019]从所述待分析视图数据的文本内容中获取所述函数关键字之后的第一个单词,得到所述目标函数名;
[0020]从所述待分析视图数据中获取包名的数值,得到目标包名;
[0021]根据所述目标包名和所述目标存储过程名,得到所述第一依赖关系数据的所述目标包定义存储过程关系;
[0022]根据所述目标包名和所述目标函数名,得到所述第一依赖关系数据的所述目标包定义函数关系。
[0023]进一步的,所述采用所述目标表名数据、所述表更新关键字和所述数据库视图数据对所述待分析视图数据进行逐行解析,得到第三依赖关系数据的步骤,包括:
[0024]采用所述目标表名数据对所述待分析视图数据进行逐行解析,当在所述待分析视图数据中找到所述目标表名数据的表名时,则当找到的所述目标表名数据的表名是所述表更新关键字之后的第一个单词时根据所述表更新关键字和找到的所述目标表名数据的表名确定输出调用表关系,否则根据找到的所述目标表名数据的表名确定输入调用表关系;
[0025]根据所述输出调用表关系和所述输入调用表关系,确定所述第三依赖关系数据的所述目标调用表关系;
[0026]从所述数据库视图数据中获取视图名,得到目标视图名;
[0027]采用所述目标视图名对所述待分析视图数据进行逐行解析,得到所述第三依赖关系数据的所述目标调用视图关系。
[0028]进一步的,所述从所述表名管理表、所述数据库视图数据、所述待分析视图数据获取数据对象,得到目标视图调用数据对象数据,根据所述目标视图调用数据对象数据在所述目标数据库视图中进行匹配,得到第四依赖关系数据的步骤,包括:
[0029]从所述表名管理表中获取表,得到所述目标视图调用数据对象数据的表;
[0030]从所述数据库视图数据中获取视图,得到所述目标视图调用数据对象数据的视图;
[0031]从所述待分析视图数据中获取函数,得到所述目标视图调用数据对象数据的函数;
[0032]将所述目标视图调用数据对象数据的表在所述目标数据库视图中进行匹配,当匹配成功时,根据所述目标数据库视图的名称和所述目标视图调用数据对象数据的表确定所述目标视图调用表关系;
[0033]将所述目标视图调用数据对象数据的视图在所述目标数据库视图中进行匹配,当匹配成功时,根据所述目标数据库视图的名称和所述目标视图调用数据对象数据的视图确定所述目标视图调用视图关系;
[0034]将所述目标视图调用数据对象数据的函数在所述目标数据库视图中进行匹配,当匹配成功时,根据所述目标数据库视图的名称和所述目标视图调用数据对象数据的函数确定所述目标视图调用函数关系。
[0035]进一步的,所述根据所述第一依赖关系数据、所述第二依赖关系数据、所述第三依赖关系数据和所述第四依赖关系数据,确定目标数据对象关系图谱的步骤之后,包括:
[0036]从所述目标数据对象关系图谱中获取数据对象,得到待去重数据对象集合;
[0037]对所述待去重数据对象集合中的数据对象进行去重处理,得到待展示数据对象集合;
[0038]将所述待展示数据对象集合中的数据对象作为目标点集合;
[0039]根据所述目标数据对象关系图谱中的依赖关系数据,确定目标边集合,所述目标边集合包括:目标边数据,所述目标边数据包括:目标边起点和目标边终点;
[0040]根据所述目标点集合、所述目标边集合对所述目标数据对象关系图谱进行图形化展示。
[0041]进一步的,所述根据所述第一依赖关系数据、所述第二依赖关系数据、所述第三依赖关系数据和所述第四本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据库的数据对象关系图谱生成方法,其特征在于,所述方法包括:获取待分析视图数据,所述待分析视图数据是根据ORACLE数据库代码得到的数据;获取表名管理表,根据所述表名管理表在所述待分析视图数据中进行逐行匹配,将匹配成功的行数和表名作为目标表名数据;获取目标关键字,所述目标关键字包括:存储过程关键字、函数关键字、包名关键字,根据所述目标关键字对所述待分析视图数据进行逐行解析,得到第一依赖关系数据、目标存储过程名和目标函数名,所述第一依赖关系数据包括:目标包定义存储过程关系和目标包定义函数关系;根据所述存储过程关键字、所述函数关键字、所述目标存储过程名和所述目标函数名在所述待分析视图数据中进行逐行匹配,得到第二依赖关系数据,所述第二依赖关系数据包括:目标调用函数关系和目标调用存储过程关系;获取表更新关键字、数据库视图数据,采用所述目标表名数据、所述表更新关键字和所述数据库视图数据对所述待分析视图数据进行逐行解析,得到第三依赖关系数据,所述第三依赖关系数据包括:目标调用表关系和目标调用视图关系;获取非系统用户标识,采用所述非系统用户标识从所述数据库视图数据获取非系统用户的数据库视图,得到目标数据库视图;从所述表名管理表、所述数据库视图数据、所述待分析视图数据获取数据对象,得到目标视图调用数据对象数据,根据所述目标视图调用数据对象数据在所述目标数据库视图中进行匹配,得到第四依赖关系数据,所述第四依赖关系数据包括:目标视图调用函数关系、目标视图调用视图关系和目标视图调用表关系;根据所述第一依赖关系数据、所述第二依赖关系数据、所述第三依赖关系数据和所述第四依赖关系数据,确定目标数据对象关系图谱。2.根据权利要求1所述的数据库的数据对象关系图谱生成方法,其特征在于,所述获取待分析视图数据的步骤,包括:获取所述ORACLE数据库代码;从所述ORACLE数据库代码中获取内置视图数据,得到待分析内置视图数据;对所述待分析内置视图数据进行注释删除处理,得到所述待分析视图数据。3.根据权利要求1所述的数据库的数据对象关系图谱生成方法,其特征在于,所述根据所述目标关键字对所述待分析视图数据进行逐行解析,得到第一依赖关系数据、目标存储过程名和目标函数名的步骤,包括:从所述待分析视图数据的文本内容中获取所述存储过程关键字之后的第一个单词,得到所述目标存储过程名;从所述待分析视图数据的文本内容中获取所述函数关键字之后的第一个单词,得到所述目标函数名;从所述待分析视图数据中获取包名的数值,得到目标包名;根据所述目标包名和所述目标存储过程名,得到所述第一依赖关系数据的所述目标包定义存储过程关系;根据所述目标包名和所述目标函数名,得到所述第一依赖关系数据的所述目标包定义函数关系。
4.根据权利要求1所述的数据库的数据对象关系图谱生成方法,其特征在于,所述采用所述目标表名数据、所述表更新关键字和所述数据库视图数据对所述待分析视图数据进行逐行解析,得到第三依赖关系数据的步骤,包括:采用所述目标表名数据对所述待分析视图数据进行逐行解析,当在所述待分析视图数据中找到所述目标表名数据的表名时,则当找到的所述目标表名数据的表名是所述表更新关键字之后的第一个单词时根据所述表更新关键字和找到的所述目标表名数据的表名确定输出调用表关系,否则根据找到的所述目标表名数据的表名确定输入调用表关系;根据所述输出调用表关系和所述输入调用表关系,确定所述第三依赖关系数据的所述目标调用表关系;从所述数据库视图数据中获取视图名,得到目标视图名;采用所述目标视图名对所述待分析视图数据进行逐行解析,得到所述第三依赖关系数据的所述目标调用视图关系。5.根据权利要求1所述的数据库的数据对象关系图谱生成方法,其特征在于,所述从所述表名管理表、所述数据库视图数据、所述待分析视图数据获取数据对象,得到目标视图调用数据对象数据,根据所述目标视图调用数据对象数据在所述目标数据库视图中进行匹配,得到第四依赖关系数据的步骤,包括:从所述表名管理表中获取表,得到所述目标视图调用数据对象数据的表;从所述数据库视图数据中获取视图,得到所述目标视图调用数据对象数据的视图;从所述待分析视图数据中获取函数,得到所述目标视图调用数据对象数据的函数;将所述目标视图调用数据...

【专利技术属性】
技术研发人员:童显耀
申请(专利权)人:平安科技深圳有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1