基于负载均衡设备处理数据的方法和负载均衡设备的制作方法

文档序号:8004817阅读:273来源:国知局
基于负载均衡设备处理数据的方法和负载均衡设备的制作方法
【专利摘要】本发明公开了一种基于负载均衡设备处理数据的方法,包括:接收客户端发送的数据包,判断该数据包的类型;若数据包的类型为包含负载均衡设备的地址的访问数据包,则对数据包进行协议处理,对该数据包进行负载均衡调度;将服务器返回的应答数据包转发至客户端。本发明还公开一种负载均衡设备。对客户端发送的访问服务器的访问数据包进行拦截和调度,使访问数据包中包含的负载均衡设备的地址为服务器的IP地址,而服务器所返回的应答数据包中的源地址与访问数据包中的负载均衡设备的地址一致,实现了负载均衡设备对客户端和服务器的透明和不可见性,并且在负载均衡设备出现故障时,能够保证业务的连续性。
【专利说明】基于负载均衡设备处理数据的方法和负载均衡设备
【技术领域】
[0001]本发明涉及到互联网【技术领域】,特别涉及到一种基于负载均衡设备处理数据的方法和负载均衡设备。
【背景技术】
[0002]目前在对负载均衡设备进行部署时,只能够以“路由模式”、“旁路模式”、“三角传输模式”部署,而这几种模式存在一个致命的缺点,即无法做到对网络中其他设备为透明、不可见的。采用现有的部署方法,在将负载均衡设备部署到网络时,必须要修改网络中其他设备(例如被负载的服务器)的配置,甚至需要修改服务器或客户端代码。因此,负载均衡设备在部署时存在极大的不便,而一些业务关键的系统甚至无法部署负载均衡设备。并且,由于现有的部署方法不能使负载均衡设备在部署时做到对网络中其他设备的透明、不可见,因而负载均衡设备一旦出现故障,维护人员很难在短时间内恢复整个网络的正常运营。

【发明内容】

[0003]本发明的主要目的为提供一种基于负载均衡设备处理数据的方法和负载均衡设备,能够实现负载均衡设备的透明部署,并且在负载均衡设备出现故障时能够保证业务的连续性。
[0004]本发明提供一种基于负载均衡设备处理数据的方法,包括步骤:
[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]本发明通过判断接收到的客户端发送的数据包的类型,当数据包的类型为包含负载均衡设备的目的地址的访问数据包,对数据包进行协议处理,对该数据包进行负载均衡调度;并将服务器返回的应答数据包返回至客户端,该应答数据包中的源地址与访问数据包中的负载均衡设备的地址一致。负载均衡设备对客户端发送的访问服务器的访问数据包进行拦截和调度,使访问数据包中包含的负载均衡设备的地址为服务器的IP地址,而服务器所返回的应答数据包中的源地址与访问数据包中的负载均衡设备的地址一致,实现了负载均衡设备对客户端和服务器的透明和不可见性,并且在负载均衡设备出现故障时,能够保证业务的连续性。
【专利附图】

