一种任务调度方法、系统、电子设备及存储介质技术方案

技术编号:37331514 阅读:11 留言:0更新日期:2023-04-21 23:09
本发明专利技术公开了一种任务调度方法、系统、电子设备及存储介质,涉及任务调度技术领域,所述方法包括:获取目标队列长度和当前的可用服务的数量;目标队列长度为当前待处理任务队列的长度,可用服务包括可用固定服务和可用弹性服务;可用固定服务为固定服务器上的可用服务,可用弹性服务为弹性服务器上的可用服务;若目标队列长度小于可用服务的数量,且当前存在可用弹性服务,则执行第一调度过程;若目标队列长度大于或等于可用服务的数量,则执行第二调度过程。本发明专利技术通过多次判断,根据判断结果对不同服务器上的服务进行调整切换,而不需额外增加大量服务器,提高了服务器资源利用率,减少了用户等待时间,降低了服务器成本。降低了服务器成本。降低了服务器成本。

【技术实现步骤摘要】
一种任务调度方法、系统、电子设备及存储介质


[0001]本专利技术涉及任务调度
,特别是涉及一种任务调度方法、系统、电子设备及存储介质。

技术介绍

[0002]用户通过业务系统上传各种2D模型图纸、3D模型图纸和Office文档,系统需要将这些文件转变为轻量化格式文件方便用户使用浏览器进行预览。其中,文件的转换处理可以看出一个个的任务。随着用户量的稳定增长、转换任务类型的不断增加,任务量也在不断增大。为了保障用户服务质量,面对大量的任务转换需求,我们需要增加大量的服务器来提高任务转换服务,从而保证任务等待时间在用户可接受范围内,这也造成高额的服务器费用。但这种方式不仅未解决高峰时期任务需要等待较长时间的问题,且提高了服务器的成本。

技术实现思路

[0003]本专利技术的目的是提供一种任务调度方法、系统、电子设备及存储介质,减少了高峰时任务等待的时间,降低了服务器的成本。
[0004]为实现上述目的,本专利技术提供了如下方案:
[0005]一种任务调度方法,包括:
[0006]获取目标队列长度和当前的可用服务的数量;所述目标队列长度为当前待处理任务队列的长度,所述可用服务包括可用固定服务和可用弹性服务;所述可用固定服务为固定服务器上的可用服务,所述可用弹性服务为弹性服务器上的可用服务;
[0007]若所述目标队列长度小于所述可用服务的数量,且当前存在所述可用弹性服务,则执行第一调度过程;若所述目标队列长度大于或等于所述可用服务的数量,则执行第二调度过程;
[0008]其中,所述第一调度过程,包括:
[0009]将N个所述可用弹性服务设置为冻结弹性服务;N为当前的可用服务的数量与目标队列长度差的绝对值;
[0010]将当前服务均为所述冻结弹性服务的弹性服务器转为备用服务器;
[0011]若备用服务器的数量大于预设服务器数量,则将R台备用服务器转为当前的空闲服务器;R=备用服务器的数量

