Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
NETWORK VOLUME CREATING METHOD, DATA STORAGE METHOD, STORAGE DEVICE AND STORAGE SYSTEM
Document Type and Number:
WIPO Patent Application WO/2014/205667
Kind Code:
A1
Abstract:
The embodiments of the invention provide a network volume creating method, comprising: a first storage node receiving a first network volume creating request sent by a management node; according to RAID type information and network volume size information, determining the size of a storage space to be allocated to each storage node in a plurality of storage nodes; respectively sending a second network volume creating request to each storage node; designating a logical address corresponding to each storage node for the storage space allocated to each storage node; sending a response message of the first network volume creating request to the management node, wherein the response message of the first network volume creating request comprises a logical address of the network volume, and the logical address of the network volume comprises the logical address corresponding to each storage node. The creation of a network volume can be realized.

Inventors:
CHENG JUSHENG (CN)
Application Number:
PCT/CN2013/077985
Publication Date:
December 31, 2014
Filing Date:
June 26, 2013
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
HUAWEI TECH CO LTD (CN)
International Classes:
H04L29/08
Foreign References:
CN101291347A2008-10-22
CN101827121A2010-09-08
US8327080B12012-12-04
Download PDF:
Claims:
权 利 要 求 书

1、 一种网络卷创建方法, 其特征在于, 所述方法应用于存储系统中, 所述存储系统包括一个管理节点和多个存储节点, 所述方法包括:

所述多个存储节点中的第一存储节点接收所述管理节点发送的第一 网络卷创建请求, 所述第一网络卷创建请求包括网络卷的信息, 所述网络 卷的信息包括 RAID类型信息和所述网络卷的大小信息;

根据所述 RAID类型信息和所述网络卷的大小信息确定所述多个存储 节点中的每个存储节点待分配的存储空间的大小;

向所述每个存储节点分别发送第二网络卷创建请求, 所述第二网络卷 创建请求包括所述每个存储节点待分配的存储空间的大小, 使得所述每个 存储节点根据所述每个存储节点待分配的存储空间的大小为所述网络卷 分配存储空间;

为每个存储节点分配的存储空间指定每个存储节点对应的逻辑地址; 向所述管理节点发送所述第一网络卷创建请求的响应消息, 所述第一 网络卷创建请求的响应消息包括: 所述网络卷的逻辑地址, 所述网络卷的 逻辑地址包括所述每个存储节点对应的逻辑地址。

2、 根据权利要求 1所述的方法, 其特征在于, 所述方法还包括: 根据所述 RAID类型信息和所述网络卷的大小信息, 确定创建所述网络 卷所需的所述多个存储节点。

3、 根据权利要求 1所述的方法, 其特征在于, 所述网络卷的信息还包 括存储节点信息, 所述存储节点信息用于指示创建所述网络卷所需的所述 多个存储节点;

所述方法还包括: 根据所述存储节点信息, 确定创建所述网络卷所需 的所述多个存储节点。

4、 根据权利要求 1所述的方法, 其特征在于, 还包括:

将所述每个存储节点对应的逻辑地址分别发送给所述每个存储节点, 使得所述每个存储节点记录自身的逻辑地址与分配的存储空间的物理地 址之间的映射关系。

5、 根据权利要求 3所述的方法, 其特征在于, 所述存储系统还包括主 机, 所述方法还包括:

向所述主机发送所述网络卷的信息, 以及所述网络卷的逻辑地址。

6、 根据权利要求 1所述的方法, 其特征在于, 还包括:

记录并保存所述每个存储节点对应的逻辑地址与所述每个存储节点 的对应关系。

7、 根据权利要求 1所述的方法, 其特征在于, 所述逻辑地址包括数据 地址;

所述第一网络卷创建请求的响应消息具体包括: 所述网络卷的数据地 址。

8、 根据权利要求 1所述的方法, 其特征在于, 所述第二网络卷创建请 求的响应消息包括: 分配的存储空间的物理地址;

所述为每个存储节点分配的存储空间指定每个存储节点对应的逻辑 地址具体包括: 根据所述分配的存储空间的物理地址, 为每个存储节点分 配的存储空间指定每个存储节点对应的逻辑地址。

9、 一种数据存储方法, 其特征在于, 所述方法应用于存储系统中, 所述存储系统包括主机和多个存储节点, 所述方法包括:

所述多个存储节点中的第一存储节点将目标数据切分为至少两个切 片数据;

计算所述至少两个切片数据的校验数据, 为所述校验数据分配校验地 址;

确定每个切片数据的数据地址;

根据所述数据地址与存储节点的对应关系确定每个切片数据对应的 存储节点, 以及根据所述校验地址与存储节点的对应关系确定校验数据对 应的存储节点;

向每个切片数据对应的存储节点发送第一写数据请求, 所述第一写数 据请求包括切片数据和数据地址, 使得所述每个切片数据对应的存储节点 根据数据地址与物理地址的映射关系, 将切片数据写入物理地址对应的存 储空间中;

向校验数据对应的存储节点发送第二写数据请求, 所述第二写数据请 求包括校验数据和校验地址, 使得所述校验数据对应的存储节点根据校验 地址与物理地址的映射关系, 将校验数据写入物理地址对应的存储空间 中。

10、 根据权利要求 9所述的方法, 其特征在于, 所述方法还包括: 接收所述主机发送的第三写数据请求, 所述第三写数据请求包括网络 卷的标识、 数据长度和所述目标数据;

所述将目标数据切分为至少两个切片数据具体包括: 根据 R A I D类型和 所述数据长度将目标数据切分为至少两个切片数据, 所述 R A I D类型是根据 所述网络卷的标识确定的。

11、 根据权利要求 10所述的方法, 其特征在于, 所述第三写数据请求 还包括存储地址;

所述确定每个切片数据的数据地址具体包括: 根据所述存储地址和所 述数据长度确定每个切片数据的数据地址。

12、 根据权利要求 11所述的方法, 其特征在于, 所述方法还包括: 接收所述主机发送的第一读数据请求, 所述第一读数据请求包括所述 存储地址和所述数据长度, 所述第一读数据请求用于读取所述目标数据; 根据所述存储地址和所述数据长度确定所述目标数据包含的各个切 片数据的数据地址;

根据所述数据地址与存储节点的对应关系确定每个切片数据对应的 存储节点; 向每个切片数据对应的存储节点发送第二读数据请求, 所述第二读数 据请求包括切片数据的数据地址, 使得所述每个切片数据对应的存储节点 根据数据地址与物理地址的映射关系, 从所述物理地址对应的存储空间中 读取所述切片数据并发送给所述第一存储节点;

接收每个切片数据对应的存储节点发送的切片数据, 合并成所述目标 数据发送给所述主机。

1 3、 一种存储设备, 其特征在于, 所述存储设备包括:

接收模块, 用于接收管理节点发送的第一网络卷创建请求, 所述第一 网络卷创建请求包括网络卷的信息, 所述网络卷的信息包括 RAID类型信 息和所述网络卷的大小信息;

确定模块, 用于根据所述 RAID 类型信息和所述网络卷的大小信息确 定所述网络卷所需的多个存储节点中的每个存储节点待分配的存储空间 的大小;

发送模块, 用于向所述每个存储节点分别发送第二网络卷创建请求, 所述第二网络卷创建请求包括所述每个存储节点待分配的存储空间的大 小, 使得所述每个存储节点根据所述每个存储节点待分配的存储空间的大 小为所述网络卷分配存储空间;

地址指定模块, 用于为每个存储节点分配的存储空间指定每个存储节 点对应的逻辑地址;

所述发送模块, 还用于向所述管理节点发送所述第一网络卷创建请求 的响应消息, 所述第一网络卷创建请求的响应消息包括: 所述网络卷的逻 辑地址, 所述网络卷的逻辑地址包括所述每个存储节点对应的逻辑地址。

14、 根据权利要求 1 3所述的存储设备, 其特征在于,

所述确定模块, 还用于根据所述 RAI D类型信息和所述网络卷的大小 信息, 确定创建所述网络卷所需的所述多个存储节点。

15、 根据权利要求 1 3 所述的存储设备, 其特征在于, 所述网络卷的 信息还包括存储节点信息, 所述存储节点信息用于指示创建所述网络卷所 需的所述多个存储节点;

所述确定模块, 还用于根据所述存储节点信息, 确定创建所述网络卷 所需的所述多个存储节点。

16、 根据权利要求 1 3所述的存储设备, 其特征在于,

所述发送模块, 还用于将所述每个存储节点对应的逻辑地址分别发送 给所述每个存储节点, 使得所述每个存储节点记录自身的逻辑地址与分配 的存储空间的物理地址之间的映射关系。

17、 根据权利要求 1 3 所述的存储设备, 其特征在于, 还包括记录模 块;

所述记录模块, 还用于记录并保存所述每个存储节点对应的逻辑地址 与所述每个存储节点的对应关系。

18、 根据权利要求 1 3所述的存储设备, 其特征在于, 所述逻辑地址包 括数据地址;

所述第一网络卷创建请求的响应消息具体包括: 所述网络卷的数据地 址。

19、 根据权利要求 1 3 所述的存储设备, 其特征在于, 所述第二网络 卷创建请求的响应消息包括: 分配的存储空间的物理地址;

所述地址指定模块, 具体用于根据所述分配的存储空间的物理地址, 为每个存储节点分配的存储空间指定每个存储节点对应的逻辑地址。

20、 一种存储设备, 其特征在于, 所述存储设备包括:

切分模块, 用于将目标数据切分为至少两个切片数据;

计算模块, 用于计算所述至少两个切片数据的校验数据, 为所述校验 数据分配校验地址;

确定模块, 用于确定每个切片数据的数据地址; 根据所述数据地址与 存储节点的对应关系确定每个切片数据对应的存储节点, 以及根据所述校 验地址与存储节点的对应关系确定校验数据对应的存储节点; 发送模块, 用于向每个切片数据对应的存储节点发送第一写数据请 求, 所述第一写数据请求包括切片数据和数据地址, 使得所述每个切片数 据对应的存储节点根据数据地址与物理地址的映射关系, 将切片数据写入 物理地址对应的存储空间中; 向校验数据对应的存储节点发送第二写数据 请求, 所述第二写数据请求包括校验数据和校验地址, 使得所述校验数据 对应的存储节点根据校验地址与物理地址的映射关系, 将校验数据写入物 理地址对应的存储空间中。

21、 根据权利要求 20所述的存储设备, 其特征在于, 所述存储设备还 包括: 接收模块;

所述接收模块, 用于接收主机发送的第三写数据请求, 所述第三写数 据请求包括网络卷的标识、 数据长度和所述目标数据;

所述切分模块, 具体用于根据 RAID类型和所述数据长度将目标数据切 分为至少两个切片数据, 所述 R A I D类型是根据所述网络卷的标识确定的。

22、 根据权利要求 21所述的存储设备, 其特征在于, 所述第三写数据 请求还包括存储地址;

所述确定模块, 具体用于根据所述存储地址和所述数据长度确定每个 切片数据的数据地址。

23、 根据权利要求 22所述的存储设备, 其特征在于,

所述接收模块, 还用于接收所述主机发送的第一读数据请求, 所述第 一读数据请求包括所述存储地址和所述数据长度, 所述第一读数据请求用 于读取所述目标数据;

所述确定模块, 还用于根据所述存储地址和所述数据长度确定所述目 标数据包含的各个切片数据的数据地址; 根据所述数据地址与存储节点的 对应关系确定每个切片数据对应的存储节点;

所述发送模块, 还用于向每个切片数据对应的存储节点发送第二读数 据请求, 所述第二读数据请求包括切片数据的数据地址, 使得所述每个切 片数据对应的存储节点根据数据地址与物理地址的映射关系, 从所述物理 地址对应的存储空间中读取所述切片数据并发送给所述第一存储节点; 所述接收模块, 还用于接收每个切片数据对应的存储节点发送的切片 数据, 合并成所述目标数据发送给所述主机。

24、一种存储系统, 其特征在于, 所述存储系统包括如权利要求 1 3-19 任一权利要求所述的存储设备以及管理节点;

所述管理节点, 用于向所述多个存储节点中的第一存储节点发送第一 网络卷创建请求, 所述第一网络卷创建请求包括网络卷的信息, 所述网络 卷的信息包括 RAID类型信息和所述网络卷的大小信息。

25、一种存储系统, 其特征在于, 所述存储系统包括如权利要求 20-23 任一权利要求所述的存储设备以及主机;

所述主机, 用于向所述存储设备发送第三写数据请求, 所述第三写数 据请求包括网络卷的标识、 数据长度和所述目标数据。

26、 一种存储设备, 其特征在于, 包括: 处理器、 存储器和通信总线; 其中, 所述处理器和所述存储器通过所述通信总线进行通信;

所述存储器用于保存程序;

所述处理器用于执行所述程序, 以实现:

接收管理节点发送的第一网络卷创建请求, 所述第一网络卷创建请求 包括网络卷的信息, 所述网络卷的信息包括 RAID类型信息和所述网络卷的 大小信息;

根据所述 RAID类型信息和所述网络卷的大小信息确定多个存储节点 中的每个存储节点待分配的存储空间的大小;

向所述每个存储节点分别发送第二网络卷创建请求, 所述第二网络卷 创建请求包括所述每个存储节点待分配的存储空间的大小, 使得所述每个 存储节点根据所述每个存储节点待分配的存储空间的大小为所述网络卷 分配存储空间;

为每个存储节点分配的存储空间指定每个存储节点对应的逻辑地址; 向所述管理节点发送所述第一网络卷创建请求的响应消息, 所述第一 网络卷创建请求的响应消息包括: 所述网络卷的逻辑地址, 所述网络卷的 逻辑地址包括所述每个存储节点对应的逻辑地址。

27、 根据权利要求 26所述的存储设备, 其特征在于,

所述处理器, 还用于根据所述 RAID类型信息和所述网络卷的大小信 息, 确定创建所述网络卷所需的所述多个存储节点。

28、 根据权利要求 26所述的存储设备, 其特征在于, 所述网络卷的信 息还包括存储节点信息, 所述存储节点信息用于指示创建所述网络卷所需 的所述多个存储节点;

所述处理器, 还用于根据所述存储节点信息, 确定创建所述网络卷所 需的所述多个存储节点。

29、 根据权利要求 26所述的存储设备, 其特征在于,

所述处理器, 还用于将所述每个存储节点对应的逻辑地址分别发送给 所述每个存储节点, 使得所述每个存储节点记录自身的逻辑地址与分配的 存储空间的物理地址之间的映射关系。

30、 根据权利要求 26所述的存储设备, 其特征在于,

所述处理器, 还用于记录并保存所述每个存储节点对应的逻辑地址与 所述每个存储节点的对应关系。

31、 根据权利要求 26所述的存储设备, 其特征在于, 所述逻辑地址包 括数据地址;

所述第一网络卷创建请求的响应消息具体包括: 所述网络卷的数据地 址。

32、 根据权利要求 26所述的存储设备, 其特征在于, 所述第二网络卷 创建请求的响应消息包括: 分配的存储空间的物理地址; 所述处理器, 具体用于根据所述分配的存储空间的物理地址, 为每个 存储节点分配的存储空间指定每个存储节点对应的逻辑地址。

33、 一种存储设备, 其特征在于, 包括: 处理器、 存储器和通信总线; 其中, 所述处理器和所述存储器通过所述通信总线进行通信;

所述存储器用于保存程序;

所述处理器用于执行所述程序, 以实现:

将目标数据切分为至少两个切片数据;

计算所述至少两个切片数据的校验数据, 为所述校验数据分配校验地 址;

确定每个切片数据的数据地址;

根据所述数据地址与存储节点的对应关系确定每个切片数据对应的 存储节点, 以及根据所述校验地址与存储节点的对应关系确定校验数据对 应的存储节点;

向每个切片数据对应的存储节点发送第一写数据请求, 所述第一写数 据请求包括切片数据和数据地址, 使得所述每个切片数据对应的存储节点 根据数据地址与物理地址的映射关系, 将切片数据写入物理地址对应的存 储空间中;

向校验数据对应的存储节点发送第二写数据请求, 所述第二写数据请 求包括校验数据和校验地址, 使得所述校验数据对应的存储节点根据校验 地址与物理地址的映射关系, 将校验数据写入物理地址对应的存储空间 中。

34、 根据权利要求 33所述的存储设备, 其特征在于,

所述处理器, 还用于接收所述主机发送的第三写数据请求, 所述第三 写数据请求包括网络卷的标识、 数据长度和所述目标数据;

所述处理器, 具体用于根据 RAID类型和所述数据长度将目标数据切分 为至少两个切片数据, 所述 R A I D类型是根据所述网络卷的标识确定的。 35、 根据权利要求 34所述的存储设备, 其特征在于, 所述第三写数据 请求还包括存储地址;

所述处理器, 具体用于根据所述存储地址和所述数据长度确定每个切 片数据的数据地址。

Description:
网络卷创建方法、 数据存储方法、 存储设备和存储系统 技术领域

本发明涉及存储技术, 尤其涉及一种网络卷创建方法、 数据存储方法、 存储设备和存储系统。 背景技术 传统的存储系统采用集中的存储服务器存放所 有数据, 存储服务器又 称存储节点, 可以包含多个硬盘, 在多个硬盘之间可以根据独立磁盘冗余 数组( Redundant Array of Independent Disks , RAID )类型创建普通卷, 将 数据存储在普通卷中, 可以实现数据的冗余。

RAID筒称为硬盘阵列。其基本思想就是把多个 盘组合起来,成为一个 硬盘阵列组, 使性能达到甚至超过一个容量巨大的硬盘。 根据选择的版本不 同, RAID比单颗硬盘有以下方面的好处: 增强数据集成度, 增强容错功能, 增加处理量或容量。 另外, 磁盘阵列对于电脑来说, 看起来就像一个单独的 硬盘或逻辑存储单元。传统的 RAID技术是在硬盘间实现的,以 RAID 5为例 , 要实现 RAID 5技术至少需要三颗硬盘,将数据和相对应的 偶校验信息存储 到组成 RAID 5的各个磁盘上,并且奇偶校验信息和相对应 数据分别存储于 不同的磁盘上。 当 RAID 5的一个磁盘数据发生损坏后,可以利用剩下 数据 和相应的奇偶校验信息去恢复被损坏的数据。

然而, 目前的普通卷是在一个存储节点内建立的, 当该存储节点发生 故障时, 其存储的数据都会丟失, 可靠性不能得到保证, 因此亟待创建一 种跨存储节点的网络卷。 发明内容 本发明实施例提供了一种网络卷创建方法、 数据存储方法、 存储设备 和存储系统, 可以实现网络卷的创建。

第一方面, 本发明实施例提供一种网络卷创建方法, 所述方法应用于 存储系统中, 所述存储系统包括一个管理节点和多个存储节 点, 所述方法 包括:

所述多个存储节点中的第一存储节点接收所述 管理节点发送的第一 网络卷创建请求, 所述第一网络卷创建请求包括网络卷的信息, 所述网络 卷的信息包括 RAID类型信息和所述网络卷的大小信息;

根据所述 RAID类型信息和所述网络卷的大小信息确定所 多个存储 节点中的每个存储节点待分配的存储空间的大 小;

向所述每个存储节点分别发送第二网络卷创建 请求, 所述第二网络卷 创建请求包括所述每个存储节点待分配的存储 空间的大小, 使得所述每个 存储节点根据所述每个存储节点待分配的存储 空间的大小为所述网络卷 分配存储空间;

为每个存储节点分配的存储空间指定每个存储 节点对应的逻辑地址; 向所述管理节点发送所述第一网络卷创建请求 的响应消息, 所述第一 网络卷创建请求的响应消息包括: 所述网络卷的逻辑地址, 所述网络卷的 逻辑地址包括所述每个存储节点对应的逻辑地 址。

在第一方面的第一种可能的实现方式中, 还包括:

