CN104750558A - 在分层配额系统中管理资源分配的方法和装置 - Google Patents

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

Info

Publication number
CN104750558A
CN104750558A CN201310756078.1A CN201310756078A CN104750558A CN 104750558 A CN104750558 A CN 104750558A CN 201310756078 A CN201310756078 A CN 201310756078A CN 104750558 A CN104750558 A CN 104750558A
Authority
CN
China
Prior art keywords
quota
node
agency
user
quota node
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201310756078.1A
Other languages
English (en)
Other versions
CN104750558B (zh
Inventor
肖春君
易明
郭昭辉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
EMC Corp
Original Assignee
EMC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by EMC Corp filed Critical EMC Corp
Priority to CN201310756078.1A priority Critical patent/CN104750558B/zh
Priority to US14/584,337 priority patent/US11003497B2/en
Publication of CN104750558A publication Critical patent/CN104750558A/zh
Application granted granted Critical
Publication of CN104750558B publication Critical patent/CN104750558B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/504Resource capping
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)

Abstract

本申请的实施方式提供了一种在分层配额系统中管理资源分配的方法和装置,分层配额管理系统包括自上而下的n层配额节点,n是大于1的正整数。该方法包括:在第i层配额节点中的第一配额节点处,响应于接收到来自用户的资源分配请求,确定所请求的资源的量是否超过了系统管理员在第一配额节点处设置的第一配额;如果没有超过第一配额,则确定是否具有针对第一配额节点的配额代理;如果确定具有配额代理,则确定所请求的资源的量是否超过了针对第一配额节点的配额代理所指定的第二配额;以及如果所请求的资源的量未超过第二配额,则向用户分配所请求的资源。采用本发明的实施方式,可以在资源分配过程中减少配额节点之间的通信,提高系统吞吐量。

Description

