CN110727400A - 用于分布式存储系统的流量控制方法、装置、设备和介质 - Google Patents

用于分布式存储系统的流量控制方法、装置、设备和介质 Download PDF

Info

Publication number
CN110727400A
CN110727400A CN201910839850.3A CN201910839850A CN110727400A CN 110727400 A CN110727400 A CN 110727400A CN 201910839850 A CN201910839850 A CN 201910839850A CN 110727400 A CN110727400 A CN 110727400A
Authority
CN
China
Prior art keywords
iops
volume
priority
quota
storage pool
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
CN201910839850.3A
Other languages
English (en)
Other versions
CN110727400B (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.)
Shenzhen Ping An Communication Technology Co Ltd
Original Assignee
Shenzhen Ping An Communication Technology 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 Shenzhen Ping An Communication Technology Co Ltd filed Critical Shenzhen Ping An Communication Technology Co Ltd
Priority to CN201910839850.3A priority Critical patent/CN110727400B/zh
Priority claimed from CN201910839850.3A external-priority patent/CN110727400B/zh
Publication of CN110727400A publication Critical patent/CN110727400A/zh
Application granted granted Critical
Publication of CN110727400B publication Critical patent/CN110727400B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0613Improving I/O performance in relation to throughput
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0631Configuration or reconfiguration of storage systems by allocating resources to storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请涉及分布式存储技术领域,特别是涉及一种用于分布式存储系统的流量控制方法、装置、计算设备和计算机可读存储介质。所述方法包括:获取所述分布式存储系统的存储池的优先级、突发系数和每秒进行读/写操作的次数IOPS总配额以及所述存储池中的各个卷的优先级、IOPS配额限值和IOPS实时配额;将各个所述卷的所述IOPS实时配额的总和与所述存储池的所述IOPS总配额进行比较并得到比较结果;根据所述比较结果按照第一预设规则更新各个所述卷的所述IOPS实时配额。通过本申请的各实施例,通过根据分布式存储系统的存储池的优先级、存储池中的各个卷的优先级和存储池的突发系数对存储池的IOPS配额进行动态分配,从而提升了分布式存储系统的流量控制的效率和稳定性。

Description

