一种基于轮询的负载均衡方法和装置与流程

文档序号:11960521阅读:230来源:国知局
一种基于轮询的负载均衡方法和装置与流程

本发明属于分布式存储软件技术领域,特别是涉及一种基于轮询的负载均衡方法和装置。



背景技术:

计算机通过文件系统来管理和存储数据,而信息爆炸时代中,人们可以获取的数据以指数形式增长,因此单纯通过增加硬盘个数来扩展计算机文件系统存储容量的方式,在容量大小、容量增长速度、数据备份和数据安全等方面的表现都差强人意。

分布式文件系统就有效解决了上述数据存储和管理的难题,这种分布式文件系统将固定于某个地点的某个文件系统,扩展到任意多个地点/多个文件系统,众多的节点组成一个文件系统网络。每个节点可以分布在不同的地点,通过网络进行节点间的通信和数据传输。人们在使用分布式文件系统时,无需关心数据是存储在哪个节点上、或者是从哪个节点从获取的,只需要像使用本地文件系统一样管理和存储文件系统中的数据。

客户端通过域名访问网络存储系统服务(包含CIFS、NFS、FTP、HTTP四类文件共享服务)。当客户端可以通过配置好的域名访问时,域名服务器根据配置好的负载均衡机制返回相应的虚拟IP地址,最终用户实际通过该IP地址与集群节点建立网络存储系统连接。

然而,上述分布式文件系统在运行时,会使得客户端请求都集中在一个节点上,如果集群端的节点出现宕机或者网络访问故障等问题时,集中在此节点上的客户端访问连接将会受到影响,如果分布式文件系统没有访问冗余机制,此集群节点的故障,对客户端的影响将会是巨大的且不可挽回的。



技术实现要素:

为解决上述问题,本发明提供了一种基于轮询的负载均衡方法和装置,能够将客户端访问压力按照顺序的方式分摊到各个集群节点上,而且不影响不占用数据网络带宽,不会对数据IO性能造成影响。

本发明提供的一种基于轮询的负载均衡方法,包括:

接收客户端的DNS请求;

利用PIPE将读取的配置文件放入内存;

当判断采用轮询策略时,按照轮询策略获取目标IP地址,并将所述目标IP地址返回所述客户端;

利用所述目标IP地址访问网络存储系统。

优选的,在上述基于轮询的负载均衡方法中,

在所述利用PIPE将读取的配置文件放入内存之后还包括:

判断是否采用轮询策略,如果否,则采用其他策略。

优选的,在上述基于轮询的负载均衡方法中,

所述按照轮询策略获取目标IP地址包括:

对地址池中对应的物理IP地址进行轮询,选出物理节点;

对所述物理节点对应的虚拟IP地址进行轮询,选出最终的目标IP地址。

优选的,在上述基于轮询的负载均衡方法中,

在所述接收客户端的DNS请求之前还包括:

将高可用模块的虚拟IP地址保存在物理IP地址与虚拟IP地址的对应表里面。

优选的,在上述基于轮询的负载均衡方法中,

所述将高可用模块的虚拟IP地址保存在物理IP地址与虚拟IP地址的对应表里面还包括:

将所有的虚拟IP地址按照物理节点划分为多个虚拟IP地址组,同一组内的所有虚拟IP地址对应同一个物理节点。

本发明提供的一种基于轮询的负载均衡装置,包括:

接收单元,用于接收客户端的DNS请求;

放入单元,用于利用PIPE将读取的配置文件放入内存;

返回单元,用于当判断采用轮询策略时,按照轮询策略获取目标IP地址,并将所述目标IP地址返回所述客户端;

访问单元,用于利用所述目标IP地址访问网络存储系统。

优选的,在上述基于轮询的负载均衡装置中,

还包括:

判断单元,用于判断是否采用轮询策略,如果否,则采用其他策略。

优选的,在上述基于轮询的负载均衡装置中,

所述返回单元具体用于:

对地址池中对应的物理IP地址进行轮询,选出物理节点;

对所述物理节点对应的虚拟IP地址进行轮询,选出最终的目标IP地址。

优选的,在上述基于轮询的负载均衡装置中,

还包括:

保存单元,用于将高可用模块的虚拟IP地址保存在物理IP地址与虚拟IP地址的对应表里面。

优选的,在上述基于轮询的负载均衡装置中,

所述保存单元具体用于将所有的虚拟IP地址按照物理节点划分为多个虚拟IP地址组,同一组内的所有虚拟IP地址对应同一个物理节点。

