[发明专利]任务调度方法和装置有效
申请号: | 201210009478.1 | 申请日: | 2012-01-12 |
公开(公告)号: | CN103207807B | 公开(公告)日: | 2017-06-27 |
发明(设计)人: | 周宇 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
主分类号: | G06F9/46 | 分类号: | G06F9/46 |
代理公司: | 北京康信知识产权代理有限责任公司11240 | 代理人: | 吴贵明,江舟 |
地址: | 英属开曼群岛大开*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 任务 调度 方法 装置 | ||
技术领域
本申请涉及互联网领域,具体而言,涉及一种任务调度方法和装置。
背景技术
目前,在计算机系统中对任务的执行都是采用,在某个具体的时间点上由调度服务器进行触发调度以实现对任务的调度。然而,该时间点往往是采用时间表达式来体现的,这些时间表达式可以表示某个具体的时间点,甚至可以精确到秒级对任务进行触发调度。因此,这种触发方式可以很好的实现在特定的某个时间点对任务进行触发调度。
例如,quartz就是一种任务触发调度集合,它主要是形成一种基本形式如“秒 分 时 日 月周 年”的时间表达式。例如,对于每间隔1分钟执行一次的任务,可以表示为:“* */1 * * * ?”;在每一分钟的第0秒对任务进行触发调度,可以表示为:“0 */1 * * *?”。这种时间表示方法一般是精确到具体的某一秒对任务进行触发调度。采用类似quartz表达式对任务进行触发调度的具体步骤如图1所示,包括:
S102:确定任务的调度周期,所谓任务调度的周期就是从一次调度到下一次调度之间间隔的时间。例如,每间隔5秒调度一次,每间隔5分钟调度一次,每间隔一小时调度一次,这就表示任务的调度周期分别是:5秒,5分钟,一小时。
S104:确定任务需要调度的时间段,例如,调度的时间段是每周一到每周五的上午9点到下午6点,就表示只在周一到周五的上午9点到下午6点这个时间范围内才对该任务进行调度,在此时间段以外的时间不对该任务进行调度。
S106:根据确定的调度周期和调度时间段信息生成quartz的触发调度表达式。
S108:调度服务器对quartz表达式进行解析,当时间点满足表达式中的时间点时,对该任务进行调度。
然而,现有技术中,基于表达式来处理周期性任务的方法,基本都是单独以一种表达式来表示任务需要触发调度的时间。因为任务的执行都是在某个具体的时间点上由调度器触发调度,在计算机中,一般精确到具体的某一秒,这样会产生一定的问题,例如,对于具有相同调度周期的任务而言,每隔一定的周期在相同的时间点上对这些任务进行调度,这样,在每个调度周期的某个时间点上会造成调度服务器调度的压力过大,而调度服务器在其他时间点上可能没有需要调度的任务,从而处于空闲状态,导致调度服务器的调度压力分配不匀,造成系统资源的浪费,进一步的当许多具有相同调度周期的任务集中在一个时间点进行调度的时候,也会影响调度服务器在这个时间点上的处理性能,增加调度失败率,从而影响系统的处理效率和资源的使用效率。
针对上述问题,目前还没有提出有效的解决办法。
发明内容
本申请的主要目的在于提供一种任务调度方法和装置,以至少解决现有技术中多个具有相同调度周期的任务在同一时间点进行调度而造成的调度服务器的调度压力分配不均的问题。
根据本申请的一个方面,提供了一种任务调度方法,包括:获取待调度任务的调度周期和待调度任务的调度起始时间;根据调度周期和调度起始时间生成与待调度任务对应的等待时间,其中,具有相同调度周期和相同调度起始时间的不同待调度任务对应不同的等待时间;在调度周期到达时延迟等待时间对待调度任务进行调度。
优选地,根据调度周期和调度起始时间生成与待调度任务对应的等待时间的步骤包括:在范围[0,调度周期)之间随机选取N个数值,其中,N为具有相同调度周期和调度起始时间的不同待调度任务的个数;将所选取的N个数值作为等待时间分别分配给具有相同调度周期和调度起始时间的N个不同待调度任务。
优选地,通过如下公式在范围[0,调度周期)之间随机选取N个数值中的每一个数值:
start=random(0,interval/f)*f
其中,start表示等待时间,random(a,b)表示区间[a,b)中的一个随机值,interval表示调度周期,f为1至调度周期之间的一个整数。
优选地,根据调度周期和调度起始时间生成与待调度任务对应的等待时间之后,任务调度方法还包括:采用以下方式记录与待调度任务对应的调度信息:[(start,interval),quartz],其中,start表示等待时间,interval表示调度周期,quartz表示待调度任务的调度时间段。
优选地,在调度周期到达时延迟等待时间对待调度任务进行调度的步骤包括:获取调度时间段包括当前时间的调度信息;判断所获取的调度信息对应的调度周期是否到达;在判断的调度周期到达时延迟等待时间对与获取的调度信息对应的待调度任务进行调度。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210009478.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:CPU性能评估方法与装置
- 下一篇:数据下载请求的处理方法、装置及系统