System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 数据库存储过程的迁移方法、装置、设备及存储介质制造方法及图纸_技高网

数据库存储过程的迁移方法、装置、设备及存储介质制造方法及图纸

技术编号:41998133 阅读:4 留言:0更新日期:2024-07-12 12:22
本发明专利技术提供数据库存储过程的迁移方法、装置、设备及存储介质,该方法包括:构建待迁移的存储过程集的抽象语法树集;对所有目标存储过程的抽象语法树进行递归迭代处理,并基于所有目标存储过程的抽象语法树、目标存储过程的名称、该目标存储过程所属数据库的名称,以及递归迭代过程得到的数值,生成中间存储对象;对中间存储对象进行迭代处理,基于预设字典映射生成中间存储过程对应的定义语法,基于预设映射关系调用相应的处理逻辑对中间存储过程对应的定义语法进行语法改造,得到深度处理存储对象;对深度处理存储对象进行拼接改造、行号排序和添加结束标志位处理,得到迁移的存储过程的文件。本发明专利技术可以提高存储过程的迁移效率。

【技术实现步骤摘要】

本专利技术涉及计算机,尤其涉及一种数据库存储过程的迁移方法、装置、设备及存储介质


技术介绍

1、数据库是按照数据结构来组织、存储和管理数据的仓库,是一个长期存储在计算机内的、有组织的、可共享的、统一管理的大量数据的集合。它的存储空间很大,可以存放百万条、千万条、上亿条数据。

2、随着计算机技术的发展,数据库在各行各业都得到了广泛的应用,对于海量数据的存储场景,单一数据库已无法胜任,因此,更多企业开始选用分布式数据库。gbase8a数据库作为一种具有分布式架构的关系型数据库产品,在金融证券等需要复杂业务分析的行业中扮演着重要的角色。金融证券等行业往往伴随着复杂的存储过程逻辑,在进行数据库迁移时,不仅涉及到表结构迁移和数据迁移,还会涉及到存储过程的迁移。存储过程是指一组为了完成特定功能的sql语句集,经编译后存储在数据库中,用户通过指定存储过程的名字并给定参数来调用执行它。

3、然而,不同类型的数据库之间由于其使用的结构化查询语言存在很多的差异,当需将pg系数据库中的存储过程迁移到gbase8a数据库中时,需要通过人工迁移,从而使得不同类型的数据库之间的存储过程的迁移成为数据库迁移业务中最为繁杂且最为耗时的任务之一。


技术实现思路

1、本专利技术实施例提供了一种数据库存储过程的迁移方法、装置、设备及存储介质,以解决在将pg系数据库中的存储过程迁移到gbase8a数据库中时效率太低的问题。

2、第一方面,本专利技术实施例提供了一种数据库存储过程的迁移方法,包括:

3、构建待迁移的存储过程集的抽象语法树集,抽象语法树集包括多个目标存储过程的抽象语法树,目标存储过程为待迁移的存储过程集中的任意一个存储过程;

4、对所有目标存储过程的抽象语法树进行递归迭代处理,并基于所有目标存储过程的抽象语法树、目标存储过程的名称、该目标存储过程所属数据库的名称,以及递归迭代过程得到的数值,生成中间存储对象;

5、对中间存储对象进行迭代处理,基于预设字典映射生成中间存储过程对应的定义语法,基于预设映射关系调用相应的处理逻辑对中间存储过程对应的定义语法进行语法改造,得到深度处理存储对象;

6、对深度处理存储对象进行拼接改造、行号排序和添加结束标志位处理,得到迁移的存储过程的文件。

7、在一种可能的实现方式中,待迁移的存储过程集是从待迁移的pg系数据库中导出的,中间存储对象包括所有目标存储过程的抽象语法树,目标存储过程的抽象语法树中包括数据项定义模块datums和逻辑处理模块action,抽象语法树包括目标存储过程的键值对关系;

8、对中间存储对象进行迭代处理,基于预设字典映射生成中间存储过程对应的定义语法,基于预设映射关系调用相应的处理逻辑对中间存储过程对应的定义语法进行语法改造,得到深度处理存储对象,包括:

9、对中间存储对象进行迭代处理,当定位到元素的键为数据项定义模块datums时,则调用数据变量改写逻辑类型;其中,元素为抽象语法树中的节点;

10、提取改写逻辑后的关键词的对应类型,并基于预设字典进行映射查找;

11、基于映射查找到的目标存储过程的抽象语法树对应的层进行对照组添加,生成中间存储过程对应的gbase8a定义语法;

12、基于预设映射关系调用相应的处理逻辑对中间存储过程对应的gbase8a定义语法进行语法改造,得到深度处理存储对象。

13、在一种可能的实现方式中,基于预设映射关系调用相应的处理逻辑对中间存储过程对应的定义语法进行语法改造,得到深度处理存储对象,包括:

14、对中间存储对象进行迭代处理,当定位到元素的键为逻辑处理模块action时,则调用业务处理逻辑改写逻辑代码;

15、基于键属性判断元素的控制结构,并基于映射关系调用对应的gbase8a处理逻辑对中间存储过程对应的定义语法进行语法改造,得到深度处理存储对象。

16、在一种可能的实现方式中,逻辑处理模块action用于定义存储过程的语句类型或控制结构,包括语法模块和返回模块,语法模块中包括sql语句及各种控制结构,返回模块用于返回结果或状态值;

17、数据项定义模块datums用于在存储过程开始时集中定义数据项。

18、在一种可能的实现方式中,对深度处理存储对象进行拼接改造、行号排序和添加结束标志位处理,得到迁移的存储过程的文件,包括:

