System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及数据处理,尤其涉及一种分布式事务的处理方法、系统、设备及可读存储介质。
技术介绍
1、saga模式分布式事务有多个参与方,多个参与方按照事务处理顺序处理分布式事务,当一个参与方处理本地事务成功后,发送实时消息以通知用户本地事务的处理成功,如果在该参与方后面处理分布式事务的其他参与方处理本地事务失败,将导致整个分布式事务回退,因此,造成了实时消息和实际交易状态不一致的情况,影响客户体验。
技术实现思路
1、本申请提供了一种分布式事务的处理方法、系统、设备及可读存储介质,如下:
2、一种分布式事务的处理方法,应用于分布式事务的处理系统,所述分布式事务的处理系统包括多个服务子系统,目标服务子系统为任一所述服务子系统,所述分布式事务的处理方法包括:
3、所述目标服务子系统获取分布式事务的交易信息和交易深度,所述交易深度指示所述分布式事务的调用层级;
4、所述目标服务子系统基于所述交易信息执行所述分布式事务,得到所述分布式事务的执行结果,作为目标执行结果,所述执行结果包括成功或失败;
5、所述目标服务子系统基于所述目标执行结果生成所述分布式事务的消息要素,作为目标消息要素;
6、所述目标服务子系统基于所述目标服务子系统的交易深度判断所述目标服务子系统是否为所述分布式事务的发起方;
7、若所述目标服务子系统不是所述分布式事务的发起方,所述目标服务子系统发送所述目标服务子系统的事务处理结果至上游服务子系统,所述事务
8、若所述目标服务子系统是所述分布式事务的发起方,所述目标服务子系统基于下游服务子系统的事务处理结果和所述目标事务处理结果,判断所述分布式事务的最终处理结果是否为成功,若所述分布式事务的最终处理结果为成功,则基于所述下游服务子系统的事务处理结果和所述目标事务处理结果,发送消息。
9、可选地,目标服务子系统获取分布式事务的交易信息和交易深度,包括:
10、响应于接收到所述分布式事务的发起指令,所述目标服务子系统生成所述分布式事务的交易信息,并将所述目标服务子系统的交易深度置为1;
11、或者,所述目标服务子系统接收所述上游服务子系统发送的分布式事务的交易信息和交易深度,将所述目标服务子系统的交易深度置为所述上游服务子系统的交易深度加1。
12、可选地,目标服务子系统基于所述交易信息执行所述分布式事务,得到所述分布式事务的执行结果之后,还包括:
13、所述目标服务子系统将所述分布式事务的交易信息和交易深度发送至所述下游服务子系统。
14、可选地,目标服务子系统基于所述目标服务子系统的交易深度判断所述目标服务子系统是否为所述分布式事务的发起方,包括:
15、所述目标服务子系统判断所述目标服务子系统的交易深度是否为1;
16、若是,则确定所述目标服务子系统为所述分布式事务的发起方;
17、若否,则确定所述目标服务子系统不是所述分布式事务的发起方。
18、可选地,事务处理结果还包括下游事务处理结果,所述下游事务处理结果包括对应的下游执行结果和下游消息要素;
19、所述下游执行结果为:所述下游服务子系统基于所述交易信息执行所述分布式事务,得到的分布式事务的执行结果,
20、所述下游消息要素为:所述下游服务子系统基于所述分布式事务的执行结果生成的消息要素。
21、可选地,目标服务子系统基于下游服务子系统的事务处理结果和所述目标事务处理结果,判断所述分布式事务的最终处理结果是否为成功包括:
22、若满足预设的成功条件,所述目标服务子系统确定所述分布式事务的最终处理结果为成功,所述包括所有所述下游执行结果均为成功、且所述目标执行结果为成功;
23、若不满足所述成功条件,所述目标服务子系统确定所述分布式事务的最终处理结果为失败。
24、可选地,目标服务子系统基于所述下游服务子系统的事务处理结果和所述目标事务处理结果,发送消息,包括:
25、目标服务子系统基于所述下游消息要素,生成并发送下游消息;
26、目标服务子系统基于所述目标消息要素,生成并发送目标消息。
27、一种分布式事务的处理系统,包括多个服务子系统,目标服务子系统为任一所述服务子系统,所述目标服务子系统包括:
28、事务信息获取单元,用于用于获取分布式事务的交易信息和交易深度,所述交易深度指示所述分布式事务的调用层级;
29、事务执行单元,用于基于所述交易信息执行所述分布式事务,得到所述分布式事务的执行结果,作为目标执行结果,所述执行结果包括成功或失败;
30、消息生成单元,用于基于所述目标执行结果生成所述分布式事务的消息要素,作为目标消息要素;
31、系统身份确定单元,用于基于所述目标服务子系统的交易深度判断所述目标服务子系统是否为所述分布式事务的发起方;
32、处理结果上送单元,用于若所述目标服务子系统不是所述分布式事务的发起方,发送所述目标服务子系统的事务处理结果至上游服务子系统,所述事务处理结果包括目标事务处理结果,所述目标事务处理结果包括对应的所述目标执行结果和目标消息要素;
33、执行结果确定单元,用于若所述目标服务子系统是所述分布式事务的发起方,基于下游服务子系统的事务处理结果和所述目标事务处理结果,判断所述分布式事务的最终处理结果是否为成功;
34、消息发送单元,用于若所述分布式事务的最终处理结果为成功,则基于所述下游服务子系统的事务处理结果和所述目标事务处理结果,发送消息。
35、一种分布式事务的处理设备,包括:存储器和处理器;
36、所述存储器,用于存储程序;
37、所述处理器,用于执行所述程序,实现分布式事务的处理方法的各个步骤。
38、一种可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现分布式事务的处理方法的各个步骤。
39、由上述技术方案可以看出,本申请实施例提供的分布式事务的处理方法、系统、设备及可读存储介质,应用于分布式事务的处理系统,分布式事务的处理系统包括多个服务子系统,目标服务子系统为任一服务子系统,目标服务子系统获取分布式事务的交易信息和交易深度,目标服务子系统基于交易信息执行分布式事务,得到分布式事务的执行结果,作为目标执行结果,目标服务子系统基于目标执行结果生成分布式事务的消息要素,作为目标消息要素。由于交易深度指示分布式事务的调用层级,因此,目标服务子系统基于目标服务子系统的交易深度判断目标服务子系统是否为分布式事务的发起方,若目标服务子系统不是分布式事务的发起方,目标服务子系统发送目标服务子系统的事务处理结果至上游服务子系统,事务处理结果包括目标事务处理结本文档来自技高网...
【技术保护点】
1.一种分布式事务的处理方法,其特征在于,应用于分布式事务的处理系统,所述分布式事务的处理系统包括多个服务子系统,目标服务子系统为任一所述服务子系统,所述分布式事务的处理方法包括:
2.根据权利要求1所述的分布式事务的处理方法,其特征在于,所述目标服务子系统获取分布式事务的交易信息和交易深度,包括:
3.根据权利要求2所述的分布式事务的处理方法,其特征在于,所述目标服务子系统基于所述交易信息执行所述分布式事务,得到所述分布式事务的执行结果之后,还包括:
4.根据权利要求3所述的分布式事务的处理方法,其特征在于,所述目标服务子系统基于所述目标服务子系统的交易深度判断所述目标服务子系统是否为所述分布式事务的发起方,包括:
5.根据权利要求4所述的分布式事务的处理方法,其特征在于,所述事务处理结果还包括下游事务处理结果,所述下游事务处理结果包括对应的下游执行结果和下游消息要素;
6.根据权利要求5所述的分布式事务的处理方法,其特征在于,所述目标服务子系统基于下游服务子系统的事务处理结果和所述目标事务处理结果,判断所述分布式事务
7.根据权利要求6所述的分布式事务的处理方法,其特征在于,所述目标服务子系统基于所述下游服务子系统的事务处理结果和所述目标事务处理结果,发送消息,包括:
8.一种分布式事务的处理系统,其特征在于,包括多个服务子系统,目标服务子系统为任一所述服务子系统,所述目标服务子系统包括:
9.一种分布式事务的处理设备,其特征在于,包括:存储器和处理器;
10.一种可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,实现如权利要求1~7中任一项所述的分布式事务的处理方法的各个步骤。
...【技术特征摘要】
1.一种分布式事务的处理方法,其特征在于,应用于分布式事务的处理系统,所述分布式事务的处理系统包括多个服务子系统,目标服务子系统为任一所述服务子系统,所述分布式事务的处理方法包括:
2.根据权利要求1所述的分布式事务的处理方法,其特征在于,所述目标服务子系统获取分布式事务的交易信息和交易深度,包括:
3.根据权利要求2所述的分布式事务的处理方法,其特征在于,所述目标服务子系统基于所述交易信息执行所述分布式事务,得到所述分布式事务的执行结果之后,还包括:
4.根据权利要求3所述的分布式事务的处理方法,其特征在于,所述目标服务子系统基于所述目标服务子系统的交易深度判断所述目标服务子系统是否为所述分布式事务的发起方,包括:
5.根据权利要求4所述的分布式事务的处理方法,其特征在于,所述事务处理结果还包括下游事务处理结果,所述下游事务处...
【专利技术属性】
技术研发人员:李伏,
申请(专利权)人:中国农业银行股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。