根据所述 RAID类型信息和所述网络卷的大小信息, 确定创建所述网 络卷所需的所述多个存储节点。

在第一方面的第二种可能的实现方式中, 所述网络卷的信息还包括存 储节点信息, 所述存储节点信息用于指示创建所述网络卷所 需的所述多个 存储节点;

所述方法还包括: 根据所述存储节点信息, 确定创建所述网络卷所需 的所述多个存储节点。 在第一方面的第三种可能的实现方式中, 还包括:

将所述每个存储节点对应的逻辑地址分别发送 给所述每个存储节点, 使得所述每个存储节点记录自身的逻辑地址与 分配的存储空间的物理地 址之间的映射关系。

结合第一方面的第二种可能的实现方式, 在第一方面的第四种可能的 实现方式中, 所述存储系统还包括主机, 所述方法还包括:

向所述主机发送所述网络卷的信息, 以及所述网络卷的逻辑地址。 在第一方面的第五种可能的实现方式中, 还包括: 记录并保存所述每 个存储节点对应的逻辑地址与所述每个存储节 点的对应关系。

在第一方面的第六种可能的实现方式中, 所述逻辑地址包括数据地 址; 所述第一网络卷创建请求的响应消息具体包括 : 所述网络卷的数据地 址。

在第一方面的第七种可能的实现方式中, 所述第二网络卷创建请求的 响应消息包括: 分配的存储空间的物理地址;

所述为每个存储节点分配的存储空间指定每个 存储节点对应的逻辑 地址具体包括: 根据所述分配的存储空间的物理地址, 为每个存储节点分 配的存储空间指定每个存储节点对应的逻辑地 址。

第二方面, 本发明实施例提供一种数据存储方法, 所述方法应用于存 储系统中, 所述存储系统包括主机和多个存储节点, 所述方法包括:

所述多个存储节点中的第一存储节点将目标数 据切分为至少两个切 片数据;

计算所述至少两个切片数据的校验数据, 为所述校验数据分配校验地 址;

确定每个切片数据的数据地址;

根据所述数据地址与存储节点的对应关系确定 每个切片数据对应的 存储节点, 以及根据所述校验地址与存储节点的对应关系 确定校验数据对 应的存储节点;

向每个切片数据对应的存储节点发送第一写数 据请求, 所述第一写数 据请求包括切片数据和数据地址, 使得所述每个切片数据对应的存储节点 根据数据地址与物理地址的映射关系, 将切片数据写入物理地址对应的存 储空间中;

向校验数据对应的存储节点发送第二写数据请 求, 所述第二写数据请 求包括校验数据和校验地址, 使得所述校验数据对应的存储节点根据校验 地址与物理地址的映射关系, 将校验数据写入物理地址对应的存储空间 中。

在第二方面的第一种可能的实现方式中, 所述方法还包括:

接收所述主机发送的第三写数据请求, 所述第三写数据请求包括网络 卷的标识、 数据长度和所述目标数据;

所述将目标数据切分为至少两个切片数据具体 包括: 根据 R A I D类型 和所述数据长度将目标数据切分为至少两个切 片数据, 所述 RAID类型是 根据所述网络卷的标识确定的。

结合第二方面的第一种可能的实现方式, 在第二方面的第二种可能的 实现方式中, 所述第三写数据请求还包括存储地址;

所述确定每个切片数据的数据地址具体包括: 根据所述存储地址和所 述数据长度确定每个切片数据的数据地址。

结合第二方面的第二种可能的实现方式, 在第二方面的第三种可能的 实现方式中, 所述方法还包括:

接收所述主机发送的第一读数据请求, 所述第一读数据请求包括所述 存储地址和所述数据长度, 所述第一读数据请求用于读取所述目标数据; 根据所述存储地址和所述数据长度确定所述目 标数据包含的各个切 片数据的数据地址;

根据所述数据地址与存储节点的对应关系确定 每个切片数据对应的 存储节点;

向每个切片数据对应的存储节点发送第二读数 据请求, 所述第二读数 据请求包括切片数据的数据地址, 使得所述每个切片数据对应的存储节点 根据数据地址与物理地址的映射关系, 从所述物理地址对应的存储空间中 读取所述切片数据并发送给所述第一存储节点 ;

接收每个切片数据对应的存储节点发送的切片 数据, 合并成所述目标 数据发送给所述主机。

第三方面, 本发明实施例提供一种存储设备, 所述存储设备包括: 接收模块, 用于接收管理节点发送的第一网络卷创建请求 , 所述第一 网络卷创建请求包括网络卷的信息, 所述网络卷的信息包括 RAID类型信 息和所述网络卷的大小信息;

确定模块, 用于根据所述 RAID 类型信息和所述网络卷的大小信息确 定所述网络卷所需的多个存储节点中的每个存 储节点待分配的存储空间 的大小;

发送模块, 用于向所述每个存储节点分别发送第二网络卷 创建请求, 所述第二网络卷创建请求包括所述每个存储节 点待分配的存储空间的大 小, 使得所述每个存储节点根据所述每个存储节点 待分配的存储空间的大 小为所述网络卷分配存储空间;

地址指定模块, 用于为每个存储节点分配的存储空间指定每个 存储节 点对应的逻辑地址;

所述发送模块, 还用于向所述管理节点发送所述第一网络卷创 建请求 的响应消息, 所述第一网络卷创建请求的响应消息包括: 所述网络卷的逻 辑地址, 所述网络卷的逻辑地址包括所述每个存储节点 对应的逻辑地址。

在第三方面的第一种可能的实现方式中, 所述确定模块, 还用于根据 所述 RAID类型信息和所述网络卷的大小信息, 确定创建所述网络卷所需 的所述多个存储节点。 在第三方面的第二种可能的实现方式中, 所述网络卷的信息还包括存 储节点信息, 所述存储节点信息用于指示创建所述网络卷所 需的所述多个 存储节点;

所述确定模块, 还用于根据所述存储节点信息, 确定创建所述网络卷 所需的所述多个存储节点。

在第三方面的第三种可能的实现方式中, 所述发送模块, 还用于将所 述每个存储节点对应的逻辑地址分别发送给所 述每个存储节点, 使得所述 每个存储节点记录自身的逻辑地址与分配的存 储空间的物理地址之间的 映射关系。

在第三方面的第四种可能的实现方式中, 还包括记录模块;

所述记录模块, 还用于记录并保存所述每个存储节点对应的逻 辑地址 与所述每个存储节点的对应关系。

在第三方面的第五种可能的实现方式中, 所述逻辑地址包括数据地 址;

所述第一网络卷创建请求的响应消息具体包括 : 所述网络卷的数据地 址。

在第三方面的第六种可能的实现方式中, 所述第二网络卷创建请求的 响应消息包括: 分配的存储空间的物理地址;

所述地址指定模块, 具体用于根据所述分配的存储空间的物理地址 , 为每个存储节点分配的存储空间指定每个存储 节点对应的逻辑地址。

第四方面, 本发明实施例提供一种存储设备, 所述存储设备包括: 切分模块, 用于将目标数据切分为至少两个切片数据;

计算模块, 用于计算所述至少两个切片数据的校验数据, 为所述校验 数据分配校验地址;

确定模块, 用于确定每个切片数据的数据地址; 根据所述数据地址与 存储节点的对应关系确定每个切片数据对应的 存储节点, 以及根据所述校 验地址与存储节点的对应关系确定校验数据对 应的存储节点; 发送模块, 用于向每个切片数据对应的存储节点发送第一 写数据请 求, 所述第一写数据请求包括切片数据和数据地址 , 使得所述每个切片数 据对应的存储节点根据数据地址与物理地址的 映射关系, 将切片数据写入 物理地址对应的存储空间中; 向校验数据对应的存储节点发送第二写数据 请求, 所述第二写数据请求包括校验数据和校验地址 , 使得所述校验数据 对应的存储节点根据校验地址与物理地址的映 射关系, 将校验数据写入物 理地址对应的存储空间中。

在第四方面的第一种可能的实现方式中, 所述存储设备还包括: 接收 模块;

所述接收模块, 用于接收主机发送的第三写数据请求, 所述第三写数 据请求包括网络卷的标识、 数据长度和所述目标数据;

所述切分模块, 具体用于根据 RAID类型和所述数据长度将目标数据 切分为至少两个切片数据, 所述 RAID类型是根据所述网络卷的标识确定 的。

结合第四方面的第一种可能的实现方式, 在第四方面的第二种可能的 实现方式中, 所述第三写数据请求还包括存储地址;

所述确定模块, 具体用于根据所述存储地址和所述数据长度确 定每个 切片数据的数据地址。

结合第四方面的第二种可能的实现方式, 在第四方面的第三种可能的 实现方式中,

所述接收模块, 还用于接收所述主机发送的第一读数据请求, 所述第 一读数据请求包括所述存储地址和所述数据长 度, 所述第一读数据请求用 于读取所述目标数据;

所述确定模块, 还用于根据所述存储地址和所述数据长度确定 所述目 标数据包含的各个切片数据的数据地址; 根据所述数据地址与存储节点的 对应关系确定每个切片数据对应的存储节点;

所述发送模块, 还用于向每个切片数据对应的存储节点发送第 二读数 据请求, 所述第二读数据请求包括切片数据的数据地址 , 使得所述每个切 片数据对应的存储节点根据数据地址与物理地 址的映射关系, 从所述物理 地址对应的存储空间中读取所述切片数据并发 送给所述第一存储节点; 所述接收模块, 还用于接收每个切片数据对应的存储节点发送 的切片 数据, 合并成所述目标数据发送给所述主机。

第五方面, 本发明实施例提供一种存储系统, 所述存储系统包括: 如 权利要求 13-19任一权利要求所述的存储设备以及管理节 ;

所述管理节点, 用于向所述多个存储节点中的第一存储节点发 送第一 网络卷创建请求, 所述第一网络卷创建请求包括网络卷的信息, 所述网络 卷的信息包括 RAID类型信息和所述网络卷的大小信息。

第六方面, 本发明实施例提供一种存储系统, 所述存储系统包括如权 利要求 20-23任一权利要求所述的存储设备以及主机;

