一种无线局域网数据帧传输的方法及系统与流程

文档序号:19580752发布日期:2019-12-31 19:58阅读:495来源:国知局
一种无线局域网数据帧传输的方法及系统与流程

本发明涉及通信技术领域,尤其涉及一种无线局域网数据帧传输的方法及系统。



背景技术:

对多媒体应用的数据流进行聚合传输可能导致子帧的端到端延迟增加,尤其是在误包率较高的环境中,大量重传会导致子帧长期处于接收端的重排序缓冲区中,没有上传至ip层。因此,由于voip等多媒体应用的严格端到端延迟要求,在当前的ieee802.11n/ac商用wlan协议中(例如高通的ar93xx系列芯片),没有使用聚合来传输vo以及vi等高优先级接入类别,而是使用传统的单个数据帧的传输方式,聚合仅仅应用于bk和be两种对端到端延迟要求不高的类别。

但是,当多个网络节点竞争发送vo,或者低级别的vi,bk,be等数据流时,使用单个数据帧的传输方式进行传输,802.11n/ac的网络会出现严重的性能下降。



技术实现要素:

鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的数据传输的方法及系统。

一方面,本申请通过本申请的一实施例提供如下技术方案:

一种无线局域网数据帧传输的方法,所述方法包括:

获取发送端与接收端之间的上一次数据帧传输的时长数据;

基于所述时长数据,判断所述上一次数据帧传输的时长是否小于αte2e,其中,te2e表示所述发送端与接收端之间的时间阈值,0<α<1;

若是,则根据所述时长数据,获得当前聚合传输的聚合包中包含数据帧的数量;

按照所述聚合包中包含数据帧的数量,将所述数据帧打包后聚合传输给所述接收端;

若所述上一次数据帧传输的时长大于等于αte2e,则将所述数据帧以单帧传输的方式传输给所述接收端。

可选的,所述获取发送端与接收端之间的上一次数据帧传输的时长数据,包括:

获取所述发送端与接收端之间信道的信噪比;

基于所述信噪比,获得所述信道的误码率pb;

基于所述误码率pb,获得一次数据帧传输的平均传输时长ttrans(n);

基于所述平均传输时长ttrans(n),获得将包含n个数据帧的数据包发送给所述接收端的时长es2a(n),其中,1≤n≤64,n表示一个数据包中的数据帧的数量。

可选的,所述基于所述误码率pb,获得一次数据帧传输的平均传输时长ttrans(n),包括:

基于所述误码率pb,获得所述第一数据集;其中,所述第一数据集包括:所述发送端的发送状态处于空闲的时间tidle,所述发送端的发送状态处于冲突的时间tc和所述发送端的发送状态处于成功传输的时间ts(n),在预设的时间段内至少有一次数据帧传输的概率ptr,在所述预设的时间段内有数据帧成功传输的概率ps;

基于所述第一数据集,获得所述平均传输时长ttrans(n),其中,

可选的,所述基于所述平均传输时长ttrans(n),获得将包含n个数据帧的数据包发送给所述接收端的时长es2a(n),包括:

基于所述所述误码率pb,获得所述数据帧的丢包率pe;

基于所述数据帧的丢包率pe,获得将包含n个数据帧的数据包发送给所述接收端的时长es2a(n),其中,

可选的,所述获取发送端与接收端之间的上一次数据帧传输的时长数据,还包括:

获取所述数据帧的缓存时间twait;其中,twait=thw-ttq,ttq为数据帧到达mac层软件队列的时刻,thw为数据帧从mac软件队列放入硬件队列的时刻;

基于所述数据帧的缓存时间twait,获得所述上一次数据帧传输中从所述发送端到所述接收端传输协议层的传输时长ttrans;

其中,ttrans=de2e-twait-ts2a,de2e为所述上一次数据帧传输反馈的确认帧中的最大传输时长,ts2a表示所述上一次数据帧从接入信道到完成信道传输的时长。

可选的,所述基于所述时长数据,判断所述上一次数据帧传输的时长是否小于αte2e,包括:

基于所述时长数据,获得所述上一次数据帧传输的时长t,其中,t=es2a(2)+ttrans+twait;

判断是否满足es2a(2)+ttrans+twait<αte2e。

可选的,所述根据所述时长数据,获得当前聚合传输的聚合包中包含数据帧的数量,包括:

获取所述无线局域网系统设置的一个聚合包中最大允许数据帧数量

基于所述最大允许数据帧数量获得当前聚合传输的聚合包中包含数据帧的数量nl;

其中,

另一方面,本申请通过本申请的另一实施例提供一种无线局域网数据帧传输的系统,所述系统包括:

获取模块,用于获取发送端与接收端之间的上一次数据帧传输的时长数据;

判断模块,用于基于所述时长数据,判断所述上一次数据帧传输的时长是否小于αte2e,其中,te2e表示所述发送端与接收端之间的时间阈值,0<α<1;

获得模块,用于在所述上一次数据帧传输的时长小于αte2e,则根据所述时长数据,获得当前聚合传输的聚合包中包含数据帧的数量;

传输模块,用于按照所述聚合包中包含数据帧的数量,将所述数据帧打包后聚合传输给所述接收端;

单帧传输模块,用于若所述上一次数据帧传输的时长大于等于αte2e,则将所述数据帧以单帧传输的方式传输给所述接收端。

本发明公开了一种可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述方法的步骤。

本发明公开了一种发送端设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述方法的步骤。

本申请实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:

本发明的方法,获取发送端与接收端之间的上一次数据帧传输的时长数据;基于所述时长数据,判断所述上一次数据帧传输的时长是否小于αte2e,其中,te2e表示所述发送端与接收端之间的时间阈值,0<α<1;若是,则根据所述时长数据,获得当前聚合传输的聚合包中包含数据帧的数量;按照所述聚合包中包含数据帧的数量,将所述数据帧打包后聚合传输给所述接收端;若所述上一次数据帧传输的时长大于等于αte2e,则将所述数据帧以单帧传输的方式传输给所述接收端;若所述上一次数据帧传输的时长大于等于αte2e,则将所述数据帧以单帧传输的方式传输给所述接收端。由于本发明的方法基于qos阈值敏感的调度方法,根据传输时长是否满足时间阈值要求,来选择聚合传输或是单帧传输,以达到高吞吐率的目的;与现有技术相比,避免当多个网络节点竞争发送vo,或者低级别的vi,bk,be等数据流时,使用单个数据帧的传输方式进行传输,802.11n/ac的网络会出现严重的性能下降解决;或是在某些情况下聚合传输可能导致子帧的端到端延迟增加,尤其是在误包率较高的环境中,大量重传会导致子帧长期处于接收端的重排序缓冲区中,没有上传至ip层,从而解决现有技术中存在的吞吐率低的技术问题。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。

图1是本发明一种实施例中的无线局域网数据帧传输的方法流程图;

图2是本发明一种实施例中的无线局域网数据帧传输的系统构架图。

具体实施方式

本申请实施例通过提供一种无线局域网数据帧传输的方法及系统,解决了现有的无线局域网系统吞吐率低的技术问题。

本申请实施例的技术方案为解决上述技术问题,总体思路如下:

一种无线局域网数据帧传输的方法,包括:基于所述时长数据,判断所述上一次数据帧传输的时长是否小于αte2e,其中,te2e表示所述发送端与接收端之间的时间阈值,0<α<1;若是,则根据所述时长数据,获得当前聚合传输的聚合包中包含数据帧的数量;按照所述聚合包中包含数据帧的数量,将所述数据帧打包后聚合传输给所述接收端;若所述上一次数据帧传输的时长大于等于αte2e,则将所述数据帧以单帧传输的方式传输给所述接收端;若所述上一次数据帧传输的时长大于等于αte2e,则将所述数据帧以单帧传输的方式传输给所述接收端。

对多媒体应用的数据流进行聚合传输可能导致子帧的端到端延迟增加,尤其是在误包率较高的环境中,大量重传会导致子帧长期处于接收端的重排序缓冲区中,没有上传至ip层。因此,由于voip等多媒体应用的严格端到端延迟要求,在当前的ieee802.11n/ac商用wlan协议中(例如高通的ar93xx系列芯片),没有使用聚合来传输vo以及vi等高优先级接入类别,而是使用传统的单个数据帧的传输方式,聚合仅仅应用于bk和be两种对端到端延迟要求不高的类别。

但是,当多个网络节点竞争发送vo,或者低级别的vi,bk,be等数据流时,如果不使用聚合方式进行传输,802.11n/ac的网络会出现严重的性能下降,原因有以下三点:

(1)在ieee802.11n/ac网络中使用较高的物理层速率进行传输时,由于phy层帧头的传输时间较长,仅仅传输单个数据子帧的mac利用率很低。当某个站点传输高优先级队列,如vi,vo时不使用聚合,会导致其他低优先级队列的带宽减少,吞吐率严重下降。

(2)数据子帧单独传输相对于a-mpdu算法一次传输多个子帧的方式,增加了站点之间竞争信道的次数,会导致更多的数据碰撞丢包。

(3)尽管通常情况下voip数据流量不大(通常上层应用的流量在5.3到64kbps),但是当上层存在多个voip应用时,或者上层存在实时高清视频流以及实时游戏流时,如果不进行数据聚合,会降低系统效率,严重影响用户体验。

由此可知,现有技术针对传输时间延时敏感的环境,要么选择聚合传输,要么选择单帧传输,使得现有技术在遇到上述单帧传输或是聚合传输情况下时,会存在吞吐率下降的问题。而本发明针对传输时间延时敏感的环境,根据数据帧传输的传输时长数据建立qos聚合延迟的理论模型,在传输实时数据帧时根据端到端传输时间延迟的理论计算,动态选择聚合传输或是单帧传输,在充分利用信道的同时降低传输延迟。能够保证端到端延迟低于限制的同时,保持吞吐率在一个较高水平。因此,可解决现有技术的无线局域网系统端到端数据帧传输吞吐率低的问题。

为了更好的理解上述技术方案,下面将结合说明书附图以及具体的实施方式对上述技术方案进行详细的说明。

首先说明,本文中出现的术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。

实施例一

本实施提供了一种无线局域网数据帧传输的方法,参见图1,所述方法包括:

s101、获取发送端与接收端之间的上一次数据帧传输的时长数据;

s102、基于所述时长数据,判断所述上一次数据帧传输的时长是否小于αte2e,其中,te2e表示所述发送端与接收端之间的时间阈值,0<α<1;

s103、若是,则根据所述时长数据,获得当前聚合传输的聚合包中包含数据帧的数量;

s104、按照所述聚合包中包含数据帧的数量,将所述数据帧打包后聚合传输给所述接收端;

s105、若所述上一次数据帧传输的时长大于等于αte2e,则将所述数据帧以单帧传输的方式传输给所述接收端。

需要说明的是,在无线局域网的端对端(即发送端到接收端)的数据帧传输时,可以通过信道进行单个数据帧的逐一传输(即单帧传输),也可以将数据帧进行打包,形成聚合包,进行聚合传输。其中,单帧传输和聚合传输的利弊在前面已经阐述。本发明的方法是动态循环执行的,由于信道环境或是数据帧的改变,会造成传输延迟(即传输的时长)的不同。因此,需要循环执行,即以上一次数据帧传输的数据作为依据,判断并决定当前传输的传输方式的选择;同理,以当前传输的数据作为依据,判断并决定下一次传输的传输方式的选择,如此循环,可保证每次选择的传输方式都是传输延迟最小的,从而提高吞吐率。本发明的方法显然是包括所有循环的步骤,上一次数据帧并没有特指,因此,只要是之前发生了数据帧的传输,即可执行本发明的方法。

下面参照图1,对本实施中各步骤进行详细的解释说明。

首先,执行步骤s101,获取发送端与接收端之间的上一次数据帧传输的时长数据。

在具体实施过程中,发送端和接收端都不受限制,在无线局网系统中,只要是发送数据的都是发送端(例如ap),只要是接收数据的都是接收端。但需要说明的是,本发明针对的是端对端,即针对发送端与接收端之间通过信道传输的环境。

作为一种可选的实施例,所述获取发送端与接收端之间的上一次数据帧传输的时长数据,包括:

获取所述发送端与接收端之间信道的信噪比;

基于所述信噪比,获得所述信道的误码率pb;

基于所述误码率pb,获得一次数据帧传输的平均传输时长ttrans(n);

基于所述平均传输时长ttrans(n),获得将包含n个数据帧的数据包发送给所述接收端的时长es2a(n),其中,1≤n≤64,n表示一个数据包中的数据帧的数量。

需要说明的是,由于上一次数据帧的传输可能是单帧传输(即n=1),也可能是聚合传输(即n≥2),而这里将单帧传输(即n=1)看作聚合传输的特殊情况,即每个聚合包中只有一个数据帧。

可以看出,上述时长数据(ttrans(n),es2a(n),)都是根据信道环境参数(信噪比)获得的,具体的,所述基于所述误码率pb,获得一次数据帧传输的平均传输时长ttrans(n),包括:

基于所述误码率pb,获得所述第一数据集;其中,所述第一数据集包括:所述发送端的发送状态处于空闲的时间tidle,所述发送端的发送状态处于冲突的时间tc和所述发送端的发送状态处于成功传输的时间ts(n),在预设的时间段内至少有一次数据帧传输的概率ptr,在所述预设的时间段内有数据帧成功传输的概率ps;

基于所述第一数据集,获得所述平均传输时长ttrans(n),其中,

需要说明的是,作为本领域技术人员来说,可根据误码率pb,估算获得所述第一数据集中的数据。

在获得ttrans(n)后,更具体的,所述基于所述平均传输时长ttrans(n),获得将包含n个数据帧的数据包发送给所述接收端的时长es2a(n),包括:

基于所述所述误码率pb,获得所述数据帧的丢包率pe;

基于所述数据帧的丢包率pe,获得将包含n个数据帧的数据包发送给所述接收端的时长es2a(n),其中,

作为一种可选的实施例,所述获取发送端与接收端之间的上一次数据帧传输的时长数据,还包括:

获取所述数据帧的缓存时间twait;其中,twait=thw-ttq,ttq为数据帧到达mac层软件队列的时刻,thw为数据帧从mac软件队列放入硬件队列的时刻;

基于所述数据帧的缓存时间twait,获得所述上一次数据帧传输中从所述发送端到所述接收端传输协议层(rtp/rtcp层)的传输时长ttrans;

其中,ttrans=de2e-twait-ts2a,de2e为所述上一次数据帧传输反馈的确认帧中的最大传输时长,ts2a表示所述上一次数据帧从接入信道到完成信道传输的时长。ts2a=tba-thw-tsifs-tba,其中,tba表示发送端接收blockack或者ack的时刻,tsifs表示数据帧间间隔的持续时间,tba表示blockack或者ack在信道中的实际传输时间。

接下来,执行步骤s102,基于所述时长数据,判断所述上一次数据帧传输的时长是否小于αte2e。

具体的,所述基于所述时长数据,判断所述上一次数据帧传输的时长是否小于αte2e,包括:

基于所述时长数据,获得所述上一次数据帧传输的时长t,其中,t=es2a(2)+ttrans+twait;

判断是否满足es2a(2)+ttrans+twait<αte2e。

其中,te2e表示所述发送端与接收端之间的时间阈值,0<α<1,用来保证qos应用的端到端延迟有足够的裕度,在具体实施时,te2e根据不同传输情况而不同,本领域技术人员可根据实际情况进行设置。

上述判断式中,es2a(2)表示n=2,则表示判断时是判断聚合传输的传输时长是否满足条件,可以看出,当以最小聚合包(n=2)进行聚合传输的时长都满足时长条件,延迟较小,则可以选择传输效率较高的聚合传输。此时,执行步骤s103,根据所述时长数据,获得当前聚合传输的聚合包中包含数据帧的数量。

作为一种可选的实施例,为了提高聚合传输的效率,所述根据所述时长数据,获得当前聚合传输的聚合包中包含数据帧的数量,包括:

获取所述无线局域网系统设置的一个聚合包中最大允许数据帧数量

基于所述最大允许数据帧数量获得当前聚合传输的聚合包中包含数据帧的数量nl;

其中,

根据上式可以看出,聚合包中的数据帧的数量选择满足聚合传输条件的最小n的取值,但同时不能超过预设的最大值该最大值是在无线局域网标准下进行设置的,因此其取值为大于0,小于等于64。

在获得当前聚合传输的聚合包中包含数据帧的数量后,执行s104,按照所述聚合包中包含数据帧的数量,将所述数据帧打包后采用聚合传输给所述接收端;

其中,聚合的算法包括但不限于a-mpdu和a-msdu。

若不满足上述判断条件,则执行s105,若所述上一次数据帧传输的时长大于等于αte2e,则将所述数据帧以单帧传输的方式传输给所述接收端。

前面已经提到,本发明的方法是循环执行的,因此,在所述按照所述聚合包中包含数据帧的数量,将所述数据帧打包后聚合传输给所述接收端之后,所述方法还包括:

在接收到所述接收端反馈的当前聚合传输的确认帧后,基于所述当前聚合传输的时长数据更新ttrans,获得当前聚合传输中从所述发送端到所述接收端传输协议层的传输时长

基于所述当前聚合传输中从所述发送端到所述接收端传输协议层的传输时长返回执行s101~s105,以实现循环执行。

当首次执行时,需要进行一次单帧传输,作为所述的第一次数据帧传输。

