一种队列调度方法、系统、设备以及介质技术方案

技术编号:30641194 阅读:16 留言:0更新日期:2021-11-04 00:37
本发明专利技术公开了一种队列调度方法,包括以下步骤:获取当前所有队列对应的优先级的总和以及资源消耗最大值;根据总和随机得到一个待处理优先级以及根据资源消耗最大值随机得到一个资源消耗阈值;利用待处理优先级对应的队列中的待处理业务所需的资源值乘以预设系数得到资源消耗校正值;比较资源消耗最大值减去资源消耗校正值得到的值与资源消耗阈值的大小;响应于资源消耗最大值减去资源消耗校正值得到的值不大于资源消耗阈值,对待处理业务进行出队处理。本发明专利技术还公开了一种系统、计算机设备以及可读存储介质。本发明专利技术提出的方案保证高优先级的队列可以有较大的概率得到处理,低优先级的队列有较小的概率得到处理。先级的队列有较小的概率得到处理。先级的队列有较小的概率得到处理。

【技术实现步骤摘要】
一种队列调度方法、系统、设备以及介质


[0001]本专利技术涉及存储领域,具体涉及一种队列调度方法、系统、设备以及存储介质。

技术介绍

[0002]现代存储系统作为统一的后端服务,面临的并不是单一的前端业务,不同的业务对业务质量有着不同的需求,存储系统应该具有满足按需满足不同优先级业务需求的能力。传统的基于优先级的队列按照优先级排序出队,在集群的资源可以满足上层需求的时候,此种方式按照优先级出队,优先处理优先级高的业务,当高优先级业务处理完成后继续处理次优先级的业务,对不同级别的业务提供了不同等级的服务。
[0003]一般来讲在存储系统中多优先级业务调度是使用优先级队列(priority queue),即高优先级的业务从业务队列中先出队,低优先级的队列滞后出队,但是当存储系统的业务压力大,而存储系统的资源能力不足的时候,高优先级的业务持续排队,这样低优先级的业务就会获得不到资源,长时间等待资源,在队列中阻塞,在前端看起来就会出现业务长时间延时,客户端请求被饿死的情景。

技术实现思路

