CN114780177A - 事务执行方法及装置、存储介质及电子装置 - Google Patents
事务执行方法及装置、存储介质及电子装置 Download PDFInfo
- Publication number
- CN114780177A CN114780177A CN202210391378.3A CN202210391378A CN114780177A CN 114780177 A CN114780177 A CN 114780177A CN 202210391378 A CN202210391378 A CN 202210391378A CN 114780177 A CN114780177 A CN 114780177A
- Authority
- CN
- China
- Prior art keywords
- transaction
- sub
- state
- transactions
- target
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/466—Transaction processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4488—Object-oriented
- G06F9/449—Object-oriented method invocation or resolution
Abstract
本发明公开了一种事务执行方法及装置、存储介质及电子装置,其中,上述方法包括:控制业务系统执行目标事务,其中,所述目标事务包括多个子事务,所述子事务的事务类型包括:同步类型,异步类型;在确定所述多个子事务中存在所述异步类型的子事务的情况下,确定所述多个子事务中每一个子事务的状态,并将所述每一个子事务以及所述每一个子事务的状态保存至目标消息表;根据所述目标消息表中每一个子事务的状态指示所述业务系统对所述每一个子事务执行对应的操作。采用上述方法,解决了在执行事务的过程中,对事务的执行管理的能力较差的问题。
Description
技术领域
本发明涉及通信领域,具体而言,涉及一种事务执行方法及装置、存储介质及电子装置。
背景技术
在复杂的业务系统中,通常会包含多个三方系统的接口调用,这些接口通过逻辑交织组成了一个分布式事务,而每个三方系统的接口可以认为是一个分布式子事务。分布式子事务又有同步响应和异步响应的区别,尤其在包含异步响应子事务时,业务很难较好的处理这种分布式事务的一致性。主要难点是,异步响应的子事务不能在接口返回时告知调用方该请求是否最终可以执行成功,而调用方如果不知道该子事务的执行结果就不知道整个事务是要继续执行还是需要终止回滚。
当前的解决方案有两种:(一)当异步的子事务接口调用完毕后(只是接口返回,表示三方系统收到了该请求),业务系统认为该子事务一定会成功,继续执行整个事务。如果后续三方系统反馈子事务失败,业务系统再去尝试执行整个事务的回滚。在这这种情况下,一旦异步子事务失败,回滚处理就很复杂,并且可能会因为回滚失败造成整个事务的状态不一致。(二)对于包含异步子事务的事务方法,需要以异步子事务为分界,分拆成两个或多个事务方法,每个事务方法可以称之为事务片段,并且异步子事务要划分到前一个事务片段中,他们的包含关系是:整个事务包含一个或多个事务片段,事务片段包含一个或多个子事务。在逻辑执行时,如果一个事务片段执行完毕并且最后一个事务是异步子事务,需要将后面的业务片段暂停。等待异步子事务的反馈,如果反馈成功,继续执行后续的事务片段,如果失败,将执行成功的事务片段回滚。但在这种情况下,代码逻辑很复杂,因此,在包含的异步子事务越多的情况下,代码越难组织和维护,更容易出错。
针对相关技术,在执行事务的过程中,对事务的执行管理的能力较差的问题,目前尚未提出有效的解决方案。
因此,有必要对相关技术予以改良以克服相关技术中的所述缺陷。
发明内容
本发明实施例提供了一种事务执行方法及装置、存储介质及电子装置,以至少解决在执行事务的过程中,对事务的执行管理的能力较差的问题。
根据本发明实施例的一方面,提供一种事务执行方法,包括:控制业务系统执行目标事务,其中,所述目标事务包括多个子事务,所述子事务的事务类型包括:同步类型,异步类型;在确定所述多个子事务中存在所述异步类型的子事务的情况下,确定所述多个子事务中每一个子事务的状态,并将所述每一个子事务以及所述每一个子事务的状态保存至目标消息表;根据所述目标消息表中每一个子事务的状态指示所述业务系统对所述每一个子事务执行对应的操作。
根据本发明实施例的另一方面,还提供了一种事务执行装置,包括:控制模块,用于控制业务系统执行目标事务,其中,所述目标事务包括多个子事务,所述子事务的事务类型包括:同步类型,异步类型;确定模块,用于在确定所述多个子事务中存在所述异步类型的子事务的情况下,确定所述多个子事务中每一个子事务的状态,并将所述每一个子事务以及所述每一个子事务的状态保存至目标消息表;执行模块,用于根据所述目标消息表中每一个子事务的状态指示所述业务系统对所述每一个子事务执行对应的操作。
根据本发明实施例的又一方面,还提供了一种计算机可读的存储介质,该计算机可读的存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述事务执行方法。
根据本发明实施例的又一方面,还提供了一种电子装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,上述处理器通过计算机程序执行上述事务执行方法。
通过本发明,在确定目标事务包括的多个子事务中存在异步类型的子事务时,确定多个子事务中每一个子事务的状态;进而每一个子事务的状态指示业务系统对每一个子事务执行对应的操作。进而不需要关注某个子事务执行失败之后其他子事务的处理策略。免去了协调各个子事务之间状态统一的代码逻辑,减轻了业务模块负担,提高了对事务的执行管理的能力,进而解决了在执行事务的过程中,对事务的执行管理的能力较差的问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示例性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是本发明实施例的事务执行方法的计算机终端的硬件结构框图;
图2是根据本发明实施例的事务执行方法的流程图;
图3是根据本发明实施例的事务执行方法的时序图(一);
图4是根据本发明实施例的事务执行方法的时序图(二);
图5是根据本发明实施例的事务执行方法的时序图(三);
图6是根据本发明实施例的事务执行装置的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本申请实施例中所提供的方法实施例可以在计算机终端或者类似的运算装置中执行。以运行在计算机终端上为例,图1是本发明实施例的事务执行方法的计算机终端的硬件结构框图。如图1所示,计算机终端可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器(Microprocessor Unit,简称是MPU)或可编程逻辑器件(Programmable logic device,简称是PLD))和用于存储数据的存储器104,在一个示例性实施例中,上述计算机终端还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述计算机终端的结构造成限定。例如,计算机终端还可包括比图1中所示更多或者更少的组件,或者具有与图1所示等同功能或比图1所示功能更多的不同的配置。
存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本发明实施例中的事务执行方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
为更好的理解,以下对本申请中涉及到的名词进行解释:
子事务:三方系统的接口调用,可以分为写入接口,或者回滚接口。
同步类型的子事务:在调用接口后,在接口返回时就可以得知该接口请求是否已经执行成功。
异步类型的子事务:在调用接口后,在接口返回时不能得知该接口请求是否已经执行成功,只能知道该接口调用是否成功。
事务:包含一个或多个子事务的业务逻辑。
为了解决上述问题,在本实施例中提供了一种事务执行方法,图2是根据本发明实施例的事务执行方法的流程图,该流程包括如下步骤:
步骤S202,控制业务系统执行目标事务,其中,所述目标事务包括多个子事务,所述子事务的事务类型包括:同步类型,异步类型;
作为一种可选的示例,在业务系统待执行目标事务的情况下,事务处理模块会拦截子事务的执行,通过事务处理模块控制业务系统执行目标事务。
作为一种可选的示例,上述步骤S202通过以下步骤S21-步骤S22实现:
步骤S21:获取子事务列表,其中,所述子事务列表中包括所述目标事务的多个子事务以及所述业务系统对所述多个子事务的执行顺序;
作为一种可选的示例,通过事务处理模块获取子事务列表,即在目标事务执行之前,需要告知事务处理模块子事务列表。
步骤S22:通过所述执行顺序控制所述业务系统执行所述目标事务。
在本实施例,通过获取子事务列表,可以知道有哪些子事务需要执行,也可以知道每一个子事务的处理顺序,提高了对子事务的执行管理能力。
作为一种可选的示例,上述步骤S202还可以通过以下方式实现:在目标消息表中存在目标子事务、目标子事务对应的事务与目标事务位于同一事务分组、且所述事务与目标事务的事务标识相同的情况下,控制业务系统禁止执行目标事务。需要说明的是,在禁止执行目标事务的情况下,确定目标事务执行失败。
也就是说,在业务系统待执行目标事务的情况下,事务处理模块会拦截子事务的执行,但如果目标消息表中存在一个事务的消息记录,该事务与目标事务位于同一个分组且事务标识相同,则表示对于该事务还有未清子事务,无法执行,进而返回目标事务执行失败。
作为一种可选的示例,上述步骤S202还可以通过以下方式实现:
在所述业务系统待执行第一子事务、所述第一子事务的事务类型为同步类型、且所述业务系统对所述第一子事务之前所有的异步类型的子事务均执行成功的情况下,控制所述业务系统执行所述第一子事务,其中,所述目标事务包括所述第一子事务;
需要说明的是,如果业务系统在待执行第一子事务以前,没有执行过异步类型的子事务,则可以直接控制业务系统执行第一子事务,如果业务系统在待执行第一子事务以前,执行过异步类型的子事务,且执行过的所有异步类型的子事务均执行成功,则也可以控制业务系统执行第一子事务。
在所述业务系统待执行第二子事务、所述第二子事务的事务类型为异步类型、所述业务系统未执行过异步类型的子事务的情况下,控制所述业务系统执行所述第二子事务,其中,所述目标事务包括所述第二子事务;
作为一种可选的示例,事务处理模块可以通过目标消息表中子事务的执行顺序来确定业务系统是否执行过异步类型的子事务。由于第二子事务是业务系统第一个待执行的异步类型的子事务,进而可以控制业务系统直接执行第二子事务。
在所述业务系统待执行第三子事务、所述第三子事务的事务类型为异步类型、所述业务系统执行过异步类型的子事务的情况下,根据第四子事务的执行结果控制所述业务系统是否执行所述第三子事务,其中,所述第四子事务为在所述业务系统执行过的所有子事务中,最近一次执行的异步类型的子事务,所述目标事务包括:所述第三子事务,所述第四子事务。
作为一种可选的示例,如果第四子事务的执行结果为执行成功,则可以控制业务系统执行第三子事务,如果第四子事务的执行结果为执行失败,则说明第四子事务需要执行回滚操作,进而需要控制业务系统禁止执行第三子事务。
步骤S204,在确定所述多个子事务中存在所述异步类型的子事务的情况下,确定所述多个子事务中每一个子事务的状态,并将所述每一个子事务以及所述每一个子事务的状态保存至目标消息表;
作为一种可选的示例,上述步骤S204可以通过以下步骤S31-步骤S32实现:
步骤S31:确定所述多个子事务中每一个子事务初始的状态,并将所述每一个子事务以及所述每一个子事务初始的状态保存至目标消息表;
作为一种可选的示例,可以通过事务处理模块确定多个子事务中每一个子事务初始的状态。
作为一种可选的示例,上述步骤S31可以通过以下步骤S311-S312实现:
步骤S311:在所述业务系统执行第五子事务,且所述第五子事务为异步类型的子事务的情况下,确定所述第五子事务的调用结果,其中,所述调用结果用于确定目标系统是否接收到所述业务系统发送的执行子事务的请求信息,其中,所述目标事务包括所述第五子事务;
步骤S312:在所述第五子事务的调用结果为成功的情况下,将所述第五子事务的状态确定为异步等待状态,以及将所述多个子事务中,所述业务系统在所述第五子事务之前执行过的所有子事务的状态确定为已执行状态,以及将所述多个子事务中,所述业务系统在所述第五子事务之后待执行的所有子事务的状态确定为未知状态,其中,所述异步等待状态用于指示子事务等待执行结果;在所述第五子事务的调用结果为失败的情况下,将所述第五子事务确定为待回滚状态,以及将所述多个子事务中,所述业务系统在所述第五子事务之前执行过的所有子事务的状态确定为待回滚状态,以及将所述多个子事务中,所述业务系统在所述第五子事务之后待执行的所有子事务的状态确定为未知状态,其中,所述待回滚状态用于指示子事务待执行回滚操作。
也就是说,如果子事务是异步的,并且之前没有执行过异步类型的子事务,就发起对该子事务的调用,如果该子事务的调用结果为成功,事务处理模块会设置子事务状态为异步等待状态、该子事务之前的子事务为已执行状态,之后的子事务为未知状态。如果调用结果为失败,事务处理模块会将已经执行成功的子事务都设置为待回滚状态。
步骤S32:在获取到所述多个子事务中任意一个异步类型的子事务的执行结果的情况下,更新所述目标消息表中包括子事务的状态。
作为一种可选的示例,可以通过异步响应模块更新目标消息表中包括子事务的状态,其中,异步响应模块负责在获取到异步类型的子事务执行结果时,更新目标消息表中事务的状态。
作为一种可选的示例,上述步骤S32可以通过以下步骤S321-步骤S324方式实现:
步骤S321:在所述业务系统已执行第六子事务,且获取到所述第六子事务的执行结果的情况下,确定所述第六子事务的执行结果,其中,所述第六子事务的事务类型为异步类型;
步骤S322:在所述第六子事务的执行结果为成功的情况下,将所述目标消息表中所述第六子事务的状态更新为已执行状态,以及将所述目标消息表中在所述第六子事务与第七子事务之间的所有子事务的状态以及第七子事务的状态更新为所述待执行状态,其中,所述第七子事务为所述目标消息表在第六子事务之后的所有子事务中,最近一次待被所述业务系统执行的异步类型的子事务;
也就是说,如果三方系统反馈异步子事务执行成功,则异步响应模块将目标消息表中记录的该异步子事务和下一个异步子事务之间的子事务(包含)状态记录为待执行状态。
步骤S323:在所述第六子事务的执行结果为失败,且所述第六子事务被标记为异常状态的情况下,将所述目标消息表中所述第六子事务的状态更新为所述异常状态;
步骤S324:在所述第六子事务的执行结果为失败,所述第六子事务未被标记为异常状态的情况下,将所述目标消息表中所述第六子事务的状态更新为待回滚状态;以及将所述目标消息表在所述第六子事务之前所有已被所述目标业务执行过的所有子事务的状态更新为待回滚状态,其中,所述待回滚状态用于指示子事务待执行回滚操作。
步骤S206,根据所述目标消息表中每一个子事务的状态指示所述业务系统对所述每一个子事务执行对应的操作。
作为一个可选的示例,通过异步任务模块根据目标消息表中每一个子事务的状态指示所述业务系统对所述每一个子事务执行对应的操作。
作为一个可选的示例,上述步骤S206可以通过以下方式实现:
确定所述目标消息表中每一个子事务的当前状态,并根据所述每一个子事务的当前状态指示所述业务系统对所述每一个子事务循环执行以下步骤一与步骤二,直至所述每一个子事务满足预设条件的情况下,结束循环,其中,在执行以下步骤一与步骤二的过程中,所述每一个子事务为当前子事务,所述预设条件包括以下之一:所述当前子事务的当前状态为已执行状态,所述当前子事务的当前状态为异常状态,所述当前子事务的当前状态为未知状态,所述当前子事务对应的执行失败次数大于或等于预设阈值:
步骤一:在所述当前子事务的当前状态为待执行状态,且所述当前子事务对应的执行失败次数小于所述预设阈值的情况下,指示所述业务系统执行所述当前子事务;确定所述业务系统执行所述当前子事务的执行结果,并在所述执行结果为成功的情况下,将所述当前子事务的当前状态更新为已执行状态,在所述执行结果为失败的情况下,将所述当前子事务对应的执行失败次数加一;
步骤二:在所述当前子事务的当前状态为待回滚状态,且所述当前子事务对应的执行失败次数小于所述预设阈值的情况下,指示所述业务系统对所述当前子事务执行回滚操作;确定所述业务系统执行所述当前子事务的执行结果,并在所述执行结果为成功的情况下,将所述当前子事务的当前状态更新为所述已执行状态,在所述执行结果为失败的情况下,将所述当前子事务对应的执行失败次数加一。
作为一个可选的示例,在根据所述目标消息表中每一个子事务的状态指示所述业务系统对所述每一个子事务执行对应的操作之后,还需要确定所述目标消息表中状态为已执行状态的子事务的目标个数,并在所述目标个数与所述目标消息表中子事务的个数相等的情况下,确定所述目标事务执行成功,并将所述目标事务包括的多个子事务从所述目标消息表中删除。
通过上述步骤S202-步骤S206,在确定目标事务包括的多个子事务中存在异步类型的子事务时,确定多个子事务中每一个子事务的状态;进而每一个子事务的状态指示业务系统对每一个子事务执行对应的操作。进而不需要关注某个子事务执行失败之后其他子事务的处理策略。免去了协调各个子事务之间状态统一的代码逻辑,减轻了业务模块负担,提高了对事务的执行管理的能力,进而解决了在执行事务的过程中,对事务的执行管理的能力较差的问题。
显然,上述所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。为了更好的理解上述事务执行方法,以下结合实施例对上述过程进行说明,但不用于限定本发明实施例的技术方案,具体地:
在一个可选的实施例中,通过事务处理模块、异步响应模块以及异步任务模块来实现事务的执行。其中,
事务处理模块:负责拦截业务系统对子事务的调用,并记录到目标消息表;作为一个可选的示例,目标消息表为业务系统的本地消息表。
异步响应模块:负责在异步类型的子事务响应处理结果时,更新本地消息表中事务的状态;异步任务模块:负责启动定时任务,扫描本地事务表中的事务消息,根据事务状态执行对应业务逻辑;
本地事务表:分为主表和子表,主表记录整个事务的元数据,例如事务名称、事务标识、事务分组等;子表记录子事务元数据,例如子事务名称、子事务参数、是否异步等。
调用结果:子事务接口返回。对于同步类型的子事务来说,调用结果就是执行结果,但是对于异步类型的子事务来说,调用结果只表示三方系统成功收到了该请求。
执行结果:三方系统对该子事务的最终处理结果。对于异步子事务来说,三方系统会异步返回这个结果。
事务分组:标记一个事务分组,通常根据业务逻辑来划分。
事务标识:标记一个事务的主键,分组和事务标识相同的表名是同一个事务。
子事务的状态:用于对子事务的状态标记,用于根据状态决定如何处理子事务。状态枚举如下:
RunRollBack(待回滚状态):子事务需要执行回滚操作,被标记为该状态说明该子事务执行过写入操作并且成功了,但是整个事务失败了,所以需要回滚该子事务。
RunWrite(待写入状态)(相当于上述实施例中的待执行状态):子事务需要执行写入操作。
UnKnown(未知状态):子事务处于未知状态,处于该状态时,异步任务不会对该子事务做处理。
Dealt(已执行状态):子事务处理完毕。
BizException(业务异常):子事务业务异常了。被标记为业务异常表示整个事务没有重试的必要。
AsyncWait(异步等待状态):异步子事务在等待反馈执行结果。
具体的,事务处理模块、异步响应模块以及异步任务模块的处理流程如下:
事务处理模块:
1.在事务执行之前需要告知事务处理模块子事务列表,该列表就是事务中将要执行的子事务顺序。
2.子事务执行时,事务处理模块会拦截子事务的执行,如果目标消息表中对于同一个分组中同一个事务标识存在消息记录,表示对于该类事务还有未清子事务,不能进行调用,返回事务执行失败。
3.如果子事务是异步的,并且之前没有执行过异步类型的子事务,就发起对异步子事务(相当于上述实施例中的异步类型的子事务)的调用,如果异步子事务调用结果为成功,事务处理模块会记录整个子事务列表信息到目标消息表中,并且设置该异步子事务状态为AsyncWait,该子事务之前的子事务标记为Dealt,之后的子事务标记为UnKnown。如果调用结果为失败,事务处理模块会将已经执行成功的子事务记录到目标消息表中,并且状态都设置为RunRollBack。
4.如果之前执行过异步子事务,事务处理模块会拦截对三方系统接口的调用,等待异步子事务的处理结果。
异步响应模块:
1.如果三方系统反馈异步子事务执行成功,则将目标消息表中记录的该异步子事务和下一个异步子事务之间的子事务(包含)状态记录未RunWrite。
2.如果三方系统反馈异步子事务执行失败,并且被标记为业务失败,将本地消息表中记录的该子事务标记为BizException。
3.如果三方系统反馈异步子事务执行失败,并且不是业务失败,将本地消息表中记录的该子事务以及之前的子事务状态记录为RunRollBack。
异步任务模块:
1.批量获取目标消息表中的消息记录,确定每个子事务的状态,并迭代处理。
2.如果子事务的状态为BizException或UnKnown,或失败次数已经超出阈值,则放弃处理。
3.如果子事务的状态是Dealt,则将Dealt的计数加1。
4.如果子事务的状态是是RunWrite,调用三方系统接口执行写入,并记录执行结果,如果执行失败,则记录失败次数,如果成功,更新该子事务状态为Dealt。
5.如果子事务的状态是RunRollBack,调用三方系统接口执行回滚。并记录执行结果,如果执行失败,则记录失败次数,如果成功,更新该子事务状态为Dealt。
5.如果Deal计数和目标消息表中记录的该事务的子事务条数相等,表示该事务已经处理成功,并删除该条事务在目标消息表中所有消息记录。
在本实施例中,提供一种简单的方式解决了包含异步子事务的分布式事务的执行方法,业务逻辑可以专注于子事务对应的三方系统接口封装以及各个子事务之间的编排调用,尽量让业务可以像管理本地事务一样来管理分布式事务,而不需要关注某个子事务失败之后其他子事务的处理策略。免去了协调各个子事务之间状态统一的代码逻辑,减轻了业务模块负担并且使业务系统更容易维护。解脱了业务处理横跨多个子事务的状态协调逻辑。
为了更好的理解,图3是根据本发明实施例的事务执行方法的时序图(一),具体的,具有以下步骤:
步骤1:业务模发起事务调用;
步骤2:事务处理模块拦截到业务模块调用三方系统1接口;
步骤3:事务处理模块如果确定事务存在未清事务消息,抛出异常,不允许进行事务操作;
步骤4:事务处理模块委派业务模块发起三方系统1接口调用;
步骤5:业务模块异步调用三方系统1的服务接口;
步骤6:三方系统1返回成功或失败至事务处理模块;
步骤7:三方系统1如果返回失败至事务处理模块,事务处理模块透出异常,事务失败;
步骤8:事务处理模块通知业务模块三方系统1执行失败;
步骤9:三方系统1如果返回成功至事务处理模块,事务处理模块记录该异步子事务为AsyncWait状态,并记录前面成功的所有子事务,不执行后面的子事务,将后面未执行的子事务包装成子事务消息,并设置状态为UnKnown并记录。等待异步子事务回调置换,更新状态。
步骤10:事务处理模块记录事务消息至事务模块数据库;
步骤11:事务模块数据库返回结果至事务处理模块;
步骤12:在返回结果表示记录成功的情况下,事务处理模块通知业务模块事务执行成功。
图4是根据本发明实施例的事务执行方法的时序图(二),具体的,具有以下步骤:
步骤1:三方系统发送子事务结果至业务模块;
步骤2:异步响应模块通过业务模块调用事务模块结果回调函数;
步骤3:如果异步响应模块确定结果是成功,将记录的消息列表中,该异步子事务状态更新为Dealt,该子事务到下一个异步子事务之间的子事务状态记录为RunWrite。
步骤4:如果异步响应模块确定结果是失败并且业务失败,将记录的消息列表中该异步子事务状态记录为BizException。
步骤5:如果异步响应模块确定结果是失败,将记录的消息列表中,该异步子事务状态更新为Dealt,该异步子事务之间的所有子事务状态记录为RunRoolback。
步骤6:如果异步响应模块确定结果是失败,则调用业务模块进行数据库回滚。
图5是根据本发明实施例的事务执行方法的时序图(三),具体的,具有以下步骤:
步骤1:异步任务模块定时开启未清理事务处理任务;
步骤2:异步任务模块拉取记录的未清事务和子事务列表;
步骤3:事务模块数据库返回记录的未清事务和子事务列表;
步骤4:异步任务模块如果确定子事务失败次数超出限制重试次数,则放弃处理;
步骤5:异步任务模块如果确定子事务状态是BizException或UnKnown,则放弃处理;
步骤6:异步任务模块如果确定子事务的状态是RunWrite,则调用业务模块,将子事务写三方系统;
步骤7:子事务的状态是RunWrite,则调用业务模块,将子事务写三方系统;
步骤8:异步任务模块如果确定子事务写入成功,则将子事务的状态更新为Dealt;
步骤9:异步任务模块如果确定子事务状态是RunRollBack,则调用业务模块,将子事务回滚三方系统;
步骤10:状态是RunRollBack,调用业务模块,回滚三方系统;
步骤11:异步任务模块如果确定子事务写入成功,则将子事务的状态更新为Dealt;
步骤12:异步任务模块如果确定主事务中的所有子事务都处理成功,则删除该事务信息,否则,更新状态,失败次数,上次调用时间,等待下次定时任务处理;
步骤13:异步任务模块在事务模块数据库中更新或删除事务列表;
步骤14:事务模块数据库返回更新或删除的结果。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例的方法。
在本实施例中还提供了一种事务执行装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的设备较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图6是根据本发明实施例的事务执行装置的结构框图,该装置包括:
控制模块62,用于控制业务系统执行目标事务,其中,所述目标事务包括多个子事务,所述子事务的事务类型包括:同步类型,异步类型;
确定模块64,用于在确定所述多个子事务中存在所述异步类型的子事务的情况下,确定所述多个子事务中每一个子事务的状态,并将所述每一个子事务以及所述每一个子事务的状态保存至目标消息表;
执行模块66,用于根据所述目标消息表中每一个子事务的状态指示所述业务系统对所述每一个子事务执行对应的操作。
通过上述装置,在确定目标事务包括的多个子事务中存在异步类型的子事务时,确定多个子事务中每一个子事务的状态;进而每一个子事务的状态指示业务系统对每一个子事务执行对应的操作。进而不需要关注某个子事务执行失败之后其他子事务的处理策略。免去了协调各个子事务之间状态统一的代码逻辑,减轻了业务模块负担,提高了对事务的执行管理的能力,进而解决了在执行事务的过程中,对事务的执行管理的能力较差的问题。
可选地,控制模块62,还用于获取子事务列表,其中,所述子事务列表中包括所述目标事务的多个子事务以及所述业务系统对所述多个子事务的执行顺序;通过所述执行顺序控制所述业务系统执行所述目标事务。
可选地,控制模块62,还用于在所述目标消息表中存在目标子事务、所述目标子事务对应的事务与所述目标事务位于同一事务分组、且所述事务与所述目标事务的事务标识相同的情况下,控制所述业务系统禁止执行所述目标事务,其中,在禁止执行所述目标事务的情况下,确定所述目标事务执行失败。
可选地,控制模块62,还用于在所述业务系统待执行第一子事务、且所述第一子事务的事务类型为同步类型的情况下,控制所述业务系统执行所述第一子事务,其中,所述目标事务包括所述第一子事务;在所述业务系统待执行第二子事务、所述第二子事务的事务类型为异步类型、所述业务系统未执行过异步类型的子事务的情况下,控制所述业务系统执行所述第二子事务,其中,所述目标事务包括所述第二子事务;在所述业务系统待执行第三子事务、所述第三子事务的事务类型为异步类型、所述业务系统执行过异步类型的子事务的情况下,根据第四子事务的执行结果控制所述业务系统是否执行所述第三子事务,其中,所述第四子事务为在所述业务系统执行过的所有子事务中,最近一次执行的异步类型的子事务,所述目标事务包括:所述第三子事务,所述第四子事务。
可选地,确定模块64,还用于确定所述多个子事务中每一个子事务初始的状态,并将所述每一个子事务以及所述每一个子事务初始的状态保存至目标消息表;在获取到所述多个子事务中任意一个异步类型的子事务的执行结果的情况下,更新所述目标消息表中包括子事务的状态。
可选地,确定模块64包括:
初始确定单元,用于在所述业务系统执行第五子事务,且所述第五子事务为异步类型的子事务的情况下,确定所述第五子事务的调用结果,其中,所述调用结果用于确定目标系统是否接收到所述业务系统发送的执行子事务的请求信息,其中,所述目标事务包括所述第五子事务;在所述第五子事务的调用结果为成功的情况下,将所述第五子事务的状态确定为异步等待状态,以及将所述多个子事务中,所述业务系统在所述第五子事务之前执行过的所有子事务的状态确定为已执行状态,以及将所述多个子事务中,所述业务系统在所述第五子事务之后待执行的所有子事务的状态确定为未知状态,其中,所述异步等待状态用于指示子事务等待执行结果;在所述第五子事务的调用结果为失败的情况下,将所述第五子事务确定为待回滚状态,以及将所述多个子事务中,所述业务系统在所述第五子事务之前执行过的所有子事务的状态确定为待回滚状态,以及将所述多个子事务中,所述业务系统在所述第五子事务之后待执行的所有子事务的状态确定为未知状态,其中,所述待回滚状态用于指示子事务待执行回滚操作。
更新单元,用于在所述业务系统已执行第六子事务,且获取到所述第六子事务的执行结果的情况下,确定所述第六子事务的执行结果,其中,所述第六子事务的事务类型为异步类型;在所述第六子事务的执行结果为成功的情况下,将所述目标消息表中所述第六子事务的状态更新为已执行状态,以及将所述目标消息表中在所述第六子事务与第七子事务之间的所有子事务以及第七子事务的状态更新为所述待执行状态,其中,所述第七子事务为所述目标消息表在第六子事务之后的所有子事务中,最近一次待被所述业务系统执行的异步类型的子事务;在所述第六子事务的执行结果为失败,且所述第六子事务被标记为异常状态的情况下,将所述目标消息表中所述第六子事务的状态更新为所述异常状态;在所述第六子事务的执行结果为失败,所述第六子事务未被标记为异常状态的情况下,将所述目标消息表中所述第六子事务的状态更新为待回滚状态;以及将所述目标消息表在所述第六子事务之前所有已被所述目标业务执行过的所有子事务的状态更新为待回滚状态,其中,所述待回滚状态用于指示子事务待执行回滚操作。
可选地,执行模块66,还用于确定所述目标消息表中每一个子事务的当前状态,并根据所述每一个子事务的当前状态指示所述业务系统对所述每一个子事务循环执行以下操作,直至满足所述每一个子事务预设条件的情况下,结束循环,其中,在执行以下操作的过程中,所述每一个子事务为当前子事务,所述预设条件包括以下之一:所述当前子事务的当前状态为已执行状态,所述当前子事务的当前状态为异常状态,所述当前子事务的当前状态为未知状态,所述当前子事务对应的执行失败次数大于或等于预设阈值:在所述当前子事务的当前状态为待执行状态,且所述当前子事务对应的执行失败次数小于所述预设阈值的情况下,指示所述业务系统执行所述当前子事务;确定所述业务系统执行所述当前子事务的执行结果,并在所述执行结果为成功的情况下,将所述当前子事务的当前状态更新为已执行状态,在所述执行结果为失败的情况下,将所述当前子事务对应的执行失败次数加一;在所述当前子事务的当前状态为待回滚状态,且所述当前子事务对应的执行失败次数小于所述预设阈值的情况下,指示所述业务系统对所述当前子事务执行回滚操作;确定所述业务系统执行所述当前子事务的执行结果,并在所述执行结果为成功的情况下,将所述当前子事务的当前状态更新为所述已执行状态,在所述执行结果为失败的情况下,将所述当前子事务对应的执行失败次数加一。
可选地,确定模块64还包括:
确定单元,用于确定所述目标消息表中状态为已执行状态的子事务的目标个数,并在所述目标个数与所述目标消息表中子事务的个数相等的情况下,确定所述目标事务执行成功,并将所述目标事务包括的多个子事务从所述目标消息表中删除。
本发明的实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,控制业务系统执行目标事务,其中,所述目标事务包括多个子事务,所述子事务的事务类型包括:同步类型,异步类型;
S2,在确定所述多个子事务中存在所述异步类型的子事务的情况下,确定所述多个子事务中每一个子事务的状态,并将所述每一个子事务以及所述每一个子事务的状态保存至目标消息表;
S3,根据所述目标消息表中每一个子事务的状态指示所述业务系统对所述每一个子事务执行对应的操作。
在一个示例性实施例中,上述计算机可读存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
本实施例中的具体示例可以参考上述实施例及示例性实施方式中所描述的示例,本实施例在此不再赘述。
本发明的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,控制业务系统执行目标事务,其中,所述目标事务包括多个子事务,所述子事务的事务类型包括:同步类型,异步类型;
S2,在确定所述多个子事务中存在所述异步类型的子事务的情况下,确定所述多个子事务中每一个子事务的状态,并将所述每一个子事务以及所述每一个子事务的状态保存至目标消息表;
S3,根据所述目标消息表中每一个子事务的状态指示所述业务系统对所述每一个子事务执行对应的操作。
在一个示例性实施例中,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
本实施例中的具体示例可以参考上述实施例及示例性实施方式中所描述的示例,本实施例在此不再赘述。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (12)
1.一种事务执行方法,其特征在于,包括:
控制业务系统执行目标事务,其中,所述目标事务包括多个子事务,所述子事务的事务类型包括:同步类型,异步类型;
在确定所述多个子事务中存在所述异步类型的子事务的情况下,确定所述多个子事务中每一个子事务的状态,并将所述每一个子事务以及所述每一个子事务的状态保存至目标消息表;
根据所述目标消息表中每一个子事务的状态指示所述业务系统对所述每一个子事务执行对应的操作。
2.根据权利要求1所述的方法,其特征在于,控制业务系统执行目标事务,包括:
获取子事务列表,其中,所述子事务列表中包括所述目标事务的多个子事务以及所述业务系统对所述多个子事务的执行顺序;
通过所述执行顺序控制所述业务系统执行所述目标事务。
3.根据权利要求1所述的方法,其特征在于,控制业务系统执行目标事务,包括:
在所述目标消息表中存在目标子事务、所述目标子事务对应的事务与所述目标事务位于同一事务分组、且所述事务与所述目标事务的事务标识相同的情况下,控制所述业务系统禁止执行所述目标事务,其中,在禁止执行所述目标事务的情况下,确定所述目标事务执行失败。
4.根据权利要求1所述的方法,其特征在于,控制业务系统执行目标事务,包括:
在所述业务系统待执行第一子事务、所述第一子事务的事务类型为同步类型、且所述业务系统对所述第一子事务之前所有的异步类型的子事务均执行成功的情况下,控制所述业务系统执行所述第一子事务,其中,所述目标事务包括所述第一子事务;
在所述业务系统待执行第二子事务、所述第二子事务的事务类型为异步类型、所述业务系统未执行过异步类型的子事务的情况下,控制所述业务系统执行所述第二子事务,其中,所述目标事务包括所述第二子事务;
在所述业务系统待执行第三子事务、所述第三子事务的事务类型为异步类型、所述业务系统执行过异步类型的子事务的情况下,根据第四子事务的执行结果控制所述业务系统是否执行所述第三子事务,其中,所述第四子事务为在所述业务系统执行过的所有子事务中,最近一次执行的异步类型的子事务,所述目标事务包括:所述第三子事务,所述第四子事务。
5.根据权利要求1所述的方法,其特征在于,确定所述多个子事务中每一个子事务的状态,并将所述每一个子事务以及所述每一个子事务的状态保存至目标消息表,包括:
确定所述多个子事务中每一个子事务初始的状态,并将所述每一个子事务以及所述每一个子事务初始的状态保存至目标消息表;
在获取到所述多个子事务中任意一个异步类型的子事务的执行结果的情况下,更新所述目标消息表中包括子事务的状态。
6.根据权利要求5所述的方法,其特征在于,确定所述多个子事务中每一个子事务初始的状态,包括:
在所述业务系统执行第五子事务,且所述第五子事务为异步类型的子事务的情况下,确定所述第五子事务的调用结果,其中,所述调用结果用于确定目标系统是否接收到所述业务系统发送的执行子事务的请求信息,其中,所述目标事务包括所述第五子事务;
在所述第五子事务的调用结果为成功的情况下,将所述第五子事务的状态确定为异步等待状态,以及将所述多个子事务中,所述业务系统在所述第五子事务之前执行过的所有子事务的状态确定为已执行状态,以及将所述多个子事务中,所述业务系统在所述第五子事务之后待执行的所有子事务的状态确定为未知状态,其中,所述异步等待状态用于指示子事务等待执行结果;
在所述第五子事务的调用结果为失败的情况下,将所述第五子事务确定为待回滚状态,以及将所述多个子事务中,所述业务系统在所述第五子事务之前执行过的所有子事务的状态确定为待回滚状态,以及将所述多个子事务中,所述业务系统在所述第五子事务之后待执行的所有子事务的状态确定为未知状态,其中,所述待回滚状态用于指示子事务待执行回滚操作。
7.根据权利要求5所述的方法,其特征在于,更新所述目标消息表中包括子事务的状态,包括:
在所述业务系统已执行第六子事务,且获取到所述第六子事务的执行结果的情况下,确定所述第六子事务的执行结果,其中,所述第六子事务的事务类型为异步类型;
在所述第六子事务的执行结果为成功的情况下,将所述目标消息表中所述第六子事务的状态更新为已执行状态,以及将所述目标消息表中在所述第六子事务与第七子事务之间的所有子事务以及所述第七子事务的状态更新为待执行状态,其中,所述第七子事务为所述目标消息表在第六子事务之后的所有子事务中,最近一次待被所述业务系统执行的异步类型的子事务;
在所述第六子事务的执行结果为失败,且所述第六子事务被标记为异常状态的情况下,将所述目标消息表中所述第六子事务的状态更新为所述异常状态;
在所述第六子事务的执行结果为失败,所述第六子事务未被标记为异常状态的情况下,将所述目标消息表中所述第六子事务的状态更新为待回滚状态;以及将所述目标消息表在所述第六子事务之前所有已被所述目标业务执行过的所有子事务的状态更新为待回滚状态,其中,所述待回滚状态用于指示子事务待执行回滚操作。
8.根据权利要求1所述的方法,其特征在于,根据所述目标消息表中每一个子事务的状态指示所述业务系统对所述每一个子事务执行对应的操作,包括:
确定所述目标消息表中每一个子事务的当前状态,并根据所述每一个子事务的当前状态指示所述业务系统对所述每一个子事务循环执行以下操作,直至所述每一个子事务满足预设条件的情况下,结束循环,其中,在执行以下操作的过程中,所述每一个子事务为当前子事务,所述预设条件包括以下之一:所述当前子事务的当前状态为已执行状态,所述当前子事务的当前状态为异常状态,所述当前子事务的当前状态为未知状态,所述当前子事务对应的执行失败次数大于或等于预设阈值:
在所述当前子事务的当前状态为待执行状态,且所述当前子事务对应的执行失败次数小于所述预设阈值的情况下,指示所述业务系统执行所述当前子事务;确定所述业务系统执行所述当前子事务的执行结果,并在所述执行结果为成功的情况下,将所述当前子事务的当前状态更新为已执行状态,在所述执行结果为失败的情况下,将所述当前子事务对应的执行失败次数加一;
在所述当前子事务的当前状态为待回滚状态,且所述当前子事务对应的执行失败次数小于所述预设阈值的情况下,指示所述业务系统对所述当前子事务执行回滚操作;确定所述业务系统执行所述当前子事务的执行结果,并在所述执行结果为成功的情况下,将所述当前子事务的当前状态更新为所述已执行状态,在所述执行结果为失败的情况下,将所述当前子事务对应的执行失败次数加一。
9.根据权利要求1所述的方法,其特征在于,根据所述目标消息表中每一个子事务的状态指示所述业务系统对所述每一个子事务执行对应的操作之后,所述方法还包括:
确定所述目标消息表中状态为已执行状态的子事务的目标个数,并在所述目标个数与所述目标消息表中子事务的个数相等的情况下,确定所述目标事务执行成功,并将所述目标事务包括的多个子事务从所述目标消息表中删除。
10.一种事务执行装置,其特征在于,包括:
控制模块,用于控制业务系统执行目标事务,其中,所述目标事务包括多个子事务,所述子事务的事务类型包括:同步类型,异步类型;
确定模块,用于在确定所述多个子事务中存在所述异步类型的子事务的情况下,确定所述多个子事务中每一个子事务的状态,并将所述每一个子事务以及所述每一个子事务的状态保存至目标消息表;
执行模块,用于根据所述目标消息表中每一个子事务的状态指示所述业务系统对所述每一个子事务执行对应的操作。
11.一种计算机可读的存储介质,其特征在于,所述计算机可读的存储介质包括存储的程序,其中,所述程序运行时执行上述权利要求1至9任一项中所述的方法。
12.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为通过所述计算机程序执行所述权利要求1至9任一项中所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210391378.3A CN114780177A (zh) | 2022-04-14 | 2022-04-14 | 事务执行方法及装置、存储介质及电子装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210391378.3A CN114780177A (zh) | 2022-04-14 | 2022-04-14 | 事务执行方法及装置、存储介质及电子装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114780177A true CN114780177A (zh) | 2022-07-22 |
Family
ID=82428676
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210391378.3A Pending CN114780177A (zh) | 2022-04-14 | 2022-04-14 | 事务执行方法及装置、存储介质及电子装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114780177A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115756768A (zh) * | 2023-01-10 | 2023-03-07 | 深圳复临科技有限公司 | 基于saga的分布式事务处理方法、装置、设备及介质 |
-
2022
- 2022-04-14 CN CN202210391378.3A patent/CN114780177A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115756768A (zh) * | 2023-01-10 | 2023-03-07 | 深圳复临科技有限公司 | 基于saga的分布式事务处理方法、装置、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103152390B (zh) | 分布式存储系统的节点配置方法、装置、节点及系统 | |
CN109968352B (zh) | 一种机器人控制方法及机器人、具有存储功能的装置 | |
CN107948318B (zh) | 多节点间的缓存同步方法和系统 | |
CN110262873B (zh) | 容器应用的配置修改方法、装置、计算机设备及存储介质 | |
JPH1118120A (ja) | インテリジェントネットワークシステムのプロセス制御方式 | |
CN114780177A (zh) | 事务执行方法及装置、存储介质及电子装置 | |
CN112632375A (zh) | 会话信息处理方法、服务器及存储介质 | |
CN109697112B (zh) | 分布式集约化一站式作业系统和实现方法 | |
CN107463390B (zh) | 一种软件升级方法及升级服务器 | |
CN110650164B (zh) | 文件的上传方法、装置、终端以及计算机存储介质 | |
CN113946427A (zh) | 用于多操作系统的任务处理方法、处理器及存储介质 | |
EP3935514A1 (en) | Asynchronous storage management in a distributed system | |
CN108536541B (zh) | 流程引擎对象处理方法及装置 | |
CN109460193B (zh) | 一种存储系统中io处理方法、装置及终端 | |
CN110460989B (zh) | 电话号码的设置方法、装置及系统 | |
CN113302593A (zh) | 任务处理方法、装置、系统、电子设备及存储介质 | |
CN111625323A (zh) | 分布式任务处理方法、装置、设备及计算机可读存储介质 | |
WO2016176045A1 (en) | System, method, and apparatus for updating data in a distributed storage system | |
CN111200833A (zh) | 一种网元状态的确定方法及装置 | |
CN115412609A (zh) | 一种业务处理方法、装置、服务器及存储介质 | |
CN109901933B (zh) | 业务系统的操作方法及装置、存储介质、电子装置 | |
JP3627619B2 (ja) | 二相コミット回避方式およびそのプログラム記録媒体 | |
CN107168685B (zh) | 更新脚本的方法及装置、计算机终端 | |
CN109542598B (zh) | 定时任务管理方法及装置 | |
CN110569231A (zh) | 数据迁移方法、装置、设备和介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |