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