分布式存储器的制作方法

文档序号:7677069阅读:151来源:国知局
专利名称:分布式存储器的制作方法
技术领域
本发明涉及分布式存储系统、分布式存储管理系统以及对分布式 存储器的访问进行管理的服务器。
背景技术
对个人和商务用途的数据存储器的需求在不断上升。
例如,随着数字记录和重放装置(如数码相机和音乐播放器)越
来越流行,需要存储大量数据(比如大于10G字节)的个人用户的数 量在增加。而且,当使用这些装置时,产生或下栽的内容的量在积累, 因此要存储的数据的量也在增加。 对数据存储的要求也在变化。
传统上,数据文件(比如数码照片)#:存储在诸如磁性硬盘的存
储装置上的单个存储单元(location),例如存储在家用电脑上。然而, 用户不断地希望能够远程甚至在运动中访问他们的数据。而且,用户 也可能希望把他们的数据与其它用户共享。
含有一个以上存储装置且用虚拟文件系统来管理的分布式存储
器能够提供解决这些问题的方案。
能够增加存储装置以提供额外容量。而且,对用户而言,似乎他
们的数据被存储在单个的、可访问的"存储单元",即使物理上该数 据可被完全不同地存储到许多存储装置,甚至其可能随着时间推移而 改变。用户也能授予其它用户(如朋友或工作同事)访问权,允许他 们读甚至更新他或她的文件。
使用虚拟文件系统的常规分布式存取系统是已知的。 US-A-5873085记载了具有多个服务器的系统,每个服务器管理各自的文件系统且至少一个服务器操作虚拟文件管理系统。该虚拟文件 管理系统包含管理表,该表存有虚拟文件标识符、服务器名以及每个 虚拟文件的真实文件名。如果服务器从客户机接收请求以读或修改指 定文件而该服务器未保存该文件,那么该服务器就识别另外哪个服务 器存有该文件,并修改该请求以指示另外那个服务器直接响应该客户 机且把修改后的请求向另外那个服务器转发。
该系统存在服务器也存储数据的缺点。这会限制能够添加到任一 服务器的存储的量。增加更多的服务器可以提供额外的存储,但是这 比仅仅增加额外的存储装置成本更高。
US-A-20050246393记载了具有虚拟文件系统的网络存储系统和 具有多个智能存储节点和多个用于识别和访问存储指定目标文件的 智能存储节点的控制节点(也称为"分布式目标存储管理器")的存 储器集群(storage cluster)。每个分布式目标存储管理器保存查找表 和状态表,查找表标识存储在智能存储节点中的目标文件的存储单 元,状态表存储与智能存储节点的总容量和可用状态有关的信息。状 态表用来选择存储新目标文件的智能存储节点。如果网络存储系统收 到在新目标文件中存储数据的请求,那么负栽平衡结构基于有效性选 择分布式目标存储管理器之一,并向所选择的分布式目标存储管理器 转发该请求。反过来,分布式目标存储管理器选择智能存储节点。
不同的分布式目标存储管理器负责存储新目标文件。因此,至少 在最初,每个分布式目标存储管理器只存储与它们负责的文件有关的 信息。因此,如果分布式目标存储管理器收到对它们不负责的给定文 件进行访问的请求,那么它们就向智能存储节点广播对该文件的请 求。所以,必须给智能存储节点提供足够的处理能力以处理该请求。 这使增加存储节点更困难。
本发明试图提供改进的服务器,用于对对分布式存储器的访问进 行管理,并因而提供改进的分布式存储系统。

