CN106874457A - 一种通过虚拟目录来提升元数据集群性能的方法 - Google Patents
一种通过虚拟目录来提升元数据集群性能的方法 Download PDFInfo
- Publication number
- CN106874457A CN106874457A CN201710078639.5A CN201710078639A CN106874457A CN 106874457 A CN106874457 A CN 106874457A CN 201710078639 A CN201710078639 A CN 201710078639A CN 106874457 A CN106874457 A CN 106874457A
- Authority
- CN
- China
- Prior art keywords
- virtual
- subdirectory
- catalogue
- virtual subdirectory
- metadata
- 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
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/14—Details of searching files based on file metadata
-
- 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
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)
- Library & Information Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开一种通过虚拟目录来提升元数据集群性能的方法,涉及数据集群管理领域;根据系统请求,建立元数据集群的虚拟子目录或者将普通目录设置为虚拟子目录,虚拟子目录建立后对元数据集群的操作请求,判断父目录是否为虚拟目录,不是则进行原有流程进行操作,否则进入虚拟目录,对操作名进行hash计算,根据hash值进入到相应的虚拟子目录中进行操作,利用本发明建立虚拟子目录既很好的提升了元数据性能,又很好的实现了压力的负载均衡。
Description
技术领域
本发明公开一种提升元数据集群性能的方法,涉及数据集群管理领域,具体的说是一种通过虚拟目录来提升元数据集群性能的方法。
背景技术
元数据是用来描述一个文件系统特征的数据。比如对于磁盘文件系统来说,关于文件组织和管理的信息就是该文件的元数据。在 UNIX 系统中,文件的元数据主要是文件目录项和索引节点结构。目录项和文件系统的名字空间相关,每个目录项对应一个文件名。索引节点结构中则存储着文件的很多重要信息,诸如访问权限、文件大小、文件的创建时间、最后存取时间、最后修改时间等属性信息,以及文件数据的物理分布信息,如直接块指针、间接块指针。此外,还有一些重要的系统数据,如超级块信息,记录了整个文件系统的使用情况,如空闲块的大小、己使用的空间大小等,也是一种元数据。
元数据的访问性能影响着分布式文件系统的性能。在分布式文件系统中,元数据的访问很频繁,而元数据文件通常又很小,这样对大量小文件的访问,会对系统性能造成冲击,不利于元数据的使用。本发明提供一种通过虚拟子目录来提升元数据集群性能的方法,为了提升元数据集群的性能,对虚拟子目录的创建,虚拟子目录可以分配不同的mds,实现负载均衡,单个目录可以利用多个mds,实现单目录小文件性能的提升,从而进一步实现元数据集群性能的提升。
发明内容
本发明针对目前技术发展的需求和不足之处,提供一种通过虚拟目录来提升元数据集群性能的方法,高效、便捷、实用性强、为元数据集群系统提升性能,解决瓶颈问题。
一种通过虚拟目录来提升元数据集群性能的方法,根据系统请求,建立元数据集群的虚拟子目录或者将普通目录设置为虚拟子目录,虚拟子目录建立后对元数据集群的操作请求,判断父目录是否为虚拟目录,不是则进行原有流程进行操作,否则进入虚拟目录,对操作名进行hash计算,根据hash值进入到相应的虚拟子目录中进行操作。
通过更改集群节点配置文件的参数,设置元数据集群的虚拟子目录的开启和关闭功能。
所述建立虚拟子目录,先创建虚拟父目录,再根据每个mds需要创建的目录个数,创建虚拟子目录,根据虚拟子目录导出规则将虚拟子目录导出到对应mds。
所述将普通目录设置为虚拟子目录:根据配置文件的参数创建虚拟子目录,遍历目录的一层通过hash算法计算存放位置,移动到对应的虚拟子目录。
先判断普通目录是否为虚拟子目录,不是则进行创建,是则结束创建。
通过更改配置文件目录inode中的xattr属性字段,设置元数据集群的虚拟子目录的开启和关闭功能。
更改目录inode中的xattr属性字段的User.vartualdir 的属性,设置元数据集群的虚拟子目录的开启和关闭功能。
本发明与现有技术相比具有的有益效果是:
本发明提供一种通过虚拟子目录来提升元数据集群性能的方法,根据系统请求,建立元数据集群的虚拟子目录或者将普通目录设置为虚拟子目录,虚拟子目录建立后对元数据集群的操作请求,判断父目录是否为虚拟目录,不是则进行原有流程进行操作,否则进入虚拟目录,对操作名进行hash计算,根据hash值进入到相应的虚拟子目录中进行操作。
为了提升元数据集群的性能,利用本发明对虚拟子目录的创建,虚拟子目录可以分配不同的mds,实现负载均衡,单个目录可以利用多个mds,实现单目录小文件性能的提升,从而进一步实现元数据集群性能的提升。
附图说明
图1本发明中建立虚拟子目录的流程示意图;
图2 本发明中对元数据集群的操作请求进行处理的流程示意图;
图3本发明中将普通目录设置为虚拟子目录的流程示意图;
图4本发明中虚拟子目录恢复成普通目录的流程示意图。
具体实施方式
本发明提供一种通过虚拟目录来提升元数据集群性能的方法,根据系统请求,建立元数据集群的虚拟子目录或者将普通目录设置为虚拟子目录,虚拟子目录建立后对元数据集群的操作请求,判断父目录是否为虚拟目录,不是则进行原有流程进行操作,否则进入虚拟目录,对操作名进行hash计算,根据hash值进入到相应的虚拟子目录中进行操作。
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施,对本发明进一步详细说明。
利用本发明方法,根据系统请求,建立元数据集群的虚拟子目录或者将普通目录设置为虚拟子目录,如下:
其中建立虚拟子目录,先创建虚拟父目录,再根据每个mds需要创建的目录个数n,创建n个虚拟子目录,根据虚拟子目录导出规则将虚拟子目录导出到对应mds;此外在创建虚拟父目录前,可以对创建目录请求进行问询,是否创建虚拟目录,如是则继续进行,否则按照原有创建流程创建普通目录,参考图1;
将普通目录设置为虚拟子目录:根据配置文件的参数设置虚拟子目录,比如更改目录inode中的xattr属性字段,增加user.virtualdir字段属性,用virtual_dir_num参数0-5来设置元数据集群的普通目录是否为虚拟子目录,其中数值是0则表明不是虚拟子目录,是普通目录;而参数是大于0的正数,则表明是虚拟子目录;
利用上述更改配置文件参数实例,普通目录设置为虚拟子目录流程可以参考图3,其中接收将普通目录设置为虚拟子目录的指令后,如启用更改配置文件参数来设置虚拟子目录,则创建虚拟子目录,然后遍历目录的一层通过hash算法计算存放位置,利用Mv移动到对应的虚拟子目录,导出虚拟子目录,设置user.virtualdir值等于1,大于0,因此为虚拟子目录;其中可以预先对普通目录是否为虚拟子目录进行判断,不是则进行创建,是则结束创建;
虚拟子目录建立后对元数据集群的操作请求,判断父目录是否为虚拟目录,不是则进行原有流程进行操作,否则进入虚拟目录,对操作名进行hash计算,根据hash值进入到相应的虚拟子目录中进行操作。
此外,普通目录可以通过更改配置文件目录inode中的xattr属性字段,设置元数据集群的虚拟子目录的开启和关闭功能,继续上述实施例,则利用将user.virtualdir值设置等于0,使虚拟子目录恢复成普通目录,恢复后相应虚拟子目录可被删除,此过程为:更改该目录的User.vartualdir 的属性为0,将该目录下的虚拟子目录的分配mds导回0,之后遍历目录的一层,通过Mv操作移动到上级目录下,相关目录操作完成后,将这些目录删除。
利用本发明方法可以高效、便捷地提升元数据集群系统的性能,实用性强,并且操作便利,不需要人为干预,在提升元数据性能的同时,还能够很好的隐藏目录。
Claims (7)
1.一种通过虚拟目录来提升元数据集群性能的方法,其特征在于根据系统请求,建立元数据集群的虚拟子目录或者将普通目录设置为虚拟子目录,虚拟子目录建立后对元数据集群的操作请求,判断父目录是否为虚拟目录,不是则进行原有流程进行操作,否则进入虚拟目录,对操作名进行hash计算,根据hash值进入到相应的虚拟子目录中进行操作。
2.根据权利要求1所述的方法,其特征在于通过更改集群节点配置文件的参数,设置元数据集群的虚拟子目录的开启和关闭功能。
3.根据权利要求2所述的方法,其特征在于所述建立虚拟子目录,先创建虚拟父目录,再根据每个mds需要创建的目录个数,创建虚拟子目录,根据虚拟子目录导出规则将虚拟子目录导出到对应mds。
4.根据权利要求2或3所述的方法,其特征在于所述将普通目录设置为虚拟子目录:根据配置文件的参数创建虚拟子目录,遍历目录的一层通过hash算法计算存放位置,移动到对应的虚拟子目录。
5.根据权利要求4所述的方法,其特征在于先判断普通目录是否为虚拟子目录,不是则进行创建,是则结束创建。
6.根据权利要求2或5所述的方法,其特征在于通过更改配置文件目录inode中的xattr属性字段,设置元数据集群的虚拟子目录的开启和关闭功能。
7.根据权利要求6所述的方法,其特征在于更改目录inode中的xattr属性字段的User.vartualdir 的属性,设置元数据集群的虚拟子目录的开启和关闭功能。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710078639.5A CN106874457B (zh) | 2017-02-14 | 2017-02-14 | 一种通过虚拟目录来提升元数据集群性能的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710078639.5A CN106874457B (zh) | 2017-02-14 | 2017-02-14 | 一种通过虚拟目录来提升元数据集群性能的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106874457A true CN106874457A (zh) | 2017-06-20 |
CN106874457B CN106874457B (zh) | 2020-03-06 |
Family
ID=59166898
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710078639.5A Active CN106874457B (zh) | 2017-02-14 | 2017-02-14 | 一种通过虚拟目录来提升元数据集群性能的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106874457B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109189341A (zh) * | 2018-08-30 | 2019-01-11 | 郑州云海信息技术有限公司 | 分布式存储系统的目录负载均衡方法、装置、设备及介质 |
CN114048185A (zh) * | 2021-11-18 | 2022-02-15 | 北京聚存科技有限公司 | 一种分布式文件系统中海量小文件透明打包存储与访问的方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101141287A (zh) * | 2007-09-21 | 2008-03-12 | 华为技术有限公司 | 一种对多工作区的目录进行管理的方法及设备 |
CN101334785A (zh) * | 2008-07-30 | 2008-12-31 | 浙江大学 | 分布式文件系统虚拟目录组织及命名空间管理的方法 |
CN101692239A (zh) * | 2009-10-19 | 2010-04-07 | 浙江大学 | 一种分布式文件系统元数据分配方法 |
US20130262865A1 (en) * | 2010-12-16 | 2013-10-03 | David Irvine | Distributed file systems |
CN103916467A (zh) * | 2014-03-25 | 2014-07-09 | 中国科学院计算技术研究所 | 一种元数据集群中负载转移方法及系统 |
-
2017
- 2017-02-14 CN CN201710078639.5A patent/CN106874457B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101141287A (zh) * | 2007-09-21 | 2008-03-12 | 华为技术有限公司 | 一种对多工作区的目录进行管理的方法及设备 |
CN101334785A (zh) * | 2008-07-30 | 2008-12-31 | 浙江大学 | 分布式文件系统虚拟目录组织及命名空间管理的方法 |
CN101692239A (zh) * | 2009-10-19 | 2010-04-07 | 浙江大学 | 一种分布式文件系统元数据分配方法 |
US20130262865A1 (en) * | 2010-12-16 | 2013-10-03 | David Irvine | Distributed file systems |
CN103916467A (zh) * | 2014-03-25 | 2014-07-09 | 中国科学院计算技术研究所 | 一种元数据集群中负载转移方法及系统 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109189341A (zh) * | 2018-08-30 | 2019-01-11 | 郑州云海信息技术有限公司 | 分布式存储系统的目录负载均衡方法、装置、设备及介质 |
CN109189341B (zh) * | 2018-08-30 | 2021-07-16 | 郑州云海信息技术有限公司 | 分布式存储系统的目录负载均衡方法、装置、设备及介质 |
CN114048185A (zh) * | 2021-11-18 | 2022-02-15 | 北京聚存科技有限公司 | 一种分布式文件系统中海量小文件透明打包存储与访问的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN106874457B (zh) | 2020-03-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109299102B (zh) | 一种基于Elastcisearch的HBase二级索引系统及方法 | |
AU2018290745B2 (en) | Systems and methods of database tenant migration | |
US20190278783A1 (en) | Compaction policy | |
CN103020204B (zh) | 一种对分布式顺序表进行多维区间查询的方法及其系统 | |
CN103577123B (zh) | 一种基于hdfs的小文件优化存储方法 | |
CN109284299B (zh) | 重构具有存储感知的混合索引的方法 | |
CN101866305B (zh) | 支持数据查询和快速恢复的连续数据保护方法及系统 | |
CN104462185B (zh) | 一种基于混合结构的数字图书馆云存储系统 | |
CN103916467B (zh) | 一种元数据集群中负载转移方法及系统 | |
CN104281414B (zh) | 分布式文件系统及其小文件访问方法 | |
CN104133882A (zh) | 一种基于hdfs的小文件处理方法 | |
CN104519078A (zh) | 实现云存储的方法与装置 | |
CN109063192A (zh) | 一种高性能海量文件存储系统工作方法 | |
Liang et al. | Mid-model design used in model transition and data migration between relational databases and nosql databases | |
CN1845093A (zh) | 一种属性可扩展的对象文件系统 | |
CN110008174A (zh) | 一种目录导出方法、系统及相关装置 | |
CN106874457A (zh) | 一种通过虚拟目录来提升元数据集群性能的方法 | |
CN113722274A (zh) | 一种高效的R-tree索引遥感数据存储模型 | |
CN101483668A (zh) | 热点数据的网络存储和访问方法、设备及系统 | |
CN104268146A (zh) | 一种适合分析型应用的静态b+树索引方法 | |
CN104537023A (zh) | 一种反向索引记录的存储方法及装置 | |
CN102521451B (zh) | 一种支持快速模型拼接的电网模型文件、生成方法及系统 | |
CN103761248B (zh) | 利用内存数据库进行数据查询的方法及系统 | |
CN106649608A (zh) | 分布式文件系统小文件性能提升方法、目录生成器及系统 | |
CN105786916B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |