【无线传感网】WSN数据管理技术

文章目录

  • WSN数据管理的基本概念
    • 以数据为中心的WSN数据库
    • 与分布式数据库相比具有的特殊性
    • WSN数据管理技术的研究热点
  • WSN数据管理的关键技术
    • 无线传感器网络数据存储结构
      • 网外集中式存储方案
      • 网内分层存储方案
      • 网内本地存储方案
      • 以数据为中心的网内存储方案
    • 数据查询处理技术
      • 查询类型
      • 查询系统结构
      • 查询处理方案
    • 数据压缩技术
    • 数据融合技术
      • 应用层中的数据融合
      • 网络层中的数据融合
      • 独立的数据融合协议层

WSN数据管理的基本概念

以数据为中心的WSN数据库

无线传感器网络应用中,节点大多随机撒播到监测区域,其位置存在不确定性,易产生片面性的感知信息,单个传感器数据的意义并不大。最终观察者感兴趣的是传感器网络产生的数据,即某一区域内的多个传感器数据的融合结果,并非传感器本身的位置信息(医学和健康监测例外)

因此,应把传感器节点视为感知数据流或感知数据源,传感器网络视为感知数据空间或感知数据库,以数据作为线索进行查询和计算处理

将网络数据抽象为数据库,并提供用户执行类SQL的数据库查询的数据处理方法的优点:

  • 使用 “网络即数据库” 抽象概念可以对用户隐藏复杂的网络数据处理的过程,降低了对用户的理论基础要求
  • 采用类SQL的通用数据库查询语言,便于用户快速学习和掌握传感器网络应用系统的使用
  • 可以利用如数据融合、数据调度、数据存储等处理技术来简化传感器网络数据管理系统的设计

与分布式数据库相比具有的特殊性

  • 无线传感器网络处理的是无限、连续、实时、流式的数据
  • 节点上的存储、计算和能量资源非常有限
  • 传输路径上的中间节点有对本身采集的数据和其他节点转发来的数据进行融合、缓存、转发的能力,可以减少冗余数据在传输中耗费的网络资源
  • 邻居节点采集的数据通常具有相似性,是从不同监测点得到的同一事件的相关数据,所以数据存在冗余性
  • 网络中的数据源是大规模分布的传感器节点,节点采用与IP地址类似的全局编址或局部标识,标识与节点物理位置无关

WSN数据管理技术的研究热点

在这里插入图片描述

WSN数据管理的关键技术

无线传感器网络数据存储结构

  • 网外集中式存储方案

    感知数据从数据普通节点通过无线多跳传送到网关节点,再通过网关传送到网外的基站节点,由基站保存到感知数据库

    在这里插入图片描述

    • 优点:网内处理简单,适合查询内容稳定不变且需要原始感知数据的应用,对于实时查询来说,如果查询数据量不大,查询的时效性较好
    • 缺点:考虑到节点的大规模分布,大量冗余信息传输可能造成大量的能耗损失,而且容易引起通信瓶颈,造成传输延迟
  • 网内分层存储方案

    网内分层存储方案中两类传感器节点:

    • 一类是大量的普通节点
    • 一类是少量的有充足资源的簇头节点

    在这里插入图片描述

    基本思想:将原始的感知数据存放在普通的节点,在簇头节点上处理簇内节点的数据融合与数据摘要,在根节点形成一个网内数据的整体视图

    • 优点:查询的时效性好,数据的可靠性高
    • 缺点:必须采用特殊的固定簇头或轮转算法来保证簇头的稳定运行

    典型代表:Cougar查询系统(康奈儿大学)

  • 网内本地存储方案

    采用该方案,数据源节点将其获取的感知数据就地存储

    典型代表:TinyDB数据库系统(伯克利分校)

    基站发出查询后向网内广播查询请求,所有节点均接收到请求,满足查询条件的普通节点沿融合路由树将数据送回到根节点,即与基站相连的网关节点。

    • 优点:数据存储充分利用网内节点资源;减少了通信量
    • 缺点:查询消息洪泛到整个网络、网内融合处理复杂度高、增加时延
  • 以数据为中心的网内存储方案

    采用以数据中心的思想,将网络中的数据按内容命名,并路由到与名称相关的位置

    采用该方案时需要和以数据为中心的路由协议相配合。存储数据的节点除负担数据存储任务外,还要完成数据压缩和融合处理操作

    • 优点:数据存储有规律,便于查找,加快了查询速度;便于进行同类型数据融合,减少了通信量
    • 缺点:数据存储需要耗费一定的通信成本;同类型数据存储到相同的位置,从而可能造成某些节点的存储空间不足

四种数据存储结构比较

在这里插入图片描述

数据查询处理技术

传感器网络查询处理一直是一个十分活跃的研究领域,目前其主要的研究热点是:WSN数据模型、查询语言、数据融合技术、网内查询优化处理、查询节能管理、基于统计的数据查询等

  • 查询类型

    • 历史查询 :对从传感器网络获得的历史数据的查询

      例如:列出2017-07~2018-01区域A的平均降水量

    • 快照查询 :对传感器网络在某一给定时间点的查询

      例如:查询当前区域B中所有节点的温度值

    • 连续查询:关注在某一段时间间隔内传感器网络数据的变化情况。连续查询是用户使用最多的查询

      例如:列出从现在开始区域A每30分钟的平均降雨量

  • 查询系统结构

    由于采用了分布式处理技术,传感器网络查询处理系统一般由全局查询处理器和在每个传感器节点上的局部查询处理器协作构成

    当用户提交一个连续查询以后,全局查询处理器需要把查询分解成一系列的子查询提交到相关传感器节点上由局部查询处理器执行。这些子查询也是连续查询,需要扫描、过滤(即选择)和综合相关无限实时数据流,产生连续的部分查询结果流,返回给全局查询处理器,经过进一步全局综合处理,最终返回给用户

    传感器节点上的局部查询处理器是连续查询处理的关键

    各个连续子查询也需要执行很长时间。在连续子查询的长期执行过程中,传感器节点及其产生数据的特性、传感器节点的工作负载等情况都在不断地发生改变。因此局部查询处理器必须具有适应环境变化的自适应性

  • 查询处理方案

    WSN查询处理一般可分为两个步骤:

    1. 将全局查询处理器分解出的所有子查询发布到查询所指定的目标区域中
    2. 收到查询任务的普通节点执行查询,并返回查询结果数据

数据压缩技术

在WSN中,因受外界环境影响及自身节点原因,感知数据具有一定程度的不确定性,通常也允许有一定的误差。在保证需求的前提下,可以牺牲数据精度来降低网络中的数据的传输量

  • 基于时间序列数据压缩方法
  • 基于数据相关性压缩方法
  • 分布式小波压缩方法
  • 基于管道数据压缩方法

数据融合技术

无线传感器网络在收集数据过程中需要使用数据融合技术。数据融合是将来自多传感器或多源的信息和数据进行综合处理,得出更为准确完整的信息

主要是为了减少网络内的数据传输量,达到减少能源的消耗的目的

数据融合牺牲其他方面的性能作为代价

  • 首先是时延代价:在数据传送过程中,寻找易于进行数据融合的路由、进行数据融合操作等,都可能增加网络的平均延迟。
  • 其次是鲁棒性的代价:数据融合可以大幅度降低数据的冗余性,但丢失相同的数据也会损失信息,从而降低了网络的鲁棒性

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

python调用gemini2.0接口识别图片文字

import os import base64 import google.generativeai as genai# 配置 Google API Key # 可以在系统环境变量设置 GOOGLE_API_KEY GOOGLE_API_KEY os.getenv("GOOGLE_API_KEY", "AIzaSXXXXXXXXXXXXXX") # 替换成你的 API Key# 设置 Gemini 模型名称 mode…

Linux Debian安装ClamAV和命令行扫描病毒方法,以及用Linux Shell编写了一个批量扫描病毒的脚本

ClamAV是一个开源的跨平台病毒扫描引擎,用于检测恶意软件、病毒、木马等安全威胁。 一、Linux Debian安装ClamAV 在Linux Debian系统上安装ClamAV,你可以按照以下步骤进行: 更新软件包列表: 打开终端并更新你的软件包列表&#…

【机器学习篇】穿越数字迷雾:机器深度学习的智慧领航

引言: 在当今科技飞速发展的时代,机器深度学习已成为推动众多领域变革的核心力量,从语音识别到图像分类,从自然语言处理到自动驾驶,其影响力无处不在。深度学习模拟人类大脑的神经网络结构,使计算机能够自…

CAN总线波形中最后一位电平偏高或ACK电平偏高问题分析

参考:https://zhuanlan.zhihu.com/p/689336144 有时候看到CAN总线H和L的差值波形的最后一位电平会变高很多,这是什么原因呢? 实际上这是正常的现象,最后一位是ACK位。问题描述为:CAN总线ACK电平偏高。 下面分析下原因…

B2B营销的新篇章:开源AI智能名片S2B2C商城小程序的应用探索

摘要: B2B营销,作为企业间营销活动的总称,因其独特的业务特性而呈现出不同于B2C营销的显著特征。在数字化转型的大潮中,B2B企业正积极探索新的营销手段以提高效率和竞争力。本文旨在探讨B2B营销的基本特性,并重点引入…

Kotlin在医疗大健康域的应用实例探究与编程剖析(上)

一、引言 1.1 研究背景与意义 在当今数字化时代,医疗行业正经历着深刻的变革。随着信息技术的飞速发展,尤其是人工智能、大数据、物联网等新兴技术的广泛应用,医疗行业数字化转型已成为必然趋势。这种转型旨在提升医疗服务的效率和质量,优化医疗资源配置,为患者提供更加…

【电机控制】基于STC8H1K28的六步换向——方波驱动(软件篇)

【电机控制】基于STC8H1K28的六步换向——方波驱动(软件篇) 文章目录 [TOC](文章目录) 前言一、main.c二、GPIO.c三、PWMA.c四、ADC.c五、CMP.c六、Timer.c七、PMSM.c八、参考资料总结 前言 【电机控制】STC8H无感方波驱动—反电动势过零检测六步换向法 …

一个在ios当中采用ObjectC和opencv来显示图片的实例

前言 在ios中采用ObjectC编程利用opencv来显示一张图片,并简单绘图。听上去似乎不难,但是实际操作下来,却不是非常的容易的。本文较为详细的描述了这个过程,供后续参考。 一、创建ios工程 1.1、选择ios工程类型 1.2、选择接口模…

arcgis模版空库怎么用(一)

这里以某个项目的数据为例: 可以看到,属性表中全部只有列标题,无数据内容 可能有些人会认为空库是用来往里面加入信息的,其实不是,正确的用法如下: 一、下图是我演示用的数据,我们可以看到其中…

【论文笔记之 Mega-TTS2】Boosting Prompting Mechanisms For Zero-Shot Speech Synthesis

本文对 Ziyue Jiang 等人于 2024 年发表的论文进行简单地翻译。如有表述不当之处欢迎批评指正。欢迎任何形式的转载,但请务必注明出处。 论文链接:https://arxiv.org/pdf/2307.07218 目录 Abstract1. 介绍2. 背景3. 方法3.1. 解耦出韵律和音色3.2. 压缩…

【服务器】上传文件到服务器并训练深度学习模型下载服务器文件到本地

前言:本文教程为,上传文件到服务器并训练深度学习模型,与下载服务器文件到本地。演示指令输入,完整的上传文件到服务器,并训练模型过程;并演示完整的下载服务器文件到本地的过程。 本文使用的服务器为云服…

什么是TDD测试驱动开发(Test Driven Development)?

什么是测试驱动开发? 软件开发团队通常会编写自动化测试套件来防止回归。这些测试通常是在编写应用程序功能代码之后编写的。我们将采用另一种方法:在实现应用程序代码之前编写测试。这称为测试驱动开发 (TDD)。 为什么要应用 TDD?通过在实…

LLaMA详解

LLaMA 进化史 大规模语言模型(Large Language Model, LLM)的快速发展正在以前所未有的速度推动人工智能(AI)技术的进步。 作为这一领域的先行者, Meta在其LLaMA(Large Language Model Meta AI)系列模型上取得了一系列重大突破。 近日, Meta官方正式宣布推出LLaMA-3, 作为继LL…

connect to host github.com port 22: Connection timed out 的解决方法

原因是 Github 被 GFW 屏蔽了。 Windows 系统,打开 C:\Windows\System32\drivers\etc,复制其中的 hosts 文件至桌面,用文本编辑器或者其他工具打开。 复制以下内容进去: 140.82.114.4 github.com 151.101.1.6 github.global.ss…

区块链安全常见的攻击分析——Unprotected callback - ERC721 SafeMint reentrancy【8】

区块链安全常见的攻击分析——Unprotected callback - ERC721 SafeMint reentrancy【8】 1.1 漏洞分析1.2 漏洞合约1.3 攻击分析1.4 攻击合约 重点:MaxMint721 漏洞合约的 mint 函数调用了 ERC721 合约中的 _checkOnERC721Received 函数,触发 to 地址中实…

springboot-启动流程

by shihang.mai 1. 启动流程图 查看springboot2.3.7源码后绘制下图。 springboot启动流程图 main启动,new SpringApplication()构造方法里面 判断当前应用程序类型reactive、servlet、none获取所有的ApplicationListener对应的对象获取所有的ApplicationContextInit…

Qt解决可执行程序的图标问题(CMake)

通常情况下,我们编译生成的可执行程序的图标长这个样子: 可以看到他的图标非常丑陋。。。 要想改变图标,你需要通过以下方式: CMakeLists.txt : cmake_minimum_required(VERSION 3.10)project(CountCode VERSION 1.0 LANGUAGE…

Docker Compose编排

什么是 Docker Compose? Docker Compose 是 Docker 官方推出的开源项目,用于快速编排和管理多个 Docker 容器的应用程序。它允许用户通过一个 YAML 格式的配置文件 docker-compose.yml 来定义和运行多个相关联的应用容器,从而实现对容器的统一管理和编…

Jenkins管理多版本python环境

场景:项目有用到python3.8和3.9,python环境直接安装在jenkins容器内。 1、进入jenkins容器 docker exec -it jenkins /bin/bash 2、安装前置编译环境 # 提前安装,以便接下来的配置操作 apt-get -y install gcc automake autoconf libtool ma…

PLCT-rvos-ch03 编译与链接 课后习题

练习3-1 问题 使⽤gcc编译代码并使⽤binutils⼯具对⽣成的⽬标文件和可执⾏文件(ELF 格式)进⾏分析。具体要求如下: 编写⼀个简单的打印 “hello world!” 的程序源文件:hello.c对源文件进⾏本地编译,⽣成…