CN113220441A - 任务调度方法、装置及电子设备 - Google Patents
任务调度方法、装置及电子设备 Download PDFInfo
- Publication number
- CN113220441A CN113220441A CN202110744030.3A CN202110744030A CN113220441A CN 113220441 A CN113220441 A CN 113220441A CN 202110744030 A CN202110744030 A CN 202110744030A CN 113220441 A CN113220441 A CN 113220441A
- Authority
- CN
- China
- Prior art keywords
- task
- block
- tasks
- task block
- scheduling
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 41
- 238000001514 detection method Methods 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 4
- 239000000725 suspension Substances 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种任务调度方法、装置及电子设备,该方法包括:当接收到第一任务的任务请求后,将该第一任务调度到第五任务块中等待调度,不断的检测第二任务块中正在执行的任务的数量是否小于预设的最大并发量,若小于预设的最大并发量,则从其它任务块中调取第二任务到第二任务块,并执行该第二任务,由此,接收到的任务先存储到第五任务块进行排队,当第二任务块中正在执行的任务的数量小于预设的最大并发量,则从其它的任务块中调取任务,由此,本实施例中通过排队机制和最大并发量控制机制,在保障了资源的合理利用外,也避免了由于超过了资源而发生宕机的情况,提升了任务执行成功的概率。
Description
技术领域
本发明涉及数据处理领域,尤其涉及一种任务调度方法、装置及电子设备。
背景技术
目前,在执行某个任务的情况下,技术人员需要确认当前资源的情况,再确定是否可以执行任务,若在没报备的情况下,执行了任务,可能会因为没有足够的资源支撑任务执行而发生程序宕机的情况。
发明内容
有鉴于此,本发明实施例公开了一种任务调度方法、装置及电子设备,通过排队机制和最大并发量控制机制,在保障了资源的合理利用外,也避免了由于超过了资源而发生宕机的情况,提升了任务执行成功的概率。
本发明实施例公开了一种任务调度方法,包括:
当接收到第一任务的任务请求后,将所述第一任务调度到第五任务块;所述第五任务块中存储有处于等待调度状态的任务;
检测第二任务块中处于正在执行状态的任务的数量是否小于预设的最大并发量;所述第二任务块中存储有处于正在执行状态的任务;
若所述第二任务块中处于正在执行状态的任务的数量小于预设的最大并发量,从其它任务块中调取第二任务到第二任务块,并执行所述第二任务;处于不同状态的任务存储在不同的任务块。
可选的,所述方法还包括:
确定当前所述第五任务块中存储的任务的分数的最小值;
将所述第五任务块中存储的任务的分数的最小值减去预设值,得到所述第一任务的分数。
可选的,所述若所述第二任务块中处于正在执行状态的任务的数量小于预设的最大并发量,从其它任务块中调取第二任务到所述第二任务块,包括:
检测第三任务块中是否包含任务;所述第三任务块中存储有由正在执行状态转变为暂停状态的任务;
若所述第三任务块中包含任务,从所述第三任务块中调取第二任务到第二任务块;
若从所述第三任务块中调取第二任务的数量小于需要调度到第二任务块的任务的数量,从所述第五任务块中调取第二任务到第二任务块;所述需要调度到第二任务块的任务的数量是依据所述预设的最大并发量和所述第二任务块中包含的处于正在执行状态的任务的数量确定的。
可选的,所述从所述第五任务块中调取第二任务到第二任务块,包括:
根据需要调度到第二任务块的任务的数量和从所述第三任务块中调取的任务的数量,确定需要从第五任务块调度的任务的数量;
按照第五任务块中各个任务的优先级的高低和需要从第五任务块中调度的任务的数量,从所述第五任务块中调取第二任务到第二任务块;所述第五任务块中分数越高的任务优先级越高。
可选的,所述方法还包括:
当接收到第三任务的优先执行请求后,将所述第三任务调取到第一任务块;所述第一任务块中存储有处于正在执行状态、且优先级最高的任务;
暂停所述第二任务块中处于正在执行状态的任务,并将第二任务块中暂停的任务调取到第三任务块中;所述第三任务块中存储有由正在执行的状态转变为暂停状态的任务。
可选的,所述方法还包括:
当所述第一任务块中的任务执行完成后,将所述第三任务块中的任务调取到所述第一任务块;
执行调取到所述第一任务块中的任务。
可选的,所述方法还包括:
当接收到对第四任务的暂停处理指令后,将所述第四任务调取到第四任务块;所述第四任务块中存储有基于业务需求而处于暂停处理状态的任务。
本发明实施例还公开了一种任务调度装置,包括:
第一调度单元,用于当接收到第一任务的任务请求后,将所述第一任务调度到第五任务块;所述第五任务块中存储有处于等待调度状态的任务;
检测单元,用于检测第二任务块中处于正在执行状态的任务的数量是否小于预设的最大并发量;所述第二任务块中存储有处于正在执行状态的任务;
第二调度单元,用于若所述第二任务块中处于正在执行状态的任务的数量小于预设的最大并发量,从其它任务块中调取第二任务到所述第二任务块,并执行所述第二任务;处于不同状态的任务存储在不同的任务块。
可选的,所述装置还包括:
确定单元,用于确定当前所述第五任务块中存储的任务的分数的最小值;
赋值单元,用于将所述第五任务块中存储的任务的分数的最小值减去预设值,得到所述第一任务的分数。
本发明实施例公开了一种电子设备,包括:
存储器和处理器;
所述存储器用于存储程序;
所述处理器用于执行所述存储器中的程序时执行前述的任务调度方法。
本实施例中公开了一种任务调度方法、装置及电子设备,该方法包括:当接收到第一任务的任务请求后,将该第一任务调度到第五任务块中等待调度,不断的检测第二任务块中正在执行的任务的数量是否小于预设的最大并发量,若小于预设的最大并发量,则从其它任务块中调取第二任务到第二任务块,并执行该第二任务,由此,接收到的任务先存储到第五任务块进行排队,当第二任务块中正在执行的任务的数量小于预设的最大并发量,则从其它的任务块中调取任务,由此,本实施例中通过排队机制和最大并发量控制机制,在保障了资源的合理利用外,也避免了由于超过了资源而发生宕机的情况,提升了任务执行成功的概率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1示出了本发明实施例提供的一种任务调度方法的流程示意图;
图2示出了本发明实施例提供的一种任务调度方法的又一流程示意图;
图3示出了本发明实施例提供的一种任务调度装置的结构示意图;
图4示出了本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参考图1,示出了本发明实施例提供的一种任务调度方法的流程示意图,在本实施例中,该方法包括:
S101:当接收到第一任务的任务请求后,将所述第一任务调度到第五任务块;所述第五任务块中存储有处于等待调度状态的任务;
本实施例中,预先将存储任务的容器划分了多个任务块,其中第一任务块中存储有处于正在执行状态、且优先级最高的任务;第二任务块中存储有处于正在执行状态的任务(普通优先级的);第三任务块中存储有由正在执行状态转变为暂停状态的任务;第四任务块中存储有基于业务需求而处于暂停状态的任务;第五任务块中存储有等待调取的任务。
其中,各个任务块的区分方式可以包括多种,本实施例中不进行限定,例如可以采用任务块中任务的分数进行区分,例如第一任务块中的任务的分数为1100以上,第二任务块中任务的分数为1100-1000,第三任务块中的任务的分数为1000-900,第四任务块中的任务的分数为900-800(或者第四任务块中所有的任务的分值均为800),第五任务块中的任务的分数为800以下。
本实施例中,当接收到第一任务的任务请求后,将第一任务调度到第五任务块中,等待调度。
其中,第一任务为调度系统接收到的任意一个任务。
其中,第一任务可以理解为接收到的任意一个任务,并不特指某个任务。
S102:检测第二任务块中处于正在执行状态的任务的数量是否小于预设的最大并发量;所述第二任务块中存储有处于正在执行状态的任务;
S103:若所述第二任务块中处于正在执行状态的任务的数量小于预设的最大并发量,从其它任务块中调取第二任务到第二任务块,并执行所述第二任务;处于不同状态的任务存储在不同的任务块。
本实施例中,正常情况下,调度系统执行第二任务块中的任务,并且并发执行第二任务块中的所有的任务,但是考虑到资源有限,为了避免由于超过了资源最大限制而发生宕机的情况,预先设置了最大并发量。其中,预先设置的最大并发量可以基于资源的使用情况进行调整。
在保障资源的使用不超过最大限制外,本实施例中,还不断的对第二任务块中的任务进行检测,即不断地检测当前正在执行的任务的数量,若当前正在执行的任务的数量小于预设的最大并发量时,可以从其它的任务块中调取任务。由此既保障了不超出最大的资源限制也提升了任务执行的效率。另外,在资源有限时,本申请基于任务的不同状态对任务进行分块管理,一方面,能够实现独立任务执行的合理有效地控制,避免调度执行任务的调度系统发生宕机并提高任务执行效率。另一方面,即使某个任务块中出现任务异常,其它任务块也能够正常处理,不会导致调度系统过大的资源浪费,提高资源利用率。
本实施例中,不同的任务块中存储有处于不同状态的任务,其中不同状态的任务在调取时,有不同的优先级,本实施例中预先设置了不同任务块调取的优先级,当第二任务块中处于正在执行的任务的数量小于预设的最大并发量时,按照优先级从其它任务块中调取任务。
其中,包含等待调取的任务的任务块包括:第三任务块和第五任务块,第三任务块中包含由正在执行状态转变为暂停状态的任务,若第三任务块中存在任务,则可以从第三任务块中调取第二任务到第二任务块并执行任务;第五任务块中包含有处于排队状态的处于等待调度状态的任务,由此可以从第五任务块中调取任务到第一任务块中执行。
其中,这里提到的第二任务块可以表示从其他任务块中调取到第二任务块中的任何一个任务,例如,该第二任务可以为第三任务块中任意一个任务,也可以为第五任务块中的任意一个任务。
基于上述介绍,从第三任务块和第五任务块调取第二任务到第二任务块时,第三任务块的优先级高于第五任务块,由此当第二任务块中处于正在执行的任务的数量小于预设的最大并发量,可先从第三任务块中调取任务,再从第五任务块中调取任务。
基于上述介绍,本实施例中公开了如下的两种实施方式实现从其它任务块中调取第二任务到第二任务块的过程:
实施方式一:
检测第三任务块中是否包含任务;所述第三任务块中存储有由正在执行状态转变为暂停状态的任务;
若所述第三任务块中包含任务,从所述第三任务块中调取第二任务到第二任务块;
若从所述第三任务块中调取第二任务的数量小于需要调度到第二任务块的任务的数量,从所述第五任务块中调取第二任务到第二任务块;所述需要调度到第二任务块的任务的数量是依据预设的最大并发量和第二任务块中包含的处于正在执行状态的任务的数量确定的。
本实施例中,当第二任务块中处于正在执行的任务的数量小于预设的最大并发量时,按照第三任务块和第五任务快的优先级调取任务,即先从第三任务块中调取任务到第二任务块,若从第三任务块中调取到第二任务块中的任务的数量小于需要调度到第二任务块的任务的数量,再从第五任务块中调取任务。
若从第三任务块中调取到第二任务块中任务的数量达到了需要调度到第二任务块的任务的数量,则停止向第二任务块中调取任务。
实施方式二:
检测第三任务块中是否包含任务;所述第三任务块中存储有由正在执行状态转变为暂停状态的任务;若所述第三任务块中包含任务,从所述第三任务块中调取第二任务到第二任务块。
检测第三任务块中是否包含任务;所述第三任务块中存储有由正在执行状态转变为暂停状态的任务;若所述第三任务块中不包含任务,检测所述第五任务块中是否包含任务;若所述第五任务块中包含任务,从所述第五任务块中调取第二任务到第二任务块。
本实施例中,由于不断的执行S102的检测过程,为了提高效率,降低运算的复杂度,从第三任务块中调取了任务后,无需检测调取第二任务的数量小于需要调度到第二任务块的任务的数量,在等待下一次执行检测第二任务块中处于正在执行状态的任务的数量是否小于预设的最大并发量时,若第三任务块中不存在任务,则直接从第五任务块中调取任务,实现任务的灵活调取,提高任务执行效率。
针对上述的两种实施方式,从第五任务块中调取任务时,为了保证先接收到的任务请求可以优先被执行,需要按照第五任务块中任务的优先级从第五任务块中调取任务到第二任务块中,具体的,从第五任务块中调取第二任务到第二任务块的过程包括:
根据需要调度到第二任务块的任务的数量和从第三任务块中调取的任务的数量,确定需要从第五任务块调度的任务的数量;
按照第五任务块中各个任务的优先级的高低和需要从第五任务块中调度的任务的数量,从所述第五任务块中调取第二任务到第二任务块;所述第五任务块中分数越高的任务优先级越高。
由此,基于第五任务块中任务的优先级从第五任务块中调取第二任务,保证了先接收到的任务被优先执行,一方面降低了任务由于长时间未被执行从而导致任务任务失败的问题,另一方面也有利于对任务的执行进行监管。
本实施例中,可以采用多种方式表示第五任务块中各任务的优先级,本实施例中不进行限定,例如可以采用分值表示不同任务的优先级,具体的,还包括:
确定当前第五任务块中存储的任务的分数的最小值;
将所述第五任务块中存储的任务的分数的最小值减去预设值,得到第一任务的分数。
本实施例中,通过分数的方式表示第五任务块中存储的任务的优先级,不仅操作简单,并且即使任务很多的情况下,也能很好的区分各任务的优先级。
本实施例中,预设值可以为预先设置的任意一个数值,本实施例中不进行限定,例如预设值可以为1。
本实施例中,在第五任务块为空的情况下,首次接收到第一任务时,此时第五任务块中不存在分数的最小值,那么可以将预先设置的第五任务块中任务的分数的最大值赋给第一任务。
例如,当第五任务块为空的情况下,首次接收到第一任务时,若预先设置的第五任务块中任务的分数的最大值为799,则此时第一任务的分数值为799。当第五任务块不为空的情况下,接收到第一任务时,若此时第五任务块中包含的任务的分数的最小值为700,那么第一任务的分数为699。
并且,第二任务块中各个任务的分数值表征各个任务的优先级,从第五任务块中向第二任务块中调取任务时,按照优先级大小调度,即先调取优先级高的,再调取优先级低的。
本实施例中公开了一种任务调度方法和装置,该方法包括:当接收到第一任务的任务请求后,将该第一任务调度到第五任务块中等待调度,不断的检测第二任务块中正在执行的任务的数量是否小于预设的最大并发量,若小于预设的最大并发量,则从其它任务块中调取第二任务到第二任务块,并执行该第二任务,由此,接收到的任务先存储到第五任务块进行排队,当第二任务块中正在执行的任务的数量小于预设的最大并发量,则从其它的任务块中调取任务,由此,本实施例中通过排队机制和最大并发量控制机制,在保障了资源的合理利用外,也避免了由于超过了资源而发生宕机的情况,提升了任务执行成功的概率。
参考图2,示出了本发明实施例提供的一种任务调度方法的又一流程示意图,在本实施例中,该方法包括:
S201:当接收到第三任务的优先执行请求后,将所述第三任务调取到第一任务块;所述第一任务块中存储有处于正在执行状态、且优先级最高的任务;
本实施例中,第三任务表示为接收到的需要优先执行的任务,该任务可能存在于任何一个任务块中,无论该任务存在于任何一个任务块中,将该第三任务调取到第一任务块中。
S202:暂停所述第二任务块中处于正在执行状态的任务,并将第二任务块中暂停的任务调取到第三任务块中;所述第三任务块中存储有由正在执行的状态转变为暂停状态的任务。
本实施例中,由于业务需求,需要对某个或者某些任务优先执行时,可以向调度系统发送优先执行请求,调度系统中设置了一个第一任务块用于存储高优先级的任务,当任务调度到第一任务块后,优先执行该第一任务块中的任务。
并且,为了提高高优先级的任务的执行效率,暂停第二任务块中正在执行的任务,全力保障高优先级的任务的资源。
并且,当第二任务块中正在执行的任务暂停后,将第二任务块中暂停的任务可以存储到第三任务块中。
其中,为了保证之前暂停的任务能够顺利执行成功,当第一任务块中高优先级的任务执行完成后,将所述第三任务块中的任务调取到第一任务块,并执行调取到第一任务块中的任务。
本实施例中,对于需要优先执行的任务,暂停其它任务的执行,并执行该需要优先执行的任务,由此,当需要优先执行其它任务的情况下,也不会造成资源不足的问题。那么,一方面保障了特殊情况下,对特殊任务的优先执行,另一方面也避免了由于资源紧张从而导致宕机的问题。
对于上述实施例1和实施例2,进一步的,一些情况下,由于业务需求已经发起了任务请求的任务可能需要被暂停,当调度系统接收到对第四任务的暂停处理指令后,将所述第四任务调取到第四任务块;所述第四任务块中存储有基于业务需求而处于暂停处理状态的任务。
其中,由于业务需求需要被暂停的任务可能存储在除第四任务块之外的任何一个任务块中,从第四任务所在的任务块中将第四任务调取到第四任务块中,并暂停该任务的调度和执行。
本实施例中,第四任务表示需要被暂停的任务,该任务可以存在于除第四任务块之外的任何一个任务块中。
由此,将需要暂停的任务单独存储在第四任务块中,使得需要被暂停的任务可以被单独控制,避免了任务调度过程中出现混乱。
参考图3,示出了本发明实施例提供的一种任务调度装置的结构示意图,在本实施例中,该装置包括:
第一调度单元301,用于当接收到第一任务的任务请求后,将所述第一任务调度到第五任务块;所述第五任务块中存储有处于等待调度状态的任务;
检测单元302,用于检测第二任务块中处于正在执行状态的任务的数量是否小于预设的最大并发量;所述第二任务块中存储有处于正在执行状态的任务;
第二调度单元303,用于若所述第二任务块中处于正在执行状态的任务的数量小于预设的最大并发量,从其它任务块中调取第二任务到第二任务块,并执行所述第二任务;处于不同状态的任务存储在不同的任务块。
可选的,所述装置还包括:
确定单元,用于确定当前第五任务块中存储的任务的分数的最小值;
赋值单元,用于将所述第五任务块中存储的任务的分数的最小值减去预设值,得到第一任务的分数。
可选的,所述第二调度单元,包括:
检测子单元,用于检测第三任务块中是否包含任务;所述第三任务块中存储有由正在执行状态转变为暂停状态的任务;
第一调取子单元,用于若所述第三任务中包含任务,从所述第三任务块中调取第二任务到第二任务块;
第二调取子单元,用于若从所述第三任务块中调取第二任务的数量小于需要调度到第二任务块的任务的数量,从所述第五任务块中调取任务到第二任务块;所述需要调度到第二任务块的任务的数量是依据预设的最大并发量和第二任务块中包含的处于正在执行状态的任务的数量确定的。
可选的,所述第二调取子单元,包括:
确定子单元,用于根据需要调度到第二任务块的任务的数量和从第三任务块中调取的任务的数量,确定需要从第五任务块调度的任务的数量;
第三调取子单元,用于按照第五任务块中各个任务的优先级的高低和需要从第五任务块中调度的任务的数量,从所述第五任务块中调取第二任务到第二任务块;所述第五任务块中分数越高的任务优先级越高。
可选的,所述装置还包括:
第三调度单元,用于当接收到第三任务的优先执行请求后,将所述第三任务调取到第一任务块;所述第一任务块中存储有处于正在执行状态、且优先级最高的任务;
暂停单元,用于暂停所述第二任务块中处于正在执行状态的任务,并将第二任务块中暂停的任务调取到第三任务块中;所述第三任务块中存储有由正在执行的状态转变为暂停状态的任务。
可选的,所述装置还包括:
第四调取子单元,用于当所述第一任务块中的任务执行完成后,将所述第三任务块中的任务调取到第一任务块;
执行子单元,用于执行调取到第一任务块中的任务。
可选的,所述装置还包括:
第四调度单元,用于当接收到对第四任务的暂停处理指令后,将所述第四任务调取到第四任务块;所述第四任务块中存储有基于业务需求而处于暂停处理状态的任务。
本实施例的装置,当接收到第一任务的任务请求后,将该第一任务调度到第五任务块中等待调度,不断的检测第二任务块中正在执行的任务的数量是否小于预设的最大并发量,若小于预设的最大并发量,则从其它任务块中调取第二任务到第二任务块,并执行该第二任务,由此,接收到的任务先存储到第五任务块进行排队,当第二任务块中正在执行的任务的数量小于预设的最大并发量,则从其它的任务块中调取任务,由此,本实施例中通过排队机制和最大并发量控制机制,在保障了资源的合理利用外,也避免了由于超过了资源而发生宕机的情况,提升了任务执行成功的概率。
参考图4,示出了本发明实施例提供的一种电子设备的结构示意图,在本实施例中,该电子设备包括:
存储器401和处理器402;
所述存储器用于存储程序;
所述处理器用于执行所述存储器中的程序时执行下述的任务调度方法:
当接收到第一任务的任务请求后,将所述第一任务调度到第五任务块;所述第五任务块中存储有处于等待调度状态的任务;
检测第二任务块中处于正在执行状态的任务的数量是否小于预设的最大并发量;所述第二任务块中存储有处于正在执行状态的任务;
若所述第二任务块中处于正在执行状态的任务的数量小于预设的最大并发量,从其它任务块中调取第二任务到第二任务块,并执行所述第二任务;处于不同状态的任务存储在不同的任务块。
可选的,任务调度方法还包括:
确定当前第五任务块中存储的任务的分数的最小值;
将所述第五任务块中存储的任务的分数的最小值减去预设值,得到第一任务的分数。
可选的,所述若所述第二任务块中处于正在执行状态的任务的数量小于预设的最大并发量,从其它任务块中调取第二任务到第二任务块,包括:
检测第三任务块中是否包含任务;所述第三任务块中存储有由正在执行状态转变为暂停状态的任务;
若所述第三任务块中包含任务,从所述第三任务块中调取第二任务到第二任务块;
若从所述第三任务块中调取第二任务的数量小于需要调度到第二任务块的任务的数量,从所述第五任务块中调取第二任务到第二任务块;所述需要调度到第二任务块的任务的数量是依据预设的最大并发量和第二任务块中包含的处于正在执行状态的任务的数量确定的。
可选的,所述从所述第五任务块中调取第二任务到第二任务块,包括:
根据需要调度到第二任务块的任务的数量和从第三任务块中调取的任务的数量,确定需要从第五任务块调度的任务的数量;
按照第五任务块中各个任务的优先级的高低和需要从第五任务块中调度的任务的数量,从所述第五任务块中调取第二任务到第二任务块;所述第五任务块中分数越高的任务优先级越高。
可选的,任务调度方法还包括:
当接收到第三任务的优先执行请求后,将所述第三任务调取到第一任务块;所述第一任务块中存储有处于正在执行状态、且优先级最高的任务;
暂停所述第二任务块中处于正在执行状态的任务,并将第二任务块中暂停的任务调取到第三任务块中;所述第三任务块中存储有由正在执行的状态转变为暂停状态的任务。
可选的,任务调度方法还包括:
当所述第一任务块中的任务执行完成后,将所述第三任务块中的任务调取到第一任务块;
执行调取到第一任务块中的任务。
可选的,任务调度方法还包括:
当接收到对第四任务的暂停处理指令后,将所述第四任务调取到第四任务块;所述第四任务块中存储有基于业务需求而处于暂停处理状态的任务。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种任务调度方法,其特征在于,包括:
当接收到第一任务的任务请求后,将所述第一任务调度到第五任务块;所述第五任务块中存储有处于等待调度状态的任务;
检测第二任务块中处于正在执行状态的任务的数量是否小于预设的最大并发量;所述第二任务块中存储有处于正在执行状态的任务;
若所述第二任务块中处于正在执行状态的任务的数量小于预设的最大并发量,从其它任务块中调取第二任务到第二任务块,并执行所述第二任务;处于不同状态的任务存储在不同的任务块。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
确定当前所述第五任务块中存储的任务的分数的最小值;
将所述第五任务块中存储的任务的分数的最小值减去预设值,得到所述第一任务的分数。
3.根据权利要求1所述的方法,其特征在于,所述若所述第二任务块中处于正在执行状态的任务的数量小于预设的最大并发量,从其它任务块中调取第二任务到所述第二任务块,包括:
检测第三任务块中是否包含任务;所述第三任务块中存储有由正在执行状态转变为暂停状态的任务;
若所述第三任务块中包含任务,从所述第三任务块中调取第二任务到第二任务块;
若从所述第三任务块中调取第二任务的数量小于需要调度到第二任务块的任务的数量,从所述第五任务块中调取第二任务到第二任务块;所述需要调度到第二任务块的任务的数量是依据所述预设的最大并发量和所述第二任务块中包含的处于正在执行状态的任务的数量确定的。
4.根据权利要求3所述的方法,其特征在于,所述从所述第五任务块中调取第二任务到第二任务块,包括:
根据需要调度到第二任务块的任务的数量和从所述第三任务块中调取的任务的数量,确定需要从第五任务块调度的任务的数量;
按照第五任务块中各个任务的优先级的高低和需要从第五任务块中调度的任务的数量,从所述第五任务块中调取第二任务到第二任务块;所述第五任务块中分数越高的任务优先级越高。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当接收到第三任务的优先执行请求后,将所述第三任务调取到第一任务块;所述第一任务块中存储有处于正在执行状态、且优先级最高的任务;
暂停所述第二任务块中处于正在执行状态的任务,并将第二任务块中暂停的任务调取到第三任务块中;所述第三任务块中存储有由正在执行的状态转变为暂停状态的任务。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
当所述第一任务块中的任务执行完成后,将所述第三任务块中的任务调取到所述第一任务块;
执行调取到所述第一任务块中的任务。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当接收到对第四任务的暂停处理指令后,将所述第四任务调取到第四任务块;所述第四任务块中存储有基于业务需求而处于暂停处理状态的任务。
8.一种任务调度装置,其特征在于,包括:
第一调度单元,用于当接收到第一任务的任务请求后,将所述第一任务调度到第五任务块;所述第五任务块中存储有处于等待调度状态的任务;
检测单元,用于检测第二任务块中处于正在执行状态的任务的数量是否小于预设的最大并发量;所述第二任务块中存储有处于正在执行状态的任务;
第二调度单元,用于若所述第二任务块中处于正在执行状态的任务的数量小于预设的最大并发量,从其它任务块中调取第二任务到所述第二任务块,并执行所述第二任务;处于不同状态的任务存储在不同的任务块。
9.根据权利要求8所述的装置,其特征在于,所述装置还包括:
确定单元,用于确定当前所述第五任务块中存储的任务的分数的最小值;
赋值单元,用于将所述第五任务块中存储的任务的分数的最小值减去预设值,得到所述第一任务的分数。
10.一种电子设备,其特征在于,包括:
存储器和处理器;
所述存储器用于存储程序;
所述处理器用于执行所述存储器中的程序时执行上述权利要求1-7中任一项所述的任务调度方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110744030.3A CN113220441B (zh) | 2021-07-01 | 2021-07-01 | 任务调度方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110744030.3A CN113220441B (zh) | 2021-07-01 | 2021-07-01 | 任务调度方法、装置及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113220441A true CN113220441A (zh) | 2021-08-06 |
CN113220441B CN113220441B (zh) | 2021-10-08 |
Family
ID=77081079
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110744030.3A Active CN113220441B (zh) | 2021-07-01 | 2021-07-01 | 任务调度方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113220441B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107273206A (zh) * | 2017-05-19 | 2017-10-20 | 国网浙江省电力公司电力科学研究院 | 一种基于业务及数据量控制的优先级调度方法 |
CN111475267A (zh) * | 2020-03-10 | 2020-07-31 | 中国平安人寿保险股份有限公司 | 系统任务自动调度方法、装置、计算机设备及存储介质 |
US10754706B1 (en) * | 2018-04-16 | 2020-08-25 | Microstrategy Incorporated | Task scheduling for multiprocessor systems |
CN111858012A (zh) * | 2020-08-05 | 2020-10-30 | 杭州安恒信息技术股份有限公司 | 一种任务调度方法、装置、设备及介质 |
-
2021
- 2021-07-01 CN CN202110744030.3A patent/CN113220441B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107273206A (zh) * | 2017-05-19 | 2017-10-20 | 国网浙江省电力公司电力科学研究院 | 一种基于业务及数据量控制的优先级调度方法 |
US10754706B1 (en) * | 2018-04-16 | 2020-08-25 | Microstrategy Incorporated | Task scheduling for multiprocessor systems |
CN111475267A (zh) * | 2020-03-10 | 2020-07-31 | 中国平安人寿保险股份有限公司 | 系统任务自动调度方法、装置、计算机设备及存储介质 |
CN111858012A (zh) * | 2020-08-05 | 2020-10-30 | 杭州安恒信息技术股份有限公司 | 一种任务调度方法、装置、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113220441B (zh) | 2021-10-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7853743B2 (en) | Processor and interrupt controlling method | |
JP3676827B2 (ja) | マルチプロセッサシステム用のスケジューリング方法 | |
CN109901920A (zh) | 任务调度方法及装置、电子终端 | |
US7793299B2 (en) | System and method for scheduling tasks for execution | |
CN109710416B (zh) | 资源调度方法及装置 | |
CN111949386A (zh) | 一种任务调度方法、系统、计算装置及可读存储介质 | |
US20030233485A1 (en) | Event queue | |
CN112579263A (zh) | 任务执行方法及装置、存储介质及电子设备 | |
CN107515781B (zh) | 一种基于多处理器的确定性任务调度及负载均衡系统 | |
CN113687931A (zh) | 一种任务处理方法、系统及装置 | |
CN109710414A (zh) | 一种作业调度方法、装置、设备及存储介质 | |
WO2023071769A1 (zh) | 机器人调度方法、装置、电子设备和存储介质 | |
JP2000056992A (ja) | タスクスケジューリングシステム、方法及び記録媒体 | |
JP2007511819A (ja) | 優先割り込み点を扱うための進んだ方法 | |
CN114461365A (zh) | 一种进程调度处理方法、装置、设备和存储介质 | |
CN113220441B (zh) | 任务调度方法、装置及电子设备 | |
CN111708799B (zh) | Spark任务处理方法、装置、电子设备及存储介质 | |
CN114461353A (zh) | 调整线程优先级的方法、终端及计算机可读存储介质 | |
CN114706663A (zh) | 一种计算资源调度方法、介质及计算设备 | |
JP2008225641A (ja) | コンピュータシステム、割り込み制御方法及びプログラム | |
US8869171B2 (en) | Low-latency communications | |
CN114691376A (zh) | 一种线程执行方法、装置、电子设备和存储介质 | |
CN113377515A (zh) | 一种Kubernetes资源的任务预调度方法 | |
CN114253686A (zh) | 一种任务调度方法、装置、电子设备及存储介质 | |
CN113220442B (zh) | 数据调度方法、装置及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address |
Address after: Room 716, 7 / F, building 2, 28 Andingmen East Street, Dongcheng District, Beijing Patentee after: Beijing Easy Yikang Information Technology Co.,Ltd. Address before: Room 716, 7 / F, building 2, 28 Andingmen East Street, Dongcheng District, Beijing Patentee before: BEIJING QINGSONGCHOU INFORMATION TECHNOLOGY Co.,Ltd. |
|
CP03 | Change of name, title or address |