張德君,魏 偉,劉永杰,劉明艷
(1.新疆油田數(shù)據(jù)公司,新疆 克拉瑪依 834008;2.新疆克拉瑪依紅有軟件公司,新疆 克拉瑪依 834000)
在油氣田的勘探、開發(fā)中,一口井僅鉆井一項投資少則千萬、多則上億,而鉆井工程又是一項隱蔽的地下工程[3],由于受到油氣勘探技術(shù)水平的限制,對地層認(rèn)識存在極大局限性以及受到工程不當(dāng)操作影響等,因此極易造成井下事故復(fù)雜情況的發(fā)生,輕者耗費(fèi)大量人力物力和時間,重者導(dǎo)致全井的廢棄。因此,亟需針對每口井實時獲取的鉆井?dāng)?shù)據(jù)進(jìn)行實時監(jiān)控實時分析,及時預(yù)警診斷漏、噴、塌、卡、設(shè)備異常等井下事故復(fù)雜發(fā)生前的異常表征,從而避免井下事故的發(fā)生,極大降低非鉆井作業(yè)時間與成本,實現(xiàn)對鉆井作業(yè)的降本提質(zhì)增效。自殼牌公司提出“智慧油田”概念后,數(shù)字孿生、智能化鉆井已經(jīng)成為國際向協(xié)同化、高效化、一體化石油鉆井技術(shù)發(fā)展的重要手段,哈里伯頓4.0系統(tǒng)已經(jīng)開始將數(shù)字化轉(zhuǎn)型付諸行動,通過軟件、硬件、人工智能、機(jī)器學(xué)習(xí)和井下傳感器等信息融合判斷,極大提高了準(zhǔn)確性、安全性。國內(nèi)[1]在這方面建設(shè)還處于初級階段,在數(shù)據(jù)挖掘、分析、展示上還存在一些不足。為保障國家能源安全,新疆油田公司提出了“1500萬噸原油產(chǎn)量”的奮斗目標(biāo)。隨著加大準(zhǔn)噶爾盆地南緣勘探力度和提高瑪湖致密油、吉木薩爾頁巖油氣田開發(fā)速度,風(fēng)險探井、重點井和長水平段水平井?dāng)?shù)量越來越多,施工難度越來越大,存在著鉆井速度慢、安全鉆井難度大、現(xiàn)場管理層級多等難題,通過國內(nèi)外鉆井逐漸向數(shù)字化、智能化發(fā)展的趨勢證明,利用遠(yuǎn)程傳輸數(shù)據(jù)對鉆井過程進(jìn)行實時監(jiān)控、實時優(yōu)化,是油氣企業(yè)實現(xiàn)安全鉆進(jìn)和提速提效的必要保障,因此亟需建立“鉆井遠(yuǎn)程監(jiān)控系統(tǒng)”。基于新疆油田已經(jīng)開展的現(xiàn)場鉆井、錄井、LWD/MWD實時傳輸工作,充分利用和挖掘油田現(xiàn)場實時數(shù)據(jù)價值,對風(fēng)險探井、重點井和長水平段水平井的鉆進(jìn)過程實施全程跟蹤監(jiān)控,提升油田公司對鉆井作業(yè)現(xiàn)場的管控能力。為鉆井施工提供遠(yuǎn)程技術(shù)支持和決策。
在以往的單體式(Monolithic)鉆井軟件設(shè)計架構(gòu)中,系統(tǒng)通常采用分層架構(gòu)模式,往往存在以下問題:對系統(tǒng)的任何修改都必須對整個系統(tǒng)重新部署升級,運(yùn)維成本高;在系統(tǒng)負(fù)載增加時,難以進(jìn)行水平擴(kuò)展;當(dāng)系統(tǒng)中一處出現(xiàn)問題,會影響整個系統(tǒng)。為了解決這些問題,微服務(wù)架構(gòu)應(yīng)運(yùn)而生。微服務(wù)是一種服務(wù)端的架構(gòu)模式,是一種將單個應(yīng)用程序作為一套小型服務(wù)來開發(fā)的方法,每個服務(wù)都運(yùn)行在自己的進(jìn)程中,并與輕量級機(jī)制(通常是HTTP、RPC調(diào)用資源API方式出現(xiàn))進(jìn)行通信。這些服務(wù)是圍繞業(yè)務(wù)功能構(gòu)建的,可以通過全自動部署機(jī)制獨(dú)立部署。這些服務(wù)的集中管理最少,可以協(xié)同不同的編程語言進(jìn)行系統(tǒng)集成,并使用不同的數(shù)據(jù)存儲技術(shù)。簡單來說,微服務(wù)架構(gòu)風(fēng)格是要開發(fā)一種由多個小服務(wù)組成的應(yīng)用。每個服務(wù)運(yùn)行于獨(dú)立的進(jìn)程,并且采用輕量級交互。多數(shù)情況下是一個HTTP的資源API。這些服務(wù)具備獨(dú)立業(yè)務(wù)能力并可以通過自動化部署方式獨(dú)立部署。這種風(fēng)格使最小化集中管理,從而可以使用多種不同的編程語言和數(shù)據(jù)存儲技術(shù)。
微前端是一種類似于微服務(wù)的架構(gòu),它將微服務(wù)的理念應(yīng)用于瀏覽器端,即將Web 應(yīng)用由單一的單體應(yīng)用轉(zhuǎn)變?yōu)槎鄠€小型前端應(yīng)用聚合為一的應(yīng)用。各個前端應(yīng)用可以獨(dú)立運(yùn)行、獨(dú)立開發(fā)、獨(dú)立部署。微前端的概念由ThoughtWorks于2016年提出,此后很快被業(yè)界所接受,并在各互聯(lián)網(wǎng)大廠中得到推廣和應(yīng)用。微服務(wù)與微前端有很多相似之處,都是希望將某個單一的單體應(yīng)用,轉(zhuǎn)化為多個可以獨(dú)立運(yùn)行、獨(dú)立開發(fā)、獨(dú)立部署、獨(dú)立維護(hù)的服務(wù)或者應(yīng)用的聚合,從而滿足業(yè)務(wù)快速變化及分布式多團(tuán)隊并行開發(fā)的需求。微服務(wù)與微前端不僅僅是技術(shù)架構(gòu)的變化,還包含了組織方式、溝通方式的變化。微服務(wù)與微前端原理和軟件工程,面向?qū)ο笤O(shè)計中的原理同樣相通,都是遵循單一職責(zé)(Single Responsibility)、關(guān)注分離(Separation of Con?cerns)、模塊化(Modularity)與分而治之(Divide & Con?quer)等基本的原則。單頁面應(yīng)用(SPA,Single-page Application)則指只有一個主頁面的應(yīng)用,瀏覽器一開始要加載所有必須的html,js,css。所有的頁面內(nèi)容都包含在這個所謂的主頁面中。但在寫的時候,還是會分開寫(頁面片段),然后在交互的時候由路由程序動態(tài)載入。
通過在云端平臺部署以微服務(wù)微前端單頁面為主的鉆井遠(yuǎn)程監(jiān)控系統(tǒng),以具體的鉆井應(yīng)用為驅(qū)動,形成遠(yuǎn)程監(jiān)控、大數(shù)據(jù)分析、工程輔助決策、隨鉆地質(zhì)導(dǎo)向、遠(yuǎn)程技術(shù)支持等多個服務(wù)場景,實現(xiàn)為“數(shù)字鉆井”保駕護(hù)航。
采用新疆油田公司統(tǒng)一微服務(wù)技術(shù)架構(gòu)實現(xiàn),在能力開放平臺的基礎(chǔ)上進(jìn)行應(yīng)用功能的開發(fā),其總體架構(gòu)如圖1所示。

