CN104994132B - 存储系统、集中控制设备、服务质量控制方法及装置 - Google Patents

存储系统、集中控制设备、服务质量控制方法及装置 Download PDF

Info

Publication number
CN104994132B
CN104994132B CN201510259428.2A CN201510259428A CN104994132B CN 104994132 B CN104994132 B CN 104994132B CN 201510259428 A CN201510259428 A CN 201510259428A CN 104994132 B CN104994132 B CN 104994132B
Authority
CN
China
Prior art keywords
service
amount
qos
client
storage service
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
CN201510259428.2A
Other languages
English (en)
Other versions
CN104994132A (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.)
Anhui YLZ Information Technology Co., Ltd.
Original Assignee
Anhui Ylz Information 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 Anhui Ylz Information Technology Co Ltd filed Critical Anhui Ylz Information Technology Co Ltd
Priority to CN201510259428.2A priority Critical patent/CN104994132B/zh
Publication of CN104994132A publication Critical patent/CN104994132A/zh
Application granted granted Critical
Publication of CN104994132B publication Critical patent/CN104994132B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • 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/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • 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
    • H04L67/61Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources taking into account QoS or priority requirements

Abstract

本申请涉及存储系统、集中控制设备、服务质量控制方法及装置。一种用于存储系统的集中控制设备包括:前端服务请求处理模块,用于处理来自客户端的存储服务请求;服务质量控制模块,与所述前端服务请求处理模块耦接,用于根据与所述存储服务请求相对应的客户端的QoS可用额度以及所述客户端所在的共享组的QoS可用额度,响应所述存储服务请求。根据本公开的装置能够基于服务等级和/或配置参数对服务请求进行处理,从而提供更精准的QoS控制。

Description

