[发明专利]数据库存储过程的依赖信息的确定方法、装置及电子设备在审
申请号: | 202310199153.2 | 申请日: | 2023-03-03 |
公开(公告)号: | CN116069808A | 公开(公告)日: | 2023-05-05 |
发明(设计)人: | 戚云琪;周逢源;钱江;沈伟伟 | 申请(专利权)人: | 中国工商银行股份有限公司 |
主分类号: | G06F16/242 | 分类号: | G06F16/242;G06F16/2457 |
代理公司: | 北京康信知识产权代理有限责任公司 11240 | 代理人: | 周春枚 |
地址: | 100140 北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据库 存储 过程 依赖 信息 确定 方法 装置 电子设备 | ||
本发明公开了一种数据库存储过程的依赖信息的确定方法、装置及电子设备。涉及金融科技领域或其他领域,该方法包括:对目标存储过程的源代码进行代码解析,得到多个代码节点;基于多个代码节点生成抽象语法树;根据抽象语法树构建目标元数据;依据目标元数据对多个代码节点进行递归处理,得到目标存储过程的依赖信息,依赖信息至少包括第一依赖信息和第二依赖信息,第一依赖信息用于表征与目标存储过程存在依赖关系的存储过程,第二依赖信息用于表征目标存储过程的源代码在运行时所需要引用的数据。本发明解决了现有技术中存在难以完整的获取存储过程的依赖信息的技术问题。
技术领域
本发明涉及金融科技领域或其他领域,具体而言,涉及一种数据库存储过程的依赖信息的确定方法、装置及电子设备。
背景技术
对系统实施架构调查、部分或整体重构等工作前,存储过程作为应用程序的一部分,需要分析存储过程的结构,从存储过程抽出其调用的依赖的对象、依赖的存储过程等依赖信息,并通过上述依赖信息,对依赖的存储过程进一步实施递归分析。
而在现有技术中,仅部分数据库可通过视图查询到粗粒度的依赖信息,而另一部分数据库则没有提供相关视图,只能通过搜索源代码的方式实施调查。因此,通过视图查询和搜索源代码查询,都无法解析存储过程内的逻辑结构和静态SQL(Structured QueryLanguage,结构化查询语言)语句,因而存在难以完整的获取存储过程的依赖信息的问题。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种数据库存储过程的依赖信息的确定方法、装置及电子设备,以至少解决现有技术中存在难以完整的获取存储过程的依赖信息的技术问题。
根据本发明实施例的一个方面,提供了一种数据库存储过程的依赖信息的确定方法,包括:对目标存储过程的源代码进行代码解析,得到多个代码节点,其中,目标存储过程为存储在数据库中的一组用于完成目标功能的SQL语句集合,每个代码节点用于表征目标存储过程的源代码中的一个函数或变量;基于多个代码节点生成抽象语法树,其中,每个代码节点与抽象语法树中的一个树节点相对应;根据抽象语法树构建目标元数据,其中,目标元数据至少包括多个代码节点之间的关联关系以及每个代码节点在目标存储过程的源代码中的位置信息;依据目标元数据对多个代码节点进行递归处理,得到目标存储过程的依赖信息,其中,依赖信息至少包括第一依赖信息和第二依赖信息,第一依赖信息用于表征与目标存储过程存在依赖关系的存储过程,第二依赖信息用于表征目标存储过程的源代码在运行时所需要引用的数据。
进一步地,根据抽象语法树构建目标元数据,包括:对抽象语法树进行解析,得到每个树节点在抽象语法树中的所在层次以及抽象语法树中所有树节点之间的连接关系;根据连接关系确定多个代码节点之间的关联关系;确定每个树节点在抽象语法树中的所在层次为该树节点对应的代码节点在目标存储过程的源代码中的所在行数;根据所在行数确定每个代码节点在目标存储过程的源代码中的位置信息;根据位置信息以及多个代码节点之间的关联关系生成目标元数据。
进一步地,根据位置信息以及多个代码节点之间的关联关系生成目标元数据,包括:获取每个代码节点对应的调用方式;根据调用方式、位置信息以及多个代码节点之间的关联关系生成目标元数据。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国工商银行股份有限公司,未经中国工商银行股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202310199153.2/2.html,转载请声明来源钻瓜专利网。