一种实现负载均衡的方法和装置与流程

文档序号:13882540阅读:191来源:国知局
一种实现负载均衡的方法和装置与流程

本发明涉及数据通信领域,尤其是一种实现负载均衡的方法和装置。



背景技术:

内部网络的数据流要访问外部网络,所有流量需要经过防火墙清洗后才能转发给外部网络;而外部网络要访问内部网络,所有流量也需要经过防火墙清洗后才能转发给内部网络;内部网络和外部网络间的流量会在多组防火墙间实现流量负载均衡,但同一条tcp流量(从内部网络访问外部网络的tcp流量以及返回的tcp流量)必须经过同一台防火墙清洗,否则会导致流量中断;

图1是现有技术中防火墙网络结构示意图,交换机switch分别连接外部网络和内部网络,在交换机上分别旁接防火墙fw1、fw2、fw3、fw4,在稳定的网络环境下,内部网络和外部网络访问的流量会负载均衡到多组防火墙上清洗,随着业务的增加,流量不断增大,当需要新增一组防火墙时,则原有防火墙上的流量会重新进行hash(哈希),在所有防火墙上重新负载均衡,这就导致重新负载后的tcp流量,若原先是防火墙fw1处理的,重新负载后,变成防火墙fw2处理,则会引起断流,导致业务中断。

随着sdn(软件定义网络softwaredefinednetwork)技术的发展,通过openflow流表来控制流量的转发路径,从而实现流量的负载均衡,但这种方法需要专门支持openflow的交换机,且需要sdn控制器进行控制,从而达到精确控制流量转发路径的目的;但这种方法无疑加大了网络成本,而且在数据流量比较大的环境下,需要大量的流表信息,流表容量存在局限性,无法满足大流量场景的需求。



技术实现要素:

为了解决上述技术问题,本发明的实施例采用如下技术方案:

一种实现负载均衡的方法,包括:

采集n条数据流,其中n为大于等于2的自然数;

确定所述n条数据流中的新增流量和原始流量;

检测负载均衡设备数量发生变化;

根据所述变化的结果对应的负载均衡策略对所述新增流量和所述原始流量进行处理。

可选的,所述采集n条数据流的步骤具体包括:

采集n条数据流,记录每条流的存活时间;

所述确定所述n条数据流中的新增流量和原始流量的步骤具体包括:

确定存活时间为0的数据流为新增流量,确定存活时间不为0的数据流为原始流量。

可选的,所述根据所述变化的结果对应的负载均衡策略对所述新增流量和所述原始流量进行处理的步骤具体包括:

当所述负载均衡设备数量增加时,将原有负载均衡设备组成第一集合,将包含新增负载均衡设备在内的所有负载均衡设备组成第二集合,将所述原始流量保持在所述第一集合中进行负载均衡,将所述新增流量在所述第二集合中进行负载均衡。

可选的,所述根据所述变化的结果对应的负载均衡策略对所述新增流量和所述原始流量进行处理的步骤具体包括:

当所述负载均衡设备数量增加时,将原有负载均衡设备组成第一集合,将新增的负载均衡设备组成第二集合,将所述原始流量保持在所述第一集合中进行负载均衡,将所述新增流量在所述第二集合中进行负载均衡。

可选的,所述根据所述变化的结果对应的负载均衡策略对所述新增流量和所述原始流量进行处理的步骤具体包括:

当所述负载均衡设备数量减少时,在保持剩余负载均衡设备上的原始流量的条件下,优先将被删除的负载均衡设备上的原始流量在所述剩余负载均衡设备上进行负载均衡,然后再将所述新增流量在所述剩余负载均衡设备上进行负载均衡。

本发明实施例还提供一种实现负载均衡的装置,包括:

采集模块,用于采集n条数据流,其中n为大于等于2的自然数;

确定模块,用于确定所述n条数据流中的新增流量和原始流量;

检测模块,用于检测负载均衡设备数量发生变化;

均衡模块,用于根据所述变化的结果对应的负载均衡策略对所述新增流量和所述原始流量进行处理。

可选的,所述采集模块具体用于:

采集n条数据流,记录每条流的存活时间;

所述确定模块具体用于:

确定存活时间为0的数据流为新增流量,确定存活时间不为0的数据流为原始流量。

可选的,所述均衡模块具体包括:

当所述负载均衡设备数量增加时,将原有负载均衡设备组成第一集合,将包含新增负载均衡设备在内的所有负载均衡设备组成第二集合,将所述原始流量保持在所述第一集合中进行负载均衡,将所述新增流量在所述第二集合中进行负载均衡。

可选的,所述均衡模块具体包括:

当所述负载均衡设备数量增加时,将原有负载均衡设备组成第一集合,将新增的负载均衡设备组成第二集合,将所述原始流量保持在所述第一集合中进行负载均衡,将所述新增流量在所述第二集合中进行负载均衡。

可选的,所述均衡模块具体包括:

当所述负载均衡设备数量减少时,在保持剩余负载均衡设备上的原始流量的条件下,优先将被删除的负载均衡设备上的原始流量在所述剩余负载均衡设备上进行负载均衡,然后再将所述新增流量在所述剩余负载均衡设备上进行负载均衡。

