数据库切换方法及装置、存储介质、计算机设备制造方法及图纸

技术编号:35355663 阅读:16 留言:0更新日期:2022-10-26 12:32
本申请涉及数据处理技术领域,公开了一种数据库切换方法及装置、存储介质、计算机设备,该方法包括:确定源数据库、主库线程及目标数据库,其中,源数据库包括源代码,根据源数据库以及目标数据库建立备库线程,通过备库线程,建立源代码对应的代理类;通过主库线程,监听源数据库的运行事务,若运行事务中包括数据转移事务,则获取数据转移事务中目标数据库的接口信息及配置信息;根据代理类、接口信息、配置信息以及目标数据库,通过备库线程自动拼接数据转移查询语句;通过备库线程执行数据转移查询语句,查询代理类对应的转移数据,并将转移数据转移至所述目标数据库。本申请实现了对业务零侵入的更换业务系统数据库。务零侵入的更换业务系统数据库。务零侵入的更换业务系统数据库。

【技术实现步骤摘要】
数据库切换方法及装置、存储介质、计算机设备


[0001]本申请涉及数据处理
,尤其是涉及到一种数据库切换方法及装置、存储介质、计算机设备。

技术介绍

[0002]互联网正值发展高峰期,传统的Oracle系统数据库已经越来越难以适应业务和数据井喷式发展的情形,公司每年不得不在笨重的Oracle系统数据库上投入大量的人力成本以及运维成本,云计算的飞速发展促使着笨重的Oracle系统数据库将逐步被轻量级的数据库所取代。这不仅是历史发展的必然趋势,也顺应当今时代发展的潮流。为此,技术中心区域切换Oracle系统数据库既与公司未来的战略发展相契合,也与互联网发展的趋势相匹配,其必然性与必要性不言而喻。
[0003]核心信息系统的正常运转是整个科技中心正常运转的前提,所有域都依赖核心信息系统提供的服务。核心信息系统的任意一处改动都有可能对其他域都有影响,稍有不慎将极有可能造成雪崩级的灾难,因此对于切换Oracle系统数据库的相关技术与方案,需要一种对业务零侵入的更换业务系统数据库的方法。

技术实现思路

[0004]有鉴于此,本申请提供了一种数据库切换方法及装置、存储介质、计算机设备,实现了对业务零侵入的更换业务系统数据库。
[0005]根据本申请的一个方面,提供了一种数据库切换方法,包括:
[0006]确定源数据库、主库线程及目标数据库,其中,所述源数据库包括源代码,根据所述源数据库以及所述目标数据库建立备库线程,通过所述备库线程,建立所述源代码对应的代理类;
[0007]通过所述主库线程,监听所述源数据库的运行事务,若所述运行事务中包括数据转移事务,则获取所述数据转移事务中目标数据库的接口信息及配置信息;
[0008]根据所述代理类、所述接口信息、所述配置信息以及所述目标数据库,通过所述备库线程自动拼接数据转移查询语句;
[0009]通过所述备库线程执行所述数据转移查询语句,查询所述代理类对应的转移数据,并将所述转移数据转移至所述目标数据库。
[0010]可选地,所述通过所述备库线程,建立所述源代码对应的代理类,包括:
[0011]通过所述备库线程获取源代码类型,依据所述源代码类型建立所述源代码对应的工厂类,其中所述工厂类包含所述源代码类型,并将所述工厂类注入IOC(Inversion of Control,控制反转)容器,由所述IOC容器生成所述工厂类对应的代理类;
[0012]根据所述源代码类型在所述IOC容器中调取所述工厂类对应的代理类。
[0013]可选地,所述监听所述源数据库的运行事务之后,所述方法还包括:
[0014]记录全部所述运行事务,并识别所述运行事务的内容;
[0015]根据所述运行事务的内容,将所述运行事务中非数据转移事务分配于所述主库线程,并将所述数据转移事务分配于备库线程。
[0016]可选地,所述根据所述代理类、所述接口信息、所述配置信息以及所述目标数据库,通过所述备库线程自动拼接数据转移查询语句,包括:
[0017]根据所述代理类及所述目标数据库,获取目标查询语句模板;
[0018]将所述代理类、所述接口信息、所述配置信息以及所述目标数据库转换为标准格式的转移参数,并将所述转移参数拼接到所述目标查询语句模板中获得所述数据转移查询语句。
[0019]可选地,所述通过所述备库线程执行所述数据转移查询语句,查询所述代理类对应的转移数据,并将所述转移数据转移至所述目标数据库,包括:
[0020]在所述目标数据库中执行所述数据转移查询语句,查询所述代理类对应的转移数据;
[0021]将所述转移数据转移至所述目标数据库中。
[0022]可选地,所述将所述转移数据转移至所述目标数据库之后,所述方法还包括:
[0023]识别所述目标数据库中是否包含代理类表;
[0024]若不包含,则在所述目标数据库中建立代理类表;
[0025]若包含,则通过所述备库线程比对所述代理类表及所述转移数据,确定所述数据转移是否完毕。
[0026]可选地,所述通过所述备库线程比对所述代理类表及所述转移数据,确定所述数据转移是否完毕之后,所述方法还包括:
[0027]若所述数据转移完毕,则清理所述数据转移占用的所述备库线程。
[0028]根据本申请的另一方面,提供了一种数据库切换装置,所述装置包括:
[0029]数据确定模块,确定源数据库、主库线程及目标数据库,其中,所述源数据库包括源代码,根据所述源数据库以及所述目标数据库建立备库线程,通过所述备库线程,建立所述源代码对应的代理类;
[0030]数据获取模块,通过所述主库线程,监听所述源数据库的运行事务,若所述运行事务中包括数据转移事务,则获取所述数据转移事务中目标数据库的接口信息及配置信息;
[0031]数据拼接模块,根据所述代理类、所述接口信息、所述配置信息以及所述目标数据库,通过所述备库线程自动拼接数据转移查询语句;
[0032]数据转移模块,通过所述备库线程执行所述数据转移查询语句,查询所述代理类对应的转移数据,并将所述转移数据转移至所述目标数据库。
[0033]可选地,所述数据确定模块,还用于:
[0034]通过所述备库线程获取源代码类型,依据所述源代码类型建立所述源代码对应的工厂类,其中所述工厂类包含所述源代码类型,并将所述工厂类注入IOC(Inversion of Control,控制反转)容器,由所述IOC容器生成所述工厂类对应的代理类;
[0035]根据所述源代码类型在所述IOC容器中调取所述工厂类对应的代理类。
[0036]可选地,所述装置还包括:数据分配模块,用于:
[0037]记录全部所述运行事务,并识别所述运行事务的内容;
[0038]根据所述运行事务的内容,将所述运行事务中非数据转移事务分配于所述主库线
程,并将所述数据转移事务分配于备库线程。
[0039]可选地,所述数据拼接模块,还用于:
[0040]根据所述代理类及所述目标数据库,获取目标查询语句模板;
[0041]将所述代理类、所述接口信息、所述配置信息以及所述目标数据库转换为标准格式的转移参数,并将所述转移参数拼接到所述目标查询语句模板中获得所述数据转移查询语句。
[0042]可选地,所述数据转移模块,还用于:
[0043]在所述目标数据库中执行所述数据转移查询语句,查询所述代理类对应的转移数据;
[0044]将所述转移数据转移至所述目标数据库中。
[0045]可选地,所述装置还包括:数据检测模块,用于:
[0046]识别所述目标数据库中是否包含代理类表;
[0047]若不包含,则在所述目标数据库中建立代理类表;
[0048]若包含,则通过所述备库线程比对所述代理类表及所述转移数据,确定所述数据转移是否完毕。
[0049]可选地,所述装置还包本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据库切换方法,其特征在于,所述方法包括:确定源数据库、主库线程及目标数据库,其中,所述源数据库包括源代码,根据所述源数据库以及所述目标数据库建立备库线程,通过所述备库线程,建立所述源代码对应的代理类;通过所述主库线程,监听所述源数据库的运行事务,若所述运行事务中包括数据转移事务,则获取所述数据转移事务中目标数据库的接口信息及配置信息;根据所述代理类、所述接口信息、所述配置信息以及所述目标数据库,通过所述备库线程自动拼接数据转移查询语句;通过所述备库线程执行所述数据转移查询语句,查询所述代理类对应的转移数据,并将所述转移数据转移至所述目标数据库。2.根据权利要求1所述的方法,其特征在于,所述通过所述备库线程,建立所述源代码对应的代理类,包括:通过所述备库线程获取源代码类型,依据所述源代码类型建立所述源代码对应的工厂类,其中所述工厂类包含所述源代码类型,并将所述工厂类注入IOC(Inversion of Control,控制反转)容器,由所述IOC容器生成所述工厂类对应的代理类;根据所述源代码类型在所述IOC容器中调取所述工厂类对应的代理类。3.根据权利要求1所述的方法,其特征在于,所述监听所述源数据库的运行事务之后,所述方法还包括:记录全部所述运行事务,并识别所述运行事务的内容;根据所述运行事务的内容,将所述运行事务中非数据转移事务分配于所述主库线程,并将所述数据转移事务分配于备库线程。4.根据权利要求1所述的方法,其特征在于,所述根据所述代理类、所述接口信息、所述配置信息以及所述目标数据库,通过所述备库线程自动拼接数据转移查询语句,包括:根据所述代理类及所述目标数据库,获取目标查询语句模板;将所述代理类、所述接口信息、所述配置信息以及所述目标数据库转换为标准格式的转移参数,并将所述转移参数拼接到所述目标查询语句模板中获得所述数据转移查询语句。5.根据权利要求4所述的方法,其特征在于,所述通过所述备库...

【专利技术属性】
技术研发人员:花晋王媛媛舒强潘燕
申请(专利权)人:平安付科技服务有限公司
类型:发明
国别省市:

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

1