一种在水下无线传感器网络中使用移动汇聚节点的节能数据收集方案
1 引言
水下无线传感器网络(UWSNs)由大量传感器节点组成,用于监测和收集水下环境中的信息。它们能够提供丰富的应用,如污染监测与测量、水质评估、载人或无人海洋勘探、生物监测、安全防护等[1, 2]。所有这些应用都高度依赖于高效的数据收集。然而,由于多种原因,在UWSNs中实现上述目标非常困难。首先,为陆地无线传感器网络设计的协议不适用于UWSNs,因为在陆地无线传感器网络中,传感器节点通过无线电信号相互通信,而在UWSNs中,传感器节点使用声学信道进行通信。尽管无线电信号比声学信道具有更高的传输速度,但由于高衰减特性,它们在水下环境中无法良好工作。因此,声学信道成为UWSNs中最合适的通信媒介。然而,声学信道的局限性,如低带宽和高传播延迟,给研究人员带来了碰撞和延迟等其他挑战。其次,UWSNs具有动态拓扑结构,即节点位置不固定,因为它们会受到水流的影响而移动。因此,几乎不可能为传感器节点分配一个固定的位置。另一个在UWSNs中与陆地无线传感器网络类似的显著挑战是传感器节点的能量受限问题。
由于传感器节点的电池不易更换或充电,为水下无线传感器网络设计节能通信协议非常重要[3]。
迄今为止,已经提出了许多用于从水下环境进行数据收集的协议,其中基于深度的路由是其中之一。在基于深度的路由中,深度较大的节点依赖于深度较小的节点。换句话说,它们将自己的数据发送给深度较小的邻居节点,并利用这些节点作为将数据传输至汇聚节点的中介。这种趋势使得靠近水面的节点负载过高,导致其能量消耗比其他节点更快。因此,此类协议中缺乏均衡能量消耗的问题(即“洞穴问题”)会导致网络分区、节点间连通性丧失以及网络寿命降低等问题。此外,节点之间的多跳通信增加了数据收集过程中的延迟和碰撞。因此,本文的主要目的是改善上述问题。所提出的协议包含三个步骤:
- 转发节点的识别。
- 转发节点使用所提出的MAC协议从普通节点进行数据收集。
- 移动汇聚节点使用所提出的图结构从转发节点进行数据收集。
为了在网络中的所有节点之间均衡数据收集的负载,在第一步中,传感器节点被分为两类:转发节点和普通节点。为此,每个节点向其一跳邻居广播一个 Hello包,以寻找剩余能量最高的邻居,并将其选为自己的转发节点。转发节点并非始终保持不变,若其剩余能量低于某一指定阈值,则在每轮数据收集后会被更换。数据由普通节点采集后发送给转发节点,再由转发节点发送至移动汇聚节点。下一步称为数据传输阶段,我们提出了一种新的MAC协议,下文将简要讨论。该MAC协议在降低网络能量消耗和碰撞率方面具有重要作用,原因有两点:首先,节点在发送数据后进入睡眠模式,以节省能量;其次,声学信道的高传播延迟容易导致碰撞,尤其是在多个节点同时发送数据时,因此在专用时隙中发送数据包可提高汇聚节点成功接收的数据包数量。在所提出的MAC协议中,我们利用传播延迟因子来确定转发节点和普通节点处于激活或睡眠模式的时间长度。最后一步,转发节点将收集到的数据发送给移动汇聚节点。在EEDG中,我们为每个节点设置了两个感知半径。
普通波束(r)和高波束(R)。高半径仅由转发节点用于与其他转发节点形成无向图。实际上,通过使用高半径,我们确保了所有转发节点之间的连通性。移动汇聚节点根据转发节点的度来访问它们。也就是说,度较高的转发节点会比其他转发节点更早被移动汇聚节点访问。转发节点的度等于其子集节点(普通节点)的数量。因此,普通节点越多,数据量越大。通过这种方式,我们可以更短的时间内收集数据,并与在 [4, 5]中使用的多跳通信相比,减少将数据发送到汇聚节点的延迟。
本文的其余部分组织如下。在第2节中,我们介绍了针对水下无线传感器网络的数据收集协议的文献综述。提出的EEDG协议在第3节中详细说明。仿真结果在第4节中讨论,随后是第5节的结论。
2 相关工作
本节回顾了水下无线传感器网络中最新的路由协议,重点是基于深度的路由协议。在[4],中,作者提出了一种无需定位的基于深度的路由协议(DBR)。该协议依赖于节点的深度信息,通过多跳方法将数据传输到汇聚节点。首先,发送节点将其标识符和深度信息连同数据包一起发送给其邻居节点。接着,接收节点将其自身的深度与发送节点的深度进行比较。深度大于发送节点的节点将丢弃该数据包,而深度小于发送节点的节点则将数据包持有一定等待时间。如果有多个节点深度较小,则深度最小的节点具有最短的等待时间,并作为转发节点发送该数据包。这一过程持续进行,直到数据包到达汇聚节点。在DBR中,能量消耗未得到均衡,且低深度节点的负载远高于高深度节点,导致其能量消耗更多。[5]中的作者提出了一种协议,以改善DBR中能量消耗不均衡和‘洞穴问题’。
在[5],中,作者提出了一种能量高效的基于深度的路由协议(EEDBR),该协议采用深度和剩余能量两个标准来选择转发节点。换句话说,允许发送节点邻域中深度较小且剩余能量较多的节点转发数据包。尽管 EEDBR降低了网络中的能量消耗,但仍存在‘洞穴问题’(能量消耗不平衡),因为靠近汇聚节点的节点能量比其他节点消耗得更快。
为了改善基于深度的路由协议存在的问题,许多协议提出了使用移动汇聚节点以及聚类方法。事实上,在数据收集过程中使用聚类方法和移动汇聚节点在网络中减少能量消耗和多跳通信方面可以发挥重要作用。一种基于层次结构和不等簇的能量高效路由协议(EERBLC)在[6]中被提出。
在EERBLC中,作者遵循两个主要目标。首先,他们通过将节点聚类为不同大小的簇来减少远距离传输次数和能量消耗。其次,EERBLC中提出了一种层次结构以改善网络中的‘‘洞穴问题’’。为了减轻较浅层节点的负载,高层的簇比低层的簇更小;此外,簇头在高层选择下一跳转发节点时会考虑剩余能量和链路质量两个因素。在EERBLC中,只有第一层的节点未被聚类,它们直接向汇聚节点发送数据。一种高效均衡能耗的基于簇的路由协议(EBECRP)在[7]中被提出,该协议通过聚类减少了多跳通信。在此协议中,整个网络被划分为十六个大小相等的密集与稀疏区域。
有两个移动汇聚节点从这些区域收集信息。靠近汇聚节点的节点直接向汇聚节点发送数据,而远离汇聚节点的节点则通过其簇头发送信息。然而,尽管该协议改善了能量消耗和数据收集过程中的延迟,但当成员节点向其簇头发送数据时仍存在碰撞问题。其他使用移动汇聚节点的类似协议在[8, 9]中被提出。高吞吐量和延长网络寿命是作者的主要目标。在这两种协议中,网络环境被划分为多个区域,然后每个区域又被划分为若干扇区。在[9]中提出的均衡高效节能矩形路由协议(BEER)通过移动汇聚节点对网络区域实现更好的覆盖,从而提高了[1]中的能量消耗效率和数据投递率。
在[10],中,作者通过结合使用移动汇聚节点和自主水下航行器(AUVs)提高了UWSNs中的网络稳定性和吞吐量。在具备动态汇聚节点移动性的DBR(DSM)路由协议中,存在四个密集和稀疏区域。移动汇聚节点在节点数量最多的区域中移动,而稀疏区域则由 AUVs覆盖。随后,AUVs将从稀疏区域收集到的信息发送给移动汇聚节点。实际上,利用AUVs可降低数据丢失率,并减少远离移动汇聚节点的节点的等待时间。
另一种由移动汇聚节点实现的数据收集方案在[11]中被提出,该方案通过将传感器节点分组到不同的簇中来延长网络寿命。在此协议中,移动汇聚节点充当移动簇头的角色。换句话说,在每个簇中心位置预设的一组预设驻留位置被指定为移动汇聚节点的中心位置。移动汇聚节点在这些点之间移动且具有非零移动时间。当移动汇聚节点到达这些位置时,通过泛洪一个数据包来宣告其存在。随后,传感器节点生成的数据通过最优多跳路径传输到移动汇聚节点。本文中,所提出协议的性能通过分析方法和仿真进行评估。在[12]中提出了一种自主水下航行器辅助的能量高效聚类机制(AEC),以改善传统聚类方案在水下无线传感器网络中的数据收集问题。例如,在簇创建过程中交换额外的数据包以及数据发送时的碰撞问题。在AEC中,利用自主水下航行器(AUV)的先进技术提高了网络稳定性。在AEC中,自主水下航行器不仅收集数据,还负责构建簇、选择动态簇头,并为簇的成员节点确定唤醒‐睡眠调度。在[13],中,作者提出了一种使用自主水下航行器的基于簇的数据收集协议。实现大规模水下无线传感器网络中数据收集过程的能量消耗与延迟之间的权衡是作者的主要目标。
CADC包含三个主要阶段:发现、聚类和数据收集。在 CADC中,采用一种新的启发式算法,通过贪婪迭代搜索方式选择最合适的节点作为簇头。自主水下航行器使用贪婪算法构造的最短路径访问簇节点,并通过 2‐opt算法对其进行优化。
作者在[14, 15]中提出了一种基于广播消息的类似协议,以解决‘洞穴问题’并最小化网络中的能量消耗。在该协议中,自主水下航行器(AUV)按照预定义路径在网络环境中移动以收集数据。靠近AUV的节点形成一个称为三维ZOR的三维地理区域。AUV在不同时间与这些区域中的节点会合。在每个时间段内,只有当前区域中的节点处于激活模式,而其他区域中的传感器节点则处于睡眠模式。在AUV进入下一个区域之前,会通过发送广播消息通知下一个区域中的节点切换到激活模式。
在[16],中,作者提出了一种基于自主水下航行器位置预测的数据收集方案(ALP),以解决水下无线传感器网络中的“洞穴问题”。在ALP中,自主水下航行器采用动态路径而非固定路径,以平衡节点间的能量消耗。也就是说,自主水下航行器的行驶方向会周期性地发生变化。通常情况下,ALP中有三种类型的节点:直接发送节点 (DSNs),它们将数据直接发送给汇聚节点;网关节点 (GNs),它们将自身及其邻居节点的数据发送给自主水下航行器;普通节点(ONs)无法与自主水下航行器进行直接通信,其数据通过网关节点发送给自主水下航行器。在ALP中,节点在每次数据收集阶段的角色是根据自主水下航行器的位置和轨迹进行更改。尽管 ALP协议实现了均衡能量消耗和高数据包投递率,但由于网关节点需要长时间等待自主水下航行器,其平均延迟高于其他协议。
在[17]中提出了一种资源感知路由协议,用于在多跳通信方法中寻找数据发送的最佳路径。在鲁棒节能自适应路由(REAR)协议中,综合考虑了节点到汇聚节点的物理距离、节点的剩余能量、链路质量、数据包优先级、数据包时延以及节点密度这六个因素,以选择最佳的下一跳转发节点。总体而言,避免不必要的传输和实现均衡的能量消耗是REAR协议最重要的目标。
一种高效的能量路由协议(PER)在[18]中被提出,旨在通过选择最佳的数据转发节点来降低网络中的能量消耗。PER由两个模块组成:转发节点选择器和转发树修剪机制。在第一个模块中,利用模糊逻辑接口和决策树,综合考虑距离、角度和剩余能量这三个因素,以选择两个下一跳转发节点。此外,采用树形转发机制来寻找数据包扩散的最佳路径。实际上,树形转发的使用可防止在网络中扩散额外的数据包。
EEDG的动机是通过将节点划分为由转发节点管理的不同组,从而在整个网络中实现均衡能量消耗。在我们的协议中,感知数据通过最多两跳传输到移动汇聚节点。此外,使用新的MAC协议有助于降低网络中的能量消耗和碰撞。在从转发节点进行数据收集时,我们不采用增加数据收集过程延迟的多跳通信方式,而是利用由转发节点构成的无向图,在最短时间内收集大量数据。在此阶段,转发节点切换到高半径,且度较高的转发节点会比其他转发节点更早地被移动汇聚节点访问。
3 所提出的协议
3.1 系统模型
在所提出的EEDG中,假设n个传感器节点具有唯一标识符(ID),均匀分布在三维(3‐D)水下环境中。假设每个节点知道自身的深度及其一跳邻居,并利用声学调制解调器进行通信。每个传感器节点具有两个感知半径:正常半径(r)和高半径(R)。正常半径用作默认感知半径和高半径仅在数据收集阶段由转发节点使用。图 1展示了网络中转发节点的视图。
为了指定若干节点作为转发节点,每个传感器节点在其本地时间(HELLO分组发送至其一跳邻居节点 ti)。如图 2 所示,HELLO分组包含该传感器节点的标识符及其剩余能量。
因此,一个传感器节点可能会收到多个HELLO数据包,从而选择剩余能量最高的节点作为其转发节点。然后,该传感器节点将自己的标识符附加到所选节点的接收数据包中,作为转发节点,并将其作为ACK数据包返回给其转发节点。如果一个节点接收到多个具有相同剩余能量的HELLO数据包,则选择第一个接收到的数据包的发送方作为其转发节点,其余数据包被丢弃。所选的转发节点在时间t0 i再次以ACK数据包的形式从子集节点接收其数据包。通过这种方式,转发节点可以识别其子集节点,并计算到每个子集节点的传播延迟(Dt = t0i / 2 - ti),以便确定普通节点何时可以处于休眠或活动模式,以及数据包到达转发节点所需的时间。由于子集节点与转发节点之间的距离和深度不同,因此它们到转发节点的传播延迟也各不相同。距离越远,传播延迟越大。此外,在水下无线传感器网络中,温度、盐度等环境因素以及破碎波、海洋生物和过往船只等环境噪声会影响声速,导致声学信号退化[2, 19]。例如,根据研究人员在[19],中的发现,较高的温度和盐度会增加声速,从而减少传播延迟。为了全面理解这些因素对水下环境中声波传播速度和质量的影响,详见 [2]。此阶段之后,转发节点负责从其子集节点(普通节点)收集数据;同时,普通节点仅应在转发节点指定的时隙内将其数据发送给对应的转发节点。为了从节点收集数据,每个转发节点将其子集节点 {a1; a2;…; am;m\n}(其中m表示一个转发节点的子集节点数量)按照传播延迟升序排列。也就是说,传播延迟最低的节点a1被排在列表第一位。为了计算时隙,节点之间需要相互同步。在陆地无线传感器网络中,利用无线电高速信号可实现所有节点间的全局同步;但在水下无线传感器网络中,由于声学信道速度较慢以及各节点传播延迟不同,实现全局同步非常困难[19]。因此,在本研究中,我们采用转发节点与其子集节点之间的局部同步。首先,一个转发节点会向其子集节点多播一个同步包(SYNC),并宣布节点可以向该转发节点发送数据的时间及其唤醒‐睡眠周期。在接收到SYNC 包后,除节点a1外,该转发节点的所有子集节点都将切换至睡眠模式,直到各自的唤醒时间。该过程在图3中详细说明。
3.2 移动汇聚节点的数据收集
在某些领域,尤其是军事领域,实时数据采集是一个重要标准。在EEDG中,为了在最短时间内收集大量数据,我们使用由转发节点构成的无向图来为移动汇聚节点寻找数据收集的最佳路径。转发节点构成图G(V, E)的顶点,如下所示:
$$
v = {v_1, v_2, …, v_k}
$$
其中 $k$ 是网络中转发节点的数量。如果两个转发节点彼此在通信范围内,则它们之间的通信链路由一条边表示 $E = {(v_i, v_j)}$。对于图构建,首先,转发节点切换到高半径,然后向其一跳邻居的转发节点发送一个控制包。该控制包包含三个字段:发送方ID、深度和发送节点的度。转发节点的度等于其子集节点的数量,因此度较高的节点具有更多的采集数据。在此步骤之后,每个转发节点建立一个新邻域表,并根据邻域列表中节点的度按降序排列,如图 4 所示。图中,转发节点以其深度和度进行标注。
数据收集过程由移动汇聚节点从水面开始。我们将移动汇聚节点视为具有无限能量资源和两个无线电的节点:声学天线。与传感器节点的通信通过声学天线进行,而无线电天线用于向中心站传输数据。移动汇聚节点通过广播控制包宣布其存在。如果两个转发节点同时接收到移动汇聚节点的控制包,则它们都将发送其所收集的数据以及新的邻域表。然后,移动汇聚节点合并两个表以选择下一跳转发节点。否则,第一个感知到移动汇聚节点存在的转发节点将发送其收集的数据以及新的邻域表。之后,移动汇聚节点根据接收到的表前往下一跳转发节点,即选择度最高的转发节点作为下一个目的地。由于转发节点所拥有的子集节点数量不相等,它们可能无法在同一时间完成数据收集过程。因此,当移动汇聚节点到达某个转发节点时,它会监听信道。如果信道空闲,则向该转发节点发送一个控制包以请求数据;否则,等待直到该转发节点与其子集节点之间的通信完成。下一跳转发节点像之前的转发节点一样,将数据和新的邻域表一并发送给移动汇聚节点。在此方法中,移动汇聚节点在访问每个表中的节点后将其标记为已访问节点,并将其邻域表添加到列表中。实际上,移动汇聚节点合并接收到的表,并根据节点的度来排序,以选择最佳节点作为下一跳节点。通常,在数据收集过程中可能发生四种不同场景,如图5所示。
- 如果多个节点的度相同但深度不同,则移动汇聚节点会选择深度较大的节点作为下一个节点。这样选择的原因是能够减少数据收集以及汇聚节点返回水面的时间。
- 如果两个节点的度不同但深度相同,则选择度较大的节点作为下一个节点。
- 如果两个下一跳节点的深度和度都相同,则分别访问这两个节点。
- 如果当前节点与下一跳节点之间不存在直接路径,则移动汇聚节点通过一个同时是当前节点和下一跳节点邻居的中间节点进行转发。在此情况下,当移动汇聚节点经过该中间节点时,若该中间节点此前未被移动汇聚节点访问过,则会将其数据和表格发送给移动汇聚节点。
如图 5 所示,移动汇聚节点在数据收集过程中存在不同情况。在场景(a)中,移动汇聚节点首先访问的节点是A。节点A的邻域表中有两个节点B和C,因此优先访问度较高的节点B,再访问节点C。接着,在遍历节点B时,其邻域表中包含三个节点A、C和D。由于节点A之前已被移动汇聚节点访问过,因此不再被重新访问。同时,节点C此前已添加到列表中,故不被视为新节点移动汇聚节点。因此,只有节点D作为新节点被添加到移动汇聚节点的列表中。在节点D和C之间,节点D和C的度分别为5和3。因此,下一个访问的节点是节点D,并将新节点E添加到未访问节点列表中。在此阶段,剩余的节点C和E具有相同的度。在这种情况下,深度更大的节点E比节点C具有更高的优先级。事实上,如果先访问节点C再访问节点E,则会导致更长的数据收集周期,因为移动汇聚节点需要再次返回以访问节点E。
在场景(b)中,节点的遍历方式与场景(a)类似,不同之处在于:在节点A和C之后,下一个节点是度为8的节点B,但当前节点C与下一节点B之间没有直接路径。因此,我们使用一个中间节点(节点D),该节点是节点C和B的共同邻居。当移动汇聚节点经过节点D时,节点D将其数据和表格发送给移动汇聚节点。该过程继续访问节点B、E和F作为后续节点。在场景(c)中,红色箭头表示移动汇聚节点的移动路径。在节点A之后,节点B和C具有相同的深度和度。移动汇聚节点选择其中一个。如果选择节点B作为下一个节点,则接下来的节点依次为D、E、C和F。
我们提出这种数据收集方法的主要目标是为移动汇聚节点找到最优路径,以便在最短时间内收集最多的数据。在从所有转发节点收集数据后,移动汇聚节点通过无线电天线将收集到的数据发送至中心站。
4 性能评估
在本节中,EEDG的性能与DBR、EEDBR和 EERBLC进行了比较。仿真使用NS2[21]实现。所有节点随机部署在三维区域中。仿真参数如表1所示。
| 系统参数 | 值 |
|---|---|
| 网络规模 | 500×500×500 |
| 汇聚节点速度 | 5 米/秒 |
| 汇聚节点数量 | 1 |
| 正常/高感知半径 | 30 米/60 米 |
| 节点分布 | 随机 |
| 节点数量 | 50–200 |
| 节点初始能量 | 10 J |
| 数据包大小 | 212 B |
| 问候包大小 | 32 B |
对于所提出的协议的评估,我们使用以下指标:
-
网络寿命
:网络寿命等于网络中第一个节点死亡的时间。如图6所示,EEDG相较于DBR、EEDBR和 EERBLC协议具有更高的网络寿命。
EEDBR的性能优于DBR,因为在EEDBR中,只有深度较小且剩余能量较多的节点才被允许向汇聚节点转发数据包。相比之下,EERBLC采用动态聚类机制,并选择剩余能量最高的节点作为簇头和转发节点,从而在能量消耗方面优于DBR和 EEDBR。在所提出的协议EEDG中,通过在节点间分配转发角色以及节点在发送数据后进入睡眠模式,显著降低了网络的能量消耗。
-
丢包
:整个网络中丢失的数据包数量。从图7可以看出,与其他协议相比,DBR的丢包数量最多。主要原因是泛洪,因为每个节点将其数据包发送给其所有邻居节点,最终由深度最小的节点将数据包发送至汇聚节点或下一节点。在EEDBR中,通过考虑剩余能量因素和深度信息,减少了网络中的泛洪和丢包率。在 EERBLC和EEDG中均不存在泛洪。
在EERBLC中,簇头负责通过多跳通信方法将数据发送到汇聚节点。在EEDG中,该任务由转发节点在最多两跳内完成,并且每个节点仅被允许在专用的时隙中发送其数据。在仿真开始时,由于分别通过泛洪HELLO数据包来选择簇头和转发节点,EERBLC和EEDG的丢包率均较高。
- 存活节点的数量 :如图8所示,与其他协议相比,EEDG具有最多的存活节点。在DBR和EEDBR中,由于靠近汇聚节点的节点转发的数据远多于其他节点,因此没有实现均衡的能量消耗,导致这些节点的能量比其他节点更快耗尽。在EERBLC中,尽管聚类机制改善了能量消耗,但最高层的节点未被聚类,它们不仅要发送自己的数据,还要作为较低层次簇头的转发节点。相比之下,在EEDG中,数据收集和转发的职责分布在所有节点之间,这种趋势平衡了网络中的能量消耗。此外,EEDG中的节点在发送数据后可以切换到睡眠模式以节省能量。
- 数据包投递率 :数据包投递率(图 9)是指移动汇聚节点成功接收到的数据包数量与源节点发送的数据包数量之比。在DBR中,由于采用泛洪方式,导致网络中数据包丢失和碰撞增加,从而降低了汇聚节点成功接收的数据包数量。在EEDBR中,较低的泛洪率改善了这一问题。相比之下,在EERBLC中由簇头、在 EEDG中由转发节点负责数据包的收集与转发,因此它们的数据包投递率高于DBR和EEDBR。
- 端到-end延迟 :该因子基于数据包从源节点传输到汇聚节点所需的平均时间进行计算。如图 10所示,DBR和 EEDBR中采用多跳通信会增加数据包从源节点到目的节点的传输时间。在EERBLC中,通过使用链路质量因子(转发率)降低了数据发送的延迟。相比之下,EEDG的端到-end延迟最低,因为节点将其数据以一跳方式发送至其转发节点,最多经过两跳即可到达移动汇聚节点,而不是采用多跳通信方法。这一过程减少了数据包的传输时间。
5 结论
在本研究中,我们提出了一种用于水下无线传感器网络的节能数据收集协议。通过选择临时转发节点,实现了网络中能量消耗的均衡。此外,所提出的MAC协议通过仅在指定时隙内发送数据,降低了网络中的碰撞率和丢包数量。最后,基于图结构的数据收集改善了向移动汇聚节点发送数据的延迟。实验结果表明,与最先进的协议相比,EEDG在能量消耗、分组投递率和端到-end延迟方面表现出更高的效率。
298

被折叠的 条评论
为什么被折叠?