发明内容
依照本发明的第一方面,提供了用于管理对包含多个存储装置的 分布式存储器的访问的服务器,该服务器配置成与至少一个其它的服 务器通信以便确定所述服务器中的哪一个服务器选择在存储数据时 要被使用的分布式存储器的一部分。
因此,单个服务器控制数据的存储,有助于避免存储器的并行分 配的问题,且有助于使与该数据有关的信息被顺序地存储在单个元数 据服务器中。
该服务器可以包括第一控制器,用于从客户机接收对在分布式 存储器中存储数据的请求;以及,第二控制器,用于选择在存储数据 时要用的分布式存储器的所述部分。第二控制器配置成与至少一个其 它的第二控制器进行通信以便确定第二控制器中的哪一个控制器选
择要被使用的分布式存储器的所述部分。
该服务器可被配置成响应另一个服务器将选择要被使用的分布 式存储器的所述部分的确定来从另一个服务器接收分布式存储器的 所述部分的身份(identity),以及响应它将选择要祐 使用的分布式存 储器的所述部分的确定来选择分布式存储器的所述部分。
该服务器可^J己置成选择所述分布式存储器的所述部分内的存 储装置之一。
该服务器还可以包括第三控制器,用于响应来自第二控制器的指 令选择所述分布式存储器的所述部分内的存储装置之一。
该服务器可以被配置成在所述文件已被存储在一个存储装置后 使所述文件被复制到所述分布式存储器的所述部分内的其它存储装 置中。该服务器可以被配置成在所述文件已被存储后向元数据服务器 发送与所述文件有关的信息。该服务器可以被配置成从元数据服务器 接收对应于所述文件的虚拟文件标识符,并向该客户机发送所述虚拟 文件标识符。
该服务器可以;〖皮配置成响应读或更新文件的请求,向至少一个元数据服务器中的任一元数据服务器发送对与所述文件有关的信息的 请求。
存储装置中的至少一个存储装置可由诸如存储器访问网络的远 程存储系统提供。
依照本发明的第二方面,提供了分布式存储管理系统,该管理系
中的文件有关的信息的元数据服务器。
元数据服务器可和访问管理服务器分离。
该分布式存储管理系统还可以包括至少一个另外的元数据服务 器,其中,访问管理服务器均^f支配置成向元数据服务器但不向所述至 少 一个另外的元数据服务器发送与文件相关的信息。访问管理服务器 均被配置成向所述至少一个另外的元数据服务器中的任意元数据服 务器发送对与文件相关的信息的请求。
依照本发明的第三方面,提供了分布式存储系统,该存储系统包 括分布式文件管理系统和包含多个存储装置的分布式存储器。
该存储装置可包括多种类型的存储装置。
依照本发明的第四方面,提供了操作用于管理对含有多个存储装 置的分布式存储器的访问的^l良务器的方法,该方法包括与至少一个其 它的服务器通信以便确定所述服务器中哪一个服务器选择在存储数 据时要被使用的分布式存储器的那部分。该方法可以包括从客户机接 收在所述分布式存储器中存储数据的请求。
该方法可以包括第一控制器接收在分布式存储器中存储数据的 请求;以及第二控制器与至少 一个其它的第二控制器通信以便确定所 述第二控制器中的哪一个控制器选择要被使用的分布式存储器的那部分。
该方法可以包括确定另 一个服务器将选择要^皮使用的分布式存 储器的所述部分;以及从另 一个服务器接收要被使用的分布式存储器 的所述部分的身份。该方法可以包括确定所述服务器将选择要被使用的分布式存储器的一部分;以及选择要被使用的分布式存储器的一 部分。该方法可以包括选择要被使用的所述分布式存储器内的所述部 分的存储装置之一。该方法可以包括在分布式存储器的所选部分中存 储数据。
该方法可以包括在文件已被存储到一个存储装置之后使所述文 件;故复制到所述分布式存储器的所述部分内的其它存储装置。该方法 可以包括在已存储该文件之后向元数据服务器发送与该文件有关的
标识符并向客户机发送该虚拟文件标识符。
该方法还可以包括接收读或更新文件的请求;以及向至少一个 元数据服务器中的任一元数据服务器发送对与该文件相关的信息的 请求。
依照本发明的第五方面,提供了包括指令的计算机程序,所述指 令在祐:计算机执行时使计算机执行所述方法。
依照本发明的第六方面,提供了存储该计算机程序的计算机可读' 媒介。


现以示例方式并参考

