一种物理磁盘的共享方法及装置的制造方法

文档序号:9417115阅读:242来源:国知局
一种物理磁盘的共享方法及装置的制造方法
【技术领域】
[0001] 本发明涉及网络分布式存储技术领域,特别是涉及一种物理磁盘的共享方法及装 置。
【背景技术】
[0002] 随着数据量的爆炸式增长,存储的数据文件越来越大,传统的数据存储方式已不 能满足日益增长的需求,分布式存储技术在这几年如雨后春笋涌现出来,现有的分布式存 储技术中使用较多者如IP-SAN(IP-Storage Area Network,IP-存储局域网络)技术,其顺 应了当前大数据的发展趋势背景下应运而生,正逐渐取代传统的NAS和SAN存储设备。
[0003] 如图1所示,图1是现有的IP-SAN技术的系统结构示意图,如图1所示,IP-SAN系 统米用 iscsi (internet Small Computer System Interface,互联网小型计算机接口)协 议将物理磁盘(内设置有Target存储设备的LUN(卷)100) 10共享给多个Initiator (发 起者,即前端设备),每个Initiator均可以将卷100挂载到本地,在本地作为SCSI磁盘提 供给应用使用。
[0004] 在现有技术中,多个发起者通过网络连接及会话实现与同一个卷100的通信,但 是,由于后端存储设备单个卷100需要同时共享给多个发起者,这会造成前端共享设备的 存储性能受到限制,在发起者1、发起者2、发起者3同时对单个卷进行并发访问时,实际上 是对同一个物理磁盘进行访问,当发起者数量过多时,单个物理磁盘负荷过大,会造成阻 塞,使得发起者不能正常访问单个卷,故现有技术由于本身网络架构所限,并不能支持并发 访问,并且可靠性较低。

【发明内容】

