CN103647834B - 一种用于处理多阶段分布式任务调度的系统及方法 - Google Patents

一种用于处理多阶段分布式任务调度的系统及方法 Download PDF

Info

Publication number
CN103647834B
CN103647834B CN201310688919.XA CN201310688919A CN103647834B CN 103647834 B CN103647834 B CN 103647834B CN 201310688919 A CN201310688919 A CN 201310688919A CN 103647834 B CN103647834 B CN 103647834B
Authority
CN
China
Prior art keywords
node
affairs
transaction
host node
stage
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
Application number
CN201310688919.XA
Other languages
English (en)
Other versions
CN103647834A (zh
Inventor
龚伟
武剑锋
王泊
楼晓鸿
林志高
黄寅飞
吴征
徐乾
白硕
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Stock Exchange
Original Assignee
Shanghai Stock Exchange
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shanghai Stock Exchange filed Critical Shanghai Stock Exchange
Priority to CN201310688919.XA priority Critical patent/CN103647834B/zh
Publication of CN103647834A publication Critical patent/CN103647834A/zh
Application granted granted Critical
Publication of CN103647834B publication Critical patent/CN103647834B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明涉及数据处理领域,具体是一种用于处理多阶段分布式任务调度的系统及方法,所述的系统由若干台负责具体业务处理的主机组成,每台主机负责一个或者多个产品集合处理,所有的主机之间通过存储区域网络共享访问磁盘,并通过共享磁盘来进行主机间数据同步,所有交易主机之间通过分布式锁进行消息同步,功能模块负责归属本机产品集合的请求处理,分布式子事务处理主要在每台主机的功能模块完成。本发明同现有技术相比,其优点在于:通过分布式提高多阶段分布式复杂事务的处理效率,降低此类事务处理失败时回滚的成本,特别适用于证券数据处理行业里具有多阶段性、无后效性、子阶段分布性的复杂事务高效可靠处理。

Description

一种用于处理多阶段分布式任务调度的系统及方法
[技术领域]
本发明涉及数据处理领域,尤其涉及高可用集群计算机系统适用于多阶段分布式复杂事务处理要求的处理方法,具体是一种用于处理多阶段分布式任务调度的系统及方法。
[背景技术]
目前,在证券数据处理领域,面临一类被称为多阶段分布式复杂事务的复杂业务,例如ETF(Exchange Tradable Fund,交易所交易基金)申购赎回、一篮子股票同时交易等数据处理需求。该类业务往往具有如下的特点:在时间维度上,可划分为多个时序上相对独立的自然子阶段事务,当且仅当当前子阶段事务处理完毕方能引起下一个子阶段事务处理的开始,在空间维度上,每个子阶段事务内部又由多个可分布处理的子事务组成。事务是一个最小的工作单元,不论成功与否都作为一个整体进行工,由于事务是由几个任务组成的,因此如果一个事务作为一个整体是成功的,则事务中的每个任务都必须成功。如果事务中有一部分失败,则整修事务失败,当事务失败时,系统返回到事务开始前的状态,这个取消所有变化的过程称为“回滚”。
针对这类复杂事务,现有的处理方法有两类,一类是整体统一事务处理模式,一类是分布式两阶段事务处理模式,如果整体统一事务处理的模式,可以将这类复杂事务整个作为一个原子事务来进行处理,整体处理一阶段提交,处理成功则整体提交,否则整体回滚。整体处理的方式保证了事务的完整性,但是一旦发生回滚的时候,整体处理的开销将会很大,而现有的分布式两阶段事务处理,将分布式事务分为两个阶段进行:第一阶段准备阶段和第二阶段的提交阶段,在准备阶段,各个子事务可以分布式进行处理,并且各个子事务都完成了几乎所有的正式提交工作,在提交阶段进行整个事务的提交或者回滚操作,分布式两阶段事务处理也保证了事务的完整性,但是这种机制也是要求所有子任务要么全做要么全不做,无法实现在子阶段层面的回滚重做,同时,两阶段事务处理方式也未体现出复杂事务的分阶段处理思想。
[发明内容]
本发明是根据现有事务处理机制的现状,特别针对复杂事务的子阶段分布式处理以及子阶段细粒度回滚重做的技术难点,实现将复杂业务的处理放置在时序上多个独立自然子阶段的维度,每个子阶段又分布式进行处理,降低回滚成本的目的,提供一种用于处理多阶段分布式任务调度的系统及方法。
为了实现上述目的,发明一种用于处理多阶段分布式任务调度的系统,所述的系统由若干台负责具体业务处理的主机组成,每台主机负责一个或者多个产品集合处理,所有的主机之间通过存储区域网络共享访问磁盘,并通过共享磁盘来进行主机间数据同步,所有交易主机之间通过分布式锁进行消息同步,每台主机均部署功能模块和架构模块,功能模块负责归属本机产品集合的请求处理,分布式子事务处理主要在每台主机的功能模块完成,架构模块负责各主机在主机集群中的通讯和协调,多阶段任务调度则主要通过架构模块实施,在主机集群工作时,主机内部会推举一台主机兼做集群主节点,其他节点则自然成为集群从节点,主节点除了要负责归属本机产品集合的处理任务以外,还需承担整个集群上异步作业的管理,包括创建集群上的异步作业、触发从节点的数据同步、汇总从节点的处理结果。
所述的系统将需要处理的事务全集划分为多个独立性、完备性的事务处理空间,所述的独立性指不同事务的处理空间无交集,所述的完备性指其中一个产品的事务处理只需在该产品对应的事务处理空间中即可完成,将各个独立完备的事务处理空间划分到多个产品集合,并将不同产品集合分布到不同的业务主机上进行处理,整个多机集群系统为多个独立处理的节点构成,所有独立处理节点的交集为空,并集为全体事务。
所述的系统中所有从前台发来的事务通过通信层路由到主节点的架构模块,主节点架构模块将事务数据记入共享磁盘的工作页面日志文件,并通过同步锁触发从节点架构模块对于工作页面日志文件的重演,主从节点的架构模块会将归属自己的事务请求发送到本机的功能模块执行处理,功能模块处理后的响应信息则通过通信层汇总到主节点架构模块,主节点架构模块处理完整个事务后,会通过通信层将响应信息下发回前台请求。
所述的系统中所有的事务请求首先由主节点架构模块开始处理,主节点架构模块完成校验工作后,为事务请求创建一个异步作业,并将该异步事务作业发送到功能模块执行,此后主节点架构模块立即触发从节点架构模块对于工作页面日志文件的重演,从节点架构模块即根据日志文件中记录的数据在本地创建相同的事务异步作业和请求数据,并将作业请求也发送到本地的功能模块处理,各节点的功能模块通过异步请求的方式接收到事务请求,其根据事务当前处理阶段情况执行相关的操作,并将处理完成后所有的执行结果返回到主节点架构模块,以便继续的处理;主节点架构模块收到功能模块的执行结果后,检查当前的异步事务列表是否所有主机上的异步作业都已经完成,仅当事务请求的所有异步作业都已经完成后,执行处理阶段的切换,然后对当前处理阶段下的后续功能进行收尾处理,在完成了所有请求的处理,主节点架构模块通过阶段结束函数创建异步作业,此时如果事务已经处理到最后一阶段,阶段结束会直接返回,否则会创建新的异步作业并准备触发从节点的消息,开启下一阶段的处理流程;完成所有阶段的处理后,主节点架构模块提交当前请求的处理事务,并最终将请求的处理结果返回给前台应用,如果处理过程中发生技术性的错误,可以在子阶段子事务层面进行回滚重做,无需回滚整个事务。
所述的系统还包括集群中节点失效后备机接管处理系统,在集群中如果发生节点失效退出的情况,集群节点间的同步消息锁会在所有的节点上触发节点退出事件,集群上剩余节点都会响应该事件,如果是主节点失效,则新推举的主节点会根据失效主节点记录在共享磁盘上的工作页面日志文件进行重演,恢复到与失效主节点最后一个记录状态一致,然后继续接管任务处理;如果是从节点失效,则备机直接接管失效从节点的工作,由主节点重发未完成的事务给接管从节点处理,依此机制保证多阶段分布式复杂事务在主机失效的情况下仍可正确处理。
一种采用用于处理多阶段分布式任务调度系统的调度方法,调度方法将复杂业务的处理放置在时序上多个独立自然子阶段的维度,每个子阶段又分布式进行处理,事务的完整性由协调阶段协调整个集群参与者完成所有子阶段来进行保证,事务的回滚则有集群参与者控制在当前子阶段的范畴,降低回滚成本;
具体方法如下:
a.事务多阶段控制方法:在多机集群系统上,整个复杂事务被划分为时序上前后依赖的多个子阶段,分步骤进行事务处理,整个复杂事务的多阶段控制由多机集群系统的主节点承担,主节点在接收到多阶段分布式复杂事务请求后,发起第一阶段的子阶段事务处理并发布到整个集群上进行处理,主节点发起阶段处理后,会标识当前事务处理的阶段,并等待整个集群上的处理结果,当主节点汇总到集群上所有的处理完成信息后,再发起下一阶段的处理,当所有的阶段都处理完成后,主节点则完成整个复杂事务的处理,并进行提交或者回滚,将处理结果下发事务请求方;
b.子事务的中央分发与汇总机制的处理方法:多阶段分布式复杂事务请求进入该集群计算机系统后,由集群主节点的架构模块接受该请求,主节点的架构模块会对这类事务请求执行事务相关的校验工作,校验通过后则会向集群所有节点发出处理请求消息,协调整个交易主机集群开始进行事务处理,复杂事务的阶段划分以及各个阶段需要执行的工作被预先定义在各节点架构模块中,主节点架构模块会根据该定义,分阶段创建异步事务作业,同时往集群内所有节点架构模块发出处理请求,触发各个阶段事务处理的开始;
主节点在创建异步事务作业以后,一方面会将该异步事务作业发送到自己的功能模块执行,另一方面会触发从节点与主节点之间的数据同步,从节点架构模块会根据与主节点同步的数据信息,在本地创建相同的异步事务作业和请求数据,并将作业请求也发送到本地的功能模块处理,集群内部所有节点的功能模块在处理请求消息的时候,会根据当前的所处的事务处理阶段,只去执行请求当前阶段的处理逻辑,此外,集群节点功能模块还会根据本机负责的产品集合情况,只去处理那些归属本机产品集合的作业请求,每个节点功能模块处理完当前阶段自己负责的所有作业请求后,会将处理结果发送到主节点的架构模块,主节点架构模块会记录每个产品集合上的处理结果,当所有的产品集合上的异步作业都处理完成后,主节点架构模块执行事务的阶段切换,然后执行事务的处理完成函数,对完成的异步作业进行功能和业务上的后续处理,当处理完成后,再次执行阶段处理终结函数,其中会创建新的异步事务作业和触发消息;如果当前已经是处理的最后一个阶段,则不再继续创建新的异步事务作业,而视为整个异步的多阶段处理完成;
所述的方法还包括子阶段事务的并发处理与细粒度回滚方法:在每个阶段的处理过程中,阶段内的子事务是分布式并发处理的,每个节点上对自身负责事务的处理不受其他节点处理结果的影响,某一个节点上的处理如果出现技术错误重做事务,并不会打扰到其他节点的处理;还采取细粒度的回滚机制,该方法把一个复杂的事务在时间维度和空间维度两个层面切分成多个子事务,每个事务代表一个阶段一个产品上面的事务请求,如果在子事务处理的过程中发生业务错误,要求整个事务全部回滚,主节点架构模块在阶段处理中会采集到对应错误信息并进行必要的回滚,同时立即结束多阶段处理过程,如果在子事务处理的过程中发生技术错误,可以通过重做子事务来修正,则事务的回滚可局限在子事务层面,降低整个事务回滚时其他正常子事务重新处理的开销。
所述的方法还包括失效重演方法:处理过程中,主从节点之间进行子阶段事务分发汇总的时候,需要进行数据同步,采用节点重演的机制来进行主从节点的数据同步,利用该机制,来应对节点退出的问题,保证多主机集群系统处理复杂事务的可用性,
a.主从节点的数据同步依靠重演的机制来完成,首先,交易主机节点之间通过存储区域网络共享访问磁盘,事务处理过程中,会在共享磁盘上开辟一块共享的工作页面日志文件,用于记录事务处理过程中的数据信息,工作页面日志文件记录的信息是完备的,任何一台交易主机均可根据工作页面日志文件进行主机重演,最终与写入日志的交易主机状态达成一致,上述从节点在本地创建相同的异步事务作业的机制是:主节点架构模块创建异步事务作业,并将作业相关数据记入工作页面日志文件,此后主节点架构模块触发从节点对于工作页面日志文件的重演,接下来从节点架构模块根据日志文件中记录的数据在本地创建相同的异步事务作业;
b.交易主机集群在处理事务请求的过程中,当有任意节点失效退出的时候,所有节点的架构模块都将处理节点退出事件函数,节点退出事件函数里,如果判断是从节点失效,主节点架构模块将直接更新本地的事务队列,将失效节点所在的主机上未处理完成的事务请求删除,不再视为有待处理的事务;然后检查本地的待处理事务列表,重新执行未完成的事务,这样失效主机所负责处理的产品集合上的异步作业,将转由管理该产品集合的备份交易主机继续处理,如果判断是主节点失效,集群中某一个从节点将被推举成为新的主节点,新的主节点架构模块首先根据内存工作页面日志文件中记录的数据,完成本地共享内存更新,保证本地的事务处理完成,这样在下一次定时器触发的时候,新的主节点架构模块将自动检查本地的待处理事务,触发所有的从节点重新执行未处理完成的事务。
本发明同现有技术相比,其优点在于:利用多机集群的主机计算能力,通过分布式提高多阶段分布式复杂事务的处理效率,同时通过分阶段,将事务处理失败时进行事务回滚的粒度控制在子阶段范围内,降低此类事务处理失败时回滚的成本,特别适用于证券数据处理行业里具有多阶段性、无后效性、子阶段分布性的复杂事务高效可靠处理。
[附图说明]
图1为本发明系统部署示意图;
图2为本发明中事务请求多阶段处理流程图;
图3为本发明中节点失效备机接管流程图;
指定图1作为本发明的摘要附图。
[具体实施方式]
下面结合附图对本发明作进一步说明,这种系统的结构和原理对本专业的人来说是非常清楚的。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明提供一种用于处理多阶段分布式任务调度的系统,将复杂业务的处理放置在时序上多个独立自然子阶段的维度,每个子阶段又分布式进行处理,事务的完整性由协调阶段协调整个集群参与者完成所有子阶段来进行保证,事务的回滚则可以有集群参与者控制在当前子阶段的范畴,降低回滚成本。
另提供了一种在多机集群系统上针对多阶段分布式复杂事务进行的阶段控制、中央分发与汇总、子阶段事务的并发处理与细粒度回滚的方法,并提供在该处理方法下,保证系统可用性的失效重演机制,同时,提出一种用于处理多阶段分布式任务调度的高可用集群计算机系统的部署方式。
实施例1
如图1所示,图1是用于处理多阶段分布式任务调度的系统部署方式示意图,图中以两台主机构成的集群为示例,集群节点之间通过同步锁来支持主节点推举、节点间控制消息触发等功能,所有从前台发来的事务通过通信层路由到主节点的架构模块,主节点架构模块将事务数据记入共享磁盘的工作页面日志文件,并通过同步锁触发从节点架构模块对于工作页面日志文件的重演,主从节点的架构模块会将归属自己的事务请求发送到本机的功能模块执行处理,功能模块处理后的响应信息则通过通信层汇总到主节点架构模块,主节点架构模块处理完整个事务后,会通过通信层将响应信息下发回前台请求。
实施例2
图2是事务请求多阶段处理过程中,主从节点架构模块以及其功能模块协同工作的流程图,如图所示,所有的事务请求首先由主节点架构模块开始处理,主节点架构模块完成必要的校验工作后,为事务请求创建一个异步作业,并将该异步事务作业发送到功能模块执行,此后主节点架构模块立即触发从节点架构模块对于工作页面日志文件的重演,从节点架构模块即根据日志文件中记录的数据在本地创建相同的事务异步作业和请求数据,并将作业请求也发送到本地的功能模块处理,各节点的功能模块通过异步请求的方式接收到事务请求,其根据事务当前处理阶段情况执行相关的操作,并将处理完成后所有的执行结果返回到主节点架构模块,以便继续的处理。
主节点架构模块收到功能模块的执行结果后,检查当前的异步事务列表是否所有主机上的异步作业都已经完成,仅当事务请求的所有异步作业都已经完成后,主节点架构模块通过定义的阶段切换函数,执行处理阶段的切换,然后执行定义的事务处理完成函数,对当前处理阶段下的后续功能进行收尾处理,在完成了所有请求的处理,主节点架构模块通过阶段结束函数创建异步作业,此时如果事务已经处理到最后一阶段,阶段结束函数会直接返回;否则会创建新的异步作业并准备触发从节点的消息,开启下一阶段的处理流程。
完成所有阶段的处理后,主节点架构模块提交当前请求的处理事务,并最终将请求的处理结果返回给前台应用。如果处理过程中发生技术性的错误,可以在子阶段子事务层面进行回滚重做,无需回滚整个事务。
实施例3
图3为集群中节点失效后备机接管处理流程图,在集群中如果发生节点失效退出的情况,集群节点间的同步消息锁会在所有的节点上触发节点退出事件,集群上剩余节点都会响应该事件,如果是主节点失效,则新推举的主节点会根据失效主节点记录在共享磁盘上的工作页面日志文件进行重演,恢复到与失效主节点最后一个记录状态一致,然后继续接管任务处理;如果是从节点失效,则备机直接接管失效从节点的工作,由主节点重发未完成的事务给接管从节点处理,依此机制保证多阶段分布式复杂事务在主机失效的情况下仍可正确处理。

Claims (7)

1.一种用于处理多阶段分布式任务调度的系统,其特征在于所述的系统由若干台负责具体业务处理的主机组成,每台主机负责一个或者多个产品集合处理,所有的主机之间通过存储区域网络共享访问磁盘,并通过共享磁盘来进行主机间数据同步,所有交易主机之间通过分布式锁进行消息同步,每台主机均部署功能模块和架构模块,功能模块负责归属本机产品集合的请求处理,分布式子事务处理主要在每台主机的功能模块完成,架构模块负责各主机在主机集群中的通讯和协调,多阶段任务调度则主要通过架构模块实施,在主机集群工作时,主机内部会推举一台主机兼做集群主节点,其他节点则自然成为集群从节点,主节点除了要负责归属本机产品集合的处理任务以外,还需承担整个集群上异步作业的管理,包括创建集群上的异步作业、触发从节点的数据同步、汇总从节点的处理结果,所述的系统将需要处理的事务全集划分为多个独立性、完备性的事务处理空间,所述的独立性指不同事务的处理空间无交集,所述的完备性指其中一个产品的事务处理只需在该产品对应的事务处理空间中即可完成,将各个独立完备的事务处理空间划分到多个产品集合,并将不同产品集合分布到不同的业务主机上进行处理,整个多机集群系统为多个独立处理的节点构成,所有独立处理节点的交集为空,并集为全体事务。
2.如权利要求1所述的一种用于处理多阶段分布式任务调度的系统,其特征在于所述的系统中所有从前台发来的事务通过通信层路由到主节点的架构模块,主节点架构模块将事务数据记入共享磁盘的工作页面日志文件,并通过同步锁触发从节点架构模块对于工作页面日志文件的重演,主从节点的架构模块会将归属自己的事务请求发送到本机的功能模块执行处理,功能模块处理后的 响应信息则通过通信层汇总到主节点架构模块,主节点架构模块处理完整个事务后,会通过通信层将响应信息下发回前台请求。
3.如权利要求1所述的一种用于处理多阶段分布式任务调度的系统,其特征在于所述的系统中所有的事务请求首先由主节点架构模块开始处理,主节点架构模块完成校验工作后,为事务请求创建一个异步作业,并将该异步事务作业发送到功能模块执行,此后主节点架构模块立即触发从节点架构模块对于工作页面日志文件的重演,从节点架构模块即根据日志文件中记录的数据在本地创建相同的事务异步作业和请求数据,并将作业请求也发送到本地的功能模块处理,各节点的功能模块通过异步请求的方式接收到事务请求,其根据事务当前处理阶段情况执行相关的操作,并将处理完成后所有的执行结果返回到主节点架构模块,以便继续的处理;主节点架构模块收到功能模块的执行结果后,检查当前的异步事务列表是否所有主机上的异步作业都已经完成,仅当事务请求的所有异步作业都已经完成后,执行处理阶段的切换,然后对当前处理阶段下的后续功能进行收尾处理,在完成了所有请求的处理,主节点架构模块通过阶段结束函数创建异步作业,此时如果事务已经处理到最后一阶段,阶段结束会直接返回,否则会创建新的异步作业并准备触发从节点的消息,开启下一阶段的处理流程;完成所有阶段的处理后,主节点架构模块提交当前请求的处理事务,并最终将请求的处理结果返回给前台应用,如果处理过程中发生技术性的错误,可以在子阶段子事务层面进行回滚重做,无需回滚整个事务。
4.如权利要求1所述的一种用于处理多阶段分布式任务调度的系统,其特征在于所述的系统还包括集群中节点失效后备机接管处理系统,在集群中如果发生节点失效退出的情况,集群节点间的同步消息锁会在所有的节点上触发节 点退出事件,集群上剩余节点都会响应该事件,如果是主节点失效,则新推举的主节点会根据失效主节点记录在共享磁盘上的工作页面日志文件进行重演,恢复到与失效主节点最后一个记录状态一致,然后继续接管任务处理;如果是从节点失效,则备机直接接管失效从节点的工作,由主节点重发未完成的事务给接管从节点处理,依此机制保证多阶段分布式复杂事务在主机失效的情况下仍可正确处理。
5.一种采用如权利要求1所述的用于处理多阶段分布式任务调度系统的调度方法,其特征在于所述的调度方法将复杂业务的处理放置在时序上多个独立自然子阶段的维度,每个子阶段又分布式进行处理,事务的完整性由协调阶段协调整个集群参与者完成所有子阶段来进行保证,事务的回滚则有集群参与者控制在当前子阶段的范畴,降低回滚成本;
具体方法如下:
a.事务多阶段控制方法:在多机集群系统上,整个复杂事务被划分为时序上前后依赖的多个子阶段,分步骤进行事务处理,整个复杂事务的多阶段控制由多机集群系统的主节点承担,主节点在接收到多阶段分布式复杂事务请求后,发起第一阶段的子阶段事务处理并发布到整个集群上进行处理,主节点发起阶段处理后,会标识当前事务处理的阶段,并等待整个集群上的处理结果,当主节点汇总到集群上所有的处理完成信息后,再发起下一阶段的处理,当所有的阶段都处理完成后,主节点则完成整个复杂事务的处理,并进行提交或者回滚,将处理结果下发事务请求方;
b.子事务的中央分发与汇总机制的处理方法:多阶段分布式复杂事务请求进入该集群计算机系统后,由集群主节点的架构模块接受该请求,主节点的架构模块会对这类事务请求执行事务相关的校验工作,校验通过后则会向集群所有节点发出处理请求消息,协调整个交易主机集群开始进行事务处理,复杂事务的阶段划分以及各个阶段需要执行的工作被预先定义在各节点架构模块中,主节点架构模块会根据该定义,分阶段创建异步事务作业,同时往集群内所有节点架构模块发出处理请求,触发各个阶段事务处理的开始;主节点在创建异步事务作业以后,一方面会将该异步事务作业发送到自己的功能模块执行,另一方面会触发从节点与主节点之间的数据同步,从节点架构模块会根据与主节点同步的数据信息,在本地创建相同的异步事务作业和请求数据,并将作业请求也发送到本地的功能模块处理,集群内部所有节点的功能模块在处理请求消息的时候,会根据当前的所处的事务处理阶段,只去执行请求当前阶段的处理逻辑,此外,集群节点功能模块还会根据本机负责的产品集合情况,只去处理那些归属本机产品集合的作业请求,每个节点功能模块处理完当前阶段自己负责的所有作业请求后,会将处理结果发送到主节点的架构模块,主节点架构模块会记录每个产品集合上的处理结果,当所有的产品集合上的异步作业都处理完成后,主节点架构模块执行事务的阶段切换,然后执行事务的处理完成函数,对完成的异步作业进行功能和业务上的后续处理,当处理完成后,再次执行阶段处理终结函数,其中会创建新的异步事务作业和触发消息;如果当前已经是处理的最后一个阶段,则不再继续创建新的异步事务作业,而视为整个异步的多阶段处理完成。
6.如权利要求5所述的一种用于处理多阶段分布式任务调度方法,其特征在于所述的方法还包括子阶段事务的并发处理与细粒度回滚方法:在每个阶段的处理过程中,阶段内的子事务是分布式并发处理的,每个节点上对自身负责事务的处理不受其他节点处理结果的影响,某一个节点上的处理如果出现技术错误重做事务,并不会打扰到其他节点的处理;还采取细粒度的回滚机制,该方法把一个复杂的事务在时间维度和空间维度两个层面切分成多个子事务,每个事务代表一个阶段一个产品上面的事务请求,如果在子事务处理的过程中发生业务错误,要求整个事务全部回滚,主节点架构模块在阶段处理中会采集到对应错误信息并进行必要的回滚,同时立即结束多阶段处理过程,如果在子事务处理的过程中发生技术错误,可以通过重做子事务来修正,则事务的回滚可局限在子事务层面,降低整个事务回滚时其他正常子事务重新处理的开销。
7.如权利要求5所述的一种用于处理多阶段分布式任务调度方法,其特征在于所述的方法还包括失效重演方法:处理过程中,主从节点之间进行子阶段事务分发汇总的时候,需要进行数据同步,采用节点重演的机制来进行主从节点的数据同步,利用该机制,来应对节点退出的问题,保证多主机集群系统处理复杂事务的可用性,
a.主从节点的数据同步依靠重演的机制来完成,首先,交易主机节点之间通过存储区域网络共享访问磁盘,事务处理过程中,会在共享磁盘上开辟一块共享的工作页面日志文件,用于记录事务处理过程中的数据信息,工作页面日志文件记录的信息是完备的,任何一台交易主机均可根据工作页面日志文件进行主机重演,最终与写入日志的交易主机状态达成一致,上述从节点在本地创建相同的异步事务作业的机制是:主节点架构模块创建异步事务作 业,并将作业相关数据记入工作页面日志文件,此后主节点架构模块触发从节点对于工作页面日志文件的重演,接下来从节点架构模块根据日志文件中记录的数据在本地创建相同的异步事务作业;
b.交易主机集群在处理事务请求的过程中,当有任意节点失效退出的时候,所有节点的架构模块都将处理节点退出事件函数,节点退出事件函数里,如果判断是从节点失效,主节点架构模块将直接更新本地的事务队列,将失效节点所在的主机上未处理完成的事务请求删除,不再视为有待处理的事务;然后检查本地的待处理事务列表,重新执行未完成的事务,这样失效主机所负责处理的产品集合上的异步作业,将转由管理该产品集合的备份交易主机继续处理,如果判断是主节点失效,集群中某一个从节点将被推举成为新的主节点,新的主节点架构模块首先根据内存工作页面日志文件中记录的数据,完成本地共享内存更新,保证本地的事务处理完成,这样在下一次定时器触发的时候,新的主节点架构模块将自动检查本地的待处理事务,触发所有的从节点重新执行未处理完成的事务。
CN201310688919.XA 2013-12-16 2013-12-16 一种用于处理多阶段分布式任务调度的系统及方法 Active CN103647834B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310688919.XA CN103647834B (zh) 2013-12-16 2013-12-16 一种用于处理多阶段分布式任务调度的系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310688919.XA CN103647834B (zh) 2013-12-16 2013-12-16 一种用于处理多阶段分布式任务调度的系统及方法

Publications (2)

Publication Number Publication Date
CN103647834A CN103647834A (zh) 2014-03-19
CN103647834B true CN103647834B (zh) 2017-03-22

Family

ID=50252988

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310688919.XA Active CN103647834B (zh) 2013-12-16 2013-12-16 一种用于处理多阶段分布式任务调度的系统及方法

Country Status (1)

Country Link
CN (1) CN103647834B (zh)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104243554B (zh) * 2014-08-20 2017-10-20 南京南瑞继保工程技术有限公司 一种集群系统中的时序库主备机内存同步方法
CN104486319B (zh) * 2014-12-09 2018-06-19 上海爱数信息技术股份有限公司 适用于高可用系统的配置文件实时同步方法及其系统
CN107122354B (zh) 2016-02-24 2020-05-08 华为技术有限公司 事务执行方法、装置及系统
CN107203531A (zh) * 2016-03-16 2017-09-26 阿里巴巴集团控股有限公司 一种文件处理方法和装置
CN105912588A (zh) * 2016-03-31 2016-08-31 中国农业银行股份有限公司 一种基于内存计算的大数据可视化处理方法及系统
CN107612950B (zh) * 2016-07-11 2021-02-05 阿里巴巴集团控股有限公司 一种提供服务的方法、装置、系统、电子设备
CN108255889A (zh) * 2016-12-30 2018-07-06 深圳壹账通智能科技有限公司 多个征信机构的数据处理方法及装置
CN107784479A (zh) * 2017-02-16 2018-03-09 平安科技(深圳)有限公司 一种业务流程处理方法和装置
CN107402806B (zh) * 2017-04-20 2020-08-18 阿里巴巴集团控股有限公司 分布式文件架构的任务处理方法和装置
CN107423122B (zh) * 2017-07-25 2020-08-18 苏州博纳讯动软件有限公司 一种复杂运维作业编排与调度系统及其方法
CN107832124B (zh) * 2017-09-25 2021-07-09 创新先进技术有限公司 一种在文件处理系统中处理任务的方法和装置
CN109656690A (zh) * 2017-10-11 2019-04-19 阿里巴巴集团控股有限公司 调度系统、方法和存储介质
CN109451078B (zh) * 2019-01-10 2022-05-03 网易(杭州)网络有限公司 一种分布式架构下的事务处理方法和装置
CN110633145B (zh) * 2019-08-27 2023-03-31 苏宁云计算有限公司 一种分布式系统内实时通讯方法、装置及分布式系统
CN112799827A (zh) * 2019-11-14 2021-05-14 广州凡科互联网科技股份有限公司 一种跨服务数据库事务的保证方法
CN110955508B (zh) * 2019-11-28 2021-04-13 广州鼎甲计算机科技有限公司 基于分布式架构的异步任务调度方法、装置和计算机设备
CN110990182B (zh) * 2019-12-03 2021-06-11 腾讯科技(深圳)有限公司 事务处理方法、装置、设备及存储介质
US11544245B2 (en) 2019-12-03 2023-01-03 Tencent Technology (Shenzhen) Company Limited Transaction processing method, apparatus, and device and computer storage medium
CN110955509A (zh) * 2019-12-11 2020-04-03 深圳迅策科技有限公司 一种金融并发交易处理装置
CN112948475A (zh) * 2021-01-25 2021-06-11 上海契云科技有限公司 数据导入导出子系统
CN113792051B (zh) * 2021-09-17 2023-08-25 河北幸福消费金融股份有限公司 基于多模态锁的数据处理方法、系统、设备和存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102207883A (zh) * 2011-06-01 2011-10-05 华中科技大学 异构分布式实时系统的事务调度方法
CN102891849A (zh) * 2012-09-25 2013-01-23 北京星网锐捷网络技术有限公司 业务数据同步方法、恢复方法及装置和网络设备
CN102929585A (zh) * 2012-09-25 2013-02-13 上海证券交易所 一种支持多主机分布式数据处理的批处理方法及系统
CN102938705A (zh) * 2012-09-25 2013-02-20 上海证券交易所 一种高可用多机备份路由表管理与切换方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102207883A (zh) * 2011-06-01 2011-10-05 华中科技大学 异构分布式实时系统的事务调度方法
CN102891849A (zh) * 2012-09-25 2013-01-23 北京星网锐捷网络技术有限公司 业务数据同步方法、恢复方法及装置和网络设备
CN102929585A (zh) * 2012-09-25 2013-02-13 上海证券交易所 一种支持多主机分布式数据处理的批处理方法及系统
CN102938705A (zh) * 2012-09-25 2013-02-20 上海证券交易所 一种高可用多机备份路由表管理与切换方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
证券交易系统中的事务恢复方法;黄寅飞,黄俊杰,王泊等;《计算机工程》;20101220;全文 *
证券交易系统中的日志复制;黄寅飞,王泊,武剑锋等;《计算机应用与软件》;20110915;全文 *

Also Published As

Publication number Publication date
CN103647834A (zh) 2014-03-19

Similar Documents

Publication Publication Date Title
CN103647834B (zh) 一种用于处理多阶段分布式任务调度的系统及方法
WO2021109719A1 (zh) 事务处理方法、装置、设备及计算机存储介质
EP2281240B1 (en) Maintaining data integrity in data servers across data centers
CN107077382B (zh) 在多租户应用服务器环境中进行事务恢复的系统和方法
KR101993432B1 (ko) 2-단계 커미트 호출들의 엄격한 순서화에 근거하여 트랜잭션 복구를 지원하는 시스템들 및 방법들
US7730489B1 (en) Horizontally scalable and reliable distributed transaction management in a clustered application server environment
WO2016180164A1 (zh) 一种分布式事务回滚方法及装置
CN110807064B (zh) Rac分布式数据库集群系统中的数据恢复装置
CN101079896B (zh) 一种构建并行存储系统多可用性机制并存架构的方法
CN108459919A (zh) 一种分布式事务处理方法及装置
CN104081354A (zh) 在可缩放环境中管理分区
CN107070919A (zh) 用于数据库事务的幂等性
CN109643310B (zh) 用于数据库中数据重分布的系统和方法
CN102411520B (zh) 一种基于数据单元的地震数据的灾难恢复方法
CN104462497B (zh) 基于关系型数据库的跨库事务处理方法和系统
CN102317913B (zh) 一种事务恢复方法和事务恢复装置
CN102938705A (zh) 一种高可用多机备份路由表管理与切换方法
WO2020024615A1 (zh) 一种共识流程恢复方法及相关节点
US20040236989A1 (en) Distributed transaction state management through application server clustering
US11256536B2 (en) Method and system for processing transactions using a transaction coordinator
CN106874130A (zh) 一种微服务架构中分布式事务的处理方法
CN109495540A (zh) 一种数据处理的方法、装置、终端设备及存储介质
CN112104504B (zh) 一种大规模资源访问的事务管理框架、设计方法及云平台
CN110532069A (zh) 一种分布式事务提交方法及装置
US20080250421A1 (en) Data Processing System And Method

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant