CN103198153A - 一种应用于分布式文件系统的元数据分簇管理方法和模块 - Google Patents
一种应用于分布式文件系统的元数据分簇管理方法和模块 Download PDFInfo
- Publication number
- CN103198153A CN103198153A CN2013101481042A CN201310148104A CN103198153A CN 103198153 A CN103198153 A CN 103198153A CN 2013101481042 A CN2013101481042 A CN 2013101481042A CN 201310148104 A CN201310148104 A CN 201310148104A CN 103198153 A CN103198153 A CN 103198153A
- Authority
- CN
- China
- Prior art keywords
- metadata
- bunch
- meta data
- data server
- server
- 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)
Abstract
本发明提出一种应用于分布式文件系统的元数据分簇管理方法和模块。提出了簇的概念,即一棵独立的子树即是一个簇。在分布式文件系统中添加簇服务器,集中管理全局的元数据目录子树。簇服务器包括簇映射关系表、簇计数器和记录每台元数据服务器簇数的元数据簇数管理表,同时在元数据服务器上添加目录计数表,用以记录存在于本台服务器的每个簇下的目录数。通过这些模块的协作,解决了分布式文件系统中单台元数据服务器扩展为元数据服务器集群的元数据管理问题以及服务器集群元数据目录子树分割方法存在的负载不均衡的问题。
Description
技术领域
本发明涉及一种应用于分布式文件系统的元数据分簇管理方法和模块,该方法应用于分布式文件系统的元数据服务器集群中,属于计算机科学与技术领域。
背景技术
随着云时代的到来,大数据也吸引了越来越多的关注,每天互联网上的数据以数亿的速度激增。这种数量级的数据量已经超出了一台计算机的处理能力,基于此,分布式文件系统技术被提出,它将元数据和数据分离,现有的分布式文件系统一般使用多台数据服务器存储具体数据,使用一台元数据服务器将数据的元数据信息(包括名字、大小、储存位置等)储存在内存中。由于用户每次访问文件之前,都要先向元数据服务器请求获取该文件的元数据,并发访问量巨大;同时随着元数据的激增,元数据服务器内存容量有限,这两方面的限制都导致单台元数据服务器将成为分布式文件系统的瓶颈。基于此,需要将单元数据服务器扩展成为一个元数据服务器集群,然而,对服务器集群中存储的元数据(服务器集群元数据)进行统一管理是一个挑战性的问题。
在服务器集群元数据管理方面,哈希和目录子树分割是分布式文件系统中管理元数据的两个常用方法。
哈希方法是以文件目录、名字或者其他相关属性值为键值,通过哈希函数计算相应的哈希值,然后建立哈希值与元数据存储的服务器映射表。哈希方法的优点是容易实现负载均衡,也支持高度并发访问,但是这种方法的缺点是很难将所有目录和文件组织成完整的层级结构展示给用户,增加了某些操作(如:获取一个目录的所有子目录)的实现难度,并且当增加或者减少元数据服务器时,哈希值随之改变,所有的元数据需要重新分布,这将造成大量元数据迁移,从而增大系统开销。
目录子树分割方法是按照目录树划分为一棵棵目录子树,然后将目录子树分配到元数据服务器上存储,每台元数据服务器管理一棵或者多棵目录子树。目录子树分割方法简单易懂,由于目录树可以任意被拆分,因此元数据易于被分割到不同的服务器中存储。目录子树分割方法可以很容易地将所有子树组合成完整的目录树,以层级结构展示给用户,但是目录子树分割方法的缺点是在实现过程中不易于实现元数据存储的负载均衡。
为了解决上述方法在管理上的缺点,本专利提出一种应用于分布式文件系统的元数据分簇管理方法和模块,不仅保留了传统的目录子树分割简单易行、易于扩展的优点,还保证了其在应用过程中的负载均衡。
发明内容
依据当前的技术背景和条件,并针对分布式文件系统中元数据扩展的特点和要求,本发明提出一种应用于分布式文件系统的元数据分簇管理方法和模块。本发明采用的技术方案如下:
一、本发明结构
为了提高元数据存取速度,提升元数据存储容量,使用本发明的分布式文件系统采用多台服务器(元数据服务器集群)存储元数据(一棵元数据目录树),每台元数据服务器存储由元数据目录树分割出的一棵或多棵元数据目录子树;使用一台服务器(簇服务器)统一管理元数据服务器集群上存储的元数据目录子树。本发明提出“簇”的概念,元数据目录树被分割为一棵棵元数据目录子树,每棵目录子树称为一个簇。
本发明由两大模块组成,如图1所示,分别为簇服务器和元数据服务器。簇服务器包括簇编号计数器、元数据服务器簇数管理表和簇映射关系表三个模块。元数据服务器包括元数据模块和目录计数表模块。
使用本发明的分布式文件系统元数据的分簇管理原理如图2所示。元数据目录树被分割为几棵元数据目录子树,这些元数据目录子树被随机存储在几台元数据服务器上。簇服务器通过簇编号计数器、元数据服务器簇数管理表和簇映射关系表三个模块对存储在不同元数据服务器上的元数据目录子树进行统一管理。
下面从模块的具体作用和工作流程来进一步对本发明进行说明。
二、本发明模块作用
在使用本发明的分布式文件系统中,每个元数据使用簇编号+文件编号作为其在整个文件系统中的唯一标识,其中簇编号(zone ID)是簇服务器为每棵子树分配的全局编号,文件编号(inode ID)是每个元数据服务器为存在于自己内存中的元数据分配的编号。
下面介绍各模块的具体功能。
簇服务器各模块功能如下:
簇映射关系表是一张反映簇编号与元数据服务器IP地址映射关系的表格。每个表项表示编号为簇编号的子树存在于地址为IP的元数据服务器上。当知道一个文件或目录的元数据的簇编号时,客户端根据该表格快速定位元数据所在的元数据服务器。
元数据服务器模块功能如下:
元数据模块,即存放元数据的模块,它的作用是存放一棵棵零散的目录子树,也即一个个簇。
三、本发明执行流程
客户端挂载到文件系统时,簇服务器首先将簇映射关系表和该文件系统的根目录元数据所在的元数据服务器IP地址发送给客户端。
客户端访问一个目录或文件时,存储着根目录的元数据服务器按照文件的全路径,遍历根目录的下级目录和文件,查找客户端需要的下一级目录或文件。如果根目录的下级目录或文件与根目录存储在同一个元数据服务器上,该元数据服务器直接访问下级目录或文件;若下级目录存储在另一台元数据服务器上,则将根目录元数据中存储的该下级目录的簇编号发回给客户端,客户端查询簇映射关系表,向实际存储着下级目录元数据的元数据服务器发起查询请求。以此类推,直至找到所要访问的目录或文件。
由于创建文件不会带来创建新簇的问题,所以创建文件的过程比较简单。
客户端首先通过访问目录的步骤找到所要创建的文件的父目录所在的元数据服务器,然后向该元数据服务器发送创建文件的请求,元数据服务器为要创建的文件分配一个文件编号,将文件创建在指定的父目录下。
首先客户端通过访问目录的步骤找到所要创建的目录的父目录所在的元数据服务器,向该元数据服务器提交创建目录申请。
元数据服务器查看目录计数表的相关表项,看是否需要建立新簇;如果不需要,直接为该目录分配一个文件编号,将其创建在父目录下。
如果需要建立新簇,元数据服务器向簇服务器申请簇编号,簇服务器首先查询元数据服务器簇数管理表,看此元数据服务器上的簇数是否达到阈值,以判断是否可以在此元数据服务器上建立新簇。如果可以,簇服务器直接将新建簇的簇编号发给元数据服务器,元数据服务器以该目录为根建立新簇。
如果不可以在当前元数据服务器上建立新簇,簇服务器查询元数据服务器簇数管理表,找到簇数最少的元数据服务器,向簇数最少的元数据服务器发送建立新簇的命令和新簇编号。新的元数据服务器接到请求,在自己内存中建立以该目录为根的新簇。
附图说明
图1元数据分簇管理结构示意图
图2元数据分簇管理原理示意图
具体实施方式
为了说明这种服务器集群元数据的管理方式,下面给出一些操作的实例。
一、访问文件f1
1、/d1/f1存在于同一台元数据服务器MDS1中,其中d1为目录,f1为文件。
执行下述步骤:
1)客户端根据根目录元数据的位置访问MDS1,MDS1读取根目录的元数据,遍历根目录的下一级目录,查找d1并直接访问d1;
2)遍历d1下的所有文件,查找f1并直接访问f1,将f1的元数据发送到客户端。
2、根目录/存在于元数据服务器MDS1,d1/f1存在于元数据服务器MDS2,其中,d1为目录,f1为文件,并且d1为根目录的下级目录。执行下述步骤:
1)客户端根据根目录元数据的位置访问MDS1,读取根目录的元数据,MDS1遍历根目录下的目录,将d1的簇编号发给客户端;
2)客户端根据d1的簇编号查找簇映射关系表,找到d1元数据所在的元数据服务器MDS2,向MDS2发送请求查找f1;
3)MDS2遍历d1下的文件,找到f1的元数据,返回给客户端。
二、在/d1目录下创建文件f2,假设d1存在于元数据服务器MDS1上
1)客户端按照上述目录查找方式找到目录/d1,向MDS1请求在/d1下创建文件f2;
2)MDS1为f2分配一个文件编号,将其创建在目录/d1下。
三、在/d1下创建目录d2,假设d1存在于元数据服务器MDS1上
1)客户端按照访问文件的目录查找方式找到目录/d1,向MDS1发送创建目录的请求;
2)MDS1查看自己的目录计数表,若没有达到上限,执行步骤3,若是达到上限,执行步骤4、5;
3)MDS1为d2分配唯一的文件编号,并在/d1下建立d2目录。
4)MDS1向簇服务器请求建立新簇的簇编号;
5)簇服务器查看自己的元数据服务器簇数管理表,若MDS1上的簇数目未达到上限,执行步骤6,否则执行步骤7、8;
6)簇服务器为MDS1分配新簇的簇编号,MDS1以d2为根建立新簇。
7)簇服务器查询元数据服务器簇数管理表,找到簇数最少的元数据服务器MDS2,向MDS2发送建立新簇的命令和新簇的簇编号;
8)MDS2为d2分配文件编号,建立以d2为根的新簇。
Claims (5)
- 本发明提出“一种应用于分布式文件系统的元数据分簇管理方法和模块”,该发明通过引入“簇”的概念,添加簇服务器,集中管理元数据目录子树,同时对元数据服务器做相应的修改,克服了传统的子树分割方法负载不均衡的缺点。本发明的特点在于:1.本发明提出使用“簇编号+文件编号”作为每个元数据在整个分布式文件系统中的唯一标识。
- 2.本发明提出使用簇映射关系表记录簇编号与元数据服务器的一一对应关系,以快速定位所要查找的元数据所在的元数据服务器,提高访问速度。
- 3.本发明提出使用簇编号计数器统计元数据集群中已使用的簇编号,以避免分布式文件系统中簇编号的重复。
- 4.本发明提出使用元数据服务器簇数管理表记录每台元数据服务器上的簇数,一台元数据服务器上的已有簇数达到阈值时便不再在此元数据服务器上建立新簇,以避免该元数据服务器负载过重。
- 5.本发明提出目录计数表模块,每台元数据服务器使用一个目录计数表记录存在于本台服务器的每个簇下的目录数,以避免某个簇过于庞大,使得元数据服务器负载过重。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2013101481042A CN103198153A (zh) | 2013-04-25 | 2013-04-25 | 一种应用于分布式文件系统的元数据分簇管理方法和模块 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2013101481042A CN103198153A (zh) | 2013-04-25 | 2013-04-25 | 一种应用于分布式文件系统的元数据分簇管理方法和模块 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103198153A true CN103198153A (zh) | 2013-07-10 |
Family
ID=48720710
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2013101481042A Pending CN103198153A (zh) | 2013-04-25 | 2013-04-25 | 一种应用于分布式文件系统的元数据分簇管理方法和模块 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103198153A (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103744882A (zh) * | 2013-12-20 | 2014-04-23 | 浪潮(北京)电子信息产业有限公司 | 一种基于键值对的目录片段表示方法及装置 |
WO2015090244A3 (zh) * | 2013-12-19 | 2015-08-20 | 腾讯科技(深圳)有限公司 | 访问元数据的方法、服务器及系统 |
CN106164847A (zh) * | 2014-03-31 | 2016-11-23 | 柯法克斯公司 | 针对分布式体系架构的可扩展商业过程智能和预测性分析 |
CN106202492A (zh) * | 2016-07-19 | 2016-12-07 | 浪潮(北京)电子信息产业有限公司 | 一种网络文件系统的元数据服务优化方法及系统 |
CN106598744A (zh) * | 2017-01-13 | 2017-04-26 | 郑州云海信息技术有限公司 | 一种元数据集群动态子树分区方法及装置 |
CN106649608A (zh) * | 2016-11-29 | 2017-05-10 | 郑州云海信息技术有限公司 | 分布式文件系统小文件性能提升方法、目录生成器及系统 |
CN106844578A (zh) * | 2017-01-07 | 2017-06-13 | 郑州云海信息技术有限公司 | 对元数据服务器所负载子树根目录进行查询的方法及装置 |
CN106919347A (zh) * | 2017-02-28 | 2017-07-04 | 北京华云网际科技有限公司 | 分布式块存储系统的目录的创建方法和装置 |
CN106980697A (zh) * | 2017-04-07 | 2017-07-25 | 广东浪潮大数据研究有限公司 | 一种目录分布查询方法及装置 |
CN107562757A (zh) * | 2016-07-01 | 2018-01-09 | 阿里巴巴集团控股有限公司 | 基于分布式文件系统的查询、访问方法、装置及系统 |
CN112597120A (zh) * | 2020-11-30 | 2021-04-02 | 新华三大数据技术有限公司 | 一种目录管理方法及装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090119304A1 (en) * | 2002-01-30 | 2009-05-07 | Red Hat, Inc. | Metadata structures and related locking techniques to improve performance and scalability in a cluster file system |
CN102646133A (zh) * | 2012-03-28 | 2012-08-22 | 电子科技大学 | 基于元数据存储的二维表及其组织方法 |
-
2013
- 2013-04-25 CN CN2013101481042A patent/CN103198153A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090119304A1 (en) * | 2002-01-30 | 2009-05-07 | Red Hat, Inc. | Metadata structures and related locking techniques to improve performance and scalability in a cluster file system |
CN102646133A (zh) * | 2012-03-28 | 2012-08-22 | 电子科技大学 | 基于元数据存储的二维表及其组织方法 |
Non-Patent Citations (1)
Title |
---|
JUAN WANG 等: "MHS: A distributed metadata management strategy", 《THE JOURNAL OF SYSTEMS AND SOFTWARE》 * |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
CN103744882A (zh) * | 2013-12-20 | 2014-04-23 | 浪潮(北京)电子信息产业有限公司 | 一种基于键值对的目录片段表示方法及装置 |
CN106164847A (zh) * | 2014-03-31 | 2016-11-23 | 柯法克斯公司 | 针对分布式体系架构的可扩展商业过程智能和预测性分析 |
CN107562757A (zh) * | 2016-07-01 | 2018-01-09 | 阿里巴巴集团控股有限公司 | 基于分布式文件系统的查询、访问方法、装置及系统 |
CN107562757B (zh) * | 2016-07-01 | 2021-08-10 | 阿里巴巴集团控股有限公司 | 基于分布式文件系统的查询、访问方法、装置及系统 |
CN106202492A (zh) * | 2016-07-19 | 2016-12-07 | 浪潮(北京)电子信息产业有限公司 | 一种网络文件系统的元数据服务优化方法及系统 |
CN106649608A (zh) * | 2016-11-29 | 2017-05-10 | 郑州云海信息技术有限公司 | 分布式文件系统小文件性能提升方法、目录生成器及系统 |
CN106844578A (zh) * | 2017-01-07 | 2017-06-13 | 郑州云海信息技术有限公司 | 对元数据服务器所负载子树根目录进行查询的方法及装置 |
CN106598744A (zh) * | 2017-01-13 | 2017-04-26 | 郑州云海信息技术有限公司 | 一种元数据集群动态子树分区方法及装置 |
CN106919347A (zh) * | 2017-02-28 | 2017-07-04 | 北京华云网际科技有限公司 | 分布式块存储系统的目录的创建方法和装置 |
CN106980697A (zh) * | 2017-04-07 | 2017-07-25 | 广东浪潮大数据研究有限公司 | 一种目录分布查询方法及装置 |
CN112597120A (zh) * | 2020-11-30 | 2021-04-02 | 新华三大数据技术有限公司 | 一种目录管理方法及装置 |
CN112597120B (zh) * | 2020-11-30 | 2022-05-27 | 新华三大数据技术有限公司 | 一种目录管理方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103198153A (zh) | 一种应用于分布式文件系统的元数据分簇管理方法和模块 | |
Padhy et al. | RDBMS to NoSQL: reviewing some next-generation non-relational database’s | |
Liao et al. | Multi-dimensional index on hadoop distributed file system | |
CN103544261B (zh) | 一种海量结构化日志数据全局索引管理方法及装置 | |
CN103067461B (zh) | 一种文件的元数据管理系统以及元数据管理方法 | |
CN103793534B (zh) | 分布式文件系统及均衡元数据存储和访问负载的实现方法 | |
CN104376053B (zh) | 一种基于海量气象数据的存储与检索方法 | |
CN102567495B (zh) | 一种海量信息存储系统及实现方法 | |
CN103310000B (zh) | 元数据管理方法 | |
CN107562757B (zh) | 基于分布式文件系统的查询、访问方法、装置及系统 | |
US11301421B2 (en) | Scalable multi-tier storage structures and techniques for accessing entries therein | |
CN108920552B (zh) | 一种面向多源大数据流的分布式索引方法 | |
CN101692239A (zh) | 一种分布式文件系统元数据分配方法 | |
CN104820714A (zh) | 基于hadoop的海量瓦片小文件存储管理方法 | |
Hsu et al. | Key formulation schemes for spatial index in cloud data managements | |
CN103631924A (zh) | 一种分布式数据库平台的应用方法和系统 | |
CN105354250A (zh) | 一种面向云存储的数据存储方法及装置 | |
US20170351620A1 (en) | Caching Framework for Big-Data Engines in the Cloud | |
CN103823846A (zh) | 一种基于图论的大数据存储及查询方法 | |
CN104182487A (zh) | 一种支持多种存储方式的统一存储方法 | |
Malensek et al. | Expressive query support for multidimensional data in distributed hash tables | |
CN103218433A (zh) | 一种应用于随机存取的元数据管理方法及模块 | |
Patrou et al. | DISTIL: A distributed in-memory data processing system for location-based services | |
CN103279489A (zh) | 一种元数据的存储方法、装置 | |
Zhou et al. | SNB-index: a SkipNet and B+ tree based auxiliary Cloud index |
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: 20130710 |