多业务单元负载均衡方法及装置制造方法
【专利摘要】本发明实施例提供一种多业务单元负载均衡方法及装置。该方法包括:控制器接收管理实体发送的业务配置信息后,根据业务配置信息确定负载均衡路径数目。然后根据负载均衡路径数目确定业务链中的每一业务单元对应的负载均衡路径表,负载均衡路径表包括负载均衡标识和负载均衡标识对应的业务单元中的服务器。最后向业务链中的每一业务单元的业务交换机发送与每一业务单元对应的负负载均衡路径表,用于每一业务单元的业务交换机根据接收到的数据包中携带的负载均衡标识在接收到的负载均衡路径表中找到对应的服务器,并将数据包发送至服务器处理。本发明实施例提供的多业务单元负载均衡方法及装置,可解决多级业务单元的负载均衡,降低了成本。
【专利说明】多业务单元负载均衡方法及装置
【技术领域】
[0001]本发明实施例涉及通信【技术领域】,尤其涉及一种多业务单元负载均衡方法及装置。
【背景技术】
[0002]随着互联网技术的日益发展,互联网所提供的服务内容也越来越多,对于一些服务项或服务内容来说,通常需要设置多个服务器来同时提供服务,以进行负载均衡,避免单一的服务器无法同时为多个用户及时提供服务的情况。现有的负载均衡方法如下:客户端将服务请求报文通过IP网络发送至负载均衡器,负载均衡器通过负载均衡算法进行计算后,一般以IP五元组为标识,将该服务请求报文分发到与负载均衡器连接的某个服务器上,服务器进行处理后将响应报文发送至负载均衡器,最后负载均衡器将接收到响应报文发送回客户端。这种传统负载均衡器需要存储上百万条IP五元组所标识的业务流。
[0003]图1为流量流经业务链的示意图,在用户个人计算机(PC)到广域网(Wide AreaNetwork,以下简称:WAN)之间,用户PC的流量并不是直接穿过路由器到WAN,而是穿过一个防火墙和URL过滤业务,防火墙和URL过滤业务分别有3个服务器,这种流量被导向穿过多个业务单元的技术称为业务链(Service Chain)。其中负责连接业务单元服务器的是一个特殊的交换机,称为业务交换机,区别于传统交换机,业务交换机不能只靠目的媒体接入控制(Medium Access Control,简称:MAC)转发报文,业务交换机转发报文还需要使用报文头的其他字段包括用户自定义的字段。
[0004]现有技术中,对于单一业务单元所使用的负载均衡器,由于需要存储上百万条IP五元组所标识的业务流,因此需要有很强的处理能力,是比较昂贵的设备;而在图1所示的业务链的场景下,如果图1中的业务交换机也选用昂贵的负载均衡器,由于有多个业务单元,需要部署多个昂贵的负载均衡器,则成本会非常高。
【发明内容】
[0005]本发明实施例提供一种多业务单元负载均衡方法及装置,以解决多级业务单元的负载均衡。
[0006]第一方面,本发明实施例提供一种多业务单兀负载均衡方法,包括:
[0007]接收管理实体发送的业务配置信息,所述业务配置信息包括:指示客户端报文依次经过的业务单元的业务链、每一业务单元的服务器数量和所述业务链的流量策略;
[0008]根据所述业务配置信息,确定负载均衡路径数目;
[0009]根据所述负载均衡路径数目确定所述业务链中的每一业务单元对应的负载均衡路径表,所述负载均衡路径表包括负载均衡标识和所述负载均衡标识对应的业务单元中的服务器;
[0010]向所述业务链中的每一业务单元的业务交换机发送与所述每一业务单元对应的负载均衡路径表,用于所述每一业务单元的业务交换机接收到路由器转发的数据包后,根据所述数据包中携带的负载均衡标识在接收到的负载均衡路径表中找到对应的服务器,并将所述数据包发送至所述服务器处理。
[0011]在第一方面的第一种可能的实施方式中,所述根据所述业务配置信息,确定负载均衡路径数目之后,还包括:
[0012]向所述路由器发送所述负载均衡路径数目,用于所述路由器根据所述负载均衡路径数目为所述数据包分配所述负载均衡标识并将所述负载均衡标识封装在所述数据包中,所述负载均衡标识的总和等于所述负载均衡路径数目。
[0013]结合第一方面,在第一方面的第二种可能的实施方式中,所述向所述业务链中的每一业务单元的业务交换机发送与所述每一业务单元对应的负载均衡路径表之后,还包括:
[0014]接收所述路由器转发的来自客户端的第一数据包,根据所述负载均衡路径数目为所述第一数据包分配所述负载均衡标识并将所述负载均衡标识封装在所述第一数据包中,所述负载均衡标识的总和等于所述负载均衡路径数目;
[0015]将所述分配的负载均衡标识发送至所述路由器。
[0016]结合第一方面或第一方面的第一种或第二种可能的实施方式,在第一方面的第三种可能的实施方式中,所述根据所述业务配置信息,确定负载均衡路径数目,包括:
[0017]根据所述每一业务单元的服务器数量确定所述负载均衡路径数目。
[0018]结合第一方面的第三种可能的实施方式,在第一方面的第四种可能的实施方式中,所述根据所述每一业务单元的服务器数量确定所述负载均衡路径数目,包括:
[0019]取全部所述业务单元的服务器数量的最小公倍数,得到所述负载均衡路径数目。
[0020]第二方面,本发明实施例提供一种多业务单元负载均衡方法,包括:接收控制器发送的负载均衡路径表,所述负载均衡路径表是所述控制器根据接收到的业务配置信息确定负载均衡路径数目后,根据所述负载均衡路径数目确定的,所述业务配置信息包括:指示客户端报文依次经过的业务单元的业务链、每一业务单元的服务器数量和所述业务链的流量策略;
[0021]接收到路由器转发的数据包后,根据所述数据包中携带的负载均衡标识在所述负载均衡路径表中找到对应的服务器;
[0022]将所述数据包发送至所述服务器处理。
[0023]在第二方面的第一种可能的实施方式中,所述负载均衡标识的总和等于所述负载均衡路径数目。
[0024]第三方面,本发明实施例提供一种多业务单元负载均衡方法,包括:获取负载均衡标识;
[0025]接收到客户端发送的数据包后,将所述负载均衡标识封装在所述数据包中;
[0026]将携带所述负载均衡标识的数据包发送至业务链中的每一业务单元的业务交换机,用于所述每一业务单元的业务交换机接收到携带所述负载均衡标识的数据包后,根据所述数据包中携带的负载均衡标识在负载均衡路径表中找到对应的服务器,并将所述数据包发送至所述服务器处理,所述负载均衡路径表包括负载均衡标识和所述负载均衡标识对应的业务单元中的服务器。
[0027]在第三方面的第一种可能的实施方式中,所述将所述负载均衡标识封装在所述数据包中之前,还包括:
[0028]接收控制器发送的负载均衡路径数目,所述负载均衡路径数目是所述控制器根据接收到的业务配置信息确定的,所述业务配置信息包括:指示客户端报文依次经过的业务单元的业务链、每一业务单元的服务器数量和所述业务链的流量策略;
[0029]所述获取负载均衡标识,包括:
[0030]根据所述负载均衡路径数目为接收到的客户端发送的数据包分配所述负载均衡标识,所述负载均衡标识的总和等于所述负载均衡路径数目。
[0031]结合第三方面,在第三方面的第二种可能的实施方式中,所述获取负载均衡标识,包括:
[0032]接收所述控制器发送的所述负载均衡标识,所述负载均衡标识是所述控制器根据负载均衡路径数目分配的,所述负载均衡路径数目是所述控制器根据接收到的业务配置信息确定的,所述负载均衡标识的总和等于所述负载均衡路径数目。
[0033]第四方面,本发明实施例提供一种控制器,包括:
[0034]接收模块,用于接收管理实体发送的业务配置信息,所述业务配置信息包括:指示客户端报文依次经过的业务单元的业务链、每一业务单元的服务器数量和所述业务链的流
量策略;
[0035]确定模块,用于根据所述业务配置信息,确定负载均衡路径数目;
[0036]所述确定模块还用于根据所述负载均衡路径数目确定所述业务链中的每一业务单元对应的负载均衡路径表,所述负载均衡路径表包括负载均衡标识和所述负载均衡标识对应的业务单元中的服务器;
[0037]发送模块,用于向所述业务链中的每一业务单元的业务交换机发送与所述每一业务单元对应的负载均衡路径表,用于所述每一业务单元的业务交换机接收到路由器转发的数据包后,根据所述数据包中携带的负载均衡标识在接收到的负载均衡路径表中找到对应的服务器,并将所述数据包发送至所述服务器处理。
[0038]在第四方面的第一种可能的实施方式中,所述发送模块还用于:
[0039]在所述确定模块根据所述业务配置信息,确定负载均衡路径数目之后,向所述路由器发送所述负载均衡路径数目,用于所述路由器根据所述负载均衡路径数目为所述数据包分配所述负载均衡标识并将所述负载均衡标识封装在所述数据包中,所述负载均衡标识的总和等于所述负载均衡路径数目。
[0040]结合第四方面,在第四方面的第二种可能的实施方式中,所述接收模块还用于:
[0041]在所述发送模块向所述业务链中的每一业务单元的业务交换机发送与所述每一业务单元对应的负载均衡路径表之后,接收所述路由器转发的来自客户端的第一数据包,根据所述负载均衡路径数目为所述第一数据包分配所述负载均衡标识并将所述负载均衡标识封装在所述第一数据包中,所述负载均衡标识的总和等于所述负载均衡路径数目;
[0042]所述发送模块还用于:将所述分配的负载均衡标识发送至所述路由器。
[0043]结合第四方面或第四方面的第一种或第二种可能的实施方式,在第四方面的第三种可能的实施方式中,所述确定模块根据所述业务配置信息,确定负载均衡路径数目,包括:
[0044]根据所述每一业务单元的服务器数量确定所述负载均衡路径数目。[0045]结合第四方面的第三种可能的实施方式,在第四方面的第四种可能的实施方式中,根据所述每一业务单元的服务器数量确定所述负载均衡路径数目,包括:
[0046]取全部所述业务单元的服务器数量的最小公倍数,得到所述负载均衡路径数目。
[0047]第五方面,本发明实施例提供一种业务交换机,包括:
[0048]接收模块,用于接收控制器发送的负载均衡路径表,所述负载均衡路径表是所述控制器根据接收到的业务配置信息确定负载均衡路径数目后,根据所述负载均衡路径数目确定的,所述业务配置信息包括:指示客户端报文依次经过的业务单元的业务链、每一业务单元的服务器数量和所述业务链的流量策略;
[0049]处理模块,用于在所述接收模块接收到路由器转发的数据包后,根据所述数据包中携带的负载均衡标识在所述负载均衡路径表中找到对应的服务器;
[0050]发送模块,用于将所述数据包发送至所述服务器。
[0051]在第五方面的第一种可能的实施方式中,所述负载均衡标识的总和等于所述负载均衡路径数目。
[0052]第六方面,本发明实施例提供一种路由器,包括:
[0053]获取模块,用于获取负载均衡标识;
[0054]处理模块,用于在接收到客户端发送的数据包后,将所述负载均衡标识封装在所述数据包中;
[0055]发送模块,用于将携带所述负载均衡标识的数据包发送至业务链中的每一业务单元的业务交换机,用于所述每一业务单元的业务交换机接收到携带所述负载均衡标识的数据包后,根据所述数据包中携带的负载均衡标识在负载均衡路径表中找到对应的服务器,并将所述数据包发送至所述服务器处理,所述负载均衡路径表包括负载均衡标识和所述负载均衡标识对应的业务单元中的服务器。
[0056]在第六方面的第一种可能的实施方式中,所述获取模块还用于:
[0057]在所述处理模块将所述负载均衡标识封装在所述数据包中之前,接收控制器发送的负载均衡路径数目,所述负载均衡路径数目是所述控制器根据接收到的业务配置信息确定的,所述业务配置信息包括:指示客户端报文依次经过的业务单元的业务链、每一业务单元的服务器数量和所述业务链的流量策略;
[0058]所述获取模块获取负载均衡标识包括:根据所述负载均衡路径数目为接收到的客户端发送的数据包分配所述负载均衡标识,所述负载均衡标识的总和等于所述负载均衡路径数目。
[0059]结合第六方面,在第六方面的第二种可能的实施方式中,所述获取模块获取负载均衡标识包括:
[0060]接收所述控制器发送的所述负载均衡标识,所述负载均衡标识是所述控制器根据负载均衡路径数目分配的,所述负载均衡路径数目是所述控制器根据接收到的业务配置信息确定的,所述负载均衡标识的总和等于所述负载均衡路径数目。
[0061]本发明实施例提供的多业务单元负载均衡方法及装置,通过控制器控制路由器和每一业务单元的业务交换机,根据接收到的业务配置信息确定负载均衡路径数目,接着根据负载均衡路径数目确定每一业务单元对应的负载均衡路径表,最后向业务链中的每一业务单元的业务交换机发送与每一业务单元对应的负载均衡路径表,可使得每一业务单元的业务交换机接收到路由器转发的数据包后,根据数据包中携带的负载均衡标识在接收到的负载均衡路径表中找到对应的服务器,并将数据包发送至服务器处理。这样,负载均衡不是基于现有的IP五元组,而是基于负载均衡路径数目,从而业务交换机不需要采用传统的上百万条IP五元组的负载均衡器,而是采用普通的交换机,就可解决多级业务单元的负载均衡,降低了成本。
【专利附图】
【附图说明】
[0062]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0063]图1为流量流经业务链的示意图;
[0064]图2为本发明多业务单元负载均衡方法实施例一的流程图;
[0065]图3为本发明多业务单元负载均衡方法实施例二的流程图;
[0066]图4为本发明多业务单元负载均衡方法实施例三的流程图;
[0067]图5为本发明多业务单元负载均衡方法实施例四的交互流程图;
[0068]图6为本发明控制器实施例一的结构示意图;
[0069]图7为本发明业务交换机实施例一的结构示意图;
[0070]图8为本发明路由器实施例一的结构示意图。
【具体实施方式】
[0071]为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0072]图2为本发明多业务单元负载均衡方法实施例一的流程图,如图2所示,本实施例中以控制器作为执行主体为例进行说明,本实施例的方法可以包括:
[0073]S101、控制器接收管理实体发送的业务配置信息,业务配置信息包括:指示客户端报文依次经过的业务单元的业务链、每一业务单元的服务器数量和业务链的流量策略。
[0074]其中,控制器负责控制路由器和每一业务单元的业务交换机,负责布放业务路径。管理实体负责下发业务配置信息,业务配置信息包括:指示客户端报文依次经过的业务单元的业务链(如:定义一条用户〈——> 防火墙<—>URL滤波〈一> 网络的业务链)、每一业务单元的服务器数量(如防火墙用3个服务器,URL滤波用3个服务器)和业务链的流量策略。业务链的流量策略例如是:192.168.1.0/24,策略指示对所有符合192.168.1.0/24的流量适用该业务链,这个流量策略将被下发给路由器(flow Router),举例来说,本实施例中的路由器可以是流路由器。
[0075]S102、控制器根据业务配置信息,确定负载均衡路径数目。
[0076]具体地,控制器根据业务配置信息确定负载均衡路径数目可以是根据每一业务单元的服务器数量确定负载均衡路径数目,负载均衡路径数目在每一业务单元的服务器中均匀分配。具体例如可以是按照每一业务单元的服务器数量简单计算,例如控制器从管理实体中收到一个业务链(Service Chain),如单元A_》单元B-》单元C,其中单元A需要3个服务器,单元B需要4个服务器,单元C需要3个服务器,则控制器将安排的负载均衡路径数目为:3X4X3 = 24条。
[0077]按照上述简单计算方法需要的表项空间较大,一般为节省表项空间,可以采用取全部业务单元的服务器数量的最小公倍数,得到负载均衡路径数目。按照此方法则控制器将安排的负载均衡路径数目为:最小公倍数(3,4,3) = 12条。
[0078]S103、控制器根据负载均衡路径数目确定业务链中的每一业务单元对应的负载均衡路径表,负载均衡路径表包括负载均衡标识和负载均衡标识对应的业务单元中的服务器。
[0079]具体地,例如负载均衡路径数目为12,控制器根据负载均衡路径数目确定负载均衡路径表,负载均衡标识的总和等于负载均衡路径数目,负载均衡标识例如可以为O?11,如业务单元A的三个服务器分别为服务器1、服务器2、服务器3,则对于业务单元A来说,控制器按照4为Hash因子,负载均衡路径表如下:
[0080]O 单元A服务器I
[0081]3 单元A服务器I
[0082]6 单元A服务器I
[0083]9 单元A服务器I
[0084]I 单元A服务器2
[0085]4 单元A服务器2
[0086]7 单元A服务器2
[0087]10 单元A服务器2
[0088]2 单元A服务器3
[0089]5 单元A服务器3
[0090]8 单元A服务器3
[0091]11 单元A服务器3
[0092]对于业务单元B、C以此类推,不再举例。
[0093]具体地,作为一种可实施的方式,控制器根据业务配置信息,确定负载均衡路径数目之后,还包括:
[0094]控制器向路由器发送负载均衡路径数目,用于路由器根据负载均衡路径数目为数据包分配负载均衡标识并将所述负载均衡标识封装在数据包中,其中,分配的负载均衡标识为负载均衡路径表中的一负载均衡标识,负载均衡标识的总和等于负载均衡路径数目。
[0095]作为另一种可实施的方式,控制器向业务链中的每一业务单元的业务交换机发送与每一业务单元对应的负载均衡路径表之后,还可以包括:
[0096]控制器接收路由器转发的来自客户端的第一数据包,根据负载均衡路径数目为第一数据包分配负载均衡标识并将所述负载均衡标识封装在第一数据包中,其中,分配的负载均衡标识为负载均衡路径表中的一负载均衡标识,负载均衡标识的总和等于负载均衡路径数目。
[0097]控制器将分配的负载均衡标识发送至路由器。[0098]S104、控制器向业务链中的每一业务单元的业务交换机发送与每一业务单元对应的负载均衡路径表,用于每一业务单元的业务交换机接收到路由器转发的数据包后,根据数据包中携带的负载均衡标识在接收到的负载均衡路径表中找到对应的服务器,并将数据包发送至服务器处理。
[0099]服务器对数据包进行处理之后,将处理后的数据包发送至业务交换机,业务交换机再将处理后的数据包发送至路由器。
[0100]本实施例提供的多业务单元负载均衡方法,通过控制器控制路由器和每一业务单元的业务交换机,根据接收到的业务配置信息确定每一业务单元对应的负载均衡路径数目,接着根据负载均衡路径数目确定负载均衡路径表,最后向业务链中的每一业务单元的业务交换机发送与每一业务单元对应的负载均衡路径表,可使得每一业务单元的业务交换机接收到路由器转发的数据包后,根据数据包中携带的负载均衡标识在接收到的负载均衡路径表中找到对应的服务器,并将数据包发送至服务器处理。这样,负载均衡不是基于现有的IP五元组,而是基于负载均衡路径数目,从而业务交换机不需要采用传统的上百万条IP五元组的负载均衡器,而是采用普通的交换机,就可解决多级业务单元的负载均衡,降低了成本。
[0101]图3为本发明多业务单元负载均衡方法实施例二的流程图,本实施例中以每一业务单元的业务交换机作为执行主体为例进行说明,如图3所示,本实施例的方法可以包括:
[0102]S201、业务交换机接收控制器发送的负载均衡路径表,负载均衡路径表是控制器根据接收到的业务配置信息确定负载均衡路径数目后,根据负载均衡路径数目确定的,业务配置信息包括:指示客户端报文依次经过的业务单元的业务链、每一业务单元的服务器数量和业务链的流量策略。
[0103]具体地,控制器负责控制路由器和每一业务单元的业务交换机,负责布放业务路径。管理实体负责下发业务配置信息,业务配置信息包括:指示客户端报文依次经过的业务单元的业务链(如:定义一条用户〈——> 防火墙<—>URL滤波〈一> 网络的业务链)、每一业务单元的服务器数量(如防火墙用3个服务器,URL滤波用3个服务器)和业务链的流量策略。业务链的流量策略例如是:192.168.1.0/24,策略指示对所有符合192.168.1.0/24的流量施用该业务链,这个流量策略将被下发给路由器(flow Router)。
[0104]其中,负载均衡路径表是控制器根据接收到的业务配置信息确定负载均衡路径数目后,根据负载均衡路径数目确定的。具体地,控制器根据业务配置信息确定负载均衡路径数目可以是根据每一业务单元的服务器数量确定负载均衡路径数目,负载均衡路径数目在每一业务单元的服务器中均匀分配。具体例如可以是按照每一业务单元的服务器数量简单计算,例如控制器从管理实体中收到一个业务链(Service Chain),如单元A_》单元B-》单元C,其中单元A需要3个服务器,单元B需要4个服务器,单元C需要3个服务器,则控制器将安排的负载均衡路径数目为:3X4X3 = 24条。
[0105]按照上述简单计算方法需要的表项空间较大,一般为节省表项空间,可以采用取全部业务单元的服务器数量的最小公倍数,得到负载均衡路径数目。按照此方法则控制器将安排的负载均衡路径数目为:最小公倍数(3,4,3) = 12条。
[0106]然后控制器根据负载均衡路径数目确定负载均衡路径表。
[0107]S202、业务交换机接收到路由器转发的数据包后,根据数据包中携带的负载均衡标识在负载均衡路径表中找到对应的服务器。
[0108]其中,数据包中携带的负载均衡标识可以是路由器根据负载均衡路径数目为数据包分配的,然后由路由器将分配的负载均衡标识封装在数据包中;也可以是控制器根据负载均衡路径数目为数据包分配的,由路由器将分配的负载均衡标识封装在数据包中。负载均衡标识的总和等于负载均衡路径数目。
[0109]S203、业务交换机将数据包发送至服务器处理。
[0110]进一步地,业务交换机将数据包发送至服务器之后,还包括:
[0111]业务交换机接收服务器发送的处理后的数据包;
[0112]业务交换机将处理后的数据包发送至路由器。
[0113]本实施例提供的多业务单元负载均衡方法,通过控制器控制路由器和每一业务单元的业务交换机,业务交换机接收控制器发送的负载均衡路径表,业务交换机接收路由器转发的数据包后,根据数据包中携带的负载均衡标识在负载均衡路径表中找到对应的服务器,并将数据包发送至服务器处理。这样,负载均衡不是基于现有的IP五元组,而是基于负载均衡路径数目,从而业务交换机不需要采用传统的上百万条IP五元组的负载均衡器,而是采用普通的交换机,就可解决多级业务单元的负载均衡,降低了成本。
[0114]图4为本发明多业务单元负载均衡方法实施例三的流程图,本实施例中以路由器作为执行主体为例进行说明,如图4所示,本实施例的方法可以包括:
[0115]S301、路由器获取负载均衡标识。
[0116]S302、路由器接收到客户端发送的数据包后,将所述负载均衡标识封装在所述数据包中。
[0117]S303、路由器将携带负载均衡标识的数据包发送至业务链中的每一业务单元的业务交换机,用于每一业务单元的业务交换机接收到携带负载均衡标识的数据包后,根据数据包中携带的负载均衡标识在负载均衡路径表中找到对应的服务器,并将数据包发送至服务器处理,负载均衡路径表包括负载均衡标识和所述负载均衡标识对应的业务单元中的服务器。
[0118]举例来说,路由器将携带负载均衡标识的数据包发送至业务链中的每一业务单元的业务交换机的过程是:路由器将携带负载均衡标识的数据包先发给业务链中的第一个业务交换机,第一个业务交换机发给相应的服务器处理后再由该服务器返回到路由器,接着路由器再发给第二个业务交换机,第二个业务交换机发给相应的服务器处理后再由该服务器返回到路由器。
[0119]具体地,作为一种可实施的方式,路由器将负载均衡标识封装在数据包中之前,还包括:
[0120]路由器接收控制器发送的负载均衡路径数目,负载均衡路径数目是控制器根据接收到的业务配置信息确定的,业务配置信息包括:指示客户端报文依次经过的业务单元的业务链、每一业务单元的服务器数量和业务链的流量策略;
[0121]获取负载均衡标识,具体可以为:
[0122]路由器根据负载均衡路径数目为接收到的客户端发送的数据包分配负载均衡标识,负载均衡标识的总和等于负载均衡路径数目。
[0123]作为另一种可实施的方式,获取负载均衡标识,具体可以为:[0124]路由器接收控制器发送的负载均衡标识,负载均衡标识是控制器根据负载均衡路径数目分配的,负载均衡路径数目是控制器根据接收到的业务配置信息确定的,负载均衡标识的总和等于负载均衡路径数目。
[0125]本实施例提供的多业务单元负载均衡方法,通过路由器获取负载均衡标识,在接收到客户端发送的数据包后,将所述负载均衡标识封装在所述数据包中,并将携带负载均衡标识的数据包发送至业务链中的每一业务单元的业务交换机,用于业务交换机接收到携带负载均衡标识的数据包后,根据数据包中携带的负载均衡标识在负载均衡路径表中找到对应的服务器,并将数据包发送至服务器处理。这样,负载均衡不是基于现有的IP五元组,而是基于负载均衡路径数目,从而业务交换机不需要采用传统的上百万条IP五元组的负载均衡器,而是采用普通的交换机,就可解决多级业务单元的负载均衡,降低了成本。
[0126]下面采用一个具体的实施例,对图2?图4所示方法实施例的技术方案进行详细说明。
[0127]图5为本发明多业务单元负载均衡方法实施例四的交互流程图,如图5所示,本实施例中以2个业务单元为例,两个业务单元分别为防火墙(FW)和滤波(URL),两个业务单元分别都有3个服务器,本实施例的方法包括:
[0128]S401、控制器接收管理实体发送的业务配置信息,业务配置信息包括:指示客户端报文依次经过的业务单元的业务链、每一业务单元的服务器数量和业务链的流量策略。
[0129]S402、控制器根据业务配置信息,确定负载均衡路径数目。
[0130]S403、控制器根据负载均衡路径数目确定业务链中的每一业务单元对应的负载均衡路径表,负载均衡路径表包括负载均衡标识和负载均衡标识对应的业务单元的一服务器。
[0131]本实施例中,两个业务单元分别都有3个服务器,按照最小公倍数计算负载均衡路径数目为3条,负载均衡标识如取O、1、2,对于防火墙业务单元来说,负载均衡路径表如下:
[0132]O FW 服务器 I
[0133]I FW 服务器 2
[0134]2 FW 服务器 3
[0135]对于URL业务单元来说,负载均衡路径表如下:
[0136]O URL 服务器 I
[0137]I URL 服务器 2
[0138]2 URL 服务器 3
[0139]本实施例中以控制器分配负载均衡标识为例。
[0140]S404、控制器向业务链中的每一业务单元的业务交换机发送与每一业务单元对应的负载均衡路径表。
[0141]S405、路由器接收到来自客户端的第一数据包后,向控制器转发。
[0142]S406、控制器接收到该第一数据包后,根据负载均衡路径数目为第一数据包分配负载均衡标识,分配的负载均衡标识为负载均衡路径表中的一负载均衡标识,如O或I或2。
[0143]S407、控制器将分配的负载均衡标识发送至路由器。
[0144]S408、路由器将负载均衡标识封装在第一数据包中。[0145]S409、路由器将携带负载均衡标识的第一数据包发送至业务链中的每一业务单元的业务交换机。
[0146]S410、业务交换机接收到第一数据包后,根据第一数据包中携带的负载均衡标识在负载均衡路径表中找到对应的服务器,并将第一数据包发送至该服务器处理。
[0147]S411、业务交换机接收服务器发送的处理后的第一数据包,将处理后的第一数据包发送至路由器。
[0148]图6为本发明控制器实施例一的结构示意图,如图6所示,本实施例的控制器可以包括:接收模块11、确定模块12和发送模块13,其中,接收模块11用于接收管理实体发送的业务配置信息,所述业务配置信息包括:指示客户端报文依次经过的业务单元的业务链、每一业务单元的服务器数量和所述业务链的流量策略。确定模块12用于根据所述业务配置信息,确定负载均衡路径数目。确定模块12还用于根据所述负载均衡路径数目确定业务链中的每一业务单元对应的负载均衡路径表,所述负载均衡路径表包括负载均衡标识和所述负载均衡标识对应的业务单元中的服务器。发送模块13用于向所述业务链中的每一业务单元的业务交换机发送与所述每一业务单元对应的负载均衡路径表,用于所述每一业务单元的业务交换机接收到路由器转发的数据包后,根据所述数据包中携带的负载均衡标识在接收到的负载均衡路径表中找到对应的服务器,并将所述数据包发送至所述服务器处理。
[0149]作为一种可实施的方式,发送模块13还用于:
[0150]在所述确定模块12根据所述业务配置信息,确定负载均衡路径数目之后,向所述路由器发送所述负载均衡路径数目,用于所述路由器根据所述负载均衡路径数目为所述数据包分配所述负载均衡标识并将所述负载均衡标识封装在数据包中,其中,分配的负载均衡标识为所述负载均衡路径表中的一负载均衡标识,负载均衡标识的总和等于负载均衡路径数目。
[0151]作为另一种可实施的方式,接收模块11还用于:
[0152]在所述发送模块13向所述业务链中的每一业务单元的业务交换机发送与所述每一业务单元对应的负载均衡路径表之后,接收所述路由器转发的来自客户端的第一数据包,根据所述负载均衡路径数目为所述第一数据包分配所述负载均衡标识并将所述负载均衡标识封装在第一数据包中,其中,分配的负载均衡标识为所述负载均衡路径表中的一负载均衡标识,负载均衡标识的总和等于负载均衡路径数目。发送模块13还用于:将所述分配的负载均衡标识发送至所述路由器。
[0153]在上述实施例中,确定模块12根据所述业务配置信息,确定负载均衡路径数目,可以包括:
[0154]根据所述每一业务单元的服务器数量确定所述负载均衡路径数目。
[0155]具体例如可以是取全部所述业务单元的服务器数量的最小公倍数,得到所述负载均衡路径数目。
[0156]本实施例的控制器,可以用于执行图2所示方法实施例的技术方案,其实现原理类似,此处不再赘述。
[0157]本实施例提供的控制器,通过控制器控制路由器和每一业务单元的业务交换机,其中确定模块根据接收到的业务配置信息确定负载均衡路径数目,接着根据负载均衡路径数目确定负载均衡路径表,最后发送模块向业务链中的每一业务单元的业务交换机发送与每一业务单元对应的负载均衡路径表,可使得每一业务单元的业务交换机接收到路由器转发的数据包后,根据数据包中携带的负载均衡标识在负载均衡路径表中找到对应的服务器,并将数据包发送至服务器处理。这样,负载均衡不是基于现有的IP五元组,而是基于负载均衡路径数目,从而业务交换机不需要采用传统的上百万条IP五元组的负载均衡器,而是采用普通的交换机,就可解决多级业务单元的负载均衡,降低了成本。
[0158]图7为本发明业务交换机实施例一的结构示意图,如图7所示,本实施例的业务交换机可以包括:接收模块21、处理模块22和发送模块23,其中,接收模块21用于接收控制器发送的负载均衡路径表,所述负载均衡路径表是所述控制器根据接收到的业务配置信息确定负载均衡路径数目后,根据所述负载均衡路径数目确定的,所述业务配置信息包括:指示客户端报文依次经过的业务单元的业务链、每一业务单元的服务器数量和所述业务链的流量策略。处理模块22用于在所述接收模块接收到路由器转发的数据包后,根据所述数据包中携带的负载均衡标识在所述负载均衡路径表中找到对应的服务器。发送模块23用于将所述数据包发送至所述服务器。
[0159]其中,负载均衡标识的总和等于所述负载均衡路径数目。
[0160]本实施例的业务交换机,可以用于执行图3所示方法实施例的技术方案,其实现原理类似,此处不再赘述。
[0161]本实施例提供的业务交换机,通过控制器控制路由器和每一业务单元的业务交换机,其中接收模块接收控制器发送的负载均衡路径表,接收模块接收路由器转发的数据包后,处理模块根据数据包中携带的负载均衡标识在负载均衡路径表中找到对应的服务器,发送模块将数据包发送至服务器处理。从而可向解决多级业务单元的负载均衡,这样,负载均衡不是基于现有的IP五元组,而是基于负载均衡路径数目,从而业务交换机不需要采用传统的上百万条IP五元组的负载均衡器,而是采用普通的交换机,就可解决多级业务单元的负载均衡,降低了成本。
[0162]图8为本发明路由器实施例一的结构示意图,如图8所示,本实施例的路由器可以包括:获取模块31、处理模块32和发送模块33,其中,获取模块31用于获取负载均衡标识。处理模块32用于在接收到客户端发送的数据包后,将所述负载均衡标识封装在所述数据包中。发送模块33用于将携带所述负载均衡标识的数据包发送至业务链中的每一业务单元的业务交换机,用于所述每一业务单元的业务交换机接收到携带所述负载均衡标识的数据包后,根据所述数据包中携带的负载均衡标识在负载均衡路径表中找到对应的服务器,并将所述数据包发送至所述服务器处理,负载均衡路径表包括负载均衡标识和所述负载均衡标识对应的业务单元中的服务器。
[0163]其中,获取模块31还用于:
[0164]在所述处理模块32将所述负载均衡标识封装在所述数据包中之前,接收控制器发送的负载均衡路径数目,所述负载均衡路径数目是所述控制器根据接收到的业务配置信息确定的,所述业务配置信息包括:指示客户端报文依次经过的业务单元的业务链、每一业务单元的服务器数量和所述业务链的流量策略;
[0165]可选地,获取模块31获取负载均衡标识包括:根据所述负载均衡路径数目为接收到的客户端发送的数据包分配所述负载均衡标识,负载均衡标识的总和等于负载均衡路径数目。
[0166]可选地,获取模块31获取负载均衡标识包括:接收所述控制器发送的所述负载均衡标识,所述负载均衡标识是所述控制器根据负载均衡路径数目分配的,负载均衡路径数目是控制器根据接收到的业务配置信息确定的,负载均衡标识的总和等于负载均衡路径数目。
[0167]本实施例的路由器,可以用于执行图4所示方法实施例的技术方案,其实现原理类似,此处不再赘述。
[0168]本实施例提供的多业务单元负载均衡方法,通过获取模块获取负载均衡标识,处理模块在接收到客户端发送的数据包后,将所述负载均衡标识封装在所述数据包中,发送模块将携带负载均衡标识的数据包发送至业务链中的每一业务单元的业务交换机,用于业务交换机接收到携带负载均衡标识的数据包后,根据数据包中携带的负载均衡标识在负载均衡路径表中找到对应的服务器,并将数据包发送至服务器处理。从而可向解决多级业务单元的负载均衡,降低了成本。
[0169]本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:R0M、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
[0170]最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
【权利要求】
1.一种多业务单元负载均衡方法,其特征在于,包括: 接收管理实体发送的业务配置信息,所述业务配置信息包括:指示客户端报文依次经过的业务单元的业务链、每一业务单元的服务器数量和所述业务链的流量策略; 根据所述业务配置信息,确定负载均衡路径数目; 根据所述负载均衡路径数目确定所述业务链中的每一业务单元对应的负载均衡路径表,所述负载均衡路径表包括负载均衡标识和所述负载均衡标识对应的业务单元中的服务器; 向所述业务链中的每一业务单元的业务交换机发送与所述每一业务单元对应的负载均衡路径表,用于所述每一业务单元的业务交换机接收到路由器转发的数据包后,根据所述数据包中携带的负载均衡标识在接收到的负载均衡路径表中找到对应的服务器,并将所述数据包发送至所述服务器处理。
2.根据权利要求1所述的方法,其特征在于,所述根据所述业务配置信息,确定负载均衡路径数目之后,还包括: 向所述路由器发送所述负载均衡路径数目,用于所述路由器根据所述负载均衡路径数目为所述数据包分配所述负载均衡标识并将所述负载均衡标识封装在所述数据包中,所述负载均衡标识的总和等于所述负载均衡路径数目。
3.根据权利要求1所述的方法,其特征在于,所述向所述业务链中的每一业务单元的业务交换机发送与所述每一业务单元对应的负载均衡路径表之后,还包括: 接收所述路由器转发的来自客户端的第一数据包,根据所述负载均衡路径数目为所述第一数据包分配所述负载均衡标识并将所述负载均衡标识封装在所述第一数据包中,所述负载均衡标识的总和等于所述负载均衡路径数目; 将所述分配的负载均衡标识发送至所述路由器。
4.根据权利要求1~3任一所述的方法,其特征在于,所述根据所述业务配置信息,确定负载均衡路径数目,包括: 根据所述每一业务单元的服务器数量确定所述负载均衡路径数目。
5.根据权利要求4所述的方法,其特征在于,所述根据所述每一业务单元的服务器数量确定所述负载均衡路径数目,包括: 取全部所述业务单元的服务器数量的最小公倍数,得到所述负载均衡路径数目。
6.一种多业务单元负载均衡方法,其特征在于,包括: 接收控制器发送的负载均衡路径表,所述负载均衡路径表是所述控制器根据接收到的业务配置信息确定负载均衡路径数目后,根据所述负载均衡路径数目确定的,所述业务配置信息包括:指示客户端报文依次经过的业务单元的业务链、每一业务单元的服务器数量和所述业务链的流量策略; 接收到路由器转发的数据包后,根据所述数据包中携带的负载均衡标识在所述负载均衡路径表中找到对应的服务器; 将所述数据包发送至所述 服务器处理。
7.根据权利要求6所述的方法,其特征在于,所述负载均衡标识的总和等于所述负载均衡路径数目。
8.—种多业务单元负载均衡方法,其特征在于,包括:获取负载均衡标识; 接收到客户端发送的数据包后,将所述负载均衡标识封装在所述数据包中; 将携带所述负载均衡标识的数据包发送至业务链中的每一业务单元的业务交换机,用于所述每一业务单元的业务交换机接收到携带所述负载均衡标识的数据包后,根据所述数据包中携带的负载均衡标识在负载均衡路径表中找到对应的服务器,并将所述数据包发送至所述服务器处理,所述负载均衡路径表包括负载均衡标识和所述负载均衡标识对应的业务单元中的服务器。
9.根据权利要求8所述的方法,其特征在于,所述将所述负载均衡标识封装在所述数据包中之前,还包括: 接收控制器发送的负载均衡路径数目,所述负载均衡路径数目是所述控制器根据接收到的业务配置信息确定的,所述业务配置信息包括:指示客户端报文依次经过的业务单元的业务链、每一业务单元的服务器数量和所述业务链的流量策略; 所述获取负载均衡标识,包括: 根据所述负载均衡路径数目为接收到的客户端发送的数据包分配所述负载均衡标识,所述负载均衡标识的总和等于所述负载均衡路径数目。
10.根据权利要求8所述的方法,其特征在于,所述获取负载均衡标识,包括: 接收所述控制器发送的所述负载均衡标识,所述负载均衡标识是所述控制器根据负载均衡路径数目分配的,所述负载均衡路径数目是所述控制器根据接收到的业务配置信息确定的,所述负载均衡标识的总和等于所述负载均衡路径数目。
11.一种控制器,其特征在于,包括: 接收模块,用于接收管理实体发送的业务配置信息,所述业务配置信息包括:指示客户端报文依次经过的业务单元的业务链、每一业务单元的服务器数量和所述业务链的流量策略; 确定模块,用于根据所述业务配置信息,确定负载均衡路径数目; 所述确定模块还用于根据所述负载均衡路径数目确定所述业务链中的每一业务单元对应的负载均衡路径表,所述负载均衡路径表包括负载均衡标识和所述负载均衡标识对应的业务单元中的服务器; 发送模块,用于向所述业务链中的每一业务单元的业务交换机发送与所述每一业务单元对应的负载均衡路径表,用于所述每一业务单元的业务交换机接收到路由器转发的数据包后,根据所述数据包中携带的负载均衡标识在接收到的负载均衡路径表中找到对应的服务器,并将所述数据包发送至所述服务器处理。
12.根据权利要求11所述的控制器,其特征在于,所述发送模块还用于: 在所述确定模块根据所述业务配置信息,确定负载均衡路径数目之后,向所述路由器发送所述负载均衡路径数目,用于所述路由器根据所述负载均衡路径数目为所述数据包分配所述负载均衡标识并将所述负载均衡标识封装在所述数据包中,所述负载均衡标识的总和等于所述负载均衡路径数目 。
13.根据权利要求11所述的控制器,其特征在于,所述接收模块还用于: 在所述发送模块向所述业务链中的每一业务单元的业务交换机发送与所述每一业务单元对应的负载均衡路径表之后,接收所述路由器转发的来自客户端的第一数据包,根据所述负载均衡路径数目为所述第一数据包分配所述负载均衡标识并将所述负载均衡标识封装在所述第一数据包中,所述负载均衡标识的总和等于所述负载均衡路径数目; 所述发送模块还用于:将所述分配的负载均衡标识发送至所述路由器。
14.根据权利要求11~13任一所述的控制器,其特征在于,所述确定模块根据所述业务配置信息,确定负载均衡路径数目,包括: 根据所述每一业务单元的服务器数量确定所述负载均衡路径数目。
15.根据权利要求14所述的控制器,其特征在于,根据所述每一业务单元的服务器数量确定所述负载均衡路径数目,包括: 取全部所述业务单元的服务器数量的最小公倍数,得到所述负载均衡路径数目。
16.一种业务交换机,其特征在于,包括: 接收模块,用于接收控制器发送的负载均衡路径表,所述负载均衡路径表是所述控制器根据接收到的业务配置信息确定负载均衡路径数目后,根据所述负载均衡路径数目确定的,所述业务配置信息包括:指示客户端报文依次经过的业务单元的业务链、每一业务单元的服务器数量和所述业务链的流量策略; 处理模块,用于在所述接收模块接收到路由器转发的数据包后,根据所述数据包中携带的负载均衡标识在所述负载均衡路径表中找到对应的服务器; 发送模块,用于将所述数据包发送至所述服务器。
17.根据权利要求16所述的业务交换机,其特征在于,所述负载均衡标识的总和等于所述负载均衡路径数目。
18.—种路由器,其特征在于,包括: 获取模块,用于获取负载均衡标识; 处理模块,用于在接收到客户端发送的数据包后,将所述负载均衡标识封装在所述数据包中; 发送模块,用于将携带所述负载均衡标识的数据包发送至业务链中的每一业务单元的业务交换机,用于所述每一业务单元的业务交换机接收到携带所述负载均衡标识的数据包后,根据所述数据包中携带的负载均衡标识在负载均衡路径表中找到对应的服务器,并将所述数据包发送至所述服务器处理,所述负载均衡路径表包括负载均衡标识和所述负载均衡标识对应的业务单元中的服务器。
19.根据权利要求18所述的路由器,其特征在于,所述获取模块还用于: 在所述处理模块将所述负载均衡标识封装在所述数据包中之前,接收控制器发送的负载均衡路径数目,所述负载均衡路径数目是所述控制器根据接收到的业务配置信息确定的,所述业务配置信息包括:指示客户端报文依次经过的业务单元的业务链、每一业务单元的服务器数量和所述业务链的流量策略; 所述获取模块获取负载均衡标识包括:根据所述负载均衡路径数目为接收到的客户端发送的数据包分配所述负载均衡标识,所述负载均衡标识的总和等于所述负载均衡路径数目。
20.根据权利要求18所述的路由器,其特征在于,所述获取模块获取负载均衡标识包括: 接收所述控制器发 送的所述负载均衡标识,所述负载均衡标识是所述控制器根据负载均衡路径数目分配的,所述负载均衡路径数目是所述控制器根据接收到的业务配置信息确定的, 所述负载均衡标识的总和等于所述负载均衡路径数目。
【文档编号】H04L12/803GK103929368SQ201410188434
【公开日】2014年7月16日 申请日期:2014年5月5日 优先权日:2014年5月5日
【发明者】于德雷, 周天然 申请人:华为技术有限公司