所述主机, 用于向所述存储设备发送第三写数据请求, 所述第三写数 据请求包括网络卷的标识、 数据长度和所述目标数据。

第七方面, 本发明实施例提供一种存储设备, 处理器、 存储器和通信 其中, 所述处理器和所述存储器通过所述通信总线进 行通信;

所述存储器用于保存程序;

所述处理器用于执行所述程序, 以实现:

接收管理节点发送的第一网络卷创建请求, 所述第一网络卷创建请求 包括网络卷的信息, 所述网络卷的信息包括 RAID类型信息和所述网络卷的 大小信息;

根据所述 RAID类型信息和所述网络卷的大小信息确定多 存储节点 中的每个存储节点待分配的存储空间的大小; 向所述每个存储节点分别发送第二网络卷创建 请求, 所述第二网络卷 创建请求包括所述每个存储节点待分配的存储 空间的大小, 使得所述每个 存储节点根据所述每个存储节点待分配的存储 空间的大小为所述网络卷 分配存储空间;

为每个存储节点分配的存储空间指定每个存储 节点对应的逻辑地址; 向所述管理节点发送所述第一网络卷创建请求 的响应消息, 所述第一 网络卷创建请求的响应消息包括: 所述网络卷的逻辑地址, 所述网络卷的 逻辑地址包括所述每个存储节点对应的逻辑地 址。

在第七方面的第一种可能的实现方式中, 所述处理器, 还用于根据所 述 RAID类型信息和所述网络卷的大小信息, 确定创建所述网络卷所需的 所述多个存储节点。

在第七方面的第二种可能的实现方式中, 所述网络卷的信息还包括存 储节点信息, 所述存储节点信息用于指示创建所述网络卷所 需的所述多个 存储节点;

所述处理器, 还用于根据所述存储节点信息, 确定创建所述网络卷所 需的所述多个存储节点。

在第七方面的第三种可能的实现方式中, 所述处理器, 还用于将所述 每个存储节点对应的逻辑地址分别发送给所述 每个存储节点, 使得所述每 个存储节点记录自身的逻辑地址与分配的存储 空间的物理地址之间的映 射关系。

在第七方面的第四种可能的实现方式中, 所述处理器, 还用于记录并 保存所述每个存储节点对应的逻辑地址与所述 每个存储节点的对应关系。

在第七方面的第五种可能的实现方式中, 所述逻辑地址包括数据地 址;

所述第一网络卷创建请求的响应消息具体包括 : 所述网络卷的数据地 址。 在第七方面的第六种可能的实现方式中, 所述第二网络卷创建请求的 响应消息包括: 分配的存储空间的物理地址;

所述处理器, 具体用于根据所述分配的存储空间的物理地址 , 为每个 存储节点分配的存储空间指定每个存储节点对 应的逻辑地址。

第八方面, 本发明实施例提供一种存储设备, 处理器、 存储器和通信 总线; 其中, 所述处理器和所述存储器通过所述通信总线进 行通信;

所述存储器用于保存程序;

所述处理器用于执行所述程序, 以实现:

将目标数据切分为至少两个切片数据;

计算所述至少两个切片数据的校验数据, 为所述校验数据分配校验地 址;

确定每个切片数据的数据地址;

根据所述数据地址与存储节点的对应关系确定 每个切片数据对应的 存储节点, 以及根据所述校验地址与存储节点的对应关系 确定校验数据对 应的存储节点;

向每个切片数据对应的存储节点发送第一写数 据请求, 所述第一写数 据请求包括切片数据和数据地址, 使得所述每个切片数据对应的存储节点 根据数据地址与物理地址的映射关系, 将切片数据写入物理地址对应的存 储空间中;

向校验数据对应的存储节点发送第二写数据请 求, 所述第二写数据请 求包括校验数据和校验地址, 使得所述校验数据对应的存储节点根据校验 地址与物理地址的映射关系, 将校验数据写入物理地址对应的存储空间 中。

在第八方面的第一种可能的实现方式中, 所述处理器, 还用于接收所 述主机发送的第三写数据请求, 所述第三写数据请求包括网络卷的标识、 数据长度和所述目标数据; 所述处理器, 具体用于根据 RAID类型和所述数据长度将目标数据切 分为至少两个切片数据, 所述 RAID类型是根据所述网络卷的标识确定的。

结合第八方面的第一种可能的实现方式, 在第八方面的第二种可能的 实现方式中, 所述第三写数据请求还包括存储地址;

所述处理器, 具体用于根据所述存储地址和所述数据长度确 定每个切 片数据的数据地址。

本发明实施例中, 第一存储节点在接收管理节点发送的第一网络 卷创 建请求后, 确定出每个存储节点待分配的存储空间, 向每个存储节点发送 第二网络卷创建请求使得各存储节点可以根据 第二网络卷创建请求分配 存储空间, 第一存储节点对各存储节点分配存储空间指定 逻辑地址, 并将 逻辑地址发送给管理节点, 使得管理节点知道网络卷创建成功, 以及该网 络卷的逻辑地址。 以此, 实现了网络卷的创建。 附图说明

为了更清楚地说明本发明实施例或现有技术中 的技术方案, 下面将对实 施例或现有技术描述中所需要使用的附图作筒 单地介绍, 显而易见地, 下面 描述中的附图是本发明的一些实施例, 对于本领域普通技术人员来讲, 在不 付出创造性劳动性的前提下, 还可以根据这些附图获得其他的附图。

图 1 为本发明实施例提供的一种网络卷创建方法的 应用网络架构示意 图;

图 2为本发明实施例提供的一种网络卷创建方法 信令图;

图 3为本发明实施例提供的一种数据存储方法的 程图;

图 4为本发明实施例提供的另一种数据存储方法 流程图;

图 5为本发明实施例提供的一种存储设备的结构 意图;

图 6为本发明实施例提供的另一种存储设备的结 示意图;

图 7A为本发明实施例提供的一种存储系统的结构 意图; 图 7B为本发明实施例提供的另一种存储系统的结 示意图; 图 8为本发明实施例提供的又一种存储设备的结 示意图;

图 9为本发明实施例提供的再一种存储设备的结 示意图。 具体实施方式

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

本发明实施例提供的网络卷创建方法可以在存 储系统上实现。 图 1为本 发明实施例提供的网络卷创建方法的系统架构 示意图, 如图 1所示, 该存储 系统包括主机、 管理节点和多个存储设备(又称存储节点) 。

主机可以包括当前技术已知的任何计算设备, 如服务器、 台式计算机等 等。 在主机内部, 安装有操作系统以及其他应用程序。

管理节点可以包括当前技术已知的任何计算设 备, 如服务器、 台式计算 机等等。 其内部结构可以与主机相同。

存储节点可以包括当前技术已知的存储设备, 如独立磁盘冗余阵列 ( Redundant Arrays of Inexpensive Disks , RAID )、磁盘 I ( Just a Bunch Of Disks, JBOD ) 、 直接存取存储器 ( Direct Access Storage Device , DASD ) 的一个或多个互连的磁盘驱动器, 诸如磁带库、 一个或多个存储单元的磁 带存储设备。

其中, 各个存储节点相互连接, 主机与管理节点之间以及管理节点与 各个存储节点通过网络连接, 这里的网络可以是互联网 interne t , 也可以 是 IP SAN ( IP S t orage Area Ne twork , 基于 IP地址的存储局域网络) 以 及其他私有网络等。 请参考图 1 , 图 1是本发明一种网络卷创建方法的实施例, 如图 1所示, 所示方法包括:

步骤 S201: 所述多个存储节点中的第一存储节点接收所述 管理节点发 送的第一网络卷创建请求, 所述第一网络卷创建请求包括网络卷的信息; 管理节点可以将第一网络卷创建请求发送给多 个存储节点中的任意 一个存储节点, 该存储节点接收到第一网络卷创建请求后可以 通过修改属 性设置让自己成为第一存储节点。

网络卷的信息可以是 RAID类型信息和网络卷的大小信息, 其中, RAID 类型信息可以是本领域技术人员所熟知的 RAID类型, 例如: 常用的

RAID5 , RAID6等, 也可以是上纠偏码的冗余类型, 例如: Erasure Code 10+2 , 9+3 , 8+4等。 网络卷的大小信息是指所述网络卷所包括的存 储空间 的大小。

在本发明另一个实施例中, 网络卷的信息还可以包括存储节点的信 息, 用于指示创建所述网络卷所需的存储节点。

可选的, 网络卷的信息还可以包括网络卷的标识。

步骤 S202 : 根据所述 RAID类型信息和所述网络卷的大小信息确定所 多个存储节点中的每个存储节点待分配的存储 空间的大小。

第一存储节点可以根据 RA I D类型信息和网络卷的大小信息, 确定每个 存储节点待分配的存储空间。 举例来说, RAID类型信息是 "4+1 " 的 RAID 5 , 其中, 四个存储节点用于存储写数据请求中携带的待 写入数据, 第一 存储节点用于存储所述待写入数据的校验数据 。 需要说明的是, 当接收到 写数据请求时, 需要将待写入数据进行切分得到四个切片数据 , 所述四个 切片数据分别存储在四个存储节点中。 再如, 网络卷的大小信息是 20M, 则每个存储节点待分配的存储空间是 4M。

步骤 S203 : 第一存储节点向所述每个存储节点分别发送第 二网络卷创 建请求, 所述第二网络卷创建请求包括每个存储节点待 分配的存储空间的 大小, 使得每个存储节点根据所述每个存储节点待分 配的存储空间的大小 为所述网络卷分配存储空间。

当第一网络卷创建请求携带的网络卷的信息包 括存储节点信息时, 所 述存储节点信息用于指示创建所述网络卷所需 的存储节点, 则第一存储节 点可以直接通过存储节点信息从所述存储系统 包含的存储节点中确定出 创建所述网络卷所需的存储节点。

第一存储节点分别向每个存储节点发送第二网 络卷创建请求后, 接收 到第二网络卷创建请求的存储节点可以扫描自 己的存储空间, 划分出 4M的 存储空间提供给所述网络卷。

