CN110716800A - 任务调度方法及装置、存储介质及电子设备 - Google Patents
任务调度方法及装置、存储介质及电子设备 Download PDFInfo
- Publication number
- CN110716800A CN110716800A CN201910954154.7A CN201910954154A CN110716800A CN 110716800 A CN110716800 A CN 110716800A CN 201910954154 A CN201910954154 A CN 201910954154A CN 110716800 A CN110716800 A CN 110716800A
- Authority
- CN
- China
- Prior art keywords
- task
- processed
- current
- service machine
- service
- 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
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)
- Debugging And Monitoring (AREA)
Abstract
本发明提供了一种任务调度方法及装置、存储介质及电子设备,该方法包括:获取业务机器当前的运行指标,依据运行指标,判断业务机器当前的运行状态是否为空闲状态,若业务机器当前的运行状态为空闲状态,则计算业务机器的任务承载量,在预设的任务列队中,获取与任务承载量相匹配的任务块,任务块中包含至少一个待处理任务,将任务块发送至业务机器,以使业务机器依据任务块中各个待处理任务的处理逻辑信息,对每个待处理任务中的任务数据进行处理。应用本发明提供的任务调度方法,通过监控任务机器的运行状态,当业务机器的运行状态为空闲状态时,为业务机器分配任务,从而实现负载的均衡,提高任务处理的效率。
Description
技术领域
本发明涉及分布式计算机系统领域,尤其涉及一种任务调度方法及装置、存储介质及电子设备。
背景技术
分布式计算机系统的任务调度是指将一个应用或者业务划分为多个任务交由多个业务机器进行处理。任务调度可解决单个业务机器资源不足等问题,达到大规模处理任务数据的目的。
现有的任务调度方法为,当存在待处理任务时,将待处理任务随机分配至分布式计算机系统中的任意一个业务机器进行任务处理。应用现有的任务调度方法,待处理任务为随机分配至各个业务机器,使得部分业务机器可能长期处于高负载状态,从而导致任务处理的效率较低。
发明内容
本发明所要解决的技术问题是提供一种任务调度方法,通过监控业务机器的运行状态,当业务机器为空闲状态时,为其分配任务,从而实现负载的均衡,提高任务处理的效率。
本发明还提供了一种任务调度装置,用于保证上述方法在实际中的实现及应用。
一种任务调度方法,包括:
获取业务机器当前的运行指标;
依据所述运行指标,判断所述业务机器当前的运行状态是否为空闲状态;
若所述业务机器当前的运行状态为空闲状态,则计算所述业务机器的任务承载量;
在预设的任务列队中,获取与所述任务承载量相匹配的任务块,所述任务块中包含至少一个待处理任务;
将所述任务块发送至所述业务机器,以使所述业务机器依据所述任务块中各个待处理任务的处理逻辑信息,对每个所述待处理任务中的任务数据进行处理。
上述的方法,可选的,还包括:
若所述业务机器当前的运行状态为非空闲状态,则判断所述业务机器当前的运行状态是否为高负载状态,并在所述业务机器当前的运行状态为高负载状态时,触发所述业务机器关停处理当前正在处理的目标任务,并依据所述目标任务当前的处理数据,生成新的待处理任务,并将所述新的待处理任务及所述业务机器中当前未处理的各个待处理任务写入至所述任务队列中。
上述的方法,可选的,所述依据所述运行指标,判断所述业务机器当前的运行状态是否为空闲状态,包括:
判断所述运行指标是否小于预设的第一指标阈值;
若所述运行指标小于所述第一指标阈值,判断所述运行指标的时间戳是否属于所述业务机器对应的空闲时间段,若所述运行指标的时间戳属于所述业务机器对应的空闲时间段,确定所述业务机器当前的运行状态为空闲状态。
上述的方法,可选的,所述判断所述业务机器当前的运行状态是否为高负载状态,包括:
判断所述运行指标是否大于预设的第二指标阈值,所述第二指标阈值大于所述第一指标阈值;
若所述运行指标大于所述第二指标阈值,确定所述业务机器当前的运行状态为高负载状态。
上述的方法,可选的,还包括:
在所述业务机器处理每个待处理任务的过程中,获取所述业务机器处理完成当前待处理任务时,所述当前待处理任务对应的第一结果信息;
确定与所述当前待处理任务相关的各个关联任务;所述当前待处理任务与所述各个关联任务属于一个完整的目标业务;
判断预先构建的数据库中,是否存在所有所述关联任务对应的第一结果信息;
若所述数据库中存在所有所述关联任务对应的第一结果信息,则组合所述当前待处理任务的第一结果信息及所述各个关联任务的第一结果信息,获得所述目标业务的业务处理信息;
依据所述业务处理信息判断所述目标业务是否需要继续处理,若所述目标业务需要继续处理,则对所述业务处理信息进行切片,获得多个数据段,并确定每个数据段的处理逻辑信息;
将所述每个数据段及其处理逻辑信息组成待处理任务输入所述任务队列中。
上述的方法,可选的,还包括:
若所述数据库中未存在所有所述关联任务对应的第一结果信息,则将所述当前待处理任务的第一结果信息存储至所述数据库中。
上述的方法,可选的,在预设的任务列队中,获取与所述任务承载量相匹配的任务块,包括:
从所述任务队列的前端向所述任务队列的尾端依次选取N个待处理任务组成所述任务块;
所述N个待处理任务的任务量总和小于所述任务承载量;
所述N个待处理任务的任务量总和与所述任务队列中第N+1个待处理任务的任务量之和,大于所述任务承载量,所述N为正整数。
一种任务调度装置,包括:
第一获取单元,用于获取业务机器当前的运行指标;
第一判断单元,用于依据所述运行指标,判断所述业务机器当前的运行状态是否为空闲状态;
计算单元,用于若所述业务机器当前的运行状态为空闲状态,则计算所述业务机器的任务承载量;
第二获取单元,用于在预设的任务列队中,获取与所述任务承载量相匹配的任务块,所述任务块中包含至少一个待处理任务;
发送单元,用于将所述任务块发送至所述业务机器,以使所述业务机器依据所述任务块中各个待处理任务的处理逻辑信息,对每个所述待处理任务中的任务数据进行处理。
一种存储介质,所述存储介质包括存储的指令,其中,在所述指令运行时控制所述存储介质所在的设备执行上述的任务调度方法。
一种电子设备,包括存储器,以及一个或者一个以上的指令,其中一个或者一个以上指令存储于存储器中,且经配置以由一个或者一个以上处理器执行上述的任务调度方法。
与现有技术相比,本发明包括以下优点:
本发明提供了一种任务调度方法,包括:获取业务机器当前的运行指标,依据运行指标,判断业务机器当前的运行状态是否为空闲状态,若业务机器当前的运行状态为空闲状态,则计算业务机器的任务承载量,在预设的任务列队中,获取与任务承载量相匹配的任务块,任务块中包含至少一个待处理任务,将任务块发送至业务机器,以使业务机器依据任务块中各个待处理任务的处理逻辑信息,对每个待处理任务中的任务数据进行处理。应用本发明提供的任务调度方法,通过监控任务机器的运行状态,当业务机器的运行状态为空闲状态时,为业务机器分配任务,从而实现负载均衡,提高任务处理的效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明提供的一种任务调度方法的方法流程图;
图2为本发明提供的一种任务调度方法的又一方法流程图;
图3为本发明提供的一种任务调度方法的又一方法流程图;
图4为本发明提供的一种任务调度方法的示例图;
图5为本发明提供的一种任务调度方法的示例图;
图6为本发明提供的一种任务调度装置的结构示意图;
图7为本发明提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供了一种任务调度方法,该方法可以应用在调度系统中,其执行主体可以为调度系统的调度中心,所述方法的方法流程图如图1所示,具体包括:
S101:获取业务机器当前的运行指标。
本发明实施例提供的方法中,获取业务机器当前的运行指标,可选的,获取业务机器当前的运行指标,可以包括:调度中心向业务机器发送业务指标获取指令,业务机器在接收到该获取指令时,获取自身的运行指标并生成反馈信息反馈至调度中心,调度中心在接收到反馈信息时,提取反馈信息中的该业务机器的运行指标。
可选的,运行指标包括但不限于:业务机器的CPU负载、内存的占用、带宽的占用以及IO的占用情况。
需要说明的是,本发明实施例提供的方法中,业务机器可以是多个。
S102:判断业务机器当前的运行状态是否为空闲状态。
本发明实施例提供的方法中,依据业务机器的运行指标,判断业务机器的运行状态是否为空闲状态,可选的,可以是将运行指标和预设阈值进行比对,从而确定业务机器的运行状态,若业务机器的运行状态为空闲状态,则执行步骤S103,若业务机器的运行状态为非空闲状态,则执行步骤S104。
S103:计算业务机器的任务承载量,并从预设的任务队列中获取与该任务承载量相匹配的任务块。
本发明实施例提供的方法中,计算获得业务机器的任务承载量,可选的,可以通过获取业务机器当前的处理能力,确定该业务机器的任务承载量,并从预设的任务队列中获取与该任务承载量相匹配的任务块,其中,任务队列中预先存储有多个待处理任务,每一个待处理任务包括任务数据和处理逻辑信息,处理逻辑信息用于指示任务数据的处理方式,任务块中包含至少一个待处理任务。
其中,在预设的任务列队中,获取与任务承载量相匹配的任务块,具体可以包括:
从所述任务队列的前端向所述任务队列的尾端依次选取N个待处理任务组成所述任务块;
所述N个待处理任务的任务量总和小于所述任务承载量;
所述N个待处理任务的任务量总和与所述任务队列中第N+1个待处理任务的任务量之和,大于所述任务承载量,所述N为正整数。
本发明实施例提供的方法中,根据任务承载量,依次从任务队列的前端向该任务队列的尾端选取N个待处理任务,其中,任务队列的前端指代该任务队列的队首,任务队列的后端指代该任务队列的队尾,所选取的N个待处理任务的任务量总和小于任务承载量,且N个待处理任务的任务量总和,与N+1个待处理任务中的任务量之和大于任务承载量。
对在任务列队中获取与任务承载量相匹配的任务块具体实现过程进行说明如下:
按照从任务队列的队首到队尾的顺序,依次累加任务队列中的每个待处理任务的任务量,并在每累加一个待处理任务的任务量后,计算当前的任务量总和是否小于业务机器的任务承载量,若小于,继续累加,若等于,则停止累加,若大于,停止累加并将删除最近一次累加的任务量,从而确定获取待处理任务的目标数量,依据该目标数量,按照从任务队列的队首到队尾的顺序,选取与该目标数量相匹配的待处理任务,并将所选取出来的待处理任务组成任务块。
S104:判断该业务机器当前的运行状态是否为高负载状态。
本发明实施例提供的方法中,若业务机器的运行状态为非空闲状态,判断该业务机器的运行状态是否为高负载状态,若是,执行步骤S105,若否,则说明该业务机器的运行状态为正常工作状态,并结束。
S105:触发业务机器关停当前正在处理的目标任务,并依据目标任务当前的处理数据,生成新的待处理任务。
本发明实施例提供的方法中,若判断业务机器当前的运行状态为高负载状态,向业务机器发送关停指令,触发业务机器关停当前正在处理的目标任务,该业务机器在关停当前正在处理的目标任务后,将该目标任务的处理数据以及未处理的各个待处理任务反馈至调度中心,调度中心在接收到业务机器反馈的目标任务的处理数据后,依据该处理数据,生成新的待处理任务,可选的,可以是对目标任务的处理数据进行解析,得到该目标任务中的已处理任务数据和未处理任务数据,针对未处理任务数据,确定该未处理任务数据对应的处理逻辑信息,依据该未处理任务数据和其对应的处理逻辑信息,生成新的待处理任务。
S106:将新的待处理任务和当前未处理的各个待处理任务写入至任务队列中。
本发明实施例提供的方法中,将该新的待处理任务和业务机器中未处理的各个待处理任务写入至任务队列中,可选的,将新的待处理任务和业务机器中未处理的各个待处理任务写入至任务队列的队尾。
S107:将任务块发送至业务机器,以使业务机器依据任务块中各个待处理任务的处理逻辑信息,对每个待处理任务中的任务数据进行处理。
本发明实施例提供的方法中,将任务块发送至业务机器,以使所述业务机器依据任务块中各个待处理任务的处理逻辑信息,对每个待处理任务中的任务数据进行处理,其中,对任务数据进行处理包括但不限于数据去重、数据聚合以及过滤筛选。
本发明实施例提供的任务调度方法,获取业务机器当前的运行指标,依据运行指标,判断业务机器当前的运行状态是否为空闲状态,若业务机器当前的运行状态为空闲状态,则计算业务机器的任务承载量,在预设的任务列队中,获取与任务承载量相匹配的任务块,任务块中包含至少一个待处理任务,将任务块发送至业务机器,以使业务机器依据任务块中各个待处理任务的处理逻辑信息,对每个待处理任务中的任务数据进行处理,若业务机器当前的运行状态为非空闲状态,则在业务机器当前的运行状态为高负载状态时,触发业务机器关停处理当前正在处理的目标任务,并依据目标任务当前的处理数据,生成新的待处理任务,将新的待处理任务及业务机器中当前未处理的各个待处理任务写入至任务队列中。应用本发明提供的任务调度方法,通过监控任务机器的运行状态,控制在业务机器的运行状态为空闲状态时,为业务机器分配任务,实现负载的均衡,并在业务机器的运行状态为高负载状态,触发该业务机器关停当前正在处理的任务,避免对其他业务机器进程的影响,从而提高任务处理的效率。
上述本发明实施例图1公开的步骤S102涉及的所述依据所述运行指标,判断所述业务机器当前的运行状态是否为空闲状态,如图2所示,具体可以包括:
S201:判断运行指标是否小于预设的第一指标阈值。
本发明实施例提供的方法中,本发明实施例提供的方法中,判断运行指标是否小于预设的第一指标阈值,可选的,当运行指标为多个时,判断每一个运行指标是否小于与其对应的第一指标阈值,例如,判断CPU负载是否小于与其对应的第一指标阈值,已用内存是否小于与其对应的第一指标阈值等。当运行指标小于第一指标阈值时,执行步骤S202,当运行指标不小于第一指标阈值时,执行步骤S203。
S202:判断运行指标的时间戳是否属于该业务机器对应的空闲时间段。
本发明实施例提供的方法中,若业务机器的运行指标小于第一指标阈值,则获取该运行指标对应的时间戳,可选的,运行指标对应的时间戳可以是获取该运行指标的获取时间;依据该运行指标的时间戳,判断该运行指标的时间戳是否是属于该业务机器对应的空闲时间段,若运行指标的时间戳属于该业务机器对应的空闲时间段,则执行步骤S204,若运行指标的时间戳不属于该业务机器对应的空闲时间段,则执行步骤S205。
需要说明的是,业务机器的运行指标可能处于第一指标阈值的边缘,当运行指标处于第一指标阈值的边缘时,可能导致该运行指标存在虚假信号,通过判断运行指标的时间戳是否属于预设的空闲时间段,从而消除虚假信号的影响。
需要说明的是,调度系统中预先存储有每个业务机器对应的空闲时间段。
可选的,判断该运行指标的时间戳是否属于该业务机器对应的空闲时间段,还可以是预先构建神经网络模型,以每个业务机器对应的空闲时间段对神经网络模型进行训练,通过将业务机器的运行指标所对应的时间戳输入至已训练完成的神经网络模型中,从而确定该运行指标的时间戳是否在空闲时间段内。
S203:判断运行指标是否大于预设的第二指标阈值。
本发明实施例提供的方法中,若业务机器的运行指标不小于第一指标阈值,则判断该运行指标是否大于的第二指标阈值,需要说明的是,第二指标阈值大于第一指标阈值;若运行指标不大于第二指标阈值,则执行步骤S205,若运行指标大于第二指标阈值,则执行步骤S206。
S204:确定业务机器当前的运行状态为空闲状态。
本发明实施例提供的方法中,若运行指标的时间戳属于该业务机器对应的空闲时间段,则确定该业务机器当前的运行状态为空闲状态,例如,调度系统中预先存储有与该业务机器对应的空闲时间段为0:00-8:00和21:00-24:00,若运行指标对应的时间戳为22:00,则确定该业务机器当前的运行状态为空闲状态。
S205:确定业务机器当前的运行状态为正常工作状态。
本发明实施例提供的方法中,若业务机器的运行指标小于第一指标阈值,但运行指标的时间戳不属于该业务机器的空闲时间段,或业务机器的运行指标即不小于第一指标阈值,又不大于第二指标阈值,则判定该业务机器当前的运行状态为正常工作状态。
S206:确定业务机器当前的运行状态为高负载状态。
本发明实施例提供的方法中,若业务机器的运行指标大于第二指标阈值,则判定该业务机器当前的运行状态为高负载状态。
本发明实施例提供的方法中,当该运行指标小于第一指标阈值,并且该运行指标的时间戳属于该业务机器的对应的空闲时间段时,确定该业务机器当前的运行状态为空闲状态,当业务机器的运行指标小于第一指标阈值,但运行指标的时间戳不属于该业务机器的空闲时间段,或业务机器的运行指标即不小于第一指标阈值,又不大于第二指标阈值时,确定该业务机器当前的运行状态为正常工作状态,当运行指标大于第二指标阈值时,确定该业务机器当前的运行状态为高负载状态。
上述本发明实施例图1公开的步骤,如图3所示,还可以包括:
S301:在业务机器处理每个待处理任务的过程中,获取业务机器处理完成当前待处理任务时,当前待处理任务对应的第一结果信息。
本发明实施例提供的方法中,在业务机器处理每个待处理任务的过程中,获取业务机器处理完成当前待处理任务时,当前待处理任务的第一结果信息,也就是说,调度中心接收业务机器在每处理完成一个分配至自身的待处理任务后,依据处理完成的结果信息,生成并反馈的第一结果信息。
S302:确定与当前待处理任务相关的各个关联任务。
本发明实施提供的方法中,确定当前待处理任务相关的各个关联任务,可选的,可以通过当前待处理任务的标识信息,确定当前待处理任务所属的目标业务,从而确定该目标业务下的所有待处理任务,并将该业务下的各个待处理任务中除去当前待处理任务以外的其他任务,确定为与当前待处理任务相关的关联任务。
需要说明的是,当前待处理任务与各个关联任务属于一个完整的目标业务。
S303:判断预先构建的数据库中,是否存在所有关联任务对应的第一结果信息。
本发明实施例提供的方法中,针对每个关联任务,判断预先构建的数据库中是否存在与该关联任务对应的第一结果信息,即判断数据库中是否存在所有关联任务对应的第一结果信息,若数据库中不存在与所有关联任务对应的第一结果信息,则说明当前待处理任务所属目标业务对应的待处理任务中存在未完成处理的待处理任务,即存在关联任务未被处理,并执行步骤S304,若数据库中存在所有关联任务对应的第一结果信息,则说明各个关联任务均已完成处理,并执行步骤S305。
S304:将当前待处理任务的第一结果信息存储至数据库中。
本发明实施例提供的方法中,若数据库中未存在所有关联任务对应的第一结果信息,则将当前待处理任务的第一结果信息存储至数据库中,等待该当前待处理任务所属目标业务下的所有任务均完成处理。
S305:组合当前待处理任务的第一结果信息和各个关联任务的第一结果信息,得到该目标业务的业务处理信息。
本发明实施例提供的方法中,将当前待处理任务的第一结果信息和各个关联任务的第一结果信息进行组合,得到第一任务所属目标业务的业务处理信息。
S306:判断是否继续对目标业务进行处理。
本发明实施例提供的方法中,依据业务处理信息,判断是否继续对目标业务进行处理,即判断是否需要继续对目标业务进行业务处理,若是,则执行步骤S307,若否,则将该业务处理信息进行反馈并结束。
需要说明的是,对于个别业务,可能一次业务处理并不能满足用户需求,因此需要对该业务进行多次业务处理,例如,对一个业务进行分类处理,该业务包含数据类型为A、B、C和D的大类数据,A类数据中包含数据类型为A1-A100的小类数据,B类数据中包含数据类型为B1-B140的小类数据,C类数据中包含数据类型为C1-C188的小类数据,D类数据中包含数据类型为D1-D200的小类数据,第一次业务处理后,将A、B、C和D类分类出来,而只对大类的数据进行数据分类是无法满足用户需求的,因此,需要对每个大类数据下的小类数据进行分类,也就是说,将A、B、C和D类数据下每个小类数据分类出来。
S307:对业务处理信息进行切片,获得多个数据段,将每个数据段和其处理逻辑信息组成待处理任务输入任务队列中。
本发明实施例提供的方法中,若判断为继续对目标业务进行处理,则对该目标业务的业务处理数据进行切片,得到多个数据段,确定每个数据段的处理逻辑信息,并将每个数据段和与其对应的处理逻辑信息作为一个待处理任务写入任务队列中。
本发明实施例提供的任务调度方法,在业务机器处理每个待处理任务的过程中,获取业务机器处理完成当前待处理任务时,当前待处理任务对应的第一结果信息,确定与当前待处理任务相关的各个关联任务,若数据库中存在所有关联任务对应的第一结果信息,则组合当前待处理任务的第一结果信息,和各个关联任务的第一结果信息,得到目标业务的业务处理信息,当需要继续对该目标业务进行处理时,对业务处理信息进行切片,得到多个数据段,并确定每个数据段的处理逻辑信息,将每个数据段和其处理逻辑信息作为一个待处理任务写入任务队列中。应用本发明实施例提供任务调度方法,将业务进行切片分成多个待处理任务,使得一个业务可以被多个业务机器同时处理,从而提高业务处理效率,同时,可以对业务进行多次业务处理,满足用户需求。
在本发明实施例提供的方法中,对任务调度方法的具体实现进行举例说明,如图4所示:
调度中心向业务机器发送运行指标获取指令,业务机器获取自身的运行指标,并反馈至调度中心,调度中心依据业务机器反馈的业务指标,判断业务机器的运行状态是否为空闲状态,若是,则获取该业务机器的任务承载量,并从任务队列中获取与任务承载量相匹配的任务块,并将所获取到的任务块发送至业务机器,其中,任务块中包含至少一个待处理任务,待处理任务中包含任务数据和处理逻辑信息。
业务机器在接收到调度中心发送的任务块时,依据任务块中各个待处理任务的处理逻辑信息,对每个待处理任务中的任务数据进行处理,并在处理完成当前待处理任务时,将当前待处理任务的处理结果信息作为第一结果信息反馈至调度中心。
调度中心在接收到业务机器反馈的第一结果信息时,确定当前待处理任务相关的各个关联任务,其中,当前待处理任务与各个关联任务属于一个完整的目标任务,判断预先构建的数据库中是否存在与所有关联任务对应的第一结果信息,若存在,则组合当前待处理任务的第一结果信息及各个关联任务的第一结果信息,获得目标业务的业务处理信息,判断是否需要继续对目标业务进行处理,若是,对该业务处理信息进行切片,得到多个数据段,并确定每个数据段的处理逻辑信息,将每个数据段和与其处理逻辑信息作为一个待处理任务写入任务队列,若不需要继续对目标业务进行处理,则将该业务处理信息进行反馈并结束,若数据库中不存在与所有关联任务对应的第一结果信息,则将当前待处理任务的第一结果信息存储至数据库中。
在本发明实施例提供的方法中,对任务调度方法的另一具体实现进行举例说明,如图5所示:
调度中心在判断业务机器当前的运行状态为高负载状态时,向业务机器发送关停指令。
业务机器在接收到调度中发送的关停指令时,关停处理当前正在处理的目标任务,并将该目标任务的处理数据以及当前未处理的各个待处理任务发送至调度中心。
调度中心依据业务机器发送的目标任务的处理数据,生成新的待处理任务,并将新的待处理任务以及业务机器中当前未处理的各个待处理任务写入至任务队列中。
与图1所述的方法相对应,本发明实施例还提供了一种任务调度装置,用于对图1中方法的具体实现,其结构示意图如图6所示,具体包括:
第一获取单元601,用于获取业务机器当前的运行指标;
第一判断单元602,用于依据所述运行指标,判断所述业务机器当前的运行状态是否为空闲状态;
计算单元603,用于若所述业务机器当前的运行状态为空闲状态,则计算所述业务机器的任务承载量;
第二获取单元604,用于在预设的任务列队中,获取与所述任务承载量相匹配的任务块,所述任务块中包含至少一个待处理任务;
发送单元605,用于将所述任务块发送至所述业务机器,以使所述业务机器依据所述任务块中各个待处理任务的处理逻辑信息,对每个所述待处理任务中的任务数据进行处理。
本发明实施例提供的任务调度装置,获取业务机器当前的运行指标,依据运行指标,判断业务机器当前的运行状态是否为空闲状态,若业务机器当前的运行状态为空闲状态,则计算业务机器的任务承载量,在预设的任务列队中,获取与任务承载量相匹配的任务块,任务块中包含至少一个待处理任务,将任务块发送至业务机器,以使业务机器依据任务块中各个待处理任务的处理逻辑信息,对每个待处理任务中的任务数据进行处理。应用本发明提供的任务调度装置,通过监控任务机器的运行状态,控制在业务机器的运行状态为空闲状态时,为业务机器分配任务,实现负载的均衡,从而提高任务处理的效率。
在本发明的一个实施例中,基于前述方案,任务调度装置还可以配置为:
触发单元,用于若所述业务机器当前的运行状态为非空闲状态,则判断所述业务机器当前的运行状态是否为高负载状态,并在所述业务机器当前的运行状态为高负载状态时,触发所述业务机器关停处理当前正在处理的目标任务,并依据所述目标任务当前的处理数据,生成新的待处理任务,并将所述新的待处理任务及所述业务机器中当前未处理的各个待处理任务写入至所述任务队列中。
在本发明的一个实施例中,基于前述方案,第一判断单元602配置为:
第一判断子单元,用于判断所述运行指标是否小于预设的第一指标阈值;
第一确定子单元,用于若所述运行指标小于所述第一指标阈值,判断所述运行指标的时间戳是否属于所述业务机器对应的空闲时间段,若所述运行指标的时间戳属于所述业务机器对应的空闲时间段,确定所述业务机器当前的运行状态为空闲状态。
在本发明的一个实施例中,基于前述方案,触发单元配置为:
第二判断子单元,用于判断所述运行指标是否大于预设的第二指标阈值,所述第二指标阈值大于所述第一指标阈值;
第二确定子单元,用于若所述运行指标大于所述第二指标阈值,确定所述业务机器当前的运行状态为高负载状态。
在本发明的一个实施例中,基于前述方案,任务调度装置还可以配置为:
第三获取单元,用于在所述业务机器处理每个待处理任务的过程中,获取所述业务机器处理完成当前待处理任务时,所述当前待处理任务对应的第一结果信息;
确定单元,用于确定与所述当前待处理任务相关的各个关联任务;所述当前待处理任务与所述各个关联任务属于一个完整的目标业务;
第二判断单元,用于判断预先构建的数据库中,是否存在所有所述关联任务对应的第一结果信息;
组合单元,用于若所述数据库中存在所有所述关联任务对应的第一结果信息,则组合所述当前待处理任务的第一结果信息及所述各个关联任务的第一结果信息,获得所述目标业务的业务处理信息;
切片单元,用于依据所述业务处理信息判断所述目标业务是否需要继续处理,若所述目标业务需要继续处理,则对所述业务处理信息进行切片,获得多个数据段,并确定每个数据段的处理逻辑信息;
写入单元,用于将所述每个数据段及其处理逻辑信息组成待处理任务输入所述任务队列中。
在本发明的一个实施例中,基于前述方案,任务调度装置还可以配置为:
存储单元,用于若所述数据库中未存在所有所述关联任务对应的第一结果信息,则将所述当前待处理任务的第一结果信息存储至所述数据库中。
在本发明的一个实施例中,基于前述方案,第二获取单元604配置为:
选取子单元,用于从所述任务队列的前端向所述任务队列的尾端依次选取N个待处理任务组成所述任务块;
所述N个待处理任务的任务量总和小于所述任务承载量;
所述N个待处理任务的任务量总和与所述任务队列中第N+1个待处理任务的任务量之和,大于所述任务承载量,所述N为正整数。
本发明实施例还提供了一种存储介质,所述存储介质包括存储的指令,其中,在所述指令运行时控制所述存储介质所在的设备执行上述任务调度方法。
本发明实施例还提供了一种电子设备,其结构示意图如图7所示,具体包括存储器701,以及一个或者一个以上的指令702,其中一个或者一个以上指令702存储于存储器701中,且经配置以由一个或者一个以上处理器703执行所述一个或者一个以上指令702进行以下操作:
获取业务机器当前的运行指标;
依据所述运行指标,判断所述业务机器当前的运行状态是否为空闲状态;
若所述业务机器当前的运行状态为空闲状态,则计算所述业务机器的任务承载量;
在预设的任务列队中,获取与所述任务承载量相匹配的任务块,所述任务块中包含至少一个待处理任务;
将所述任务块发送至所述业务机器,以使所述业务机器依据所述任务块中各个待处理任务的处理逻辑信息,对每个所述待处理任务中的任务数据进行处理。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本发明时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
以上对本发明所提供的一种任务调度方法及装置进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种任务调度方法,其特征在于,包括:
获取业务机器当前的运行指标;
依据所述运行指标,判断所述业务机器当前的运行状态是否为空闲状态;
若所述业务机器当前的运行状态为空闲状态,则计算所述业务机器的任务承载量;
在预设的任务列队中,获取与所述任务承载量相匹配的任务块,所述任务块中包含至少一个待处理任务;
将所述任务块发送至所述业务机器,以使所述业务机器依据所述任务块中各个待处理任务的处理逻辑信息,对每个所述待处理任务中的任务数据进行处理。
2.根据权利要求1所述的方法,其特征在于,还包括:
若所述业务机器当前的运行状态为非空闲状态,则判断所述业务机器当前的运行状态是否为高负载状态,并在所述业务机器当前的运行状态为高负载状态时,触发所述业务机器关停处理当前正在处理的目标任务,并依据所述目标任务当前的处理数据,生成新的待处理任务,并将所述新的待处理任务及所述业务机器中当前未处理的各个待处理任务写入至所述任务队列中。
3.根据权利要求1所述的方法,其特征在于,所述依据所述运行指标,判断所述业务机器当前的运行状态是否为空闲状态,包括:
判断所述运行指标是否小于预设的第一指标阈值;
若所述运行指标小于所述第一指标阈值,判断所述运行指标的时间戳是否属于所述业务机器对应的空闲时间段,若所述运行指标的时间戳属于所述业务机器对应的空闲时间段,确定所述业务机器当前的运行状态为空闲状态。
4.根据权利要求3所述的方法,其特征在于,所述判断所述业务机器当前的运行状态是否为高负载状态,包括:
判断所述运行指标是否大于预设的第二指标阈值,所述第二指标阈值大于所述第一指标阈值;
若所述运行指标大于所述第二指标阈值,确定所述业务机器当前的运行状态为高负载状态。
5.根据权利要求1所述的方法,其特征在于,还包括:
在所述业务机器处理每个待处理任务的过程中,获取所述业务机器处理完成当前待处理任务时,所述当前待处理任务对应的第一结果信息;
确定与所述当前待处理任务相关的各个关联任务;所述当前待处理任务与所述各个关联任务属于一个完整的目标业务;
判断预先构建的数据库中,是否存在所有所述关联任务对应的第一结果信息;
若所述数据库中存在所有所述关联任务对应的第一结果信息,则组合所述当前待处理任务的第一结果信息及所述各个关联任务的第一结果信息,获得所述目标业务的业务处理信息;
依据所述业务处理信息判断所述目标业务是否需要继续处理,若所述目标业务需要继续处理,则对所述业务处理信息进行切片,获得多个数据段,并确定每个数据段的处理逻辑信息;
将所述每个数据段及其处理逻辑信息组成待处理任务输入所述任务队列中。
6.根据权利要求5所述的方法,其特征在于,还包括:
若所述数据库中未存在所有所述关联任务对应的第一结果信息,则将所述当前待处理任务的第一结果信息存储至所述数据库中。
7.根据权利要求1所述的方法,其特征在于,在预设的任务列队中,获取与所述任务承载量相匹配的任务块,包括:
从所述任务队列的前端向所述任务队列的尾端依次选取N个待处理任务组成所述任务块;
所述N个待处理任务的任务量总和小于所述任务承载量;
所述N个待处理任务的任务量总和与所述任务队列中第N+1个待处理任务的任务量之和,大于所述任务承载量,所述N为正整数。
8.一种任务调度装置,其特征在于,包括:
第一获取单元,用于获取业务机器当前的运行指标;
第一判断单元,用于依据所述运行指标,判断所述业务机器当前的运行状态是否为空闲状态;
计算单元,用于若所述业务机器当前的运行状态为空闲状态,则计算所述业务机器的任务承载量;
第二获取单元,用于在预设的任务列队中,获取与所述任务承载量相匹配的任务块,所述任务块中包含至少一个待处理任务;
发送单元,用于将所述任务块发送至所述业务机器,以使所述业务机器依据所述任务块中各个待处理任务的处理逻辑信息,对每个所述待处理任务中的任务数据进行处理。
9.一种存储介质,其特征在于,所述存储介质包括存储的指令,其中,在所述指令运行时控制所述存储介质所在的设备执行如权利要求1~7任意一项所述的任务调度方法。
10.一种电子设备,其特征在于,包括存储器,以及一个或者一个以上的指令,其中一个或者一个以上指令存储于存储器中,且经配置以由一个或者一个以上处理器执行如权利要求1~7任意一项所述的任务调度方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910954154.7A CN110716800B (zh) | 2019-10-09 | 2019-10-09 | 任务调度方法及装置、存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910954154.7A CN110716800B (zh) | 2019-10-09 | 2019-10-09 | 任务调度方法及装置、存储介质及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110716800A true CN110716800A (zh) | 2020-01-21 |
CN110716800B CN110716800B (zh) | 2021-07-09 |
Family
ID=69212341
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910954154.7A Active CN110716800B (zh) | 2019-10-09 | 2019-10-09 | 任务调度方法及装置、存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110716800B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111784288A (zh) * | 2020-06-29 | 2020-10-16 | 广州华多网络科技有限公司 | 一种任务管理方法、装置、系统、存储介质及设备 |
CN113282390A (zh) * | 2021-05-20 | 2021-08-20 | 北京达佳互联信息技术有限公司 | 任务调度方法、装置、电子设备及可读存储介质 |
CN113298380A (zh) * | 2021-05-25 | 2021-08-24 | 东莞嘉誉诚建设基础工程有限公司 | 一种管理桩机设备的方法、系统、设备及其存储介质 |
CN113672673A (zh) * | 2021-08-25 | 2021-11-19 | 吉林亿联银行股份有限公司 | 数据采集方法及装置、存储介质及电子设备 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102541640A (zh) * | 2011-12-28 | 2012-07-04 | 厦门市美亚柏科信息股份有限公司 | 一种集群gpu资源调度系统和方法 |
CN102567106A (zh) * | 2010-12-30 | 2012-07-11 | 中国移动通信集团云南有限公司 | 任务调度方法、系统和装置 |
CN104239144A (zh) * | 2014-09-22 | 2014-12-24 | 珠海许继芝电网自动化有限公司 | 一种多级分布式任务处理系统 |
CN104520815A (zh) * | 2014-03-17 | 2015-04-15 | 华为技术有限公司 | 一种任务调度的方法、装置及设备 |
US20180239625A1 (en) * | 2017-02-22 | 2018-08-23 | Red Hat, Inc. | Cpu overcommit with guest idle polling |
CN108900583A (zh) * | 2018-06-15 | 2018-11-27 | 西安电子科技大学 | 一种智能自动化的负载均衡系统及均衡方法 |
CN109815019A (zh) * | 2019-02-03 | 2019-05-28 | 普信恒业科技发展(北京)有限公司 | 任务调度方法、装置、电子设备及可读存储介质 |
-
2019
- 2019-10-09 CN CN201910954154.7A patent/CN110716800B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102567106A (zh) * | 2010-12-30 | 2012-07-11 | 中国移动通信集团云南有限公司 | 任务调度方法、系统和装置 |
CN102541640A (zh) * | 2011-12-28 | 2012-07-04 | 厦门市美亚柏科信息股份有限公司 | 一种集群gpu资源调度系统和方法 |
CN104520815A (zh) * | 2014-03-17 | 2015-04-15 | 华为技术有限公司 | 一种任务调度的方法、装置及设备 |
CN104239144A (zh) * | 2014-09-22 | 2014-12-24 | 珠海许继芝电网自动化有限公司 | 一种多级分布式任务处理系统 |
US20180239625A1 (en) * | 2017-02-22 | 2018-08-23 | Red Hat, Inc. | Cpu overcommit with guest idle polling |
CN108900583A (zh) * | 2018-06-15 | 2018-11-27 | 西安电子科技大学 | 一种智能自动化的负载均衡系统及均衡方法 |
CN109815019A (zh) * | 2019-02-03 | 2019-05-28 | 普信恒业科技发展(北京)有限公司 | 任务调度方法、装置、电子设备及可读存储介质 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111784288A (zh) * | 2020-06-29 | 2020-10-16 | 广州华多网络科技有限公司 | 一种任务管理方法、装置、系统、存储介质及设备 |
CN113282390A (zh) * | 2021-05-20 | 2021-08-20 | 北京达佳互联信息技术有限公司 | 任务调度方法、装置、电子设备及可读存储介质 |
CN113298380A (zh) * | 2021-05-25 | 2021-08-24 | 东莞嘉誉诚建设基础工程有限公司 | 一种管理桩机设备的方法、系统、设备及其存储介质 |
CN113672673A (zh) * | 2021-08-25 | 2021-11-19 | 吉林亿联银行股份有限公司 | 数据采集方法及装置、存储介质及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN110716800B (zh) | 2021-07-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110716800B (zh) | 任务调度方法及装置、存储介质及电子设备 | |
US10558498B2 (en) | Method for scheduling data flow task and apparatus | |
EP3129880B1 (en) | Method and device for augmenting and releasing capacity of computing resources in real-time stream computing system | |
CN104391749B (zh) | 一种资源分配方法及装置 | |
CN111338791A (zh) | 集群队列资源的调度方法、装置、设备及存储介质 | |
US10255114B2 (en) | Abnormality detection apparatus, control method, and program | |
EP2503733A1 (en) | Data collecting method, data collecting apparatus and network management device | |
US10884667B2 (en) | Storage controller and IO request processing method | |
CN112667376A (zh) | 任务调度处理方法、装置、计算机设备及存储介质 | |
CN109086135B (zh) | 资源伸缩方法、装置、计算机设备及存储介质 | |
CN110928655A (zh) | 一种任务处理方法及装置 | |
US11321115B2 (en) | Scalable and dynamic data collection and processing | |
CN109284895A (zh) | 项目任务分配方法、装置、计算机设备及存储介质 | |
CN115658311A (zh) | 一种资源的调度方法、装置、设备和介质 | |
CN108153584B (zh) | 一种用于确定目标网络设备需分配的线程数的方法与设备 | |
CN106933673B (zh) | 调整组件逻辑线程数量的方法及装置 | |
CN104156505A (zh) | 一种基于用户行为分析的Hadoop集群作业调度方法及装置 | |
CN108415765B (zh) | 任务调度方法、装置及智能终端 | |
CN109491775A (zh) | 一种用于边缘计算环境下的任务处理与调度方法 | |
CN112860401A (zh) | 任务调度方法、装置、电子设备和存储介质 | |
US11379694B2 (en) | Scalable and dynamic data collection and processing | |
CN115713395A (zh) | 一种基于Flink的用户风控管理方法、装置及设备 | |
CN115081413A (zh) | 一种报表生成方法、装置、系统、设备及介质 | |
Poltavtseva et al. | Planning of aggregation and normalization of data from the Internet of Things for processing on a multiprocessor cluster | |
CN114138453A (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 |