一种细粒度的存储服务质量控制实现方法与流程

文档序号:34974472发布日期:2023-08-01 20:41阅读:28来源:国知局
一种细粒度的存储服务质量控制实现方法与流程

本发明属于网络文件存储,具体涉及一种细粒度的存储服务质量控制实现方法。


背景技术:

1、随着网络文件系统的不断发展,对网络文件存储的需求也在不断升高,多种网络文件系统之间相互隔离,经常出现某一个目录的资源占用过高,从而导致访问其他目录卡顿。


技术实现思路

1、针对现有技术存在的缺陷,本发明提供一种细粒度的存储服务质量控制实现方法,可有效解决上述问题。

2、本发明采用的技术方案如下:

3、本发明提供一种细粒度的存储服务质量控制实现方法,包括以下步骤:

4、步骤1,在文件系统层设置服务质量策略文件;所述服务质量策略文件用于存储文件系统中每个目录的服务质量策略;所述服务质量策略包括n种服务质量项的最大限值;其中,n种服务质量项分别表示为:第1种服务质量项,第2种服务质量项,…,第n种服务质量项;

5、步骤2,在文件系统层,分别设置与每种服务质量项对应的滑动窗口,因此,共设置n个滑动窗口,分别为:与第1种服务质量项对应的第1滑动窗口,与第2种服务质量项对应的第2滑动窗口,…,与第n种服务质量项对应的第n滑动窗口;

6、其中,对于任意第i滑动窗口,i=1,2,…,n,采用定时器控制其滑动窗口总存储资源,即:当达到定时器的定时时间时,即达到一个滑动窗口时间周期时,向第i滑动窗口分配滑动窗口总存储资源,并且,滑动窗口总存储资源与对应的第i种服务质量项的最大限值相同;

7、步骤3,在文件系统层,设置服务质量qos控制模块,所述服务质量qos控制模块捕获对文件系统中各个目录的目录操作请求,其中,每个目录操作请求中携带有目录id、本次请求的服务质量项以及本次的存储资源请求值;

8、所述服务质量qos控制模块将捕获到的目录操作请求按时间顺序排队,形成总等待队列;

9、步骤4,所述服务质量qos控制模块判断当前是否开启服务质量qos开关,如果未开启,则结束流程;如果开启,则执行步骤5;

10、步骤5,所述服务质量qos控制模块从所述总等待队列中,按设定时间间隔读取队头的目录操作请求,得到目录id;对于读取到的每个目录id,均执行步骤6;

11、步骤6,所述服务质量qos控制模块对读取到的每个目录id,均执行步骤6.1-步骤6.2;

12、步骤6.1,所述服务质量qos控制模块根据所述目录id查找所述服务质量策略文件,判断所述服务质量策略文件中,是否存在对该目录id对应的目录的服务质量策略,如果不存在,则直接执行所述目录操作请求,结束流程;如果存在,则执行步骤6.2;

13、步骤6.2,所述服务质量qos控制模块根据查找到的对该目录id对应的目录的服务质量策略,确定与查找到的所述服务质量策略相关的滑动窗口,假设有m个相关的滑动窗口,其中,m小于等于n;

14、所述服务质量qos控制模块,使所述目录操作请求依次通过m个相关的滑动窗口,然后再执行所述目录操作请求,结束流程;

15、其中,所述目录操作请求通过m个相关的滑动窗口中的任意一个滑动窗口时,设为第j滑动窗口,其中,j=1,2,…,m,通过方法为:

16、所述服务质量qos控制模块,判断第j滑动窗口在当前滑动窗口时间周期的剩余存储资源,是否大于等于所述目录操作请求的存储资源请求值,如果是,则执行所述目录操作请求,并用第j滑动窗口在当前滑动窗口时间周期的剩余存储资源减去所述目录操作请求的存储资源请求值,作为第j滑动窗口在当前滑动窗口时间周期的剩余存储资源,结束流程;如果否,则将所述目录操作请求加入到第j滑动窗口对应的第j滑动窗口队列中,等待定时器定时到下一个滑动窗口时间周期;

