无线传感器网络数据传输方法

文档序号:7865884阅读:574来源:国知局
专利名称:无线传感器网络数据传输方法
技术领域
本发明涉及传感器网络领域,特别涉及一种无线传感器网络数据传输方法。
背景技术
随着通信、传感器制造、嵌入式计算的日益成熟,大规模无线传感器网络技术迅速发展并被广泛应用到环境、国防、救灾抢险、城市管理等诸多领域。无线传感器节点大多是由电池供应能量,无线传感器网络的寿命往往受限于此。为了节省能耗开销,网络中的节点采用周期性醒睡的工作模式,并且通过多跳的方式将数据传输到终端节点。因此在低功耗的无线传感器网络中,设计高效的数据传输协议是一件重要且具有挑战性的工作。当前被广泛使用的低功耗媒质访问控制协议是X-MAC-UPMA (简称为X-MAC),它是一种异步醒睡的低功耗媒质访问控制协议。网络中所有节点并不需要同时醒来并一起休目民,当有数据需要发送时,发送端将持续发送相同的数据包(称为数据报头),数据报头持续的时间将超过接收端休眠的时间,这样可以保证接收端一定不会错过发送端的发送。X-MAC的缺点是大部分的数据报头接收端是听不到的,这样消耗了无谓的能量而且降低了信道的利用率。现有的链路估计协议(4-bit)通过统计和收集多层信息,例如,媒质访问控制层确认包,路由层信标包以及物理层信号质量等,将节点与周围邻居节点之间的链路质量量化为传输成功单个数据包期望传输的次数。其缺点为不能反应短时间内链路突发性的特点,尤其在X-MAC中,数据报头连续发送,接收端在短时间内可能会听到多个数据包,这将拉近好坏链路之间的区别,从而使得路由决策不准确。当前的路由协议为确定式路由决策,确定式策略坚持向最优的下一条节点传输数据。在X-MAC中,突发性链路变化可能带来额外的能耗开销和延迟。

发明内容
(一)要解决的技术问题本发明要解决的技术问题是如何提供一种无线传感器网络数据传输方法,能够降低无线传感器网络传输数据中传感器节点消耗的功率,延长网络寿命,能够反应短时间内链路突发性的特点,很好的应对突发丢包等状况。(二)技术方案为解决上述技术问题,本发明提供了一种无线传感器网络数据传输方法,该方法包括步骤SI节点根据路由信标信息获取和计算该节点的邻居节点的休眠时刻、醒来时刻、醒睡周期和节点与邻居节点之间的醒睡间隔,获得邻居节点的醒睡计划;S2计算节点发送每个数据包传输成功率和数据链路上节点与邻居节点间至少一个数据包传输成功的概率,获得节点的链路质量;S3根据链路质量和邻居节点的醒睡计划从所述邻居节点中选取最优父节点,根据最优父节点在所有邻居节点中选取节点以组成候选节点集合,根据贪婪算法在候选节点集合中动态选取多个节点作为下一传输节点,制定的发送计划,并对候选节点的发送窗口进行优化;S4利用贪婪算法制定的发送计划,在候选节点醒来时由所述节点向候选节点发送数据包。优选的,所有节点的醒睡周期相同,节点将邻居节点的醒睡计划对齐到本地时钟中。优选的,所述节点与邻居节点之间的醒睡间隔为节点醒来时刻与邻居节点最近醒来时刻之间的差值。
优选的,在数据传输过程中保存最近4个偏差常量的历史数据,通过计算时钟偏移和软件中断延迟偏移带来的偏差来设置经验常量,将发送者发送的时间与接收者醒来的时间对齐。优选的,在所述路由信标中增加一 R位,用来通知其他节点本地醒睡计划的改变,当收到来自其它节点的信标包中含有R信息时,节点将清空所有关于这个节点的记录并且从新初始化这个节点。优选的,所述节点发送每个数据包传输成功率的计算方法为利用邻居节点收到数据包确认的次数除以节点发送该数据包的次数得到发送每个数据包传输成功率。优选的,所述数据链路上节点与邻居节点间至少有一个数据包传输成功的概率的计算方法为当传输窗口为k时,定义Pk为至少有一个数据包可以被成功收到的概率,则P1=P1Pk=pH+(l_pH) pk式中,Pk为节点发送第k个数据包的传输成功率,k为节点发送的数据包个数。优选的,所述最优父节点的选取方法为利用路径的数据包接收成功率与路径条数的比值计算期望传输质量,选取周围节点中期望传输质量最优的节点作为最优父节点。优选的,所述候选节点集合的选取方法为在所有邻居节点中选取期望传输质量大于等于最优父节点的节点组成候选节点集合。优选的,所述贪婪算法的步骤为I)根据邻居节点醒睡计划及期望传输质量选取候选者集合;2)将每个候选节点的发送窗口长度初始化为0 ;3)利用每个候选节点的第I个数据包传输成功率将最大堆数据结构初始化;4)利用最大堆数据结构选取出再多传输一个数据包时,边际效益最大的链路;5)若选取结果不为空值且没有达到传输能耗上限,则将选择出的链路的发送窗口长度L加I,否则选取结束;6)当L小于接收窗口长度时,若该链路剩余数据包期望传输成功率低,则重新进行4) -6),否则将该链路下一个数据包的传输成功概率加入到最大堆中,重新进行步骤4)-6)。(三)有益效果采用该方法减少了传感器节点的传输能耗,延长了无线传感器网络寿命,提高了数据传输的速率、成功率和鲁棒性,减小了数据传输延迟。


