CN110489217A - 一种任务调度方法及系统 - Google Patents
一种任务调度方法及系统 Download PDFInfo
- Publication number
- CN110489217A CN110489217A CN201910623404.9A CN201910623404A CN110489217A CN 110489217 A CN110489217 A CN 110489217A CN 201910623404 A CN201910623404 A CN 201910623404A CN 110489217 A CN110489217 A CN 110489217A
- Authority
- CN
- China
- Prior art keywords
- task
- time
- information
- pending
- priority
- 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.)
- Withdrawn
Links
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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/48—Indexing scheme relating to G06F9/48
- G06F2209/484—Precedence
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本公开提供了一种任务调度方法及系统,该任务调度方法包括:获取每个待执行任务的优先级信息、开始时间信息及当前时间信息;根据优先级信息、开始时间信息及当前时间信息计算每个待执行任务的综合优先级;根据综合优先级更新各待执行任务的执行顺序。通过实施本公开,在任务的执行过程中,实现了对任务执行优先级的动态调整,提高了任务调度的灵活性和任务执行的效率,进而保证任务能够得到高效的执行,提高任务调度服务的质量。
Description
技术领域
本公开涉及计算机领域,具体涉及一种任务调度方法及系统。
背景技术
任务调度是操作系统的重要组成部分,而对于实时操作系统,任务调度的方法将直接影响其实时性能。目前,对任务的调度大都是利用线程池来启动任务和管理任务的,其中,通过设置线程优先级的任务调度方法在一定程度上提高了任务执行的效率,但是线程优先级的设置在任务被执行后,无法对任务进行管理,任务优先级也无法改变,当出现当前任务优先级高,但是执行时间长,另一个任务优先级低,但是执行时间短的情况时,由于优先级别的不可改变,只能在执行完当前任务后才能执行优先级低的任务,使得该方法无法根据任务的实际执行情况对任务的优先级进行实时动态的调整,进而影响了任务调度的灵活性和任务执行效率。
发明内容
有鉴于此,本公开实施例提供了一种任务调度方法及系统,以克服现有技术中的任务调度方法无法根据任务的实际执行情况对任务的优先级进行实时动态的调整,影响任务调度的灵活性和任务执行效率的问题。
根据第一方面,本公开实施例提供了一种任务调度方法,包括:获取每个待执行任务的优先级信息、开始时间信息及当前时间信息,所述开始时间信息为所述待执行任务首次开始执行的时间信息;根据所述优先级信息、所述开始时间信息及所述当前时间信息计算每个待执行任务的综合优先级;根据所述综合优先级更新各待执行任务的执行顺序。
可选地,所述根据所述优先级信息、所述开始时间信息及所述当前时间信息计算每个待执行任务的综合优先级,包括:根据所述开始时间信息及所述当前时间信息计算时间比,所述时间比为当前待执行任务已经执行的时间与所有待执行任务中最长执行时间的比值;根据所述时间比和所述优先级信息计算所述综合优先级。
可选地,所述综合优先级的计算方法包括:确定所述优先级信息的优先级权重值及所述时间比的时间比权重值;对所述优先权权重值和所述时间比权重值进行求和得到所述综合优先级。
可选地,所述时间比的计算方法包括:根据所述开始时间信息及所述当前时间信息确定所述当前待执行任务的执行时间;获取所有待执行任务的最长执行时间,并根据所述执行时间与所述最长执行时间的比值确定所述时间比。
可选地,通过如下公式计算所述综合优先级:
P=C*A+1/t*(1-A),
其中,P表示当前待执行任务的综合优先级,C表示当前待执行任务的优先级,t表示当前待执行任务的时间比,A表示优先级的权重占比。
可选地,通过如下公式计算所述时间比:
其中,t表示当前待执行任务的时间比,T2表示当前待执行任务的当前执行时间,T1表示当前待执行任务的开始执行时间,MaxT表示所有待执行任务中最长执行时间。
可选地,所述根据所述综合优先级更新各待执行任务的执行顺序,包括:对各待执行任务对应的所述综合优先级按照数值大小进行排序,生成排序结果;根据所述排序结果更新各待执行任务的执行顺序。
可选地,所述的任务调度方法还包括:对所有待执行任务进行初始化,所述初始化包括对每个待执行任务的时间比赋予初始值。
可选地,所述的任务调度方法还包括:判断所述待执行任务是否带有紧急任务标志;当所述待执行任务带有紧急任务标志时,将所述待执行任务的执行顺序调整为最高。
可选地,所述的任务调度方法还包括:当所述待执行任务执行结束后,将所述待执行任务从执行顺序中移除。
根据第二方面,本公开实施例还提供了一种任务调度系统,包括:获取模块,用于获取每个待执行任务的优先级信息、开始时间信息及当前时间信息,所述开始时间信息为所述待执行任务首次开始执行的时间信息;计算模块,用于根据所述优先级信息、所述开始时间信息及所述当前时间信息计算每个待执行任务的综合优先级;调整模块,用于根据所述综合优先级更新各待执行任务的执行顺序。
可选地,所述计算模块包括:时间比计算子模块,用于根据所述开始时间信息及所述当前时间信息计算时间比,所述时间比为当前待执行任务已经执行的时间与所有待执行任务中最长执行时间的比值;综合优先级计算子模块,用于根据所述时间比和所述优先级信息计算所述综合优先级。
可选地,所述计算模块计算所述综合优先级的计算方法包括:确定所述优先级信息的优先级权重值及所述时间比的时间比权重值;对所述优先权权重值和所述时间比权重值进行求和得到所述综合优先级。
可选地,所述计算模块计算所述时间比的计算方法包括:根据所述开始时间信息及所述当前时间信息确定所述当前待执行任务的执行时间;获取所有待执行任务的最长执行时间,并根据所述执行时间与所述最长执行时间的比值确定所述时间比。
可选地,通过如下公式计算所述综合优先级:
P=C*A+1/t*(1-A),
其中,P表示当前待执行任务的综合优先级,C表示当前待执行任务的优先级,t表示当前待执行任务的时间比,A表示优先级的权重占比。
可选地,通过如下公式计算所述时间比:
其中,t表示当前待执行任务的时间比,T2表示当前待执行任务的当前执行时间,T1表示当前待执行任务的开始执行时间,MaxT表示所有待执行任务中最长执行时间。
可选地,所述调整模块包括:排序子模块,用于对各待执行任务对应的所述综合优先级按照数值大小进行排序,生成排序结果;执行顺序更新子模块,用于根据所述排序结果更新各待执行任务的执行顺序。
可选地,所述的任务调度系统还包括:初始化模块,用于对所有待执行任务进行初始化,所述初始化包括对每个待执行任务的时间比赋予初始值。
可选地,所述的任务调度系统还包括:判断模块,用于判断所述待执行任务是否带有紧急任务标志;紧急执行模块,当所述待执行任务带有紧急任务标志时,将所述待执行任务的执行顺序调整为最高。
可选地,所述的任务调度系统还包括:移除模块,当所述待执行任务执行结束后,所述移除模块用于将所述待执行任务从执行顺序中移除。
根据第三方面,本公开实施例还提供了一种电子设备,包括:存储器和处理器,所述存储器和所述处理器之间互相通信连接,所述存储器中存储有计算机指令,所述处理器通过执行所述计算机指令,从而执行第一方面或者其任意一种可选实施方式中所述的任务调度方法。
根据第四方面,本公开实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行第一方面,或者其任意一种可选实施方式中所述的任务调度方法。
本公开技术方案,具有如下优点:
本公开实施例提供的任务调度方法及系统,通过获取每个待执行任务的优先级信息开始时间信息及当前时间信息,并根据上述信息计算各个待执行任务的综合优先级,最后根据综合优先级更新各个待执行任务的执行顺序。从而在任务的执行过程中,实现了对任务执行优先级的动态调整,提高了任务调度的灵活性和任务执行的效率,进而保证任务能够得到高效的执行,提高任务调度服务的质量。
附图说明
为了更清楚地说明本公开具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本公开的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本公开实施例的一种任务调度方法的流程图;
图2为本公开实施例的一种任务调度系统的结构示意图;
图3为本公开实施例的一种电子设备的结构示意图。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
下面所描述的本公开不同实施方式中所涉及的技术特征只要彼此之间未构成冲突就可以相互结合。
目前,大多数任务执行的实现都是利用线程池来启动任务和管理任务的,通过服务器预先为任务设立执行优先级,再按照优先级的顺序执行各个任务,但是这种任务调度方法,一旦任务开始执行,它的优先级将无法改变,不能根据任务的实际执行情况进行动态的调整,例如:有些任务优先级高,但是其需要的执行时间过长,而其他优先级别较低的任务执行时间非常短,由于优先级在任务执行前已经被定义好了,并且不可改变,因此只能在高优先级任务执行完后,低优先级的任务才能开始执行,从而容易造成任务执行的不协调,即优先级越高的任务执行时间越长,优先级越低的任务执行时间越少,出现严重的两极分化分化现象,从而严重影响整体任务的执行效率。
图1示出了根据本公开实施例的一种任务调度方法的流程图,如图1所示,该任务调度方法应用于服务器端,具体包括如下步骤:
步骤S101:获取每个待执行任务的优先级信息、开始时间信息及当前时间信息,开始时间信息为待执行任务首次开始执行的时间信息。在实际应用中,在每个待执行任务开始执行之前,服务器都会根据该待执行任务的类型及执行要求为该待执行任务分配优先级,该优先级与现有技术中的线程优先级类似,是在任务执行前根据实际任务执行要求定义的,在本公开实施例中,将各个待执行任务划分为五个优先级,从高到低依次是:最高级、较高级、正常级别、较低级别、最低级别,这几个级别的优先级信息依次对应赋值为5、4、3、2、1。5代表最高级别,1代表最低级别,3是正常级别。具体地,各个待执行任务在执行的过程中可能会被中止,暂停执行,上述开始时间信息为待执行任务首次刚启动的起始时间,这个时间一旦被赋值,在该待执行任务的整个执行期间是不能改变的,上述当前时间信息为待执行任务的当前执行时间。根据当前执行时间与起始时间即可确定该待执行任务已经执行的时间。
步骤S102:根据优先级信息、开始时间信息及当前时间信息计算每个待执行任务的综合优先级。
具体地,在一实施例中,上述的步骤S102,具体包括如下步骤:
步骤S201:根据开始时间信息及当前时间信息计算时间比,时间比为当前待执行任务已经执行的时间与所有待执行任务中最长执行时间的比值。具体计算过程为:根据开始时间信息及当前时间信息确定当前待执行任务的执行时间;获取所有待执行任务的最长执行时间,并根据执行时间与最长执行时间的比值确定时间比。该时间比是在各个待执行任务的执行过程中不断地变化的,在实际应用中,可以通过公式(1)计算上述的时间比:
其中,t表示当前待执行任务的时间比,T2表示当前待执行任务的当前执行时间,T1表示当前待执行任务的开始执行时间,MaxT表示所有待执行任务中最长执行时间。
步骤S202:根据时间比和优先级信息计算综合优先级。具体计算过程为:确定优先级信息的优先级权重值及时间比的时间比权重值;对优先权权重值和所述时间比权重值进行求和得到综合优先级。在实际应用中,可以通过公式(2)计算上述的时间比:
P=C*A+1/t*(1-A) (2)
其中,P表示当前待执行任务的综合优先级,C表示当前待执行任务的优先级,t表示当前待执行任务的时间比,A表示优先级的权重占比。在实际应用中,通常A取值择范围为40%-60%,在本公开实施例中A的取值为50%,需要说明的是,A的取值也可以根据实际需要设置为其他数值,本公开并不以此为限。
在实际应用中,上述的综合优先级反映的是待执行任务的自身优先级和对应的时间比的综合占比情况,用于衡量该待执行任务如何进行任务排序的数值,该综合优先级不仅考虑了任务自身的优先级,还考虑了任务的执行时间稳态,结合两者得到一个合理的排序结果,综合优先级的数值越大,则说明该待执行任务的执行顺序越高。
步骤S103:根据综合优先级更新各待执行任务的执行顺序。在实际应用中,该执行顺序根据各个待执行任务的综合优先级对待执行任务按照综合优先级从高到低的顺序进行排序,然后各个待执行任务会按照排好的顺序依次执行。在本公开实施例中个,该执行顺序由于每次是首先执行综合优先级最高的任务,所以可以利用堆排序的方法对任务进行排序,当待执行任务开始执行时会根据任务执行期间收集的数据,动态的更新待执行任务的综合优先级,并更新执行顺序,直到所有的任务全部执行结束。
具体地,在一实施例中,上述的步骤S103具体包括如下步骤:
步骤S301:对各待执行任务对应的综合优先级按照数值大小进行排序,生成排序结果。在实际应用中,通过计算各个待执行任务的综合优先级,并将综合优先级按照数值从大到小的顺序进行排列,数值越大的综合优先级排序结果越高。
步骤S302:根据排序结果更新各待执行任务的执行顺序。在实际应用中,根据综合优先级的排序结果来不断地调整各个待执行任务的执行顺序,将排序结果越高则其对应的待执行任务的执行顺序越靠前,排序越低,则其对应的待执行任务的执行顺序越靠后。从而通过实时的计算各个待执行任务的综合优先级,来不断动态地调整各个待执行任务的执行顺序,从而保证各个待执行任务一致保持一个较高的执行效率,大大提高了任务调度的灵活性。
通过上述步骤S101至步骤S103,本公开实施例提供的任务调度方法,通过获取每个待执行任务的优先级信息开始时间信息及当前时间信息,并根据上述信息计算各个待执行任务的综合优先级,最后根据综合优先级更新各个待执行任务的执行顺序。从而在任务的执行过程中,实现了对任务执行优先级的动态调整,提高了任务调度的灵活性和任务执行的效率,进而保证任务能够得到高效的执行,提高任务调度服务的质量。
作为本公开实施例的一种可选实施方式,上述的任务调度方法,在执行上述步骤S101之前,具体还包括如下步骤:
步骤S104:对所有待执行任务进行初始化,初始化包括对每个待执行任务的时间比赋予初始值。在实际应用中,在服务器对所有的任务进行初始化的时候,由于所有任务尚未开始执行,所有任务的执行时间都为0,此时,需要对各个任务的时间比赋予初始值,在本公开实施例中,时间比的初始值均为1,初始的综合优先级也可以根据时间比的初始值通过上述公式(2)计算得到。
作为本公开实施例的一种可选实施方式,上述的任务调度方法,具体还包括如下步骤:
步骤S105:判断待执行任务是否带有紧急任务标志。在实际应用中,在各个待执行任务的执行过程中,可能有临时出现的紧急任务,当紧急任务出现时,通常需要立即执行该紧急任务,在本公开实施例中,上述的紧急任务标志为布尔类型,默认是FALSE,表示非紧急任务,如果为TRUE,则表示该待执行任务为紧急任务,因此通过判断待执行任务是否带有紧急任务标志,来判定其是否属于紧急任务,如果属于紧急任务则执行步骤S106,如果不属于紧急任务则按照上述的步骤S101至步骤S103的步骤确定该待执行任务的执行顺序。
步骤S106:当待执行任务带有紧急任务标志时,将待执行任务的执行顺序调整为最高。在实际应用中,如果某待执行任务带有紧急任务标志,如果当前服务器有空闲的线程执行该待执行任务则立即执行,如果没有空闲的线程则将正在执行的待执行任务暂停执行,优先执行带有紧急任务标志的待执行任务,以保证紧急任务能够被立即执行。
上述的任务调度方法,通过对任务进行赋值和初始化,将一些重要的信息标记到相应的任务上去,后边根据任务的相关信息,计算出任务的综合优先级,从而综合评估了任务的执行时间和任务的优先级,任务的执行时间越长,它的优先级就会降低,这样就能够保证没有被执行的任务或者执行时间短的任务就能够获得机会去执行任务,不会因为任务的优先级很高就会一直执行下去,而让优先级低的任务一直等待高优先级的任务执行,从而得不到执行的机会。并且该方法在任务执行数量超过系统的最大任务数量的情况下,也能够保证紧急请求的任务能够得到及时的响应和执行,从而保证了任务的高效的调度执行,提高了任务的执行效率。另外,该方法也不会使正在正常执行的任务被频繁打断,对任务的优先级进行动态的更新和排序,是为了保证任务在被调度执行的时候,被优先调度执行,或者在有紧急任务到来的时候,紧急的任务可以被优先执行。
作为本公开实施例的一种可选实施方式,上述的任务调度方法,具体还包括如下步骤:
步骤S107:当待执行任务执行结束后,将待执行任务从执行顺序中移除。在实际应用中,如果待执行任务已经执行完毕,则需要将其从任务执行列表中移除,于此同时,如果有新的待执行任务到来,也将新的待执行任务加入执行顺序中,直到所有的待执行任务均执行结束。
通过上述步骤S101至步骤S107,本公开实施例提供的任务调度方法,通过获取每个待执行任务的优先级信息开始时间信息及当前时间信息,并根据上述信息计算各个待执行任务的综合优先级,最后根据综合优先级更新各个待执行任务的执行顺序。从而在任务的执行过程中,实现了对任务执行优先级的动态调整,提高了任务调度的灵活性和任务执行的效率,进而保证任务能够得到高效的执行,提高任务调度服务的质量。
图2示出了根据本公开实施例的一种任务调度系统,如图2所示,该系统包括:
获取模块1,用于获取每个待执行任务的优先级信息、开始时间信息及当前时间信息。详细内容参见方法实施例中步骤S101的相关描述。
计算模块2,用于根据优先级信息、开始时间信息及当前时间信息计算每个待执行任务的综合优先级。详细内容参见方法实施例中步骤S102的相关描述。
调整模块3,用于根据综合优先级更新各待执行任务的执行顺序。详细内容参见方法实施例中步骤S103的相关描述。
通过上述各个组成部分的协同合作,本公开实施例提供的任务调度系统,通过获取每个待执行任务的优先级信息开始时间信息及当前时间信息,并根据上述信息计算各个待执行任务的综合优先级,最后根据综合优先级更新各个待执行任务的执行顺序。从而在任务的执行过程中,实现了对任务执行优先级的动态调整,提高了任务调度的灵活性和任务执行的效率,进而保证任务能够得到高效的执行,提高任务调度服务的质量。
作为本公开实施例的一种可选实施方式,上述的计算模块2包括:
时间比计算子模块201,用于根据开始时间信息及当前时间信息计算时间比,时间比为当前待执行任务已经执行的时间与所有待执行任务中最长执行时间的比值。详细内容参见方法实施例中步骤S201的相关描述。
综合优先级计算子模块202,用于根据时间比和优先级信息计算综合优先级。详细内容参见方法实施例中步骤S202的相关描述。
作为本公开实施例的一种可选实施方式,通过如下公式计算综合优先级:
P=C*A+1/t*(1-A) (3)
其中,P表示当前待执行任务的综合优先级,C表示当前待执行任务的优先级,t表示当前待执行任务的时间比,A表示优先级的权重占比。
作为本公开实施例的一种可选实施方式,通过如下公式计算时间比:
其中,t表示当前待执行任务的时间比,T2表示当前待执行任务的当前执行时间,T1表示当前待执行任务的开始执行时间,MaxT表示所有待执行任务中最长执行时间。
作为本公开实施例的一种可选实施方式,上述调整模块3包括:
排序子模块301,用于对各待执行任务对应的综合优先级按照数值大小进行排序,生成排序结果。详细内容参见方法实施例中步骤S301的相关描述。
执行顺序更新子模块302,用于根据排序结果更新各待执行任务的执行顺序。详细内容参见方法实施例中步骤S302的相关描述。
作为本公开实施例的一种可选实施方式,上述的任务调度系统还包括:初始化模块4,用于对所有待执行任务进行初始化,初始化包括对每个待执行任务的时间比赋予初始值。详细内容参见方法实施例中步骤S104的相关描述。
作为本公开实施例的一种可选实施方式,的任务调度系统还包括:
判断模块5,用于判断待执行任务是否带有紧急任务标志。详细内容参见方法实施例中步骤S105的相关描述。
紧急执行模块6,当待执行任务带有紧急任务标志时,将待执行任务的执行顺序调整为最高。详细内容参见方法实施例中步骤S106的相关描述。
作为本公开实施例的一种可选实施方式,的任务调度系统还包括:移除模块7,当待执行任务执行结束后,移除模块7用于将待执行任务从执行顺序中移除。详细内容参见方法实施例中步骤S107的相关描述。
通过上述各个组成部分的协同合作,本公开实施例提供的任务调度系统,通过获取每个待执行任务的优先级信息开始时间信息及当前时间信息,并根据上述信息计算各个待执行任务的综合优先级,最后根据综合优先级更新各个待执行任务的执行顺序。从而在任务的执行过程中,实现了对任务执行优先级的动态调整,提高了任务调度的灵活性和任务执行的效率,进而保证任务能够得到高效的执行,提高任务调度服务的质量。
图3示出了本公开实施例的一种电子设备,如图3所示,该电子设备可以包括处理器901和存储器902,其中处理器901和存储器902可以通过总线或者其他方式连接,图3中以通过总线连接为例。
处理器901可以为中央处理器(Central Processing Unit,CPU)。处理器901还可以为其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等芯片,或者上述各类芯片的组合。
存储器902作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态计算机可执行程序以及模块,如本公开实施例中的任务调度方法所对应的程序指令/模块。处理器901通过运行存储在存储器902中的非暂态软件程序、指令以及模块,从而执行处理器的各种功能应用以及数据处理,即实现上述方法实施例中的任务调度方法。
存储器902可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储处理器901所创建的数据等。此外,存储器902可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施例中,存储器902可选包括相对于处理器901远程设置的存储器,这些远程存储器可以通过网络连接至处理器901。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
一个或者多个模块存储在存储器902中,当被处理器901执行时,执行上述方法实施例中的任务调度方法。
上述电子设备具体细节可以对应参阅上述方法实施例中对应的相关描述和效果进行理解,此处不再赘述。
本领域技术人员可以理解,实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)、随机存储记忆体(Random Access Memory,RAM)、快闪存储器(Flash Memory)、硬盘(Hard Disk Drive,缩写:HDD)或固态硬盘(Solid-StateDrive,SSD)等;存储介质还可以包括上述种类的存储器的组合。
虽然结合附图描述了本公开的实施例,但是本领域技术人员可以在不脱离本公开的精神和范围的情况下作出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。
Claims (10)
1.一种任务调度方法,其特征在于,包括:
获取每个待执行任务的优先级信息、开始时间信息及当前时间信息,所述开始时间信息为所述待执行任务首次开始执行的时间信息;
根据所述优先级信息、所述开始时间信息及所述当前时间信息计算每个待执行任务的综合优先级;
根据所述综合优先级更新各待执行任务的执行顺序。
2.根据权利要求1所述的任务调度方法,其特征在于,所述根据所述优先级信息、所述开始时间信息及所述当前时间信息计算每个待执行任务的综合优先级,包括:
根据所述开始时间信息及所述当前时间信息计算时间比,所述时间比为当前待执行任务已经执行的时间与所有待执行任务中最长执行时间的比值;
根据所述时间比和所述优先级信息计算所述综合优先级。
3.根据权利要求2所述的任务调度方法,其特征在于,所述综合优先级的计算方法包括:
确定所述优先级信息的优先级权重值及所述时间比的时间比权重值;
对所述优先权权重值和所述时间比权重值进行求和得到所述综合优先级。
4.根据权利要求3所述的任务调度方法,其特征在于,所述时间比的计算方法包括:
根据所述开始时间信息及所述当前时间信息确定所述当前待执行任务的执行时间;
获取所有待执行任务的最长执行时间,并根据所述执行时间与所述最长执行时间的比值确定所述时间比。
5.根据权利要求1所述的任务调度方法,其特征在于,所述根据所述综合优先级更新各待执行任务的执行顺序,包括:
对各待执行任务对应的所述综合优先级按照数值大小进行排序,生成排序结果;
根据所述排序结果更新各待执行任务的执行顺序。
6.根据权利要求2所述的任务调度方法,其特征在于,还包括:对所有待执行任务进行初始化,所述初始化包括对每个待执行任务的时间比赋予初始值。
7.根据权利要求1-6任一项所述的任务调度方法,其特征在于,还包括:
判断所述待执行任务是否带有紧急任务标志;
当所述待执行任务带有紧急任务标志时,将所述待执行任务的执行顺序调整为最高。
8.一种任务调度系统,其特征在于,包括:
获取模块,用于获取每个待执行任务的优先级信息、开始时间信息及当前时间信息,所述开始时间信息为所述待执行任务首次开始执行的时间信息;
计算模块,用于根据所述优先级信息、所述开始时间信息及所述当前时间信息计算每个待执行任务的综合优先级;
调整模块,用于根据所述综合优先级更新各待执行任务的执行顺序。
9.一种电子设备,其特征在于,包括:
存储器和处理器,所述存储器和所述处理器之间互相通信连接,所述存储器中存储有计算机指令,所述处理器通过执行所述计算机指令,从而执行权利要求1-7任一项所述的任务调度方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使所述计算机从而执行权利要求1-7任一项所述的任务调度方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910623404.9A CN110489217A (zh) | 2019-07-11 | 2019-07-11 | 一种任务调度方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910623404.9A CN110489217A (zh) | 2019-07-11 | 2019-07-11 | 一种任务调度方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110489217A true CN110489217A (zh) | 2019-11-22 |
Family
ID=68547058
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910623404.9A Withdrawn CN110489217A (zh) | 2019-07-11 | 2019-07-11 | 一种任务调度方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110489217A (zh) |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111124832A (zh) * | 2019-12-25 | 2020-05-08 | 青梧桐有限责任公司 | 数据监控方法、装置、电子设备及存储介质 |
CN111309475A (zh) * | 2020-01-21 | 2020-06-19 | 上海悦易网络信息技术有限公司 | 一种检测任务执行方法及设备 |
CN111797110A (zh) * | 2020-06-23 | 2020-10-20 | 北京金堤科技有限公司 | 一种生成调度模型的方法、装置、计算机设备及存储介质 |
CN111984426A (zh) * | 2020-10-09 | 2020-11-24 | 中国平安人寿保险股份有限公司 | 任务调度方法、装置、电子设备及存储介质 |
CN112328392A (zh) * | 2020-10-27 | 2021-02-05 | 金蝶软件(中国)有限公司 | 一种数据处理方法及相关设备 |
CN112415953A (zh) * | 2019-08-23 | 2021-02-26 | 北京京东乾石科技有限公司 | 提升机的调度方法和装置 |
CN112486657A (zh) * | 2020-12-16 | 2021-03-12 | 广东电网有限责任公司惠州供电局 | 一种任务调度方法及系统 |
CN112561395A (zh) * | 2020-12-25 | 2021-03-26 | 桂林电子科技大学 | 无人机协同方法、系统、装置、电子设备及存储介质 |
CN113177680A (zh) * | 2021-03-10 | 2021-07-27 | 广州明珞自动化有限公司 | 一种任务执行系统、任务执行方法及生产系统 |
CN113722067A (zh) * | 2021-08-24 | 2021-11-30 | 咪咕音乐有限公司 | 信息任务调度方法、装置、设备及存储介质 |
CN113835861A (zh) * | 2021-09-24 | 2021-12-24 | 中汽创智科技有限公司 | 一种进程调度方法、装置、设备及存储介质 |
CN115185685A (zh) * | 2022-07-06 | 2022-10-14 | 重庆软江图灵人工智能科技有限公司 | 基于深度学习的人工智能任务调度方法、装置及存储介质 |
US11640319B1 (en) | 2021-11-26 | 2023-05-02 | Beijing Baidu Netcom Science Technology Co., Ltd. | Task processing method and apparatus, electronic device and storage medium |
CN117806807A (zh) * | 2024-02-29 | 2024-04-02 | 双一力(宁波)电池有限公司 | 任务调度方法、装置、电子设备和计算机可读存储介质 |
CN117806807B (zh) * | 2024-02-29 | 2024-05-17 | 双一力(宁波)电池有限公司 | 任务调度方法、装置、电子设备和计算机可读存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102081551A (zh) * | 2011-01-28 | 2011-06-01 | 中国人民解放军国防科学技术大学 | 一种感知微体系结构信息的操作系统线程调度方法 |
CN102394932A (zh) * | 2011-11-04 | 2012-03-28 | 浪潮(北京)电子信息产业有限公司 | 一种云海操作系统及其资源调度方法 |
US20150293793A1 (en) * | 2014-04-09 | 2015-10-15 | Samsung Electronics Co., Ltd. | Method and apparatus for providing a preemptive task scheduling scheme in a real time operating system |
CN107102894A (zh) * | 2017-04-07 | 2017-08-29 | 百度在线网络技术(北京)有限公司 | 任务调度方法、装置和系统 |
CN107979704A (zh) * | 2017-12-01 | 2018-05-01 | 中国联合网络通信集团有限公司 | 排队方法、排队系统 |
CN108255589A (zh) * | 2017-08-29 | 2018-07-06 | 平安科技(深圳)有限公司 | 任务调度方法及服务器 |
CN109885394A (zh) * | 2019-01-11 | 2019-06-14 | 中国船舶重工集团公司第七二四研究所 | 一种旋转相控阵雷达多类型任务的优先级动态判决模型 |
-
2019
- 2019-07-11 CN CN201910623404.9A patent/CN110489217A/zh not_active Withdrawn
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102081551A (zh) * | 2011-01-28 | 2011-06-01 | 中国人民解放军国防科学技术大学 | 一种感知微体系结构信息的操作系统线程调度方法 |
CN102394932A (zh) * | 2011-11-04 | 2012-03-28 | 浪潮(北京)电子信息产业有限公司 | 一种云海操作系统及其资源调度方法 |
US20150293793A1 (en) * | 2014-04-09 | 2015-10-15 | Samsung Electronics Co., Ltd. | Method and apparatus for providing a preemptive task scheduling scheme in a real time operating system |
CN107102894A (zh) * | 2017-04-07 | 2017-08-29 | 百度在线网络技术(北京)有限公司 | 任务调度方法、装置和系统 |
CN108255589A (zh) * | 2017-08-29 | 2018-07-06 | 平安科技(深圳)有限公司 | 任务调度方法及服务器 |
CN107979704A (zh) * | 2017-12-01 | 2018-05-01 | 中国联合网络通信集团有限公司 | 排队方法、排队系统 |
CN109885394A (zh) * | 2019-01-11 | 2019-06-14 | 中国船舶重工集团公司第七二四研究所 | 一种旋转相控阵雷达多类型任务的优先级动态判决模型 |
Cited By (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112415953A (zh) * | 2019-08-23 | 2021-02-26 | 北京京东乾石科技有限公司 | 提升机的调度方法和装置 |
CN111124832A (zh) * | 2019-12-25 | 2020-05-08 | 青梧桐有限责任公司 | 数据监控方法、装置、电子设备及存储介质 |
CN111309475A (zh) * | 2020-01-21 | 2020-06-19 | 上海悦易网络信息技术有限公司 | 一种检测任务执行方法及设备 |
CN111309475B (zh) * | 2020-01-21 | 2022-12-02 | 上海万物新生环保科技集团有限公司 | 一种检测任务执行方法及设备 |
CN111797110A (zh) * | 2020-06-23 | 2020-10-20 | 北京金堤科技有限公司 | 一种生成调度模型的方法、装置、计算机设备及存储介质 |
CN111797110B (zh) * | 2020-06-23 | 2024-01-26 | 北京金堤科技有限公司 | 一种生成调度模型的方法、装置、计算机设备及存储介质 |
CN111984426A (zh) * | 2020-10-09 | 2020-11-24 | 中国平安人寿保险股份有限公司 | 任务调度方法、装置、电子设备及存储介质 |
CN111984426B (zh) * | 2020-10-09 | 2023-07-25 | 中国平安人寿保险股份有限公司 | 任务调度方法、装置、电子设备及存储介质 |
CN112328392A (zh) * | 2020-10-27 | 2021-02-05 | 金蝶软件(中国)有限公司 | 一种数据处理方法及相关设备 |
CN112486657A (zh) * | 2020-12-16 | 2021-03-12 | 广东电网有限责任公司惠州供电局 | 一种任务调度方法及系统 |
CN112561395A (zh) * | 2020-12-25 | 2021-03-26 | 桂林电子科技大学 | 无人机协同方法、系统、装置、电子设备及存储介质 |
CN113177680A (zh) * | 2021-03-10 | 2021-07-27 | 广州明珞自动化有限公司 | 一种任务执行系统、任务执行方法及生产系统 |
CN113722067A (zh) * | 2021-08-24 | 2021-11-30 | 咪咕音乐有限公司 | 信息任务调度方法、装置、设备及存储介质 |
CN113835861A (zh) * | 2021-09-24 | 2021-12-24 | 中汽创智科技有限公司 | 一种进程调度方法、装置、设备及存储介质 |
EP4187382A1 (en) * | 2021-11-26 | 2023-05-31 | Beijing Baidu Netcom Science Technology Co., Ltd. | Task processing method and apparatus, electronic device and storage medium |
US11640319B1 (en) | 2021-11-26 | 2023-05-02 | Beijing Baidu Netcom Science Technology Co., Ltd. | Task processing method and apparatus, electronic device and storage medium |
CN115185685B (zh) * | 2022-07-06 | 2023-05-30 | 重庆软江图灵人工智能科技有限公司 | 任务调度方法、装置、计算机设备及存储介质 |
CN115185685A (zh) * | 2022-07-06 | 2022-10-14 | 重庆软江图灵人工智能科技有限公司 | 基于深度学习的人工智能任务调度方法、装置及存储介质 |
CN117806807A (zh) * | 2024-02-29 | 2024-04-02 | 双一力(宁波)电池有限公司 | 任务调度方法、装置、电子设备和计算机可读存储介质 |
CN117806807B (zh) * | 2024-02-29 | 2024-05-17 | 双一力(宁波)电池有限公司 | 任务调度方法、装置、电子设备和计算机可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110489217A (zh) | 一种任务调度方法及系统 | |
CN106802826B (zh) | 一种基于线程池的业务处理方法及装置 | |
US7559062B2 (en) | Intelligent scheduler for multi-level exhaustive scheduling | |
US7207043B2 (en) | Programmatic response-time based workload distribution techniques | |
US7441240B2 (en) | Process scheduling apparatus, process scheduling method, program for process scheduling, and storage medium recording a program for process scheduling | |
CN106897132A (zh) | 一种服务器任务调度的方法以及装置 | |
CN113138860B (zh) | 消息队列的管理方法及装置 | |
CN108509280B (zh) | 一种基于推送模型的分布式计算集群本地性调度方法 | |
Cheng et al. | Mitigating the negative impact of preemption on heterogeneous mapreduce workloads | |
WO2024021489A1 (zh) | 一种任务调度方法、装置及Kubernetes调度器 | |
CN112486642B (zh) | 资源调度方法、装置、电子设备及计算机可读存储介质 | |
CN113672391A (zh) | 一种基于Kubernetes的并行计算任务调度方法与系统 | |
CN116302578B (zh) | 一种QoS约束的流应用延迟确保方法及系统 | |
Horowitz | A run-time execution model for referential integrity maintenance | |
CN105955816A (zh) | 一种事件调度方法及装置 | |
CN113051005B (zh) | 一种加载方法及装置 | |
CN111026809B (zh) | 一种调度流程分布式执行系统 | |
CN115150340A (zh) | 一种动态调整消息队列权重的方法和装置 | |
CN111708799B (zh) | Spark任务处理方法、装置、电子设备及存储介质 | |
CN111858060A (zh) | 一种高性能计算集群的资源动态调整方法和装置 | |
CN113254177B (zh) | 基于集群的任务提交方法、计算机程序产品及电子设备 | |
US20230418667A1 (en) | Computing device for handling tasks in a multi-core processor, and method for operating computing device | |
CN114860403B (zh) | 一种任务调度方法、装置、设备和存储介质 | |
CN115981827A (zh) | 一种多任务调度方法及装置 | |
CN112667369A (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 | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20191122 |
|
WW01 | Invention patent application withdrawn after publication |