异构数据库切换方法、装置、计算机设备及存储介质与流程
本发明涉及大数据、数据库管理的,尤其涉及一种异构数据库切换方法、装置、计算机设备及存储介质。
背景技术:
1、mysql语句与oracle等数据库存在语法函数、数据类型映射差异,需通过业务代码条件判断完成适配,造成代码耦合度升高。现有数据源切换通过定时任务批量同步数据,存在切换窗口期数据不一致问题,且异构数据库的事务逻辑不同,跨库事务难以有效协调。例如,在金融领域中,账务清算、余额核算业务严禁数据差错,切库引发的数据偏移与事务断层易导致账目失衡、产生资金风险;在医疗领域中,电子病历、诊疗记录等属于法定留存数据,异构数据库权限管控、防篡改能力不统一,无法契合医疗数据合规留存规范。
技术实现思路
1、本发明提供一种异构数据库切换方法、装置、计算机设备及存储介质,以解决现有技术中异构数据库兼容性差导致代码耦合高、数据源切换存在数据不一致窗口期、跨库事务难以协调的技术问题。
2、第一方面,提供了一种异构数据库切换方法,包括:
3、通过aop切面拦截当前执行映射器接口的方法调用,并从拦截信息中获取当前执行映射器的接口名和方法名;
4、从配置中心获取全局切源总开关状态,并在全局切源总开关状态表征总开关处于开启状态时,从配置中心获取切换映射器列表;
5、根据所述切换映射器列表对当前执行映射器的接口名和方法名进行匹配校验,得到目标匹配结果;
6、在所述目标匹配结果表征当前执行映射器的接口名和方法名匹配成功时,根据动态代理将当前执行映射器路由至异构映射器,并执行与所述异构映射器对应的异构数据库中异构sql语句。
7、第二方面,提供了一种异构数据库切换装置,包括:
8、调用拦截模块,用于通过aop切面拦截当前执行映射器接口的方法调用,并从拦截信息中获取当前执行映射器的接口名和方法名;
9、切换列表模块,用于从配置中心获取全局切源总开关状态,并在全局切源总开关状态表征总开关处于开启状态时,从配置中心获取切换映射器列表;
10、接口校验模块,用于根据所述切换映射器列表对当前执行映射器的接口名和方法名进行匹配校验,得到目标匹配结果;
11、异构接入模块,用于在所述目标匹配结果表征当前执行映射器的接口名和方法名匹配成功时,根据动态代理将当前执行映射器路由至异构映射器,并执行与所述异构映射器对应的异构数据库中异构sql语句。
12、第三方面,提供了一种计算机设备,包括存储器、处理器以及存储在存储器中并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述异构数据库切换方法的步骤。
13、第四方面,提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时实现上述异构数据库切换方法的步骤。
14、上述异构数据库切换方法、装置、计算机设备及存储介质,所述异构数据库切换方法,通过aop切面拦截当前执行映射器接口的方法调用,并从拦截信息中获取当前执行映射器的接口名和方法名;从配置中心获取全局切源总开关状态,并在全局切源总开关状态表征总开关处于开启状态时,从配置中心获取切换映射器列表;根据所述切换映射器列表对当前执行映射器的接口名和方法名进行匹配校验,得到目标匹配结果;在所述目标匹配结果表征当前执行映射器的接口名和方法名匹配成功时,根据动态代理将当前执行映射器路由至异构映射器,并执行与所述异构映射器对应的异构数据库中异构sql语句。
15、本发明中,通过aop切面,实现了对当前执行映射器接口的方法拦截,从而实现了对拦截信息的确定,进而实现了对当前执行映射器的接口名和方法名的确定。通过从配置中心中获取全局切源总开关状态,实现了对全局切源总开关的状态判断,从而在处于开启状态时,实现了对切换映射器列表的获取,进而实现了对当前执行映射器的接口名和方法名的匹配校验。在目标匹配结果表征匹配成功时,实现了将前执行的映射器路由至异构映射器,进而实现了对异构数据库中异构sql语句的执行。进一步地,通过aop切面拦截和动态代理,实现了对无侵入式的切换逻辑的设计,从而在单一请求线程内完成切换,避免了跨线程事务一致性的问题,进而实现了对原始映射器和异构映射器的映射体系的确定,实现了对主流关系型数据库的语法转换,避免了手动编写切换逻辑。
1.一种异构数据库切换方法,其特征在于,包括:
2.如权利要求1所述的异构数据库切换方法,其特征在于,所述根据所述切换映射器列表对当前执行映射器的接口名和方法名进行匹配校验,得到目标匹配结果之后,还包括:
3.如权利要求1所述的异构数据库切换方法,其特征在于,所述切换映射器列表包括单接口验证的指定映射器;
4.如权利要求1所述的异构数据库切换方法,其特征在于,所述切换映射器列表包括灰度分流比例的映射器;
5.如权利要求1所述的异构数据库切换方法,其特征在于,所述切换映射器列表包括所有映射器;
6.如权利要求1所述的异构数据库切换方法,其特征在于,所述通过aop切面拦截当前执行映射器接口的方法调用之前,还包括:
7.如权利要求1所述的异构数据库切换方法,其特征在于,所述从配置中心获取全局切源总开关状态之前,还包括:
8.一种异构数据库切换装置,其特征在于,包括:
9.一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述异构数据库切换方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述异构数据库切换方法的步骤。
版权声明:本站专利文献数据主要来源于国家知识产权局等公开渠道,由 技术新讯 进行整理汇编。页面设计及数据汇编的著作权归本站所有。全部内容仅供个人学习、科研评估与技术交流参考,严禁用于任何商业用途(包括但不限于直接生产制造、技术转让、倒卖数据等)。
免责条款:专利技术具有时效性,本站不对资料的绝对准确性、完整性和可实施性提供任何明示或暗示的担保。因参考本站内容造成的直接或间接损失,本站不承担相关法律责任。若您认为本站内容有侵权问题,请及时提供权属证明与我们联系,本站将在核实后依法处理。反馈意见:yyfuon@163.com