物联网与无线传感器网络(第2版)
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

5.3.2 MPAS设计

如图5.7所示,无线传感器网络通过MPAS接入平台接入网格。MPAS接入平台由5个基本组件构成,它们分别是通信机制(Communicator)、解析器(Parser)、驱动器(Actuator)、WSRF组件和数据库(Database)。

图5.7 无线传感器网络通过MPAS接入平台接入网格

1. 通信机制

将传感器网络接入网格中需要首先解决传感器网络和MPAS之间的通信问题。在通信的交互过程中,传感器网络和MPAS处于对等的地位,采用P2P的通信方式,即传感器网络将收集到的信息送给MPAS,MPAS要监听这些传感信息并接收它们;MPAS将驱动命令发送给传感器网络,传感器网络也要监听并接收这些驱动信息,完成驱动功能。同时,为了保证通信过程的可靠性,要使用TCP的连接方式在传感器网络和MPAS之间进行加密通信。MPAS通信流程如图5.8所示。

图5.8 MPAS通信流程

2. 解析器

解析器使用XML Schema描述传感数据协议中所有的数据域(包括传感器网络的名字、各类传感数据、节点位置等),其主要功能是对传感数据流进行划分,提取有效的传感信息,将其转化为网格中标准的传感资源。解析器的工作流程可分为以下三步:

(1)使用DTD文件来定义XML Schema的格式,并检查其合法性;

(2)解析器读取XML Schema,将每个数据域细节分成名称(name)、类型(type)和长度(length)信息,获得解析传感数据的格式;

(3)解析器在获取传感数据后,使用从XML Schema所得到的解析格式提取出相应的有效传感信息,并将其转换为统一的网格资源,送WSRF组件处理。

3. WSRF组件

WSRF组件作为MPAS接入平台的核心,有机地整合了解析器、驱动器、数据库和客户请求机制,并协调它们之间的交互行为。WSRF组件的工作原理主要由三个机制组成。

(1)通过与MPAS的其他组件交互来协调它们的行为。WSRF组件从解析器获得传感资源,采用“推”的方式通过消息通知将它们发送给订阅了相应主题的网格客户;将对传感器网络操作配置的请求转换成语义上的驱动操作描述,发送给驱动器去处理;使用Database组件的服务来操作分布式异构环境下的传感资源。

(2)使用Web服务操作传感资源。WSRF组件的核心就是Web服务机制,它借助WSRF将传感资源抽象出来。网格客户则使用标准的Web服务来操作这些传感资源,具体操作流程如下:

• WSRF框架对传感资源进行初始化,并登记主题事件;

• 客户请求者使用WSRF中的Web服务来操作传感资源及其属性;

• 销毁客户代理、Web服务的实例、监听线程和服务管理者,结束交互。

(3)通知机制。WSRF组件的通知机制采用Publish/Subscribe模式,客户在WSRF中订阅相关主题的Web服务,并由一个专门负责服务订阅管理的Web服务来管理这些订阅过程。对于多传感器网络,WSRF组件需要使用传感器网络的名字来区分不同的传感器网络,即声明要接收哪个传感器网络的数据,然后向WSRF订阅相关主题服务,从而“拉动”WSRF将数据传送给相应主题的客户。多传感器网络环境下WSRF组件的事务处理流程如图5.9所示。

图5.9 多传感器网络环境下WSRF组件的事务处理流程

4. 驱动器

驱动器接收来自网格上层应用的驱动请求,驱动传感器网络的中间件系统对传感器网络进行配置优化、分配任务。它在解析驱动描述的过程中提取出语义操作配置元素,并将网格中的传感资源和这些操作配置元素组装成传感器网络中间件系统里的命令机制,例如:

5. 数据库

网格客户在MPAS中通过客户代理使用OGSA-DAI中间件系统,以统一的方式来存取和管理异构环境下的传感数据资源。对于多个传感器网络,每一个传感器网络都在数据库中对应着一张数据表,在其接收传感数据时会根据传感器网络的名字将数据资源存放到对应的数据表中。

测试结果表明,MPAS能够有效地将传感数据送入网格,并能正确地区分不同传感器网络的传感资源。在运行资源受限的情况下,要使MPAS成功地支撑起传感器网络和网格之间的通信,需要对传感数据添加到MPAS的速率有一定的限制。多个传感器网络与网格之间的通信能力对MPAS运行资源的限制更为敏感,而在保证MPAS拥有充足运行资源的情况下,MPAS为支撑多个传感器网络与网格通信所耗费的平均代价要少于仅支撑单个传感器网络与网格通信所耗费的代价,其整体收益更好。