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

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

Info

Publication number
CN104254838A
CN104254838A CN201380015933.1A CN201380015933A CN104254838A CN 104254838 A CN104254838 A CN 104254838A CN 201380015933 A CN201380015933 A CN 201380015933A CN 104254838 A CN104254838 A CN 104254838A
Authority
CN
China
Prior art keywords
file
described multiple
client location
memory
access
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201380015933.1A
Other languages
English (en)
Inventor
H·常
M·S·科迪亚拉姆
T·V·拉克斯曼
S·姆克基
L·王
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alcatel Lucent SAS
Original Assignee
Alcatel Lucent SAS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Alcatel Lucent SAS filed Critical Alcatel Lucent SAS
Publication of CN104254838A publication Critical patent/CN104254838A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1021Server selection for load balancing based on client or server locations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/101Server selection for load balancing based on network conditions

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

各种实施方式提供了一种在云网络中提供分布式网络文件系统的方法和装置,其在云存储方面提供性能保证,该性能保证与接入的文件和接入位置无关。使用文件布局策略来供应客户端的文件系统,该文件布局策略基于客户端的接入位置和确定的最大接入带宽,而无需了解文件接入模式。

Description

用于在云网络中使用文件分块和复制的分布式文件系统的方法和装置
技术领域
本发明通常涉及用于在云网络中提供分布式网络文件系统的方法和装置。
背景技术
该章节引入了可有助于便于更好地理解本发明的方面。因此,该章节的陈述要从这个角度被阅读,并且不被理解为认可什么属于现有技术或者什么不属于现有技术。
在一些公知的文件系统中,可通过将网络附着的存储器与企业网络连接来实现文件接入。在其他公知的分布式网络文件系统中,可通过在不同的存储服务器上对文件进行分条(stripe)来实现文件接入。
发明内容
各种实施方式提供了一种在云网络中提供分布式网络文件系统的方法和装置,其在云存储方面提供性能保证,该性能保证与接入的文件和接入位置无关。使用文件布局策略来供应客户端的文件系统,该文件布局策略基于客户端的接入位置和确定的最大接入带宽,而无需了解文件接入模式。有利的是,该分布式文件系统允许从所有公布的接入位置对存储器的快速、无所不在、以及有保证的接入,而无需服务提供方来确保该存储器是可接入的。
在一个实施方式中,提供了一种用于提供分布式文件系统的装置。该装置包括:数据存储器和与该数据存储器通信连接的处理器。该处理器被编程用以确定多个客户端位置,所述多个客户端位置与存储在存储网络内的多个存储节点中的多个文件相关联,并且所述多个客户端位置经由多个相关联的通信信道与所述存储网络内的多个边缘节点通信连接;确定所述多个相关联的通信信道的多个接入带宽;以及基于所述多个客户端位置和所述多个接入带宽,在所述存储节点中供应对所述多个文件的存储。
在一些实施方式中,对所述多个文件供应的存储还包括将所述处理器编程用以:基于所述多个客户端位置和所述多个接入带宽,向所述多个文件应用文件分块和文件复制存储机制,其中,所述文件分块和文件复制存储机制规定将所述多个文件存储为多个文件块;基于所述多个客户端位置和所述多个接入带宽,确定所述存储节点中所述多个文件块的布局;以及响应于从所述多个客户端位置的选中部分中的每一个接收到的文件接入请求,基于所述多个客户端位置和所述多个接入带宽,为所述多个边缘节点的选中部分中的每一个确定要被接入的所述多个存储节点中的至少一个,其中,所述多个边缘节点的所述选中部分与所述多个客户端位置的所述选中部分相关联。
在一些实施方式中,应用所述文件分块存储机制包括对所述多个文件应用统一的文件分块比率。
在一些实施方案中,对所述多个文件供应存储还包括将所述处理器编程用以:确定多个第二客户端位置,所述多个第二客户端位置与存储在所述存储网络中的所述多个存储节点中的多个第二文件相关联,并且所述多个第二客户端位置经由多个第二相关联的通信信道与所述存储网络中的所述多个边缘节点通信连接;确定所述多个第二相关联的通信信道的多个第二接入带宽;以及基于所述多个第二客户端位置、所述多个第二接入带宽和客户端服务保证,减少对所述存储网络中的所述多个第二文件供应的存储。
在一些实施方案中,对所述多个文件供应存储还包括将所述处理器编程用以:基于所述多个第二客户端位置和所述多个第二接入带宽,对所述客户端服务保证进行缩放;以及基于所述多个第二客户端位置和所述多个第二接入带宽,对所述存储节点中的所述多个第二文件供应存储。
在一些实施方案中,对所述多个文件供应存储还包括将所述处理器编程用以:确定与所述多个客户端位置相关联的多个边缘节点;向所述多个文件应用至少一个文件存储机制;以及使用接入信息来更新所述多个边缘节点,以从所述存储网络中的多个存储节点接入所述多个文件。
在一些实施方式中,对所述多个文件的存储进行供应还包括将所述处理器编程用以:确定所述存储网络中的多个通信路径,所述多个通信路径定义所述多个边缘节点与所述多个存储节点之间的相关联的通信路径。
在一些实施方式中,所述至少一个文件存储机制包括文件分块和文件复制;所述文件分块将所述多个文件中的每个文件分成至多p个块;所述文件分块比率对所述多个文件是统一的;以及所述文件复制创建r个副本组,每个副本组包括所述多个存储节点中的一者或多者。
在一些实施方式中,文件块基于块id被存储在所述副本组中的存储节点中。
在一些实施方式中,具有相同块id的所有文件块被存储在所述副本组中的相同的存储节点中。
在第二实施方式中,提供了一种用于提供分布式文件系统的装置。该装置包括:数据存储器以及与所述数据存储器通信连接的处理器。该处理器被编程用以:从多个客户端位置接收对接入存储在存储网络中的多个存储节点中的多个文件的多个请求,所述多个客户端位置与客户端和所述多个文件相关联;从存储控制器接收接入信息,该接入信息规定如何接入所述多个文件;从第一客户端位置接收对第一文件的接入请求;确定存储所述第一文件的多个确定的存储节点,以及到所确定的存储节点的多个通信路径,该确定基于所述客户端、所述接入信息和所述第一文件;以及经由所确定的通信路径,从所确定的存储节点取得所述第一文件。其中,所述多个客户端位置包括所述第一客户端位置,以及所述多个存储节点包括所述多个确定的存储节点。
在一些实施方式中,基于与所述多个文件相关联的所述客户端,所确定的存储节点是固定的。
在第三实施方式中,提供了一种用于提供分布式文件系统的系统。该系统包括:多个客户端位置,所述多个位置中的每一个都与多个客户端中的一个相关联;多个边缘节点,经由多个相关联的通信信道与所述多个客户端位置通信连接;多个存储节点,与所述多个边缘节点通信连接,所述多个存储节点存储多个文件,所述多个文件的至少一部分中的每个都与所述多个客户端中的一个相关联;以及存储控制器,与所述边缘节点通信连接。该存储控制器被编程用以:确定多个确定的客户端位置;确定所述多个相关联的通信信道的多个接入带宽;以及基于所述多个确定的客户端位置和所述多个接入带宽,在所述存储节点中供应对所述多个文件的存储。
在第四实施方式中,提供了一种用于供应多个文件的存储的方法。该方法包括:确定多个客户端位置,所述多个客户端位置与存储在存储网络中的多个存储节点中的多个文件相关联,并且所述多个客户端位置经由多个相关联的通信信道与所述存储网络中的多个边缘节点通信连接;确定所述多个相关联的通信信道的多个接入带宽;以及基于所述多个客户端位置和所述多个接入带宽,在所述存储节点中供应对所述多个文件的存储。
在一些实施方式中,供应对所述多个文件的存储的步骤包括:基于所述多个客户端位置和所述多个接入带宽,向所述多个文件应用文件分块和文件复制存储机制,其中,所述文件分块和文件复制存储机制规定将所述多个文件存储为多个文件块;基于所述多个客户端位置和所述多个接入带宽,确定所述存储节点中所述多个文件块的布局;以及响应于从所述多个客户端位置的选中部分中的每一个接收到的文件接入请求,基于所述多个客户端位置和所述多个接入带宽,为所述多个边缘节点的选中部分中的每个确定要被接入的所述多个存储节点中的至少一个,其中,所述多个边缘节点的所述选中部分与所述多个客户端位置的所述选中部分相关联。
在一些实施方式中,应用所述文件分块存储机制的步骤包括对所述多个文件应用统一的文件分块比率。
附图说明
在附图中示出了各种实施方式,其中:
图1示出了包括在云网络中的分布式网络文件系统100的实施方式的云网络;
图2示意性地示出了接入由存储控制器220供应的分布式网络文件系统200的文件的功能框图;
图3描绘了示出方法300的实施方式的流程图,该方法300用于存储控制器供应图1的分布式网络文件系统100或图2的分布式网络文件系统200;
图4描绘了示出方法400的实施方式的流程图,该方法400用于边缘节点服务来自客户端位置的对文件的请求;
图5描绘了示出方法500的实施方式的流程图,该方法500用于存储控制器供应在图3的步骤360中示出的存储系统;以及
图6示意性地示出了各种装置600的实施方式,该装置600例如为图1的边缘节点140或图2的边缘节点240、或者图1的存储控制器120或图2的存储控制器220中的一者。
为了便于理解,相同的参考数字用于指代具有基本上相同或相似的结构、或者基本上相同或相似的功能的元件。
具体实施方式
具体实施方式和附图仅示出了本发明的原理。因此,将理解的是,本领域的技术人员将能够想出各种配置,虽然这些配置并未在此处被显式地描述或示出,这些配置体现本发明的原理,并且被包括在本发明的范围之内。此外,这里引证的所有示例原则上明确仅用于教学目的,以辅助读者理解本发明的原理和由发证人贡献的概念,从而推动本领域发展,并且被理解为不限于这里具体引证的示例和条件。此外,这里使用的术语“或者”指代非排他性或,除非另有指示之外(例如,“否则”或者“或替代”)。此外,这里描述的各种实施方式不必定相互排斥,因为一些实施方式能够与一个或多个其他实施方式结合,以形成新的实施方式。
各种实施方式提供了一种在云网络中提供分布式网络文件系统的方法和装置,其在云存储方面提供性能保证,该性能保证与接入的文件和接入位置无关。使用文件布局策略来供应客户端的文件系统,该文件布局策略基于客户端的接入位置和确定的最大接入带宽,并且无需了解文件接入模式。
图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对文件的接入进行定向。
客户端位置110可以包括一个或多个客户端的一个或多个位置。如图1中示出的,客户端A具有客户端位置110-02和110-03;客户端B具有客户端位置110-01和110-05,以及客户端C具有客户端位置110-04和110-06。应当理解的是,尽管描述为三个客户端,但可以存在任意数目的客户端,以及,尽管每个客户端被描述为具有两个客户端位置,但每个客户端可以包括任意数目的客户端位置。客户端位置110可以包括任意类型或数目的通信设备,该通信设备能够通过客户端位置通信信道115中的一者或多者来发送或接收文件。例如,通信设备可以是瘦客户端、智能电话、个人计算机或膝上型计算机、服务器、网络设备、平板电脑、电视机顶盒、媒体播放器等。通信设备可以依赖于示例性系统中的其他资源来执行部分任务(例如,处理或存储),或者能够独立地执行任务。应当理解的是,客户端位置可以共享相同的地理位置(例如,客户端B 110-01和客户端A110-02可以存在于同一建筑物中)。
这里使用的术语“文件”意味着由特定客户端(例如,客户端A)控制的任意客户端内容,并且应当被宽泛地理解为包括任意能够通过客户端位置通信信道115来传送或接收的内容。例如,文件可以包括:常规文件、分组、分组流、数字文档、视频或图像内容、文件块、数据对象、前述内容的任意部分等等。
客户端位置通信信道115经由相关联的边缘节点140在客户端位置110与存储网络130之间提供通信连接。特别地,客户端位置通信信道(例如,115-02)在客户端位置(例如,110-02)与边缘节点(例如,140-01)之间提供有保证的服务等级。有保证的服务等级可以包括最大带宽保证。应当理解的是,客户端位置可以共享相同的物理客户端位置通信信道。例如,客户端B 110-01和客户端A 110-02可以使用用于客户端B 110-01的VPN通道和用于客户端A 110-02的第二VPN通道来共享高速宽带连接。
通信信道115和125以及链路175支持通过一个或多个通信信道进行通信,所述一个或多个通信信道例如:无线通信(例如,LTE、GSM、CDMA、蓝牙);毫微微蜂窝通信(例如,WiFi);分组网络通信(例如,IP);宽带通信(例如,DOCSIS和DSL);存储通信(例如,光纤信道、iSCSI)等。应当理解的是,尽管描述为单个连接,但通信信道115和125以及链路175可以是任意数目的通信信道,或者是通信信道的任意组合。
存储控制器120可以是确定存储节点150中的文件布局、并且向边缘节点140提供接入信息的任意装置,该接入信息用于从客户端位置110对文件的接入进行定向。特别地,存储节点150中的文件布局基于确定的接入位置(例如,客户端位置110中的一者或多者)和确定的接入带宽(例如,将客户端位置(例如,110-02)与边缘节点(例如,140-01)互连的一个或多个客户端位置通信信道的带宽保证)。应当理解的是,虽然这里仅示出了一个存储控制器,但系统100可以包括多个存储控制器。
存储网络130包括经由一个或多个网络设备160或一个或多个链路175与一个或多个存储节点150互连的一个或多个边缘节点140。
应当理解的是,尽管在存储网络130中仅标记了四个链路(175-01——175-04),将边缘节点140、存储节点150和网络设备160互连的全部链路是链路175的成员,并且出于清楚的目的,保留标记的那些链路已经被省略。还应当理解的是,存储网络130可以包括任意数目的边缘节点140、存储节点150和网络设备160,以及任意数目和配置的链路175。此外,应当理解的是,存储网络130可以包括无线网络、有线网络或毫微微蜂窝网络中的任意组合,和任意数目的无线网络、有线网络或毫微微蜂窝网络,该网络包括:LTE、GSM、CDMA、局域网(LAN)、无线局域网(WLAN)、广域网(WAN)、城域网(MAN)等。
边缘节点140可以是充当供客户端位置110中的一者接入存储网络130的网关的任意装置。特别地,边缘节点140中的一者接收对文件的请求(例如,通过115-02接收的文件读取或写入请求),并将该文件接入请求定向至存储所请求的文件的一个或多个存储节点150。应当理解的是,虽然这里示出了七个边缘节点,但系统100可以包括更少或更多的边缘节点。
存储节点150存储所述文件,并且提供常规的存储服务。存储节点150可以是任意合适的存储设备,并且可以包括任意数目的存储设备。所包括的存储设备可以相类似或不相同,和/或可以彼此处于本地,或地理上分散。应当理解的是,虽然这里示出了五个存储节点,系统100可以包括更少或更多个存储节点。
网络设备160通过存储网络130路由请求和文件。网络设备160可以是任意合适的网络设备,包括:路由器、交换机、集线器、网桥等。所包括的网络设备可以相类似或不相同,和/或可以彼此处于本地,或地理上分散。应当理解的是,虽然这里示出了六个网络设备,系统100可以包括更少或更多个网络设备。
在一些实施方式中,客户端位置110中的一者或多者是使用常规的虚拟私有网络服务的企业位置,以及客户端位置通信信道115中的一者或多者是VPN通道。
在一些实施方式中,存储控制器120可以是存储网络130的一部分。在该实施方式的进一步的实施方式中,边缘节点140中的一者或多者可以提供存储控制器120的功能性。
在一些实施方式中,存储控制器120使用文件存储机制,例如,数据复制和数据分块。有利的是,文件存储机制可以缓解存储网络130中的拥塞瓶颈。第一文件存储机制(数据复制)包括通过将多个文件副本存储在不同的存储节点150来将网络负载分布在各个链路上。有利的是,通过使用数据复制,来自文件接入请求的负载可以被供应在存储网络130的各个部分(例如,存储节点150、网络设备160和链路175)上。第二文件存储机制(数据分块)包括将文件分成一些较小的块,所述块可以被存储在不同的存储节点处。之后,当文件被请求时,所有块被下载给用户。有利的是,分块使得来自文件接入请求的负载能够被分布在存储网络130之上。
图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)通信。
客户端位置210是客户端A的三个示例性位置,该客户端A接入存储网络230中的文件,如图1中所描述的。
客户端位置通信信道215是三个示例性客户端位置通信信道,其将客户端位置210与各个边缘节点240通信连接,如图1中所描述的。
存储控制器220在存储网络230中供应客户端的文件(例如,文件块280),如图1中所描述的。
边缘节点240和存储节点250的作用如在图1中描述的那样。
文件块280示出了客户端的文件的至少一部分。在该示例中,文件块280表示存储网络230中的两个客户端文件(P和Q)的存储。在该示例中,使用数据复制和数据分块。首先,文件被分成两个分段,并且每个块在两个位置中被复制。如所示出的,文件P被分成分段P1和P2,并且块P1被存储在存储节点250-01和250-04中,而块P2被存储在存储节点250-02和250-03中。
通信路径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)。
在一些实施方式中,存储在存储网络230中的文件块280表示文件集。应该理解的是,系统中的文件集可以是动态的。
图3描绘了示出方法300的实施方式的流程图,该方法300用于存储控制器(例如,图1的存储控制器120或图2的存储控制器220)提供图1的分布式网络文件系统100或图2的分布式网络文件系统200。该方法包括确定:(i)客户端接入位置(步骤320);以及(ii)接入带宽(步骤330)。执行该方法的装置之后基于所确定的接入位置和接入带宽来提提供存储网络(例如,图1的存储网络130或图2的存储网络230)(步骤360),而不需要事先了解文件接入模式。
在方法300中,步骤320包括确定接入位置,例如,图1的客户端位置110或图2的客户端位置220。特别地,将从其发起对特定客户端的文件的接入请求的客户端位置被确定。例如,对于图1中的客户端A的客户端文件,所确定出的客户端位置可以是110-02和110-03。类似地,对于图2中的客户端A的文件,所确定出的客户端位置可以是210-01——210-03。应当理解的是,一些客户端位置(例如,出于示例的目的,图2的客户端位置210-02)可以不接入文件,并因此,可以不是确定的客户端位置。
在方法300中,步骤340包括确定所确定的客户端位置与对应的一个或多个边缘节点之间的接入带宽。参考图1,客户端位置通信信道115-02、115-03和115-04可以是具有针对VPN服务的预协商的带宽保证的VPN通道。类似地,参考图2,客户端位置通信信道215-01——215-03可以是具有针对VPN服务的预协商的带宽保证的VPN通道。如此,所确定出的接入带宽可以基于预协商的带宽保证。
在方法300中,步骤360包括基于所确定的客户端接入位置和所确定的接入带宽来供应基于云的存储系统100。特别地,参考图2,文件存储机制被确定,并且针对所确定的客户端位置(例如,客户端位置210-01——210-03),该装置执行方法:(i)可选地,确定边缘节点(例如,边缘节点240),其中经由该边缘节点,所选中的客户端位置中的每个将接入存储网络(例如,存储网络230);(ii)向文件应用文件存储机制(例如,将文件分块和复制成文件块280,并确定哪些文件块被存储在哪些存储节点(例如,存储节点250)处);(iii)可选地,确定所确定出的客户端位置或边缘节点中的每一个将接入客户端文件的路径(例如,通信路径285);以及(iv)可选地,使用接入通信信息来更新合适的边缘节点(例如,边缘节点240)。应当理解的是,在上面步骤(i)中确定出的边缘节点可以是地理位置上最靠近客户端位置的边缘节点,或者可以是之前选中的边缘节点(例如,在业务协商期间确定的)。在这些实施方式中的一些实施方式中,步骤(i)中的确定可以包括取得之前选中的边缘节点。
有利的是,通过供应部分存储节点(例如,图1的存储节点150或图2的存储节点250)来为具有带宽保证的客户端(例如,图1或2的客户端A)的单独使用创建虚拟存储,以便该客户端用户接入文件,可以提供企业级服务。
在一些实施方式中,步骤320包括选择与边缘节点(例如,边缘节点240-01)最靠近的存储节点(例如,存储节点250-01和250-02),将从该存储节点取得文件块。在一些其他实施方式中,其他策略(例如,建立隧道至可位于远方的特定存储节点)可以选择不最靠近边缘节点的存储节点。
在步骤360的一些实施方式中,文件存储机制包括分块和复制。有利的是,这些机制可以使能接入无感知(oblivious)方案。在这些实施方式中的一些实施方式中,存储在存储网络(例如,图2的存储网络230)中的每个文件被分成至多p个块,并且这些块中的每个块被复制r次,在存储网络中创建至多p×r个文件块。在这些实施方式中的一些实施方式中,分块比率基本上对于文件块是统一的。例如,参考图2,大小(P1)/大小(P2)的比率“r”基本上等于大小(Q1)/大小(Q2)的比率。有利的是,边缘节点与存储节点通信路径之间的业务比率(例如,“285-01上的业务”/“285-02上的业务”)可以大致为所述比率“r”,这使得存储供应对实际的文件接入模式无感知。
在步骤360的一些实施方式中,接入通信信息包括对边缘节点将从其取得文件块的存储节点进行定向。例如,参考图2,对于从客户端位置210-01发起的请求,边缘节点240-01被定向以分别从存储节点250-01和250-02取得两个文件块P1和P2。
在步骤360的一些实施方式中,接入通信信息包括对边缘节点将在取得文件块时使用的接入通信路径进行定向。例如,参考图2,对于从客户端位置210-01发起的请求,边缘节点240-01被定向以分别使用接入通信路径285-01和285-02来从存储节点取得两个文件块P1和P2。
在步骤360的一些实施方式中,所述供应包括在文件存储机制的应用期间,合并常规的容错、恢复、负载均衡或冗余技术。在这些实施方式中,文件存储机制的应用合并这些技术以不违反有保证的服务等级(例如,保证带宽)。
有利的是,通过以提供对文件的有保证的接入的方式来选择用于容纳文件的存储节点集,而无需事先了解用户接入模式,接入位置和实际接入的文件,该系统(例如,图1的分布式网络文件系统100)可以是:
o接入无感知的,因为文件布局不需要随动态用户请求改变。新用户能够在客户端位置处加入,并且新客户端文件可以被提取到云中,只要带宽需求保持在有保证的服务限制之内。存储节点瓶颈和存储网络链路瓶颈与接入的客户端文件无关。
o节省成本的,因为系统不需要持续不断地监控和重排客户端文件,以满足随变化的接入模式的性能要求。
o有效的新客户端准许决定,因为准许决定可以授权所需的性能保证,而无需事先了解文件接入模式。
图4描绘了示出方法400的实施方式的流程图,该方法400用于边缘节点(例如,图2的边缘节点240-01——240-03中的一者)对来自客户端位置(例如,图2的客户端位置210-01——210-03中的一者)的对文件(例如,图2的文件P或Q)的请求进行服务。该方法包括从存储控制器接收接入参数(步骤420)。执行该方法的装置之后使用接入参数来确定所请求的文件的存储位置(步骤440),以及从所确定的存储位置取得所请求的文件(步骤480)。
在方法400中,步骤420包括从存储控制器(例如,图2的存储控制器220)接收接入参数。特别地,该接入参数规定了存储节点(例如,图2的存储节点250),其中,针对请求客户端位置(例如,图2的客户端位置210),文件存在于该存储节点中。在一些实施方式中,该接入参数还规定了要在取得客户端文件时使用的通信路径(例如,图2的通信路径285)。
在方法400中,步骤440包括从客户端位置接收对接入客户端文件的请求。特别地,参考图2,边缘节点(例如,边缘节点240-01)充当从客户端位置(例如,客户端位置210-01)、通过客户端位置通信信道(例如,215-01)接收对文件(例如,文件P)的接入请求的网关。
在方法400中,步骤460包括使用接收到的接入参数来确定存储节点(例如,图2中的存储节点250),其中,所请求的客户端分段(例如,图2中的文件P)被存储在该存储节点中。
在方法400中,步骤480包括从所确定的存储节点取得文件。特别地,参考图2,边缘节点(例如,边缘节点240-01)从所确定的存储节点(例如,存储节点250-01和250-02)取得文件块(例如,280-01的P1和280-02的P2),并且将重构的文件传输至位于客户端位置(例如,客户端位置210-01)的请求用户。
在步骤420的一些实施方式中,执行该方法的边缘节点维护每个客户端(例如,图2的客户端A)的表格,该表格将边缘节点定向至包含客户端文件的存储节点。
在步骤420的一些实施方式中,执行该方法的边缘节点维护每个客户端的表格,该表格将边缘节点定向至应当在取得客户端文件时使用的接入通信路径。
在步骤460的一些实施方式中,边缘节点针对特定的客户端(例如,图1和图2的客户端A)接入的存储节点是固定的,而不管被接入的客户端文件。
图5描绘了示出方法500的实施方式的流程图,该方法500用于存储控制器(例如,图1的存储控制器120)供应如在图3的步骤360中示出的存储系统。该方法包括确定块大小(步骤520),确定存储节点中的块布局(步骤530),以及针对选中的边缘节点,确定接入存储节点(步骤540)。可选地,执行该方法的装置还确定新客户端是否被准许(步骤560),以及可选地,在缩放(scale)服务可用的情况下(步骤565)对保证速率进行缩放(570)。缩放服务使用缩放的有保证的服务等级允许新客户端准许。执行该方法的装置还可以基于该确定来供应边缘节点和存储节点(步骤580)。
在方法500中,步骤520包括确定块大小。特别地,客户端文件的块大小如图3中描述的那样被确定。
在方法500中,步骤530包括如图3中描述的那样来确定存储节点中的文件块的布局。
在方法500中,步骤540包括针对选中的边缘节点,确定接入存储节点。特别地,包含客户端文件的存储节点(例如,图1中的存储节点150和图2中的存储节点250)与选中的边缘节点(例如,图1中的边缘节点140和图2的边缘节点240)相关联。
可选地,方法500包括步骤560。步骤560包括确定新客户端是否可被准许。特别地,如果有充足的带宽可用于处理对文件的任意接入模式,新客户端由云服务提供方准许。如果新客户端被准许,方法进行到步骤580,否则,方法进行到步骤565。
可选地,方法500包括步骤565。步骤565包括确定请求客户端的服务保证是否可被调整,以使该客户端可以被准许。如果服务保证可以被调整,方法进行到步骤570,否则,方法结束(步骤595)。应当理解的是,在一些实施方式中,可以不提供缩放服务。在这些实施方式中,如果确定新客户端不能被准许,步骤560可以结束(步骤595)。
可选地,方法500包括步骤570。步骤570包括对请求客户端的服务保证进行缩放,以使该客户端可以被准许。例如,在带宽是最大保证带宽的90%的情况下,如果有充足的带宽可用于处理对文件的任意接入模式,则最大保证带宽根据90%的因子来被缩减。
在方法500中,步骤580包括如图3中描述的那样供应边缘节点和存储节点。
应当理解的是,尽管参考新增加的客户端进行描述,方法也可以被用于更新客户端的存储供应。在这些实施方式中,步骤560确定更新的客户端存储需求是否被满足,并且如果不是,可以缩减更新的客户端存储需求,或将其恢复至之前的客户端存储需求。
在步骤520、530或540的一些实施方式中,存储节点的位置是固定且已知的。
在方法500的一些实施方式中,步骤520、530、540或570可以被并行确定。例如,在步骤520、530和540中确定的参数可以按照相同的算法被求解,并且步骤570的缩放因子可以基于该结果。
在方法500的一些实施方式中,步骤565和570可以被并行运行。例如,关于客户端是否将允许缩放的决定可能需要该决定基于缩放因子。
在步骤520、530或540的一些实施方式中,最大速率是上界,其中,可以以该最大速率在边缘节点(例如,图1的边缘节点140或图2的240-01——240-03中的一者)处接入客户端文件。在这些实施方式中的一些实施方式中,该上界是客户端位置通信信道(例如,图1的客户端位置通信信道115或图2的215-01——215-03中的一者)的容量。有利的是,使用预协商的客户端位置通信信道带宽保证允许客户端(例如,图1或图2的客户端A)通过增加或消减不同客户端位置通信信道的带宽速率来重新协商服务等级。
在步骤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)。
在一些实施方式中,步骤560包括基于新增加的或更新的客户端(例如,图1中的客户端A)的增加的带宽需求来更新存储网络的链路(例如,图1中的存储网络130的链路175)的链路容量。
在一些实施方式中,步骤560包括确定是否能够满足带宽需求。在这些实施方式中的一些实施方式中,带宽需求用于下载或上传文件。在这些实施方式中的一些实施方式中,在客户端(例如,图1和图2的客户端A)与云存储提供方之间存在服务质量协定。例如,服务质量协定可以保证文件能够在固定的时间内被下载,或者规定文件将被下载的最小速率。
在这些实施方式中的一些实施方式中,等式E.1可以用于确定边缘节点(例如,图1的边缘节点140中的一者)处的总带宽需求。
[E.1] Σ f ∈ F N u f ( t ) R f ≤ D u ∀ u , t
在等式[1]中,Rf表示文件“f”的下载速率,以及表示在时间t,被传送至边缘节点“u”的对文件f的请求的数量。Du表示在边缘节点“u”处的最大下载速率。
在一些实施方式中,步骤520、530或540包括使用常规的经典优化技术来解决线性规划问题。常规的经典优化技术涉及确定最佳实现期望目的或目标的动作。最佳实现目标或目的的动作可以通过对目标函数的值进行最大化或最小化来确定。在一些实施方式中,目标函数的目的或度量可以对最大链路使用进行最小化。
该问题可以表示为:
最优化:
[E.2]y=f(x1,x2,...,xn)
受制于:
[E.3] G j ( x 1 , x 2 , . . . , x n ) ≤ = ≥ b j , j = 1,2 , . . . , m
其中,等式E.2是目标函数,以及等式E.3构成施加给解的约束集。变量xi(x1,x2,...,xn)表示决策变量集,以及y=f(x1,x2,...,xn)是由这些决策变量表示的目标函数。应当理解的是,该目标函数可以被最大化或最小化。
在步骤520、530或540的一些实施方式中,使用线性规划问题的第一实施方式包括将文件分成相同数目的块,并且将文件复制“r”次。在一些实施方式中,约束∑kβk==1被应用以确保整个文件被分块。在该约束中,βk表示处于分块k中的每个文件的片段。在一些实施方式中,约束βk≥1/p也可以被应用以确保每个文件被分成至多“p”个块。
在第一实施方式的一些实施方式中,块“k”的每个副本“j”位于相同的存储节点中。例如,参考图2,存储节点250-01包括文件P和Q的j=1的副本的k=1的块,以及存储节点250-02包括文件P和Q的j=1的副本的k=2的块。
在第一实施方式中的一些实施方式中,线性规划决策变量是块大小和存储节点的位置,其中,每个块的每个副本位于该存储节点中。使用|C|来表示存储节点的数量,以及使用“r”来表示每个块的副本的数量,存在 q = | C | r 个可能的副本组“G”。其中,Gj表示副本组j中的r个存储节点的集合。在这些实施方式中的一些实施方式中,如果块k被存储在副本组Gj中,则每个存储节点“c”∈Gj存储每个文件的块k。为了保持符号简单,块id和副本组id是相同的。例如,块j被存储在副本组Gj中。
在第一实施方式的一些实施方式中,当边缘节点“u”从副本组j接入(例如,下载或上传)文件的片段βj时,该接入可从存储节点“c”∈Gj进行,该存储节点最靠近边缘节点u。如此,边缘节点u从存储节点c∈Gj接入文件片段βj,以使针对所有c'∈Gj,|SP(c;u)|≤|SP(c';u)|。在该等式中,SP(...;...)表示边缘节点-存储节点对之间的最短路径。类似地,SP(Gj;u)用于表示SP(c;u)中的链路集,其中,存储节点c是Gj中最靠近边缘节点u的存储节点。应当理解的是,从包含文件块的最靠近的存储节点接入客户端数据可以被扩展,以解决能够从处于同一副本组中的多个存储节点中接入文件的情况。
由于每个边缘节点从副本组j接入每个文件的片段βj,在时间t,从副本组j到边缘节点u的总流速是其中,表示在时间t正被传送至边缘节点u的文件f的副本的数量。根据等式[1],我们能够写出:
[E.4] Σ f ∈ F β j N u f R f = β j Σ f ∈ F N u f ( t ) R f
[E.5] ≤ β j D u ∀ u , t
在等式[4]和[5]中,βj表示文件片段,Rf表示文件“f”的下载速率,以及表示在时间t,对正被传送至边缘节点“u”的文件f的请求的数量。Du表示在边缘节点“u”处的最大下载速率。
根据等式[4]和[5],从副本组j供应给边缘节点u的容量数量的上界是βjDu。令H(e)表示使用链路e来接入文件的(副本组,边缘节点)对集合(即,H(e)={(Gj,u):e∈SP(Gj,u)}),则链路e上的最大流量将是应当理解的是,(副本组,边缘节点)对中选中的集合(即,H(e))规定了用于选中的边缘节点的确定的存储节点(例如,步骤540)。
在第一实施方式的一些实施方式中,线性规划问题的目标是确定有多少文件被分块(步骤520),以及这些块被复制到哪儿(步骤530),以对由λ表示的最大链路利用最小化。用于确定这些参数的线性规划问题可以如下:
[E.6]    minλ
[E.7] Σ ( G j , u ) ∈ H ( e ) β j D u ≤ λc ( e ) ∀ e ∈ E
[E.8] Σ j β j = 1
[E.9] β j ≥ 1 p ∀ j
在等式[6]-[9]中,βj表示文件片段,Du表示在边缘节点“u”处的最大下载速率,λ表示最大链路利用,c(e)表示链路e的带宽容量,其中,e是链路集E中的成员,j表示块编号和副本组编号,Gj表示存储节点的副本组,H(e)表示使用链路e接入文件的(副本组,边缘节点)对集合,以及p表示块的最大数量。
如此,在第一实施方式中,确定的块大小(步骤520)是βj;确定的存储节点中的块布局(步骤530)由G给定,其中,针对每个副本组Gj,每个存储节点c∈Gj存储每个文件的块j;以及用于每个选中的边缘节点的确定的接入存储节点(步骤540)由H(e)中的副本组-边缘节点对集合(即,(Gj,u))给定。
此外,在第一实施方式中,客户端准许决策(步骤560)可以根据最小的最大链路利用λ来推导。如果λ≤1,则客户端可以接入无感知的服务保证来被准许。如果λ>1,则客户端可不以接入无感知的服务保证来被准许,除非存储控制器确定该服务保证可以被缩放(步骤565)。为了使得能够以接入无感知的服务保证进行客户端准许,该服务保证可以在每个边缘节点u处根据λ来被缩减(步骤570)。例如,如果服务保证是接入速率(例如,最大下载速率),则在每个边缘节点u处,最大下载速率可以被缩减至Du/λ。
应当理解的是,在任意存储节点处的存储量约束可以通过增加额外的约束来被合并到线性规划方程中。
尽管主要按照特定顺序来进行描绘和描述,但应当理解的是,方法300、400和500中示出的步骤可以按照任意合适的顺序来被执行。此外,由一个步骤标识的步骤也可以按照该顺序在一个或多个其他步骤中被执行,或者多于一个的步骤的公共动作可以仅被执行一次。
应当理解的是,上面描述的各种方法的步骤能够由编程的计算机执行。此处,一些实施方式也意图覆盖编程存储设备(例如,数据存储媒介),该编程存储设备是机器可读的或者是计算机可读的,并且对机器可读的或计算机可读的指令程序进行编码,其中,所述指令执行所述方法的一些步骤或所有步骤。程序存储设备可以例如是数字存储器、磁存储媒介(例如,磁盘和磁带)、硬盘驱动器、或可选地,可读数据存储媒介。实施方式还意图覆盖被编程以执行上面描述的方法的所述步骤的计算机。
图6示意性地示出了各种装置600的实施方式,该装置600例如为图1的边缘节点140或图2的边缘节点240、或图1的存储控制器120或图2的存储控制器220中的一者。该装置600包括处理器610、数据存储器611和I/O接口630。
处理器610控制装置600的操作。处理器610与数据存储器611合作。
数据存储器611可以存储程序数据(视情况而定),例如,路由信息等。数据存储器611还存储可由处理器610执行的程序620。
处理器可执行的程序620可以包括I/O接口程序621、供应程序623或客户端文件服务程序625。处理器610与处理器可执行的程序620合作。
I/O接口630与处理器610和I/O接口程序621合作,以支持通过图1的通信信道115、125或175、或图2的215或225、以及链路通信路径285(如上所述且视情况而定)进行通信。
供应程序623执行如上描述的图3的方法300或图5的方法500的步骤。
客户端文件服务程序625执行如上描述的图4的方法400的步骤。
在一些实施方式中,处理器610可以包括例如处理器/CPU核的资源,I/O接口630可以包括任意合适的网络接口,或者数据存储器611可以包括存储器或存储设备。此外,装置600可以是任意合适的物理硬件配置,例如:一个或多个服务器,由例如处理器、存储器、网络接口或存储设备的组件组成的刀片服务器。在这些实施方式中的一些实施方式中,装置600可以包括彼此位于远程的云网络资源。
在一些实施方式中,装置600可以是虚拟机。在这些实施方式的一些实施方式中,该虚拟机可以包括来自不同机器的组件,或者可以在地理上被分散。例如,数据存储器611和处理器610可以位于两个不同的物理机器中。
当在处理器610上实施处理器可执行的程序620时,程序代码分段与处理器合并,以提供以模拟方式运行特定的逻辑电路的唯一设备。
尽管此处参考实施方式进行描绘和描述(例如,在该实施方式中,程序和逻辑被存储在数据存储器内,并且存储器与处理器通信连接),但是应当理解的是,所述信息可以按照任意其他合适的方式来被存储(例如,使用任意合适数目的存储器、存储设备或数据库);使用任意合适配置的存储器、存储设备或数据库,该存储器、存储设备或数据库与任意合适配置的设备通信连接;将信息存储在存储器、存储设备或内部或外部数据库的任意合适的组合中;或者使用任意合适数目的可接入外部存储器、存储设备或数据库。如此,此处提及的术语数据存储器意味着包括存储器、存储设备和数据库的所有任意合适的组合。
具体实施方式和附图仅示出了本发明的原理。因此,将理解的是,本领域的技术人员将能够想出各种配置,虽然这些配置并未在此处被显式地描述或示出,这些配置体现本发明的原理,并且被包括在本发明的范围之内。此外,这里引证的所有示例原则上明确仅用于教学目的,以辅助读者理解本发明的原理和由发证人贡献的概念,从而推动本领域发展,并且被理解为不限于这里具体引证的示例和条件。此外,此处引证本发明的原理、方面和实施方式的所有陈述及其特定示例意图包括其等价。
附图中示出的各种元件的功能(包括标记为“处理器”的任意功能块)可以通过使用专用硬件和能够执行与合适的软件相关联的软件的硬件来提供。当由处理器提供时,该功能可以由单个专用处理器、单个共享处理器、或多个独个处理器来提供,其中一些可以被共享。此外,术语“处理器”或“控制器”的显式使用不应当被理解为专门指代能够执行软件的硬件,并且可以隐式地包括但不限于数字信号处理器(DSP)硬件、网络处理器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、用于存储软件的只读存储器(ROM)、随机存取存储器(RAM)、以及非易失存储器。其他硬件(常规的或定制的)也可以被包括。类似地,附图中示出的任意开关仅是概念上的。其功能可以通过程序逻辑的操作、通过专用逻辑、通过程序控制和专用逻辑的交互、或者甚至是手动(可由实施者选择特定的技术)来实施,如从上下文中更具体理解的。
应当理解的是,此处的任意框图表示体现本发明的原理的例证性电路的概念视图。类似地,应当理解的是,任意流程表、流程图、状态转换图、伪代码等表示各种过程,该过程实质上存在于计算机可读介质中,并因此供计算机或处理器运行,不管这种计算机或处理器是否被显式地示出。

