一种面向应用程序的异构数据库兼容实现系统的制作方法

文档序号:37186281发布日期:2024-03-01 12:50阅读:16来源:国知局
一种面向应用程序的异构数据库兼容实现系统的制作方法

本发明属于数据库切换,更具体地,涉及一种面向应用程序的异构数据库兼容实现系统。


背景技术:

1、目前,应用程序通常基于预定类型的数据库进行开发,而该数据库将为应用程序的各项业务提供数据支持,在这一背景下,现有的应用程序对于相应类型的数据库呈现强依赖关系。随着近年来数据库技术的不断发展,市面上出现了多种异构数据库,这给应用程序摆脱与数据库之间的强依赖关系提供了基础。而为了解决应用程序与数据库之间的强依赖关系所带来的弊端,越来越多的应用程序被要求能够兼容异构数据库。

2、现有实现应用程序兼容异构数据库的方式主要包括以下几种:

3、方式一、针对不同类型的数据库开发相应版本的应用程序,这种方式虽然能够在一定程度上实现应用程序对于异构数据库的兼容,但是由于应用程序在不同的数据库系统上可能存在差异性,需要分别对应用程序进行维护和更新,进而增加代码维护的工作量和复杂性,同时也使得代码的可复用性和可维护性下降,增加了出错的可能性。

4、方式二、针对于不同类型的数据库之间的功能特性差异和兼容适配差异,以及各数据库在库表初始化过程中处理方式的不同,通过人工操作构建库表、索引、序列、表空间等,这种方式虽然无需开发多个版本的应用程序,但是实施起来缺乏自动化和标准化,难以维护和管理。

5、方式三、针对不同类型的数据库构造不同的模型结构数据,以实现应用程序与数据库之间的数据兼容适配。然而,这种方式不仅使得代码变得臃肿,而且可能会造成模型结构数据的不统一,在进行功能的更新,会增加额外的开发工作,同时还会造成模型结构数据的字段遗漏,影响应用程序的功能。


技术实现思路

1、本发明的目的在于解决现有实现应用程序兼容异构数据库的方式因基于应用程序端的调整来实现其目的而导致应用程序在开发、维护和更新上的难度大、工作量大的问题。

2、为了实现上述目的,本发明提供一种面向应用程序的异构数据库兼容实现系统,该系统包括以下功能模块:

3、数据库表结构初始化模块,用于在应用程序初始化的过程中,根据应用程序的数据库选型进行相应类型数据库的表结构的初始化;

4、数据库连接及驱动管理模块,用于加载相应类型数据库的数据库驱动,以及通过数据库连接池实现响应于应用程序的数据库操作的数据库连接管理,并采用树存储结构对数据库连接池所释放的数据库连接进行缓存;

5、对象关系映射模块,用于将缓存的数据库连接所对应的数据库操作的数据格式转换为相应类型数据库的数据格式;

6、数据批量处理模块,用于将被转换为相应类型数据库的数据格式的数据库操作中的能够被合并的操作整合为相应类型数据库的数据批量处理操作;

7、sql接口调用模块,用于调用相应的sql接口,以执行数据批量处理操作以及未合并的数据库操作。

8、作为可选的是,若相应类型数据库为mysql数据库,则其表结构初始化包括构建数据库、表结构、索引、存储过程、存储函数和触发器,以及用户权限设置和数据库连接配置。

9、作为可选的是,若相应类型数据库为达梦数据库,则其表结构初始化包括构建数据库实例、表空间、表结构、索引、自增序列、存储过程、存储函数和触发器,以及用户权限设置和数据库连接配置。

10、作为可选的是,所述树存储结构为lsm树存储结构。

11、作为可选的是,所述将缓存的数据库连接所对应的数据库操作的数据格式转换为相应类型数据库的数据格式包括:

12、根据应用程序的数据库操作语句定义结构体和字段;

13、将结构体的字段类型映射到对应的数据库字段类型;

14、基于反射技术获取结构体的相应字段类型对应的字段内容。

15、作为可选的是,所述数据库操作包括数据操作和数据查询,所述数据操作包括插入、删除和更新。

16、作为可选的是,所述能够被合并的操作为同一类型的数据操作。

17、本发明的有益效果在于:

18、本发明的面向应用程序的异构数据库兼容实现系统,通过数据库表结构初始化模块实现对应于应用程序数据库选型的目标数据库的表结构的初始化;通过数据库连接及驱动管理模块加载目标数据库的数据库驱动,以及通过数据库连接池实现响应于应用程序的数据库操作的数据库连接管理,并采用树存储结构对数据库连接池所释放的数据库连接进行缓存;通过对象关系映射模块将缓存的数据库连接所对应的数据库操作的数据格式转换为目标数据库的数据格式;通过数据批量处理模块将被转换为目标数据库的数据格式的数据库操作中的能够被合并的操作整合为目标数据库的数据批量处理操作;通过sql接口调用模块调用相应的sql接口,以执行数据批量处理操作以及未合并的数据库操作。

19、与现有技术中的方式一相比,本发明的面向应用程序的异构数据库兼容实现系统为独立于应用程序的系统,采用为应用程序提供相应类型数据库的接入服务的方式实现应用程序对于异构数据库的兼容,使得应用程序无需针对不同类型的数据库开发出相应的版本即可实现异构数据库的兼容。

20、与现有技术中的方式二相比,本发明的面向应用程序的异构数据库兼容实现系统自动地根据应用程序的数据库选型进行相应类型数据库的表结构的初始化,能够满足相关环节对于自动化和标准化的要求。

21、与现有技术中的方式三相比,本发明的面向应用程序的异构数据库兼容实现系统基于对象关系映射模块实现应用程序与数据库之间的数据转换,使得欲实现异构数据库兼容的应用程序无需针对不同类型的数据库构造不同的模型结构数据,即可实现异构数据库兼容。

22、根据以上内容可知,采用本发明的面向应用程序的异构数据库兼容实现系统能够有效地解决现有实现应用程序兼容异构数据库的方式因基于应用程序端的调整来实现其目的而导致应用程序在开发、维护和更新上的难度大、工作量大的问题。

23、本发明的其他特征和优点将在随后具体实施方式部分予以详细说明。



技术特征:

1.一种面向应用程序的异构数据库兼容实现系统,其特征在于,包括:

2.根据权利要求1所述的面向应用程序的异构数据库兼容实现系统,其特征在于,若相应类型数据库为mysql数据库,则其表结构初始化包括构建数据库、表结构、索引、存储过程、存储函数和触发器,以及用户权限设置和数据库连接配置。

3.根据权利要求1所述的面向应用程序的异构数据库兼容实现系统,其特征在于,若相应类型数据库为达梦数据库,则其表结构初始化包括构建数据库实例、表空间、表结构、索引、自增序列、存储过程、存储函数和触发器,以及用户权限设置和数据库连接配置。

4.根据权利要求1所述的面向应用程序的异构数据库兼容实现系统,其特征在于,所述树存储结构为lsm树存储结构。

5.根据权利要求1所述的面向应用程序的异构数据库兼容实现系统,其特征在于,所述将缓存的数据库连接所对应的数据库操作的数据格式转换为相应类型数据库的数据格式包括:

6.根据权利要求1所述的面向应用程序的异构数据库兼容实现系统,其特征在于,所述数据库操作包括数据操作和数据查询,所述数据操作包括插入、删除和更新。

7.根据权利要求6所述的面向应用程序的异构数据库兼容实现系统,其特征在于,所述能够被合并的操作为同一类型的数据操作。


技术总结
本发明提供一种面向应用程序的异构数据库兼容实现系统,包括:数据库表结构初始化模块,用于实现相应类型数据库的表结构初始化;数据库连接及驱动管理模块,用于加载数据库驱动以及通过数据库连接池实现对应于数据库操作的数据库连接管理,并对释放的数据库连接进行缓存管理;对象关系映射模块,用于将缓存的数据库连接对应的数据库操作转换为相应类型数据库的数据格式;数据批量处理模块,用于将数据格式转换后的数据库操作中的能够被合并的操作整合为相应类型数据库的数据批量处理操作;SQL接口调用模块,用于调用相应的SQL接口,以执行数据批量处理操作及未合并的数据库操作。根据本发明,能够实现应用程序对于异构数据库的兼容。

技术研发人员:王永飞,顾铠羟,郝春光
受保护的技术使用者:中信数字创新(上海)科技有限公司
技术研发日:
技术公布日:2024/2/29
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1