本发明专利技术公开了基于GFS的分布式文件系统的元数据分级存储方法和系统,减少主服务器master的内存压力和瓶颈,从而提高分布式文件系统的存储访问性能和可靠性。并且将元数据信息分级存储,既能最大限度地满足用户需求,又可使存储成本最小化。其技术方案为:采用分布式文件系统提供源站服务,通过分级存储主服务器master的元数据信息,也就是在主服务器master启动时将最近一段时间的文件的元数据信息这部分保存在内存中,一些暂时不会被使用到的元数据信息保存在固盘中,还有一些长期都不会被访问的数据还可以直接存储在磁盘中,通过这种元数据存储的分级来减少了master大量元数据信息造成的内存压力和瓶颈。
【技术实现步骤摘要】
本专利技术涉及分布式存储相关的技术,尤其涉及内容分发网络中基于GFS的分布式文件系统中和元数据相关的分级存储方法和系统。
技术介绍
随着互联网应用的种类越来越多,面对不断增长的互联网用户,也带来了不同的不断增长的海量数据。如何提高存储和处理这些海量数据的能力,对于互联网企业是一个巨大的技术挑战。为了解决海量数据存储问题,分布式文件系统应运而生。基于分布式文件系统架构提供存储服务能够充分利用现有的低端硬件设备的处理能力,并提高了用户访问存储的效率和存储服务的可靠性。市面上各种分布式文件系统种类繁多,层出不穷,其中包括了 Google的核心存储平台 GFS (Google 文件系统),Apache 开源社区的 Hadoop,以及 glusterFS、lustre、GPFS(General Parallel File System)等。分布式文件系统的元数据处理方式包括三大类,如GFS、lustre使用的是中央控制元数据服务器,GPFS使用的是分布式元数据服务器模型,glusterFS使用的是无元数据模型。其中以GFS为典型代表的分布式文件系统采用的是服务器/客户端结构,如图1所示,主要组成部分包括元数据服务器master (主服务器)、数据服务器chunk server和客户端c I i ent,三者之间通过各自的网络协议进行指令和数据通信。客户端client可以看作是分布式文件系统的接口,负责应用程序与文件系统的沟通。文件划分成固定大小的chunk,每个chunk由一个64bit的chunk handle唯一标识,由主服务器master创建时分配。所有的客户端client读取文件的时候,都需要首先从主服务器master上获取元数据信息(如图1所示master与client之间的元数据传输),获取到元数据信息之后解析得到数据所在的数据服务器chunk server的ip和chunk的id,根据这些信息进一步与数据服务器chunk server进行交互(如图1所示client与chunkserver之间的数据传输),读取得到所需要的数据。数据服务器chunk server负责存储文件的chunk,根据client提供的chunk信息,读写chunk数据,周期性地向master报告本地存储的chunk状态信息。数据服务器chunk server用于存储的磁盘信息是可配置的,可以将数据服务器chunk server进程所在的服务器的多个disk配置到数据服务器chunk server的管控范围内,用于提供存储。并且数据服务器chunk server之间可以相互复制chunk的副本,这一点有利于提高系统的可靠性。元数据存储在主服务器master上,包括命名空间、访问控制信息、文件到chunk的映射、当前chunks的位置信息等,主服务器master与每个数据服务器chunk server间使用如图1所示的指令交互(管理信息/状态信息)周期地通信,发送管理信息指令到数据服务器chunk server并接收数据服务器chunk server的状态信息。中央控制元数据服务器模式的分布式文件系统结构图如图1所示,其中粗实线表示数据/元数据交互,细实线表示指令交互(管理信息、状态信息)。图2示出了传统的中央控制元数据服务器模式下主服务器master处理客户端请求元数据信息的流程。首先,主服务器接收到客户端发送过来的请求包,解析请求包,如果该请求的操作为读取文件的位置信息的请求,则检查内存中是否存在该文件的元数据信息;如果在内存中找到该文件的元数据信息,则直接将该文件的元数据(位置)信息打包返回给客户端;如果不存在该文件的元数据信息,则打包“no file”或“no chunk ”等相关的错误信息返回给客户端;客户端接收到主服务器的数据包进行解析之后,判断是否去读取实际的数据。在这种分布式文件系统中,主服务器master把所有的元数据信息都保存在内存中,对于有大量小文件的存储需求,单个master的模式往往力不从心,因此对于主服务器master的内存要求很高,并且大量的元数据信息也导致系统的存储访问性能降低。另外,在可靠性方面也存在单一失效点问题,如果主服务器master失效,整个系统将无法正常工作。因此,系统存储访问性能与可靠性上的瓶颈是中央控制元数据服务器模式固有的缺点。
技术实现思路
本专利技术的目的在于解决上述问题,提供了一种基于GFS的分布式文件系统的元数据分级存储方法和系统,减少主服务器master的内存压力和瓶颈,从而提高分布式文件系统的存储访问性能和可靠性。并且将元数据信息分级存储,既能最大限度地满足用户需求,又可使存储成本最小化。本专利技术的技术方案为:本专利技术揭示了一种基于GFS的分布式文件系统的元数据分级存储方法,包括:客户端连接存储元数据信息的主服务器,发送询问读取文件位置信息的请求包;主服务器解析接收到的请求包;若请求的操作为读取文件位置信息的请求,主服务器检查内存中是否存在文件的元数据信息,若有则直接将文件的元数据信息返回给客户端;若内存中不存在文件的元数据信息,则主服务器加载固盘中的元数据信息到内存中,并判断固盘中是否存在文件的元数据信息,若存在则将文件的元数据信息返回给客户端,若不存在则返回错误信息给客户端;客户端根据主服务器返回的元数据信息,连接对应的数据服务器,向数据服务器发送读取数据的请求;数据服务器接收到请求后,向客户端提供真实的数据。根据本专利技术的基于GFS的分布式文件系统的元数据分级存储方法的一实施例,近期使用的文件的元数据信息存储在主服务器的内存中,暂时不会被使用到的文件的元数据信息存储在固盘中,长期不会被访问的文件的元数据信息存储在磁盘中。本专利技术还揭示了一种基于GFS的分布式文件系统的元数据分级存储系统,包括主服务器、客户端、多个数据服务器,其中:客户端包括主服务器交互模块、数据服务器交互模块,其中:主服务器交互模块连接主服务器,向存储元数据信息的主服务器发送询问读取文件位置信息的请求包,接收主服务器返回的元数据信息;数据服务器交互模块连接数据服务器,向数据服务器发送读取数据的请求,接收数据服务器提供的数据;主服务器包括请求包接收解析模块、内存数据查询模块、固盘数据查询模块、元数据信息发送模块,其中:请求包接收解析模块解析接收到的请求包并判断请求的操作是否为读取文件位置信息的请求;内存数据查询模块检查内存中是否存在文件的元数据信息,若有则启动元数据信息发送模块;固盘数据查询模块加载固盘中的元数据信息到内存中,并判断固盘中是否存在文件的元数据信息,若存在则启动元数据信息发送模块;元数据信息发送模块将文件的元数据信息返回给客户端,若不存在文件的元数据信息则返回错误信息给客户端。根据本专利技术的基于GFS的分布式文件系统的元数据分级存储系统的一实施例,近期使用的文件的元数据信息存储在主服务器的内存中,暂时不会被使用到的文件的元数据信息存储在固盘中,长期不会被访问的文件的元数据信息存储在磁盘中。根据本专利技术的基于GFS的分布式文件系统的元数据分级存储系统的一实施例,主服务器的数量为多个且彼此之间的任务不发生重叠,每一元数据独立对应部分文件的读写,客户端还包括一哈希处理模块,对文件名进行哈希处理并本文档来自技高网...
【技术保护点】
一种基于GFS的分布式文件系统的元数据分级存储方法,包括:客户端连接存储元数据信息的主服务器,发送询问读取文件位置信息的请求包;主服务器解析接收到的请求包;若请求的操作为读取文件位置信息的请求,主服务器检查内存中是否存在文件的元数据信息,若有则直接将文件的元数据信息返回给客户端;若内存中不存在文件的元数据信息,则主服务器加载固盘中的元数据信息到内存中,并判断固盘中是否存在文件的元数据信息,若存在则将文件的元数据信息返回给客户端,若不存在则返回错误信息给客户端;客户端根据主服务器返回的元数据信息,连接对应的数据服务器,向数据服务器发送读取数据的请求;数据服务器接收到请求后,向客户端提供真实的数据。
【技术特征摘要】
1.一种基于GFS的分布式文件系统的元数据分级存储方法,包括: 客户端连接存储元数据信息的主服务器,发送询问读取文件位置信息的请求包; 主服务器解析接收到的请求包; 若请求的操作为读取文件位置信息的请求,主服务器检查内存中是否存在文件的元数据信息,若有则直接将文件的元数据信息返回给客户端; 若内存中不存在文件的元数据信息,则主服务器加载固盘中的元数据信息到内存中,并判断固盘中是否存在文件的元数据信息,若存在则将文件的元数据信息返回给客户端,若不存在则返回错误信息给客户端; 客户端根据主服务器返回的元数据信息,连接对应的数据服务器,向数据服务器发送读取数据的请求; 数据服务器接收到请求后,向客户端提供真实的数据。2.根据权利要求1所述的基于GFS的分布式文件系统的元数据分级存储方法,其特征在于,近期使用的文件的元数据信息存储在主服务器的内存中,暂时不会被使用到的文件的元数据信息存储在固盘中,长期不会被访问的文件的元数据信息存储在磁盘中。3.一种基于GFS的分布式文件系统的元数据分级存储系统,包括主服务器、客户端、多个数据服务器,其中: 客户端包括主服务器交互模块、数据服务器交互模块,其中: 主服务器交互模块连接主服务器,向存储元数据信息的主服务器发送询问读取文件位置信息的请求...
【专利技术属性】
技术研发人员:洪珂,陈进贤,周国美,
申请(专利权)人:网宿科技股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。