Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHOD AND SYSTEM FOR CONTROLLING QUALITY OF SERVICE OF STORAGE SYSTEM, AND STORAGE SYSTEM
Document Type and Number:
WIPO Patent Application WO/2013/075560
Kind Code:
A1
Abstract:
The present invention provides a method and a system for controlling quality of service of a storage system, and a storage system. The method comprises: counting processing capability information of a hard disk in a storage system, and obtaining a hard disk processing capability according to the processing capability information; dividing a cache into multiple tiers according to the hard disk processing capability, the cache of each tier corresponding to one or more hard disks in the storage system, and the page quota of the cache of each tier being pre-allocated according to the processing capability information of the one or more hard disks corresponding to the cache of each tier; if dirty data in a cache of a tier reaches a preset proportion, writing data in the cache of the tier into a hard disk corresponding to the cache of the tier. The system for controlling quality of service of a storage system comprises: a counting module, a first division module, and a disk writing module. The storage system comprises: a host, a cache, and the system for controlling quality of service of a storage system. The present invention avoids page resource preemption in the cache.

Inventors:
CUI WENLIN (CN)
WANG QIYAO (CN)
ZHOU MINGQUAN (CN)
SHU TAN (CN)
WANG HONGLEI (CN)
Application Number:
PCT/CN2012/083171
Publication Date:
May 30, 2013
Filing Date:
October 19, 2012
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
HUAWEI DIGITAL TECHNOLOGIES CHENG DU CO LTD (CN)
International Classes:
G06F12/084; G06F12/08; G06F12/0871; G06F12/0873; G06F12/0897
Foreign References:
CN102508619A2012-06-20
CN101135994A2008-03-05
CN101609432A2009-12-23
CN101373445A2009-02-25
Other References:
See also references of EP 2713278A4
Download PDF:
Claims:
权利要求

1、 一种存储系统服务质量控制方法, 其特征在于, 包括: 统计存储系统中硬盘的处理能力信息, 所述处理能力信息至少包括 所述硬盘的类型、 数量和性能的其中一个, 通过所述处理能力信息获得 所述硬盘的处理能力的大小;

根据所述硬盘的处理能力的大小将緩存划分为多个层级, 各层级的 緩存分别对应所述存储系统中的一个或多个硬盘, 所述各层级的緩存的 页面配额分别根据所述各层级的緩存对应的一个或多个硬盘的处理能力 信息预先分配获得;

对于脏数据达到预设比例的层级的緩存, 将所述层级的緩存内的数 据写入所述层级的緩存对应的硬盘中。

2、 根据权利要求 1所述的方法, 其特征在于, 还包括: 根据主机业 务的业务类型将緩存划分为多个緩存分区;

所述根据硬盘的处理能力的大小将緩存划分为多个层级具体包括: 根据硬盘的处理能力的大小将各所述緩存分区分别划分为多个层级。

3、 根据权利要求 1或 2所述的方法, 其特征在于, 还包括: 定期收集存储系统的性能统计信 ,包、和资源使用信息, 所述性能统计 信息包括硬盘的平均利用率和主机业务的流量, 所述资源使用信息包括 緩存中页面资源的使用信息、 各层级的緩存的页面配额的使用信息和计 算资源的使用信息;

根据所述性能统计信息和所述资源使用信息对所述各层级的緩存的 页面配额进行定期调整,

其中, 调整后的所述各层级的緩存的页面配额大于预设的页面配额 最小值。

4、 根据权利要求 1或 2所述的方法, 其特征在于, 还包括: 统计所述各层级的緩存的使用信息, 所述各层级的緩存的使用信息 包括所述各层级的緩存的页面使用信息、 所述各层级的緩存对应的硬盘 的平均利用率和所述各层级的緩存的业务量;

根据所述各层级的緩存的使用信息确定待执行写盘操作的层级的緩 存;

统计所述待执行写盘操作的层级的緩存对应的硬盘当前可支持的业 务并发数;

所述将所述层级的緩存内的数据写入所述层级的緩存对应的硬盘中 具体为:

根据统计的所述业务并发数将所述待执行写盘操作的层级的緩存中 的数据写入对应的硬盘中。

5、 根据权利要求 1或 2所述的方法, 其特征在于, 还包括: 当接收到业务对应的业务资源请求时, 所述业务资源请求中携带层 级信息, 若所述层级信息所代表的层级的緩存的当前页面配额小于预设 的配额阔值, 则根据所述业务的业务优先级和所述层级的緩存对应的权 重值计算所述业务资源请求的请求优先级;

根据所述请求优先级对所述业务资源请求进行排队处理。

6、 一种存储系统服务质量控制系统, 其特征在于, 包括: 第一统计模块, 用于统计存储系统中硬盘的处理能力信息, 所述处 理能力信息至少包括所述硬盘的类型、 数量和性能的其中一个, 通过所 述处理能力信息获得所述硬盘的处理能力的大小;

第一划分模块, 用于根据所述硬盘的处理能力的大小将緩存划分为 多个层级, 各层级的緩存分别对应所述存储系统中的一个或多个硬盘, 所述各层级的緩存的页面配额分别根据所述各层级的緩存对应的一个或 多个硬盘的处理能力信息预先分配获得;

写盘模块, 用于对于脏数据达到预设比例的层级的緩存, 将所述层 级的緩存的数据写入所述层级的緩存对应的硬盘中。

7、 根据权利要求 6所述的系统, 其特征在于, 还包括: 第二划分模 块, 用于根据主机业务的业务类型将緩存划分为多个緩存分区;

所述第一划分模块具体用于根据硬盘的处理能力的大小将各所述緩 存分区分别划分为多个层级。

8、 根据权利要求 6或 7所述的系统, 其特征在于, 还包括: 收集模块,用于定期收集存储系统的性能统计信息和资源使用信息, 所述性能统计信息包括硬盘的平均利用率和主机业务的流量, 所述资源 使用信息包括緩存中页面资源的使用信息、 各层级的緩存的页面配额的 使用信息和计算资源的使用信息;

页面配额调整模块, 用于根据所述性能统计信息和所述资源使用信 息对所述各层级的緩存的页面配额进行定期调整;

其中, 调整后的所述各层级的緩存的页面配额大于预设的页面配额 最小值。

9、 根据权利要求 6或 7所述的系统, 其特征在于, 还包括: 第二统计模块, 用于统计所述各层级的緩存的使用信息, 所述各层 级的緩存的使用信息包括所述各层级的緩存的页面使用信息、 所述各层 级的緩存对应的硬盘的平均利用率和所述各层级的緩存的业务量;

决策模块, 用于根据所述各层级的緩存的使用信息确定待执行写盘 操作的层级;

第三统计模块, 用于统计所述待执行写盘操作的层级的緩存对应的 硬盘当前可支持的业务并发数;

所述写盘模块具体用于对于脏数据达到预设比例的层级的緩存, 根 据统计的所述业务并发数将所述待执行写盘操作的层级的緩存中的数据 写入对应的硬盘中。

10、 根据权利要求 6或 7所述的系统, 其特征在于, 还包括: 计算模块, 用于当接收到业务对应的业务资源请求时, 所述业务资 源请求中携带层级信息, 若所述层级信息所代表的层级的緩存的当前页 面配额小于预设的配额阔值, 则根据所述业务的业务优先级和所述层级 的緩存对应的权重值计算所述业务资源请求的请求优先级;

请求控制模块, 用于根据所述请求优先级对所述业务资源请求进行 排队处理。

11、 一种存储系统, 其特征在于, 包括主机、 緩存和权利要求 6-10 中任一项所述的存储系统服务质量控制系统。

Description:
存储系统服务质量控制方法、 系统和存储系统 本申请要求于 2011年 11月 21 日提交中国专利局、 申请号为

201110370798.5、 发明名称为 "存储系统服务质量控制方法、 系统和存储系 统" 的中国专利申请的优先权, 其全部内容通过引用结合在本申请中。 技术领域 本发明涉及计算机技术领域, 尤其涉及一种存储系统服务质量控制方 法、 系统和存储系统

背景技术 緩存(cache ) 为存储系统为了提高性能而引入的组件, 主要用于提高 整个系统的输入输出 (Input/Output; 以下简称: I/O )性能, 将一些临时数 据存放在该内存中, 从而加快了主机的 I/O响应。 对于主机的读操作来说, 系统将读数据临时放入 cache中, 主机的读操作直接命中 cache, 从而节省 了主机读盘的操作; 对于主机的写操作来说, 系统将主机的写数据直接緩 存在 cache 中, 从而节省了写盘的操作。 为了尽量让读写操作顺利进行, cache会根据一定的策略,通过预读机制将主机 次可能读取的数据从硬盘 上读入 cache, 增大读命中率, 同时基于一定的合并策略将写入 cache中的 数据进行合并, 减少写盘的时间。 由此可以看出, 对于读操作来说, 通过 优化预取算法或者增加 cache大小可以提高读命中率,从而提高整个存 系 统的读性能; 但当 cache增大到一定程度, 读操作的性能的提高与 cache大 小的增加不成比例。 服务质量(Quality of Service; 以下简称: QoS )是网 络与用户之间以及网络上互相通信的用户之间 关于信息传输与共享的质的 约定, 其可以包括传输的带宽、 传送的时延、 数据的丟包率等, 在网络中 可以通过保证传输的带宽、 降低传送的时延和丟包率以及时延抖动等措施 来提高服务质量。

当前存储系统支持多种类型的硬盘混插, 但是每种类型盘的转速和吞 吐各不同, 往往导致写盘时处理性能的差异, 即使是同一种类型的盘, 也 会由于制造商或者老化的问题导致处理能力存 在差异。 在这种场景下, 由 于后端磁盘处理能力方面的差异,写入 cache中的数据不能及时被释放,导 致处理慢的盘所占用的页面资源越来越多, 处理快的盘的处理速度由于无 法分配到 cache页面而受到影响,甚至导致整个系统的处 性能趋近于系统 中最慢的盘, 即出现短木板效应。

在现有技术中, 通过 cache分区技术来解决上述问题, 如图 1所示为现 有技术中 cache分区技术的应用场景示意图, 现有技术中的 cache分区技术 根据主机侧的业务将 cache资源划分为多个 cache分区, 每个 cache分区针 对一个或者多个主机, 彼此之间相互独立, 不互相影响。 然而, 现有技术 中的各 cache分区内部仍会出现页面资源抢占现象, 导致此 cache分区对应 的业务的性能 (如传送的时延、 丟包率等)被后端最慢的盘所拖累, 从而 降低存储系统的服务质量。

发明内容

本发明实施例提供一种存储系统服务质量控制 方法、 系统和存储系 统, 克服现有技术中 cache内部页面资源抢占现象, 避免慢速盘对于高 速盘性能的影响。

本发明实施例提供了一种存储系统服务质量控 制方法, 包括: 统计存储系统中硬盘的处理能力信息, 所述处理能力信息至少包括 所述硬盘的类型、 数量和性能的其中一个, 通过所述处理能力信息获得 所述硬盘的处理能力的大小;

根据所述硬盘的处理能力的大小将緩存划分为 多个层级, 各层级的 緩存分别对应所述存储系统中的一个或多个硬 盘, 所述各层级的緩存的 页面配额分别根据所述各层级的緩存对应的一 个或多个硬盘的处理能力 信息预先分配获得;

对于脏数据达到预设比例的层级的緩存, 将所述层级的緩存内的数 据写入所述层级的緩存对应的硬盘中。 本发明实施例提供了一种存储系统服务质量控 制系统, 包括: 第一统计模块, 用于统计存储系统中硬盘的处理能力信息, 所述处 理能力信息至少包括所述硬盘的类型、 数量和性能的其中一个, 通过所 述处理能力信息获得所述硬盘的处理能力的大 小;

第一划分模块, 用于根据所述硬盘的处理能力的大小将緩存划 分为 多个层级, 各层级的緩存分别对应所述存储系统中的一个 或多个硬盘, 所述各层级的緩存的页面配额分别根据所述各 层级的緩存对应的一个或 多个硬盘的处理能力信息预先分配获得;

写盘模块, 用于对于脏数据达到预设比例的层级的緩存, 将所述层 级的緩存的数据写入所述层级的緩存对应的硬 盘中。

本发明实施例提供了一种存储系统, 包括主机、 緩存和上述存储系 统服务质量控制系统。

本发明实施例提供的存储系统服务质量控制方 法、 系统和存储系统, 通 过统计存储系统中硬盘的处理能力信息, 根据硬盘的处理能力大小将 cache 划分为多个层级, 当某个层级的 cache中的脏数据达到预设比例时,将该层 级的 cache中的数据写入该层级的緩存对应的硬盘中 在本发明实施例中, 由于将 cache划分为多个层级,每个层级对应的硬盘的 理能力不同, 处理 能力弱的硬盘不能抢占处理能力强的硬盘对应 的 cache内部页面资源,因此 处理能力强的硬盘对应的 cache空间能够提前释放出来,在一定程度上克 了现有技术中 cache内部页面资源抢占现象,避免了慢速盘对 高速盘性能 的影响。 附图说明

为了更清楚地说明本发明实施例或现有技术中 的技术方案, 下面将对 实施例或现有技术描述中所需要使用的附图作 一简单地介绍, 显而易见地, 下面描述中的附图是本发明的一些实施例, 对于本领域普通技术人员来讲, 在不付出创造性劳动的前提下, 还可以根据这些附图获得其他的附图。 图 1为现有技术中 cache分区技术的应用场景示意图; 图 2为本发明存储系统服务质量控制方法实施例 的流程图; 图 3为本发明存储系统服务质量控制方法实施例 中的存储系统的 网络架构示意图;

图 4为本发明存储系统服务质量控制方法实施例 的流程图; 图 5为本发明存储系统服务质量控制方法实施例 的应用场景示意图; 图 6为本发明存储系统服务质量控制方法实施例 的流程图; 图 7为本发明存储系统服务质量控制方法实施例 的应用场景示意图; 图 8为本发明存储系统服务质量控制系统实施例 的结构示意图; 图 9为本发明存储系统服务质量控制系统实施例 的结构示意图。 具体实施方式

为使本发明实施例的目的、 技术方案和优点更加清楚, 下面将结合 本发明实施例中的附图, 对本发明实施例中的技术方案进行清楚、 完整 地描述, 显然, 所描述的实施例是本发明一部分实施例, 而不是全部的 实施例。 基于本发明中的实施例, 本领域普通技术人员在没有作出创造 性劳动前提下所获得的所有其他实施例, 都属于本发明保护的范围。

图 2为本发明存储系统服务质量控制方法实施例 的流程图, 如图 2所示, 本实施例提供了一种存储系统服务质量控制方 法, 可以具体包 括如下步骤:

步骤 201 , 统计存储系统中硬盘的处理能力信息, 所述处理能力信 息至少包括所述硬盘的类型、 数量和性能的其中一个, 通过所述处理能 力信息获得所述硬盘的处理能力的大小。

图 3为本发明存储系统服务质量控制方法实施例 中的存储系统的 网络架构示意图, 如图 3所示, cache为一块很大的内存,设置在阵列系统 中的前端 (Front-End )设备与后端 (Back-End )设备之间, 通过 cache对数 据的緩存而实现主机与物理磁盘(Physical Disk ) 的数据读写, 节省主机 ( Host ) 的读盘操作。 本步骤为统计存储系统中硬盘的处理能力信息 , 此处 的硬盘可以具体为上述图 3中所示的物理磁盘, 硬盘的类型可以包括但不限 于固态硬盘(Solid State Disk; 以下简称: SSD ) 、 串行连接的 SCSI ( Serial Attached SCSI; 以下简称: SAS ) 、 串行高级技术附件( Serial Advanced Technology Attachment; 以下简称: SATA )等, 其中, SCSI为小型计算机 系统接口 ( Small Computer System Interface ) 的缩写。 本步骤具体为收集当 前存储系统中所包含的硬盘的处理能力信息, 硬盘的处理能力可以通过其 类型、 老化程度、 性能等体现, 则此处的处理能力信息至少包括所述硬 盘的类型、 数量和性能的其中一个, 通过所述处理能力信息获得所述硬 盘的处理能力的大小。

步骤 202 , 根据所述硬盘的处理能力的大小将緩存划分为 多个层级 ( tier ) , 各 tier的緩存分别对应所述存储系统中的一个或 个硬盘, 各 tier的緩存的页面配额分别根据各 tier的緩存对应的一个或多个硬盘的 处理能力信息预先分配获得。

