欢迎来到学术参考网

面向应用型事件的WSNs中间件研究与实现

发布时间:2015-12-14 14:12

摘 要:无线传感器网络(Wirless Sensor Networks)作为一种新兴的技术受到广泛关注,无线传感器网络的应用系统发展迫切需要有合适的中间件提供完善的解决方案。针对当前无线传感器系统应用的需求,根据应用型事件的要求,研发了面向应用型事件的WSNs中间件软件。在该软件设计中,提出了设备无关性的思想;中间件的任务管理模块采用了动态配置技术,能动态装载所需的工作模块并调整运行方式;同时中间件软件的HSQL内存数据库技术可有效地提高数据访问的速度。

关键词:WSNs;面向应用型事件;中间件(Middleware)

1.概述
  无线传感器网络(WSNs)是一种低功耗、低成本、适用于短距离传输的无线网络。目前无线传感器网络在工业监控、环境探测、医疗监控、智能家居等领域的应用越来越广泛:
  (1)由于WSNs节点数量庞大,人工部署、维护相对困难,所以中间件应该具备容错、自适应、自维护机制。
  (2)由于WSNs节点的能量、计算、存储和带宽资源有限,要求WSNs中间件是轻量级的。
  (3)由于WSNs独特的特点,使得传统的端对端QoS机制已经不能适应WSNs的要求,需要中间件的设计要提供合适的QoS机制,在性能、延时和能量使用上达到一个平衡。
  (4)WSNs的核心任务是收集和处理数据,但是大部分应用数据中包含了冗余信息,为减少通信和能量开销,需要对数据进行聚合和融合后传输给高层。
  (5)对于WSNs网络的特点,能灵活支持网络的扩展,同时具备对于节点故障、障碍物等原因引起的动态环境改变具备自适应的能力。
  (6)为便于高层应用开发,中间件向上层提供一个统一的系统视图,提供编程抽象或系统服务。
  (7)无线网络介质容易受窃听和注入攻击,为保护信息的完整、可信,中间件应根据WSNs的特点提供安全机制。
2. 面向应用型事件的WSNs中间件体系结构
2.1 中间件概述
    应用程序通过制定感兴趣的数据或某种特定的状态变化,节点将指定的数据或当指定的事件发生时就立即向相应程序发送通知。应用程序也可指定一个统计数据或复合事件,如最大(小)值、平均值,门限报警等,这种基于应用型事件的WSNs中间件可提供异步的、多对多的通信模型,非常适合大规模的WSNs应用系统。
  面向应用型事件的WSNs中间件基于一般通用的WSNs应用为前提,一个时间周期内对WSNs所表达的行为、状态进行聚集和过滤的一种方式。通过中间件服务器,可以指定何时开始收集数据,何时停止收集数据,如何来组织和排序数据以及何时来发送数据到有关的应用系统。并且通过中间件,可以方便地了解到目前WSNs网络的拓扑结构。中间件客户可以与任何的中间件服务器进行通信来定义数据需求和接收报告。
2.2中间件的软件结构
  我们讨论的WSNs系统中间件技术拓展了基础中间件的核心设施和特性,将企业级中间件技术延伸到了WSNs领域,是WSNs产业链的关键共性技术。WSNs中间件屏蔽了WSNs设备的多样性和复杂性,能够为后台业务系统提供强大的支撑,从而驱动更广泛、更丰富的 WSNs 应用。

3.面向应用型事件的WSNs中间件设计
3.1 中间件软件结构
  中间件是一个管理设备、过滤和传播事件给客户的软件,其特点是:(1)使用统一的接口,具有模块化结构;(2)具有兼容性、通用性和易操作性 ;(3) 具有安全性和可扩充性。整个中间件的软件主要由设备管理模块、事件处理管理模块、事件消息空间、Qos处理模块和中间件界面组成。
3.1.1 无线传感器设备管理模块
  WSNs设备管理模块管理一种或多种WSNs设备适配器,对每一种无线传感器节点部件有一个设备适配器代理,并且特殊类型的代理对应于一种无线传感器节点。每个设备适配器指派的WSNs可以有多个传感器。
