跨系统分布式事务处理方法和分布式事务处理的系统与流程

文档序号:17925007发布日期:2019-06-15 00:21阅读:590来源:国知局
跨系统分布式事务处理方法和分布式事务处理的系统与流程

本发明涉及分布式事务处理技术领域,尤其涉及一种跨系统分布式事务处理方法和分布式事务处理的系统,以及计算机设备和计算机可读存储介质。



背景技术:

跨系统分布式事务处理是为了解决应用拆分带来的跨系统业务操作原子性的问题,例如:商城系统涉及营销系统、积分支付系统和收银台系统等,在购买商品时,会同时使用到券、积分、电子账户的支付,因此需要通过跨系统分布式事务处理,确保用户的一个购买动作涉及到的多个支付过程都在一个事务中执行。

在跨系统分布式事务处理方法中,通常会采用tcc的方案,其中,tcc包括了三个动作,分别是try(尝试操作)、confirm(确认操作)、cancel(回滚操作),现有技术的跨系统分布式事务处理方案会存在一个事务协调器,来控制整个tcc的过程,所有涉及分布式事务的接口都会依赖这个事务协调器,一旦事务协调器出现问题,会导致整个业务异常,存在中心化单点现象。

因此,提供一种跨系统分布式事务处理方法和分布式事务处理的系统,以避免上述中心化单点现象,是本领域需要解决的技术问题。



技术实现要素:

本发明的目的是提供一种跨系统分布式事务处理方法和分布式事务处理的系统,以及计算机设备和计算机可读存储介质,用于解决现有技术存在的上述问题。

为了实现上述目的,本发明提供了一种跨系统分布式事务处理方法。

该跨系统分布式事务处理方法包括:主系统开启分布式事务,其中,分布式事务包括若干子事务,每个子事务由一个分系统处理;主系统向分系统发送尝试执行事务的尝试请求;分系统响应于尝试请求,执行尝试操作;分系统将尝试操作的执行结果反馈至主系统;主系统根据接收到的执行结果向消息服务系统发送消息,其中,当主系统收到的执行结果均为成功时,向消息服务系统发送确定执行事务的确认消息,当主系统接收到任一执行结果为失败时,向消息服务系统发送回滚执行事务的回滚消息;消息服务系统发布接收到的消息;分系统监听消息服务系统发布的消息,当监听到确认消息时,执行确认操作,当监听到回滚消息时,执行回滚操作。

为了实现上述目的,本发明提供了一种分布式事务处理的系统。

该分布式事务处理的系统包括主系统、分系统和消息服务系统,其中,主系统用于开启分布式事务,向分系统发送尝试执行事务的尝试请求,其中,分布式事务包括若干子事务,每个子事务由一个分系统处理;分系统用于响应于尝试请求,执行尝试操作,并将尝试操作的执行结果反馈至主系统;主系统还用于根据接收到的执行结果向消息服务系统发送消息,其中,当主系统收到的执行结果均为成功时,向消息服务系统发送确定执行事务的确认消息,当主系统接收到任一执行结果为失败时,向消息服务系统发送回滚执行事务的回滚消息;消息服务系统用于发布接收到的消息;分系统还用于监听消息服务系统发布的消息,当监听到确认消息时,执行确认操作,当监听到回滚消息时,执行回滚操作。

为了实现上述目的,本发明提供了一种计算机设备。

该计算机设备包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时实现本发明提供的任意一种跨系统分布式事务处理方法的步骤。

为了实现上述目的,本发明提供了一种计算机可读存储介质。

该计算机可读存储介质,其上存储有计算机程序,程序被处理器执行时实现本发明提供的任意一种跨系统分布式事务处理方法的步骤。

与现有技术相比,采用本发明提供的跨系统分布式事务处理方法和分布式事务处理的系统、计算机设备及存储介质,至少实现以下技术效果:

