一种消息断链任务处理的方法、设备及系统技术方案

技术编号:15652618 阅读:49 留言:0更新日期:2017-06-17 06:15
本发明专利技术公开了一种消息断链任务处理的方法,包括:任务管理设备确定目标任务执行设备上的消息断链任务,获取所述目标任务执行设备上所记录的状态信息,所述状态信息为所述消息断链任务在发生消息断链时所执行到的阶段状态信息;根据所述状态信息,以及所述任务管理设备所记录的所述消息断链任务的阶段状态信息,确定发生消息断链的操作;从发生消息断链的操作接续执行所述消息断链任务。本发明专利技术实施例提供的消息断链任务处理的方法,可以在传输链路恢复后对消息断链任务进行接续执行,规避消息断链带来的短暂影响,从而提高任务执行速度。

【技术实现步骤摘要】
一种消息断链任务处理的方法、设备及系统
本专利技术涉及任务处理
,具体涉及一种消息断链任务处理的方法、设备及系统。
技术介绍
分布式串行任务是指在在分布式系统中由任务管理设备(TaskMgr)控制,在各个任务执行设备(SubSvr)之间串行执行任务的各个步骤(Step)。在执行分布式串行任务的过程中,TaskMgr向要执行任务的SubSvr发送执行消息,该SubSvr收到执行消息后会执行该Step并产生相应的执行结果,然后向TaskMgr返回执行结果。若TaskMgr和SubSvr之间的网络链接出现异常或者SubSvr死机,就会导致TaskMgr发送给SubSvr的执行消息没有被SubSvr收到,或者SubSvr执行该Step的结果没有返回给TaskMgr,这种情况成为消息断链,消息断链会导致TaskMgr不清楚该Step是否执行,当TaskMgr没有收到该Step的执行结果,则称当前Step处于未知状态,任务也停止执行。由这种消息断链导致的任务无法执行的问题,通常会被认为任务执行失败,需要重新执行该Step,既导致了资源浪费,又降低了任务执行速度。
技术实现思路
为了提高消息断链任务的执行速度,本专利技术实施例提供了一种消息断链任务处理的方法,可以在传输链路恢复后对消息断链任务进行接续执行,规避消息断链带来的短暂影响,从而提高任务执行速度。本专利技术实施例还提供了相应的设备及系统。本专利技术第一方面提供一种消息断链任务处理的方法,包括:任务管理设备确定目标任务执行设备上的消息断链任务,所述消息断链任务为在所述任务管理设备和所述目标任务执行设备的消息传输过程中发生消息断链的任务或者步骤,所述步骤为串行任务中的子任务;所述任务管理设备获取所述目标任务执行设备上所记录的状态信息,所述状态信息为所述消息断链任务在发生消息断链时所执行到的阶段状态信息;所述任务管理设备根据所述状态信息,以及所述任务管理设备所记录的所述消息断链任务的阶段状态信息,确定发生消息断链的操作;所述任务管理设备从发生消息断链的操作接续执行所述消息断链任务。本专利技术第二方面提供一种任务管理设备,包括:第一确定单元,用于确定目标任务执行设备上的消息断链任务,所述消息断链任务为在所述任务管理设备和所述目标任务执行设备的消息传输过程中发生消息断链的任务或者步骤,所述步骤为串行任务中的子任务;获取单元,用于获取所述目标任务执行设备上所记录的状态信息,所述状态信息为所述第一确定单元确定的所述消息断链任务在发生消息断链时所执行到的阶段状态信息;第二确定单元,用于根据所述获取单元获取的所述状态信息,以及所述任务管理设备所记录的所述消息断链任务的阶段状态信息,确定发生消息断链的操作;执行单元,用于从所述第二确定单元确定的发生消息断链的操作接续执行所述消息断链任务。本专利技术第三方面提供一种分布式系统,包括:任务管理设备和任务执行设备,所述任务管理设备为上述第二方面所述的任务管理设备。与现有技术中发生消息断链的任务在传输链路恢复后需要重新执行相比,本专利技术实施例提供了一种消息断链任务处理的方法,可以在传输链路恢复后对消息断链任务进行接续执行,规避消息断链带来的短暂影响,从而提高任务执行速度。附图说明图1是本专利技术实施例中分布式系统的一实施例示意图;图2是本专利技术实施例中分布式串行任务执行过程的一示意图;图3是本专利技术实施例中分布式串行任务在执行过程中发生消息断链的一场景示意图;图4是本专利技术实施例中分布式串行任务执行过程的另一示意图;图5是本专利技术实施例中分布式串行任务中步骤执行过程的一示意图;图6是本专利技术实施例中消息断链任务处理的方法的一实施例示意图;图7是本专利技术实施例中任务管理设备的一实施例示意图;图8是本专利技术实施例中任务管理设备的另一实施例示意图;图9是本专利技术实施例中任务管理设备的另一实施例示意图。具体实施方式本专利技术实施例提供一种消息断链任务处理的方法,可以在传输链路恢复后对消息断链任务进行接续执行,规避消息断链带来的短暂影响,从而提高任务执行速度。本专利技术实施例还提供了相应的设备及系统。以下分别进行详细说明。下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。本专利技术实施例所提供的消息断链任务处理的方法可以应用于任何任务管理设备对任务执行设备进行消息断链任务处理的场景,该场景可以是分布式系统,也可以不是分布式系统。考虑到分布式系统应用的广泛性,因此,本专利技术实施例中以分布式系统为例,介绍本专利技术实施例中的消息断链任务处理的过程。如图1所示,本专利技术实施例提供的分布式系统的一实施例包括:任务管理设备10、网络20和多个任务执行设备30,任务管理设备10和多个任务执行设备30通过网络20通信连接。当任务管理设备10给任何一个任务执行设备30分配任务并由该任务执行设备30执行该任务时,该任务执行设备30即成为目标任务执行设备。由于网络抖动或者任务执行设备负载瞬间太高,可能会导致任务管理设备和目标任务执行设备之间的传输链路中断,导致任务管理设备和目标任务执行设备之间所传输的消息断链,如图1中的任务管理设备10与目标任务执行设备30A之间的传输链路中断,导致任务管理设备10发送给目标任务执行设备30A的消息目标任务执行设备30A无法接收到,或者目标任务执行设备30A返回给任务管理设备10的消息任务管理设备10无法接收到,导致任务管理设备10处针对该任务一直处于未知状态,无法继续执行,该发生消息断链的任务在本专利技术实施例中称为消息断链任务。本专利技术实施例中,因为一个任务执行过程可能包括多个操作,所以将通过同一个任务执行设备所执行的任务划分为不同阶段,如:预处理阶段(Pre)和执行阶段(Commit),通过任务管理设备上所记录的阶段状态信息和目标任务执行设备上所记录的同一个任务的阶段状态信息来确定发生消息断链的操作,确定发生消息断链的操作后,从发生消息断链的操作接续执行发生消息断链的任务,即接续执行消息断链任务。与现有技术中发生消息断链的任务在传输链路恢复后需要重新执行相比,本专利技术实施例提供了的分布式系统,可以在传输链路恢复后对消息断链任务进行接续执行,规避消息断链带来的短暂影响,从而提高任务执行速度。因分布式串行任务是分布式系统中最常用的任务类型,接下来,本专利技术实施例中以分布式串行任务为例,介绍本专利技术实施例中消息断链任务处理的过程。分布式串行任务由多个步骤(Step)构成,各步骤按照顺序在不同的任务执行设备上依次执行,直到各个Step全部执行完,该任务才执行完毕。任务管理设备上会维护该任务的执行状态,以及该任务中正在执行Step所执行到的阶段状态信息,任务执行设备会维护自身所执行Step所执行到的阶段状态信息。执行分布式串行任务的过程如图2所示,任务管理设备管理分布式串行任务,该分布式串行任务由N个Step组成,每个Stepi(i=1,2,…N)被分配给对应的任务执行设备SubSvri(i=1,2,…N)执行。如图3所示,当该分布式串行任务执行到Step2时,任务管理设备与任务执行设备2之间的传输链路中断,导致Step2的消息SubSvr2无法接收到,SubSvr2也就不会执行Step2,任务管理设本文档来自技高网...
一种消息断链任务处理的方法、设备及系统

