[发明专利]基于逻辑节点的无线传感器网络可靠数据收集方法及装置有效
申请号: | 201810532402.4 | 申请日: | 2018-05-29 |
公开(公告)号: | CN108769941B | 公开(公告)日: | 2020-12-04 |
发明(设计)人: | 唐晓岚;柴明璐;谢华;陈文龙;蒋鹤峻;陈潇然 | 申请(专利权)人: | 首都师范大学 |
主分类号: | H04W4/38 | 分类号: | H04W4/38;H04W28/08;H04W84/18 |
代理公司: | 北京清亦华知识产权代理事务所(普通合伙) 11201 | 代理人: | 张润 |
地址: | 100037 北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 逻辑 节点 无线 传感器 网络 可靠 数据 收集 方法 装置 | ||
1.一种基于逻辑节点的无线传感器网络可靠数据收集方法,其特征在于,包括以下步骤:
设置网络层次信息,以将无线传感器网络内所有节点进行层次标记;所述设置网络层次信息,进一步包括:
将sink节点的层次标记初始化为0,并将传感器节点的层次标记初始化为无穷大,且所述sink节点的子节点集初始化为空,并将所述传感器节点的父节点集和子节点集均初始化为空;
使所述sink节点向周围节点广播其层次消息0;
将接收到所述层次消息0的节点更新层次标记为1,并且将所述sink节点记入其父节点集,并向所述sink节点返回应答;
在所述sink节点收到应答后,将应答发送方记入其子节点集CLsink;
使所述层次标记为1的节点继续广播其层次消息1;
接收到所述层次消息为1的节点判断自身的层次标记是否大于2,其中,若是,则更新其层次标记为2,且将层次消息发送方记入其父节点集,向所述层次消息发送方返回应答,否则层次标记为2的节点继续广播其层次消息2,直到所述无线传感器网络内所有节点都有层次标记,以Lj表示物理节点vj的层次标记;
当传感器节点收到应答时,将应答发送方记入其子节点集;
根据层次标记后的节点构建候选逻辑节点;所述根据层次标记后的节点构建候选逻辑节点,进一步包括:
将所述无线传感器网络内所有节点均初始化为非叶子节点和非逻辑节点;
根据记录的所述节点父节点集和所述子节点集,若节点vm的子节点集为空,则节点vm的is_leaf属性置为true;
从最底层非叶子节点vk开始,vk向其父节点vi发送子节点集信息,并逐层往上;
在所述父节点vi收集到所有子节点发出的所述子节点集信息后,对所述父节点vi全部子节点集CLi进行两两全组合,以得到候选逻辑节点集C_LNi;
对候选逻辑节点内的物理节点vj和物理节点vk的子节点集CLj和子节点集CLk进行比较,以得到共同子节点集及元素个数;
若所述元素个数为零,则为无效逻辑节点,并去掉无效逻辑节点;
根据所述候选逻辑节点选择逻辑节点;所述根据所述候选逻辑节点选择逻辑节点,进一步包括:
初始化逻辑节点集LNi为空集;
选择元素个数值最大的候选逻辑节点CLNj,k作为逻辑节点,并更新逻辑节点集LNi,其中,当存在多个元素个数值最大的候选逻辑节点,则优先选择非逻辑节点成员组成的候选逻辑节点;
使父节点vi向构成逻辑节点的物理节点vj和物理节点vk发送ln_confirm_message,以使物理节点收到消息后设置自身is_ln属性为true,且记录彼此的标识;
更新SCLl,m=SCLl,m-SCLj,k;若SCLl,m_size=0,则CLNl,m为冗余逻辑节点,并从所述候选逻辑节点集C_LNi中删除;
更新所述候选逻辑节点集C_LNi=C_LNi-CLNj,k,直至所述候选逻辑节点集C_LNi为空;以及
对所述逻辑节点进行负载均衡,以收集目标数据;所述对所述逻辑节点进行负载均衡,以收集目标数据,进一步包括:
对于逻辑节点LNA,B,节点va的剩余能量记为AEA,节点vb的剩余能量记为AEB;记传输一条单位数据的能量消耗记为e,节点va剩余能量中服务于共同子节点的能量记为LEA,节点vb剩余能量中服务于共同子节点的能量记为LEB;节点v2,v3,v4向逻辑节点LNA,B上传数据量记为TE2,TE3,TE4,节点v1向节点va上传数据量记为TE1,则在逻辑节点LNA,B中节点va的LEA=AEA-TE1×e,节点vb的LEB=AEB;
更新LEA>LEB和TE2>TE3>TE4,则v2选择va为下一跳转发节点,更新LEA=LEA-TE2×e;
比较LEA与LEB,选择其中较大者,对于LEA>LEB,则v3选择va为下一跳转发节点,更新LEA=LEA-TE3×e;
比较LEA与LEB,选择较大者,对于LEA<LEB,则v4选择vb为下一跳转发节点,更新LEB=LEB-TE4×e;
以实现通过比较逻辑节点内两个物理节点的剩余能量,从而由剩余能量大的物理节点承担传输开销大的子节点的数据转发任务,实现逻辑节点内的负载均衡。
2.一种基于逻辑节点的无线传感器网络可靠数据收集装置,包括:
设置模块,用于设置网络层次信息,以将无线传感器网络内所有节点进行层次标记;所述设置模块,进一步包括:
转化单元,用于将sink节点的层次标记初始化为0,并将传感器节点的层次标记初始化为无穷大,且所述sink节点的子节点集初始化为空,并将所述传感器节点的父节点集和子节点集均初始化为空;
第一广播单元,用于使所述sink节点向周围节点广播其层次消息0;
更新单元,用于将接收到所述层次消息0的节点更新层次标记为1,并且将所述sink节点记入其父节点集,并向所述sink节点返回应答;
第一记录单元,用于在所述sink节点收到应答后,将应答发送方记入其子节点集CLsink;
第二广播单元,用于使所述层次标记为1的节点继续广播其层次消息1;
判断单元,用于接收到所述层次消息为1的节点判断自身的层次标记是否大于2,其中,若是,则更新其层次标记为2,且将层次消息发送方记入其父节点集,向所述层次消息发送方返回应答,否则层次标记为2的节点继续广播其层次消息2,直到所述无线传感器网络内所有节点都有层次标记,以Lj表示物理节点vj的层次标记;
第二记录单元,用于当传感器节点收到应答时,将应答发送方记入其子节点集;
构建模块,用于根据层次标记后的节点构建候选逻辑节点;所述构建模块,进一步用于:
将所述无线传感器网络内所有节点均初始化为非叶子节点和非逻辑节点;
根据记录的所述节点父节点集和所述子节点集,若节点vm的子节点集为空,则节点vm的is_leaf属性置为true;
从最底层非叶子节点vk开始,vk向其父节点vi发送子节点集信息,并逐层往上;
在所述父节点vi收集到所有子节点发出的所述子节点集信息后,对所述父节点vi全部子节点集CLi进行两两全组合,以得到候选逻辑节点集C_LNi;
对候选逻辑节点内的物理节点vj和物理节点vk的子节点集CLj和子节点集CLk进行比较,以得到共同子节点集及元素个数;
若所述元素个数为零,则为无效逻辑节点,并去掉无效逻辑节点;
选择模块,用于根据所述候选逻辑节点选择逻辑节点;所述选择模块,进一步用于:
初始化逻辑节点集LNi为空集;
选择元素个数值最大的候选逻辑节点CLNj,k作为逻辑节点,并更新逻辑节点集LNi,其中,当存在多个元素个数值最大的候选逻辑节点,则优先选择非逻辑节点成员组成的候选逻辑节点;
使父节点vi向构成逻辑节点的物理节点vj和物理节点vk发送ln_confirm_message,以使物理节点收到消息后设置自身is_ln属性为true,且记录彼此的标识;
更新SCLl,m=SCLl,m-SCLj,k;若SCLl,m_size=0,则CLNl,m为冗余逻辑节点,并从所述候选逻辑节点集C_LNi中删除;
更新所述候选逻辑节点集C_LNi=C_LNi-CLNj,k,直至所述候选逻辑节点集C_LNi为空;以及
收集模块,用于对所述逻辑节点进行负载均衡,以收集目标数据;所述收集模块,进一步用于:
对于逻辑节点LNA,B,节点va的剩余能量记为AEA,节点vb的剩余能量记为AEB;记传输一条单位数据的能量消耗记为e,节点va剩余能量中服务于共同子节点的能量记为LEA,节点vb剩余能量中服务于共同子节点的能量记为LEB;节点v2,v3,v4向逻辑节点LNA,B上传数据量记为TE2,TE3,TE4,节点v1向节点va上传数据量记为TE1,则在逻辑节点LNA,B中节点va的LEA=AEA-TE1×e,节点vb的LEB=AEB;
更新LEA>LEB和TE2>TE3>TE4,则v2选择va为下一跳转发节点,更新LEA=LEA-TE2×e;
比较LEA与LEB,选择其中较大者,对于LEA>LEB,则v3选择va为下一跳转发节点,更新LEA=LEA-TE3×e;
比较LEA与LEB,选择较大者,对于LEA<LEB,则v4选择vb为下一跳转发节点,更新LEB=LEB-TE4×e;
以实现通过比较逻辑节点内两个物理节点的剩余能量,从而由剩余能量大的物理节点承担传输开销大的子节点的数据转发任务,实现逻辑节点内的负载均衡。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于首都师范大学,未经首都师范大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810532402.4/1.html,转载请声明来源钻瓜专利网。