技术领域
[0001] 本
发明主要涉及水下无线传感网络技术领域,尤其涉及一种基于水下
无线传感器网络多级传输策略生成方法。
背景技术
[0002] 水下无线传感器网络作为认识和了解海洋的便利工具,能够使人们更多地获得海洋信息,提高对海洋环境的监控和预测能
力,帮助人们处理海洋突发事件等。其应用广泛,如海洋信息采集、环境监测、深海探测、灾害预测、辅助导航、分布式战术监控等。
[0003] 随着海洋应用种类的不断增加,普通的水下传感器网络的传输能力无法满足各类海洋应用对不同数据传输分配的需求。水下数据通常包含事件种类和事件时效性,它们可以称之为数据价值量。一个数据的事件种类越重要,事件时效性越强,那么该数据的数据价值量越高;该数据就需要被快速传输,反之则可以为了改善网络性能而慢速传输。同时,水下无线传感器网络
节点通常由
电池供电,节点电池
能量有限且水下充能困难;因此,需要进一步降低和均衡网络能耗,从而延长网络寿命。多模态水下通信系统作为一种潜在的解决方案被提出,及一个水下通信系统包含多种互不干扰的水下通信方式的组合,它们可以同时通信,例如:水声通信和水下光通信组合,或包含多个频段相互
正交的水声通信组合。水下传感器网络中的节点装配上多模态通信系统也能被称为多模态水下传感器网络。
[0004] 然而据我们所知,现有基于多频段水声通信的多模态水下无线传感器网络未综合考虑海洋应用的数据价值量和网络寿命。如期刊“Fair and Throughput-Optimal Routing inMultimodal Underwater Networks”提出了一种基于多频段水声通信的多模态水下无线传感器网络传输策略,在已知的水下网络拓扑中,该策略以最大网络吞吐率为目标,去分配通信频段给不同的邻居链路。但是它没有分析数据价值量以及均衡网络能耗;从而导致部分重要数据传输时延高,网络寿命短的问题。针对包含多类型数据的水下无线传感器网络的传输问题,本发明提出了一种基于多模态通信技术的水下无线传感器网络多级传输策略。在有效降低高价值量数据传输时延的同时均衡网络能量消耗去延长网络寿命。
发明内容
[0005] 本发明旨在设计一种面向多类型数据的水下无线传感器网络的传输策略,降低高信息价值量数据传输时延;降低和均衡网络能耗,延长网络运行时间。
[0006] 为解决上述技术问题,本发明提供一种基于多模态通信的水下无线传感器网络多级传输策略。在传输策略实施初期,本发明从水面汇聚节点开始通过
迭代的方式建立该水下网络梯度场,使每个节点获得到汇聚节点的跳数以及最短距离。本发明设计了一种综合考虑链路通信时延、节点剩余能量和传输负载的多级链路花费函数,以此分配节点频段到不同邻居链路,构建多个传输等级的传输路径;节点根据采集到的数据的信息价值量去分配相应传输等级的路径进行数据传输。通常,高传输等级的路径传输高信息价值量的数据,以此降低高信息价值量数据的时延;同时,以均衡网络能耗和降低数据时延为共同目标,低传输等级的路径传输低信息价值量的数据。从而使该网络在降低数据传输时延的同时均衡网络能量,延长网络寿命。
[0007] 本发明的目的通过以下技术方案来实现:一种基于多模态通信的水下无线传感器网络多级传输策略生成方法,包括以下步骤:
[0008] 步骤1:位于水面的汇聚节点(sink节点)产生一个梯度包(GEF包),该梯度包含sink 节点的梯度Gs=0和sink节点的坐标信息。然后将该包发送给与它相连的邻居节点。
[0009] 步骤2:假如某节点ni收到来自sink的GEF包,节点存储该包的相关信息,并将自己的梯度G(i)设为G(i)=Gs+1。等到退让时间Tb到达,节点ni发送它的GEF(i)包给其它不包含 sink节点的邻居节点,该GEF(i)包括它的ID,坐标,它的梯度以及它到sink节点距离。
[0010] 步骤3:假如某节点ni收到来自其它邻居节点Nr(i)的GEF(Nr)包,节点ni存储 GEF(Nr)包中的信息,并在此刻计时,当退让时间Tb到达,则节点ni对比收到的所有GEF 包中的梯度,将自己的梯度G(i)设为G(i)=min(G(Nr))+1。并根据其它邻居节点和节点ni的梯度关系以及各节点到sink节点距离关系将它们划分为前向节点集Fn(i)和后向节点集 Bn(i)。最后节点ni发送它的GEF(i)给其它邻居节点,该GEF(i)包括它的ID,坐标,梯度以及它到sink节点最短距离。
[0011] 步骤4:重复步骤3;直至所有节点获得自身梯度。以上步骤仅在本发明传输策略生成方法运行最初阶段运行一次。
[0012] 步骤5:sink节点生成并发送频段分配包(ADV-B包)给邻居节点。该ADV-B包包含sink 节点坐标。
[0013] 步骤6:假如某节点ni收到来自sink节点的ADV-B包,节点存储该包的相关信息,节点 ni首先通过链路花费函数计算不同传输等级频段到sink节点的链路花费,然后节点ni将所有传输等级的频段分配到与sink节点连接的链路上。最后等到退让时间Tb到达,节点ni发送它的ADV-B包给它的所有后向节点集中的节点,该ADV-B包括它的ID、坐标、剩余能量、各个传输等级频段到sink节点的路径花费以及后向节点集中节点个数。
[0014] 步骤7:假如某节点ni收到来自前向节点集节点Fn(i)的ADV-B包,节点ni首先通过链路花费函数计算不同传输等级频段到该前向节点的链路花费。然后节点ni利用路径花费函数计算自身到sink节点的路径花费。最后,节点ni分别选出在不同频段等级中到sink节点路径花费最少的前向节点,并将相应传输等级的频段分配给对应于这些前向节点的链路。
[0015] 步骤8:重复步骤7;直至所有节点分配完自身不同传输等级的频段。
[0016] 步骤9:根据任务需求,周期性重复步骤5,6,7,8;直至网络达到最大寿命。
[0017] 有益效果
[0018] 1.本发明利用水下多模态通信技术设计一种适用于多种类数据传输的水下无线传感器网络数据传输策略,可以分布式地分配数据传输路径,在满足海洋应用对数据时延要求的同时改善网络性能。
[0019] 2.本发明利用综合考虑传输时延、节点剩余能量和节点负载的链路代价函数去建立不同传输等级的数据传输路径,从而降低数据传输时延和均衡网络剩余能量效果。
附图说明
[0020] 图1为本发明中节点部署测量的流程示意图。
具体实施方式
[0021] 下面结合发明
实施例中的例图,对本发明实施例中的技术方案进行清楚、完整的描述,但应当理解本发明的保护范围并不受具体实施方式的限制。
[0022] 如图1所示,本发提供一种基于水下无线传感器网络多级传输策略生成方法,包括如下步骤:
[0023] 步骤1:位于水面的汇聚节点(sink节点)产生一个梯度包(GEF包),该梯度包含sink 节点的梯度Gs=0和sink的坐标信息。然后将该包发送给它的邻居节点。
[0024] 其中sink节点的邻居节点为网络拓扑中与sink节点存在直接连接链路的节点。
[0025] 步骤2:假如某水下节点ni收到来自sink的GEF包,节点存储该包的相关信息,并将自己的梯度G(i)设为G(i)=Gs+1。等到退让时间Tb到达,节点ni发送它的GEF(i)包给其它不包含sink节点的邻居节点,该GEF(i)包括它的ID,坐标,它的梯度以及它到sink节点距离dis。
[0026] 其中退让时间Tb具体表达为式(1)
[0027]
[0028] 式中Rc表示节点最远通信距离。c表示水下的声速,通常为1500m/s。
[0029] 步骤3:假如某节点ni收到来自其它邻居节点Nr(i)的GEF(Nr)包,节点ni存储GEF(Nr) 包中的信息,并在此刻计时,当退让时间Tb到达,则节点ni对比收到的所有GEF包中的梯度,将自己的梯度G(i)设为G(i)=min(G(Nr))+1。并根据其它邻居节点和节点ni的梯度关系和到sink节点距离关系将它们划分为前向节点集Fn(i)和后向节点集Bn(i)。最后节点ni发送它的GEF(i)给其它邻居节点,该GEF(i)包括它的ID,坐标,梯度以及它到sink节点最短距离dis。
[0030] 其中,前向节点集Fn(i)具体表达为节点ni的邻居节点nj属于节点ni的前向节点集,如果{j:(G(j)-G(i)=-1)U(G(j)=G(i)I dis>djs),nj∈Nr(i)},及如果节点nj的梯度G(j)减去节点 ni的梯度G(i)等于-1或者节点nj的梯度G(j)等于节点ni的梯度G(i)且节点nj到sink节点最短距离小于节点ni到sink节点最短距离。
[0031] 其中,后向节点集Bn(i)具体表达为节点ni的邻居节点nj属于节点ni的后向节点集,如果{j:(G(j)-G(i)=1)U(G(j)=G(i)I dis<djs),nj∈Nr(i)},及如果节点nj的梯度G(j)减去节点ni的梯度G(i)等于1或者节点nj的梯度G(j)等于节点ni的梯度G(i)且节点nj到sink节点最短距离大于节点ni到sink节点最短距离。
[0032] 其中,节点ni到sink节点最短距离dis具体表达式为式(2)
[0033]
[0034] 该过程可以简单理解为一个迭代过程,及从sink节点开始,迭代到节点ni时,节点ni获得来自其它节点的GEF(i)包信息,并利用这些信息去计算它到sink节点最近距离。
[0035] 步骤4:重复步骤3;直至所有节点获得自身梯度。以上步骤仅在本发明传输策略生成方法运行最初阶段运行一次。
[0036] 步骤5:sink节点生成并发送频段分配包(ADV-B包)给邻居节点。该ADV-B包包含sink 节点坐标。
[0037] 步骤6:假如某节点ni收到来自sink节点的ADV-B包,节点存储该包的相关信息,节点 ni首先通过链路花费函数计算不同传输等级 的频段到sink节点的链路花费,然后节点 ni将所有传输等级的频段分配到与sink节点连接的链路上。最后等到退让时间Tb到达,节点ni发送它的ADV-B包给它的所有后向节点集中的节点,该ADV-B包括它的ID、坐标、剩余能量Er(i)、各个传输等级频段到sink节点的路径花费以及后向节点集中节点个数。
[0038] 其中,传输等级 表示节点ni的传输等级为t的频段组合,假设节点ni装备有k个相互正交频段的水声模
块,那么这些水声模块的频段组合个数最大为2n-1。在实际应用中,可以根据任务需求设定水声模块的频段组合和个数。通常高传输等级的频段组合的传输速率高于低传输等级的传输速率。
[0039] 其中,链路花费函数具体为式(3)
[0040] cij=βt(αtECij+(1-at)ESij)+(1-βt)LCij(3)
[0041] 式中αt和βt表示链路花费对应于传输等级t的调节系数,它们的取值范围0-1。通常高传输等级的αt值和βt值大于低传输等级的αt值和βt,在此假设最高传输等级的αt值和βt值通常取1。ECij表示通信时延分量,由下式(4)计算得到;ESij表示节点能量分量,由下式(5) 计算得到;LCij表示节点负载分量,由下式(6)计算得到。
[0042]
[0043] 式中p表示需要传输的包的尺寸。b'(t)表示通信等级t在链路长度为dij的实际传输速率; b(t)表示通信等级t的传输速率。
[0044]
[0045] 式中E0表示节点初始能量值。Er(i)和Er(j)分别表示节点ni和nj的剩余能量。
[0046]
[0047] 式中LCij(t)表示链路(i,j)分配传输等级t时的负载分量。kmax表示最高传输等级。表示节点nr在链路(r,j)已经分配了的传输等级t的频段。N(Bn(j))表示节点nj的后向节点个数。
[0048] 步骤7:假如某节点ni收到来自前向节点集节点Fn(i)的ADV-B包,节点ni首先通过链路花费函数计算不同传输等级频段到该前向节点的链路花费。然后节点ni利用路径花费函数计算自身到sink节点的路径花费。并且,节点ni分别选出在不同频段等级中到sink节点路径花费最少的前向节点,并将相应传输等级的频段分配给对应于这些前向节点的链路。最后等到退让时间Tb到达,节点ni发送它的ADV-B包给它的所有后向节点集中的节点,该ADV-B包括它的ID、坐标、剩余能量Er(i)、各个传输等级频段到sink节点的路径花费以及后向节点集中节点个数。
[0049] 其中节点ni的传输等级为 的路径花费 函数具体为式(7)
[0050]
[0051] 步骤8:重复步骤7;直至所有节点分配完自身不同传输等级的频段。
[0052] 步骤9:根据任务需求,周期性重复步骤5,6,7,8;直至网络达到最大寿命。
[0053] 应当理解的是,这里所讨论的实施方案及实例只是为了说明,对本领域技术人员来说,可以加以改进或变换,而所有这些改进和变换都应属于本发明所附
权利要求的保护范围。