任务执行方法、存储介质以及计算机设备技术

技术编号:16551355 阅读:167 留言:0更新日期:2017-11-14 07:14
本发明专利技术涉及一种任务执行方法、存储介质以及计算机设备,其中任务执行方法包括:将待执行任务分解为多个执行粒度相同的子任务,并组成子任务队列;获取多个子任务队列的注册请求,其中,注册请求中包括多个子任务队列的优先级、最大衰减执行时间;根据优先级和最大衰减执行时间执行多个子任务队列中的子任务。本发明专利技术通过将待执行任务分解为多个执行粒度相同的子任务,并组成子任务队列,然后根据各子任务队列的优先级和最大衰减执行时间执行各子任务队列中的子任务,从而实现对调度资源消耗大、执行时间长的大型任务的执行,避免了采用传统的优先级队列使得此类任务无法得到执行的问题。

Task execution method, storage medium and computer equipment

The invention relates to a method for executing tasks, storage medium and computer equipment, including task execution methods: to perform the task decomposition for multiple execution granularity of the same sub tasks, and the composition of the sub task queue; obtaining sub task queue registration request, the registration request includes a plurality of sub task queue, priority the maximum attenuation of execution time; according to the priority and the maximum execution time to perform attenuation multiple sub tasks in the queue tasks. The invention to be decomposed into multiple tasks to perform the same size and composition of the sub sub tasks, task queue, and then according to the sub task queue priority and the maximum execution time of each sub task execution attenuation in the queue of sub tasks, so as to realize the implementation of large-scale, long time of the execution of the task scheduling of resource consumption avoid using the traditional priority queue makes such tasks can not be executed problem.

【技术实现步骤摘要】