存储系统、集中控制设备、服务质量控制方法及装置
技术领域
本公开涉及存储领域,具体涉及用于存储系统的服务质量控制方法和装置、用于存储系统的集中控制设备以及包括上述装置和设备的存储系统。
背景技术
随着云计算的发展,现在以及未来的数据中心将向成千上万的客户端提供服务。
在当前数据中心共享存储架构中,多个客户端(client)共享后端存储集群(storagecluster)。不同的客户端对存储性能(IOPS,Bandwidth,latency)的要求不同。例如,为数据库应用提供服务的客户端和为虚拟机启动盘提供服务的客户端对IOPS(每秒读写次数)的要求就不一样。同时对于联机事务处理(OLTP)的应用,要求存储集群能够提供稳定、一致的IOPS性能。共享存储集群还有扰邻噪声(noisyneighbors),即某个客户端可能会发送大量的读写请求,堵塞了共享路径,影响其他客户端。
一种服务质量控制的方法是通过限制每个客户端最大IOPS性能来控制整个存储集群对每个客户端提供的IOPS能力。这种服务质量控制方法不能够完全有效的发挥整个存储集群的IOPS性能。例如,在客户端A、客户端B、客户端C和客户端D共享存储集群的应用场景中,在某一个时间段内只有客户端A有大量的访问请求,达到了预先分配的IOPS,而客户端B、客户端C和客户端D只有少量的访问请求。对于此场景,上述服务质量控制的结果就是存储集群在满足客户端A、客户端B、客户端C和客户端D的访问请求时,并没有达到满负荷工作状态,浪费了存储集群的性能。
另一种服务质量控制方法在限制每个客户端最大IOPS性能之外,还为每个客户端分配一个突发IOPS性能参数,即对应的客户端在累计信用(credit)为正值的情况下,可以突破最大IOPS性能,获得突发IOPS参数对应的IOPS性能。但这种方法仍然没有解决多个客户端之间IOPS共享的问题。
在所述背景技术部分公开的上述信息仅用于加强对本公开的背景的理解,因此它可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本申请提供一种用于存储系统的服务质量控制方法和装置、用于存储系统的集中控制设备以及包括上述装置和设备的存储系统。
本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。
根据本公开的一个方面,提供一种用于存储系统的集中控制设备,包括:前端服务请求处理模块,用于处理来自客户端的存储服务请求;服务质量控制模块,与前端服务请求处理模块耦接,用于根据与存储服务请求相对应的客户端的QoS可用额度以及客户端所在的共享组的QoS可用额度,响应存储服务请求。
根据本公开的一些实施例,服务质量控制模块包括额度控制模块,额度控制模块配置为:如果判断客户端的QoS可用额度大于零,则接受存储服务请求;如果判断客户端的QoS可用额度等于或小于零,则判断共享组的QoS可用额度:如果共享组的QoS可用额度大于零,则接受存储服务请求,否则,拒绝存储服务请求。
根据本公开的一些实施例,额度控制模块包括:QoS额度缓存模块,用于存储客户端及共享组的QoS额度信息;QoS额度查询模块,与QoS额度缓存模块通信耦接,用于从存储服务请求中提取客户端的信息,并根据客户端的信息从QoS额度缓存模块查询客户端的QoS可用额度及客户端所在的共享组的QoS可用额度;过滤模块,与QoS额度查询模块耦接,用于根据QoS额度查询模块的反馈结果,使存储服务请求通过或拒绝存储服务请求。
根据本公开的一些实施例,额度控制模块还配置为在不拒绝存储服务请求时,向存储服务请求添加附加信息,附加信息包括服务等级。
根据本公开的一些实施例,额度控制模块配置为:如果客户端的QoS可用额度大于零,则将服务等级设置为第一服务等级;如果客户端的QoS可用额度等于或小于零且共享组的QoS可用额度大于零,则将服务等级设置为第二服务等级。
根据本公开的一些实施例,服务质量控制模块还包括队列分配模块和队列模块,其中:队列模块包括至少一个队列,用于存储存储服务请求;队列分配模块用于根据存储服务请求中的服务等级和/或存储服务请求携带的配置参数将存储服务请求送往相应的队列。
根据本公开的一些实施例,服务质量控制模块还包括仲裁模块,仲裁模块用于根据预定的仲裁策略选通至少一个队列其中之一。
根据本公开的一些实施例,队列分配模块配置为:如果配置参数不满足预定阈值,则将存储服务请求送往用于最低的服务等级的服务请求的队列。
根据本公开的一些实施例,至少一个多列至少其中之一还包括子队列,队列分配模块配置为根据存储服务请求中的服务等级和/或配置参数将存储服务请求送往相应的子队列。
根据本公开的一些实施例,集中控制设备还包括存储器。
根据本公开的一些实施例,服务质量控制模块还包括缓存控制模块,用于控制不同客户端的数据在存储器中的缓存时间。
根据本公开的一些实施例,缓存控制模块包括缓存状态查询更新模块及缓存状态存储器,缓存状态查询更新模块用于根据存储服务请求中的配置参数更新缓存状态。
根据本公开的一些实施例,共享组包括多级。
根据本公开的一些实施例,QoS可用额度包括IOPS可用额度。
根据本公开的一些实施例,配置参数包括IOPS密度。
根据本公开的另一方面,提供一种存储系统,包括前述的任一种集中控制设备。
根据本公开的一些实施例,存储系统还包括:存储服务配置单元,用于产生关于客户端的存储服务的至少一个配置参数;后端存储集群,与集中控制设备耦接。
根据本公开的另一方面,提供一种用于存储系统的服务质量控制方法,包括:接收来自客户端的存储服务请求;根据与存储服务请求相对应的客户端的QoS可用额度以及客户端所在的共享组的QoS可用额度响应存储服务请求。
根据本公开的一些实施例,根据与存储服务请求相对应的客户端的QoS可用额度以及客户端所在的共享组的QoS可用额度响应存储服务请求包括:如果客户端的QoS可用额度大于零,则接受存储服务请求;如果客户端的QoS可用额度等于或小于零,则判断共享组的QoS可用额度:如果共享组的QoS可用额度大于零,则接受存储服务请求,否则,拒绝存储服务请求。
根据本公开的一些实施例,根据与存储服务请求相对应的客户端的QoS可用额度以及客户端所在的共享组的QoS可用额度响应存储服务请求还包括:在不拒绝存储服务请求时,向存储服务请求添加附加信息,附加信息包括服务等级。
根据本公开的一些实施例,根据与存储服务请求相对应的客户端的QoS可用额度以及客户端所在的共享组的QoS可用额度响应存储服务请求还包括:如果客户端的QoS可用额度大于零,则将服务等级设置为第一服务等级;如果客户端的QoS可用额度等于或小于零且共享组的QoS可用额度大于零,则将服务等级设置为第二服务等级。
根据本公开的一些实施例,服务质量控制方法还包括:根据存储服务请求中的服务等级和/或存储服务请求携带的配置参数将存储服务请求送往至少一个队列中的相应队列,至少一个队列用于存储存储服务请求。
根据本公开的一些实施例,服务质量控制方法还包括:根据预定的仲裁策略选通至少一个队列其中之一。
根据本公开的一些实施例,如果配置参数不满足预定阈值,则将存储服务请求送往用于最低服务等级的服务请求的队列。
根据本公开的一些实施例,至少一个队列至少其中之一包括子队列,根据存储服务请求中的服务等级和/或配置参数将存储服务请求送往相应的子队列。
根据本公开的一些实施例,服务质量控制方法还包括:根据存储服务请求中的配置参数,控制不同客户端的数据的缓存时间。
根据本公开的另一方面,提供一种用于存储系统的服务质量控制装置,包括:服务请求接收模块,接收来自客户端的存储服务请求;服务请求配额处理模块,根据与存储服务请求相对应的客户端的QoS可用额度以及客户端所在的共享组的QoS可用额度响应存储服务请求。
根据本公开的一些实施例,服务请求配额处理模块配置为:如果判断客户端的QoS可用额度大于零,则接受存储服务请求;如果判断客户端的QoS可用额度等于或小于零,则判断共享组的QoS可用额度:如果共享组的QoS可用额度大于零,则接受存储服务请求,否则,拒绝存储服务请求。
根据本公开的一些实施例,服务请求配额处理模块还配置为:在不拒绝存储服务请求时,向存储服务请求添加附加信息,附加信息包括服务等级。
根据本公开的一些实施例,服务请求配额处理模块配置为:如果客户端的QoS可用额度大于零,则将服务等级设置为第一服务等级;如果客户端的QoS可用额度等于或小于零且共享组的QoS可用额度大于零,则将服务等级设置为第二服务等级。
根据本公开的一些实施例,服务质量控制装置还包括服务等级处理模块,服务等级处理模块配置为:根据存储服务请求中的服务等级和/或存储服务请求携带的配置参数将存储服务请求送往至少一个队列中的相应队列,至少一个队列用于存储存储服务请求。
根据本公开的一些实施例,服务质量控制装置还包括仲裁模块,仲裁模块配置为根据预定的仲裁策略选通至少一个队列其中之一。
根据本公开的一些实施例,服务等级处理模块配置为:如果配置参数不满足预定阈值,则将存储服务请求送往用于最低服务等级的服务请求的队列。
根据本公开的一些实施例,至少一个队列至少其中之一包括子队列;服务等级处理模块配置为:根据存储服务请求中的服务等级和/或配置参数将存储服务请求送往相应的子队列。
根据本公开的一些实施例,服务质量控制装置还包括:缓存管理模块,用于根据存储服务请求中的配置参数,控制不同客户端的数据的缓存时间。
根据本公开的一些实施例的用于存储系统的服务质量控制方法和装置、用于存储系统的集中控制设备以及包括上述装置和设备的存储系统,能够实现存储服务质量额度的组内共享,充分利用后端存储服务系统的性能。
根据本公开的一些实施例的用于存储系统的服务质量控制方法和装置、用于存储系统的集中控制设备以及包括上述装置和设备的存储系统,能够基于服务等级和/或配置参数对服务请求进行处理,从而提供更精准和/或一致的QoS控制。
附图说明
通过参照附图详细描述其示例实施例,本公开的上述和其它特征及优点将变得更加明显。
图1示出根据本公开一些示例性实施例的可用于存储系统的集中控制设备。
图2示出根据本公开一些示例性实施例的服务质量控制模块。
图3示出根据本公开一些示例性实施例将存储服务请求发送到不同的队列中。
图4示出根据本公开示例性实施例的服务质量控制模块。
图5示出根据本公开一些实施例的用于存储系统的服务质量控制方法的流程图。
图6示出根据本公开一些实施例的根据与存储服务请求相对应的客户端的QoS可用额度以及客户端所在的共享组的QoS可用额度响应存储服务请求的方法。
图7示出根据一些实施例的根据存储服务请求中的服务等级和/或配置参数按照优先级对存储服务请求进行处理的方法。
具体实施方式
现在将参考附图更全面地描述示例实施例。然而,示例实施例能够以多种形式实施,且不应被理解为限于在此阐述的实施例;相反,提供这些实施例使得本公开将全面和完整,并将示例实施例的构思全面地传达给本领域的技术人员。在图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本公开的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、模块、装置、步骤等。在其它情况下,不详细示出或描述公知模块、方法、装置、实现、步骤、或者操作以避免模糊本公开的各方面。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
在本公开中使用时,根据上下文和本领域的通常理解,耦接可具有电性连接、信号连接或通信连接之义。
附图中所示的流程图仅是示例性说明,不是必须包括所有的步骤。例如,有的步骤还可以分解,而有的步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
图1示出根据本公开一些示例性实施例的可用于存储系统10的集中控制设备100。
如图1所示,存储系统10可包括集中控制设备100、客户端(例如,前端虚拟机)200、后端存储集群300以及存储服务配置单元400。后端存储集群300可包括多个存储服务单元。集中控制设备100可分别与客户端200、后端存储集群300以及存储服务配置单元400耦接,但本公开不限于此。
存储服务配置单元400可产生存储服务配置参数(或者称为软件定义存储需求),并可将存储服务配置参数(包括但不限于容量、IOPS、IOPS密度、带宽、延迟、或备份级别等)发送给集中控制设备100和/或客户端200。集中控制设备100和/或客户端200可接收存储服务配置参数,并根据这些参数,来控制客户端对集中控制设备中的存储器140和/或后端存储集群300的访问。客户端可在存储服务请求中加入配置参数信息。集中控制设备100也可以依据存储服务配置参数对从存储服务配置单元400发送过来的存储服务请求进行相应处理。
存储系统10可以是申请号为201410594511.0的中国专利申请“软件定义存储系统、方法及其集中控制设备”所提到的存储系统,但本公开不限于此。
如图1所示,根据本公开一些实施例的集中控制设备100包括前端服务请求处理模块110及服务质量控制模块120。集中控制设备100还可包括存储器140。
前端服务请求处理模块110处理来自前端客户端200的存储服务请求。
服务质量控制模块120与前端服务请求处理模块110耦接,根据与存储服务请求相对应的客户端的QoS可用额度以及客户端所在的共享组的QoS可用额度,响应存储服务请求。在本申请中,QoS可用额度是指可用配额衡量的按约定提供给客户的存储性能指标,可以是但不限于例如IOPS可用额度、带宽可用额度等。共享组表示可彼此共享QoS可用额度的客户端构成的组。
集中控制设备100还可与后端存储集群300耦接。
下面以五个客户端A1、A2、A3、B1、B2为例,说明本公开的技术方案实现的QoS服务质量(例如,IOPS)的控制方式。易于理解,本公开不限于所举例子。
首先尽量保证每个客户端预定的IOPS配额。例如A1、A2、A3、B1、B2五个客户端的IOPS配额分别是10K、20K、15K、30K、25K。本公开的技术方案尽量保证各个客户端在发出相应数量的IOPS请求时,能够获得预先分配的IOPS份额。
实现组内IOPS共享,允许单个客户端在一定条件下可以扩大超过配额的IOPS。例如客户端A1、A2、A3的IOPS配额一共为45K。在某个时间段,如果客户端A1有20KIOPS的需求,而客户端A2、A3实际使用的IOPS在25K或者低于25K,那么客户端A1可以使用组内A1/A2空余出来的IOPS配额,从而获得20KIOPS。哪些客户端共享IOPS配额由配置模块设置的系统配置参数决定。
允许设置多级组内共享。例如设置客户端A1、A2、A3为组A,客户端B1、B2为组B。同时可以设置组A和组B组成一个共享组AB。
允许设置共享组的IOPS上限。例如设置共享组AB的IOPS上限为100K,即当AB组达到100KIOPS的上限后,来自组内任一个客户端的申请都不会被服务。
图2示出根据本公开一些示例性实施例的服务质量控制模块220。
如图2所示,服务质量控制模块220可包括额度控制模块2210、队列分配模块2220、队列模块2230、仲裁模块2240以及缓存控制模块2250,但本公开不限于此。易于理解,服务质量控制模块220可包括前述模块中的一个或多个,也可增加其他模块。
额度控制模块2210可配置为判断客户端的QoS可用额度。如果客户端的QoS可用额度大于零,则接受存储服务请求。如果客户端的QoS可用额度等于或小于零,则可进一步判断客户端所在共享组的QoS可用额度。如果客户端所在共享组的QoS可用额度大于零,则接受存储服务请求;否则,拒绝存储服务请求。
额度控制模块2210还可配置为设置服务等级。例如,如果客户端的QoS可用额度大于零,则将服务等级设置为第一服务等级;如果客户端的QoS可用额度等于或小于零且共享组的QoS可用额度大于零,则将服务等级设置为第二服务等级。然后,额度控制模块2210可向存储服务请求添加包括服务等级的附加信息。
根据一些实施例,额度控制模块2210根据服务请求所携带的客户端ID,查询相应的IOPS额度信用表,决定集中控制设备是否服务此服务请求以及此服务请求的服务等级。首先,额度控制模块2210根据服务请求包头中的客户端ID信息,查询客户端的可用IOPS额度。如果IOPS额度大于0,则此客户端IOPS额度还没有用满,可设置服务等级为等级1,并向服务请求添加附加信息。附加信息包括但不限于IOPS密度、服务等级等。服务等级数值越小,代表等级可越高从而服务请求可被优先处理。如果对应客户端额度小于或者等于0,则继续查询此客户端对应的共享组的共享IOPS可用额度。如果共享IOPS可用额度大于0,则虽然此客户端本身IOPS额度已经用满,但是共享组内还有共享IOPS额度可用,可设置服务等级为等级2,并向服务请求请求添加附加信息。如果客户端共享组内IOPS可用额度小于或者等于0,则可拒绝服务此服务请求,并可返回状态信息供客户端驱动进行处理判断。客户端共享组的层次可以是1级,也可以是多级,取决于服务质量控制策略的配置情况。
作为QoS可用额度的示例,IOPS可用额度可由系统配置的IOPS额度和被服务的服务请求共同决定。例如,IOPS可用额度的初始值可为单位时间内的IOPS预定配额,单位时间可以是1ms、10ms或者100ms等,根据实际情况确定。每完成一个服务请求,对应的IOPS可用额度就减去1。每单位时间后,IOPS可用额度就增加IOPS预定配额的值。IOPS额度会有上限和下限,即不会无限制地增长或者减小下去。例如,服务质量控制策略指定的有IOPS上限的共享组的IOPS可用额度的下限是0。
通过额度控制模块2210的存储服务请求可送往队列分配模块2220。队列分配模块2220可根据存储服务请求包头中的信息将存储服务请求送往相应的队列。例如,存储服务请求包头可包括服务等级,队列分配模块2220可根据服务等级将存储服务请求送往队列模块2230中的相应队列。存储服务请求包头也可包括配置参数(配置参数等级),从而队列分配模块2220可根据存储服务请求包头中的配置参数(配置参数等级)将存储服务请求送往队列模块2230中的相应队列。
队列模块2230可包括至少一个队列,用于存储存储服务请求。
根据一些实施例,至少一个队列可包括子队列。在此情况下,队列分配模块2220可根据存储服务请求包头中的服务等级以及配置参数(配置参数等级)将存储服务请求送往相应队列的相应子队列。
这里给出的配置参数例子为IOPS密度(每GB存储容量需要提供的IOPS),用于衡量客户端在单位容量的存储介质上要求的IOPS性能。例如,某个客户端要求的存储卷大小为500GB,要求的IOPS性能为15K,则这个存储卷的IOPS密度为15K/500GB=30/GB,即此存储卷的IOPS密度为30每GB。易于理解,配置参数不限于IOPS密度。
根据一些实施例,队列分配模块2220根据服务请求的附加信息,将服务请求送到不同的队列中进行处理。附加信息可以为例如服务等级和IOPS密度,可根据服务等级和IOPS密度将服务请求送往不同的队列进行处理,但本公开不限于此。根据服务请求中的服务等级和IOPS密度将服务请求发送到不同的队列中,如图3所示。队列分配模块2220首先根据判断IOPS密度是否低于预先设置的阈值L(例如,取值为5)。如果低于阈值L,则直接将服务请求送到代表最低服务等级的队列中,例如本实施例中的队列3。易于理解,服务等级的划分不限于3个等级,这里给出的3个等级仅作示例用。如果IOPS密度大于等于阈值L,则首先根据服务等级信息,选择队列。例如,如果服务等级为1,则选择队列1,本例中的子队列1.1,子队列1.2,子队列1.3,子队列1.4属于队列1。子队列2.1,子队列2.2,子队列2.3,子队列2.4属于队列2。易于理解,队列内的子队列个数不限于本例给出的4个队列,可以根据需要增加或者减少。在选择队列之后,再根据IOPS密度选择某个子队列。本例中将IOPS密度分为4个等级,例如,IOPS密度值大于等于30的,归类为第一等级;IOPS密度值小于30、大于等于20的归为第二等级;IOPS密度值小于20、大于等于10,则归为第三等级;IOPS密度值小于10、大于等于5,则归为第四等级。例如,在选择队列1之后,如果IOPS密度为25,则选择队列1中的子队列2,即最终的队列为1.2。易于理解,具体的分级标准可以根据实际情况做调整。
根据一些实施例,IOPS密度值也可以例如在额度控制模块2210中先归类后再传递过来,以简化具体设计电路。
根据一些实施例,也可以省略队列分配模块2220,存储服务请求直接送往队列模块2230。在此情况中,队列模块2230中可仅有一个队列,或者等级相同的多个队列。
仲裁模块2240可用于根据预定的仲裁策略选通多个队列之一。例如,仲裁策略可以是基于服务等级的仲裁策略。
缓存控制模块2250可控制不同客户端的数据在存储器140中的缓存时间,例如,根据配置参数调整数据在存储器140中的停留时间。在集中控制设备100与后端存储集群300耦接的情况下,存储器140可作为存储集群的缓存使用。缓存控制模块2250可用来确定客户端数据在缓存中的停留时间。
在一些实施例中,集中控制设备100不连接存储集群,存储器140作为最终存储设备,这时可以省略缓存控制模块2250。
根据一些实施例,IOPS密度高的服务请求的数据在集中控制设备的存储器140中停留时间长,IOPS密度低的服务请求的数据在存储器140中的停留时间短,但本公开不限于此。
例如,IOPS密度为第一等级的每次服务请求,增加4个单位时间(例如1ms)的数据停留时间;IOPS密度为第二等级的每次服务请求,增加3个单位时间的数据停留时间;IOPS密度为第三等级的每次服务请求,增加2个单位时间的数据停留时间;IOPS密度为第四等级的每次服务请求,增加1个单位时间的数据停留时间。
图4示出根据本公开示例性实施例的服务质量控制模块420。
如图4所示,服务质量控制模块420可包括额度控制模块4210、队列分配模块4220、队列模块4230、仲裁模块4240以及缓存控制模块4250。
额度控制模块4210可包括QoS额度缓存模块4212、QoS额度查询模块4214及过滤模块4216。
QoS额度缓存模块4212可存储客户端及共享组的QoS额度信息。QoS额度缓存模块4212中存储的信息可来自于存储服务配置单元400。额度缓存模块4212可以是SRAM,也可以是SDRAM等。
QoS额度查询模块4214与QoS额度缓存模块4212通信耦接,从存储服务请求包头中提取客户端的信息,并可根据客户端的信息从QoS额度缓存模块4212查询客户端的QoS可用额度及客户端所在的共享组的QoS可用额度。
过滤模块4216与QoS额度查询模块耦接,根据QoS额度查询模块4214的反馈结果,使存储服务请求通过,或者拒绝存储服务请求。具体处理可如前所述,此处不再赘述。
仲裁模块4240可包括计数器组4242、比较模块4244及多路选通模块4246。仲裁模块4240的仲裁策略可以是基于优先级的仲裁策略。计数器组4242实现队列的防饿死功能。当队列对应的计数器溢出时,对应的溢出标识被置位,从而变成最高优先级。在对应的队列被服务后,计数器被复位。
缓存控制模块4250包括缓存状态查询更新模块4254及缓存状态存储器4252。缓存状态查询更新模块4254根据存储服务请求包头中的配置参数更新缓存状态。缓存状态存储器4252存储缓存状态。缓存状态存储器4252可以是SRAM,也可以是SDRAM等。
队列分配模块4220、队列模块4230以及缓存控制模块4250与前面描述的队列分配模块2220、队列模块2230以及缓存控制模块2250类似,在此不再赘述。
图5-7示出根据本公开一些实施例的用于存储系统的服务质量控制方法的流程图。该方法可利用例如前述集中控制设备100完成,但本公开不限于此。易于理解,根据本公开的方法也可以通过软件结合必要的硬件实现。
下面结合图5-7描述本公开一些实施例的用于存储系统的服务质量控制方法。图5-7的流程图仅是示意性的和用于说明目的,是对根据本公开实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,图5-7所示的步骤/处理并非是全部必须的,例如,有些步骤根据情况可以省略。还易于理解,有的步骤可以分解,而有些步骤可以合并或部分合并。另外,可以将一些步骤再组合成独立的处理方法或过程。
如图5所示,根据本公开一些实施例的用于存储系统的服务质量控制方法包括如下处理。
步骤S5010,接收来自客户端的存储服务请求。
步骤S5020,根据与存储服务请求相对应的客户端的QoS可用额度以及客户端所在的共享组的QoS可用额度响应存储服务请求。
例如,如前所述,以五个客户端A1、A2、A3、B1、B2为例,说明本公开的技术方案实现的QoS服务质量(例如,IOPS)的控制方式。易于理解,本公开不限于所举例子。假设客户端A1、A2、A3的IOPS配额一共为45K。在某个时间段,如果客户端A1有20KIOPS的需求,而客户端A2、A3实际使用的IOPS在25K或者低于25K,那么客户端A1可以使用组内A1/A2空余出来的IOPS配额,从而获得20KIOPS。哪些客户端共享IOPS配额由配置模块设置的系统配置参数决定。允许设置多级组内共享。例如设置客户端A1、A2、A3为组A,客户端B1、B2为组B。同时可以设置组A和组B组成一个共享组AB。
步骤S5030,根据存储服务请求中的服务等级和/或配置参数按照优先级对存储服务请求进行处理。
例如,存储服务请求包头可包括服务等级和/或配置参数(配置参数等级),可根据服务等级/配置参数将存储服务请求送往不同的队列以等待处理。
根据一些实施例,至少一个队列可包括子队列。在此情况下,可根据服务等级以及配置参数(配置参数等级)将存储服务请求送往相应队列的相应子队列。
步骤S5040,根据存储服务请求中的配置参数,控制不同客户端的数据的缓存时间。根据一些实施例,IOPS密度高的服务请求的数据在缓存中停留时间长,IOPS密度低的服务请求的数据在缓存中停留时间短,但本公开不限于此。
例如,IOPS密度为第一等级的每次服务请求,增加4个单位时间(例如1ms)的数据停留时间;IOPS密度为第二等级的每次服务请求,增加3个单位时间的数据停留时间;IOPS密度为第三等级的每次服务请求,增加2个单位时间的数据停留时间;IOPS密度为第四等级的每次服务请求,增加1个单位时间的数据停留时间。
图6示出根据本公开一些实施例的根据与存储服务请求相对应的客户端的QoS可用额度以及客户端所在的共享组的QoS可用额度响应存储服务请求的方法。
如图6所示,步骤S5020可包括如下处理。
步骤S6010,判断客户端的QoS可用额度大于零是否大于零。
在此步骤,可从存储服务请求的包头中提取客户端的信息,根据客户端的信息查询客户端的QoS可用额度及客户端所在的共享组的QoS可用额度。
步骤S6020,如果客户端的QoS可用额度大于零,则接受存储服务请求。
步骤S6030,如果客户端的QoS可用额度等于或小于零,则判断共享组的QoS可用额度。
如果共享组的QoS可用额度大于零,则转到步骤S6020。
步骤S6040,如果共享组的QoS可用额度不大于零,则拒绝存储服务请求。
在步骤S6030和/或步骤S6040中,还可以包括向存储服务请求添加附加信息。例如,如果客户端的QoS可用额度大于零,则将服务等级设置为第一服务等级。如果客户端的QoS可用额度等于或小于零且共享组的QoS可用额度大于零,则将服务等级设置为第二服务等级。然后,向存储服务请求添加附加信息,附加信息包括服务等级。
根据一些实施例,在步骤S6030和/或步骤S6040中,可根据服务请求所携带的客户端ID,查询相应的IOPS额度信用表,决定是否服务此服务请求以及此服务请求的服务等级。
如果IOPS额度大于0,则此客户端IOPS额度还没有用满,可设置服务等级为等级1,并向服务请求添加附加信息。附加信息包括但不限于IOPS密度、服务等级等。服务等级数值越小,代表等级可越高。
如果对应客户端额度小于或者等于0,则继续查询此客户端对应的共享组的共享IOPS可用额度。如果共享IOPS可用额度大于0,则虽然此客户端本身IOPS额度已经用满,但是共享组内还有共享IOPS额度可用,可设置服务等级为等级2,并向服务请求添加附加信息。
如果客户端共享组内IOPS可用额度小于或者等于0,则可拒绝服务此服务请求。
客户端共享组的层次可以是1级,也可以是多级,取决于服务质量控制策略的配置情况。
作为QoS可用额度的示例,如前所述,IOPS可用额度可由系统配置的IOPS额度和被服务的服务请求共同决定。
图7示出根据一些实施例的根据存储服务请求中的服务等级和/或配置参数按照优先级对存储服务请求进行处理的方法。
如图7所示,步骤S5030可包括如下处理。
步骤S7010,判断配置参数是否满足预定阈值。配置参数可以是IPOS密度,但本公开不限于此。当配置参数是IOPS密度时,判断配置参数是否满足预定阈值包括判断IPOS密度是否低于预定阈值。
步骤S7020,如果配置参数不满足预定阈值,则将存储服务请求送往用于最低服务等级的服务请求的队列。
步骤S7030,根据存储服务请求的服务等级将存储服务请求送往多个队列中的相应队列。
例如,用于处理服务请求的队列可包括多个等级,分别对应于不同服务等级的存储服务请求。如果服务请求中的服务等级为1,则将服务请求送往相应的队列1。
步骤S7040,根据存储服务请求包头中的配置参数(配置参数等级)将存储服务请求送往相应的子队列。多个队列至少其中之一包括子队列。在选择队列之后,可再根据例如IOPS密度选择某个子队列。例如,可将IOPS密度分为4个等级:IOPS密度值大于等于30的,归类为第一等级;IOPS密度值小于30、大于等于20的归为第二等级;IOPS密度值小于20、大于等于10,则归为第三等级;IOPS密度值小于10、大于等于5,则归为第四等级。例如,在选择队列1之后,如果IOPS密度为25,则选择队列1中的子队列2,即最终的队列为1.2。易于理解,具体的分级标准可以根据实际情况做调整。
通过以上的实施例的描述,本领域的技术人员易于理解,本公开实施例可以通过硬件实现,也可以通过软件结合必要的硬件的方式来实现。因此,本公开实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算设备(可以是个人计算机、服务器、移动终端、或者网络设备等)执行根据本公开实施例的方法。
本领域技术人员可以理解,附图只是示例实施例的示意图,附图中的模块或流程并不一定是实施本公开所必须的,因此不能用于限制本公开的保护范围。
本领域技术人员可以理解上述各模块可以按照实施例的描述分布于装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
以上具体地示出和描述了本公开的示例性实施例。应该理解,本公开不限于所公开的实施例,相反,本公开意图涵盖包含在所附权利要求的精神和范围内的各种修改和等效布置。

