一种数据库事务处理方法、装置、电子设备及存储介质制造方法及图纸

技术编号:36262623 阅读:11 留言:0更新日期:2023-01-07 10:01
本申请提供一种数据库事务处理方法、装置、电子设备及存储介质,该方法包括:获取参与目标数据库事务处理的若干个数据库的操作执行结果;当任一数据库的操作执行结果为失败时,检测失败操作的接口优先级和已完成操作的接口优先级;当失败操作的接口优先级低于各已完成操作的接口优先级时,重新执行该失败操作,此时不对任一已完成操作对应的数据库进行数据回滚;当目标数据库事务包含的所有操作均完成时,确定目标数据库事务已完成处理,得到目标数据库事务的处理结果。通过在失败操作对目标数据库事务的整体影响较小时,不对已完成操作对应的数据库进行数据回滚,也就不需要重复执行这些已完成操作,从而保证了目标数据库事务的处理效率。事务的处理效率。事务的处理效率。

【技术实现步骤摘要】
一种数据库事务处理方法、装置、电子设备及存储介质


[0001]本申请涉及数据库
,尤其涉及一种数据库事务处理方法、装置、电子设备及存储介质。

技术介绍

[0002]目前,随着互联网技术的发展,用户对数据库服务的要求越来越高,所以常常会出现一个数据库服务需要多个数据库联合作业实现的情况,导致数据库事务的处理越来越复杂。
[0003]在现有技术中,在一个数据库事务需要多个数据库联合作业实现的情况下,当任一数据库的数据库操作执行失败,将对所有相关数据库进行数据回滚,并重新执行该数据库事务。
[0004]但是,在相关数据库较多,数据库事务包含的数据库操作也较多的情况下,若基于现有技术处理数据库事务,可能导致大量的相关数据库均进行多次数据回滚,不利于保证数据库事务的处理效率。

技术实现思路

