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

技术编号:2878864 阅读:208 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种在应用层交换中提高服务器响应速度的系统,至少包括用于内容识别和报文交换的URL识别模块;用于检测所连接服务器的健康状况和负载程度的服务器健康性检测模块;用于实现交换机冒充服务器接收客户端所发信号的TCP哄骗模块;关键在于:还包括一个服务器端连接储备模块,用来预先与服务器建立连接,并通过已建立好的连接对服务器的健康状况和负载程度进行检测;服务器端连接储备模块同时连接服务器健康性检测模块、TCP哄骗模块和服务器端口处理模块。该系统能支持客户端与服务器之间的快速连接及应用层请求的转发,使得服务器的响应时间大大降低。本发明专利技术同时还公开了一种在应用层交换中提高服务器响应速度的方法。(*该技术在2021年保护过期,可自由使用*)

【技术实现步骤摘要】

本专利技术涉及一种网络服务器响应速度的技术,特别是指一种在应用层交换中加速服务器响应速度的系统及其实现方法。如附图说明图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。所述的定时器事件是指定时检查交换机与服务器之间的连接储备情况。所述的连接储备数目阈值小于所建立的连接数。所述的服务器健康状况是指检测目的服务器是否可用。所检测的目的服务器不可用时,连接储备数目阈值设为零;所检测的目的服务器可用时,连接储备数目阈值根据该服务器所能支持的连接数决定。由上述技术方案可以看出,本专利技术的关键在于在现有的实现系统中添加一个服务器连接储备模块,从而建立一种交换机与服务器之间的连接储备机制,使交换机预先与各服务器之间建立连接的储备,通过这些连接储备,交换机可以迅速地将客户的应用层请求转发给特定的服务器进行处理,从而缩短了服务器响应时间。通过本专利技术的方法,不仅能够得到更快速的服务器响应,而且更容易实现服务器健康状况及负载情况的检测,提高了用户服务质量。本专利技术主要应用于一个应用层交换系统中,如图4所示,该系统至少包括用于内容识别和报文交换的URL识别模块;用于检测所连接服务器的健康状况和负载程度的服务器健康性检测模块;用来实现交换机冒充服务器接收客户端所发信号的TCP哄骗模块;重要的是,该系统还包括一个服务器端连接储备模块,用来事先与服务器建立连接,并通过这些连接对服务器的健康状况和负载情况进行检测。其中,TCP哄骗模块与客户端口处理模块相连,用来接收客户信息;而服务器端连接储备模块与服务器端口处理模块相连,用来建立与服务器间的连接,TCP哄骗模块还与服务器端连接储备模块和URL识别模块相连,服务器端连接储备模块还与服务器健康性检测模块相连。所传输的报文从客户端口处理模块进入,经过上述URL识别模块、TCP哄骗模块、服务器健康性检测模块以及服务器端连接储备模决的识别、确认、处理、确定导向后,从服务器端口处理模块输出至相应的目的服务器。该系统既包括软件的实现方式,也包括以硬件实现的方式,比如采用可编程逻辑本文档来自技高网...

【技术保护点】
一种在应用层交换中提高服务器响应速度的系统,至少包括用于内容识别和报文交换的URL识别模块;用于检测所连接服务器的健康状况和负载程度的服务器健康性检测模块;用于实现交换机冒充服务器接收客户端所发信号的TCP哄骗模块;其特征在于: 还包括一个服务器端连接储备模块,用来预先与服务器建立连接,并通过已建立好的连接对服务器的健康状况和负载程度进行检测; 服务器端连接储备模块同时连接服务器健康性检测模块、TCP哄骗模块和服务器端口处理模块;TCP哄骗模块还同时与URL识别模块及客户端口处理模块相连。

【技术特征摘要】

【专利技术属性】
技术研发人员:张俭锋
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:94[中国|深圳]

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

1