通过消息服务系统发布确认消息,分系统通过监听消息服务系统发布的确认消息来统一处理分布式事务各个子事务,在任一分系统执行尝试操作的执行结果为失败时,通过消息服务系统发布回滚消息,分系统通过监听消息服务系统发布的确认回滚消息统一回滚,整体保证不同分系统间对分布式事务的一致性,并且,消息服务系统仅进行消息发布,相比事务协调器,在跨系统分布式事务处理中更加稳定和可靠,避免使用事务协调器而出现中心化单点的问题。

附图说明

图1为本发明实施例一提供的跨系统分布式事务处理方法的步骤流程图;

图2为本发明实施例一提供的跨系统分布式事务处理方法的流程示意图;

图3为本发明实施例二提供的跨系统分布式事务处理方法的步骤流程图;

图4为本发明实施例三提供的跨系统分布式事务处理方法的步骤流程图;

图5为本发明实施例六提供的分布式事务处理系统的框图;

图6为本发明实施例七提供的计算机设备的示意图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

实施例一

本发明实施例一提供了一种跨系统分布式事务处理方法,该处理方法涉及主系统、消息服务系统和若干分系统之间的交互,由主系统和若干分系统完成事务本身的执行,消息服务系统用于将主系统的消息广播给各分系统,各分系统进行消息的监听。

具体地,主系统为分布式事务开启的入口,各分系统执行分布式事务中的子事务,消息服务系统负责发布主系统发送的确认消息和回滚消息,各分系统监听消息服务系统发布的消息,根据监听到的消息执行相应的动作。例如,主系统为商城服务系统,分系统涉及订单服务系统、库存服务系统等,商城服务系统发生一次交易,需要订单服务系统增加订单,库存服务系统减少库存。

图1为本发明实施例一提供的跨系统分布式事务处理方法的步骤流程图,图2为本发明实施例一提供的跨系统分布式事务处理方法的流程示意图,关于该实施例提供的跨系统分布式事务处理方法,具体包括以下步骤:

步骤s101:主系统开启分布式事务。

其中,主系统作为事务开启的入口,开启分布式事务,一个分布式事务包括若干子事务,每个子事务由一个分系统处理,例如,商城服务系统发生交易时,商城服务系统为主系统,主系统开启包括增加订单和减少库存两个子事务的分布式事务。

步骤s102:主系统向分系统发送尝试执行事务的尝试请求。

主系统开启分布式事务后,首先向每个处理子事务的分系统发送尝试执行事务的尝试请求,其中,尝试请求可包括子事务的事务标识等信息,例如,商城服务系统分别向订单服务系统和库存服务系统发送尝试请求,向订单服务系统发送的尝试请求包括标识“增加订单”这一子事务的事务标识,向库存服务系统发送的尝试请求包括标识“减少库存”这一子事务的事务标识。

步骤s103:分系统响应于尝试请求,执行尝试操作。

其中,尝试操作(try)也即尝试执行子事务,包括完成执行子事务所需的所有业务检查,并预留必须的业务资源。每个分系统在接收到尝试请求后,均进行针对自身子事务的尝试操作。

步骤s104:分系统将尝试操作的执行结果反馈至主系统。

其中,执行结果包括成功和失败,执行结果为成功时,说明分系统执行尝试操作时,能够按照预定的要求完成操作,执行结果为失败时,说明分系统执行尝试操作时,无法按照预定的要求完成操作,预定的要求包括执行时间,执行逻辑等,例如,库存服务系统执行尝试操作时,如果库存已经为0,则执行“减少库存”的尝试操作时,继续减少库存会使库存为出现负数,不满足执行逻辑,执行结果为失败。

尝试操作并不是真正执行子事务,相当于对执行子事务的“彩排”和“预演”,并不真正对数据库中的数据进行更改,各个分系统在执行尝试操作之后,无论有怎样的执行结果,均会将执行结果反馈至主系统。

步骤s105:主系统根据接收到的执行结果向消息服务系统发送消息。

