数据分组的传输方法及装置、存储介质、终端与流程

文档序号:21104437发布日期:2020-06-16 21:08阅读:264来源:国知局
数据分组的传输方法及装置、存储介质、终端与流程

本发明涉及通信技术领域,具体地涉及一种数据分组的传输方法及装置、存储介质、终端。



背景技术:

当前,在传统的电气和电子工程师协会802.11(instituteofelectricalandelectronicsengineers802.11,简称ieee802.11)标准(例如,无线局域网(wirelesslocalareanetwork,简称wlan)标准)单链路系统中,在允许数据分组聚合的情况下,当发送的数据分组序号(sequencenumber,简称sn)到达传输窗口(transmissionwindow,简称tx窗口)末尾时,如果序号较小的数据分组传输失败,则在这种情况下,在该数据分组重传成功或重传失败并被丢弃之前,均不会传输其他数据分组。

对比传统的单链路系统,在多链路系统中,数据分组可以通过多个支持的信道之一进行发送。通常情况下,每个数据分组可以通过任一信道进行发送,即使在非聚合的情况下,也需要引入tx窗口的概念。在允许数据分组聚合的情况下,多链路系统在tx窗口大小相同的情况下,发生数据传输阻塞的概率会更高。



技术实现要素:

本发明解决的技术问题是在wlan多链路系统中,如何减少数据分组失败引起的数据分组传输阻塞。

为解决上述技术问题,本发明实施例提供一种数据分组的传输方法,包括:在多传输信道传输过程中,将传输窗口中首个失败数据分组复制至多传输信道中的其他传输信道,所述其他传输信道为用于传输所述首个失败数据分组的传输信道以外的至少一个传输信道;在所述其他传输信道和所述首个失败数据分组所在的传输信道,重传所述首个失败数据分组;其中,所述首个失败数据分组为所述传输窗口中,传输失败且序号最小的数据分组。

可选的,所述将传输窗口中首个失败数据分组复制至多传输信道中的其他传输信道包括:预测所述传输窗口是否处于数据分组填满状态,当所述传输窗口的终止序号与所述传输窗口中各个数据分组的最大序号之差小于第一预设阈值时,确定所述传输窗口处于数据分组填满状态;如果所述传输窗口处于所述数据分组填满状态,则将所述传输窗口中首个失败数据分组复制至所述多传输信道中的其他传输信道;其中,所述第一预设阈值为正整数。

可选的,在将传输窗口中首个失败数据分组复制至多传输信道中的其他传输信道之前,所述传输方法还包括:如果所述首个失败数据分组与所述传输窗口的起始序号之差超过第二预设阈值,那么更新所述传输窗口的起始序号,更新后的传输窗口的起始序号等于所述传输窗口的起始序号与第三预设阈值之和;其中,所述第二预设阈值、所述第三预设阈值为正整数,1≤所述第三预设阈值≤n,n表示所述首个失败数据分组与所述传输窗口的起始序号之差。

可选的,在更新所述传输窗口的起始序号之前,所述传输方法还包括:发送更新传输窗口起始序号消息,所述更新传输窗口起始序号消息由如下任一数据包携带:块确认请求帧、预设传输窗口起始序号更新帧、数据帧中的背负式消息、控制信令帧。

可选的,在预测所述传输窗口是否处于数据分组填满状态之前,所述传输方法还包括:判断首个失败数据分组的序号与所述传输窗口的起始序号的差值是否小于或等于预设阈值;当判断结果为是时,执行所述预测所述传输窗口是否处于数据分组填满状态的步骤。

可选的,所述传输方法还包括:如果所述首个失败数据分组重传成功,所述传输窗口中具有传输失败的至少一个数据分组,则更新所述传输窗口的起始序号,更新后的传输窗口的起始序号为第一数据分组的序号,所述第一数据分组为所述至少一个数据分组中序号最小的数据分组。

可选的,所述传输方法还包括:如果所述首个失败数据分组重传成功,且所述传输窗口中的其他数据分组都传输成功,则更新所述传输窗口的起始序号,更新后的传输窗口的起始序号等于所述传输窗口的终止序号加1。

可选的,所述传输方法还包括:如果所述首个失败数据分组重传成功,则停止重传。

为解决上述技术问题,本发明实施例还提供一种数据分组的传输装置,包括:复制模块,适于在多传输信道传输过程中,将传输窗口中首个失败数据分组复制至多传输信道中的其他传输信道,所述其他传输信道为用于传输所述首个失败数据分组的传输信道以外的至少一个传输信道;重传模块,适于在所述其他传输信道和所述首个失败数据分组所在的传输信道,重传所述首个失败数据分组;其中,所述首个失败数据分组为所述传输窗口中,传输失败且序号最小的数据分组。

