块储存存取和网关模块、储存系统和方法与内容递送装置的制造方法
【技术领域】
[0001]本发明涉及块储存存取和网关模块、储存系统和方法与内容递送装置,特别涉及提供对块储存(block storage)的可容错(fault-tolerant)存取和负载平衡的技术。
【背景技术】
[0002]块储存是硬盘、光盘、闪存和磁带等所有常见储存设备的实际操作方式,其中“块”意味着数据是以固定长度的位串(bit string)为单位在储存设备上被读写。然而,云端储存作为一种高级的概念,讲求的是负载平衡、极高的可用性和水平可伸缩性(scale-1n/scale-out),并不处理底层储存设备的运作。因此业界面对巨量数据(big data)时代的来临,需要一种能包装或虚拟化块储存设备至抽象层,使之可视为云端的机制。
[0003]从而,需要提供一种块储存存取和网关模块、储存系统和方法与内容递送装置来解决上述问题。
【发明内容】
[0004]鉴于上述需求,本发明旨在提供一种块储存网关模块、包含前述模块的一种储存中介系统及其对应方法、包含前述系统的一种云端储存系统、对应前述模块的一种提供对块储存的存取的方法以及用于部署(deploy)可执行此方法的计算机的内容递送装置。所谓存取可以是读、写、开、关、擦除、扫描、格式化(format)、设定、验证、测试诊断等等操作,不一而足。
[0005]本发明提供一种块储存网关模块,其包含接收单元和存取单元。接收单元用于拦截(intercept)指示对储存体进行本机存取的对操作系统的系统呼叫(system call),以产生近端存取指令。存取单元用于依据近端存取指令,对对应储存体的储存阵列进行近端存取。在一实施例中,块储存网关模块还包含编解码单元,其用于产生对应原始数据的可容错数据和用于自可容错数据还原出原始数据。若前述本机存取指的是自储存体读取原始数据,则近端存取即自储存阵列读取可容错数据;若本机存取是指将原始数据写入储存体,则近端存取是将可容错数据写入储存阵列。
[0006]本发明亦提供一种块储存网关模块,该块储存网关模块包括:一接收单元,该接收单元用于拦截对一操作系统的一系统呼叫,以产生一近端存取指令,该系统呼叫指示对一储存体进行一本机存取;以及一存取单元,该存取单元用于依据该近端存取指令,对一储存阵列进行一近端存取,该储存阵列对应该储存体,该近端存取对应该本机存取。
[0007]本发明亦提供一种提供对块储存的存取的方法,其步骤包含:拦截指示对储存体进行本机存取的对操作系统的系统呼叫,以产生近端存取指令;依据近端存取指令,对对应储存体的储存阵列进行近端存取。在一实施例中,若前述本机存取是指将原始数据写入储存体,则产生对应原始数据的可容错数据,并将可容错数据写入储存阵列;在另一实施例中,若本机存取指的是自储存体读取原始数据,则自储存阵列读取可容错数据,并自可容错数据还原出原始数据。
[0008]本发明亦提供一种提供对块储存的存取的方法,该提供对块储存的存取的方法包括:拦截对一操作系统的一系统呼叫,以产生一近端存取指令,该系统呼叫指示对一储存体进行一本机存取;以及依据该近端存取指令,对一储存阵列进行一近端存取,该储存阵列对应该储存体,该近端存取对应该本机存取。
[0009]本发明亦提供一种储存中介系统,其包含至少一个储存资源(storage resource)装置和负载平衡装置。储存资源装置包含伺服模块和块储存网关模块。伺服模块用于接收指示对储存资源装置进行远程访问的远程访问指令,以产生系统呼叫。块储存网关模块用于拦截此系统呼叫,并用于依据系统呼叫,对储存阵列进行近端存取。储存阵列对应储存资源装置,近端存取对应远程访问。负载平衡装置用于接收远程访问要求,用于选择储存资源装置其中之一,以及用于传送包含被选择的该储存资源装置的地址的答允信息。
[0010]本发明亦提供一种储存中介系统,该储存中介系统包括:一或多个储存资源装置,每一该储存资源装置包括:一伺服模块,伺服模块用于接收一远程访问指令,以产生一系统呼叫,该远程访问指令指示对该储存资源装置进行一远程访问;以及一块储存网关模块,该块储存网关模块用于拦截该系统呼叫,并用于依据该系统呼叫,对一储存阵列进行一近端存取,该储存阵列对应该储存资源装置,该近端存取对应该远程访问;以及一负载平衡装置,该负载平衡装置用于接收一远程访问要求,用于选择该或该些储存资源装置其中之一,以及用于传送一答允信息,该答允信息包括被选择的该储存资源装置的一地址。
[0011]本发明亦提供一种储存中介方法,该储存中介方法包含:接收一远程访问要求;选择一或多个储存资源装置其中之一;传送一答允信息,该答允信息包含被选择的该储存资源装置的一地址;接收指示对被选择的该储存资源装置进行一远程访问的一远程访问指令,以产生一系统呼叫;拦截该系统呼叫;以及依据该系统呼叫,对一储存阵列进行一近端存取,该储存阵列对应该储存资源装置,该近端存取对应该远程访问。
[0012]本发明还提供一种云端储存系统,其包含多个储存节点、一或多个储存资源装置和负载平衡装置。储存资源装置用于接收远程访问指令,用于拦截对应远程访问指令的系统呼叫,以及用于依据此系统呼叫,对储存阵列进行近端存取。远程访问指令指示对储存资源装置进行远程访问;储存阵列对应储存资源装置,且包含至少部分的前述储存节点。负载平衡装置用于接收远程访问要求,用于选择储存资源装置其中之一,以及用于传送包含被选择的该储存资源装置的地址的答允信息。
[0013]本发明还提供一种云端储存系统,该云端储存系统包括:多个储存节点;一或多个储存资源装置,每一该储存资源装置用于接收一远程访问指令,用于拦截对应该远程访问指令的一系统呼叫,以及用于依据该系统呼叫,对一储存阵列进行一近端存取,该远程访问指令指示对该储存资源装置进行一远程访问,该储存阵列对应该储存资源装置且包括该些储存节点其中一或多个;以及一负载平衡装置,该负载平衡装置用于接收一远程访问要求,用于选择该或该些储存资源装置其中之一,以及用于传送一答允信息,该答允信息包括被选择的该储存资源装置的一地址。
[0014]本发明还提供一种内容递送装置,用于部署一台计算机,使之具有使之执行多道指令的程序代码,彼等指令包含:拦截指示对储存体进行本机存取的对操作系统的系统呼口q,以产生近端存取指令;依据近端存取指令,对对应储存体的储存阵列进行近端存取。在一实施例中,若前述本机存取是指将原始数据写入储存体,则产生对应原始数据的可容错数据,并将可容错数据写入储存阵列;在另一实施例中,若本机存取指的是自储存体读取原始数据,则自储存阵列读取可容错数据,并自可容错数据还原出原始数据。
[0015]本发明还提供一种内容递送装置,该内容递送装置用于部署一计算机,使该计算机具有使该计算机执行多个指令的程序代码,该些指令包括:拦截对一操作系统的一系统呼叫,以产生一近端存取指令,该系统呼叫指示对一储存体进行一本机存取;以及依据该近端存取指令,对一储存阵列进行一近端存取,该储存阵列对应该储存体,该近端存取对应该本机存取。
[0016]本发明可以成本平价便宜的大宗硬件架构出满足负载平衡、高可用性和可伸缩的云端储存,由于本发明纯以软件定义储存,不依赖任何的特殊硬件设计,在管理上具有灵活性与机敏性。
[0017]以上关于本
【发明内容】
及以下关于实施方式的说明用以示范与阐明本发明的精神与原理,并提供对本发明的权利要求书的范围更进一步的解释。
【附图说明】
[0018]图1A是依据本发明一实施例的关于块储存网关模块和储存资源装置的方框图。
[0019]图1B是依据本发明另一实施例的块储存网关模块的方框图。
[0020]图1C是依据本发明一实施例的关于储存阵列的方框图。
[0021]图2A与图2B是依据本发明一实施例的提供对块储存的存取的方法的部分流程图。
[0022]图3是依据本发明一实施例的关于储存中介系统的方框图。
[0023]图4A是依据本发明一实施例的储存中介方法的流程图。
[0024]图4B是依据本发明一实施例的负载平衡装置依据心跳信息选择储存资源装置其中之一的流程图。
[0025]图5是依据本发明一实施例的云端储存系统的方框图。
[0026]主要组件符号说明:
[0027]I储存资源装置
[0028]10、11块储存网关模块
[0029]101、111接收单元
[0030]103、113编解码单元
[0031]105、115存取单元
[0032]12伺服模块
[0033]2储存阵列
[0034]21直接附加储存节点
[0035]23网络附加储存节点
[0036]25储存局域网络
[0037]31网络
[0038]32用户端
[0039]4储存中介系统
[0040]40负