劉合香,陳建偉
(廣西師范學(xué)院數(shù)學(xué)科學(xué)學(xué)院,廣西南寧 530023)
基于Web的熱帶氣旋災(zāi)害信息管理系統(tǒng)的設(shè)計(jì)與應(yīng)用*
劉合香,陳建偉
(廣西師范學(xué)院數(shù)學(xué)科學(xué)學(xué)院,廣西南寧 530023)
用基于Web的頁(yè)面顯示、業(yè)務(wù)邏輯、數(shù)據(jù)訪問(wèn)的B/S三層結(jié)構(gòu),在Microsoft SQL Server 2000和Microsoft Visual Studio 2005環(huán)境下設(shè)計(jì)開(kāi)發(fā)了熱帶氣旋災(zāi)害數(shù)據(jù)庫(kù)信息管理系統(tǒng)。對(duì)不同類型的數(shù)據(jù),采用多對(duì)多的數(shù)據(jù)映射關(guān)系,并以不同的方式進(jìn)行不同的數(shù)據(jù)管理。為了將沒(méi)有統(tǒng)一數(shù)據(jù)格式的熱帶氣旋災(zāi)害信息源數(shù)據(jù),能夠正確地導(dǎo)入到SQL Server數(shù)據(jù)庫(kù)中,編寫(xiě)了專門(mén)的C++程序?qū)?shù)據(jù)格式化,實(shí)現(xiàn)數(shù)據(jù)格式的BNF定義,同時(shí),在系統(tǒng)的設(shè)計(jì)中,融入災(zāi)害評(píng)價(jià)方法模型供用戶選擇使用,并采取多項(xiàng)行之有效的措施以防止SQL注入式攻擊。
熱帶氣旋;災(zāi)害信息;數(shù)據(jù)庫(kù);SQL Server 2000;Visual Studio 2005
中國(guó)政府在《國(guó)家綜合減災(zāi)“十一五”規(guī)劃》[1]中明確提出,“十一五”期間(2006-2010年)中國(guó)減災(zāi)的主要任務(wù)之一是:加強(qiáng)自然災(zāi)害風(fēng)險(xiǎn)隱患和信息管理能力建設(shè)。要求建立完善自然災(zāi)害風(fēng)險(xiǎn)隱患數(shù)據(jù)庫(kù),編制全國(guó)災(zāi)害高風(fēng)險(xiǎn)區(qū)及重點(diǎn)區(qū)域?yàn)?zāi)害風(fēng)險(xiǎn)圖等等。熱帶氣旋是發(fā)生在熱帶洋面上逆時(shí)針急速旋轉(zhuǎn)(北半球)并向前移動(dòng)的大氣渦旋。源于西北太平洋的熱帶氣旋在為我們帶來(lái)豐沛降水的同時(shí),也給我們?cè)斐闪巳缈耧L(fēng)、暴雨、洪澇、巨浪和風(fēng)暴潮等自然災(zāi)害。隨著熱帶氣旋災(zāi)害造成的影響越來(lái)越大,人們?cè)絹?lái)越重視通過(guò)采取各種減災(zāi)行動(dòng)對(duì)災(zāi)害進(jìn)行風(fēng)險(xiǎn)管理。建立一個(gè)綜合多種數(shù)據(jù)源的熱帶氣旋災(zāi)害信息數(shù)據(jù)庫(kù),把涉及到熱帶氣旋災(zāi)害領(lǐng)域的多種數(shù)據(jù)整合一起,通過(guò)管理、分析相關(guān)數(shù)據(jù)來(lái)達(dá)到對(duì)熱帶氣旋災(zāi)害進(jìn)行風(fēng)險(xiǎn)防范的目的[2-3]。本文在分析熱帶氣旋災(zāi)害數(shù)據(jù)特點(diǎn)的基礎(chǔ)上,以Visual Studio 2005為開(kāi)發(fā)工具,在Net Framework平臺(tái)上建立熱帶氣旋災(zāi)害信息數(shù)據(jù)庫(kù),實(shí)現(xiàn)熱帶氣旋災(zāi)害數(shù)據(jù)的信息管理。
根據(jù)熱帶氣旋災(zāi)害信息數(shù)據(jù)庫(kù)的特點(diǎn),在系統(tǒng)的需求分析中,主要分析普通用戶、VIP用戶(科研人員)和系統(tǒng)管理員之間的功能。
(1)為了方便普通用戶了解任意一個(gè)熱帶氣旋的災(zāi)情統(tǒng)計(jì)資料,系統(tǒng)給用戶提供注冊(cè)及登陸、更改個(gè)人資料和密碼、最新的相關(guān)網(wǎng)站鏈接和熱帶氣旋災(zāi)情信息,查詢(檢索)任意時(shí)段的地面觀測(cè)、災(zāi)情統(tǒng)計(jì)的數(shù)值資料和圖形資料,有興趣還可以進(jìn)一步查詢?yōu)那閳?bào)道綜述。
(2)防災(zāi)減災(zāi)的科學(xué)研究者的目標(biāo)是對(duì)災(zāi)害的一些統(tǒng)計(jì)數(shù)據(jù)序列、地面觀測(cè)數(shù)據(jù)、空間柵格數(shù)據(jù)等進(jìn)行分析和研究,對(duì)相應(yīng)的熱帶氣旋災(zāi)害做評(píng)估和對(duì)未來(lái)的熱帶氣旋災(zāi)害做預(yù)測(cè)。因此,系統(tǒng)為VIP用戶(科研人員)提供的功能有可查詢重要的熱帶氣旋災(zāi)害統(tǒng)計(jì)數(shù)據(jù)及其序列、熱帶氣旋災(zāi)害過(guò)程雨量數(shù)據(jù)圖、熱帶氣旋大風(fēng)災(zāi)害數(shù)據(jù)圖、熱帶氣旋災(zāi)情的遙感影像圖和數(shù)字柵格圖,查詢(檢索)任意時(shí)段的地面觀測(cè)等數(shù)據(jù)資料、受災(zāi)區(qū)劃圖形資料,還可以進(jìn)一步查詢地面觀測(cè)和空間柵格等數(shù)據(jù)的綜述。
(3)系統(tǒng)管理員的主要任務(wù)是要維護(hù)系統(tǒng)的正常運(yùn)行,因此,管理員除了有管理網(wǎng)站如公告、留言板、服務(wù)條款等基本信息的功能外,還擁有和普通用戶、VIP用戶同樣的功能,并且具有數(shù)據(jù)庫(kù)的備份和還原數(shù)據(jù)庫(kù)的數(shù)據(jù)庫(kù)管理功能和對(duì)災(zāi)害數(shù)據(jù)進(jìn)行補(bǔ)充、修正等功能。
2.1 系統(tǒng)的功能設(shè)計(jì)
根據(jù)對(duì)熱帶氣旋災(zāi)害信息數(shù)據(jù)庫(kù)的需求分析,為實(shí)現(xiàn)數(shù)據(jù)的存儲(chǔ)、顯示、查詢(檢索)添加、修改、刪除、批量導(dǎo)出導(dǎo)入、管理和維護(hù),需要進(jìn)行系統(tǒng)前臺(tái)與后臺(tái)的功能設(shè)計(jì)。系統(tǒng)功能如圖1所示。
圖1 熱帶氣旋災(zāi)害信息管理系統(tǒng)功能圖
2.2 系統(tǒng)的結(jié)構(gòu)設(shè)計(jì)
通過(guò)對(duì)系統(tǒng)需求、業(yè)務(wù)邏輯、數(shù)據(jù)層的分析,本系統(tǒng)采用Web三層結(jié)構(gòu)進(jìn)行設(shè)計(jì)開(kāi)發(fā)。系統(tǒng)結(jié)構(gòu)如圖2所示。
圖2 熱帶氣旋災(zāi)害信息管理系統(tǒng)結(jié)構(gòu)圖
2.3 網(wǎng)站的安全防范設(shè)計(jì)
數(shù)據(jù)庫(kù)是熱帶氣旋災(zāi)害信息管理的核心部分,網(wǎng)站中所有的數(shù)據(jù)都保存在數(shù)據(jù)庫(kù)中。計(jì)算機(jī)軟硬件故障、口令泄密、黑客攻擊等因素,都可能導(dǎo)致數(shù)據(jù)庫(kù)系統(tǒng)不能正常運(yùn)轉(zhuǎn),造成大量數(shù)據(jù)信息丟失,數(shù)據(jù)被惡意篡改,甚至使數(shù)據(jù)庫(kù)系統(tǒng)崩潰。為增強(qiáng)系統(tǒng)的安全,建立良好的賬號(hào)管理制度,首先,使用aspnet_regiis.exe注冊(cè)工具加密web配置文件。其次,為防止SQL注入式攻擊,主要采取以下措施:①刪除SQL語(yǔ)句中的敏感字符;②利用參數(shù)來(lái)使用存儲(chǔ)過(guò)程;③不提供IIS的執(zhí)行權(quán)限;④提供public權(quán)限訪問(wèn)數(shù)據(jù)庫(kù),不提供sa的權(quán)限。
2.4 系統(tǒng)的數(shù)據(jù)管理設(shè)計(jì)
由于熱帶氣旋災(zāi)害數(shù)據(jù)中,某些災(zāi)情統(tǒng)計(jì)數(shù)據(jù)具有多元性和一定的模糊性、不完備性,增加了數(shù)據(jù)庫(kù)設(shè)計(jì)的復(fù)雜性,為了實(shí)現(xiàn)對(duì)熱帶氣旋災(zāi)害多種數(shù)據(jù)進(jìn)行綜合管理,一方面,利用模糊信息優(yōu)化處理技術(shù)[4],挖掘盡可能多的有用信息,彌補(bǔ)信息的缺失。另一方面,采取多對(duì)多的映射關(guān)系,使某個(gè)熱帶氣旋災(zāi)害對(duì)應(yīng)多個(gè)不同的數(shù)據(jù),包括屬性數(shù)據(jù)、統(tǒng)計(jì)分析數(shù)據(jù)、空間數(shù)據(jù)等。某個(gè)數(shù)據(jù)也可以對(duì)應(yīng)多個(gè)熱帶氣旋,比如查詢到災(zāi)情區(qū)劃圖中的某個(gè)受災(zāi)區(qū)域,可能對(duì)應(yīng)與多個(gè)不同的熱帶氣旋。
(1)熱帶氣旋的屬性數(shù)據(jù) 如災(zāi)情發(fā)生的時(shí)段、災(zāi)情發(fā)生的區(qū)域、農(nóng)作物受災(zāi)面積、房屋倒塌間數(shù)、死亡人數(shù)、水利設(shè)施損失、直接經(jīng)濟(jì)損失等等,是熱帶氣旋災(zāi)害信息數(shù)據(jù)庫(kù)的基本組成部分,采用SQL關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)的格式化屬性表進(jìn)行存儲(chǔ)管理。其數(shù)據(jù)結(jié)構(gòu)根據(jù)各類數(shù)據(jù)的內(nèi)容和結(jié)構(gòu)建立關(guān)系表,并對(duì)各關(guān)系表建立索引,提高檢索效率。
(2)熱帶氣旋的統(tǒng)計(jì)分析數(shù)據(jù) 如歷年農(nóng)作物受災(zāi)面積統(tǒng)計(jì)、農(nóng)作物成災(zāi)面積統(tǒng)計(jì)、農(nóng)作物成災(zāi)面積占受災(zāi)面積的百分比,歷年直接經(jīng)濟(jì)損失統(tǒng)計(jì)、社會(huì)生產(chǎn)總值統(tǒng)計(jì)、直接經(jīng)濟(jì)損失占社會(huì)生產(chǎn)總值的百分比,50年來(lái)影響某區(qū)域的熱帶氣旋中形成災(zāi)害的個(gè)數(shù)統(tǒng)計(jì),熱帶氣旋災(zāi)害過(guò)程平均雨量和平均風(fēng)速統(tǒng)計(jì)等等,是進(jìn)一步對(duì)熱帶氣旋災(zāi)害的評(píng)估進(jìn)行數(shù)學(xué)建模和預(yù)測(cè)的重要參考依據(jù)。為了方便數(shù)值、直方圖或折線圖形式的數(shù)據(jù)與相關(guān)是空間數(shù)據(jù)進(jìn)行比較分析,先將其處理成空間數(shù)據(jù),然后按照空間數(shù)據(jù)中的柵格數(shù)據(jù)存儲(chǔ)管理。
(3)熱帶氣旋的空間數(shù)據(jù) 包括熱帶氣旋災(zāi)情的遙感影像圖和數(shù)字柵格圖,災(zāi)情實(shí)況區(qū)劃圖、災(zāi)情過(guò)程雨量圖、災(zāi)情風(fēng)速風(fēng)向圖、這些數(shù)據(jù)既是高效的災(zāi)害監(jiān)測(cè)手段,又對(duì)及時(shí)救災(zāi)和災(zāi)后重建起到重要的參考作用。ESRI提供的ArcSDE是一個(gè)連續(xù)的空間數(shù)據(jù)模型,可以提供對(duì)空間、非空間數(shù)據(jù)進(jìn)行等效率的操作和數(shù)據(jù)服務(wù),采用客戶/服務(wù)器的計(jì)算體系結(jié)構(gòu),既支持矢量型空間數(shù)據(jù),也支持柵格型的空間數(shù)據(jù)[5-6]。因此對(duì)于空間數(shù)據(jù)應(yīng)用ArcSDE進(jìn)行空間數(shù)據(jù)管理。
2.5 格式化源數(shù)據(jù)的設(shè)計(jì)
由于熱帶氣旋災(zāi)害信息的源數(shù)據(jù)沒(méi)有統(tǒng)一的數(shù)據(jù)格式,無(wú)法正確的導(dǎo)入到SQL Server數(shù)據(jù)庫(kù)中[7]。因此,需要專門(mén)編寫(xiě)C++程序進(jìn)行數(shù)據(jù)的格式化,下面為數(shù)據(jù)格式的BNF定義。
(1)輸入信息
輸入數(shù)據(jù):: =〈數(shù)據(jù)〉eof
數(shù)據(jù)::={〈記錄〉}
記錄::={〈數(shù)據(jù)項(xiàng)〉}
數(shù)據(jù)項(xiàng)::=[〈數(shù)據(jù)項(xiàng)〉][無(wú)用數(shù)據(jù)項(xiàng)]行結(jié)束符
數(shù)據(jù)項(xiàng)::=[無(wú)用數(shù)據(jù)項(xiàng)][〈數(shù)據(jù)項(xiàng)〉]行結(jié)束符
無(wú)用數(shù)據(jù)項(xiàng)::=space tab其他非文字?jǐn)?shù)據(jù)
(2)格式化輸出信息
輸出數(shù)據(jù):: =〈數(shù)據(jù)〉eof
數(shù)據(jù)::={〈記錄〉}
記錄::={〈數(shù)據(jù)項(xiàng)〉}
數(shù)據(jù)項(xiàng)::=〈數(shù)據(jù)項(xiàng)〉tab 〈數(shù)據(jù)項(xiàng)〉cr
其中,“::=”表示定義為,“{}”表示重復(fù),“[]”表示任選,“|”表示或者,“〈〉”表示非終結(jié)符,英文符號(hào)表示終結(jié)符。數(shù)據(jù)格式轉(zhuǎn)換程序使用C++語(yǔ)言進(jìn)行編程,其中,主要的數(shù)據(jù)結(jié)構(gòu)定義為:
2.6 系統(tǒng)中評(píng)價(jià)方法模型的設(shè)計(jì)
通過(guò)編程實(shí)現(xiàn)目前較為成熟的通用的數(shù)學(xué)綜合評(píng)價(jià)模型和災(zāi)害預(yù)測(cè)模型,系統(tǒng)根據(jù)評(píng)價(jià)對(duì)象和評(píng)價(jià)內(nèi)容給出默認(rèn)的評(píng)價(jià)方法,并允許用戶選擇其他評(píng)價(jià)方法以便于進(jìn)行各方法之間評(píng)價(jià)結(jié)果的對(duì)比。評(píng)價(jià)方法模型基于模塊化的思想設(shè)計(jì),便于增加新的評(píng)價(jià)方法,有利于系統(tǒng)的更新和維護(hù)。主要的評(píng)價(jià)方法模型包括層次分析(AHP)法、模糊綜合評(píng)判法、主成分分析法、灰色關(guān)聯(lián)度分析法、遺傳-模糊神經(jīng)網(wǎng)絡(luò)模型等[8-13]。
3.1 系統(tǒng)開(kāi)發(fā)及運(yùn)行環(huán)境
為了能夠在Internet上訪問(wèn)熱帶氣旋災(zāi)情數(shù)據(jù)庫(kù),本系統(tǒng)采用B/S的模式進(jìn)行開(kāi)發(fā),并且在設(shè)計(jì)時(shí)充分考慮到系統(tǒng)擴(kuò)充的各種因素。系統(tǒng)采用三層構(gòu)架進(jìn)行設(shè)計(jì)開(kāi)發(fā),使得本系統(tǒng)有良好的擴(kuò)展性,系統(tǒng)的開(kāi)發(fā)運(yùn)行環(huán)境如下:
(1)操作系統(tǒng):Windows 2003 server;
(2)數(shù)據(jù)庫(kù):Microsoft SQL Server 2000;
(3)開(kāi)發(fā)工具:Microsoft Visual Studio 2005;
(4)開(kāi)發(fā)語(yǔ)言及平臺(tái):C#,.Net Framework;
(5)Web服務(wù)器:IIS 6.0。
3.2 系統(tǒng)實(shí)現(xiàn)的主要代碼
(1)信息查詢頁(yè)面代碼
(2)后臺(tái)管理代碼
災(zāi)害信息數(shù)據(jù)管理是熱帶氣旋災(zāi)害進(jìn)行風(fēng)險(xiǎn)管理的重要技術(shù)基礎(chǔ)。由于熱帶氣旋災(zāi)害信息數(shù)據(jù)具有多元性、模糊性和不完備性,本文在分析用戶和管理員功能的前提下,采用基于web的頁(yè)面顯示、業(yè)務(wù)邏輯、數(shù)據(jù)訪問(wèn)三層結(jié)構(gòu),在Microsoft SQL Server 2000和Microsoft Visual Studio 2005環(huán)境下設(shè)計(jì)開(kāi)發(fā)了熱帶氣旋災(zāi)害信息管理數(shù)據(jù)庫(kù)。為了網(wǎng)站的安全和防止SQL注入式攻擊,采取了多項(xiàng)行之有效的措施。對(duì)不同類型的數(shù)據(jù),提出利用模糊信息優(yōu)化處理技術(shù)挖掘更多有用的數(shù)據(jù),采用多對(duì)多的數(shù)據(jù)映射關(guān)系,并以不同的方式進(jìn)行不同的數(shù)據(jù)管理。為了將沒(méi)有統(tǒng)一數(shù)據(jù)格式的熱帶氣旋災(zāi)害信息源數(shù)據(jù),能夠正確地導(dǎo)入到SQL Server數(shù)據(jù)庫(kù)中,采用專門(mén)編寫(xiě)的C++程序?qū)?shù)據(jù)格式化,實(shí)現(xiàn)數(shù)據(jù)格式的BNF定義,同時(shí),在系統(tǒng)的設(shè)計(jì)中,還融入災(zāi)害評(píng)價(jià)方法模型供用戶選擇使用。本系統(tǒng)的設(shè)計(jì)結(jié)構(gòu)合理簡(jiǎn)單實(shí)用,占用資源少,擴(kuò)展性好,易于實(shí)現(xiàn)網(wǎng)絡(luò)平臺(tái)上熱帶氣旋災(zāi)害信息的綜合管理。
[1] 國(guó)家綜合減災(zāi)“十一五”規(guī)劃[EB/OL].(2007-09-26)[2009-06-01].http://www.sdpc.gov.cn/fzgh/ghwb/ 115zxgh/P020070926535097977029.pdf.
[2] 趙林,武建軍.災(zāi)害風(fēng)險(xiǎn)防范數(shù)據(jù)庫(kù)的設(shè)計(jì)與開(kāi)發(fā)[J].自然災(zāi)害學(xué)報(bào),2008,17(1):44-48.
[3] 李艷蘭,歐藝,周紹毅,等.廣西熱帶氣旋災(zāi)害評(píng)估系統(tǒng)的開(kāi)發(fā)與應(yīng)用[J].氣象研究與應(yīng)用,2008,29(4):1-3.
[4] 黃崇福,王家鼎.模糊信息優(yōu)化處理技術(shù)及其應(yīng)用[M].北京:北京航空航天大學(xué)出版社,1995.
[5] 東北森林航空消防地理信息系統(tǒng)介紹[EB/OL].(2008-10 -22)[2009-06-01].http://blog.csdn.net/qing0991/archive/2008/10/22/3124118.aspx.
[6] 銀迎.地理柵格數(shù)據(jù)的空間數(shù)據(jù)庫(kù)存儲(chǔ)管理研究與實(shí)現(xiàn)[D].長(zhǎng)沙:中南大學(xué),2006.
[7] 劉芳,楊海濱,華薇娜.數(shù)據(jù)格式轉(zhuǎn)換軟件的設(shè)計(jì)與實(shí)現(xiàn)[J].現(xiàn)代圖書(shū)情報(bào)技術(shù),2008,24(4):80-85.
[8] 李春梅,羅曉玲,劉錦鑾,等.層次分析法在熱帶氣旋災(zāi)害影響評(píng)估模式中的應(yīng)用[J].熱帶氣象學(xué)報(bào),2006,22(3): 223-228.
[9] 劉合香,徐慶娟.區(qū)域洪澇災(zāi)害風(fēng)險(xiǎn)的模糊綜合評(píng)價(jià)與預(yù)測(cè)[J].災(zāi)害學(xué),2007,22(4):38-42.
[10]劉合香,黃鵠.基于模糊聚類分析的區(qū)域熱帶氣旋災(zāi)害評(píng)估與預(yù)測(cè)[J].廣西師院學(xué)報(bào):自然科學(xué)版,2009:26(1):67-71.
[11]李靖華,郭耀煌.主成分分析用于多指標(biāo)評(píng)價(jià)的方法研究——主成分評(píng)價(jià)[J].管理工程學(xué)報(bào),2002,16(1):39-43.
[12]吳慧,陳德明,吳勝安,等.灰色關(guān)聯(lián)分析在熱帶氣旋災(zāi)害等級(jí)評(píng)估中的應(yīng)用[J].熱帶作物學(xué)報(bào),2009,30(2):244-248.
[13]金菊良,魏一鳴,楊曉華.基于遺傳算法的洪水災(zāi)情評(píng)估神經(jīng)網(wǎng)絡(luò)模型探討[J].自然災(zāi)害學(xué)報(bào),1998,13(2):6-11.
Design and Application of A Web-based Information Management System for Tropical Cyclone Disaster
Liu Hexiang and Chen Jianwei
(College of Mathematics Science,Guangxi Teachers Education University,Nanning 530023,China)
Based on a B/S three-tier structure of user interface,business logical and data access,an information management system for tropical cyclone disaster is designed and developed under the environment of Microsoft SQL Server 2000 and Microsoft Visual Studio 2005.As to different types of data,many-to-many data mapping relation are adopted,and managements in different ways are conducted.In order to make tropical cyclone disaster information source data of no unified data format import SQL Server database correctly,special C++ program to format the data is made,and BNF definition of data format is implemented.At the same time,during the process of system design,a model of disaster evaluate method is provided for users to select and use,and many effective measures are taken to prevent SQL's injection attacks.
tropical cyclone;disaster information;database;SQL Server 2000;Visual Studio 2005
P444
A
1000-811X(2010)03-0110-04
2009-11-10
廣西科學(xué)研究與技術(shù)開(kāi)發(fā)計(jì)劃項(xiàng)目“防災(zāi)減災(zāi)與應(yīng)用示范”(桂科攻0993002-4);廣西教育廳面上項(xiàng)目(200911MS151);
中國(guó)氣象局新技術(shù)推廣項(xiàng)目(CMATG2008M49)
劉合香(1962-),女,副教授,山東茌平人,主要從事數(shù)學(xué)模型、災(zāi)害風(fēng)險(xiǎn)評(píng)估研究.E-mail:hx_post@126.com