CN106874481B - 一种分布式文件系统元数据信息读取方法及系统 - Google Patents

一种分布式文件系统元数据信息读取方法及系统 Download PDF

Info

Publication number
CN106874481B
CN106874481B CN201710089615.XA CN201710089615A CN106874481B CN 106874481 B CN106874481 B CN 106874481B CN 201710089615 A CN201710089615 A CN 201710089615A CN 106874481 B CN106874481 B CN 106874481B
Authority
CN
China
Prior art keywords
inode
information
metadata
read
path 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.)
Active
Application number
CN201710089615.XA
Other languages
English (en)
Other versions
CN106874481A (zh
Inventor
张延良
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhengzhou Yunhai Information Technology Co Ltd
Original Assignee
Zhengzhou Yunhai Information Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Zhengzhou Yunhai Information Technology Co Ltd filed Critical Zhengzhou Yunhai Information Technology Co Ltd
Priority to CN201710089615.XA priority Critical patent/CN106874481B/zh
Publication of CN106874481A publication Critical patent/CN106874481A/zh
Application granted granted Critical
Publication of CN106874481B publication Critical patent/CN106874481B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/14Details of searching files based on file metadata
    • G06F16/148File search processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed 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)
  • Library & Information Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种分布式文件系统元数据信息读取方法,包括:获取待读取元数据的inode号的路径信息;根据所述路径信息,在数据库中查找相应的inode信息;根据所述inode信息,读取所述待读取元数据;其中,所述路径信息为预先存储的所述待读取元数据相应的inode路径。可见,本发明通过预先记录元数据inode号的路径信息,在需要读取元数据时,根据该路径信息在系统缓存中查找父目录和祖先目录的inode号,从而读取相应的元数据,从而显著提高了分布式文件系统元数据信息读取速度。本发明还公开了一种分布式文件系统元数据信息读取系统,具有与上述方法相同的技术效果。

Description

