网络附加存储系统和用于其中的请求处理的对应方法.pdf

上传人:r7 文档编号:4042625 上传时间:2018-08-12 格式:PDF 页数:16 大小:985.10KB
返回 下载 相关 举报
摘要
申请专利号:

CN201410508519.0

申请日:

2014.09.28

公开号:

CN104516685A

公开日:

2015.04.15

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||实质审查的生效IPC(主分类):G06F 3/06申请日:20140928|||公开

IPC分类号:

G06F3/06; H04L29/06; H04L29/08

主分类号:

G06F3/06

申请人:

国际商业机器公司

发明人:

M·迪德里希; R·沃拉夫卡; I·门茨; H·齐斯根

地址:

美国纽约

优先权:

1317617.7 2013.10.04 GB

专利代理机构:

北京市中咨律师事务所11247

代理人:

于静; 张亚非

PDF下载: PDF下载
内容摘要

本发明涉及一种网络附加存储系统和用于其中的请求处理的对应方法。网络附加存储系统(1A)包括经由外部网络(190)连接到至少一个外部设备(180)的存储系统(100A),存储系统(100A)包括至少一个存储介质和至少一个控制器(110A),其向至少一个外部设备(180)提供存储系统(100A)的存储容量,至少一个外部设备(180)向存储系统(100A)发送请求(172),至少一个控制器(110A)接收和服务于请求(172),在服务于请求(172)之后向发出请求的外部设备(180)发送响应(174);至少一个控制器(110A)包括延迟功能(112A),其向请求(172)的执行过程引入可变长度延迟。

权利要求书

权利要求书
1.  一种网络附加存储系统,其包括经由外部网络(190)连接到至少 一个外部设备(180)的存储系统(100A),其中所述存储系统(100A) 包括至少一个存储介质(130)和至少一个控制器(110A),所述至少一 个控制器(110A)向所述至少一个外部设备(180)提供所述存储系统(100A) 的存储容量,其中所述至少一个外部设备(180)向所述存储系统(100A) 发送请求(172),其中所述至少一个控制器(110A)接收和服务于所述 请求(172),并且在服务于所述请求(172)之后向发出请求的外部设备 (180)发送响应(174);其中所述至少一个控制器(110A)包括延迟功 能(112A),所述延迟功能(112A)基于所述存储系统(100A)的当前 输入/输出负载、最大允许请求响应时间(To)、请求完成时间(Tc)以 及测量的当前请求执行时间(Te),向所述请求(172)的执行过程引入 可变长度延迟。

2.  根据权利要求1的网络附加存储系统,其中当所述存储系统(100A) 的输入/输出负载低于特定负载阈值并且没有外部设备遇到其中所述请求 (172)的所述完成时间(Tc)超过所述最大允许请求响应时间值(To) 的超时条件时,所述至少一个控制器(110A)完全关闭所述延迟功能 (112A)。

3.  根据权利要求1或2的网络附加存储系统,其中所述至少一个控制 器(110A)的所述延迟功能(112A)在服务于所述请求(172)之后测量 所述当前请求执行时间(Te),并且基于所测量的请求执行时间(Te), 确定对应请求(172)的所述请求完成时间(Tc)。

4.  根据上述权利要求1至3之一的网络附加存储系统,其中当所述请 求完成时间(Tc)超过小于所述最大允许请求响应时间值(To)的特定阈 值(T1)时,所述延迟功能(112A)不向所述请求(172)的所述执行过 程添加延迟。

5.  根据上述权利要求1至4之一的网络附加存储系统,其中当所述请 求完成时间(Tc)低于特定阈值(T1)时,所述延迟功能(112A)向所述 请求(172)的所述执行过程添加单独延迟持续时间。

6.  根据权利要求5的网络附加存储系统,其中所述延迟功能(112A) 确定所述单独延迟持续时间,使得所测量的请求执行时间(Te)与所述单 独延迟持续时间的总和接近所述最大允许请求响应时间(To)。

