数据转发方法和系统与流程

文档序号:11479738阅读:280来源:国知局
数据转发方法和系统与流程

本发明涉及通信技术领域,尤其涉及一种数据转发方法和系统。



背景技术:

在云平台负载均衡过程中,为了实现多运营商的接入,需要多个vpn(virtualprivatenetwork,虚拟专用网络)路由转发表来隔离运营商。每个vpn路由转发表需要单独部署虚拟负载均衡器,以为运营商的流量数据提供负载均衡服务。若云平台有m个租户,每个租户需要接入n个运营商,那么需要部署m*n个虚拟负载均衡器提供负载均衡服务。此时,虚拟负载均衡器的数目与运营商的个数正相关,导致云平台所需虚拟负载均衡器过多,虚拟负载均衡器的资源利用率低。



技术实现要素:

本发明的主要目的在于提供一种数据转发方法和系统,旨在解决现有的虚拟负载均衡器的资源利用率低的技术问题。

为实现上述目的,本发明提供一种数据转发方法,所述数据转发方法包括步骤:

当虚拟负载均衡器vlb从前端子接口接收到linux虚拟服务器lvs发送的待响应数据包时,通过后端子接口将所述待响应数据包发送给应用服务器rs,其中,所述vlb的前向网口对应着至少一个前端子接口,所述一个前端子接口对应着一个运营商的数据接口;

所述rs接收并响应所述待响应数据包,得到应答数据包,将所述应答数据包从所述后端子接口发送到所述vlb;

所述vlb接收所述应答数据包,将所述应答数据包从接收所述待响应数据包的前端子接口发送给所述lvs。

优选地,所述当vlb从前端子接口接收到lvs发送的待响应数据包时,通过后端子接口将所述待响应数据包发送给rs的步骤包括:

当所述vlb的协议层从所述前端子接口接收到所述lvs发送的待响应数据包时,为所述待响应数据包添加第一标识信息;

将含有所述第一标识信息的待响应数据包发送给所述vlb的应用层,以供所述应用层接收所述待响应数据包,将所述第一标识信息从所述待响应数据包中删除,并根据默认路由,通过所述后端子接口将所述待响应数据包发送给所述rs;

所述vlb接收所述应答数据包,将所述应答数据包从接收所述待响应数据包的前端子接口发送给所述lvs的步骤包括:

所述vlb的应用层接收所述应答数据包,根据预设参数设置与所述第一标识信息对应的第二标识信息;

根据所述第二标识信息选择路由表,根据所述路由表将所述应答数据包从接收所述待响应数据包的前端子接口发送给所述lvs。

优选地,所述vlb接收所述应答数据包,将所述应答数据包从接收所述待响应数据包的前端子接口发送给所述lvs的步骤包括:

所述vlb接收所述应答数据包,更改所述应答数据包的源地址和目的地址,得到更改后的应答数据包;

将更改后的所述应答数据包从接收所述待响应数据包的前端子接口发送给所述lvs。

优选地,所述当vlb从前端子接口接收到lvs发送的待响应数据包时,通过后端子接口将所述待响应数据包发送给应用服务器rs的步骤之前,还包括:

当所述lvs接收到所述待响应数据包时,根据调度算法选择所述vlb;

修改所述待响应数据包的物理地址,将修改后的所述待响应数据包发送给所述vlb。

优选地,所述当所述lvs接收到所述待响应数据包时,根据调度算法选择所述vlb的步骤之前,还包括:

当防火墙接收到客户端发送的待响应数据包时,将所述待响应数据包的目的地址转换预设形式的目的地址,并将转换目的地址后的所述待响应数据包发送给交换机;

所述交换机接收所述待响应数据包,根据调度算法选择等价路由,将所述待响应数据包发送给所述lvs。

此外,为实现上述目的,本发明还提供一种数据转发系统,所述数据转发系统包括虚拟负载均衡器vlb、应用服务器rs和linux虚拟服务器lvs;

所述vlb用于当从前端子接口接收到所述lvs发送的待响应数据包时,通过后端子接口将所述待响应数据包发送给所述rs,其中,所述vlb的前向网口对应着至少一个前端子接口,所述一个前端子接口对应着一个运营商的数据接口;

所述rs用于接收并响应所述待响应数据包,得到应答数据包,将所述应答数据包从所述后端子接口发送到所述vlb;

所述vlb还用于接收所述应答数据包,将所述应答数据包从接收所述待响应数据包的前端子接口发送给所述lvs。

优选地,所述vlb包括:

添加模块,用于当协议层从所述前端子接口接收到所述lvs发送的待响应数据包时,为所述待响应数据包添加第一标识信息;

发送模块,用于将含有所述第一标识信息的待响应数据包发送给所述vlb的应用层,以供所述应用层接收所述待响应数据包,将所述第一标识信息从所述待响应数据包中删除,并根据默认路由,通过所述后端子接口将所述待响应数据包发送给所述rs;

接收模块,用于接收所述应答数据包;

设置模块,用于据预设参数设置与所述第一标识信息对应的第二标识信息;

选择模块,用于根据所述第二标识信息选择路由表;

所述发送模块还用于根据所述路由表将所述应答数据包从接收所述待响应数据包的前端子接口发送给所述lvs。

优选地,所述vlb还用于接收所述应答数据包,更改所述应答数据包的源地址和目的地址,得到更改后的应答数据包;将更改后的所述应答数据包从接收所述待响应数据包的前端子接口发送给所述lvs。

优选地,所述lvs还用于当接收到所述待响应数据包时,根据调度算法选择所述vlb;修改所述待响应数据包的物理地址,将修改后的所述待响应数据包发送给所述vlb。

优选地,所述数据转发系统还包括交换机和防火墙;

所述防火墙用于当接收到客户端发送的待响应数据包时,将所述待响应数据包的目的地址转换预设形式的目的地址,并将转换目的地址后的所述待响应数据包发送给交换机;

所述交换机用于接收所述待响应数据包,根据调度算法选择等价路由,将所述待响应数据包发送给所述lvs。

本发明通过当虚拟负载均衡器vlb从前端子接口接收到linux虚拟服务器lvs发送的待响应数据包时,通过后端子接口将所述待响应数据包发送给应用服务器rs,其中,所述vlb的前向网口对应着至少一个前端子接口,所述一个前端子接口对应着一个运营商的数据接口;所述rs接收并响应所述待响应数据包,得到应答数据包,将所述应答数据包从所述后端子接口发送到所述vlb;所述vlb接收所述应答数据包,将所述应答数据包从接收所述待响应数据包的前端子接口发送给所述lvs。实现了在云平台负载均衡过程中,虚拟负载均衡器的数目不再与运营商的个数正相关,提高了虚拟负载均衡器的资源利用率。

附图说明

图1为本发明数据转发方法第一实施例的流程示意图;

图2为本发明数据转发方法第二实施例的流程示意图;

图3为本发明数据转发系统较佳实施例的功能模块示意图。

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

本发明提供一种数据转发方法。

参照图1,图1为本发明数据转发方法第一实施例的流程示意图。

在本实施例中,提供了数据转发方法的实施例,需要说明的是,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

所述数据转发方法包括:

步骤s10,当虚拟负载均衡器vlb从前端子接口接收到linux虚拟服务器lvs发送的待响应数据包时,通过后端子接口将所述待响应数据包发送给应用服务器rs,其中,所述vlb的前向网口对应着至少一个前端子接口,所述一个前端子接口对应着一个运营商的数据接口。

当vlb(virtualloadbalancer,虚拟负载均衡器)从前端子接口接收到lvs(linuxvirtualserver,linux开源的负载均衡模块)发送的待响应数据包时,通过与前端子接口对应的后端子接口将待响应数据包发送给rs(realserver,应用服务器)。其中,一个前端子接口对应着一个运营商的数据接口,即一个前端子接口和第一后端子接口对应着一个运营商流量的出入口。可以理解的是,对应于一个vlb中的前向网口,设置了多个前端子接口;一个vlb中的后向网口,设置了多个后端子接口,即一个vlb的前向网口对应着至少一个前端子接口,后向网口对应着至少一个后端子接口。

步骤s20,所述rs接收并响应所述待响应数据包,得到应答数据包,将所述应答数据包从所述后端子接口发送到所述vlb。

步骤s30,所述vlb接收所述应答数据包,将所述应答数据包从接收所述待响应数据包的前端子接口发送给所述lvs。

当rs接收到vlb发送的待响应数据包后,响应待响应数据包,得到应答数据包,并将应答数据包从与前端子接口对应的后端子接口发送给vlb。vlb接收rs发送的应答数据包,将应答数据包从接收待响应数据包的前端子接口发送给lvs。