[0005] 本发明实施例提供了一种物理磁盘的共享方法及装置,将前端设备的卷和快照映 射至多个物理磁盘中,每一卷和快照均对应多个不同的物理磁盘,在访问同一卷和快照时, 实质上需要访问多个不同的物理磁盘,而不是单一的物理磁盘,故可支持并发访问物理磁 盘,可靠性亦得到极大的提高。
[0006] 第一方面提供一种物理磁盘的共享方法,该方法用于将多个物理磁盘通过网络共 享给前端设备,其中每一物理磁盘均具有一网络地址,该方法包括:将待分配至前端设备的 多个卷和快照组织成多个树形结构,并以包括树识别码、分支识别码以及节点识别码的三 元数组来标识多个树形结构中的任意卷或快照;以预定大小的数据块对每一卷或快照进行 条带化,以包括树识别码、分支识别码、节点识别码以及数据块识别码的四元数组来标识多 个树形结构中的任意卷或快照中的任意数据块;对每一数据块对应的四元数组进行组合运 算,获取与四元数组一一对应的唯一识别码;对唯一识别码进行分布式哈希运算,获取与数 据块对应的路由识别码,将路由识别码与物理磁盘的网络地址一一对应以形成路由关系表 并存储。
[0007] 在第一方面的第一种可能的实现方式中,该方法还包括:获取前端设备发出的卷 加载请求;响应卷加载请求选择多个树形结构中的卷或快照;发送所选择的卷或快照上每 一数据块对应的唯一识别码至前端设备。
[0008] 根据第一方面的第一种可能的实现方式,在第二种可能的实现方式中,该方法还 包括:获取前端设备发送的写入请求,其中写入请求是前端设备对卷中的数据块进行写入 操作时产生的,写入请求包括所要写入的卷中的数据块对应的唯一识别码以及待写入数 据;将唯一识别码作为键,并将待写入数据作为值,形成键值关系。
[0009] 根据第一方面的第一种可能的实现方式,在第三种可能的实现方式中,该方法还 包括:对唯一识别码进行分布式哈希运算,获取对应的路由识别码;根据路由识别码查找 路由关系表中对应的物理磁盘的网络地址;将键值关系发送至网络地址对应的物理磁盘, 以将键值关系中的唯一识别码写入物理磁盘的元数据区域的空位置,并将键值关系中的待 写入数据写入元数据区域的空位置对应的数据区域。
[0010] 根据第一方面的第一种可能的实现方式,在第四种可能的实现方式中,该方法还 包括:获取前端设备发送的读取请求,其中读取请求是前端设备对卷或快照中的数据块进 行读取操作时产生的,读取请求包括所要读取的卷或快照中的数据块对应的唯一识别码; 将唯一识别码作为键值关系中的键。
[0011] 根据第一方面的第四种可能的实现方式,在第五种可能的实现方式中,该方法还 包括:对唯一识别码进行分布式哈希运算,获取对应的路由识别码;根据路由识别码查找 路由关系表对应的物理磁盘的网络地址;查找网络地址对应的物理磁盘的元数据区域是否 存储有唯一识别码,如果有,读取存储有唯一识别码的元数据区域对应的数据区域的数据, 并将数据作为键值关系中的值;如果没有,将误读提醒数据作为键值关系中的值,其中误读 提醒数据用于提醒前端设备本数据块在读取之前并没有写入数据;发送键值关系至前端设 备。
[0012] 根据第一方面、第一方面的第一至第五种可能的实现方式中的任一者,在第六种 可能的实现方式中,在树形结构中,卷设置在树形结构的叶子节点,快照设置在树形结构的 非叶子节点。
[0013] 根据第一方面、第一方面的第一至第五种可能的实现方式中的任一者,在第七种 可能的实现方式中,物理磁盘的数据区域也以预定大小的数据块进行条带化。
[0014] 根据第一方面、第一方面的第一至第五种可能的实现方式中的任一者,在第八种 可能的实现方式中,预定大小的数据块的大小为1M。
[0015] 根据第一方面、第一方面的第一至第五种可能的实现方式中的任一者,在第九种 可能的实现方式中,网络地址为IP地址及端口的组合。
[0016] 第二方面提供一种物理磁盘的共享装置,该装置用于将多个物理磁盘通过网络共 享给前端设备,其中每一物理磁盘均具有一网络地址,该装置包括:第一标识模块,用于将 待分配至前端设备的多个卷和快照组织成多个树形结构,并以包括树识别码、分支识别码 以及节点识别码的三元数组来标识多个树形结构中的任意卷或快照;第二标识模块,用于 以预定大小的数据块对每一卷或快照进行条带化,以包括树识别码、分支识别码、节点识别 码以及数据块识别码的四元数组来标识多个树形结构中的任意卷或快照中的任意数据块; 第一运算模块,用于对每一数据块对应的四元数组进行组合运算,获取与四元数组一一对 应的唯一识别码;第二运算模块,用于对唯一识别码进行分布式哈希运算,获取与数据块对 应的路由识别码;存储模块,将路由识别码与物理磁盘的网络地址一一对应以形成路由关 系表并存储。
[0017] 在第二方面的第一种可能的实现方式中,该装置还包括:接收模块,用于获取前端 设备发出的卷加载请求;选择模块,用于响应卷加载请求选择多个树形结构中的卷或快照; 发送模块,用于发送所选择的卷或快照上每一数据块对应的唯一识别码至前端设备。
[0018] 根据第二方面的第一种可能的实现方式,在第二种可能的实现方式中,该装置还 包括键值关系生成模块,其中:接收模块,还用于获取前端设备发送的写入请求,其中写入 请求是前端设备对卷中的数据块进行写入操作时产生的,写入请求包括所要写入的卷中的 数据块对应的唯一识别码以及待写入数据;键值关系生成模块,用于将唯一识别码作为键, 并将待写入数据作为值,形成键值关系。
[0019] 根据第二方面的第二种可能的实现方式,在第三种可能的实现方式中,该装置还 包括查找模块,其中:第二运算模块,用于对唯一识别码进行分布式哈希运算,获取对应的 路由识别码;查找模块,用于根据路由识别码查找路由关系表中对应的物理磁盘的网络地 址;发送模块,还用于将键值关系发送至网络地址对应的物理磁盘,以将键值关系中的唯一 识别码写入物理磁盘的元数据区域的空位置,并将键值关系中的待写入数据写入元数据区 域的空位置对应的数据区域。
[0020] 根据第二方面的第一种可能的实现方式,在第四种可能的实现方式中,该装置还 包括键值关系生成模块,其中:接收模块,用于获取前端设备发送的读取请求,其中读取请 求是前端设备对卷或快照中的数据块进行读取操作时产生的,读取请求包括所要读取的卷 或快照中的数据块对应的唯一识别码;键值关系生成模块,用于将唯一识别码作为键值关 系中的键。
[0021] 根据第二方面的第四种可能的实现方式,在第五种可能的实现方式中,该装置还 包括查找模块,其中:第二运算模块,用于对唯一识别码进行分布式哈希运算,获取对应的 路由识别码;查找模块,用于根据路由识别码查找路由关系表对应的物理磁盘的网络地址; 并查找网络地址对应的物理磁盘的元数据区域是否存储有唯一识别码,如果有,键值关系 生成模块用于读取存储有唯一识别码的元数据区域对应的数据区域的数据,并将数据作为 键值关系中的值;如果没有,键值关系生成模块用于将误读提醒数据作为键值关系中的值, 其中误读提醒数据用于提醒前端设备本数据块在读取之前并没有写入数据;发送模块,用 于发送键值关系至前端设备。
[0022] 根据第二方面、第二方面的第一至第五种可能的实现方式中的任一者,在第六种 可能的实现方式中,在树形结构中,卷设置在树形结构的叶子节点,快照设置在树形结构的 非叶子节点。
[0023] 根据第二方面、第二方面的第一至第五种可能的实现方式中的任一者,在第七种 可能的实现方式中,物理磁盘的数据区域也以预定大小的数据块进行条带化。
[0024] 根据第二方面、第二方面的第一至第五种可能的实现方式中的任一者,在第八种 可能的实现方式中,
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1