1.战术互联网中一种自适应MAC方法,其特征在于,包括以下步骤:S1、根据系统中各节点发送数据分组的速率,统计信道的实时负载情况,具体包括以下步骤:
将负载统计包发送出去,每个节点在接收到其相邻节点发送的负载统计包后,将收到的一跳范围内其他节点负载统计包进行解析,对不同优先级数据分组数整理到对应的统计列表Num_prin(n=1,2...N)中;因此,每个节点都可以统计出统计窗口内信道的负载情况,计算出该统计窗口内的信道负载值为:假设一个信道负载周期有M个Twin统计窗口,并且距离当前时刻越近的窗口对当前网络的影响越大,则统计周期内信道实时负载值表示为:其中,αi为第i个统计窗口的加权系数,且 Tiwin表示第i个统计窗口;
获取在一个统计周期内的信道负载值,即预估下一个统计周期信道最大负载值,具体包括以下步骤:
以指数递增的方式快速增大接入信道的数据分组数量,在较短的时间内使一个统计窗口中的数据分组传输成功率低于99%;
当上个信道负载统计窗口内的数据分组传输成功率小于99%时,利用上个统计窗口时间内统计出的数据分组传输成功率和统计出的总发包量相乘,得到该统计窗口时间内最大信道负载值,下个统计窗口周期的信道负载从这个预估的最大信道负载值开始线性递增;
在数据传输成功率小于99%时,再次根据统计窗口周期统计出的数据分组传输成功率和发包个数得到预估的最大信道负载值,并在下个统计周期降低线性递增的速率;
重复以上步骤不断使预估的最大信道负载值逼近真实的最大信道负载值,最终得到准确的最大信道负载值;
S2、计算数据分组传输成功率,表示为:其中,Receivenums为该统计周期各节点成功收到数据分组的总数;Sendnums为该统计周期各节点发送数据分组的总数;
并根据该传输成功率自适应地调整信道最大负载值,包括以下步骤:如果数据分组传输成功率小于99%,系统自适应减小信道最大负载值,降低各节点发送数据分组的速率;
如果数据分组传输成功率等于99%,系统保持原有的信道最大负载值;
如果数据分组传输成功率大于99%,系统自适应提高信道最大负载值,提高各节点发送数据分组的速率;
控制信道最大负载值的过程表示为:CLNmax=CLmax+β(TSR‑0.99)×CLmax;
其中,CLmax为当前统计周期的信道最大负载值,TSR为当前统计周期数据分组传输成功率,CLNmax为更新后的信道最大负载值,β为控制调整参数,表示为:其中,TSR为当前统计周期数据分组传输成功率;
S3、各节点发送数据分组时,将该数据分组的大小与信道实时负载值相加和与该周期信道最大负载值进行比较,判断是发送该数据分组还是进行退避,数据分组进行数据发送和退避操作的过程具体包括:
数据分组从上层到达MAC层,将该数据分组插入对应的优先级队列的尾部;
调度器通过调度算法从最高优先级队列进行检测,如果最高优先级队列不为空队列,则取出该队列中最先进入队列的数据分组进入到接入信道判决阶段;
按照优先级顺序检测是否优先级队列中是否有数据分组,若当前优先级队列中没有,则检测下一优先级队列;
对待接入信道的数据分组,检查该数据分组的定时器是否为零,如果定时器已经为零,从队列中丢弃该数据分组,并重新进行队列的检测;
如果定时器不为零,则获取信道实时负载值和信道最大负载值,判断信道实时负载值是否小于信道最大负载值;
如果小于,则将该数据分组从队列中移除,对该数据分组分片并进行发送;否则,该数据分组进入随机退避阶段;
在数据分组随机退避过程中,若有更高优先级数据分组到达,则停止当前数据分组的退避操作,系统处理更高优先级数据分组;
若等待过程中没有更高优先级数据分组到达,则当退避结束时,系统重新进入队列的检测;
在将数据分组插入对应的优先级队列的过程中,若当前优先级等级不是最高或者次高的优先级,且在退避过程中没有超时,则判断该数据分组是否进行过升级,若进行过升级则优先级不变,否则将该数据分组的优先级提高一级,需要提高优先级数据分组最多只能提高一级,并在当前退避操作完成后以新的优先级判断是否可以接入信道;
S4、当数据分组需要退避时,为不同的优先级数据分组设置不同的退避时间,设置高优先级数据分组退避时间小于低优先级数据分组,各个优先级的退避时间表示为:其中,X和Y为调节退避时间的参数,X值为0.1,Y值为10;Tbackoff为计算得出的退避时间,p需要进行退避数据分组的优先级,CLrtime为实时信道负载值,CLmax为信道最大负载值,b为对数函数的底数;Packetsize为该数据分组的大小。