CN102917076A - 基于冗余编码的http报文传输、发送和接收方法 - Google Patents
基于冗余编码的http报文传输、发送和接收方法 Download PDFInfo
- 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
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报文传输技术,尤其涉及内容分发网络(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协议重新发送请求。
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)
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)
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 | 华为技术有限公司 | 一种内容分发网络中实现超文本传输协议重定向的方法、装置及系统 |
-
2012
- 2012-11-16 CN CN201210465499.4A patent/CN102917076B/zh active Active
Patent Citations (3)
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)
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 |