多数据源的数据库迁移系统构建方法和数据库迁移方法技术方案

技术编号:35694728 阅读:10 留言:0更新日期:2022-11-23 14:45
本申请属于大数据技术领域,特别涉及一种多数据源的数据库迁移系统构建方法和数据库迁移方法。包括:基于所述第一数据库的SSM框架,创建所述第二数据库的数据源配置信息和持久层;创建持久选择层;配置第一开关,所述第一开关用于控制所述持久选择层的调用对象选为所述第一数据库中持久层的方法或所述第二数据库中持久层的方法;对所述第一数据库和所述第二数据库的数据源进行配置,以指定所述持久层所使用的数据源;将所述至少两个第一数据库的数据与所述第二数据库进行同步;将所述SSM框架的业务层中调用持久层的位置替换为所述持久选择层。上述的方法、装置和计算机设备可完成对多数据源的数据库的迁移,从而使得数据库迁移工作更加简单灵活。库迁移工作更加简单灵活。库迁移工作更加简单灵活。

【技术实现步骤摘要】
多数据源的数据库迁移系统构建方法和数据库迁移方法


[0001]本申请涉及大数据
,具体而言,本申请涉及一种多数据源的数据库迁移系统构建方法和数据库迁移方法。

技术介绍

[0002]在数据库日常运行维护工作中,一项重要的工作是对服务器的数据库进行迁移,例如,当某一服务器的数据库发生溢出时,要及时将数据库迁移到空间充足的另一服务器,以保证数据库的正常工作,或需要将当前数据库的数据转移到另一种类型的数据库,也需要进行数据库的迁移工作。
[0003]目前的数据库迁移方法,大多是使用双向同步数据,并基于单独数据源做全表统一的切换方式进行数据库的迁移。例如,使用切面方法对数据库方法进行增强,在切面方法中读取数据源配置来进行多个数据库间的切换。这种方式虽然可使得代码改动量较少,却并不适用于多个数据源的复杂情况。

技术实现思路

[0004]本申请的主要目的为提供一种多数据源的数据库迁移系统构建方法和数据库迁移方法,旨在解决现有技术中多数据源的数据库迁移困难的技术问题。
[0005]为了实现上述专利技术目的,本申请提供一种多数据源的数据库迁移系统构建方法,用于将至少两个第一数据库迁移至第二数据库,包括:
[0006]基于所述第一数据库的SSM框架,创建所述第二数据库的数据源配置信息和持久层;
[0007]创建持久选择层,所述持久选择层中的方法名、方法入参和方法出参与所述第一数据库的持久层中的方法名、方法入参和方法出参保持一致;
[0008]配置第一开关,所述第一开关用于控制所述持久选择层的调用对象选为所述第一数据库中持久层的方法或是所述第二数据库中持久层的方法;
[0009]对所述第一数据库和所述第二数据库的数据源进行配置,以指定所述持久层所使用的数据源;
[0010]将所述SSM框架的业务层中调用持久层的位置替换为所述持久选择层。
[0011]在一个实施例中,多数据源的数据库迁移系统的构建方法,还包括:
[0012]配置第二开关,所述第二开关用于控制是否由调用第二数据库的模式切换为调用第一数据库的模式。
[0013]本申请还提供一种多数据源的数据库迁移方法,该方法基于上述任一实施例的多数据源的数据库迁移系统,包括:
[0014]将所述至少两个第一数据库的数据与所述第二数据库进行同步。
[0015]在一个实施例中,多数据源的数据库迁移方法还包括:
[0016]判断所述第一开关的状态;
[0017]若所述持久选择层的方法获取到的所述第一开关的状态为第一状态,则选择所述持久选择层的调用对象为第一数据库的持久层的方法;
[0018]若所述持久选择层的方法获取到的所述第一开关的状态为第二状态,
[0019]则选择所述持久选择层的调用对象为第二数据库的持久层的方法。
[0020]在一个实施例中,所述将所述至少两个第一数据库的数据与所述第二数据库进行同步的步骤,包括:
[0021]对所述第一数据库中的表进行分批迁移。
[0022]在一个实施例中,当所述多数据源的数据库迁移系统中配置有第二开关时,多数据源的数据库迁移方法还包括:
[0023]判断所述第二开关的状态;
[0024]若所述第二开关的状态为关闭状态,表示所述第二数据库出现异常,则从调用第二数据库的模式切换为调用所述第一数据库的模式。
[0025]在一个实施例中,所述第二开关的颗粒度细化至SQL查询方法。
[0026]本申请还提供一种多数据源的数据库迁移系统构建装置,所述数据库迁移系统用于将至少两个第一数据库迁移至第二数据库,包括:
[0027]第一创建模块,用于基于所述第一数据库的SSM框架,创建所述第二数据库的数据源配置信息和持久层;
[0028]第二创建模块,用于创建持久选择层,所述持久选择层中的方法名、方法入参和方法出参与所述第一数据库的持久层中的方法名、方法入参和方法出参保持一致;
[0029]第一开关配置模块,用于配置第一开关,所述第一开关用于控制所述持久选择层的调用对象选为所述第一数据库中持久层的方法或是所述第二数据库中持久层的方法;
[0030]数据源配置模块,用于对所述第一数据库和所述第二数据库的数据源进行配置,以指定所述持久层所使用的数据源;
[0031]替换模块,将所述SSM框架的业务层中调用持久层的位置替换为所述持久选择层。
[0032]本申请还提供一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述任一实施例提供的多数据源的数据库迁移系统构建方法的步骤或多数据源的数据库迁移方法的步骤。
[0033]本申请还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述任一实施例提供的多数据源的数据库迁移系统构建方法的步骤或多数据源的数据库迁移方法的步骤。
[0034]本申请所提供的一种多数据源的数据库迁移系统构建方法和数据库迁移方法,用于将至少两个第一数据库迁移至第二数据库,其中,数据库迁移系统构建包括:基于所述第一数据库的SSM框架,创建所述第二数据库的数据源配置信息和持久层;创建持久选择层,所述持久选择层中的方法名、方法入参和方法出参与所述第一数据库的持久层中的方法名、方法入参和方法出参保持一致;配置第一开关,所述第一开关用于控制所述持久选择层的调用对象选为所述第一数据库中持久层的方法或是所述第二数据库中持久层的方法;对所述第一数据库和所述第二数据库的数据源进行配置,以指定所述持久层所使用的数据源;将所述SSM框架的业务层中调用持久层的位置替换为所述持久选择层。通过上述方案构建的数据库迁移系统,可完成对多数据源的数据库的迁移,从而使得数据库迁移工作更加
简单灵活。
附图说明
[0035]图1为本申请一实施例的多数据源的数据库迁移系统构建方法的流程示意图;
[0036]图2为一般的SSM框架的结构示意图;
[0037]图3为本申请一实施例的Orac l e数据库的SSM框架的结构示意图;
[0038]图4为本申请一实施例中2个Orac l e数据库向PG库迁移的应用示意图;
[0039]图5为本申请一实施例的多数据源的数据库迁移方法的流程示意图;
[0040]图6为本申请另一实施例的多数据源的数据库迁移方法的流程示意图;
[0041]图7为本申请一实施例的多数据源的数据库迁移系统构建装置的结构示意图;
[0042]图8为本申请一实施例的多数据源的数据库迁移装置的结构示意图;
[0043]图9为本申请一实施例的计算机设备的结构示意图。
具体实施方式
[0044]为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅用以解释本申请,并不用于限定本申请。
[004本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种多数据源的数据库迁移系统构建方法,所述数据库迁移系统用于将至少两个第一数据库迁移至第二数据库,其特征在于,包括:基于所述第一数据库的SSM框架,创建所述第二数据库的数据源配置信息和持久层;创建持久选择层,所述持久选择层中的方法名、方法入参和方法出参与所述第一数据库的持久层中的方法名、方法入参和方法出参保持一致;配置第一开关,所述第一开关用于控制所述持久选择层的调用对象选为所述第一数据库中持久层的方法或是所述第二数据库中持久层的方法;对所述第一数据库和所述第二数据库的数据源进行配置,以指定所述持久层所使用的数据源;将所述SSM框架的业务层中调用持久层的位置替换为所述持久选择层。2.根据权利要求1所述的多数据源的数据库迁移系统构建方法,还包括:配置第二开关,所述第二开关用于控制是否由调用第二数据库的模式切换为调用第一数据库的模式。3.一种多数据源的数据库迁移方法,所述方法基于权利要求1或2所述的多数据源的数据库迁移系统,其特征在于,包括:将所述至少两个第一数据库的数据与所述第二数据库进行同步。4.根据权利要求3所述的多数据源的数据库迁移方法,其特征在于,还包括:判断所述第一开关的状态;若所述持久选择层的方法获取到的所述第一开关的状态为关闭状态,则选择所述持久选择层的调用对象为第一数据库的持久层的方法;若所述持久选择层的方法获取到的所述第一开关的状态为打开状态,则选择所述持久选择层的调用对象为第二数据库的持久层的方法。5.根据权利要求3所述的多数据源的数据库迁移方法,其特征在于,所述将所述至少两个第一数据库的数据与所述第二数据库进行同步的步骤,包括:对所述第一数据库中的表进行分批迁移。6.根据权利要求3所述的多数据源的数据库迁移方法,其特征在于,当所述多数据源的数据库迁移系统中配置有第二开关时,还包括:判...

【专利技术属性】
技术研发人员:吴雨润
申请(专利权)人:平安消费金融有限公司
类型:发明
国别省市:

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

1