CN111309677A - 一种分布式文件系统的文件管理方法及装置 - Google Patents
一种分布式文件系统的文件管理方法及装置 Download PDFInfo
- Publication number
- CN111309677A CN111309677A CN202010087305.6A CN202010087305A CN111309677A CN 111309677 A CN111309677 A CN 111309677A CN 202010087305 A CN202010087305 A CN 202010087305A CN 111309677 A CN111309677 A CN 111309677A
- Authority
- CN
- China
- Prior art keywords
- file
- directory
- metadata
- unique identifier
- storage node
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/13—File access structures, e.g. distributed indices
- G06F16/137—Hash-based
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/16—File or folder operations, e.g. details of user interfaces specifically adapted to file systems
- G06F16/162—Delete operations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/16—File or folder operations, e.g. details of user interfaces specifically adapted to file systems
- G06F16/164—File meta data generation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种分布式文件系统的文件管理方法及装置,获取文件创建时刻的文件序号、时间戳以及文件的存储节点序号;其中,文件序号为该文件创建时刻在分布式文件系统中所有创建的文件中的排序号码;将文件序号、时间戳以及文件的存储节点序号串联,组成文件在分布式文件系统中的唯一标识;根据文件的唯一标识生成文件的存储路径;根据文件的存储路径进行文件的创建、读写和删除操作;本发明通过使用文件创建时刻的序号、时间戳和存储节点的序号生成该文件在分布式文件系统中的唯一标识,并根据该唯一标识生成该文件的存储路径,再结合在各个存储节点本地文件目录树,可以有效提高元数据文件和数据文件的访问性能,节省访问时间。
Description
【技术领域】
本发明属于分布式文件系统的存储策略技术领域,尤其涉及一种分布式文件系统的文件管理方法及装置。
【背景技术】
当今是数字化时代,大数据带来的信息风暴,产生的数据的存储是当今需要重点解决的问题之一,现如今有各种分布式文件系统,如GFS、TFS和lustre文件系统都是为了解决海量数据的存储。
在现有的文件系统中,为了实现数据的存储会产生大量的元数据,并且在数据存储过程中,元数据同时被存储,当文件系统中的存储数据和元数据越来越多时,文件系统的运行效率会越来越低。
【发明内容】
本发明的目的是提供一种分布式文件系统的文件管理方法及装置,采用简洁的数据存储策略进行数据存储,以提高文件系统的存储和读取效率,进而提高数据访问能力。
本发明采用以下技术方案:一种分布式文件系统的文件管理方法,包括:
获取文件创建时刻的文件序号、时间戳以及文件的存储节点序号;其中,文件序号为该文件创建时刻在分布式文件系统中所有创建的文件中的排序号码;
将文件序号、时间戳以及文件的存储节点序号串联,组成文件在分布式文件系统中的唯一标识;
根据文件的唯一标识生成文件的存储路径;
根据文件的存储路径进行文件的创建、读写和删除操作。
进一步地,根据文件的唯一标识生成文件的存储路径包括:
当文件为元数据文件时,以唯一标识为输入信息,利用哈希算法生成元数据文件的存储路径。
进一步地,当文件为元数据目录时,创建该元数据目录包括:
获取该元数据目录的父目录的所有目录项;
检索父目录的所有目录项中是否存在该元数据目录:
响应于父目录的所有目录项中存在该元数据目录,结束该元数据目录的创建;
响应于父目录的所有目录项中不存在该元数据目录,创建该元数据目录文件,获取对应的时间戳、该元数据的文件序号以及存储节点序号,并组合成该元数据目录的唯一标识;
根据该元数据目录的唯一标识生成其在存储节点序号对应的存储节点上的存储路径,并在存储路径的指向位置创建以该元数据目录唯一标识命名的元数据目录文件。
进一步地,获取存储节点序号包括:
获取所有文件存储节点的空闲空间信息;
选择空闲空间最大的文件存储节点,提取该文件存储节点的序号。
进一步地,当文件为元数据目录项文件时,创建该元数据目录项文件包括:
获取元数据目录项文件的父目录的元数据目录;
读取元数据目录的唯一标识以及其存储节点序号;
根据唯一标识生成元数据目录在对应的存储节点上的存储路径;
根据元数据目录的存储节点序号以及其在对应的存储节点上的存储路径的指向位置创建元数据目录项文件;
在元数据目录上创建元数据目录项;其中,元数据目录项包括元数据目录项文件的存储路径、元数据目录项文件的存储节点列表、条带信息和元数据目录项文件的唯一标识。
进一步地,当文件为数据文件时,读写该数据文件包括:
获取读写该数据文件时的输入信息;
根据输入信息查找对应的元数据目录项;
根据元数据目录项获取该数据文件的条带信息、存储节点列表和唯一标识;
根据唯一标识生成数据文件的存储路径;
根据数据文件的存储路径在存储节点列表对应的存储节点上读写数据文件。
进一步地,根据唯一标识生成数据文件的存储路径包括:
提取唯一标识中的时间戳,根据时间戳生成数据文件的存储路径。
本发明的另一种技术方案:一种分布式文件系统的文件管理装置,包括:
获取模块,用于获取文件创建时刻的文件序号、时间戳以及文件的存储节点序号;其中,文件序号为该文件创建时刻在分布式文件系统中所有创建的文件中的排序号码;
组成模块,用于将文件序号、时间戳以及文件的存储节点序号串联,组成文件在分布式文件系统中的唯一标识;
生成模块,用于根据文件的唯一标识生成文件的存储路径;
操作模块,用于根据文件的存储路径进行文件的创建、读写和删除操作。
本发明的再一种技术方案:一种分布式文件系统的文件管理设备,包括存储器、处理器以及存储在存储器中并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述的分布式文件系统的文件管理方法。
本发明的再一种技术方案:一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时实现上述的分布式文件系统的文件管理方法。
本发明的有益效果是:本发明通过使用文件创建时刻的序号、时间戳和存储节点的序号生成该文件在分布式文件系统中的唯一标识,并根据该唯一标识生成该文件的存储路径,使得文件的存储路径更加简洁,再结合在各个存储节点本地文件目录树,可以有效提高元数据文件和数据文件的访问性能,节省访问时间。
【附图说明】
图1为本发明实施例中文件组织示意图;
图2为本发明实施例中构建文件系统的流程框图;
图3为本发明实施例中创建元数据目录文件的流程框图;
图4为本发明实施例中创建元数据目录项文件的流程框图;
图5为本发明实施例中读写数据文件的流程框图;
图6为本发明实施例中删除数据文件的流程框图;
图7为本发明实施例中删除元数据文件的流程框图;
图8为本发明实施例中用户视角下的文件组织示意图。
【具体实施方式】
下面结合附图和具体实施方式对本发明进行详细说明。
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本发明实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本发明。在其它情况中,省略对众所周知的系统、装置以及方法的详细说明,以免不必要的细节妨碍本发明的描述。
应当理解,当在本发明说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
如在本发明说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
另外,在本发明说明书和所附权利要求书的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
本发明的一个实施例提供了一种分布式文件系统的文件管理方法,包括:
获取文件创建时刻的文件序号、时间戳以及文件的存储节点序号;其中,文件序号为该文件创建时刻在分布式文件系统中所有创建的文件中的排序号码;将文件序号、时间戳以及文件的存储节点序号串联,组成文件在分布式文件系统中的唯一标识;根据文件的唯一标识生成文件的存储路径;根据文件的存储路径进行文件的创建、读写和删除操作。
通过使用文件创建时刻的序号、时间戳和存储节点的序号生成该文件在分布式文件系统中的唯一标识,并根据该唯一标识生成该文件的存储路径,使得文件的存储路径更加简洁,再结合在各个存储节点本地文件目录树,可以有效提高元数据文件和数据文件的访问性能,节省访问时间。
具体的,根据文件的唯一标识生成文件的存储路径时,当文件为元数据文件时,以唯一标识为输入信息,利用哈希算法生成元数据文件的存储路径。
如图1所示,为本实施例中的文件组织示意图,在该实施例中包括有两个元数据存储节点,分别为meta1和meta2,还包括两个数据存储节点,分别为storage1和storage2。本实施例的分布式文件系统中的root目录(即根目录)存放在节点序号(即ID)最小的元数据存储节点meta1中。
在进行路径分配时,root目录的唯一标识(下文中也称作EntryID)指定为其本身,将其本身作为输入的EntryID,通过哈希算法(即hash)可以得到其存储路径,由于root目录为整个分布式文件系统的整体根目录,具有唯一性,所以,在哈希算法中,其的输出路径也必定与指定路径相对应,在本实施例中指定路径为节点序号(即ID)最小的元数据存储节点meta1中,即在meta1中root目录的存储路径为inode/hash(root)/root,其中,inode在本实施例中为数据类型的表示,其表示该数据类型为元数据目录,hash(root)为通过哈希算法生成的root目录的路径,该路径最后的root表示,该root目录存储命为root。
在本实施例中,root目录下的文件和目录都是目录项,存储在dentries/hash(root)/root/{dir,file},dentries在本实施例中为数据类型的表示,其表示该数据类型为元数据目录项,{dir,file}表示目录项中的具体内容,也就是说目录项中可以是两种类型的文件,如是文件类型或者目录类型,其中dir表示的是目录类型的目录项,file表示的是文件类型的目录项。
如果目录项的类型是目录,这个目录项会存放目录的EntryID和该目录的元数据文件存放的节点。例如,如图1所示,dir1的目录项中指明dir1的元数据文件在meta2节点上,则会在meta2节点上创建元数据文件inode/hash(EntryID(dir1))/EntryID(dir1)。
如果目录项的类型是文件,则该目录项的具体内容中会保存文件数据保存在哪些数据节点中,文件数据的条带信息和EntryID等。
例如/root/dir1/file1中的file1文件,在dir1目录下,那么,就会在dir1的目录项中创建一个目录项文件dentries/hash(EntryID(dir1))/EntryID(dir1)/file1,file1目录项保存了EntryID(file1)和文件数据保存的节点列表(storage1,storage2)和条带信息(chunckSize:512k,numNode:2),那么就会在storage1和storage创建数据文件YM(EntryID(Pdir))/Day(EntryID(Pdir))/EntryID(Pdir)/EntryID(file),file1的第一个512k数据存放在storage1的数据文件中,第二个512k数据存放在storage2的数据文件中,以此类推。
具体的,本发明实施例中的数据组织结构对于任何用户的显示均为同一显示方式,如在图8中,Client的是用户节点可以有多个client,所有client看到的文件系统都是相同的。在该图中,root目录下有一个目录dir1,还有一个文件file2,dir1目录下有一个文件file1。
另外,在本实施例中,每个文件的EntryID具体可以表示为:
EntryID:<counterPart>-<timestampPart>-<localNodeID>,
其中,counterPart表示该文件在该分布式文件系统中同一时刻创建的所有文件中的序号;timestampPart表示该文件被创建时的时间戳;localNodeID表示该文件所存储的存储节点的序号(ID)。在下文中,使用EntryID(name)表示该name文件的EntryID。通过该EntryID作为哈希算法的输入值,计算出该文件的存储路径。下文中用hash(EntryID)表示hash出来的值,本实施例中该值为32位,分为两级目录,每16位作为一级目录,采用16进制值作为目录名。
具体的,元数据寻址通过hash(entryID)得到inode和dentries的路径,因为EntryID包含时间戳,所以元数据的分配是均衡的。数据存储寻址通过获取父目录的EntryID中的时间戳解析后获得路径,数据获取只需要父目录的entryID和条带信息即可读写数据。
在以下实施例中,元数据文件的路径表示如下:
PEntryID表示父目录的EntryID(pdir);
DirEntryID表示目录的EntryID(dir)(原来是EntryID(pdir));
元数据目录文件路径:inode/hash(PEntryID)/PEntryID/DirEntryID;
元数据目录项文件路径:
dentries/hash(PEntryID)/PEntryID/{DirName,FileName}。
数据文件路径:
YM(EntryID):是获取EntryID中时间戳的年月;
Day(EntryID):是获取EntryID中时间戳的日;
YM(EntryID(Pdir))/Day(EntryID(Pdir))/EntryID(Pdir)/EntryID(file);
下文用YM(EntryID)表示数据存储的一级目录,用Day(EntryID)表示数据存储的二级目录。
通过本发明中的表述方法,将元数据和数据存储直接存放在本地文件系统上,实现统一命名空间,快速寻址的分布式文件系统的数据分布。在本地文件系统的基础上,管理文件分布,组织分布式网络文件系统。
在本实施例中,构建好文件系统硬件后,需要构建文件系统,在该过程中,首选要挂载该文件系统,并检索该文件系统中是否存在root目录,当存在是时,读取root目录下的元数据,并获取该元数据的目录项即完成的文件系统的构建。当该文件系统中未检索到root目录时,根据上文中指定的规则,在元数据节点中选择ID最小的节点创建root目录即可完成。
在本发明的另一实施例中,给出了创建元数据目录的详细操作流程。在该实施例中,如图3所示,该创建的元数据目录为root目录下的元数据目录,具体包括以下步骤:
获取该元数据目录的父目录的所有目录项,在本实施例中,其父目录即为root目录,即获取该root目录的路径hash(root)。
检索父目录的所有目录项中是否存在该元数据目录:
响应于父目录的所有目录项中存在该元数据目录,结束该元数据目录的创建。
响应于父目录的所有目录项中不存在该元数据目录,创建该元数据目录文件,即创建/root/dir1,在dentries/hash(root)/root/下创建dir1目录项,为dir1分配元数据存储节点,并获取该存储节点的序号。
获取该存储节点序号包括:获取所有文件存储节点的空闲空间信息;选择空闲空间最大的文件存储节点,提取该文件存储节点的序号。这样,可以保证将元数据目录均匀的分布在存储节点中。
再获取dir1的时间戳、该元数据的文件序号以及存储节点序号,并组合成该元数据目录的唯一标识,即dir1的EntryID。
根据该元数据目录的唯一标识生成其在存储节点序号对应的存储节点上的存储路径,并在存储路径的指向位置创建以该元数据目录唯一标识命名的元数据目录文件。如此,即完成了元数据目录的创建流程。
在本发明的另一个实施例中,当文件为元数据目录项文件时,如图4所示,创建该元数据目录项文件包括:
获取元数据目录项文件的父目录的元数据目录,即在根目录路径hash(EntryID(root))下获取dir1的目录项文件。读取元数据目录的唯一标识以及其存储节点序号,即从dentries/hash(EntryID(root))/EntryID(root)/dir1文件中读取dir1元数据所在节点和EntryID(dir1)。
根据唯一标识(即EntryID(dir1))生成元数据目录在对应的存储节点上的存储路径。根据元数据目录的存储节点序号以及其在对应的存储节点上的存储路径的指向位置创建元数据目录项文件,即在dir1所在的存储节点上创建dentries/hash(EntryID(dir1))/EntryID(dir1)/file1。
在元数据目录上创建元数据目录项;其中,元数据目录项包括元数据目录项文件的存储路径,该元数据目录项文件存储了存储节点列表、条带信息和元数据目录项文件的唯一标识。
在本发明的另一个实施例中,当文件为数据文件时,如图5所示,读写该数据文件包括:
获取读写该数据文件时的输入信息。根据输入信息查找对应的元数据目录项,本实施例中以在root目录下的dir1目录下读写文件为例,则在root元数据节点的dentries下找到dir1的目录项。从root的目录dir1获取到dir1的元数据节点和EntryID,再到dir1元数据节点上找到dir1的dir1dentries目录(即dentries/hash(EntryID(dir1))/EntryID(dir1)/)下找到file1目录项。
从元数据目录对应的目录项文件中获取该数据文件的条带信息、存储节点列表和唯一标识。根据唯一标识生成数据文件的存储路径,具体的,提取唯一标识中的时间戳,根据时间戳生成数据文件的存储路径,即为YM(EntryID(dir1))/Day(EntryID(dir1))/EntryID(dir1)/EntryID(file1)。根据数据文件的存储路径在存储节点列表对应的存储节点上读写数据文件。
在本发明的另一个实施例中,当文件为数据文件时,如图6所示,给出了删除该数据文件的流程:
第一,在root元数据节点的dentries下找到dir1的目录项。
第二,从root的目录dir1获取到dir1的元数据节点和EntryID。
第三,到dir1元数据节点上找到dir1的dentries目录下找到file1目录项。
第四,从file1目录项中获取文件的数据节点列表、条带信息和EntryID。。
第五,在指定数据的节点上写入文件,文件路径为:
YM(EntryID(dir1))/Day(EntryID(dir1))/EntryID(dir1)/EntryID(file1)。
第六,删除数据节点上的文件。
第七,删除父目录的dentries中的file目录项。
在本发明的另一个实施例中,当文件为目录文件时,如图7所示,给出了删除该目录文件的流程:
步骤1.在父目录root元数据节点的dentries下找到dir的目录项。
步骤2.从父目录root的目录dir获取到dir的元数据节点和EntryID。
步骤3.到dir元数据节点上找到dir dentries目录所有目录项。
步骤4.删除目录项。
如果目录项是目录,返回步骤1继续执行。
如果目录项为文件继续执行步骤5.
步骤5.从file目录项中获取文件的数据节点列表、条带信息和EntryID。
步骤6.在指定数据的节点上写入文件,文件路径为
YM(EntryID(Pdir))/Day(EntryID(Pdir))/EntryID(Pdir)/EntryID(file).
步骤7.删除数据节点上的文件。
步骤8.删除父目录的dentries中的file目录项。
步骤9.目录的目录项目录dentries/hash(PEntryID)/PEntryID/。
步骤10.如果目录为空,删除目录的元数据文件inode/hash(PEntryID)/PEntryID/DirEntryID。
通过以上的操作实施例可以看出,元数据访问寻址只需要父目录元数据信息,经过一次计算父目录EntryID的hash值,即可获取到文件的目录项文件。数据分布管理策略中,通过父目录创建时间戳的年月日来分散目录,文件深度只有4级,大大提升了文件访问效率。
本发明的分布式文件系统管理方法中,多节点统一命名空间文件系统,文件系统的入口为root目录。天然支持并行读写,因为文件分布在不同的节点,所以会在可以同时读写不同节点的文件,从而支持并行读写。
本发明的再一实施例,提供了一种分布式文件系统的文件管理装置,包括:
获取模块,用于获取文件创建时刻的文件序号、时间戳以及文件的存储节点序号;其中,文件序号为该文件创建时刻在分布式文件系统中所有创建的文件中的排序号码。
组成模块,用于将文件序号、时间戳以及文件的存储节点序号串联,组成文件在分布式文件系统中的唯一标识。
生成模块,用于根据文件的唯一标识生成文件的存储路径。
操作模块,用于根据文件的存储路径进行文件的创建、读写和删除操作。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本发明的再一种技术方案:一种分布式文件系统的文件管理设备,包括存储器、处理器以及存储在存储器中并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述的分布式文件系统的文件管理方法。
所称处理器可以是中央处理单元(Central Processing Unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所称存储器在一些实施例中可以是设备的内部存储单元,例如设备的硬盘或内存。所述存储器在另一些实施例中也可以是设备的外部存储设备,例如设备上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器还可以既包括设备的内部存储单元也包括外部存储设备。存储器用于存储操作系统、应用程序、引导装载程序(BootLoader)、数据以及其他程序等,例如所述计算机程序的程序代码等。存储器还可以用于暂时地存储已经输出或者将要输出的数据。
本发明的再一种技术方案:一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时实现上述的分布式文件系统的文件管理方法。
本发明实施例还提供了一种计算机程序产品,当计算机程序产品在分布式文件系统的装置上运行时,使得分布式文件系统的装置执行时可实现上述方法实施例中的步骤。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,计算机程序可存储于计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,计算机程序包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机可读介质至少可以包括:能够将计算机程序代码携带到终端设备的任何实体或装置、记录介质、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质。例如U盘、移动硬盘、磁碟或者光盘等。在某些司法管辖区,根据立法和专利实践,计算机可读介质不可以是电载波信号和电信信号。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的模块及步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本发明所提供的实施例中,应该理解到,所揭露的装置/设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/设备实施例仅仅是示意性的,例如,模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
作为分离部件说明的模块可以是或者也可以不是物理上分开的,模块可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
Claims (10)
1.一种分布式文件系统的文件管理方法,其特征在于,包括:
获取文件创建时刻的文件序号、时间戳以及所述文件的存储节点序号;其中,所述文件序号为该文件创建时刻在分布式文件系统中所有创建的文件中的排序号码;
将所述文件序号、时间戳以及所述文件的存储节点序号串联,组成所述文件在分布式文件系统中的唯一标识;
根据所述文件的唯一标识生成所述文件的存储路径;
根据所述文件的存储路径进行文件的创建、读写和删除操作。
2.如权利要求1所述的一种分布式文件系统的文件管理方法,其特征在于,根据所述文件的唯一标识生成所述文件的存储路径包括:
当所述文件为元数据文件时,以所述唯一标识为输入信息,利用哈希算法生成元数据文件的存储路径。
3.如权利要求2所述的一种分布式文件系统的文件管理方法,其特征在于,当所述文件为元数据目录时,创建该元数据目录包括:
获取该元数据目录的父目录的所有目录项;
检索所述父目录的所有目录项中是否存在该元数据目录:
响应于所述父目录的所有目录项中存在该元数据目录,结束该元数据目录的创建;
响应于所述父目录的所有目录项中不存在该元数据目录,创建该元数据目录文件,获取对应的时间戳、该元数据的文件序号以及存储节点序号,并组合成该元数据目录的唯一标识;
根据该元数据目录的唯一标识生成其在所述存储节点序号对应的存储节点上的存储路径,并在所述存储路径的指向位置创建以该元数据目录唯一标识命名的元数据目录文件。
4.如权利要求2或3所述的一种分布式文件系统的文件管理方法,其特征在于,获取存储节点序号包括:
获取所有文件存储节点的空闲空间信息;
选择空闲空间最大的文件存储节点,提取该文件存储节点的序号。
5.如权利要求2所述的一种分布式文件系统的文件管理方法,其特征在于,当所述文件为元数据目录项文件时,创建该元数据目录项文件包括:
获取所述元数据目录项文件的父目录的元数据目录;
读取所述元数据目录的唯一标识以及其存储节点序号;
根据所述唯一标识生成所述元数据目录在对应的存储节点上的存储路径;
根据所述元数据目录的存储节点序号以及其在对应的存储节点上的存储路径的指向位置创建元数据目录项文件;
在所述元数据目录上创建元数据目录项;其中,所述元数据目录项包括所述元数据目录项文件的存储路径、元数据目录项文件的存储节点列表、条带信息和元数据目录项文件的唯一标识。
6.如权利要求2所述的一种分布式文件系统的文件管理方法,其特征在于,当所述文件为数据文件时,读写该数据文件包括:
获取读写该数据文件时的输入信息;
根据所述输入信息查找对应的元数据目录项;
根据所述元数据目录项获取该数据文件的条带信息、存储节点列表和唯一标识;
根据所述唯一标识生成所述数据文件的存储路径;
根据所述数据文件的存储路径在所述存储节点列表对应的存储节点上读写所述数据文件。
7.如权利要求5所述的一种分布式文件系统的文件管理方法,其特征在于,根据所述唯一标识生成所述数据文件的存储路径包括:
提取所述唯一标识中的时间戳,根据所述时间戳生成数据文件的存储路径。
8.一种分布式文件系统的文件管理装置,其特征在于,包括:
获取模块,用于获取文件创建时刻的文件序号、时间戳以及所述文件的存储节点序号;其中,所述文件序号为该文件创建时刻在分布式文件系统中所有创建的文件中的排序号码;
组成模块,用于将所述文件序号、时间戳以及所述文件的存储节点序号串联,组成所述文件在分布式文件系统中的唯一标识;
生成模块,用于根据所述文件的唯一标识生成所述文件的存储路径;
操作模块,用于根据所述文件的存储路径进行文件的创建、读写和删除操作。
9.一种分布式文件系统的文件管理设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1-7任一项所述的分布式文件系统的文件管理方法。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-7任一项所述的分布式文件系统的文件管理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010087305.6A CN111309677B (zh) | 2020-02-11 | 2020-02-11 | 一种分布式文件系统的文件管理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010087305.6A CN111309677B (zh) | 2020-02-11 | 2020-02-11 | 一种分布式文件系统的文件管理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111309677A true CN111309677A (zh) | 2020-06-19 |
CN111309677B CN111309677B (zh) | 2023-05-23 |
Family
ID=71160076
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010087305.6A Active CN111309677B (zh) | 2020-02-11 | 2020-02-11 | 一种分布式文件系统的文件管理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111309677B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113239039A (zh) * | 2021-05-11 | 2021-08-10 | 北京理工新源信息科技有限公司 | 动态数据的存储方法、查询方法、管理方法及管理系统 |
CN114647559A (zh) * | 2022-03-21 | 2022-06-21 | 北京百度网讯科技有限公司 | 一种存储使用量的统计方法、装置、电子设备及存储介质 |
CN115391284A (zh) * | 2022-10-31 | 2022-11-25 | 四川大学华西医院 | 基因数据文件快速识别方法、系统和计算机可读存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070094269A1 (en) * | 2005-10-21 | 2007-04-26 | Mikesell Paul A | Systems and methods for distributed system scanning |
CN106874383A (zh) * | 2017-01-10 | 2017-06-20 | 清华大学 | 一种分布式文件系统元数据的解耦合分布方法 |
US20170220598A1 (en) * | 2016-01-29 | 2017-08-03 | Vmware, Inc. | Fine-Grained Metadata Management in a Distributed File System |
-
2020
- 2020-02-11 CN CN202010087305.6A patent/CN111309677B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070094269A1 (en) * | 2005-10-21 | 2007-04-26 | Mikesell Paul A | Systems and methods for distributed system scanning |
US20170220598A1 (en) * | 2016-01-29 | 2017-08-03 | Vmware, Inc. | Fine-Grained Metadata Management in a Distributed File System |
CN106874383A (zh) * | 2017-01-10 | 2017-06-20 | 清华大学 | 一种分布式文件系统元数据的解耦合分布方法 |
Non-Patent Citations (1)
Title |
---|
杨洪章;张军伟;齐颖;吴雪丽;: "分布式文件系统中海量小文件异步创建技术" * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113239039A (zh) * | 2021-05-11 | 2021-08-10 | 北京理工新源信息科技有限公司 | 动态数据的存储方法、查询方法、管理方法及管理系统 |
CN113239039B (zh) * | 2021-05-11 | 2023-11-14 | 北京理工新源信息科技有限公司 | 动态数据的存储方法、查询方法、管理方法及管理系统 |
CN114647559A (zh) * | 2022-03-21 | 2022-06-21 | 北京百度网讯科技有限公司 | 一种存储使用量的统计方法、装置、电子设备及存储介质 |
CN115391284A (zh) * | 2022-10-31 | 2022-11-25 | 四川大学华西医院 | 基因数据文件快速识别方法、系统和计算机可读存储介质 |
CN115391284B (zh) * | 2022-10-31 | 2023-02-03 | 四川大学华西医院 | 基因数据文件快速识别方法、系统和计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111309677B (zh) | 2023-05-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9965483B2 (en) | File system | |
Fairbanks | An analysis of Ext4 for digital forensics | |
US7401089B2 (en) | Storage reports file system scanner | |
EP3103025B1 (en) | Content based organization of file systems | |
EP2433226B1 (en) | File system | |
CN111309677B (zh) | 一种分布式文件系统的文件管理方法及装置 | |
CN113986873B (zh) | 一种海量物联网数据模型化的处理、存储与共享方法 | |
CN110569147B (zh) | 一种基于索引的删除文件恢复方法、终端设备及存储介质 | |
CN111045857A (zh) | 数据备份和恢复的方法、电子设备和计算机可读存储介质 | |
US7333992B2 (en) | System and method for identifying and storing changes made to a table | |
CN111090385A (zh) | 一种基于区块链的数据管理方法及装置 | |
WO2021129151A1 (zh) | 文件备份方法、装置及终端设备 | |
CN109388659B (zh) | 数据存储方法、装置和计算机可读存储介质 | |
CN111125298A (zh) | 重建ntfs文件目录树的方法、设备及存储介质 | |
CN112416880A (zh) | 一种基于实时归并的海量小文件存储性能优化方法及装置 | |
WO2024188134A1 (zh) | 主机文件检测方法、电子设备及存储介质 | |
US12093316B2 (en) | Partial file system instances | |
US20150186060A1 (en) | Selective disk volume cloning for virtual disk creation | |
CN111176901B (zh) | 一种hdfs删除文件恢复方法、终端设备及存储介质 | |
CN112380174B (zh) | 含删除文件的xfs文件系统解析方法、终端设备及存储介质 | |
CN117493282A (zh) | 一种基于文件系统的元数据管理方法及其相关设备 | |
US20130218851A1 (en) | Storage system, data management device, method and program | |
EP3136264A1 (en) | Systems and methods for organizing data | |
CN113448929A (zh) | 数据存储方法及装置、设备、存储介质 | |
Naiqi et al. | Computer forensics research and implementation based on NTFS file system |
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 |