物联网中间件
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
在该类中间件中,整个物联网被看作是一个虚拟的数据库系 统,为用户的查询提供简单的接口。Cougar、TinyDB及SINA是 这类中间件的典型代表。
3.基于应用驱动的物联网中间件 这类中间件主要由应用来决定网络协议栈的结构,允许用户 根据应用需求调整网络,其典型代表为MILAN中间件。
4.面向消息的物联网中间件
围绕物联网在信息交互、任务分解、节点协同、数据处理和 异构抽象等方面的设计目标,物联网中间件设计方法主要可分 为以下几类: 1.基于虚拟机的物联网网络中间件 该类中间件一般由虚拟机、解释器和代理组成,提供虚拟机 环境以简化应用的开发和部署。Mate是这类中间件的典型代表, 它是一种建立在TinyOS基础上的传感器网络虚拟机。 2.基于数据库的物联网中间件
客户层
客户端
中间层
应用服务器
数据层
数据库
客户端
客户端
用户界面
业务逻辑
பைடு நூலகம்
数据逻辑
中间件技术标准
1、COM
COM(Component Object Model,组建对象模型)通过底层 的远程支持使得构件技术延伸到了分布式应用领域。COM是 Microsoft提出的一种组件规范,其多个组件对象可以连接起来形成 应用程序,并且在运行时,可在不重复连接或编译的情况下被卸载 或换掉。COM既是规范,也是实现。它以COM库的形式提供了访 问COM对象核心功能的标准接口及一组API函数,这些API用于实现 创建和管理COM对象的功能。
2、CORBA
CORBA(Common Object Request Broker Architecture,公共 对象请求代理体系结构)分布式计算机技术是OMG组织基于众多 开放系统平台厂商提交的分布对象互操作内容的公共对象请求代理 体系规范。COBRA是编写分布式对象的一个统一标准,该标准主要 分为对象请求代理、公共对象服务和公共设施等三个层次。
(4)底层支撑软件。底层支撑软件是WSN设备中间件正常运行所必需 的软件组成部分,这部分软件包括操作系统(OS)、软件运行环境 (Runtime Support)、硬件设备抽象模块(HAL)和网络协议栈(Network Stack)。
传感网安全中间件 传感网安全中间件体系架构如下图所示:
接 收 应 用 需 求 采 集 网 络 信 息
API
公共信息库
应用中间件
网关管理 中间件
API 插件管理
设备管理 中间件 消息
RPC中间件
消息
主控模块
消息路由/分发模块API 消息
API
消息 北向适配 中间件
通用API
南向适配 中间件
南向网络接口
北向网络接口
主控模块:是网关启动后最先运行的软件模块。主控模 块负责初始化网关软件系统、解析配置文件、加载中间 件、处理系统信号。 公共信息中间件:公共信息中间件存放网关内部各模块 经常需要访问的公共配置、状态信息。
物联网的中间件
中间件的定义
中间件是一种独立的系统软件或服务程序,分布式应用软件借 助这种软件在不同的技术之间共享资源。 中间件是位于操作系统和应用软件之间的通用服务,其主要作 用是用来屏蔽网络硬件平台的差异性以及操作系统与网络协议的异 构性,使应用软件能够比较平滑地运行于不同的平台上。同时中间 件在负载平衡、连接管理和调度方面起来很大的作用,使企业级应 用的性能得到大幅提升,满足了关键业务的需求。
数据库为任务管理器提供一个持久化的存储场所,数据库存 有提交的任务极其相应进度表的详细信息,因此所有提交给系 统的任务将会存活下来,即使任务管理器出乎意料地瘫痪。在 每一次循环中,任务管理器查询数据中的任务并更新相关的记 录。
中间件的分类
1、数据访问中间件 2、远程过程调用中间件
3、面向对象的中间件
J2EE和CORBA的最大区别是,CORBA只是针对单个对象, 而不是被应用服务器自动管理的可部署的服务器端组件。 CORBA的特点是大而全,互操作性和开放性非常好;缺点是庞 大而复杂,并且技术和标准的更新相对较慢。
物联网典型中间件
传感网网关中间件
传感网网关中间件软件系统结构(如下图)主要分为6个部 分:主控模块、公共信息中间件、通用API模块、中间件管理模 块、消息管理模块、功能性中间件模块。
应用
中间件必须具备两个关 键特征,首先要为上层的应 用服务,此外又必须连接到 操作系统的层面,并保持运 行工作状态。
中间件的核心模块
中间件的核心模块主要包括事件管理系统(Event Management System,EMS)、实时内存事件数据库(Real-time In-memory Event Database,RIED)以及任务管理系统(Task Management System,TMS)等三个主要模块。 1、事件管理系统(EMS) EMS配置在“边缘EPC中间件”端,用于收集所读到的标签信息。 EMS的主要任务: (1)能够让不同类型的读写器将信息写入到适配器; (2)从读写器中收集标准格式的EPC数据;
通用API模块:通用API模块为网关内部各软件模块提供 常用的通用函数功能封装,如链表、哈希表、动态数组 等常用数据结构操作,为软件跨平台运行而设计的线程 库、动态连接库、线程同步相关API等。
中间件管理模块:网关软件基于中间件架构,中间件管理模 块实现了中间件管理机制,包括中间件加载卸载、中间件注 册注销、中间件服务注册注销、中间件遍历、中间件服务遍 历等功能。 消息管理模块:网关各中间件间通过消息的方式通信,消息 管理模块提供消息队列创建销毁、消息分配释放、消息发送 接收及路由等功能。 功能性中间件模块:网关的业务类功能由各中间件模块实现。 基本功能性中间件模块包括:自有南向协议适配模块、北向 平台适配模块、网关管理中间件、设备管理中间件、定位应 用模块、RPC中间件模块等。
接口
安全模块提供组件
密钥服务 提供模块
入网认证服 务提供模块
鉴别服务 提供模块
检测服务 提供模块
其他
发 布 安 全 命 令
根据组件提供的功能将安全中间件分为4层。
应用需求组件:为不同类型网络用户的应用需求提供统 一的应用编程接口,是中间件系统软件和应用需求之间交 流的窗口。 跨平台安全调度组件:对应用接口需求进行分析,以及 网络平台分析,转化统一的安全接口函数。 安全模块组件:提供各种安全服务模块和可扩展模块。 安全管理组件:是安全中间件的核心,是安全中间件灵 活配置的体现,提供对所有安全组件的管理功能,加载安 全模块,可制定并发布安全策略。
该类中间件主要采用异步模式和生产者/消费者模式,其典型 代表为Mires。
5.基于移动代理的物联网中间件
基于移动代理的物联网中间件提供抽象的计算任务给上层应 用,尽可能使应用模块化,以便可以更容易地进行代码传输。 Agilla是其典型代表。
中间件三层体系结构
(1)客户层 (2)应用层 (3)数据层
中间件是一类软件,而非一种软件; 中间件不仅仅实现互连,还要实现应用之间的互操作; 中间件是基于分布式处理的软件,最突出的特点是其网络通 信功能。
中间件的特点
对于应用软件开发,中间件远比操作系统和网络服务更为重要, 中间件提供的程序接口定义了一个相对稳定的高层应用环境,不管 底层的计算机硬件和系统软件怎么更新换代,只要将中间件升级更 新,并保持中间件对外的接口定义不变,应用软件几乎无需修改, 从而保护了企业在应用软件开发和维护中的大量投资。
应用需求组件
跨平台调度组件
消息分析模块
消息分配模块
一类协议接口
二类协议接口
信息处理转换
统一化处理组件
制 定 安 全 策 略
安 全 管 理 服 务 组 件
传感网安全中间件的具体 内容如下: (1) 提供安全机制(在协议 栈) 。 (2) 安全管理功能(部分在协 议栈,上位机配合,功能可 方便扩展)。 (3) 安全监控功能(上位机配 合) 。
(3)允许过滤器对数据EPC数据进行平滑处理; (4)允许将处理后的数据写入到RIED或数据库; (5)对事件进行缓冲,使得数据记录器、数据过滤器和适配器能 够互不干扰的互相工作。
2、实时内存事件数据库(RIED)
RIED是一个内存数据库,用来存储“边缘EPC中间件”的 事件信息,其中“边缘EPC中间件”维护来自读写的信息,并 提供过滤和记录事件的框架。 RIED组件由以下几方面构成: (1)JDBC接口; (2)DML剖析器 (3)查询优化器 (4)本地查询处理器 (5)排序区
传感网节点中间件
按其功能可分为通用中间件 (Common Middleware)和域中 间件(Domain Middleware)。低功耗传感网节点中间件体系架 构如下图:
智能家居 域中间件 工业监控
中间件管理器
传 感 探 测
网 络 管 理
安 全 管 理
定 位 通用中间件
统 计
代 码 管 理
SOAP服务器的任务是将功能和任务管理器的接口作为服务 的形式暴露出来,让所有的系统都能够访问到,可以通过一个 简单部署描述文件来完成部署,该文件描述了哪些任务管理器 的方法被描述出来。
(3)类服务器 类服务器使得给系统动态加载额外服务成为可能,任务管 理器指向类服务器并在类服务器有效时加载所要加载新的类。 这样可以很容易地实现更新、添加和修改任务而不需要重新启 动系统。 (4)数据库
(6)数据结构
(7)DDL剖析器 (8)回滚缓冲
3、任务管理系统(TMS)
在TMS系统中有如下组件:任务管理器、SOAP服务器、类 服务器、数据库。TMS体系构架如下:
管理员用户
任务管理器 任务装载器 SOAP服务器
一般用户 一般用户 RDBMS
一般用户
类服务器
(1)任务管理器
TMS主要是代表用户负责执行和维护运行在EPC中间件上的 任务,每个提交给系统的任务都有一个时间表,时间表中表明 任务的运行周期,是否连续执行等。 (2)SOAP服务器
(2)域中间件。位于通用中间件之上。域中间件在单个或多个通用中间 件提供的基本功能服务基础上,实现较为复杂的业务功能,向上为应用 提供配置、控制、数据访问接口。
(3)中间件容器。域中间件、通用中间件均运行在中间件容器内,受中 间件容器的统一控制与调度。每个中间件组件都提供至少一个服务访问 接口 ,服务访问接口是中间件与其他软件模块之间信息交互的唯一通道。 中间件容器的另一项重要功能就是控制中间件组件的加载与卸载,并在 模块加载与卸载时向其他相关模块发送通知。
3、J2EE
为了推动基于java的服务器端应用开发,Sun在1999年推出 了Java2技术及相关的J2EE规范。J2EE是当前异构数据集成普遍 采用的标准。Java、XML等中间件关键技术都是J2EE技术体系 的一部分。J2EE是提供平台无关的、可移植的、支持并开发访 问和安全的,完全基于Java的开发服务器中间件的标准。
物联网的中间件是一种面向消息的中间件,中间件具有以下特 点: (1)满足大量应用的需要; (2)运行于多种硬件和操作系统平台; (3)支持分布式计算,提供跨网络、硬件和操作系统的透明性 的应用或服务的交互; (4)支持标准的协议; (5)支持标准的接口。
中间件的体系框架
应用
接口协议 中间件 (分布系统服务) 接口协议 硬件 操作系统 硬件 操作系统
域中间件
中间件管理器
中间件接口 网络协议栈 运行环境 (OS抽象/虚拟机) 操作系统(OS) 硬件抽象(HAL)
通用中间件 支撑接口
支撑软件
硬件
硬件
(1)通用中间件。在底层运行支撑软件的支持下实现一系列基本的节点 功能,主要包括以下两个方面:①为域中间件提供基本的业务支撑服务; ②实现基本的管理功能。
4、基于事件的中间件 5、面向消息的中间件
6、对象请求代理中间件
7、事务处理监控中间件
中间件设计方法
物联网具有自身体系结构的差异性、网络中节点的部署和 数据采集的多样性以及通信的异构性等特点,在设计物联网中 间件软件时必须遵循以下原则。 (1)由于节点能量、计算、存储能力及通信带宽有限,因此传 感网中间件必须是轻量级的,且能够在性能和资源消耗间取得 平衡。 (2)物联网环境较为复杂,因此中间件软件还应提供较好的容 错机制、自适应和自维护机制。 (3)中间件软件的下层支撑是各种不同类型的硬件节点和操作 系统(TinyOS、MantisOS、SOS),因此,其本身须能够屏蔽网 络底层的异构性。 (4)中间件软件的上层是各种应用,因此,它还需要为各类上 层应用提供统一的、可扩展的接口,以便于应用的开发。