CN102917076A - 基于冗余编码的http报文传输、发送和接收方法 - Google Patents

基于冗余编码的http报文传输、发送和接收方法 Download PDF

Info

Publication number
CN102917076A
CN102917076A CN2012104654994A CN201210465499A CN102917076A CN 102917076 A CN102917076 A CN 102917076A CN 2012104654994 A CN2012104654994 A CN 2012104654994A CN 201210465499 A CN201210465499 A CN 201210465499A CN 102917076 A CN102917076 A CN 102917076A
Authority
CN
China
Prior art keywords
http
message
burst
udp
redundancy encoding
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.)
Granted
Application number
CN2012104654994A
Other languages
English (en)
Other versions
CN102917076B (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.)
Wangsu Science and Technology Co Ltd
Original Assignee
Wangsu Science and Technology 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 Wangsu Science and Technology Co Ltd filed Critical Wangsu Science and Technology Co Ltd
Priority to CN201210465499.4A priority Critical patent/CN102917076B/zh
Publication of CN102917076A publication Critical patent/CN102917076A/zh
Application granted granted Critical
Publication of CN102917076B publication Critical patent/CN102917076B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Computer And Data Communications (AREA)
  • Communication Control (AREA)

Abstract

本发明公开了基于冗余编码的HTTP报文传输、发送和接收方法,使CDN网络中传输HTTP报文时避免TCP协议在三次握手和超时重传的时间开销,减少HTTP报文的传输时间。其技术方案为:客户端通过UDP协议,以冗余编码的方式发送HTTP请求报文并同时启动定时器,若超过定时器所设的时限值之后未收到来自服务器的HTTP响应或者收到不完整的HTTP响应报文,则使用TCP协议再次发送HTTP请求报文;服务器若通过UDP协议接收到来自客户端的以UDP协议发送的HTTP请求报文,则通过UDP协议并以冗余编码的方式发送HTTP响应,服务器若收到TCP协议发送的HTTP请求,则使用TCP协议发送HTTP响应。

Description

基于冗余编码的HTTP报文传输、发送和接收方法
技术领域
本发明涉及一种HTTP报文传输技术,尤其涉及内容分发网络(CDN网络)的HTTP报文传输技术。
背景技术
超文本传输协议(HTTP)是互联网上应用最为广泛的一种网络协议,通过HTTP协议传输的WWW文件对内容的正确性有严格要求,因此要求可靠传输,而HTTP协议本身没有规定实现可靠传输的机制,因此依赖于TCP协议的可靠传输机制。
TCP协议是一种可靠的面向连接的传输层协议,它通过以下方式来提供HTTP报文传输的可靠性:
1.发送端把HTTP报文分割为数据块,并给每一个数据块编号,作为报文发送。
2.发送端每发出一个报文后就为它启动一个定时器,等待目的端确认收到这个报文。目的端收到一个报文时,它将发送一个确认。
3.如果不能按时收到确认,它就重发这个报文。否则继续发送后续报文。
TCP协议可以保证HTTP报文传输的正确性,但同时也带来一些问题。HTTP协议通常用于在网站服务器和用户使用的浏览器之间传输WWW文件,HTTP请求的响应时间将对用户体验有重要影响,传输时间越长,用户体验越差。特别对于内容分发网络而言,HTTP请求的响应时间是内容分发网络服务质量的重要评价指标之一。TCP协议可能会延长HTTP报文的传输时间:
(1)TCP协议使用三次握手建立连接,会有一定的网络开销,对于越小的HTTP消息(比如302和304响应等)影响越大;
(2)如果发送的报文丢失或出错,发送方需要等到定时器超时后才会重新发送出错的报文,会延长HTTP报文的传输时间。
发明内容
本发明的目的在于解决上述问题,提供了一种基于冗余编码的HTTP报文传输方法,使得在内容分发网络中传输HTTP报文时避免TCP协议在三次握手和超时重传的时间开销,减少HTTP报文在CDN网络中的传输时间。
本发明还提供了一种基于冗余编码的HTTP报文发送方法和基于冗余编码的HTTP报文发送方法的接收方法。
本发明的技术方案为:本发明揭示了一种基于冗余编码的HTTP报文传输方法,包括客户端发送HTTP请求报文的流程和服务器接收HTTP请求并发送响应的流程,其中:
客户端通过UDP协议,以冗余编码的方式发送HTTP请求报文并同时启动定时器,若超过定时器所设的时限值之后未收到来自服务器的HTTP响应或者收到不完整的HTTP响应报文,则使用TCP协议再次发送HTTP请求报文;
服务器若通过UDP协议接收到来自客户端的以UDP协议发送的HTTP请求报文,则通过UDP协议并以冗余编码的方式发送HTTP响应,服务器若收到TCP协议发送的HTTP请求,则使用TCP协议发送HTTP响应。
根据本发明的基于冗余编码的HTTP报文传输方法的一实施例,客户端通过UDP协议,以冗余编码的方式发送HTTP请求报文的过程进一步包括:
客户端对将要发送的HTTP请求报文进行分片,其中每个分片长度小于UDP负荷的最大长度以使每个分片能够在一个UDP报文中发送;
客户端对每一HTTP请求报文的所有分片进行冗余编码,并对获得的冗余数据进行分片,每个分片长度小于UDP负荷的最大长度;
客户端发送HTTP请求报文分片和冗余数据分片。
根据本发明的基于冗余编码的HTTP报文传输方法的一实施例,服务器通过UDP协议并以冗余编码的方式发送HTTP响应的过程进一步包括:
服务器对将要发送的HTTP响应进行分片,其中每个分片长度小于UDP负荷的最大长度以使每个分片能够在一个UDP报文中发送;
服务器对每一HTTP响应的所有分片进行冗余编码,并对获得的冗余数据进行分片,每个分片长度小于UDP负荷的最大长度;
服务器发送HTTP响应的分片和冗余数据分片。
根据本发明的基于冗余编码的HTTP报文传输方法的一实施例,以流水线方式处理HTTP请求报文分片/HTTP响应分片和冗余数据分片。
根据本发明的基于冗余编码的HTTP报文传输方法的一实施例,服务器通过UDP协议接收来自客户端的以UDP协议发送的HTTP请求报文的过程进一步包括:
服务器接收分片,若接收到所有的HTTP请求报文分片,则停止接收数据,并将这些所有的HTTP请求报文分片组装成HTTP报文,若接收的数据中丢失了若干个分片,则判断是否能够使用收到的其他HTTP报文分片和冗余数据分片计算出丢失的分片数据,若能则计算丢失数据并组装成HTTP报文,若不能则等待客户端使用TCP协议重新发送的请求。
本发明还揭示了一种基于冗余编码的HTTP报文发送方法,包括:
发送方对将要发送的HTTP报文进行分片,其中每个分片长度小于UDP负荷的最大长度以使每个分片能够在一个UDP报文中发送;
发送方对每一HTTP报文的所有分片进行冗余编码,并对获得的冗余数据进行分片,每个分片长度小于UDP负荷的最大长度;
发送方发送HTTP报文分片和冗余数据分片。
根据本发明的基于冗余编码的HTTP报文发送方法的一实施例,发送方以流水线方式处理HTTP报文分片,即在分片和计算冗余编码的同时进行发送。
本发明还揭示了一种基于冗余编码的HTTP报文接收方法,包括:
接收方接收HTTP报文分片;
若接收到所有的HTTP报文分片,则停止接收数据,并将这些所有的HTTP报文分片组装成HTTP报文;
若接收的数据中丢失了若干个分片,则判断是否能够使用收到的其他HTTP报文分片和冗余数据分片计算出丢失的分片数据;
若能则计算丢失数据并组装成HTTP报文,若不能则等待发送方使用TCP协议重新发送请求。
本发明对比现有技术有如下的有益效果:本发明的方案是使用UDP协议和冗余编码技术在CDN网络的内部节点之间传输HTTP报文,相比于传统技术,本发明的方案使得在CDN网络传输HTTP报文时避免TCP协议在三次握手和超时重传的时间开销,减少HTTP报文在CDN网络中的传输时间。
附图说明
图1是传统的通过TCP协议进行HTTP报文传输的流程图。
图2示出了本发明的客户端发送HTTP请求报文的流程图。
图3示出了本发明的服务器接收HTTP请求并响应的流程图。
图4示出了本发明的使用UDP协议发送HTTP报文的流程图。
图5示出了本发明的使用UDP协议接收HTTP报文的流程图。
具体实施方式
下面结合附图和实施例对本发明作进一步的描述。
本发明的基于冗余编码的HTTP报文传输方法的实施例包括图2所示的客户端发送HTTP请求报文的流程和图3所示的服务器接收HTTP请求并发送响应的流程。
请参考图2,以下是客户端发送HTTP请求报文的各个步骤的详细描述。
步骤S10:客户端通过UDP协议,以冗余编码的方式发送HTTP请求报文,并同时启动定时器。
客户端使用UDP协议发送HTTP请求报文的具体过程请参考图4的描述。客户端可以以流水线方式处理HTTP请求报文分片和冗余数据分片。
步骤S11:判断是否在定时器设定的时限值内接收到响应,即响应是否超时。若超时则进入步骤S12处理,否则进入步骤S13处理。
步骤S12:客户端使用TCP协议重新发送HTTP请求报文,然后进入步骤S15处理。
步骤S13:客户端接收来自服务器的以UDP协议传输的HTTP响应。
客户端使用UDP协议接收HTTP响应的过程请参考图5的描述。
步骤S14:检查接收到的HTTP响应是否完整,若不完整则进入步骤S12处理,若完整则进入步骤S16处理。
步骤S15:客户端接收来自服务器的以TCP协议传输的HTTP响应,然后进入步骤S16处理。
步骤S16:客户端处理来自服务器的HTTP响应。
请参考图3,以下是服务器接收HTTP请求并发送响应的各个步骤的详细描述。
步骤S20:服务器同时监听TCP端口和UDP端口。
步骤S21:判断监听到的数据的连接类型,若为TCP协议的连接则进入步骤S22处理,若为UDP协议的连接则进入步骤S24。
步骤S22:服务器接收来自客户端的以TCP协议传输的HTTP请求。
步骤S23:服务器使用TCP协议发送HTTP响应。
步骤S24:服务器以UDP协议接收来自客户端的通过UDP发送的HTTP请求。
服务器使用UDP协议接收HTTP请求的过程请参考图5所示。
步骤S25:检查接收到的HTTP请求是否完整,若不完整则进入步骤S26处理,若完整则进入步骤S27处理。
步骤S26:服务器丢弃HTTP请求,不进行响应。
步骤S27:服务器使用UDP协议发送HTTP响应。
服务器使用UDP协议发送HTTP响应的过程请参考图4的描述。服务器可以以流水线方式处理HTTP响应分片和冗余数据分片。
图4示出了本发明的使用UDP协议发送HTTP报文的流程。请参考图4,以下是对发送方发送HTTP报文的各个步骤的详细描述。
步骤S30:发送方获取HTTP报文。
这里的HTTP报文可以是图2中的由客户端发送的HTTP请求,也可以是图3中的由源服务器发送的HTTP响应。
步骤S31:发送方将HTTP报文进行分片。
其中每个分片的长度小于UDP负荷的最大长度,保证每一分片在一个UDP报文中发送。
步骤S32:发送方根据HTTP报文分片计算冗余编码数据,并把冗余编码数据进行分片。
步骤S33:发送方发送HTTP报文分片和冗余编码数据分片。
较佳的,发送方以流水线方式处理HTTP报文分片,即在分片和计算冗余编码的同时进行发送。
图5示出了本发明的基于冗余编码的HTTP报文接收方法的流程。请参考图5,以下是对接收方接收HTTP报文的各个步骤的详细描述。
步骤S40:接收方接收HTTP报文分片并启动定时器。
步骤S41:判断等待是否超时,若超时则进入步骤S46处理,若不超时则进入步骤S42处理。
步骤S42:检查是否接收到了完整的HTTP报文分片,若接收到了完整的HTTP报文分片则进入步骤S45处理,否则进入步骤S43和S40进行处理。
步骤S43:判断是否能够根据现有的数据(即接收到的其他HTTP报文分片和冗余数据分片)恢复丢失的数据。若可以则进入步骤S44处理,否则返回步骤S40处理。
步骤S44:使用收到的其他HTTP报文分片和冗余数据分片计算出丢失的分片数据。
步骤S45:根据完整的HTTP报文分片组装成HTTP报文。
步骤S46:相应的处理是指,如果接收到的是HTTP请求则直接丢弃请求(针对服务器接收而言),如果接收到的是HTTP响应则使用TCP协议重新发送HTTP请求(针对客户端发送而言)。
上述实施例是提供给本领域普通技术人员来实现和使用本发明的,本领域普通技术人员可在不脱离本发明的发明思想的情况下,对上述实施例做出种种修改或变化,因而本发明的保护范围并不被上述实施例所限,而应该是符合权利要求书所提到的创新性特征的最大范围。

Claims (8)

1.一种基于冗余编码的HTTP报文传输方法,包括客户端发送HTTP请求报文的流程和服务器接收HTTP请求并发送响应的流程,其中:
客户端通过UDP协议,以冗余编码的方式发送HTTP请求报文并同时启动定时器,若超过定时器所设的时限值之后未收到来自服务器的HTTP响应或者收到不完整的HTTP响应报文,则使用TCP协议再次发送HTTP请求报文;
服务器若通过UDP协议接收到来自客户端的以UDP协议发送的HTTP请求报文,则通过UDP协议并以冗余编码的方式发送HTTP响应,服务器若收到TCP协议发送的HTTP请求,则使用TCP协议发送HTTP响应。
2.根据权利要求1所述的基于冗余编码的HTTP报文传输方法,其特征在于,客户端通过UDP协议,以冗余编码的方式发送HTTP请求报文的过程进一步包括:
客户端对将要发送的HTTP请求报文进行分片,其中每个分片长度小于UDP负荷的最大长度以使每个分片能够在一个UDP报文中发送;
客户端对每一HTTP请求报文的所有分片进行冗余编码,并对获得的冗余数据进行分片,每个分片长度小于UDP负荷的最大长度;
客户端发送HTTP请求报文分片和冗余数据分片。
3.根据权利要求1所述的基于冗余编码的HTTP报文传输方法,其特征在于,服务器通过UDP协议并以冗余编码的方式发送HTTP响应的过程进一步包括:
服务器对将要发送的HTTP响应进行分片,其中每个分片长度小于UDP负荷的最大长度以使每个分片能够在一个UDP报文中发送;
服务器对每一HTTP响应的所有分片进行冗余编码,并对获得的冗余数据进行分片,每个分片长度小于UDP负荷的最大长度;
服务器发送HTTP响应的分片和冗余数据分片。
4.根据权利要求2或3所述的基于冗余编码的HTTP报文传输方法,其特征在于,以流水线方式处理HTTP请求报文分片/HTTP响应分片和冗余数据分片。
5.根据权利要求1所述的基于冗余编码的HTTP报文传输方法,其特征在于,服务器通过UDP协议接收来自客户端的以UDP协议发送的HTTP请求报文的过程进一步包括:
服务器接收分片,若接收到所有的HTTP请求报文分片,则停止接收数据,并将这些所有的HTTP请求报文分片组装成HTTP报文,若接收的数据中丢失了若干个分片,则判断是否能够使用收到的其他HTTP报文分片和冗余数据分片计算出丢失的分片数据,若能则计算丢失数据并组装成HTTP报文,若不能则等待客户端使用TCP协议重新发送的请求。
6.一种基于冗余编码的HTTP报文发送方法,包括:
发送方对将要发送的HTTP报文进行分片,其中每个分片长度小于UDP负荷的最大长度以使每个分片能够在一个UDP报文中发送;
发送方对每一HTTP报文的所有分片进行冗余编码,并对获得的冗余数据进行分片,每个分片长度小于UDP负荷的最大长度;
发送方发送HTTP报文分片和冗余数据分片。
7.根据权利要求6所述的基于冗余编码的HTTP报文发送方法,其特征在于,发送方以流水线方式处理HTTP报文分片,即在分片和计算冗余编码的同时进行发送。
8.一种基于冗余编码的HTTP报文接收方法,包括:
接收方接收HTTP报文分片;
若接收到所有的HTTP报文分片,则停止接收数据,并将这些所有的HTTP报文分片组装成HTTP报文;
若接收的数据中丢失了若干个分片,则判断是否能够使用收到的其他HTTP报文分片和冗余数据分片计算出丢失的分片数据;
若能则计算丢失数据并组装成HTTP报文,若不能则等待发送方使用TCP协议重新发送请求。
CN201210465499.4A 2012-11-16 2012-11-16 基于冗余编码的http报文传输方法 Active CN102917076B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210465499.4A CN102917076B (zh) 2012-11-16 2012-11-16 基于冗余编码的http报文传输方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210465499.4A CN102917076B (zh) 2012-11-16 2012-11-16 基于冗余编码的http报文传输方法

Publications (2)

Publication Number Publication Date
CN102917076A true CN102917076A (zh) 2013-02-06
CN102917076B CN102917076B (zh) 2016-04-13

Family

ID=47615306

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210465499.4A Active CN102917076B (zh) 2012-11-16 2012-11-16 基于冗余编码的http报文传输方法

Country Status (1)

Country Link
CN (1) CN102917076B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103118139A (zh) * 2013-03-05 2013-05-22 中国科学技术大学苏州研究院 分布式信息隐藏传输系统及其传输方法
CN106357829A (zh) * 2016-11-24 2017-01-25 北京友道互联电子商务有限公司 一种基于http的信息过滤叠加方法及装置
CN107809302A (zh) * 2017-08-23 2018-03-16 银江股份有限公司 一种不可靠链路下的文件元数据冗余传输、接收方法及系统
CN108781232A (zh) * 2015-12-03 2018-11-09 微软技术许可有限责任公司 通话信令期间的协议回退
CN114465694A (zh) * 2022-01-07 2022-05-10 锐捷网络股份有限公司 报文传输方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101102312A (zh) * 2007-06-11 2008-01-09 华为技术有限公司 一种网络通信数据处理方法、网络通信系统及客户端
CN101588220A (zh) * 2008-05-22 2009-11-25 展讯通信(上海)有限公司 一种跨协议层误码处理方法和装置
CN102143204A (zh) * 2010-11-26 2011-08-03 华为技术有限公司 一种内容分发网络中实现超文本传输协议重定向的方法、装置及系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101102312A (zh) * 2007-06-11 2008-01-09 华为技术有限公司 一种网络通信数据处理方法、网络通信系统及客户端
CN101588220A (zh) * 2008-05-22 2009-11-25 展讯通信(上海)有限公司 一种跨协议层误码处理方法和装置
CN102143204A (zh) * 2010-11-26 2011-08-03 华为技术有限公司 一种内容分发网络中实现超文本传输协议重定向的方法、装置及系统

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103118139A (zh) * 2013-03-05 2013-05-22 中国科学技术大学苏州研究院 分布式信息隐藏传输系统及其传输方法
CN103118139B (zh) * 2013-03-05 2016-03-30 中国科学技术大学苏州研究院 分布式信息隐藏传输系统及其传输方法
CN108781232A (zh) * 2015-12-03 2018-11-09 微软技术许可有限责任公司 通话信令期间的协议回退
CN106357829A (zh) * 2016-11-24 2017-01-25 北京友道互联电子商务有限公司 一种基于http的信息过滤叠加方法及装置
CN106357829B (zh) * 2016-11-24 2019-09-06 北京友道互联电子商务有限公司 一种基于http的信息过滤叠加方法及装置
CN107809302A (zh) * 2017-08-23 2018-03-16 银江股份有限公司 一种不可靠链路下的文件元数据冗余传输、接收方法及系统
CN107809302B (zh) * 2017-08-23 2020-12-15 银江股份有限公司 一种不可靠链路下的文件元数据冗余传输、接收方法及系统
CN114465694A (zh) * 2022-01-07 2022-05-10 锐捷网络股份有限公司 报文传输方法及装置
CN114465694B (zh) * 2022-01-07 2024-02-23 锐捷网络股份有限公司 报文传输方法及装置

Also Published As

Publication number Publication date
CN102917076B (zh) 2016-04-13

Similar Documents

Publication Publication Date Title
US8965961B1 (en) System and method of reducing latency using adaptive retransmission timeouts
US7920477B2 (en) Network layer error control systems and methods
CN102917076B (zh) 基于冗余编码的http报文传输方法
JP2016213811A (ja) インタラクティブなリアルタイムメディアの転送プロトコル
US20100180037A1 (en) Method and apparatus for optimizing and prioritizing the creation of a large number of VPN tunnels
WO2008112779A3 (en) Systems and methods for dynamic bandwidth control by proxy
KR20060099393A (ko) 요청-응답 전송을 사용하여, 요청 메시지들을 신뢰성있게송신하고, 응답 메시지들을 신뢰성있게 수신하기 위한 방법및 컴퓨터 프로그램 제품
CN103686446B (zh) 视频数据传输的丢包重传方法和系统
WO2008063344A3 (en) Methods and apparatus for delivering control messages during a malicious attack in one or more packet networks
US20180130131A1 (en) System and Method for Controlling Execution of Transactions
EP4243511A3 (en) Standby control method and terminal device and relay device
US20110280247A1 (en) System and method for reducing latency via multiple network connections
US9049015B2 (en) Allowing TCP ACK to pass a gateway while queuing data for parsing
CN102761403B (zh) 探测tcp丢包的方法、装置及tcp协议栈的探测端
CN102769520A (zh) 基于sctp协议的无线网络拥塞控制方法
CN108234089B (zh) 用于低时延通信的方法和系统
CN113824540B (zh) 组播重传方法、装置、服务器以及存储介质
US9231873B1 (en) System and method for reducing latency via client side dynamic acknowledgements
JP2016537884A5 (zh)
US7535916B2 (en) Method for sharing a transport connection across a multi-processor platform with limited inter-processor communications
US8762449B2 (en) Method of downloading large size data to a large number of networked client machines from a single server
EP3417585B1 (en) Terminal and communication method thereof
KR20100025066A (ko) 무선 네트워크에서의 유디피를 이용한 데이터 전송 시스템및 그 방법
CN107070970B (zh) 一种传输控制协议tcp连接的关闭方法及装置
CN102201903A (zh) 一种简单可靠的远程文件传输方法

Legal Events

Date Code Title Description
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