在分层配额系统中管理资源分配的方法和装置
技术领域
本发明的各实施方式涉及分层配额系统,并且更具体地,涉及在分层配额系统中管理资源分配的方法和装置。
背景技术
在计算机领域中,配额(quota)是一种用于跟踪和控制节点上的各个实体对资源的消耗的机制,以防止资源的过度消耗、同时进行资源分配的统计和汇报。所述资源例如可以是磁盘空间、存储器、CPU等。所述实体例如可以是个体用户、组织、进程等。所述节点的示例包括云服务提供者、集群系统、单个文件系统、目录等。为了跟踪和控制节点上各个实体对资源的消耗,通常为节点配置配额属性,配置有配额属性的节点因而被称作配额节点。进而,由若干个配额节点按照定义良好的依赖层级构成的系统被称作分层(hierarchical)配额系统。分层配额系统的示例包括分布式文件系统(包括若干单个文件系统)、嵌套的配额目录节点(包含在其他配额目录内的配额目录)、云服务系统等。
图1示出了分层配额系统100的一个示例性架构。图1所示的分层配额系统100具有树形架构,其包括配额节点P 110、配额节点C1 111、配额节点C2 112、配额节点CC3 113。配额节点P 110分别是配额节点C1 111和配额节点C2 112的父节点,配额节点C1 111是配额节点CC3 113的父节点。然而,在本申请中,配额节点P 110也被称为与配额节点C1 111和配额节点C2 112直接关联的上层节点,配额节点C1 111被称为与配额节点CC3 113直接关联的上层节点。可以理解,分层配额系统100可以进一步包括与配额节点P 110直接关联的上层节点、与配额节点CC3 113直接关联的下层节点等。为了简化图示,图1仅示出了分层配额系统的一部分。
在分层配额系统中,每个配额节点负责跟踪和控制其自身上的资源消耗以及其下层所有直接或间接关联的配额节点上的资源消耗。每个配额节点具有相应的配额数据库(database,DB),以跟踪及控制在该配额节点树上消耗资源的用户的资源分配情况。在配额数据库中,针对每个被分配资源的用户创建一条配额数据库记录。表1示出了用于分层配额系统的配额数据库记录的一种示例性结构。
表1
Id Limit_cfg UseCount[]:S,C1,C2,…,Cn
如表1所示,用于分层配额系统的配额数据库记录至少包括以下三个字段:
1)Id:用户标识符字段,用于指示该配额数据库记录是针对哪个用户创建的;
2)Limit_cfg:资源上限字段,用于指示在当前配额节点(例如图1中的配额节点P 110)上以及当前配额节点的子配额节点树(例如图1中的以配额节点C1 111、配额节点C2 112…配额节点Cn为根的配额节点树)上能够继续分配给该用户的资源的上限;
3)UseCount:资源使用量字段,用于指示在当前配额节点(例如图1中的配额节点P 110)上以及当前配额节点的子配额节点树(例如图1中的以配额节点C1 111、配额节点C2 112…配额节点Cn为根的配额节点树)上实际分配给该用户的资源的量。例如,在图1所示的分层配额系统中,配额节点P 110负责跟踪和控制其自身以及其子配额节点树、即以C1 111为根的子配额节点树(含配额节点CC3113)和以配额节点C2 112为根的子配额节点树上的资源消耗,并且在表1中的UseCount字段中记录资源使用量信息。应当注意,如表1所示,UseCount字段中的内容为向量。
在现有技术中,例如当如图1所示的用户114在配额节点C1 111上请求资源时,从最顶层的配额节点到配额节点C1 111的路径上的所有节点均需要检查其配额数据库记录中的Limit_cfg字段,即将用户114所请求的资源的量与Limit_cfg字段的值进行比较,以确定是否可以向用户114分配所请求的资源。此外,在确定可以向用户114分配所请求的资源后,从最顶层的配额节点到配额节点C1 111的路径上的所有节点均需要更新其配额数据库记录中的Limit_cfg字段及UseCount字段,以跟踪和控制用户114在整个系统中的资源消耗、满足管理员设置的资源分配的约束条件集合。这将引起配额节点之间的通信风暴,并且降低系统吞吐量,尤其是当配额节点位于不同的机柜或地理位置时。
图2示出了在分层配额系统中进行资源分配的现有方法的时序图。该图示出了例如当如图1所示的用户114在配额节点C1 111上请求资源时进行资源分配的流程。
在步骤S201,用户114向配额节点C1 111发送资源分配请求,以请求配额节点C1 111为其分配资源。
在步骤S202,配额节点C1 111检查其配额数据库以确定是否应当同意该资源分配请求。步骤S202可进一步包括如下子步骤。
a.配额节点C1 111将在配额数据库中查询关于用户114的配额数据库记录。
b.如果不存在关于用户114的配额数据库记录,则配额节点C1 111处的检查通过并且前进至步骤S203。
c.如果存在关于用户114的配额数据库记录,配额节点C1111将所请求的资源的量与Limit_cfg字段的值进行比较,并且确定是否应当给予该资源;如果所请求的资源的量未超过Limit_cfg字段的值并且确定应当给予该资源,则继续进行步骤S203中的检查;否则拒绝该资源请求。
在步骤S203,当配额节点C1 111本地的检查通过时,配额节点C1 111联系其父配额节点P 110,以请求其检查其配额数据库并在检查通过后更新其本地配额数据库。
在步骤S204,配额节点P 110检查其配额数据库以确定是否应当同意该请求,具体步骤同配额节点C1 111在步骤S202中所执行的步骤a、b和c。
如果配额节点P 110处的检查通过,则在步骤S205中,配额节点P 110更新其配额数据库记录的UseCount字段(即UseCount[C1]),以跟踪用户114的资源消耗,并从Limit_cfg字段中扣除所分配的资源的量。
在步骤S206,配额节点P 110向配额节点C1 111返回检查结果。
如果配额节点P 110和配额节点C1 111处的检查均通过,则在步骤S207中,配额节点C1 111更新其配额数据库记录的UseCount字段(即UseCount[S]),以跟踪用户114的资源消耗,并从Limit_cfg字段中扣除所分配的资源的量。
在步骤S208,配额节点C1 111向用户114分配所请求的资源。
在步骤S209,配额节点C1 111给予用户114所请求的资源。
应当注意,当配额节点P 110并非分层配额系统100的根配额节点时,即当配额节点P 110仍具有其祖先节点时,在步骤S204中的配额节点P 110的检查通过后,需要继续进行配额节点P 110的所有祖先节点处的检查与更新。即,只有当从分层配额系统100的根配额节点到配额节点C1 111的路径上的所有配额节点处的检查均通过并更新相应的配额数据库记录后,配额节点C1 111才能够同意用户114的资源分配请求。因此,这将引起配额节点之间的通信风暴,并且会降低系统吞吐量。
发明内容
因此,期望提出一种能够在分层配额系统中进行资源分配过程中减少配额节点之间的通信以改善系统吞吐量的资源分配方法。
本发明的实施方式的第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层配额节点授予配额代理,则所述第一配额节点向所述第二配额节点发送用于调整所述第二配额的第一配额代理调整请求;所述第一配额代理调整请求至少包含所述用户标识符、第二最小份额请求值、及第二最大份额请求值;其中所述第二最小份额请求值为所述用户所请求的资源的量与所述第一配额节点本地针对所述用户的配额数据库记录的配额字段中的所述第二配额之差,所述第二最大份额请求值为所述第一配额节点本地针对所述用户的配额数据库记录的配额字段中的所述第一配额与所述第二配额之差。
本发明的实施方式的第13方面是根据本发明的实施方式的第12方面的方法,其中所述第二配额节点响应于接收到所述第一配额代理调整请求执行以下操作:(d)检查本地针对所述用户的配额数据库记录中的代理标记字段,以确定所述第一配额节点的配额代理状态;以及(e)如果确定所述第一配额节点的配额代理状态为已授予,则所述第二配额节点检查本地针对所述用户的配额数据库记录中配额字段的第二配额是否大于或等于所述第一配额代理调整请求所请求的所述第二最小份额请求值;以及(f)如果确定所述第一配额节点的配额代理状态为已废除,则所述第二配额节点向所述第一配额节点发送第一配额代理废除请求,所述第一配额代理废除请求至少包含所述用户标识符。
本发明的实施方式的第14方面是根据本发明的实施方式的第13方面的方法,进一步包括:如果所述第二配额节点本地针对所述用户的配额数据库记录的配额字段中的第二配额大于或等于所述第二最小份额请求值,则所述第二配额节点:从本地针对所述用户的配额数据库记录中配额字段的所述第一配额及所述第二配额中划分针对所述第一配额代理调整请求而为所述第一配额节点预留的份额;将预留的所述份额累加到所述配额数据库记录的预留份额字段中针对所述第一配额节点的分字段;以及向所述第一配额节点发送针对所述第一配额代理调整请求的响应,所述响应中至少包含为所述第一配额节点预留的所述份额。
本发明的实施方式的第15方面是根据本发明的实施方式的第13方面的方法,进一步包括:如果所述第二配额节点本地针对所述用户的配额数据库记录的配额字段中的第二配额小于所述第二最小份额请求值,则从与所述第二配额节点直接关联的下层配额节点中除所述第一配额节点之外的一个或多个配额节点召回配额代理,直到所述第二配额大于或等于所述第二最小份额值。
本发明的实施方式的第16方面是根据本发明的实施方式的第15方面的方法,其中从与所述第二配额节点直接关联的下层配额节点中的多个配额节点中的任一个召回配额代理包括:所述第二配额节点向与其直接关联的下层配额节点中的第四配额节点发送第一配额代理召回请求。
本发明的实施方式的第17方面是根据本发明的实施方式的第16方面的方法,进一步包括:所述第四配额节点响应于接收到所述配额代理召回请求而执行如下操作:检查本地针对所述用户的配额数据库记录的代理标记字段,以确定是否向与其直接关联的下层配额节点授予了配额代理;如果已向与其直接关联的下层配额节点授予了配额代理,则进一步召回所有的配额代理;重置本地针对所述用户的配额数据库记录中的配额字段的第二配额为无效;以及向所述第二配额节点发送配额代理召回响应,所述配额代理召回响应至少包含所述用户在所述第四配额节点及所有与其关联的子节点上消耗的资源的总量。
本发明的实施方式的第18方面是根据本发明的实施方式的第17方面的方法,进一步包括:所述第二配额节点响应于接收到所述配额代理召回响应,更新本地针对所述用户的配额数据库记录,更新本地针对所述用户的配额数据库记录包括:将所述配额代理召回响应中包含的资源消耗的总量更新至所述用户的配额数据库记录的资源使用量字段中第四配额节点所对应的分字段;以及将为所述第四配额节点的配额代理预留的份额扣除所述资源消耗的总量后、累加至所述第二配额节点本地针对所述用户的配额数据库记录的配额字段中的所述第一配额及所述第二配额。
本发明的实施方式的第19方面是根据本发明的实施方式的第16方面的方法,进一步包括:所述第二配额节点从与所述第二配额节点直接关联的下层配额节点召回除所述第一配额节点所持有的配额代理之外的所有其他配额代理;确定所述第二配额节点本地针对所述用户的配额数据库记录的配额字段中的第二配额是否小于所述第二最小份额请求值;以及如果所述第二配额小于所述第二最小份额请求值,则所述第二配额节点检查本地针对所述用户配额数据库记录中配额字段的所述第一配额。
本发明的实施方式的第20方面是根据本发明的实施方式的第19方面的方法,进一步包括:(g)如果所述第一配额小于所述第一配额代理调整请求所请求的所述第二最小份额请求值,则所述第二配额节点拒绝所述第一配额代理调整请求;以及(h)如果所述第一配额大于或等于所述第一配额代理调整请求所请求的所述第二最小份额请求值,则所述第二配额节点向第i-2层配额节点中与所述第二配额节点直接关联的的第三配额节点发送第二配额代理调整请求。
本发明的实施方式的第21方面是根据本发明的实施方式的第20方面的方法,其中所述步骤(h)迭代地执行,直至第1层配额节点中与所述第二配额节点关联的配额节点为止。
本发明的实施方式的第22方面是根据本发明的实施方式的第13方面的方法,进一步包括所述第一配额节点响应于接收到所述第一配额代理废除请求而执行如下操作:向所有与所述第一配额节点直接关联的第i+1层配额节点召回配额代理;重置所述第一配额节点本地针对所述用户配额数据库记录的配额字段中的第二配额为无效;创建第二临时配额数据库记录,其中所述第二临时配额数据库记录至少包含所述用户标识符及所述用户在所述第一配额节点及所有与所述第一配额节点关联的所述第i+1层配额节点上消耗的资源的总量;以及向所述第二配额节点发送第二临时配额数据库记录。
本发明的实施方式的第23方面是根据本发明的实施方式的第22方面的方法,进一步包括:所述第二配额节点响应于接收到所述第二临时配额数据库记录,修正本地针对所述用户的配额数据库记录。
本发明的实施方式的第24方面是根据本发明的实施方式的第1方面的方法,进一步包括:响应于配额代理期满,所述第一配额节点向第i-1层配额节点中与所述第一配额节点直接关联的第二配额节点更新所述配额代理。
本发明的实施方式的第25方面是根据本发明的实施方式的第24方面的方法,其中更新所述配额代理包括:在所述第一配额节点处创建第三临时配额数据库记录,其中所述第三临时配额数据库记录至少包含用户标识符和所述用户在第一配额节点及所有与所述第一配额节点关联的第i+1层配额节点上消耗的资源的总量;以及向所述第二配额节点发送所述第三临时配额数据库记录。
本发明的实施方式的第26方面是一种在分层配额系统中管理资源分配的装置,所述分层配额管理系统包括自上而下的n层配额节点,n是大于1的正整数,所述装置包括:第一配额检查单元,被配置为在第i层配额节点中的第一配额节点处,响应于接收到来自用户的资源分配请求,确定所请求的资源的量是否超过了系统管理员在所述第一配额节点处设置的第一配额,其中i是大于1且小于等于n的正整数;第一配额代理检查单元,被配置为如果没有超过所述第一配额,则确定是否持有针对所述第一配额节点的配额代理;第二配额检查单元,被配置为如果确定持有针对所述第一配额节点的配额代理,则进一步确定所请求的资源的量是否超过了针对所述第一配额节点的配额代理所指定的第二配额;以及资源分配单元,被配置为如果所请求的资源的量未超过所述第二配额,则向所述用户分配所请求的资源。
本发明的实施方式的第27方面是根据本发明的实施方式的第26方面的装置,其中所述资源分配单元被进一步配置为:从所述第一配额及所述第二配额中扣除已分配的资源的量,以更新所述第一配额及所述第二配额;以及更新已向所述用户分配的资源的量。
本发明的实施方式的第28方面是根据本发明的实施方式的第26方面的装置,进一步包括第一配额代理申请请求单元,所述第一配额代理申请请求单元被配置为:如果确定不持有针对所述第一配额节点的配额代理,则创建用于获取所述配额代理的第一配额代理申请请求,所述第一配额代理申请请求至少包含所述用户标识符、第一最小份额请求值、及第一最大份额请求值,其中,所述第一最小份额请求值指示所述用户所请求的资源的量,以及所述第一最大份额请求值指示所述第一配额;以及向第i-1层配额节点中与所述第一配额节点直接关联的第二配额节点发送所述第一配额代理申请请求。
本发明的实施方式的第29方面是根据本发明的实施方式的第28方面的装置,进一步包括第二配额代理检查单元,所述第二配额代理检查单元被配置为:(a)响应于接收到所述请求,确定是否持有针对所述第二配额节点的配额代理;(b)如果确定不持有针对所述第二配额节点的配额代理,则向第i-2层配额节点中与所述第二配额节点直接关联的第三配额节点发送用于获取针对所述第二配额节点的配额代理的请求;(c)如果确定持有针对所述第二配额节点的配额代理,则向所述第一配额节点发送响应,以授予针对所述第一配额节点的配额代理。
本发明的实施方式的第30方面是根据本发明的实施方式的第29方面的装置,其中所述第二配额代理检查单元被配置为迭代地执行所述操作(b),直至第1层配额节点中与所述第二配额节点关联的配额节点为止;并且其中,所述第1层配额节点响应于所有与之相关联的第2层配额节点的配额代理申请请求,从其第一配额中为所述配额代理申请请求划分所请求的份额。
本发明的实施方式的第31方面是根据本发明的实施方式的第26至30方面中的任一方面的装置,其中在所述n层配额节点中的每个配额节点处维护针对相应用户的配额数据库记录,所述配额数据库记录至少包括如下字段:用户标识符字段,被配置为标识所述配额数据库记录所针对的用户;配额字段,包括由系统管理员设置的所述第一配额和由配额代理指定的所述第二配额;所述第二配额小于等于所述第一配额;资源使用量字段,被配置为向量字段以指示在当前配额节点以及与所述当前配额节点关联的下层配额节点上实际分配的资源的量;代理标记字段,被配置为向量字段以指示是否向与所述当前配额节点直接关联的每个下层配额节点授予了配额代理、以及所述配额代理的状态;以及预留份额字段,被配置为向量字段以指示从所述第一配额及所述第二配额中为每个持有所述配额代理的下层配额节点预留的份额。
本发明的实施方式的第32方面是根据本发明的实施方式的第31方面的装置,其中所述配额代理的状态包括以下状态之一:未授予、已授予和已废除。
本发明的实施方式的第33方面是根据本发明的实施方式的第32方面的装置,其中所述第二配额代理检查单元被进一步配置为:在所述第二配额节点处查找本地针对所述用户的配额数据库记录,以确定本地针对所述用户的配额数据库记录的配额字段是否包括有效的第二配额。
本发明的实施方式的第34方面是根据本发明的实施方式的第33方面的装置,其中所述第二配额代理检查单元被进一步配置为:如果在所述第二配额节点处确定本地针对所述用户的配额数据库记录的配额字段包括有效的第二配额,则从所述第一配额和所述第二配额中划分为所述第一配额节点预留的份额,所述预留的份额大于等于所述第一最小份额请求值、且小于等于所述第一最大份额请求值。
本发明的实施方式的第35方面是根据本发明的实施方式的第34方面的装置,其中所述第二配额代理检查单元被进一步配置为:创建第一临时配额数据库记录,其中所述第一临时配额数据库记录至少包含所述用户标识符和为所述第一配额节点预留的所述份额;以及向所述第一配额节点发送所述第一临时配额数据库记录。
本发明的实施方式的第36方面是根据本发明的实施方式的第35方面的装置,进一步包括:缓存单元,被配置为响应于接收到所述第一临时配额数据库记录,将为所述第一配额节点预留的所述份额作为本地针对所述用户的配额数据库记录的配额字段中的第二配额缓存到所述配额字段中。
本发明的实施方式的第37方面是根据本发明的实施方式的第36方面的装置,其中所述第二配额检查单元被进一步配置为:确定所请求的资源的量是否超过了所述第一配额节点本地针对所述用户的配额数据库记录的配额字段中的第二配额;如果所请求的资源的量超过了所述第二配额,则进一步确定所述第一配额节点是否向与其直接关联的第i+1层配额节点授予了配额代理;以及如果所述第一配额节点没有向任何与其直接关联的第i+1层配额节点授予配额代理,则所述第一配额节点向所述第二配额节点发送用于调整所述第二配额的第一配额代理调整请求;所述第一配额代理调整请求至少包含所述用户标识符、第二最小份额请求值、及第二最大份额请求值;其中所述第二最小份额请求值为所述用户所请求的资源的量与所述第一配额节点本地针对所述用户的配额数据库记录的配额字段中的所述第二配额之差,所述第二最大份额请求值为所述第一配额节点本地针对所述用户的配额数据库记录的配额字段中的所述第一配额与所述第二配额之差。
本发明的实施方式的第38方面是根据本发明的实施方式的第37方面的装置,进一步包括第一配额代理调整请求响应单元,被配置为响应于接收到所述第一配额代理调整请求执行以下操作:(d)检查本地针对所述用户的配额数据库记录中的代理标记字段,以确定所述第一配额节点的配额代理状态;以及(e)如果确定所述第一配额节点的配额代理状态为已授予,则所述第二配额节点检查本地针对所述用户的配额数据库记录中配额字段的第二配额是否大于或等于所述第一配额代理调整请求所请求的所述第二最小份额请求值;以及(f)如果确定所述第一配额节点的配额代理状态为已废除,则所述第二配额节点向所述第一配额节点发送第一配额代理废除请求,所述第一配额代理废除请求至少包含所述用户标识符。
本发明的实施方式的第39方面是根据本发明的实施方式的第38方面的装置,其中所述第一配额代理调整请求响应单元被进一步配置为:如果所述第二配额节点本地针对所述用户的配额数据库记录的配额字段中的第二配额大于或等于所述第二最小份额请求值,则所述第二配额节点:从本地针对所述用户的配额数据库记录中配额字段的所述第一配额及所述第二配额中划分针对所述第一配额代理调整请求而为所述第一配额节点预留的份额;将预留的所述份额累加到所述配额数据库记录的预留份额字段中针对所述第一配额节点的分字段;以及向所述第一配额节点发送针对所述第一配额代理调整请求的响应,所述响应中至少包含为所述第一配额节点预留的所述份额。
本发明的实施方式的第40方面是根据本发明的实施方式的第38方面的装置,其中所述第一配额代理调整请求响应单元被进一步配置为:如果所述第二配额节点本地针对所述用户的配额数据库记录的配额字段中的第二配额小于所述第二最小份额请求值,则从与所述第二配额节点直接关联的下层配额节点中除所述第一配额节点之外的一个或多个配额节点召回配额代理,直到所述第二配额大于或等于所述第二最小份额值。
本发明的实施方式的第41方面是根据本发明的实施方式的第40方面的装置,其中所述第一配额代理调整请求响应单元被进一步配置为:向与其直接关联的下层配额节点中的第四配额节点发送第一配额代理召回请求。
本发明的实施方式的第42方面是根据本发明的实施方式的第41方面的装置,进一步包括配额代理召回请求响应单元,被配置为:所述第四配额节点响应于接收到所述配额代理召回请求而执行如下操作:检查本地针对所述用户的配额数据库记录的代理标记字段,以确定是否向与其直接关联的下层配额节点授予了配额代理;如果已向与其直接关联的下层配额节点授予了配额代理,则进一步召回所有的配额代理;重置本地针对所述用户的配额数据库记录中的配额字段的第二配额为无效;以及向所述第二配额节点发送配额代理召回响应,所述配额代理召回响应至少包含所述用户在所述第四配额节点及所有与其关联的子节点上消耗的资源的总量。
本发明的实施方式的第43方面是根据本发明的实施方式的第42方面的装置,其中所述第一配额代理调整请求响应单元被进一步配置为:所述第二配额节点响应于接收到所述配额代理召回响应,更新本地针对所述用户的配额数据库记录,更新本地针对所述用户的配额数据库记录包括:将所述配额代理召回响应中包含的资源消耗的总量更新至所述用户的配额数据库记录的资源使用量字段中第四配额节点所对应的分字段;以及将为所述第四配额节点的配额代理预留的份额扣除所述资源消耗的总量后、累加至所述第二配额节点本地针对所述用户的配额数据库记录的配额字段中的所述第一配额及所述第二配额。
本发明的实施方式的第44方面是根据本发明的实施方式的第41方面的装置,其中所述第一配额代理调整请求响应单元被进一步配置为:所述第二配额节点从与所述第二配额节点直接关联的下层配额节点召回除所述第一配额节点所持有的配额代理之外的所有其他配额代理;确定所述第二配额节点本地针对所述用户的配额数据库记录的配额字段中的第二配额是否小于所述第二最小份额请求值;以及如果所述第二配额小于所述第二最小份额请求值,则所述第二配额节点检查本地针对所述用户配额数据库记录中配额字段的所述第一配额。
本发明的实施方式的第45方面是根据本发明的实施方式的第44方面的装置,其中所述第一配额代理调整请求响应单元被进一步配置为:(g)如果所述第一配额小于所述第一配额代理调整请求所请求的所述第二最小份额请求值,则拒绝所述第一配额代理调整请求;以及(h)如果所述第一配额大于或等于所述第一配额代理调整请求所请求的所述第二最小份额请求值,则向第i-2层配额节点中与所述第二配额节点直接关联的第三配额节点发送第二配额代理调整请求。
本发明的实施方式的第46方面是根据本发明的实施方式的第45方面的装置,其中所述操作(h)迭代地执行,直至第1层配额节点中与所述第二配额节点关联的配额节点为止。
本发明的实施方式的第47方面是根据本发明的实施方式的第38方面的装置,进一步包括第一配额代理废除请求响应单元,被配置为响应于接收到所述第一配额代理废除请求而执行如下操作:向所有与所述第一配额节点直接关联的第i+1层配额节点召回配额代理;重置所述第一配额节点本地针对所述用户配额数据库记录的配额字段中的第二配额为无效;创建第二临时配额数据库记录,其中所述第二临时配额数据库记录至少包含所述用户标识符及所述用户在所述第一配额节点及所有与所述第一配额节点关联的所述第i+1层配额节点上消耗的资源的总量;以及向所述第二配额节点发送第二临时配额数据库记录。
本发明的实施方式的第48方面是根据本发明的实施方式的第47方面的装置,进一步包括数据库修正单元,被配置为:所述第二配额节点响应于接收到所述第二临时配额数据库记录,修正本地针对所述用户的配额数据库记录。
本发明的实施方式的第49方面是根据本发明的实施方式的第26方面的装置,进一步包括配额代理更新单元,被配置为:响应于配额代理期满,从所述第一配额节点向第i-1层配额节点中与所述第一配额节点直接关联的第二配额节点更新所述配额代理。
本发明的实施方式的第50方面是根据本发明的实施方式的第49方面的装置,其中所述配额代理更新单元被进一步配置为:在所述第一配额节点处创建第三临时配额数据库记录,其中所述第三临时配额数据库记录至少包含用户标识符和所述用户在第一配额节点及所有与所述第一配额节点关联的第i+1层配额节点上消耗的资源的总量;以及向所述第二配额节点发送所述第三临时配额数据库记录。
采用本发明的实施方式的各方面,可以在分层配额系统中进行资源分配过程中减少配额节点之间的通信,从而提高系统吞吐量。
附图说明
结合附图并参考以下详细说明,本发明各实施方式的特征、优点及其他方面将变得更加明显,在此以示例性而非限制性的方式示出了本发明的若干实施方式。在附图中:
图1示出了分层配额管理系统的一种示例性架构;
图2示出了在分层配额系统中进行资源分配的现有方法的时序图;
图3示出了根据本发明一个实施方式的在分层配额系统中管理资源分配的方法的流程图;
图4是示出根据本发明一个具体实施例的在分层配额系统中管理资源分配的方法的时序图;
图5是示出根据本发明一个具体实施例的配额报告过程的时序图;
图6示出了根据本发明一个实施方式的在分层配额系统中管理资源分配的装置的框图。
具体实施方式
下面参考附图详细描述本发明的各实施方式。附图中的流程图和框图,图示了按照本发明各种实施方式的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,所述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为备选的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
本发明的一个实施方式提供了一种在分层配额系统中管理资源分配的方法。该方法的原理之一在于,通过由分层配额系统中的上层节点向与该上层节点直接关联的下层节点授予配额代理(quotadelegation),下层节点接收到来自用户的资源分配请求时,确定所请求的资源的量是否超过了配额代理所指定的配额,如果所请求的资源的量未超过所述配额,则该下层节点可自行决定向用户分配所请求的资源并更新本地针对该用户的配额数据库记录。根据本发明的资源分配方法,只要所请求的资源的量未超过配额代理所指定的配额,下层节点则无需再联系与之关联的上层节点,请求上层节点检查其本地配额数据库以决定是否向用户分配所请求的资源,从而减少了配额节点之间的通信,改善了系统吞吐量。
图3示出了根据本发明一个实施方式的在分层配额系统中管理资源分配的方法300的流程图。所述分层配额管理系统包括自上而下的n层配额节点,例如包括作为最底层的第n层节点、第n-1层节点…作为最顶层的第1层节点。根据具体的应用,n可以是大于1的任何适当的正整数。所述分层配额管理系统的示例包括分布式文件系统(包括若干单个文件系统)、嵌套的配额目录节点(包含在其他配额目录内的配额目录)、云服务系统。作为一个具体示例,所述分层配额管理系统例如具有如图1所示的树形架构。
在步骤S301,在第i层配额节点中的第一配额节点处,响应于接收到来自用户的资源分配请求,确定所请求的资源的量是否超过了系统管理员在所述第一配额节点处设置的第一配额,其中i是大于1且小于等于n的正整数。该配额代理表示授予接收到来自用户的资源分配请求的配额节点自行决定是否向该用户分配所请求的资源,而无需同与之关联的上层配额节点通信,以请求上层配额节点决定是否向该用户分配所请求的资源。在所述分层配额管理系统具有如图1所示的树形架构的情况下,第i层配额节点中的第一配额节点例如可以是图1中所示的配额节点110-113中的任何一个。
如果在步骤S301确定所请求的资源的量没有超过系统管理员在所述第一配额节点处设置的第一配额,则前进至步骤S302,以确定是否具有针对所述第一节点的配额代理。可以理解,系统管理员在所述第一配额节点处设置的第一配额是系统允许在第一配额节点处向用户分配的资源的上限,因此如果在步骤S301确定所请求的资源的量超过了系统管理员在所述第一配额节点处设置的第一配额,则拒绝用户的资源分配请求(图中未示出)。
如果在步骤S302中确定具有针对所述第一配额节点的配额代理,则前进至步骤S303,以进一步确定所请求的资源的量是否超过了针对所述第一配额节点的配额代理所指定的第二配额。
在步骤S304,如果所请求的资源的量未超过针对所述第一配额节点的配额代理所指定的第二配额,则向所述用户分配所请求的资源。
在本发明的一个实施方式中,方法300进一步包括:如果在步骤S302确定不具有针对所述第一配额节点的配额代理,则向第i-1层配额节点中与所述第一配额节点直接关联的第二配额节点发送用于获取所述配额代理的请求。在所述分层配额管理系统具有如图1所示的树形架构的情况下,当第i层配额节点中的第一配额节点为图1中所示的配额节点C1 111时,第i-1层配额节点中与所述第一配额节点直接关联的第二配额节点可以是图1中所示的配额节点P 110。
在本发明的一个实施方式中,方法300进一步包括:(a)所述第二配额节点响应于接收到所述请求,确定是否具有针对所述第二配额节点的配额代理;(b)如果所述第二配额节点不具有针对所述第二配额节点的配额代理,则向第i-2层配额节点中与所述第二配额节点直接关联的第三配额节点发送用于获取针对所述第二配额节点的配额代理的请求;(c)如果所述第二配额节点具有针对所述第二配额节点的配额代理,则向所述第一配额节点发送响应,以授予针对所述第一配额节点的配额代理。
在本发明的一个实施方式中,上述步骤(b)迭代地执行,直至第1层配额节点中与所述第二配额节点关联的配额节点为止。
在本发明的一个实施方式中,在所述n层配额节点中的每个配额节点处维护针对相应用户的配额数据库记录。表2示出了根据本发明一个实施方式的配额数据库记录的一种示例性结构。
表2
如表2所示,根据本发明一个实施方式的配额数据库记录至少包括如下字段:
1)Id:用户标识符字段,被配置为标识所述配额数据库记录所针对的用户;
2)配额字段:包括由系统管理员配置的第一配额Limit0_cfg和由配额代理指定的第二配额Limit1_cached;Limit0_cfg总是大于等于Limit1_cached;
3)UseCount[S,C1,C2,…,Cn]:资源使用量字段,其为向量字段,被配置为指示在当前配额节点(S)以及与所述当前配额节点关联的下层配额节点(C1,C2,…,Cn)上实际分配的资源的量;UseCount[S,C1,C2,…,Cn]字段包括与当前配额节点(S)和各下层配额节点(C1,C2,…,Cn)分别对应的分字段UseCount[S],UseCount[C1],…,UseCount[Cn];如果所述下层配额节点持有配额代理,则相应分字段并不实时更新;例如,如果配额节点C1持有配额代理,则UseCount[C1]并不代表所述用户在节点C1上实时消耗的资源的量;
4)DelegationFlag[C1,C2,…,Cn]:代理标记字段,其为向量字段,被配置为指示是否向与所述当前配额节点直接关联的每个下层配额节点(C1,C2,…,Cn)授予了配额代理、及所述配额代理的状态,所述配额代理的状态包括:未授予、已授予、已废除;例如,可以预先设定当C1的值为0时指示没有向下层配额节点C1授予配额代理,当C1的值为1时指示向下层配额节点C1授予了配额代理,而当C1的值为2时指示向下层配额节点C1授予的配额代理已被当前配额节点单方面废除;DelegationFlag[C1,C2,…,Cn]字段包括与各下层配额节点(C1,C2,…,Cn)分别对应的分字段DelegationFlag[C1],DelegationFlag[C2],…,DelegationFlag[Cn];
5)ReservedShare[C1,C2,…,Cn]:预留份额字段,其为向量字段,被配置为指示从第一配额Limit0_cfg及第二配额Limit1_cached中为每个持有配额代理的下层配额节点(C1,C2,…,Cn)预留的份额;ReservedShare[C1,C2,…,Cn]字段包括与各下层配额节点(C1,C2,…,Cn)分别对应的分字段ReservedShare[C1],ReservedShare[C2],…,ReservedShare[Cn]。
下文中将以图1中所示的分层配额系统为例来详细描述配额代理的授予过程。
配额代理的授予
在分层配额管理系统具有如图1所示的树形架构的情况下,第i层配额节点中的第一配额节点例如为图1中所示的配额节点C1 111时,第i-1层配额节点中与所述第一配额节点直接关联的第二配额节点例如为图1中所示的配额节点P 110。当用户向配额节点C1 111发送资源分配请求时,以下操作将被执行。
1)配额节点C1 111在本地配额数据库中查找针对向配额节点C1 111发送资源分配请求的用户114的配额数据库记录,并且在找到的用户114的配额数据库记录中检查管理员在配额节点C1 111上针对用户114配置的第一配额Limit0_cfg:
a.如果所请求的资源的量超过了第一配额Limit0_cfg,则拒绝该资源分配请求;
b.如果所请求的资源的量没有超过第一配额Limit0_cfg,则针对第一配额Limit0_cfg的检查通过,并继续进行针对第二配额Limit1_cached的检查。
2)配额节点C1 111检查是否具有有效的第二配额Limit1_cached,即检查配额节点C1 111是否具有来自配额节点P 110的配额代理:
a.如果配额节点C1 111具有来自配额节点P 110的配额代理,则配额节点C1 111执行如在随后的步骤6)中描述的针对第二配额Limit1_cached的检查;
b.如果配额节点C1 111不具有来自配额节点P 110的配额代理,则配额节点C1 111向配额节点P 110发送用于获取配额代理的请求;该请求中至少包含用户114的用户标识符、最小份额请求值、及最大份额请求值。最小份额请求值为用户114当前所请求的资源的量,最大份额请求值为第一配额Limit0_cfg;由此可以保证Limit1_cached总是小于或等于Limit0_cfg。
3)当配额节点C1 111向配额节点P 110发送用于获取配额代理的请求时:
a.配额节点P 110可执行如下操作:
i.配额节点P 110确定是否具有来自与之直接关联的上层配额节点(图1中未示出)的配额代理,即配额节点P 110在本地配额数据库中查找针对用户114的配额数据库记录,并且在找到的用户114的配额数据库记录中检查是否具有有效的第二配额Limit1_cached。如果配额节点P 110不具有所述配额代理,则向与之直接关联的上层配额节点发送用于获取配额代理的请求,该步骤可迭代地执行,直至最顶层配额节点中与配额节点P 110关联的配额节点为止;其中,最顶层配额节点总是从其第一配额Limit0_cfg中为第2层配额节点的配额代理请求分配份额。配额节点P 110响应于从与之直接关联的上层配额节点获取了配额代理,设置本地针对用户114的配额数据库记录中的第二配额Limit1_cached,即第二配额Limit1_cached成为有效的。
ii.利用第一配额Limit0_cfg和有效的第二配额Limit1_cached,配额节点P 110根据配额节点C1 111的配额代理请求中的最小份额请求值及最大份额请求值,确定为配额节点C1 111的配额代理所预留的份额;其中所预留的份额必须大于或等于最小份额请求值、且小于或等于最大份额请求值、且小于或等于第二配额Limit1_cached。
iii.配额节点P 110在本地针对用户114的配额数据库记录中的Limit0_cfg及Limit1_cached中扣除为配额节点C1 111所预留的份额。
iv.配额节点P 110在本地针对用户114的配额数据库记录中的ReservedShare[C1]字段中存储为配额节点C1 111预留的份额。
v.配额节点P 110将本地针对用户114的配额数据库记录中的DelegationFlag[C1]字段设置为已授予,以指示已经授予了配额节点C1 111配额代理。
c.利用预留的份额,配额节点P 110创建第一临时配额数据库记录,第一临时配额数据库记录例如具有如下三个字段,如表3所示。
表3
Id Limit1_cached UseCount
Id:用户标识符字段,用于指示该第一临时配额数据库记录是针对哪个用户创建的;
Limit1_cached:配额字段,用于指示第i-1层配额节点中与第i层配额节点中的第一配额节点直接关联的第二配额节点(例如配额节点P 110)为第i层配额节点中的第一配额节点(例如配额节点C1 111)预留的配额份额;
UseCount:资源使用量字段,用于指示第i层配额节点中的第一配额节点(例如配额节点C1 111)已经分配给用户(例如用户114)的资源的量,该字段可以采用缺省值或者不填充。
应当理解,针对用户114的第一临时配额数据库记录中的Limit1_cached字段中的值与配额节点P 110本地针对用户114的配额数据库记录的ReservedShare[C1]字段的值相同。
此外,还可以理解,配额节点C1 111本地针对用户114的配额数据库记录的配额字段中的第二配额Limit1_cached的值与在配额节点P 110处为配额节点C1 111预留的配额份额(即配额节点P 110本地针对用户114的配额数据库记录的ReservedShare[C1]字段的内容)是相同的。因此,在本申请的上下文中,配额节点C1 111本地的第二配额Limit1_cached有时也被称为预留的配额份额Limit1_cached。
4)配额节点P 110向配额节点C1 111授予配额代理,并且将第一临时配额数据库记录发送至配额节点C1 111。
5)配额节点C1 111接收所述配额代理,并且执行如下操作:
a.配额节点C1 111从所接收的第一临时配额数据库记录中取出Limit1_cached的值,并将其缓存到本地针对用户114的配额数据库记录(例如具有上述表2的结构)中的配额字段中,以作该配额字段中的第二配额Limit1_cached的值。由此,有效的第二配额Limit1_cached表明配额节点C1 111具有了配额代理。
6)利用有效的第二配额Limit1_cached(即具有配额代理),配额节点C1 111可继续进行配额检查:
a.配额节点C1 111检查用户114请求分配的资源的量是否超过了第二配额Limit1_cached:
i.如果用户114请求分配的资源的量超过了第二配额Limit1_cached,则配额节点C1 111可向配额节点P 110发送用于调整第二配额Limit1_cached的配额代理调整请求以获取更大的第二配额,并且重新进行配额检查,如下所述。该调整请求同样包含最小份额请求值及最大份额请求值。此时,所述最小份额请求值为用户114所请求的资源的量与配额节点C1 111本地针对该用户的配额数据库记录的配额字段中的第二配额Limit1_cached之差,所述最大份额请求值为配额节点C1 111本地针对该用户的配额数据库记录的配额字段中的第一配额Limit0_cfg与第二配额Limit1_cached之差。
ii.如果用户114请求分配的资源的量未超过第二配额Limit1_cached,则配额节点C1 111处针对第二配额Limit1_cached的检查通过。
7)如果针对第一配额Limit0_cfg和第二配额Limit1_cached中任一个的检查未通过,则配额节点C1 111将拒绝用户114的资源分配请求。
8)如果针对第一配额Limit0_cfg和第二配额Limit1_cached的检查均通过,则:
a.配额节点C1 111将给予用户114所请求的资源,并且更新其本地针对用户114的配额数据库记录(例如具有表2所示的结构):
i.配额节点C1 111将为用户114分配的资源的量从该数据库记录中的Limit0_cfg及Limit1_cached字段中扣除;
ii.配额节点C1 111将为用户114分配的资源的量累加至该数据库记录中的UseCount[S]字段,以跟踪资源消耗;
b.配额节点P 110将无需更新其本地针对用户114的配额数据库记录。
通过以上过程整个系统配额功能的有效性得到保证,并且不必要的配额节点间通信得以减少,系统性能得到大大提高。
在本发明的一个实施方式中,确定所请求的资源的量是否超过了针对所述第一配额节点的配额代理所指定的配额包括:确定所请求的资源的量是否超过了所述第一配额节点本地针对所述用户的配额数据库记录的配额字段中的第二配额;以及如果所请求的资源的量超过了所述第二配额,则向所述第二配额节点发送用于调整所述第二配额的第一配额代理调整请求,所述第一配额代理调整请求至少包含所述用户标识符、最小份额请求值、及最大份额请求值。
下文中将以图1中所示的分层配额系统为例,详细描述在调整第一配额节点的第二配额时可能涉及的配额代理的召回、配额代理的更新、自动配额代理的调整、配额代理的废除过程。
配额代理的召回
作为一种缓存机制,配额代理可以由授予者(上层配额节点,例如父配额节点)召回。配额代理的召回可发生于配额代理调整时、系统管理员修改配额设置时、配额代理废除时,等等。
当发生配额代理的召回时,下层配额节点(例如子配额节点)必须将其本地配额数据库信息与配额代理一起返回至上层配额节点,从此下层配额节点被收回了自行决定资源分配的权利。
例如,在图1中,如果父配额节点P 110从其子配额节点C1 111召回配额代理,则:
1)配额节点P 110检查配额数据库记录的DelegationFlag[C1]字段以确定向配额节点C1 111授予了配额代理。
2)配额节点P 110向配额节点C1 111发送召回消息。
3)配额节点C1 111创建第二临时配额数据库记录,第二临时配额数据库记录可以具有与第一临时配额数据库记录相同的结构,如表3所示,其中:
a.Id字段为用户114的用户标识符;
b.Limit1_cached字段为配额节点P 110为配额节点C1 111预留的配额份额(由于配额节点P 110本地针对用户114的配额数据库记录的ReservedShare[C1]字段已具有该信息,因此该Limit1_cached字段可以不填充);
c.UseCount字段为在配额节点C1 111及其关联的所有子配额节点(如图中CC3 113)上为用户114已分配的资源的量;在图1中,该值为节点C1 111本地针对用户114的配额数据库记录中UseCount[S]与UseCount[CC3]的和。
4)配额节点C1 111清除其本地针对用户114的配额数据库记录的Limit1_cached字段,以表明配额节点C1 111目前不具有配额代理。
5)配额节点C1 111向配额节点P 110返回第二临时配额数据库记录。
6)配额节点P 110从配额节点C1 111接收第二临时配额数据库记录,并且:
a.配额节点P 110取回第二临时配额数据库记录的UseCount字段的值并且以此更新本地针对用户114的配额数据库记录的UseCount[C1]字段;
b.配额节点P 110从本地针对用户114的配额数据库记录的ReservedShare[C1]字段中扣除UseCount[C1]字段,并且将扣除后的余值累加回配额字段的第一配额Limit0_cfg及第二配额Limit1_cached。
c.配额节点P 110重置本地的DelegationFlag[C1]字段为未授予。
d.配额节点P 110清除本地的ReserveShare[C1]字段。
在召回了配额代理之后,针对任何配额相关请求,子配额节点需再次联系父配额节点进行决策。
配额代理的更新
配额代理是与租约相关联的。当租约到期时,子配额节点必须主动更新其配额代理。更新消息也可以包括如表3所示的临时配额数据库记录的交互。
以图1为例,当配额节点C1 111需要向配额节点P 110更新其关于配额代理的租约时,将执行以下操作:
1)配额节点C1 111向配额节点P 110发送具有第二临时配额数据库记录(例如具有如表3所示的结构)的更新消息,其中:
a.Id字段为用户114的用户标识符;
b.Limit1_cached字段为配额节点P 110为配额节点C1 111预留的配额份额(由于配额节点P 110本地针对用户114的配额数据库记录的ReservedShare[C1]字段已具有该信息,因此该Limit1_cached字段可以不填充);
c.UseCount字段为在配额节点C1 111及其关联的所有子配额节点(如图中CC3 113)上为用户114已分配的资源的量;在图1中,该值为节点C1 111本地针对用户114的配额数据库记录中UseCount[S]与UseCount[CC3]的和。
2)配额节点P 110接收到更新消息后,
a.配额节点P 110检查本地针对用户114的配额数据库记录的DelegationFlag[C1]字段,以确保DelegationFlag[C1]字段仍然有效,即授予配额节点C1 111的配额代理没有被废除。
b.配额节点P 110从所接收的第二临时配额数据库记录取回UseCount字段的值,以更新本地针对用户114的配额数据库记录的UseCount[C1]字段。周期性更新地UseCount信息将是自动配额调整的基础,如下文所详述的。
3)如果更新成功,则配额节点P 110向配额节点C1 111返回消息,该消息中包含第一临时配额数据库记录(例如具有如表3所示的结构),其中:
a.Id字段和UseCount字段的内容与所接收的第二临时数据库记录中对应字段的内容相同,因此配额节点C1 111可忽略这两个字段的内容;
b.Limit1_cached字段可经由自动配额调整机制来调整,如下文所详述的。
4)配额节点C1 111从配额节点P 110接收包含第一临时配额数据库记录的消息,并且:
a.如果所接收的第一临时配额数据库记录的Limit1_cached字段与本地针对用户114的配额数据库记录的Limit1_cached字段的内容不同,则配额节点C1 111以接收的Limit1_cached字段的值更新本地Limit1_cached字段的值。由此为配额节点C1 111预留的配额份额得到了自动调整。
自动配额代理调整
基于全局资源消耗的统计和配额设置,下层配额节点所缓存的配额份额可以被自动地调整。自动配额代理调整可在以下几种情况下被触发。
I.由资源消耗触发
当用户持续在某个特定的下层配额节点消耗资源,并且即将耗尽由上层配额节点经由配额代理为下层配额节点预留的配额份额(Limit1_cached)或者所消耗的资源的量达到预留的配额份额(Limit1_cached)的预定阈值(例如配额份额Limit1_cached的80%),下层配额节点将向上层配额节点发送配额代理调整请求,以获取更多配额份额。
仍然以图1为例。如果用户114在配额节点C1 111上消耗过多的资源并且即将耗尽由配额节点P 110经由配额代理为配额节点C1111预留的配额份额(Limit1_cached)时,以下操作可被执行:
1)配额节点C1 111向配额节点P 110发送用于调整第二配额Limit1_cached的配额代理调整请求,该配额代理调整请求至少包含所述用户标识符、最小份额请求值、及最大份额请求值;其中最小份额请求值为第二配额Limit1_cached为满足用户资源请求所需要的最小份额值(即,用户所请求分配的资源的量与配额节点C1 111本地针对该用户的配额数据库记录中的第二配额Limit1_cached之差),最大份额请求值为该配额数据库记录中的第一配额Limit0_cfg与第二配额Limit1_cached之差。该配额代理调整请求也可以包含第二临时配额数据库记录(例如具有如表3所示的结构),以向配额节点P110报告在配额节点C1 111及其子节点CC3 113上已分配的资源的量。
2)当配额节点P 110接收到该配额代理调整请求时,可执行以下操作:
a.配额节点P 110根据接收的第二临时配额数据库记录更新本地相应的配额数据库记录中的UseCount[C1]字段,以作为调整为配额节点C1 111预留的配额份额的参考。
b.配额节点P 110检查本地针对用户114的配额数据库记录中的DelegationFlag[C1]字段,以确定配额节点C1 111的配额代理的状态是否有效:
i.如果该配额代理已被配额节点P 110单方面废除,则配额节点P 110向配额节点C1 111发送配额代理废除请求,如在以下“配额代理的废除”部分中所述;
ii.如果该配额代理状态为已授予,则继续处理该配额代理调整请求。
c.由于配额节点P 110具有全局信息,其中包括配额代理的授予信息、配额份额的划分信息、相关联的每个下层节点上已分配的资源的量信息(该信息被周期性地更新,如在以上“配额代理更新”部分中所述),配额节点P 110将通过以下过程之一尽力为进行请求的配额节点C1 111划分更多的配额:
i.如果第二配额Limit1_cached可以满足配额节点C1 111的配额调整请求(即第二配额Limit1_cached大于或等于配额调整请求中的最小份额请求值),则配额节点P 110从本地第一配额Limit0_cfg及第二配额Limit1_cached中划分更多份额并给予发出请求的配额节点C1 111。
ii.如果第二配额Limit1_cached不可以满足配额节点C1 111的配额调整请求(即第二配额Limit1_cached小于配额调整请求中的最小份额请求值),则配额节点P 110可以:
检查本地的DelegationFlag[C1,C2,…,Cn]字段以确定是否存在持有配额代理的其他子配额节点;
统计所述其他子配额节点上已分配的资源量;
根据该配额调整请求的最小份额请求值,从所述其他子配额节点中的一个或多个子配额节点召回已授予的配额代理(配额代理的召回过程如在以上“配额代理的召回”部分中所述);召回一个或多个配额代理后,配额节点P 110针对用户114的本地配额数据库中的配额字段Limit0_cfg及Limit1_cached视用户114的资源消耗情况将可能增大;
如果配额节点P 110召回所有除配额节点C1 111所持有的配额代理之外的配额代理后,其第一配额Limit0_cfg仍无法满足配额节点C1 111的配额调整请求,则用户114已经耗尽其资源配额,因而配额节点P 110将拒绝C1 111的配额调整请求,从而配额节点C1 111将拒绝用户114的资源请求。
iii.如果配额节点P 110召回所有配额代理后,其Limit0_cfg可以满足、但Limit1_cached不可以满足配额节点C1 111的配额调整请求,则配额节点P 110可以向与之直接关联的上层配额节点(父配额节点)发送调整本地第二配额Limit1_cached的配额代理调整请求,以获得更大的本地第二配额Limit1_cached。配额节点P 110从与之直接关联的上层配额节点(父配额节点)获得经调整的(更大的)第二配额Limit1_cached后,且如果该Limit1_cached可以满足配额节点C1 111的配额调整请求,则从Limit0_cfg及经调整的第二配额Limit1_cached中划分一定的份额以给予其子配额节点C1 111。
iv.如果经以上步骤后第二配额Limit1_cached仍然不能满足配额节点C1 111的配额调整请求,则配额节点P 110无法找到更多的配额份额,用户确实即将耗尽其配额,那么用户的资源分配请求必须被拒绝。
3)如果以上配额调整过程成功进行,则进行请求的配额节点将获得具有经调整的配额份额的、经更新的配额代理。
利用经更新的配额代理和更大的配额份额,进行请求的配额节点将能够继续自行对资源分配进行决策。
II.由周期性配额代理更新触发
上层配额节点(例如父配额节点)也可以主动地发起配额调整。与之关联的下层配额节点(例如子配额节点)将周期性地更新其配额代理并且向上层配额节点报告其上的资源消耗量,如以上在“配额代理的更新”部分中所描述的。当在子配额节点之间的配额份额划分(可通过查看ReservedShare[C1,…Cn]字段获知)严重偏离子配额节点上的实际资源消耗量(可通过查看UseCount[C1,…Cn]字段获知),并且偏离值超过预定阈值(比如60%)时,父配额节点将基于子配额节点上的实际资源消耗量在子配额节点之间重新划分配额份额,并以重新划分的配额份额更新相应子配额节点的配额代理。
为实现此功能,如表2所示的配额数据库记录必须进一步扩充为表4所示。
表4
除新设字段MaxShare[C1,C2,…,Cn]外,表4的所有其他字段的定义均与表2相同,其中新设字段
MaxShare[C1,C2,…,Cn]被设置为当前已持有配额代理的子配额节点所能接受的最大份额预留值。
父配额节点在主动为子配额节点调整配额代理的份额时,为子配额节点扩充的份额必须小于或等于此MaxShare[C1,C2,…,Cn]字段,以免导致子配额节点上相关配额数据库记录的Limit1_cached字段大于Limit0_cfg字段,违反系统约束条件。
III.由管理员的配额设置触发
当管理员在父配额节点上修改第一配额Limit0_cfg时,也可能会触发子配额节点甚至自身配额代理的份额调整。
令Limit0_cfg_original为:
i)管理员修改设置前相关配额数据库记录中Limit0_cfg字段的值,加上
ii)为所有子配额节点的配额代理所预留的份额的总和(即ReservedShare[C1,C2,…,Cn]中持有配额代理的子节点的分字段的总和),加上
iii)相关用户在当前父节点及所有不持有配额代理的子配额节点消耗的资源的总和(即UseCount[S,C1,C2,…,Cn]中父节点及不持有配额代理的子节点的分子段的总和)
的总和。
令Limit1_cached_original为:
i)当前相关用户数据库记录中Limit1_cached的值,加上
ii)为所有子配额节点的配额代理所预留的份额的总和(即ReservedShare[C1,C2,…,Cn]中持有配额代理的子节点的分字段的总和),加上
iii)相关用户在当前父节点及所有不持有配额代理的子配额节点消耗的资源的总和(即UseCount[S,C1,C2,…,Cn]中父节点及不持有配额代理的子节点的分子段的总和)
的总和。
当管理员在父配额节点上修改第一配额Limit0_cfg,且该父配额节点持有配额代理、即其Limit1_cached有效时,父配额节点也可能需要主动为子配额节点甚至自身的配额代理调整预留的份额。可存在如下不同情况:
1)如果管理员新设置的第一配额Limit0_cfg小于上述Limit0_cfg_original:
a.如果新设置的Limit0_cfg小于上述Limit1_cached_original,则:
i.父配额节点需要调整甚至召回一个或多个子配额节点的配额代理,减少为子节点的配额代理预留的份额,以使调整后为子节点的配额代理所预留的份额的总和加上相关用户在当前父节点及所有不持有配额代理的子配额节点消耗的资源的总和小于或等于管理员新设置的Limit0_cfg。如果召回所有子节点的配额代理后当前节点的相关用户的配额数据库记录中UseCount[S,C1,C2,…,Cn]所有分字段的总和仍大于管理员新设置的Limit0_cfg,则该用户已耗尽在该父节点上的资源。
ii.该父节点需要向其进一步的父节点发送配额代理调整请求,减少为其配额代理预留的份额,以使为该父配额节点预留的份额Limit1_cached小于或等于管理员新设置的Limit0_cfg。
b.如果新设置的Limit0_cfg大于或等于上述Limit1_cached_original,则该父配额节点不需要调整其子配额节点的配额代理。
2)如果管理员新设置的第一配额Limit0_cfg大于或等于上述Limit0_cfg_original,参考相关用户在父节点的配额数据库记录中Limit1_cached字段、UseCount[S,C1,C2,…,Cn]及ReservedShare[C1,C2,…,Cn]字段,该父配额节点可以(但不必须)主动调整其子配额节点的配额代理,以使子配额节点的配额代理的份额与用户在其上的资源使用量相平衡。
如果配额数据库记录采用如表4所示增强的配额数据库记录,则当管理员在父配额节点上修改第一配额Limit0_cfg,且该父配额节点持有配额代理、即其Limit1_cached有效时,父配额节点也可能需要向其进一步的父节点发送配额代理调整请求,以更新其进一步的父节点的配额数据库记录中的MaxShare[C1,C2,…,Cn]字段。
IV.由自动配额调整触发
自动配额调整可以迭代地触发自动配额调整。
如上所示,当某父配额节点收到子配额节点的配额代理调整请求,且该配额代理调整请求的最小份额请求值小于或等于相关用户在该父配额节点的配额数据库记录中配额字段的第一配额Limit0_cfg、且大于第二配额字段Limit1_cached时,该父配额节点需要向其进一步的父配额节点发送配额代理调整请求,以请求更大的份额。
该父配额节点的配额代理调整请求成功得到响应后,父配额节点本地针对相关用户的配额数据库记录中配额字段的第二字段Limit1_cached增大,即可从中预留部分份额以响应该父配额节点接收到的关联子配额节点的配额代理调整请求。
V.由废除的配额代理触发
如下“配额代理的废除”所示,当持有被废除的配额代理的子配额节点重新上线后,父配额节点(第一父节点)根据子配额节点汇报的资源消耗的量,可能需要向其进一步的父节点(第二父节点)发送配额代理调整请求,请求更大的份额,以使该父配额节点(第一父节点)本地针对所述用户的配额数据库记录中的第一配额Limit0_cfg、第二配额Limit1_cached及资源使用量UseCount[P,C1,C2,…,Cn]字段满足系统定义的约束条件,恢复系统的完整性。
配额代理的废除
配额代理可以被废除。配额代理的废除发生在父配额节点召回配额代理或者配额代理租约到期且需要续订时,出于某些原因(例如网络中断或子配额节点连接失败),父配额节点可能无法与子配额节点取得联系,从而父配额节点将单方面废除配额代理。
当父配额节点P 110废除子配额节点C1 111的配额代理时,父配额节点P 110需要修复其本地的配额数据库记录:
1)配额节点P 110将ReservedShare[C1]字段的值扣除UseCount[C1]字段的值后,累加回Limit0_cfg及Limit1_cached,仿佛从未向子配额节点C1 111授予过配额代理。
2)配额节点P 110将字段DelegationFlag[C1]设置为已废除,以指示配额节点P 110单方面废除了配额节点C1 111的配额代理。该标记将有助于当配额节点C1 111重新联机时验证及修复配额节点C1 111的配额代理所破坏的系统完整性。
3)配额节点P 110清除字段ReserveShare[C1]。
4)配额节点P 110保留字段UseCount[C1]。
当配额节点C1 111重新联机时,配额节点P 110向子配额节点C1 111发送配额代理废除请求:
1)配额节点C1 111收到该配额代理废除请求后,
a.召回向其子配额节点授予的所有的配额代理;
b.重置本地针对所述用户的配额数据库记录中配额字段的第二字段Limit1_cached为无效;
c.创建临时配额数据库记录,其中至少包含所述用户标识符及所述用户在配额节点C1 111及其所有关联子节点上消耗的资源的总量;
d.向配额节点P 110发送配额代理废除响应,其中包含上述临时配额数据库记录。
2)配额节点P 110收到该配额代理废除响应后,
a.利用接收到的上述临时配额数据库记录中包含的所述用户在配额节点C1 111及其所有关联子节点上消耗的资源的总量,修正本地针对所述用户的配额数据库记录中Limit0_cfg字段、Limit1_cached字段以及UseCount[C1]字段。
b.配额节点P 110将字段DelegationFlag[C1]重置为未授予。
c.如果配额节点P 110没有配额代理,则需要继续向其父配额节点发送具有如表3所示结构的临时配额数据库记录以修正所述用户的资源分配信息。
d.如果修正后的Limit0_cfg为负值,则所述用户在配额节点P 110及C1 111上已耗尽其配额。
e.如果修正后的Limit0_cfg大于等于0且修正后的Limit1_cached为负值且配额节点P 110已召回所有配额代理,则配额节点P 110需要向其父节点发送配额代理调整请求以获取更大的配额代理份额。
配额节点C1 111的配额代理被废除后,在需要时将不得不重新请求配额代理。
图4是示出根据本发明一个具体实施例的在分层配额系统中管理资源分配的方法400的时序图。在图4所示的实施例中,假定分层配额系统采用如图1所示的树形架构,用户114向子配额节点C1111请求分配资源。
在步骤S401,父配额节点P 110在某个时刻向子配额节点C1 111授予配额代理。
在步骤S402,用户114向配额节点C1 111发送资源分配请求,以请求配额节点C1 111为其分配资源。
在步骤S403,配额节点C1 111检查本地配额数据库以查找针对用户114的配额数据库记录。在查找到针对用户114的配额数据库记录后,在配额节点C1 111处可执行如下操作:检查第一配额Limit0_cfg,确定所请求的资源的量是否超过了系统管理员在配额节点C1 111处设置的第一配额Limit0_cfg;如果没有超过第一配额Limit0_cfg,则进一步确定是否具有针对配额节点C1 111的配额代理,即检查是否具有有效的第二配额Limit1_cached;如果确定具有针对配额节点C1 111的配额代理,则进一步确定所请求的资源的量是否超过了针对配额节点C1 111的配额代理所指定的第二配额Limit1_cached;如果未超过第二配额Limit1_cached,则前进至步骤S404,配额节点C1 111更新其本地配额数据库记录的UseCount[P]字段以跟踪用户114的资源消耗,并且从本地配额数据库记录的Limit0_cfg及Limit1_cached字段中扣除为用户114分配的资源的量。
在步骤S405,配额节点C1 111为用户114分配所请求的资源,而无需联系与之直接关联的上层配额节点来进行资源分配决策。
在步骤S406,配额节点C1 111给予用户114所请求的资源。
图5是示出根据本发明一个具体实施例的配额报告过程500的时序图。配额报告过程500可以用来跟踪配额节点上的资源消耗。在图5所示的实施例中,假定分层配额系统仍采用如图1所示的树形架构,父配额节点P 110向子配额节点C1 111授予配额代理。
在步骤S501,父配额节点P 110在某个时刻向子配额节点C1 111授予配额代理。
在步骤S502,当用户114想要获取其在某个分层配额系统内的资源消耗统计信息时,由于任一配额节点都具有关于其自身和与之关联的下层配额节点的配额信息,其中包括配额代理的授予信息、配额份额的划分信息、相关联的每个下层节点上的资源消耗信息(该信息被周期性地更新,如在以上“配额代理更新”部分中所述),因此可以在任一配额节点上查询某用户在该配额节点及其关联的所有子节点上的资源消耗统计信息。例如,在图1所示分层配额系统中,用户114可向配额节点P 110查询该用户在以节点P 110为根的配额节点树上的资源消耗统计信息。
在步骤S503,父配额节点P 110检查是否已经向子配额节点授予了配额代理。如果已经向子配额节点授予了配额代理,则父配额节点P 110需要轮询持有配额代理的子配额节点,以获取持有配额代理的子配额节点上的资源消耗信息,因为父配额节点P 110本地配额数据库(UseCount[S,C1,…,Cn]字段)中保存的子配额节点上的资源消耗信息与子配额节点上的实际资源消耗信息并不实时同步。换言之,如果子(下层)配额节点持有配额代理,则父配额节点本地针对用户的配额数据库记录的资源使用量字段中的相应分字段(UseCount[C1],UseCount[C2]…UseCount[Cn])并不会实时更新。
在步骤S504,父配额节点P 110向持有配额代理的子配额节点查询其资源消耗信息。
在步骤S505,持有配额代理的子配额节点检查其本地的配额数据库(具体为UseCount[S]字段)。
在步骤S506,持有配额代理的子配额节点向父配额节点P 110报告其资源消耗信息,例如通过发送具有如表3所示结构的第二临时配额数据库记录。
在步骤S507,父配额节点P 110将子配额节点所报告的资源消耗信息进行汇总,即该用户在以P 110为根的配额节点树上的资源消耗统计信息。
在步骤S508,父配额节点P 110向用户114报告该资源消耗统计信息。
应当理解,为了简化图示,在图5中仅示出了父配额节点P 110的一个子配额节点C1 111,但是在实际情况中,父配额节点P 110可能向多个子配额节点(例如图1中的子配额节点C1 111和子配额节点C2 112)授予了配额代理,且子配额节点可能进一步向其子节点授予了配额代理(例如图1中的子配额节点C1 111及其子节点CC3 113),因此为了获得该分层配额系统内的资源消耗统计信息,配额节点P 110针对子配额节点C2 112、及配额节点C1 111针对子配额节点CC3 113同样执行步骤S502、步骤S503、步骤S504、步骤S505和步骤S506。
根据本发明的另一方面,还提供了一种在分层配额系统中管理资源分配的装置。所述分层配额管理系统包括自上而下的n层配额节点,n是大于1的正整数。所述装置包括:第一配额检查单元601,被配置为在第i层配额节点中的第一配额节点处,响应于接收到来自用户的资源分配请求,确定所请求的资源的量是否超过了系统管理员在所述第一配额节点处设置的第一配额,其中i是大于1且小于等于n的正整数;配额代理检查单元602,被配置为如果没有超过所述第一配额,则确定是否具有针对所述第一节点的配额代理;第二配额检查单元603,被配置为如果确定具有针对所述第一配额节点的配额代理,则进一步确定所请求的资源的量是否超过了针对所述第一配额节点的配额代理所指定的第二配额;以及资源分配单元604,被配置为如果所请求的资源的量未超过所述第二配额,则向所述用户分配所请求的资源。
应当注意,本发明的各实施方式提供了在分层配额系统中管理资源分配的方法和装置。应当注意,尽管说明书中结合分层配额系统的具体架构描述了各个实施方式,然而本领域技术人员应当理解,在此并不限制本发明的各实施方式的应用环境。例如,本发明的实施方式可以应用在具有其他分层架构的分层配额系统中。
本发明可以采取硬件实施方式、软件实施方式或既包含硬件组件又包含软件组件的实施方式的形式。在优选实施方式中,本发明实现为软件,其包括但不限于固件、驻留软件、微代码等。
而且,本发明还可以采取可从计算机可用或计算机可读介质访问的计算机程序产品的形式,这些介质提供程序代码以供计算机或任何指令执行系统使用或与其结合使用。出于描述目的,计算机可用或计算机可读机制可以是任何有形的装置,其可以包含、存储、通信、传播或传输程序以由指令执行系统、装置或设备使用或与其结合使用。
介质可以是电的、磁的、光的、电磁的、红外线的、或半导体的系统(或装置或器件)或传播介质。计算机可读介质的例子包括半导体或固态存储器、磁带、可移动计算机磁盘、随机访问存储器(RAM)、只读存储器(ROM)、硬磁盘和光盘。目前光盘的例子包括紧凑盘-只读存储器(CD-ROM)、压缩盘-读/写(CD-R/W)和DVD。
适合于存储/或执行程序代码的数据处理系统将包括至少一个处理器,其直接地或通过系统总线间接地耦合到存储器元件。存储器元件可以包括在程序代码的实际执行期间所利用的本地存储器、大容量存储器、以及提供至少一部分程序代码的临时存储以便减少执行期间从大容量存储器必须取回代码的次数的高速缓存存储器。
输入/输出或I/O设备(包括但不限于键盘、显示器、指点设备等等)可以直接地或通过中间I/O控制器耦合到系统。
网络适配器也可以耦合到系统,以使得数据处理系统能够通过中间的私有或公共网络而耦合到其他数据处理系统或远程打印机或存储设备。调制解调器、线缆调制解调器以及以太网卡仅仅是当前可用的网络适配器类型的几个例子。
从上述描述应当理解,在不脱离本发明真实精神的情况下,可以对本发明各实施方式进行修改和变更。本说明书中的描述仅仅是用于说明性的,而不应被认为是限制性的。本发明的范围仅受所附权利要求书的限制。

