CN106844584B - 元数据结构和基于其的操作方法、定位方法、切分方法 - Google Patents
元数据结构和基于其的操作方法、定位方法、切分方法 Download PDFInfo
- Publication number
- CN106844584B CN106844584B CN201710016283.2A CN201710016283A CN106844584B CN 106844584 B CN106844584 B CN 106844584B CN 201710016283 A CN201710016283 A CN 201710016283A CN 106844584 B CN106844584 B CN 106844584B
- Authority
- CN
- China
- Prior art keywords
- metadata
- file
- directory
- operations
- fields
- 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 69
- 230000011218 segmentation Effects 0.000 title abstract description 8
- 230000008859 change Effects 0.000 claims description 16
- 230000008569 process Effects 0.000 claims description 11
- 230000004048 modification Effects 0.000 claims description 10
- 238000012986 modification Methods 0.000 claims description 10
- 230000002776 aggregation Effects 0.000 claims 2
- 238000004220 aggregation Methods 0.000 claims 2
- 230000004931 aggregating effect Effects 0.000 claims 1
- 238000012217 deletion Methods 0.000 claims 1
- 230000037430 deletion Effects 0.000 claims 1
- 230000008901 benefit Effects 0.000 abstract description 7
- 238000010586 diagram Methods 0.000 description 9
- 238000012545 processing Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 2
- 230000003321 amplification Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000003199 nucleic acid amplification method Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
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/17—Details of further file system functions
- G06F16/172—Caching, prefetching or hoarding of files
-
- 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
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
技术领域
本发明涉及计算机领域,具体涉及一种元数据结构和基于其的操作方法、定位方法、切分方法。
背景技术
分布式文件系统是一种普遍使用的存储系统。具有很多优点,如可扩展性强,维护简单,成本较低等,因此,很适合存储大量的,且增长很快的数据。但是,分布式文件系统也存在一些不足,如延迟较高,对元数据访问的可扩展性差等特点。
分布式文件系统中最为重要的就是关于元数据的管理,一种广泛使用的方法就是将元数据存放在键值存储(Key-Value Store)系统中。这种键值系统能够高效的完成元数据的查询,并且可以保证数据的一致性(Consistency),持久性(Durability)。由于键值系统是目前被广泛应用的系统,所以采用键值系统存储分布式文件系统的元数据是非常适合的。
为了支持高效的元数据访问,在使用键值存储的系统中,需要在键值存储之上构建结构化元数据缓存层,将非结构化的元数据在内存中进行结构化。即对于一次创建或者更改元数据的操作,客户端首先将请求发送到元数据服务器,元数据服务器在接收到请求后,首先将元数据缓存在元数据服务器的结构化元数据缓存层,之后序列化到键值存储系统中,键值存储系统最后将对于元数据的更改持久化到硬盘。而对于一次读取元数据的操作,客户端首先将请求发送到元数据服务器,元数据服务器接收到请求后,如果元数据在结构化缓存中,则直接返回结果,如果不在结构化缓存中,则从键值存储中读取结果,并且反序列化到结构化缓存中。这种方法虽然能够在缓存命中的时候提供快速的数据处理,存在内存空间不能充分利用和序列化反序列化开销较大的问题。其中内存不能充分利用主要体现在结构化缓存和键值数据库中的非结构化缓存在数据的内容上具有一致性,但是却以不同的形态存储了两份内容。序列化和反序列化的开销体现在在缓存不命中的情况下,每一次对于一个文件元数据中一个部分的修改或者读取,都需要对整个文件的元数据进行序列化和反序列化操作,这种方式导致数据的处理比较低下。
发明内容
本发明旨在至少解决上述技术问题之一。
为此,本发明的一个目的在于提出一种元数据结构,实现元数据在内存与外存的统一表示,无需对元数据字段进行序列化和反序列化操作。
为了实现上述目的,本发明的实施例公开了一种元数据结构,包括:目录元数据结构,所述目录元数据包括:目录索引;多个目录元数据,其中,所有目录元数据的数据字段为定长字段;文件元数据结构,所述文件元数据结构包括:文件索引;多个文件元数据,其中,所有文件元数据的数据字段为定长字段。
进一步地,所述目录索引为目录的路径,所述目录元数据包括目录的访问权限标识、目录的用户标识、目录的用户组标识、目录的访问时间和目录的全局唯一标识。
进一步地,所述文件索引包括目录元数据的父目录的全局唯一标识和目录文件名,所述文件元数据包括访问时间、访问模式、用户标识、组标识、修改时间、文件的内容的访问时间、文件的大小、文件块的大小和文件元数据的全局唯一标识。
根据本发明实施例的元数据结构,实现元数据在内存与外存的统一表示,无需对元数据字段进行序列化和反序列化操作。
本发明的另一个目的在于提出一种对上述实施例的元数据结构的操作方法,包括:所述目录元数据结构在存储过程中,使用所述目录的路径作为键,多个目录元数据作为值;所述文件元数据结构在存储过程中,使用目录元数据的父目录的全局唯一标识和目录文件名作为键,使用所述多个文件元数据作为值。
进一步地,还包括:从内存写回外存时将元数据的内存字段直接拼接写入到键值数据库中;在从外存读取元数据到内存时从键值数据库中读出,在内存中直接填入元数据的内存结构表示。
根据本发明实施例的元数据结构的操作方法,实现了无序列化和反序列的高效键值存储。
本发明的另一个目的在于提出一种对上述实施例的元数据结构的定位方法,包括:根据文件元数据结构的大小和块大小确定文件内容存储的具体位置;根据外部输入的偏移量获取文件块的偏移;根据所述文件的全局唯一标识和所述文件块的偏移得到所述文件块在存储集群中的位置。
根据本发明实施例的元数据结构的定位方法,可以通过文件的大小和文件的块大小直接定位文件。
本发明的另一个目的在于提出一种对上述实施例的元数据结构的切分方法,包括:A1:将元数据操作分为访问控制型操作和文件定位型操作;A2:将元数据字段分为访问控制类型的元数据和描述文件空间分布的元数据字段,其中,所述访问控制类型的元数据包括所述访问时间、访问模式、用户标识和组标识,所述描述文件空间分布的元数据字段包括:修改时间、文件的内容的访问时间、文件的大小、文件块的大小和文件元数据的全局唯一标识;A3:将文件系统元数据操作分为需要访问所有的元数据操作、需要改变访问控制类型的操作和需要改变描述文件空间分布的元数据操作,其中,所述需要访问所有的元数据操作包括获取文件元数据操作、删除文件操作和重命名文件操作,所述需要改变访问控制类型的操作包括改变用户组操作、改变用户权限操作、创建文件操作和打开文件操作,所述需要改变描述文件空间分布的元数据操作包括读文件内容操作、写文件内容操作和改变文件大小操作;A4:基于A1-A3的分类,将元数据字段进行聚集,聚集访问控制类型的元数据字段为访问控制元数据块,聚集描述文件空间分布的元数据字段为文件空间描述元数据块。
进一步地,还包括:对所述需要改变访问控制类型的操作和所述需要改变描述文件空间分布的元数据操作时,每次的更改和读取将读取和修改的一种类型的元数据;当处理一个修改类型的元数据操作时,从键值系统中获得需要修改的元数据,替换数据后直接写入键值数据库。
根据本发明实施例的元数据结构的切分方法,对基本的元数据操作进行分类,将其按照所需要修改的元数据字段进行划分,减少的每次元数据操作所访问的字段的长度。
本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
图1是本发明一个实施例的目录元数据的结构图;
图2是本发明一个实施例的与访问控制相关的元数据的结构图;
图3是本发明一个实施例的与文件数据布局相关的元数据结构图;
图4是本发明一个实施例的文件操作与文件元数据的对应关系图;
图5是本发明一个实施例的总体结构图;。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。
参照下面的描述和附图,将清楚本发明的实施例的这些和其他方面。在这些描述和附图中,具体公开了本发明的实施例中的一些特定实施方式,来表示实施本发明的实施例的原理的一些方式,但是应当理解,本发明的实施例的范围不受此限制。相反,本发明的实施例包括落入所附加权利要求书的精神和内涵范围内的所有变化、修改和等同物。
以下结合附图描述本发明。
根据本发明实施例的元数据结构,包括目录元数据结构和文件元数据结构。
其中,目录元数据包括目录索引和多个目录元数据,所有目录元数据的数据字段为定长字段。
图1是本发明一个实施例的目录元数据的结构图。如图1所示,在本发明的一个实施例中,目录索引为目录的路径PATH,目录元数据包括目录的访问权限标识MODE、目录的用户标识UID、目录的用户组标识GID、目录的访问时间CTIME。所列的元数据字段为定长字段,如果增加了其他字段,只要其增加的为定长字段,都在此方法的说明范围之内。目录元数据的存储以PATH为索引项,所有定长的元数据组合为一个新的定长字段,保证了目录元数据为定长数据。在此基础上,最为重要的特征是还具备目录的全局唯一标识DUUID。这是一个能够在全局唯一确定一个目录特征的定长字段。
在图1中,索引字段PATH为不定长的字符串,其长度根据路径的不同而有不同,其范围为1~255个字节,在实际的使用中,根据支持的语言的不同,长度还可以扩展到1024字节。其余的字段为8字节的定长字段,其中DUUID在这里设定为一个8字节字段,理论上而言,其能够支持足够多的目录,但是如果系统对唯一值的分配有更高的要求,则可以扩展到16字节,无论是哪一种扩展,都需要保证了目录元数据为定长数据。在这个实例中,其长度为40个字节。
管理目录元数据的服务器在创建目录的时候,会为每个目录分配一个全局唯一的DUUID,可以通过两种手段管理DUUID,一种是构建一个Bitmap表,每个bit记录一个目录的DUUID是否会被分配。但这种方式在每次分配的时候会带来额外的查询和管理开销,还有一种方法是将DUUID从0开始计数,这种方法的优势是每次从最大的值加1后作为目录的DUUID即可,但是当创建的目录数目大于8个字节所能表示的值的时候,这种方法则不可以使用。但是8个字节所能标识的数量级在当前的系统中是足够用的,所以并不会成为瓶颈。系统一旦为一个目录分配了一个DUUID后,对于这个目录而言,其整个生命周期内,这个DUUID是不变的,相当于这个目录的指纹,当目录被重命名,或者被移动到另外的路径之后,其DUUID是不变的。所以通过DUUID可以在全局唯一确定一个目录。
文件元数据结构包括文件索引和多个文件元数据,文件元数据的数据字段为定长字段。
图2是本发明一个实施例的与访问控制相关的元数据的结构图,图3是本发明一个实施例的与文件数据布局相关的元数据结构图。如图2和图3所示,在本发明的一个实施例中,文件索引包括目录元数据的父目录的全局唯一标识DUUID和目录文件名FNAME,以DUUID+FNAME构成文件的索引项,这是一个有8字节构成的字段和一个不定长的字符串的组合,由于DUUID是全局唯一的目录标识,所以不会存在两个目录共同使用一个目录标识,所以使用DUUID+文件名的方式就能在全局唯一确定一个文件。在传统方法中,确定一个文件的唯一性采用的是PATH+FNAME的方式,这种方式在本专利基于键值存储的模型中,会占用更多的存储空间,而且目录深度的不同也会造成键值长度的不同,而使用DUUID+FNAME的方法可以减少对于路径的存储。在这个实例中,DUUID+FNAME的长度不能超过255字节,在实际中,根据系统的不同,可以扩展这种存储。图1和图2的Value部分都为定长的字段,从而保证了文件元数据为定长的。文件元数据包括访问时间CTIME、访问模式MODE、用户标识UID、组标识GID、修改时间MTIME、文件的内容的访问时间ATIME、文件的大小SIZE、文件块的大小BSIZE和文件元数据的全局唯一标识FUUID。在元数据中,重要的特征是具有FUUID用于在全局能够惟一确定一个文件的标识,且为一个定长的字段。其余的各项字段也皆为定长字段,如果增加了更多的字段,只要为定长字段,都在此说明之内。这些定长字段组合为新的定长的字段,从而保证了文件元数据为定长的。
本发明的实施例还公开了一种元数据结构的操作方法,包括:目录元数据结构在存储过程中,使用目录的路径作为键,多个目录元数据作为值;文件元数据结构在存储过程中,使用目录元数据的父目录的全局唯一标识和目录文件名作为键,使用多个文件元数据作为值。
在本发明的一个实施例中,元数据结构的操作方法还包括:从内存写回外存时将元数据的内存字段直接拼接写入到键值数据库中;在从外存读取元数据到内存时从键值数据库中读出,在内存中直接填入元数据的内存结构表示。
具体地,图1、图2和图3的实例还描述了使用键值存储元数据的方法。在存储过程中,在存储过程中,对于目录的元数据,使用PATH作为键,其余的元数据作为值。对于文件元数据,使用DUUID+FNAME作为键,其余元数据作为值。显而易见的,使用PATH和DUUID+FNAME的机制能够保证文件系统的存储中不会出现相同文件或者目录具有不同的键。从而保证了逻辑上的唯一性。这种设计方法适用于将目录和文件的元数据分布在多个节点上的元数据布局。
这种定长的存储方法可以减少在存储过程中不必要的序列化开销。在元数据访问的实现过程中,使用一个元数据的结构体可以完整的描述图1,图2和图3所表示的Value值。由于是在内存中的结构体,对于任何一个Value,尽管有多个元数据项,但是其在内存的空间是连续的。基于这样的原理,可以直接将内存中的数据写入到键值存储中,在这种情况下,就不需要对数据进行拷贝,或者像很多序列化操作一样,需要提交额外的元数据来保证结构体各个字段的长度。在这种存储方式下,实际存储的Value长度是固定的。以实例为例,其目录元数据的长度为40Bytes,两种文件元数据的长度分别为32Bytes和40Bytes。键值存储在存储过程中通过直接获得指向这些区域的指针,就可以直接将这部分的数据存储到键值数据库中,避免了额外的内存开销。在读出这些数据时,由于存储的数据的长度和顺序是固定的,所以在实现过程中,直接将读出的数据放到定义好的元数据结构中,就可以供上层应用提取和使用。相对于传统的方法,这种方法没有了序列化和反序列化的开销,数据在内存中始终只存在一份,没有拷贝,降低了对于内存的使用,也能够利用键值存储的一致性保证数据的一致性和可用性,简化了数据处理的流程,提高了可靠性。
本发明的实施例还公开了一种元数据结构的定位方法,包括:根据文件元数据结构的大小和块大小确定文件内容存储的具体位置;根据外部输入的偏移量获取文件块的偏移;根据文件的全局唯一标识和文件块的偏移得到文件块在存储集群中的位置。
具体地,图3给出了一种基于在分布式环境下的二元定位元数据方法,对于传统的文件元数据存储而言,需要有一块区域标明各个文件块所在的位置。这一部分的元数据往往占用了较大的空间。由于在分布式系统中,文件块在各个节点是以文件的形式存储,所以对于分布式文件系统而言,只需要标明其文件块所在的节点,同时给文件块一个唯一的标识,使其能够在存储文件块的节点找到这个文件块。本实例提出的这种方法可以在仅仅使用三个字段,供24bytes的空间,就可以唯一确定一个文件的位置,并且能够保证其他元数据操作的高效执行。这种方法在每个文件创建的时候为为每个文件确定一个文件块大小BSIZE,这个大小决定了文件块的最小单位。如果文件本身的大小小于这个单位,则按照一个单位计算。对于文件的写入和读取,POSIX接口会提供写入文件的偏移OFFSET,写入的长度WSIZE这两个参数。对于一次写操作而言,客户端根据OFFSET/BSIZE可以确定写入的起始文件块,通过WSIZE可以计算出需要往后占用的文件块,由此可以确定一个需要写入的文件块的编号组(X1,X2,…,Xn)。这个时候,需要一个全局唯一的标识来在分布式存储中确定这些文件块。此方法使用FUUID这个文件的全局标识和文件块编号确定一个全局唯一的文件块,如对于第i块,其标识为FUUID+Xi。之后通过一种类型的哈希算法,确定这个文件块需要存储的具体节点Ni=HASH(FUUID+Xi)。当需要读取这些文件块的时候,同样通过OFFSET和WSIZE计算出文件块的编号组,使用哈希算法查找到块所在的节点位置,从该节点读出文件块。需要明确的是,由于FUUID+Xi在全局是唯一的,所以在存储文件块的各个节点,依然用FUUID+Xi这个标识来在全局确定一个文件块。
本发明的实施例还公开了一种元数据结构的切分方法,包括:
A1:将元数据操作分为访问控制型操作和文件定位型操作。
A2:将元数据字段分为访问控制类型的元数据和描述文件空间分布的元数据字段。其中,访问控制类型的元数据包括访问时间、访问模式、用户标识和组标识,描述文件空间分布的元数据字段包括:修改时间、文件的内容的访问时间、文件的大小、文件块的大小和文件元数据的全局唯一标识。
A3:将文件系统元数据操作分为需要访问所有的元数据操作、需要改变访问控制类型的操作和需要改变描述文件空间分布的元数据操作。其中,需要访问所有的元数据操作包括获取文件元数据操作、删除文件操作和重命名文件操作,需要改变访问控制类型的操作包括改变用户组操作、改变用户权限操作、创建文件操作和打开文件操作,需要改变描述文件空间分布的元数据操作包括读文件内容操作、写文件内容操作和改变文件大小操作。
A4:基于A1-A3的分类,将元数据字段进行聚集,聚集访问控制类型的元数据字段为访问控制元数据块,聚集描述文件空间分布的元数据字段为文件空间描述元数据块。
在本发明的一个实施例中,元数据结构的切分方法还包括:对需要改变访问控制类型的操作和需要改变描述文件空间分布的元数据操作时,每次的更改和读取将读取和修改的一种类型的元数据;当处理一个修改类型的元数据操作时,从键值系统中获得需要修改的元数据,替换数据后直接写入键值数据库。
具体地,在图4中列出了主要的针对文件元数据操作,并标记出各种操作所管辖的元数据区域。从图3中可以归纳出三类操作,包括第一类操作,其需要访问所有的元数据,包括获取文件元数据操作(getattr),删除文件操作(remove)和重命名文件操作(rename)。第二类操作,其需要改变访问控制类型的操作,包括改变用户组操作(chown),改变用户权限操作(chmod),创建文件操作(create),打开文件操作(open)。第三类操作,其需要改变描述文件空间分布的元数据,包括读文件内容操作(read),写文件内容操作(write),改变文件大小操作(truncate)。
下面就从三种类型中各选出一个代表来描述这种存储方法。在第一类的存储方法中,选择getattr操作,当客户端执行这个操作时,文件元数据服务端接收到这个请求后,根据请求的文件路径,如图2和图3的键值数据库中分别根据请求的文件路径查找出需要读取的字段,返回客户端。在第二类的create方法中,当客户端创建一个文件的时候,文件服务器端产生一个文件元数据的数据结构,根据客户端请求给出的信息,填充MODE、UID和GID字段,根据服务器的时间填充CTIME字段。之后将这个数据写入键值数据库中。需要注意的是,在这个过程中另一个描述元数据分布的键值数据库并未写入任何数据。当客户端向刚才创建文件的写入信息的时候,出现了第三类方法write,当服务器端接受到给出的信息后,服务器端创建一个如图3所示的文件分布的元数据结构,填充各个字段,并为改文件分配一个全局唯一标识。之后将这段内容写入键值数据库。类似的,这三类方法都会根据各自访问的数据情况访问一个或者两个键值数据库。这样做的优势是在使用键值数据库直接存储元数据的时候,长长由于某些元数据操作仅仅修改一部分元数据而导致整个值需要重新修改,写入,造成了写放大。这种方法解决了这样的问题。
图5是本发明一个实施例的总体结构图,本领人员根据以上说明,可以将本发明中的元数据结构和基于其的操作方法、定位方法、切分方法有机的串联组合为一体。
另外,本发明实施例的元数据结构和基于其的操作方法、定位方法、切分方法的其它构成以及作用对于本领域的技术人员而言都是已知的,为了减少冗余,不做赘述。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同限定。
Claims (3)
1.一种元数据结构,其特征在于,包括:
目录元数据结构,所述目录元数据包括:
目录索引;
多个目录元数据,其中,所有目录元数据的数据字段为定长字段;
文件元数据结构,所述文件元数据结构包括:
文件索引;
多个文件元数据,其中,所有文件元数据的数据字段为定长字段;
其中,所述目录索引为目录的路径,所述目录元数据包括目录的访问权限标识、目录的用户标识、目录的用户组标识、目录的访问时间和目录的全局唯一标识;所述文件索引包括目录元数据的父目录的全局唯一标识和目录文件名,所述文件元数据包括访问时间、访问模式、用户标识、组标识、修改时间、文件的内容的访问时间、文件的大小、文件块的大小和文件元数据的全局唯一标识;所述元数据结构的定位方法包括:根据文件元数据结构的大小和块大小确定文件内容存储的具体位置;根据外部输入的偏移量获取文件块的偏移;根据所述文件的全局唯一标识和所述文件块的偏移得到所述文件块在存储集群中的位置;
所述元数据结构的切分方法包括:A1:将元数据操作分为访问控制型操作和文件定位型操作;A2:将元数据字段分为访问控制类型的元数据和描述文件空间分布的元数据字段,其中,所述访问控制类型的元数据包括所述访问时间、访问模式、用户标识和组标识,所述描述文件空间分布的元数据字段包括:修改时间、文件的内容的访问时间、文件的大小、文件块的大小和文件元数据的全局唯一标识;A3:将文件系统元数据操作分为需要访问所有的元数据操作、需要改变访问控制类型的操作和需要改变描述文件空间分布的元数据操作,其中,所述需要访问所有的元数据操作包括获取文件元数据操作、删除文件操作和重命名文件操作,所述需要改变访问控制类型的操作包括改变用户组操作、改变用户权限操作、创建文件操作和打开文件操作,所述需要改变描述文件空间分布的元数据操作包括读文件内容操作、写文件内容操作和改变文件大小操作;A4:基于A1-A3的分类,将元数据字段进行聚集,聚集访问控制类型的元数据字段为访问控制元数据块,聚集描述文件空间分布的元数据字段为文件空间描述元数据块;对所述需要改变访问控制类型的操作和所述需要改变描述文件空间分布的元数据操作时,每次的更改和读取将读取和修改的一种类型的元数据;当处理一个修改类型的元数据操作时,从键值系统中获得需要修改的元数据,替换数据后直接写入键值数据库。
2.一种对权利要求1所述的元数据结构的操作方法,其特征在于,包括:
所述目录元数据结构在存储过程中,使用所述目录的路径作为键,多个目录元数据作为值;
所述文件元数据结构在存储过程中,使用目录元数据的父目录的全局唯一标识和目录文件名作为键,使用所述多个文件元数据作为值。
3.如权利要求2所述的方法,其特征在于,还包括:
从内存写回外存时将元数据的内存字段直接拼接写入到键值数据库中;
在从外存读取元数据到内存时从键值数据库中读出,在内存中直接填入元数据的内存结构表示。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710016283.2A CN106844584B (zh) | 2017-01-10 | 2017-01-10 | 元数据结构和基于其的操作方法、定位方法、切分方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710016283.2A CN106844584B (zh) | 2017-01-10 | 2017-01-10 | 元数据结构和基于其的操作方法、定位方法、切分方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106844584A CN106844584A (zh) | 2017-06-13 |
CN106844584B true CN106844584B (zh) | 2019-12-17 |
Family
ID=59117176
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710016283.2A Active CN106844584B (zh) | 2017-01-10 | 2017-01-10 | 元数据结构和基于其的操作方法、定位方法、切分方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106844584B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108108422A (zh) * | 2017-12-15 | 2018-06-01 | 郑州云海信息技术有限公司 | 一种Ceph文件系统的元数据获取方法、装置及介质 |
CN108021717B (zh) * | 2017-12-29 | 2020-12-01 | 成都三零嘉微电子有限公司 | 一种轻量级嵌入式文件系统的实现方法 |
CN108388569B (zh) * | 2018-01-09 | 2021-07-20 | 杭州电子科技大学 | 一种快速的键值数据库的系统及建立方法 |
CN110874353A (zh) * | 2018-09-04 | 2020-03-10 | 阿里巴巴集团控股有限公司 | 一种数据模型的创建、数据表的访问方法和装置 |
CN110109890A (zh) * | 2019-05-10 | 2019-08-09 | 京东方科技集团股份有限公司 | 非结构化数据处理方法和非结构化数据处理系统 |
CN110764777B (zh) * | 2019-10-17 | 2020-12-08 | 北京东土科技股份有限公司 | 一种elf文件生成方法、elf文件、设备及存储介质 |
CN114461572A (zh) * | 2021-12-31 | 2022-05-10 | 奇安信科技集团股份有限公司 | 用于分布式文件系统的元数据采集方法及装置 |
CN117520267A (zh) * | 2023-11-28 | 2024-02-06 | 中电云计算技术有限公司 | 一种目录索引节点的存储方法、装置、设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101551817A (zh) * | 2009-01-24 | 2009-10-07 | 普天信息技术研究院有限公司 | 一种低冗余数据存储方法 |
CN103442057A (zh) * | 2013-08-27 | 2013-12-11 | 玉林师范学院 | 一种基于用户协作云的云存储系统 |
CN103577123A (zh) * | 2013-11-12 | 2014-02-12 | 河海大学 | 一种基于hdfs的小文件优化存储方法 |
CN103150394B (zh) * | 2013-03-25 | 2014-07-23 | 中国人民解放军国防科学技术大学 | 面向高性能计算的分布式文件系统元数据管理方法 |
CN105550371A (zh) * | 2016-01-27 | 2016-05-04 | 华中科技大学 | 一种面向大数据环境的元数据组织方法和系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI476610B (zh) * | 2008-04-29 | 2015-03-11 | Maxiscale Inc | 同級間冗餘檔案伺服器系統及方法 |
-
2017
- 2017-01-10 CN CN201710016283.2A patent/CN106844584B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101551817A (zh) * | 2009-01-24 | 2009-10-07 | 普天信息技术研究院有限公司 | 一种低冗余数据存储方法 |
CN103150394B (zh) * | 2013-03-25 | 2014-07-23 | 中国人民解放军国防科学技术大学 | 面向高性能计算的分布式文件系统元数据管理方法 |
CN103442057A (zh) * | 2013-08-27 | 2013-12-11 | 玉林师范学院 | 一种基于用户协作云的云存储系统 |
CN103577123A (zh) * | 2013-11-12 | 2014-02-12 | 河海大学 | 一种基于hdfs的小文件优化存储方法 |
CN105550371A (zh) * | 2016-01-27 | 2016-05-04 | 华中科技大学 | 一种面向大数据环境的元数据组织方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN106844584A (zh) | 2017-06-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106844584B (zh) | 元数据结构和基于其的操作方法、定位方法、切分方法 | |
CN111309270B (zh) | 一种持久性内存键值存储系统 | |
CN100483420C (zh) | 基于快照的细粒度文件与目录版本管理方法 | |
CN110825748B (zh) | 利用差异化索引机制的高性能和易扩展的键值存储方法 | |
US9047301B2 (en) | Method for optimizing the memory usage and performance of data deduplication storage systems | |
CN115427941A (zh) | 数据管理系统和控制的方法 | |
CN107180092B (zh) | 一种文件系统的控制方法、装置及终端 | |
US20170212680A1 (en) | Adaptive prefix tree based order partitioned data storage system | |
US20130262758A1 (en) | Systems and Methods for Tracking Block Ownership | |
US10789228B2 (en) | Data presence/absence determination apparatus and computer-readable storage medium storing program for determination of data presence/absence | |
CN100424699C (zh) | 一种属性可扩展的对象文件系统 | |
CN113535670B (zh) | 一种虚拟化资源镜像存储系统及其实现方法 | |
CN109933564A (zh) | 基于链表和N-ary树结构实现快速回滚的文件系统管理方法、装置、终端、介质 | |
CN103473337A (zh) | 一种分布式存储系统中处理面向海量目录和文件的方法 | |
CN110109894A (zh) | 非关系型数据库的实现方法、装置、存储介质和设备 | |
CN103942301A (zh) | 一种面向多数据类型访问应用的分布式文件系统 | |
CN104516945A (zh) | 一种基于关系数据库的hdfs元数据存储方法 | |
WO2022121274A1 (zh) | 一种存储系统中元数据管理方法、装置及存储系统 | |
Nguyen et al. | Optimizing mongodb using multi-streamed ssd | |
JP6006740B2 (ja) | インデックス管理装置 | |
US12253974B2 (en) | Metadata processing method and apparatus, and a computer-readable storage medium | |
JP2024514672A (ja) | アペンド専用データ構造を用いるリスト・ベースのデータ検索 | |
Saxena et al. | NoSQL Databases-Analysis, Techniques, and Classification | |
Shu | Key-Value Stores | |
Zhao et al. | Fat File System Design and Research |
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 | ||
CB03 | Change of inventor or designer information |
Inventor after: Lu Youyou Inventor after: Shu Jiwu Inventor before: Lu Youyou Inventor before: Shu Jiwu Inventor before: Li Siyang |
|
CB03 | Change of inventor or designer information |