- 相關推薦
GIS訪問網絡數據庫中若干技術問題的探討
摘 要分析了幾種網絡計算模式的特點,針對客戶機/服務器模式設計了一個地理信息系統(GIS)訪問數據庫的結構框架——客戶端分為GIS功能層和數據庫請求層兩層,服務器存放數據,并將此結構與ESRI公司的空間數據庫引擎(SDE)作了對比;通過比較幾種數據庫訪問的程序實現方式,認為ODBCAPI在開放性方面是良好的.最后給出的MAPGIS實例表明:采用上述設計思路的應用系統不但利用了原有MAPGIS的研究成果,實現了GIS訪問網絡數據庫的功能,而且還具有良好的開放性.關鍵詞 地理信息系統,數據庫訪問,空間數據庫引擎(SDE),C/S模式,ODBC.
引言
近年來,網絡技術得到迅速的發展,這就為信息資源的共享提供了技術上的可能.作為信息密集型的地理信息系統(GIS)上升到網絡平臺可謂適逢其時.但從目前的應用情況來看,除了國外極少的公司擁有網絡版的GIS之外,在國內還處于試驗研制的階段.因此,盡快地研制出我國自主版權的網絡GIS的原型和產品,并在技術手段上達到國際先進水平,是擺在我們面前的一項迫切的任務.
1 網絡計算的幾種模式及特點
(1)傳統的集中式.這是一種主機-終端模式,所有的計算任務和數據管理任務都集中在主機上,終端只是主機輸入/輸出設備的延長.這種模式的優點是容易管理,缺點是對主機的性能要求很高,也浪費了作為終端的計算機的計算能力,并且從性能價格比來看,在購置費用相當的情況下,一臺主機的性能往往比不上幾臺計算機所組成網絡的性能;因此這種模式已逐漸退出主流.
(2)客戶機/服務器(client/server,簡稱C/S)模式.一般說來,在這種模式下,服務器只集中管理數據,而計算任務分散在客戶機上,客戶機和服務器之間通過網絡協議來進行通訊.客戶機向服務器發出數據請求,服務器將數據傳送給客戶機進行計算,計算完畢,計算結果可返回給服務器.這種模式的優點充分利用了客戶機的性能,使計算能力大大提高;另外,由于客戶機和服務器之間的通訊是通過網絡協議進行的,是一種邏輯的聯系,因此物理上在客戶機和服務器兩端是易于擴充的.它是目前占主流的網絡計算模式.
(3)瀏覽器/服務器(browser/server)模式.在這種模式下,用戶端只需一通用的瀏覽器,如Netscape或Explore,便代替了形形色色的各種應用軟件.服務器則為Web服務器.瀏覽器和服務器之間通過TCP/IP這一通訊協議進行連接.瀏覽器發出數據請求,由Web服務器向后臺取出數據并計算,將計算結果返回給瀏覽器.這種模式的優點是:由于用戶端所用軟件只是一個簡單的瀏覽器,用戶基本上無需培訓,用戶端軟件也無需維護;軟件的升級與修改只在服務器端進行,對用戶透明;服務器與瀏覽器可處于不同的操作系統平臺.其缺點為:Web動態技術不夠成熟,各種標準有待統一,如各廠家發布的動態協議互不支持、瀏覽器之爭等.總之,它是一種先進的但發展還未成熟的技術.
基于以上的分析,應選擇客戶機/服務器模式作為GIS訪問網絡數據庫的實現模式.
2 C/S模式下的GIS訪問網絡數據庫的結構設計
設計在總體上分為C/S兩層(見圖1),以充分利用C/S模式的跨平臺、易擴充、數據獨立等優點.在client端又分兩層來進行設計——GIS功能層和數據請求層,GIS功能層是GIS的功能實現部分,數據請求層是GIS的數據實現部分.數據請求層作為一中間層,起到數據轉換的作用,對上是具有GIS特點的數據文件,對下是標準的數據庫記錄.這種分層設計的形式一方面充分利用了現有的單機版本GIS研究成果;另一方面,GIS功能層和數據請求層的開發可同時進行,只要接口標準不變,本層的變動不會影響到另一層.
Fig.1 The general framework of GIS accessing database based on C/S model
值得一提的是ESRI公司的空間數據庫引擎(spatial database engine,簡稱SDE)的設計方案(見圖2).它是目前國際上領先的GIS數據處理的網絡計算模型.其數據的訪問形式為:由用戶的應用程序(user application)通過SDE應用編程接口(SDE API)向SDE服務器提出空間數據請求,SDE服務器內存放有空間對象模型,并依據空間對象的特點在本地完成空間數據的搜索,并將搜索結果通過網絡向用戶的應用程序返回.
對比圖1和圖2可以看出兩者采用的都是C/S模式,并且都將GIS功能實現與數據請求進行分層處理;所不同的是面向數據庫的數據請求實現的位置:圖1在客戶機端實現,圖2在服務器端實現.在服務器端實現的主要優點為:(1)對于空間對象模型及相關的計算模式的升級可以只在服務器端實現,而且對客戶機端透明;(2)由于SDE服務器與數據庫ORACLE 7.2的結合非常緊密,因此數據的搜尋速度非?.對于圖1來說,把數據請求層放在客戶機端,對數據庫的依賴程度就不同于SDE服務器,后者對數據庫的選型有極強的依賴性(目前SDE服務器只在ORACLE 7.2實現),相反,它是一種非常開放的結構,它所支持的服務器不但可跨數據庫系統平臺,而且還可跨操作系統平臺.可以說,圖1和圖2兩種設計模式的優缺點是相互對應的.
3 數據庫訪問方式的比較
基于程序的訪問數據庫的幾種方法如下.
(1)專用的數據庫訪問工具.如Power Builder,Delphi等,它偏向于對數據庫中數據的管理和顯示,具有限的計算功能.既不適于用它來開發GIS應用系統,也難以將它們的數據操縱功能與現有的GIS應用系統緊密結合.
(2)嵌入數據庫語言的常規語言.各數據庫廠家為了讓用戶程序能直接訪問自已的數據庫,基本上都提供了專有的面向C語言的預編譯頭和靜態庫,如Sybase公司的OPEN CLIENT和ORACLE的PRO*C.
(3)開放數據庫互連性應用編程接口(open database connectivity application programming interface,簡稱ODBCAPI)[2,3].它是微軟(Microsoft)公司提出的數據庫訪問形式.它通過確保所有的應用系統遵循標準的調用層接口,提供對特定數據源命令進行解釋的驅動程序來保持應用系統的互用性.這樣的應用系統是開放的,只要有相應數據源的ODBC的驅動,它就無需改變代碼而可訪問相應的數據庫.
在確定訪問數據庫的方式時,ODBCAPI的開放性的優勢是不言而喻的,但這種方式在效率上不如第二種訪問形式.應說明的是:ODBC SQL語法分為3層,即最小層、核心層和擴展層,盡管目前的大型數據庫都能支持到擴展層,但為了保證應用系統的開放性,在具體編程實現時,盡量只使用最小層和核心層的語法.
4 某電信局配線系統的實現
客戶機為MAPGIS/ODBC/WINDOWS 95,服務器為SQL SERVER/WINDOWS NT,要訪問的相關表中記錄約為13萬條.要求從地理底圖上選中某一DP,在數據庫中尋找出從這一DP到配線架的可用通路,并在數據庫中作相應配線修改.如圖3所示. 結果表明:(1)程序實現了MAPGIS訪問網絡數據庫的功能;(2)客戶機和服務器均為PC機(主頻166MHz),每次操作反應時間為數秒,換機觀察,發現服務器的性能是整個網絡計算的瓶頸.
5 結論
(1)C/S模式為目前網絡平臺GIS的首選,將GIS功能與數據庫訪問分層實現有利于保護現有的開發成果;(2)將數據請求層放在客戶端和以ODBC作為數據庫的訪問方式保證了應用系統的開放性,其訪問可跨越數據系統和操作系統平臺;(3)實例表明,應用系統的反應速度更多取決于服務器的性能,而不是ODBC的效率.
參考文獻
1 http:///base/common/userconf/proc96/TO100/PAP094/P94A.HTM.1998.4
2 http:///odbc/start.htm.1998.4
3 Signor R, Creamer J, Stegman M O;侯雪萍譯.開放式數據庫互連ODBC方案集粹.北京:電子工業出版社,1995. 12 論文出處(作者):
基礎地理信息系統建設構思
9202工程-為政府服務的GIS
【GIS訪問網絡數據庫中若干技術問題的探討】相關文章:
SNS網絡中的若干問題03-05
安全科學體系建構中若干問題的探討03-18
基于PHP的Web數據庫訪問03-19
試析藥品專利無效與侵權中的若干問題探討12-26
VB訪問數據庫的方法及接口的比較03-18
內部控制在制度基礎審計中若干問題的探討03-18
GIS在無線網絡規劃軟件中的應用03-07
證券仲裁若干問題的探討12-07