在获取硬盘的处理能力的大小后, 根据硬盘的处理能力的大小, 来 对緩存( cache ) 的页面资源进行划分, 具体为将 cache划分为多个 tier , 各 tier的緩存分别对应存储系统中的一个或多个 盘。 其中, 各 tier的 緩存的页面配额分别根据各 tier的緩存对应的一个或多个硬盘的处理能 力信息来得到, 在本实施例中, 划分后的各 tier与存储系统中的硬盘存 在对应关系, 即每个 tier的緩存对应一个或多个硬盘, 具体根据各硬盘 的处理能力信息来确定 tier与硬盘间的对应关系。 例如, 将处理速度较 高的一个或多个高速盘与一个 tier相对应, 则该 tier的緩存对应的硬盘 为高速盘; 将处理速度一般的一个或多个中速盘与另一个 tier相对应, 则该 tier的緩存对应的硬盘为中速盘; 而将处理速度较低的一个或多个 低速盘与再一个 tier相对应, 则该 tier的緩存对应的硬盘为低速盘。 步骤 203 , 对于脏数据达到预设比例的层级的緩存, 将所述层级的 緩存内的数据写入所述各层级的緩存对应的硬 盘中。

在通过步骤 202将 cache划分为多个 tier后, 本步骤为当緩存中的 脏数据达到预设比例时, 以划分后的各 tier的緩存为单位, 对于脏数据 达到预设比例的层级的緩存, 将该 tier的緩存内的数据写入该 tier的緩 存对应的硬盘中。 其中, 脏数据是指緩存在 cache中的已被修改但还未 写到硬盘中的数据。 本发明不同于现有技术中的以 cache为单位的方式, 从而使得各 tier之间的数据存储过程相互独立, 实现了根据硬盘的处理 能力来划分 cache , 从而实现了对存储系统的 QoS的有效控制。 例如, 当处理能力信息为硬盘的类型和数量时, 假设存储系统中包含 SSD、 SAS、 SATA三种类型的硬盘, 其数量分别为 4、 2、 6 , 则可以将 cache 划分为三个 tier, 每个 tier的緩存分别对应一种类型的硬盘, 三个 tier上 的页面配额按照 2: 1 :3的比例来划分。 在本实施例中, 在将 cache的页面 资源划分为多个 tier后, 以划分后的各 tier的緩存为单位, 分别对各 tier 的緩存对应的硬盘的数据进行存储处理, 即每个 tier分别针对一类处理 能力接近的硬盘, 每个 tier之间相互独立, 不会相互影响, 从而不会出 现由于慢速盘拖累快速盘的现象。

本实施例提供了一种存储系统服务质量控制方 法, 通过统计存储系 统中硬盘的处理能力信息, 根据硬盘的处理能力大小将 cache划分为多 个层级, 当某个层级的 cache中的脏数据达到预设比例时, 将该层级的 cache中的数据写入该层级的緩存对应的硬盘中 在本发明实施例中, 由 于将 cache划分为多个层级, 每个层级对应的硬盘的处理能力不同, 处 理能力弱的硬盘不能抢占处理能力强的硬盘对 应的 cache内部页面资源, 因此处理能力强的硬盘对应的 cache空间能够提前释放出来, 在一定程 度上克服了现有技术中 cache内部页面资源抢占现象, 避免了慢速盘对 于高速盘性能的影响。 图 4为本发明存储系统服务质量控制方法实施例 的流程图, 如图 4所示, 本实施例提供了一种存储系统服务质量控制方 法, 可以具体包 括如下步骤:

步骤 401 , 统计存储系统中硬盘的处理能力信息, 所述处理能力信 息至少包括所述硬盘的类型、 数量和性能的其中一个, 通过所述处理能 力信息获得所述硬盘的处理能力的大小。

图 5为本发明存储系统服务质量控制方法实施例 的应用场景示意 图, 如图 5所示, 本实施例具体应用在没有 cache分区机制下, 根据硬盘的 处理能力将整个 cache资源划分为多个 tier。本实施例的核心为图 5中的 QoS 控制系统,该 QoS控制系统可以部署在存储系统内部,也可以 部署在存储系 统外部进行带外管理。 该 QoS控制系统通过监控存储系统的业务流量等信 息、 硬盘的利用率等信息, 从而对 cache进行划分调整。 在存储系统的初始 化阶段, 对存储系统中硬盘的处理能力信息进行统计, 所述处理能力信 息至少包括所述硬盘的类型、 数量和性能的其中一个, 通过所述处理能 力信息获得所述硬盘的处理能力的大小。本步 骤为 QoS控制系统统计存储 系统中硬盘的类型和数量, 此处的硬盘可以具体为上述图 3中所示的物理磁 盘, 硬盘的类型可以包括但不限于 SSD、 SAS、 SATA等。

步骤 402 , 根据硬盘的处理能力的大小将緩存划分为多个 tier。

在获取到存储系统中硬盘的处理能力的大小后 , QoS控制系统根据 硬盘的处理能力的大小将緩存划分为多个 tier。 当硬盘的处理能力的大 小具体根据当前不同类型硬盘的数量的比例来 获取得到时, 在根据硬盘 的处理能力的大小对 cache的页面资源进行划分后, 各 tier的緩存的页 面配额分别根据各 tier的緩存对应的一个或多个硬盘的数量来得 。 此 处以将整个 cache划分为三个 tier为例进行说明, 即 tier0、 tierl和 tier2 , 分别对应硬盘中的高速盘、 中速盘、 低速盘, 此处的高中低速盘是根据 硬盘的类型得到的。 例如, 假设存储系统中包含 SSD、 SAS、 SATA三 种类型的硬盘, 其数量分别为 4、 2、 6 , 则可以将 cache划分为三个 tier, 每个 tier的緩存分别对应一种类型的硬盘, 三个 tier上的页面配额按照 2: 1 :3的比例来划分。 在本实施例中, 在将 cache的页面资源划分为多个 tier后, 以划分后的各 tier为单位, 分别将 cache中各 tier内的数据写入 各 tier的緩存对应的硬盘中, 即每个 tier分别针对一种或多种类型相似 的硬盘。 另外, 硬盘的处理能力的大小可以具体根据硬盘的性 能来获取 得到, 各硬盘的性能随着硬盘的老化等影响而发生变 化, 此处的硬盘的 性能可以为硬盘在使用过程中由于插拔、 机械故障、 老化等因素导致的 硬盘的当前性能。 本实施例以此来对 cache的划分, 使得划分的 tier可 以与各硬盘的实际处理能力相关。