如果存储空间分配成功, 存储节点将发送给第一存储节点所述第二网 络卷创建请求的响应消息, 所述响应消息用于指示存储空间分配成功。 可 选的, 所述响应消息中还可以包含分配的存储空间的 物理地址。

步骤 S204: 第一存储节点为所述每个存储节点分配的存储 空间指定每 个存储节点对应的逻辑地址。

第一存储节点在接收到各个存储节点的响应消 息, 得知存储空间分配 成功以后, 可以给所述网络卷指定一段连续的逻辑地址, 由于所述网络卷 的存储空间是分布在多个存储节点上的, 因此每个存储节点的存储空间对 应一段逻辑地址。 也可以是, 为每个存储节点分配的存储空间指定每个存 储节点对应的逻辑地址, 将每个存储节点对应的逻辑地址合并起来就是 所 述网络卷的逻辑地址。 需要说明的是, 第一存储节点指定的逻辑地址可以 包含数据地址和校验地址, 其中, 数据地址用于存储写数据请求中的待写 入数据, 校验地址用于存储待写入数据的校验数据。 举例来说, 数据地址 可以是 VB-0 , VB-1 , VB-2 , VB_3、 VB- 4、 VB-5 , 校险地址可以是 P_0, P- 1, P-2 , P-3等等。

进一步地, 以所述网络卷是 " 4+1 " 的 RAI D5为例, 为所述网络卷指定 的逻辑地址可以是 VB_0 , VB- 1 , VB-2 , VB-3 , 校险地址可以是 P_0。 步骤 S205: 第一存储节点向所述管理节点发送所述第一网 络卷创建请 求的响应消息, 所述第一网络卷创建请求的响应消息包括: 所述网络卷的 逻辑地址。

具体的, 第一网络卷创建请求的响应消息中携带的逻辑 地址可以是数 据地址, 举例来说, 数据地址可以是 VB_0、 VB_1、 VB_2、 VB_3。

可选的, 所述第一网络卷创建请求的响应消息还可以包 括所述网络卷 的标识, 以便管理节点可以记录并保存所述网络卷的标 识与所述网络卷的 R A I D类型信息以及所述网络卷的大小信息等信息 对应关系。 需要说明的 是, 这里的网络卷的标识可以是在主机发送给第一 存储节点的第一网络卷 创建请求中携带的, 也可以是由第一存储节点生成的。

本发明实施例中, 第一存储节点在接收管理节点发送的第一网络 卷创 建请求后, 确定出每个存储节点待分配的存储空间, 向每个存储节点发送 第二网络卷创建请求使得各存储节点可以根据 第二网络卷创建请求分配 存储空间, 第一存储节点对各存储节点分配存储空间指定 逻辑地址, 并将 逻辑地址发送给管理节点, 使得管理节点知道网络卷创建成功, 以及该网 络卷的逻辑地址。 以此, 实现了网络卷的创建。

在上述实施例中, 还可以包括:

步骤 S206: 第一存储节点将所述网络卷的信息发送给主机 , 所述网络 卷的信息可以包括: 所述网络卷的标识、 所述网络卷的 RAID类型、 所述 网络卷的大小信息以及所述网络卷的逻辑地址 以及存储节点的信息等。

所述存储节点的信息是指第一存储节点的信息 , 还可以包含网络卷所 在的所有存储节点的信息。

所述主机可以根据网络卷的信息, 将所述网络卷映射为一个盘符, 例 如 D盘或 E盘, 供用户使用。

此外, 主机还可以记录并保存所述网络卷的标识与所 述网络卷的

RAID类型、 所述网络卷的大小信息以及所述网络卷的逻辑 地址以及存储 节点的信息等信息之间的对应关系。

可选的, 该步骤也可以是, 当主机向网络卷查询网络卷时, 管理节点 将所述网络卷的信息发送给主机, 或者由管理节点主动将所述网络卷的信 息发送给主机。

在上述实施例中, 还可以包括:

步骤 S207: 第一存储节点分别向每个存储节点发送每个存 储节点对应 的逻辑地址, 使得每个存储节点记录自身的逻辑地址与分配 的存储空间的 物理地址之间的映射关系。 所述逻辑地址与分配的存储空间的物理地址之 间的映射关系, 用于所述每个存储节点在写数据的时候, 可以根据该映射 关系将数据写入物理地址对应的存储空间中, 或者在读数据的时候, 可以 根据该映射关系从物理地址对应的存储空间中 读取数据。

在上述实施例中, 还可以包括:

步骤 S208 : 记录每个存储节点对应的逻辑地址与每个存储 节点的对应 关系。

具体的, 第一存储节点在指定了所述网络卷的逻辑地址 之后, 可以记 录所述网络卷与所述指定的逻辑地址的对应关 系, 以及每个节点对应的逻 辑地址与每个存储节点的对应关系。 具体的, 以表 1为例, 可以用网络卷 的标识唯一标识所述网络卷, 并采用映射表的形式记录所述网络卷的标识 与逻辑地址, 以及每个逻辑地址所在的存储节点的对应关系 。

表 1

在上述实施例中, 还可以包括:

步骤 S209: 根据所述网络卷的信息确定创建所述网络卷所 需的存储节 点。

当步骤 201中第一网络卷创建请求携带的网络卷的信息 包括 RA ID类型 信息和网络卷的大小信息, 而没有包括存储节点的信息时, 则所述第一存 储节点可以根据 RAID类型信息和网络卷的大小信息确定创建所 网络卷 所需的存储节点。

举例来说, 所述网络卷的 RAI D类型是 " 4+1 " 的 RAID 5 , 则第一存储 节点需要从多个存储节点中选出 5个存储节点, 其中, 4个存储节点用于存 储写数据请求中携带的待写入数据, 1个存储节点用于存储所述待写入数 据的校验数据。 需要说明的是, 当接收到写数据请求时, 需要将待写入数 据进行切分得到 4个切片数据, 所述 4个存储节点分别存储 4个切片数据。 另外, 在本发明实施例中, 可以根据负载均衡的策略, 选择用于创建网络 卷的存储节点。 例如, 如果所述网络卷的大小信息是 20M , 则对于 " 4+1 " 的 RAID 5来说, 每个存储节点需要分配的存储空间是 4M。 因此, 在选择存 储节点时, 首先需选择空闲空间大于 4M的存储节点, 其次可以根据存储节 点的繁忙程度来进行选择, 优先选择处理业务请求比较少的存储节点。 请参考图 3 , 图 3是本发明实施例一种数据存储方法的流程示 图, 所 述数据存储方法可以应用在存储系统中, 所述存储系统包括主机和多个存 储节点, 如图 3所示, 所述方法包括:

步骤 S301 : 多个存储节点中的第一存储节点将目标数据切 分为至少两 个切片数据;

接收目标数据的存储节点可以是网络卷所在的 第一存储节点, 所述目 标数据是第一存储节点接收到的写数据请求中 携带的, 第一存储节点将接 收到的目标数据按照 RA ID类型和目标数据的长度将目标数据切分为至 两个切片数据。

步骤 S302: 计算所述至少两个切片数据的校验数据, 为所述校验数据 分配校验地址;

具体的, 可以根据 RA I D类型计算所述至少两个切片数据的校验数据 并且根据校验数据分配校验地址。

步骤 S303: 确定每个切片数据的数据地址;

在本发明实施例中, 写数据请求中还可以携带有目标数据的存储地 址 所述存储地址和数据长度可以确定出存储所述 目标数据的一段连续的逻 辑地址。 在对目标数据进行切分以后, 同样也需要对存储地址进行划分, 得到每个存储节点的存储切片数据的逻辑地址 , 在本发明实施例中, 存储 切片数据的逻辑地址可以称作数据地址。

步骤 S304: 根据所述数据地址与存储节点的对应关系确定 每个切片数 据对应的存储节点, 以及根据所述校验地址与存储节点的对应关系 确定校 验数据对应的存储节点;

第一存储节点可以根据事先保存的所述数据地 址与存储节点的对应 关系确定每个切片数据对应的存储节点, 以及根据所述校验地址与存储节 点的对应关系确定校验数据对应的存储节点。

步骤 S305: 向每个切片数据对应的存储节点发送第一写数 据请求, 所 述第一写数据请求包括切片数据和数据地址, 使得所述每个切片数据对应 的存储节点根据数据地址与物理地址的映射关 系, 将切片数据写入物理地 址对应的存储空间中;

在本发明实施例中, 每个存储节点中可以保存逻辑地址和物理地址 之 间的映射关系, 再接收到切片数据以后, 可以根据逻辑地址和物理地址之 间的映射关系, 将切片数据写入物理地址对应的存储空间中, 在步骤 S 305 中切片数据对应的逻辑地址是数据地址。

步骤 S306: 向校验数据对应的存储节点发送第二写数据请 求, 所述第 二写数据请求包括校验数据和校验地址, 使得所述校验数据对应的存储节 点根据校验地址与物理地址的映射关系, 将校验数据写入物理地址对应的 存储空间中。

在本发明实施例中, 每个存储节点中可以保存逻辑地址和物理地址 之 间的映射关系, 再接收到校验数据以后, 可以根据逻辑地址和物理地址之 间的映射关系, 将校验数据写入物理地址对应的存储空间中, 在步骤 S 306 中校验数据对应的逻辑地址是校验地址。

在本发明实施例中, 第一存储节点将目标数据切分为至少两个切片 数 据, 计算至少两个切片数据的校验数据, 将切片数据和校验数据存储在各 个存储节点中, 因此实现了数据冗余,即使其中一个存储节点 发生故障时, 也可以利用其它存储节点中存储的切片数据和 校验数据恢复出发生故障 的存储节点存储的数据, 因此保证了数据可靠性。 请参考图 4 , 图 4是本发明实施例另一种数据存储方法的流程 意图, 如图 4所示, 所述方法包括:

步骤 S401 : 多个存储节点中的第一存储节点接收所述主机 发送的写数 据请求 A , 所述写数据请求 A包括网络卷的标识、 存储地址、 数据长度和目 标数据。

