无线传感器网络中基于数据队列长度的信道接入方法

文档序号:7853163阅读:189来源:国知局
专利名称:无线传感器网络中基于数据队列长度的信道接入方法
技术领域
本发明涉及无线网络领域,特别涉及无线传感器网络设计领域,具体给出无线传感器网络中基于数据队列长度的信道接入方法。
背景技术
目前无线传感器网络应用系统中信道接入方法是其中最重要的技术之一,是影响网络总体性能的关键因素,当多个节点进行数据通信的时候,需要比较有效的方法来协调节点的信道接入以达到较高的网络通信性能和较低的能耗。由于目前无线传感器网络应用通常对功耗要求比较高,故在信道接入的技术中节点一般采用周期性的侦听和睡眠调度机制,即节点周期性地进入睡眠状态以降低能耗,在唤醒的时候侦听信道以及和邻居节点进行数据通信。 目前比较有代表性的周期性侦听睡眠的同步信道接入机制是叶伟提出的S-MAC协议,它最早由参考文献“An Energy-Efficient MAC Protocol for Wireless SensorNetworks” (ff. Ye, J. Heidemann, and D. Estrin, IEEE INF0C0M, June 2002)提出。S-MAC协议按照周期性方式运行,协议的一个周期分为侦听期和睡眠期两个部分,节点在侦听期间唤醒进行数据通信,在睡眠期间进入睡眠状态以降低功耗。为保证节点之间正确通信,协议设计采用定期同步的机制,通过周期性接收和转发同步包使得节点之间形成一致的侦听睡眠调度,节点在发送同步包和发送数据传输请求包时候采用固定竞争窗口方式接入信道。代表性的异步信道接入方法主要是Michael Buettner等人提出的X-MAC,由参考文献 “X-MAC: A Short Preamble MAC Protocol for Duty-Cycled Wireless SensorNetworks,,(Michael Buettner, Gary V. Yee, Eric Anderson, and Richard Han, ACMSenSys, November 2006)给出,X-MAC协议中节点自身维护独立的侦听睡眠调度,在唤醒期间通过竞争信道发送前导包以等待接收节点回复后建立通信过程,竞争信道的方式依然采用固定竞争窗口大小。但是在实际的无线传感器网络应用中,往往存在许多难点问题需要解决1)数据通常是通过汇聚的方式从源节点传输到汇聚节点,数据包容易在中间节点中堆积起来导致拥塞,从而严重降低网络性能;2)节点采用周期性侦听睡眠调度的方式,实际上导致很多数据包在本周期内无法发送出去,从而进一步加剧数据包堆积和加重拥塞;3)目前存在的无线传感器网信道接入方法中,缺少有效的手段能够让拥塞的节点有较高的优先权将堆积的数据快速发送出去从而消除拥塞。这些存在的问题导致严重影响了无线传感器网络各个行业的广泛应用。

发明内容
本发明的目的是为解决上述现有技术中存在的问题,提供一种无线传感器网络中基于数据队列长度的信道接入方法,使得网络中的节点在网络数据负载变化尤其是数据包堆积的情况下,能够根据当前的数据队列长度合理调节竞争窗口的大小,使得拥塞越严重的节点有更多的机会接入信道取得发送权,从而有效缓解拥塞。本发明的无线传感器网络中基于数据队列长度的信道接入方法,基本思想是让节点在进行竞争信道前通过测量当前的数据队列长度估计拥塞状况,并根据数据队列长度调节竞争窗口大小,使得数据队列长度越大的拥塞节点能够有更高的优先获得信道接入权,并尽快将堆积在数据队列中的数据包发送出去以缓解拥塞。其步骤如下
1.节点周期性地进行唤醒和睡眠调度以降低能耗,并在唤醒期间通过竞争方式接入信道进行数据发送;节点在每次唤醒后实时测量数据队列长度估测拥塞程度,令当前测量的数据队列长度为Qcur、节点数据队列的最大容量为Qmax,则测量的数据队列长度越大则代表拥塞越严重,节点根据测量的队列长度调节竞争窗口大小;
2.如果测量的数据队列长度0< Qcur ( Qmax/3,节点判断当前有数据包堆积并发生拥塞,此时处于拥塞的前期阶段,节点按照平缓的方式调节竞争窗口的大小,使节点接入信道时的竞争窗口大小随着队列长度增大而缓慢减小,节点的队列长度越大则竞争窗口越小,从而使得拥塞节点有更大的概率接入信道,用于缓解和避免节点早期的拥塞;
3.当测量的数据队列长度Qmax/3< Qcur ( Qmax时,则节点判断此时发生比较的严重拥塞,需要通过激进的方式调节竞争窗口大小,使得节点接入信道时的竞争窗口随着队列长度增大而快速减小,让拥塞节点竞争信道时有更大的概率获得数据发送权并迅速将数据包发送出去,用于较快速度缓解和排除拥塞;
4.节点在赢得信道后开始发送数据包,如果当前数据包发送失败,则竞争窗口大小复位成系统最大竞争窗口大小,结束本周期的数据发送,并在下一个周期进行重新尝试竞争信道和发送数据包。进一步地,步骤2中所述按照平缓的方式调节竞争窗口的大小具体为令CWmin和CWmax分别为系统最小竞争窗口大小和系统最大竞争窗口大小,CWcur本次最大竞争窗口大小,则可通过下面公式计算CWcur
Cffcur=Cffmax-3XCffmaxXQcur/(5XQmax),如果计算的 CWcur ^ Cffmin 贝丨J 设置Cffcur=L 5 X Cffmin,如果计算的 CWcur > CWmax 则设置 CWcur=CWmax,然后节点从[CWmin,Cffcur]之间随机选择一个值做为本次竞争窗口大小,从而实现数据队列长度越大,竞争窗口越小的调节方式,并且竞争窗口大小随着当前队列长度Qcur增大而线形平缓减小,拥塞节点有更多优先权将数据发送出去,使得节点能够有效缓解拥塞,并且不会明显降低传输的公平性。进一步地,步骤3中所述通过激进的方式调节竞争窗口大小具体为首先计算本次最大竞争窗口大小CWcur=6 X Cffmax/5-6 X Cffmax X Qcur/ (5 X Qmax),如果计算的Cffcur ^ Cffmin 则设置 CWcur=L 2 X Cffmin,如果计算的 CWcur > Cffmax 则设置 CWcur=CWmax,然后节点从[CWmin,Cffcur]之间随机选择一个值作为本次竞争窗口大小;从而实现数据队列越大,竞争窗口选择越小,并且竞争窗口随着队列长度Qcur增大而线形快速减小。由于拥塞严重的节点数据队列长度比较大,竞争窗口值选择比较小,从而使得节点能够很高优先级接入信道进行数据的传输从而快速缓解拥塞。进一步地,为使得节点能够有效缓解拥塞并保持正常的通信功能,在本方法中,竞争窗口大小需要设置界限。系统最大竞争窗口大小CWmax设置为一个周期中侦听时间长度的一半,使得节点不会产生过长的竞争窗口影响通信性能,系统最小竞争窗口大小CWmin大小为一个数据包和一个确认包发送时间之和,避免过小的竞争窗口导致多个节点同时竞争信道时候产生严重的冲突。


图I为本发明中采用侦听睡眠调度时三个节点竞争信道示意图。图2为本发明中提出竞争窗口大小随着队列长度变化图。
具体实施例方式下面将结合附图和具体实施实例对本发明的技术方案进行进一步说明。一个基本的无线传感器网络中的三个节点NI、N2、N3都处于相互的通信范围内,节点采用同步的方式进行侦听睡眠调度以降低能耗和保持通信能力。在每个周期的侦听期 间,节点同时唤醒侦听可能发送给自己的数据包,并监测当前数据队列长度,如果没有数据包发送给自己,并且自身也没有数据包需要发送,则节点在侦听期结束后进入睡眠。如果节点检测到自身数据队列长度大于0,表示目前有数据包堆积在缓冲区中需要发送出去,节点将根据当前数据队列长度的值估计拥塞程度,并根据拥塞程度调节信道接入的竞争窗口大小,使得拥塞越严重的节点其竞争信道接入的概率越大,从而能够有效将堆积的数据包发送出去缓解拥塞。节点的竞争窗口大小根据测量得到的队列长度值分阶段计算得到。令数据缓冲区最大容量为Qmax,当前测量得到的数据队列长度为Qcur,则当数据队列长度不超过数据缓冲区最大容量的1/3,即0 < Qcur ( Qmax/3时,则处于拥塞前期,节点通过平缓的方式调节竞争窗口的大小,让竞争窗口大小随着数据队列长度线形缓慢减小。具体方法为CWcur=CWmax_3XCWmaxXQcur/(5XQmax)。竞争窗口随着数据队列长度的变化曲线如图2所示。从图中可以看出,在0< Qcur ( Qmax/3区间,随着数据队列长度的增加,节点的竞争窗口大小线形减小到4CWmax/5,变化曲线比较平缓,通过这种渐进的方式调节竞争窗口大小,既可以较好地缓解拥塞,又不会明显影响网络传输的公平性等。为避免竞争窗口过小的时候导致的较大的冲突概率,本方法中设置一个系统最小的竞争窗口大小CWmin和系统最大的竞争窗口大小CWmax,避免计算的竞争窗口偏离实际合理的窗口大小,如果计算的CWcur ( Cffmin则设置Cffcur=L 5 X Cffmin,如果计算的 CWcur > Cffmax 则设置 CWcur=CWmax,然后节点从[CWmin,Cffcur]之间随机选择一个值做为本次的竞争窗口,节点按照这个竞争窗口的大小开始进行退避并竞争信道进行数据发送。如果节点的在唤醒的时候,测量得到的数据队列长度超过最大队列容量的1/3,即Qmax/3 < Qcur < Qmax时,表示节点发生严重的拥塞,此时通过比较激进的方式调节竞争窗口的大小,让竞争窗口随着队列长度增大快速减小,以便能够有更高的优先权接入信道以快速发送数据排解拥塞。其变化方式为CWcur=6XCWmax/5-6XCWmaxXQcur/ (5 X Qmax)。其变化曲线如图2所示。可以看出当队列长度超过Qmax/3后,随着数据队列长度的增加,竞争窗口以更加陡峭的速度递减,随着队列长度增大而快速减小,目的是使节点能够在发生严重拥塞的时候快速减小竞争窗口,让节点能够有更高的优先权接入信道发送数据包,从而有效缓解拥塞和提升性能。本例中的假设节点I、节点2和节点3测量得到的队列长度为分别为Ql、Q2、Q3且Ql < Q2 < Q3,则通过上述方法计算得到的最大允许竞争窗口大小为CWl > CW2 > Cff3,在选择实际的竞争窗口的时候,节点1、2、3的平均竞争窗口大小依此递减。节点3有更大的概率接入信道,从而能够获得较高的发送优先权将数据及时发送出去缓解拥塞。尤其是当节点的队列长度超过最大队列容量的1/3时,节点将设置更小的竞争窗口,从而能够有更高的优先权接入信道以发送数据,使得拥塞最严重的节点有更高的优先权 缓解拥塞。这样的方法能够合理缓解和解决拥塞问题,提高网络通信性能。
权利要求
1.无线传感器网络中基于数据队列长度的信道接入方法,其特征在于包括以下步骤 1)节点周期性地进行唤醒和睡眠调度以降低能耗,在每次唤醒后实时测量自身的数据队列长度以判断拥塞程度,令当前测量的数据队列长度为Qcur,节点数据队列的最大容量为Qmax,则测量的数据队列长度越大代表拥塞越严重; 2)如果测量的数据队列长度O< Qcur ( Qmax/3,表明当前有数据包堆积并发生拥塞,此时按照平缓的方式调节竞争窗口,使节点接入信道时的竞争窗口大小随着队列长度增大而线形缓慢减小,用于缓解和避免节点早期的拥塞; 3)当测量的数据队列长度Qmax/3< Qcur ( Qmax时,则判断节点发生严重拥塞,此时通过激进的方式调节竞争窗口大小,使得节点接入信道时的竞争窗口随着队列长度增大而快速减小,用于较快速度排除拥塞; 4)节点在赢得信道后开始发送数据包,如果当前数据包发送失败,则当前竞争窗口复位成系统最大竞争窗口大小,结束本周期的数据发送,并在下一个周期重新尝试竞争信道和发送数据包。
2.根据权利要求I所述的无线传感器网络中基于数据队列长度的信道接入方法,特征在于所述按照平缓的方式调节竞争窗口的大小具体为令CWmin和CWmax分别为系统最小竞争窗口大小和系统最大竞争窗口大小,CWcur本次最大竞争窗口大小,则通过下面公式计算 CWcur Cffcur=Cffmax-3 X Cffmax X Qcur/ (5 X Qmax), 如果计算的CWcur ^ Cffmin则设置CWcur=L 5 X Cffmin,如果计算的CWcur > Cffmax则设置CWcur=CWmax,然后节点从[CWmin,CWcur]之间随机选择一个值作为本次竞争窗口大小。
3.根据权利要求I所述的无线传感器网络中基于数据队列长度的信道接入方法,其特征在于通过激进的方式调节竞争窗口大小具体为首先计算本次最大竞争窗口大小Cffcur=6XCffmax/5-6XCffmaxXQcur/(5XQmax), 如果计算的CWcur ^ Cffmin则设置CWcur=L 2 X CWmin,如果计算的CWcur > Cffmax贝[I设置CWcur=CWmax,然后节点从[CWmin,Cffcur]之间随机选择一个值作为本次竞争窗口大小。
4.根据权利要求2所述的无线传感器网络中基于数据队列长度的信道接入方法,特征在于所述系统最大竞争窗口大小CWmax为一个周期中侦听时间长度的一半,系统最小竞争窗口大小CWmin大小为一个数据包和一个确认包发送时间之和。
全文摘要
本发明公开了一种无线传感器网络中基于数据队列长度的信道接入方法,包括节点周期性地进行唤醒和睡眠调度以降低能耗,在每次唤醒后实时测量自身的数据队列长度并判断当前拥塞程度,根据队列长度的不同级别分阶段调节竞争窗口的大小以提高拥塞节点竞争信道的优先权和缓解拥塞;当数据队列长度低于队列容量的1/3时,采用平缓的竞争窗口调节机制,使节点的竞争窗口大小随着队列长度增加而缓慢减小以避免早期的拥塞;当数据队列长度超过队列容量的1/3时,采用激进的竞争窗口调节机制,使节点的竞争窗口大小随着队列长度增加而快速减小以尽快排除拥塞。该方法使得数据包在网络传输过程中能够相对均衡分布在网络中的节点上,有效缓解和消除了拥塞并避免由拥塞引起的进一步网络恶化问题。
文档编号H04W84/18GK102711173SQ201210188360
公开日2012年10月3日 申请日期2012年6月10日 优先权日2012年6月10日
发明者姚国良, 邹志烽 申请人:姚国良
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1