在本实施例中,若要为m个租户提供负载均衡服务,且每个租户接入了n个运营商,则只需要m个负载均衡器即可,相比现有方案需要m*n个虚拟负载均衡器(每个租户的每个运营商都需要对应着一个虚拟负载均衡器)而言,所需虚拟负载均衡器的数量少很多。在本发明中,虚拟负载均衡器的数目不再与运营商的个数正相关。可以理解的是,一个租户可对应一个虚拟负载均衡器即可,不管该租户是否接入多个运营商。

在本实施例中,以租户或租户的负载均衡服务为单位分配vlb,简化了负载均衡系统的管理逻辑。

进一步地,所述步骤s10包括:

步骤a,当所述vlb的协议层从所述前端子接口接收到所述lvs发送的待响应数据包时,为所述待响应数据包添加第一标识信息。

步骤b,将含有所述第一标识信息的待响应数据包发送给所述vlb的应用层,以供所述应用层接收所述待响应数据包,将所述第一标识信息从所述待响应数据包中删除,并根据默认路由,通过所述后端子接口将所述待响应数据包发送给所述rs。

进一步地,当vlb的协议层从前端子接口接收到lvs发送的待响应数据包时,为待响应数据包添加第一标识信息,将含有第一标识信息的待响应数据包发送给vlb的应用层。vlb的应用层接收待响应数据包,将第一标识信息从待响应数据包中删除,并根据默认路由,通过与前端子接口对应的后端子接口将待响应数据包发送给rs。需要说明的是,在为待响应数据包添加第一标识信息过程中,设置与第一标识信息对应的参数。默认路由是一种特殊的静态路由,指的是当路由表中与数据包的目的地址之间没有匹配的表项时路由器能够做出的选择。

进一步地,所述步骤s30包括:

步骤c,所述vlb的应用层接收所述应答数据包,根据预设参数设置与所述第一标识信息对应的第二标识信息。

步骤d,根据所述第二标识信息选择路由表,根据所述路由表将所述应答数据包从接收所述待响应数据包的前端子接口发送给所述lvs。

当vlb的应用层接收到rs发送的应答数据包时,根据预设参数设置与第一标识信息对应的第二标识信息。vlb的应用层根据第二标识信息选择路由表,根据路由表将应答数据包从接收所述待响应数据包的前端子接口发送给lvs。需要说明的是,预设参数即为在为待响应数据包添加第一标识信息过程中,所设置的与第一标识信息对应的参数,通过预设参数,可设置与第一标识信息对应的第二标识信息。在本实施例中,与第一标识信息对应的第二标识信息可理解为第二标识信息与第一标识信息相同,也可理解为第二标识信息和第一标识信息之间存在映射关系。

需要说明的是,为了防止传输过程中待响应数据包被改变,以及rs响应该待响应数据包时,由于待响应数据包中含有第一标识信息,从而得到错误的应答数据包,所以第一标识信息只存在linux内核的协议栈中,即存在linux内核的协议层中,当待响应数据包到了vlb的应用层就不会再携带第一标识信息了。

进一步地,所述步骤s30还包括:

步骤e,所述vlb接收所述应答数据包,更改所述应答数据包的源地址和目的地址,得到更改后的应答数据包;

步骤f,将更改后的所述应答数据包从接收所述待响应数据包的前端子接口发送给所述lvs。

当vlb接收到应答数据包后,更改应答数据包的源地址和目的地址,得到更改后的应答数据包,将更改后的应答数据包从接收待响应数据包的前端子接口发送给lvs,以使应答数据包能按照正确的路径发送出去。进一步地,在vlb将更改后的应答数据包从接收待响应数据包的前端子接口发送给lvs过程中,具体是根据应答数据包中的第二标识信息将更改后的应答数据包从接收待响应数据包的前端子接口发送给lvs。

本实施例通过当虚拟负载均衡器vlb从前端子接口接收到linux虚拟服务器lvs发送的待响应数据包时,通过后端子接口将所述待响应数据包发送给应用服务器rs,其中,一个前端子接口对应着一个运营商的数据接口;所述rs接收并响应所述待响应数据包,得到应答数据包,将所述应答数据包从所述后端子接口发送到所述vlb;所述vlb接收所述应答数据包,将所述应答数据包从接收所述待响应数据包的前端子接口发送给所述lvs。实现了在云平台负载均衡过程中,虚拟负载均衡器的数目不再与运营商的个数正相关,提高了虚拟负载均衡器的资源利用率。

进一步地,提出本发明数据转发方法第二实施例。

所述数据转发方法第二实施例与所述数据转发方法第一实施例的区别在于,参照图2,所述数据转发方法还包括:

步骤s40,当所述lvs接收到所述待响应数据包时,根据调度算法选择所述vlb。

步骤s50,修改所述待响应数据包的物理地址,将修改后的所述待响应数据包发送给所述vlb。

当lvs接收到待响应数据包时,根据调度算法选择vlb。具体地,是由lvs中的ipvs(ipvirtualserver,ip虚拟服务器)接收待响应数据包。当lvs接收到待响应数据包时,修改待响应数据包的物理地址,将修改后的待响应数据包发送给所选择的vlb。在本实施例中,lvs通过dr(directrouting)的方式将待响应数据的mac(mediumaccesscontrol,媒体访问控制)地址修改vlb的mac地址,以使vlb可以接收到待响应数据包。

进一步地,所述数据转发方法还包括:

步骤g,当防火墙接收到客户端发送的待响应数据包时,将所述待响应数据包的目的地址转换预设形式的目的地址,并将转换目的地址后的所述待响应数据包发送给交换机。

步骤h,所述交换机接收所述待响应数据包,根据调度算法选择等价路由,将所述待响应数据包发送给所述lvs。

进一步地,当防火墙接收到客户端发送的待响应数据包时,将待响应数据包的目的地址转换为预设形式的目的地址,并将转换目的地址后的待响应数据包发送给交换机。当交换机接收到待响应数据包时,根据调度算法选择等价路由,将待响应数据包发送给lvs。具体地,通过dnat(destinationnetworkaddresstranslation,目的地址转换)将待响应数据包的目的地址转换为vip:vport形式的目的地址。

在本实施例中,调度算法包括静态调度算法和动态调度算法,动态调度算法包括但不限于lc(least-connection,最少连接)算法和lblc(locality-basedleastconnection,基于局部性的最少连接)算法,静态调度算法包括但不限于dh(destinationhashing,目标地址散列)算法、sh(sourcehashing,源地址散列)算法和rr(roundrobin,轮询调度)算法。

轮询调度算法的原理是每一次把来自用户的请求轮流分配给内部中的服务器,从1开始,直到n(内部服务器个数),然后重新开始循环。源地址散列调度算法是根据请求的源ip(internetprotocol,网络之间互连的协议)地址,作为散列键(hashkey)从静态分配的散列表找出对应的服务器,若该服务器是可用的并且没有超负荷,将请求发送到该服务器,否则返回空。目标地址散列调度算法是一种静态映射算法,通过一个散列(hash)函数将一个目标ip地址映射到一台服务器。最少连接调度算法是通过服务器当前所活跃的连接数来估计服务器的负载均衡,调度器需要记录各个服务器已建立连接的数目,当一个请求被调度到某台服务器,其连接数加1,当连接中止或超时,其连接数减一,在系统实现时,我们也引入当服务器的权值为0时,表示该服务器不可用而不被调度。基于局部性的最少连接算法是针对请求报文的目标ip地址的负载均衡调度。

本实施例通过当lvs接收到待响应数据包时,根据调度算法选择vlb,以实现lvs将待响应数据包发送给当前负荷较小的vlb。

本发明进一步提供一种数据转发系统。

参照图3,图3为本发明数据转发系统的较佳实施例的功能模块示意图。

需要强调的是,对本领域的技术人员来说,图3所示模块图仅仅是一个较佳实施例的示例图,本领域的技术人员围绕图3所示的数据转发系统的模块,可轻易进行新的模块的补充;各模块的名称是自定义名称,仅用于辅助理解该数据转发系统的各个程序功能块,不用于限定本发明的技术方案,本发明技术方案的核心是,各自定义名称的模块所要达成的功能。

在本实施例中,所述数据转发系统包括虚拟负载均衡器vlb10、应用服务器rs20和linux虚拟服务器lvs30。

所述vlb10用于当从前端子接口接收到所述lvs30发送的待响应数据包时,通过后端子接口将所述待响应数据包发送给所述rs20,其中,一个前端子接口对应着一个运营商的数据接口。