3.1.2 WSNs事件处理管理模块
  事件处理管理模块包括Qos服务、设备配置管理、复杂事件处理和事务规则执行。事件处理管理模块首先登记/预订所需管理的事件,然后当事件在事件消息空间里可用时给出通知。紧接着这些事件的接收,后续的复杂事件处理(过滤)被执行,事务规则被处理。
  中间件界面提供一种图形界面给中间件的管理者,能够配置所有的中间件部件。同时能够从事件消息空间接收事件,将事件以图形方式进行显示。
3.2 中间件的软件技术
3.2.1 网络设备管理
  一般地,中等规模企业的中间件系统将会时刻连接着成百个WSNs节点,并且每一个节点都将会发送它所采集到的数据到上一层的服务器中去。不同的应用场合无线传感器网络底层(无线传感器网络基础设施、无线传感器操作系统)的封装不同,需要在中间件中提供设备无关性的匹配,通过对应的驱动模块读取WSNs中节点传感器的数据,提供了高度的灵活性、模块性和可移植性。为了实现多与网络底层协调,我们在中间件体系结构中设置了网络设备管理模块,它类似于操作系统中的驱动程序层,提供与节点网络适配层的无缝连接。通过设备管理模块,节点所采集的数据将会准确迅速地传递给中间件系统进行进一步处理。在设备管理模块,各种不同种类节点通过不同的适配器连接在一起,向中间件系统提供服务。
3.2.2 任务管理
  在实际应用中,中间件系统主要完成数据的采集、过滤和处理的流程。然而,这些流程并不是一成不变的,应当能够根据不同的需求,具备灵活多变的设计数据处理流程的能力。中间件通过任务管理与调度系统来控制系统中的数据流程,对任务进行管理和调度,如同操作系统的管理进程。任务管理与调度系统负责执行和维护运行在中间件系统上的任务,每个提交给系统的任务由一个 调度表组成,它决定了任务运行的频率以及它是否应该持续运行等问题。
3.2.3 SOAP绑定
  SOAP(Simple Object Access Protoco1)技术主要应用于大量异构程序和平台之间的互操作性,从而使存在的应用能够被广泛的用户所访问。SOAP是把成熟的基于HTTP的Web技术与XML的灵活性和可扩展性组合在一起。SOAP 采用了已经广泛使用的两个协议:HTTP和XML, HTTP用于实现SOAP的RPC风格的传输,而XML则是它的编码模式。HTTP是一个更好的RPC, XML是一个更好的网络数据表达方式。
3.2.4 内存数据库管理
  在中间件软件的开发中,我们采用了HSQL内存数据库管理技术,这极大地提高了数据存取的速度。HSQL内存数据库的主要特性有:(1)完全的关系数据库,支持Java对象,支持JDK各级版本。(2)快速启动,支持标准SQL语法,支持触发器,支持COMMIT、ROLLBACK和SAVEPOINT事务,Java保存过程和函数。(3)支持密码、GRANT和REVOKE的用户权限和角色,确保数据库安全。(4)支持内存表,以便快速操作;支持磁盘表,以便保存大量数据;还有扩展的诸如CSV文件的文本表。(5)支持内存(比如Applet)、集成(比如加入Java应用)和C/S操作模式。(6)支持HSQL、HTTP和HSQL-BER三种客户端连接模式。(7)磁盘表容量可达8GB,文本表可达2GB。(8)完全支持Prepared Statement对象以加速查询过程,支持95%以上的JDBC接口、所有JDBC数据类型和DatabaseMetaData和ResultSetMetaData。(9)带或者不带数据的SQL脚本垃圾收集。(10)强大的基于Java命令和GUI数据库管理工具。HSQL内存数据库的这些特性使得中间件软件实现高效的数据存取成为可能。
4.结束语
  我们采用JAVA语言研发了面向应用型事件的WSNs中间件软件。中间件软件采用规范的协议和接口,它为处于上层的应用系统提供运行与开发的环境,帮助用户灵活、高效地开发和集成复杂的应用系统;它为处于下层的WSNs提供具体操作,拓扑管理,QoS管理,数据采集等功能,并实现与设备无关的设计思想。今后进一步的研究工作将是:以目前的面向应用型事件WSNs中间件软件为基础,开展WSNs应用系统的开发,以此推进WSNs系统的应用和产业链的发展。
  
参考文献
.IEEE Distributed Systems Online, 2006, 7(3): 1541-4922 

上一篇:关于宁波建设数字运管平台的现状、问题及主要

下一篇:高职计算机类课程考试模式研究