一种应用于分布式文件系统的文件副本异步写方法技术方案

技术编号:9620714 阅读:79 留言:0更新日期:2014-01-30 09:39
本发明专利技术涉及一种应用于分布式文件系统的文件副本异步写方法,该发明专利技术应用于分布式文件系统写操作中,由元数据、定时检查、数据存储、写控制和数据服务器序号表五模块组成,该发明专利技术以保证数据可靠性为前提,完成用户向分布式文件系统写文件的操作,提高分布式文件系统写操作速率。

File copy asynchronous writing method applied to distributed file system

A copy of the asynchronous write the invention relates to a method used in the distributed file system, this method is applied to a distributed file system write operation, composed of metadata, regular check, data storage, write control and data server serial number table five module, the invention in order to ensure the reliability of data is the premise of complete user write files to distributed file the operation of the system, improve the write operation rate of distributed file system.

【技术实现步骤摘要】

本专利技术涉及,以提高分布式文件系统中写文件的速度,属于计算机科学与

技术介绍
随着云时代的到来,每天互联网上都会产生数以亿计的数据,这种数量级的数据已经远远超出了一台计算机的存储能力和处理能力。分布式存储系统因为具有海量数据存储、高扩展性、高性能、高可靠性、高可用性的特点,目前正被作为企业海量数据存储方案被业界所广泛讨论和应用。文件包含元数据和数据两部分。元数据包括文件名字、大小、访问权限和数据存储位置等属性信息。数据是真正的文件内容。分布式文件系统采用元数据和数据分离的存储方式,元数据服务器存放元数据,数据服务器机群存放数据。分布式文件系统采用多文件副本的方式存储文件,即一个文件的数据拥有多个文件副本,分别存储在不同数据服务器里。当一台或多台数据服务器意外宕机时,这个文件的数据依然可用。多文件副本的方式大大提高了分布式文件系统的可靠性。当用户上传一个文件到分布式文件系统,只有数据服务器机群指定的数据服务器都成功写入了文件副本,才会向用户响应上传成功。数据服务器机群一般采用链式写文件副本的方法。如图1所示,用户向第一台数据服务器发送数据包,第一台数据服务器先把数据包转发给下一台数据服务器,再写数据到本地硬盘,然后等待下一台数据服务器的响应。之后的所有数据服务器都是如此,数据包逐个向后传。直到最后一台数据服务器写数据到硬盘后,创建写成功的响应包并发给上一台数据服务器。上一台数据服务器收到响应包并且自己已经写数据到硬盘,才能向上一台数据服务器发送写成功响应包。直到用户收到写成功的响应包,则本次写操作完成。链式写副本的方式需要所有指定的数据服务器都把文件数据写入到本地硬盘,然后由最后一台数据服务器依次向前一台发送写成功的响应,直到数据服务器。如果有一台数据服务器写失败,则认为是本次写操作失败,这次写操作需要重新执行。虽然这种方式保证所有副本都可以成功写入数据服务器,但只是由于某个数据服务器写副本失败,就要重新写,代价太大。而且每个数据服务器都写数据到本地硬盘,使得写的速度很慢。为了解决链式写文件副本方法的缺点,本专利技术提出的,保留了链式转发数据的方式,减少了数据服务器写数据的时延,提iu发送与成功的响应,大大提闻了与文件的速度。
技术实现思路
本专利技术“”包括五个模块组成。下面详细介绍和各个组成部分的内容。(I)本专利技术构架本专利技术“”,本专利技术形成的架构如图2所示,主要由元数据服务器和数据服务器两大部分组成。元数据服务器包括元数据和定时检查两个模块。数据服务器包括数据存储、写控制和数据服务器序号表三个模块。_9] (2)本专利技术的五个组成模块本专利技术“”由五个模块组成,它由元数据、定时检查、数据存储、写控制和数据服务器序号表五模块组成。以下就各功能模块及其方法作详细说明。?元数据模块:存放元数据的模块,元数据包括文件大小、创建时间、修改时间、访问权限和数据存放在哪台数据服务器等元数据信息。?定时检查模块:每过一段时间,此模块根据元数据信息检查各个数据服务器上的数据是否存在、完整或是最新的数据。如果副本数不满足,则元数据服务器根据一定规则选择数据服务器创建副本,以满足用户要求。它是整个方法的“检查模块”,也是数据可靠性的重要保障。?数据存储模块:存放真正的数据。?写控制模块:先把网络接口中收到的数据读到内存,再把数据写到下一台数据服务器的网络接口,最后把内存中的数据写到本地磁盘。?数据服务器序号表:记录了本次写操作过程中数据服务器的序号。根据自己是第几台数据服务器,决定是否要向前一台数据服务器或客户端发送写成功的响应包。第一台数据服务器保证数据写到硬盘才能发送写成功的响应包。第二台数据服务器保证数据写到内存即可发送写成功的响应包。其他数据服务器只需写数据到本地硬盘和转发数据包给下一台数据服务器,无需返回是否写成功的响应包。(3)本专利技术各模块的执行流程·为了说明本专利技术执行流程,图3详细描述了文件副本异步写的过程,图4描述了定时检查文件副本。两图共同说明了本专利技术各模块之间的关系和本专利技术的执行流程,本专利技术的具体执行流程如下:客户端挂载到分布式文件系统,在某个目录下进行写文件操作。副本数要求是η(η>=1),当客户端要向分布式文件系统中写数据时,首先向元数据服务器发送写数据的请求。元数据服务器接到请求后,选取空间使用率较低的η台数据服务器,并把η台数据服务器的IP地址发给客户端。客户端向数据服务器写数据。客户端根据一定规则把数据服务器的IP地址排序,并与第一台数据服务器建立网络连接,把数据包发给第一台数据服务器。此数据包的内容包括剩余数据服务器的IP地址、数据服务器序号值(客户端默认为O)和真正的数据等信息。第一台数据服务器接收到数据包后,把数据包内容写入内存,将数据包中的数据服务器序号值加1,并把这个值存到数据服务器序号表中,再解析出下一台数据服务器的IP地址,把数据包发送给下一台数据服务器,然后把内存中的数据写到本地磁盘,完成后变为等待第二台数据服务器的状态。第二台数据服务器收到数据包后,把其内容写入内存,然后将数据包中的数据服务器序号值加1,并把这个值存到数据服务器序号表中,立即向前一台数据服务器发送写数据成功的响应包,再向下一台数据服务器发送数据包。第一台数据服务器收到响应包并且已经把数据写到本地磁盘,则向客户端发送写数据成功的响应包。其他数据服务器收到数据包后,都会将数据服务器序号值加1,作为自己本次写操作的序号,由于其数据服务器序号值大于2,所以只需写数据和向下一台数据服务器发送数据包,无需返回是否写成功的响应包。最后,客户端将写入数据服务器的字节数等信息发给元数据服务器,元数据服务器根据这些内容修改元数据。此外,每过一定的时间,元数据服务器的定时检查模块会根据元数据信息检查各个数据服务器上的文件副本是否存在、完整或是最新的数据。如果副本不符合要求,则元数据服务器根据一定规则选择数据服务器创建文件副本,以满足用户要求。以此来加强数据可靠性的保证。【附图说明】图1分布式文件系统链式写副本图2 —种应用于分布式文件系统的文件副本异步写方法架构图图3文件副本异步写流程图4定时检查文件副本【具体实施方式】下面对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例也仅仅是本专利技术的一部分实施例,而不是全部实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。为了说明“”,这里给出一个“用户A把本地文件上传到分布式文件系统根目录下,副本数等于3的例子”。用户A进入到分布式文件系统根目录后,首先向元数据服务器发送写数据的请求。元数据服务器接到请求后,选取空间使用率较低的N台数据服务器,让它们创建指定同一编号的文件块,这些空的文件块即用来存储数据。所有数据服务器创建好文件块后,元数据服务器把文件块编号和N台数据服务器的IP地址发送给用户A。用户A向数据服务器写数据。用户A把数据服务器的IP地址根据一定规则排序,并与第一台数据服务器建立网络连接,把数据包发给第一台数据服务器。此数据包的内容包括剩余数据服务器的IP地址、数据服务器序号值(用户A默认为O)、文件块编号、文件版本和真正的数据等信息。第一台数据服务器接收到本文档来自技高网
...

【技术保护点】
一种应用于分布式文件系统的文件副本异步写方法,其特征在于,所述方法针对分布式文件系统链式写文件副本,以保证数据可靠性为前提,提高分布式文件系统写操作速率。

【技术特征摘要】
1.一种应用于分布式文件系统的文件副本异步写方法,其特征在于,所述方法针对分布式文件系统链式写文件副本,以保证数据可靠性为前提,提高分布式文件系统写操作速率。2.权利要求1所述方法,其特征在于,用户向数据服务器写文件,采用了写到内存即响应写成功的机制,减少了写磁盘的时延,提高了写操作速率。3.权利要求1所述方法,其特征在于,采用了数据服务器序号表,标明了在一次链式写操作中数据服务器的序号,序号大于2...

【专利技术属性】
技术研发人员:陆月明杨宇
申请(专利权)人:北京邮电大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1