CN1150464C - 一种在应用层交换中提高服务器响应速度的系统及方法 - Google Patents

一种在应用层交换中提高服务器响应速度的系统及方法 Download PDF

Info

Publication number
CN1150464C
CN1150464C CNB011237333A CN01123733A CN1150464C CN 1150464 C CN1150464 C CN 1150464C CN B011237333 A CNB011237333 A CN B011237333A CN 01123733 A CN01123733 A CN 01123733A CN 1150464 C CN1150464 C CN 1150464C
Authority
CN
China
Prior art keywords
server
module
connection
client
response
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.)
Expired - Fee Related
Application number
CNB011237333A
Other languages
English (en)
Other versions
CN1400535A (zh
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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CNB011237333A priority Critical patent/CN1150464C/zh
Publication of CN1400535A publication Critical patent/CN1400535A/zh
Application granted granted Critical
Publication of CN1150464C publication Critical patent/CN1150464C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Abstract

本发明公开了一种在应用层交换中提高服务器响应速度的系统,至少包括用于内容识别和报文交换的URL识别模块;用于检测所连接服务器的健康状况和负载程度的服务器健康性检测模块;用于实现交换机冒充服务器接收客户端所发信号的TCP哄骗模块;关键在于:还包括一个服务器端连接储备模块,用来预先与服务器建立连接,并通过已建立好的连接对服务器的健康状况和负载程度进行检测;服务器端连接储备模块同时连接服务器健康性检测模块、TCP哄骗模块和服务器端口处理模块。该系统能支持客户端与服务器之间的快速连接及应用层请求的转发,使得服务器的响应时间大大降低。本发明同时还公开了一种在应用层交换中提高服务器响应速度的方法。

Description

一种在应用层交换中提高服务器响应速度的系统及方法
技术领域
本发明涉及一种网络服务器响应速度的技术,特别是指一种在应用层交换中加速服务器响应速度的系统及其实现方法。
发明背景
随着互联网用户的增加,对网络上各种服务器的访问量也在迅速增长,单纯提高服务器的性能已经不能满足访问的要求,因而业界提出了在多个服务器之间实现负载均衡的四层交换技术,其中,四层是指开放系统互连(OSI)模型中的第四层--传输层。按照这种技术,多台拥有相同内容的服务器通过四层交换机与广域网相连,每一个服务器可以拥有自己的IP地址,而四层交换机上设置了它们对外统一的地址--即一个虚拟的IP地址,当用户发起对虚拟地址的访问时,由四层交换机将流量按照服务器的负载情况分发给不同的服务器,并保证同一个流的报文始终被送给同一个服务器。
如图1所示,其工作原理是根据一个数据流的第一个报文和所设置的负载均衡策略选择一个真实的服务器,对于该流的后续报文则根据其五元组(源目的地址、源目的端口号和协议号)来进行转发,使得同一个流的报文始终由同一个服务器来处理。由于采用负载均衡策略,交换机可以根据服务器的忙闲状况或运行处理速度快慢等因素,全面考虑该数据流的分配方向。故此,该技术能够有效地完成不同服务器之间的流量分担,使得服务器的扩充十分容易。
但是在这种工作模式下,要求每台服务器都能提供用户所有要访问的内容,造成了大量的冗余;同时,所有服务器所存储的内容的同步也需要额外进行考虑,因此出现了应用层交换技术。
应用层交换技术就是根据连接中的应用层信息,比如统一资源定位(URL)、Cookie等信息来进行交换,可以实现将不同内容的请求导向到不同的服务器上,从而实现不同内容的独立维护。例如:静态的超文本链接标示语言(HTML)页面可以存贮在速度慢但容量大的服务器上,而动态生成的计算机图形接口(CGI)页面则由速度快的服务器来进行处理。如图2所示,至少包括三个服务器组,文件数据可以分类由不同的服务器组进行处理,比如:jpg类文件和gif类图形文件可由服务器组1处理;bin类文件、cgi类图形接口文件以及exe类执行文件可由服务器组2处理;而html类文件数据则由服务器组3处理。
由于连接建立过程中的报文中并不包含有应用层信息,所以在服务器与客户端建立连接时,交换机必须先冒充服务器与客户建立连接,得到应用层信息之后,才能确定将该连接请求发送给哪一个真实的服务器,然后,交换机再与此真实服务器建立连接,转发客户的请求。因此,该工作过程的实际处理流程如图3所示:
1)首先,由交换机冒充服务器接收客户端所发的TCP同步信号TCPSYN,该信号表示客户请求建立一个TCP连接;然后,交换机替代服务器向客户端回送同步应答信号SYN ACK,确认连接建立;客户端收到SYNACK之后,再向冒充服务器--交换机送一个收到确认的信号ACK;经过上述三次握手之后,连接建立,客户端即发送应用层请求给冒充服务器--交换机。
2)当交换机收到客户发的应用层请求后,从请求中提出应用层信息,以确定客户的该请求实际应该发给哪个真实的服务器,然后交换机向目的服务器发TCP同步信号TCP SYN,请求建立一个TCP连接;该服务器向交换机回送同步应答信号SYN ACK,确认连接建立;交换机收到SYN ACK之后,再向目的服务器送一个收到确认的信号ACK;经过握手后,连接建立,交换机即将客户端发出的应用层请求转发给目的服务器,而后,客户端即可与真实的目的服务器直接通信,发送数据。
该方法的优点在于:可以将不同的内容放置在不同的服务器上,提高了服务器的利用率,并且对特定的内容只要在少数几台服务器之间进行同步刷新,便于进行内容的维护。但从图上可以看出,由于每次根据应用层信息选中一个真实的服务器之后需要实时地发起与真实服务器的连接,这样,客户端发出应用层请求之后,需要等待交换机冒充客户与服务器建立连接,并转发服务器所回应的应答,因而得到服务器响应的时间大大增加,不能够满足提高用户访问速度的要求。
发明内容
有鉴于此,本发明的主要目的在于提供一种在应用层交换中提高服务器响应速度的系统,使其能支持客户端与服务器之间的快速连接及应用层请求的转发,使得服务器的响应时间大大降低。
本发明的另一目的在于提供一种在应用层交换中提高服务器响应速度的方法,使其能大大缩短客户端与服务器之间连接建立的时间,快速地转发应用层请求,从而使得服务器的响应时间明显缩短,进而提高对用户的服务质量。
本发明的技术方案具体是这样实现的:
一种在应用层交换中提高服务器响应速度的系统,至少包括用于内容识别和报文交换的URL识别模块;用于检测所连接服务器的健康状况和负载程度的服务器健康性检测模块;用于实现交换机冒充服务器接收客户端所发信号的TCP哄骗模块;关键在于:
还包括一个服务器端连接储备模块,用来预先与服务器建立连接,并通过已建立好的连接对服务器的健康状况和负载程度进行检测;
服务器端连接储备模块同时连接服务器健康性检测模块、TCP哄骗模块和服务器端口处理模块;TCP哄骗模块还同时与URL识别模块及客户端口处理模块相连。
所述的与服务器建立连接是与每一台服务器建立一个以上的连接。该服务器端连接储备模块根据每台服务器健康状况的检测结果预先设置该服务器连接储备数目的阈值。所述的服务器健康状况检测是指检测目的服务器是否可用。
一种在应用层交换中提高服务器响应速度的方法,该方法至少包括以下的步骤:
a.由应用层交换系统中的服务器连接储备模块与每台服务器建立连接;
b.当客户端发起请求时,交换机首先与客户端建立连接,在收到客户端发送的应用层请求之后,从应用层请求中提取出应用层信息,确定该客户所选定的目的服务器,然后利用与该目的服务器已建立好的连接转发客户端信息给服务器,并将服务器的应答转发给客户。
所述服务器连接储备模块与服务器建立连接进一步包括以下步骤:
a.与每一台服务器建立一个以上的连接,之后等待定时器事件的触发;
b.对每一台服务器进行健康性检测,根据健康状况的检测结果设定每一台服务器连接储备数目的阈值;
c.实时检测每台服务器当前的连接储备数目是否低于预先设定的阈值,如果当前检测的服务器的连接储备数目低于所设定的阈值,则服务器连接储备模块与该服务器建立一个以上的新连接,然后返回步骤c;否则,等待定时器事件触发,进入步骤b。
所述的定时器事件是指定时检查交换机与服务器之间的连接储备情况。所述的连接储备数目阈值小于所建立的连接数。所述的服务器健康状况是指检测目的服务器是否可用。所检测的目的服务器不可用时,连接储备数目阈值设为零;所检测的目的服务器可用时,连接储备数目阈值根据该服务器所能支持的连接数决定。
由上述技术方案可以看出,本发明的关键在于:在现有的实现系统中添加一个服务器连接储备模块,从而建立一种交换机与服务器之间的连接储备机制,使交换机预先与各服务器之间建立连接的储备,通过这些连接储备,交换机可以迅速地将客户的应用层请求转发给特定的服务器进行处理,从而缩短了服务器响应时间。
通过本发明的方法,不仅能够得到更快速的服务器响应,而且更容易实现服务器健康状况及负载情况的检测,提高了用户服务质量。
附图说明
图1为现有技术中四层交换机结构示意图;
图2为现有技术中应用层交换机结构示意图;
图3为现有技术中应用层交换机工作流程示意图;
图4为本发明的系统结构示意图;
图5为本发明中服务器连接储备模块的工作流程图;
图6为本发明中连接处理的流程图。
具体实施方式
下面结合附图及具体实施例对本发明再作进一步详细的说明。
本发明主要应用于一个应用层交换系统中,如图4所示,该系统至少包括:用于内容识别和报文交换的URL识别模块;用于检测所连接服务器的健康状况和负载程度的服务器健康性检测模块;用来实现交换机冒充服务器接收客户端所发信号的TCP哄骗模块;重要的是,该系统还包括一个服务器端连接储备模块,用来事先与服务器建立连接,并通过这些连接对服务器的健康状况和负载情况进行检测。其中,TCP哄骗模块与客户端口处理模块相连,用来接收客户信息;而服务器端连接储备模块与服务器端口处理模块相连,用来建立与服务器间的连接,TCP哄骗模块还与服务器端连接储备模块和URL识别模块相连,服务器端连接储备模块还与服务器健康性检测模块相连。所传输的报文从客户端口处理模块进入,经过上述URL识别模块、TCP哄骗模块、服务器健康性检测模块以及服务器端连接储备模块的识别、确认、处理、确定导向后,从服务器端口处理模块输出至相应的目的服务器。该系统既包括软件的实现方式,也包括以硬件实现的方式,比如采用可编程逻辑处理芯片。
本发明中服务器连接储备模块具体的工作实现流程如图5所示,至少包括以下的步骤:
a.服务器连接储备模块与每一台服务器建立若干个连接,连接的数目可根据实际运行情况或客户对不同资源需求的比率而定,连接建立后作为储备资源,当交换机需要与某台服务器建立连接时,则提供一个相应服务器的连接。连接建立好后,连接储备模块等待定时器事件的触发,该定时事件是用来定时检查交换机与服务器之间的连接储备情况。
b.对每一台服务器进行健康性实时检测,并根据健康状况的检测结果来确定每一台服务器连接储备数目的阈值。其中,该阈值是指决定是否需要建立一批新连接的判断基准值,低于该值则需要马上建立一批新连接,否则不需要;健康状况检测是指检测每台服务器是否可用,如果可用,则根据该服务器所能支持的连接数来确定阈值,如果不可用,则阈值设置为零;该储备数目是指当前已建立可供使用的连接的数目。
c.根据定时事件检测结果判断每一台服务器的连接储备数目是否已低于所设定的阈值,如果是,则与该服务器建立一批新连接,以备使用,然后回到步骤c;否则,仍等待定时器事件的触发,进入步骤b。
通过上述模块结构及其工作流程,交换机即可与服务器预先建立的一系列连接,交换机可以及时获知服务器的健康状况和负载程度,从而可以确定最适合处理请求的服务器,更重要的是:由于交换机储备了与服务器的连接,所以在确定真实服务器之后,客户的应用层请求就可以通过已经建立的连接立即发送给真实服务器,而无需长时间的等待。其处理流程参见图6所示:
1)首先,交换机发TCP SYN信号给服务器,经过服务器回应的SYNACK信号以及交换机收到SYN ACK后回复的ACK信号,使交换机可与每一台服务器建立多个连接;
2)然后,当有客户提出连接请求和应用层请求时,只需要经过与交换机之间的握手、确认,交换机便可立即将用户的应用层请求通过已有的连接转发给服务器。
可见,交换机得到客户的应用层请求之后,能马上通过预先建立的连接将请求转发到选定的服务器,并将服务器的应答转发给客户,中间省去了与服务器三次握手建立连接的过程,因而大大提高了服务器对客户的响应时间。而且,交换机可以通过预先与服务器建立的连接事先检测服务器的健康状况和负载程度,如果所需连接的服务器健康状况有问题,可在客户提出请求时马上告知,或是将请求导向其他有同等功能的服务器,从而避免浪费客户的时间,以保证为客户提供最好的服务。
另外,交换机还可以根据实时检测当前服务器的负载情况,对客户的请求进行均衡分配,以保证能为客户提供最快最好的服务。

