CN109376123A - 管理文件的方法、分布式存储系统和管理节点 - Google Patents

管理文件的方法、分布式存储系统和管理节点 Download PDF

Info

Publication number
CN109376123A
CN109376123A CN201811337940.4A CN201811337940A CN109376123A CN 109376123 A CN109376123 A CN 109376123A CN 201811337940 A CN201811337940 A CN 201811337940A CN 109376123 A CN109376123 A CN 109376123A
Authority
CN
China
Prior art keywords
space
file
virtual address
address space
virtual
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.)
Granted
Application number
CN201811337940.4A
Other languages
English (en)
Other versions
CN109376123B (zh
Inventor
徐君
赵俊峰
王元钢
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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201811337940.4A priority Critical patent/CN109376123B/zh
Publication of CN109376123A publication Critical patent/CN109376123A/zh
Application granted granted Critical
Publication of CN109376123B publication Critical patent/CN109376123B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/13File access structures, e.g. distributed indices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0607Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0631Configuration or reconfiguration of storage systems by allocating resources to storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0643Management of files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0652Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种管理文件的方法、分布式存储系统和管理节点。该方法包括:管理节点接收主机发送的创建文件请求,该创建文件请求用于在分布式存储系统中创建文件;管理节点根据该创建文件请求从分布式存储系统的全局虚拟地址空间中为该文件分配第一虚拟空间,其中,分布式存储系统中每一个存储节点的本地虚拟地址空间对应该全局虚拟地址空间的一部分;管理节点记录该文件的元数据,该文件的元数据包括为该文件分配的该第一虚拟空间的信息,该第一虚拟空间的信息用于指向用于存储该文件的存储节点的本地虚拟地址空间;管理节点向该主机发送创建文件成功响应,该创建文件成功响应中携带有该第一虚拟空间的信息。本发明实施例能够提高文件管理效率。

Description

管理文件的方法、分布式存储系统和管理节点
技术领域
本发明涉及存储技术领域,具体涉及管理文件的方法、分布式存储系统和管理节点。
背景技术
下一代非易失存储介质可以包括相变内存(Phase Change Memory,PCM)、可变电阻式随机存取器(Resistive RAM,ReRAM)、磁性随机存储器(Magnetic Random AccessMemory,MRAM)等具有按字节(byte)寻址及访问的能力的非易失性存储器。下一代非易失存储介质可提供与动态随机存取存储器(Dynamic Random Access Memory,DRAM)相似的接口。在实际应用中,可以采用与DRAM类似的页面管理方式对下一代非易失性存储器进行管理。目前,基于下一代非易失存储介质的存储系统是业界研究的热点。
传统的存储系统、分布式文件系统等通常采用元数据记录文件数据在存储介质中的位置来管理文件数据。元数据采用统一的基于目录的命名空间,一般采用B-Tree(多路搜索树)等数据结构,对于文件的数据块采用记录数据块所在的存储节点甚至存储节点上的位置的方式来跟踪文件的数据块。这种方式适应于采用传统硬盘驱动器(Hard DiskDrive,HDD)、固态硬盘(Solid State Drive,SSD)等基于块设备的场景。当存储系统采用新型非易失存储(non-violate memory,NVM)介质以后,原有的方法虽然可以用于新型NVM介质,但是由于元数据占用的存储空间较大,同时元数据中需要跟踪文件的各个数据块对应的存储位置等信息,造成管理负担较重,并且主机通过获得这些元数据访问存储节点的效率也较低,从而导致文件管理效率较低。
发明内容
本发明实施例提供了一种管理文件的方法、分布式存储系统和管理节点,能够提高文件管理效率。
第一方面,提供了一种管理文件的方法,该方法应用于分布式存储系统中,该分布式存储系统包括管理节点和多个存储节点,该方法包括:
该管理节点接收主机发送的创建文件请求,该创建文件请求用于在该分布式存储系统中创建文件;
该管理节点根据该创建文件请求从该分布式存储系统的全局虚拟地址空间中为该文件分配第一虚拟空间,其中,该分布式存储系统中每一个存储节点的本地虚拟地址空间对应该全局虚拟地址空间的一部分;
该管理节点记录该文件的元数据,该文件的元数据包括为该文件分配的该第一虚拟空间的信息,该第一虚拟空间的信息用于指向用于存储该文件的存储节点的本地虚拟地址空间;
该管理节点向该主机发送创建文件成功响应,该创建文件成功响应中携带有该第一虚拟空间的信息。
结合第一方面,在第一种可能的实现方式中,该全局虚拟地址空间的地址位数大于该分布式存储系统中的存储节点的本地虚拟地址空间的地址位数。
结合第一方面或第一方面的第一种可能的实现方式,在第二种可能的实现方式中,该全局虚拟地址空间的地址位数为该分布式存储系统中存储节点的本地虚拟地址空间的地址位数的两倍,其中,该全局虚拟地址空间的地址的高N位用于指向存储节点,该全局虚拟地址空间的地址的低N位用于指向存储节点中的本地虚拟地址空间,N为存储节点的本地虚拟地址空间的地址位数。
结合第一方面或第一方面的第一或二种可能的实现方式,在第三种可能的实现方式中,该第一虚拟空间的信息包括该文件在该全局虚拟地址空间中的起始地址和大小。
结合第一方面或第一方面的第一至三种可能的实现方式中的任一种可能的实现方式,在第四种可能的实现方式中,该全局虚拟地址空间包括多个区域,其中,该多个区域中的不同区域的空间分配粒度不同;
该管理节点根据该创建文件请求从该分布式存储系统的全局虚拟地址空间中为该文件分配第一虚拟空间包括:
该管理节点根据该创建文件请求从该分布式存储系统的全局虚拟地址空间的第一区域中按照该第一区域的空间分配粒度为该文件分配该第一虚拟空间,其中,该第一区域为当前可分配的区域中空间分配粒度最小的区域。
结合第一方面的第四种可能的实现方式,在第五种可能的实现方式中,该方法还包括:
该管理节点接收该主机发送的扩展文件空间请求,该扩展文件空间请求用于请求扩展该文件的空间;
根据该扩展文件空间请求,从该全局虚拟地址空间的第二区域中按照该第二区域的空间分配粒度为该文件分配第二虚拟空间,其中,该第二区域的空间分配粒度大于该第一区域的空间分配粒度;
更新所述文件的元数据,更新后的该文件的元数据中包括为该文件分配的该第二虚拟空间的信息;
向该主机发送扩展文件空间响应,该扩展文件空间响应中携带有该第二虚拟空间的信息。
结合第一方面或第一方面的第一至五种可能的实现方式中的任一种可能的实现方式,在第六种可能的实现方式中,该方法还包括:
该管理节点删除该文件的元数据,回收该全局虚拟地址空间中为该文件分配的空间;
根据预设的全局虚拟地址空间与本地虚拟地址空间的对应关系确定用于存储该文件的存储节点;
向该用于存储该文件的存储节点发送空间回收消息,该空间回收消息用于指示该用于存储该文件的存储节点回收与该文件对应的本地虚拟地址空间和本地物理存储空间。
第二方面,提供了一种分布式存储系统,包括:管理节点和多个存储节点;
该多个存储节点中的每一个存储节点的本地虚拟地址空间对应该分布式存储系统的全局虚拟地址空间的一部分;
该管理节点用于接收主机发送的创建文件请求,该创建文件请求用于在该分布式存储系统中创建文件,根据该创建文件请求从该全局虚拟地址空间中为该文件分配第一虚拟空间,记录该文件的元数据,该文件的元数据包括为该文件分配的该第一虚拟空间的信息,该第一虚拟空间的信息用于指向用于存储该文件的存储节点的本地虚拟地址空间,向该主机发送创建文件成功响应,该创建文件成功响应中携带有该第一虚拟空间的信息。
结合第二方面,在第一种可能的实现方式中,该全局虚拟地址空间的地址位数大于该分布式存储系统中的存储节点的本地虚拟地址空间的地址位数。
结合第二方面或第二方面的第一种可能的实现方式,在第二种可能的实现方式中,该全局虚拟地址空间的地址位数为该分布式存储系统中存储节点的本地虚拟地址空间的地址位数的两倍,其中,该全局虚拟地址空间的地址的高N位用于指向存储节点,该全局虚拟地址空间的地址的低N位用于指向存储节点中的本地虚拟地址空间,N为存储节点的本地虚拟地址空间的地址位数。
结合第二方面或第二方面的第一或二种可能的实现方式,在第三种可能的实现方式中,该第一虚拟空间的信息包括该文件在该全局虚拟地址空间中的起始地址和大小。
结合第二方面或第二方面的第一至三种可能的实现方式中的任一种可能的实现方式,在第四种可能的实现方式中,该全局虚拟地址空间包括多个区域,其中,该多个区域中的不同区域的空间分配粒度不同;
该管理节点具体用于,根据该创建文件请求从该分布式存储系统的全局虚拟地址空间的第一区域中按照该第一区域的空间分配粒度为该文件分配该第一虚拟空间,其中,该第一区域为当前可分配的区域中空间分配粒度最小的区域。
结合第二方面的第四种可能的实现方式,在第五种可能的实现方式中,该管理节点还用于,接收该主机发送的扩展文件空间请求,该扩展文件空间请求用于请求扩展该文件的空间,根据该扩展文件空间请求,从该全局虚拟地址空间的第二区域中按照该第二区域的空间分配粒度为该文件分配第二虚拟空间,其中,该第二区域的空间分配粒度大于该第一区域的空间分配粒度,更新该文件的元数据,更新后的该文件的元数据中包括为该文件分配的该第二虚拟空间的信息,向该主机发送扩展文件空间响应,该扩展文件空间响应中携带有该第二虚拟空间的信息。
结合第二方面或第二方面的第一至五种可能的实现方式中的任一种可能的实现方式,在第六种可能的实现方式中,该管理节点还用于,删除该文件的元数据,回收该全局虚拟地址空间中为该文件分配的空间,根据预设的全局虚拟地址空间与本地虚拟地址空间的对应关系确定用于存储该文件的存储节点,向该用于存储该文件的存储节点发送空间回收消息,该空间回收消息用于指示该用于存储该文件的存储节点回收与该文件对应的本地虚拟地址空间和本地物理存储空间;
该用于存储该文件的存储节点用于根据该空间回收消息回收与该文件对应的本地虚拟地址空间和本地物理存储空间。
第三方面,提供了一种管理节点,包括:
接收单元,用于接收主机发送的创建文件请求,该创建文件请求用于在分布式存储系统中创建文件;
管理单元,用于根据该创建文件请求从该分布式存储系统的全局虚拟地址空间中为该文件分配第一虚拟空间,其中,该分布式存储系统中每一个存储节点的本地虚拟地址空间对应该全局虚拟地址空间的一部分,记录该文件的元数据,该文件的元数据包括为该文件分配的该第一虚拟空间的信息,该第一虚拟空间的信息用于指向用于存储该文件的存储节点的本地虚拟地址空间;
发送单元,用于向该主机发送创建文件成功响应,该创建文件成功响应中携带有该第一虚拟空间的信息。
结合第三方面,在第一种可能的实现方式中,该全局虚拟地址空间的地址位数大于该分布式存储系统中的存储节点的本地虚拟地址空间的地址位数。
结合第三方面或第三方面的第一种可能的实现方式,在第二种可能的实现方式中,该全局虚拟地址空间的地址位数为该分布式存储系统中存储节点的本地虚拟地址空间的地址位数的两倍,其中,该全局虚拟地址空间的地址的高N位用于指向存储节点,该全局虚拟地址空间的地址的低N位用于指向存储节点中的本地虚拟地址空间,N为存储节点的本地虚拟地址空间的地址位数。
结合第三方面或第三方面的第一或二种可能的实现方式,在第三种可能的实现方式中,该第一虚拟空间的信息包括该文件在该全局虚拟地址空间中的起始地址和大小。
结合第三方面或第三方面的第一至三种可能的实现方式中的任一种可能的实现方式,在第四种可能的实现方式中,该全局虚拟地址空间包括多个区域,其中,该多个区域中的不同区域的空间分配粒度不同;
该管理单元具体用于,根据该创建文件请求从该分布式存储系统的全局虚拟地址空间的第一区域中按照该第一区域的空间分配粒度为该文件分配该第一虚拟空间,其中,该第一区域为当前可分配的区域中空间分配粒度最小的区域。
结合第三方面的第四种可能的实现方式,在第五种可能的实现方式中,该接收单元还用于接收该主机发送的扩展文件空间请求,该扩展文件空间请求用于请求扩展该文件的空间;
该管理单元还用于,根据该扩展文件空间请求,从该全局虚拟地址空间的第二区域中按照该第二区域的空间分配粒度为该文件分配第二虚拟空间,其中,该第二区域的空间分配粒度大于该第一区域的空间分配粒度,更新该文件的元数据,更新后的该文件的元数据中包括为该文件分配的该第二虚拟空间的信息;
该发送单元还用于,向该主机发送扩展文件空间响应,该扩展文件空间响应中携带有该第二虚拟空间的信息。
结合第三方面或第三方面的第一至五种可能的实现方式中的任一种可能的实现方式,在第六种可能的实现方式中,该管理单元还用于,删除该文件的元数据,回收该全局虚拟地址空间中为该文件分配的空间,根据预设的全局虚拟地址空间与本地虚拟地址空间的对应关系确定用于存储该文件的存储节点;
该发送单元还用于向该用于存储该文件的存储节点发送空间回收消息,该空间回收消息用于指示该用于存储该文件的存储节点回收与该文件对应的本地虚拟地址空间和本地物理存储空间。
第四方面,本发明实施例提供了一种计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令用于执行前述第一方面中所述的方法。
基于上述技术方案,本发明实施例的管理文件的方法、分布式存储系统和管理节点,从分布式存储系统的全局虚拟地址空间中分配空间给文件,可以基于分配的全局虚拟地址空间管理文件,无需处理文件的数据块的复杂的存储位置信息,从而能够提高文件管理效率。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例的一个应用场景的示意图。
图2是本发明一个实施例的管理文件的方法的示意性流程图。
图3是本发明实施例的全局虚拟地址空间的一个示例的示意图。
图4是本发明实施例的全局虚拟地址空间的区域的示意图。
图5是本发明另一实施例的管理文件的方法的示意性流程图。
图6是本发明又一实施例的管理文件的方法的示意性流程图。
图7是本发明又一实施例的管理文件的方法的示意性流程图。
图8是本发明实施例的分布式存储系统的示意性框图。
图9是本发明一个实施例的管理节点的示意性框图。
图10是本发明另一实施例的管理节点的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都应属于本发明保护的范围。
应理解,本发明实施例的技术方案可以应用于各种存储系统,尤其是基于非易失存储介质的分布式存储系统。
还应理解,在本发明实施例中,术语“虚拟地址空间”也可以表述为“虚拟空间”,也就是说,“虚拟地址空间”和“虚拟空间”通用。
图1是本发明实施例的一个应用场景的示意图。在图1中,主机130、存储节点120和元数据管理节点110通过网络互联互通。存储节点120和元数据管理节点110组成分布式存储系统。
主机130可以访问分布式存储系统的文件。主机130可以是计算机,也可以是其他用户设备,主机130可以通过网络与分布式存储系统通信。主机130可以包括当前技术已知的任何计算设备,如服务器、台式计算机等等,在主机130中安装有操作系统以及其他应用程序,主机130可以有多个。
存储节点120用于存储文件数据。存储节点120可以包括至少一种存储器,例如,存储器可以包括相变内存(Phase Change Memory,PCM)、可变电阻式随机存取器(ResistiveRAM,ReRAM)、磁性随机存储器(Magnetic Random Access Memory,MRAM)等具有按字节(byte)寻址及访问的能力的新型非易失存储介质NVM。还可以包括其他存储器。图1中仅以NVM示例,存储节点120管理存储节点120上的NVM等组成的物理存储空间。
元数据管理节点110负责全局虚拟地址空间管理,提供文件的元数据查询等功能。
元数据管理节点110和存储节点120也可以合在一起,也就是说,一个节点可以同时具有元数据管理节点和存储节点的功能。
在本发明实施例中,管理节点可以为元数据管理节点(例如图1中的元数据管理节点110),也可以为同时具有元数据管理节点和存储节点的功能的节点。为了描述方便,以下以管理节点为例进行说明。
图2示出了根据本发明实施例的管理文件的方法200的示意性流程图。该方法200应用于分布式存储系统中,该分布式存储系统包括管理节点和多个存储节点。该方法200由管理节点执行。
S210,管理节点接收主机发送的创建文件请求。该创建文件请求用于在分布式存储系统中创建文件。
S220,该管理节点根据该创建文件请求从该分布式存储系统的全局虚拟地址空间中为该文件分配第一虚拟空间。在本发明实施例中,该分布式存储系统中每一个存储节点的本地虚拟地址空间对应该全局虚拟地址空间的一部分。
在本发明实施例中,基于全局虚拟地址空间管理分布式存储系统的文件。全局虚拟地址空间为分布式存储系统的虚拟空间。分布式存储系统中的每一存储节点的本地虚拟地址空间对应该全局虚拟地址空间的一部分。
本地虚拟地址空间的地址位数为操作系统(Operating System,OS)的位数。例如,对于64位的OS,本地虚拟空间的地址位数为64位,大小为2^64字节(^表示次方)。全局虚拟空间的地址位数可以为128位,大小为2^128字节。这样,每一存储节点的本地虚拟地址空间可以对应全局虚拟地址空间的一部分。
在一种情形下,全局虚拟地址空间与本地虚拟地址空间的对应关系(也可以称为映射关系)可以预先建立好。例如,全局虚拟地址空间与本地虚拟地址空间的对应关系预先在管理节点配置好,管理节点为文件分配空间后,分配的全局虚拟地址空间按照预先建立的对应关系可以对应到存储节点的本地虚拟地址空间。在另一种情形下,全局虚拟地址空间与本地虚拟地址空间的对应关系(也可以称为映射关系)也可以在为文件分配空间时建立。例如,管理节点也可以在为文件分配空间时,同时建立分配的全局虚拟地址空间与本地虚拟地址空间的对应关系,并保存分配的全局虚拟地址空间与本地虚拟地址空间的对应关系。分配的全局虚拟地址空间可以按照该对应关系对应到存储节点的本地虚拟地址空间。本发明实施例中不对全局虚拟地址空间与本地虚拟地址空间的对应关系如何建立进行限定。
管理节点在接收到主机发送的创建文件请求时,从分布式存储系统的全局虚拟地址空间中分配一段连续的空间(表示为第一虚拟空间)给该文件。基于全局虚拟地址空间与本地虚拟地址空间的对应关系,该第一虚拟空间可以映射到存储节点的本地虚拟地址空间。
S230,该管理节点记录该文件的元数据,该文件的元数据包括为该文件分配的该第一虚拟空间的信息,该第一虚拟空间的信息用于指向用于存储该文件的存储节点的本地虚拟地址空间。
在为文件在全局虚拟地址空间中分配第一虚拟空间后,管理节点记录该文件的元数据,该文件的元数据包括为该文件分配的该第一虚拟空间的信息。
可选地,该第一虚拟空间的信息可以包括该文件在该全局虚拟地址空间中的起始地址和大小。该第一虚拟空间的信息用于指向用于存储该文件的存储节点的本地虚拟地址空间。也就是说,基于全局虚拟地址空间与本地虚拟地址空间的对应关系,为文件分配的第一虚拟空间映射到用于存储该文件的存储节点的本地虚拟地址空间,并进一步通过本地虚拟地址空间映射到本地物理存储空间。
S240,该管理节点向该主机发送创建文件成功响应,该创建文件成功响应中携带有该第一虚拟空间的信息。
管理节点向主机发送的创建文件成功响应中携带有该第一虚拟空间的信息。这样,主机可以根据该第一虚拟空间的信息访问文件。例如,主机将对文件的访问请求转换为对全局虚拟地址空间的访问请求,访问该第一虚拟空间,从而实现访问该文件的目的。另一方面,管理节点可以基于全局虚拟地址空间管理文件的元数据以及文件,无需处理文件的数据块的复杂的存储位置信息,从而能够提高文件管理效率。
因此,本发明实施例的管理文件的方法,从分布式存储系统的全局虚拟地址空间中分配空间给文件,可以基于分配的全局虚拟地址空间管理文件,无需处理文件的数据块的复杂的存储位置信息,从而能够提高文件管理效率。
在本发明实施例中,可选地,存储节点的本地虚拟地址空间可以采用OS的虚拟地址空间的一段未使用的区间。例如,64位的OS的虚拟地址空间大小是2的64次方,除了用户态进程虚拟地址空间和内核虚拟地址空间外,还有保留的虚拟地址空间,本地虚拟地址空间可以采用OS保留的虚拟地址空间。也可以根据需要,重新划分操作系统的虚拟地址空间,划分出一段虚拟地址空间用作存储节点存储数据的本地虚拟地址空间。
在本发明实施例中,全局虚拟地址空间用于统一管理分布式存储系统的所有文件。全局虚拟地址空间不小于分布式存储系统中的所有存储节点的本地虚拟地址空间。
在本发明一个实施例中,可选地,全局虚拟地址空间的地址位数大于该分布式存储系统中的存储节点的本地虚拟地址空间的地址位数。在本地虚拟地址空间的地址位数为OS的位数时,全局虚拟地址空间的地址位数大于OS的位数。这样,全局虚拟地址空间的地址的一部分位数可以用于指向存储节点,另一部分位数可以用于指向存储节点中的本地虚拟地址空间。具体地,若全局虚拟地址空间的地址位数为M,存储节点的本地虚拟地址空间的地址位数为N,则全局虚拟地址空间的地址的高M-N位可以用于指向存储节点,例如,可以对应存储节点的标识和/或路由信息;全局虚拟地址空间的地址的低N位用于指向存储节点中的本地虚拟地址空间,例如,可以对应存储节点的本地虚拟地址空间的地址。
在本发明一个实施例中,可选地,该全局虚拟地址空间的地址位数为该分布式存储系统中存储节点的本地虚拟地址空间的地址位数的两倍。也就是说,若存储节点的本地虚拟地址空间的地址位数为N,全局虚拟地址空间的地址位数可以为2N。例如,在存储节点的本地虚拟地址空间的地址为64位时,全局虚拟地址空间的地址为128位,即,存储节点的本地虚拟地址空间大小为2^64字节,全局虚拟地址空间大小为2^128字节。
可选地,该全局虚拟地址空间的地址的高N位用于指向存储节点,该全局虚拟地址空间的地址的低N位用于指向存储节点中的本地虚拟地址空间。具体地,该全局虚拟地址空间的地址的低N位对应存储节点的本地虚拟地址空间的地址,该全局虚拟地址空间的地址的高N位对应存储节点的标识和/或路由信息。例如,存储节点的本地虚拟地址空间的地址为64位,全局虚拟地址空间的地址为128位时,全局虚拟地址空间的地址的低64位对应存储节点的本地虚拟地址空间的地址,全局虚拟地址空间的地址的高64位对应存储节点的标识和/或路由信息。
应理解,全局虚拟地址空间与存储节点的本地虚拟地址空间的对应关系也可以采用其他对应关系。例如,多个存储节点组成一个组,全局虚拟地址空间的地址的高N位对应组编号,低N位对应组内位置。给文件分配空间时首先确定组编号,然后再确定在组内的连续虚拟地址空间段,使文件的虚拟页面在组内组成条带分布。例如,8个节点组成一个组,则文件的第1个页面落在组内的第1个节点,第8个页面落在第8个节点,第9个页面落在第1个节点,第16个页面落在第8个节点,依次类推。
图3为全局虚拟地址空间的一个示例的示意图。如图3所示,存储节点的本地虚拟地址空间可映射到存储节点的本地物理存储空间。在图3所示的实施例中,存储节点的本地虚拟地址空间的地址为64位,存储节点的本地虚拟地址空间的大小为2^64字节。全局虚拟地址空间的地址为128位,全局虚拟地址空间的大小为2^128字节。存储节点的本地虚拟地址空间可以对应全局虚拟地址空间的一部分。也就是说,全局虚拟地址空间可以映射到各存储节点的本地虚拟地址空间。在本发明实施例中,可以将分布式存储系统的文件放在上述2^128字节大小的全局虚拟地址空间上进行管理。其中,每个文件在该全局虚拟地址空间上占据连续的一段。文件分配的全局虚拟地址空间段映射到各存储节点的本地虚拟地址空间,并通过本地虚拟地址空间映射到存储节点的本地物理存储空间。例如,从全局虚拟地址空间中分配一段连续的空间给文件1,文件1对应第一个存储节点的本地虚拟地址空间的一段,并映射到该存储节点的本地物理存储空间。
在本发明的一个实施例中,可选地,该全局虚拟地址空间包括多个区域,其中,该多个区域中的不同区域的空间分配粒度不同。具体而言,全局虚拟地址空间可以分为具有不同空间分配粒度的几个区域。例如,如图4所示,全局虚拟地址空间分为大、中、小文件区以及备用区,其中,小文件区的空间分配粒度最小,中文件区次之,大文件区的空间分配粒度最大。例如,小文件区的空间分配粒度可以为1MB,若在小文件区给文件分配空间则给文件分配1MB的空间。中文件区的空间分配粒度可以为100MB,若在中文件区给文件分配空间,则可以给文件分配100MB的空间。大文件区的空间分配粒度可以为1GB,若在大文件区给文件分配空间则给文件分配1GB的空间。在创建文件时,可以先在小文件区按照小文件区的空间分配粒度为文件分配空间,当文件大小超过原先分配的空间时,再在大一级的文件区按照该文件区的空间分配粒度重新给文件分配空间。
可选地,如图5所示,作为本发明的一个实施例,方法200的S220具体可以为:
S221,该管理节点根据该创建文件请求从该分布式存储系统的全局虚拟地址空间的第一区域中按照该第一区域的空间分配粒度为该文件分配该第一虚拟空间。
该第一区域为当前可分配的区域中空间分配粒度最小的区域。例如,该第一区域可以为图4中的小文件区。在创建文件时,先在小文件区按照小文件区的空间分配粒度为文件分配空间。
图5中的S210,S230和S240同图1,在此不再赘述。
可选地,如图6所示,在本发明一个实施例中,该方法200还可以包括:
S251,该管理节点接收该主机发送的扩展文件空间请求,该扩展文件空间请求用于请求扩展该文件的空间;
S252,根据该扩展文件空间请求,从该全局虚拟地址空间的第二区域中按照该第二区域的空间分配粒度为该文件分配第二虚拟空间,其中,该第二区域的空间分配粒度大于该第一区域的空间分配粒度;
S253,更新所述文件的元数据,更新后的该文件的元数据中包括为该文件分配的该第二虚拟空间的信息;
S254,向该主机发送扩展文件空间响应,该扩展文件空间响应中携带有该第二虚拟空间的信息。
具体而言,在文件需要扩展空间时,主机向管理节点发送扩展文件空间请求;管理节点根据该扩展文件空间请求,从该全局虚拟地址空间的第二区域中按照该第二区域的空间分配粒度分配空间(表示为第二虚拟空间)给该文件。该第二区域的空间分配粒度大于该第一区域的空间分配粒度。具体地,该第二区域可以为当前可分配的区域中空间分配粒度大于该第一区域的区域中空间分配粒度最小的区域。例如,在第一区域为图4中的小文件区时,第二区域可以为图4中的中文件区,在第一区域为图4中的中文件区时,第二区域可以为图4中的大文件区。在为文件重新分配空间后,管理节点更新该文件的元数据,即更新为该文件分配的该第二虚拟空间的信息,并回收该文件在该第一区域中分配的空间,即第一虚拟空间,再向该主机发送扩展文件空间响应,该扩展文件空间响应中携带有该第二虚拟空间的信息。
可选地,如图7所示,在本发明一个实施例中,该方法200还可以包括:
S261,该管理节点删除该文件的元数据,回收该全局虚拟地址空间中为该文件分配的空间;
S262,根据预设的全局虚拟地址空间与本地虚拟地址空间的对应关系确定用于存储该文件的存储节点;
S263,向该用于存储该文件的存储节点发送空间回收消息,该空间回收消息用于指示该用于存储该文件的存储节点回收与该文件对应的本地虚拟地址空间和本地物理存储空间。
在删除文件时,管理节点删除该文件的元数据,回收该全局虚拟地址空间中为该文件分配的空间,即第一虚拟空间或第二虚拟空间;并且根据全局虚拟地址空间与本地虚拟地址空间的对应关系确定用于存储该文件的存储节点,该对应关系可在为文件分配空间前或为文件分配空间时设立;向该存储节点发送空间回收消息。该存储节点根据该空间回收消息回收该文件对应的本地虚拟地址空间和本地物理存储空间。
本发明实施例的管理文件的方法,在分布式存储系统的全局虚拟地址空间上为文件分配空间和回收空间,管理复杂度低,能够提高文件管理效率。
应理解,本发明实施例中的具体的例子只是为了帮助本领域技术人员更好地理解本发明实施例,而非限制本发明实施例的范围。
还应理解,在本发明的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
上文详细描述了根据本发明实施例的管理文件的方法,下面将描述根据本发明实施例的分布式存储系统和管理节点。
图8示出了根据本发明实施例的分布式存储系统800的示意性框图。如图8所示,分布式存储系统800包括:管理节点810和多个存储节点820。
该多个存储节点820中的每一个存储节点820的本地虚拟地址空间对应该分布式存储系统800的全局虚拟地址空间的一部分。
该管理节点810用于接收主机发送的创建文件请求,该创建文件请求用于在该分布式存储系统800中创建文件,根据该创建文件请求从该全局虚拟地址空间中为该文件分配第一虚拟空间,记录该文件的元数据,该文件的元数据包括为该文件分配的该第一虚拟空间的信息,该第一虚拟空间的信息用于指向用于存储该文件的存储节点820的本地虚拟地址空间,向该主机发送创建文件成功响应,该创建文件成功响应中携带有该第一虚拟空间的信息。
本发明实施例的分布式存储系统,从全局虚拟地址空间中分配空间给文件,可以基于分配的全局虚拟地址空间管理文件,无需处理文件的数据块的复杂的存储位置信息,从而能够提高文件管理效率。
在本发明实施例中,可选地,该全局虚拟地址空间的地址位数大于该分布式存储系统800中的存储节点820的本地虚拟地址空间的地址位数。
在本发明实施例中,可选地,该全局虚拟地址空间的地址位数为该分布式存储系统800中存储节点820的本地虚拟地址空间的地址位数的两倍,其中,该全局虚拟地址空间的地址的高N位用于指向存储节点820,该全局虚拟地址空间的地址的低N位用于指向存储节点820中的本地虚拟地址空间,N为存储节点820的本地虚拟地址空间的地址位数。
在本发明实施例中,可选地,该第一虚拟空间的信息包括该文件在该全局虚拟地址空间中的起始地址和大小。
在本发明实施例中,可选地,该全局虚拟地址空间包括多个区域,其中,该多个区域中的不同区域的空间分配粒度不同。
该管理节点810具体用于,根据该创建文件请求从该分布式存储系统800的全局虚拟地址空间的第一区域中按照该第一区域的空间分配粒度为该文件分配该第一虚拟空间,其中,该第一区域为当前可分配的区域中空间分配粒度最小的区域。
在本发明实施例中,可选地,该管理节点810还用于,接收该主机发送的扩展文件空间请求,该扩展文件空间请求用于请求扩展该文件的空间,根据该扩展文件空间请求,从该全局虚拟地址空间的第二区域中按照该第二区域的空间分配粒度为该文件分配第二虚拟空间,其中,该第二区域的空间分配粒度大于该第一区域的空间分配粒度,更新该文件的元数据,更新后的该文件的元数据中包括为该文件分配的该第二虚拟空间的信息,向该主机发送扩展文件空间响应,该扩展文件空间响应中携带有该第二虚拟空间的信息。
在本发明实施例中,可选地,该管理节点810还用于,删除该文件的元数据,回收该全局虚拟地址空间中为该文件分配的空间,根据预设的全局虚拟地址空间与本地虚拟地址空间的对应关系确定用于存储该文件的存储节点820,向该用于存储该文件的存储节点820发送空间回收消息,该空间回收消息用于指示该用于存储该文件的存储节点820回收与该文件对应的本地虚拟地址空间和本地物理存储空间;
该用于存储该文件的存储节点820用于根据该空间回收消息回收与该文件对应的本地虚拟地址空间和本地物理存储空间。
根据本发明实施例的分布式存储系统800中的管理节点810和存储节点820可对应于前述方法实施例中的管理节点和存储节点,并且管理节点810可执行前述各个方法的相应流程,为了简洁,在此不再赘述。
图9示出了根据本发明实施例的管理节点900的示意性框图。如图9所示,该管理节点900包括:
接收单元910,用于接收主机发送的创建文件请求,该创建文件请求用于在分布式存储系统中创建文件;
管理单元920,用于根据该创建文件请求从该分布式存储系统的全局虚拟地址空间中为该文件分配第一虚拟空间,其中,该分布式存储系统中每一个存储节点的本地虚拟地址空间对应该全局虚拟地址空间的一部分,记录该文件的元数据,该文件的元数据包括为该文件分配的该第一虚拟空间的信息,该第一虚拟空间的信息用于指向用于存储该文件的存储节点的本地虚拟地址空间;
发送单元930,用于向该主机发送创建文件成功响应,该创建文件成功响应中携带有该第一虚拟空间的信息。
本发明实施例的管理节点,从分布式存储系统的全局虚拟地址空间中分配空间给文件,可以基于分配的全局虚拟地址空间管理文件,无需处理文件的数据块的复杂的存储位置信息,从而能够提高文件管理效率。
在本发明实施例中,可选地,该全局虚拟地址空间的地址位数大于该分布式存储系统中的存储节点的本地虚拟地址空间的地址位数。
在本发明实施例中,可选地,该全局虚拟地址空间的地址位数为该分布式存储系统中存储节点的本地虚拟地址空间的地址位数的两倍,其中,该全局虚拟地址空间的地址的高N位用于指向存储节点,该全局虚拟地址空间的地址的低N位用于指向存储节点中的本地虚拟地址空间,N为存储节点的本地虚拟地址空间的地址位数。
在本发明实施例中,可选地,该第一虚拟空间的信息包括该文件在该全局虚拟地址空间中的起始地址和大小。
在本发明实施例中,可选地,该全局虚拟地址空间包括多个区域,其中,该多个区域中的不同区域的空间分配粒度不同。
该管理单元具体用于,根据该创建文件请求从该分布式存储系统的全局虚拟地址空间的第一区域中按照该第一区域的空间分配粒度为该文件分配该第一虚拟空间,其中,该第一区域为当前可分配的区域中空间分配粒度最小的区域。
在本发明实施例中,可选地,该接收单元910还用于接收该主机发送的扩展文件空间请求,该扩展文件空间请求用于请求扩展该文件的空间;
该管理单元920还用于,根据该扩展文件空间请求,从该全局虚拟地址空间的第二区域中按照该第二区域的空间分配粒度为该文件分配第二虚拟空间,其中,该第二区域的空间分配粒度大于该第一区域的空间分配粒度,更新该文件的元数据,更新后的该文件的元数据中包括为该文件分配的该第二虚拟空间的信息;
该发送单元930还用于,向该主机发送扩展文件空间响应,该扩展文件空间响应中携带有该第二虚拟空间的信息。
在本发明实施例中,可选地,该管理单元920还用于,删除该文件的元数据,回收该全局虚拟地址空间中为该文件分配的空间,根据预设的全局虚拟地址空间与本地虚拟地址空间的对应关系确定用于存储该文件的存储节点;
该发送单元930还用于向该用于存储该文件的存储节点发送空间回收消息,该空间回收消息用于指示该用于存储该文件的存储节点回收与该文件对应的本地虚拟地址空间和本地物理存储空间。
根据本发明实施例的管理节点900可对应于根据本发明实施例的管理文件的方法200的执行主体,并且管理节点900中的各个模块的上述和其它操作和/或功能分别为了实现前述各个方法的相应流程,为了简洁,在此不再赘述。
本发明实施例的管理节点,在分布式存储系统的全局虚拟地址空间上为文件分配空间和回收空间,管理复杂度低,能够提高文件管理效率。
图10示出了本发明的又一实施例提供的管理节点的结构,包括至少一个处理器1002(例如CPU),至少一个网络接口1005或者其他通信接口,存储器1006,和至少一个通信总线1003。其中:
通信总线1003用于实现这些装置之间的连接通信。
处理器1002用于执行存储器1006中存储的可执行模块,例如计算机程序。
存储器1006可能包含高速随机存取存储器(RAM:Random Access Memory),也可能还包括NVM,例如至少一个磁盘存储器。
管理节点通过至少一个网络接口1005(可以是有线或者无线)实现与至少一个其他网元(如存储节点或主机)之间的通信连接。
在一些实施方式中,存储器1006存储了程序10061,处理器1002用于执行程序10061以实现前述方法实施例中的各个方法。
应理解,在本发明实施例中,术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系。例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、节点和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、节点和方法,可以通过其它的方式实现。例如,以上所描述的节点实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、节点或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

Claims (21)

1.一种管理文件的方法,其特征在于,包括:
管理节点接收主机发送的创建文件请求,所述创建文件请求用于在分布式存储系统中创建文件,所述分布式存储系统包括所述管理节点以及多个存储节点;
所述管理节点根据所述创建文件请求从所述分布式存储系统的全局虚拟地址空间中为所述文件分配第一虚拟空间,其中,所述全局虚拟地址空间映射到各存储节点的本地虚拟地址空间,存储节点的本地虚拟地址空间是操作系统的虚拟地址空间中的一段未使用的区间;
所述管理节点向所述主机发送创建文件成功响应,所述创建文件成功响应中携带有所述第一虚拟空间的信息,其中,所述第一虚拟空间的信息用于指向用于存储所述文件的存储节点的本地虚拟地址空间。
2.根据权利要求1所述的方法,其特征在于,所述全局虚拟地址空间的地址位数大于所述分布式存储系统中的存储节点的本地虚拟地址空间的地址位数。
3.根据权利要求1或2所述的方法,其特征在于,所述全局虚拟地址空间的地址位数为所述分布式存储系统中存储节点的本地虚拟地址空间的地址位数的两倍,其中,所述全局虚拟地址空间的地址的高N位用于指向存储节点,所述全局虚拟地址空间的地址的低N位用于指向存储节点中的本地虚拟地址空间,N为存储节点的本地虚拟地址空间的地址位数。
4.根据权利要求1或2所述的方法,其特征在于:所述第一虚拟空间的信息包括所述文件在所述全局虚拟地址空间中的起始地址和大小。
5.根据权利要求1或2所述的方法,其特征在于,所述全局虚拟地址空间包括多个区域,其中,所述多个区域中的不同区域的空间分配粒度不同;
所述管理节点根据所述创建文件请求从所述分布式存储系统的全局虚拟地址空间中为所述文件分配第一虚拟空间包括:
所述管理节点根据所述创建文件请求从所述分布式存储系统的全局虚拟地址空间的第一区域中按照所述第一区域的空间分配粒度为所述文件分配所述第一虚拟空间,其中,所述第一区域为当前可分配的区域中空间分配粒度最小的区域。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
所述管理节点接收所述主机发送的扩展文件空间请求,所述扩展文件空间请求用于请求扩展所述文件的空间;
根据所述扩展文件空间请求,从所述全局虚拟地址空间的第二区域中按照所述第二区域的空间分配粒度为所述文件分配第二虚拟空间,其中,所述第二区域的空间分配粒度大于所述第一区域的空间分配粒度;
向所述主机发送扩展文件空间响应,所述扩展文件空间响应中携带有所述第二虚拟空间的信息。
7.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
回收所述全局虚拟地址空间中为所述文件分配的空间;
根据预设的全局虚拟地址空间与本地虚拟地址空间的对应关系确定用于存储所述文件的存储节点;
向所述用于存储所述文件的存储节点发送空间回收消息,所述空间回收消息用于指示所述用于存储所述文件的存储节点回收与所述文件对应的本地虚拟地址空间和本地物理存储空间,其中,所述存储节点的本地虚拟地址空间映射到所述存储节点的本地物理存储空间。
8.一种分布式存储系统,其特征在于,包括:管理节点和多个存储节点;
所述管理节点用于:
接收主机发送的创建文件请求,所述创建文件请求用于在所述分布式存储系统中创建文件;
根据所述创建文件请求从全局虚拟地址空间中为所述文件分配第一虚拟空间,其中,所述全局虚拟地址空间映射到各存储节点的本地虚拟地址空间,存储节点的本地虚拟地址空间是操作系统的虚拟地址空间中的一段未使用的区间;
向所述主机发送创建文件成功响应,所述创建文件成功响应中携带有所述第一虚拟空间的信息,其中,所述第一虚拟空间的信息用于指向用于存储所述文件的存储节点的本地虚拟地址空间。
9.根据权利要求8所述的分布式存储系统,其特征在于,所述全局虚拟地址空间的地址位数大于所述分布式存储系统中的存储节点的本地虚拟地址空间的地址位数。
10.根据权利要求8或9所述的分布式存储系统,其特征在于,所述全局虚拟地址空间的地址位数为所述分布式存储系统中存储节点的本地虚拟地址空间的地址位数的两倍,其中,所述全局虚拟地址空间的地址的高N位用于指向存储节点,所述全局虚拟地址空间的地址的低N位用于指向存储节点中的本地虚拟地址空间,N为存储节点的本地虚拟地址空间的地址位数。
11.根据权利要求8或9所述的分布式存储系统,其特征在于:所述第一虚拟空间的信息包括所述文件在所述全局虚拟地址空间中的起始地址和大小。
12.根据权利要求8或9所述的分布式存储系统,其特征在于,所述全局虚拟地址空间包括多个区域,其中,所述多个区域中的不同区域的空间分配粒度不同;
所述管理节点具体用于,根据所述创建文件请求从所述分布式存储系统的全局虚拟地址空间的第一区域中按照所述第一区域的空间分配粒度为所述文件分配所述第一虚拟空间,其中,所述第一区域为当前可分配的区域中空间分配粒度最小的区域。
13.根据权利要求12所述的分布式存储系统,其特征在于,所述管理节点还用于:
接收所述主机发送的扩展文件空间请求,所述扩展文件空间请求用于请求扩展所述文件的空间;
根据所述扩展文件空间请求,从所述全局虚拟地址空间的第二区域中按照所述第二区域的空间分配粒度为所述文件分配第二虚拟空间,其中,所述第二区域的空间分配粒度大于所述第一区域的空间分配粒度;
向所述主机发送扩展文件空间响应,所述扩展文件空间响应中携带有所述第二虚拟空间的信息。
14.根据权利要求8或9所述的分布式存储系统,其特征在于,所述管理节点还用于:
回收所述全局虚拟地址空间中为所述文件分配的空间;
根据预设的全局虚拟地址空间与本地虚拟地址空间的对应关系确定用于存储所述文件的存储节点;
向所述用于存储所述文件的存储节点发送空间回收消息;
所述用于存储所述文件的存储节点,用于根据所述空间回收消息回收与所述文件对应的本地虚拟地址空间和本地物理存储空间,其中,所述存储节点的本地虚拟地址空间映射到所述存储节点的本地物理存储空间。
15.一种管理节点,其特征在于,包括:
接收单元,用于接收主机发送的创建文件请求,所述创建文件请求用于在分布式存储系统中创建文件;
管理单元,用于根据所述创建文件请求从所述分布式存储系统的全局虚拟地址空间中为所述文件分配第一虚拟空间,其中,所述全局虚拟地址空间映射到各存储节点的本地虚拟地址空间,存储节点的本地虚拟地址空间是操作系统的虚拟地址空间中的一段未使用的区间;
发送单元,用于向所述主机发送创建文件成功响应,所述创建文件成功响应中携带有所述第一虚拟空间的信息,其中,所述第一虚拟空间的信息用于指向用于存储所述文件的存储节点的本地虚拟地址空间。
16.根据权利要求15所述的管理节点,其特征在于,所述全局虚拟地址空间的地址位数大于所述分布式存储系统中的存储节点的本地虚拟地址空间的地址位数。
17.根据权利要求15或16所述的管理节点,其特征在于,所述全局虚拟地址空间的地址位数为所述分布式存储系统中存储节点的本地虚拟地址空间的地址位数的两倍,其中,所述全局虚拟地址空间的地址的高N位用于指向存储节点,所述全局虚拟地址空间的地址的低N位用于指向存储节点中的本地虚拟地址空间,N为存储节点的本地虚拟地址空间的地址位数。
18.根据权利要求15或16所述的管理节点,其特征在于,所述第一虚拟空间的信息包括所述文件在所述全局虚拟地址空间中的起始地址和大小。
19.根据权利要求15或16所述的管理节点,其特征在于,所述全局虚拟地址空间包括多个区域,其中,所述多个区域中的不同区域的空间分配粒度不同;
所述管理单元具体用于,根据所述创建文件请求从所述分布式存储系统的全局虚拟地址空间的第一区域中按照所述第一区域的空间分配粒度为所述文件分配所述第一虚拟空间,其中,所述第一区域为当前可分配的区域中空间分配粒度最小的区域。
20.根据权利要求19所述的管理节点,其特征在于,
所述接收单元还用于接收所述主机发送的扩展文件空间请求,所述扩展文件空间请求用于请求扩展所述文件的空间;
所述管理单元还用于,根据所述扩展文件空间请求,从所述全局虚拟地址空间的第二区域中按照所述第二区域的空间分配粒度为所述文件分配第二虚拟空间,其中,所述第二区域的空间分配粒度大于所述第一区域的空间分配粒度;
所述发送单元还用于,向所述主机发送扩展文件空间响应,所述扩展文件空间响应中携带有所述第二虚拟空间的信息。
21.根据权利要求15或16所述的管理节点,其特征在于,所述管理单元还用于,回收所述全局虚拟地址空间中为所述文件分配的空间,根据预设的全局虚拟地址空间与本地虚拟地址空间的对应关系确定用于存储所述文件的存储节点;
所述发送单元还用于向所述用于存储所述文件的存储节点发送空间回收消息,所述空间回收消息用于指示所述用于存储所述文件的存储节点回收与所述文件对应的本地虚拟地址空间和本地物理存储空间,其中,所述存储节点的本地虚拟地址空间映射到所述存储节点的本地物理存储空间。
CN201811337940.4A 2014-08-12 2014-08-12 管理文件的方法、分布式存储系统和管理节点 Active CN109376123B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811337940.4A CN109376123B (zh) 2014-08-12 2014-08-12 管理文件的方法、分布式存储系统和管理节点

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201480037252.XA CN105593828B (zh) 2014-08-12 2014-08-12 管理文件的方法、分布式存储系统和管理节点
CN201811337940.4A CN109376123B (zh) 2014-08-12 2014-08-12 管理文件的方法、分布式存储系统和管理节点
PCT/CN2014/084196 WO2016023166A1 (zh) 2014-08-12 2014-08-12 管理文件的方法、分布式存储系统和管理节点

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201480037252.XA Division CN105593828B (zh) 2014-08-12 2014-08-12 管理文件的方法、分布式存储系统和管理节点

Publications (2)

Publication Number Publication Date
CN109376123A true CN109376123A (zh) 2019-02-22
CN109376123B CN109376123B (zh) 2022-08-19

Family

ID=55303771

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201811337940.4A Active CN109376123B (zh) 2014-08-12 2014-08-12 管理文件的方法、分布式存储系统和管理节点
CN201480037252.XA Active CN105593828B (zh) 2014-08-12 2014-08-12 管理文件的方法、分布式存储系统和管理节点

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201480037252.XA Active CN105593828B (zh) 2014-08-12 2014-08-12 管理文件的方法、分布式存储系统和管理节点

Country Status (7)

Country Link
US (3) US10152233B2 (zh)
EP (2) EP3905054B1 (zh)
JP (1) JP6344675B2 (zh)
CN (2) CN109376123B (zh)
RU (1) RU2658886C1 (zh)
SG (1) SG11201700413RA (zh)
WO (1) WO2016023166A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111638995A (zh) * 2020-05-08 2020-09-08 杭州海康威视系统技术有限公司 元数据备份方法、装置及设备、存储介质
CN112558870A (zh) * 2020-12-08 2021-03-26 机械工业仪器仪表综合技术经济研究所 一种针对地址空间的数据处理方法及装置

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9442944B2 (en) * 2013-11-12 2016-09-13 Dropbox, Inc. Content item purging
US10542049B2 (en) 2014-05-09 2020-01-21 Nutanix, Inc. Mechanism for providing external access to a secured networked virtualization environment
US8868825B1 (en) * 2014-07-02 2014-10-21 Pure Storage, Inc. Nonrepeating identifiers in an address space of a non-volatile solid-state storage
KR101944876B1 (ko) * 2014-11-28 2019-02-01 후아웨이 테크놀러지 컴퍼니 리미티드 파일 액세스 방법 및 장치 및 스토리지 디바이스
US10540164B2 (en) 2016-02-12 2020-01-21 Nutanix, Inc. Virtualized file server upgrade
US11218418B2 (en) 2016-05-20 2022-01-04 Nutanix, Inc. Scalable leadership election in a multi-processing computing environment
US11562034B2 (en) 2016-12-02 2023-01-24 Nutanix, Inc. Transparent referrals for distributed file servers
US10728090B2 (en) 2016-12-02 2020-07-28 Nutanix, Inc. Configuring network segmentation for a virtualization environment
US10824455B2 (en) 2016-12-02 2020-11-03 Nutanix, Inc. Virtualized server systems and methods including load balancing for virtualized file servers
US11568073B2 (en) 2016-12-02 2023-01-31 Nutanix, Inc. Handling permissions for virtualized file servers
US11294777B2 (en) 2016-12-05 2022-04-05 Nutanix, Inc. Disaster recovery for distributed file servers, including metadata fixers
US11281484B2 (en) 2016-12-06 2022-03-22 Nutanix, Inc. Virtualized server systems and methods including scaling of file system virtual machines
US11288239B2 (en) 2016-12-06 2022-03-29 Nutanix, Inc. Cloning virtualized file servers
US11086826B2 (en) 2018-04-30 2021-08-10 Nutanix, Inc. Virtualized server systems and methods including domain joining techniques
US11194680B2 (en) 2018-07-20 2021-12-07 Nutanix, Inc. Two node clusters recovery on a failure
US11023333B2 (en) * 2018-10-30 2021-06-01 EMC IP Holding Company LLC Online recovery approach to space accounting
US11770447B2 (en) 2018-10-31 2023-09-26 Nutanix, Inc. Managing high-availability file servers
US10769076B2 (en) 2018-11-21 2020-09-08 Nvidia Corporation Distributed address translation in a multi-node interconnect fabric
US11768809B2 (en) 2020-05-08 2023-09-26 Nutanix, Inc. Managing incremental snapshots for fast leader node bring-up
US20240028466A1 (en) * 2022-07-20 2024-01-25 Dell Products L.P. Storing Namespace Metadata in a Key Value Store to Facilitate Space Efficient Point In Time Snapshots

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5822785A (en) * 1992-12-18 1998-10-13 Fujitsu Limited Data transfer using local and global address translation and authorization
US20020013889A1 (en) * 1998-09-28 2002-01-31 Assaf Schuster Distributed shared memory system with variable granularity
CN1410905A (zh) * 2002-11-14 2003-04-16 华中科技大学 一种全分布式的集群网络服务器系统
US20050015378A1 (en) * 2001-06-05 2005-01-20 Berndt Gammel Device and method for determining a physical address from a virtual address, using a hierarchical mapping rule comprising compressed nodes
US20050235005A1 (en) * 2004-04-20 2005-10-20 Nec Corporation Computer system configuring file system on virtual storage device, virtual storage management apparatus, method and signal-bearing medium thereof
US7334108B1 (en) * 2004-01-30 2008-02-19 Nvidia Corporation Multi-client virtual address translation system with translation units of variable-range size
US20090150641A1 (en) * 2007-12-06 2009-06-11 David Flynn Apparatus, system, and method for efficient mapping of virtual and physical addresses
US20110173396A1 (en) * 2010-01-08 2011-07-14 Sugumar Rabin A Performing High Granularity Prefetch from Remote Memory into a Cache on a Device without Change in Address
CN102255962A (zh) * 2011-07-01 2011-11-23 成都市华为赛门铁克科技有限公司 一种分布式存储方法、装置和系统
CN103049334A (zh) * 2012-12-14 2013-04-17 华为技术有限公司 一种任务处理的方法和虚拟机
CN103414761A (zh) * 2013-07-23 2013-11-27 北京工业大学 一种基于Hadoop架构的移动终端云资源调度方法
CN103797770A (zh) * 2012-12-31 2014-05-14 华为技术有限公司 一种共享存储资源的方法和系统

Family Cites Families (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3004278B2 (ja) * 1988-11-24 2000-01-31 富士通株式会社 マルチプロセッサシステム
US5430850A (en) * 1991-07-22 1995-07-04 Massachusetts Institute Of Technology Data processing system with synchronization coprocessor for multiple threads
JP2974526B2 (ja) * 1992-12-18 1999-11-10 富士通株式会社 データ転送処理方法及びデータ転送処理装置
CN1149736A (zh) * 1995-06-05 1997-05-14 北京航空航天大学 一种分布式存储器共享管理方法
US7301541B2 (en) * 1995-08-16 2007-11-27 Microunity Systems Engineering, Inc. Programmable processor and method with wide operations
US6101590A (en) * 1995-10-10 2000-08-08 Micro Unity Systems Engineering, Inc. Virtual memory system with local and global virtual address translation
US5848254A (en) * 1996-07-01 1998-12-08 Sun Microsystems, Inc. Multiprocessing system using an access to a second memory space to initiate software controlled data prefetch into a first address space
US6205528B1 (en) * 1997-08-29 2001-03-20 International Business Machines Corporation User specifiable allocation of memory for processes in a multiprocessor computer having a non-uniform memory architecture
WO1999012102A1 (en) * 1997-09-05 1999-03-11 Sun Microsystems, Inc. A multiprocessing system including cluster optimization mechanisms
JP2000267979A (ja) * 1999-03-12 2000-09-29 Nec Corp 記憶システム
US6912612B2 (en) * 2002-02-25 2005-06-28 Intel Corporation Shared bypass bus structure
JP2004013276A (ja) * 2002-06-04 2004-01-15 Victor Co Of Japan Ltd ファイルシステム及び記録媒体
JP3869769B2 (ja) * 2002-07-24 2007-01-17 株式会社日立製作所 ストレージ・ネットワーク用のスイッチングノード装置および遠隔ストレージ装置のアクセス方法
US6948044B1 (en) * 2002-07-30 2005-09-20 Cisco Systems, Inc. Methods and apparatus for storage virtualization
US6922766B2 (en) * 2002-09-04 2005-07-26 Cray Inc. Remote translation mechanism for a multi-node system
US7577816B2 (en) * 2003-08-18 2009-08-18 Cray Inc. Remote translation mechanism for a multinode system
US6920521B2 (en) 2002-10-10 2005-07-19 International Business Machines Corporation Method and system of managing virtualized physical memory in a data processing system
US20040117587A1 (en) 2002-12-12 2004-06-17 International Business Machines Corp. Hardware managed virtual-to-physical address translation mechanism
JP2004192483A (ja) * 2002-12-13 2004-07-08 Hitachi Ltd 分散ストレージシステムの管理方法
US7765381B2 (en) * 2003-04-04 2010-07-27 Oracle America, Inc. Multi-node system in which home memory subsystem stores global to local address translation information for replicating nodes
BRPI0619044B1 (pt) * 2005-11-29 2019-09-03 Koninl Philips Electronics Nv Método de gerenciamento de um sistema de armazenamento distribuído, dispositivo dearmazenamento para uso em um sistema de armazenamento distribuído e sistema dearmazenamento distribuído
US7877540B2 (en) 2005-12-13 2011-01-25 Sandisk Corporation Logically-addressed file storage methods
US20090089537A1 (en) * 2007-09-28 2009-04-02 Sun Microsystems, Inc. Apparatus and method for memory address translation across multiple nodes
CN101187930B (zh) * 2007-12-04 2010-06-09 浙江大学 分布式文件系统虚拟目录及命名空间的实现方法
JP5221157B2 (ja) * 2008-02-04 2013-06-26 株式会社日立製作所 コンピュータシステム及び物理ディスク回収方法
CN101398768B (zh) * 2008-10-28 2011-06-15 北京航空航天大学 一种分布式虚拟机监视器系统的构建方法
CN101477495B (zh) * 2008-10-28 2011-03-16 北京航空航天大学 分布式内存虚拟化技术的实现方法
CN101477496B (zh) * 2008-12-29 2011-08-31 北京航空航天大学 基于分布式内存虚拟化的numa结构的实现方法
US8918619B2 (en) * 2009-10-04 2014-12-23 Infinidat Ltd. Virtualized storage system and method of operating thereof
KR20120132820A (ko) * 2011-05-30 2012-12-10 삼성전자주식회사 스토리지 디바이스, 스토리지 시스템 및 스토리지 디바이스의 가상화 방법
US8868882B2 (en) 2011-06-08 2014-10-21 Microsoft Corporation Storage architecture for backup application
CN103617175A (zh) 2013-11-04 2014-03-05 广东电子工业研究院有限公司 一种用于大规模分布异构数据的虚拟化方法
US10769076B2 (en) * 2018-11-21 2020-09-08 Nvidia Corporation Distributed address translation in a multi-node interconnect fabric
US11327665B2 (en) * 2019-09-20 2022-05-10 International Business Machines Corporation Managing data on volumes

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5822785A (en) * 1992-12-18 1998-10-13 Fujitsu Limited Data transfer using local and global address translation and authorization
US20020013889A1 (en) * 1998-09-28 2002-01-31 Assaf Schuster Distributed shared memory system with variable granularity
US20050015378A1 (en) * 2001-06-05 2005-01-20 Berndt Gammel Device and method for determining a physical address from a virtual address, using a hierarchical mapping rule comprising compressed nodes
CN1410905A (zh) * 2002-11-14 2003-04-16 华中科技大学 一种全分布式的集群网络服务器系统
US7334108B1 (en) * 2004-01-30 2008-02-19 Nvidia Corporation Multi-client virtual address translation system with translation units of variable-range size
US20050235005A1 (en) * 2004-04-20 2005-10-20 Nec Corporation Computer system configuring file system on virtual storage device, virtual storage management apparatus, method and signal-bearing medium thereof
US20090150641A1 (en) * 2007-12-06 2009-06-11 David Flynn Apparatus, system, and method for efficient mapping of virtual and physical addresses
US20110173396A1 (en) * 2010-01-08 2011-07-14 Sugumar Rabin A Performing High Granularity Prefetch from Remote Memory into a Cache on a Device without Change in Address
CN102255962A (zh) * 2011-07-01 2011-11-23 成都市华为赛门铁克科技有限公司 一种分布式存储方法、装置和系统
CN103049334A (zh) * 2012-12-14 2013-04-17 华为技术有限公司 一种任务处理的方法和虚拟机
CN103797770A (zh) * 2012-12-31 2014-05-14 华为技术有限公司 一种共享存储资源的方法和系统
CN103414761A (zh) * 2013-07-23 2013-11-27 北京工业大学 一种基于Hadoop架构的移动终端云资源调度方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
孟晓烜等: "一种采用带外虚拟化技术的网络存储系统", 《小型微型计算机系统》 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111638995A (zh) * 2020-05-08 2020-09-08 杭州海康威视系统技术有限公司 元数据备份方法、装置及设备、存储介质
CN112558870A (zh) * 2020-12-08 2021-03-26 机械工业仪器仪表综合技术经济研究所 一种针对地址空间的数据处理方法及装置
CN112558870B (zh) * 2020-12-08 2023-08-01 机械工业仪器仪表综合技术经济研究所 一种针对地址空间的数据处理方法及装置

Also Published As

Publication number Publication date
US11029848B2 (en) 2021-06-08
US20210255775A1 (en) 2021-08-19
CN109376123B (zh) 2022-08-19
EP3171277A1 (en) 2017-05-24
US20170153822A1 (en) 2017-06-01
WO2016023166A1 (zh) 2016-02-18
CN105593828A (zh) 2016-05-18
US11656763B2 (en) 2023-05-23
EP3905054A1 (en) 2021-11-03
US20190073130A1 (en) 2019-03-07
JP2017525054A (ja) 2017-08-31
EP3905054B1 (en) 2023-12-20
US10152233B2 (en) 2018-12-11
JP6344675B2 (ja) 2018-06-20
EP3171277A4 (en) 2017-08-02
CN105593828B (zh) 2018-12-07
EP3171277B1 (en) 2021-03-03
SG11201700413RA (en) 2017-03-30
RU2658886C1 (ru) 2018-06-25

Similar Documents

Publication Publication Date Title
CN105593828B (zh) 管理文件的方法、分布式存储系统和管理节点
CN103797770B (zh) 一种共享存储资源的方法和系统
CN105830059B (zh) 文件访问方法、装置及存储设备
CN106708968B (zh) 分布式数据库系统和分布式数据库系统中的数据处理方法
CN105830022B (zh) 访问文件的方法和装置
JP2022111153A (ja) 格納媒体を多重モードで動作させる管理システム、それを含む格納システム、及びそれを利用して格納媒体を管理する方法
CN104536903B (zh) 一种按数据属性分类存放的混合存储方法及系统
JP2019508765A (ja) 記憶システムおよびソリッドステートディスク
JP2019139759A (ja) ソリッドステートドライブ(ssd)及び分散データストレージシステム並びにその方法
CN105933376A (zh) 一种数据操作方法,服务器及存储系统
CN105745640B (zh) 访问文件的方法、系统和主机
CN102123176B (zh) 一种网络存储系统空间分配管理方法及装置
CN104603739A (zh) 对并行存储的块级访问
WO2013004136A1 (zh) 分布式存储方法、装置和系统
CN109753231A (zh) 键值存储设备及操作其的方法
CN109299190A (zh) 分布式存储系统中处理对象的元数据的方法及装置
CN103218305B (zh) 存储空间的分配方法
CN103970875A (zh) 一种并行重复数据删除方法
CN104272242A (zh) 创建加密存储体
JP2015114913A (ja) ストレージ装置、ストレージシステム及びデータ管理プログラム
CN105765542B (zh) 访问文件的方法、分布式存储系统和存储节点
CN106326143A (zh) 一种缓存分配、数据访问、数据发送方法、处理器及系统
CN105745900B (zh) 访问文件的方法、分布式存储系统和网络设备
CN107155307B (zh) 访问文件的方法、系统和主机
CN107330118A (zh) 一种存储cos文件的方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant