一种集群负载均衡系统及其实现方法

文档序号:7781840阅读:297来源:国知局
一种集群负载均衡系统及其实现方法
【专利摘要】本发明涉及一种负载均衡方法,特别涉及一种在通过规则匹配后确保HTTP请求安全的情况下的负载均衡方法,具体是提供一种集群负载均衡系统及其实现方法。本发明通过集群的方式对HTTP请求与响应内容安全检测和过滤,通过规则匹配后确保HTTP请求安全。
【专利说明】一种集群负载均衡系统及其实现方法
【技术领域】
[0001]本发明涉及一种负载均衡方法,特别涉及一种在通过规则匹配后确保HTTP请求安全的情况下的负载均衡方法,具体是提供一种集群负载均衡系统及其实现方法。
【背景技术】
[0002]随着网络技术的不断进步,Web网络服务和用户的数量正在以爆炸式的增长。以至于Web网站的访问量和数据流量不断的挑战服务器的性能。单一服务器的处理能力和计算能力在很多情况下无法承受这种挑战。因此提出了负载均衡的方案,通过负载均衡技术使得多台Web服务器组合成一个有机整体统一对外提供Web服务,有效的保证了 Web网站的稳定性和高效性。
[0003]正是由于网络技术的不断进步,使得进入这一领域的门槛不断降低,大量的技术人员不断的涌入这样领域。大量的Web应用系统被人们接受并通过它们进行网络浏览获取各种信息和网络交付购买各种物品。人们生活的各个方面都可以通过网络的形式满足需求。随之而来的网络安全问题也越来越突出。因此出现了 Web安全检测技术,用于保证Web服务的安全有效。
[0004]但是基于应用的Web安全检测对设备处理能力和计算能力也产生了巨大的挑战,为了能够确保Web安全检测的有效和稳定,能够应对后台Web集群的部署方式。基于负载均衡的Web安全检测技术成为了负载均衡设备的一个发展方向。

【发明内容】

[0005]为了解决现有技术的问题,本发明提供了一种集群负载均衡系统及其实现方法,其通过集群的方式对HTTP请求与响应内容安全检测和过滤,通过规则匹配后确保HTTP请求安全。
[0006]本发明所采用的技术方案如下:
一种集群负载均衡系统,包括:
虚拟网络系统,用于将不同的负载均衡设备虚拟成一个设备,对外提供服务;
请求分发系统,用于按照各个负载均衡设备当前性能的不同将HTTP请求分发到相应的负载均衡设备上,包括特征码计算、请求分发,请求接收;
服务分发系统,用于按照基于IP和COOKIE的特征码通过一致性HASH算法将请求分发到后端真实服务器上,包括一致性HASH算法,TCP/IP请求分发和安全检测。
[0007]虚拟网络系统,把不同设备的网卡通过网卡聚合的方式虚拟成同一网卡,并通过它们接收和发送HTTP请求。
[0008]请求分发系统采用了特征码计算技术,将负载均衡设备的不同性能参数,通过一定的算法换算成一个度量值。
[0009]请求分发系统采用了请求分发技术,用于把HTTP请求根据特征码的不同,直接分配到特定的负载均衡设备上。[0010]请求分发系统采用了请求接收技术,把通过其它负载均衡设备发送到本负载均衡设备上的HTTP请求,转换成从本设备接收。
[0011]服务分发系统采用了基于COOKIE和IP的一致性哈希算法,用于确保发送到后端真实服务器集群的HTTP请求的会话一致性。
[0012]服务分发系统采用了 TCP/IP请求分发技术,用于通过7层负载均衡的HTTP请求发送到后端真实服务器。
[0013]服务分发系统采用了安全检测技术,实现对HTTP请求与响应的内容过滤与攻击检测功能。
[0014]一种集群负载均衡系统的实现方法,包括虚拟网络系统的实现、请求分发系统的实现和服务分发系统的实现:
其中,虚拟网络系统的实现方法是:负载均衡器集群是以旁路部署的方式接入到网络环境中,负载均衡服务器集群之间的部署方式,是将不同负载均衡器的网络端口汇聚成同一虚拟网络端口 ;负载均衡器之间的数据交换通过各自的可信端口完成;单台负载均衡器也可以实现本地端口汇聚;但在多台负载均衡器部署时,本地负载均衡器将无效;
请求分发系统的实现方法具体是:
系统启动后,首先派生出三个进程,分别负责特征码计算,可信端口数据接收,虚拟端口数据接收;
其中特征码计算采用CPU利用率、内存利用率和网络吞吐量加权平均取得,并保存到特征码库中;
可信网卡监听进程负责对特征码库同步和对其他负载均衡设备发送到本设备的HTTP请求,进行处理为从本设备虚拟网卡接收,并转发到服务分发系统中;
虚拟网卡监听进程为接收HTTP请求,并根据特征码计算当前请求是由本设备处理还是转发到其它设备处理;
服务分发系统的实现方法具体是:接收性能分发系统发过来的HTTP请求,并对HTTP请求进行安全检测,如果检测通过则通过IP和COOKIE —致性HASH算法选择后端服务器,并转发请求;如果没有通过安全检测,直接返回错误页面,并关闭TCP连接;同时检测后端服务器响应的数据,通过检测后返回客户端,没有通过检测的返回错误页面。
[0015]本发明提供的技术方案带来的有益效果是:
1、通过该方法实现的负载均衡系统为独立的负载均衡检测设备。其整个系统运行环境可以是一台独立运行也可以多台设备组成集群协同运行;
2、在单台设备运行的时候具备本地端口汇聚功能。将多个网卡汇聚成具有一个IP,一个MAC地址的虚拟网口,共同对外提供服务;
3、在多台设备运行的时候具备网络端口汇聚功能,本地端口汇聚功能不再启用。将不同设备的某个网卡汇聚成具有一个IP,一个MAC地址的虚拟网口,共同对外提供服务;
4、虚拟网络系统的主要特征是端口汇聚。通过该系统能够快速的实现负载均衡器的添加与删除。同时能够对新添加到集群的负载均衡器同步策略;
5、请求分发系统的主要特征是对从虚拟网络系统接收的HTTP请求进行集群分发处理。负责对集群中的负载均衡设备进行特征搜集并保持其一致性;负载对接收到的HTTP请求根据特征码进行分发,分发到不同的负载均衡设备上;负责对集群内其它负载均衡设备发送过来HTTP请求,进行处理,让服务分发系统认为该HTTP请求是从本机端口接收到的;负责对分发到本机的HTTP请求,上传到服务分发系统。其中特征码计算主要采用了对CPU利用率,内存利用率和网络吞吐量进行加权计算,服务分发时以最小值原则进行分发;
6、服务分发系统的主要特征是接收HTTP请求,并对HTTP请求进行安全检测,对不合规的HTTP请求,直接返回错误页面,并中断TCP连接。对合规的HTTP请求通过基于IP和cookie的一致性哈希算法计算出要转发的后端,转发到后端服务器。对于从后端服务器上接收到的HTTP响应,检测其响应内容,合规直接响应,不合规返回错误页面;
7、安全检测的主要特征是,能够对HTTP请求的协议合规性、请求头、请求行、请求体进行检测,能够对SQL注入,网络扫描,木马攻击,常见Web攻击进行防护,并记录攻击日志。
[0016]综上所述,本发明一种集群负载均衡系统及其实现方法能够为后端服务器提供负载均衡服务和入侵检测服务。
【专利附图】

