首页 理论教育 中间件基本结构-《物联网与传感器技术》

中间件基本结构-《物联网与传感器技术》

时间:2023-11-02 理论教育 版权反馈
【摘要】:由图4-3所示的中间件体系结构框架可以看出,中间件应该具备两个关键特征:一个是上层的应用服务;另一个是必须连接到操作系统的层面,并且保持运行工作状态。

中间件基本结构-《物联网与传感器技术》

从应用程序端使用中间件所提供的一组通用的应用程序接口(API),能够连接到RFID读写器,读取RFID标签数据。即使存储RFID标签信息的数据库软件或后端应用程序增加或由其他软件取代,或者RFID读写器种类增加等情况发生,应用端不需要修改也能处理,简化了维护工作。通常选用物联网中间件可以为企业带来几个方面的好处:实施RFID项目的企业,不需要进行程序代码开发,便可完成RFID数据的导入,可极大地缩短企业RFID项目的实施周期;当企业数据库或企业的应用系统发生更改时,对于RFID项目而言,只需更改物联网中间件的相关设置即可实现RFID数据导入新的企业应用系统;物联网中间件可为企业提供灵活多变的配置操作,企业可以根据自己的实际业务需求和企业应用系统管理的实际情况,自行设定相关的物联网中间件参数,将所需的RFID数据顺利地导入企业系统;当RFID项目的规模扩大时,例如增加RFID读写器数量,更换其他类型的读写器或新增企业仓库,对于使用物联网中间件的企业来说,只需对物联网中间件进行相应的设置,便可完成RFID数据的顺利导入,而不需要程序代码的开发。中间件在物联网中的作用和位置如图4-2所示。

中间件的体系框架对于应用软件开发有着重要影响,而物联网中的应用软件及中间件,远比操作系统和网络服务更为重要。因为中间件提供的程序接口定义了一个相对稳定的高层应用环境,不管底层的计算机硬件和系统软件怎样更新换代,只要将中间件升级更新,并保持中间件对外的接口定义不变,应用软件几乎无须进行任何修改,从而保护了企业在应用软件开发和维护中的大量投资。由图4-3所示的中间件体系结构框架可以看出,中间件应该具备两个关键特征:一个是上层的应用服务;另一个是必须连接到操作系统的层面,并且保持运行工作状态。除了这两个关键特征之外,中间件的特征还有:满足大量应用的需要;运行于多种硬件和操作系统平台;支持分布式计算,提供跨网络、硬件和操作系统平台的透明性的应用或服务的交互;支持标准的协议;支持标准的接口等。

中间件的核心模块主要包括事件管理系统(EMS)、实时内存事件数据库(RIED)以及任务管理系统(TMS)等3个主要模块。

1.事件管理系统(EMS)

EMS配置在“边缘EPC中间件”端,用于收集所读到的标签信息。EMS的主要任务如下:

978-7-111-38796-1-Chapter04-2.jpg

图4-2 中间件在物联网中的作用和位置

978-7-111-38796-1-Chapter04-3.jpg

图4-3 中间件简单体系结构

1)能够让不同类型的读写器将信息写入到适配器中;

2)从读写器中收集标准格式的EPC数据;

3)允许过滤器对EPC数据进行平滑处理;

4)允许将处理后的数据写入RIED或数据库,或者通过HTTP/JMS/SOAP将EPC数据广播到远程服务器;

5)对事件进行缓冲,使得数据记录器(Logger)、数据过滤器(Filter)和适配器(Adapter)能够互不干扰地相互工作。

当事件产生并传递给适配器后,它们将被传递到一个队列,在这个队列中,事件将自动转移到过滤器,根据不同的过滤器定义,将会有不同的事件被过滤出来。例如,时间过滤器只允许特定时间标记的事件通过。数据记录器与过滤器功能类似,只是记录器主要用于将事件存储到数据库或者将事件传递到某种网络连接。

2.实时内存事件数据库(RIED)

RIED是用来存储“边缘EPC中间件”事件信息的内存数据库,其中“边缘EPC中间件”维护来自读写器的信息,提供过滤和记录事件的框架。

RIED组件由以下几方面构成:

1)JDBC接口。Java数据库连接(JDBC)接口使远程的机器能够使用标准的SQL查询语句访问RIED,并能够使用标准的统一资源定位符(URL)定位RIED。

