一种集群文件系统的分布算法的制作方法

文档序号:14689815发布日期:2018-06-15 16:49阅读:135来源:国知局

本发明涉及数据处理技术领域,尤其涉及集群文件系统的分布算法。



背景技术:

随着集群存储技术的发展,集群文件系统的分布对集群的扩展能力特别重要。大多集群文件系统都采用中心节点,元数据服务器的方式来实现,其缺陷在于集群文件系统的扩展受到中心节点,元数据服务器的限制。



技术实现要素:

本发明的其中一个目的是提出一种集群文件系统的分布算法,解决了现有技术存在集群文件系统的扩展受到限制的技术问题。本发明提供的诸多技术方案中的优选技术方案所能产生的诸多技术效果详见下文阐述。

为实现上述目的,本发明提供了以下技术方案:

一种集群文件系统的分布算法,所述算法通过按照集群文件系统中的虚拟节点数将MD5值分成至少一个相等范围,每一个MD5值范围对应于集群文件中的一个虚拟节点,每个虚拟节点上存储有集群文件目录,所述MD5值会根据虚拟节点的数量进行动态调整。

优选地,通过MD5算法计算出的集群文件目录的MD5值,在范围值中查找该MD5值,确定集群文件中的虚拟节点,进而确定文件位置。

优选地,每个虚拟节点包括至少一个物理节点,所述物理节点用于存储集群文件数据,所述物理节点间存储的集群文件数据相同。

优选地,当集群文件系统中增加或减少虚拟节点时,所述分布算法会重新按新的节点数将MD5值分成至少一个相等范围,并更新MD5值范围对应的集群文件中的虚拟节点。

优选地,所述更新MD5值范围对应的集群文件中的虚拟节点是指现有的文件将通过平衡算法使集群文件按照新的对应关系进行迁移,所述平衡算法会先建立文件关联链接将集群文件链接到新的虚拟节点。

优选地,当集群空闲时,将集群文件中需要迁移的文件迁移到新的虚拟节点。

优选地,当集群文件迁移到新的虚拟节点之后,删除文件关联链接和原有集群文件。

基于上述技术方案,本发明实施例可以有效避免集群文件系统的扩展受到限制。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1为本发明实施例所提供的集群文件系统分布示意图;

图2为本发明实施例优选实施方式所提供的集群文件系统分布示意图。

具体实施方式

下面可以参照附图图1以及文字内容理解本发明的内容以及本发明与现有技术之间的区别点。下文通过附图以及列举本发明的一些可选实施例的方式,对本发明的技术方案(包括优选技术方案)做进一步的详细描述。需要说明的是:本实施例中的任何技术特征、任何技术方案均是多种可选的技术特征或可选的技术方案中的一种或几种,为了描述简洁的需要本文件中无法穷举本发明的所有可替代的技术特征以及可替代的技术方案,也不便于每个技术特征的实施方式均强调其为可选的多种实施方式之一,所以本领域技术人员应该知晓:可以将本发明提供的任一技术手段进行替换或将本发明提供的任意两个或更多个技术手段或技术特征互相进行组合而得到新的技术方案。本实施例内的任何技术特征以及任何技术方案均不限制本发明的保护范围,本发明的保护范围应该包括本领域技术人员不付出创造性劳动所能想到的任何替代技术方案以及本领域技术人员将本发明提供的任意两个或更多个技术手段或技术特征互相进行组合而得到的新的技术方案。

本发明实施例提供了一种集群文件系统的分布算法。

下面结合图1对本发明提供的技术方案进行更为详细的阐述。

本发明实施例所提供的一种集群文件系统的分布算法,所述算法通过按照集群文件系统中的虚拟节点数将MD5(信息摘要算法第五版)值分成至少一个相等范围,每一个MD5值范围对应于集群文件中的一个虚拟节点,每个虚拟节点上存储有集群文件目录,所述MD5值会根据虚拟节点的数量进行动态调整。如图1所示,将MD5值分成两个范围,分别对应两个虚拟节点,其中第一虚拟节点VirNode1对应的MD5值范围是00000000~7FFFFFFF,第二虚拟节点VirNode2对应的MD5值范围是8FFFFFFF~FFFFFFFF,在第一虚拟节点和第二虚拟节点下均存储有集群文件目录,在查找文件时,首先获取文件的绝对路径即集群文件目录,再通过MD5算法计算出集群文件目录的MD5值,然后在范围值中查找该MD5值,确定集群文件中的虚拟节点,进而确定文件位置,比如一个文件目录的MD5值为2FFFFFFF,则该文件位于第一虚拟节点VirNode1,再通过文件查找算法在第一虚拟节点VirNode1中找到文件。

如图2所示,每个虚拟节点包括至少一个物理节点,所述物理节点用于存储集群文件数据,所述物理节点间存储的集群文件数据相同。数据会存储在多个物理节点上,每个物理节点上都会有一份完整的文件数据。这样每个虚拟节点内的数据将形成冗余,即使用虚拟节点内有物理节点坏掉也能保证文件数据的安全可用。

当集群文件系统中增加或减少虚拟节点时,MD5范围值会根据节点的数量进行动态的调整,即采用弹性MD5范围,可以有效避免集群文件系统的扩展受到限制。所述分布算法会重新按新的节点数将MD5值分成至少一个相等范围,并更新MD5值范围对应的集群文件中的虚拟节点。也就是说,当集群文件系统中增加或减少虚拟节点时,MD5范围值将会重新按新的虚拟节点数进行计算,新的MD5范围值将重新和虚拟节点建立对应关系。

数据平衡操作由另外的算法即平衡算法来完成,在其运行的过程中会产生数据迁移,为了不对集群性能造影响,采用文件链接的方式先将文件按新的MD5分布进行关联,即建立文件关联链接将集群文件链接到新的虚拟节点上,当集群空闲时才进行真正的迁移操作。迁移完成后删除文件关联链接和原有集群文件。

上述本发明所公开的任一技术方案除另有声明外,如果其公开了数值范围,那么公开的数值范围均为优选的数值范围,任何本领域的技术人员应该理解:优选的数值范围仅仅是诸多可实施的数值中技术效果比较明显或具有代表性的数值。由于数值较多,无法穷举,所以本发明才公开部分数值以举例说明本发明的技术方案,并且,上述列举的数值不应构成对本发明创造保护范围的限制。

如果本文中使用了“第一”、“第二”等词语来限定零部件的话,本领域技术人员应该知晓:“第一”、“第二”的使用仅仅是为了便于描述上对零部件进行区别如没有另行声明外,上述词语并没有特殊的含义。

另外,上述本发明公开的任一技术方案中所应用的用于表示位置关系或形状的术语除另有声明外其含义包括与其近似、类似或接近的状态或形状。本发明提供的任一部件既可以是由多个单独的组成部分组装而成,也可以为一体成形工艺制造出来的单独部件。

最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制;尽管参照较佳实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的具体实施方式进行修改或者对部分技术特征进行等同替换;而不脱离本发明技术方案的精神,其均应涵盖在本发明请求保护的技术方案范围当中。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1