蘇 瑞 程 林 陳文勝 王丹寧 王 雄
(中國地震局第二監測中心,西安 710054)
西部大地形變數據庫設計與建設*
蘇 瑞 程 林 陳文勝 王丹寧 王 雄
(中國地震局第二監測中心,西安 710054)
介紹西部大地形變數據庫的設計與建設。
形變;關系型數據庫;數據庫設計;邏輯結構模型;西部地區
大地形變觀測數據是地震科研預報的基礎分析數據。從2005年起,筆者所在的項目組歷經4年多時間,設計和建設了西部大地形變數據庫,并進行了大量的大地形變數據與元數據的采集入庫,通過不斷的測試和完善,該數據庫系統目前運行良好。
西部大地形變數據庫系統的建成,為廣大地學研究者建立了一個完善的數據存儲、交換與共享平臺,讓積累30多年的中國西部大地形變數據發揮它更大的社會效益,并將更好地為地震預報、災害救援、科學研究和工程建設服務。該數據庫系統的建成與運行,也將會極大地促進大地形變數據管理的數字化、標準化和規范化。
西部大地形變數據庫存儲的成果主要包括在中國中西部地區觀測的精密水準測量數據、GPS測量數據、精密重力測量數據及其相關元數據。其主要特點有:
1)數據海量。精密水準測量共有水準線路200余條,150多個水準環,總長度約2.9萬千米。累計完成水準線路觀測12萬余千米。GPS測量數據主要包含2個連續觀測基準站、14個基本站、237個區域站的多期觀測成果,總數據量超過60G。精密重力測量數據包括中國西部7省區自1992年以來500多個測點的20多期觀測數據。
2)原始數據格式、類型不統一。由于區域精密水準測量數據、GPS測量數據、精密重力測量數據和跨斷層測距數據時間跨度太大,各時期觀測記錄使用的方式不同,數據記錄格式與類型不同。另外有紙質載體、電子載體,電子數據由于計算機軟硬件的更新換代,又產生了格式多樣的電子數據。
3)數據間存在相關性。數據的相關性有3層含義:一是指在比如精密水準測量數據中,點表、測段、高差等數據的相關性;二是指一些點位既產生精密水準測量數據,又同時產生GPS測量數據、精密重力測量數據;三是指在同點位、同手段下不同時間觀測數據的相關性。
2.2.1 操作系統的選擇
作為服務器上安裝的網絡操作系統,必須具有良好的穩定性、可靠性、安全性和可擴展性。經過對比現在流行的操作系統Windows Server 2003,Linux和Free BSD等,再基于對國家基礎數據安全的考慮,我們選用了SuSE Linux企業版操作系統,該操作系統具有以下的特色:一是其Yast管理工具非常優秀,可方便地進行大多數的日常管理工作;二是最新的SuSE Linux包含了AppArmor的安全性工具,可以有針對性地對不同的應用軟件采取不同的安全策略,賦予他們不同的權限。
2.2.2 數據庫系統的選擇
西部大地形變數據庫系統應采用分布式關系型數據庫管理系統,對應用于聯機事務處理(OLTP)和決策支持系統(DSS),都能提供完整的、高性能的企業級數據庫管理功能,包括數據完整性約束、并發控制、觸發器、存儲過程等。同時,該數據庫系統應具有以下管理功能:高性能數據處理能力;支持數據分區技術;數據庫系統具有行級鎖技術以支持大量并發用戶;支持并行處理技術以提高系統性能;支持多主機的Cluster系統;數據的高可用性;數據庫系統的安全性保證;數據庫系統維護和管理方便易用。
幾種常見大型數據庫特點分析:
1)SQL SERVER 2003
SQL SERVER 2003是Microsoft公司開發的大型關系數據庫管理系統,具有強大的關系數據庫創建、開發、設計和管理功能。經過不斷地改進和版本升級,它各個方面的功能都得到了很大的提高。SQL SERVER 2000功能比較強大、操作較簡便。雖然SQL SERVER 2003在數據處理、可靠性、可用性以及維護管理方面都有上佳的表現,但由于它基于Windows系統,其安全性不能得到保證,因此沒有選擇SQL SERVER 2003作為我們的數據庫系統。
2)IBM DB2 9
DB2 9是IBM發布的新一代數據庫管理系統。DB2 9既可以使用關系型存儲,又可以使用層次型對象的存儲;既可以訪問關系型數據,又可以用對象的方式訪問數據庫。DB2 9通過提供新的查詢語言、新的存儲技術、新的索引技術和支持XML數據及其固有層次結構的特性,使得IBM DB2 9成為IBM的第一個“混合型”(即多結構)數據庫管理系統。DB2具有很好的并行性。DB2引入的新的分區技術可以提高數據倉庫的性能并降低管理時間。新的表分區方法通常稱為范圍分區,它允許為每個分區定義數據范圍,并根據數據范圍將數據存儲為單獨的對象。
3)MySQL
MySQL是完全網絡化的跨平臺關系型數據庫系統,同時是具有客戶機/服務器體系結構的分布式數據庫管理系統。它具有功能強,使用簡單,管理方便,運行速度快,安全可靠性強等優點,用戶可利用許多語言編寫訪問MySQL數據庫的程序。MySQL完全采用C和 C++代碼開發,堅實地保證了MySQL產品的高效和穩定性;在大量不同的作業平臺上可以穩定運行;提供了事務性和非事務性的各種存儲引擎支持;全面利用內核的多線程功能,可以輕易獲得多CPU帶來的更充足運算力;可輕易接插多種類型的存儲引擎;支持的應用編程接口有,C+ +,Eiffel,Java,Perl,PHP,Python,Ruby和Tcl等;支持存儲過程功能;支持觸發器功能;支持視圖功能;完備的數據字典。
4)Oracle 10g
ORACLE數據庫產品是當前數據庫技術的典型代表,是目前使用最廣泛的數據庫管理系統之一。它可以運行在各個平臺上,對linux的應用支持相比其他數據庫最好。Oracle數據庫10g是業界首個為網格計算而設計的數據庫。Oracle更強調網格技術,通過網格,可以在安全、可靠等方面為用戶提供更多的支持。其主要特點有:數據庫高可用性;可伸縮性好;安全性高;可管理性好;數據倉儲功能;集成;內容管理。
通過比較,從數據庫安全性能、客戶端支持及應用模式、可靠性與可用性、維護管理以及數據庫產品對客戶服務等多個方面的綜合考慮,我們采用了數據庫oracle 10g。
2.2.3 系統基礎技術
系統基礎技術采用B/S(Brower/Server)模式。客戶機上只要安裝一個瀏覽器(Browser),如Netscape Navigator或Internet Explorer,服務器安裝Oracle數據庫。瀏覽器通過Web Server同數據庫進行數據交互。網站的設計采用JSP/JSF技術。符合J2EE的相關的標準,可以運行在多種應用服務器之上。
現有數據類型主要有文本數據、圖像數據、觀測數據及元數據(表1)。

表1 現有數據的類型與內容表Tab.1 Type and content of existing data
后臺數據的管理是整個數據庫應用中非常重要的環節。由于大地形變數據庫資料一旦導入,一般不再發生更改,只提供查詢利用,所以利用Oracle自身提供的工具sqlloader功能進行數據庫底層各種數據表的導入、刪除、修改和備份恢復。
查詢系統采用Brower/Server模式,即前臺(客戶端)查詢界面和后臺(服務器端)維護和服務功能,用戶可自由指定關鍵詞查詢或者進行模糊查詢。具體實現以下功能:
1)大地形變數據點之記、點位情況查詢;
2)大地形變數據測量成果查詢;
3)大地形變數據測量統計查詢;
4)大地形變數據測量信息成果綜合查詢。
數據下載,對觀測數據表和平差結果表可以按照EXCEL格式,下載到本地磁盤。對技術文檔和圖像的下載,可以按照文本格式或位圖格式下載到本地磁盤。
建庫技術采用powerdesigner與oracle ADF,面向對象的開發技術(圖1)。

圖1 數據庫建庫工作流程Fig.1 Flow chart of database construction
大地形變數據庫的整體邏輯結構用ER圖來描述,基于整個數據庫的結構比較復雜的原因,把整個數據庫分為3部分進行說明。
1)區域精密水準數據邏輯結構
區域精密水準數據邏輯結構設計是本次數據庫設計的一個重點,其數據本身比較復雜而且數據之間的關聯也較復雜。本著穩定數據庫結構和利于后期維護的原則,對該數據邏輯結構進行了一定的簡化。比如,對于儀器檢驗信息、標尺檢驗等文本信息不再分條目存儲,而是采用文本文件的方式整體存放于數據庫中(圖2)。

圖2 區域精密水準數據邏輯結構Fig.2 Logical structure diagram of local precision leveling data
2)GPS數據庫邏輯結構
GPS數據邏輯結構的設計較簡單,主要原因是該類數據的具體觀測信息都是單點信息,從一定程度上降低了其設計復雜度。另外,考慮到GPS數據文件的數據量太大,從系統開銷的角度講直接把原始觀測數據文件存儲在數據庫中是不合適的。所以,在數據庫設計中沒有考慮原始數據文件,只是對觀測信息進行細致的描述,保證每個數據文件都可以在觀測信息中找到自己所對應的條目(圖3)。

圖3 GPS數據邏輯結構Fig.3 Logical structure diagram of GPS data
3)重力數據庫邏輯結構
由于重力數據既包含單點信息,又存在由單點信息形成的測段信息。所以,重力數據庫邏輯結構是介于區域水準數據庫邏輯結構與GPS數據庫邏輯結構之間的一種邏輯結構。
由于初始加載的數據量比較大,部分數據屬于紙介質、部分數據為不同格式的電子數據,數據格式不規范,故采用數據批量裝入的方法對數據加載。
對于紙介質數據,由于產生的年代跨度很大,有許多不同格式,數據不很規范,只能采取手工錄入結合程序處理的方式進行數據加載,具體為手工錄入到EXCEL表格中,再由程序將數據加載進入數據庫。數據采集流程如圖4所示。

圖4 數據采集流程Fig.4 Flow chart of data acquisition
對于電子數據,由于電子數據的格式不一,也無法一次性地將數據轉換入庫。以水準測量數據為例,圖5為1995年與1998年水準測量原始觀測數據明碼文件頭,其中LR018.DZM為1995年數據,B5090681.Z04為1998年原始觀測數據,由于電子數據產生的年代不同,導致數據格式的不同,必須利用編程進行分別數據轉換后導入。

圖5 1995年與1998年區域水準測量觀測數據明碼文件對比Fig.5 Comparison between the plainfile of local leveling measurement data in 1995 and in 1998
1)在數據庫表中,點表在整個數據庫采集和測試運行中,都是最重要的關鍵表,其他數據表的整理、加載和調用都是以點表為基礎的。由于點表信息是手工編制的,加上有部分點穿插在不同的路線中,或者由于其他原因致使同一點名寫法不一致,都會產生同一點號對應的點名不一致的錯誤,導致數據庫運行出錯。對這些問題,我們一方面加強過程檢查排除人為錯誤,另一方面通過建立別名表(表 2)處理該問題。

表2 別名表Tab.2 Alias table
2)部分水準路線在經過多年重復觀測之后,進行了線路調整,如何將新舊線路的最終成果科學地提供給用戶,也是需要面對的問題。如果將舊線路轉換為新線路,那樣會使許多歷史數據失去研究意義,如果將新線路轉換為舊線路,那今后所有的新線路數據入庫時都要進行重復換算,并且新線路在數據庫中無法查找使用,另外,新舊線路在許多節點上無法清晰轉換也是一個問題。經過權衡,我們采用將新線路數據分割后,并入舊線路數據,同時將新線路再單獨列出,雖然這樣增加了數據冗余,但可以充分滿足用戶使用數據的方便和完整。
3)在數據庫網站建設過程中,由于西部大地形變數據庫(網站)雖然有部分圖形查詢功能,但并不是一個真正的GIS,如何在Oracle數據庫中通過ArcInfo進行圖形的數據構建、模擬、分析以及地圖輸出,讓用戶簡便地通過圖形界面查詢相關位置地大地形變觀測資料,將是我們后續完善該數據庫功能的一項重要工作。
基于關系模型建立的西部大地形變數據庫,將提供給廣大地震科研工作者和其他用戶一個完善的數據存儲、交換與共享平臺。作為一種應用,它將大大降低科研預報人員對基礎數據收集、計算的工作強度,提高科研工作效率,加速大地形變基礎數據的共享與在線處理服務。
1 周克昌,等.地震前兆數據庫結構規范[M].北京:地震出版社,2007.
2 丁寶康.數據庫原理[M].北京:經濟出版社,2001.
3 張啟來.城市空間數據庫建設中數據模型的研究探討[J].信息技術與信息化,2006,5:97-98.
4 蔣春曦,等。安徽省防震減災基礎地理數據庫設計與實現[J].華北地震科學,2006,24(3):29-32.
DESIGN AND CONSTRUCTION OF GEODETIC DEFORMATION DATABASE IN WEST OF CHINA
Su Rui,Cheng Lin,Chen Wensheng,Wang Danning and Wang Xiong
(Second Crustal Monitoring and Application Centre,CEA,Xi’an 710054)
The realization of the design and construction of the geodetic deformation database in the west of China are introduced.
deformation;relational database;design database;logical structure model;the west of China
1671-5942(2011)Supp.-0142-04
2011-01-05
蘇瑞,男,1975年生,工程師,學士,主要從事科技管理、質量管理工作.E-mail:sukook@163.com
P228
A