[发明专利]一种基于分层的水声传感器网络路由协议的通信方法有效
申请号: | 201910762313.3 | 申请日: | 2019-08-19 |
公开(公告)号: | CN110519819B | 公开(公告)日: | 2022-07-22 |
发明(设计)人: | 赵瑞琴;韩安翠;李宁 | 申请(专利权)人: | 西北工业大学 |
主分类号: | H04W40/04 | 分类号: | H04W40/04;H04W40/10;H04L45/16 |
代理公司: | 西安凯多思知识产权代理事务所(普通合伙) 61290 | 代理人: | 刘新琼 |
地址: | 710072 *** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明提供了一种基于分层的水声传感器网络路由协议的通信方法,传感器节点和sink节点的声调制解调器都检测并记录接收到的数据包能量大小,并且调整发射能量将数据包以指定能量发送出去;若传感器节点接收到传感器节点发送的数据包,传感器节点首先检测接收到的能量,然后解析数据包,得到传感器节点的节点ID和层数;然后比较层数并进行相应的通信处理。本发明网络能量开销低,传感器节点根据数据包接收能量以及父节点和兄弟节点最小能量调整发射能量,在保证传输可靠的同时降低能量开销。网络能量均衡分布,考虑传感器节点的剩余电量,将能量消耗公平地分摊到每个传感器节点上,避免优先级高的节点因负载过重、电量快速消耗而失效。 | ||
搜索关键词: | 一种 基于 分层 传感器 网络 路由 协议 通信 方法 | ||
【主权项】:
1.一种基于分层的水声传感器网络路由协议的通信方法,其特征在于包括下述步骤:/n步骤1:网络分层过程;/n单个sink节点部署在海面,传感器节点随机部署在指定海域,传感器节点装配有各种传感器和声调制解调器,用于采集海域信息和传输数据;sink节点装配有同类型的声调制解调器;传感器节点将数据包通过多跳传输至sink节点,即认为传递完成;/n传感器节点和sink节点的声调制解调器都检测并记录接收到的数据包能量大小,并且调整发射能量将数据包以指定能量发送出去;/n步骤1.1:所有传感器节点在本地建立本地信息列表,格式如下:/n
/n其中节点ID是区分不同节点的唯一标识,Sink节点和传感器节点统一编号;Layer取非负整数表示节点所在层数,设置sink节点的Layer为0,所有传感器节点Layer初始值为null;最小能量表示已成功接收到的信号的最小能量,初始值设为无穷大;/n步骤1.2:sink节点按照如下格式周期性生成分层探针包,并以固定能量ECT广播分层探针包;/n
/nsink节点将Layer置为0;包类型用于区分当前包是分层探针包还是数据包;/n步骤1.3:设传感器节点n1接收到分层探针包,首先检测接收到的分层探针包的能量Ercv,然后解析该分层探针包:/n分层探针包的“节点ID”是发送该分层探针包的上一跳节点,设为n0;“Layer”表示上一跳节点n0所在的层数,设为Layer0;/n如果传感器节点n1所在的层数Layer1为null,则传感器节点n1将传感器节点n0设置为自己的父节点,令所在层数Layer1为Layer0+1,令父节点最小能量为Emin_f=Ercv,然后将父节点ID、层数Layer1、父节点最小能量Emin_f写入传感器节点n1的本地信息列表,之后进入步骤1.4;/n如果Layer1不为null且Layer1小于传感器节点n0所在的层数Layer0,此时传感器节点n1不对本地信息列表做任何修改;/n如果Layer1不为null且Layer1-Layer0=1,传感器节点n1首先比较Ercv和本地信息列表记录的父节点最小能量Emin_f,如果Ercv>Emin_f,不对本地信息列表做任何修改;如果Ercv≤Emin_f,将传感器节点n0设置为自己的父节点,令父节点最小能量为Emin_f=Ercv,然后将父节点ID、父节点最小能量Emin_f写入传感器节点n1的本地信息列表中,之后进入步骤1.4;/n如果Layer1不为null且Layer1-Layer0>1,传感器节点n1将传感器节点n0设置为自己的父节点,将自己所在的层数Layer1设置为Layer0+1,令父节点最小能量为Emin_f=Ercv,然后将父节点ID、层数Layer1、父节点最小能量Emin_f写入传感器节点n1的本地信息列表中,之后进入步骤1.4;/n如果Layer1不为null且Layer1=Layer0,即传感器节点n1与n0在同一层内,此时传感器节点n1比较Ercv与本地信息列表记录的兄弟节点最小能量Emin_b,如果Ercv≥Emin_b,不对本地信息列表做任何修改;如果Ercv<Emin_b,传感器节点n1将n0设置为兄弟节点,令兄弟节点最小能量为Emin_b=Ercv,然后将兄弟节点ID、兄弟节点最小能量Emin_b写入传感器节点n1的本地信息列表中;/n步骤1.4:传感器节点n1通过查阅本地信息列表将n1的节点ID、Layer值写入分层探针包,以能量ECT广播该分层探针包,此时传感器节点n1变为n0,下一跳接收到该分层探针包的节点为n1,之后转到步骤1.3,直到网络中所有传感器节点完成分层或更新分层信息;/n步骤2:机会路由协议/n步骤2.1:网络中传输的数据包格式如下:/n
/n其中,数据包ID为区别数据包的唯一标识,由生成该数据包的传感器节点以及生成时间决定;DATA为传感器节点要发送的数据;/n若网络中某一传感器节点ni需要发送数据包,首先依据式(1)计算数据包的发送能量EDT,然后将数据包以能量EDT广播出去;/n /n其中ECT为sink节点的广播能量;Emin为传感器节点ni比较本地信息列表中父节点最小能量Emin_f与兄弟节点最小能量Emin_b二者取的最小值;ET为传感器节点最大发送能量;/n步骤2.2:若某传感器节点nj接收到传感器节点ni发送的数据包packet,传感器节点nj首先检测接收到packet的能量Ercv_pk,然后解析数据包packet,得到传感器节点ni的节点ID和层数Layeri;然后比较Layeri和传感器节点nj所在的层数Layerj;/n如果Layerj>Layeri,传感器节点nj直接丢弃数据包packet;/n如果Layerj≤Layeri,传感器节点nj按照公式(2)计算等待时间Thold并开始计时,若在等待时间Thold内传感器节点nj接收到与packet有相同“数据包ID”的数据包,则传感器节点nj直接丢弃packet并停止计时;若到达等待时间Thold,传感器节点nj需要发送数据包而变成ni,下一跳接收到数据包的传感器节点变为nj,之后重复执行步骤2.1到步骤2.2,直到数据包被传递到sink节点;/n等待时间Thold计算公式如下:/n /n其中,r为传感器节点的通信距离;v为海洋环境中的声速;ER为数据包的接收能量Ercv_pk与发送能量EDT之比,γ为传感器节点初始电量与剩余电量的比值。/n
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西北工业大学,未经西北工业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201910762313.3/,转载请声明来源钻瓜专利网。