【技术实现步骤摘要】
跨数据库的事务管理方法、装置、设备及存储介质
本专利技术涉及计算机
,尤其涉及跨数据库的事务管理方法、装置、设备及存储介质。
技术介绍
数据库事务通常包含了一个序列的对数据库的读/写操作,将数据库操作序列从失败中恢复到正常状态,同时确保数据库异常状态下仍能保持一致性。并且当多个应用程序在并发访问数据库时,为应用程序之间提供一个隔离,以防止彼此的操作互相干扰。在多个跨数据库业务请求并发的情况下,采用非同步操作的方式,容易导致整个目标数据库系统数据的不一致,若采用分布式事务处理接口XA事务管理方式,其性能低下,并且只能应用在同源的数据库上,异构数据库配置不了XA事务,而通过二进制日志文件binlog或者relaylog去做数据还原,降低了业务请求的处理效率。
技术实现思路
本专利技术的主要目的在于解决了异构数据库配置不了XA事务,并且解决了由于通过二进制日志文件进行数据还原,降低了业务请求的处理效率的技术问题。为实现上述目的,本专利技术第一方面提供了一种跨数据库的事务管理方法,包括:从预置映射对象文件中确定多个数据库的数据操作语句,并为所述多个数据库的数据操作语句配置第一映射标签和第二映射标签,得到多个待执行的事务,所述第一映射标签用于指示触发数据备份,所述第二映射标签用于指示触发数据回滚;通过预置事务机制中的初步操作执行所述多个待执行的事务,得到备份数据,所述预置事务机制包括初步操作、取消操作和确认操作;当检测到所述多个待执行的事务全部执行成功时,通过所述确认操作提交全部执行成 ...
【技术保护点】
1.一种跨数据库的事务管理方法,其特征在于,包括:/n从预置映射对象文件中确定多个数据库的数据操作语句,并为所述多个数据库的数据操作语句配置第一映射标签和第二映射标签,得到多个待执行的事务,所述第一映射标签用于指示触发数据备份,所述第二映射标签用于指示触发数据回滚;/n通过预置事务机制中的初步操作执行所述多个待执行的事务,得到备份数据,所述预置事务机制包括初步操作、取消操作和确认操作;/n当检测到所述多个待执行的事务全部执行成功时,通过所述确认操作提交全部执行成功的事务;/n当检测到所述多个待执行的事务中任意一个事务执行失败时,通过所述取消操作按照所述备份数据回滚已执行的事务,得到已回滚数据,并根据所述备份数据对所述已回滚数据进行验证,得到验证结果;/n判断所述验证结果与目标值是否相等;/n若所述验证结果与所述目标值相等,则确定剩余已执行的事务,并根据所述备份数据对所述剩余已执行的事务进行数据回滚;/n若所述验证结果与所述目标值不相等,则确定差异数据,并根据所述备份数据对所述差异数据进行数据恢复。/n
【技术特征摘要】
1.一种跨数据库的事务管理方法,其特征在于,包括:
从预置映射对象文件中确定多个数据库的数据操作语句,并为所述多个数据库的数据操作语句配置第一映射标签和第二映射标签,得到多个待执行的事务,所述第一映射标签用于指示触发数据备份,所述第二映射标签用于指示触发数据回滚;
通过预置事务机制中的初步操作执行所述多个待执行的事务,得到备份数据,所述预置事务机制包括初步操作、取消操作和确认操作;
当检测到所述多个待执行的事务全部执行成功时,通过所述确认操作提交全部执行成功的事务;
当检测到所述多个待执行的事务中任意一个事务执行失败时,通过所述取消操作按照所述备份数据回滚已执行的事务,得到已回滚数据,并根据所述备份数据对所述已回滚数据进行验证,得到验证结果;
判断所述验证结果与目标值是否相等;
若所述验证结果与所述目标值相等,则确定剩余已执行的事务,并根据所述备份数据对所述剩余已执行的事务进行数据回滚;
若所述验证结果与所述目标值不相等,则确定差异数据,并根据所述备份数据对所述差异数据进行数据恢复。
2.根据权利要求1所述的跨数据库的事务管理方法,其特征在于,所述从预置映射对象文件中确定多个数据库的数据操作语句,并为所述多个数据库的数据操作语句配置第一映射标签和第二映射标签,得到多个待执行的事务,所述第一映射标签用于指示触发数据备份,所述第二映射标签用于指示触发数据回滚,包括:
部署预置项目框架,得到预置映射对象文件;
在所述预置映射对象文件中配置多个数据库的连接信息和所述多个数据库的数据操作语句,所述多个数据库的数据操作语句用于指示根据第一预置属性与预置接口类的不同函数名称进行关联;
将第一映射标签添加到所述多个数据库的数据操作语句中,并对所述第一映射标签和预置查询语句按照第二预置属性进行关联,所述第一映射标签用于指示触发数据备份;
将所述第二映射标签添加到所述多个数据库的数据操作语句中,所述第二映射标签用于指示触发数据回滚;
重新加载所述预置映射对象文件,得到多个待执行的事务。
3.根据权利要求2所述的跨数据库的事务管理方法,其特征在于,所述通过预置事务机制中的初步操作执行所述多个待执行的事务,得到备份数据,所述预置事务机制包括初步操作、取消操作和确认操作,包括:
从所述预置映射对象文件中读取所述多个数据库的连接信息和所述多个待执行的事务;
根据预置连接类和所述多个数据库的连接信息连接到所述多个数据库;
通过预置事务机制中的初步操作执行所述多个待执行的事务,得到备份数据,并对所述多个待执行的事务添加分布式事务锁,所述预置事务机制包括所述初步操作、确认操作和取消操作。
4.根据权利要求3所述的跨数据库的事务管理方法,其特征在于,所述通过预置事务机制中的初步操作执行所述多个待执行的事务,得到备份数据,并对所述多个待执行的事务添加分布式事务锁,所述预置事务机制包括所述初步操作、确认操作和取消操作包括:
通过预置事务机制中的初步操作按照所述预置接口类的不同函数名称逐个执行所述多个待执行的事务,得到所述事务的唯一标识,所述预置事务机制包括所述初步操作、确认操作和取消操作;
执行所述第一映射标签对应的预置查询语句,得到备份数据;
将所述事务的唯一标识和所述备份数据设置成目标键值对,并将所述目标键值对存储到缓存中;
对所述多个待执行的事务添加分布式事务锁,并执行所述多个数据库的数据操作语句。
5.根据权利要求4所述的跨数据库的事务管理方法,其特征在于,所述当检测到所...
【专利技术属性】
技术研发人员:钟泽峰,
申请(专利权)人:中国平安财产保险股份有限公司,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。