【技术保护点】
一种消息断链任务处理的方法,其特征在于,包括:任务管理设备确定目标任务执行设备上的消息断链任务,所述消息断链任务为在所述任务管理设备和所述目标任务执行设备的消息传输过程中发生消息断链的任务或者步骤,所述步骤为串行任务中的子任务;所述任务管理设备获取所述目标任务执行设备上所记录的状态信息,所述状态信息为所述消息断链任务在发生消息断链时所执行到的阶段状态信息;所述任务管理设备根据所述状态信息,以及所述任务管理设备所记录的所述消息断链任务的阶段状态信息,确定发生消息断链的操作;所述任务管理设备从发生消息断链的操作接续执行所述消息断链任务。

【技术特征摘要】
1.一种消息断链任务处理的方法,其特征在于,包括:任务管理设备确定目标任务执行设备上的消息断链任务,所述消息断链任务为在所述任务管理设备和所述目标任务执行设备的消息传输过程中发生消息断链的任务或者步骤,所述步骤为串行任务中的子任务;所述任务管理设备获取所述目标任务执行设备上所记录的状态信息,所述状态信息为所述消息断链任务在发生消息断链时所执行到的阶段状态信息;所述任务管理设备根据所述状态信息,以及所述任务管理设备所记录的所述消息断链任务的阶段状态信息,确定发生消息断链的操作;所述任务管理设备从发生消息断链的操作接续执行所述消息断链任务。2.根据权利要求1所述的方法,其特征在于,所述方法应用于分布式系统,所述分布式系统包括所述任务管理器和至少一个任务执行设备,所述目标任务执行设备为所述至少一个任务执行设备中的一个;当所述消息断链任务为分布式串行任务中发生消息断链的步骤。3.根据权利要求1或2所述的方法,其特征在于,所述任务管理设备确定目标任务执行设备上的消息断链任务,包括:所述任务管理设备获取为执行当前任务所发送消息的响应延迟,所述当前任务为所述任务管理设备与所述目标任务执行设备之间正在进行的任务或步骤;当所述响应延迟大于预设阈值时,所述任务管理设备确定目标链路发生消息断链,将所述当前任务确定为所述消息断链任务,所述目标链路为所述任务管理设备与所述目标任务执行设备之间的传输链路。4.根据权利要求3所述的方法,其特征在于,所述任务管理设备获取所述目标任务执行设备上所记录的状态信息之前,所述方法还包括:所述任务管理设备向所述目标任务执行设备发送针对所述目标链路的测试消息;当所述任务管理设备接收到测试响应,则确定所述目标链路恢复正常。5.根据权利要求1或2所述的方法,其特征在于,所述阶段状态信息包括预处理阶段Pre的状态标识和执行阶段Commit的状态标识,所述预处理阶段的状态标识与所述执行阶段的状态标识不同;所述任务管理设备根据所述状态信息,以及所述任务管理设备所记录的所述消息断链任务的阶段状态信息,确定发生消息断链的操作,包括:所述任务管理设备根据第一状态标识和第二状态标识,确定发生消息断链的操作,所述第一状态标识为从所述目标任务执行设备上获取的状态标识,所述第二状态标识为所述任务管理设备所记录的所述消息断链任务的状态标识。6.根据权利要求5所述的方法,其特征在于,所述任务管理设备根据第一状态标识和第二状态标识,确定发生消息断链的操作,包括:所述任务管理设备根据所述第一状态标识、第二状态标识,以及判断逻辑表确定发生消息断链的操作,所述判断逻辑表包括目标任务执行设备所维护的状态标识、任务管理设备所维护的状态标识、异常原因,以及状态判断结果之间的对应关系,所述状态判断结果包括发生消息断链的操作。7....

【专利技术属性】
技术研发人员:张振兴方仲康仇斌唐斌
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:广东,44

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

1