本发明涉及无线通讯领域,尤其涉及一种重传调度方法及装置。
背景技术:
现有的无线链路控制层l2和传输控制协议层(transfercontrolprotocol,tcp)都有重传机制,但由于分开透明设计,不直接进行传输确认信令的交互。通常l2的实时性较高,如果传输失败,会优先重传。而tcp层会根据收到多次冗余tcp应答(tcpack)信息次数以及重传计时器(retransmissiontimeout,rto)超时来决定是否对数据包进行重传,并且每次重传rto的时间会加倍。当l2重传,如自动重传请求(automaticrepeatrequest,arq)失败后,由于下层数据包的丢失,tcp层会根据自身的请求启动tcp重传。
然而,现有的触发重传机制存在如下问题:
1)tcp要收到三次冗余tcpack信息后启动快速重传。这样,对下行传输包的应答对终端而言,需要传输三次上行的tcpack。在实际的系统中,由于ul信道不稳定,三次上行的tcpack容易丢失,会导致实际快速重传的时延加大,并且tcpack与混合自动重传请求(hybridautomaticrepeatrequest,harq)ack冗余,造成系统传输效率下降。
2)tcprto超时,通常来说所述rto时间是tcp根据估算和归一化往返时延(roundtriptime,rtt)时延得到,其值通常较大,并且在实际的系统中还有最小值(比如200ms)的限定。而且随着传输次数的增加,rto成倍增长。
3)tcp快速重传可能与l2arq存在重叠,导致同样的包被反复重传,导致传输效率降低。
4)l2的信息不能及时反馈到tcp层,比如拥塞导致pdcp超时丢包。tcp层只能依靠自身的rto超时才能启动重传。另外,如果tcp要启动重传,会对大幅降低传输窗口,如快速重传下降为原窗口一半;rto超时下降为初始窗口,启动慢启动流程。同时会有大量的数据处理,比如分组数据汇聚协议(packetdataconvergenceprotocol,pdcp)压缩,加密,无线链路控制(radiolinkcontrol,rlc)层的分片等,会对整体吞吐率和时延有较大的影响。
另外,最近兴起的一种基于用户数据报协议(userdatagramprotocol,udp)的快速udp互联网连接(quickudpinternetconnections,quic)协议而言,其在udp之上也存在因下层数据包的丢失,而根据自身的请求启动quic重传。因此,与tcp重传相类似,在quic重传中也存在累加时延长,信令冗余及吞吐量受限等问题。
技术实现要素:
有鉴于此,本发明实施例为解决上述问题而提供一种重传调度方法及装置。
为达到上述目的,本发明实施例的技术方案是这样实现的:
本发明实施例提供一种重传调度方法,所述方法包括:
检测l2存在数据传输失败时,根据重传周期启动l2重传;
在所述l2重传过程中指示不启动与l2相对应的高层协议重传。
上述方案中,在所述l2重传过程中指示不启动与l2相对应的高层协议重传,包括:
在下行链路中,所述l2重传过程中指示高层协议服务端不启动所述高层协议重传,并向所述高层协议服务端提交高层协议拥塞窗口调整指示信息;
或,在上行链路中,所述l2重传过程中指示用户设备(userequipment,ue)不启动所述高层协议重传,并向所述ue提交高层协议拥塞窗口调整指示信息。
上述方案中,所述方法还包括:
当所述l2重传过程成功后,反馈携带有传输成功确认信息的数据包;所述数据包的高层协议重传计时器失效。
上述方案中,所述方法还包括:
当所述l2重传过程失败后,反馈携带有传输未成功确认信息的数据包,所述数据包的高层协议重传计时器开启,并启动高层协议重传。
上述方案中,所述方法还包括:
当所述l2重传过程失败后,继续重复执行l2重传;
当所述l2重传过程失败的次数超过指定次数阈值后,进一步反馈携带有传输未成功确认信息的数据包。
上述方案中,所述根据重传周期启动l2重传,包括:
接收携带有重传周期的通知消息;
解析所述通知消息,获得所述重传周期;
根据所述重传周期启动l2重传。
上述方案中,所述方法还包括:
当检测有ue与高层协议服务端建立有高层协议连接时,发起取消高层协议应答的通知消息。
本发明实施例还提供一种重传调度装置,所述装置包括重传控制单元和指示单元;
所述重传控制单元,用于检测无线链路控制层l2存在数据传输失败时,根据重传周期启动l2重传;
所述指示单元,用于在所述l2重传过程中指示不启动与l2相对应的高层协议重传。
上述方案中,所述指示单元,还用于在下行链路中,所述l2重传过程中指示高层协议服务端不启动所述高层协议重传,并向所述高层协议服务端提交高层协议拥塞窗口调整指示信息;或,在上行链路中;所述l2重传过程中指示所述ue不启动所述高层协议重传,并向所述ue提交高层协议拥塞窗口调整指示信息。
上述方案中,所述装置还包括第一反馈单元;
所述第一反馈单元,用于当所述l2重传过程成功后,反馈携带有传输成功确认信息的数据包;所述数据包的高层协议重传计时器失效。
上述方案中,所述装置还包括第二反馈单元;
所述第二反馈单元,用于当所述l2重传过程失败后,反馈携带有传输未成功确认信息的数据包,所述数据包的高层协议重传计时器开启,并启动高层协议重传。
上述方案中,所述重传控制单元,还用于当所述l2重传过程失败后,继续重复执行l2重传;
所述第二反馈单元,还用于当所述l2重传过程失败的次数超过指定次数阈值后,进一步反馈携带有传输未成功确认信息的数据包。
上述方案中,所述重传控制单元,还用于接收携带有重传周期的通知消息;解析所述通知消息,获得所述重传周期;根据所述重传周期启动l2重传。
上述方案中,所述装置还包括发送单元;
所述发送单元,用于当检测有ue与高层协议服务端建立有高层协议连接时,发起取消高层协议应答的通知消息。
本发明实施例所提供的重传调度方法,检测l2存在数据传输失败时,根据重传周期启动l2重传;在所述l2重传过程中指示不启动与l2相对应的高层协议重传。如此,能够有效解决现有技术在高层协议重传中累加时延长,信令冗余及吞吐量受限等问题,从而提升重传效率,实现系统性能的大幅度提升。
附图说明
图1为本发明实施例重传调度方法的流程示意图一;
图2为本发明实施例重传调度方法的流程示意图二;
图3为本发明实施例重传调度方法的流程示意图三;
图4为本发明实施例下行链路中实现重传调度方法的系统交互图一;
图5为本发明实施例上行链路中实现重传调度方法的系统交互图二;
图6为本发明实施例重传调度装置的组成结构示意图。
具体实施方式
下面结合附图及具体实施例对本发明再作进一步详细的说明。
本发明实施例中,检测l2存在数据传输失败时,根据重传周期启动l2重传;在所述l2重传过程中指示不启动与l2相对应的高层协议重传。
实施例一
图1为本发明实施例重传调度方法的流程示意图一,如图1所示,本发明实施例重传调度方法包括:
步骤101:当检测有ue与高层协议服务端建立有高层协议连接时,发起取消高层协议应答的通知消息;
其中,所述高层协议为与l2相对应的高层协议,在实际应用中,可以为在tcp之上的tcp协议,或在udp之上的quic协议。
在一示例中,对于tcp协议来讲,具体地,在数据链路传输过程中,当检测有ue与tcp服务端建立有tcp连接时,无线接入网元(radioaccessnetwork,ran)首先想ue及tcp服务端发起取消tcp应答ack的通知消息,以通过所述tcpack的通知消息来取消tcpack。当然,这里所提及的数据链路可以为上行链路,也可以为下行链路。
步骤102:检测l2存在数据传输失败时,根据重传周期启动所述l2重传;
其中,所述重传周期可以由ran进行自由设定,也可以通过接收携带有重传周期的通知消息的方式来获得。
这里,以tcp协议为例,ran接收由ue或tcp服务端发送的携带有tcp重传周期的通知消息。具体来讲,在下行链路中,所述携带有tcp重传周期的通知消息通常由tcp服务端发起;相应的,ran接收由tcp服务端发送的携带有tcp重传周期的通知消息;而在上行链路中,所述携带有tcp重传周期的通知消息通常由ue发起;相应的,ran接收由ue发送的携带有tcp重传 周期的通知消息。当然,ran在接收到携带有tcp重传周期的通知消息后,会通过解析所述通知消息的方式,得到tcp重传周期。
同理,若以quic协议为例,ran在接收到携带有quic重传周期的通知消息后,会通过解析所述通知消息的方式,得到quic重传周期。
这里,ran首先检测l2是否存在数据传输失败;当检测有数据传输失败时,根据重传周期启动l2重传;否则,结束本次流程。
步骤103:在所述l2重传过程中指示不启动与l2相对应的高层协议重传。
这里,ran在所述l2arq重传过程中指示所述高层协议服务端或ue不启动高层协议重传,并向所述高层协议服务端或ue提交高层协议拥塞窗口调整指示信息。具体来讲,在下行链路中,ran与所述高层协议服务端进行信令交互,在所述l2重传过程中指示所述高层协议服务端不启动高层协议重传,并向所述高层协议服务端提交高层协议拥塞窗口调整指示信息;而在上行链路中,ran与所述ue进行信令交互,在所述l2重传过程中指示所述ue不启动高层协议重传,并向所述ue提交高层协议拥塞窗口调整指示信息。
其中,所述高层协议拥塞窗口调整指示信息包括丢包的原因,如拥塞还是错误解析造成,动态指示高层协议服务端或ue的发送速率。
通过本发明实施例所述重传调度方法,当检测有ue与高层协议服务端建立有高层协议连接时,发起取消高层协议应答的通知消息;检测l2存在数据传输失败时,根据重传周期启动所述l2重传;在所述l2重传过程中指示不启动高层协议重传。如此,在上、下行链路传输中,通过多次l2重传机制,为ue、ran及高层协议三者的交互信令中,优先进行l2的重传,并可以依据实际情况,在高层协议重传超时前进行多次l2重传,能够有效解决现有技术在高层协议重传中累加时延长,信令冗余及吞吐量受限等问题,从而提升重传效率,实现系统性能的大幅度提升。
实施例二
基于本发明实施例一,本发明实施例提供另一种重传调度方法,所述方法 还包括:当所述l2重传过程成功后,反馈携带有传输成功确认信息的数据包;所述数据包的高层协议重传计时器失效;或者,当所述l2重传过程失败后,反馈携带有传输未成功确认信息的数据包,所述数据包的高层协议重传计时器开启,并启动高层协议重传。
图2为本发明实施例重传调度方法的流程示意图二,所述重传调度方法以高层协议为tcp协议为例进行说明,如图2所示,本发明实施例重传调度方法包括:
步骤201:当检测有ue与tcp服务端建立有tcp连接时,发起取消tcp应答的通知消息;
具体地,在数据链路传输过程中,当检测有ue与tcp服务端建立有tcp连接时,ran首先想ue及tcp服务端发起取消tcp应答ack的通知消息,以通过所述tcpack的通知消息来取消tcpack。当然,这里所提及的数据链路可以为上行链路,也可以为下行链路。
步骤202:接收携带有tcp重传周期的通知消息;
这里,ran接收由ue或tcp服务端发送的携带有tcp重传周期的通知消息。具体来讲,在下行链路中,所述携带有tcp重传周期的通知消息通常由tcp服务端发起;相应的,ran接收由tcp服务端发送的携带有tcp重传周期的通知消息;而在上行链路中,所述携带有tcp重传周期的通知消息通常由ue发起;相应的,ran接收由ue发送的携带有tcp重传周期的通知消息。
当然,ran在接收到携带有tcp重传周期的通知消息后,会通过解析通知消息的方式,得到tcp重传周期。
步骤203:检测l2存在数据传输失败时,根据所述tcp重传周期启动所述l2重传;
这里,ran首先检测l2是否存在数据传输失败;当检测有数据传输失败时,根据所述tcp重传周期启动所述l2重传;否则,结束本次流程。
步骤204:在所述l2重传过程中指示不启动tcp重传,并提交tcp拥塞窗口调整指示信息;
这里,ran在所述l2重传过程中指示所述tcp服务端或ue不启动tcp重传,并向所述tcp服务端或ue提交tcp拥塞窗口调整指示信息。具体来讲,在下行链路中,ran与所述tcp服务端进行信令交互,在所述l2重传过程中指示所述tcp服务端不启动tcp重传,并向所述tcp服务端提交tcp拥塞窗口调整指示信息;而在上行链路中,ran与所述ue进行信令交互,在所述l2重传过程中指示所述ue不启动tcp重传,并向所述ue提交tcp拥塞窗口调整指示信息。
其中,所述tcp拥塞窗口调整指示信息包括丢包的原因,如拥塞还是错误解析造成,动态指示tcp服务端或ue的发送速率。
步骤205:当所述l2重传过程成功后,反馈携带有传输成功确认信息的数据包;所述数据包的tcp重传计时器失效。
步骤206:当所述l2重传过程失败后,反馈携带有传输未成功确认信息的数据包,所述数据包的tcp重传计时器开启,并启动tcp重传。
通过本发明实施例所述重传调度方法,在根据重传周期启动所述l2重传,在所述l2重传过程中指示不启动高层协议重传的基础上,当所述l2重传过程成功后,反馈携带有传输成功确认信息的数据包;所述数据包的高层协议重传计时器失效;当所述l2重传过程失败后,反馈携带有传输未成功确认信息的数据包,所述数据包的高层协议重传计时器开启,并启动高层协议重传。如此,在上、下行链路传输中,通过多次l2重传机制,为ue、ran及高层协议三者的交互信令中,优先进行l2的重传,并可以依据实际情况,在高层协议重传超时前进行多次l2重传,能够有效解决现有技术在高层协议重传中累加时延长,信令冗余及吞吐量受限等问题,从而提升重传效率,实现系统性能的大幅度提升。
实施例三
基于本发明实施例一或二,本发明实施例提供另一种重传调度方法,所述方法还包括:当所述l2重传过程成功后,反馈携带有传输成功确认信息的数 据包;所述数据包的高层协议重传计时器失效;当所述l2重传过程失败后,继续重复执行l2重传;当所述l2重传过程失败的次数超过指定次数阈值后,进一步反馈携带有传输未成功确认信息的数据包。
图3为本发明实施例重传调度方法的流程示意图三,所述重传调度方法以高层协议为tcp协议为例进行说明,如图3所示,本发明实施例重传调度方法包括:
步骤301:当检测有ue与tcp服务端建立有tcp连接时,发起取消tcp应答的通知消息;
具体地,在数据链路传输过程中,当检测有ue与tcp服务端建立有tcp连接时,ran首先想ue及tcp服务端发起取消tcp应答ack的通知消息,以通过所述tcpack的通知消息来取消tcpack。当然,这里所提及的数据链路可以为上行链路,也可以为下行链路。
步骤302:接收携带有tcp重传周期的通知消息;
这里,ran接收由ue或tcp服务端发送的携带有tcp重传周期的通知消息。具体来讲,在下行链路中,所述携带有tcp重传周期的通知消息通常由tcp服务端发起;相应的,ran接收由tcp服务端发送的携带有tcp重传周期的通知消息;而在上行链路中,所述携带有tcp重传周期的通知消息通常由ue发起;相应的,ran接收由ue发送的携带有tcp重传周期的通知消息。
当然,ran在接收到携带有tcp重传周期的通知消息后,会通过解析通知消息的方式,得到tcp重传周期。
步骤303:检测l2存在数据传输失败时,根据所述tcp重传周期启动所述l2重传;
这里,ran首先检测l2是否存在数据传输失败;当检测有数据传输失败时,根据所述tcp重传周期启动所述l2重传;否则,结束本次流程。
步骤304:在所述l2重传过程中指示不启动tcp重传,并提交tcp拥塞窗口调整指示信息;
其中,所述tcp拥塞窗口调整指示信息包括丢包的原因,如拥塞还是错误 解析造成,动态指示tcp服务端或ue的发送速率。
这里,ran在所述l2arq重传过程中指示所述tcp服务端或ue不启动tcp重传,并向所述tcp服务端或ue提交tcp拥塞窗口调整指示信息。具体来讲,在下行链路中,ran与所述tcp服务端进行信令交互,在所述l2arq重传过程中指示所述tcp服务端不启动tcp重传,并向所述tcp服务端提交tcp拥塞窗口调整指示信息;而在上行链路中,ran与所述ue进行信令交互,在所述l2arq重传过程中指示所述ue不启动tcp重传,并向所述ue提交tcp拥塞窗口调整指示信息。
步骤305:当所述l2重传过程成功后,反馈携带有传输成功确认信息的数据包;所述数据包的tcp重传计时器失效。
步骤306:当所述l2重传过程失败后,继续重复执行l2重传;
步骤307:当所述l2重传过程失败的次数超过指定次数阈值后,进一步反馈携带有传输未成功确认信息的数据包。
这里,所述指定次数阈值n的取值可以根据实际需要进行确认,通常情况下可以将所述指定次数阈值n取值为3。
通过本发明实施例所述重传调度方法,在根据重传周期启动所述l2重传,在所述l2重传过程中指示不启动高层协议重传的基础上,当所述l2重传过程成功后,反馈携带有传输成功确认信息的数据包;所述数据包的高层协议重传计时器失效;当所述l2重传过程失败后,继续重复执行l2重传;当所述l2重传过程失败的次数超过指定次数阈值后,进一步反馈携带有传输未成功确认信息的数据包。如此,在上、下行链路传输中,通过多次l2重传机制,为ue、ran及高层协议三者的交互信令中,优先进行l2的重传,并可以依据实际情况,在tcp重传超时前进行多次l2重传,能够有效解决现有技术在高层协议重传中累加时延长,信令冗余及吞吐量受限等问题,从而提升重传效率,实现系统性能的大幅度提升。另外,还可以保证在l2重传一次失败后,进行多次l2重传机制,而并非直接启动高层协议重传。
实施例四
图4为本发明实施例下行链路中实现重传调度方法的系统交互图一,如图4所示,本发明实施例重传调度方法包括:
步骤1a,ue与tcp服务端(即tcpserver,简称tcps)进行tcp连接;
步骤2a,ran通知ue/tcp取消tcpack;
步骤3a,tcpserver将tcp重传周期t1告知ran;
步骤4a,当l2中arq发生重传失败时,ran根据tcp重传周期t1信息启动再次或多次的l2重传,重传过程中ran告知tcpserver不要重传,并对tcp拥塞窗口提供调整指示;
步骤5a,如果重启的l2arq重传成功,ran给tcpserver反馈传输成功确认信息的数据包,所述数据包的tcp重传计时器也立即失效,所述数据包不再进行任何重传;
步骤6a,如果重启的l2arq重传失败,ran给tcpserver反馈传输未成功确认信息的数据包,所述数据包的tcp重传立即开启;
步骤7a,启动进行tcp重传。
实施例五
图5为本发明实施例上行链路中实现重传调度方法的系统交互图二,如图5所示,本发明实施例重传调度方法包括:
步骤1b,ue与tcp服务端(即tcpserver)进行tcp连接;
步骤2b,ran通知ue/tcp取消tcpack;
步骤3b,ue将tcp重传周期t1告知ran;
步骤4b,当l2中arq发生重传失败时,ran根据tcp重传周期t1信息启动再次或多次的l2重传,重传过程中ran告知ue不要重传,并对tcp拥塞窗口提供调整指示;
步骤5b,如果重启的l2arq重传成功,ran给ue反馈传输成功确认信息的数据包,所述数据包的tcp重传计时器也立即失效,该数据包不再进行任 何重传;
步骤6b,如果重启的l2arq重传失败,ran给ue反馈传输未成功确认信息的数据包,所述数据包的tcp重传立即开启;
步骤7b,启动进行tcp重传。
实施例六
图6为本发明实施例重传调度装置的组成结构示意图,如图6所示,所述装置60包括重传控制单元601和指示单元602;
所述重传控制单元601,用于检测l2存在数据传输失败时,根据重传周期启动所述l2重传;
所述指示单元602,用于在所述l2重传过程中指示不启动与l2相对应的高层协议重传。
在一示例中,所述指示单元602,还用于在下行链路中,所述l2重传过程中指示高层协议服务端不启动所述高层协议重传,并向所述高层协议服务端提交高层协议拥塞窗口调整指示信息;或,在上行链路中,所述l2重传过程中指示所述ue不启动所述高层协议重传,并向所述ue提交高层协议拥塞窗口调整指示信息。
在一示例中,所述装置还包括第一反馈单元603;
所述第一反馈单元603,用于当所述l2重传过程成功后,反馈携带有传输成功确认信息的数据包;所述数据包的高层协议重传计时器失效。
在一示例中,所述装置还包括第二反馈单元604;
所述第二反馈单元604,用于当所述l2重传过程失败后,反馈携带有传输未成功确认信息的数据包,所述数据包的高层协议重传计时器开启,并启动高层协议重传。
在又一示例中,所述重传控制单元601,还用于当所述l2重传过程失败后,继续重复执行l2重传;所述第二反馈单元604,还用于当所述l2重传过程失败的次数超过指定次数阈值后,进一步反馈携带有传输未成功确认信息的数据 包。
在一示例中,所述重传控制单元601,还用于接收携带有重传周期的通知消息;解析所述通知消息,获得所述重传周期;根据所述重传周期启动l2重传。
在一示例中,所述装置还包括发送单元605;
所述发送单元605,用于当检测有ue与高层协议服务端建立有高层协议连接时,发起取消高层协议应答的通知消息。
在实际应用中,本发明实施例用于组成所述装置的各单元均可以通过所述装置所在网元ran中的处理器实现,也可以通过具体的逻辑电路实现;比如,在实际应用中,可由位于所述ran中的中央处理器(cpu)、微处理器(mpu)、数字信号处理器(dsp)、或现场可编程门阵列(fpga)实现。
这里需要指出的是:以上装置实施例项的描述,与上述方法描述是类似的,具有同方法实施例一至五相同的有益效果,因此不做赘述。对于本发明装置实施例中未披露的技术细节,本领域的技术人员请参照本发明方法实施例一至五的描述而理解,为节约篇幅,这里不再赘述。
以上所述仅是本发明实施例的实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明实施例原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明实施例的保护范围。