圖1 總體架構(gòu)圖
為了解決數(shù)據(jù)倉庫不能處理非結(jié)構(gòu)化數(shù)據(jù)和報表開發(fā)周期長的問題,所以優(yōu)先把企業(yè)所有的數(shù)據(jù)都抽取出來放到一起,成為一個大的數(shù)據(jù)集,其中有結(jié)構(gòu)化數(shù)據(jù)、非結(jié)構(gòu)化數(shù)據(jù)等。當(dāng)業(yè)務(wù)方有需求的時候,再把他們需要的若干個小數(shù)據(jù)集單獨(dú)提取出來,以數(shù)據(jù)集的形式提供給數(shù)據(jù)應(yīng)用。
在技術(shù)架構(gòu)設(shè)計方面,本文主要把整個系統(tǒng)根據(jù)業(yè)務(wù)拆分成若干個子系統(tǒng)或微服務(wù)。每個子系統(tǒng)可以部署多個應(yīng)用,多個應(yīng)用之間使用負(fù)載均衡。借助服務(wù)注冊中心,將所有的服務(wù)都在注冊中心注冊,負(fù)載均衡也是通過在注冊中心注冊的服務(wù)來使用一定策略來實現(xiàn)。同時將所有的客戶端都通過同一個網(wǎng)關(guān)地址訪問后臺的服務(wù),通過路由配置網(wǎng)關(guān)來判斷URL由哪個服務(wù)處理。請求轉(zhuǎn)發(fā)到服務(wù)上的時候使用負(fù)載均衡。服務(wù)與服務(wù)之間采用模塊調(diào)用的方式進(jìn)行功能實現(xiàn)。
在技術(shù)應(yīng)用方面,本文使用SpringCloud Config 配合公司的配置管理平臺進(jìn)行統(tǒng)一的配置管理,通過在服務(wù)接口處添加Hystrix 標(biāo)簽,就可以實現(xiàn)對這個接口的監(jiān)控和斷路器功能。通過Hystrix Dashboard 監(jiān)控面板,可以監(jiān)控各個服務(wù)上的服務(wù)調(diào)用所消耗的時間等。通過Turbine 可以幫助我們把所有的服務(wù)實例的監(jiān)控信息聚合到一個地方統(tǒng)一查看。避免重復(fù)打開頁面進(jìn)行反復(fù)查看。
鉆井遠(yuǎn)程監(jiān)控系統(tǒng)共分為五部分,其中主要包括監(jiān)控預(yù)警、地質(zhì)導(dǎo)向、鉆井優(yōu)化、固井分析、異常處理。
通過監(jiān)控預(yù)警功能,對鉆井過程的數(shù)據(jù)進(jìn)行實時監(jiān)控、分析井下是否有發(fā)生事故發(fā)生的可能,并根據(jù)實際參數(shù)變化情況,及早調(diào)整或制定相應(yīng)施工處理方案,減少或避免鉆井事故復(fù)雜情況發(fā)生;
通過地質(zhì)導(dǎo)向功能,可根據(jù)MWD實時傳輸數(shù)據(jù),繪制工具面(包括MTF 及GTF)隨時間變化圖,隨深度變化圖,可提供復(fù)合鉆進(jìn)時狗腿度與鉆壓、轉(zhuǎn)速的關(guān)系圖,實鉆軌跡與設(shè)計軌跡對比圖(2D 沿水平段方向投影剖面圖、平面俯視圖),可計算實鉆軌跡與設(shè)計軌跡空間相對位置;
通過鉆井優(yōu)化功能,集成鉆井優(yōu)化軟件,以對井下環(huán)境進(jìn)行詳細(xì)診斷。實現(xiàn)利用綜合錄井?dāng)?shù)據(jù)計算地層可鉆性等巖石破碎力學(xué)參數(shù),為鉆頭選型實時優(yōu)化提供依據(jù);利用綜合錄井參數(shù)及鉆速方程實時優(yōu)化鉆壓與轉(zhuǎn)速等參數(shù)。執(zhí)行自動和實時的優(yōu)化解釋計算,為專家做快速和有效的決策提供需要的信息,克服了傳統(tǒng)的優(yōu)化不能滿足實時工藝過程的缺點;
通過固井分析功能,模擬固井施工,可實現(xiàn)注水泥作業(yè)環(huán)空漿柱結(jié)構(gòu)設(shè)計、水泥漿用量計算、注水泥過程模擬分析和注水泥過程實時監(jiān)測分析。可實現(xiàn)泵壓、排量優(yōu)化、固井流體流變模型自動優(yōu)選、固井過程動態(tài)模擬等計算,從而保證固井作業(yè)安全進(jìn)行;
通過異常處理功能,為現(xiàn)場人員提供鉆井起鉆、下鉆、卡鉆、壓井、井眼清潔、解卡等可靠的計算結(jié)果,及時模擬計算復(fù)雜處理作業(yè)關(guān)鍵參數(shù)。
基于鉆井業(yè)務(wù)特性與業(yè)務(wù)要求,采用以下原則進(jìn)行微服務(wù)劃分:
(1)單一職責(zé)原則。一個單元(類、方法或者服務(wù)等)只應(yīng)關(guān)注整個系統(tǒng)功能中單獨(dú)、有界限的一部分。單一職責(zé)原則可以實現(xiàn)更敏捷地交付。
(2)服務(wù)自治原則。每個微服務(wù)應(yīng)當(dāng)具備獨(dú)立的業(yè)務(wù)能力、依賴于運(yùn)行環(huán)境。在微服務(wù)架構(gòu)中,服務(wù)是獨(dú)立的業(yè)務(wù)單元,應(yīng)該與其他服務(wù)高度解耦。每個服務(wù)從開發(fā)、測試、構(gòu)建、部署,都應(yīng)當(dāng)可以獨(dú)立運(yùn)行,而不應(yīng)該依賴其他服務(wù)。
(3)輕量級通信原則。微服務(wù)之間應(yīng)該通過輕量級通信機(jī)制進(jìn)行交互。輕量級通信機(jī)制應(yīng)該具備體量較輕的特點,其次是它應(yīng)該是跨語言、跨平臺的。而本文應(yīng)用的REST協(xié)議,就是典型的“輕量級通信機(jī)制”。
(4)粒度先粗后細(xì)原則。微服務(wù)架構(gòu)的演進(jìn)是一個循序漸進(jìn)的過程。在演進(jìn)過程中,常常會根據(jù)業(yè)務(wù)的變化,對微服務(wù)進(jìn)行重構(gòu),甚至是重新劃分,從而讓架構(gòu)更加合理,最終形成完善的能力開放平臺。
監(jiān)控微服務(wù)主要包括多個WEB 功能設(shè)計,如:綜合監(jiān)控、實時曲線、整米曲線、設(shè)計對比、設(shè)計資料、地層對比、井口裝置、井身結(jié)構(gòu)、鉆井液、鉆頭鉆具、井眼軌跡、進(jìn)度時效、復(fù)雜提示、油氣顯示、螢光草圖、氣測后效、現(xiàn)場資料、鄰井對比、工程計算等功能模塊。通過一個綜合監(jiān)控主頁面的SPA(Single-page Applica?tion)應(yīng)用,將所有頁面內(nèi)容都包含在這個主頁面中,在進(jìn)行交互的過程中,借助路由程序進(jìn)行動態(tài)載入。綜合監(jiān)控主頁面如圖2所示。

