一种基于IPV6机制的负载均衡方法及系统技术方案

技术编号:25921227 阅读:34 留言:0更新日期:2020-10-13 10:41
本申请公开了一种基于IPV6机制的负载均衡方法及系统,该方法包括:在配置文件中增加IPV6机制开关,当IPV6机制开关处于开启状态时根据客户端的域名解析请求,识别客户端的物理IP类型,根据客户端的物理IP类型和配置文件中域名对应的负载均衡策略解析获取到相应的虚拟IP,然后判断该虚拟IP是否存在与配置文件的虚拟IP地址池中,如果存在于虚拟地址池中,将该虚拟IP返回至客户端,最后,客户端根据存在与虚拟地址池中的虚拟IP访问服务器集群。该系统包括:开关设置模块、第一判断模块、识别模块、解析模块、第二判断模块、返回模块和访问模块。通过本申请,能够提高域名访问的正确性,从而提高客户端的域名访问效率。

【技术实现步骤摘要】
一种基于IPV6机制的负载均衡方法及系统
本申请涉及网络数据处理
,特别是涉及一种基于IPV6机制的负载均衡方法及系统。
技术介绍
负载均衡业务,是在分布式文件系统中,基于pdns提供可控的轮询策略、连接策略域名解析均衡的一种服务。如何实现负载均衡,是本领域技术人员关注的问题。目前的负载均衡策略主要包括:轮询法、加权轮询法、最小连接数法等,配置文件中既有服务端节点的虚拟ipv4,又包括虚拟ipv6,算法主要是根据客户端的域名解析请求分配后端服务器,最终达到负载均衡目的。然而目前的负载均衡策略中,由于配置文件中对服务端节点的虚拟ip不进行分类,无论客户端的ip类型为ipv4还是ipv6,均无法预测服务端将要返回的虚拟ip类型,从而导致客户端接收到与自身类型不同的虚拟ip,进而造成客户端访问失败的情况,无法正确地进行域名访问。因此,目前的负载均衡策略使得客户端的访问效率较低。
技术实现思路
本申请提供了一种基于IPV6机制的负载均衡方法,以解决现有技术中负载均衡策略导致客户端的域名访问效率较低的问题。为了解决上述技术问题,本申请实施例公开了如下技术方案:一种基于IPV6机制的负载均衡方法,所述方法包括:在配置文件中增加IPV6机制开关,且所述配置文件的虚拟IP地址池中包括三个结构体,定义结构体1用于保存虚拟IPV4和虚拟IPV6,结构体2用于保存虚拟IPV4,结构体3用于保存虚拟IPV6;判断所述IPV6机制开关是否处于开启状态;如果是,根据客户端的域名解析请求,识别客户端的物理IP类型;根据客户端的物理IP类型和配置文件中域名对应的负载均衡策略,解析得到与客户端的物理IP类型相匹配的虚拟IP,其中,服务端节点地址池中每个服务端节点设置有一个物理IP和多个虚拟IP;判断所述虚拟IP是否存在于配置文件的虚拟IP地址池中;如果是,将所述虚拟IP返回至客户端;客户端根据所述虚拟IP访问服务器集群。可选地,所述在配置文件中增加IPV6机制开关,包括:设置每个域名对应一个IPV6机制开关;定义域名1对应的IPV6机制开关为开启状态;定义域名2对应的IPV6机制开关为关闭状态。可选地,所述根据客户端的域名解析请求,识别客户端的物理IP类型,包括:根据客户端的域名解析请求,判断所述域名解析请求中的域名是否存在于配置文件中;如果是,获取内存中保存的域名以及所述域名下的参数;根据内存中保存的域名以及域名下的参数,确定客户端的物理IP类型。可选地,所述根据客户端的物理IP类型和配置文件中域名对应的负载均衡策略,解析得到与客户端的物理IP类型相匹配的虚拟IP,包括:根据客户端的物理IP类型,从内存中获取IP对应表;判断所述IP对应表是否为空;如果否,根据当前的负载均衡策略获取与当前的负载均衡策略相匹配的服务端物理IP;根据所述参数,判断当前域名是否已开启IPV6机制开关;如果是,根据客户端的物理IP类型,获取所述物理IP类型对应的虚拟IP地址;如果否,根据IP对应表获取与当前的负载均衡策略相匹配的服务端物理IP,获取所述服务端物理IP对应的虚拟IP地址。可选地,根据客户端的域名解析请求,判断所述域名解析请求中的域名是否存在于配置文件中之前,所述方法还包括:在服务端集群中选取一个节点作为DNS(DomainNameSystem,域名系统)节点;服务端集群中所有节点采集自身的性能参数,并将所述性能参数发送至DNS节点;所述DNS节点将所有节点的性能参数保存至内存中。一种基于IPV6机制的负载均衡系统,所述系统包括:开关设置模块,用于在配置文件中增加IPV6机制开关,且配置文件的虚拟IP地址池中包括三个结构体,定义结构体1用于保存虚拟IPV4和虚拟IPV6,结构体2用于保存虚拟IPV4,结构体3用于保存虚拟IPV6;第一判断模块,用于判断IPV6机制开关是否处于开启状态;识别模块,用于当IPV6机制开关处于开启状态时,根据客户端的域名解析请求,识别客户端的物理IP类型;解析模块,用于根据客户端的物理IP类型和配置文件中域名对应的负载均衡策略,解析得到与客户端的物理IP类型相匹配的虚拟IP,其中,服务端节点地址池中每个服务端节点设置有一个物理IP和多个虚拟IP;第二判断模块,用于判断虚拟IP是否存在于配置文件的虚拟IP地址池中;返回模块,用于当虚拟IP存在于配置文件的虚拟IP地址池中时,将虚拟IP返回至客户端;访问模块,设置于客户端,用于根据虚拟IP访问服务器集群。可选地,所述识别模块包括:解析请求判断单元,用于根据客户端的域名解析请求,判断所述域名解析请求中的域名是否存在于配置文件中;参数获取单元,用于当所述域名解析请求中的域名存在于配置文件中时,获取内存中保存的域名以及所述域名下的参数;IP类型确定单元,用于根据内存中保存的域名以及域名下的参数,确定客户端的物理IP类型。可选地,所述解析模块包括:IP对应表获取单元,用于根据客户端的物理IP类型,从内存中获取IP对应表;第一判断单元,用于判断所述IP对应表是否为空;服务端物理IP获取单元,用于当所述IP对应表不为空时,根据当前的负载均衡策略获取与当前的负载均衡策略相匹配的服务端物理IP;第二判断单元,用于根据所述参数,判断当前域名是否已开启IPV6机制开关;第一虚拟IP地址获取单元,用于当前域名已开启IPV6机制开关时,根据客户端的物理IP类型,获取所述物理IP类型对应的虚拟IP地址;第二虚拟IP地址获取单元,用于当前域名未开启IPV6机制开关时,根据IP对应表获取与当前的负载均衡策略相匹配的服务端物理IP,获取所述服务端物理IP对应的虚拟IP地址。可选地,所述识别模块中还包括:DNS节点单元,用于在服务端集群中选取一个节点作为DNS节点;节点性能参数采集单元,用于控制服务端集群中所有节点采集自身的性能参数,并将所述性能参数发送至DNS节点;保存单元,用于将所有节点的性能参数保存至内存中。本申请的实施例提供的技术方案可以包括以下有益效果:本申请提供一种基于IPV6机制的负载均衡方法,该方法首先在配置文件中增加IPV6机制开关,然后当IPV6机制开关处于开启状态时根据客户端的域名解析请求,识别客户端的物理IP类型,其次根据客户端的物理IP类型和配置文件中域名对应的负载均衡策略解析获取到相应的虚拟IP,然后判断该虚拟IP是否存在与配置文件的虚拟IP地址池中,如果存在于虚拟地址池中,则将该虚拟IP返回至客户端,否则说明不是正确的域名地址,不返回。最后,客户端根据存在与虚拟地址池中的虚拟IP访问服务器集群。本实施例通过在配置文件中增加IPV6机制开关,并采用不同的域名匹配不同的开本文档来自技高网...