【附图说明】
[0017]图1本发明的负载均衡器的网络位置示意图;
图2是本发明的多台负载均衡器集群时的网络端口汇聚示意图;
图3是本发明的单台负载均衡器部署时的本地端口汇聚示意图;
图4是本发明的请求分发系统的工作流程图;
图5是本发明的服务分发系统的工作流程图;
图6是本发明的安全检测机制的工作流程图;
图7是基于IP和COOKIE的一致性HASH算法示意图。
【具体实施方式】
[0018]为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
[0019]实施例一
如附图1所示,负载均衡器集群是以旁路部署的方式接入到网络环境中。部署时必须让对后端服务器的HTTP请求,转发到负载均衡器,并有负载均衡器将HTTP请求转发到后端Web服务器。
[0020]如附图2所示,负载均衡服务器集群之间的部署方式,是将不同负载均衡器的网络端口汇聚成同一虚拟网络端口。负载均衡器之间的数据交换通过各自的可信端口完成。单台负载均衡器也可以实现本地端口汇聚(附图3)。但在多台负载均衡器部署时,本地负载均衡器将无效。
[0021]负载均衡器组成集群是由虚拟服务系统完成的。虚拟服务系统之间通过可信数据端口进行通信,交换数据;能够根据用户的配置自动的加入集群或者从集群中删除。从而达到灵活的扩充集群的目的;能够通过网络汇聚端口,对外提供一个虚拟网卡,接收HTTP请求。
[0022]本实施例的一种集群负载均衡系统,包括:
虚拟网络系统,用于将不同的负载均衡设备虚拟成一个设备,对外提供服务;
请求分发系统,用于按照各个负载均衡设备当前性能的不同将HTTP请求分发到相应的负载均衡设备上,包括特征码计算、请求分发,请求接收;
服务分发系统,用于按照基于IP和COOKIE的特征码通过一致性HASH算法将请求分发到后端真实服务器上,包括一致性HASH算法,TCP/IP请求分发和安全检测。
[0023]其实现方法如附图4-6,请求分发系统接收虚拟网卡收到的数据,能够对接收到的HTTP请求动态的分发到不同的负载均衡器上,达到平均负载,提供负载均衡器性能的目的;能够对分配到本负载均衡器上的HTTP请求上传到服务;能够根据cpu利用率,内存利用率和网络吞吐量加权计算出负载最低的负载均衡器,当本机负载达到一定条件时,将接收到的HTTP请求,转发到负载最低的负载均衡器上;能够最其它负载均衡器发送过来的HTTP请求,处理为从本机接收,并上传到服务分发系统。
[0024]系统启动后,首先派生出三个进程,分别负责特征码计算,可信端口数据接收,虚拟端口数据接收。
[0025]其中特征码计算米用CPU利用率、内存利用率和网络吞吐量加权平均取得。并保存到特征码库中。
[0026]特征码同步是在本次特征码与上次特征码有设定的不同的时候才进行同步的。当本次特征码与上次特征码更新的值相差不大时,将不进行特征码更新。
[0027]可信网卡监听进程负责对特征码库同步和对其他负载均衡设备发送到本设备的HTTP请求,进行处理为从本设备虚拟网卡接收,并转发到服务分发系统中。虚拟网卡监听进程为接收HTTP请求,并根据特征码计算当前请求是由本设备处理还是转发到其它设备处理。如由本设备处理直接转发到服务分发系统。如有其它设备处理则将请求包装后根据特征码最小值原则转发到其它设备。
[0028]服务分发系统(附图5)接收性能分发系统发过来的HTTP请求。并对HTTP请求进行安全检测,如果检测通过则通过IP和COOKIE —致性HASH算法选择后端服务器,并转发请求。如果没有通过安全检测,直接返回错误页面,并关闭TCP连接。同时检测后端服务器响应的数据,通过检测后返回客户端,没有通过检测的返回错误页面。
[0029]安全检测引擎为(附图6)对数据进行检测,排查是否符合HTTP协议规范,是否存在敏感内容,是否是DDOS攻击、Ce攻击、SQL注入攻击、跨站攻击、普通Web攻击、网络扫描等行为,并根据排查结果判断是否对转发请求,并对具有攻击行为的请求数据,返回检测结果并记录日志。
[0030]以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【权利要求】
1.一种集群负载均衡系统,包括虚拟网络系统、请求分发系统和服务分发系统,其中, 虚拟网络系统,用于将不同的负载均衡设备虚拟成一个设备,对外提供服务; 请求分发系统,用于按照各个负载均衡设备当前性能的不同将HTTP请求分发到相应的负载均衡设备上,包括特征码计算、请求分发,请求接收; 服务分发系统,用于按照基于IP和COOKIE的特征码通过一致性HASH算法将请求分发到后端真实服务器上,包括一致性HASH算法,TCP/IP请求分发和安全检测。
2.根据权利要求1所述的一种集群负载均衡系统,其特征在于,所述的虚拟网络系统,用于把不同设备的网卡通过网卡聚合的方式虚拟成同一网卡,并通过它们接收和发送HTTP请求。
3.根据权利要求1所述的一种集群负载均衡系统,其特征在于,所述的请求分发系统的特征码计算是指将负载均衡设备的不同性能参数,通过一定的算法换算成一个度量值。
4.根据权利要求1所述的一种集群负载均衡系统,其特征在于,所述的请求分发系统的请求分发是指把HTTP请求根据特征码的不同,直接分配到特定的负载均衡设备上。
5.根据权利要求1所述的一种集群负载均衡系统,其特征在于,所述的请求分发系统的请求接收是指把通过其它负载均衡设备发送到本负载均衡设备上的HTTP请求,转换成从本设备接收。
6.根据权利要求1所述的一种集群负载均衡系统,其特征在于,所述的服务分发系统的TCP/IP请求分发是指通过7层负载均衡的HTTP请求发送到后端真实服务器。
7.一种集群负载均衡系统的实现方法,包括虚拟网络系统的实现、请求分发系统的实现和服务分发系统的实现: 其中,虚拟网络系统的实现方法是:负载均衡器集群是以旁路部署的方式接入到网络环境中,负载均衡服务器集群之间的部署方式,是将不同负载均衡器的网络端口汇聚成同一虚拟网络端口 ;负载均衡器之间的数据交换通过各自的可信端口完成;单台负载均衡器也可以实现本地端口汇聚;但在多台负载均衡器部署时,本地负载均衡器将无效; 请求分发系统的实现方法具体是: 系统启动后,首先派生出三个进程,分别负责特征码计算,可信端口数据接收,虚拟端口数据接收; 其中特征码计算采用CPU利用率、内存利用率和网络吞吐量加权平均取得,并保存到特征码库中; 可信网卡监听进程负责对特征码库同步和对其他负载均衡设备发送到本设备的HTTP请求,进行处理为从本设备虚拟网卡接收,并转发到服务分发系统中; 虚拟网卡监听进程为接收HTTP请求,并根据特征码计算当前请求是由本设备处理还是转发到其它设备处理; 服务分发系统的实现方法具体是:接收性能分发系统发过来的HTTP请求,并对HTTP请求进行安全检测,如果检测通过则通过IP和COOKIE —致性HASH算法选择后端服务器,并转发请求;如果没有通过安全检测,直接返回错误页面,并关闭TCP连接;同时检测后端服务器响应的数据,通过检测后返回客户端,没有通过检测的返回错误页面。
【文档编号】H04L29/08GK103731482SQ201310720350
【公开日】2014年4月16日 申请日期:2013年12月24日 优先权日:2013年12月24日
【发明者】戴纯兴 申请人:浪潮电子信息产业股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1