一种分布式文件系统及其数据访问方法

文档序号:7702247阅读:101来源:国知局
专利名称:一种分布式文件系统及其数据访问方法
技术领域
本发明涉及计算机存储技术领域,特别是指一种分布式文件系统及其数据访问方法。
背景技术
在计算机存储领域,云计算(Cloud Computing)是分布式处理 (DistributedComputing)、并行处理(Parallel Computing)和网格计算(Grid Computing) 的发展,或者说是分布式处理、并行处理和网格计算这些计算机科学概念的商业实现。云计 算的基本原理是通过将计算分布在大量的分布式计算机上,而非本地计算机或者远程服 务器中,企业的数据中心的运行则与互联网相似,使企业能够将资源切换到需要的应用上, 根据需求访问计算机和存储系统。换句话说,云计算就是利用特定的网络计算机群来实现 目前家用PC机上硬件、软件和某些存储设备所具有的功能。如图1所示,为云计算系统架构示意图,客户端告诉云该客户端的需求,最后云就 能满足该客户端的需求,而客户端不用管资源配置和流程的细节。客户端提出的需求,比 如需要多大的计算能力,需要部署什么样的软件,需要做什么样的测试。剩下的事情客户 端就都不用管了。云的工作完成后会给客户端一个IP地址,客户端通过这个IP地址来使 用满足他需求的IT环境,这里的客户端可以是分布在全球任意地方的接入网络的个人PC 或企业PC。具体来讲,是由云存储系统中的客户端服务器接收客户端的需求,由客户端服务 器对该需求进行分析,查找元数据服务器,再由元数据服务器找到相应的对象服务器,该对 象服务器通常为具有存储功能的设备,该对象服务器将满足客户端需求的数据返回给客户 端。上述分布式文件系统采取的是对象存储方式,如Lustre、GlusterFS这些系统都 是采取如上述的对象存储方式,这在一定程度上提高了数据传输效率,但对元数据的管理 部分目前只提供了单点模式,即云只有一个元数据服务器,一旦该元数据服务器出现了故 障,整个系统的可靠性将无法保证。发明人在实现本发明的过程中,发现现有技术中至少存在如下问题现有的云计算存储技术无法较好的在提高数据传输效率的同时提高数据的可靠 性。

发明内容
本发明要解决的技术问题是提供一种分布式文件系统及其数据访问方法,使基于 分布式文件系统的存储技术可以在提高数据传输效率的同时提高数据的可靠性。为解决上述技术问题,本发明的实施例提供技术方案如下一方面,提供一种分布式文件系统,包括至少一个客户端服务器,至少一个元数 据服务器,至少一个对象服务器,以及元数据中心服务器;所述至少一个客户端服务器,用于接收客户端的访问请求;
所述元数据中心服务器,用于根据所述客户端的访问请求,向所述至少一个客户 端服务器返回当前可用的元数据服务器的全局唯一元数据服务器标识符;所述至少一个元数据服务器,用于接收所述至少一个客户端服务器根据所述元数 据服务器的全局唯一元数据服务器标识符发送的文件信息,并根据所述文件信息向所述客 户端服务器返回当前可用的对象服务器的全局唯一对象服务器标识符;所述至少一个对象服务器,用于响应所述至少一个客户端服务器根据所述对象服 务器的全局唯一对象服务器标识符发送的访问内容,产生访问结果,并将所述访问结果经 由所述客户端服务器返回所述客户端。优选的,上述分布式文件系统还包括元数据检查服务器,用于对所述至少一个元数据服务器中的至少三个元数据服务 器作数据冗余备份。优选的,上述元数据服务器包括存储单元,用于存储所述至少一个对象服务器的全局唯一对象服务器标识符;所述元数据服务器根据所述文件信息从所述存储单元中获取当前可用的对象服 务器的全局唯一对象服务器标识符,并向所述客户端服务器返回所述对象服务器的全局唯 一对象服务器标识符。优选的,上述分布式文件系统还包括对象中心服务器,用于存储所述至少一个对象服务器的全局唯一对象服务器标识 符,并接收所述元数据服务器转发的所述至少一个客户端服务器根据所述元数据服务器的 全局唯一元数据服务器标识符发送的文件信息,并根据所述文件信息向所述至少一个元数 据服务器返回当前可用的对象服务器的全局唯一对象服务器标识符。优选的,上述分布式文件系统还包括对象检查服务器,用于对所述至少一个对象服务器中的至少三个对象服务器作数 据冗余备份。优选的,上述分布式文件系统还包括备份对象中心服务器,用于对所述对象中心服务器进行备份。优选的,上述分布式文件系统还包括备份元数据中心服务器,用于对所述元数据中心服务器进行备份。另一方面,还提供一种分布式文件系统的数据访问方法,包括接收客户端的访问请求,并发送所述访问请求;接收元数据中心服务器根据所述访问请求返回的当前可用的元数据服务器的全 局唯一元数据服务器标识符;根据所述元数据服务器的全局唯一元数据服务器标识符产生文件信息,并发送所 述文件信息;接收所述元数据服务器根据所述文件信息返回的当前可用的对象服务器的全局 唯一对象服务器标识符;根据所述对象服务器的全局唯一对象服务器标识符发送访问内容;接收所述对象服务器根据所述访问内容产生的访问结果,并将所述访问结果返回 给所述客户端。
优选的,所述根据所述元数据服务器的全局唯一元数据服务器标识符产生文件信 息,并发送所述文件信息之后还包括对至少三个元数据服务器作数据冗余备份。优选的,所述接收元数据中心服务器根据所述访问请求返回的当前可用的元数据 服务器的全局唯一元数据服务器标识符之前还包括元数据中心服务器接收元数据服务器的注册请求,产生所述元数据服务器的全局 唯一元数据服务器标识符,并将所述元数据服务器的全局唯一元数据服务器标识符返回给 所述元数据服务器;元数据服务器接收对象服务器的注册请求,产生所述对象服务器的全局唯一对象 服务器标识符,并将所述对象服务器的全局唯一对象服务器标识符返回给所述对象服务器。本发明的实施例具有以下有益效果上述系统方案中通过增加元数据中心服务器,用来管理多个元数据服务器,将当 前可用的元数据服务器的UUID返回给客户端服务器,由于元数据中心服务器中存储的是 这些元数据服务器的UUID及机器地址等少量关键信息,因此,可以保证数据的传输效率, 同时由于有多个元数据服务器存在,其中一个发生故障时,可以由元数据中心服务器查找 其它的可用的元数据服务器作为替补,这样保证了数据的可靠性。


