您好,欢迎访问三七文档
第11章物联网的中间件魏旻中间件是介于操作系统(包括底层通信协议)和各种分布式应用程序之间的一个软件层。中间件技术给用户提供了一个统一的运行平台和友好的开发环境,物联网中间件是减小用户高层应用需求与网络复杂性差异的有效解决方案,对加快物联网大规模产业化发展具有重要作用。知识要点能力要求物联网中间件简介(1)了解什么是物联网中间件(2)了解中间件在物联网中的三个作用(3)了解物联网中间件的发展趋势物联网中间件总体架构(1)理解物联网系统服务分层结构(2)了解典型的无线传感器网络中间件软件体系结构物联网中间件设计方法(1)理解物联网中间件软件设计原则(2)了解物联网中间件主要设计方法典型的物联网中间件结构(1)理解传感网网关中间件结构(2)理解传感网节点中间件结构(3)了解传感网安全中间件结构第11章物联网的中间件11.1物联网中间件简介11.1.1什么是物联网中间件中间件是介于操作系统(包括底层通信协议)和各种分布式应用程序之间的一个软件层。中间件面向传感器网络是一项新兴技术,传统的中间件技术如DCOM、CORBA等不能直接运用,同时,物联网的应用类型与涉及的领域也远远超过传统中间件设计所能涵盖的领域。因此,需要设计一种简单、易实现、轻量级的中间件来满足物联网本身的特性及广泛的应用需求。第11章物联网的中间件设计物联网中间件软件时,需要考虑如下需求要素。(3)简单性。(1)健壮性。(2)灵活性和可扩展性。第11章物联网的中间件中间件的目标避免产品的重复开发过程避免产品的重复开发过程减少系统维护、运行和管理的工作量实现平台无关性屏蔽安全技术细节代码可移植11.2.2中间件在物联网中的作用第11章物联网的中间件屏蔽异构性:异构性表现在计算机的软硬件之间的异构性,包括硬件、操作系统、数据库等等。造成异构的原因源自市场竞争、技术升级以及保护投资等因素。实现互操作:在物联网中,同一个信息采集设备所采集的信息可能要供给多个应用系统,不同的应用系统之间的数据也需要相互共享和互通。数据的预处理:物联网的感知层将采集海量的信息,如果把这些信息直接传输给应用系统,那应用系统对于处理这些信息将不堪重负。应用系统想要得到的并不是原始数据,而是综合性信息。11.1.3物联网中间件现状与发展趋势随着物联网应用的普及和研究的深入以及Internet的发展,目前的中间件技术主要呈现出三方面的趋势:首先,中间件越来越多地向传统运行层渗透,提供更强的运行支撑,特别地,分布式操作系统的诸多功能正逐步融入中间件。其次,应用软件需要的支持机制越来越多地由中间件提供,中间件不再局限于提供适用于大多数应用的支持机制,那些适用于某个领域内大部分应用的支持机制(这些机制往往无法在其它领域使用)也开始得到重视。第11章物联网的中间件最后,物联网中间件必将与云计算相结合,全面实现虚拟化,虚拟化是实现资源整合的一种非常重要的技术手段。11.2物联网中间件系统总体架构第11章物联网的中间件局域服务全局业务服务局域服务用于底层传感器节点之间、底层传感器节点和传感网网关间的业务交互。全局业务服务用于传感网网关、主干网服务器、远程终端等之间的业务交互。物联网服务分层传感器互联网本地服务传感感知数据查询/订阅/发布执行与控制定位设备管理代码管理安全管理业务管理日志传感网网关传感器网路设备管理代码管理数据转换命令分发认证与授权计费日志传感网运营商公众服务智能家居远程医疗企业服务工业监控智能农业服务提供商管理服务应用服务蜂窝网络企业用户公众用户下图是物联网系统服务的分层结构图。第11章物联网的中间件第11章物联网的中间件资源调度技术安全保护技术异构系统通信技术分布式管理技术无线传感网中间件关键技术第11章物联网的中间件•中间件软件体系结构网络适配层基础软件层应用开发层应用业务适配层典型的无线传感器网络中间件软件体系结构如下图:应用业务适配器基于无线传感器网络的应用业务开发环境工具集应用框架接口功能中间件配置中间件网络中间件网络适配器无线传感网操作系统核心无线传感网络基础设施应用业务适配层应用层开发基础软件层网络适配层管理中间件安全中间件无线传感网络应用支撑无线传感器网中间件和平台软件体系结构无线传感器网络节点嵌入式软件结构第11章物联网的中间件1.网络适配层在该层中,网络适配器实现对网络底层(无线传感器网络基础设施、操作系统)的封装。2.基础软件层第11章物联网的中间件(1)网络中间件组件(2)配置中间件组件(3)功能中间件组件(4)管理中间件组件(5)安全中间件组件基础软件层3.应用开发层4.应用业务适配层应用业务适配层对各种应用业务进行封装,解决基础软件层的变化和接口的不一致性问题。第11章物联网的中间件(1)应用框架接口(2)开发环境(3)工具集11.3物联网中间件设计方法物联网具有自身体系结构的差异性、网络中节点的部署和数据采集的多样性以及通信的异构性等特点,在设计物联网中间件软件时必须遵循以下原则。(1)由于节点能量、计算、存储能力及通信带宽有限,因此传感网中间件必须是轻量级的,且能够在性能和资源消耗间取得平衡。(2)物联网环境较为复杂,因此中间件软件还应提供较好的容错机制、自适应和自维护机制。(3)中间件软件的下层支撑是各种不同类型的硬件节点和操作系统(TinyOS、MantisOS、SOS),因此,其本身须能够屏蔽网络底层的异构性。(4)中间件软件的上层是各种应用,因此,它还需要为各类上层应用提供统一的、可扩展的接口,以便于应用的开发。围绕物联网在信息交互、任务分解、节点协同、数据处理和异构抽象等方面的设计目标,物联网中间件设计方法主要可分为以下几类。第11章物联网的中间件5.基于移动代理的物联网中间件基于移动代理的物联网中间件提供抽象的计算任务给上层应用,尽可能使应用模块化,以便可以更容易地进行代码传输。Agilla是其典型代表。4.面向消息的物联网中间件该类中间件主要采用异步模式和生产者/消费者模式,其典型代表为Mires。3.基于应用驱动的物联网中间件这类中间件主要由应用来决定网络协议栈的结构,允许用户根据应用需求调整网络,其典型代表为MILAN中间件。2.基于数据库的物联网中间件在该类中间件中,整个物联网被看作是一个虚拟的数据库系统,为用户的查询提供简单的接口。Cougar、TinyDB及SINA是这类中间件的典型代表。1.基于虚拟机的物联网网络中间件该类中间件一般由虚拟机、解释器和代理组成,提供虚拟机环境以简化应用的开发和部署。Mate是这类中间件的典型代表,它是一种建立在TinyOS基础上的传感器网络虚拟机。11.3物联网中间件设计方法第11章物联网的中间件11.4物联网典型中间件11.4.1传感网网关中间件RPC中间件设备管理中间件消息路由/分发模块API网关管理中间件应用中间件南向适配中间件北向适配中间件公共信息库插件管理通用API南向网络接口北向网络接口主控模块消息消息消息消息APIAPIAPI传感网网关中间件软件系统结构(如下图)主要分为6个部分:主控模块、公共信息中间件、通用API模块、中间件管理模块、消息管理模块、功能性中间件模块。第11章物联网的中间件(4)中间件管理模块:网关软件基于中间件架构,中间件管理模块实现了中间件管理机制,包括中间件加载卸载、中间件注册注销、中间件服务注册注销、中间件遍历、中间件服务遍历等功能。(6)功能性中间件模块:网关的业务类功能由各中间件模块实现。基本功能性中间件模块包括:自有南向协议适配模块、北向平台适配模块、网关管理中间件、设备管理中间件、定位应用模块、RPC中间件模块等。第11章物联网的中间件(1)主控模块:是网关启动后最先运行的软件模块。主控模块负责初始化网关软件系统、解析配置文件、加载中间件、处理系统信号。(2)公共信息中间件:公共信息中间件存放网关内部各模块经常需要访问的公共配置、状态信息。(3)通用API模块:通用API模块为网关内部各软件模块提供常用的通用函数功能封装,如链表、哈希表、动态数组等常用数据结构操作,为软件跨平台运行而设计的线程库、动态连接库、线程同步相关API等。(5)消息管理模块:网关各中间件间通过消息的方式通信,消息管理模块提供消息队列创建销毁、消息分配释放、消息发送接收及路由等功能。11.4.2传感网节点中间件按其功能可分为通用中间件(CommonMiddleware)和域中间件(DomainMiddleware)。低功耗传感网节点中间件体系架构如下图:智能家居传感探测网络管理安全管理定位统计代码管理域中间件域中间件通用中间件通用中间件中间件接口支撑接口支撑软件硬件中间件管理器工业监控网络协议栈运行环境(OS抽象/虚拟机)操作系统(OS)硬件抽象(HAL)硬件中间件管理器第11章物联网的中间件(1)通用中间件。在底层运行支撑软件的支持下实现一系列基本的节点功能,主要包括以下两个方面:①为域中间件提供基本的业务支撑服务;②实现基本的管理功能。(2)域中间件。位于通用中间件之上。域中间件在单个或多个通用中间件提供的基本功能服务基础上,实现较为复杂的业务功能,向上为应用提供配置、控制、数据访问接口。(3)中间件容器。域中间件、通用中间件均运行在中间件容器内,受中间件容器的统一控制与调度。每个中间件组件都提供至少一个服务访问接口,服务访问接口是中间件与其他软件模块之间信息交互的唯一通道。中间件容器的另一项重要功能就是控制中间件组件的加载与卸载,并在模块加载与卸载时向其他相关模块发送通知。第11章物联网的中间件(4)底层支撑软件。底层支撑软件也WSN设备中间件正常运行所必需的软件组成部分,这部分软件包括操作系统(OS)、软件运行环境(RuntimeSupport)、硬件设备抽象模块(HAL)和网络协议栈(NetworkStack)。11.4.3传感网安全中间件传感网安全中间件的具体内容如下。(1)提供安全机制(在协议栈)。(2)安全管理功能(部分在协议栈,上位机配合,功能可方便扩展)。(3)安全监控功能(上位机配合)。根据组件提供的功能将安全中间件分为3层。应用需求组件:为不同类型网络用户的应用需求提供统一的应用编程接口,是中间件系统软件和应用需求之间交流的窗口。跨平台安全调度组件:对应用接口需求进行分析,以及网络平台分析,转化统一的安全接口函数。安全模块组件:提供各种安全服务模块和可扩展模块。安全管理组件:是安全中间件的核心,是安全中间件灵活配置的体现,提供对所有安全组件的管理功能,加载安全模块,可制定并发布安全策略。第11章物联网的中间件应用需求组件跨平台调度组件一类协议接口二类协议接口统一化处理组件接口安全模块提供组件密钥服务提供模块入网认证服务提供模块鉴别服务提供模块检测服务提供模块其他消息分析模块信息处理转换消息分配模块安全管理服务组件接收应用需求采集网络信息制定安全策略发布安全命令传感网安全中间件体系架构第11章物联网的中间件
本文标题:物联网的中间件
链接地址:https://www.777doc.com/doc-5750281 .html