块储存存取和网关模块、储存系统和方法与内容递送装置的制造方法_3

文档序号:8430466阅读:来源:国知局
。如图4A所示,在步骤S41中,用户端32传送远程访问要求,询问负载平衡装置40如何存取某储存标的。在步骤S43中,负载平衡装置40从储存资源装置41、42及储存中介系统4可能尚有的其他储存资源装置中选择其一。假设被选出的是储存资源装置41,则负载平衡装置40在步骤S45中将储存资源装置41的地址打包在答允信息中回复给用户端32。此处地址可能是包含域名或端口号的网络地址,或足以辨识储存资源装置41的某个代码。在这种意义上,负载平衡装置40亦具有类似域名服务器(domain name server,简称DNS)的功能。
[0060]在步骤S47中,用户端32依据步骤S45中所得的地址,以发起者(initiator)的身分对储存资源装置41发出远程访问指令。远程访问指令由伺服模块412转换为系统呼口4,并在步骤S49中为块储存网关模块410拦截,其后流程如图2A或图2B所阐明。
[0061]在一实施例中,正常运作的储存资源装置41和42会定期向负载平衡装置40以心跳信息报备,而负载平衡装置40即依据这些心跳信息的有无和内容执行步骤S43。具体而言,以储存资源装置41为例,请参见图4B。如图4B所示,周期性地,在步骤S402中,维护模块414传送心跳信息。在步骤S404中,负载平衡装置40因为刚才接收到储存资源装置41的心跳信息,判断出储存资源装置41仍正常运作,在步骤S406中将之列入候选范围,并预期下一循环的心跳信息在步骤S402中自维护模块414传来。在一实施例中,候选范围中的储存资源装置是因应对它们所代表的储存标的的远程访问要求在步骤S408中轮流被选择,如储存资源装置41和42交替。
[0062]如前所述,储存阵列2中可能有直接附加储存节点21,如实际操作储存资源装置41的计算机固有的硬盘。在一实施例中,储存资源装置41的心跳信息还包含其负载量,例如直接附加储存节点21尚余多少比例或多少单位的容量。在另一实施例中,负载平衡装置40通过其他通道,有源或无源地检测知道储存资源装置41的负载如何。在储存中介系统4中,假设储存资源装置41的负载显著多于储存资源装置42或可能存在的其他储存资源装置者,如其负载量超过所有储存资源装置的负载量的平均达一个标准差,则负载平衡装置40发出指令,重新分配储存资源装置41超额负载的部分,如将之转移至储存资源装置42。此处重新分配的指令依实际操作方式不同,可以传送至伺服模块412、维护模块414或前述其他通道。
[0063]如图3所示,储存资源装置41以块储存网关模块410及近端存取模块416耦接直接附加储存节点21。当然近端存取模块416可以但不一定和存取单元105共用程序代码。在一实施例中,当储存资源装置42对其所见的储存阵列进行近端存取,而此储存阵列包含直接附加储存节点21时,储存资源装置42可通过近端存取模块416完成近端存取中与直接附加储存节点21有关的部分。具体而言,储存资源装置41的网络适配卡(networkinterface controller,简称NIC)的驱动程序可被修改或插入,以处理关联于储存中介系统4、如来自其他储存资源装置的特殊指令。
[0064]请参见图5。图5是依据本发明一实施例的云端储存系统的方框图。如图5所示,云端储存系统5包含负载平衡装置50、储存资源装置51、52以及形成储存节点母集(superset) 53的多个储存节点。负载平衡装置50可以就是图3中的负载平衡装置40,储存资源装置51或52可以就是储存资源装置41,而储存节点母集53亦是储存阵列2的母集。外界用户端通过网络存取云端储存系统5首先是和负载平衡装置50,接着是和储存资源装置51、52或云端储存系统5中可能尚有的储存资源装置交谈,其中流程详如图4A中步骤S41至S47所述。
[0065]本发明提供的内容递送装置用于部署储存资源装置,特别是使之具有块储存网关模块。具体而言,内容递送装置可以提供将实际操作中的储存资源装置的计算机下载块储存网关模块的安装或修补(patch)文件,或内容递送装置可以将操作系统组态推送(push)至计算机。又者,内容递送装置可以单纯是文件服务器,供某云端储存系统的管理端下载实际操作中提供对块储存的存取的方法的程序代码,以配送给所管理的储存资源装置。管理端耦接一或多个储存资源装置的方式类似负载平衡装置者。
[0066]综上所述,依据本发明的中介用户端与块储存,可以成本平价便宜的大宗硬件架构出满足负载平衡、高可用性和可伸缩的云端储存。由于本发明纯以软件定义储存,不依赖任何的特殊硬件设计,在管理上具有灵活性与机敏性。
[0067]虽然本发明以前述的实施例公开如上,然而其并非用以限定本发明。在不脱离本发明的精神和范围的情况下,所为的更动与润饰,均属本发明的专利保护范围。关于本发明所界定的保护范围请参考所附的权利要求书的范围。
【主权项】
1.一种块储存网关模块,该块储存网关模块包括: 一接收单元,该接收单元用于拦截对一操作系统的一系统呼叫,以产生一近端存取指令,该系统呼叫指示对一储存体进行一本机存取;以及 一存取单元,该存取单元用于依据该近端存取指令,对一储存阵列进行一近端存取,该储存阵列对应该储存体,该近端存取对应该本机存取。
2.如权利要求1所述的块储存网关模块,其中该接收单元形成至少部分的该操作系统中用于处理该系统呼叫的程序代码。
3.如权利要求2所述的块储存网关模块,其中该操作系统的一系统呼叫表中关联于该系统呼叫的一条目指向该接收单元。
4.如权利要求1所述的块储存网关模块,其中该近端存取指令是一输入输出控制,至少部分的该存取单元位于该操作系统的使用者空间。
5.如权利要求1所述的块储存网关模块,其中该近端存取指令是一进程间通信,该存取单元包括一驱动程序。
6.如权利要求1所述的块储存网关模块,还包括: 一编解码单元,该编解码单元耦接该存取单元,用于产生对应一原始数据的一可容错数据; 其中若该本机存取是将该原始数据写入该储存体,则该近端存取是将该可容错数据写入该储存阵列。
7.如权利要求6所述的块储存网关模块,其中当该编解码单元产生该可容错数据时,该编解码单元以一错误更正码编码该原始数据。
8.如权利要求7所述的块储存网关模块,其中当该编解码单元以该错误更正码编码该原始数据时,该编解码单元依据该原始数据和该错误更正码产生m个数据块,m是正整数,该m个数据块形成至少部分的该可容错数据。
9.如权利要求8所述的块储存网关模块,其中该储存阵列包括多个储存节点,且当该存取单元将该可容错数据写入该储存阵列时,该存取单元将该m个数据块分别选择性地写入该些储存节点。
10.如权利要求8所述的块储存网关模块,其中该编解码单元还用于自该可容错数据还原出该原始数据,且若该本机存取是自该储存体读取该原始数据,则该近端存取是自该储存阵列读取该可容错数据。
11.如权利要求10所述的块储存网关模块,其中当该编解码单元自该可容错数据还原出该原始数据时,该编解码单元依据该m个数据块中的任k个数据块产生该原始数据,k是正整数且不大于m。
12.如权利要求1所述的块储存网关模块,还包括: 一编解码单元,该编解码单元耦接该存取单元,用于自对应一原始数据的一可容错数据还原出该原始数据; 其中若该本机存取是自该储存体读取该原始数据,则该近端存取是自该储存阵列读取该可容错数据。
13.一种提供对块储存的存取的方法,该提供对块储存的存取的方法包括: 拦截对一操作系统的一系统呼叫,以产生一近端存取指令,该系统呼叫指示对一储存体进行一本机存取;以及 依据该近端存取指令,对一储存阵列进行一近端存取,该储存阵列对应该储存体,该近端存取对应该本机存取。
14.如权利要求13所述的提供对块储存的存取的方法,其中若该本机存取是将一原始数据写入该储存体,则对该储存阵列进行该近端存取的步骤包括: 产生对应该原始数据的一可容错数据;以及 将该可容错数据写入该储存阵列。
15.如权利要求14所述的提供对块储存的存取的方法,其中产生该可容错数据的步骤包括以一错误更正码编码该原始数据。
16.如权利要求15所述的提供对块储存的存取的方法,其中以该错误更正码编码该原始数据的步骤包括依据该原始数据和该错误更正码产生m个数据块,m是正整数,该m个数据块形成至少部分的该可容错数据。
17.如权利要求16所述的提供对块储存的存取的方法,其中该储存阵列包括多个储存节点,且将该可容错数据写入该储存阵列的步骤包括将该m个数据块分别选择性地写入该些储存节点。
18.如权利要求16所述的提供对块储存的存取的方法,其中若该本机存取是自该储存体读取一原始数据,则对该储存阵列进行该近端存取的步骤包括: 自该储存阵列读取该可容错数据;以及 自该可容错数据还原出该原始数据。
19.如权利要求18所述的提供对块储存的存取的方法,其中自该可容错数据还原出该原始数据的步骤包括依据该m个数据块中任k个数据块产生该
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1