[发明专利]一种调度任务的方法和系统在审
申请号: | 201811367759.8 | 申请日: | 2018-11-16 |
公开(公告)号: | CN109445929A | 公开(公告)日: | 2019-03-08 |
发明(设计)人: | 李诚;张森森 | 申请(专利权)人: | 杭州数澜科技有限公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48 |
代理公司: | 北京市联德律师事务所 11361 | 代理人: | 黄大正 |
地址: | 311121 浙江省杭州*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 触发 调度 任务设置 检查 | ||
1.一种调度任务的方法,包括:
对于到达其触发时间的第一任务,检查作为该第一任务的前序任务的第二任务的触发时间;和
如果所述第二任务已到达其触发时间,则执行该第二任务,否则将该第二任务设置为已完成。
2.根据权利要求1所述的方法,其中,在所述检查操作之前,定义所述第一任务和所述第二任务,然后解析所述第一任务和所述第二任务的依赖关系。
3.根据权利要求2所述的方法,其中,所述定义操作包括:
创建所述第一任务和所述第二任务;
确定执行所述第一任务和所述第二任务所需要的资源;
将与所述第一任务和所述第二任务相关的数据持久化;和
验证所述第一任务和所述第二任务的合法性。
4.根据权利要求2所述的方法,其中,所述定义操作还包括为所述第一任务和所述第二任务设定各自的触发时间和执行顺序。
5.根据权利要求4所述的方法,其中,所述解析所述第一任务和所述第二任务的依赖关系的步骤包括:
获取所述第一任务和所述第二任务的触发时间和执行顺序;和
生成包括所述第一任务和所述第二任务的工作流。
6.一种调度任务的方法,包括:
对于未到达其触发时间的一任务,将该任务的状态设置为已完成;和
调度所述任务的后序任务。
7.一种调度至少两个任务的方法,包括:
(1)解析所述至少两个任务之间的依赖关系;
(2)根据所述依赖关系,生成一工作流;
(3)将所述工作流拆分成至少一个子工作流;
(4)选择并执行所述至少一个子工作流中的一个未被执行的子工作流;
(5)判断所选择并执行的所述子工作流是否执行成功,并且如果该子工作流执行成功则进入步骤(7),否则进入步骤(6);
(6)判断是否需要重跑所述所选择并执行的子工作流,如果需要重跑所述所选择并执行的子工作流,则进入步骤(4),否则调度失败并结束调度;和
(7)判断是否所述至少一个子工作流中的所有子工作流都执行完成,如果所述所有子工作流都执行完则结束调度,否则进入步骤(4)。
8.根据权利要求7所述的方法,其中,所述至少一个子工作流中的每个子工作流具有单向链式结构。
9.根据权利要求7所述的方法,其中,所述至少两个任务之间的依赖关系能够表示为树状结构。
10.根据权利要求7所述的方法,其中,所述步骤(4)包括:
(a)启动所述子工作流的执行并调度所述子工作流的起始任务;
(b)调度所述子工作流中的一任务,包括为所调度的该任务生成一实例;
(c)判断是否到达所述所调度的任务的触发时间,如果已到达所述所调度的任务的触发时间则进入步骤(e),否则进入步骤(d);
(d)将所述实例设置为已完成,并进入步骤(f);
(e)执行所述实例,如果所述实例执行成功则进入步骤(f),如果所述实例执行失败则结束所述子工作流的执行;
(f)判断所述子工作流的所有任务是否都执行完成,如果所述所有任务都执行完成则结束所述子工作流的执行,否则进入步骤(g);以及
(g)将所述所调度的任务的后序任务作为要被调度的任务,进入步骤(b)。
11.一种调度任务的系统,包括:
用于对于到达其触发时间的第一任务,检查作为该第一任务的前序任务的第二任务的触发时间的模块;
用于如果所述第二任务已到达其触发时间,则执行该第二任务的模块
用于如果所述第二任务未到达其触发时间,则将该第二任务设置为已完成的空跑设置模块。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州数澜科技有限公司,未经杭州数澜科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811367759.8/1.html,转载请声明来源钻瓜专利网。