通过上述描述可知,本发明提供的基于轮询的负载均衡方法和装置,由于该方法包括:先接收客户端的DNS请求,然后利用PIPE将读取的配置文件放入内存,然后当判断采用轮询策略时,按照轮询策略获取目标IP地址,并将所述目标IP地址返回所述客户端,最后利用所述目标IP地址访问网络存储系统,因此能够将客户端访问压力按照顺序的方式分摊到各个集群节点上,而且不影响不占用数据网络带宽,不会对数据IO性能造成影响。

附图说明

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

图1为本申请实施例提供的第一种基于轮询的负载均衡方法的示意图;

图2为本申请实施例提供的第一种基于轮询的负载均衡装置的示意图;

图3为负载均衡总体架构的示意图。

具体实施方式

本发明的核心思想在于提供一种基于轮询的负载均衡方法和装置,能够将客户端访问压力按照顺序的方式分摊到各个集群节点上,而且不影响不占用数据网络带宽,不会对数据IO性能造成影响。

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

本申请实施例提供的第一种基于轮询的负载均衡方法如图1所示,图1为本申请实施例提供的第一种基于轮询的负载均衡方法的示意图。该方法包括如下步骤:

S1:接收客户端的DNS请求;

也就是说,当用户需要进行访问时,就通过客户端发起一个DNS请求,表明需要进行访问。

S2:利用PIPE将读取的配置文件放入内存;

所述PIPE即为通道,将相应的配置文件读取之后放入内存中,以待后续使用。

S3:当判断采用轮询策略时,按照轮询策略获取目标IP地址,并将所述目标IP地址返回所述客户端;

需要说明的是,基于轮询策略,就能够选出高可用的IP地址,实现负载均衡,避免客户端请求都集中在某一处节点而造成故障。

S4:利用所述目标IP地址访问网络存储系统。

在这种情况下,就会将所有的访问请求分散在不同的IP地址上,更加均衡,不会造成访问过于集中的问题。

通过上述描述可知,本申请实施例提供的基于轮询的负载均衡方法,由于该方法包括:先接收客户端的DNS请求,然后利用PIPE将读取的配置文件放入内存,然后当判断采用轮询策略时,按照轮询策略获取目标IP地址,并将所述目标IP地址返回所述客户端,最后利用所述目标IP地址访问网络存储系统,因此能够将客户端访问压力按照顺序的方式分摊到各个集群节点上,而且不影响不占用数据网络带宽,不会对数据IO性能造成影响。

本申请实施例提供的第二种基于轮询的负载均衡方法,是在上述第一种基于轮询的负载均衡方法的基础上,还包括如下技术特征:

在所述利用PIPE将读取的配置文件放入内存之后还包括:

判断是否采用轮询策略,如果否,则采用其他策略。

也就是说,轮询只是其中的一个策略,该方案并不排斥其他策略,只要能实现负载均衡即可。

本申请实施例提供的第三种基于轮询的负载均衡方法,是在上述第二种基于轮询的负载均衡方法的基础上,还包括如下技术特征:

所述按照轮询策略获取目标IP地址包括:

对地址池中对应的物理IP地址进行轮询,选出物理节点;

对所述物理节点对应的虚拟IP地址进行轮询,选出最终的目标IP地址。

具体的,分布式文件系统按照轮询机制进行负载均衡,在进行轮询模式时,会进行两次轮询,首先对地址池中对应的物理IP进行轮询,然后再对选出的物理节点对应的虚拟IP进行轮询,选出最终的IP。

本申请实施例提供的第四种基于轮询的负载均衡方法,是在上述第三种基于轮询的负载均衡方法的基础上,还包括如下技术特征:

在所述接收客户端的DNS请求之前还包括:

将高可用模块的虚拟IP地址保存在物理IP地址与虚拟IP地址的对应表里面。

客户端通过域名可以访问集群节点时,分布式集群文件系统中有高可用负载均衡服务,负载均衡模块保存域名与节点高可用模块指定的所有虚拟IP地址间的正向解析关系,为客户端提供域名解析服务。在这种情况下,就能分辨出那些是高可用模块的虚拟IP地址,就能够为后续的轮询提供依据,实现负载均衡。

本申请实施例提供的第五种基于轮询的负载均衡方法,是在上述第四种基于轮询的负载均衡方法的基础上,还包括如下技术特征:

所述将高可用模块的虚拟IP地址保存在物理IP地址与虚拟IP地址的对应表里面还包括:

将所有的虚拟IP地址按照物理节点划分为多个虚拟IP地址组,同一组内的所有虚拟IP地址对应同一个物理节点。

在这种情况下,就能够实现多个客户端通过多个虚拟IP地址来访问同一个物理节点,当该物理节点处于高可用状态时,就能够实现多个客户端的访问。

