一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种计数值配置方法和装置与流程

2022-08-30 22:58:22 来源:中国专利 TAG:


1.本技术涉及通信领域,尤其是涉及一种随机接入机制中的随机数计数值配置方法和装置。


背景技术:

2.载波侦听多路访问/冲突避免(carrier sense multiple access with collision avoidance,csma/ca)机制是在无线局域网802.11协议中避免截止访问冲突的一个非常重要的机制。其主要分成两个部分:载波监听(csma)以及冲突避免(collision avoidance,ca)。其中,所谓载波监听是指:节点在发送数据包之前首先进行信道监听,如果信道空闲,则节点传输帧;如果信道繁忙,则需要等待到当前传输结束之后再进行传输。并且无论信道空闲还是忙,都需要等待一个帧间间隔(inter-frame spacing,ifs)之后进入随机退避(random backoff)流程。
3.随着网络中终端设备的数量越来越多,设备间的交互场景也会变得复杂和多样,尤其是针对视频、游戏、反控类等业务传输,往往要求更低的传输时延。例如图1所示,在当前802.11协议版本规范的分布式调度功能(distributed coordination function,dcf)的竞争过程中,不同业务的数据包会被分配在不同的队列中,比如尽力而为(best effort,be)数据传输的队列、视频(video,vi)队列。
4.其中,vi队列用于传输视频媒体数据,be队列可用于传输超文本传输协议(hypertext transfer protocol,http)或即时通讯(instant messaging,im)业务等对时延要求不高的业务数据,但无论数据包被分配在be还是vi队列,都会按照数据达到队列的先后顺序进行信道竞争,如数据1(data 1)先达到了be队列,则数据1随机竞争信道,一旦竞争到信道后经过difs和随机退避流程后data 1就会被发送出去。随后在队列2中无数据包状态,此时继续监听信道退避,当data 2到达be队列时,data 2也会直接被发送出去,由于data 3到所在的vi队列在be队列之后,所以最后传输vi队列中的data 3,传输时仍然按vi流选择随机数竞争信道,一旦竞争到信道后传输。
5.在上述竞争信道过程中,每个队列中的数据都要在进入“随机退避”流程中选择一个随机回退计数值(random backoff counter),简称“backoff_c”,然后进行监听,当监听到信道空闲时,将backoff_c减1,直至减到0,才开始发送数据,如果无线网络中有大量的终端设备需要在be队列上进行http或im业务传输,则大概率地会发生终端选择的backoff_c小于vi队列中的backoff_c,进而导致较小的backoff_c先减到0,优先传输be队列的数据,而vi队列中的数据被迫要等待be队列传输之后再传,增加了传输时延,无法满足vi队列中视频传输的低时延需求。


技术实现要素:

6.本技术提供了一种计数值配置方法和装置,用于动态地设置backoff随机回退计数值,从而减少时延敏感性业务的接入信道时延,具体地,本技术公开了以下技术方案:
7.第一方面,本技术提供了一种计数值配置方法,该方法可应用于一种终端设备,比如智能手机、pc等,该终端设备中包括wifi模块,具体地,该方法包括:
8.获取用于传输不同业务数据的多个队列,所述多个队列中包括第一队列;当所述多队列中有待传输的数据包时,获取所述第一队列的优先级,所述第一队列的优先级为所述第一队列中承载第一业务数据的优先级;当所述第一业务的优先级为低优先级时,配置所述第一业务对应的第一随机回退计数值,所述第一随机回退计数值为预设随机回退计数值与固定时延计数值之和。
9.其中,所述第一业务为低优先级传输的业务,比如背景流bk队列中传输的文件业务数据。所述第一业务的优先级可预先设置,具体地,可根据传输时延来确定业务的优先级。
10.本方面提供的方法,对于有数据包的硬件队列,如果检测当前队列中传输的业务为低优先级业务时,设置该业务的随机回退计数值在原来按照edca模式配置backoff_c的基础上,增加一个固定时延计数值backoff_delay,从而使分配给该业务的随机回退计数值增大,倒数计数到0的时间变长,且长于中、高优先级的随机回退计数值,从而可以使高优先级或中优先级的业务先传,避免了当前低优先级的业务抢占高优先级业务的空口资源。
11.结合第一方面,在第一方面的一种可能的实现方式中,配置所述第一业务对应的第一随机回退计数值之前,还包括:确定所述固定时延计数值;其中,所述固定时延计数值与m和t相关,进一步地,m为所述第一队列所能承载的数据包总数,t为一个数据包从应用层发出到达wifi芯片或者wifi模块的时间间隔。
12.结合第一方面,在第一方面的另一种可能的实现方式中,所述方法还包括:当监听到信道空闲,且所述第一随机回退计数值倒退到0时,采用聚合帧方式发送所述第一队列中的数据包。本实现方式中,利用聚合帧发送队列中的数据包,可以增加一次传输的内容,减少额外的空口开销。
13.结合第一方面,在第一方面的又一种可能的实现方式中,所述方法还包括:当所述多个队列中没有待传输的数据包时,预测在下一个检测周期内会有待传输数据缓存的目标队列;以及为该目标队列分配第二随机回退计数值。
14.进一步地,预测在下一个检测周期内会有待传输数据缓存的目标队列,包括:根据所述多个队列中的每个队列可能在下次传输时携带数据包的概率确定所述目标队列,所述目标队列为所有所述概率中最大的一个概率所对应的队列;
15.其中,上述为目标队列分配第二随机回退计数值,包括:
16.如果所述目标队列为视频vi队列,则确定所述第二随机回退计数值为从[0,cw
vi
]中选择的任意值,cw
vi
为vi队列中随机回退计数值能取的最大值;
[0017]
如果所述目标队列为尽力而为be队列,则确定所述第二随机回退计数值为从[0,cw
be
]中的任意值,cw
be
为be队列中随机回退计数值能取的最大值;
[0018]
如果所述目标队列为背景流bk队列,则确定所述第二随机回退计数值为预设随机回退计数值与固定时延计数值之和,所述预设随机回退计数值为从[0,cw
bk
]中的任意值,cw
bk
为bk队列中随机回退计数值能取的最大值。
[0019]
可选的,cw
be
大于cw
vi

[0020]
结合第一方面,在第一方面的又一种可能的实现方式中,为所述目标队列分配第
二随机回退计数值,包括:获取服务质量qos队列中每个队列的数据空间百分比p,以及每个队列选择的随机回退计数值backoff_c,所述数据空间占比p为历史数据传输过程的qos队列中一个队列中缓存的数据占所述队列总容量的百分比;根据每个队列的数据空间百分比p和对每个队列选择的所述随机回退计数值backoff_c进行概率加权运算,得到所述第二随机回退计数值。
[0021]
进一步地,一种可能的实现方式是,算法1:基于概率选择,具体包括:
[0022]
首先,根据p1,p2,p3的概率抛随机数,可抛出的随机数为1,2,3,该随机数(backoff_c)定义为r;然后,判断r的数值,根据r的数值设定backoff_c;具体地,
[0023]
若r=1,即backoff_c1=random(0,cw
vi
);
[0024]
若r=2,即backoff_c2=random(0,cw
be
);
[0025]
若r=3,即backoff_c3=random(0,cw
bk
) backoff_delay。
[0026]
最后,根据选定的backoff_c数值进行post-backoff机制的数据包/数据报文传输。
[0027]
本实现方式中,根据概率统计,将历史数据传输时统计的概率最大的业务数据作为下一次传输可能缓存有数据包的队列,预测出下一次传输时可能缓存并需要发送数据的队列,从而分配随机回退计数值,如果判断是高优先级业务流时,直接选择较小backoff_c值,可进一步提高终端设备接入概率,减少延迟。如果判断是低优先级业务流时,则直接选择较大的backoff_c值,该随机回退计数值backoff_c为随机数取值(random(0,cw
bk
))与固定时延计数值backoff_delay之和,进而使得较低优先级的业务数据被延迟发送,避免与高优先级队列中的数据流竞争资源,提高聚合帧发送概率,以提升吞吐量效率。
[0028]
另外,基于预测机制,如果判断是高优先级业务数据流,则直接选择更小值的backoff_c,从而可以减少传输时延,相比传统的post-backoff提高了接入概率。
[0029]
可选的,另一种可能的实现方式是,所述qos队列中包括vi队列、be队列和bk队列,根据每个队列的数据空间百分比p和对每个队列选择的所述随机回退计数值backoff_c进行概率加权运算,得到所述第二随机回退计数值,包括:直接进行概率加权,设定backoff_c值,比如按照如下算法(算法2)进行概率加权运算,得到所述第二随机回退计数值为:
[0030]
p1*[random(0,cw
vi
)] p2*[random(0,cw
be
)] p3*[random(0,cw
bk
) backoff_delay]
[0031]
其中,p1为vi队列中统计的数据空间百分比,p2为be队列中统计的数据空间百分比,p3为bk队列中统计的数据空间百分比,cw
vi
为vi队列中backoff_c能取的最大值,cw
be
为be队列backoff_c能取的最大值,cw
bk
为bk队列backoff_c能取的最大值,backoff_delay为固定传输时延。
[0032]
第二方面,本技术还提供一种计数值配置装置,所述装置包括:获取单元和处理单元,其中,获取单元,用于获取传输不同业务数据的多个队列,所述多个队列中包括第一队列;处理单元,用于当所述多个队列中有待传输的数据包时,获取第一队列的优先级,当所述第一业务的优先级为低优先级时,配置所述第一业务对应的第一随机回退计数值,所述第一队列的优先级为所述第一队列中承载第一业务数据的优先级,所述第一随机回退计数值为预设随机回退计数值与固定时延计数值之和。
[0033]
结合第二方面,在第二方面的一种可能的实现方式中,所述处理单元,还用于在配
置所述第一业务对应的第一随机回退计数值之前,确定所述固定时延计数值;所述固定时延计数值与m和t相关,其中,m为所述第一队列所能承载的数据包总数,t为一个数据包从应用层发出到达wifi芯片或wifi模块的时间间隔。
[0034]
结合第二方面,在第二方面的另一种可能的实现方式中,还包括:发送单元,该发送单元用于当所述处理单元监听到信道空闲,且所述第一随机回退计数值倒退到0时,采用聚合帧方式发送所述第一队列中的数据包。
[0035]
结合第二方面,在第二方面的又一种可能的实现方式中,所述处理单元,还用于当所述多个队列中没有待传输的数据包时,预测在下一个检测周期内会有待传输数据缓存的目标队列;以及,为所述目标队列分配第二随机回退计数值。
[0036]
结合第二方面,在第二方面的又一种可能的实现方式中,所述处理单元,还用于根据所述多个队列中的每个队列可能在下次传输时携带数据包的概率确定所述目标队列,所述目标队列为所有所述概率中最大的一个概率所对应的队列;以及,
[0037]
如果所述目标队列为视频vi队列,则确定所述第二随机回退计数值为从[0,cw
vi
]中选择的任意值,cw
vi
为vi队列中随机回退计数值能取的最大值;
[0038]
如果所述目标队列为尽力而为be队列,则确定所述第二随机回退计数值为从[0,cw
be
]中的任意值,cw
be
为be队列中随机回退计数值能取的最大值;
[0039]
如果所述目标队列为背景流bk队列,则确定所述第二随机回退计数值为预设随机回退计数值与固定时延计数值之和,所述预设随机回退计数值为从[0,cw
bk
]中的任意值,cw
bk
为bk队列中随机回退计数值能取的最大值。
[0040]
可选的,cw
be
大于cw
vi

