拥有最长前缀匹配交换机的可扩展存储系统的制作方法

文档序号:9308967阅读:455来源:国知局
拥有最长前缀匹配交换机的可扩展存储系统的制作方法
【专利说明】拥有最长前缀匹配交换机的可扩展存储系统
【背景技术】
[0001] 网络或分布式存储系统有助于向客户端提供拥有更高容量且能够更快访问的数 据存储库,以满足日益增长的需求。一般的分布式存储系统由服务器(例如,传统计算机) 和交换机(例如以太网交换机或无限带宽交换机)这两种节点组成。该交换机为该服务器 提供透明通信通道。分布式文件系统(DFS)可以跨越多个后端存储服务器以提供更高的容 量和更快捷的访问,同时呈现为单个服务器为客户端提供统一的接口。客户端可使用可移 植操作系统接口(POSIX)文件系统命名格式以及扁平二进制格式中的一种格式来命名文 件内容。
[0002] 存储系统中可以有一个或多个器件来获知文件名并确定存储该文件的服务器,即 存储系统中可以有一个或多个器件对文件名与服务器标识或该文件的存储位置进行映射。 在典型的网络连接存储系统(NAS)或者DFS中,该映射可以由一个或多个元数据服务器实 现。该系统存储的每一个文件都应该在该元数据服务器中有一个表项。对于绝大多数键值 存储系统,可以使用单跳或者多跳分布式哈希表(DHT)。每一个存储服务器都必须保留路由 表,造成了由于存储服务器的数量和文件数量过大而带来的复杂度。该系统扩展时,扩展的 主要挑战包括在元数据服务器或DHT节点中保留路由表。因此,有必要建立可扩展的分布 式存储系统以克服数据存储对集中式元数据服务器或索引器的依赖。另外,由于不断增长 的存储需求,也有必要提高存储系统的可扩展性。

【发明内容】