[0004]有鉴于此,为了克服上述问题的至少一个方面,本专利技术实施例提出一种队列调度方法,包括以下步骤:
[0005]获取当前所有队列对应的优先级的总和以及资源消耗最大值;
[0006]根据所述总和随机得到一个待处理优先级以及根据所述资源消耗最大值随机得到一个资源消耗阈值;
[0007]利用所述待处理优先级对应的队列中的待处理业务所需的资源值乘以预设系数得到资源消耗校正值;
[0008]比较所述资源消耗最大值减去所述资源消耗校正值得到的值与所述资源消耗阈值的大小;
[0009]响应于所述资源消耗最大值减去所述资源消耗校正值得到的值不大于所述资源消耗阈值,对所述待处理业务进行出队处理。
[0010]在一些实施例中,还包括:
[0011]更新所述待处理优先级对应的队列中的业务数量;
[0012]响应于所述待处理优先级对应的队列中的业务数量为0,将所述待处理优先级对应的队列删除。
[0013]在一些实施例中,还包括:
[0014]响应于所述资源消耗最大值减去所述资源消耗校正值得到的值大于所述资源消耗阈值,重新根据所述总和随机得到一个待处理优先级以及根据所述资源消耗最大值随机得到一个资源消耗阈值,以进行其他队列中待处理业务的出队处理。
[0015]在一些实施例中,还包括:
[0016]响应于接收到业务,基于所述业务所需的资源值确定所述业务对应的优先级,并判断是否存在与所述业务的优先级对应的队列;
[0017]响应于存在与所述业务的优先级对应的队列,将所述业务加入到所述业务的优先级对应的队列中,并更新所述业务的优先级对应的队列中的业务数量。
[0018]在一些实施例中,还包括:
[0019]响应于不存在与所述业务的优先级对应的队列,创建新的队列;
[0020]将所述新的队列的优先级累加到之前所有队列的优先级之和中以得到当前所有队列对应的优先级的总和。
[0021]在一些实施例中,还包括:
[0022]将所述新的队列的存储地址记录到预设位置。
[0023]在一些实施例中,还包括:
[0024]将接收到的所述业务所需的资源值与当前记录的资源消耗最大值进行对比;
[0025]响应于所述业务所需的资源值大于当前记录的资源消耗最大值,利用所述业务所需的资源值更新所述当前记录的资源消耗最大值。
[0026]基于同一专利技术构思,根据本专利技术的另一个方面,本专利技术的实施例还提供了一种队列调度系统,包括:
[0027]获取模块,配置为获取当前所有队列对应的优先级的总和以及资源消耗最大值;
[0028]随机模块,配置为根据所述总和随机得到一个待处理优先级以及根据所述资源消耗最大值随机得到一个资源消耗阈值;
[0029]计算模块,配置为利用所述待处理优先级对应的队列中的待处理业务所需的资源乘以预设系数得到资源消耗校正值;
[0030]判断模块,配置为比较所述资源消耗最大值减去所述资源消耗校正值得到的值与所述资源消耗阈值的大小;
[0031]处理模块,配置为响应于所述资源消耗最大值减去所述资源消耗校正值得到的值不大于所述资源消耗阈值,对所述待处理业务进行出队处理。
[0032]基于同一专利技术构思,根据本专利技术的另一个方面,本专利技术的实施例还提供了一种计算机设备,包括:
[0033]至少一个处理器;以及
[0034]存储器,所述存储器存储有可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时执行如上所述的任一种队列调度方法的步骤。
[0035]基于同一专利技术构思,根据本专利技术的另一个方面,本专利技术的实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时执行如上所述的任一种队列调度方法的步骤。
[0036]本专利技术具有以下有益技术效果之一:本专利技术提出的方案通过加权随机和资源消耗统计实现了所有级别的业务都能够在一定概率上得到处理,同时业务得到处理的机会和其所在的权重成正相关,即保证高优先级的队列可以有较大的概率得到处理,低优先级的队列有较小的概率得到处理。这样不仅能够对不同等级的服务提供不同等级的服务,同时也能够保证在存储系统中低优先级的业务也能够获得资源,不会无限期长时间阻塞,低优先级客户端被饿死。
附图说明
[0037]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。
[0038]图1为本专利技术的实施例提供的队列调度方法的流程示意图;
[0039]图2为本专利技术的实施例提供的队列调度系统的结构示意图;
[0040]图3为本专利技术的实施例提供的计算机设备的结构示意图;
[0041]图4为本专利技术的实施例提供的计算机可读存储介质的结构示意图。
具体实施方式
[0042]为使本专利技术的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本专利技术实施例进一步详细说明。
[0043]需要说明的是,本专利技术实施例中所有使用“第一”和“第二”的表述均是为了区分两个相同名称非相同的实体或者非相同的参量,可见“第一”“第二”仅为了表述的方便,不应理解为对本专利技术实施例的限定,后续实施例对此不再一一说明。
[0044]根据本专利技术的一个方面,本专利技术的实施例提出一种队列调度方法,如图1所示,其可以包括步骤:
[0045]S1,获取当前所有队列对应的优先级的总和以及资源消耗最大值;
[0046]S2,根据所述总和随机得到一个待处理优先级以及根据所述资源消耗最大值随机得到一个资源消耗阈值;
[0047]S3本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种队列调度方法,其特征在于,包括以下步骤:获取当前所有队列对应的优先级的总和以及资源消耗最大值;根据所述总和随机得到一个待处理优先级以及根据所述资源消耗最大值随机得到一个资源消耗阈值;利用所述待处理优先级对应的队列中的待处理业务所需的资源值乘以预设系数得到资源消耗校正值;比较所述资源消耗最大值减去所述资源消耗校正值得到的值与所述资源消耗阈值的大小;响应于所述资源消耗最大值减去所述资源消耗校正值得到的值不大于所述资源消耗阈值,对所述待处理业务进行出队处理。2.如权利要求1所述的方法,其特征在于,还包括:更新所述待处理优先级对应的队列中的业务数量;响应于所述待处理优先级对应的队列中的业务数量为0,将所述待处理优先级对应的队列删除。3.如权利要求1所述的方法,其特征在于,还包括:响应于所述资源消耗最大值减去所述资源消耗校正值得到的值大于所述资源消耗阈值,重新根据所述总和随机得到一个待处理优先级以及根据所述资源消耗最大值随机得到一个资源消耗阈值,以进行其他队列中待处理业务的出队处理。4.如权利要求1所述的方法,其特征在于,还包括:响应于接收到业务,基于所述业务所需的资源值确定所述业务对应的优先级,并判断是否存在与所述业务的优先级对应的队列;响应于存在与所述业务的优先级对应的队列,将所述业务加入到所述业务的优先级对应的队列中,并更新所述业务的优先级对应的队列中的业务数量。5.如权利要求4所述的方法,其特征在于,还包括:响应于不存在与所述业务的优先级对应的队列,创建新的队列;将所述新的队列的优先级累加到之前所有队...

【专利技术属性】
技术研发人员:于猛孟祥瑞
申请(专利权)人:济南浪潮数据技术有限公司
类型:发明
国别省市:

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

1