移动无线传感器网络简易数据收集方法

文档序号:7746366阅读:91来源:国知局
专利名称:移动无线传感器网络简易数据收集方法
技术领域
本发明属于无线传感器网络技术领域。具体涉及高效可扩展的移动无线传感器网 络数据收集协议。。
背景技术
基于混合Sink (汇聚)节点的无线传感器网络中固定Sink节点和移动Sink节点 共存,固定Sink节点的存在保证数据收集的可靠性,移动Sink节点作为对固定Sink节点 的补充加入无线传感器网络中,可减少由于无线传感器节点到固定Sink节点长距离多跳 传输带来的能量开销及传输延迟,并降低了热点问题带来的能量消耗不均衡性,同时提高 了数据发送的成功率,从而延长了网络寿命,提高了整个无线传感器网络的服务质量。目前,现有基于混合Sink节点的无线传感器网络数据采集方法中,传感器节点 到移动Sink节点的路由维护方法主要分为以下几种1、通过在传感网中大范围地扩散 interest信息,在网络中建立梯度,指导网络中的传感器节点进行数据分组的转发。由于移 动sink节点的移动性,这种方法导致很大的控制开销,影响着网络的性能;2、移动Sink节 点只向自己一跳范围内的传感器节点广播状态更新信息,然后由这部分传感器节点再向全 网广播控制消息,告知自己的一跳范围内有移动Sink经过,这同样导致了的较大的控制包 开销。。

发明内容
本发明目的是解决现有支持移动Sink的无线传感器网络数据采集协议中存在的 弊端,在降低控制开销的同时,提高分组传输效率。本发明中的无线传感器网络由无线传感器节点、固定Sink节点、移动Sink节点三 类节点组成,无线传感器节点负责数据的收集和传输,固定Sink节点和移动Sink节点用于 数据汇集并上传给远程控制端(如通过Internet、移动通信网等方式),并对网络中的传 感器节点进行管理和控制。对于数据上报来说,无论是通过固定Sink节点,还是通过移动 Sink节点传递给远程控制端,效果是一样的。移动Sink节点在移动的过程中只向自己一跳范围内的无线传感器节点广播告知 自己的存在,而除移动Sink节点一跳范围内的无线传感器节点以外的其它节点通过监听 邻居节点的数据包,判断数据包中的选项DiStance_t0_M0bileSink得知数据包是否能通 过自己的邻居到达某移动Sink节点,且距离比当前离自己最近的固定Sink节点还要近。传感器节点数据发送步骤如下无线传感器节点在进行数据上传时,依次按下述 情况执行情况一,如果移动Sink路由表项的距离为无穷,则选择固定Sink节点作为目的 Sink,同时发送的数据包中设置选项Distance_to_MobileSink =①,完毕。情况二,如果移动Sink路由表项的距离不为无穷且下一跳节点信息不为空,选择 移动Sink节点作为目的Sink,同时发送的数据包中设置选项DiStance_t0_M0bileSink为 从本节点移动sink路由表中存储的距离移动sink的距离值,完毕。
本发明充分利用了无线网络的广播特性,大大降低了获取当前移动Sink节点存 在信息的控制包的开销,同时提高了提高分组传输效率。


