劉永明,溫汝俊,陸 渝
(1.重慶市環境科學研究院,重慶401147;2.重慶市環境保護局,重慶401147;3.重慶工商大學,重慶400067)
“空氣質量日報”對公眾發布是環境監測工作的重要內容之一[1],空氣質量日報主要依靠環境空氣質量自動監測系統連續不斷地實時監測數據,并自動傳輸到中心控制室,經數據處理和計算后得出當天的空氣污染指數,再向上級部門和社會媒體公布。空氣質量日報業務流程可以分為3個階段[2],如圖1所示。

圖1 空氣質量日報業務流程
重慶市空氣質量日報的必測因子只包括SO2,NO2和PM10,日均值計算是采用上一天中午12時到次日12時的數據。空氣質量日報主要包括污染指數、首要污染物、空氣質量級別和空氣質量狀況。2008年6月之前,主要發布主城區空氣質量日報,由主城區11個大氣自動監測站(其中縉云山為清潔對照點)的監測數據構成,2008年6月5日開始傳輸主城以外的30個遠郊區縣,共計40個站點數據。其中2007年1月1日~2008年6月4日還增設了經開區、高新區兩個站的數據。
1997年重慶市空氣質量日報開始在“重慶環保在線”網站向社會發布,本文作者采用了當時流行的ASP動態服務器頁面技術,VbScript編程,ODBC數據庫為FoxPro,空氣質量日報網站發布初步實現了動態管理;2006年本文作者采用iwms商業網站管理系統構建了新版“重慶環保在線”,網站在界面、內容管理、后臺管理等功能上大幅度提升,為適應新版網站載體的需求,自主開發了基于ASP.NET(C#),ODBC數據庫為Microsoft Access的可獨立運行的空氣質量日報發布系統并在“重慶環保在線”網站首頁和“空氣質量日報查詢”頁面調用,同時為重慶環保局網站、市政府公眾信息網、華龍網、重慶晚報網站等提供獨立調用。系統從2006年1月開始運行,整個“十一五”期間運行狀況十分穩定。
A S P.N E T結構是一個三層系統:U I層、業務邏輯層和數據層,如圖2所示。UI層負責與用戶交互,接收用戶的輸入并將服務器端傳來的數據呈現給客戶。業務邏輯層負責接收瀏覽器傳來的請求并將請求傳給數據層,同時將請求處理結果發給瀏覽器。它由W e b表單、X M LWeb服務和組件服務組成。其中Web表單是ASP.NET應用程序的核心所在,它是向客戶呈現數據和信息的基礎,也是響應和處理客戶與顯示的Web表單交互成的信息和數據的基礎。數據層是通過A D O.N E T操縱數據為事務邏輯層提供數據服務,如存儲數據操作結果、返回數據檢索結果等[3]。

圖2 ASP.NET的系統結構模型
與數據庫相連,A D O.N E T提供了如下3種方式:通過ODBC相連;通過OLEDB相連;直接與SQL Server相連。這3種方式由于應用層次的差異,使得效率由低到高,獨立性由高到低。對于相連數據庫的數據處理,也有2種方式,即1種是通過DataSet來隔離異構的數據源,另1種是以流方式從數據源讀取(DataReader方式)。傳統的應用程序是通過先建立到數據庫的連接,在程序的整個運行過程中維護連接的方式來設計的。ASP.NET采取了斷開連接方式的數據結構。當瀏覽器向Web服務器請求網頁時,服務器處理這個請求,并將所請求的網頁發送給瀏覽器,然后連接就被斷開,直到瀏覽器發出下一個請求。A D O.N E T的另一個創新是引入了數據集(Dataset)。一個數據集是內存中提供數據關系圖的高速緩沖區。數據集對數據源一無所知,它們可以由程序或通過從數據倉庫中調入數據而被生成、填充。不論數據從何處獲取,數據集都是通過使用同樣的程序模板而被操作的,并且它使用相同的潛在的數據緩沖區。
重慶空氣質量日報發布系統可以在 Windows2000server/XP/2003操作系統平臺上運行,Web服務器為IIS,數據庫為Microsoft Access,開發工具采用的Microsoft Visual Studio.net framework(C#)[4]和DreamWaver。數據展示在“重慶環保在線”對應欄目。
工作流程為:自動監測站數據經處理和計算后得出當天的空氣污染指數并存入中間數據表,用戶用瀏覽器訪問“重慶環保在線”首頁并在首頁特定位置找到數據上傳鏈接、進入數據上傳界面(見圖3);選擇需要上傳的日報中間數據表并上傳、點擊更新按鈕后,后臺將中間數據庫的新內容追加到服務器上的日報Access數據庫,日報最新數據在“重慶環保在線”首頁對應欄目顯示出來,達到 即時發布、即時見效的效果。

圖3 日報中間數據表上傳模塊界面
數據庫為一切信息系統的基礎,為適應“重慶環保在線”采用iwms商業網站管理系統Access版,本空氣質量日報發布系統后臺數據庫采用 Microsoft Access,ODBC方式連接,依重慶環境監測站歷史習慣中間數據表采用FoxPro表單。日報數據庫結構如圖4、圖5所示。在ClassInfo表中,ClassColor備注型字段保存指向色征的連接,比如:
<img src=./pic/classcolor5.jpg border=0style="filter:alpha(opacity=80);filter:chroma(color=FFFFFF)">

圖4 日報后臺數據庫及關聯

圖5 日報數據庫結構
該模塊提供了日報數據展示功能,顯示站點名稱、污染指數、污染狀況以及對應的色征,并顯示日報描述內容的游走字幕,在首頁對應欄目顯示。為重慶環境保護網、重慶市政府公眾信息網、華龍網、重慶晚報網站調用。如圖6所示。

圖6 日報數據展示內容
該模塊提供了日報數據的查詢功能,輸入待定日期即可查詢當日的空氣質量日報內容,及選定分類信息可以快速地找到符合條件的新聞,并輸出查詢結果。如圖7所示。

圖7 日報數據查詢界面
(1)首頁上傳模塊鏈接位置比較隱蔽,普通瀏覽者不易察覺。
(2)數據上傳模塊對上傳文件名以及后綴名過濾,非正確文件名及后綴名不能上傳,實踐證明,該雙重過濾優于用戶名密碼登陸安全性設置,且無需登陸便可操作,避免了多人使用同一密碼的弊端。
(3)在上傳了正確中間數據表并且判斷有新數據后,更新按鈕方能生效,進一步減少風險。
(4)當天日報數據上傳更新后,上傳按鍵、更新按鍵失效,需待第二天再次生效。
通過以上安全性設置,網站安全性得到保障,在整個“十一五”期間網站及空氣質量日報發布系統安全穩定的運行。
本空氣質量日報發布系統基于ASP.N E T(C#)+Accesss技術的應用,實現了在瀏覽器界面上的對空氣質量日報的 “即時發布、即時見效”以及查詢、調用等功能,極大程度減輕了空氣質量日報相關工作人員的工作負擔,大大提高了工作效率,并可實現遠程操作,后經擴展成為區縣上報數據的有效工具,在整個“十一五”期間安全穩定運行。并為重慶環境保護網、重慶市政府公眾信息網、華龍網、重慶晚報網站提供調用,極大地提升了重慶市環境監測中心的公信力,和我中心“十五”期間的日報發布系統相比較,在性能上和功能上有了很大的改善和提高。空氣質量日報后臺數據庫結構的優化,使得空氣質量日報站點擴充增減在數據庫一級便可操作完成;中間數據表的采用使系統對信息的管理更加及時、高效、安全、可靠;獨立的調用模塊、查詢模塊也方便了系統的管理和移植。
[1] 黎嘉明,鄭 燦.城市空氣質量日報自動發布系統的研究與開發[J].中國環境監測,2002.18(2):8-10.
[2] 李 順,魏斌.基于B/S結構的城市空氣質量日報發布系統設計[J].上海環境科學,2002.21(11):622-665.
[3] Michael Otey,Paul Conte著,陳恩義,吳 強,劉洪波譯,SQL Server 2000開發指南[M].北京:清華大學出版社,2002:447-449.
[4] 郭興峰,陳建偉.ASP.NET動態網站開發基礎教程(C#篇)[M].北京:清華大學出版社,2006:215-216.