一种保障网络存储服务质量的方法和系统的制作方法

文档序号:7698594阅读:182来源:国知局
专利名称:一种保障网络存储服务质量的方法和系统的制作方法
技术领域
本发明涉及网络存储技术,特别是涉及为网络存储提供服务质量
(Quality of Service, QoS ) 4呆障的系统和方法。
背景技术
QoS技术一直是计算机网络中一个流行的研究领域,因特网工程任务组 (IETF)分别提出了综合服务(IntServ)、区分服务(DiffServ)、基于区 分服务的综合服务(IntServ over DiffServ )、基于多协议标记交换的区分服 务(DiffServ over MPLS )等保证QoS的模型和技术。
IntServ模型是面向连接的、基于流的、状态相关的体系结构,能够提 供具有很高灵活性的服务和良好的服务级别保证。它使用资源预留协议 (ReSerVation Protocol , RSVP )、接纳控制、传输控制等实施单个流的预 留、控制、管理和调度,可实现端到端QoS保证。IntServ需要所有路由器 在控制路径上处理每个流的信令消息,维护每个流的路径状态和预留状态, 在数据路径上执行基于流的分类、调度和緩冲区管理。
DiffServ采用了聚合流的传输控制,实现"边缘分类、内部转发",将 状态相关的控制转移到网络边界节点,保持网络内部的简单。在网络边界节 点实施流状态信息的保存与监控机制,进行流的分类、整形、聚集等,并为 流賦以区分服务代码点(DiffServ Code Point, DSCP )。在内部节点分组被 施以不同的每跳行为(Per H叩Behavior, PHB),进行简单的调度转发,从 而简化网络内部节点的服务机制,减轻其负担。DiffServ具有良好的可扩展 性、层次化的结构,但其服务灵活性与公平性差,没有更好的服务级别保证。 DiffServ采用了逐跳路由的分组转发方式,对端到端QoS的支持显得不足。为保证网络存储的QoS, IBM公司提出了 一项专利《iSCSI的服务质量》。 该专利提出了一种基于DiffServ为iSCSI环境提供QoS保障的系统。但是, 由于如前所述DiffServ是蓦于数据流的分类为数据流提供服务,也就是说 DiffServ对同一类数据流提供相同级别的服务保障,这样,对于单个数据流 DiffServ提供只能提供概率型(统计型)的质量保障,而对于实际的网络存 储应用,尤其是关键性应用,则需要确定性质量保证。因此,上述技术方案, 不能满足实际存储应用的需要。目前,适用于存储系统的服务保障系统和方 法尚未提出。

