張二鋒
摘要:本文研究的傳感觀測服務SOS是SWE的功能模型之一,它建立在SWE信息模型的基礎上,以統(tǒng)一的標準描述和封裝觀測數據、觀測現(xiàn)象、傳感器等內容,是SWE的基礎和核心。本文首先給出了傳感觀測服務的介紹,然后實現(xiàn)了傳感觀測服務原型系統(tǒng)。
關鍵詞:SOS 數據庫 傳感網
2005年,開放地理空間聯(lián)盟(Open Geospatial Consortium,OGC)提出了一種新型的傳感網標準——傳感網整合框架(Sensor Web Enablement,SWE)。SWE是由一系列標準規(guī)范組成,為構建“即插即用”的基于Web的傳感器網絡提供一個通用的互操作平臺,支持發(fā)現(xiàn)、交換和處理傳感數據,同時進行任務分配。在SWE框架中,定義了7種Web服務(規(guī)范),傳感器規(guī)劃服務(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 是一個全新的標準框架,它給研究界提出了傳感網研究的新方向,給工業(yè)界提供了傳感網發(fā)展的新機遇。
1 SOS原型系統(tǒng)實現(xiàn)
1.1 安裝Maven Maven是基于項目對象模型(Project Object Model,POM),可以通過一小段描述信息來管理項目的構建,報告和文檔的軟件項目管理工具。安裝Maven需要注意以下兩個方面:
1.1.1 配置環(huán)境變量。下載最新版本Maven 3.0.4(Binary zip),解壓文件到本地硬盤,如解壓到D:\java\apache-maven-3.0.4,配置環(huán)境變量,以使它能在命令行運行,配置如下:①增加變量maven_home,值為D:\java\apache-maven-3.0.4。②在path變量的值后添加D:\java\apache-maven-3.0.4\bin,注意用;和前面的值隔開。注意:配置好后,需要重啟電腦,在命令行輸入mvn-version,如果出現(xiàn)版本信息,說明配置成功。
1.1.2 編輯settings.xml。在根目錄的conf文件夾下,找到并打開settings.xml,在
①Maven的Jar包倉庫的位置:
其中.m2是一個文件夾,它是用來存放服務相關文件的倉庫。通過配置[YourPathTo]可以改變它存放的目錄,本文將它放在d:\java。
d:\java\.m2\repository
②編輯
③編輯
1.2 安裝和創(chuàng)建數據庫。PostgreSQL是以加州大學伯克利分校計算機系開發(fā)的POSTGRES,版本4.2為基礎的對象關系型數據庫管理系統(tǒng)(ORDBMS)。PostgreSQL支持大部分SQL標準并且提供了許多其他現(xiàn)代特性:復雜查詢、外鍵、觸發(fā)器、視圖、事務完整性、多版本并發(fā)控制。PostgreSQL是目前功能最強大、特性最豐富和最復雜的自由軟件數據庫系統(tǒng)。同時,PostgreSQL是最重要的開源數據庫產品開發(fā)項目之一,有著非常廣泛的用戶。PostGIS在對象關系型數據庫PostgreSQL上增加了存儲管理空間數據的能力,相當于Oracle的spatial部分。PostGIS最大的特點是符合并且實現(xiàn)了OpenGIS的一些規(guī)范,是最著名的開源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 創(chuàng)建數據庫。①點擊pgAdminⅲ,進入數據庫頁面。②點擊右鍵,選擇“連接”,連接服務器,輸入正確密碼:123。③創(chuàng)建新的數據庫NewSosDB。注意:新建數據庫里面“定義”選項里“模板”選擇template_postgis_20。④選擇NewSosDB數據庫,點擊上方工具欄的“執(zhí)行任意的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來管理項目的一個配置文件,用來將項目部署到主機上。主要描述了項目:包括配置文件,開發(fā)者需要遵循的規(guī)則,缺陷管理系統(tǒng),組織和licenses,項目的url,項目的依賴性,以及其他所有的項目相關因素。
打開pom.xml文件,可以看到一些必須要配置或者可以配置的屬性,以及高級用戶可以改變的一些屬性。
在這里,本文只改變了以下必須設置的內容:
①對tomcat管理員用戶名和密碼:
②tomcat主目錄地址:
③數據庫連接。其中,NewSosDB為之前新建的數據庫的名字
jdbc:postgresql://localhost:5432/NewSosDB
④數據庫用戶名,默認為postgres
⑤PostgresSQL密碼
1.4 部署web應用。啟動Tomcat和Postgres,通過命令Mvn-Pwith-deploy install進行服務部署,由于部署期間會自動下載文件到.m2\repository和52n-sos\
52n-sos-service\target中,所以時間會比較長。如果出現(xiàn)圖1則表示部署成功。
■
2 原型系統(tǒng)測試
在IE瀏覽器中輸入網址:http://localhost:8080/52n
SOSv3/testClient-v2.html,在列表Request Examples中選擇命令,如“GetFoiTime.xml”,點擊Send,就會得到響應。響應如圖2所示:
■
3 總結
目前,傳感觀測服務原型系統(tǒng)雖然給出了Web服務標準接口,但是基于SWE的傳感網應用通過使用簡單對象訪問協(xié)議(Simple Object Access Protocol,SOAP)和可擴展標記語言(Extensible Markup Language,XML),從異構傳感網中描述、發(fā)現(xiàn)和調用相關的服務。然而這種框架是基于XML模式設計的,傳感器數據缺乏語義。本文為研究傳感器數據之間的語義信息奠定了基礎,傳感觀測服務語義信息的研究是作者接下來研究的重點。
參考文獻:
[1]蔣永國.面向傳感網的海洋觀測數據集成關鍵技術研究[D].青島:中國海洋大學,2010:1-21.
[2]孫榮麗,王睿,崔莉.交通無線傳感器網絡研究進展[C].計算機研究與發(fā)展,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]. 西安:西安工業(yè)大學,2011:7-47.