用于分布式存储系统的流量控制方法、装置、设备和介质
技术领域
本申请涉及分布式存储技术领域,特别是涉及一种用于分布式存储系统的流量控制方法、装置、计算设备和计算机可读存储介质。
背景技术
随着数据存储技术的发展,分布式存储系统可以有效地解决数据的存储和管理难题,凭借其高扩展性、易运维性和低成本等优点得到了越来越广泛的应用。
现有技术在分布式存储系统中流量控制的实现方法难以满足在资源有限的情况下高效率地实时动态控制每秒进行读/写操作的次数IOPS(Input/output Operations PerSecond),这是本领域技术人员亟需解决的问题。
发明内容
本申请实施例提供了一种用于分布式存储系统的流量控制方法、装置、计算设备和计算机可读存储介质。
根据本申请的第一方面,提供一种用于分布式存储系统的流量控制方法,其包括:
获取所述分布式存储系统的存储池的优先级、突发系数和每秒进行读/写操作的次数IOPS总配额以及所述存储池中的各个卷的优先级、IOPS配额限值和IOPS实时配额;
将各个所述卷的所述IOPS实时配额的总和与所述存储池的所述IOPS总配额进行比较并得到比较结果;
根据所述比较结果按照第一预设规则更新各个所述卷的所述IOPS实时配额。
根据一示例性实施例,所述根据所述比较结果按照第一预设规则更新各个所述卷的所述IOPS实时配额包括:
若所述比较结果为各个所述卷的所述IOPS实时配额的总和小于所述存储池的所述IOPS总配额,则根据第二预设规则更新各个所述卷的所述IOPS实时配额;
若所述比较结果为各个所述卷的所述IOPS实时配额的总和等于所述存储池的所述IOPS总配额,则根据第三预设规则更新各个所述卷的所述IOPS实时配额。
根据一示例性实施例,所述根据第二预设规则更新各个所述卷的所述IOPS实时配额包括:
若各个所述卷的所述IOPS实时配额的总和满足预定条件,则降低所述存储池的所述优先级;
若所述卷的所述优先级高于或等于所述存储池的所述优先级,则将该卷的所述IOPS实时配额更新为该卷的所述IOPS配额限值的(1+r)倍,其中,r为所述存储池的所述突发系数;
若所述卷的所述优先级小于所述存储池的所述优先级,则将该卷的所述IOPS实时配额更新为该卷的所述IOPS配额限值。
根据一示例性实施例,所述预定条件为
Figure BDA0002193140020000021
其中,Q为所述存储池的所述优先级,Qt为各个所述卷的所述IOPS实时配额的总和,Li为第i个卷的所述IOPS配额限值,r为所述存储池的所述突发系数。
根据一示例性实施例,所述根据第三预设规则更新各个所述卷的所述IOPS实时配额包括:
提高所述存储池的所述优先级;
若所述卷的所述优先级高于或等于所述存储池的所述优先级,则将该卷的所述IOPS实时配额更新为该卷的所述IOPS配额限值的(1+r)倍,其中,r为所述存储池的所述突发系数;
若所述卷的所述优先级小于所述存储池的所述优先级,则将该卷的所述IOPS实时配额更新为该卷的所述IOPS配额限值。
根据一示例性实施例,各个所述卷的所述IOPS配额限值的总和小于或等于所述存储池的所述IOPS总配额。
根据一示例性实施例,各个所述卷的所述优先级均小于或等于所述存储池的所述优先级。
根据本申请的第二方面,提供一种用于分布式存储系统的流量控制装置,其包括:
获取模块,其被配置为:获取所述分布式存储系统的存储池的优先级、突发系数和每秒进行读/写操作的次数IOPS总配额以及所述存储池中的各个卷的优先级、IOPS配额限值和IOPS实时配额;
比较模块,其被配置为:将各个所述卷的所述IOPS实时配额的总和与所述存储池的所述IOPS总配额进行比较并得到比较结果;
更新模块,其被配置为:根据所述比较结果按照第一预设规则更新各个所述卷的所述IOPS实时配额。
根据本申请的第三方面,提供一种计算设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述计算机程序在被所述处理器执行时,使得所述计算设备执行如上所述的方法实施例中的任一个。
根据本申请的第四方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序在被一个或多个处理器执行时实现如上所述的方法实施例中的任一个。
本申请的实施例提供的技术方案可以包括以下有益效果:
在本申请如上所述以及如下所述的各实施例中,通过根据分布式存储系统的存储池的优先级、存储池中的各个卷的优先级和存储池的突发系数对存储池的IOPS配额进行动态分配,从而实现了更高效合理地对存储池的IOPS配额进行控制,进而提升了分布式存储系统的流量控制的效率和稳定性。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本公开。
附图说明
图1为根据本申请一示例性实施例示出的用于分布式存储系统的流量控制方法的示意流程图。
图2是与图1对应的实施例中步骤S130的示例性具体实现方式的示意流程图。
图3是与图2对应的实施例中步骤S210的示例性具体实现方式的示意流程图。
图4是与图2对应的实施例中步骤S220的示例性具体实现方式的示意流程图。
图5是根据本申请一示例性实施例示出的用于分布式存储系统的流量控制装置的示意组成框图。
图6是根据本申请一示例性实施例示出的计算设备的示意组成框图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请的示例性实施例进行进一步详细说明。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。应当理解,此处所描述的具体实施例仅用于解释本申请,并不用于限定本申请。
图1为根据本申请一示例性实施例示出的用于分布式存储系统的流量控制方法的示意流程图。该方法实施例可以由任意机器设备来执行,该机器设备可以是如下所述的用于分布式存储系统的流量控制装置或计算设备。如图1所示,该方法实施例可以包括步骤:
步骤S110,获取所述分布式存储系统的存储池的优先级、突发系数和每秒进行读/写操作的次数IOPS总配额以及所述存储池中的各个卷的优先级、IOPS配额限值和IOPS实时配额。
所述分布式存储系统是将数据分散存储在多台独立的设备上。分布式存储技术通过网络使用企业中的每台机器上的磁盘空间,并将这些分散的存储资源构成一个虚拟的存储设备,数据分散的存储在企业的各个角落。
所述存储池是分布式存储系统在其中进行数据存储的一组卷,其中,存储池中应有至少一个卷。
所述每秒进行读/写操作的次数IOPS(Input/output Operations Per Second),是指单位时间内系统能处理的I/O(Input/output,读/写)请求数量,I/O请求通常为读或写数据操作请求,一般以每秒处理的I/O请求数量为单位。所述存储池的IOPS总配额受分布式存储系统的配置情况限制,是存储池每秒进行读/写操作的次数的能力上限。
存储池中的各个卷的重要性和需要的IOPS配额可能均不相同。为满足不同卷对I/O的不同要求,需要能够动态分配和调度存储池的IOPS配额。因此,可以根据存储池中的各个卷的重要性和对IOPS配额的需求分别设置存储池的优先级和各个卷的优先级。通过为存储池及存储池中各个卷分别设置相应的优先级,可以直观地判断出哪些卷的优先级更高和哪些卷的优先级较低。
存储池的优先级和各个卷的优先级可以是整数,默认提高或者降低的步长可以是1或其他整数,可根据实际情况进行调整。
根据一示例性实施例,各个所述卷的所述优先级均小于或等于所述存储池的所述优先级。
例如,存储池A的优先级和存储池A中的各个卷的优先级可设置为如下表1所示:
名称 卷的重要性 卷的IOPS配额需求 优先级
存储池A (不适用) (不适用) 5
卷1 5
卷2 普通 2
卷3 普通 3
卷4 普通 4
表1
存储池A中有卷1、卷2、卷3和卷4共四个卷,各个卷的重要性和IOPS配额需求如上表1所示。因此根据各个卷的各自的重要性和IOPS配额需求,分别为各个卷设置了相应的优先级,其中,因为卷1的重要性和IOPS配额需求均为高,所以设置卷1的优先级与存储池A的优先级相等,其余卷的优先级均低于存储池A的优先级。
所述存储池的突发系数可以是根据经验、根据统计结果、通过机器学习等方式预先确定的,可以根据存储池的突发I/O的类型及比例对突发系数进行调整。例如存储池的突发I/O会经常达到默认值的2倍,则突发系数可默认设置为1。通常情况下,突发系数设置为0.1。在后续步骤中可通过该突发系数来判断和控制存储池的IOPS配额分配情况。
在同一个存储池里的所有卷共享存储池的IOPS总配额。分别为各个卷设置相应的IOPS配额限值,以避免出现存储池的IOPS总配额被一个或少数几个卷占用导致其他卷无IOPS配额可分配的情况。
根据一示例性实施例,各个所述卷的所述IOPS配额限值的总和小于或等于所述存储池的所述IOPS总配额。通过对各个卷的IOPS配额限值的总和进行上述限制,以保证存储池的IOPS总配额足够满足各个卷的IOPS配额需求。
所述各个卷的IOPS实时配额为各个卷实时被分配到的IOPS配额。存储池按照各个卷的IOPS配额限值分别为各个卷相应地分配与各个卷的IOPS配额限值相等的IOPS实时配额。各个卷的IOPS实时配额受限于存储池的IOPS总配额,其总和不可能超过存储池的IOPS总配额,即各个卷的IOPS实时配额的总和小于或等于存储池的IOPS总配额。
步骤S120,将各个所述卷的所述IOPS实时配额的总和与所述存储池的所述IOPS总配额进行比较并得到比较结果。
步骤S130,根据所述比较结果按照第一预设规则更新各个所述卷的所述IOPS实时配额。
在步骤S120和步骤S130中,通过将各个卷的IOPS实时配额的总和与存储池的IOPS总配额进行比较,可以判断存储池中是否尚有闲置的IOPS配额可供分配,并根据不同的比较结果对各个卷的IOPS实时配额进行相应的更新,从而实现了更高效合理地对存储池的IOPS配额进行控制。
图2是与图1对应的实施例中步骤S130的示例性具体实现方式的示意流程图。如图2所示,该示例过程包括步骤:
步骤S210,若所述比较结果为各个所述卷的所述IOPS实时配额的总和小于所述存储池的所述IOPS总配额,则根据第二预设规则更新各个所述卷的所述IOPS实时配额。
当存储池中的各个卷的IOPS实时配额的总和小于存储池的IOPS总配额时,说明存储池中尚有闲置的IOPS配额可供分配,因此可在适当条件下提高部分优先级高的卷能分配到的IOPS实时配额,使存储池的I/O资源得到更高的使用效率,进而提升了分布式存储系统的流量控制的效率。
图3是与图2对应的实施例中步骤S210的示例性具体实现方式的示意流程图。如图3所示,该示例过程包括步骤:
步骤S310,若各个所述卷的所述IOPS实时配额的总和满足预定条件,则降低所述存储池的所述优先级。
通过判断是否满足所述预定条件来判断存储池是否有足够的闲置的IOPS配额可供额外分配给高优先级的卷。当各个卷的IOPS实时配额的总和满足预定条件时,则降低存储池的优先级,以增加优先级高于或等于存储池的优先级的卷的数量。
例如,在步骤S310中降低存储池A的优先级后,存储池A的优先级和存储池A中各个卷的优先级可以如下表2所示:
名称 优先级
存储池A 4
卷1 5
卷2 2
卷3 3
卷4 4
表2
由表2可知,在存储池A的优先级由5降低到4后,卷1的优先级高于存储池A的优先级,卷4的优先级与存储池A的优先级相等,其余卷的优先级低于存储池A的优先级。与执行步骤S310前相比,优先级高于或等于存储池的优先级的卷的数量由1个增加到了2个。
根据一示例性实施例,所述预定条件为
Figure BDA0002193140020000081
其中,Q为所述存储池的所述优先级,Qt为各个所述卷的所述IOPS实时配额的总和,Li为第i个卷的所述IOPS配额限值,r为所述存储池的所述突发系数。
在另一个示例中,所述预定条件也可以为其他条件。例如,预定条件可以为Q>Qt,其中,Q为所述存储池的所述优先级,Qt为各个所述卷的所述IOPS实时配额的总和。
步骤S320,若所述卷的所述优先级高于或等于所述存储池的所述优先级,则将该卷的所述IOPS实时配额更新为该卷的所述IOPS配额限值的(1+r)倍,其中,r为所述存储池的所述突发系数。
优先级高于或等于存储池的优先级的卷,可以被实时分配到高于该卷的IOPS配额限值的IOPS实时配额:被分配到的IOPS实时配额为该卷的IOPS配额限值的(1+r)倍。通过提高优先级高于或等于存储池的优先级的卷可被分配的IOPS实时配额,可以更好地满足高优先级卷的突发I/O请求,保证重要突发I/O请求不受延迟或丢弃。
例如,根据表2可知,卷1和卷4的优先级高于或等于存储池A的优先级。因此,将卷1和卷4的IOPS实时配额更新为该卷的IOPS配额限值的(1+r)倍,其中,r为所述存储池的所述突发系数,从而提高了优先级高于或等于存储池的优先级的卷可被分配的IOPS实时配额。
步骤S330,若所述卷的所述优先级小于所述存储池的所述优先级,则将该卷的所述IOPS实时配额更新为该卷的所述IOPS配额限值。
优先级小于存储池的优先级的卷,被分配到的IOPS实时配额为该卷的IOPS配额限值。优先级低于存储池的优先级的卷对于延迟或丢包等问题的要求较低,因此不为其分配高于该卷的IOPS配额限值的IOPS实时配额。
例如,根据表2可知,卷2和卷3的优先级小于存储池A的优先级。因此,将卷2和卷3的IOPS实时配额更新为该卷的IOPS配额限值,即不额外分配IOPS实时配额给卷2和卷3。
步骤S220,若所述比较结果为各个所述卷的所述IOPS实时配额的总和等于所述存储池的所述IOPS总配额,则根据第三预设规则更新各个所述卷的所述IOPS实时配额。
当存储池中的各个卷的IOPS实时配额的总和等于存储池的IOPS总配额时,说明存储池中没有闲置的IOPS配额可供分配,因此可在适当条件下减少部分优先级较低的卷能分配到的IOPS实时配额,以保证存储池的I/O的稳定性,进而提升了分布式存储系统的流量控制的稳定性。
图4是与图2对应的实施例中步骤S220的示例性具体实现方式的示意流程图。如图4所示,该示例过程包括步骤:
步骤S410,提高所述存储池的所述优先级。
例如,在步骤S410中提高存储池A的优先级后,存储池A的优先级和存储池A中各个卷的优先级可以如下表3所示:
名称 优先级
存储池A 5
卷1 5
卷2 2
卷3 3
卷4 4
表3
由表3可知,在存储池A的优先级由4提高到5后,卷1的优先级与存储池A的优先级相等,其余卷的优先级均低于存储池A的优先级。与执行步骤S410前相比,优先级高于或等于存储池的优先级的卷的数量由2个减少到了1个。
当各个卷的IOPS实时配额的总和等于存储池的IOPS总配额,意味着存储池没有闲置的IOPS配额。因此,通过提高存储池的优先级,减少优先级高于或等于存储池的优先级的卷的数量,也就是减少能够得到到高于该卷的IOPS配额限值的IOPS实时配额的卷的数量,从而降低各个卷的IOPS实时配额的总和实现动态调控I/O的效果。
步骤S420,若所述卷的所述优先级高于或等于所述存储池的所述优先级,则将该卷的所述IOPS实时配额更新为该卷的所述IOPS配额限值的(1+r)倍,其中,r为所述存储池的所述突发系数。
例如,根据表3可知,卷1的优先级与存储池A的优先级相等。因此,将卷1的IOPS实时配额更新为该卷的IOPS配额限值的(1+r)倍,其中,r为所述存储池的所述突发系数,从而提高了优先级高于或等于存储池的优先级的卷可被分配的IOPS实时配额。
步骤S430,若所述卷的所述优先级小于所述存储池的所述优先级,则将该卷的所述IOPS实时配额更新为该卷的所述IOPS配额限值。
例如,根据表3可知,卷2、卷3和卷4的优先级均小于存储池A的优先级。因此,将卷2、卷3和卷4的IOPS实时配额更新为该卷的IOPS配额限值,即不额外分配IOPS实时配额给卷2、卷3和卷4。
根据本申请的另一方面,还提供一种用于分布式存储系统的流量控制装置500。图5是根据本申请一示例性实施例示出的用于分布式存储系统的流量控制装置500的示意组成框图。该装置用于执行如上所述的用于分布式存储系统的流量控制方法的各实施例。如图5所示,该示例用于分布式存储系统的流量控制装置500可以包括:
获取模块510,其被配置为:获取所述分布式存储系统的存储池的优先级、突发系数和每秒进行读/写操作的次数IOPS总配额以及所述存储池中的各个卷的优先级、IOPS配额限值和IOPS实时配额;
比较模块520,其被配置为:将各个所述卷的所述IOPS实时配额的总和与所述存储池的所述IOPS总配额进行比较并得到比较结果;
更新模块530,其被配置为:根据所述比较结果按照第一预设规则更新各个所述卷的所述IOPS实时配额。
根据图5所示的实施例,所述更新模块530可以包括:
第一更新单元531,其被配置为:若所述比较结果为各个所述卷的所述IOPS实时配额的总和小于所述存储池的所述IOPS总配额,则根据第二预设规则更新各个所述卷的所述IOPS实时配额;
第二更新单元532,其被配置为:若所述比较结果为各个所述卷的所述IOPS实时配额的总和等于所述存储池的所述IOPS总配额,则根据第三预设规则更新各个所述卷的所述IOPS实时配额。
根据图5所示的实施例,所述第一更新单元531可以包括:
第一优先级子单元533,其被配置为:若各个所述卷的所述IOPS实时配额的总和满足预定条件,则降低所述存储池的所述优先级;
第一更新子单元534,其被配置为:若所述卷的所述优先级高于或等于所述存储池的所述优先级,则将该卷的所述IOPS实时配额更新为该卷的所述IOPS配额限值的(1+r)倍,其中,r为所述存储池的所述突发系数;
第二更新子单元535,其被配置为:若所述卷的所述优先级小于所述存储池的所述优先级,则将该卷的所述IOPS实时配额更新为该卷的所述IOPS配额限值。
根据图5所示的实施例,所述第二更新单元532可以包括:
第二优先级子单元536,其被配置为:提高所述存储池的所述优先级;
第三更新子单元537,其被配置为:若所述卷的所述优先级高于或等于所述存储池的所述优先级,则将该卷的所述IOPS实时配额更新为该卷的所述IOPS配额限值的(1+r)倍,其中,r为所述存储池的所述突发系数;
第四更新子单元538,其被配置为:若所述卷的所述优先级小于所述存储池的所述优先级,则将该卷的所述IOPS实时配额更新为该卷的所述IOPS配额限值。
上述装置中各个单元/模块的功能和作用的实现过程以及相关细节具体详见上述方法实施例中对应步骤的实现过程,在此不再赘述。
以上各实施例中的装置实施例可以通过硬件、软件、固件或其组合的方式来实现,并且其可以被实现为一个单独的装置,也可以被实现为各组成单元/模块分散在一个或多个计算设备中并分别执行相应功能的逻辑集成系统。
以上各实施例中组成该装置的各单元/模块是根据逻辑功能而划分的,它们可以根据逻辑功能被重新划分,例如可以通过更多或更少的单元/模块来实现该装置。这些组成单元/模块分别可以通过硬件、软件、固件或其组合的方式来实现,它们可以是分别的独立部件,也可以是多个组件组合起来执行相应的逻辑功能的集成单元/模块。所述硬件、软件、固件或其组合的方式可以包括:分离的硬件组件,通过编程方式实现的功能模块、通过可编程逻辑器件实现的功能模块,等等,或者以上方式的组合。
根据一个示例性实施例,该装置可被实现为一种计算设备,该计算设备包括存储器和处理器,所述存储器中存储有计算机程序,所述计算机程序在被所述处理器执行时,使得所述处理器执行如上所述的各方法实施例中的任一个,或者,所述计算机程序在被所述处理器执行时使得该计算设备实现如上所述的用于分布式存储系统的流量控制装置各实施例的组成单元/模块所实现的功能。
上面的实施例中所述的处理器可以指单个的处理单元,如中央处理单元CPU,也可以是包括多个分散的处理单元的分布式处理器系统。
上面的实施例中所述的存储器可以包括一个或多个存储器,其可以是计算设备的内部存储器,例如暂态或非暂态的各种存储器,也可以是通过存储器接口连接到计算设备的外部存储装置。
图6示出了这样的计算设备600的一个示例性实施例的示意组成框图。如图6所示,计算设备600可以包括:处理器601、通信接口602、存储器603和总线604。存储器603内存储有可被处理器601执行的计算机程序。处理器601执行所述计算机程序时实现上述实施例中的方法及装置的功能。存储器603和处理器601的数量分别可以为一个或多个。通信接口602用于处理器601与外部设备之间的通信。
其中,处理器601可以是中央处理单元、通用处理器、数字信号处理器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的流程步骤、功能单元/模块和/或电路。所述处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合、数字信号处理器等等。
存储器603可以包括易失性存储器和/或非易失性存储器,例如非易失性动态随机存取存储器、相变随机存取存储器、磁阻式随机存取存储器、磁盘存储器、电子可擦除可编程只读存储器、闪存器件、半导体器件(例如固态硬盘)等。存储器603可选地还可以是外部远程存储装置。
总线604可以是工业标准体系结构(ISA,Industry Standard Architecture)总线、外部设备互连(PCl,Peripheral Component)总线或扩展工业标准体系结构(EISA,Extended Industry Standard Component)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图6中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。可选地,如果存储器603、处理器601及通信接口602集成在一块芯片上,则存储器603、处理器601及通信接口602可以通过内部接口完成相互间的通信。
以上各方法和装置实施例还可以被实现为计算机程序的形式,被存储在存储介质上,并且可被分发。因此,根据本公开的另一方面,还提供一种计算机程序产品,该计算机程序产品被存储在计算机可读存储介质上,并且在被处理器执行时实现如上所述的各方法和装置实施例中的任一个。根据本公开的又一方面,还提供一种计算机可读存储介质,其上存储有可供处理器执行的计算机程序,所述计算机程序在被处理器执行时实现如上所述的各方法和装置实施例中的任一个。
该计算机可读存储介质可以是任何可以保持和存储可由指令执行设备使用的指令的有形设备。例如,其可以是——但不限于—-电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。
这里所描述的计算机程序/计算机指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
本公开中所述的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言-诸如Smalltalk、C++等,以及常规的过程式编程语言-诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络-包括局域网(LAN)或广域网(WAN)-连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本申请的各个方面。
这里参照根据本申请实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本申请的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本申请的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。对于本领域技术人员来说公知的是,通过硬件方式实现、通过软件方式实现以及通过软件和硬件结合的方式实现都是等价的。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。但本领域技术人员应当清楚的是,上述各实施例可以根据需要单独使用或者相互结合使用。另外,对于装置实施例而言,由于其是与方法实施例相对应,所以描述得比较简单,相关之处参见方法实施例的对应部分的说明即可。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

