CN106850409B - 一种消息断链任务处理的方法、设备及系统 - Google Patents
一种消息断链任务处理的方法、设备及系统 Download PDFInfo
- Publication number
- CN106850409B CN106850409B CN201710060161.3A CN201710060161A CN106850409B CN 106850409 B CN106850409 B CN 106850409B CN 201710060161 A CN201710060161 A CN 201710060161A CN 106850409 B CN106850409 B CN 106850409B
- Authority
- CN
- China
- Prior art keywords
- task
- message
- target
- management device
- task management
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/21—Monitoring or handling of messages
- H04L51/23—Reliability checks, e.g. acknowledgments or fault reporting
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0654—Management of faults, events, alarms or notifications using network fault recovery
- H04L41/0663—Performing the actions predefined by failover planning, e.g. switching to standby network elements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/10—Active monitoring, e.g. heartbeat, ping or trace-route
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Cardiology (AREA)
- General Health & Medical Sciences (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种消息断链任务处理的方法,包括:任务管理设备确定目标任务执行设备上的消息断链任务,获取所述目标任务执行设备上所记录的状态信息,所述状态信息为所述消息断链任务在发生消息断链时所执行到的阶段状态信息;根据所述状态信息,以及所述任务管理设备所记录的所述消息断链任务的阶段状态信息,确定发生消息断链的操作;从发生消息断链的操作接续执行所述消息断链任务。本发明实施例提供的消息断链任务处理的方法,可以在传输链路恢复后对消息断链任务进行接续执行,规避消息断链带来的短暂影响,从而提高任务执行速度。
Description
技术领域
本发明涉及任务处理技术领域,具体涉及一种消息断链任务处理的方法、设备及系统。
背景技术
分布式串行任务是指在在分布式系统中由任务管理设备(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,任务管理设备也就不会接收到执行Step2的回复。任务管理器也就无法确定Step2的执行状态,Step2处于未知状态,后续的Step也就无法执行,导致该分布式串行任务无法完成。
本发明实施例中的消息断链任务可以是一个任务,也可以是分布式串行任务中的一个步骤,如图2和图3中所示的步骤。
本发明实施例中,针对只需要一个任务执行设备执行的任务或者分布式串行任务中的每个Step设置了预处理阶段(Pre)和执行阶段(Commit),以Step为例,将Step分为Pre和Commit两个阶段,如图4所示,执行Step时,必须先执行Pre,然后再执行Commit,各阶段的操作都执行完,该Step才执行完。任务管理设备和任务执行设备上都会维护当前在执行Step的阶段状态信息。
以图3中的Step2为例,如图5所示,把Step2的执行过程分成了2个阶段Pre阶段和Commit阶段,Pre阶段的操作包括(1-2-3-4-5-6),Commit阶段操作包括(7-8-9-10-11)。
图5中的操作1-11分别为:
操作1为:任务管理设备向任务执行设备2发送同步阶段状态请求。
操作2为:任务执行设备2向任务管理设备发送同步阶段状态回复。
操作3为:任务管理设备向任务执行设备2发送设置Pre阶段状态请求。
操作4为:任务执行设备2将阶段状态信息设置为Pre。
操作5为:任务执行设备2向任务管理设备发送设置Pre阶段状态回复。
操作6为:任务管理设备将阶段状态信息设置为Pre。
操作7为:任务管理设备向任务执行设备2发送执行Step2请求。
操作8为:任务执行设备2执行Step2。
操作9为:任务执行设备2将阶段状态信息设置为Commit。
操作10为:任务执行设备2向任务管理设备发送执行Step2结果。
操作11为:任务管理设备将阶段状态信息设置为Commit。
任务管理设备和任务执行设备2(SubSvr2)上都维护了Step2为的当前阶段状态。操作8是SubSvr2执行Step2过程,正常情况下会先执行完Pre阶段操作,然后执行Commit阶段操作,即从操作1到11。如果传输链路中断,则该Step2发生异常,异常情况下可以通过组合判定TaskMgr和SubSvr的阶段状态,再决定具体的执行操作,判断逻辑如表1所示。
表1:
如表1所示,通过任务管理设备所记录的Step2的阶段状态信息,以及任务执行设备2所记录的该Step2的阶段状态信息,可以确定出发生消息断链时所执行到的操作。其中,阶段状态信息可以包括阶段状态标识。
如表1所示,针对各种组合情况的分析可以包括:
情况1:若任务管理设备自身所记录的Step2的阶段状态信息是无,从任务执行设备2所获取的Step2的阶段状态信息也是无,则可以确定发生消息断链的操作是1、2或3。
情况2:若任务管理设备自身所记录的Step2的阶段状态信息是无,从任务执行设备2所获取的Step2的阶段状态信息也是Pre,则可以确定发生消息断链的操作是5,其中的操作4已经执行了。
情况3:若任务管理设备自身所记录的Step2的阶段状态信息是Pre,从任务执行设备2所获取的Step2的阶段状态信息也是Pre,则可以确定发生消息断链的操作是7,其中的操作8和操作9未执行。
情况4:若任务管理设备自身所记录的Step2的阶段状态信息是Pre,从任务执行设备2所获取的Step2的阶段状态信息也是Commit,则可以确定发生消息断链的操作是10,其中的操作8和操作9已执行。
情况5:若任务管理设备自身所记录的Step2的阶段状态信息是Commit,从任务执行设备2所获取的Step2的阶段状态信息也是Commit,则可以确定该Step2执行结束。
本发明实施例中,针对情况1至情况5的处理过程可以是:
针对情况1在操作1、2或3处发生消息断链,任务执行设备还没有开始做实质性的执行工作,可以重新开始执行Step2。
针对情况2在操作5处发生消息断链,操作4已经执行,只是任务管理设备没有接收到,任务管理设备在接续执行该Step2时可以从操作6开始执行。
针对情况3在操作7处发生消息断链,其中操作8和操作9还未执行,在接续执行该Step2时任务管理设备可以从操作7开始,再向任务执行设备2发送该操作7的消息。
针对情况4在操作10处发生消息断链,其中操作8和操作9已执行,在接续执行该Step2时任务管理设备可以直接执行操作11。
情况5表明该Step2已执行完成,则继续执行下一个Step即可。
以上,本发明实施例提供的分布式系统在任务管理设备与目标任务执行设备之间在处理消息断链任务时,可以在传输链路恢复后对消息断链任务进行接续执行,规避消息断链带来的短暂影响,从而提高任务执行速度。
参阅图6,本发明实施例提供的消息断链任务处理的方法的一实施例包括:
101、任务管理设备确定目标任务执行设备上的消息断链任务,所述消息断链任务为在所述任务管理设备和所述目标任务执行设备的消息传输过程中发生消息断链的任务或者步骤,所述步骤为串行任务中的子任务。
本发明实施例提供的消息断链任务处理的方法多应用于分布式系统,所述分布式系统包括所述任务管理器和至少一个任务执行设备,所述目标任务执行设备为所述至少一个任务执行设备中的一个;例如:该目标任务执行设备可以为图1中的30A,当所述消息断链任务为分布式串行任务中发生消息断链的步骤,如图5中的Step2。
消息断链任务的确定可以是任务管理设备记录为执行当前任务所发送的消息的发送时间,在预置时间内还没有接收到针对该消息的回复,则可以确定该任务发生消息断链。所述当前任务为所述任务管理设备与所述目标任务执行设备之间正在进行的任务或步骤。
102、任务管理设备获取所述目标任务执行设备上所记录的状态信息,所述状态信息为所述消息断链任务在发生消息断链时所执行到的阶段状态信息。
本发明实施例中,任务管理设备获取所述目标任务执行设备上所记录的状态信息可以通过例如图5中的操作1和操作2获取,即任务管理设备向目标任务执行设备发送同步阶段状态请求,目标任务执行设备即会向任务管理设备返回目标任务执行设备自身所记录的阶段状态信息。
103、任务管理设备根据所述状态信息,以及所述任务管理设备所记录的所述消息断链任务的阶段状态信息,确定发生消息断链的操作。
该过程可以参阅上述图5对应的实施例部分的情况1至情况5进行理解,本处不再重复赘述。
104、任务管理设备从发生消息断链的操作接续执行所述消息断链任务。
该过程可以参阅上述图5对应的实施例部分针对情况1至情况5的接续执行处理的方案进行理解,本处不再重复赘述。
与现有技术中发生消息断链的任务在传输链路恢复后需要重新执行相比,本发明实施例提供了一种消息断链任务处理的方法,可以在传输链路恢复后对消息断链任务进行接续执行,规避消息断链带来的短暂影响,从而提高任务执行速度。
可选地,本发明实施例提供的消息断链任务处理的方法的另一实施例中,所述任务管理设备确定目标任务执行设备上的消息断链任务,可以包括:
所述任务管理设备获取为执行当前任务所发送消息的响应延迟,所述当前任务为所述任务管理设备与所述目标任务执行设备之间正在进行的任务或步骤;
当所述响应延迟大于预设阈值时,所述任务管理设备确定目标链路发生消息断链,将所述当前任务确定为所述消息断链任务,所述目标链路为所述任务管理设备与所述目标任务执行设备之间的传输链路。
本发明实施例中,任务管理设备获取为执行当前任务所发送消息的响应延迟,该响应延迟可以是从发送消息开始记录的时间长度,也可以是从正常可以接收到响应开始的时间长度,例如:在20:08:53发送例如图5中所示的执行Step2请求的消息,正常接收到执行Step2结果的时间可能为20:08:55,若预设阈值为从正常可以接收到响应开始的时间起开始计算的2分钟,则若在20:10:55还没有接收到该Step2结果,则可以确定发生了消息断链,该任务则可以确定为是消息断链任务。若是从发送执行Step2请求的消息开始计算的时间,则该预设阈值可以是2分零2秒。
可选地,本发明实施例提供的消息断链任务处理的方法的另一实施例中,所述任务管理设备获取所述目标任务执行设备上所记录的状态信息之前,所述方法还可以包括:
所述任务管理设备向所述目标任务执行设备发送针对所述目标链路的测试消息;
当所述任务管理设备接收到测试响应,则确定所述目标链路恢复正常。
本发明实施例中,在目标链路断链后,任务管理设备可以通过心跳检测的方案来检测目标链路是否恢复正常。心跳检测的方案即任务管理设备向目标任务执行设备发送测试消息,如果接收到测试响应,即可以确定目标链路恢复正常,如果在一定的时间内一直接收不到测试响应,则表示目标链路还未恢复正常。
可选地,本发明实施例提供的消息断链任务处理的方法的另一实施例中,所述阶段状态信息包括预处理阶段Pre的状态标识和执行阶段Commit的状态标识,所述预处理阶段的状态标识与所述执行阶段的状态标识不同;
所述任务管理设备根据所述状态信息,以及所述任务管理设备所记录的所述消息断链任务的阶段状态信息,确定发生消息断链的操作,可以包括:
所述任务管理设备根据第一状态标识和第二状态标识,确定发生消息断链的操作,所述第一状态标识为从所述目标任务执行设备上获取的状态标识,所述第二状态标识为所述任务管理设备所记录的所述消息断链任务的状态标识。
本发明实施例所提供的第一状态标识可以参阅表1中的第三列,即目标任务执行设备上所记录的阶段状态信息,第二状态表示可以参阅表1中的第二列,如:无、Pre和Commit,当然,还可以通过其他形式来表示阶段状态信息,例如:用0表示无,用1表示Pre,用2表示Commit。具体的表现形式本发明实施例中不做限定,只要分区分各种状态即可。
可选地,本发明实施例提供的消息断链任务处理的方法的另一实施例中,所述任务管理设备根据第一状态标识和第二状态标识,确定发生消息断链的操作,可以包括:
所述任务管理设备根据所述第一状态标识、第二状态标识,以及判断逻辑表确定发生消息断链的操作,所述判断逻辑表包括目标任务执行设备所维护的状态标识、任务管理设备所维护的状态标识、异常原因,以及状态判断结果之间的对应关系,所述状态判断结果包括发生消息断链的操作。
本发明实施例所提供的方案,可以参阅表1以及图5部分的情况1至情况5部分的描述进行理解,在此不再重复赘述。
参阅图7,本发明实施例提供的任务管理设备的一实施例包括:
第一确定单元201,用于确定目标任务执行设备上的消息断链任务,所述消息断链任务为在所述任务管理设备和所述目标任务执行设备的消息传输过程中发生消息断链的任务或者步骤,所述步骤为串行任务中的子任务;
获取单元202,用于获取所述目标任务执行设备上所记录的状态信息,所述状态信息为所述第一确定单元201确定的所述消息断链任务在发生消息断链时所执行到的阶段状态信息;
第二确定单元203,用于根据所述获取单元202获取的所述状态信息,以及所述任务管理设备所记录的所述消息断链任务的阶段状态信息,确定发生消息断链的操作;
执行单元204,用于从所述第二确定单元203确定的发生消息断链的操作接续执行所述消息断链任务。
本发明实施例提供的任务管理设备,包括:第一确定单元201确定目标任务执行设备上的消息断链任务,所述消息断链任务为在所述任务管理设备和所述目标任务执行设备的消息传输过程中发生消息断链的任务或者步骤,所述步骤为串行任务中的子任务;获取单元202获取所述目标任务执行设备上所记录的状态信息,所述状态信息为所述第一确定单元201确定的所述消息断链任务在发生消息断链时所执行到的阶段状态信息;第二确定单元203根据所述获取单元202获取的所述状态信息,以及所述任务管理设备所记录的所述消息断链任务的阶段状态信息,确定发生消息断链的操作;执行单元204从所述第二确定单元203确定的发生消息断链的操作接续执行所述消息断链任务。与现有技术中发生消息断链的任务在传输链路恢复后需要重新执行相比,本发明实施例提供的任务管理设备,可以在传输链路恢复后对消息断链任务进行接续执行,规避消息断链带来的短暂影响,从而提高任务执行速度。
可选地,所述任务管理设备应用于分布式系统,所述分布式系统还至少一个任务执行设备,所述目标任务执行设备为所述至少一个任务执行设备中的一个;
当所述消息断链任务为分布式串行任务中发生消息断链的步骤。
可选地,本发明实施例提供的任务管理设备的另一实施例中,
所述第一确定单元201用于:
获取为执行当前任务所发送消息的响应延迟,所述当前任务为所述任务管理设备与所述目标任务执行设备之间正在进行的任务或步骤;
当所述响应延迟大于预设阈值时,确定目标链路发生消息断链,将所述当前任务确定为所述消息断链任务,所述目标链路为所述任务管理设备与所述目标任务执行设备之间的传输链路。
可选地,参阅图8,本发明实施例提供的任务管理设备的另一实施例中,所述任务管理设备20还包括发送单元205和接收单元206,
所述发送单元205,用于向所述目标任务执行设备发送针对所述目标链路的测试消息;
所述接收单元206,用于所述目标任务执行设备发送的测试响应;
所述第二确定单元203,还用于当所述接收单元206接收到测试响应,则确定所述目标链路恢复正常。
可选地,本发明实施例提供的任务管理设备的另一实施例中,
所述第二确定单元203用于:
根据第一状态标识和第二状态标识,确定发生消息断链的操作,所述第一状态标识为从所述目标任务执行设备上获取的状态标识,所述第二状态标识为所述任务管理设备所记录的所述消息断链任务的状态标识。
其中,所述阶段状态信息包括预处理阶段Pre的状态标识和执行阶段Commit的状态标识,所述预处理阶段的状态标识与所述执行阶段的状态标识不同。
可选地,本发明实施例提供的任务管理设备的另一实施例中,
所述第二确定单元203用于:根据所述第一状态标识、第二状态标识,以及判断逻辑表确定发生消息断链的操作,所述判断逻辑表包括目标任务执行设备所维护的状态标识、任务管理设备所维护的状态标识、异常原因,以及状态判断结果之间的对应关系,所述状态判断结果包括发生消息断链的操作。
本发明实施例图7和图8所提供的任务管理设备可以参与图1至图6部分任务管理设备的描述进行理解,本处不再重复赘述。
图9是本发明实施例提供的任务管理设备30的结构示意图。该任务管理设备30可以应用于分布式系统,所述分布式系统包括所述任务管理器和至少一个任务执行设备,所述目标任务执行设备为所述至少一个任务执行设备中的一个。所述任务管理设备30包括处理器310、存储器350和收发器330,存储器350可以包括只读存储器和随机存取存储器,并向处理器310提供操作指令和数据。存储器350的一部分还可以包括非易失性随机存取存储器(NVRAM)。
在一些实施方式中,存储器350存储了如下的元素,可执行模块或者数据结构,或者他们的子集,或者他们的扩展集:
在本发明实施例中,通过调用存储器350存储的操作指令(该操作指令可存储在操作系统中),
确定目标任务执行设备上的消息断链任务,所述消息断链任务为在所述任务管理设备和所述目标任务执行设备的消息传输过程中发生消息断链的任务或者步骤,所述步骤为串行任务中的子任务;
获取所述目标任务执行设备上所记录的状态信息,所述状态信息为所述消息断链任务在发生消息断链时所执行到的阶段状态信息;
根据所述状态信息,以及所述任务管理设备所记录的所述消息断链任务的阶段状态信息,确定发生消息断链的操作;
从发生消息断链的操作接续执行所述消息断链任务。
与现有技术中发生消息断链的任务在传输链路恢复后需要重新执行相比,本发明实施例提供的任务管理设备,可以在传输链路恢复后对消息断链任务进行接续执行,规避消息断链带来的短暂影响,从而提高任务执行速度。
处理器310控制任务管理设备30的操作,处理器310还可以称为CPU(CentralProcessing Unit,中央处理单元)。存储器350可以包括只读存储器和随机存取存储器,并向处理器310提供指令和数据。存储器350的一部分还可以包括非易失性随机存取存储器(NVRAM)。具体的应用中任务管理设备30的各个组件通过总线系统320耦合在一起,其中总线系统320除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都标为总线系统320。
上述本发明实施例揭示的方法可以应用于处理器310中,或者由处理器310实现。处理器310可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器310中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器310可以是通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器350,处理器310读取存储器350中的信息,结合其硬件完成上述方法的步骤。
可选地,处理器310用于:获取为执行当前任务所发送消息的响应延迟,所述当前任务为所述任务管理设备与所述目标任务执行设备之间正在进行的任务或步骤;
当所述响应延迟大于预设阈值时,确定目标链路发生消息断链,将所述当前任务确定为所述消息断链任务,所述目标链路为所述任务管理设备与所述目标任务执行设备之间的传输链路。
可选地,收发器330用于:
向所述目标任务执行设备发送针对所述目标链路的测试消息,并接收测试响应;
处理器310还用于:当所述接收到测试响应,则确定所述目标链路恢复正常。
可选地,处理器310用于:根据第一状态标识和第二状态标识,确定发生消息断链的操作,所述第一状态标识为从所述目标任务执行设备上获取的状态标识,所述第二状态标识为所述任务管理设备所记录的所述消息断链任务的状态标识;
其中,所述阶段状态信息包括预处理阶段Pre的状态标识和执行阶段Commit的状态标识,所述预处理阶段的状态标识与所述执行阶段的状态标识不同。
可选地,处理器310用于:根据所述第一状态标识、第二状态标识,以及判断逻辑表确定发生消息断链的操作,所述判断逻辑表包括目标任务执行设备所维护的状态标识、任务管理设备所维护的状态标识、异常原因,以及状态判断结果之间的对应关系,所述状态判断结果包括发生消息断链的操作。
本发明实施例提供的任务管理设备可以参阅图1至图6部分的相关描述进行理解,本处不再重复赘述。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:ROM、RAM、磁盘或光盘等。
以上对本发明实施例所提供的消息断链任务处理的方法、任务管理设备以及系统进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (12)
1.一种消息断链任务处理的方法,其特征在于,包括:
任务管理设备确定目标任务执行设备上的消息断链任务,所述消息断链任务为在所述任务管理设备和所述目标任务执行设备的消息传输过程中发生消息断链的任务或者步骤,所述步骤为串行任务中的子任务;
所述任务管理设备获取所述目标任务执行设备上所记录的状态信息,所述状态信息为任务执行过程中所述消息断链任务在发生消息断链时所执行到的阶段状态信息;
所述任务管理设备根据所述状态信息,以及所述任务管理设备所记录的所述消息断链任务的阶段状态信息,确定发生消息断链的操作;
所述任务管理设备从发生消息断链的操作接续执行所述消息断链任务;
所述阶段状态信息包括预处理阶段Pre的状态标识和执行阶段Commit的状态标识,所述预处理阶段的状态标识与所述执行阶段的状态标识不同;
所述任务管理设备根据所述状态信息,以及所述任务管理设备所记录的所述消息断链任务的阶段状态信息,确定发生消息断链的操作,包括:
所述任务管理设备根据第一状态标识和第二状态标识,确定发生消息断链的操作,所述第一状态标识为从所述目标任务执行设备上获取的状态标识,所述第二状态标识为所述任务管理设备所记录的所述消息断链任务的状态标识。
2.根据权利要求1所述的方法,其特征在于,所述方法应用于分布式系统,所述分布式系统包括所述任务管理器和至少一个任务执行设备,所述目标任务执行设备为所述至少一个任务执行设备中的一个;
当所述消息断链任务为分布式串行任务中发生消息断链的步骤。
3.根据权利要求1或2所述的方法,其特征在于,所述任务管理设备确定目标任务执行设备上的消息断链任务,包括:
所述任务管理设备获取为执行当前任务所发送消息的响应延迟,所述当前任务为所述任务管理设备与所述目标任务执行设备之间正在进行的任务或步骤;
当所述响应延迟大于预设阈值时,所述任务管理设备确定目标链路发生消息断链,将所述当前任务确定为所述消息断链任务,所述目标链路为所述任务管理设备与所述目标任务执行设备之间的传输链路。
4.根据权利要求3所述的方法,其特征在于,所述任务管理设备获取所述目标任务执行设备上所记录的状态信息之前,所述方法还包括:
所述任务管理设备向所述目标任务执行设备发送针对所述目标链路的测试消息;
当所述任务管理设备接收到测试响应,则确定所述目标链路恢复正常。
5.根据权利要求1所述的方法,其特征在于,所述任务管理设备根据第一状态标识和第二状态标识,确定发生消息断链的操作,包括:
所述任务管理设备根据所述第一状态标识、第二状态标识,以及判断逻辑表确定发生消息断链的操作,所述判断逻辑表包括目标任务执行设备所维护的状态标识、任务管理设备所维护的状态标识、异常原因,以及状态判断结果之间的对应关系,所述状态判断结果包括发生消息断链的操作。
6.一种任务管理设备,其特征在于,包括:
第一确定单元,用于确定目标任务执行设备上的消息断链任务,所述消息断链任务为在所述任务管理设备和所述目标任务执行设备的消息传输过程中发生消息断链的任务或者步骤,所述步骤为串行任务中的子任务;
获取单元,用于获取所述目标任务执行设备上所记录的状态信息,所述状态信息为所述第一确定单元确定的任务执行过程中所述消息断链任务在发生消息断链时所执行到的阶段状态信息;
第二确定单元,用于根据所述获取单元获取的所述状态信息,以及所述任务管理设备所记录的所述消息断链任务的阶段状态信息,确定发生消息断链的操作;
执行单元,用于从所述第二确定单元确定的发生消息断链的操作接续执行所述消息断链任务;
所述第二确定单元用于:
根据第一状态标识和第二状态标识,确定发生消息断链的操作,所述第一状态标识为从所述目标任务执行设备上获取的状态标识,所述第二状态标识为所述任务管理设备所记录的所述消息断链任务的状态标识;
其中,所述阶段状态信息包括预处理阶段Pre的状态标识和执行阶段Commit的状态标识,所述预处理阶段的状态标识与所述执行阶段的状态标识不同。
7.根据权利要求6所述的任务管理设备,其特征在于,所述任务管理设备应用于分布式系统,所述分布式系统还至少一个任务执行设备,所述目标任务执行设备为所述至少一个任务执行设备中的一个;
当所述消息断链任务为分布式串行任务中发生消息断链的步骤。
8.根据权利要求6或7所述的任务管理设备,其特征在于,
所述第一确定单元用于:
获取为执行当前任务所发送消息的响应延迟,所述当前任务为所述任务管理设备与所述目标任务执行设备之间正在进行的任务或步骤;
当所述响应延迟大于预设阈值时,确定目标链路发生消息断链,将所述当前任务确定为所述消息断链任务,所述目标链路为所述任务管理设备与所述目标任务执行设备之间的传输链路。
9.根据权利要求8所述的任务管理设备,其特征在于,所述任务管理设备还包括:发送单元和接收单元,
所述发送单元,用于向所述目标任务执行设备发送针对所述目标链路的测试消息;
所述接收单元,用于所述目标任务执行设备发送的测试响应;
所述第二确定单元,还用于当所述接收单元接收到测试响应,则确定所述目标链路恢复正常。
10.根据权利要求6所述的任务管理设备,其特征在于,
所述第二确定单元用于:根据所述第一状态标识、第二状态标识,以及判断逻辑表确定发生消息断链的操作,所述判断逻辑表包括目标任务执行设备所维护的状态标识、任务管理设备所维护的状态标识、异常原因,以及状态判断结果之间的对应关系,所述状态判断结果包括发生消息断链的操作。
11.一种分布式系统,其特征在于,包括:任务管理设备和任务执行设备,所述任务管理设备为上述权利要求6-10任一所述的任务管理设备。
12.一种存储介质,其特征在于,所述存储介质中存储有计算机可执行指令,所述计算机可执行指令被处理器加载并执行时,实现如上权利要求1至5任一项所述的消息断链任务处理的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710060161.3A CN106850409B (zh) | 2017-01-24 | 2017-01-24 | 一种消息断链任务处理的方法、设备及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710060161.3A CN106850409B (zh) | 2017-01-24 | 2017-01-24 | 一种消息断链任务处理的方法、设备及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106850409A CN106850409A (zh) | 2017-06-13 |
CN106850409B true CN106850409B (zh) | 2019-12-10 |
Family
ID=59121435
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710060161.3A Active CN106850409B (zh) | 2017-01-24 | 2017-01-24 | 一种消息断链任务处理的方法、设备及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106850409B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102279730A (zh) * | 2010-06-10 | 2011-12-14 | 阿里巴巴集团控股有限公司 | 一种并行的数据处理方法、装置和并行的数据处理系统 |
CN103092712A (zh) * | 2011-11-04 | 2013-05-08 | 阿里巴巴集团控股有限公司 | 一种任务中断恢复方法和设备 |
CN103581225A (zh) * | 2012-07-25 | 2014-02-12 | 中国银联股份有限公司 | 分布式系统中的节点处理任务的方法 |
CN104484167A (zh) * | 2014-12-05 | 2015-04-01 | 广州华多网络科技有限公司 | 任务处理方法及装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7984440B2 (en) * | 2006-11-17 | 2011-07-19 | Sap Ag | Interactive audio task system with interrupt recovery and confirmations |
US9754240B2 (en) * | 2009-11-20 | 2017-09-05 | Palo Alto Research Center Incorporated | Method for quickly recovering from task interruption |
-
2017
- 2017-01-24 CN CN201710060161.3A patent/CN106850409B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102279730A (zh) * | 2010-06-10 | 2011-12-14 | 阿里巴巴集团控股有限公司 | 一种并行的数据处理方法、装置和并行的数据处理系统 |
CN103092712A (zh) * | 2011-11-04 | 2013-05-08 | 阿里巴巴集团控股有限公司 | 一种任务中断恢复方法和设备 |
CN103581225A (zh) * | 2012-07-25 | 2014-02-12 | 中国银联股份有限公司 | 分布式系统中的节点处理任务的方法 |
CN104484167A (zh) * | 2014-12-05 | 2015-04-01 | 广州华多网络科技有限公司 | 任务处理方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN106850409A (zh) | 2017-06-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108123851B (zh) | 分布式系统中主从节点同步链路的存活检测方法及装置 | |
CN111782360A (zh) | 分布式任务调度方法及装置 | |
CN112579356B (zh) | 一种故障处理方法及服务器 | |
CN110072244B (zh) | 一种无线链路失败定时器的控制方法及设备 | |
CN114528350B (zh) | 集群脑裂的处理方法、装置、设备及可读存储介质 | |
JP7037066B2 (ja) | 評価装置、評価方法および評価プログラム | |
CN108228789B (zh) | 从节点触发的同步异常恢复方法及装置 | |
CN108846085B (zh) | 一种id生成方法、装置、电子设备及系统 | |
WO2024083259A1 (zh) | 主备数据库集群及选主方法、计算设备及存储介质 | |
CN106850409B (zh) | 一种消息断链任务处理的方法、设备及系统 | |
CN111092956A (zh) | 资源同步方法、装置、存储介质及设备 | |
CN113778763B (zh) | 一种三方接口服务故障智能切换方法及系统 | |
CN112433968B (zh) | 一种控制器共享同步方法和装置 | |
CN116095064A (zh) | 一种文件下载方法、计算机设备及存储介质 | |
CN112367386B (zh) | 基于Ignite的自动化运维方法、装置及计算机设备 | |
CN114896110A (zh) | 链路检测方法、装置、设备和存储介质 | |
CN108616381B (zh) | 一种事件关联报警方法和装置 | |
CN110113395B (zh) | 共享文件系统维护方法及装置 | |
US10489239B2 (en) | Multiplexing system, multiplexing method, and computer program product | |
CN112068935A (zh) | kubernetes程序部署监控方法、装置以及设备 | |
CN113282334A (zh) | 软件缺陷的恢复方法、装置、计算机设备和存储介质 | |
CN107870777A (zh) | 一种热补丁实现方法及装置、终端 | |
CN108874454B (zh) | 一种目标驱动程序的自适应启动方法及装置 | |
CN105511848A (zh) | 一种动态链接库的检测方法和装置 | |
CN104348906A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |