在分层配额系统中管理资源分配的方法和装置的制造方法

文档序号:8430596阅读:406来源:国知局
在分层配额系统中管理资源分配的方法和装置的制造方法
【技术领域】
[0001] 本发明的各实施方式涉及分层配额系统,并且更具体地,涉及在分层配额系统中 管理资源分配的方法和装置。
【背景技术】
[0002] 在计算机领域中,配额(quota)是一种用于跟踪和控制节点上的各个实体对资源 的消耗的机制,以防止资源的过度消耗、同时进行资源分配的统计和汇报。所述资源例如可 以是磁盘空间、存储器、CPU等。所述实体例如可以是个体用户、组织、进程等。所述节点的 示例包括云服务提供者、集群系统、单个文件系统、目录等。为了跟踪和控制节点上各个实 体对资源的消耗,通常为节点配置配额属性,配置有配额属性的节点因而被称作配额节点。 进而,由若干个配额节点按照定义良好的依赖层级构成的系统被称作分层(hierarchical) 配额系统。分层配额系统的示例包括分布式文件系统(包括若干单个文件系统)、嵌套的配 额目录节点(包含在其他配额目录内的配额目录)、云服务系统等。
[0003] 图1示出了分层配额系统100的一个示例性架构。图1所示的分层配额系统100 具有树形架构,其包括配额节点P 110、配额节点C1 111、配额节点C2 112、配额节点CC3 113。配额节点P 110分别是配额节点Cl 111和配额节点C2 112的父节点,配额节点C1 111是配额节点CC3 113的父节点。然而,在本申请中,配额节点P 110也被称为与配额节 点Cl 111和配额节点C2 112直接关联的上层节点,配额节点Cl 111被称为与配额节点 CC3 113直接关联的上层节点。可以理解,分层配额系统100可以进一步包括与配额节点P 110直接关联的上层节点、与配额节点CC3 113直接关联的下层节点等。为了简化图示,图 1仅示出了分层配额系统的一部分。
[0004] 在分层配额系统中,每个配额节点负责跟踪和控制其自身上的资源消耗以及其下 层所有直接或间接关联的配额节点上的资源消耗。每个配额节点具有相应的配额数据库 (database,DB),以跟踪及控制在该配额节点树上消耗资源的用户的资源分配情况。在配额 数据库中,针对每个被分配资源的用户创建一条配额数据库记录。表1示出了用于分层配 额系统的配额数据库记录的一种示例性结构。
[0005]表1
[0006]
【主权项】
1. 一种在分层配额系统中管理资源分配的方法,所述分层配额管理系统包括自上而下 的n层配额节点,n是大于1的正整数,所述方法包括: 在第i层配额节点中的第一配额节点处,响应于接收到来自用户的资源分配请求,确 定所请求的资源的量是否超过了系统管理员在所述第一配额节点处设置的第一配额,其中 i是大于1且小于等于n的正整数; 如果没有超过所述第一配额,则确定是否持有针对所述第一配额节点的配额代理; 如果确定持有针对所述第一配额节点的配额代理,则进一步确定所请求的资源的量是 否超过了针对所述第一配额节点的配额代理所指定的第二配额;以及 如果所请求的资源的量未超过所述第二配额,则向所述用户分配所请求的资源。
2. 根据权利要求1所述的方法,其中向所述用户分配所请求的资源包括: 从所述第一配额及所述第二配额中扣除已分配的资源的量,以更新所述第一配额及所 述第二配额;以及 更新已向所述用户分配的资源的量。
3. 根据权利要求1所述的方法,进一步包括: 如果确定不持有针对所述第一配额节点的配额代理,则创建用于获取所述配额代理的 第一配额代理申请请求,所述第一配额代理申请请求至少包含所述用户标识符、第一最小 份额请求值、及第一最大份额请求值,其中,所述第一最小份额请求值指示所述用户所请求 的资源的量,以及所述第一最大份额请求值指示所述第一配额;以及 向第i-1层配额节点中与所述第一配额节点直接关联的第二配额节点发送所述第一 配额代理申请请求。
4. 根据权利要求3所述的方法,进一步包括: (a) 所述第二配额节点响应于接收到所述请求,确定是否持有针对所述第二配额节点 的配额代理; (b) 如果所述第二配额节点不持有针对所述第二配额节点的配额代理,则向第i-2层 配额节点中与所述第二配额节点直接关联的第三配额节点发送用于获取针对所述第二配 额节点的配额代理的请求; (c) 如果所述第二配额节点持有针对所述第二配额节点的配额代理,则向所述第一配 额节点发送响应,以授予针对所述第一配额节点的配额代理。
5. 根据权利要求4所述的方法,其中所述步骤(b)迭代地执行,直至第1层配额节点中 与所述第二配额节点关联的配额节点为止;并且 其中,所述第1层配额节点响应于所有与之相关联的第2层配额节点的配额代理申请 请求,从其第一配额中为所述配额代理申请请求划分所请求的份额。
6. 根据权利要求1至5中任一项所述的方法,其中在所述n层配额节点中的每个配额 节点处维护针对相应用户的配额数据库记录,所述配额数据库记录至少包括如下字段: 用户标识符字段,被配置为标识所述配额数据库记录所针对的用户; 配额字段,包括由系统管理员设置的所述第一配额和由配额代理指定的所述第二配 额;所述第二配额小于等于所述第一配额; 资源使用量字段,被配置为向量字段以指示在当前配额节点以及与所述当前配额节点 关联的下层配额节点上实际分配的资源的量; 代理标记字段,被配置为向量字段以指示是否向与所述当前配额节点直接关联的每个 下层配额节点授予了配额代理、以及所述配额代理的状态;以及 预留份额字段,被配置为向量字段以指示从所述第一配额及所述第二配额中为每个持 有所述配额代理的下层配额节点预留的份额。
7. 根据权利要求6所述的方法,其中所述配额代理的状态包括以下状态之一:未授予、 已授予和已废除。
8. 根据权利要求7所述的方法,其中确定持有针对所述第二配额节点的配额代理包 括: 在所述第二配额节点处查找本地针对所述用户的配额数据库记录,以确定本地针对所 述用户的配额数据库记录的配额字段是否包括有效的第二配额。
9. 根据权利要求8所述的方法,其中所述步骤(c)包括: 如果在所述第二配额节点处确定本地针对所述用户的配额数据库记录的配额字段包 括有效的第二配额,则从所述第一配额和所述第二配额中划分为所述第一配额节点预留的 份额,所述预留的份额大于等于所述第一最小份额请求值、且小于等于所述第一最大份额 请求值。
10. 根据权利要求9所述的方法,其中所述步骤(c)还包括: 创建第一临时配额数据库记录,其中所述第一临时配额数据库记录至少包含所述用户 标识符和为所述第一配额节点预留的所述份额;以及 向所述第一配额节点发送所述第一临时配额数据库记录。
11. 根据权利要求10所述的方法,进一步包括: 所述第一配额节点响应于接收到所述第一临时配额数据库记录,将为所述第一配额节 点预留的所述份额作为本地针对所述用户的配额数据库记录的配额字段中的第二配额缓 存到所述配额字段中。
12. 根据权利要求11所述的方法,其中确定所述用户所请求的资源的量是否超过了针 对所述第一配额节点的配额代理所指定的配额包括: 确定所请求的资源的量是否超过了所述第一配额节点本地针对所述用户的配额数据 库记录的配额字段中的第二配额; 如果所请求的资源的量超过了所述第二配额,则进一步确定所述第一配额节点是否向 与其直接关联的第i+1层配额节点授予了配额代理;以及 如果所述第一配额节点没有向任何与其直接关联的第i+1层配额节点授予配额代理, 则所述第一配额节点向所述第二配额节点发送用于调整所述第二配额的第一配额代理调 整请求;所述第一配额代理调整请求至少包含所述用户标识符、第二最小份额请求值、及第 二最大份额请求值;其中所述第二最小份额请求值为所述用户所请求的资源的量与所述第 一配额节点本地针对所述用户的配额数据库记录的配额字段中的所述第二配额之差,所述 第
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1