陳楓
【摘要】從油田現(xiàn)有鉆井項(xiàng)目信息管理對(duì)數(shù)據(jù)的應(yīng)用需求出發(fā),提出開發(fā)基于Oracle數(shù)據(jù)庫(kù)的鉆井項(xiàng)目信息管理系統(tǒng),并引入了基于不同通訊網(wǎng)絡(luò)模式的多形式終端(平板電腦、智能手機(jī)),建立基于Web Service的數(shù)據(jù)服務(wù)接口,滿足鉆井項(xiàng)目生產(chǎn)、技術(shù)和管理對(duì)于鉆井項(xiàng)目信息的安全訪問(wèn)。
【關(guān)鍵詞】鉆井項(xiàng)目信息管理;Oracle;Web Service;通訊網(wǎng)絡(luò)模式;多形式終端
1、項(xiàng)目背景
石油鉆井項(xiàng)目是一項(xiàng)投入高、風(fēng)險(xiǎn)大、技術(shù)密集、數(shù)據(jù)密集的系統(tǒng)工程項(xiàng)目,鉆井項(xiàng)目涉及到鉆前、鉆、測(cè)、錄、固、技術(shù)服務(wù)等諸多環(huán)節(jié),在項(xiàng)目運(yùn)行過(guò)程中各環(huán)節(jié)每天都產(chǎn)生巨量的數(shù)據(jù)信息。作為管理者必須及時(shí)掌握這些信息,并根據(jù)這些信息作出下一步?jīng)Q策。
近年來(lái),以WIFI、3G等新型移動(dòng)通訊技術(shù)的出現(xiàn),信息終端已經(jīng)從固定的有線網(wǎng)絡(luò)計(jì)算機(jī)的桌面端擴(kuò)展為計(jì)算機(jī)、PAD、手機(jī)等有線與無(wú)線交織的多種形式。本文提出了開發(fā)基于Oracle數(shù)據(jù)庫(kù)、Web Service服務(wù)層的多形式終端的鉆井項(xiàng)目信息管理系統(tǒng)。
2、功能設(shè)計(jì)
在鉆井項(xiàng)目運(yùn)行管理過(guò)程中,項(xiàng)目各管理部門對(duì)鉆井信息有不同的數(shù)據(jù)要求和終端需求,經(jīng)過(guò)調(diào)研,要實(shí)現(xiàn)鉆井項(xiàng)目信息管理系統(tǒng)的管理需求,通常需要四大類的功能性及非功能性數(shù)據(jù):基礎(chǔ)統(tǒng)計(jì)數(shù)據(jù)類、現(xiàn)場(chǎng)技術(shù)參數(shù)類、公共通報(bào)情況類、通知需求指令類。因此開發(fā)多形式終端的鉆井項(xiàng)目信息管理系統(tǒng)能夠加快信息反應(yīng)速度、精細(xì)并簡(jiǎn)化管理程序、降本增效。
該系統(tǒng)數(shù)據(jù)庫(kù)由鉆井項(xiàng)目規(guī)劃和設(shè)計(jì)部門、現(xiàn)場(chǎng)施工單位、項(xiàng)目運(yùn)行管理和技術(shù)管理部門、物資供應(yīng)部門作為數(shù)據(jù)輸入端共同向系統(tǒng)內(nèi)數(shù)據(jù)庫(kù)輸入和維護(hù)數(shù)據(jù),由專業(yè)的信息管理部門對(duì)系統(tǒng)數(shù)據(jù)庫(kù)進(jìn)行日常權(quán)限管理和維護(hù),同時(shí)按鉆井項(xiàng)目信息管理系統(tǒng)用戶端的不同要求調(diào)整數(shù)據(jù)服務(wù)接口的工作配置并向其發(fā)送所需要的信息,實(shí)現(xiàn)鉆井項(xiàng)目管理人員或技術(shù)人員日常工作的各種需求。
3、系統(tǒng)架構(gòu)設(shè)計(jì)
為了便于闡述鉆井項(xiàng)目信息管理系統(tǒng)架構(gòu)設(shè)計(jì)方案,分為數(shù)據(jù)的存儲(chǔ)、處理等數(shù)據(jù)庫(kù)設(shè)計(jì)部分,數(shù)據(jù)的輸入、控制和輸出等與數(shù)據(jù)庫(kù)交互層設(shè)計(jì)部分。
3.1數(shù)據(jù)庫(kù)設(shè)計(jì)
Oracle數(shù)據(jù)庫(kù)系統(tǒng)是標(biāo)準(zhǔn)SQL分布式數(shù)據(jù)庫(kù)軟件的主流產(chǎn)品,也是目前各石油鉆井單位通常采用的數(shù)據(jù)庫(kù)軟件,采用的是客戶/服務(wù)器(CLIENT/SERVER)或B/S體系結(jié)構(gòu)。Oracle數(shù)據(jù)庫(kù)分本地?cái)?shù)據(jù)庫(kù)和遠(yuǎn)程數(shù)據(jù)庫(kù)兩種,體系結(jié)構(gòu)分物理存儲(chǔ)結(jié)構(gòu)和邏輯存儲(chǔ)結(jié)構(gòu),其數(shù)據(jù)庫(kù)管理系統(tǒng)即Oracle Server都是由一個(gè)Oracle數(shù)據(jù)庫(kù)和一個(gè)Oracle服務(wù)的實(shí)例來(lái)構(gòu)成的,各服務(wù)之間具有獨(dú)立性和自主性并且其數(shù)據(jù)存儲(chǔ)是透明的,不論哪種數(shù)據(jù)庫(kù)均需要由客戶端對(duì)數(shù)據(jù)庫(kù)進(jìn)行連接配置。Oracle客戶端包括應(yīng)用程序開發(fā)模塊、集成管理工具、配置工具等。當(dāng)用戶需要讀取其它服務(wù)器上的遠(yuǎn)程數(shù)據(jù)庫(kù)的數(shù)據(jù)時(shí)必須要通過(guò)Oracle NET Manager建立數(shù)據(jù)庫(kù)鏈接。綜合Oracle兼容性、可移植性、可聯(lián)結(jié)性、高生產(chǎn)率和開放性的特點(diǎn)。另外采用Oracle數(shù)據(jù)庫(kù)可直接導(dǎo)入原有的鉆井資料數(shù)據(jù)庫(kù)數(shù)據(jù),繼續(xù)使用原有的輸入客戶端和現(xiàn)場(chǎng)的自動(dòng)化參數(shù)采集裝置。因此在多形式終端的鉆井項(xiàng)目信息管理系統(tǒng)中依舊建議采用Oracle數(shù)據(jù)庫(kù)。
3.2數(shù)據(jù)庫(kù)數(shù)據(jù)調(diào)用設(shè)計(jì)
多形式終端的鉆井項(xiàng)目信息管理系統(tǒng)面臨一個(gè)問(wèn)題,那就是數(shù)據(jù)庫(kù)必須面臨多種類型程序客戶終端的信息,不可能所有的應(yīng)用程序都是使用.NET或COM編程語(yǔ)言編寫的,并且是在Windows平臺(tái)上運(yùn)行的,因此與其他程序的互通操作性十分關(guān)鍵。經(jīng)過(guò)篩選,為達(dá)到統(tǒng)一存取的目的,采用Web Service技術(shù)作為數(shù)據(jù)庫(kù)的數(shù)據(jù)接口訪問(wèn)層設(shè)計(jì)。
WebService應(yīng)用程序通常分為3個(gè)層次的體系結(jié)構(gòu)。體系結(jié)構(gòu)用來(lái)定義系統(tǒng)的結(jié)構(gòu)以及系統(tǒng)成員之間的相互關(guān)系。即劃分為用戶界面層(User Show Layer)、業(yè)務(wù)邏輯層(Business Login Layer)和數(shù)據(jù)接口訪問(wèn)層(Data Access Layer)的三層體系結(jié)構(gòu)。用戶界面層負(fù)責(zé)與用戶進(jìn)行交互操作以及信息的顯示。業(yè)務(wù)邏輯層是應(yīng)用的主體,將用戶界面層和數(shù)據(jù)層連接起來(lái),負(fù)責(zé)系統(tǒng)中的事務(wù)處理邏輯,包括:判斷、運(yùn)算、數(shù)據(jù)處理、算法實(shí)現(xiàn)等,WebService服務(wù)就在這一層實(shí)現(xiàn)。數(shù)據(jù)訪問(wèn)層用來(lái)進(jìn)行數(shù)據(jù)訪問(wèn)、存儲(chǔ)和更新等相應(yīng)的數(shù)據(jù)庫(kù)操作。
多形式終端的鉆井項(xiàng)目信息管理系統(tǒng)用例如下:
業(yè)務(wù)邏輯層操作如下: 設(shè)計(jì)用例見圖1。
通過(guò)Service對(duì)象的CustomerI nfo 方法,實(shí)現(xiàn)了對(duì)鉆井施工單位進(jìn)行查詢的封裝。
(1)通過(guò)獲得了界面層登錄事件傳入信息確定用戶名和密碼;
(2)創(chuàng)建Web Service代理類實(shí)例:
Service ser=new Service( ) ;
Web Service 操作如下:
[WebMetho d]
public DataSet Cust omerInfo( )
{
DataSet ds=new DataSet( ) ;
SqlConnect ion conn=new SqlConnect ion(strConn) ;
SqlCommand sqlCommand=new SqlCommand( ) ;
sqlCommand. Connection=conn;
sqlCommand. CommandT ype=System. Data. CommandType. StoredProcedure;
sqlCommand. CommandText="Customer Info";
conn. Open( ) ;
using (SqlDataAdapter sqlda=new SqlDataAdapter( ) )
{sqlda. SelectCommand=sqlCommand;
sqlda. Fill(ds) ;
}
sqlCommand. Dispose( ) ;
conn. Close( ) ;
return ds;
}
4、通訊網(wǎng)絡(luò)與終端設(shè)備系統(tǒng)架構(gòu)設(shè)計(jì)
多形式終端的鉆井項(xiàng)目信息管理系統(tǒng)在面對(duì)需求專業(yè)技術(shù)參數(shù)、圖表信息等大信息量的技術(shù)專家或其他用戶時(shí)可采用基于有線網(wǎng)絡(luò)和Windows系統(tǒng)的桌面計(jì)算機(jī)終端,在面對(duì)物資需求或統(tǒng)計(jì)信息等中等信息量的管理者或物資部門可采用基于無(wú)線WiFi網(wǎng)絡(luò)和Android系統(tǒng)的PAD。在面對(duì)現(xiàn)場(chǎng)日產(chǎn)運(yùn)行匯報(bào)或指令通知等小信息量但時(shí)效性要求較強(qiáng)生產(chǎn)運(yùn)行管理部門可采用基于3G網(wǎng)絡(luò)和Android系統(tǒng)的手機(jī)終端。
基于有線網(wǎng)絡(luò)和Windows系統(tǒng)的桌面計(jì)算機(jī)終端是以往所有信息管理系統(tǒng)通常采用的形式,闡述已經(jīng)很多,這里就不再贅言。無(wú)線WiFi網(wǎng)絡(luò)通過(guò)無(wú)線路由器把有線網(wǎng)絡(luò)信號(hào)轉(zhuǎn)換成無(wú)線信號(hào),擺脫了有線網(wǎng)絡(luò)的限制,擴(kuò)展了網(wǎng)絡(luò)連接的范圍。3G主要使用支持高速數(shù)據(jù)傳輸?shù)姆涓C移動(dòng)通訊技術(shù)的第三代移動(dòng)通信技術(shù)的線路和設(shè)備鋪設(shè)而成的通信網(wǎng)絡(luò),并與Internet網(wǎng)絡(luò)連通。
近年來(lái)終端顯示產(chǎn)品不斷向便攜化、小型化、智能化發(fā)展,平板電腦自出現(xiàn)后廣受用戶的支持,而手機(jī)也隨技術(shù)的進(jìn)步不斷智能化、存儲(chǔ)量更大、處理器速度更快從而也具有了手持智能終端設(shè)備的功能。根據(jù)調(diào)研,平板電腦和智能手機(jī)所使用的操作系統(tǒng)以Android系統(tǒng)最為廣泛,所以多形式終端的鉆井項(xiàng)目信息管理系統(tǒng)必須開發(fā)基于Android系統(tǒng)的客戶端,由該客戶端通過(guò)網(wǎng)絡(luò)向數(shù)據(jù)庫(kù)服務(wù)器進(jìn)行訪問(wèn)。
基于Android系統(tǒng)的應(yīng)用開發(fā),相當(dāng)于MVC三層架構(gòu)的View層開發(fā),即使用Android系統(tǒng)的智能終端主要完成人機(jī)的雙向基本信息交流,而數(shù)據(jù)存儲(chǔ)、業(yè)務(wù)邏輯等的處理仍由數(shù)據(jù)庫(kù)服務(wù)器和應(yīng)用服務(wù)器負(fù)責(zé)。采用輕量級(jí)的數(shù)據(jù)交換格式,通過(guò)網(wǎng)絡(luò)通信程序就實(shí)現(xiàn)了智能終端與傳統(tǒng)網(wǎng)絡(luò)應(yīng)用的合二為一,從而使采使用Android系統(tǒng)的智能終端也可以輕松訪問(wèn)服務(wù)器上的數(shù)據(jù)。為了與網(wǎng)絡(luò)系統(tǒng)的多形式終端的鉆井項(xiàng)目信息管理系統(tǒng)統(tǒng)一,所以采用采用Web Service方式,將業(yè)務(wù)操作定義為一個(gè)遠(yuǎn)程接口,通過(guò)調(diào)用該接口完成指定的功能,即遠(yuǎn)程的采用Android系統(tǒng)的智能終端通過(guò)引用遠(yuǎn)程Web Service服務(wù),系統(tǒng)創(chuàng)建Web Service代理,對(duì)遠(yuǎn)程Web Service提供相關(guān)方法進(jìn)行封裝,實(shí)現(xiàn)了遠(yuǎn)程程序與代理類之間的分離。調(diào)用者只需要提供遠(yuǎn)程調(diào)用方法所需要的參數(shù),不需要了解遠(yuǎn)程程序的內(nèi)部事件,也不需要了解網(wǎng)絡(luò)之間的數(shù)據(jù)傳輸,因?yàn)檫@些事情都是由程序內(nèi)部自動(dòng)完成,方便的得到所需結(jié)果。而遠(yuǎn)程Web Service服務(wù)通過(guò)在所要提供的方法前面添加[WebMethods]屬性,以表明此方法為Web Service提供給調(diào)用者的方法服務(wù)。如果方法前沒有添加此屬性,則遠(yuǎn)程調(diào)用者就無(wú)法進(jìn)行調(diào)用,這樣也提高了可控性與安全性。
5、結(jié)語(yǔ)
多形式終端的鉆井項(xiàng)目信息管理系統(tǒng)提供了一種開放的跨平臺(tái)的信息管理系統(tǒng),它可以滿足不同客戶端的不同需求,這套信息管理系統(tǒng)不僅僅只供一個(gè)鉆井項(xiàng)目管理部門使用,可以供所有相關(guān)的鉆井技術(shù)部門、經(jīng)營(yíng)管理部門等使用。
參考文獻(xiàn)
[1]Rani Pooja, Singh Pariniyojit Kumar, Sharma Hitesh Kumar. Self tuning of oracle database using SQL scripts International Journal of Computer Science Issues, 2011, 8, 532-537
[2]Andy Wigley.移動(dòng)設(shè)備.NET應(yīng)用程序設(shè)計(jì)[M].趙明,譯.北京:清華大學(xué)出版社,2003.
[3]孫麗萍等.基于WebService的移動(dòng)式醫(yī)療信息系統(tǒng)研究與設(shè)計(jì)[J].現(xiàn)代電子技術(shù),2010,335(24):169.