一种跨集群负载均衡的方法及装置转让专利

申请号 : CN201310231992.4

文献号 : CN104243337B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 杨倛

申请人 : 新华三技术有限公司

摘要 :

本发明提供了一种跨集群负载均衡的方法和装置,根据SDN网络中控制平面和转发平面分离的特性,将全网负载均衡的调整和计算工作交由SDN控制平面处理。当网络中用户对某集群应用服务的访问流量过大,通过SDN控制平面及时将用户对该集群的访问流量负载均衡到其他集群处理。因而,通过本发明,可以很好地解决现有技术无法进行跨集群负载均衡的问题。

权利要求 :

1.一种跨集群负载均衡的装置,应用于SDN网络中完成用户访问流量的跨集群负载分担,所述SDN网络中至少包括有SDN控制平面和作为SDN转发平面的多个负载均衡设备,其中所述负载均衡设备分属于不同的集群,其特征在于,所述装置作为SDN控制平面的功能组件,至少包括有:负载处理单元,用于当集群为用户提供应用服务的负载超过设定的超限阈值时,计算出所述SDN网络中能够为用户提供相同应用服务的空闲的目标集群,然后通知该集群的负载均衡设备将新用户的访问流量转至目标集群的负载均衡设备,由目标集群处理。

2.如权利要求1所述的装置,其特征在于,当集群为用户提供应用服务的负载超过设定的超限阈值时,所述负载处理单元计算出所述SDN网络中空闲的目标集群的具体过程为:向其他各集群的负载均衡设备下发指令,要求这些负载均衡设备上报各自集群提供该应用服务的负载摘要信息,在收集完成负载摘要信息后,所述负载处理单元根据特定的算法进行比较运算后,获知其中最为空闲的目标集群。

3.如权利要求1所述的装置,其特征在于,所述装置进一步包括:

负载判断单元,用于接收负载均衡设备上报的新用户访问流量,并判断负载均衡设备所在集群为新用户提供应用服务的负载是否超过设定的超限阈值,如果是,指示负载处理单元计算出所述SDN网络中空闲的目标集群,由目标集群为该用户提供服务,否则,则指示负载处理单元通知该集群负载均衡设备仍由其所在的集群继续提供正常服务。

4.如权利要求3所述的装置,其特征在于,负载均衡设备接收到用户的访问流量后,首先对该用户的访问流量进行识别,同时完成对该用户访问流量的记录,当识别该用户为新用户时,将该新用户的访问流量上报给负载判断单元,同时将其记录的所在集群提供应用服务的负载摘要信息上报给负载判断单元。

5.如权利要求1所述的装置,其特征在于,负载均衡设备接收到用户的访问流量后,首先对该用户的访问流量进行识别,同时完成对该用户访问流量的记录,并就其所在集群的用户访问流量是否超过设定的超限阈值进行判断,当判断超过设定的超限阈值时,通知负载处理单元计算出所述SDN网络中空闲的目标集群,由目标集群为该用户提供服务。

6.如权利要求1所述的装置,其特征在于,当用户初始访问的集群提供应用服务的负载低于设定的低限阈值时,所述负载处理单元将通知目标集群的负载均衡设备,将用户的访问流量切换回该用户初始访问的集群。

7.如权利要求1所述的装置,其特征在于,在所述SDN网络中各集群访问的公共路径上进一步设置有负载均衡辅助控制设备,作为协调各集群负载的控制节点,进而控制用户对各集群的访问。

8.一种跨集群负载均衡的方法,应用于SDN网络中完成用户访问流量的跨集群负载均衡,所述SDN网络中至少包括有SDN控制平面和作为SDN转发平面的多个负载均衡设备,其中所述负载均衡设备分属于不同的集群,其特征在于,当集群为新用户提供某应用服务的负载超过设定的超限阈值时,所述SDN控制平面计算出所述SDN网络中能够为新用户提供相同应用服务的空闲的目标集群,然后通知该集群的负载均衡设备将该新用户的访问流量转至目标集群的负载均衡设备,由该目标集群处理。

9.如权利要求8所述的方法,其特征在于,当集群为用户提供应用服务的负载超过设定的超限阈值时,所述SDN控制平面计算出所述SDN网络中空闲的目标集群的具体过程为:向其他各集群的负载均衡设备下发指令,要求这些负载均衡设备上报各自集群提供该应用服务的负载摘要信息,在收集完负载摘要信息后,所述负载处理单元根据特定的算法进行比较运算后,获知其中最为空闲的目标集群。