7.  根据权利要求6的网络附加存储系统,其中所述延迟功能(112A) 通过计算所述请求(172)的所测量的当前执行时间(Te)或所确定的请 求完成时间(Tc)与所述请求(172)的所述最大允许请求响应时间(To) 之间的差,确定所述单独延迟持续时间。

8.  根据上述权利要求1至7之一的网络附加存储系统,其中所述延迟 功能(112A)确定每个外部设备(180)的单独最大允许请求响应时间(To)。

9.  一种用于网络附加存储系统中的请求处理的方法,所述网络附加存 储系统包括经由外部网络(190)连接到至少一个外部设备(180)的存储 系统(100A),其中所述存储系统(100A)包括至少一个存储介质(130) 和至少一个控制器(110A),所述至少一个控制器(110A)向所述至少一 个外部设备(180)提供所述存储系统(100A)的存储容量,所述方法包 括以下步骤:
所述至少一个外部设备(180)向所述存储系统(100A)发送请求(172),
所述存储系统(100A)的所述至少一个控制器(110A)接收和服务于 所述请求(172);
所述至少一个控制器(110A)的延迟功能(112A)基于所述存储系统 (100A)的当前输入/输出负载、最大允许请求响应时间(To)、请求完 成时间(Tc)以及测量的执行时间(Te),向所述请求(170)的执行过 程引入可变长度延迟;
所述至少一个控制器(110A)向发出请求的外部设备(180)发送响 应(174);以及
所述至少一个外部设备(180)接收所述响应(174)。

10.  根据权利要求9的方法,其中当所述存储系统(100A)的输入/ 输出负载低于特定负载阈值并且没有外部设备遇到其中所述请求的所述完 成时间(Tc)超过所述最大允许请求响应时间值(To)的超时条件时,完 全关闭所述延迟功能(112A)。

11.  根据权利要求9或10的方法,其中在服务于所述请求(172)之 后测量所述当前请求执行时间(Te),并且基于所测量的请求执行时间 (Te),确定对应请求(172)的所述请求完成时间(Tc)。

12.  根据上述权利要求9至11之一的方法,其中当所述请求完成时间 (Tc)超过特定阈值(T1)时,不向所述请求(172)的所述执行过程添 加延迟;以及
其中当所述请求完成时间(Tc)低于特定阈值(T1)时,向所述请求 (172)的所述执行过程添加单独延迟持续时间。

13.  根据权利要求11或12的方法,其中以所述请求执行时间(Te) 与所述单独延迟持续时间的总和接近所述最大允许请求响应时间(To)的 方式确定所述单独延迟持续时间。

说明书

说明书网络附加存储系统和用于其中的请求处理的对应方法
技术领域
本发明一般地涉及存储系统管理领域,具体地说,涉及网络附加存储 系统和用于网络附加存储系统中的请求处理的对应方法。更具体地说,本 发明涉及用于网络附加存储系统中的请求处理的数据处理程序和计算机程 序产品。
背景技术
本发明的技术领域关于网络附加存储(NAS)客户机管理策略及其在 网络附加存储(NAS)系统,尤其是支持CIFS(通用因特网文件系统) 协议的存储系统中的应用;然而本发明并不仅限于该应用。
网络附加存储(NAS)系统经由网络,将其内部存储容量提供给网络 附加存储(NAS)客户机,例如服务器、个人计算机、移动设备等。任何 此类客户机可以在任何时间访问或不访问网络附加存储(NAS),因此不 能可靠预测网络附加存储(NAS)系统将遇到多少输入/输出(I/O)负载。 随着I/O负载增加,网络附加存储(NAS)系统可能无法及时服务于所有 客户机,从而导致未及时被服务的客户机断开连接(I/O请求超时)。从 客户机的角度来看,此类断开连接是破坏性的,因此在当今的网络附加存 储(NAS)环境中暴露出严重的问题。
图1示出根据现有技术的用于网络附加存储系统1中的请求处理的现 有技术方法;以及图2示出根据图1的用于现有技术网络附加存储系统1 中的请求处理的现有技术方法的固定负载的完成时间分布。
参考图1,网络附加存储系统1包括包含一个或多个控制器110的存 储系统100,控制器110经由外部网络190为一个或多个客户机180提供 存储系统100的存储容量。每个存储控制器110可以具有多个到外部网络 190的接入点。存储控制器110在内部存储介质上存储入站数据。
仍然参考图1,客户机180在步骤S300经由外部网络190向存储系统 100的控制器110发送请求172。控制器110在步骤S310接收请求172, 并且在步骤S320服务于请求172。然后控制器110在步骤S330经由外部 网络190向请求客户机180发送对应的响应174,请求客户机180在步骤 S340接收响应174。如果请求172的处理花费太长时间,则外部设备180 的输入/输出处理机向应用生成超时错误。应用可能没有针对这些错误做好 充分准备—因此这些错误可能导致应用终止,从而可能在存储系统100上 遗留不一致数据而导致数据损坏。
随着并发请求172的数量增加,请求172的处理时间增加。换言之, 如果越来越多的客户机180向存储子系统100发出请求172,则每个单独 客户机请求172的处理时间增加,从而逐渐接近超时阈值To。
给出以上所述,其只是以下问题:为存储系统100加载足够的I/O请 求172在连接的客户机180处导致超时。
观察对网络附加存储(NAS)系统1的存储系统100的普通访问表明, 客户机180或客户机180上的应用/进程向存储系统100发送存储、读取、 创建、删除之类的服务请求172,等待完成,然后发出下一个请求172。
仍然参考图2,所示序列(步骤S300到步骤S340)完成的越快,可 以在给定时间段内更多地执行这些序列。因此,该网络附加存储(NAS) 客户机180可以在网络附加存储(NAS)系统1上放置更多负载,即I/O 请求172。
如果完成时间Tc(定义为步骤S300“发送请求”和步骤S340“接收 响应”之间的持续时间)超过客户机超时阈值To,则当应用未准备好处理 这种情况时,将丢弃请求172并且可能丢失数据。
主要由步骤S320“服务于请求”确定完成时间Tc。多个客户机180 接收的请求172越多,平均服务时间增加的越多,并且单独请求172花费 的时间可能长于超时阈值To的概率越高。
值得注意的是,对于企业存储系统100,通常许多客户机180同时发 出I/O请求172(数千个)。一个示例性实例是大学,其中数千个学生通 过网络附加存储(NAS)协议访问存储在单个共享存储子系统100上的数 据。
参考图3,增加负载将按照图中指示向上和向右推动分布,随着负载 的增加呈指数推动。因此,被移动图的尾部将快速覆盖其中完成时间Tc 超过客户机超时阈值To的范围,从而导致客户机断开连接,并且即使在 高负载下,也会远在达到超时阈值To之前服务于相当大的一部分请求 172。
发明内容
本发明涉及的技术问题是提供一种网络附加存储系统和一种用于网络 附加存储系统中的请求处理的对应方法,它们能够维持客户机连接,防止 网络附加存储中的超时,并且解决网络附加存储系统中的现有技术请求处 理的上述缺点和痛点。
根据本发明,通过提供以下各项解决该问题:一种具有权利要求1的 特征的网络附加存储系统、一种具有权利要求9的特征的用于网络附加存 储系统中的请求处理的方法、一种具有权利要求14的特征的用于网络附加 存储系统中的请求处理的数据处理程序,以及一种具有权利要求15的特征 的用于网络附加存储系统中的请求处理的计算机程序产品。在从属权利要 求中提及本发明的有利实施例。
因此,在本发明的一个实施例中,一种网络附加存储系统包括经由外 部网络连接到至少一个外部设备的存储系统,其中所述存储系统包括至少 一个存储介质和至少一个控制器,所述控制器向所述至少一个外部设备提 供所述存储系统的存储容量。所述至少一个外部设备向所述存储系统发送 请求,其中所述至少一个控制器接收和服务于所述请求,并且在服务于所 述请求之后向发出请求的外部设备发送响应。此外,所述至少一个控制器 包括延迟功能,所述延迟功能基于所述存储系统的当前输入/输出负载、最 大允许请求响应时间、请求完成时间以及测量的当前请求执行时间,向所 述请求的执行过程引入可变长度延迟。
在本发明的进一步实施例中,当所述存储系统的输入/输出负载低于特 定负载阈值并且没有外部设备遇到其中所述请求的所述完成时间超过所述 最大允许请求响应时间值的超时条件时,所述至少一个控制器完全关闭所 述延迟功能。
在本发明的进一步实施例中,所述至少一个控制器的所述延迟功能在 服务于所述请求之后测量所述当前请求执行时间,并且基于所测量的请求 执行时间,确定对应请求的所述请求完成时间。
在本发明的进一步实施例中,当所述请求完成时间超过小于所述最大 允许请求响应时间值的特定阈值时,所述延迟功能不向所述请求的所述执 行过程添加延迟。
在本发明的进一步实施例中,当所述请求完成时间低于特定阈值时, 所述延迟功能向所述请求的所述执行过程添加单独延迟持续时间。
在本发明的进一步实施例中,所述延迟功能确定所述单独延迟持续时 间,使得所测量的请求执行时间与所述单独延迟持续时间的总和接近所述 最大允许请求响应时间。
根据本发明的进一步实施例,所述延迟功能通过计算所述请求的所测 量的当前执行时间或所确定的请求完成时间与所述请求的所述最大允许请 求响应时间之间的差,确定所述单独延迟持续时间。
在本发明的进一步实施例中,所述延迟功能确定每个外部设备的单独 最大允许请求响应时间。
在本发明的另一个实施例中,提供一种用于网络附加存储系统中的请 求处理的方法,所述网络附加存储系统包括经由外部网络连接到至少一个 外部设备的存储系统,其中所述存储系统包括至少一个存储介质和至少一 个控制器,所述控制器向所述至少一个外部设备提供所述存储系统的存储 容量,所述方法包括以下步骤:所述至少一个外部设备向所述存储系统发 送请求,所述存储系统的所述至少一个控制器接收和服务于所述请求;所 述至少一个控制器的延迟功能基于所述存储系统的当前输入/输出负载、最 大允许请求响应时间、请求完成时间以及测量的执行时间,向所述请求的 执行过程引入可变长度延迟;所述至少一个控制器向发出请求的外部设备 发送响应;以及所述至少一个外部设备接收所述响应。
在本发明的进一步实施例中,当所述存储系统的输入/输出负载低于特 定负载阈值并且没有外部设备遇到其中所述请求的所述完成时间超过所述 最大允许请求响应时间值的超时条件时,完全关闭所述延迟功能。
在本发明的进一步实施例中,在服务于所述请求之后测量所述当前请 求执行时间,并且基于所测量的请求执行时间,确定对应请求的所述请求 完成时间。
在本发明的进一步实施例中,当所述请求完成时间超过特定阈值时, 不向所述请求的所述执行过程添加延迟持续时间;以及其中当所述请求完 成时间低于特定阈值时,向所述请求的所述执行过程添加单独延迟持续时 间。
在本发明的进一步实施例中,以所述请求执行时间与所述单独延迟持 续时间的总和接近所述最大允许请求响应时间的方式确定所述单独延迟持 续时间。
在本发明的另一个实施例中,一种用于在数据处理系统中执行的数据 处理程序包括软件代码部分,所述软件代码部分用于在所述数据处理系统 上运行所述程序时,执行用于网络附加存储系统中的请求处理的方法。
在本发明的另一个实施例中,一种存储在计算机可用介质上的计算机 程序产品包括计算机可读程序装置,所述计算机可读程序装置用于在计算 机上运行所述程序时,导致所述计算机执行用于网络附加存储系统中的请 求处理的方法。
总而言之,本发明的各实施例引入一种智能延迟功能,所述延迟功能 引入可变长度的I/O请求延迟。如果系统具有低负载并且没有客户机遇到 超时,则可以完全关闭所述延迟功能。当开启时,所述延迟功能不会向花 费很长时间的I/O请求添加延迟时间,因此不会使情况变得更糟。此外, 当开启时,所述延迟功能针对远低于客户机的可接受超时阈值To的所有 I/O请求添加延迟。针对每个单独请求确定该延迟。调整该延迟以便完成 时间Tc接近但保持低于客户机超时阈值To。因为在服务于所述请求之后 确定该延迟,所以可以准确计算延迟持续时间,从而导致在非常类似的时 间内服务于所有请求。
因此,记住单独客户机的顺序性,在开启所述智能延迟功能的情况下, 快速响应请求的总数减少。起初这可能看似不利于生产,但在具有许多并 发连接的客户机的网络附加存储(NAS)系统的上下文中,这将增加显著 利益。以此方式,本发明的各实施例从系统移除某些负载,从而允许减少 平均服务时间,因此减少单独请求超过客户机的可接受超时阈值To的概 率。需要再次强调的是,I/O请求超时对客户机具有破坏性,但客户机完 全容许花费更长时间但没有超时的I/O请求。
总的来说,为了改善在背景技术部分中概述的现有技术解决方案的缺 点和问题,本发明的各实施例引入一种智能延迟功能,所述延迟功能可选 地针对每个服务请求添加具有可变延迟持续时间的延迟步骤。该延迟步骤 放置在服务于实际请求之后。
在以下详细书面描述中,本发明的上述以及其它目的、特性和优点将 变得显而易见。
附图说明
在附图中示出下面详细描述的本发明的优选实施例,这些附图是:
图1是用于网络附加存储系统中的请求处理的现有技术方法的示意流 程图;
图2是根据图1的用于网络附加存储系统中的请求处理的现有技术方 法的固定负载的完成时间分布的示意图;
图3是根据本发明的一个实施例的网络附加存储(NAS)系统的框图;
图4是根据本发明的一个实施例的用于网络附加存储系统中的请求处 理的方法的示意流程图;
图5是根据本发明的一个实施例的图4的用于网络附加存储系统中的 请求处理的方法的更详细的示意流程图;
图6是根据图4和5的用于网络附加存储系统中的请求处理的方法的 固定负载的完成时间分布的示意图。
具体实施方式
所属技术领域的技术人员知道,本发明的各个方面可以实现为系统、 方法或计算机程序产品。因此,本发明的各个方面可以具体实现为以下形 式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、驻留软 件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电 路”、“模块”或“系统”。此外,本发明的各个方面还可以实现为在一 个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介质 中包含计算机可读的程序代码。
可以采用一个或多个计算机可读介质的任意组合。计算机可读介质可 以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质 例如可以是—但不限于—电、磁、光、电磁、红外线、或半导体的系统、 装置或器件,或者上述的任意合适的组合。计算机可读存储介质的更具体 的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计 算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦 式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储 器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。 在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质, 该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括例如在基带中或者作为载波一部分传 播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号 可以采用多种形式,包括—但不限于—电磁信号、光信号或上述的任意合 适的组合。计算机可读的信号介质可以是计算机可读存储介质以外的任何 计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令 执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括 —但不限于—无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明的 各个方面的操作的计算机程序代码,所述程序设计语言包括面向对象的程 序设计语言—诸如Java、Smalltalk、C++等,还包括常规的过程式程序设 计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在 用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包 执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计 算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过 任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户 计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通 过因特网连接)。
下面将参照根据本发明实施例的方法、装置(系统)和计算机程序产 品的流程图和/或框图描述本发明的各个方面。应当理解,流程图和/或框 图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机程序 指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其 它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在 通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程 图和/或框图中的一个或多个方框中规定的功能/动作的装置。
也可以把这些计算机程序指令存储在计算机可读介质中,这些指令使 得计算机、其它可编程数据处理装置、或其它设备以特定方式工作,从而, 存储在计算机可读介质中的指令就产生出包括实现流程图和/或框图中的 一个或多个方框中规定的功能/动作的指令的制造品(article of  manufacture)。
也可以把计算机程序指令加载到计算机、其它可编程数据处理装置、 或其它设备上,使得在计算机、其它可编程装置或其它设备上执行一系列 操作步骤,以产生计算机实现的过程,从而使得在计算机或其它可编程装 置上执行的指令提供实现流程图和/或框图中的一个或多个方框中规定的 功能/动作的过程。
图3示出根据本发明的一个实施例的网络附加存储(NAS)系统;图 4和5各自示出根据本发明的一个实施例的用于网络附加存储系统中的请 求处理的方法;以及图6示出根据图4和5的用于网络附加存储系统中的 请求处理的方法的固定负载的完成时间分布。
参考图3和4,示出的本发明实施例采用一种包括存储系统100A的网 络附加存储系统1A。存储系统100A包括两个或更多控制器110A,控制 器110A经由外部网络190向一个或多个客户机180(例如服务器180a、 个人计算机180b、移动设备180c和智能设备180d)提供存储系统100A 的存储容量。每个存储控制器110A可以具有多个到外部网络190的接入 点120。存储控制器110A经由内部网络140(例如光纤通道、TCP/IP、以 太网和InfiniBand),在内部存储介质130(例如磁盘驱动器、磁带盒、 固态磁盘(SSD)、非易失性RAM)上存储入站数据。存储系统100A可 以包括多个内部存储介质130和多个内部网络140。具有多于两个控制器 110A的存储系统100A也称为集群存储系统。
使用从外部设备180经由网络190和接入点120到控制器110A的连 接170向存储系统100A读写数据。使用基于文件的数据协议(如NFS、 FTP和HTTP)处理外部设备180和存储系统100A之间的数据传输。至 少一个外部设备180向存储系统100A发送请求172,其中至少一个控制器 110A接收和服务于请求172,并且在服务于请求172之后向发出请求的外 部设备180发送响应174。至少一个控制器110A包括延迟功能112A,延 迟功能112A基于存储系统100A的当前输入/输出负载、最大允许请求响 应时间To、请求完成时间Tc以及测量的当前请求执行时间Te,向请求 172的执行过程引入可变长度延迟。
参考图4和5,示出的本发明实施例采用一种用于网络附加存储系统 1A中的请求处理的方法,所述方法包括以下步骤:在步骤S300,至少一 个外部设备180经由外部网络190向存储系统100A发送请求172。在步骤 S310,存储系统100A的至少一个控制器110A接收请求172,并且在步骤 S320,服务于请求172。在步骤S320和步骤S330之间,延迟功能112A 基于存储系统100A的当前输入/输出负载、最大允许请求响应时间To、请 求完成时间Tc以及测量的执行时间Te,向请求172的执行过程引入可变 长度延迟。在步骤S330,至少一个控制器110A经由外部网络190向发出 请求的外部设备180发送响应174。在步骤S340,至少一个外部设备180 接收响应174。
参考图5,为了向请求172的执行过程引入可变长度延迟,至少一个 控制器110A在步骤S321证明是否激活延迟功能112A。如果未激活延迟 功能112A,则所述过程继续步骤S330,并且经由外部网络190向发出请 求的客户机180发送对应的响应174。例如,当存储系统100A的输入/输 出负载低于特定负载阈值并且没有外部设备180遇到其中请求172的完成 时间Tc超过最大允许请求响应时间值To的超时条件时,完全关闭延迟功 能112A。如果激活延迟功能112A,则在步骤S322确定最大允许请求响应 时间值To,并且在步骤S323测量当前请求执行时间Te。在步骤S324, 基于步骤S324中的测量的请求执行时间Te,确定对应请求172的请求完 成时间Tc。在步骤S325,延迟功能112A将所确定的请求完成时间Tc与 小于最大允许请求响应时间值To的特定阈值T1相比较。如果请求完成时 间Tc低于特定阈值T1,则延迟功能112A在步骤S326确定单独延迟持续 时间,并且在步骤S327向请求172的执行过程添加所确定的延迟持续时 间。当请求完成时间Tc对应于或超过特定阈值T1,则在步骤S328,不向 请求172的执行过程添加延迟。
例如,I/O请求控制器110A的延迟功能112A通过请求172的所测量 的执行时间Te与整体建议的响应时间Tc的差,确定延迟持续时间。I/O 请求控制器110A基于整体系统负载确定目标响应时间。如果它检测到系 统过载,则将选择基于协议的最大可接受响应时间。
参考图6,本发明的各实施例引入延迟功能112A,延迟功能112A向 请求172的执行过程添加可变长度延迟。如果系统1A具有低负载并且没 有客户机180遇到超时,则可以完全关闭延迟功能112A。当开启时,延迟 功能112A不向花费很长时间的I/O请求添加延迟时间,但延迟功能112A 针对远低于客户机180的可接受超时阈值To的所有I/O请求添加延迟。 针对每个单独请求172确定该延迟。调整该延迟以便完成时间Tc接近但 保持低于客户机超时阈值To。例如,采用以下方式确定单独延迟持续时间: 测量的请求执行时间Te与单独延迟持续时间的总和接近最大允许请求响 应时间To。因为在服务于请求172之后确定该延迟,所以可以准确计算延 迟持续时间,从而导致所有请求172在非常类似的时间内被服务,如图6 中所示。因此,本发明的各实施例从系统1A移除某些负载,从而允许系 统1A减少平均服务时间,因此减少单独请求172超过客户机180的可接 受超时阈值To的概率。
因此,如果系统负载增加(由长的平均响应时间指示),则延迟功能 112A仅向在平均增加响应时间时仍然远离超时阈值To的单独快速请求 172添加延迟持续时间。
在示出的实施例中,延迟功能112A通过单独连接确定最大允许响应 时间To,以便每个客户机180可以具有基于客户机实现版本的不同超时阈 值To,并且单独请求将具有保持低于单独连接的客户机超时阈值限制To 的延迟持续时间。
在一个备选实施例中,可变延迟“响应时间目标”允许基于所检测的 负载和/或平均响应时间,在从“无额外延迟”到“最大额外延迟”的范围 内平稳变化。
此外,本发明的实施例允许以高于现有技术中可能实现的粒度处理客 户机I/O请求。在另一个实施例中,I/O请求控制器110A与智能延迟功能 112A一起可以以优选方式处理特定客户机180或客户机池。与给出更高响 应时间增加的其它连接的客户机相比,可能为例如与特定IP地址连接的特 定客户机提供更高的优先级和/或更小和/或无I/O响应时间增加。
附图中的流程图和框图显示了根据本发明的不同实施例的系统、方法 和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程 图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述 模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的 可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功 能可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上 可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的 功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/ 或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬 件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
出于示例目的给出了对本发明的不同实施例的描述,但所述描述并非 旨在是穷举的或是限于所公开的实施例。在不偏离所述实施例的范围和精 神的情况下,对于所属技术领域的普通技术人员来说许多修改和变化都将 是显而易见的。在此使用的术语的选择,旨在最好地解释实施例的原理、 实际应用或对市场中的技术的技术改进,或者使所属技术领域的其它普通 技术人员能理解在此所公开的实施例。

网络附加存储系统和用于其中的请求处理的对应方法.pdf_第1页
第1页 / 共16页
网络附加存储系统和用于其中的请求处理的对应方法.pdf_第2页
第2页 / 共16页
网络附加存储系统和用于其中的请求处理的对应方法.pdf_第3页
第3页 / 共16页
点击查看更多>>
资源描述

《网络附加存储系统和用于其中的请求处理的对应方法.pdf》由会员分享,可在线阅读,更多相关《网络附加存储系统和用于其中的请求处理的对应方法.pdf(16页珍藏版)》请在专利查询网上搜索。

本发明涉及一种网络附加存储系统和用于其中的请求处理的对应方法。网络附加存储系统(1A)包括经由外部网络(190)连接到至少一个外部设备(180)的存储系统(100A),存储系统(100A)包括至少一个存储介质和至少一个控制器(110A),其向至少一个外部设备(180)提供存储系统(100A)的存储容量,至少一个外部设备(180)向存储系统(100A)发送请求(172),至少一个控制器(110A)接。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1