[0003] 在一个实施例中,本发明包括一种由交换机执行的方法,该方法包括:从客户端接 收文件请求,其中,所述文件位于分布式存储系统中;从所述请求中提取所述文件的目录; 对所述目录与转发信息库(FIB)进行最长前缀匹配(LPM)以识别端口,其中,所述FIB关联 多个目录与所述交换机的多个端口;通过所述识别出的端口向包含所述文件的服务器转发 所述客户端的请求,其中,所述服务器为所述分布式存储系统中的多个服务器中的一个。
[0004] 在另一个实施例中,本发明包括一种交换机,包括:处理器,用于:从客户端获取 文件请求,其中,所述文件位于分布式存储系统中;从所述请求中提取所述文件的目录;对 所述目录与FIB进行LPM以识别端口,其中,所述FIB关联多个目录与所述交换机的多个端 口;以及发射器,与所述处理器耦合,用于通过所述识别出的端口向包含所述文件的服务器 转发所述客户端的请求,其中,所述服务器为所述分布式存储系统中的多个服务器中的一 个。
[0005] 在又一个实施例中,本发明包括一种方法,包括:从客户端接收用户数据报协议 (UDP)请求,其中,所述UDP请求包括请求的文件和所述文件的目录;对所述目录与索引表 进行LPM以确定端口;在关联所述客户端与所述端口的流表中创建表项。
[0006] 在再一个实施例中,本发明包括一种由分布式存储系统中的服务器实现的方法, 其中,该服务器存储部分目录树,该方法包括:测量负载;确定所述负载大于阈值;选择最 近的服务器作为所述部分目录树中的第一部分的接收者;向所述最近的服务器传输所述第 一部分;向最近的最长前缀匹配(LPM)交换机发送消息以指示所述第一部分传输完毕。
[0007] 通过以下结合附图和权利要求的详细描述,这些以及其他特征将会被清楚的理 解。
【附图说明】
[0008] 为了更透彻地理解本发明,现参阅结合附图和【具体实施方式】而描述的以下简要说 明,其中的相同参考标号表不相同部分。
[0009] 图1示出了POSIX文件系统树中的基于前缀的服务器分配的实施例;
[0010] 图2示出了扁平二进制0-1命名方式的键值存储文件系统树的实施例;
[0011] 图3示出了基于LPM交换机的存储系统的实施例;
[0012] 图4示出了通过LPM交换机从存储服务器检索内容的方法的实施例;
[0013] 图5为说明客户端、LPM交换机、以及服务器之间的信令的实施例的协议图;
[0014] 图6为LPM方法的实施例的流程图;
[0015] 图7为LPM交换机的实施例的示意图;
[0016] 图8为在现场可编程门阵列(FPGA)芯片实现的LPM交换机的实施例的示意图;
[0017] 图9为在通用计算机系统实现的LPM交换机的实施例的示意图;
[0018] 图10为负载均衡方法的实施例的流程图;
[0019] 图11为服务器的实施例的示意图。
【具体实施方式】
[0020] 首先应理解,尽管下文提供一项或多项实施例的说明性实施方案,但所公开的系 统和/或方法可使用任何数目的技术来实施,无论该技术是当前已知还是现有的。本发明 决不应限于下文所说明的说明性实施方案、附图和技术,包括本文所说明并描述的示例性 设计和实施方案,而是可在所附权利要求书的范围以及其等效物的完整范围内修改。
[0021] 本发明揭露的是用于提高分布式存储系统的可扩展性并降低其成本的系统、方法 和装置,通过最长前缀匹配(LPM)交换机将文件或内容的名称映射到存储设备。LPM交换机 可以基于对目录路径与文件名称进行的最长前缀匹配进行路由或交换。所述匹配可以用在 POSIX文件系统命名规范(例如,任何现代操作系统中的目录-子目录-文件)和/或扁平 二进制0-1命名规范,正如在很多分布式哈希表(DHT)的实现方式中所使用的一样。除了 应用在基于传统的媒体接入控制(MAC)或因特网协议(IP)前缀的路由/交换,LPM交换机 还可以应用在其它方面。通过前缀聚合,可以减小转发表的大小并且节省空间。另外,当持 续进行前缀聚合的时候,通过在多个服务器间传播数据,负载均衡机制能够减轻过载的服 务器的负担。相对于传统的分布式存储架构,LPM交换机的使用可以消除对索引服务器的 需求。
[0022] 图1示出了POSIX文件系统树100中的基于前缀的目录分组的实施例。所述文件 系统树100可以包括多个目录,以及这些目录下的子目录和文件。目录分组110、目录分组 120、目录分组130均可以被分配到不同的存储服务器,在文件存储系统中可以采用任何数 量的服务器。存储服务器可以是通过网络可访问的并且拥有内存器件来存储数据的任何设 备,存储服务器可以负责分级文件系统中的一个或多个子目录。例如,第一服务器可以管理 路径/usr/stone/下的所有文件和子目录,第二服务器可以管理路径/usr/Michael/下的 所有文件和子目录,第三服务器可以管理路径/bin/下的所有文件和子目录。按照这种实 现方式,可以允许执行第一层的前缀聚合机制,在该机制中,例如/usr/stone/的前缀可以 表示相同名称的路径下的所述文件和所述子目录。
[0023] 在一个可替换的实施例中,存储服务器可以管理一段DHT命名空间,其中可以 使用扁平二进制〇_1命名规范。图2不出了扁平二进制0-1命名方式的键值存储文件 系统树200中的基于前缀的目录分组的实施例。所述文件系统200可以包括多个目录, 以及这些目录下的子目录和文件。目录分组210、目录分组220、目录分组230均可以 管理一段DHT命名空间。扁平0-1命名空间可以用前缀表示,例如,"010001"可以表示 [0100010000, 0100100000]这一段。进一步地,例如,第一服务器可以管理托管段00内的所 有文件和子目录,第二服务器可以管理托管段01内的所有文件和子目录,第三服务器可以 管理托管段1内的所有文件和子目录。
[0024] 图1和图2中的文件系统树都可以使路由/交换功能只需获知服务器与对应的前 缀之间的映射;因此,系统的复杂度可以降低到O(Nsw),其中Nsw为服务器的数量。典型的 基于个人计算机的服务器可以轻易管理几百万乃至数十亿的文件和对象,因此,Nsw可能比 Nf (文件的数量)小8-10个量级。如果块/区的编号为图2所示实施例的键,则该键值存 储也会作为传统的存储接入网络(SAN)。
[0025] -旦相应分配好存储服务器(例如,图1所示的服务器分配),这些服务器会通知 交换机服务器所负责的前缀。通常,所述交换机会是与服务器连接的第一跳交换机,所述第 一跳交换机可以直接将此消息转发给其它交换机。在另一个实施例中,所述交换机可以,例 如在图2所示的扁平二进制0-1命名文件系统中进行进一步地聚合。例如,"00"服务器和 "01"服务器恰好连接到相同的交换机,在这种情况下,所述交换机可以决定向其它交换机 公布所述聚合的前缀"〇",而不是将"〇〇"和"01"作为两个路由表项进行公布。
[0026] 交换机中的LPM模块除了能够进行传统的基于MAC或IP前缀的路由/交换,还能 够基于最长前缀匹配进行路由/交换。例如,客户端可以请求一些内容,可以将这些内容的 名称与转发信息库(FIB)进行核对,这取决于它是POSIX文件名称还是扁平二进制0-1名 称。FIB可以是转发表,用于确定接收到的报文进行转发的目的地;最长前缀匹配原则可以 用于找到出端口;然后,所述LPM交换机向对应的服务器转发所述客户端的请求。较长的前 缀匹配可以提高在存储系统网络中找到合适的服务器的准确性。
[0027] 图3
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1