一种基于两阶段提交机制的交易方法、装置、设备及介质制造方法及图纸

技术编号:38741219 阅读:12 留言:0更新日期:2023-09-08 23:25
本申请实施例公开了一种基于两阶段提交机制的交易方法、装置、设备及介质。向当前交易参与方发送交易预执行请求;其中,交易预执行请求中包括有交易标识;接收交易参与方发送的交易预执行结果;在预设超时时限内未接受到全部交易参与方的交易在执行结果的情况下,基于交易标识重新对交易参与方发送交易预执行请求;通过交易标识与交易参与方对应的交易执行记录,获取交易执行结果;在交易预执行结果为成功的情况下,向交易参与方发送交易正式执行请求,并在接收到交易参与方发送的交易成功信息后,确定当前交易完成。通过上述方法解决由于网络原因各交易参与方难以一致提交或回滚的问题。的问题。的问题。

【技术实现步骤摘要】
一种基于两阶段提交机制的交易方法、装置、设备及介质


[0001]本申请涉及分布式交易
,尤其涉及一种基于两阶段提交机制的交易方法、装置、设备及介质。

技术介绍

[0002]在分布式架构下,交易服务往往涉及到多个参与者,这些参与者分布在不同的应用,相互之间提交或回滚难以统一协调,从而很难保证交易服务可靠进行。
[0003]现有技术中,通常使用两阶段提交机制可以一定程度上解决交易服务的可靠性问题。两阶段提交机制是将对数据的写入分解为两个阶段,每个阶段结束都有一个完成的验证。
[0004]但两阶段提交机制难以完全杜绝因断网、长时间阻塞等异常情况,造成的各参与者难以一致提交或回滚的问题。

技术实现思路

