用于在云网络中使用文件分块和复制的分布式文件系统的方法和装置制造方法

文档序号:6533381阅读:158来源:国知局
用于在云网络中使用文件分块和复制的分布式文件系统的方法和装置制造方法
【专利摘要】各种实施方式提供了一种在云网络中提供分布式网络文件系统的方法和装置,其在云存储方面提供性能保证,该性能保证与接入的文件和接入位置无关。使用文件布局策略来供应客户端的文件系统,该文件布局策略基于客户端的接入位置和确定的最大接入带宽,而无需了解文件接入模式。
【专利说明】用于在云网络中使用文件分块和复制的分布式文件系统的 方法和装置

【技术领域】
[0001] 本发明通常涉及用于在云网络中提供分布式网络文件系统的方法和装置。

【背景技术】
[0002] 该章节引入了可有助于便于更好地理解本发明的方面。因此,该章节的陈述要从 这个角度被阅读,并且不被理解为认可什么属于现有技术或者什么不属于现有技术。
[0003] 在一些公知的文件系统中,可通过将网络附着的存储器与企业网络连接来实现文 件接入。在其他公知的分布式网络文件系统中,可通过在不同的存储服务器上对文件进行 分条(stripe)来实现文件接入。


【发明内容】

[0004] 各种实施方式提供了 一种在云网络中提供分布式网络文件系统的方法和装置,其 在云存储方面提供性能保证,该性能保证与接入的文件和接入位置无关。使用文件布局策 略来供应客户端的文件系统,该文件布局策略基于客户端的接入位置和确定的最大接入带 宽,而无需了解文件接入模式。有利的是,该分布式文件系统允许从所有公布的接入位置对 存储器的快速、无所不在、以及有保证的接入,而无需服务提供方来确保该存储器是可接入 的。
[0005] 在一个实施方式中,提供了一种用于提供分布式文件系统的装置。该装置包括: 数据存储器和与该数据存储器通信连接的处理器。该处理器被编程用以确定多个客户端位 置,所述多个客户端位置与存储在存储网络内的多个存储节点中的多个文件相关联,并且 所述多个客户端位置经由多个相关联的通信信道与所述存储网络内的多个边缘节点通信 连接;确定所述多个相关联的通信信道的多个接入带宽;以及基于所述多个客户端位置和 所述多个接入带宽,在所述存储节点中供应对所述多个文件的存储。
[0006] 在一些实施方式中,对所述多个文件供应的存储还包括将所述处理器编程用以: 基于所述多个客户端位置和所述多个接入带宽,向所述多个文件应用文件分块和文件复制 存储机制,其中,所述文件分块和文件复制存储机制规定将所述多个文件存储为多个文件 块;基于所述多个客户端位置和所述多个接入带宽,确定所述存储节点中所述多个文件块 的布局;以及响应于从所述多个客户端位置的选中部分中的每一个接收到的文件接入请 求,基于所述多个客户端位置和所述多个接入带宽,为所述多个边缘节点的选中部分中的 每一个确定要被接入的所述多个存储节点中的至少一个,其中,所述多个边缘节点的所述 选中部分与所述多个客户端位置的所述选中部分相关联。
[0007] 在一些实施方式中,应用所述文件分块存储机制包括对所述多个文件应用统一的 文件分块比率。
[0008] 在一些实施方案中,对所述多个文件供应存储还包括将所述处理器编程用以:确 定多个第二客户端位置,所述多个第二客户端位置与存储在所述存储网络中的所述多个存 储节点中的多个第二文件相关联,并且所述多个第二客户端位置经由多个第二相关联的通 信信道与所述存储网络中的所述多个边缘节点通信连接;确定所述多个第二相关联的通信 信道的多个第二接入带宽;以及基于所述多个第二客户端位置、所述多个第二接入带宽和 客户端服务保证,减少对所述存储网络中的所述多个第二文件供应的存储。
[0009] 在一些实施方案中,对所述多个文件供应存储还包括将所述处理器编程用以:基 于所述多个第二客户端位置和所述多个第二接入带宽,对所述客户端服务保证进行缩放; 以及基于所述多个第二客户端位置和所述多个第二接入带宽,对所述存储节点中的所述多 个第二文件供应存储。
[0010] 在一些实施方案中,对所述多个文件供应存储还包括将所述处理器编程用以:确 定与所述多个客户端位置相关联的多个边缘节点;向所述多个文件应用至少一个文件存储 机制;以及使用接入信息来更新所述多个边缘节点,以从所述存储网络中的多个存储节点 接入所述多个文件。
[0011] 在一些实施方式中,对所述多个文件的存储进行供应还包括将所述处理器编程用 以:确定所述存储网络中的多个通信路径,所述多个通信路径定义所述多个边缘节点与所 述多个存储节点之间的相关联的通信路径。
[0012] 在一些实施方式中,所述至少一个文件存储机制包括文件分块和文件复制;所述 文件分块将所述多个文件中的每个文件分成至多P个块;所述文件分块比率对所述多个文 件是统一的;以及所述文件复制创建r个副本组,每个副本组包括所述多个存储节点中的 一者或多者。
[0013] 在一些实施方式中,文件块基于块id被存储在所述副本组中的存储节点中。
[0014] 在一些实施方式中,具有相同块id的所有文件块被存储在所述副本组中的相同 的存储节点中。
[0015] 在第二实施方式中,提供了一种用于提供分布式文件系统的装置。该装置包括:数 据存储器以及与所述数据存储器通信连接的处理器。该处理器被编程用以:从多个客户端 位置接收对接入存储在存储网络中的多个存储节点中的多个文件的多个请求,所述多个客 户端位置与客户端和所述多个文件相关联;从存储控制器接收接入信息,该接入信息规定 如何接入所述多个文件;从第一客户端位置接收对第一文件的接入请求;确定存储所述第 一文件的多个确定的存储节点,以及到所确定的存储节点的多个通信路径,该确定基于所 述客户端、所述接入信息和所述第一文件;以及经由所确定的通信路径,从所确定的存储节 点取得所述第一文件。其中,所述多个客户端位置包括所述第一客户端位置,以及所述多个 存储节点包括所述多个确定的存储节点。
[0016] 在一些实施方式中,基于与所述多个文件相关联的所述客户端,所确定的存储节 点是固定的。
[0017] 在第三实施方式中,提供了一种用于提供分布式文件系统的系统。该系统包括:多 个客户端位置,所述多个位置中的每一个都与多个客户端中的一个相关联;多个边缘节点, 经由多个相关联的通信信道与所述多个客户端位置通信连接;多个存储节点,与所述多个 边缘节点通信连接,所述多个存储节点存储多个文件,所述多个文件的至少一部分中的每 个都与所述多个客户端中的一个相关联;以及存储控制器,与所述边缘节点通信连接。该存 储控制器被编程用以:确定多个确定的客户端位置;确定所述多个相关联的通信信道的多 个接入带宽;以及基于所述多个确定的客户端位置和所述多个接入带宽,在所述存储节点 中供应对所述多个文件的存储。
[0018] 在第四实施方式中,提供了一种用于供应多个文件的存储的方法。该方法包括:确 定多个客户端位置,所述多个客户端位置与存储在存储网络中的多个存储节点中的多个文 件相关联,并且所述多个客户端位置经由多个相关联的通信信道与所述存储网络中的多个 边缘节点通信连接;确定所述多个相关联的通信信道的多个接入带宽;以及基于所述多个 客户端位置和所述多个接入带宽,在所述存储节点中供应对所述多个文件的存储。
[0019] 在一些实施方式中,供应对所述多个文件的存储的步骤包括:基于所述多个客户 端位置和所述多个接入带宽,向所述多个文件应用文件分块和文件复制存储机制,其中,所 述文件分块和文件复制存储机制规定将所述多个文件存储为多个文件块;基于所述多个客 户端位置和所述多个接入带宽,确定所述存储节点中所述多个文件块的布局;以及响应于 从所述多个客户端位置的选中部分中的每一个接收到的文件接入请求,基于所述多个客户 端位置和所述多个接入带宽,为所述多个边缘节点的选中部分中的每个确定要被接入的所 述多个存储节点中的至少一个,其中,所述多个边缘节点的所述选中部分与所述多个客户 端位置的所述选中部分相关联。
[0020] 在一些实施方式中,应用所述文件分块存储机制的步骤包括对所述多个文件应用 统一的文件分块比率。