预设服务器数量;
[0012]利用目标服务器执行所述当前待处理任务队列中的任务;所述目标服务器包括具有可用固定服务的固定服务器和除所述空闲服务器之外的具有可用弹性服务的弹性服务器;
[0013]所述第二调度过程,包括:
[0014]若存在冻结服务,则将N个冻结服务设置为可用服务,更新当前的可用服务的数量,并采用更新后的可用服务对应的固定服务器和对应的弹性服务器执行所述当前待处理
任务队列中的任务;
[0015]所述冻结服务包括冻结固定服务和冻结弹性服务;所述冻结固定服务为固定服务器上的冻结服务,所述冻结弹性服务为弹性服务器上的冻结服务;
[0016]若不存在冻结服务,则确定预计等待时间;
[0017]当所述预计等待时间大于预设等待时间,且当前的备用服务器的数量大于或等于需新增服务数量时,则将Q台备用服务器转换为弹性服务器,并采用具有可用固定服务的固定服务器和更新后的具有可用弹性服务的弹性服务器执行所述当前待处理任务队列中的任务;Q为当前的备用服务器的数量与所述需新增服务数量的差;所述需新增服务数量采用遗传算法确定;
[0018]当所述预计等待时间大于预设等待时间,且当前的备用服务器的数量小于需新增服务数量,则将所有的备用服务器转换为弹性服务器,并增加P台云服务器作为备用服务器,采用具有可用固定服务的固定服务器和更新后的具有可用弹性服务的弹性服务器执行所述当前待处理任务队列中的任务;P为Q与当前的备用服务器的数量的差。
[0019]可选地,所述将N个冻结服务设置为可用服务,具体包括:
[0020]获取待排序可用服务的数量;所述待排序可用服务为具有冻结服务的固定服务器上的可用服务和具有冻结服务的弹性服务器上的可用服务;
[0021]按照待排序可用服务的数量按照降序的方式对相应的固定服务器和弹性服务器进行排序,得到相应的固定服务器和弹性服务器上的冻结服务序列;
[0022]将所述冻结服务序列中的前N个冻结服务设置为可用服务。
[0023]可选地,所述确定预计等待时间,具体包括:
[0024]按照优先级和预期时间,确定所有待处理任务所在的任务队列;
[0025]将所有待处理任务中的最后一个任务所在的任务队列的总时长确定为所述预计等待时间。
[0026]可选地,确定任一待处理任务所在的任务队列,具体包括:
[0027]计算第一总时长和第二总时长;所述第一总时长为插入待处理任务后的当前待处理任务队列的总时长,所述第二总时长为插入待处理任务后的下一待处理任务队列的总时长;
[0028]判断所述第一总时长是否大于所述第二总时长;
[0029]若所述第一总时长大于所述第二总时长,则将当前待处理任务队列确定为待处理任务所在的任务队列;
[0030]若所述第一总时长小于或等于所述第二总时长,则将下一待处理任务队列确定为待处理任务所在的任务队列。
[0031]一种任务调度系统,包括:
[0032]第一获取模块,用于获取目标队列长度和当前的可用服务的数量;所述目标队列长度为当前待处理任务队列的长度,所述可用服务包括可用固定服务和可用弹性服务;所述可用固定服务为固定服务器上的可用服务,所述可用弹性服务为弹性服务器上的可用服务;
[0033]执行模块,用于若所述目标队列长度小于所述可用服务的数量,且当前存在所述可用弹性服务,则执行第一调度模块;所述第一调度模块用于执行第一调度过程;若所述目
标队列长度大于或等于所述可用服务的数量,则执行第二调度过程第二调度模块;所述第二调度模块用于执行第二调度过程;
[0034]其中,所述第一调度模块,包括:
[0035]冻结转换子模块,用于将N个所述可用弹性服务设置为冻结弹性服务;N为当前的可用服务的数量与目标队列长度差的绝对值;
[0036]备用转换子模块,用于将当前服务均为所述冻结弹性服务的弹性服务器转为备用服务器;
[0037]空闲转换子模块,用于若备用服务器的数量大于预设服务器数量,则将R台备用服务器转为当前的空闲服务器;R=备用服务器的数量

预设服务器数量;
[0038]第一任务执行子模块,用于利用目标服务器执行所述当前待处理任务队列中的任务;所述目标服务器包括具有可用固定服务的固定服务器和除所述空闲服务器之外的具有可用弹性服务的弹性服务器;
[0039]所述第二调度模块,包括:
[0040]可用转换子模块,用于若存在冻结服务,则将N个冻结服务设置为可用服务,更新当前的可用服务的数量,并采用更新后的可用服务对应的固定服务器和对应的弹性服务器执行所述当前待处理任务队列中的任务;
[0041]所述冻结服务包括冻结固定服务和冻结弹性服务;所述冻结固定服务为固定服务器上的冻结服务,所述冻结弹性服务为弹性服务器上的冻结服务;
[0042]预计等待时间确定子模块,用于若不存在冻结服务,则确定预计等本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种任务调度方法,其特征在于,所述方法包括:获取目标队列长度和当前的可用服务的数量;所述目标队列长度为当前待处理任务队列的长度,所述可用服务包括可用固定服务和可用弹性服务;所述可用固定服务为固定服务器上的可用服务,所述可用弹性服务为弹性服务器上的可用服务;若所述目标队列长度小于所述可用服务的数量,且当前存在所述可用弹性服务,则执行第一调度过程;若所述目标队列长度大于或等于所述可用服务的数量,则执行第二调度过程;其中,所述第一调度过程,包括:将N个所述可用弹性服务设置为冻结弹性服务;N为当前的可用服务的数量与目标队列长度差的绝对值;将当前服务均为所述冻结弹性服务的弹性服务器转为备用服务器;若备用服务器的数量大于预设服务器数量,则将R台备用服务器转为当前的空闲服务器;R=备用服务器的数量