圖2 鉆井監(jiān)控
實時地質(zhì)導(dǎo)向:提供實時數(shù)據(jù)在地層中的模擬,如圖3所示,可提示鉆頭離地層的距離,提高鉆遇率。
如圖4所示,鉆井優(yōu)化功能通過集成人工智能流處理引擎,通過非線性回歸獲得鉆井液高溫高壓流變性、螺桿鉆具輸出扭矩性能,并根據(jù)鉆壓、轉(zhuǎn)速、螺桿壓差、機(jī)械鉆速、測井聲波曲線、伽馬曲線建立神經(jīng)網(wǎng)絡(luò)模型,預(yù)測新井機(jī)械鉆速。從而實現(xiàn)鉆井優(yōu)化的自動化和智能化。

圖4 參數(shù)優(yōu)化效果
如圖5所示,通過泵壓、排量優(yōu)化、固井流體流變模型自動優(yōu)選、固井過程動態(tài)模擬等計算,模擬固井施工,保證安全固井。

圖5 固井分析
(1)現(xiàn)場應(yīng)用表明,鉆井遠(yuǎn)程監(jiān)控系統(tǒng)能滿足新疆油田鉆井作業(yè)監(jiān)控和優(yōu)化分析的需求,可用于提升新疆油田鉆井作業(yè)現(xiàn)場的管控水平。
(2)基于.Vue、ECharts 及 elementUI 等微前端技術(shù),并聯(lián)合SPA 解決方案集成的鉆井遠(yuǎn)程監(jiān)控系統(tǒng)軟件,具有高內(nèi)聚、低耦合、獨(dú)立部署、易于集成等特點,極大提高了鉆井遠(yuǎn)程監(jiān)控系統(tǒng)可靠性及可維護(hù)性。
(3)鉆井遠(yuǎn)程監(jiān)控系統(tǒng)計算時所需的數(shù)據(jù)主要來自現(xiàn)場和設(shè)計數(shù)據(jù)的自動推送,大大減少了數(shù)據(jù)錄入工作的工作量,方便了鉆井工程技術(shù)人員的應(yīng)用。