Claims (26)

1.一种用于存储系统的集中控制设备,其特征在于,包括:
前端服务请求处理模块,用于处理来自客户端的存储服务请求;
服务质量控制模块,与所述前端服务请求处理模块耦接,用于根据与所述存储服务请求相对应的客户端的QoS可用额度以及所述客户端所在的共享组的QoS可用额度,响应所述存储服务请求;
所述服务质量控制模块包括额度控制模块,所述额度控制模块配置为:
如果判断所述客户端的QoS可用额度大于零,则接受所述存储服务请求;
如果判断所述客户端的QoS可用额度等于或小于零,则判断所述共享组的QoS可用额度:如果所述共享组的QoS可用额度大于零,则接受所述存储服务请求,否则,拒绝所述存储服务请求。
2.如权利要求1所述的集中控制设备,其特征在于,所述额度控制模块包括:
QoS额度缓存模块,用于存储客户端及共享组的QoS额度信息;
QoS额度查询模块,与QoS额度缓存模块通信耦接,用于从所述存储服务请求中提取所述客户端的信息,并根据所述客户端的信息从所述QoS额度缓存模块查询所述客户端的QoS可用额度及所述客户端所在的共享组的QoS可用额度;
过滤模块,与QoS额度查询模块耦接,用于根据所述QoS额度查询模块的反馈结果,使所述存储服务请求通过或拒绝所述存储服务请求。
3.如权利要求1所述的集中控制设备,其特征在于,所述额度控制模块还配置为在不拒绝所述存储服务请求时,向所述存储服务请求添加附加信息,所述附加信息包括服务等级。
4.如权利要求3所述的集中控制设备,其特征在于,所述额度控制模块配置为:
如果所述客户端的QoS可用额度大于零,则将所述服务等级设置为第一服务等级;
如果所述客户端的QoS可用额度等于或小于零且所述共享组的QoS可用额度大于零,则将所述服务等级设置为第二服务等级。
5.如权利要求3所述的集中控制设备,其特征在于,所述服务质量控制模块还包括队列分配模块和队列模块,其中:
所述队列模块包括至少一个队列,用于存储所述存储服务请求;
所述队列分配模块用于根据所述存储服务请求中的所述服务等级和/或所述存储服务请求携带的配置参数将所述存储服务请求送往相应的队列。
6.如权利要求5所述的集中控制设备,其特征在于,所述服务质量控制模块还包括仲裁模块,所述仲裁模块用于根据预定的仲裁策略选通所述至少一个队列其中之一。
7.如权利要求5所述的集中控制设备,其特征在于,所述队列分配模块配置为:如果所述配置参数不满足预定阈值,则将所述存储服务请求送往用于最低的服务等级的服务请求的队列。
8.如权利要求1所述的集中控制设备,其特征在于,所述集中控制设备还包括存储器。
9.如权利要求8所述的集中控制设备,其特征在于,所述服务质量控制模块还包括缓存控制模块,用于控制不同客户端的数据在所述存储器中的缓存时间。
10.如权利要求9所述的集中控制设备,其特征在于,所述缓存控制模块包括缓存状态查询更新模块及缓存状态存储器,所述缓存状态查询更新模块用于根据所述存储服务请求中的配置参数更新缓存状态。
11.如权利要求1所述的集中控制设备,其特征在于,所述共享组包括多级。
12.如权利要求1所述的集中控制设备,其特征在于,所述QoS可用额度包括IOPS可用额度。
13.如权利要求5所述的集中控制设备,其特征在于,所述配置参数包括IOPS密度。
14.一种存储系统,其特征在于,所述存储系统包括如权利要求1-13中任一项所述的集中控制设备。
15.如权利要求14所述的存储系统,其特征在于,还包括:
存储服务配置单元,用于产生关于客户端的存储服务的至少一个配置参数;
后端存储集群,与所述集中控制设备耦接。
16.一种用于存储系统的服务质量控制方法,其特征在于,包括:
接收来自客户端的存储服务请求;
根据与所述存储服务请求相对应的客户端的QoS可用额度以及所述客户端所在的共享组的QoS可用额度响应所述存储服务请求;
所述服务质量控制模块包括额度控制模块,所述额度控制模块配置为:
如果判断所述客户端的QoS可用额度大于零,则接受所述存储服务请求;
如果判断所述客户端的QoS可用额度等于或小于零,则判断所述共享组的QoS可用额度:如果所述共享组的QoS可用额度大于零,则接受所述存储服务请求,否则,拒绝所述存储服务请求。
17.如权利要求16所述的服务质量控制方法,其特征在于,所述根据与所述存储服务请求相对应的客户端的QoS可用额度以及所述客户端所在的共享组的QoS可用额度响应所述存储服务请求包括:
如果所述客户端的QoS可用额度大于零,则接受所述存储服务请求;
如果所述客户端的QoS可用额度等于或小于零,则判断所述共享组的QoS可用额度:如果所述共享组的QoS可用额度大于零,则接受所述存储服务请求,否则,拒绝所述存储服务请求。
18.如权利要求17所述的服务质量控制方法,其特征在于,所述根据与所述存储服务请求相对应的客户端的QoS可用额度以及所述客户端所在的共享组的QoS可用额度响应所述存储服务请求还包括:
在不拒绝所述存储服务请求时,向所述存储服务请求添加附加信息,所述附加信息包括服务等级。
19.如权利要求18所述的服务质量控制方法,其特征在于,所述根据与所述存储服务请求相对应的客户端的QoS可用额度以及所述客户端所在的共享组的QoS可用额度响应所述存储服务请求还包括:
如果所述客户端的QoS可用额度大于零,则将所述服务等级设置为第一服务等级;
如果所述客户端的QoS可用额度等于或小于零且所述共享组的QoS可用额度大于零,则将所述服务等级设置为第二服务等级。
20.如权利要求18所述的服务质量控制方法,其特征在于,所述服务质量控制方法还包括:
根据所述存储服务请求中的所述服务等级和/或所述存储服务请求携带的配置参数将所述存储服务请求送往至少一个队列中的相应队列,所述至少一个队列用于存储所述存储服务请求。
21.如权利要求20所述的服务质量控制方法,其特征在于,还包括:根据预定的仲裁策略选通所述至少一个队列其中之一。
22.如权利要求20所述的服务质量控制方法,其特征在于,如果所述配置参数不满足预定阈值,则将所述存储服务请求送往用于最低服务等级的服务请求的队列。
23.如权利要求20所述的服务质量控制方法,其特征在于,还包括:根据所述存储服务请求中的配置参数,控制不同客户端的数据的缓存时间。
24.如权利要求20所述的服务质量控制方法,其特征在于,所述共享组包括多级。
25.如权利要求20所述的服务质量控制方法,其特征在于,所述QoS可用额度包括IOPS可用额度。
26.如权利要求20所述的服务质量控制方法,其特征在于,所述配置参数包括IOPS密度。
CN201510259428.2A 2015-05-20 2015-05-20 存储系统、集中控制设备、服务质量控制方法及装置 Active CN104994132B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510259428.2A CN104994132B (zh) 2015-05-20 2015-05-20 存储系统、集中控制设备、服务质量控制方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510259428.2A CN104994132B (zh) 2015-05-20 2015-05-20 存储系统、集中控制设备、服务质量控制方法及装置

Publications (2)

Publication Number Publication Date
CN104994132A CN104994132A (zh) 2015-10-21
CN104994132B true CN104994132B (zh) 2018-08-03

Family

ID=54305883

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510259428.2A Active CN104994132B (zh) 2015-05-20 2015-05-20 存储系统、集中控制设备、服务质量控制方法及装置

Country Status (1)

Country Link
CN (1) CN104994132B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107682280A (zh) * 2017-09-22 2018-02-09 郑州云海信息技术有限公司 基于nfs的qos流量控制的方法、装置及设备
CN109379304B (zh) * 2018-10-30 2022-05-06 中国电子科技集团公司第五十四研究所 一种用于降低低优先级包延迟的公平调度方法
CN109831347A (zh) * 2019-04-11 2019-05-31 苏州浪潮智能科技有限公司 分布式集群卷QoS控制方法、系统、设备及计算机介质
CN110727400A (zh) * 2019-09-05 2020-01-24 深圳平安通信科技有限公司 用于分布式存储系统的流量控制方法、装置、设备和介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1517491A2 (en) * 2003-09-16 2005-03-23 Samsung Electronics Co., Ltd. Network device, system and method
CN102170396A (zh) * 2011-05-06 2011-08-31 浙江大学 一种基于区分服务的云存储系统QoS控制方法
CN104902029A (zh) * 2015-06-24 2015-09-09 北京麓柏科技有限公司 基于配置参数和客户端统计的存储请求控制

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1517491A2 (en) * 2003-09-16 2005-03-23 Samsung Electronics Co., Ltd. Network device, system and method
CN100471194C (zh) * 2003-09-16 2009-03-18 三星电子株式会社 根据服务质量支持服务的网络装置、网络系统及其方法
CN102170396A (zh) * 2011-05-06 2011-08-31 浙江大学 一种基于区分服务的云存储系统QoS控制方法
CN104902029A (zh) * 2015-06-24 2015-09-09 北京麓柏科技有限公司 基于配置参数和客户端统计的存储请求控制