Claims (10)

1.一种用于提供分布式文件系统的装置,该装置包括:
数据存储器;以及
处理器,与所述数据存储器通信连接,该处理器被配置成:
确定多个客户端位置,所述多个客户端位置与存储在存储网络中的多个存储节点中的多个文件相关联,并且所述多个客户端位置经由多个相关联的通信信道与所述存储网络中的多个边缘节点通信连接;
确定所述多个相关联的通信信道的多个接入带宽;以及
基于所述多个客户端位置和所述多个接入带宽,在所述存储节点中供应对所述多个文件的存储。
2.根据权利要求1所述的装置,其中,对所述多个文件供应存储包括将所述处理器配置成:
基于所述多个客户端位置和所述多个接入带宽,向所述多个文件应用文件分块和文件复制存储机制,其中,所述文件分块和文件复制存储机制规定将所述多个文件存储为多个文件块;
基于所述多个客户端位置和所述多个接入带宽,确定所述存储节点中的所述多个文件块的布局;以及
响应于从所述多个客户端位置的选中部分中的每一个接收到的文件接入请求,基于所述多个客户端位置和所述多个接入带宽,为所述多个边缘节点的选中部分中的每一个确定要被接入的所述多个存储节点中的至少一个,其中,所述多个边缘节点的所述选中部分与所述多个客户端位置的所述选中部分相关联。
3.根据权利要求2所述的装置,其中,对所述多个文件供应存储还包括将所述处理器配置成:
确定多个第二客户端位置,所述多个第二客户端位置与存储在所述存储网络中的所述多个存储节点中的多个第二文件相关联,并且所述多个第二客户端位置经由多个第二相关联的通信信道与所述存储网络中的所述多个边缘节点通信连接;
确定所述多个第二相关联的通信信道的多个第二接入带宽;以及
基于所述多个第二客户端位置、所述多个第二接入带宽和客户端服务保证,减少对所述存储网络中的所述多个第二文件供应的存储。
4.根据权利要求1所述的装置,其中,对所述多个文件供应存储包括将所述处理器配置成:
确定与所述多个客户端位置相关联的多个边缘节点;
向所述多个文件应用至少一个文件存储机制;以及
使用接入信息来更新所述多个边缘节点,该接入信息规定从所述多个存储节点对所述多个文件的接入。
5.一种用于提供分布式文件系统的装置,该装置包括:
数据存储器;以及
处理器,与所述数据存储器通信连接,该处理器被配置成:
从多个客户端位置接收对接入存储在存储网络中的多个存储节点中的多个文件的多个请求,所述多个客户端位置与客户端和所述多个文件相关联;
从存储控制器接收接入信息,该接入信息规定如何接入所述多个文件;
从第一客户端位置接收对第一文件的接入请求;
确定存储所述第一文件的多个确定的存储节点,以及到所确定的存储节点的多个通信路径,该确定基于所述客户端、所述接入信息和所述第一文件;以及
经由所确定的通信路径,从所确定的存储节点取得所述第一文件;
其中,所述多个客户端位置包括所述第一客户端位置;以及
其中,所述多个存储节点包括所述多个确定的存储节点。
6.根据权利要求5所述的装置,其中,基于与所述多个文件相关联的所述客户端,所确定的存储节点是固定的。
7.一种用于提供分布式文件系统的系统,该系统包括:
多个客户端位置,所述多个位置中的每一个都与多个客户端中的一个相关联;
多个边缘节点,经由多个相关联的通信信道与所述多个客户端位置通信连接;
多个存储节点,与所述多个边缘节点通信连接,所述多个存储节点存储多个文件,所述多个文件的至少一部分中的每个都与所述多个客户端中的一个相关联;以及
存储控制器,与所述边缘节点通信连接,该存储控制器被配置成:
确定多个确定的客户端位置;
确定所述多个相关联的通信信道的多个接入带宽;以及
基于所述多个确定的客户端位置和所述多个接入带宽,在所述多个存储节点中供应对所述多个文件的存储。
8.一种用于提供分布式文件系统的方法,该方法包括:
在与数据存储器通信连接的处理器处,确定多个客户端位置,所述多个客户端位置与存储在存储网络中的多个存储节点中的多个文件相关联,并且所述多个客户端位置经由多个相关联的通信信道与所述存储网络中的多个边缘节点通信连接;
通过与所述数据存储器合作的所述处理器确定所述多个相关联的通信信道的多个接入带宽;以及
通过与所述数据存储器合作的所述处理器,基于所述多个客户端位置和所述多个接入带宽,在所述存储节点中对所述多个文件供应存储。
9.根据权利要求8所述的方法,其中,对所述多个文件供应存储的步骤包括:
基于所述多个客户端位置和所述多个接入带宽,向所述多个文件应用文件分块和文件复制存储机制,其中,所述文件分块和文件复制存储机制规定将所述多个文件存储为多个文件块;
基于所述多个客户端位置和所述多个接入带宽,确定所述存储节点中的所述多个文件块的布局;以及
响应于从所述多个客户端位置的选中部分中的每一个接收到的文件接入请求,基于所述多个客户端位置和所述多个接入带宽,为所述多个边缘节点的选中部分中的每个确定要被接入的所述多个存储节点中的至少一个,其中,所述多个边缘节点的所述选中部分与所述多个客户端位置的所述选中部分相关联。
10.根据权利要求9所述的方法,其中,应用所述文件分块存储机制的步骤包括对所述多个文件应用实质上统一的文件分块比率。
CN201380015933.1A 2012-03-23 2013-02-26 用于在云网络中使用文件分块和复制的分布式文件系统的方法和装置 Pending CN104254838A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/427,958 2012-03-23
US13/427,958 US20130254248A1 (en) 2012-03-23 2012-03-23 Method And Apparatus For A Distributed File System In A Cloud Network
PCT/US2013/027713 WO2013142008A1 (en) 2012-03-23 2013-02-26 Method and apparatus for a distributed file system in a cloud network using file chunking and replication

