负载均衡方法和系统技术方案

技术编号:8633517 阅读:110 留言:0更新日期:2013-04-27 17:41
本发明专利技术公开了一种负载均衡方法和系统,所述负载均衡系统包括:第二接收模块,用于接收多个客户端设备发送的网络传输协议请求消息;第二解析模块,用于对所述多个客户端设备发送的网络传输协议请求消息分别进行解析,得到每个网络传输协议请求消息中的数据内容;第二查找模块,用于在每个所述网络传输协议请求消息的数据内容中,查找包含标识客户端设备身份内容的设备标识字段;第二分发模块,用于将具有相同内容的所述设备标识字段的各请求消息,优先分发给同一服务器进行处理。采用本发明专利技术的技术方案能够较大地提升系统后端多台服务器的运行效率。

【技术实现步骤摘要】

本专利技术涉及互联网
,具体涉及一种负载均衡方法和系统
技术介绍
LVS (Linux Virtual Server, Linux虚拟主机)服务器作为网络接入设备,负责流量的负载均衡,在接收到用户的请求后,会按照一定的负载均衡策略把用户请求分发给后端的RS (Real Server,真实服务器)。轮询方式的负载均衡策略是目前使用最为广泛的均衡策略,它又分为两种RR(Round-Robin,轮询)和 WRR(Weighted Round-Robin,基于权值的轮询)。图1为相关技术中RR负载均衡策略原理示意图;如图1所示,RR的工作原理如下多个用户向LVS发起连接,LVS会把用户的连接逐一分发给后端的RS 连接I分发给RSI,连接2分发给RS2,连接3分发给RS3。图2为相关技术中WRR负载均衡策略原理示意图;如图2所示,WRR的工作原理如下多个用户向LVS发起连接,LVS上配置了 3个RS,这3个RS的权值如下RSl :权值为 3 ;RS2 :权值为 2 ;RS3:权值为 I;LVS会把用户的连接按照权值分发给后端的RS 3个连接(连接1、2、4)分发给RS1,2个连接(连接3、5)分发给RS2,1个连接(连接6)分发给RS3。上述轮询负载均衡策略和基于权值的轮询负载均衡策略对访问请求的处理方式,均是基于系统后端真实服务器当前连接用户数而对用户访问请求的分发,采用的分发依据较为单一,相比随机分发,对系统后端多台RS运行效率的提升并不明显。
技术实现思路
鉴于上述问题,提出了本专利技术以便提供一种克服上述问题或者至少部分地解决上述问题的负载均衡方法和相应的负载均衡系统。依据本专利技术的一个方面,提供了一种负载均衡方法,包括接收多个客户端设备发送的网络传输协议请求消息;对所述多个客户端设备发送的网络传输协议请求消息分别进行解析,得到每个网络传输协议请求消息中的数据内容;在每个所述网络传输协议请求消息的数据内容中,查找包含标识客户端设备身份内容的设备标识字段;将具有相同内容的所述设备标识字段的各网络传输协议请求消息,优先分发给同一服务器进行处理。可选的,所述将具有相同内容的所述设备标识字段的各网络传输协议请求消息,优先分发给同一服务器进行处理包括获得每个网络传输协议请求消息中所述设备标识字段的内容的第二哈希值;将每个所述设备标识字段的内容的第二哈希值对后端服务器的数目取模,为取模得到相同余数的各网络传输协议请求消息优先选择同一服务器;将所述取模得到相同余数的各网络传输协议请求消息分发给所选择的同一服务器进行处理。可选的,所述将具有相同的所述设备标识字段的各网络传输协议请求消息,优先分发给同一服务器进行处理包括为具有相同的所述设备标识字段的各网络传输协议请求消息,优先选择同一服务器;判断所选择服务的服务器是否可用;若判断结果为所选择的服务器可用,则将具有相同内容的所述设备标识字段的各网络传输协议请求消息分发给所选择的同一服务器;若判断结果为所选择的服务器不可用,则重新确定后端服务可用的服务器的数目;将具有相同内容的所述设备标识字段的各网络传输协议请求消息分发给同一所述服务可用的服务器进行处理。可选的,所述将具有相同内容的所述设备标识字段的各网络传输协议请求消息分发给同一所述服务可用的服务器进行处理包括获得每个网络传输协议请求消息中所述设备标识字段的内容的第二哈希值;将每个所述设备标识字段的内容的第二哈希值对所述服务可用的服务器的数目取模,为取模得到相同余数的各网络传输协议请求消息选择同一所述服务可用的服务器;将所述取模得到相同余数的各网络传输协议请求消息分发给所选择的同一所述服务可用的服务器进行处理。可选的,上述方法还包括如果所述网络传输协议请求消息的数据内容中未查找到所述设备标识字段,则在所述网络传输协议请求消息的数据内容中查找包含所述请求消息指向的网络访问对象内容的访问对象字段;将具有相同内容的所述访问对象字段的各网络传输协议请求消息分发给同一服务器进行处理。可选的,所述设备标识字段为小型文字档案Cookie字段或标识设备身份的随机数字段。根据本专利技术的另一个方面,还提供了一种负载均衡系统,包括第二接收模块,用于接收多个客户端设备发送 的网络传输协议请求消息;第二解析模块,用于对所述多个客户端设备发送的网络传输协议请求消息分别进行解析,得到每个网络传输协议请求消息中的数据内容;第二查找模块,用于在每个所述网络传输协议请求消息的数据内容中,查找包含标识客户端设备身份内容的设备标识字段;第二分发模块,用于将具有相同内容的所述设备标识字段的各请求消息,优先分发给同一服务器进行处理。可选的,所述第二分发模块包括第二哈希值获得单元,用于获得每个网络传输协议请求消息中所述设备标识字段的内容的第二哈希值;第三选择单元,用于将每个所述设备标识字段的内容的第二哈希值对后端服务器的数目取模,为取模得到相同余数的各网络传输协议请求消息优先选择同一服务器;第四分发单元,将所述取模得到相同余数的各网络传输协议请求消息优先分发给所述第三选择单元选择的同一服务器进行处理。可选的,所述第二分发模块包括第四选择单元,用于为具有相同内容的所述设备标识字段的各网络传输协议请求消息,优先选择同一服务器;第二判断单元,用于判断所述第四选择单元选择的服务器是否可用;第五分发单元,用于当所述第二判断单元的判断结果为所选择的服务器可用时,将具有相同内容的所述设备标识字段的各网络传输协议请求消息分发给所述第四选择单元选择的同一服务器;第二服务可用确定单元,用于当所述第二判断单元的判断结果为所选择的服务器不可用时,重新确定后端服务可用的服务器的数目;第六分发单元,用于将具有相同内容的所述设备标识字段的各网络传输协议请求消息分发给同一所述服务可用的服务器进行处理。可选的,所述第六分发单元包括第二计算子单元,用于获得每个网络传输协议请求消息中所述设备标识字段的内容的第二哈希值;第二选择子单元,用于将每个所述设备标识字段的内容的第二哈希值对所述服务可用的服务器的数目取模,为取模得到相同余数的各网络传输协议请求消息选择同一所述服务可用的服务器;第二分发子单元,用于将所述取模得到相同余数的各网络传输协议请求消息分发给所述第二选择子单元选择的同一所述服务可用的服务器进行处理。可选的,上述装置还包括第三查找模块,用于当所述第二查找模块在所述网络传输协议请求消息的数据内容中未查找到所述设备标识字段时,在所述网络传输协议请求消息的数据内容中查找包含所述请求消息指向的网络访问对象内容的访问对象字段;第三分发模块,用于将具有相同内容的所述访问对象字段的各网络传输协议请求消息分发给同一服务器进行处理。 可选的,所述设备标识字段为小型文字档案Cookie字段或标识设备身份的随机数字段。本专利技术的技术方案根据客户端设备发送的请求消息内容选择服务的服务器,将包含请求消息指向的网络访问对象内容的访问对象字段具有相同内容的多个客户端设备,即访问同一网络资源对象的多个客户端设备,发送到同一台服务器上进行处理,降低了相同缓存内容所占的空间,使得系统后端多台服务器有更多的空间缓存更多的内容,从而提高了系统后端多台服务器的利用率和命中率,较大地提升了系统后端多台服务器的运行效率。本专利技术的技术本文档来自技高网...

【技术保护点】
一种负载均衡方法,包括:接收多个客户端设备发送的网络传输协议请求消息;对所述多个客户端设备发送的网络传输协议请求消息分别进行解析,得到每个网络传输协议请求消息中的数据内容;在每个所述网络传输协议请求消息的数据内容中,查找包含标识客户端设备身份内容的设备标识字段;将具有相同内容的所述设备标识字段的各网络传输协议请求消息,优先分发给同一服务器进行处理。

【技术特征摘要】
1.一种负载均衡方法,包括 接收多个客户端设备发送的网络传输协议请求消息; 对所述多个客户端设备发送的网络传输协议请求消息分别进行解析,得到每个网络传输协议请求消息中的数据内容; 在每个所述网络传输协议请求消息的数据内容中,查找包含标识客户端设备身份内容的设备标识字段; 将具有相同内容的所述设备标识字段的各网络传输协议请求消息,优先分发给同一服务器进行处理。2.如权利要求1所述的方法,所述将具有相同内容的所述设备标识字段的各网络传输协议请求消息,优先分发给同一服务器进行处理包括 获得每个网络传输协议请求消息中所述设备标识字段的内容的第二哈希值; 将每个所述设备标识字段的内容的第二哈希值对后端服务器的数目取模,为取模得到相同余数的各网络传输协议请求消息优先选择同一服务器; 将所述取模得到相同余数的各网络传输协议请求消息分发给所选择的同一服务器进行处理。3.如权利要求1所述的方法,所述将具有相同的所述设备标识字段的各网络传输协议请求消息,优先分发给同一服务器进行处理包括 为具有相同的所述设备标识字段的各网络传输协议请求消息,优先选择同一服务器; 判断所选择服务的服务器是否可用; 若判断结果为所选择的服务器可用,则将具有相同内容的所述设备标识字段的各网络传输协议请求消息分发给所选择的同一服务器; 若判断结果为所选择的服务器不可用,则重新确定后端服务可用的服务器的数目;将具有相同内容的所述设备标识字段的各网络传输协议请求消息分发给同一所述服务可用的服务器进行处理。4.如权利要求3所述的方法,所述将具有相同内容的所述设备标识字段的各网络传输协议请求消息分发给同一所述服务可用的服务器进行处理包括 获得每个网络传输协议请求消息中所述设备标识字段的内容的第二哈希值; 将每个所述设备标识字段的内容的第二哈希值对所述服务可用的服务器的数目取模,为取模得到相同余数的各网络传输协议请求消息选择同一所述服务可用的服务器; 将所述取模得到相同余数的各网络传输协议请求消息分发给所选择的同一所述服务可用的服务器进行处理。5.如权利要求1所述的方法,还包括 如果所述网络传输协议请求消息的数据内容中未查找到所述设备标识字段,则在所述网络传输协议请求消息的数据内容中查找包含所述请求消息指向的网络访问对象内容的访问对象字段; 将具有相同内容的所述访问对象字段的各网络传输协议请求消息分发给同一服务器进行处理。6.根据权利要求1-5中任一项所述的方法,所述设备标识字段为小型文字档案Cookie字段或标识设备身份的随机数字段。7.—种负载均衡系统,包括 第二接收模块,用于接收多个客户端设备发送的网络传输协议请求消息; 第二解...

【专利技术属性】
技术研发人员:唐会军陈建
申请(专利权)人:北京奇虎科技有限公司奇智软件北京有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1