Claims (26)

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层配额节点授予配额代理,则所述第一配额节点向所述第二配额节点发送用于调整所述第二配额的第一配额代理调整请求;所述第一配额代理调整请求至少包含所述用户标识符、第二最小份额请求值、及第二最大份额请求值;其中所述第二最小份额请求值为所述用户所请求的资源的量与所述第一配额节点本地针对所述用户的配额数据库记录的配额字段中的所述第二配额之差,所述第二最大份额请求值为所述第一配额节点本地针对所述用户的配额数据库记录的配额字段中的所述第一配额与所述第二配额之差。
13.根据权利要求12所述的方法,其中所述第二配额节点响应于接收到所述第一配额代理调整请求执行以下操作:
(d)检查本地针对所述用户的配额数据库记录中的代理标记字段,以确定所述第一配额节点的配额代理状态;以及
(e)如果确定所述第一配额节点的配额代理状态为已授予,则所述第二配额节点检查本地针对所述用户的配额数据库记录中配额字段的第二配额是否大于或等于所述第一配额代理调整请求所请求的所述第二最小份额请求值;以及
(f)如果确定所述第一配额节点的配额代理状态为已废除,则所述第二配额节点向所述第一配额节点发送第一配额代理废除请求,所述第一配额代理废除请求至少包含所述用户标识符。
14.根据权利要求13所述的方法,进一步包括:
如果所述第二配额节点本地针对所述用户的配额数据库记录的配额字段中的第二配额大于或等于所述第二最小份额请求值,则所述第二配额节点:
从本地针对所述用户的配额数据库记录中配额字段的所述第一配额及所述第二配额中划分针对所述第一配额代理调整请求而为所述第一配额节点预留的份额;
将预留的所述份额累加到所述配额数据库记录的预留份额字段中针对所述第一配额节点的分字段;以及
向所述第一配额节点发送针对所述第一配额代理调整请求的响应,所述响应中至少包含为所述第一配额节点预留的所述份额。
15.根据权利要求13所述的方法,进一步包括:
如果所述第二配额节点本地针对所述用户的配额数据库记录的配额字段中的第二配额小于所述第二最小份额请求值,则从与所述第二配额节点直接关联的下层配额节点中除所述第一配额节点之外的一个或多个配额节点召回配额代理,直到所述第二配额大于或等于所述第二最小份额值。
16.根据权利要求15所述的方法,其中从与所述第二配额节点直接关联的下层配额节点中的多个配额节点中的任一个召回配额代理包括:
所述第二配额节点向与其直接关联的下层配额节点中的第四配额节点发送第一配额代理召回请求。
17.根据权利要求16所述的方法,进一步包括:
所述第四配额节点响应于接收到所述配额代理召回请求而执行如下操作:
检查本地针对所述用户的配额数据库记录的代理标记字段,以确定是否向与其直接关联的下层配额节点授予了配额代理;
如果已向与其直接关联的下层配额节点授予了配额代理,则进一步召回所有的配额代理;
重置本地针对所述用户的配额数据库记录中的配额字段的第二配额为无效;以及
向所述第二配额节点发送配额代理召回响应,所述配额代理召回响应至少包含所述用户在所述第四配额节点及所有与其关联的子节点上消耗的资源的总量。
18.根据权利要求17所述的方法,进一步包括:
所述第二配额节点响应于接收到所述配额代理召回响应,更新本地针对所述用户的配额数据库记录,更新本地针对所述用户的配额数据库记录包括:
将所述配额代理召回响应中包含的资源消耗的总量更新至所述用户的配额数据库记录的资源使用量字段中第四配额节点所对应的分字段;以及
将为所述第四配额节点的配额代理预留的份额扣除所述资源消耗的总量后、累加至所述第二配额节点本地针对所述用户的配额数据库记录的配额字段中的所述第一配额及所述第二配额。
19.根据权利要求16所述的方法,进一步包括:
所述第二配额节点从与所述第二配额节点直接关联的下层配额节点召回除所述第一配额节点所持有的配额代理之外的所有其他配额代理;
确定所述第二配额节点本地针对所述用户的配额数据库记录的配额字段中的第二配额是否小于所述第二最小份额请求值;以及
如果所述第二配额小于所述第二最小份额请求值,则所述第二配额节点检查本地针对所述用户配额数据库记录中配额字段的所述第一配额。
20.根据权利要求19所述的方法,进一步包括:
(g)如果所述第一配额小于所述第一配额代理调整请求所请求的所述第二最小份额请求值,则所述第二配额节点拒绝所述第一配额代理调整请求;以及
(h)如果所述第一配额大于或等于所述第一配额代理调整请求所请求的所述第二最小份额请求值,则所述第二配额节点向第i-2层配额节点中与所述第二配额节点直接关联的的第三配额节点发送第二配额代理调整请求。
21.根据权利要求20所述的方法,其中所述步骤(h)迭代地执行,直至第1层配额节点中与所述第二配额节点关联的配额节点为止。
22.根据权利要求13所述的方法,进一步包括所述第一配额节点响应于接收到所述第一配额代理废除请求而执行如下操作:
向所有与所述第一配额节点直接关联的第i+1层配额节点召回配额代理;
重置所述第一配额节点本地针对所述用户配额数据库记录的配额字段中的第二配额为无效;
创建第二临时配额数据库记录,其中所述第二临时配额数据库记录至少包含所述用户标识符及所述用户在所述第一配额节点及所有与所述第一配额节点关联的所述第i+1层配额节点上消耗的资源的总量;以及
向所述第二配额节点发送第二临时配额数据库记录。
23.根据权利要求22所述的方法,进一步包括:
所述第二配额节点响应于接收到所述第二临时配额数据库记录,修正本地针对所述用户的配额数据库记录。
24.根据权利要求1所述的方法,进一步包括:
响应于配额代理期满,所述第一配额节点向第i-1层配额节点中与所述第一配额节点直接关联的第二配额节点更新所述配额代理。
25.根据权利要求24所述的方法,其中更新所述配额代理包括:
在所述第一配额节点处创建第三临时配额数据库记录,其中所述第三临时配额数据库记录至少包含用户标识符和所述用户在第一配额节点及所有与所述第一配额节点关联的第i+1层配额节点上消耗的资源的总量;以及
向所述第二配额节点发送所述第三临时配额数据库记录。
26.一种在分层配额系统中管理资源分配的装置,所述分层配额管理系统包括自上而下的n层配额节点,n是大于1的正整数,所述装置包括:
第一配额检查单元,被配置为在第i层配额节点中的第一配额节点处,响应于接收到来自用户的资源分配请求,确定所请求的资源的量是否超过了系统管理员在所述第一配额节点处设置的第一配额,其中i是大于1且小于等于n的正整数;
第一配额代理检查单元,被配置为如果没有超过所述第一配额,则确定是否持有针对所述第一配额节点的配额代理;
第二配额检查单元,被配置为如果确定持有针对所述第一配额节点的配额代理,则进一步确定所请求的资源的量是否超过了针对所述第一配额节点的配额代理所指定的第二配额;以及
资源分配单元,被配置为如果所请求的资源的量未超过所述第二配额,则向所述用户分配所请求的资源。
CN201310756078.1A 2013-12-31 2013-12-31 在分层配额系统中管理资源分配的方法和装置 Active CN104750558B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201310756078.1A CN104750558B (zh) 2013-12-31 2013-12-31 在分层配额系统中管理资源分配的方法和装置
US14/584,337 US11003497B2 (en) 2013-12-31 2014-12-29 Managing resource allocation in hierarchical quota system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310756078.1A CN104750558B (zh) 2013-12-31 2013-12-31 在分层配额系统中管理资源分配的方法和装置

