CN110427252B - 基于任务依赖关系的任务调度方法、装置及存储介质 - Google Patents
基于任务依赖关系的任务调度方法、装置及存储介质 Download PDFInfo
- Publication number
- CN110427252B CN110427252B CN201910525940.5A CN201910525940A CN110427252B CN 110427252 B CN110427252 B CN 110427252B CN 201910525940 A CN201910525940 A CN 201910525940A CN 110427252 B CN110427252 B CN 110427252B
- Authority
- CN
- China
- Prior art keywords
- task
- execution
- dependency relationship
- workflow
- dependency
- 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
- 238000000034 method Methods 0.000 title claims abstract description 59
- 230000002159 abnormal effect Effects 0.000 claims description 14
- 238000012508 change request Methods 0.000 claims description 12
- 238000012544 monitoring process Methods 0.000 claims description 8
- 238000013507 mapping Methods 0.000 claims description 4
- 238000000059 patterning Methods 0.000 claims description 4
- 230000000007 visual effect Effects 0.000 abstract description 12
- 230000008569 process Effects 0.000 description 9
- 238000012545 processing Methods 0.000 description 7
- 230000008859 change Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 230000007717 exclusion Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 238000013467 fragmentation Methods 0.000 description 2
- 238000006062 fragmentation reaction Methods 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
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/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
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
技术领域
本发明涉及数据处理技术领域,尤其涉及一种基于任务依赖关系的任务调度方法、装置及计算机可读存储介质。
背景技术
分布式任务调度,是指将一个应用或者业务划分为多个任务交由多个服务器进行处理。分布式任务调度可解决单个服务器资源不足等问题,达到大规模数据处理的目的,因此得到了广泛运用。
目前市面上开源的分布式任务调度***产品(例如TBSchedule,SchedulerX,Elastic-job,Saturn等等)中,大部分都没有提供任务依赖功能,或者只提供任务之间简单的依赖关系,例如“B依赖A,C依赖B”这种简单的依赖关系(A—>B—>C)。然而,这种简单的依赖功能已经无法解决较为复杂的大任务协作执行问题。
并且,目前市面上的任务设计方法非常简陋,没有一种可视化的管理工具,基本仅靠***自带的脚本通过定时管理器来实现任务的提交与运行,而多个任务的流程化设计也仅能通过列表或者数据库字段手动填写任务的依赖关系,然后再通过写程序实现任务的流程化进行顺序执行,比较麻烦及不直观,而且也容易出错。
发明内容
本发明提供一种基于任务依赖关系的任务调度方法、装置及计算机可读存储介质,以解决现有分布式任务调度***无法解决较为复杂的大任务协作执行的技术问题。
为实现上述目的,本发明提供一种基于任务依赖关系的任务调度方法,该方法包括如下步骤:
建立任务之间的图形化的依赖关系;
将所述图形化的依赖关系解析成对应的工作流规则;
将所述工作流规则下发给任务执行集群互斥执行;
其中,所述任务执行集群的节点将根据所述工作流规则的调度规划,按规划执行所述工作流规则;
其中,所述建立任务之间的图形化的依赖关系的步骤包括:
获取任务流程图;
根据所述任务流程图,建立任务之间的依赖关系;
将所述任务之间的依赖关系图形化;
将图形化的依赖关系映射到实际任务。
可选地,在所述将所述工作流规则下发给执行集群互斥执行的步骤之后,所述方法还包括:
实时获取任务的执行状态,并将所述任务的执行状态显示于图谱上。
可选地,在所述实时获取任务的状态的步骤之后,还包括:
当任务执行状态出现异常时,将异常的任务执行状态反馈给相关人员,并产生执行异常的警告消息。
可选地,在所述将所述工作流规则下发给执行集群互斥执行的步骤之后,所述方法还包括:
记录任务的执行轨迹。
可选地,所述基于任务依赖关系的任务调度方法还包括:
当工作流执行集群在执行其中一个工作流时,判定所述工作流中的工作是否满足执行条件;
如果判定所述工作流中的工作满足执行条件,则向所述工作流对应的子任务执行集群下发执行指令,并监听子任务的执行结果;其中,所述工作流执行集群与所述任务执行集群分别属于不同的集群。
可选地,所述基于任务依赖关系的任务调度方法还包括:
接收当前子任务执行完毕后的回执,并判断是否满足启动下一个子任务的条件;
如果判定满足启动下一个子任务的条件,则执行所述下一个子任务,直到所述工作流对应的所有子任务执行完。
可选地,所述基于任务依赖关系的任务调度方法还包括:
实时监测是否接收到任务依赖关系的变更请求;
如果接收到任务依赖关系的变更请求,则根据所述变更请求,变更所述任务之间的依赖关系。
可选地,所述基于任务依赖关系的任务调度方法还包括:
当任一子任务中断再启动时,从中断点开始继续执行。
此外,为实现上述目的,本发明还提供一种基于任务依赖关系的任务调度装置,所述装置包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的任务调度程序,所述任务调度程序被所述处理器执行时实现如下步骤:
建立任务之间的图形化的依赖关系;
将所述图形化的依赖关系解析成对应的工作流规则;
将所述工作流规则下发给任务执行集群互斥执行;
其中,所述任务执行集群的节点将根据所述工作流规则的调度规划,按规划执行所述工作流规则。
此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有任务调度程序,所述任务调度程序可被一个或者多个处理器执行,以实现如上所述的基于任务依赖关系的任务调度方法的步骤。
本发明提出的基于任务依赖关系的任务调度方法、装置及计算机可读存储介质,通过可视化的方式来建立图形化的任务依赖关系,并把建立的图形化的依赖关系解析成对应的工作流规则,并下发给执行集群互斥执行,由于任务之间建立依赖关系,相互之间可完成协作,可解决复杂多任务串行、并行的协作执行问题。同时,通过可视化的方式建立的图形化的依赖关系直观,过程简单,不易出错。
附图说明
图1为本发明一实施例提供的基于任务依赖关系的任务调度方法的流程示意图;
图2为本发明实施例中的图形化任务依赖关系的一种表达形式示意图;
图3为本发明一实施例提供的基于任务依赖关系的任务调度装置的内部结构示意图;
图4为本发明一实施例提供的基于任务依赖关系的任务调度装置中任务调度程序的模块示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明提供一种基于任务依赖关系的任务调度方法。参照图1所示,为本发明一实施例提供的基于任务依赖关系的任务调度方法的流程示意图。该方法可以由一个装置执行,该装置可以由软件和/或硬件实现。
在本实施例中,基于任务依赖关系的任务调度方法包括:
步骤S10,建立任务之间的图形化的依赖关系。
其中,作为一种实现方式,建立任务之间的图形化的依赖关系的方式可以按以下步骤进行:
获取任务流程图;
根据所述任务流程图,建立任务之间的依赖关系,其中,所述依赖关系可以是包括有or/and等连接符的依赖关系;请参阅图2,所述依赖关系还可以是:“B依赖A,C依赖D,D依赖B,D依赖C,E依赖C,F依赖D,F依赖E”的依赖关系(A—>B—>D—>F,C—>E—>F,C—>D—>F)。
将所述任务之间的依赖关系图形化;
将图形化的依赖关系映射到实际任务。
具体来说,可以利用流程图编辑工具编辑出任务流程图,保存并输入到执行本发明的本装置当中,***将分析该任务流程图,并自动建立任务之间的依赖关系,并将建立的任务之间的依赖关系图形化,并将图形化的依赖关系映射到实际任务。
需要指出的是,将建立的任务之间的依赖关系图形化是指,以图形化的方式来表达任务之间的依赖关系,从而实现建立任务之间依赖关系的可视化。具体的,图形化任务依赖关系的表达形式可参阅图2。
此外,作为另一种替代的实现方式,建立任务之间的图形化的依赖关系的方式还可以为:采用人机交互的方式,直接输入任务之间的依赖关系,然后再将所述任务之间的依赖关系图形化。
步骤S20,将所述图形化的依赖关系解析成对应的工作流规则。
需要指出的是,每个任务都对应着一个工作流程,也就是说,执行任务即执行该任务对应的工作流。因此,在任务依赖关系确定的前提下,可以确定各任务对应的工作流之间的依然关系,而工作流之间的依然关系即为所述工作流规则。
步骤S30,将所述工作流规则下发给任务执行集群互斥执行。
其中,所述任务执行集群的节点将根据所述工作流规则的调度规划,按规划执行所述工作流规则。
本实施例提出的基于任务依赖关系的任务调度方法,通过可视化的方式来建立图形化的任务依赖关系,并把建立的图形化的依赖关系解析成对应的工作流规则,并下发给执行集群互斥执行,由于任务之间建立依赖关系,相互之间可完成协作,可解决复杂多任务串行、并行的协作执行问题。同时,通过可视化的方式建立的图形化的依赖关系直观,过程简单,不易出错。
进一步地,在本发明方法的另一实施例中,该方法还包括如下步骤:
实时获取任务的执行状态,并将所述任务的执行状态显示于图谱上。
在具体实施时,可以通过颜色来标记任务的状态,例如,可以用灰色标记为“已执行”的状态,用绿色表示标记为“等待执行”的状态,用红色标记为“执行失败”的状态,等等。这样相关人员根据该图谱就可以实时了解各任务的执行状态。
为了进一步优化本实施例,在所述实时获取任务的执行状态的步骤之后,该方法还包括如下步骤:
当任务执行状态出现异常时,将异常的任务执行状态反馈给相关人员,并产生执行异常的警告消息。
其中,任务执行状态异常的情况包括但不限于,执行中断、执行结果异常、无法生成执行结果、执行失败等等。
进一步地,在本发明方法的另一实施例中,该方法还包括如下步骤:
记录任务的执行轨迹;
当任一子任务中断再启动时,从中断点开始继续执行。
具体来说,在每个工作流在执行时,都会把执行流水信息保存到数据库中,且工作流中每一个工作节点执行完成后,都会把状态更新到数据库的执行流水中,以记录任务的执行轨迹,当有一个工作流执行失败时,在其恢复时,会获取数据库中的失败流水,从断点开始执行,节省大任务重复执行时间。
进一步地,在本发明方法的另一实施例中,该方法还包括如下步骤:
当工作流执行集群在执行其中一个工作流时,判定所述工作流中的工作是否满足执行条件;
如果判定所述工作流中的工作满足执行条件,则向所述工作流对应的子任务执行集群下发执行指令,并监听子任务的执行结果;其中,所述工作流执行集群与所述任务执行集群分别属于不同的集群;
接收当前子任务执行完毕后的回执,并判断是否满足启动下一个子任务的条件;
如果判定满足启动下一个子任务的条件,则执行所述下一个子任务,直到所述工作流对应的所有子任务执行完。
具体来说,当工作流执行集群在执行其中一个工作流时,会判定工作流中的工作是否满足执行条件,如果满足执行条件,将找到对应子任务所在的集群,并下发指令到子任务执行集群,同时,工作流执行集群会监听子任务执行的结果。子任务执行集群收到指令,按子任务定义的方式执行工作,其中,子任务定义的方式包括互斥方式或分片方式。当子任务执行完毕,发送回执给工作流执行集群,工作流执行集群收到子任务执行回执后,会对工作流进行一次规则运算,并根据规则运算,判断是否满足启动下一个子任务的条件,当满足启动下一个子任务的条件,重复执行上述步骤,直到整个工作流执行完。
其中,工作流执行集群与任务执行集群分别属于不同的集群。
本实施例采用采取多线程实时扫描规则与异步触发子任务的方式,提高了依赖关系执行节点的性能。
进一步地,在本发明方法的另一实施例中,该方法还包括如下步骤:
实时监测是否接收到任务依赖关系的变更请求;
如果接收到任务依赖关系的变更请求,则根据所述变更请求,变更所述任务之间的依赖关系。
因此,在本实施例当中,在任何时候,对于任务依赖关系的变更,即改即生效。
本发明还提供一种基于任务依赖关系的任务调度装置。参照图3所示,为本发明一实施例提供的基于任务依赖关系的任务调度装置的内部结构示意图。
在本实施例中,基于任务依赖关系的任务调度装置1可以是PC(PersonalComputer,个人电脑),也可以是智能手机、平板电脑、便携计算机等终端设备。该基于任务依赖关系的任务调度装置1至少包括存储器11、处理器12,网络接口13,以及通讯总线14。
其中,存储器11至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、磁性存储器、磁盘、光盘等。存储器11在一些实施例中可以是基于任务依赖关系的任务调度装置1的内部存储单元,例如该基于任务依赖关系的任务调度装置1的硬盘。存储器11在另一些实施例中也可以是基于任务依赖关系的任务调度装置1的外部存储设备,例如基于任务依赖关系的任务调度装置1上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器11还可以既包括基于任务依赖关系的任务调度装置1的内部存储单元也包括外部存储设备。存储器11不仅可以用于存储安装于基于任务依赖关系的任务调度装置1的应用软件及各类数据,例如任务调度程序01的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
处理器12在一些实施例中可以是一中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器或其他数据处理芯片,用于运行存储器11中存储的程序代码或处理数据,例如执行任务调度程序01等。
网络接口13可选的可以包括标准的有线接口、无线接口(如WI-FI接口),通常用于在该装置1与其他电子设备之间建立通信连接。
通讯总线14用于实现这些组件之间的连接通信。
可选地,该基于任务依赖关系的任务调度装置1还可以包括用户接口,用户接口可以包括显示器(Display)、输入单元比如键盘(Keyboard),可选的用户接口还可以包括标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在基于任务依赖关系的任务调度装置1中处理的信息以及用于显示可视化的用户界面。
图3仅示出了具有组件11-14以及任务调度程序01的基于任务依赖关系的任务调度装置1,本领域技术人员可以理解的是,图1示出的结构并不构成对基于任务依赖关系的任务调度装置1的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
在图3所示的基于任务依赖关系的任务调度装置1实施例中,存储器11中存储有任务调度程序01;处理器12执行存储器11中存储的任务调度程序01时实现如下步骤:
建立任务之间的图形化的依赖关系;
将所述图形化的依赖关系解析成对应的工作流规则;
将所述工作流规则下发给任务执行集群互斥执行,
其中,所述任务执行集群的节点将根据所述工作流规则的调度规划,按规划执行所述工作流规则。
其中,作为一种实现方式,建立任务之间的图形化的依赖关系的方式可以按以下步骤进行:
获取任务流程图;
根据所述任务流程图,建立任务之间的依赖关系;
将所述任务之间的依赖关系图形化;
将图形化的依赖关系映射到实际任务。
具体来说,可以利用流程图编辑工具编辑出任务流程图,保存并输入到执行本发明的本装置当中,***将分析该任务流程图,并自动建立任务之间的依赖关系,并将建立的任务之间的依赖关系图形化,并将图形化的依赖关系映射到实际任务。
本实施例提出的基于任务依赖关系的任务调度装置,通过可视化的方式来建立图形化的任务依赖关系,并把建立的图形化的依赖关系解析成对应的工作流规则,并下发给执行集群互斥执行,由于任务之间建立依赖关系,相互之间可完成协作,可解决复杂多任务串行、并行的协作执行问题。同时,通过可视化的方式建立的图形化的依赖关系直观,过程简单,不易出错。
进一步地,在本发明装置的另一实施例中,任务调度程序还可被处理器调用,以实现如下步骤:
实时获取任务的执行状态,并将所述任务的执行状态显示于图谱上;
当任务执行状态出现异常时,将异常的任务执行状态反馈给相关人员,并产生执行异常的警告消息。
在具体实施时,可以通过颜色来标记任务的状态,例如,可以用灰色标记为“已执行”的状态,用绿色表示标记为“等待执行”的状态,用红色标记为“执行失败”的状态,等等。这样相关人员根据该图谱就可以实时了解各任务的执行状态。
进一步地,在本发明装置的另一实施例中,任务调度程序01还可被处理器调用,以实现如下步骤:
记录任务的执行轨迹;
当任一子任务中断再启动时,从中断点开始继续执行。
具体实施时,在每个工作流在执行时,都会把执行流水信息保存到数据库中,且工作流中每一个工作节点执行完成后,都会把状态更新到数据库的执行流水中,以记录任务的执行轨迹,当有一个工作流执行失败时,在其恢复时,会获取数据库中的失败流水,从断点开始执行,节省大任务重复执行时间。
进一步地,在本发明装置的另一实施例中,任务调度程序还可被处理器调用,以实现如下步骤:
当工作流执行集群在执行其中一个工作流时,判定所述工作流中的工作是否满足执行条件;
如果判定所述工作流中的工作满足执行条件,则向所述工作流对应的子任务执行集群下发执行指令,并监听子任务的执行结果;其中,所述工作流执行集群与所述任务执行集群分别属于不同的集群;
接收当前子任务执行完毕后的回执,并判断是否满足启动下一个子任务的条件;
如果判定满足启动下一个子任务的条件,则执行所述下一个子任务,直到所述工作流对应的所有子任务执行完。
具体来说,当工作流执行集群在执行其中一个工作流时,会判定工作流中的工作是否满足执行条件,如果满足执行条件,将找到对应子任务所在的集群,并下发指令到子任务执行集群,同时,工作流执行集群会监听子任务执行的结果。子任务执行集群收到指令,按子任务定义的方式执行工作,其中,子任务定义的方式包括互斥方式或分片方式。当子任务执行完毕,发送回执给工作流执行集群,工作流执行集群收到子任务执行回执后,会对工作流进行一次规则运算,并根据规则运算,判断是否满足启动下一个子任务的条件,当满足启动下一个子任务的条件,重复执行上述步骤,直到整个工作流执行完。
其中,工作流执行集群与任务执行集群分别属于不同的集群。
本实施例采用采取多线程实时扫描规则与异步触发子任务的方式,大大提高了依赖关系执行节点的性能。
进一步地,在本发明装置的另一实施例中,任务调度程序还可被处理器调用,以实现如下步骤:
实时监测是否接收到任务依赖关系的变更请求;
如果接收到任务依赖关系的变更请求,则根据所述变更请求,变更所述任务之间的依赖关系。
因此,在本实施例当中,在任何时候,对于任务依赖关系的变更,即改即生效。
可选地,在其他实施例中,任务调度程序01还可以被分割为一个或者多个模块,一个或者多个模块被存储于存储器11中,并由一个或多个处理器(本实施例为处理器12)所执行以完成本发明,本发明所称的模块是指能够完成特定功能的一系列计算机程序指令段,用于描述任务调度程序在基于任务依赖关系的任务调度装置中的执行过程。
例如,参照图4所示,为本发明基于任务依赖关系的任务调度装置一实施例中的任务调度程序的程序模块示意图,该实施例中,任务调度程序01可以被分割为关系建立模块10、规则解析模块20及规则下发模块30,示例性地:
关系建立模块10用于:建立任务之间的图形化的依赖关系;
规则解析模块20用于:将所述图形化的依赖关系解析成对应的工作流规则;
规则下发模块30用于:将所述工作流规则下发给任务执行集群互斥执行;
其中,所述任务执行集群的节点将根据所述工作流规则的调度规划,按规划执行所述工作流规则。
上述关系建立模块10、规则解析模块20及规则下发模块30等程序模块被执行时所实现的功能或操作步骤与上述实施例大体相同,在此不再赘述。
此外,本发明实施例还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有任务调度程序,所述任务调度程序可被一个或多个处理器执行,以实现如下操作:
建立任务之间的图形化的依赖关系;
将所述图形化的依赖关系解析成对应的工作流规则;
将所述工作流规则下发给任务执行集群互斥执行;
其中,所述任务执行集群的节点将根据所述工作流规则的调度规划,按规划执行所述工作流规则。
本发明计算机可读存储介质具体实施方式与上述基于任务依赖关系的任务调度装置和方法各实施例基本相同,在此不作累述。
需要说明的是,上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。并且本文中的术语“包括”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (6)
1.一种基于任务依赖关系的任务调度方法,其特征在于,所述方法包括如下步骤:
建立任务之间的图形化的依赖关系;
将所述图形化的依赖关系解析成实际任务对应的工作流规则;
将所述工作流规则下发给任务执行集群互斥执行;
根据所述工作流规则的调度规划,利用所述任务执行集群的节点按规划执行所述工作流规则,以使所述集群的串行任务和并行任务协作执行;
记录任务的执行轨迹,当任一子任务中断再启动时,从中断点开始继续执行;
当工作流执行集群在执行其中一个工作流时,判定所述工作流中的工作是否满足执行条件,如果判定所述工作流中的工作满足执行条件,则向所述工作流对应的子任务执行集群下发执行指令,并监听子任务的执行结果,所述工作流执行集群与所述任务执行集群分别属于不同的集群;
实时监测是否接收到任务依赖关系的变更请求,如果接收到任务依赖关系的变更请求,则根据所述变更请求变更所述任务之间的依赖关系;
其中,所述建立任务之间的图形化的依赖关系的步骤包括:
获取任务流程图;
根据所述任务流程图,建立任务之间的依赖关系;
将所述任务之间的依赖关系图形化;
将图形化的依赖关系映射到实际任务。
2.如权利要求1所述的基于任务依赖关系的任务调度方法,其特征在于,在所述将所述工作流规则下发给执行集群互斥执行的步骤之后,所述方法还包括步骤:
实时获取任务的执行状态,并将所述任务的执行状态显示于图谱上。
3.如权利要求2所述的基于任务依赖关系的任务调度方法,其特征在于,在所述实时获取任务的执行状态的步骤之后,所述方法还包括步骤:
当任务执行状态出现异常时,将异常的任务执行状态反馈给相关人员,并产生执行异常的警告消息。
4.如权利要求1所述的基于任务依赖关系的任务调度方法,其特征在于,所述方法还包括步骤:
接收当前子任务执行完毕后的回执,并判断是否满足启动下一个子任务的条件;
如果判定满足启动下一个子任务的条件,则执行所述下一个子任务,直到工作流对应的所有子任务执行完。
5.一种基于任务依赖关系的任务调度装置,其特征在于,所述装置包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的任务调度程序,所述任务调度程序被所述处理器执行时实现如权利要求1至4中任一项所述的基于任务依赖关系的任务调度方法的步骤。
6.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有任务调度程序,所述任务调度程序可被一个或者多个处理器执行,以实现如权利要求1至4中任一项所述的基于任务依赖关系的任务调度方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910525940.5A CN110427252B (zh) | 2019-06-18 | 2019-06-18 | 基于任务依赖关系的任务调度方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910525940.5A CN110427252B (zh) | 2019-06-18 | 2019-06-18 | 基于任务依赖关系的任务调度方法、装置及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110427252A CN110427252A (zh) | 2019-11-08 |
CN110427252B true CN110427252B (zh) | 2024-03-26 |
Family
ID=68407692
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910525940.5A Active CN110427252B (zh) | 2019-06-18 | 2019-06-18 | 基于任务依赖关系的任务调度方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110427252B (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110990643B (zh) * | 2019-12-06 | 2022-07-15 | 厦门市美亚柏科信息股份有限公司 | 一种基于GoJS的复杂任务可视化方法、终端设备及存储介质 |
CN111309464A (zh) * | 2020-02-12 | 2020-06-19 | 杭州涂鸦信息技术有限公司 | 一种任务调度方法及*** |
CN111522630B (zh) * | 2020-04-30 | 2021-04-06 | 北京江融信科技有限公司 | 基于批次调度中心的计划任务执行方法以及*** |
CN112948068B (zh) * | 2020-09-16 | 2024-03-12 | 深圳市明源云科技有限公司 | 任务调度方法、装置及电子设备 |
CN112596873A (zh) * | 2020-12-16 | 2021-04-02 | 平安普惠企业管理有限公司 | 工作流依赖管理方法、装置、计算机设备及存储介质 |
CN112685154A (zh) * | 2020-12-25 | 2021-04-20 | 北京有竹居网络技术有限公司 | 任务流引擎的数据处理方法、任务流引擎、设备和介质 |
CN113240389A (zh) * | 2021-05-12 | 2021-08-10 | 网宿科技股份有限公司 | 工作流的创建方法、电子设备及存储介质 |
CN113434397B (zh) * | 2021-06-23 | 2022-04-08 | 平安银行股份有限公司 | 任务***的测试方法、装置、电子设备及存储介质 |
CN113419829B (zh) * | 2021-06-23 | 2023-01-13 | 平安科技(深圳)有限公司 | 作业调度方法、装置、调度平台及存储介质 |
CN115878272A (zh) * | 2021-09-22 | 2023-03-31 | 中科寒武纪科技股份有限公司 | 图任务调度方法、执行端设备、存储介质及程序产品 |
CN115061809B (zh) * | 2022-08-08 | 2022-11-11 | 杭州实在智能科技有限公司 | 基于安卓的rpa多任务调度方法及*** |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104461702A (zh) * | 2013-09-16 | 2015-03-25 | 腾讯科技(深圳)有限公司 | 业务处理方法及装置 |
CN108984284A (zh) * | 2018-06-26 | 2018-12-11 | 杭州比智科技有限公司 | 基于离线计算平台的dag任务调度方法及装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10467569B2 (en) * | 2014-10-03 | 2019-11-05 | Datameer, Inc. | Apparatus and method for scheduling distributed workflow tasks |
US10061577B2 (en) * | 2014-10-14 | 2018-08-28 | Electric Cloud, Inc. | System and method for optimizing job scheduling within program builds |
-
2019
- 2019-06-18 CN CN201910525940.5A patent/CN110427252B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104461702A (zh) * | 2013-09-16 | 2015-03-25 | 腾讯科技(深圳)有限公司 | 业务处理方法及装置 |
CN108984284A (zh) * | 2018-06-26 | 2018-12-11 | 杭州比智科技有限公司 | 基于离线计算平台的dag任务调度方法及装置 |
Non-Patent Citations (1)
Title |
---|
基于数据依赖和触发器的简单子任务调度算法;孙伟东 等;《辽宁大学学报(自然科学版)》;20090531;第36卷(第2期);第146-150页 * |
Also Published As
Publication number | Publication date |
---|---|
CN110427252A (zh) | 2019-11-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110427252B (zh) | 基于任务依赖关系的任务调度方法、装置及存储介质 | |
CN107016480B (zh) | 任务调度方法、装置及*** | |
US11977470B2 (en) | Monitoring long running workflows for robotic process automation | |
CN110825535A (zh) | 一种作业调度的方法和*** | |
CN108491304B (zh) | 电子装置、业务***风险控制方法及存储介质 | |
US20140258250A1 (en) | Flexible Control Framework Featuring Standalone Rule Engine | |
CN111176767A (zh) | 表数据处理方法、装置、计算机设备和存储介质 | |
CN111526049B (zh) | 运维***、运维方法、电子设备和存储介质 | |
WO2019075845A1 (zh) | 链路调用关系的构建方法、装置、计算机设备及存储介质 | |
CN110708366A (zh) | 一种插件进程的管理方法及相关方法和相关装置 | |
CN114661462A (zh) | 资源分配方法、***、计算机可读存储介质及电子设备 | |
CN112256783A (zh) | 数据导出方法、装置、电子设备及存储介质 | |
CN113094125B (zh) | 业务流程处理方法、装置、服务器及存储介质 | |
CN114564294A (zh) | 智能服务编排方法、装置、计算机设备及存储介质 | |
CN110708197A (zh) | 监控装置、监控装置的监控策略的设置方法及存储介质 | |
US20100023799A1 (en) | Determining correctness of job plans in a stream processing application | |
WO2019062020A1 (zh) | 异步任务统一处理方法、装置及存储介质 | |
CN108521524B (zh) | 坐席协办任务管理方法、装置、计算机设备及存储介质 | |
CN112364005A (zh) | 数据同步方法、装置、计算机设备及存储介质 | |
CN115147031B (zh) | 清算工作流执行方法、装置、设备及介质 | |
CN108073450B (zh) | 一种任务调度方法、装置及*** | |
CN115222363A (zh) | 可视化流程编排方法、可读存储介质及计算机设备 | |
CN114881313A (zh) | 基于人工智能的行为预测方法、装置及相关设备 | |
CN114327673A (zh) | 一种任务启动方法、装置、电子设备及存储介质 | |
CN104572036B (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 |