17、当达到下一个滑动窗口时间周期,第j滑动窗口重新获得滑动窗口总存储资源,激活第j滑动窗口队列,按序处理第j滑动窗口队列中的各个目录操作请求,直到处理完成本次的目录操作请求,目录操作请求。

18、优选的,所述服务质量策略文件采用哈希hash表形式,哈希hash表的键key为目录id,值value为服务质量策略。

19、优选的,所述服务质量项包括每秒读次数、每秒写次数、每秒读写次数、每秒读带宽值、每秒写带宽值和每秒读写带宽值。

20、优选的,当所述目录操作请求为读请求时,需要通过每秒读次数对应的滑动窗口、每秒读写次数对应的滑动窗口、每秒读带宽值对应的滑动窗口以及每秒读写带宽值对应的滑动窗口;

21、当所述目录操作请求为写请求时,需要通过每秒写次数对应的滑动窗口、每秒读写次数对应的滑动窗口、每秒写带宽值对应的滑动窗口以及每秒读写带宽值对应的滑动窗口。

22、优选的,当达到定时器的定时时间时,即达到一个滑动窗口时间周期时,向第i滑动窗口分配滑动窗口总存储资源,具体为:

23、当达到滑动窗口时间周期的时间起点时,立刻将滑动窗口总存储资源全部分配给第i滑动窗口;

24、或者

25、当达到滑动窗口时间周期时,在该滑动窗口时间周期内,逐步将滑动窗口总存储资源分配给第i滑动窗口。

26、优选的,所述服务质量qos控制模块设置于内核层。

27、本发明提供的一种细粒度的存储服务质量控制实现方法具有以下优点:

28、本发明提供一种细粒度的存储服务质量控制实现方法,结合底层文件系统,利用滑动窗口技术,实现对目录资源的带宽和iops精准控制,避免了对某一个目录资源的过高使用,同时也避免了高并发的瞬时压力,提高文件系统使用体验。



技术特征:

1.一种细粒度的存储服务质量控制实现方法,其特征在于,包括以下步骤:

2.根据权利要求1所述的一种细粒度的存储服务质量控制实现方法,其特征在于,所述服务质量策略文件采用哈希hash表形式,哈希hash表的键key为目录id,值value为服务质量策略。

3.根据权利要求1所述的一种细粒度的存储服务质量控制实现方法,其特征在于,所述服务质量项包括每秒读次数、每秒写次数、每秒读写次数、每秒读带宽值、每秒写带宽值和每秒读写带宽值。

4.根据权利要求3所述的一种细粒度的存储服务质量控制实现方法,其特征在于,当所述目录操作请求为读请求时,需要通过每秒读次数对应的滑动窗口、每秒读写次数对应的滑动窗口、每秒读带宽值对应的滑动窗口以及每秒读写带宽值对应的滑动窗口;

5.根据权利要求1所述的一种细粒度的存储服务质量控制实现方法,其特征在于,当达到定时器的定时时间时,即达到一个滑动窗口时间周期时,向第i滑动窗口分配滑动窗口总存储资源,具体为:

6.根据权利要求1所述的一种细粒度的存储服务质量控制实现方法,其特征在于,所述服务质量qos控制模块设置于内核层。


技术总结
本发明提供一种细粒度的存储服务质量控制实现方法,包括:服务质量Qos控制模块捕获目录操作请求,对读取到的每个目录操作请求的目录ID,查找对应的目录的服务质量策略,确定与查找到的服务质量策略相关的滑动窗口,使目录操作请求依次通过相关的滑动窗口,然后再执行目录操作请求。本发明提供一种细粒度的存储服务质量控制实现方法,结合底层文件系统,利用滑动窗口技术,实现对目录资源的带宽和iops精准控制,避免了对某一个目录资源的过高使用,同时也避免了高并发的瞬时压力,提高文件系统使用体验。

技术研发人员:李温冲,刘鹏博,马龙飞
受保护的技术使用者:北京睿芯高通量科技有限公司
技术研发日:
技术公布日:2024/1/13
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1