在本发明实施例中, 用户可以通过主机上的盘符 (例如: D盘或 E盘) 来选择存储数据的网络卷,每个网络卷可以用 网络卷的标识(例如: ID号) 唯一标识, 并且主机中保存有网络卷的标识与所述网络卷 的第一存储节点 之间的对应关系, 因此, 主机可以通过用户选择的网络卷的标识确定出 所 述网络卷的第一存储节点, 向所述第一存储节点发送写数据请求 A。

所述写数据请求 A可以包括: 网络卷的标识、 存储地址、 数据长度和 目标数据等信息。

存储地址是指待存储的目标数据的逻辑地址, 在存储系统的每个存储 节点上, 一个逻辑地址都对应一段物理地址, 目标数据最终是写到物理地 址对应的存储空间中。 数据长度是指目标数据的长度。

步骤 S402: 根据 RAID类型和所述数据长度将所述目标数据切分 至少 两个切片数据, 所述 RA I D类型是根据所述网络卷的标识确定的。

由于所述网络卷是事先由所述第一存储节点创 建的, 所述第一存储节 点中可以保存所述网络卷的标识与所述网络卷 的 RAID类型之间的对应关 系, 因此, 第一存储节点可以根据所述网络卷的标识确定 所述网络卷的 RAID类型。 然后, 根据 RAID类型和所述数据长度将所述目标数据切分 至 少两个切片数据。

步骤 S403: 根据所述 RAID类型计算所述至少两个切片数据的校验数 据。

举例来说, 可以计算出所述至少两个切片数据的奇偶校验 信息, 将所 述奇偶校验信息作为所述至少两个切片数据的 校验数据, 分别存储在不同 的存储节点上, 当其中一个切片数据发生损坏时, 可以利用未发生损坏的 切片数据和校验数据恢复所述被损坏的数据。

步骤 S404: 根据所述存储地址和所述数据长度确定每个切 片数据的数 据地址, 为所述校验数据分配校验地址。 地址, 根据所述存储地址和数据长度可以确定出存储 所述目标数据的一段 连续的逻辑地址。 在对目标数据进行切分以后, 同样也需要对存储地址进 行划分, 得到每个存储节点的存储切片数据的逻辑地址 , 在本发明实施例 中, 存储每个切片数据的逻辑地址可以称作数据地 址。

然而, 校验地址并不是在写数据请求 A中携带的, 而是由第一存储节 点分配的。 需要说明的是, 由图 2所示的实施例可知, 第一存储节点在创 建所述网络卷时, 为所述网络卷的存储空间指定了一段逻辑地址 , 其中, 所述逻辑地址包括数据地址和校验地址。 对于主机来说, 校验地址是不可 见的, 因此, 校验地址可以由第一存储节点分配。 需要说明的是, 根据所述存储地址和所述数据长度确定每个切 片数据 的数据地址, 和为所述校验数据分配校验地址之间没有先后 顺序之分。

步骤 S405: 根据所述数据地址与存储节点的对应关系确定 每个切片数 据对应的存储节点, 以及根据所述校验地址与存储节点的对应关系 确定校 验数据对应的存储节点。

第一存储节点可以根据事先保存的所述数据地 址与存储节点的对应 关系确定每个切片数据对应的存储节点, 以及根据所述校验地址与存储节 点的对应关系确定校验数据对应的存储节点。 具体的, 其对应关系可以参 考表 1所示的映射表。

步骤 S406: 向每个切片数据对应的存储节点发送写数据请 求 B , 所述 写数据请求 B包括切片数据和数据地址, 使得所述每个切片数据对应的存 储节点根据数据地址与物理地址的映射关系, 将切片数据写入物理地址对 应的存储空间中。

以 "4+1 " 类型的 RAI D 5为例, 所述目标数据需要被切分成四个切片 数据, 并计算所述四个切片数据的一个校验数据, 在获得四个切片数据的 数据地址以及一个校验数据的数据地址后, 可以分别向四个切片数据的数 据地址对应的四个存储节点发送写数据请求 B , 所述写数据请求 B包括切片 数据和数据地址。

当四个切片数据的数据地址对应的数据节点接 收到写数据请求 B后, 可以根据数据地址与物理地址之间的对应关系 , 将切片数据写入物理地址 对应的存储空间中。

需要说明的是, 如果所述第一存储节点本身就是存储其中一个 切片数 据的存储节点, 那么第一存储节点只需要向另外三个存储节点 发送写数据 请求 B。

步骤 S407: 向校验数据对应的存储节点发送写数据请求 C , 所述写数 据请求 C包括校验数据和校验地址, 使得所述校验数据对应的存储节点根 据校验地址与物理地址的映射关系, 将校验数据写入物理地址对应的存储 空间中。

在本发明实施例中, 校验数据可以是一个或多个, 因此校验地址以及 校验地址对应的存储节点也可以是一个或多个 。 例如, 当 RAID类型是 RAID 5时, 校验数据是一个; 当 RAID类型是 RAID 6时, 校验数据是两个。

步骤 S407和步骤 S406之间没有先后顺序之分。

在本发明实施例中, 第一存储节点在接收主机发送的写数据请求 A后, 根据 RA I D类型和数据长度将目标数据切分为至少两个 片数据, 计算至少 两个切片数据的校验数据, 将切片数据和校验数据存储在各个存储节点 中, 因此实现了数据冗余, 即使其中第一存储节点发生故障时, 也可以利 用其它存储节点中存储的切片数据和校验数据 恢复出发生故障的存储节 点存储的数据, 因此保证了数据可靠性。

在上述实施例中还可以包括:

步骤 S408: 接收所述主机发送的读数据请求 A , 所述读数据请求 A包 括所述存储地址和所述数据长度, 所述第一读数据请求用于读取所述目标 数据。

步骤 S409: 根据所述存储地址和所述数据长度确定所述目 标数据包含 的各个切片数据的数据地址。

具体的, 确定各个切片数据的数据地址的步骤与步骤 S404类似, 这里 不再赘述。

步骤 S410: 根据所述数据地址与存储节点的对应关系确定 每个切片数 据对应的存储节点。

具体的, 确定每个切片数据对应的存储节点的步骤与步 骤 S405类似, 这里不再赘述。

步骤 S411 : 向每个切片数据对应的存储节点发送读数据请 求 B, 所述读 数据请求 B包括切片数据的数据地址, 使得所述每个切片数据对应的存储 节点根据数据地址与物理地址的映射关系, 从所述物理地址对应的存储空 间中读取所述切片数据并发送给所述第一存储 节点。

步骤 S412: 接收每个切片数据对应的存储节点发送的切片 数据, 合并 成所述目标数据发送给所述主机。

当其中第一存储节点在读取切片数据时, 发现该切片数据已经损坏, 则可以发送错误报告给第一存储节点, 第一存储节点可以指示所述网络卷 的其他存储节点读取所述目标数据的未发生损 坏的切片数据和校验数据, 以恢复所述发生损坏的切片数据。

在本发明另一个实施例中, 可以由第一存储节点定期主动检查所述网 络卷所在的各个存储节点中存储的切片数据是 否发生损坏, 如果是, 可以 采用上面的方式恢复发生损坏的切片数据。 请参考图 5 , 图 5是本发明实施例一种存储设备 50的结构示意图, 如 图 5所示, 所述存储设备包括:

接收模块 501 , 用于接收管理节点发送的第一网络卷创建请求 , 所述 第一网络卷创建请求包括网络卷的信息, 所述网络卷的信息包括 R A I D类 型信息和所述网络卷的大小信息;

管理节点可以将第一网络卷创建请求发送给多 个存储节点中的任意 第一存储节点, 该存储节点接收到第一网络卷创建请求后可以 通过修改属 性设置让自己成为第一存储节点。

网络卷的信息可以是 RAID类型信息和网络卷的大小信息, 其中, RAID 类型信息可以是本领域技术人员所熟知的 RAID类型, 例如: 常用的 RAID5 , RAID6等, 也可以是上纠偏码的冗余类型, 例如: Erasure Code 10+2 , 9+3 , 8+4等。 网络卷的大小信息是指所述网络卷所包括的存 储空间 的大小。 需要说明的是, 本发明实施例中的存储设备可以视作第一存储 节 点。 在本发明另一个实施例中, 网络卷的信息还可以包括存储节点的信 息, 用于指示创建所述网络卷所需的存储节点。

可选的, 网络卷的信息还可以包括网络卷的标识。

确定模块 502 ,用于根据所述 RAID类型信息和所述网络卷的大小信息 确定所述网络卷所需的多个存储节点中的每个 存储节点待分配的存储空 间的大小;

具体的, 确定模块 502可以根据 RAID类型信息和网络卷的大小信息, 确定每个存储节点待分配的存储空间。举例来 说, RAID类型信息是" 4+1 " 的 RAID 5 ,其中,四个存储节点用于存储写数据请求中 带的待写入数据, 第一存储节点用于存储所述待写入数据的校验 数据。 需要说明的是, 当接 收到写数据请求时, 需要将待写入数据进行切分得到四个切片数据 , 所述 四个切片数据分别存储在四个存储节点中。 再如, 网络卷的大小信息是

20M, 则每个存储节点待分配的存储空间是 4M。

发送模块 503 , 用于向所述每个存储节点分别发送第二网络卷 创建请 求, 所述第二网络卷创建请求包括所述每个存储节 点待分配的存储空间的 大小, 使得所述每个存储节点根据所述每个存储节点 待分配的存储空间的 大小为所述网络卷分配存储空间;

当第一网络卷创建请求携带的网络卷的信息包 括存储节点信息时, 所 述存储节点信息用于指示创建所述网络卷所需 的存储节点, 则可以直接通 过存储节点信息从所述存储系统包含的存储节 点中确定出创建所述网络 卷所需的存储节点。

在发送模块 503分别每个存储节点发送第二网络卷创建请求 后, 接收 到第二网络卷创建请求的存储节点可以扫描自 己的存储空间, 划分出 4M 的存储空间提供给所述网络卷。

如果存储空间分配成功, 存储节点将返回所述第二网络卷创建请求的 响应消息, 所述响应消息用于指示存储空间分配成功。 可选的, 所述响应 消息中还可以包含分配的存储空间的物理地址 。

地址指定模块 504 ,用于为每个存储节点分配的存储空间指定每 存储 节点对应的逻辑地址;

具体的, 在各个存储节点返回所述第二网络卷创建请求 的响应消息 后, 地址指定模块 504以给所述网络卷指定一段连续的逻辑地址, 由于所述 网络卷的存储空间是分布在多个存储节点上的 , 因此每个存储节点的存储 空间对应一段逻辑地址。 也可以是, 为每个存储节点分配的存储空间指定 每个存储节点对应的逻辑地址, 将每个存储节点对应的逻辑地址合并起来 就是所述网络卷的逻辑地址。 需要说明的是, 所述逻辑地址可以包含数据 地址和校验地址, 其中, 数据地址用于存储写数据请求中的待写入数据 , 校验地址用于存储待写入数据的校验数据。 举例来说, 数据地址可以是 VB-0 , VB-1 , VB-2 , VB_3、 VB- 4、 VB-5 , 校马全地址可以是 P- 0, P- 1 , P-2, P-3等等。

进一步地, 以所述网络卷是 " 4+1 " 的 RAI D5为例, 为所述网络卷指 定的逻辑地址可以是 VB-0 , VB-1 , VB-2 , VB- 3 , 校险地址可以是 P_0。

所述发送模块 503 , 还用于向所述管理节点发送所述第一网络卷创 建 请求的响应消息, 所述第一网络卷创建请求的响应消息包括: 所述网络卷 的逻辑地址, 所述网络卷的逻辑地址包括所述每个存储节点 对应的逻辑地 址。

具体的, 第一网络卷创建请求的响应消息中携带的逻辑 地址可以是数 据地址, 举例来说, 数据地址可以是 VB_0、 VB_1、 VB-2 , VB_ 3。

可选的, 所述第一网络卷创建请求的响应消息还可以包 括所述网络卷 的标识, 以便管理节点可以记录并保存所述网络卷的标 识与所述网络卷的 RA I D类型信息以及所述网络卷的大小信息等信息 对应关系。需要说明的 是, 这里的网络卷的标识可以是在主机发送给所述 存储设备的第一网络卷 创建请求中携带的, 也可以是由所述存储设备生成的。 本发明实施例中, 存储设备在接收管理节点发送的第一网络卷创 建请 求后, 确定出每个存储节点待分配的存储空间, 向每个存储节点发送第二 网络卷创建请求使得各存储节点可以根据第二 网络卷创建请求分配存储 空间, 存储设备对各存储节点分配存储空间指定逻辑 地址, 并将逻辑地址 发送给管理节点, 使得管理节点知道网络卷创建成功, 以及该网络卷的逻 辑地址。 以此, 实现了网络卷的创建。

在上述实施例中, 确定模块 502 , 还可以用于根据所述 RAID类型信息 和所述网络卷的大小信息, 确定创建所述网络卷所需的所述多个存储节 点。 可选地, 所述网络卷的信息还包括存储节点信息, 所述存储节点信息 用于指示创建所述网络卷所需的所述多个存储 节点, 则确定模块 502 , 还 可以用于根据所述存储节点信息, 确定创建所述网络卷所需的所述多个存 储节点。

当第一网络卷创建请求携带的网络卷的信息包 括 R A I D类型信息和网 络卷的大小信息, 而没有包括存储节点的信息时, 则所述存储设备可以根 据 RAID类型信息和网络卷的大小信息确定创建所 网络卷所需的存储节 点; 当第一网络卷创建请求携带的网络卷的信息包 括存储节点的信息时, 则可以根据存储节点的信息确定创建所述网络 卷所需的存储节点。

举例来说, 所述网络卷的 RAID类型是 "4+1 " 的 RAID 5 , 则所述存储 设备需要从多个存储节点中选出 5个存储节点, 其中, 4个存储节点用于 存储写数据请求中携带的待写入数据, 1个存储节点用于存储所述待写入 数据的校验数据。 需要说明的是, 当接收到写数据请求时, 需要将待写入 数据进行切分得到 4个切片数据, 所述 4个存储节点分别存储 4个切片数 据。 另外, 在本发明实施例中, 可以根据负载均衡的策略, 选择用于创建 网络卷的存储节点。例如,如果所述网络卷的 大小信息是 20M,则对于 "4+1 " 的 RAID 5来说, 每个存储节点需要分配的存储空间是 4M。 因此, 在选择 存储节点时, 首先需选择空闲空间大于 4M的存储节点, 其次可以根据存 储节点的繁忙程度来进行选择, 优先选择处理业务请求比较少的存储节 点。

可选地, 所述发送模块 503 , 还用于将所述每个存储节点对应的逻辑 地址分别发送给所述每个存储节点, 使得所述每个存储节点记录自身的逻 辑地址与分配的存储空间的物理地址之间的映 射关系。 所述逻辑地址与分 配的存储空间的物理地址之间的映射关系, 用于所述每个存储节点在写数 据的时候, 可以根据该映射关系将数据写入物理地址对应 的存储空间中, 或者在读数据的时候, 可以根据该映射关系从物理地址对应的存储空 间中 读取数据。

可选地, 所述存储设备还可以包括记录模块 505 , 用于记录并保存所 述每个存储节点对应的逻辑地址与所述每个存 储节点的对应关系。

具体的, 所述存储设备在指定了所述网络卷的逻辑地址 之后, 可以记 录所述网络卷与所述指定的逻辑地址的对应关 系, 以及每个节点对应的逻 辑地址与每个存储节点的对应关系。

可选地, 在上述实施例中, 所述逻辑地址可以包括数据地址, 所述第一 网络卷创建请求的响应消息具体包括: 所述网络卷的数据地址。

可选地, 在上述实施例中, 所述第二网络卷创建请求的响应消息可以 包括: 分配的存储空间的物理地址。

所述地址指定模块 504 , 具体用于根据所述分配的存储空间的物理地 址, 为每个存储节点分配的存储空间指定每个存储 节点对应的逻辑地址。 请参考图 6 , 图 6是本发明实施例一种存储设备的结构示意图 如图 6所示, 所述存储设备包括: 所述目标数据是所述存储设备接收到的写数据 请求中携带的, 存储设 备将接收到的目标数据按照 RAID类型和目标数据的长度将目标数据切分 为至少两个切片数据。

计算模块 602 , 用于计算所述至少两个切片数据的校验数据, 为所述 校验数据分配校验地址;

具体的, 可以根据 RAID类型计算所述至少两个切片数据的校验数 , 并且根据校验数据分配校验地址。

确定模块 603 , 用于确定每个切片数据的数据地址; 根据所述数据地 址与存储节点的对应关系确定每个切片数据对 应的存储节点, 以及根据所 述校验地址与存储节点的对应关系确定校验数 据对应的存储节点;

在本发明实施例中, 写数据请求中还携带有目标数据的存储地址和 数 存储地址和数据长度可以确定出存储所述目标 数据的一段连续的逻辑地 址。 在对目标数据进行切分以后, 同样也需要对存储地址进行划分, 得到 每个存储节点的存储切片数据的逻辑地址, 在本发明实施例中, 存储切片 数据的逻辑地址可以称作数据地址。

存储设备可以根据事先保存的所述数据地址与 存储节点的对应关系 确定每个切片数据对应的存储节点, 以及根据所述校验地址与存储节点的 对应关系确定校验数据对应的存储节点。

发送模块 604 , 用于向每个切片数据对应的存储节点发送第一 写数据 请求, 所述第一写数据请求包括切片数据和数据地址 , 使得所述每个切片 数据对应的存储节点根据数据地址与物理地址 的映射关系, 将切片数据写 入物理地址对应的存储空间中; 向校验数据对应的存储节点发送第二写数 据请求, 所述第二写数据请求包括校验数据和校验地址 , 使得所述校验数 据对应的存储节点根据校验地址与物理地址的 映射关系, 将校验数据写入 物理地址对应的存储空间中。

在本发明实施例中, 每个存储节点中可以保存逻辑地址和物理地址 之 间的映射关系, 这里的逻辑地址可以是数据地址或校验地址, 再接收到切 片数据以后, 可以根据数据地址和物理地址之间的映射关系 , 将切片数据 写入物理地址对应的存储空间中, 根据校验地址和物理地址之间的映射关 系, 将校验数据写入物理地址对应的存储空间中。

在本发明实施例中, 存储设备将目标数据切分为至少两个切片数据 , 计算至少两个切片数据的校验数据, 将切片数据和校验数据存储在各个存 储节点中, 因此实现了数据冗余, 即使其中一个存储节点发生故障时, 也 可以利用其它存储节点中存储的切片数据和校 验数据恢复出发生故障的 存储节点存储的数据, 因此保证了数据可靠性。

在上述实施例中, 存储设备还可以包括接收模块 605;

所述接收模块 605 , 用于接收主机发送的第三写数据请求, 所述第三 写数据请求包括网络卷的标识、 数据长度和所述目标数据;

根据 R A I D类型和所述数据长度, 切分模块 601可以将目标数据切分 为至少两个切片数据, 所述 RAID类型是根据所述网络卷的标识确定的。

可选的, 第三写数据请求还可以包括存储地址;

所述确定模块 603 , 具体用于根据所述存储地址和所述数据长度确 定 每个切片数据的数据地址。

可选的, 所述接收模块 605 , 还用于接收所述主机发送的第一读数据 请求, 所述第一读数据请求包括所述存储地址和所述 数据长度, 所述第一 读数据请求用于读取所述目标数据;

所述确定模块 603 , 还用于根据所述存储地址和所述数据长度确定 所 述目标数据包含的各个切片数据的数据地址; 根据所述数据地址与存储节 点的对应关系确定每个切片数据对应的存储节 点;

所述发送模块 604 , 还用于向每个切片数据对应的存储节点发送第 二 读数据请求, 所述第二读数据请求包括切片数据的数据地址 , 使得所述每 个切片数据对应的存储节点根据数据地址与物 理地址的映射关系, 从所述 物理地址对应的存储空间中读取所述切片数据 并发送给所述第一存储节 点.