步骤 403, 定期收集存储系统的性能统计信息和资源使用 信息。 在存储系统运行过程中, 各硬盘的状态会发生变化, 在本实施例中, 为了提高存储系统的 QoS , 需要定期调整各 tier的緩存的页面配额, 从 而与硬盘的状态变化相适应, 本步骤为 QoS控制系统定期收集存储系统 的性能统计信息和资源使用信息, 此处的性能统计信息包括但不限于硬 盘的平均利用率和主机业务的流量, 资源使用信息包括但不限于緩存中 页面资源的使用信息、 各 tier的緩存的页面配额的使用信息和计算资源 的使用信息。 其中, 硬盘的平均利用率为不同类型硬盘各自的平均 利用 率, 主机业务的流量为主机业务在不同 tier的緩存上产生的历史流量, 緩存中页面资源的使用信息为 cache中页面资源的使用情况, cache中各 tier的緩存的页面配额的使用信息为不同 tier上的页面资源的使用情况, 计算资源的使用信息可以为 CPU等计算资源的使用情况。 在本实施例 中, QoS控制系统可以按照预设的收集周期来定期收 集上述信息。

步骤 404 ,根据所述性能统计信息和所述资源使用信息 所述各 tier 的緩存的页面配额进行定期调整。

在收集到存储系统内部的性能统计信息和资源 使用信息后, QoS控 制系统对硬盘的平均利用率、主机业务的流量 、 cache中页面资源的使用 信息、 各 tier的緩存的页面配额的使用信息和计算资源 使用信息进行 分析, 通过分析来决策是否对各 tier的緩存的页面配额进行调整, 并根 据收集到的上述信息来进行具体调整。 此处的各 tier的緩存的页面配额 为划分给各 tier的緩存的页面资源在 cache中整个页面资源中所占的比 例。 在存储系统的运行过程中, 在不同的时刻, 上述这些信息是不同的, 因此, 此处根据收集到的不同信息来对各 tier的緩存的页面配额进行调 整, 以使得划分的各 tier可以更加准确地适应当前的存储环境。 在本实 施例中, 整个调整流程是一个负反馈过程, 调整后的页面配额信息又会 成为下一次调整的依据,根据定期收集的信息 对页面配额进行不断调整, 直至系统达到一个稳态, 整个调整过程可以基于模糊控制等自适应智能 算法进行分析和决策。

具体地, 在本实施例中, 在初始化阶段将 cache划分为多个 tier , 在 运行过程中对 cache的划分进行调整, 即对划分的 tier的緩存的页面配 额进行调整的过程中, 划分后的各 tier的緩存的页面配额大于预设的页 面配额最小值, 即划分后的每个 tier内存均存在一个最小配额值, 用于 保底, 避免某个 tier出现资源饿死现象。

步骤 405 , 统计所述各 tier的緩存的使用信息。

在 cache的写盘 ( destage ) 过程中, 现有技术中的 cache基本上都 是通过预先设定的整个 cache的高低水位标来控制 cache执行写盘操作 的, 在现有的 cache分区技术中对于 cache分区也是按照高低水位标来 控制 cache写盘。 此处的写盘操作具体为将 cache中的数据写到物理硬 盘中。 在本实施例中, 写盘操作以 tier为单位进行, 具体写盘操作的执 行区别于现有技术中的按照高低水位标的控制 方式, 而是将高低水位标 的控制方式分别应用在各 tier的緩存中, 即对各个 tier的緩存分别进行 写盘控制, 具体的写盘策略根据各 tier的高低水位标来确定。 本步骤为 QoS控制系统统计各 tier的緩存的使用信息, 此处的各 tier的緩存的使 用信息可以包括但不限于各 tier的緩存的页面使用信息、 各 tier的緩存 对应的硬盘的平均利用率和各 tier的緩存的业务量。 其中, 各 tier的緩 存的页面使用信息为各 tier的緩存的页面资源的使用情况, 各 tier的緩 存对应的硬盘的平均利用率为各 tier的緩存对应的所有硬盘的利用率的 平均值, 各 tier的緩存的业务量为各 tier的緩存上当前正在处理的业务 量和保存的历史时间所处理的业务量。

步骤 406 , 根据所述各 tier的緩存的使用信息确定待执行写盘操作 的写盘 tier。

在获取到各 tier的緩存的使用信息后, QoS控制系统根据各 tier的 緩存的页面使用信息、 各 tier的緩存对应的硬盘的平均利用率和各 tier 的緩存的业务量, 来确定待执行写盘操作的写盘 tier, 即决策当前对哪 个 tier执行写盘操作写盘。

步骤 407 , 统计待执行写盘操作的 tier的緩存对应的硬盘当前可支 持的业务并发数。

在决策出待执行写盘操作的 tier后, QoS控制系统继续统计该待执 行写盘操作的 tier的緩存对应的硬盘当前可支持的业务并发 , 通过该 业务并发数来对该待执行写盘操作的 tier进行写盘处理。

步骤 408 , 当各层级的緩存中的脏数据达到预设比例时, 以各 tier 的緩存为单位, 根据所述各层级的緩存的页面配额, 根据统计的所述业 务并发数将所述待执行写盘操作的 tier的緩存中的数据写入对应的硬盘 中。

