此里能布 ,談曉珊 ,高 軍
(1.云南省水文水資源局,云南 昆明 650106;2.水利部南京水利水文自動化研究所,江蘇 南京 210012)
隨著水利信息化的進(jìn)一步發(fā)展,移動通信、Internet、數(shù)據(jù)庫及分布式計算等信息技術(shù)與水利行業(yè)有機融合,促進(jìn)了水利信息化水平全面提升。以手機為首的移動通信產(chǎn)品性能的日益提升,為移動水文監(jiān)測的廣泛應(yīng)用奠定了良好的基礎(chǔ)[1]。向這些持有移動設(shè)備的用戶群提供水利 Web 服務(wù)已經(jīng)是趨勢所在。“移動水利”是當(dāng)今高速發(fā)展的通信業(yè)與 IT 業(yè)交融的產(chǎn)物,通過 WAP(無線應(yīng)用協(xié)議)進(jìn)行移動應(yīng)用開發(fā),很好地實現(xiàn)手機的 Internet 接入,訪問和獲取 Internet 信息及服務(wù),擺脫了必須在固定場所和設(shè)備上進(jìn)行水利辦公的限制,為水利工作者和管理者提供了極大的便利,為水利信息化提供了全新的思路和方向。借助手機通信的便利,讓使用者無論身處何種緊急情況,都能高效便捷地開展工作,對于應(yīng)急性事件的部署、突發(fā)性事件的處理有極為重要的意義。
本文提出的水文信息查詢系統(tǒng)是在移動互聯(lián)網(wǎng)上針對手機用戶利用 ASP .Net 開發(fā)的移動水文業(yè)務(wù)平臺。用戶可以通過手機上網(wǎng),利用手機瀏覽器訪問水文信息手機網(wǎng)站獲取水文信息,并能對相關(guān)業(yè)務(wù)進(jìn)行直接查詢操作。
目前構(gòu)建手機網(wǎng)站的技術(shù)方式主要有 2 種:WAP 和 Web。WAP 使用 WML(無線標(biāo)記語言)顯示一些簡單的界面。目前各種不同操作系統(tǒng)的智能手機可支持 Html(文本標(biāo)記語言) 的瀏覽器,例如瀏覽器 Safari,遨游 Opera Mini,谷歌手機瀏覽器 Chrome,甚至能很好地支持 Ajax 所需的JavaScript。因此,WAP 方式不僅適用智能手機,而且適用于非智能手機,界面很簡單。手機使用普通的網(wǎng)站模式,用瀏覽器就可以方便地瀏覽和操作。經(jīng)研究比較,WAP 對開發(fā)輕量級的實時信息查詢具有瀏覽速度快,消耗流量少,手機支持率高的優(yōu)勢,適合用于水文行業(yè)信息的實時查詢系統(tǒng)。
早期的手機上網(wǎng)只能通過 WAP 網(wǎng)站,WML 是用來制作手機 WAP 網(wǎng)站的主要標(biāo)記語言,比 HTML消耗更少內(nèi)存和 CPU。但是因為 WML 大部分針對非智能手機,已經(jīng)逐步被其他技術(shù)取代,如今很多手機網(wǎng)頁設(shè)計制作忽略 WML。
考慮到智能手機的市場份額越來越大,現(xiàn)在進(jìn)行手機網(wǎng)頁設(shè)計制作時,采用 XHTML(可擴(kuò)展超文本置標(biāo)語言)。目前大部分智能手機的瀏覽器都能正確處理 XHTML,會識別以下 2 種類型的 HTML:與桌面瀏覽器相同的 XHTML 和針對智能手機的XHTML-MP[2]。
制作 WAP 網(wǎng)頁,首先要確定 WAP 網(wǎng)站的版本是 WAP 1.2 還是 2.0。它們所使用的網(wǎng)頁語言的標(biāo)準(zhǔn)是不同的,WAP 1.2 采用 WML 語言,WAP 2.0 采用的是 XHTML MP 語言[3]。通過對當(dāng)前手機市場及2 種標(biāo)記語言的研究分析,本水文信息查詢系統(tǒng)選用WAP 2.0 制作網(wǎng)頁,既保證大多手機用戶能正常運行系統(tǒng),有較好的用戶體驗,又可以實現(xiàn)水情測報系統(tǒng)的復(fù)雜分析查詢功能。
WAP 水文信息查詢系統(tǒng)是基于 .Net 平臺的 B/S結(jié)構(gòu),以手機終端為代表的移動載體,通過 WAP 無線通信與服務(wù)器進(jìn)行連接,建立 1 套可移動應(yīng)用的水文業(yè)務(wù) WAP 網(wǎng)站,可使用戶隨時隨地查詢水文信息。系統(tǒng)總體架構(gòu)如圖1 所示。
圖1 WAP水文信息查詢系統(tǒng)體系架構(gòu)圖
WAP 網(wǎng)絡(luò)結(jié)構(gòu)由 WAP 網(wǎng)關(guān)、移動客戶端和水情服務(wù)器 3 個部分組成。其中 WAP 網(wǎng)關(guān)起著解析協(xié)議,并對傳輸內(nèi)容進(jìn)行編碼的作用,是移動通訊網(wǎng)與萬維網(wǎng)聯(lián)系的橋梁;移動客戶端為用戶提供上網(wǎng)功能的手機瀏覽器、查詢輸入方式及展示等;水情服務(wù)器存儲著大量的信息,以提供移動客戶端,即手機用戶查詢、瀏覽等。當(dāng)用戶通過移動客戶端發(fā)送請求后,經(jīng)過 WAP 網(wǎng)關(guān)的解碼,轉(zhuǎn)換成標(biāo)準(zhǔn)的基于 HTTP 的請求,再將其發(fā)送至服務(wù)器;服務(wù)器調(diào)用相關(guān)頁面,連接數(shù)據(jù)庫,實現(xiàn)具體的業(yè)務(wù),將結(jié)果反饋回去;WAP 網(wǎng)關(guān)對響應(yīng)內(nèi)容編碼,并把信息反饋給用戶。
由于 ASP.Net 開發(fā)手機網(wǎng)站,最終輸出結(jié)果是WML 或 XML 的字符串流,因此,服務(wù)器應(yīng)能支持WML。本例的 WAP 服務(wù)器建立在 Windows Server的 IIS(互聯(lián)網(wǎng)信息服務(wù))上,該服務(wù)器就可以支持WML 和 WMLScript,為 IIS 增加 Mime(多用途互聯(lián)網(wǎng)郵件擴(kuò)展)類型,需要添加的 WAP 文件類型主要有 6 種,具體如表1 所示。
水雨情信息對于水利防汛起著至關(guān)重要的作用。建立一個能夠及時傳輸這些信息的 WAP 水文信息查詢系統(tǒng)平臺對于加強水雨情測報、洪水預(yù)警、應(yīng)急搶險等方面能力都是非常有必要的[4]。
WAP 水文信息查詢系統(tǒng)充分利用網(wǎng)絡(luò)快捷、跨地域的優(yōu)勢進(jìn)行信息傳遞,通過數(shù)據(jù)庫實現(xiàn)對區(qū)域內(nèi)各時間段的水雨情、雨量站、水文站等信息的查詢,統(tǒng)計和分析;提供便利、直觀的水文數(shù)據(jù)及相關(guān)資料共享和查閱,反饋水情的最新動態(tài)和情況分析,優(yōu)化水利政務(wù)管理,強化水文服務(wù)社會職能,推廣水利信息化。WAP 水文信息查詢系統(tǒng)主要包括以下 6 個功能模塊:
1)雨量站信息查詢。提供各時區(qū)降雨量信息,以日、月、年的形式進(jìn)行查詢和分析。
2)水文站信息查詢。提供逐日、月的水位和流量信息查詢??紤]到水文信息涉及的水文測站非常多,把所有測站按流域劃分為若干個區(qū)域,用戶可按區(qū)域選擇測站。這樣既方便了用戶的選擇,也提高了測站選擇的速度[5]。
3)實時水雨情信息查詢。提供實時水雨情工況信息的查詢和管理。
4)實時水雨情信息統(tǒng)計。統(tǒng)計各站點的水雨情情況,檢索可以從時間(歷史均值、實時值)、空間(測站)進(jìn)行統(tǒng)計分析。以柱狀圖的形式展示各站點不同月份的雨情,以曲線圖的形式展示各站點72 h 內(nèi)水位變化情況。
5)測站統(tǒng)計報表。提供測站基本信息,測點基本狀態(tài),暢通率、故障率等情況,以及關(guān)系曲線查詢等。
表1 WAP所需的文件類型
6)對外服務(wù)。提供對外的水文信息發(fā)布和服務(wù)。
WAP 水文信息查詢系統(tǒng)網(wǎng)站的部分功能如圖2所示。其中,a 是實時雨情信息查詢時的局部截圖;b 是實時雨情統(tǒng)計效果圖,實時雨情可以按雨量站或月份進(jìn)行統(tǒng)計。
圖2 WAP水文信息查詢系統(tǒng)水雨情監(jiān)測功能圖
WAP 水文信息查詢系統(tǒng)提供的服務(wù)可以分為 2 大類:基于Pull技術(shù)的水文信息檢索功能和基于Push 的水文信息實時發(fā)布更新。WAP Push 是 Push 技術(shù)和移動通信結(jié)合的產(chǎn)物,提供了 1 種在沒有用戶請求時發(fā)送信息的方法。WAP利用移動網(wǎng)絡(luò)和 Push 技術(shù)的特點,能夠及時、準(zhǔn)確地將消息傳給用戶。WAP Push的體系結(jié)構(gòu)主要分為 Push 發(fā)起者 PI、推送代理網(wǎng)關(guān)PPG 和 WAP 客戶端 WAP Client 等 3 個部分。為實現(xiàn) WAP 網(wǎng)站的推送服務(wù),選用集成了 PPG 功能的Ericsson WAP Gateway/Proxy 作為 WAP 網(wǎng)關(guān)。
基于 Push 技術(shù)的水文信息的實時發(fā)布更新是對 WAP 水文信息查詢系統(tǒng)的功能擴(kuò)展。運用 WAP Push 技術(shù),當(dāng)有實時性較強的水文信息需要通知用戶時,系統(tǒng)會向持有 WAP 手機的水利工作者推送相關(guān)提示信息。在 WAP 服務(wù)器中將要推送的水文信息服務(wù)內(nèi)容以 WML 網(wǎng)頁形式存儲,在用戶地址信息表中搜索適合條件的通知對象及其手機號碼,通過 PI向 PPG 發(fā)送包括水雨情信息的鏈接。具體實現(xiàn)流程如下:
1)通過實時信息查詢模塊從數(shù)據(jù)庫中獲取最新的水雨情信息;
2)WAP 服務(wù)器將雨量或者水位超過警戒值的水雨情信息發(fā)給 Push 代理網(wǎng)關(guān);
3)Push 代理網(wǎng)關(guān)接收數(shù)據(jù),并實現(xiàn)數(shù)據(jù)從有線網(wǎng)絡(luò)傳輸?shù)綗o線網(wǎng)絡(luò)的轉(zhuǎn)換,最后數(shù)據(jù)將以 WML網(wǎng)頁形式發(fā)送到水利工作人員的手機或者其他移動通訊設(shè)備上。
用 .Net 開發(fā)的手機網(wǎng)站可以根據(jù)客戶訪問終端的不同做出不同的響應(yīng),為了讓手機網(wǎng)頁達(dá)到最好的實用效果,需要進(jìn)行詳密的測試,主要包括瀏覽器、模擬器、實體手機測試 3 個步驟[6]。調(diào)試內(nèi)容包括:頁面顯示效果、動態(tài)網(wǎng)頁的反饋結(jié)果、頁面間的跳轉(zhuǎn)等。首先用瀏覽器調(diào)試手機網(wǎng)站測試程序的邏輯性。Windows 對瀏覽器的腳本限制比較少,因而測試效果與在手機上測試的效果可能會有一定的差別。接著再進(jìn)行手機模擬器測試,如 UP.SDK,Opera 等。最后在手機上進(jìn)行調(diào)試,由于手機存在差異性,顯示的效果可能會有不同。同時不同手機瀏覽器也有差異,對腳本語言的支持效果也不一致。在 WAP 的開發(fā)過程中需要不斷調(diào)整,使 WAP網(wǎng)站做到盡量兼容大多數(shù)設(shè)備。總之,越是智能的手機,瀏覽器性能越接近電腦,例如谷歌瀏覽器Chrome,Opera 等,使用效果更貼近實際系統(tǒng)。另外在設(shè)計時,考慮到手機輸入數(shù)據(jù)不方便,因此主要采用點選的方式。根據(jù)測試過程中發(fā)現(xiàn)的問題,不斷調(diào)整網(wǎng)站,最終滿足業(yè)務(wù)應(yīng)用的需求。
以下以云南省大理分局水文信息查詢系統(tǒng)為例進(jìn)行闡述。系統(tǒng)選用 SQL Server 2005 為實時水雨情數(shù)據(jù)庫,按照 SL323-2011《實時雨水情數(shù)據(jù)庫表結(jié)構(gòu)與標(biāo)識符》設(shè)計庫表結(jié)構(gòu)。利用 WAP 協(xié)議網(wǎng)絡(luò)輸入水文信息發(fā)布的服務(wù)器的 URL 后,信號經(jīng)無線網(wǎng)絡(luò),以 WAP 協(xié)議方式發(fā)送請求至 WAP 網(wǎng)關(guān),經(jīng)翻譯后再以 HTTP 協(xié)議方式與服務(wù)器交互,服務(wù)器把處理過的頁面返回 WAP 網(wǎng)關(guān)處理壓縮成二進(jìn)制流返回給客戶端手機瀏覽器。
WAP 水文信息查詢系統(tǒng)提供的是重要信息和近期數(shù)據(jù)的查詢。查詢時限設(shè)為 12 個月,即只開放近12 個月數(shù)據(jù)的檢索服務(wù)。大理 WAP 水文信息查詢功能項有系統(tǒng)登錄審核,實時水情信息、水位和雨量過程的查詢,以及數(shù)據(jù)檢索等功能。考慮到大理區(qū)域涉及的水文測站非常多,把所有測站按流域劃分為若干個區(qū)域,用戶可按區(qū)域選擇測站。
通過 ASP .Net 和 WAP 2.0 建立 WAP 水文信息查詢系統(tǒng),在有手機或者無線網(wǎng)絡(luò)信號的地方,相關(guān)領(lǐng)導(dǎo)和技術(shù)人員可以隨時隨地地查詢該手機網(wǎng)頁上的實時動態(tài)信息,而不受當(dāng)時當(dāng)?shù)貤l件的限制,第一時間獲得水文信息,做出快速準(zhǔn)確的決策。隨著 Web 開發(fā)技術(shù)的日益更新,智能手機的普及,未來將結(jié)合 GPS 和 GIS 技術(shù),進(jìn)一步探索并完善對 Ajax,JavaScript 支持比較好的手機網(wǎng)站系統(tǒng)。目前,該系統(tǒng)已投入試用,基本滿足行業(yè)工作需要。
[1]石靜. 淺談 WAP 及水利水文自動化中的應(yīng)用展望[J]. 水利水文自動化,2001 (1): 41.
[2]張仁良. 基于自動生成技術(shù)的衫達(dá)學(xué)院 WAP 網(wǎng)站的設(shè)計與實現(xiàn)[D]. 上海:上海交通大學(xué),2009: 8-9.
[3]侯迎春,耿白強. .Net 技術(shù)在 WAP 中的應(yīng)用[J]. 河南教育學(xué)院學(xué)報(自然科學(xué)版),2003, 12 (3): 47-48.
[4]張述嵩. 基于 WAP 應(yīng)用的陜西實時水雨情無線服務(wù)平臺的設(shè)計與實現(xiàn)[D]. 西安:西安理工大學(xué),2007: 11.
[5]苗蔚,高勇,張永進(jìn),等. 基于 J2EE 的水利 WAP 信息系統(tǒng)的設(shè)計與實現(xiàn)[J]. 水利水電技術(shù),2005, 36 (7): 146.
[6]何迪,蔣國華. 基于 .Net 的氣象信息手機網(wǎng)站建設(shè)[J].廣東氣象,2010, 32 (1): 58-59.