Claims (8)

1、一种在应用层交换中提高服务器响应速度的系统,至少包括用于内容识别和报文交换的URL识别模块;用于检测所连接服务器的健康状况和负载程度的服务器健康性检测模块;用于实现交换机冒充服务器接收客户端所发信号的TCP哄骗模块;其特征在于:
还包括一个服务器端连接储备模块,用来预先与服务器建立连接,并通过已建立好的连接对服务器的健康状况和负载程度进行检测;
服务器端连接储备模块同时连接服务器健康性检测模块、TCP哄骗模块和服务器端口处理模块;TCP哄骗模块还同时与URL识别模块及客户端口处理模块相连。
2、根据权利要求1所述的提高服务器响应速度的系统,其特征在于:所述的与服务器建立连接是与每一台服务器建立一个以上的连接。
3、根据权利要求1所述的提高服务器响应速度的系统,其特征在于:所述的服务器端连接储备模块根据每台服务器健康状况的检测结果预先设置该服务器连接储备数目的阈值。
4、一种在应用层交换中提高服务器响应速度的方法,其特征在于该方法至少包括以下的步骤:
a.由应用层交换系统中的服务器连接储备模块与每台服务器建立连接;
b.当客户端发起请求时,交换机首先与客户端建立连接,在收到客户端发送的应用层请求之后,从应用层请求中提取出应用层信息,确定该客户所选定的目的服务器,然后利用与该目的服务器已建立好的连接转发客户端信息给服务器,并将服务器的应答转发给客户。
5、根据权利要求4所述的提高服务器响应速度的方法,其特征在于所述服务器连接储备模块与服务器建立连接进一步包括以下步骤:
a.与每一台服务器建立一个以上的连接,之后等待定时器事件的触发;
b.对每一台服务器进行健康性检测,根据健康状况的检测结果设定每一台服务器连接储备数目的阈值;
c.实时检测每台服务器当前的连接储备数目是否低于预先设定的阈值,如果当前检测的服务器的连接储备数目低于所设定的阈值,则服务器连接储备模块与该服务器建立一个以上的新连接,然后返回步骤c;否则,等待定时器事件触发,进入步骤b。
6、根据权利要求5所述的提高服务器响应速度的方法,其特征在于:所述的连接储备数目阈值小于所建立的连接数。
7、根据权利要求5所述的提高服务器响应速度的方法,其特征在于:所检测的服务器不可用时,连接储备数目阈值设为零;所检测的服务器可用时,连接储备数目阈值根据该服务器所能支持的连接数决定。
8、根据权利要求5所述的提高服务器响应速度的方法,其特征在于:所述的定时器事件是指定时检查交换机与服务器之间的连接储备情况。
CNB011237333A 2001-07-26 2001-07-26 一种在应用层交换中提高服务器响应速度的系统及方法 Expired - Fee Related CN1150464C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB011237333A CN1150464C (zh) 2001-07-26 2001-07-26 一种在应用层交换中提高服务器响应速度的系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB011237333A CN1150464C (zh) 2001-07-26 2001-07-26 一种在应用层交换中提高服务器响应速度的系统及方法