Claims (10)

1.一种用于分布式存储系统的流量控制方法,其特征在于,包括:
获取所述分布式存储系统的存储池的优先级、突发系数和每秒进行读/写操作的次数IOPS总配额以及所述存储池中的各个卷的优先级、IOPS配额限值和IOPS实时配额;
将各个所述卷的所述IOPS实时配额的总和与所述存储池的所述IOPS总配额进行比较并得到比较结果;
根据所述比较结果按照第一预设规则更新各个所述卷的所述IOPS实时配额。
2.根据权利要求1所述的方法,其特征在于,所述根据所述比较结果按照第一预设规则更新各个所述卷的所述IOPS实时配额包括:
若所述比较结果为各个所述卷的所述IOPS实时配额的总和小于所述存储池的所述IOPS总配额,则根据第二预设规则更新各个所述卷的所述IOPS实时配额;
若所述比较结果为各个所述卷的所述IOPS实时配额的总和等于所述存储池的所述IOPS总配额,则根据第三预设规则更新各个所述卷的所述IOPS实时配额。
3.根据权利要求2所述的方法,其特征在于,所述根据第二预设规则更新各个所述卷的所述IOPS实时配额包括:
若各个所述卷的所述IOPS实时配额的总和满足预定条件,则降低所述存储池的所述优先级;
若所述卷的所述优先级高于或等于所述存储池的所述优先级,则将该卷的所述IOPS实时配额更新为该卷的所述IOPS配额限值的(1+r)倍,其中,r为所述存储池的所述突发系数;
若所述卷的所述优先级小于所述存储池的所述优先级,则将该卷的所述IOPS实时配额更新为该卷的所述IOPS配额限值。
4.根据权利要求3所述的方法,其特征在于,所述预定条件为
Figure FDA0002193140010000011
其中,Q为所述存储池的所述优先级,Qt为各个所述卷的所述IOPS实时配额的总和,Li为第i个卷的所述IOPS配额限值,r为所述存储池的所述突发系数。
5.根据权利要求2所述的方法,其特征在于,所述根据第三预设规则更新各个所述卷的所述IOPS实时配额包括:
提高所述存储池的所述优先级;
若所述卷的所述优先级高于或等于所述存储池的所述优先级,则将该卷的所述IOPS实时配额更新为该卷的所述IOPS配额限值的(1+r)倍,其中,r为所述存储池的所述突发系数;
若所述卷的所述优先级小于所述存储池的所述优先级,则将该卷的所述IOPS实时配额更新为该卷的所述IOPS配额限值。
6.根据权利要求1所述的方法,其特征在于,各个所述卷的所述IOPS配额限值的总和小于或等于所述存储池的所述IOPS总配额。
7.根据权利要求1所述的方法,其特征在于,各个所述卷的所述优先级均小于或等于所述存储池的所述优先级。
8.一种用于分布式存储系统的流量控制装置,其特征在于,包括:
获取模块,其被配置为:获取所述分布式存储系统的存储池的优先级、突发系数和每秒进行读/写操作的次数IOPS总配额以及所述存储池中的各个卷的优先级、IOPS配额限值和IOPS实时配额;
比较模块,其被配置为:将各个所述卷的所述IOPS实时配额的总和与所述存储池的所述IOPS总配额进行比较并得到比较结果;
更新模块,其被配置为:根据所述比较结果按照第一预设规则更新各个所述卷的所述IOPS实时配额。
9.一种计算设备,所述计算设备包括存储器和处理器,所述存储器中存储有计算机程序,所述计算机程序在被所述处理器执行时,使得所述计算设备执行如权利要求1至7中任一项所述的方法。
10.一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序在被一个或多个处理器执行时实现如权利要求1至7中任一项所述的方法。
CN201910839850.3A 2019-09-05 用于分布式存储系统的流量控制方法、装置、设备和介质 Active CN110727400B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910839850.3A CN110727400B (zh) 2019-09-05 用于分布式存储系统的流量控制方法、装置、设备和介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910839850.3A CN110727400B (zh) 2019-09-05 用于分布式存储系统的流量控制方法、装置、设备和介质

Publications (2)

Publication Number Publication Date
CN110727400A true CN110727400A (zh) 2020-01-24
CN110727400B CN110727400B (zh) 2024-07-02

Family

ID=

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114285729A (zh) * 2021-11-29 2022-04-05 苏州浪潮智能科技有限公司 分布式集群管理节点部署方法、装置、设备及存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104123100A (zh) * 2013-04-25 2014-10-29 国际商业机器公司 控制存储设备阵列中的数据存储
CN104994132A (zh) * 2015-05-20 2015-10-21 北京麓柏科技有限公司 存储系统、集中控制设备、服务质量控制方法及装置
US20160291882A1 (en) * 2015-03-31 2016-10-06 Symantec Corporation Systems and methods for improving quality of service within hybrid storage systems
CN107133100A (zh) * 2017-04-26 2017-09-05 新华三技术有限公司 存储系统服务质量QoS控制方法和装置
CN108196788A (zh) * 2017-12-28 2018-06-22 新华三技术有限公司 QoS指标监测方法、装置、存储介质
CN108241535A (zh) * 2016-12-27 2018-07-03 阿里巴巴集团控股有限公司 资源管理的方法、装置及服务器设备
US20190138235A1 (en) * 2017-11-08 2019-05-09 Robin Systems, Inc. Allocating Storage Requirements In A Distributed Storage System

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104123100A (zh) * 2013-04-25 2014-10-29 国际商业机器公司 控制存储设备阵列中的数据存储
US20160291882A1 (en) * 2015-03-31 2016-10-06 Symantec Corporation Systems and methods for improving quality of service within hybrid storage systems
CN104994132A (zh) * 2015-05-20 2015-10-21 北京麓柏科技有限公司 存储系统、集中控制设备、服务质量控制方法及装置
CN108241535A (zh) * 2016-12-27 2018-07-03 阿里巴巴集团控股有限公司 资源管理的方法、装置及服务器设备
CN107133100A (zh) * 2017-04-26 2017-09-05 新华三技术有限公司 存储系统服务质量QoS控制方法和装置
US20190138235A1 (en) * 2017-11-08 2019-05-09 Robin Systems, Inc. Allocating Storage Requirements In A Distributed Storage System
CN108196788A (zh) * 2017-12-28 2018-06-22 新华三技术有限公司 QoS指标监测方法、装置、存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114285729A (zh) * 2021-11-29 2022-04-05 苏州浪潮智能科技有限公司 分布式集群管理节点部署方法、装置、设备及存储介质
CN114285729B (zh) * 2021-11-29 2023-08-25 苏州浪潮智能科技有限公司 分布式集群管理节点部署方法、装置、设备及存储介质

