[发明专利]任务调度方法及系统在审
申请号: | 202010150940.4 | 申请日: | 2020-03-06 |
公开(公告)号: | CN113360254A | 公开(公告)日: | 2021-09-07 |
发明(设计)人: | 谢翰 | 申请(专利权)人: | 北京搜狗科技发展有限公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48;G06F9/50;G06F9/54 |
代理公司: | 北京华圣典睿知识产权代理有限公司 11510 | 代理人: | 赵景平 |
地址: | 100084 北京市海淀区中关*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 任务 调度 方法 系统 | ||
本发明公开了一种任务调度方法及系统,该方法包括:预先设置待执行队列及对应每种任务类型的候选队列;在接收到任务后,根据所述任务的类型将所述任务添加到对应所述类型的候选队列中的末尾;在满足执行条件时,将所述候选队列中的任务复制到所述待执行队列中,并保证所述待执行队列中对应每个候选队列的任务最多有一个;由空闲的执行体按照先进先出原则依序从所述待执行队列中提取任务作为待执行任务进行执行。利用本发明,可以保证任务调度的公平性和有效性,并使CPU资源得到了充分利用。
技术领域
本发明涉及任务调度领域,具体涉及一种任务调度方法及系统。
背景技术
计算机科学和互联网应用中,很多场景需要进行任务调度。现有的任务调度方法,一般是采用简单的排队方法、或者流水线方法、或者优先级队列的方法,在针对没有等级差别的多任务调度应用中,无论采用现有哪种调度方法,都很难保证任务调度的公平性和有效性,经常会出现任务饥饿或CPU资源被闲置的情况。
发明内容
本发明实施例提供一种任务调度方法及系统,以解决现有的任务调度方案存在的上述问题。
为此,本发明提供如下技术方案:
一种任务调度方法,所述方法包括:
预先设置待执行队列及对应每种任务类型的候选队列;
接收任务并根据所述任务的类型将所述任务添加到对应所述类型的候选队列中的末尾;
在满足执行条件时,将所述候选队列中的任务复制到所述待执行队列中,并保证所述待执行队列中对应每个候选队列的任务最多有一个;
由空闲的执行体按照先进先出原则依序从所述待执行队列中提取任务作为待执行任务进行执行。
可选地,所述方法还包括:
空闲的执行体从所述待执行队列队头提取出待执行任务后,将所述待执行任务从其所在的候选队列中删除。
可选地,所述在满足执行条件时,将所述候选队列中的任务复制到所述待执行队列中包括:
将任务添加到候选队列的末尾后,如果所述候选队列的长度为1,则将所述任务复制到所述待执行队列的末尾;
将所述待执行任务从其所在的候选队列中删除后,如果所述待执行任务所在的候选队列不为空,则将所述待执行任务所在的候选队列中队头的任务复制到所述待执行队列的末尾。
可选地,每种任务类型对应一个或多个候选队列。
可选地,所述执行体包括以下任意一种或多种:进程、线程。
一种任务调度系统,所述系统包括:
设置模块,用于预先设置待执行队列及对应每种任务类型的候选队列,每种类型对应一个候选队列;
任务提交模块,用于接收任务并根据所述任务的类型将所述任务添加到对应所述类型的候选队列中的末尾;
调度模块,用于在满足执行条件时,将所述候选队列中的任务复制到所述待执行队列中,并保证所述待执行队列中对应每个候选队列的任务最多有一个;
所述执行体,用于在空闲时按照先进先出原则依序从所述待执行队列中提取任务作为待执行任务进行执行。
可选地,所述调度装置还包括:
任务维护模块,用于在空闲的执行体从所述待执行队列队头提取出待执行任务后,将所述待执行任务从其所在的候选队列中删除。
可选地,所述调度模块包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京搜狗科技发展有限公司,未经北京搜狗科技发展有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010150940.4/2.html,转载请声明来源钻瓜专利网。