张二锋

摘要:本文研究的传感观测服务SOS是SWE的功能模型之一,它建立在SWE信息模型的基础上,以统一的标准描述和封装观测数据、观测现象、传感器等内容,是SWE的基础和核心。本文首先给出了传感观测服务的介绍,然后实现了传感观测服务原型系统。

关键词:SOS 数据库 传感网

2005年,开放地理空间联盟(Open Geospatial Consortium,OGC)提出了一种新型的传感网标准——传感网整合框架(Sensor Web Enablement,SWE)。SWE是由一系列标准规范组成,为构建“即插即用”的基于Web的传感器网络提供一个通用的互操作平台,支持发现、交换和处理传感数据,同时进行任务分配。在SWE框架中,定义了7种Web服务(规范),传感器规划服务(Sensor Planning Service,SPS)、传感器观测服务(Sensor Observation Service,SOS)、传感器告警服务(Sensor Alert Service,SAS)和Web 通知服务(Web Notification Service,WNS)构成了传感器Web的功能模型,观察和测量(Observation & Measurement,O&M;)、传感器模型语言(Sensor Model Language,SensorML)和转换器标记语言(Transducer Markup Language,TML)构成了传感器Web的信息模型。SWE 是一个全新的标准框架,它给研究界提出了传感网研究的新方向,给工业界提供了传感网发展的新机遇。

1 SOS原型系统实现

1.1 安装Maven Maven是基于项目对象模型(Project Object Model,POM),可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具。安装Maven需要注意以下两个方面:

1.1.1 配置环境变量。下载最新版本Maven 3.0.4(Binary zip),解压文件到本地硬盘,如解压到D:\java\apache-maven-3.0.4,配置环境变量,以使它能在命令行运行,配置如下:①增加变量maven_home,值为D:\java\apache-maven-3.0.4。②在path变量的值后添加D:\java\apache-maven-3.0.4\bin,注意用;和前面的值隔开。注意:配置好后,需要重启电脑,在命令行输入mvn-version,如果出现版本信息,说明配置成功。

1.1.2 编辑settings.xml。在根目录的conf文件夹下,找到并打开settings.xml,在中配置如下:

①Maven的Jar包仓库的位置:

[YourPathTo]\.m2\repository

其中.m2是一个文件夹,它是用来存放服务相关文件的仓库。通过配置[YourPathTo]可以改变它存放的目录,本文将它放在d:\java。

d:\java\.m2\repository

②编辑,如下:

52n-start

n52-releases

52n Releases

http://52north.org/maven/repo/releases

true

false

geotools

Geotools repository

http://maven.geotools.fr/repository

Refractions

Refractions repository

http://lists.refractions.net/m2

Apache

Apache repository

http://repo1.maven.org/maven2

③编辑

52n-start

1.2 安装和创建数据库。PostgreSQL是以加州大学伯克利分校计算机系开发的POSTGRES,版本4.2为基础的对象关系型数据库管理系统(ORDBMS)。PostgreSQL支持大部分SQL标准并且提供了许多其他现代特性:复杂查询、外键、触发器、视图、事务完整性、多版本并发控制。PostgreSQL是目前功能最强大、特性最丰富和最复杂的自由软件数据库系统。同时,PostgreSQL是最重要的开源数据库产品开发项目之一,有着非常广泛的用户。PostGIS在对象关系型数据库PostgreSQL上增加了存储管理空间数据的能力,相当于Oracle的spatial部分。PostGIS最大的特点是符合并且实现了OpenGIS的一些规范,是最着名的开源GIS数据库。

1.2.1 安装数据库。下载PostgreSQL8.4 安装文件并安装,在安装过程需要注意两点:①密码设置(本文设置密码为123);②端口号设置(本文设置为5432)。除此之外,还需要选择Stack Builder,该工具有助于PostgreSQL的额外工具、驱动程序和应用程序的安装和下载,本文选择需要下载的包pgJDBC v9.1-901-1和PostGIS 1.4.2 for PostgreSQL 8.4 v1.4.2并直接进行安装。

1.2.2 创建数据库。①点击pgAdminⅲ,进入数据库页面。②点击右键,选择“连接”,连接服务器,输入正确密码:123。③创建新的数据库NewSosDB。注意:新建数据库里面“定义”选项里“模板”选择template_postgis_20。④选择NewSosDB数据库,点击上方工具栏的“执行任意的SQL查询”选项。对数据库进行测试:a打开52north-sos文件下db文件夹内的“datamodel_postgres83.sql”,进行数据查询,由于此时只是单纯的建立了数据库,但是数据库是空的,所以查询结果为:查询成功但是无结果。b打开52north-sos文件下db文件夹内的“test.sql”,插入数据,然后再进行查询,此时得到的结果为查询成功: 共计1行受到影响,耗时:82毫秒(ms)。

1.3 配置pom.xml文件。Pom即project object module,项目对象模型。通过xml表示maven项目,使用pom.xml来管理项目的一个配置文件,用来将项目部署到主机上。主要描述了项目:包括配置文件,开发者需要遵循的规则,缺陷管理系统,组织和licenses,项目的url,项目的依赖性,以及其他所有的项目相关因素。

打开pom.xml文件,可以看到一些必须要配置或者可以配置的属性,以及高级用户可以改变的一些属性。

在这里,本文只改变了以下必须设置的内容:

①对tomcat管理员用户名和密码:

admin

admin

②tomcat主目录地址:

D:\java\tomcat

③数据库连接。其中,NewSosDB为之前新建的数据库的名字

jdbc:postgresql://localhost:5432/NewSosDB

④数据库用户名,默认为postgres

postgres

⑤PostgresSQL密码

1234

1.4 部署web应用。启动Tomcat和Postgres,通过命令Mvn-Pwith-deploy install进行服务部署,由于部署期间会自动下载文件到.m2\repository和52n-sos\

52n-sos-service\target中,所以时间会比较长。如果出现图1则表示部署成功。

2 原型系统测试

在IE浏览器中输入网址:http://localhost:8080/52n

SOSv3/testClient-v2.html,在列表Request Examples中选择命令,如“GetFoiTime.xml”,点击Send,就会得到响应。响应如图2所示:

3 总结

目前,传感观测服务原型系统虽然给出了Web服务标准接口,但是基于SWE的传感网应用通过使用简单对象访问协议(Simple Object Access Protocol,SOAP)和可扩展标记语言(Extensible Markup Language,XML),从异构传感网中描述、发现和调用相关的服务。然而这种框架是基于XML模式设计的,传感器数据缺乏语义。本文为研究传感器数据之间的语义信息奠定了基础,传感观测服务语义信息的研究是作者接下来研究的重点。

参考文献:

[1]蒋永国.面向传感网的海洋观测数据集成关键技术研究[D].青岛:中国海洋大学,2010:1-21.

[2]孙荣丽,王睿,崔莉.交通无线传感器网络研究进展[C].计算机研究与发展,2011,48:360-366.

[3]Johannes Echterhoff. OGC Implementation Standard 09-001:SWE Service Model Implementation Standard[S].Open Geospatial Consortium, 2010.

[4]Simon Cox.OGC Implementation Standard 07-022r1: Observations and Measurements-XML Implementation[S]. Open Geospatial Consortium. 2011.

[5]阳叶,王建国.基于SWE的传感观测服务的研究与设计[D]. 西安:西安工业大学,2011:7-47.