【技术保护点】
1.一种基于IPV6机制的负载均衡方法,其特征在于,所述方法包括:/n在配置文件中增加IPV6机制开关,且所述配置文件的虚拟IP地址池中包括三个结构体,定义结构体1用于保存虚拟IPV4和虚拟IPV6,结构体2用于保存虚拟IPV4,结构体3用于保存虚拟IPV6;/n判断所述IPV6机制开关是否处于开启状态;/n如果是,根据客户端的域名解析请求,识别客户端的物理IP类型;/n根据客户端的物理IP类型和配置文件中域名对应的负载均衡策略,解析得到与客户端的物理IP类型相匹配的虚拟IP,其中,服务端节点地址池中每个服务端节点设置有一个物理IP和多个虚拟IP;/n判断所述虚拟IP是否存在于配置文件的虚拟IP地址池中;/n如果是,将所述虚拟IP返回至客户端;/n客户端根据所述虚拟IP访问服务器集群。/n

【技术特征摘要】
1.一种基于IPV6机制的负载均衡方法,其特征在于,所述方法包括:
在配置文件中增加IPV6机制开关,且所述配置文件的虚拟IP地址池中包括三个结构体,定义结构体1用于保存虚拟IPV4和虚拟IPV6,结构体2用于保存虚拟IPV4,结构体3用于保存虚拟IPV6;
判断所述IPV6机制开关是否处于开启状态;
如果是,根据客户端的域名解析请求,识别客户端的物理IP类型;
根据客户端的物理IP类型和配置文件中域名对应的负载均衡策略,解析得到与客户端的物理IP类型相匹配的虚拟IP,其中,服务端节点地址池中每个服务端节点设置有一个物理IP和多个虚拟IP;
判断所述虚拟IP是否存在于配置文件的虚拟IP地址池中;
如果是,将所述虚拟IP返回至客户端;
客户端根据所述虚拟IP访问服务器集群。