一种分布式文件系统元数据信息读取方法及系统
技术领域
本发明涉及元数据读取技术领域,特别涉及一种分布式文件系统元数据信息读取方法及系统。
背景技术
分布式文件系统元数据信息存储了文件的所有属性信息以及数据存储位置,这些元数据信息都存储到inode,即索引节点中,每个文件都有唯一的inode存储元数据信息,inode会有唯一的inode号作为inode的标识。
众所周知,分布式文件系统有元数据服务、数据服务和客户端三大组成部分。对于分布式文件系统的文件IO操作,首先要获取文件元数据信息,然后再去操作数据。元数据信息存储了文件的所有属性信息以及数据存储位置,这些元数据信息都存储到inode中,每个文件都有唯一的inode存储元数据信息。当然,目录作为一种具有目录信息的特殊文件,也是如此。inode会有唯一的inode号作为inode的标识。文件系统中一个文件元数据信息读取,一般有两种方式:一种是依据inode存储位置获取inode信息;第二种是通过父目录元数据信息去读取子文件元数据信息。前者主要用于本地文件系统,后者主要用于分布式文件系统。而后者最大的弊端是无法直接依据文件inode号直接获取元数据信息。这就导致文件系统无法充分使用inode号去优化元数据机制,从而导致元数据信息读取速度较低。
综上所述,如何提高分布式文件系统元数据信息读取速度是本领域技术人员目前需要解决的技术问题。
发明内容
有鉴于此,本发明的目的在于提供一种分布式文件系统元数据信息读取方法及系统,可以显著提高分布式文件系统元数据信息读取速度。其具体方案如下:
一种分布式文件系统元数据信息读取方法,包括:
获取待读取元数据的inode号的路径信息;
根据所述路径信息,在数据库中查找相应的inode信息;
根据所述inode信息,读取所述待读取元数据;
其中,所述路径信息为预先存储的所述待读取元数据相应的inode路径。
优选的,所述inode号均存储在所述数据库中。
优选的,所述数据库为键值存储数据库。
优选的,获取待读取元数据的inode号的路径信息包括:
在所述键值存储数据库中,根据key=待读取元数据的inode号的值,得到所述路径信息。
优选的,所述路径信息包括所述待读取元数据inode号的父目录inode号和祖先目录inode号。
优选的,根据所述路径信息,在数据库中查找相应的inode信息包括:
判断系统缓存中是否存在所述父目录inode号对应的所述inode信息,若是,则获取所述inode信息,若否,则判断所述系统缓存中是否存在所述祖先目录inode号对应的所述inode信息。
本发明还公开了一种分布式文件系统元数据信息读取系统,包括:
路径信息获取模块,用于获取待读取元数据的inode号的路径信息;
Inode信息查找模块,用于根据所述路径信息,在数据库中查找相应的inode信息;
元数据读取模块,用于根据所述inode信息,读取所述待读取元数据;
其中,所述路径信息为预先存储的所述待读取元数据相应的inode路径。
本发明公开了一种分布式文件系统元数据信息读取方法,包括:获取待读取元数据的inode号的路径信息;根据所述路径信息,在数据库中查找相应的inode信息;根据所述inode信息,读取所述待读取元数据;其中,所述路径信息为预先存储的所述待读取元数据相应的inode路径。可见,本发明通过预先记录元数据inode号的路径信息,在需要读取元数据时,根据该路径信息在系统缓存中查找父目录和祖先目录的inode号,从而读取相应的元数据,从而显著提高了分布式文件系统元数据信息读取速度。
本发明还公开了一种分布式文件系统元数据信息读取系统,具有与上述方法相同的技术效果,在此不再赘述。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例公开的一种分布式文件系统元数据信息读取方法的流程示意图;
图2为本发明实施例公开的一种分布式文件系统元数据信息读取系统的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例公开了一种分布式文件系统元数据信息读取方法,参见图1所示,包括步骤S1至S3,其中:
步骤S1:获取待读取元数据的inode号的路径信息。其中,上述路径信息为预先存储的上述待读取元数据相应的inode路径。
每个文件inode号,会存储到指定位置,可以是64K个inode的路径信息存储到一个指定位置,依次类推。
上述inode号可以均存储在数据库中,或存储在指定inode位置。
为了提高查找效率,本发明可使用k-v数据库形式,即采用键值存储数据库,存储路径信息。当然,也可以使用其他数据库储存路径信息
在一种具体的将路径信息以k-v数据库形式储存的实施例中,获取待读取元数据的inode号的路径信息包括:
根据inode号,在键值存储数据库中,利用键值检索指令key=inode,此处指令inode号为待读取元数据的inode号,即key=待读取元数据的inode号的值,得到相应的值,该值即为上述路径信息。
分布式系统大多通过父目录元数据信息去读取子文件元数据信息,因此子文件元数据信息相应的inode号不一定能够直接获得相应的inode值,因此上述路径信息包括上述待读取元数据inode号的父目录inode号和祖先目录inode号。
步骤S2:根据上述路径信息,在数据库中查找相应的inode信息。
在上述将路径信息以k-v数据库形式储存的实施例中,根据路径信息,在数据库中查找相应的inode信息包括:
由于在系统缓存中查找数据速度比根据父目录读取子目录数据更快,因此通过查找系统系统缓存中是否存在相应的与inode信息对应inode号,即判断系统缓存中是否存在上述父目录inode号对应的上述inode信息,若是,则获取上述inode信息,若否,则判断上述系统缓存中是否存在上述祖先目录inode号对应的上述inode信息。
由于数据库操作延时很低,获取父目录的inode号后去缓存中检查是否有父目录inode信息,有的话直接从父目录获取本inode信息;没有的话再去复现目录找,直到找到缓存中有的祖先inode信息去获取子以及子孙的inode信息。
步骤S3:根据上述inode信息,读取上述待读取元数据。
本发明的提供的思路为:在文件元数据存储的时候,记录文件路径信息到指定存储位置(可以是指定inode),路径信息保存了父目录以及祖先目录的inode号,每个信息已kv数据库形式存储。当需要依据inode号去获取inode信息时,直接到存储位置以key=inode号获取对应value值,即路径信息,由于数据库操作延时很低,获取父目录的inode号后去缓存中检查是否有父目录inode信息,有的话直接从父目录获取本inode信息;没有的话再去祖先目录找,直到找到缓存中有的祖先inode信息去获取子以及子孙的inode信息。
可以理解的是,使用SSD固态硬盘可以进一步提高查找速度,即进一步显著提高分布式文件系统元数据信息读取速度。
在一种具体的实施方案中,读取元数据的全部过程如下:
1)元数据服务进程需要依据inode号获取inode信息。
2)依据inode号去存储inode号路径信息的位置,获取key=inode号的value信息,value值即存储路径。
3)查找缓存中是否有value中父目录inode号对应inode信息;否,继续查找祖先inode号是否在缓存中有对应inode信息。
4)直到找到inode信息去获取路径上目录inode号的元数据信息。
本发明还公开了一种分布式文件系统元数据信息读取系统,参见图2所示,包括路径信息获取模块11、Inode信息查找模块12和元数据读取模块13,其中:
路径信息获取模块11,用于获取待读取元数据的inode号的路径信息。其中,上述路径信息为预先存储的上述待读取元数据相应的inode路径。
每个文件inode号,会存储到指定位置,可以是64K个inode的路径信息存储到一个指定位置,依次类推。
上述inode号可以均存储在数据库中,或存储在指定inode位置。
为了提高查找效率,本发明可使用k-v数据库形式,即采用键值存储数据库,存储路径信息。当然,也可以使用其他数据库储存路径信息
在一种具体的将路径信息以k-v数据库形式储存的实施例中,获取待读取元数据的inode号的路径信息包括:
根据inode号,在键值存储数据库中,利用键值检索指令key=inode,此处指令inode号为待读取元数据的inode号,即key=待读取元数据的inode号的值,得到相应的值,该值即为上述路径信息。
分布式系统大多通过父目录元数据信息去读取子文件元数据信息,因此子文件元数据信息相应的inode号不一定能够直接获得相应的inode值,因此上述路径信息包括上述待读取元数据inode号的父目录inode号和祖先目录inode号。
Inode信息查找模块12,用于根据上述路径信息,在数据库中查找相应的inode信息。
在上述将路径信息以k-v数据库形式储存的实施例中,根据路径信息,在数据库中查找相应的inode信息包括:
由于在系统缓存中查找数据速度比根据父目录读取子目录数据更快,因此通过查找系统系统缓存中是否存在相应的与inode信息对应inode号,即判断系统缓存中是否存在上述父目录inode号对应的上述inode信息,若是,则获取上述inode信息,若否,则判断上述系统缓存中是否存在上述祖先目录inode号对应的上述inode信息。
由于数据库操作延时很低,获取父目录的inode号后去缓存中检查是否有父目录inode信息,有的话直接从父目录获取本inode信息;没有的话再去复现目录找,直到找到缓存中有的祖先inode信息去获取子以及子孙的inode信息。
元数据读取模块13,用于根据上述inode信息,读取上述待读取元数据。
可以理解的是,使用SSD固态硬盘可以进一步提高查找速度,即进一步显著提高分布式文件系统元数据信息读取速度。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本发明所提供的一种分布式文件系统元数据信息读取方法及系统进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (7)