Also Published As

Publication number Publication date
CN104994132A (zh) 2015-10-21

Similar Documents

Publication Publication Date Title
CN104994132B (zh) 存储系统、集中控制设备、服务质量控制方法及装置
CN106899680B (zh) 多区块链的分片处理方法和装置
CN106233276B (zh) 网络可访问块存储装置的协调准入控制
CN106294233B (zh) 一种直接内存访问的传输控制方法及装置
CN102834816B (zh) 用以减少存取等待时间的总线仲裁方法及处理系统
CN109617986A (zh) 一种负载均衡方法及网络设备
CN103744719B (zh) 锁管理方法及系统、锁管理系统的配置方法及装置
CN110365748A (zh) 业务数据的处理方法和装置、存储介质及电子装置
CN108881348A (zh) 服务质量控制方法、装置和存储服务器
CN106503058A (zh) 一种数据加载方法、终端和计算集群
CN104657207B (zh) 远程授权请求的调度方法、业务服务器和调度系统
CN109933431B (zh) 一种智能的客户端负载均衡方法及系统
CN105426452B (zh) 一种业务处理以及数据控制方法和装置
CN109618347A (zh) 一种自动化分发业务请求的智能网关系统
CN109831524A (zh) 一种负载均衡处理方法及装置
CN110147934A (zh) 业务请求处理方法、装置、计算机设备和存储介质
CN108900626A (zh) 一种云环境下数据存储方法、装置及系统
US11399340B2 (en) Controller of a radio access network
CN108092915A (zh) 一种用户服务质量流量控制方法及装置
US8775627B2 (en) Discontinuous access management method using waiting ticket for resource allocation control, waiting ticket management method, and resource allocation control method
US20220318071A1 (en) Load balancing method and related device
CN107888660A (zh) 云服务资源调配方法、介质、装置和计算设备
CN110221775A (zh) 存储系统中令牌的分配方法和装置
CN110381137A (zh) 基于ceph的对象存储使用量统计方法及系统
US6466936B1 (en) Method for load regulation

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into 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: 20180712

Address after: No. 20, Anhui high tech Zone, Tian Zhi Road, Hefei, Anhui

Applicant after: Anhui YLZ Information Technology Co., Ltd.

Address before: 100083 B-602-017 5, 1 building, 18 Zhongguancun East Road, Haidian District, Beijing.

Applicant before: NETBRIC TECHNOLOGY CO., LTD.

GR01 Patent grant