举例来说,在具体实施时,当有数据帧从发送端ip层下发时,qos聚合调度器需要调用scheduletransmission()函数。在初始化阶段中(即首次执行时),该函数调用sendmpdu()进行单帧的发送。sendmpdu()将单帧数据放入硬件队列,并开始随机退避接入信道进行后续的发送操作。另外,当ip层下发数据时,qos聚合调度器还需要记录每个数据帧从ip层链入软件队列的时间ttq,同时开启定时器,记录该子帧放入硬件队列的时刻thw,从而计算出在软件队列中的等待时间twait。

在接收到ack/blockack之后,聚合调度器首先记录当前时刻tba,然后计算tsifs。如果此时已经接收到一个rtp/rtcp确认帧,需要调用updatestats()函数对系统信息进行更新,在该函数中,聚合调度器根据在初始化阶段中成功传输的数据包数更新平均软件等待延迟twait,数据帧从接入信道到完成信道传输的时长ts2a。然后根据rtp/rtcp确认帧中的最大传输延迟字段(de2e)计算从发送端到接收端节点rtp/rtcp层的传输延迟ttrans。在聚合调度器已经获取到传输延迟ttrans的数值之后,就开始进入实际传输阶段,当ip层有数据包下发时,在scheduletransmission()函数中,聚合调度器首先根据pb计算出不同算法从站点发出聚合数据到接收端成功接收的传输时长es2a,然后根据qos延时条件选择使用的传输方式。接着传输方式类别是单包传输还是聚合传输分别调用sendmpdu()或者sendampdu()。在sendampdu()中,计算ampdu传输的最优聚合包数。

上述本申请实施例中的技术方案,至少具有如下的技术效果或优点:

本实施例的方法,获取发送端与接收端之间的上一次数据帧传输的时长数据;基于所述时长数据,判断所述上一次数据帧传输的时长是否小于αte2e,其中,te2e表示所述发送端与接收端之间的时间阈值,0<α<1;若是,则根据所述时长数据,获得当前聚合传输的聚合包中包含数据帧的数量;按照所述聚合包中包含数据帧的数量,将所述数据帧打包后聚合传输给所述接收端;若所述上一次数据帧传输的时长大于等于αte2e,则将所述数据帧以单帧传输的方式传输给所述接收端;若所述上一次数据帧传输的时长大于等于αte2e,则将所述数据帧以单帧传输的方式传输给所述接收端。由于本发明的方法基于qos阈值敏感的调度方法,根据传输时长是否满足时间阈值要求,来选择聚合传输或是单帧传输,以达到高吞吐率的目的;与现有技术相比,避免当多个网络节点竞争发送vo,或者低级别的vi,bk,be等数据流时,使用单个数据帧的传输方式进行传输,802.11n/ac的网络会出现严重的性能下降解决;或是在某些情况下聚合传输可能导致子帧的端到端延迟增加,尤其是在误包率较高的环境中,大量重传会导致子帧长期处于接收端的重排序缓冲区中,没有上传至ip层,从而解决现有技术中存在的吞吐率低的技术问题。此外,通过动态计算更新系统延迟参数,保证了系统的实时性,也保证了qos保障的鲁棒性和可靠性。

实施例二

基于与实施例一同样的发明构思,本实施例提供一种无线局域网数据帧传输的系统,参见图2,所述系统包括:

获取模块,用于获取发送端与接收端之间的上一次数据帧传输的时长数据;

判断模块,用于基于所述时长数据,判断所述上一次数据帧传输的时长是否小于αte2e,其中,te2e表示所述发送端与接收端之间的时间阈值,0<α<1;

获得模块,用于在所述上一次数据帧传输的时长小于αte2e,则根据所述时长数据,获得当前聚合传输的聚合包中包含数据帧的数量;

聚合传输模块,用于按照所述聚合包中包含数据帧的数量,将所述数据帧打包后聚合传输给所述接收端;

单帧传输模块,用于在所述上一次数据帧传输的时长大于等于αte2e时,则将所述数据帧以单帧传输的方式传输给所述接收端。

由于本实施例所介绍的数据传输的系统为实现本申请实施例一种无线局域网数据帧传输的方法所采用的系统,故而基于本申请实施例一中所介绍的数据传输的方法,本领域所属技术人员能够了解本实施例的系统的具体实施方式以及其各种变化形式,所以在此对于如何利用本中的系统实现实施例一中的方法不再详细介绍。只要本领域所属技术人员用于实现本申请实施例中数据传输的方法所采用的系统,都属于本申请所欲保护的范围。

基于与前述实施例中同样的发明构思,本发明实施例还提供一种可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现前文任一所述方法的步骤。

基于与前述实施例中同样的发明构思,本发明实施例还提供一种发送端设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现前文任一所述方法的步骤。

尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

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