本专利技术涉及计算机
,特别是涉及一种任务执行方法、存储介质以及计算机设备
技术介绍
众所周知,优先级队列(PriorityQueue)是0个或多个元素的集合,每个元素都有一个优先权,对优先级队列执行的操作有查找、插入一个新元素以及删除,一般情况下,查找操作用来搜索优先权最大的元素,删除操作用来删除该元素。对于优先权相同的元素,可按先进先出次序处理或按任意优先权进行。然而,在医疗影像系统中,有很多非常耗资源的任务,这些任务会长时间、满带宽地执行。在执行某一个这样的任务时,显卡带宽会立即耗尽,并且无法同时运行另外一个长时间、耗资源的任务。这个时候,如果使用传统的优先级队列的话,因为通常都遵循高优先级先调度,低优先级后调度的原则,所以,如果任务队列中不停地有新的优先级较高的任务进入队列,则会导致已经有的低优先级任务永远无法得到调度。
技术实现思路
基于此,有必要针对采用传统的优先级队列使得低优先级任务无法得到执行的问题,提供一种任务执行方法、存储介质以及计算机设备。一种任务执行方法,包括:将待执行任务分解为多个子任务,并组成子任务队列;获取多个子任务队列的注册请求,所述注册请求中包括多个子任务队列的优先级、最大衰减执行时间;根据优先级和最大衰减执行时间执行多个子任务队列中的子任务。在其中一个实施例中,将待执行任务分解为多个子任务包括:将待执行任务分解为多个执行粒度相同的子任务,其中,执行粒度相同包括执行时间相同以及占用资源相同。在其中一个实施例中,根据优先级和最大衰减执行时间执行各子任务队列中的子任务,包括:A、根据优先级按高到低依次执行各子任务队列中的子任务,并记录子任务的执行时间;B、若执行的当前子任务队列中已执行子任务的执行总时间大于当前子任务队列的最大衰减执行时间或当前执行子任务队列中的子任务已执行完毕,则停止执行当前子任务队列中的子任务;C、调度执行下一优先级子任务队列中的子任务,并记录子任务的执行时间;D、返回执行步骤B、C,直到完成对最低优先级子任务队列中的子任务的调度;E、根据优先级按高到低返回依次执行各子任务队列中的未执行子任务,并记录子任务的执行时间;F、返回执行步骤B、C、D、E,直到完成各子任务队列中的所有子任务的执行。在其中一个实施例中,注册请求中还包括各子任务队列的标识、与标识对应的子任务队列的最大期望执行时间以及与标识对应的子任务队列中每个子任务的期望执行时间,所述任务执行方法还包括:获取临时任务加入指定子任务队列的加入请求,其中,加入请求中包括临时任务加入指定子任务队列的标识以及临时任务的期望执行时间;根据与标识对应的指定子任务队列中每个子任务的期望执行时间和临时任务的期望执行时间确定指定子任务队列的总期望执行时间;若指定子任务队列的总期望执行时间大于指定子任务队列的最大期望执行时间,则拒绝临时任务加入指定子任务队列的加入请求。在其中一个实施例中,该方法还包括:若指定子任务队列的总期望执行时间小于指定子任务队列的最大期望执行时间,则将临时任务加入指定子任务队列。在其中一个实施例中,根据与标识对应的指定子任务队列中每个子任务的期望执行时间和临时任务的期望执行时间确定指定子任务队列的总期望执行时间,包括:根据标识确定对应的指定子任务队列中的未执行子任务;根据标识对应的指定子任务队列中每个子任务的期望执行时间和未执行子任务,确定标识对应的指定子任务队列中未执行子任务的总期望执行时间;根据标识对应的指定子任务队列中未执行子任务的总期望执行时间和临时任务的期望执行时间确定指定子任务队列的总期望执行时间。在其中一个实施例中,该方法还包括:获取紧急任务执行请求;所述根据优先级和最大衰减执行时间执行各子任务队列中的子任务,包括::执行完当前正在执行的子任务后,执行紧急任务;若紧急任务执行完毕,则根据优先级和最大衰减执行时间返回执行当前正在执行的子任务的下一子任务。一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上方法的步骤。一种计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,其中,处理器执行所述程序时实现如上方法的步骤。上述任务执行方法、存储介质以及计算机设备,通过将待执行任务分解为多个执行粒度相同的子任务,并组成子任务队列,然后根据各子任务队列的优先级和最大衰减执行时间执行各子任务队列中的子任务,从而实现对调度资源消耗大、执行时间长的大型任务的执行,避免了采用传统的优先级队列使得此类任务无法得到执行的问题。附图说明图1为一个实施例中任务执行方法的流程示意图;图2为一个实施例中任务执行方法的流程示意图;图3为一个实施例中任务执行方法的流程示意图;图4为一个实施例中任务执行方法的流程示意图。具体实施方式为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。本专利技术实施例提供了一种任务执行方法,如图1所示,可以包括如下步骤::步骤S101,将待执行任务分解为多个执行粒度相同的子任务,并组成子任务队列。本实施例主要应用于调度资源消耗大、执行时间长的大型任务,其中,调度资源包括但不限于CPU、GPU等资源。在本实施例中,此类大型任务还具有可分割性,且分割后的任务没有执行先后顺序的依赖要求。因此,在调度执行此类大型任务之前,可以先将每个大型任务即待执行任务分别分解为由多个执行粒度相同的子任务组成的子任务队列。在本实施例中,执行粒度相同包括执行时间相同以及占用资源相同等,即对一个待执行任务进行分解后的各子任务的执行时间以及占用资源均相同。步骤S102,获取多个子任务队列的注册请求,其中,注册请求中包括多个子任务队列的优先级、最大衰减执行时间。获取每个子任务队列发送的注册请求,注册请求中包括各子任务队列的优先级、最大衰减执行时间。其中,各子任务队列的优先级用于表示各子任务队列的优先级别关系,从而可以根据各子任务队列的优先级从高到低构建优先级队列,即子任务队列的优先级高的排在优先级队列的前面,优先级低的排在优先级队列的后面。最大衰减执行时间则用于控制对应的子任务队列在持续执行一定时间后停止执行,并根据优先级启动下一级子任务队列执行,从而避免传统的优先级队列仅遵循高优先级先调度、低优先级后调度的原则,而导致优先级低的子任务队列无法得到调度的问题。步骤S103,根据优先级和最大衰减执行时间执行多个子任务队列中的子任务。在本实施例中,根据优先级和最大衰减执行时间执行多个子任务队列中的子任务,即根据构建的优先级队列的优先级顺序以及各子任务队列的最大衰减执行时间执行各子任务队列中的子任务。当执行某一优先级子任务队列中子任务的执行时间超出该一级子任务队列的最大衰减执行时间时,或者该一级子任务队列中的全部子任务都执行完毕,则暂停执行该一级子任务队列中的子任务,并调度执行下一优先级子任务队列中的子任务,以此类推,按优先级顺序循环执行各子任务队列中的子任务,直到完成优先级队列中所有子任务队列中子任务的执行。本专利技术实施例通过将待执行任务分解为由多个执行粒度相同的子任务组成的子任务队列,并为子任务队列设置最大衰减执行时本文档来自技高网...
任务执行方法、存储介质以及计算机设备

【技术保护点】
一种任务执行方法,其特征在于,包括:将待执行任务分解为多个子任务,并组成子任务队列;获取多个子任务队列的注册请求,所述注册请求中包括所述多个子任务队列的优先级、最大衰减执行时间;根据所述优先级和最大衰减执行时间执行多个子任务队列中的子任务。

【技术特征摘要】
1.一种任务执行方法,其特征在于,包括:将待执行任务分解为多个子任务,并组成子任务队列;获取多个子任务队列的注册请求,所述注册请求中包括所述多个子任务队列的优先级、最大衰减执行时间;根据所述优先级和最大衰减执行时间执行多个子任务队列中的子任务。2.根据权利要求1所述的任务执行方法,其特征在于,所述将待执行任务分解为多个子任务包括:将待执行任务分解为多个执行粒度相同的子任务,所述执行粒度相同包括执行时间相同以及占用资源相同。3.根据权利要求1所述的任务执行方法,其特征在于,所述根据所述优先级和最大衰减执行时间执行各子任务队列中的子任务,包括:A、根据所述优先级按高到低依次执行各子任务队列中的子任务,并记录所述子任务的执行时间;B、若执行的当前子任务队列中已执行子任务的执行总时间大于当前子任务队列的最大衰减执行时间或当前执行子任务队列中的子任务已执行完毕,则停止执行当前子任务队列中的子任务;C、调度执行下一优先级子任务队列中的子任务,并记录子任务的执行时间;D、返回执行步骤B、C,直到完成对最低优先级子任务队列中的子任务的调度;E、根据所述优先级按高到低返回依次执行各子任务队列中的未执行子任务,并记录子任务的执行时间;F、返回执行步骤B、C、D、E,直到完成所述各子任务队列中的所有子任务的执行。4.根据权利要求3所述的任务执行方法,其特征在于,所述注册请求中还包括所述各子任务队列的标识、与所述标识对应的子任务队列的最大期望执行时间以及与所述标识对应的子任务队列中每个子任务的期望执行时间,所述任务执行方法还包括:获取临时任务加入指定子任务队列的加入请求,所述加入请求中包括所述临时任务加入指定子任务队列的标识以及所述临时任务的期望执行时间;根据与所述标识对应的指定子任务队列中每个子任务的期望执行时间和所述临时任务的期望执行时间确定所述指定子任务队列的总期望执行时间;若所述指定子任务队列的总期望执行时间大于所述指定子任务队列的最大期望执行时间,则拒绝所述临时任...

【专利技术属性】
技术研发人员:陈重华
申请(专利权)人:上海联影医疗科技有限公司
类型:发明
国别省市:上海;31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1