一种星型结构下无线传感器网络拥塞控制方法_2

文档序号:8908010阅读:来源:国知局
rS6nd(其值在0~RmaJ司可调),协调器上传数据的服务速率为rSOTV6,协调器 服务速率r_ve为固定值。因此,在正常状况下,为保证协调器不拥塞,子节点当前的发送速 率rsmd应该小于等于协调器服务速率r 即rsmd彡r
[0042] 在本实施例中,协调器使用IEEE802. 15. 4协议栈组建信标网络,协调器周期性 发送信标帧,每个子节点都会接收到信标帧。N个子节点采用CSMA-CA机制进行信道的竞 争,竞争到信道的子节点以rsmd为发送速率进行数据的发送,同一时刻只有一个子节点与 协调器进行通信,当子节点发完一帧数据后,所有子节点再进行下一时刻的信道竞争。因 此,当一周期内传感器平均采集速4
时,网络不会出现拥塞状况。而当采集 速率超过该值时,网络出现拥塞状况,拥塞控制机制启动。
[0043] 为实现上述目的,本发明提供的星型结构下无线传感器网络拥塞控制方法的一个 实施例提供了一种周期性的解决办法,进行周期性的拥塞检测、拥塞通告和拥塞解除。以牺 牲一定的能耗和计算时间换取数据的高可靠传输。该方法包含检测、通告和解除三个阶段, 并包含协调器和子节点两个部分。
[0044] 参照附图2所示,所述星型结构下无线传感器网络拥塞控制方法,包括以下步骤:
[0045] 步骤101 :无线传感器网络初始化,对各参数进行设定,包括在协调器端设置协调 器的拥塞控制周期以及根据协调器服务速率设定子节点正常状态下的发送速率;较佳的, 拥塞控制周期需根据具体应用场景拥塞出现的频率或采用具体协议栈的情况而定;为保证 协调器不出现拥塞状态,正常状态下子节点的发送速率应设置为小于或等于协调器的服务 速率。
[0046] 步骤102 ( -个拥塞控制周期的开始):监测协调器拥塞状况并得到协调器在当前 拥塞控制周期的队列长度和队列拥塞指数,判断当前拥塞控制周期的协调器所处的拥塞状 态;
[0047] 为利用队列进行准确、有效的拥塞判断,较佳的,本实施例不单单使用队列长度这 一拥塞指标,而是采用队列长度与队列拥塞指数相结合的方式,并以此把节点分为不同的 拥塞状态;协调器每周期读取当前队列长度,计算当前拥塞控制周期队列拥塞指数,并判断 当前拥塞控制周期所处状态;
[0048] 队列拥塞指数的计算公式为:
[0049] 队列拥塞指数=(当前拥塞控制周期的队列长度-上一周期的队列长度)+ (队 列总长度-当前拥塞控制周期队列长度);
[0050] 队列拥塞指数的物理意义是上一周期队列的净增长量与队列剩余空间的比值,队 列拥塞指数可以反映节点在下一周期拥塞的可能性;
[0051] 结合队列长度与队列拥塞指数,把节点划分为若干状态,以反映节点不同的拥塞 程度,所述节点为协调器和/或子节点。其划分原则是:根据具体应用的需求,对队列长度 和队列拥塞指数设置若干阈值,确定不同的拥塞状态。
[0052] 步骤103 :协调器拥塞信息的通告:协调器把其当前拥塞控制周期的拥塞信息通 告给每个子节点,所述拥塞信息包括:协调器在当前拥塞控制周期中所处的拥塞状态以及 协调器在当前拥塞控制周期的队列拥塞指数;较佳的,为减小拥塞通告消息占用网络流量, 拥塞通告采取隐式通告的方式,即把拥塞信息附加在其他控制帧或广播帧中。
[0053] 步骤104 :子节点接收所述拥塞信息并监测子节点自身的当前拥塞控制周期的拥 塞状况并得到子节点自身的当前拥塞控制周期的队列长度和队列拥塞指数,判断当前拥塞 控制周期的子节点自身所处的拥塞状态;子节点的拥塞状况监测方法与步骤102中协调器 的拥塞监测方法相同。
[0054] 步骤105 :子节点根据协调器和自身的拥塞状态,调节子节点自身的发送速率及 其所带有的传感器的采集速率;
[0055] 至此子节点已经得知当前拥塞控制周期协调器的拥塞状态和自身的拥塞状态,以 此调节当前拥塞控制周期的采集速率和发送速率;
[0056] 若协调器和子节点都无拥塞状态,说明网络处于正常状态,当前拥塞控制周期发 送速率等于初始值,采集速率无需调节;
[0057] 若检测出协调器或子节点出现拥塞状态,则计算当前拥塞控制周期的发送速率和 采集速率;其计算方法为:根据子节点状态,以降低队列拥塞指数为目的,采用迭代的方法 逐步降低传感器采集速率;根据子节点和协调器拥塞程度的严重性,以迭代的方式逐步提 升或降低子节点发送速率。
[0058] 步骤106 :当前拥塞控制周期结束,重复步骤102到步骤105,进入下一拥塞控制周 期。
[0059] 上述实施例所提出的拥塞控制方法的有益效果包括:能有效解决星型网络中的节 点级拥塞问题,采用周期性的方式及时、准确的判断网络拥塞状况,当发现网络拥塞时,降 低传感器采集速率,提升拥塞子节点的发送速率,降低非拥塞子节点的发送速率,这种方式 可有效减缓缓存队列增长速率并阻止其溢出,提升网络瞬时吞吐量,最终使采集速率与发 送速率相等,网络达到平衡状态,使网络有效的度过拥塞期。
[0060] 下面参照附图3,为本发明提供的星型结构下无线传感器网络拥塞控制方法的另 一个实施例的流程示意图。下面对该方法进行详细阐述。
[0061] 所述星型结构下无线传感器网络拥塞控制方法,包括以下步骤:
[0062] 步骤201 :无线传感器网络初始化。在协调器端设置拥塞控制的周期,设置拥塞控 制的周期与信标帧周期相同,并在子节点端设置正常状态下的子节点的发送速率等于协调 器端的服务速率。
[0063] 步骤202 :协调器拥塞状况的监测。一个信标帧周期的开始,标志着拥塞检测周期 的开始。在协调器发送信标帧之前,先进行拥塞状况的检测。具体检测步骤可分为以下4 步:
[0064] 步骤203 :读取当前拥塞控制周期的协调器的缓存队列长度;
[0065] 步骤204 :计算当前拥塞控制周期的协调器的队列拥塞指数,其计算公式为:
[0066] 队列拥塞指数=(当前拥塞控制周期的队列长度-上一周期的队列长度)+ (队 列总长度-当前拥塞控制周期队列长度);
[0067] 步骤205 :根据当前拥塞控制周期的协调器的队列长度和队列拥塞指数,判断当 前拥塞控制周期协调器所处状态;并且,保存当前拥塞控制周期队列长度值,为下一周期进 行拥塞指数计算做准备。
[0068] 优选的,参照附图4,本实施例根据队列长度和队列拥塞指数,把节点(包括协调 器和/或子节点)划分为5种拥塞状态,划分规则如下:
[0069] 状态O(StateO):初始状态。队列长度等于零,队列拥塞指数等于零。
[0070] 状态1 (Statel):正常发送状态,表明节点(包括协调器和/或子节点)无拥塞状 况。队列长度小于初级门限值(a*队列总长度),队列拥塞指数为任意值。
[0071] 状态2(State2):轻度拥塞状态。队列长度介于初级门限(a*队列总长度)与高 级门限(0*队列总长度)之间,队列拥塞指数小于固定门限Atte。
[0072] 状态3(State3):中度拥塞状态。队列长度介于初级门限(a*队列总长度)与高 级门限(0*队列总长度)之间,队列拥塞指数大于固定门限Atte。
[0073] 状态4(State4):重度拥塞状态。队列长度超过高级门限的最大值,队列拥 塞指数为任意值。
[0074] 在以上各式中,a、0为常量,且〇 <a< 0 < 1 ;Athr为固定门限值,〇 <Athr < 1。以此方法划分状态的状态转移图如图3所示。
[0075] 子节点通过比较队列长度和队列拥塞指数,得到当前拥塞控制周期所处状态值 (0,1,2,3,4)。
[0076] 步骤206 :协调器把其当前拥塞控制周期拥塞信息通告给每个子节点。需通告的 拥塞信息包括:协调器当前拥塞控制周期所处状态(〇,1,2, 3, 4)以及协调器当前拥塞控制 周期队列拥塞指数。
[0077] 拥塞信息随着信标帧发送给每个子节点。在信标帧负载中,使用5字节来装载拥 塞信息,其中,拥塞状态占1字节,使用字符类型存储;队列拥塞指数占4字节,使用浮点类 型存储,如图5所示。
[0078] 步骤207 :子节点接收拥塞信息,解析出协调器状态和协调器队列拥塞指数。并按 照步骤203-205的方法检测子节点当前拥塞控制周期拥塞状况,如步骤208-210所示:
[0079] 步骤208 :读取当前拥塞控制周期的子节点自身的缓存队列长度;
[0
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1