所述接收模块 605 , 还用于接收每个切片数据对应的存储节点发送 的 切片数据, 合并成所述目标数据发送给所述主机。 请参考图 7A, 图 7A是本发明实施例一种存储系统的结构示意图 所述 存储系统包括管理节点 701、 存储节点 702; 需要说明的是, 在本发明实施例 中存储节点 702又称存储设备。

所述管理节点 701 , 用于向所述多个存储节点中的第一存储节点发 送 第一网络卷创建请求, 所述第一网络卷创建请求包括网络卷的信息, 所述 网络卷的信息包括 RAID类型信息和所述网络卷的大小信息。

所述第一存储节点 702, 用于接收所述管理节点 Ί 01发送的第一网络卷 创建请求, 所述第一网络卷创建请求包括网络卷的信息, 所述网络卷的信 息包括 RAID类型信息和所述网络卷的大小信息; 根据所述 RAID类型信息和 所述网络卷的大小信息确定所述多个存储节点 中的每个存储节点 702待分 配的存储空间的大小; 向所述每个存储节点 702分别发送第二网络卷创建 请求, 所述第二网络卷创建请求包括所述每个存储节 点待分配的存储空间 的大小, 使得所述每个存储节点根据所述每个存储节点 待分配的存储空间 的大小为所述网络卷分配存储空间; 为每个存储节点分配的存储空间指定 每个存储节点对应的逻辑地址; 向所述管理节点 701发送所述第一网络卷 创建请求的响应消息, 所述第一网络卷创建请求的响应消息包括: 所述网 络卷的逻辑地址, 所述网络卷的逻辑地址包括所述每个存储节点 对应的逻 辑地址。

本发明实施例中, 第一存储节点 702在接收管理节点 701发送的第一 网络卷创建请求后, 确定出每个存储节点待分配的存储空间, 向每个存储 节点 702发送第二网络卷创建请求使得各存储节点可 以根据第二网络卷创 建请求分配存储空间, 第一存储节点 702对各存储节点分配存储空间指定 逻辑地址, 并将逻辑地址发送给管理节点, 使得管理节点 701知道网络卷 创建成功, 以及该网络卷的逻辑地址。 以此, 实现了网络卷的创建。 请参考图 7B , 图 7B是本发明实施例一种存储系统的结构示意图 所述 存储系统包括主机 703、 存储节点 702; 需要说明的是, 在本发明实施例中存 储节点 702又称存储设备。

所述存储节点 702 , 用于将目标数据切分为至少两个切片数据; 计算所 述至少两个切片数据的校验数据, 为所述校验数据分配校验地址; 确定每 个切片数据的数据地址; 根据所述数据地址与存储节点 702的对应关系确 定每个切片数据对应的存储节点 702 , 以及根据所述校验地址与存储节点 702的对应关系确定校验数据对应的存储节点; 向每个切片数据对应的存 储节点 702发送第一写数据请求, 所述第一写数据请求包括切片数据和数 据地址, 使得所述每个切片数据对应的存储节点 702根据数据地址与物理 地址的映射关系, 将切片数据写入物理地址对应的存储空间中; 向校验数 据对应的存储节点 702发送第二写数据请求, 所述第二写数据请求包括校 验数据和校验地址, 使得所述校验数据对应的存储节点 702根据校验地址 与物理地址的映射关系, 将校验数据写入物理地址对应的存储空间中。

所述主机 700 , 用于向所述存储设备 702发送第三写数据请求, 所述 第三写数据请求包括网络卷的标识、 数据长度和所述目标数据

在本发明实施例中, 第一存储节点 702将目标数据切分为至少两个切 片数据, 计算至少两个切片数据的校验数据, 将切片数据和校验数据存储 在各个存储节点中, 因此实现了数据冗余, 即使其中一个存储节点发生故 障时, 也可以利用其它存储节点中存储的切片数据和 校验数据恢复出发生 故障的存储节点存储的数据, 因此保证了数据可靠性。 请参考图 8 , 本发明实施例提供了一种存储设备 800的示意图。 存储设 备 800可以包括当前技术已知的存储设备, 本发明具体实施例并不对存储设 备 800的具体实现做限定。 存储设备 800包括:

处理器 (processor)810, 通信接口(Communications Interface) 820, 存者器 (memory)830, 通信总线 840。

处理器 810, 通信接口 820, 存储器 830通过通信总线 840完成相互间的 通信。

通信接口 820, 用于与网元通信, 比如与主机或者交换机等通信。

处理器 810, 用于执行程序 832。

具体地, 程序 832可以包括程序代码, 所述程序代码包括计算机操作指 令。

处理器 810 可能是一个中央处理器 CPU, 或者是特定集成电路 ASIC ( Application Specific Integrated Circuit ) ,或者是被配置成实施本发明实施例 的一个或多个集成电路。

存储器 830,用于存放程序 832。存储器 830可能包含高速 RAM存储器, 也可能还包括非易失性存储器( non- volatile memory ) , 例如至少一个磁盘存 储器。

程序 832具体可以包括:

接收模块 501 , 用于接收管理节点发送的第一网络卷创建请求 , 所述 第一网络卷创建请求包括网络卷的信息, 所述网络卷的信息包括 R A I D类 型信息和所述网络卷的大小信息;

确定模块 502 ,用于根据所述 RAID类型信息和所述网络卷的大小信息 确定所述网络卷所需的多个存储节点中的每个 存储节点待分配的存储空 间;

发送模块 503 , 用于向所述每个存储节点分别发送第二网络卷 创建请 求, 所述第二网络卷创建请求包括所述每个存储节 点待分配的存储空间的 大小, 使得所述每个存储节点根据所述每个存储节点 待分配的存储空间的 大小为所述网络卷分配存储空间;

地址指定模块 504 ,用于为每个存储节点分配的存储空间指定每 存储 节点对应的逻辑地址;

所述发送模块 503 , 还用于向所述管理节点发送所述第一网络卷创 建 请求的响应消息, 所述第一网络卷创建请求的响应消息包括: 所述网络卷 的逻辑地址, 所述网络卷的逻辑地址包括所述每个存储节点 对应的逻辑地 址。

程序 832中各模块的具体实现可以参见图 8所示实施例中的相应模块, 在此不赘述。 请参考图 9, 本发明实施例提供了一种存储设备 900的示意图。 存储设 备 900可以包括当前技术已知的存储设备, 本发明具体实施例并不对存储设 备 900的具体实现做限定。 存储设备 900包括:

处理器 (processor)910, 通信接口(Communications Interface)920 , 存者器 (memory)930, 通信总线 940。

处理器 910, 通信接口 920, 存储器 930通过通信总线 940完成相互间的 通信。

通信接口 920, 用于与网元通信, 比如与主机或者交换机等通信。

处理器 910, 用于执行程序 932。

具体地, 程序 932可以包括程序代码, 所述程序代码包括计算机操作指 令。

处理器 910 可能是一个中央处理器 CPU, 或者是特定集成电路 ASIC ( Application Specific Integrated Circuit ) ,或者是被配置成实施本发明实施例 的一个或多个集成电路。

存储器 930,用于存放程序 932。存储器 930可能包含高速 RAM存储器, 也可能还包括非易失性存储器( non- volatile memory ) , 例如至少一个磁盘存 储器。

程序 932具体可以包括: 计算模块 602 , 用于计算所述至少两个切片数据的校验数据, 为所述 校验数据分配校验地址;

确定模块 603 , 用于确定每个切片数据的数据地址; 根据所述数据地 址与存储节点的对应关系确定每个切片数据对 应的存储节点, 以及根据所 述校验地址与存储节点的对应关系确定校验数 据对应的存储节点;

发送模块 604 , 用于向每个切片数据对应的存储节点发送第一 写数据 请求, 所述第一写数据请求包括切片数据和数据地址 , 使得所述每个切片 数据对应的存储节点根据数据地址与物理地址 的映射关系, 将切片数据写 入物理地址对应的存储空间中; 向校验数据对应的存储节点发送第二写数 据请求, 所述第二写数据请求包括校验数据和校验地址 , 使得所述校验数 据对应的存储节点根据校验地址与物理地址的 映射关系, 将校验数据写入 物理地址对应的存储空间中。

程序 932中各模块的具体实现可以参见图 9所示实施例中的相应模块, 在此不赘述。

所属领域的技术人员可以清楚地了解到, 为描述的方便和筒洁, 上述描 述的设备和模块的具体工作过程, 可以参考前述方法实施例中的对应过程描 述, 在此不再赘述。

在本申请所提供的几个实施例中, 应该理解到, 所揭露的设备和方法, 可以通过其它的方式实现。 例如, 以上所描述的装置实施例仅仅是示意性的, 例如, 所述模块的划分, 仅仅为一种逻辑功能划分, 实际实现时可以有另外 的划分方式, 例如多个模块或组件可以结合或者可以集成到 另一个设备中, 或一些特征可以忽略, 或不执行。 另一点, 所显示或讨论的相互之间的耦合 或直接耦合或通信连接可以是通过一些通信接 口, 装置或模块的间接耦合或 通信连接, 可以是电性, 机械或其它的形式。

所述作为分离部件说明的模块可以是或者也可 以不是物理上分开的, 作 为模块显示的部件可以是或者也可以不是物理 子模块,即可以位于一个地方, 或者也可以分布到多个网络子模块上。 可以根据实际的需要选择其中的部分 或者全部, 模块来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能模块可 以集成在一个处理模块中, 也可以是各个模块单独物理存在, 也可以两个或两个以上模块集成在一个模 块中。

本领域普通技术人员可以理解实现上述实施例 的全部或部分步骤可 以通过硬件来完成, 也可以通过程序来指令相关的硬件完成, 所述的程序 可以存储于一种计算机可读存储介质中, 上述提到的存储介质可以是只读 存储器, 磁盘或光盘等。

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




 
Previous Patent: ALARM CLOCK

Next Patent: FLUORESCENT PLATE