CN103677968B - 事务处理方法、事务协调器装置、事务参与者装置及系统 - Google Patents
事务处理方法、事务协调器装置、事务参与者装置及系统 Download PDFInfo
- Publication number
- CN103677968B CN103677968B CN201210330259.3A CN201210330259A CN103677968B CN 103677968 B CN103677968 B CN 103677968B CN 201210330259 A CN201210330259 A CN 201210330259A CN 103677968 B CN103677968 B CN 103677968B
- Authority
- CN
- China
- Prior art keywords
- affairs
- request
- preparation
- preparation request
- pending
- 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.)
- Active
Links
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本发明适用计算机技术领域,提供了一种事务处理方法、事务协调器装置、事务参与者装置及系统,包括:接收输入的待处理事务的处理请求;为第一事务生成对应的准备请求,向所有事务参与者发送第一事务对应的准备请求;当接收到所有事务参与者返回的准备成功的响应后,执行第一事务对应的本地提交操作;接收输入的下一个待处理事务的处理请求,为第二事务生成对应的准备请求;为第一事务生成对应的提交请求,将第一事务对应的提交请求封装在第二事务对应的准备请求中,向所有事务参与者发送第二事务对应的准备请求,如此循环处理所有待处理事务,直至处理完毕。本发明实现了第一事务与第二事务的流水线处理,提高了事务协调器装置的事务处理效率。
Description
技术领域
本发明属于计算机技术领域,尤其涉及事务处理方法、事务协调器装置、事务参与者装置及系统。
背景技术
两阶段提交协议是分布式事务处理过程中一个广泛使用的协议,以保证数据的强一致性。两阶段提交协议中,每个事务都会经历两个状态:准备(prepare)和提交(commit)。该协议中包含一个事务协调器(coordinator)以及若干个事务参与者(cohort)。然而,现有两阶段提交协议中事务协调器和事务参与者的每个步骤都需要完成后才能进入下一个步骤,步骤间需要串行等待,使得单个请求耗时大,事务协调器吞吐率小、事务处理效率低。
发明内容
本发明实施例的目的在于提供一种事务处理方法,旨在解决现有技术无法提供一种有效的分布式事务处理方式,导致分布式事务处理效率低下的问题。
本发明实施例是这样实现的,一种事务处理方法,所述方法包括下述步骤:
接收输入的待处理事务的处理请求,将所述待处理事务记为第一事务;
根据预设的准备请求生成方式,为所述第一事务生成对应的准备请求,向所有事务参与者发送所述第一事务对应的准备请求;
当接收到所述所有事务参与者返回的准备成功的响应后,执行所述第一事务对应的本地提交操作;
接收输入的下一个待处理事务的处理请求,将所述下一个待处理事务记为第二事务,根据所述预设的准备请求生成方式,为所述第二事务生成对应的准备请求;
为所述第一事务生成对应的提交请求,将所述第一事务对应的提交请求封装在所述第二事务对应的准备请求中,向所述所有事务参与者发送所述第二事务对应的准备请求,如此循环处理所有待处理事务,直至处理完毕。
本发明实施例的另一目的在于提供一种事务协调器装置,所述装置包括:
第一事务接收单元,用于接收输入的待处理事务的处理请求,将所述待处理事务记为第一事务;
第一准备请求生成单元,用于根据预设的准备请求生成方式,为所述第一事务生成对应的准备请求,向所有事务参与者发送所述第一事务对应的准备请求;
提交执行单元,用于当接收到所述所有事务参与者返回的准备成功的响应后,执行所述第一事务对应的本地提交操作;
第二准备请求生成单元,用于接收输入的下一个待处理事务的处理请求,将所述下一个待处理事务记为第二事务,根据所述预设的准备请求生成方式,为所述第二事务生成对应的准备请求;以及
准备请求发送单元,用于为所述第一事务生成对应的提交请求,将所述第一事务对应的提交请求封装在所述第二事务对应的准备请求中,向所述所有事务参与者发送所述第二事务对应的准备请求。
本发明实施例的另一目的在于提供一种事务处理方法,所述方法包括:
接收事务协调器装置发送的待处理事务对应的准备请求,将所述待处理事务记为第一事务;
当完成所述准备请求所对应的事务准备操作后,向所述事务协调器装置返回准备成功响应;
接收事务协调器装置发送的下一待处理事务对应的准备请求,将所述下一待处理事务记为第二事务,所述第二事务对应的准备请求包括所述事务协调器装置为所述第一事务生成的提交请求;
执行所述第一事务对应的提交操作以及所述第二事务对应的准备请求所对应的事务准备操作,如此循环处理接收到的所有待处理事务,直至处理完毕。
本发明实施例的另一目的在于提供一种事务参与者装置,所述装置包括:
第一准备请求接收单元,用于接收事务协调器装置发送的待处理事务对应的准备请求,将所述待处理事务记为第一事务;
响应返回单元,用于当完成所述准备请求所对应的事务准备操作后,向所述事务协调器装置返回准备成功响应;
第二准备请求接收单元,用于接收事务协调器装置发送的下一待处理事务对应的准备请求,将所述下一待处理事务记为第二事务,所述第二事务对应的准备请求包括所述事务协调器装置为所述第一事务生成的提交请求;以及
操作执行单元,用于执行所述第一事务对应的提交操作以及所述第二事务对应的准备请求所对应的事务准备操作。
本发明实施例的另一目的在于提供一种事务处理方法,所述方法包括:
事务协调器装置接收输入的待处理事务的处理请求,将所述待处理事务记为第一事务,根据预设的准备请求生成方式,为所述第一事务生成对应的准备请求,向所有事务参与者装置发送所述第一事务对应的准备请求;
事务参与者装置接收事务协调器装置发送的第一事务对应的准备请求,当完成所述准备请求所对应的事务准备操作后,向所述事务协调器装置返回准备成功响应;
事务协调器装置当接收到所有事务参与者装置返回的准备成功的响应后,执行所述第一事务对应的本地提交操作,接收输入的下一个待处理事务的处理请求,将所述下一个待处理事务记为第二事务,根据所述预设的准备请求生成方式,为所述第二事务生成对应的准备请求,为所述第一事务生成对应的提交请求,将所述第一事务对应的提交请求封装在所述第二事务对应的准备请求中,向所述所有事务参与者发送所述第二事务对应的准备请求;
事务参与者装置接收事务协调器装置发送的所述第二事务对应的准备请求,所述准备请求包括所述事务协调器装置为所述第一事务生成的提交请求,执行所述第一事务对应的提交操作以及所述第二事务对应的准备请求所对应的事务准备操作,如此循环处理接收到的所有待处理事务,直至处理完毕。
本发明实施例的另一目的在于提供一种事务处理系统,所述系统包括上述的事务协调器装置以及上述的事务参与者装置。
本发明实施例在接收到所有事务参与者返回的准备成功的响应后,执行第一事务对应的本地提交操作,并为接收的第二事务生成对应的准备请求,将为第一事务生成的提交请求封装在第二事务对应的准备请求中,向所有事务参与者发送该准备请求,实现了第一事务与第二事务的流水线处理,在事务处理过程中,无需等待第一事务处理完成后再执行第二事务,从而提高了事务协调器装置的事务处理效率。
附图说明
图1是本发明实施例一提供的事务处理方法的实现流程图;
图2是本发明实施例二提供的事务协调器装置的结构图;
图3是本发明实施例三提供的事务处理方法的实现流程图;
图4是本发明实施例四提供的事务参与者装置的结构图;以及
图5是本发明实施例五提供的事务处理方法的实现流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
以下结合具体实施例对本发明的具体实现进行详细描述:
实施例一:
图1示出了本发明实施例一提供的事务处理方法的实现流程,详述如下:
在步骤S101中,接收输入的待处理事务的处理请求,将待处理事务记为第一事务。
在本发明实施例中,接收输入的待处理事务的处理请求时,可以批量地接收。具体地,可以从预设的缓存区获取一批待处理事务的处理请求,该一批待处理事务的处理请求包括预设数量的待处理事务的处理请求,再将预设数量的待处理事务的处理请求作为输入,处理该批处理请求后,再进行下一批处理请求的获取、处理。其中,待处理事务可以是数据库数据插入、更新操作等分布式事务。
在步骤S102中,根据预设的准备请求生成方式,为第一事务生成对应的准备请求,向所有事务参与者发送第一事务对应的准备请求。
在本发明实施例中,根据预设的准备请求生成方式,为第一事务生成对应的准备请求,向第一事务的所有事务参与者发送第一事务对应的准备请求。其中,预设的准备请求生成方式包括准备请求的生成格式、封装协议等。
在步骤S103中,当接收到所有事务参与者返回的准备成功的响应后,执行第一事务对应的本地提交操作。
在本发明实施例中,当所有事务参与者准备完成后,会向事务协调器装置返回准备成功的响应,事务协调器装置接收到所有事务参与者返回的准备成功的响应后,执行第一事务对应的本地提交操作,本地提交操作包括将此次提交事务写入日志文件、执行此次事务对应的磁盘操作等。
在步骤S104中,接收输入的下一个待处理事务的处理请求,将下一个待处理事务记为第二事务,根据预设的准备请求生成方式,为第二事务生成对应的准备请求。
在本发明实施例中,执行第一事务对应的本地提交操作时,可以同时接收输入的下一个待处理事务的处理请求,根据预设的准备请求生成方式,为该下一个待处理事务生成对应的准备请求,在这里,将下一个待处理事务记为第二事务。例如,可以利用并发技术,在执行第一事务对应的本地提交操作时,并发地执行接收输入的下一个待处理事务的处理请求,根据预设的准备请求生成方式,为该下一个待处理事务生成对应的准备请求的步骤。具体地,可以调用预先生成的(例如,线程池中预先生成的)两个线程,一个用于执行第一事务对应的本地提交操作,另一个用于处理第二事务对应的准备请求的生成操作,实现两个事务的并发处理,无需等待第一事务的本地提交完成后再进行第二事务对应的准备请求的生成,从而整体上节约事务的处理时间,提高事务的处理效率。
在步骤S105中,为第一事务生成对应的提交请求,将第一事务对应的提交请求封装在第二事务对应的准备请求中,向所有事务参与者发送第二事务对应的准备请求,如此循环处理所有待处理事务,直至处理完毕。
对第一事务进行本地提交后,还需要所有事务参与者进行各自的提交,以保证事务操作的一致性。因此,事务协调器装置还需要为第一事务生成对应的提交请求,将该请求发送给所有事务参与者,请求所有事务参与者进行各自的提交。在本发明实施实施例中,第一事务的提交请求被封装在第二事务对应的准备请求中,一起发送给所有事务参与者,从而减少事务协调器装置和所有事务参与者之间的通信次数,提高通信效率。
在本发明实施例中,当接收到所有事务参与者返回的第二事务对应的准备成功的响应后,执行第二事务对应的本地提交操作,接收输入的下一个待处理事务的处理请求,将下一个待处理事务记为第三事务,根据预设的准备请求生成方式,为第三事务生成对应的准备请求。如此循环地执行接收到的事务,直至所有的事务处理完毕。
在本发明实施实施例中,为了对事务的处理过程进行安全审计以及保证事务的可回滚性,将向所有事务参与者发送第二事务对应的准备请求的步骤对应的日志信息写入到一条记录中,并存储到预先建立的日志文件,在该条记录中包括为第一事务生成的提交请求对应的标识、为第二事务生成的准备请求对应的标识以及一个全局标识,从而减少了记录的数目,同时,通过全局标识对记录进行校验,保证了记录的连续性和正确性。
在本发明实施实施例中,事务协调器装置执行第一事务对应的本地提交操作后,向用户输出分布式事务处理响应信息,作为示例地,向用户输出分布式事务处理响应信息的步骤可以与为第一事务生成对应的提交请求、将第一事务对应的提交请求封装在第二事务对应的准备请求中、向所有事务参与者发送第二事务对应的准备请求的步骤并发执行,以提高事务执行的并发度。
在本发明实施例中,事务协调器装置在执行第一事务的本地提交操作时,并发地执行第二事务的准备请求生成操作,提高了事务的处理效率,并将第一事务对应的提交请求封装在第二事务对应的准备请求中发送所有事务参与者,从而减少了事务协调器装置与事务参与者之间的网络通信量,提高了事务协调器装置与事务参与者之间的通信效率。
实施例二:
图2示出了本发明实施例二提供的事务协调器装置的结构,为了便于说明,仅示出了与本发明实施例相关的部分,其中事务协调器装置2包括第一事务接收单元21、第一准备请求生成单元22、提交执行单元23、第二准备请求生成单元24以及提交请求发送单元25,其中:
第一事务接收单元21,用于接收输入的待处理事务的处理请求,将待处理事务记为第一事务。
第一准备请求生成单元22,用于根据预设的准备请求生成方式,为第一事务生成对应的准备请求,向所有事务参与者发送第一事务对应的准备请求。
提交执行单元23,用于当接收到所有事务参与者返回的准备成功的响应后,执行第一事务对应的本地提交操作。
第二准备请求生成单元24,用于接收输入的下一个待处理事务的处理请求,将下一个待处理事务记为第二事务,根据预设的准备请求生成方式,为第二事务生成对应的准备请求。
准备请求发送单元25,用于为第一事务生成对应的提交请求,将第一事务对应的提交请求封装在第二事务对应的准备请求中,向所有事务参与者发送第二事务对应的准备请求。
进一步地,在本发明实施例中,事务协调器装置2还可以包括:
处理请求获取单元26,用于获取一批待处理事务的处理请求,该一批待处理事务的处理请求包括预设数量的待处理事务的处理请求,将预设数量的待处理事务的处理请求作为输入。
进一步地,在本发明实施例中,事务协调器装置2还可以包括:
第一记录写入单元27,用于将向所有事务参与者发送第二事务对应的准备请求的步骤对应的日志信息写入到一条记录中,并存储到预先建立的日志文件。
在本发明实施例中,该一条记录中包括为第一事务生成的提交请求对应的标识、为第二事务生成的准备请求对应的标识以及一个全局标识。
进一步地,在本发明实施例中,事务协调器装置2还可以包括:
响应信息发送单元28,用于向用户输出分布式事务处理响应信息。
在本发明实施例中,事务协调器装置2中各组成单元的具体实施方式与实施例一中各步骤对应相同,在此不再赘述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于一计算机可读取存储介质中,所述的存储介质,如ROM/RAM、磁盘、光盘等。
实施例三:
图3示出了本发明实施例三提供的事务处理方法的实现流程,详述如下:
在步骤S301中,接收事务协调器装置发送的待处理事务对应的准备请求,将待处理事务记为第一事务。
在步骤S302中,当完成准备请求所对应的事务准备操作后,向事务协调器装置返回准备成功响应。
在本发明实施例中,当事务参与者接收到事务协调器装置发送的待处理事务对应的准备请求(该待处理事务记为第一事务)后,执行该准备请求所对应的事务准备操作,例如,资源的分配等。具体地,如内存等共享资源的分配等。当完成准备请求所对应的事务准备操作后,向事务协调器装置返回准备成功响应。
在步骤S303中,接收事务协调器装置发送的下一待处理事务对应的准备请求,将下一待处理事务记为第二事务,第二事务对应的准备请求包括事务协调器装置为第一事务生成的提交请求。
在步骤S304中,执行第一事务对应的提交操作以及第二事务对应的准备请求所对应的事务准备操作,如此循环处理接收到的所有待处理事务,直至处理完毕。
在本发明实施例中,事务参与者向事务协调器装置返回准备成功响应后,若事务协调器装置完成其本地提交,且返回第二事务对应的准备请求时,事务参与者执行第二事务对应的准备请求中封装的第一事务对应的提交操作,并执行第二事务对应的事务准备操作,当完成第二事务准备请求所对应的事务准备操作后,向事务协调器装置返回准备成功响应,如此循环处理接收到的所有待处理事务直至处理完毕。
在本发明实施例中,发送给事务参与者的第二事务的准备请求中包括事务协调器装置为第一事务生成的准备请求,减少了事务参与者与事务协调器装置之间的通信量,提高了事务参与者的事务处理效率。
在本发明实施例中,为了对事务的处理过程进行安全审计以及保证事务的可回滚性,将接收事务协调器装置发送的下一待处理事务对应的准备请求的步骤对应的日志信息写入到一条记录中,并存储到预先建立的日志文件。该一条记录中包括为第一事务生成的提交请求对应的标识、为第二事务生成的准备请求对应的标识以及一个全局标识,从而减少了记录的数目,同时,通过全局标识对记录进行校验,保证了记录的连续性和正确性。
实施例四:
图4示出了本发明实施例四提供的事务参与者装置的结构,为了便于说明,仅示出了与本发明实施例相关的部分,事务参与者装置4包括第一准备请求接收单元41、响应返回单元42、第二准备请求接收单元43以及操作执行单元44,其中:
第一准备请求接收单元41,用于接收事务协调器装置发送的待处理事务对应的准备请求,将待处理事务记为第一事务。
响应返回单元42,用于当完成准备请求所对应的事务准备操作后,向事务协调器装置返回准备成功响应。
第二准备请求接收单元43,用于接收事务协调器装置发送的第一事务对应的提交请求,该提交请求包括事务协调器装置为下一待处理事务生成的准备请求,将下一待处理事务记为第二事务。
操作执行单元44,用于执行第一事务对应的提交操作以及第二事务对应的准备请求所对应的事务准备操作。
进一步地,在本发明实施例中,事务参与者装置4还可以包括:
第二记录写入单元45,用于将接收事务协调器装置发送的下一待处理事务对应的准备请求的步骤对应的日志信息写入到一条记录中,并存储到预先建立的日志文件。
在本发明实施例中,事务参与者装置4中各组成单元的具体实施方式与实施例三中各步骤对应相同,在此不再赘述。
实施例五:
图5示出了本发明实施例五提供的事务处理方法的实现流程,详述如下:
在步骤S501中,事务协调器装置接收输入的待处理事务的处理请求,将待处理事务记为第一事务,根据预设的准备请求生成方式,为第一事务生成对应的准备请求。
在步骤S502中,事务协调器装置向事务参与者装置发送第一事务对应的准备请求。
在步骤S503中,事务参与者装置接收事务协调器装置发送的第一事务对应的准备请求,执行准备请求所对应的事务准备操作。
在步骤S504中,当完成准备请求所对应的事务准备操作后,事务参与者向事务协调器装置返回准备成功响应。
在步骤S505中,事务协调器装置当接收到所有事务参与者装置返回的准备成功的响应后,执行第一事务对应的本地提交操作。
在步骤S506中,事务协调器装置接收输入的下一个待处理事务的处理请求,将下一个待处理事务记为第二事务。
在步骤S507中,事务协调器装置根据预设的准备请求生成方式,为第二事务生成对应的准备请求,为第一事务生成对应的提交请求,将第一事务对应的提交请求封装在第二事务对应的准备请求中。
在本发明实施例中,执行第一事务对应的本地提交操作时,可以同时接收输入的下一个待处理事务的处理请求,根据预设的准备请求生成方式,为该下一个待处理事务生成对应的准备请求,在这里,将下一个待处理事务记为第二事务。例如,可以利用并发技术,在执行第一事务对应的本地提交操作时,并发地执行接收输入的下一个待处理事务的处理请求,根据预设的准备请求生成方式,为该下一个待处理事务生成对应的准备请求的步骤。具体地,可以调用预先生成的(例如,线程池中预先生成的)两个线程,一个用于执行第一事务对应的本地提交操作,另一个用于处理第二事务对应的准备请求的生成操作,实现两个事务的并发处理,无需等待第一事务的本地提交完成后再进行第二事务对应的准备请求的生成,从而整体上节约事务的处理时间,提高事务的处理效率。
在步骤S508中,向所有事务参与者装置发送第二事务对应的准备请求。
在步骤S509中,事务参与者装置执行第一事务对应的提交操作以及第二事务对应的准备请求所对应的事务准备操作,如此循环处理接收到的所有待处理事务,直至处理完毕。
在本发明实施例中,各个事务参与者装置接收事务协调器装置发送的第二事务对应的准备请求,该准备请求包括事务协调器装置为第一事务生成的提交请求,可采用并发技术,执行第一事务对应的提交操作以及第二事务对应的准备请求所对应的事务准备操作。
在本发明实施例的另一实施例中,还提供了一种事务处理系统,该系统包括上述实施二的事务协调器装置以及实施例四中的事务参与者装置。
在本发明实施例中,事务协调器装置在执行第一事务的本地提交操作时,并发地执行第二事务的准备请求生成操作,提高了事务的处理效率,并将第一事务对应的提交请求封装在为第二事务对应的准备请求中发送所有事务参与者,从而减少了事务协调器装置与事务参与者之间的网络通信量,提高了事务协调器装置与事务参与者之间的通信效率。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (17)
1.一种事务处理方法,其特征在于,所述方法包括下述步骤:
接收输入的待处理事务的处理请求,将所述待处理事务记为第一事务;
根据预设的准备请求生成方式,为所述第一事务生成对应的准备请求,向所有事务参与者发送所述第一事务对应的准备请求;
当接收到所述所有事务参与者返回的准备成功的响应后,执行所述第一事务对应的本地提交操作,并同时接收输入的下一个待处理事务的处理请求,将所述下一个待处理事务记为第二事务,根据所述预设的准备请求生成方式,为所述第二事务生成对应的准备请求;
为所述第一事务生成对应的提交请求,将所述第一事务对应的提交请求封装在所述第二事务对应的准备请求中,向所述所有事务参与者发送所述第二事务对应的准备请求,如此循环处理所有待处理事务,直至处理完毕。
2.如权利要求1所述的方法,其特征在于,所述接收输入的待处理事务的处理请求的步骤之前,还包括:
获取一批待处理事务的处理请求,所述一批待处理事务的处理请求包括预设数量的待处理事务的处理请求,将所述预设数量的待处理事务的处理请求作为输入。
3.如权利要求1或2所述的方法,其特征在于,所述方法还包括:
将所述向所述所有事务参与者发送所述第二事务对应的准备请求的步骤对应的日志信息写入到一条记录中,并存储到预先建立的日志文件。
4.如权利要求3所述的方法,其特征在于,所述一条记录中包括为所述第一事务生成的提交请求对应的标识、所述为所述第二事务生成的准备请求对应的标识以及一个全局标识。
5.如权利要求1所述的方法,其特征在于,所述方法还包括:
向用户输出分布式事务处理响应信息。
6.一种事务协调器装置,其特征在于,所述装置包括:
第一事务接收单元,用于接收输入的待处理事务的处理请求,将所述待处理事务记为第一事务;
第一准备请求生成单元,用于根据预设的准备请求生成方式,为所述第一事务生成对应的准备请求,向所有事务参与者发送所述第一事务对应的准备请求;
提交执行单元,用于当接收到所述所有事务参与者返回的准备成功的响应后,执行所述第一事务对应的本地提交操作;
第二准备请求生成单元,用于在所述提交执行单元执行所述第一事务对应的本地提交操作时,并发的执行接收输入的下一个待处理事务的处理请求,将所述下一个待处理事务记为第二事务,根据所述预设的准备请求生成方式,为所述第二事务生成对应的准备请求;以及
准备请求发送单元,用于为所述第一事务生成对应的提交请求,将所述第一事务对应的提交请求封装在所述第二事务对应的准备请求中,向所述所有事务参与者发送所述第二事务对应的准备请求。
7.如权利要求6所述的装置,其特征在于,所述装置还包括:
处理请求获取单元,用于获取一批待处理事务的处理请求,所述一批待处理事务的处理请求包括预设数量的待处理事务的处理请求,将所述预设数量的待处理事务的处理请求作为输入。
8.如权利要求6或7所述的装置,其特征在于,所述装置还包括:
第一记录写入单元,用于将所述向所述所有事务参与者发送所述第二事务对应的准备请求的步骤对应的日志信息写入到一条记录中,并存储到预先建立的日志文件。
9.如权利要求8所述的装置,其特征在于,所述一条记录中包括为所述第一事务生成的提交请求对应的标识、所述为所述第二事务生成的准备请求对应的标识以及一个全局标识。
10.如权利要求6所述的装置,其特征在于,所述装置还包括:
响应信息发送单元,用于向用户输出分布式事务处理响应信息。
11.一种事务处理方法,其特征在于,所述方法包括:
接收事务协调器装置发送的待处理事务对应的准备请求,将所述待处理事务记为第一事务;
当完成所述准备请求所对应的事务准备操作后,向所述事务协调器装置返回准备成功响应;
接收事务协调器装置发送的下一待处理事务对应的准备请求,将所述下一待处理事务记为第二事务,所述第二事务对应的准备请求包括所述事务协调器装置为所述第一事务生成的提交请求;
执行所述第一事务对应的提交操作以及所述第二事务对应的准备请求所对应的事务准备操作,如此循环处理接收到的所有待处理事务,直至处理完毕。
12.如权利要求11所述的方法,其特征在于,所述方法还包括:
将所述接收事务协调器装置发送的下一待处理事务对应的准备请求的步骤对应的日志信息写入到一条记录中,并存储到预先建立的日志文件。
13.如权利要求12所述的方法,其特征在于,所述一条记录中包括为所述第一事务生成的提交请求对应的标识、所述为所述第二事务生成的准备请求对应的标识以及一个全局标识。
14.一种事务参与者装置,其特征在于,所述装置包括:
第一准备请求接收单元,用于接收事务协调器装置发送的待处理事务对应的准备请求,将所述待处理事务记为第一事务;
响应返回单元,用于当完成所述准备请求所对应的事务准备操作后,向所述事务协调器装置返回准备成功响应;
第二准备请求接收单元,用于接收事务协调器装置发送的下一待处理事务对应的准备请求,将所述下一待处理事务记为第二事务,所述第二事务对应的准备请求包括所述事务协调器装置为所述第一事务生成的提交请求;以及
操作执行单元,用于执行所述第一事务对应的提交操作以及所述第二事务对应的准备请求所对应的事务准备操作。
15.如权利要求14所述的装置,其特征在于,所述装置还包括:
第二记录写入单元,用于将所述接收事务协调器装置发送的下一待处理事务对应的准备请求的步骤对应的日志信息写入到一条记录中,并存储到预先建立的日志文件。
16.一种事务处理方法,其特征在于,所述方法包括:
事务协调器装置接收输入的待处理事务的处理请求,将所述待处理事务记为第一事务,根据预设的准备请求生成方式,为所述第一事务生成对应的准备请求,向所有事务参与者装置发送所述第一事务对应的准备请求;
事务参与者装置接收事务协调器装置发送的第一事务对应的准备请求,当完成所述准备请求所对应的事务准备操作后,向所述事务协调器装置返回准备成功响应;
事务协调器装置当接收到所有事务参与者装置返回的准备成功的响应后,执行所述第一事务对应的本地提交操作,接收输入的下一个待处理事务的处理请求,将所述下一个待处理事务记为第二事务,根据所述预设的准备请求生成方式,为所述第二事务生成对应的准备请求,为所述第一事务生成对应的提交请求,将所述第一事务对应的提交请求封装在所述第二事务对应的准备请求中,向所述所有事务参与者发送所述第二事务对应的准备请求;
事务参与者装置接收事务协调器装置发送的所述第二事务对应的准备请求,所述准备请求包括所述事务协调器装置为所述第一事务生成的提交请求,执行所述第一事务对应的提交操作以及所述第二事务对应的准备请求所对应的事务准备操作,如此循环处理接收到的所有待处理事务,直至处理完毕。
17.一种事务处理系统,其特征在于,所述系统包括如权利要求6所述的事务协调器装置以及如权利要求14所述的事务参与者装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210330259.3A CN103677968B (zh) | 2012-09-07 | 2012-09-07 | 事务处理方法、事务协调器装置、事务参与者装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210330259.3A CN103677968B (zh) | 2012-09-07 | 2012-09-07 | 事务处理方法、事务协调器装置、事务参与者装置及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103677968A CN103677968A (zh) | 2014-03-26 |
CN103677968B true CN103677968B (zh) | 2017-11-10 |
Family
ID=50315625
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210330259.3A Active CN103677968B (zh) | 2012-09-07 | 2012-09-07 | 事务处理方法、事务协调器装置、事务参与者装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103677968B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105426410B (zh) * | 2015-11-02 | 2018-11-09 | 东软集团股份有限公司 | 数据采集系统和用于数据采集系统的分析方法 |
CN105718572B (zh) * | 2016-01-21 | 2017-03-15 | 成都索贝数码科技股份有限公司 | 一种异构数据复合对象的事务一致性达成方法与系统 |
CN106446300A (zh) * | 2016-12-01 | 2017-02-22 | 郑州云海信息技术有限公司 | 一种基于共享存储池的事务处理方法及系统 |
CN110019050A (zh) * | 2017-10-19 | 2019-07-16 | 中兴通讯股份有限公司 | 一种数据回滚方法、系统、设备及计算机可读存储介质 |
CN109783204A (zh) * | 2018-12-28 | 2019-05-21 | 咪咕文化科技有限公司 | 一种分布式事务处理方法、装置及存储介质 |
CN110457116B (zh) * | 2019-07-22 | 2023-10-27 | 创新先进技术有限公司 | 处理事务请求的方法及装置 |
WO2021103036A1 (zh) * | 2019-11-30 | 2021-06-03 | 华为技术有限公司 | 一种事务提交系统、方法及相关设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6539414B1 (en) * | 1998-07-30 | 2003-03-25 | Compaq Computer Corporation | Incorporating collateral and concurrent activity in a data processing transaction |
CN1798031A (zh) * | 2004-12-27 | 2006-07-05 | 北京航空航天大学 | Web服务事务处理系统及处理方法 |
CN101329670A (zh) * | 2007-06-20 | 2008-12-24 | 诺基亚西门子通信公司 | 复制数据库环境下保持数据一致性的方法和系统 |
CN101699439A (zh) * | 2009-11-16 | 2010-04-28 | 中兴通讯股份有限公司 | 一种数据库的事务提交方法和装置 |
CN102306200A (zh) * | 2011-09-22 | 2012-01-04 | 用友软件股份有限公司 | 增量数据操作语句的并发应用装置和方法 |
CN102542379A (zh) * | 2010-12-20 | 2012-07-04 | 中国移动通信集团公司 | 一种计划任务处理方法、系统及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110078516A1 (en) * | 2009-09-28 | 2011-03-31 | International Business Machines Corporation | Method and a system for performing a two-phase commit protocol |
-
2012
- 2012-09-07 CN CN201210330259.3A patent/CN103677968B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6539414B1 (en) * | 1998-07-30 | 2003-03-25 | Compaq Computer Corporation | Incorporating collateral and concurrent activity in a data processing transaction |
CN1798031A (zh) * | 2004-12-27 | 2006-07-05 | 北京航空航天大学 | Web服务事务处理系统及处理方法 |
CN101329670A (zh) * | 2007-06-20 | 2008-12-24 | 诺基亚西门子通信公司 | 复制数据库环境下保持数据一致性的方法和系统 |
CN101699439A (zh) * | 2009-11-16 | 2010-04-28 | 中兴通讯股份有限公司 | 一种数据库的事务提交方法和装置 |
CN102542379A (zh) * | 2010-12-20 | 2012-07-04 | 中国移动通信集团公司 | 一种计划任务处理方法、系统及装置 |
CN102306200A (zh) * | 2011-09-22 | 2012-01-04 | 用友软件股份有限公司 | 增量数据操作语句的并发应用装置和方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103677968A (zh) | 2014-03-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103677968B (zh) | 事务处理方法、事务协调器装置、事务参与者装置及系统 | |
US11876856B2 (en) | Method for computational-power sharing and related device | |
KR102121159B1 (ko) | 이벤트-구동 블록체인 워크플로우 프로세싱 | |
US12081658B2 (en) | Key generation method and apparatus, device, and medium | |
CN105337755A (zh) | 主从架构服务器及其处理业务的方法和处理业务的系统 | |
CN109359992A (zh) | 一种新型的区块链分区分片方式和装置 | |
CN108881227B (zh) | 远程白板系统的操作控制方法和装置、远程白板系统 | |
CN109416673A (zh) | 存储器请求仲裁 | |
CN110070357B (zh) | 数据处理方法、装置和系统 | |
CN109844731A (zh) | 分散式分布式数据库一致性 | |
CN110096511B (zh) | 基于私有链的数据一致性验证方法、装置、设备及介质 | |
CN108900562B (zh) | 登录状态的共享方法、装置、电子设备及介质 | |
CN107527222A (zh) | 信息处理方法和装置及系统 | |
CN108921553A (zh) | 一种门限私钥生成方法、交易方法及相关装置 | |
CN111445337A (zh) | 一种基于5g移动终端的与区块链相关联的账户信息的传输方法及系统 | |
CN116112507A (zh) | 基于分层区块链多任务异步执行方法及装置 | |
CN113807157B (zh) | 基于联邦学习训练神经网络模型的方法、装置和系统 | |
CN112363932B (zh) | 待测试业务对象的测试方法及装置、电子装置 | |
CN112995317B (zh) | 区块链共识方法及区块链节点 | |
CN104008200B (zh) | 锁申请的处理方法和装置 | |
CN106911739A (zh) | 一种信息分发方法及装置 | |
CN113592645B (zh) | 数据验证的方法和装置 | |
CN115361382A (zh) | 基于数据群组的数据处理方法、装置、设备和存储介质 | |
CN105357243B (zh) | 一种与物联网设备远程交互的方法和装置 | |
CN110457116B (zh) | 处理事务请求的方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |