CN112527484A - 工作流断点续跑方法、装置、计算机设备及可读存储介质 - Google Patents
工作流断点续跑方法、装置、计算机设备及可读存储介质 Download PDFInfo
- Publication number
- CN112527484A CN112527484A CN202011494832.5A CN202011494832A CN112527484A CN 112527484 A CN112527484 A CN 112527484A CN 202011494832 A CN202011494832 A CN 202011494832A CN 112527484 A CN112527484 A CN 112527484A
- Authority
- CN
- China
- Prior art keywords
- node
- abnormal
- workflow
- running
- task
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 60
- 230000002159 abnormal effect Effects 0.000 claims abstract description 247
- 239000012634 fragment Substances 0.000 claims description 23
- 230000005856 abnormality Effects 0.000 claims description 19
- 238000004590 computer program Methods 0.000 claims description 9
- 230000001960 triggered effect Effects 0.000 claims description 7
- 206010000117 Abnormal behaviour Diseases 0.000 claims 1
- 238000012545 processing Methods 0.000 abstract description 27
- 238000012423 maintenance Methods 0.000 abstract description 10
- 238000011084 recovery Methods 0.000 abstract description 5
- 230000004044 response Effects 0.000 description 10
- 238000013500 data storage Methods 0.000 description 9
- 238000012544 monitoring process Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 238000013467 fragmentation Methods 0.000 description 4
- 238000006062 fragmentation reaction Methods 0.000 description 4
- 230000003993 interaction Effects 0.000 description 4
- 238000007726 management method Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 238000007689 inspection Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000012216 screening Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 1
- 238000004883 computer application Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/485—Task life-cycle, e.g. stopping, restarting, resuming execution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/48—Indexing scheme relating to G06F9/48
- G06F2209/481—Exception handling
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明涉及软件监控技术领域,公开了一种工作流断点续跑方法、装置、计算机设备及可读存储介质,包括:响应于工作流运行时,获得工作流中任务节点的运行状态;巡检任务节点的运行状态,以识别工作流中是否具有出现异常的任务节点;若具有出现异常的任务节点,则将任务节点设为异常节点,并获取异常节点的错误返回信息,错误返回信息是反映异常节点在工作流中出现错误原因的数据信息;根据错误返回信息对异常节点进行断点续跑。本发明还涉及区块链技术,信息可存储于区块链节点中。本发明不仅提高了工作流恢复效率,降低了处理异常节点的处理时间,保证了工作流整体的稳定性,还极大的降低了运维维护工作流运行的运维人员的投入。
Description
技术领域
本发明涉及软件监控技术领域,尤其涉及一种工作流断点续跑方法、装置、计算机设备及可读存储介质。
背景技术
工作流(Workflow),指"业务过程的部分或整体在计算机应用环境下的自动化"。是对工作流程及其各操作步骤之间业务规则的抽象、概括描述,是一种任务节点协作关系的关系图。当前的工作流是基于某一具体作业任务,通过具有任务节点的流程图所构建的计算机系统,其中,所述任务节点作为该流程图中某一具体部门或个人的抽象化体现,用于根据接收到的任务数据处理该流程图中一节点上的具体任务。
当任务数据一旦出现错误,将会使任务节点生成具有失败信息,导致工作流断点,因此,需要工作人员排查并修复工作流断点位置的任务节点中的任务数据。
然而,发明人意识到,如果工作流任务节点很多(上千或上万),调度的任务又分布在不同的作业执行集群,物理部署环境又比较复杂,当整个工作流运行了一段时间时断掉(因某种原因,导致一批节点失败),将需要运维人员花费大量时间重新拉起工作流,不仅需要花费大量人力保证工作流的运维工作,而且,还极大的降低了工作流的稳定性。
发明内容
本发明的目的是提供一种工作流断点续跑方法、装置、计算机设备及可读存储介质,用于解决现有技术存在的需要花费大量时间重新拉起工作流,不仅需要花费大量人力保证工作流的运维工作,而且,还极大的降低了工作流的稳定性的问题。
为实现上述目的,本发明提供一种工作流断点续跑方法,包括:
响应于工作流运行时,获得所述工作流中任务节点的运行状态;
巡检所述任务节点的运行状态,以识别所述工作流中是否具有出现异常的任务节点;
若具有出现异常的任务节点,则将所述任务节点设为异常节点,并获取所述异常节点的错误返回信息,所述错误返回信息是反映所述异常节点在工作流中出现错误原因的数据信息;
根据所述错误返回信息对所述异常节点进行断点续跑,所述断点续跑是获取所述异常节点对应的回执信息的操作。
上述方案中,所述巡检所述任务节点的运行状态,以识别所述工作流中是否具有出现异常的任务节点的步骤,包括:
识别运行状态为失败状态的任务节点,并将所述任务节点设为出现异常的任务节点;
识别运行状态为执行状态的任务节点,并将所述任务节点设为待检测节点;判断从所述工作流的运行引擎根据所述待检测节点发送调度指令的时间,至当前时间之间的指令期间,是否超过预置的指令阈值;若是,则判定所述待检测节点为出现异常的任务节点;若否,则将所述待检测节点设为正常的任务节点。
上述方案中,所述工作流包括运行引擎、调度链路和作业执行集群;
所述获取所述异常节点的错误返回信息的步骤,包括:
追踪运行引擎通过调度链路向作业执行集群发送的调度指令;计算在所述运行引擎至所述作业执行集群方向上,所述调度指令在所述调度链路中停留的触发时间;判断所述触发时间是否超过预置的触发阈值;若是,则生成内容为触发异常的错误返回信息;若否,则生成内容为触发正常的错误返回信息;
所述获取所述异常节点的错误返回信息的步骤,还包括:
追踪所述作业执行集群接收到的调度指令;计算所述调度指令在所述作业执行集群中停留的执行时间;判断所述执行时间是否超过预置的执行阈值;若是,则生成内容为执行异常的错误返回信息;若否,则生成内容为执行正常的错误返回信息;
所述获取所述异常节点的错误返回信息的步骤,还包括:
追踪所述作业执行集群通过所述调用链路向所述运行引擎发送的回执信息;计算在所述作业执行集群至所述运行引擎的方向上,所述回执信息在所述调度链路上停留的返回时间;判断所述返回时间是否超过预置的返回阈值;若是,则生成内容为返回异常的错误返回信息;若否,则生成内容为返回正常的错误返回信息。
上述方案中,所述识别所述工作流中是否具有出现异常的任务节点之后,所述方法还包括:
若不具有出现异常的任务节点,则经过预置的等待期间后,再次巡检所述任务节点的运行状态。
上述方案中,所述根据所述错误返回信息对所述异常节点进行断点续跑之前,所述方法还包括:
判断所述错误返回信息是否符合预置的重跑条件;
若不符合所述重跑条件,则将所述异常节点设为重跑节点,并将所述重跑节点的编号及其运行状态发送至控制端。
上述方案中,所述根据所述错误返回信息对所述异常节点进行断点续跑的步骤,包括:
识别所述根据所述错误返回信息的内容;
若所述内容是触发异常,触发所述工作流的运行引擎生成调度指令并再次发送至所述工作流的作业执行集群,使所述作业执行集群根据所述调度指令,重新运算所述任务节点的作业数据生成作业结果,并汇总所述调度指令和作业结果得到回执信息,以对所述异常节点进行断点续跑;
若所述内容是执行异常,判断是否对所述异常节点的作业数据已做分片并得到分片数据;若是,则更新所述异常节点的运行状态,及对出现异常的分片数据进行重新运算获得回执信息,以对所述异常节点进行断点续跑;若否,则对所述异常节点中的作业数据进行重新运算获得回执信息,以对所述异常节点进行断点续跑;其中,所述分片是指运算异常节点对应作业数据的作业执行集群,对所述作业数据进行的数据分片操作。
上述方案中,所述根据所述错误返回信息对所述异常节点进行断点续跑之后,所述方法还包括:
判断是否监测到所述断点续跑生成的回执信息;
若监测到所述回执信息,则判断所述回执信息是否能够将所述异常节点转为正常的任务节点;若是,则将所述异常节点转为正常的任务节点;若否,则将所述异常节点设为重跑节点,并将所述重跑节点的编号及其运行状态发送至控制端;
若未监测到所述回执信息,则将所述异常节点设为重跑节点,并将所述重跑节点的编号及其运行状态发送至控制端;
所述将所述异常节点转为正常的任务节点之后,所述方法还包括:
将所述回执信息上传至区块链中。
为实现上述目的,本发明还提供一种工作流断点续跑装置,包括:
状态获取模块,响应于工作流运行时,用于获得所述工作流中任务节点的运行状态;
异常识别模块,用于巡检所述任务节点的运行状态,以识别所述工作流中是否具有出现异常的任务节点;
错误返回模块,用于对具有出现异常的任务节点,将所述任务节点设为异常节点,并获取所述异常节点的错误返回信息,所述错误返回信息是反映所述异常节点在工作流中出现错误原因的数据信息;
断点续跑模块,用于根据所述错误返回信息对所述异常节点进行断点续跑,所述断点续跑是获取所述异常节点对应的回执信息的操作。
为实现上述目的,本发明还提供一种计算机设备,其包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述计算机设备的处理器执行所述计算机程序时实现上述工作流断点续跑方法的步骤。
为实现上述目的,本发明还提供一种计算机可读存储介质,所述可读存储介质上存储有计算机程序,所述可读存储介质存储的所述计算机程序被处理器执行时实现上述工作流断点续跑方法的步骤。
本发明提供的工作流断点续跑方法、装置、计算机设备及可读存储介质,通过响应于工作流运行时,识别所述工作流中任务节点的运行状态,以降低服务器的运算负担,避免长时间监听工作流导致服务器的运算负担居高不下。通过巡检所述任务节点的运行状态的方式,对出现异常的任务节点进行判定,以识别所述工作流中是否具有出现异常的任务节点,以快速高效的识别出工作流中出现异常的任务节点。通过将所述任务节点设为异常节点,并获取所述异常节点的错误返回信息,以获取异常节点在工作流中出现错误原因的数据信息,以获知任务节点出现异常的根本原因,以便于有针对性地对异常节点构建重跑方案。通过对所述异常节点进行断点续跑,对所述异常节点中的作业数据进行重新运算得到回执信息,以实现出现异常节点的工作流能够自动恢复,不仅提高了工作流恢复效率,降低了处理异常节点的处理时间,保证了工作流整体的稳定性,还极大的降低了运维维护工作流运行的运维人员的投入。
附图说明
图1为本发明工作流断点续跑方法实施例一的流程图;
图2为本发明工作流断点续跑方法实施例二中工作流断点续跑方法的环境应用示意图;
图3是本发明工作流断点续跑方法实施例二中工作流断点续跑方法的具体方法流程图;
图4为本发明工作流断点续跑装置实施例三的程序模块示意图;
图5为本发明计算机设备实施例四中计算机设备的硬件结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明提供的工作流断点续跑方法、装置、计算机设备及可读存储介质,适用于软件监控技术领域,为提供一种基于状态获取模块、异常识别模块、错误返回模块和断点续跑模块的工作流断点续跑方法。本发明通过获得所述工作流中任务节点的运行状态;巡检所述任务节点的运行状态,以识别所述工作流中是否具有出现异常的任务节点;若具有出现异常的任务节点,则将所述任务节点设为异常节点,并获取所述异常节点的错误返回信息,所述错误返回信息是反映所述异常节点在工作流中出现错误原因的数据信息;根据所述错误返回信息对所述异常节点进行断点续跑。
实施例一:
请参阅图1,本实施例的一种工作流断点续跑方法,包括:
S101:响应于工作流运行时,获得所述工作流中任务节点的运行状态。
S102:巡检所述任务节点的运行状态,以识别所述工作流中是否具有出现异常的任务节点。
S103:若具有出现异常的任务节点,则将所述任务节点设为异常节点,并获取所述异常节点的错误返回信息,所述错误返回信息是反映所述异常节点在工作流中出现错误原因的数据信息。
S106:根据所述错误返回信息对所述异常节点进行断点续跑,所述断点续跑是获取所述异常节点对应的回执信息的操作。
于本实施例中,所述工作流中的任务节点通过作业执行集群运行其接收到的作业数据得到任务结果,并根据所述任务结果标注所述任务节点的运行状态。其中,所述作业执行集群是根据工作流的运行引擎的指令,对工作流中各任务节点的作业数据进行运算的服务器集群,所述运行引擎是控制所述工作流运行的主程序。
所述工作流包括运行引擎、调度链路和作业执行集群,所述工作流中任务节点的运行步骤包括:所述运行引擎通过所述调度链路向作业执行集群发送调度指令,以触发所述作业执行集群运行与所述调度指令对应的作业数据得到作业结果,所述作业执行集群将所述调度指令和所述作业结果作为回执信息通过所述调度链路返回至所述运行引擎;其中,所述调度链路是所述运行引擎和作业执行集群之间的通信链路,具体可包括消息中间件和作业指令处理组件;所述调度指令是运行引擎根据工作流中流程的路径,及所述流程中任务节点的所获得的作业数据是否满足预置的启动条件,所发送的用于触发作业执行集群运算所述任务节点中作业数据的指令信息。
在示例性的实施例中,通过响应于工作流运行时,识别所述工作流中任务节点的运行状态,以降低服务器的运算负担,避免长时间监听工作流导致服务器的运算负担居高不下;
通过巡检所述任务节点的运行状态的方式,对出现异常的任务节点进行判定,以识别所述工作流中是否具有出现异常的任务节点,以快速高效的识别出工作流中出现异常的任务节点。
出现异常的任务节点可能是失败状态,也可能是执行节点。
对于所述失败状态的任务节点可能是因为,调度链路或作业执行集群出现故障,导致调度指令未发送到作业执行集群,或者作业执行集群未根据调度指令运算作业数据,或者是作业执行集群的回执信息未发送到运行引擎而直接将该任务节点判定为出现异常;也可能是因为运行引擎接收到了该任务节点的回执信息,所述回执信息中的内容为运算失败。这种非设备原因的异常通常需要人工接入方可使其稳定安全的恢复。
对于执行状态的任务节点,通过预置的指令阈值来判断运行引擎根据所述任务节点所发送的调度指令是否长时间的未接收到回执信息;如果是,则说明调度链路或作业执行集群出现故障,导致调度指令未发送到作业执行集群,或者作业执行集群未根据调度指令运算作业数据,或者是作业执行集群的回执信息未发送到运行引擎;如果不是,那么可以暂时等待调度指令的传输以及作业执行集群的运算执行,因此,暂且将其设为正常的任务节点。这种属于设备原因的异常,通常可以对工作流进行自动恢复以保证工作流整体的稳定性。
通过判断所述错误返回信息是否符合预置的重跑条件的方式,对错误返回信息进行筛选,对于符合重跑条件的错误返回信息所对应的异常节点,将直接自动进行断点续跑,以提高断点续跑的效率;对于不符合重跑条件的错误返回信息,则将所述异常节点的编号及其错误返回信息发送至控制端,以期由人工接入对异常节点进行断点续跑,以保证断点续跑的可靠性,有针对性地筛选出可由服务器自动进行断点续跑的异常节点。
通过将所述任务节点设为异常节点,并获取所述异常节点的错误返回信息,以获取异常节点在工作流中出现错误原因的数据信息,以获知任务节点出现异常的根本原因,以便于有针对性地对异常节点构建重跑方案。通过对所述异常节点进行断点续跑,对所述异常节点中的作业数据进行重新运算得到回执信息,以实现出现异常节点的工作流能够自动恢复,不仅提高了工作流恢复效率,降低了处理异常节点的处理时间,保证了工作流整体的稳定性,还极大的降低了运维维护工作流运行的运维人员的投入。
实施例二:
本实施例为上述实施例一的一种具体应用场景,通过本实施例,能够更加清楚、具体地阐述本发明所提供的方法。
下面,以在运行有工作流断点续跑方法的服务器中,对具有出现异常的任务节点进行断点续跑为例,来对本实施例提供的方法进行具体说明。需要说明的是,本实施例只是示例性的,并不限制本发明实施例所保护的范围。
图2示意性示出了根据本申请实施例二的工作流断点续跑方法的环境应用示意图。
在示例性的实施例中,工作流断点续跑方法所在的服务器2通过网络3分别连接控制端4;所述服务器2可以通过一个或多个网络3提供服务,网络3可以包括各种网络设备,例如路由器,交换机,多路复用器,集线器,调制解调器,网桥,中继器,防火墙,代理设备和/或等等。网络3可以包括物理链路,例如同轴电缆链路,双绞线电缆链路,光纤链路,它们的组合和/或类似物。网络3可以包括无线链路,例如蜂窝链路,卫星链路,Wi-Fi链路和/或类似物;所述控制端4可为智能手机、平板电脑、笔记本电脑、台式电脑等计算机设备。
图3是本发明一个实施例提供的一种工作流断点续跑方法的具体方法流程图,该方法具体包括步骤S201至S208。
S201:响应于工作流运行时,获得所述工作流中任务节点的运行状态。
为避免长时间监听工作流导致服务器的运算负担居高不下,本步骤通过响应于工作流运行时,识别所述工作流中任务节点的运行状态,以降低服务器的运算负担。于本实施例中,所述工作流中的任务节点通过作业执行集群运行其接收到的作业数据得到任务结果,并根据所述任务结果标注所述任务节点的运行状态。其中,所述作业执行集群是根据工作流的运行引擎的指令,对工作流中各任务节点的作业数据进行运算的服务器集群,所述运行引擎是控制所述工作流运行的主程序。
示例性地,所述运行状态可包括:待执行状态,执行状态(running),完成状态(completed),失败状态(failed),停止状态(stoped),跳过状态(skipe)。
如果任务节点正在通过所述作业执行集群运行其接收到的作业数据,且未生成任务结果,则将所述任务节点的运行状态标注为执行状态;
如果任务节点通过所述作业执行集群运行其接收到的作业数据,且生成运行成功的任务结果,则将所述任务节点的运行状态标注为完成状态;
如果任务节点通过所述作业执行集群运行其接收到的作业数据,且生成运行失败的任务结果,则将所述任务节点的运行状态标注为失败状态;
如果任务节点停止通过所述作业执行集群运行其接收到的作业数据,且未生成任务结果,则将所述任务节点的运行状态标注为停止状态。
在一个优选的实施例中,所述响应于工作流运行时,识别所述工作流中任务节点的运行状态的步骤,包括:
S11:监听所述工作流并判断所述工作流是否发送执行信号,其中,所述执行信号是工作流被触发执行时所生成的状态信息。
本步骤中,所述工作流具有触发组件、运算引擎和数据存储单元,工作流的触发组件被触发执行时,将调用运算引擎读取数据存储单元中的工作流的规则,及所述工作流中当前各任务节点的运行状态,根据所述规则运算所述任务节点的运行状态,以更新所述当前的任务节点的运行状态。
例如:如果当前工作流包括任务节点A、任务节点B、任务节点C,若规则是任务节点C的启动执行是以任务节点A和B的完成为前提,那么,如果获得的任务节点A和B均为完成状态,且,任务节点C无状态或为待命状态,则更新任务节点C的运行状态使其变为执行状态。此时,所述工作流的运行引擎将记录更新任务节点运行状态执行的流水,并将所述流水的状态设置为运行中。于本实施例中,监听所述运行引擎的流水,并响应于识别出所述流水的状态为运行中之时,进而开始识别工作流中任务节点的运行状态。
其中,所述触发组件是触发工作流启动的计算机组件,所述运行引擎是控制所述工作流运行的主程序,所述数据存储单元中保存有工作流的任务节点以及各所述任务节点的运行状态。
S12:若是,则识别所述工作流中各任务节点的运行状态。
S13:若否,则继续监听所述工作流。
S202:巡检所述任务节点的运行状态,以识别所述工作流中是否具有出现异常的任务节点。
为快速高效的识别出工作流中出现异常的任务节点,本步骤通过巡检所述任务节点的运行状态的方式,对出现异常的任务节点进行判定,以识别所述工作流中是否具有出现异常的任务节点。
于本实施例中,所述工作流包括运行引擎、调度链路和作业执行集群,所述工作流中任务节点的运行步骤包括:所述运行引擎通过所述调度链路向作业执行集群发送调度指令,以触发所述作业执行集群运行与所述调度指令对应的作业数据得到作业结果,所述作业执行集群将所述调度指令和所述作业结果作为回执信息通过所述调度链路返回至所述运行引擎;其中,所述调度链路是所述运行引擎和作业执行集群之间的通信链路,具体可包括消息中间件和作业指令处理组件;所述调度指令是运行引擎根据工作流中流程的路径,及所述流程中任务节点的所获得的作业数据是否满足预置的启动条件,所发送的用于触发作业执行集群运算所述任务节点中作业数据的指令信息。
在一个优选的实施例中,所述巡检所述任务节点的运行状态,以识别所述工作流中是否具有出现异常的任务节点的步骤,包括:
S21:识别运行状态为失败状态的任务节点,并将所述任务节点设为出现异常的任务节点;
本步骤中,通过读取所述数据存储单元中所述工作流的任务节点的运行状态,实现巡检所述任务节点的运行状态的目的;判断所述任务节点的运行状态是否具有失败状态;若是,则判定所述工作流中具有出现异常的任务节点。
其中,所述失败状态的任务节点可能是因为,调度链路或作业执行集群出现故障,导致调度指令未发送到作业执行集群,或者作业执行集群未根据调度指令运算作业数据,或者是作业执行集群的回执信息未发送到运行引擎而直接将该任务节点判定为出现异常;也可能是因为运行引擎接收到了该任务节点的回执信息,所述回执信息中的内容为运算失败。这种非设备原因的异常通常需要人工接入方可使其稳定安全的恢复。
于本实施中,所述失败状态的任务节点中具有错误返回信息,所述错误返回信息的内容触发异常、和/或执行异常、和/或返回异常、和/或代码异常等。
S22:识别运行状态为执行状态的任务节点,并将所述任务节点设为待检测节点;判断从所述工作流的运行引擎根据所述待检测节点发送调度指令的时间,至当前时间之间的指令期间,是否超过预置的指令阈值,若是,则判定所述待检测节点为出现异常的任务节点;若否,则将所述待检测节点设为正常的任务节点。
本步骤中,通过预置的指令阈值来判断运行引擎根据所述任务节点所发送的调度指令是否长时间的未接收到回执信息;如果是,则说明调度链路或作业执行集群出现故障,导致调度指令未发送到作业执行集群,或者作业执行集群未根据调度指令运算作业数据,或者是作业执行集群的回执信息未发送到运行引擎;如果不是,那么可以暂时等待调度指令的传输以及作业执行集群的运算执行,因此,暂且将其设为正常的任务节点。这种属于设备原因的异常,通常可以对工作流进行自动恢复以保证工作流整体的稳定性。
S203:若具有出现异常的任务节点,则将所述任务节点设为异常节点,并获取所述异常节点的错误返回信息,所述错误返回信息是反映所述异常节点在工作流中出现错误原因的数据信息。
为获知任务节点出现异常的根本原因,以便于有针对性地对异常节点构建重跑方案,本步骤通过将所述任务节点设为异常节点,并获取所述异常节点的错误返回信息,以获取异常节点在工作流中出现错误原因的数据信息。
由于异常节点的错误原因的可能是很多的,因此,为有针对地获得各异常节点的失败原因,包括以下方面:
在一个优选的实施例中,所述获取所述异常节点的错误返回信息的步骤,包括:
S3-01:追踪运行引擎通过调度链路向作业执行集群发送的调度指令。
S3-02:计算在所述运行引擎至所述作业执行集群方向上,所述调度指令在所述调度链路中停留的触发时间。
S3-03:判断所述触发时间是否超过预置的触发阈值。
本步骤中,所述触发阈值可根据需要设置,例如:30秒。
S3-04:若是,则生成内容为触发异常的错误返回信息。
S3-05:若否,则生成内容为触发正常的错误返回信息。
对于在所述运行引擎至所述作业执行集群方向上的调用链路,及运行引擎和作业执行集群与消息中间件等组件之间的偶发性的交互异常,如网络抖动,mq偶发性异常,可将其设为触发异常。
于本实施例中,调用作业指令处理组件追踪运行引擎通过调度链路向作业执行集群发送的调度指令,并计算在所述运行引擎至所述作业执行集群方向上,所述调度指令在所述调度链路中停留的触发时间;所述作业指令处理组件还具有用于追踪调度指令在调度链路上停留时间的计算机模块。
在一个优选的实施例中,所述获取所述异常节点的错误返回信息的步骤,包括:
S3-11:追踪所述作业执行集群接收到的调度指令。
S3-12:计算所述调度指令在所述作业执行集群中停留的执行时间。
S3-13:判断所述执行时间是否超过预置的执行阈值。
本步骤中,所述执行阈值可根据需要设置,如5分钟。
S3-14:若是,则生成内容为执行异常的错误返回信息。
S3-15:若否,则生成内容为执行正常的错误返回信息。
对于作业执行集群中的主节点或从节点出现异常down机的情况,作业执行集群监听异常导致消息丢失的情况,作业执行集群与保存有作业数据的数据储存单元之间的偶发性通讯异常,以及作业执行集群与消息中间件之间出现偶发性通讯异常的情况,被设为执行异常。
于本实施例中,调用作业指令处理组件追踪所述作业执行集群接收到的调度指令,计算所述调度指令在所述作业执行集群中停留的执行时间;所述作业指令处理组件还具有用于追踪调度指令在作业执行集群中停留时间的计算机模块。
在一个优选的实施例中,所述获取所述异常节点的错误返回信息的步骤,包括:
S3-21:追踪所述作业执行集群通过所述调用链路向所述运行引擎发送的回执信息。
S3-22:计算在所述作业执行集群至所述运行引擎的方向上,所述回执信息在所述调度链路上停留的返回时间。
S3-23:判断所述返回时间是否超过预置的返回阈值。
本步骤中,所述返回阈值可根据需要设置,如30秒。
S3-24:若是,则生成内容为返回异常的错误返回信息。
S3-25:若否,则生成内容为返回正常的错误返回信息。
对于在所述作业执行集群至所述运行引擎的方向上的调用链路,及运行引擎和作业执行集群与消息中间件等组件之间的偶发性的交互异常,如网络抖动,mq偶发性异常,可将其设为返回异常。
于本实施例中,调用作业指令处理组件追踪所述作业执行集群通过所述调用链路向所述运行引擎发送的回执信息,计算在所述作业执行集群至所述运行引擎的方向上,所述回执信息在所述调度链路上停留的返回时间;所述作业指令处理组件还具有用于追踪调度指令在调度链路上停留时间的计算机模块。
S204:若不具有出现异常的任务节点,则经过预置的等待期间后,再次巡检所述任务节点的运行状态。
为避免多次频繁的巡检任务节点的运行状态,导致服务器的运算负担居高不下,本步骤通过对不具有出现异常的任务节点的工作流,在经过预置的等待期间后,再次巡检所述任务节点的运行状态。以实现周期性地巡检运行状态的技术效果,进而降低服务器的运算负担。
本步骤中,所述等待期间可根据需要设置,如1分钟。
S205:判断所述错误返回信息是否符合预置的重跑条件。
为有针对性地筛选出可由服务器自动进行断点续跑的异常节点,本步骤通过判断所述错误返回信息是否符合预置的重跑条件的方式,对错误返回信息进行筛选,对于符合重跑条件的错误返回信息所对应的异常节点,将直接自动进行断点续跑,以提高断点续跑的效率;对于不符合重跑条件的错误返回信息,则将所述异常节点的编号及其错误返回信息发送至控制端,以期由人工接入对异常节点进行断点续跑,以保证断点续跑的可靠性。
本步骤中,所述重跑条件是所述错误返回信息的内容中具有触发异常、和/或执行异常、和/或返回异常。
具体地,所述判断所述错误返回信息是否符合预置的重跑条件的步骤,包括:
S51:判断所述错误返回信息的内容中是否具有触发异常,和/或执行异常,和/或返回异常。
S52:若是,则判定所述错误返回信息符合所述重跑条件。
S53:若否,则判定所述错误返回信息不符合所述重跑条件。
S206:若符合所述重跑条件,则根据所述错误返回信息对所述异常节点进行断点续跑,所述断点续跑是获取所述异常节点对应的回执信息的操作。
为实现出现异常节点的工作流能够自动恢复,以保证工作流整体的稳定性,本步骤通过对所述异常节点进行断点续跑,以对所述异常节点中的作业数据进行重新运算得到回执信息。
在一个优选的实施例中,所述根据所述错误返回信息对所述异常节点进行断点续跑的步骤,包括:
S61:识别所述根据所述错误返回信息的内容。
本步骤中,可通过关键字提取算法获取所述根据所述错误返回信息的内容,即:通过预置的关键字,如:“触发、执行、返回”的汉语或英文文字,或“触发、执行、返回”所对应的错误代码,对错误返回信息的内容进行识别。
S62:若所述内容是触发异常,触发所述工作流的运行引擎生成调度指令并再次发送至所述工作流的作业执行集群,使所述作业执行集群根据所述调度指令,重新运算所述任务节点的作业数据生成作业结果,并汇总所述调度指令和作业结果得到回执信息,以对所述异常节点进行断点续跑。
通常的在所述运行引擎至所述作业执行集群方向上的调用链路,及运行引擎和作业执行集群与消息中间件等组件之间的偶发性的交互异常,如网络抖动,mq偶发性异常,通常这种情况被视为调度指令在发送到作业执行集群的过程中丢失。本步骤中,通过触发所述工作流的运行引擎生成调度指令,并再次发送至所述工作流的作业执行集群,用于重新触发作业执行集群,使其根据所述调度指令运算作业数据,进而实现对异常节点进行断点续跑的技术效果。
S63:若所述内容是执行异常,判断是否对所述异常节点的作业数据已做分片并得到分片数据;若是,则更新所述异常节点的运行状态,及对出现异常的分片数据进行重新运算获得回执信息,以对所述异常节点进行断点续跑;若否,则对所述异常节点中的作业数据进行重新运算获得回执信息,以对所述异常节点进行断点续跑;其中,所述分片是指运算异常节点对应作业数据的作业执行集群,对所述作业数据进行的数据分片操作。
在一个优选的实施例中,所述对出现异常的分片数据进行重新运算获得回执信息的步骤,包括:
S63-01:调用运行引擎从所述消息中间件中消费出第一重跑指令,并根据所述重跑指令对更新所述异常节点的运行状态后(例如,将更新异常节点状态为执行状态running),向所述消息中间件发送第二重跑指令;其中,所述第一重跑指令是运行引擎用于触发作业执行集群运算出现异常的分片数据的指令信息,所述第二重跑指令是更新所述异常节点的运行状态后,将更新所述运行状态的标签载入所述第一重跑指令后所形成的指令信息。
S63-02:调用作业指令处理组件从所述消息中间件中获取第二重跑指令,根据所述第二重跑指令中的作业坐标定位到出现异常的作业执行集群,并将其设为重跑执行集群,向所述重跑执行集群发送第二重跑指令;其中,所述作业坐标是记载所述出现异常的分片数据处于所述作业执行集群的位置。
于本实施例中,所述作业指令处理组件是用于对消息中间件以及作业执行集群中的指令及信息进行监听,并将监听到的指令转发至所述消息中间件或作业执行集群的计算机模块,所述作业坐标是指出现异常的分片数据处于作业执行集群的从节点的编号,例如:作业执行集群A1的主节点X2的M3从节点的作业坐标是,A1-X2-M3。
S63-03:调用所述重跑执行集群从其主节点中获取失败的分片数据,并根据所述重跑执行集群中预置的分片规则对所述失败的分片数据进行分片得到失败分片数据,将所述失败分片数据发送至所述重跑执行集群中的从节点,使所述从节点执行所述失败分片数据生成分片重跑结果,所述重跑执行集群根据所述分片结果生成分片重跑结果;
本步骤中,所述主节点是作业执行集群中的管理单元,其用于根据接收到的调度指令从数据存储单元获取作业数据,并按照预置的分片规则对所述作业数据进行分片得到分片数据,并将所述分片数据发送至从节点。
所述从节点是所述主节点管理下的数据计算单元,其用于根据主节点分配的分片数据进行运算。于本实施例中,所述从节点为具体的运算服务器。
S63-04:调用所述作业指令处理组件监听并获取所述重跑执行集群生成的分片重跑结果,及汇总所述分片重跑结果和所述第二调度指令得到回执信息,并将所述回执信息发送至所述消息中间件,以实现对出现异常的分片数据进行重新运算。
本步骤中,调用作业指令处理组件监听作业执行集群根据所述第二调度指令生成的整体重跑结果,以及接收所述作业执行集群发送的分片重跑结果及其第四调度指令,所述作业指令处理组件汇总所述分片重跑结果和第四调度指令形成回执信息,并将其发送至所述消息中间件。
在一个优选的实施例中,所述对所述异常节点中的作业数据进行重新运算获得回执信息的步骤,包括:
S63-11:调用运行引擎从所述消息中间件中消费出第三重跑指令,并根据所述重跑指令对更新所述异常节点的运行状态后(例如,将更新异常节点状态为执行状态running),向所述消息中间件发送第四重跑指令;其中,所述第三重跑指令是运行引擎用于触发作业执行集群运算所述异常节点中的作业数据的指令信息,所述第四重跑指令是更新所述异常节点的运行状态后,将更新所述运行状态的标签载入所述第一重跑指令后所形成的指令信息。
S63-12:调用作业指令处理组件从所述消息中间件中获取第四重跑指令,根据所述第四重跑指令中的作业坐标定位到出现异常的作业执行集群,并将其设为重跑执行集群,向所述重跑执行集群发送第四重跑指令;其中,所述作业坐标是记载所述出现异常的分片数据处于所述作业执行集群的位置,例如:作业执行集群A2的主节点X1的M5从节点的作业坐标是,A2-X1-M5。
于本实施例中,所述作业指令处理组件是用于对消息中间件以及作业执行集群中的指令及信息进行监听,并将监听到的指令转发至所述消息中间件或作业执行集群的计算机模块,所述作业坐标是指出现异常的分片数据处于作业执行集群的主节点的编号。
S63-13:调用所述重跑执行集群从其主节点中获取失败的作业数据,并将所述失败分片数据发送至所述重跑执行集群中的从节点,使所述从节点执行所述作业数据生成整体重跑结果。
本步骤中,所述主节点是作业执行集群中的管理单元,其用于根据接收到的调度指令从数据存储单元获取作业数据,并将所述作业数据发送至从节点。
所述从节点是所述主节点管理下的数据计算单元,其用于根据主节点分配的作业数据进行运算。于本实施例中,所述从节点为具体的运算服务器。
S63-14:调用所述作业指令处理组件监听并获取所述重跑执行集群生成的整体重跑结果,及汇总所述整体重跑结果和所述第四调度指令得到回执信息,并将所述回执信息发送至所述消息中间件,以实现对所述异常节点中的作业数据进行重新运算。
本步骤中,调用作业指令处理组件监听作业执行集群根据所述第四调度指令生成的整体重跑结果,以及接收所述作业执行集群发送的整体重跑结果及其第四调度指令,所述作业指令处理组件汇总所述整体重跑结果和所述第四调度指令得到回执信息,并将其发送至所述消息中间件。
S64:若所述内容是返回异常,触发所述工作流的作业执行集群再次发送其生成的回执信息,以对所述异常节点进行断点续跑。
通常的在所述作业执行集群至所述运行引擎方向上的调用链路,及运行引擎和作业执行集群与消息中间件等组件之间的偶发性的交互异常,如网络抖动,mq偶发性异常,通常这种情况被视为回执信息在发送到作业执行集群的过程中丢失。本步骤中,通过触发所述工作流的作业执行集群将生成的回执信息,再次发送至所述消息中间件,以确保运行引擎能够接收到所述回执信息,实现对异常节点的断点续跑的技术效果。
S207:判断是否监测到所述断点续跑生成的回执信息;
若监测到所述回执信息,则判断所述回执信息是否能够将所述异常节点转为正常的任务节点;若是,则将所述异常节点转为正常的任务节点;若否,则将所述异常节点设为重跑节点,并将所述重跑节点的编号及其运行状态发送至控制端;
若未监测到所述回执信息,则将所述异常节点设为重跑节点,并将所述重跑节点的编号及其运行状态发送至控制端。
为保证对出现异常节点的工作流进行断点续跑的可靠性,本步骤通过判断是否监测到所述断点续跑生成的回执信息的方式,对自动进行断点续跑的操作进行一级评价,如果未接收到回执信息,这说明该异常节点是无法通过服务器自动断点续跑能够消除的,因此,需要及时通知控制端以期人工接入,保证工作流工作的稳定性及可靠性。如果监测到所述回执信息,则判断所述回执信息是否能够将所述异常节点转为正常的任务节点;若是,则认为所述异常节点中的错误已被消除,即可将所述异常节点转为正常的任务节点;若否,则认为所述异常节点中的错误未被消除,则需要及时通知控制端以期人工接入,以将所述异常节点设为重跑节点,并将所述重跑节点的编号及其运行状态发送至控制端。
于本实施例中,所述将所述异常节点设为重跑节点之前,包括:
S7-01:判断触发所述运行引擎的次数是否超过预置的引擎触发阈值。
本步骤中,所述引擎触发阈值可根据需要设置,如:3次。
S7-02:若未超过所述引擎触发阈值,则再次触发所述工作流的运行引擎生成调度指令并再次发送至所述工作流的作业执行集群。
S7-03:若超过所述引擎触发阈值,则将所述异常节点设为重跑节点,并将所述重跑节点的编号发送至控制端。
于本实施例中,所述将所述异常节点设为重跑节点之前,还包括:
S7-11:判断触发所述作业执行集群的次数是否超过预置的集群触发阈值。
本步骤中,所述集群触发阈值可根据需要设置,如:3次。
S7-12:若未超过所述集群触发阈值,则再次触发所述工作流的作业执行集群再次发送其生成的回执信息。
S7-13:若超过所述集群触发阈值,则则将所述异常节点设为重跑节点,并将所述重跑节点的编号发送至控制端。
在一个优选的实施例中,所述判断所述回执信息是否能够将所述异常节点转为正常的任务节点的步骤,包括:
S7-21:调用运行引擎消费所述消息中间件中的回执信息,以判断所述回执信息中的分片重跑结果或整体重跑结果是否可将所述异常节点的运行状态更新为完成状态;
S7-22:若是,则判定所述异常节点能够转为正常的任务节点,将所述异常节点转为任务节点;
S7-23:若否,则判定所述异常节点无法转为正常的任务节点。
于本实施例中,所述运行引擎消费回执信息,通过所述回执信息中的第二调度指令或第四调度指令定位出现异常的异常节点,其中,所述第二调度指令和第四调度指令中具有对所述异常节点的节点位置进行定位的作业坐标。
识别所述回执信息中的分片重跑结果或整体重跑结果,是否满足运行引擎对所述异常节点进行运行状态更新使其转为完成状态的规则,如果符合所述规则,则判定所述异常节点能够转为正常的任务节点,将所述异常节点转为任务节点;如果不符合所述规则,则判定所述异常节点无法转为正常的任务节点。
例如:获得的分片重跑结果或整体重跑结果是数据A和数据B,如果运行引擎中,对所述异常节点进行运行状态更新使其转为完成状态的规则是同时获得数据A、数据B和数据C,则判定所述异常节点无法转为正常的任务节点。
于本实施例中,所述S207在图3中采用以下标注展示:
S71:判断是否监测到所述断点续跑生成的回执信息;
S72:若监测到所述回执信息,则判断所述回执信息是否能够将所述异常节点转为正常的任务节点;
S73:若是,则将所述异常节点转为正常的任务节点;
S74:若否,则将所述异常节点设为重跑节点,并将所述重跑节点的编号及其运行状态发送至控制端;
S75:若未监测到所述回执信息,则将所述异常节点设为重跑节点,并将所述重跑节点的编号及其运行状态发送至控制端。
S208:若不符合所述重跑条件,则将所述异常节点设为重跑节点,并将所述重跑节点的编号及其运行状态发送至控制端。
对于非触发异常、非执行异常以及非返回异常的错误返回信息,例如:业务代码问题,机器资源问题,通常是运行引擎接收到了该异常节点的回执信息,所述回执信息中的内容为运算失败的情况,如果对这种非设备原因的异常直接进行断点续跑,很容易导致作业执行集群、消息中间件、数据存储单元中的数据出现差错,因此,对于这类错误返回信息,为保证数据的安全性和全面性,需要由人工介入,本步骤通过将不符合重跑条件的异常节点设为重跑节点,并将所述重跑节点的编号及其运行状态发送至控制端的方式,使开发运维人员通过控制端获知出现异常的重跑节点。
可选的,所述将所述异常节点转为正常的任务节点之后,所述方法还包括:
将所述回执信息上传至区块链中。
需要说明的是,基于回执信息得到对应的摘要信息,具体来说,摘要信息由回执信息进行散列处理得到,比如利用sha256s算法处理得到。将摘要信息上传至区块链可保证其安全性和对用户的公正透明性。用户设备可以从区块链中下载得该摘要信息,以便查证回执信息是否被篡改。本示例所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
实施例三:
请参阅图4,本实施例的一种工作流断点续跑装置1,包括:
状态获取模块11,响应于工作流运行时,用于获得所述工作流中任务节点的运行状态。
异常识别模块12,用于巡检所述任务节点的运行状态,以识别所述工作流中是否具有出现异常的任务节点。
错误返回模块13,用于对具有出现异常的任务节点,将所述任务节点设为异常节点,并获取所述异常节点的错误返回信息,所述错误返回信息是反映所述异常节点在工作流中出现错误原因的数据信息。
断点续跑模块16,用于根据所述错误返回信息对所述异常节点进行断点续跑,所述断点续跑是获取所述异常节点对应的回执信息的操作。
可选的,所述工作流断点续跑装置1还包括:
再次巡检模块14,用于对不具有出现异常的任务节点,经过预置的等待期间后,再次巡检所述任务节点的运行状态。
可选的,所述工作流断点续跑装置1还包括:
重跑判断模块15,用于判断所述错误返回信息是否符合预置的重跑条件。
可选的,所述工作流断点续跑装置1还包括:
回执判断模块17,用于判断是否监测到所述断点续跑生成的回执信息;若监测到所述回执信息,则判断所述回执信息是否能够将所述异常节点转为正常的任务节点;若是,则将所述异常节点转为正常的任务节点;若否,则将所述异常节点设为重跑节点,并将所述重跑节点的编号及其运行状态发送至控制端;若未监测到所述回执信息,则将所述异常节点设为重跑节点,并将所述重跑节点的编号及其运行状态发送至控制端。
可选的,所述工作流断点续跑装置1还包括:
异常报错模块18,用于在不符合所述重跑条件时,则将所述异常节点设为重跑节点,并将所述重跑节点的编号及其运行状态发送至控制端。
本技术方案应用于计算机监控的软件监控领域,通过获得所述工作流中任务节点的运行状态,并巡检所述任务节点的运行状态,以识别所述工作流中是否具有出现异常的任务节点,实现业务节点监控的技术效果;通过将具有出现异常的任务节点设为异常节点,并获取所述异常节点的错误返回信息,所述错误返回信息是反映所述异常节点在工作流中出现错误原因的数据信息,根据所述错误返回信息对所述异常节点进行断点续跑。
实施例四:
为实现上述目的,本发明还提供一种计算机设备5,实施例三的工作流断点续跑装置的组成部分可分散于不同的计算机设备中,计算机设备5可以是执行程序的智能手机、平板电脑、笔记本电脑、台式计算机、机架式服务器、刀片式服务器、塔式服务器或机柜式服务器(包括独立的服务器,或者多个应用服务器所组成的服务器集群)等。本实施例的计算机设备至少包括但不限于:可通过系统总线相互通信连接的存储器51、处理器52,如图5所示。需要指出的是,图5仅示出了具有组件-的计算机设备,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
本实施例中,存储器51(即可读存储介质)包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器51可以是计算机设备的内部存储单元,例如该计算机设备的硬盘或内存。在另一些实施例中,存储器51也可以是计算机设备的外部存储设备,例如该计算机设备上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。当然,存储器51还可以既包括计算机设备的内部存储单元也包括其外部存储设备。本实施例中,存储器51通常用于存储安装于计算机设备的操作系统和各类应用软件,例如实施例三的工作流断点续跑装置的程序代码等。此外,存储器51还可以用于暂时地存储已经输出或者将要输出的各类数据。
处理器52在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器52通常用于控制计算机设备的总体操作。本实施例中,处理器52用于运行存储器51中存储的程序代码或者处理数据,例如运行工作流断点续跑装置,以实现实施例一和实施例二的工作流断点续跑方法。
实施例五:
为实现上述目的,本发明还提供一种计算机可读存储介质,如闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘、服务器、App应用商城等等,其上存储有计算机程序,程序被处理器52执行时实现相应功能。本实施例的计算机可读存储介质用于存储工作流断点续跑装置,被处理器52执行时实现实施例一和实施例二的工作流断点续跑方法。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种工作流断点续跑方法,其特征在于,包括:
响应于工作流运行时,获得所述工作流中任务节点的运行状态;
巡检所述任务节点的运行状态,以识别所述工作流中是否具有出现异常的任务节点;
若具有出现异常的任务节点,则将所述任务节点设为异常节点,并获取所述异常节点的错误返回信息,所述错误返回信息是反映所述异常节点在工作流中出现错误原因的数据信息;
根据所述错误返回信息对所述异常节点进行断点续跑,所述断点续跑是获取所述异常节点对应的回执信息的操作。
2.根据权利要求1所述的工作流断点续跑方法,其特征在于,所述巡检所述任务节点的运行状态,以识别所述工作流中是否具有出现异常的任务节点的步骤,包括:
识别运行状态为失败状态的任务节点,并将所述任务节点设为出现异常的任务节点;
识别运行状态为执行状态的任务节点,并将所述任务节点设为待检测节点;判断从所述工作流的运行引擎根据所述待检测节点发送调度指令的时间,至当前时间之间的指令期间,是否超过预置的指令阈值;若是,则判定所述待检测节点为出现异常的任务节点;若否,则将所述待检测节点设为正常的任务节点。
3.根据权利要求1所述的工作流断点续跑方法,其特征在于,所述工作流包括运行引擎、调度链路和作业执行集群;
所述获取所述异常节点的错误返回信息的步骤,包括:
追踪运行引擎通过调度链路向作业执行集群发送的调度指令;计算在所述运行引擎至所述作业执行集群方向上,所述调度指令在所述调度链路中停留的触发时间;判断所述触发时间是否超过预置的触发阈值;若是,则生成内容为触发异常的错误返回信息;若否,则生成内容为触发正常的错误返回信息;
所述获取所述异常节点的错误返回信息的步骤,还包括:
追踪所述作业执行集群接收到的调度指令;计算所述调度指令在所述作业执行集群中停留的执行时间;判断所述执行时间是否超过预置的执行阈值;若是,则生成内容为执行异常的错误返回信息;若否,则生成内容为执行正常的错误返回信息;
所述获取所述异常节点的错误返回信息的步骤,还包括:
追踪所述作业执行集群通过所述调用链路向所述运行引擎发送的回执信息;计算在所述作业执行集群至所述运行引擎的方向上,所述回执信息在所述调度链路上停留的返回时间;判断所述返回时间是否超过预置的返回阈值;若是,则生成内容为返回异常的错误返回信息;若否,则生成内容为返回正常的错误返回信息。
4.根据权利要求1所述的工作流断点续跑方法,其特征在于,所述识别所述工作流中是否具有出现异常的任务节点之后,所述方法还包括:
若不具有出现异常的任务节点,则经过预置的等待期间后,再次巡检所述任务节点的运行状态。
5.根据权利要求1所述的工作流断点续跑方法,其特征在于,所述根据所述错误返回信息对所述异常节点进行断点续跑之前,所述方法还包括:
判断所述错误返回信息是否符合预置的重跑条件;
若不符合所述重跑条件,则将所述异常节点设为重跑节点,并将所述重跑节点的编号及其运行状态发送至控制端。
6.根据权利要求1所述的工作流断点续跑方法,其特征在于,所述根据所述错误返回信息对所述异常节点进行断点续跑的步骤,包括:
识别所述根据所述错误返回信息的内容;
若所述内容是触发异常,触发所述工作流的运行引擎生成调度指令并再次发送至所述工作流的作业执行集群,使所述作业执行集群根据所述调度指令,重新运算所述任务节点的作业数据生成作业结果,并汇总所述调度指令和作业结果得到回执信息,以对所述异常节点进行断点续跑;
若所述内容是执行异常,判断是否对所述异常节点的作业数据已做分片并得到分片数据;若是,则更新所述异常节点的运行状态,及对出现异常的分片数据进行重新运算获得回执信息,以对所述异常节点进行断点续跑;若否,则对所述异常节点中的作业数据进行重新运算获得回执信息,以对所述异常节点进行断点续跑;其中,所述分片是指运算异常节点对应作业数据的作业执行集群,对所述作业数据进行的数据分片操作。
7.根据权利要求1所述的工作流断点续跑方法,其特征在于,所述根据所述错误返回信息对所述异常节点进行断点续跑之后,所述方法还包括:
判断是否监测到所述断点续跑生成的回执信息;
若监测到所述回执信息,则判断所述回执信息是否能够将所述异常节点转为正常的任务节点;若是,则将所述异常节点转为正常的任务节点;若否,则将所述异常节点设为重跑节点,并将所述重跑节点的编号及其运行状态发送至控制端;
若未监测到所述回执信息,则将所述异常节点设为重跑节点,并将所述重跑节点的编号及其运行状态发送至控制端;
所述将所述异常节点转为正常的任务节点之后,所述方法还包括:
将所述回执信息上传至区块链中。
8.一种工作流断点续跑装置,其特征在于,包括:
状态获取模块,响应于工作流运行时,用于获得所述工作流中任务节点的运行状态;
异常识别模块,用于巡检所述任务节点的运行状态,以识别所述工作流中是否具有出现异常的任务节点;
错误返回模块,用于对具有出现异常的任务节点,将所述任务节点设为异常节点,并获取所述异常节点的错误返回信息,所述错误返回信息是反映所述异常节点在工作流中出现错误原因的数据信息;
断点续跑模块,用于根据所述错误返回信息对所述异常节点进行断点续跑,所述断点续跑是获取所述异常节点对应的回执信息的操作。
9.一种计算机设备,其包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述计算机设备的处理器执行所述计算机程序时实现权利要求1至7任一项所述工作流断点续跑方法的步骤。
10.一种计算机可读存储介质,所述可读存储介质上存储有计算机程序,其特征在于,所述可读存储介质存储的所述计算机程序被处理器执行时实现权利要求1至7任一项所述工作流断点续跑方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011494832.5A CN112527484B (zh) | 2020-12-17 | 2020-12-17 | 工作流断点续跑方法、装置、计算机设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011494832.5A CN112527484B (zh) | 2020-12-17 | 2020-12-17 | 工作流断点续跑方法、装置、计算机设备及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112527484A true CN112527484A (zh) | 2021-03-19 |
CN112527484B CN112527484B (zh) | 2024-05-10 |
Family
ID=75000986
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011494832.5A Active CN112527484B (zh) | 2020-12-17 | 2020-12-17 | 工作流断点续跑方法、装置、计算机设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112527484B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112965850A (zh) * | 2021-03-23 | 2021-06-15 | 上海云轴信息科技有限公司 | 一种在中台系统中实现工作流的方法与设备 |
CN113419829A (zh) * | 2021-06-23 | 2021-09-21 | 平安科技(深圳)有限公司 | 作业调度方法、装置、调度平台及存储介质 |
CN113568936A (zh) * | 2021-07-30 | 2021-10-29 | 多点生活(成都)科技有限公司 | 实时流数据存储方法、装置、终端设备 |
CN115099693A (zh) * | 2022-07-21 | 2022-09-23 | 宁波迈泰克磁材科技有限公司 | 一种烧结钕铁硼磁钢材料的生产控制方法及系统 |
WO2023005075A1 (zh) * | 2021-07-30 | 2023-02-02 | 深圳前海微众银行股份有限公司 | 数据的容灾恢复方法、系统、终端设备及计算机存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030149604A1 (en) * | 2002-01-25 | 2003-08-07 | Fabio Casati | Exception analysis, prediction, and prevention method and system |
CN102043682A (zh) * | 2011-01-27 | 2011-05-04 | 中国农业银行股份有限公司 | 一种工作流异常处理方法和系统 |
CN103593236A (zh) * | 2013-11-14 | 2014-02-19 | 华为技术有限公司 | 一种业务流程调度的计算机设备、方法和装置 |
CN110471753A (zh) * | 2019-08-15 | 2019-11-19 | 中国银行股份有限公司 | 批量调度系统的控制方法及装置 |
CN110673936A (zh) * | 2019-09-18 | 2020-01-10 | 平安科技(深圳)有限公司 | 编排业务的断点续作方法、装置、存储介质及电子设备 |
-
2020
- 2020-12-17 CN CN202011494832.5A patent/CN112527484B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030149604A1 (en) * | 2002-01-25 | 2003-08-07 | Fabio Casati | Exception analysis, prediction, and prevention method and system |
CN102043682A (zh) * | 2011-01-27 | 2011-05-04 | 中国农业银行股份有限公司 | 一种工作流异常处理方法和系统 |
CN103593236A (zh) * | 2013-11-14 | 2014-02-19 | 华为技术有限公司 | 一种业务流程调度的计算机设备、方法和装置 |
CN110471753A (zh) * | 2019-08-15 | 2019-11-19 | 中国银行股份有限公司 | 批量调度系统的控制方法及装置 |
CN110673936A (zh) * | 2019-09-18 | 2020-01-10 | 平安科技(深圳)有限公司 | 编排业务的断点续作方法、装置、存储介质及电子设备 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112965850A (zh) * | 2021-03-23 | 2021-06-15 | 上海云轴信息科技有限公司 | 一种在中台系统中实现工作流的方法与设备 |
CN113419829A (zh) * | 2021-06-23 | 2021-09-21 | 平安科技(深圳)有限公司 | 作业调度方法、装置、调度平台及存储介质 |
CN113568936A (zh) * | 2021-07-30 | 2021-10-29 | 多点生活(成都)科技有限公司 | 实时流数据存储方法、装置、终端设备 |
WO2023005075A1 (zh) * | 2021-07-30 | 2023-02-02 | 深圳前海微众银行股份有限公司 | 数据的容灾恢复方法、系统、终端设备及计算机存储介质 |
CN113568936B (zh) * | 2021-07-30 | 2023-06-13 | 多点生活(成都)科技有限公司 | 实时流数据存储方法、装置、终端设备 |
CN115099693A (zh) * | 2022-07-21 | 2022-09-23 | 宁波迈泰克磁材科技有限公司 | 一种烧结钕铁硼磁钢材料的生产控制方法及系统 |
CN115099693B (zh) * | 2022-07-21 | 2023-10-13 | 宁波迈泰克磁材科技有限公司 | 一种烧结钕铁硼磁钢材料的生产控制方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN112527484B (zh) | 2024-05-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112527484B (zh) | 工作流断点续跑方法、装置、计算机设备及可读存储介质 | |
CN108600029B (zh) | 一种配置文件更新方法、装置、终端设备及存储介质 | |
US11269718B1 (en) | Root cause detection and corrective action diagnosis system | |
JPWO2013140608A1 (ja) | イベントの根本原因の解析を支援する方法及びシステム | |
CN111881014B (zh) | 一种系统测试方法、装置、存储介质及电子设备 | |
CN111835467B (zh) | 消息发送方法、装置、计算机设备和存储介质 | |
JP5198154B2 (ja) | 障害監視システム及びデバイスと監視装置並びに障害監視方法 | |
CN113946499A (zh) | 一种微服务链路跟踪及性能分析方法、系统、设备及应用 | |
CN113452607A (zh) | 分布式链路采集的方法、装置、计算设备和存储介质 | |
CN111913824B (zh) | 确定数据链路故障原因的方法及相关设备 | |
CN112306805A (zh) | 防重复点击的方法、装置、计算机设备及可读存储介质 | |
CN111586022A (zh) | 防火墙开墙验证方法、电子装置、计算机设备及存储介质 | |
CN111682976B (zh) | 一种保证分布式多机通信监控的方法 | |
CN113656252A (zh) | 故障定位方法、装置、电子设备以及存储介质 | |
CN112256532A (zh) | 测试界面生成方法、装置、计算机设备及可读存储介质 | |
CN110875832B (zh) | 异常业务监控方法、装置、系统及计算机可读存储介质 | |
CN111752600B (zh) | 代码异常检测方法、装置、计算机设备及存储介质 | |
CN114416420A (zh) | 设备问题反馈方法和系统 | |
CN114205422B (zh) | 一种无侵入式业务处理方法、装置、设备及存储介质 | |
CN110489208A (zh) | 虚拟机配置参数核查方法、系统、计算机设备和存储介质 | |
CN111694705A (zh) | 监控方法、装置、设备及计算机可读存储介质 | |
CN116931965B (zh) | 集成流处理方法、装置、电子设备及存储介质 | |
CN112269583B (zh) | 设备运行异常文件升级处理方法、服务器和存储介质 | |
CN113377467B (zh) | 信息解耦方法、装置、服务器及存储介质 | |
CN112529438B (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 |