CN108259586A - 一种文件加速传输方法 - Google Patents

一种文件加速传输方法 Download PDF

Info

Publication number
CN108259586A
CN108259586A CN201810012913.3A CN201810012913A CN108259586A CN 108259586 A CN108259586 A CN 108259586A CN 201810012913 A CN201810012913 A CN 201810012913A CN 108259586 A CN108259586 A CN 108259586A
Authority
CN
China
Prior art keywords
transmitter
data block
data
receiver
transmission
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.)
Pending
Application number
CN201810012913.3A
Other languages
English (en)
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.)
Shenzhen Ling Technology Technology Co Ltd
Original Assignee
Shenzhen Ling Technology 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 Shenzhen Ling Technology Technology Co Ltd filed Critical Shenzhen Ling Technology Technology Co Ltd
Priority to CN201810012913.3A priority Critical patent/CN108259586A/zh
Publication of CN108259586A publication Critical patent/CN108259586A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/1607Details of the supervisory signal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1829Arrangements specially adapted for the receiver end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1829Arrangements specially adapted for the receiver end
    • H04L1/1848Time-out mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Communication Control (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

本发明公开了一种文件加速传输方法,发送器探测MTU,计算最大传输单元,在保证传输性能基础上减少丢包;发送器与接收器建立虚拟链接,以链接标号标识,使得后续传输过程可鉴别并提高可靠性;发送器按预设速度发送数据,不同步等待接收器应答,传输速度不受延迟影响,提高传输速度;接收器批量应答丢包序列,提高重传效率。

Description

一种文件加速传输方法
技术领域
本发明涉及文件传输技术领域,尤指一种文件加速传输方法。
背景技术
文件传输工具或发放是基于TCP(Transmission Control Protocol)协议或者UDP(User Datagram Protocol)协议模拟TCP的滑动窗口机制实现的。
该实现机制受延迟、丢包的环境因素影响较大,在延迟或丢包网络环境下,类似方法无法充分利用带宽,导致传输速度低且带宽资源利用率低。
发明内容
为解决上述问题,本发明提供一种文件加速传输方法,实现延迟、丢包网络环境下的文件传输,提高传输效率同时保证可靠性。
为实现上述目的,本发明采用的技术方案是:提供一种文件加速传输方法,包括以下步骤:
S1.发送器探测链路MTU;发送器构造设定字节大小的数据包,设置I P层不分片标志,发送探测包给接收器;
S2.发送器发起传输请求;发送器发起创建链接请求,接收器返回链接标号,与接收器建立虚拟链接;
S3.数据传输;发送器计算下一个待发送数据块的编号,并发送该数据块,若没有可发送数据块,跳至步骤S4;若有可发送数据块,接收器接收数据,并返回丢包应答,发送器接收应答,调整RTT;
S4.发送器发起完整性检查请求;若文件接收完整,跳至步骤S5;若文件接收不完整,把丢包信息放入重发队列,跳至步骤S3;
S5.发送器发起传输结束请求;断开虚拟连接。
具体地,步骤S1中,若数据包发送错误或超时,数据包减少设定字节重试,若成功应答,数据包增加设定字节重试,直到找到MTU值。
具体地,步骤S3中,数据块编号从重发队列或未发队列获取。
具体地,步骤S3中,发送器发送数据块包括以下步骤:
S311.发送器从重发队列取出下一个重发数据块的编号;
S312.若重发数据块的编号不存在,跳至步骤S313;若重发数据块的编号数据块存在,且编号的数据块的最近一次发送时间与当前时间的差值为K,当前预设时间段的最大RTT值为M,若K大于M,跳至步骤S314,重发该编号的数据块,若K小于等于M,丢该编号的数据块,跳至步骤S311;
S313.发送器从未发送队列取出下一个重发数据块的编号,若队列为空,跳至步骤S4;
S314.发送器发送前一步骤所指定编号的数据块。
具体地,步骤S3中,接收器接收数据块包括以下步骤:
S321.发送器接收到应答,获取丢包数据块的编号以及接收数据块的编号,对丢包序列做差值、变长压缩;
S322.发送器将接收到的丢包数据块的编号放入重发队列,S311步骤会从重发队列获取重发编号;
S323.计算接收数据块的编号的往返时间,RTT’=当前时间CT-发送时间ST,与预设时间段30秒内的最大RTT比较,RTT=MAX(RTT,RTT’)。
本发明的有益效果在于:
发送器探测MTU,计算最大传输单元,在保证传输性能基础上减少丢包;发送器与接收器建立虚拟链接,以链接标号标识,使得后续传输过程可鉴别并提高可靠性;发送器按预设速度发送数据,不同步等待接收器应答,传输速度不受延迟影响,提高传输速度;接收器批量应答丢包序列,提高重传效率。
附图说明
图1是本发明的整体流程图;
图2是本发明发送器装置图。
具体实施方式
下面结合具体实施例和说明书附图对本发明予以详细说明。
实施例一
如图1所示,本实施例提供了文件传输的主要流程,该流程包括:
101:发送器探测链路MTU(Maximum Transmission Unit);
例如:发送器构造1472字节大小数据包,设置IP层不分片标志,发送探测包给接收器。若发送错误,数据包减少100字节重试,若超过预设时间10s未返回应答,重发该请求。若有成功应答,数据包增加100字节重试,直到找到最优MTU值。
102:发送器发起传输请求;
例如:发送器发起创建链接请求,接收器返回新分配的链接标号1000,发送器的后续操作已1000做为连接标号;若某些原因导致接收器判断连接标号1000位不合法,或发送器发送错误的连接标号,接收器将丢弃发送器请求,并返回RST(复位)应答。
103:数据传输阶段;该阶段包括:
发送器发送数据块,
步骤a1:例如发送器从重发队列取出下一个重发数据块编号为12
步骤a2:若编号12的数据块不存在,跳转步骤a3,若编号12的数据块存在,且编号12的数据块的最近一次发送时间与当前时间的差值为K,当前预设时间段的最大RTT值为M,若K大于M,跳转步骤a4,重发编号12的数据块。若K小于等于M,丢弃编号12的数据块,回到步骤a1。
步骤a3:例如发送器从未发送队列取出下一个重发数据块编号为20。若队列为空,跳转流程104。
步骤a4:发送器发送前一步骤所指定编号的数据块。
该阶段还包括:接收器批量应答发送器(例如100ms一次),返回丢包序列等信息,发送器接收接收器的应答;
步骤b1:发送器接收到应答,丢包序列为5,7编号数据块。当前接收数据块编号为10。当前空缺数据块个数为2。其中,对丢包序列做差值、变长压缩。
步骤b2:发送器将接收到的丢包序列5,7放入重发队列。a1步骤会从重发队列获取重发编号。
步骤b3:计算编号为10的数据块的往返时间,RTT’=当前时间CT-发送时间ST。与预设时间段30秒内的最大RTT比较,RTT=MAX(RTT,RTT’)。
104:发送器发起完整性检查请求
例如:发送器请求接收器,检查文件完整性。接收器返回缺失数据块编号1,5。
跳转103,重新进去数据传输阶段。直到接收器返回无缺失数据块,跳转105。
105:发送器发起传输结束请求
例如:发送器请求关闭链接标识为10的链接,接收器处理请求,清理标号10对应的链接信息,传输结束。若关闭后,接收器收到标号为10的连接请求,返回RST报文,复位链接。
其中,101,102,104,105步骤所述请求为控制类请求,发送器需要同步等待接收器返回应答。103步骤所述请求为数据类请求,发送器不需要同步等待接收器返回应答。103步骤应答信息由接收器异步批量应答。103步骤初始发送速度按预设最大值发送,后期根据丢包率调整,但不超过预设最大值。
本实施例提供了完整的传输流程,101探测MTU,计算最大传输单元,在保证传输性能基础上减少丢包。102建立链接,确保后续发送器请求可鉴别,防止垃圾报文,提高可靠性。103发送器始终按最优速度发送,不关心实时数据块到达情况,接收器也不实时反馈数据块到达编号,而是批量反馈未到达编号序列,降低延迟影响,提高重发效率。104完整性检查,确保传输完整性。105关闭虚拟连接,若后续延迟数据包或错误数据包到达,接收器直接丢弃,并发送RST应答。
实施例二
本实施例提供了一种控制类请求的操作流程,该流程包括:
步骤c1:发送控制类请求
例如:发送器发送探测MTU请求,请求类型为REQ_MTU,控制序号为当前控制序号1000,并更新当前控制序号为1000增1(1001)。
步骤c2:处理控制类请求并返回应答
例如:接收器接收探测MTU请求,处理该请求,并返回应答,应答报文设置ACK标志位,并设置控制序号为1000增1,为1001。若发送器超时未收到接收器应答,将回到步骤c1,重试。
步骤c3:接收请求应答
例如:发送器接收探测MTU请求应答,判断是否设置ACK标志,若没有丢弃该应答,判断控制序号是否为当前控制序号(1001),若不符合丢弃该应答。
本实施例通过控制序号,确保UDP控制类请求的顺序可靠。
实施例三
本实施例提供了一种数据类请求的操作流程,该流程包括:
步骤d1:发送数据类请求;例如:发送器发送多个数据类请求,请求类型为REQ_DAT,无控制序号。
步骤d2:处理数据类请求并批量应答;例如:接收器接收数据类请求,处理该请求,并每隔100ms批量返回一次应答。
步骤d3:接收请求应答;例如:发送器接收数据类请求应答,获取应答信息。
本实施例通过异步批量应答,提高发送器的发送性能,降低延迟影响,提高重发效率。
实施例四
如图2所示,本实施例提供了一种发送器,该发送器包括:
触发器模块201和发送模块202和接收模块203;
触发器模块201,定时触发发送模块202发送数据块,和数据到达触发接收模块203接收应答。
例如:触发器模块201每100ms触发发送模块202,若处于数据传输阶段,发送模块202会发起实施例一中步骤102所述的传输请求。
例如:触发器模块201有数据到达触发接收模块203,该模块接收应答,并发起实施例一中步骤102所述接收流程。
本实施例发送模块按最优速度发送,不同步等待接收器应答,降低延迟影响,接收模块批量处理重发数据块,提高了重发效率。
以上实施方式仅仅是对本发明的优选实施方式进行描述,并非对本发明的范围进行限定,在不脱离本发明设计精神的前提下,本领域普通工程技术人员对本发明的技术方案作出的各种变形和改进,均应落入本发明的权利要求书确定的保护范围内。

Claims (5)

1.一种文件加速传输方法,其特征在于,包括以下步骤:
S1.发送器探测链路MTU;发送器构造设定字节大小的数据包,设置I P层不分片标志,发送探测包给接收器;
S2.发送器发起传输请求;发送器发起创建链接请求,接收器返回链接标号,与接收器建立虚拟链接;
S3.数据传输;发送器计算下一个待发送数据块的编号,并发送该数据块,若没有可发送数据块,跳至步骤S4;若有可发送数据块,接收器接收数据,并返回丢包应答,发送器接收应答,调整RTT;
S4.发送器发起完整性检查请求;若文件接收完整,跳至步骤S5;若文件接收不完整,把丢包信息放入重发队列,跳至步骤S3;
S5.发送器发起传输结束请求;断开虚拟连接。
2.根据权利要求1所述的一种文件加速传输方法,其特征在于,步骤S1中,若数据包发送错误或超时,数据包减少设定字节重试,若成功应答,数据包增加设定字节重试,直到找到MTU值。
3.根据权利要求1所述的一种文件加速传输方法,其特征在于,步骤S3中,数据块编号从重发队列或未发队列获取。
4.根据权利要求3所述的一种文件加速传输方法,其特征在于,步骤S3中,发送器发送数据块包括以下步骤:
S311.发送器从重发队列取出下一个重发数据块的编号;
S312.若重发数据块的编号不存在,跳至步骤S313;若重发数据块的编号数据块存在,且编号的数据块的最近一次发送时间与当前时间的差值为K,当前预设时间段的最大RTT值为M,若K大于M,跳至步骤S314,重发该编号的数据块,若K小于等于M,丢该编号的数据块,跳至步骤S311;
S313.发送器从未发送队列取出下一个重发数据块的编号,若队列为空,跳至步骤S4;
S314.发送器发送前一步骤所指定编号的数据块。
5.根据权利要求4所述的一种文件加速传输方法,其特征在于,步骤S3中,接收器接收数据块包括以下步骤:
S321.发送器接收到应答,获取丢包数据块的编号以及接收数据块的编号,对丢包序列做差值、变长压缩;
S322.发送器将接收到的丢包数据块的编号放入重发队列,S311步骤会从重发队列获取重发编号;
S323.计算接收数据块的编号的往返时间,RTT’=当前时间CT-发送时间ST,与预设时间段30秒内的最大RTT比较,RTT=MAX(RTT,RTT’)。
CN201810012913.3A 2018-01-06 2018-01-06 一种文件加速传输方法 Pending CN108259586A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810012913.3A CN108259586A (zh) 2018-01-06 2018-01-06 一种文件加速传输方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810012913.3A CN108259586A (zh) 2018-01-06 2018-01-06 一种文件加速传输方法

Publications (1)

Publication Number Publication Date
CN108259586A true CN108259586A (zh) 2018-07-06

Family

ID=62725799

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810012913.3A Pending CN108259586A (zh) 2018-01-06 2018-01-06 一种文件加速传输方法

Country Status (1)

Country Link
CN (1) CN108259586A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111092907A (zh) * 2019-12-30 2020-05-01 人和未来生物科技(长沙)有限公司 基于udp协议的数据流快速传输方法、系统及介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102571966A (zh) * 2012-01-16 2012-07-11 上海方正数字出版技术有限公司 一种大型xml文件的网络传输方法
US8422501B2 (en) * 2007-01-04 2013-04-16 International Business Machines Corporation Efficient path maximum transmission unit information discovery and storage
CN103152192A (zh) * 2011-12-07 2013-06-12 中国移动通信集团浙江有限公司 数据传输方法及网管系统
CN106209915A (zh) * 2016-08-31 2016-12-07 深圳聚点互动科技有限公司 一种实时流媒体无线传输方法及其系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8422501B2 (en) * 2007-01-04 2013-04-16 International Business Machines Corporation Efficient path maximum transmission unit information discovery and storage
CN103152192A (zh) * 2011-12-07 2013-06-12 中国移动通信集团浙江有限公司 数据传输方法及网管系统
CN102571966A (zh) * 2012-01-16 2012-07-11 上海方正数字出版技术有限公司 一种大型xml文件的网络传输方法
CN106209915A (zh) * 2016-08-31 2016-12-07 深圳聚点互动科技有限公司 一种实时流媒体无线传输方法及其系统

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111092907A (zh) * 2019-12-30 2020-05-01 人和未来生物科技(长沙)有限公司 基于udp协议的数据流快速传输方法、系统及介质
CN111092907B (zh) * 2019-12-30 2021-09-03 人和未来生物科技(长沙)有限公司 基于udp协议的数据流快速传输方法、系统及介质

Similar Documents

Publication Publication Date Title
US7600037B2 (en) Real time transmission of information content from a sender to a receiver over a network by sizing of a congestion window in a connectionless protocol
US7607062B2 (en) System for fast recovery from losses for reliable data communication protocols
US8824490B2 (en) Automatic detection and window virtualization for flow control
US7630305B2 (en) TCP selective acknowledgements for communicating delivered and missed data packets
US7616638B2 (en) Wavefront detection and disambiguation of acknowledgments
CN101854738B (zh) 一种用于卫星网络的传输控制协议方法
US20180323913A1 (en) Data transmission method and related device
EP1344359B1 (en) Method of enhancing the efficiency of data flow in communication systems
US20110029632A1 (en) Method for transporting data over a data connection and network component
CN101436978A (zh) 使用udp协议进行可靠数据传输的方法
US20060271680A1 (en) Method For Transmitting Window Probe Packets
CN106210924A (zh) 视频网络传输控制方法和系统
CN107743057A (zh) 一种数据传输系统和方法
CN108259586A (zh) 一种文件加速传输方法
Mehta et al. Delayed Duplicate-Acknowledgements: A Proposal to Improve Performance of TCP on Wireless Links
US9510242B2 (en) Reducing superfluous traffic in a network
CN101765004A (zh) 一种优化无线视频tcp传输的方法
Psaras et al. The TCP minimum RTO revisited
Caro et al. SCTP and TCP variants: Congestion control under multiple losses
AU4034299A (en) Overload control method for a packet-switched network
Hurtig et al. SCTP: designed for timely message delivery?
CN106100797B (zh) 一种基于ltp异步加速重传策略的深空文件传输方法
CN112511573B (zh) 一种udp数据包的传输控制方法
Lai DCCP: Transport protocol with congestion control and unreliability
Lee et al. Mean waiting delay for web object transfer in wireless SCTP environment

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20180706