预设服务器数量;利用目标服务器执行所述当前待处理任务队列中的任务;所述目标服务器包括具有可用固定服务的固定服务器和除所述空闲服务器之外的具有可用弹性服务的弹性服务器;所述第二调度过程,包括:若存在冻结服务,则将N个冻结服务设置为可用服务,更新当前的可用服务的数量,并采用更新后的可用服务对应的固定服务器和对应的弹性服务器执行所述当前待处理任务队列中的任务;所述冻结服务包括冻结固定服务和冻结弹性服务;所述冻结固定服务为固定服务器上的冻结服务,所述冻结弹性服务为弹性服务器上的冻结服务;若不存在冻结服务,则确定预计等待时间;当所述预计等待时间大于预设等待时间,且当前的备用服务器的数量大于或等于需新增服务数量时,则将Q台备用服务器转换为弹性服务器,并采用具有可用固定服务的固定服务器和更新后的具有可用弹性服务的弹性服务器执行所述当前待处理任务队列中的任务;Q为当前的备用服务器的数量与所述需新增服务数量的差;所述需新增服务数量采用遗传算法确定;当所述预计等待时间大于预设等待时间,且当前的备用服务器的数量小于需新增服务数量,则将所有的备用服务器转换为弹性服务器,并增加P台云服务器作为备用服务器,采用具有可用固定服务的固定服务器和更新后的具有可用弹性服务的弹性服务器执行所述当前待处理任务队列中的任务;P为Q与当前的备用服务器的数量的差。2.根据权利要求1所述的任务调度方法,其特征在于,所述将N个冻结服务设置为可用服务,具体包括:获取待排序可用服务的数量;所述待排序可用服务为具有冻结服务的固定服务器上的可用服务和具有冻结服务的弹性服务器上的可用服务;按照待排序可用服务的数量按照降序的方式对相应的固定服务器和弹性服务器进行排序,得到相应的固定服务器和弹性服务器上的冻结服务序列;将所述冻结服务序列中的前N个冻结服务设置为可用服务。3.根据权利要求1所述的任务调度方法,其特征在于,所述确定预计等待时间,具体包
括:按照优先级和预期时间,确定所有待处理任务所在的任务队列;将所有待处理任务中的最后一个任务所在的任务队列的总时长确定为所述预计等待时间。4.根据权利要求3所述的任务调度方法,其特征在于,确定任一待处理任务所在的任务队列,具体包括:计算第一总时长和第二总时长;所述第一总时长为插入待处理任务后的当前待处理任务队列的总时长,所述第二总时长为插入待处理任务后的下一待处理任务队列的总时长;判断所述第一总时长是否大于所述第二总时长;若所述第一总时长大于所述第二总时长,则将当前待处理任务队列确定为待处理任务所在的任务队列;若所述第一总时长小于或等于所述第二总时长,则将下一待处理任务队列确定为待处理任务所在的任务队列。5.一种任务调度系统,其特征在于,所述系统包括:第一获取模块,用于获取目标队列长度和当前的可用服务的数量;所述目标队列长度为当前待处理任务队列的长度,所述可用服务包括可用固定服务和可用弹性服务;所述可用固定服务为固定服务器上的可用服务,所述可用弹性服务为弹性服务器上的可用服务;执行模块,用于若所述目标队列长度小于所述可用服务的数量,且当前存在所述可用弹性服务,则执行第一调度模块;所述第一调度模块用于执行第一调度...

【专利技术属性】
技术研发人员:曾梦彭维陈志杨
申请(专利权)人:杭州新迪数字工程系统有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1