[0041]
结合第二方面,在第二方面的又一种可能的实现方式中,所述处理单元,还用于获取服务质量qos队列中每个队列的数据空间百分比p,以及每个队列选择的随机回退计数值backoff_c,根据每个队列的数据空间百分比p和对每个队列选择的所述随机回退计数值backoff_c进行概率加权运算,得到所述第二随机回退计数值;所述数据空间占比p为历史数据传输过程的qos队列中一个队列中缓存的数据占所述队列总容量的百分比。
[0042]
结合第二方面,在第二方面的又一种可能的实现方式中,所述qos队列中包括vi队列、be队列和bk队列,所述处理单元,还用于按照如下算法进行概率加权运算,得到所述第二随机回退计数值为:
[0043][0044]
其中,p1为vi队列中统计的数据空间百分比,p2为be队列中统计的数据空间百分比,p3为bk队列中统计的数据空间百分比,cw
vi
为vi队列中backoff_c能取的最大值,cw
be
为be队列backoff_c能取的最大值,cw
bk
为bk队列backoff_c能取的最大值,backoff_delay为固定传输时延。
[0045]
第三方面,本技术还提供了一种通信装置,该装置包括通信模块和soc芯片,所述通信模块包括收发电路和处理电路,所述收发电路,用于为所述处理电路提供指令和/或数据;所述处理电路,用于执行所述指令,以实现前述第一方面及第一方面各种实现方式中的方法。
[0046]
其中,所述通信模块与soc芯片通过至少一个接口连接。所述处理电路包括至少一个处理器。
access,edca)模式,pcf模式被扩展为混合式协调控制信道访问机制(hcf controlled channel access,hcca)模式。本实施例主要讨论有关dcf模式以及其核心csma/ca机制。
[0068]
在一种可能的网络拓扑结构中,比如包括一个接入点(access point,ap)与两个站点(station,sta),分别是sta 1与sta2,在无线环境下的广播特性,若sta 1与sta2同时向ap发送数据,那么就可能会在ap处发生冲突,从而导致ap与两个sta之间都无法正确进行业务传输,进而提出一种csma/ca机制来避免冲突发生。
[0069]
为了方便理解,下面介绍与csma/ca的工作机制相关的技术术语。
[0070]
(1)随机退避random backoff
[0071]
随机退避过程是指每一个站点在竞争信道时,所经历的随机退避过程。在这一过程开始时,站点首先在竞争窗口(contention window)中选择一个随机数为基准的随机回退计数值(random backoff counter)简称为“backoff_c”,同时每一个时隙,站点为"监听"信道是否空闲,若信道空闲,那么进行一次倒数,即计数值减1,若信道忙,则不进行相应倒数。当该随机回退计数值回退到0时,站点可以发送数据。
[0072]
在802.11协议中,默认的初始竞争窗口为31,即随机回退计数值“backoff_c”的范围即是[0,31]。
[0073]
(2)时隙slot time
[0074]
时隙是指的一个时间片段,在csma/ca中,站点竞争接入信道之前需要经过相应的随机退避(backoff)过程,其中backoff过程就是由很多个时隙所组成的。在backoff过程中,每经过一个slot time,站点会"监听"一次信道,若信道空闲,则相应的随机回退计数器的值减1。
[0075]
(3)竞争窗口,contention window
[0076]
竞争窗口是用来让站点选择随机回退计数值(backoff counter)的范围。
[0077]
例如,图2所示,当sta 1与sta2相继存在数据,需要在竞争信道进行发送时,首先需要"等待"difs时间,若difs时间内,信道保持空闲状态,那么就可以进行backoff过程。当sta 1与sta2进入random backoff过程时,其首先需要从竞争窗口中选择一个随机数,在图2示例中,sta 1选择的backoff_c为8,sta2选择的backoff_c为2。
[0078]
在random backoff过程中,每经过一个slot time,站点会"监听"一次信道,若信道空闲,则相应的随机回退计数器的值减1。如图2所示,经过3个slot time后,sta 1的随机倒数计数器从8递减至5,而sta2相应从2递减至0。
[0079]
当sta2的随机回退计数值倒数至0时,竞争获得信道,从而可以发送数据,即sta 2获得信道后,发送数据包(packet)给ap。在ap接收到数据包后,会采用crc机制对数据包中的data进行校验,若校验通过,则ap会在sifs后,反馈ack确认帧。当sta2成功发送完数据,"等待"了sifs的时间之后,ap会向sta2反馈ack确认帧。当sta2成功接收到ack帧之后,这一次传输完成。
[0080]
当这一次传输完成后,站点需要再次"等待"difs的时间后,重新开始backoff过程。若sta2刚刚发送完数据,那么在random backoff过程开始时,需要重新从竞争窗口中选择一个随机回退计数值进行倒数。若站点没有发送数据,则直接从上一次的倒数结果继续倒数。如图2所示,sta 1没有竞争到信道,那么其在第二次的随机退避过程中,直接基于上次的5直接进行倒数至4,从而保证网络传输的公平性。
[0081]
本技术可应用于上述无线通信系统,比如无线局域网(wireless local area network,wlan),上述sta1和sta2一般为客户端,可以是装有无线网卡的计算机,也可以是包含wifi模块的智能手机、平板电脑、笔记本电脑(laptop)、个人计算机(personal computer,pc)、电视tv、可折叠终端、具备无线通讯功能的可穿戴设备(例如智能手表或手环)、用户设备(user equipment,ue)、以及增强现实(augmented reality,ar)或者虚拟现实(virtual reality,vr)设备等。本实施例对客户端设备的具体设备形态不做限定。如图3a所示,ue1为手机、ue2为laptop。
[0082]
此外,上述终端设备还可以是一种交换机。
[0083]
其中,上述各种设备中搭载包括但不限于搭载苹果(ios)、安卓(android)和微软(microsoft)等系统。
[0084]
可选的,上述ap还可以是其他网络设备,比如路由器,交换机等。
[0085]
另外,本技术的技术方案还可以应用于其他p2p(peer-to-peer,个人对个人)场景,比如图3b所示,包括手机1与tv,手机2与pc,手机3与手机4共三种可能的应用场景。其中,手机1与tv之间传输视频(video)业务数据;手机2与pc之间传输http或im业务数据;手机3与手机4之间传输文件、图片等业务数据。
[0086]
在电气与电子工程师协会(institute of electrical and electronic engineers,ieee)802.11的一种协议标准中对不同业务数据进行的分类,划分为4种不同的数据访问类型,分别是:背景流(background,bk)、语音(audio,vo)、视频(video,vi)、尽力而为(best effort,be)的数据。且不同类型的数据被分配在不同的队列中传输,例如图1所示,将视频媒体流配置在vi队列中传输,将音频流被配置在vo队列中,将上网http/im业务数据配置在be队列中,将文件传输数据配置在bk队列中。
[0087]
此外,站点在random backoff机制下选择随机回退计数值backoff_c时,不同的队列,backoff_c值的选择范围不同。例如在be队列中,可选择的backoff_c的取值范围是[0,cw
be
],cw
be
表示be队列中backoff_c可选的最大值;对于vi队列,可选择的backoff_c的取值范围是[0,cw
vi
],cw
vi
表示vi队列中backoff_c可选的最大值。
[0088]
可选的,cw
be
为31,或者,cw
vi
为16。
[0089]
下面对本技术的技术方案进行下详细地说明。
[0090]
本技术提供一种随机回退计数值的配置方法,该方法可自适应于的random backoff机制,从而使低时延需求的业务被优先传输,防止被其他业务抢占空口资源,影响低时延业务的传输效率。
[0091]
本方法预先对不同业务传输的数据划分优先级,一种可能的划分方式是,按照edca机制设置不同业务的优先级,比如将视频和音频业务划分为高优先级业务,比如第一优先级;将http/im业务数据划分为中优先级业务,即第二优先级;将文件传输数据划分为低优先级,比如第三优先级。又由于不同的业务被分配在不同的队列中,所以根据上述第一至第三优先级,可得到队列的优先级从高到低,分别是:vi或vo队列、be队列、bk队列,如表1所示。
[0092]
表1
[0093]
业务数据队列优先级顺序视频或语音数据vi或vo队列高(第一优先级)
http/im业务数据be队列中(第二优先级)文件传输数据bk队列低(第三优先级)
[0094]
设置完成不同业务的优先级之后,执行如下方法,如图4所示,包括:
[0095]
101:获取硬件队列,所述硬件队列中包括至少一个队列,所述至少一个队列包括但不限于vi或vo队列、be队列、bk队列等。
[0096]
102:检验所述至少一个队列中是否包含数据包。
[0097]
具体地,检测硬件队列中的每个数据包是否有缓存的数据包。
[0098]
103:如果所述至少一个队列中有一个或者一个以上的队列中有数据包,则确定该硬件队列中存在数据包,并且为所述至少一个队列中的每个队列设置随机回退计数值backoff_c。具体地,步骤103包括:以第一队列举例,所述第一队列是硬件队列中的任意一个。
[0099]
103-1:获取第一队列的优先级,所述第一队列的优先级为所述第一队列中承载第一业务数据的优先级。
[0100]
103-2:根据所述第一队列的优先级为第一业务设置随机回退计数值。所述第一队列的优先级可以是最高级、中级和低级,所以设置随机回退计数值可以包括以下3种情况。
[0101]
情况1:如果所述第一队列的优先级为最高优先级,则按照edca模式为所述第一业务配置第一随机回退计数值。其中,所述第一随机回退计数值为较小值。例如,所述第一队列中承载的是视频或语音业务数据,即所述第一队列为vi队列或者vo队列时,第一队列的优先级为最高,此时按照802.11协议规范的方式为第一业务分配所述第一随机回退计数值backoff_c1。
[0102]
情况2:如果所述第一队列的优先级为中优先级,则按照所述edca模式为所述第一业务配置第二随机回退计数值。例如,第一业务为http/im业务,对应的第一队列为be队列,根据上述表1确定第一队列的优先级为中优先级,则按照802.11协议规范的方式为所述第一业务分配第二随机回退计数值backoff_c2。
[0103]
情况3:如果所述第一队列的优先级为低优先级,则为所述第一业务配置第三随机回退计数值backoff_c3,该第三随机回退计数值为,按照edca模式配置的随机回退计数值backoff_c0的基础上,增加一个固定时延计数值backoff_delay,最终量化到backoff_c3,表达式为:backoff_c3=backoff_c0 backoff_delay。
[0104]
本实施例中,若所述第一队列为bk队列,则所述第一随机回退计数值为backoff_c3。
[0105]
可选的,所述backoff_c0为按照edca模式选择的随机回退计数值,该随机回退计数值的选取范围为[0,cw
be
]。
[0106]
其中,固定时延计数值backoff_delay可根据业务决定,具体地,backoff_delay的值与m和t相关,比如backoff_delay=m
×
t,其中,m为第一队列所能承载的数据报文总数,t为一个数据报文/帧从应用层发出到达wifi芯片的帧间隔。进一步地,t为从应用层soc芯片到wifi芯片发包的间隔;可理解为第一数据报文或第一帧从soc芯片发出达到wifi芯片的时长。例如,m=20,t=1~2毫秒,则m
×
t=10~20毫秒(ms),又由于每个随机回退计数值对应的时间间隔约等于9微秒(μs),进而可以将延迟时间backoff_delay转换为随机回退计数值,最后再与backoff_c0相加得到所述第三随机回退计数值backoff_c3,该backoff_c3为
前述“发明内容”中的第一随机回退计数值。
[0107]
参见图5所示,当识别出队列中存储的数据为背景流缓存时,即bk队列,则按照低优先级选择随机数(backoff_c),并加上固定的时延计数值backoff_delay。即backoff_c=random(0,cw
be
) backoff_delay。例如,random(0,cw
be
)取10,backoff_delay取30,则backoff_c3=10 30=40,即第三随机回退计数值为40。
[0108]
本实施例提供的方法,对于有数据包的硬件队列,如果检测当前队列中传输的业务为低优先级业务时,设置该业务的随机回退计数值在原来按照edca模式配置backoff_c的基础上,增加一个固定时延计数值backoff_delay,从而使分配给该业务的随机回退计数值增大,倒数计数到0的时间变长,且长于中、高优先级的随机回退计数值,从而可以使高优先级或中优先级的业务先传,避免了当前低优先级的业务抢占高优先级业务的空口资源。
[0109]
另外,上述方法还包括:按照wifi模块配置的随机回退计数值进行计数,当倒数到0时,传输第一队列中的数据报文。具体地,对于上述情况1至情况3,可以采用不同的方式发送数据包或帧。
[0110]
在“情况1”中,站点可以通过单帧方式发送第一业务所对应的数据包。
[0111]
在“情况2”中,站点既可以通过单帧方式发送队列中的数据包,也可以通过聚合帧(frame aggregation)的方式发送,具体地,选择哪种发送方式可根据队列中的数据报文的数量来决定,比如如果待传输的数据报文较多,则采用聚合帧的方式发送;如果待传输数据报文较少,则可采用单帧方式发送。
[0112]
在现有的协议版本中,比如802.11n和802.11ac版本,为了提高物理层传输速率和吞吐量,可以采用聚合帧来传输无线帧。聚合帧是将多个无线帧组合成单个更长的无线帧,然后进行一次传输。在mac层的竞争开销不变的情况下(由于用一个帧代替多个帧,所以只有一次竞争开销),增加了传输的内容,减少额外的空口开销。
[0113]
在聚合帧传输中包含:msdu和mpdu。其中sdu和pdu是两个基本单元,m代表mac层。在802.11中,mac服务数据单元(mac service data unit,msdu)是802.11数据帧的第3-7层有效载荷(即payload),msdu仅仅是payload部分,没有数据包头(header)。802.11mac协议数据单元(mac protocol data unit,mpdu)本质是除了payload以外,还包含了mac层的数据包头部,即mdpu包含了mac层头部以及msdu。
[0114]
在“情况3”中,站点可优先采用聚合帧方式传输第一队列中的数据报文,若固定时延内没有聚合帧,则使用单帧传输。因为backoff_c3被配置的越大,等待传输的时延越长,在bk队列中缓存的数据报文可能会越多,所以利用聚合帧传输可以一次传输更多的数据报文。另外,如果backoff_c3在倒数到0的这段时延内,没有可发送的聚合帧,则采用单帧方式发送。
[0115]
例如在图5中,站点在空口资源(可理解为时域资源)获得第三随机回退计数值backoff_c3为40,并从40开始倒数,在倒数过程中会有文件传输业务的数据缓存在bk队列中,此时进行聚合操作;当backoff_c3倒数到0后,按照聚合帧的形式传输缓存在bk队列中所有的数据包。当这一次传输完成后,站点需要再次“等待”sifs时间间隔,ap会向该站点反馈块(block)ack确认帧,按照块ack的形式对传输的数据进行确认。后续过程可参见802.11协议版本的相关规定,本实施例对此不详细赘述。
[0116]
另外,上述方法实施例中,在步骤102之后,还包括:
[0117]
104:如果步骤102中检验结果为“否”,即硬件队列中的所有队列上都没有数据包,则根据预测机制预测下一个时刻,所有队列中大概率会有数据缓存和传输的队列,并且为这些可能会有数据传输的队列配置随机回退计数值backoff_c。
[0118]
其中,所述硬件队列中没有数据包,是指硬件队列中至少一个队列中的每个队列上都没有需要传输的数据包。比如硬件队列中包括:vo或vi队列、bk队列和be队列共三种优先级的队列,且每个队列都没有缓存数据包,则确定步骤102中的检验结果为“否”。
[0119]
所述预测机制用于预测下一次传输时,所述硬件队列中可能会存在数据包的队列。其中,该预测机制实际上可根据数据包的分布情况来确定。设置上述三种优先级的业务可能在下次传输时携带数据包的概率,所述概率通过大写字母“p”表示,例如优先级最高的vi或vo队列中,可能发生数据传输的概率为p1;优先级中等的be队列,可能发生数据传输的概率为p2;低优先级bk队列中数据传输的概率为p3,且p1 p2 p3=1。
[0120]
一种可能的实施方式是,基于概率统计确定下一次传输大概率会有数据包的队列。具体地,根据p1、p2、p3的概率确定目标队列,且该目标队列为所述硬件队列中的一个,其中随机数可能的取值范围是1,2,3;该随机数(backoff_c)可定义用“r”表示。即预先建立对应关系《p,r》。其中,p1对应“1”,p2对应“2”,p3对应“3”。
[0121]
判断当前时刻p1、p2、p3中的最大值,如果当前时刻统计的p1值最大,则r=1,确定第一优先级业务数据所在的vo/vi队列(即目标队列)为下次传输时大概率会携带数据报文的队列;如果p2在p1,p2和p3中最大,则r=2,即下次传输时be队列(即目标队列)中可能发生数据的概率最大,即第二;如果p3最大,则确定r=3,即下次传输时在bk队列(即目标队列)中可能发生数据传输的概率最大。根据r的取值确定每个值所对应的随机回退计数值backoff_c,具体包括:
[0122]
如果r=1,则确定的backoff_c1=random(0,cw
vi
),即从[0,cw
vi
]中选择任意值;
[0123]
如果r=2,则确定的backoff_c2=random(0,cw
be
),即从[0,cw
be
]中选择任意值;
[0124]
如果r=3,则确定的backoff_c3=random(0,cw
bk
) backoff_delay。即从[0,cw
bk
]中选择任意值,然后再加上一个固定时延计数值backoff_delay;其中,random(0,cw
bk
)为backoff_c0。“[]”表示可以取端值。
[0125]
最后,按照确定的backoff_c倒数,当该确定的backoff_c倒数到0时,发送该目标队列中的数据。具体过程可参见ieee 802.11协议版本中的post-backoff机制,所谓post-backoff机制是一种预先退避,且仅在硬件队列中无包的情况下才启用的随机数分配机制。
[0126]
本实施例提供的预测机制,根据概率统计,将历史数据传输时统计的概率最大的业务数据作为下一次传输可能缓存有数据包的队列,预测出下一次传输时可能缓存并需要发送数据的队列,从而分配随机回退计数值,如果判断是高优先级业务流时,直接选择较小backoff_c值,可进一步提高终端设备接入概率,减少延迟。如果判断是低优先级业务流时,则直接选择较大的backoff_c值,该随机回退计数值backoff_c为随机数取值(random(0,cw
bk
))与固定时延计数值backoff_delay之和,进而使得较低优先级的业务数据被延迟发送,避免与高优先级队列中的数据流竞争资源。提高聚合帧发送概率,以提升吞吐量效率。
[0127]
可选的,在上述“r=3”时,当backoff_c计数倒退至0时,可利用聚合帧发送bk队列中的数据,由于聚合帧表示数据发送前可进行多帧打包发送,多帧可共用一个包头和包尾,因此可以传输更多数据,提高传输效率,从而增大了数据传输的吞吐量。
[0128]
应理解,在上述情况1至情况3中,预测当硬件队列中的一个或多个队列可能在下一个检测周期内有缓存数据时,为每个可能传输数据包的队列配置随机回退计数值backoff_c,并且当backoff_c倒数到0时,按照post-backoff机制进行数据传输。
[0129]
一种可能的实施方式是,基于概率的加权平均值运算确定下一时刻可能缓存并传输数据的队列。具体地,如图7所示,对历史数据传输过程的服务质量(qualityofservice,qos)队列中不同队列缓存的数据占该队列总容量的百分比,简称“数据空间百分比”来确定随机回退计数值backoff_c。由于在post-backoff机制中所有队列只需分配一个backoff_c,所以无需预测下一个检测时刻可能传输数据包的队列,只通过按照不同百分比设置backoff_c即可。
[0130]
具体地,第一步:获取qos队列中每个队列中的数据空间百分比,该百分比可通过小写字母“p”表示。
[0131]
第一步:获取qos队列中每个队列的数据空间百分比p,以及每个队列选择的随机回退计数值backoff_c。
[0132]
第二步:根据每个队列的数据空间百分比p和对每个队列选择的所述backoff_c进行概率加权运算,得到通用随机回退计数值backoff_c4。具体地,计算过程为:
[0133]
backoff_c4=p1*[random(0,cw
vi
)] p2*[random(0,cw
be
)] p3*[random(0,cw
bk
) backoff_delay]
[0134]
其中,p1为vi队列中统计的数据空间百分比,p2为be队列中统计的数据空间百分比,p3为bk队列中统计的数据空间百分比,cw
vi
为vi队列中backoff_c可选的最大值,cw
be
为be队列backoff_c可选的最大值,cw
bk
为bk队列backoff_c可选的最大值。
[0135]
并且,所述cw
vi
、cw
bk
和cw
be
最大值的取值可根据现有协议版本来确定,本实施例对此不予限制。其中,cw
bk
>cw
vi
,比如cw
bk
=31,cw
vi
=16。
[0136]
例如,参见图6的一个示例中,p1=75%,p2=20%,p3=5%,random(0,cw
vi
)为5,random(0,cw
be
)为10,random(0,cw
bk
)为20,backoff_delay为20,则根据上述关系式计算
[0137]
backoff_c4=75%*5 20%*10 5%*(20 20)=7.75,计算得到的backoff_c4为7.75,四舍五入得到backoff_c4为8,该backoff_c4与原vi队列中选择的随机数random(0,cw
vi
)=5相接近。
[0138]
第三步,根据计算和凑整得到的backoff_c4数值进行post-backoff机制下的数据传输。
[0139]
具体地为vi、vo队列,bk队列和be队列分配相同的随机回退计数值backoff_c4,并使每个队列按照该backoff_c4进行倒数计数,当倒数到0时,经过difs时间间隔后,如果有数据被存储在vi队列中,则优先发送该vi队列中的缓存数据。
[0140]
本实施例提供的方法,基于ieee 802.11协议规范的基础,对不同业务传输划分优先级,并且对于低优先级业务,在配置随机回退计数值时,在原来选择的随机数的基础上增加一个固定时延计数值backoff_delay,从而避免与高优先级业务的数据传输竞争空口资源,并且延迟以增加缓存,从而触发聚合帧传输以代替单帧传输,提高吞吐量效率。
[0141]
另外,基于预测机制,如果判断是高优先级业务数据流,则直接选择更小值的backoff_c,从而可以减少传输时延,相比传统的post-backoff提高了接入概率。
[0142]
下面介绍与本技术上述方法实施例所对应的装置实施例。
[0143]
本技术实施例提供一种计数值配置装置,如图8所示,所述装置可以是前述的wifi模块,或者,是包含有所述wifi模块中的终端设备,可以实现前述实施例中的计数值配置方法。
[0144]
具体地,该装置可以包括:获取单元801,处理单元802和发送单元803,此外,所述装置还可以包括存储单元(该存储单元在图8中未示出)等其他的单元或模块,本实施例对此不予限制。
[0145]
其中,获取单元801,用于获取传输不同业务数据的多个队列,所述多个队列中包括第一队列;处理单元802,用于当所述多个队列中有待传输的数据包时,获取第一队列的优先级,当所述第一业务的优先级为低优先级时,配置所述第一业务对应的第一随机回退计数值,所述第一队列的优先级为所述第一队列中承载第一业务数据的优先级,所述第一随机回退计数值为预设随机回退计数值与固定时延计数值之和。
[0146]
可选的,在一种具体的实施方式中,处理单元802,还用于在配置所述第一业务对应的第一随机回退计数值之前,确定所述固定时延计数值;所述固定时延计数值与m和t相关,其中,m为所述第一队列所能承载的数据包总数,t为一个数据包从应用层发出到达wifi芯片的时间间隔。
[0147]
可选的,在另一种具体的实施方式中,发送单元803,用于当所述处理单元监听到信道空闲,且所述第一随机回退计数值倒退到0时,采用聚合帧方式发送所述第一队列中的数据包。
[0148]
可选的,在又一种具体的实施方式中,处理单元802,还用于当所述多个队列中没有待传输的数据包时,预测在下一个检测周期内会有待传输数据缓存的目标队列;以及,为所述目标队列分配第二随机回退计数值。
[0149]
可选的,在又一种具体的实施方式中,处理单元802,还用于根据所述多个队列中的每个队列可能在下次传输时携带数据包的概率确定所述目标队列,所述目标队列为所有所述概率中最大的一个概率所对应的队列;以及,
[0150]
如果所述目标队列为视频vi队列,则确定所述第二随机回退计数值为从[0,cw
vi
]中选择的任意值,cw
vi
为vi队列中随机回退计数值能取的最大值;
[0151]
如果所述目标队列为尽力而为be队列,则确定所述第二随机回退计数值为从[0,cw
be
]中的任意值,cw
be
为be队列中随机回退计数值能取的最大值;
[0152]
如果所述目标队列为背景流bk队列,则确定所述第二随机回退计数值为预设随机回退计数值与固定时延计数值之和,所述预设随机回退计数值为从[0,cw
bk
]中的任意值,cw
bk
为bk队列中随机回退计数值能取的最大值。
[0153]
可选的,cw
be
大于cw
vi