图1,传感器节点到固定Sink节点数据转发示意图。图2,传感器节点到移动Sink节点数据转发示意图。
具体实施例方式如图1和图2,本发明基于以下设定(1)网络中的所有传感器节点是固定的。(2)固定Sink节点和移动Sink节点的数量可以是1个,也可以是多个。(3)固定Sink节点的部署可以是随机的,也可以按照某种优化方式部署在带状传 感器网络中。(5)移动Sink节点可以采用任意移动方式。(5)移动sink节点周期性地广播Beacon消息以向无线传感器网络通告自身作为 移动sink的存在。本发明有以下要求每个数据分组携带下述选项(option),S卩Distance_to_ MobileSink,以记录当前传感器节点距离某个移动sink的距离(以跳数记)。当Distance to_MobileSink == 1时,表示当前传感器节点有移动sink是其邻居节点。如果系统设 计中,最大允许的从传感器节点到移动sink距离最大距离为K(K ^ 1)时,那么该选项 (option)所需比特数为。「。表示返回比x大的整数中最小的一个。注意,此选项总共需要
K+1个值,其中一个用来表示“无穷远”。通常K的设置需要结合移动sink的移动速率、节 点传输半径、节点密度和布设规律等信息,通常K是一个很小的正整数。传感器节点的路由表保存下述信息⑴当前节点到达固定sink的距离和下一跳 节点信息,此项可选(即仅当网络中存在固定sink节点时,此项存在)。当网络中存在多 个固定sink时,传感器节点只需要保持最近的固定sink相关的表项。(2)当前节点距离已知的最近的移动sink的距离及其下一跳信息;当传感器节点 不知道任何移动sink节点的信息时,表中的距离设为“无穷远”,下一跳信息设为“空”。当 得到多个移动sink相关的表项时,一个传感器节点只需要保存最近的移动sink相关的表 项;当距离两个移动sink相等时,保存较新的一个。(3)邻居节点中是否有移动sink节点的邻居节点。当一个节点转发的数据中 Distance_to_MobileSink = 1时,该节点认定为移动sink的邻居,此项认定在T时间内有 效。通常T的值较小,如T = 3秒。无线传感器节点接收到移动Sink节点的Beacon (信标)消息后执行下述步骤1) 移动Sink节点i的邻居传感器节点j,j G Mi),在接收到sink节点i的Beacon消息后, 执行以下操作。这里,N(i)表示节点i的邻居节点集合。节点j首先在自己的路由表中添 加一条移动sink路由表项,其中目的Sink节点为移动Sink节点i,下一跳节点也设为移动 Sink节点i,到达移动sink节点i的距离记做1。当传感器节点j将数据上传至移动sink 节点i时,它将上传的数据包中设置选项DiStance_t0_M0bileSink = 1,表示当前在自己的 一跳范围内有移动Sink节点正在经过。j不需要继续广播此类Beacon消息,从而有效控制通信开销。2)如果无线传感器节点j在T (T = a *t,t为移动Sink节点广播Beacon消息的 周期,a为可允许的Beacon消息接收失败的次数,通常a)周期时间内没有再次收到移 动Sink节点i (或其它移动sink)的Beacon消息,则表示此移动Sink节点i已经移出传 感器节点j的一跳传输范围,则此时传感器节点j不再将移动sink节点i作为其可选上报 sink节点,同时设置与i相关的路由表项中,如果邻居节点中存在移动sink的邻居节点,则 距离设为2,下一跳信息设为该邻居节点(如果有多个这样的邻居,则从中选择一个);否则 设置到移动sink的距离为无穷,下一跳为空。一个无线传感器节点m,如果监听到自己的邻居无线传感器点的数据传输,执行下 述步骤无线传感器节m在监听到自己的邻居节点n e N(m)发送的数据包后首先判断该数 据包中的选项中 Distance_to_MobileSink 的值情况一,Distance_to_MobileSink == K 或⑴,执行下述操作之一 (1)如果节点m的移动Sink表不空,且下一跳节点和发送此数据 包的邻居节点相同,则设置此移动Sink路由表项的距离为无穷,下一跳为空。(2)如果节点m的移动Sink表为空或节点m的移动Sink表不为空,且下一跳节点 和发送此数据包的邻居节点不相同,则丢弃此数据包。情况二,Distance_to_MobileSink < K,执行下述操作之一 (1)如果节点m的移 动sink表不为空,则比较表中存储的距离值和当前监听到的移动Sink节点的距离。如果m 到“数据包中指定的移动Sink节点的距离加1”小于到路由表中移动Sink节点的距离,则 替换掉路由表中的移动Sink节点路由表项,设置下一跳节点为发送此数据包的邻居节点, 距离为数据包中的距离值加1,否则丢弃该数据包。(2)如果为空,则比较表中存储的到最近固定Sink节点的距离值和当前监听到的 移动Sink节点的距离。如果m到“数据包中指定的移动Sink节点的距离加1”大于到路由 表中最近固定Sink节点的距离,则丢弃该数据包;否则更新移动Sink路由表项,设置下一 跳节点为发送此数据包的邻居节点,距离为数据包中的DiStance_t0_M0bileSink距离值 加1。传感器节点数据发送步骤如下无线传感器节点在进行数据上传时,依次按下述 情况执行情况一,如果移动Sink路由表项的距离为无穷,则选择固定Sink节点作为目的 Sink,同时发送的数据包中设置选项Distance_to_MobileSink =①,完毕。情况二,如果移动Sink路由表项的距离不为无穷且下一跳节点信息不为空,选择 移动Sink节点作为目的Sink,同时发送的数据包中设置选项DiStance_t0_M0bileSink为 从本节点移动sink路由表中存储的距离移动sink的距离值,完毕。
权利要求
移动无线传感器网络简易数据收集方法,无线传感器网络由无线传感器节点、固定Sink节点、移动Sink节点三类节点组成,无线传感器节点负责数据的收集和传输,固定Sink节点和移动Sink节点用于数据汇集并上传给远程控制端(如通过Internet、移动通信网等方式),并对网络中的传感器节点进行管理和控制,对于数据上报来说,无论是通过固定Sink节点,还是通过移动Sink节点传递给远程控制端,效果是一样的;其特征是移动Sink节点在移动的过程中只向自己一跳范围内的无线传感器节点广播告知自己的存在,而除移动Sink节点一跳范围内的无线传感器节点以外的其它节点通过监听邻居节点的数据包,判断数据包中的选项Distance_to_MobileSink得知数据包是否能通过自己的邻居到达某移动Sink节点,且距离比当前离自己最近的固定Sink节点还要近。
2.根据权利要求1所述的移动无线传感器网络简易数据收集方法,其特征在于传感 数据发送步骤如下1)如果移动Sink路由表项的距离为无穷,则选择固定Sink节点作为目的Sink,同时 发送的数据包中设置选项Distance_to_MobileSink =①,完毕。2)如果移动Sink路由表项的距离不为无穷且下一跳节点信息不为空,选择移动Sink 节点作为目的Sink,同时发送的数据包中设置选项DiStance_t0_M0bileSink为从本节点 移动sink路由表中存储的距离移动sink的距离值,完毕。
3.根据权利要求1所述的移动无线传感器网络简易数据收集方法,其特征在于移 动无线传感器网络传感数据包格式是每个数据分组携带下述选项,即Distance_t0_ MobileSink,以记录当前传感器节点距离某个移动sink的距离(以跳数记);当Distance to_MobiIeSink = 1时,表示当前传感器节点有移动sink是其邻居节点;系统设计中,最大 允许的从传感器节点到移动sink距离最大距离为K(K彡1)时,那么该选项(option)所需比特数为表示返回比χ大的整数中最小的一个;此选项总共需要K+1个值,其中一个用来表示“无穷远”;通常K是一个很小的正整数。
4.根据权利要求1所述的移动无线传感器网络简易数据收集方法,其特征在于移动 无线传感器网络路由表组成,每个传感器节点的路由表由三条路由表项组成1)一条路由表项保存当前距离最近固定sink的距离和下一跳节点信息,当网络中存 在多个固定Sink时,传感器节点只需要保持最近的固定sink相关的表项;2)一条路由表项保存当前距离已知的最近的移动sink的距离及其下一跳信息;当传 感器节点不知道任何移动sink节点的信息时,表中的距离设为“无穷远”,下一跳信息设为 “空”;当得到多个移动sink相关的表项时,一个传感器节点只需要保存最近的移动sink相 关的表项;当距离两个移动sink相等时,保存较新的一个;3)—条路由表项保存当前某个邻居节点信息,该邻居节点一跳范围内有移动Sink经 过。此项认定在T时间内有效;通常T的值较小,如T = 3秒。如果没有这样的邻居节点, 则该路由表项设置为空。
5.根据权利1 4所述的移动无线传感器网络简易数据收集方法,其特征在于移动 无线传感器网络路由表维护方法1)无线传感器节点接收到移动Sink节点的Beacon (信标)消息后执行下述步骤(1)移动Sink节点i的邻居传感器节点j,j ∈N(i),在接收到sink节点i的Beacon消息后,执行以下操作。这里,N⑴表示节点i的邻居节点集合;节点j首先在自己的路由 表中添加一条移动sink路由表项,其中目的Sink节点为移动Sink节点i,下一跳节点也设 为移动Sink节点i,到达移动sink节点i的距离记做1 ;当传感器节点j将数据上传至移 动sink节点i时,它将上传的数据包中设置选项DiStance_t0_M0bileSink = 1,表示当前 在自己的一跳范围内有移动Sink节点正在经过;j不需要继续广播此类Beacon消息,从而 有效控制通信开销;(2)如果无线传感器节点j在Τ(Τ = α *t,t为移动Sink节点广播Beacon消息的周 期,α为可允许的Beacon消息接收失败的次数,通常1 < α )周期时间内没有再次收到移 动Sink节点i (或其它移动sink)的Beacon消息,则表示此移动Sink节点i已经移出传 感器节点j的一跳传输范围,则此时传感器节点j不再将移动sink节点i作为其可选上报 sink节点,同时设置与i相关的路由表项中,如果邻居节点中存在移动sink的邻居节点,则 距离设为2,下一跳信息设为该邻居节点(如果有多个这样的邻居,则从中选择一个 );否则 设置到移动sink的距离为无穷,下一跳为空;2) 一个无线传感器节点监听到自己的邻居无线传感器点的数据传输,执行下述步骤 无线传感器节在监听到自己的邻居节点发送的数据包后首先判断该数据包中的选项中 Distance_to_MobiIeSink 的值情况一,Distance_to_MobileSink = = K或①,执行下述操作之一(1)如果节点的移动Sink表不空,且下一跳节点和发送此数据包的邻居节点相同,则 设置此移动Sink路由表项的距离为无穷,下一跳为空;(2)如果节点的移动Sink表为空或节点m的移动Sink表不为空,且下一跳节点和发送 此数据包的邻居节点不相同,则丢弃此数据包;情况二,Distance_to_MobileSink < K,执行下述操作之一(1)如果节点的移动sink表不为空,则比较表中存储的距离值和当前监听到的移动 Sink节点的距离;如果节点到“数据包中指定的移动Sink节点的距离加1”小于到路由表 中移动Sink节点的距离,则替换掉路由表中的移动Sink节点路由表项,设置下一跳节点为 发送此数据包的邻居节点,距离为数据包中的距离值加1,否则丢弃该数据包;(2)如果为空,则比较表中存储的到最近固定Sink节点的距离值和当前监听到的移动 Sink节点的距离;如果到“数据包中指定的移动Sink节点的距离加1”大于到路由表中最 近固定Sink节点的距离,则丢弃该数据包;否则更新移动Sink路由表项,设置下一跳节点 为发送此数据包的邻居节点,距离为数据包中的DiStance_t0_M0bileSink距离值加1。
全文摘要
移动无线传感器网络简易数据收集方法,属于无线传感器网络数据技术领域。其特征是移动Sink节点在移动的过程中只向自己一跳范围内的无线传感器节点广播告知自己的存在,而除移动Sink节点一跳范围内的无线传感器节点以外的其它节点通过监听邻居节点的数据包,判断数据包中的选项Distance_to_MobileSink得知数据包是否能通过自己的邻居到达某移动Sink节点,且距离比当前离自己最近的固定Sink节点还要近。从而充分利用了无线网络的广播特性,大大降低了获取当前移动Sink节点存在信息的控制包的开销,同时提高了提高分组传输效率。
文档编号H04W84/18GK101827422SQ20101015006
公开日2010年9月8日 申请日期2010年4月19日 优先权日2010年4月19日
发明者王嵚 申请人:无锡泛联软件科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1