【附图说明】
[0045]图1为本发明基于负载均衡设备处理数据的方法第一实施例的流程示意图;
[0046]图2为本发明基于负载均衡设备处理数据的方法中对数据包进行协议处理,并对数据包进行负载均衡调度的流程示意图;
[0047]图3为本发明基于负载均衡设备处理数据的方法第二实施例的流程示意图;
[0048]图4为本发明基于负载均衡设备处理数据的方法第三实施例的流程示意图;
[0049]图5为本发明基于负载均衡设备处理数据的方法中将该查询数据包转发至相应的服务器或根据该查询数据包向客户端应答的流程示意图;
[0050]图6为本发明基于负载均衡设备处理数据的方法第四实施例的流程示意图;
[0051]图7为本发明负载均衡设备第一实施例的结构示意图;
[0052]图8为本发明负载均衡设备的处理及调度模块的结构示意图;
[0053]图9为本发明负载均衡设备第二实施例的结构示意图;
[0054]图10为本发明负载均衡设备第三实施例的结构示意图;
[0055]图11为本发明负载均衡设备应答模块的结构示意图;
[0056]图12为本发明负载均衡设备第四实施例的结构示意图。
[0057]本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
【具体实施方式】
[0058]应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0059]本发明提供一种基于负载均衡设备处理数据的方法。在网络中部署时,负载均衡设备对客户端和服务器都是透明、不可见的,可预先将多个服务器的IP地址和登录端口号配置在该负载均衡设备中,使其对外发布的虚拟IP可以为多个服务器的IP地址,端口号也为服务器的登录端口号,当然也可以与部分服务器的IP地址和登录端口号相同;并且,多个服务器的网关也始终指向防火墙。在客户端发送数据包后,通过负载均衡设备将客户端发送的数据包拦截,并根据数据包的类型对该数据包进行相应的转发、应答以及负载均衡调度等处理。
[0060]参照图1,图1为本发明基于负载均衡设备处理数据的方法第一实施例的流程示意图。
[0061]本实施例所提供的基于负载均衡设备处理数据的方法,包括:[0062]步骤S10,接收客户端发送的数据包,判断该数据包的类型;
[0063]在本实施例中,客户端通过防火墙访问网络时,网卡驱动接收防火墙所转发的客户端发送的数据包,负载均衡设备将该数据包拦截,并判断数据包的类型,以对不同类型的数据包进行不同的处理。本实施例中,数据包的类型包括访问数据包、普通数据包和查询数据包;其中,访问数据包为访问网络中的服务器的数据包,其中包括所访问的负载均衡设备的IP地址和登录端口号,本实施例中,负载均衡设备的IP地址和登录端口号可以为多个服务器的IP地址和端口号,或者与部分服务器的IP地址和端口号相同;查询数据包为查询服务器的物理地址的数据包,如ARP请求;而普通数据包则为除访问数据包和查询数据包之外的类型的数据包,其中包含了客户端与服务器交互的普通业务。
[0064]步骤S20,若数据包的类型为包含负载均衡设备的地址的访问数据包,则对数据包进行协议处理,对该数据包进行负载均衡调度;
[0065]如判断出的数据包的类型是访问数据包,本实施例中,防火墙所转发的访问数据包中所包含的目的地址为负载均衡设备的IP地址,防火墙并不知道负载均衡设备的存在。负载均衡设备对该访问数据包进行协议处理,然后,根据网络中的多个服务器的负载能力,将访问数据包调度至相应的服务器。
[0066]请一并参照图2,图2为本发明基于负载均衡设备处理数据的方法中对数据包进行协议处理,并对数据包进行负载均衡调度的流程示意图。
[0067]在本实施例中,步骤S20进一步包括:
[0068]步骤S21,对访问数据包进行协议解析,得到该访问数据包对应的通讯协议;
[0069]步骤S22,根据解析出的通讯协议对访问数据包进行相应的协议处理;
[0070]步骤S23,将经过协议处理后的访问数据包调度至相应的服务器。
[0071]接收到包含负载均衡设备的目的地址的访问数据包后,负载均衡设备中的TCP/UDP协议栈对该访问数据包进行协议解析,得到访问数据包对应的通讯协议,而后通过HTTP/DNS/RADIU协议模块对访问数据包进行相应的协议处理,使其能够与多个服务器通讯;负载均衡设备中的负载均衡算法调度器根据多个服务器的负载能力,将经过协议处理后的访问数据包调度至相应的服务器。本实施例中,由于客户端所访问的服务器有可能负载过多,因此,会将访问数据包调度至网络中的其他服务器,以更好地保证业务的处理效率。
[0072]步骤S30,将服务器返回的应答数据包转发至客户端,该应答数据包中的源地址与访问数据包中的负载均衡设备的地址一致。
[0073]服务器接收到客户端的访问数据包,根据该访问数据包进行相应的业务处理,然后通过负载均衡设备转发应答数据包至客户端,该应答数据包中包含源地址,而该源地址则与客户端所发送的访问数据包中负载均衡设备的地址一致,即为客户端所访问的服务器的IP地址。
[0074]在本实施例中,如果负载均衡设备出现故障,其内部的硬件BYPASS模块会自动将设备的两个网口对接,使负载均衡设备作为一根导线,保证服务器和防火墙之间的连通,整个网络不会中断,系统业务也不会中断。
[0075]本实施例通过判断接收到的客户端发送的数据包的类型,当数据包的类型为包含负载均衡设备的目的地址的访问数据包,对数据包进行协议处理,对该数据包进行负载均衡调度;并将服务器返回的应答数据包返回至客户端,该应答数据包中的源地址与访问数据包中的负载均衡设备的地址一致。负载均衡设备对客户端发送的访问服务器的访问数据包进行拦截和调度,使访问数据包中包含的负载均衡设备的地址为服务器的IP地址,而服务器所返回的应答数据包中的源地址与访问数据包中的负载均衡设备的地址一致,实现了负载均衡设备对客户端和服务器的透明和不可见性,并且在负载均衡设备出现故障时,能够保证业务的连续性。
[0076]参照图3,图3为本发明基于负载均衡设备处理数据的方法第二实施例的流程示意图。
[0077]在本发明基于负载均衡设备处理数据的方法第一实施例的基础上,在执行步骤S23之前,步骤S20还包括:
[0078]步骤S24,判断访问数据包中的负载均衡设备的地址与所调度的服务器的地址是否一致;若否,则执行步骤S25;
[0079]步骤S25,将负载均衡设备的地址修改为所调度的服务器的地址。
[0080]在本实施例中,解析出访问数据包的通讯协议并对该访问数据包进行相应的协议处理后,由于客户端所访问的服务器有可能负载过多,而负载均衡算法调度器会将访问数据包调度至网络中的其他服务器,因此,在将访问数据包进行调度时,首先判断该访问数据包中的负载均衡设备的地址与所调度的服务器的地址是否一致,如一致,即负载均衡设备的地址为客户端所访问的服务器的IP地址,则直接将访问数据包调度至该服务器;而如不一致,则将负载均衡设备的地址修改为所调度的服务器的地址,然后将访问数据包调度至相应的服务器。
[0081]参照图4,图4为本发明基于负载均衡设备处理数据的方法第三实施例的流程示意图。
[0082]在本发明基于负载均衡设备处理数据的方法第一实施例的基础上,在执行步骤S30之前,该方法还包括:
[0083]步骤S40,判断服务器返回的应答数据包中的源地址与访问数据包中的负载均衡设备的地址是否一致,若否,则执行步骤S41 ;
[0084]步骤S41,将源地址修改为访问数据包中的负载均衡设备的地址。
[0085]在本实施例中,在服务器接收到负载均衡设备转发的访问数据包后,根据该访问数据包进行相应的业务处理,然后向客户端返回对应的应答数据包,同样由于客户端所访问的服务器有可能负载过多,而会将访问数据包调度至网络中的其他服务器,在负载均衡设备向客户端转发应答数据包时,也会判断应答数据包中的源地址与访问数据包中的负载均衡设备的地址是否一致,如一致,则直接将其转发至客户端;如不一致,则先将源地址修改为访问数据包中的负载均衡设备的地址,然后再进行转发。
[0086]由于客户端所访问的服务器有可能负载过多,而负载均衡算法调度器会将访问数据包调度至网络中的其他服务器,在将访问数据包进行调度时,判断负载均衡设备的地址与所调度的服务器的地址是否一致,以及在将服务器返回的应答数据包转发至客户端时,判断地址与所调度的服务器的地址是否一致,并在不一致时进行修改,从而进一步保证了负载均衡设备对客户端和服务器的透明和不可见性。
[0087]参照图5,图5为本发明基于负载均衡设备处理数据的方法第四实施例的流程示意图。
[0088]在本发明基于负载均衡设备处理数据的方法第一、第二或第三实施例的基础上,在执行步骤Sio之后,该方法还包括:
[0089]步骤S50,若数据包的类型为包含普通业务的普通数据包,则对该数据包进行转发;
[0090]在本实施例中,如判断出所接收到的防火墙所转发的客户端发送的数据包为包含普通业务的普通数据包,此时负载均衡设备作为网桥接入网络中,对于普通数据包只进行
二层转发。
[0091]步骤S51,若数据包的类型为查询服务器的物理地址的查询数据包,则将该查询数据包转发至相应的服务器或根据该查询数据包向客户端应答。
[0092]如判断出数据包为查询服务器的物理地址的查询数据包,则根据服务器的在线情况,将查询数据包转发至相应的服务器或通过负载均衡设备的ARP代理模块直接向客户端应答。
[0093]请一并参照图6,图6为本发明基于负载均衡设备处理数据的方法中将该查询数据包转发至相应的服务器或根据该查询数据包向客户端应答的流程示意图。
[0094]在本实施例中,步骤S51进一步包括:
[0095]步骤S511,若数据包的类型为查询服务器的物理地址的查询数据包,判断该服务器是否在线;当服务器在线时,执行步骤S512 ;当服务器不在线时,执行步骤S513 ;
[0096]步骤S512,将数据包转发至该服务器以向客户端应答;
[0097]步骤S513,向客户端应答负载均衡设备的物理地址。
[0098]如判断出数据包为查询服务器的物理地址的查询数据包,首先判断该服务器是否在线,如果服务器在线,则将查询数据包转发至该服务器,由服务器向客户端应答,此时应答的地址即为该服务器自身的如MAC地址的物理地址;而如果服务器不在线,则由负载均衡设备的ARP代理模块直接向客户端应答,此时所应答的地址为负载均衡设备的如MAC地址的物理地址。这样,客户端不知道服务器已宕机,其所请求查询的物理地址已变成负载均衡设备的物理地址,而负载均衡设备会为访问请求重新调度一台服务器。
[0099]本发明还提供一种负载均衡设备。
[0100]参照图7,图7为本发明负载均衡设备第一实施例的结构示意图。
[0101]本实施例所提供的负载均衡设备,包括:
[0102]第一判断模块10,用于接收客户端发送的数据包,判断该数据包的类型;
[0103]处理及调度模块20,用于当数据包的类型为包含负载均衡设备的地址的访问数据包时,对数据包进行协议处理,对该数据包进行负载均衡调度;
[0104]第一转发模块30,用于将服务器返回的应答数据包转发至客户端,该应答数据包中的源地址与访问数据包中的负载均衡设备的地址一致。
[0105]在本实施例中,客户端通过防火墙访问网络时,网卡驱动接收防火墙所转发的客户端发送的数据包,负载均衡设备将该数据包拦截,并通过第一判断模块10判断数据包的类型,以对不同类型的数据包进行不同的处理。本实施例中,数据包的类型包括访问数据包、普通数据包和查询数据包;其中,访问数据包为访问网络中的服务器的数据包,其中包括所访问的负载均衡设备的IP地址和登录端口号,本实施例中,负载均衡设备的IP地址和登录端口号可以为多个服务器的IP地址和端口号,或者与部分服务器的IP地址和端口号相同;查询数据包为查询服务器的物理地址的数据包,如ARP请求;而普通数据包则为除访问数据包和查询数据包之外的类型的数据包,其中包含了客户端与服务器交互的普通业务。。
[0106]如第一判断模块10判断出的数据包的类型是访问数据包,本实施例中,防火墙所转发的访问数据包中所包含的负载均衡设备的地址为服务器的IP地址,防火墙并不知道负载均衡设备的存在。负载均衡设备的处理及调度模块20对该访问数据包进行协议处理,然后,根据网络中的多个服务器的负载能力,将访问数据包调度至相应的服务器。
[0107]请一并参照图8,图8为本发明负载均衡设备的处理及调度模块的结构示意图。
[0108]在本实施例中,处理及调度模块20进一步包括:
[0109]解析单元21,用于对访问数据包进行协议解析,得到该访问数据包对应的通讯协议;
[0110]处理单元22,用于根据解析出的通讯协议对访问数据包进行相应的协议处理;
[0111]调度单元23,用于将经过协议处理后的访问数据包调度至相应的服务器。
[0112]接收到包含负载均衡设备的地址的访问数据包后,负载均衡设备的解析单元21通过TCP/UDP协议栈对该访问数据包进行协议解析,得到访问数据包对应的通讯协议,而后处理单元22通过HTTP/DNS/RADIU协议模块对访问数据包进行相应的协议处理,使其能够与多个服务器通讯;负载均衡设备的调度单元23负载均衡算法调度器根据多个服务器的负载能力,将经过协议处理后的访问数据包调度至相应的服务器。本实施例中,由于客户端所访问的服务器有可能负载过多,因此,会将访问数据包调度至网络中的其他服务器,以更好地保证业务的处理效率。
[0113]服务器接收到客户端的访问数据包,根据该访问数据包进行相应的业务处理,然后通过负载均衡设备的第一转发模块30转发应答数据包至客户端,该应答数据包中包含源地址,而该源地址则与客户端所发送的访问数据包中的负载均衡设备的地址一致,即为客户端所访问的服务器的IP地址。
[0114]在本实施例中,如果负载均衡设备出现故障,其内部的硬件BYPASS模块会自动将设备的两个网口对接,使负载均衡设备作为一根导线,保证服务器和防火墙之间的连通,整个网络不会中断,系统业务也不会中断。
[0115]本实施例通过判断接收到的客户端发送的数据包的类型,当数据包的类型为包含负载均衡设备的目的地址的访问数据包,对数据包进行协议处理,对该数据包进行负载均衡调度;并将服务器返回的应答数据包返回至客户端,该应答数据包中的源地址与访问数据包中的负载均衡设备的地址一致。负载均衡设备对客户端发送的访问服务器的访问数据包进行拦截和调度,使访问数据包中包含的负载均衡设备的地址为服务器的IP地址,而服务器所返回的应答数据包中的源地址与访问数据包中的负载均衡设备的地址一致,实现了负载均衡设备对客户端和服务器的透明和不可见性,并且在负载均衡设备出现故障时,能够保证业务的连续性。
[0116]参照图9,图9为本发明负载均衡设备第二实施例的结构示意图。
[0117]在本发明负载均衡设备第一实施例的基础上,处理及调度模块20还包括:
[0118]第一判断单元24,用于判断访问数据包中的负载均衡设备的地址与所调度的服务器的地址是否一致;
[0119]修改单元25,用于将负载均衡设备的地址修改为所调度的服务器的地址。
[0120]在本实施例中,解析出访问数据包的通讯协议并对该访问数据包进行相应的协议处理后,由于客户端所访问的服务器有可能负载过多,而负载均衡算法调度器会将访问数据包调度至网络中的其他服务器,因此,在将访问数据包进行调度时,第一判断单元24首先判断该访问数据包中的负载均衡设备的地址与所调度的服务器的地址是否一致,如一致,即负载均衡设备的地址为客户端所访问的服务器的IP地址,则直接将访问数据包调度至该服务器;而如不一致,则修改单元25将负载均衡设备的地址修改为所调度的服务器的地址,然后将访问数据包调度至相应的服务器。
[0121]参照图10,图10为本发明负载均衡设备第三实施例的结构示意图。
[0122]在本发明负载均衡设备第一实施例的基础上,负载均衡设备还包括:
[0123]第二判断模块40,用于判断服务器返回的应答数据包中的源地址与访问数据包中的负载均衡设备的地址是否一致;
[0124]修改模块41,用于将源地址修改为访问数据包中的负载均衡设备的地址。
[0125]在本实施例中,在服务器接收到负载均衡设备转发的访问数据包后,根据该访问数据包进行相应的业务处理,然后向客户端返回对应的应答数据包,同样由于客户端所访问的服务器有可能负载过多,而会将访问数据包调度至网络中的其他服务器,在负载均衡设备向客户端转发应答数据包时,第二判断模块40也会判断应答数据包中的源地址与访问数据包中的负载均衡设备的地址是否一致,如一致,则直接将其转发至客户端;如不一致,则先通过修改模块41将源地址修改为访问数据包中的负载均衡设备的地址,然后再进行转发。
[0126]由于客户端所访问的服务器有可能负载过多,而负载均衡算法调度器会将访问数据包调度至网络中的其他服务器,在将访问数据包进行调度时,判断负载均衡设备的地址与所调度的服务器的地址是否一致,以及在将服务器返回的应答数据包转发至客户端时,判断地址与所调度的服务器的地址是否一致,并在不一致时进行修改,从而进一步保证了负载均衡设备对客户端和服务器的透明和不可见性。
[0127]参照图11,图11为本发明负载均衡设备第四实施例的结构示意图。
[0128]在本发明负载均衡设备第一、第二或第三实施例的基础上,负载均衡设备还包括:
[0129]第二转发模块50,用于若数据包的类型为包含普通业务的普通数据包,则对该数据包进行转发;
[0130]应答模块51,用于若数据包的类型为查询服务器的物理地址的查询数据包,则将该查询数据包转发至相应的服务器或根据该查询数据包向客户端应答。
[0131]在本实施例中,如判断出所接收到的防火墙所转发的客户端发送的数据包为包含普通业务的普通数据包,此时负载均衡设备作为网桥接入网络中,对于普通数据包只通过第二转发模块50进行二层转发。
[0132]如判断出数据包为查询服务器的物理地址的查询数据包,则根据服务器的在线情况,通过应答模块51将查询数据包转发至相应的服务器或通过负载均衡设备的ARP代理模块直接向客户端应答。[0133]请一并参照图12,图12为本发明负载均衡设备应答模块的结构示意图。
[0134]在本实施例中,应答模块51进一步包括:
[0135]第二判断单元511,用于若数据包的类型为查询服务器的物理地址的查询数据包,判断该服务器是否在线;
[0136]转发单元512,用于当服务器在线时,将数据包转发至该服务器以向客户端应答;
[0137]应答单元513,用于当服务器不在线时,向客户端应答负载均衡设备的物理地址。
[0138]如判断出数据包为查询服务器的物理地址的查询数据包,首先第二判断单元511判断该服务器是否在线,如果服务器在线,则转发单元512将查询数据包转发至该服务器,由服务器向客户端应答,此时应答的地址即为该服务器自身的如MAC地址的物理地址;而如果服务器不在线,则由负载均衡设备的应答单元513通过ARP代理模块直接向客户端应答,此时所应答的地址为负载均衡设备的如MAC地址的物理地址。这样,客户端不知道服务器已宕机,其所请求查询的物理地址已变成负载均衡设备的物理地址,而负载均衡设备会为访问请求重新调度一台服务器。
[0139]以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的【技术领域】,均同理包括在本发明的专利保护范围。
【权利要求】
1.一种基于负载均衡设备处理数据的方法,其特征在于,包括步骤: 接收客户端发送的数据包,判断该数据包的类型; 若所述数据包的类型为包含负载均衡设备的地址的访问数据包,则对所述数据包进行协议处理,对该数据包进行负载均衡调度; 将服务器返回的应答数据包转发至客户端,该应答数据包中的源地址与所述访问数据包中的负载均衡设备的地址一致。
2.根据权利要求1所述的基于负载均衡设备处理数据的方法,其特征在于,所述对数据包进行协议处理,对该数据包进行负载均衡调度的步骤包括: 对所述访问数据包进行协议解析,得到该访问数据包对应的通讯协议; 根据解析出的所述通讯协议对所述访问数据包进行相应的协议处理; 将经过协议处理后的访问数据包调度至相应的服务器。
3.根据权利要求2所述的基于负载均衡设备处理数据的方法,其特征在于,在所述将经过协议处理后的访问数据包调度至相应的服务器的步骤之前,还包括: 判断所述访问数据包中负载均衡设备的地址与所调度的服务器的地址是否一致,若否,则将所述负载均衡设备的地址修改为所调度的服务器的地址。
4.根据权利要求3所述的基于负载均衡设备处理数据的方法,其特征在于,在所述将服务器返回的应答数据包转发至客户端的步骤之前,还包括: 判断服务器返回的应.答数据包中的源地址与所述访问数据包中的负载均衡设备的地址是否一致,若否,则将所述源地址修改为访问数据包中的负载均衡设备的地址。
5.根据权利要求1至4中任一项所述的基于负载均衡设备处理数据的方法,其特征在于,在所述判断数据包的类型的步骤之后,还包括: 若所述数据包的类型为包含普通业务的普通数据包,则对该数据包进行转发; 若所述数据包的类型为查询服务器的物理地址的查询数据包,则将该查询数据包转发至相应的服务器或根据该查询数据包向客户端应答。
6.根据权利要求5所述的基于负载均衡设备处理数据的方法,其特征在于,所述若数据包的类型为查询服务器的物理地址的查询数据包,则将该查询数据包转发至相应的服务器或根据该查询数据包向客户端应答的步骤具体包括: 若数据包的类型为查询服务器的物理地址的查询数据包,判断该服务器是否在线; 当所述服务器在线时,将所述数据包转发至该服务器以向客户端应答; 当所述服务器不在线时,向客户端应答负载均衡设备的物理地址。
7.—种负载均衡设备,其特征在于,包括: 第一判断模块,用于接收客户端发送的数据包,判断该数据包的类型; 处理及调度模块,用于当所述数据包的类型为包含负载均衡设备的目的地址的访问数据包时,对所述数据包进行协议处理,对该数据包进行负载均衡调度; 第一转发模块,用于将服务器返回的应答数据包转发至客户端,该应答数据包中的源地址与所述访问数据包中的负载均衡设备的地址一致。
8.根据权利要求7所述的负载均衡设备,其特征在于,所述处理及调度模块包括: 解析单元,用于对所述访问数据包进行协议解析,得到该访问数据包对应的通讯协议;处理单元,用于根据解析出的所述通讯协议对所述访问数据包进行相应的协议处理; 调度单元,用于将经过协议处理后的访问数据包调度至相应的服务器。
9.根据权利要求8所述的负载均衡设备,其特征在于,所述处理及调度模块还包括: 第一判断单元,用于判断所述访问数据包中的负载均衡设备的地址与所调度的服务器的地址是否一致; 修改单元,用于将所述负载均衡设备的地址修改为所调度的服务器的地址。
10.根据权利要求9所述的负载均衡设备,其特征在于,还包括: 第二判断模块,用于判断服务器返回的应答数据包中的源地址与所述访问数据包中的负载均衡设备的地址是否一致; 修改模块,用于将所述源地址修改为访问数据包中的负载均衡设备的地址。
11.根据权利要求7至10中任一项所述的负载均衡设备,其特征在于,还包括: 第二转发模块,用于若所述数据包的类型为包含普通业务的普通数据包,则对该数据包进行转发; 应答模块,用于若所述数据包的类型为查询服务器的物理地址的查询数据包,则将该查询数据包转发至相应的服务器或根据该查询数据包向客户端应答。
12.根据权利要求11所述的负载均衡设备,其特征在于,所述应答模块包括: 第二判断单元,用于若数据包的类型为查询服务器的物理地址的查询数据包,判断该 服务器是否在线; 转发单元,用于当所述服务器在线时,将所述数据包转发至该服务器以向客户端应答; 应答单元,用于当所述服务器不在线时,向客户端应答负载均衡设备的物理地址。
【文档编号】H04L12/803GK103441944SQ201310364823
【公开日】2013年12月11日 申请日期:2013年8月20日 优先权日:2013年8月20日
【发明者】曾定国 申请人:深信服网络科技(深圳)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1