其中,当主系统收到的执行结果均为成功时,也即,每个分系统均能够在尝试操作中成功执行子事务,说明分布式事务包括的各个子事务均能够正常执行,能够保证事务的一致性,此时,向消息服务系统发送确定执行事务的确认消息,以使各个分系统执行确认操作(confirm),真正完成所有子事务的执行。

当主系统接收到任一执行结果为失败时,说明分布式事务包括的子事务中存在不能够正常执行的子事务,为了保证事务的一致性,向消息服务系统发送回滚执行事务的回滚消息,以使分系统执行回滚操作(cancel),将尝试操作进行回滚,所有分系统回到初始状态。

步骤s106:消息服务系统发布接收到的消息。

消息服务系统与现有技术中的事务协调器不同,不做事务的协调和管理,仅仅做消息的发布,相比事务协调器,在跨系统分布式事务处理中更加稳定和可靠。消息服务系统仅作为消息的发布方,对主系统发送的消息进行发布,无论是确认消息还是回滚消息,消息服务系统作为消息发布方,均会将其发布。

步骤s107:分系统监听消息服务系统发布的消息,当监听到确认消息时,执行确认操作,当监听到回滚消息时,执行回滚操作。

各分系统可集成消息监听端,通过消息监听端监听消息服务系统发布的消息,其中,消息服务系统在进行消息发布时,可发布消息队列,该消息队列由多个消息构成,每个消息均可包括一个子事务的事务标识,分系统通过监听消息中的事务标识,来确定是否要进行相应的处理,当某分系统监听到某个消息包括的事务标识为该分系统处理的子事务的事务标识时,该分系统需要对这一消息进行处理,具体地,这一消息为到确认消息时,执行确认操作,这一消息为回滚消息时,执行回滚操作。也即,该步骤中描述的分系统监听到确认消息,是指分系统监听到某个确认消息包括的事务标识为该分系统处理的子事务的事务标识,该步骤中描述的分系统监听到回滚消息,是指分系统监听到某个回滚消息包括的事务标识为该分系统处理的子事务的事务标识。

分系统通过监听消息服务系统发布消息,来进行确认操作或回滚操作,能够保证各个分系统统一处理分布式事务,避免不同分系统间出现处理不一致的情况。

采用该实施例提供的跨系统分布式事务处理方法,通过消息服务系统发布确认消息,分系统通过监听消息服务系统发布的确认消息来统一处理分布式事务各个子事务,在任一分系统执行尝试操作的执行结果为失败时,通过消息服务系统发布回滚消息,分系统通过监听消息服务系统发布的确认回滚消息统一回滚,整体保证不同分系统间对分布式事务的一致性,并且,消息服务系统仅进行消息发布,相比事务协调器,在跨系统分布式事务处理中更加稳定和可靠,避免使用事务协调器而出现中心化单点的问题。

实施例二

本发明实施例二提供了一种在上述实施例一的基础上优选的跨系统分布式事务处理方法,相关部分可参考上述实施例,需要特别说明的是,在该实施例中,主系统对应的数据库中设置有第一事务表,各分系统对应的数据库中分贝设置有第二事务表。第一事物表中设置若干条分布式事务的记录,每条分布式事务的记录包括分布式事务的事务标识以及事务状态;第二事物表中设置若干条子事务的记录,每条子事务的记录包括子事务的事务标识以及事务状态,分布式事务的事务标识可以包括所有子事务的事务标识,其中,事务状态包括:事务开始、尝试完成、回滚中、回滚完成、确认中和确认完成。在此基础上,图3为本发明实施例二提供的跨系统分布式事务处理方法的步骤流程图,如图3所示,该实施例具体包括如下的步骤:

步骤s201:主系统在第一事务表中插入分布式事务。

主系统在开启分布式事务时,首先在第一事务表中写入一条新的分布式事务的记录,并将该条新的分布式事务的记录中的事务状态设置为事务开始。

步骤s202:主系统向分系统发送尝试执行事务的尝试请求。

步骤s203:分系统响应于尝试请求,执行尝试操作。

