基于IM-kmeans集群路由策略延长水下无线传感器网络寿命的方法

文档序号:26748347发布日期:2021-09-25 01:36阅读:115来源:国知局
基于IM-kmeans集群路由策略延长水下无线传感器网络寿命的方法
基于im

kmeans集群路由策略延长水下无线传感器网络寿命的方法
技术领域
1.本发明公开涉及水下传感器网络通信技术领域,尤其涉及基于im

kmeans集群路由策略延长水下无线传感器网络寿命的方法。


背景技术:

2.水下无线传感器网络(underwater acoustic wireless sensor network uwsn)在探索海洋科学中有着巨大的潜力,被广泛应用于海洋军事防御系统、海岸线监视、保护海洋资源勘探、海洋环境监测及辅助导航等方面。水下无线传感器网络的通信方式主要有三种:声波、电磁波和光波,其中声波通信被广泛采用。虽然电磁波和声波都可以携带较大量的信息,但是电磁波的频率相对较高,在信息传输的过程中频率衰减速度快、多径效应严重;光波在水中容易受到反射、折射、散射等因素的影响,信道的穿透力较差,因而都不适用与长距离的水下通信。声波传输速度较慢,但衰减缓慢,适用于水下环境长距离信息传输。
3.路由协议是水声传感器网络进行信息传递过程中遵循的基本规则,如何在特殊的水下环境中设计合适的网络协议是水声传感器网络研究的核心内容。由于水下的声学通信环境,与传统陆地上的电磁波通信环境存在着巨大差异,传统的路由协议无法直接应用到水下网络。因而,路由协议成为水声传感器网络协议的重要内容之一。路由协议的设计过程不仅要考虑数据的传输效率,还要充分考虑到水声传感器网络对节能性与可靠性的要求,这些因素都直接影响着网络的综合性能,因此水声传感器网络路由协议存在着巨大的研究价值。
4.水下无线传感器网络主要是通过人工或者飞行器的方式部署在目标水域中,对水域状况进行检测。网络体系结构包括一个浮在海面的宿节点,该宿节点通过微波链路与陆上监测站进行通信,并通过声无线信道与水下传感器节点进行通信。uwsn中的节点通过一跳或多跳机制完成信息传输。接收器节点对收集的信息执行数据融合,然后将数据发送到对接的陆地基站,卫星或数据处理中心。水下声传感器节点主要完成数据的收集和传输。水中传播的电磁波的衰减非常大,因此声波主要用于水下通信。水中声波的速度约为1500m/s,与空气中无线电波的速度相差5个数量级。声波在水中进行通信具有较大的延迟和较小的有效通信半径。受恶劣的水下通信环境影响,水下声学通道具有可变性,高噪声和强大的多径等特性,导致水下通信过程中的误码率较高。
5.水下传感器节点通常布置在人迹罕至的海洋区域,每个水下传感器节点都配置了声调制解调器和相应的电池。一旦节点部署好,受水下恶劣环境的影响,更换电池将会是一件较为困难的事。现有的水声通信技术具有带宽容量有限、误码率高、时延可变、通信功率大等特点。这些原因会导致水下无线传感器网络的能量消耗增加,而多数节点的能量耗尽意味着整个网络的死亡。因为能耗的消耗与网络的生存周期息息相关。因此,针对uwsn节点能量和资源有限的情况,如何降低和平衡节点的能量消耗,延长网络生命周期,成为水声传感器网络研究中的一个热点。
6.水下路由协议主要受单跳和剩余能量等条件的影响。为了解决能源有限的问题,通常使用聚类技术。基本概念是将感应区域分成许多小块,这些小块原则上不重叠。在每个群集中,都有一个群集头节点(ch)和多个群集成员节点。ch将接收到的信息合并为数据包,并将其发送到海面的接收器或基站(bs)。群集时,可以通过最靠近基站的群集头节点传输信息的传输距离,以最大程度地降低能耗。另外,通过消除冗余传输,可以减少能量消耗。uwsn面临的挑战包括大传播延迟(1.5m/s)、高机动性和电池充电困难。基于集群结构的网络拓扑结构将整个网络划分为小的稳定部分,有助于降低网络的能耗,提高网络的生命周期。
7.heinzelman提出了一种低能耗的自适应聚类分层算法。它的出发点和核心思想是允许将每个节点以相同的旋转概率选作ch节点,从而使网络运行过程中每个节点的能耗尽可能均匀,从而降低了能耗网络出现故障时。该算法使用单跳模型,当群集头远离基站传输信息时,该模型会导致群集头过载并比其他节点更早死亡。sundarameena,v.提出了一种基于控制信息的网格聚类算法。该算法不仅支持3d部署,还提高了网络的能源效率。该算法在每个群集上都需要一个群集头,并且群集头的位置在群集的中心。因此,在保证相互通信的前提下,数据包的传输路径是通过控制包形成的。数据分组有助于减少能耗并最大程度地延长网络寿命,但没有考虑到移动节点的情况。李克等人提出了一种基于机器学习的高维高效聚类算法,该算法可以在高维空间中选择簇头节点,并帮助非簇头节点传输数据包。簇头的选择仅考虑节点的剩余能量,而不考虑综合信息。