[0005]本申请提供一种数据库事务处理方法、装置、电子设备及存储介质,以解决现有技术不利于保证数据库事务的处理效率等缺陷。
[0006]本申请第一个方面提供一种数据库事务处理方法,包括:
[0007]获取参与目标数据库事务处理的若干个数据库的操作执行结果;
[0008]当任一所述数据库的操作执行结果为失败时,检测失败操作的接口优先级和已完成操作的接口优先级;其中,所述接口优先级表征事务操作对所述目标数据库事务的影响程度;
[0009]当所述失败操作的接口优先级低于各所述已完成操作的接口优先级时,重新执行该失败操作,此时不对任一所述已完成操作对应的数据库进行数据回滚;r/>[0010]当所述目标数据库事务包含的所有操作均完成时,确定所述目标数据库事务已完成处理,得到所述目标数据库事务的处理结果。
[0011]可选的,还包括:
[0012]当所述失败操作的接口优先级高于任一所述已完成操作的接口优先级时,对该已完成操作所对应的数据库进行数据回滚;
[0013]重复执行该已完成操作和失败操作。
[0014]可选的,还包括:
[0015]判断所述失败操作的接口优先级是否高于所有未执行操作的接口优先级;
[0016]当所述失败操作的接口优先级高于所有未执行操作的接口优先级时,暂停所有所述未执行操作,直到所述失败操作完成重复执行。
[0017]可选的,还包括:
[0018]当所述失败操作的接口优先级低于任一所述未执行操作的接口优先级时,正常执行该未执行操作。
[0019]可选的,在获取参与目标数据库事务处理的若干个数据库的操作执行结果之前,所述方法还包括:
[0020]获取用户的服务请求;
[0021]根据所述服务请求,确定所述用户的目标数据库事务,与参与目标数据库事务处理的若干个数据库建立接口连接;
[0022]根据所述目标数据库事务包括的操作内容,调用所述若干个数据库的服务接口,以基于所述服务接口,在所述若干个数据库执行相应的事务操作。
[0023]可选的,所述检测失败操作的接口优先级和已完成操作的接口优先级,包括:
[0024]获取所述失败操作对应的服务接口调用结果和所述已完成操作对应的服务接口调用结果;
[0025]根据所述失败操作对应的服务接口调用结果和所述已完成操作对应的服务接口调用结果,确定所述检测失败操作的接口优先级和已完成操作的接口优先级。
[0026]可选的,所述与参与目标数据库事务处理的若干个数据库建立接口连接,包括:
[0027]获取所述参与目标数据库事务处理的若干个数据库的连接信息;其中,所述连接信息至少包括数据库名称、数据库IP和数据库端口;
[0028]根据所述连接信息,与所述若干个数据库建立接口连接。
[0029]本申请第二个方面提供一种数据库事务处理装置,包括:
[0030]获取模块,用于获取参与目标数据库事务处理的若干个数据库的操作执行结果;
[0031]检测模块,用于当任一所述数据库的操作执行结果为失败时,检测失败操作的接口优先级和已完成操作的接口优先级;其中,所述接口优先级表征事务操作对所述目标数据库事务的影响程度;
[0032]处理模块,用于当所述失败操作的接口优先级低于各所述已完成操作的接口优先级时,重新执行该失败操作,此时不对任一所述已完成操作对应的数据库进行数据回滚;
[0033]确定模块,用于当所述目标数据库事务包含的所有操作均完成时,确定所述目标数据库事务已完成处理,得到所述目标数据库事务的处理结果。
[0034]可选的,所述处理模块,还用于:
[0035]当所述失败操作的接口优先级高于任一所述已完成操作的接口优先级时,对该已完成操作所对应的数据库进行数据回滚;
[0036]重复执行该已完成操作和失败操作。
[0037]可选的,所述处理模块,还用于:
[0038]判断所述失败操作的接口优先级是否高于所有未执行操作的接口优先级;
[0039]当所述失败操作的接口优先级高于所有未执行操作的接口优先级时,暂停所有所述未执行操作,直到所述失败操作完成重复执行。
[0040]可选的,所述处理模块,还用于:
[0041]当所述失败操作的接口优先级低于任一所述未执行操作的接口优先级时,正常执行该未执行操作。
[0042]可选的,所述获取模块,还用于:
[0043]获取用户的服务请求;
[0044]根据所述服务请求,确定所述用户的目标数据库事务,与参与目标数据库事务处理的若干个数据库建立接口连接;
[0045]根据所述目标数据库事务包括的操作内容,调用所述若干个数据库的服务接口,以基于所述服务接口,在所述若干个数据库执行相应的事务操作。
[0046]可选的,所述检测模块,具体用于:
[0047]获取所述失败操作对应的服务接口调用结果和所述已完成操作对应的服务接口调用结果;
[0048]根据所述失败操作对应的服务接口调用结果和所述已完成操作对应的服务接口调用结果,确定所述检测失败操作的接口优先级和已完成操作的接口优先级。
[0049]可选的,所述获取模块,具体用于:
[0050]获取所述参与目标数据库事务处理的若干个数据库的连接信息;其中,所述连接信息至少包括数据库名称、数据库IP和数据库端口;
[0051]根据所述连接信息,与所述若干个数据库建立接口连接。
[0052]本申请第三个方面提供一种电子设备,包括:至少一个处理器和存储器;
[0053]所述存储器存储计算机执行指令;
[0054]所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如上第一个方面以及第一个方面各种可能的设计所述的方法。
[0055]本申请第四个方面提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上第一个方面以及第一个方面各种可能的设计所述的方法。
本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种数据库事务处理方法,其特征在于,包括:获取参与目标数据库事务处理的若干个数据库的操作执行结果;当任一所述数据库的操作执行结果为失败时,检测失败操作的接口优先级和已完成操作的接口优先级;其中,所述接口优先级表征事务操作对所述目标数据库事务的影响程度;当所述失败操作的接口优先级低于各所述已完成操作的接口优先级时,重新执行该失败操作,此时不对任一所述已完成操作对应的数据库进行数据回滚;当所述目标数据库事务包含的所有操作均完成时,确定所述目标数据库事务已完成处理,得到所述目标数据库事务的处理结果。2.根据权利要求1所述的方法,其特征在于,还包括:当所述失败操作的接口优先级高于任一所述已完成操作的接口优先级时,对该已完成操作所对应的数据库进行数据回滚;重复执行该已完成操作和失败操作。3.根据权利要求2所述的方法,其特征在于,还包括:判断所述失败操作的接口优先级是否高于所有未执行操作的接口优先级;当所述失败操作的接口优先级高于所有未执行操作的接口优先级时,暂停所有所述未执行操作,直到所述失败操作完成重复执行。4.根据权利要求3所述的方法,其特征在于,还包括:当所述失败操作的接口优先级低于任一所述未执行操作的接口优先级时,正常执行该未执行操作。5.根据权利要求1所述的方法,其特征在于,在获取参与目标数据库事务处理的若干个数据库的操作执行结果之前,所述方法还包括:获取用户的服务请求;根据所述服务请求,确定所述用户的目标数据库事务,与参与目标数据库事务处理的若干个数据库建立接口连接;根据所述目标数据库事务包括的操作内容,调用所述若干个数据库的服务接口,以基于所述服务接口,在所述若干个数据库执行相应的事务操作。6.根据权利要求5所述的方法,其特征在于,所述检测失败操作...

【专利技术属性】
技术研发人员:袁江
申请(专利权)人:北京力控元通科技有限公司
类型:发明
国别省市:

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

1