張德君,魏 偉,劉永杰,劉明艷
(1.新疆油田數(shù)據(jù)公司,新疆 克拉瑪依 834008;2.新疆克拉瑪依紅有軟件公司,新疆 克拉瑪依 834000)
在油氣田的勘探、開發(fā)中,一口井僅鉆井一項投資少則千萬、多則上億,而鉆井工程又是一項隱蔽的地下工程[3],由于受到油氣勘探技術水平的限制,對地層認識存在極大局限性以及受到工程不當操作影響等,因此極易造成井下事故復雜情況的發(fā)生,輕者耗費大量人力物力和時間,重者導致全井的廢棄。因此,亟需針對每口井實時獲取的鉆井數(shù)據(jù)進行實時監(jiān)控實時分析,及時預警診斷漏、噴、塌、卡、設備異常等井下事故復雜發(fā)生前的異常表征,從而避免井下事故的發(fā)生,極大降低非鉆井作業(yè)時間與成本,實現(xiàn)對鉆井作業(yè)的降本提質(zhì)增效。自殼牌公司提出“智慧油田”概念后,數(shù)字孿生、智能化鉆井已經(jīng)成為國際向協(xié)同化、高效化、一體化石油鉆井技術發(fā)展的重要手段,哈里伯頓4.0系統(tǒng)已經(jīng)開始將數(shù)字化轉型付諸行動,通過軟件、硬件、人工智能、機器學習和井下傳感器等信息融合判斷,極大提高了準確性、安全性。國內(nèi)[1]在這方面建設還處于初級階段,在數(shù)據(jù)挖掘、分析、展示上還存在一些不足。為保障國家能源安全,新疆油田公司提出了“1500萬噸原油產(chǎn)量”的奮斗目標。隨著加大準噶爾盆地南緣勘探力度和提高瑪湖致密油、吉木薩爾頁巖油氣田開發(fā)速度,風險探井、重點井和長水平段水平井數(shù)量越來越多,施工難度越來越大,存在著鉆井速度慢、安全鉆井難度大、現(xiàn)場管理層級多等難題,通過國內(nèi)外鉆井逐漸向數(shù)字化、智能化發(fā)展的趨勢證明,利用遠程傳輸數(shù)據(jù)對鉆井過程進行實時監(jiān)控、實時優(yōu)化,是油氣企業(yè)實現(xiàn)安全鉆進和提速提效的必要保障,因此亟需建立“鉆井遠程監(jiān)控系統(tǒng)”?;谛陆吞镆呀?jīng)開展的現(xiàn)場鉆井、錄井、LWD/MWD實時傳輸工作,充分利用和挖掘油田現(xiàn)場實時數(shù)據(jù)價值,對風險探井、重點井和長水平段水平井的鉆進過程實施全程跟蹤監(jiān)控,提升油田公司對鉆井作業(yè)現(xiàn)場的管控能力。為鉆井施工提供遠程技術支持和決策。
在以往的單體式(Monolithic)鉆井軟件設計架構中,系統(tǒng)通常采用分層架構模式,往往存在以下問題:對系統(tǒng)的任何修改都必須對整個系統(tǒng)重新部署升級,運維成本高;在系統(tǒng)負載增加時,難以進行水平擴展;當系統(tǒng)中一處出現(xiàn)問題,會影響整個系統(tǒng)。為了解決這些問題,微服務架構應運而生。微服務是一種服務端的架構模式,是一種將單個應用程序作為一套小型服務來開發(fā)的方法,每個服務都運行在自己的進程中,并與輕量級機制(通常是HTTP、RPC調(diào)用資源API方式出現(xiàn))進行通信。這些服務是圍繞業(yè)務功能構建的,可以通過全自動部署機制獨立部署。這些服務的集中管理最少,可以協(xié)同不同的編程語言進行系統(tǒng)集成,并使用不同的數(shù)據(jù)存儲技術。簡單來說,微服務架構風格是要開發(fā)一種由多個小服務組成的應用。每個服務運行于獨立的進程,并且采用輕量級交互。多數(shù)情況下是一個HTTP的資源API。這些服務具備獨立業(yè)務能力并可以通過自動化部署方式獨立部署。這種風格使最小化集中管理,從而可以使用多種不同的編程語言和數(shù)據(jù)存儲技術。
微前端是一種類似于微服務的架構,它將微服務的理念應用于瀏覽器端,即將Web 應用由單一的單體應用轉變?yōu)槎鄠€小型前端應用聚合為一的應用。各個前端應用可以獨立運行、獨立開發(fā)、獨立部署。微前端的概念由ThoughtWorks于2016年提出,此后很快被業(yè)界所接受,并在各互聯(lián)網(wǎng)大廠中得到推廣和應用。微服務與微前端有很多相似之處,都是希望將某個單一的單體應用,轉化為多個可以獨立運行、獨立開發(fā)、獨立部署、獨立維護的服務或者應用的聚合,從而滿足業(yè)務快速變化及分布式多團隊并行開發(fā)的需求。微服務與微前端不僅僅是技術架構的變化,還包含了組織方式、溝通方式的變化。微服務與微前端原理和軟件工程,面向對象設計中的原理同樣相通,都是遵循單一職責(Single Responsibility)、關注分離(Separation of Con?cerns)、模塊化(Modularity)與分而治之(Divide & Con?quer)等基本的原則。單頁面應用(SPA,Single-page Application)則指只有一個主頁面的應用,瀏覽器一開始要加載所有必須的html,js,css。所有的頁面內(nèi)容都包含在這個所謂的主頁面中。但在寫的時候,還是會分開寫(頁面片段),然后在交互的時候由路由程序動態(tài)載入。
通過在云端平臺部署以微服務微前端單頁面為主的鉆井遠程監(jiān)控系統(tǒng),以具體的鉆井應用為驅動,形成遠程監(jiān)控、大數(shù)據(jù)分析、工程輔助決策、隨鉆地質(zhì)導向、遠程技術支持等多個服務場景,實現(xiàn)為“數(shù)字鉆井”保駕護航。
采用新疆油田公司統(tǒng)一微服務技術架構實現(xiàn),在能力開放平臺的基礎上進行應用功能的開發(fā),其總體架構如圖1所示。
圖1 總體架構圖
為了解決數(shù)據(jù)倉庫不能處理非結構化數(shù)據(jù)和報表開發(fā)周期長的問題,所以優(yōu)先把企業(yè)所有的數(shù)據(jù)都抽取出來放到一起,成為一個大的數(shù)據(jù)集,其中有結構化數(shù)據(jù)、非結構化數(shù)據(jù)等。當業(yè)務方有需求的時候,再把他們需要的若干個小數(shù)據(jù)集單獨提取出來,以數(shù)據(jù)集的形式提供給數(shù)據(jù)應用。
在技術架構設計方面,本文主要把整個系統(tǒng)根據(jù)業(yè)務拆分成若干個子系統(tǒng)或微服務。每個子系統(tǒng)可以部署多個應用,多個應用之間使用負載均衡。借助服務注冊中心,將所有的服務都在注冊中心注冊,負載均衡也是通過在注冊中心注冊的服務來使用一定策略來實現(xiàn)。同時將所有的客戶端都通過同一個網(wǎng)關地址訪問后臺的服務,通過路由配置網(wǎng)關來判斷URL由哪個服務處理。請求轉發(fā)到服務上的時候使用負載均衡。服務與服務之間采用模塊調(diào)用的方式進行功能實現(xiàn)。
在技術應用方面,本文使用SpringCloud Config 配合公司的配置管理平臺進行統(tǒng)一的配置管理,通過在服務接口處添加Hystrix 標簽,就可以實現(xiàn)對這個接口的監(jiān)控和斷路器功能。通過Hystrix Dashboard 監(jiān)控面板,可以監(jiān)控各個服務上的服務調(diào)用所消耗的時間等。通過Turbine 可以幫助我們把所有的服務實例的監(jiān)控信息聚合到一個地方統(tǒng)一查看。避免重復打開頁面進行反復查看。
鉆井遠程監(jiān)控系統(tǒng)共分為五部分,其中主要包括監(jiān)控預警、地質(zhì)導向、鉆井優(yōu)化、固井分析、異常處理。
通過監(jiān)控預警功能,對鉆井過程的數(shù)據(jù)進行實時監(jiān)控、分析井下是否有發(fā)生事故發(fā)生的可能,并根據(jù)實際參數(shù)變化情況,及早調(diào)整或制定相應施工處理方案,減少或避免鉆井事故復雜情況發(fā)生;
通過地質(zhì)導向功能,可根據(jù)MWD實時傳輸數(shù)據(jù),繪制工具面(包括MTF 及GTF)隨時間變化圖,隨深度變化圖,可提供復合鉆進時狗腿度與鉆壓、轉速的關系圖,實鉆軌跡與設計軌跡對比圖(2D 沿水平段方向投影剖面圖、平面俯視圖),可計算實鉆軌跡與設計軌跡空間相對位置;
通過鉆井優(yōu)化功能,集成鉆井優(yōu)化軟件,以對井下環(huán)境進行詳細診斷。實現(xiàn)利用綜合錄井數(shù)據(jù)計算地層可鉆性等巖石破碎力學參數(shù),為鉆頭選型實時優(yōu)化提供依據(jù);利用綜合錄井參數(shù)及鉆速方程實時優(yōu)化鉆壓與轉速等參數(shù)。執(zhí)行自動和實時的優(yōu)化解釋計算,為專家做快速和有效的決策提供需要的信息,克服了傳統(tǒng)的優(yōu)化不能滿足實時工藝過程的缺點;
通過固井分析功能,模擬固井施工,可實現(xiàn)注水泥作業(yè)環(huán)空漿柱結構設計、水泥漿用量計算、注水泥過程模擬分析和注水泥過程實時監(jiān)測分析。可實現(xiàn)泵壓、排量優(yōu)化、固井流體流變模型自動優(yōu)選、固井過程動態(tài)模擬等計算,從而保證固井作業(yè)安全進行;
通過異常處理功能,為現(xiàn)場人員提供鉆井起鉆、下鉆、卡鉆、壓井、井眼清潔、解卡等可靠的計算結果,及時模擬計算復雜處理作業(yè)關鍵參數(shù)。
基于鉆井業(yè)務特性與業(yè)務要求,采用以下原則進行微服務劃分:
(1)單一職責原則。一個單元(類、方法或者服務等)只應關注整個系統(tǒng)功能中單獨、有界限的一部分。單一職責原則可以實現(xiàn)更敏捷地交付。
(2)服務自治原則。每個微服務應當具備獨立的業(yè)務能力、依賴于運行環(huán)境。在微服務架構中,服務是獨立的業(yè)務單元,應該與其他服務高度解耦。每個服務從開發(fā)、測試、構建、部署,都應當可以獨立運行,而不應該依賴其他服務。
(3)輕量級通信原則。微服務之間應該通過輕量級通信機制進行交互。輕量級通信機制應該具備體量較輕的特點,其次是它應該是跨語言、跨平臺的。而本文應用的REST協(xié)議,就是典型的“輕量級通信機制”。
(4)粒度先粗后細原則。微服務架構的演進是一個循序漸進的過程。在演進過程中,常常會根據(jù)業(yè)務的變化,對微服務進行重構,甚至是重新劃分,從而讓架構更加合理,最終形成完善的能力開放平臺。
監(jiān)控微服務主要包括多個WEB 功能設計,如:綜合監(jiān)控、實時曲線、整米曲線、設計對比、設計資料、地層對比、井口裝置、井身結構、鉆井液、鉆頭鉆具、井眼軌跡、進度時效、復雜提示、油氣顯示、螢光草圖、氣測后效、現(xiàn)場資料、鄰井對比、工程計算等功能模塊。通過一個綜合監(jiān)控主頁面的SPA(Single-page Applica?tion)應用,將所有頁面內(nèi)容都包含在這個主頁面中,在進行交互的過程中,借助路由程序進行動態(tài)載入。綜合監(jiān)控主頁面如圖2所示。
圖2 鉆井監(jiān)控
實時地質(zhì)導向:提供實時數(shù)據(jù)在地層中的模擬,如圖3所示,可提示鉆頭離地層的距離,提高鉆遇率。
如圖4所示,鉆井優(yōu)化功能通過集成人工智能流處理引擎,通過非線性回歸獲得鉆井液高溫高壓流變性、螺桿鉆具輸出扭矩性能,并根據(jù)鉆壓、轉速、螺桿壓差、機械鉆速、測井聲波曲線、伽馬曲線建立神經(jīng)網(wǎng)絡模型,預測新井機械鉆速。從而實現(xiàn)鉆井優(yōu)化的自動化和智能化。
圖4 參數(shù)優(yōu)化效果
如圖5所示,通過泵壓、排量優(yōu)化、固井流體流變模型自動優(yōu)選、固井過程動態(tài)模擬等計算,模擬固井施工,保證安全固井。
圖5 固井分析
(1)現(xiàn)場應用表明,鉆井遠程監(jiān)控系統(tǒng)能滿足新疆油田鉆井作業(yè)監(jiān)控和優(yōu)化分析的需求,可用于提升新疆油田鉆井作業(yè)現(xiàn)場的管控水平。
(2)基于.Vue、ECharts 及 elementUI 等微前端技術,并聯(lián)合SPA 解決方案集成的鉆井遠程監(jiān)控系統(tǒng)軟件,具有高內(nèi)聚、低耦合、獨立部署、易于集成等特點,極大提高了鉆井遠程監(jiān)控系統(tǒng)可靠性及可維護性。
(3)鉆井遠程監(jiān)控系統(tǒng)計算時所需的數(shù)據(jù)主要來自現(xiàn)場和設計數(shù)據(jù)的自動推送,大大減少了數(shù)據(jù)錄入工作的工作量,方便了鉆井工程技術人員的應用。