CN105745900B - 访问文件的方法、分布式存储系统和网络设备 - Google Patents
访问文件的方法、分布式存储系统和网络设备 Download PDFInfo
- Publication number
- CN105745900B CN105745900B CN201480037253.4A CN201480037253A CN105745900B CN 105745900 B CN105745900 B CN 105745900B CN 201480037253 A CN201480037253 A CN 201480037253A CN 105745900 B CN105745900 B CN 105745900B
- Authority
- CN
- China
- Prior art keywords
- memory node
- address
- node
- access request
- host
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 56
- 238000009826 distribution Methods 0.000 claims abstract description 23
- 238000003860 storage Methods 0.000 claims description 48
- 230000004044 response Effects 0.000 claims description 47
- 239000011800 void material Substances 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 9
- 230000005540 biological transmission Effects 0.000 description 8
- 238000004891 communication Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 8
- 230000008569 process Effects 0.000 description 6
- 238000013507 mapping Methods 0.000 description 4
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000000151 deposition Methods 0.000 description 2
- 230000010485 coping Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 150000003839 salts Chemical class 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/40—Support for services or applications
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种访问文件的方法、分布式存储系统和网络设备。该方法包括:网络设备接收主机发送的访问请求,该访问请求用于访问目标文件的第一虚拟空间,该第一虚拟空间为管理节点在全局虚拟地址空间中为该目标文件分配的空间,该访问请求的目的地址包含第一存储节点的信息以及该目标文件在该第一存储节点中的本地虚拟地址空间的地址,该第一存储节点表示用于存储该目标文件的存储节点;该网络设备解析该访问请求的目的地址以获得该第一存储节点的设备信息;该网络根据该第一存储节点的信息将该访问请求发送到该第一存储节点,以根据该目的地址中的本地虚拟地址空间的地址访问该目标文件。该访问文件的方法能够提高文件访问的效率。
Description
技术领域
本发明涉及存储技术领域,具体涉及访问文件的方法、分布式存储系统和网络设备。
背景技术
新型非易失存储(non-violate memory,NVM)介质,比如相变内存(Phase ChangeMemory,PCM)、可变电阻式随机存取器(Resistive RAM,ReRAM)、磁性随机存储器(MagneticRandom Access Memory,MRAM)等,具有类似动态随机存取存储器(Dynamic Random AccessMemory,DRAM)的读写特点,能够挂在内存总线上进行访问。目前,基于非易失存储介质的存储系统是业界研究的热点。
现有远程访问文件系统的方法包括采用网络文件系统(Network File System,NFS)或者通用网络文件系统(Common Internet File System,CIFS)协议等。这些传统的访问文件的方式本质上都是基于远程过程调用(Remote Procedure Call,RPC),是建立在传输控制协议/因特网互联协议(Transmission Control Protocol/Internet Protocol,TCP/IP)之上。对于基于NVM的存储系统来说,这些访问方法仍需要经过主机的内核TCP/IP协议栈处理,访问效率差。
发明内容
本发明实施例提供了一种访问文件的方法、分布式存储系统和网络设备,能够提高文件访问的效率。
第一方面,提供了一种访问文件的方法,该方法应用于分布式存储系统中,该分布式存储系统包括管理节点、多个存储节点和网络设备,该分布式存储系统中每一个存储节点的本地虚拟地址空间对应该分布式存储系统的全局虚拟地址空间的一部分,该方法包括:
该网络设备接收主机发送的访问请求,该访问请求用于访问目标文件的第一虚拟空间,该第一虚拟空间为该管理节点在该全局虚拟地址空间中为该目标文件分配的空间,该访问请求的目的地址包含存储该目标文件的第一存储节点的设备信息以及该目标文件在该第一存储节点中的本地虚拟地址空间的地址,该第一存储节点表示该多个存储节点中用于存储该目标文件的存储节点;
该网络设备解析该访问请求的目的地址以获得该第一存储节点的设备信息;
该网络设备根据该第一存储节点的设备信息将该访问请求发送到该第一存储节点,以根据该目的地址中的本地虚拟地址空间的地址访问该目标文件。
结合第一方面,在第一种可能的实现方式中,在该网络设备接收主机发送的访问请求之前,该方法还包括:
该网络设备为该主机和该第一存储节点分配设备信息。
结合第一方面的第一种可能的实现方式,在第二种可能的实现方式中,该第一存储节点的设备信息包括该第一存储节点的标识ID,该主机的设备信息包括该主机的ID。
结合第一方面的第一种可能的实现方式,在第三种可能的实现方式中,该第一存储节点的设备信息包括该第一存储节点的ID和节点类型,该主机的设备信息包括该主机的ID和节点类型。
结合第一方面或第一方面的第一至三种可能的实现方式中的任一种可能的实现方式,在第四种可能的实现方式中,该第一存储节点的本地虚拟地址空间的地址的位数为N位;
该访问请求的目的地址的位数为2N位,其中,该访问请求的目的地址的高N位包含该第一存储节点的设备信息,该访问请求的目的地址的低N位为该目标文件在该第一存储节点中的本地虚拟地址空间的地址。
结合第一方面或第一方面的第一至四种可能的实现方式中的任一种可能的实现方式,在第五种可能的实现方式中,该访问请求的源地址包含该主机的设备信息;
该方法还包括:
该网络设备接收该第一存储节点发送的响应消息,该响应消息的目的地址为该访问请求的源地址;
该网络设备解析该响应消息的目的地址以获得该主机的设备信息;
该网络设备根据该主机的设备信息,将该响应消息发送到该主机。
第二方面,提供了一种分布式存储系统,包括:管理节点、多个存储节点和网络设备;
该多个存储节点中的每一个存储节点的本地虚拟地址空间对应该分布式存储系统的全局虚拟地址空间的一部分;
该管理节点用于在该全局虚拟地址空间中为目标文件分配第一虚拟空间;
该网络设备用于接收主机发送的访问请求,该访问请求用于访问该第一虚拟空间,该访问请求的目的地址包含存储该目标文件的第一存储节点的设备信息以及该目标文件在该第一存储节点中的本地虚拟地址空间的地址,该第一存储节点表示该多个存储节点中用于存储该目标文件的存储节点,解析该访问请求的目的地址以获得该第一存储节点的设备信息,根据该第一存储节点的设备信息将该访问请求发送到该第一存储节点,以根据该目的地址中的本地虚拟地址空间的地址访问该目标文件。
结合第二方面,在第一种可能的实现方式中,该网络设备还用于为该主机和该第一存储节点分配设备信息。
结合第二方面的第一种可能的实现方式,在第二种可能的实现方式中,该第一存储节点的设备信息包括该第一存储节点的标识ID,该主机的设备信息包括该主机的ID。
结合第二方面的第一种可能的实现方式,在第三种可能的实现方式中,该第一存储节点的设备信息包括该第一存储节点的ID和节点类型,该主机的设备信息包括该主机的ID和节点类型。
结合第二方面或第二方面的第一至三种可能的实现方式中的任一种可能的实现方式,在第四种可能的实现方式中,该第一存储节点的本地虚拟地址空间的地址的位数为N位;
该访问请求的目的地址的位数为2N位,其中,该访问请求的目的地址的高N位包含该第一存储节点的设备信息,该访问请求的目的地址的低N位为该目标文件在该第一存储节点中的本地虚拟地址空间的地址。
结合第二方面或第二方面的第一至四种可能的实现方式中的任一种可能的实现方式,在第五种可能的实现方式中,该访问请求的源地址包含该主机的设备信息;
该网络设备还用于接收该第一存储节点发送的响应消息,该响应消息的目的地址为该访问请求的源地址,解析该响应消息的目的地址以获得该主机的设备信息,根据该主机的设备信息,将该响应消息发送到该主机。
第三方面,提供了一种网络设备,包括:
接收模块,用于接收主机发送的访问请求,该访问请求用于访问目标文件的第一虚拟空间,该第一虚拟空间为分布式存储系统中的管理节点在该分布式存储系统的全局虚拟地址空间中为该目标文件分配的空间,该分布式存储系统中每一个存储节点的本地虚拟地址空间对应该分布式存储系统的全局虚拟地址空间的一部分,该访问请求的目的地址包含存储该目标文件的第一存储节点的设备信息以及该目标文件在该第一存储节点中的本地虚拟地址空间的地址,该第一存储节点表示该分布式存储系统的存储节点中用于存储该目标文件的存储节点;
路由模块,用于解析该访问请求的目的地址以获得该第一存储节点的设备信息,根据该第一存储节点的设备信息将该访问请求发送到该第一存储节点,以根据该目的地址中的本地虚拟地址空间的地址访问该目标文件。
结合第三方面,在第一种可能的实现方式中,该网络设备还包括:
分配模块,用于为该主机和该第一存储节点分配设备信息。
结合第三方面的第一种可能的实现方式,在第二种可能的实现方式中,该第一存储节点的设备信息包括该第一存储节点的标识ID,该主机的设备信息包括该主机的ID。
结合第三方面的第一种可能的实现方式,在第三种可能的实现方式中,该第一存储节点的设备信息包括该第一存储节点的ID和节点类型,该主机的设备信息包括该主机的ID和节点类型。
结合第三方面或第三方面的第一至三种可能的实现方式中的任一种可能的实现方式,在第四种可能的实现方式中,该第一存储节点的本地虚拟地址空间的地址的位数为N位;
该访问请求的目的地址的位数为2N为,其中,该访问请求的目的地址的高N位包含该第一存储节点的设备信息,该访问请求的目的地址的低N位为该目标文件在该第一存储节点中的本地虚拟地址空间的地址。
结合第三方面或第三方面的第一至四种可能的实现方式中的任一种可能的实现方式,在第五种可能的实现方式中,该访问请求的源地址包含该主机的设备信息;
该接收模块还用于接收该第一存储节点发送的响应消息,该响应消息的目的地址为该访问请求的源地址;
该路由模块还用于解析该响应消息的目的地址以获得该主机的设备信息,根据该主机的设备信息,将该响应消息发送到该主机。
第四方面,提供了一种计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令用于执行前述第一方面中所述的方法。
基于上述技术方案,本发明实施例的访问文件的方法、分布式存储系统和网络设备,在访问请求的目的地址中包含存储节点的设备信息,基于存储节点的设备信息进行路由,能够直接访问分布式存储系统中的文件,从而能够提高文件访问的效率。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例的附图。
图1是本发明实施例的一个应用场景的示意图。
图2是本发明一个实施例的访问文件的方法的示意性流程图。
图3是本发明实施例的访问请求的格式的示意图。
图4是本发明另一实施例的访问文件的方法的示意性流程图。
图5是本发明实施例的分布式存储系统的示意性框图。
图6是本发明一个实施例的网络设备的示意性框图。
图7是本发明另一实施例的网络设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部实施例。
应理解,本发明实施例的技术方案可以应用于各种存储系统,尤其是基于非易失存储介质的分布式存储系统。
还应理解,在本发明实施例中,术语“虚拟地址空间”也可以表述为“虚拟空间”,也就是说,“虚拟地址空间”和“虚拟空间”通用;类似地,“本地物理存储空间”和“本地物理空间”通用。
图1是本发明实施例的一个应用场景的示意图。在图1中,主机130、存储节点120和管理节点110通过网络140互联互通。存储节点120、管理节点110以及网络140组成分布式存储系统。
主机130可以是计算机,也可以是其他用户设备,主机130可以通过网络与分布式存储系统通信。主机130可以包括当前技术已知的任何计算设备,如服务器、台式计算机等等,在主机130中安装有操作系统以及其他应用程序,主机130可以有多个。主机130可以访问分布式存储系统的文件。例如,主机130可以通过文件接口模块提供文件访问接口给主机上的应用程序。
存储节点120用于存储文件数据,并处理对文件的访问请求。存储节点120可以包括至少一种非易失性存储器,例如,可以包括PCM、ReRAM、MRAM等具有按字节寻址及访问的能力的新型NVM。在本发明实施例中,文件存储于NVM存储器中,且存储节点120可以通过内存总线实现对新型NVM的访问。
管理节点110用于管理文件的元数据,处理主机对文件的元数据查询、更新请求等。文件的元数据可以包括文件的起始地址,分配的空间大小,文件实际大小等信息。管理节点110还可以用于管理分布式存储系统的全局虚拟地址空间。
管理节点110和存储节点120也可以合在一起,也就是说,一个节点可以同时具有管理节点和存储节点的功能。
在本发明实施例中,管理节点可以是独立的(例如图1中的管理节点110),也可以为同时具有管理节点和存储节点的功能的节点。为了描述方便,以下以管理节点为例进行说明。
网络140的物理层、链路层可以基于以太网、PCIE交换网络、InfiniBand网络以及光网络等。网络140用于对访问请求、访问响应进行路由,具体地,路由可以由网络140中的网络设备(如路由器或交换机)执行。为了描述方便,以下以网络设备为例进行说明。
图2示出了根据本发明实施例的访问文件的方法200的示意性流程图。
该方法200应用于分布式存储系统中,该分布式存储系统包括管理节点、多个存储节点和网络设备。该分布式存储系统中每一个存储节点的本地虚拟地址空间对应该分布式存储系统的全局虚拟地址空间的一部分。该方法200由网络设备执行。
S210,网络设备接收主机发送的访问请求,该访问请求用于访问目标文件的第一虚拟空间,该第一虚拟空间为该管理节点在该全局虚拟地址空间中为该目标文件分配的空间,该访问请求的目的地址包含存储该目标文件的第一存储节点的设备信息以及该目标文件在所述第一存储节点中的本地虚拟地址空间的地址,该第一存储节点表示该多个存储节点中用于存储该目标文件的存储节点。
分布式存储系统的全局虚拟地址空间是为在该分布式存储系统中管理文件系统而虚拟出来的空间。该分布式存储系统中不同存储节点的本地虚拟地址空间对应该分布式存储系统的全局虚拟地址空间的不同部分。例如,全局虚拟地址空间的第一部分空间映射到所述分布式存储系统中的第一存储节点的本地虚拟地址空间,全局虚拟地址空间的第二部分空间映射到所述分布式存储系统中的第二存储节点的本地虚拟地址空间,其中第一部分空间与第二部分空间不同。在本发明实施例中,管理节点可以从分布式存储系统的全局虚拟地址空间中分配一段连续的空间(表示为第一虚拟空间)给目标文件。由于分布式存储系统中每一个存储节点的本地虚拟地址空间对应分布式存储系统的全局虚拟地址空间的一部分,因此该第一虚拟空间可以映射到存储节点的本地虚拟地址空间。进一步的,存储节点可以根据存储节点的本地虚拟地址空间与存储文件的物理地址空间的映射关系可以访问存储节点的物理地址空间,以访问。
本地虚拟地址空间可以采用操作系统(Operating System,OS)OS的虚拟地址空间的一段未使用的区间。例如,64位的OS的虚拟地址空间大小是2的64次方,除了用户态虚拟地址空间和内核虚拟地址空间外,还有保留的虚拟地址空间,本地虚拟地址空间可以采用OS保留的虚拟地址空间。也可以根据需要,重新划分操作系统的虚拟地址空间,划分出一段虚拟地址空间用作本地虚拟地址空间。
本地虚拟地址空间的地址位数为OS的位数。例如,对于64位的OS,本地虚拟空间的地址位数为64位。全局虚拟空间的地址位数可以为128位。
主机在访问分布式存储系统中的目标文件时,向网络发送访问目标文件的第一虚拟空间的访问请求。该访问请求的目的地址包含第一存储节点的设备信息。可选地,该访问请求的源地址可以包含该主机的设备信息。第一存储节点表示用于存储该目标文件的存储节点,第一存储节点的设备信息用于网络设备将访问请求路由到第一存储节点。主机的设备信息用于网络设备将返回的响应消息路由到主机。
可选地,在本发明一个实施例中,该第一存储节点的设备信息包括该第一存储节点的标识(identity,ID),该主机的设备信息包括该主机的ID。也就是说,存储节点或主机的设备信息可以采用节点ID,在这种情况下,不同的节点具有不同的ID。
可选地,在本发明另一实施例中,该第一存储节点的设备信息包括该第一存储节点的标识ID和节点类型,该主机的设备信息包括该主机的ID和节点类型。也就是说,存储节点或主机的设备信息可以采用节点ID+节点类型,在这种情况下,同一节点类型的不同的节点具有不同的ID,不同节点类型的节点可以具有相同的ID。节点类型可以包括存储节点、管理节点和主机。例如,可以利用2位标识节点类型。
在本发明实施例中,可选地,节点的设备信息可以由网络设备预先分配。也就是说,在网络设备接收主机发送的访问请求之前,该方法200还可以包括:
该网络设备为该主机和该第一存储节点分配设备信息。
例如,网络可以在节点注册时为节点分配ID。可选地,存储节点和管理节点的ID可以采用动态固定分配,即初次分配动态,分配以后固定;主机的ID可以采用动态分配。
访问请求中的地址可以采用全局虚拟地址(即全局虚拟空间的地址)。全局虚拟地址的位数大于本地虚拟地址(即本地虚拟地址空间的地址)的位数,这样可以在全局虚拟地址中包含存储节点或主机的设备信息。
在本发明一个实施例中,可选地,本地虚拟地址空间的地址的位数为N位。也就是说,该主机的本地虚拟地址空间的地址的位数以及第一存储节点的本地虚拟地址空间的地址的位数为N位。
在这种情况下,该访问请求的目的地址的位数可以为2N位,其中,该访问请求的目的地址的高N位包含该第一存储节点的设备信息,该访问请求的目的地址的低N位为所述目标文件在所述第一存储节点中的本地虚拟地址空间的地址。
可选地,该访问请求的源地址的位数也可以为2N位,其中,该访问请求的源地址的高N位包含该主机的设备信息,该访问请求的源地址的低N位对应该主机为该目标文件分配的本地虚拟地址空间的地址。
在本实施例中,全局虚拟地址的位数为2N,其中,低N位对应本地虚拟地址,高N位中可以包含存储节点或主机的设备信息。例如,本地虚拟地址为64位时,全局虚拟地址可以为128位,其中,全局虚拟地址的低64位对应本地虚拟地址,全局虚拟地址的高64位包含存储节点或主机的设备信息。应理解,可以只用高N位中的一部分位携带存储节点或主机的设备信息,剩下的位可以保留或留作他用。例如,若本地虚拟地址为64位时,访问请求的目的地址可以为128位,其中,访问请求的目的地址的低64位为目标文件在第一存储节点中的本地虚拟地址空间的地址,访问请求的目的地址的高64位包含第一存储节点的设备信息(如高8位为第一存储节点的ID,剩下的位保留)。
访问请求的目的地址的低N位为目标文件在第一存储节点中的本地虚拟地址空间的地址,第一存储节点可以根据该地址访问该目标文件。可选地,访问请求的源地址的低N位可以对应主机为该目标文件分配的本地虚拟地址空间的地址。主机在访问目标文件时为待访问的目标文件在本地虚拟地址空间中分配一段虚拟地址空间,访问请求的源地址的低N位可以对应分配的本地虚拟地址空间的地址,以便于接收返回的响应。
图3为根据本发明一个实施例的访问请求的格式的示意图。
如图3所示,访问请求中包括目的地址、源地址、请求流水号、长度、命令ID、命令类型以及消息体等部分。
目的地址为接收地址,对于访问请求来说,可以具体到全局虚拟地址空间的准确地址,例如,节点ID+节点内虚拟地址空间地址。
源地址为发送地址,对于读请求来说,返回的数据需要映射到主机的本地虚拟地址空间。
可选地,对于不需要确切地址的,可以只用节点设备信息,例如节点ID。
命令类型、命令ID用于确定具体的操作,命令类型包括文件访问操作,元数据访问操作,配置管理操作等。
请求流水号标明消息的顺序和唯一性。
长度是消息体中包含的数据的长度;对于读请求,可以将请求读取的长度直接放进来,而消息体为空。
对于写请求,消息体包含所要写的数据;对于读请求消息体可为空。
S220,该网络设备解析该访问请求的目的地址以获得该第一存储节点的设备信息。
在接收到主机发送的访问请求后,网络设备解析该访问请求的目的地址,得到目的地址中包含的第一存储节点的设备信息。例如,在访问请求的目的地址为2N位时,网络设备从访问请求的目的地址的高N位得到第一存储节点的设备信息。
S230,该网络设备根据该第一存储节点的设备信息将该访问请求发送到该第一存储节点,以根据该目的地址中的本地虚拟地址空间的地址访问该目标文件。
网络设备根据访问请求的目的地址中包含的第一存储节点的设备信息,将访问请求路由到第一存储节点。例如,若目的地址采用节点ID+节点内虚拟地址空间地址的方式,则根据节点ID将访问请求路由到该ID的节点;若目的地址采用节点类型+节点ID+节点内虚拟地址空间地址的方式,则根据节点类型和节点ID将访问请求路由到该节点类型的节点中具有该ID的节点。可选地,可以采用节点ID到端口的映射关系表,或者节点类型和节点ID到端口的映射关系表来进行路由。
第一存储节点接收到网络设备发送过来的访问请求后,根据该访问请求访问目标文件。具体的,在第一存储节点中保存有本地虚拟地址空间与存储文件的本地物理存储空间的映射关系,第一存储节点可以根据访问请求的目的地址中的本地虚拟地址空间的地址确定用于存储该目标文件的本地物理存储空间的地址。进一步的,第一存储节点可以根据确定的本地物理存储空间的地址访问本地物理存储空间,以实现访问存储于本地物理存储空间中的目标文件的目的。
本发明实施例的访问文件的方法,在访问请求的目的地址中包含存储节点的设备信息,基于存储节点的设备信息进行路由,能够直接访问分布式存储系统中的文件,从而能够提高文件访问的效率。
在本发明实施例中,可选地,如图4所示,在该访问请求的源地址包含该主机的设备信息的情况下,该方法200还包括S240、S250和S260。
S240,该网络设备接收该第一存储节点发送的响应消息,该响应消息的目的地址为该访问请求的源地址。
在访问目标文件后,第一存储节点向网络设备发送响应该访问请求的响应消息。该响应消息的目的地址为该访问请求的源地址,也就是说,第一存储节点将该访问请求的源地址作为响应消息的目的地址,因此该响应消息的目的地址中包含主机的设备信息。响应消息的源地址可以为访问请求的目的地址。响应消息的格式与访问请求类似,在此不再赘述。
S250,该网络设备解析该响应消息的目的地址以获得该主机的设备信息。
例如,在该响应消息的目的地址为2N位时,网络设备从该响应消息的目的地址的高N位得到该主机的设备信息。
S260,该网络设备根据该主机的设备信息,将该响应消息发送到该主机。
网络设备得到该主机的设备信息后,根据该主机的设备信息,将访问响应路由到该主机。路由方式与访问请求类似,在此不再赘述。
应理解,本发明实施例中的具体的例子只是为了帮助本领域技术人员更好地理解本发明实施例,而非限制本发明实施例的范围。
还应理解,在本发明的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
上文中详细描述了根据本发明实施例的访问文件的方法,下面将描述根据本发明实施例的分布式存储系统和网络设备。
图5示出了根据本发明实施例的分布式存储系统500的示意性框图。如图5所示,分布式存储系统500包括:管理节点510、多个存储节点520和网络设备530。
该多个存储节点520中的每一个存储节点的本地虚拟地址空间对应该分布式存储系统500的全局虚拟地址空间的一部分。
该管理节点510用于在该全局虚拟地址空间中为目标文件分配第一虚拟空间。
该网络设备530用于接收主机发送的访问请求,该访问请求用于访问该第一虚拟空间,该访问请求的目的地址包含存储该目标文件的第一存储节点的设备信息以及该目标文件在该第一存储节点中的本地虚拟地址空间的地址,该第一存储节点表示该多个存储节点520中用于存储该目标文件的存储节点,解析该访问请求的目的地址以获得该第一存储节点的设备信息,根据该第一存储节点的设备信息将该访问请求发送到该第一存储节点,以根据该目的地址中的本地虚拟地址空间的地址访问该目标文件。
本发明实施例的分布式存储系统,基于访问请求的目的地址中包含的存储节点的设备信息进行路由,使主机能够直接访问分布式存储系统中的文件,从而能够提高文件访问的效率。
在本发明实施例中,可选地,该网络设备530还用于为该主机和该第一存储节点分配设备信息。
在本发明实施例中,可选地,该第一存储节点的设备信息包括该第一存储节点的标识ID,该主机的设备信息包括该主机的ID。
在本发明实施例中,可选地,该第一存储节点的设备信息包括该第一存储节点的标识ID和节点类型,该主机的设备信息包括该主机的ID和节点类型。
在本发明实施例中,可选地,该第一存储节点的本地虚拟地址空间的地址的位数为N位;
该访问请求的目的地址的位数为2N位,其中,该访问请求的目的地址的高N位包含该第一存储节点的设备信息,该访问请求的目的地址的低N位为该目标文件在该第一存储节点中的本地虚拟地址空间的地址。
在本发明实施例中,可选地,该访问请求的源地址包含该主机的设备信息;
该网络设备530还用于接收该第一存储节点发送的响应消息,该响应消息的目的地址为该访问请求的源地址,解析该响应消息的目的地址以获得该主机的设备信息,根据该主机的设备信息,将该响应消息发送到该主机。
可选地,该访问请求的源地址的位数为2N位,其中,该访问请求的源地址的高N位包含该主机的设备信息,该访问请求的源地址的低N位对应该主机为该目标文件分配的本地虚拟地址空间的地址。
根据本发明实施例的分布式存储系统500可对应于前述方法实施例中的分布式存储系统,并且网络设备530可执行前述各个方法的相应流程,为了简洁,在此不再赘述。
图6示出了根据本发明实施例的网络设备600的示意性框图。如图6所示,该网络设备600包括:
接收模块610,用于接收主机发送的访问请求,该访问请求用于访问目标文件的第一虚拟空间,该第一虚拟空间为分布式存储系统中的管理节点在该分布式存储系统的全局虚拟地址空间中为该目标文件分配的空间,该分布式存储系统中每一个存储节点的本地虚拟地址空间对应该分布式存储系统的全局虚拟地址空间的一部分,该访问请求的目的地址包含存储该目标文件的第一存储节点的设备信息以及该目标文件在该第一存储节点中的本地虚拟地址空间的地址,该第一存储节点表示该分布式存储系统的存储节点中用于存储该目标文件的存储节点;
路由模块620,用于解析该访问请求的目的地址以获得该第一存储节点的设备信息,根据该第一存储节点的设备信息将该访问请求发送到该第一存储节点,以根据该目的地址中的本地虚拟地址空间的地址访问该目标文件。
本发明实施例的路由设备,基于访问请求的目的地址中包含的存储节点的设备信息进行路由,使主机能够直接访问分布式存储系统中的文件,从而能够提高文件访问的效率。
在本发明实施例中,可选地,该网络设备600还包括:
分配模块,用于为该主机和该第一存储节点分配设备信息。
在本发明实施例中,可选地,该第一存储节点的设备信息包括该第一存储节点的标识ID,该主机的设备信息包括该主机的ID。
在本发明实施例中,可选地,该第一存储节点的设备信息包括该第一存储节点的标识ID和节点类型,该主机的设备信息包括该主机的ID和节点类型。
在本发明实施例中,可选地,该第一存储节点的本地虚拟地址空间的地址的位数为N位;
该访问请求的目的地址的位数为2N位,其中,该访问请求的目的地址的高N位包含该第一存储节点的设备信息,该访问请求的目的地址的低N位为该目标文件在该第一存储节点中的本地虚拟地址空间的地址。
在本发明实施例中,可选地,该访问请求的源地址包含该主机的设备信息;
该接收模块610还用于接收该第一存储节点发送的响应消息,该响应消息的目的地址为该访问请求的源地址;
该路由模块620还用于解析该响应消息的目的地址以获得该主机的设备信息,根据该主机的设备信息,将该响应消息发送到该主机。
根据本发明实施例的网络设备600可执行根据本发明实施例的访问文件的方法200,并且网络设备600中的各个模块的上述和其它操作和/或功能分别为了实现前述各个方法的相应流程,为了简洁,在此不再赘述。
图7示出了本发明的又一实施例提供的网络设备的结构,包括至少一个处理器702(例如CPU),至少一个网络接口705或者其他通信接口,存储器706,和至少一个通信总线703。其中:
通信总线703用于实现这些装置之间的连接通信。
处理器702用于执行存储器706中存储的可执行模块,例如计算机程序。
存储器706可能包含高速随机存取存储器(RAM:Random Access Memory),也可能还包括NVM,例如至少一个磁盘存储器。
网络设备通过至少一个网络接口705(可以是有线或者无线)实现与其他节点之间的通信连接。
在一些实施方式中,存储器706存储了程序7061,处理器702用于执行程序7061以实现前述方法实施例中的各个方法。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
Claims (18)
1.一种访问文件的方法,其特征在于,所述方法应用于分布式存储系统中,所述分布式存储系统包括管理节点、多个存储节点和网络设备,所述分布式存储系统中每一个存储节点的本地虚拟地址空间对应所述分布式存储系统的全局虚拟地址空间的一部分,所述方法包括:
所述网络设备接收主机发送的访问请求,所述访问请求用于访问目标文件的第一虚拟空间,所述第一虚拟空间为所述管理节点在所述全局虚拟地址空间中为所述目标文件分配的空间,所述访问请求的目的地址包含存储所述目标文件的第一存储节点的设备信息以及所述目标文件在所述第一存储节点中的本地虚拟地址空间的地址,所述第一存储节点表示所述多个存储节点中用于存储所述目标文件的存储节点;
所述网络设备解析所述访问请求的目的地址以获得所述第一存储节点的设备信息;
所述网络设备根据所述第一存储节点的设备信息将所述访问请求发送到所述第一存储节点,以根据所述目的地址中的本地虚拟地址空间的地址访问所述目标文件。
2.根据权利要求1所述的方法,其特征在于,在所述网络设备接收主机发送的访问请求之前,所述方法还包括:
所述网络设备为所述主机和所述第一存储节点分配设备信息。
3.根据权利要求2所述的方法,其特征在于,所述第一存储节点的设备信息包括所述第一存储节点的标识ID,所述主机的设备信息包括所述主机的ID。
4.根据权利要求2所述的方法,其特征在于,所述第一存储节点的设备信息包括所述第一存储节点的ID和节点类型,所述主机的设备信息包括所述主机的ID和节点类型。
5.根据权利要求1至4中任一项所述的方法,其特征在于,所述第一存储节点的本地虚拟地址空间的地址的位数为N位;
所述访问请求的目的地址的位数为2N位,其中,所述访问请求的目的地址的高N位包含所述第一存储节点的设备信息,所述访问请求的目的地址的低N位为所述目标文件在所述第一存储节点中的本地虚拟地址空间的地址。
6.根据权利要求1至4中任一项所述的方法,其特征在于,所述访问请求的源地址包含所述主机的设备信息;
所述方法还包括:
所述网络设备接收所述第一存储节点发送的响应消息,所述响应消息的目的地址为所述访问请求的源地址;
所述网络设备解析所述响应消息的目的地址以获得所述主机的设备信息;
所述网络设备根据所述主机的设备信息,将所述响应消息发送到所述主机。
7.一种分布式存储系统,其特征在于,包括:管理节点、多个存储节点和网络设备;
所述多个存储节点中的每一个存储节点的本地虚拟地址空间对应所述分布式存储系统的全局虚拟地址空间的一部分;
所述管理节点用于在所述全局虚拟地址空间中为目标文件分配第一虚拟空间;
所述网络设备用于接收主机发送的访问请求,所述访问请求用于访问所述第一虚拟空间,所述访问请求的目的地址包含存储所述目标文件的第一存储节点的设备信息以及所述目标文件在所述第一存储节点中的本地虚拟地址空间的地址,所述第一存储节点表示所述多个存储节点中用于存储所述目标文件的存储节点,所述网络设备解析所述访问请求的目的地址以获得所述第一存储节点的设备信息,根据所述第一存储节点的设备信息将所述访问请求发送到所述第一存储节点,以根据所述目的地址中的本地虚拟地址空间的地址访问所述目标文件。
8.根据权利要求7所述的分布式存储系统,其特征在于,所述网络设备还用于为所述主机和所述第一存储节点分配设备信息。
9.根据权利要求8所述的分布式存储系统,其特征在于,所述第一存储节点的设备信息包括所述第一存储节点的标识ID,所述主机的设备信息包括所述主机的ID。
10.根据权利要求8所述的分布式存储系统,其特征在于,所述第一存储节点的设备信息包括所述第一存储节点的ID和节点类型,所述主机的设备信息包括所述主机的ID和节点类型。
11.根据权利要求7至10中任一项所述的分布式存储系统,其特征在于,所述第一存储节点的本地虚拟地址空间的地址的位数为N位;
所述访问请求的目的地址的位数为2N位,其中,所述访问请求的目的地址的高N位包含所述第一存储节点的设备信息,所述访问请求的目的地址的低N位为所述目标文件在所述第一存储节点中的本地虚拟地址空间的地址。
12.根据权利要求7至10中任一项所述的分布式存储系统,其特征在于,所述访问请求的源地址包含所述主机的设备信息;
所述网络设备还用于接收所述第一存储节点发送的响应消息,所述响应消息的目的地址为所述访问请求的源地址,解析所述响应消息的目的地址以获得所述主机的设备信息,根据所述主机的设备信息,将所述响应消息发送到所述主机。
13.一种网络设备,其特征在于,包括:
接收模块,用于接收主机发送的访问请求,所述访问请求用于访问目标文件的第一虚拟空间,所述第一虚拟空间为分布式存储系统中的管理节点在所述分布式存储系统的全局虚拟地址空间中为所述目标文件分配的空间,所述分布式存储系统中每一个存储节点的本地虚拟地址空间对应所述分布式存储系统的全局虚拟地址空间的一部分,所述访问请求的目的地址包含存储所述目标文件的第一存储节点的设备信息以及所述目标文件在所述第一存储节点中的本地虚拟地址空间的地址,所述第一存储节点表示所述分布式存储系统的存储节点中用于存储所述目标文件的存储节点;
路由模块,用于解析所述访问请求的目的地址以获得所述第一存储节点的设备信息,根据所述第一存储节点的设备信息将所述访问请求发送到所述第一存储节点,以根据所述目的地址中的本地虚拟地址空间的地址访问所述目标文件。
14.根据权利要求13所述的网络设备,其特征在于,所述网络设备还包括:
分配模块,用于为所述主机和所述第一存储节点分配设备信息。
15.根据权利要求14所述的网络设备,其特征在于,所述第一存储节点的设备信息包括所述第一存储节点的标识ID,所述主机的设备信息包括所述主机的ID。
16.根据权利要求14所述的网络设备,其特征在于,所述第一存储节点的设备信息包括所述第一存储节点的ID和节点类型,所述主机的设备信息包括所述主机的ID和节点类型。
17.根据权利要求13至16中任一项所述的网络设备,其特征在于,所述第一存储节点的本地虚拟地址空间的地址的位数为N位;
所述访问请求的目的地址的位数为2N为,其中,所述访问请求的目的地址的高N位包含所述第一存储节点的设备信息,所述访问请求的目的地址的低N位为所述目标文件在所述第一存储节点中的本地虚拟地址空间的地址。
18.根据权利要求13至16中任一项所述的网络设备,其特征在于,所述访问请求的源地址包含所述主机的设备信息;
所述接收模块还用于接收所述第一存储节点发送的响应消息,所述响应消息的目的地址为所述访问请求的源地址;
所述路由模块还用于解析所述响应消息的目的地址以获得所述主机的设备信息,根据所述主机的设备信息,将所述响应消息发送到所述主机。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2014/090023 WO2016065613A1 (zh) | 2014-10-31 | 2014-10-31 | 访问文件的方法、分布式存储系统和网络设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105745900A CN105745900A (zh) | 2016-07-06 |
CN105745900B true CN105745900B (zh) | 2019-06-07 |
Family
ID=55856431
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201480037253.4A Active CN105745900B (zh) | 2014-10-31 | 2014-10-31 | 访问文件的方法、分布式存储系统和网络设备 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN105745900B (zh) |
WO (1) | WO2016065613A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108934187B (zh) * | 2017-03-29 | 2020-08-25 | 华为技术有限公司 | 分布式存储系统的访问方法和相关装置和相关系统 |
CN111159209A (zh) * | 2019-12-27 | 2020-05-15 | 云汉芯城(上海)互联网科技股份有限公司 | 一种数据处理装置、方法及电子设备和存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1514371A (zh) * | 2002-12-31 | 2004-07-21 | 北京因特时代信息技术有限公司 | 一种分布式统一目录管理方法 |
CN101529860A (zh) * | 2006-10-26 | 2009-09-09 | 思诺蒂斯公司 | 包括网络中几个节点的改进的基于计算机的系统 |
CN103677670A (zh) * | 2013-12-11 | 2014-03-26 | 华为技术有限公司 | 读数据的方法及装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101645039B (zh) * | 2009-06-02 | 2011-06-22 | 中国科学院声学研究所 | 一种基于彼得森图的数据存储和读取方法 |
US9069672B2 (en) * | 2009-06-12 | 2015-06-30 | Intel Corporation | Extended fast memory access in a multiprocessor computer system |
CN102594852B (zh) * | 2011-01-04 | 2016-03-30 | 中国移动通信集团公司 | 数据访问方法、节点及系统 |
CN104077084B (zh) * | 2014-07-22 | 2017-07-21 | 中国科学院上海微系统与信息技术研究所 | 分布式随机访问文件系统及其访问控制方法 |
-
2014
- 2014-10-31 WO PCT/CN2014/090023 patent/WO2016065613A1/zh active Application Filing
- 2014-10-31 CN CN201480037253.4A patent/CN105745900B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1514371A (zh) * | 2002-12-31 | 2004-07-21 | 北京因特时代信息技术有限公司 | 一种分布式统一目录管理方法 |
CN101529860A (zh) * | 2006-10-26 | 2009-09-09 | 思诺蒂斯公司 | 包括网络中几个节点的改进的基于计算机的系统 |
CN103677670A (zh) * | 2013-12-11 | 2014-03-26 | 华为技术有限公司 | 读数据的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
WO2016065613A1 (zh) | 2016-05-06 |
CN105745900A (zh) | 2016-07-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105745640B (zh) | 访问文件的方法、系统和主机 | |
CN105593828B (zh) | 管理文件的方法、分布式存储系统和管理节点 | |
US10976932B2 (en) | Method for providing a client device access to a plurality of remote storage devices | |
CN105408879B (zh) | 快捷外围部件互连域的资源管理 | |
CN106164898B (zh) | 数据处理方法和装置 | |
CN106533992B (zh) | 用于全连接网格拓扑结构的高速pci架构路由 | |
WO2016093895A1 (en) | Generating and/or employing a descriptor associated with a memory translation table | |
US10338813B2 (en) | Storage controller and using method therefor | |
CN106878482A (zh) | 网络地址转换方法及装置 | |
CN108259218A (zh) | 一种ip地址分配方法和装置 | |
CN104571934B (zh) | 一种内存访问的方法、设备和系统 | |
US9824042B2 (en) | Reading data from storage via a PCI express fabric having a fully-connected mesh topology | |
CN105745900B (zh) | 访问文件的方法、分布式存储系统和网络设备 | |
CN105765542B (zh) | 访问文件的方法、分布式存储系统和存储节点 | |
CN107533526B (zh) | 经由具有完全连接网格拓扑的pci express结构向存储写入数据 | |
US20210141686A1 (en) | Efficient Networking for a Distributed Storage System | |
US9548885B2 (en) | Systems and methods for providing replicated data from memories to processing clients | |
CN107155307B (zh) | 访问文件的方法、系统和主机 | |
CN107832242A (zh) | 一种数据传输方法、系统、装置及计算机可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |