分布式框架的事务处理方法及装置制造方法及图纸

技术编号:20329056 阅读:35 留言:0更新日期:2019-02-13 05:42
本发明专利技术实施例提供一种分布式框架的事务处理方法及装置。所述方法包括:检测到第一单元接收到进程异常消息后,获取所述第一单元的子单元;其中,所述第一单元执行一目标服务,每个所述子单元执行一所述目标服务的子服务,且所述子服务具有执行次序;依据所述执行次序,逆序对所述子单元执行回滚,确定所述进程异常消息对应的目标子单元;确定调用所述目标子单元的目标调用程序,将所述进程异常消息抛出至所述目标调用程序。本发明专利技术实施例提供了一种处理分布式集群环境中的业务异常问题的方式,以保障分布式框架中事务的完整性;同时为各个单元或子单元提供了灵活的回滚配置。

【技术实现步骤摘要】
分布式框架的事务处理方法及装置
本专利技术实施例涉及计算机
,尤其涉及一种分布式框架的事务处理方法及装置。
技术介绍
分布式环境是将不同地点、具有不同功能或拥有不同数据的多台计算机通过通信网络连接起来的一种计算机系统,其在控制系统的统一管理控制下,协调地完成大规模信息处理任务。在分布式集群环境中,有些业务需要跨多个服务来完成,而这些服务在调用过程中可能会出现业务异常,从而导致整个事务的不完整,因此,需要提供一种处理业务异常的方式,以实现对事务的完整性进行保障。
技术实现思路
本专利技术实施例提供一种分布式框架的事务处理方法及装置,其目的是为了提供一种处理分布式集群环境中的业务异常问题的方式。一方面,本专利技术实施例提供一种分布式框架的事务处理方法,所述方法包括:检测到第一单元接收到进程异常消息后,获取所述第一单元的子单元;其中,所述第一单元执行一目标服务,每个所述子单元执行一所述目标服务的子服务,且所述子服务具有执行次序;依据所述执行次序,逆序对所述子单元执行回滚,确定所述进程异常消息对应的目标子单元;确定调用所述目标子单元的目标调用程序,将所述进程异常消息抛出至所述目标调用程序。另一方面,本专利技术实施例提供一种分布式框架的事务处理装置,所述装置包括:获取模块,用于检测到第一单元接收到进程异常消息后,获取所述第一单元的子单元;其中,所述第一单元执行一目标服务,每个所述子单元执行一所述目标服务的子服务,且所述子服务具有执行次序;回滚模块,用于依据所述执行次序,逆序对所述子单元执行回滚,确定所述进程异常消息对应的目标子单元;抛出模块,用于确定调用所述目标子单元的目标调用程序,将所述进程异常消息抛出至所述目标调用程序。另一方面,本专利技术实施例还提供了一种电子设备,包括存储器、处理器、总线以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述分布式框架的事务处理方法中的步骤。再一方面,本专利技术实施例还提供了一种非暂态计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现上述分布式框架的事务处理方法中的步骤。本专利技术实施例提供的分布式框架的事务处理方法及装置,检测到第一单元接收到进程异常消息后,获取所述第一单元的子单元;依据子单元执行子服务的执行次序,逆序对所述子单元执行回滚,以确定所述进程异常消息对应的目标子单元,并进一步确定调用所述目标子单元的目标调用程序,将所述进程异常消息抛出至所述目标调用程序;本专利技术实施例提供了一种处理分布式集群环境中的业务异常问题的方式,以保障分布式框架中事务的完整性;同时为各个单元或子单元提供了灵活的回滚配置,在出现故障时可自动控制故障单元进行回滚,并向上抛出进程异常消息,便于目标调用程序及时处理进程异常。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术实施例提供的分布式框架的事务处理方法的流程示意图;图2为本专利技术实施例的第一示例的分布式框架示意图;图3为本专利技术实施例提供的分布式框架的事务处理装置的结构示意图;图4为本专利技术实施例提供的电子设备的结构示意图。具体实施方式为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。图1示出了本专利技术实施例提供的一种分布式框架的事务处理方法的流程示意图。如图1所示,本专利技术实施例提供的分布式框架的事务处理方法,所述方法具体包括以下步骤:步骤101,检测到第一单元接收到进程异常消息后,获取所述第一单元的子单元;其中,所述第一单元执行一目标服务,每个所述子单元执行一所述目标服务的子服务,且所述子服务具有执行次序。其中,第一单元为分布式框架中任一服务单元。第一单元执行一目标服务,且该目标服务包括至少两个子服务,两个子服务分别由第一单元的子单元执行,且各个子服务之间具有执行次序。可选地,各个单元或子单元的组织结构(节点之间的上下级关系)通过spring配置文件进行配置;各个单元或子单元的调度通过Spring面向切面编程(AspectOrientedProgramming,AOP)实现。在子单元出现进程异常后,子单元将进程异常消息向上抛出至第一单元。若分布式框架检测到第一单元接收到来自其子单元的进程(process)异常消息,获取第一单元包括的子单元,以确定进程异常的发生位置。作为第一示例,参见图2,图2所示为一树形结构的分布式框架,其中,以单元3作为第一单元为例,单元3执行一目标服务,且该目标服务包括3个子服务,分别由单元4、单元5以及单元6执行,且执行顺序依次为单元4、单元5、单元6;若单元3接收到来自单元4、单元5或单元6的进程异常消息,则分布式框架获取单元3的子单元信息。步骤102,依据所述执行次序,逆序对所述子单元执行回滚,确定所述进程异常消息对应的目标子单元。其中,回滚(Rollback)指程序或数据处理错误,将程序或数据恢复到上一次正确状态的行为。确定第一单元包括的子单元后,依据各子单元所配置的执行顺序,逆序对各个子单元进行回滚,即执行服务或子服务的过程,各单元或子单元配置的执行次序逆向执行,在出现异常时逆向进行回滚,并在回滚的过程中,确定进程异常消息对应的目标子单元,即进程异常发生的位置。继续参见图2,对单元3的子单元进行回滚,则回滚次序依次为:单元6、单元5、单元4。步骤103,确定调用所述目标子单元的目标调用程序,将所述进程异常消息抛出至所述目标调用程序。其中,确定发生进程异常的目标子单元之后,进一步确定调用所述目标子单元的目标调用程序,将进程异常消息抛出至该目标调用程序,便于目标调用程序获知目标子单元发生进程异常,并及时处理进程异常。本专利技术上述实施例中,检测到第一单元接收到进程异常消息后,获取所述第一单元的子单元;依据子单元执行子服务的执行次序,逆序对所述子单元执行回滚,以确定所述进程异常消息对应的目标子单元,并进一步确定调用所述目标子单元的目标调用程序,将所述进程异常消息抛出至所述目标调用程序;本专利技术实施例提供了一种处理分布式集群环境中的业务异常问题的方式,以保障分布式框架中事务的完整性;同时为各个单元或子单元提供了灵活的回滚配置,在出现故障时可自动控制故障单元进行回滚,并向上抛出进程异常消息,便于目标调用程序及时处理进程异常。可选地,本专利技术实施例中,所述依据所述执行次序,逆序对所述子单元执行回滚的步骤,包括:依据所述执行次序,逆序获取所述子单元的预设执行参数,所述预设执行参数用于指示所述子单元是否已执行对应的子服务的进程;若所述预设执行参数指示所述子单元未执行所述进程,则跳过所述子单元并获取下一个子单元的预设执行参数;若所述预设执行参数指示所述子单元已执行所述进程,则对所述子单元执行回滚,并获取下一个子单元的预设执行参数。其中,本文档来自技高网...

