[发明专利]一种分布式任务系统的任务调度方法及装置在审
申请号: | 201710694826.6 | 申请日: | 2017-08-15 |
公开(公告)号: | CN109408204A | 公开(公告)日: | 2019-03-01 |
发明(设计)人: | 翁忠杰;曾文秋 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48 |
代理公司: | 北京安信方达知识产权代理有限公司 11262 | 代理人: | 栗若木;龙洪 |
地址: | 英属开曼群岛大开*** | 国省代码: | 开曼群岛;KY |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 任务调度 分布式任务系统 依赖关系 运行节点 申请 调度 检查 | ||
本申请提供一种分布式任务系统的任务调度方法及装置;其中,任务调度方法包括:当待运行节点的任务实例时,检查待运行的任务实例所依赖的任务实例;其中,所述待运行的任务实例所依赖的任务实例包括:前一个周期运行的任务实例;如果所述待运行的任务实例所依赖的任务实例已产出,则运行所述待运行的任务实例。本申请至少一个实施例能够实现复杂的调度依赖关系。
技术领域
本发明涉及数据处理领域,尤其涉及一种分布式任务系统的任务调度方法及装置。
背景技术
目前业界的常见的数据生产工作流任务调度器,通常都用于在一个工作流内以一个特定的顺序运行一组工作和流程。这些工作流调度器可以支持Cron语法调度,但是通常场景比较简单。
最常见的按天运行的工作流,按照工作流中的依赖关系定义,每个节点每天生成一份任务实例运行;这里的节点是指工作流中的任务节点。比如图1中,节点a和节点b每天零点分别运行任务实例A和任务实例B,其中,任务实例B依赖任务实例A。
较为复杂的情况下,可能需要一个工作流每天定时运行多次,即按小时支持Cron语法调度。
这种场景下,按照工作流的定义,为工作流中的每一个任务节点在指定的定时时间运行一份任务实例,不同时间点执行的工作流相互独立,工作流中的任务不会跨工作流依赖,互不影响。比如图2中,节点a和节点b在每天的0点、8点和16点各运行一个任务实例;节点a每天运行三个任务实例A1、A2、A3;节点b每天运行的三个任务实例B1、B2、B3,分别依赖A1、A2、A3。
目前的大数据工作流系统可以实现工作流的定时调度功能,但在依赖调度上存在极大的局限性。
发明内容
本申请提供一种分布式任务系统的任务调度方法及装置,能够实现复杂的调度依赖关系。
本申请采用如下技术方案。
一种分布式任务系统的任务调度方法,包括:
当待运行节点的任务实例时,检查待运行的任务实例所依赖的任务实例;其中,所述待运行的任务实例所依赖的任务实例包括:前一个周期运行的任务实例;
如果所述待运行的任务实例所依赖的任务实例已产出,则运行所述待运行的任务实例。
其中,所述前一个周期运行的任务实例可以包括以下一种或多种:
在前一个周期运行的本节点的任务实例;
在前一个周期运行的其它节点的任务实例。
其中,如果所述待运行的任务实例是在当前系统周期中本节点的首个任务实例,则所述在前一个周期所运行的本节点的任务实例可以是指:前一个系统周期中,本节点最后一个任务实例;
如果所述待运行的任务实例不是在当前系统周期中本节点的首个任务实例,则所述在前一个周期所运行的本节点的任务实例可以是指:同一个系统周期中,前一个任务周期运行的本节点的任务实例;
其中,一个所述系统周期中可以包含一个或多个任务周期;对于一个节点,在一个任务周期中运行一个任务实例。
其中,所述在前一个周期运行的其它节点的任务实例可以包括以下一种或多种:
在同一个系统周期的前一个任务周期运行的其它节点的任务实例;
在前一个系统周期运行的其它节点的一个或多个任务实例;
其中,一个所述系统周期中可以包含一个或多个任务周期;对于一个节点,在一个任务周期中运行一个任务实例。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710694826.6/2.html,转载请声明来源钻瓜专利网。