[发明专利]一种调度任务的方法和系统在审
申请号: | 201811367759.8 | 申请日: | 2018-11-16 |
公开(公告)号: | CN109445929A | 公开(公告)日: | 2019-03-08 |
发明(设计)人: | 李诚;张森森 | 申请(专利权)人: | 杭州数澜科技有限公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48 |
代理公司: | 北京市联德律师事务所 11361 | 代理人: | 黄大正 |
地址: | 311121 浙江省杭州*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 触发 调度 任务设置 检查 | ||
本发明公开了一种调度任务的方法和系统。一种调度任务的方法,包括:对于到达其触发时间的第一任务,检查作为该第一任务的前序任务的第二任务的触发时间;如果所述第二任务已到达其触发时间,则执行该第二任务,否则将该第二任务设置为已完成。
技术领域
本发明涉及计算机技术,特别地涉及能够在大数据平台上支持跨周期调度任务的方法和装置。
背景技术
在大数据的分析和应用场景下,由于对不同来源的数据和不同的工作任务的时间要求以及信息响应要求不同,并且对不同任务的资源投入方案也灵活多变,因此难以使用某种单一的周期来满足整个工作流上的任务的个性化需求。其中,工作流是基于用户定义的任务内部的节点依赖关系、在任务调度执行时的执行流程。
例如,传统的采用具有单一时间粒度的任务调度的方案要求所有的任务符合最小任务调度的时间粒度,并且具有较长周期的任务将会被拆分成具有更短的周期的任务;该任务调度方案还要求任务的实际运行必须满足工作流预定义的先后顺序,每次工作流的调度都会按照预定义的顺序执行并消耗相应的资源。
另外,在现有的技术方案中,由于限制了任务调度的时间粒度,因此在任务调度的时候只能采用整个工作流中的最小时间粒度。这样,当工作流发生变更的时候,如果存在时间粒度上的变更,尤其是出现了更小的时间粒度,则要求整个工作流上所有的任务都要变更周期的设置,否则任务无法执行。同时,部分任务需要较长的执行时间。如果强制要求采用短周期的调度方案,则会造成任务的堆积、工作流调度失败甚至整个调度系统的崩溃。此外,在任务的依赖关系方面必须实现任务运行的先后顺序。由于部分前序任务可能在多次执行后结果是一致的,因此强制的调度会消耗掉系统的硬件资源以及工作时间,从而造成系统资源的浪费。
由此可见,由于在任务之间存在依赖关系并且各个任务存在差别,因此在使用传统的调度方法(包括采用单一的时间粒度的调度方法)时,不仅会造成时间和系统资源的浪费,任务调度的方案不得不受到整个工作流中某些任务的执行能力的制约,并且会导致整个系统无法灵活的适应任务变化,甚至在严重时会出现系统的崩溃。
发明内容
根据本发明的一个方面,一种调度任务的方法可以包括:对于到达其触发时间的第一任务,检查作为该第一任务的前序任务的第二任务的触发时间;以及如果所述第二任务已到达其触发时间,则执行该第二任务,否则将该第二任务设置为已完成。
在所述检查操作之前,定义所述第一任务和所述第二任务,然后解析所述第一任务和所述第二任务的依赖关系。
所述定义操作包括:创建所述第一任务和所述第二任务;确定执行所述第一任务和所述第二任务所需要的资源;将与所述第一任务和所述第二任务相关的数据持久化;以及验证所述第一任务和所述第二任务的合法性。
所述定义操作还包括为所述第一任务和所述第二任务设定各自的触发时间和执行顺序。
所述解析所述第一任务和所述第二任务的依赖关系的步骤包括:获取所述第一任务和所述第二任务的触发时间和执行顺序;以及生成包括所述第一任务和所述第二任务的工作流。
根据本发明的一个方面,一种调度任务的方法可以包括:对于未到达其触发时间的一任务,将该任务的状态设置为已完成;以及调度所述任务的后序任务。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州数澜科技有限公司,未经杭州数澜科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811367759.8/2.html,转载请声明来源钻瓜专利网。