本实施例通过统计 tier的緩存的页面使用情况并结合 tier的緩存对 应的硬盘的并发情况, 来决定是否执行写盘操作以及执行写盘操作的 数 据量。 当緩存中的脏数据达到预设比例时, 以各 tier的緩存为单位, 根 据所述各层级的緩存的页面配额, 根据统计的业务并发数将待执行写盘 操作的 tier的緩存中的数据写入对应的硬盘中。 其中, 由于硬盘的处理 能力不仅与硬盘的数量有关, 还与业务的类型相关, 则可以根据硬盘的 处理能力来动态调整业务并发数, 从而能够结合业务量和硬盘的性能、 页面使用情况来更加准确地控制写盘, 避免了现有技术中不停刷盘导致 硬盘过于繁忙的缺陷, 增加了硬盘的寿命。 在本实施例中, 在将 cache 的页面资源划分为多个 tier的緩存对应后, 以划分后的各 tier的緩存为 单位, 分别将各 tier的緩存内的数据写入各 tier的緩存对应的硬盘中, 即每个 tier分别针对一类处理能力接近的硬盘, 每个 tier之间相互独立, 不会相互影响, 从而不会出现由于慢速盘拖累快速盘的现象。

进一步地, 本实施例在基于 tier对主机的业务进行处理时, 通过基 于 tier的页面优先级的排队机制来实现, 具体可以包括如下步骤:

步骤 409 , 当接收到业务对应的业务资源请求时, 所述业务资源请 求中携带 tier信息, 判断 tier信息所代表的 tier的緩存的当前页面配额 是否小于预设的配额阔值,如果是,则执行步 骤 410 ,否则执行步骤 412。

当某个 tier接收到某个业务对应的业务资源请求时, 在该业务资源 请求中携带 tier信息,该 tier信息用于表明该业务资源请求所请求的 tier , QoS控制系统判断该 tier的緩存的当前页面配额是否小于预设的配 阔 值,该配额阔值为预先设定的表征 t i e r的緩存的页面配额是否紧张的值。 当该 tier的緩存的当前页面配额小于该配额阔值时 表明该 tier的緩存 的页面配额紧张, 则执行步骤 410-411 , 否则执行步骤 412。

步骤 410 , 根据所述业务的业务优先级和所述 tier的緩存对应的权 重值计算所述业务资源请求的请求优先级。

当该 tier的緩存的当前页面配额小于该配额阔值时 表明该 tier的 緩存的页面配额紧张, 则需要对业务资源请求进行排队处理, QoS控制 系统根据该业务的业务优先级和该 tier的緩存对应的权重值来计算该业 务资源请求的请求优先级, 业务优先级可以由主机根据用户对业务的需 求以及业务的性质来设定, tier的緩存对应的权重值可以由 QoS控制系 统来设定, 根据各业务的业务优先级和其所属 tier的緩存的权重值, 便 可以计算得到各业务资源请求的请求优先级。

步骤 411 , 根据所述请求优先级对所述业务资源请求进行 排队处理。 在 tier的緩存的页面配额紧张时, QoS控制系统便根据请求优先级 对该 tier的緩存上的业务资源请求进行排队处理, 将请求优先级高的业 务资源请求排在前面进行优先处理, 请求优先级低的业务资源请求则排 在后面进行非优先处理。

步骤 412 , 直接对业务资源请求进行处理。

在 tier的緩存的页面配额不紧张时, QoS控制系统无需对业务资源 请求进行排队处理, 可以直接对业务资源请求进行处理, 申请相应的页 面配额。

需要指出的是, 在本实施例中, 上述步骤 409-412与步骤 408之间 不存在严格的时序限制, 步骤 409-412可以在步骤 408之前执行, 或者 同时执行, 具体根据实际情况来调整。

本实施例提供了一种存储系统服务质量控制方 法, 通过统计存储系 统中硬盘的处理能力信息, 根据硬盘的处理能力信息将 cache划分为多 个 tier, 当 cache中的脏数据达到预设比例时, 以各 tier的緩存为单位, 根据各 tier的緩存的页面配额,分别将 cache中各 tier内的数据写入各 tier 的緩存对应的硬盘中; 本实施例基于存储系统中硬盘的处理能力来动 态 划分 cache资源, 将整个 cache的页面资源逻辑划分为多个 tier, 并进行 配额管理和申请控制,避免了慢速盘对于高速 盘性能的影响;且各个 tier 的緩存的页面配额根据当前存储系统的性能统 计信息和资源使用信息进 行动态调整, 保证了资源的合理利用; 本实施例以 tier为范围进行写盘, 避免了现有技术中釆用全局 destage策略的滞后性所带来的 cache页面释 放不及时的问题; 同时, 本实施例克服了现有技术中 cache内部页面资 源抢占现象。

图 6为本发明存储系统服务质量控制方法实施例 的流程图, 如图 6所示, 本实施例提供了一种存储系统服务质量控制方 法, 可以具体包 括如下步骤:

步骤 601 , 根据主机业务的业务类型将緩存划分为多个緩 存分区。 图 7为本发明存储系统服务质量控制方法实施例 的应用场景示意 图, 如图 7所示, 本实施例具体应用在 cache分区机制下, 根据硬盘的处理 能力分别将各 cache分区的资源划分为多个 tier。本步骤为根据主机业务的业 务类型,将 cache先划分为多个 cache分区,此处以划分为 cache分区一、 cache 分区二和 cache分区三为例进行说明。 步骤 602 , 统计存储系统中硬盘的处理能力信息, 所述处理能力信 息至少包括所述硬盘的类型、 数量和性能的其中一个, 通过所述处理能 力信息获得所述硬盘的处理能力的大小, 本步骤可以类似上述步骤 401 , 此处不再赘述。

步骤 603 ,根据硬盘的处理能力的大小将各 cache分区分别划分为多 个 tier。

