[发明专利]任务调度方法、电子设备和存储介质有效
申请号: | 202210937431.5 | 申请日: | 2022-08-05 |
公开(公告)号: | CN115016919B | 公开(公告)日: | 2022-11-04 |
发明(设计)人: | 沈子喻;武佳斌 | 申请(专利权)人: | 阿里云计算有限公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48;G06F9/50 |
代理公司: | 北京润泽恒知识产权代理有限公司 11319 | 代理人: | 赵娟 |
地址: | 310024 浙江省*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 任务 调度 方法 电子设备 存储 介质 | ||
本申请实施例提供了一种任务调度方法、电子设备和存储介质,应用于包括多层任务队列的任务调度系统,以使任务队列中任务能够正常执行。所述方法包括:各层任务队列根据出队任务的执行时间,确定第一累计执行时间;确定各层任务队列的预期执行时间;依据所述第一累计执行时间和预期执行时间,确定执行调度的目标层任务队列;从所述目标层任务队列中获取任务给线程处理。可以基于实际执行时间和预期执行时间来筛选任务队列,使得各类任务均能够得到执行,不会出现任务饿死的情况。
技术领域
本申请涉及计算机技术领域,特别是涉及一种任务调度方法及装置、一种电子设备和一种存储介质。
背景技术
查询引擎在进行任务调度时,通常是基于用户优先级和FIFO(First Input FirstOutput,先进先出)的队列执行。其中,优先级高的任务优先出队,优先级相同的任务根据FIFO的规则出队。
举例来说,节点接收到任务后,会给任务分配一个任务id,任务id是递增的,从队列中出队任务时,优先级高的任务先出队,优先级相同时,根据任务id来排序,任务id小的优先出队,也就是FIFO的队列。
但是,上述这种方式中,任务根据优先级高低确定出队顺序,如果某一任务的优先级较低,且队列中一直存在高于其优先级的任务,就会导致低优先级的任务无法得到执行,极端情况下可能导致低优先级的任务饿死。
发明内容
本申请实施例提供了一种任务调度方法,以使任务队列中任务能够正常执行。
相应的,本申请实施例还提供了一种电子设备和一种存储介质,用以保证上述系统的实现及应用。
为了解决上述问题,本申请实施例公开了一种任务调度方法,应用于包括多层任务队列的任务调度系统,所述方法包括:
各层任务队列根据出队任务的执行时间,确定第一累计执行时间;
确定各层任务队列的预期执行时间;
依据所述第一累计执行时间和预期执行时间,确定执行调度的目标层任务队列;
从所述目标层任务队列中获取任务给线程处理。
可选的,所述多层任务队列中每层对应一个任务队列,每层的任务队列为根据任务的执行时间长短排序的队列,其中,执行时间短的任务优先出队。
可选的,所述各层任务队列根据出队任务的执行时间,确定第一累计执行时间,包括:
若线程执行所述任务的执行时间达到指定时长之前,所述任务执行完毕,将所述执行时间添加到所述目标任务队列的第一累计执行时间中;
若线程执行所述任务的执行时间达到指定时长,停止执行所述任务,并将指定时长添加到所述目标任务队列的第一累计执行时间中。
可选的,所述线程执行所述任务的执行时间达到指定时长之后,还包括:
判断所述任务是否执行完毕;
若所述任务未执行完毕,则将所述指定时长添加到所述任务的第二累计执行时间。
可选的,每层的任务队列对应有执行时间范围,所述方法还包括:
依据所述第二累计执行时间和各层任务队列的执行时间范围,确定所述任务所属任务队列的层数;
将所述任务加入到对应层数的任务队列中。
可选的,所述确定各层任务队列的预期执行时间,包括:
基于任务队列所在的层数和所述任务队列的第一累计执行时间,确定所述任务队列到底层任务队列的预期执行时间;
依据所述任务队列到底层任务队列的预期执行时间,确定各层任务队列的预期执行时间。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里云计算有限公司,未经阿里云计算有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210937431.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种高精度皮带秤校准系统及其方法
- 下一篇:一种光学检测装置及血液分析仪