CN108369531B - 控制io带宽和处理io访问请求的方法、装置及系统 - Google Patents

控制io带宽和处理io访问请求的方法、装置及系统 Download PDF

Info

Publication number
CN108369531B
CN108369531B CN201680056237.9A CN201680056237A CN108369531B CN 108369531 B CN108369531 B CN 108369531B CN 201680056237 A CN201680056237 A CN 201680056237A CN 108369531 B CN108369531 B CN 108369531B
Authority
CN
China
Prior art keywords
bandwidth
data node
tenant
node
name
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.)
Active
Application number
CN201680056237.9A
Other languages
English (en)
Other versions
CN108369531A (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.)
Huawei Cloud Computing Technologies Co Ltd
Original Assignee
Huawei Cloud Computing Technologies Co Ltd
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 Huawei Cloud Computing Technologies Co Ltd filed Critical Huawei Cloud Computing Technologies Co Ltd
Publication of CN108369531A publication Critical patent/CN108369531A/zh
Application granted granted Critical
Publication of CN108369531B publication Critical patent/CN108369531B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/78Architectures of resource allocation
    • H04L47/783Distributed allocation of resources, e.g. bandwidth brokers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • 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]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/12Discovery or management of network topologies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/16Threshold monitoring
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Environmental & Geological Engineering (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明实施例提供一种控制IO带宽和处理IO访问请求的方法、装置及系统,涉及存储技术领域,分配IO带宽的方式比较灵活。该控制IO带宽的方法应用于包括名称节点和至少一个数据节点的分布式文件系统。该方法包括:名称节点确定该至少一个数据节点中每个数据节点的IO带宽和第一租户的IO带宽;名称节点基于该至少一个数据节点中每个数据节点的IO带宽以及第一租户的IO带宽,指示该至少一个数据节点为第一租户分配该至少一个IO带宽,其中,该至少一个IO带宽与该至少一个数据节点一一对应,该至少一个IO带宽中的每个IO带宽大于0,且小于或者等于对应的数据节点的IO带宽。

Description

控制IO带宽和处理IO访问请求的方法、装置及系统
技术领域
本发明涉及存储技术领域,尤其涉及一种控制输入输出(input output,简称IO)带宽和处理IO访问请求的方法、装置及系统。
背景技术
随着存储技术的不断发展,分布式文件系统的应用越来越广泛。如图1所示,为一种应用访问分布式文件系统的示意图。
通常,当某个应用,例如应用1访问分布式文件系统时,该分布式文件系统可根据应用1的IO访问请求1为应用1分配IO带宽1。当另一个应用,例如应用2访问分布式文件系统时,该分布式文件系统可根据应用2的IO访问请求2为应用2重新分配新的IO带宽2,该IO带宽2和该IO带宽1为不同的IO带宽。
在上述技术方案中,分布式文件系统需要为不同的应用分配不同的IO带宽,IO带宽的分配方式不够灵活。
发明内容
本申请提供一种控制IO带宽和处理IO访问请求的方法、装置及系统,分配IO带宽的方式比较灵活。
为达到上述目的,本申请采用如下技术方案:
第一方面,提供一种应用于分布式文件系统的控制IO带宽的方法。该分布式文件系统包括名称节点和所述至少一个数据节点。
该方法包括:名称节点确定所述至少一个数据节点中每个数据节点的IO带宽和第一租户的IO带宽;并基于所述至少一个数据节点中每个数据节点的IO带宽以及第一租户的IO带宽,指示所述至少一个数据节点为第一租户分配至少一个IO带宽。
其中,上述至少一个IO带宽与所述至少一个数据节点一一对应,所述至少一个IO带宽中的每个IO带宽大于0,并且小于或者等于对应的数据节点的IO带宽。
通过上述方法,本申请可以实现为租户分配IO带宽,分配IO带宽的方式比较灵活。
该租户的IO带宽为至少一个用户共享,所述至少一个用户中的每个用户对应至少一个应用,因此属于该租户的至少一个用户对应的多个应用可以共享为该租户分配的IO带宽,即使在不同时刻该多个应用可能不同,但该多个应用仍共享为该租户分配的IO带宽,因此能够提高分布式文件系统中IO带宽的利用率。
在第一方面的第一种可选的实现方式中,上述至少一个IO带宽的总和小于或者等于第一租户的IO带宽;或者,上述至少一个IO带宽的总和小于或者等于第一租户的IO带宽与额外带宽之和。
通过上述第一方面的第一种可选的实现方式,名称节点可以指示数据节点为第一租户分配合适的IO带宽,例如根据第一租户的优先级为第一租户分配IO带宽,从而尽可能地满足第一租户的IO带宽需求。
在第一方面的第二种可选的实现方式中,所述至少一个数据节点包括第一数据节点,第一数据节点在名称节点的指示下为第一租户分配的IO带宽是第一IO带宽,第一IO带宽是所述至少一个IO带宽中与第一数据节点对应的IO带宽。
上述名称节点基于所述至少一个数据节点中每个数据节点的IO带宽以及第一租户的IO带宽,指示所述至少一个数据节点为第一租户分配至少一个IO带宽之后,该方法还包括:名称节点确定第一租户分别在所述至少一个IO带宽中使用的IO带宽为至少一个使用带宽,所述至少一个使用带宽与所述至少一个IO带宽一一对应;且名称节点根据所述至少一个使用带宽,指示所述至少一个数据节点分别调整所述至少一个IO带宽中对应的IO带宽,或者指示第一数据节点调整第一IO带宽。
由于名称节点为第一租户分配所述至少一个IO带宽之后,第一租户可能并不会将这所述至少一个IO带宽全部使用完,或者所述至少一个IO带宽可能并不能满足第一租户所需的IO带宽,或者第一租户使用所述至少一个IO带宽的差别较大(例如所述至少一个IO带宽中部分个数的IO带宽被第一租户全部使用,但所述至少一个IO带宽中其他部分个数的IO带宽被第一租户使用较少),因此名称节点需要根据第一租户在所述至少一个IO带宽中的所述至少一个使用带宽,指示相应的数据节点(可以是所述至少一个数据节点包括的一个或多个数据节点)调整为第一租户分配的IO带宽,如此名称节点能够合理地为第一租户分配IO带宽。
在第一方面的第三种可选的实现方式中,上述名称节点基于所述至少一个数据节点中每个数据节点的IO带宽以及第一租户的IO带宽,指示所述至少一个数据节点为第一租户分配所述至少一个IO带宽之后,该方法还包括:名称节点确定第一租户分别在所述至少一个IO带宽中使用的IO带宽为至少一个使用带宽,所述至少一个使用带宽与所述至少一个IO带宽一一对应;且当所述至少一个IO带宽之和与所述至少一个使用带宽之和的差值小于或者等于第一阈值时,名称节点指示第二数据节点为第一租户分配IO带宽,所述至少一个数据节点不包括第二数据节点。
名称节点确定所述至少一个IO带宽之和与第一租户分别在所述至少一个IO带宽中使用的所述至少一个使用带宽之和的差值小于或者等于第一阈值时,表示第一租户实际使用的IO带宽已经非常接近所述至少一个数据节点为其分配的IO带宽(即第一租户基本全部使用了所述至少一个数据节点为其分配的IO带宽),此时为了优先保证第一租户的业务,使得第一租户具有充足的IO带宽,名称节点还可以指示分布式存储系统中除上述至少一个数据节点之外的其他数据节点(例如第二数据节点)为第一租户分配IO带宽,即名称节点指示增加为第一租户分配的IO带宽。
在第一方面的第四种可选的实现方式中,上述名称节点基于所述至少一个数据节点中每个数据节点的IO带宽以及第一租户的IO带宽,指示所述至少一个数据节点为第一租户分配至少一个IO带宽之后,该方法还包括:名称节点确定第一租户分别在所述至少一个IO带宽中使用的IO带宽为至少一个使用带宽,所述至少一个使用带宽与所述至少一个IO带宽一一对应;且当所述至少一个IO带宽之和与所述至少一个使用带宽之和的差值大于第一阈值时,名称节点指示所述至少一个数据节点中的第三数据节点将第三数据节点为第一租户分配的IO带宽调整为0。
名称节点确定所述至少一个IO带宽之和与第一租户分别在所述至少一个IO带宽中使用的所述至少一个使用带宽之和的差值大于第一阈值时,表示第一租户实际使用的IO带宽远小于所述至少一个数据节点为其分配的IO带宽(即第一租户可能只使用了所述至少一个数据节点为其分配的IO带宽中的一部分带宽),此时为了节省IO带宽(或者将第一租户没有使用的IO带宽给其他租户使用),名称节点还可以指示所述至少一个数据节点中的第三数据节点将第三数据节点为第一租户分配的IO带宽调整为0,即名称节点指示减少为第一租户分配的IO带宽。
在第一方面的第五种可选的实现方式中,上述至少一个数据节点包括第一数据节点,第一数据节点在名称节点的指示下为第一租户分配的IO带宽是第一IO带宽,第一IO带宽是所述至少一个IO带宽中与第一数据节点对应的IO带宽。
上述名称节点基于所述至少一个数据节点中每个数据节点的IO带宽以及第一租户的IO带宽,指示所述至少一个数据节点为第一租户分配所述至少一个IO带宽之后,该方法还包括:名称节点确定第一租户使用的第一IO带宽中的IO带宽;且根据第一租户使用的第一IO带宽中的IO带宽,指示第一数据节点调整第一IO带宽。
通过上述第一方面的第五种可选的实现方式,名称节点可以以数据节点为单位,指示相应的数据节点(例如第一数据节点)分别在数据节点内部调整数据节点为第一租户分配的IO带宽。如此,名称节点可以根据第一租户在各数据节点实际使用的IO带宽,指示对应数据节点为第一租户提供更加合适的IO带宽,另外还可以尽可能地满足第一租户的IO带宽需求。
在第一方面的第六种可选的实现方式中,m个租户包括第一租户,m为正整数。
上述名称节点确定第一租户的IO带宽的方法包括:名称节点根据m个租户中每个租户的权重,从所述至少一个数据节点中每个数据节点的IO带宽的总和,确定第一租户的IO带宽。
其中,名称节点可以通过公式一确定第一租户的IO带宽。
上述公式一为:第一租户的IO带宽=第一租户的权重/由所述至少一个数据节点分配IO带宽的所有租户的权重之和*所述至少一个数据节点中每个数据节点的IO带宽的总和。
由于名称节点通过公式一为租户分配IO带宽时是按照每个租户的权重分配的,因此为每个租户分配的IO带宽可以尽量满足每个租户对IO带宽的需求,并且均衡地满足每个租户对IO带宽的需求。
第二方面,提供又一种控制IO带宽的方法,该方法应用于分布式文件系统,该分布式文件系统包括至少一个数据节点,所述至少一个数据节点包括第一数据节点。该方法包括:第一数据节点确定所述至少一个数据节点中每个数据节点的IO带宽和第一租户的IO带宽,并根据所述至少一个数据节点中每个数据节点的IO带宽和第一租户的IO带宽,为第一租户分配第一IO带宽。第一IO带宽大于0,且小于或等于第一数据节点的IO带宽。
使用上述方法提供的技术方案,本申请可以实现为租户分配IO带宽,分配IO带宽的方式比较灵活。
该租户的IO带宽为至少一个用户共享,所述至少一个用户中的每个用户对应至少一个应用,因此属于该租户的至少一个用户对应的多个应用可以共享为该租户分配的IO带宽,即使在不同时刻该多个应用可能不同,但该多个应用仍共享为该租户分配的IO带宽,因此能够提高分布式文件系统中IO带宽的利用率。
第二方面所示的控制IO带宽的方法与上述第一方面所示的控制IO带宽的方法相比,由于第二方面所示的控制IO带宽的方法可以由各个数据节点自行为租户分配IO带宽,而无需在名称节点的指示下为租户分配IO带宽,因此可以减轻名称节点的负担,节省名称节点的资源,降低名称节点的开销。
进一步地,由于各个数据节点无需在名称节点的指示下为租户分配IO带宽,因此各个数据节点可以实时地自行为租户在本数据节点上分配IO带宽,从而还可以提高在租户级别控制IO带宽的实时性。
在第二方面的第一种可选的实现方式中,上述第一IO带宽小于或等于第一租户的IO带宽;或者,上述第一IO带宽小于或等于第一租户的IO带宽与额外带宽之和。
通过上述第二方面的第一种可选的实现方式,第一数据节点可以为第一租户分配合适的IO带宽,例如根据第一租户的优先级为第一租户分配IO带宽,从而尽可能地满足第一租户的IO带宽需求。
在第二方面的第二种可选的实现方式中,在第一数据节点为第一租户分配第一IO带宽之后,该方法还包括:第一数据节点确定第一租户分别在所述至少一个数据节点中使用的IO带宽为至少一个使用带宽;且第一数据节点根据所述至少一个使用带宽,调整第一IO带宽。
由于第一数据节点为第一租户分配第一IO带宽之后,第一租户可能并不会将第一IO带宽全部使用完,或者第一IO带宽可能并不能满足第一租户所需的IO带宽,或者第一租户使用第一IO带宽的差别较大(例如第一IO带宽中部分IO带宽被第一租户全部使用,但第一IO带宽中其他部分IO带宽被第一租户使用较少),因此第一数据节点需要根据第一租户的实际使用带宽(即所述至少一个使用带宽),调整第一数据节点为第一租户分配的第一IO带宽。如此第一数据节点能够合理地为第一租户分配IO带宽。
在第二方面的第三种可选的实现方式中,在第一数据节点为第一租户分配第一IO带宽之后,该方法还包括:第一数据节点确定第一租户使用的第一IO带宽中的IO带宽;且第一数据节点根据第一租户使用的第一IO带宽中的IO带宽,调整第一IO带宽。
第一数据节点为第一租户分配第一IO带宽之后,第一数据节点可以根据第一租户在第一IO带宽中实际使用的IO带宽,调整第一IO带宽。如此,第一数据节点能够为第一租户提供合适的IO带宽,另外还可以尽可能地满足第一租户的IO带宽需求。
在第二方面的第四种可选的实现方式中,上述第一数据节点确定第一租户的IO带宽的方法包括:第一数据节点根据m个租户中每个租户的权重,从所述至少一个数据节点中每个数据节点的IO带宽的总和,确定第一租户的IO带宽。
对于第二方面第四种可选的实现方式的具体描述和技术效果可以参见上述第一方面的第六种可选的实现方式中的相关描述,此处不再赘述。
第三方面,提供一种处理IO访问请求的方法,该方法应用于分布式文件系统,该分布式文件系统包括至少一个数据节点,所述至少一个数据节点包括第一数据节点。该方法包括:第一数据节点接收租户访问分布式文件系统的IO访问请求;并根据该IO访问请求,确定该IO访问请求对应的租户;以及根据第一数据节点已为该租户分配的IO带宽,确定是否延迟响应该IO访问请求。
本申请提供的处理IO访问请求的方法应用于分布式文件系统,该分布式文件系统包括至少一个数据节点,所述至少一个数据节点包括第一数据节点。该方法中第一数据节点通过接收租户访问分布式文件系统的IO访问请求,并根据该IO访问请求确定该IO访问请求对应的租户,然后再根据第一数据节点已为该租户分配的IO带宽,确定是否延迟响应该IO访问请求。本申请可以实现在数据节点上为租户分配IO带宽,进而数据节点可以根据为租户分配的IO带宽确定是否延迟响应与租户对应的IO访问请求(即本申请一定会响应IO访问请求,可以为立即响应或者延迟响应),因此可以提高响应IO访问请求的成功率。
在第三方面的第一种可选的实现方式中,上述第一数据节点根据第一数据节点已为租户分配的IO带宽,确定是否延迟响应IO访问请求的方法包括:第一数据节点确定第一数据节点已为租户分配的IO带宽与租户在第一数据节点使用的IO带宽的差值;且在确定该差值大于第三阈值时,响应该IO访问请求。
当第一数据节点确定第一数据节点已为租户分配的IO带宽与该租户在第一数据节点使用的IO带宽的差值大于第三阈值时,表示第一数据节点已为租户分配的IO带宽中还有部分空闲IO带宽,即第一数据节点有充足的IO带宽响应该租户对分布式文件系统的IO访问请求,那么第一数据节点可以立即响应该IO访问请求。
在第三方面的第二种可选的实现方式中,上述第一数据节点根据第一数据节点已为租户分配的IO带宽,确定是否延迟响应IO访问请求的方法包括:第一数据节点确定第一数据节点已为租户分配的IO带宽与租户在第一数据节点使用的IO带宽的差值;且在确定该差值小于或者等于第三阈值时,延迟响应该IO访问请求。
当第一数据节点确定第一数据节点已为租户分配的IO带宽与该租户在第一数据节点使用的IO带宽的差值小于或者等于第三阈值时,表示第一数据节点已为该租户分配的IO带宽已经基本没有空闲IO带宽,即第一数据节点暂时没有充足的IO带宽响应该租户对分布式文件系统的IO访问请求,那么第一数据节点可以延迟响应该IO访问请求。
在第三方面的第三种可选的实现方式中,上述第一数据节点为租户分配IO带宽之前,该方法还包括:第一数据节点接收名称节点的指示。
上述第一数据节点为租户分配IO带宽的方法包括:第一数据节点根据名称节点的指示,为租户分配IO带宽。
由于可以由名称节点统一指示各个数据节点为租户分配IO带宽,因此能够合理地为租户分配IO带宽。
在第三方面的第四种可选的实现方式中,上述第一数据节点根据IO访问请求,确定IO访问请求对应的租户的方法包括:第一数据节点根据IO访问请求携带的租户标识,确定IO访问请求对应的租户。
在第三方面的第五种可选的实现方式中,分布式文件系统管理的属于租户的文件所具有的文件属性中包含租户标识;具体地,分布式文件系统管理有属于租户的文件,其中,该文件的文件属性包含该租户的租户标识。一种场景是,分布式文件系统管理有不同租户的文件,可以根据文件的文件属性包含的租户标识确定该文件所属的租户。
上述第一数据节点根据IO访问请求,确定IO访问请求对应的租户的方法包括:第一数据节点根据IO访问请求指定的文件,获取IO访问请求指定的文件所具有的文件属性;且根据获取的文件属性包含的租户标识,确定IO访问请求对应的租户。
通过上述两种方法,第一数据节点接收到IO访问请求后,可以准确地确定出与该IO访问请求对应的租户,从而再根据第一数据节点已为该租户分配的IO带宽,确定是否延迟响应该IO访问请求。
在第三方面的第六种可选的实现方式中,该方法还包括:第一数据节点基于第一数据节点为租户分配的IO带宽,根据使用该租户的至少一个用户中每个用户的权重,为至少一个用户中的每个用户分配IO带宽。
其中,第一数据节点基于第一数据节点为租户分配的IO带宽,通过公式二为使用该租户的至少一个用户中的每个用户分配IO带宽。
上述公式二为:用户的IO带宽=该用户的权重/使用该租户的所有用户的权重之和*第一数据节点为租户分配的IO带宽。
由于第一数据节点通过公式二为属于租户的每个用户分配IO带宽时是按照每个用户的权重分配的,因此为每个用户分配的IO带宽可以尽量满足每个用户对IO带宽的需求,并且均衡地满足每个用户对IO带宽的需求。
在第三方面的第七种可选的实现方式中,该方法还包括:第一数据节点基于第一数据节点为启动至少一个客户端的第一用户分配的IO带宽,根据至少一个客户端中每个客户端的权重,为至少一个客户端中的每个客户端分配IO带宽。
其中,第一数据节点基于第一数据节点为启动至少一个客户端的第一用户分配的IO带宽,通过公式三为由第一用户启动的至少一个客户端中的每个客户端分配IO带宽。
上述公式三可以为:客户端的IO带宽=该客户端的权重/由第一用户启动的所有客户端的权重之和*第一数据节点为第一用户分配的IO带宽。
由于第一数据节点通过公式三为由一个用户登录的每个客户端分配IO带宽时是按照每个客户端的权重分配的,因此为每个客户端分配的IO带宽可以尽量满足每个客户端对IO带宽的需求,并且均衡地满足每个客户端对IO带宽的需求。
第四方面,提供一种名称节点,该名称节点应用于分布式文件系统,该分布式文件系统包括该名称节点和至少一个数据节点,该名称节点包括确定单元和指示单元。
其中,确定单元用于确定所述至少一个数据节点中每个数据节点的IO带宽和第一租户的IO带宽;指示单元用于基于确定单元确定的所述至少一个数据节点中每个数据节点的IO带宽以及第一租户的IO带宽,指示所述至少一个数据节点为第一租户分配至少一个IO带宽。所述至少一个IO带宽与所述至少一个数据节点一一对应,所述至少一个IO带宽中的每个IO带宽小于或者等于对应的数据节点的IO带宽,所述至少一个IO带宽中的每个IO带宽大于0。
本申请提供的名称节点,可以为租户分配IO带宽,分配IO带宽的方式比较灵活。
该租户的IO带宽为至少一个用户共享,所述至少一个用户中的每个用户对应至少一个应用,因此属于该租户的至少一个用户对应的多个应用可以共享为该租户分配的IO带宽,即使在不同时刻该多个应用可能不同,但该多个应用仍共享为该租户分配的IO带宽,因此能够提高分布式文件系统中IO带宽的利用率。
需要说明的是,本申请提供的名称节点包括但不限于上述第四方面中的确定单元和指示单元,并且上述第四方面中的确定单元和指示单元具有的功能包括但不限于上述描述的功能。应知,该名称节点可以包括用于执行上述第一方面以及第一方面的各种可选的实现方式所述的控制IO带宽的方法的单元和/或模块,名称节点包括确定单元和指示单元仅仅是一种举例,这些单元和/或模块是为了执行上述第一方面以及第一方面的各种可选的实现方式所述的控制IO带宽的方法,而对名称节点进行的逻辑上的划分。
上述第四方面各种可选的实现方式的技术效果的描述具体可参见上述对第一方面各种相应可选的实现方式的技术效果的相关描述,此处不再赘述。
第五方面,提供一种数据节点,该数据节点应用于分布式文件系统,该分布式文件系统包括至少一个数据节点,所述至少一个数据节点包括该数据节点。该数据节点包括确定单元和分配单元。
其中,确定单元用于确定所述至少一个数据节点中每个数据节点的IO带宽和第一租户的IO带宽;分配单元用于根据确定单元确定的所述至少一个数据节点中每个数据节点的IO带宽和第一租户的IO带宽,为第一租户分配第一IO带宽。第一IO带宽小于或等于第一数据节点的IO带宽,第一IO带宽大于0。
本申请提供的数据节点,可以为第一租户分配第一IO带宽,分配IO带宽的方式比较灵活。
该第一租户的第一IO带宽为至少一个用户共享,所述至少一个用户中的每个用户对应至少一个应用,因此属于该第一租户的至少一个用户对应的多个应用可以共享为该第一租户分配的第一IO带宽,即使在不同时刻该多个应用可能不同,但该多个应用仍共享为该第一租户分配的第一IO带宽,因此能够提高该数据节点的IO带宽的利用率。
需要说明的是,本申请提供的数据节点包括但不限于上述第五方面中的确定单元和分配单元,并且上述第五方面中的确定单元和分配单元具有的功能包括但不限于上述描述的功能。应知,该数据节点可以包括用于执行上述第二方面以及第二方面的各种可选的实现方式所述的控制IO带宽的方法的单元和/或模块,该数据节点包括确定单元和分配单元仅仅是一种举例,这些单元和/或模块是为了执行上述第二方面以及第二方面的各种可选的实现方式所述的控制IO带宽的方法,而对数据节点进行的逻辑上的划分。
上述第五方面各种可选的实现方式的技术效果的描述具体可参见上述对第二方面各种相应可选的实现方式的技术效果的相关描述,此处不再赘述。
第六方面,提供又一种数据节点,该数据节点应用于分布式文件系统,该分布式文件系统包括至少一个数据节点,所述至少一个数据节点包括该数据节点。该数据节点包括接收单元、确定单元和分配单元。
其中,接收单元用于接收租户访问分布式文件系统的IO访问请求;确定单元用于根据接收单元接收的该IO访问请求,确定该IO访问请求对应的租户,并根据分配单元已为租户分配的IO带宽,确定是否延迟响应该IO访问请求。
本申请提供的数据节点应用于分布式文件系统,该分布式文件系统包括至少一个数据节点,所述至少一个数据节点包括该数据节点。该数据节点通过接收租户访问分布式文件系统的IO访问请求,并根据该IO访问请求确定该IO访问请求对应的租户,然后再根据该数据节点已为该租户分配的IO带宽,确定是否延迟响应该IO访问请求。申请可以实现在数据节点上为租户分配IO带宽,进而数据节点可以根据为租户分配的IO带宽确定是否延迟响应与租户对应的IO访问请求(即本发明实施例一定会响应IO访问请求,可以为立即响应或者延迟响应),因此可以提高响应IO访问请求的成功率。
需要说明的是,本申请提供的数据节点包括但不限于上述第六方面中的接收单元、确定单元和分配单元,并且上述第六方面中的接收单元、确定单元和分配单元具有的功能包括但不限于上述描述的功能。应知,该数据节点可以包括用于执行上述第三方面以及第三方面的各种可选的实现方式所述的处理IO访问请求的方法的单元和/或模块,该数据节点包括接收单元、确定单元和分配单元仅仅是一种举例,这些单元和/或模块是为了执行上述第三方面以及第三方面的各种可选的实现方式所述的处理IO访问请求的方法,而对数据节点进行的逻辑上的划分。
上述第六方面各种可选的实现方式的技术效果的描述具体可参见上述对第三方面各种相应可选的实现方式的技术效果的相关描述,此处不再赘述。
第七方面,提供一种名称节点,该名称节点应用于分布式文件系统,该分布式文件系统包括该名称节点和至少一个数据节点。该名称节点包括至少一个处理器、接口电路、存储器和系统总线。
其中,存储器用于存储计算机执行指令,至少一个处理器、接口电路和存储器通过系统总线相互连接,当该名称节点运行时,至少一个处理器执行存储器存储的计算机执行指令,以使该名称节点执行上述第一方面或者第一方面的各种可选的实现方式所示的控制IO带宽的方法。
第八方面,提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机执行指令,当名称节点的至少一个处理器执行该计算机执行指令时,名称节点执行上述第一方面或者第一方面的各种可选的实现方式所示的控制IO带宽的方法。
另外,第八方面还提供一种计算机程序产品,该计算机程序产品包括计算机执行指令,该计算机执行指令存储在计算机可读存储介质中。名称节点的至少一个处理器可以从计算机可读存储介质读取该计算机执行指令,并在名称节点执行该计算机执行指令时实施上述第一方面或者第一方面的各种可选的实现方式所示的控制IO带宽的方法。
上述第七方面和第八方面的技术效果的描述具体可参见上述对第一方面及其各种可选的实现方式的技术效果的相关描述,此处不再赘述。
第九方面,提供一种数据节点,该数据节点应用于分布式文件系统,该分布式文件系统包括至少一个数据节点,至少一个数据节点包括该数据节点。该数据节点包括至少一个处理器、接口电路、存储器和系统总线。
其中,存储器用于存储计算机执行指令,至少一个处理器、接口电路和存储器通过系统总线相互连接,当该数据节点运行时,至少一个处理器执行存储器存储的计算机执行指令,以使该数据节点执行上述第二方面或者第二方面的各种可选的实现方式所示的控制IO带宽的方法。
第十方面,提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机执行指令,当数据节点的至少一个处理器执行该计算机执行指令时,数据节点执行上述第二方面或者第二方面的各种可选的实现方式所示的控制IO带宽的方法。
另外,第十方面还提供一种计算机程序产品,该计算机程序产品包括计算机执行指令,该计算机执行指令存储在计算机可读存储介质中。数据节点的至少一个处理器可以从计算机可读存储介质读取该计算机执行指令,至少一个处理器执行该计算机执行指令使得数据节点实施上述第二方面或者第二方面的各种可选的实现方式所示的控制IO带宽的方法。
上述第九方面和第十方面的技术效果的描述具体可参见上述对第二方面及其各种可选的实现方式的技术效果的相关描述,此处不再赘述。
第十一方面,提供又一种数据节点,该数据节点应用于分布式文件系统,该分布式文件系统包括至少一个数据节点,至少一个数据节点包括该数据节点。该数据节点包括至少一个处理器、接口电路、存储器和系统总线。
其中,存储器用于存储计算机执行指令,至少一个处理器、接口电路和存储器通过系统总线相互连接,当该数据节点运行时,至少一个处理器执行存储器存储的计算机执行指令,以使该数据节点执行上述第三方面或者第三方面的各种可选的实现方式所示的处理IO访问请求的方法。
第十二方面,提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机执行指令,当数据节点的至少一个处理器执行该计算机执行指令时,数据节点执行上述第三方面或者第三方面的各种可选的实现方式所示的处理IO访问请求的方法。
另外,第十二方面还提供一种计算机程序产品,该计算机程序产品包括计算机执行指令,该计算机执行指令存储在计算机可读存储介质中。数据节点的至少一个处理器可以从计算机可读存储介质读取该计算机执行指令,至少一个处理器执行该计算机执行指令使得数据节点实施上述第三方面或者第三方面的各种可选的实现方式所示的处理IO访问请求的方法。
上述第十一方面和第十二方面的技术效果的描述具体可参见上述对第三方面及其各种可选的实现方式的技术效果的相关描述,此处不再赘述。
第十三方面,提供一种分布式文件系统,该分布式文件系统包括名称节点和至少一个数据节点,该名称节点为上述第四方面或第七方面所述的名称节点。
或者,该分布式文件系统包括至少一个数据节点,该至少一个数据节点包括第一数据节点,该第一数据节点为上述第五方面或第九方面所述的数据节点。
或者,该分布式文件系统包括至少一个数据节点,该至少一个数据节点包括第一数据节点,该第一数据节点为上述第六方面或第十一方面所述的数据节点。
上述第十三方面的技术效果的描述具体可参见上述对第四方面、第七方面、第五方面、第九方面、第六方面或第十一方面的技术效果的相关描述,此处不再赘述。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例。
图1为现有技术提供的应用访问分布式文件系统的架构示意图;
图2为本发明实施例提供的分布式文件系统的架构示意图;
图3为本发明实施例提供的应用访问分布式文件系统的架构示意图;
图4为本发明实施例提供的一种控制IO带宽的方法示意图一;
图5为本发明实施例提供的一种控制IO带宽的方法示意图二;
图6为本发明实施例提供的一种控制IO带宽的方法示意图三;
图7为本发明实施例提供的一种控制IO带宽的方法示意图四;
图8为本发明实施例提供的一种控制IO带宽的方法示意图五;
图9为本发明实施例提供的又一种控制IO带宽的方法示意图;
图10为本发明实施例提供的处理IO访问请求的方法示意图一;
图11为本发明实施例提供的处理IO访问请求的方法示意图二;
图12为本发明实施例提供的处理IO访问请求的方法示意图三;
图13为本发明实施例提供的名称节点的结构示意图;
图14为本发明实施例提供的一种数据节点的结构示意图;
图15为本发明实施例提供的又一种数据节点的结构示意图;
图16为本发明实施例提供的名称节点的硬件示意图;
图17为本发明实施例提供的一种数据节点的硬件示意图;
图18为本发明实施例提供的又一种数据节点的硬件示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行详细地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。
本发明的说明书和权利要求书中的术语“第一”、“第二”和“第三”等是用于区别不同的对象,而不是用于描述对象的特定顺序。例如,第一数据节点、第二数据节点和第三数据节点等是用于区别不同的数据节点,而不是用于描述数据节点的特定顺序。
在本发明实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本发明实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
此外,本发明的描述中所提到的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括其他没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
租户:是指与分布式文件系统中的资源相关的、逻辑上的概念。一个租户表示在分布式文件系统中拥有多少资源。例如,一个租户表示在分布式文件系统中拥有多少IO带宽等。
用户:是指登录客户端的账号。
应用:是指由用户登录的客户端对应的应用。例如,由用户登录的数据库客户端对应的数据库应用、由用户登录的网页客户端对应的网页应用等。由用户登录的客户端对应的应用可以通过租户访问分布式文件系统。
一个用户可以登录至少一个客户端,即一个用户可以对应至少一个应用;至少一个用户属于一个租户,即至少一个用户可以共享该租户的IO带宽;或者说属于一个租户的至少一个用户对应的多个应用可以共享该租户的IO带宽。
本发明实施例从租户角度分配IO带宽,提供一种控制IO带宽和处理IO访问请求的方法,该方法应用于分布式文件系统中。
一方面,本发明实施例提供一种控制IO带宽的方法,该方法应用于分布式文件系统,该分布式文件系统包括名称节点和至少一个数据节点。该方法中名称节点通过确定该至少一个数据节点中每个数据节点的IO带宽和第一租户的IO带宽,并根据该至少一个数据节点中每个数据节点的IO带宽和第一租户的IO带宽,指示该至少一个数据节点为第一租户分配该至少一个IO带宽。如此,本发明实施例可以实现为租户分配IO带宽,分配IO带宽的方式比较灵活。
另外,现有技术中,每个新应用访问分布式文件系统时,分布式文件系统都会为新应用分配新的IO带宽,导致分布式文件系统中的IO带宽的利用率较低。但本发明实施例为租户分配IO带宽后,属于该租户的至少一个用户对应的多个应用可以共享为该租户分配的IO带宽,即使在不同时刻该多个应用可能不同,例如增加了新应用,但这些应用仍共享为该租户分配的IO带宽,即不会如现有技术一样对新增的应用另外分配IO带宽,因此能够提高分布式文件系统中IO带宽的利用率。
又一方面,本发明实施例提供又一种控制IO带宽的方法,该方法应用于分布式文件系统,该分布式文件系统包括至少一个数据节点,该至少一个数据节点包括第一数据节点。该方法中第一数据节点通过确定该至少一个数据节点中每个数据节点的IO带宽和第一租户的IO带宽,并根据该至少一个数据节点中每个数据节点的IO带宽和第一租户的IO带宽,为第一租户分配第一IO带宽。如此,本发明实施例可以实现为租户分配IO带宽,分配IO带宽的方式比较灵活。本发明实施例可以实现为租户分配IO带宽,属于该租户的至少一个用户对应的多个应用可以共享为该租户分配的IO带宽,即使在不同时刻该多个应用可能不同,例如增加了新应用,但这些应用仍共享为该租户分配的IO带宽,即不会如现有技术一样对新增的应用另外分配IO带宽,因此能够提高分布式文件系统中IO带宽的利用率。
又一方面,本发明实施例提供一种处理IO访问请求的方法,该方法应用的分布式文件系统包括至少一个数据节点,该至少一个数据节点包括第一数据节点。本发明实施例提供的处理IO访问请求的方法,通过第一数据节点接收租户访问分布式文件系统的IO访问请求,并根据该IO访问请求确定该IO访问请求对应的租户,然后再根据第一数据节点已为该租户分配的IO带宽,确定是否延迟响应该IO访问请求。如此,本发明实施例可以实现在数据节点上为租户分配IO带宽,进而数据节点可以根据为租户分配的IO带宽确定是否延迟响应与租户对应的IO访问请求(即本申请一定会响应IO访问请求,可以为立即响应或者延迟响应),因此可以提高响应IO访问请求的成功率。
本发明实施例提供的控制IO带宽的方法和处理IO访问请求的方法可以应用于分布式文件系统。如图2所示,为本发明实施例提供的一种分布式文件系统的架构示意图。在图2中,分布式文件系统包括名称节点(英文:name node)和与该名称节点连接的至少一个数据节点(英文:data node)。
可选的,如图2所示的分布式文件系统还可以包括IO记录模块和租户管理模块,IO记录模块和租户管理模块可以设置在名称节点和/或至少一个数据节点上。
结合图2,如图3所示,为应用访问分布式文件系统的架构示意图。图3中,分布式文件系统中的至少一个(例如为n个,n为正整数)数据节点分别为数据节点1、......、数据节点x、......、数据节点n。实际存储系统中,一个数据节点为至少一个租户分配IO带宽,一个租户的IO带宽分配给属于该租户的至少一个用户使用,图3示意为租户2的IO带宽被分配给属于租户2的用户1和用户2使用,一个用户可能会登录至少一个客户端,图3中客户端1和客户端2均是用户1登录的客户端。在图3中,每个应用分别对应一个客户端,例如应用1对应客户端1,应用2对应客户端2,应用3对应客户端2,应用1、应用2和应用3均可访问分布式文件系统;应知,应用1、应用2和应用3可以为相同应用,或者应用1、应用2和应用3中的其中两个应用为相同应用,或者应用1、应用2和应用3均为不同应用。图3中的其他数据节点均与数据节点x类似,此处不再赘述。
上述图2和图3仅是示例性的对本发明实施例提供的分布式文件系统的架构以及应用访问分布式文件系统的架构进行说明。具体的,分布式文件系统以及应用访问分布式文件系统的具体实现可以根据实际使用需求确定,本发明不作限定。
本发明实施例提供一种控制IO带宽的方法,该方法应用于分布式文件系统,该分布式文件系统可以为上述如图2或图3所示的分布式文件系统。该分布式文件系统包括名称节点和至少一个数据节点。如图4所示,该方法包括:
S101、名称节点确定该至少一个数据节点中每个数据节点的IO带宽。
上述每个数据节点的IO带宽为每个数据节点可分配的IO带宽。换句话说,数据节点的IO带宽是指该数据节点总共具有的IO带宽,该IO带宽可供该数据节点分配。
S102、名称节点确定第一租户的IO带宽。
第一租户的IO带宽为第一租户所需的IO带宽。
举例说明,在第一租户向名称节点请求IO带宽时,名称节点可以直接设定第一租户的IO带宽,例如根据经验值设定或者根据第一租户请求的IO带宽的值设定。
举例说明,在多个租户向名称节点请求IO带宽时,名称节点会综合考虑各个租户的优先级和各个租户请求的IO带宽,调整各个租户所需的IO带宽,例如调整第一租户所需的IO带宽。
S103、名称节点基于该至少一个数据节点中每个数据节点的IO带宽以及第一租户的IO带宽,指示该至少一个数据节点为第一租户分配至少一个IO带宽。
其中,上述至少一个IO带宽与该至少一个数据节点一一对应,该至少一个IO带宽中的每个IO带宽均小于或者等于对应的数据节点的IO带宽,该至少一个IO带宽中的每个IO带宽均大于0。具体地,该至少一个数据节点在名称节点的指示下分别为第一租户分配一个IO带宽;并且,每个数据节点为第一租户分配的IO带宽,大于0,小于该个数据节点的IO带宽。
示例性的,假设该至少一个数据节点为3个数据节点,即分布式文件系统包括3个数据节点,分别为数据节点1、数据节点2和数据节点3。名称节点确定这3个数据节点的IO带宽和第一租户的IO带宽之后,名称节点可基于这3个数据节点中每个数据节点的IO带宽和第一租户的IO带宽,指示这3个数据节点分别为第一租户分配IO带宽,以得到3个IO带宽。例如,名称节点可以基于这3个数据节点中每个数据节点的IO带宽和第一租户的IO带宽,指示数据节点1为第一租户分配IO带宽1,指示数据节点2为第一租户分配IO带宽2,指示数据节点3为第一租户分配IO带宽3。
本发明实施例提供的控制IO带宽的方法可以实现为租户分配IO带宽,分配IO带宽的方式比较灵活。
该租户的IO带宽为至少一个用户共享,该至少一个用户中的每个用户对应至少一个应用,因此属于该租户的至少一个用户对应的多个应用可以共享为该租户分配的IO带宽,即使在不同时刻该多个应用可能不同,但该多个应用仍共享为该租户分配的IO带宽,因此能够提高分布式文件系统中IO带宽的利用率。
可选的,本发明实施例中,上述至少一个IO带宽的总和小于或者等于第一租户的IO带宽;或者,该至少一个IO带宽的总和小于或者等于第一租户的IO带宽与额外带宽之和。
举例说明,第一租户所需的IO带宽可能比较大,而名称节点可能无法为第一租户分配充足的IO带宽,因此上述至少一个IO带宽的总和小于或者等于第一租户所需的IO带宽,即第一租户的IO带宽。
举例说明,第一租户的业务优先级可能比较高,因此名称节点需要优先保证第一租户所需的IO带宽,因此名称节点可以在为第一租户分配第一租户所需的IO带宽的基础上,还可以为第一租户分配一个额外带宽,以优先保证第一租户所需的IO带宽。因此,上述至少一个IO带宽的总和可能大于或者等于第一租户所需的IO带宽(即第一租户的IO带宽),并且小于或者等于第一租户的IO带宽与额外带宽之和。其中,额外带宽可以为大于0的带宽。
名称节点可以指示数据节点为第一租户分配合适的IO带宽,从而尽可能地满足第一租户的IO带宽需求。
可选的,本发明实施例提供的控制IO带宽的方法中,该至少一个数据节点包括第一数据节点,第一数据节点在名称节点的指示下为第一租户分配的IO带宽是第一IO带宽,第一IO带宽是该至少一个IO带宽中与第一数据节点对应的IO带宽。
结合图4,如图5所示,在上述S103之后,本发明实施例提供的控制IO带宽的方法还可以包括:
S104、名称节点确定第一租户分别在该至少一个IO带宽中使用的IO带宽为至少一个使用带宽。
上述至少一个使用带宽与该至少一个IO带宽一一对应。
对于该至少一个数据节点中的每个数据节点,该数据节点在名称节点的指示下为第一租户分配一个IO带宽,该数据节点可以使用该IO带宽响应第一租户的IO访问请求;但对于某个时间点,响应第一租户的IO访问请求实际使用的IO带宽(即使用带宽)是固定的,其可能小于该数据节点为第一租户分配的IO带宽,也可能等于该数据节点为第一租户分配的IO带宽。以此类推,在该时间点,第一租户在每个数据节点上分别具有一个使用带宽。
示例性的,假设该至少一个数据节点为3个数据节点,该至少一个IO带宽为IO带宽1、IO带宽2和IO带宽3,那么名称节点确定第一租户分别在这3个IO带宽中使用的IO带宽为3个使用带宽。例如,在IO带宽1中使用的IO带宽为使用带宽1,在IO带宽2中使用的IO带宽为使用带宽2,在IO带宽3中使用的IO带宽为使用带宽3。其中,第一租户在IO带宽中的使用带宽小于或者等于分配该IO带宽的数据节点的IO带宽。
S105、名称节点根据该至少一个使用带宽,指示该至少一个数据节点分别调整该至少一个IO带宽中对应的IO带宽,或者指示第一数据节点调整第一IO带宽。
由于名称节点为第一租户分配该至少一个IO带宽之后,第一租户可能并不会将该至少一个IO带宽全部使用完,或者该至少一个IO带宽可能并不能满足第一租户所需的IO带宽,因此名称节点需要根据第一租户在该至少一个IO带宽中的该至少一个使用带宽,指示相应的数据节点调整为第一租户分配的IO带宽。如此名称节点能够合理地为第一租户分配IO带宽。
可选的,名称节点可以根据第一租户在该至少一个IO带宽中的该至少一个使用带宽,指示该至少一个数据节点分别调整该至少一个IO带宽中对应的IO带宽。或者,名称节点可以根据第一租户在该至少一个IO带宽中的该至少一个使用带宽,指示第一数据节点调整第一IO带宽(即第一数据节点为第一租户分配的IO带宽)。
本实施例中,至少一个数据节点包括的第一数据节点可以是一个或多个,第一数据节点的具体个数可以根据实际使用需求确定,本发明不作限定。采用上述方法,名称节点可以根据第一租户在该至少一个IO带宽中的该至少一个使用带宽,指示该至少一个数据节点中的至少一个数据节点分别调整其为第一租户分配的IO带宽。例如,名称节点可以通过执行下述(1)、(2)和(3)中的至少一项调整为第一租户分配的IO带宽。
(1)指示数据节点1调整数据节点1为第一租户分配的IO带宽1。
(2)指示数据节点2调整数据节点2为第一租户分配的IO带宽2。
(3)指示数据节点3调整数据节点3为第一租户分配的IO带宽3。
通过上述方法,在名称节点指示该至少一个数据节点为第一租户分配该至少一个IO带宽之后,名称节点可以根据第一租户在该至少一个IO带宽中的该至少一个使用带宽,指示相应的数据节点调整其为第一租户分配的IO带宽,例如,如果第一租户在该至少一个IO带宽中的该至少一个使用带宽比较大(如该至少一个IO带宽总和与该至少一个使用带宽总和的差值小于或者等于某个阈值),则名称节点指示相应的数据节点增大其为第一租户分配的IO带宽;如果第一租户在该至少一个IO带宽中的该至少一个使用带宽比较小(如该至少一个IO带宽总和与该至少一个使用带宽总和的差值大于某个阈值),则名称节点指示相应的数据节点减小其为第一租户分配的IO带宽。如此,名称节点能够为第一租户提供合适的IO带宽,另外还可以尽可能地满足第一租户的IO带宽需求。
可选的,结合图4,如图6所示,本发明实施例提供的控制IO带宽的方法中,在上述S103之后,该方法还可以包括:
S106、名称节点确定第一租户分别在该至少一个IO带宽中使用的IO带宽为至少一个使用带宽。
上述至少一个使用带宽与该至少一个IO带宽一一对应。
对于该至少一个使用带宽的描述具体可以参见上述S104中对该至少一个使用带宽的相关描述,此处不再赘述。
S107、当该至少一个IO带宽之和与该至少一个使用带宽之和的差值小于或者等于第一阈值时,名称节点指示第二数据节点为第一租户分配IO带宽,该至少一个数据节点不包括第二数据节点。
名称节点指示该至少一个数据节点为第一租户分配该至少一个IO带宽之后,名称节点确定第一租户分别在该至少一个IO带宽中使用的该至少一个使用带宽,当该至少一个IO带宽之和与该至少一个使用带宽之和的差值小于或者等于第一阈值时,表示第一租户实际使用的IO带宽已经非常接近该至少一个数据节点为其分配的IO带宽(即第一租户基本全部使用了该至少一个数据节点为其分配的IO带宽),此时为了优先保证第一租户的业务,使得第一租户具有充足的IO带宽,名称节点还可以指示分布式存储系统中除上述至少一个数据节点之外的其他数据节点(例如第二数据节点)为第一租户分配IO带宽,即名称节点指示增加为第一租户分配的IO带宽。
举例来说,假设上述3个IO带宽中,IO带宽1为20Mbit/s(比特每秒),IO带宽2为30Mbit/s,IO带宽3为50Mbit/s;上述3个IO带宽中的3个使用带宽中,使用带宽1为20Mbit/s,使用带宽2为30Mbit/s,使用带宽3为40Mbit/s。如果第一阈值为20Mbit/s,那么由于3个IO带宽之和与3个使用带宽之和的差值小于第一阈值,因此名称节点可以指示分布式存储系统中除上述至少一个数据节点之外的第二数据节点为第一租户分配IO带宽。
上述第二数据节点可以为一个数据节点,也可以为多个数据节点。具体的可以根据实际使用需求确定,本发明不作限定。
上述图2只是以分布式存储系统中包括至少一个数据节点为例进行示例性的说明,实际应用中,分布式存储系统中还可以包括更多的数据节点,本发明不作具体限定。
可选的,结合图4,如图7所示,本发明实施例提供的控制IO带宽的方法中,在上述S103之后,该方法还可以包括:
S108、名称节点确定第一租户分别在该至少一个IO带宽中使用的IO带宽为至少一个使用带宽。
该至少一个使用带宽与该至少一个IO带宽一一对应。
对于该至少一个使用带宽的描述具体可以参见上述S104中对该至少一个使用带宽的相关描述,此处不再赘述。
S109、当该至少一个IO带宽之和与该至少一个使用带宽之和的差值大于第一阈值时,名称节点指示第三数据节点将第三数据节点为第一租户分配的IO带宽调整为0,该至少一个数据节点包括第三数据节点。
名称节点指示该至少一个数据节点为第一租户分配该至少一个IO带宽之后,名称节点确定第一租户分别在该至少一个IO带宽中使用的该至少一个使用带宽,当该至少一个IO带宽之和与该至少一个使用带宽之和的差值大于第一阈值时,表示第一租户实际使用的IO带宽远小于该至少一个数据节点为其分配的IO带宽(即第一租户可能只使用了该至少一个数据节点为其分配的IO带宽中的一部分带宽),此时为了节省IO带宽(或者将第一租户没有使用的IO带宽给其他租户使用),名称节点还可以指示该至少一个数据节点中的第三数据节点将第三数据节点为第一租户分配的IO带宽调整为0,即名称节点指示减少为第一租户分配的IO带宽。
举例来说,假设上述3个IO带宽中,IO带宽1为20Mbit/s,IO带宽2为30Mbit/s,IO带宽3为50Mbit/s;上述3个IO带宽中的3个使用带宽中,使用带宽1为20Mbit/s,使用带宽2为20Mbit/s,使用带宽3为0Mbit/s。如果第一阈值为20Mbit/s,那么由于3个IO带宽之和与3个使用带宽之和的差值大于第一阈值,因此名称节点可以指示该至少一个数据节点中的第三数据节点(例如为第一租户分配IO带宽3的数据节点),将第三数据节点为第一租户分配的IO带宽调整为0。
上述第三数据节点可以为一个数据节点,也可以为多个数据节点。具体的可以根据实际使用需求确定,本发明不作限定。
可选的,本发明实施例提供的控制IO带宽的方法中,该至少一个数据节点包括第一数据节点,第一数据节点在名称节点的指示下为第一租户分配的IO带宽是第一IO带宽,第一IO带宽是该至少一个IO带宽中与第一数据节点对应的IO带宽。
结合图4,如图8所示,在上述S103之后,该方法还可以包括:
S110、名称节点确定第一租户使用的第一IO带宽中的IO带宽。
S111、名称节点根据第一租户使用的第一IO带宽中的IO带宽,指示第一数据节点调整第一IO带宽。
对于第一租户使用的第一IO带宽中的IO带宽(即第一租户在第一IO带宽中使用的IO带宽)的描述具体可以参见上述S104中对该至少一个使用带宽的相关描述,此处不再赘述。
名称节点指示该至少一个数据节点为第一租户分配该至少一个IO带宽之后,名称节点可以确定第一租户使用的第一IO带宽(即该至少一个数据节点中第一数据节点为第一租户分配的IO带宽)中的IO带宽,然后名称节点再根据第一租户使用的第一IO带宽中的IO带宽,指示第一数据节点调整第一IO带宽。例如,如果第一租户使用的第一IO带宽中的IO带宽较大(比如大于某个阈值),则名称节点指示第一数据节点增大第一IO带宽;如果第一租户使用的第一IO带宽中的IO带宽较小(比如小于或者等于某个阈值),则名称节点指示第一数据节点减小第一IO带宽。如此,名称节点能够为第一租户提供合适的IO带宽,另外还可以尽可能地满足第一租户的IO带宽需求。
通过上述如图8所示的方法,名称节点可以以数据节点为单位,指示相应的数据节点(例如第一数据节点)分别在数据节点内部调整数据节点为第一租户分配的IO带宽。如此,名称节点可以根据第一租户在各数据节点实际使用的IO带宽,指示对应数据节点为第一租户提供更加合适的IO带宽,另外还可以尽可能地满足第一租户的IO带宽需求。
可选的,本发明实施例提供的控制IO带宽的方法中,第一租户为m个租户中的一个租户(即m个租户包括第一租户),m个租户均为由名称节点分配IO带宽的租户,m为正整数。上述S102具体可以包括:
S102a、名称节点根据m个租户中每个租户的权重,从该至少一个数据节点中每个数据节点的IO带宽的总和,确定第一租户的IO带宽。
上述每个租户的权重具体可以根据每个租户的业务优先级和/或该租户的业务所需的IO带宽来确定。具体的,租户的业务优先级越高,租户的权重越大;租户的业务所需的IO带宽越大,租户的权重越大。可选的,当根据租户的业务优先级和租户的业务所需的IO带宽确定租户的权重时,可以优先根据租户的业务优先级确定一个权重(例如权重1),然后再在该权重的基础上,进一步根据租户的业务所需的IO带宽对该权重进行相应的调整,并将调整后的权重(例如权重2)确定为租户的权重。如此,确定的租户的权重比较准确。
可选的,名称节点可以通过公式一确定第一租户的IO带宽。
上述公式一可以为:第一租户的IO带宽=第一租户的权重/由该至少一个数据节点分配IO带宽的所有租户的权重之和*该至少一个数据节点中每个数据节点的IO带宽的总和。
示例性的,假设m=3,即由该至少一个数据节点分配IO带宽的租户有3个,分别为租户1、租户2和租户3;租户1的权重为1,租户2的权重为2,租户3的权重为3;该至少一个数据节点中每个数据节点的IO带宽的总和为M;则:
租户1的IO带宽=租户1的权重/(租户1的权重+租户2的权重+租户3的权重)*该至少一个数据节点中每个数据节点的IO带宽的总和=1/(1+2+3)*M=M/6;
租户2的IO带宽=租户2的权重/(租户1的权重+租户2的权重+租户3的权重)*该至少一个数据节点中每个数据节点的IO带宽的总和=2/(1+2+3)*M=M/3;
租户3的IO带宽=租户3的权重/(租户1的权重+租户2的权重+租户3的权重)*该至少一个数据节点中每个数据节点的IO带宽的总和=3/(1+2+3)*M=M/2。
由于名称节点通过公式一为租户分配IO带宽时是按照每个租户的权重分配的,因此为每个租户分配的IO带宽可以尽量满足每个租户对IO带宽的需求,并且均衡地满足每个租户对IO带宽的需求。
本发明实施例提供又一种控制IO带宽的方法,该方法应用于分布式文件系统,该分布式文件系统可以为上述如图2或图3所示的分布式文件系统。该分布式文件系统包括至少一个数据节点,该至少一个数据节点包括第一数据节点。如图9所示,该方法包括:
S201、第一数据节点确定该至少一个数据节点中每个数据节点的IO带宽。
上述每个数据节点的IO带宽为每个数据节点可分配的IO带宽。换句话说,数据节点的IO带宽是指该数据节点总共具有的IO带宽,该IO带宽可供该数据节点分配。
S202、第一数据节点确定第一租户的IO带宽。
第一租户的IO带宽为第一租户所需的IO带宽。
举例说明,在第一租户向第一数据节点请求IO带宽时,第一数据节点直接设定第一租户的IO带宽,例如根据经验值设定或者根据第一租户请求的IO带宽的值设定。
举例说明,在多个租户向第一数据节点请求IO带宽时,第一数据节点会综合考虑各个租户的优先级和各个租户请求的IO带宽,并调整各个租户所需的IO带宽,例如调整第一租户所需的IO带宽。
S203、第一数据节点根据该至少一个数据节点中每个数据节点的IO带宽和第一租户的IO带宽,为第一租户分配第一IO带宽。
其中,上述第一IO带宽小于或等于第一数据节点的IO带宽,第一IO带宽大于0。具体地,第一数据节点为第一租户分配第一IO带宽;并且,该第一IO带宽大于0,小于第一数据节点的IO带宽。
本实施例中,该至少一个数据节点可以包括一个或多个第一数据节点,或者第一数据节点可以为该至少一个数据节点中的任一数据节点。
示例性的,假设该至少一个数据节点为3个数据节点,即分布式文件系统包括3个数据节点,分别为数据节点1、数据节点2和数据节点3。以第一数据节点为数据节点1为例,数据节点1确定这3个数据节点的IO带宽和第一租户的IO带宽之后,数据节点1可基于这3个数据节点中每个数据节点的IO带宽和第一租户的IO带宽,为第一租户分配第一IO带宽。例如,数据节点1可以基于这3个数据节点中每个数据节点的IO带宽和第一租户的IO带宽,为第一租户分配IO带宽1。
本发明实施例提供的控制IO带宽的方法可以实现为租户分配IO带宽,分配IO带宽的方式比较灵活。
该租户的IO带宽为至少一个用户共享,该至少一个用户中的每个用户对应至少一个应用,因此属于该租户的至少一个用户对应的多个应用可以共享为该租户分配的IO带宽,即使在不同时刻该多个应用可能不同,但该多个应用仍共享为该租户分配的IO带宽,因此能够提高分布式文件系统中IO带宽的利用率。
本实施例中如图9所示的控制IO带宽的方法与上述如图4所示的控制IO带宽的方法相比,由于上述如图9所示的控制IO带宽的方法可以由各个数据节点自行为租户分配IO带宽,而无需在名称节点的指示下为租户分配IO带宽,因此分配IO带宽的过程不需要名称节点的参与,可以减轻名称节点的负担,节省名称节点的资源,降低名称节点的开销。
进一步地,由于各个数据节点无需在名称节点的指示下为租户分配IO带宽,因此各个数据节点可以实时地自行为租户分配IO带宽,从而还可以提高在租户级别控制IO带宽的实时性。
可选的,本发明实施例中,上述第一IO带宽小于或等于第一租户的IO带宽;或者,第一IO带宽小于或等于第一租户的IO带宽与额外带宽之和。
举例说明,第一租户所需的IO带宽可能比较大,而第一数据节点可能无法为第一租户分配充足的IO带宽,因此上述第一IO带宽小于或者等于第一租户所需的IO带宽,即第一租户的IO带宽。
举例说明,第一租户的业务优先级可能比较高,因此第一数据节点需要优先保证第一租户所需的IO带宽,因此第一数据节点可以在为第一租户分配第一租户所需的IO带宽的基础上,还可以为第一租户分配一个额外带宽,以优先保证第一租户所需的IO带宽。因此,上述第一IO带宽可以大于或者等于第一租户所需的IO带宽(即第一租户的IO带宽),并且小于或者等于第一租户的IO带宽与额外带宽之和。其中,额外带宽可以为大于0的带宽。
第一数据节点可以为第一租户分配合适的IO带宽,从而尽可能地满足第一租户的IO带宽需求。
可选的,结合图9,在上述S203之后,本发明实施例提供的控制IO带宽的方法还可以包括:
S204、第一数据节点确定第一租户分别在该至少一个数据节点中使用的IO带宽为至少一个使用带宽。
上述至少一个使用带宽与该至少一个数据节点一一对应。
示例性的,假设该至少一个数据节点为3个数据节点,分别为数据节点1、数据节点2和数据节点3,以第一数据节点为数据节点1为例,第一数据节点从这三个数据节点(数据节点1、数据节点2和数据节点3)获得第一租户在这3个数据节点中分别使用的IO带宽,并将获得的3个IO带宽作为3个使用带宽;其中,在数据节点1中使用的IO带宽为使用带宽1,在数据节点2中使用的IO带宽为使用带宽2,在数据节点3中使用的IO带宽为使用带宽3。
第一租户在数据节点中的使用带宽小于或者等于该数据节点的IO带宽。
S205、第一数据节点根据该至少一个使用带宽,调整第一IO带宽。
举例说明,第一数据节点为第一租户分配第一IO带宽之后,第一租户可能并不会将第一IO带宽全部使用完,或者第一IO带宽可能并不能满足第一租户所需的IO带宽,或者第一租户使用第一IO带宽的差别较大(例如第一IO带宽中部分IO带宽被第一租户全部使用,但第一IO带宽中其他部分IO带宽被第一租户使用较少),因此第一数据节点需要根据第一租户的实际使用带宽(即至少一个使用带宽),调整第一数据节点为第一租户分配的第一IO带宽。如此第一数据节点能够合理地为第一租户分配IO带宽。
可选的,结合图9,在上述S203之后,本发明实施例提供的控制IO带宽的方法还可以包括:
S206、第一数据节点确定第一租户使用的第一IO带宽中的IO带宽。
S207、第一数据节点根据第一租户使用的第一IO带宽中的IO带宽,调整第一IO带宽。
对于第一租户使用的第一IO带宽中的IO带宽(即第一租户在第一IO带宽中使用的IO带宽)的描述具体可以参见上述S204中对至少一个使用带宽的相关描述,此处不再赘述。
第一数据节点为第一租户分配第一IO带宽之后,第一数据节点可以根据第一租户在第一IO带宽中实际使用的IO带宽,调整第一IO带宽。例如,如果第一租户在第一IO带宽中实际使用的IO带宽比较大(如第一IO带宽与第一租户在第一IO带宽中实际使用的IO带宽的差值小于或者等于某个阈值),则第一数据节点增大第一IO带宽;如果第一租户在第一IO带宽中实际使用的IO带宽比较小(如第一IO带宽与第一租户在第一IO带宽中实际使用的IO带宽的差值大于某个阈值),则第一数据节点减小第一IO带宽。如此,第一数据节点能够为第一租户提供合适的IO带宽,另外还可以尽可能地满足第一租户的IO带宽需求。
可选的,本发明实施例提供的控制IO带宽的方法中,第一租户为m个租户中的一个租户(即m个租户包括第一租户),m个租户均为由至少一个数据节点(包括第一数据节点)分配IO带宽的租户,m为正整数。结合图9,上述S202具体可以包括:
S202a、第一数据节点根据m个租户中每个租户的权重,从该至少一个数据节点中每个数据节点的IO带宽的总和,确定第一租户的IO带宽。
对于S202a的描述具体可以参见上述实施例中对S102a的相关描述,此处不再赘述。
由于第一数据节点为租户分配IO带宽时是按照每个租户的权重分配的,因此为每个租户分配的IO带宽可以尽量满足每个租户对IO带宽的需求,并且均衡地满足每个租户对IO带宽的需求。
本发明实施例提供一种处理IO访问请求的方法,该方法应用于分布式文件系统,该分布式文件系统可以为上述如图2或图3所示的分布式文件系统。该分布式文件系统包括至少一个数据节点,该至少一个数据节点包括第一数据节点。如图10所示,该方法包括:
S301、第一数据节点接收IO访问请求,该IO访问请求是租户访问分布式文件系统的请求。
S302、第一数据节点根据该IO访问请求,确定该IO访问请求对应的租户。
S303、第一数据节点根据第一数据节点已为该租户分配的IO带宽,确定是否延迟响应该IO访问请求。
本发明实施例中,第一数据节点接收到租户访问分布式文件系统的IO访问请求之后,第一数据节点首先根据该IO访问请求,确定与该IO访问请求对应的租户(即是哪一个租户访问分布式文件系统),然后第一数据节点再根据第一数据节点已为该租户分配的IO带宽,确定是否延迟响应该IO访问请求。例如,如果第一数据节点为该租户分配的IO带宽已经被该租户使用了很大一部分,即第一数据节点没有充足的IO带宽响应该IO访问请求(租户的空闲IO带宽小于租户响应该IO访问请求所需的IO带宽),那么第一数据节点可以延迟响应该IO访问请求;如果第一数据节点为该租户分配的IO带宽只被该租户使用了很少的一部分,即第一数据节点有充足的IO带宽响应该IO访问请求(租户的空闲IO带宽大于或者等于租户响应该IO访问请求所需的IO带宽),那么第一数据节点可以立即响应该IO访问请求。具体的,将在下述实施例中进行详细地说明,此处不再赘述。
上述第一数据节点立即响应IO访问请求可以理解为:第一数据节点确定可以响应IO访问请求之后,第一数据节点直接响应该IO访问请求。
本发明实施例提供的处理IO访问请求的方法应用于分布式文件系统,该分布式文件系统包括至少一个数据节点,该至少一个数据节点包括第一数据节点。该方法中第一数据节点通过接收租户访问分布式文件系统的IO访问请求,并根据该IO访问请求确定该IO访问请求对应的租户,然后再根据第一数据节点已为该租户分配的IO带宽,确定是否延迟响应该IO访问请求。本发明实施例可以实现在数据节点上为租户分配IO带宽,进而数据节点可以根据为租户分配的IO带宽确定是否延迟响应与租户对应的IO访问请求(即本发明实施例一定会响应IO访问请求,可以为立即响应或者延迟响应),因此可以提高响应IO访问请求的成功率。
可选的,结合图10,如图11所示,上述S303具体可以包括:
S303a、第一数据节点确定第一数据节点已为租户分配的IO带宽与该租户在第一数据节点使用的IO带宽的差值。
上述差值可以表示该租户的空闲IO带宽。
S303b、第一数据节点在确定该差值大于第三阈值时,响应该IO访问请求。
当第一数据节点确定第一数据节点已为租户分配的IO带宽与该租户在第一数据节点使用的IO带宽的差值大于第三阈值时,表示第一数据节点已为租户分配的IO带宽中还有部分空闲IO带宽,即第一数据节点有充足的IO带宽响应该租户对分布式文件系统的IO访问请求,那么第一数据节点可以立即响应该IO访问请求。
可选的,结合图10,如图12所示,上述S303具体可以包括:
S303c、第一数据节点确定第一数据节点已为租户分配的IO带宽与该租户在第一数据节点使用的IO带宽的差值。
S303d、第一数据节点在确定该差值小于或者等于第三阈值时,延迟响应该IO访问请求。
当第一数据节点确定第一数据节点已为租户分配的IO带宽与该租户在第一数据节点使用的IO带宽的差值小于或者等于第三阈值时,表示第一数据节点已为该租户分配的IO带宽已经基本没有空闲IO带宽,即第一数据节点暂时没有充足的IO带宽响应该租户对分布式文件系统的IO访问请求,那么第一数据节点可以延迟响应该IO访问请求,即等到第一数据节点为该租户分配的IO带宽中剩余有足够的IO带宽响应该IO访问请求时,第一数据节点再响应该IO访问请求。
可选的,本发明实施例提供的处理IO访问请求的方法中,上述第一数据节点为租户分配IO带宽可以通过下述方法实现:
S304、第一数据节点接收名称节点的指示。
S305、第一数据节点根据名称节点的指示,为租户分配IO带宽。
第一数据节点可以在名称节点的指示下为租户分配IO带宽。具体的,名称节点可以确定第一数据节点需要为该租户分配多少IO带宽,然后名称节点将该IO带宽指示给第一数据节点,由第一数据节点为该租户分配名称节点指示的IO带宽。如此,可以由名称节点统一指示各个数据节点为租户分配IO带宽,从而能够合理地为租户分配IO带宽。
可选的,结合图10,本发明实施例中,上述S302具体可以包括:
S302a、第一数据节点根据IO访问请求携带的租户标识,确定该IO访问请求对应的租户。
本发明实施例中,由于租户访问分布式文件系统的IO访问请求中可以携带租户标识;具体地,分布式文件系统管理有属于租户的文件,其中,该文件的文件属性包含该租户的租户标识。一种场景是,分布式文件系统管理有不同租户的文件,可以根据文件的文件属性包含的租户标识确定该文件所属的租户。
第一数据节点接收到IO访问请求之后,可以根据该IO访问请求中携带的租户标识,确定与该IO访问请求对应的租户。
可选的,结合图10,本发明实施例中,分布式文件系统管理的属于租户的文件所具有的文件属性中包含租户标识。上述S302具体可以包括:
S302b、第一数据节点根据IO访问请求指定的文件,获取该IO访问请求指定的文件所具有的文件属性。
S302c、第一数据节点根据获取的文件属性包含的租户标识,确定该IO访问请求对应的租户。
本发明实施例中,由于分布式文件系统管理的属于租户的文件所具有的文件属性中包含租户标识,因此第一数据节点接收到IO访问请求之后,第一数据节点首先可以根据该IO访问请求指定的文件,获取该IO访问请求指定的文件所具有的文件属性,然后第一数据节点再根据该文件属性中包含的租户标识,确定与该IO访问请求对应的租户。
通过上述两种方法,第一数据节点接收到IO访问请求后,可以准确地确定出与该IO访问请求对应的租户,从而再根据第一数据节点已为该租户分配的IO带宽,确定是否延迟响应该IO访问请求。
可选的,本发明实施例提供的分布式文件系统中,一个租户的IO带宽分配给属于该租户的至少一个用户使用,一个用户可能会登录至少一个客户端(即一个用户可能对应多个应用)。第一数据节点为租户分配IO带宽之后,第一数据节点还可以进一步为属于该租户的至少一个用户分配IO带宽,以及为由至少一个用户登录的至少一个客户端分配IO带宽。如此,第一数据节点可以依次按照“租户->用户->客户端”的形式最终为每个客户端分配IO带宽。
下面对第一数据节点为属于该租户的至少一个用户分配IO带宽进行示例性的说明。
第一数据节点基于第一数据节点为租户分配的IO带宽,根据至少一个用户中每个用户的权重,为至少一个用户中的每个用户分配IO带宽。
上述每个用户的权重具体可以根据每个用户的业务优先级和/或该用户的业务所需的IO带宽来确定。具体的,用户的业务优先级越高,用户的权重越大;用户的业务所需的IO带宽越大,用户的权重越大。可选的,当根据用户的业务优先级和用户的业务所需的IO带宽确定用户的权重时,可以优先根据用户的业务优先级确定一个权重(例如权重3),然后再在该权重的基础上,进一步根据用户的业务所需的IO带宽对该权重进行相应的调整,并将调整后的权重(例如权重4)确定为用户的权重。如此,确定的用户的权重比较准确。
第一数据节点基于第一数据节点为租户分配的IO带宽,根据至少一个用户中每个用户的权重,为至少一个用户中的每个用户分配IO带宽的方式可以为:
第一数据节点基于第一数据节点为租户分配的IO带宽,通过公式二为使用该租户的至少一个用户中的每个用户分配IO带宽。
其中,上述公式二可以为:用户的IO带宽=该用户的权重/使用该租户的所有用户的权重之和*第一数据节点为租户分配的IO带宽。
示例性的,假设使用某租户的用户有3个,分别为用户1、用户2和用户3;用户1的权重为1,用户2的权重为2,用户3的权重为3;第一数据节点为该租户分配的IO带宽为N;则:
用户1的IO带宽=用户1的权重/(用户1的权重+用户2的权重+用户3的权重)*第一数据节点为租户分配的IO带宽=1/(1+2+3)*N=N/6;
用户2的IO带宽=用户2的权重/(用户1的权重+用户2的权重+用户3的权重)*第一数据节点为租户分配的IO带宽=2/(1+2+3)*N=N/3;
用户3的IO带宽=用户3的权重/(用户1的权重+用户2的权重+用户3的权重)*第一数据节点为租户分配的IO带宽=3/(1+2+3)*N=N/2。
本发明实施例中,由于第一数据节点通过公式二为属于租户的每个用户分配IO带宽时是按照每个用户的权重分配的,因此为每个用户分配的IO带宽可以尽量满足每个用户对IO带宽的需求,并且均衡地满足每个用户对IO带宽的需求。
下面对第一数据节点为属于该租户的第一用户登录的至少一个客户端分配IO带宽进行示例性的说明。其中,第一用户是指属于该租户的至少一个用户中的任一用户。
第一数据节点基于第一数据节点为第一用户分配的IO带宽,根据至少一个客户端中每个客户端的权重,为至少一个客户端中的每个客户端分配IO带宽。
上述每个客户端的权重具体可以根据每个客户端的业务优先级和/或该客户端的业务所需的IO带宽来确定。具体的,客户端的业务优先级越高,客户端的权重越大;客户端的业务所需的IO带宽越大,客户端的权重越大。可选的,当根据客户端的业务优先级和客户端的业务所需的IO带宽确定客户端的权重时,可以优先根据客户端的业务优先级确定一个权重(例如权重5),然后再在该权重的基础上,进一步根据客户端的业务所需的IO带宽对该权重进行相应的调整,并将调整后的权重(例如权重6)确定为客户端的权重。如此,确定的客户端的权重比较准确。
第一数据节点基于第一数据节点为第一用户分配的IO带宽,根据至少一个客户端中每个客户端的权重,为至少一个客户端中的每个客户端分配IO带宽的方式可以为:
第一数据节点基于第一数据节点为第一用户分配的IO带宽,通过公式三为由第一用户启动的至少一个客户端中的每个客户端分配IO带宽。
其中,上述公式三可以为:客户端的IO带宽=该客户端的权重/由第一用户启动的所有客户端的权重之和*第一数据节点为第一用户分配的IO带宽。
示例性的,假设第一用户启动的客户端有3个,分别为客户端1、客户端2和客户端3;客户端1的权重为1,客户端2的权重为2,客户端3的权重为3;第一数据节点为第一用户分配的IO带宽为A;则:
客户端1的IO带宽=客户端1的权重/(客户端1的权重+客户端2的权重+客户端3的权重)*第一数据节点为第一用户分配的IO带宽=1/(1+2+3)*A=A/6;
客户端2的IO带宽=客户端2的权重/(客户端1的权重+客户端2的权重+客户端3的权重)*第一数据节点为第一用户分配的IO带宽=2/(1+2+3)*A=A/3;
客户端3的IO带宽=客户端3的权重/(客户端1的权重+客户端2的权重+客户端3的权重)*第一数据节点为第一用户分配的IO带宽=3/(1+2+3)*A=A/2。
本发明实施例中,由于第一数据节点通过公式三为由一个用户登录的每个客户端分配IO带宽时是按照每个客户端的权重分配的,因此为每个客户端分配的IO带宽可以尽量满足每个客户端对IO带宽的需求,并且均衡地满足每个客户端对IO带宽的需求。
如图13所示,本发明实施例提供一种名称节点,该名称节点应用于分布式文件系统,该分布式文件系统包括该名称节点和至少一个数据节点,该名称节点用于执行以上如图4至图8任一所示的控制IO带宽的方法中的名称节点所执行的步骤。该名称节点可以包括相应步骤所对应的单元和/或模块。示例性的,以该名称节点包括相应步骤所对应的单元为例,该名称节点包括确定单元10和指示单元11。
其中,确定单元10,用于确定该至少一个数据节点中每个数据节点的IO带宽和第一租户的IO带宽;指示单元11,用于基于确定单元10确定的该至少一个数据节点中每个数据节点的IO带宽以及第一租户的IO带宽,指示该至少一个数据节点为第一租户分配至少一个IO带宽。该至少一个IO带宽与该至少一个数据节点一一对应,该至少一个IO带宽中的每个IO带宽小于或者等于对应的数据节点的IO带宽,该至少一个IO带宽中的每个IO带宽大于0。
可选的,上述至少一个IO带宽的总和小于或者等于第一租户的IO带宽;或者,上述至少一个IO带宽的总和小于或者等于第一租户的IO带宽与额外带宽之和。
可选的,上述至少一个数据节点包括第一数据节点,第一数据节点在指示单元11的指示下为第一租户分配的IO带宽是第一IO带宽,第一IO带宽是该至少一个IO带宽中与第一数据节点对应的IO带宽。
确定单元10,还用于在指示单元11指示该至少一个数据节点为第一租户分配该至少一个IO带宽之后,确定第一租户分别在该至少一个IO带宽中使用的IO带宽为至少一个使用带宽,该至少一个使用带宽与该至少一个IO带宽一一对应;指示单元11,还用于根据确定单元10确定的该至少一个使用带宽,指示该至少一个数据节点分别调整该至少一个IO带宽中对应的IO带宽,或者指示第一数据节点调整第一IO带宽。
可选的,确定单元10,还用于在指示单元11指示该至少一个数据节点为第一租户分配该至少一个IO带宽之后,确定第一租户分别在该至少一个IO带宽中使用的IO带宽为至少一个使用带宽,该至少一个使用带宽与该至少一个IO带宽一一对应;指示单元11,还用于当该至少一个IO带宽之和与确定单元10确定的该至少一个使用带宽之和的差值小于或者等于第一阈值时,指示第二数据节点为第一租户分配IO带宽,该至少一个数据节点不包括第二数据节点。
可选的,确定单元10,还用于在指示单元11指示该至少一个数据节点为第一租户分配该至少一个IO带宽之后,确定第一租户分别在该至少一个IO带宽中使用的IO带宽为至少一个使用带宽,该至少一个使用带宽与该至少一个IO带宽一一对应;指示单元11,还用于当该至少一个IO带宽之和与确定单元10确定的该至少一个使用带宽之和的差值大于第一阈值时,指示第三数据节点将第三数据节点为第一租户分配的IO带宽调整为0,该至少一个数据节点包括第三数据节点。
可选的,该至少一个数据节点包括第一数据节点,第一数据节点在指示单元11的指示下为第一租户分配的IO带宽是第一IO带宽,第一IO带宽是该至少一个IO带宽中与第一数据节点对应的IO带宽。
确定单元10,还用于在指示单元11指示该至少一个数据节点为第一租户分配该至少一个IO带宽之后,确定第一租户使用的第一IO带宽中的IO带宽;指示单元11,还用于根据确定单元10确定的第一租户使用的第一IO带宽中的IO带宽,指示第一数据节点调整第一IO带宽。
可选的,m个租户包括第一租户,m为正整数。
确定单元,具体用于根据m个租户中每个租户的权重,从该至少一个数据节点中每个数据节点的IO带宽的总和,确定第一租户的IO带宽。
确定单元10和指示单元11的一种实现方式,可以是名称节点中的至少一个处理器执行存储器中存储的计算机执行指令实现。
可以理解,本实施例的名称节点可对应于上述如图4至图8任一所示的控制IO带宽的方法中的名称节点,并且本实施例的名称节点中的各个单元和/或模块的划分等均是为了实现如图4至图8任一所示的方法流程,为了避免重复,在此不再赘述各个单元和/或模块的功能实现。
本发明实施例提供的名称节点应用于分布式文件系统,该分布式文件系统包括该名称节点和至少一个数据节点。该名称节点通过确定该至少一个数据节点中每个数据节点的IO带宽和第一租户的IO带宽,并根据该至少一个数据节点中每个数据节点的IO带宽和第一租户的IO带宽,指示该至少一个数据节点为第一租户分配该至少一个IO带宽。本发明实施例提供的名称节点,可以指示数据节点为租户分配IO带宽,分配IO带宽的方式比较灵活;进而,该租户的IO带宽为至少一个用户共享,至少一个用户中的每个用户对应至少一个应用,因此属于该租户的多个应用可以共享为该租户分配的IO带宽,即使在不同时刻该多个应用可能不同,但该多个应用仍共享为该租户分配的IO带宽,因此能够提高分布式文件系统中IO带宽的利用率。
如图14所示,本发明实施例提供一种数据节点,该数据节点应用于分布式文件系统,该分布式文件系统包括至少一个数据节点,本发明实施例提供的该数据节点可以是该至少一个数据节点中的任一数据节点。该数据节点用于执行以上如图9所示的控制IO带宽的方法中的第一数据节点所执行的步骤。该数据节点可以包括相应步骤所对应的单元和/或模块。示例性的,以该数据节点包括相应步骤所对应的单元为例,该数据节点包括确定单元20和分配单元21。
其中,确定单元20,用于确定该至少一个数据节点中每个数据节点的IO带宽和第一租户的IO带宽;分配单元21,用于根据确定单元20确定的该至少一个数据节点中每个数据节点的IO带宽和第一租户的IO带宽,为第一租户分配第一IO带宽。第一IO带宽小于或等于第一数据节点的IO带宽,第一IO带宽大于0。
可选的,确定单元20,还用于在分配单元21为第一租户分配第一IO带宽之后,确定第一租户分别在该至少一个数据节点中使用的IO带宽为该至少一个使用带宽;分配单元21,还用于根据确定单元20确定的该至少一个使用带宽,调整第一IO带宽。
可选的,确定单元20,还用于在分配单元21为第一租户分配第一IO带宽之后,确定第一租户使用的第一IO带宽中的IO带宽;分配单元21,还用于根据确定单元20确定的第一租户使用的第一IO带宽中的IO带宽,调整第一IO带宽。
可选的,第一租户为m个租户中的一个租户(即m个租户包括第一租户),m为正整数。
确定单元20,具体用于根据m个租户中每个租户的权重,从该至少一个数据节点中每个数据节点的IO带宽的总和,确定第一租户的IO带宽。
确定单元20和分配单元21的一种实现方式,可以是数据节点中的至少一个处理器执行存储器中存储的计算机执行指令实现。
可以理解,本实施例的数据节点可对应于上述如图9所示的控制IO带宽的方法中的第一数据节点,并且本实施例的数据节点中的各个单元和/或模块的划分等均是为了实现如图9所示的方法流程,为了避免重复,在此不再赘述各个单元和/或模块的功能实现。
本发明实施例提供的数据节点应用于分布式文件系统,该分布式文件系统包括至少一个数据节点,该至少一个数据节点包括该数据节点。该数据节点通过确定该至少一个数据节点中每个数据节点的IO带宽和第一租户的IO带宽,并根据该至少一个数据节点中每个数据节点的IO带宽和第一租户的IO带宽,为第一租户分配第一IO带宽。本发明实施例提供的数据节点,可以实现为租户分配IO带宽,分配IO带宽的方式比较灵活;进而,该租户的IO带宽为至少一个用户共享,至少一个用户中的每个用户对应至少一个应用,因此属于该租户的多个应用可以共享为该租户分配的IO带宽,即使在不同时刻该多个应用可能不同,但该多个应用仍共享为该租户分配的IO带宽,因此能够提高分布式文件系统中IO带宽的利用率。
如图15所示,本发明实施例提供一种数据节点,该数据节点应用于分布式文件系统,该分布式文件系统包括至少一个数据节点,至少一个数据节点包括该数据节点,该数据节点用于执行以上如图10至图12任一所示的处理IO访问请求的方法中的数据节点所执行的步骤。该数据节点可以包括相应步骤所对应的单元和/或模块。示例性的,以该数据节点包括相应步骤所对应的单元为例,该数据节点包括接收单元30、确定单元31和分配单元32。
其中,接收单元30,用于接收IO访问请求,该IO访问请求是租户访问分布式文件系统的请求;确定单元31,用于根据接收单元30接收的该IO访问请求,确定该IO访问请求对应的租户;并根据分配单元32已为租户分配的IO带宽,确定是否延迟响应该IO访问请求。
可选的,确定单元31,具体用于确定分配单元32已为租户分配的IO带宽与租户在该数据节点使用的IO带宽的差值;并在确定该差值大于第三阈值时,响应该IO访问请求。
可选的,确定单元31,具体用于确定分配单元32已为租户分配的IO带宽与租户在该数据节点使用的IO带宽的差值;并在确定该差值小于或者等于第三阈值时,延迟响应该IO访问请求。
可选的,接收单元30,还用于在分配单元32为租户分配IO带宽之前,接收名称节点的指示;分配单元32,用于根据接收单元30接收的名称节点的指示,为租户分配IO带宽。
可选的,确定单元31,具体用于根据接收单元30接收的IO访问请求携带的租户标识,确定该IO访问请求对应的租户。
可选的,分布式文件系统管理的属于租户的文件所具有的文件属性中包含租户标识。
确定单元31,具体用于根据接收单元30接收的IO访问请求指定的文件,获取该IO访问请求指定的文件所具有的文件属性;并根据获取的文件属性包含的租户标识,确定该IO访问请求对应的租户。
接收单元30可以通过数据节点中的接口电路实现;确定单元31和分配单元32的一种实现方式,可以是数据节点中的至少一个处理器执行存储器中存储的计算机执行指令实现。
可以理解,本实施例的数据节点可对应于上述如图10至图12任一所示的处理IO访问请求的方法中的第一数据节点,并且本实施例的数据节点中的各个单元和/或模块的划分等均是为了实现如图10至图12任一所示的方法流程,为了避免重复,在此不再赘述各个单元和/或模块的功能实现。
本发明实施例提供的数据节点应用于分布式文件系统,该分布式文件系统包括至少一个数据节点,至少一个数据节点包括该数据节点。该数据节点通过接收租户访问分布式文件系统的IO访问请求,并根据该IO访问请求确定该IO访问请求对应的租户,然后再根据该数据节点已为该租户分配的IO带宽,确定是否延迟响应该IO访问请求。本发明实施例可以实现在数据节点上为租户分配IO带宽,进而数据节点可以根据为租户分配的IO带宽确定是否延迟响应与租户对应的IO访问请求(即本申请一定会响应IO访问请求,可以为立即响应或者延迟响应),因此可以提高响应IO访问请求的成功率。
如图16所述,本发明实施例提供一种名称节点,该名称节点应用于分布式文件系统,该分布式文件系统包括该名称节点和至少一个数据节点。该名称节点包括至少一个处理器40、接口电路41、存储器42和系统总线43。
其中,存储器42用于存储计算机执行指令,至少一个处理器40、接口电路41和存储器42通过系统总线43相互连接,当该名称节点运行时,至少一个处理器40执行存储器42存储的计算机执行指令,以使该名称节点执行如图4至图8任一所示的控制IO带宽的方法。具体的控制IO带宽的方法可参见上述如图4至图8任一所示的实施例中的相关描述,此处不再赘述。
处理器40具体可以为中央处理器(英文:central processing unit,CPU)。处理器40还可以为其他通用处理器、数字信号处理器(英文:digital signal processing,简称DSP)、专用集成电路(英文:application specific integrated circuit,简称ASIC)、现场可编程门阵列(英文:field-programmable gate array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
处理器40还可以为专用处理器,该专用处理器可以包括具有名称节点其他专用处理功能的芯片。
存储器42可以包括易失性存储器(英文:volatile memory),例如随机存取存储器(英文:random-access memory,RAM);存储器42也可以包括非易失性存储器(英文:non-volatile memory),例如只读存储器(英文:read-only memory,ROM),快闪存储器(英文:flash memory),硬盘(英文:hard disk drive,HDD)或固态硬盘(英文:solid-statedrive,SSD);存储器42还可以包括上述种类的存储器的组合。
系统总线43可以包括数据总线、电源总线、控制总线和信号状态总线等。本实施例中为了清楚说明,在图16中将各种总线都示意为系统总线43。
接口电路41具体可以是名称节点上的IO接口、网络接口或者通信接口。至少一个处理器40通过接口电路41与其他设备,例如数据节点之间进行数据的交互。
在具体实现过程中,上述如图4至图8任一所示的方法流程中的各步骤均可以通过硬件形式的处理器40执行存储器42中存储的软件形式的计算机执行指令实现。为避免重复,此处不再赘述。
本发明实施例提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机执行指令,当名称节点的至少一个处理器执行该计算机执行指令时,名称节点执行上述如图4至图8任一所示的控制IO带宽的方法。具体的控制IO带宽的方法可参见上述如图4至图8任一所示的实施例中的相关描述,此处不再赘述。
本发明实施例提供一种计算机程序产品,该计算机程序产品包括计算机执行指令,该计算机执行指令存储在计算机可读存储介质中。名称节点的至少一个处理器可以从计算机可读存储介质读取该计算机执行指令,至少一个处理器执行该计算机执行指令使得名称节点实施上述如图4至图8任一所示的控制IO带宽的方法。
上述的计算机可读存储介质可以为上述的存储器42。
本发明实施例提供的名称节点应用于分布式文件系统,该分布式文件系统包括该名称节点和至少一个数据节点。该名称节点通过确定该至少一个数据节点中每个数据节点的IO带宽和第一租户的IO带宽,并根据该至少一个数据节点中每个数据节点的IO带宽和第一租户的IO带宽,指示该至少一个数据节点为第一租户分配至少一个IO带宽。本发明实施例提供的名称节点,可以指示数据节点为租户分配IO带宽,分配IO带宽的方式比较灵活;进而,该租户的IO带宽为至少一个用户共享,至少一个用户中的每个用户对应至少一个应用,因此属于该租户的多个应用可以共享为该租户分配的IO带宽,即使在不同时刻该多个应用可能不同,但该多个应用仍共享为该租户分配的IO带宽,因此能够提高分布式文件系统中IO带宽的利用率。
如图17所示,本发明实施例提供一种数据节点,该数据节点应用于分布式文件系统,该分布式文件系统包括至少一个数据节点,该至少一个数据节点包括该数据节点。该数据节点包括至少一个处理器50、接口电路51、存储器52和系统总线53。
其中,存储器52用于存储计算机执行指令,至少一个处理器50、接口电路51和存储器52通过系统总线53相互连接,当该数据节点运行时,至少一个处理器50执行存储器52存储的计算机执行指令,以使该数据节点执行如图9所示的控制IO带宽的方法。具体的控制IO带宽的方法可参见上述如图9所示的实施例中的相关描述,此处不再赘述。
处理器50具体可以为CPU。处理器50还可以为其他通用处理器、DSP、ASIC、FPGA或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
处理器50还可以为专用处理器,该专用处理器可以包括具有数据节点其他专用处理功能的芯片。
存储器52可以包括易失性存储器,例如RAM;存储器52也可以包括非易失性存储器,例如ROM,快闪存储器,HDD或SSD;存储器52还可以包括上述种类的存储器的组合。
系统总线53可以包括数据总线、电源总线、控制总线和信号状态总线等。本实施例中为了清楚说明,在图17中将各种总线都示意为系统总线53。
接口电路51具体可以是数据节点上的IO接口、网络接口或者通信接口。至少一个处理器50通过接口电路51与其他设备,例如名称节点之间进行数据的交互。
在具体实现过程中,上述如图9所示的方法流程中的各步骤均可以通过硬件形式的处理器50执行存储器52中存储的软件形式的计算机执行指令实现。为避免重复,此处不再赘述。
本发明实施例提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机执行指令,当数据节点的至少一个处理器执行该计算机执行指令时,数据节点执行上述如图9所示的控制IO带宽的方法。具体的控制IO带宽的方法可参见上述如图9所示的实施例中的相关描述,此处不再赘述。
本发明实施例提供一种计算机程序产品,该计算机程序产品包括计算机执行指令,该计算机执行指令存储在计算机可读存储介质中。数据节点中的至少一个处理器可以从计算机可读存储介质读取该计算机执行指令,至少一个处理器执行该计算机执行指令使得数据节点实施如图9所示的控制IO带宽的方法。
上述计算机可读存储介质可以为上述的存储器52。
本发明实施例提供的数据节点应用于分布式文件系统,该分布式文件系统包括至少一个数据节点,该至少一个数据节点包括该数据节点。该数据节点通过确定该至少一个数据节点中每个数据节点的IO带宽和第一租户的IO带宽,并根据该至少一个数据节点中每个数据节点的IO带宽和第一租户的IO带宽,为第一租户分配第一IO带宽。本发明实施例提供的数据节点,可以实现为租户分配IO带宽,分配IO带宽的方式比较灵活;进而,该租户的IO带宽为至少一个用户共享,至少一个用户中的每个用户对应至少一个应用,因此属于该租户的多个应用可以共享为该租户分配的IO带宽,即使在不同时刻该多个应用可能不同,但该多个应用仍共享为该租户分配的IO带宽,因此能够提高分布式文件系统中IO带宽的利用率。
如图18所示,本发明实施例提供一种数据节点,该数据节点应用于分布式文件系统,该分布式文件系统包括至少一个数据节点,该至少一个数据节点包括该数据节点。该数据节点包括至少一个处理器60、接口电路61、存储器62和系统总线63。
其中,存储器62用于存储计算机执行指令,至少一个处理器60、接口电路61和存储器62通过系统总线63相互连接,当该数据节点运行时,至少一个处理器60执行存储器62存储的计算机执行指令,以使该数据节点执行如图10至图12任一所示的处理IO访问请求的方法。具体的处理IO访问请求的方法可参见上述如图10至图12任一所示的实施例中的相关描述,此处不再赘述。
处理器60具体可以为CPU。处理器60还可以为其他通用处理器、DSP、ASIC、FPGA或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
处理器60还可以为专用处理器,该专用处理器可以包括具有数据节点其他专用处理功能的芯片。
存储器62可以包括易失性存储器,例如RAM;存储器62也可以包括非易失性存储器,例如ROM,快闪存储器,HDD或SSD;存储器62还可以包括上述种类的存储器的组合。
系统总线63可以包括数据总线、电源总线、控制总线和信号状态总线等。本实施例中为了清楚说明,在图18中将各种总线都示意为系统总线63。
接口电路61具体可以是数据节点上的IO接口、网络接口或者通信接口。至少一个处理器60通过接口电路61与其他设备,例如名称节点之间进行数据的交互。
在具体实现过程中,上述如图10至图12任一所示的方法流程中的各步骤均可以通过硬件形式的处理器60执行存储器62中存储的软件形式的计算机执行指令实现。为避免重复,此处不再赘述。
本发明实施例提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机执行指令,当数据节点的至少一个处理器执行该计算机执行指令时,数据节点执行上述如图10至图12任一所示的处理IO访问请求的方法。具体的处理IO访问请求的方法可参见上述如图10至图12任一所示的实施例中的相关描述,此处不再赘述。
本发明实施例提供一种计算机程序产品,该计算机程序产品包括计算机执行指令,该计算机执行指令存储在计算机可读存储介质中。数据节点的至少一个处理器可以从计算机可读存储介质读取该计算机执行指令,至少一个处理器执行该计算机执行指令使得数据节点实施上述如图10至图12任一所示的处理IO访问请求的方法。
上述计算机可读存储介质可以为上述的存储器62。
本发明实施例提供的数据节点应用于分布式文件系统,该分布式文件系统包括至少一个数据节点,该至少一个数据节点包括该数据节点。该数据节点通过接收租户访问分布式文件系统的IO访问请求,并根据该IO访问请求确定该IO访问请求对应的租户,然后再根据该数据节点已为该租户分配的IO带宽,确定是否延迟响应该IO访问请求。本发明实施例可以实现在数据节点上为租户分配IO带宽,进而数据节点可以根据为租户分配的IO带宽确定是否延迟响应与租户对应的IO访问请求(即本申请一定会响应IO访问请求,可以为立即响应或者延迟响应),因此可以提高响应IO访问请求的成功率。
本发明实施例提供一种分布式文件系统,该分布式文件系统包括名称节点和至少一个数据节点,该名称节点为上述如图13或图16所示的名称节点。
或者,该分布式文件系统包括至少一个数据节点,该至少一个数据节点包括第一数据节点,该第一数据节点为上述如图14或图17所示的数据节点。
或者,该分布式文件系统包括至少一个数据节点,该至少一个数据节点包括第一数据节点,该第一数据节点为上述如图15或图18所示的数据节点。
本发明实施例提供的分布式文件系统可以为上述如图2或图3所示的分布式文件系统。具体的,可以参见上述实施例中对如图2或图3所示的分布式文件系统的相关描述,此处不再赘述。
本发明实施例提供的分布式文件系统包括名称节点和至少一个数据节点。该名称节点通过确定该至少一个数据节点中每个数据节点的IO带宽和第一租户的IO带宽,并根据该至少一个数据节点中每个数据节点的IO带宽和第一租户的IO带宽,指示该至少一个数据节点为第一租户分配该至少一个IO带宽。本发明实施例提供的名称节点,可以指示数据节点为租户分配IO带宽,分配IO带宽的方式比较灵活;进而,该租户的IO带宽为至少一个用户共享,至少一个用户中的每个用户对应至少一个应用,因此属于该租户的多个应用可以共享为该租户分配的IO带宽,即使在不同时刻该多个应用可能不同,但该多个应用仍共享为该租户分配的IO带宽,因此能够提高分布式文件系统中IO带宽的利用率。
本发明实施例提供的分布式文件系统包括至少一个数据节点,该至少一个数据节点包括第一数据节点。第一数据节点通过确定该至少一个数据节点中每个数据节点的IO带宽和第一租户的IO带宽,并根据该至少一个数据节点中每个数据节点的IO带宽和第一租户的IO带宽,为第一租户分配第一IO带宽。本发明实施例提供的数据节点,可以实现为租户分配IO带宽,分配IO带宽的方式比较灵活;进而,该租户的IO带宽为至少一个用户共享,至少一个用户中的每个用户对应至少一个应用,因此属于该租户的多个应用可以共享为该租户分配的IO带宽,即使在不同时刻该多个应用可能不同,但该多个应用仍共享为该租户分配的IO带宽,因此能够提高分布式文件系统中IO带宽的利用率。
本发明实施例提供的分布式文件系统包括至少一个数据节点,该至少一个数据节点包括第一数据节点。第一数据节点通过接收租户访问分布式文件系统的IO访问请求,并根据该IO访问请求确定该IO访问请求对应的租户,然后再根据第一数据节点已为该租户分配的IO带宽,确定是否延迟响应该IO访问请求。本发明实施例可以实现在数据节点上为租户分配IO带宽,进而数据节点可以根据为租户分配的IO带宽确定是否延迟响应与租户对应的IO访问请求(即本申请一定会响应IO访问请求,可以为立即响应或者延迟响应),因此可以提高响应IO访问请求的成功率。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:快闪存储器、移动硬盘、只读存储器、随机存取存储器、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

Claims (29)

1.一种控制输入输出IO带宽的方法,其特征在于,所述方法应用于分布式文件系统,所述分布式文件系统包括名称节点和至少一个数据节点;所述方法包括:
所述名称节点确定所述至少一个数据节点中每个数据节点的IO带宽;
所述名称节点确定第一租户的IO带宽;
所述名称节点基于所述至少一个数据节点中每个数据节点的IO带宽以及所述第一租户的IO带宽,指示所述至少一个数据节点为所述第一租户分配至少一个IO带宽,其中,所述至少一个IO带宽与所述至少一个数据节点一一对应,所述至少一个IO带宽中的每个IO带宽小于或者等于对应的数据节点的IO带宽,所述至少一个IO带宽中的每个IO带宽大于0;其中所述第一租户的IO带宽为至少一个用户共享,所述至少一个用户中的每个用户对应至少一个应用,属于所述第一租户的至少一个用户对应的多个应用共享为所述第一租户分配的IO带宽;
所述名称节点确定所述第一租户分别在所述至少一个IO带宽中使用的IO带宽为至少一个使用带宽,所述至少一个使用带宽与所述至少一个IO带宽一一对应;
当所述至少一个IO带宽之和与所述至少一个使用带宽之和的差值小于或者等于第一阈值时,所述名称节点指示第二数据节点为所述第一租户分配IO带宽,所述至少一个数据节点不包括所述第二数据节点;
当所述至少一个IO带宽之和与所述至少一个使用带宽之和的差值大于第一阈值时,所述名称节点指示第三数据节点将所述第三数据节点为所述第一租户分配的IO带宽调整为0,所述至少一个数据节点包括所述第三数据节点。
2.根据权利要求1所述的方法,其特征在于,
所述至少一个IO带宽的总和小于或者等于所述第一租户的IO带宽;或者,
所述至少一个IO带宽的总和小于或者等于所述第一租户的IO带宽与额外带宽之和。
3.根据权利要求1所述的方法,其特征在于,所述至少一个数据节点包括第一数据节点,所述第一数据节点在所述名称节点的指示下为所述第一租户分配的IO带宽是第一IO带宽,所述第一IO带宽是所述至少一个IO带宽中与所述第一数据节点对应的IO带宽;
所述名称节点基于所述至少一个数据节点中每个数据节点的IO带宽以及所述第一租户的IO带宽,指示所述至少一个数据节点为所述第一租户分配至少一个IO带宽之后,所述方法还包括:
所述名称节点确定所述第一租户分别在所述至少一个IO带宽中使用的IO带宽为至少一个使用带宽,所述至少一个使用带宽与所述至少一个IO带宽一一对应;
所述名称节点根据所述至少一个使用带宽,指示所述至少一个数据节点分别调整所述至少一个IO带宽中对应的IO带宽,或者指示所述第一数据节点调整所述第一IO带宽。
4.根据权利要求2所述的方法,其特征在于,所述至少一个数据节点包括第一数据节点,所述第一数据节点在所述名称节点的指示下为所述第一租户分配的IO带宽是第一IO带宽,所述第一IO带宽是所述至少一个IO带宽中与所述第一数据节点对应的IO带宽;
所述名称节点基于所述至少一个数据节点中每个数据节点的IO带宽以及所述第一租户的IO带宽,指示所述至少一个数据节点为所述第一租户分配至少一个IO带宽之后,所述方法还包括:
所述名称节点确定所述第一租户分别在所述至少一个IO带宽中使用的IO带宽为至少一个使用带宽,所述至少一个使用带宽与所述至少一个IO带宽一一对应;
所述名称节点根据所述至少一个使用带宽,指示所述至少一个数据节点分别调整所述至少一个IO带宽中对应的IO带宽,或者指示所述第一数据节点调整所述第一IO带宽。
5.根据权利要求2所述的方法,其特征在于,所述至少一个数据节点包括第一数据节点,所述第一数据节点在所述名称节点的指示下为所述第一租户分配的IO带宽是第一IO带宽,所述第一IO带宽是所述至少一个IO带宽中与所述第一数据节点对应的IO带宽;
所述名称节点基于所述至少一个数据节点中每个数据节点的IO带宽以及所述第一租户的IO带宽,指示所述至少一个数据节点为所述第一租户分配至少一个IO带宽之后,所述方法还包括:
所述名称节点确定所述第一租户分别在所述至少一个IO带宽中使用的IO带宽为至少一个使用带宽,所述至少一个使用带宽与所述至少一个IO带宽一一对应;
所述名称节点根据所述至少一个使用带宽,指示所述至少一个数据节点分别调整所述至少一个IO带宽中对应的IO带宽,或者指示所述第一数据节点调整所述第一IO带宽。
6.根据权利要求1至5任一项所述的方法,其特征在于,所述至少一个数据节点包括第一数据节点,所述第一数据节点在所述名称节点的指示下为所述第一租户分配的IO带宽是第一IO带宽,所述第一IO带宽是所述至少一个IO带宽中与所述第一数据节点对应的IO带宽;
所述名称节点基于所述至少一个数据节点中每个数据节点的IO带宽以及所述第一租户的IO带宽,指示所述至少一个数据节点为所述第一租户分配至少一个IO带宽之后,所述方法还包括:
所述名称节点确定所述第一租户使用的所述第一IO带宽中的IO带宽;
所述名称节点根据所述第一租户使用的所述第一IO带宽中的IO带宽,指示所述第一数据节点调整所述第一IO带宽。
7.根据权利要求1至5任一项所述的方法,其特征在于,m个租户包括所述第一租户,m为正整数;
所述名称节点确定第一租户的IO带宽,包括:
所述名称节点根据所述m个租户中每个租户的权重,从所述至少一个数据节点中每个数据节点的IO带宽的总和,确定所述第一租户的IO带宽。
8.根据权利要求6所述的方法,其特征在于,m个租户包括所述第一租户,m为正整数;
所述名称节点确定第一租户的IO带宽,包括:
所述名称节点根据所述m个租户中每个租户的权重,从所述至少一个数据节点中每个数据节点的IO带宽的总和,确定所述第一租户的IO带宽。
9.一种处理输入输出IO访问请求的方法,其特征在于,所述方法应用于分布式文件系统,所述分布式文件系统包括至少一个数据节点,所述至少一个数据节点包括第一数据节点;所述方法包括:
所述第一数据节点接收IO访问请求,所述IO访问请求是租户访问所述分布式文件系统的请求;
所述第一数据节点根据所述IO访问请求,确定所述IO访问请求对应的所述租户;
所述第一数据节点根据所述第一数据节点已为所述租户分配的IO带宽,确定是否延迟响应所述IO访问请求;其中所述租户的IO带宽为至少一个用户共享,所述至少一个用户中的每个用户对应至少一个应用,属于所述租户的至少一个用户对应的多个应用共享为所述租户分配的IO带宽;
所述第一数据节点为所述租户分配IO带宽之前,所述方法还包括:
所述第一数据节点接收名称节点的指示;
所述第一数据节点为所述租户分配IO带宽,包括:所述第一数据节点根据所述名称节点的指示,为所述租户分配IO带宽;
所述第一数据节点为所述租户分配IO带宽之后,在分配的IO带宽小于或等于所述租户所需的IO带宽的情况下,所述第一数据节点在为所述租户分配所述租户所需的IO带宽的基础上,为所述租户分配一个额外带宽。
10.根据权利要求9所述的方法,其特征在于,所述第一数据节点根据所述第一数据节点已为所述租户分配的IO带宽,确定是否延迟响应所述IO访问请求,包括:
所述第一数据节点确定所述第一数据节点已为所述租户分配的IO带宽与所述租户在所述第一数据节点使用的IO带宽的差值;
所述第一数据节点在确定所述差值大于第三阈值时,响应所述IO访问请求。
11.根据权利要求9所述的方法,其特征在于,所述第一数据节点根据所述第一数据节点已为所述租户分配的IO带宽,确定是否延迟响应所述IO访问请求,包括:
所述第一数据节点确定所述第一数据节点已为所述租户分配的IO带宽与所述租户在所述第一数据节点使用的IO带宽的差值;
所述第一数据节点在确定所述差值小于或者等于第三阈值时,延迟响应所述IO访问请求。
12.根据权利要求10所述的方法,其特征在于,所述第一数据节点根据所述第一数据节点已为所述租户分配的IO带宽,确定是否延迟响应所述IO访问请求,包括:
所述第一数据节点确定所述第一数据节点已为所述租户分配的IO带宽与所述租户在所述第一数据节点使用的IO带宽的差值;
所述第一数据节点在确定所述差值小于或者等于第三阈值时,延迟响应所述IO访问请求。
13.根据权利要求9至12任一项所述的方法,其特征在于,所述第一数据节点根据所述IO访问请求,确定所述IO访问请求对应的所述租户,包括:
所述第一数据节点根据所述IO访问请求携带的租户标识,确定所述IO访问请求对应的所述租户。
14.根据权利要求9至12任一项所述的方法,其特征在于,所述分布式文件系统管理的属于所述租户的文件所具有的文件属性中包含租户标识;
所述第一数据节点根据所述IO访问请求,确定所述IO访问请求对应的所述租户,包括:
所述第一数据节点根据所述IO访问请求指定的文件,获取所述IO访问请求指定的文件所具有的文件属性;
所述第一数据节点根据获取的文件属性包含的所述租户标识,确定所述IO访问请求对应的所述租户。
15.一种名称节点,其特征在于,所述名称节点应用于分布式文件系统,所述分布式文件系统包括所述名称节点和至少一个数据节点,所述名称节点包括确定单元和指示单元:
所述确定单元,用于确定所述至少一个数据节点中每个数据节点的IO带宽和第一租户的IO带宽;
所述指示单元,用于基于所述确定单元确定的所述至少一个数据节点中每个数据节点的IO带宽以及所述第一租户的IO带宽,指示所述至少一个数据节点为所述第一租户分配至少一个IO带宽,其中,所述至少一个IO带宽与所述至少一个数据节点一一对应,所述至少一个IO带宽中的每个IO带宽小于或者等于对应的数据节点的IO带宽,所述至少一个IO带宽中的每个IO带宽大于0;其中所述第一租户的IO带宽为至少一个用户共享,所述至少一个用户中的每个用户对应至少一个应用,属于所述第一租户的至少一个用户对应的多个应用共享为所述第一租户分配的IO带宽;所述至少一个IO带宽用于所述至少一个数据节点根据所述至少一个用户中每个用户的权重,为所述至少一个用户中的每个用户分配的IO带宽;
所述确定单元,还用于在所述指示单元指示所述至少一个数据节点为所述第一租户分配至少一个IO带宽之后,确定所述第一租户分别在所述至少一个IO带宽中使用的IO带宽为至少一个使用带宽,所述至少一个使用带宽与所述至少一个IO带宽一一对应;
所述指示单元,还用于当所述至少一个IO带宽之和与所述确定单元确定的所述至少一个使用带宽之和的差值小于或者等于第一阈值时,指示第二数据节点为所述第一租户分配IO带宽,所述至少一个数据节点不包括所述第二数据节点;当所述至少一个IO带宽之和与所述确定单元确定的所述至少一个使用带宽之和的差值大于第一阈值时,指示第三数据节点将所述第三数据节点为所述第一租户分配的IO带宽调整为0,所述至少一个数据节点包括所述第三数据节点。
16.根据权利要求15所述的名称节点,其特征在于,
所述至少一个IO带宽的总和小于或者等于所述第一租户的IO带宽;或者,
所述至少一个IO带宽的总和小于或者等于所述第一租户的IO带宽与额外带宽之和。
17.根据权利要求15或16所述的名称节点,其特征在于,所述至少一个数据节点包括第一数据节点,所述第一数据节点在所述指示单元的指示下为所述第一租户分配的IO带宽是第一IO带宽,所述第一IO带宽是所述至少一个IO带宽中与所述第一数据节点对应的IO带宽;
所述确定单元,还用于在所述指示单元指示所述至少一个数据节点为所述第一租户分配至少一个IO带宽之后,确定所述第一租户分别在所述至少一个IO带宽中使用的IO带宽为至少一个使用带宽,所述至少一个使用带宽与所述至少一个IO带宽一一对应;
所述指示单元,还用于根据所述确定单元确定的所述至少一个使用带宽,指示所述至少一个数据节点分别调整所述至少一个IO带宽中对应的IO带宽,或者指示所述第一数据节点调整所述第一IO带宽。
18.根据权利要求15或16所述的名称节点,其特征在于,所述至少一个数据节点包括第一数据节点,所述第一数据节点在所述指示单元的指示下为所述第一租户分配的IO带宽是第一IO带宽,所述第一IO带宽是所述至少一个IO带宽中与所述第一数据节点对应的IO带宽;
所述确定单元,还用于在所述指示单元指示所述至少一个数据节点为所述第一租户分配至少一个IO带宽之后,确定所述第一租户使用的所述第一IO带宽中的IO带宽;
所述指示单元,还用于根据所述确定单元确定的所述第一租户使用的所述第一IO带宽中的IO带宽,指示所述第一数据节点调整所述第一IO带宽。
19.根据权利要求17所述的名称节点,其特征在于,所述至少一个数据节点包括第一数据节点,所述第一数据节点在所述指示单元的指示下为所述第一租户分配的IO带宽是第一IO带宽,所述第一IO带宽是所述至少一个IO带宽中与所述第一数据节点对应的IO带宽;
所述确定单元,还用于在所述指示单元指示所述至少一个数据节点为所述第一租户分配至少一个IO带宽之后,确定所述第一租户使用的所述第一IO带宽中的IO带宽;
所述指示单元,还用于根据所述确定单元确定的所述第一租户使用的所述第一IO带宽中的IO带宽,指示所述第一数据节点调整所述第一IO带宽。
20.一种数据节点,其特征在于,所述数据节点应用于分布式文件系统,所述分布式文件系统包括至少一个数据节点,所述至少一个数据节点包括所述数据节点;所述数据节点包括接收单元、确定单元和分配单元:
所述接收单元,用于接收IO访问请求,所述IO访问请求是租户访问所述分布式文件系统的请求;
所述确定单元,用于根据所述接收单元接收的所述IO访问请求,确定所述IO访问请求对应的所述租户;并根据所述分配单元已为所述租户分配的IO带宽,确定是否延迟响应所述IO访问请求;其中所述租户的IO带宽为至少一个用户共享,所述至少一个用户中的每个用户对应至少一个应用,属于所述租户的至少一个用户对应的多个应用共享为所述租户分配的IO带宽;
所述接收单元,还用于在所述分配单元为所述租户分配IO带宽之前,接收名称节点的指示;
所述分配单元,用于根据所述接收单元接收的所述名称节点的指示,为所述租户分配IO带宽;
所述接收单元,还用于在所述分配单元为所述租户分配IO带宽之后,在分配的IO带宽小于或等于所述租户所需的IO带宽的情况下,第一数据节点在为所述租户分配所述租户所需的IO带宽的基础上,为所述租户分配一个额外带宽。
21.根据权利要求20所述的数据节点,其特征在于,
所述确定单元,具体用于确定所述分配单元已为所述租户分配的IO带宽与所述租户在所述数据节点使用的IO带宽的差值;并在确定所述差值大于第三阈值时,响应所述IO访问请求。
22.根据权利要求20所述的数据节点,其特征在于,
所述确定单元,具体用于确定所述分配单元已为所述租户分配的IO带宽与所述租户在所述数据节点使用的IO带宽的差值;并在确定所述差值小于或者等于第三阈值时,延迟响应所述IO访问请求。
23.根据权利要求21所述的数据节点,其特征在于,
所述确定单元,具体用于确定所述分配单元已为所述租户分配的IO带宽与所述租户在所述数据节点使用的IO带宽的差值;并在确定所述差值小于或者等于第三阈值时,延迟响应所述IO访问请求。
24.根据权利要求20至23任一项所述的数据节点,其特征在于,
所述确定单元,具体用于根据所述接收单元接收的所述IO访问请求携带的租户标识,确定所述IO访问请求对应的所述租户。
25.根据权利要求20至23任一项所述的数据节点,其特征在于,所述分布式文件系统管理的属于所述租户的文件所具有的文件属性中包含租户标识;
所述确定单元,具体用于根据所述接收单元接收的所述IO访问请求指定的文件,获取所述IO访问请求指定的文件所具有的文件属性;并根据获取的文件属性包含的所述租户标识,确定所述IO访问请求对应的所述租户。
26.一种名称节点,其特征在于,所述名称节点应用于分布式文件系统,所述分布式文件系统包括所述名称节点和至少一个数据节点,所述名称节点包括至少一个处理器、存储器和系统总线;
所述存储器用于存储计算机执行指令,所述至少一个处理器和所述存储器通过所述系统总线相互连接,当所述名称节点运行时,所述至少一个处理器执行所述存储器存储的所述计算机执行指令,以使所述名称节点执行如权利要求1至7任一项所述的控制输入输出IO带宽的方法。
27.一种数据节点,其特征在于,所述数据节点应用于分布式文件系统,所述分布式文件系统包括至少一个数据节点,所述至少一个数据节点包括所述数据节点;所述数据节点包括至少一个处理器、存储器和系统总线;
所述存储器用于存储计算机执行指令,所述至少一个处理器和所述存储器通过所述系统总线相互连接,当所述数据节点运行时,所述至少一个处理器执行所述存储器存储的所述计算机执行指令,以使所述数据节点执行如权利要求8至13任一项所述的处理输入输出IO访问请求的方法。
28.一种分布式文件系统,其特征在于,所述分布式文件系统包括名称节点和至少一个数据节点;其中,所述名称节点为如权利要求15至19任一项或26所述的名称节点。
29.一种分布式文件系统,其特征在于,所述分布式文件系统包括至少一个数据节点;其中,所述至少一个数据节点包括第一数据节点,所述第一数据节点为如权利要求20至25任一项或27所述的数据节点。
CN201680056237.9A 2016-07-12 2016-07-12 控制io带宽和处理io访问请求的方法、装置及系统 Active CN108369531B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2016/089836 WO2018010104A1 (zh) 2016-07-12 2016-07-12 控制io带宽和处理io访问请求的方法、装置及系统

Publications (2)

Publication Number Publication Date
CN108369531A CN108369531A (zh) 2018-08-03
CN108369531B true CN108369531B (zh) 2023-06-02

Family

ID=60951654

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680056237.9A Active CN108369531B (zh) 2016-07-12 2016-07-12 控制io带宽和处理io访问请求的方法、装置及系统

Country Status (4)

Country Link
US (1) US10887248B2 (zh)
EP (1) EP3301573A4 (zh)
CN (1) CN108369531B (zh)
WO (1) WO2018010104A1 (zh)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103477591A (zh) * 2011-02-01 2013-12-25 谷歌公司 在竞争应用之中共享网络带宽的系统

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5784569A (en) * 1996-09-23 1998-07-21 Silicon Graphics, Inc. Guaranteed bandwidth allocation method in a computer system for input/output data transfers
US7161907B2 (en) * 2002-03-05 2007-01-09 Sun Microsystems, Inc. System and method for dynamic rate flow control
CN100370787C (zh) * 2004-12-29 2008-02-20 华为技术有限公司 一种分组业务中的数据包调度方法
CN1968135A (zh) * 2006-04-27 2007-05-23 华为技术有限公司 流量分发系统和方法
US8972978B2 (en) * 2008-05-02 2015-03-03 Skytap Multitenant hosted virtual machine infrastructure
US9559956B2 (en) * 2011-02-01 2017-01-31 Google Inc. Sharing bandwidth among multiple users of network applications
US20130074091A1 (en) * 2011-09-20 2013-03-21 Cloudbyte, Inc. Techniques for ensuring resources achieve performance metrics in a multi-tenant storage controller
US9100464B2 (en) * 2012-08-29 2015-08-04 Ericsson Television Inc. Regulating content streams from a weighted fair queuing scheduler using weights defined for user equipment nodes
CN102646121A (zh) * 2012-02-23 2012-08-22 武汉大学 结合RDBMS和Hadoop云存储的两级存储方法
CN102685904B (zh) * 2012-05-07 2015-04-01 中兴通讯股份有限公司 一种带宽自适应分配方法和系统
CN103577266B (zh) * 2012-07-31 2017-06-23 国际商业机器公司 用于对现场可编程门阵列资源进行分配的方法及系统
CN102857558B (zh) * 2012-08-13 2015-11-25 广东科学技术职业学院 一种动态构建和自主管理的移动云存储集群系统
US9253053B2 (en) * 2012-10-11 2016-02-02 International Business Machines Corporation Transparently enforcing policies in hadoop-style processing infrastructures
US20140280970A1 (en) * 2013-03-14 2014-09-18 Joyent, Inc. Systems and methods for time-based dynamic allocation of resource management
US9621425B2 (en) * 2013-03-27 2017-04-11 Telefonaktiebolaget L M Ericsson Method and system to allocate bandwidth for heterogeneous bandwidth request in cloud computing networks
CN103782556B (zh) * 2013-08-08 2016-12-07 华为技术有限公司 虚拟化网络的分配方法、控制器、设备及系统
CN103596280B (zh) * 2013-11-04 2016-03-23 南京邮电大学 异构网络多用户多接入视频通信的自适应带宽分配方法
CN103746933A (zh) * 2013-12-24 2014-04-23 乐视网信息技术(北京)股份有限公司 一种节点分配方法和控制中心
US9450884B2 (en) * 2014-06-11 2016-09-20 Alcatel-Lucent Software defined networking based congestion control
CN104301255B (zh) * 2014-10-13 2018-06-12 北京邮电大学 一种光网络多用户带宽公平分配的方法
US9798634B2 (en) * 2014-10-30 2017-10-24 Sap Se Distributed failover for multi-tenant server farms based on load times of replicated tenants
CN105208121A (zh) * 2015-09-23 2015-12-30 深圳市深信服电子科技有限公司 基于分布式文件系统的文件访问流量控制方法及系统

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103477591A (zh) * 2011-02-01 2013-12-25 谷歌公司 在竞争应用之中共享网络带宽的系统

Also Published As

Publication number Publication date
WO2018010104A1 (zh) 2018-01-18
US20180063022A1 (en) 2018-03-01
EP3301573A1 (en) 2018-04-04
EP3301573A4 (en) 2018-10-24
CN108369531A (zh) 2018-08-03
US10887248B2 (en) 2021-01-05

Similar Documents

Publication Publication Date Title
CN107688492B (zh) 资源的控制方法、装置和集群资源管理系统
CN107066319B (zh) 一种面向异构资源的多维调度系统
Wang et al. Dominant resource fairness in cloud computing systems with heterogeneous servers
JP5510556B2 (ja) 仮想マシンのストレージスペースおよび物理ホストを管理するための方法およびシステム
CN110896355B (zh) 一种网络切片的选择方法及装置
CN108337109B (zh) 一种资源分配方法及装置和资源分配系统
US10284489B1 (en) Scalable and secure interconnectivity in server cluster environments
CN103051564B (zh) 资源动态调配的方法和装置
CN109726005B (zh) 用于管理资源的方法、服务器系统和计算机可读介质
CN105159775A (zh) 基于负载均衡器的云计算数据中心的管理系统和管理方法
US20150113529A1 (en) Method, System and Apparatus for Creating Virtual Machine
US10235047B2 (en) Memory management method, apparatus, and system
KR20170056350A (ko) Nfv 자원 할당 검증 장치
US20200225724A1 (en) Platform slicing of central processing unit (cpu) resources
CN105897484A (zh) 一种流量管理装置、服务器和方法
US20110119461A1 (en) File system quota and reservation
CN103530185A (zh) 资源优化方法及装置
CN103414657A (zh) 一种跨数据中心的资源调度方法、超级调度中心和系统
WO2016095524A1 (zh) 资源分配方法及装置
WO2013139037A1 (zh) 用于调度资源的方法及装置
US20200272526A1 (en) Methods and systems for automated scaling of computing clusters
US9465549B1 (en) Dynamic allocation of a high-speed memory pool between a cluster file system and a burst buffer appliance
CN111404828B (zh) 实现全局流控的方法及装置
CN107534678B (zh) 建立vnfm与vim之间的连接的方法、装置及系统
CN108369531B (zh) 控制io带宽和处理io访问请求的方法、装置及系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20220207

Address after: 550025 Huawei cloud data center, jiaoxinggong Road, Qianzhong Avenue, Gui'an New District, Guiyang City, Guizhou Province

Applicant after: Huawei Cloud Computing Technologies Co.,Ltd.

Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen

Applicant before: HUAWEI TECHNOLOGIES Co.,Ltd.

GR01 Patent grant
GR01 Patent grant