步骤s204:在第二事务表中插入子事务。

分系统在执行尝试操作之后,在第二事务表中写入一条新的子事务的记录,并将该条新的子事务的记录中的事务状态设置为尝试完成。

步骤s205:分系统将尝试操作的执行结果反馈至主系统。

步骤s206:主系统接收到各分系统发送的执行结果。

步骤s207:主系统将第一事务表中分布式事务的状态修改为尝试完成。

步骤s208:主系统向消息服务系统发送消息。

步骤s209:主系统修改第一事务表中的信息。

其中,主系统向消息服务系统发送确认消息后,主系统修改第一事务表中的信息,具体是将第一事务表中分布式事务的状态修改为确认完成,主系统向消息服务系统发送回滚消息后,主系统修改第一事务表中的信息,具体是将分布式事务的状态修改为回滚完成。

步骤s210:消息服务系统发布接收到的消息。

步骤s211:分系统监听消息服务系统发布的消息。

步骤s212a:分系统在监听到确认消息后,将第二事务表中子事务的状态修改为确认中。

步骤s213a:分系统执行确认操作。

步骤s214a:分系统将第二事务表中子事务的状态修改为确认完成。

步骤s212b:分系统在监听到回滚消息后,将第二事务表中子事务的状态修改为回滚中。

步骤s213b:分系统或者执行回滚操作。

步骤s214b:分系统将第二事务表中子事务的状态修改为回滚完成。

采用该实施例提供的跨系统分布式事务处理方法,在避免使用事务协调器而出现中心化单点的问题的基础上,主系统维护第一事务表,分系统维护第二事物表,在各个动作节点完成时,修改第一事物表和第二事务表中相应事务的事务状态,能够从第一事务表和第二事物表中获取到主系统和分系统在分布式事务处理过程中的进度。

实施例三

本发明实施例三提供了一种在上述实施例二的基础上优选的跨系统分布式事务处理方法,相关部分可参考上述实施例,需要特别说明的是,在该实施例中,跨系统分布式事务处理方法还涉及调度任务系统,该调度任务系统通过第一事务表和第二事物表中的事务状态,对事务的执行进行调度,其中,关于主系统、分系统和消息服务系统三者之间完成跨系统分布式事务处理的部分可参考上述实施例二的相关描述,此处不再赘述,在本实施例中,重点说明调度任务系统对事务的执行进行调度的过程,图4为本发明实施例二提供的跨系统分布式事务处理方法的步骤流程图,在上述实施例二的基础上,如图4所示,该实施例三还包括如下的步骤:

步骤s215:调度任务系统查询第一事务表中分布式事务的状态和第二事务表中子事务的状态。

其中,可根据第一事务表中分布式事务的事务标识和第二事务表中子事务的事务标识进行查询,例如,第一事务表中分布式事务的事务标识为abc,对应的第二事务表中子事务的事务标识为a、b或c。

步骤s216:当第一事务表中分布式事务的状态为确认完成,第二事务表中子事务的状态为尝试完成时,调度任务系统向分系统发送执行确认操作的命令。当第一事务表中分布式事务的状态为回滚完成,第二事务表中子事务的状态为尝试完成时,调度任务系统向分系统发送执行回滚操作的命令。

也即主系统已经向消息服务系统发送了确认消息,但分系统并没有执行确认操作,此时,调度任务系统向分系统发送执行确认操作的命令;主系统已经向消息服务系统发送了回滚消息,但分系统并没有执行回滚操作,此时,调度任务系统向分系统发送执行回滚操作的命令。

步骤s217:分系统在接收到执行确认操作的命令时,执行确认操作,接收到执行回滚操作的命令时,执行回滚操作。

其中,分系统在响应调度任务系统发送的执行确认操作的命令,执行确认操作后,将第二事务表中子事务的状态修改为确认完成;分系统在响应调度任务系统发送的执行回滚操作的命令,执行回滚操作后,将第二事务表中子事务的状态修改为回滚完成。

