彭 輝,毛學(xué)文,高俊杰
(水利部水文局,北京 100053)
隨著經(jīng)濟社會的不斷發(fā)展,水資源短缺和水污染將越來越成為水資源可持續(xù)利用和經(jīng)濟社會可持續(xù)發(fā)展的重要制約因素,與此同時,城鄉(xiāng)居民的飲用水水源水質(zhì)面臨著不斷惡化的危險,如 2005 年的松花江重大水污染和 2007 年太湖藍(lán)藻水華事件,不僅對居民飲水造成極大困難,甚至在國際上也造成了嚴(yán)重不良影響。作為經(jīng)濟社會發(fā)展的基礎(chǔ)性、資源性、公益性信息,水質(zhì)監(jiān)測信息的及時性和準(zhǔn)確性,直接關(guān)系到千家萬戶的生命安全和生活水平。如何快速有效地利用水質(zhì)監(jiān)測信息,更好地為水資源保護和管理服務(wù),促進(jìn)水資源的可持續(xù)利用,是水質(zhì)監(jiān)測業(yè)務(wù)部門的迫切需要。
針對目前全國水利系統(tǒng)水質(zhì)監(jiān)測業(yè)務(wù)部門計算機軟硬件環(huán)境,水利部水文局于 2008 年啟動了全國水資源質(zhì)量信息共享服務(wù)系統(tǒng)建設(shè)項目。項目建設(shè)范圍涵蓋了水利部水文局,長江、黃河水利委員會水文局,各流域水環(huán)境監(jiān)測中心及其分中心和各?。ㄗ灾螀^(qū)、直轄市)水環(huán)境監(jiān)測中心等 55 個信息系統(tǒng)節(jié)點。建設(shè)任務(wù)包括各信息系統(tǒng)節(jié)點軟硬件基礎(chǔ)平臺建設(shè),配置 Web 和數(shù)據(jù)庫服務(wù)器及相應(yīng)軟件;統(tǒng)一開發(fā)實驗室信息管理、數(shù)據(jù)傳輸與信息管理、分析評價、共享服務(wù)與信息發(fā)布、水質(zhì)預(yù)測等子系統(tǒng),以及水質(zhì)測站、水功能區(qū)與排污口 GIS 信息處理。
系統(tǒng)的建設(shè)目標(biāo)是通過規(guī)范化的信息管理,實現(xiàn)區(qū)域水質(zhì)監(jiān)測數(shù)據(jù)的共享和傳輸,科學(xué)、高效地完成水質(zhì)監(jiān)測和評價工作的日常業(yè)務(wù),提高對突發(fā)、惡性水質(zhì)污染事故的預(yù)警預(yù)報及快速反應(yīng)能力,判斷發(fā)展趨勢及成因分析;對決策及常規(guī)管理提供信息支持,達(dá)到能夠及時全面反映區(qū)域主要江河水質(zhì)變化動態(tài),滿足區(qū)域水功能區(qū)管理和水資源開發(fā)利用與保護的需要,以及區(qū)域內(nèi)各級水行政主管部門及社會公眾對水質(zhì)信息的需要,在全國范圍內(nèi)初步建成水資源質(zhì)量信息共享服務(wù)系統(tǒng)。
依據(jù)建設(shè)目標(biāo)和全國水質(zhì)監(jiān)測行業(yè)的業(yè)務(wù)現(xiàn)狀及信息流程,水質(zhì)信息系統(tǒng)依托水利信息化基礎(chǔ)或公共通信等網(wǎng)絡(luò)環(huán)境,實現(xiàn)水質(zhì)信息在各級不同信息節(jié)點之間的傳輸匯總,并在各級節(jié)點實現(xiàn)水資源質(zhì)量信息的管理、分析評價和信息發(fā)布,為各級水行政主管部門和社會各階層提供決策信息支持及服務(wù)。
按工作需要和實施的要求,系統(tǒng)劃分為實驗室信息、數(shù)據(jù)傳輸與信息管理系統(tǒng),以及水功能區(qū)信息和用戶應(yīng)用(水質(zhì)信息分析評價、發(fā)布服務(wù)和水質(zhì)預(yù)測系統(tǒng))。系統(tǒng)總體結(jié)構(gòu)如圖1 所示。
系統(tǒng)對應(yīng)著水利部、流域、?。ㄗ灾螀^(qū)、直轄市)3 級水質(zhì)監(jiān)測體系,需要根據(jù)不同級別監(jiān)測體系的業(yè)務(wù)應(yīng)用與管理要求,制定相應(yīng)的協(xié)議與接口協(xié)議,在服務(wù)、構(gòu)件和信息等層次實現(xiàn)基于網(wǎng)絡(luò)的資源共享與協(xié)同操作,使系統(tǒng)在全國范圍內(nèi)實現(xiàn)優(yōu)勢互補、資源共享、維護方便、應(yīng)用靈活的目標(biāo)。
圖1 系統(tǒng)總體結(jié)構(gòu)
水質(zhì)信息系統(tǒng)在開發(fā)過程中緊密結(jié)合水質(zhì)監(jiān)測業(yè)務(wù)部門的日常工作,在突出監(jiān)測站網(wǎng)管理、水資源質(zhì)量評價和監(jiān)測資料整編[1]等功能設(shè)計的同時,考慮了水功能區(qū)水質(zhì)監(jiān)測評價工作和今后水質(zhì)監(jiān)測業(yè)務(wù)發(fā)展的需要。在系統(tǒng)框架中,只需將新的水質(zhì)評價方法和模型編制成 JavaBean,系統(tǒng)通過統(tǒng)一的XML 配置文件設(shè)置[2],新方法、模型就擴充到系統(tǒng)中了。由于良好的系統(tǒng)框架設(shè)計,從而實現(xiàn)系統(tǒng)的健壯性、可維護性、可升級性。
水質(zhì)地圖是利用 WebGIS(Web 地理信息系統(tǒng))的方式,將水質(zhì)評價結(jié)果進(jìn)行可視化的展現(xiàn),讓用戶更直觀、形象地看到水質(zhì)評價結(jié)果。
水質(zhì)地圖界面主要由圖層控制窗口、評價時間、地圖工具欄、切換按鈕、地圖區(qū)組成。圖層控制窗口由水質(zhì)地圖菜單下的圖層顯示控制打開,主要控制地圖圖層的顯示和隱藏;地圖工具欄主要包括地圖操作的漫游和量算功能;切換按鈕主要完成評價和對象查詢 2 種地圖模式的切換。
在評價地圖模式下,用戶可以通過選擇水質(zhì)地圖菜單下的評價對象查詢水質(zhì)評價結(jié)果,也可以通過改變評價時間查看不同時間的水質(zhì)評價結(jié)果。
系統(tǒng)實現(xiàn)的水質(zhì)地圖包括:地表水、地下水、排污口水質(zhì),水功能區(qū)達(dá)標(biāo)、湖泊水庫營養(yǎng)狀態(tài)等評價結(jié)果圖,行政區(qū)劃和水資源分區(qū)等水質(zhì)評價結(jié)果統(tǒng)計圖。
水質(zhì)評價是系統(tǒng)的核心功能,根據(jù)目前水資源質(zhì)量評價的實際工作情況,系統(tǒng)以監(jiān)測站網(wǎng)為基礎(chǔ),提供了按流域、水系、河流,行政區(qū)劃,水資源分區(qū)等 3 種查詢統(tǒng)計口徑,評價標(biāo)準(zhǔn)可選并可定制,評價結(jié)果包括月、季度、半年、全年、汛期、非汛期、任意時段內(nèi)和指定時間序列內(nèi)的一系列結(jié)果,而且在列出單個水質(zhì)站超標(biāo)項目的超標(biāo)倍數(shù)和最差值的同時,可按選擇的統(tǒng)計口徑匯總測站評價結(jié)果,并與前期統(tǒng)計結(jié)果進(jìn)行比較。系統(tǒng)還預(yù)先定制了各種水質(zhì)評價報告模板,可將水質(zhì)評價結(jié)果以報告的形式表現(xiàn),用戶可直接或簡單修改后以 HTML 發(fā)布在本系統(tǒng)的水質(zhì)評價報告欄目中,或以 Word 格式導(dǎo)出,然后以附件方式發(fā)布。此外,通過系統(tǒng)的配置文件,系統(tǒng)可以無縫引入新的水質(zhì)評價方法和模型,方便快捷,能夠滿足水資源質(zhì)量評價工作今后發(fā)展的需要。
系統(tǒng)實現(xiàn)的水質(zhì)評價功能如下:地表水水質(zhì)、湖庫營養(yǎng)狀態(tài)、水功能區(qū)水質(zhì)達(dá)標(biāo)、水源地水質(zhì)指數(shù)、水功能區(qū)納污能力達(dá)標(biāo)、地下水監(jiān)測站單項組分、地下水監(jiān)測站綜合、地表水天然水化學(xué)特征、地表水監(jiān)測站底質(zhì)污染等評價,地表水監(jiān)測站污染物通量及超標(biāo)、排污口監(jiān)測站污染物通量等計算,水質(zhì)變化趨勢分析。
水質(zhì)預(yù)警預(yù)測采用預(yù)先設(shè)定的交互接口,將水質(zhì)預(yù)測模型庫和數(shù)據(jù)庫及水文數(shù)據(jù)庫有機組織起來,按照水質(zhì)預(yù)測模型的定義輸入模型計算所需的原始數(shù)據(jù),系統(tǒng)將這些數(shù)據(jù)傳送給模型,模型完成計算后,把計算結(jié)果返回系統(tǒng),以實現(xiàn)系統(tǒng)對水污染狀況的分析與預(yù)測,最后以多種方式給出模擬結(jié)果。水質(zhì)模型參數(shù)的選取是否合理將會在很大程度上影響模型計算的精確性,故在進(jìn)行水質(zhì)預(yù)警預(yù)報和納污能力計算之前要先對相關(guān)模型參數(shù)進(jìn)行率定,系統(tǒng)提供了參數(shù)率定和交互修正 2 種模塊,通過與用戶交互可實現(xiàn)這一功能,在進(jìn)行污染物預(yù)測之前,可對 13 種主要污染物的各個模型參數(shù)分別進(jìn)行參數(shù)率定計算。
系統(tǒng)實現(xiàn)的水質(zhì)預(yù)警預(yù)測功能如下:參數(shù)率定,參數(shù)交互修正,水質(zhì)預(yù)警預(yù)測模型庫建立,水域納污能力計算方法庫建立。
綜合查詢主要針對水質(zhì)監(jiān)測管理的查詢工作需要,按 3 種查詢口徑,管理和監(jiān)測單位、測站功能、水域類型等查詢選項,對各類水質(zhì)監(jiān)測測站(地表水、地下水、大氣降水、入河排污口)、水功能區(qū)、湖泊水庫的基本信息,各時間段的水質(zhì)評價結(jié)果和監(jiān)測數(shù)據(jù)進(jìn)行查詢,并將查詢結(jié)果輸出為 Excel 或 XML 文件,方便上下級單位之間的測站匯總與管理。系統(tǒng)還根據(jù) GB/T 23598-2009《水資源公報編制規(guī)程》中各種水質(zhì)報表格式要求,對各年水質(zhì)評價結(jié)果進(jìn)行統(tǒng)計匯總,直接生成滿足《中國水資源公報》編制要求的水質(zhì)報表,大大減輕了每年《中國水資源公報》編制的工作量,提高了工作效率與時效性。
系統(tǒng)實現(xiàn)的綜合查詢功能如下:測站、水功能區(qū)、湖泊水庫的基本信息查詢,水質(zhì)評價結(jié)果查詢,水質(zhì)監(jiān)測數(shù)據(jù)查詢,《中國水資源公報》涉及的各種水質(zhì)報表的生成。
信息發(fā)布是系統(tǒng)授權(quán)的用戶通過在線編輯的方式,把水質(zhì)監(jiān)測評價信息編制成水質(zhì)評價月報、年報等各種報告,然后以網(wǎng)頁的形式發(fā)布到系統(tǒng)的主頁面上,也可發(fā)布水質(zhì)常識、技術(shù)規(guī)范、公示公告等日常管理信息,滿足水質(zhì)監(jiān)測部門行業(yè)日常管理的需要。
系統(tǒng)實現(xiàn)的信息發(fā)布功能包括:水質(zhì)動態(tài)和報告、工作動態(tài)、水質(zhì)常識、技術(shù)規(guī)范和公示公告的發(fā)布。
數(shù)據(jù)傳輸是通過數(shù)據(jù)加密的方式實現(xiàn)水質(zhì)監(jiān)測下級向上級單位上報測站基本及其監(jiān)測評價信息。下級單位可根據(jù)測站所屬流域來配置測站,向不同的流域機構(gòu)上報不同的測站及其監(jiān)測評價信息。在系統(tǒng)各信息節(jié)點網(wǎng)絡(luò)互聯(lián)互通的情況下,通過用戶鼠標(biāo)點擊可實現(xiàn)數(shù)據(jù)的在線實時傳輸,同時系統(tǒng)也提供數(shù)據(jù)導(dǎo)出為交換文件,離線傳輸數(shù)據(jù),保證了系統(tǒng)運行的兼容性。
系統(tǒng)實現(xiàn)的數(shù)據(jù)傳輸功能包括:上報單位和對象配置,測站(水功能區(qū))基本信息、評價結(jié)果、監(jiān)測數(shù)據(jù)的傳輸。
數(shù)據(jù)維護主要是水質(zhì)數(shù)據(jù)庫日常使用過程中,水質(zhì)測站、水功能區(qū)、水資源分區(qū)、行政區(qū)劃等基本信息,水質(zhì)評價結(jié)果,監(jiān)測數(shù)據(jù)的創(chuàng)建、讀取、更新和刪除等數(shù)據(jù)庫基本訪問操作,以及批量導(dǎo)入基本信息和監(jiān)測數(shù)據(jù)的水質(zhì)數(shù)據(jù)庫建庫工作。系統(tǒng)提供了數(shù)據(jù)驗證功能,只有符合水質(zhì)數(shù)據(jù)庫表要求的數(shù)據(jù)才能入庫,不符合要求的數(shù)據(jù),系統(tǒng)會給出錯誤位置和出錯原因,方便用戶修改和維護。
系統(tǒng)實現(xiàn)的數(shù)據(jù)維護功能包括:基本信息維護,水質(zhì)評價結(jié)果、監(jiān)測數(shù)據(jù)、數(shù)據(jù)導(dǎo)入。
系統(tǒng)管理主要是系統(tǒng)的一些配置選項、評價標(biāo)準(zhǔn)及項目管理、用戶及用戶權(quán)限管理等,一般由系統(tǒng)管理員管理這些功能。除了系統(tǒng)管理員,系統(tǒng)管理功能菜單對一般用戶是不可見的。系統(tǒng)管理員有權(quán)設(shè)置系統(tǒng)用戶、用戶權(quán)限及其所能使用的系統(tǒng)功能。系統(tǒng)增加新功能后,通過系統(tǒng)菜單的動態(tài)增加,用戶就可以訪問系統(tǒng)新功能,具有良好的可維護性。
系統(tǒng)管理的主要功能包括用戶和角色管理,評價項目和標(biāo)準(zhǔn)、監(jiān)測項目、汛期等設(shè)置。
Struts 是基于 J2EE 平臺的 MVC 框架[3],主要采用 Servlet 和 JSP 技術(shù)實現(xiàn)。Struts 框架可分為以下 4 個主要部分(其中 3 個與 MVC 模式緊密相關(guān)):
1)模型。是在對用戶請求的整個控制過程中,真正處理用戶請求并保存處理結(jié)果的對象,由實現(xiàn)業(yè)務(wù)邏輯的 JavaBean 或 EJB 組件構(gòu)成。在 MVC 框架中,模型是應(yīng)用程序的核心。在應(yīng)用中,通過 struts-config.xml 配置文件,一般是 1 個模型對象和 1 個視圖對象對應(yīng)的關(guān)系,但也可以 1 個模型對象對應(yīng)多個視圖請求。
2)視圖。是 1 組 JSP 文件,在這些 JSP 文件中沒有業(yè)務(wù)邏輯,也沒有模型信息,視圖與業(yè)務(wù)邏輯的分離,網(wǎng)頁的改版不需要重新修改業(yè)務(wù)模型,業(yè)務(wù)模型的維護與升級也不會影響網(wǎng)頁的外觀,簡化了Web 應(yīng)用程序的開發(fā)。另外,Struts 還提供大量的標(biāo)簽庫方便開發(fā)者將 JSP 整合到 Struts 框架中。
3)控制器。由 ActionServlet 類和 Action 類來實現(xiàn)。ActionServlet 類是 Struts 框架中的核心組件,繼承自 javax.servlet.http.HttpServlet。本質(zhì)上 Action Servlet 是 1 個 Servlet,用于接受客戶端 HTTP 請求信息,然后根據(jù)配置文件struts-config.xml 中的配置信息,將請求轉(zhuǎn)發(fā)到適當(dāng)?shù)?Action 對象。如果該 Action 對象不存在,ActionServlet 會先創(chuàng)建這個Action 對象。
Action 類負(fù)責(zé)調(diào)用模型的方法,更新模型的狀態(tài),并幫助控制應(yīng)用程序的流程。對于小型簡單的應(yīng)用,Action 類本身也可以完成一些實際的業(yè)務(wù)邏輯。對水質(zhì)信息管理系統(tǒng),Action 類充當(dāng)了用戶請求和業(yè)務(wù)邏輯模型之間的適配器,根據(jù)用戶請求來選擇調(diào)用有關(guān)的業(yè)務(wù)邏輯模型。通過將業(yè)務(wù)邏輯放在單獨的 JavaBean 或 EJB 中,可以提高應(yīng)用程序的靈活性和可重用性。
4)XML 文件解析的工具包。在 Struts 中,所有的用戶請求路徑和 Action 映射關(guān)系都存儲在特定的 XML 文件 struts-config.xml 中。此外 Struts 還利用 XML 文件描述在國際化應(yīng)用中的用戶提示信息,通過 Struts 可以快速地在應(yīng)用系統(tǒng)中實現(xiàn)多語言支持。
Spring 是輕量級的 J2EE 應(yīng)用程序框架[4]。Spring 的核心是 1 個 IoC(Inversion of Control)/DI(Dependency Injection)的容器,它可以幫程序設(shè)計人員完成組件之間的依賴關(guān)系注入,使得組件之間的依賴達(dá)到最小,進(jìn)而提高組件的重用性。Spring 是低侵入性的框架,Spring 中的組件并不會意識到它正置身于 Spring 中,這使得組件可以輕易地從框架中脫離,幾乎不用任何修改;反過來說,組件也可以簡單的方式加入到框架中,使得組件甚至框架的整合變得容易。在全國水資源質(zhì)量信息共享服務(wù)系統(tǒng)中,業(yè)務(wù)邏輯(水質(zhì)評價方法和模型等)以組件的形式存在,通過 Spring 框架,只需修改Spring 配置文件,新模型、評價方法可以方便地放入系統(tǒng)中,無需修改系統(tǒng)代碼,系統(tǒng)的可維護性、可升級性得到了顯著提高。
全國水資源質(zhì)量信息共享服務(wù)系統(tǒng)基于 B/S 的模式和 Seemap WebGIS 平臺運行,系統(tǒng)部署到應(yīng)用服務(wù)器后,客戶端以瀏覽器的方式訪問和使用系統(tǒng),系統(tǒng)支持 IE6.0 及以上版本訪問,系統(tǒng)的水質(zhì)地圖是以 Java 的 Applet 方式運行在瀏覽器中,客戶端需要安裝 JVM(Java 虛擬機)。
水質(zhì)監(jiān)測與評價工作涉及的水質(zhì)監(jiān)測項目多,評價標(biāo)準(zhǔn)多樣,各種評價統(tǒng)計繁雜,具體有地表水和地下水水質(zhì)、水源地綜合指數(shù)、湖庫營養(yǎng)狀態(tài)、水功能區(qū)水質(zhì)達(dá)標(biāo)等評價,對水質(zhì)信息評價系統(tǒng)的設(shè)計與開發(fā)提出了較高要求。水資源質(zhì)量信息共享服務(wù)系統(tǒng)通過采用 Spring Framework 系統(tǒng)框架,將各種評價方法與模型模塊化,通過配置文件組織,有效解決了日常管理工作中水質(zhì)評價新標(biāo)準(zhǔn)、方法的接入問題,實現(xiàn)了系統(tǒng)良好的健壯性、可維護性、可升級性。
目前,水資源質(zhì)量信息共享服務(wù)系統(tǒng)正進(jìn)一步在水利系統(tǒng)全國范圍內(nèi)推廣應(yīng)用。該項目的實施,將通過規(guī)范化的信息管理,利用先進(jìn)的計算機手段,實現(xiàn)全國水資源質(zhì)量監(jiān)測數(shù)據(jù)的共享和傳輸,科學(xué)、高效地完成水質(zhì)監(jiān)測和評價工作的日常業(yè)務(wù),提高對突發(fā)、惡性水質(zhì)污染事故的預(yù)警預(yù)報及快速反應(yīng),更好地為水功能區(qū)管理和水資源開發(fā)利用與保護服務(wù)。
[1]水利部水文局. SL325-2005 水質(zhì)數(shù)據(jù)庫表結(jié)構(gòu)與標(biāo)識符規(guī)定[S]. 北京:水利部,2005: 6-40.
[2]孫衛(wèi)琴. 精通 Struts: 基于 MVC 的 Java Web 設(shè)計與開發(fā)[M]. 北京:電子工業(yè)出版社, 2004: 9-13.
[3]Apache 軟件基金. Apache Struts[OL]. [2010-11-02].http://struts.apache.org/#Welcome.
[4]SpringSource.About Spring [OL]. [2010-11-02].http://www.springframework.org/about.