付吉林 孫志華 許曉宏 彭剛
摘要: 在長(zhǎng)期的石油勘探工作中積累了包括地震、 測(cè)井以及地質(zhì)等方面的大量資料,將GIS技術(shù)應(yīng)用于勘探數(shù)據(jù)的管理中可以有效提高資料的管理水平和使用效率。探討了以SuperMap體系平臺(tái)為基礎(chǔ)構(gòu)建勘探信息網(wǎng)絡(luò)化系統(tǒng)的架構(gòu)和關(guān)鍵技術(shù)。本系統(tǒng)的實(shí)施方便了石油勘探部門的日常工作,提高了工作效率。
關(guān)鍵詞: 油氣勘探; GIS; SuperMap; 網(wǎng)絡(luò)化; Ajax; 組件
中圖分類號(hào):文獻(xiàn)標(biāo)志碼:A 文章編號(hào):1006-8228(2012)04-70-03
Management scheme of oil and gas exploration based on SuperMap
Fu Jilin1, Sun Zhihua1, Xu Xiaohong2, Shao Yanlin2
(1. China?National?Petroleum?Corporation?International?(Niger)?Ltd. 2. School of Geosciences, Yangtze University)
Abstract: Through long-time oil exploration, a large amount of materials are accumulated including seismic, logging, and geological data. The application of GIS technology in management of exploration data can effectively improve the management level and efficiency. Based on the SuperMap platform system, the architecture of the exploration information network system, as well as its key issues and key technologies in the practical application, are explored in this paper. The system can help oil exploration departments to process daily work and improve their work efficiency.
Key words: oil-gas exploration; WebGIS; SuperMap; networking; Ajax; component
0 引言
在長(zhǎng)期的石油勘探工作中,油田單位積累了大量的地震、 鉆井測(cè)井和其他地質(zhì)方面的資料。這些數(shù)據(jù)正以指數(shù)趨勢(shì)逐年增加,如何有效管理和利用這些數(shù)據(jù),從而提高石油公司的勘探效果和效益,正確制定石油公司的經(jīng)營(yíng)策略,已經(jīng)成為擺在人們面前重要而迫切的任務(wù)[1]。為此各油田都在幾年前啟動(dòng)了勘探開(kāi)發(fā)數(shù)據(jù)庫(kù)項(xiàng)目。但是,這些數(shù)據(jù)庫(kù)只是建立在傳統(tǒng)的關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)上,對(duì)于與空間信息密切相關(guān)的勘探數(shù)據(jù),這種處理方式顯然不是最好的。更理想的方案應(yīng)該是通過(guò)地理信息系統(tǒng)平臺(tái)實(shí)現(xiàn)這些資料的有效管理。事實(shí)上,在用 GIS 管理地質(zhì)、地球物理勘探數(shù)據(jù)方面,國(guó)內(nèi)外已有不少成功的例子。
SuperMap是北京超圖軟件股份有限公司開(kāi)發(fā)的,它包含組件式GIS開(kāi)發(fā)平臺(tái)、服務(wù)式GIS開(kāi)發(fā)平臺(tái)、嵌入式GIS開(kāi)發(fā)平臺(tái)、桌面GIS平臺(tái)、導(dǎo)航應(yīng)用開(kāi)發(fā)平臺(tái)以及相關(guān)的空間數(shù)據(jù)生產(chǎn)、加工和管理工具,產(chǎn)品門類齊全,功能強(qiáng)大,覆蓋行業(yè)范圍廣泛,滿足各類信息系統(tǒng)建設(shè)的要求,并已深入到國(guó)內(nèi)各個(gè)GIS行業(yè)應(yīng)用領(lǐng)域[2]。
1 體系結(jié)構(gòu)
通過(guò)需求分析我們得知,油氣勘探信息網(wǎng)絡(luò)管理系統(tǒng)既要能夠進(jìn)行復(fù)雜的交互完成數(shù)據(jù)處理和維護(hù),又要以簡(jiǎn)單的界面提供檢索和查詢功能,這兩種需求是相互矛盾的。目前,系統(tǒng)主要有兩種架構(gòu)模式:客戶/服務(wù)器(C/S)模式和瀏覽器服務(wù)器模式(B/S)。C/S結(jié)構(gòu)具有較強(qiáng)的事務(wù)處理能力,能夠?qū)崿F(xiàn)復(fù)雜的工作流程,但是需要安裝客戶端程序,分布能力弱,不能進(jìn)行快速安裝和配置。B/S結(jié)構(gòu)在任何時(shí)間,任何地點(diǎn),任何系統(tǒng)下,只要有瀏覽器和網(wǎng)絡(luò)就能訪問(wèn)數(shù)據(jù),隨時(shí)隨地的進(jìn)行業(yè)務(wù)瀏覽和查詢,但是操作基本以鼠標(biāo)來(lái)完成,功能弱, 不能實(shí)現(xiàn)傳統(tǒng)模式下的特殊功能。因此,將兩種模式結(jié)合起來(lái)不失是一種更合適的選擇。在C/S模式下實(shí)現(xiàn)面向?qū)I(yè)人員的數(shù)據(jù)處理和數(shù)據(jù)維護(hù)功能,在B/S模式下實(shí)現(xiàn)面向更廣大普通用戶的查詢和檢索功能。
C/S部分主要有三部分:數(shù)據(jù)庫(kù)服務(wù)層、業(yè)務(wù)邏輯層和用戶層。數(shù)據(jù)庫(kù)服務(wù)層管理勘探數(shù)據(jù),成果數(shù)據(jù)按不同的業(yè)務(wù)邏輯存放于不同的SQL Server數(shù)據(jù)庫(kù)中。業(yè)務(wù)邏輯層是實(shí)現(xiàn)GIS功能的主要場(chǎng)所,該層主要包括SuperMap Objects的核心組件和空間數(shù)據(jù)庫(kù)引擎SDK+。SuperMap Objects是大型全組件式GIS開(kāi)發(fā)平臺(tái),提供了空間數(shù)據(jù)采集、入庫(kù)、顯示、編輯、查詢、分析和制圖輸出等GIS核心功能。SDK+使大型關(guān)系型數(shù)據(jù)庫(kù)一體化存儲(chǔ)空間數(shù)據(jù)和屬性數(shù)據(jù)成為可能,并具有海量數(shù)據(jù)管理能力,支持多用戶并發(fā)訪問(wèn)。用戶層根據(jù)用戶的需求調(diào)用業(yè)務(wù)邏輯層提供的中間件開(kāi)發(fā)出相應(yīng)的功能,并和用戶交互,完成業(yè)務(wù)流程。
圖1C/S架構(gòu)
B/S部分主要有四部分:數(shù)據(jù)庫(kù)服務(wù)器、GIS服務(wù)器、Web服務(wù)器和客戶端。數(shù)據(jù)庫(kù)服務(wù)器與C/S模式下配置相同;GIS服務(wù)層是實(shí)現(xiàn)GIS功能的主要場(chǎng)所,該層主要包括GIS服務(wù)器、集群服務(wù)等SuperMap IS .NET的核心組件。系統(tǒng)所提供的GIS功能支持瀏覽器模式下所需的GIS功能;Web服務(wù)器是基于Windows NT 操作系統(tǒng)的,它由IIS(因特網(wǎng)信息服務(wù)器)來(lái)建立,并通過(guò)ASP.Net(動(dòng)態(tài)服務(wù)器網(wǎng)頁(yè))和ActiveX DLL(動(dòng)態(tài)連接庫(kù))來(lái)處理用戶請(qǐng)求。客戶端主要通過(guò)HTML和JavaScript來(lái)實(shí)現(xiàn)。
圖2B/S架構(gòu)
本系統(tǒng)的用戶需求如下[3]:
⑴ 遠(yuǎn)程使用:數(shù)據(jù)保存在服務(wù)器上的SQL Server數(shù)據(jù)庫(kù)中集中管理,既有圖形數(shù)據(jù),也有文檔數(shù)據(jù)。用戶需要通過(guò)局域網(wǎng)或Internet對(duì)數(shù)據(jù)庫(kù)進(jìn)行訪問(wèn),進(jìn)行數(shù)據(jù)更新或者數(shù)據(jù)訪問(wèn)。
⑵ 多用戶訪問(wèn):系統(tǒng)必須具備能夠承受多人同時(shí)在線的能力。系統(tǒng)應(yīng)該有相應(yīng)的機(jī)制實(shí)現(xiàn)并發(fā)訪問(wèn)。
⑶ 實(shí)時(shí)交互: 這是運(yùn)程系統(tǒng)必須考慮的一個(gè)問(wèn)題,系統(tǒng)應(yīng)給用戶一個(gè)良好的用戶使用體驗(yàn),對(duì)系統(tǒng)提出請(qǐng)求后,系統(tǒng)響應(yīng)應(yīng)該花費(fèi)少量的時(shí)間,即用戶能實(shí)時(shí)地查詢、瀏覽所需的資料。
根據(jù)用戶需求,有兩點(diǎn)需要考慮:
⑴ 客戶端與Web服務(wù)器的交互。
用戶的請(qǐng)求首先需要在頁(yè)面提交。那么,首先要?jiǎng)?chuàng)建交互的頁(yè)面。目前,動(dòng)態(tài)頁(yè)面創(chuàng)建技術(shù)主要有:PHP(超文本預(yù)處理程序),ASP(動(dòng)態(tài)服務(wù)器頁(yè)面)及JSP(Java服務(wù)器網(wǎng)頁(yè))三種。
PHP是跨平臺(tái)的服務(wù)器端嵌入式腳本語(yǔ)言,但是與我們選用的Windows平臺(tái)結(jié)合不緊密。ASP是一個(gè)WEB服務(wù)器端的開(kāi)發(fā)環(huán)境,利用它可以產(chǎn)生和執(zhí)行動(dòng)態(tài)的、互動(dòng)的、高性能的WEB服務(wù)應(yīng)用程序,并采用腳本語(yǔ)言VBScript(JavaScript)作為自己的開(kāi)發(fā)語(yǔ)言。它支持所有的瀏覽器。JSP 是由Sun公司開(kāi)發(fā)出來(lái)的一種動(dòng)態(tài)網(wǎng)頁(yè)制作技術(shù),在Serverlet和JavaBean的支持下,可以完成功能強(qiáng)大的站點(diǎn)程序。考慮到系統(tǒng)是基于Windows平臺(tái)的,我們最終選擇了ASP技術(shù)。
⑵ Web服務(wù)器與數(shù)據(jù)庫(kù)的接口。
目前,訪問(wèn)數(shù)據(jù)庫(kù)的技術(shù)主要有ODBC(開(kāi)放數(shù)據(jù)庫(kù)連接)、DAO(數(shù)據(jù)訪問(wèn)對(duì)象)、RDO (遠(yuǎn)程數(shù)據(jù)訪問(wèn))和ADO(ActiveX 數(shù)據(jù)對(duì)象)幾種。ODBC技術(shù)為訪問(wèn)不同的SQL 數(shù)據(jù)庫(kù)提供了一個(gè)共同的接口。DAO是建立在 Microsoft Jet 數(shù)據(jù)庫(kù)引擎之上的連接到Access面向?qū)ο蟮慕涌?,是連接Access數(shù)據(jù)庫(kù)最快、最有效的方法。RDO是使用底層數(shù)據(jù)存取對(duì)象(DAO)來(lái)實(shí)際進(jìn)入數(shù)據(jù)庫(kù)。OLE DB是建立于ODBC 之上,并將此技術(shù)擴(kuò)展為提供更高級(jí)數(shù)據(jù)訪問(wèn)接口的組件結(jié)構(gòu),與ODBC 相比,它可為廣泛的數(shù)據(jù)存儲(chǔ)服務(wù)。ADO是建立在OLE DB之上的,不僅能夠訪問(wèn)關(guān)系型數(shù)據(jù)庫(kù),也能訪問(wèn)非關(guān)系型數(shù)據(jù)庫(kù),是上述技術(shù)中間最快速的數(shù)據(jù)庫(kù)訪問(wèn)中間層,而且與ASP技術(shù)有很好的結(jié)合。因此,我們?cè)跀?shù)據(jù)庫(kù)連接上選擇ADO數(shù)據(jù)庫(kù)訪問(wèn)技術(shù)。
2 關(guān)鍵技術(shù)
2.1 用組件技術(shù)分離勘探數(shù)據(jù)處理模塊
雖然SuperMap Objects為用戶提供了強(qiáng)大的功能,但這些功能是遠(yuǎn)遠(yuǎn)不夠的,比如:在格式支持上,雖然SuperMap提供了對(duì)眾多軟件格式的支持,但是對(duì)于勘探數(shù)據(jù)中的一些格式(CGM,SGY)還是不能支持,我們必須對(duì)SuperMap Objects進(jìn)行功能擴(kuò)展。為了降低開(kāi)發(fā)的難度和效率,把勘探數(shù)據(jù)處理的功能獨(dú)立出來(lái)開(kāi)發(fā)不失是一種好的策略。因此,我們用組件封裝該功能模塊。不同語(yǔ)言編寫(xiě)的程序在封裝成模塊之后可以重復(fù)利用。
目前,主流的組件技術(shù)標(biāo)準(zhǔn)主要有兩種:微軟的COM/ActiveX和Sun 公司的Java/ JavaBeans. COM ( component object model,組件對(duì)象模型)[4]。微軟在COM的基礎(chǔ)上提供了ActiveX控件、ActiveX DLL和ActiveX EXE組件。就技術(shù)支持情況來(lái)看,Netscape不支持ActiveX 控件,ActiveX 文檔在服務(wù)器端的配置太復(fù)雜,而ASP 可以直接調(diào)用ActiveX DLL。所以我們最終選擇ActiveX DLL技術(shù)來(lái)處理勘探數(shù)據(jù)。
2.2 用Ajax交互式網(wǎng)頁(yè)客戶端技術(shù)
傳統(tǒng) Web應(yīng)用模型的運(yùn)行流程為:用戶的操作觸發(fā)提交HTTP請(qǐng)求,Web服務(wù)器接到請(qǐng)求后執(zhí)行相應(yīng)操作,然后返回一個(gè)HTML頁(yè)面給客戶端,這個(gè)過(guò)程不斷重復(fù)直到用戶退出[5]。整個(gè)過(guò)程任務(wù)都排隊(duì)處理,后一項(xiàng)動(dòng)作要等待前一步完成之后才會(huì)執(zhí)行。在大流量的勘探數(shù)據(jù)傳輸過(guò)程中,傳統(tǒng)的Web應(yīng)用模型顯得處理不夠流暢,嚴(yán)重的延遲帶來(lái)了非常不理想的用戶體驗(yàn)。所以,必須選用能夠異步通訊的web應(yīng)用模型。
圖3模型對(duì)比圖
Ajax應(yīng)用模型不同與傳統(tǒng)模式的異步應(yīng)答模式。與傳統(tǒng)的Web應(yīng)用相比,Ajax最大的優(yōu)點(diǎn)是頁(yè)面無(wú)刷新,在頁(yè)面內(nèi)與服務(wù)器通信,并且給用戶的體驗(yàn)非常好。同時(shí),使用異步方式與服務(wù)器通信,不需要打斷用戶的操作,具有更加迅速的響應(yīng)能力。再者,可以把以前一些服務(wù)器負(fù)擔(dān)的工作轉(zhuǎn)嫁到客戶端,利用客戶端閑置的能力來(lái)處理,減輕了服務(wù)器和網(wǎng)絡(luò)的負(fù)擔(dān)。并且Ajax的原則是“按需取數(shù)據(jù)”,可以最大程度的減少冗余請(qǐng)求,和響應(yīng)對(duì)服務(wù)器造成的負(fù)擔(dān)。其主要原理是通過(guò)在客戶端與服務(wù)端之間引入Ajax引擎(Ajax Engine),消除Web 的開(kāi)始-停止-開(kāi)始-停止這樣的交互過(guò)程。 它的核心是XmlHttpRequest對(duì)象。Ajax就是通過(guò)這個(gè)對(duì)象來(lái)向服務(wù)器發(fā)異步請(qǐng)求,從服務(wù)器獲得數(shù)據(jù),然后用JavaScript來(lái)操作DOM而更新頁(yè)面。這種特性決定了它能夠勝任頻繁交互,即時(shí)響應(yīng)的操作環(huán)境[6]。兩種模式的對(duì)比如圖3所示。
3 結(jié)束語(yǔ)
近年來(lái),信息的飛速發(fā)展,促進(jìn)了石油勘探技術(shù)的進(jìn)步。同時(shí),隨著網(wǎng)絡(luò)技術(shù)和GIS技術(shù)的發(fā)展,石油公司在勘探效果和效益方面得到了明顯的提高,也越來(lái)越注重在數(shù)字油田上的建設(shè)。本系統(tǒng)實(shí)現(xiàn)了石油勘探數(shù)據(jù)的處理和信息查詢,并已在海外石油部門成功應(yīng)用,為系統(tǒng)更廣泛地推廣奠定了堅(jiān)實(shí)的基礎(chǔ)。
參考文獻(xiàn):
[1] 皮聲洪,張德忠,張立群.地震勘探數(shù)據(jù)整理與石油數(shù)據(jù)銀行文集[M].石油工業(yè)出版社,2001.
[2] 理解SuperMap IS .Net .北京超圖地理信息技術(shù)有限公司,2007.
[3] 葉青,徐冉斌,馬旬等.基于Internet 與GIS的石油勘探數(shù)據(jù)查詢系統(tǒng)[J].北京師范大學(xué)學(xué)報(bào),2002.6:759
[4] 朱紹文,陳緒君,熊偉等.COM 及其發(fā)展[J].計(jì)算機(jī)工程, 2001.9:1
[5] 畢振頗,劉志勤. Ajax在基于NC機(jī)網(wǎng)絡(luò)中的應(yīng)用[J].計(jì)算機(jī)工程,2007.12(24):124
[6] 鐘廣銳.基于Ajax和Supermap IS.NET 2008的WebGIS開(kāi)發(fā)[J].地理空間信息, 2009.2:12