一种基于能耗均衡的水下无线传感器网络拓扑控制方法与流程

文档序号:16702703发布日期:2019-01-22 21:49阅读:317来源:国知局
一种基于能耗均衡的水下无线传感器网络拓扑控制方法与流程

本发明涉及一种基于能耗均衡的水下无线传感器网络拓扑控制方法,属于无线传感网技术领域。



背景技术:

水下无线传感器网络(Underwater Wireless Sensor Networks,简称UWSNs)是一个由部署在水下的传感器节点组成的水下无线自组织网络。随着人们对水下环境的关注,UWSNs作为一种特殊的应用被人们广泛采用。由于水下环境的特殊性,信道传输时延大,导致节点之间的通信碰撞概率也大;而且信号传播的多径效应,导致数据传输的可靠性大大降低。节点之间就会多次重发数据以保证数据传输的可靠性,但这样也使得能耗增大至一次发送数据消耗的几倍;此外,部分节点失效还可能会导致网络分割。

因此,为了解决上述问题,设计一种有效的水下拓扑控制算法来均衡网络负载、延长网络生命周期是很有必要的,本案由此产生。



技术实现要素:

本发明针对水下无线传感器网络提供了一种基于能耗均衡的水下无线传感器网络拓扑控制方法,能够均衡网络负载和延长网络生命周期。

为了实现上述目的,本发明所采用的技术方案为:

一种基于能耗均衡的水下无线传感器网络拓扑控制方法,按照下述步骤顺序进行:

步骤1:运用N阶近邻方法计算出最佳簇数kopt;

步骤2:首先建立节点博弈模型,再根据节点的能量和路径损耗来计算其ui值,ui值计算公式为:其中,Er(i)表示节点i在当前通信轮的剩余能量,表示当前通信轮全网平均剩余能量,ppathloss(i,j)为节点i到其一跳邻居节点j的路径损耗,Neii是节点i的一跳邻居集,ni是节点i一跳邻居个数,0<α<1是常数调节因数;将所有节点的ui值从大到小降序排序,从大到小依次选取kopt个作为簇头节点;

步骤3:当选的簇头节点广播自己当选的消息,接收到广播消息的非簇头节点选择加入ui值最大的簇头节点所在的簇并发送应答消息ACK;如果接收到的广播消息中具有相同的ui值,则从相同ui值的簇头节点中随机选择一个簇加入并发送应答消息ACK;未接收到簇头节点广播消息的非簇头节点,则通过计算其邻居节点与簇头节点通信的代价值来决定中继节点;

步骤4:各个节点都加入归属的簇并与簇头建立通信路径后,建立簇间路由,构建树型网络结构;

步骤5:网络组网完成后,sink节点通知网络中各个节点准备通信,网络中各个节点根据各自所属的簇内的TDMA表进行通信;若有节点失效,则网络启动维护过程,按照步骤1重新组网以保证网络的正常运行。

作为上述技术方案的进一步设置:

所述步骤2中的节点博弈模型为三元组表示Γ={A,S,U},A、S和U的意义分别表示为:A={a1,a2,...,an}:博弈参与者,对应网络中每个传感器节点;S={s1,s2,...,sn}:节点的策略集,si取值0或1,1表示选择成为簇头,0则表示不愿意担当簇头的角色;U={u1,u2,...,un}:成为簇头节点的收益,该收益函数考虑节点的能量和路径损耗。

所述每个节点的ui值获取和比较时,首先将每个节点的发射功率调至最大并建立邻居列表,向外广播自己的ui值;接收到邻居的ui值的节点将邻居的ui值存储于邻居列表中,将所收到的所有邻居节点的ui值与自己的ui值按照从大到小的顺序排列,根据最佳簇数kopt由大到小来选出最终的簇头节点。

所述步骤3中的中继节点的选择所依据公式为:其中,p(i,j)表示i选择节点选择其一跳邻居节点j作为与簇头通信的中继节点的概率,Er(j)是节点j的剩余能量;Ecost(i,j)是节点i与j通信时的能耗,该能耗既包括节点i发送消息时的能耗,又包括节点j接收消息时的能耗;plink是节点i与j之间的链路可靠性,ploss(j)是节点j的丢包率;β是调节因子,且0<β<1;未收到簇头广播消息的非簇头节点依据上述公式选择概率最大的节点为其中继节点,通过中继节点间接与簇头节点进行通信。

所述步骤4中簇间路由和树型网络的构建,首先由sink节点从最小发射功率开始依次递增发射功率级数向监测区域内发送HELLO消息,直到通信半径能够覆盖整个监测区域为止;传感器节点在sink节点的某个功率级数的广播范围内接收到HELLO消息时,则记录下当前sink节点的功率级数;最后以拥有最小sink节点功率级数标号的簇头节点开始与sink节点建立通信关系,依次遍历拥有sink节点各个功率级数标号的簇头节点,由此构建树型网络结构;这些簇头节点通过加权上一级已经与sink节点建立通信关系的剩余能量和至sink节点的最短路径的计算,最后根据权值降序排列路由表,并保存这些路由信息,以保证在链路失效时备用路由的启动。

本发明的有益效果主要表现在:水下无线传感网络在处于初始状态下,采用水下能耗模型,利用博弈理论,在消耗较少能量的前提下,获得较优的分簇树型拓扑网络。在提高节点能量利用效率和均衡网络负载的同时,尽可能地延长了网络的生命周期。

以下通过附图和具体实施方式对本发明做进一步阐述。

附图说明:

图1为本发明拓扑控制方法的流程图。

具体实施方式:

如图1所示,本发明提供的一种基于能耗均衡的水下无线传感器网络拓扑控制方法,从网络运行开始,完成初始化预处理后,按照下述步骤顺序进行:

步骤1:最优簇的分析:运用N阶近邻方法计算出最佳簇数kopt。

步骤2:簇头的选择:每个节点都是自私理性的,由于簇头要融合簇内数据消耗更多的能量,因此各节点不愿担当簇头,我们将运用经济学中的非合作博弈理论选择出簇头节点,网络中各个节点执行博弈进行决策是否成为簇头。

首先建立节点博弈模型,再根据节点的能量和路径损耗来计算其ui值,ui值计算公式为:其中,Er(i)表示节点i在当前通信轮的剩余能量,表示当前通信轮全网平均剩余能量,ppathloss(i,j)为节点i到其一跳邻居节点j的路径损耗,Neii是节点i的一跳邻居集,ni是节点i一跳邻居个数,0<α<1是常数调节因数;将所有节点的ui值从大到小降序排序,从大到小依次选取kopt个作为簇头节点。

上述步骤2中节点博弈模型为三元组表示Γ={A,S,U},A、S和U的意义分别表示为:A={a1,a2,...,an}:博弈参与者,对应网络中每个传感器节点;S={s1,s2,...,sn}:节点的策略集,si取值0或1,1表示选择成为簇头,0则表示不愿意担当簇头的角色;U={u1,u2,...,un}:成为簇头节点的收益,该收益函数考虑节点的能量和路径损耗。

每个节点的ui值获取和比较时,首先将每个节点的发射功率调至最大并建立邻居列表,向外广播自己的ui值;接收到邻居的ui值的节点将邻居的ui值存储于邻居列表中,将所收到的所有邻居节点的ui值与自己的ui值按照从大到小的顺序排列,根据最佳簇数kopt由大到小来选出最终的簇头节点。

步骤3:构建簇内树型结构:当选的簇头节点广播自己当选的消息,接收到广播消息的非簇头节点选择加入ui值最大的簇头节点所在的簇并发送应答消息ACK;如果接收到的广播消息中具有相同的ui值,则从相同ui值的簇头节点中随机选择一个簇加入并发送应答消息ACK;未接收到簇头节点广播消息的非簇头节点,则通过计算其邻居节点与簇头节点通信的代价值来决定中继节点,由此,簇内的簇头节点与非簇头节点和中继节点彼此构成簇内树型结构。

上述中继节点的选择时,所依据的公式为:

其中,p(i,j)表示i选择节点选择其一跳邻居节点j作为与簇头通信的中继节点的概率,Er(j)是节点j的剩余能量;Ecost(i,j)是节点i与j通信时的能耗,该能耗既包括节点i发送消息时的能耗,又包括节点j接收消息时的能耗;plink是节点i与j之间的链路可靠性,ploss(j)是节点j的丢包率;β是调节因子,且0<β<1;未收到簇头广播消息的非簇头节点依据上述公式选择概率最大的节点为其中继节点,通过中继节点间接与簇头节点进行通信。

步骤4:构建簇间树型网络结构:上述各个节点都加入归属的簇并与簇头建立通信路径后,开始建立簇间路由,构建树型网络结构。

簇间路由和树型网络的构建,首先由sink节点从最小发射功率开始依次递增发射功率级数向监测区域内发送HELLO消息,直到通信半径能够覆盖整个监测区域为止。sink节点功率级数从小到大依次用Ⅰ级、Ⅱ级、Ⅲ级、Ⅳ级等表示,若传感器节点在sink节点的某个功率级数的广播范围内接收到HELLO消息时,则记录下当前sink节点的功率级数;最后以拥有最小sink节点功率级数标号的簇头节点开始与sink节点建立通信关系,依次遍历拥有sink节点各个功率级数标号的簇头节点,由此构建簇间路由和树型网络结构;这些簇头节点通过加权上一级已经与sink节点建立通信关系的剩余能量和至sink节点的最短路径的计算,最后根据权值降序排列路由表,并保存这些路由信息,以保证在链路失效时备用路由的启动。

步骤5:网络组网完成后,sink节点通知网络中各个节点准备通信,网络中各个节点根据各自所属的簇内的TDMA表进行通信;无节点失效,则通讯正常,若有节点失效,则网络启动维护过程,按照步骤1重新组网以保证网络的正常运行,若节点全部失效无存活节点,则网络通信结束。

以上实施例仅用以说明本发明的技术方案而非限制,本领域普通技术人员对本发明的技术方案所做的其他修改或者等同替换,只要不脱离本发明技术方案的精神和范围,均应涵盖在本发明的权利要求范围中。

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