一种水声传感器网络机会路由协议的实现方法与流程

文档序号:11139752阅读:1455来源:国知局
一种水声传感器网络机会路由协议的实现方法与制造工艺

本发明涉及水声传感器网络、水声路由协议技术领域,尤其是一种水声传感器网络机会路由协议的实现方法。



背景技术:

海洋工程已经成为当今科学技术研究的一大热点,水声通信是在开发海洋资源和发展海洋军事中的关键技术之一,研究和开发水声通信系统具有非常重要的科研意义和应用价值。随着无线组网技术的发展,水声传感器网络逐渐成为水声通信的支撑技术。近些年,研究人员在水声信道、水声调制解调器、MAC、路由等诸多方面对水声传感器网络展开了研究,取得不小的进展。

水下的通信环境非常严苛,水声信道是一种双选择性衰落信道,具有时变、空变、频变的特点,存在严重的多径效应和多普勒效应,水声传感器网络往往需要通过多跳路径将收集到的数据传递到海面的汇聚节点,因此如何在多径干扰严重、背景噪声大、时延扩展大、可用带宽窄的水声通信环境中提供可靠的路由是水声通信网络设计的关键之一。

水声通信网络中节点间通常需要通过多跳路由进行通信,因此需要在源节点与目的节点间建立数据传输的路径。传统的路由通过建立路由表并对其进行维护,或者在数据发送前通过路由发现过程寻找到发送节点到目的节点的路径,但是,这两种数据转发的方式都需要建立、维护路由的过程,这个过程对陆地无线电通信产生的影响并不大,但是基于上述水声通信的挑战,这个过程会占用水声传感器网络大量的信道资源,不适用于水声通信。

本发明针对上述问题提出了水声传感器网络机会路由协议,在不增加额外的开销的情况下,利用了水声网络结构特性以及中间节点正确接收数据包的概率,提高了网络吞吐量。



技术实现要素:

本发明的目的是针对上述现有技术的不足,提供了一种水声传感器网络机会路由协议的实现方法,采用深度和跳数信息作为转发集确定条件和等待时间计算因素,解决了空白区域和路径走偏的路由问题,同时减小了网络开销,提高了网络的吞吐量。

本发明的目的可以通过如下技术方案实现:

一种水声传感器网络机会路由协议的实现方法,所述方法包括以下步骤:

1)水面的汇聚节点周期性向水下的传感器节点广播查询帧,水下的传感器节点通过转发查询帧获得到达汇聚节点所需的跳数;

2)将水下的任意传感器节点作为源节点通过广播信道向水面的汇聚节点发送数据包;

3)相邻的传感器节点收到数据包,根据自身的跳数和深度来判断自身是否属于中继转发节点集,所有的传感器节点通过自身携带的压力传感器实时获取和更新自己的深度,若属于中继转发节点集,则等待一段时间后发送数据包,传感器节点到达汇聚节点所需的跳数越小,深度越浅,则等待时间越短,若传感器节点在等待时间内监听到其他传感器节点发送了相同的数据包,则该传感器节点放弃发送该数据包;

4)重复步骤3)直至水面的汇聚节点收到该数据包。

优选的,步骤1)中,查询帧携带查询帧ID、深度、跳数,所述深度用于记录上一跳传感器节点深度,初始值为0,所述跳数用于记录上一跳传感器节点到达汇聚节点所需的跳数,初始值为0。

优选的,步骤1)中,每个水下传感器节点维持着本地深度信息、本地跳数信息,并分配内存来储存收到的查询帧ID序列,用以判断收到的查询帧是否为第一次收到。

优选的,步骤1)中,水下的传感器节点收到查询帧后,先通过自身存储的收到过的查询帧ID序列判断自己是否是第一次收到该查询帧,如果不是,则丢弃该查询帧,如果是,则继续判断传感器节点自身的深度是否比查询帧深度中的深度值大,如果是,则将查询帧的跳数值加一并复制到传感器节点本地的跳数中,并将自己的深度值复制到查询帧的深度来覆盖原来的值,然后,传感器节点将跳数、深度更改后的查询帧进行广播。

优选的,为了保证查询帧沿自上而下的传播方向,如果传感器节点的深度比它收到的查询帧的深度的值小,则该传感器节点丢弃该查询帧。

优选的,步骤2)中,所述源节点发送的数据包的包头除了包含数据包ID、源节点的深度、源节点相对于汇聚节点的跳数之外,还包含一个深度变量用于记录后续中继转发节点的深度。

优选的,步骤3)中,相邻的传感器节点判断自己是否属于中继转发节点集的条件为:该相邻传感器节点的深度比上一跳传感器节点的深度浅,同时该相邻传感器节点到达汇聚节点的跳数比源节点到达汇聚节点的跳数要小倍数m;这就意味着相邻传感器节点的跳数和深度必须满足以下条件才能具有转发资格:Nr≤m×Nr-1,Dr≤Dr-1,其中Nr为当前传感器节点到达汇聚节点所需的跳数,Nr-1为上一跳传感器节点到达汇聚节点所需的跳数,Dr为当前传感器节点的深度,Dr-1为上一跳传感器节点的深度,m为一个小于1的常数。

