CN103902577B - 一种资源查找定位的方法和系统 - Google Patents
一种资源查找定位的方法和系统 Download PDFInfo
- 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
- file name
- information
- node
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 20
- 238000013500 data storage Methods 0.000 claims description 2
- 230000004048 modification Effects 0.000 claims description 2
- 238000012986 modification Methods 0.000 claims description 2
- 230000003993 interaction Effects 0.000 description 9
- 230000008569 process Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 230000001788 irregular Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000009428 plumbing Methods 0.000 description 1
- 125000006850 spacer group Chemical group 0.000 description 1
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/18—File system types
- G06F16/182—Distributed file systems
- G06F16/1824—Distributed file systems implemented using Network-attached Storage [NAS] architecture
- G06F16/183—Provision of network file services by network file servers, e.g. by using NFS, CIFS
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)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
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所述一种资源查找定位的系统,其特征在于,所述客户端包括缓存,所述缓存用于存储元数据。
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)
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)
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)
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 |
-
2012
- 2012-12-27 CN CN201210579135.9A patent/CN103902577B/zh active Active
Patent Citations (6)
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)
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 |
---|---|---|
CN104123359B (zh) | 一种分布式对象存储系统的资源管理方法 | |
CN106874383B (zh) | 一种分布式文件系统元数据的解耦合分布方法 | |
US11221921B2 (en) | Method, electronic device and computer readable storage medium for data backup and recovery | |
CN113986873B (zh) | 一种海量物联网数据模型化的处理、存储与共享方法 | |
CN103002027B (zh) | 基于键值对系统实现树形目录结构的数据存储系统及方法 | |
US8990257B2 (en) | Method for handling large object files in an object storage system | |
CN103020078B (zh) | 分布式实时数据库数据层次索引方法 | |
US9183213B2 (en) | Indirection objects in a cloud storage system | |
CN103077199B (zh) | 一种文件资源查找定位方法及装置 | |
US10430443B2 (en) | Method for data maintenance | |
EP2629212A1 (en) | Method for storing and searching tagged content items in a distributed system | |
CN106021381A (zh) | 一种云存储服务系统的数据访问/存储方法及装置 | |
CN109522283B (zh) | 一种重复数据删除方法及系统 | |
US20070143286A1 (en) | File management method in file system and metadata server therefor | |
CN104408111A (zh) | 一种删除重复数据的方法及装置 | |
CN111209259B (zh) | Nas分布式文件系统及数据处理方法 | |
CN105930345A (zh) | 基于分布式实时数据库的层次索引方法 | |
US11775480B2 (en) | Method and system for deleting obsolete files from a file system | |
CN103902577B (zh) | 一种资源查找定位的方法和系统 | |
CN106202492A (zh) | 一种网络文件系统的元数据服务优化方法及系统 | |
CN109213760A (zh) | 非关系数据存储的高负载业务存储及检索方法 | |
CN107659626B (zh) | 面向临时元数据的分离存储方法 | |
JP2005063374A (ja) | データ管理方法、データ管理装置、およびそのためのプログラムならびに記録媒体。 | |
CN103685453B (zh) | 一种云存储系统中元数据的获取方法 | |
Shang et al. | Ndnfs: An ndn-friendly file system |
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 |