CN103533080A - 用于lvs的服务器调度方法及装置 - Google Patents

用于lvs的服务器调度方法及装置 Download PDF

Info

Publication number
CN103533080A
CN103533080A CN201310511830.6A CN201310511830A CN103533080A CN 103533080 A CN103533080 A CN 103533080A CN 201310511830 A CN201310511830 A CN 201310511830A CN 103533080 A CN103533080 A CN 103533080A
Authority
CN
China
Prior art keywords
message
server
connection
client
connects
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201310511830.6A
Other languages
English (en)
Inventor
陈飞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Qihoo Technology Co Ltd
Qizhi Software Beijing Co Ltd
Original Assignee
Beijing Qihoo Technology Co Ltd
Qizhi Software Beijing Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Qihoo Technology Co Ltd, Qizhi Software Beijing Co Ltd filed Critical Beijing Qihoo Technology Co Ltd
Priority to CN201310511830.6A priority Critical patent/CN103533080A/zh
Publication of CN103533080A publication Critical patent/CN103533080A/zh
Pending legal-status Critical Current

Links

Images

Abstract

本发明涉及一种用于LVS的服务器调度方法及装置,该方法包括:接收并缓存客户端发送的连接建立消息,根据该连接建立消息与客户端建立第一连接;接收并缓存客户端通过第一连接发送的请求消息,获取请求消息中包含的数据信息,根据数据信息确定为客户端分配的服务器;根据缓存的连接建立消息与服务器建立第二连接,将缓存的请求消息通过第二连接发送给服务器,并将服务器返回的响应消息通过第一连接发送给客户端。由于请求消息中往往包含很多除IP地址和端口号之外的其他附加信息,因此,本发明中的方法及装置可以根据多种信息实现对服务器的灵活调度。

Description

用于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连接。
可选地,第一连接单元用于:根据连接建立消息向客户端返回第一确认消息;接收客户端根据第一确认消息返回的第一应答消息;第二连接单元用于:修改连接建立消息的目的地址和端口号,并将修改后的连接建立消息发送给服务器;收到服务器返回的第二确认消息后,向服务器返回第二应答消息。
可选地,数据信息包括:Cookie文件信息、URI信息或HOST信息。
根据本发明提供的用于LVS的服务器调度方法及装置,可以先缓存客户端发送的连接建立消息,并根据该连接建立消息与客户端之间建立起第一连接;然后,通过该第一连接接收客户端发送的请求消息,并根据该请求消息中所包含的数据信息来调度服务器。由于请求消息中往往包含很多除IP地址和端口号之外的其他附加信息,因此,本发明中的方法及装置可以根据多种信息实现对服务器的灵活调度。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了现有技术中代理服务器的工作原理图;
图2示出了现有技术中TCP连接的建立过程图;
图3示出了根据本发明实施例提供的用于LVS的服务器调度方法的流程图;
图4示出了在图3所示的方法中所涉及到的各个消息的传输流程图;以及
图5示出了根据本发明实施例提供的用于LVS的服务器调度装置的结构图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
本发明实施例提供了一种用于LVS的服务器调度方法及装置,用以解决现有技术中无法获取到更多能够用于调度服务器的附加信息,因而不能根据多种信息实现对服务器的灵活调度的问题。
图3示出了本发明实施例提供的用于LVS的服务器调度方法的流程图,在图中画出了本方法中各个步骤的执行顺序,其中,图3所示的方法的执行主体可以是位于客户端和服务器之间的一台中间设备,该中间设备例如可以是负载均衡器或代理服务器等。在图4中,以中间设备为负载均衡器为例,示出了在图3所示的方法中所涉及到的各个消息的传输流程。
如图3所示,该方法始于步骤S110,在该步骤中,接收并缓存客户端发送的连接建立消息,根据该连接建立消息与客户端建立第一连接。
其中,上述的连接建立消息可以是TCP连接建立消息,此时,在步骤S110中涉及到了图4中的消息①②③,下面参照图4具体介绍一下步骤S110的实现细节:首先,负载均衡器接收到客户端发送的TCP连接建立消息,即消息①(序列号为100的TCP SYN消息);然后,负载均衡器缓存消息①,并根据消息①模仿服务器向客户端返回第一确认消息,即消息②(序列号为500、应答号为101的TCP SYN ACK消息);最后,负载均衡器接收客户端根据消息②返回的第一应答消息,即消息③(序列号为101、应答号为501的TCPACK消息)。至此,完成了第一连接的建立过程。
通过上述过程可以看出,在本实施例中,上述的第一连接也是按照TCP连接中的“三次握手”方式建立的。但是,上述的第一连接又不同于实际的TCP连接,具体区别在于:实际的TCP连接是在传输层实现的连接,但是,本实施例中的第一连接是在网络层建立的,因此,本实施例中的第一连接只是虚拟的TCP连接,并不是实际的TCP连接。另外,正是由于该第一连接只是虚拟的TCP连接的这一特性,使得第一连接相比于现有技术中实际的TCP连接具有如下优势:
首先,现有技术中实际的TCP连接是与套接字(socket)相对应的,即:每个TCP连接都对应一个唯一的套接字,因此,服务器上需要为每条TCP连接对应存储一个套接字,所以,服务器上所能够建立的最大TCP连接数取决于系统中的套接字上限。相应地,在本发明中,由于第一连接只是虚拟的TCP连接,因此,负载均衡器上不需要存储套接字信息,所以,负载均衡器所能够建立的第一连接的最大数量也不受系统中socket上限的影响,即负载均衡器能够同时为更多的客户端提供服务。
其次,现有技术中实际的TCP连接是在传输层实现的,因而会涉及到传输层和应用层的数据传输问题,例如,会涉及到内核空间和用户空间之间的数据拷贝问题:在TPC连接过程中,需要将所需数据从内核空间拷贝到用户空间,在用户空间处理完毕后还需要再拷贝回内核空间,由此造成极大的性能损失,增加响应延时。相应地,在本发明中,由于第一连接是在网络层实现的,因此不涉及到传输层和应用层的数据传输问题,所以也就不存在内核空间和用户空间之间的数据拷贝问题,因而能够避免性能损失,缩小响应延时。
通过步骤S110建立起上述的第一连接后,接下来,在步骤S120中,接收并缓存上述客户端通过该第一连接发送的请求消息,获取请求消息中包含的数据信息,根据该数据信息确定为上述客户端分配的服务器。
其中,步骤S120中的请求消息可以是通过上述的第一连接发送的HTTP请求消息,即图4中的消息④(序列号为102、应答号为501的HTTP请求消息)。负载均衡器接收到该消息④后,就可以根据消息④中包含的数据信息来确定为上述客户端分配的服务器。其中,消息④中包含的数据信息不限于IP地址和端口号等信息,通常还会包含很多附加信息,例如,还包含Cookie文件信息、通用资源标识符(Uniform Resource Identifier,URI)信息、统一资源定位符(Uniform Resource Locator,URL)或HOST信息等多种信息,根据这些信息来调度服务器能够使调度方式更为灵活。另外,由于消息④中包含的数据信息通常存储在消息头(也叫请求头)内,有时,受限于消息头中最大字节数的限制,导致上述数据信息可能分别存储在多个数据包中,此时,在步骤S120中就需要对先获取到的数据包进行缓存,直至获取到全部的数据包,以便得到完整的数据信息之后再执行后续操作。
具体地,在Cookie文件信息中,包含服务器存储在客户端上的用户登录信息,通过该用户登录信息能够反映出用户之前浏览过的网页、访问过的服务器等诸多信息,因此,如果根据Cookie文件信息判断出某一台服务器上已经存储了该客户端所需的部分信息,则可以直接将这台服务器分配给该客户端,由此使该客户端能够直接访问这台服务器上的数据,这种分配方式相比于现有技术具有很大的优势:例如,在现有技术中,由于调度服务器时无法获取到HTTP请求消息中的Cookie文件信息,因此只能基于TCP连接建立请求消息中所包含的IP地址或端口号来进行粗略的负载均衡调度,这时往往会给客户端分配一台陌生的服务器,在这台陌生的服务器上并未存储该客户端所需的信息,因此,这台服务器需要先获取到这些信息之后才能为该客户端提供服务,这样就降低了服务效率,且造成了服务的延时。而本发明中则可以很好地避免上述问题。
另外,URI信息或HOST信息也能够反映出客户端与服务器之间的某种联系,基于这种联系可以为客户端分配最适宜的服务器,从而使本发明中的服务器调度方法更为灵活实用。例如,根据URI信息可以初步判断出该请求消息所要访问的数据类型,比如,当URI中包含jpg等图片格式的后缀名时则表明该请求消息所要访问的数据类型为图片类型,这时,假设后端有两台服务器,服务器A上存储着各类图片数据,服务器B上存储着各类文本数据,由于客户端要访问的是图片类型的数据,因此,负载均衡器为客户端分配服务器A提供图片服务。另外,根据HOST信息(即主机信息)可以判断出该请求消息所要访问的服务器的域名信息,因此,负载均衡器直接为客户端分配具有相应域名的服务器提供服务,这一分配方式主要应用于客户端能够提前获知服务器域名的反向代理技术中。
通过步骤S120确定出为该客户端分配的服务器之后,在步骤S130中,根据缓存的上述连接建立消息与该服务器建立第二连接,将缓存的上述请求消息通过该第二连接发送给该服务器,并将服务器返回的响应消息通过上述的第一连接发送给该客户端。
具体地,在步骤S130中涉及到了图4中的消息⑤⑥⑦⑧⑨⑩,下面参照图4具体介绍一下步骤S130的实现细节:
首先,负载均衡器根据步骤S110中缓存的连接建立消息(消息①)与上述服务器建立第二连接。为此,首先,负载均衡器需要先修改消息①中包含的目的地址和端口号等信息,将修改后得到的消息封装为消息⑤(序列号为100的TCP SYN消息);然后,负载均衡器将消息⑤发送给步骤S120中分配的服务器;接下来,负载均衡器收到该服务器返回的第二确认消息,即消息⑥(序列号为600、应答号为101的TCP SYN ACK消息)之后,向该服务器返回第二应答消息,即消息⑦(序列号为101、应答号为601的TCP ACK消息)。至此,完成了第二连接的建立过程。由此可以看出,上述的第二连接也是按照TCP连接中的“三次握手”方式建立的。但是,上述的第二连接也不同于实际的TCP连接,其与第一连接一样,也是在网络层建立的虚拟的TCP连接,因此,也具有与第一连接相同的技术优势,此处不再赘述。
然后,负载均衡器通过上面建立的第二连接将缓存的请求消息(消息④)发送给该服务器。这里,负载均衡器也需要对缓存的请求消息(消息④)进行必要的处理,例如,修改消息的目的地址等,然后,再把处理后得到的消息封装为消息⑧(序列号为102、应答号为601的HTTP请求消息)发送给服务器。
最后,负载均衡器接收到服务器返回的响应消息,即消息⑨(序列号为601、应答号为103的HTTP响应消息)之后,对该消息⑨进行必要的处理(例如转换TCP序列号、修改源地址、计算校验和等),并将处理后的消息封装为消息⑩(序列号为501、应答号为103的HTTP响应消息)发送给客户端,从而实现客户端与服务器之间完整的数据传输过程。
在具体实施本发明时,可以通过Netfilter网络架构来实现本实施例中的调度方法,具体地,可以在整个网络流程的若干位置放置一些检测点(HOOK),并在每个检测点上登记一些处理函数进行处理(如包过滤函数或其它用户自定义的函数等),从而实现上述步骤S110至步骤S130中的处理过程。
综上所述,本发明实施例提供的用于LVS的服务器调度方法至少具有如下优势:
第一,在本实施例中,中间设备不需要维护两条实际的TCP连接,只要建立两条虚拟的TCP连接即可。由于该虚拟的TCP连接是在网络层实现的,因此,不会涉及到传输层和应用层的数据传输问题,例如,不会涉及到内核空间和用户空间之间的数据拷贝问题,因而能够避免性能损失,缩小响应延时。
第二,由于上述两条连接只是虚拟的TCP连接,因此,中间设备上不需要存储套接字信息,所以,中间设备所能够建立的第一连接和第二连接的最大数量也不受系统中socket上限的影响,即负载均衡器能够同时为更多的客户端提供服务,也能同时调度更多的服务器。
第三,由于中间设备先模仿服务器与客户端建立了第一连接,并通过该第一连接获取到了客户端发送的请求消息,进而能够根据请求消息中包含的多种数据信息,例如Cookie文件信息、通用资源标识符(Uniform ResourceIdentifier,URI)信息、统一资源定位符(Uniform Resource Locator,URL)或HOST信息等,来调度服务器,从而在调度时更易贴近客户端的实际需求。
图5示出了本发明实施例提供的一种用于LVS的服务器调度装置。如图5所示,该装置包括:第一连接建立单元51、分配单元52和第二连接建立单元53。
其中,第一连接建立单元51接收并缓存客户端发送的连接建立消息,根据该连接建立消息与该客户端建立第一连接。
分配单元52接收并缓存该客户端通过该第一连接发送的请求消息,获取该请求消息中包含的数据信息,根据该数据信息确定为该客户端分配的服务器。其中,该数据信息可以包括:Cookie文件信息、URI信息或HOST信息等。
第二连接建立单元53根据缓存的该连接建立消息与该服务器建立第二连接,将缓存的该请求消息通过该第二连接发送给该服务器,并将服务器返回的响应消息通过该第一连接发送给该客户端。
可选地,上述连接建立消息为TCP连接建立消息,上述请求消息为HTTP请求消息。可选地,上述第一连接和第二连接是在网络层建立的虚拟TCP连接。
可选地,第一连接单元51用于:根据连接建立消息向客户端返回第一确认消息;接收客户端根据第一确认消息返回的第一应答消息。
可选地,所述第二连接单元53用于:修改连接建立消息的目的地址和端口号,并将修改后的连接建立消息发送给服务器;收到服务器返回的第二确认消息后,向服务器返回第二应答消息。
上述的第一连接单元51、分配单元52以及第二连接单元53的具体工作原理可以分别参照上述方法实施例中相应的步骤S110、步骤S120以及步骤S130中的具体描述,此处不再赘述。
根据本发明提供的用于LVS的服务器调度方法及装置,可以先缓存客户端发送的连接建立消息,并根据该连接建立消息与客户端之间建立起第一连接;然后,通过该第一连接接收客户端发送的请求消息,并根据该请求消息中所包含的数据信息来调度服务器。由于请求消息中往往包含很多除IP地址和端口号之外的其他附加信息,因此,本发明中的方法及装置可以根据多种信息实现对服务器的灵活调度。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的装置中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

Claims (10)

1.一种用于LVS的服务器调度方法,包括:
接收并缓存客户端发送的连接建立消息,根据所述连接建立消息与所述客户端建立第一连接;
接收并缓存所述客户端通过所述第一连接发送的请求消息,获取所述请求消息中包含的数据信息,根据所述数据信息确定为所述客户端分配的服务器;
根据缓存的所述连接建立消息与所述服务器建立第二连接,将缓存的所述请求消息通过所述第二连接发送给所述服务器,并将服务器返回的响应消息通过所述第一连接发送给所述客户端。
2.如权利要求1所述的方法,其中,所述连接建立消息为TCP连接建立消息,所述请求消息为HTTP请求消息。
3.如权利要求1或2所述的方法,其中,所述第一连接和所述第二连接是在网络层建立的虚拟TCP连接。
4.如权利要求3所述的方法,其中,根据所述连接建立消息与所述客户端建立第一连接的步骤包括:根据所述连接建立消息向所述客户端返回第一确认消息;接收所述客户端根据所述第一确认消息返回的第一应答消息;
所述根据缓存的所述连接建立消息与所述服务器建立第二连接的步骤包括:修改所述连接建立消息的目的地址和端口号,并将修改后的连接建立消息发送给所述服务器;收到服务器返回的第二确认消息后,向所述服务器返回第二应答消息。
5.如权利要求1-4任一所述的方法,其中,所述数据信息包括:Cookie文件信息、URI信息或HOST信息。
6.一种用于LVS的服务器调度装置,包括:
第一连接建立单元,适于接收并缓存客户端发送的连接建立消息,根据所述连接建立消息与所述客户端建立第一连接;
分配单元,适于接收并缓存所述客户端通过所述第一连接发送的请求消息,获取所述请求消息中包含的数据信息,根据所述数据信息确定为所述客户端分配的服务器;
第二连接建立单元,适于根据缓存的所述连接建立消息与所述服务器建立第二连接,将缓存的所述请求消息通过所述第二连接发送给所述服务器,并将服务器返回的响应消息通过所述第一连接发送给所述客户端。
7.如权利要求6所述的装置,其中,所述连接建立消息为TCP连接建立消息,所述请求消息为HTTP请求消息。
8.如权利要求6或7所述的装置,其中,所述第一连接和所述第二连接是在网络层建立的虚拟TCP连接。
9.如权利要求8所述的装置,其中,所述第一连接单元用于:根据所述连接建立消息向所述客户端返回第一确认消息;接收所述客户端根据所述第一确认消息返回的第一应答消息;
所述第二连接单元用于:修改所述连接建立消息的目的地址和端口号,并将修改后的连接建立消息发送给所述服务器;收到服务器返回的第二确认消息后,向所述服务器返回第二应答消息。
10.如权利要求6-9任一所述的装置,其中,所述数据信息包括:Cookie文件信息、URI信息或HOST信息。
CN201310511830.6A 2013-10-25 2013-10-25 用于lvs的服务器调度方法及装置 Pending CN103533080A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310511830.6A CN103533080A (zh) 2013-10-25 2013-10-25 用于lvs的服务器调度方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310511830.6A CN103533080A (zh) 2013-10-25 2013-10-25 用于lvs的服务器调度方法及装置