10.如权利要求8所述的方法,其特征在于,所述SDN控制平面在计算出所述SDN网络中空闲的目标集群之前,进一步包括:接收负载均衡设备上报的新用户访问流量,并判断负载均衡设备所在集群为用户提供的应用服务负载是否超过设定的超限阈值,如果是,则计算出所述SDN网络中空闲的目标集群,由目标集群为该新用户提供服务,否则,通知该集群负载均衡设备仍由其所在的集群继续提供正常服务。

11.如权利要求10所述的方法,其特征在于,负载均衡设备接收到用户的访问流量后,首先对该用户的访问流量进行识别,同时完成对该用户访问流量的记录,当识别该用户为新用户时,将该新用户的访问流量上报给SDN控制平面,同时一并将其记录的所在集群为用户提供的应用服务的负载摘要信息上报给SDN控制平面。

12.如权利要求8所述的方法,其特征在于,负载均衡设备接收到用户的访问流量后,首先对该用户的访问流量进行识别,同时完成对该用户访问流量的记录,并就其所在集群为用户提供的应用服务负载是否超过设定的超限阈值进行判断,如果是,则上报该集群负载过高通知并请求SDN控制平面计算出所述SDN网络中空闲的目标集群,由目标集群为该用户提供应用服务。

13.如权利要求8所述的方法,其特征在于,当用户初始访问的集群提供应用服务的负载低于设定的低限阈值时,所述负载处理单元将通知目标集群的负载均衡设备,将用户的访问流量切换回该用户初始访问的集群。

14.如权利要求8所述的方法,其特征在于,在所述SDN网络中各集群访问的公共路径上进一步设置有负载均衡辅助控制设备,作为协调各集群负载的控制节点,进而控制用户对各集群的访问。

说明书 :

一种跨集群负载均衡的方法及装置

技术领域

[0001] 本发明涉及数据通信领域,尤其涉及一种在SDN(Software Defined Network,软件定义网络)网络中跨集群负载均衡的方法及装置。

背景技术

[0002] 在部署负载均衡设备的网络中,一个负载均衡设备后面通常会连接多个提供相同应用服务的服务器。当多个用户请求对某个应用服务进行访问时,用户的请求报文将先到达负载均衡设备。此时,负载均衡设备将根据特定的负载均衡算法将这些用户对某个应用服务的访问分摊到多个服务器上,保证各服务器在均衡的负载下运行,进而为每个用户提供较佳的访问体验。通常,我们把这些能够提供相同应用服务的服务器和负责计算服务器负载分担的负载均衡设备统称为一个“集群”。
[0003] 然而,在上述部署负载均衡设备的网络中,负载均衡设备的作用范围仅限于在其所在的集群中。亦即,负载均衡设备只能对其所属集群内的服务器进行负载均衡,而不能将用户对应用服务的访问负载分担到其他的集群中。这样,当用户对集群内某应用服务的访问流量较大时,可能会导致该集群内的所有服务器负载均较大。此时,即使有空闲的且能够提供相同应用服务的其他集群,负载均衡设备也无法协调该集群为用户提供应用服务访问的负载分担。

发明内容

[0004] 有鉴于此,本发明提供一种跨集群负载均衡的方法及装置,以解决现有技术方案中存在的问题与不足。
[0005] 本发明是通过如下技术方案实现的:
[0006] 一种跨集群负载均衡的装置,应用于SDN网络中完成用户访问流量的跨集群负载分担,所述SDN网络中至少包括有SDN控制平面和作为SDN转发平面的多个负载均衡设备,其中所述负载均衡设备分属于不同的集群,其中,所述装置作为SDN控制平面的功能组件,至少包括有:
[0007] 负载处理单元,用于当集群为新用户提供某应用服务的负载超过设定的超限阈值时,计算出所述SDN网络中能够为用户提供相同应用服务的空闲的目标集群,然后通知该集群的负载均衡设备将该新用户的访问流量转至目标集群的负载均衡设备,由目标集群处理。
[0008] 本发明还同时提供一种跨集群负载均衡的方法,应用于SDN网络中完成用户访问流量的跨集群负载均衡,所述SDN网络中至少包括有一个SDN控制平面和作为SDN转发平面的多个负载均衡设备,其中所述负载均衡设备分属于不同的集群,其中,当集群为新用户提供某应用服务的负载超过设定的超限阈值时,所述SDN控制平面计算出所述SDN网络中能够为新用户提供相同应用服务的空闲的目标集群,然后通知该集群的负载均衡设备将该新用户的访问流量转至目标集群的负载均衡设备,由该目标集群处理。
[0009] 与现有的技术相比,本发明根据SDN网络中控制平面和转发平面分离的特性,将全网负载均衡的调整和计算工作均交SDN控制平面处理。这样,当网络中用户对某集群应用服务的访问流量过大时,SDN控制平面就可以及时将对该集群的用户访问流量负载均衡到其他空闲的目标集群处理。因此,通过本发明可以充分地发挥网络中所有集群负载均衡的能力。

附图说明

[0010] 图1是本发明跨集群负载均衡的的装置结构示意图;
[0011] 图2是本发明跨集群负载均衡的的方法流程示意图;
[0012] 图3是某SDN网络下应用场景下,本发明跨集群负载均衡的组网示例图;
[0013] 图4是图3所示应用场景下,本发明具体实现流程示例图;
[0014] 图5是某SDN网络应用场景下,本发明跨集群负载均衡的另一组网示例图;
[0015] 图6是图5所示应用场景下,本发明具体实现流程示例图。

具体实施方式

[0016] SDN网络作为新一代的网络组织结构,极大颠覆了原有网络的组织方式,为网络管理者管理网络提供了极大的方便及灵活性,网络管理者可以按照自己的需要来定义网络。在SDN网络中,进一步提出了控制平面和转发平面分离的架构。具体为通过SDN控制器控制下层SDN网络设备进行流量转发,其中流量转发的策略由SDN控制器决定。
[0017] 为了实现本发明的目的,本发明根据SDN网络中控制平面和转发平面分离的特性,将全网负载均衡的调整和计算工作均交由SDN控制平面处理。当网络中用户对某集群应用服务的访问流量过大,通过SDN控制平面及时将用户对该集群的访问流量负载均衡到其他集群处理。因而,通过本发明,可以很好地解决现有技术跨集群负载均衡的问题。
[0018] 以软件实现为例,本发明提供一种跨集群负载均衡的装置,应用于SDN网络中完成用户访问流量的跨集群负载均衡,所述SDN网络中至少包括有SDN控制平面和作为SDN转发平面的多个负载均衡设备,其中所述负载均衡设备分属于不同的集群。所述该装置通常作为功能组件运行在SDN控制平面(通常为SDN控制器)上,作为该功能组件运行的载体,SDN控制平面的硬件环境通常至少都包括CPU、内存以及非易失性存储器来支持上述逻辑装置的运行。当然,SDN控制平面可能还包括其他的业务硬件,由于这些并非为实现本发明目的的必需组件,在此不赘述。
[0019] 如图1所示,本发明装置包括有:负载判断单元以及负载处理单元。其中所述装置在SDN网络中完成用户访问流量的跨集群负载均衡的实现过程如图2所示,包括如下步骤:
[0020] 步骤1、负载判断单元接收负载均衡设备上报的新用户访问其所在集群应用服务的请求,并判断该集群为用户提供应用服务的负载是否超过设定的超限阈值,如果是,进入步骤2,否则转入步骤3。
[0021] 在SDN网络中,作为SDN转发平面上的负载均衡设备在接收到用户访问的请求报文后,首先需要识别该用户的访问流量(包括四~七层的流量识别能力),并根据该用户的访问流量完成集群访问流量对应的负载摘要信息的刷新,同时根据已记录的用户访问会话列表查询该用户是否已存在,如果存在,所述负载均衡设备将根据自身维护的负载均衡策略决定由集群中的某台服务器提供服务。如果没有查询到该用户的访问记录,则表明该用户关于某应用服务的访问是一个新的访问请求,根据SDN网络的特性,负载均衡设备需要将该新用户访问的请求报文上报SDN控制平面。同时,在本发明中,所述负载均衡设备一并将其记录的该集群为用户提供应用服务的负载摘要信息上报给负载判断单元。
[0022] 负载判断单元接收到负载均衡设备上报的其所在集群用户访问流量对应的负载摘要信息后,判断该集群应用服务的负载是否超过设定的阈值,并根据判断的结果决定是否将该新用户的访问流量转至其他集群处理。
[0023] 步骤2、负载处理单元通知负载均衡设备将该新用户的访问流量转至其他空闲集群的负载均衡设备,由其他空闲集群为该新用户提供服务。
[0024] 如果经负载判断单元判断,发现上报该新用户访问流量的负载均衡设备所在的集群为用户提供应用服务的负载已超过设定的超限阈值时,表明此时该集群上用户的应用服务的访问流量已经比较大,为了提供该新用户更好的服务体验,有必要将该新用户访问的应用服务分担到其他比较空闲且能够提供相同应用服务的集群中处理。为此,负载判断单元将指示负载处理单元在全网对各集群进行负载计算。
[0025] 具体地,负载处理单元在接收到负载判断单元的负载计算指示后,首先向其他各集群的负载均衡设备下发指令,要求这些负载均衡设备上报各自集群关于该应用服务对应的用户访问流量的负载摘要信息,在收集完成各负载摘要信息后,所述负载处理单元根据特定的算法经过比较运算后,就可以获知其中最为空闲的目标集群。然后,负载处理单元通知上报新用户访问流量的负载均衡设备将该用户的访问流量转至目标集群的负载均衡设备上,由该目标集群提供该用户相应的应用服务。
[0026] 目标集群的负载均衡设备接收到该新用户的访问请求后,经过对其所在集群内各应用服务器提供该应用服务的负载情况计算后,选择其中一个最为空闲的目标服务器为该用户提供服务,并将该用户的访问请求发送给目标服务器。所述目标服务器接收到该用户的访问请求后,将返回该用户相应的应答报文并提供对应的应用服务,进而完成该用户访问在SDN网络中的跨集群负载均衡的过程。
[0027] 步骤3、负载处理单元通知负载均衡设备仍由其所在的集群继续提供正常服务。
[0028] 如果经负载判断单元判断,发现集群为用户提供某应用服务的负载未超过设定的超限阈值,表明此时用户对该集群某应用服务的访问流量并不大,没有必要将此新用户访问集群的应用服务转至其他集群上处理。此时,负载判断单元将指示负载处理单元通知上报用户访问流量的负载均衡设备,告知仍由其所在的集群提供正常的应用服务,这样,负载均衡设备接收到该通知后,经过对其所在集群内各应用服务器提供该应用服务的负载情况计算后,选择其中一个最为空闲的目标服务器为该用户提供服务,并将该用户的访问请求发送给目标服务器。所述目标服务器接收到该用户的访问请求后,将返回该用户相应的应答报文并提供对应的应用服务,进而完成对该用户提供正常的服务。
[0029] 由上描述可见,通过本发明实现方案,可以实现在SDN网络中,当用户访问某集群的负载过大的情况下,通过SDN控制平面的全网负载均衡计算,可以及时将对该集群的访问流量转移至其他空闲的目标集群处理,这样就可以减轻用户初始访问的该集群中服务器的负载,很好地解决现有技术中无法跨集群负载均衡的问题。
[0030] 在上述发明方案中,当涉及到用户访问流量跨集群负载均衡时,通常该跨集群提供用户服务的往返流量仍需要经由原始上报用户请求报文的负载均衡设备进行中转。因此,一旦该负载均衡设备负载过高或者性能不强时,将会对其提供用户服务性能的冲击比较大。因此,在本发明另一优选实施方式中,可以在SDN网络中设置一个或多个负载均衡辅助控制设备作为本发明SDN控制平面协调各集群负载的控制节点,进而控制用户对各集群的访问。需要说明的是,在本优选的实施方式中,该SDN辅助控制设备需要设置在SDN网络中多个集群访问的公共路径上。这样,当用户访问的某个集群负载过高时,就可以通过本发明负载均衡辅助控制设备调整用户访问目标集群,进而实现本发明跨集群负载均衡。
[0031] 进一步地,考虑到上述两个实现方案中,负载均衡设备均需要将新用户的访问请求报文上报给SDN控制平面。这样,当SDN控制平面负载过高或者性能不强时,将会对该SDN网络整体的服务性能影响比较大。因此,在本发明的另一优选实施例方式中,还可以进一步对前述步骤1进行优化。具体为:
[0032] 将本发明装置上的负载判断单元的负载判定功能下放至各集群所在的负载均衡设备上。这样,当有新用户向某集群发起应用访问时,负责该集群的负载均衡设备接收到该用户访问请求后,根据自身关于其所在集群的用户访问流量的记录判断其所在的集群为用户提供应用服务的负载是否超过设定的阈值,如果经判断后发现该集群负载不大,则按照正常的服务流程向发起访问的用户提供相应的应用服务;反之,如果经负责该集群的负载均衡设备自身判断后,发现该集群提供的应用服务的负载已经超出设定的阈值后,则该负载均衡设备再向本发明装置上的负载处理单元上报集群负载过高通知,负载处理单元接收到该上报的负载过高通知后,再在SDN网络中进行全网集群的负载计算,从各集群中选择一个最为空闲的目标集群,并通知该负载均衡设备将用户的访问流量转至空闲的目标集群,由该目标集群为该用户提供服务。
[0033] 另外,在正常情况下,一个好的网络建设,各集群应用服务的负载一般是比较平均的,某集群提供的应用服务负载过大应属临时或异常情况,利用本发明方法转移到另一个集群为用户提供应用服务,将会对该提供应用服务的集群产生额外的负担,进而可能对其正常流量带来影响。因此,在本发明的另一实施例中,除了前述步骤1中设定用户访问流量的超限阈值外,还可以进一步对各集群设定一低限阈值,当用户初始访问的集群的负载低于该低限阈值时,负载处理单元将通知目标集群的负载均衡设备,将该用户的访问流量再切换回用户初始访问的集群。比如:设定用户访问某集群的访问流量的超限阈值为2G/S,即当超过此阈值时需要进行负载转移,设定用户访问集群的访问流量的低限阈值为1.5G/S,表明当某集群的用户访问流量低于该值后,通知目标集群的负载均衡设备,将该用户的访问流量再切换回用户初始访问的集群。这样,不仅可以避免网络的振荡(如果只是低于2G/S就切换回来,可能马上又超出了2G/S的限制,又要做转移),而且可以有效地保证整个网络的负载均衡和用户较佳的访问体验。
[0034] 为使本领域技术人员更加清楚和明白,以下结合具体的应用实例场景对本发明进一步加以说明。
[0035] 如图3、4所示,为本发明某SDN网络下跨集群负载均衡的实现组网示例和详细的实现流程图,在该组网环境下,本发明的实现过程如下:
[0036] 步骤1、SDN上层控制平面按照现有技术获取网络拓扑,以便后续根据该网络拓扑计算各集群的负载情况;
[0037] 步骤2、当有新用户网络设备向集群1发起访问时,负责集群1的LB设备1收到该访问请求后,将该访问信息上报到SDN上层控制平面;
[0038] 步骤3、SDN上层控制平面在接收到LB设备1上报的集群1访问流量后进行记录,并根据近期收到的集群1的访问流量判断集群1整体的访问负载,如果访问负载不大,则通知LB设备1由集群1继续提供正常服务;
[0039] 步骤4、如果集群1整体的访问负载较大,则SDN上层控制平面向其他负载均衡设备收集各自集群的负载摘要信息,并通过计算获取其中最为空闲的集群2;步骤5、SDN上层控制平面通知LB设备1将该访问转至LB设备2,由集群2处理;
[0040] 步骤6、集群2上的LB设备2通过负载均衡计算后选择其所在的集群中最为空闲的应用服务器,并将用户请求报文发送给该应用服务器;所述应用服务器收到用户的请求报文后回应该用户服务应答响应报文,并通过LB设备2将该响应报文返回给LB设备1;
[0041] 步骤7、LB设备1则向发起访问的用户网络设备返回集群2上提供服务的应用服务器的服务应答响应报文,进而完成用户访问流量的整个跨集群应用服务过程。
[0042] 进一步地,对于负载均衡设备负载较高或负载均衡设备能力不强的情况,在本发明提供的另一优选实施应用场景中,在该SDN网络中增加了一个辅助控制设备,其中所述该辅助控制设备设置在各LB设备访问的公共路径上。该应用场景的组网示例以及详细实现流程如图5、6所示。
[0043] 步骤1~4、与上述方案相同。
[0044] 步骤5、SDN上层控制平面指示辅助控制设备将该用户访问流量转至LB设备2。
[0045] 具体地,SDN上层控制平面指示辅助控制设备调整用户访问流量的VLAN设置或者目的IP地址来实现。需要说明的是,SDN上层控制平面指示辅助控制设备调整用户访问流量的具体控制方式可根据实际组网情况确定,在本专利不做任何限制。
[0046] 步骤6、用户网络设备的访问流量根据辅助控制设备的调整转发至集群2处理。
[0047] 步骤7、集群2上的LB设备2通过负载均衡计算后选择其所在的集群中最为空闲的应用服务器,并将用户请求报文发送给该应用服务器;所述应用服务器收到用户的请求报文后回应该用户响应报文,LB设备2接收到其所在集群的应用服务器发送的响应报文后,将向发起访问的用户网络设备返回服务应答流量,完成整个应用服务跨集群提供服务的过程。
[0048] 与现有的技术相比较,本发明利用SDN网络中SDN控制平面和转发平面相分离的特性,将用户对集群的访问流量上报给负载判断单元,当超过集群的负载后,通知将用户的访问流量转发给其他集群,这样,可以充分发挥SDN网络中全部负载均衡设备和负载均衡集群的能力,并且网络结构变化对负载均衡策略没有影响,可以平滑地调整网络结构。
[0049] 以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。