当vlb10(virtualloadbalancer,虚拟负载均衡器)从前端子接口接收到lvs30(linuxvirtualserver,linux开源的负载均衡模块)发送的待响应数据包时,通过与前端子接口对应的后端子接口将待响应数据包发送给rs20(realserver,应用服务器)。其中,一个前端子接口对应着一个运营商的数据接口,即一个前端子接口和第一后端子接口对应着一个运营商流量的出入口。可以理解的是,对应于一个vlb10中的前向网口,设置了多个前端子接口;一个vlb10中的后向网口,设置了多个后端子接口。

所述rs20用于接收并响应所述待响应数据包,得到应答数据包,将所述应答数据包从所述后端子接口发送到所述vlb10。

所述vlb10还用于接收所述应答数据包,将所述应答数据包从接收所述待响应数据包的前端子接口发送给所述lvs30。

当rs20接收到vlb10发送的待响应数据包后,响应待响应数据包,得到应答数据包,并将应答数据包从与前端子接口对应的后端子接口发送给vlb10。vlb10接收rs20发送的应答数据包,将应答数据包从接收待响应数据包的前端子接口发送给lvs。

在本实施例中,若要为m个租户提供负载均衡服务,且每个租户接入了n个运营商,则只需要m个负载均衡器即可,相比现有方案需要m*n个虚拟负载均衡器(每个租户的每个运营商都需要对应着一个虚拟负载均衡器)而言,所需虚拟负载均衡器的数量少很多。在本发明中,虚拟负载均衡器的数目不再与运营商的个数正相关。可以理解的是,一个租户可对应一个虚拟负载均衡器即可,不管该租户是否接入多个运营商,即一个vlb的前向网口对应着至少一个前端子接口,后向网口对应着至少一个后端子接口。

在本实施例中,以租户或租户的负载均衡服务为单位分配vlb,简化了负载均衡系统的管理逻辑。

进一步地,所述vlb10包括:

添加模块,用于当协议层从所述前端子接口接收到所述lvs30发送的待响应数据包时,为所述待响应数据包添加第一标识信息。

发送模块,用于将含有所述第一标识信息的待响应数据包发送给所述vlb10的应用层,以供所述应用层接收所述待响应数据包,将所述第一标识信息从所述待响应数据包中删除,并根据默认路由,通过所述后端子接口将所述待响应数据包发送给所述rs20。

进一步地,当vlb10的协议层从前端子接口接收到lvs30发送的待响应数据包时,为待响应数据包添加第一标识信息,将含有第一标识信息的待响应数据包发送给vlb10的应用层。vlb10的应用层接收待响应数据包,将第一标识信息从待响应数据包中删除,并根据默认路由,通过与前端子接口对应的后端子接口将待响应数据包发送给rs20。需要说明的是,在为待响应数据包添加第一标识信息过程中,设置与第一标识信息对应的参数。默认路由是一种特殊的静态路由,指的是当路由表中与数据包的目的地址之间没有匹配的表项时路由器能够做出的选择。

接收模块,用于接收所述应答数据包;

设置模块,用于据预设参数设置与所述第一标识信息对应的第二标识信息,将所述第二标识信息作为所述应答数据包的标识信息。

选择模块,用于根据所述第二标识信息选择路由表。

所述发送模块还用于根据所述路由表将所述应答数据包从接收所述待响应数据包的前端子接口发送给所述lvs30。

当vlb10的应用层接收到rs20发送的应答数据包时,根据预设参数设置与第一标识信息对应的第二标识信息。vlb10的应用层根据第二标识信息选择路由表,根据路由表将应答数据包从接收所述待响应数据包的前端子接口发送给lvs30。需要说明的是,预设参数即为在为待响应数据包添加第一标识信息过程中,所设置的与第一标识信息对应的参数,通过预设参数,可设置与第一标识信息对应的第二标识信息。在本实施例中,与第一标识信息对应的第二标识信息可理解为第二标识信息与第一标识信息相同,也可理解为第二标识信息和第一标识信息之间存在映射关系。

需要说明的是,为了防止传输过程中待响应数据包被改变,以及rs响应该待响应数据包时,由于待响应数据包中含有第一标识信息,从而得到错误的应答数据包,所以第一标识信息只存在linux内核的协议栈中,即存在linux内核的协议层中,当待响应数据包到了vlb10的应用层就不会再携带第一标识信息了。

进一步地,所述vlb10还用于接收所述应答数据包,更改所述应答数据包的源地址和目的地址,得到更改后的应答数据包;将更改后的所述应答数据包从接收所述待响应数据包的前端子接口发送给所述lvs30。

