CN111147197A - 一种数据传输方法及系统 - Google Patents
一种数据传输方法及系统 Download PDFInfo
- Publication number
- CN111147197A CN111147197A CN201911395176.0A CN201911395176A CN111147197A CN 111147197 A CN111147197 A CN 111147197A CN 201911395176 A CN201911395176 A CN 201911395176A CN 111147197 A CN111147197 A CN 111147197A
- Authority
- CN
- China
- Prior art keywords
- data packet
- data
- information
- determined
- loss rate
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements 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/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1829—Arrangements specially adapted for the receiver end
- H04L1/1858—Transmission or retransmission of more than one copy of acknowledgement message
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements 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/1607—Details of the supervisory signal
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Communication Control (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
Abstract
本发明公开了一种数据传输方法及系统,网络数据发送设备获取接收端返回的针对网络数据发送设备发送的数据包生成的接收状态信息,当接收状态信息包括NAK信息时,确定NAK信息对应的数据包,当在接收到NAK信息之后接收到的各个接收状态信息中,至少包含三个ACK信息时,将NAK信息对应的数据包作为待确定数据包进行重传,待确定数据包携带有数据包的重传标识,在重传待确定数据包时并不改变数据传输速率,而是维持当前数据传输速率不变,当判定接收端返回的基于待确定数据包生成的ACK信息携带有重传标识时,则确定首发数据包丢失,此时,进入减速发送数据包阶段。因此,本发明提高了网络的传输性能,有效避免了数据包的延迟到达。
Description
技术领域
本发明涉及通信技术领域,更具体的说,涉及一种数据传输方法及系统。
背景技术
在网络传输场景中,数据发送过程是:发送端将待发送数据进行切分操作得到数据包,为各个数据包添加序号,向接收端发送具有序号的数据包。接收端接收到某数据包后,向发送端返回ACK(Acknowledgement,确认字符)信息,确认消息中携带有该数据包的序号,以通知发送端其准确接收到了该数据包。
当网络性能不佳时,可能导致某些数据包延迟到达或者丢失。目前,当发送端未接收到接收端针对数据包反馈的ACK信息时,发送端就会认定数据包丢失,此时会重传数据包,同时减小拥塞窗口或者增大发送间隔,以降低发送端发送的数据量,也即,发送端对发送的数据包进行减速。
传统方案每次重传数据包时,均会在重传数据包的同时进行数据包减速处理,从而不仅降低了网络的传输性能,也增加了数据包的延迟到达。
发明内容
有鉴于此,本发明公开一种数据传输方法及系统,以实现在重传待确定数据包时,并不会对待确定数据包立即进行减速,而是通过在待确定数据包上设置重传标识,通过判断接收端基于携带重传标识的待确定数据包生成的ACK信息是否携带重传标识,来确定首发数据包是否是真正丢失,只有在确定该ACK信息携带重传标识时,才会确定首发数据包丢失,此时才会进入减速发送数据包阶段。相对于传统方案每次重传数据包均进行减速而言,本发明提高了网络的传输性能,有效避免了数据包的延迟到达。
一种数据传输方法,所述方法应用于网络数据发送设备,所述方法包括:
获取接收端返回的针对所述网络数据发送设备发送的数据包生成的接收状态信息,其中,所述网络数据发送设备发送的每一个数据包均对应一个接收状态信息;
判断所述接收状态信息包括确认字符ACK信息或否定字符NAK信息;
当所述接收状态信息包括所述NAK信息时,确定所述NAK信息对应的数据包;
判断在接收到所述NAK信息之后接收到的各个接收状态信息中,是否至少包含三个所述ACK信息;
如果是,则将所述NAK信息对应的数据包作为待确定数据包进行重传,并维持当前数据传输速率不变,其中,所述待确定数据包携带有数据包的重传标识;
获取接收端返回的基于所述待确定数据包生成的ACK信息;
判断基于所述待确定数据包生成的所述ACK信息是否携带有所述重传标识;
如果是,则进入减速发送数据包阶段。
可选的,还包括:
当基于所述待确定数据包生成的所述ACK信息没有携带所述重传标识时,维持当前数据传输速率不变。
可选的,所述维持当前数据传输速率不变包括:
维持相邻数据包发送间隔时间不变,和/或者拥塞窗口尺寸不变。
可选的,所述进入减速发送数据包阶段包括:
基于数据包丢失率阈值,按照预设减速策略进入减速发送数据包阶段。
可选的,所述基于数据包丢失阈值,按照预设减速策略进入减速发送数据包阶段,具体包括:
判断当前数据包丢失率是否小于第一数据包丢失率阈值;
如果是,则将当前数据包传输速率减小第一预设幅度;
如果否,则继续判断所述当前数据包丢失率是否小于第二数据包丢失率阈值,其中,所述第二数据包丢失率阈值大于所述第一数据包丢失率阈值;
如果是,则将所述当前数据包传输速率减小第二预设幅度,所述第二预设幅度大于所述第一预设幅度;
如果否,则将所述当前数据包传输速率减小第三预设幅度,所述第三预设幅度大于所述第二预设幅度。
一种数据传输系统,所述系统应用于网络数据发送设备,所述系统包括:
第一获取单元,用于获取接收端返回的针对所述网络数据发送设备发送的数据包生成的接收状态信息,其中,所述网络数据发送设备发送的每一个数据包均对应一个接收状态信息;
第一判断单元,用于判断所述接收状态信息包括确认字符ACK信息或否定字符NAK信息;
数据包确定单元,用于当所述接收状态信息包括所述NAK信息时,确定所述NAK信息对应的数据包;
第二判断单元,用于判断在接收到所述NAK信息之后接收到的各个接收状态信息中,是否至少包含三个所述ACK信息;
重传单元,用于在所述第二判断单元判断为是的情况下,将所述NAK信息对应的数据包作为待确定数据包进行重传,并维持当前数据传输速率不变,其中,所述待确定数据包携带有数据包的重传标识;
第二获取单元,用于获取接收端返回的基于所述待确定数据包生成的ACK信息;
第三判断单元,用于判断基于所述待确定数据包生成的所述ACK信息是否携带有所述重传标识;
减速单元,用于在所述第三判断单元判断为是的情况下,进入减速发送数据包阶段。
可选的,还包括:
速率维持单元,用于当基于所述待确定数据包生成的所述ACK信息没有携带所述重传标识时,维持当前数据传输速率不变。
可选的,所述维持当前数据传输速率不变包括:
维持相邻数据包发送间隔时间不变,和/或者拥塞窗口尺寸不变。
可选的,所述减速单元具体用于:
基于数据包丢失率阈值,按照预设减速策略进入减速发送数据包阶段。
可选的,所述减速单元具体包括:
第一判断子单元,用于判断当前数据包丢失率是否小于第一数据包丢失率阈值;
第一速率减小子单元,用于在所述第一判断子单元判断为是的情况下,将当前数据包传输速率减小第一预设幅度;
第二判断子单元,用于在所述第一判断子单元判断为否的情况下,继续判断所述当前数据包丢失率是否小于第二数据包丢失率阈值,其中,所述第二数据包丢失率阈值大于所述第一数据包丢失率阈值;
第二速率减小子单元,用于在所述第二判断子单元判断为是的情况下,将所述当前数据包传输速率减小第二预设幅度,所述第二预设幅度大于所述第一预设幅度;
第三速率减小子单元,用于在所述第二判断子单元判断为否的情况下,将所述当前数据包传输速率减小第三预设幅度,所述第三预设幅度大于所述第二预设幅度。
从上述的技术方案可知,本发明公开了一种数据传输方法及系统,网络数据发送设备获取接收端返回的针对网络数据发送设备发送的数据包生成的接收状态信息,当该接收状态信息包括NAK信息时,确定NAK信息对应的数据包,当在接收到NAK信息之后接收到的各个接收状态信息中,至少包含三个ACK信息时,将NAK信息对应的数据包作为待确定数据包进行重传,重传的待确定数据包携带有数据包的重传标识,并且,在重传待确定数据包时并不改变数据传输速率,而是维持当前数据传输速率不变,当判定接收端返回的基于待确定数据包生成的ACK信息携带有重传标识时,则确定首发数据包丢失,此时,进入减速发送数据包阶段。本发明在重传待确定数据包时,并不会对待确定数据包立即进行减速,而是通过在待确定数据包上设置重传标识,通过判断接收端基于携带重传标识的待确定数据包生成的ACK信息是否携带重传标识,来确定首发数据包是否是真正丢失,只有在确定该ACK信息携带重传标识时,才会确定首发数据包丢失,此时才会进入减速发送数据包阶段。相对于传统方案每次重传数据包均进行减速而言,本发明提高了网络的传输性能,有效避免了数据包的延迟到达。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据公开的附图获得其他的附图。
图1为本发明实施例公开的一种数据传输方法流程图;
图2为本发明实施例公开的一种首发数据包和重传数据包的结构示意图;
图3为本发明实施例公开的一种基于数据包丢失阈值,按照预设减速策略进入减速发送数据包阶段的方法流程图;
图4为本发明实施例公开的一种数据传输系统的结构示意图;
图5为本发明实施例公开的一种减速单元的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例公开了一种数据传输方法及系统,网络数据发送设备获取接收端返回的针对网络数据发送设备发送的数据包生成的接收状态信息,当该接收状态信息包括NAK信息时,确定NAK信息对应的数据包,当在接收到NAK信息之后接收到的各个接收状态信息中,至少包含三个ACK信息时,将NAK信息对应的数据包作为待确定数据包进行重传,重传的待确定数据包携带有数据包的重传标识,并且,在重传待确定数据包时并不改变数据传输速率,而是维持当前数据传输速率不变,当判定接收端返回的基于待确定数据包生成的ACK信息携带有重传标识时,则确定首发数据包丢失,此时,进入减速发送数据包阶段。本发明在重传待确定数据包时,并不会对待确定数据包立即进行减速,而是通过在待确定数据包上设置重传标识,通过判断接收端基于携带重传标识的待确定数据包生成的ACK信息是否携带重传标识,来确定首发数据包是否是真正丢失,只有在确定该ACK信息携带重传标识时,才会确定首发数据包丢失,此时才会进入减速发送数据包阶段。相对于传统方案每次重传数据包均进行减速而言,本发明提高了网络的传输性能,有效避免了数据包的延迟到达。
参见图1,本发明一实施例公开的一种数据传输方法流程图,该方法应用于网络数据发送设备,该方法包括步骤:
步骤S101、获取接收端返回的针对所述网络数据发送设备发送的数据包生成的接收状态信息;
在网络传输场景中,当网络数据发送设备向接收端发送数据包后,接收端会向网络数据发送设备返回一个对数据包的接收状态信息,该接收状态信息用于通知网络数据发送设备接收端是否准确接收到了数据包。
其中,接收端会针对网络数据发送设备发送的每一个数据包均生成一个接收状态信息,也即,所述网络数据发送设备发送的每一个数据包均对应一个接收状态信息。
步骤S102、判断所述接收状态信息包括ACK信息或NAK信息;
在实际应用中,接收状态信息包括:ACK(Acknowledgement,确认字符)信息和NAK(Negative Acknowledgement,否定字符)信息。当接收端成功接收到网络数据发送设备发送的数据包时,接收端会生成ACK信息;反之,当接收端未成功接收到网络数据发送设备发送的数据包时,接收端会生成NAK信息。
步骤S103、当所述接收状态信息包括所述NAK信息时,确定所述NAK信息对应的数据包;
当确定接收状态信息包括NAK信息时,表明与NAK信息对应的数据包未成功接收,此时确定NAK信息对应的数据包,该数据包也即上传失败的数据包。
步骤S104、判断在接收到所述NAK信息之后接收到的各个接收状态信息中,是否至少包含三个所述ACK信息,如果是,则执行步骤S105;
需要说明的是,在接收到NAK信息之后接收到的各个接收状态信息中,至少包含的三个ACK信息,可以是连续获取的ACK信息,也可以是间断获取的ACK信息。
比如,网络数据发送设备依次向接收端发送1号数据包、2号数据包、3号数据包、4号数据包和5号数据包,当1号数据包为NAK信息,2-4号数据包为连续获取的ACK信息时,则判定1号数据包未成功上传,1号数据包满足快速重传条件。
网络数据发送设备依次向接收端发送1号数据包、2号数据包、3号数据包、4号数据包和5号数据包,当1号数据包为NAK信息,2号数据包、3号数据包和5号数据包为ACK信息,则判定1号数据包未成功上传,1号数据包满足快速重传条件。
当接收到NAK信息之后接收到的各个接收状态信息中,包含的ACK信息少于三个,则继续获取接收状态信息。
步骤S105、将所述NAK信息对应的数据包作为待确定数据包进行重传,并维持当前数据传输速率不变;
其中,所述待确定数据包携带有数据包的重传标识。
数据包的重传标识的表示形式可以根据实际需要而定,比如,重传标识用F表示。
本实施例中,当重传待确定数据包时,并不会立即进行数据包减速,而是维持当前数据传输速率不变,具体的,维持相邻数据包发送间隔时间不变,和/或者拥塞窗口尺寸不变。
需要说明的是,本发明公开的数据传输方法主要适用在弱网数据传输场景中,在将NAK信息对应的数据包作为待确定数据包进行重传时,本发明在待确定数据包上设置了一个重传标识,该重传标识用于表征待确定数据包是针对首发数据包的重传,其中,重传标识存在于待确定数据包的数据包结构中。
举例说明,参见图2所示的首发数据包和重传数据包的结构示意图,其中,R=0代表首发数据包,R=1代表重传数据包。
需要说明的是,R在数据包结构中占据的空间比较小,比如,一个bit,因此对数据包包含的数据量几乎没有影响。
步骤S106、获取接收端返回的基于所述待确定数据包生成的ACK信息;
步骤S107、判断基于所述待确定数据包生成的所述ACK信息是否携带有所述重传标识,如果是,则执行步骤S108;
举例说明,当ACK信息携带的F为1,说明首发数据包丢失,该ACK信息是基于重传的待确定数据包生成的;反之,当ACK信息携带的F为0,说明首发数据包并未丢失,该ACK信息是基于首发数据包生成的。
步骤S108、进入减速发送数据包阶段。
网络数据发送设备进入减速发送数据包阶段,指的是:网络数据发送设备对发送的数据包进行减速,具体可以为:减小拥塞窗口或者增大相邻数据包发送间隔,以降低发送端发送的数据量。
本发明中,网络数据发送设备的数据传输速率的改变,主要通过对发送间隔或拥塞窗口进行调整实现。以发送间隔为例进行说明,当网络数据发送设备的发送间隔变小时,数据传输速率升高;当发送间隔变大时,数据传输速率降低。
发送间隔send_interval单位为微秒,网络数据发送设备每隔send_interval时间发送一个数据包。
当网络数据发送设备接收到接收端反馈的ACK信息时,减小send_interval间隔,提高数据包发送速率。当网络数据发送设备接收到接收端反馈的由至少三次ACK状态信息导致的重传数据包时,维持当前数据传输速率不变;当接收到接收端基于待确定数据包返回的ACK信息携带重传标识时,网络数据发送设备进入减速发送数据包阶段,具体为增大send_interval。
综上可知,本发明公开的数据传输方法,网络数据发送设备获取接收端返回的针对网络数据发送设备发送的数据包生成的接收状态信息,当该接收状态信息包括NAK信息时,确定NAK信息对应的数据包,当在接收到NAK信息之后接收到的各个接收状态信息中,至少包含三个ACK信息时,将NAK信息对应的数据包作为待确定数据包进行重传,重传的待确定数据包携带有数据包的重传标识,并且,在重传待确定数据包时并不改变数据传输速率,而是维持当前数据传输速率不变,当判定接收端返回的基于待确定数据包生成的ACK信息携带有重传标识时,则确定首发数据包丢失,此时,进入减速发送数据包阶段。本发明在重传待确定数据包时,并不会对待确定数据包立即进行减速,而是通过在待确定数据包上设置重传标识,通过判断接收端基于携带重传标识的待确定数据包生成的ACK信息是否携带重传标识,来确定首发数据包是否是真正丢失,只有在确定该ACK信息携带重传标识时,才会确定首发数据包丢失,此时才会进入减速发送数据包阶段。相对于传统方案每次重传数据包均进行减速而言,本发明提高了网络的传输性能,有效避免了数据包的延迟到达。
为进一步优化上述实施例,在步骤S107之后,还可以包括:
当基于所述待确定数据包生成的所述ACK信息没有携带所述重传标识时,维持当前数据传输速率不变。
其中,当前数据传输速率为上一秒传输数据量的大小,当前数据传输速率的计算公式如下:
Rate=total_byte/time;
式中,Rate为当前数据传输速率,total_byte为上一秒发送的实际数据量,time为1s。
本实施例中,当基于网络数据发送设备发送的待确定数据包生成的ACK信息没有携带重传标识时,表明ACK信息是基于首发数据包生成的,也就是说,首发数据包并未丢失,在这种情况下,本发明并不会降低数据传输速率,而是维持当前数据传输速率不变。
上述实施例中,当网络数据发送设备进入减速发送数据包阶段后,本发明还提供了一种数据包减速策略,该减速策略与数据包丢失阈值相关。
因此,上述实施例中的步骤S108具体可以包括:
基于数据包丢失率阈值,按照预设减速策略进入减速发送数据包阶段。
参见图3,本发明一实施例公开的一种基于数据包丢失阈值,按照预设减速策略进入减速发送数据包阶段的方法流程图,该方法包括步骤:
步骤S201、判断当前数据包丢失率是否小于第一数据包丢失率阈值,如果是,则执行步骤S202,如果否,则执行步骤S203;
可以理解,在执行步骤S201之前,首先计算当前数据包丢失率,当前数据包丢失率是统计前1s内的数据包丢失率,当前数据包丢失率=前1s丢失数据包个数/前1s发送数据包总个数,其中,前1s发送的数据包包括:首发数据包和重传数据包。
其中,第一数据包丢失率阈值一般取经验值,比如,第一数据包丢失率阈值a=2%。
步骤S202、将当前数据包传输速率减小第一预设幅度;
本实施例中,在确定当前数据包丢失率小于第一数据包丢失率阈值,也即,在确定当前数据包丢失率比较小时,可以适当减小当前数据包传输速率。
假设,第一预设幅度为当前数据包传输速率的0.2%,则将当前数据包传输速率send_interval减小至send_interval*ratio1,ratio1=0.998。
步骤S203、继续判断所述当前数据包丢失率是否小于第二数据包丢失率阈值,如果是,则执行步骤S204,如果否,则执行步骤S205;
其中,所述第二数据包丢失率阈值大于所述第一数据包丢失率阈值,所述第二数据包丢失率阈值一般取经验值,比如,第二数据包丢失率阈值b=10%。
步骤S204、将所述当前数据包传输速率减小第二预设幅度;
其中,所述第二预设幅度大于所述第一预设幅度。
假设第二预设幅度为当前数据包传输速率的2%,则将当前数据包传输速率send_interval减小至send_interval*ratio1,ratio1=0.98。
步骤S205、将所述当前数据包传输速率减小第三预设幅度;
假设第二预设幅度为当前数据包传输速率的10%,则将当前数据包传输速率send_interval减小至send_interval*ratio1,ratio1=0.9。
其中,所述第三预设幅度大于所述第二预设幅度。
本实施例中,第一预设幅度、第二预设幅度和第三预设幅度的取值依据实际需要而定,本发明在此不做限定。
综上可知,当网络数据发送设备进入减速发送数据包阶段后,本发明根据当前数据包丢失率阈值与第一数据包丢失率阈值和第二数据包丢失率阈值的大小关系,来确定对当前数据包传输速率的减小幅度,通过逐级减小当前数据包传输速率,来保证数据包发送的平稳性,相对于传统方案一次性减小数据包发送速率而言,本发明提高了网络的传输性,并在一定程度上有效避免了数据包的延迟达到。
与上述方法实施例相对应,本发明还公开了一种数据传输系统。
参见图4,本发明一实施例公开的一种数据传输系统的结构示意图,该系统银公寓网络数据发送设备,所述系统包括:
第一获取单元301,用于获取接收端返回的针对所述网络数据发送设备发送的数据包生成的接收状态信息;
在网络传输场景中,当网络数据发送设备向接收端发送数据包后,接收端会向网络数据发送设备返回一个对数据包的接收状态信息,该接收状态信息用于通知网络数据发送设备接收端是否准确接收到了数据包。
其中,接收端会针对网络数据发送设备发送的每一个数据包均生成一个接收状态信息,也即,所述网络数据发送设备发送的每一个数据包均对应一个接收状态信息。
第一判断单元302,用于判断所述接收状态信息包括确认字符ACK信息或否定字符NAK信息;
在实际应用中,接收状态信息包括:ACK(Acknowledgement,确认字符)信息和NAK(Negative Acknowledgement,否定字符)信息。当接收端成功接收到网络数据发送设备发送的数据包时,接收端会生成ACK信息;反之,当接收端未成功接收到网络数据发送设备发送的数据包时,接收端会生成NAK信息。
数据包确定单元303,用于当所述接收状态信息包括所述NAK信息时,确定所述NAK信息对应的数据包;
当确定接收状态信息包括NAK信息时,表明与NAK信息对应的数据包未成功接收,此时确定NAK信息对应的数据包,该数据包也即上传失败的数据包。
第二判断单元304,用于判断在接收到所述NAK信息之后接收到的各个接收状态信息中,是否至少包含三个所述ACK信息;
需要说明的是,在接收到NAK信息之后接收到的各个接收状态信息中,至少包含的三个ACK信息,可以是连续获取的ACK信息,也可以是间断获取的ACK信息。
比如,网络数据发送设备依次向接收端发送1号数据包、2号数据包、3号数据包、4号数据包和5号数据包,当1号数据包为NAK信息,2-4号数据包为连续获取的ACK信息时,则判定1号数据包未成功上传,1号数据包满足快速重传条件。
网络数据发送设备依次向接收端发送1号数据包、2号数据包、3号数据包、4号数据包和5号数据包,当1号数据包为NAK信息,2号数据包、3号数据包和5号数据包为ACK信息,则判定1号数据包未成功上传,1号数据包满足快速重传条件。
当接收到NAK信息之后接收到的各个接收状态信息中,包含的ACK信息少于三个,则继续获取接收状态信息。
重传单元305,用于在所述第二判断单元304判断为是的情况下,将所述NAK信息对应的数据包作为待确定数据包进行重传,并维持当前数据传输速率不变,其中,所述待确定数据包携带有数据包的重传标识;
数据包的重传标识的表示形式可以根据实际需要而定,比如,重传标识用F表示。
本实施例中,当重传待确定数据包时,并不会立即进行数据包减速,而是维持当前数据传输速率不变,具体的,维持相邻数据包发送间隔时间不变,和/或者拥塞窗口尺寸不变。
第二获取单元306,用于获取接收端返回的基于所述待确定数据包生成的ACK信息;
第三判断单元307,用于判断基于所述待确定数据包生成的所述ACK信息是否携带有所述重传标识;
举例说明,当ACK信息携带的F为1,说明首发数据包丢失,该ACK信息是基于重传的待确定数据包生成的;反之,当ACK信息携带的F为0,说明首发数据包并未丢失,该ACK信息是基于首发数据包生成的。
减速单元308,用于在所述第三判断单元307判断为是的情况下,进入减速发送数据包阶段。
网络数据发送设备进入减速发送数据包阶段,指的是:网络数据发送设备对发送的数据包进行减速,具体可以为:减小拥塞窗口或者增大相邻数据包发送间隔,以降低发送端发送的数据量。
综上可知,本发明公开的数据传输系统,网络数据发送设备获取接收端返回的针对网络数据发送设备发送的数据包生成的接收状态信息,当该接收状态信息包括NAK信息时,确定NAK信息对应的数据包,当在接收到NAK信息之后接收到的各个接收状态信息中,至少包含三个ACK信息时,将NAK信息对应的数据包作为待确定数据包进行重传,重传的待确定数据包携带有数据包的重传标识,并且,在重传待确定数据包时并不改变数据传输速率,而是维持当前数据传输速率不变,当判定接收端返回的基于待确定数据包生成的ACK信息携带有重传标识时,则确定首发数据包丢失,此时,进入减速发送数据包阶段。本发明在重传待确定数据包时,并不会对待确定数据包立即进行减速,而是通过在待确定数据包上设置重传标识,通过判断接收端基于携带重传标识的待确定数据包生成的ACK信息是否携带重传标识,来确定首发数据包是否是真正丢失,只有在确定该ACK信息携带重传标识时,才会确定首发数据包丢失,此时才会进入减速发送数据包阶段。相对于传统方案每次重传数据包均进行减速而言,本发明提高了网络的传输性能,有效避免了数据包的延迟到达。
为进一步优化上述实施例,数据传输系统还可以包括:
速率维持单元,用于当基于所述待确定数据包生成的所述ACK信息没有携带所述重传标识时,维持当前数据传输速率不变。
本实施例中,当基于网络数据发送设备发送的待确定数据包生成的ACK信息没有携带重传标识时,表明ACK信息是基于首发数据包生成的,也就是说,首发数据包并未丢失,在这种情况下,本发明并不会降低数据传输速率,而是维持当前数据传输速率不变。
上述实施例中,当网络数据发送设备进入减速发送数据包阶段后,本发明还提供了一种数据包减速策略,该减速策略与数据包丢失阈值相关。
因此,上述实施例中的减速单元308具体用于:
基于数据包丢失率阈值,按照预设减速策略进入减速发送数据包阶段。
参见图5,本发明一实施例公开的一种减速单元的结构示意图,减速单元包括:
第一判断子单元401,用于判断当前数据包丢失率是否小于第一数据包丢失率阈值;
可以理解,在执行第一判断子单元401之前,首先计算当前数据包丢失率,当前数据包丢失率是统计前1s内的数据包丢失率,当前数据包丢失率=前1s丢失数据包个数/前1s发送数据包总个数,其中,前1s发送的数据包包括:首发数据包和重传数据包。
其中,第一数据包丢失率阈值一般取经验值,比如,第一数据包丢失率阈值a=2%。
第一速率减小子单元402,用于在所述第一判断子单元401判断为是的情况下,将当前数据包传输速率减小第一预设幅度;
本实施例中,在确定当前数据包丢失率小于第一数据包丢失率阈值,也即,在确定当前数据包丢失率比较小时,可以适当减小当前数据包传输速率。
第二判断子单元403,用于在所述第一判断子单元401判断为否的情况下,继续判断所述当前数据包丢失率是否小于第二数据包丢失率阈值,其中,所述第二数据包丢失率阈值大于所述第一数据包丢失率阈值;
其中,所述第二数据包丢失率阈值大于所述第一数据包丢失率阈值,所述第二数据包丢失率阈值一般取经验值,比如,第二数据包丢失率阈值b=10%。
第二速率减小子单元404,用于在所述第二判断子单元403判断为是的情况下,将所述当前数据包传输速率减小第二预设幅度,所述第二预设幅度大于所述第一预设幅度;
第三速率减小子单元405,用于在所述第二判断子单元403判断为否的情况下,将所述当前数据包传输速率减小第三预设幅度,所述第三预设幅度大于所述第二预设幅度。
本实施例中,第一预设幅度、第二预设幅度和第三预设幅度的取值依据实际需要而定,本发明在此不做限定。
综上可知,当网络数据发送设备进入减速发送数据包阶段后,本发明根据当前数据包丢失率阈值与第一数据包丢失率阈值和第二数据包丢失率阈值的大小关系,来确定对当前数据包传输速率的减小幅度,通过逐级减小当前数据包传输速率,来保证数据包发送的平稳性,相对于传统方案一次性减小数据包发送速率而言,本发明提高了网络的传输性,并在一定程度上有效避免了数据包的延迟达到。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种数据传输方法,其特征在于,所述方法应用于网络数据发送设备,所述方法包括:
获取接收端返回的针对所述网络数据发送设备发送的数据包生成的接收状态信息,其中,所述网络数据发送设备发送的每一个数据包均对应一个接收状态信息;
判断所述接收状态信息包括确认字符ACK信息或否定字符NAK信息;
当所述接收状态信息包括所述NAK信息时,确定所述NAK信息对应的数据包;
判断在接收到所述NAK信息之后接收到的各个接收状态信息中,是否至少包含三个所述ACK信息;
如果是,则将所述NAK信息对应的数据包作为待确定数据包进行重传,并维持当前数据传输速率不变,其中,所述待确定数据包携带有数据包的重传标识;
获取接收端返回的基于所述待确定数据包生成的ACK信息;
判断基于所述待确定数据包生成的所述ACK信息是否携带有所述重传标识;
如果是,则进入减速发送数据包阶段。
2.根据权利要求1所述的数据传输方法,其特征在于,还包括:
当基于所述待确定数据包生成的所述ACK信息没有携带所述重传标识时,维持当前数据传输速率不变。
3.根据权利要求1所述的数据传输方法,其特征在于,所述维持当前数据传输速率不变包括:
维持相邻数据包发送间隔时间不变,和/或者拥塞窗口尺寸不变。
4.根据权利要求1所述的数据传输方法,其特征在于,所述进入减速发送数据包阶段包括:
基于数据包丢失率阈值,按照预设减速策略进入减速发送数据包阶段。
5.根据权利要求4所述的数据传输方法,其特征在于,所述基于数据包丢失阈值,按照预设减速策略进入减速发送数据包阶段,具体包括:
判断当前数据包丢失率是否小于第一数据包丢失率阈值;
如果是,则将当前数据包传输速率减小第一预设幅度;
如果否,则继续判断所述当前数据包丢失率是否小于第二数据包丢失率阈值,其中,所述第二数据包丢失率阈值大于所述第一数据包丢失率阈值;
如果是,则将所述当前数据包传输速率减小第二预设幅度,所述第二预设幅度大于所述第一预设幅度;
如果否,则将所述当前数据包传输速率减小第三预设幅度,所述第三预设幅度大于所述第二预设幅度。
6.一种数据传输系统,其特征在于,所述系统应用于网络数据发送设备,所述系统包括:
第一获取单元,用于获取接收端返回的针对所述网络数据发送设备发送的数据包生成的接收状态信息,其中,所述网络数据发送设备发送的每一个数据包均对应一个接收状态信息;
第一判断单元,用于判断所述接收状态信息包括确认字符ACK信息或否定字符NAK信息;
数据包确定单元,用于当所述接收状态信息包括所述NAK信息时,确定所述NAK信息对应的数据包;
第二判断单元,用于判断在接收到所述NAK信息之后接收到的各个接收状态信息中,是否至少包含三个所述ACK信息;
重传单元,用于在所述第二判断单元判断为是的情况下,将所述NAK信息对应的数据包作为待确定数据包进行重传,并维持当前数据传输速率不变,其中,所述待确定数据包携带有数据包的重传标识;
第二获取单元,用于获取接收端返回的基于所述待确定数据包生成的ACK信息;
第三判断单元,用于判断基于所述待确定数据包生成的所述ACK信息是否携带有所述重传标识;
减速单元,用于在所述第三判断单元判断为是的情况下,进入减速发送数据包阶段。
7.根据权利要求6所述的数据传输系统,其特征在于,还包括:
速率维持单元,用于当基于所述待确定数据包生成的所述ACK信息没有携带所述重传标识时,维持当前数据传输速率不变。
8.根据权利要求6所述的数据传输系统,其特征在于,所述维持当前数据传输速率不变包括:
维持相邻数据包发送间隔时间不变,和/或者拥塞窗口尺寸不变。
9.根据权利要求6所述的数据传输系统,其特征在于,所述减速单元具体用于:
基于数据包丢失率阈值,按照预设减速策略进入减速发送数据包阶段。
10.根据权利要求9所述的数据传输系统,其特征在于,所述减速单元具体包括:
第一判断子单元,用于判断当前数据包丢失率是否小于第一数据包丢失率阈值;
第一速率减小子单元,用于在所述第一判断子单元判断为是的情况下,将当前数据包传输速率减小第一预设幅度;
第二判断子单元,用于在所述第一判断子单元判断为否的情况下,继续判断所述当前数据包丢失率是否小于第二数据包丢失率阈值,其中,所述第二数据包丢失率阈值大于所述第一数据包丢失率阈值;
第二速率减小子单元,用于在所述第二判断子单元判断为是的情况下,将所述当前数据包传输速率减小第二预设幅度,所述第二预设幅度大于所述第一预设幅度;
第三速率减小子单元,用于在所述第二判断子单元判断为否的情况下,将所述当前数据包传输速率减小第三预设幅度,所述第三预设幅度大于所述第二预设幅度。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911395176.0A CN111147197B (zh) | 2019-12-30 | 2019-12-30 | 一种数据传输方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911395176.0A CN111147197B (zh) | 2019-12-30 | 2019-12-30 | 一种数据传输方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111147197A true CN111147197A (zh) | 2020-05-12 |
CN111147197B CN111147197B (zh) | 2022-06-21 |
Family
ID=70521852
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911395176.0A Active CN111147197B (zh) | 2019-12-30 | 2019-12-30 | 一种数据传输方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111147197B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100020689A1 (en) * | 2007-01-29 | 2010-01-28 | Bob Tang | Immediate ready implementation of virtually congestion free guaranteed service capable network : nextgentcp/ftp/udp intermediate buffer cyclical sack re-use |
CN106330406A (zh) * | 2015-06-16 | 2017-01-11 | 中兴通讯股份有限公司 | 一种基于tcp的数据传输方法及装置 |
CN108234087A (zh) * | 2016-12-22 | 2018-06-29 | 华为技术有限公司 | 数据传输方法及发送端 |
CN108270682A (zh) * | 2016-12-30 | 2018-07-10 | 华为技术有限公司 | 一种报文传输方法、终端、网络设备及通信系统 |
CN109194450A (zh) * | 2018-08-15 | 2019-01-11 | 西安电子科技大学 | 天地一体化网络通信的snack-p应答系统及方法、无线通信系统 |
-
2019
- 2019-12-30 CN CN201911395176.0A patent/CN111147197B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100020689A1 (en) * | 2007-01-29 | 2010-01-28 | Bob Tang | Immediate ready implementation of virtually congestion free guaranteed service capable network : nextgentcp/ftp/udp intermediate buffer cyclical sack re-use |
CN106330406A (zh) * | 2015-06-16 | 2017-01-11 | 中兴通讯股份有限公司 | 一种基于tcp的数据传输方法及装置 |
CN108234087A (zh) * | 2016-12-22 | 2018-06-29 | 华为技术有限公司 | 数据传输方法及发送端 |
CN108270682A (zh) * | 2016-12-30 | 2018-07-10 | 华为技术有限公司 | 一种报文传输方法、终端、网络设备及通信系统 |
CN109194450A (zh) * | 2018-08-15 | 2019-01-11 | 西安电子科技大学 | 天地一体化网络通信的snack-p应答系统及方法、无线通信系统 |
Also Published As
Publication number | Publication date |
---|---|
CN111147197B (zh) | 2022-06-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1739891B1 (en) | Transmission apparatus for reducing delay variance and related method | |
CN112165355B (zh) | 一种面向卫星网络的基于udp的可靠数据传输方法 | |
US8989059B2 (en) | Method for triggering a status report of automatic repeat request | |
JP4422620B2 (ja) | フレーム受信の否定応答の早期送信のためのアイドルフレームの使用 | |
EP2817911B1 (en) | Cross-layer scheduling based on lower layer feedback | |
US20170099128A1 (en) | Radio resource scheduling method and apparatus | |
EP1876747A1 (en) | Method and apparatus for handling transmission errors in a wireless communications system | |
CA2466231A1 (en) | Time-aware best-effort hole-filling retry method and system for network communications | |
CN103269260A (zh) | 数据传输方法、数据接收端、数据发送端和数据传输系统 | |
CN102111257B (zh) | 一种时间提前量的调整方法及系统 | |
CN109639340A (zh) | 一种适用于卫星链路的tcp加速方法 | |
CN102148662A (zh) | 一种数据发送速率的调整方法及装置 | |
WO2008021470A2 (en) | Transient analysis of packet queuing loss in a broadcast network | |
WO2016201904A1 (zh) | 一种基于tcp的数据传输方法及装置 | |
CN113765626A (zh) | 一种移动通信系统的数据传输方法和装置 | |
CN111147197B (zh) | 一种数据传输方法及系统 | |
CN109831282B (zh) | 数据包重传、重传发送方法、系统、装置及可读存储介质 | |
CN102136897B (zh) | 采用harq方式发送时间提前量命令的方法及系统 | |
CN110971352B (zh) | 一种上行增强rlc分片的harq重传处理方法及装置 | |
CN116366221A (zh) | 一种选择接收或发送反馈信息的方法、装置及用户设备 | |
CN109005129B (zh) | 一种基于蓝牙mesh网络的数据传输方法及装置 | |
US9698943B2 (en) | Receiving unit in a wireless communication network and method for generating an automatic repeat request feedback message | |
WO2021253268A1 (zh) | 通信系统的信息传输方法、通信系统及通信设备 | |
CN113259062B (zh) | 丢包重传的方法、装置、可读介质以及设备 | |
JP2003046432A (ja) | 路側装置及び車載装置 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |