[发明专利]一种任务的调度方法和调度系统在审
申请号: | 201710541863.3 | 申请日: | 2017-07-05 |
公开(公告)号: | CN109213578A | 公开(公告)日: | 2019-01-15 |
发明(设计)人: | 张耀东;潘宣辰 | 申请(专利权)人: | 武汉安天信息技术有限责任公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48;G06F9/50 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 430000 湖北省武汉市东湖新技术开*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 调度系统 队列缓存 任务处理 调度 队列 队列设置 队列拥塞 任务调度 任务队列 时间窗口 可控 准入 准许 平衡 保证 | ||
本发明提供了一种任务调度方法和调度系统,所述调度方法包括:设置队列所允许的任务流速及队列缓存长度,当待调度任务的流速不超过所允许的任务流速并且该任务队列的长度不超过所述队列缓存长度时,准许该任务进入队列,否则,禁止该任务进入。由于为任务进入队列设置了合理的准入机制,能保证在任意时间窗口内的任务处理频次可控,平衡了任务生产者和消费者能力,避免了队列拥塞,能充分调节任务处理能力。
技术领域
本发明属于电数据处理领域,尤其涉及一种任务的调度方法和调度系统。
背景技术
在现代分布式应用服务架构体系中,任务队列是其中很重要的一个组件,现在技术的发展使得任务也具有了多样性,包括:监控预警、数据回传、发送邮件、数据分析、离线计算等,而不同类型的任务对系统资源需求及执行优先级存在着差异化,在有限的系统资源下,如何实现任务的调度策略是影响任务执行效率的关键因素。
目前常见的任务队列一般采用的FIFO(First Input First Output,先进先出)队列调度方法,根据任务入队列时间,按照进入队列先后次序进行处理。由于FIFO队列调度方法相对简单,通常采用多个不同的队列来区分任务优先级,对优先级的控制不够精细,无法限制任意时间段进出队列的任务流速,任意时间窗口内生产者和消费者的能力无法达到相对均衡,同时对于突发大量任务涌入,在系统资源不足的情况下会导致队列发生阻塞,而且低优先级的任务完全失去被调度的机会。
发明内容
本发明实施例的目的在于提供一种任务的调度方法和调度系统,能保证在任意时间窗口内的任务处理频次可控,平衡任务生产者和消费者能力,避免队列拥塞,充分调节任务处理能力。
本发明公开了一种任务调度方法,应用于任务调度系统,所述调度方法包括:
设置队列所允许的任务流速及队列缓存长度,当待调度任务的流速不超过所允许的任务流速并且该任务队列的长度不超过所述队列缓存长度时,准许该任务进入队列,否则,禁止该任务进入,其中,所述任务流速为单位时间内任务调度的频次n,n为正整数。
进一步的,还设置有一时间桶,用于表示将单位时间划分为m个区间后得到的最小时间粒度,每个时间桶能容纳个任务,以时间桶为单位设置队列缓存长度为h,该队列的容量为个任务;当待调度的任务请求进入任务队列时,计算待调度的任务从头部向队尾顺序取m个时间桶累计的任务数目t以及待调度的任务可容纳的时间桶数目c,如果t<=n且c<=h,则准许该任务进入队列,否则,禁止该任务进入,m、h、t、c均为正整数。
进一步的,还对接收的待调度任务进行分类,并设置有与任务资源类型对应的二级队列,当有待调度的新任务请求进入队列时,该队列头部的任务出列后进入相应的二级队列。
进一步的,还设置有队列任务flush时间间隔,根据flush时间间隔将队列头部任务出列后放入二级队列。
进一步的,按预设时间评估二级队列中任务的流入和流出速率,当流入速率大于流出速率时,增加该队列任务执行单元的数目;当流入速率小于流出速率时,则减少或维持该队列任务执行单元的数目。
另一方面,本发明公开了一种任务调度系统,所述调度系统包括参数设置模块及判断模块,其中:
所述参数设置模块,用于设置队列所允许的任务流速及队列缓存长度;
所述判断模块,用于当判断出待调度任务的流速不超过所允许的任务流速并且该任务队列的长度不超过所述队列缓存长度时,准许该任务进入队列,否则,禁止该任务进入,其中,所述任务流速为单位时间内任务调度的频次n,n为正整数。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉安天信息技术有限责任公司,未经武汉安天信息技术有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710541863.3/2.html,转载请声明来源钻瓜专利网。