CN107273202A - 一种控制任务调度的方法和装置 - Google Patents
一种控制任务调度的方法和装置 Download PDFInfo
- Publication number
- CN107273202A CN107273202A CN201710575033.2A CN201710575033A CN107273202A CN 107273202 A CN107273202 A CN 107273202A CN 201710575033 A CN201710575033 A CN 201710575033A CN 107273202 A CN107273202 A CN 107273202A
- Authority
- CN
- China
- Prior art keywords
- type
- task
- dispatching algorithm
- waiting task
- time
- 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.)
- Pending
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
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
技术领域
本发明实施例涉及但不限于软件技术,尤指一种控制任务调度的方法和装置。
背景技术
在云海ICOS(一款结合OpenStack而开发的产品,其中,OpenStack是一个由美国国家航空航天局(NASA)和全球三大云计算中心之一的Rackspace合作研发并发起的,以阿帕奇(Apache)许可证授权的自由软件和开放源代码项目)***中,会碰到大量的任务调度。在数据时代,需要处理的任务越来越多,如何在任务调度中,快速、有效的完成对任务的处理,以及如何在有限的资源中,优化调度方法,找到适合的调度方法,快速处理任务,成为亟需解决的问题。
发明内容
本申请提供了一种控制任务调度的方法和装置,能够提高处理任务的效率。
为了达到本申请目的,本申请提供了一种控制任务调度的方法,包括:
当检测到存在待处理任务时,获取待处理任务的类型;
匹配与获得的待处理任务的类型对应的调度算法;
根据匹配出的调度算法对待处理任务进行处理。
可选地,所述匹配与获得的待处理任务的类型对应的调度算法的步骤包括:
判断是否处理过所述类型的任务;
当判断出未处理过所述类型的任务时,获取预先为所述类型的任务分配的调度算法;将所述预先为所述类型的任务分配的调度算法作为所述与获得的待处理任务的类型对应的调度算法;
当判断出已处理过所述类型的任务时,获取已存储的与所述类型的任务对应的调度算法;将所述已存储的与所述类型的任务对应的调度算法作为所述与获得的待处理任务的类型对应的调度算法。
可选地,当判断出未处理过所述类型的任务时,所述根据匹配出的调度算法对待处理任务进行处理的步骤包括:
获取所述类型的待处理任务的总项数;
根据匹配出的调度算法对预设项数的所述类型的待处理任务进行处理;
获取根据所述匹配出的调度算法对所述预设项数的所述类型的待处理任务进行处理的第一处理时间;
采用模拟器算法获取根据除所述匹配出的调度算法之外的其它调度算法对所述预设项数的所述类型的待处理任务进行处理的第二处理时间;
获取所述第一处理时间和所述第二处理时间中最小处理时间;
根据所述最小处理时间对应的调度算法对除所述预设项数的所述类型的待处理任务之外的所述类型的待处理任务进行处理;
所述预设项数小于所述总项数。
可选地,在所述根据所述最小处理时间对应的调度算法对除所述预设项数的所述类型的待处理任务之外的所述类型的待处理任务进行处理的步骤之后,该方法还包括:
计算所述最小处理时间与所述预设项数之间的商值;
将计算出的商值作为处理所述类型的待处理任务的第一执行时间;
将所述最小处理时间对应的调度算法、所述第一执行时间以及所述类型对应存储。
可选地,当判断出已处理过所述类型的任务时,在所述根据匹配出的调度算法对待处理任务进行处理的步骤之后,该方法还包括:
记录根据匹配出的调度算法对所述类型的待处理任务进行处理的第二执行时间;
获取已存储的与所述匹配出的调度算法对应的第一执行时间;
计算所述第二执行时间和所述已存储的与所述匹配出的调度算法对应的第一执行时间之间的差值;
当计算出的差值在预设范围内时,根据预先设置的权值计算算法、所述第二执行时间和所述已存储的与所述匹配出的调度算法对应的第一执行时间对所述已存储的与所述匹配出的调度算法对应的第一执行时间进行更新。
本申请还提供了一种控制任务调度的装置,包括:检测模块、获取模块、匹配模块和处理模块;其中,
检测模块,用于当检测到存在待处理任务时,通知获取模块;
获取模块,用于接收到来自检测模块的通知,获取待处理任务的类型;
匹配模块,用于匹配与获得的待处理任务的类型对应的调度算法;
处理模块,用于根据匹配出的调度算法对待处理任务进行处理。
可选地,所述匹配模块,具体用于包括:
判断是否处理过所述类型的任务;
当判断出未处理过所述类型的任务时,获取预先为所述类型的任务分配的调度算法;将所述预先为所述类型的任务分配的调度算法作为所述与获得的待处理任务的类型对应的调度算法;
当判断出已处理过所述类型的任务时,获取已存储的与所述类型的任务对应的调度算法;将所述已存储的与所述类型的任务对应的调度算法作为所述与获得的待处理任务的类型对应的调度算法。
可选地,所述匹配模块,还用于当判断出未处理过所述类型的任务时,向所述处理模块发送第一通知;此时,
所述处理模块,具体用于:
接收到来自所述匹配模块发送的所述第一通知,获取所述类型的待处理任务的总项数;
根据匹配出的调度算法对预设项数的所述类型的待处理任务进行处理;
获取根据所述匹配出的调度算法对所述预设项数的所述类型的待处理任务进行处理的第一处理时间;
采用模拟器算法获取根据除所述匹配出的调度算法之外的其它调度算法对所述预设项数的所述类型的待处理任务进行处理的第二处理时间;
获取所述第一处理时间和所述第二处理时间中最小处理时间;
根据所述最小处理时间对应的调度算法对除所述预设项数的所述类型的待处理任务之外的所述类型的待处理任务进行处理;
所述预设项数小于所述总项数。
可选地,所述处理模块,还用于:
在所述根据所述最小处理时间对应的调度算法对除所述预设项数的所述类型的待处理任务之外的所述类型的待处理任务进行处理之后,计算所述最小处理时间与所述预设项数之间的商值;
将计算出的商值作为处理所述类型的待处理任务的第一执行时间;
将所述最小处理时间对应的调度算法、所述第一执行时间以及所述类型对应存储。
可选地,所述匹配模块,还用于当判断出已处理过所述类型的任务时,向所述处理模块发送第二通知;相应地,
所述处理模块,还用于接收到来自所述匹配模块发送的所述第二通知,在所述根据匹配出的调度算法对待处理任务进行处理之后,记录根据匹配出的调度算法对所述类型的待处理任务进行处理的第二执行时间;
获取已存储的与所述匹配出的调度算法对应的第一执行时间;
计算所述第二执行时间和所述已存储的与所述匹配出的调度算法对应的第一执行时间之间的差值;
当计算出的差值在预设范围内时,根据预先设置的权值计算算法、所述第二执行时间和所述已存储的与所述匹配出的调度算法对应的第一执行时间对所述已存储的与所述匹配出的调度算法对应的第一执行时间进行更新。
本发明实施例包括:当检测到存在待处理任务时,获取待处理任务的类型;匹配与获得的待处理任务的类型对应的调度算法;根据匹配出的调度算法对待处理任务进行处理。本发明实施例中,由于匹配与任务的类型对应的最优调度算法,从而提高了处理任务的效率。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为本发明实施例控制任务调度的方法的流程图;
图2为本发明实施例控制任务调度的装置的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
图1为本发明实施例控制任务调度的方法的流程图,如图1所示,包括:
步骤101:当检测到存在待处理任务时,获取待处理任务的类型。
需要说明的是,如何获取待处理任务的类型属于本领域技术人员所熟知的惯用技术手段,例如,可以通过接口调用时获取待处理任务的类型(因为在接口调用时会传递的部分关键参数值和任务的类型),此处不再一一赘述,并不用来限制本申请。
其中,获得的待处理任务的类型包括一个或一个以上。
步骤102:匹配与获得的待处理任务的类型对应的调度算法。
其中,本发明实施例步骤102包括:
判断是否处理过该类型的任务;
当判断出未处理过该类型的任务时,获取预先为该类型的任务分配的调度算法;将预先为该类型的任务分配的调度算法作为与获得的待处理任务的类型对应的调度算法;
当判断出已处理过该类型的任务时,获取已存储的与该类型的任务对应的调度算法;将已存储的与该类型的任务对应的调度算法作为与获得的待处理任务的类型对应的调度算法。
其中,本发明实施例判断是否处理过该类型的任务的步骤包括:
判断预先创建文件或数据库中是否存在该类型的记录;
当判断出预先创建文件或数据库中存在该类型的记录时,判断出已处理过该类型的任务;
当判断出预先创建文件或数据库中不存在该类型的记录时,判断出未处理过该类型的任务。
其中,本发明实施例存在该类型的记录包括存储有该类型。
步骤103:根据匹配出的调度算法对待处理任务进行处理。
其中,当判断出未处理过该类型的任务时,本发明实施例步骤103包括:
获取该类型的待处理任务的总项数;
根据匹配出的调度算法对预设项数的该类型的待处理任务进行处理;
获取根据匹配出的调度算法对预设项数的该类型的待处理任务进行处理的第一处理时间;
采用模拟器算法获取根据除匹配出的调度算法之外的其它调度算法对预设项数的该类型的待处理任务进行处理的第二处理时间;
获取第一处理时间和第二处理时间中最小处理时间;
根据最小处理时间对应的调度算法对除预设项数的该类型的待处理任务之外的类型的待处理任务进行处理;
其中,本发明实施例预设项数小于上述总项数。
其中,预设项数可以是预设比例和上述总项数的乘积。
例如,预设比例可以是30%,也可以是20%,也可以是50%等。
举例说明,某一类型的待处理任务的总项数是1000,预设比例是30%时,则预设项数是300(1000×30%),则除预设项数的该类型的待处理任务之外的类型的待处理任务的项数则是700(10000-300)项;预设比例是20%时,则预设项数是200(1000×20%),则除预设项数的该类型的待处理任务之外的类型的待处理任务的项数则是800(10000-200)项;预设比例是45%时,则预设项数是450(1000×45%),则除预设项数的该类型的待处理任务之外的类型的待处理任务的项数则是550(10000-450)项。
可选地,在根据最小处理时间对应的调度算法对除预设项数的该类型的待处理任务之外的该类型的待处理任务进行处理的步骤之后,本发明实施例方法还包括:
计算最小处理时间与预设项数之间的商值;
将计算出的商值作为处理该类型的待处理任务的第一执行时间;
将最小处理时间对应的调度算法、第一执行时间以及该类型对应存储。
需要说明的是,本发明实施例第一处理时间和第二处理时间是指处理多个同一类型的任务的总时间,第一执行时间和第二执行时间是指处理一个任务的最短时间(是指在最短的时间内完成这个任务的处理时间,这个处理时间是指任务到达、等待执行、开始执行、执行结束需要的时间之和)。
可选地,将最小处理时间对应的调度算法、第一执行时间以及该类型对应存储在预先创建的文件或数据库中。
可选地,当判断出已处理过该类型的任务时,在根据匹配出的调度算法对待处理任务进行处理的步骤之后,本发明实施例方法还包括:
记录根据匹配出的调度算法对该类型的待处理任务进行处理的第二执行时间;
获取已存储的与匹配出的调度算法对应的第一执行时间;
计算第二执行时间和已存储的与匹配出的调度算法对应的第一执行时间之间的差值;
当计算出的差值在预设范围内时,根据预先设置的权值计算算法、第二执行时间和已存储的与匹配出的调度算法对应的第一执行时间对已存储的与匹配出的调度算法对应的第一执行时间进行更新。
需要说明的是,如何根据预先设置的权值计算算法、第二执行时间和已存储的与匹配出的调度算法对应的第一执行时间对已存储的与匹配出的调度算法对应的第一执行时间进行更新,属于本领域技术人员所熟知的惯用技术手段(例如,第二执行时间是2秒(s),已存储的与匹配出的调度算法对应的第一执行时间是2.5s,利用平均数的方法计算出2s和2.5s的平均时间是2.25s作为新的与匹配出的调度算法对应的第一执行时间,已存储的与匹配出的调度算法对应的第一执行时间,即将2.5s替换为2.25s,在本申请中,可以不仅仅采用这种平均数的方法,可以利用函数曲线、微积分计算出新的与匹配出的调度算法对应的第一执行时间),在此不再赘述,并不用来限制本申请。
可选地,当计算出的差值在不预设范围内时,本发明实施例方法还包括:
获取已存储的除与匹配出的调度算法对应的第一执行时间之外的其它第一执行时间;
分别计算获得的其它第一执行时间与第二执行时间之间的差值;
判断计算出的差值中是否存在在预设范围内的差值;
当判断出计算出的差值中存在在预设范围内的差值时,获取该差值对应的调度算法并标记匹配出的调度算法对应的类型;
当检测到匹配出的调度算法对应的类型的任务到来时,根据该差值对应的调度算法对匹配出的调度算法对应的类型的任务进行处理;
记录根据该差值对应的调度算法对匹配出的调度算法对应的类型的任务进行处理的第三执行时间;
计算第三执行时间和该差值对应的调度算法对应的第一执行时间之间的差值;
当计算出的第三执行时间和该差值对应的调度算法对应的第一执行时间之间的差值在预设范围内时,根据预先设置的权值计算算法、第三执行时间和该差值对应的调度算法对应的第一执行时间对该差值对应的调度算法对应的第一执行时间进行更新。
需要说明的是,如何根据预先设置的权值计算算法、第三执行时间和该差值对应的调度算法对应的第一执行时间对该差值对应的调度算法对应的第一执行时间进行更新,属于本领域技术人员所熟知的惯用技术手段,此处不再赘述,并不用来限制本申请。
可选地,当判断计算出的差值中不存在在预设范围内的差值时,本发明实施例方法还包括:
将待处理任务的类型作为一个新的类型,将记录的根据匹配出的调度算法对该类型的待处理任务进行处理的第二执行时间作为与待处理任务的类型对应的第一执行时间;
将与待处理任务的类型对应的第一执行时间、待处理任务的类型和匹配出的调度算法作为新的记录对应存储在预先创建的文件或数据库中。
举例说明,通过上述方法的处理,当有了各种各样的任务分析数据,产生了一定量的任务数据模板(对应存储的类型、第一执行时间和调度算法)之后,当有任务X(类型为X的任务)到来的时候,会先比对模板中有无类似任务,如果存在类似任务M(类型为M的任务),则按M任务的处理方式(调度算法)去处理任务X,当处理完任务X之后,获取任务X执行所需时间timex(处理任务X的执行时间),与已存储的任务M的执行所需时间timem比较,如果两者时间之差在一定范围(预设范围)之内,根据预先设置的权值计算法,在timex与timem之间产生一个新的M任务的执行时间值timemx,下次再有任务X到来时,就会利用任务M的方式处理任务X;假如timex与timem差较大,但是timex又与任务N(类型为N的任务)的执行时间timen相差较小,暂时在任务M上打上标记(如何进行标记属于本领域技术人员所熟知的惯用技术手段,本申请不作具体限制,并不用来限制本申请),当再有任务M到来时,利用任务N的方式处理任务M,获取根据任务N的方式处理任务M的执行时间timem1,如果timem1与timen之间的差值在一定范围内,说明任务M也许可以利用任务N的调度方法,接下来经过一定量的数据测试,发现timem1与timen之间的差值都在一定范围之内,那么任务M可以利用任务N的调度方法,并且经过预先设置的权值计算更新任务N的执行时间timen;如果timem与模板中其他任务时间都不一样,那么在模板中添加一个任务X的数据记录(对应存储的类型、timex和调度算法),做模板数据与接下来到来的其他任务进行比较。
本发明实施方式中,通过匹配与获得的待处理任务的类型对应的调度算法,以及匹配与获得的待处理任务的类型对应的调度算法,由于匹配与任务的类型对应的调度算法,从而提高了处理任务的效率。
举例说明,假如有类型为A的任务1000个,每个类型为A的任务的执行时间300毫秒(ms)-500ms左右,首先,每当任务到来时,获取该任务的类型,因为在预先创建的文件或数据库中没有任何的记录,只能根据预先为该类型的任务分配的调度算法(如先来先服务算法、短作业优先算法、时间片转轮算法或优先级算法等)处理该任务,假如处理类型为A的任务,预先分配的是先来先服务算法,那么按照先来先服务算法处理该任务,假如处理了300个该任务之后,数据分析发现(采用模拟器算法)处理类型为A的任务根据先来先服务算法所需时间为1s左右(一个任务的执行时间),而利用短作业优先算法处理类型为A的认为需要800ms就能够完成,比先来先服务算法效率更高,那么对剩余的700个类型为A的任务,即使预先分配的是先来先服务算法,那么到任务调度处理时,也会利用短作业优先算法去处理剩余的700个类型为A的任务,这本身就是一个调度调优过程;又如,类型为B的任务2000个(每个类型为B的任务的执行时间为1秒(s)-2s左右)和类型为C的任务500个(每个类型为C的任务的执行时间为4s-5s左右)同时来到任务调度器(同时被检测到),此时预先分配的调度算法是优先级算法,其中,类型为C的任务优先级高,类型为B的优先级低,此时,类型为C的任务需先执行(处理),执行完之后,再执行类型为B的任务,这就会造成类型为B的任务迟迟不能执行,当这600个任务执行完之后,统计其总共花费时间,通过模拟时间片转轮算法发现,利用时间片转轮算法,能够节省大量时间处理时间,因此,通过本发明上述控制任务调度的方法,当类型为A的任务到来时会利用短作业优先算法,当类型为B和类型为C的任务同时到来时,会利用时间片转轮算法,从而实现了更快、更好的处理任务。
图2为本发明实施例控制任务调度的装置的结构示意图,如图2所示,包括:检测模块、获取模块、匹配模块和处理模块。其中,
检测模块,用于当检测到存在待处理任务时,通知获取模块。
获取模块,用于接收到来自检测模块的通知,获取待处理任务的类型。
匹配模块,用于匹配与获得的待处理任务的类型对应的调度算法。
其中,本发明实施例匹配模块,具体用于包括:
判断是否处理过该类型的任务;
当判断出未处理过该类型的任务时,获取预先为该类型的任务分配的调度算法;将预先为该类型的任务分配的调度算法作为与获得的待处理任务的类型对应的调度算法;
当判断出已处理过该类型的任务时,获取已存储的与该类型的任务对应的调度算法;将已存储的与该类型的任务对应的调度算法作为与获得的待处理任务的类型对应的调度算法。
处理模块,用于根据匹配出的调度算法对待处理任务进行处理。
可选地,本发明实施例匹配模块,还用于当判断出未处理过该类型的任务时,向处理模块发送第一通知;此时,
本发明实施例处理模块,具体用于:
接收到来自匹配模块发送的第一通知,获取该类型的待处理任务的总项数;
根据匹配出的调度算法对预设项数的该类型的待处理任务进行处理;
获取根据匹配出的调度算法对预设项数的该类型的待处理任务进行处理的第一处理时间;
采用模拟器算法获取根据除匹配出的调度算法之外的其它调度算法对预设项数的该类型的待处理任务进行处理的第二处理时间;
获取第一处理时间和第二处理时间中最小处理时间;
根据最小处理时间对应的调度算法对除预设项数的该类型的待处理任务之外的该类型的待处理任务进行处理;
其中,本发明实施例预设项数小于上述总项数。
其中,预设项数可以是预设比例和上述总项数的乘积。
例如,预设比例可以是30%,也可以是20%,也可以是50%等。
举例说明,某一类型的待处理任务的总项数是1000,预设比例是30%时,则预设项数是300(1000×30%),则除预设项数的该类型的待处理任务之外的类型的待处理任务的项数则是700(10000-300)项;预设比例是20%时,则预设项数是200(1000×20%),则除预设项数的该类型的待处理任务之外的类型的待处理任务的项数则是800(10000-200)项;预设比例是45%时,则预设项数是450(1000×45%),则除预设项数的该类型的待处理任务之外的类型的待处理任务的项数则是550(10000-450)项。
需要说明的是,本发明实施例第一处理时间和第二处理时间是指处理多个同一类型的任务的总时间,第一执行时间和第二执行时间是指处理一个任务的最短时间(是指在最短的时间内完成这个任务的处理时间,这个处理时间是指任务到达、等待执行、开始执行、执行结束需要的时间之和)。
可选地,本发明实施例处理模块,还用于:
在根据最小处理时间对应的调度算法对除预设项数的该类型的待处理任务之外的该类型的待处理任务进行处理之后,计算最小处理时间与预设项数之间的商值;
将计算出的商值作为处理该类型的待处理任务的第一执行时间;
将最小处理时间对应的调度算法、第一执行时间以及该类型对应存储。
可选地,本发明实施例处理模块将最小处理时间对应的调度算法、第一执行时间以及该类型对应存储在预先创建的文件或数据库中。
可选地,本发明实施例匹配模块,还用于当判断出已处理过该类型的任务时,向处理模块发送第二通知;相应地,
本发明实施例处理模块,还用于接收到来自匹配模块发送的第二通知,在根据匹配出的调度算法对待处理任务进行处理之后,记录根据匹配出的调度算法对该类型的待处理任务进行处理的第二执行时间;
获取已存储的与匹配出的调度算法对应的第一执行时间;
计算第二执行时间和已存储的与匹配出的调度算法对应的第一执行时间之间的差值;
当计算出的差值在预设范围内时,根据预先设置的权值计算算法、第二执行时间和已存储的与匹配出的调度算法对应的第一执行时间对已存储的与匹配出的调度算法对应的第一执行时间进行更新。
可选地,本发明实施例处理模块,还用于当计算出的差值在不预设范围内时,获取已存储的除与匹配出的调度算法对应的第一执行时间之外的其它第一执行时间;
分别计算获得的其它第一执行时间与第二执行时间之间的差值;
判断计算出的差值中是否存在在预设范围内的差值;
当判断出计算出的差值中存在在预设范围内的差值时,获取该差值对应的调度算法并标记匹配出的调度算法对应的类型;
当检测到匹配出的调度算法对应的类型的任务到来时,根据该差值对应的调度算法对匹配出的调度算法对应的类型的任务进行处理;
记录根据该差值对应的调度算法对匹配出的调度算法对应的类型的任务进行处理的第三执行时间;
计算第三执行时间和该差值对应的调度算法对应的第一执行时间之间的差值;
当计算出的第三执行时间和该差值对应的调度算法对应的第一执行时间之间的差值在预设范围内时,根据预先设置的权值计算算法、第三执行时间和该差值对应的调度算法对应的第一执行时间对该差值对应的调度算法对应的第一执行时间进行更新。
需要说明的是,如何根据预先设置的权值计算算法、第三执行时间和该差值对应的调度算法对应的第一执行时间对该差值对应的调度算法对应的第一执行时间进行更新,属于本领域技术人员所熟知的惯用技术手段,此处不再赘述,并不用来限制本申请。
可选地,本发明实施例处理模块,还用于当判断计算出的差值中不存在在预设范围内的差值时,将待处理任务的类型作为一个新的类型,将记录的根据匹配出的调度算法对该类型的待处理任务进行处理的第二执行时间作为与待处理任务的类型对应的第一执行时间;
将与待处理任务的类型对应的第一执行时间、待处理任务的类型和匹配出的调度算法作为新的记录对应存储在预先创建的文件或数据库中。
本发明实施例还提供了一种控制任务调度的装置,至少包括存储器和处理器,其中,存储器中存储有以下可执行指令:当检测到存在待处理任务时,获取待处理任务的类型;匹配与获得的待处理任务的类型对应的调度算法;根据匹配出的调度算法对待处理任务进行处理;处理器执行上述可执行指令。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件(例如处理器)完成,所述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现。相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,例如通过集成电路来实现其相应功能,也可以采用软件功能模块的形式实现,例如通过处理器执行存储于存储器中的程序/指令来实现其相应功能。本发明不限制于任何特定形式的硬件和软件的结合。
以上仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。
Claims (10)
1.一种控制任务调度的方法,其特征在于,包括:
当检测到存在待处理任务时,获取待处理任务的类型;
匹配与获得的待处理任务的类型对应的调度算法;
根据匹配出的调度算法对待处理任务进行处理。
2.根据权利要求1所述的方法,其特征在于,所述匹配与获得的待处理任务的类型对应的调度算法的步骤包括:
判断是否处理过所述类型的任务;
当判断出未处理过所述类型的任务时,获取预先为所述类型的任务分配的调度算法;将所述预先为所述类型的任务分配的调度算法作为所述与获得的待处理任务的类型对应的调度算法;
当判断出已处理过所述类型的任务时,获取已存储的与所述类型的任务对应的调度算法;将所述已存储的与所述类型的任务对应的调度算法作为所述与获得的待处理任务的类型对应的调度算法。
3.根据权利要求2所述的方法,其特征在于,当判断出未处理过所述类型的任务时,所述根据匹配出的调度算法对待处理任务进行处理的步骤包括:
获取所述类型的待处理任务的总项数;
根据匹配出的调度算法对预设项数的所述类型的待处理任务进行处理;
获取根据所述匹配出的调度算法对所述预设项数的所述类型的待处理任务进行处理的第一处理时间;
采用模拟器算法获取根据除所述匹配出的调度算法之外的其它调度算法对所述预设项数的所述类型的待处理任务进行处理的第二处理时间;
获取所述第一处理时间和所述第二处理时间中最小处理时间;
根据所述最小处理时间对应的调度算法对除所述预设项数的所述类型的待处理任务之外的所述类型的待处理任务进行处理;
所述预设项数小于所述总项数。
4.根据权利要求3所述的方法,其特征在于,在所述根据所述最小处理时间对应的调度算法对除所述预设项数的所述类型的待处理任务之外的所述类型的待处理任务进行处理的步骤之后,该方法还包括:
计算所述最小处理时间与所述预设项数之间的商值;
将计算出的商值作为处理所述类型的待处理任务的第一执行时间;
将所述最小处理时间对应的调度算法、所述第一执行时间以及所述类型对应存储。
5.根据权利要求4所述的方法,其特征在于,当判断出已处理过所述类型的任务时,在所述根据匹配出的调度算法对待处理任务进行处理的步骤之后,该方法还包括:
记录根据匹配出的调度算法对所述类型的待处理任务进行处理的第二执行时间;
获取已存储的与所述匹配出的调度算法对应的第一执行时间;
计算所述第二执行时间和所述已存储的与所述匹配出的调度算法对应的第一执行时间之间的差值;
当计算出的差值在预设范围内时,根据预先设置的权值计算算法、所述第二执行时间和所述已存储的与所述匹配出的调度算法对应的第一执行时间对所述已存储的与所述匹配出的调度算法对应的第一执行时间进行更新。
6.一种控制任务调度的装置,其特征在于,包括:检测模块、获取模块、匹配模块和处理模块;其中,
检测模块,用于当检测到存在待处理任务时,通知获取模块;
获取模块,用于接收到来自检测模块的通知,获取待处理任务的类型;
匹配模块,用于匹配与获得的待处理任务的类型对应的调度算法;
处理模块,用于根据匹配出的调度算法对待处理任务进行处理。
7.根据权利要求6所述的装置,其特征在于,所述匹配模块,具体用于包括:
判断是否处理过所述类型的任务;
当判断出未处理过所述类型的任务时,获取预先为所述类型的任务分配的调度算法;将所述预先为所述类型的任务分配的调度算法作为所述与获得的待处理任务的类型对应的调度算法;
当判断出已处理过所述类型的任务时,获取已存储的与所述类型的任务对应的调度算法;将所述已存储的与所述类型的任务对应的调度算法作为所述与获得的待处理任务的类型对应的调度算法。
8.根据权利要求7所述的装置,其特征在于,所述匹配模块,还用于当判断出未处理过所述类型的任务时,向所述处理模块发送第一通知;此时,
所述处理模块,具体用于:
接收到来自所述匹配模块发送的所述第一通知,获取所述类型的待处理任务的总项数;
根据匹配出的调度算法对预设项数的所述类型的待处理任务进行处理;
获取根据所述匹配出的调度算法对所述预设项数的所述类型的待处理任务进行处理的第一处理时间;
采用模拟器算法获取根据除所述匹配出的调度算法之外的其它调度算法对所述预设项数的所述类型的待处理任务进行处理的第二处理时间;
获取所述第一处理时间和所述第二处理时间中最小处理时间;
根据所述最小处理时间对应的调度算法对除所述预设项数的所述类型的待处理任务之外的所述类型的待处理任务进行处理;
所述预设项数小于所述总项数。
9.根据权利要求8所述的装置,其特征在于,所述处理模块,还用于:
在所述根据所述最小处理时间对应的调度算法对除所述预设项数的所述类型的待处理任务之外的所述类型的待处理任务进行处理之后,计算所述最小处理时间与所述预设项数之间的商值;
将计算出的商值作为处理所述类型的待处理任务的第一执行时间;
将所述最小处理时间对应的调度算法、所述第一执行时间以及所述类型对应存储。
10.根据权利要求9所述的装置,其特征在于,所述匹配模块,还用于当判断出已处理过所述类型的任务时,向所述处理模块发送第二通知;相应地,
所述处理模块,还用于接收到来自所述匹配模块发送的所述第二通知,在所述根据匹配出的调度算法对待处理任务进行处理之后,记录根据匹配出的调度算法对所述类型的待处理任务进行处理的第二执行时间;
获取已存储的与所述匹配出的调度算法对应的第一执行时间;
计算所述第二执行时间和所述已存储的与所述匹配出的调度算法对应的第一执行时间之间的差值;
当计算出的差值在预设范围内时,根据预先设置的权值计算算法、所述第二执行时间和所述已存储的与所述匹配出的调度算法对应的第一执行时间对所述已存储的与所述匹配出的调度算法对应的第一执行时间进行更新。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710575033.2A CN107273202A (zh) | 2017-07-14 | 2017-07-14 | 一种控制任务调度的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710575033.2A CN107273202A (zh) | 2017-07-14 | 2017-07-14 | 一种控制任务调度的方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107273202A true CN107273202A (zh) | 2017-10-20 |
Family
ID=60073548
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710575033.2A Pending CN107273202A (zh) | 2017-07-14 | 2017-07-14 | 一种控制任务调度的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107273202A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109947058A (zh) * | 2019-02-15 | 2019-06-28 | 北京空间飞行器总体设计部 | 一种航天器多项自主管理功能状态控制方法 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101271407A (zh) * | 2008-05-13 | 2008-09-24 | 武汉理工大学 | 一种基于能量优化的网格调度方法 |
CN102323895A (zh) * | 2011-09-02 | 2012-01-18 | 广东中大讯通软件科技有限公司 | 一种基于机顶盒嵌入式操作***实时调度方法 |
CN103605575A (zh) * | 2013-11-18 | 2014-02-26 | 深圳市远行科技有限公司 | 一种Cloud Foundry平台应用调度***及方法 |
CN103795804A (zh) * | 2014-02-24 | 2014-05-14 | 华为技术有限公司 | 存储资源调度方法及存储计算*** |
CN105718479A (zh) * | 2014-12-04 | 2016-06-29 | 中国电信股份有限公司 | 跨idc大数处理架构下执行策略生成方法、装置 |
CN105808328A (zh) * | 2014-12-31 | 2016-07-27 | 杭州华为数字技术有限公司 | 任务调度的方法、装置和*** |
US9600333B1 (en) * | 2014-10-29 | 2017-03-21 | Vantiv, Llc | System and methods for transaction-based process management |
CN106897132A (zh) * | 2017-02-27 | 2017-06-27 | 郑州云海信息技术有限公司 | 一种服务器任务调度的方法以及装置 |
-
2017
- 2017-07-14 CN CN201710575033.2A patent/CN107273202A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101271407A (zh) * | 2008-05-13 | 2008-09-24 | 武汉理工大学 | 一种基于能量优化的网格调度方法 |
CN102323895A (zh) * | 2011-09-02 | 2012-01-18 | 广东中大讯通软件科技有限公司 | 一种基于机顶盒嵌入式操作***实时调度方法 |
CN103605575A (zh) * | 2013-11-18 | 2014-02-26 | 深圳市远行科技有限公司 | 一种Cloud Foundry平台应用调度***及方法 |
CN103795804A (zh) * | 2014-02-24 | 2014-05-14 | 华为技术有限公司 | 存储资源调度方法及存储计算*** |
US9600333B1 (en) * | 2014-10-29 | 2017-03-21 | Vantiv, Llc | System and methods for transaction-based process management |
CN105718479A (zh) * | 2014-12-04 | 2016-06-29 | 中国电信股份有限公司 | 跨idc大数处理架构下执行策略生成方法、装置 |
CN105808328A (zh) * | 2014-12-31 | 2016-07-27 | 杭州华为数字技术有限公司 | 任务调度的方法、装置和*** |
CN106897132A (zh) * | 2017-02-27 | 2017-06-27 | 郑州云海信息技术有限公司 | 一种服务器任务调度的方法以及装置 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109947058A (zh) * | 2019-02-15 | 2019-06-28 | 北京空间飞行器总体设计部 | 一种航天器多项自主管理功能状态控制方法 |
CN109947058B (zh) * | 2019-02-15 | 2020-08-18 | 北京空间飞行器总体设计部 | 一种航天器多项自主管理功能状态控制方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10606654B2 (en) | Data processing method and apparatus | |
US11325780B2 (en) | Method and device for sorting cargo | |
Kucukkoc et al. | Integrating ant colony and genetic algorithms in the balancing and scheduling of complex assembly lines | |
Zhang et al. | A modified shifting bottleneck heuristic and disjunctive graph for job shop scheduling problems with transportation constraints | |
CN113420073A (zh) | 基于改进的孤立森林的异常样本检测方法及相关设备 | |
EP3282407A1 (en) | Assembly line balancing apparatus, method and program | |
WO2017168187A1 (en) | Method and system for determining optimal positioning of a plurality of robots in a simulated production environment | |
CN108027889A (zh) | 一种用于增量式学习云***的训练、调度方法及相关设备 | |
EP2977899A2 (en) | Integrating execution of computing analytics within a mapreduce processing environment | |
US20180276590A1 (en) | Non-transitory computer-readable storage medium, process planning method, and process planning device | |
Hunt et al. | Evolving machine-specific dispatching rules for a two-machine job shop using genetic programming | |
WO2013157507A1 (ja) | 生産シミュレーション装置及び生産シミュレーション方法 | |
Zhang et al. | The multi-processor scheduling problem in phylogenetics | |
Salhi et al. | Tailoring hyper-heuristics to specific instances of a scheduling problem using affinity and competence functions | |
CN107273202A (zh) | 一种控制任务调度的方法和装置 | |
CN107168250B (zh) | 一种包装检测任务的自动分配方法及服务器 | |
CN107239338B (zh) | 一种包装检测结果数据生成方法及服务器 | |
CN108633310A (zh) | 基于类别的执行调度 | |
CN108256182A (zh) | 一种动态可重构fpga的布局方法 | |
CN107329826A (zh) | 一种基于Cloudsim平台上的启发式融合资源动态调度算法 | |
US9235489B2 (en) | Testing scheduling system and method | |
CN112463334B (zh) | 一种训练任务排队原因分析方法、***、设备以及介质 | |
CN109241042A (zh) | 数据处理方法、装置以及电子设备 | |
Stadnicka et al. | Work sequence analysis and computer simulations of value flow and workers’ relocations: a case study | |
CN106970836A (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20171020 |