事务执行方法、装置、设备、存储介质及程序产品制造方法及图纸

技术编号:39294775 阅读:10 留言:0更新日期:2023-11-07 11:02
本申请实施例公开了一种事务执行方法、装置、设备、存储介质及程序产品;在本申请实施例中,获取目标业务的待执行事务,所述待执行事务包括针对所述目标业务的不同目标数据库的更新语句;获取部署于电子设备中的事务管理服务,以及获取所述目标数据库与所述事务管理服务之间的事务连接;通过所述目标数据库与所述事务管理服务之间的事务连接,基于所述事务管理服务,对所述目标数据库执行所述更新语句对应的操作,得到所述更新语句的执行结果;若所述更新语句的执行结果中存在执行失败的执行结果,则通过所述事务管理服务对执行成功的目标数据库执行数据恢复操作。本申请实施例可以使得不同数据库之间的数据保持一致性。使得不同数据库之间的数据保持一致性。使得不同数据库之间的数据保持一致性。

【技术实现步骤摘要】
事务执行方法、装置、设备、存储介质及程序产品


[0001]本申请涉及互联网
,具体涉及一种事务执行方法、装置、设备、存储介质及程序产品。

技术介绍

[0002]数据库(Database)是根据数据结构来组织、存储和管理数据的建立在计算机存储设备上的仓库,是储存在计算机存储设备内、有组织的、可共享的数据集合。数据库可以包括联机分析处理型数据库(On

line Analytical Processing,OLAP)和联机事务处理型数据库(On

line Transaction Processing,OLTP)。
[0003]联机事务处理型数据库支持事务操作,联机分析处理型数据库不支持事务操作,导致当业务同时涉及到联机事务处理型数据库和联机分析处理型数据库时,不能保证联机事务处理型数据库和联机分析处理型数据库之间的数据的一致性。

技术实现思路