1.一种分布式文件系统元数据信息读取方法,其特征在于,包括:
获取待读取元数据的inode号的路径信息;
根据所述路径信息,在数据库中查找相应的inode信息;其中,所述数据库存储于系统缓存;
根据所述inode信息,读取所述待读取元数据;
其中,所述路径信息为预先存储的所述待读取元数据相应的inode路径。
2.根据权利要求1所述的分布式文件系统元数据信息读取方法,其特征在于,所述inode号均存储在所述数据库中。
3.根据权利要求2所述的分布式文件系统元数据信息读取方法,其特征在于,所述数据库为键值存储数据库。
4.根据权利要求3所述的分布式文件系统元数据信息读取方法,其特征在于,获取待读取元数据的inode号的路径信息包括:
在所述键值存储数据库中,根据key=待读取元数据的inode号的值,得到所述路径信息。
5.根据权利要求4所述的分布式文件系统元数据信息读取方法,其特征在于,所述路径信息包括所述待读取元数据inode号的父目录inode号和祖先目录inode号。
6.根据权利要求5所述的分布式文件系统元数据信息读取方法,其特征在于,根据所述路径信息,在数据库中查找相应的inode信息包括:
判断系统缓存中是否存在所述父目录inode号对应的所述inode信息,若是,则获取所述inode信息,若否,则判断所述系统缓存中是否存在所述祖先目录inode号对应的所述inode信息。
7.一种分布式文件系统元数据信息读取系统,其特征在于,包括:
路径信息获取模块,用于获取待读取元数据的inode号的路径信息;
Inode信息查找模块,用于根据所述路径信息,在数据库中查找相应的inode信息;其中,所述数据库存储于系统缓存;
元数据读取模块,用于根据所述inode信息,读取所述待读取元数据;
其中,所述路径信息为预先存储的所述待读取元数据相应的inode路径。
CN201710089615.XA 2017-02-20 2017-02-20 一种分布式文件系统元数据信息读取方法及系统 Active CN106874481B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710089615.XA CN106874481B (zh) 2017-02-20 2017-02-20 一种分布式文件系统元数据信息读取方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710089615.XA CN106874481B (zh) 2017-02-20 2017-02-20 一种分布式文件系统元数据信息读取方法及系统

Publications (2)

Publication Number Publication Date
CN106874481A CN106874481A (zh) 2017-06-20
CN106874481B true CN106874481B (zh) 2020-02-07

Family

ID=59166391

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710089615.XA Active CN106874481B (zh) 2017-02-20 2017-02-20 一种分布式文件系统元数据信息读取方法及系统

Country Status (1)

