一种网络数据通信方法、系统及客户端和服务器技术方案

技术编号:9571496 阅读:108 留言:0更新日期:2014-01-16 04:17
本发明专利技术公开了一种网络数据通信方法、系统及客户端和服务器。所述系统包括所述客户端和服务器,其中,客户端与服务器建立通信连接;客户端向服务器发送请求,所述请求中包括该请求的唯一性标识;服务器收到请求后,准备该请求对应的响应数据,该响应数据中包括该请求的唯一性标识,在准备好响应数据后立即向发起请求的客户端返回该响应数据;所述客户端收到响应数据后,根据该响应数据中所包括的所述唯一性标识来匹配对应的请求,将该响应数据作为匹配到的请求的响应数据进行处理。利用本发明专利技术,可以降低网络的下行传输延迟,提升下行传输速率。

【技术实现步骤摘要】
一种网络数据通信方法、系统及客户端和服务器
本专利技术涉及
,尤其涉及一种网络数据通信方法、系统及客户端和服务器。
技术介绍
目前互联网的通信技术中,客户端和服务器之间通常采用超文本传送协议(HTTP)在互联网上发送和接收信息以进行通信交互。HTTP是一个属于应用层的面向对象的通信协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展。目前互联网使用的是版本为HTTP/1.1。请求评议(RFC, Request For Comments)文献包含了关于互联网的几乎所有重要的技术资料。在RFC2616文献中所公开的HTTP/1.1版本中公开了 HTTP的流水线技术,即:支持持续连接的客户端可以以流水线的方式发送请求,也就是说在一个通信连接,例如在一个传输控制协议(TCP, Transmission Control Protocol)连接上,客户端无须等待响应就可以发送多个请求,服务器必须按接收到请求的顺序返回响应,客户端按照接收响应的顺序来判断是哪个请求的响应数据,即接收到的第n个响应数据就是第n个发送的请求的响应数据。现有技术方案存在如下问题:服务器必须按接收请求的顺序发送响应,但是对服务器来说,针对所接收到的各个请求,准备响应数据的时间是不一定相同的。例如有些请求需要的是动态资源数据,需要进行诸如查询数据、或生成动态数据、或图片压缩转换等耗时的操作才能准备好响应数据,有些动态资源数据还需要服务器进一步进行打包等操作,因此针对这些请求,服务器返回对应响应的延迟会较长;而有些请求需要的只是静态数据,月艮务器只需要将静态数据返回即可,因此针对这些请求,服务器返回对应响应的延迟较短。如果服务器必须按请求的接收顺序返回对应的响应数据,则会造成较长的下行传输延迟,影响网络的总体下行传输速率。例如,图1为现有HTTP流水线技术的服务器处理请求及发送响应数据的时序图。假设客户端与服务器之间建立了一个TCP连接,在该TCP连接上依次发送了多个请求给服务器,例如图1所示为3个请求,分别为请求1、请求2、和请求3,通常这3个请求被打包发送,服务器接收到数据包后按照请求的发送顺序依次解析出请求1、请求2、和请求3,即服务器接收请求的顺序依次为:请求1、请求2、和请求3。假设请求I需要服务器进行耗时操作,例如查询数据、或者生成动态数据、或者图片压缩转换等操作,假设该耗时操作在服务器延迟2秒(s);其它请求都只是请求静态数据从而服务器可以不必进行延迟操作而直接准备好响应数据。按照现有HTTP流水线技术,在服务器的发送队列中需要按照接收到请求的顺序依次返回(即向客户端发送)对应的响应数据,也就是说先发送请求I的响应数据(假设此处服务器返回响应所用的时间都为I秒),之后再发送请求2的响应数据(所用时间也是I秒),之后再发送请求3的响应数据(所用时间也是I秒)。最终,这3个请求从到达服务器后到服务器发送完毕对应的所有响应数据,总体耗时为5秒,其中有2秒的延迟被服务器浪费掉了,因此,现有技术在互联网的通信传输过程中的总体下行传输延迟较长,总体下行传输速率比较慢。
技术实现思路
有鉴于此,本专利技术的主要目的在于提供一种网络数据通信方法、系统及客户端和服务器,以降低网络的下行传输延迟,提升下行传输速率。本专利技术的技术方案是这样实现的:一种网络数据通信方法,包括:客户端与服务器建立通信连接;客户端向服务器发送请求,所述请求中包括该请求的唯一性标识;服务器收到请求后,准备该请求对应的响应数据,该响应数据中包括该请求的唯一性标识,在准备好响应数据后立即向发起请求的客户端返回该响应数据;所述客户端收到响应数据后,根据该响应数据中所包括的所述唯一性标识来匹配对应的请求,将该响应数据作为匹配到的请求的响应数据进行处理。一种网络数据通信系统,包括客户端和服务器,其中:所述客户端用于:与所述服务器建立通信连接,基于该通信连接向所述服务器发送请求和接收所述服务器的响应数据;所述请求中包括该请求的唯一性标识;在收到响应数据后根据该响应数据中所包括的唯一性标识来匹配对应的请求,将该响应数据作为匹配到的请求的响应数据进行处理;所述服务器用于:与所述客户端建立通信连接,基于该通信连接接收所述客户端的请求并返回响应数据;在收到所述客户端的请求后准备该请求对应的响应数据,该响应数据中包括该请求的唯一性标识,在准备好响应数据后立即向发起请求的客户端返回该响应数据。一种网络数据通信客户端,包括:通信连接建立模块,用于与服务器建立通信连接;请求发送模块,用于基于所述通信连接向所述服务器发送请求,所述请求中包括该请求的唯一丨I生标识;响应接收模块,用于基于所述通信连接接收所述服务器的响应数据;在收到响应数据后根据该响应数据中所包括的唯一性标识来匹配对应的请求,将该响应数据作为匹配到的请求的响应数据进行处理。一种网络数据通信服务器,包括:通信连接建立模块,用于与所述客户端建立通信连接;请求接收模块,用于基于所述通信连接接收所述客户端的请求,并准备该请求对应的响应数据,该响应数据中包括该请求的唯一性标识,在准备好响应数据后立即交给所述响应发送模块;响应发送模块,用于向发起请求的客户端返回响应数据。与现有技术相比,本专利技术客户端发送给服务器的请求中包括唯一性ID,在服务器在收到客户端的请求后,不必按照接收请求的顺序返回响应数据,而是只要准备好一个响应数据就及时返回,客户端根据响应数据中的唯一性ID来匹配对应的请求,从而避免了由于对个别请求处理的耗时操作所导致的下行传输延迟,可以降低网络总体的下行传输延迟,提升网络总体的下行传输速率。【附图说明】图1为现有HTTP流水线技术的服务器处理请求及发送响应数据的时序图;图2为本专利技术所述网络数据通信方法的一种流程图;图3为本专利技术所述方法的一种具体实施例的交互流程图;图4为本专利技术所述的服务器处理请求及发送响应数据的时序图;图5为本专利技术所述的网络数据通信系统的一种实施例的组成示意图;图6为本专利技术所述的网络数据通信系统的又一种实施例的组成示意图。【具体实施方式】下面结合附图及具体实施例对本专利技术再作进一步详细的说明。图2为本专利技术所述网络数据通信方法的一种流程图。参见图2,本专利技术的方法主要包括:201、客户端与服务器建立通信连接;202、客户端向服务器发送请求,所述请求中包括该请求的唯一性标识;203、服务器收到请求后,准备该请求对应的响应数据,该响应数据中包括该请求的唯一性标识,在准备好响应数据后立即向发起请求的客户端返回该响应数据;204、所述客户端收到响应数据后,根据该响应数据中所包括的请求的唯一性标识来匹配对应的请求,将该响应数据作为匹配到的请求的响应数据进行处理。由于网络数据通信采用分层通信的机制,在一种具体实施例中,本专利技术所述的通信连接为网络数据通信中的传输层协议连接,所述请求和响应数据为基于该传输层协议连接的应用层通信协议的请求和响应数据。至于网络层、数据链路层、物理层等下层通信方式可以采用业界公知的技术方案,本文不再赘述。更为具体的,所述传输层协议连接可以为传输控制协议(TCP)连接,所述应用层通信协议可以为超文本传送协议(HTTP)。下面以基于TC本文档来自技高网
...

