一种高信道利用率的细粒度统计优先多址接入方法
技术领域
本发明属于航空自组网(Aeronautical Ad Hoc Networks,AANET)技术领域,尤其涉及在媒体接入控制(Medium Access Control,MAC)层采用多优先级竞争接入方法的航空自组网场合(比如无人机自组网场景)。
背景技术
随着飞行控制和集成电路技术的发展,各种大小和不同用途的无人机(UnmannedAerial Vehicles,UAV)在设计和研发方面都取得了迅速的进展。无人机是一架无需承载任何人员的飞机,它的的飞行可以自主操作或远程机载计算机***自动控制。与载人飞机相比,无人机具有灵活性、低成本和高机动性等特点,无人机被广泛应用在战场查打、环境监测、中继网络、交通农业管理和灾害救援等领域,随着无人机技术的快速发展,无人机正在从单一平台操作模式发展到群体网络化操作模式。与单架无人机相比,多架协同无人机可以极大地扩展覆盖范围,提供从远程到数据控制中心的实时数据传输,共同完成各种民用和军用任务。无人机自组网是一种新颖的移动自组织网络,其将移动自组网应用在空间组网中,为未来航空领域提供了更广阔的的发展,与传统的无线移动自组网相比,无人机自组网具有某些独特的特点,如节点的高速移动性、频繁的拓扑变化、低延迟要求和高可靠性等特点,网络场景如附图1所示。
与现有无线移动自组网一样,无人机自组网MAC协议作为协议体系中较低层的协议,为网络中每个节点提供了信道接入的方式,如何控制无人机实现接入信道成为无人机自组网最关键的问题之一,研究一种高效、可靠的MAC协议将极大地提高无人机自组网的网络性能。当前,国内外对于无人机自组网接入方法已经开展了一些研究,并且取得了一些进展。
Jun Li等人研究了一种竞争类无人机接入方法(参见文献[1]:Jun Li,YifengZhou,Louise Lamont,Mylène Toulgoat,Camille A.Rabbath.Packet Delay in UAVWireless Networks Under Non-saturated Traffic and Channel Fading Conditions[J].Wireless Personal Communications,2013,72(2):1105-1123),该方法采用IEEE802.11DCF机制实现MAC层接入,假设所有的数据包长度都相同,任意两架无人机间都相邻,在共享的无线信道上以相同的数据速率进行通信。由于有损无线信道造成的传输错误,为了减少数据包的冲突概率,每架无人机采用DCF和RTS/CTS机制来访问无线信道。CWmin为竞争窗口大小CW的初始值,每次重新开始退避时CW需加倍,直到窗口最大值CWmax,一旦值为CWmax,它将保留该值,直到重置为止。节点发送失败后,每架无人机将其退避定时器设为均匀分布在区间[0,CW]中的新随机数,并在退避定时器到达时进行重传,当达到最大传输失败极限R时,数据包停止重传,CW重置为CWmin,将数据包丢弃。虽然该接入方法能够较好的避免节点间数据包的冲突,但在饱和或不饱和的业务条件下,平均分组延迟随着网络规模的增加而增加。
Alshbatat AI等人对无人机自组网MAC协议进行了研究,他们提出了一种自适应定向无人机接入方法——AMUAV(Adaptive MAC protocol for UAV communicationnetworks using directional antennas,参见文献[2]:Alshbatat AI,Dong L.AdaptiveMAC protocol for UAV communication networks using directional antennas[C].2010IEEE International Conference on Networking,Sensing and Control,2010:598-603)。AMUAV方法针对每架无人机拥有四种天线,两种定向天线,两种全向天线,无人机的上下侧为定向天线。若无人机没有数据发送,使用全线天线接收其他无人机发送的信息。若无人机需要发送数据,可选择全向或定向天线对数据分组进行发送。无人机根据距离、误码率和重传计数器自适应选择定向天线或者全向天线。在发送数据包前,检查无人机间的距离,如果距离小于全向天线的通信范围,则使用全向天线发送数据,否则MAC将检查无人机的高度,如果无人机的高度小于或等于另一架无人机,无人机参数和数据一起通过主天线(定向天线)进行发送,若重传计数器值超过7之后,丢弃该数据包,为了尽量减少端到端的延迟,如果重传计数器值达到5,无人机将把定线天线传输切换到全向传输。AMUAV方法采用定线天线进行传输,可以使节点间传输距离更长、干扰较小,避免隐藏终端和暴露终端的问题,同时为空间复用提供了可能性。AMUAV方法的缺点是由于无人机高速移动,网路拓扑的频繁变化,各无人机很难获得其他节点的位置信息。
Lei L等人提出了DT-MAC(参见文献[3]:Lei L,Cai S,Luo C,et al.A dynamicTDMA-based MAC protocol with QoS guarantees for fully connected ad hocnetworks[J].Telecommunication Systems,2015,60(1):43-53),一种基于动态TDMA的媒体访问控制协议,旨在提供无冲突的数据传输,同时为网络中的不同服务提供QoS保证。DT-MAC协议提出了一个由同步、请求、分配和数据时隙组成的新的时帧结构。该协议可以根据网络中的节点数量和它们业务量来自适应地调整时隙的数量和长度。节点间通过竞争,每个时间帧都会生成一个主节点,一旦生成主节点,网络中的其他节点通过很小的控制消息依次向主节点发送自身的时隙请求。主节点收集到所有节点的需求信息后,根据自身的QoS要求为节点分配不重叠的时隙。
尽管TDMA(Time Division Multiple Access,时分多址接入)可以使节点无冲突的接入信道,避免节点对信道接入的控制。但在网络拓扑频繁变化,节点需要快速入退网的场景中,TDMA的接入方式需要付出大量的控制开销,和较大***的复杂度。从而降低了整个***的灵活性、可靠性和可拓展性。为此,Stephen M.Clark等人提出了SPMA(StatisticalPriority-Based Multiple Access基于统计优先级的多址接入协议)(参见文献[4]:Stephen M C,Kelli A H,Scott J F Z.Statistical Priority based Multiple AccessSystem and Method:USA,7680077B1[P].2010),一种基于统计优先级的多址接入协议,它为数据包分配不同的优先级,旨在保证高优先级的数据包能尽快的接入信道的同时还能保证较高的成功率。每个数据包都有相应的优先级,在接入信道之前需要与先前设定的优先级阈值相比较,判断是否能够接信道,若不满足条件就需要进行相应的退避。SPMA可以有效地控制信道负载,能起到削峰填谷的效果,主要参数包括:优先级阈值,退避时间,负载统计窗口长度。该协议具有较高的高优先级首发成功率,并且有较低的时延,能够很好地适配无人机自组网的应用场景。
王希洋等人研究了SPMA协议中的退避机制(参见文献[5]:王希洋.基于统计优先级的数据链MAC协议研究[D].西安电子科技大学硕士学位论文,2017)并对其加以改进,改进思路是:SPMA协议中数据包退避结束后,重新比较当前信道负载和优先级阈值的大小,决定是否发送该数据包;因此,无需在数据包发送失败时增大退避窗口,但必须确保高优先级业务接入信道的能力强于低优先级业务;根据退避时间与信道负载统计周期和退避包优先级的相关性,提出了如下公式:
T
backoff表示退避时间,T
sw表示负载统计周期,p表示优先级,random(x)表示在[0,x]之间均匀的取随机数。
SPMA的满载门限是一个重要的参数,它的大小决定了哪些优先级的包可以接入信道,哪些优先级的包需要退避。如果优先级阈值设置得过高,允许发送的优先级分组越多,信道负载越大,高优先级分组的传输质量将会降低;优先级阈值设置得过低,更多的低优先级分组将退避,造成不必要的信道资源浪费。所以如何设置这些参数是一个重要的问题。郑文庆等人提出了SPMA优先级阈值的设置方法(参见文献[6]:郑文庆,金虎,郭建蓬,冯辉.一种Ad Hoc网络MAC协议接入阈值的研究[J].通信技术,2018,51(07):1602-1607.),该方法的主要思路是:(1)假设全网存在N类优先级业务,分别为0到N-1,最高优先级为0,最低为N-1。各优先级业务所占比例为r
i且对应优先级阈值为Threshold
i。(2)当全网业务量不大于最低优先级阈值Threshold
N-1对应业务量时,所有优先级包均不进行退避且随到随发,此时应该保证各优先级包传输成功率大于等于99%。(3)其中最低优先级阈值Threshold
N-1的设置方法为:无优先级控制,包随到随发,逐渐增大全网业务量,当包传输成功率降低至接近99%时,获取前一个T
unit内出现的包数作为最低优先级阈值。其余优先级阈值设置按照公式:
信道负载的统计是一个重要的环节,Liu Zhifeng等人提出的信道负载统计方法(参见文献[7]:Luman W,Hai L,Zhifeng L.Research and pragmatic-improvement ofstatistical priority-based multiple access protocol[C]//2016 2nd IEEEInternational Conference on Computer and Communications(ICCC).ChengDu,China:IEEE,2016:2057-2063)信道负载统计值指的是单位时间内信道上出现的包的总数。就单个节点而言,由于单跳以外节点的无线信号几乎不会影响本节点无线覆盖范围内的信号,所以某个节点的基本等同于一跳范围内节点数据链路层发送的包数。我们以单位时间内一跳范围内节点数据链路层发送的包数统计作为信道负载的统计。假设单位时间为T
unit(s),每个节点统计T
unit(s)时间间隔内实际从数据链路层发送的包数目,将该值填入负载统计包中。将该负载统计包广播出去,这样每个节点均可接收到其相邻节点发送的负载统计包。每个节点维护信道负载列表Packet_pri
n(n=0,2...N-1),每收到一个负载统计包广播,就将其中的各优先级负载值填入对应优先级的Packet_pri
n中。这样,每个节点就可以获得一跳范围内所有节点前T
unit(s)的负载值,从而可以计算出信道负载COS为:
综上所述,人们对无人机自组网的接入协议已经研究已经进行了一段时间,较好地保障了航空自组网节点间可靠传输、数据包端到端时延性能和较好的节点公平性。但我们经过深入研究发现,现有航空自组网多优先级的SPMA接入方法存在如下问题:
(1)调节信道负载时以优先级为单位,调节粒度偏大,当把一个优先级的所有包阻止后,可能出现部分信道资源空闲的情况,从而导致信道资源浪费。
现有基于统计优先级的多址接入方法中信道负载控制的单位是整个优先级,当信道的满载门限值确定后,各个优先级能否接入信道需要比较满载门限值和统计出的信道负载值的大小,当信道负载小于满载门限的时候不做控制,各优先级随到随发。当统计出的信道负载值大于满载门限值时,通过分析信道负载的优先级构成,退避掉低优先级的包,此时整优先级的退避,有可能造成过度退避的发生,使高优先级包接入信道后负载水平不能达到满载门限,一部分可以发送的低优先级包不能发送同时一部分信道资源被闲置,从而造成信道资源的浪费。
(2)退避时间(即不发送某个优先级数据包的时间)设置为多个统计周期,在该段时间内即使有部分信道空闲,节点发包数量也不会增加,因此会导致信道资源浪费。
现有的基于统计优先级的多址接入方法中退避时间一次要延续多个负载统计周期。当统计出信道负载大于预定的满载门限值时,需要退避多个统计周期。低优先级退避过程中如果高优先级的发包数量不足以维持信道负载达到满载门限,则造成信道承载能力的部分闲置,而多个统计周期的退避时间加重了信道承载能力闲置的情况,造成了较严重的信道资源浪费。
(3)满载门限值根据99%的成功率来设置,存在1%的误码率,该误码率会导致信道资源的损失。
现有基于统计优先级的多址接入方法中,满载门限的设置是在当某个负载统计周期内发包成功率从100%降低到99%时获取负载统计周期内信道上出现的包的总数作为满载门限。99%小于100%致使存在1%的误码率,1%的发送失败率也将产生碰撞导致重传,浪费了部分信道资源,增加了数据包端到端时延。
发明内容
为了解决上述三个问题,本发明提出了一种高信道利用率的细粒度统计优先多址接入方法,该方法包含“基于包的信道负载控制”、“基于单周期的退避时间设置”和“满载门限优化”三种新机制。在满载门限值的设置中,通过类似TCP流量控制机制快重传快恢复机制的方法,在步骤一指数增加发包数量使信道负载快速超过信道承载能力上限使发包成功率低于99%。步骤二的信道负载从步骤一信道负载的一半开始线性增加信道接入量在发包成功率低于99%进入步骤三。在步骤三从步骤二结束时信道接入量的一半开始线性增加信道负载但增加的速度降低,重复步骤三可以找出发包成功率99%的统计周期。将此周期内统计出的包总数减一作为信道承载能力的标志即满载门限值Tfullload。信道的满载门限Tfullload或者介于发包成功率99%到100%之间,或者就是发包成功率100%的阈值,通过此方法确定的满载门限可以进一步降低误码率、减少底层包冲突的发生、提高信道利用率。以满载门限Tfullload为基准,所有的优先级的包的发送都要与此门限做比较。通过信道负载的统计可以得知是每个统计周期内负载的优先级分布情况:既包的总数,各优先级包的数目。在此基础上使用基于包的信道负载控制机制准确的控制当前统计周期内哪些优先级的包可以接入信道,哪些优先级的包需要退避,而跨信道满载门限的优先级既要退避一部分又能发送一部分。通过计算满载门限值与完全允许接入信道的高优先级包数目的差值,得到在当前的信道承载能力下还能有多少数据包能接入信道而不超过满载门限值(剩余信道承载能力)从而造成信道过载。再通过比较剩余信道承载能力的大小与统计到的跨门限优先级包的数目,确定可以在本统计周期内接入信道的跨门限优先级的数目,将这个数目加权分配给节点,按照负载统计阶段统计出的各个节点发送的跨门限优先级包的个数所占总数比例做加权分配。其余低优先级包和未分配给节点的跨门限优先级包需要执行退避,由于每个统计周期负载情况都可能会发生变化,所以退避时间不再使用指数二进制算法计算得出的多个负载统计周期。基于单周期的退避时间设置改为每个统计周期都比较决定当前周期哪些包可以接入信道,每次需要退避的低优先级和跨门限优先级未分配的包只退避一个负载统计周期,在下个负载统计周期重新比较能否接入信道,从而避免了长时间退避可能造成的信道承载能力的浪费。
一、本发明提出的新机制的基本思路和主要操作
以下具体介绍本发明提出的“基于包的信道负载控制”、“基于单周期的退避时间设置”和“满载门限优化”三种新机制的基本思路和主要操作。
1.基于包的信道负载控制
现行方法的负载控制以级为单位,调节粒度偏大,当把一个优先级的所有包阻止后,可能出现部分信道空闲的情况,从而导致信道资源浪费。
现有基于统计优先级的多址接入方法中信道负载控制的单位是整个优先级,当信道的满载门限值确定后,各个优先级能否接入信道需要比较满载门限值和统计出的信道负载值的大小,当信道负载小于满载门限的时候不做控制,各优先级随到随发。当统计出的信道负载值大于满载门限值时,通过分析信道负载的优先级构成,退避掉低优先级的包,此时整优先级的退避,有可能造成过度退避的发生,使高优先级包接入信道后负载水平不能达到满载门限,一部分可以发送的低优先级包不能发送同时一部分信道资源被闲置从而造成信道资源的浪费。
为了解决上述问题,本发明提出了“基于包的信道负载控制”新机制。该机制的基本思路是:控制信道负载的单位细粒度化,不再以整优先级为控制单位,而是以包个数为基本控制单位。首先测试得到标志信道最大承载能力的满载门限Tfullload,当统计出的信道负载低于满载门限Tfullload时不需要控制信道负载,各个优先级的包按照优先级大小随到随发。当统计出的信道负载高于满载门限时为了充分利用信道承载能力,不再简单的退避造成信道过载的低优先级包,而是通过分析统计出的负载中各优先级包的分布情况,找出退避掉哪些优先级可以使下一个统计周期的信道负载降低到满载门限一下。此时可能存在一个特殊的跨门限优先级,完全退避掉这个优先级会造成下一个周期内发送的高优先级包总数小于满载门限造成信道资源的浪费,完全不退避这个优先级则下一个统计周期高优先级包总数加上跨门限优先级包组成的信道负载会超过满载门限造成信道过载。基于包的信道负载控制就是不以优先级为单位而以包为单位,通过将跨门限优先级包按照上一个周期统计出的周围一跳节点中跨门限优先级包分布比例加权分配的方式,将部分跨门限优先级包分配给节点发送出去。以包为单位细粒度控制信道负载水平在上层业务量较大时长时间维持信道负载在满载门限左右,保证发包成功率的同时充分利用信道资源。
本发明提出的“基于包的信道负载控制”新机制的基本操作流程如附图3所示,主要操作如下:
(1)若通过分析上一时隙的负载信息发现实际信道负载超过信道的满载门限Tfullload,且上个时隙的发包成功率低于99%,此时需要退避掉一部分包,使整个***维持不过载状态。通过分析负载信息中包含的包总数,和各优先级包对应的数量,对比满载门限Tfullload退避低优先级中包个数相加小于等于满载门限的优先级,这些优先级称为退避优先级。找出可能存在的跨门限优先级,若退避优先级的包加上比退避优先级中最高优先级高一级的优先级的包总数超过满载门限,则此时只控制退避优先级的包不接入信道那么下个统计周期接入信道的包总数将大于满载门限,这个接入完全接入信道会造成信道过载,完全不接入信道则造成信道资源浪费的优先级称之为跨门限优先级。
(2)跨门限的优先级不能完全退避,在i+1这个优先级分组较多的情况下,例如:
且
时(Network_load
j是优先级j的信道接入量),完全退避i+1这个优先级的分组会造成信道资源的浪费。通过公式1计算可以得到闲置的信道资源Network
unused。
根据负载统计阶段统计出的各个节点发送相应优先级的包的个数Numberij(i是节点id,j是包优先级),使用公式2算出本节点跨门限优先级包所占比例P。
按照公式3分配给节点允许节点i发送个该优先级的包的个数N。
(3)若信道负载小于满载门限Tfullload时,使用剩余的跨门限优先级的包可以填补空缺时使用跨门限优先级包,如果跨门限优先级的包不能填补则发送更低优先级的包填补空缺,这两种可能的填补都要使用步骤(2)中的加权分配法分配节点发包数量。若上个周期内所有优先级包总数小于Tfullload则下个周期不做控制随到随发。
2.基于单周期的退避时间设置
现行方法中退避时间设置为多个统计周期,在该段时间内容即使有部分信道空闲,节点发包数量也不会增加,因此会导致信道资源浪费。
现有的基于统计优先级的多址接入方法中退避时间是多个负载统计周期的。当统计出信道负载大于预定的满载门限值时,需要退避多个统计周期。低优先级退避过程中如果高优先级的发包数量不足以维持信道负载在满载门限附近,则造成信道承载能力的部分闲置,而多个统计周期的退避时间加重了信道承载能力闲置的情况,造成了严重的信道资源浪费。
为了解决上述问题,本发明提出了“基于单周期的退避时间设置”新机制。该机制的基本思路是:将现有统计优先多址接入方法中二进制指数退避或者多统计周期的退避时间,改为信道利用率更高的单周期退避。在统计出的信道负载大于满载门限的时候,使用基于包的信道负载控制机制找到那些优先级的包可以不退避接入信道,跨门限优先级的包部分不退避接入信道,低优先级的包和部分跨门限优先级的包进行退避。由于每个统计周期统计出的信道负载水平一直处在变化中,而且每个负载统计周期都会更新上一周期的信道负载统计数据,所以退避的时间不再需要使用通过二进制指数退避算法计算出的多个统计周期的退避时间。只需要在上个统计周期统计出的结果与满载门限比较确定需要退避时,将低优先级包和部分需要退避的跨门限包在本统计周期内抑制发送。在这个统计周期结束后重新比较统计出的信道负载和满载门限值,若统计出的信道负载等于满载门限,则将上个统计周期退避的部分跨门限优先级包在本统计周期内填补需要发送的跨门限优先级包,其余高优先级包依然正常发送,低优先级包继续退避一个统计周期等待下个周期的比较。此方法可以避免因为多统计周期的退避导致的信道资源闲置的发生,可以在信道控制的第一时间将退避中的包接入信道,提高了信道利用率,降低了数据包端到端时延。
本发明提出的“基于单周期的退避时间设置”新机制的基本操作流程如附图4所示,主要操作如下:
(1)将统计出的信道负载与信道满载门限值比较,若上个统计周期内未对负载进行控制则如果统计出的信道负载小于信道满载门限就不执行退避机制。各优先级包随到随发。
(2)当上个负载统计周期对负载进行过控制,则如果统计出的信道负载小于信道满载门限值则发生了控制过度,此时运行基于包的信道负载控制机制中的步骤3,使用剩余的跨门限优先级或其余低优先级包补上闲置信道资源。
(1)当上个负载统计周期对负载进行过控制,如果统计出的信道负载等于信道满载门限值,则维持上个负载统计周期需要退避的包数目不变,但将上个统计周期退避了一个周期的跨门限优先级包作为本周期需要发送的部分跨门限包发送出去。
(2)当上个负载统计周期没对负载进行过控制,如果统计出的信道负载小于等于满载门限则不对负载进行控制,所有优先级包随到随发。
(3)当统计出的信道负载大于满载门限,则根据基于包的信道负载控制机制选择哪些些包需要退避,但退避仅限于本负载统计周期。在本负载统计周期结束时比较统计出的信道负载和满载门限,根据不同比较结果执行步骤2或3或5。
3.满载门限优化
满载门限值根据99%的成功率来设置,存在1%的误码率,该误码率会导致信道资源的损失。
现有基于统计优先级的多址接入方法中,满载门限的设置是在当某个负载统计周期内发包成功率从100%降低到99%时获取负载统计周期内信道上出现的包的总数作为满载门限,99%小于100%致使存在1%的误码率,1%的发送失败率也将产生碰撞导致重传,浪费了部分信道资源,增加了数据包端到端时延。
为了解决上述问题,本发明提出了“满载门限优化”新机制。该机制的基本思路是:找到单位统计周期内最接近信道实际承载能力的最大值即满载门限Tfullload。现行方法中满载门限的定义是一个统计周期内发包成功率99%时统计周期内出现的包的总数,99%依然不能保证100%的传输成功率,1%的碰撞依然会造成一定程度的碰撞的发生,从而需要一定数量的重传。但当出现100%的传输成功率时不能确定是刚好达到信道承载能力极限还是信道处在轻载状态,所以使用方法:通过类似TCP流量控制机制快重传快恢复机制的方法,在第一阶段指数增加发包数量使信道负载快速超过信道承载能力上限使发包成功率低于99%。第二阶段的信道负载从第一阶段信道负载的一半开始线性增加信道接入量在发包成功率低于99%进入第三阶段。在第三阶段从第二阶段结束时信道接入量的一半开始线性增加信道负载但增加的速度降低,重复步骤三可以找出发包成功率99%的统计周期。将此周期内统计出的包总数减一作为信道承载能力的标志满载门限值Tfullload。信道的满载门限Tfullload或者介于发包成功率99%到100%之间,或者就是发包成功率100%的阈值,通过此方法确定的满载门限可以进一步降低误码率、减少底层包冲突的发生、提高信道利用率。
本发明提出的“满载门限优化”新机制的基本操作流程如附图5所示,主要操作如下:
(1)使用指数递增的方式快速增大初始几个负载统计周期内的信道负载接入量,以期在较短的时间内突破信道承载能力,最终在某个信道负载统计周期统计出的数据传输成功率等于或低于99%,若数据传输成功率刚好等于99%,则直接获取此统计周期内信道的负载接入量减一作为满载门限值。若数据传输成功率小于99%则执行步骤2。
(2)当上个信道负载统计周期内的数据传输成功率低于99%时,下个周期的信道负载从上个统计周期内信道负载值的一半开始线性递增,直到某个信道负载统计周期内的数据传输成功率等于或低于99%。若数据传输成功率刚好等于99%,则直接获取此统计周期内信道的负载接入量减一作为满载门限值。若数据传输成功率小于99%则执行步骤3。
(3)在数据传输成功率低于99%时,将上个周期统计出的信道负载值的一半开始线性递增但需要降低线性递增的速率。重复步骤2、3不断逼近真实的满载门限,最终在某个统计周期数据传输成功率等于99%获取此统计周期内信道的负载接入量减一作为满载门限值Tfullload。
二、本发明提出的高信道利用率的细粒度统计优先多址接入方法的主要操作
本发明提出的一种高信道利用率的细粒度统计优先多址接入方法,在运行时包括满载门限求取、信道负载统计、优先级比较和退避四个阶段,为了提高信道利用率,采用了“基于包的信道负载控制”、“基于单周期的退避时间设置”和“满载门限优化”三种新机制;其中“基于包的信道负载控制”新机制工作在优先级比较和退避两个阶段,“基于单周期的退避时间设置”新机制工作在退避阶段,“满载门限优化”新机制工作在节点开机后计算满载门限的阶段。下面分阶段具体说明该方法的主要操作。
1.满载门限求取
本阶段执行下述三个主要步骤:
步骤一:指数增加发包数量使信道负载快速超过信道承载能力上限使发包成功率低于99%。
步骤二:信道负载从步骤一信道负载的一半开始线性增加信道接入量在发包成功率低于99%时,进入步骤三。
步骤三:从步骤二结束时信道接入量的一半开始线性增加信道负载但增加的速度降低,重复步骤三可以找出发包成功率99%的统计周期。将此周期内统计出的信道负载包总数减一作为信道承载能力的标志满载门限值Tfullload。
2.负载统计
在本阶段,节点通过广播负载统计包的方式告知一跳邻居上个时隙自己的业务情况,主要是每个优先级的包对应的数量。就单个节点而言,由于单跳以外节点的无线信号几乎不会影响本节点无线覆盖范围内的信号,所以某个节点的信道负载值基本等同于一跳范围内节点数据链路层发送包数。以单位时间T
unit内一跳范围内节点的数据链路层发送包的总数来表示信道负载的统计。此外在本阶段节点开始运行负载统计时间校正,在一跳范围内,ID号大的节点发现(收到)ID号最小的节点发送负载统计包的时间在自己的负载统计周期内时(若在抖动范围内则不做反应),立刻终止自己的负载统计,并按照
时间的负载,折算成一个T
unit的负载后紧随ID号最小的节点发送(加上一个时间抖动)负载统计包;这会是一个链式过程,每个节点都向它一跳范围内的ID号最小的节点的靠拢,最终所有节点都靠拢在0号节点的负载统计时间附近。
3.优先级比较
在每个负载统计周期内发送的各优先级包的数量不能大于Tfullload。在信道负载大于Tfullload时,通过分析信道负载的优先级构成和分布比例,可以找出哪些优先级的包造成信道满载。退避造成信道过载的优先级,发送较高优先级的包使整体负载控制在信道满载门限之内。完全按照优先级执行退避,可能会造成信道资源的浪费。存在某个优先级跨门限的可能,即:完全退避这个优先级就会使本时隙发送的包的数目小于信道满载门限Tfullload,但不退避这个优先级就是使信道过载,造成发包成功率低于设计标准。所以在本阶段,节点根据信道负载统计出来的优先级分布数量与满载门限的值进行比较,而不仅仅是优先级之间的比较。比较的结果允许一部分跨门限的包也能够发送,发送的跨门限的包的总数为信道满载门限与不需要退避的优先级数据包数量的差。单个节点能够发送的跨门限优先级的包的数量按照一.1部分公式(1)计算出的信道闲置资源数和由一.1部分公式(2)计算得出的本节点跨门限优先级包所占比例,最终由一.1部分公式(3)计算得出具体数目。
4.退避
在统计出的信道负载大于满载门限的时候,使用基于包的信道负载控制机制找到那些优先级的包可以不退避接入信道,跨门限优先级的包部分不退避接入信道,低优先级的包和部分跨门限优先级的包进行退避,即让这些包在当前周期不能被发送。由于每个统计周期统计出的信道负载水平一直处在变化中,而且每个负载统计周期都会更新上一周期的信道负载统计数据,所以退避的时间不再需要使用通过二进制指数退避算法计算出的多个统计周期的退避时间。只需要在上个统计周期统计出的结果与满载门限比较确定需要退避时,将低优先级包和部分需要退避的跨门限包在本统计周期内抑制发送(即不发送)。在这个统计周期结束后重新比较统计出的信道负载和满载门限值,若统计出的信道负载等于满载门限,则将上个统计周期退避的部分跨门限优先级包在本统计周期内填补需要发送的跨门限优先级包,其余高优先级包依然正常发送,低优先级包继续退避一个统计周期等待下个周期的比较。
三、本发明的有益效果
本发明提出的这种高信道利用率的细粒度统计优先级多址接入方法,能够更好地维持信道负载的稳定,在业务量较大的时候使信道实际负载稳定在信道实际承载能力附近,从而能够提高信道利用率(即通常所说的“信道资源利用率”),有利于提升吞吐量、降低数据帧的平均延迟。这些有益效果来自以下三个方面:
(1)采用“基于包的信道负载控制”新机制后,信道的负载水平可以有效地被控制在信道实际承载能力附近,减少了信道空闲的情况,因而能够提高信道利用率,有利于提升吞吐量和帧延迟性能。
(2)采用“基于单周期的退避时间设置”新机制后,退避时间的细粒度化使低优先级在多个统计周期退避期间导致的帧发送偏少、信道资源出现部分空闲的情况减少发生。低优先级包在每个周期都可以尝试比较满载门限,可以尽快利用信道上出现的闲置资源,从而能够提高信道利用率,有利于提升吞吐量、数据帧平均延迟等性能。
(3)采用“满载门限优化”新机制后,满载门限可以更加接近实际的信道承载能力,从而使信道负载与容量更加匹配,有利于信道资源更充分地利用,对于提升吞吐量和帧延迟性能有帮助。
附图说明
附图1为无人机自组网——一种典型的航空自组网的网络场景示意图。
附图2为本发明提出的高信道利用率的细粒度统计优先多址接入方法的组成图。
本发明提出一种高信道利用率的细粒度统计优先多址接入方法,运行时包括满载门限求取、信道负载统计、优先级比较和退避四个阶段的操作,采用了“基于包的信道负载控制”、“基于单周期的退避时间设置”和“满载门限优化”三种新机制。
附图3为基于包的信道负载控制机制基本操作流程图。
附图4为基于单周期的退避时间设置机制基本操作流程图。
附图5为满载门限优化机制基本流程图。
附图6为信道负载统计流程图。
具体实施方式
本发明的一种具体实施方式是:在一个无人机自组网(无人机自组网是一种典型的航空自组网)的网络场景中,无人机节点数可以达到50个,各节点处于随机移动状态,每个节点是既是数据业务的源节点,也是数据业务的目的节点。每个节点配备有GPS,节点id号唯一;每个节点在信道的通信方式为全双工通信,采用全向天线;网络中每个节点都运行本发明提出的高信道利用率的细粒度统计优先多址接入方法。
一种具体的设置如下:
·负载统计周期Tunit长度1s。
·每个节点移动速度为20m/s-100m/s。
·每个节点通信范围为180km。
·单个节点带宽2Mbps。
·***整体吞吐量10Mbps。
·网络中节点数量50个。
·网络覆盖范围1000km*1000km。
·业务优先级个数8。
·物理层采用时频跳变***。
本发明提出一种高信道利用率的细粒度统计优先级多址接入方法,具体实施方式如下:
1.满载门限求取阶段
通过采用类似TCP流量控制机制快重传快恢复机制的方法,执行以下三个步骤:
步骤一:指数增加发包数量使信道负载快速超过信道承载能力上限使发包成功率低于99%,得到一个具体的信道负载值——P1。
步骤二:信道负载从步骤一得到的信道负载值P
1的一半——
开始,线性增加(如采用1的斜率)信道负载,同时统计发包成功率,在发包成功率低于99%后,得到一个信道负载值——P
2;然后,进入步骤三。
步骤三:从步骤二结束时得到的信道负载值P
2的一半——
开始,线性增加信道负载但增加的速度降低(如采用1/2的斜率),重复步骤三可以找出发包成功率99%的统计周期。将此周期内统计出的信道负载包总数减一作为信道承载能力的标志满载门限值T
fullload。
2.负载统计阶段
此阶段通过广播负载统计包的方式告知一跳邻居上个时隙自己的业务情况,主要是每个优先级的包对应的数量。就单个节点而言,由于单跳以外节点的无线信号几乎不会影响本节点无线覆盖范围内的信号,所以某个节点的信道负载值基本等同于一跳范围内节点数据链路层发送包数。以单位时间Tunit内一跳范围内节点的数据链路层发送包的总数来表示信道负载的统计。
具体步骤如下:
步骤一:单位时间为Tunit,每个节点统计Tunit时间间隔内实际从数据链路层发送的包数目,将该值填入负载统计包中。
步骤二:将该负载统计包广播出去,这样每个节点均可接收到其相邻节点发送的负载统计包。
步骤三:每个节点维护信道负载列表Packet_pri
n(n=0,2...N-1),每收到一个负载统计包广播,就将其中的各优先级负载值填入对应优先级的负载列表Packet_pri
n中。这样,每个节点就可以获得一跳范围内的信道负载值,从而得出信道负载COS为:
此外在此阶段开始运行负载统计时间校正,在一跳范围内,ID号大的节点发现(收到)ID号最小的节点发送负载统计包的时间在自己的负载统计周期内时(若在抖动范围内则不做反应),立刻终止自己的负载统计,并按照
时间的负载,折算成一个T
unit的负载后紧随ID号最小的节点发送(加上一个时间抖动)负载统计包。这会是一个链式过程,每个节点都向它一跳范围内的ID号最小的节点的靠拢,最终所有节点都靠拢在0号节点的负载统计时间附近。
3.优先级比较阶段
在每个负载统计周期内发送的各优先级包的数量不能大于Tfullload。在信道负载大于Tfullload时,通过分析信道负载的优先级构成和分布比例,可以找出哪些优先级的包造成信道满载。退避造成信道过载的优先级,发送较高优先级的包使整体负载控制在信道满载门限之内。完全按照优先级执行退避,可能会造成信道资源的浪费。存在某个优先级跨门限的可能,既完全退避这个优先级就会使本时隙发送的包的数目小于信道满载门限Tfullload,但不退避这个优先级就是使信道过载,造成发包成功率低于设计标准。所以需要根据信道负载统计出来的优先级分布数量与满载门限的大小比较,而不仅仅是优先级之间的比较。比较的结果可能会使一部分跨门限的包也能够发送,可以发送的跨门限的包的总数为信道满载门限与不需要退避的优先级包总数的差值。某个节点能够发送的跨门限优先级的包的数量经过三个步骤计算得出。
步骤一:按照
(i,j为优先级从0到7共8个优先级、
为优先级j的业务在信道负载中的比例)计算信道闲置资源数。
步骤二:由
(Number
ij为负载统计阶段统计出的各个节点发送相应优先级的包的个数,其中i是节点id,j是包优先级)计算得出的本节点跨门限优先级包所占比例。
步骤三:由
(Network
unused为计算出的闲置的信道资源)计算得出具体可以发送的最大跨门限优先级包数目。
4.退避阶段
在统计出的信道负载大于满载门限的时候,使用基于包的信道负载控制机制找到哪些优先级的包可以不退避接入信道,跨门限优先级的包部分不退避接入信道,低优先级的包和部分跨门限优先级的包进行退避。由于每个统计周期统计出的信道负载水平一直处在变化中,而且每个负载统计周期都会更新上一周期的信道负载统计数据,所以退避的时间不再需要使用通过二进制指数退避算法计算出的多个统计周期的退避时间。只需要在上个统计周期统计出的结果与满载门限比较确定需要退避时,将低优先级包和部分需要退避的跨门限包在本统计周期内抑制发送。在这个统计周期结束后重新比较统计出的信道负载和满载门限值,若统计出的信道负载等于满载门限,则将上个统计周期退避的部分跨门限优先级包在本统计周期内填补需要发送的跨门限优先级包,其余高优先级包依然正常发送,低优先级包继续退避一个统计周期等待下个周期的比较。具体步骤如下:
步骤一:将统计出的信道负载与信道满载门限值比较,若上个统计周期内未对负载进行控制则如果统计出的信道负载小于信道满载门限就不执行退避机制。各优先级包随到随发。
步骤二:当上个负载统计周期对负载进行过控制,则如果统计出的信道负载小于信道满载门限值则发生了控制过度,此时使用基于包的信道负载控制机制发送跨门限优先级包或其余低优先级包填补闲置的信道资源。
步骤三:当上个负载统计周期对负载进行过控制,如果统计出的信道负载等于信道满载门限值,则维持上个负载统计周期需要退避的包数目不变,但将上个统计周期退避了一个周期的跨门限优先级包作为本周期需要发送的部分跨门限包发送出去。
步骤四:当上个负载统计周期没对负载进行过控制,如果统计出的信道负载小于等于满载门限则不对负载进行控制,所有优先级包随到随发。
步骤五:当统计出的信道负载大于满载门限,则根据基于包的信道负载控制机制选择哪些些包需要退避,但退避仅限于本负载统计周期。在本负载统计周期结束时比较统计出的信道负载和满载门限,根据不同比较结果执行本阶段的步骤二、步骤三或步骤五。