采用该实施例供的跨系统分布式事务处理方法,在避免使用事务协调器而出现中心化单点的问题,以及从第一事务表和第二事物表中获取到主系统和分系统在分布式事务处理过程中的进度的基础上,通过消息服务系统将主系统与分系统操作不一致的子事务进行调度执行,具体地,当通过消息服务系统传递的消息执行失败时,通过调度任务系统重复执行,也即通过调度任务系统对分系统没有正常执行的确认操作或回滚操作重新发送命令,保证了跨系统分布式事务处理过程中的可靠性。

实施例四

本发明实施例四提供了一种在上述实施例三的基础上优选的跨系统分布式事务处理方法,其中,相同的部分可参考上述实施例二和实施例三的相关描述,此处不再赘述,在该实施例四中,在第二事务表中每条分布式事务的记录还包括子事务的重试次数,其中,调度任务系统可多次查询第一事务表中分布式事务的状态和第二事务表中子事务的状态,并根据查收到的差异去向分系统发送相应的命令,分系统每接收到一次执行确认操作的命令或每接收到一次执行回滚操作的命令,第二事务表中对应的子事务重试次数加1。

在上述步骤s217中,分系统接收到执行确认操作的命令后,执行确认操作前,或者,分系统接收到执行回滚操作的命令后,执行回滚操作前,修改并读取第二事务表中子事务对应的重试次数,其中,第二事务表中子事务对应的重试次数的初始值为0。分系统执行确认操作时,先根据在第二事务表中读取到的子事务对应的重试次数,然后按照阶梯时间间隔执行确认操作;分系统执行回滚操作时,先根据在第二事务表中读取到的子事务对应的重试次数,按照阶梯时间间隔执行回滚操作。例如,阶梯时间间隔的间隔是10*2n,单位为秒,n为重试次数,在第一次重试时,间隔20秒执行确认操作或回滚操作,在第二次重试时,间隔40秒执行确认操作或回滚操作。

采用该实施例提供的跨系统分布式事务处理方法,在通过调度任务系统对分系统没有正常执行的确认操作或回滚操作重新发送命令,保证跨系统分布式事务处理过程中的可靠性的同时,根据重试次数来计算出阶梯时间间隔,按照阶梯时间间隔调整执行操作的时间,重试的次数越多,间隔执行操作的时间越长,避免不能正常执行的原因在短时间内没有改变而造成重复执行命令资源浪费。

实施例五

本发明实施例五提供了一种在上述实施例二至四的基础上优选的跨系统分布式事务处理方法,其中,相同的部分可参考上述实施例二至实施例四的相关描述,此处不再赘述,在该实施例五中,分系统对应的数据库中还设置有前置表和主表,其中,前置表和主表在进行分布式事务处理之前相同,业务查询操作都在主表上进行,实现数据强一致性,业务dml操作(datamanipulationlanguage)首先在前置表上进行操作,待所有前置表操作完毕,再同时同步到各自主表上。具体地:

在步骤s203中,分系统执行尝试操作的步骤包括:分系统操作前置表中的数据,包括数据的增加、删除以及修改,具体怎样修改数据,与子事务的内容有关。

步骤s213a中,分系统执行确认操作的步骤包括:分系统使主表与前置表同步;步骤s213b中,分系统执行回滚操作的步骤包括:分系统将前置表恢复至执行尝试操作之前的状态,例如在前置表上做undo操作。

进一步地,可将尝试操作、确认操作和回滚操作均封装为接口,分系统在执行上述各个操作时,通过调用相应的接口完成操作。

进一步地,可以通过添加注解的方式标识执行尝试操作的接口、执行确认操作的接口和执行回滚操作的接口。

具体地:分系统操作前置表中的数据的步骤包括:分系统调用执行尝试操作的接口,通过执行尝试操作的接口操作前置表中的数据;分系统使主表与前置表同步的步骤包括:分系统调用执行确认操作的接口,通过执行确认操作的接口使主表与前置表同步;分系统将前置表恢复至执行尝试操作之前的状态的步骤包括:分系统调用执行回滚操作的接口,通过执行回滚操作的接口将前置表恢复至执行尝试操作之前的状态。

