负载平衡方法、元数据服务器系统及负载平衡系统与流程

文档序号:11879432阅读:214来源:国知局
负载平衡方法、元数据服务器系统及负载平衡系统与流程

本发明涉及元数据库负载平衡技术领域,更具体地说,涉及一种元数据服务器的负载平衡方法、元数据服务器系统及负载平衡系统。



背景技术:

目前,网络文件系统NFS采用集中式服务器结构,这种结构容易在某个服务器上产生热点数据,导致多个服务器之间的任务负载不平衡,从而影响整个系统提供服务的性能。

因此,如何解决多个元数据服务器之间的负载不平衡,是本领域技术人员需要结局的问题。



技术实现要素:

本发明的目的在于提供一种元数据服务器的负载平衡方法、元数据服务器系统及负载平衡系统,以实现解决多个元数据服务器之间的负载不平衡的问题。

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

一种元数据服务器的负载平衡方法,包括:

高级元数据服务器接收客户端发送的写请求,并根据每个二级元数据服务器的负载信息分配与所述客户端对应的二级元数据服务器,并将分配结果发送至所述客户端;

二级元数据服务器接收所述客户端根据所述分配结果发送的基本信息,并根据各个存储节点的负载信息,确定与所述客户端对应的目标存储节点,并将所述基本信息发送至与所述目标存储节点对应的存储代理,以使所述存储代理根据所述基本信息连接所述客户端,并执行所述写请求。

其中,还包括:

所述高级元数据服务器中的第一信息监控模块实时统计并分析每个二级元数据服务器的负载信息。

其中,还包括:

所述二级元数据服务器中的监控信息发送模块,实时统计当前二级元数据服务器的负载信息并发送至所述第一信息监控模块;

所述二级元数据服务器中的第二信息监控模块,实时统计并分析当前二级元数据服务器下的各个存储节点的负载信息。

其中,所述高级元数据服务器根据每个二级元数据服务器的负载信息分配与所述客户端对应的二级元数据服务器,包括:

根据所述每个二级元数据服务器的负载信息,从所有二级元数据服务器中选取负载最轻的二级元数据服务器作为与所述客户端对应的二级元数据服务器;其中,若负载最轻的二级元数据服务器的数量大于一,则根据默认选取规则从负载最轻的二级元数据服务器中选取与所述客户端对应的二级元数据服务器。

其中,所述二级元数据服务器根据各个存储节点的负载信息,确定与所述客户端对应的目标存储节点,包括:

根据各个存储节点的负载信息,从所述存储节点中选取负载最轻的存储节点作为所述客户端的目标存储节点;其中,若负载最轻的存储节点的数量大于一,则根据默认选取规则从所述负载最轻的存储节点中选取所述目标存储节点。

一种元数据服务器系统,包括高级元数据服务器和二级元数据服务器;

所述高级元数据服务器,用于接收客户端发送的写请求,并根据每个二级元数据服务器的负载信息分配与所述客户端对应的二级元数据服务器,并将分配结果发送至所述客户端;

所述二级元数据服务器,用于接收所述客户端根据所述分配结果发送的基本信息,并根据各个存储节点的负载信息,确定与所述客户端对应的目标存储节点,并将所述基本信息发送至与所述目标存储节点对应的存储代理,以使所述存储代理根据所述基本信息连接所述客户端,并执行所述写请求。

其中,所述高级元数据服务器包括:

第一信息监控模块,用于实时统计并分析每个二级元数据服务器的负载信息。

其中,所述二级元数据服务器包括:

监控信息发送模块,用于实时统计当前二级元数据服务器的负载信息并发送至所述第一信息监控模块;

第二信息监控模块,用于实时统计并分析当前二级元数据服务器下的各个存储节点的负载信息。

一种元数据服务器的负载平衡系统,包括上述元数据服务器系统,还包括客户端和存储代理。

通过以上方案可知,本发明实施例提供的一种元数据服务器的负载平衡方法,包括:高级元数据服务器接收客户端发送的写请求,并根据每个二级元数据服务器的负载信息分配与所述客户端对应的二级元数据服务器,并将分配结果发送至所述客户端;二级元数据服务器接收所述客户端根据所述分配结果发送的基本信息,并根据各个存储节点的负载信息,确定与所述客户端对应的目标存储节点,并将所述基本信息发送至与所述目标存储节点对应的存储代理,以使所述存储代理根据所述基本信息连接所述客户端,并执行所述写请求;可见,在本实施例中,将集群文件系统的元数据服务器进行分级,将元数据服务器的任务分配功能和任务处理功能进行分散控制,从而提高系统的并行处理能力,提高整个系统的性能;本发明实施例还公开了一种元数据服务器系统及负载平衡系统,同样能实现上述技术效果。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例公开的一种元数据服务器的负载平衡方法流程示意图;

图2为本发明实施例公开的高级元数据服务器功能结构示意图;

图3为本发明实施例公开的二级元数据服务器功能结构示意图;

图4为本发明实施例公开的一种元数据服务器系统结构示意图;

图5为本发明实施例公开的一种元数据服务器的负载平衡系统结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明实施例公开了一种元数据服务器的负载平衡方法、元数据服务器系统及负载平衡系统,以实现解决多个元数据服务器之间的负载不平衡的问题。

具体的,客户对集群文件系统的访问主要包括读请求和写请求,两者中读请求几乎占到了80%,为了减轻元数据服务器的任务负载,在方案中,如果客户端接收到读请求则直接访问存储代理进行本地下载,如果接收到写请求则按照本实施例提供的负载平衡方法继续执行。

参见图1,本发明实施例提供的一种元数据服务器的负载平衡方法,包括:

S101、高级元数据服务器接收客户端发送的写请求,并根据每个二级元数据服务器的负载信息分配与所述客户端对应的二级元数据服务器,并将分配结果发送至所述客户端;

其中,在本实施例中,还包括:

所述高级元数据服务器中的第一信息监控模块实时统计并分析每个二级元数据服务器的负载信息。

具体的,在本方案中,客户端代理通知高级元数据服务器有写请求到达,高级元数据服务器收到通知后根据各二级元数据服务器的实时负载情况选择负载最轻的二级元数据服务器,并将分配结果反馈给客户端代理。

本方案中的高级元数据服务器为系统的核心,也是整个系统实现良好负载平衡的关键所在,它的任务主要是根据一定的负载平衡算法将客户端传送的写操作请求分配到任务负载较低的二级元数据服务器。参见图2,为本实施例提供的高级元数据服务器功能结构示意图。

S102、二级元数据服务器接收所述客户端根据所述分配结果发送的基本信息,并根据各个存储节点的负载信息,确定与所述客户端对应的目标存储节点,并将所述基本信息发送至与所述目标存储节点对应的存储代理,以使所述存储代理根据所述基本信息连接所述客户端,并执行所述写请求。

基于上述技术方案,所述高级元数据服务器根据每个二级元数据服务器的负载信息分配与所述客户端对应的二级元数据服务器,包括:

根据所述每个二级元数据服务器的负载信息,从所有二级元数据服务器中选取负载最轻的二级元数据服务器作为与所述客户端对应的二级元数据服务器;其中,若负载最轻的二级元数据服务器的数量大于一,则根据默认选取规则从负载最轻的二级元数据服务器中选取与所述客户端对应的二级元数据服务器。

基于上述技术方案,所述二级元数据服务器根据各个存储节点的负载信息,确定与所述客户端对应的目标存储节点,包括:

根据各个存储节点的负载信息,从所述存储节点中选取负载最轻的存储节点作为所述客户端的目标存储节点;其中,若负载最轻的存储节点的数量大于一,则根据默认选取规则从所述负载最轻的存储节点中选取所述目标存储节点。

具体的,在本实施例中,客户端代理将待存文件的基本信息传送给高级元数据服务器指定的二级元数据服务器,二级元数据服务器根据各存储节点的存储负载状况决定文件应该存放在哪个节点上,并通知该节点相应的存储代理;存储代理连接相应的客户端进行文件的传送与存储。

其中,在本实施例中,还包括:

所述二级元数据服务器中的监控信息发送模块,实时统计当前二级元数据服务器的负载信息并发送至所述第一信息监控模块;

所述二级元数据服务器中的第二信息监控模块,实时统计并分析当前二级元数据服务器下的各个存储节点的负载信息。