Publications (2)

Publication Number Publication Date
CN1400535A CN1400535A (zh) 2003-03-05
CN1150464C true CN1150464C (zh) 2004-05-19

Family

ID=4665251

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB011237333A Expired - Fee Related CN1150464C (zh) 2001-07-26 2001-07-26 一种在应用层交换中提高服务器响应速度的系统及方法

Country Status (1)

Country Link
CN (1) CN1150464C (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1300986C (zh) * 2003-04-14 2007-02-14 华为技术有限公司 实现快速五七层交换的方法
US7603459B2 (en) * 2004-09-14 2009-10-13 International Business Machines Corporation System, method and program to troubleshoot a distributed computer system or determine application data flows
CN102215231A (zh) * 2011-06-03 2011-10-12 华为软件技术有限公司 一种转发数据的方法及网关
US10069903B2 (en) * 2013-04-16 2018-09-04 Amazon Technologies, Inc. Distributed load balancer
CN103368872A (zh) * 2013-07-24 2013-10-23 广东睿江科技有限公司 数据包转发系统和方法
CN106161580A (zh) * 2015-04-28 2016-11-23 中兴通讯股份有限公司 一种连接状态控制方法、装置及系统
CN112187575A (zh) * 2020-09-25 2021-01-05 杭州迪普科技股份有限公司 一种服务器健康状态的监测方法和装置

Also Published As

Publication number Publication date
CN1400535A (zh) 2003-03-05

Similar Documents

Publication Publication Date Title
US6665304B2 (en) Method and apparatus for providing an integrated cluster alias address
US6470389B1 (en) Hosting a network service on a cluster of servers using a single-address image
Hunt et al. Network dispatcher: A connection router for scalable internet services
US6243360B1 (en) Network server having dynamic load balancing of messages in both inbound and outbound directions
Partridge et al. A faster UDP (user datagram protocol)
Yang et al. EFFICIENTSUPPORTFORCO NTENT-BASED ROUTINGINWEBSERVERCLU STERS
US7003575B2 (en) Method for assisting load balancing in a server cluster by rerouting IP traffic, and a server cluster and a client, operating according to same
US6182139B1 (en) Client-side resource-based load-balancing with delayed-resource-binding using TCP state migration to WWW server farm
US7720997B1 (en) Path selection system
US20030014684A1 (en) Connection cache for highly available TCP systems with fail over connections
CN101136926B (zh) 非对称路由情况下的报文转发方法及网络地址转换网关
CN1372405A (zh) 接续持续连接
WO2002017034A2 (en) System and method for highly scalable high-speed content-based filtering and load balancing in interconnected fabrics
CN1410905A (zh) 一种全分布式的集群网络服务器系统
AU2007320794B2 (en) Selective session interception method
CN1150464C (zh) 一种在应用层交换中提高服务器响应速度的系统及方法
Kokku et al. Half-pipe anchoring: An efficient technique for multiple connection handoff
US7564848B2 (en) Method for the establishing of connections in a communication system
CN102281263B (zh) 一种建立iSCSI会话的方法和iSCSI发起方
CN1152517C (zh) 防范网络攻击的方法
JPH10224356A (ja) ネットワークシステムおよびその負荷調整方法
CN100345419C (zh) 数据访问处理
Lorenz et al. Modular TCP handoff design in STREAMS–based TCP/IP implementation
He et al. Internet traffic control and management architecture
Liu et al. Efficient support for content‐aware request distribution and persistent connection in Web clusters

Legal Events

Date Code Title Description
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20040519

Termination date: 20190726