存储过程迁移方法及装置制造方法及图纸

技术编号:39329867 阅读:10 留言:0更新日期:2023-11-12 16:06
本公开提供一种存储过程迁移方法及装置。所述方法包括:获取与源数据库和目标数据库对应的存储过程对应信息,其中,存储过程对应信息是根据业务规则、源数据库的源存储过程语法规则和目标数据库的目标存储过程语法规则生成的;根据存储过程对应信息,将源数据库的源存储过程脚本转换为与目标数据库匹配的目标存储过程脚本;将目标存储过程脚本存储至目标数据库。数据库。数据库。

【技术实现步骤摘要】
存储过程迁移方法及装置


[0001]本公开涉及通信
,尤其涉及一种存储过程迁移方法及装置。

技术介绍

[0002]在数据库迁移的过程中,需要对诸如表、索引、视图等数据库对象、表数据以及存储过程(Stored Procedure)等数据进行迁移。其中,存储过程是在数据库系统中,一组为了完成特定功能的SQL语句集。现有技术采用人工对存储过程进行迁移。由于存储过程中包含了大量的业务逻辑,且各类数据库之间的语法及功能实现等方面的差异较大,因此,在对数据库中的存储过程进行迁移时,迁移的正确率和效率较低。

技术实现思路

[0003]有鉴于此,本公开提供了一种存储过程迁移方法及装置,可以实现存储过程的自动化迁移,从而降低人工成本,提高迁移效率。
[0004]第一方面,本公开提供了一种存储过程迁移方法,所述方法包括:获取与源数据库和目标数据库对应的存储过程对应信息,其中,所述存储过程对应信息是根据业务规则、所述源数据库的源存储过程语法规则和目标数据库的目标存储过程语法规则生成的;根据所述存储过程对应信息,将所述源数据库的源存储过程脚本转换为与所述目标数据库匹配的目标存储过程脚本;将所述目标存储过程脚本存储至所述目标数据库。
[0005]第二方面,本公开提供了一种存储过程迁移装置,所述装置包括:对应信息获取模块,用于获取与源数据库和目标数据库对应的存储过程对应信息,其中,所述存储过程对应信息是根据业务规则、所述源数据库的源存储过程语法规则和目标数据库的目标存储过程语法规则生成的;存储过程转换模块,用于根据所述存储过程对应信息,将所述源数据库的源存储过程脚本转换为与所述目标数据库匹配的目标存储过程脚本;存储模块,用于将所述目标存储过程脚本存储至所述目标数据库。
[0006]第三方面,本公开提供了一种网络设备,包括处理器和机器可读存储介质,机器可读存储介质存储有能够被处理器执行的机器可执行指令,处理器被机器可执行指令促使执行本公开第一方面所提供的方法。
[0007]因此,通过应用本公开提供的存储过程迁移方法及装置,根据所述存储过程对应信息,将所述源数据库的源存储过程脚本转换为与所述目标数据库匹配的目标存储过程脚本,并存储至目标数据库。如此,可以实现存储过程的自动化迁移,从而降低人工成本,提高迁移效率。另外,存储过程对应信息是根据业务规则、源数据库的源存储过程语法规则和目标数据库的目标存储过程语法规则生成的,可以较好地反映源存储过程脚本和目标存储过程脚本之间的对应关系,从而可以提高迁移的正确率。
附图说明
[0008]图1为本公开实施例提供的系统架构的示意图;
[0009]图2为本公开实施例提供的一种存储过程迁移方法的流程图;
[0010]图3为本公开实施例提供的存储过程迁移方法示意图;
[0011]图4为本公开实施例提供的一种存储过程迁移装置结构图;
[0012]图5为本公开实施例提供的网络设备硬件结构体。
具体实施方式
[0013]这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施例并不代表与本公开相一致的所有实施例。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
[0014]在本公开使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本公开。在本公开和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相对应的列出项目的任何或所有可能组合。
[0015]应当理解,尽管在本公开可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本公开范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在
……
时”或“当
……
时”或“响应于确定”。
[0016]以下结合图1对本说明书实施例的可以应用存储过程迁移方法和装置的系统架构进行说明。需要注意的是,图1所示仅为可以应用本公开实施例的系统架构的示例,以帮助本领域技术人员理解本公开的
技术实现思路
,但并不意味着本公开实施例不可以用于其他设备、系统、环境或场景。
[0017]图1是本说明书根据一示例性实施例示出的系统架构的示意图。
[0018]如图1所示,该系统架构例如可以包括源数据库、迁移系统和目标数据库。
[0019]根据本公开的实施例,源数据库可以为待迁移的数据库,目标数据库可以为作为迁移目标的数据库。为方便表述,以下将源数据库中存储过程称为源存储过程,将目标数据库中的存储过程称为目标存储过程。源数据库例如可以包括源存储过程的脚本即源存储过程脚本、源数据测试库和源存储过程的业务规则。其中,源存储过程脚本可以为需要迁移的存储过程脚本。源存储过程脚本例如可以为文本文件。源数据测试库可以包括存储过程运行所需的全部数据库对象和测试数据。
[0020]迁移系统可以用于将源存储过程脚本转换为与目标数据库匹配的目标存储过程脚本。另外,迁移系统还可以用于将源数据测试库中的数据转换为与目标数据库匹配的数据,存储至目标数据库的测试库,用于测试目标数据库。示例性地,本实施例中,测试库只保留能完成存储过程功能测试的最小数据量,这样可以保证存储过程迁移转换和校验的速度。
[0021]迁移系统可以内置有知识库。知识库可以包括各类数据库的语法规则以及各语法规则之间的对应关系,其中包括与源存储过程脚本对应的源存储过程语法规则和与目标存储过程脚本对应的目标存储过程语法规则以及相应的对应关系。存储过程语法规则包括但
不限于变量定义(例如对全局变量、局部变量、支持的变量类型、初值等进行定义)规则,存储过程的命名规则、调用规则和输入输出参数规则(入参、出参、出入参格式)、函数框架规则、程序结构(例如顺序、选择、循环、嵌套、递归)规则、游标(例如显示游标和隐式游标)规则、事务控制逻辑格式和内置函数库等。上述大类里还可以再细分具体小类,不同语法规则中的小类之间也可以设置有对应关系。比如事务控制逻辑可以分为提交、回滚、检查点设置、分段回滚等,内置函数库可以细分为具体字符串截取、字符串拼接、时间格式转换等。
[0022]针对每类数据库的语法规则提供知识库扩充和修订功能,对于知识库中没有语法对应的数据库,可以进行补充。比如由程序员开发一个函数去和源数据库的内置库函数进行对应,然后填充到知识库中。或者可以识别该数据库中存储过程的语义,然后生成具有相同语义且符合目标语法规则的存储过程,从而实现存储过程的转换。基于此,可以将该数据库标识为语义对应。在转换该数据库中的存储过程时转到预设代码中进行自动转换调整。其中,预设代码用于生成具有相同本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种存储过程迁移方法,其特征在于,所述方法包括;获取与源数据库和目标数据库对应的存储过程对应信息,其中,所述存储过程对应信息是根据业务规则、所述源数据库的源存储过程语法规则和目标数据库的目标存储过程语法规则生成的;根据所述存储过程对应信息,将所述源数据库的源存储过程脚本转换为与所述目标数据库匹配的目标存储过程脚本;将所述目标存储过程脚本存储至所述目标数据库。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:连接所述源数据库,并获取所述源数据库中的字典表;根据所述字典表,获取所述源数据库中所述源存储过程脚本用到的源测试数据;将所述源测试数据转换为与目标数据库匹配的目标测试数据。3.根据权利要求2所述的方法,其特征在于,所述方法还包括:利用所述源测试数据和所述目标测试数据,对所述源存储过程脚本和所述目标存储过程脚本进行同步调试,得到所述源存储过程脚本和所述目标存储过程脚本在所述同步调试过程中每一步的调试信息;逐一比较所述源存储过程脚本和所述目标存储过程脚本每一步的调试信息,若所述源存储过程脚本和所述目标存储过程脚本每一步的调试信息均一致,则确定所述目标存储过程脚本通过校验,否则确定所述目标存储过程脚本未通过校验;若所述目标存储过程脚本未通过校验,则对所述目标存储过程脚本进行修正。4.根据权利要求1所述的方法,其特征在于,所述源存储过程脚本包括多个源存储过程的脚本,所述业务规则包括业务与所述多个源存储过程之间的对应关系、所述多个源存储过程之间的调用关系和每个源存储过程中的业务逻辑;所述方法还包括:根据所述业务与所述多个源存储过程之间的对应关系和所述多个源存储过程之间的调用关系,确定源存储过程与目标存储过程之间的存储过程对应关系,其中,所述目标存储过程是与目标数据库匹配的存储过程;根据所述每个源存储过程中的业务逻辑,确定源存储过程与目标存储过程之间的业务逻辑对应关系;根据所述源存储过程语法规则和所述目标存储过程语法规则,确定源存储过程与目标存储过程之间的语法对应关系;确定存储过程对应关系、业务逻辑对应关系和语法对应关系,作为所述存储过程对应信息。5.根据权利要求4所述的方法,其特征在于,所述方法还包括:展示操作页面,所述操作页面包括调整指令输入控件;通过所述调整指令输入控件获取针对所述存储过程对应信息的调整指令;根据所述调整指令,调整所述存储过程对应关系、所述业务逻辑对应关系和所述语法对应关系中的至少一个。6.一种存储过程迁移装置,其特征在于,所述装置包括;对应信息获取模块,用于获取与源数据库和目标数据库对应的存储过程对应信息,其
中,所述...

【专利技术属性】
技术研发人员:刘冠举
申请(专利权)人:新华三技术有限公司
类型:发明
国别省市:

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

1