[发明专利]一种基于多租户云存储的资源管理方法和资源管理系统有效
申请号: | 201810577638.X | 申请日: | 2018-06-07 |
公开(公告)号: | CN110580127B | 公开(公告)日: | 2020-10-16 |
发明(设计)人: | 王芳;冯丹;刘家豪;朱挺炜 | 申请(专利权)人: | 华中科技大学 |
主分类号: | G06F3/06 | 分类号: | G06F3/06 |
代理公司: | 华中科技大学专利中心 42201 | 代理人: | 曹葆青;李智 |
地址: | 430074 湖北*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 租户 存储 资源管理 方法 系统 | ||
1.一种基于多租户云存储的资源管理方法,其特征在于,包括:
(1)根据资源分配策略,得到每一个租户的租户性能需求,并将所有租户的租户性能需求对应地记录在租户所使用的虚拟机镜像文件的元数据内;根据租户性能需求,为每一个虚拟机镜像文件的元数据添加一个令牌桶;
(2)在IO栈的页缓存层,从内存获取被文件IO请求访问的虚拟机镜像文件的索引节点对象,并利用令牌桶算法对内存资源进行调度;完成调度后,将文件IO请求传递到IO栈的文件系统层;
(3)在IO栈的文件系统层,将每一个文件IO请求转换成对应的块IO请求;对于每一个文件IO请求,从内存中获取其所访问的虚拟机镜像文件的索引节点对象,并从中获取租户性能需求,然后将获取到的租户性能需求附加到由该文件IO请求转换得到的每一个块IO请求中;将携带有租户性能需求的块IO请求传递到IO栈的块层;
(4)在IO栈的块层,从块IO请求中获取租户性能需求,并利用令牌桶算法对硬盘资源进行调度;
其中,所述租户性能需求包括租户标记和性能标记,所述租户标记用于唯一标识租户,所述性能标记用于指示对应的租户要求固定吞吐率保障或最小吞吐率保障;所述IO栈为多租户云存储系统中处理读写请求时所需要的各个层次阶段,包括:页缓存层、文件系统层和块层;所述文件IO请求为访问虚拟机镜像文件的IO请求,所述块IO请求为访问硬盘的请求。
2.如权利要求1所述的基于多租户云存储的资源管理方法,其特征在于,所述步骤(1)中,租户性能需求记录在内存中虚拟机镜像文件的索引节点对象中。
3.如权利要求1所述的基于多租户云存储的资源管理方法,其特征在于,所述步骤(1)中,根据租户性能需求,为每一个虚拟机镜像文件的元数据添加的令牌桶生成令牌的速率根据如下规则设定:
若虚拟机镜像文件的元数据中记录的租户性能需求中性能标记指示租户要求吞吐率为T的固定吞吐率保障,则附加于该虚拟机镜像文件的元数据中的令牌桶生成令牌的速率为T;若虚拟机镜像文件的元数据中记录的租户性能需求中性能标记指示租户要求最小吞吐率保障,则附加于该虚拟机镜像文件的元数据中的令牌桶生成令牌的速率足够大以保证该令牌桶总是满的。
4.如权利要求1所述的基于多租户云存储的资源管理方法,其特征在于,所述步骤(2)中,在IO栈的页缓存层,利用令牌桶算法对内存资源进行调度,包括:若文件IO请求为读请求,则访问内存时不消耗令牌;若文件IO请求为写请求,则访问内存时消耗令牌,且消耗的令牌数等于该文件IO请求的大小;若文件IO请求为写请求,且附加于该文件IO请求所访问的虚拟机镜像文件的索引节点对象中的令牌桶中令牌数不足以服务该文件IO请求,则发起该文件IO请求的进程休眠,直至该令牌桶中生成足够的令牌。
5.如权利要求1所述的基于多租户云存储的资源管理方法,其特征在于,所述步骤(4)中,在IO栈的块层根据所获取的租户性能需求利用令牌桶算法对硬盘资源进行调度,包括:
(41)为每一个虚拟机镜像文件构建一个IO队列,用于接收由文件IO请求转换得到的块IO请求;在一个IO队列中,所有块IO请求携带的租户性能需求相同;
(42)为每一个IO队列创建一个令牌桶;无论块IO请求为读请求还是写请求,访问硬盘时均消耗令牌,且消耗的令牌数由底层存储设备的存储机制决定;
(43)获得当前的空闲硬盘资源,并根据IO队列的租户性能需求为IO队列分配硬盘资源:若IO队列的租户性能需求中性能标记指示用户要求吞吐率为T’的固定吞吐率保障,则该IO队列的令牌桶生成令牌的速率为T’;若IO队列的租户性能需求中性能标记指示用户要求吞吐率不低于T”的最小吞吐率保障,则该IO队列的令牌桶生成令牌的速率为T”;若在所有IO队列均分配硬盘资源后还有剩余的空闲硬盘资源,且存在其租户性能需求为要求最小吞吐率保障的IO队列,则将剩余的空闲硬盘资源在具有最小吞吐率要求的IO队列之间按比例分配,分配比例为对应的最小吞吐率之比;
(44)遍历所有的IO队列,若存在其中有块IO请求待处理,且其令牌桶中有足够令牌的IO队列,则选择这些队列进行服务;否则,等待预设的时间间隔后重复执行步骤(44);
其中,所述IO队列的租户性能需求为所述IO队列中块IO请求所携带的租户性能需求。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华中科技大学,未经华中科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810577638.X/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种虚拟键盘和基于虚拟键盘的输入方法
- 下一篇:使用缓存反馈信息指导数据预读