在客户机与服务器之间控制通信的方法和设备技术

技术编号:3532708 阅读:210 留言:0更新日期:2012-04-11 18:40
一种用来在客户机与一些群簇服务器之间控制通信的方法,包括:在客户机与在群簇服务器中选择的一个服务器之间的一个网络上进行第一通信会话;和发送响应在网络上的第一通信会话而产生的标识数据以便由客户机存储。在从客户机接收包括标识数据的请求以进行第二通信会话时,响应在请求中的标识数据而把请求路由到选择的服务器。(*该技术在2021年保护过期,可自由使用*)

【技术实现步骤摘要】

本专利技术一般涉及客户机/服务器网络应用,具体地说,涉及使用服务器簇群处理大量客户通信的万维网站点。流行的Web站点,如大电子商务(e-商务)站点,必须频繁地应付同时访问站点的大量客户机。为了立即服务所有的客户机,这样一种站点典型地使用并行操作的一簇群Web服务器主机。经Web访问站点的客户机请求,一般以超文本传输协议(HTTP)请求的形式,由一个路由器分布在主机中。用于该目的的路由器,如由IBM公司生产的“eND”服务器,称为“喷散路由器”(spray router),因为他们把输入请求以簇群“喷散”在主机中,以便平衡它们中的处理负载。Web服务器主机的每一个都包括运行一个Web服务器或引擎,以及服务于客户请求所需的任何其他应用引擎或过程的适当计算机。客户机请求的简单喷散路由是可能的,因为HTTP本身是无态的,即每次通信会话独立于任何以前的会话。因此,在一个客户机与Web服务器的任一个之间的会话终止之后,能由任何其他服务器之一同样好地建立和处理下次会话。就希望记住从一次会话至下一次会话的状态信息来说,Web服务器传递由一个“会话保持器”,一般为用作状态仓库的群簇中的另一个计算机,存储的信息。Web服务器使客户机存储一个一般为客户机盘上的“饼块”(cookie)形式的标识符。下次客户机向Web站点递交一个HTTP请求,从客户机的盘读回客户机标识符。一般地,编码站点的Web页,从而把来自存储客户机标识符的数据插入到HTTP首部中的一个适当字段中。另外,例如使用在先有技术中已知的其他方法,如URL重写机构,可以传送数据。无论哪一个Web服务器从喷散路由器接收请求,都使用客户标识符从会话保持器提取必需的状态信息。检索状态信息耗时,并且作为整体减慢Web服务器和群簇的动作。然而,由于不可能预计哪个Web服务器将从路由器接收任何给定的客户机请求,所以每当有一个新的HTTP请求时,服务器不能高速缓存适当的状态数据,并且必须从会话保持器检索它。在某些大Web站点中,路由器保持互联网协议(IP)地址的一个固定查阅表,并且根据客户机的IP地址把每个客户机分配给一个服务器。把具有在给定范围内的IP地址的客户机分配给相同的服务器。因而,只要客户机地址还没有从一次HTTP会话变到下一次会话,就把客户机的HTTP请求重复地分配给相同的服务器。这种方法能解决在相同服务器上运行的多个应用引擎的问题。而且,当Web服务器之一断开时,分配给该服务器的客户机完全接收不到服务。本专利技术某些方面的一个目的在于,根据一群Web服务器提供一种能够使站点以改进速度和效率服务于客户机的Web站点结构。本专利技术某些方面的另一个目的在于,提供一种用来在以HTTP会话访问Web站点的客户机与在该站点处的一群簇Web服务器中的一个之间保持亲合力的方法。本专利技术某些方面的又一个目的在于,提供一种用来在以HTTP会话访问Web站点的客户机与运行在该站点处的一群簇Web服务器中的一个上的应用程序之间保持亲合力的方法。在本专利技术的最佳实施例中,一个Web站点包括多个Web服务器主机,该主机带有一个在服务器中分布客户机HTTP请求的路由器和一个存储会话数据的会话保持器。每个主机运行一个Web服务器过程,并且可选择地,同样运行一个或多个其他应用过程。当客户机访问Web站点,并且借助于服务器之一进行HTTP会话时,服务器把一个会话标识符(会话ID)下载到客户机。会话ID包括标识Web服务器主机的数据、在负责会话的主机上的过程、及一个版本有效性计数器值。会话ID最好由客户机以一个饼块的形式存储。对Web站点网页进行编码,从而当客户机以后再次访问Web站点时,把会话ID包括在客户机的HTTP请求中。路由器读会话ID,以便把客户机的HTTP请求路由到与以前相同的主机。主机然后读ID,以便把请求传送到适当的过程和检查版本有效性计数器值。如果计数器值与由服务器存储在由用于该客户机的服务器保持的会话数据的一个高速缓冲存储器中的一个值匹配,则服务器能断定高速缓存命中已经发生。在这种情况下,服务器能简单地使用高速缓存会话数据,并且不需要从会话保持器检索任何数据。然而,如果在用于该客户机的高速缓冲存储器中没有会话数据,或者如果在版本有效性计数器值中有一个误匹配,则服务器用来自会话保持器的数据重新加载高速缓冲存储器。当会话数据在会话期间有变化时,服务器把新数据保存在会话保持器中,增大版本有效性计数器,并且用新计数值下载一个修改会话ID,以便客户机为下次会话而存储它。因而,在客户机与在应用级下的Web服务器之一之间从一个HTTP会话至下一个会话保持亲合力。在由客户机初始化的连续HTTP会话中,在服务器处的高速缓存命中的概率最大,同时降低从会话保持器检索状态数据的需要。结果,提高服务器群簇的效率和速度。不需要路由器保存一个固定亲合力表,这与基于IP地址亲合力的先有技术中已知的系统不同。本专利技术因而提供一种容易定标的、灵活的且在面临群簇中出现变化或故障时可自适应的解决方案。尽管这里描述的最佳实施例使用一个路由器,来读客户机的会话ID信息和因而路由客户机的HTTP请求,但即使没有路由器,本专利技术的方法也可以用来处理请求和保持会话亲合力。在这种情况下,Web服务器读会话ID信息,并且使用它把会话分配到适当的应用过程且使高速缓存数据生效。而且,尽管这些最佳实施例处理运行在Web服务器上的HTTP会话,但本专利技术的原理类似地可应用于其他基于群簇的客户器/服务器应用层协议。该协议必须是这样的允许服务器向客户机发送一个会话ID,并且允许客户机把会话ID返回到在消息开始处的服务器。因此按照本专利技术一个最佳实施例,提供有一种用来在客户机与一群簇服务器之间控制通信的方法,该方法包括在客户机与在群簇服务器中选择的一个服务器之间的一个网络上进行第一通信会话;发送响应在网络上的第一通信会话而产生的标识数据以便由客户机存储;从客户机接收请求以进行第二通信会话,该请求包括标识数据;及响应在请求中的标识数据把请求路由到选择的服务器。最好,进行第一通信会话包括使用一个应用协议-最好是超文本传输协议(HTTP)-的通信,并且其中接收请求包括接收一个HTTP请求。另外最好,网络包括因特网,并且其中服务器包括Web服务器。最好,标识数据包括对选择服务器的网络地址的参考,其中网络地址包括一个传输控制协议/网间协议(TCP/IP)地址。而且最好,标识数据包括与选择服务器有关的一个路由端口的标识。另外或者另一方面,进行第一通信会话包括在选择服务器上运行一个应用过程,并且标识数据包括应用过程的一种标识。最好,路由请求包括传送由应用过程处理的请求。进一步另外或者另一方面,发送标识数据包括更新版本有效性计数器的值,以便标识在由选择服务器保持的高速缓冲存储器中的会话数据的当前版本,并且把计数器的更新值发送到客户机。最好,该方法包括在服务器处接收路由的请求;和把包括在来自客户机的请求中的版本有效性计数器的第一值与由服务器保持的版本有效性计数器的第二值相比较,以便确定是否使用在第二通信会话中的高速缓冲器中的会话数据。最好,该方法包括把来自第一通信会话的会话数据存储在一个会话保持器中;和从会话保持器检索存储的会话数据,以便响应在版本有效性计数器的第本文档来自技高网...

【技术保护点】
一种用来在客户机与一群簇服务器之间控制通信的方法,包括:在客户机与在群簇服务器中选择的一个服务器之间的一个网络上进行第一通信会话;发送响应在网络上的第一通信会话而产生的标识数据以便由客户机存储;从客户机接收请求以进行第二通信会话,该请求包括标识数据;及响应在请求中的标识数据把请求路由到选择的服务器。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:加尔沙克尔
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:US[美国]

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

1
相关领域技术
  • 暂无相关专利