19、创建一个目标列表用于存储单个存储过程;

20、根据深度处理存储对象中的数据库的属性值和深度处理存储对象中的名称属性值,对gbase8a语法的存储过程的创建语句进行拼接改造,并将拼接改造后的存储过程创建语句添加到目标列表中;

21、抽取拼接改造后的深度处理存储对象中基于gbase8a语法改造后的行数据,基于行数据的行号进行排序组合,根据行号的顺序追加到目标列表中,并将结束标志位追加到目标列表中;

22、将目标列表输出为文件,以得到迁移的存储过程的文件;

23、通过执行迁移的存储过程的文件,将待迁移的存储过程集存储到gbase8a数据库中。

24、在一种可能的实现方式中,构建待迁移的存储过程集的抽象语法树集之前,还包括:

25、从待迁移的数据库中导出待迁移的存储过程的文件;

26、对待迁移的存储过程的文件进行迭代式逻辑处理和逐行解析,将待迁移的存储过程的文件分成多个存储过程的对象;其中,迭代式逻辑处理包括基于正则匹配过程提取到的存储过程的名称和该存储过程所属数据库的名称;

27、对所有的目标存储过程的对象进行解析,得到所有的目标存储过程的抽象语法树。

28、在一种可能的实现方式中,对待迁移的存储过程的文件进行迭代式逻辑处理和逐行解析,将待迁移的存储过程的文件分成多个存储过程的对象,包括:

29、定义开始过程标志变量和结束过程标志变量,开始过程标志变量用于定义任意一个存储过程的开始,结束过程标志变量用于定义任意一个存储过程的结束;

30、如正则匹配到目标存储过程的过程定义,则基于匹配模式提取目标存储过程的名称和所属的数据库的名称,并将目标存储过程的名称和所属的数据库的名称组合为字典,添加到目标存储过程的属性中;

31、如正则匹配到目标存储过程的起始创建语法,则在目标存储过程的开始行增加开始过程标志变量,在结束行增加结束过程标志变量;

32、对待迁移的存储过程的文件迭代结束后,得到多个存储过程的对象。

33、第二方面,本专利技术实施例提供了一种数据库存储过程的迁移装置,其特征在于,包括:

34、构建模块,用于构建待迁移的存储过程集的抽象语法树集,抽象语法树集包括多个目标存储过程的抽象语法树,目标存储过程为待迁移的存储过程集中的任意一个存储过程;

35、第一处理模块,用于对所有目标存储过程的抽象语法树进行递归迭代处理,本文档来自技高网...

【技术保护点】

1.一种数据库存储过程的迁移方法,其特征在于,包括:

2.如权利要求1所述的数据库存储过程的迁移方法,其特征在于,所述待迁移的存储过程集是从待迁移的PG系数据库中导出的,所述中间存储对象包括所有所述目标存储过程的抽象语法树,所述目标存储过程的抽象语法树中包括数据项定义模块datums和逻辑处理模块action,所述抽象语法树包括目标存储过程的键值对关系;

3.如权利要求2所述的数据库存储过程的迁移方法,其特征在于,所述基于预设映射关系调用相应的处理逻辑对所述中间存储过程对应的定义语法进行语法改造,得到深度处理存储对象,包括:

4.如权利要求2或3所述的数据库存储过程的迁移方法,其特征在于,所述逻辑处理模块action用于定义存储过程的语句类型或控制结构,包括语法模块和返回模块,所述语法模块中包括SQL语句及各种控制结构,所述返回模块用于返回结果或状态值;

5.如权利要求1所述的数据库存储过程的迁移方法,其特征在于,所述对所述深度处理存储对象进行拼接改造、行号排序和添加结束标志位处理,得到迁移的存储过程的文件,包括:

6.如权利要求1所述的数据库存储过程的迁移方法,其特征在于,所述构建待迁移的存储过程集的抽象语法树集之前,还包括:

7.如权利要求6所述的数据库存储过程的迁移方法,其特征在于,所述对所述待迁移的存储过程的文件进行迭代式逻辑处理和逐行解析,将所述待迁移的存储过程的文件分成多个存储过程的对象,包括:

8.一种数据库存储过程的迁移装置,其特征在于,包括:

9.一种电子设备,其特征在于,包括存储器和处理器,所述存储器用于存储计算机程序,所述处理器用于调用并运行所述存储器中存储的计算机程序,执行如权利要求1至7任一项所述的方法。

10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述方法的步骤。

...

【技术特征摘要】

1.一种数据库存储过程的迁移方法,其特征在于,包括:

2.如权利要求1所述的数据库存储过程的迁移方法,其特征在于,所述待迁移的存储过程集是从待迁移的pg系数据库中导出的,所述中间存储对象包括所有所述目标存储过程的抽象语法树,所述目标存储过程的抽象语法树中包括数据项定义模块datums和逻辑处理模块action,所述抽象语法树包括目标存储过程的键值对关系;

3.如权利要求2所述的数据库存储过程的迁移方法,其特征在于,所述基于预设映射关系调用相应的处理逻辑对所述中间存储过程对应的定义语法进行语法改造,得到深度处理存储对象,包括:

4.如权利要求2或3所述的数据库存储过程的迁移方法,其特征在于,所述逻辑处理模块action用于定义存储过程的语句类型或控制结构,包括语法模块和返回模块,所述语法模块中包括sql语句及各种控制结构,所述返回模块用于返回结果或状态值;

5.如权利要求1所述的数据库存储过程的迁移方...

【专利技术属性】
技术研发人员:商宝琪靳亚磊
申请(专利权)人:天津南大通用数据技术股份有限公司
类型:发明
国别省市:

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

1