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

文章目录

  • 拓扑控制的意义
      • 影响整个网络的生存时间
      • 减小节点间通信干扰,提高网络通信效率
      • 为路由协议、时间同步提供基础
      • 影响数据融合
      • 弥补节点失效的影响
  • 拓扑控制的设计目标
      • 能量消耗
      • 覆盖度
      • 连通性
      • 算法的分布式程度
      • 网络延迟🚩
      • 干扰和竞争
      • 对称性
      • 鲁棒性和可扩展性
  • 功率控制技术
    • 统一功率分配算法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.rhkb.cn/news/499075.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何在没有 iCloud 的情况下将联系人从 iPhone 传输到 iPhone

概括 近期iOS 13.5的更新以及苹果公司发布的iPhone SE在众多iOS用户中引起了不小的轰动。此外,不少变化,如暴露通知 API、Face ID 增强功能以​​及其他在 COVID-19 期间与公共卫生相关的新功能,吸引了 iPhone 用户尝试新 iPhone 并更新到最…

matlab 设计滤波器

滤波器可视化工具 fvtool 与 filterAnalyzer 设计滤波器: matlab 菜单栏 APP - 滤波器设计

Keil中的gcc

文章目录 一、IDE背后的命令1.1 IDE是什么1.2 IDE的背后是命令1.3 有两套主要的编译器 二、准备工作2.1 arm-linux-gcc和gcc是类似的2.2 Code::Blocks2.2.1 设置windows环境变量2.2.2 命令行示例 三、gcc编译过程详解3.1 程序编译4步骤3.2 gcc的使用方法3.2.1 gcc使用示例3.2.2…

SQL-Server链接服务器访问Oracle数据

SQL Server 链接服务器访问 Oracle 离线安装 .NET Framework 3.5 方法一:使用 NetFx3.cab 文件 下载 NetFx3.cab 文件,并将其放置在 Windows 10 系统盘的 C:Windows 文件夹中。 以管理员身份运行命令提示符,输入以下命令并回车: …

关于easy-es对时间范围查询遇到的小bug

前言:在使用easy-es之前作为一个小白的我只有es原生查询的基础,在自己通过查看官方文档自学easy-es遇到了一个挫折,其他的还好语法和MybatisPlus差不多,正以为我觉得很快就能入手,在对时间范围的判断就给我当头一棒&am…

typora+picgo core+minio自动上传图片

1. 在服务器上安装docker版本minio 创建/docker/minio文件夹 mkdir -p /docker/minio在此文件夹创建docker-compose.yml version: "3.5" services:minio:image: quay.io/minio/minio:latestcontainer_name: minioprivileged: truerestart: alwaysports:# API接口访…

WebRTC线程的启动与运行

WebRTC线程运行的基本逻辑: while(true) {…Get(&msg, …);…Dispatch(&msg);… }Dispatch(Message *pmsg) {…pmsg->handler->OnMessage(pmsg);… }在执行函数内部,就是一个while死循环,只做两件事,从队列里Get取…

【OceanBase】使用 Superset 连接 OceanBase 数据库并进行数据可视化分析

文章目录 前言一、前提条件二、操作步骤2.1 准备云主机实例2.2 安装docker-compose2.3 使用docker-compose安装Superset2.3.1 克隆 Superset 的 GitHub 存储库2.3.2 通过 Docker Compose 启动 Superset 2.4 开通 OB Cloud 云数据库2.5 获取连接串2.6 使用 Superset 连接 OceanB…

我们能否使用 ANSYS SPEOS 测量水质?

介绍 Ansys SPEOS 是动态环境科学领域的尖端工具,可为围绕水质管理的复杂问题提供深入的见解和创新解决方案。通过其光学系统功能,它为理解和改善不同环境的生态动态提供了一个强大的框架。 主要特点和优势 多材质建模: 为了准确模拟环境…

简易屏幕共享工具-基于WebSocket

前面写了两个简单的屏幕共享工具,不过那只是为了验证通过截屏的方式是否可行,因为通常手动截屏的频率很低,而对于视频来说它的帧率要求就很高了,至少要一秒30帧率左右。所以,经过实际的截屏工具验证,我了解…

论文分享 | PromptFuzz:用于模糊测试驱动程序生成的提示模糊测试

大语言模型拥有的强大能力可以用来辅助多种工作,但如何有效的辅助仍然需要人的精巧设计。分享一篇发表于2024年CCS会议的论文PromptFuzz,它利用模型提示生成模糊测试驱动代码,并将代码片段嵌入到LLVM框架中执行模糊测试。 论文摘要 制作高质…

2024年底关于期货的工作总结

十几年程序猿出身,因几年前的懵懂无畏闯入期货市场,盈了,感觉期货太简单,飘然裸辞,想当财务自由者,全职做交易。当深入学习时,却亏了,原来市场是让人敬畏的,也是反人性的…

mybatis 和 mybatisPlus 兼容性问题

项目采用的是 mybatis, 后续引入了 mybatisPlus,用 mybatisX 创建的四个类一直报错,提示找不到符号,意识到 mybatis 和 mybatisPlus 的兼容性问题,通过修改配置 两者的配置如下 #配置mybatis配置 mybatis:type-aliase…

使用maven-mvnd替换maven大大提升编译打包速度

先上结论!!! 多模块清理并打包提升:约3.5倍 多模块不清理打包提升:约5.5倍 单模块提升:约2倍 从计算结果来看,多模块提升的效率更高。在使用mvnd package打包多模块式,可在控制台…

【数据结构】(Python)差分数组。差分数组与树状数组结合

差分数组: 基于原数组构造的辅助数组。用于区间修改、单点查询。区间修改的时间复杂度O(1)。单点查询的时间复杂度O(n)。差分数组的元素:第一个元素等于原数组第一个元素,从第二个元素开始是原数组对应下标的元素与前一个元素的差&#xff0…

k8s-1.28.2 部署prometheus

一、prometheus helm仓库 ## 网站地址 # https://artifacthub.io/## prometheus 地址 # https://artifacthub.io/packages/helm/prometheus-community/prometheus. # helm repo add prometheus-community https://prometheus-community.github.io/helm-charts # helm repo …

vulhub-wordpress靶场

一.主题上传漏洞 来到靶场点击主题选择add new 这里有一个上传主题的地方 我们可以去网上找到wordpress主题下载一个 wordpress模板 网页设计模板 免费 免费下载 - 爱给网 下载完成后对我们有用的东西只有这一个目录,把它拖出来 点开moban目录后,创建…

深入浅出梯度下降与反向传播

文章目录 1. 前言2. 基本概念2.1 一元函数的导数2.2 偏导数2.3 方向导数2.4 梯度2.5 均方误差 3. 梯度下降3.1 梯度下降的公式3.2 梯度下降的类型(优化器) 4. 反向传播4.1 反向传播的基本步骤4.2 反向传播的数学推导 5. 实战5.1 手动求导5.2 自动求导5.3…

gitlab-runner的卸载与安装

如果你使用rpm方式安装gitlab-runner,则可以参考本教程。 卸载 停止和卸载gitlab-runner 停止 gitlab-runner stopchkconfig gitlab-runner off卸载 gitlab-runner uninstall删除rpm包 查询出rpm包名,根据包名删除rpm。 [rootEuler02 ~]# rpm -qa …

2024年12月31日Github流行趋势

项目名称:free-programming-books 项目地址url:https://github.com/EbookFoundation/free-programming-books项目语言:HTML历史star数:344575今日star数:432项目维护者:vhf, eshellman, davorpa, MHM5000, …