当vlb10接收到应答数据包后,更改应答数据包的源地址和目的地址,得到更改后的应答数据包,将更改后的应答数据包从接收待响应数据包的前端子接口发送给lvs30,以使应答数据包能按照正确的路径发送出去。进一步地,在vlb10将更改后的应答数据包从接收待响应数据包的前端子接口发送给lvs30过程中,具体是根据应答数据包中的第二标识信息将更改后的应答数据包从接收待响应数据包的前端子接口发送给lvs30。

本实施例通过当虚拟负载均衡器vlb10从前端子接口接收到linux虚拟服务器lvs30发送的待响应数据包时,通过后端子接口将所述待响应数据包发送给应用服务器rs20,其中,一个前端子接口对应着一个运营商的数据接口;所述rs20接收并响应所述待响应数据包,得到应答数据包,将所述应答数据包从所述后端子接口发送到所述vlb10;所述vlb10接收所述应答数据包,将所述应答数据包从接收所述待响应数据包的前端子接口发送给所述lvs30。实现了在云平台负载均衡过程中,虚拟负载均衡器的数目不再与运营商的个数正相关,提高了虚拟负载均衡器的资源利用率。

进一步地,提出本发明数据转发系统第二实施例。

所述数据转发系统第二实施例与所述数据转发系统第一实施例的区别在于,所述lvs30还用于当接收到所述待响应数据包时,根据调度算法选择所述vlb10;修改所述待响应数据包的物理地址,将修改后的所述待响应数据包发送给所述vlb10。

当lvs30接收到待响应数据包时,根据调度算法选择vlb10。具体地,是由lvs30中的ipvs(ipvirtualserver,ip虚拟服务器)接收待响应数据包。当lvs30接收到待响应数据包时,修改待响应数据包的物理地址,将修改后的待响应数据包发送给所选择的vlb10。在本实施例中,lvs30通过dr(directrouting)的方式将待响应数据的mac(mediumaccesscontrol,媒体访问控制)地址修改vlb10的mac地址,以使vlb10可以接收到待响应数据包。

进一步地,所述数据转发系统还包括交换机和防火墙;

所述防火墙用于当接收到客户端发送的待响应数据包时,将所述待响应数据包的目的地址转换预设形式的目的地址,并将转换目的地址后的所述待响应数据包发送给交换机;

所述交换机用于接收所述待响应数据包,根据调度算法选择等价路由,将所述待响应数据包发送给所述lvs30。

进一步地,当防火墙接收到客户端发送的待响应数据包时,将待响应数据包的目的地址转换为预设形式的目的地址,并将转换目的地址后的待响应数据包发送给交换机。当交换机接收到待响应数据包时,根据调度算法选择等价路由,将待响应数据包发送给lvs30。具体地,通过dnat(destinationnetworkaddresstranslation,目的地址转换)将待响应数据包的目的地址转换为vip:vport形式的目的地址。

在本实施例中,调度算法包括静态调度算法和动态调度算法,动态调度算法包括但不限于lc(least-connection,最少连接)算法和lblc(locality-basedleastconnection,基于局部性的最少连接)算法,静态调度算法包括但不限于dh(destinationhashing,目标地址散列)算法、sh(sourcehashing,源地址散列)算法和rr(roundrobin,轮询调度)算法。

轮询调度算法的原理是每一次把来自用户的请求轮流分配给内部中的服务器,从1开始,直到n(内部服务器个数),然后重新开始循环。源地址散列调度算法是根据请求的源ip(internetprotocol,网络之间互连的协议)地址,作为散列键(hashkey)从静态分配的散列表找出对应的服务器,若该服务器是可用的并且没有超负荷,将请求发送到该服务器,否则返回空。目标地址散列调度算法是一种静态映射算法,通过一个散列(hash)函数将一个目标ip地址映射到一台服务器。最少连接调度算法是通过服务器当前所活跃的连接数来估计服务器的负载均衡,调度器需要记录各个服务器已建立连接的数目,当一个请求被调度到某台服务器,其连接数加1,当连接中止或超时,其连接数减一,在系统实现时,我们也引入当服务器的权值为0时,表示该服务器不可用而不被调度。基于局部性的最少连接算法是针对请求报文的目标ip地址的负载均衡调度。

本实施例通过当lvs30接收到待响应数据包时,根据调度算法选择vlb10,以实现lvs30将待响应数据包发送给当前负荷较小的vlb10。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。

以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

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