CN113190505A - 一种元数据管理方法、文件存储系统及服务器 - Google Patents
一种元数据管理方法、文件存储系统及服务器 Download PDFInfo
- Publication number
- CN113190505A CN113190505A CN202110406957.6A CN202110406957A CN113190505A CN 113190505 A CN113190505 A CN 113190505A CN 202110406957 A CN202110406957 A CN 202110406957A CN 113190505 A CN113190505 A CN 113190505A
- Authority
- CN
- China
- Prior art keywords
- file
- directory
- information
- index
- description information
- 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
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
Abstract
本发明公开了一种元数据管理方法、文件存储系统及服务器,其中,所述方法包括:针对文件系统中的文件,利用索引描述信息管理所述文件的元数据;针对所述文件系统中的目录,利用索引描述信息和块描述信息管理所述目录的元数据;其中,在目录的索引描述信息中包含所述目录的块标识,所述块标识指向所述目录的块描述信息,所述块描述信息中包括信息记录表,所述信息记录表用于记录所述目录下文件名和对应的索引标识之间的映射关系。本申请提供的技术方案,能够提高系统整体的稳定性。
Description
技术领域
本发明涉及互联网技术领域,特别涉及一种元数据管理方法、文件存储系统及服务器。
背景技术
在当前的文件系统中,可以利用元数据来表征文件和目录的属性、路径、权限等信息。在现有技术中,可以通过索引节点(inode)数据结构来描述目录和文件,在inode数据结构中,可以包括全局唯一的索引标识、文件名称(目录可以视为一种特殊的文件)、上一级目录名称、链接信息等。
基于现有的文件系统,当需要针对文件创建链接信息时,通常需要为该链接信息生成对应的inode数据结构。但这种方式可能会导致多个链接信息的指向不明确的问题,从而无法保证文件系统在进行数据存储时的稳定性。
发明内容
本申请的目的在于提供一种元数据管理方法、文件存储系统及服务器,能够提高文件系统的稳定性。
为实现上述目的,本申请一方面提供一种元数据管理方法,所述方法包括:针对文件系统中的文件,利用索引描述信息管理所述文件的元数据;针对所述文件系统中的目录,利用索引描述信息和块描述信息管理所述目录的元数据;其中,在目录的索引描述信息中包含所述目录的块标识,所述块标识指向所述目录的块描述信息,所述块描述信息中包括信息记录表,所述信息记录表用于记录所述目录下文件名和对应的索引标识之间的映射关系。
在一个实施方式中,所述方法还包括:
在针对目标文件创建链接信息时,确定所述链接信息所处的目标目录,并在所述目标目录的块描述信息中添加所述链接信息;
在创建所述链接信息后,在所述目标文件的索引描述信息以及所述目标目录的索引描述信息中,更新与所述目标文件相关联的链接信息数量。
在一个实施方式中,所述链接信息中包括文件名和索引标识,其中,所述文件名为所述链接信息的名称,所述索引标识为所述目标文件的索引标识。
在一个实施方式中,所述方法还包括:
在接收到删除所述目标文件的删除指令时,查询所述目标文件的索引描述信息,并识别所述索引描述信息中记录的链接信息数量;
若所述链接信息数量不为零,保留所述目标文件的索引标识;
识别所述目标文件所处的归属目录,并在所述归属目录的块描述信息中,将所述目标文件的文件信息删除。
在一个实施方式中,所述方法还包括:
在针对所述链接信息再次创建链接信息时,确定再次创建的链接信息所处的目录,并在所述目录的块描述信息中添加所述再次创建的链接信息;所述链接信息中包括文件名和索引标识,其中,所述文件名为所述再次创建的链接信息的名称,所述索引标识为所述目标文件的索引标识;
再次创建所述链接信息后,在与所述目标文件的索引标识相关的索引描述信息中,更新所述目标文件的索引标识相关联的链接信息数量。
在一个实施方式中,在文件系统初始化时,为根目录分配索引标识和块标识;
若在所述根目录下创建新目录,基于所述根目录的索引标识,查询所述根目录的索引描述信息;
在所述索引描述信息中识别所述根目录的块标识,并查询所述快标识对应的块描述信息;
在所述块描述信息中记录所述新目录的目录信息,所述目录信息中包括所述新目录的名称和为所述新目录分配的索引标识。
在一个实施方式中,所述方法还包括:
为所述新目录创建索引描述信息和块描述信息,在所述索引描述信息中记录所述新目录的块标识,以通过所述块标识查询到所述新目录的块描述信息。
在一个实施方式中,所述方法还包括:
若在所述新目录下创建新文件,为所述新文件创建索引描述信息,并为所述新文件分配索引标识;
在所述新目录的块描述信息中,记录所述新文件的文件信息,所述文件信息中包括文件名和索引标识,其中,所述文件名为所述新文件的名称,所述索引标识为所述新文件的索引标识。
在一个实施方式中,所述方法还包括:
若将所述新文件从所述新目录移动至所述根目录下,在所述根目录的块描述信息中增加所述新文件的文件信息,并将所述新文件的文件信息从所述新目录的块描述信息中删除。
为实现上述目的,本申请另一方面还提供文件存储系统,所述系统包括:第一管理单元,用于针对文件系统中的文件,利用索引描述信息管理所述文件的元数据;第二管理单元,用于针对所述文件系统中的目录,利用索引描述信息和块描述信息管理所述目录的元数据;其中,在目录的索引描述信息中包含所述目录的块标识,所述块标识指向所述目录的块描述信息,所述块描述信息中包括信息记录表,所述信息记录表用于记录所述目录下文件名和对应的索引标识之间的映射关系。
为实现上述目的,本申请另一方面还提供一种服务器,所述服务器包括存储器和处理器,所述存储器用于存储计算机程序,所述计算机程序被所述处理器执行时,实现上述的元数据管理方法。
由上可见,本申请将目录和文件进行区分,为目录额外创建对应的块描述信息。在针对目标文件创建链接信息时,可以不为链接信息创建对应的索引描述信息,从而避免了为链接信息分配索引标识,而是将链接信息与目标文件的索引标识建立映射关系。在创建了链接信息后,可以在该链接信息所处的目标目录中,记录该链接信息,并且可以在与目标文件的索引标识相关联的各个索引描述信息中,同步更新关联的链接信息数量。这样,后续在删除目标文件时,可以根据当前的链接信息数量,判断是否需要保留目标文件的索引标识,从而保证就算将目标文件删除了,链接信息的使用也不会受到影响,从而提高了整个文件系统的稳定性。
附图说明
为了更清楚地说明本发明实施方式中的技术方案,下面将对实施方式描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施方式中元数据管理方法的步骤示意图;
图2是本发明实施方式中文件存储系统的功能模块示意图;
图3是本发明实施方式中服务器的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施方式及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施方式仅是本申请一部分实施方式,而不是全部的实施方式。基于本申请中的实施方式,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施方式,都属于本申请保护的范围。
在现有技术中,目录可以视为一种特殊的文件,目录和文件的元数据都可以通过inode数据结构来描述。在实际应用中,inode数据结构可以包括以下多方面的内容:
1.全局唯一的id
2.文件名name(如果是目录则是目录名)
3.上一级目录parent_dir
4.硬链接hardlink
5.软连接softlink
如果在文件系统中针对原文件创建硬链接,那么通常需要经过以下的多个操作步骤来生成该硬链接的元数据:
1)为硬链接建立上述的inode数据结构
2)文件名name字段填写对应的硬链接的名字
3)parent_dir记录该硬链接所在的目录
4)在数据结构中,hardlink字段用来记录原文件的全局唯一的id
使用这种方法确实能够建立一个硬链接的元数据,在需要读写原文件时,可以通过hardlink记录的原文件的全局唯一的id找到原文件,并对原文件进行读写。但是,实际的场景往往非常复杂,例如,针对原文件A建立了一个硬链接B,而后针对硬链接B又建了一个硬链接C。按照硬链接本身的机制来说,A、B、C只是看上去不是一个文件而已,本质上是对应同一个原文件,但是在使用现有技术时,都是通过hardlink中的原文件的全局唯一的id来访问原文件,这就导致现有技术下硬链接是一个独立的文件,其行为更像是软链接。
举例来说,如果当前删掉硬链接B,此时文件A和硬链接C是不受影响的,还是可以正常读写。如果删除掉文件A,硬链接B和C同样不受影响,可以正常读写。但是在现有技术下,硬链接B的hardlink必然指向A,而硬链接C是针对硬链接B生成的,那么C的hardlink应当指向A还是B,现有技术中并没有给出明确的规则。如果是指向B,那么一旦B删除了,C就和A没有关系了;而如果指向A,那么A删除后,B和C也没有关系了,这两种情况下都违背了硬链接的基本原理了。
由上可见,现有技术中通过创建inode数据结构的方式来管理硬链接的元数据,会导致硬链接的表现形式可能会更像软链接,并且在某些场景下,hardlink指向不明确,会违背硬链接的基本原理的情况发生。
鉴于此,为了解决上述的问题,在本申请中可以将元数据的数据结构划分为block数据结构(块数据结构)和inode数据结构(索引节点数据结构)这两种数据结构。其中,对于文件系统中的目录和文件而言,元数据都可以通过inode数据结构进行管理,但是对于目录而言,元数据还需要进一步地通过block数据结构进行管理。
在本申请中,inode数据结构与现有技术中也存在部分区别,其中包含的内容可以如下所示:
1.全局唯一的inode_id
2.基本的属性,比如更新时间、访问时间、修改时间,权限等等
3.block_id(如果该inode数据结构是用来管理一个目录的元数据,则目录的一些信息通过该block_id指向的block数据结构来记录)
4.softlink,用来描述软链接
5.hardlink_ref,硬链接计数,用来表明上述的inode_id当前具备多少个硬链接
由上可见,与现有技术中不同的是,针对目录而言,本申请中的inode数据结构中,可以记录该目录对应的block_id,通过该block_id可以查询到对应的block数据结构,从而获取到目录的更加详细的部分元数据。此外,在inode数据结构中,并不会记录硬链接,而是记录硬链接的数量。
在本申请中,block数据结构中包含的内容可以如下所示:
1.全局唯一的block_id
2.size,用来描述当前目录下文件和目录的数量
3.一个键值对(key-value)形式的信息记录表,该信息记录表用来描述当前目录下的文件名(或者目录名)与对应的inode_id之间的映射关系。
在本申请中,通过inode数据结构描述的元数据可以称为索引描述信息,通过block数据结构描述的元数据可以称为块描述信息,上述的inode_id可以作为索引标识,上述的block_id可以作为块标识。
由上可见,在本申请的数据结构下,一个目录可以通过索引描述信息和块描述信息来共同描述,该目录可以具备索引标识和块标识,而一个文件通常只需要通过索引描述信息就可以描述,并且该文件只具备索引标识。
本申请通过将目录和文件的元数据相互区分,在针对原文件创建链接信息时,可以不需要像现有技术那样为链接信息创建一个inode数据结构,从而可以规避现有技术中出现的种种问题。具体地,请参阅图1,本申请可以通过图1所示的多个步骤,来对文件系统中的元数据进行管理。其中,下文的链接信息在具体应用时,可以指硬链接或者是与硬链接具备相同或者相似功能的链接。
S1:为文件和目录创建索引描述信息,并为目录创建块描述信息。
在本实施方式中,可以按照前述的方式,为文件系统中的文件和目录创建对应的索引描述信息,并且针对目录而言,可以创建对应的块描述信息。
举例来说,当前需要在文件系统中创建目录/home,并在该目录/home下创建文件1.txt(即在文件系统中创建文件/home/1.txt)。在文件系统初始化时,会为根目录创建索引描述信息,并为根目录设置固定的索引标识,例如该索引标识为0。文件系统在初始化时,可以假设其中没有任何内容,那么文件系统就只有这一个索引标识0。然后由于根目录是一个目录,需要创建对应的块描述信息,并为其分配全局唯一的一个块标识,例如,该块标识也可以是0(块标识和索引标识相互独立,尽管两者都是0,但在各自的范围内,依然能够保持全局唯一性)。此时由于根目录下没有任何内容,所以块描述信息里面的size为0,说明根目录下没有内容,其中的key-value信息记录表也是空的。
然后,文件系统开始创建/home。文件系统接收到创建/home的命令,此时会先从根目录开始,根目录的索引标识为0,根据索引标识可以查询到根目录的索引描述信息,进而根据索引描述信息里记录的块标识,查询到对应的块描述信息。通过解析块描述信息中的信息记录表,可以发现当前根目录下没有名为home的目录,因此可以直接创建名为home的目录。在创建目录/home时,同样需要为该目录生成对应的索引描述信息和块描述信息,并且需要设置全局唯一的索引标识和块标识。例如,目录/home的索引标识和块标识都可以是1。如果创建/home时,用户有提供该目录的访问权限等信息,那么文件系统会将这些信息填写到/home的索引描述信息中,同时/home的创建时间也会写到索引描述信息中。在创建了目录/home后,需要将根目录的块描述信息中的size设置为1,表明根目录下已经有了一个目录,并在根目录的信息记录表中,记录目录名称home与对应的索引标识1的映射关系。
接下来,可以按照类似的方式,在/home下创建文件1.txt。根据索引标识0可以找到根目录的索引描述信息,然后根据其中的块标识0找到根目录的块描述信息。通过根目录的块描述信息中的信息记录表,可以查询到home与索引标识1的映射关系,然后通过索引标识1陆续找到/home的索引描述信息以及对应的块描述信息。/home的块描述信息中的信息记录表显示,/home中没有名为1的txt类型的文件,所以1.txt可以在/home中创建。由于1.txt是一个文件,因此在创建时只需要申请一个全局唯一的索引标识(例如是2),而不需要申请块标识,然后可以针对该1.txt的文件创建对应的索引描述信息。同时需要在/home的块描述信息中将size设置为1,并在key-value信息记录表中记录1.txt与索引标识2的映射关系。
通过上述的方式可见,在文件系统初始化时,可以为根目录分配索引标识和块标识。若在所述根目录下创建新目录,可以基于所述根目录的索引标识,查询所述根目录的索引描述信息。然后,可以在所述索引描述信息中识别所述根目录的块标识,并查询所述快标识对应的块描述信息。最终,可以在所述块描述信息中记录所述新目录的目录信息,所述目录信息中包括所述新目录的名称和为所述新目录分配的索引标识。此外,还可以为所述新目录创建索引描述信息和块描述信息,在所述索引描述信息中记录所述新目录的块标识,以通过所述块标识查询到所述新目录的块描述信息。
而如果需要在所述新目录下创建新文件,可以为所述新文件创建索引描述信息,并为所述新文件分配索引标识。然后,可以在所述新目录的块描述信息中,记录所述新文件的文件信息,所述文件信息中包括文件名和索引标识,其中,所述文件名为所述新文件的名称,所述索引标识为所述新文件的索引标识。
S2:在针对目标文件创建链接信息时,确定所述链接信息所处的目标目录,并在所述目标目录的块描述信息中添加所述链接信息。
在本实施方式中,在针对目标文件创建链接信息时,不再需要像现有技术那样为链接信息生成对应的索引描述信息,而是找到该链接信息所处的目标目录,然后在该目标目录的块描述信息中添加链接信息即可。具体地,文件系统在接收到创建链接信息的指令后,可以识别该链接信息所对应的目标文件,并且可以识别该链接信息的创建路径。然后通过解析该创建路径,可以确定链接信息所处的目标目录。在该目标目录的块描述信息内的key-value信息记录表中,可以记录该链接信息的连接信息。其中,链接信息中可以包括文件名和索引标识,其中,文件名可以是链接信息的名称,而索引标识为该链接信息对应的目标文件的索引标识。这样,在目标目录的信息记录表中,可以建立链接信息的文件名和目标文件的索引标识之间的映射关系。
举例来说,当前需要针对目标文件/tmp/a.c创建链接信息/tmp/A/A.c,其中,目标文件的索引标识是100,那么对于链接信息/tmp/A/A.c来说,不需要创建对应的索引描述信息,而是可以在目标目录/tmp/A的块描述信息的key-value信息记录表里面添加A.c:100这样的映射关系。这样,在访问/tmp/A目录下的文件时,会查询到名称为A.c的链接信息,并且可以知晓该链接信息对应的是索引标识为100的目标文件。后续,通过索引标识100,就可以找到/tmp/a.c这个目标文件的索引描述信息了,从而可以对目标文件进行读写。此时如果针对链接信息/tmp/A/A.c再次创建链接信息/tmp/B/B.c,那么会在目录/tmp/B的块描述信息内的key-value信息记录表中添加B.c:100的映射关系,这里B.c也是与索引标识100建立映射关系,原因在于B.c是基于A.c创建的,而A.c映射的索引标识就是100。
可见,在针对链接信息再次创建链接信息时,可以确定再次创建的链接信息所处的目录,并在所述目录的块描述信息中添加所述再次创建的链接信息。该链接信息中同样可以包括文件名和索引标识,其中,文件名为所述再次创建的链接信息的名称,而索引标识依然为所述目标文件的索引标识。
S3:在创建所述链接信息后,在所述目标文件的索引描述信息以及所述目标目录的索引描述信息中,更新与所述目标文件相关联的链接信息数量。
在本实施方式中,在针对目标文件创建了链接信息之后,需要同步更新索引描述信息中的链接信息计数hardlink_ref。具体地,可以在所述目标文件的索引描述信息以及所述目标目录的索引描述信息中,更新与所述目标文件相关联的链接信息数量。举例来说,在针对目标文件/tmp/a.c创建链接信息/tmp/A/A.c之后,需要在目标文件/tmp/a.c的索引描述信息,以及目标目录/tmp/A的索引描述信息中,将hardlink_ref更新为1。而如果针对链接信息/tmp/A/A.c再次创建链接信息/tmp/B/B.c之后,则需要在/tmp/a.c、/tmp/A以及/tmp/B的索引信息中,将hardlink_ref更新为2,以此类推。也就是说,再次创建链接信息后,需要在与所述目标文件的索引标识相关的各个索引描述信息中,均更新所述目标文件的索引标识相关联的链接信息数量。
在一个实施方式中,如果需要删除目标文件/tmp/a.c,此时会发现/tmp/a.c关联的索引标识下,存在两个链接信息(即hardlink_ref为2),在这种情况下,实际上不会删除/tmp/a.c的索引标识,但是会在/tmp/对应的块描述信息中的key-value信息记录表中将a.c的文件信息删除,这样在/tmp目录下就查询不到文件a.c,但是a.c的索引标识还是存在的,因此不会影响/tmp/A/A.c和/tmp/B/B.c的使用。
也就是说,在接收到删除所述目标文件的删除指令时,可以查询所述目标文件的索引描述信息,并识别所述索引描述信息中记录的链接信息数量。若所述链接信息数量不为零,则保留所述目标文件的索引标识。然后,可以识别所述目标文件所处的归属目录,并在所述归属目录的块描述信息中,将所述目标文件的文件信息删除,从而完成文件删除的指令。
在一个实施方式中,如果需要将新文件1.txt从新目录/home移动至根目录下(即将/home/1.txt变更为/1.txt),就需要在根目录的块描述信息中增加该新文件1.txt的文件信息,并将该新文件1.txt的文件信息从新目录/home的块描述信息中删除。也就是说,需要在根目录的块描述信息的key-value信息记录表中,添加1.txt的文件信息,此外还需要在/home的块描述信息的信息记录表中,将1.txt的文件信息删除。
由上可见,本申请将目录和文件进行区分,为目录额外创建对应的块描述信息。在针对目标文件创建链接信息时,可以不为链接信息创建对应的索引描述信息,从而避免了为链接信息分配索引标识,而是将链接信息与目标文件的索引标识建立映射关系。在创建了链接信息后,可以在该链接信息所处的目标目录中,记录该链接信息,并且可以在与目标文件的索引标识相关联的各个索引描述信息中,同步更新关联的链接信息数量。这样,后续在删除目标文件时,可以根据当前的链接信息数量,判断是否需要保留目标文件的索引标识,从而保证就算将目标文件删除了,链接信息的使用也不会受到影响,从而提高了整个文件系统的稳定性。
请参阅图2,本申请还提供一种文件存储系统,所述系统包括:
初始化单元,用于为文件和目录创建索引描述信息,并为目录创建块描述信息;
链接信息添加单元,用于在针对目标文件创建链接信息时,确定所述链接信息所处的目标目录,并在所述目标目录的块描述信息中添加所述链接信息;
更新单元,用于在创建所述链接信息后,在所述目标文件的索引描述信息以及所述目标目录的索引描述信息中,更新与所述目标文件相关联的链接信息数量。
请参阅图3,本申请还提供一种服务器,所述服务器包括存储器和处理器,所述存储器用于存储计算机程序,所述计算机程序被所述处理器执行时,实现上述的元数据管理方法。
在本申请中,所述存储器可以包括用于存储信息的物理装置,通常是将信息数字化后再以利用电、磁或者光学等方法的媒体加以存储。所述存储器又可以包括:利用电能方式存储信息的装置,如RAM或ROM等;利用磁能方式存储信息的装置,如硬盘、软盘、磁带、磁芯存储器、磁泡存储器或U盘;利用光学方式存储信息的装置,如CD或DVD。当然,还有其他方式的存储器,例如量子存储器或石墨烯存储器等等。
在本申请中,所述处理器可以按任何适当的方式实现。例如,所述处理器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application SpecificIntegrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式等等。
本说明书中的各个实施方式均采用递进的方式描述,各个实施方式之间相同相似的部分互相参见即可,每个实施方式重点说明的都是与其他实施方式的不同之处。尤其,针对系统和中心服务器的实施方式来说,均可以参照前述方法的实施方式的介绍对照解释。
本领域内的技术人员应明白,本发明的实施方式可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施方式、完全软件实施方式、或结合软件和硬件方面的实施方式的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施方式的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上所述仅为本申请的实施方式而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (10)
1.一种元数据管理方法,其特征在于,所述方法包括:
针对文件系统中的文件,利用索引描述信息管理所述文件的元数据;
针对所述文件系统中的目录,利用索引描述信息和块描述信息管理所述目录的元数据;
其中,在目录的索引描述信息中包含所述目录的块标识,所述块标识指向所述目录的块描述信息,所述块描述信息中包括信息记录表,所述信息记录表用于记录所述目录下文件名和对应的索引标识之间的映射关系。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在针对目标文件创建链接信息时,确定所述链接信息所处的目标目录,并在所述目标目录的块描述信息中添加所述链接信息;
在创建所述链接信息后,在所述目标文件的索引描述信息以及所述目标目录的索引描述信息中,更新与所述目标文件相关联的链接信息数量;其中,所述文件名为所述链接信息的名称,所述索引标识为所述目标文件的索引标识。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
在接收到删除所述目标文件的删除指令时,查询所述目标文件的索引描述信息,并识别所述索引描述信息中记录的链接信息数量;
若所述链接信息数量不为零,保留所述目标文件的索引标识;
识别所述目标文件所处的归属目录,并在所述归属目录的块描述信息中,将所述目标文件的文件信息删除。
4.根据权利要求2所述的方法,其特征在于,所述方法还包括:
在针对所述链接信息再次创建链接信息时,确定再次创建的链接信息所处的目录,并在所述目录的块描述信息中添加所述再次创建的链接信息;所述链接信息中包括文件名和索引标识,其中,所述文件名为所述再次创建的链接信息的名称,所述索引标识为所述目标文件的索引标识;
再次创建所述链接信息后,在与所述目标文件的索引标识相关的索引描述信息中,更新所述目标文件的索引标识相关联的链接信息数量。
5.根据权利要求1所述的方法,其特征在于,在文件系统初始化时,为根目录分配索引标识和块标识;
若在所述根目录下创建新目录,基于所述根目录的索引标识,查询所述根目录的索引描述信息;
在所述索引描述信息中识别所述根目录的块标识,并查询所述快标识对应的块描述信息;
在所述块描述信息中记录所述新目录的目录信息,所述目录信息中包括所述新目录的名称和为所述新目录分配的索引标识。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
为所述新目录创建索引描述信息和块描述信息,在所述索引描述信息中记录所述新目录的块标识,以通过所述块标识查询到所述新目录的块描述信息。
7.根据权利要求5所述的方法,其特征在于,所述方法还包括:
若在所述新目录下创建新文件,为所述新文件创建索引描述信息,并为所述新文件分配索引标识;
在所述新目录的块描述信息中,记录所述新文件的文件信息,所述文件信息中包括文件名和索引标识,其中,所述文件名为所述新文件的名称,所述索引标识为所述新文件的索引标识。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
若将所述新文件从所述新目录移动至所述根目录下,在所述根目录的块描述信息中增加所述新文件的文件信息,并将所述新文件的文件信息从所述新目录的块描述信息中删除。
9.一种文件存储系统,其特征在于,所述系统包括:
第一管理单元,用于针对文件系统中的文件,利用索引描述信息管理所述文件的元数据;
第二管理单元,用于针对所述文件系统中的目录,利用索引描述信息和块描述信息管理所述目录的元数据;其中,在目录的索引描述信息中包含所述目录的块标识,所述块标识指向所述目录的块描述信息,所述块描述信息中包括信息记录表,所述信息记录表用于记录所述目录下文件名和对应的索引标识之间的映射关系。
10.一种服务器,其特征在于,所述服务器包括存储器和处理器,所述存储器用于存储计算机程序,所述计算机程序被所述处理器执行时,实现如权利要求1至8中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110406957.6A CN113190505A (zh) | 2021-04-15 | 2021-04-15 | 一种元数据管理方法、文件存储系统及服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110406957.6A CN113190505A (zh) | 2021-04-15 | 2021-04-15 | 一种元数据管理方法、文件存储系统及服务器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113190505A true CN113190505A (zh) | 2021-07-30 |
Family
ID=76977256
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110406957.6A Pending CN113190505A (zh) | 2021-04-15 | 2021-04-15 | 一种元数据管理方法、文件存储系统及服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113190505A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101853275A (zh) * | 2010-05-05 | 2010-10-06 | 北京中星微电子有限公司 | 一种fat文件系统的数据管理方法和系统 |
US20140115017A1 (en) * | 2012-10-19 | 2014-04-24 | Red Hat Israel, Ltd. | Restful service description language |
US9104675B1 (en) * | 2012-05-01 | 2015-08-11 | Emc Corporation | Inode to pathname support with a hard link database |
CN106874383A (zh) * | 2017-01-10 | 2017-06-20 | 清华大学 | 一种分布式文件系统元数据的解耦合分布方法 |
-
2021
- 2021-04-15 CN CN202110406957.6A patent/CN113190505A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101853275A (zh) * | 2010-05-05 | 2010-10-06 | 北京中星微电子有限公司 | 一种fat文件系统的数据管理方法和系统 |
US9104675B1 (en) * | 2012-05-01 | 2015-08-11 | Emc Corporation | Inode to pathname support with a hard link database |
US20140115017A1 (en) * | 2012-10-19 | 2014-04-24 | Red Hat Israel, Ltd. | Restful service description language |
CN106874383A (zh) * | 2017-01-10 | 2017-06-20 | 清华大学 | 一种分布式文件系统元数据的解耦合分布方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11799959B2 (en) | Data processing method, apparatus, and system | |
US7194492B2 (en) | Method and apparatus for efficiently copying distributed data files | |
US10430398B2 (en) | Data storage system having mutable objects incorporating time | |
CN111078653B (zh) | 一种数据存储方法、系统及设备 | |
CN106326239B (zh) | 分布式文件系统及其文件元信息管理方法 | |
CN111008185A (zh) | 一种数据共享方法、系统及设备 | |
EP3076307A1 (en) | Method and device for responding to a request, and distributed file system | |
CN107679420B (zh) | 一种基于分布式文件系统的权限设置方法及系统 | |
CN111090618B (zh) | 一种数据读取方法、系统及设备 | |
JP2016526737A (ja) | Posix互換なファイル・システム、ファイル・リストを生成する方法および記憶デバイス | |
CN110008197B (zh) | 一种数据处理方法、系统及电子设备和存储介质 | |
WO2023005688A1 (zh) | 快照实现方法及装置、电子设备及计算机可读存储介质 | |
CN108572888B (zh) | 磁盘快照创建方法和磁盘快照创建装置 | |
CN111638853A (zh) | 数据存储方法、装置、存储集群、网关设备及主设备 | |
CN104516945A (zh) | 一种基于关系数据库的hdfs元数据存储方法 | |
CN112000971B (zh) | 一种文件权限记录方法、系统及相关装置 | |
US8495112B2 (en) | Distributed file hierarchy management in a clustered redirect-on-write file system | |
CN110895545B (zh) | 共享数据同步方法及装置 | |
CN113190505A (zh) | 一种元数据管理方法、文件存储系统及服务器 | |
CN103246718A (zh) | 文件访问方法、装置和设备 | |
US9430343B1 (en) | Using affinity to mediate bias in a distributed storage system | |
CN113051301A (zh) | 一种对象存储方法、系统及设备 | |
CN111435342A (zh) | 海报的更新方法、更新系统以及管理系统 | |
US10521405B2 (en) | Policy and configuration data for a user directory | |
CN109508324B (zh) | 一种基于对象存储组件的超大文件管理方法及系统 |
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 |