Publications (1)

Publication Number Publication Date
CN103533080A true CN103533080A (zh) 2014-01-22

Family

ID=49934744

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310511830.6A Pending CN103533080A (zh) 2013-10-25 2013-10-25 用于lvs的服务器调度方法及装置

Country Status (1)

Country Link
CN (1) CN103533080A (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104486402A (zh) * 2014-12-11 2015-04-01 江苏爱信诺航天信息科技有限公司 一种基于大型网站组合均衡的方法
CN105162883A (zh) * 2015-09-25 2015-12-16 网宿科技股份有限公司 网络负载均衡处理系统及其方法和装置
CN105592038A (zh) * 2015-07-13 2016-05-18 杭州华三通信技术有限公司 Portal认证方法及装置
CN105991629A (zh) * 2015-03-26 2016-10-05 杭州迪普科技有限公司 Tcp连接建立方法及装置
CN108123890A (zh) * 2016-11-30 2018-06-05 阿里巴巴集团控股有限公司 一种负载均衡系统中的链路检测方法、装置及电子设备
CN109729104A (zh) * 2019-03-19 2019-05-07 北京百度网讯科技有限公司 客户端源地址获取方法、装置、服务器和计算机可读介质
CN111049754A (zh) * 2019-12-18 2020-04-21 上海众源网络有限公司 数据通信方法、装置、设备和计算机可读存储介质
WO2020077680A1 (zh) * 2018-10-19 2020-04-23 网宿科技股份有限公司 数据传输方法、系统以及代理服务器
CN115250275A (zh) * 2022-07-18 2022-10-28 深圳市圣麾科技有限公司 一种集群管理方法及系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090271521A1 (en) * 2008-04-24 2009-10-29 International Business Machines Corporation Method and system for providing end-to-end content-based load balancing
CN103095683A (zh) * 2012-12-13 2013-05-08 北京奇虎科技有限公司 一种Linux虚拟服务器调度系统和方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090271521A1 (en) * 2008-04-24 2009-10-29 International Business Machines Corporation Method and system for providing end-to-end content-based load balancing
CN103095683A (zh) * 2012-12-13 2013-05-08 北京奇虎科技有限公司 一种Linux虚拟服务器调度系统和方法

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104486402B (zh) * 2014-12-11 2017-09-12 江苏爱信诺航天信息科技有限公司 一种基于大型网站组合均衡的方法
CN104486402A (zh) * 2014-12-11 2015-04-01 江苏爱信诺航天信息科技有限公司 一种基于大型网站组合均衡的方法
CN105991629B (zh) * 2015-03-26 2019-06-04 杭州迪普科技股份有限公司 Tcp连接建立方法及装置
CN105991629A (zh) * 2015-03-26 2016-10-05 杭州迪普科技有限公司 Tcp连接建立方法及装置
CN105592038A (zh) * 2015-07-13 2016-05-18 杭州华三通信技术有限公司 Portal认证方法及装置
CN105592038B (zh) * 2015-07-13 2018-10-09 新华三技术有限公司 Portal认证方法及装置
WO2017050117A1 (zh) * 2015-09-25 2017-03-30 网宿科技股份有限公司 网络负载均衡处理系统及其方法和装置
CN105162883A (zh) * 2015-09-25 2015-12-16 网宿科技股份有限公司 网络负载均衡处理系统及其方法和装置
US10313247B2 (en) 2015-09-25 2019-06-04 Wangsu Science & Technology Co., Ltd. System, method, and device for network load balance processing
CN105162883B (zh) * 2015-09-25 2019-06-07 网宿科技股份有限公司 网络负载均衡处理系统及其方法和装置
CN108123890A (zh) * 2016-11-30 2018-06-05 阿里巴巴集团控股有限公司 一种负载均衡系统中的链路检测方法、装置及电子设备
WO2020077680A1 (zh) * 2018-10-19 2020-04-23 网宿科技股份有限公司 数据传输方法、系统以及代理服务器
US11290544B2 (en) 2018-10-19 2022-03-29 Wangsu Science & Technology Co., Ltd. Data transmission methods applied to a proxy server or a backend server, and data transmission system
CN109729104A (zh) * 2019-03-19 2019-05-07 北京百度网讯科技有限公司 客户端源地址获取方法、装置、服务器和计算机可读介质
CN111049754A (zh) * 2019-12-18 2020-04-21 上海众源网络有限公司 数据通信方法、装置、设备和计算机可读存储介质
CN111049754B (zh) * 2019-12-18 2023-01-10 上海众源网络有限公司 数据通信方法、装置、设备和计算机可读存储介质
CN115250275A (zh) * 2022-07-18 2022-10-28 深圳市圣麾科技有限公司 一种集群管理方法及系统
CN115250275B (zh) * 2022-07-18 2024-02-13 深圳市圣麾科技有限公司 一种集群管理方法及系统

Similar Documents

Publication Publication Date Title
CN103533080A (zh) 用于lvs的服务器调度方法及装置
US20120066586A1 (en) Systems and methods for accelerating web page loading
CN101895520B (zh) 微技系统的数据共享方法、服务器以及数据共享系统
US20120117253A1 (en) Methods for reducing latency in network connections and systems thereof
CN105939313B (zh) 状态码重定向方法及装置
US8868638B2 (en) Methods for reducing latency in network connections using automatic redirects and systems thereof
CN103067292A (zh) 一种基于WebSocket传输的负载均衡方法和装置
CN103475682A (zh) 文件迁移方法及设备
CN103347089A (zh) 一种对网站动态资源和静态资源分离加速的方法及装置
CN101764843A (zh) 远程过程调用的处理方法、系统及客户端、服务器
CN102143243A (zh) 动态路由处理方法和装置及其家庭网关
CN103258056B (zh) 处理风格样式表的方法、服务器、客户端和系统
CN110830374A (zh) 一种基于sdk的灰度发布的方法和装置
CN115668894A (zh) 被配置为服务多个单页应用的服务工作器
CN101378407B (zh) 一种信息推送方法、系统及设备
CN102594886A (zh) 浏览器与浏览器直通的方法、装置和通信系统
CN111367685B (zh) 接口调用的方法及装置、计算机设备、存储介质
CN104468594A (zh) 一种数据请求的方法、装置及系统
CN103368872A (zh) 数据包转发系统和方法
CN111726400A (zh) 反向连接的方法、装置和服务端系统
CN113452778B (zh) 会话保持方法、装置、设备、系统及存储介质
CN111131439A (zh) 基于iSCSI的报文传输方法、装置、设备及存储介质
US11516280B2 (en) Configuration change processing for content request handling
CN103686852B (zh) 一种对交互数据进行处理的方法、设备及无线加速系统
CN105933298B (zh) 用于执行传输控制协议握手的设备和方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20140122