2.根据权利要求1所述的一种基于IPV6机制的负载均衡方法,其特征在于,所述在配置文件中增加IPV6机制开关,包括:
设置每个域名对应一个IPV6机制开关;
定义域名1对应的IPV6机制开关为开启状态;
定义域名2对应的IPV6机制开关为关闭状态。


3.根据权利要求1所述的一种基于IPV6机制的负载均衡方法,其特征在于,所述根据客户端的域名解析请求,识别客户端的物理IP类型,包括:
根据客户端的域名解析请求,判断所述域名解析请求中的域名是否存在于配置文件中;
如果是,获取内存中保存的域名以及所述域名下的参数;
根据内存中保存的域名以及域名下的参数,确定客户端的物理IP类型。


4.根据权利要求3所述的一种基于IPV6机制的负载均衡方法,其特征在于,所述根据客户端的物理IP类型和配置文件中域名对应的负载均衡策略,解析得到与客户端的物理IP类型相匹配的虚拟IP,包括:
根据客户端的物理IP类型,从内存中获取IP对应表;
判断所述IP对应表是否为空;
如果否,根据当前的负载均衡策略获取与当前的负载均衡策略相匹配的服务端物理IP;
根据所述参数,判断当前域名是否已开启IPV6机制开关;
如果是,根据客户端的物理IP类型,获取所述物理IP类型对应的虚拟IP地址;
如果否,根据IP对应表获取与当前的负载均衡策略相匹配的服务端物理IP,获取所述服务端物理IP对应的虚拟IP地址。


5.根据权利要求3所述的一种基于IPV6机制的负载均衡方法,其特征在于,根据客户端的域名解析请求,判断所述域名解析请求中的域名是否存在于配置文件中之前,所述方法还包括:
在服务端集群中选取一个节点作为DNS节点;
服务端集群中所有节点采集自身的性能参数,并将所述性能参数发送至DNS节点;
所述DNS节点将所有节点的性能参数保存至内存中。

【专利技术属性】
技术研发人员:刘耀丹孟祥瑞
申请(专利权)人:苏州浪潮智能科技有限公司
类型:发明
国别省市:江苏;32

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

1