劉艷雯,吳 濤,沈 彬,楊金棟,龐 達
(海洋石油工程(青島)有限公司,青島 266100)
近些年來,海洋石油工程建造技術取得了突破性的進展與成效,在建造管理方面也積極的向數(shù)字化與智能化轉型。目前,海洋石油工程承攬的多個項目都應用了工程項目管理軟件,實現(xiàn)了工程建造施工數(shù)據管理標準化與規(guī)范化。但是從設計到現(xiàn)場施工,數(shù)據在系統(tǒng)當中形成了一個閉環(huán),對項目其他管理人員來說,獲取數(shù)據的時間周期長,數(shù)據時效性與準確性無法保證。其中一個LNG項目應用PCMS系統(tǒng)管理結構與電儀專業(yè)的施工,應用CMS/VM管理管線專業(yè)施工,兩個系統(tǒng)運行在不同的局域網下,獲取數(shù)據的溝通成本以及數(shù)據處理的人力成本較高。所以結合實際需求,深化推廣施工管理系統(tǒng)應用,在實際管理層面推進數(shù)字化建設,在某大型LNG項目中設計一個施工數(shù)據的共享平臺,方便項目管理施工數(shù)據獲取。
工程項目管理系統(tǒng)在施工管理上具有特有的優(yōu)勢,但是缺少數(shù)據共享以及可視化的平臺,施工數(shù)據封閉在系統(tǒng)內,增加管理人員和施工人員獲取數(shù)據的溝通成本。所以平臺建設的主要目的是實現(xiàn)跨局域網抽取PCMS、CMS這兩個工程項目管理系統(tǒng)中的結構、管線和電儀專業(yè)核心施工數(shù)據,將其分析處理后,輸出為可讀性高,能夠用于實際工作中分析使用的報表。
1.2.1 數(shù)據準確性
系統(tǒng)數(shù)據庫的結構復雜,直接訪問后臺數(shù)據庫對普通用戶來說有一定難度,對訪問者要求較高,并且可能引起安全問題。高效準確的方式是向用戶直接提供經過簡化的,可讀性高的數(shù)據表。杜絕人為干預,有效保證數(shù)據的準確性。
1.2.2 數(shù)據時效性
由于平臺承載了上百萬數(shù)據的分析、處理和下載。所以為了保證平臺的響應速度,該平臺抽取施工管理系統(tǒng)的核心數(shù)據,進行分析處理。并且大部分的數(shù)據同步以及數(shù)據處理的工作都設定在非工作時間運行,保證提供給用戶的數(shù)據具有高時效性,節(jié)約用戶獲取數(shù)據的時間,提高效率。
1.2.3 網站并發(fā)性
該平臺的用戶較多,并且集中在工作日早上,所以確保多用戶同時下載訪問的系統(tǒng)的穩(wěn)定性以及響應速度。
1.2.4 界面友好
保證應用界面簡潔易操作。
該平臺開發(fā)使用的語言是Python,Python作為一種膠水語言,支持多種平臺,開發(fā)時間短,成本低,功能強大,簡單易學,可讀性高,并且可以使用龐大的第三方庫來處理大部分的問題。Django 1.11.12 MVT模式充當了項目整體骨架,其擴展性強,更容易重構代碼,后續(xù)維護成本低。Django框架接收了用戶請求和參數(shù)后,再匹配URL,轉發(fā)給對應視圖(view.py)進行處理,View是開發(fā)框架中的核心,負責接收請求、獲取數(shù)據、返回結果。視圖調用Model處理數(shù)據,再調用template返回界面給瀏覽器(如圖1)。
圖1 Django MVT模式
數(shù)據共享平臺的系統(tǒng)架構如圖2所示。
圖2 數(shù)據共享平臺系統(tǒng)架構
系統(tǒng)架構從下向上分為運行環(huán)境、數(shù)據庫、業(yè)務層、展示層、用戶界面和訪問層。業(yè)務層實現(xiàn)包括結構,管線在內等多個專業(yè)的常用報表等基礎信息的下載以及結構、管線、涂裝專業(yè)進度數(shù)據的處理、查看下載功能。展示層提供瀏覽器訪問頁面時的AJAX(異步的JavaScript和XML)請求;前端界面采用最新的UI技術,保證功能性、美觀性,以及良好的用戶體驗;最上面為訪問層系統(tǒng)采用HTTP(Hyper Text Transfer Protocol,超文本傳輸協(xié)議),為用戶提供實時響應。
該平臺采用的是體積小、速度快、總體擁有成本低的關系型數(shù)據庫MySQL數(shù)據庫。
MySQL數(shù)據庫的建立是為了兼容來源于施工管理系統(tǒng)的Oracle數(shù)據庫以及SQL Server數(shù)據庫數(shù)據。由于讀取的數(shù)據在施工管理系統(tǒng)中經過組織,所以數(shù)據中心平臺的后臺數(shù)據庫無需再次組織數(shù)據結構與表關系。這些數(shù)據有一部分可以直接使用,另外一部分則需要根據實際的需求做數(shù)據清洗工作。雖然Python在數(shù)據處理方面具有獨特的優(yōu)勢,但是為了便于管理以及統(tǒng)一維護,設計一些視圖來實現(xiàn)簡單的數(shù)據分析處理。
該平臺的數(shù)據更新和數(shù)據分析依靠部署服務器和Python腳本保證正常運行,所以在網站以及數(shù)據庫搭建完成之后,需要通過對支持網站的服務器和Python腳本進行部署來實現(xiàn)PCMS和CMS/VM數(shù)據集成以及數(shù)據更新自動化。
由于PCMS和CMS/VM兩個施工管理系統(tǒng)分管不同的專業(yè),這兩個系統(tǒng)不在同一局域網下,所以使網站能夠覆蓋全專業(yè)數(shù)據,首先需要解決跨局域網讀取CMS數(shù)據的問題。為了解決該問題,單獨設立了一臺具有VPN權限的服務器,該服務器既能夠訪問CMS數(shù)據庫,也能夠訪問網站后臺數(shù)據庫。在該服務器中利用任務管理器,建立兩個定時任務,無限期每隔12小時重復運行一次,通過運行腳本,定時訪問CMS數(shù)據庫讀取最新數(shù)據,將讀取數(shù)據表寫進網站后臺MySQL數(shù)據庫中。
但是除了更新同步數(shù)據,還在腳本中嵌入了進度數(shù)據分析計算的程序代碼,這樣就能夠在自動更新數(shù)據的同時,計算出施工進度,并將進度報表同樣寫入網站后臺MySQL數(shù)據庫中,實現(xiàn)智能化數(shù)據分析。
除了遷移CMS的腳本,網站還開發(fā)部署了三個腳本用來同步PCMS數(shù)據。這三個腳本同樣嵌入了各自進度計算的程序代碼,能夠在分別同步結構、涂裝、電儀專業(yè)的基礎信息和施工數(shù)據的同時處理數(shù)據,生產進度分析報表。
常用下載頁面(圖3)中根據項目各個專業(yè)的具體需求,提供了26個報表,包括材料、結構、管線、試壓包與電儀專業(yè)的基礎施工數(shù)據,并對報表內容進行了簡單的描述,訪問者可以選擇需要的報表,點擊下載。報表通常是.xlsx和.csv格式輸出。
圖3 常用下載頁面
通過和管理人員的溝通,了解到進度統(tǒng)計每周都需要重復相同的數(shù)據處理工作。所以該平臺利用自身的數(shù)據優(yōu)勢,深入挖掘數(shù)據特點,通過定制網站后臺數(shù)據庫視圖、開發(fā)腳本使進度統(tǒng)計工作在每日數(shù)據更新之后依靠Python腳本自動執(zhí)行完成。目前提供的進度數(shù)據包括結構、管線專業(yè)的預制與安裝這兩個施工階段。
此處以管線安裝的進度計算報表的輸出為例展現(xiàn)進度計算邏輯(圖4)。先將管線安裝狀態(tài)跟蹤表與管線安裝工步權重表映射合并。然后將FIELD_ID(該管的總焊接量)的值替換掉工部完成日期,如果該工步完成時間為空,則填充為0。這樣每個單管每個工部完成焊接寸徑與其對應權重相乘再累加的值,即該管線工作完成量。根據模塊號、層號和管線材質分組求和,得出最終進度計算表。進度統(tǒng)計報表既結合SQL Server和MySQL的數(shù)據,同時也應用了SQL語句和Python語言,通過自動更新與計算運行,減少了計劃團隊每周的結算工作量,準確性較高。
圖4 進度數(shù)據分析模塊
為了補充施工結構化數(shù)據不直觀的短板,在現(xiàn)有數(shù)據基礎上補充了數(shù)據可視化圖表模塊,直觀展現(xiàn)施工狀態(tài)。
圖5 試壓包狀態(tài)跟蹤統(tǒng)計圖
該平臺通過同步PCMS系統(tǒng)和CMSVM系統(tǒng)數(shù)據,集成材料采辦專業(yè)、結構專業(yè)、管線專業(yè)、電儀專業(yè)的核心施工數(shù)據,分享給項目管理人員,實現(xiàn)共享,減少溝通成本。目前,平臺所提供的數(shù)據已經能夠滿足項目運行大部分需求,為管理人員了解施工情況,并根據施工現(xiàn)狀調整管理策略提供了數(shù)據支持。除了上述功能已經實現(xiàn)的功能之外,網站也將會隨著項目的不斷深入而做出數(shù)據的改進與調整。