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