一种任务队列的动态调整方法、装置及存储介质制造方法及图纸

技术编号:38130426 阅读:11 留言:0更新日期:2023-07-08 09:37
本发明专利技术提出一种任务队列的动态调整方法、装置及存储介质,涉及计算机任务处理技术领域。该方法包括:在服务器的当前任务处理周期内,记录该当前任务处理周期内新提交任务的提交时间和已有任务的完成时间,将提交时间及完成时间记录到各任务队列状态中,在当前任务周期结束后获取各任务队列接收的任务总数量M、平均每台服务器过去一个周期完成任务数量d及平均每台服务器过去一个周期的实际工作时间t,基于此计算下一个任务处理周期中的k的更新值,基于k的更新值将n个队列更新为k的更新值个第一队列,n

【技术实现步骤摘要】
一种任务队列的动态调整方法、装置及存储介质


[0001]本专利技术涉及计算机任务处理
,具体涉及一种任务队列的动态调整方法、装置及存储介质。

技术介绍

[0002]在SaaS服务中,用户会产生一些计划任务的需求,在服务器处理速度有限的情况下,因为不能丢弃客户的任务,引入了队列的方式,让任务逐渐的执行,保证了所有任务都最终都可以执行完毕。但引用队列后,通常会遇到一个问题:某些任务的需求复杂度比较高从而导致后续的任务被这个任务堵塞,如点击按钮反应迟钝,查询结果超时等等。为了保障这种急需响应的任务不被拥塞,现有技术的解决方案是:1.通过算法有限调度任务,使得正常任务进入队列后得到一个比较合理的优先权,从而有超过慢任务先执行的可能;2.动态增加服务器的数量,在任务多的时候增加服务器的数量,保证所有任务都可以尽快执行;3.采用人工神经网络进行预测下一周期的任务调度参数。
[0003]方案1基于调度算法,与之同时带来的结果是系统实现复杂,需要额外的资源来实时计算最优先任务,并且要考饥饿等诸多情况,需要各部件之间高速通信和共享相关变量。这在分布式系统中是难以实现的。
[0004]方案2需要服务器数量支撑,但服务器数量代表成本,因此并不是一个优先权很高的选择。
[0005]方案3需要采集大量的历史数据进行神经网络的训练,神经网络训练本身就耗费资源,整体上来讲,系统性能可能不升反降。

技术实现思路

[0006]本专利技术针对上述现有技术中一个或多个技术缺陷,提出了如下技术方案。
[0007]一种任务队列的动态调整方法,该方法包括:获取步骤,在服务器的当前任务处理周期内,记录该当前任务处理周期内新提交任务的提交时间和已有任务的完成时间,将所述提交时间及完成时间记录到各任务队列状态中,在当前任务周期结束后获取各任务队列接收的任务总数量M、平均每台服务器过去一个周期完成任务数量d及平均每台服务器过去一个周期的实际工作时间t,所述各任务队列共有n个队列,每个服务器对应一个任务队列,其中,n个队列中具有k个第一队列,n

k个第二队列;预测步骤,基于所述任务总数量M、平均每台服务器过去一个周期完成任务数量d及平均每台服务器过去一个周期的实际工作时间t计算下一个任务处理周期中的第一队列的数量k的更新值;调整步骤,基于所述k的更新值将所述n个队列更新为k的更新值个第一队列,n

k
的更新值个第二队列;调度步骤,服务器对k的更新值个第一队列以及n

k的更新值个第二队列中的任务进行调度执行。
[0008]更进一步地,所述第一队列中的任务执行时间要求高于第二队列中的任务执行时间。
[0009]更进一步地,所述第一队列中的任务执行需要的计算资源小于第二队列中的任务执行需要的计算资源。
[0010]更进一步地,所述预测步骤的具体操作为:计算,,其中,λ表示平均每台服务器接收到的任务数量,μ表示平均每台服务器处理掉的任务数量,T表示一个任务处理周期的时间;计算中间参数,,i=1、2
……
k;计算中间参数,并将、保存在对应的数组中;计算中间参数:,;计算第一队列的任务平均等待时间:;计算第二队列的任务平均等待时间:;其中,ρ表示工作因子;随后计算不同k值情况下的值,找到一个最小的,所述最小的对应的k为k的更新值。
[0011]更进一步地,所述的计算方式为:,其中,f表示允许第二队列的任务等待时间是第一队列的任务等待时间的倍数。
[0012]本专利技术还提出了一种任务队列的动态调整装置,该装置包括:获取单元,在服务器的当前任务处理周期内,记录该当前任务处理周期内新提交任务的提交时间和已有任务的完成时间,将所述提交时间及完成时间记录到各任务队列状态中,在当前任务周期结束后获取各任务队列接收的任务总数量M、平均每台服务器过去一个周期完成任务数量d及平均每台服务器过去一个周期的实际工作时间t,所述各任务队列共有n个队列,每个服务器对应一个任务队列,其中,n个队列中具有k个第一队列,n

k个第
二队列;预测单元,基于所述任务总数量M、平均每台服务器过去一个周期完成任务数量d及平均每台服务器过去一个周期的实际工作时间t计算下一个任务处理周期中的第一队列的数量k的更新值;调整单元,基于所述k的更新值将所述n个队列更新为k的更新值个第一队列,n

k的更新值个第二队列;调度单元,服务器对k的更新值个第一队列以及n

k的更新值个第二队列中的任务进行调度执行。
[0013]更进一步地,所述第一队列中的任务执行时间要求高于第二队列中的任务执行时间。
[0014]更进一步地,所述第一队列中的任务执行需要的计算资源小于第二队列中的任务执行需要的计算资源。
[0015]更进一步地,所述预测单元执行的具体操作为:计算,,其中,λ表示平均每台服务器接收到的任务数量,μ表示平均每台服务器处理掉的任务数量,T表示一个任务处理周期的时间;计算中间参数,,i=1、2
……
k;计算中间参数,并将、保存在对应的数组中;计算中间参数:,;计算第一队列的任务平均等待时间:;计算第二队列的任务平均等待时间:;其中,ρ表示工作因子;随后计算不同k值情况下的值,找到一个最小的,所述最小的对应的k为k的更新值。
[0016]更进一步地,所述的计算方式为:,其中,f表示允许第二队列的任务等待时间是第一队列的任务等待时间的倍数。
[0017]本专利技术还提出了一种计算机可读存储介质,所述存储介质上存储有计算机程序代
码,当所述计算机程序代码被计算机执行时执行上述之任一的方法。
[0018]本专利技术的技术效果在于:本专利技术的一种任务队列的动态调整方法、装置及存储介质,该方法包括:获取步骤S101,在服务器的当前任务处理周期内,记录该当前任务处理周期内新提交任务的提交时间和已有任务的完成时间,将所述提交时间及完成时间记录到各任务队列状态中,在当前任务周期结束后获取各任务队列接收的任务总数量M、平均每台服务器过去一个周期完成任务数量d及平均每台服务器过去一个周期的实际工作时间t,所述任务队列共有n个队列,每个服务器对应一个任务队列,其中,n个队列中具有k个第一队列,n

k个第二队列,n、k均为整数,1<k<n;预测步骤S102,基于所述任务总数量、平均每台服务器过去一个周期完成任务数量d及平均每台服务器过去一个周期的实际工作时间t计算下一个任务处理周期中的第一队列的数量k的更新值;调整步骤S103,基于所述k的更新值将所述n个队列更新为k的更新值个第一队列,n

k的更新值个第二队列;调度步骤S104,服务器对k的更新值个第一队列以及n

k的更新值个第二队列中的任务进行调度执行。本专利技术中,在当前任务周期结束后获取各任务队列接收的任务总数量M、平均每台服务器过去一个周期完成任务数量d本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种任务队列的动态调整方法,其特征在于,该方法包括:获取步骤,在服务器的当前任务处理周期内,记录该当前任务处理周期内新提交任务的提交时间和已有任务的完成时间,将所述提交时间及所述完成时间记录到各任务队列状态中,在当前任务周期结束后获取各任务队列接收的任务总数量M、平均每台服务器过去一个周期完成任务数量d及平均每台服务器过去一个周期的实际工作时间t,所述各任务队列共有n个队列,每个服务器对应一个任务队列,其中,n个队列中具有k个第一队列,n

k个第二队列;预测步骤,基于所述任务总数量M、平均每台服务器过去一个周期完成任务数量d及平均每台服务器过去一个周期的实际工作时间t,计算下一个任务处理周期中的第一队列的数量k的更新值;调整步骤,基于所述k的更新值将所述n个队列更新为k的更新值个第一队列,n

k的更新值个第二队列;调度步骤,服务器对k的更新值个第一队列以及n

k的更新值个第二队列中的任务进行调度执行。2.根据权利要求1所述的方法,其特征在于,所述第一队列中的任务执行时间要求高于第二队列中的任务执行时间。3.根据权利要求2所述的方法,其特征在于,所述第一队列中的任务执行需要的计算资源小于第二队列中的任务执行需要的计算资源。4.根据权利要求3所述的方法,其特征在于,所述预测步骤的具体操作为:计算,其中,λ表示平均每台服务器接收到的任务数量,μ表示平均每台服务器处理掉的任务数量,T表示一个任务处理周期的时间;计算中间参数,,i=1、2
……
k;计算中间参数,并将、保存在对应的数组中;计算中间参数:,;计算第一队列的任务平均等待时间:;计算第二队列的任务平均等待时间:;其中,ρ表示工作因子;随后计算不同k值情况下的值,找到一个最小的,所述最小的对应的k为k的更
新值。5.根据权利要求4所述的方法,其特征在于,所述的计算方式为:,其中,f表示允许第二队列的任务等待时间是第一队列的任务等待时间的倍数。6.一种任务队列的动态调整装置...

【专利技术属性】
技术研发人员:吴俊文涂定凡
申请(专利权)人:北京纷扬科技有限责任公司
类型:发明
国别省市:

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

1