基于语法兼容转换的数据库替换方法、装置、介质及设备制造方法及图纸

技术编号:28476843 阅读:15 留言:0更新日期:2021-05-15 21:45
本发明专利技术涉及一种基于语法兼容转换的Java数据库替换方法、装置、介质及设备,所述方法包括以下步骤:获取当前Java业务程序对原数据库的查询请求集合;判断所述查询请求集合中是否存在与新数据库不兼容的请求指令,若是,则将所述不兼容的请求指令组成查询请求子集;基于所述查询请求子集修改新数据库的配置信息;将当前Java业务程序替换连接至新数据库。与现有技术相比,本发明专利技术可以在业务零修改或者少量修改的情况下实现底层数据库的替换。改的情况下实现底层数据库的替换。改的情况下实现底层数据库的替换。

【技术实现步骤摘要】
基于语法兼容转换的数据库替换方法、装置、介质及设备


[0001]本专利技术涉及数据库及协议转换
,尤其是涉及一种基于语法兼容转换的数据库替换方法、装置、介质及设备。

技术介绍

[0002]数据库系统由于实现和发展阶段的原因,会兼容不同的SQL标准,并且还会增加自己特有的语法和扩展特性。业务程序设计时都会确定要采用哪种数据库,为了保证效率和性能,会使用某些数据库特定的功能或者特性。随着业务的迭代和发展,业务对数据库的依赖,特别是对某种特定的数据库会越来越强,导致完全被该数据库“绑架”。数据库授权费用过高,原有的数据库厂商支持力度减弱或者由于政策的原因,用户要想从该数据库迁移下来,业务需要做大量的修改,甚至进行重构或者重写,并且很容易出错,甚至由于开发人员的迭代或者系统过期,开发商已经没有能力进行业务的数据库修改了。
[0003]现有专利申请CN108959470A公开了一种数据库数据跨平台迁移方法和装置,该方法包括:对于数据库数据的源端和数据库数据的目标端各自所在的平台环境进行扫描;根据扫描结果与迁移算法,生成迁移评估报告与建议的迁移方案;根据用户对建议的迁移方案的选择和迁移算法,生成迁移向导,其中,迁移向导提示用户采取相应的迁移方案,以实现跨平台半自动迁移数据库数据,该方法能够将数据库从其他平台进行迁移,但需要特定的迁移算法才可实现,难度大。

技术实现思路

[0004]本专利技术的目的就是为了克服上述现有技术存在的缺陷而提供一种基于语法兼容转换的数据库替换方法、装置、介质及设备,在不修改业务数据的基础上方便快捷实现不同数据库间的替换。
[0005]本专利技术的目的可以通过以下技术方案来实现:
[0006]一种基于语法兼容转换的Java数据库替换方法,包括以下步骤:
[0007]获取当前Java业务程序对原数据库的查询请求集合;
[0008]判断所述查询请求集合中是否存在与新数据库不兼容的请求指令,若是,则将所述不兼容的请求指令组成查询请求子集;
[0009]基于所述查询请求子集修改新数据库的配置信息;
[0010]将当前Java业务程序替换连接至新数据库。
[0011]进一步地,所述修改新数据库的配置信息后,验证所述查询请求集合与新数据库的兼容性。
[0012]进一步地,所述当前Java业务程序通过修改数据库配置字符串替换连接至新数据库。
[0013]进一步地,所述数据库配置字符串的信息包括驱动、IP和/或端口。
[0014]本专利技术还提供一种基于语法兼容转换的Java数据库替换装置,包括:
[0015]原请求获取模块,用于获取当前Java业务程序对原数据库的查询请求集合;
[0016]兼容判断模块,用于判断所述查询请求集合中是否存在与新数据库不兼容的请求指令,若是,则将所述不兼容的请求指令组成查询请求子集;
[0017]修改模块,用于基于所述查询请求子集修改新数据库的配置信息;
[0018]新连接创建模块,用于将当前Java业务程序替换连接至新数据库。
[0019]进一步地,该装置还包括:
[0020]验证模块,在所述修改新数据库的配置信息后,用于验证所述查询请求集合与新数据库的兼容性。
[0021]进一步地,所述当前Java业务程序通过修改数据库配置字符串替换连接至新数据库。
[0022]进一步地,所述数据库配置字符串的信息包括驱动、IP和/或端口。
[0023]本专利技术还提供一种计算机可读存储介质,包括供电子设备的一个或多个处理器执行的一个或多个程序,所述一个或多个程序包括用于执行如上所述基于语法兼容转换的Java数据库替换方法的指令。
[0024]本专利技术还提供一种电子设备,包括:
[0025]一个或多个处理器;
[0026]存储器;和
[0027]被存储在存储器中的一个或多个程序,所述一个或多个程序包括用于执行如上所述基于语法兼容转换的Java数据库替换方法的指令。
[0028]与现有技术相比,本专利技术具有以下有益效果:
[0029]本专利技术能使新数据库修改并兼容原数据库的相关特性,让Java业务程序中依赖的原数据库的相关特性可以在新数据库中得到正确的响应。对应的,Java业务程序修改数据库配置字符串迁移到访问新数据库上时,可以准确、及时的得到正确的响应包,也就实现了不修改业务代码的情况下,替换数据库的目的,实现难度低。
附图说明
[0030]图1为本专利技术的流程示意图。
具体实施方式
[0031]下面结合附图和具体实施例对本专利技术进行详细说明。本实施例以本专利技术技术方案为前提进行实施,给出了详细的实施方式和具体的操作过程,但本专利技术的保护范围不限于下述的实施例。
[0032]实施例1
[0033]如图1所示,本实施例提供一种基于语法兼容转换的Java数据库替换方法,包括以下步骤:
[0034]S1、获取当前Java业务程序对原数据库(数据库A)的查询请求集合Q;
[0035]S2、判断所述查询请求集合Q中是否存在与新数据库不兼容的请求指令,若是,则将所述不兼容的请求指令组成查询请求子集s;
[0036]S3、基于所述查询请求子集s修改新数据库(数据库B)的配置信息;
[0037]S4、修改当前Java业务程序的数据库配置字符串,将当前Java业务程序替换连接至新数据库,数据库配置字符串的信息包括驱动、IP和/或端口等。
[0038]在优选实施方式中,该方法还包括:修改新数据库的配置信息后,验证所述查询请求集合与新数据库的兼容性。
[0039]上述方法可保证不修改业务代码的情况下,替换底层数据库。Java业务程序访问某个数据库是通过指定数据库配置字符串来指定需要访问的数据库的驱动、IP、端口等信息,由于各个数据库的实现和兼容标准并不一致,当业务程序用到一些特定数据库的特性时,例如Oracle的rownum等,就算把数据库配置字符串修改为访问指定的另一个数据库,例如MySQL,由于新的数据库无法支持这些特性,业务程序迁移到新的数据库还是会失败。上述方法在修改数据库配置字符串之前先对新数据库与原数据库的兼容性进行匹配,以便让Java业务程序中依赖的老数据库的相关特性可以在新数据库中得到正确的响应。Java业务程序修改数据库配置字符串迁移到访问新的数据库上来时,就可以准确、及时的得到正确的响应包,也就实现了不修改业务代码的情况下,替换数据库的目的。
[0040]上述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本专利技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本专利技术各个实施例所述方法的全部或部分步骤。而前述的本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于语法兼容转换的Java数据库替换方法,其特征在于,包括以下步骤:获取当前Java业务程序对原数据库的查询请求集合;判断所述查询请求集合中是否存在与新数据库不兼容的请求指令,若是,则将所述不兼容的请求指令组成查询请求子集;基于所述查询请求子集修改新数据库的配置信息;将当前Java业务程序替换连接至新数据库。2.根据权利要求1所述的基于语法兼容转换的Java数据库替换方法,其特征在于,所述修改新数据库的配置信息后,验证所述查询请求集合与新数据库的兼容性。3.根据权利要求1所述的基于语法兼容转换的Java数据库替换方法,其特征在于,所述当前Java业务程序通过修改数据库配置字符串替换连接至新数据库。4.根据权利要求3所述的基于语法兼容转换的Java数据库替换方法,其特征在于,所述数据库配置字符串的信息包括驱动、IP和/或端口。5.一种基于语法兼容转换的Java数据库替换装置,其特征在于,包括:原请求获取模块,用于获取当前Java业务程序对原数据库的查询请求集合;兼容判断模块,用于判断所述查询请求集合中是否存在与新数据库不兼容的请求指令,若是,则将所述不兼容的请求指令组成查询请求子集;修改模块,用于基...

【专利技术属性】
技术研发人员:李建辉李春陈栋罗春魏兴华张文件吴炎臧冰凌杨禹航
申请(专利权)人:杭州沃趣科技股份有限公司
类型:发明
国别省市:

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

1