无线传感器网络技术及应用(熊茂华 熊昕)十
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
点提供新的安全机制。
7
第10章 无线传感器网络中间件技术
10.1.2 无线传感器网络中间件体系
1.中间件软件的层次 一个完整的无线传感器网络中间件软件应当包含一个运 行时环境以支持和协调多个应用。同时,还将提供一系列标 准化系统服务,如数据管理、数据融合、应用目标自适应控 制等,以延长无线传感器网络的生命周期。无线传感器网络 中间件软件在其整个系统结构中的位置如图10.1所示。从图 中可以看出,中间件软件位于底层硬件平台、操作系统与上 层应用系统之间,它为下层提供不同类型的适配接口,并提 供面向上层应用的开发接口。
8
第10章 无线传感器网络中间件技术
图10.1 中间件软件在无线传感器网络系统结构中的位置
9
第10章 无线传感器网络中间件技术
2.无线传感器网络中间件的关键技术
无线传感器网络中间件的关键技术至少包含以下几个方 面: (1) 资源调度技术:为用户提供透明统一的资源管理接 口,为应用开发提供动态资源分配和优化。 (2) 安全保护技术:在保证无线传感器网络资源充分利 用的基础上,为节点及网络提供安全保障。 (3) 异构系统通信技术:在具有不同介质、不同电气特 性、不同协议的无线传感器网络业务间,屏蔽底层操作系统 的复杂性,实现无缝通信与交互。
20
第10章 无线传感器网络中间件技术
Cougar、TinyDB和SINA均提供了一个分布式数据库查
询接口,用户可以使用熟悉的数据库查询风格,方便使用, 并在能量节约上均提供了相应的机制;TinyDB建立和维护 一个扩展树,查询广播到叶子节点,叶子节点根据查询条件 决定是否转发到父节点,在父节点进行处理和融合,减小了 通信开销,节约能量;Cougar通过把查询分发到各节点来最 小化数据搜集和计算带来的能量开销;SINA使用基于属性 的命名机制和位置感知机制,传输协议利用位置信息限制了 地理位置邻近的相似信息的重复发送,节约了能量。此外, SINA支持分层的簇结构,方便了网络的扩展。但这几种方 法在可靠性、移动性等方面支持相对较弱。
通常使用耦合的通信范式(通常为异步通信方式),基于元组空间和事件
驱动中间件通常基于比较灵活的去耦通信范式(通常为异步通信方式), 如图10.3所示。
16
第10章 无线传感器网络中间件技术
图10.3 中间件设计方法分类
17
第10章 无线传感器网络中间件技术
2.中间件设计方法分析
根据上述分类方法,下面对每类中间件设计方法进行介 绍、分析,并根据可扩展性、可靠性、自适应性等对几种典 型设计方法进行比较。 1) 基于虚拟机的中间件 采用虚拟机的方法具有灵活性高、程序员开发方便等优 点。通常通过屏蔽底层硬件资源和系统软件间的异构性来提 供灵活方便的编程接口。典型例子如Mate、MagnetOS、 SensorWare等。
10
第10章 无线传感器网络中间件技术
(4) 分布式管理技术:在高层交互实现无线传感器网络
分布式信息处理和控制,构建面向网络的能量管理、拓扑管 理、数据管理等。 3.无线传感器网络中间件体系 典型的无线传感器网络中间件软件体系结构见图10.2, 它主要分为四个层次:网络适配层、基础软件层、应用开发 层和应用业务适配层。其中,网络适配层与基础软件层组成 无线传感器网络节点嵌入式软件的体系结构;应用开发层和 基础软件层组成无线传感器网络应用支撑结构,支持应用业 务的开发与实现。
第10章 无线传感器网络中间件技术
第10章 无线传感器网络中间件技术
10.1 无线传感器中间件体系结构及功能
10.2 基于Agent的无线传感器网络中间件DisWare
10.3 DisWare中间件平台软件MeshIDE 10.4 无线多媒体传感器网络中间件技术 10.5 支持多应用任务的WSN中间件的设计
应用程序代码到网内各个节点,减少了通信开销,系统的Java实
现也使开发变得更加简单,但使用Java虚拟机技术时系统开销非 常大,对于资源有限的WSN不大实用。SensorWare使用轻量级、
移动控制脚本语言,方便应用开发,通过脚本在节点间的复制和
迁移能够方便地实现分布式算法在网内的部署,并且实现代码非 常小(不足180 KB),适用于多个传感节点平台。
19
第10章 无线传感器网络中间件技术
此类中间件方法支持的开发语言非常重要,语言越复杂,
对开发人员要求越高。另一方面,如果支持像脚本语言这样 的语言,对编程人员来说开发相当容易,但对实质功能表述 相对较弱,所以要在简单性和功能的表述性之间做个平衡。 2) 基于数据库的中间件 此方法把整个网络看做一个分布式数据库,用户使用类 似SQL的查询命令获取所需的数据。查询通过网络分发到各 个节点,节点判定感知数据是否满足查询条件,决定数据的 发送与否。典型例子如Cougar、TinyDB和SINA等。
6
第10章 无线传感器网络中间件技术
(5) 必须能够灵活支持网络在任何时候、任何地方扩展,
并且要维护一个可以接受的性能级别。同时具备自适应由设 备故障、障碍物等因素引起的动态网络环境,支持传感网络 的健壮操作。 (6) 为方便应用开发,中间件应为开发者针对各种各样 的异构计算设备提供一个统一的系统视图,提供编程抽象或 者系统服务,单个节点设备仅保留最小功能。 (7) 有些传感器节点部署于相对恶劣的环境,使得类似 拒绝服务的恶意攻击和入侵变得更加容易。此外,无线通信 介质很容易受窃听包的注入损害网络功能。为保护信息的完 整、可信,避免各种攻击的成功,中间件应根据WSN的特
13
第10章 无线传感器网络中间件技术
(3) 功能中间件组件:完成无线传感器网络各种应用业
务的共性功能,提供功能框架接口。 (4) 管理中间件组件:为网络应用业务实现各种管理功 能,如资源管理、能量管理、生命期管理等。 (5) 安全中间件组件:为应用业务实现各种安全功能, 例如安全管理、安全监控、安全审计等。
14
第10章 无线传感器网络中间件技术
3) 应用开发层
(1) 应用框架接口:提供无线传感器网络的各种功能描 述和定义,具体的实现由基础软件层提供。 (2) 开发环境:是无线传感器网络应用的图形化开发平 台,建立在应用框架接口基础上,为应用业务提供更高层次 的应用编程接口和设计模式。 (3) 工具集:提供各种特制的开发工具,辅助无线传感 器网络各种应用业务的开发与实现。 4) 应用业务适配层 应用业务适配层对各种应用业务进行封装,解决基础软 件层的变化和接口的不一致性问题。
4
第10章 无线传感器网络中间件技术
2.无线传感器网络中间件面临的问题
设计和实现一个成功的中间件并非易事,必须面临许多 问题: (1) 由于节点的能量、计算、存储能力和通信带宽资源 有限,因此中间件必须是轻量级的。另外,中间件也应该提 供优化整个系统性能的资源分配机制,在性能和资源消耗之 间取得平衡。 (2) WSN通常节点数目庞大,加上所处环境的限制,人 工部署、维护也相对困难,所以中间件应该提供容错、自适 应和自维护机制,执行无干涉操作。
22
第10章 无线传感器网络中间件技术
有的文献提出了一个自治框架,此框架可以根据设备的历史
18
第10章 无线传感器网络中间件技术
Mate、SensorWare和MagnetOS分别使用字节代码包、Tcl脚
本和Java对象,均可支持代码的移动,进行任务的迁移。Mate能 够对WSN的变化提供更好的自适应和交互性,同时可以使用字节
代码包进行网络协议或算法的更新,使网络能够动态、灵活和方
便地重新配置,但对于复杂应用,指令解释开销较大。MagnetOS 使用Java虚拟机,可解决WSN的异构性问题,自动地分割和分配
3
第10章 无线传感器网络中间件技术
(2) 传感网环境较为复杂,中间件软件应提供较好的容
错机制、自适应和自维护机制。 (3) 中间件软件的下层支撑是各种不同类型的硬件节点 和操作系统(TinyOS、MantisOS、SOS),因此,其本身须能 够屏蔽网络底层的异构性。 (4) 中间件软件的上层是各种应用,因此,需要为各类 上层应用提供统一的、可扩展的接口,以便于应用的开发。
21
第10章 无线传感器网络中间件技术
3) 自适应中间件
在自适应编程范式中,自适应可分为前摄和反射两种方 法。前摄方法可由应用具体指定QoS需求,根据这些需求主 动调整网络相关参数。可使用反射和前摄相结合的方法来更 好地调控网络,获取更理想的QoS级别。反射方法通常是根 据网络环境的变化而被动地作出反应,如网络拓扑、节点功 能等发生变化时,调整某些参数,来满足一定的QoS需求。 Milan使用前摄的方法影响网络。Milan获取基于状态变 化的特殊图形表示QoS需求,基于这些信息Milan进行如何 控制网络和节点平衡应用资源,延长应用程序生存期的决策。
11
第10章 无线传感器网络中间件技术
图10.2 无线传感器网络中间件软件体系结构
12
Biblioteka Baidu
第10章 无线传感器网络中间件技术
1) 网络适配层
在网络适配层中,网络适配器实现对网络底层(无线传 感器网络基础设施和操作系统)的封装。 2) 基础软件层 基础软件层包含各种无线传感器网络中间件组件,具备 灵活性、模块性和可移植性。该层具体包括以下组件: (1) 网络中间件组件:完成无线传感器网络接入、网络 生成、网络自愈合、网络连通性服务等。 (2) 配置中间件组件:完成无线传感器网络的各种配置 工作,如路由配置、拓扑结构调整等。
1
第10章 无线传感器网络中间件技术
10.1 无线传感器中间件体系结构及功能
随着中间件、网格、P2P等技术的出现,分布式计算
取得了很大的发展。中间件作为处于操作系统与应用程序之
间的系统软件,通过对底层组件异构性的屏蔽,提供一个统 一的运行平台和友好的开发环境,并随着技术的进一步发展,
具有了动态重配置、可扩展、上下文敏感等特征。无论是从
15
第10章 无线传感器网络中间件技术
10.1.3 无线传感器网络中间件设计方法
1.无线传感器网络中间件设计方法分类 WSN中间件支持应用程序的设计、部署、维护及执行。为了更好
地实现这些目标,需要在任务与网络的有效交互、任务分解、各节点间
协同、数据处理、异构抽象等方面提供各种机制。目前围绕这些目标, 提出了不同的设计方法。在有的文献中提出WSN分布式处理分为单节点 控制和网络级分布式控制两个层面,根据这一观点并结合WSN中间件的 底层编程范式,可把现有WSN中间件方法分为虚拟机(Virtual Machine)、 基于数据库(Database)、基于元组空间(Tuple Space)和事件驱动(Event Driven)以及自适应(Adaptive)中间件五类。基于数据库和自适应中间件
节点的物理分布,还是从节点间协同处理及系统资源共享上 来看,无线传感器网络都是一个分布式系统,同样适用分布 式系统的处理方法,分布式计算中间件也是自然选择。
2
第10章 无线传感器网络中间件技术
10.1.1 通用的中间件的定义
1.无线传感器网络中间件的定义 中间件是介于操作系统(包括底层通信协议)和各种分布 式应用程序之间的一个软件层。其主要作用是建立分布式软 件模块之间互操作的机制,屏蔽底层分布式环境的复杂性和 异构性,为处于上层的应用软件提供运行与开发环境。 无线传感器网络的中间件软件设计必须遵循以下原则: (1) 由于节点能量、计算、存储能力及通信带宽有限, 因此无线传感器网络中间件必须是轻量级的,且能够在性能 和资源消耗间取得平衡。
5
第10章 无线传感器网络中间件技术
(3) 在WSN中,可从应用程序相关和网络相关两种角度
看待QoS(Quality of Service,服务质量)。前者把QoS视为应 用程序相关的一些参数,如覆盖、活动节点数、评估的精确 性等,后者考虑底层通信网络怎样有效使用网络资源处理 QoS约束的传感数据。所以中间件的设计也要提供合适的 QoS机制,在性能、延时和能量使用之间达到平衡。 (4) 数据收集和处理是WSN的核心功能,然而大部分应 用中都包含了冗余信息,为缩小通信开销和能量消耗,一般 对数据进行聚合和融合后传给用户,支持此数据处理的中间 件往往需要网络节点注入应用程序相关知识。