本发明实施例的有益效果在于:有效解决了重新负载后的数据流量中断的问题。

附图说明

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

图1为现有技术的网络结构示意图;

图2为本发明一实施例的方法流程图;

图3为本发明一实施例的装置结构图。

具体实施方式

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

本发明一实施例提供一种实现负载均衡的方法,如图2所示,包括:

s101,采集n条数据流,其中n为大于等于2的自然数;

s103,确定所述n条数据流中的新增流量和原始流量;

s105,检测负载均衡设备数量发生变化;

s107,根据所述变化的结果对应的负载均衡策略对所述新增流量和所述原始流量进行处理。

其中,数据流可以为tcp或udp数据流,当然在其他实施例中,也可以为其他协议类型的数据流,在此不做限定。

可选的,所述步骤s101具体包括:

采集n条数据流,记录每条流的存活时间;

所述步骤s103具体包括:

确定存活时间为0的数据流为新增流量,确定存活时间不为0的数据流为原始流量。

可选的,步骤s107具体包括:

当所述负载均衡设备数量增加时,将原有负载均衡设备组成第一集合,将包含新增负载均衡设备在内的所有负载均衡设备组成第二集合,将所述原始流量保持在所述第一集合中进行负载均衡,将所述新增流量在所述第二集合中进行负载均衡。

可选的,步骤s107具体包括:

当所述负载均衡设备数量增加时,将原有负载均衡设备组成第一集合,将新增的负载均衡设备组成第二集合,将所述原始流量保持在所述第一集合中进行负载均衡,将所述新增流量在所述第二集合中进行负载均衡。

可选的,步骤s107具体包括:

当所述负载均衡设备数量减少时,在保持剩余负载均衡设备上的原始流量的条件下,优先将被删除的负载均衡设备上的原始流量在所述剩余负载均衡设备上进行负载均衡,然后再将所述新增流量在所述剩余负载均衡设备上进行负载均衡。

本发明实施例的有益效果在于:有效解决了重新负载后的数据流量中断的问题。

本发明实施例还提供一种实现负载均衡的装置,如图3所示,包括:

采集模块201,用于采集n条数据流,其中n为大于等于2的自然数;

确定模块203,用于确定所述n条数据流中的新增流量和原始流量;

检测模块205,用于检测负载均衡设备数量发生变化;

均衡模块207,用于根据所述变化的结果对应的负载均衡策略对所述新增流量和所述原始流量进行处理。

可选的,所述采集模块201具体用于:

采集n条数据流,记录每条流的存活时间;

所述确定模块203具体用于:

确定存活时间为0的数据流为新增流量,确定存活时间不为0的数据流为原始流量。

可选的,所述均衡模块207具体包括:

当所述负载均衡设备数量增加时,将原有负载均衡设备组成第一集合,将包含新增负载均衡设备在内的所有负载均衡设备组成第二集合,将所述原始流量保持在所述第一集合中进行负载均衡,将所述新增流量在所述第二集合中进行负载均衡。

可选的,所述均衡模块207具体包括:

当所述负载均衡设备数量增加时,将原有负载均衡设备组成第一集合,将新增的负载均衡设备组成第二集合,将所述原始流量保持在所述第一集合中进行负载均衡,将所述新增流量在所述第二集合中进行负载均衡。

可选的,所述均衡模块207具体包括:

当所述负载均衡设备数量减少时,在保持剩余负载均衡设备上的原始流量的条件下,优先将被删除的负载均衡设备上的原始流量在所述剩余负载均衡设备上进行负载均衡,然后再将所述新增流量在所述剩余负载均衡设备上进行负载均衡。

本发明实施例的有益效果在于:有效解决了重新负载后的数据流量中断的问题。

为了进一步对本发明的实质进行阐明,下面结合具体应用场景进行详细描述,如图1和图3所示:

假设在原有防火墙组为fw1、fw2和fw3,有30条tcp数据流在这三个防火墙上负载均衡,这30条tcp数据流负载到fw1、fw2和fw3上,对应关系如下:第1到第10条tcp数据流对应fw1,第11到第20条tcp数据流对应fw2,第21到第30条tcp数据流对应fw3;

采集模块201在这30条tcp数据流生成的时候就开始为每条存活的数据流计时;

因业务需要,新增一组防火墙fw4,则原有30条tcp数据流因为采集模块201统计的存活时间非0,则被判断为原始流量,均衡模块207还是按照fw1,fw2和fw3三个负载均衡节点;

若此时新增20条tcp数据流,则采集模块201统计到的新增数据流的存活时间为0,则被判断为新增流量,那么均衡模块207按照最新的负载均衡节点fw1、fw2、fw3和fw4进行负载均衡,最终的流量负载均衡情况如下:第1到第10条tcp数据流和第31到第35条tcp数据流对应fw1;第11到第20条tcp数据流和第36到第40条tcp数据流对应fw2;第21到第30条tcp数据流和第41到第45条tcp数据流对应fw3;第46到第50条tcp数据流对应fw4。

以上结果,满足了原有流量负载均衡节点不变,新增流量能够在最新负载均衡节点上负载均衡,从而实现新增防火墙不断流的要求。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

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