CN103902577B - 一种资源查找定位的方法和系统 - Google Patents

一种资源查找定位的方法和系统 Download PDF

Info

Publication number
CN103902577B
CN103902577B CN201210579135.9A CN201210579135A CN103902577B CN 103902577 B CN103902577 B CN 103902577B CN 201210579135 A CN201210579135 A CN 201210579135A CN 103902577 B CN103902577 B CN 103902577B
Authority
CN
China
Prior art keywords
file
information
data server
hash tables
node
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
CN201210579135.9A
Other languages
English (en)
Other versions
CN103902577A (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.)
China Mobile Group Sichuan Co Ltd
Original Assignee
China Mobile Group Sichuan 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 China Mobile Group Sichuan Co Ltd filed Critical China Mobile Group Sichuan Co Ltd
Priority to CN201210579135.9A priority Critical patent/CN103902577B/zh
Publication of CN103902577A publication Critical patent/CN103902577A/zh
Application granted granted Critical
Publication of CN103902577B publication Critical patent/CN103902577B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/18File system types
    • G06F16/182Distributed file systems
    • G06F16/1824Distributed file systems implemented using Network-attached Storage [NAS] architecture
    • G06F16/183Provision of network file services by network file servers, e.g. by using NFS, CIFS

Abstract

本发明公开了一种资源查找定位的方法和系统,适用于云计算平台,该方法包括元数据服务器将文件节点信息的哈希值存储在fsnode哈希表中,将文件名称空间信息的哈希值存储在fsedage哈希表中;客户端将待查找定位的目标文件的路径与文件名发送给元数据服务器;元数据服务器将目标文件的起始目录作为键值,从fsedage哈希表中检索到对应的edage信息;将edage信息、目标文件名称长度和目标文件名称信息作为键值,从fsedage哈希表中检索到对应的目标文件的文件标识,发送给客户端。本发明的技术方案由于客户端同元数据服务器之间一次交互全部路径信息,可以减少检索次数和交互次数,同时通过客户端缓存元数据信息,减少客户端与元数据服务器之间的交互次数。

Description

一种资源查找定位的方法和系统
技术领域
本发明涉及云计算技术领域,尤其涉及一种资源查找定位的方法和系统。
背景技术
云计算平台上,现有文件资源查找定位方案是首先判断要检索的目标文件使用的是绝对路径还是相对路径。如果是绝对路径,那么将搜索的起始路径设置为根目录,从根目录开始检索。如果要检索的目标文件使用的是相对路径,则将搜索的起始路径设置为当前目录。
现有方案会使用目录分隔符(“\”或“/”)把要定位的目标按照目录的层次剥离开,分层地定位每一层的目标目录。当定位到第一层目录目标后,把第一层目录作为下次开始检索的起始目录,用来定位第二层目标目录,如此循环下去,直到定位到最终目标。
例如:/aaa/bbb/ccc/ddd的定位是:
1、首先判断出使用的是绝对路径,那么把根目录作为检索的起始目录。
2、使用分隔符”/”,依照层次剥离出第一层定位目标:aaa;第二层定位目标:bbb,第三层定位目标:ccc;第四层定位目标:ddd。
3、在根目录下首先定检索aaa目标。如果定位到aaa,则把aaa作为下次检索的起始目录;如果没有定位到aaa,那么整个检索操作结束,定位失败。
4、在aaa目录下检索bbb目标。如果定位到bbb,则把bbb作为下次检索的起始目录;如果没有定位到bbb,那么整个检索操作结束,定位失败。
5、在bbb目录下检索ccc目标。如果定位到ccc,则把ccc作为下次检索的起始目录;如果没有定位到ccc,那么整个检索操作结束,定位失败。
6、在ccc目录下检索ddd目标。如果定位到bbb,整个检索操作结束,定位成功;如果没有定位到bbb,那么整个检索操作结束,定位失败。
该技术方案存在的问题是网络交互次数多和检索次数多,分布式文件系统客户端使用目录间隔符划分开每一层检索目录,检索目标有多层目录,客户端就要与元数据服务器端有多次数据交互。
发明内容
为了解决现有技术中存在的客户端与元数据服务器端之间数据交互次数过多的技术问题,本发明提出一种资源查找定位的方法和系统,能够减少检索次数和交互次数,减少客户端同元数据服务器端交互的次数。
本发明一方面提供了一种资源查找定位的方法,适用于云计算平台,包括以下步骤:
元数据服务器将文件节点信息的哈希值存储在文件节点空间fsnode哈希表中,将文件名称空间信息的哈希值存储在文件名称空间fsedage哈希表中;
客户端将待查找定位的目标文件的路径与文件名发送给元数据服务器;
元数据服务器将所述目标文件的起始目录作为键值,从文件名称空间fsedage哈希表中检索到对应的文件名称节点edage信息;
元数据服务器将所述文件名称节点edage信息、所述目标文件名称长度和目标文件名称信息作为键值,从文件名称空间fsedage哈希表中检索到对应的目标文件的文件标识,发送给客户端。
本发明的另一个方面提供一种资源查找定位的系统,包括元数据服务器和客户端,其中元数据服务器用于将文件节点信息的哈希值存储在文件节点空间fsnode哈希表中,将文件名称空间信息的哈希值存储在文件名称空间fsedage哈希表中,将待查找定位的目标文件的起始目录作为键值,从文件名称空间fsedage哈希表中检索到对应的文件名称节点edage信息,将所述文件名称节点edage信息、所述目标文件名称长度和目标文件名称信息作为键值,从文件名称空间fsedage哈希表中检索到对应的目标文件的文件标识,发送给客户端;
客户端用于将待查找定位的目标文件的路径与文件名发送给元数据服务器,并接收元数据服务器发送的目标文件的文件标识。
本发明的技术方案由于客户端同元数据服务器之间一次交互全部路径信息,可以减少检索次数和交互次数,同时通过客户端缓存元数据信息,减少客户端与元数据服务器之间的交互次数。
附图说明
图1是本发明实施例一中资源查找定位的流程图。
图2是本发明实施例二中资源查找定位系统的结构示意图。
具体实施方式
下面结合附图对本发明的具体实施方式进行详细描述。
分布式文件系统由元数据服务器管理文件系统的元数据(包括文件目录树组织、属性维护、文件操作日志记录、授权访问等),管理整个存储系统的命名空间,对外提供单一的系统映像,并负责整个存储集群的管理监控。用来管理整个文件系统,存储每个文件的元数据(文件大小,文件属性,文件所在位置的这些信息),同时也包含了所有非规则文件的全部信息,如文件夹,套接字设备,管道设备。元数据服务器在初始化时,首先将所有的文件系统元数据信息加载到内存,主要包括:
Fsnode:文件节点空间,该数据结构是文件节点node组成的一个哈希表。
Fsedage:文件名称空间,该数据结构是文件名称edage组成的一个哈希表,其中edage包含元素有,文件名称,文件标识。
chunk:存储块相关信息包含fsnode(节点)。
文件系统中每一个文件作为系统的一个节点,所有节点组成一个链表,构成文件系统的节点空间。
文件系统中每一个文件拥有文件名称,所有的文件名称组成一个链表,构成文件系统的名称空间所有的文件系统节点采用hash算法进行定位查找。
图1是本发明实施例一中资源查找定位的流程图。如图1所示,该适用于云计算平台的资源查找定位的流程包括以下步骤:
步骤101、元数据服务器启动时,将文件节点空间fsnode哈希表和文件名称空间fsedage哈希表加载到元数据服务器的内存。
该文件节点空间fsnode哈希表是文件节点node组成的哈希表,其中文件节点node包括文件类型、文件大小、数据存储位置和文件名称。
该文件名称空间fsedage哈希表是文件名称节点edage组成的哈希表,其中文件名称节点edage包含文件名称和文件标识。
元数据服务器将所有的文件系统的元数据信息加载到内存,所有文件节点,以文件的标识为key,将文件节点信息的哈希值存储在文件节点空间fsnode哈希表中,所有文件名称空间以其父节点标识、名称长度、名称信息为key,将文件名称空间信息的哈希值存储在文件名称空间fsedage哈希表中。
步骤102、分布式文件系统的客户端访问分布式文件系统中的文件时,客户端判断待查找定位的目标文件是否第一次检索,如果是第一次,转至步骤104、如果不是第一次,则转至步骤103。
步骤103、从客户端的元数据缓存中获取对应的元数据,流程结束。
元数据缓存队列是一个双向队列,队列上的每个节点保存的是某个文件的元数据缓存,元数据缓存格式包括文件绝对路径名、写引用数、读引用数、文件缓存修改标记、原文件大小、文件现在的大小、文件原分条数、文件现在的分条数、文件所有的分条信息和指向前后结构体的指针,具体的元数据缓存格式如下:
typedef struct meta_cache{
FILENAME path;//文件绝对路径名
int wcount;//写引用数
int rcount;//读引用数
char isdirty;//0表示该文件缓存没被修改过,否则表示修改过
uint64_t oldsize;//原文件(从元数据服务器获取时)大小
uint64_t newsize;//文件现在的大小
uint32_t o_chunknum;//文件原分条数
uint32_t n_chunknum;//文件现在的分条数
CHUNK_MEM**chunkarray;//文件所有的分条信息
struct meta_cache*next,*pre;//指向前后结构体的指针
}META_CACHE;
否则,客户端先从元数据服务器获取到该文件的元数据,该元数据包括文件节点信息和名称信息以及文件名称空间信息,初始化之后便插入客户端元数据缓存中,以后再打开该文件,则只需从本地元数据缓存中获取即可。
步骤104、客户端通过网络将待查找定位的目标文件的路径与文件名发送给分布式文件系统的元数据服务器。
步骤105、元数据服务器判断待查找定位的目标文件使用的是绝对路径还是相对路径,如果是绝对路径,则转至步骤106;如果是相对路径,则转至步骤107。
步骤106、以根目录作为目标文件的起始目录,并转至步骤108。
步骤107、以应用所在的目录作为目标文件的起始目录,并转至步骤108。
步骤108、元数据服务器将该目标文件的起始目录作为键值,从文件名称空间fsedage哈希表中检索到对应的文件名称节点edage信息。
步骤109、元数据服务器将该文件名称节点edage信息、该目标文件名称长度和目标文件名称信息作为键值,从文件名称空间fsedage哈希表中检索到对应的目标文件的文件标识,发送给客户端。
例如:/aaa/bbb/ccc/ddd的查找定位:
1、从客户端元数据缓存读取/aaa/bbb/ccc/ddd文件的元数据,如果客户端元数据缓存中存在,从客户端元数据缓存直接存取/aaa/bbb/ccc/ddd文件的元数据;
2、如果缓存中没有,则判断出使用的是绝对路径还是相对路径,把全路径/aaa/bbb/ccc/ddd作为检索信息,一次进行查找定位。
为了实现上述流程,本发明实施例还提供了一种资源查找定位系统。图2是本发明实施例二中资源查找定位系统的结构示意图。如图2所示,该系统包括元数据服务器21和客户端22,其中元数据服务器包括内存211,客户端包括缓存221。
元数据服务器用于将文件节点信息的哈希值存储在文件节点空间fsnode哈希表中,将文件名称空间信息的哈希值存储在文件名称空间fsedage哈希表中,将待查找定位的目标文件的起始目录作为键值,从文件名称空间fsedage哈希表中检索到对应的文件名称节点edage信息,将所述文件名称节点edage信息、所述目标文件名称长度和目标文件名称信息作为键值,从文件名称空间fsedage哈希表中检索到对应的目标文件的文件标识,发送给客户端。其中内存用于存储文件节点空间fsnode哈希表和文件名称空间fsedage哈希表。
客户端用于将待查找定位的目标文件的路径与文件名发送给元数据服务器,并接收元数据服务器发送的目标文件的文件标识。其中缓存用于存储元数据。
本发明实施例中的技术方案由于客户端同元数据服务器之间一次交互全部路径信息,可以减少检索次数和交互次数,同时通过客户端缓存元数据信息,减少客户端与元数据服务器之间的交互次数。
应说明的是:以上实施例仅用以说明本发明而非限制,本发明也并不仅限于上述举例,一切不脱离本发明的精神和范围的技术方案及其改进,其均应涵盖在本发明的权利要求范围中。

Claims (11)

1.一种资源查找定位的方法,适用于云计算平台,其特征在于,包括以下步骤:
元数据服务器将文件节点信息的哈希值存储在文件节点空间fsnode哈希表中,将文件名称空间信息的哈希值存储在文件名称空间fsedage哈希表中;
客户端将待查找定位的目标文件的路径与文件名发送给元数据服务器;
元数据服务器将所述目标文件的起始目录作为键值,从文件名称空间fsedage哈希表中检索到对应的文件名称节点edage信息;
元数据服务器将所述文件名称节点edage信息、所述目标文件名称长度和目标文件名称信息作为键值,从文件名称空间fsedage哈希表中检索到对应的目标文件的文件标识,发送给客户端;
元数据服务器判断所述待查找定位的目标文件使用的是绝对路径还是相对路径,如果是绝对路径,则以根目录作为所述目标文件的起始目录,如果是相对路径,则以应用所在的目录作为所述目标文件的起始目录。
2.根据权利要求1所述的一种资源查找定位的方法,其特征在于,所述文件节点空间fsnode哈希表是文件节点node组成的哈希表,其中文件节点node包括文件类型、文件大小、数据存储位置和文件名称。
3.根据权利要求1所述的一种资源查找定位的方法,其特征在于,文件名称空间fsedage哈希表是文件名称节点edage组成的哈希表,其中文件名称节点edage包含文件名称和文件标识。
4.根据权利要求1所述的一种资源查找定位的方法,其特征在于,还包括以下步骤:
元数据服务器将文件节点空间fsnode哈希表和文件名称空间fsedage哈希表加载到元数据服务器的内存。
5.根据权利要求1所述的一种资源查找定位的方法,其特征在于,还包括以下步骤:
客户端收到元数据服务器发送的元数据,存储在客户端的元数据缓存中。
6.根据权利要求5所述的一种资源查找定位的方法,其特征在于,所述元数据包括文件节点信息和名称信息以及文件名称空间信息。
7.根据权利要求5所述的一种资源查找定位的方法,其特征在于,所述元数据缓存格式包括文件绝对路径名、写引用数、读引用数、文件缓存修改标记、原文件大小、文件现在的大小、文件原分条数、文件现在的分条数、文件所有的分条信息和指向前后结构体的指针。
8.根据权利要求5所述的一种资源查找定位的方法,其特征在于,所述客户端将待查找定位的目标文件的路径与文件名发送给元数据服务器,进一步包括以下步骤:
客户端判断待查找定位的目标文件是否第一次检索,如果是第一次,客户端将待查找定位的目标文件的路径与文件名发送给元数据服务器,如果不是第一次,从客户端的元数据缓存中获取对应的元数据。
9.一种资源查找定位的系统,其特征在于,包括元数据服务器和客户端,其中元数据服务器用于将文件节点信息的哈希值存储在文件节点空间fsnode哈希表中,将文件名称空间信息的哈希值存储在文件名称空间fsedage哈希表中,将待查找定位的目标文件的起始目录作为键值,从文件名称空间fsedage哈希表中检索到对应的文件名称节点edage信息,将所述文件名称节点edage信息、所述目标文件名称长度和目标文件名称信息作为键值,从文件名称空间fsedage哈希表中检索到对应的目标文件的文件标识,发送给客户端;
元数据服务器还用于判断所述待查找定位的目标文件使用的是绝对路径还是相对路径,如果是绝对路径,则以根目录作为所述目标文件的起始目录,如果是相对路径,则以应用所在的目录作为所述目标文件的起始目录;
客户端用于将待查找定位的目标文件的路径与文件名发送给元数据服务器,并接收元数据服务器发送的目标文件的文件标识。
10.根据权利要求9所述一种资源查找定位的系统,其特征在于,所述元数据服务器包括内存,所述内存用于存储文件节点空间fsnode哈希表和文件名称空间fsedage哈希表。
11.根据权利要求9所述一种资源查找定位的系统,其特征在于,所述客户端包括缓存,所述缓存用于存储元数据。
CN201210579135.9A 2012-12-27 2012-12-27 一种资源查找定位的方法和系统 Active CN103902577B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210579135.9A CN103902577B (zh) 2012-12-27 2012-12-27 一种资源查找定位的方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210579135.9A CN103902577B (zh) 2012-12-27 2012-12-27 一种资源查找定位的方法和系统

Publications (2)

Publication Number Publication Date
CN103902577A CN103902577A (zh) 2014-07-02
CN103902577B true CN103902577B (zh) 2017-05-03

Family

ID=50993905

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210579135.9A Active CN103902577B (zh) 2012-12-27 2012-12-27 一种资源查找定位的方法和系统

Country Status (1)

Country Link
CN (1) CN103902577B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106980697A (zh) * 2017-04-07 2017-07-25 广东浪潮大数据研究有限公司 一种目录分布查询方法及装置
CN108197270B (zh) * 2018-01-04 2021-05-28 中科边缘智慧信息科技(苏州)有限公司 分布式文件系统数据回收方法
CN109062935A (zh) * 2018-06-14 2018-12-21 新华三技术有限公司 一种文件操作的方法和装置
CN113282854A (zh) * 2021-06-01 2021-08-20 平安国际智慧城市科技股份有限公司 数据请求响应方法、装置、电子设备及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6625591B1 (en) * 2000-09-29 2003-09-23 Emc Corporation Very efficient in-memory representation of large file system directories
CN1614591A (zh) * 2004-12-02 2005-05-11 中国科学院计算技术研究所 一种组织和访问分布式文件系统目录的方法
CN101158965A (zh) * 2007-10-25 2008-04-09 中国科学院计算技术研究所 一种分布式文件系统的文件读系统和方法
CN101447937A (zh) * 2009-02-27 2009-06-03 北京理工大学 一种基于路径划分与多分布目录的快速数据定位方法
CN101692239A (zh) * 2009-10-19 2010-04-07 浙江大学 一种分布式文件系统元数据分配方法
WO2009134772A3 (en) * 2008-04-29 2010-04-08 Maxiscale, Inc Peer-to-peer redundant file server system and methods

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8972366B2 (en) * 2010-09-29 2015-03-03 Red Hat, Inc. Cloud-based directory system based on hashed values of parent and child storage locations

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6625591B1 (en) * 2000-09-29 2003-09-23 Emc Corporation Very efficient in-memory representation of large file system directories
CN1614591A (zh) * 2004-12-02 2005-05-11 中国科学院计算技术研究所 一种组织和访问分布式文件系统目录的方法
CN101158965A (zh) * 2007-10-25 2008-04-09 中国科学院计算技术研究所 一种分布式文件系统的文件读系统和方法
WO2009134772A3 (en) * 2008-04-29 2010-04-08 Maxiscale, Inc Peer-to-peer redundant file server system and methods
CN101447937A (zh) * 2009-02-27 2009-06-03 北京理工大学 一种基于路径划分与多分布目录的快速数据定位方法
CN101692239A (zh) * 2009-10-19 2010-04-07 浙江大学 一种分布式文件系统元数据分配方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
云计算环境下的分布存储关键技术;王意洁;《云计算环境下的分布存储关键技术》;20120206;第23卷(第4期);第962-986页 *
基于DHT的分布式索引技术研究与实现;吴炜等;《计算机科学》;20100228;第37卷(第2期);第65-70页 *

Also Published As

Publication number Publication date
CN103902577A (zh) 2014-07-02

Similar Documents

Publication Publication Date Title
CN103077199B (zh) 一种文件资源查找定位方法及装置
US8650164B2 (en) Efficient storage and retrieval for large number of data objects
US8412731B2 (en) File management method and system
US9183213B2 (en) Indirection objects in a cloud storage system
AU2016204919B2 (en) Intelligent data delivery and storage based on data characteristics
US8402071B2 (en) Catalog that stores file system metadata in an optimized manner
US8990257B2 (en) Method for handling large object files in an object storage system
US8909668B2 (en) Method of distributing contents and system
JP5488225B2 (ja) データ管理システム、データ管理方法、及びデータ管理プログラム
US7454405B2 (en) File management program, file management process, and file management apparatus
CN106874383A (zh) 一种分布式文件系统元数据的解耦合分布方法
CN106294352B (zh) 一种文件处理方法、装置和文件系统
CN104516974B (zh) 一种文件系统目录项的管理方法及装置
CN106021381A (zh) 一种云存储服务系统的数据访问/存储方法及装置
CN111209259B (zh) Nas分布式文件系统及数据处理方法
CN104536959A (zh) 一种Hadoop存取海量小文件的优化方法
MX2008000520A (es) Indice y busqueda de contenedor inteligente.
CN103902577B (zh) 一种资源查找定位的方法和系统
CN104408111A (zh) 一种删除重复数据的方法及装置
JP5557824B2 (ja) 階層ファイルストレージに対する差分インデクシング方法
CN106484820A (zh) 一种重命名方法、访问方法及装置
CN109522283A (zh) 一种重复数据删除方法及系统
JP2012531688A (ja) メタデータに従ってファイルシステムのファイルにアクセスする方法、およびその方法を実装する装置
CN100357943C (zh) 一种检查机群文件系统中垃圾文件的方法
US8510350B2 (en) Methods and apparatus for distinguishing files from one another in a file system in a computing environment

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant