曹方 楊生舉 蘇海龍 蒙杰
摘要 采用PHP技術、XML技術和數(shù)據(jù)庫技術,基于B/S/D 3層架構設計完成的藏漢雙語應急救災專題數(shù)據(jù)庫系統(tǒng),涉及了從采集、加工、發(fā)布、檢索到管理的專題數(shù)據(jù)庫建設全過程,滿足用戶快速建立藏漢雙語應急救災數(shù)據(jù)庫的需求,突破在藏區(qū)應急救災過程中藏語與漢語信息溝通的障礙,為應急救災爭取時間,降低災害損失;加強對數(shù)據(jù)庫的質(zhì)量控制,為應急救災提供高質(zhì)量的數(shù)據(jù)支撐。詳細介紹系統(tǒng)研發(fā)所采用的PHP和XML等關鍵技術、系統(tǒng)的整體架構、系統(tǒng)的設計和實現(xiàn)過程、數(shù)據(jù)質(zhì)量的控制方法,并給出關鍵代碼,最后介紹該系統(tǒng)的應用情況。
關鍵詞 應急救災;XML;PHP;專題數(shù)據(jù)庫
中圖分類號 S126;TP315 文獻標識碼 A 文章編號 0517-6611(2014)26-09228-03
數(shù)字信息爆炸式增長給人們帶來方便的同時也帶來了極大不便,如何從海量的信息中快速、高效、準確地檢索到自己所需的有價值信息,是圖書情報界研究的一個重點。專題數(shù)據(jù)庫的構建和應用是解決這一難題的有效途徑之一[1]。
用戶對信息的需求不斷向?qū)!⑸罨l(fā)展,使得專題數(shù)據(jù)庫的研究越來越受到重視。所謂專題數(shù)據(jù)庫是用戶所需的專業(yè)性的、專題化的信息資源,從海量的信息資源中通過采集、標引和組織等工作而建立的數(shù)據(jù)庫。
應急救災專題數(shù)據(jù)庫是指當災害發(fā)生后,應快速查明災情,及時展開應急救援活動,做到正確果斷地指揮決策,從而為決策者快速、準確地提供災區(qū)人口、自然地理地貌、交通、重要目標位置、聯(lián)絡方式等基礎信息的專門性數(shù)據(jù)庫,是政府迅速、有效應對地震、泥石流等突發(fā)事件的重要決策依據(jù),對于提高政府防災減災和應對突發(fā)事件能力具有十分重要的意義。
數(shù)據(jù)的質(zhì)量是數(shù)據(jù)庫建設的根本所在,若不重視數(shù)據(jù)質(zhì)量的控制,建成的專題數(shù)據(jù)庫使用價值可能很低甚至帶來負面價值,而在應急救災的緊急情況下,數(shù)據(jù)的質(zhì)量變得更為重要,是進行科學高效救災的前提[2]。該研究從數(shù)據(jù)完整性、準確性、安全性等方面闡述了如何加強數(shù)據(jù)庫的質(zhì)量控制。
藏漢雙語應急救災數(shù)據(jù)庫的建設將為藏區(qū)的應急救災提供強有力的數(shù)據(jù)支撐,突破應急救災過程中藏語與漢語信息溝通的障礙,為應急救災爭取時間,降低災害損失。
為此,筆者詳細介紹了系統(tǒng)研發(fā)所采用的PHP和XML等關鍵技術、系統(tǒng)的整體架構、系統(tǒng)的設計和實現(xiàn)過程、數(shù)據(jù)質(zhì)量的控制方法,并給出了關鍵代碼,最后介紹了該系統(tǒng)的應用情況。
1 系統(tǒng)總體架構
應急救災專題數(shù)據(jù)庫主要包括人口數(shù)據(jù)庫、行政區(qū)劃數(shù)據(jù)庫、地理交通數(shù)據(jù)庫、地形地貌數(shù)據(jù)庫、重點部位多媒體數(shù)據(jù)庫、氣候要素數(shù)據(jù)庫、聯(lián)絡方式數(shù)據(jù)庫。藏漢雙語應急救災專題數(shù)據(jù)庫系統(tǒng)的建設是采用藏語、漢語兩種語言同步完成專題數(shù)據(jù)庫信息的采集匯總。
普通用戶通過瀏覽器訪問WEB服務的基本功能模塊;決策用戶通過身份認證后訪問WEB服務的授權功能模塊;系統(tǒng)管理員通過數(shù)據(jù)發(fā)布系統(tǒng)發(fā)布專題數(shù)據(jù),并對數(shù)據(jù)進行維護管理。WEB服務器通過ODBC技術訪問數(shù)據(jù)庫服務器上的應急救災專題數(shù)據(jù)庫,如鄉(xiāng)鎮(zhèn)人口數(shù)據(jù)、交通數(shù)據(jù)、社區(qū)行政區(qū)圖數(shù)據(jù)等。系統(tǒng)總體架構圖如圖1所示。
2 關鍵技術
2.1 PHP技術
PHP(Hypertext Preprocessor,超文本預處理器)是一種在服務器端執(zhí)行的嵌入HTML文檔的腳本語言[3-4],完全是開源的,可以從中加入自己需要的特色。PHP的優(yōu)點:容易與HTML網(wǎng)頁融合,執(zhí)行效率高;內(nèi)嵌在HTML主頁里,修改成本低,開發(fā)速度快;消耗較少的系統(tǒng)資源;跨平臺運行;具有豐富的函數(shù)接口;公開API函數(shù),很容易增加模塊,進行語言擴展;支持幾乎所有流行的數(shù)據(jù)庫以及操作系統(tǒng);具有完善的和不斷增強的XML支持功能;在Web服務器端運行,且具有很高的安全性[5]。
2.2 XML技術
XML( Extensible Markup Language,可擴展標記語言)是一種W3C標準[6],主要用于Web應用程序和服務器之間的數(shù)據(jù)交互、存儲和使用[7]。它是一整套定義語義標記的規(guī)則,允許用戶對自己的標記語言進行定義,這些標記將文檔分成許多部件,并對這些部件加以標識[8]。在系統(tǒng)開發(fā)中利用XML可輕松地格式化顯示來自幾乎任何數(shù)據(jù)源的數(shù)據(jù)。XML已在Internet界被廣泛接受和使用,成為數(shù)據(jù)交換、存儲的重要標準[9]。
3 系統(tǒng)設計
3.1 系統(tǒng)功能設計
應急救災專題數(shù)據(jù)庫系統(tǒng)主要包括人口數(shù)據(jù)庫、行政區(qū)劃數(shù)據(jù)庫、地理交通數(shù)據(jù)庫、地形地貌數(shù)據(jù)庫、重點部位多媒體數(shù)據(jù)庫、氣候要素數(shù)據(jù)庫、聯(lián)絡方式數(shù)據(jù)庫。人口數(shù)據(jù)庫包含總?cè)丝跀?shù)據(jù)、人口構成、人口分布等信息;行政區(qū)劃數(shù)據(jù)庫包含縣區(qū)、鄉(xiāng)鎮(zhèn)、社區(qū)的行政管轄劃分等信息;地理交通數(shù)據(jù)庫包含區(qū)域的鐵路、公路、航空、水運及各種交通運輸方式的優(yōu)缺點等信息;地形地貌數(shù)據(jù)庫包含區(qū)域所處的地理位置、地形地勢、土地覆蓋、高程、坡度坡向等信息;重點部位多媒體數(shù)據(jù)庫包含災害易發(fā)區(qū)、交通樞紐處等重點部位的圖片、視頻資料等信息;氣候要素數(shù)據(jù)庫包含區(qū)域的平均降水、平均溫度、濕度、氣壓、日照等信息;聯(lián)絡方式數(shù)據(jù)庫包含鄉(xiāng)鎮(zhèn)、社區(qū)每村每戶的聯(lián)系地址、聯(lián)系電話、聯(lián)系人、移動通信情況等信息。
系統(tǒng)用戶角色分為普通用戶、決策用戶和系統(tǒng)管理員。普通用戶具有的功能為數(shù)據(jù)檢索、二次檢索、聚類檢索、分類檢索等;決策用戶具有的功能為授權數(shù)據(jù)檢索、分類檢索、發(fā)布緊急通知、數(shù)據(jù)批量導出、統(tǒng)計報表導出等;系統(tǒng)管理員具有的功能為用戶管理、數(shù)據(jù)管理、元數(shù)據(jù)設計、XML模版設計等,其中數(shù)據(jù)管理包括數(shù)據(jù)批量導入導出、數(shù)據(jù)錄入、數(shù)據(jù)審核等子功能,用戶管理功能實現(xiàn)用戶信息的增加、刪除、修改以及系統(tǒng)權限的設置。
3.2 數(shù)據(jù)庫設計
系統(tǒng)通過建立與數(shù)據(jù)庫服務器的連接,來完成對數(shù)據(jù)庫的操作,從而達到對數(shù)據(jù)信息的存儲、管理、檢索的目的。數(shù)據(jù)庫系統(tǒng)采用Windows環(huán)境下關系型數(shù)據(jù)庫SQL Server 2008,這個版本增強了對XML數(shù)據(jù)的支持,使用XML數(shù)據(jù)類型能夠直接存儲XML文檔。
系統(tǒng)的數(shù)據(jù)庫設計分為需求分析、概念設計、邏輯設計、物理設計、實施、運行和維護幾個階段。需求分析階段綜合分析各類用戶的實際需求,是整個專題數(shù)據(jù)庫設計過程的基礎;通過對用戶需求的綜合整理、歸納抽象,形成一個獨立于具體數(shù)據(jù)庫管理系統(tǒng)(DBMS)的概念模型;邏輯設計階段將概念模型轉(zhuǎn)換成具體的數(shù)據(jù)庫產(chǎn)品支持的數(shù)據(jù)模型,并對其進行優(yōu)化,形成數(shù)據(jù)庫邏輯模型;根據(jù)數(shù)據(jù)庫管理系統(tǒng)(DBMS)的特點和處理的需要,為邏輯模型選取合適的物理結構,進行物理存儲、索引建立;運用數(shù)據(jù)庫管理系統(tǒng)(DBMS)提供的數(shù)據(jù)語言、工具,依據(jù)邏輯設計和物理設計的結果,建立數(shù)據(jù)庫系統(tǒng),編制調(diào)試數(shù)據(jù)庫應用程序,部署試運行,并不斷對其進行評價、調(diào)整和優(yōu)化。
3.3 元數(shù)據(jù)設計
元數(shù)據(jù)設計包括元數(shù)據(jù)集和元數(shù)據(jù)項設計。元數(shù)據(jù)集主要用于描述和標識元數(shù)據(jù),包括數(shù)據(jù)項名稱、數(shù)據(jù)標準(自定義格式和都柏林格式)、語種(漢語、藏語)、字符集(UTF-8、GB2312、GBK)、創(chuàng)建日期、數(shù)據(jù)集摘要、數(shù)據(jù)分類、數(shù)據(jù)質(zhì)量說明等內(nèi)容。元數(shù)據(jù)項主要用于建立數(shù)據(jù)庫中存儲的XML映射字段,包括字段名、類型、中文名、藏文名、默認值、檢索標識等。
3.4 XML模版設計
XML模版設計包括題錄顯示模版和文摘顯示模版。題錄顯示模版用于配置一條數(shù)據(jù)記錄的基本信息,通常包括標題、關鍵詞、數(shù)據(jù)集聯(lián)系人信息等。文摘顯示模版用于配置一條數(shù)據(jù)記錄表示內(nèi)容特征的字段信息(包括題錄信息)。以人口數(shù)據(jù)庫題錄顯示模版為例的XML配置文檔如下:
page_num="50" attribute="width=100%"> <![CDATA[title.value source.value pub_date.value