CN112564866A - 一种数据重传方法和装置 - Google Patents

一种数据重传方法和装置 Download PDF

Info

Publication number
CN112564866A
CN112564866A CN202011312908.8A CN202011312908A CN112564866A CN 112564866 A CN112564866 A CN 112564866A CN 202011312908 A CN202011312908 A CN 202011312908A CN 112564866 A CN112564866 A CN 112564866A
Authority
CN
China
Prior art keywords
rate
packet loss
transmission
transmission rate
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
Application number
CN202011312908.8A
Other languages
English (en)
Other versions
CN112564866B (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.)
TP Link Technologies Co Ltd
Original Assignee
TP Link Technologies 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 TP Link Technologies Co Ltd filed Critical TP Link Technologies Co Ltd
Priority to CN202011312908.8A priority Critical patent/CN112564866B/zh
Publication of CN112564866A publication Critical patent/CN112564866A/zh
Application granted granted Critical
Publication of CN112564866B publication Critical patent/CN112564866B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/16Central resource management; Negotiation of resources or communication parameters, e.g. negotiating bandwidth or QoS [Quality of Service]
    • H04W28/18Negotiating wireless communication parameters
    • H04W28/22Negotiating communication rate

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Quality & Reliability (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

本发明公开了一种数据重传方法,包括:在数据传输之前,计算首选传输速率和备选传输速率;其中,所述备选传输速率不大于所述首选传输速率;启用所述首选传输速率执行数据传输操作;当数据传输失败时,启用所述备选传输速率执行数据重传操作。本发明还公开了相应的数据重传装置。采用本发明实施例,通过使用首选速率进行数据传输,并在数据传输失败后的数据重传阶段,使用备选速率进行数据传输,能够有效实现数据的快速重传,并提高数据传输的成功率。

Description

一种数据重传方法和装置
技术领域
本发明涉及无线通信技术领域,尤其涉及一种数据重传方法和装置。
背景技术
在无线通信网络中,数据收发双方在建立通信连接之后,需要进行发送速率的选择,在通信过程中也会持续地进行速率调整,从而寻找到一个最优速率进行数据传输,以实现最佳的网络性能。但是,在无线环境较差或者无线信道条件变化太快时,往往容易存在丢包和重传的现象。
在现有技术中,针对重传阶段的速率选择方法,比较通用的做法是:预先定义一个允许最大传输次数的重传限制条件。当需要进行报文传输时,通过速率选择算法,找出一个最优速率进行数据传输,并且在传输失败时允许使用该速率进行一定次数的重传。若所有重传次数均使用完毕,仍然发送失败的话,通过标记该报文为传输失败的报文,并且再次进入速率选择算法,找到下一个最优速率进行发送。
然而,在实施本发明过程中,发明人发现现有技术至少存在如下问题:如果连续使用同一速率进行多次发送,若允许重传的次数较多,则多次重传失败会对吞吐量效率造成很大的影响;若允许重传的次数较少,则需要多次重新进入速率选择算法,计算新的数据传输速率,耗时较长。
发明内容
本发明实施例的目的是提供一种数据重传方法和装置,通过使用首选速率进行数据传输,并在数据传输失败后的数据重传阶段,使用备选速率进行数据传输,有效地实现了数据的快速重传。
为实现上述目的,本发明实施例提供了一种数据重传方法,包括:
在数据传输之前,计算首选传输速率和备选传输速率;其中,所述备选传输速率不大于所述首选传输速率;
启用所述首选传输速率执行数据传输操作;
当数据传输失败时,启用所述备选传输速率执行数据重传操作。
作为上述方案的改进,所述计算首选传输速率,具体包括:
获取预设的传输速率集合对应的最近N个报文发送轮次的预估丢包率向量;其中,所述预估丢包率向量记录了所述传输速率集合中所有传输速率的在对应报文发送轮次的预估丢包率;
根据所述传输速率集合的N个预估丢包率向量,计算丢包率量化值;其中,所述丢包率量化值用于表征所述N个预估丢包率向量的变化程度;
根据所述丢包率量化值,计算每一传输速率在当前报文发送轮次的丢包率;
根据每一所述传输速率在当前报文发送轮次的丢包率,计算每一所述传输速率在当前报文发送轮次的吞吐量;
获取所述吞吐量的最大值所对应的传输速率,作为首选传输速率。
作为上述方案的改进,所述根据所述传输速率集合的N个预估丢包率向量,计算丢包率量化值,具体包括:
根据所述传输速率集合的N个预估丢包率向量,计算相邻两个预估丢包率向量的距离,得到N-1个距离向量;
计算每一所述距离向量的模值,并对所述距离向量的模值进行求均值计算,以得到所述丢包率量化值。
作为上述方案的改进,所述根据所述丢包率量化值,计算每一所述传输速率在当前报文发送轮次的丢包率,具体包括:
根据所述丢包率量化值,以及上一报文发送轮次的预估丢包率、当前报文发送轮次的临时丢包率,通过以下计算公式,计算每一传输速率在当前报文发送轮次的丢包率:
E'k_t=(1-G)×γ×Ek_(t-1)+η×ek_(t-1)
其中,E'k_t为传输速率Rk在当前报文发送轮次的丢包率;G为所述丢包率量化值,Ek_(t-1)为上一报文发送轮次的预估丢包率,ek_(t-1)为当前报文发送轮次的临时丢包率;γ为预设的历史丢包率权重值,η为预设的临时丢包率权重值,γ+η=1且γ>η,t表示当前报文发送轮次。
作为上述方案的改进,N值的取值满足计算公式:
N=arg max F(n);
F(n)=γn-η;
其中,F(n)<0,且n为正整数;γ为预设的历史丢包率权重值,η为预设的临时丢包率权重值,γ+η=1且γ>η。
作为上述方案的改进,所述计算备选传输速率,具体包括:
计算预设的传输速率集合中每一传输速率在当前报文发送轮次的预估丢包率;
根据每一所述传输速率在当前报文发送轮次的预估丢包率,计算每一所述传输速率在当前报文发送轮次的吞吐量;
获取不大于所述首选传输速率,且使得所述吞吐量达到最大值所对应的传输速率,作为备选传输速率。
作为上述方案的改进,所述计算预设的传输速率集合中每一传输速率在当前报文发送轮次的预估丢包率,具体包括:
根据每一所述传输速率在上一报文发送轮次的预估丢包率、在当前报文发送轮次的临时丢包率,通过以下计算公式,计算每一所述传输速率在当前报文发送轮次的预估丢包率:
Ek_t=γ×Ek_(t-1)+η×ek_(t-1)
其中,Ek_t为Rk传输速率的当前报文发送轮次的预估丢包率;Ek_(t-1)为上一报文发送轮次的预估丢包率,ek_(t-1)为当前报文发送轮次的临时丢包率;γ为预设的历史丢包率权重值,η为预设的临时丢包率权重值,γ+η=1且γ>η,t表示当前报文发送轮次。
作为上述方案的改进,所述当数据传输失败时,启用所述备选传输速率执行数据重传操作,具体包括:
当启用所述首选传输速率执行的数据传输操作失败时,在第一预设重传次数内,使用所述首选传输速率进行数据重传;
当重传次数达到所述第一预设重传次数,且数据仍传输失败时,启用所述备选传输速率进行数据重传。
作为上述方案的改进,在所述启用所述备选传输速率执行数据重传操作之后,还包括:
当启用所述备选传输速率执行的数据传输操作失败时,在第二预设重传次数内,使用所述备选传输速率执行数据重传操作;
当重传次数达到所述第二预设重传次数,且数据仍传输失败时,上报数据传输失败的结果,并重新计算下一报文发送轮次的首选传输速率和备选传输速率。
本发明实施例还提供了一种数据重传装置,包括:
传输速率计算模块,在数据传输之前,计算首选传输速率和备选传输速率;其中,所述备选传输速率不大于所述首选传输速率;
数据传输模块,用于启用所述首选传输速率进行数据传输;
数据重传模块,用于当数据传输失败时,启用所述备选传输速率进行数据重传。
与现有技术相比,本发明公开的一种数据重传方法和装置,通过计算一个首选传输速率和备选传输速率作为组合的配置项,并共同下发执行数据传输操作。在数据传输过程中,启用所述首选传输速率执行数据传输操作。当数据传输失败时,启用所述备选传输速率执行数据重传操作。采用本发明实施例的技术手段,能够在首选传输速率发送失败时,不需要上报数据传输失败的结果,而是直接使用备选传输速率进行发送,有效地实现了数据的快速重传,并提高数据重传成功率。避免使用同一传输速率进行多次重传的情况下,若允许重传的次数较多,则多次重传失败将导致吞吐量大幅度下滑;若允许重传的次数较少,则需要多次重新进入速率选择算法以计算新的数据传输速率,耗时较长的问题。
附图说明
图1是本发明实施例一提供的一种数据重传方法的步骤流程示意图;
图2是本发明实施例二提供的数据重传方法中计算首选传输速率的步骤流程示意图;
图3是本发明实施例三提供的数据重传方法中计算备选传输速率的步骤流程示意图;
图4是本发明实施例四提供的一种优选的数据重传方法的步骤流程示意图;
图5是本发明实施例五提供的一种数据重传装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参见图1,是本发明实施例一提供的一种数据重传方法的步骤流程示意图。本发明实施例一提供的一种数据重传方法,通过步骤S11至S13执行:
S11、在数据传输之前,计算首选传输速率和备选传输速率;其中,所述备选传输速率不大于所述首选传输速率。
S12、启用所述首选传输速率执行数据传输操作。
S13、当数据传输失败时,启用所述备选传输速率执行数据重传操作。
在每一次进行数据包发送之前,需要提供发送该数据包时使用的速率配置,并下发执行速率传输操作。在本发明实施例中,通过预设的速率选择算法计算出一个最优的传输速率,作为首选传输速率,并进一步通过速率选择算法计算出一个不大于所述首选传输速率的备用的传输速率,作为备选传输速率。将这两个传输速率组成一个组合的配置项共同下发。在执行数据传输操作的过程中,先启用首选传输速率进行数据发送。若使用首选传输速率发送失败时,不需要上报数据传输失败的结果,而是迅速启用所述备选传输速率进行数据重传。
需要说明的是,所述速率选择算法可以采用现有技术中通用的速率选择算法,均不影响本发明取得的有益效果。例如,基于历史统计数据算出所有传输速率的丢包率,根据丢包率预估该速率能够实现的吞吐量,找到最优的速率作为所述首选传输速率,并选取一个小于所述首选速率的速率作为备选传输速率。
作为优选的实施方式,在执行数据传输操作的过程中,先启用首选传输速率进行数据发送。若使用首选传输速率发送失败时,迅速启用所述备选传输速率进行数据重传,并在数据发送前加上CTS-to-SELF帧来作为发送保护机制,以进一步提高数据重传成功率。
本发明实施例一提供了一种数据重传方法,通过计算一个首选传输速率和备选传输速率作为组合的配置项。在数据传输过程中,启用所述首选传输速率执行数据传输操作。当数据传输失败时,启用所述备选传输速率执行数据重传操作。采用本发明实施例的技术手段,能够在首选传输速率发送失败时,不需要上报数据传输失败的结果,而是直接使用备选传输速率进行发送,有效地实现了数据的快速重传,并提高数据重传成功率。避免使用同一传输速率进行多次重传的情况下,若允许重传的次数较多,则多次重传失败将导致吞吐量大幅度下滑;若允许重传的次数较少,则需要多次重新进入速率选择算法以计算新的数据传输速率,耗时较长的问题。
参见图2,是本发明实施例二提供的数据重传方法中计算首选传输速率的步骤流程示意图。本发明实施例二在实施例一的基础上实施,为了使得首选传送速率的选取能满足无线信道环境变化的情况,提高数据传输成功率,步骤S11中,所述计算首选传输速率,具体通过步骤S21至S25执行:
S21、获取预设的传输速率集合对应的最近N个报文发送轮次的预估丢包率向量;其中,所述预估丢包率向量记录了所述传输速率集合中所有传输速率的在对应报文发送轮次的预估丢包率,N>1。
需要说明的是,所述传输速率集合为预先设置的,其集合范围为无线通信的发送方和接收方都支持的传输速率的交集。
在本发明实施例中,根据每一报文发送轮次,为所述传输速率集合维护一个丢包率表格,用于记录所有传输速率在每一历史报文发送轮次中所对应的预估丢包率,也即所述预估丢包率向量。所述预估丢包率是根据历史统计数据和实时数据计算出来的,并在每一轮次的报文发送完成之后(无论报文发送是否成功)进行更新。
具体地,通过以下步骤,更新每一所述传输速率在当前报文发送轮次的预估丢包率,以更新当前报文发送轮次的所述预估丢包率向量:
S211、根据每一所述传输速率在上一报文发送轮次的预估丢包率Ek_(t-1)、在当前报文发送轮次的临时丢包率ek_(t-1),通过以下计算公式,计算每一所述传输速率在当前报文发送轮次的预估丢包率Ek_t
Ek_t=γ×Ek_(t-1)+η×ek_(t-1).
因此,当前报文发送轮次的所述预估丢包率向量表示为:
Et=γ×Et-1+η×et-1.
需要说明的是,临时丢包率ek_(t-1)仅考虑上一报文发送轮次(t-1时刻)的发包情况,而不包含历史统计数据,其根据上一报文发送轮次的发包情况来计算,作为举例,假设在上一报文发送轮次中,发送8个包,丢了2个,那么临时丢包率为25%。
γ为预设的历史丢包率权重值,η为预设的临时丢包率权重值。需要说明的是,历史丢包率权重值γ和临时丢包率权重值η需要满足关系式γ+η=1,且还需满足γ>η,也即所述预估丢包率的计算相对注重历史统计数据,相对较为保守,以避免新的临时丢包率的大幅度变化对以往的历史统计数据产生较大的冲击。在此基础上,权重值γ和η的具体数值可以根据发送报文的性质、是否完全发送失败、发送的场景等实际情况进行设定和调整,在此不做具体限制。
在本发明实施例中,为了考虑无线信道在最新一段时间内的变化率,通过最新一段时间内所述预估丢包率向量的变化程度来表征。因此,在确定需要关注最近多少次的预估丢包率向量后,获取对应的最近N个报文发送轮次的预估丢包率向量。
需要说明的是,N值的确认有多种方法,可以根据经验值、历史统计值或其他方式来确认,均不影响本发明取得的有益效果。
S22、根据所述传输速率集合的N个预估丢包率向量,计算丢包率量化值;其中,所述丢包率量化值用于表征所述N个预估丢包率向量的变化程度。
具体地,步骤S22具体包括步骤S221至S222:
S221、根据所述传输速率集合的N个预估丢包率向量,计算相邻两个预估丢包率向量的距离,得到N-1个距离向量;
S222、计算每一所述距离向量的模值,并对所述距离向量的模值进行求均值计算,以得到所述丢包率量化值。
在本发明实施例中,根据获取到的N个预估丢包率向量,对相邻两个预估丢包率向量之间进行相减,得到距离向量,所述距离向量的个数为N-1。对每一所述距离向量进行求模,得到每一距离向量的模值,模值表示的是每一距离向量内的各个距离元素的平方和的开方,记为M1,M2,…MN-1。对所述距离向量的模值进行求均值计算,即可得到所述丢包率量化值G。
作为优选的实施方式,在计算得到每一所述距离向量的模值之后,对所述距离向量的模值进行归一化处理,在进行求均值计算。
假设所述传输速率集合中的传输速率的个数为K,也即每一距离向量中的距离元素的个数为K。由于丢包率值不超过1,且为非负数,所以距离向量中的单个元素值也不超过1,距离向量的模值不超过K。因此,对上述每一所述距离向量的模值M1,M2,…MN-1进行归一化,得到M’1,M’2,…M’N-1;其中,
Figure BDA0002790377870000091
M’越大,说明前后两个距离向量之间的距离越远,也即预估丢包率向量的变化越大,从侧面反映出无线环境越波动。
为了求在这N个报文发送轮次中,所述预估丢包率向量的变化程度,对归一化后的距离向量模值进行求均值,得到所述丢包率量化值G:
G=Avg(M’1,M’2,…M’N-1)
其中,Avg()函数为求均值函数。
在本发明实施例中,0≤G≤1。G值越大,说明所述距离向量模值M1,M2,…MN-1的平均值越大,也即距离向量越大,侧面反映出无线环境越波动。
S23、根据所述丢包率量化值,计算每一所述传输速率在当前报文发送轮次的丢包率。
根据所述丢包率量化值G,以及上一报文发送轮次的预估丢包率、当前报文发送轮次的临时丢包率,通过以下计算公式,计算每一传输速率在当前报文发送轮次的丢包率:
E'k_t=(1-G)×γ×Ek_(t-1)+η×ek_(t-1)
其中,E'k_t为传输速率Rk在当前报文发送轮次的丢包率;G为所述丢包率量化值,Ek_(t-1)为上一报文发送轮次的预估丢包率,ek_(t-1)为当前报文发送轮次的临时丢包率;γ为预设的历史丢包率权重值,η为预设的临时丢包率权重值,γ+η=1且γ>η,t表示当前报文发送轮次,k为传输速率编号,k=1,2,...,K。
遍历所述传输速率集合中的所有传输速率,从而得到每一传输速率对应的丢包率,则所有传输速率在当前报文发送轮次的丢包率以向量形式表示为:
E't=(1-G)×γ×Et-1+η×et-1.
在本发明实施例中,根据计算出的丢包率量化值G来调整上一报文发送轮次的预估丢包率Ek_(t-1)的权重值,也即,当丢包率量化值G越大,表明近N个报文发送轮次的丢包率变化越大,无线信道波动越大,则新的临时丢包率数据相对于历史预估丢包率越重要,因此,历史预估丢包率的权重值(1-G)×γ也越低。
S24、根据每一所述传输速率在当前报文发送轮次的丢包率,计算每一所述传输速率在当前报文发送轮次的吞吐量。
具体地,在遍历所有传输速率,以计算得到每一所述传输速率在当前报文发送轮次的丢包率之后,通过以下计算公式,计算每一所述传输速率在当前报文发送轮次的吞吐量:
Thrp'k_t=(1-E'k_t)×Rk
其中,Thrp'k_t为传输速率Rk在当前报文发送轮次的吞吐量,E'k_t为传输速率Rk在当前报文发送轮次的丢包率。
则所有传输速率在当前报文发送轮次的吞吐量以向量形式表示为:
Thrp't=(1-E't).×Rt.
S25、获取所述吞吐量的最大值所对应的传输速率,作为首选传输速率。
采用本发明实施例的技术手段,通过获取预设的传输速率集合对应的最近N个报文发送轮次的预估丢包率向量,以计算丢包率量化值,用于表征所述N个预估丢包率向量的变化程度。根据所述丢包率量化值,计算每一传输速率在当前报文发送轮次的丢包率,以计算每一所述传输速率在当前报文发送轮次的吞吐量。获取所述吞吐量的最大值所对应的传输速率作为首选传输速率。本发明实施例通过量化数据传输过程中最新时间段内的预估丢包率的变化程度,用于表征无线信道的环境变化程度,从而在计算丢包率的过程中对历史预估丢包率的权重因子进行调整,最终选取出符合当前信道条件的最优传输速率,作为首选传输速率,能够有效提高无线通信网络中数据传输的成功率。
作为优选的实施方式,在获取最近N个报文发送轮次的预估丢包率向量的过程中,为了进一步提高丢包率的计算效率和保证计算结果的全面性,对N值的具体取值进行确定。
在本发明实施例中,N值的确定思路如下:
首先对预估丢包率向量进行公式拆分
Figure BDA0002790377870000111
其中,t表示当前报文发送轮次,t>1,E1为原始默认的预估丢包率向量初始值。
当t趋向于无穷大时,第一项γt-1×E1趋向于无穷小,可忽略不计。而在第二项
Figure BDA0002790377870000112
中,由于η是常量,则根据
Figure BDA0002790377870000113
可以看出:对计算结果影响最大的是m;当m越小,其em的权重越小,其表明时间越早的丢包率的权重越小。因此,若找到一个满足γn<η的最小的nmin,则认为当前项以及当前项之前的项的权重较小。换而言之,由于γ小于1,因此γn是减函数,n越大,γn越小;若能找到nmin使得γn刚好小于η而又最接近η,那么这个最小的nmin即为我们需要确认的值,取N=nmin
综上,N值的取值满足计算公式:
N=arg max F(n);
F(n)=γn-η;
其中,F(n)<0,且n为正整数;γ为预设的历史丢包率权重值,η为预设的临时丢包率权重值,γ+η=1且γ>η。arg max()的含义是:找到能够满足括号中函数最大值的自变量。
由于F(n)<0,因此F(n)=γn-η的最大值是该函数F(n)最接近0的值,满足F(n)最大值的变量n,即为N。作为举例,假设历史丢包率权重值γ为0.8,临时丢包率权重值η为0.2,由于0.87>0.2,0.88<0.2那么满足γn<η<0的最小n值为8,因此,取N=8。
采用本发明实施例的技术手段,根据历史丢包率权重值γ和临时丢包率权重值η,找到一个满足γn<η的最小的nmin作为N值,以确定所需要获取的预估丢包率向量的个数,能够有效避免获取的预估丢包率向量个数不足导致无法较好得反映无线信道的环境变化,又能有效避免获取的预估丢包率向量个数较多导致计算量较大,能够提高对于当前报文发送轮次的丢包率的计算效率和计算结果的准确性。
参见图3,是本发明实施例三提供的数据重传方法中计算备选传输速率的步骤流程示意图。本发明实施例三在实施例一或实施例二的基础上实施,所述计算备选传输速率,具体通过步骤S31至S33执行:
S31、计算预设的传输速率集合中每一传输速率在当前报文发送轮次的预估丢包率。
需要说明的是,所述传输速率集合为预先设置的,其集合范围为无线通信的发送方和接收方都支持的传输速率的交集。
在本发明实施例中,根据每一报文发送轮次,为所述传输速率集合维护一个丢包率表格,用于记录所有传输速率在每一历史报文发送轮次中所对应的预估丢包率,也即所述预估丢包率向量。所述预估丢包率是根据历史统计数据和实时数据计算出来的,并在每一轮次的报文发送完成之后(无论报文发送是否成功)进行更新。因此,每一所述传输速率在上一报文发送轮次的预估丢包率Ek_(t-1)可以通过在所述丢包率表格中获取上一报文发送轮次的预估丢包率向量得到。进而,根据每一所述传输速率在上一报文发送轮次的预估丢包率Ek_(t-1)、在当前报文发送轮次的临时丢包率ek_(t-1),通过以下计算公式,计算每一所述传输速率在当前报文发送轮次的预估丢包率Ek_t
Ek_t=γ×Ek_(t-1)+η×ek_(t-1).
其中,Ek_t为Rk传输速率的当前报文发送轮次的预估丢包率;Ek_(t-1)为上一报文发送轮次的预估丢包率,ek_(t-1)为当前报文发送轮次的临时丢包率;γ为预设的历史丢包率权重值,η为预设的临时丢包率权重值,γ+η=1且γ>η,t表示当前报文发送轮次。
需要说明的是,临时丢包率ek_(t-1)仅考虑上一报文发送轮次(t-1时刻)的发包情况,而不包含历史统计数据,其根据上一报文发送轮次的发包情况来计算。历史丢包率权重值γ和临时丢包率权重值η需要满足关系式γ+η=1,且还需满足γ>η,也即所述预估丢包率的计算相对注重历史统计数据,相对较为保守,以避免新的临时丢包率的大幅度变化对以往的历史统计数据产生较大的冲击。在此基础上,权重值γ和η的具体数值可以根据发送报文的性质、是否完全发送失败、发送的场景等实际情况进行设定和调整,在此不做具体限制。
可以理解地,计算每一所述传输速率在当前报文发送轮次的预估丢包率Ek_t后,即可更新在当前报文发送轮次的预估丢包率向量Et=γ×Et-1+η×et-1
S32、根据每一所述传输速率在当前报文发送轮次的预估丢包率,计算每一所述传输速率在当前报文发送轮次的吞吐量。
具体地,在遍历所有传输速率,以计算得到每一所述传输速率在当前报文发送轮次的丢包率之后,通过以下计算公式,计算每一所述传输速率在当前报文发送轮次的吞吐量:
Thrpk_t=(1-Ek_t)×Rk
其中,Thrpk_t为传输速率Rk在当前报文发送轮次的吞吐量,E'k_t为传输速率Rk在当前报文发送轮次的丢包率。
则所有传输速率在当前报文发送轮次的吞吐量以向量形式表示为:
Thrpt=(1-Et).×Rt.
S33、获取不大于所述首选传输速率,且使得所述吞吐量达到最大值所对应的传输速率,作为备选传输速率。
根据每一所述传输速率在当前报文发送轮次的预估丢包率,计算每一所述传输速率在当前报文发送轮次的吞吐量之后,找到使得吞吐量最大的传输速率。判断该传输速率是否大于首选传输速率。若该传输速率不大于所述首选速率,则将该传输速率作为所述备选传输速率;若该传输速率大于所述首选速率,则查找比当前传输速率小一级的下一个传输速率,并判断其是否大于首选传输速率,直到找到符合要求的最大传输速率,作为备选传输速率。
采用本发明实施例的技术手段,在选取备选传输速率的过程中,相对注重以往的历史统计数据,相对较为保守,能有效避免新的临时丢包率的大幅度变化对以往的历史统计数据产生较大的冲击。在首选传输速率的选择更注重最新丢包率的变化规律,以更符合无线信道的环境变化的情况下,选取一个更注重以往历史丢包率的传输速率作为备用速率,使得两个传输速率的计算方法和所依附的原则不同,面对的场景不一样,从而能够尽可能覆盖大部分的无线信道环境,进一步提高数据的传输成功率。
参见图4,是本发明实施例四提供的一种优选的数据重传方法的步骤流程示意图。本发明实施例四提供的一种数据重传方法,通过步骤S41至S44执行:
S41、在数据传输之前,计算首选传输速率和备选传输速率;其中,所述备选传输速率不大于所述首选传输速率.
S42、启用所述首选传输速率执行数据传输操作。
S43、当启用所述首选传输速率执行的数据传输操作失败时,在第一预设重传次数内,使用所述首选传输速率进行数据重传。
S44、当重传次数达到所述第一预设重传次数,且数据仍传输失败时,启用所述备选传输速率进行数据重传。
作为优选的实施方式,所述数据重传方法还进一步包括步骤:
S45、当启用所述备选传输速率执行的数据传输操作失败时,在第二预设重传次数内,使用所述备选传输速率执行数据重传操作。
S46、当重传次数达到所述第二预设重传次数,且数据仍传输失败时,上报数据传输失败的结果,并重新计算下一报文发送轮次的首选传输速率和备选传输速率。
在本发明实施例中,在计算一个首选传输速率和一个备选传输速率之后,为这两个传输速率分别设置一个最大重传次数,也即第一预设重传次数α和第二预设重传次数β。当采用所述首选传输速率进行数据传输后,若数据传输失败,允许使用所述首选传输速率执行一定次数的数据重传操作。若首选传输速率发送失败α次后,则迅速调转到备用传输速率,允许使用所述备选传输速率执行一定次数的数据重传操作,并在数据发送前加上CTS-to-SELF帧来作为发送保护机制。若备选传输速率发送失败β次后,则返回数据发送失败的结果,并上报软件层,进行下一次的发送调度并重新选取首选传输速率和备选传输速率。
需要说明的是,为了避免使用不恰当的速率进行多次无效重传,一般而言,α和β的值不适合设置得很大。
在本发明实施例中,所述首选传输速率的计算方法可以采用上述实施例二所提供的首选传输速率的计算方法,所述备选传输速率的计算方法可以采用上述实施例三所提供的备选传输速率的计算方法,在此不做赘述。
参见图5,是本发明实施例五提供的一种数据重传装置的结构示意图。本发发明实施例五提供的一种数据重传装置50,包括:传输速率计算模块51、数据传输模块52和数据重传模块53。其中,
传输速率计算模块51,在数据传输之前,计算首选传输速率和备选传输速率;其中,所述备选传输速率不大于所述首选传输速率。
数据传输模块52,用于启用所述首选传输速率进行数据传输。
数据重传模块53,用于当数据传输失败时,启用所述备选传输速率进行数据重传。
作为优选的实施方式,所述传输速率计算模块51包括首选传输速率计算单元511和备选传输速率计算单元512。
其中,所述首选传输速率计算单元511,具体包括:
预估丢包率向量获取子单元,用于获取预设的传输速率集合对应的最近N个报文发送轮次的预估丢包率向量;其中,所述预估丢包率向量记录了所述传输速率集合中所有传输速率的在对应报文发送轮次的预估丢包率。
丢包率量化值计算子单元,用于根据所述传输速率集合的N个预估丢包率向量,计算丢包率量化值;其中,所述丢包率量化值用于表征所述N个预估丢包率向量的变化程度。
具体地,根据所述传输速率集合的N个预估丢包率向量,计算相邻两个预估丢包率向量的距离,得到N-1个距离向量;计算每一所述距离向量的模值,并对所述距离向量的模值进行求均值计算,以得到所述丢包率量化值。
丢包率计算子单元,用于根据所述丢包率量化值,计算每一传输速率在当前报文发送轮次的丢包率。
具体地,根据所述丢包率量化值,以及上一报文发送轮次的预估丢包率、当前报文发送轮次的临时丢包率,通过以下计算公式,计算每一传输速率在当前报文发送轮次的丢包率:
E'k_t=(1-G)×γ×Ek_(t-1)+η×ek_(t-1)
其中,E'k_t为传输速率Rk在当前报文发送轮次的丢包率;G为所述丢包率量化值,Ek_(t-1)为上一报文发送轮次的预估丢包率,ek_(t-1)为当前报文发送轮次的临时丢包率;γ为预设的历史丢包率权重值,η为预设的临时丢包率权重值,γ+η=1且γ>η,t表示当前报文发送轮次。
第一吞吐量计算子单元,用于根据每一所述传输速率在当前报文发送轮次的丢包率,计算每一所述传输速率在当前报文发送轮次的吞吐量;
首选传输速率获取子单元,用于获取所述吞吐量的最大值所对应的传输速率,作为首选传输速率。
作为优选的实施方式,N值的取值满足计算公式:
N=arg max F(n);
F(n)=γn-η;
其中,F(n)<0,且n为正整数;γ为预设的历史丢包率权重值,η为预设的临时丢包率权重值,γ+η=1且γ>η。
作为优选的实施方式,所述备选传输速率计算单元512,具体包括:
预估丢包率计算子单元,用于计算预设的传输速率集合中每一传输速率在当前报文发送轮次的预估丢包率。
具体地,根据每一所述传输速率在上一报文发送轮次的预估丢包率、在当前报文发送轮次的临时丢包率,通过以下计算公式,计算每一所述传输速率在当前报文发送轮次的预估丢包率:
Ek_t=γ×Ek_(t-1)+η×ek_(t-1)
其中,Ek_t为Rk传输速率的当前报文发送轮次的预估丢包率;Ek_(t-1)为上一报文发送轮次的预估丢包率,ek_(t-1)为当前报文发送轮次的临时丢包率;γ为预设的历史丢包率权重值,η为预设的临时丢包率权重值,γ+η=1且γ>η,t表示当前报文发送轮次。
第二吞吐量计算子单元,用于根据每一所述传输速率在当前报文发送轮次的预估丢包率,计算每一所述传输速率在当前报文发送轮次的吞吐量。
备选传输速率获取子单元,用于获取不大于所述首选传输速率,且使得所述吞吐量达到最大值所对应的传输速率,作为备选传输速率。
作为优选的实施方式,所述数据重传模块53,具体用于:
当启用所述首选传输速率执行的数据传输操作失败时,在第一预设重传次数内,使用所述首选传输速率进行数据重传。
当重传次数达到所述第一预设重传次数,且数据仍传输失败时,启用所述备选传输速率进行数据重传。
当启用所述备选传输速率执行的数据传输操作失败时,在第二预设重传次数内,使用所述备选传输速率执行数据重传操作。
当重传次数达到所述第二预设重传次数,且数据仍传输失败时,上报数据传输失败的结果,并重新计算下一报文发送轮次的首选传输速率和备选传输速率。
需要说明的是,本发明实施例提供的一种数据重传装置用于执行上述实施例一至四任一实施例所述的一种数据重传方法的所有流程步骤,两者的工作原理和有益效果一一对应,因而不再赘述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-OnlyMemory,ROM)或随机存储记忆体(RandomAccessMemory,RAM)等。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。

Claims (10)

1.一种数据重传方法,其特征在于,包括:
在数据传输之前,计算首选传输速率和备选传输速率;其中,所述备选传输速率不大于所述首选传输速率;
启用所述首选传输速率执行数据传输操作;
当数据传输失败时,启用所述备选传输速率执行数据重传操作。
2.如权利要求1所述的数据重传方法,其特征在于,所述计算首选传输速率,具体包括:
获取预设的传输速率集合对应的最近N个报文发送轮次的预估丢包率向量;其中,所述预估丢包率向量记录了所述传输速率集合中所有传输速率的在对应报文发送轮次的预估丢包率;
根据所述传输速率集合的N个预估丢包率向量,计算丢包率量化值;其中,所述丢包率量化值用于表征所述N个预估丢包率向量的变化程度;
根据所述丢包率量化值,计算每一传输速率在当前报文发送轮次的丢包率;
根据每一所述传输速率在当前报文发送轮次的丢包率,计算每一所述传输速率在当前报文发送轮次的吞吐量;
获取所述吞吐量的最大值所对应的传输速率,作为首选传输速率。
3.如权利要求2所述的数据重传方法,其特征在于,所述根据所述传输速率集合的N个预估丢包率向量,计算丢包率量化值,具体包括:
根据所述传输速率集合的N个预估丢包率向量,计算相邻两个预估丢包率向量的距离,得到N-1个距离向量;
计算每一所述距离向量的模值,并对所述距离向量的模值进行求均值计算,以得到所述丢包率量化值。
4.如权利要求3所述的数据重传方法,其特征在于,所述根据所述丢包率量化值,计算每一所述传输速率在当前报文发送轮次的丢包率,具体包括:
根据所述丢包率量化值,以及上一报文发送轮次的预估丢包率、当前报文发送轮次的临时丢包率,通过以下计算公式,计算每一传输速率在当前报文发送轮次的丢包率:
E'k_t=(1-G)×γ×Ek_(t-1)+η×ek_(t-1)
其中,E'k_t为传输速率Rk在当前报文发送轮次的丢包率;G为所述丢包率量化值,Ek_(t-1)为上一报文发送轮次的预估丢包率,ek_(t-1)为当前报文发送轮次的临时丢包率;γ为预设的历史丢包率权重值,η为预设的临时丢包率权重值,γ+η=1且γ>η,t表示当前报文发送轮次。
5.如权利要求2所述的数据重传方法,其特征在于,N值的取值满足计算公式:
N=arg max F(n);
F(n)=γn-η;
其中,F(n)<0,且n为正整数;γ为预设的历史丢包率权重值,η为预设的临时丢包率权重值,γ+η=1且γ>η。
6.如权利要求1所述的数据重传方法,其特征在于,所述计算备选传输速率,具体包括:
计算预设的传输速率集合中每一传输速率在当前报文发送轮次的预估丢包率;
根据每一所述传输速率在当前报文发送轮次的预估丢包率,计算每一所述传输速率在当前报文发送轮次的吞吐量;
获取不大于所述首选传输速率,且使得所述吞吐量达到最大值所对应的传输速率,作为备选传输速率。
7.如权利要求6所述的数据重传方法,其特征在于,所述计算预设的传输速率集合中每一传输速率在当前报文发送轮次的预估丢包率,具体包括:
根据每一所述传输速率在上一报文发送轮次的预估丢包率、在当前报文发送轮次的临时丢包率,通过以下计算公式,计算每一所述传输速率在当前报文发送轮次的预估丢包率:
Ek_t=γ×Ek_(t-1)+η×ek_(t-1)
其中,Ek_t为Rk传输速率的当前报文发送轮次的预估丢包率;Ek_(t-1)为上一报文发送轮次的预估丢包率,ek_(t-1)为当前报文发送轮次的临时丢包率;γ为预设的历史丢包率权重值,η为预设的临时丢包率权重值,γ+η=1且γ>η,t表示当前报文发送轮次。
8.如权利要求1所述的数据传输方法,其特征在于,所述当数据传输失败时,启用所述备选传输速率执行数据重传操作,具体包括:
当启用所述首选传输速率执行的数据传输操作失败时,在第一预设重传次数内,使用所述首选传输速率进行数据重传;
当重传次数达到所述第一预设重传次数,且数据仍传输失败时,启用所述备选传输速率进行数据重传。
9.如权利要求1所述的数据传输方法,其特征在于,在所述启用所述备选传输速率执行数据重传操作之后,还包括:
当启用所述备选传输速率执行的数据传输操作失败时,在第二预设重传次数内,使用所述备选传输速率执行数据重传操作;
当重传次数达到所述第二预设重传次数,且数据仍传输失败时,上报数据传输失败的结果,并重新计算下一报文发送轮次的首选传输速率和备选传输速率。
10.一种数据重传装置,其特征在于,包括:
传输速率计算模块,在数据传输之前,计算首选传输速率和备选传输速率;其中,所述备选传输速率不大于所述首选传输速率;
数据传输模块,用于启用所述首选传输速率进行数据传输;
数据重传模块,用于当数据传输失败时,启用所述备选传输速率进行数据重传。
CN202011312908.8A 2020-11-20 2020-11-20 一种数据重传方法和装置 Active CN112564866B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011312908.8A CN112564866B (zh) 2020-11-20 2020-11-20 一种数据重传方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011312908.8A CN112564866B (zh) 2020-11-20 2020-11-20 一种数据重传方法和装置

Publications (2)

Publication Number Publication Date
CN112564866A true CN112564866A (zh) 2021-03-26
CN112564866B CN112564866B (zh) 2022-09-06

Family

ID=75044352

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011312908.8A Active CN112564866B (zh) 2020-11-20 2020-11-20 一种数据重传方法和装置

Country Status (1)

Country Link
CN (1) CN112564866B (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080117888A1 (en) * 2006-11-15 2008-05-22 Cambridge Silicon Radio Limited Transmission rate selection
CN101237310A (zh) * 2007-11-19 2008-08-06 北京邮电大学 一种增强型自适应数据重传的方法
CN102065489A (zh) * 2010-12-21 2011-05-18 杭州华三通信技术有限公司 一种动态分配多速率重传次数的方法和设备
CN103781128A (zh) * 2014-02-24 2014-05-07 南京智达康无线通信科技股份有限公司 一种无线发送速率的优化方法
CN104104481A (zh) * 2013-04-01 2014-10-15 中兴通讯股份有限公司 无线局域网的报文发送方法和装置
US20170237673A1 (en) * 2016-02-16 2017-08-17 Belden, Inc. Systems and methods for retransmission rate selection to support fast moving devices
US20180097731A1 (en) * 2016-10-05 2018-04-05 Fujitsu Limited Communication apparatus and method of communication

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080117888A1 (en) * 2006-11-15 2008-05-22 Cambridge Silicon Radio Limited Transmission rate selection
CN101237310A (zh) * 2007-11-19 2008-08-06 北京邮电大学 一种增强型自适应数据重传的方法
CN102065489A (zh) * 2010-12-21 2011-05-18 杭州华三通信技术有限公司 一种动态分配多速率重传次数的方法和设备
CN104104481A (zh) * 2013-04-01 2014-10-15 中兴通讯股份有限公司 无线局域网的报文发送方法和装置
CN103781128A (zh) * 2014-02-24 2014-05-07 南京智达康无线通信科技股份有限公司 一种无线发送速率的优化方法
US20170237673A1 (en) * 2016-02-16 2017-08-17 Belden, Inc. Systems and methods for retransmission rate selection to support fast moving devices
US20180097731A1 (en) * 2016-10-05 2018-04-05 Fujitsu Limited Communication apparatus and method of communication

Also Published As

Publication number Publication date
CN112564866B (zh) 2022-09-06

Similar Documents

Publication Publication Date Title
US7724750B2 (en) Expedited data transmission in packet based network
US20070280168A1 (en) Radio base station apparatus and scheduling method
CN103650399B (zh) 纠正数据单元的自适应生成
CN107634908B (zh) 一种数据传输的方法和设备
CN101039273A (zh) 通信设备、传输控制方法、和传输控制程序
JP2016500232A (ja) マルチキャストレート制御
CN113014505B (zh) 一种高动态拓扑卫星网络中时延区分的传输控制方法
CN110855564B (zh) 路由路径智能选择方法、装置、设备及可读存储介质
CN113329413B (zh) 用于高铁场景的多路径传输数据预调度方法及系统
JP2018061141A (ja) 通信装置および通信方法
CN112564866B (zh) 一种数据重传方法和装置
CN111447152B (zh) 子流资源调度方法、装置、终端设备和存储介质
US10554428B2 (en) Device and method for data transmission
CN112566188B (zh) 一种数据传输方法、装置和介质
CN116318545A (zh) 视频数据传输方法、装置、设备及存储介质
CN108199814B (zh) 数据传输方法及装置
CN108667563B (zh) 一种前向纠错包个数获取方法及装置
JP7056565B2 (ja) 送信端末、送信方法および送信プログラム
CN116346952A (zh) 传输协议参数调整方法、装置、设备及存储介质
CN115002005A (zh) 一种丢包率计算方法、装置、设备及存储介质
JPH0821969B2 (ja) 伝送制御方法
CN111371873B (zh) 一种Web服务选举方法、装置和服务器
CN113965535B (zh) 消息推送优化方法、装置、设备及可读存储介质
JP5344626B2 (ja) 発信規制方法およびシステム
CN113098782B (zh) 一种网络拥塞的控制方法和计算机设备

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