一种用于维持长连接的方法、装置与设备的制造方法

文档序号:8248177阅读:269来源:国知局
一种用于维持长连接的方法、装置与设备的制造方法
【技术领域】
[0001]本发明涉及互联网技术领域,尤其涉及一种用于维持长连接的技术。
【背景技术】
[0002]HTTP长连接是指基于一个TCP连接来发送或接收多个HTTP请求。HTTP长连接具有多个优点:减少建立和拆除TCP连接的次数,降低HTTP请求过程中的网络总耗时;降低服务器和终端设备的CPU利用率;降低服务器和终端设备的网络I/O开销;提高服务器处理HTTP请求的速度。
[0003]由于服务器需要长时间维护长连接的状态信息,HTTP长连接会增加服务器的内存使用率。考虑到HTTP长连接的以上优点,尤其是在降低建立连接的网络耗时方面的优势(在慢速无线网络如2G、3G、4G、WiFi中,http长连接能够显著降低网络总耗时),HTTP长连接目前已经成为无线应用性能优化的主要方法之一,目前各主流Web服务器和浏览器都支持HTTP长连接,HTTP长连接被越来越广泛地应用在在无线B/S应用中。其中,长连接复用率通过下式来定义:
[0004]长连接复用率=复用的HTTP请求数/用户总的HTTP请求数
[0005]从上式可以看出长连接复用率取决于被复用的HTTP请求个数,而被复用的HTTP请求个数主要取决于服务器或中间代理服务器的长连接维持时间,长连接维持时间越长,HTTP请求复用该连接的几率就越高。目前长连接的维持方式主要通过超时机制,即通过Web服务器、浏览器、中间代理服务器的长连接超时值等一系列参数来控制长连接维持的时间。由于各类服务器和浏览器的超时相关参数设置差别较大、Web服务器及中间代理服务器的超时设置不协调都会导致长连接不能够被复用或者复用率较低,因此,虽然HTTP长连接这一特性被主流浏览器和Web服务器所广泛支持,但是网络中的连接复用率并不理想。
[0006]现有技术中,支持HTTP长连接以及提升连接复用率的方法主要有以下几种:
[0007]I)目前网络中仍有一部分较旧的Web服务器和浏览器不支持HTTP1.1协议,因而默认情况下也不支持HTTP长连接特性,对于这类Web服务器和浏览器,可以通过在HTTP头部中手动添加Connect1n:ke印-alive字段来强制使其支持HTTP长连接,即修改HTTP头部信息使其支持HTTP长连接。
[0008]2)对于大部分支持HTTP1.1协议的Web服务器和浏览器,浏览器在发送HTTP请求时头部缺省带有Connect1n:keep-alive字段,表明已经对HTTP长连接给予了支持。这种情况下,长连接复用率主要取决于长连接的维持状况。目前长连接的维持主要通过服务器的超时机制来控制,长连接的复用主要受超时时间、每个长连接上服务的最大连接数等参数决定,因此,通过优化服务器、浏览器和中间代理服务器的长连接相关参数配置来提升连接复用率。但是,不同Web服务器和浏览器的长连接相关参数设置差别较大,例如IE8浏览器的超时时间为60秒,Chrome浏览器的超时时间为45秒,Apache服务器的超时时间缺省为5s,由于各类服务器、浏览器、中间代理服务器的长连接相关参数差别较大,优化服务器和浏览器的长连接相关参数配置是个端到端的工程,且往往和用户访问模式和服务器负载情况动态相关,难以做到精确配置,因此,目前无线应用的连接复用率仍然不理想。
[0009]3)强制修改客户端发送的TCP连接关闭请求,强制使其保持连接。强制修改TCP连接关闭的方法需要客户端浏览器的修改权限,但大部分无线应用并无此权限,因此,该方式的可行性较低。

【发明内容】

[0010]本发明的目的是提供一种用于维持长连接的方法、装置与设备。
[0011]根据本发明的一个方面,提供了一种在用户设备中用于维持长连接的方法,其中,该方法包括:
[0012]通过应用客户端向网络设备发送HTTP访问请求;
[0013]接收所述网络设备返回的与所述HTTP访问请求相适应的长连接维持脚本;
[0014]基于所述长连接维持脚本,向所述网络设备发送长连接维持请求,并接收所述网络设备响应于所述长连接维持请求返回的长连接维持结果。
[0015]根据本发明的另一个方面,还提供了一种在网络设备中辅助用于维持长连接的方法,其中,该方法包括:
[0016]根据接收到的来自用户设备的通过应用客户端发送的HTTP访问请求,确定与所述HTTP访问请求相适应的长连接维持脚本;
[0017]将响应于所述HTTP访问请求的访问结果页面与所述长连接维持脚本发送至所述用户设备;
[0018]接收来自所述用户设备的通过应用客户端发送的长连接维持请求,并响应于所述长连接维持请求向所述用户设备返回长连接维持结果,其中,所述长连接维持请求基于所述长连接维持脚本生成。
[0019]根据本发明的又一个方面,还提供了一种在用户设备中用于维持长连接的装置,其中,该装置包括:
[0020]用于通过应用客户端向网络设备发送HTTP访问请求的装置;
[0021]用于接收所述网络设备返回的与所述HTTP访问请求相适应的长连接维持脚本的装置;
[0022]用于基于所述长连接维持脚本,向所述网络设备发送长连接维持请求,并接收所述网络设备响应于所述长连接维持请求返回的长连接维持结果的装置。
[0023]根据本发明的再一个方面,还提供了一种在网络设备中辅助用于维持长连接的装置,其中,该装置包括:
[0024]用于根据接收到的来自用户设备的通过应用客户端发送的HTTP访问请求,确定与所述HTTP访问请求相适应的长连接维持脚本的装置;
[0025]用于将响应于所述HTTP访问请求的访问结果页面与所述长连接维持脚本发送至所述用户设备的装置;
[0026]用于接收来自所述用户设备的通过应用客户端发送的长连接维持请求,并响应于所述长连接维持请求向所述用户设备返回长连接维持结果,其中,所述长连接维持请求基于所述长连接维持脚本生成的装置。
[0027]与现有技术相比,本发明中通过网络设备向用户设备提供与长连接维持脚本,以使得用户设备可持续地向网络设备发送长连接维持请求以用于维持网络设备与用户设备之间的长连接,由于长连接维持脚本与用户设备发送的HTTP访问请求相适应,因此该长连接维持脚本可有效地保证维持长连接的可靠性,从而达到提高长连接复用率的目的。
【附图说明】
[0028]通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
[0029]图1示出根据本发明一个方面的用于维持长连接的方法流程图;
[0030]图2示出根据本发明一个优选实施例的用于维持长连接的方法流程图;
[0031]图3示出根据本发明另一个方面的用于维持长连接的用户设备及用于维持长连接的网络设备的结构示意图;
[0032]图4示出根据本发明一个优选实施例的用于维持长连接的用户设备及用于维持长连接的网络设备的结构示意图。
[0033]附图中相同或相似的附图标记代表相同或相似的部件。
【具体实施方式】
[0034]下面结合附图对本发明作进一步详细描述。
[0035]图1示出根据本发明一个方面的用于维持长连接的方法流程图。
[0036]根据本发明的方法包括由用户设备执行的步骤S1110、步骤S1120和步骤S1130,以及由网络设备执行的步骤S1210、步骤S1220和步骤S1230。
[0037]其中,所述网络设备包括但不限于单个网络服务器、多个网络服务器组成的服务器组或基于云计算(Cloud Computing)的由大量主机或网络服务器构成的云,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个超级虚拟计算机。
[0038]其中,所述用户设备包括但不限于任何一种可与用户通过键盘、鼠标、遥控器、触摸板、或声控设备等方式进行人机交互的电子产品,例如,个人计算机、平板电脑、智能手机、PDA等ο
[0039]其中,所述用户设备及网络设备所处的网络包括但不限于互联网、广域网、城域网、局域网、VPN网络等。
[0040]需要说明的是,所述用户设备、网络设备以及网络仅为举例,其他现有的或今后可能出现的用户设备、网络设备以及网络如可适用于本发明,也应包含在本发明保护范围以内,并以引用方式包含于此。
[0041 ] 参照图1,在步骤SI 110中,用户设备通过应用客户端向网络设备发送HTTP访问请求。
[0042]其中,所述HTTP访问请求包括应用客户端所处网络的网络类型,如移动网络GPRS, WSCDMA, TD-SCDMA, LTE等,以及WIFI等;以及应用客户端类型,如浏览器类型,可包括:Safari浏览器、QQ浏览器、
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1