Publications (2)

Publication Number Publication Date
CN104750558A true CN104750558A (zh) 2015-07-01
CN104750558B CN104750558B (zh) 2018-07-03

Family

ID=53483201

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310756078.1A Active CN104750558B (zh) 2013-12-31 2013-12-31 在分层配额系统中管理资源分配的方法和装置

Country Status (2)

Country Link
US (1) US11003497B2 (zh)
CN (1) CN104750558B (zh)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105426251A (zh) * 2015-12-01 2016-03-23 深圳创维数字技术有限公司 一种资源访问方法及系统
CN107493485A (zh) * 2016-06-13 2017-12-19 中兴通讯股份有限公司 一种资源控制方法、装置和iptv服务器
CN109313644A (zh) * 2016-04-06 2019-02-05 里尼阿克股份有限公司 数据库代理所用的系统和方法
CN109901923A (zh) * 2017-12-07 2019-06-18 财付通支付科技有限公司 一种频率限制方法、频率限制装置及可读存储介质
CN111142746A (zh) * 2019-12-11 2020-05-12 上海众言网络科技有限公司 一种系统配额计算方法和装置
CN111552438A (zh) * 2020-04-23 2020-08-18 广州市百果园信息技术有限公司 一种对象写入的方法、装置、服务器和存储介质
CN111897627A (zh) * 2020-07-07 2020-11-06 烽火通信科技股份有限公司 一种云计算资源配额管理方法和系统
CN113626404A (zh) * 2021-06-30 2021-11-09 济南浪潮数据技术有限公司 分布式文件系统嵌套目录配额的控制方法、装置及介质
CN113760940A (zh) * 2020-09-24 2021-12-07 北京沃东天骏信息技术有限公司 应用于分布式系统的配额管理方法、装置、设备及介质
US11349922B2 (en) 2016-04-06 2022-05-31 Marvell Asia Pte Ltd. System and method for a database proxy
US11429595B2 (en) 2020-04-01 2022-08-30 Marvell Asia Pte Ltd. Persistence of write requests in a database proxy

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9465645B1 (en) 2014-06-25 2016-10-11 Amazon Technologies, Inc. Managing backlogged tasks
US20150378993A1 (en) * 2014-06-27 2015-12-31 Netapp, Inc. System and method for implementing a quota system in a distributed file system
US10366358B1 (en) * 2014-12-19 2019-07-30 Amazon Technologies, Inc. Backlogged computing work exchange
US9959152B2 (en) * 2015-02-27 2018-05-01 Matrixx Software, Inc. Adaptive quota management system
US20170083567A1 (en) * 2015-09-18 2017-03-23 Thermopylae Sciences and Technology High-dimensional data storage and retrieval
US10044879B1 (en) * 2016-05-16 2018-08-07 Amdocs Development Limited System, method, and computer program for monitoring and allocating a quota for a user session associated with a service corresponding to a communication service provider (CSP)
BR112018075561A2 (pt) * 2016-06-23 2019-03-19 Telefonaktiebolaget Lm Ericsson (Publ) método realizado por um nó em uma rede de telecomunicações, nó configurado para operação como um cliente de cobrança em uma rede de telecomunicações, e, nó configurado para operação como um servidor de cobrança em uma rede de telecomunicações
US10467195B2 (en) 2016-09-06 2019-11-05 Samsung Electronics Co., Ltd. Adaptive caching replacement manager with dynamic updating granulates and partitions for shared flash-based storage system
US10455045B2 (en) 2016-09-06 2019-10-22 Samsung Electronics Co., Ltd. Automatic data replica manager in distributed caching and data processing systems
US10768986B2 (en) * 2017-01-06 2020-09-08 International Business Machines Corporation Management and utilization of storage capacities in a converged system
US10824355B2 (en) 2017-01-10 2020-11-03 International Business Machines Corporation Hierarchical management of storage capacity and data volumes in a converged system
US10938901B2 (en) 2017-01-11 2021-03-02 International Business Machines Corporation Management and utilization of data volumes in a converged system
US10318351B2 (en) * 2017-04-27 2019-06-11 International Business Machines Corporation Resource provisioning with automatic approval or denial of a request for allocation of a resource
CN109729113B (zh) * 2017-10-27 2021-03-23 伊姆西Ip控股有限责任公司 管理专用处理资源的方法、服务器系统和计算机程序产品
US10831371B2 (en) * 2018-01-02 2020-11-10 International Business Machines Corporation Quota controlled movement of data in a tiered storage system
CN110058948B (zh) * 2019-04-28 2022-01-28 恒生电子股份有限公司 一种资源监控方法、装置、设备及介质
US10789098B1 (en) * 2019-06-04 2020-09-29 Alibaba Group Holding Limited Resource transfer operations
US11646975B2 (en) 2019-08-09 2023-05-09 Oracle International Corporation System and method for compartment quotas in a cloud infrastructure environment
US11689475B2 (en) 2019-08-09 2023-06-27 Oracle International Corporation System and method for tag based resource limits or quotas in a cloud infrastructure environment
CN110490765A (zh) * 2019-08-23 2019-11-22 深圳市新系区块链技术有限公司 一种资源控制方法、系统、装置及计算机可读存储介质
US11397621B2 (en) 2019-08-30 2022-07-26 Oracle International Corporation System and method for service limit increase for a multi-tenant cloud infrastructure environment
EP4133372A1 (en) * 2020-04-07 2023-02-15 Telefonaktiebolaget LM ERICSSON (PUBL) Resource capacity management in clouds
US11689473B2 (en) * 2020-07-24 2023-06-27 Oracle International Corporation Pre-allocating resources with hierarchy-based constraints
CN112035220A (zh) * 2020-09-30 2020-12-04 北京百度网讯科技有限公司 开发机操作任务的处理方法、装置、设备以及存储介质
JP2022080633A (ja) * 2020-11-18 2022-05-30 株式会社リコー 情報処理システム、プログラム、情報処理装置、及び料金算出方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5467352A (en) * 1994-02-07 1995-11-14 International Business Machines Corporation Method and apparatus for improved throughput in a multi-node communication system with a shared resource
CN101063947A (zh) * 2006-04-27 2007-10-31 国际商业机器公司 便于确定作业的调度优先级的方法和系统
CN102426542A (zh) * 2011-10-28 2012-04-25 中国科学院计算技术研究所 数据中心资源管理系统及作业调度方法
US20120272237A1 (en) * 2011-04-20 2012-10-25 Ayal Baron Mechanism for managing quotas in a distributed virtualziation environment
CN102929721A (zh) * 2012-09-29 2013-02-13 北京奇虎科技有限公司 基于站点配额的均衡调度系统及方法
US20130305245A1 (en) * 2012-05-11 2013-11-14 Infosys Limited Methods for managing work load bursts and devices thereof

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5421011A (en) * 1991-12-20 1995-05-30 International Business Machines Corporation Method and system for access and accounting control in a data processing system by using a single resource account for a user or a group of users
IL150911A0 (en) * 2002-07-25 2003-02-12 Sphera Technologies Ltd A method and apparatus for dynamically allocating and managing resources in a computerized system having multiple consumers
US7716275B1 (en) * 2004-08-31 2010-05-11 Symantec Operating Corporation Method and system for implementing shared quotas
KR101116615B1 (ko) * 2007-03-28 2012-03-07 삼성전자주식회사 자바 가상 머신 상에서 이뤄지는 애플리케이션 및 스레드의자원 관리 시스템 및 방법
US7783666B1 (en) * 2007-09-26 2010-08-24 Netapp, Inc. Controlling access to storage resources by using access pattern based quotas
US8838796B2 (en) * 2008-12-19 2014-09-16 Adobe Systems Incorporated System and method for allocating online storage to computer users
US9106591B2 (en) * 2009-12-24 2015-08-11 Delphix Corporation Adaptive resource management using survival minimum resources for low priority consumers
US9203746B2 (en) * 2013-10-11 2015-12-01 Ciena Corporation Hierarchical resource management for switch assembly systems

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5467352A (en) * 1994-02-07 1995-11-14 International Business Machines Corporation Method and apparatus for improved throughput in a multi-node communication system with a shared resource
CN101063947A (zh) * 2006-04-27 2007-10-31 国际商业机器公司 便于确定作业的调度优先级的方法和系统
US20120272237A1 (en) * 2011-04-20 2012-10-25 Ayal Baron Mechanism for managing quotas in a distributed virtualziation environment
CN102426542A (zh) * 2011-10-28 2012-04-25 中国科学院计算技术研究所 数据中心资源管理系统及作业调度方法
US20130305245A1 (en) * 2012-05-11 2013-11-14 Infosys Limited Methods for managing work load bursts and devices thereof
CN102929721A (zh) * 2012-09-29 2013-02-13 北京奇虎科技有限公司 基于站点配额的均衡调度系统及方法

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105426251A (zh) * 2015-12-01 2016-03-23 深圳创维数字技术有限公司 一种资源访问方法及系统
CN109313644B (zh) * 2016-04-06 2022-03-08 马维尔亚洲私人有限公司 数据库代理所用的系统和方法
CN109313644A (zh) * 2016-04-06 2019-02-05 里尼阿克股份有限公司 数据库代理所用的系统和方法
US11349922B2 (en) 2016-04-06 2022-05-31 Marvell Asia Pte Ltd. System and method for a database proxy
CN107493485A (zh) * 2016-06-13 2017-12-19 中兴通讯股份有限公司 一种资源控制方法、装置和iptv服务器
CN109901923A (zh) * 2017-12-07 2019-06-18 财付通支付科技有限公司 一种频率限制方法、频率限制装置及可读存储介质
CN109901923B (zh) * 2017-12-07 2022-10-21 财付通支付科技有限公司 一种频率限制方法、频率限制装置及可读存储介质
CN111142746A (zh) * 2019-12-11 2020-05-12 上海众言网络科技有限公司 一种系统配额计算方法和装置
US11429595B2 (en) 2020-04-01 2022-08-30 Marvell Asia Pte Ltd. Persistence of write requests in a database proxy
CN111552438A (zh) * 2020-04-23 2020-08-18 广州市百果园信息技术有限公司 一种对象写入的方法、装置、服务器和存储介质
CN111897627A (zh) * 2020-07-07 2020-11-06 烽火通信科技股份有限公司 一种云计算资源配额管理方法和系统
CN113760940A (zh) * 2020-09-24 2021-12-07 北京沃东天骏信息技术有限公司 应用于分布式系统的配额管理方法、装置、设备及介质
CN113626404A (zh) * 2021-06-30 2021-11-09 济南浪潮数据技术有限公司 分布式文件系统嵌套目录配额的控制方法、装置及介质
CN113626404B (zh) * 2021-06-30 2024-02-13 济南浪潮数据技术有限公司 分布式文件系统嵌套目录配额的控制方法、装置及介质