2)DML剖析器。DML(数据操纵语言)剖析器剖析SQL数据修改语言,包括标准SQL的SELECT、INSERT和UPDATE命令。RIED的DML剖析器是整个SQL92DML规范的子集。

3)查询优化器。查询优化器使用DML剖析器的输出,并将其转化为RIED可以查询的执行计划,计划定义中定义的搜索路径是用来找到一个有效的执行计划的。

4)本地查询处理器。本地查询接口处理直接来自应用程序(或者SQL剖析器)的执行计划。(www.xing528.com)

5)排序区。排序区是本地查询处理器用来执行排序、分组和连接操作的,排序区使用哈希表来进行连接和分组操作,它使用一种很有效的排序算法来做排序操作。

6)数据结构。RIED使用“有效线程安全持久数据结构”来存储不同的数据快照,这个持久数据结构允许持续创建新的数据快照。这样的数据结构在RIED的实时操作中是必需的。

7)DDL剖析器。DDL(数据库模式定义语言)剖析器处理计划定义文档和初始化内存模型中的不同数据结构,DDL剖析器还提供查找定义在DDL中的查询路径的功能。

8)回滚缓冲。在RIED中执行的事务可提交或者回滚,回滚缓冲持有所有的更新直到事务被提交。

3.任务管理系统(TMS)

物联网中间件系统使用定制的任务来执行数据管理和数据监控。通常一个任务可看作多任务系统的一个过程,EPC中间件的TMS管理任务的方法恰似操作系统管理进程的方法。同时,TMS提供一些任务操作系统不能提供的特性,如具有时间段任务的外部接口,从冗余的类服务器中随机选择加载Java虚拟机的统一类库,强健的调度程序维护任务的持久化信息,能够在EPC中间件瘫痪或者任务瘫痪以后重新启动任务。

中间件的TMS简化了分布式EPC中间件的维护,企业可以通过仅仅保证一系列的类服务器上的任务更新,并更新相关的EPC中间件上的调度任务,就可以维护EPC中间件了。但是,硬件和核心的软件(如操作系统和Java虚拟机)必须定期更新。为了TMS编写的任务可以访问所有EPC中间件的工具,TMS的任务需要可以执行各式各样的企业操作,例如,数据收集,发送或者接收另一个EPC中间件的产品信息;XML查询,查询ONS/XML服务器手机动态/静态产品实例信息;远程任务调度,调度或者删除另外一个EPC中间件上的任务;职员警告,在一些定义的事件(货架缺货,盗窃,产品过期)发生时,向相关职员发送警告;远程更新,发送产品信息给远程的供应链管理系统。EPC中间件TMS的体系架构如图4-4所示。在TMS系统中有如下组件:任务管理器、简单对象访问协议(SOAP)服务器、类服务器、关系数据库管理系统(RDBMS)。

978-7-111-38796-1-Chapter04-4.jpg

图4-4 TMS体系架构

(1)任务管理器

TMS主要是代表用户负责执行和维护运行在EPC中间件上的任务,每个提交给系统的任务都有一个时间表,时间表中表明任务的运行周期是否连续执行等。基于任务的特点和与任务相关的时间表,定义如下任务类型:

1)一次性任务:若请求是一次性的查询,那么任务管理器就生成该查询任务,并返回运行结果。

2)循环性任务:请求有一个循环的时间表,任务管理器就将该任务作为持久化数据存储,并按照给定的时间表循环执行该任务。

3)永久性任务:若请求是一个永久性的需要不断执行的任务,任务管理器会定期监视该任务,如果任务瘫痪,任务管理器就重新生成该任务,并执行。

(2)SOAP服务器

SOAP服务器的任务是将功能和任务管理器的接口作为服务的形式暴露出来,让所有的系统都可以访问到,可以通过一个简单的部署描述文件来完成部署,该文件描述了哪些任务管理器的方法被暴露出来。

(3)类服务器

类服务器使得给系统动态加载额外服务成为可能,任务管理器指向类服务器,并在类服务器有效时加载所要加载的新的类。这样可以很容易地实现更新、添加和修改任务,而不需要重新启动系统。

(4)数据库

数据库为任务管理器提供一个持久化的存储场所,数据库存有提交的任务及其相应进度表的详细信息,因此即使任务管理器出乎意外地瘫痪,所有提交给系统的任务将会存活下来。在每一个循环中,任务管理器查询数据库中的任务,并更新相关的记录。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