胡廣浩 阮福明 朱耀強
(中海油田服務(wù)股份有限公司物探事業(yè)部,天津 300450)
在海洋油氣勘探的迫切需求下,中國海油大力發(fā)展自主地震勘探裝備和技術(shù),并取得成功應(yīng)用[1,2]。海上地震勘探采用工區(qū)的方式進行作業(yè)過程數(shù)據(jù)管理,工區(qū)通常由幾十條甚至上百條測試組成,海上地震勘探的過程就是逐個完成每條測線地震數(shù)據(jù)采集(測線采集),測線采集由導(dǎo)航系統(tǒng)、槍控系統(tǒng)、采集系統(tǒng)、拖纜控制系統(tǒng)等協(xié)同工作下共同完成。各作業(yè)班組人員在測線采集過程中記錄測線數(shù)據(jù),測線采集結(jié)束后手工填寫測線班報、問題記錄、質(zhì)控數(shù)據(jù)等,匯總形成測線報告。不同作業(yè)船隊、不同作業(yè)班組提交的報告格式不統(tǒng)一,從而形成的地震作業(yè)報告種類多樣;人為的記錄和填報失誤也會帶來錯誤的作業(yè)報告;大量的測線記錄,對檢索和統(tǒng)計帶來挑戰(zhàn)。
本文設(shè)計了一套用于海上地震勘探現(xiàn)場的質(zhì)量監(jiān)督平臺軟件(平臺軟件),實現(xiàn)對作業(yè)現(xiàn)場數(shù)據(jù)的規(guī)范化記錄、集中式管理和統(tǒng)計分析。采用瀏覽器/服務(wù)器(Browser/Server,B/S)架構(gòu),客戶端采用瀏覽器作為用戶接口,平臺軟件則以Web應(yīng)用程序的形式運行在服務(wù)器端,如圖1所示。
圖1 平臺軟件結(jié)構(gòu)圖
平臺軟件基于Java語言和模型—視圖—控制器(model-view-controller,MVC)架構(gòu)設(shè)計和開發(fā),層次結(jié)構(gòu)如圖2所示。通過將業(yè)務(wù)邏輯、數(shù)據(jù)、界面顯示分離的方式組織代碼,降低開發(fā)難度,提高開發(fā)效率和可維護性。
圖2 系統(tǒng)層次結(jié)構(gòu)圖
(1)表示層作為系統(tǒng)的最上層,用于顯示數(shù)據(jù)和接收用戶輸入的數(shù)據(jù),為用戶提供一種交互式操作的界面,采用JavaServer Faces(JSF)框架[3,4],以組件為中心進行用戶界面(UI)構(gòu)建,使用PrimeFaces的UI組件庫作為基礎(chǔ)樣式[5]。
(2)業(yè)務(wù)邏輯層處于數(shù)據(jù)訪問層與表示層中間,起到數(shù)據(jù)交換中承上啟下的作用。它對表示層接到的用戶指令或數(shù)據(jù)進行業(yè)務(wù)處理,將處理的結(jié)果發(fā)送給下面的數(shù)據(jù)訪問層,請求數(shù)據(jù)訪問層傳回需要的數(shù)據(jù)。
(3)數(shù)據(jù)訪問層實現(xiàn)數(shù)據(jù)庫的訪問,包括對數(shù)據(jù)庫表進行增、刪、改、查的操作。它將存儲在數(shù)據(jù)庫中的數(shù)據(jù)提交給業(yè)務(wù)層,將業(yè)務(wù)層處理的數(shù)據(jù)保存到數(shù)據(jù)庫。平臺軟件的數(shù)據(jù)訪問層采用Hibernate框架[5],完成數(shù)據(jù)的持久化。
(4)數(shù)據(jù)存儲采用系數(shù)據(jù)庫系統(tǒng)PostgreSQL和文件系統(tǒng)組合的方式,文件系統(tǒng)用于存儲較大的附件文件,附件文件的位置存儲在數(shù)據(jù)庫表格特定字段中。
平臺軟件由用戶模塊、工區(qū)模塊、儀器模塊、導(dǎo)航模塊、現(xiàn)場處理模塊、監(jiān)督模塊組成,如圖3所示。
圖3 平臺軟件功能框圖
(1)用戶模塊:由用戶管理、角色管理、權(quán)限管理組成,通過用戶—角色—權(quán)限三級結(jié)構(gòu)級聯(lián),實現(xiàn)對用戶操作權(quán)限精細化控制。
(2)工區(qū)模塊:工區(qū)模塊是其他模塊的基礎(chǔ)模塊,用于其他模塊提交數(shù)據(jù)的參考,由工區(qū)信息、測線信息、工區(qū)統(tǒng)計組成。工區(qū)信息管理整個作業(yè)工區(qū)的全局數(shù)據(jù),包括地震采集參數(shù)、槍陣配置、開工參數(shù)確認單、導(dǎo)航配置等;測線信息管理工區(qū)內(nèi)包含的前繪測線,用戶基于前繪測線提交實際作業(yè)測線的數(shù)據(jù);工區(qū)統(tǒng)計實時監(jiān)控當(dāng)前測線作業(yè)情況,并對歷史測線完成情況進行統(tǒng)計。
(3)儀器模塊:由儀器班報、日檢報告、月檢報告組成,儀器班報管理作業(yè)測線的地震數(shù)據(jù)有效炮號、噪音炮、異常炮、廢炮、震源壓力和容量超標(biāo)、槍控同步超標(biāo)等,日檢報告和月檢報告管理儀器系統(tǒng)的每日和每月指標(biāo)測試數(shù)據(jù)。
(4)導(dǎo)航模塊:由導(dǎo)航班報、航行公里管理、工區(qū)覆蓋管理等組成,導(dǎo)航班報管理作業(yè)測線的導(dǎo)航數(shù)據(jù)水深、電纜羽角、導(dǎo)航設(shè)備異常等,航行公里管理、工區(qū)覆蓋管理分別對每日的作業(yè)時間、拖航時間、故障維修時間、天氣等待時間進行分類別管理,經(jīng)過統(tǒng)計和分析形成工區(qū)的作業(yè)時效分析統(tǒng)計。
(5)現(xiàn)場處理模塊:每條測線地震數(shù)據(jù)現(xiàn)場處理后質(zhì)控報告進行管理分析,包括噪聲、信號相對振幅分析、單炮噪聲平均值、測線噪聲分析、電纜深度、槍壓力和深度、TB疊加、近場數(shù)據(jù)分析、單道噪聲、二維疊加、LMO等。
(6)監(jiān)督模塊:對各業(yè)務(wù)模塊提交的作業(yè)數(shù)據(jù)進行分析和統(tǒng)計,形成測線和工區(qū)綜合質(zhì)控數(shù)據(jù),給作業(yè)管理者提供決策支持。
(1)平臺軟件的數(shù)據(jù)庫的概念設(shè)計采用自底向上的方法,分為系統(tǒng)業(yè)務(wù)模塊、用戶管理模塊、日志管理模塊等,集成起來得到全局概念結(jié)構(gòu)。采用實體—關(guān)系圖(Entity-Relationship,E-R)進行概念建模,以系統(tǒng)業(yè)務(wù)模塊為例,包括質(zhì)控報告、工區(qū)文件、測線文件、磁帶裝箱單、測線、前繪測線、地震采集參數(shù)、工區(qū)、資料交接單、導(dǎo)航班報、儀器班報、儀器盤、導(dǎo)航開工參數(shù)確認單等實體。其中,測線和工區(qū)是多對一關(guān)系,磁帶裝箱單、工區(qū)文件、前繪測線、測線、資料交接單、導(dǎo)航開工參數(shù)確認單、地震采集參數(shù)與工區(qū)都是多對一的關(guān)系,測線文件、質(zhì)控報告、儀器班報、導(dǎo)航班報與測線是多對一的關(guān)系,儀器盤與儀器班報是多對一的關(guān)系等。
(2)將平臺軟件的數(shù)據(jù)庫的概念結(jié)構(gòu)轉(zhuǎn)換為一般的關(guān)系、網(wǎng)狀、層次模型,然后向PostgreSQL數(shù)據(jù)庫支持下的數(shù)據(jù)模型轉(zhuǎn)換后,得到邏輯結(jié)構(gòu)。本文利用Power Designer將前面得到的概念模型生成邏輯模型,在概念模型系統(tǒng)業(yè)務(wù)模塊的多對一關(guān)系中,多對一關(guān)系的前者會在表中新增后者的主鍵信息,作為外鍵。
2.3.1 權(quán)限控制流程
地震勘探作業(yè)中由儀器工程師、導(dǎo)航工程師、現(xiàn)場處理工程師構(gòu)成的作業(yè)班組和由作業(yè)經(jīng)理與作業(yè)甲方等構(gòu)成的作業(yè)管理者屬于不同類別用戶,具有不同的操作權(quán)限和視圖。對權(quán)限管理是由超級管理員完成的,超級管理員登錄系統(tǒng)后,進行用戶創(chuàng)建、角色分配、為角色分配操作權(quán)限,操作權(quán)限分配流程如圖4所示。
圖4 權(quán)限控制流程圖
將權(quán)限與界面操作按鈕和菜單進行綁定,通過權(quán)限分配后,每個用戶可以看到不同的操作界面,具有不同的操作權(quán)限。
2.3.2 業(yè)務(wù)處理流程
作業(yè)班組用戶登陸系統(tǒng)后,可以通過瀏覽器完成作業(yè)數(shù)據(jù)的瀏覽、上傳、下載、編輯等操作,作業(yè)管理者同樣通過瀏覽器進行數(shù)據(jù)的統(tǒng)計結(jié)果瀏覽和監(jiān)督。平臺軟件對各個業(yè)務(wù)模塊的處理流程提供了基本一致的操作方式,通過以工區(qū)為入口對工區(qū)數(shù)據(jù)的管理,通過以測線為入口對測線數(shù)據(jù)的管理。從功能上,基本都包括了查閱、統(tǒng)計、添加、刪除、編輯、打印等功能。以往系統(tǒng)提交測線儀器班報功能項為例,流程為:儀器工程登錄系統(tǒng)后,系統(tǒng)首先進行權(quán)限驗證,初始化界面為工區(qū)管理頁面,工區(qū)管理頁面由測線組成,詳細顯示了每條測線的狀態(tài),儀器工程師選擇進入剛做完的測線,錄入這條測線的作業(yè)信息,可選擇附件上傳,提交確認后,該條測線的班報信息錄入系統(tǒng)成功,數(shù)據(jù)記錄在數(shù)據(jù)庫和文件服務(wù)器中,系統(tǒng)自動跳轉(zhuǎn)到工區(qū)頁面,接下來可以對測線查閱、重新提交或者刪除錯誤提交等,主要實現(xiàn)流程如圖5所示。
圖5 業(yè)務(wù)處理流程圖
平臺軟件在地震勘探船上進行了2個作業(yè)工區(qū)的數(shù)據(jù)集中式管理,在并發(fā)用戶數(shù)10人情況下,操作平均響應(yīng)時間小于0.5秒,滿足現(xiàn)場作業(yè)數(shù)據(jù)管理使用要求。后續(xù)將進一步增強平臺軟件的分析統(tǒng)計能力,為作業(yè)管理者提供更好的作業(yè)決策支撐。