Publications (1)

Publication Number Publication Date
CN104254838A true CN104254838A (zh) 2014-12-31

Family

ID=47891974

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380015933.1A Pending CN104254838A (zh) 2012-03-23 2013-02-26 用于在云网络中使用文件分块和复制的分布式文件系统的方法和装置

Country Status (6)

Country Link
US (1) US20130254248A1 (zh)
EP (1) EP2828749A1 (zh)
JP (1) JP2015512534A (zh)
KR (1) KR20140129245A (zh)
CN (1) CN104254838A (zh)
WO (1) WO2013142008A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117033330A (zh) * 2023-10-08 2023-11-10 南京翼辉信息技术有限公司 一种多核文件共享系统及其控制方法

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9477679B2 (en) * 2013-09-20 2016-10-25 Google Inc. Programmatically choosing preferred storage parameters for files in large-scale distributed storage systems
US9367562B2 (en) 2013-12-05 2016-06-14 Google Inc. Distributing data on distributed storage systems
US9607002B2 (en) * 2013-12-18 2017-03-28 Intel Corporation File retrieval from multiple storage locations
US10733061B2 (en) 2017-06-27 2020-08-04 Western Digital Technologies, Inc. Hybrid data storage system with private storage cloud and public storage cloud
US10289310B2 (en) 2017-06-27 2019-05-14 Western Digital Technologies, Inc. Hybrid data storage system with private storage cloud and public storage cloud
US11425183B2 (en) * 2019-06-07 2022-08-23 Eaton Intelligent Power Limited Multi-threaded data transfer to multiple remote devices using wireless hart protocol
CN112565325B (zh) * 2019-09-26 2022-09-23 华为云计算技术有限公司 镜像文件管理方法、装置及系统、计算机设备、存储介质
US11893064B2 (en) * 2020-02-05 2024-02-06 EMC IP Holding Company LLC Reliably maintaining strict consistency in cluster wide state of opened files in a distributed file system cluster exposing a global namespace
CN114531467B (zh) * 2020-11-04 2023-04-14 中移(苏州)软件技术有限公司 一种信息处理方法、设备和系统

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020133491A1 (en) * 2000-10-26 2002-09-19 Prismedia Networks, Inc. Method and system for managing distributed content and related metadata
US20050203910A1 (en) * 2004-03-11 2005-09-15 Hitachi, Ltd. Method and apparatus for storage network management
US7266555B1 (en) * 2000-03-03 2007-09-04 Intel Corporation Methods and apparatus for accessing remote storage through use of a local device
CN101316274A (zh) * 2008-05-12 2008-12-03 华中科技大学 一种适用于广域网的数据容灾系统
US20110196833A1 (en) * 2010-02-09 2011-08-11 Alexandre Drobychev Storage of Data In A Distributed Storage System
US20110276656A1 (en) * 2010-05-05 2011-11-10 The Go Daddy Group, Inc. Writing a file to a cloud storage solution
US20120066191A1 (en) * 2010-09-10 2012-03-15 International Business Machines Corporation Optimized concurrent file input/output in a clustered file system

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6970939B2 (en) * 2000-10-26 2005-11-29 Intel Corporation Method and apparatus for large payload distribution in a network
EP1430399A1 (en) * 2001-08-31 2004-06-23 Arkivio, Inc. Techniques for storing data based upon storage policies
JP2004126716A (ja) * 2002-09-30 2004-04-22 Fujitsu Ltd 広域分散ストレージシステムを利用したデータ格納方法、その方法をコンピュータに実現させるプログラム、記録媒体、及び広域分散ストレージシステムにおける制御装置
US20070214105A1 (en) * 2006-03-08 2007-09-13 Omneon Video Networks Network topology for a scalable data storage system
US9176779B2 (en) * 2008-07-10 2015-11-03 Juniper Networks, Inc. Data access in distributed systems
JP2011113462A (ja) * 2009-11-30 2011-06-09 Samsung Electronics Co Ltd コンテンツデータの送受信方法及びコンテンツデータの送受信システム

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7266555B1 (en) * 2000-03-03 2007-09-04 Intel Corporation Methods and apparatus for accessing remote storage through use of a local device
US20020133491A1 (en) * 2000-10-26 2002-09-19 Prismedia Networks, Inc. Method and system for managing distributed content and related metadata
US20050203910A1 (en) * 2004-03-11 2005-09-15 Hitachi, Ltd. Method and apparatus for storage network management
CN101316274A (zh) * 2008-05-12 2008-12-03 华中科技大学 一种适用于广域网的数据容灾系统
US20110196833A1 (en) * 2010-02-09 2011-08-11 Alexandre Drobychev Storage of Data In A Distributed Storage System
US20110276656A1 (en) * 2010-05-05 2011-11-10 The Go Daddy Group, Inc. Writing a file to a cloud storage solution
US20120066191A1 (en) * 2010-09-10 2012-03-15 International Business Machines Corporation Optimized concurrent file input/output in a clustered file system

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117033330A (zh) * 2023-10-08 2023-11-10 南京翼辉信息技术有限公司 一种多核文件共享系统及其控制方法
CN117033330B (zh) * 2023-10-08 2023-12-08 南京翼辉信息技术有限公司 一种多核文件共享系统及其控制方法