【技术保护点】
1.一种分布式框架的事务处理方法,其特征在于,包括:检测到第一单元接收到进程异常消息后,获取所述第一单元的子单元;其中,所述第一单元执行一目标服务,每个所述子单元执行一所述目标服务的子服务,且所述子服务具有执行次序;依据所述执行次序,逆序对所述子单元执行回滚,确定所述进程异常消息对应的目标子单元;确定调用所述目标子单元的目标调用程序,将所述进程异常消息抛出至所述目标调用程序。

【技术特征摘要】
1.一种分布式框架的事务处理方法,其特征在于,包括:检测到第一单元接收到进程异常消息后,获取所述第一单元的子单元;其中,所述第一单元执行一目标服务,每个所述子单元执行一所述目标服务的子服务,且所述子服务具有执行次序;依据所述执行次序,逆序对所述子单元执行回滚,确定所述进程异常消息对应的目标子单元;确定调用所述目标子单元的目标调用程序,将所述进程异常消息抛出至所述目标调用程序。2.根据权利要求1所述的方法,其特征在于,所述依据所述执行次序,逆序对所述子单元执行回滚的步骤,包括:依据所述执行次序,逆序获取所述子单元的预设执行参数,所述预设执行参数用于指示所述子单元是否已执行对应的子服务的进程;若所述预设执行参数指示所述子单元未执行所述进程,则跳过所述子单元并获取下一个子单元的预设执行参数;若所述预设执行参数指示所述子单元已执行所述进程,则对所述子单元执行回滚,并获取下一个子单元的预设执行参数。3.根据权利要求1所述的方法,其特征在于,所述对所述子单元执行回滚的步骤,包括:若回滚过程中出现回滚异常,将所述回滚异常抛出至调用所述子单元的调用程序。4.根据权利要求3所述的方法,其特征在于,还包括:记录所述回滚异常和/或所述进程异常的异常信息。5.根据权利要求1所述的方法,其特征在于,还包括:在所述第一单元在执行所述目标服务之前,使所述第一单元调用每个子服务的进程。6.根据权利要求1所述的方法,其特征在于,还包括:在所述第一单元在执行回滚之前,...

【专利技术属性】
技术研发人员:代伟杨学海
申请(专利权)人:北京仁科互动网络技术有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1