发明名称 无线传感器网络中汇聚节点在移动时采集信息的方法
摘要 一种无线传感器网络中Sink在移动时采集信息的方法:先在全网建立一个两层网格,并基于该两层网格执行分级监测,对环境中的兴趣事件分别进行事件驱动或查询驱动的监测应用;在Sink移动时,利用代理机制重新选择直接代理和主代理,以确保Sink能持续收集来自事件源或查询源的节点的数据。其操作步骤包括初始化、网格构建、建立代理机制、分级监测或查询、以及在Sink移动时,利用代理机制重新选择直接代理和主代理后,继续执行事件驱动或查询驱动的监测应用的各阶段。本发明适用于以环境监测为目的、节点部署密集且规模较大的传感器网络,解决了Sink在移动状态时采集信息,以及TTDD路由协议中能量消耗大、监测突发事件的能力差等问题。
申请公布号 CN101715201B 申请公布日期 2012.05.30
申请号 CN200910237284.5 申请日期 2009.11.12
申请人 北京邮电大学 发明人 谢东亮;蒋挺;王彦;陈明星;张瑜
分类号 H04W24/00(2009.01)I;H04W84/18(2009.01)I;H04W88/18(2009.01)I 主分类号 H04W24/00(2009.01)I
代理机构 北京德琦知识产权代理有限公司 11018 代理人 夏宪富
主权项 一种无线传感器网络中汇聚节点Sink在移动时采集信息的方法,其特征在于:先在全网建立一个两层结构的网格,并基于该两层结构的网格执行分级监测机制,对环境中的兴趣事件分别进行事件驱动或查询驱动的监测应用;并在Sink发生移动时,利用代理机制重新选择直接代理和主代理,以确保Sink能够持续收集来自事件源或查询源的节点的数据:该方法包括下列操作步骤:(1)初始化阶段:在传感器网络中设置各个传感器节点,并对其执行初始化,然后为该传感器网络选择一个全局代理节点;该步骤包括下述操作内容:(11)初始化:无线传感器网络中的全部传感器节点都设置好后,各个传感器节点分别进行初始化过程,得到自己及邻居节点的物理位置及各自节点标识信息;(12)选择全局代理节点:Sink在网络中指定一个传感器节点作为全局代理节点,在网络的整个生命周期内,该全局代理节点始终存在而不被更换,且其相关信息随着网格构建过程中发送的网格构建消息被洪泛到整个网络的所有格点,每个格点都保存该信息留待使用;(2)网格构建阶段:由Sink发起在全网构建一个两层的网格结构,每个网格单元用于定位Sink和事件源或查询源的位置,网格格点用于传输数据;该步骤包括下述操作内容:(21)构建虚拟基准网格:Sink选择一个邻居节点作为网格的第一个格点,即标识为BaseGP的基本格点;再以该基本格点为基准,根据地理位置贪婪算法发起网格构建消息,把全网划分成一个设定格长为α的虚拟基准网格,虚拟基准网格的格点标识为vGP;(22)构建实际基准网格:为每个虚拟格点寻找一个最近的传感器节点做代理,这些用作实际代理的传感器节点构成实际基准网格架构,实际基准网格节点的传感器节点称为传输节点;建立实际基准网格后,每个传输节点都知道相邻传输节点的位置信息,任意传输节点之间均能通过多跳方式进行通信;(23)划分两层网格:把实际基准网格划分为两层架构:底层网格和高层网格,其中底层网格是所述步骤(22)构建的实际基准网格,即网格单元边长为α的细粒度网格;底层网格的格点称为GP0节点;高层网格是建立在底层网格基础上、抽取底层网格的部分格点所形成的网格单元边长为2α的粗粒度网格,高层网格的格点称为GP1节点;(3)建立代理机制:Sink在其所在的网格单元内选择两个代理节点:直接代理节点和主代理节点,该两个代理节点负责Sink在移动时能够持续收集来自事件源或查询源的源节点的数据;此时,如果所述方法是执行事件驱动,则顺序执行步骤(4);如果所述方法是执行查询驱动,则跳转执行步骤(5);该步骤包括下述操作内容:(31)Sink进入网络后,通过hello消息获取其邻近的各传感器节点信息,并从中选取距离自己一跳、直接与Sink通信的一个传感器节点作为自己的直接代理节点;并在其所在的网格内,Sink选择一个传感器节点作为其主代理节点;(32)Sink把直接代理节点信息发送给主代理节点,使主代理节点作为Sink在其所在的网格单元内的代表,与该直接代理节点进行通信,保证数据传递的连贯性;而对于主代理节点,直接代理节点代表Sink,主代理节点与直接代理节点进行通信;但是,如果此时的直接代理节点与主代理节点为同一个传感器节点时,省略该步骤操作;(33)Sink的主代理节点在其所在的网格范围内洪泛其自身的信息,并把自身信息传送给全局代理节点;收到该信息的各个传输节点存储该信息备用,以便当监测数据传送到Sink所在网格的各个传输节点时,这些传输节点只要将数据通过地理位置贪婪算法转发给主代理节点,再由主代理节点将数据发送到直接代理节点,由后者广播到Sink;对于全局代理节点来说,主代理节点的物理位置信息表示Sink目前所在的地理位置,全局代理节点只需将数据发送给其自己当前存储的主代理节点;(34)如果Sink需要发送信息时,则先将该信息发送给直接代理节点,再由直接代理节点转发给主代理节点,由后者转发到所建立的有效路径上的第一个传输节点;(4)分级监测阶段:在两层网格结构基础上进行分级监测,其中初级监测负责监测事件信息,并把事件信息上传给Sink;紧密监测负责监测事件信息及其周围环境的具体数据,并将事件信息和监测数据传输到Sink;该步骤包括下述操作内容:(41)两层网格构建成功后,所有高层网格格点、即GP1节点作为初级监测点,开始监测以其本身为中心、面积为2α×2α的初级监测区域:高层网格格点先在自己的监测区域内洪泛初级监测启动信息,通知监测区域内的所有传感器节点,一旦发生兴趣事件,就将该事件信息以多跳方式传递到该GP1节点;(42)该GP1节点接收到该事件信息后,在将该事件信息向Sink传递的同时,向其相邻的四个传输节点发送紧密监测启动信息,开始紧密监测;(43)收到紧密监测启动信息的四个传输节点在给该GP1节点发送回复信息的同时,根据GP1节点的方向和自己相邻的传输节点位置,向另一个相邻的传输节点发送紧密监测启动信息;如此传递,就由多个底层网格格点、即GP0节点作为紧密监测点建立一个监测树,每个GP0节点收集以其本身为中心,面积为α×α的紧密监测区域内的周围环境详细信息,监测树上的各个GP0节点所收集到的紧密监测数据,都沿着树传送给作为事件源的根节点,即GP1节点;(44)事件源的根节点将紧密监测的所有数据都上传到Sink;(5)查询阶段:Sink接收到应用层的查询命令后,向全网络下发该查询命令,建立查询路径,执行查询操作,最后得到查询信息;该步骤中,查询任务是根据不同应用而定制的,查询命令则是根据查询任务而设定的,其中建立查询路径的过程包括下列操作内容:(51)Sink接收到来自应用层的查询命令后,存储该查询命令,并通过查询命令中的查询范围字段计算出查询范围的中心,即虚拟查询数据源vSource;(52)因vSource是虚拟的查询数据源,实际网络中该位置不一定存在一个节点,所以要寻找离vSource位置最近的一个传感器节点作为实际查询数据源Source;(53)该Source收集查询区域内的各项查询数据,并把所有查询数据传送给Sink;(6)当Sink发生移动时,利用代理机制重新选择直接代理和主代理后,返回相应的步骤(4)或步骤(5),执行事件驱动或查询驱动的监测应用。
地址 100876 北京市海淀区西土城路10号