[0004]本申请实施例提供一种事务执行方法、装置、设备、存储介质及程序产品,可以解决不同数据库之间的数据的一致性的技术问题。
[0005]本申请实施例提供一种事务执行方法,包括:
[0006]获取目标业务的待执行事务,上述待执行事务包括针对上述目标业务的不同目标数据库的更新语句;
[0007]获取部署于电子设备中的事务管理服务,以及获取上述目标数据库与上述事务管理服务之间的事务连接;
[0008]通过上述目标数据库与上述事务管理服务之间的事务连接,基于上述事务管理服务,对上述目标数据库执行上述更新语句对应的操作,得到上述更新语句的执行结果;
[0009]若上述更新语句的执行结果中存在执行失败的执行结果,则通过上述事务管理服务对执行成功的目标数据库执行数据恢复操作。
[0010]相应地,本申请实施例提供一种事务执行装置,包括:
[0011]事务获取模块,用于获取目标业务的待执行事务,上述待执行事务包括针对上述目标业务的不同目标数据库的更新语句;
[0012]服务获取模块,用于获取部署于电子设备中的事务管理服务,以及获取上述目标数据库与上述事务管理服务之间的事务连接;
[0013]操作执行模块,用于通过上述目标数据库与上述事务管理服务之间的事务连接,基于上述事务管理服务,对上述目标数据库执行上述更新语句对应的操作,得到更新语句的执行结果;
[0014]恢复执行模块,用于若上述更新语句的执行结果中存在执行失败的执行结果,则通过上述事务管理服务对执行成功的目标数据库执行数据恢复操作。
[0015]可选地,服务获取模块具体用于执行:
[0016]获取上述事务管理服务的配置文件;
[0017]获取上述目标数据库的连接地址,并将上述连接地址中存储至上述配置文件中;
[0018]根据上述配置文件,将上述目标数据库与上述事务管理服务建立事务连接。
[0019]可选地,事务执行装置还包括:
[0020]事务存储模块,用于通过上述事务管理服务,将上述待执行事务存储至预设日志文件中。
[0021]相应地,恢复执行模块具体用于执行:
[0022]若上述更新语句的执行结果中存在执行失败的执行结果,则通过上述事务管理服务从上述预设日志文件中获取上述待执行事务;
[0023]通过上述事务管理服务确定上述待执行事务对应的恢复操作,并根据上述恢复操作,对执行成功的目标数据库执行数据恢复操作。
[0024]可选地,恢复执行模块具体用于执行:
[0025]通过上述事务管理服务确定上述待执行事务中操作类型对应的反操作类型;
[0026]根据上述反操作类型,确定上述待执行事务对应的恢复操作。
[0027]可选地,事务存储模块具体用于执行:
[0028]获取上述预设日志文件的文件锁;
[0029]根据上述文件锁,将上述待执行事务存储至预设日志文件中。
[0030]可选地,事务存储模块具体用于执行:
[0031]在上述预设日志文件中添加上述待执行事务的起始标识;
[0032]根据上述起始标识,将上述待执行事务存储至预设日志文件中。
[0033]可选地,事务执行模块还包括:
[0034]日志压缩模块,用于执行:
[0035]获取上述预设日志文件的文件大小;
[0036]若上述文件大小大于预设阈值,则对上述预设日志文件进行压缩,得到压缩后日志文件;
[0037]将上述压缩后日志文件作为上述预设日志文件。
[0038]可选地,日志压缩模块具体用于执行:
[0039]若上述文件大小大于预设阈值,则确定上述预设日志文件中事务的属性信息;
[0040]根据上述属性信息,则对上述预设日志文件进行压缩,得到压缩后日志文件。
[0041]可选地,日志压缩模块具体用于执行:
[0042]建立上述预设日志文件的文件副本;
[0043]从上述预设日志文件中事务筛选出不满足预设条件的属性信息对应的事务,得到待写入事务;
[0044]将上述待写入事务存储至缓存中;
[0045]从上述缓存中获取上述待写入事务,并将上述待写入事务存储至上述文件副本中;
[0046]将上述文件副本作为上述预设日志文件。
[0047]可选地,恢复执行模块还用于执行:
[0048]若上述数据恢复操作执行失败,则通过上述事务管理服务将上述待执行事务存储
至异常日志文件中;
[0049]接收恢复指令,根据上述恢复指令和上述异常日志文件,通过上述事务管理服务对执行成功的目标数据库执行数据恢复操作。
[0050]可选地,操作执行模块具体用于执行:
[0051]基于上述事务管理服务,对上述更新语句进行解析,得到上述更新语句对应的关键词;
[0052]对上述关键词进行组合,得到上述更新语句对应的目标更新语句;
[0053]通过上述目标数据库与上述事务管理服务之间的事务连接,基于上述事务管理服务对上述目标数据库执行上述目标更新语句对应的操作,得到上述更新语句的执行结果。
[0054]此外,本申请实施例还提供一种电子设备,包括处理器和存储器,上述存储器存储有计算机程序,上述处理器用于运行上述存储器内的计算机程序实现本申请实施例提供的事务执行方法。
[0055]此外,本申请实施例还提供一种计算机可读存储介质,上述计算机可读存储介质存储有计算机程序,上述计算机程序适于处理器进行加载,以执行本申请实施例所提供的任一种事务执行方法。
[0056]此外,本申请实施例还提供一种计算机程序产品,包括计算机程序,上述计算机程序被处理器执行时实现本申请实施例所提供的任一种事务执行方法。
[0057]在本申请实施例中,获取目标业务的待执行事务,待执行事务包括针对目标业务的不同目标数据库的更新语句;获取部署于电子设备中的事务管理服务,以及获取目标数据库与事务本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种事务执行方法,其特征在于,包括:获取目标业务的待执行事务,所述待执行事务包括针对所述目标业务的不同目标数据库的更新语句;获取部署于电子设备中的事务管理服务,以及获取所述目标数据库与所述事务管理服务之间的事务连接;通过所述目标数据库与所述事务管理服务之间的事务连接,基于所述事务管理服务,对所述目标数据库执行所述更新语句对应的操作,得到所述更新语句的执行结果;若所述更新语句的执行结果中存在执行失败的执行结果,则通过所述事务管理服务对执行成功的目标数据库执行数据恢复操作。2.根据权利要求1所述的事务执行方法,其特征在于,所述获取所述目标数据库与所述事务管理服务之间的事务连接,包括:获取所述事务管理服务的配置文件;获取所述目标数据库的连接地址,并将所述连接地址中存储至所述配置文件中;根据所述配置文件,将所述目标数据库与所述事务管理服务建立事务连接。3.根据权利要求1所述的事务执行方法,其特征在于,在所述若所述更新语句的执行结果中存在执行失败的执行结果,则通过所述事务管理服务对执行成功的目标数据库执行数据恢复操作之前,还包括:通过所述事务管理服务,将所述待执行事务存储至预设日志文件中;所述若所述更新语句的执行结果中存在执行失败的执行结果,则通过所述事务管理服务对执行成功的目标数据库执行数据恢复操作,包括:若所述更新语句的执行结果中存在执行失败的执行结果,则通过所述事务管理服务从所述预设日志文件中获取所述待执行事务;通过所述事务管理服务确定所述待执行事务对应的恢复操作,并根据所述恢复操作,对执行成功的目标数据库执行数据恢复操作。4.根据权利要求3所述的事务执行方法,其特征在于,所述通过所述事务管理服务确定所述待执行事务对应的恢复操作,包括:通过所述事务管理服务确定所述待执行事务中操作类型对应的反操作类型;根据所述反操作类型,确定所述待执行事务对应的恢复操作。5.根据权利要求3所述的事务执行方法,其特征在于,所述将所述待执行事务存储至预设日志文件中,包括:获取所述预设日志文件的文件锁;根据所述文件锁,将所述待执行事务存储至预设日志文件中。6.根据权利要求3所述的事务执行方法,其特征在于,所述将所述待执行事务存储至预设日志文件中,包括:在所述预设日志文件中添加所述待执行事务的起始标识;根据所述起始标识,将所述待执行事务存储至预设日志文件中。7.根据权利要求3所述的事务执行方法,其特征在于,在所述将所述待执行事务存储至预设日志文件中之前,还包括:获取所述预设日志文件的文件大小;
若所述文件大小大于预设阈值,则对所述预设日志文件进行压缩,得到压缩后日志文件;将所述压缩后日志文件作为所述预设日志文件。8.根据权利要求7所述的事务执行方法,其特征在于,所述若所述文件大小大于预设阈值,则对所述预设日志文件进行压缩,得到压缩后日志文件,包括:若所述文件大小大于预设阈值,则确定所述预设日志文件中事务...

【专利技术属性】
技术研发人员:张佳亮
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:

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

1