为解决上述技术问题,本发明实施例还提供一种存储介质,其上存储有计算机指令,所述计算机指令运行时执行上述方法的步骤。

为解决上述技术问题,本发明实施例还提供一种终端,包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机指令,所述处理器运行所述计算机指令时执行上述方法的步骤。

与现有技术相比,本发明实施例的技术方案具有以下有益效果:

本发明实施例提供一种数据分组的传输方法,包括:在多传输信道传输过程中,将传输窗口中首个失败数据分组复制至多传输信道中的其他传输信道,所述其他传输信道为用于传输所述首个失败数据分组的传输信道以外的至少一个传输信道;在所述其他传输信道和所述首个失败数据分组所在的传输信道,重传所述首个失败数据分组;其中,所述首个失败数据分组为所述传输窗口中,传输失败且序号最小的数据分组。在多传输信道传输过程中,本发明实施例,通过复制首个失败数据分组至所述其他传输信道中,以一并在多个传输信道中进行重传,提高了重传成功率。进一步,对比单一传输信道的数据重传,本发明实施例可以一并在多个传输信道进行重传,能够极大地缩短重传时延。

进一步,所述将传输窗口中首个失败数据分组复制至多传输信道中的其他传输信道包括:预测所述传输窗口是否处于数据分组填满状态,当所述传输窗口的终止序号与所述传输窗口中各个数据分组的最大序号之差小于第一预设阈值时,确定所述传输窗口处于数据分组填满状态;如果所述传输窗口处于所述数据分组填满状态,则将所述传输窗口中首个失败数据分组复制至所述多传输信道中的其他传输信道;其中,所述第一预设阈值为正整数。本发明实施例通过事先判断所述传输窗口是否处于数据分组填满状态,并在判断结果为所述传输窗口处于所述数据分组填满状态时,将首个失败数据分组复制至其他传输信道,为解决传输窗口阻塞提供可能。

附图说明

图1是现有技术中的一种多链路系统的数据传输示意图;

图2是现有技术的一种数据流入两条信道的示意图;

图3是本发明实施例的一种数据分组的传输方法的流程示意图;

图4是本发明实施例的一种数据分组的传输装置的结构示意图。

具体实施方式

如背景技术所言,多链路系统发生数据传输阻塞的概率很高,且没有可行的解决方案。

本领域技术人员理解,现有技术中,当传输的数据分组的序号到达tx窗口末尾时,所述tx窗口中,可能出现存在序号较小的、传输失败的数据分组。在这种情况下,除非所述数据分组重传成功或者丢弃,才能发送新的数据分组。在tx窗口尺寸相同的条件下,较之传统单链路系统,多链路系统发生数据传输阻塞的几率会更高。

图1是现有技术中的一种多链路系统的数据传输示意图。如图1所示,链路有两条,分别是信道ch1和信道ch2。wlan接入点(accesspoint,简称ap)与站点(station,简称sta)进行数据交互时,数据经发送方的介质访问控制(mediumaccesscontrol,简称mac)层,分别流入lmac(lowermac)层(图示为lmac1、lmac2)和物理层(图示为phy1、phy2),之后经信道ch1和信道ch2,发送至接收方的物理层(图示为phy1、phy2)、lmac层(图示为lmac1、lmac2),并上传至mac层。

其中,信道ch1和信道ch2是两条不同的信道,可以处于同一频段,也可以处于不同频段,例如,信道ch1和信道ch2分别处于2ghz频段和5ghz频段。具体实施中,待传输的数据被存储至信道队列中,并在竞争到信道后发出。

参考图2,图2是现有技术的一种数据流入两条信道的示意图。图2中,待传输数据分组101包括分组a、分组b、分组c、分组d、分组e、……。在其中一实施例中,可以分别指定每个待传输数据分组的可使用信道,在此一实施例中,指定每个待传输数据分组都可以使用两条信道。结合图1,在不考虑聚合和服务质量的传输示例中,终端包括2个物理层、信道ch1和信道ch2。信道ch1的队列表102可以传输分组a、分组b、分组c、分组d、分组e、……,信道ch2的队列表103可以传输分组a、分组b、分组c、分组d、分组e、……。所有待传输数据分组可以通过任一物理层传输。所述待传输数据分组分别存储于各自的队列表(所述队列表102和所述队列表103)中。当信道ch1获得传输机会时,分组a通过信道1传输,队列表103将移除所述分组a。之后,当信道ch2获得传输机会时,分组b通过信道2传输,队列表102将移除所述分组b。

