基于物联网的中间件探析

时间:2022-09-19 01:07:49

基于物联网的中间件探析

摘 要

当前,物联网成为计算机网络发展的新趋势,其主要通过对信息的产生和交互的作用,使海量的数据库资源彼此连接和关联,进而影响人们生活的方方面面。然而,为解决各种资源被共享的程度和技术的差异性,那么灵活的、动态的且支持“零编程部署”的中间件,则成为物联网技术发展的关键技术之一。本文以瑞士洛桑理工学院LSIR实验室的全球传感网络(GSN)中间件为例,探寻物联网中间件的数据流处理、中间件的架构及零编程部署等方面的解决方法,为物联网中间件的研发提供了依据和参考。

【关键词】物联网 中间件 全球传感网络

1 前言

目前,对于物联网的传感网络的研究焦点主要集中在有效路由的聚合及单一传感网络的数据管理的算法上,但是对传感网络的部署、应用开发和标准化等方面的研究却较少。然而,在传感器市场价格不断下跌的环境下,支持物联网发展的异构传感器和传感网络也将得到长足的发展和进步。同时,这也为互联网环境下的传感器网络的发展带来了以下两个方面的主要问题:一是如何减少在大型系统的开发和部署方面的关键成本;二是如何高效处理面向数据集成的海量数据。当前,虽然异构性是许多系统和信息平台共同存在的缺点和不足,但对数据的处理、存储、查询和的要求却存在一定的相似性。然而,基于传感器及传感器网络的信息系统和平台却与此不同,这就要求在建设这样的信息系统和平台时,必须以一种崭新的思路和方法解决信息系统和平台的异构问题。

瑞士洛桑理工学院LSIR实验室的全球传感网络(GSN)中间件可以很好地解决以上问题,并针对异构传感网络提供了一个快速灵活的统一部署的集成平台。另外,GSN的设计原则主要体现在以下几个方面:(1)简洁:GSN中间件是一个较小的高度抽象集合,且该集合可被方便地配置;(2)适应性:GSN在运行时可支持向原有传感网络添加新型传感设备及动态配置(重置)数据源;(3)方便扩展:主要基于对等网络架构;(4)可轻量级实现:GSN提供了Web的管理工具,对硬件及网络带宽的要求较低。

因此,本文在阐述GSN支持物联网架构的基础上,探析GSN中的虚拟传感器及数据流处理功能,最后简单阐述GSN的动态即插即用功能。

2 GSN架构

为管理虚拟传感器,GSN使用基于容器的架构。与应用服务器类似,GSN提供了一个环境,在此环境下传感器网络通过在GSN服务器中隐藏大多系统的复杂性能够容易而又灵活地被指定和部署。而运用声明规则可使 GSN服务器能部署和配置虚拟传感器。同时,可通过标准的Internet和Web服务协议,以点对点的方式实现不同GSN服务器之间的通信和信息处理。图1展示了一个GSN服务器的层次架构。

由图1可知每个GSN服务器管理着它所负责的大量虚拟传感器。VSM是该架构的基础,主要负责提供获取虚拟传感器的数据,管理传感器数据的传输,并对其提供相应的管理。VSM由两大主要部分组成:一是生命周期管理器(LCM),LCM主要的工作是为虚拟传感器提供数据资源,并与其进行相应的交互;另一个组成部分是输入流管理器(ISM),ISM主要对输入流进行管理,如对输入流进行分配和共享等。其中,流质量管理器(SQM)处理传感器中断,丢值及非期望延迟等,因此能够确保流的服务质量(QoS)。另外,所有从(或到)VSM的数据都要经过存储层,该层的主要功能是存储并管理数据流的数据。在查询管理器(QM)中执行的查询处理主要依赖于上面的所有层,查询管理器主要由负责SQL解析的查询处理器组成,并对查询进行规划及负责相关查询的执行。其中,查询资料库对所有已注册的查询(订阅)进行管理,并对查询处理器进行定义,同时对使用比较频繁的相关查询进行维护和管理。通知管理器的主要功能是将相关事件或查询结果返回给已被注册的本地或远程虚拟传感器。另外,通知管理器的架构具有可扩展性,此架构运行用户扩大定制的传递结果或具有通过短息通知的功能。

此架构的前三层负责获得GSN服务。接口层为其他GSN服务器提供接入功能并且经由网络(通过浏览器或者通过Web服务器)。通过访问控制层和数据集成层保护和隐蔽这些功能,其中访问控制层提供了仅仅访问各方,数据集成层通过电子签名和加密提供可数据集成和保密。数据访问和数据集成能够被定义在不同的层次,例如,定义在整个GSN服务器或者定义在一个虚拟传感器层。

3 虚拟传感器

虚拟传感器可被看作是GSN的对象,该对象是对传感器获取需要传输的相关数据的抽象,同时,虚拟传感器也被认为是GSN可提供的一系列服务。因此虚拟传感器可使实际传感器产生数据流,也可是不同传感器之间进行数据交互的数据流。另外,虚拟传感器的一个比较显著的特点是可将多个输入流转换成一个输出流。虚拟传感器所遵循的规范和规则为部署和使用虚拟传感器提供了相应的必要信息,总的来讲,主要体现在以下几个方面:(1)对元数据识别。(2)虚拟传感器的用户。(3)虚拟传感器产生的数据流结构。(4)执行SQL的流处理规范。(5)有关持续性、异常处理、生命周期管理及物流部署的功能特性。

为支持虚拟传感的快速部署,可在XML的声明部署文件中定义这些属性。例如:

……

select avg(temperature) from WRAPPER

select * from srcl

……

该示例演示了GSN点对点协助的实例,由上面的示例可知,该示例对通过互联网从远程传回一个平均温度(wrapper=”remote”)的虚拟传感器进行了定义。其中,针对保留关键字wrapper的输入流使用SQL查询命令对输入流进行处理。对于识别和处理虚拟传感器输入流的定义主要使用标签。对例如处理线程数量之类的部署进行定义主要通过标签。对控制流的存储属性主要通过标签进行定义,而标签则主要用于定义产出流的结构。

4 数据流处理

在GSN中,数据流主要是一系列的时间戳元组序列,这些元组序列的先后顺序决定了数据流的先后顺序。而且,对这些时间戳元组序列的管理和操作也是GSN提供的基本功能和服务。其主要体现在以下几个方面:(1)每个GSN的系统时间;(2)时间戳的隐式管理;(3)到达GSN元组的时间戳(接待时间);(4)基于计数或时间的数据流窗口用户定义机制。

从实际情况看,虚拟传感器的输入流中某个数据元素可触发导致产生新的输出流元素。一般而言,其主要有以下几个处理步骤:(1)使用系统时间为新数据流元素加上时间戳;(2)基于时间戳的输入流根据时间窗口的定义和未被嵌套的关系结果集选择流元素;(3)对输入流查询进行评价,并将其存储到临时关系中;(4)为产生输出流元素执行临时关系输出查询;(5)若需要,其结果将被永久存储;且新的流元素将被通知给虚拟传感器的所有用户。

由于GSN将虚拟传感器的构建时间实现了从实际查询中分离,所以GSN的查询处理方法和TelegrahCQ有关。当数据处理的语言被指定为可在标准语法允许的全范围操作的SQL时,那么数据处理的时序规则(例如:窗口的尺寸)则可在虚拟传感器的中以XML文件加以定义和提供。

5 零编程部署

如前所述,为实现GSN的零编程目的,减少相应的部署步骤,虚拟传感器属性主要以XML文件的形式加以定义。虽然定义虚拟传感器的XML文件大多只有30到50行,与其依赖的其他低级设备的编程比较而言,也更加简单便捷,但对此进行人为地干预仍是必要的。为此GSN按照IEEE1451标准体系,实现自动检测、部署和校准等功能。实践表明,遵循IEEE1451标准体系的传感器可提供相应的电子数据表(TEDS),该数据表往往存储在传感器的内部。TEDS提供了简单的传感器语义定义,即它定义了诸如测量类型及校准等传感器的属性和测量特征。为支持真正的零编程部署,GSN使用了TEDS的自我定义功能。所谓自我定义功能就是使虚拟传感器的定义通过虚拟传感器定义模板动态生成,或者通过从TEDS提取的数据中派生出来。

另外,节点的设置是为支持即插即用部署的。当某个传感节点进入检测区域时,GSN将会检测到它,并向它的TEDS发送请求,同时实例一个新的基于TEDS的虚拟传感器。即通过使用TEDS的GSN能自动检测、识别和部署传感器。同时,生成的虚拟传感器定义立即被输入到GSN节点的信息库,且所有基于新传感器的处理也将被执行。然而,当前TEDS仅能针对一个与其交互的传感器提供相应的信息和数据。因此,对生成虚拟传感器定义往往使用默认值,例如:安全需求、存储和资源管理等。

通过因特网访问Web服务和Web接口产生的数据可应用于GSN中的传感器(传感器网络)的部署。因此,基于GSN网络其他节点的远程处理节点也可被触发,这为移动传感器全球集成提供了技术基础和条件。但前提条件是,GSN定期要求所有传感器的TEDS确保是激活状态。如果传感器没有响应,那么GSN将删除以前创建的虚拟传感器,并释放与之相关联的资源,同时通知相关的查询和节点。

6 总结

GSN为当前物联网部署提供了灵活的中间件。它的即插即用部署功能使它为物联网的构建提供了基础结构,并完全开创了应用的新类型。例如:用户或者事物可以配备RFID标签,这不仅可存储静态数据,而且还可指定数据处理任务(例如:查询),这些数据处理任务可被GSN识别并纳入到它的流处理过程中。因此,GSN的中间件原理及架构为物联网的实现提供可参考的实例,并具有重要的借鉴意义和价值。

参考文献

[1]Ali Salehi,Karl Aberer.GSN,Quick and Simple Sensor Network Deployment[R].European conference on Wireless Sensor Networks,Netherlands,2007.

[2]沈苏彬等.物联网的体系结构与相关技术研究[J].南京邮电大学学报,2009(6).

[3]UIT. ITU Internet Reports[J].The Internet of Things,2005.

[4]阴躲芬,龚华明.中间件技术在物联网中的应用探讨[J].科技广场,2010(11).

[5]王涛.物联网体系构成与关键技术应用初探[J].电子测试,2014(2).

[6]苑隆寅.物联网中间件数据处理研究[J].电子技术与软件工程,2014(10).

作者单位

大连财经学院 辽宁省大连市 116622

上一篇:公共理性视角下“微博约架”的反思与治理 下一篇:基于MSG1重发的TD―LTE切换时延优化方法