发明内容
有鉴于此,本发明的主要目的在于提供一种保障网络存储服务质量的系 统和方法,能为网络存储系统的关键性应用提供QoS保障,适用于网络存 储系统。
为了达到上述目的,本发明提出的技术方案为 一种保障网络存储服务质量的方法,该方法包括
在主机中注册关键性应用程序,当主机、存储设备和网络的可用资源均能 满足所述关键性应用程序或所述关键性应用程序所属的关键性应用程序类的服 务质量要求时,按照预设的服务策略,为所述关键性应用程序或所述关键性应 用程序类在所述主机、存储设备和网络上预留资源,确立一条资源预留路径;
利用所述资源预留路径在主机上对应的预留资源,对所述关键性应用程序 进行处理,并将需要传输给存储设备的数据通过所述资源预留路径进行传输;
存储设备判断出接收到的所述数据是通过资源预留路径传输时,利用所述 资源预留路径在存储设备上对应的预留资源对所述数据进行处理,并将需要传 输给主机的新数据通过所述资源预留路径进行传输。
较佳地,所述在主机中注册关键性应用程序之前进一步包括
主机根据应用程序的属性信息和服务质量QoS参数,判断出所述应用程序 为关键性应用程序。较佳地,所述在主机中注册关键性应用程序为
在主机中记录关键性应用程序的属性和服务质量QoS参数,所述QoS参数 包括主机的存储输入/输出I/O带宽预留信息。
较佳地,所述在主机中注册关键性应用程序进一步包括
主机根据关键性应用程序的属性确定存储设备的存储I/O带宽预留信息以 及网络带宽预留信息,并作为所述关键性应用程序的QoS参数记录在主机中。
较佳地,所述服务策略为
以单个关键性应用程序为单位进行资源预留的服务策略,或者,以关键性 应用程序类为单位进行资源预留的服务策略。
较佳地,当所述服务策略为以单个关键性应用程序为单位进行资源预留的 服务策略时,所述当主机、存储设备和网络的可用资源均能满足所述关键性应 用程序的服务质量要求时,按照预设的服务策略,为所述关键性应用程序在所 述主机、存储设备和网络上预留资源,确立一条资源预留路径为
根据关键性应用程序的属性和QoS参数,按照预设的资源预留需求策略, 确定所述关^t性应用程序的资源预留需求;
根据主机的资源状态信息,判断能否满足所述资源预留需求,如果能满足, 则生成支持主机协议的预留请求消息,所述预留请求消息携带关键性应用程序 的属性和QoS参数,否则,退出为关键性应用程序确立资源预留路径的流程;
将所述预留请求消息转换为支持预留机制的网络层信令协议的预留请求消 息,通过支持预留机制的网络将所述网络层信令协议的预留请求消息传输给存 储设备;
存储设备将接收到的所述支持预留机制的网络层信令协议的预留请求消息 转换为支持存储设备协议的预留请求消息;
存储设备根据支持存储设备协议的预留请求消息所携带的关键性应用程序 的属性和QoS参数,按照预设的资源预留需求策略,确定所述关键性应用程序 的资源预留需求;
根据存储设备的资源状态信息,判断能否满足所述资源预留需求,如果能够满足,则根据所述资源预留需求在存储设备上预留相应资源并记录对应的资 源预留路径,生成支持网络层信令协议的预留响应消息,通过支持预留机制的 网络将所述预留响应消息传输给主机,所述网络根据所述预留响应消息预留相 应的网络资源;
主机根据接收到的所述预留响应消息和已确定的所述关键性应用程序的资 源预留需求,在主机上预留相应资源,确定一条资源预留路径。
较佳地,当所述服务策略为以关键性应用程序类为单位进行资源预留的服 务策略时,所述当主机、存储设备和网络的可用资源均能满足所述关键性应用 程序的服务质量要求时,按照预设的服务策略,为所述关键性应用程序所属的 关键性应用程序类在所述主机、存储设备和网络上预留资源,确立一条资源预
留路径为
xl 、判断是否已为所述关键性应用程序所属的关键性应用程序类进行资源 预留,如果是,则转入步骤x2,否则转入步骤x9;
x2、根据关键性应用程序的属性和QoS参数,按照预设的资源预留需求策 略,确定所述关键性应用程序的资源预留需求;
x3、根据主机的资源状态信息,判断所述关键性应用程序类在主机中的空 闲预留资源是否能满足所述关键性应用程序的资源预留需求,如果能满足,则 退出所述确立资源预留路径的流程;否则创建预留调整消息,所述预留调整消 息携带需要扩充预留的I/O带宽信息,所述需要扩充预留的I/O带宽信息包括 主机的存储I/O带宽信息或主机和存储设备的存储I/O带宽信息和对应的网络 带宽信息;
x4 、将所述预留调整消息转换为支持预留机制的网络层信令协议的预留调
整消息,通过支持预留机制的网络将所述支持预留机制的网络层信令协议的预 留调整消息传输给存储设备,所述网络根据所述预留调整消息,对已为所述关 键性应用程序类确立的资源预留路径进行扩充;
x5、存储设备将接收到的所述支持预留机制的网络层信令协议的预留调整 消息转换为支持存储设备协议的预留调整消息;
14X6 、存储设备根据支持存储设备协议的预留调整消息所携带的需要扩充预 留的存储I/0带宽信息,确定所述关键性应用程序类的资源预留扩充需求;
x7、根据存储设备的资源状态信息,判断能否满足所述资源预留扩充需求,
如果能够满足,则根据所述资源预留扩充需求在存储设备上为所述关键性应用 程序类进一 步预留相应的带宽资源,生成支持预留机制的网络层信令协议的预 留调整响应消息,通过支持预留机制的网络将所述网络层信令协议的预留调整
响应消息传输给主机;
x8、主机根据接收到的所述预留调整响应消息,在主机上为所述关键性应 用程序类进 一 步预留相应的带宽资源;退出所述确立资源预留路径的流程;
x9、根据关键性应用程序的属性和QoS参数,按照预设的资源需求策略, 确定所述关键性应用程序类的资源预留需求;根据主机的资源状态信息,判断 能否满足所述关键性应用程序类的资源预留需求,如果能够满足,则生成支持 主机协议的预留请求消息,所述预留请求消息携带关键性应用程序的属性和 QoS参数,否则,退出为关键性应用程序类确立资源预留路径的流程;
x10、将所述预留请求消息转换为支持预留机制的网络层信令协议的预留请 求消息,通过支持预留机制的网络将所述网络层信令协议的预留请求消息传输 给存储设备;
xl 1 、存储设备将接收到的所述支持预留机制的网络层信令协议的预留请求 消息转换为支持存储设备协议的预留请求消息;
x 12 、存储设备根据支持存储设备协议的预留请求消息所携带的关键性应用 程序的属性和QoS参数,按照预设的资源需求策略,确定所述关键性应用程序 类的资源预留需求;
x13、根据存储设备的资源状态信息,判断能否满足所述资源预留需求,如 果能够满足,则根据所述资源预留需求在存储设备上预留相应资源并记录对应 的资源预留路径,生成支持预留机制的网络层信令协议的预留响应消息,通过 支持预留机制的网络将所述预留响应消息传输给主机;
x14、主机根据接收到的所述预留响应消息和已确定的所述关键性应用程序类的资源预留需求,在主机上预留相应资源。
较佳地,所述利用所述资源预留路径在主机上对应的预留资源,对所述关 键性应用程序进行处理,并将需要传输给存储设备的数据通过所述资源预留路 径传输给存储设备为
主机判断出待处理应用程序为关键性应用程序后,确定是否已为所述关键 性应用程序或所述关键性应用程序所属的关键性应用程序类确立资源预留路 径,如果是,则利用已确立的所述资源预留路径在主机上对应的预留资源,对 所述关键性应用程序进行处理,将需要传输给存储设备的数据通过所述资源预 留路径发送给存储设备,否则,为所述应用程序在主机上申请资源,利用所述 资源对所述应用程序进行处理。
较佳地,所述存储设备判断出接收到的所述数据是通过资源预留路径传输 时,利用所述资源预留路径在存储设备上对应的预留资源对所述数据进行处理,
并将需要传输给主机的新数据利用所述资源预留路径发送给主机为
存储设备判断接收到的所述数据是否通过资源预留路径传输,如果是,则 利用所述资源预留路径在存储设备上对应的预留资源对所述数据进行处理,并 将需要传输给主机的新数据按照所述资源预留路径发送给主机,否则,为所述 数据在存储设备上申请资源,利用所述资源对所述数据进行处理。 较佳地,所述网络为互联网协议IP网络;
所述主机为互联网小型计算机系统接口 iSCSI存储系统的启动端,所述存 储设备为iSCSI存储系统的目标端;
所述利用所述资源预留路径在主机上对应的预留资源,对所述关鍵性应用 程序进行处理,并将需要传输给存储设备的数据通过所述资源预留路径传输给 存储设备为
主机通过系统的SCSI层事件发生器为所述关键性应用程序生成事件,利用 所述资源预留路径在主机上对应的预留资源所确定的存储资源存放所述事件, 并将所述事件封装成小型计算机系统接口控制数据块SCSI CDB;
根据所述预留资源获取内核进程调度,在iSCSI层将所述SCSI CDB封装成互联网小型计算机系统接口协议数据单元iSCSI PDU,并将其加入到所述预
留资源所确定的预留连接队列中;
根据所述预留资源所确定的预留带宽信息获取内核进程调度;将所述iSCSI PDU映射为支持预留机制的网络协议数据单元;利用所述内核进程调度,将所 述支持预留机制的网络协议数据单元通过所述资源预留路径传输给存储设备。
较佳地,所述利用所述资源预留路径在存储设备上对应的预留资源对所述 数据进行处理,并将需要传输给主机的新数据利用所述资源预留路径传输给主 机为
存储设备将接收到的所述支持预留机制的网络协议数据单元解封装为 iSCSI PDU;
将所述iSCSI PDU加入到所述预留资源所确定的连接资源中;
将所述iSCSI PDU解封为SCSI CDB,并将所述SCSI CDB加入到所述预 留资源所确定的系统资源中;
利用所述内核进程调度对所述SCSI CDB进行处理,生成新的SCSICDB, 将所述新的SCSICDB添加到所述预留资源所确定的系统资源中;
将所述新的SCSI CDB封装成新的iSCSIPDU,并加入到所述预留资源所 确定的连接资源中;
根据所述预留资源获取内核进程调度,并根据所述预留资源所确定的预留 带宽资源确定调度时间;
将所述新的iSCSI PUD转换成新的支持预留机制的网络协议数据单元,利 用所述内核进程调度将所述新的支持预留机制的网络协议数据单元按照所述资 源预留路径发送给主机。
一种保障网络存储服务质量的系统,该系统包括主机、存储设备和支持 预留机制的网络,其中,
所述主机,用于对关键性应用程序进行注册,当能够满足所述关键性应用 程序的服务质量要求时,按照预设的服务策略,触发网络和存储设备为所述关 键性应用程序或所述关键性应用程序所属的关键性应用程序类分别预留相应的资源,以及在主机上预留相应的资源,确立一条资源预留路径;利用所述资源 预留路径在主机上对应的预留资源,对所述关键性应用程序进行处理,利用所
述资源预留路径与存储设备进行数据交互;
所述存储设备,用于按照预设的服务策略,为所述关键性应用程序或所述 关键性应用程序所属的关键性应用程序类预留资源;在判断出接收到的数据是 通过资源预留路径传输时,利用所述资源预留路径在存储设备上对应的预留资 源对所述数据进行处理;利用所述资源预留路径与主机进行数据交互;
所述网络,用于为所述关键性应用程序确立主机和存储设备之间的资源预 留路径,实现主机和存储设备之间的数据传输。
较佳地,所述主机包括关键性应用程序处理模块、应用程序接口模块和QoS 管理模块,其中,
所述应用程序接口模块,用于从应用程序中识别出关键性应用程序,并在 QoS管理模块中注册所述关键性应用程序;根据QoS管理模块中关键性应用程 序的资源预留路径信息,判断是否已为所述关键性应用程序或与所述关键性应 用程序所属的关键性应用程序类确立资源预留路径,如果是,则触发关键性应 用程序处理模块利用所述资源预留路径在主机上对应的预留资源处理所述应用 程序;
所述QoS管理模块,包括分类器、调度器和控制器,其中 所述分类器,用于记录所述关键性应用程序的属性、QoS参数和资源预留 路径信息,触发调度器中的预留管理器创建支持主机协议的预留请求消息; 所述调度器,包括预留管理器和资源管理器,其中,
所述预留管理器,用于根据关键性应用程序的属性和QoS参数,按照预设 的资源预留需求策略,确定所述关键性应用程序或所述关键性应用程序所属的 关键性应用程序类的资源预留需求;用于根据资源管理器中的资源状态信息, 判断能否满足所述关键性应用程序或所述关键性应用程序所属的关键性应用程 序类的资源预留需求,如果能满足,则生成支持主机协议的预留请求消息并发 送至控制器,所述预留请求消息携带关键性应用程序的属性和QoS参数,其中所述QoS参数中包含主机的存储I/O带宽预留信息或主机和存储设备的存储I/O 带宽预留信息和网络带宽预留信息;根据控制器发送的预留响应消息,指示资 源管理器按照所述关键性应用程序或所述关键性应用程序所属的关键性应用程 序类的资源预留需求预留资源,并指示分类器记录相应的资源预留路径;用于 根据资源管理器中的资源状态信息,判断所述关键性应用程序所属的关键性应 用程序类在主机中的空闲预留资源能否满足所述关键性应用程序的资源预留需 求,如果不能满足,则根据所述关键性应用程序的资源预留需求,确定所述关 键性应用程序类需要扩充预留的带宽信息,所述需要扩充预留的带宽信息包括 主机的存储I/O带宽信息或主机和存储设备的存储I/O带宽信息和对应的网络 带宽信息;创建携带所述带宽信息的预留调整消息;根据控制器发送的预留调 整响应消息,指示资源管理器按照所述关键性应用程序类的资源预留扩充需求 进行资源预留;根据预设的维护周期,通过周期性地将所述支持主机协议的预 留请求消息发送给控制器,维护分类器中已成功确立的资源预留路径;
所述资源管理器,用于保存主机中的预留资源信息,对主机的资源进行管 理,向预留管理器发送资源状态信息;根据预留管理器的指示进行资源预留;
控制器,用于将预留管理器发送的预留请求消息转换为支持预留机制的网 络层信令协议的预留请求消息,通过支持预留机制的网络将支持网络层协议的 预留请求消息传输给存储设备;将预留管理器发送的预留调整消息转换为支持 网络层信令协议的预留调整消息,将支持网络协议的预留响应消息或预留调整 响应消息转换成支持主机协议的预留响应消息或预留调整响应消息,并发送至 调度器中的预留管理器;将关键性应用程序处理模块生成的iSCSIPDU转化成 支持预留机制的网络协议数据单元,并发送给关键性应用程序处理模块;
关键性应用程序处理模块,用于利用关键性应用程序在主机上的预留资源, 对所述关键性应用程序或与所述关键性应用程序同类的关键性应用程序进行处 理,并将需要传输给存储设备的数据通过关键性应用程序的资源预留路径发送 给存储设备;利用QoS管理模块中的控制器将生成的iSCSIPDU转化为支持预 留机制的网络协议数据单元,并利用支持预留机制的网络发送给存储设备;
19所述网络,用于根据预留请求消息确立或维护资源预留路径;用于根据预
留调整消息对已确立的资源预留路径进行扩充。'
较佳地,所述存储设备包括QoS管理模块和关键性应用程序处理模块, 其中
QoS管理模块,包括控制器和调度器,其中,
控制器,用于将接收到的所述支持网络层协议的预留请求消息或预留调整 消息转换为支持存储设备协议的预留请求消息,并发送给调度器的预留管理器, 将预留管理器发送的预留响应消息或预留调整响应消息转化为支持网络层协议 的预留响应消息或预留调整响应消息,并通过支持预留机制的网络发送给主机; 用于从接收到的数据中识别出由预留路径传输的数据,对由预留路径传输的数 据进行解封装操作,并发送给关键性应用程序处理模块;
调度器,包括预留管理器和资源管理器,其中,
预留管理器,用于根据从控制器中接收到的预留请求消息所携带的关键性 应用程序的属性和QoS参数,按照预设的资源预留需求策略,确定关键性应用 程序的资源预留需求;根据资源管理器中的资源状态信息,判断存储设备能否 满足所述资源预留需求,如果能满足,则指示资源管理器按照所述资源预留需 求预留资源,并记录所述预留资源以及对应的资源预留路径,生成支持存储设 备协议的预留响应消息发送给控制器;根据从控制器中接收到预留调整消息所 携带的存储I/O带宽信息,判断能否按照所述存储I/O带宽信息进行资源预留, 如果能,则指示资源管理器按照所述存储I/O带宽信息为所述关键性应用程序 类进一步预留资源,生成支持存储设备协议的预留调整响应消息发送给控制器;
资源管理器,用于向预留管理器发送资源状态信息;根据预留管理器的指 示在存储设备上预留资源;
关键性应用程序处理模块,用于通过查询调度器的资源管理器,根据传 输数据的资源预留路径确定在存储设备上对应的预留资源;利用预留资源处 理控制器发送的数据,利用QoS管理模块的控制器将处理后得到的新的数 据转换成支持预留机制的网络协议数据单元,通过支持预留机制的网络将所述网络协议数据单元发送给主机。
综上所述,本发明提出的保障网络存储服务质量的系统和方法,基于预
留机制,实现了存储i/o带宽和网络传输带宽的联合预留,从而能够为关键
性网络存储应用提供端到端的确定性的服务质量保障。