在获取到存储系统中硬盘的处理能力的大小后 , QoS控制系统根据 硬盘的处理能力的大小将各 cache分区划分为多个 tier。 当硬盘的处理能 力的大小具体根据当前不同类型硬盘的数量的 比例来获取得到时, 根据 硬盘的处理能力的大小对各 cache分区的页面资源进行分别划分, 具体 将各 cache分区分别划分为多个 tier, 此处以将各 cache分区均划分为三 个 tier为例进行说明, 即 tierO、 tierl和 tier2 , 分别对应硬盘中的高速盘、 中速盘、 低速盘。 在本实施例中, 在将 cache分区的页面资源划分为多 个 tier后, 以划分后的各 tier的緩存为单位, 分别对各 tier的緩存对应 的硬盘的数据进行存储处理, 即每个 tier分别针对一种或多种类型相似 的硬盘。

步骤 604 , 定期收集存储系统内部的性能统计信息和资源 使用信息, 本步骤可以类似上述步骤 403 , 此处不再赘述。

步骤 605 , 根据性能统计信息和资源使用信息对各 tier的緩存的页 面配额进行定期调整, 本步骤可以类似上述步骤 404 , 此处不再赘述。 步骤 606 , 统计各 tier的緩存的使用信息, 本步骤可以类似上述步 骤 405 , 此处不再赘述。

步骤 607 , 根据各 tier的緩存的使用信息确定待执行写盘操作的 写盘 tier, 本步骤可以类似上述步骤 406 , 此处不再赘述。

步骤 608 , 统计待写盘 tier的緩存对应的硬盘当前可支持的业务并 发数, 本步骤可以类似上述步骤 407 , 此处不再赘述。

步骤 609 , 当各层级的緩存中的脏数据达到预设比例时, 以各 tier 的緩存为单位, 根据所述各层级的緩存的页面配额, 根据统计的业务并 发数将待执行写盘操作的 tier的緩存中的数据写入对应的硬盘中, 本步 骤可以类似上述步骤 408 , 此处不再赘述。

步骤 610 , 当接收到业务对应的业务资源请求时, 所述业务资源请 求中携带 tier信息, 判断 tier信息所代表的 tier的緩存的当前页面配额 是否小于预设的配额阔值,如果是,则执行步 骤 611 ,否则执行步骤 613 , 本步骤可以类似上述步骤 409 , 此处不再赘述。

步骤 611 , 根据所述业务的业务优先级和所述 tier的緩存对应的权 重值计算所述业务资源请求的请求优先级, 本步骤可以类似上述步骤 410 , 此处不再赘述。

步骤 612 , 根据所述请求优先级对所述业务资源请求进行 排队处理, 本步骤可以类似上述步骤 411 , 此处不再赘述。

步骤 613 , 直接对业务资源请求进行处理, 本步骤可以类似上述步 骤 412 , 此处不再赘述。 本实施例提供了一种存储系统服务质量控制方 法, 通过统计存储系 统中硬盘的处理能力信息, 根据硬盘的处理能力大小将 cache划分为多 个层级, 当某个层级的 cache中的脏数据达到预设比例时, 将该层级的 cache中的数据写入该层级的緩存对应的硬盘中 在本发明实施例中, 由 于将 cache划分为多个层级, 每个层级对应的硬盘的处理能力不同, 处 理能力弱的硬盘不能抢占处理能力强的硬盘对 应的 cache内部页面资源, 因此处理能力强的硬盘对应的 cache空间能够提前释放出来, 在一定程 度上克服了现有技术中 cache内部页面资源抢占现象, 避免了慢速盘对 于高速盘性能的影响; 且各个 tier的緩存的页面配额根据当前存储系统 的性能统计信 ,包、和资源使用信息进行动态调整,保证了 源的合理利用; 本实施例以 tier为范围进行 destage ,避免了现有技术中釆用全局 destage 策略的滞后性所带来的 cache页面释放不及时的问题; 同时, 本实施例 结合 cache分区, 在一个 cache分区内部也逻辑划分为多个 tier, 解决了 同一 cache分区内部由于快慢盘导致的页面资源抢占 问题。

本领域普通技术人员可以理解: 实现上述方法实施例的全部或部分 步骤可以通过程序指令相关的硬件来完成, 前述的程序可以存储于一计 算机可读取存储介质中, 该程序在执行时, 执行包括上述方法实施例的 步骤; 而前述的存储介质包括: ROM、 RAM, 磁碟或者光盘等各种可以 存储程序代码的介质。

图 8为本发明存储系统服务质量控制系统实施例 的结构示意图, 如图 8所示, 本实施例提供了一种存储系统服务质量控制系 统, 可以具 体执行上述方法实施例一中的各个步骤, 此处不再赘述。 本实施例提供 的存储系统服务质量控制系统可以具体包括第 一统计模块 801、 第一划 分模块 802和写盘模块 803。 其中, 第一统计模块 801用于统计存储系 统中硬盘的处理能力信息,所述处理能力信息 至少包括所述硬盘的类型、 数量和性能的其中一个, 通过所述处理能力信息获得所述硬盘的处理能 力的大小。 第一划分模块 802用于根据硬盘的处理能力的大小将緩存划 分为多个层级, 各层级的緩存分别对应所述存储系统中的一个 或多个硬 盘, 所述各层级的緩存的页面配额分别根据所述各 层级的緩存对应的一 个或多个硬盘的处理能力信息预先分配获得。 写盘模块 803用于对于脏 数据达到预设比例的层级的緩存, 将所述层级的緩存的数据写入所述层 级的緩存对应的硬盘中。 图 9为本发明存储系统服务质量控制系统实施例 的结构示意图, 如图 9所示, 本实施例提供了一种存储系统服务质量控制系 统, 可以具 体执行上述方法实施例二或实施例三中的各个 步骤, 此处不再赘述。 本 实施例提供的存储系统服务质量控制系统在上 述图 8所示的基础之上, 还包括第二划分模块 901。 第二划分模块 901用于根据主机业务的业务 类型将緩存划分为多个緩存分区。 第一划分模块 802具体用于根据硬盘 的处理能力的大小将各所述緩存分区分别划分 为多个层级。