技术实现要素:

8.鉴于此,本发明公开提供了基于im

kmeans(an improved k

means cluster routing strategy for underwater mobile nodes)集群路由策略延长水下无线传感器网络寿命的方法。即im

kmeans表示改进的水下移动节点k

means集群路由策略,该方法适用于水下移动的无线传感器网络中,通过对水下无线传感器通信的控制及水下传感器节点的位置预测来延长传感器网络生命期。
9.本发明提供的技术方案,具体为,
10.基于im

kmeans集群路由策略延长水下无线传感器网络寿命的方法,包括如下步骤:
11.步骤1:根据综合因素划分集群;
12.步骤2:计算每个集群状态,并在考虑无线传感器节点移动的情况下选择簇头;
13.步骤3:信息传输,所述信息传输包括:簇内信息传输和簇间的信息传输,其中簇内信息传输将信息通过单跳传输到簇头,簇间的信息传输通过概率路由算法,簇头通过一跳或者多跳的形式传输到sink节点或基站。
14.所述步骤1具体为:
15.步骤1.1:根据无线传感器节点的数目和监测范围确定簇头数目,所述簇头数目定义为:n为传感器节点的数目;
16.步骤1.2:初始化聚类中心,采用im

kmeans初始聚类点选择方法,在考虑节点间距离和网络覆盖的基础上对聚类中心进行初始化;
17.步骤1.3:采用速度因子和距离因子确定成簇状态。
18.所述步骤1.2包括如下过程:
19.步骤1.2.1:水下传感器节点集合s={s1,s2,...,s
n
},每个传感器通过感知获取周围邻居节点的信息neig
i
={s
j
|d(s
i
,s
j
)<r
e
},并维护一个相似度距离列表sim,其中r
e
为传感器的通信范围;
20.步骤1.2.2:选取参考值ref作为初始聚类中心的倾向,将对于所有ref<|neig
i
|的传感器节点加入初始聚类中心候选集合cand={s
i
|ref≤|neig
i
|},其中其中,neig
i
表示符合条件的邻居节点的集合,由步骤1.2.1得出;n表示节点数目;α作为控制因子,调整初始聚类中心的倾向;
21.步骤1.2.3:从集合cand随机选择一个节点s
i
初始聚类中心加入初始聚类中心c,即c∪{s
i
};
22.步骤1.2.4:更新cand中元素,将s
i
相似度函数小于预定阈值的节点从候选集合中剔除;
23.步骤1.2.5:重复步骤1.2.3,直到完成k个初始聚类中心集合c的选取;定义初始聚类中心集合为c={c
i
,i=1,2,..k}。
24.所述步骤1.3中,定义传感器节点s
i
,s
j
之间的距离因子为:
25.d(s)为传感器节点s到集群中其他节点的欧氏距离之和的平均值;m
g
为第g个簇的成员节点集合;考虑到节点的移动情况,定义移动因子:
26.综合以上两种因素定义目标函数κ为:
[0027][0028]
节点根据目标函数κ计算更新后的距离,并选择最小的加入其中形成k个簇;接着对聚类中心的节点集合c={c
i
,i=1,2,..k}内的元素进行替换,重新计算函数κ
*
;若κ
*
<κ则对集合c进行更新,执行有限步后若κ

κ
*
<ε则结束聚类过程;否则重新选取初始聚类节点,重新计算得到最终的聚类结果。
[0029]
所述步骤2中簇头的选择,考虑节点移动和聚类中心的情况下,定义簇头的权值函数如下:
[0030][0031]
其中,e
i
为节点的s
i
的剩余能量,为第g个簇的平均剩余能量,v
i
表示节点的s
i
的移动速度,v
g_max
为第g个簇内节点移动的最大速度,d(s
i
,c
g
)为传感器节点s
i
到聚类中心的距离。
[0032]
所述步骤3具体包括:
[0033]
步骤3.1:计算簇头节点c
i
的下一跳适应度函数d(c
i
,sink)为簇头节点c
i
到宿节点的距离,z
i
为节点c
i
的深度,sink为水面接收器,w为影响因子,且w1+w2=1;
[0034]
步骤3.2:对簇头节点c
i
所有可选链路的适应度函数做归一化处理,计算簇头节点c
i
选着下一跳簇头c
j
的转发概率
[0035]
步骤3.3:计算概率和dp
i,m
为簇头节点c
i
选择前m个中继节点的概率和,k为簇头集合c的数目,如果簇头c
i
可以通过一跳到达宿节点,则不需要中继节点,否则,必会在簇头集合中选择一个作为中继节点;簇头节点c
i
在选择中继节点时,会产生一个[0,1]区间的随机数,如果随机数落入区间[dp
i,j
‑1,dp
i,j
],则c
j
成为中继节点。
[0036]
本发明提供的基于im

kmeans集群路由策略延长水下无线传感器网络寿命的方法,可以有效地提高网络寿命。该方法根据节点的移动性,在节点集群选择过程中优化了每一轮集群的总能耗。在数据传输阶段,多跳和概率路用于在群集之间转发数据。本发明的方法着重于能量消耗的平衡,并有效地延长了水下无线传感器网络的生命周期,在能耗平衡和减少、网络寿命延长以及数据传输数据速率增加方面取得了更好的性能。
[0037]
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明的公开。
附图说明
[0038]
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
[0039]
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0040]
图1为本发明公开实施例提供的节点的集群状态示意图;
[0041]
图2为本发明公开实施例提供的拓扑和集群的变化示意图;
[0042]
图3为本发明公开实施例提供的不同监控范围下的网络寿命示意图;
[0043]
图4为本发明公开实施例提供的簇头能耗示意图;
[0044]
图5为本发明公开实施例提供的网络剩余能量示意图;
[0045]
图6为本发明公开实施例提供的存活节点数的变化示意图;
[0046]
图7为本发明公开实施例提供的汇聚节点收到的报文数示意图;
[0047]
图8为本发明公开实施例提供的不同协议的网络生存期示意图。
具体实施方式
[0048]
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的系统的例子。
[0049]
现有技术中的算法未能为水下移动节点的能耗挑战提供完整的解决方案,它们或者通过忽略重要因素(例如节点的移动性和ch与宿之间的距离)而在ch选择标准中存在缺陷,或者在集群形成阶段中通过允许创建大型集群来快速消耗节点的能量,从而在集群形成阶段出现缺点。例如簇头在路由操作中通过采用单跳而不是多跳进行数据路由。例如dvor,d

dbr提出了在多径链路上实现的分布式路由算法。
[0050]
本实施方案中,本发明将重点放在基于集群的路由方案上,而不是平面多跳路由操作上,通过事实证明,通过在不同节点之间平均分配能耗,基于集群的路由在延长网络寿命方面非常有效。
[0051]
本实施方案主要步骤如下:
[0052]
步骤1:根据综合因素划分集群;在进行分簇时,要选取合理的簇头数目。
[0053]
步骤1.1:根据无线传感器节点的数目和监测范围确定簇头数目,所述簇头数目定义为:n为传感器节点的数目;
[0054]
步骤1.2:初始化聚类中心;
[0055]
传统的k均值聚类算法,随机初始化k个聚类中心,迭代形成聚类。这种方法简单且易于实现;但初始聚类点随机性大,容易获得局部最优解,在使用k

means算法进行聚类时,合理确定初始聚类中心是实现最优聚类的重要步骤。因此,本实施方案提出了一种改进的k

means初始聚类点选择方法,该方法在很大程度上弥补了传统k

means算法存在的问题。
[0056]
如图1所示,显示了节点的集群状态。每个簇的中心传感器代表ch,每个散点是一个成员传感器。为方便观察,从成员节点到ch的线段代表两方之间的虚拟链路。黑色星号表示本发明中改进的k

means算法计算出的聚类中心。ch的选择是在考虑距簇中心位置的距离、节点剩余能量和移动速度的基础上完成的。
[0057]
例如最小均方算法和聚类初始化算法的随机性存在,本实施方案在考虑节点间距离和网络覆盖的基础上对聚类中心进行初始化,其过程如下:
[0058]
步骤1.2.1:水下传感器节点集合s={s1,s2,...,s
n
},每个传感器通过感知获取周围邻居节点的信息neig
i
={s
j
|d(s
i
,s
j
)<r
e
},其中r
e
为传感器的通信范围,并维护一个相似度距离列表sim。相似度值越大,传感器之间的距离越近,表明节点s
i
更适合与节点s
j
的同簇。
[0059][0060]
步骤1.2.2:选取参考值ref,ref表示传感器选择作为初始聚类中心的倾向。将对于所有ref<|neig
i
|的传感器节点加入初始聚类中心候选集合cand={s
i
|ref≤|neig
i
|},其中neig
i
是符合条件的邻居节点的集合,由步骤1.2.1得出。n为节点数
目。α作为控制因子,调整初始聚类中心的倾向。
[0061]
步骤1.2.3:从集合cand随机选择一个节点s
i
初始聚类中心加入初始聚类中心c,即c∪{s
i
}。
[0062]
步骤1.2.4:更新cand中元素,将s
i
相似度函数小于预定阈值的节点从候选集合中剔除。
[0063]
步骤1.2.5:重复1.2.3过程,直到完成k个初始聚类中心集合c的选取。定义初始聚类中心集合为c={c
i
,i=1,2,..k};
[0064]
步骤1.3:成簇目标函数,为了降低网络能耗、延长网络生存期,采取尽量减小相应簇头与各成员传感器之间的通信距离。然而,由于节点的移动和传输时间,我们获知的节点信息具有滞后性。因此,利用速度因子和距离因子确定成簇状态。
[0065]
定义传感器节点s
i
,s
j
之间的距离因子为:
[0066]
d(s)为传感器节点s到集群中其他节点的欧氏距离之和的平均值;m
g
为第g个簇的成员节点集合;考虑到节点的移动情况,定义移动因子:
[0067]
综合以上两种因素定义目标函数κ为:
[0068][0069]
节点根据目标函数κ计算更新后的距离,并选择最小的加入其中形成k个簇;接着对聚类中心的节点集合c={c
i
,i=1,2,..k}内的元素进行替换,重新计算函数κ
*
;若κ
*
<κ则对集合c进行更新,执行有限步后若κ

κ
*
<ε则结束聚类过程;否则重新选取初始聚类节点,重新计算得到最终的聚类结果。
[0070]
步骤2:计算每个集群状态,并在考虑无线传感器节点移动的情况下选择簇头;通过im

kmeans算法所求出的聚类中心的位置与传感器节点的位置重合的几率较小,因此无法直接将聚类中心作为传感器节点的簇头,网络中的节点剩余能量和速度等因素也影响簇头的选择,移动速度较缓慢的传感器节点移出原始集群的概率更低。
[0071]
步骤2中簇头的选择,考虑节点移动和聚类中心的情况下,定义簇头的权值函数如下:
[0072][0073]
其中,e
i
为节点的s
i
的剩余能量,为第g个簇的平均剩余能量,v
i
表示节点的s
i
的移动速度,v
g_max
为第g个簇内节点移动的最大速度,d(s
i
,c
g
)为传感器节点s
i
到聚类中心的距离。在一个簇中,簇头节点的选择更加倾向于那些剩余能量较大、移动速度缓慢、靠近聚类中心的传感器节点。簇头节点的选取采用贪心算法,选择簇头权值函数最大的传感器节点作为集群的簇头。
[0074]
步骤3:信息传输,信息传输包括两个部分,第一部分是簇内的信息传输,簇头节点使用tdma策略为成员节点分配时隙,成员节点在其簇头分配的时隙内将信息通过单跳传输
到簇头。第二部分是簇间的信息传输,簇间信息传输通过概率路由的方式,簇头通过一跳或者多跳的形式传输到sink节点或基站。为了平衡网络能量消耗,簇头节点下一跳的选择不是固定的,而是根据概率抉择。适应度函数值较高的链路被选择的概率更大。
[0075]
步骤3具体包括:
[0076]
步骤3.1:计算簇头节点c
i
的下一跳适应度函数d(c
i
,sink)为簇头节点c
i
到宿节点的距离,z
i
为节点c
i
的深度;sink为水面接收器,w为影响因子,且w1+w2=1;
[0077]
步骤3.2:对簇头节点c
i
所有可选链路的适应度函数做归一化处理,计算簇头节点c
i
选着下一跳簇头c
j
的转发概率
[0078]
步骤3.3:计算概率和dp
i,m
为簇头节点c
i
选择前m个中继节点的概率和,k为簇头集合c的数目,如果簇头c
i
可以通过一跳到达宿节点,则不需要中继节点,否则,必会在簇头集合中选择一个作为中继节点;簇头节点c
i
在选择中继节点时,会产生一个[0,1]区间的随机数,如果随机数落入区间[dp
i,j
‑1,dp
i,j
],则c
j
成为中继节点。
[0079]
本实施方案为在水下移动的传感器节点构建了三维空间模型。本发明涉及的uwsn是一个高度移动的网络。uwsn中的节点不是固定的,这些节点将不断浮动。这种移动性导致uwsn成为具有高度动态网络拓扑的特殊网络。其次,本实施方案使用了一种改进的k

