劉艷雯,吳 濤,沈 彬,楊金棟,龐 達
(海洋石油工程(青島)有限公司,青島 266100)
近些年來,海洋石油工程建造技術取得了突破性的進展與成效,在建造管理方面也積極的向數字化與智能化轉型。目前,海洋石油工程承攬的多個項目都應用了工程項目管理軟件,實現了工程建造施工數據管理標準化與規范化。但是從設計到現場施工,數據在系統當中形成了一個閉環,對項目其他管理人員來說,獲取數據的時間周期長,數據時效性與準確性無法保證。其中一個LNG項目應用PCMS系統管理結構與電儀專業的施工,應用CMS/VM管理管線專業施工,兩個系統運行在不同的局域網下,獲取數據的溝通成本以及數據處理的人力成本較高。所以結合實際需求,深化推廣施工管理系統應用,在實際管理層面推進數字化建設,在某大型LNG項目中設計一個施工數據的共享平臺,方便項目管理施工數據獲取。
工程項目管理系統在施工管理上具有特有的優勢,但是缺少數據共享以及可視化的平臺,施工數據封閉在系統內,增加管理人員和施工人員獲取數據的溝通成本。所以平臺建設的主要目的是實現跨局域網抽取PCMS、CMS這兩個工程項目管理系統中的結構、管線和電儀專業核心施工數據,將其分析處理后,輸出為可讀性高,能夠用于實際工作中分析使用的報表。
1.2.1 數據準確性
系統數據庫的結構復雜,直接訪問后臺數據庫對普通用戶來說有一定難度,對訪問者要求較高,并且可能引起安全問題。高效準確的方式是向用戶直接提供經過簡化的,可讀性高的數據表。杜絕人為干預,有效保證數據的準確性。
1.2.2 數據時效性
由于平臺承載了上百萬數據的分析、處理和下載。所以為了保證平臺的響應速度,該平臺抽取施工管理系統的核心數據,進行分析處理。并且大部分的數據同步以及數據處理的工作都設定在非工作時間運行,保證提供給用戶的數據具有高時效性,節約用戶獲取數據的時間,提高效率。
1.2.3 網站并發性
該平臺的用戶較多,并且集中在工作日早上,所以確保多用戶同時下載訪問的系統的穩定性以及響應速度。
1.2.4 界面友好
保證應用界面簡潔易操作。
該平臺開發使用的語言是Python,Python作為一種膠水語言,支持多種平臺,開發時間短,成本低,功能強大,簡單易學,可讀性高,并且可以使用龐大的第三方庫來處理大部分的問題。Django 1.11.12 MVT模式充當了項目整體骨架,其擴展性強,更容易重構代碼,后續維護成本低。Django框架接收了用戶請求和參數后,再匹配URL,轉發給對應視圖(view.py)進行處理,View是開發框架中的核心,負責接收請求、獲取數據、返回結果。視圖調用Model處理數據,再調用template返回界面給瀏覽器(如圖1)。

圖1 Django MVT模式
數據共享平臺的系統架構如圖2所示。

