李 嫦,胡新華,黃 玲
(江西省大氣探測技術(shù)中心監(jiān)控科,江西 南昌 330001)
江西省位于長江中下游南岸,是全國12個地質(zhì)災(zāi)害易發(fā)、多發(fā)、危害嚴(yán)重的省份之一,土地總面積16.69 ×104km2,山地、丘陵占 77.18%,年降水量大約1400~2000 mm,每年因?yàn)樯胶榈刭|(zhì)災(zāi)害導(dǎo)致死亡的人數(shù)占全省洪澇災(zāi)害死亡人數(shù)的80%,降水多集中于春夏兩季,降水時(shí)間集中,非常容易誘發(fā)小流域的山洪地質(zhì)災(zāi)害,是防汛工作的重點(diǎn)和難點(diǎn)。針對強(qiáng)降雨引發(fā)的山洪地質(zhì)災(zāi)害,近年來不斷完善預(yù)警系統(tǒng)建設(shè),全面落實(shí)責(zé)任體系,加強(qiáng)山洪地質(zhì)災(zāi)害防御,最大限度地減少因?yàn)?zāi)造成的人員傷亡和財(cái)產(chǎn)損失。圖1為江西省山洪災(zāi)害易發(fā)區(qū)分布圖。
2011年10月開始,江西省政府與國家氣象局合作大力推進(jìn)山洪地質(zhì)災(zāi)害防治氣象保障工程。江西省氣象局認(rèn)真部署并積極開展山洪地質(zhì)災(zāi)害防治氣象保障工作,目前已完成611個單雨量站的建設(shè)。山洪雨量站分布見圖2。江西省大氣探測技術(shù)中心技術(shù)人員從自身業(yè)務(wù)需要出發(fā),并結(jié)合省、市、縣多方面的業(yè)務(wù)應(yīng)用的需求,研發(fā)了基于省級平臺的江西省山洪地質(zhì)災(zāi)害雨量站運(yùn)行監(jiān)控系統(tǒng)。
為了使山洪監(jiān)控系統(tǒng)更加簡單、通用,系統(tǒng)采用B/S模式,即瀏覽器/服務(wù)器結(jié)構(gòu)。B/S模式的最大好處是運(yùn)行維護(hù)簡單,不需要使用復(fù)雜的專用軟件,可減少系統(tǒng)維護(hù)和升級帶來的成本。在一臺服務(wù)器上安裝和配置IIS服務(wù),用戶用IE瀏覽器通過局域網(wǎng)來訪問該服務(wù)器。山洪監(jiān)控系統(tǒng)依據(jù)軟件體系的結(jié)構(gòu),結(jié)合本系統(tǒng)的設(shè)計(jì)特點(diǎn),采用B/S三層架構(gòu)設(shè)計(jì)作為系統(tǒng)框架。B/S三層架構(gòu)按整個業(yè)務(wù)應(yīng)用劃分為:表示層、業(yè)務(wù)處理層和數(shù)據(jù)層。圖3為系統(tǒng)架構(gòu)圖。
圖1 江西省山洪災(zāi)害易發(fā)區(qū)分布圖
圖2 江西省山洪雨量站分布圖
系統(tǒng)顯示模塊負(fù)責(zé)接收用戶的輸入信息,并將輸出的結(jié)果顯示在界面上,供用戶查看;同時(shí)還負(fù)責(zé)進(jìn)行訪問安全性驗(yàn)證,即驗(yàn)證輸入數(shù)據(jù)的正確性和有效性。業(yè)務(wù)處理模塊為山洪監(jiān)控系統(tǒng)功能的實(shí)現(xiàn)提供了一個接口,負(fù)責(zé)系統(tǒng)業(yè)務(wù)處理,后臺程序負(fù)責(zé)圖片和監(jiān)控信息的生成、處理及顯示。數(shù)據(jù)模塊包含了系統(tǒng)所有功能的操作方法,該層主要與數(shù)據(jù)庫連接,將存放在數(shù)據(jù)庫中的數(shù)據(jù)提取出來,然后由業(yè)務(wù)處理層轉(zhuǎn)交、顯示在界面上。
圖3 系統(tǒng)架構(gòu)圖
本系統(tǒng)采用Microsoft SQL Server 2000數(shù)據(jù)庫進(jìn)行數(shù)據(jù)管理。系統(tǒng)總體功能結(jié)構(gòu)如圖4所示。
圖4 總體功能結(jié)構(gòu)圖
系統(tǒng)的主要功能包含用戶管理與業(yè)務(wù)流程管理兩方面;用戶管理實(shí)現(xiàn)重新登錄、管理用戶和權(quán)限管理這3個子功能;業(yè)務(wù)流程管理包括圖片管理、信息管理、數(shù)據(jù)查詢、數(shù)據(jù)處理、數(shù)據(jù)存儲5大功能。整個流程以數(shù)據(jù)生成圖片,以圖片顯示狀態(tài),以狀態(tài)形成文字,以文字進(jìn)行存儲。
系統(tǒng)主要涉及2個數(shù)據(jù)庫,其中一個是遠(yuǎn)程數(shù)據(jù)庫,主要是供后臺程序使用;另一個數(shù)據(jù)庫是存儲狀態(tài)信息和用戶信息;數(shù)據(jù)庫中設(shè)置了4張表,見表1。
表1 數(shù)據(jù)庫表
山洪監(jiān)控系統(tǒng)數(shù)據(jù)模塊采用的是ASP(Active Server Page)編程語言,它能夠方便地與數(shù)據(jù)庫和其它程序進(jìn)行交互,是一種簡單、方便的編程工具。利用ASP實(shí)現(xiàn)數(shù)據(jù)管理的關(guān)鍵代碼如下。
(1)鏈接數(shù)據(jù)庫。
Conn.open"Provider=SQLOLEDB.1;UID= **;pwd=**;DATABASE=cawsanywhereserver;Data Source=172.20.112.**"
(2)查詢數(shù)據(jù)。
Sql="select臺站號,時(shí)間,電壓,雨量from數(shù)據(jù)表where臺站號='"&id(i)&"'and(時(shí)間>='"&ss&"'and時(shí)間<='"&ee&"')order by時(shí)間"
(3)顯示數(shù)據(jù)。
<tablewidth="320"border="0"align="center"cellpadding="0"cellspacing="1"bgcolor="#CCCCCC"id="2">
<tr bgcolor="#FFFFFF">
<tdwidth="80"align="middle"valign="middle">
<%=臺站號% ></td>
<td width="100"align="middle"valign="middle">
<%=時(shí)間% ></td>
<%stt=Formatnumber((電壓/10),"0.00")% >
<td width="70"align="middle"valign="middle">
<%=stt%></td>
<tdwidth="70"align="middle"valign="middle">
<%=雨量% ></td>
</tr>
</table>
圖5 系統(tǒng)主界面
圖片管理是整個業(yè)務(wù)流程的第一個環(huán)節(jié),也是最重要的環(huán)節(jié),這個環(huán)節(jié)是依托后臺VB程序生成最終的圖片文件,上傳到ASP網(wǎng)頁上供用戶瀏覽和查看。如圖5,進(jìn)入系統(tǒng)的主頁面,主頁面上顯示出全省山洪雨量站的分布圖。圖片管理主要包括圖片生成、圖片處理和圖片更新等功能。圖片管理流程如圖6。
圖6 系統(tǒng)流程圖
導(dǎo)入省級底圖和縣級底圖。打開記事本,根據(jù)各站點(diǎn)經(jīng)緯度得到省級和縣級分布圖。鏈接數(shù)據(jù)庫,根據(jù)記事本中各站點(diǎn)號在數(shù)據(jù)表中查找出數(shù)據(jù)信息,由數(shù)據(jù)信息判斷站點(diǎn)運(yùn)行狀態(tài),顯示在省級分布圖上。同時(shí)依據(jù)各站點(diǎn)所在縣名,將站點(diǎn)區(qū)分開來,運(yùn)行狀態(tài)對應(yīng)顯示在各縣級分布圖上。根據(jù)程序中設(shè)定的時(shí)間控件,定時(shí)提取數(shù)據(jù)庫中的數(shù)據(jù),定時(shí)更新實(shí)時(shí)圖片。例如,遂川縣雨量站分布如圖7所示:圖中圓點(diǎn)顯示運(yùn)行正常,三角點(diǎn)即為故障站點(diǎn)。
圖7 遂川縣實(shí)時(shí)圖片
信息管理作為圖片處理所產(chǎn)生的一道程序,包括信息生成和信息處理兩大模塊。文字信息是根據(jù)提取遠(yuǎn)程數(shù)據(jù)庫中的數(shù)據(jù)并加以判斷產(chǎn)生的,這里把數(shù)據(jù)判斷分為3種情況。
(1)無數(shù)據(jù)。
在數(shù)據(jù)表中根據(jù)臺站號查詢某臺站的記錄集是否存在,若記錄集為空,則提取無數(shù)據(jù)的臺站,以某某臺站無數(shù)據(jù)存入記事本。
(2)數(shù)據(jù)未到。
在有記錄集的臺站中,24小時(shí)內(nèi)無數(shù)據(jù)的臺站以數(shù)據(jù)未到表示,提取出來,以臺站數(shù)據(jù)未到存入記事本;若某臺站接收數(shù)據(jù)的最后時(shí)刻與系統(tǒng)當(dāng)前時(shí)刻間隔大于或等于2小時(shí),計(jì)算出相差時(shí)間t,以數(shù)據(jù)t小時(shí)未到存入記事本。
(3)數(shù)據(jù)缺失。
在24小時(shí)內(nèi),若臺站數(shù)據(jù)上傳的前后時(shí)間間隔大于或等于2小時(shí),計(jì)算出間隔時(shí)間t,以數(shù)據(jù)缺失t個小時(shí)存入記事本。這樣記事本中得到所有故障臺站的狀態(tài)文字信息,如圖8所示。在程序中利用插入語句將記事本中存儲的信息寫入本地?cái)?shù)據(jù)庫。信息整理入庫,方便二次調(diào)用。
圖8 故障臺站狀態(tài)信息
數(shù)據(jù)處理分為數(shù)據(jù)未到、數(shù)據(jù)正常、無數(shù)據(jù)3個部分。點(diǎn)擊進(jìn)入某一縣站,表格中所顯示的是各臺站的實(shí)時(shí)數(shù)據(jù),即每個臺站最新的那條記錄。把表格中最新觀測時(shí)間與當(dāng)前時(shí)間做比較,若等于當(dāng)前時(shí)刻,那么數(shù)據(jù)正常;如果觀測時(shí)間顯示比當(dāng)前時(shí)刻早,那么備注欄內(nèi)顯示數(shù)據(jù)未到;若某條記錄,只顯示臺站號和臺站名,其他幾欄均為“無”,那么備注欄顯示無數(shù)據(jù)并以紅色標(biāo)注。這樣就使得用戶能通過表格清楚地知道當(dāng)前臺站的運(yùn)行情況。
數(shù)據(jù)存儲即系統(tǒng)將查詢的歷史數(shù)據(jù)進(jìn)行存儲與顯示。首先用戶選擇需要查詢的臺站名,然后選擇相應(yīng)的時(shí)間段,ASP代碼根據(jù)用戶所選,調(diào)用遠(yuǎn)程數(shù)據(jù)庫,將數(shù)據(jù)集以列表的形式顯示在界面上,用戶可以選擇在線預(yù)覽或點(diǎn)擊右上角的下載按鈕,下載形式可以選擇文本或Excel表格形式保存。
山洪地質(zhì)災(zāi)害雨量站監(jiān)控系統(tǒng)是根據(jù)山洪觀測中的實(shí)際情況自行開發(fā)的一款基于ASP的監(jiān)測系統(tǒng)。該系統(tǒng)較好地滿足了日常觀測中的基本需求,具有較好的現(xiàn)實(shí)意義。該監(jiān)測系統(tǒng)已經(jīng)在全省氣象裝備監(jiān)控平臺上運(yùn)行,系統(tǒng)使用至今性能穩(wěn)定,各項(xiàng)功能符合當(dāng)前的業(yè)務(wù)需求,得到各級業(yè)務(wù)人員的肯定。自該系統(tǒng)上線以來,不僅提高了工作效率,還推進(jìn)了監(jiān)控工作的信息化、規(guī)范化、科學(xué)化。隨著現(xiàn)代氣象化業(yè)務(wù)的不斷增加,系統(tǒng)將會不斷地改進(jìn),以適應(yīng)業(yè)務(wù)管理發(fā)展需求,從而為山洪地質(zhì)災(zāi)害防御工作帶來便利。
[1]邱啟勇,李世勤.2010年江西省山洪災(zāi)害防御實(shí)踐及思考[J].江西水利科技,2011,37(3):165-168.
[2]高煜中,邢俊江,王春麗,等.暴雨山洪災(zāi)害成因及預(yù)報(bào)方法[J].自然災(zāi)害學(xué)報(bào),2006,15(4):65-70.
[3]任洪玉,鄒翔,張平倉.我國山洪災(zāi)害成因分析[J].中國水利,2007(14):18-20.
[4]夏小華,寧小華,黃春財(cái),等.江西永豐縣山洪災(zāi)害防御體系工作實(shí)踐[J].中國防汛抗旱,2012(6):35,43.
[5]謝彥.江西省山洪災(zāi)害系統(tǒng)的特征以及區(qū)劃防治的初步研究[J].河北農(nóng)業(yè)科學(xué),2011,15(12):75-78.
[6]張傳武,公岷.基于物聯(lián)網(wǎng)的山洪地質(zhì)災(zāi)害預(yù)警系統(tǒng)[J].通信技術(shù),2013,46(2):62-63,66.
[7]李國紅,秦鴻霞.Web數(shù)據(jù)庫技術(shù)及應(yīng)用[M].北京:清華大學(xué)出版社,2011.
[8]盧揚(yáng),張光桃.基于ASP.NET技術(shù)的印刷管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)與現(xiàn)代化,2012(12):99-102,109.
[9]許曰賓,程亮.ASP網(wǎng)絡(luò)編程實(shí)例[M].北京:人民郵電出版社,2001.
[10]張勁勇.基于C/S和B/S混合結(jié)構(gòu)學(xué)生管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].科技信息,2010(17):55-56.
[11]于化龍,關(guān)守義,李孟建,等.利用VB和ASP操作遠(yuǎn)程數(shù)據(jù)庫的技術(shù)[J].計(jì)算機(jī)應(yīng)用與軟件,2003,20(4):7-8,62.
[12]宋揚(yáng),宋凱,呂智杰.基于Web平臺的智能信息管理系統(tǒng)設(shè)計(jì)[J].微計(jì)算機(jī)信息,2008,24(12):253-254,219.
[13]何汝凡,李俊,盧家羽.建立縣級山洪災(zāi)害全自動預(yù)警系統(tǒng)的思考與設(shè)計(jì)[J].安徽農(nóng)學(xué)通報(bào),2012,18(18):172-173.
[14]葉仕平.基于ASP.NET的圖書館志愿者考勤系統(tǒng)[J].計(jì)算機(jī)與現(xiàn)代化,2012(11):108-112,118.