优选的,步骤3)中,具有转发资格的相邻的传感器节点的等待时间tr的计算公式为:

其中k为等待系数,Rs表示源节点的传播范围,c为声波在水中的传播速度,Nr为当前传感器节点到达汇聚节点跳数,Ns为源节点到达汇聚节点的跳数,在该公式中,传感器节点深度越浅,跳数越小,等待时间也就越短。

优选地,步骤3)中,当等待时间结束,传感器节点广播转发数据包,其他属于中继转发集的传感器节点监听到该传感器节点的转发则停止等待计时。

本发明与现有技术相比,具有如下优点和有益效果:

1、本发明提供一种水声传感器网络机会路由协议,仅采用深度和跳数作为确定路由的信息,极大地减小了网络开销,减轻了水声信道延时大的负担。

2、本发明提出邻居节点要满足一定的跳数条件才可以具有转发资格,从而剔除了可能发生路径走偏的高跳数节点和跳数失效的空白区域节点,进而避免了常见的路径走偏和空白区域的路由问题。

附图说明

图1为本发明所述的水声传感器网络的结构图。

图2为本发明实施例1的水声传感器网络机会路由协议的示意图。

图3是本发明的路由协议实现方法的流程图。

具体实施方式

下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限于此。

实施例1:

图1为本发明所述的水声传感器网络的结构图,图2为本发明实施例的水声传感器网络机会路由协议的示意图,结合上述结构图和示意图,本实施例公开了一种水声传感器网络机会路由协议的实现方法,如图3所示,具体包括下述步骤:

1)水面的汇聚节点周期性向水下的传感器节点广播查询帧,水下的传感器节点通过转发查询帧获得到达汇聚节点所需的跳数;

2)将水下的任意传感器节点作为源节点通过广播信道向水面的汇聚节点发送数据包;

3)相邻的传感器节点收到数据包,根据自身的跳数和深度来判断自身是否属于中继转发节点集,所有的传感器节点通过自身携带的压力传感器实时获取和更新自己的深度,若属于中继转发节点集,则等待一段时间后发送数据包,传感器节点到达汇聚节点所需的跳数越小,深度越浅,则等待时间越短,若传感器节点在等待时间内监听到其他传感器节点发送了相同的数据包,则该传感器节点放弃发送该数据包;

4)重复步骤3)直至水面的汇聚节点收到该数据包。

结合图2来具体说明,水声传感器网络机会路由协议包括以下步骤:

1.节点A、B、C、D、E、F、G通过步骤1)获得自身到达汇聚节点所需的跳数,同时通过随身携带的压力传感器获得自身的深度。

2.假设节点E采集到数据需要发送,此刻节点E作为源节点发送数据包PACKET I,设PACKET I的包ID为137,PACKET I包头存储了源节点E的深度DE为27m,跳数NE为6。

3.A、B、C、D、F、G节点都收到源节点E广播的数据包PACKET I,此刻它们需要各自判断自己是否属于转发节点集。若要节点属于转发节点集,需满足两个条件:首先,该节点的深度比上一跳节点的深度浅,其次该节点到达汇聚节点的跳数比源节点达到汇聚节点的跳数要小一定的倍数k。设定k值为1,节点A、B、C、D、F、G的深度分别为DA为28m、DB为26.5m、DC为26.7m、DD为26m、DF为26.7m、DG为26.7m,跳数分别为NA为6、NB为5、NC为5、ND为4、NF为失效、NG为9,节点F由于处于空白区域,收不到汇聚节点自上而下发起的查询帧,所以不具有有效的跳数信息。

A节点深度比PACKET I中深度表的值要深,DA>DE,故不满足条件,不属于转发节点集。节点G跳数太高,不满足NG<k×NE,节点F属于空白区域,不具备有效的跳数,不满足NF<k×NE,故F、G都不具备转发资格,节点B,C,D分别满足DB<DE,NB<k×NE、DC<DE,NC<k×NE、DD<DE,ND<k×NE,所以节点B,C,D属于转发节点集。节点B的等待时间由公式为

计算可得分别为9.38×10-3us,其中设Rs为2m,c为3×10-8s,节点C、D由相同的计算公式算得tC=9.45×10-3us、tD=9.11×10-3us。由此可看出,节点D的等待时间最短,它在等待9.11×10-3us后广播了PACKET I,此时节点B和C还在等待时间内,它们监听到了D已经发送了PACKET I,为了避免冲突和资源浪费,它们放弃了转发该包。

4.依照和重复上述步骤的路由方法,直至水面的汇聚节点收到PACKET I。

以上所述,仅为本发明专利较佳的实施例,但本发明专利的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明专利所公开的范围内,根据本发明专利的技术方案及其发明专利构思加以等同替换或改变,都属于本发明专利的保护范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1