资源预览内容
第1页 / 共74页
第2页 / 共74页
第3页 / 共74页
第4页 / 共74页
第5页 / 共74页
第6页 / 共74页
第7页 / 共74页
第8页 / 共74页
第9页 / 共74页
第10页 / 共74页
亲,该文档总共74页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第第5 5章章 物联网软件和中间件物联网软件和中间件 5.1 5.1 中间件中间件 5.2 M2M5.2 M2M技术技术 5.3 5.3 物联网与数据挖掘物联网与数据挖掘 5.4 5.4 云计算云计算 如果软件是物联网的核心和灵魂,中如果软件是物联网的核心和灵魂,中 间件(间件(Middleware)就是这个灵魂的)就是这个灵魂的 核心核心 5.15.1中间件中间件 5.1.15.1.1中间件的基本概念中间件的基本概念 随着计算机技术的发展,随着计算机技术的发展,IT厂商出于商业和技术厂商出于商业和技术 利益的考虑,各自产品之间形成了差异,技术在利益的考虑,各自产品之间形成了差异,技术在 不断进步,但差异却并没有因此减少。计算机用不断进步,但差异却并没有因此减少。计算机用 户出于历史原因和降低风险的考虑,必然也无法户出于历史原因和降低风险的考虑,必然也无法 避免多厂商产品并存的局面。避免多厂商产品并存的局面。 于是,如何屏蔽不于是,如何屏蔽不 同厂商产品之间的差异,如何减少应用软件开发同厂商产品之间的差异,如何减少应用软件开发 与工作的复杂性,就成为技术不断进步之后,人与工作的复杂性,就成为技术不断进步之后,人 们不能不面对的现实问题。们不能不面对的现实问题。 然而,由一个厂商去然而,由一个厂商去 统一众多产品之间的差异是不可能的,单独由计统一众多产品之间的差异是不可能的,单独由计 算机用户在自己的应用软件中去弥补其中的大片算机用户在自己的应用软件中去弥补其中的大片 空档,由于技术深度和技术广度的要求,也是勉空档,由于技术深度和技术广度的要求,也是勉 为其难。于是,中间件应运而生。中间件试图通为其难。于是,中间件应运而生。中间件试图通 过屏蔽各种复杂的技术细节使技术问题简单化。过屏蔽各种复杂的技术细节使技术问题简单化。 在中间件产生以前,应用软件直接使用操作系统、网络协议和数据库在中间件产生以前,应用软件直接使用操作系统、网络协议和数据库 等开发,这些都是计算机最底层的东西,越底层越复杂,开发者不得等开发,这些都是计算机最底层的东西,越底层越复杂,开发者不得 不不面临许多很棘手的问题:面临许多很棘手的问题: 1) 一个应用系统可能跨越多种平台,如一个应用系统可能跨越多种平台,如UNIX,NT,甚至大机,如何屏,甚至大机,如何屏 蔽这些平台之间的差异?蔽这些平台之间的差异? 2) 如何处理复杂多变的网络环境,如何在脆弱的网络环境上实现可靠的如何处理复杂多变的网络环境,如何在脆弱的网络环境上实现可靠的 数据传送?数据传送? 3) 一笔交易可能会涉及多个数据库,如何保证数据的一致性和完整性?一笔交易可能会涉及多个数据库,如何保证数据的一致性和完整性? 4) 如何同时支持成千上万乃至更多用户的并发服务请求?如何同时支持成千上万乃至更多用户的并发服务请求? 5) 如何提高系统的可靠性,实现故障自动恢复和故障迁移。保证系统如何提高系统的可靠性,实现故障自动恢复和故障迁移。保证系统7 (天)(天) 24(小时)(小时) 52(周)可用。(周)可用。 6) 如何解决与已有应用系统的接口。如何解决与已有应用系统的接口。 这些与用户的业务没有直接关系,但又必须解决,耗费了大量有限的这些与用户的业务没有直接关系,但又必须解决,耗费了大量有限的 时间和精力。于是,有人提出能不能将应用软件所要面临的共性问题时间和精力。于是,有人提出能不能将应用软件所要面临的共性问题 进行提炼、抽象,在操作系统之上再形成一个可复用的部分,供成千进行提炼、抽象,在操作系统之上再形成一个可复用的部分,供成千 上万的应用软件重复使用。这一技术思想最终构成了中间件这类的软上万的应用软件重复使用。这一技术思想最终构成了中间件这类的软 件。件。中间件的目标就是解决分布应用开发中诸如互操作等共性问题,中间件的目标就是解决分布应用开发中诸如互操作等共性问题, 以及相同的内涵,提供这些共性问题的具有普适性的支撑机制。即在以及相同的内涵,提供这些共性问题的具有普适性的支撑机制。即在 于抽取分布系统构造中的共性问题,封装这些共性问题的解决机制,于抽取分布系统构造中的共性问题,封装这些共性问题的解决机制, 对外提供简单统一的接口,从而减少开发人员在解决这些共性问题时对外提供简单统一的接口,从而减少开发人员在解决这些共性问题时 的难度和工作量。中间件通过的难度和工作量。中间件通过API (Application Programming API (Application Programming InterfaceInterface,应用程序接口,应用程序接口) )的形式为应用系统提供通用的服务,这些的形式为应用系统提供通用的服务,这些 服务具有标准的程序接口和协议。服务具有标准的程序接口和协议。 IDC(Internet Data Center;互;互 联网数据中心)联网数据中心) 的的定义:定义:中间件中间件 是一种独立的系是一种独立的系 统软件或服务程统软件或服务程 序,分布式应用序,分布式应用 软件借助这种软软件借助这种软 件在不同的技术件在不同的技术 之间共享资源,之间共享资源, 中间件位于客户中间件位于客户 机服务器的操作机服务器的操作 系统之上,管理系统之上,管理 计算资源和网络计算资源和网络 通信通信。如图。如图5-1所所 示。示。 操作系统API 操作 系统 通讯处理存储 中间件API 中间件 分布式应用 操作系统API 操作 系统 通讯处理存储 中间件API 中间件 分布式应用 计算机1计算机2 网络 中间件是一类软件,而非一种软件;中间件不仅仅实现互连,还要实现应中间件是一类软件,而非一种软件;中间件不仅仅实现互连,还要实现应 用之间的互操作;中间件是基于分布式处理的软件,最突出的特点是其网用之间的互操作;中间件是基于分布式处理的软件,最突出的特点是其网 络通信功能,即克服网络环境多种挑战的一类系统软件络通信功能,即克服网络环境多种挑战的一类系统软件-平台通信平台通信 平台通信 这个定义限定了这个定义限定了只有用于分布式系统中的此类软件只有用于分布式系统中的此类软件 才能被称为中间件才能被称为中间件,同时此定义还可以把中间件与,同时此定义还可以把中间件与 支撑软件和实用软件区分开来。支撑软件和实用软件区分开来。 物联网中间件处于物联网的集成服务器端和感知层、物联网中间件处于物联网的集成服务器端和感知层、 传输层的嵌入式设备中。传输层的嵌入式设备中。 服务器端中间件称为物联服务器端中间件称为物联 网业务基础中间件,一般都是基于传统的中间件网业务基础中间件,一般都是基于传统的中间件 (应用服务器,(应用服务器,ESB(Enterprise Service Bus,企,企 业服务总线业服务总线) /MQ (Message Queue,消息队列,消息队列)等)等) 构建,加入设备连接和图形化组态展示等模块构建,加入设备连接和图形化组态展示等模块(如同如同 方的方的ezM2M物联网业务中间件)。嵌入式中间件是物联网业务中间件)。嵌入式中间件是 一些支持不同通信协议的模块和运行环境。一些支持不同通信协议的模块和运行环境。中间件中间件 的特点是它固化了很多通用功能,但在具体应用中的特点是它固化了很多通用功能,但在具体应用中 多半需要“二次开发”来实现个性化的行业业务需多半需要“二次开发”来实现个性化的行业业务需 求求,因此,因此所有物联网中间件都要提供所有物联网中间件都要提供RAD(rapid application develop; 快速应用开发)工具快速应用开发)工具。 5.1.2 中间件的作用和特点 中间件有两层含义中间件有两层含义: 从狭义的角度,从狭义的角度,中间件意指中间件意指Middleware,它是表示,它是表示 网络环境下处于操作系统等系统软件和应用软件之网络环境下处于操作系统等系统软件和应用软件之 间的一种起连接作用的分布式软件,通过间的一种起连接作用的分布式软件,通过API的形的形 式提供一组软件服务,可使得网络环境下的若干进式提供一组软件服务,可使得网络环境下的若干进 程、程序或应用可以方便的交流信息和有效的进行程、程序或应用可以方便的交流信息和有效的进行 交互与协同。交互与协同。 简言之,简言之,中间件主要解决异构网络环境下分布式应中间件主要解决异构网络环境下分布式应 用软件的通信、互操作和协同问题,它可屏蔽并发用软件的通信、互操作和协同问题,它可屏蔽并发 控制、事务管理和网络通信等各种实现细节,提高控制、事务管理和网络通信等各种实现细节,提高 应用系统的易移植性、适应性和可靠性。应用系统的易移植性、适应性和可靠性。 从广义的角度,从广义的角度,中间件在某种意义上可以理解为中中间件在某种意义上可以理解为中 间层软件,通常是指处于系统软件和应用软件之间间层软件,通常是指处于系统软件和应用软件之间 的中间层次的软件,其主要目的是对应用软件的开的中间层次的软件,其主要目的是对应用软件的开 发提供更为直接和有效的支撑。如图发提供更为直接和有效的支撑。如图5-2所示。所示。 中间件特点中间件特点 满足大量应用的满足大量应用的 需要需要 运行于多种硬件运行于多种硬件 和和OS平台平台 支持分布计算,支持分布计算, 提供跨网络,硬提供跨网络,硬 件和件和OS平台的透平台的透 明的应用和服务明的应用和服务 的交互的交互 支持标准的协议支持标准的协议 支持标准的接口支持标准的接口 5.1.35.1.3 中间件的分类中间件的分类 目前,中间件发展很快,已经与操作系统、数据库目前,中间件发展很快,已经与操作系统、数据库 并列为三大基础软件,其类比如表并列为三大基础软件,其类比如表5-1所示。所示。 中间件技术已经日渐成熟,出现了不同层次、不同中间件技术已经日渐成熟,出现了不同层次、不同 类型的中间件产品。大致可分为以下几类:类型的中间件产品。大致可分为以下几类: 1. 消息中间件消息中间件 主要功能主要功能: :将数据从一个应用程序发送到另一个应用程序将数据从一个应用程序发送到另一个应用程序 它要负责建立网络通信的通道,进行数据的可靠传送。保证它要负责建立网络通信的通道,进行数据的可靠传送。保证 数据不重发,不丢失,消息中间件的一个重要作用是可以实数据不重发,不丢失,消息中间件的一个重要作用是可以实 现跨平台操作,为不同操作系统上的应用软件集成提供数据现跨平台操作,为不同操作系统上的应用软件集成提供数据 传送服务,如图传送服务,如图5-3所示。它所示。它适用于进行非实时的数据交换,适用于进行非实时的数据交换, 如银行间结算数据的传送。如银行间结算数据的传送。 2. 交易中间件交易中间件 主要功能:管理分布于不同计算机上的数据管理分布于不同计算机上的数据 的一致性,协调数据库处理分布式事务的一致性,协调数据库处理分布式事务,保保 障整个系统的性能和可靠性。障整个系统的性能和可靠性。 交易中间件所遵循的主要标准是交易中间件所遵循的主要标准是x/opendtp 模型。它模型。它适用于联机交易处理系统,如银适用于联机交易处理系统,如银 行的行的ATM系统系统,电信的计费营收系统。电信的计费营收系统。主要主要 产品有产品有:BEA TUXEDO, IBM CICS, 东方通东方通 科技科技tongeasy 交易中间件和消息中间件一样也具有跨平交易中间件和消息中间件一样也具有跨平 台台, 跨网络的能力跨网络的能力 3. 对象中间件对象中间件 对象中间件也对象中间件也 叫叫Object TP Momitor, 的的 模式来组织体模式来组织体 系结构的系结构的,在在 线的电子交易线的电子交易 很适合采用这很适合采用这 种中间件类型。种中间件类型。 因为这种类型因为这种类型 的应用会被频的应用会被频 繁的修改繁的修改,面面 向对象的体系向对象的体系 结构可以保持结构
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号