[发明专利]任务调度方法和装置有效
申请号: | 201210099545.3 | 申请日: | 2012-04-06 |
公开(公告)号: | CN103365708B | 公开(公告)日: | 2017-03-22 |
发明(设计)人: | 陈旭 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
主分类号: | G06F9/46 | 分类号: | G06F9/46 |
代理公司: | 北京康信知识产权代理有限责任公司11240 | 代理人: | 吴贵明,江舟 |
地址: | 英属开曼群岛大开*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 任务 调度 方法 装置 | ||
技术领域
本申请涉及互联网领域,具体而言,涉及一种任务调度方法和装置。
背景技术
随着社会的发展,调度在生产、电力、交通指挥以及计算机作业控制等领域中得到了广泛的应用。例如,数据仓库是决策支持系统(Decision Support System,简称为DSS)和联机分析应用数据源的结构化数据环境,基于数据仓库的调度系统一般会通过任务来描述数据仓库的一个业务处理流程。
然而,随着需要处理的业务数量的增多,调度系统需要负责的任务也越来越多。各个任务之间存在一定的依赖关系。
如图1所示,任务12、13和14依赖于任务11完成之后才能被执行,任务17依赖于任务13完成之后才能被执行,任务15依赖于任务12完成之后才能被执行,任务18依赖于任务13、14、15以及17完成之后才能被执行。
以图1为例进行说明,当任务11完成后,任务12、13和14才可以开始被执行,这时任务12、13和14请求执行所需的资源,然而,同一时间整个系统的处理能力有限,当多个任务等待同一个系统资源的时候,必然会出现系统资源的竞争问题。这时,每一个任务会按照自身权重的大小排队请求系统资源,即,权重大的优先获取请求的资源。通过上述方式,任务权重的大小就显得尤为重要。一般情况下,任务调度系统对业务处理有一个容忍时段,被调度执行的任务需要在规定的时间点之前完成,否则该任务将被延迟执行。任务权重决定了任务执行的先后顺序。
现有技术中,任务权重是根据任务的优先级和平均处理时间等因素按照某种规则事先计算得出,一旦确认好每个任务的任务权重该任务对应的权重将不再发生变化,即,任务权重的分配是静态的。然而,对任务的每一次调度,会受到多种因素的影响,这些因素主要有:数据量的大小、系统的繁忙程度以及网络负载等。在任务调度的过程中,每个任务的完成时间是不同的,任务之间还存在一定的依赖关系,因此,在同一时刻请求系统资源的任务也必然是不同的。对于现有技术中的静态权重不能根据当前系统的调度情况对等待资源的任务的执行先后顺序进行合理地调配,使得任务很难在调度服务器容忍的时间段内执行完成。
针对上述问题,目前尚未提出有效的解决方案。
发明内容
本申请提供了一种任务调度方法和装置,以至少现有技术中任务权重一旦设置完成便不再变动而造成的任务很难在调度服务器容忍的时间段内执行完成,使得系统调度出现异常的技术问题。
根据本申请的一个方面,提供了一种任务调度方法,包括:每隔预定的周期检测为处于未执行或等待执行状态的第一任务所设置的期望完成时间与当前系统时间之间的间隔是否小于预定时间;若间隔小于预定时间,则根据第一任务的当前权重、预定的周期、系统允许任务的最大权重以及预定时间对第一任务的当前权重以及与第一任务存在依赖关系的、且处于未执行或等待执行状态的第二任务的当前权重进行调整;根据调整后的权重的大小按顺序对所有未执行或等待执行状态的任务进行调度。
优选地,根据第一任务的当前权重、预定的周期、系统允许任务的最大权重以及预定时间对第一任务的当前权重以及与第一任务存在依赖关系的、且处于未执行或等待执行状态的第二任务的当前权重进行调整的步骤包括:根据第一任务的当前权重、预定的周期、系统允许任务的最大权重以及预定时间对第一任务的当前权重和第二任务的当前权重进行增加。
优选地,根据第一任务的当前权重、预定的周期、系统允许任务的最大权重以及预定时间对第一任务的当前权重以及与第一任务存在依赖关系的、且处于未执行或等待执行状态的第二任务的当前权重进行调整的步骤包括:在根据第一任务的当前权重、预定的周期、系统允许任务的最大权重以及预定时间对第一任务的当前权重和第二任务的当前权重进行增加之前,通过以下递归步骤获取第二任务,其中,当前任务的初始值为第一任务:步骤A:判断当前任务是否存在具有依赖关系的、且处于未执行或等待执行状态的前一个任务,其中,依赖关系指的是当前任务的执行依赖于前一个任务的执行;步骤B:若存在,则将该当前任务记录为第二任务中的任务,并将每一个前一个任务分别设置为当前任务,转至执行步骤A;若不存在,则停止执行对当前任务的递归步骤。
优选地,按照如下公式,根据第一任务的当前权重、预定的周期、系统允许任务的最大权重以及预定时间对第一任务的当前权重以及与第一任务存在依赖关系的、且处于未执行或等待执行状态的第二任务的当前权重进行调整:w=w+[(W-w)/K]×D其中,w为第一任务和第二任务中的每一个任务的当前权重;W为系统允许任务的最大权重;K为预定时间;D为预定的周期。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210099545.3/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种资源的调度和管理方法及装置
- 下一篇:BIOS镜像文件获取方法及装置