[发明专利]用于LVS的服务器调度方法及装置在审
申请号: | 201310511830.6 | 申请日: | 2013-10-25 |
公开(公告)号: | CN103533080A | 公开(公告)日: | 2014-01-22 |
发明(设计)人: | 陈飞 | 申请(专利权)人: | 北京奇虎科技有限公司;奇智软件(北京)有限公司 |
主分类号: | H04L29/08 | 分类号: | H04L29/08;H04L29/06 |
代理公司: | 北京市浩天知识产权代理事务所 11276 | 代理人: | 宋菲;刘兰兰 |
地址: | 100088 北京市西城区新*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 lvs 服务器 调度 方法 装置 | ||
技术领域
本发明涉及网络通信技术领域,具体涉及一种用于LVS的服务器调度方法及装置。
背景技术
LVS是Linux Virtual Server的简写,即Linux虚拟服务器,多指一个虚拟的服务器集群系统。在LVS系统中,为了实现Linux平台下的负载均衡,需要对系统中的各个服务器进行调度,为此,需要在客户端和服务器之间增加负载均衡器。常见的负载均衡器可以通过haproxy、nginx等代理服务器来实现。
这些代理服务器的工作原理如图1所示:首先,客户端通过代理服务器发送一个TCP连接建立请求,然后,代理服务器根据该TCP连接建立请求中包含的信息为该客户端分配一台服务器,然后分别建立与客户端和服务器之间的TCP连接,最后,通过这两条TCP连接实现客户端与服务器之间的数据传输。
由此可见,在现有技术中,需要由代理服务器建立并维护两条TCP连接。具体地,TCP连接的建立过程如图2所示:首先,客户端通过代理服务器发送一个序列号为100的TCP连接建立请求消息(TCP SYN消息)给web服务器;然后,接收web服务器端通过该代理服务器返回的序列号为500、应答号为101的第一应答消息(TCP SYN ACK消息);最后,客户端再通过代理服务器发送一个序列号为101、应答号为501的第二应答消息(TCP ACK消息)给web服务器即可建立起TCP连接,通过该连接就可以传送HTTP请求消息(图2中没有画出代理服务器,实际上图2中的各个消息都是由代理服务器进行转发的)。由此可见,TCP连接的建立过程是通过“三次握手”来实现的。
但是,在上述方式中,至少存在如下缺陷:代理服务器每次接收到客户端的消息后都要即时转发给web服务器,也就是说,代理服务器在收到客户端发送的TCP连接建立请求消息(TCP SYN消息)之后,就需要为该客户端分配一台指定的web服务器,以便建立后续的TCP连接。此时,代理服务器通过该TCP SYN消息只能获取到SYN包中携带的有限信息,例如IP地址和端口号,并只能基于这些有限信息来调度web服务器。由此可见,现有技术中无法获取到更多能够用于调度服务器的附加信息,因而不能根据多种信息实现对服务器的灵活调度。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的用于LVS的服务器调度方法及装置。
依据本发明的一个方面,提供了一种用于LVS的服务器调度方法,包括:接收并缓存客户端发送的连接建立消息,根据该连接建立消息与客户端建立第一连接;接收并缓存客户端通过第一连接发送的请求消息,获取请求消息中包含的数据信息,根据数据信息确定为客户端分配的服务器;根据缓存的连接建立消息与服务器建立第二连接,将缓存的请求消息通过第二连接发送给服务器,并将服务器返回的响应消息通过第一连接发送给客户端。
可选地,连接建立消息为TCP连接建立消息,请求消息为HTTP请求消息。
可选地,第一连接和第二连接是在网络层建立的虚拟TCP连接。
可选地,根据连接建立消息与客户端建立第一连接的步骤包括:根据连接建立消息向客户端返回第一确认消息;接收客户端根据第一确认消息返回的第一应答消息;根据缓存的连接建立消息与服务器建立第二连接的步骤包括:修改连接建立消息的目的地址和端口号,并将修改后的连接建立消息发送给服务器;收到服务器返回的第二确认消息后,向服务器返回第二应答消息。
可选地,数据信息包括:Cookie文件信息、URI信息或HOST信息。
依据本发明的另一方面,提供了一种用于LVS的服务器调度装置,包括:第一连接建立单元,适于接收并缓存客户端发送的连接建立消息,根据连接建立消息与客户端建立第一连接;分配单元,适于接收并缓存客户端通过第一连接发送的请求消息,获取请求消息中包含的数据信息,根据数据信息确定为客户端分配的服务器;第二连接建立单元,适于根据缓存的连接建立消息与服务器建立第二连接,将缓存的请求消息通过第二连接发送给服务器,并将服务器返回的响应消息通过第一连接发送给客户端。
可选地,连接建立消息为TCP连接建立消息,请求消息为HTTP请求消息。
可选地,第一连接和第二连接是在网络层建立的虚拟TCP连接。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京奇虎科技有限公司;奇智软件(北京)有限公司,未经北京奇虎科技有限公司;奇智软件(北京)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310511830.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种清洗机
- 下一篇:一种LED显示屏及其自动清洗装置