在步骤s202中,主系统向分系统发送尝试执行事务的尝试请求时,尝试请求包括调用时间和超时时间;

分系统在执行尝试操作之后,将执行结果反馈至主系统之前,计算当前时间与调用执行尝试操作的接口的调用时间的差值,并判断该差值是否大于或等于超时时间,其中,当差值大于或等于超时时间时,尝试操作的执行结果为失败,当分系统不能够按照正常逻辑操作前置表中的数据时,尝试操作的执行结果为失败,当分系统能够按照正常逻辑操作前置表中的数据且上述差值小于超时时间时,尝试操作的执行结果为成功。

实施例六

本发明实施例六提供了一种分布式事务处理的系统,该系统对应上述跨系统分布式事务处理方法,相对应的技术特征及技术效果可相互参考,该分布式事务处理的系统包括主系统10、分系统20和消息服务系统30。

主系统10用于开启分布式事务,向分系统20发送尝试执行事务的尝试请求,其中,分布式事务包括若干子事务,每个子事务由一个分系统20处理。分系统20用于响应于尝试请求,执行尝试操作,并将尝试操作的执行结果反馈至主系统10。主系统10还用于根据接收到的执行结果向消息服务系统30发送消息,其中,当主系统10收到的执行结果均为成功时,向消息服务系统30发送确定执行事务的确认消息,当主系统10接收到任一执行结果为失败时,向消息服务系统30发送回滚执行事务的回滚消息。消息服务系统30用于发布接收到的消息。分系统20还用于监听消息服务系统30发布的消息,当监听到确认消息时,执行确认操作,当监听到回滚消息时,执行回滚操作。

可选地,主系统10对应的数据库中设置有第一事务表,分系统20对应的数据库中设置有第二事务表;主系统10开启分布式事务的步骤包括:主系统10在第一事务表中插入分布式事务,并设置分布式事务的状态为事务开始。主系统10在接收到执行结果之后,向消息服务系统30发送消息之前,还用于将分布式事务的状态修改为尝试完成;主系统10还用于在向消息服务系统30发送确认消息后,将分布式事务的状态修改为确认完成;主系统10还用于向消息服务系统30发送回滚消息后,将分布式事务的状态修改为回滚完成;分系统20还用于在执行尝试操作后,在第二事务表中插入子事务,并设置子事务的状态为尝试完成;分系统20还用于在监听到确认消息后,执行确认操作前,将子事务的状态修改为确认中;分系统20还用于在执行确认操作后,将子事务的状态修改为确认完成;分系统20还用于在监听到回滚消息后,执行回滚操作前,将子事务的状态修改为回滚中;分系统20还用于在执行回滚操作后,将子事务的状态修改为回滚完成。

可选地,该分布式事务处理的系统还包括调度任务系统,该调度任务系统用于查询第一事务表中分布式事务的状态和第二事务表中子事务的状态,当第一事务表中分布式事务的状态为确认完成,第二事务表中子事务的状态为尝试完成时,调度任务系统向分系统20发送执行确认操作的命令;当第一事务表中分布式事务的状态为回滚完成,第二事务表中子事务的状态为尝试完成时,调度任务系统向分系统20发送执行回滚操作的命令;分系统20还用于接收到执行确认操作的命令时,执行确认操作,接收到执行回滚操作的命令时,执行回滚操作。

可选地,分系统20还用于在接收到执行确认操作的命令后,执行确认操作前,或者,接收到执行回滚操作的命令后,执行回滚操作前,修改并读取第二事务表中子事务对应的重试次数,其中,分系统20每接收到一次执行确认操作的命令或每接收到一次执行回滚操作的命令,第二事务表中子事务对应的重试次数加1;分系统20执行确认操作的步骤包括:分系统20根据在第二事务表中读取到的子事务对应的重试次数,按照阶梯时间间隔执行确认操作;分系统20执行回滚操作的步骤包括:分系统20根据在第二事务表中读取到的子事务对应的重试次数,按照阶梯时间间隔执行回滚操作。