[0154]
可选的,在又一种具体的实施方式中,处理单元802,还用于获取服务质量qos队列中每个队列的数据空间百分比p,以及每个队列选择的随机回退计数值backoff_c,根据每个队列的数据空间百分比p和对每个队列选择的所述随机回退计数值backoff_c进行概率加权运算,得到所述第二随机回退计数值。所述数据空间占比p为历史数据传输过程的qos队列中一个队列中缓存的数据占所述队列总容量的百分比。
[0155]
进一步地,所述qos队列中包括vi队列、be队列和bk队列,处理单元802,还用于按照如下算法进行概率加权运算,得到所述第二随机回退计数值为:
[0156][0157]
其中,p1为vi队列中统计的数据空间百分比,p2为be队列中统计的数据空间百分比,p3为bk队列中统计的数据空间百分比,cw
vi
为vi队列中backoff_c能取的最大值,cw
be
为be队列backoff_c能取的最大值,cw
bk
为bk队列backoff_c能取的最大值,backoff_delay为固定传输时延。
[0158]
本实施例提供的装置,当判断业务传输的数据是低优先级业务时,配置的随机回退计数值在原有的随机数基础上添加固定时延计数值backoff_delay,用于传输bk流,进而对于低优先级业务通过增加延迟以增加缓存,避免与高优先级业务竞争信道,保证了高优先级业务数据优先传输。
[0159]
此外,在选择完随机回退计数值以后,在信道空闲时,利用post-backoff机制选择的backoff_c变更为根据预测的业务类型选择不同的backoff_c,从而降低传输时延,提高网络吞吐量。
[0160]
另外,在具体的硬件实现层面,本实施例提供了一种终端设备,如图9所示,包括:通信模块110、soc芯片120,并且通信模块110与soc芯片120之间可以利用通信端口和/或通信总线连接。
[0161]
其中,通信模块110用于建立通信信道,使终端设备通过所述通信信道以连接至网络,从而实现终端设备与其他设备之间的通信传输。其中,通信模块110可以是完成收发功能的模块。例如,可以包括无线局域网(wireless local area network,wlan)模块、蓝牙wifi模块、基带(base band)模块等通信模块,以及所述通信装置对应的射频(radio frequency,rf)电路,用于进行无线局域网络通信、蓝牙通信、红外线通信及/或蜂窝式通信系统通信,例如宽带码分多重接入(wideband code division multiple access,wcdma)及/或高速下行封包存取(high speed downlink packet access,hsdpa)。并且,通信模块110支持直接内存存取(direct memory access)。
[0162]
进一步地,通信模块110中包括收发电路1101,处理单路1102和存储器1103。
[0163]
收发电路1101包括但不限于收发信机和天线,此外,通信模块110还可以包括前置放大器、下变频器、a/d转换器、基带处理器等部件。在本技术的不同实施方式中,通信模块110中的各种电路模块一般以集成电路(integrated circuit)的形式出现,并可进行选择性组合,而不必包括所有收发模块及对应的天线组。例如,通信模块110还可以包括射频芯片以及相应的天线以在一个蜂窝通信系统中提供通信功能使其接入到通信网络。
[0164]
本实施例中,通信模块110可用于接收soc芯片120发送的数据包,以及每个数据包从终端设备的应用层发送到达通信模块110的时间间隔。
[0165]
可选的,所述通信模块110集成在wifi芯片或wifi模块中。
[0166]
存储器1103,可以包括易失性存储器(volatile memory),例如随机存取内存(random access memory,ram);还可以包括非易失性存储器(non-volatile memory),例如快闪存储器(flash memory),硬盘(hard sisk drive,hdd)或固态硬盘(solid state drive,ssd);或者还可以包括上述种类的存储器的组合。存储器中可以存储有程序或代码,处理电路1102通过执行所述程序或代码可以实现所述终端设备的功能。另外,存储器1103可以是独立存在,或者也可以和处理电路1102集成在一起。
[0167]
应理解,上述处理电路1102还可以是作为一种处理器。该处理器可利用各种接口
和线路连接整个终端设备的各个部分,通过运行或执行存储在存储器1103内的软件程序和/或单元,以及调用存储在存储器1103内的数据,以执行终端设备的各种功能和/或处理数据。进一步地,处理器可以由集成电路(integrated circuit,ic)组成,例如可以由单颗封装的ic所组成,也可以由连接多颗相同功能或不同功能的封装ic而组成。举例来说,处理器可以仅包括中央处理器(central processing unit,cpu)及收发器中的控制芯片(例如基带芯片)的组合等。
[0168]
此外,该终端设备还可以包括其他更多或更少的部件,或者组合某些部件,或者不同的部件,本技术实施例对此不进行限定。
[0169]
在本实施例中,所述终端设备可以实现前述实施例中图4至图6所示的方法步骤,并且前述图9所示实施例中,获取单元801和发送单元803的功能可以由收发电路1101来实现,所述处理单元802所要实现的功能则可以由处理电路1102实现;存储单元的功能可以由存储器1103实现。
[0170]
本实施例,基于802.11协议规范的基础,对不同业务传输划分优先级,并且对于低优先级业务,在配置随机回退计数值时,在原来选择的随机数的基础上增加一个固定时延计数值,从而避免与高优先级业务的数据传输竞争空口资源,并且延迟以增加缓存,从而触发聚合帧传输以代替单帧传输,提高吞吐量效率。
[0171]
另外,本技术实施例还提供一种无线接入系统,该系统可以是图2所示的网络拓扑结构,或者是如图3a或图3b所示的无线通信系统。其中,所述无线接入系统中包括至少一个终端设备和网络设备,所述终端设备包括前述方法实施例中的wifi模块,用于实现前述图4至图6所示的方法。
[0172]
所述网络设备可以是基站、交换机或服务器等,其中这些网络设备的结构可以与图9所示的终端设备的结构相同,也可以不相同,本实施例对此不予限制。
[0173]
此外,本技术实施例还提供一种计算机存储介质,该计算机存储介质可存储有程序,该程序执行时可包括本技术提供的方法的各实施例中的部分或全部步骤。所述的存储介质可为磁碟、光盘、只读存储记忆体rom或随机存储记忆体ram等。
[0174]
在上述实施例中,可以全部或部分通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。
[0175]
所述计算机程序产品包括一个或多个计算机指令,例如信号接收指令、信号跟踪指令、发送指令等,在计算机加载和执行所述计算机程序指令时,全部或部分地产生按照本技术上述各个实施例所述方法流程或功能。
[0176]
所述计算机可以是通用计算机、专用计算机、计算机网络或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等存储设备。所述可用介质可以是磁性介质,例如软盘、硬盘、磁带、光介质(例如dvd)、或半导体介质,例如固态硬盘ssd等。
[0177]
本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。此外,术语“包括”和“包含”以及他们的任何变形,意图在于覆盖不排他的包含。
[0178]
本说明书中各个实施例之间相同相似的部分互相参见即可。尤其,对于终端设备以及装置而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例中的说明即可。
[0179]
以上所述的本技术实施方式并不构成对本技术保护范围的限定。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献