CN115981811B - 一种任务调度方法、系统、电子设备及存储介质 - Google Patents
一种任务调度方法、系统、电子设备及存储介质 Download PDFInfo
- Publication number
- CN115981811B CN115981811B CN202211628977.9A CN202211628977A CN115981811B CN 115981811 B CN115981811 B CN 115981811B CN 202211628977 A CN202211628977 A CN 202211628977A CN 115981811 B CN115981811 B CN 115981811B
- Authority
- CN
- China
- Prior art keywords
- services
- available
- servers
- elastic
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 55
- 230000008014 freezing Effects 0.000 claims description 44
- 238000007710 freezing Methods 0.000 claims description 44
- 238000006243 chemical reaction Methods 0.000 claims description 41
- 238000004422 calculation algorithm Methods 0.000 claims description 11
- 230000002068 genetic effect Effects 0.000 claims description 10
- 238000004590 computer program Methods 0.000 claims description 5
- 238000003780 insertion Methods 0.000 claims description 3
- 230000037431 insertion Effects 0.000 claims description 3
- 238000012163 sequencing technique Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 3
- 101150083745 preT gene Proteins 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000001351 cycling effect Effects 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 230000007935 neutral effect Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Telephonic Communication Services (AREA)
Abstract
本发明公开了一种任务调度方法、系统、电子设备及存储介质,涉及任务调度技术领域,所述方法包括:获取目标队列长度和当前的可用服务的数量;目标队列长度为当前待处理任务队列的长度,可用服务包括可用固定服务和可用弹性服务;可用固定服务为固定服务器上的可用服务,可用弹性服务为弹性服务器上的可用服务;若目标队列长度小于可用服务的数量,且当前存在可用弹性服务,则执行第一调度过程;若目标队列长度大于或等于可用服务的数量,则执行第二调度过程。本发明通过多次判断,根据判断结果对不同服务器上的服务进行调整切换,而不需额外增加大量服务器,提高了服务器资源利用率,减少了用户等待时间,降低了服务器成本。
Description
技术领域
本发明涉及任务调度技术领域,特别是涉及一种任务调度方法、系统、电子设备及存储介质。
背景技术
用户通过业务系统上传各种2D模型图纸、3D模型图纸和Office文档,系统需要将这些文件转变为轻量化格式文件方便用户使用浏览器进行预览。其中,文件的转换处理可以看出一个个的任务。随着用户量的稳定增长、转换任务类型的不断增加,任务量也在不断增大。为了保障用户服务质量,面对大量的任务转换需求,我们需要增加大量的服务器来提高任务转换服务,从而保证任务等待时间在用户可接受范围内,这也造成高额的服务器费用。但这种方式不仅未解决高峰时期任务需要等待较长时间的问题,且提高了服务器的成本。
发明内容
本发明的目的是提供一种任务调度方法、系统、电子设备及存储介质,减少了高峰时任务等待的时间,降低了服务器的成本。
为实现上述目的,本发明提供了如下方案:
一种任务调度方法,包括:
获取目标队列长度和当前的可用服务的数量;所述目标队列长度为当前待处理任务队列的长度,所述可用服务包括可用固定服务和可用弹性服务;所述可用固定服务为固定服务器上的可用服务,所述可用弹性服务为弹性服务器上的可用服务;
若所述目标队列长度小于所述可用服务的数量,且当前存在所述可用弹性服务,则执行第一调度过程;若所述目标队列长度大于或等于所述可用服务的数量,则执行第二调度过程;
其中,所述第一调度过程,包括:
将N个所述可用弹性服务设置为冻结弹性服务;N为当前的可用服务的数量与目标队列长度差的绝对值;
将当前服务均为所述冻结弹性服务的弹性服务器转为备用服务器;
若备用服务器的数量大于预设服务器数量,则将R台备用服务器转为当前的空闲服务器;R=备用服务器的数量-预设服务器数量;
利用目标服务器执行所述当前待处理任务队列中的任务;所述目标服务器包括具有可用固定服务的固定服务器和除所述空闲服务器之外的具有可用弹性服务的弹性服务器;
所述第二调度过程,包括:
若存在冻结服务,则将N个冻结服务设置为可用服务,更新当前的可用服务的数量,并采用更新后的可用服务对应的固定服务器和对应的弹性服务器执行所述当前待处理任务队列中的任务;
所述冻结服务包括冻结固定服务和冻结弹性服务;所述冻结固定服务为固定服务器上的冻结服务,所述冻结弹性服务为弹性服务器上的冻结服务;
若不存在冻结服务,则确定预计等待时间;
当所述预计等待时间大于预设等待时间,且当前的备用服务器的数量大于或等于需新增服务数量时,则将Q台备用服务器转换为弹性服务器,并采用具有可用固定服务的固定服务器和更新后的具有可用弹性服务的弹性服务器执行所述当前待处理任务队列中的任务;Q为当前的备用服务器的数量与所述需新增服务数量的差;所述需新增服务数量采用遗传算法确定;
当所述预计等待时间大于预设等待时间,且当前的备用服务器的数量小于需新增服务数量,则将所有的备用服务器转换为弹性服务器,并增加P台云服务器作为备用服务器,采用具有可用固定服务的固定服务器和更新后的具有可用弹性服务的弹性服务器执行所述当前待处理任务队列中的任务;P为Q与当前的备用服务器的数量的差。
可选地,所述将N个冻结服务设置为可用服务,具体包括:
获取待排序可用服务的数量;所述待排序可用服务为具有冻结服务的固定服务器上的可用服务和具有冻结服务的弹性服务器上的可用服务;
按照待排序可用服务的数量按照降序的方式对相应的固定服务器和弹性服务器进行排序,得到相应的固定服务器和弹性服务器上的冻结服务序列;
将所述冻结服务序列中的前N个冻结服务设置为可用服务。
可选地,所述确定预计等待时间,具体包括:
按照优先级和预期时间,确定所有待处理任务所在的任务队列;
将所有待处理任务中的最后一个任务所在的任务队列的总时长确定为所述预计等待时间。
可选地,确定任一待处理任务所在的任务队列,具体包括:
计算第一总时长和第二总时长;所述第一总时长为插入待处理任务后的当前待处理任务队列的总时长,所述第二总时长为插入待处理任务后的下一待处理任务队列的总时长;
判断所述第一总时长是否大于所述第二总时长;
若所述第一总时长大于所述第二总时长,则将当前待处理任务队列确定为待处理任务所在的任务队列;
若所述第一总时长小于或等于所述第二总时长,则将下一待处理任务队列确定为待处理任务所在的任务队列。
一种任务调度系统,包括:
第一获取模块,用于获取目标队列长度和当前的可用服务的数量;所述目标队列长度为当前待处理任务队列的长度,所述可用服务包括可用固定服务和可用弹性服务;所述可用固定服务为固定服务器上的可用服务,所述可用弹性服务为弹性服务器上的可用服务;
执行模块,用于若所述目标队列长度小于所述可用服务的数量,且当前存在所述可用弹性服务,则执行第一调度模块;所述第一调度模块用于执行第一调度过程;若所述目标队列长度大于或等于所述可用服务的数量,则执行第二调度过程第二调度模块;所述第二调度模块用于执行第二调度过程;
其中,所述第一调度模块,包括:
冻结转换子模块,用于将N个所述可用弹性服务设置为冻结弹性服务;N为当前的可用服务的数量与目标队列长度差的绝对值;
备用转换子模块,用于将当前服务均为所述冻结弹性服务的弹性服务器转为备用服务器;
空闲转换子模块,用于若备用服务器的数量大于预设服务器数量,则将R台备用服务器转为当前的空闲服务器;R=备用服务器的数量-预设服务器数量;
第一任务执行子模块,用于利用目标服务器执行所述当前待处理任务队列中的任务;所述目标服务器包括具有可用固定服务的固定服务器和除所述空闲服务器之外的具有可用弹性服务的弹性服务器;
所述第二调度模块,包括:
可用转换子模块,用于若存在冻结服务,则将N个冻结服务设置为可用服务,更新当前的可用服务的数量,并采用更新后的可用服务对应的固定服务器和对应的弹性服务器执行所述当前待处理任务队列中的任务;
所述冻结服务包括冻结固定服务和冻结弹性服务;所述冻结固定服务为固定服务器上的冻结服务,所述冻结弹性服务为弹性服务器上的冻结服务;
预计等待时间确定子模块,用于若不存在冻结服务,则确定预计等待时间;
第二任务执行子模块,用于当所述预计等待时间大于预设等待时间,且当前的备用服务器的数量大于或等于需新增服务数量时,则将Q台备用服务器转换为弹性服务器,并采用具有可用固定服务的固定服务器和更新后的具有可用弹性服务的弹性服务器执行所述当前待处理任务队列中的任务;Q为当前的备用服务器的数量与所述需新增服务数量的差;所述需新增服务数量采用遗传算法确定;
第三任务执行子模块,用于当所述预计等待时间大于预设等待时间,且当前的备用服务器的数量小于需新增服务数量,则将所有的备用服务器转换为弹性服务器,并增加P台云服务器作为备用服务器,采用具有可用固定服务的固定服务器和更新后的具有可用弹性服务的弹性服务器执行所述当前待处理任务队列中的任务;P为Q与当前的备用服务器的数量的差。
可选地,所述可用转换子模块,具体包括:
第一获取单元,用于获取待排序可用服务的数量;所述待排序可用服务为具有冻结服务的固定服务器上的可用服务和具有冻结服务的弹性服务器上的可用服务;
排序单元,用于按照待排序可用服务的数量按照降序的方式对相应的固定服务器和弹性服务器进行排序,得到相应的固定服务器和弹性服务器上的冻结服务序列;
可用转换单元,用于将所述冻结服务序列中的前N个冻结服务设置为可用服务。
可选地,所述预计等待时间确定子模块,具体包括:
任务队列确定单元,用于按照优先级和预期时间,确定所有待处理任务所在的任务队列;
预计等待时间确定单元,用于将所有待处理任务中的最后一个任务所在的任务队列的总时长确定为所述预计等待时间;
所述任务队列确定单元,具体包括:
插入确定子单元,用于将当前待处理任务插入到所述当前待处理任务队列中,得到插入后的当前待处理任务队列;
计算子单元,用于计算第一总时长和第二总时长;所述第一总时长为插入后的当前待处理任务队列的总时长,所述第二总时长为下一待处理任务队列的总时长;
判断子单元,用于判断所述第一总时长是否大于所述第二总时长;
第一执行子单元,用于若所述第一总时长大于所述第二总时长,则将所述当前待处理任务插入到所述下一待处理任务队列中;
第二执行子单元,用于若所述第一总时长小于或等于所述第二总时长,则将所述插入后的当前待处理任务队列确定为所述当前待处理任务队列。
一种电子设备,包括:
一个或多个处理器;
存储装置,其上存储有一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如上述所述的方法。
一种存储介质,其上存储有计算机程序,其中,所述计算机程序被处理器执行时实现如上述所述的方法。
根据本发明提供的具体实施例,本发明公开了以下技术效果:
本发明公开了一种任务调度方法、系统、电子设备及存储介质,根据目标队列长度和可用服务的数量的比较结果,分别进行第一调度过程和第二调度过程。其中,在第一调度过程中,将超出目标队列长度的可用服务所在的服务器释放为空闲服务器,其他服务器来执行目标队列中的任务;在第二调度过程中,将存在冻结服务时,冻结服务转换为可用服务,不存在冻结服务时,调用其他服务器之后,执行目标队列中的任务。通过多次判断,根据判断结果对不同服务器上的服务进行调整切换,而不需额外增加大量服务器,提高了服务器资源利用率,减少了用户等待时间,降低了服务器成本。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例1提供的任务调度方法流程示意图;
图2为任务调度流程示意图;
图3为本发明实施例2提供的任务调度系统结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的目的是提供一种任务调度方法、系统、电子设备及存储介质,旨在减少高峰时任务等待的时间,降低服务器的成本,可应用于任务调度技术领域。
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
实施例1
图1为本发明实施例1提供的任务调度方法流程示意图。如图1所示,本实施例中的任务调度方法,包括:
步骤101:获取目标队列长度和当前的可用服务的数量;目标队列长度为当前待处理任务队列的长度,可用服务包括可用固定服务和可用弹性服务;可用固定服务为固定服务器上的可用服务,可用弹性服务为弹性服务器上的可用服务。
步骤102:若目标队列长度小于可用服务的数量,且当前存在可用弹性服务,则执行第一调度过程;若目标队列长度大于或等于可用服务的数量,则执行第二调度过程。
其中,第一调度过程,包括:
将N个可用弹性服务设置为冻结弹性服务;N为当前的可用服务的数量与目标队列长度差的绝对值。
将当前服务均为冻结弹性服务的弹性服务器转为备用服务器。
若备用服务器的数量大于预设服务器数量,则将R台备用服务器转为当前的空闲服务器;R=备用服务器的数量-预设服务器数量。
利用目标服务器执行当前待处理任务队列中的任务;目标服务器包括具有可用固定服务的固定服务器和除空闲服务器之外的具有可用弹性服务的弹性服务器。
第二调度过程,包括:
若存在冻结服务,则将N个冻结服务设置为可用服务,更新当前的可用服务的数量,并采用更新后的可用服务对应的固定服务器和对应的弹性服务器执行当前待处理任务队列中的任务。
冻结服务包括冻结固定服务和冻结弹性服务;冻结固定服务为固定服务器上的冻结服务,冻结弹性服务为弹性服务器上的冻结服务。
若不存在冻结服务,则确定预计等待时间。
当预计等待时间大于预设等待时间,且当前的备用服务器的数量大于或等于需新增服务数量时,则将Q台备用服务器转换为弹性服务器,并采用具有可用固定服务的固定服务器和更新后的具有可用弹性服务的弹性服务器执行当前待处理任务队列中的任务;Q为当前的备用服务器的数量与需新增服务数量的差;需新增服务数量采用遗传算法确定。
当预计等待时间大于预设等待时间,且当前的备用服务器的数量小于需新增服务数量,则将所有的备用服务器转换为弹性服务器,并增加P台云服务器作为备用服务器,采用具有可用固定服务的固定服务器和更新后的具有可用弹性服务的弹性服务器执行当前待处理任务队列中的任务;P为Q与当前的备用服务器的数量的差。
作为一种可选的实施方式,将N个冻结服务设置为可用服务,具体包括:
获取待排序可用服务的数量;待排序可用服务为具有冻结服务的固定服务器上的可用服务和具有冻结服务的弹性服务器上的可用服务。
按照待排序可用服务的数量按照降序的方式对相应的固定服务器和弹性服务器进行排序,得到相应的固定服务器和弹性服务器上的冻结服务序列。
将冻结服务序列中的前N个冻结服务设置为可用服务。
作为一种可选的实施方式,确定预计等待时间,具体包括:
按照优先级和预期时间,确定所有待处理任务所在的任务队列。
将所有待处理任务中的最后一个任务所在的任务队列的总时长确定为预计等待时间。
作为一种可选的实施方式,确定任一待处理任务所在的任务队列,具体包括:
计算第一总时长和第二总时长;时间第一总时长为插入待处理任务后的当前待处理任务队列的总时长,时间第二总时长为插入待处理任务后的下一待处理任务队列的总时长。
判断时间第一总时长是否大于时间第二总时长。
若时间第一总时长大于时间第二总时长,则将当前待处理任务队列确定为待处理任务所在的任务队列。
若时间第一总时长小于或等于时间第二总时长,则将下一待处理任务队列确定为待处理任务所在的任务队列。
具体的,知识库根据任务基础数据分析不同类型的模型文件所需要的转换资源(内存、CPU)和转换时间,每天在不同时间段对转换服务数量的要求。任务调度根据知识库的转换服务数量需求在不同时间段启动不同数量的备用服务器;根据实时任务队列的转换需求预测,实时调整弹性服务数量。
服务器分为固定服务器、弹性服务器和备用服务器,其中弹性服务器和备用服务器均为云服务器动态创建和释放。每个服务器上可部署按照多个转换服务,每个服务的状态分为待分配、转换中和冻结。
任务调度服务通过每小时定时轮询,根据当前固定服务数量加弹性服务数量增加/减少备用服务器数量。
任务调度服务通过每5秒钟定时轮询,判断当前任务队列对转换服务的资源需求,弹性新增、删除、启动、冻结转换服务。如图2所示,任务调度的具体处理流程如下:
Step1:获取当前待处理任务的队列长度和当前可用服务(即正常可用的转换服务),其中包含固定服务数和弹性可用服务数之和(这一步实际上是在做释放服务器的前置处理,先保证服务器上的所有服务都是停用状态,转为备用服务器,后面备用服务器只保留设定台数,其他的都会释放。)
Step2:判断队列长度是否小于可用服务数;
Step3:若队列长度小于可用服务数(这里的服务器类型是三种,每台服务器上有很多转换服务,转换服务存在不同的运行状态),且存在弹性服务器:
Step31:将N个可用弹性服务(弹性服务器上的服务)设置为冻结弹性服务,其中,N=可用服务数-队列长度,将所有在等待状态的服务,按照对应服务器上已冻结的服务数量降序排列,取前N条数据对应的服务设置为冻结状态(这里就是对部分转换服务设置状态,对应的服务器也设置状态,避免出现这台服务器的转换服务在任务转换完成后,继续拿任务转换),将服务全部冻结的弹性服务器转为备用服务器。
Step32:当当前的备用服务器数量大于预计服务器数量时,则释放R台备用服务器,其中,R=备用服务器数量-预计服务器数量。
Step4:若队列长度大于可用服务数:
Step41:当存在冻结的服务时:将冻结服务设置为可用服务,具体规则为将所有冻结服务,按照对应服务器上可用服务数量降序排列(比如每台服务器上有5个服务,A服务器有2个服务可用,3个冻结;B服务器3个服务可用,2个冻结。这样会优先将B服务器冻结的服务改为可用),取前N条数据对应的服务设置为可用状态。
Step42:当不存在冻结的服务时:
Step421:确定预计等待时间。
预计等待时间的计算公式为:将所有服务按照当前任务的剩余处理时长进行排序,将所有待处理任务按照优先级和预期时间排序(优先级由业务系统提供)。按顺序将任务插入到服务队列中,计算当前服务队列的总时长,若总时长大于下一个队列的总时长,则下一个任务(这里实际上是贪心算法的计算方式,当前任务在分配服务时,被选择的服务最大完成时间最短)插入下一个队列;否则下一个任务继续插入当前队列。最终得到最后一个任务对应的服务队列总时长即为预计等待时间。
Step422:当预计等待时间小于等于配置等待时间(这是一个规则设定参数,可动态配置)时不处理.
Step423:当预计等待时间大于配置等待时间时:
Step4231:计算预计服务数:
假设当前可选择的服务器为{S1,S2,S3...Sq},价格Price为{P1,P2,P3...Pq},其中一部分的服务为固定服务,价格为0,另外一部分为弹性服务(含备用服务器服务和弹性服务器服务)价格为p,当前每个服务完成正常处理的任务所需要的时间为{preT1,preT2,preT3...preTq},所有转换任务所需的时间为{TaskT1,TaskT2,TaskT3...TaskTm},即将n个任务分配给q个服务,在满足所有任务的等待时间小于配置等待时间的条件下,价格之和最小。
采用遗传算法确定需新增服务器数量:
首先设置初始化参数(包括种群数量populationSize和迭代次数generationSize),数组Que[S2,S3...S1,Sq]表示第一个任务分配给S2服务,随机生成populationSize个这样的数组得到初始化种群。计算每一个转换服务的最大等待时间是否小于配置等待时间,若不满足,将不满足的任务移动到最后一个服务(现有服务队列中的最后一个服务)上,若最后一个服务不满足条件,则将不满足的任务移动到空任务服务上。计算所有任务的适应度,适应度为所有被分配任务的服务价格之和。选取适应度最小的两个种群(任务与服务的分配方案),在0到n(服务数量)范围内随机生成两个数值i和j,将从i到j之间的任务分配在两个种群之间进行交换,得到两个新的种群,两个种群再按照初始种群的条件规则进行调整,保证每个服务的最大等待时间小于配置等待时间。重新计算适应度,选择新的最小种群,循环直到迭代次数达到generationSize,返回最终适应度最小数据,SQ为该任务分配所使用到的服务数量。此时需要新增的服务数ASQ=SQ-当前可用服务数,需要增加使用的服务器数量Q=ASQ/每台服务器的服务数量的商的整数部分。
Step4232:当备用服务器数量>=Q时,直接将Q台服务器由备用服务器转为弹性服务器(调用阿里/华为等云服务提供商接口,将备用服务器转为可用,该服务器上的服务会自动注册到调度系统),启动相应服务器上的服务进行任务转换。
Step4233:当备用服务器数量<Q时,将所有备用服务器转为弹性服务器,启动相应服务器上的服务进行任务转换,同时申请一台云服务器作为备用服务器。将配置等待时间改为最大等待时长(配置设定,可调整,这个参数用于减少不必要的服务器启动)配置,采用遗传算法重新计算所需增加的服务数量和服务器数量,若仍需要增加服务器,则直接申请相应数量云服务器作为弹性服务器,并启动服务器上所有服务进行任务转换。
实施例2
图3为本发明实施例2提供的任务调度系统结构示意图。如图3所示,本实施例中的任务调度系统,包括:
第一获取模块201,用于获取目标队列长度和当前的可用服务的数量;目标队列长度为当前待处理任务队列的长度,可用服务包括可用固定服务和可用弹性服务;可用固定服务为固定服务器上的可用服务,可用弹性服务为弹性服务器上的可用服务。
执行模块202,用于若目标队列长度小于可用服务的数量,且当前存在可用弹性服务,则执行第一调度模块;第一调度模块用于执行第一调度过程;若目标队列长度大于或等于可用服务的数量,则执行第二调度过程第二调度模块;第二调度模块用于执行第二调度过程。
其中,第一调度模块,包括:
冻结转换子模块,用于将N个可用弹性服务设置为冻结弹性服务;N为当前的可用服务的数量与目标队列长度差的绝对值。
备用转换子模块,用于将当前服务均为冻结弹性服务的弹性服务器转为备用服务器。
空闲转换子模块,用于若备用服务器的数量大于预设服务器数量,则将R台备用服务器转为当前的空闲服务器;R=备用服务器的数量-预设服务器数量。
第一任务执行子模块,用于利用目标服务器执行当前待处理任务队列中的任务;目标服务器包括具有可用固定服务的固定服务器和除空闲服务器之外的具有可用弹性服务的弹性服务器。
第二调度模块,包括:
可用转换子模块,用于若存在冻结服务,则将N个冻结服务设置为可用服务,更新当前的可用服务的数量,并采用更新后的可用服务对应的固定服务器和对应的弹性服务器执行当前待处理任务队列中的任务。
冻结服务包括冻结固定服务和冻结弹性服务;冻结固定服务为固定服务器上的冻结服务,冻结弹性服务为弹性服务器上的冻结服务。
预计等待时间确定子模块,用于若不存在冻结服务,则确定预计等待时间。
第二任务执行子模块,用于当预计等待时间大于预设等待时间,且当前的备用服务器的数量大于或等于需新增服务数量时,则将Q台备用服务器转换为弹性服务器,并采用具有可用固定服务的固定服务器和更新后的具有可用弹性服务的弹性服务器执行当前待处理任务队列中的任务;Q为当前的备用服务器的数量与需新增服务数量的差;需新增服务数量采用遗传算法确定。
第三任务执行子模块,用于当预计等待时间大于预设等待时间,且当前的备用服务器的数量小于需新增服务数量,则将所有的备用服务器转换为弹性服务器,并增加P台云服务器作为备用服务器,采用具有可用固定服务的固定服务器和更新后的具有可用弹性服务的弹性服务器执行当前待处理任务队列中的任务;P为Q与当前的备用服务器的数量的差。
作为一种可选的实施方式,可用转换子模块,具体包括:
第一获取单元,用于获取待排序可用服务的数量;待排序可用服务为具有冻结服务的固定服务器上的可用服务和具有冻结服务的弹性服务器上的可用服务。
排序单元,用于按照待排序可用服务的数量按照降序的方式对相应的固定服务器和弹性服务器进行排序,得到相应的固定服务器和弹性服务器上的冻结服务序列。
可用转换单元,用于将冻结服务序列中的前N个冻结服务设置为可用服务。
作为一种可选的实施方式,预计等待时间确定子模块,具体包括:
任务队列确定单元,用于按照优先级和预期时间,确定所有待处理任务所在的任务队列。
预计等待时间确定单元,用于将所有待处理任务中的最后一个任务所在的任务队列的总时长确定为预计等待时间。
任务队列确定单元,具体包括:
插入确定子单元,用于将当前待处理任务插入到当前待处理任务队列中,得到插入后的当前待处理任务队列。
计算子单元,用于计算第一总时长和第二总时长;第一总时长为插入后的当前待处理任务队列的总时长,第二总时长为下一待处理任务队列的总时长。
判断子单元,用于判断第一总时长是否大于第二总时长。
第一执行子单元,用于若第一总时长大于第二总时长,则将当前待处理任务插入到下一待处理任务队列中。
第二执行子单元,用于若第一总时长小于或等于第二总时长,则将插入后的当前待处理任务队列确定为当前待处理任务队列。
实施例3
一种电子设备,包括:
一个或多个处理器。
存储装置,其上存储有一个或多个程序。
当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如实施例1中的方法。
实施例4
一种存储介质,其上存储有计算机程序,其中,所述计算机程序被处理器执行时实现如实施例1中的方法。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。
Claims (9)
1.一种任务调度方法,其特征在于,所述方法包括:
获取目标队列长度和当前的可用服务的数量;所述目标队列长度为当前待处理任务队列的长度,所述可用服务包括可用固定服务和可用弹性服务;所述可用固定服务为固定服务器上的可用服务,所述可用弹性服务为弹性服务器上的可用服务;
若所述目标队列长度小于所述可用服务的数量,且当前存在所述可用弹性服务,则执行第一调度过程;若所述目标队列长度大于或等于所述可用服务的数量,则执行第二调度过程;
其中,所述第一调度过程,包括:
将N个所述可用弹性服务设置为冻结弹性服务;N为当前的可用服务的数量与目标队列长度差的绝对值;
将当前服务均为所述冻结弹性服务的弹性服务器转为备用服务器;
若备用服务器的数量大于预设服务器数量,则将R台备用服务器转为当前的空闲服务器;R=备用服务器的数量-预设服务器数量;
利用目标服务器执行所述当前待处理任务队列中的任务;所述目标服务器包括具有可用固定服务的固定服务器和除所述空闲服务器之外的具有可用弹性服务的弹性服务器;
所述第二调度过程,包括:
若存在冻结服务,则将N个冻结服务设置为可用服务,更新当前的可用服务的数量,并采用更新后的可用服务对应的固定服务器和对应的弹性服务器执行所述当前待处理任务队列中的任务;
所述冻结服务包括冻结固定服务和冻结弹性服务;所述冻结固定服务为固定服务器上的冻结服务,所述冻结弹性服务为弹性服务器上的冻结服务;
若不存在冻结服务,则确定预计等待时间;
当所述预计等待时间大于预设等待时间,且当前的备用服务器的数量大于或等于需新增服务器数量时,则将Q台备用服务器转为弹性服务器;Q为采用遗传算法确定的需新增服务器数量;
当所述预计等待时间大于预设等待时间,且当前的备用服务器的数量小于需新增服务器数量时,则将所有备用服务器转为弹性服务器,并申请一台云服务器作为备用服务器;需新增服务器数量采用遗传算法确定。
2.根据权利要求1所述的任务调度方法,其特征在于,所述将N个冻结服务设置为可用服务,具体包括:
获取待排序可用服务的数量;所述待排序可用服务为具有冻结服务的固定服务器上的可用服务和具有冻结服务的弹性服务器上的可用服务;
按照待排序可用服务的数量按照降序的方式对相应的固定服务器和弹性服务器进行排序,得到相应的固定服务器和弹性服务器上的冻结服务序列;
将所述冻结服务序列中的前N个冻结服务设置为可用服务。
3.根据权利要求1所述的任务调度方法,其特征在于,所述确定预计等待时间,具体包括:
按照优先级和预期时间,确定所有待处理任务所在的任务队列;
将所有待处理任务中的最后一个任务所在的任务队列的总时长确定为所述预计等待时间。
4.根据权利要求3所述的任务调度方法,其特征在于,确定任一待处理任务所在的任务队列,具体包括:
计算第一总时长和第二总时长;所述第一总时长为插入待处理任务后的当前待处理任务队列的总时长,所述第二总时长为插入待处理任务后的下一待处理任务队列的总时长;
判断所述第一总时长是否大于所述第二总时长;
若所述第一总时长大于所述第二总时长,则将当前待处理任务队列确定为待处理任务所在的任务队列;
若所述第一总时长小于或等于所述第二总时长,则将下一待处理任务队列确定为待处理任务所在的任务队列。
5.一种任务调度系统,其特征在于,所述系统包括:
第一获取模块,用于获取目标队列长度和当前的可用服务的数量;所述目标队列长度为当前待处理任务队列的长度,所述可用服务包括可用固定服务和可用弹性服务;所述可用固定服务为固定服务器上的可用服务,所述可用弹性服务为弹性服务器上的可用服务;
执行模块,用于若所述目标队列长度小于所述可用服务的数量,且当前存在所述可用弹性服务,则执行第一调度模块;所述第一调度模块用于执行第一调度过程;若所述目标队列长度大于或等于所述可用服务的数量,则执行第二调度过程第二调度模块;所述第二调度模块用于执行第二调度过程;
其中,所述第一调度模块,包括:
冻结转换子模块,用于将N个所述可用弹性服务设置为冻结弹性服务;N为当前的可用服务的数量与目标队列长度差的绝对值;
备用转换子模块,用于将当前服务均为所述冻结弹性服务的弹性服务器转为备用服务器;
空闲转换子模块,用于若备用服务器的数量大于预设服务器数量,则将R台备用服务器转为当前的空闲服务器;R=备用服务器的数量-预设服务器数量;
第一任务执行子模块,用于利用目标服务器执行所述当前待处理任务队列中的任务;所述目标服务器包括具有可用固定服务的固定服务器和除所述空闲服务器之外的具有可用弹性服务的弹性服务器;
所述第二调度模块,包括:
可用转换子模块,用于若存在冻结服务,则将N个冻结服务设置为可用服务,更新当前的可用服务的数量,并采用更新后的可用服务对应的固定服务器和对应的弹性服务器执行所述当前待处理任务队列中的任务;
所述冻结服务包括冻结固定服务和冻结弹性服务;所述冻结固定服务为固定服务器上的冻结服务,所述冻结弹性服务为弹性服务器上的冻结服务;
预计等待时间确定子模块,用于若不存在冻结服务,则确定预计等待时间;
第二任务执行子模块,用于当所述预计等待时间大于预设等待时间,且当前的备用服务器的数量大于或等于需新增服务器数量时,则将Q台备用服务器转为弹性服务器;Q为采用遗传算法确定的需新增服务器数量;
第三任务执行子模块,用于当所述预计等待时间大于预设等待时间,且当前的备用服务器的数量小于需新增服务器数量时,则将所有备用服务器转为弹性服务器,并申请一台云服务器作为备用服务器;需新增服务器数量采用遗传算法确定。
6.根据权利要求5所述的任务调度系统,其特征在于,所述可用转换子模块,具体包括:
第一获取单元,用于获取待排序可用服务的数量;所述待排序可用服务为具有冻结服务的固定服务器上的可用服务和具有冻结服务的弹性服务器上的可用服务;
排序单元,用于按照待排序可用服务的数量按照降序的方式对相应的固定服务器和弹性服务器进行排序,得到相应的固定服务器和弹性服务器上的冻结服务序列;
可用转换单元,用于将所述冻结服务序列中的前N个冻结服务设置为可用服务。
7.根据权利要求5所述的任务调度系统,其特征在于,所述预计等待时间确定子模块,具体包括:
任务队列确定单元,用于按照优先级和预期时间,确定所有待处理任务所在的任务队列;
预计等待时间确定单元,用于将所有待处理任务中的最后一个任务所在的任务队列的总时长确定为所述预计等待时间;
所述任务队列确定单元,具体包括:
插入确定子单元,用于将当前待处理任务插入到所述当前待处理任务队列中,得到插入后的当前待处理任务队列;
计算子单元,用于计算第一总时长和第二总时长;所述第一总时长为插入后的当前待处理任务队列的总时长,所述第二总时长为下一待处理任务队列的总时长;
判断子单元,用于判断所述第一总时长是否大于所述第二总时长;
第一执行子单元,用于若所述第一总时长大于所述第二总时长,则将所述当前待处理任务插入到所述下一待处理任务队列中;
第二执行子单元,用于若所述第一总时长小于或等于所述第二总时长,则将所述插入后的当前待处理任务队列确定为所述当前待处理任务队列。
8.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,其上存储有一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求1至4中任意一项所述的方法。
9.一种存储介质,其特征在于,其上存储有计算机程序,其中,所述计算机程序被处理器执行时实现如权利要求1至4中任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211628977.9A CN115981811B (zh) | 2022-12-19 | 2022-12-19 | 一种任务调度方法、系统、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211628977.9A CN115981811B (zh) | 2022-12-19 | 2022-12-19 | 一种任务调度方法、系统、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115981811A CN115981811A (zh) | 2023-04-18 |
CN115981811B true CN115981811B (zh) | 2024-03-15 |
Family
ID=85975161
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211628977.9A Active CN115981811B (zh) | 2022-12-19 | 2022-12-19 | 一种任务调度方法、系统、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115981811B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105335219A (zh) * | 2014-07-08 | 2016-02-17 | 阿里巴巴集团控股有限公司 | 一种基于分布式的任务调度方法及系统 |
CN109104336A (zh) * | 2018-09-27 | 2018-12-28 | 平安普惠企业管理有限公司 | 服务请求处理方法、装置、计算机设备及存储介质 |
US10581751B1 (en) * | 2015-12-16 | 2020-03-03 | EMC IP Holding Company LLC | Multi-queue based system for throttling backup agent save processes |
CN114650310A (zh) * | 2022-03-11 | 2022-06-21 | 腾讯科技(深圳)有限公司 | 基于物联网的设备控制方法、装置、电子设备及存储介质 |
CN114816715A (zh) * | 2022-05-20 | 2022-07-29 | 中国地质大学(北京) | 一种面向跨地域的流计算延迟优化方法及装置 |
CN115167996A (zh) * | 2022-06-23 | 2022-10-11 | 哲库科技(北京)有限公司 | 调度方法及装置、芯片、电子设备及存储介质 |
CN115426361A (zh) * | 2022-08-30 | 2022-12-02 | 中国工商银行股份有限公司 | 分布式客户端打包方法、装置、主服务器及存储介质 |
-
2022
- 2022-12-19 CN CN202211628977.9A patent/CN115981811B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105335219A (zh) * | 2014-07-08 | 2016-02-17 | 阿里巴巴集团控股有限公司 | 一种基于分布式的任务调度方法及系统 |
US10581751B1 (en) * | 2015-12-16 | 2020-03-03 | EMC IP Holding Company LLC | Multi-queue based system for throttling backup agent save processes |
CN109104336A (zh) * | 2018-09-27 | 2018-12-28 | 平安普惠企业管理有限公司 | 服务请求处理方法、装置、计算机设备及存储介质 |
CN114650310A (zh) * | 2022-03-11 | 2022-06-21 | 腾讯科技(深圳)有限公司 | 基于物联网的设备控制方法、装置、电子设备及存储介质 |
CN114816715A (zh) * | 2022-05-20 | 2022-07-29 | 中国地质大学(北京) | 一种面向跨地域的流计算延迟优化方法及装置 |
CN115167996A (zh) * | 2022-06-23 | 2022-10-11 | 哲库科技(北京)有限公司 | 调度方法及装置、芯片、电子设备及存储介质 |
CN115426361A (zh) * | 2022-08-30 | 2022-12-02 | 中国工商银行股份有限公司 | 分布式客户端打包方法、装置、主服务器及存储介质 |
Non-Patent Citations (2)
Title |
---|
Analysis of a Batch Arrival, Batch Service Queuing-Inventory System with Processing of Inventory While on Vacation;Krishnamoorthy, Achyutha;MATHEMATICS;第9卷(第4期);全文 * |
基于M/M/c休假排队模型的虚拟机调度策略;马占友;郭闪闪;于向然;范佳琦;;西北师范大学学报(自然科学版)(01);25-30 * |
Also Published As
Publication number | Publication date |
---|---|
CN115981811A (zh) | 2023-04-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106919449B (zh) | 一种计算任务的调度控制方法及电子设备 | |
CN104765640B (zh) | 一种智能服务调度方法 | |
CN111381950A (zh) | 一种面向边缘计算环境基于多副本的任务调度方法和系统 | |
WO2013107012A1 (zh) | 分布式计算任务处理系统和任务处理方法 | |
CN104142860A (zh) | 应用服务系统的资源调整方法与装置 | |
CN109361750B (zh) | 资源分配方法、装置、电子设备、存储介质 | |
CN111343288B (zh) | 作业调度方法、系统及计算设备 | |
CN111104211A (zh) | 基于任务依赖的计算卸载方法、系统、设备及介质 | |
Oxley et al. | Makespan and energy robust stochastic static resource allocation of a bag-of-tasks to a heterogeneous computing system | |
CN108304256B (zh) | 一种边缘计算中低开销的任务调度方法及装置 | |
CN104268018A (zh) | 一种Hadoop集群中的作业调度方法和作业调度器 | |
CN112988390A (zh) | 一种算力资源分配方法及装置 | |
CN113626199B (zh) | 闲置云计算资源的管理方法、装置、电子设备和存储介质 | |
CN111367644A (zh) | 一种面向异构融合系统的任务调度方法及装置 | |
CN110908782A (zh) | 一种基于遗传算法优化的封装类分布式作业任务调度方法及系统 | |
CN114265679A (zh) | 数据处理方法、装置和服务器 | |
CN110275765B (zh) | 基于分支dag依赖的数据并行作业调度方法 | |
CN116048721A (zh) | 一种gpu集群的任务分配方法、装置、电子设备和介质 | |
CN115981811B (zh) | 一种任务调度方法、系统、电子设备及存储介质 | |
CN109491775B (zh) | 一种用于边缘计算环境下的任务处理与调度方法 | |
CN112286623B (zh) | 一种信息处理方法及装置、存储介质 | |
CN112163734A (zh) | 基于云平台整定计算资源动态调度方法及装置 | |
CN116302453A (zh) | 量子电子混合平台的任务调度方法及装置 | |
CN115190127A (zh) | 一种算力服务的存证方法、装置及系统 | |
CN115373826A (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 | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: Room 801, Building 2, No. 2570 Hechuan Road, Minhang District, Shanghai, 201101 Applicant after: Hangzhou New Dimension Systems Co.,Ltd. Address before: Room 3008-1, No. 391, Wener Road, Xihu District, Hangzhou, Zhejiang 310000 Applicant before: NEW DIMENSION SYSTEMS Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |