CN103218433A - 一种应用于随机存取的元数据管理方法及模块 - Google Patents
一种应用于随机存取的元数据管理方法及模块 Download PDFInfo
- Publication number
- CN103218433A CN103218433A CN2013101296925A CN201310129692A CN103218433A CN 103218433 A CN103218433 A CN 103218433A CN 2013101296925 A CN2013101296925 A CN 2013101296925A CN 201310129692 A CN201310129692 A CN 201310129692A CN 103218433 A CN103218433 A CN 103218433A
- Authority
- CN
- China
- Prior art keywords
- module
- catalogue
- file
- metadata
- name
- 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
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Storage Device Security (AREA)
Abstract
本发明提出一种应用于随机存取的元数据管理方法及模块,该发明通过哈希函数将元数据均衡地分配到各台元数据服务器中,同时增加两个功能模块,一个模块是名字映射模块,该模块完成重命名到原始名的转换;另一个模块是目录结构模块,该模块通过对每个文件或目录进行结构化编号,保存了目录与目录、目录与文件间的关联信息,这两个新功能模块帮助解决了传统哈希策略遇到的问题。
Description
技术领域
本发明涉及一种应用于随机存取的元数据管理方法及模块,该方法应用于分布式文件系统的元数据服务器集群管理及其元数据管理上,属于计算机科学与技术领域。
背景技术
近些年来,随着互联网的高速发展,每天都会产生数以亿计的数据量,分布式文件系统逐渐成为大规模数据存储的首要选择。在分布式存储架构中,为了更有效地管理元数据和文件数据,通常把元数据的处理和文件数据的访问分离开来,由元数据服务器管理文件系统命名空间和文件各种属性,并负责向客户端提供文件访问权限和文件存储位置等信息,同时由数据服务器负责存储文件,并直接处理客户端对文件数据的各种读写请求。这样分离之后,就可以利用分布式文件系统的访问特性,具体针对系统瓶颈进行优化,而最近的研究显示,文件系统中50%-80%的访问操作对象都是元数据,而不是数量较大的文件数据,因此,元数据的管理策略对于系统性能具有至关重要的影响。
元数据的管理策略大概可以分为两类:子树分割和哈希方法。其中子树分割策略把分布式文件系统的全局命名空间和目录层次按照一定策略分割成多棵子树,每棵子树都分布到元数据服务器集群中的一台特定的元数据服务器中,但每台元数据服务器中可能维护有一棵或多棵子树;而哈希方法采用哈希函数来建立元数据存储索引,意味着元数据管理系统利用每个文件和目录的某个特征(名称、路径名等)来计算哈希值,并根据这些哈希值把对应的文件或目录分布到某台元数据服务器中存储。子树分割方法在80至90年代的分布式文件系统中使用比较广泛,如美国Sun公司的Network File System(NFS)和卡内基梅隆大学的AndrewFile System(AFS)都是采用的这种元数据管理策略。子树分割方法非常接近人们的直观思维,实现起来较为简单,但缺点也较多,如权限验证耗时长,不能动态均衡负载等。
2004年,Lustre分布式文件系统通过普通的哈希函数计算文件的上级目录名的哈希值,把该哈希值作为元数据存储索引值,而90年代末期的VESTA分布式文件系统和RAMA分布式文件系统通过普通的哈希函数直接计算文件的全路径名称的哈希值作为元数据存储的索引值,这两种元数据管理系统虽用不同的唯一标志来计算哈希值,但都属于哈希策略。此类策略具有明显的优点,元数据在元数据服务器集群中存储均匀,存取负载分布均衡,且支持高并发存取,但同时缺点也是明显的,当客户端对文件目录进行重命名操作时,元数据服务器需要迁移元数据,当客户端访问文件或目录时,文件系统要对该文件或目录的上级目录进行权限认证,而上级目录可能存放在其他元数据服务器上,所以元数据服务器之间要频繁地通信以确保用户具有对文件或目录的访问权限。
发明内容
本发明“一种应用于随机存取的元数据管理方法及模块”由三个模块组成,如图1所示,分别是传统哈希策略模块、名字映射模块和目录结构模块,下面从各模块的功能、具体实现以及模块的执行流程来对本发明做详细说明。
(1)本发明各模块的功能
●传统哈希策略模块:该发明的基础模块,它由一个哈希函数组成,该模块的功能是运用哈希函数对文件或目录的全路径计算哈希值,然后根据计算得到的哈希值确定存放文件或目录的元数据的位置。
●名字映射模块:该发明的特色模块,它由全路径分解和名字映射表两部分组成,所谓全路径分解就是把文件或目录的全路径名分解成一个个单独的目录名和文件名,而名字映射表记载了文件或目录的原始名和重命名的对应关系。该模块的功能是完成文件或目录的重命名到原始名的转换。
●目录结构模块:该发明的关键模块,它由结构化编码,目录结构及权限查询表以及权限认证三部分组成。结构化编码是指对文件或目录的全路径名等信息进行编码;目录及权限查询表记录了文件与目录、目录与目录之间的关联信息以及用户对它们的访问权限;权限认证是指判断用户对某个文件或目录是否具有访问的权限。
该发明的三个模块各自具有各自的功能。传统哈希策略模块提供了高效的元数据访问方法,名字映射模块利用名字映射避免了在文件或目录名字改变时迁移大量元数据,目录结构模块提供了目录与目录、目录与文件的元数据之间的关联信息,避免了元数据服务器在交换元数据信息时的频繁通信。具体功能如下:
(2)本发明中各模块功能的具体实现
本发明中的每个模块功能的实现是依赖于每个模块中各组成部分的实现方法,具体介绍如下:
●传统哈希策略模块的在实现上,是由一个哈希函数对文件或目录的全路径名计算哈希值。
●名字映射模块中的名字映射功能主要依靠名字映射表来实现,名字映射表主要由两项组成,一项是文件名,本发明称其为原始名,该文件名是在用户创建文件时记载在表项中,同时也存储在元数据服务器中,当用户对某个文件或者目录进行重命名时,客户端查询名字映射表,当发现重命名处空白时就填入新的名字,当重命名处已有名字时,把旧的名字替换为新的名字。
●目录结构模块的实现分目录结构及权限查询表、结构化编码和权限认证三个部分来介绍:
目录结构及权限查询表主要由三项组成,第一项是inode号,inode号是文件系统对文件或目录的全局编号;第二项是结构化编号,如图4所示,这个编号记载了文件或目录所在的目录结构,结构化编号的头部记载元数据所在的服务器的编号,中间部分是对全路径的分级编号,尾部记载目录级数;第三项是权限值。
结构化编码是指对目录或文件的全路径进行编号,编号采用二进制编号,系统可以设定目录结构中每一段所占的二进制位数。
权限认证是指通过查询目录结构及权限查询表来判断用户是否具有对文件或目录的访问权限。权限值是九位二进制数,高三位表示用户组权限,中间三位为用户权限,低三位为其他用户权限。三位二进制数的最高位为读权限,中间位为写权限,最低位为执行权限,“1”表示具有权限,“0”表示没有权限。查询要访问文件或目录的全路径上的所有目录的权限值,对这些权限值进行与运算,最终得到一个权限值。
(3)本发明中模块的执行流程
为了说明本发明执行流程,从客户端创建文件、重命名文件以及访问文件的过程描述了本发明各模块之间的关系和本发明的执行流程,本发明的具体执行流程如下:
●创建文件阶段
为了直观地说明在文件系统创建文件阶段时各模块的作用,如图3所示,当用户发出创建文件/d1/f1请求时,流程如下:
首先,名字映射模块进行工作,在该模块中完成对/d1/f1的全路径分解,然后把全路径分解后的结果写进名字映射表,同时把结果发送给目录结构模块中的结构化编码;
然后,名字映射表完成名字映射操作,把新生成的全路径名(fullname)交给哈希函数计算哈希值,客户端根据哈希值得到要访问的元数据服务器的编号(mds id),该元数据服务器根据客户端的请求完成相应操作,返回元数据信息(inode号、mds id及权限值)给目录结构模块,并应答客户端;
最后,目录结构模块根据名字映射模块以及元数据服务器发来的信息制作目录结构及权限查询表。
●访问文件阶段
为了说明客户端访问文件时该发明中各模块的作用,如图4所示,当用户访问文件name2时,流程如下:
首先,名字映射模块对name2进行全路径名分解,并通过查询名字映射表,完成重命名到原始名的映射,生成新的全路径名fullname;
其次,传统哈希策略模块对fullname计算哈希值,客户端获取元数据服务器编号(mds id),并向元数据服务器请求要访问文件name2的元数据;
然后,元数据服务器查询目录结构模块中的目录结构及权限查询表,并通过权限认证判断客户端是否具有对该文件的访问权限。
最后,经过权限认证,如果用户对文件有访问权限,元数据服务器返回元数据信息给客户端;如果没有,则告知客户端无权限访问。
附图说明
图1元数据管理方法及模块
图2结构化编号的组成结构
图3客户端创建文件
图4客户端访问文件
具体实施方式
为了说明这种新的元数据管理方法,这里给出一些操作的实例。假设文件系统已经存在如下数据:
/d1/f1;
我们在文件系统中要建立目录/d2,并设置权限为rwxr_xr_x。过程如下:
第一步,客户端首先发送请求,把全路径/d2进行分解,分解成根/和目录名d2;
第二步,查寻名字映射表,发现表中无d2,则在表中添加d2项,如表1所示,并对全路径进行哈希计算,算出元数据服务器编号(mds id)给客户端;根据/和d2进行编号,假设文件系统设定元数据服务器(mds)是2位编码,一级目录是2位编码,二级目录是3位编码,三级目录是4位编码,目录级数是3位编码,则编码结果如表2所示;
第三步,客户端向指定的元数据服务器发送建立/d2的请求;
第四步,元数据服务器完成建立元数据任务,将/d2元数据信息inode号以及执行权限发给目录结构及权限查询表,并回复客户端执行成功;
第五步,目录结构服务器更新表2,将inode号和权限值填入表中。
表1
编号 | 文件名 | 重名名 |
1 | / | |
2 | d1 | |
3 | f1 | f2 |
4 | d2 |
表2
InOde值 | 结构化编号 | 权限值 |
1 | 01 01 000 0000 001 | 111 111 111 |
2 | 01 01 001 0000 010 | 111 111 111 |
3 | 10 01 001 0001 010 | 111 111 111 |
4 | 01 01 010 0000 010 | 111 101 101 |
接下来,我们把/d1/f1重命名为/d1/f2,客户端查询名字映射表,将f1对应的重命名一空填上名字f2。
最后,当客户端访问/d1/f2时,过程如图4所示:
第一步,客户端查表2得知f2的原始名字是f1,然后修改全路径为/d1/f1,此时计算哈希值,哈希值与重命名前是一样的,因此元数据存放的位置也没有改变;
第二步,客户端向相应的元数据服务器发送访问请求;
第三步,元数据服务器发送/d1/f1的inode号3给目录结构模块;
第四步,目录结构模块通过查询表2,得到编号10 010010001 010和权限值111111111,然后分别与mds id掩码11 00 000 0000 000,全路径掩码00 11 111 1111 000和目录级数掩码00 00 000 0000 111进行与运算,得到其目录级数为010,即为2级目录和全路径编号01 0010001,查表2知01就是/目录,其mds id为01,inode号为1,权限值为111111111,001就是d1目录,其mds id为01,inode号为2,权限值为111111111,用户对/和d1都具有读和执行权限,然后目录结构模块发送信息告知元数据服务器客户端能够访问/d1/f1,元数据服务器接到消息后再回复客户端。
Claims (1)
1.本发明提出“一种应用于随机存取的元数据管理方法及模块”,该发明通过哈希函数将元数据均衡地分配到各台元数据服务器中,同时增加两个功能模块,一个模块是名字映射模块,该模块完成重命名到原始名的转换;另一个模块是目录结构模块,该模块通过对每个文件或目录进行结构化编号,保存了目录与目录、目录与文件间的关联信息,这两个新功能模块帮助解决了传统哈希策略遇到的问题。本发明的特征在于:
(1)本发明提出名字映射模块,提供重命名到原始名字的映射服务,分布式文件系统在重命名操作时无需迁移大量元数据。
(2)本发明提出目录结构模块,提供对文件或目录的结构化编号,编号中包含了目录与目录、目录与文件的关联信息,避免了传统哈希策略中元数据服务器间的频繁通信。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2013101296925A CN103218433A (zh) | 2013-04-15 | 2013-04-15 | 一种应用于随机存取的元数据管理方法及模块 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2013101296925A CN103218433A (zh) | 2013-04-15 | 2013-04-15 | 一种应用于随机存取的元数据管理方法及模块 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103218433A true CN103218433A (zh) | 2013-07-24 |
Family
ID=48816220
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2013101296925A Pending CN103218433A (zh) | 2013-04-15 | 2013-04-15 | 一种应用于随机存取的元数据管理方法及模块 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103218433A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104660643A (zh) * | 2013-11-25 | 2015-05-27 | 南京中兴新软件有限责任公司 | 请求响应方法、装置及分布式文件系统 |
WO2015090244A3 (zh) * | 2013-12-19 | 2015-08-20 | 腾讯科技(深圳)有限公司 | 访问元数据的方法、服务器及系统 |
CN107111626A (zh) * | 2014-11-01 | 2017-08-29 | 慧与发展有限责任合伙企业 | 用于租户的数据管理 |
WO2018090674A1 (en) * | 2016-11-16 | 2018-05-24 | Huawei Technologies Co., Ltd. | Management of multiple clusters of distributed file systems |
CN110058861A (zh) * | 2019-04-19 | 2019-07-26 | 同盾控股有限公司 | 源码处理方法及装置、存储介质、电子设备 |
CN117873967A (zh) * | 2024-03-08 | 2024-04-12 | 腾讯科技(深圳)有限公司 | 分布式文件系统的数据管理方法、装置、设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5202983A (en) * | 1988-12-19 | 1993-04-13 | Kabushiki Kaisha Toshiba | File accessing system using code name to access selected conversion table for converting simplified file name into original file name |
CN1870076A (zh) * | 2005-05-27 | 2006-11-29 | 佛山市顺德区顺达电脑厂有限公司 | 文件保密方法 |
US20080117472A1 (en) * | 2006-11-17 | 2008-05-22 | Nohtomi Kazufumi | Document management system, a document management method, and a document management program |
CN101692239A (zh) * | 2009-10-19 | 2010-04-07 | 浙江大学 | 一种分布式文件系统元数据分配方法 |
CN103002061A (zh) * | 2011-09-16 | 2013-03-27 | 阿里巴巴集团控股有限公司 | 一种长域名与短域名互相转化的方法及装置 |
-
2013
- 2013-04-15 CN CN2013101296925A patent/CN103218433A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5202983A (en) * | 1988-12-19 | 1993-04-13 | Kabushiki Kaisha Toshiba | File accessing system using code name to access selected conversion table for converting simplified file name into original file name |
CN1870076A (zh) * | 2005-05-27 | 2006-11-29 | 佛山市顺德区顺达电脑厂有限公司 | 文件保密方法 |
US20080117472A1 (en) * | 2006-11-17 | 2008-05-22 | Nohtomi Kazufumi | Document management system, a document management method, and a document management program |
CN101692239A (zh) * | 2009-10-19 | 2010-04-07 | 浙江大学 | 一种分布式文件系统元数据分配方法 |
CN103002061A (zh) * | 2011-09-16 | 2013-03-27 | 阿里巴巴集团控股有限公司 | 一种长域名与短域名互相转化的方法及装置 |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104660643A (zh) * | 2013-11-25 | 2015-05-27 | 南京中兴新软件有限责任公司 | 请求响应方法、装置及分布式文件系统 |
WO2015090244A3 (zh) * | 2013-12-19 | 2015-08-20 | 腾讯科技(深圳)有限公司 | 访问元数据的方法、服务器及系统 |
US9619503B2 (en) | 2013-12-19 | 2017-04-11 | Tencent Technology (Shenzhen) Company Limited | Method, server, and system for accessing metadata |
CN107111626A (zh) * | 2014-11-01 | 2017-08-29 | 慧与发展有限责任合伙企业 | 用于租户的数据管理 |
CN107111626B (zh) * | 2014-11-01 | 2021-04-02 | 慧与发展有限责任合伙企业 | 用于租户的数据管理 |
CN109314721A (zh) * | 2016-11-16 | 2019-02-05 | 华为技术有限公司 | 分布式文件系统的多个集群的管理 |
JP2018537736A (ja) * | 2016-11-16 | 2018-12-20 | ホアウェイ・テクノロジーズ・カンパニー・リミテッド | 分散ファイルシステムの複数のクラスタの管理 |
CN109314721B (zh) * | 2016-11-16 | 2021-01-15 | 华为技术有限公司 | 分布式文件系统的多个集群的管理 |
WO2018090674A1 (en) * | 2016-11-16 | 2018-05-24 | Huawei Technologies Co., Ltd. | Management of multiple clusters of distributed file systems |
CN110058861A (zh) * | 2019-04-19 | 2019-07-26 | 同盾控股有限公司 | 源码处理方法及装置、存储介质、电子设备 |
CN110058861B (zh) * | 2019-04-19 | 2020-11-10 | 同盾控股有限公司 | 源码处理方法及装置、存储介质、电子设备 |
CN117873967A (zh) * | 2024-03-08 | 2024-04-12 | 腾讯科技(深圳)有限公司 | 分布式文件系统的数据管理方法、装置、设备及存储介质 |
CN117873967B (zh) * | 2024-03-08 | 2024-05-17 | 腾讯科技(深圳)有限公司 | 分布式文件系统的数据管理方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104820714B (zh) | 基于hadoop的海量瓦片小文件存储管理方法 | |
Padhy et al. | RDBMS to NoSQL: reviewing some next-generation non-relational database’s | |
Wang et al. | Indexing multi-dimensional data in a cloud system | |
CN103577123B (zh) | 一种基于hdfs的小文件优化存储方法 | |
Song et al. | HaoLap: A Hadoop based OLAP system for big data | |
CN102158546B (zh) | 一种集群文件系统及其文件服务方法 | |
CN103218433A (zh) | 一种应用于随机存取的元数据管理方法及模块 | |
CN103020078B (zh) | 分布式实时数据库数据层次索引方法 | |
CN105117417A (zh) | 一种读优化的内存数据库Trie树索引方法 | |
CN101789027A (zh) | 一种基于dbms的元数据管理方法和元数据服务器 | |
CN103198153A (zh) | 一种应用于分布式文件系统的元数据分簇管理方法和模块 | |
CN113010486B (zh) | 用于无中心分布式文件系统的元数据分层缓存方法及装置 | |
CN105608224A (zh) | 一种提高海量数据查询性能的正交多哈希映射索引方法 | |
CN102253980A (zh) | 数据处理方法及数据处理系统 | |
CN103544300B (zh) | 一种云环境下可扩展存储索引结构的实现方法 | |
CN105357247A (zh) | 基于分层云对等网络的多维属性云资源区间查找方法 | |
Tian et al. | A survey of spatio-temporal big data indexing methods in distributed environment | |
Kumar et al. | M-Grid: a distributed framework for multidimensional indexing and querying of location based data | |
Shangguan et al. | Big spatial data processing with Apache Spark | |
Nidzwetzki et al. | Bboxdb-a scalable data store for multi-dimensional big data | |
US10146833B1 (en) | Write-back techniques at datastore accelerators | |
US9239852B1 (en) | Item collections | |
CN116541427B (zh) | 数据查询方法、装置、设备及存储介质 | |
CN102521383A (zh) | 一种分布式系统中的海量文件存储和访问方法 | |
CN102955808A (zh) | 一种数据获取方法和分布式文件系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20130724 |