圖2 數據共享平臺系統架構
系統架構從下向上分為運行環境、數據庫、業務層、展示層、用戶界面和訪問層。業務層實現包括結構,管線在內等多個專業的常用報表等基礎信息的下載以及結構、管線、涂裝專業進度數據的處理、查看下載功能。展示層提供瀏覽器訪問頁面時的AJAX(異步的JavaScript和XML)請求;前端界面采用最新的UI技術,保證功能性、美觀性,以及良好的用戶體驗;最上面為訪問層系統采用HTTP(Hyper Text Transfer Protocol,超文本傳輸協議),為用戶提供實時響應。
該平臺采用的是體積小、速度快、總體擁有成本低的關系型數據庫MySQL數據庫。
MySQL數據庫的建立是為了兼容來源于施工管理系統的Oracle數據庫以及SQL Server數據庫數據。由于讀取的數據在施工管理系統中經過組織,所以數據中心平臺的后臺數據庫無需再次組織數據結構與表關系。這些數據有一部分可以直接使用,另外一部分則需要根據實際的需求做數據清洗工作。雖然Python在數據處理方面具有獨特的優勢,但是為了便于管理以及統一維護,設計一些視圖來實現簡單的數據分析處理。
該平臺的數據更新和數據分析依靠部署服務器和Python腳本保證正常運行,所以在網站以及數據庫搭建完成之后,需要通過對支持網站的服務器和Python腳本進行部署來實現PCMS和CMS/VM數據集成以及數據更新自動化。
由于PCMS和CMS/VM兩個施工管理系統分管不同的專業,這兩個系統不在同一局域網下,所以使網站能夠覆蓋全專業數據,首先需要解決跨局域網讀取CMS數據的問題。為了解決該問題,單獨設立了一臺具有VPN權限的服務器,該服務器既能夠訪問CMS數據庫,也能夠訪問網站后臺數據庫。在該服務器中利用任務管理器,建立兩個定時任務,無限期每隔12小時重復運行一次,通過運行腳本,定時訪問CMS數據庫讀取最新數據,將讀取數據表寫進網站后臺MySQL數據庫中。
但是除了更新同步數據,還在腳本中嵌入了進度數據分析計算的程序代碼,這樣就能夠在自動更新數據的同時,計算出施工進度,并將進度報表同樣寫入網站后臺MySQL數據庫中,實現智能化數據分析。
除了遷移CMS的腳本,網站還開發部署了三個腳本用來同步PCMS數據。這三個腳本同樣嵌入了各自進度計算的程序代碼,能夠在分別同步結構、涂裝、電儀專業的基礎信息和施工數據的同時處理數據,生產進度分析報表。
常用下載頁面(圖3)中根據項目各個專業的具體需求,提供了26個報表,包括材料、結構、管線、試壓包與電儀專業的基礎施工數據,并對報表內容進行了簡單的描述,訪問者可以選擇需要的報表,點擊下載。報表通常是.xlsx和.csv格式輸出。

圖3 常用下載頁面
通過和管理人員的溝通,了解到進度統計每周都需要重復相同的數據處理工作。所以該平臺利用自身的數據優勢,深入挖掘數據特點,通過定制網站后臺數據庫視圖、開發腳本使進度統計工作在每日數據更新之后依靠Python腳本自動執行完成。目前提供的進度數據包括結構、管線專業的預制與安裝這兩個施工階段。
此處以管線安裝的進度計算報表的輸出為例展現進度計算邏輯(圖4)。先將管線安裝狀態跟蹤表與管線安裝工步權重表映射合并。然后將FIELD_ID(該管的總焊接量)的值替換掉工部完成日期,如果該工步完成時間為空,則填充為0。這樣每個單管每個工部完成焊接寸徑與其對應權重相乘再累加的值,即該管線工作完成量。根據模塊號、層號和管線材質分組求和,得出最終進度計算表。進度統計報表既結合SQL Server和MySQL的數據,同時也應用了SQL語句和Python語言,通過自動更新與計算運行,減少了計劃團隊每周的結算工作量,準確性較高。

圖4 進度數據分析模塊
為了補充施工結構化數據不直觀的短板,在現有數據基礎上補充了數據可視化圖表模塊,直觀展現施工狀態。

圖5 試壓包狀態跟蹤統計圖
該平臺通過同步PCMS系統和CMSVM系統數據,集成材料采辦專業、結構專業、管線專業、電儀專業的核心施工數據,分享給項目管理人員,實現共享,減少溝通成本。目前,平臺所提供的數據已經能夠滿足項目運行大部分需求,為管理人員了解施工情況,并根據施工現狀調整管理策略提供了數據支持。除了上述功能已經實現的功能之外,網站也將會隨著項目的不斷深入而做出數據的改進與調整。