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

一种基于接收方发起和自适应竞争窗口的MAC协议方法

2022-08-17 02:23:55 来源:中国专利 TAG:

exponential backoff),当网络中的节点第一次传输数据包时,将它的竞争窗口初始长度设置为最低数值cw
min
,一旦出现多个节点传输数据包的信道冲突,传输数据的节点立即进行退避,并将竞争窗口增加为原来的2倍,一直增加到cw数值为cw
max
时则停止。节点在此次数据传输顺利完成后,将竞争窗口的cw数值还原到初始状态cw
min
。当网络流量突发增大,竞争节点数量增多,节点不可避免地需要进行不断的退避直至信道空闲,这将会带来巨大的传输延迟,存在重要数据无法及时传输、网络能耗大等问题。


技术实现要素:

7.本发明的目的是:针对ri-mac协议在收发节点调度模式和冲突退避机制上的不足,提供了一种基于接收方发起和自适应竞争窗口的mac协议方法,以解决传统mac协议空闲侦听能耗大、紧急数据包传输延迟高的问题。
8.为了达到上述目的,本发明提供了一种基于接收方发起和自适应竞争窗口的mac协议方法,接收方广播唤醒帧,发送方根据接收方的唤醒帧计算接收方下一次醒来的时间并提前醒来,以建立收发双方的快速唤醒匹配。
9.进一步地,所述唤醒帧的字段包括节点的剩余能量状态er、用于计算接收方唤醒时间的信息t
r_wakeup
,所述剩余能量状态er是根据节点剩余能量水平e
level
设置的字段;
10.当节点剩余能量水平e
level
≤第一预设百分比时,将唤醒帧中的er字段设置为0;当节点剩余能量水平e
level
>第一预设百分比时,将唤醒帧中的er字段设置为1;
11.当发送节点接收到接收节点的唤醒帧后,先检查er字段,若er=0时,发送节点立即进入睡眠状态;当er=1时,发送节点继续读取唤醒帧中的信息,计算接收节点的下一次唤醒时间并更新t
r_wakeup
字段,再开始传输数据。
12.进一步地,所述第一预设百分比取10%。
13.进一步地,当发送节点要发送数据包时,首先根据唤醒信息t
r_wakeup
和接收节点目前的时间t
r_cur
,得到接收节点下一次的唤醒时间t
r_nextwake
,如下式所示:
14.t
r_nextwake
=t
r_cur
t
r_wakeup
15.其中,唤醒信息t
r_wakeup
的计算如下式所示:
16.t
r_wakeup
=αt
p_init
t
offset
17.t
offset
=t
s_wf-t
r_wf-t
wf
18.其中α是根据负载调整调度周期的一个变量,t
p_init
是初始调度周期,t
offset
为发送节点和接收节点间的时间偏差,t
s_wf
为发送节点接收到唤醒帧的时间,t
r_wf
为接收节点发送唤醒帧的时间,t
wf
为发送一个唤醒帧所需要的时间;
19.发送节点计算下一次唤醒时间,修改唤醒调度,在接收节点下一次发送唤醒帧之前醒来侦听信道传输数据包。
20.进一步地,在初始调度周期t
p_init
,每个节点随机从t
p_init
中选择一个时间点t
rand
醒来并广播唤醒帧,其中t
p_init
的长度是由网络中传感器节点的总节点数量决定的,以保证所有节点都发送完唤醒帧并建立唤醒调度表,节点i的随机唤醒时刻t
rand
计算如下所示:
21.t
rand
(i)=r(i)
×
t
wf
1≤i≤n
22.其中i代表网络中某个节点的id值,n是网络中节点的总数量,r(i)表示网络中节点i随机选择的一个值;
23.节点随机选择数的计算如下式所示:
24.r(i)=random(1,n c)1≤i≤n
25.其中random(a,b)是随机选择一个数的函数,c是根据网络负载情况提前确定的一个常数。
26.本发明还提供了另一种基于接收方发起和自适应竞争窗口的mac协议方法,发送节点根据网络中的因素自适应调整竞争窗口,并随机选择窗口中的时隙发送数据包;如果数据包发生冲突,增大该节点的竞争窗口大小,以避免下次冲突;如果没有发生冲突,具有更小竞争窗口的发送节点更快地获得信道的使用权,调整过程结束。
27.进一步地,所述因素包括数据包优先级、网络结构信息、数据包数量和节点能量状态。
28.进一步地,区分网络中的数据为实时数据和周期数据,在发送方的数据包data中设置d
rt
字段,来表示该数据是否需要实时传输;
29.当d
rt
=1时,代表该数据包是实时数据,要尽可能快地传输到sink,其初始退避窗口值为cw1(cw
min
<cw1<cw
max
),节点在[0,cw1]随机选择时间退避;当d
rt
=0时,代表该数据包是周期数据,其初始退避窗口值为cw0(cw
min
<cw1<cwo<cw
max
);
[0030]
当网络中节点刚开始进行数据传输时,根据周围竞争节点的数量nei和节点到sink的距离d
i_sink
得到竞争窗口的初步调整值:
[0031][0032]
其中是初始退避窗口值,i表示节点的id值,nei是节点i周围竞争窗口的数量,d
i_sink
是节点i到sink节点的距离,r是网络中节点的传输半径大小;
[0033]
当网络运行一段时间后,根据发送节点的传输队列中等待数据包的数量d
num
,计算数据包数量等级d
level
,如下式所示:
[0034][0035]
其中,th1是发送节点的负载因子,th2是接收节点的负载因子;
[0036]
划分网络为近直接传输区域和多跳传输区域,对于直接传输区域的节点,当剩余能量水平e
level
《第二预设百分比时,自适应竞争窗口计算如下式所示:
[0037][0038]
当剩余能量水平e
level
≥预设百分比时,自适应竞争窗口计算如下式所示:
[0039][0040]
其中β是自适应竞争窗口中影响因素的调整因子;
[0041]
对于多跳传输区域的节点,自适应竞争窗口计算如下式所示:
exponential backoff,beb),当网络中的节点第一次传输数据包时,将它的竞争窗口初始长度设置为最低数值cw
min
,一旦出现多个节点传输数据包的信道冲突,传输数据的节点立即进行退避,并将竞争窗口增加为原来的2倍,一直增加到cw数值为cw
max
时则停止。节点在此次数据传输顺利完成后,将竞争窗口的cw数值还原到初始状态cw
min
。当网络流量突发增大,竞争节点数量增多,节点不可避免地需要进行不断的退避直至信道空闲,这将会带来巨大的传输延迟,存在重要数据无法及时传输、网络能耗大等问题。
[0056]
因此,本发明的实施例提供了一种基于接收方发起和自适应竞争窗口的mac协议方法,旨在已有ri-mac协议的基础上,对协议的收发节点调度模式和冲突退避机制进一步改进。
[0057]
实施例1:
[0058]
通过对已有mac协议的收发节点调度模式进行分析,本实施例在ri-mac协议接收方的信标帧(beacon)基础上进行了改进,增加了可选字段用于计算接收方的唤醒时间,并命名为唤醒帧(wake up frame,wf)。发送方会根据接收方的唤醒信息计算出接收方下一次醒来的时间并提前醒来,由此建立收发双方的唤醒匹配模式。这种调度模式可以减少发送方等待信标帧的时间,降低信道占用率,减少空闲侦听能耗。
[0059]
具体地,接收节点所发送的唤醒帧(wf)结构如图1所示,其中fl、fcf、fcs字段是ieee 802.11协议中的固有字段,与接收方发起的唤醒匹配机制相关的字段包括发送信标帧的源节点地址src、目标地址dst、节点的剩余能量状态er、用于计算接收方唤醒时间的信息t
r_wakeup
。相比于ri-mac协议,wf增加了用于判断该节点是否可以接收和传输数据的剩余能量状态er字段和用于计算接收方唤醒时间的t
r_wakeup
字段。
[0060]
其中,剩余能量状态er是根据节点剩余能量水平e
level
设置的字段。当节点剩余能量水平e
level
≤10%时,将wf中的er字段设置为0;当节点剩余能量水平e
level
》10%时,将wf中的er字段设置为1。当发送节点接收到接收节点的wf后,会首先检查er字段。若er=0时,发送节点立即进入睡眠状态;当er=1时,发送节点继续读取wf中的信息,计算出接收节点的下一次唤醒时间并更新唤醒调度表中的t
r_wakeup
字段,然后再开始传输数据。
[0061]
在网络的初始调度周期t
p_init
,每个节点随机从t
p_init
中选择一个时间点t
rand
醒来并广播wf,以避免节点间发送信标帧的时间重合而产生碰撞,其中t
p_init
的长度是由网络中传感器节点的总节点数量决定的,需要保证所有节点都发送完wf并建立唤醒调度表。节点i的随机唤醒时刻t
rand
计算如式(1)所示:
[0062]
t
rand
(i)=r(i)
×
t
wf 1≤i≤n
ꢀꢀ
(1)
[0063]
其中i代表网络中某个节点的id值,n是网络中节点的总数量,r(i)表示网络中节点i随机选择的一个值,t
wf
表示发送一个wf所需要的时间。
[0064]
节点随机选择数的计算如公式(2)所示:
[0065]
r(i)=random(1,n c)1≤i≤n
ꢀꢀ
(2)
[0066]
其中random(a,b)是随机选择一个数的函数,c是根据网络负载情况提前确定的一个常数。考虑到传感器网络中部分区域可能会部署的节点较为密集,可适当增大常数c以避免多个节点间传输信标帧出现碰撞。
[0067]
在数据传输周期中,接收节点在随机唤醒时刻醒来,并广播带有唤醒信息的wf以通知其他节点可以发送数据。当发送节点要发送数据包时,首先根据唤醒调度表中的唤醒
信息t
r_wakeup
和接收节点目前的时间t
r_cur
,即接收节点发送wp的时间,可得到接收节点下一次的唤醒时间t
r_nextwake
,如公式(3)所示:
[0068]
t
r_nextwake
=t
r_cur
t
r_wakeup
ꢀꢀ
(3)
[0069]
为了适应不同的网络负载情况,同时尽可能避免邻居节点的唤醒时间是相近的,节点数据传输周期是在初始调度周期的基础上增加了调整因子α,同时考虑到节点之间存在时间偏差的问题,唤醒信息t
r_wakeup
的计算如公式(4)、(5)所示:
[0070]
t
r_wakeup
=αt
p_init
t
offset
ꢀꢀ
(4)
[0071]
t
offset
=t
s_wf-t
r_wf-t
wf
ꢀꢀ
(5)
[0072]
其中α是根据负载调整调度周期的一个变量,t
p_init
是初始调度周期,t
offset
为发送节点和接收节点间的时间偏差,ts
wf
为发送节点接收到wp的时间,t
r_wf
为接收节点发送wp的时间。
[0073]
发送节点利用接收到的唤醒信息计算下一次唤醒时间,修改其唤醒调度,在接收节点下一次发送wp之前醒来侦听信道传输数据包,达到高效传输数据的目的,具体通信过程如图2所示。
[0074]
实施例2:
[0075]
由于无线传感器网络中数据收集是“多对一”模式,靠近sink区域的节点承担着更大量数据包的传输,导致更多的能量消耗,而距离sink较远的节点转发数据量较小,能量较低,因此网络中的能量消耗是不平衡的。为了提高远sink区域的能量利用,同时保证工业监控应用中警报数据的实时传输,本实施例提出了一种根据数据包优先级、网络结构信息、数据包数量和节点能量状态多个因素来动态调整竞争窗口的自适应退避机制。
[0076]
本实施例中充分考虑到工业监控应用中警报数据需要实时传输,将网络中的数据分为实时数据和周期数据两类,并在发送方的数据包data中加入d
rt
字段来表示该数据是否需要实时传输,改进后的data帧格式如图3所示。
[0077]
当d
rt
=1时,代表该数据包是实时数据,要尽可能快地传输到sink,其初始退避窗口值为cw1(cw
min
《cw1《cw
max
),节点在[0,cw1]随机选择时间退避;当d
rt
=0时,代表该数据包是周期数据,其初始退避窗口值为cw0(cw
min
《cw1《cw0《cw
max
)。
[0078]
根据已有研究表明,网络状态和一些参数对争用窗口存在较大影响。当网络状态发生变化时,如果节点的争用窗口保持不变,会增加节点的碰撞次数,增加网络延迟。因此,竞争窗口的自适应调整机制有利于动态变化的网络。
[0079]
当网络中节点刚开始进行数据传输时,网络结构信息是最重要的影响因素,因此本实施例首先考虑周围竞争节点的数量nei和节点到sink的距离d
i_sink
。当一个节点周围有较多竞争节点时,过小的竞争窗口值会增大碰撞概率,增大数据包的发送延迟。当一个节点周围有较少竞争节点时,过大的竞争窗口会降低网络吞吐量,进而影响网络的性能。而对于远sink区域的节点,过大的竞争窗口会增加数据包传输的延迟,不利于网络性能提升。因此通过公式(6)可以得到竞争窗口的初步调整值:
[0080][0081]
其中是初始退避窗口值,i表示节点的id值,nei是节点i周围竞争窗口的数
量,d
i_sink
是节点i到sink节点的距离,r是网络中节点的传输半径大小。
[0082]
当网络运行一段时间后,除了网络结构对竞争窗口的影响,同时考虑到节点的传输数据包数量d
num
。当传输数据包数据量较大时,发送节点的传输队列末尾数据包的排队时延大大增加,导致整个网络平均时延增加,根据发送节点的传输队列中等待数据包的数量d
num
,计算数据包数量等级d
level
,如公式(7)所示:
[0083][0084]
其中,th1是发送节点的负载因子,th2是接收节点的负载因子。根据实际应用对数据包传输延时容忍度,可以适当对这两个负载因子进行调整。
[0085]
考虑能量因素,通过对网络整体能耗的分析,将网络划分为近直接传输区域(距离sink一跳内的节点d
i_sink
《r)和多跳传输区域。对于直接传输区域的节点而言,当剩余能量水平e
level
《20%时,表示该节点能量不足,需要尽快将数据传输到终端,此时能量因素是对争用窗口最重要的影响因素,自适应竞争窗口计算如公式(8)所示:
[0086][0087]
当剩余能量水平e
level
≥20%时,表示该节点有较充足的能量用于数据传输,除了能量因素外,综合考虑传输数据包数量来自适应调整竞争窗口,如公式(9)所示:
[0088][0089]
其中β是自适应竞争窗口中影响因素的调整因子,通过设置不同β值,比较对网络中存活节点数量的影响,并选出最优值。
[0090]
对于多跳传输区域的节点,即距离sink较远的节点而言,它们有足够的能量用于调整竞争窗口,其他因素对于竞争窗口大小有决定性的影响,因此在设计自适应竞争窗口时,综合考虑网络结构和传输数据包数量以充分利用能量,如公式(10)所示:
[0091][0092]
当网络中有多个节点同时向一个接收方发送数据包时,节点根据网络结构和能量状态等因素自适应调整竞争窗口,并随机选择窗口中的时隙发送数据包,如果数据包发生冲突,应增大该节点的竞争窗口大小,以避免下次冲突。如果没有发生冲突,具有更小竞争窗口的发送节点可以更快地获得信道的使用权,如图4所示,则调整过程结束。
[0093]
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
再多了解一些

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

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

相关文献