[发明专利]一种基于令牌桶算法的IOPS控制方法及装置有效
申请号: | 201711183823.2 | 申请日: | 2017-11-23 |
公开(公告)号: | CN107959635B | 公开(公告)日: | 2021-04-30 |
发明(设计)人: | 朱行武 | 申请(专利权)人: | 郑州云海信息技术有限公司 |
主分类号: | H04L12/819 | 分类号: | H04L12/819;H04L12/841;H04L29/08 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 罗满 |
地址: | 450018 河南省郑州市*** | 国省代码: | 河南;41 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 令牌 算法 iops 控制 方法 装置 | ||
本发明公开了一种基于令牌桶算法的IOPS控制方法,在Ceph存储集群卷IOPS控制过程中,通过本方案公开的细化时间粒度的令牌桶算法,可以抑制读写压力在IOPS限定值上下波动、读写调度时间过长等随机扰动因素对卷IOPS控制的影响,显著地降低实际IOPS波动幅度,从而提高Ceph存储集群中对卷IOPS控制的鲁棒性及控制精度;本发明还公开了一种基于令牌桶算法的IOPS控制装置、设备及计算机可读存储介质,同样可以实现上述技术效果。
技术领域
本发明涉及IOPS控制技术领域,更具体地说,涉及一种基于令牌桶算法的IOPS控制方法、装置、设备及计算机可读存储介质。
背景技术
目前,Ceph存储集群对卷的一种IOPS控制方法是基于令牌桶算法实现的。具体控制方法如下:IOPS令牌桶中的每一个令牌代表允许进行一次读写操作。当执行一次读写操作时,首先要去IOPS令牌桶中申请一支令牌,如果申请不到,本次读写便会被阻塞,直到获取到对应的令牌后,本次读写才会继续执行。如此,可以通过控制令牌桶的令牌数来控制IOPS。但是这种基于令牌桶算法的Ceph存储集群卷IOPS控制方法,在读写过程中随机扰动因素影响下,实际IOPS控制效果与预期值偏差较大,鲁棒性较差,不适用于实际生产环境。
因此,如何降低在随机扰动因素下IOPS令牌桶中的令牌累积量,从而抑制扰动因素对实际IOPS控制的影响,是本领域技术人员需要解决的问题。
发明内容
本发明的目的在于提供一种基于令牌桶算法的IOPS控制方法、装置、设备及计算机可读存储介质,以降低在随机扰动因素下IOPS令牌桶中的令牌累积量,从而抑制扰动因素对实际IOPS控制的影响。
为实现上述目的,本发明实施例提供了如下技术方案:
一种基于令牌桶算法的IOPS控制方法,包括:
确定每秒内IOPS令牌桶的时间粒度值;
利用所述时间粒度值以及每秒的令牌添加最大值,确定每秒内的时间间隔值及每个时间间隔添加的令牌值;
利用所述每秒的时间间隔值及每个时间间隔添加的令牌值,向所述IOPS令牌桶添加令牌,以在执行存储读写操作时向所述IOPS令牌桶申请令牌。
其中,利用所述时间粒度值以及每秒的令牌添加最大值,确定每秒内的时间间隔值及每个时间间隔添加的令牌值,包括:
利用所述时间粒度值N确定每秒内的时间间隔值1/N;
根据所述时间粒度值N以及每秒的令牌添加最大值V,确定每个时间间隔添加的令牌值V/N。
其中,本方案还包括:
检测所述IOPS令牌桶内的令牌数是否大于最大令牌阈值;
若是,则发出提示信息。
其中,本方案还包括:
确定所述IOPS令牌桶的IOPS最大上浮比率Ratio_MAX;
Ratio_MAX=α/N;其中,α为令牌桶容纳系数,N为时间粒度值N;
若所述IOPS最大上浮比率Ratio_MAX大于预定上浮比率阈值,则按照预定规则调整所述时间粒度值N。
一种基于令牌桶算法的IOPS控制装置,包括:
第一确定模块,用于确定每秒内IOPS令牌桶的时间粒度值;
第二确定模块,用于利用所述时间粒度值以及每秒的令牌添加最大值,确定每秒内的时间间隔值及每个时间间隔添加的令牌值;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于郑州云海信息技术有限公司,未经郑州云海信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711183823.2/2.html,转载请声明来源钻瓜专利网。