means初始聚类点选择方法,聚类目标函数考虑节点的移动和信息的滞后,该策略充分考虑了节点移动趋势和剩余能量对簇头选择功能的影响,提高了水下无线网络的使用寿命。第三,本实施方案还定义了适应度函数,并使用随机因素进一步平衡了能耗,从而在网络寿命的延长以及传输数据速率增加方面取得了优于其他技术的性能。
[0080]
由图2拓扑和集群的变化所示,网络生命周期定义为从模拟开始到所有节点死亡的时间间隔,由稳定期和不稳定期组成。稳定期是从仿真开始到第一个传感器节点的电池耗尽,不稳定期是从第一个节点死亡到整个网络死亡的时间。图3显示了不同监测区域的150个移动节点的网络寿命,随着监控范围的增加,使用im

kmeans协议的网络的稳定期和不稳定期逐渐降低。
[0081]
表1不同协议的网络生存期
[0082][0083]
表1结果表明,基于移动节点的im

kmeans聚类路由策略的网络生命周期高于其他
两种协议。对于im

kmeans协议,第一个节点191死亡,单跳leach eeuc第一个死亡发生在每个节点107和164。leach协议的网络生命周期为473,eeuc网络的生命周期为629,im

kmeans协议为1318。与传统的单跳leach相比,本文im

kmeans算法的死亡轮数比eeuc增加了78.5%和16.46%。图8更直观地显示了这种改进。
[0084]
我们模拟了上述三种协议的簇头的能耗,每三轮记录。前100轮实验数据所有簇头的总能耗。结果如图4所示。在这100轮簇头能耗中,leach协议平均每轮消耗4.391j;范围为2.225,标准差为0.435。eeuc协议每轮平均消耗3.579j;范围为1.628,标准差为0.3647。本文提出的协议平均每轮仅消耗2.613j;范围为0.583,标准差为0.1265。与eeuc协议相比,im

kmeans协议减少了26.99%,与leach

协议相比减少了40.08%。它不仅消耗更少的能量,而且它的范围和标准偏差的波动也很小。im

kmeans协议中考虑了节点的移动速度和方向。簇头的选择和分布更加合理,簇头节点数量稳定。另外,簇间传输采用概率路由的方式进行多跳传输,既考虑簇头剩余能量,又考虑路由通信的能量消耗,使得每个簇头的能量消耗网络低,波动小。
[0085]
图5为120
×
120
×
120监测区域内150个移动节点网络运行时的剩余能量。leach算法网络剩余能量下降最快,这是因为簇头分布不均,距离较远的节点单跳传输消耗大量能量,因此网络消耗的能量最大,生存时间最短。eeuc算法在网络能耗中位居第二。原因是簇头的选举考虑了节点能量和多跳传输。与leach算法相比,网络能耗有一定的降低。但是,随着网络的运行和节点的移动,无法合理选择簇头,能耗迅速增加。网络能耗最小的im

kmeans算法提高了聚类效果。在选择簇头时,考虑到节点的移动,使用簇头更为合理。集群间传输采用概率路由寻找传输路径,进一步降低能耗,延长生命周期。
[0086]
存活节点数是衡量水声传感器网络性能的指标之一。如图6所示,当仿真轮数相同时,本文算法的存活节点比leach和eeuc多,最晚死亡。这是因为本文采用改进的k

means算法进行聚类并考虑了节点的移动。选择簇头时综合考虑了各种因素。集群间采用概率路由进行消息的多跳传输,更有利于平衡能耗。
[0087]
图7显示了三种不同聚类算法下汇聚节点接收到的数据包数量。在三种聚类算法中,eeuc和im

kmeans收到的数据包明显多于leach。其中,im

kmeans收到的数据包最多,说明im

kmeans可以有效提高网络能量利用率,原因是提出的im

kmeans方法在聚类过程中通过改进的方法初始化聚类中心,在选择簇头时充分利用传感器节点的能量、位置和运动趋势,三维情况。在簇间传递信息时,采用概率和多跳的方法来保证网络有效运行的可能性,将更多的数据报文传递给接收者。
[0088]
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本技术旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由权利要求指出。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1