[0005]本申请实施例提供了一种一种基于两阶段提交机制的交易方法、装置、设备及介质,用于解决如下技术问题:两阶段提交机制难以完全杜绝因断网、长时间阻塞等异常情况,造成的各参与者难以一致提交或回滚的问题。
[0006]本申请实施例采用下述技术方案:
[0007]本申请实施例提供一种基于两阶段提交机制的交易方法。包括,向当前交易参与方发送交易预执行请求;其中,交易预执行请求中包括有交易标识;接收交易参与方发送的交易预执行结果;在预设超时时限内未接受到全部交易参与方的交易执行结果的情况下,基于交易标识重新对交易参与方发送交易预执行请求;通过交易标识与交易参与方对应的交易执行记录,获取交易执行结果;在交易预执行结果为成功的情况下,向交易参与方发送交易正式执行请求,并在接收到交易参与方发送的交易成功信息后,确定当前交易完成。
[0008]本申请实施例通过为交易服务分配唯一的唯一标识,确保在断网或长时间阻塞时,可以由协调者发起询问,重新根据唯一标识在参与方获取交易的最新状态。解决了两阶段提交机制无法避免因为网络和阻塞原因造成交易提交或回滚不一致的问题。本申请实施例使用唯一标识作为交易的唯一标识,并在每个参与者中记录交易的状态,各个交易参与方能够根据唯一标识查询本次交易执行的状态,从而在网络异常的情况下,能够对交易状态进行再次查询,以确保将交易状态进行成功传输。
[0009]在本申请的一种实现方式中,向当前交易参与方发送交易预执行请求之前,方法还包括:生成当前交易对应的交易标识;锁定交易资源;基于交易资源进行交易预执行,并对交易预执行进行日志记录;在交易预执行成功的情况下,想当前交易参与方发送交易预执行请求,否则结束当前交易。
[0010]在本申请的一种实现方式中,向当前交易参与方发送交易预执行请求之后,方法还包括:通过交易参与方对交易标识,以及交易标识对应的参数进行记录;通过交易参与方
生成当前交易对应的交易标识;通过交易参与方锁定交易资源;通过交易参与方基于交易资源进行交易预执行,并对交易预执行进行日志记录;其中,交易预执行中对交易资源进行不释放处理。
[0011]在本申请的一种实现方式中,向交易参与方发送交易正式执行请求之后,方法还包括:通过交易参与方对交易资源进行释放处理,并对交易资源释放过程进行日志记录;在交易参与方交易释放失败的情况下,通过交易参与方发送交易失败反馈;基于交易失败反馈,获取到交易失败的交易参与方信息,并向交易失败的交易参与方发送交易回滚请求,以使交易失败的交易参与方进行交易回滚,以释放资源。
[0012]在本申请的一种实现方式中,通过交易标识与交易参与方对应的交易执行记录,获取交易执行结果,具体包括:通过交易标识,在交易参与方对应的交易执行记录中确定出相应的交易信息;对交易信息进行结果查询,以确定出交易执行结果。
[0013]在本申请的一种实现方式中,预设超时时限内未接受到全部交易参与方的交易执行结果的情况,具体包括:当前网络异常,且任一交易参与方所对应的交易预执行结果已生成的情况;或者当前网络阻塞,且任一交易参与方所对应的交易预执行结果已生成的情况下,预设超时时限内未接受到全部交易参与方的交易在执行结果。
[0014]在本申请的一种实现方式中,获取交易执行结果之后,方法还包括:在执行结果存在一个或多个为交易失败的情况下,向所有参与方发送回滚通知;通过各参与方进行回滚资源释放,并对回滚过程进行记录;接收各参与方分别发送的交易失败通知,以结束当前交易。
[0015]本申请实施例提供一种基于两阶段提交机制的交易装置,包括:交易预执行请求发送单元,向当前交易参与方发送交易预执行请求;其中,交易预执行请求中包括有交易标识;执行结果接收单元,接收交易参与方发送的交易预执行结果;交易预执行请求重新发送单元,在预设超时时限内未接受到全部交易参与方的交易执行结果的情况下,基于交易标识重新对交易参与方发送交易预执行请求;执行结果获取单元,通过交易标识与交易参与方对应的交易执行记录,获取交易执行结果;交易完成确定单元,在交易预执行结果为成功的情况下,向交易参与方发送交易正式执行请求,并在接收到交易参与方发送的交易成功信息后,确定当前交易完成。
[0016]本申请实施例提供一种基于两阶段提交机制的交易设备,包括:至少一个处理器;以及,与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够:交易预执行请求发送单元,向当前交易参与方发送交易预执行请求;其中,交易预执行请求中包括有交易标识;执行结果接收单元,接收交易参与方发送的交易预执行结果;交易预执行请求重新发送单元,在预设超时时限内未接受到全部交易参与方的交易执行结果的情况下,基于交易标识重新对交易参与方发送交易预执行请求;执行结果获取单元,通过交易标识与交易参与方对应的交易执行记录,获取交易执行结果;交易完成确定单元,在交易预执行结果为成功的情况下,向交易参与方发送交易正式执行请求,并在接收到交易参与方发送的交易成功信息后,确定当前交易完成。
[0017]本申请实施例提供的一种非易失性计算机存储介质,存储有计算机可执行指令,计算机可执行指令设置为:交易预执行请求发送单元,向当前交易参与方发送交易预执行
请求;其中,交易预执行请求中包括有交易标识;执行结果接收单元,接收交易参与方发送的交易预执行结果;交易预执行请求重新发送单元,在预设超时时限内未接受到全部交易参与方的交易执行结果的情况下,基于交易标识重新对交易参与方发送交易预执行请求;执行结果获取单元,通过交易标识与交易参与方对应的交易执行记录,获取交易执行结果;交易完成确定单元,在交易预执行结果为成功的情况下,向交易参与方发送交易正式执行请求,并在接收到交易参与方发送的交易成功信息后,确定当前交易完成。
[0018]本申请实施例采用的上述至少一个技术方案能够达到以下有益效果:本申请实施例通过为交易服务分配唯一的唯一标识,确保在断网或长时间阻塞时,可以由协调者发起询问,重新根据唯一标识在参与方获取交易的最新状态。解决了两阶段提交机制无法避免因为网络和阻塞原因造成交易提交或回滚不一致的问题。本申请实施例使用唯一标识作为交易的唯一标识,并本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于两阶段提交机制的交易方法,其特征在于,所述方法包括:向当前交易参与方发送交易预执行请求;其中,所述交易预执行请求中包括有交易标识;接收所述交易参与方发送的交易预执行结果;在预设超时时限内未接受到全部交易参与方的交易执行结果的情况下,基于所述交易标识重新对所述交易参与方发送交易预执行请求;通过所述交易标识与所述交易参与方对应的交易执行记录,获取所述交易执行结果;在所述交易预执行结果为成功的情况下,向所述交易参与方发送交易正式执行请求,并在接收到所述交易参与方发送的交易成功信息后,确定当前交易完成。2.根据权利要求1所述的一种基于两阶段提交机制的交易方法,其特征在于,所述向当前交易参与方发送交易预执行请求之前,所述方法还包括:生成当前交易对应的交易标识;锁定交易资源;基于所述交易资源进行交易预执行,并对所述交易预执行进行日志记录;在所述交易预执行成功的情况下,向所述当前交易参与方发送交易预执行请求,否则结束当前交易。3.根据权利要求1所述的一种基于两阶段提交机制的交易方法,其特征在于,所述向当前交易参与方发送交易预执行请求之后,所述方法还包括:通过所述交易参与方对所述交易标识,以及所述交易标识对应的参数进行记录;通过所述交易参与方记录当前前交易对应的交易标识;通过所述交易参与方锁定交易资源;通过所述交易参与方基于所述交易资源进行交易预执行,并对所述交易预执行进行日志记录;其中,所述交易预执行中对所述交易资源进行不释放处理。4.根据权利要求1所述的一种基于两阶段提交机制的交易方法,其特征在于,所述向所述交易参与方发送交易正式执行请求之后,所述方法还包括:通过所述交易参与方对所述交易资源进行释放处理,并对交易资源释放过程进行日志记录;在所述交易参与方交易释放失败的情况下,通过所述交易参与方发送交易失败反馈;基于所述交易失败反馈,获取到交易失败的交易参与方信息,并向所述交易失败的交易参与方发送交易回滚请求,以使所述交易失败的交易参与方进行交易回滚,以释放资源。5.根据权利要求1所述的一种基于两阶段提交机制的交易方法,其特征在于,所述通过所述交易标识与所述交易参与方对应的交易执行记录,获取所述交易执行结果,具体包括:通过所述交易标识,在所述交易参与方对应的交易执行记录中确定出相应的交易信息;对所述交易信息进行结果查询,以确定出所述交易执行结果。6.根据权利要求1所述的一种基于两阶段提交机制的交易方法,其特征在于,所述预设超时时限内未接受到全部交易参与方的交易在执行结果的情况,具体包括:当前网络异常,且任一交易参与方所对应的交易预执行结果已生成的情况下,所述预设超时时限内未接受到全部交易参与方的交易执行结果;或者

【专利技术属性】
技术研发人员:张春德盛建鲁魏文凤贾立娟张健
申请(专利权)人:浪潮智慧科技有限公司
类型:发明
国别省市:

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

1