Country Link
CN (1) CN106874481B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107633090A (zh) * 2017-09-29 2018-01-26 郑州云海信息技术有限公司 一种基于分布式文件系统客户端锁拆分的方法
CN107958033A (zh) * 2017-11-20 2018-04-24 郑州云海信息技术有限公司 元数据的查找方法、装置、分布式文件系统及存储介质
CN108108422A (zh) * 2017-12-15 2018-06-01 郑州云海信息技术有限公司 一种Ceph文件系统的元数据获取方法、装置及介质
CN108920631B (zh) * 2018-06-29 2020-09-18 苏州浪潮智能科技有限公司 一种文件查询方法、装置、设备及可读存储介质
WO2021017655A1 (zh) * 2019-07-30 2021-02-04 华为技术有限公司 获取索引节点号的方法、装置、计算设备和存储介质
CN110554992B (zh) * 2019-08-16 2022-12-16 苏州浪潮智能科技有限公司 一种分布式元数据路径管理方法、系统、终端及存储介质
CN111752751B (zh) * 2020-05-27 2022-12-27 苏州浪潮智能科技有限公司 一种基于策略的备份磁带归整系统和方法
CN114116613B (zh) * 2021-11-26 2024-07-02 北京百度网讯科技有限公司 基于分布式文件系统的元数据查询方法、设备和存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101354726A (zh) * 2008-09-17 2009-01-28 中国科学院计算技术研究所 一种机群文件系统的内存元数据管理方法
CN102118315A (zh) * 2011-02-28 2011-07-06 华为技术有限公司 数据流化方法、数据记录方法、数据读取方法及其系统
CN105550371A (zh) * 2016-01-27 2016-05-04 华中科技大学 一种面向大数据环境的元数据组织方法和系统
CN105933376A (zh) * 2016-03-31 2016-09-07 华为技术有限公司 一种数据操作方法,服务器及存储系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102378367B1 (ko) * 2015-03-20 2022-03-24 한국전자통신연구원 분산 파일 시스템

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101354726A (zh) * 2008-09-17 2009-01-28 中国科学院计算技术研究所 一种机群文件系统的内存元数据管理方法
CN102118315A (zh) * 2011-02-28 2011-07-06 华为技术有限公司 数据流化方法、数据记录方法、数据读取方法及其系统
CN105550371A (zh) * 2016-01-27 2016-05-04 华中科技大学 一种面向大数据环境的元数据组织方法和系统
CN105933376A (zh) * 2016-03-31 2016-09-07 华为技术有限公司 一种数据操作方法,服务器及存储系统

Also Published As

Publication number Publication date
CN106874481A (zh) 2017-06-20

Similar Documents

Publication Publication Date Title
CN106874481B (zh) 一种分布式文件系统元数据信息读取方法及系统
US7228299B1 (en) System and method for performing file lookups based on tags
JP6669892B2 (ja) 分散型データストアのバージョン化された階層型データ構造
CN109684333B (zh) 一种数据存储及裁剪方法、设备和存储介质
US9672267B2 (en) Hybrid data management system and method for managing large, varying datasets
CN103282899B (zh) 文件系统中数据的存储方法、访问方法及装置
US7797283B2 (en) Systems and methods for maintaining distributed data
CN102184211B (zh) 文件系统和检索、写入、修改或删除文件的方法与装置
US9367448B1 (en) Method and system for determining data integrity for garbage collection of data storage systems
US8321487B1 (en) Recovery of directory information
CN108491549B (zh) 一种分布式存储系统中文件目录的创建方法及装置
US9594674B1 (en) Method and system for garbage collection of data storage systems using live segment records
US20160063021A1 (en) Metadata Index Search in a File System
KR100930455B1 (ko) 쿼리별 검색 컬렉션 생성 방법 및 시스템
CN102169507A (zh) 一种分布式实时搜索引擎
CN106202492B (zh) 一种网络文件系统的元数据服务优化方法及系统
CN109284273B (zh) 一种采用后缀数组索引的海量小文件查询方法及系统
CN109710455B (zh) 基于fat32文件系统的删除文件恢复方法及系统
CN106682003B (zh) 分布式存储命名空间的路径分割映射方法和装置
CN107679182B (zh) 一种目录配置方法及装置
CN104239511A (zh) 一种面向MongoDB的用户空间文件系统实现方法
CN111045857A (zh) 数据备份和恢复的方法、电子设备和计算机可读存储介质
CN114356878A (zh) 一种非结构化数据分布式存储方法及装置
KR102253841B1 (ko) 대용량 분산 파일 시스템에서 데이터의 수정을 포함하는 트랜잭션 처리 장치 및 컴퓨터로 읽을 수 있는 기록매체
CN105843809B (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