本申请实施例提供的第一种基于轮询的负载均衡装置如图2所示,图2为本申请实施例提供的第一种基于轮询的负载均衡装置的示意图。该装置包括:

接收单元201,用于接收客户端的DNS请求,当用户需要进行访问时,就通过客户端发起一个DNS请求,表明需要进行访问;

放入单元202,用于利用PIPE将读取的配置文件放入内存,所述PIPE即为通道,将相应的配置文件读取之后放入内存中,以待后续使用;

返回单元203,用于当判断采用轮询策略时,按照轮询策略获取目标IP地址,并将所述目标IP地址返回所述客户端,基于轮询策略,就能够选出高可用的IP地址,实现负载均衡,避免客户端请求都集中在某一处节点而造成故障;

访问单元204,用于利用所述目标IP地址访问网络存储系统,在这种情况下,就会将所有的访问请求分散在不同的IP地址上,更加均衡,不会造成访问过于集中的问题。

通过上述描述可知,本申请实施例提供的基于轮询的负载均衡装置,能够将客户端访问压力按照顺序的方式分摊到各个集群节点上,而且不影响不占用数据网络带宽,不会对数据IO性能造成影响。

本申请实施例提供的第二种基于轮询的负载均衡装置,是在上述第一种基于轮询的负载均衡装置的基础上,还包括如下技术特征:

判断单元,用于判断是否采用轮询策略,如果否,则采用其他策略。

也就是说,轮询只是其中的一个策略,该方案并不排斥其他策略,只要能实现负载均衡即可。

本申请实施例提供的第三种基于轮询的负载均衡装置,是在上述第二种基于轮询的负载均衡装置的基础上,还包括如下技术特征:

所述返回单元具体用于:

对地址池中对应的物理IP地址进行轮询,选出物理节点;

对所述物理节点对应的虚拟IP地址进行轮询,选出最终的目标IP地址。

具体的,分布式文件系统按照轮询机制进行负载均衡,在进行轮询模式时,会进行两次轮询,首先对地址池中对应的物理IP进行轮询,然后再对选出的物理节点对应的虚拟IP进行轮询,选出最终的IP。

本申请实施例提供的第四种基于轮询的负载均衡装置,是在上述第三种基于轮询的负载均衡装置的基础上,还包括如下技术特征:

保存单元,用于将高可用模块的虚拟IP地址保存在物理IP地址与虚拟IP地址的对应表里面。

客户端通过域名可以访问集群节点时,分布式集群文件系统中有高可用负载均衡服务,负载均衡模块保存域名与节点高可用模块指定的所有虚拟IP地址间的正向解析关系,为客户端提供域名解析服务。在这种情况下,就能分辨出那些是高可用模块的虚拟IP地址,就能够为后续的轮询提供依据,实现负载均衡。

本申请实施例提供的第五种基于轮询的负载均衡装置,是在上述第四种基于轮询的负载均衡装置的基础上,还包括如下技术特征:

所述保存单元具体用于将所有的虚拟IP地址按照物理节点划分为多个虚拟IP地址组,同一组内的所有虚拟IP地址对应同一个物理节点。

在这种情况下,就能够实现多个客户端通过多个虚拟IP地址来访问同一个物理节点,当该物理节点处于高可用状态时,就能够实现多个客户端的访问。

下面以图3为例对上述装置进行具体说明,图3为负载均衡总体架构的示意图。基于DNS的负载均衡是一种高效的负载均衡解决方案。对客户端只需要使用域名访问NAS服务,基于DNS的负载均衡将域名解析请求映射为一个虚拟IP,客户端访问最终通过虚拟IP进行数据交互,虚拟IP与集群内实际节点有这个响应的映射关系。当某个节点宕机或者服务异常之后,对应的虚拟IP将会转移到其他节点上,这一过程对用户来说是透明的,不会影响共享的使用。负载均衡模块以PowerDNS软件作为DNS服务组件,通过其PIPE模式连接分布式集群文件系统负载均衡模块来实现负载均衡。SNMP Agent端在分布式集群的所有节点都要运行,主要负责信息的收集和发送:收集Agent端的信息,将收集的到的信息发送manage端,由SmartConnect来接收。

综上所述,利用上述方法和装置,能够在分布式集群文件系统上完成对客户端请求的负载均衡。结合高可用模块提供的虚拟IP,完成对客户端NAS连接的冗余访问。通过轮询方式实现的负载均衡优点如下:客户端访问透明,故障切换对客户端访问无影响;负载均衡的过程不占用数据网络带宽,对IO性能无影响。

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

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