图I是本发明实施例无线传感器网络数据传输方法的步骤流程图。图2是本发明实施例节点间数据传输中的时间同步示意图。图3是本发明实施例节点链路质量计算方法示意图。图4是本发明实施例动态路由决策贪婪算法意图。
具体实施方式

下面结合附图和实施例,对本发明的具体实施方式
作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。在网络中的所有节点都以相同周期醒睡,每个节点将其它邻居节点的醒睡计划对齐到本地时钟,并用TW_LENGTH来表示事先定义的接受窗口的大小。如图2所示,对于节点i,tj )表示最近一次i醒来的时间。节点j是i的一个邻居,计算ti( )与tj( )之间的间隔Offseti (j),Offseti (j)是一个常量。根据这个常量以及本地的醒睡计划可以计算出邻居最近醒来的时间。这个常量Offseti (j)的计算是根据路由信标的媒体访问控制层前头码中断时间戳计算的。如图2所示,当i收到一个来自j的路由信标时,Sendoff表示节点j最近醒来时间与数据报头开始发送的间隔,PreaOff表示节点i收到数据包的前头码中断与数据报头发送时间的间隔,HearOff表示节点i醒来与收到数据包的前头码中断的时间间隔,用t表示节点的醒睡周期,间隔常量可通过来计算Offseti (j) = (SendOff+PreaOff-HearOff) mod ( x )由于潜在的硬件时钟漂移,软件中断执行延迟及硬件初始化延迟,本发明通过以下方法弥补同步精度a)保存最近4个偏差常量的历史数据,通过线性拟合方法来计算由时钟偏移和软件中断延迟偏移带来的偏差。b)设置经验常量(10毫秒),发送者将提前接收者醒来时间10毫秒开始发送数据以避免硬件初始化延迟的影响。为了更好的可扩展性,在路由信标中增加了一个R位,用于通知其它节点本地醒睡计划的变化。当收到来自其它节点的信标包中含有R位,节点将清空所有关于这个节点的记录并且从新初始化这个节点,这样保证每个节点可以实时准确地估计邻居节点的醒睡计划。通过统计数据包的发送情况和路由信标的接收情况来对发送窗口内的每一个数据包,在之前的数据包发送失败的情况下,发送成功的概率(记为Pk)进行估计。为了精确的统计发送窗口内的数据包的收发情况,每个数据包指定一个媒体访问控制层序列号(称为macdsn),每发送一个数据包,macdsn加I。发送窗口内的每个数据包设置两个计算器a)被发送的次数(记为SendiXb)被接收者确认收到的次数(记为ackj。当发送窗口内第i个数据包被发送时,Sendi加I,当发送窗口内的第i个数据包被接收者确认时,ackjp I。如图3所示,若初始计数器值都为0,则sendQ=l, ackQ=0 !Send1=Lack1=O ;send^—l,;SGnd^-I 1 °对路由信标的接收设置三个计数器a)总共接收到的信标包数目(记为reCj),b)总共丢掉的信标包的数目(fail」),c)最近接收信标包的macdsn j。每收到邻居j的信标时reCj加I,若当前收到的信标的媒质访问控制层序列号为k,则fail」加k-macdsrij,macdsn」被赋值为k。如图3所示,若初始计数器值都为O,则对于邻居j的信标发送,reCj=2,failj=l0对于每个邻居节点j,每向它传输若干次(事先定义的常量)数据后,本发明计算这段时间内的链路质量pk—nOT=ackk/sendk,并将ackk和sendk赋O。使用指数权重滑动平均来更新链路质量Pk= Ppk—MW+(1-WPuld,其中@为0到I之间的事先定义的常量,进而实现长期的内链路估计的稳定性。对于每个邻居节点j,每收到它若干次路由信标(事先定义的常量)后,若视发送窗口内每个数据包发送事件为相互独立的,则其传输成功概率为Pnew=rec/ (rec+fail),并将rec和fail赋O。同样适用指数权重滑动平均来更独立链路质量P= a Pnra^(I-Ci)PtjlP其中a为0到I之间的事先定义的常量。当节点i与邻居节点j之间没有数据发送过或者长时间没有发送过数据时,本发明利用P来对Pk进行初始化和更新,同样使用指数权重滑动平均。定义Pk是当传输窗口为k时,至少有一个数据包可以被成功收到的概率。P1=P1Pk=pH+(l_pH) pk定义RPk为当发送窗中前(k-1)个数据包传输失败后,从第k个到第TW_LENGTH个数据包中至少有一个可以传输成功的概率。
权利要求
1.一种无线传感器网络数据传输方法,其特征在于,该方法包括步骤 Si节点根据路由信标信息获取和计算该节点的邻居节点的休眠时刻、醒来时刻、醒睡周期和节点与邻居节点之间的醒睡间隔,获得邻居节点的醒睡计划; S2计算节点发送每个数据包传输成功率和数据链路上节点与邻居节点间至少ー个数据包传输成功的概率,获得节点的链路质量; S3根据链路质量和邻居节点的醒睡计划从所述邻居节点中选取最优父节点,根据最优父节点在所有邻居节点中选取节点以组成候选节点集合,根据贪婪算法在候选节点集合中动态选取多个节点作为下ー传输节点,制定的发送计划,并对候选节点的发送窗ロ进行优化; S4利用贪婪算法制定的发送计划,在候选节点醒来时由所述节点向候选节点发送数据包。
2.权利要求1所述的无线传感器网络数据传输方法,其特征在于,所有节点的醒睡周期相同,节点将邻居节点的醒睡计划对齐到本地时钟中。
3.权利要求1所述的无线传感器网络数据传输方法,其特征在于,所述节点与邻居节点之间的醒睡间隔为节点醒来时刻与邻居节点最近醒来时刻之间的差值。
4.权利要求1所述的无线传感器网络数据传输方法,其特征在于,在数据传输过程中保存最近4个偏差常量的历史数据,通过计算时钟偏移和软件中断延迟偏移带来的偏差来设置经验常量,将发送者发送的时间与接收者醒来的时间对齐。
5.权利要求1所述的无线传感器网络数据传输方法,其特征在于,在所述路由信标中增加ー R位,用来通知其他节点本地醒睡计划的改变,当收到来自其它节点的信标包中含有R信息吋,节点将清空所有关于这个节点的记录并且从新初始化这个节点。
6.权利要求1所述的无线传感器网络数据传输方法,其特征在于,所述节点发送每个数据包传输成功率的计算方法为利用邻居节点收到数据包确认的次数除以节点发送该数据包的次数得到发送每个数据包传输成功率。
7.权利要求1所述的无线传感器网络数据传输方法,其特征在于,所述数据链路上节点与邻居节点间至少有一个数据包传输成功的概率的计算方法为 当传输窗ロ为k时,定义Pk为至少有一个数据包可以被成功收到的概率,则 P1=PiPk=Pk-^d-Pk-1) . pk 式中,Pk为节点发送第k个数据包的传输成功率,k为节点发送的数据包个数。
8.权利要求I所述的无线传感器网络数据传输方法,其特征在于,所述最优父节点的选取方法为利用路径的数据包接收成功率与路径条数的比值计算期望传输质量,选取周围节点中期望传输质量最优的节点作为最优父节点。
9.权利要求8所述的无线传感器网络数据传输方法,其特征在于,所述候选节点集合的选取方法为在所有邻居节点中选取期望传输质量大于等于最优父节点的节点组成候选节点集合。
10.权利要求I所述的无线传感器网络数据传输方法,其特征在于,所述贪婪算法的步骤为 1)根据邻居节点醒睡计划及期望传输质量选取候选者集合;2)将每个候选节点的发送窗ロ长度初始化为O; 3)利用每个候选节点的第I个数据包传输成功率将最大堆数据结构初始化; 4)利用最大堆数据结构选取出再多传输ー个数据包吋,边际效益最大的链路; 5)若选取结果不为空值且没有达到传输能耗上限,则将选择出的链路的发送窗ロ长度h加I,否则选取结束; 6)当h小于接收窗ロ长度时,若该链路剰余数据包期望传输成功率低,则重新进行4)_6),否则将该链路下一个数据包的传输成功概率加入到最大堆中,重新进行步骤4)-6)。
全文摘要
本发明公开了一种无线传感器网络数据传输方法,该方法包括步骤S1获得邻居节点的醒睡计划;S2获得节点的链路质量;S3根据链路质量和醒睡计划选取父节点,并根据父节点在邻居节点中选取节点以组成候选节点集合,根据贪婪算法在候选节点集合中动态选取多个节点作为下一传输节点,并对候选节点的发送窗口进行优化;S4利用醒睡计划在父节点醒来时向父节点发送数据包。采用该方法减少了传感器节点的传输能耗,延长了无线传感器网络寿命,提高了数据传输的速率、成功率和鲁棒性,减小了数据传输延迟。
文档编号H04W40/04GK102984780SQ201210468799
公开日2013年3月20日 申请日期2012年11月19日 优先权日2012年11月19日
发明者刘云浩, 曹志超, 何源 申请人:清华大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1