可选地,分系统20对应的数据库中还设置有前置表和主表,其中,前置表和主表在进行分布式事务处理之前相同;分系统20执行尝试操作的步骤包括:分系统20操作前置表中的数据;分系统20执行确认操作的步骤包括:分系统20使主表与前置表同步;分系统20执行回滚操作的步骤包括:分系统20将前置表恢复至执行尝试操作之前的状态。

可选地,分系统20操作前置表中的数据的步骤包括:分系统20调用执行尝试操作的接口,通过执行尝试操作的接口操作前置表中的数据;尝试请求包括调用时间和超时时间;分系统20还用于在执行尝试操作之后,将执行结果反馈至主系统10之前,计算当前时间与调用时间的差值是否大于或等于超时时间,当差值大于或等于超时时间时,尝试操作的执行结果为失败。

可选地,当分系统20能够按照预定逻辑操作前置表中的数据且差值小于超时时间时,尝试操作的执行结果为成功;当分系统20不能够按照预定逻辑操作前置表中的数据时,尝试操作的执行结果为失败。

可选地,分系统20使主表与前置表同步的步骤包括:分系统20调用执行确认操作的接口,通过执行确认操作的接口使主表与前置表同步;分系统20将前置表恢复至执行尝试操作之前的状态的步骤包括:分系统20调用执行回滚操作的接口,通过执行回滚操作的接口将前置表恢复至执行尝试操作之前的状态。

可选地,通过添加注解的方式标识执行尝试操作的接口、执行确认操作的接口和执行回滚操作的接口。

实施例七

本发明实施例七还提供一种计算机设备,如可以执行程序的智能手机、平板电脑、笔记本电脑、台式计算机、机架式服务器、刀片式服务器、塔式服务器或机柜式服务器(包括独立的服务器,或者多个服务器所组成的服务器集群)等。本实施例的计算机设备02至少包括但不限于:可通过系统总线相互通信连接的存储器021、处理器022,如图6所示。需要指出的是,图6仅示出了具有组件021-022的计算机设备02,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。

本实施例中,存储器021(即可读存储介质)包括闪存、硬盘、多媒体卡、卡型存储器(例如,sd或dx存储器等)、随机访问存储器(ram)、静态随机访问存储器(sram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、可编程只读存储器(prom)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器021可以是计算机设备02的内部存储单元,例如该计算机设备02的硬盘或内存。在另一些实施例中,存储器021也可以是计算机设备02的外部存储设备,例如该计算机设备02上配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。当然,存储器21还可以既包括计算机设备02的内部存储单元也包括其外部存储设备。本实施例中,存储器021通常用于存储安装于计算机设备02的操作系统和各类应用软件,例如上述实施例的分布式事务处理的系统的程序代码等。此外,存储器021还可以用于暂时地存储已经输出或者将要输出的各类数据。

处理器022在一些实施例中可以是中央处理器(centralprocessingunit,cpu)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器022通常用于控制计算机设备02的总体操作。本实施例中,处理器022用于运行存储器021中存储的程序代码或者处理数据,例如运行分布式事务处理的系统等。

实施例八

本发明实施例八还提供一种计算机可读存储介质,如闪存、硬盘、多媒体卡、卡型存储器(例如,sd或dx存储器等)、随机访问存储器(ram)、静态随机访问存储器(sram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、可编程只读存储器(prom)、磁性存储器、磁盘、光盘、服务器、app应用商城等等,其上存储有计算机程序,程序被处理器执行时实现相应功能。本实施例的计算机可读存储介质用于存储分布式事务处理的系统,被处理器执行时实现上述实施例的跨系统分布式事务处理方法。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。

以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1