在多链路系统中,当采用类似图2所示的现有技术方案时,可用信道数量增多,如果信道质量好,那么无疑将加快分组传输速度。然而,如果某个信道的质量较差,其分组传输失败,而其他信道已经删除了该分组,且其他信道可以传输其余分组,那么可能大概率出现传输窗口处于数据分组填满状态,导致数据传输阻塞的概率变大。

本发明实施例提供一种数据分组的传输方法,包括:在多传输信道传输过程中,将传输窗口中首个失败数据分组复制至多传输信道中的其他传输信道,所述其他传输信道为用于传输所述首个失败数据分组的传输信道以外的至少一个传输信道;在所述其他传输信道和所述首个失败数据分组所在的传输信道,重传所述首个失败数据分组;其中,所述首个失败数据分组为所述传输窗口中,传输失败且序号最小的数据分组。

在多传输信道传输过程中,本发明实施例通过复制首个失败数据分组至所述其他传输信道中,以一并在多个传输信道中进行重传,提高了重传成功率。进一步,对比单一传输信道的数据重传,本发明实施例可以一并在多个传输信道进行重传,能够极大地缩短重传时延。

为使本发明的上述目的、特征和有益效果能够更为明显易懂,下面结合附图对本发明的具体实施例做详细的说明。

图3是本发明实施例的一种数据分组的传输方法的流程示意图。所述传输方法可以由终端执行,例如,由wlanap或wlan站点执行。具体而言,所述传输方法可以包括以下步骤:

步骤s301,在多传输信道传输过程中,将传输窗口中首个失败数据分组复制至多传输信道中的其他传输信道,所述其他传输信道为用于传输所述首个失败数据分组的传输信道以外的至少一个传输信道;

步骤s302,在所述其他传输信道和所述首个失败数据分组所在的传输信道,重传所述首个失败数据分组;

其中,所述首个失败数据分组为所述传输窗口中,传输失败且序号最小的数据分组。

更具体而言,如果wlan系统是多链路传输系统,那么wlan数据传输通常可以采用多个传输信道进行数据传输。

在步骤s301中,当存在多个传输信道时,对于某一传输信道的数据分组,如果该数据分组为传输窗口中,传输失败且序号最小的数据分组,则可以将该数据分组称为首个失败数据分组。在此条件下,如果终端除所述传输信道之外,还有至少一个可用的其他传输信道,那么所述终端可以将所述传输窗口中的首个失败数据分组复制至所述其他传输信道,所述其他传输信道为用于传输所述首个失败数据分组的传输信道以外的至少一个传输信道。

在具体实施中,当所述传输窗口的终止序号与所述传输窗口中各个数据分组的最大序号之差小于第一预设阈值时,所述终端可以确定所述传输窗口处于数据分组填满状态。其中,所述第一预设阈值为正整数。所述传输窗口数据分组填满状态,表示传输窗口已全部填满或即将全部填满。

进一步,如果所述首个失败数据分组与所述传输窗口的起始序号之差超过第二预设阈值,那么所述终端可以发送更新传输窗口起始序号消息,所述更新传输窗口起始序号消息可以由如下任一数据包携带:块确认请求(blockackrequest,简称bar)帧、预设传输窗口起始序号更新帧(可以为新的信令帧)、数据帧中的背负式消息(piggy-backinformation)、控制信令帧。

之后,如果所述终端接收到对端的确认信息,则所述终端可以更新所述传输窗口的起始序号,更新后的传输窗口的起始序号可以等于所述传输窗口的起始序号与第三预设阈值之和。其中,所述第二预设阈值、所述第三预设阈值为正整数,1≤所述第三预设阈值≤n,n表示所述首个失败数据分组与所述传输窗口的起始序号之差。

进一步,所述终端可以将所述tx窗口中首个失败数据分组复制至所述多传输信道中的其他传输信道,以尝试在多个传输信道中传输所述首个失败数据分组。

在步骤s302中,所述终端可以在所述其他传输信道和所述首个失败数据分组所在的传输信道,重传所述首个失败数据分组。

在一个实施例中,如果具有两个以上可用的传输信道,所述终端可以在所述两个以上可用的传输信道并行传输所述首个失败数据分组。

在另一个实施例中,如果当前仅有一个可用的传输信道,所述终端可以在该可用的传输信道传输所述首个失败数据分组。如果在传输所述首个失败数据分组且未得到成功传输的反馈消息时,所述终端获得另一个或多个其他可用的传输信道,则所述终端可以在所述另一个或多个其他可用的传输信道冗余重传所述首个失败数据分组,以使得接收方能够尽可能可靠、快速地成功接收到所述首个失败数据分组。

进一步,对于传输所述首个失败数据分组的各个传输信道,无论所述首个失败数据分组在哪个传输信道重传成功,都可以在其余传输信道停止对所述首个失败数据分组的传输,并可以删除该首个数据分组。如果未成功传输,则可以继续在所述多个传输信道上重传所述首个失败数据分组,直至其中一个传输信道传输成功,或者达到数据分组最大重传次数为止。

需要说明的是,该数据分组最大重传次数可以为所有传输信道的总传输次数;也可以是各个传输信道独立计数的最大重传次数,此时,对比现有技术中的数据分组最大重传次数,该首个失败数据分组的总传输次数将增加。

在一个实施例中,如果该首个失败数据分组重传成功,且所述传输窗口中不存在其他传输失败的数据分组,那么所述终端可以更新所述传输窗口的起始序号,更新后的传输窗口的起始序号可以等于所述传输窗口的终止序号加1。

在一个实施例中,如果该首个失败数据分组重传成功,且所述传输窗口中存在其他传输失败的数据分组(序号大于所述首个失败数据分组),那么所述终端可以更新所述传输窗口的起始序号,更新后的传输窗口的起始序号可以等于所述其他传输失败的数据分组的序号。作为一个变化例,如果所述其他失败的数据分组的序号与所述首个失败数据分组的序号的差值很小,那么为避免传输窗口的起始序号的更新过于频繁,可以在对所述其他失败的数据分组重传成功后,才更新所述传输窗口的起始序号。

下面以具体实施例进行阐述。

假设tx窗口的起始序号为winstart,终止序号为winend,tx窗口长度为winsize=winend-winstart+1。令sn表示数据分组的序号,sn为非负整数。假设序号为sn_f的数据分组为所述tx窗口中传输失败,且序号最小的数据分组;sn_e表示tx窗口中的数据分组的最大序号,当sn_e=winend,表示tx窗口处于数据分组全部填满。

在多链路系统中,为了有效避免因序号较小的数据分组传输失败,而引起tx窗口阻塞现象的发生,本发明实施例引入提前预测机制。

在具体实施中,可以定义tx_window_full_alarm为1,表示预测结果为tx窗口处于填满状态;tx_window_full_alarm为0,表示预测结果为tx窗口未处于填满状态。在一个实施例中,当winend-sn_e≤th1时,tx_window_full_alarm=1,否则,tx_window_full_alarm=0。

进一步,如果tx_window_full_alarm=1,且sn_f>winstart,那么可以更新winstart,以避免出现tx窗口填满状态。在一个实施例中,为避免winstart更新过于频繁,可以采用下列方法,如果sn_f-winstart≥th2,那么可以采用winstart+delta替代原winstart,其中,1≤delta≤(sn_f-winstart)。

本领域技术人员理解,所述终端在更新winstart之前,可以通过发送块确认请求帧,以发送更新传输窗口起始序号消息,通知接收终端更新传输窗口起始序号。所述更新传输窗口起始序号消息可以由如下任一数据包携带:块确认请求帧、预设传输窗口起始序号更新帧、数据帧中的背负式消息、控制信令帧。在得到接收终端的确认后,所述终端和接收终端可以更新winstart,相应地,winend将随着winstart的更新而更新。

进一步,如果tx_window_full_alarm=1,则可以将序号为sn_f的首个失败数据分组复制到其他链路上进行传输,且复制的数据分组具有高优先级。

在具体实施中,在序号为sn_f的首个失败数据分组在任何一个链路中成功传输之后,所述tx窗口中,可能仍然存在其他传输失败的数据分组。假设所述其他传输失败的数据分组中,序号最小的数据分组的序号为new_sn_f,此时,该序号为new_sn_f的数据分组成为了当前tx窗口中的新的首个失败数据分组。在此条件下,如果更新tx窗口的起始序号,则更新后的起始序号为new_sn_f。

在具体实施中,如果所述序号为sn_f的数据分组重传成功,但new_sn_f-sn_f的数值太小,可以在多次数据分组重传成功后,才一次更新起始序号为最新的new_sn_f。

在具体实施中,如果在序号为sn_f的首个失败数据分组成功传输后,所述tx窗口中没有其他传输失败的数据分组,则更新tx窗口的起始序号时,可以设置tx窗口的起始序号为sn_e+1,sn_e表示tx窗口中的数据分组的最大序号。

本领域技术人员理解,如果序号为sn_f的首个失败数据分组在任何一个链路中成功传输,则可以停止和删除正在其他链路上进行的传输或在其他链路中传输的sn_f数据包。如果所述序号为sn_f的数据分组重传成功,则停止重传,并移除所述序号为sn_f的数据分组。

由上,本发明实施例提供的技术方案,可以在wlan多链路系统中,如减少数据分组失败引起的数据分组传输阻塞。进一步,可以在多个传输信道进行重传,提高重传成功率,缩短重传时延。

图4是本发明实施例的一种数据分组的传输装置的结构示意图。所述数据分组的传输装置4(以下简称传输装置4)可以实施图3所示方法技术方案,由终端执行,例如,由wlanap或wlan站点执行。

具体而言,所述传输装置4可以包括:复制模块41,适于在多传输信道传输过程中,将传输窗口中首个失败数据分组复制至多传输信道中的其他传输信道,所述其他传输信道为用于传输所述首个失败数据分组的传输信道以外的至少一个传输信道;重传模块42,适于在所述其他传输信道和所述首个失败数据分组所在的传输信道,重传所述首个失败数据分组;其中,所述首个失败数据分组为所述传输窗口中,传输失败且序号最小的数据分组。

在具体实施中,所述复制模块41可以包括:预测子模块411,适于预测所述传输窗口是否处于数据分组填满状态,当所述传输窗口的终止序号与所述传输窗口中各个数据分组的最大序号之差小于第一预设阈值时,确定所述传输窗口处于数据分组填满状态;复制子模块412,如果所述传输窗口处于所述数据分组填满状态,则将所述传输窗口中首个失败数据分组复制至所述多传输信道中的其他传输信道;其中,所述第一预设阈值为正整数。

在具体实施中,所述传输装置4还可以包括:第一更新模块43,适于在将传输窗口中首个失败数据分组复制至多传输信道中的其他传输信道之前,如果所述首个失败数据分组与所述传输窗口的起始序号之差超过第二预设阈值,那么更新所述传输窗口的起始序号,更新后的传输窗口的起始序号等于所述传输窗口的起始序号与第三预设阈值之和;其中,所述第二预设阈值、所述第三预设阈值为正整数,1≤所述第三预设阈值≤n,n表示所述首个失败数据分组与所述传输窗口的起始序号之差。

在具体实施中,所述传输装置4还可以包括:发送模块44,适于在更新所述传输窗口的起始序号之前,发送更新传输窗口起始序号消息,所述更新传输窗口起始序号消息由如下任一数据包携带:块确认请求帧、预设传输窗口起始序号更新帧、数据帧中的背负式消息、控制信令帧。

在具体实施中,所述传输装置4还可以包括:判断模块45,适于在预测所述传输窗口是否处于数据分组填满状态之前,判断首个失败数据分组的序号与所述传输窗口的起始序号的差值是否小于或等于预设阈值;执行模块46,适于当判断结果为是时,执行所述预测所述传输窗口是否处于数据分组填满状态的步骤。

在具体实施中,所述传输装置4还可以包括:第二更新模块47,如果所述首个失败数据分组重传成功,所述传输窗口中具有传输失败的至少一个数据分组,则所述第二更新模块47适于更新所述传输窗口的起始序号,更新后的传输窗口的起始序号为第一数据分组的序号,所述第一数据分组为所述至少一个数据分组中序号最小的数据分组。

在具体实施中,所述传输装置4还可以包括:第三更新模块48,如果所述首个失败数据分组重传成功,且所述传输窗口中的其他数据分组都传输成功,则所述第三更新模块48适于更新所述传输窗口的起始序号,更新后的传输窗口的起始序号等于所述传输窗口的终止序号加1。

在具体实施中,所述传输装置4还可以包括:停止模块49,如果所述首个失败数据分组重传成功,则所述停止模块49适于停止重传。

关于所述传输装置4的工作原理、工作方式的更多内容,可以参照上述图3中的相关描述,这里不再赘述。

进一步地,本发明实施例还公开一种存储介质,其上存储有计算机指令,所述计算机指令运行时执行上述图3所示实施例中所述方法技术方案。优选地,所述存储介质可以包括诸如非挥发性(non-volatile)存储器或者非瞬态(non-transitory)存储器等计算机可读存储介质。所述计算机可读存储介质可以包括rom、ram、磁盘或光盘等。

进一步地,本发明实施例还公开一种终端,包括存储器和处理器,所述存储器上存储有能够在所述处理器上运行的计算机指令,所述处理器运行所述计算机指令时执行上述图3所示实施例中所述方法技术方案。优选地,所述终端可以为wlanap,wlan站点。

虽然本发明披露如上,但本发明并非限定于此。任何本领域技术人员,在不脱离本发明的精神和范围内,均可作各种更动与修改,因此本发明的保护范围应当以权利要求所限定的范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1