发明名称 无线传感器网络数据收集路由方法及装置
摘要 一种无线传感器网络数据收集路由方法及装置,包括路由建立阶段、生成休眠调度阶段和数据收集阶段,有以下步骤:基站发出hello包,节点收到hello包,建立邻居表,广播hello包;节点等待随机时间,广播hello包或广播路由修复包;更新邻居表;节点监听无线信道,按照收到的数据包的类型等待邻居节点醒来后执行转发环境数据包或更新邻居表信息或发送hello包的动作。本发明的方法及装置基于异步休眠调度的机制,利用接收到的hello包与自身监听时间的差确定邻居节点的休眠周期,避免了时间同步引起的额外开销;且能在短时间内修复局部路由,并对定时器偏移累计引起的发送失败问题进行自适应修复。
申请公布号 CN101635975A 申请公布日期 2010.01.27
申请号 CN200910023498.2 申请日期 2009.08.04
申请人 西北大学 发明人 房鼎益;黄学青;刘微姗;陈晓江;孙镌宸;安娜;刘宝英;汤战勇;何路;张谦;魏媛
分类号 H04W40/24(2006.01)I;H04W84/18(2009.01)I;H04L1/16(2006.01)I;H04L1/18(2006.01)I 主分类号 H04W40/24(2006.01)I
代理机构 西安恒泰知识产权代理事务所 代理人 李郑建
主权项 1、一种无线传感器网络数据收集路由方法,其特征在于,包括以下步骤:路由建立阶段S101,其包括以下步骤:步骤S101-1:基站发出hello包,所述hello包的内容包括节点的节点号、自己到基站的跳步数、剩余能量及LEAF标识;其中,基站到自己跳步数为0,其它节点到基站的跳步数初始化为无穷大,如果节点为LEAF节点,则LEAF标示为真,否则为假;步骤S101-2:节点判断是否收到hello包,如果是则执行步骤S101-3;步骤S101-3:确定本节点到基站的跳步数,建立邻居表,所述邻居表的内容包括邻居节点的节点号、邻居节点到基站的跳步数、邻居节点剩余能量、到邻居节点的链路质量指示,执行步骤S101-4;步骤S101-4:判断自己到基站的跳步数是否比之前未更新的跳步数小,如果是则广播自身的hello包;步骤S101-5:如果节点在路由建立阶段S101都没有收到hello包,则判定自己为新加入的节点,执行生成休眠调度阶段S102中的步骤S102-1b;生成休眠调度阶段S102,其包括以下步骤:所述生成休眠调度阶段S102中包括随机时间(Trandom)和第一周期(T),所述第一周期(T)包括监听时间(Tw)和休眠时间(Ts),其中,随机时间(Trandom)<休眠时间(Ts);步骤S102-1:节点等待随机时间(Trandom),开始自身的监听时间(Tw)并广播hello包,如果节点收到hello包,执行步骤S102-2;步骤S102-1b:节点等待随机时间(Trandom),开始自身的监听时间(Tw)并按第二周期(T1)为周期广播路由修复包,到数据收集阶段S103开始时停止发送路由修复包,其中,第二周期(T1)<监听时间(Tw),执行数据收集阶段S103中的步骤S103-7;所述路由修复包的内容包括本节点当前时间距最近一次(Tw)开始时间的时间差(Δt)、自己到基站的跳步数、剩余能量及节点的节点号;步骤S102-2:在邻居表中记录邻居节点监听时间(Tw)和自身节点监听时间(Tw)的启动时间差(t);数据收集阶段S103,其包括以下步骤:节点周期性进入监听时间(Tw)和休眠时间(Ts):步骤S103-1:判断节点是否处于监听时间(Tw),如果是则执行步骤S103-2a;如果不是则执行步骤S103-2b;步骤S103-2a:节点监听无线信道,判断收到的数据包类型;如果收到环境数据包,执行步骤S103-3;如果收到路由修复包,执行步骤S103-6;如果收到hello包,执行步骤S103-7;步骤S103-2b:节点关闭监听,进入休眠状态;步骤S103-2c:节点判断是否有自身产生的环境数据包需要发送,如果是则执行步骤S103-3;步骤S103-3:节点从邻居表选择下一跳节点,选择策略为:节点遍历邻居表一次计算所有邻居节点的转发代价Ci,选出Ci最小的节点作为下一跳将消息发出去,执行步骤S103-4;步骤S103-4:等待邻居表中记录的与该节点的启动时间差(t)的时间,即等待下一条节点进入监听时间(Tw)发送环境数据包,执行步骤S103-5;步骤S103-5:节点在监听时间(Tw)向下一跳节点转发环境数据包;步骤S103-6:更新邻居表信息,其中邻居节点与本节点的时间差(t)的计算公式为Δt1-Δt2,其中,Δt1为发送节点发送的路由修复包中包含的时间差,Δt2为本节点当前时间距最近一次监听时间(Tw)开始时间的时间差;如果收到的路由修复包中的跳步数为无穷大,回复一个路由修复包;步骤S103-7:更新节点本身到基站的跳步数,该跳步数为邻居表中最小的跳步数加1;如果跳步数比之前未更新的跳步数小的话,则等待邻居节点各自进入监听时间(Tw)时依次发送hello包。
地址 710127陕西省西安市长安区学府大道1号