具体的,本方案中的二级元数据服务器为待存文件选择存储负载较低的存储节点,同时收集本机的实时负载信息,定期向高级元数据服务器报告,二级元数据服务器对存储节点进行分组管理,各组之间的任务操作相互独立。每个二级元数据服务器下的存储代理,驻留在存储节点上,负责存储节点与客户端进行文件的相互传送,同时将本节点的存储负载信息定期报告给二级元数据服务器。参见图3,为本实施例提供的二级元数据服务器功能结构示意图。

具体的,在本方案中将元数据服务器的任务分配功能和任务处理功能进行分散控制,提高系统的并行处理能力;任务分配功能使得任务处理功能总是在负载较轻的情况下实现的,从而提高系统处理任务的速度;同时在选择存储节点进行文件存储时,考虑到该存储节点的存储负载及任务负载,实现了整个系统的负载平衡,有效提高集群文件系统的性能。

下面对本发明实施例提供的元数据服务器系统进行介绍,下文描述的元数据服务器系统与上文描述的负载平衡方法可以相互参照。

参见图4,本发明实施例提供一种元数据服务器系统100,包括高级元数据服务器101和二级元数据服务器102;

所述高级元数据服务器101,用于接收客户端发送的写请求,并根据每个二级元数据服务器的负载信息分配与所述客户端对应的二级元数据服务器,并将分配结果发送至所述客户端;

具体的,高级元数据服务器101中为每个写请求分配二级元数据服务器的为任务分配模块,它是高级元数据服务器最重要的组成部分,它体现了将元数据分级的最终目的:将任务分散处理以提高系统的并行处理能力。

所述二级元数据服务器102,用于接收所述客户端根据所述分配结果发送的基本信息,并根据各个存储节点的负载信息,确定与所述客户端对应的目标存储节点,并将所述基本信息发送至与所述目标存储节点对应的存储代理,以使所述存储代理根据所述基本信息连接所述客户端,并执行所述写请求。

具体的,二级元数据服务器102中向客户端分配存储节点的是存储分配模块,它负责维护各存储节点存储负载的信息表,存有各存储节点的存储负载状态,并完成相应的任务分配。

基于上述技术方案,所述高级元数据服务器101包括:

第一信息监控模块,用于实时统计并分析每个二级元数据服务器的负载信息。

具体的,高级元数据服务器101中的信息监控模块主要处理与二级元数据服务器的交互工作,接收二级元数据服务器定时发送的实时负载状况信息,并对这些信息进行分析处理。

基于上述技术方案,所述二级元数据服务器102包括:

监控信息发送模块,用于实时统计当前二级元数据服务器的负载信息并发送至所述第一信息监控模块;

第二信息监控模块,用于实时统计并分析当前二级元数据服务器下的各个存储节点的负载信息。

具体的,二级元数据服务器102中的信息监控模块负载收集该服务器下各个存储节点存储负载信息,并通过监控信息发送模块报告给高级元数据服务器作为分配任务的依据。

参见图5,本发明实施例提供一种元数据服务器的负载平衡系统,包括上述实施例中的元数据服务器系统100,还包括客户端200和存储代理300。

具体的,本实施例中的客户端代理保存一张全局文件信息表,对待存文件进行分割,组装,把写请求发送到高级元数据服务器上,根据高级元数据服务器返回的任务分配结果,将待存文件信息发送给对应的二级元数据服务器。

本发明实施例提供的一种元数据服务器的负载平衡方法、元数据服务器系统及负载平衡系统,包括:高级元数据服务器接收客户端发送的写请求,并根据每个二级元数据服务器的负载信息分配与所述客户端对应的二级元数据服务器,并将分配结果发送至所述客户端;二级元数据服务器接收所述客户端根据所述分配结果发送的基本信息,并根据各个存储节点的负载信息,确定与所述客户端对应的目标存储节点,并将所述基本信息发送至与所述目标存储节点对应的存储代理,以使所述存储节点根据所述基本信息连接所述客户端,并执行所述写请求;

可见,在本实施例中,将集群文件系统的元数据服务器进行分级,即包括两级元数据服务器,将元数据服务器的任务分配功能和任务处理功能进行分散控制,从而提高系统的并行处理能力,提高整个系统的性能;

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

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