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

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

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

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

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