[发明专利]任务执行方法、存储介质以及计算机设备有效
申请号: | 201710516334.8 | 申请日: | 2017-06-29 |
公开(公告)号: | CN107346263B | 公开(公告)日: | 2021-01-12 |
发明(设计)人: | 陈重华 | 申请(专利权)人: | 上海联影医疗科技股份有限公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48 |
代理公司: | 北京华进京联知识产权代理有限公司 11606 | 代理人: | 哈达 |
地址: | 201807 *** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 任务 执行 方法 存储 介质 以及 计算机 设备 | ||
本发明涉及一种任务执行方法、存储介质以及计算机设备,其中任务执行方法包括:将待执行任务分解为多个执行粒度相同的子任务,并组成子任务队列;获取多个子任务队列的注册请求,其中,注册请求中包括多个子任务队列的优先级、最大衰减执行时间;根据优先级和最大衰减执行时间执行多个子任务队列中的子任务。本发明通过将待执行任务分解为多个执行粒度相同的子任务,并组成子任务队列,然后根据各子任务队列的优先级和最大衰减执行时间执行各子任务队列中的子任务,从而实现对调度资源消耗大、执行时间长的大型任务的执行,避免了采用传统的优先级队列使得此类任务无法得到执行的问题。
技术领域
本发明涉及计算机技术领域,特别是涉及一种任务执行方法、存储介质以及计算机设备。
背景技术
众所周知,优先级队列(Priority Queue)是0个或多个元素的集合,每个元素都有一个优先权,对优先级队列执行的操作有查找、插入一个新元素以及删除,一般情况下,查找操作用来搜索优先权最大的元素,删除操作用来删除该元素。对于优先权相同的元素,可按先进先出次序处理或按任意优先权进行。
然而,在医疗影像系统中,有很多非常耗资源的任务,这些任务会长时间、满带宽地执行。在执行某一个这样的任务时,显卡带宽会立即耗尽,并且无法同时运行另外一个长时间、耗资源的任务。这个时候,如果使用传统的优先级队列的话,因为通常都遵循高优先级先调度,低优先级后调度的原则,所以,如果任务队列中不停地有新的优先级较高的任务进入队列,则会导致已经有的低优先级任务永远无法得到调度。
发明内容
基于此,有必要针对采用传统的优先级队列使得低优先级任务无法得到执行的问题,提供一种任务执行方法、存储介质以及计算机设备。
一种任务执行方法,包括:
将待执行任务分解为多个子任务,并组成子任务队列;
获取多个子任务队列的注册请求,所述注册请求中包括多个子任务队列的优先级、最大衰减执行时间;
根据优先级和最大衰减执行时间执行多个子任务队列中的子任务。
在其中一个实施例中,将待执行任务分解为多个子任务包括:将待执行任务分解为多个执行粒度相同的子任务,其中,执行粒度相同包括执行时间相同以及占用资源相同。
在其中一个实施例中,根据优先级和最大衰减执行时间执行各子任务队列中的子任务,包括:
A、根据优先级按高到低依次执行各子任务队列中的子任务,并记录子任务的执行时间;
B、若执行的当前子任务队列中已执行子任务的执行总时间大于当前子任务队列的最大衰减执行时间或当前执行子任务队列中的子任务已执行完毕,则停止执行当前子任务队列中的子任务;
C、调度执行下一优先级子任务队列中的子任务,并记录子任务的执行时间;
D、返回执行步骤B、C,直到完成对最低优先级子任务队列中的子任务的调度;
E、根据优先级按高到低返回依次执行各子任务队列中的未执行子任务,并记录子任务的执行时间;
F、返回执行步骤B、C、D、E,直到完成各子任务队列中的所有子任务的执行。
在其中一个实施例中,注册请求中还包括各子任务队列的标识、与标识对应的子任务队列的最大期望执行时间以及与标识对应的子任务队列中每个子任务的期望执行时间,所述任务执行方法还包括:
获取临时任务加入指定子任务队列的加入请求,其中,加入请求中包括临时任务加入指定子任务队列的标识以及临时任务的期望执行时间;
根据与标识对应的指定子任务队列中每个子任务的期望执行时间和临时任务的期望执行时间确定指定子任务队列的总期望执行时间;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海联影医疗科技股份有限公司,未经上海联影医疗科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710516334.8/2.html,转载请声明来源钻瓜专利网。