本发明的实施例,其中
图1是依照本发明的分布式存储系统的示意图2图解了用于图1所示服务器的计算机系统;
图3是用于对分布式存储器的访问进行管理的服务器的框图4是图1所示系统的框图5a和5b图解了在图4所示系统中执行的文件写过程;
图6是操作分配管理器的方法的过程流程图7a和7b图解了在图4所示系统中执行的文件更新过程;以及
图8图解了在图4所示系统中执行的文件读过程。
具体实施例方式
参照图1,示出了依照本发明的分布式存储系统1。客户机2、 3 (在该示例中,桌上型个人电脑2和移动电话手机3)能够通过通信 网络4 (如Internet)访问分布式存储系统1。为清楚起见,只示出了 两个客户机2、 3,但是要理解一个客户机或两个以上的客户机能够访 问系统l。网络4可以包含多个无线和有线的网络,包括^^共陆地移 动网络(未示出)或者无线局域网(未示出)。
分布式存储系统1包括用于对分布式存储器的访问进行管理的第 一、第二和第三服务器5!、 52、 53 (在下文中,服务器5i、 52、 53被 称为"文件服务供应者")。系统l可以具有较少(如一个或两个) 或较大数目的文件服务供应者。文件服务(service)供应者5!、 52、 53 与存储装置6 (例如,以由第三文件服务供应者53提供的硬盘驱动器 的形式的第一存储装置6!)进行本地通信,或者经通信网络4或经其 它通信网络7 (如Intranet)与存储装置6进行远程通信。例如,存储 区域网络(storage area network: SAN) 8可以提供第二存储装置62, 网络附属存储器(network attached storage: NAS ) 9可以提供第三存储 装置63,文件服务器10可以提供第四存储装置64。存储装置6的数 目可以不同。例如,SAN8或NAS9能够提供一个以上的存储装置, 和/或一个以上的SAN或NAS可以被提供,每个提供至少一个存储装 置6。可以使用提供存储装置6的其它形式的系统,例如公共互联网 文件系统(common internet file system: CIFS )(未示出),可以4吏用 光盘(如DVD)驱动器和USB驱动器。存储装置6的数目可以随时 间改变。例如,可以增加或去除存储装置6。也可以改变存储装置6 的配置。
存储装置6集中提供单一存储容量26 (图4)并配置成集群27 (图4),这将在后面作更详细解释。
文件服务供应者5经通信网络7与第一元数据服务器lh、并与 用于在虚拟文件参考与真实文件之间进行映射的、可选的第二元数据服务器112进行通信。文件服务供应者5能够从第一元数据服务器lh 读元数据并向第一元数据服务器lh写元数据。然而,文件服务供应 者52、 53只能从第二元数据服务器112读元数椐。第一和笫二元 数据服务器lh、 112在下文中被分别称为"主动"(active )和"被动" (passive)元数据服务器lh、 112。主动元数据服务器lh可以根据 需要或者响应预定的触发把元数据(例如周期性地)复制到被动元数 据服务器112。可以提供一个以上被动元数据服务器112。而且,可以 在两个或两个以上的服务器之间分配每一元数据服务器lh、 112。
又参照图2,用软件在各自的计算机系统12上实现文件服务供应 者5和元数据服务器11。每一计算机系统12包括操作上通过总线16 连接的处理器13、内存14和输A/输出(I/O)接口 15。计算机系统 12可包括一个以上的处理器。1/0接口 15操作上连接到网络接口 17、 硬盘驱动器或驱动器形式的存储器18、以及(可选的)可移动存储器 19。可暂时或永久提供包括诸如键盘(未示出)和显示器(未示出) 的外围装置的其它单元。
在被计算机系统12执行时使计算机12提供文件服务供应者操作 或元数据服务器操作的计算机程序代码2(h、 202存储在硬盘驱动器18 上或者^皮加栽到内存14中以供处理器13执行。计算机程序代码20!、 202可以存储在可移动存储器19上,或者可以从可移动存储器19 #皮 传送,或者可以从远程的源(未示出)通过网络接口 17#皮传送。
参照图1和3,每一文件服务供应者5包括与客户机2、 3接口 (interface )的第一服务或控制器21 、用于选择存储器集群27 (图4 ) 的第二服务或控制器22、用于选择集群27(图4)内的存储装置6的 第三服务或控制器23、用于控制集群27 (图4)内和集群27 (图4) 之间的数据复制的第四服务或控制器24、以及与元数据服务器lh、 112接口的第五服务或控制器25。
第一服务21管理从客户机2、 3接收的对访问文件(如读写文件) 的请求,也管理图3所示的其它组成部分。第一服务21在这里被称为"文件服务管理器"。
在写数据时,第二服务22选择集群27 (图4 ),在这里被称为 "分配管理器"。分配管理器22与其它分配管理器22通信,这将在 后面作更详细解释。 一个分配管理器22M (图4),称为"主分配管 理器",被选中来负责选择集群27 (图4),而另外的分配管理器22 充当该主分配管理器22m的代理(图4)。可以改变被选中的分配管 理器22M。
在写或读的过程中,第三服务23选择存储装置6并确认其有效 性。在这里,第三服务23被称为"集群管理器"。集群管理器23触 发将一个存储装置6中的文件流复制到其它存储装置6。集群管理器 23也在存储装置6之间分配读过程以增加吞吐量。集群管理器23也 收集与客户机到存储装置的吞吐量有关的数据。在写或读的过程中, 可以使用吞吐量数据来选择具有对客户机2、 3的更快响应的存储装 置6。
第四服务24在这里纟皮称为"复制服务"。如前所释,复制服务 24控制集群27 (图4 )内和集群27 (图4 )之间的数据复制。倘若存 储装置6中的任意存储装置不可用,集群管理器23就记录复制事务。
第五服务25在这里被称为"元数据服务器接口"。元数据服务 器接口 25向主动元数据服务器lh发送元数据(如关于文件的信息), 并从主动或被动元数据服务器lh、 112检索元数据。
参照图4,存储装置6提供单一的存储容量或存储空间26。存储 装置6设置到集群27中,其中每一存储装置6存储与在相同集群27 中的另一存储装置6相同的数据,即一集群27中的存储装置6是另 一个的镜像。为清楚起见,只图解了两个集群27。在一集群27中, 存储装置6具有不同的访问配置,例如网络地址。每一文件服务供应 者5能够访问每一集群27中的至少一个存储装置6。
元数据服务器lh、 112存储第一、第二、第三、第四、第五元数 据表28、 29、 30、 31、 32。元数据包括用于在应用过滤(如文件压缩和病毒检查)之前把虚拟文件参考(file reference)映射到物理文件参 考的信息和文件属性。元数据也包括诸如文件夹树、文件夹内容数据 以及每一文件和文件夹的访问控制列表的信息。
第一表28(下文中被称为"虚拟文件系统实体表")存储虚拟实 体标识符33、集群标识符34、每一实体的实体类型35 (如文件或目 录)、以及在物理存储器标识符36中的路径。
第二表29(下文中被称为"虚拟文件系统访问控制列表")存储 虛拟实体标识符37和每一实体的访问列表38,并定义用户(即客户机 用户)的安全特权。虚拟文件系统访问控制列表29列出拥有实体访问 权的用户及其与该实体有关的访问权集合,例如读权、写权、创建权、 删除权和修改权。
由客户机2、 3发出的对实体进行访问的每一请求指定用户的身 份。因此,文件服务供应者5每次收到对给定实体的访问请求时,它 将查询虚拟文件系统访问控制列表29 (比如通过检索与该实体和该用 户相关的列表29的一部分)以核实该用户的访问权。
第三表30(下文中被称为"虚拟文件系统实体共享列表")存储 虚拟实体标识符39和每个实体的访问列表40,并定义^皮注册用户邀 请来共享文件浏览的未注册用户(被称为"共享浏览者")的访问权。 除了访问权通常受限以外(例如,只读),虚拟文件系统访问控制列 表30与虚拟文件系统访问控制列表29相似。
以不同于注册用户的方式识别和认证共享浏览者。识别和认证可 以由具有与分布式存储系统1所建立的信任关系的外部系统(未示出) 来执行。
虚拟文件系统访问控制列表30可以省略,例如,在不允许共享 浏览者访问分布式存储系统1时。
第四表31(下文中被称为"逻辑集群元数据表")存储每一集群 27的(物理)存储装置标识符42和(逻辑)集群标识符41。逻辑集 群元数据表31允许集群管理器23识别集群27中的存储装置6。第五表32(下文中被称为"逻辑集群关系表")存储每一集群 27的关系类型45、第一集群标识符43、和第二集群标识符44,并描 述集群27间的关系。例如,逻辑集群关系表32可以指定第一集群27A 是第二集群27B的复制物(即镜像)。或者,逻辑集群关系表32可以 指定第一集群27a是存儲在第二集群27s中的依照预定标准而存储的 文件的档案(archive)。档案可以包含很少被访问的文件或在特定日 期之前创建的文件。因此,第一集群27A不需要存储被存档在第二集 群27b中的文件。例如,被存档的文件可以被存储在磁带存储系统中。
系统1能够^t用来向客户机2、 3提供文件服务,下文中将作详 细描述。不以会话方式交换请求和响应,因此不同的文件服务供应者 5能够处理来自同一客户机2、 3的不同请求。所以,文件服务供应者 5不需要存储与客户机2、 3的状态有关的任何信息。而是,客户机2、 3能够存储关于其状态的信息,并在向文件服务供应者5发送请求时 提供该信息。例如,请求可以包括参照存储在虚拟文件系统访问控制 列表29中的访问权确认用户所需的认证信息。
现参照图4、 5a和5b说明文件写过程。
客户机(该示例中为个人电脑2)向文件服务供应者5的文件服 务管理器21发送文件写请求46 (步骤Wl)。依照路由机制或者由网 络4 (图1)中的负栽平衡器(未示出)选择文件服务供应者5。文件 写请求46包含要被写的、含有文件数据48和文件属性49 (比如文件 类型和文件大小)的文件47。
文件服务管理器21向分配管理器22转发集群分配请求50(步骤 W2)。请求50可以包含可用来选择集群27的文件属性49。
主分配管理器22m逸捧集群27,比如基于文件属性49和/或诸如 可用空间及使用百分率的集群属性与状态(未示出)、或者基于诸如 循环(roundrobin)的某些其它的依据选择集群27 (步骤W3 )。
在选择集群27之前,分配管理器22确定其是否是主分配管理器22M。如果分配管理器22是主分配管理器22M,那么它选择集群27。 如果不是,分配管理器22向分配集群27的主分配管理器22M转发该 请求,并返回集群标识符。
分配管理器22通过指令51调用集群管理器23来选择已选集群 27内的存储装置6 (步骤W4 )。集群管理器23选择存储装置6 (步 骤W5 )。集群管理器23基于文件服务管理器21和存储装置6之间 的最高网络可用性做出选择。使用由分配管理器22和集群管理器23 在预定时刻(比如周期性地)所收集的网络状态信息可以确定网络可 用性。
集群管理器23向存储装置6发送指令52以创建具有在存储装置 6中的给定路径的文件流53 (步骤W6 )。存储装置6创建文件流53 (步骤W7)。唯一的文件句柄与文件流53相关联,其(用指针P) 指向位于存储装置6的文件流53中的第一可写块。文件句柄(其识 别文件流53)的身份54被返回到集群管理器23 (步骤W8)。
集群管理器23向分配管理器22返回文件句柄身份54、路径55 和集群身份56 (步骤W9 ),分配管理器22又向文件服务管理器21 返回该信息(步骤W10)。
文件服务管理器21对文件数据48应用写过滤(如压缩和/或病毒 检查)(步骤Wll ),并把已过滤的文件数据57写到打开的文件流 53 (步骤W12)。用已过滤的文件数据填充文件流53。在填充块时, 存储装置增加指针P以指向下一可用空块。
一旦写入了已过滤的文件数据57,文件服务管理器21就向集群 管理器23发送指令59以关闭文件流53 (步骤W13 )。集群管理器 23向存储装置6发送指令60以关闭文件流53 (步骤W14 )。存储装 置6向文件流52写入文件结束(EOF )标记(W15 ),释^L指针并更 新存储系统分配表(未示出),比如由存储装置6所提供的文件分配 表。
接着,集群管理器23通过向复制服务24 (图2 )发送指令(未示出)来触发位于相同集群27的其它存储装置6中的已存储文件流 53的复制(步骤W16)。
必要时,文件服务管理器21经元数据服务器接口 25向元数据服 务器lh发送指令62以把元数据写入到虚拟文件系统实体表28、虚 拟文件系统访问控制列表29、虚拟文件系统实体共享列表30、逻辑 集群元数据表31以及逻辑集群关系表32 (步骤W17 )。元数据服务 器lh写入文件信息(步骤W18 ),并向文件服务管理器21返回虛拟 文件标识符63 (步骤W19 )。文件服务管理器21向客户机2发送文 件已写入的确认64,包括虚拟文件标识符63 (步骤W20 )。
如前所述,分配管理器22确定它是否是主分配管理器22M。接下 来,详细说明该实现方法。
遂净i为、痴^理器
参照图4和6,分配管理器22接收分配集群27的请求48(图5a) (步骤Sl )。分配管理器22检查主分配管理器22m是否已知(步骤 S2)。
如果分配管理器22知道主分配管理器22m的身价,那么分配管 理器22确定它是否是主分配管理器22M (步骤S3 )。如果是,那么 分配管理器22处理该请求,并选择集群27,如前所述(步骤S4)。 如果不是,那么分配管理器22向主分配管理器22M转发该请求(步 骤S5)。分配管理器22从主分配管理器22M接收集群标识符。
如果分配管理器22不知道主分配管理器22M的身份,那么分配 管理器22向其它分配管理器22发送查询65,寻找主分配管理器的身 份(步骤S6 )。分配管理器22等待应答(步骤S7 ),并检查该查询 是否"超时",即是否在预定时间消逝前收到响应(步骤S8)。
如果分配管理器22在查询超时前收到应答66,那么它存储主分 配管理器22m的身价(步骤S9 ),并向主分配管理器22M转发该请求 (步骤S5 )。
如果分配管理器22在查询超时前未收到任何应答,那么它发送消息67声明它是主分配管理器(步骤Sll )。该分配管理器22等待 反对(步骤Sll ),并检查该消息67是否超时(步骤S12 )。
如果该分配管理器22在该请求超时前未收到任何反对,那么它 把自己记录为主分配管理器22M (步骤S13),并处理该请求以选择 集群(步骤S4 )。
但是,如果该分配管理器22收到反对68,那么它向其它分配管 理器22重新发送身份查询65 (步骤S6 )。
分配管理器22不断地监听查询65和消息67。
如果它收到查询65或消息67且它是主分配管理器22M,那么它 分别发送响应66或反对68。如果主分配管理器22M从另一个分配管 理器22收到消息67,或者如果文件服务供应者5被停用(如被关闭), 那么可以把该主分配管理器22M降级(relegate)。
现参照图4、 7a和7b说明文件更新过程。
文件更新过程与先前所述的文件写过程相似。简言之,分配管理 器22释放为文件的较旧版本所分配的空间,为该文件的较新版本分 配空间并写入该文件的较新版本,就像它是新创建的文件。
客户机2向文件服务供应者5的文件服务管理器21发送文件更 新请求69 (步骤Ul )。该文件写请求69包括含有新文件数据71和 新文件属性72的更新文件70以及旧文件(如先前存储的文件47 )的 虚拟文件标识符73。
文件服务管理器21向主动元数据服务器lh发送查询74以便找 出存储旧文件的那个集群27 (步骤U2)。或者,文件服务管理器21 可以向被动元数据服务器112发送该查询74。主动元数据服务器lh 返回旧的集群标识符75、存储装置6中的路径76和旧的文件属性77 (步骤U3 )。
更新过程(步骤U4至U22)以相似方式进行先前所述的写入过 程的步骤W2至W20。文件服务管理器21向分配管理器22转发集群分配请求78 (步骤 U4),主分配管理器22m逸捧集群27 (步骤U5)。
分配管理器22发送指令79以选择在所选集群27内的存储装置6 (步骤U6 )。集群管理器23选择存储装置6 (步骤U7 )。集群管理 器23向该存储装置6发送指令80以创建具有在该存储装置6中的给 定路径的新文件流81 (步骤U8)。该存储装置6创建文件流81 (步 骤U9 ),并向集群管理器23传递新的文件句柄标识符82(步骤U10 )。 集群管理器23向分配管理器22返回该新数据流81、对应路径83和 集群身份84 (步骤Ull )。分配管理器22向文件服务管理器21转发 该信息(步骤U12)。
文件服务管理器21对新的文件数据71应用写过滤(filter)(步骤
一旦已写入新的已过滤的流85,文件服务管理器21就向集群管 理器23发送指令87以关闭文件流81 (步骤U15)。
集群管理器23向存储装置6发送指令88以便关闭文件流81 (步 骤U16 )。存储装置6向文件流81写入文件结束(EOF )标记89 (步 骤U17),释放指针并更新存储装置文件系统分配表(未示出)。
集群管理器23通过向复制服务24 (图2)发送指令(未示出) 来触发在位于相同集群27的其它存储装置6中的文件流81的复制(步 骤U18)。
必要时,文件服务管理器21经元数据服务器接口 25向元数据服 务器lh发送指令90以便写入更新的元数据(步骤U19)。元数据服 务器lh写入更新的文件信息(步骤U20),并向文件服务管理器21 返回新的虚拟文件标识符91 (步骤U21)。文件服务管理器21向客 户机2发送该文件已^皮写入的确认92 (步骤U22 )。
文件服务管理器21向集群管理器23发送指令93以便删除旧文 件(步骤U23 )。集群管理器22查找存储旧文件流的存储装置6 (步 骤U24 ),并向该存储装置6发送指令94以便删除旧文件流(步骤U25)。集群管理器23触发该存储装置6的复制(步骤U26)。 谅
现参照图4和8说明文件读过程。
客户机2向文件服务供应者5的文件服务管理器21发送文件读 请求95 (步骤Rl )。文件读请求95包含文件(例如先前存储的文件 42或者更新的文件68)的虚拟文件标识符96。
文件服务管理器21向被动元数据服务器112发送查询97以便找 出存储该文件的那个集群27 (步骤R2)。文件服务管理器21可以向 主动元数据服务器lh发送该查询97。
被动元数据服务器112返回集群标识符98、在存储装置6中的路 径99以及文件属性100 (步骤R3 )。
文件服务管理器21向集群管理器23发送请求101以便选择存储 装置6 (步骤R4)。集群管理器23依照最高网络可用性选择由集群 标识符98所确定的集群27内的存储装置6 (步骤R5 ),并向该存储 装置6发送指令102以便打开文件流103 (步骤R6 )。如果集群管理 器23未能访问该存储装置6,那么它参考逻辑集群关系表32以确定 该集群27是被镜像还是被存档。如果这样,集群管理器23就向另一 个存储装置6发送新指令(未示出)。存储装置6从文件流99中检 索文件数据104,并把它转发到集群管理器23 (步骤R7 )。集群管理 器23向文件服务管理器21传递文件数据104 (步骤R8 )。文件服务 管理器21对该文件数据104应用读过滤(步骤R9 ),并向客户机2 转发已过滤的数据流105 (步骤R10 )。
如前所述,用户可以向^L称为"共享浏览者"的其它的用户授予 访问权。该用户可以向共享浏览者授予访问权,通过向共享浏览者发 送包含诸如以识别文件服务供应者5和虚拟文件的统一资源定位符 (URL)形式的链路的电子邮件或者消息把文件或文件夹的地址通才艮 给共享浏览者,以便访问文件或文件夹。共享浏览者选择该链路,因 而向文件服务供应者5发送请求以便检索该文件或文件夹。
20上文所述的系统1可以被用来提供文件服务而不管存储器的内部 结构。用冗余站点上的可插数据流处理,它可以提供在统一存储空间
(consolidated storage space)上分布式文件输入和输出。
可由移动电话网络供应商向拥有移动电话手机的用户提供该文
件服务,也可由技术集成商和由公司提供该文件服务。
系统1把文件元数据从文件数据解耦(decouple),并结合成真
实文件系统(即存储装置),以便它们作为单个存储单元出现。这可
有助于使存储装置的限制(例如存储容量、存储装置吞吐量等)最小
化或得以避免。
系统1可以处理文件流,并不需要把文件流分成块以供处理。 可以理解可以对上文所述的实施例作许多改变。
权利要求
1. 一种用于管理对包括多个存储装置的分布式存储器的访问的服务器,所述服务器配置成与至少一个其它的服务器进行通信以便确定所述服务器中的哪一个服务器选择在存储数据时要被使用的分布式存储器的一部分。
2. 如权利要求1所述的服务器,包括第一控制器,用于从客户机接收在所述分布式存储器中存储数据的请求;以及第二控制器,用于选择在存储所述数据时要用的所述分布式存储 器的所述部分,所述第二控制器配置成与至少一个其它的第二控制器 进行通信以便确定所述第二控制器中的哪一个控制器选择要被使用 的分布式存储器的所述部分。
3. 如权利要求1或2所述的服务器,被配置成响应有关另一个服 务器将选择要被使用的分布式存储器的所述部分的确定而从另一个 服务器接收所述分布式存储器的所述部分的身份。
4. 如权利要求1或2所述的服务器,;故配置成响应有关它将选择 要被使用的分布式存储器的所述部分的确定而选择分布式存储器的 所述部分。
5. 如前面任一项权利要求所述的服务器,;故配置成选择所述分布 式存储器的所述部分内的存储装置之一。
6. 如从属于权利要求2的权利要求5所述的服务器,还包括 第三控制器,用于响应来自所述第二控制器的指令而选择分布式存储器的所述部分内的存储装置之一。
7. 如权利要求5或6所述的服务器,;故配置成在所述文件已被存 储在一个存储装置后使所述数据被复制到所述分布式存储器的所述部分内的其它存储装置中。
8. 如前面任一项权利要求所述的服务器,被配置成在所述数据已^皮存储后向元数据服务器发送与所述数据相关的信息。
9. 如权利要求8所述的服务器,被配置成从所述元数据服务器接 收对应于所述数据的虚拟文件标识符。
10. 如权利要求9所述的服务器,被配置成向所述客户机发送所 述虚拟文件标识符。
11. 如前面任一项权利要求所述的服务器,被配置成响应读或更 新文件的请求向至少一个元数据服务器中的任意一个元数据服务器 发送对与所述文件有关的信息的请求。
12. 如前面任一项权利要求所述的服务器,其中,所述存储装置 中的至少 一个存储装置由远程存储系统提供。
13. 如权利要求12所述的服务器,其中,所述远程存储系统包括 存储访问网络。
14. 一种分布式存储管理系统,包括 多个如前面任一项权利要求所述的访问管理服务器;以及 元数据服务器,用于存储与存储在所述分布式存储器中的文件有关的信息。
15. 如权利要求14所述的分布式存储管理系统,其中,所述元数 据服务器与所述访问管理服务器分离。
16. 如权利要求14或15所述的分布式存储管理系统,还包括至 少一个另外的元数据服务器,其中,所述访问管理服务器均^皮配置成 向所述元数据服务器但不向所述至少 一个另外的元数据服务器发送 与文件相关的信息。
17. 如权利要求16所述的分布式存储管理系统,其中,所述访问 管理服务器均被配置成向所述至少一个另外的元数据服务器中的任 意元数据服务器发送对与文件相关的信息的请求。
18. —种分布式存储系统,包括如权利要求14-17中任一项权利要求所述的分布式文件管理系 统;以及包括多个存储装置的分布式存储器。
19. 如权利要求18所述的分布式存储系统,其中,所述存储装置 包括多种类型的存储装置。
20. —种操作服务器的方法,所述服务器用于管理对包括多个存 储装置的分布式存储器的访问,所述方法包括与至少一个其它的服务器进行通信以便确定所述服务器中的哪 一个服务器选择在存储数据时要^皮使用的分布式存储器的部分。
21. 如权利要求20所述的方法,包括第一控制器接收在所述分布式存储器中存储数据的请求;以及 第二控制器与至少 一 个其它的第二控制器进行通信以便确定所述第二控制器中的哪一个控制器选择要被使用的分布式存储器的所述部分。
22. 如权利要求20或21所述的方法,包括确定另 一个服务器将选择要被使用的分布式存储器的所述部分;以及从另一个服务器接收要被使用的所述分布式存储器的所述部分 的身份。
23. 如权利要求20-22中任一项权利要求所述的方法,包括 确定所述服务器将选择要^皮使用的分布式存储器的一部分;以及 选择要被使用的所述分布式存储器的一部分。
24. 如权利要求20-23中任一项权利要求所述的方法,还包括 选择要^f皮使用的所述分布式存储器的所述部分内的所述存储装置之一。
25. 如权利要求24所述的方法,还包括在所述文件已被存储到 一个存储装置之后,使所述文件被复制到 所述分布式存储器的所述部分内的其它存储装置中。
26. 如权利要求20-25中任一项权利要求所述的方法,包括在已存储所述文件之后,向元数据服务器发送与所述文件相关的信息。
27. 如权利要求26所述的方法,包括从所述元数据服务器接收对应于所述文件的虚拟文件标识符。
28. 如权利要求27所述的方法,包括 向所述客户机发送所述虛拟文件标识符。
29. 如权利要求20-28中任一项权利要求所述的方法,包括 接收读或更新文件的请求;以及向至少 一个元数据服务器中的任一个服务器发送对与所述文件 相关的信息的请求。
30. 如权利要求20-28中任一项权利要求所述的方法,包括 在所述分布式存储器的所选部分中存储所述数据。
31. —种包括指令的计算机程序,所述指令在被计算机执行时使 所述计算机执行如权利要求20-30中任一项权利要求所述的方法。
32. —种计算机可读媒介,所述媒介存储如权利要求31所述的计 算机程序。
全文摘要
对含有多个存储装置的分布式存储器的访问进行管理的服务器包括文件服务管理器和分配管理器,文件服务管理器用于接收在分布式存储器中存储文件的请求,分配管理器用于选择在存储文件时要使用的分布式存储器内的集群。分配管理器配置成与其它服务器中的至少一个其它的分配管理器进行通信,以便确定由哪个分配管理器来选择要被使用的集群。
文档编号H04L29/08GK101449559SQ200780018410
公开日2009年6月3日 申请日期2007年4月13日 优先权日2006年5月23日
发明者M·M·阿利雷萨, S·H·S·奥尔-阿塔斯, S·K·阿布沙纳布 申请人:诺燕控股公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1