【专利附图】

【附图说明】
[0021] 在附图中示出了各种实施方式,其中:
[0022] 图1示出了包括在云网络中的分布式网络文件系统100的实施方式的云网络;
[0023] 图2示意性地示出了接入由存储控制器220供应的分布式网络文件系统200的文 件的功能框图;
[0024] 图3描绘了示出方法300的实施方式的流程图,该方法300用于存储控制器供应 图1的分布式网络文件系统1〇〇或图2的分布式网络文件系统200 ;
[0025] 图4描绘了示出方法400的实施方式的流程图,该方法400用于边缘节点服务来 自客户端位置的对文件的请求;
[0026] 图5描绘了示出方法500的实施方式的流程图,该方法500用于存储控制器供应 在图3的步骤360中示出的存储系统;以及
[0027] 图6示意性地示出了各种装置600的实施方式,该装置600例如为图1的边缘节 点140或图2的边缘节点240、或者图1的存储控制器120或图2的存储控制器220中的一 者。
[0028] 为了便于理解,相同的参考数字用于指代具有基本上相同或相似的结构、或者基 本上相同或相似的功能的元件。

【具体实施方式】
[0029]

【具体实施方式】和附图仅示出了本发明的原理。因此,将理解的是,本领域的技术人 员将能够想出各种配置,虽然这些配置并未在此处被显式地描述或示出,这些配置体现本 发明的原理,并且被包括在本发明的范围之内。此外,这里引证的所有示例原则上明确仅用 于教学目的,以辅助读者理解本发明的原理和由发证人贡献的概念,从而推动本领域发展, 并且被理解为不限于这里具体引证的示例和条件。此外,这里使用的术语"或者"指代非排 他性或,除非另有指示之外(例如,"否则"或者"或替代")。此外,这里描述的各种实施方 式不必定相互排斥,因为一些实施方式能够与一个或多个其他实施方式结合,以形成新的 实施方式。
[0030] 各种实施方式提供了 一种在云网络中提供分布式网络文件系统的方法和装置,其 在云存储方面提供性能保证,该性能保证与接入的文件和接入位置无关。使用文件布局策 略来供应客户端的文件系统,该文件布局策略基于客户端的接入位置和确定的最大接入带 宽,并且无需了解文件接入模式。
[0031] 图1示出了云网络,该云网络包括在云网络中的分布式网络文件系统100的实 施方式。该分布式网络文件系统100包括一个或多个客户端位置110-01--110-06(统 称为客户端位置110)、存储控制器120和存储网络130。一个或多个客户端位置通信信道 115-01--110-09(统称为客户端位置通信信道115)和存储控制器通信信道125分别将 客户端位置110和存储控制器120连接至存储网络130。该存储网络130包括一个或多个 边缘节点140-01--140-07(统称为边缘节点140),所述一个或多个边缘节点140-01-- 140-07经由一个或多个网络设备160-01--160-06(统称为网络设备160)或一个或多个 链路175-01--175-04(统称为链路175)与一个或多个存储节点150-01--150-05(统 称为存储节点150)互连。存储控制器120确定存储节点150中的文件布局,并且向边缘节 点140提供接入信息,以从客户端位置110对文件的接入进行定向。
[0032] 客户端位置110可以包括一个或多个客户端的一个或多个位置。如图1中示出的, 客户端A具有客户端位置110-02和110-03 ;客户端B具有客户端位置110-01和110-05, 以及客户端C具有客户端位置110-04和110-06。应当理解的是,尽管描述为三个客户端, 但可以存在任意数目的客户端,以及,尽管每个客户端被描述为具有两个客户端位置,但每 个客户端可以包括任意数目的客户端位置。客户端位置110可以包括任意类型或数目的 通信设备,该通信设备能够通过客户端位置通信信道115中的一者或多者来发送或接收文 件。例如,通信设备可以是瘦客户端、智能电话、个人计算机或膝上型计算机、服务器、网络 设备、平板电脑、电视机顶盒、媒体播放器等。通信设备可以依赖于示例性系统中的其他资 源来执行部分任务(例如,处理或存储),或者能够独立地执行任务。应当理解的是,客户端 位置可以共享相同的地理位置(例如,客户端B 110-01和客户端A110-02可以存在于同一 建筑物中)。
[0033] 这里使用的术语"文件"意味着由特定客户端(例如,客户端A)控制的任意客户 端内容,并且应当被宽泛地理解为包括任意能够通过客户端位置通信信道115来传送或接 收的内容。例如,文件可以包括:常规文件、分组、分组流、数字文档、视频或图像内容、文件 块、数据对象、前述内容的任意部分等等。
[0034] 客户端位置通信信道115经由相关联的边缘节点140在客户端位置110与存储 网络130之间提供通信连接。特别地,客户端位置通信信道(例如,115-02)在客户端位置 (例如,110-02)与边缘节点(例如,140-01)之间提供有保证的服务等级。有保证的服务等 级可以包括最大带宽保证。应当理解的是,客户端位置可以共享相同的物理客户端位置通 信信道。例如,客户端B 110-01和客户端A 110-02可以使用用于客户端B 110-01的VPN 通道和用于客户端A 110-02的第二VPN通道来共享高速宽带连接。
[0035] 通信信道115和125以及链路175支持通过一个或多个通信信道进行通信,所述 一个或多个通信信道例如:无线通信(例如,LTE、GSM、CDMA、蓝牙);毫微微蜂窝通信(例 如,WiFi);分组网络通信(例如,IP);宽带通信(例如,DOCSIS和DSL);存储通信(例如, 光纤信道、iSCSI)等。应当理解的是,尽管描述为单个连接,但通信信道115和125以及链 路175可以是任意数目的通信信道,或者是通信信道的任意组合。
[0036] 存储控制器120可以是确定存储节点150中的文件布局、并且向边缘节点140提 供接入信息的任意装置,该接入信息用于从客户端位置110对文件的接入进行定向。特别 地,存储节点150中的文件布局基于确定的接入位置(例如,客户端位置110中的一者或多 者)和确定的接入带宽(例如,将客户端位置(例如,110-02)与边缘节点(例如,140-01) 互连的一个或多个客户端位置通信信道的带宽保证)。应当理解的是,虽然这里仅示出了一 个存储控制器,但系统100可以包括多个存储控制器。
[0037] 存储网络130包括经由一个或多个网络设备160或一个或多个链路175与一个或 多个存储节点150互连的一个或多个边缘节点140。
[0038] 应当理解的是,尽管在存储网络130中仅标记了四个链路(175-01--175-04), 将边缘节点140、存储节点150和网络设备160互连的全部链路是链路175的成员,并且出 于清楚的目的,保留标记的那些链路已经被省略。还应当理解的是,存储网络130可以包括 任意数目的边缘节点140、存储节点150和网络设备160,以及任意数目和配置的链路175。 此外,应当理解的是,存储网络130可以包括无线网络、有线网络或毫微微蜂窝网络中的任 意组合,和任意数目的无线网络、有线网络或毫微微蜂窝网络,该网络包括:LTE、GSM、CDMA、 局域网(LAN)、无线局域网(WLAN)、广域网(WAN)、城域网(MAN)等。
[0039] 边缘节点140可以是充当供客户端位置110中的一者接入存储网络130的网关的 任意装置。特别地,边缘节点140中的一者接收对文件的请求(例如,通过115-02接收的 文件读取或写入请求),并将该文件接入请求定向至存储所请求的文件的一个或多个存储 节点150。应当理解的是,虽然这里示出了七个边缘节点,但系统100可以包括更少或更多 的边缘节点。
[0040] 存储节点150存储所述文件,并且提供常规的存储服务。存储节点150可以是任 意合适的存储设备,并且可以包括任意数目的存储设备。所包括的存储设备可以相类似或 不相同,和/或可以彼此处于本地,或地理上分散。应当理解的是,虽然这里示出了五个存 储节点,系统100可以包括更少或更多个存储节点。
[0041] 网络设备160通过存储网络130路由请求和文件。网络设备160可以是任意合适 的网络设备,包括:路由器、交换机、集线器、网桥等。所包括的网络设备可以相类似或不相 同,和/或可以彼此处于本地,或地理上分散。应当理解的是,虽然这里示出了六个网络设 备,系统100可以包括更少或更多个网络设备。
[0042] 在一些实施方式中,客户端位置110中的一者或多者是使用常规的虚拟私有网络 服务的企业位置,以及客户端位置通信信道115中的一者或多者是VPN通道。
[0043] 在一些实施方式中,存储控制器120可以是存储网络130的一部分。在该实施方 式的进一步的实施方式中,边缘节点140中的一者或多者可以提供存储控制器120的功能 性。
[0044] 在一些实施方式中,存储控制器120使用文件存储机制,例如,数据复制和数据分 块。有利的是,文件存储机制可以缓解存储网络130中的拥塞瓶颈。第一文件存储机制(数 据复制)包括通过将多个文件副本存储在不同的存储节点150来将网络负载分布在各个链 路上。有利的是,通过使用数据复制,来自文件接入请求的负载可以被供应在存储网络130 的各个部分(例如,存储节点150、网络设备160和链路175)上。第二文件存储机制(数据 分块)包括将文件分成一些较小的块,所述块可以被存储在不同的存储节点处。之后,当文 件被请求时,所有块被下载给用户。有利的是,分块使得来自文件接入请求的负载能够被分 布在存储网络130之上。
[0045] 图2示意地示出了接入由存储控制器220供应的分布式网络文件系统200中的文 件块280-01--280-04(统称为文件块280)的功能框图。系统包括一个客户端(例如,客 户端A),该客户端具有三(3)个客户端位置210-01--210-03(统称为客户端位置210)。 客户端位置210经由各个客户端位置通信信道215-01--215-03 (统称为客户端位置通信 信道215)与各个边缘节点240-01--240-03(统称为边缘节点240)通信。边缘节点240 经由相关联的通信路径285-01--285-06 (统称为通信路径285)与存储节点250-01-- 250-04(统称为存储节点250)通信。
[0046] 客户端位置210是客户端A的三个示例性位置,该客户端A接入存储网络230中 的文件,如图1中所描述的。
[0047] 客户端位置通信信道215是三个示例性客户端位置通信信道,其将客户端位置 210与各个边缘节点240通信连接,如图1中所描述的。
[0048] 存储控制器220在存储网络230中供应客户端的文件(例如,文件块280),如图1 中所描述的。
[0049] 边缘节点240和存储节点250的作用如在图1中描述的那样。
[0050] 文件块280示出了客户端的文件的至少一部分。在该示例中,文件块280表示存 储网络230中的两个客户端文件(P和Q)的存储。在该示例中,使用数据复制和数据分块。 首先,文件被分成两个分段,并且每个块在两个位置中被复制。如所示出的,文件P被分成 分段P1和P2,并且块P1被存储在存储节点250-01和250-04中,而块P2被存储在存储节 点 250-02 和 250-03 中。
[0051] 通信路径285将边缘节点240与相关联的存储节点250通信连接。例如,边缘节 点240-01经由通信路径285-01与存储节点250-01通信连接,以及经由通信路径285-02 与存储节点250-02通信连接。特别地,通信路径285-01--285-06包括通信路径(例如, 285-01)的合适的网络设备和链路(例如,图1的网络设备160和链路175),其由存储控制 器220提供以便边缘节点(例如,240-01)接入存储节点(例如,250-01),从而取得文件块 (例如,文件块280-01的文件块P1)。
[0052] 在一些实施方式中,存储在存储网络230中的文件块280表示文件集。应该理解 的是,系统中的文件集可以是动态的。
[0053] 图3描绘了示出方法300的实施方式的流程图,该方法300用于存储控制器(例 如,图1的存储控制器120或图2的存储控制器220)提供图1的分布式网络文件系统100 或图2的分布式网络文件系统200。该方法包括确定:(i)客户端接入位置(步骤320);以 及(ii)接入带宽(步骤330)。执行该方法的装置之后基于所确定的接入位置和接入带宽 来提提供存储网络(例如,图1的存储网络130或图2的存储网络230)(步骤360),而不需 要事先了解文件接入模式。
[0054] 在方法300中,步骤320包括确定接入位置,例如,图1的客户端位置110或图2 的客户端位置220。特别地,将从其发起对特定客户端的文件的接入请求的客户端位置被确 定。例如,对于图1中的客户端A的客户端文件,所确定出的客户端位置可以是110-02和 110-03。类似地,对于图2中的客户端A的文件,所确定出的客户端位置可以是210-01-- 210-03。应当理解的是,一些客户端位置(例如,出于示例的目的,图2的客户端位置 210-02)可以不接入文件,并因此,可以不是确定的客户端位置。
[0055] 在方法300中,步骤340包括确定所确定的客户端位置与对应的一个或多个边缘 节点之间的接入带宽。参考图1,客户端位置通信信道115-02U15-03和115-04可以是具 有针对VPN服务的预协商的带宽保证的VPN通道。类似地,参考图2,客户端位置通信信道 215-01--215-03可以是具有针对VPN服务的预协商的带宽保证的VPN通道。如此,所确 定出的接入带宽可以基于预协商的带宽保证。
[0056] 在方法300中,步骤360包括基于所确定的客户端接入位置和所确定的接入带宽 来供应基于云的存储系统1〇〇。特别地,参考图2,文件存储机制被确定,并且针对所确定的 客户端位置(例如,客户端位置210-01--210-03),该装置执行方法:(i)可选地,确定边 缘节点(例如,边缘节点240),其中经由该边缘节点,所选中的客户端位置中的每个将接入 存储网络(例如,存储网络230) ;(ii)向文件应用文件存储机制(例如,将文件分块和复制 成文件块280,并确定哪些文件块被存储在哪些存储节点(例如,存储节点250)处);(iii) 可选地,确定所确定出的客户端位置或边缘节点中的每一个将接入客户端文件的路径(例 如,通信路径285);以及(iv)可选地,使用接入通信信息来更新合适的边缘节点(例如,边 缘节点240)。应当理解的是,在上面步骤(i)中确定出的边缘节点可以是地理位置上最靠 近客户端位置的边缘节点,或者可以是之前选中的边缘节点(例如,在业务协商期间确定 的)。在这些实施方式中的一些实施方式中,步骤(i)中的确定可以包括取得之前选中的边 缘节点。
[0057] 有利的是,通过供应部分存储节点(例如,图1的存储节点150或图2的存储节点 250)来为具有带宽保证的客户端(例如,图1或2的客户端A)的单独使用创建虚拟存储, 以便该客户端用户接入文件,可以提供企业级服务。
[0058] 在一些实施方式中,步骤320包括选择与边缘节点(例如,边缘节点240-01)最靠 近的存储节点(例如,存储节点250-01和250-02),将从该存储节点取得文件块。在一些其 他实施方式中,其他策略(例如,建立隧道至可位于远方的特定存储节点)可以选择不最靠 近边缘节点的存储节点。
[0059] 在步骤360的一些实施方式中,文件存储机制包括分块和复制。有利的是,这些机 制可以使能接入无感知(oblivious)方案。在这些实施方式中的一些实施方式中,存储在 存储网络(例如,图2的存储网络230)中的每个文件被分成至多p个块,并且这些块中的 每个块被复制r次,在存储网络中创建至多pXr个文件块。在这些实施方式中的一些实施 方式中,分块比率基本上对于文件块是统一的。例如,参考图2,大小(P1)/大小(P2)的比 率"r"基本上等于大小(Q1)/大小(Q2)的比率。有利的是,边缘节点与存储节点通信路径 之间的业务比率(例如,"285-01上的业务"/ "285-02上的业务")可以大致为所述比率 "r",这使得存储供应对实际的文件接入模式无感知。
[0060] 在步骤360的一些实施方式中,接入通信信息包括对边缘节点将从其取得文件块 的存储节点进行定向。例如,参考图2,对于从客户端位置210-01发起的请求,边缘节点 240-01被定向以分别从存储节点250-01和250-02取得两个文件块P1和P2。
[0061] 在步骤360的一些实施方式中,接入通信信息包括对边缘节点将在取得文件块时 使用的接入通信路径进行定向。例如,参考图2,对于从客户端位置210-01发起的请求,边 缘节点240-01被定向以分别使用接入通信路径285-01和285-02来从存储节点取得两个 文件块P1和P2。
[0062] 在步骤360的一些实施方式中,所述供应包括在文件存储机制的应用期间,合并 常规的容错、恢复、负载均衡或冗余技术。在这些实施方式中,文件存储机制的应用合并这 些技术以不违反有保证的服务等级(例如,保证带宽)。
[0063] 有利的是,通过以提供对文件的有保证的接入的方式来选择用于容纳文件的存储 节点集,而无需事先了解用户接入模式,接入位置和实际接入的文件,该系统(例如,图1的 分布式网络文件系统100)可以是:
[0064] 〇接入无感知的,因为文件布局不需要随动态用户请求改变。新用户能够在客户端 位置处加入,并且新客户端文件可以被提取到云中,只要带宽需求保持在有保证的服务限 制之内。存储节点瓶颈和存储网络链路瓶颈与接入的客户端文件无关。
[0065] 0节省成本的,因为系统不需要持续不断地监控和重排客户端文件,以满足随变化 的接入模式的性能要求。
[0066] 〇有效的新客户端准许决定,因为准许决定可以授权所需的性能保证,而无需事先 了解文件接入模式。
[0067] 图4描绘了示出方法400的实施方式的流程图,该方法400用于边缘节点(例如, 图2的边缘节点240-01--240-03中的一者)对来自客户端位置(例如,图2的客户端位 置210-01--210-03中的一者)的对文件(例如,图2的文件P或Q)的请求进行服务。 该方法包括从存储控制器接收接入参数(步骤420)。执行该方法的装置之后使用接入参数 来确定所请求的文件的存储位置(步骤440),以及从所确定的存储位置取得所请求的文件 (步骤480)。
[0068] 在方法400中,步骤420包括从存储控制器(例如,图2的存储控制器220)接收 接入参数。特别地,该接入参数规定了存储节点(例如,图2的存储节点250),其中,针对请 求客户端位置(例如,图2的客户端位置210),文件存在于该存储节点中。在一些实施方 式中,该接入参数还规定了要在取得客户端文件时使用的通信路径(例如,图2的通信路径 285)。
[0069] 在方法400中,步骤440包括从客户端位置接收对接入客户端文件的请求。特别 地,参考图2,边缘节点(例如,边缘节点240-01)充当从客户端位置(例如,客户端位置 210-01)、通过客户端位置通信信道(例如,215-01)接收对文件(例如,文件P)的接入请求 的网关。
[0070] 在方法400中,步骤460包括使用接收到的接入参数来确定存储节点(例如,图2 中的存储节点250),其中,所请求的客户端分段(例如,图2中的文件P)被存储在该存储节 点中。
[0071] 在方法400中,步骤480包括从所确定的存储节点取得文件。特别地,参考图2,边 缘节点(例如,边缘节点240-01)从所确定的存储节点(例如,存储节点250-01和250-02) 取得文件块(例如,280-01的P1和280-02的P2),并且将重构的文件传输至位于客户端位 置(例如,客户端位置210-01)的请求用户。
[0072] 在步骤420的一些实施方式中,执行该方法的边缘节点维护每个客户端(例如,图 2的客户端A)的表格,该表格将边缘节点定向至包含客户端文件的存储节点。
[0073] 在步骤420的一些实施方式中,执行该方法的边缘节点维护每个客户端的表格, 该表格将边缘节点定向至应当在取得客户端文件时使用的接入通信路径。
[0074] 在步骤460的一些实施方式中,边缘节点针对特定的客户端(例如,图1和图2的 客户端A)接入的存储节点是固定的,而不管被接入的客户端文件。
[0075] 图5描绘了示出方法500的实施方式的流程图,该方法500用于存储控制器(例 如,图1的存储控制器120)供应如在图3的步骤360中示出的存储系统。该方法包括确定 块大小(步骤520),确定存储节点中的块布局(步骤530),以及针对选中的边缘节点,确 定接入存储节点(步骤540)。可选地,执行该方法的装置还确定新客户端是否被准许(步 骤560),以及可选地,在缩放(scale)服务可用的情况下(步骤565)对保证速率进行缩放 (570)。缩放服务使用缩放的有保证的服务等级允许新客户端准许。执行该方法的装置还 可以基于该确定来供应边缘节点和存储节点(步骤580)。
[0076] 在方法500中,步骤520包括确定块大小。特别地,客户端文件的块大小如图3中 描述的那样被确定。
[0077] 在方法500中,步骤530包括如图3中描述的那样来确定存储节点中的文件块的 布局。
[0078] 在方法500中,步骤540包括针对选中的边缘节点,确定接入存储节点。特别地, 包含客户端文件的存储节点(例如,图1中的存储节点150和图2中的存储节点250)与选 中的边缘节点(例如,图1中的边缘节点140和图2的边缘节点240)相关联。
[0079] 可选地,方法500包括步骤560。步骤560包括确定新客户端是否可被准许。特别 地,如果有充足的带宽可用于处理对文件的任意接入模式,新客户端由云服务提供方准许。 如果新客户端被准许,方法进行到步骤580,否则,方法进行到步骤565。
[0080] 可选地,方法500包括步骤565。步骤565包括确定请求客户端的服务保证是否可 被调整,以使该客户端可以被准许。如果服务保证可以被调整,方法进行到步骤570,否则, 方法结束(步骤595)。应当理解的是,在一些实施方式中,可以不提供缩放服务。在这些实 施方式中,如果确定新客户端不能被准许,步骤560可以结束(步骤595)。
[0081] 可选地,方法500包括步骤570。步骤570包括对请求客户端的服务保证进行缩 放,以使该客户端可以被准许。例如,在带宽是最大保证带宽的90%的情况下,如果有充足 的带宽可用于处理对文件的任意接入模式,则最大保证带宽根据90%的因子来被缩减。
[0082] 在方法500中,步骤580包括如图3中描述的那样供应边缘节点和存储节点。
[0083] 应当理解的是,尽管参考新增加的客户端进行描述,方法也可以被用于更新客户 端的存储供应。在这些实施方式中,步骤560确定更新的客户端存储需求是否被满足,并且 如果不是,可以缩减更新的客户端存储需求,或将其恢复至之前的客户端存储需求。
[0084] 在步骤520、530或540的一些实施方式中,存储节点的位置是固定且已知的。
[0085] 在方法500的一些实施方式中,步骤520、530、540或570可以被并行确定。例如, 在步骤520、530和540中确定的参数可以按照相同的算法被求解,并且步骤570的缩放因 子可以基于该结果。
[0086] 在方法500的一些实施方式中,步骤565和570可以被并行运行。例如,关于客户 端是否将允许缩放的决定可能需要该决定基于缩放因子。
[0087] 在步骤520、530或540的一些实施方式中,最大速率是上界,其中,可以以该最大 速率在边缘节点(例如,图1的边缘节点140或图2的240-01--240-03中的一者)处接 入客户端文件。在这些实施方式中的一些实施方式中,该上界是客户端位置通信信道(例 如,图1的客户端位置通信信道115或图2的215-01--215-03中的一者)的容量。有利 的是,使用预协商的客户端位置通信信道带宽保证允许客户端(例如,图1或图2的客户端 A)通过增加或消减不同客户端位置通信信道的带宽速率来重新协商服务等级。
[0088] 在步骤520、530或540的一些实施方式中,使用常规的最短路径路由技术来确定 接入通信路径(例如,图2中的通信路径285-01--285-06)。在这些实施方式中的一些实 施方式中,存储网络(例如,图1中的存储网络130和图2中的230)中的每个路径"e"(例 如,图1中的链路175中的一者)具有链路容量C(e)和用于最短路径计算的链路权重度量 W(e)。链路e的容量是链路上当前可用的容量。这是原始链路容量减去为所有接受的客户 端准备的带宽预留,所述接受的客户端使用链路e来接入数据(例如,图1的客户端A、客户 端B和客户端C)。
[0089] 在一些实施方式中,步骤560包括基于新增加的或更新的客户端(例如,图1中的 客户端A)的增加的带宽需求来更新存储网络的链路(例如,图1中的存储网络130的链路 175)的链路容量。
[0090] 在一些实施方式中,步骤560包括确定是否能够满足带宽需求。在这些实施方式 中的一些实施方式中,带宽需求用于下载或上传文件。在这些实施方式中的一些实施方式 中,在客户端(例如,图1和图2的客户端A)与云存储提供方之间存在服务质量协定。例 如,服务质量协定可以保证文件能够在固定的时间内被下载,或者规定文件将被下载的最 小速率。
[0091] 在这些实施方式中的一些实施方式中,等式E. 1可以用于确定边缘节点(例如,图 1的边缘节点140中的一者)处的总带宽需求。
[0092] [E. 1]