Similar Documents

Publication Publication Date Title
US9823947B2 (en) Method and system for allocating FPGA resources
CN108462760B (zh) 电子装置、集群访问域名自动生成方法及存储介质
WO2019205371A1 (zh) 服务器、消息分配的方法及存储介质
CN107968810B (zh) 一种服务器集群的资源调度方法、装置和系统
WO2017166643A1 (zh) 一种任务资源的量化方法和装置
US10210109B2 (en) Pre-allocating memory buffers by physical processor and using a bitmap metadata in a control program
US11275618B2 (en) Method, device and medium for allocating resource based on type of PCI device
JP6730522B2 (ja) ストレージシステム内に入力/出力帯域を割り当てるシステムと方法
CN104461698A (zh) 虚拟磁盘动态挂载的方法、管理装置及分布式存储系统
EP2998862A1 (en) Method, device, and system for memory management
CN111104219A (zh) 虚拟核心与物理核心的绑定方法、装置、设备及存储介质
US9069621B2 (en) Submitting operations to a shared resource based on busy-to-success ratios
CN113535087B (zh) 数据迁移过程中的数据处理方法、服务器及存储系统
CN104700255B (zh) 多进程处理方法、装置和系统
CN112241319A (zh) 均衡负载的方法、电子设备和计算机程序产品
CN116881003A (zh) 资源分配方法、装置、服务设备及存储介质
EP3846017A1 (en) Resource allocation method and device for hard disks in distributed storage system
CN110727400B (zh) 用于分布式存储系统的流量控制方法、装置、设备和介质
CN110727400A (zh) 用于分布式存储系统的流量控制方法、装置、设备和介质
CN112527490A (zh) 节点资源管控方法、装置、电子设备及存储介质
US9747106B1 (en) Allocating multiple operand data areas of a computer instruction within a program buffer
CN114448909B (zh) 基于ovs的网卡队列轮询方法、装置、计算机设备及介质
CN115794396A (zh) 资源分配的方法、系统和电子设备
WO2017133421A1 (zh) 一种多租户资源共享的方法及装置
CN110389977B (zh) 一种数据库连接创建方法、装置及终端设备

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
GR01 Patent grant