一种基于地理位置信息的移动sink传感器网络路由方法转让专利

申请号 : CN201010154368.5

文献号 : CN101827420B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 程良伦汤子隆

申请人 : 广东工业大学

摘要 :

本发明为一种基于地理位置信息的移动sink路由方法。包括确定合适的锚节点和传送数据的路径建立步骤。本发明的移动sink路由协议能够有效地支持移动sink而且能够有效平衡网络能耗,能在整个网络中加入锚节点,移动sink能够通过锚节点确定源节点的位置,并且源节点能利用基于地理信息的路由协议先将数据传送至锚节点,再由锚节点传送至sink节点。

权利要求 :

1.一种基于地理位置信息的移动sink传感器网络路由方法,其特征在于所述路由方法包括如下步骤:(1)确定合适的锚节点:

sink节点通过广播询问然后选择信噪比最强的锚节点V通信;当sink节点移动,并离开前锚节点V距离H后,sink节点选择另外一个锚节点V’作为暂时通信节点,然后将V’节点的位置发送给V节点;随着sink节点的不断移动,sink节点不断更换暂时通信节点V’以便源节点能够将数据传送至暂时通信节点;

当sink节点移动到远处时,即sink已经无法与任一一个节点直接通信,只能与锚节点进行通信的距离,sink节点通过当前暂时通信锚节点V’发送停止信号至源节点,告知源节点停止传送数据,源节点将数据存在自身的缓存里;

(2)传送数据的路径建立:

从源节点开始建立传送数据的路径,推进的规则是每个节点总是在其一跳邻居节点中选择离目的锚节点V’距离最近的节点;在推进的过程中,如果一个转发节点找不到下一跳邻居节点时,那么这个节点将回溯到上一跳节点并标记自身为阻断节点,上一跳节点将寻找另外一个合适邻居节点作为下一跳转发节点;上述过程将会循环执行直到节点找到合适的路径传送数据。

2.根据权利要求1所述的基于地理位置信息的移动sink传感器网络路由方法,其特征在于:在确定合适的锚节点时,随着sink节点的不断移动,当源节点到最后一个暂时通信锚节点V’的距离h与sink节点到锚节点Vn的距离h’相比较,如果h’<h,那么sink节点就只与V通信,直到源节点获得Vn的地理位置信息,才选择Vn作为转发节点。

说明书 :

一种基于地理位置信息的移动sink传感器网络路由方法

技术领域

[0001] 本发明一种基于地理位置信息的移动sink传感器网络路由协议路由方法,属于无线传感器网络路由方法改进。

背景技术

[0002] 无线多媒体传感器网络是在传统无线传感器网络基础上引入了音频,视频,图像等多媒体信息感知功能的一种新型传感器网络,其节点一般装备有CMOS摄像头,微型麦克风以及其他具有简单环境数据采集功能的传感器,它们一般布设在无人值守的环境中自主完成指定的任务,是一种敏感的无基础设施网。与只具有简单环境数据采集功能的传统WSNs相比,WMSNs能感知信息量丰富的音频、视频、图像等多媒体信息,能实现细粒度,精准信息的环境监测,可广泛应用于战场可视化监控、环境监控、安全监控、交通监控、智能家居、医疗卫生等领域。
[0003] 由于多媒体传感器应用的环境条件复杂且大多不允许对“失效”节点进行电池更换,其能耗明显大于传统传感器网络。因此,如何节约各节点有限的电池能量并尽力延长整体网络的生存时间成为多媒体传感器网络的重要性能指标。利用移动sink的引入可以平衡多媒体传感器网络中各节点的能量消耗,提高整个网络的吞吐量,延长网络的生存时间。移动终端具有以下4个特性:1)具有广泛存在的特性;2)与传感器网络之间具有间断的连通性;3)有空闲的通信与计算资源可以利用;4)可充电,相对充足的电量。因此,关于如何利用移动终端充当无线传感器网络中的移动sink并有效地收集传感数据的研究引起了研究人员越来越多的重视。
[0004] 近年来,对于移动sink的问题,已经有很多研究成果。其中TTDD(Two-Tier Data Dissemination)协议是支持移动sink著名的基于网格的路由协议。该协议利用网格结构成功的支持了移动sink的加入,但是当传输数据量增大时,造成节点能耗显著增加。因此,该协议不能直接应用于无线多媒体传感器网络。ALS协议是基于地理信息的支持移动sink的路由协议。该协议构建一个简单的网格结构,sink选择与其最近的传感器节点进行通信。但是,当出现路由回路的时候,会大量消耗传感器节点的能量。

发明内容

[0005] 本发明设计了一种基于地理位置信息的移动sink传感器网络路由方法,该方法能够有效地支持移动sink而且能够有效平衡网络能耗。
[0006] 本发明包括如下技术特征:一种基于地理位置信息的移动sink传感器网络路由方法,其特征在于所述路由方法包括如下步骤:
[0007] (1)确定合适的锚节点:
[0008] sink节点通过广播询问然后选择信噪比最强的锚节点V通信;当sink节点移动,并离开前锚节点V距离H后,sink节点选择另外一个锚节点V’作为暂时通信节点,然后将V’节点的位置发送给V节点;随着sink节点的不断移动,sink节点不断更换暂时通信节点V’以便源节点能够将数据传送至暂时通信节点;
[0009] 当sink节点移动到远处时,即sink已经无法与任一一个节点直接通信,只能与锚节点进行通信的距离,sink节点通过当前通信锚节V’点发送停止信号至源节点,告知源节点停止传送数据,源节点将数据存在自身的缓存里;
[0010] (2)传送数据的路径建立:
[0011] 从源节点开始建立传送数据的路径,推进的规则是每个节点总是在其一跳邻居节点中选择离目的锚节点V’距离最近的节点;在推进的过程中,如果一个转发节点找不到下一跳邻居节点时,那么这个节点将回溯到上一跳节点并标记自身为阻断节点,上一跳节点将寻找另外一个合适邻居节点作为下一跳转发节点;上述过程将会循环执行直到节点找到合适的路径传送数据。
[0012] 进一步的,在确定合适的锚节点时,随着sink节点的不断移动,当源节点到最后一个暂时通信锚节点V’的距离h与sink节点到锚节点Vn的距离h’相比较,如果h’<h,那么sink节点就只与V通信,直到源节点获得Vn的地理位置信息,才选择Vn作为转发节点。
[0013] 本发明的路由方法通过确定合适的锚节点和传送数据的路径建立步骤,设计了一种基于地理位置信息的移动sink路由协议。该协议能够有效地支持移动sink而且能够有效平衡网络能耗。还在整个网络中加入锚节点,移动sink能够通过锚节点确定源节点的位置。源节点利用基于地理信息的路由协议先将数据传送至锚节点,再由锚节点传送至sink节点。

附图说明

[0014] 图1是路由示意图;
[0015] 图2是路径阻断示意图。

具体实施方式

[0016] 1、选择合适的锚节点:
[0017] 选择合适的锚节点阶段分为两个步骤,第一个步骤是自动选择阶段,第二个步骤是sink控制阶段。在时间上具有先后顺序。在第一个步骤中,sink自动选择信噪比最强的锚节点与之通信。当sink移动到一定的距离时,采取第二个步骤,即sink控制阶段。在这个阶段中,sink告知当前通信锚节点停止转发数据,然后sink再选择合适的锚节点进行通信
[0018] 自动选择阶段:sink节点广播询问消息然后选择信噪比最强的锚节点V与其通信。当sink节点移动的距离比H大时,sink选择另外一个锚节点Vn作为通信节点。此时,如果仅仅只是像ALS协议那样只考虑V与Vn的传输链路,那么就会出现以下的问题:即使当sink节点向源节点移动时,数据的传递仍然会绕个大圈子。这样当源节点不断向锚节点传送数据时会造成大量的不必要的能量消耗。本发明做出如下改进:将源节点到最后一个暂时通信节点V’的距离h与sink节点到锚节点Vn的距离h’相比较,如果h’<h,那么sink节点就只与V通信,直到源节点获得Vn的地理位置信息,才选择Vn作为转发节点。
[0019] sink控制阶段:当sink节点移动至远处时,即sink已经无法与任一一个节点直接通信,只能与锚节点进行通信的距离,sink节点告知当前通信锚节点,锚节点发送停止信息至源节点,告知源节点停止传送数据,此时,源节点将数据存在自身的缓存里面。当sink节点开始接受数据时,发送消息至当前通信锚节点,当前通信锚节点告知源节点,然后源节点将数据发送至当前通信锚节点,再由此锚节点将数据发送至sink节点。
[0020] 如图1所示,假设T1时刻sink位于A,T2时刻sink位于B,如果按照ALS协议,那么源节点C就会按照CA-AB这条路径传送数据。如果按照本发明提出的协议,就按照CB这条路径传送数据。这样就减少了数据传递的次数,节省了多媒体传感器节点的能量消耗。路径建立阶段是通信节点的下一跳节点选择,这个阶段的路径选择是锚节点与sink之间通信的路径选择。
[0021] 2、传送数据的路径建立
[0022] 改进的贪婪推进过程:贪婪推进的规则是:从源节点出发,每个节点总是在其一跳邻居节点中选择离目的锚节点距离最近的节点,而不是与其自身距离最近的节点。这与传统的贪婪推进算法选择与节点本身距离最近的节点作为下一跳传送节点是不同的。这样就不存在局部最小化问题。局部最小化问题就是转发节点选择与sink更近的节点作为下一跳转发节点,从而可能造成转发节点无法选择合适的下一跳节点。
[0023] 错误路径返回过程:在这个改进的贪婪推进过程中,存在一个阻断情况,这个阻断情况就是当转发节点找不到下一跳邻居节点时,那么这个节点就被标记为阻断节点。在这种情况下,就认为产生了错误路径。为了解决错误路径问题,本发明提出下面的解决方法:当一个节点找不到下一跳邻居节点时,这个节点将回溯至上一跳节点并且标记自身为阻断节点。上一跳节点将寻找另外一个合适邻居节点作为下一跳转发节点。标记阻断节点是为了防止产生回路。本过程将会循环执行直到节点找到合适的路径按照改进的贪婪推进过程传送数据。如图2所示,虚线圆为节点通信半径。节点B找不到除上一跳邻居节点A之外的下一跳邻居节点,此时,节点B将自己设置为阻断节点,同时将数据包传回给节点A,节点A再选择其他节点,例如C,转发数据包,选择另外的路径传输数据,直到送到至sink。