【无线传感网】无线传感器网络拓扑控制技术

news2025/1/5 9:06:12

文章目录

  • 拓扑控制的意义
      • 影响整个网络的生存时间
      • 减小节点间通信干扰,提高网络通信效率
      • 为路由协议、时间同步提供基础
      • 影响数据融合
      • 弥补节点失效的影响
  • 拓扑控制的设计目标
      • 能量消耗
      • 覆盖度
      • 连通性
      • 算法的分布式程度
      • 网络延迟🚩
      • 干扰和竞争
      • 对称性
      • 鲁棒性和可扩展性
  • 功率控制技术
    • 统一功率分配算法COMPOW
    • 基于节点度的功率控制LMN/LMA
    • 基于邻近图的功率控制
  • 典型的层次型拓扑控制方法
  • 拓扑控制中的休眠调度技术

拓扑控制技术是无线传感器网络中的基本问题。 动态变化的拓扑结构是无线传感器网络最大特点之一,因此拓扑控制策略在无线传感器网络中有着重要的意义

目前,在网络协议分层中没有明确的层次对应拓扑控制机制,但大多数的拓扑算法是部署于介质访问控制层(MAC)和路由层(Routing)之间,它为路由层提供足够的路由更新信息,反之,路由表的变化也反作用于拓扑控制机制,MAC层可以提供给拓扑控制算法邻居发现等消息

在这里插入图片描述

拓扑控制的意义

拓扑控制的设计目标

无线传感器网络是与应用密切相关的,不同的应用对应有不同的拓扑控制设计目标要求

功率控制技术

在满足网络连通的前提下,通过节点功率控制或动态调整节点的发射功率,精简节点间的无线通信链路,保留生成一个高效的数据转发拓扑结构,在保证网络拓扑连通的基础上,使得网络中节点的能量消耗最小

功率控制对网络拓扑结构的影响

在这里插入图片描述

典型的层次型拓扑控制方法

层次型拓扑控制是将所有的传感器节点分成一定的簇结构形式

每个簇结构由簇头节点负责将簇内的数据通过其他簇头路由或直接传送到汇聚节点,在簇内部普通节点将感知到的数据传送到簇头节点。从而由簇头节点形成一个处理并转发数据的骨干网,其他节点则可可以暂时关闭通信模块,进入睡眠状态以节省能量

  • LEACH

    (这个协议在无线传感网路由中介绍过)

    LEACH是第一个被提出的聚类路由协议,也是一种自适应分簇拓扑算法

    基本思想:将节点组织成簇结构形式,每个簇有一个簇头节点,其他节点作为非簇头节点。所有的非簇头节点只与本簇的簇头节点通信

    LEACH使用轮转的方式选举节点成为簇头节点,从而让所有的节点都有机会成为簇头节点而达到网络中节点能量消耗均匀的目的

  • HEED

    HEED( Hybrid Energy-Efficient Distributed clustering )是一种混合式的分簇算法,通过定义簇内平均最小可达功率AMRP指标来衡量簇内节点通信成本
    A M R P = ∑ i = 1 M M i n P w r i M AMRP = \frac{\sum^{M}_{i=1}{MinPwr_i}}{M} AMRP=Mi=1MMinPwri

    HEED算法首先根据节点的剩余能量来概率性地选择一些候选节点,以簇内通信代价的高低来竞争产生最终簇头,以簇内平均可达能量作为衡量簇内通信成本的标准

    HEED算法将操作时间分为成簇持续时间 T C P T_{CP} TCP网络操作时间 T N O T_{NO} TNO

    成簇持续时间内每个节点分布式的通过有限次的迭代选举出簇头节点节点在网络操作时间内发送数据到本簇簇头节点,簇头节点可以选择一种路由协议将数据经过多条路径经由其他簇头节点传送到基站或者汇聚节点。

    簇头选举阶段,每个节点以不同的初始概率发送竞争消息,每次迭代将概率加倍直至为1或有邻节点己经被选为簇头。簇头竞选成功后,其他节点在竞争阶段根据收到的簇头通告信息选择加入AMRP(最小通信代价)最低的簇头

    • 优点
      • 采用了一种对普通节点和簇头节点都统一的机制来衡量簇内通信的代价,而不是LEACH算法所使用的节点和簇头间的距离作为是否加入该簇的指标,这样可以协调簇头覆盖范围内所有节点的能量消耗,从而产生比较均匀的簇头分布
      • 在簇头选举中考虑了节点的剩余能量情况,让剩余能量占初始能量比例更大的节点有更多的机会成为簇头,使得选出的簇头更适合担任数据转发任务,形成的网络拓扑结构更为合理,全网能量消耗更加均匀
  • GAF

    GAF地域自适应保真算法将监测区域划分成虚拟单元格,将节点按照位置信息划入相应的单元格,相邻单元格的任意两个节点可直接通信。

    GAF节点有3种状态:

    • 工作状态
    • 睡眠状态
    • 发现状态

    每个单元格只有一个定期选举产生的簇头节点处于工作状态,其他节点周期性地进入睡眠和发现状态。发现状态的节点可以竞争簇头

  • TopDisc

    TopDisc是基于最小支配集问题的典型算法

    在TopDisc算法中,由网络中的一个初始节点开始发送用于发现邻居节点的查询消息,该消息携带有发送节点的状态信息。随着查询消息在整个传感器网络中的扩散,算法依次为每个传感器节点标记上颜色即状态

    根据算法中节点状态的个数,TopDisc包括两种具体的节点状态标记方法:三色算法四色算法

    • 优点:TopDisc算法在密集部署的无线传感器网络中执行速度快
    • 缺点:形成的网络拓扑灵活性不强,也未考虑节点能耗的均衡问题

拓扑控制中的休眠调度技术

拓扑控制中的休眠调度技术能够使节点在没有事情发生时通信模块为睡眠状态,而在有事情发生时自动醒来并唤醒邻居节点,形成数据转发的拓扑结构

这种机制的引入,使得无线通信模块大部分时间都处于关闭状态,只有传感器模块处于工作状态,有效节省了能量开销

此机制重点在于解决节点在睡眠状态和活动状态之间的切换考虑节点能耗的均衡问题

  • STEM

    STEM(稀疏拓扑、能源管理)算法包含两种不同的机制:STEM-B和 STEM-T

    在STEM-B算法中每个睡眠节点可以周期性地醒来侦听信道。如果某个节点想要建立通信,它会作为主动节点先发送一连串Beacon包。目标节点在收到Beacon包后,发送应答信号,并自动进入数据接收状态
    如果没有数据通信,节点大部分时间只保持在侦听信道上的周期性侦听

    STEM-T算法比STEM-B算法简单。其节点周期性地进入侦听阶段,探测是否有邻居节点要发送数据。当一个节点想与某个邻居节点进行通信时,它首先发送一连串的唤醒包,发送唤醒包的时间长度必须大于侦听的时间间隔,以确保邻居节点能够接收到唤醒包,然后该节点直接发送数据包。
    可见STEM-T算法与STEM-B算法相比省略了请求应答过程,但增加了节点唤醒次数

    STEM算法使节点在整个生命周期中的多数时间内处于睡眠状态,适用于类似环境监测或者突发事件检测等应用

  • ASCENT

    ASCENT(自适应自配置的传感器网络拓扑)算法是另一种节点唤醒机制,其重点在于均衡网络中骨干节点的数量,并保证数据通路的畅通

    节点接收数据时若发现丢包严重就向数据源方向的邻居节点发出求助消息;当节点探测到周围的通信节点丢包率很高或者收到邻居节点发出的帮助请求时,它醒来后主动成为活动节点,帮助邻居节点转发数据包

    节点可以处于4种状态:

    1. 休眠状态
    2. 侦听状态
    3. 测试状态
    4. 活动状态

    从本质上说,ASCENT是一个从汇聚节点向数据源节点回溯建立路由的过程。通过ASCENT算法,节点能够根据网络情况动态地改变自身状态,从而动态地改变网络拓扑结构

  • CCP

    CCP覆盖配置协议:网络睡眠节点最大化

    CCP有3个基本的状态:工作状态、侦听状态和睡眠状态

    为了避免由于每个节点根据局部信息独立进行调度而引起的冲突,CCP引入了加入退出两个过渡状态

  • SPAN

    基本思想:在不破坏网络原有连通性的前提下,根据节点的剩余能量、邻居节点的个数、节点的效用等多种因素,自适应地决定是成为骨干节点还是进入睡眠状态

    睡眠节点周期性地唤醒,以判断自己是否应该成为骨干节点,骨干节点周期性地判断自己是否应该退出

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2269711.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

使用pandas把数据库中的数据转成csv文件

使用pandas把数据库中的数据转成csv文件 1、效果图 2、流程 1、连接数据库,获取数据 2、把一些中文字符转成gbk,忽略掉无法转化的 3、把数据转成csv 3、代码 import pymysql import pandas as pddef get_database(databasename):

点击锁定按钮,锁定按钮要变成解锁按钮,然后状态要从待绑定变成 已锁定(升级版)

文章目录 1、updateInviteCodeStatus2、handleLock3、InviteCodeController4、InviteCodeService5、CrudRepository 点击锁定按钮,锁定按钮要变成解锁按钮,然后状态要从待绑定变成 已锁定:https://blog.csdn.net/m0_65152767/article/details…

活动报名系统源码:JAVA同城服务系统活动报名同城圈子商家商城城市代理躲猫猫

JAVA同城服务系统:打造多元化社交与娱乐新体验 在数字化时代,同城服务系统已成为连接城市生活的重要桥梁。我们精心打造的JAVA同城服务系统,不仅融合了活动报名、同城圈子、商家商城、城市代理等多重功能,还特别加入了创新的“躲…

【大模型实战篇】LLaMA Factory微调ChatGLM-4-9B模型

1. 背景介绍 虽然现在大模型微调的文章很多,但纸上得来终觉浅,大模型微调的体感还是需要自己亲自上手实操过,才能有一些自己的感悟和直觉。这次我们选择使用llama_factory来微调chatglm-4-9B大模型。 之前微调我们是用两块3090GPU显卡&…

数势科技:解锁数据分析 Agent 的智能密码(14/30)

一、数势科技引领数据分析变革 在当今数字化浪潮中,数据已然成为企业的核心资产,而数据分析则是挖掘这一资产价值的关键钥匙。数势科技,作为数据智能领域的领军者,以其前沿的技术与创新的产品,为企业开启了高效数据分析…

[卫星遥感] 解密卫星目标跟踪:挑战与突破的深度剖析

目录 [卫星遥感] 解密卫星目标跟踪:挑战与突破的深度剖析 1. 卫星目标跟踪的核心挑战 1.1 目标的高速与不确定性 1.2 卫星传感器的局限性 1.3 数据处理与融合问题 1.4 大尺度与实时性要求 2. 当前卫星目标跟踪的主流技术 2.1 卡尔曼滤波(Kalman …

骑行解压:身心的奇妙之旅,VELO Angel Revo坐垫

在快节奏的都市生活中,骑行不仅是一种健康的生活方式,更是一种心灵的释放。从心理生理学的角度来看,骑行能够促使身体分泌内啡肽,带来愉悦感,同时,它还能转移注意力,缓解焦虑。在这场身心的奇妙…

Agent系列:AppAgent v2-屏幕智能Agent(详解版)

引言 简介 方法 Agent 框架 Agent 交互 探索阶段 部署阶段 文档生成 高级功能 实验结果 总结 局限性 未来工作 1. 引言 大语言模型(LLM)如 ChatGPT 和 GPT-4 显著提升了自然语言处理能力,并且推动了智能体在自主决策中的应用。…

高等数学学习笔记 ☞ 无穷小与无穷大

1. 无穷小 1. 定义:若函数当或时的极限为零,那么称函数是当或时的无穷小。 备注: ①:无穷小描述的是自变量的变化过程中,函数值的变化趋势,绝不能认为无穷小是一个很小很小的数。 ②:说无穷小时…

【网络安全实验室】SQL注入实战详情

如果额头终将刻上皱纹,你只能做到,不让皱纹刻在你的心上 1.最简单的SQL注入 查看源代码,登录名为admin 最简单的SQL注入,登录名写入一个常规的注入语句: 密码随便填,验证码填正确的,点击登录…

Hive性能调优考量

Hive作为大数据领域常见的数据仓库组件,在设计和开发阶段需要注意效率。影响Hive效率的不仅仅是数据量过大,数据倾斜、job(小文件过多)或者磁盘I/O过多、MapReduce分配不合理等因素都会对Hive的效率有影响。对Hive的调优可以从架构…

在CodeBlocks搭建SDL2工程构建TFT彩屏模拟器虚拟TFT彩屏幕显示

在CodeBlocks搭建SDL2工程构建TFT彩屏模拟器虚拟TFT彩屏幕显示 参考文章源码下载地址一、SDL2的创建、初始化、退出二、系统基本Tick、彩屏刷新、按键事件三、彩屏获取与设置颜色四、彩屏填充颜色及清屏五、彩屏显示中文和英文字符串六、彩屏显示数字七、彩屏初始化八、主函数测…

ESLint+Prettier的配置

ESLintPrettier的配置 安装插件 ​​​​​​ 在settings.json中写下配置 {// tab自动转换标签"emmet.triggerExpansionOnTab": true,"workbench.colorTheme": "Default Dark","editor.tabSize": 2,"editor.fontSize": …

Springboot使用RabbitMQ实现关闭超时订单的一个简单示例

1.maven中引入rabbitmq的依赖&#xff1a; <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-amqp</artifactId></dependency> 2.application.yml中进行rabbitmq相关配置&#xff1a; # rabbit…

复杂对象的创建与组装 - 建造者模式(Builder Pattern)

建造者模式&#xff08;Builder Pattern&#xff09; 建造者模式&#xff08;Builder Pattern&#xff09;建造者模式&#xff08;Builder Pattern&#xff09;概述建造者模式结构图代码 talk is cheap&#xff0c; show you my code总结 建造者模式&#xff08;Builder Patter…

云计算课程报告实验-WordCount算法实验 过程记录

内容描述 本实验指导书通过在华为鲲鹏上&#xff0c;编译运行WordCount程序。完成实验操作后&#xff0c;读者会掌握简单的程序编写&#xff0c;如WordCount中的getWords、countWords、treeMerge。 实验环境 华为鲲鹏云主机、openEuler 20.03操作系统&#xff1b;安装mpich-3…

springboot533图书管理系统(论文+源码)_kaic

摘 要 传统信息的管理大部分依赖于管理人员的手工登记与管理&#xff0c;然而&#xff0c;随着近些年信息技术的迅猛发展&#xff0c;让许多比较老套的信息管理模式进行了更新迭代&#xff0c;图书信息因为其管理内容繁杂&#xff0c;管理数量繁多导致手工进行处理不能满足广…

【服务器开发及部署】code-server 显示git graph

在开发一些linux上的内容的时候进程需要在开发机和生产部署上花费大量的时间。 为了解决上述问题,我们今天介绍一款在服务上开发的思路 git + code server + 宝塔 其中需要处理一些问题,此处都有交代 步骤 安装宝塔安装code-server配置插件配置浏览器处理的问题 git版本过低,…

【游戏设计原理】41 - 游戏的核心

1. 如何理解&#xff1f; 这条原理主要在讲述“游戏核心”这一概念的重要性及其在游戏开发中的作用。游戏的核心是指决定游戏整体玩法和体验的核心元素&#xff0c;它通常是游戏的主要机制、目标或动作方式。理解这一原理时&#xff0c;我们可以从以下几个层面来考虑&#xff…

win11 vs2022 opencv 4.10 camshift示例程序运行

记录win11 vs2022 opencv 4.10下 camshift等示例程序的单步debug启动方式&#xff0c;方便了解源码。 debug版本编译通过&#xff0c;但运行时报出大量日志信息(部分dll加载FAILED后会自动找兼容dll)。但也能继续运行&#xff0c;效果如下 release版本可以直接运行&#xff0…