劉永明,溫汝俊,陸 渝
(1.重慶市環(huán)境科學(xué)研究院,重慶401147;2.重慶市環(huán)境保護局,重慶401147;3.重慶工商大學(xué),重慶400067)
“空氣質(zhì)量日報”對公眾發(fā)布是環(huán)境監(jiān)測工作的重要內(nèi)容之一[1],空氣質(zhì)量日報主要依靠環(huán)境空氣質(zhì)量自動監(jiān)測系統(tǒng)連續(xù)不斷地實時監(jiān)測數(shù)據(jù),并自動傳輸?shù)街行目刂剖?,?jīng)數(shù)據(jù)處理和計算后得出當天的空氣污染指數(shù),再向上級部門和社會媒體公布??諝赓|(zhì)量日報業(yè)務(wù)流程可以分為3個階段[2],如圖1所示。
圖1 空氣質(zhì)量日報業(yè)務(wù)流程
重慶市空氣質(zhì)量日報的必測因子只包括SO2,NO2和PM10,日均值計算是采用上一天中午12時到次日12時的數(shù)據(jù)??諝赓|(zhì)量日報主要包括污染指數(shù)、首要污染物、空氣質(zhì)量級別和空氣質(zhì)量狀況。2008年6月之前,主要發(fā)布主城區(qū)空氣質(zhì)量日報,由主城區(qū)11個大氣自動監(jiān)測站(其中縉云山為清潔對照點)的監(jiān)測數(shù)據(jù)構(gòu)成,2008年6月5日開始傳輸主城以外的30個遠郊區(qū)縣,共計40個站點數(shù)據(jù)。其中2007年1月1日~2008年6月4日還增設(shè)了經(jīng)開區(qū)、高新區(qū)兩個站的數(shù)據(jù)。
1997年重慶市空氣質(zhì)量日報開始在“重慶環(huán)保在線”網(wǎng)站向社會發(fā)布,本文作者采用了當時流行的ASP動態(tài)服務(wù)器頁面技術(shù),VbScript編程,ODBC數(shù)據(jù)庫為FoxPro,空氣質(zhì)量日報網(wǎng)站發(fā)布初步實現(xiàn)了動態(tài)管理;2006年本文作者采用iwms商業(yè)網(wǎng)站管理系統(tǒng)構(gòu)建了新版“重慶環(huán)保在線”,網(wǎng)站在界面、內(nèi)容管理、后臺管理等功能上大幅度提升,為適應(yīng)新版網(wǎng)站載體的需求,自主開發(fā)了基于ASP.NET(C#),ODBC數(shù)據(jù)庫為Microsoft Access的可獨立運行的空氣質(zhì)量日報發(fā)布系統(tǒng)并在“重慶環(huán)保在線”網(wǎng)站首頁和“空氣質(zhì)量日報查詢”頁面調(diào)用,同時為重慶環(huán)保局網(wǎng)站、市政府公眾信息網(wǎng)、華龍網(wǎng)、重慶晚報網(wǎng)站等提供獨立調(diào)用。系統(tǒng)從2006年1月開始運行,整個“十一五”期間運行狀況十分穩(wěn)定。
A S P.N E T結(jié)構(gòu)是一個三層系統(tǒng):U I層、業(yè)務(wù)邏輯層和數(shù)據(jù)層,如圖2所示。UI層負責(zé)與用戶交互,接收用戶的輸入并將服務(wù)器端傳來的數(shù)據(jù)呈現(xiàn)給客戶。業(yè)務(wù)邏輯層負責(zé)接收瀏覽器傳來的請求并將請求傳給數(shù)據(jù)層,同時將請求處理結(jié)果發(fā)給瀏覽器。它由W e b表單、X M LWeb服務(wù)和組件服務(wù)組成。其中Web表單是ASP.NET應(yīng)用程序的核心所在,它是向客戶呈現(xiàn)數(shù)據(jù)和信息的基礎(chǔ),也是響應(yīng)和處理客戶與顯示的Web表單交互成的信息和數(shù)據(jù)的基礎(chǔ)。數(shù)據(jù)層是通過A D O.N E T操縱數(shù)據(jù)為事務(wù)邏輯層提供數(shù)據(jù)服務(wù),如存儲數(shù)據(jù)操作結(jié)果、返回數(shù)據(jù)檢索結(jié)果等[3]。
圖2 ASP.NET的系統(tǒng)結(jié)構(gòu)模型
與數(shù)據(jù)庫相連,A D O.N E T提供了如下3種方式:通過ODBC相連;通過OLEDB相連;直接與SQL Server相連。這3種方式由于應(yīng)用層次的差異,使得效率由低到高,獨立性由高到低。對于相連數(shù)據(jù)庫的數(shù)據(jù)處理,也有2種方式,即1種是通過DataSet來隔離異構(gòu)的數(shù)據(jù)源,另1種是以流方式從數(shù)據(jù)源讀?。―ataReader方式)。傳統(tǒng)的應(yīng)用程序是通過先建立到數(shù)據(jù)庫的連接,在程序的整個運行過程中維護連接的方式來設(shè)計的。ASP.NET采取了斷開連接方式的數(shù)據(jù)結(jié)構(gòu)。當瀏覽器向Web服務(wù)器請求網(wǎng)頁時,服務(wù)器處理這個請求,并將所請求的網(wǎng)頁發(fā)送給瀏覽器,然后連接就被斷開,直到瀏覽器發(fā)出下一個請求。A D O.N E T的另一個創(chuàng)新是引入了數(shù)據(jù)集(Dataset)。一個數(shù)據(jù)集是內(nèi)存中提供數(shù)據(jù)關(guān)系圖的高速緩沖區(qū)。數(shù)據(jù)集對數(shù)據(jù)源一無所知,它們可以由程序或通過從數(shù)據(jù)倉庫中調(diào)入數(shù)據(jù)而被生成、填充。不論數(shù)據(jù)從何處獲取,數(shù)據(jù)集都是通過使用同樣的程序模板而被操作的,并且它使用相同的潛在的數(shù)據(jù)緩沖區(qū)。
重慶空氣質(zhì)量日報發(fā)布系統(tǒng)可以在 Windows2000server/XP/2003操作系統(tǒng)平臺上運行,Web服務(wù)器為IIS,數(shù)據(jù)庫為Microsoft Access,開發(fā)工具采用的Microsoft Visual Studio.net framework(C#)[4]和DreamWaver。數(shù)據(jù)展示在“重慶環(huán)保在線”對應(yīng)欄目。
工作流程為:自動監(jiān)測站數(shù)據(jù)經(jīng)處理和計算后得出當天的空氣污染指數(shù)并存入中間數(shù)據(jù)表,用戶用瀏覽器訪問“重慶環(huán)保在線”首頁并在首頁特定位置找到數(shù)據(jù)上傳鏈接、進入數(shù)據(jù)上傳界面(見圖3);選擇需要上傳的日報中間數(shù)據(jù)表并上傳、點擊更新按鈕后,后臺將中間數(shù)據(jù)庫的新內(nèi)容追加到服務(wù)器上的日報Access數(shù)據(jù)庫,日報最新數(shù)據(jù)在“重慶環(huán)保在線”首頁對應(yīng)欄目顯示出來,達到 即時發(fā)布、即時見效的效果。
圖3 日報中間數(shù)據(jù)表上傳模塊界面
數(shù)據(jù)庫為一切信息系統(tǒng)的基礎(chǔ),為適應(yīng)“重慶環(huán)保在線”采用iwms商業(yè)網(wǎng)站管理系統(tǒng)Access版,本空氣質(zhì)量日報發(fā)布系統(tǒng)后臺數(shù)據(jù)庫采用 Microsoft Access,ODBC方式連接,依重慶環(huán)境監(jiān)測站歷史習(xí)慣中間數(shù)據(jù)表采用FoxPro表單。日報數(shù)據(jù)庫結(jié)構(gòu)如圖4、圖5所示。在ClassInfo表中,ClassColor備注型字段保存指向色征的連接,比如:
<img src=./pic/classcolor5.jpg border=0style="filter:alpha(opacity=80);filter:chroma(color=FFFFFF)">
圖4 日報后臺數(shù)據(jù)庫及關(guān)聯(lián)
圖5 日報數(shù)據(jù)庫結(jié)構(gòu)
該模塊提供了日報數(shù)據(jù)展示功能,顯示站點名稱、污染指數(shù)、污染狀況以及對應(yīng)的色征,并顯示日報描述內(nèi)容的游走字幕,在首頁對應(yīng)欄目顯示。為重慶環(huán)境保護網(wǎng)、重慶市政府公眾信息網(wǎng)、華龍網(wǎng)、重慶晚報網(wǎng)站調(diào)用。如圖6所示。
圖6 日報數(shù)據(jù)展示內(nèi)容
該模塊提供了日報數(shù)據(jù)的查詢功能,輸入待定日期即可查詢當日的空氣質(zhì)量日報內(nèi)容,及選定分類信息可以快速地找到符合條件的新聞,并輸出查詢結(jié)果。如圖7所示。
圖7 日報數(shù)據(jù)查詢界面
(1)首頁上傳模塊鏈接位置比較隱蔽,普通瀏覽者不易察覺。
(2)數(shù)據(jù)上傳模塊對上傳文件名以及后綴名過濾,非正確文件名及后綴名不能上傳,實踐證明,該雙重過濾優(yōu)于用戶名密碼登陸安全性設(shè)置,且無需登陸便可操作,避免了多人使用同一密碼的弊端。
(3)在上傳了正確中間數(shù)據(jù)表并且判斷有新數(shù)據(jù)后,更新按鈕方能生效,進一步減少風(fēng)險。
(4)當天日報數(shù)據(jù)上傳更新后,上傳按鍵、更新按鍵失效,需待第二天再次生效。
通過以上安全性設(shè)置,網(wǎng)站安全性得到保障,在整個“十一五”期間網(wǎng)站及空氣質(zhì)量日報發(fā)布系統(tǒng)安全穩(wěn)定的運行。
本空氣質(zhì)量日報發(fā)布系統(tǒng)基于ASP.N E T(C#)+Accesss技術(shù)的應(yīng)用,實現(xiàn)了在瀏覽器界面上的對空氣質(zhì)量日報的 “即時發(fā)布、即時見效”以及查詢、調(diào)用等功能,極大程度減輕了空氣質(zhì)量日報相關(guān)工作人員的工作負擔,大大提高了工作效率,并可實現(xiàn)遠程操作,后經(jīng)擴展成為區(qū)縣上報數(shù)據(jù)的有效工具,在整個“十一五”期間安全穩(wěn)定運行。并為重慶環(huán)境保護網(wǎng)、重慶市政府公眾信息網(wǎng)、華龍網(wǎng)、重慶晚報網(wǎng)站提供調(diào)用,極大地提升了重慶市環(huán)境監(jiān)測中心的公信力,和我中心“十五”期間的日報發(fā)布系統(tǒng)相比較,在性能上和功能上有了很大的改善和提高??諝赓|(zhì)量日報后臺數(shù)據(jù)庫結(jié)構(gòu)的優(yōu)化,使得空氣質(zhì)量日報站點擴充增減在數(shù)據(jù)庫一級便可操作完成;中間數(shù)據(jù)表的采用使系統(tǒng)對信息的管理更加及時、高效、安全、可靠;獨立的調(diào)用模塊、查詢模塊也方便了系統(tǒng)的管理和移植。
[1] 黎嘉明,鄭 燦.城市空氣質(zhì)量日報自動發(fā)布系統(tǒng)的研究與開發(fā)[J].中國環(huán)境監(jiān)測,2002.18(2):8-10.
[2] 李 順,魏斌.基于B/S結(jié)構(gòu)的城市空氣質(zhì)量日報發(fā)布系統(tǒng)設(shè)計[J].上海環(huán)境科學(xué),2002.21(11):622-665.
[3] Michael Otey,Paul Conte著,陳恩義,吳 強,劉洪波譯,SQL Server 2000開發(fā)指南[M].北京:清華大學(xué)出版社,2002:447-449.
[4] 郭興峰,陳建偉.ASP.NET動態(tài)網(wǎng)站開發(fā)基礎(chǔ)教程(C#篇)[M].北京:清華大學(xué)出版社,2006:215-216.