Also Published As

Publication number Publication date
JP2015512534A (ja) 2015-04-27
US20130254248A1 (en) 2013-09-26
EP2828749A1 (en) 2015-01-28
WO2013142008A1 (en) 2013-09-26
KR20140129245A (ko) 2014-11-06

Similar Documents

Publication Publication Date Title
CN104254838A (zh) 用于在云网络中使用文件分块和复制的分布式文件系统的方法和装置
Zhang et al. Adaptive interference-aware VNF placement for service-customized 5G network slices
Do et al. A proximal algorithm for joint resource allocation and minimizing carbon footprint in geo-distributed fog computing
US20200220791A1 (en) Instantiation of a telco blockchain in a nfv environment
US11689961B2 (en) Systems and methods for distribution of application logic in digital networks
Palmieri et al. GRASP-based resource re-optimization for effective big data access in federated clouds
WO2014119719A1 (ja) リソース制御システム、制御パターン生成装置、制御装置、リソース制御方法及びプログラム
Alghayadh et al. Ubiquitous learning models for 5G communication network utility maximization through utility-based service function chain deployment
Jahromi et al. Online VNF placement and chaining for value-added services in content delivery networks
CN107147530A (zh) 一种基于资源守恒的虚拟网络重配置方法
Antevski et al. Resource orchestration of 5G transport networks for vertical industries
WO2019167965A1 (ja) 通信システム、及びスライス制御方法
CN113490279A (zh) 一种网络切片配置方法及装置
Liu et al. Multi-objective optimization service function chain placement algorithm based on reinforcement learning
Bouzidi et al. Dynamic clustering of software defined network switches and controller placement using deep reinforcement learning
Tsygankov et al. Network aware VM load balancing in cloud data centers using SDN
Montana et al. Adaptive reconfiguration of data networks using genetic algorithms
Hossain et al. A distributed collaborative learning approach in 5G+ core networks
Garg et al. Heuristic and reinforcement learning algorithms for dynamic service placement on mobile edge cloud
Silva et al. Network and cloudlet selection for computation offloading on a software-defined edge architecture
Anbiah et al. An online distributed approach to network function placement in nfv-enabled networks
Tran et al. Joint service function chain embedding and routing in cloud-based nfv: A deep q-learning based approach
US10868764B2 (en) Route calculation control device and route calculation control method
García et al. Multicast routing and virtual network function placement in NFV-SDN networks: A genetic algorithms approach
Huang et al. A new mechanism for SDN network virtualization service

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20141231