Also Published As

Publication number Publication date
CN104750558B (zh) 2018-07-03
US11003497B2 (en) 2021-05-11
US20150188840A1 (en) 2015-07-02

Similar Documents

Publication Publication Date Title
CN104750558A (zh) 在分层配额系统中管理资源分配的方法和装置
US10642861B2 (en) Multi-instance redo apply
CN102053982B (zh) 一种数据库信息管理方法和设备
US20110153606A1 (en) Apparatus and method of managing metadata in asymmetric distributed file system
CN104811493B (zh) 一种网络感知的虚拟机镜像存储系统及读写请求处理方法
WO2016202199A1 (zh) 分布式文件系统及其文件元信息管理方法
CN110196860B (zh) 唯一标识分配方法及装置、电子设备、存储介质
EP2875653A1 (en) Method for generating a dataset structure for location-based services and method and system for providing location-based services to a mobile device
CN112765262A (zh) 一种数据重分布方法、电子设备及存储介质
US10901648B2 (en) Distributed data storage system with automatic snapshots, user snapshots and soft delete
CN103581052A (zh) 一种数据处理方法、路由器及ndn系统
CN112162846B (zh) 事务处理方法、设备及计算机可读存储介质
CN107451853A (zh) 一种红包实时派发的方法、装置、系统及存储介质
CN105045762A (zh) 一种配置文件的管理方法及装置
EP4170491A1 (en) Resource scheduling method and apparatus, electronic device, and computer-readable storage medium
CN106960011A (zh) 分布式文件系统元数据管理系统及方法
CN107920129A (zh) 一种数据存储的方法、装置、设备以及云存储系统
Liang et al. A location‐aware service deployment algorithm based on K‐means for cloudlets
US8707318B2 (en) Partitioning system including a generic partitioning manager for partitioning resources
CN104461736B (zh) 资源分配与搜索方法、资源分配与搜索系统和云服务器
US8266634B2 (en) Resource assignment system with recovery notification
CN107302849B (zh) 一种光路径的分配方法及装置
US20200053015A1 (en) Method of data caching in delay tolerant network based on information centric network, computer readable medium and device for performing the method
CN109844723B (zh) 使用基于服务的统计信息进行主控建立的方法和系统
US20060136485A1 (en) Dynamic selection or modification of data management patterns

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20200408

Address after: Massachusetts, USA

Patentee after: EMC IP Holding Company LLC

Address before: Massachusetts, USA

Patentee before: EMC Corp.