图1为现有的云计算系统架构示意图;图2为本发明的实施例分布式文件系统的架构示意图;图3为图2所示分布式文件系统的架构的一具体实施例示意图;图4为图2所示分布式文件系统的架构的另一具体实施例示意图;图5为图2所示分布式文件系统的架构的又一具体实施例示意图;图6为本发明的实施例分布式文件系统的数据访问方法流程示意图;图7为图6所示方法的具体应用流程示意图。
具体实施例方式为使本发明的实施例要解决的技术问题、技术方案和优点更加清楚,下面将结合 附图及具体实施例进行详细描述。本发明的实施例针对现有技术中云存储系统无法在提高数据传输效率的同时提 高数据的可靠性的问题,提供一种分布式文件系统及其数据访问的方法。如图2所示,本发明的实施例分布式文件系统,包括至少一个客户端服务器 (Client Server),至少一个元数据服务器(Meta Data Server),至少一个对象服务器 (Object Server),以及元数据中心服务器(Meta Data CenterMaster);其中,至少一个客户端服务器,用于接收客户端的访问请求,该客户端可以是分布 在全球范围内任意一接入网络的个人PC或者企业PC或者是其它通讯设备;客户端的访问 请求主要包括客户端的一些需求,如需要多大的计算能力,需要部署什么样的软件,需要 做什么样的测试等。
元数据中心服务器,用于根据所述客户端的访问请求,向所述至少一个客户 端服务器返回当前可用的元数据服务器的全局唯一标识符UUID(UniVerSally Unique Identify),即元数据服务器标识符;该元数据中心服务器负责对至少一个元数据服务器进 行管理,存储有这些元数据服务器的UUID,机器地址等非常少的数据,以保证该元数据中心 服务器的运行效率,进而保证数据传输效率;至少一个元数据服务器,用于接收所述至少一个客户端服务器根据元数据服务器 的UUID发送的文件信息,并根据所述文件信息向所述客户端服务器返回所述对象服务器 的 UUID ;客户端服务器在接收到元数据中心服务器返回的元数据服务器的UUID后,会根 据该元数据服务器的UUID生成文件信息,该文件信息主要包括文件名、文件ID及相关信 息,并将该文件信息发送至元数据服务器;元数据服务器再根据该文件信息查找当前可用 的对象服务器的UUID,并将查找到的对象服务器的UUID返回给客户端服务器;至少一个对象服务器,用于响应所述至少一个客户端服务器根据对象服务器的 UUID发送的访问内容,产生访问结果,并将所述访问结果经由所述客户端服务器返回所述 客户端;客户端服务器在接收到元数据服务器返回的对象服务器的UUID后,会根据该对 象服务器的UUID及文件信息中的文件ID发送访问内容,例如向对象服务器写文件或者是 从对象服务器读文件;对象服务器响应该访问内容,产生访问结果,例如访问内容如果是客户端服务器 向对象服务器写文件,则客户端服务器会向对象服务器发送文件内容,当写完成时,对象服 务器会向客户端服务器返回一个写完成的报告信息;如果客户端服务器从对象服务器读文 件内容,则客户端服务器会将文件ID发送给对象服务器,对象服务器根据该文件ID将相关 的文件内容返回给客户端服务器,再由客户端服务器将从对象服务器中读取的文件内容返 回给客户端,进而满足客户端的需求。该实施例通过在分布式文件系统中增加元数据中心服务器,用来管理多个元数据 服务器,存储这些元数据服务器的UUID,当其中一个元数据服务器出现故障,该元数据中心 服务器可以查找当前可用的元数据服务器,并将该查找到的元数据服务器的UUID返回给 客户端服务器,由于元数据中心服务器中存储的是这些元数据服务器的UUID及机器地址 等少量关键信息,因此,可以保证数据的传输效率,同时由于有多个元数据服务器存在,其 中一个发生故障时,可以由元数据中心服务器查找其它的可用的元数据服务器作为替补, 这样保证了数据的可靠性。如图3所示,在上述图2所示实施例的基础上,上述分布式文件系统还可包括元数据检查服务器(Meta Data Check),用于对所述至少一个元数据服务器中的 至少三个元数据服务器作数据冗余备份。该元数据检查服务器的作用是将数据和相对应的奇偶校验信息存储到各个元数 据服务器中,当其中一台元数据服务器发生损坏后,利用剩下的数据和相应的奇偶校验信 息去恢复被损坏的数据,类似于RAID 5技术,RAID 5是一种存储性能、数据安全和存储成 本兼顾的存储解决方案。RAID 5不对存储的数据进行备份,而是把数据和相对应的奇偶校 验信息存储到组成RAID 5的各个磁盘上,并且奇偶校验信息和相对应的数据分别存储于不同的磁盘上。当RAID 5的一个磁盘数据发生损坏后,利用剩下的数据和相应的奇偶校验 信息去恢复被损坏的数据。这样进一步提高了分布式文件系统数据的可靠性。在上述图2或者图3所示实施例的基础上,上述分布式文件系统中,元数据服务器 还可包括存储单元,用于存储所有对象服务器的UUID^niversallyUnique Identify,全 局唯一标识符),即对象服务器标识符。也就是说,元数据服务器负责管理所有的对象服务器,存储有对象服务器的UUID, 机器地址,文件名,文件ID以及文件属性(包括文件大小等)。元数据就是描述信息的信息,如元数据可以包括文件的名字空间、访问控制信息 和文件到块的映射信息,以及块当前所在的位置等;元数据服务器也就是存储这些元数据 的服务器,而上述的对象服务器是存储有具体文件内容的服务器。当然,在本发明的实施例中,所有对象服务器的UUID也可以专门存储到一个对象 中心服务器中,该对象中心服务器负责对这些对象服务器的进行管理,因此,如图4所示,在上述图2或者图3所示实施例的基础上,上述分布式文件系统还可 包括对象中心服务器,用于存储所有对象服务器的UUID,并接收所述元数据服务器转 发的所述至少一个客户端服务器根据所述元数据服务器的UUID发送的文件信息,并根据 所述文件信息向所述至少一个元数据服务器返回当前可用的对象服务器的UUID。这样由该 对象中心服务器管理所有的对象服务器,当其中一台对象服务器发生故障时,该对象中心 服务器可以查找其它当前可用的对象服务器,以保证能够向客户端返回客户端需要的数据 fn息o如图5所示,同样,也可以在上述分布式文件系统中增加一对象检查服务器,对至 少一个对象服务器中的至少三个对象服务器作数据冗余备份。该对象检查服务器同样将数据和相对应的奇偶校验信息存储到各个对象服务器 中,当其中一台对象服务器发生损坏后,利用剩下的数据和相应的奇偶校验信息去恢复被 损坏的数据。这样进一步提高了分布式文件系统数据的可靠性。为了进一步提高本发明的实施例分布式文件系统的可靠性,该系统中,对象中心 服务器需要做一个热备份,因此,上述分布式文件系统还包括备份对象中心服务器,用于对所述对象中心服务器进行备份,优选是热备份,以便 该对象中心服务器发生故障时,可以启用该备份对象中心服务器,以确保数据的可靠性。同样,对于元数据中心服务器,也需要有一个备份,优选是热备份,当系统中元数 据中心服务器发生故障时,启用该备份元数据中心服务器,对所述元数据中心服务器进行 备份,进一步确保数据的可靠性。综上,本发明的上述分布式文件系统可以应用到云计算存储系统中,通过增加元 数据中心服务器,对多个元数据服务器进行管理,当其中一个元数据服务器发生故障时,可 以由该元数据中心服务器从其它的可用的元数据服务器中查找相关的元数据,以满足客户 端的需求,在基本不影响数据传输性能的前提下,大大提高系统的安全可靠性;同时还可进 一步增加元数据检查服务器,对各个元数据服务器做数据冗余备份,使元数据服务器在发 生故障,数据损坏时,可以得到恢复,进一步保证了系统中数据的可靠性。同样道理,也可通 过增加对象中心服务器以及对象检查服务器管理对象服务器,进一步保证了系统中数据的可靠性;另外,本发明的实施例分布式文件系统管理扩展更方便,可以任意增加或者减少元 数据服务器以及对象服务器。如图6所示,本发明的实施例还提供一种分布式文件系统的数据访问方法,包括步骤S61,接收客户端的访问请求,并发送所述访问请求;客户端的访问请求主要 包括客户端的一些需求,如需要多大的计算能力,需要部署什么样的软件,需要做什么样 的测试等;步骤S62,接收元数据中心服务器根据所述访问请求返回的当前可用的元数据服 务器的全局唯一元数据服务器标识符UUID ;步骤S63,根据所述元数据服务器的全局唯一元数据服务器标识符UUID产生文件 信息,并发送所述文件信息;该文件信息主要包括文件名、文件ID及相关信息;步骤S64,接收所述元数据服务器根据所述文件信息返回的当前可用的对象服务 器的全局唯一对象服务器标识符UUID ;步骤S65,根据所述对象服务器的全局唯一对象服务器标识符UUID发送访问内 容;步骤S66,接收所述对象服务器根据所述访问内容产生的访问结果,并将所述访问 结果返回给所述客户端。该实施例通过将该当前可用的元数据服务器的UUID返回给客户端服务器,使客 户端服务器根据该元数据服务器的UUID生成文件信息,以及由元数据服务器向客户端服 务器返回当前可用的对象服务器的UUID,使客户端服务器可以根据该对象服务器的UUID 发送访问内容,由对象服务器返回满足客户端需求的文件内容,基本不影响数据传输效率 的前提下,大大提高了数据的可靠性。另外,如图7所示,下面就上述图6所示方法的应用流程进行详细说明步骤S70,元数据中心服务器接收元数据服务器的注册请求;步骤S71,元数据中心服务器根据所述注册请求产生元数据服务器的UUID,并向 所述元数据服务器返回所述元数据服务器的UUID ;步骤S72,元数据服务器接收对象服务器的注册请求;步骤S73,元数据服务器根据所述注册请求产生对象服务器的UUID,并向所述对 象服务器返回所述对象服务器的UUID ;步骤S74,元数据中心服务器接收客户端服务器转发的客户端的访问请求;步骤S75,元数据中心服务器查找元数据服务器的UUID,并向客户端服务器返回 当前可用的元数据服务器的UUID ;步骤S76,客户端服务器接收到元数据服务器的UUID后,产生文件信息,并发送该 文件信息至元数据服务器;步骤S77,元数据服务器根据该文件信息产生文件ID,并查找对象服务器UUID ;并 向元数据检查服务器发送检查结果;步骤S78,元数据检查服务器对元数据服务器进行数据冗余备份,向元数据服务器 返回结果,其中该元数据服务器为至少三个;步骤S79,元数据服务器向客户端服务器返回对象服务器的UUID ;步骤S80,客户端服务器根据对象服务器UUID发送访问内容;
步骤S81,对象服务器根据访问内容,产生访问结果,并将访问结果返回给客户端 服务器,由客户端服务器向客户端返回满足客户端需要的访问结果;该步骤S81中,客户端服务器向对象服务器发送的访问内容可以是向对象服务器 写文件,也可以是从对象服务器读文件,如果是客户端服务器向对象服务器写文件,则客户 端服务器会向对象服务器发送文件内容,当写完成时,对象服务器会向客户端服务器返回 一个写完成的报告信息;如果是客户端服务器从对象服务器读文件内容,则客户端服务器 会将文件ID发送给对象服务器,对象服务器根据该文件ID将相关的文件内容返回给客户 端服务器,再由客户端服务器将从对象服务器中读取的文件内容返回给客户端,进而满足 客户端的需求。在本例的附图7中,是以向对象服务器写文件内容为例进行描述的。综上,本发明的方法实施例通过元数据中心服务器将当前可用的元数据服务器的 UUID返回给客户端服务器,由客户端服务器根据该元数据服务器的UUID产生相关的文件 信息,并发送给元数据服务器,再由元数据服务器返回当前可用的对象服务器UUID,客户端 服务器再根据该对象服务器的UUID发送访问内容,对象服务器响应该访问内容,最后返回 满足客户端需求的访问结果,该方法在保证数据传输效率的同时,保证了数据的可靠性,同 时元数据检查服务器还对元数据服务器进行冗余备份,在元数据服务器发生故障时,可以 利用备份数据对被损坏的数据进行恢复,进一步保证了系统数据的可靠性。以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员 来说,在不脱离本发明所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也 应视为本发明的保护范围。
权利要求
一种分布式文件系统,包括至少一个客户端服务器,至少一个元数据服务器,至少一个对象服务器,其特征在于,还包括元数据中心服务器;所述至少一个客户端服务器,用于接收客户端的访问请求;所述元数据中心服务器,用于根据所述客户端的访问请求,向所述至少一个客户端服务器返回当前可用的元数据服务器的全局唯一元数据服务器标识符;所述至少一个元数据服务器,用于接收所述至少一个客户端服务器根据所述元数据服务器的全局唯一元数据服务器标识符发送的文件信息,并根据所述文件信息向所述客户端服务器返回当前可用的对象服务器的全局唯一对象服务器标识符;所述至少一个对象服务器,用于响应所述至少一个客户端服务器根据所述对象服务器的全局唯一对象服务器标识符发送的访问内容,产生访问结果,并将所述访问结果经由所述客户端服务器返回所述客户端。
2.根据权利要求1所述的分布式文件系统,其特征在于,还包括元数据检查服务器,用于对所述至少一个元数据服务器中的至少三个元数据服务器作 数据冗余备份。
3.根据权利要求1所述的分布式文件系统,其特征在于,所述元数据服务器包括 存储单元,用于存储所述至少一个对象服务器的全局唯一对象服务器标识符; 所述元数据服务器根据所述文件信息从所述存储单元中获取当前可用的对象服务器的全局唯一对象服务器标识符,并向所述客户端服务器返回所述对象服务器的全局唯一对 象服务器标识符。
4.根据权利要求1所述的分布式文件系统,其特征在于,还包括对象中心服务器,用于存储所述至少一个对象服务器的全局唯一对象服务器标识符, 并接收所述元数据服务器转发的所述至少一个客户端服务器根据所述元数据服务器的全 局唯一元数据服务器标识符发送的文件信息,并根据所述文件信息向所述至少一个元数据 服务器返回当前可用的对象服务器的全局唯一对象服务器标识符。
5.根据权利要求4所述的分布式文件系统,其特征在于,还包括对象检查服务器,用于对所述至少一个对象服务器中的至少三个对象服务器作数据冗 余备份。
6.根据权利要求4所述的分布式文件系统,其特征在于,还包括 备份对象中心服务器,用于对所述对象中心服务器进行备份。
7.根据权利要求1-6任一项所述的分布式文件系统,其特征在于,还包括 备份元数据中心服务器,用于对所述元数据中心服务器进行备份。
8. 一种分布式文件系统的数据访问方法,其特征在于,包括 接收客户端的访问请求,并发送所述访问请求;接收元数据中心服务器根据所述访问请求返回的当前可用的元数据服务器的全局唯 一元数据服务器标识符;根据所述元数据服务器的全局唯一元数据服务器标识符产生文件信息,并发送所述文 件信息;接收所述元数据服务器根据所述文件信息返回的当前可用的对象服务器的全局唯一 对象服务器标识符;根据所述对象服务器的全局唯一对象服务器标识符发送访问内容;接收所述对象服务器根据所述访问内容产生的访问结果,并将所述访问结果返回给所 述客户端。
9.根据权利要求8所述的方法,其特征在于,所述根据所述元数据服务器的全局唯一 元数据服务器标识符产生文件信息,并发送所述文件信息之后还包括对至少三个元数据服务器作数据冗余备份。
10.根据权利要求8或9所述的方法,其特征在于,所述接收元数据中心服务器根据 所述访问请求返回的当前可用的元数据服务器的全局唯一元数据服务器标识符之前还包 括元数据中心服务器接收元数据服务器的注册请求,产生所述元数据服务器的全局唯一 元数据服务器标识符,并将所述元数据服务器的全局唯一元数据服务器标识符返回给所述 元数据服务器;元数据服务器接收对象服务器的注册请求,产生所述对象服务器的全局唯一对象服务 器标识符,并将所述对象服务器的全局唯一对象服务器标识符返回给所述对象服务器。
全文摘要
本发明提供一种分布式文件系统及其数据访问方法,其中系统包括至少一个客户端服务器,用于接收客户端的访问请求;元数据中心服务器,用于根据客户端的访问请求,向客户端服务器返回当前可用的元数据服务器的全局唯一元数据服务器标识符;至少一个元数据服务器,用于接收客户端服务器根据元数据服务器的全局唯一标识符发送的文件信息,并根据文件信息向客户端服务器返回当前可用的对象服务器的全局唯一对象服务器标识符;至少一个对象服务器,用于响应客户端服务器根据对象服务器的全局唯一标识符发送的访问内容,产生访问结果,并将访问结果经由客户端服务器返回客户端。本发明在不影响数据传输效率的同时,大大提高了系统的可靠性。
文档编号H04L29/06GK101997823SQ20091009129
公开日2011年3月30日 申请日期2009年8月17日 优先权日2009年8月17日
发明者卢亿雷, 赵晓睿 申请人:联想(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1