图1为本发明保障网络存储服务质量的系统结构示意图2为本发明方法的示意性流程图3为本发明方法的实施例一的流程图4为图3中步骤301的具体流程图5为图3中步骤302的具体流程图。
具体实施例方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图及具体 实施例对本发明作进 一 步地详细描述。
本发明的基本思想是基于IntServ模型,利用预留机制来同时保证关 键性网络存储应用所需要的存储I/O带宽和网络传输带宽,从而为关键性网 络存储应用提供确定性服务质量保障。
图1为本发明保障网络存储服务质量的系统的结构示意图,如图1所示, 该系统包括主机l、存储设备2和支持预留机制的网络3,其中,
主机1,用于对关键性应用程序进行注册,当能满足所述关键性应用程序 的服务质量要求时,按照预设的服务策略,触发支持预留机制的网络3和存储 设备2分别为所述关键性应用程序或所述关键性应用程序所属的关键性应用程 序类预留相应的资源,以及在主机1上预留相应资源,确立一条资源预留路径; 利用所述资源预留路径在主机1上对应的预留资源,对所述关键性应用程序进 行处理,利用所述资源预留路径与存储设备进行数据交互;
存储设备2,用于按照预设的服务策略,为所述关键性应用程序或所述关键性应用程序所属的关键性应用程序类预留资源;在判断出接收到的数据是通
过资源预留路径传输时,利用所述资源预留路径在存储设备2上对应的预留资 源对所述数据进行处理;利用所述预留路径与主机1进行数据交互;
网络3,用于为所述关键性应用程序确立主机1和存储设备2之间的资源 预留路径,实现主机1和存储设备2之间的数据传输。
本发明适用于使用支持预留机制的网络互联的存储区域网络(SAN)存储 系统,下面以SAN存储系统中的iSCSI存储系统和支持预留机制的互联网协议 (IP)网络为例,对本发明的系统结构进行详细说明。需要说明的是,本发明 的主机为iSCSI存储系统的启动端,存储设备为iSCSI存储系统的目标端。
如图1所示,主机1主要包括应用程序接口模块11、 QoS管理模块12和 关键性应用程序处理模块13,其中,
所述应用程序接口模块11,用于从应用程序中识别出关键性应用程序,并 在QoS管理模块12中注册所述关键性应用程序;根据QoS管理模块12中关键 性应用程序的资源预留路径信息,判断是否已为所述关键性应用程序或与所述 关键性应用程序所属的关键性应用程序类确立资源预留路径,如果是,则触发 关键性应用程序处理模块13利用所述资源预留路径在主机11上对应的预留资 源处理所述应用程序;
所述QoS管理模块12,包括分类器121、调度器122和控制器123,
其中,
分类器121,用于记录所述关键应用程序的属性、QoS参数和资源预留路 径信息,触发调度器122中的预留管理器1221创建支持主机协议的预留请求消 自、-
调度器122,包括预留管理器1221和资源管理器1222,其中, 所述预留管理器1221,用于根据关键性应用程序的属性和QoS参数,按照 预设的资源预留需求策略,确定所述关键性应用程序或所述关键性应用程序所 属的关键性应用程序类的资源预留需求;用于根据资源管理器中的资源状态信 息,判断能否满足所述关键性应用程序或所述关键性应用程序所属的关键性应用程序类的资源预留需求,如果能满足,则生成支持主机协议的预留请求消息
并发送至控制器123,所述预留请求消息携带关键性应用程序的属性和QoS参 数,其中,所述QoS参数中包含主机的存储I/0带寬预留信息或主机和存储设 备的存储I/0带宽预留信息和网络带宽预留信息;根据控制器123发送的预留 响应消息,指示资源管理器1222按照所述关键性应用程序或所述关键性应用程 序所属的关键性应用程序类的资源预留需求预留资源,并指示分类器121记录 相应的资源预留路径;用于根据资源管理器1222中的资源状态信息,判断所述 关键性应用程序所属的关键性应用程序类在主机1中的空闲预留资源能否满足 所述关键性应用程序的资源预留需求,如果不能满足,则根据所述关键性应用 程序的资源预留需求,确定所述关键性应用程序类需要扩充预留的带宽信息, 所述需要扩充预留的带宽信息包括主机的存储I/O带宽信息或主机和存储设备 的存储I/O带宽信息和对应的网络带宽信息;创建携带所述带宽信息的预留调 整消息;根据控制器123发送的预留调整响应消息,指示资源管理器1222按照 所述关键性应用程序类的资源预留扩充需求进行资源预留;根据预设的维护周 期,通过周期性地将所述支持主机协议的预留请求消息发送给控制器123,维 护分类器121中已成功确立的资源预留路径;
所述资源管理器1222,用于保存主机1中的预留资源信息,对主机1的资 源进行管理,向预留管理器1221发送资源状态信息;根据预留管理器1221的 指示进行资源预留;
控制器123,用于将预留管理器1221发送的预留请求消息转换为支持预留 机制的网络层信令协议的预留请求消息,通过支持预留机制的网络将支持网络 层协议的预留请求消息传输给存储设备2;将预留管理器发送的预留调整消息 转换为支持网络层信令协议的预留调整消息,所述转换包括将所述预留调整消 息携带的存储I/O带宽信息映射成对应的网络带宽信息;将支持网络协议的预 留响应消息或预留调整响应消息转换成支持主机协议的预留响应消息或预留调 整响应消息,并发送至调度器122中的预留管理器1221;将关键性应用程序处 理模块生成的iSCSI PDU转化成支持预留机制的网络协议数据单元,并发送给关键性应用程序处理模块13;
关键性应用程序处理模块13,用于利用关键性应用程序在主机1上的预留 资源,对所述关键性应用程序或与所述关键性应用程序同类的关键性应用程序 进行处理,并将需要传输给存储设备2的数据通过关键性应用程序的资源预留 路径发送给存储设备2;利用QoS管理模块12中的控制器123将生成的iSCSI PDU转化为支持预留机制的网络协议数据单元,并利用支持预留机制的网络发 送给存储设备2。
存储设备2包括QoS管理模块21和关键性应用程序处理模块22,其中 QoS管理模块21,包括控制器211和调度器212,其中, 控制器211,用于将接收到的所述支持网络层协议的预留请求消息或预留 调整消息转换为支持存储设备协议的预留请求消息,并发送给调度器202的预 留管理器2121;将预留管理器2121发送的预留响应消息或预留调整响应消息 转化为支持网络层协议的预留响应消息或预留调整响应消息,并通过支持预留 机制的网络3发送给主机1;用于从接收到的数据中识别出由预留路径传输的 数据,对由预留路径传输的数据进行解封装搡作,并发送给关键性应用程序处 理模块;
调度器212,包括预留管理器2121和资源管理器2122,其中, 预留管理器2121,用于根据从控制器211中接收到预留请求消息所携带的 关键性应用程序的属性和QoS参数,按照预设的资源预留需求策略,确定关键 性应用程序的资源预留需求;根据资源管理器2122中的资源状态信息,判断存 储设备2能否满足所述资源预留需求,如果能满足,则指示资源管理器2122 按照所述资源预留需求预留资源,并记录所述预留资源以及对应的资源预留路 径,生成支持存储设备协议的预留响应消息发送给控制器211;根据从控制器 211中接收到预留调整消息所携带的存储I/O带宽信息,判断能否按照所述存储 170带宽信息进行资源预留,如果能,则指示资源管理器2122按照所述存储I/O 带宽信息为所述关键性应用程序类进一 步预留资源,生成支持存储设备协议的 预留调整响应消息发送给控制器;资源管理器2122,用于向预留管理器2121发送资源状态信息;根据预留 管理器2122的指示在存储设备2上预留资源;
关键性应用程序处理模块22,用于通过查询调度器212的资源管理器2122, 根据传输数据的资源预留路径确定在存储设备2上对应的预留资源;利用预留 资源对控制器发送的数据进行处理,利用QoS管理模块21的控制器211将处 理后得到的新的数据转换为支持预留机制的网络协议数据单元,通过支持预留 机制的网络将所述网络协议数据单元发送给主机1 。
所述网络3,用于根据预留请求消息确立或维护资源预留路径,用于根 据预留调整消息对已确立的资源预留路径进行扩充。
针对上述保障网络存储服务质量的系统,本发明还提出 一种保障网络存 储服务质量的方法。该方法如图2所示,主要包括
步骤201、在主机中注册关键性应用程序,当主机、存储设备和网络的可 用资源均能满足所述关键性应用程序的服务质量要求时,按照预设的服务策略, 为所述关键性应用程序或所述关键性应用程序所属的关键性应用程序类在所述 主机、存储设备和网络上预留资源,确立主机和存储设备之间的资源预留路径。
在实际应用中,在主机中注册关键性应用程序之前,主机需要按照预设的 关键性应用程序划分规则,根据应用程序的属性信息和QoS参数,判断应用程 序是否为关键性应用程序,以便在后续步骤中针对关键性应用程序进行资源的 预留,以保障关键性应用程序的服务质量。
所述在主机中注册关键性应用程序即为在主机中记录关键性应用程序的属 性和QoS参数。所述QoS参数至少包括主机的存储I/O带宽预留信息,这样, 可以在后续步骤中根据该存储I/O带宽预留信息确定出相应的存储设备的存储 I/O带宽预留信息和网络带宽预留信息,以实现在网络和存储设备上的资源预 留。
在实际应用中,还可以在该注册过程中确定出相应的存储设备的存储I/O 带宽预留信息和网络带宽预留信息,并将其作为QoS参数保存在主机中,相应 的,所述在主机中注册关键性应用程序进一步包括主机根据关键性应用程序的属性确定存储设备的存储I/O带宽预留信息以 及网络带宽预留信息,并作为所述关键性应用程序的QoS参数记录在主机中, 这样,在后续的步骤中直接将这些QoS参数携带在用于建立预留路径的消
息中,即可将存储设备的存储I/O带宽预留信息以及网络带宽预留信息通知给
存储设备和网络,以便实现在网络和存储设备上的资源预留。
在实际应用中,预设的服务策略可以有两种
一种是以单个关键性应用程序为单位进行资源预留的服务策略,基于该服 务策略进行预留的资源能满足单个关键性应用程序的资源预留需要即可,具体 的资源预留数量,由预设的资源预留需求策略决定;
另 一种是以关键性应用程序类为单位进行资源预留的服务策略,基于该服 务策略进行预留的资源能满足一个关键性应用程序类中的多个关键性应用程序 的需要,具体的资源预留数量,由预设的资源预留需求策略决定。该策略可以 允许多个具有某种共同特性的关键性应用程序,即属于同 一关键性应用程序类 的多个关键性应用程序,能够共享已成功确立的资源预留路径以及主机和存储 设备上的预留资源。
需要说明的是,上述预设的服务策略和资源预留需求策略均为主机和存储 设备所已知。
当服务策略是以单个关键性应用程序为单位进行资源预留时,本步骤具体 实现方法可以为
在主机中记录关键性应用程序的属性和QoS参数,其中所述QoS参数中包 含主机的存储I/O带宽预留信息或主机和存储设备的存储I/O带宽预留信息和 对应的网络带宽预留信息;
根据关键性应用程序的属性和QoS参数,按照预设的资源预留需求策略, 确定所述关键性应用程序的资源预留需求;
根据主机的资源状态信息,判断能否满足所述资源预留需求,如果能满足, 则生成支持主机协议的预留请求消息,所述预留请求消息携带关键性应用程序 的属性和QoS参数,否则,退出为关键性应用程序确立资源预留路径的流程;将所述预留请求消息转换为支持预留机制的网络层信令协议的预留请求消 息,通过支持预留机制的网络将所述支持网络层信令协议的预留请求消息传输
给存储设备;
这里,经过所述转换,所述支持网络层信令协议的预留请求消息不仅携带 关键性应用程序的属性和QoS参数,还将携带对应的网络带宽预留信息。
需要说明的是,如果在前述注册关键性应用程序的过程中已确定出对应的 网络带宽预留信息,即所述QoS参数中携带有该网络带宽预留信息,则在上述 转换过程中,需要将该网络带宽预留信息从所述QoS参数中提取出来,单独放 入所述支持网络层信令协议的预留请求消息中,以便后续步骤中网络直接根据 该预留请求消息中的网络带宽预留信息预留相应的网络带宽;如果在前述注册 关键性应用程序的过程中没有确定出对应的网络带宽预留信息,即所述QoS参 数中没有携带该网络带宽预留信息,则在所述转换过程中,需要将所述预留请 求消息携带的QoS参数中的主机的存储I/O带宽预留信息映射成对应的网络带 宽预留信息。
这里,可以根据公式7 = 1*7 *8,实现存储I/0带宽与对应的网络带宽之间 的映射。其中,义为存储带宽,单位为MB/s; r为网络带宽,单位为Mb/s; 为比例系数,由系统根据网络流量设定;Z与y成正比。后文中涉及的存储1/0 带宽与对应的网络带宽之间的转化,均可根据上述方法实现,不再赘述。
存储设备将接收到的所述支持网络层信令协议的预留请求消息转换为支持 存储设备协议的预留请求消息;
这里,需要说明的是,如果所述支持网络层信令协议的预留请求消息携带 的所述QoS参数中包含存储设备的存储I/O带宽预留信息,则在上述转换过程 中,需要将该存储设备的存储I/O带宽预留信息从所述QoS参数中提取出来, 单独放入所述支持存储设备协议的预留请求消息中;如果所述QoS参数中没有 携带存储设备的存储I/O带宽预留信息,则在所述转换过程中,需要将所述支 持网络层信令协议的预留请求消息携带的网络带宽预留信息映射成对应的存储 设备的存储I/O带宽预留信息。存储设备根据支持存储设备协议的预留请求消息所携带的关键性应用程序 的属性和QoS参数,按照预设的资源预留需求策略,确定所述关键性应用程序
的资源预留需求;
根据存储设备的资源状态信息,判断能否满足所述资源预留需求,如果能 够满足,则根据所述资源预留需求在存储设备上预留相应资源并记录对应的资 源预留路径,生成支持网络协议的预留响应消息,通过支持预留机制的网络将 所述预留响应消息传输给主机;
主机根据接收到的所述预留响应消息和已确定的所述关键性应用程序的资 源预留需求,在主机上预留相应资源,并记录所述关键性应用程序的资源预留 路径信息。
当服务策略为以关键性应用程序类为单位进行资源预留的服务策略时,本 步骤具体实现方法可以为
步骤x 1 、判断是否已为所述关键性应用程序所属的关键性应用程序类进行 资源预留,如果是,则转入步骤x2,否则转入步骤x9;
步骤x2、根据关键性应用程序的属性和QoS参数,按照预设的资源预留需 求策略,确定所述关键性应用程序的资源预留需求;
步骤x3、根据主机的资源状态信息,判断所述关键性应用程序类在主机中 的空闲预留资源是否能满足所述关键性应用程序的资源预留需求,如果能满足, 则退出所述确立资源预留路径的流程;否则创建预留调整消息;
在实际应用中,由于多个同类的关键性应用程序对预留资源的共享,可能 会存在所述关键性应用程序类在主机中的空闲预留资源已无法满足所述关键性 应用程序的资源预留需求的情况,此时,需要对所述预留资源进行扩充,以满 足所述关键性应用程序的需要。在实际应用中,主要是对存储I/O带宽资源的 扩充,具体所需扩充的预留资源数量,可以由系统根据实际需要确定,只要使 扩充后的所述关键性应用程序类的预留资源能满足所述关键性应用程序的需要 即可。本步骤中,通过创建预留调整消息,发起为所述关键性应用程序类进行 扩充预留资源的过程,使所述关键性应用程序类获得更多的预留资源,从而确
28保其关键性应用程序的需要。
另外,在实际应用中,也可以通过主机对预留资源的使用状态进行监控的 方式,避免已成功进行资源预留的关键性应用程序类的空闲预留资源不能满足
其关键性应用程序需要的情况,具体方法可以为当关键性应用程序类的预留
资源的使用比例超过预设的阈值时,通过创建预留调整消息,发起为所述关键 性应用程序类进行扩充预留资源的过程,从而将所述关键性应用程序类的预留 资源状态调整到能满足其关键性应用程序需要的状态。
这里,所述预留调整消息至少携带需要扩充预留的主机的存储I/O带宽信 息,在实际应用中还可以进一步携带对应的网络带宽信息和存储设备的存储10 带宽信息,以便在后续步骤中不需要再进行存储I/O带宽信息与对应的网络带 宽信息之间的映射。
步骤x4、将所述预留调整消息转换为支持网络层信令协议的预留调整消息, 通过支持预留机制的网络将所述支持网络层信令协议的预留调整消息传输给存 储设备,所述网络根据所述预留调整消息对已为所述关键性应用程序类确立的 资源预留路径进行扩充;
这里,当所述预留调整消息没有携带对应的网络带宽信息时,所述转换包 括将所述预留调整消息携带的存储I/O带宽信息映射成对应的网络带宽信息。
步骤x5、存储设备将接收到的所述支持网络层信令协议的预留调整消息转 换为支持存储设备协议的预留调整消息;
这里,当所述预留调整消息没有携带存储设备的存储I/O带宽信息时,所 述转换包括将所述支持网络层协议的预留调整消息携带的网络带宽信息映射为 存储I/0带宽信息;
步骤x6、存储设备根据支持存储设备协议的预留调整消息所携带的需要扩 充预留的存储I/0带宽信息,确定所述关键性应用程序类的资源预留扩充需求;
步骤x7、根据存储设备的资源状态信息,判断能否满足所述资源预留扩充 需求,如果能够满足,则根据所述资源预留扩充需求在存储设备上为所述关键 性应用程序类进一步预留相应的带宽资源,生成支持网络协议的预留调整响应消息,通过支持预留机制的网络将所述预留调整响应消息传输给主机;
步骤X8、主机根据接收到的所述预留调整响应消息,在主机上为所述关键
性应用程序类进一 步预留相应的带宽资源;退出所述确立资源预留路径的流程;
步骤x9、根据关键性应用程序的属性和QoS参数,按照预设的资源需求策 略,确定所述关键性应用程序类的资源预留需求;根据主机的资源状态信息, 判断能否满足所述关键性应用程序类的资源预留需求,如果能满足,则生成支 持主机协议的预留请求消息,所述预留请求消息携带关键性应用程序的属性和 QoS参数,否则,退出为关键性应用程序类确立资源预留路径的流程;
步骤x10、将所述预留请求消息转换为支持预留机制的网络层信令协议的 预留请求消息,通过支持预留机制的网络将所述网络层信令协议的预留请求消 息传输给存储设备;
这里,如果所述预留请求消息携带的QoS参数中包含有该网络带宽预留信 息,则在上述转换过程中,需要将该网络带宽预留信息从所述QoS参数中提取 出来,单独放入所述支持网络层信令协议的预留请求消息中,如果所述预留请 求消息携带的QoS参数不包含网络带宽预留信息,则在上述转换过程中,需要 将所述QoS参数中的主机的存储1/0带宽信息映射成对应的网络带宽信息。
步骤xll、存储设备将接收到的所述支持预留机制的网络层信令协议的预 留请求消息转换为支持存储设备协议的预留请求消息;
这里,如果所述支持预留机制的网络层信令协议的预留请求消息携带的 QoS参数中包含有存储设备的存储I/O带宽预留信息,则在上述转换过程中, 需要将该存储设备的存储I/O带宽预留信息从所述QoS参数中提取出来,单独 放入所述支持存储设备协议的预留请求消息中,如果QoS参数不包含存储设备 的存储I/O带宽预留信息,则在上述转换过程中,需要将所述支持预留机制的 网络层信令协议的预留请求消息携带的网络带宽预留信息映射成对应的存储设 备的存储I/0带宽预留信息;
步骤x12、存储设备根据支持存储设备协议的预留请求消息所携带的关键 性应用程序的属性和QoS参数,按照预设的资源需求策略,确定所述关键性应用程序类的资源预留需求;
步骤x13、根据存储设备的资源状态信息,判断能否满足所述资源预留需
求,如果能够满足,则根据所述资源预留需求在存储设备上预留相应资源并记 录对应的资源预留路径,生成支持预留机制的网络层信令协议的预留响应消息,
通过支持预留机制的网络将所述预留响应消息传输给主机;
步骤x14、主机根据接收到的所述预留响应消息和已确定的所述关键性应 用程序类的资源预留需求,在主机上预留相应资源,并记录所述关键性应用程 序类的资源预留路径信息。
通过上述方案,可以为关键性应用程序或关键性应用程序类确立资源预留 路径,在实际应用中,根据支持预留请求机制的网络需要,当所述资源预留路 径成功确立后,主机需要根据预设的维护周期周期性地生成预留请求消息,利 用所述预留请求消息通知所述网络对所述资源预留路径进行维护。
步骤202、利用所述资源预留路径在主机上对应的预留资源,对所述关键 性应用程序进行处理,并将需要传输给存储设备的数据通过所述资源预留路径 传输给存储设备。
在实际应用中,当主机需要对应用程序处理时,首先需要先判断待处理的 应用程序是否为关键性应用程序,如果是,则通过查询关键性应用程序的资源 预留路径信息,确定是否已为所述关键性应用程序或所述关键性应用程序所属 的所述关键性应用程序类确立资源预留路径,如果是,则利用已确立的所述资 源预留路径在主机上对应的预留资源,对所述关键性应用程序进行处理。这样, 如果待处理的应用程序为关键性应用程序,并且系统已成功为该关键性应用程 序或该关键性应用程序所属的所述关键性应用程序类确立资源预留路径,系统 则会利用该资源预留路径在主机或存储设备上对应的预留资源对所述关键性应 用程序进行处理。
在实际应用中,当判断出待处理的应用程序为非关键性应用程序,或者虽 然是关键性应用程序但是未能为其或与其所属的关键性应用程序类成功确立资 源预留路径时,系统可以采用通常的方式对这些应用程序进行处理,即需要先等待资源,获得相应资源后再利用所述资源对其处理。
在实际应用中,若所述主机和存储设备分别是iSCSI存储系统的启动端和
目标端,所述网络为支持预留机制的IP网络,本步骤的具体方法可以为
主机通过系统的SCSI层事件发生器为所述关键性应用程序生成事件,利用 所述资源预留路径在主机上对应的预留资源所确定的存储资源存放所述事件, 并将所述事件封装成小型计算机系统接口控制数据块SCSI CDB;
根据所述预留资源获取内核进程调度,在iSCSI层将所述SCSI CDB封装 成互联网小型计算机系统接口协议数据单元iSCSI PDU,并将其加入到所述预 留资源所确定的预留连接队列中;
根据所述预留资源所确定的预留带宽信息获取内核进程调度;将所述iSCSI PDU映射为支持预留机制的网络协议数据单元;利用所述内核进程调度,将所 述支持预留机制的网络协议数据单元通过所述资源预留路径传输给存储设备。
步骤203、存储设备判断出接收到的所述数据是通过资源预留路径传输时, 利用所述资源预留路径在存储设备上对应的预留资源对所述数据进行处理,并 将需要传输给主机的新数据利用所述资源预留路径传输给主机。
在实际应用中,存储设备收到数据后需要先判断该数据是否通过资源预留 路径传输,如果是,则利用所述资源预留路径在存储设备上对应的预留资源对 所述数据进行处理,并将需要传输给主机的新数据按照所述资源预留路径发送 给主机。
当判断出所接收的数据不是从资源预留路径传输的时候,则按照通常的 方式处理所述数据即可,也就是需要先申请资源,获得相应资源后再利用所 述资源对其处理。
在实际应用中,若所述主机和存储设备分别是iSCSI存储系统的启动端和 目标端,所述网络为支持预留机制的IP网络,则本步骤的具体方法为
存储设备将接收到的所述支持预留机制的网络协议数据单元解封装为 iSCSI PDU;
将所述iSCSI PDU加入到所述预留资源所确定的连接资源中;将所述iSCSI PDU解封为SCSI PDU,并将所述SCSI PDU加入到所述预留 资源所确定的系统资源中;
利用所述内核进程调度对所述SCSICDB进行处理,生成新的SCSICDB, 将所述新的SCSICDB添加到所述预留资源所确定的系统资源中;
将所述新的SCSI CDB封装成新的iSCSI PDU,并加入到所述预留资源所 确定的连接资源中;
根据所述预留资源获取内核进程调度,并根据所述预留资源所确定的预留 带宽资源确定调度时间;
将所述新的iSCSI PUD转换成新的支持预留机制的网络协议数据单元,利 用所述内核进程调度将所述新的支持预留机制的网络协议数据单元按照所述资 源预留路径发送给主机。
下面通过本发明方法的实施例一,详细说明基于本发明的保障网络存储 服务质量的系统保障网络存储服务质量的具体方法。实施例 一 中以互联网小 型计算机系统接口 iSCSI存储系统为例,主机与存储设备之间的网络为支持 预留机制的IP网络,iSCSI存储系统的启动端为本发明的主机,iSCSI存储 系统的目标端为本发明的存储设备,所采用的服务策略为以单个关键性应用 程序为单位进行资源预留的服务策略。如图3所示,实施例一主要包括
步骤301、主机发起为关键性应用程序进行资源预留的过程。
如图4所述,本步骤的具体方法为
步骤401 、主机的应用程序接口模块判断应用程序是否为关键性应用程 序,如果是,则执行步骤402,否则退出所述创建资源预留路径过程。
本步骤中,主机的应用程序接口模块按照事先设定的规则,根据应用程 序的属性信息和QoS参数来判断所述应用程序是否为关键性应用程序。
步骤402、主机的应用程序接口模块在主机的QoS管理模块中的分类器 中注册所迷关键性应用程序,并触发主机的调度器中的预留管理器创建支持 主机协议的预留请求消息。
本步骤中,所述在分类器中注册所述关键性应用程序为在分类器中记录所述关键性应用程序的属性和QoS参数,并将对应的资源预留路径信息 字段初始化为空。
步骤403 、主机的调度器中的预留管理器根据关键性应用程序的属性和 QoS参数,确定所述关键性应用程序的资源预留需求;
步骤404 、主机的调度器中的预留管理器根据资源管理器中的资源状态 信息,判断能否满足所述关键性应用程序的资源预留需求,如果能满足,则 执行步骤405,否则退出所述创建资源预留路径过程。
步骤405 、主机的调度器中的预留管理器生成支持主机协议的预留请求 消息并发送至主机的控制器,所述预留请求消息携带关键性应用程序的属性 和QoS参数,其中所述QoS参数中包含主机的存储输入/输出带宽预留信息。
步骤406、主机的控制器将所述预留请求消息转换为支持网络层信令协 议的预留请求消息,通过支持预留机制的网络将支持网络层协议的预留请求 消息传输给存储设备。
本步骤中,所述转换包括将所述预留请求消息携带的QoS参数中主机 的存储输入/输出1/0带宽信息映射成对应的网络带宽信息,以便网络根据该 消息进行网络资源的预留。
步骤407、存储设备的控制器将接收到的所述支持网络层协议的预留请 求消息转换为支持存储设备协议的预留请求消息,并发送给存储设备的调度 器的预留管理器。
本步骤中,所述转换包括将所述支持网络层协议的预留请求消息携带的 网络带宽信息映射为存储设备的存储输入/输出带宽信息,以便存储设备的 预留管理器在后续的步骤中确定资源预留需求并进行相应的资源预留。
步骤408、存储设备的预留管理器根据从存储设备的控制器中接收到预 留请求消息所携带的关键性应用程序的属性和QoS参数,确定关键性应用 程序的资源预留需求;
步骤409、存储设备的预留管理器根据资源管理器中的资源状态信息, 判断存储设备能否满足所述资源预留需求,如果能满足,则执行步骤409。在实际应用中,当存储设备判断出不能满足所述资源预留需求时,可以 通过向主机发送携带路径确立失败信息的预留响应消息,通知主机未能成功 为所述关键性应用程序进行资源的预留,也可以不向主机发送预留响应消 息,主机在预设的时间内未收到存储设备发送的预留响应消息后,即可知道 未能成功为所述关键性应用程序进行资源的预留。这里,当存储设备不能满 足所述资源预留需求时,将会退出所述创建资源预留路径过程。
步骤410 、存储设备的预留管理器指示存储设备的资源管理器按照所述
资源预留需求预留资源,并记录所述预留资源以及对应的资源预留路径,生
成支持存储设备协议的预留响应消息发送给存储设备的控制器。
在具体实施本步骤时,预留管理器将在其保存的预留资源和资源预留路
径关系表中,记录所述预留资源以及对应的资源预留路径。
步骤411 、存储设备的控制器将所述预留响应消息转化为支持网络层协 议的预留响应消息,并通过支持预留机制的网络发送给主机。
步骤412、主机的控制器将所述支持网络协议的预留响应消息转换成支 持主机协议的预留响应消息,并发送至主机的调度器中的预留管理器。
步骤413、主机的预留管理器根据控制器发送的预留响应消息,指示资 源管理器按照关键性应用程序的资源预留需求预留资源,并指示分类器记录 相应的资源预留路径信息。
步骤414、主机的资源管理器根据预留管理器的指示和关键性应用程序
的资源预留需求进行资源预留;主机的分类器根据预留管理器的指示,在所
述关键性应用程序的资源预留路径信息字段中,记录相应的资源预留路径信 自
步骤302、主机和存储设备分别利用各自关键性应用程序预留的资源处 理所述关键性应用程序。
如图5所示,本步骤的具体实现方法为
步骤501 、主机的应用程序接口模块判断出待处理的应用程序为关键性 应用程序并且已为所述关键性应用程序确立资源预留路径,触发主机的关键
35性应用程序处理模块利用所述资源预留路径对应的预留资源,处理所述关键 性应用程序。
本步骤中,主机的应用程序接口模块判断出应用程序为关键性应用程序
后,将通过查询QoS管理模块的分类器中所述关键性应用程序的预留资源 路径信息字段,来确定是否已为所述关键性应用程序成功创建资源预留路 径。如果该预留资源路径信息字段为空,则判断出未能为所述关键性应用程 序成功确立资源预留路径,这样,由于没有预留资源可以使用,此后只能按 照现有的应用程序处理方式进行应用程序的处理;如果该信息字段非空,则 判断出已为所述关键性应用程序成功确立资源预留路径,之后通过将所述关 键性应用程序和所述资源预留路径信息字段里的路径信息通知给主机的关 键性应用程序处理模块,触发所述关键性应用程序处理模块利用所述路径信 息对应的预留资源处理所述关键性应用程序。
步骤502、主机的关键性应用程序处理模块利用所述资源预留路径在主 机上对应的预留资源,对所述关键性应用程序进行处理,并将需要传输给存 储设备的数据通过所述资源预留路径传输给存储设备。
本步骤的具体方法为
关键性应用程序处理模块根据资源预留路径信息从调度器的预留管理 中获取与所述资源预留路径对应的预留资源;
关键性应用程序处理模块通过系统的SCSI层事件发生器为所述关键性 应用程序生成事件,利用所述预留资源所确定的存储资源存放所述事件,并 将所述事件封装成小型计算机系统接口控制数据块(SCSI CDB);根据所 述预留资源获取内核进程调度,在iSCSI层、将所述SCSI CDB封装成小型计 算机系统接口协议数据单元(iSCSIPDU),并将其加入到所述预留资源所 确定的预留连接队列中;根据所述预留资源所确定的预留带宽信息获取内核 进程调度;
关键性应用程序处理模块利用主机的QoS管理模块中的控制器将所述 iSCSI PDU映射为支持预留机制的网络协议数据单元;关键性应用程序处理模块利用所述内核进程调度,将所述支持预留机制的 网络协议数据单元通过所述资源预留路径传输给存储设备。
步骤503、存储设备的控制器判断出所接收的数据是由资源预留路径传输
的数据,对所述数据进行解封装操作,并发送给存储设备的关键性应用程序处 理模块。
本步骤中,通过存储设备的解封装操作,将接收到的所述支持预留机制的
网络协议数据单元解封装为iSCSIPDU。
这里,具体如何判断所接收的数据的传输路径为本领域技术人员公知,在 此不再详述。
步骤504、存储设备的关键性应用程序处理模块利用所述资源预留路径 在存储设备上对应的预留资源,对所述关键性应用程序的数据进行处理,并 将需要传输给主机的新数据利用所述资源预留路径传输给主机。
本步骤的具体方法为
存储设备的关键性应用程序处理模块将所述iSCSI PDU加入到所述预留资 源所确定的对应资源中;
将所述iSCSI PDU解封为SCSI PDU,并将所述SCSI PDU加入到所述预留 资源所确定的对应资源中;
根据所述预留资源获取内核进程调度,并根据所述预留资源所确定的预留 带宽资源确定处理时间;
将所述SCSI PDU解封为SCSI CDB,并将所述SCSI CDB加入到所述预留 资源所确定的对应资源中;
利用所述内核进程调度对所述SCSI CDB进行处理,生成新的SCSI CDB, 将所述新的SCSI CDB添加到所述预留资源所确定的对应资源中;
将所述新的SCSI CDB封装成新的iSCSI PDU,并加入到所述预留资源所 确定的对应资源中;
根据所述预留资源获取内核进程调度,并根据所述预留资源所确定的预留 带宽资源确定调度时间;利用存储设备的控制器将所述新的iSCSI PUD转换成新的支持预留机 制的网络协议数据单元,利用所述内核进程调度将所述新的支持预留机制的 网络协议数据单元按照所述资源预留路径发送给主机。
通过上述技术方案,本发明利用预留机制,通过在主机和存储设备分别 设置相应的QoS管理模块,实现对关键性网络存储应用所需要的资源进行 预留,从而同时保证了关键性网络存储应用所需要的处理资源,因此,能为 关键性网络存储应用提供确定性的服务质量保障,另外,由于需要质量保证 的关键性网络存储应用数量不会太多,因此使用预留机制不会带来扩展性问 题。
综上所述,以上仅为本发明的较佳实施例而已,并非用于限定本发明的 保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改 进等,均应包含在本发明的保护范围之内。
权利要求
1、一种保障网络存储服务质量的方法,其特征在于,该方法包括在主机中注册关键性应用程序,当主机、存储设备和网络的可用资源均能满足所述关键性应用程序或所述关键性应用程序所属的关键性应用程序类的服务质量要求时,按照预设的服务策略,为所述关键性应用程序或所述关键性应用程序类在所述主机、存储设备和网络上预留资源,确立一条资源预留路径;利用所述资源预留路径在主机上对应的预留资源,对所述关键性应用程序进行处理,并将需要传输给存储设备的数据通过所述资源预留路径进行传输;存储设备判断出接收到的所述数据是通过资源预留路径传输时,利用所述资源预留路径在存储设备上对应的预留资源对所述数据进行处理,并将需要传输给主机的新数据通过所述资源预留路径进行传输。
2、 根据权利要求1所述的方法,其特征在于,所述在主机中注册关键性应 用程序之前进一步包括主机根据应用程序的属性信息和服务质量QoS参数,判断出所述应用程序 为关键性应用程序。
3、 根据权利要求1或2所述的方法,其特征在于,所述在主机中注册关键 性应用程序为在主机中记录关键性应用程序的属性和服务质量QoS参数,所述QoS参数 包括主机的存储输入/输出I/O带宽预留信息。
4、 根据权利要求3所述的方法,其特征在于,所述在主机中注册关键性应 用程序进一步包括主机根据关键性应用程序的属性确定存储设备的存储I/O带宽预留信息以 及网络带宽预留信息,并作为所述关键性应用程序的QoS参数记录在主机中。
5、 根据权利要求1所述的方法,其特征在于,所述服务策略为 以单个关键性应用程序为单位进行资源预留的服务策略,或者,以关键性应用程序类为单位进行资源预留的服务策略。
6、 根据权利要求5所述的方法,其特征在于,当所述服务策略为以单个关键性应用程序为单位进行资源预留的服务策略时,所述当主机、存储设备和网 络的可用资源均能满足所述关键性应用程序的服务质量要求时,按照预设的服 务策略,为所述关键性应用程序在所述主机、存储设备和网络上预留资源,确立一条资源预留路径为根据关键性应用程序的属性和QoS参数,按照预设的资源预留需求策略, 确定所述关键性应用程序的资源预留需求;根据主机的资源状态信息,判断能否满足所述资源预留需求,如果能满足, 则生成支持主机协议的预留请求消息,所述预留请求消息携带关键性应用程序 的属性和QoS参数,否则,退出为关键性应用程序确立资源预留路径的流程;将所述预留请求消息转换为支持预留机制的网络层信令协议的预留请求消 息,通过支持预留机制的网络将所述网络层信令协议的预留请求消息传输给存 储设备;存储设备将接收到的所述支持预留机制的网络层信令协议的预留请求消息 转换为支持存储设备协议的预留请求消息;存储设备根据支持存储设备协议的预留请求消息所携带的关键性应用程序 的属性和QoS参数,按照预设的资源预留需求策略,确定所述关键性应用程序 的资源预留需求;根据存储设备的资源状态信息,判断能否满足所述资源预留需求,如果能 够满足,则根据所述资源预留需求在存储设备上预留相应资源并记录对应的资 源预留路径,生成支持网络层信令协议的预留响应消息,通过支持预留机制的 网络将所述预留响应消息传输给主机,所述网络根据所述预留响应消息预留相 应的网络资源;主机根据接收到的所述预留响应消息和已确定的所述关键性应用程序的资 源预留需求,在主机上预留相应资源,确定一条资源预留路径。
7、 根据权利要求5所述的方法,其特征在于,当所述服务策略为以关键性 应用程序类为单位进行资源预留的服务策略时,所述当主机、存储设备和网络的可用资源均能满足所述关键性应用程序的服务质量要求时,按照预设的服务 策略,为所述关键性应用程序所属的关键性应用程序类在所述主机、存储设备 和网络上预留资源,确立一条资源预留路径为Xl 、判断是否已为所述关键性应用程序所属的关键性应用程序类进行资源预留,如果是,则转入步骤x2,否则转入步骤x9;x2、根据关键性应用程序的属性和QoS参数,按照预设的资源预留需求策 略,确定所述关键性应用程序的资源预留需求;x3、根据主机的资源状态信息,判断所述关键性应用程序类在主机中的空 闲预留资源是否能满足所述关键性应用程序的资源预留需求,—如果能满足,则 退出所述确立资源预留路径的流程;否则创建预留调整消息,所述预留调整消 息携带需要扩充预留的I/O带宽信息,所述需要扩充预留的I/O带宽信息包括 主机的存储I/O带宽信息或主机和存储设备的存储I/O带宽信息和对应的网络 带宽信息;x4 、将所述预留调整消息转换为支持预留机制的网络层信令协议的预留调 整消息,通过支持预留机制的网络将所述支持预留机制的网络层信令协议的预 留调整消息传输给存储设备,所述网络根据所述预留调整消息,对已为所述关 键性应用程序类确立的资源预留路径进行扩充;x5、存储设备将接收到的所述支持预留机制的网络层信令协议的预留调整 消息转换为支持存储设备协议的预留调整消息;x6 、存储设备根据支持存储设备协议的预留调整消息所携带的需要扩充预 留的存储I/0带宽信息,确定所述关键性应用程序类的资源预留扩充需求;x7、根据存储设备的资源状态信息,判断能否满足所述资源预留扩充需求, 如果能够满足,则根据所述资源预留扩充需求在存储设备上为所述关键性应用 程序类进一步预留相应的带宽资源,生成支持预留机制的网络层信令协议的预 留调整响应消息,通过支持预留机制的网络将所述网络层信令协议的预留调整 响应消息传,命纟会主才几;x8、主机根据接收到的所述预留调整响应消息,在主机上为所述关键性应用程序类进一步预留相应的带宽资源;退出所述确立资源预留路径的流程;x9、根据关键性应用程序的属性和QoS参数,按照预设的资源需求策略, 确定所述关键性应用程序类的资源预留需求;根据主机的资源状态信息,判断 能否满足所述关键性应用程序类的资源预留需求,如果能够满足,则生成支持 主机协议的预留请求消息,所述预留请求消息携带关键性应用程序的属性和 QoS参数,否则,退出为关键性应用程序类确立资源预留路径的流程;x10、将所述预留请求消息转换为支持预留机制的网络层信令协议的预留请 求消息,通过支持预留机制的网络将所述网络层信令协议的预留请求消息传输 给存储设备;xl 1 、存储设备将接收到的所述支持预留机制的网络层信令协议的预留请求 消息转换为支持存储设备协议的预留请求消息;)d2、存储设备根据支持存储设备协议的预留请求消息所携带的关键性应用 程序的属性和QoS参数,按照预设的资源需求策略,确定所述关键性应用程序 类的资源预留需求;x13、根据存储设备的资源状态信息,判断能否满足所述资源预留需求,如 果能够满足,则根据所迷资源预留需求在存储设备上预留相应资源并记录对应 的资源预留路径,生成支持预留机制的网络层信令协议的预留响应消息,通过 支持预留机制的网络将所述预留响应消息传输给主机;x14、主机根据接收到的所述预留响应消息和已确定的所述关键性应用程序 类的资源预留需求,在主机上预留相应资源。
8、根据权利要求1所述的方法,其特征在于,所述利用所述资源预留路径 在主机上对应的预留资源,对所述关键性应用程序进行处理,并将需要传输给 存储设备的数据通过所述资源预留路径传输给存储设备为主机判断出待处理应用程序为关键性应用程序后,确定是否已为所述关键 性应用程序或所述关键性应用程序所属的关键性应用程序类确立资源预留路 径,如果是,则利用已确立的所述资源预留路径在主机上对应的预留资源,对 所述关键性应用程序进行处理,将需要传输给存储设备的数据通过所迷资源预留路径发送给存储设备,否则,为所述应用程序在主机上申请资源,利用所述 资源对所述应用程序进行处理。
9、 根据权利要求1所述的方法,其特征在于,所述存储设备判断出接收到 的所述数据是通过资源预留路径传输时,利用所述资源预留路径在存储设备上 对应的预留资源对所述数据进行处理,并将需要传输给主机的新数据利用所述资源预留路径发送给主机为存储设备判断接收到的所述数据是否通过资源预留路径传输,如果是,则 利用所述资源预留路径在存储设备上对应的预留资源对所述数据进行处理,并 将需要传输给主机的新数据按照所述资源预留路径发送给主机,否则,为所述 数据在存储设备上申请资源,利用所述资源对所述数据进行处理。
10、 根据权利要求1所述的方法,其特征在于, 所述网络为互联网协议IP网络;所述主机为互联网小型计算机系统接口 iSCSI存储系统的启动端,所述存 储设备为iSCSI存储系统的目标端;所述利用所述资源预留路径在主机上对应的预留资源,对所述关键性应用 程序进行处理,并将需要传输给存储设备的数据通过所述资源预留路径传输给 存储设备为主机通过系统的SCSI层事件发生器为所述关键性应用程序生成事件,利用 所述资源预留路径在主机上对应的预留资源所确定的存储资源存放所述事件, 并将所述事件封装成小型计算机系统接口控制数据块SCSI CDB;根据所述预留资源获取内核进程调度,在iSCSI层将所述SCSI CDB封装 成互联网小型计算机系统接口协议数据单元iSCSI PDU,并将其加入到所述预 留资源所确定的预留连接队列中;根据所述预留资源所确定的预留带宽信息获取内核进程调度;将所述iSCSI PDU映射为支持预留机制的网络协议数据单元;利用所述内核进程调度,将所 述支持预留机制的网络协议数据单元通过所述资源预留路径传输给存储设备。
11、 根据权利要求IO所述的方法,其特征在于,所述利用所述资源预留路径在存储设备上对应的预留资源对所述数据进行处理,并将需要传输给主机的新数据利用所述资源预留路径传输给主机为存储设备将接收到的所述支持预留机制的网络协议数据单元解封装为iSCSIPDU;将所迷iSCSI PDU加入到所述预留资源所确定的连接资源中;将所述iSCSI PDU解封为SCSI CDB,并将所述SCSI CDB加入到所述预 留资源所确定的系统资源中;利用所述内核进程调度对所述SCSI CDB进行处理,生成新的SCSICDB, 将所述新的SCSI CDB添加到所述预留资源所确定的系统资源中;将所述新的SCSI CDB封装成新的iSCSI PDU,并加入到所述预留资源所 确定的连接资源中;根据所述预留资源获取内核进程调度,并根据所述预留资源所确定的预留 带宽资源确定调度时间;将所述新的iSCSI PUD转换成新的支持预留机制的网络协议数据单元,利 用所述内核进程调度将所述新的支持预留机制的网络协议数据单元按照所述资 源预留路径发送给主机。
12、 一种保障网络存储服务质量的系统,其特征在于,该系统包括主机、 存储设备和支持预留机制的网络,其中,所述主机,用于对关键性应用程序进行注册,当能够满足所述关键性应用 程序的服务质量要求时,按照预设的服务策略,触发网络和存储设备为所述关 键性应用程序或所述关键性应用程序所属的关键性应用程序类分别预留相应的 资源,以及在主机上预留相应的资源,确立一条资源预留路径;利用所述资源 预留路径在主机上对应的预留资源,对所述关键性应用程序进行处理,利用所 述资源预留路径与存储设备进行数据交互;所述存储设备,用于按照预设的服务策略,为所述关键性应用程序或所述 关键性应用程序所属的关键性应用程序类预留资源;在判断出接收到的数据是 通过资源预留路径传输时,利用所述资源预留路径在存储设备上对应的预留资源对所述数据进行处理;利用所述资源预留路径与主机进行数据交互;所述网络,用于为所述关键性应用程序确立主机和存储设备之间的资源预留路径,实现主机和存储设备之间的数据传输。
13、根据权利要求12所述的系统,其特征在于,所述主机包括关键性应用程序处理模块、应用程序接口模块和QoS管理模 块,其中,所述应用程序接口模块,用于从应用程序中识别出关键性应用程序,并在 QoS管理模块中注册所述关键性应用程序;根据QoS管理模块中关键性应用程 序的资源预留路径信息,判断是否已为所述关键性应用程序或与所述关键性应 用程序所属的关键性应用程序类确立资源预留路径,如果是,则触发关键性应 用程序处理模块利用所述资源预留路径在主机上对应的预留资源处理所述应用 程序;所述QoS管理模块,包括分类器、调度器和控制器,其中所述分类器,用于记录所述关键性应用程序的属性、QoS参数和资源预留 路径信息,触发调度器中的预留管理器创建支持主机协议的预留请求消息;所述调度器,包括预留管理器和资源管理器,其中,所述预留管理器,用于根据关键性应用程序的属性和QoS参数,按照预设 的资源预留需求策略,确定所述关键性应用程序或所述关键性应用程序所属的 关键性应用程序类的资源预留需求;用于根据资源管理器中的资源状态信息, 判断能否满足所述关键性应用程序或所述关键性应用程序所属的关键性应用程 序类的资源预留需求,如果能满足,则生成支持主机协议的预留请求消息并发 送至控制器,所述预留请求消息携带关键性应用程序的属性和QoS参数,其中 所述QoS参数中包含主机的存储I/O带宽预留信息或主机和存储设备的存储I/O 带宽预留信息和网络带宽预留信息;根据控制器发送的预留响应消息,指示资 源管理器按照所述关键性应用程序或所述关键性应用程序所属的关键性应用程 序类的资源预留需求预留资源,并指示分类器记录相应的资源预留路径;用于 根据资源管理器中的资源状态信息,判断所述关键性应用程序所属的关键性应用程序类在主机中的空闲预留资源能否满足所述关键性应用程序的资源预留需 求,如果不能满足,则根据所述关键性应用程序的资源预留需求,确定所述关 键性应用程序类需要扩充预留的带宽信息,所述需要扩充预留的带宽信息包括 主机的存储I/O带宽信息或主机和存储设备的存储I/O带宽信息和对应的网络带宽信息;创建携带所述带宽信息的预留调整消息;根据控制器发送的预留调 整响应消息,指示资源管理器按照所述关键性应用程序类的资源预留扩充需求 进行资源预留;根据预设的维护周期,通过周期性地将所述支持主机协议的预 留请求消息发送给控制器,维护分类器中已成功确立的资源预留路径;所述资源管理器,用于保存主机中的预留资源信息,对主机的资源进行管 理,向预留管理器发送资源状态信息;根据预留管理器的指示进行资源预留;控制器,用于将预留管理器发送的预留请求消息转换为支持预留机制的网 络层信令协议的预留请求消息,通过支持预留机制的网络将支持网络层协议的 预留请求消息传输给存储设备;将预留管理器发送的预留调整消息转换为支持 网络层信令协议的预留调整消息,将支持网络协议的预留响应消息或预留调整 响应消息转换成支持主机协议的预留响应消息或预留调整响应消息,并发送至 调度器中的预留管理器;将关键性应用程序处理模块生成的iSCSIPDU转化成 支持预留机制的网络协议数据单元,并发送给关键性应用程序处理模块;关键性应用程序处理模块,用于利用关键性应用程序在主机上的预留资源, 对所述关键性应用程序或与所述关键性应用程序同类的关键性应用程序进行处 理,并将需要传输给存储设备的数据通过关键性应用程序的资源预留路径发送 给存储设备;利用QoS管理模块中的控制器将生成的iSCSIPDU转化为支持预 留机制的网络协议数据单元,并利用支持预留机制的网络发送给存储设备;所述网络,用于根据预留请求消息确立或维护资源预留路径;用于根据预 留调整消息对已确立的资源预留路径进行扩充。
14、根据权利要求12所述的系统,其特征在于,所述存储设备包括QoS 管理模块和关键性应用程序处理模块,所述QoS管理模块,包括控制器和调度 器,其中,控制器,用于将接收到的所述支持网络层协议的预留请求消息或预留调整 消息转换为支持存储设备协议的预留请求消息,并发送给调度器的预留管理器, 将预留管理器发送的预留响应消息或预留调整响应消息转化为支持网络层协议的预留响应消息或预留调整响应消息,并通过支持预留机制的网络发送给主机; 用于从接收到的数据中识别出由预留路径传输的数据,对由预留路径传输的数 据进行解封装操作,并发送给关键性应用程序处理模块; 调度器,包括预留管理器和资源管理器,其中,预留管理器,用于根据从控制器中接收到的预留请求消息所携带的关键性 应用程序的属性和QoS参数,按照预设的资源预留需求策略,确定关键性应用 程序的资源预留需求;根据资源管理器中的资源状态信息,判断存储设备能否 满足所述资源预留需求,如果能满足,则指示资源管理器按照所述资源预留需 求预留资源,并记录所述预留资源以及对应的资源预留路径,生成支持存储设 备协议的预留响应消息发送给控制器;根据从控制器中接收到预留调整消息所 携带的存储I/O带宽信息,判断能否按照所述存储I/O带宽信息进行资源预留, 如果能,则指示资源管理器按照所述存储I/O带宽信息为所述关键性应用程序 类进一步预留资源,生成支持存储设备协议的预留调整响应消息发送给控制器;资源管理器,用于向预留管理器发送资源状态信息;根据预留管理器的指 示在存储设备上预留资源;关键性应用程序处理模块,用于通过查询调度器的资源管理器,根据传输 数据的资源预留路径确定在存储设备上对应的预留资源;利用预留资源处理控 制器发送的数据,利用QoS管理模块的控制器将处理后得到的新的数据转换成 支持预留机制的网络协议数据单元,通过支持预留机制的网络将所述网络协议 数据单元发送给主机。
全文摘要
本发明公开了一种保障网络存储服务质量的方法和系统,其方法包括在主机中注册关键性应用程序,当主机、存储设备和网络的可用资源均能满足所述关键性应用程序或所述关键性应用程序所属的关键性应用程序类的服务质量要求时,为关键性应用程序或关键性应用程序类在主机、存储设备和网络上预留资源,确立资源预留路径;利用资源预留路径在主机上预留资源,对所述关键性应用程序进行处理,通过所述资源预留路径传输数据;存储设备判断出接收到的所述数据是通过资源预留路径传输时,利用所述资源预留路径在存储设备上对应的预留资源对数据进行处理,将新数据通过所述资源预留路径传输。本发明能够为关键性网络存储应用提供端到端的服务质量保障。
文档编号H04L12/56GK101527682SQ200910077510
公开日2009年9月9日 申请日期2009年1月21日 优先权日2009年1月21日
发明者姚俊武, 李瑞林, 赵秀丽, 邢建兵 申请人:普天信息技术研究院有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1