【权利要求】
1. 一种用于提供分布式文件系统的装置,该装置包括: 数据存储器;以及 处理器,与所述数据存储器通信连接,该处理器被配置成: 确定多个客户端位置,所述多个客户端位置与存储在存储网络中的多个存储节点中的 多个文件相关联,并且所述多个客户端位置经由多个相关联的通信信道与所述存储网络中 的多个边缘节点通信连接; 确定所述多个相关联的通信信道的多个接入带宽;以及 基于所述多个客户端位置和所述多个接入带宽,在所述存储节点中供应对所述多个文 件的存储。
2. 根据权利要求1所述的装置,其中,对所述多个文件供应存储包括将所述处理器配 置成: 基于所述多个客户端位置和所述多个接入带宽,向所述多个文件应用文件分块和文件 复制存储机制,其中,所述文件分块和文件复制存储机制规定将所述多个文件存储为多个 文件块; 基于所述多个客户端位置和所述多个接入带宽,确定所述存储节点中的所述多个文件 块的布局;以及 响应于从所述多个客户端位置的选中部分中的每一个接收到的文件接入请求,基于所 述多个客户端位置和所述多个接入带宽,为所述多个边缘节点的选中部分中的每一个确定 要被接入的所述多个存储节点中的至少一个,其中,所述多个边缘节点的所述选中部分与 所述多个客户端位置的所述选中部分相关联。
3. 根据权利要求2所述的装置,其中,对所述多个文件供应存储还包括将所述处理器 配置成: 确定多个第二客户端位置,所述多个第二客户端位置与存储在所述存储网络中的所述 多个存储节点中的多个第二文件相关联,并且所述多个第二客户端位置经由多个第二相关 联的通信信道与所述存储网络中的所述多个边缘节点通信连接; 确定所述多个第二相关联的通信信道的多个第二接入带宽;以及 基于所述多个第二客户端位置、所述多个第二接入带宽和客户端服务保证,减少对所 述存储网络中的所述多个第二文件供应的存储。
4. 根据权利要求1所述的装置,其中,对所述多个文件供应存储包括将所述处理器配 置成: 确定与所述多个客户端位置相关联的多个边缘节点; 向所述多个文件应用至少一个文件存储机制;以及 使用接入信息来更新所述多个边缘节点,该接入信息规定从所述多个存储节点对所述 多个文件的接入。
5. -种用于提供分布式文件系统的装置,该装置包括: 数据存储器;以及 处理器,与所述数据存储器通信连接,该处理器被配置成: 从多个客户端位置接收对接入存储在存储网络中的多个存储节点中的多个文件的多 个请求,所述多个客户端位置与客户端和所述多个文件相关联; 从存储控制器接收接入信息,该接入信息规定如何接入所述多个文件; 从第一客户端位置接收对第一文件的接入请求; 确定存储所述第一文件的多个确定的存储节点,以及到所确定的存储节点的多个通信 路径,该确定基于所述客户端、所述接入信息和所述第一文件;以及 经由所确定的通信路径,从所确定的存储节点取得所述第一文件; 其中,所述多个客户端位置包括所述第一客户端位置;以及 其中,所述多个存储节点包括所述多个确定的存储节点。
6. 根据权利要求5所述的装置,其中,基于与所述多个文件相关联的所述客户端,所确 定的存储节点是固定的。
7. -种用于提供分布式文件系统的系统,该系统包括: 多个客户端位置,所述多个位置中的每一个都与多个客户端中的一个相关联; 多个边缘节点,经由多个相关联的通信信道与所述多个客户端位置通信连接; 多个存储节点,与所述多个边缘节点通信连接,所述多个存储节点存储多个文件,所述 多个文件的至少一部分中的每个都与所述多个客户端中的一个相关联;以及 存储控制器,与所述边缘节点通信连接,该存储控制器被配置成: 确定多个确定的客户端位置; 确定所述多个相关联的通信信道的多个接入带宽;以及 基于所述多个确定的客户端位置和所述多个接入带宽,在所述多个存储节点中供应对 所述多个文件的存储。
8. -种用于提供分布式文件系统的方法,该方法包括: 在与数据存储器通信连接的处理器处,确定多个客户端位置,所述多个客户端位置与 存储在存储网络中的多个存储节点中的多个文件相关联,并且所述多个客户端位置经由多 个相关联的通信信道与所述存储网络中的多个边缘节点通信连接; 通过与所述数据存储器合作的所述处理器确定所述多个相关联的通信信道的多个接 入带宽;以及 通过与所述数据存储器合作的所述处理器,基于所述多个客户端位置和所述多个接入 带宽,在所述存储节点中对所述多个文件供应存储。
9. 根据权利要求8所述的方法,其中,对所述多个文件供应存储的步骤包括: 基于所述多个客户端位置和所述多个接入带宽,向所述多个文件应用文件分块和文件 复制存储机制,其中,所述文件分块和文件复制存储机制规定将所述多个文件存储为多个 文件块; 基于所述多个客户端位置和所述多个接入带宽,确定所述存储节点中的所述多个文件 块的布局;以及 响应于从所述多个客户端位置的选中部分中的每一个接收到的文件接入请求,基于所 述多个客户端位置和所述多个接入带宽,为所述多个边缘节点的选中部分中的每个确定要 被接入的所述多个存储节点中的至少一个,其中,所述多个边缘节点的所述选中部分与所 述多个客户端位置的所述选中部分相关联。
10. 根据权利要求9所述的方法,其中,应用所述文件分块存储机制的步骤包括对所述 多个文件应用实质上统一的文件分块比率。
【文档编号】G06F17/30GK104254838SQ201380015933
【公开日】2014年12月31日 申请日期:2013年2月26日 优先权日:2012年3月23日
【发明者】H·常, M·S·科迪亚拉姆, T·V·拉克斯曼, S·姆克基, L·王 申请人:阿尔卡特朗讯公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1