【技术保护点】
一种网络数据通信方法,其特征在于,包括:客户端与服务器建立通信连接;客户端向服务器发送请求,所述请求中包括该请求的唯一性标识;服务器收到请求后,准备该请求对应的响应数据,该响应数据中包括该请求的唯一性标识,在准备好响应数据后立即向发起请求的客户端返回该响应数据;所述客户端收到响应数据后,根据该响应数据中所包括的所述唯一性标识来匹配对应的请求,将该响应数据作为匹配到的请求的响应数据进行处理。

【技术特征摘要】
1.一种网络数据通信方法,其特征在于,包括: 客户端与服务器建立通信连接; 客户端向服务器发送请求,所述请求中包括该请求的唯一性标识; 服务器收到请求后,准备该请求对应的响应数据,该响应数据中包括该请求的唯一性标识,在准备好响应数据后立即向发起请求的客户端返回该响应数据; 所述客户端收到响应数据后,根据该响应数据中所包括的所述唯一性标识来匹配对应的请求,将该响应数据作为匹配到的请求的响应数据进行处理。2.根据权利要求1所述的方法,其特征在于,该方法进一步包括:在客户端与服务器建立通信连接后,若发生异常导致断开所述通信连接,则所述客户端确定当前没有收到响应数据的请求,并与服务器重新建立通信连接,并且只向服务器重新发送所述没有收到响应数据的请求。3.根据权利要求1所述的方法,其特征在于,所述通信连接为网络数据通信中的传输层协议连接,所述请求和响应数据为基于该传输层协议连接的应用层通信协议的请求和响应数据。4.根据权利要求3所述的方法,其特征在于,所述传输层协议连接为传输控制协议TCP连接,所述应用层通信协议为超文本传送协议HTTP。5.根据权利要求1所述的方法,其特征在于,所述客户端为安装在移动终端的客户端,所述客户端与服务器之间通过无线通信方式进行通信。6.根据权利要求1所述的方法,其特征在于,所述在准备好响应数据后立即向发起请求的客户端返回响应数据,具 体为:在准备好响应数据后,将响应数据传给服务器的发送队列,按照响应数据在该发送队列中的顺序依次向发起请求的客户端返回响应数据。7.—种网络数据通信系统,其特征在于,包括客户端和服务器,其中: 所述客户端用于:与所述服务器建立通信连接,基于该通信连接向所述服务器发送请求和接收所述服务器的响应数据;所述请求中包括该请求的唯一性标识;在收到响应数据后根据该响应数据中所包括的唯一性标识来匹配对应的请求,将该响应数据作为匹配到的请求的响应数据进行处理; 所述服务器用于:与所述客户端建立通信连接,基于该通信连接接收所述客户端的请求并返回响应数据;在收到所述...

【专利技术属性】
技术研发人员:孔利沈锦龙舒玉强饶孟良郭辛华
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:

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

1