进一步地, 本实施例提供的存储系统服务质量控制系统还 可以包括 收集模块 902和页面配额调整模块 903。 其中, 收集模块 902用于定期 收集存储系统的性能统计信息和资源使用信息 , 所述性能统计信息包括 硬盘的平均利用率和主机业务的流量, 所述资源使用信息包括緩存中页 面资源的使用信息、 各层级的緩存的页面配额的使用信息和计算资 源的 使用信息。 页面配额调整模块 903用于根据所述性能统计信息和所述资 源使用信息对所述各层级的緩存的页面配额进 行定期调整。 其中, 调整 后的所述各层级的緩存的页面配额大于预设的 页面配额最小值。

进一步地, 本实施例提供的存储系统服务质量控制系统还 可以包括 第二统计模块 904、 决策模块 905和第三统计模块 906。 其中, 第二统计 模块 904用于统计所述各层级的緩存的使用信息, 所述各层级的緩存的 使用信息包括所述各层级的緩存的页面使用信 息、 所述各层级的緩存对 应的硬盘的平均利用率和所述各层级的緩存的 业务量。 决策模块 905用 于根据所述各层级的緩存的使用信息确定待执 行写盘操作的层级。 第三 统计模块 906用于统计所述层级的緩存对应的硬盘当前可 支持的业务并 发数。 写盘模块 803具体用于对于脏数据达到预设比例的层级的 緩存, 根据统计的所述业务并发数将所述待执行写盘 操作的层级的緩存中的数 据写入对应的硬盘中。

进一步地, 本实施例提供的存储系统服务质量控制系统还 可以包括计算 模块 907和请求控制模块 908。其中,计算模块 907用于当接收到业务对应的 业务资源请求时, 所述业务资源请求中携带层级信息, 若所述层级信息所代 表的层级的緩存的当前页面配额小于预设的配 额阔值, 则根据所述业务的业 务优先级和所述层级的緩存对应的权重值计算 所述业务资源请求的请求优先 级。 请求控制模块 908用于根据所述请求优先级对所述业务资源请 求进行排 队处理。

在实际应用中, 本实施例中的存储系统服务质量控制系统可以 由系统性能 数据监控模块、 cache页面划分及配额调整模块、 性能数据分析及决策模块和 算法及规则支撑模块四个模块构成, 上述各模块可以分别集成在这四个大模块 中。 系统性能数据监控模块主要负责收集整个存储 系统内部的性能信息数据, 包括但不限于: 主机业务流量、 硬盘平均利用率、 cache页面使用情况、 cache 页面 tier配额使用情况、 CPU等计算资源使用情况等。 算法及规则支撑模块主 要负责提供包括模糊控制算法在内的各种自适 应的人工智能算法以及静态规 则, 用于协助性能数据分析进行控制点和控制粒度 的决策。 性能数据分析及决 策模块主要负责在自适应算法和静态规则的支 撑下,对收集来的性能数据进行 分析, 从而生成 QoS控制的控制点和控制粒度。 cache页面划分及配额调整模 块主要负责对于 cache页面按照硬盘性能进行逻辑划分, 并根据性能分析的结 果来动态调整各个划分部分的页面配额。 其中, 第一统计模块 801、 收集模块 902、 第二统计模块 904和第三统计模块 906可以集成在系统性能数据监控模 块中, 第一划分模块 802、 第二划分模块 901、 页面配额调整模块 903可以集 成在 cache页面划分及配额调整模块中, 决策模块 905、 写盘模块 803和请求 控制模块 908可以集成在性能数据分析及决策模块中,计 算模块 907可以集成 在算法及规则支撑模块中。

本实施例提供了一种存储系统服务质量控制系 统, 通过统计存储系 统中硬盘的处理能力信息, 根据硬盘的处理能力大小将 cache划分为多 个层级, 当某个层级的 cache中的脏数据达到预设比例时, 将该层级的 cache中的数据写入该层级的緩存对应的硬盘中 在本发明实施例中, 由 于将 cache划分为多个层级, 每个层级对应的硬盘的处理能力不同, 处 理能力弱的硬盘不能抢占处理能力强的硬盘对 应的 cache内部页面资源, 因此处理能力强的硬盘对应的 cache空间能够提前释放出来, 在一定程 度上克服了现有技术中 cache内部页面资源抢占现象, 避免了慢速盘对 于高速盘性能的影响; 且各个 tier的緩存的页面配额根据当前存储系统 的性能统计信 ,包、和资源使用信息进行动态调整,保证了 源的合理利用; 本实施例以 tier为范围进行 destage ,避免了现有技术中釆用全局 destage 策略的滞后性所带来的 cache页面释放不及时的问题; 同时, 本实施例 结合 cache分区, 在一个 cache分区内部也逻辑划分为多个 tier, 解决了 同一 cache分区内部由于快慢盘导致的页面资源抢占 问题。

本实施例还提供了一种存储系统, 可以具体包括主机、 緩存和上述 图 8或图 9所示的存储系统服务质量控制系统。

最后应说明的是: 以上实施例仅用以说明本发明的技术方案, 而非 对其限制; 尽管参照前述实施例对本发明进行了详细的说 明, 本领域的 普通技术人员应当理解: 其依然可以对前述各实施例所记载的技术方案 进行修改, 或者对其中部分技术特征进行等同替换; 而这些修改或者替 换, 并不使相应技术方案的本质脱离本发明各实施 例技术方案的范围。