分布式文件系统和实现方法技术方案

技术编号:12144314 阅读:81 留言:0更新日期:2015-10-03 01:43
本发明专利技术公开了一种分布式文件系统及其实现方法,属于分布式计算技术领域。该方法中,通过名字节点和数据节点之间加入自组织特性,数据节点通过地址匹配自主选择名字节点,把匹配度高的作为自己的主名字节点和备用名字节点;名字节点可以根据自身负载情况接收或者拒绝数据节点的加入;主备节点之间可以互为备份,实时切换。通过本发明专利技术的自组织的分布式文件系统及其实现方法,提高了分布式文件系统的鲁棒性和伸缩性,解决系统瓶颈、单点故障以及规模扩展性的问题。

【技术实现步骤摘要】

本专利技术涉及分布式计算
,特别涉及一种。
技术介绍
随着云计算的兴起,分布式计算技术越来越受到重视;特别是海量数据的处理变成一种常态之后,对分布式文件系统和分布式计算模型的研究非常活跃。在海量数据处理的问题上,如何存储海量数据是最基本的问题;G00gle(谷歌)在2003年发表了《The GoogleFile System》论文,描述了 Google文件系统(Google File System, GFS)如何成功的解决了海量数据的存储问题。基于《The Google File System》的思想,开源社区构建了一个Hadoop DFS (即HDFS)。利用HDFS,可以像Google文件系统一样存储海量数据,在这个数据爆炸性增长的时代,HDFS为各个企业特别是互联网企业提供了一个高可靠、高可用的分布式文件系统。虽然HDFS具有优秀的伸缩性,但是在某些应用领域HDFS单名字节点的设计使其伸缩性受到一定的制约。每个文件在名字节点中都有一个一百字节左右的名字信息数据与之关联。名字节点通过管理这些名字信息数据来实现文件的管理。在存储文本、图片和音频等几十兆字节以下的小文件时,由于存储的文件数量巨大,这样名字节点需要大量的内存来处理文件的名字信息数据。例如存储1G( 10亿)个文件,名字节点需要100B*1G=100GB的内存;目前很多互联网企业存储的文件数量都超过了 10亿这个数量级,若要提供100亿个文件的存储量,名字节点至少需要1000GB的内存,目前几乎没有服务器能达到这个级别。可见在这些应用场景下,名字节点的内存配置直接影响了分布式文件系统的伸缩性。目前提高分布式文件系统名字节点伸缩性的主要思路是用水平伸缩的方法把名字信息数据分配到多台服务器进行管理。具体方法有:(I)把名字节点的名字信息数据交给一个分布式缓存系统进行存储,分布式缓存系统可以满足名字节点在各种应用下的内存需求。这种方案的缺点是名字节点依然是系统的单点,而且其负载能力制约了应该规模的增长。(2)把名字信息数据从名字节点中剥离出来,交由名字信息服务器进行存储和管理,名字节点服务器只需做名字空间和权限的管理即可。与前一种方案相比,这种方案不单只提高了名字节点的伸缩性,还提高了系统的负载能力;但是,与前一方案一样,名字节点依然是系统的单点,系统的可用性受到影响。
技术实现思路
本专利技术的专利技术人发现上述现有技术中存在问题,并因此针对所述问题中的至少一个问题提出了一种新的技术方案。本专利技术的一个目的是提供一种用于分布式文件系统的技术方案。根据本专利技术的第一方面,提供了一种分布式文件系统,包括多个名字节点和数据节点;名字节点,用于存储其他名字节点信息,负责数据节点的接入和数据节点的元数据的存储、访问;接收来自数据节点的加入请求,向数据节点返回接受或拒绝结果,存储加入的数据节点的元数据;数字节点,用于基于自组织能力从多个名字节点中选择候选名字节点,向候选名字节点发送加入请求;接收来自候选名字节点的接受或者拒绝结果,从接受的候选名字节点中确定主名字节点和备用名字节点,主名字节点和备用名字节点具备相互切换的能力。可选地,每个名字节点存储其他临近名字节点的信息。可选地,系统还包括至少I个全局名字节点,全局名字节点存储所有名字节点的信息;每个名字节点至少存储I个全局名字节点信息。可选地,名字节点用于接收文件读取请求,根据文件属性在本地存储的数据节点的元数据中进行检索,如果未能检索到文件,则向本地存储的名字节点泛洪文件读取请求。可选地,数据节点通过地址匹配自主选择候选名字节点,向候选名字节点发送加入请求;候选名字节点接收来自数字节点的加入请求,基于自身负载情况向数字节点返回接受或拒绝结果。可选地,加入请求中还包括拒绝次数;候选名字节点确定拒绝次数大于阈值,则接受数字节点的加入请求。可选地,数据节点还用于将备用名字节点的地址信息发给主名字节点;主名字节点和备用名字节点进行通信,并都把双方的地址信息和信任关系保存在本地,形成一个名字节点的拓扑表。根据本专利技术的另一方面,提供一种分布式文件系统实现方法,系统包括多个名字节点和数据节点,其中,名字节点负责数据节点的接入和数据节点的元数据的存储、访问,并存储其他名字节点信息;方法包括:数字节点基于自组织能力从多个名字节点中选择候选名字节点,向候选名字节点发送加入请求;候选名字节点接收来自数据节点的加入请求,向数据节点返回接受或拒绝结果,存储接受加入的数据节点的元数据;数据节点接收来自候选名字节点的接受或者拒绝结果,从接受的候选名字节点中确定主名字节点和备用名字节点,主名字节点和备用名字节点具备相互切换的能力。可选地,每个名字节点存储其他临近名字节点的信息。可选地,每个名字节点至少存储I个全局名字节点信息,其中,全局名字节点存储所有名字节点的信息;。可选地,该方法还包括:名字节点接收文件读取请求,根据文件属性在本地存储的数据节点的元数据中进行检索,如果检索到文件,则返回检索到的文件;如果未能检索到文件,则向本地存储的名字节点泛洪文件读取请求。可选地,数字节点基于自组织能力从多个名字节点中选择候选名字节点包括:数据节点通过地址匹配选择匹配度高的名字节点为候选名字节点;候选名字节点接收来自数据节点的加入请求、向数据节点返回接受或拒绝结果包括:候选名字节点接收来自数字节点的加入请求,基于自身负载情况向数字节点返回接受或拒绝结果。可选地,加入请求中还包括拒绝次数;方法还包括:候选名字节点确定拒绝次数大于阈值,则接受数字节点的加入请求。可选地,该方法还包括:数据节点将备用名字节点的地址信息发给主名字节点;主名字节点和备用名字节点进行通信,并都把双方的地址信息和信任关系保存在本地,形成一个名字节点的拓扑表。本专利技术的一个优点在于,分布式文件系统中包括多个名字节点,名字节点和数字节点间实现自组织机制实现组织和管理,提高了分布式文件系统的鲁棒性和伸缩性。通过以下参照附图对本专利技术的示例性实施例的详细描述,本专利技术的其它特征及其优点将会变得清楚。【附图说明】构成说明书的一部分的附图描述了本专利技术的实施例,并且连同说明书一起用于解释本专利技术的原理。参照附图,根据下面的详细描述,可以更加清楚地理解本专利技术,其中:图1示出根据本专利技术的分布式文件系统的一个实施例的结构图;图2示出根据本专利技术的分布式文件系统实现方法的一个实施例的流程图;图3示出一个实施例中主名字节点故障后切换的示意图;图4示出一个实施例中备用名字节点故障后切换的示意图。【具体实施方式】现在将参照附图来详细描述本专利技术的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本专利技术的范围。同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本专利技术及其应用或使用的任何限制。对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为授权说明书的一部分。在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅当前第1页1 2 3 本文档来自技高网
...

【技术保护点】
一种分布式文件系统,其特征在于,包括多个名字节点和数据节点;名字节点,用于存储其他名字节点信息,负责数据节点的接入和数据节点的元数据的存储、访问;接收来自数据节点的加入请求,向数据节点返回接受或拒绝结果,存储加入的数据节点的元数据;数字节点,用于基于自组织能力从多个名字节点中选择候选名字节点,向所述候选名字节点发送加入请求;接收来自所述候选名字节点的接受或者拒绝结果,从所述接受的候选名字节点中确定主名字节点和备用名字节点,所述主名字节点和所述备用名字节点具备相互切换的能力。

【技术特征摘要】

【专利技术属性】
技术研发人员:黄海庞涛武娟钱锋
申请(专利权)人:中国电信股份有限公司
类型:发明
国别省市:北京;11

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

1