孫 輝,馬繼兵,何成會(huì), 李炎峰
(中國電子科技集團(tuán)公司第二十二研究所 河南 新鄉(xiāng) 453003)
石油鉆探屬于數(shù)據(jù)密集型行業(yè),從物探到生產(chǎn),大量數(shù)據(jù)被采集,但其中很多數(shù)據(jù)是孤立的,從未被使用過。將信息化技術(shù)應(yīng)用在石油鉆探領(lǐng)域,可以解決數(shù)據(jù)資源無法共享、多系統(tǒng)間信息孤島等問題,為管理者提供輔助決策的依據(jù),提升油田的數(shù)字化管理水平。井場(chǎng)信息系統(tǒng)是油田數(shù)字化管理的一種實(shí)現(xiàn)思路,也是石油服務(wù)行業(yè)與互聯(lián)網(wǎng)的結(jié)合點(diǎn)。在大數(shù)據(jù)、人工智能蓬勃發(fā)展的今天,數(shù)據(jù)對(duì)油服行業(yè)的重要性不言而喻,通過計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)搜集整理各種錄井、隨鉆、測(cè)井?dāng)?shù)據(jù),并通過Web和手機(jī)端對(duì)各種信息進(jìn)行直觀的展示,對(duì)提高石油鉆井的效率和安全性都有極大促進(jìn)作用[1]。根據(jù)目前IT技術(shù)的發(fā)展趨勢(shì),本文提供了一種可行的解決方案:實(shí)時(shí)采集的數(shù)據(jù)用TCP協(xié)議數(shù)據(jù)傳輸、基于華為云的多線程數(shù)據(jù)接收和數(shù)據(jù)存儲(chǔ)、跨平臺(tái)遠(yuǎn)程調(diào)用技術(shù)WebService實(shí)現(xiàn)數(shù)據(jù)的分發(fā)、用SpringMVC和Android Native實(shí)現(xiàn)數(shù)據(jù)的可視化,設(shè)計(jì)開發(fā)了一個(gè)綜合性的錄井信息應(yīng)用系統(tǒng)。該系統(tǒng)可以完成現(xiàn)場(chǎng)的數(shù)據(jù)采集、遠(yuǎn)程傳輸、云存儲(chǔ)、基于Web和手機(jī)Android端的數(shù)據(jù)可視化、數(shù)據(jù)應(yīng)用,文中重點(diǎn)介紹了各功能的實(shí)現(xiàn)過程。
錄井信息應(yīng)用系統(tǒng)是融合數(shù)據(jù)采集、數(shù)據(jù)存儲(chǔ)和數(shù)據(jù)可視化為一體的綜合性油田數(shù)字化信息系統(tǒng),將色譜原始數(shù)據(jù)、傳感器原始數(shù)據(jù)、錄井實(shí)時(shí)數(shù)據(jù)、隨鉆實(shí)時(shí)數(shù)據(jù)進(jìn)行無縫整合,形成打破信息孤島、實(shí)現(xiàn)資源共享的大數(shù)據(jù)云平臺(tái)。系統(tǒng)總體架構(gòu)設(shè)計(jì)如圖1所示。
圖1 系統(tǒng)總計(jì)架構(gòu)設(shè)計(jì)
錄井信息應(yīng)用系統(tǒng)共分為七個(gè)功能模塊,分別為:錄井設(shè)備、井場(chǎng)客戶端、井場(chǎng)傳輸、數(shù)據(jù)交互、云處理、可視化和數(shù)據(jù)應(yīng)用[2]。系統(tǒng)功能模塊劃分如圖2所示。
圖2 系統(tǒng)功能模塊
1)錄井設(shè)備
主要功能是制定相關(guān)數(shù)據(jù)輸出到本系統(tǒng)設(shè)計(jì)接口規(guī)范,數(shù)據(jù)輸出實(shí)現(xiàn)由錄井儀設(shè)備制造商開發(fā)或者錄井設(shè)備制造商提供接口第三方開發(fā)??梢蕴峁┙涌谝?guī)范的數(shù)據(jù)包括:色譜原始數(shù)據(jù)、傳感器原始數(shù)據(jù)、錄井原始數(shù)據(jù)、錄井實(shí)時(shí)數(shù)據(jù)。
2)井場(chǎng)客戶端
主要功能包括:使用TCP服務(wù)器、TCP客戶端和串口方式接收WITS 0級(jí)的實(shí)時(shí)錄井、隨鉆傳輸規(guī)范數(shù)據(jù);提供界面編輯遠(yuǎn)程作業(yè)系統(tǒng)需要的各種報(bào)表。系統(tǒng)設(shè)計(jì)的需要手工輸入的報(bào)表,在WITSML規(guī)范中都有定義,如井、井眼、日?qǐng)?bào)、BHA等。
3)井場(chǎng)傳輸模塊
數(shù)據(jù)轉(zhuǎn)發(fā)的中間件,提供標(biāo)準(zhǔn)的WITS 0級(jí)數(shù)據(jù)接收標(biāo)準(zhǔn),這樣可以方便用戶開發(fā)針對(duì)不同儀器的井場(chǎng)客戶端,將數(shù)據(jù)解析后,按照WITSML規(guī)范重新包裝,基于.NET通信框架NetworkComms,將不同種類的數(shù)據(jù)信息設(shè)置不同的消息類型,遠(yuǎn)程傳輸?shù)骄畧?chǎng)服務(wù)端[3]。
4)數(shù)據(jù)交互
數(shù)據(jù)交互是通過消息系統(tǒng)管理數(shù)據(jù)處理消息,并通知訂閱/發(fā)布系統(tǒng),由發(fā)布系統(tǒng)根據(jù)訂閱者需求推送數(shù)據(jù)到各虛擬機(jī)上。消息系統(tǒng)是把井場(chǎng)傳輸模塊更新的數(shù)據(jù)通知WITSML發(fā)布系統(tǒng)。WITSML訂閱系統(tǒng)是處理各虛擬機(jī)上運(yùn)行的應(yīng)用軟件訂閱內(nèi)容。WITSML發(fā)布系統(tǒng)是根據(jù)各應(yīng)用軟件訂閱內(nèi)容,分發(fā)數(shù)據(jù)到各應(yīng)用軟件。
5)云處理
云處理負(fù)責(zé)虛擬機(jī)管理和虛擬機(jī)遠(yuǎn)程訪問。為了實(shí)現(xiàn)應(yīng)用軟件的云計(jì)算,需要在數(shù)據(jù)中心后臺(tái)啟動(dòng)大量虛擬機(jī)。虛擬機(jī)管理,是為了使云應(yīng)用系統(tǒng)性能最佳。即需要把不使用的虛擬機(jī)關(guān)閉,因而需要判斷虛擬機(jī)中應(yīng)用軟件工作狀態(tài),通過指令控制把其關(guān)閉;對(duì)于新增井應(yīng)用程序,需要用指令控制其開啟。NAT(網(wǎng)絡(luò)地址轉(zhuǎn)換)管理是把虛擬機(jī)的地址轉(zhuǎn)換為可被互聯(lián)網(wǎng)訪問的地址。這樣通過操作系統(tǒng)自帶的遠(yuǎn)程桌面工具,就可以訪問虛擬機(jī),實(shí)現(xiàn)對(duì)虛擬機(jī)中運(yùn)行的應(yīng)用軟件遠(yuǎn)程操作。
6)可視化
現(xiàn)場(chǎng)采集的原始數(shù)據(jù)在云端存儲(chǔ)后,可在Web端和手機(jī)端進(jìn)行信息的預(yù)覽。Web端和手機(jī)端的可視化平臺(tái)功能基本相同,都發(fā)布包括遠(yuǎn)程監(jiān)控系統(tǒng)、遠(yuǎn)程錄井系統(tǒng)、遠(yuǎn)程診斷系統(tǒng)。系統(tǒng)采用微服務(wù)框架,可以根據(jù)需要添加新的子系統(tǒng)。
7)云計(jì)算
云計(jì)算平臺(tái)分為遠(yuǎn)程井涌井漏系統(tǒng)和遠(yuǎn)程地質(zhì)導(dǎo)向系統(tǒng)。遠(yuǎn)程井涌井漏系統(tǒng)綜合應(yīng)用起下鉆監(jiān)測(cè)技術(shù)和多參數(shù)融合的模糊推理算法,從原始參數(shù)的變化入手,對(duì)現(xiàn)場(chǎng)的井涌井漏的事故和相關(guān)參數(shù)異常給出報(bào)警提示。遠(yuǎn)程地質(zhì)導(dǎo)向系統(tǒng)根據(jù)現(xiàn)場(chǎng)數(shù)據(jù),運(yùn)用正反演等多種算法,實(shí)時(shí)顯示井眼軌跡,對(duì)現(xiàn)場(chǎng)施工的過程有直觀的展示。
系統(tǒng)平臺(tái)采用多種技術(shù)開發(fā)。與錄井設(shè)備相關(guān)的井場(chǎng)客戶端、井場(chǎng)傳輸模塊采用.NET技術(shù)開發(fā),Web發(fā)布和安卓發(fā)布采用Java技術(shù)開發(fā)。系統(tǒng)平臺(tái)遵循統(tǒng)一的數(shù)據(jù)接口,在技術(shù)開發(fā)時(shí),參考和使用了大量的成熟或開源項(xiàng)目經(jīng)驗(yàn),如WinForm界面庫Component One、.NET通信框架NetworkComms、JEECG框架、WITSML數(shù)據(jù)傳輸標(biāo)準(zhǔn)和MySQL數(shù)據(jù)庫等。
1)規(guī)范化數(shù)據(jù)接口
系統(tǒng)的前端采集主要采用兩種規(guī)范化數(shù)據(jù)格式:WITS 0級(jí)[4]和WITSML數(shù)據(jù)[5]。WITS 0級(jí)數(shù)據(jù)格式主要用來傳輸錄井實(shí)時(shí)數(shù)據(jù),系統(tǒng)實(shí)現(xiàn)了TCP客戶端和TCP服務(wù)器端兩種數(shù)據(jù)接收方式。WITSML用來傳輸色譜原始數(shù)據(jù)、傳感器原始數(shù)據(jù)、錄井原始數(shù)據(jù),通過對(duì)數(shù)據(jù)組合打包、設(shè)置標(biāo)志位等方式,制定了這三類型數(shù)據(jù)的規(guī)范化接口,每種儀器都可以根據(jù)這些接口,實(shí)現(xiàn)錄井設(shè)備到系統(tǒng)的掛接。
下面用色譜原始數(shù)據(jù)舉例說明,格式使用XML標(biāo)準(zhǔn),數(shù)據(jù)體采用C#語言 DataSet數(shù)據(jù)集定義,對(duì)應(yīng)WITSML類型為“Chromcfg”。定義如下:
Chromcfg >
Chromcfg >
2)井場(chǎng)傳輸
井場(chǎng)傳輸比較復(fù)雜,涉及高并發(fā)、低延遲、粘包等一系列技術(shù)難題。為節(jié)省開發(fā)難度,系統(tǒng)在實(shí)現(xiàn)時(shí)采用了.NET通信框架NetworkComms,該框架免費(fèi)開源、運(yùn)行穩(wěn)定,可以很好的滿足系統(tǒng)的傳輸需求,其獨(dú)有的“消息類型”模式,可以很好地區(qū)分發(fā)送和接收的數(shù)據(jù)類型,井、井眼和日?qǐng)?bào)等不同的數(shù)據(jù)可以設(shè)置不同的消息類型,接收時(shí)框架會(huì)自動(dòng)識(shí)別存儲(chǔ)。該通訊框架的使用,整體提高了系統(tǒng)的開發(fā)效率。使用NetworkComms.Net框架的相關(guān)接口如下。
發(fā)送數(shù)據(jù)接口:
public returnObjectType SendReceiveObject
參數(shù)說明:
sendObjectType:發(fā)送數(shù)據(jù)類型
returnObjectType:返回?cái)?shù)據(jù)類型
sendingPacketTypeStr:發(fā)送數(shù)據(jù)類型標(biāo)識(shí)
expectedReturnPacketTypeStr:希望返回的數(shù)據(jù)類型標(biāo)識(shí)
returnPacketTimeOutMilliSeconds:返回超時(shí)
sendObject:發(fā)送參數(shù)
接收數(shù)據(jù)接口:
public static void AppendGlobalIncomingPacketHandler
參數(shù)說明:
packetTypeStr:進(jìn)入的數(shù)據(jù)包的消息類型
packetHandlerDelgatePointer:相關(guān)的處理器
incomingObjectType:進(jìn)入的數(shù)據(jù)對(duì)象
3)Web發(fā)布
采用JEECG框架。該框架具有的日志管理功能、權(quán)限控制體系和插件配置能力,可以極大提高開發(fā)效率,讓開發(fā)更多關(guān)注業(yè)務(wù)邏輯。Web發(fā)布更多關(guān)注的是信息的展示,用EasyUI插件進(jìn)行表格和樹形列表框的制作,用Bootstrap插件將頁面變?yōu)榭身憫?yīng)式,用Echarts插件將數(shù)據(jù)進(jìn)行圖形化展示,用Rapheal插件進(jìn)行數(shù)據(jù)曲線化展示等。該框架可以充分滿足系統(tǒng)的設(shè)計(jì)需求。
4)Android發(fā)布
針對(duì)小屏幕展示做了專門優(yōu)化,能夠?qū)浘畔?yīng)用系統(tǒng)的各類要素分屏展示。方便管理人員隨時(shí)隨地通過Android手機(jī)查看現(xiàn)場(chǎng)實(shí)時(shí)信息,使應(yīng)急人員和專家在有手機(jī)網(wǎng)絡(luò)信號(hào)的地方精準(zhǔn)掌握現(xiàn)場(chǎng)的工況,給出及時(shí)有效的指導(dǎo)意見,為現(xiàn)場(chǎng)決策提供有效根據(jù)和信息保障,提高鉆井效率和應(yīng)對(duì)突發(fā)事故的能力。
5)遠(yuǎn)程井涌井漏
遠(yuǎn)程井涌井漏是錄井信息應(yīng)用系統(tǒng)的第一個(gè)應(yīng)用[6]。在井場(chǎng)錄井實(shí)時(shí)數(shù)據(jù)已經(jīng)存儲(chǔ)到公用數(shù)據(jù)庫服務(wù)器的基礎(chǔ)上,通過統(tǒng)一的數(shù)據(jù)讀取插件,實(shí)時(shí)從公用數(shù)據(jù)庫讀取實(shí)時(shí)錄井?dāng)?shù)據(jù),綜合運(yùn)用參數(shù)異常分析、多參數(shù)融合判斷和起下鉆檢測(cè)等手段,實(shí)時(shí)監(jiān)控井場(chǎng)工況,對(duì)井涌井漏事故給出及時(shí)的預(yù)警提示信息,并將信息存儲(chǔ)到數(shù)據(jù)庫服務(wù)器。該應(yīng)用可以部署到云端,也可以部署到本地。
6)遠(yuǎn)程地質(zhì)導(dǎo)向
遠(yuǎn)程地質(zhì)導(dǎo)向是錄井信息應(yīng)用系統(tǒng)的第二個(gè)應(yīng)用[7]。在井場(chǎng)井斜數(shù)據(jù)已經(jīng)存儲(chǔ)到公用數(shù)據(jù)庫服務(wù)器的基礎(chǔ)上,通過統(tǒng)一的數(shù)據(jù)讀取插件,實(shí)時(shí)從公用數(shù)據(jù)庫讀取井斜數(shù)據(jù),綜合正反演、軌跡模擬計(jì)算等手段,繪制井眼的3D實(shí)時(shí)軌跡和關(guān)聯(lián)參數(shù)的變化曲線,同時(shí)提供臨井的比較。該應(yīng)用可以部署到云端,也可以部署到本地。
錄井信息應(yīng)用系統(tǒng)具有權(quán)限控制體系完善、數(shù)據(jù)標(biāo)準(zhǔn)統(tǒng)一、平臺(tái)擴(kuò)展性強(qiáng)的特點(diǎn)。
1)完善的權(quán)限控制體系
基于B/S架構(gòu)的系統(tǒng)登錄與權(quán)限管理實(shí)現(xiàn)了不同角色、不同組織結(jié)構(gòu)的分級(jí)管理。通過對(duì)角色和數(shù)據(jù)的一致化管理,保證了系統(tǒng)數(shù)據(jù)的完整性和安全性。這種分級(jí)管理的功能具有較高的可定制性,可對(duì)角色和組織結(jié)構(gòu)的權(quán)限進(jìn)行更小顆粒度的劃分和調(diào)整,滿足不同的應(yīng)用需求。
2)數(shù)據(jù)標(biāo)準(zhǔn)統(tǒng)一
平臺(tái)為了提高兼容性,全部規(guī)范化數(shù)據(jù)接口都使用比較流行的數(shù)據(jù)交換格式WITSML和標(biāo)準(zhǔn)WITS,在系統(tǒng)內(nèi)部也是如此。規(guī)范化的數(shù)據(jù)格式對(duì)數(shù)據(jù)的組裝和解析都有極大的裨益,最大限度的減少因?yàn)閿?shù)據(jù)的改動(dòng)而導(dǎo)致軟件代碼的改變。雖然犧牲了一定的空間,但在計(jì)算機(jī)速度日新月異的今天,還是值得的。
3)平臺(tái)擴(kuò)展性強(qiáng)
平臺(tái)建立在一個(gè)開放的技術(shù)體系上,采用全組件化設(shè)計(jì),集成度高,可以根據(jù)用戶需求靈活配置平臺(tái)模塊;所有的基礎(chǔ)功能都預(yù)留接口,支持今后功能擴(kuò)展調(diào)用;支持標(biāo)準(zhǔn)語言開發(fā),可以方便的實(shí)現(xiàn)C/S、B/S應(yīng)用。
錄井信息應(yīng)用系統(tǒng)通過2年的開發(fā)與建設(shè),順利通過了驗(yàn)收,已于2019年成功在華為云端部署應(yīng)用。由于系統(tǒng)采用開源成熟的網(wǎng)絡(luò)通訊框架,它可以支持?jǐn)?shù)百個(gè)客戶端遠(yuǎn)程傳輸,但井場(chǎng)通訊的實(shí)時(shí)性依賴于井場(chǎng)特定的網(wǎng)絡(luò)環(huán)境,具體的差別有待于進(jìn)一步的實(shí)踐檢驗(yàn)。目前系統(tǒng)運(yùn)行效果良好,無論是數(shù)據(jù)的多種可視化展示平臺(tái),還是數(shù)據(jù)的應(yīng)用平臺(tái),都能穩(wěn)定及時(shí)地反映現(xiàn)場(chǎng)的施工狀況。
錄井信息應(yīng)用系統(tǒng)的成功開發(fā),使信息化技術(shù)在錄井行業(yè)得到了深化應(yīng)用,“云計(jì)算”、“大數(shù)據(jù)”等技術(shù)應(yīng)用到錄井信息應(yīng)用系統(tǒng)中,解決了井場(chǎng)現(xiàn)場(chǎng)和油田公司數(shù)據(jù)無法及時(shí)共享,系統(tǒng)間信息孤島等一系列問題,同時(shí)也可以減輕現(xiàn)場(chǎng)人員和管理人員的工作強(qiáng)度,實(shí)現(xiàn)專業(yè)數(shù)據(jù)管理的有序化、規(guī)范化、標(biāo)準(zhǔn)化。錄井信息應(yīng)用系統(tǒng)建立了系統(tǒng)技術(shù)架構(gòu)體系,可適應(yīng)業(yè)務(wù)和技術(shù)的不斷變革和彈性變化,通過建立的數(shù)據(jù)共享服務(wù)平臺(tái),支持跨專業(yè)、跨地域、跨系統(tǒng)的數(shù)據(jù)共享,為油田的數(shù)字化建立堅(jiān)實(shí)的基礎(chǔ)。錄井信息應(yīng)用系統(tǒng)在業(yè)務(wù)拓展和數(shù)據(jù)深入應(yīng)用方面有待進(jìn)一步開發(fā),因此該系統(tǒng)仍需改進(jìn)和完善,使其能夠?yàn)樘嵘吞锏臄?shù)字化管理水平、創(chuàng)造經(jīng)濟(jì)效益、節(jié)約管理成本提供強(qiáng)有力的技術(shù)支撐。