目 錄
1緒論
1.1課題的研究背景及意義 1
1.2油井鉆探信息管理系統國內外研究現狀 2
1.2.1國內研究現狀 2
1.2.2國外研究現狀 3
1.3主要研究內容和各章節安排 4
2油井鉆探信息管理系統需求分析與關鍵技術
2.1石油鉆探信息管理系統需求分析 6
2.1.1系統集成功能性需求分析 6
2.1.2系統運行性能需求 8
2.1.3系統安全性需求 9
2.1.4信息數據傳輸需求 9
2.2系統設計關鍵技術 9
2.2.1油井鉆探信息管理系統架構 10
2.2.2Spring 框架概述 12
2.2.3Mysql 數據庫 12
2.2.4MyBatis 數據持久層方案 13
2.3本章小結 13
3油井鉆探手持終端功能設計
3.1技術需求分析 14
3.1.1手持終端閱讀器 14
3.1.2手持端界面 15
3.1.3推送服務 16
3.2APP 總體方案設計 17
3.3模塊代碼設計 19
3.4本章小結 24
4油井鉆探信息管理平臺設計
4.1主要架構的設計與實現 25
4.2信息管理平臺分模塊功能設計 28
4.2.1系統首頁 28
4.2.2系統用戶登錄模塊設計 28
4.2.3重要器材管理模塊 33
4.2.4重要器材檢測維護模塊 36
4.2.5實時數據采集模塊 38
4.2.6人員信息管理模塊 40
4.2.7實時報警監測模塊 42
4.2.8項目信息管理模塊的設計 47
4.3數據庫設計模塊 47
4.4油井鉆探信息平臺數據庫表關系設計 56
4.4本章小結 57
5油井鉆探信息管理系統試驗驗證
5.1手持終端APP試驗驗證 59
5.1.1手持終端APP登錄及注冊功能演示 59
5.1.2手持終端APP主頁功能演示 59
5.1.3手持終端APP入庫模塊功能演示 60
5.1.4手持終端APP領取模塊功能演示 61
5.1.5手持終端APP使用模塊功能演示 62
5.1.6手持端APP報警模塊功能演示 63
5.2油井鉆探信息管理平臺試驗驗證 64
5.2.1主頁登錄模塊功能演示 64
5.2.2實時數據采集模塊功能演示 66
5.2.3報警信息管理模塊功能演示 69
5.2.4項目管理模塊功能演示 70
5.2.5人員信息管理模塊功能演示 71
5.2.6器材管理模塊功能演示 72
5.2.7器材維護管理模塊功能演示 73
5.3試驗結果評價 75
6總結與展望
6.1總結 76
6.2展望 76
參考文獻
攻讀碩士學位期間發表的論文及所取得的研究成果
致 謝
1 緒論
1.1課題的研究背景及意義
油井鉆探工程是油氣勘探開發過程中不可缺少的重要過程,它是一個涉及多工種、 多流程、交叉重疊作業和連續作業的系統工程,在幾乎每個油氣公司的油儲勘探及油氣 田開發過程中都廣泛分布[1,2]。隨著時代發展,在大規模提升鉆井開采技術手段后,很多 之前難以開采石油的地區也煥然生機,石油開采業務量也隨之上漲[3],與此同時,信息 化技術的進步,也促使油井鉆探行業的上游、中游和下游過程中產生的數據在不斷遞增 [4],在油井鉆探行業的快速增長的同時也暴露了出了一些列問題,其中以下幾點較為突 出:
(1)地區偏遠,人員流動性大,管理困難
一般鉆井工程的施工現場多位于野外,工作地點偏遠,交通困難的場所,再加上于 人員作業不規范、流動性大的特點,難以進行集中管理,給鉆井工程管理帶來不便。同 時也因為相關上級部門領導或技術人員不容易了解鉆井現場進度和實時情況[5],一些現 場施工人員在缺少監管的情況下,養成了隨性散漫和獨斷專橫的工作習慣,對設備操作 和使用情況不上心,很容易對器械資源造成不應有的損耗和損毀[6]。
(2)信息量大,處理困難
鉆探信息是指在油氣鉆探施工期間收集的現場數據,其內容涵蓋范圍廣、信息量龐 大,主要包含實時數據采集信息、人員工作狀態、井施工情況、異常井報警信息、鉆井 設備、管件等使用記錄、工程項目信息詳情等各類信息[7]。當鉆井信息數據集中采集時, 由于數據主要存放在在公司總部數據管理中心,在公司總部數據管理中心數據信息庫完 成系統數據更新后,鉆井工作現場數據仍然是停滯之前狀態,使得野外現場工作的鉆井 隊一線無法第一時間應用到更新的數據[8]。 且隨著現場采集數據量的增多以后,在處理 大量異構數據時存在數據格式不統一、數據存儲緩慢的問題,而傳統的數據存儲技術也 逐漸無法滿足現階段石油鉆井行業對速度和精度的要求[9]。
(3)標準不同,合作困難
因為國內油田不同的鉆井公司的各個地區的信息的側重點各不相同,在進行系統開 發時使用的開發語言和數據結構均不相同 [10],造成無法形成有效統一信息局面。各個 鉆井公司及其他項目公司也因在項目合作時因為不同開發語種之間的數據結構多種多 樣,異構系統的大量存在,使得實現信息資源交換共享非常困難,造成許多不必要溝通 麻煩,致使項目合作停滯困難,嚴重影響我國石油信息化、數字化的進程,追逐外國領 先石油公司的腳步[11,12]。
(4)信息存儲情況堪憂,安全困難
以往數據采集得到的數據是由現場技術人員的進行紙質作業辦公、和簡單電子文檔 保存工作保存下來,回到總部后再將信息進行整理遞交。這種方式不僅效率低下,且存 在丟失、泄露等很嚴重的安全隱患[13]。
由此可見,在如今通過高性能計算、網絡、存儲和機器學習等方面的進步的幫助, 利用手持終端移動性和信息管理平臺相結合,將信息集成化、可視化,實現實時油井鉆 探數據通信和管理,對于提高鉆井效率,減少鉆井事故,加強鉆井過程監控,提高現場 監控、鉆場決策和鉆井數據處理水平[14,15],在油井鉆探施工全過程的現代化和數字信息 化管理過程中是十分必要的。
1.2油井鉆探信息管理系統國內外研究現狀
1.2.1國內研究現狀
從上世紀八十年代,中國企業開始構建鉆井數據管理系統應用,并不斷引進國外鉆 井錄井儀器、設備,但是在軟件使用相關方面經驗較少,硬件也不夠熟悉,使用效率并 不高,同時加上國內計算機軟件及相關信息化系統發展基礎薄弱,對相關產業的信息集 成化研究開發并不深遠,致使得石油鉆井系統相關設計軟件的發展一直落后于國外,直 到近些年才被重視[16] 。近年來面對國際石油形勢越發嚴峻,國家對信息化軟件政策扶 持,國內石油企業也開始加緊相關信息化集成軟件開發,在上世紀九十年代,我國就已 在石油鉆井中逐步開始使用信息化集成技術[17],邁入 21 世紀以后,國內鉆井信息化軟 件慢慢多了起來,根據不同地區的發展情況不同,它們各有特點,下表 1-1是列舉近些 年國內開發的鉆井信息化軟件。
表 1-1 國內鉆井信息化軟件
Table 1-1 Domestic drilling information software)
開發時間 軟件名稱 設計公司 主要特點
2000 年 大港油田 QHSE 體
系管理網絡系統 大港油田技術有限
公司 整合了海上油田資源模塊,首次采用 離線資源下載模式進行鉆井信息資 源交互
二十一世紀初 ANYDRILLING 中國石油集團鉆井
工程技術研究院 1.地層壓力預測
2.鉆井液設計
3.鉆柱力學分析
二十一世紀初 鉆掘工程設計軟件 中國地質調查局 1.地質鉆探設計
2.泥漿水力學
3.水文鉆探設計
2008 年 油田數字化管理系
統 長慶油田 加強了對現場作業的監管
2011 年 SK-2000FC/C 綜合 錄井儀及鉆井管理 系統 上海沈凱科學工程
有限公司 吸取國外先進鉆井軟件經驗,行業目
前做到領先
2015 年 鉆井信息管理軟件 大慶鉆井三公司工
程技術服務分公司 鉆井工程技術數據中心按照使用頻
率進行修改,使其運行效率更高
1.2.2國外研究現狀
20 世紀中葉開始,隨著石油在工業生產中戲份越來越重,國際石油公司開始迅猛 發展,進入 21 世紀,各國際石油公司競爭激烈,為了提高市場競爭力,不斷進行了信 息技術革新,涌現了一批以信息科技為主體的鉆井技術服務公司,例如 Enterprise Oil, Texaco 和 BP Amoco 等知名石油公司[18],都已通過信息化技術手段實現了鉆井信息的 一體化管理和決策支持信息系統。加拿大的DATALOG公司目前正在進行研究鉆場的鉆井 狀態遠程實時監控系統,已在部分油井測試了軟件,效果良好。目前全球的鉆探行業正
朝著實時化、信息化、集成化、可視化方向邁進[19],下表1-2 是列舉近些年國外一些鉆 井公司開發的相關鉆井系統軟件。
表 1-2 國外主要鉆探系統輔助軟件信息表
Table 1-2 information table of main auxiliary software of drilling system at home and abroad)
開發時間 軟件名稱 設計公司 主要特點
1985 年 Drilling Data
Center 美國 Mobil 在原有基礎上建立了以鉆井工程數據
中心為主體的井場網絡
20 世紀 80 年代 Drilling Office Schlumberger 設計了 BHA鉆具與井筒編輯、Well
Design 井眼設計
1990 年左右 M/Drill Watch 系
統 馬丁代克 率先在操作界面中展示了主要井場參
數并運用了雙網進行傳輸
1996 年-2004 年 ERP系統 美國殼牌公司 統一了編碼規范,極大程度上提高了 編碼效率
2001年左右 Well Monitoring 美國Datalog公司 首次設置了系統前后端分離概念
2007 年左右 SPONCOM 美國 Halliburton 專為采礦和采氣行業設計,可查找火
和熱引起的事故原因
2013年 Fire Safety
Advisor 1.0a 美國 OSHA的消防安全顧問為用戶提供交 互式專家幫助,以應用OSHA的石油 和天然氣及化學工業的消防安全和緊 急疏散標準
由此可見目前國外內鉆井信息軟件系統大多數都是通過后方傳回的現場數據進行 錄入,來起到對鉆井信息的維護、監控,缺乏可支持移動端顯示和管理,與后方信息管 理平臺相結合并進行實時反饋鉆井現場情況的軟件信息管理系統。
1.3主要研究內容和各章節安排
本文重點在于油井鉆探信息管理系統的軟件平臺設計和開發實現,提升鉆井行業管 理效率,為后方管理人員提供充足有價值的信息決策,設計出一套手持終端與信息管理 平臺相結合,界面用戶友好、系統快速響應、安全高效的軟件系統。主要結構如下:
本文共分為六章,各章研究內容如下: 第一章,緒論。詳細的介紹了該課題的研究背景,研究價值以及意義。通過對國內外油 井鉆探信息管理系統研究以及相關基礎理論的學習,提出了對本課題的進一步探討。 第二章,系統需求分析和關鍵技術選擇。介紹了在系統中使用的開發平臺和軟件,從基 本系統架構選擇再到服務器框架,數據庫配置和數據持久層技術分析均作了說明。 第三章:手持終端軟件設計方案。設計了手持終端各模塊軟件功能和邏輯流程,并做了 技術分析。 第四章:信息管理平臺和數據庫功能表設計。本章對油井鉆探系統管理平臺和服務器進 行分模塊功能流程設計、數據庫設計、關鍵代碼設計進行了詳細描述,從而完成對軟件 系統的開發。 第五章:測試驗證。本章主要是針對油井鉆探信息管理系統功能進行測試,觀察手持終 端系統和信息管理平臺運行是否達到預期效果。 第六章:總結與展望。本章主要對油井鉆探信息化管理系統設計的工作內容進行總結, 并簡要提出本文設計的不足之處,從而進行研究方向性的展望。
2油井鉆探信息管理系統需求分析與關鍵技術
油井鉆探信息管理系統是由手持移動終端和 PC 信息管理平臺兩部分構成,本章節 介紹了油井鉆探信息管理系統功能需求和完成開發過程用到的關鍵技術 。
2.1石油鉆探信息管理系統需求分析
2.1.1系統集成功能性需求分析
通過走訪公司各部門和實地考察現場后,調研分析,要求系統集成滿足實現以下功 能:
1、 為保證石油鉆井生產活動中的設備、管件等工具質量,利用物聯網技術,通過 建立分公司規范、統一的石油器材入庫、領取、使用、報警、維護的數據庫管理平臺, 完成定期器材維護提醒,減少石油鉆井開采過程中因為器具損壞而造成的安全事故和經 濟損失,同時減輕傳統人工定期巡檢的壓力,降低庫管工作人員的作業負擔[20]。
2、 為實現鉆探信息移動化、便攜式管理,設計出一款支持移動智能手持終端的鉆 探信息管理相關功能APP,工作人員可通過APP內進行登錄,訪問查看官網信息,公告 [21]。同時根據權限的不同,可通過手持終端掃描功能配合完成油井鉆探信息管理平臺中 相關器材管理、信息上報和報警提醒等模塊,實現使用者能夠進行的操作。
3、 通過現場收集和錄入的鉆井現場工作數據,進行實時統計。在得到工作現場各 種監測數據后,可利用服務器進行數據傳輸與分析,最終在系統中實現數據圖形化。管 理員可根據實時圖形進行判斷,完成對現場鉆井作業的監控,對可能出現的鉆井事故防 患于未然,減少因為設備故障造成的經濟損失,有效的保障了鉆井工人工作的安全[21]。
4、 實現人員管理分配,合理規劃系統中不同等級用戶的權限功能,在保障數據信 息傳輸安全的前提下,對過去的管理模式進行創新,可對鉆井公司中進行人員組織結構 微調,人員信息的審核,不同模塊權限的管理,管理層級更加方便和扁平化。
5、 信息數據的傳輸和整理,通過建立起信息管理平臺,設置了服務器數據庫進行 數據資料的存儲,完成對油井基本數據、器材數據、管件數據、維護數據、異常井信息 數據、油井報警信息數據、用戶人員信息、數據項目信息數據等信息的設置存儲。
根據以上功能需求,歸納設計出了以下功能模塊: 油井鉆探手持終端主要由六部分組成分別是:
(1) 系統用戶登錄:用戶在手持終端APP內完成用戶注冊登錄功能。
(2) 消息公告查看:用戶在系統內查看公司消息、系統公告。
(3) 入庫管理:通過手持終端 RFID 掃描功能,完成對應設備、管件的入庫功能。
(4) 領取管理:通過手持終端RFID掃描功能,完成對應設備、管件的領取功能。
(5) 使用管理:通過手持終端APP完成油井工作、設備和管件使用情況等信息上 報。
(6) 報警管理:通過手持終端APP完成對異常井信息的報警提示操作。 油井鉆探信息管理平臺主要由八部分組成分別是:
(1) 系統首頁:對應公司內信息展示界面,對系統中每個模塊設置快速訪問鏈接。
(2) 系統用戶登錄:實現用戶注冊登錄信息管理系統功能。
(3) 重要器材管理:對公司中包括鉆井設備、管件在內的重要器材的申請、審批、 領用、歸還等信息維護更新。
(4) 重要器材檢測維護:對公司中包括鉆井設備、管件在內的重要器材的檢測維 護。
(5) 實時數據采集模塊:將現場采集傳輸回系統的數據信息進行匯總顯示,同時 對數據進行圖形化趨勢分析,方便人員找出問題所在。
(6) 實時報警:引入井坐標位置信息,在井事故發生后可在地圖中及時標出異常 位置信息,報警提示。
(7) 人員信息管理:對公司內用戶權限變動、注冊登錄信息管理。
(8) 項目信息管理:對公司內項目信息錄入歷史項目信息查詢。 油井鉆探信息管理系統總體功能模塊圖如圖 2-1 所示。
圖 2-1 油井鉆探信息管理系統總體功能模塊圖
(Figure 2-1 the overall functional module diagram of the oil well drilling information management system)
2.1.2系統運行性能需求
為提高整個油井鉆探信息管理系統運行效率,對系統中重點功能模塊進行著重開 發。因此應該主要對以下幾個模塊設置主要性能開發點:
1、 著重開發系統高頻模塊。例在用戶登錄模塊中,因為中石化安全性特殊要求, 在確保用戶登錄安全,信息數據不被泄露的前提下,提高大批量用戶同時登錄的并發量, 保證系統在同一時間內能處理多種請求而不崩潰,縮短服務器響應時間。同時查詢具體 一段功能數據,若響應等候時間過長,不僅嚴重影響人員工作效率,同時使用戶無法接 受的[22],也不利于系統進一步可持續發展,與提高工作效率的初衷而開發系統的初衷背 到相馳[23]。
2、 系統中業務邏輯復雜度較高地方,要保證要在高壓力情況下(例如在井控事件 期間)使用的應用程序的輸入和輸出的清晰度和準確性。為確保此類應用程序交付時適 合用途,必須在用戶要求中定義使用該應用程序的條件,并應使用特殊方法對其進行測 試,確保服務器可承受壓力達到預期之上而不崩潰。
3、在系統中設置可擴展程序應用接口, 即與其他系統的接口實現處,隨時保持系統 接口數據不斷間斷更新[24]。例如,設備維護模塊中的設備必須每天定期更新信息管理平 臺上所有設備的維護狀態,以確保應用程序設備的兩個維護狀態匹配。
2.1.3系統安全性需求
因為中石化系統安全性要求,對內部信息數據的安全非常重視[25],網絡安全方面:
通常系統管理員訪問服務器時是使用(administrator/root)用戶名和密碼來進行遠程 登錄訪問,但這種方式存在著安全隱患,一旦密碼泄露,一些不法分子通過虛擬機模擬 IP地址可以輕易侵入服務器主機,造成數據損失。現在可以采用一種新型服務器訪問方 式,通過配置和生產相應的SSH密匙,使用SSH協議進行遠程服務器訪問,能有效防止 遠程信息管理過程中造成的數據泄露,大大減少了在訪問服務器過程中密碼泄露給黑客 的可能性[25]。在訪問過程中,可以從ISP提供商獲取服務器主機對應的靜態IP,通過 給服務器設置固定接入端口和禁入端口,可阻止其他不受信任的網絡訪問[26]。同時定期 查看服務器防火墻安全日志,通過分析防火墻日志,可以有助于找出服務器防火墻容易 被攻擊的端口和疑似存在的防火墻漏洞,及時的維護服務器,修補漏洞,可以使網站長 期健康的持續運行[27]。
2.1.4信息數據傳輸需求
在本課題實踐過程中,手持終端移動網絡性質是公網,而石油鉆井公司的的鉆井施 工管理數據存儲在中石油統一內網。為使手持終端順利訪問內網,我們選擇在外網服務 器中加裝中石油Ukey身份認證系統[28],同時按照傳輸不同情況需求,對Http協議和 Socket 通信協議進行修改,最終實現手持終端到服務器、服務器再到手持終端雙向數 據傳輸服務。
2.2系統設計關鍵技術
為了能順利完成該信息管理系統的開發,需要對開發過程中使用到的關鍵技術進行 詳細介紹。
2.2.1油井鉆探信息管理系統架構
主流軟件系統架構構建模式目前有很多種形式,比如微內核模式、事件驅動模式、 微服務模式、分層模式等都是比較常用的模式[約,由于具有不同的優缺點,所以有著不 同的適用場合。
微內核架構也稱作插件架構,該模式主要適用于那些必須能夠適應不斷更新變化需 求的軟件系統。其優勢是具有非常高的靈巧性和可擴展性,易于部署,可適應那些需要 從不同來源獲取數據,并在轉換數據之后寫入不同目標的應用程序[3°]。
事件驅動架構模式這是主要用于開發分布式異步架構,這種架構往往在具有高度可 擴展性系統中比較常見。該架構通過一系列組件構成,這些組件常用作系統事件監聽, 同時具備一定異步處理事件處理能力。其優點是容易在冗余且繁瑣的配置環境中可被輕 易擴展,適合那些具有異步數據流的異步系統PH。
微服務模式作為系統架構時,每部分微服務都有自己的對應任務,在進行開發部署 時候可以分成不同小組獨立進行,適合帶有小型組件的站點和明確邊界的企業級數據中 心[32]。
分層架構模式是目前見到最多的架構模式,分層架構模式實際是一種多層模式,每 個層面上都存在著多個組件[33]。在分層模式中,軟件的設計嚴格遵循了開放封閉的原則, 具體核心思想是對功能的擴展滿足足夠的開放性,在面對新的環境和新的需求的情況 下,可以通過調整程序和接口來滿足不同的用戶需求,使每一模塊做到封閉性,在完成 每一階段工作后,單獨測試運行都可以正常獨立工作,無需依賴整體測試,減少了反復 測試修改的時間,從而實現了高內聚,低耦合的核心思想[34]。
除此之外由于MVC模式同樣也具有耦合性低、可維護性高、重用性高的特點,常常 被拿來設計三層架構中的表示層(UI)[35]。在MVC模式中,它將三層架構中的UI層(表 現層)再次進行了分解,形成了控制器(Con troller)、視圖(View)、模型(Model) 三個部分,控制器(Controller)完成頁面邏輯,將用戶輸入的數據信息傳遞給業務模 型(Model),通過視圖(View)來與界面層完成人機交互,模型(Model)則與用戶數 據庫相連,將輸入得到的信息選擇不同數據庫進行存儲[36]。
考慮到各系統架構優缺點,結合油井鉆探信息管理系統的功能綜合性要求,在選擇
開發時為提升開發效率,選取手持終端和信息管理平臺,數據庫服務器同時獨立開發, 手持持終端選擇通過發起請求數據接口動作,完成手數據庫服務器數據互傳,總體系統 架構選擇多層與MVC結合進行設計,按照分層,將本系統設計為獨立的三層結構,結合 MVC 模式,系統架構如圖 2-2所示。
根據業務邏 輯選擇不同
數據庫
1)表示層:該要執行各種顯示功能,分析并捕獲用戶需求,收用戶的輸入信息,然 后調用數據庫的數據來響應用戶的輸入。其中主要包括系統中各個界面交互,包括信息 管理平臺中實時數據采集顯示界面、實時數據圖形化趨勢分析界面、器材管理界面、器
材維護界面、系統用戶登錄界面、用戶信息管理界面、主頁界面、異常信息報警界面、 項目信息顯示界面及手持終端APP中APP首頁界面、用戶登錄界面、入庫界面、領取界 面、使用界面、報警界面等。該層作為人機交互關鍵部分,將使用者的操作請求,通過 操作界面轉換成相應的層內業務邏輯,傳遞給業務層。業務層在通過對使用者的請求進 行數據庫訪問,并將數據反饋回結果經過業務層解析后生成結果數據,結果數據返回后, 將呈現在手持終端或信息管理平臺界面上供使用者進行查看閱覽[37]。
(2) 業務層:包含模型部分和數據庫管理部分。模型部分主要完成業務處理和邏輯核 心計算,數據庫管理包括數據庫訪問、管理等。作為系統核心層,在本層中,系統對一 些核心的業務邏輯功能進行封裝,負責處理油井鉆探信息管理系統中數據采集、數據存 儲、數據傳輸、數據顯示、數據處理、系統參數修改等業務,同時方便系統拓展新的業 務預留了接口,從而實現應用軟件的可靠性和穩定性[38]。
(3) 數據層:主要負責數據存儲、數據訪問、數據維護等。其中數據存儲部分完成油 井鉆探信息管理系統中各類信息表存儲,包括油井基本信息數據結構表、錄井采集信息 結構表、管件信息結構表、器材管理信息結構表、器材維護信息表、工作人員信息結構 表、項目信息結構表、異常井信息結構表、報警信息結構表[39]。
2.2.2Spring 框架概述
Spring最早是作為Java語言開源框架出現,其目的是用于簡化企業級應用程序的 開發。之后 Spring 框架的發展因其強大模塊組裝性,自動導入擴展包等功能,以及極 強兼容其他新的語言特性,對于它最新的開源框架可進行即時更新,不斷被業界熟知、 認可。
Spring 與傳統 Struts、Hibernate 等其它框架不同的地方在于可通過其分層架構, 允許不同模塊、模組之間相互選擇結合、互聯,也可以獨立拆分單獨使用[40]。選擇Spring 做為油井鉆探信息管理系統服務器框架符合分模塊設計開發理念,使項目開發速度更上 一個臺階。
2.2.3Mysql 數據庫
作為關系型數據庫代表,My SQL數據庫因其靈活性高、功能齊全、響應及時等優質 特點被業界廣泛認可。除此之外, My SQL 的語言也是簡單易學,作為 SQL 訪問數據庫 的最標準的語言。而且,靠著體積小、效率高、成本低、開源性等特點從企業軟件開發 到軟件測試中都是性價比首選。
由于搭建油井鉆探信息現場數據庫數據量非常龐大,同時要求信息數據高速傳輸, 以及海量數據存儲等因素,需要配置過程快速高效、操作流程簡潔明了,選用 My SQL 數 據庫系統作為本次系統方案。
2.2.4MyBatis 數據持久層方案
MyBatis 最早起源于 apache 公司的一個開源項目 iBatis, 2010 年, apache 公司 在之前開發的基礎上,整合了公司一些內部資源,正式將其更名成MyBatis并推入大眾 視野。MyBatis因其具有支持定制化SQL、存儲過程以及高級映射特性的特點,在大多 數情況被拿來作為 Java 的持久層框架。
通常來講,在傳統應用軟件開發中連接操作數據庫的方案選用Java提供API接口 JDBC來提供。相比其傳數據持久層,MyBatis作為一個持久性ORM框架,在底層(底層 是指業務層與數據庫數據完成信息交互的代碼)不僅封裝了 JDBC 邏輯代碼,簡化了大 多數手工設置的參數[41],同時MyBatis對JDBC操作數據庫做了一系列的優化:
(1) mybatis 提供一級、二級緩存,在數據庫讀取時,減少了程序的響應時間。
(2) mybatis使用動態SQL語句,相比傳統JDBC模板,更易于更新。(此優勢是基于 XML 配置)
(3) mybatis采取自動映射嵌入在JAVA語句中,使其有一個強大的動態SQL生成方案。 油井鉆探信息管理系統選用 Mybatis 做數據持久層,最顯著的特點就是能夠提供非
常方便的進行數據庫操作的方式,對比相同功能的JDBC開發,節省了將近90%以上的操 作代碼,并且在 SQL 映射文件中編寫的內容與 SQL 語句相似度高,能夠非常靈活的進 行數據庫操作[42]。
2.3本章小結
本章中介紹了的油井鉆探信息管理開發過程中用到的關鍵技術,對主要使用到的關 鍵技術:系統架構三層模式和MVC分層模式及服務器系統開發框架Spring,及數據庫 Mysql、數據持久層技術Mybatis做了選擇和簡介,并對系統功能性需求和性能需求、 安全性需求和數據傳輸需求四方面分別做出了分析和解決。
3油井鉆探手持終端功能設計
上章節對油井鉆探信息管理系統的整體目標和需求進行了全面系統的分析,同時選 擇了適合完成本系統的關鍵技術。本章對油井鉆探信息管理系統中的重要組成部分,手 持終端的功能與邏輯流程的設計進行展開敘述。
3.1技術需求分析
本章研究的應用采用手持終端,服務器的兩方交互形式,由服務器為手持終端提供 服務和相關動作接口,在服務器端內置數據庫并存儲數據。為了最大程度地發揮手持終 端的硬件性能以及為了調用加裝的RFID超高頻讀取器,選擇使用APP開發運用客戶機, 應用服務器,數據庫的模式。軟件的運行性能通過對內存的動態優化來滿足,使用第三 方提供的閱讀器模塊SDK來實現模塊的加裝。
3.1.1手持終端閱讀器
本文研究的應用基于安卓系統,由于安卓系統版本實際參差不齊,目前流通的主要 為5.0及以上版本的系統,因此本應用最低應支持到 5.0版本,通過加入串口讀取的超 高頻模塊用以實現遠距離數據讀取,并使用定制驅動程序的形式形成 SDK 包[43],使用 SDK與安卓聯合開發,實現多目標同時讀取。手持終端的軟件框架見圖3-1。
圖 3-1 手持終端軟件框架
Figure 3-1 Handheld software framework)
注:
(1)底層驅動傳送由串口讀取的數據,主要為字節類型數據。
(2)UHF超高頻RFID模塊通過串口與底層驅動間接與安卓底層建立直接聯系,數據 由超高頻RFID模塊流向安卓底層,實際經過了串口和底層驅動[44]。
(3)RFID讀取的數據為字節類型,需要對其進行解碼和重組。
3.1.2手持端界面
手持端APP主要由三級界面構成,形成APP的三大頂層界面,為所有細分任務提供 入口和轉換接口,手持端界面結構見圖 3-2。
圖 3-2 手持端界面結構 (Figure 3-2 Handheld interface structure)
登錄界面主要有用戶名密碼輸入及注冊,所有用戶由管理員審核,云端自動管理,
管理員將擁有最高權限。登錄界面提供記住密碼選項,可設置自動登錄,自動登錄后可 在任意界面退回至登錄界面登錄其他賬號。
主頁界面是各功能板塊的入口,用戶在該界面需要直觀的了解到軟件的所有功能, 各功能版塊界面即為用戶呈現具體的功能,在本文中功能版塊由油井鉆探的日常管理流 程確定。各模塊功能及細化的流程設計將在后文研究。
3.1.3推送服務
本應用中可能會有部分功能涉及到即時通信,例如某一用戶進行的操作需要及時通 知其他用戶進行查看或批準,而HTTP協議POST請求在一次請求后將會斷開與服務器的 連接,此時手持端將無法繼續接收來自服務器的數據[45]。
實現推送服務在互聯網的發展中形成了多種方法。但由于安卓系統的運行機制,應 用程序在后臺時會隨機被系統“殺死”[46],因此簡單的推送如輪訓等在安卓環境中并不 適用,一般來講安卓系統實現推送都需要與服務器建立起穩定可靠的TCP長線連接[47]。 下面討論安卓實現推送的專業方法。
1、 C2DM云端推送。該推送服務由Google公司推出,該服務允許安卓應用和服務器 實時連接使用特定的連接方法,但該服務存在重大的缺陷即需要特定服務器的支持,目 前該服務器屬于Google官方,在中國并達不到效果。
2、 MQTT 協議推送。 MQTT 是推送中最節省流量和電量的方法,其實質也是與服務器 建立穩定長線TCP連接,在連接中通過不停地通過少量數據包交換保持與服務器的連接。 但該方法有較高的運行成本,不適用于小型及中型需求。
目前國內有多家服務商提供封裝完成的推送服務,只需要通過第三方服務商服務器 即可向安卓平臺等推送消息。本文將采用國內的極光推送。安卓手持端與極光公司服務 器建立 TCP 長線連接,應用服務器在出現新消息后,即可推送新消息至極光公司服務器, 由極光服務器通過長線連接將消息推送給手持端。該過程見圖 3-3。
圖 3-3 服務器推送消息 Figure 3-3 Server push message)
注:
(1)應用服務器存在需要推送的新消息時將消息發送至極光推送服務器。
(2)推送服務器與手持端在無推送消息時通過不定時發送少量數據保持聯系,在有推 送數據時接收推送數據。
3.2APP 總體方案設計
手持端主要分為四個基本功能模塊,入庫,領取,使用,報警。四大模塊按照最基 本的功能區分開來,根據對油井鉆探的管理劃分不同權限,不同權限的用戶進行相應的 權限操作,故按照石油鉆井正常工作的權限區分,掃描功能將穿插進入各模塊中,所有 的設備、管件信息都由RFID掃描后通過代碼處理獲取。
(1)入庫模塊:本模塊主要負責為統計新引進設備、管件的詳細信息及數量,和對 小隊之間借用設備、管件之后的歸還。在初期實驗中,使用超高頻掃描射頻卡會偶爾出 現漏讀或者多讀情況,為提高讀卡成功率,我們將入庫流程設計為兩步。同時根據用戶 需求量,并計劃在未來采用專業寫卡機構進行大批量次寫卡操作。
第一步,當存在管件等待入庫時,由開卡中心為無數據的白卡填寫設備或管件信息 數據,并將相應數據存入 list 列表中,上傳服務器,開好的卡交由安裝隊安裝至各管 件。詳細見圖 3-4
圖 3-4 入庫第一步流程
(Figure 3-4 The first step of warehouse entry) 注:
(1)將空白卡和相應設備、管件數據信息發送給寫卡機構。
(2)寫卡完畢,通知安裝隊。
(3)安裝隊取卡
(4)將卡安裝至設備或管件上,
(5)并將其運送至待入庫區進行存放。
第二步,將已安裝好射頻卡的設備、管件進行入庫操作。首先在手持終端APP點擊 入庫選項后,需要安裝隊依次挨個核對射頻卡信息與設備、管件信息是否對應,卡內編 碼是否有誤,在確認無誤后,掃描出對應的卡號,服務器根據寫卡機構在開卡時上傳的 卡號,將管件數據與對應表信息執行入庫操作。該流程見圖 3-5。
圖 3-5 入庫第二步流程
Figure 3-5 The process of the second step of warehouse entry)
注:
(1)檢查射頻卡信息是否相符。
(2)將相應設備、管件信息存入服務器數據庫。
(2)領取模塊:為記錄各隊領取各種設備、管件和公司撥發設備、管件。具體有以下幾 個功能:
1、 為手持機提供掃描設備、管件標簽功能。
2、 轉換標簽編碼為詳細的設備、管件信息。
3、 將掃描的設備、管件信息上傳至服務器數據庫。
4、 提供選擇交回或領取設備、管件的具體隊伍功能。
(3)使用模塊:為記錄鉆井的每日砂液量信息和及設備、管件的使用信息。大型設備是 指在石油探測鉆井時需要使用到的如管匯撬,泵車等設備,這些設備屬于特殊物品,因 此還需要進行特殊編碼以存儲于射頻卡中。本模塊主要有以下功能。
1、 為手持機提供掃描設備管件標簽功能。
2、 轉換標簽編碼為詳細的特殊物品信息。
3、 將掃描的特殊物品信息上傳至服務器數據庫。
4、 提供選擇特殊物品交接的具體隊伍功能。
5、 將各隊現有管件注冊至各特殊設備。
6、 統計上報油井每日砂液量信息和設備、管件使用信息。
(4)報警模塊:該模塊是本應用最重要的模塊,是為及時發現井異常信息后,及時通過 手持機上報,通過服務器響應報警提示相關人員及時去處理。本模塊的主要功能如下。
1、 填寫上報異常井信息數據。
2、 接收來自極光服務器的推送,通知相關報警信息。功能邏輯圖如圖 3-6所示。
圖 3-6 報警模塊功能流程圖
Figure 3-6 Function flow chart of alarm module)
3.3模塊代碼設計
(1)入庫模塊:
入庫模塊內僅一個界面,界面完成的功能是讀取已安裝至設備或管件上射頻卡的信 息,并按照編碼設計解析出標簽信息呈現給用戶,如果存在掃描失敗標簽則提醒用戶檢 查標簽并重新掃描。完成掃描且無掃描失敗的列表由用戶確認信息后提交至服務器確認 入庫。代碼的執行流程見圖 3-7。
圖 3-7 入庫模塊功能邏輯流程
Figure 3-7 functional logic flow of the warehousing module)
注:
(1)掃描不成功,存在某些射頻卡為讀取到用戶區數據。
(2)掃描成功,所有射頻卡的用戶區都讀取成功。
(3)如果從服務器獲取的本隊設備列表為空,則代表還未交接設備。使用統計功能 在代碼流程上與上文模塊功能相同,在此處也不再討論。
(2)領取模塊: 領取模塊中存在單一權限多界面的情況,因此也采用模塊內多界面來區分不同功能。
由于該模塊內子頁面功能基本相同都以掃描為主要功能,因此三個子頁面可以使用同一
模板,頁面可以多次復用,通過設定每個子頁面的固定ID來區分子頁面功能,其中為 交舊的子頁面將開放拍照的功能而其他子頁面該功能將被鎖定。
安卓系統內調用相機進行照片拍攝需要相關權限,在安卓6.0后權限需要動態獲取, 因此在代碼中需要加入動態申請權限。此外,相機拍攝的照片儲存于手持機內存中,原 始的拍攝數據過大不能直接顯示在界面上作為預覽圖片,因此還要將圖片進行壓縮處 理。本文中采用的壓縮方法為先縮放大小再循環壓縮,及先將圖片縮放為800*480 分辨 率大小,再進行質量壓縮,每次壓縮圖片的90%直到圖片大小100kb以下[48]。安裝隊的 領取模塊代碼流程如圖 3-8。
圖 3-8 安裝隊領取模塊功能邏輯流程
Figure 3-8 The functional logic flow of the installation team's claim module)
注:(1)掃描失敗,存在讀取失敗的標簽管件
(3)使用統計模塊:
在本模塊中,交接件以及注冊件功能都需要使用RFID掃描,因此根據領取模塊的設 計經驗,本模塊中交接件及注冊件界面可以服用,只需要為不同功能設置不同 ID 來區 分。此兩功能界面的代碼執行流程如圖 3-9。
圖 3-9 使用統計執行流程圖
Figure 3-9 Flow Chart of Using Statistics Execution)
(4)報警模塊:
本模塊需要接收來自極光服務器的推送消息,為實現更新報警消息,在接收到報警 提醒后應用需要自動請求服務器獲取最新的報警列表。若是推送至各隊,獲取列表時只 需請求本隊報警列表即可,若是推送至管理員,需要根據報警的具體隊伍調整管理員界 面的隊伍選擇器,同時獲取該隊的報警信息。報警模塊代碼執行流程見圖 3-10。
圖 3-10 報警模塊功能邏輯執行流程圖 (Figure 3-10 flow chart of function logic execution of alarm module) 圖 3-10 注:
(1)非管理員進入該模塊都將直接以當前身份直接請求服務器數據,由服務器確定可 查詢的內容。
(2)管理員身份進入,還需要判斷是否接受推送后進入。
(3)非接受推送后進入,管理員可選擇查詢報警當前狀態的隊伍。
(4)接受推送后進入,需要獲取推送報警的隊伍,并將選擇器選為當前報警隊伍。
(5)按照當前選擇器中選擇的隊伍請求服務器查詢相關報警信息。
(6)若油井當前為報警狀態則放入報警緩存。
(7)若油井當前為非報警狀態則放入未報警緩存,區分兩種狀態是為了排列總緩存中
的順序,使報警狀態放置在前列。
3.4本章小結
本章從代碼的實際運行角度出發,設計了手持終端APP各分模塊軟件功能和的代碼 邏輯流程,在編寫代碼時依據本流程可以有一個清晰的編寫步驟,提高了代碼的可閱讀 性和復用性。
4油井鉆探信息管理平臺設計
上章節完成了對油井鉆探手持終端模塊功能與邏輯流程的設計,本章節的主要目標 是將分析階段形成的需求方案進行轉換成具體可實施方案,然后進行程序化設計,以油 井鉆探信息數據庫為數據源基礎,設計了實現了相應的信息管理平臺,最終實現基于手 持終端和鉆探信息管理平臺系統相結合的技術方案。
4.1主要架構的設計與實現
表示層是面向系統用戶,主要分為常規在線瀏覽器方式和單機緩存瀏覽方式,用戶 首次登錄系統時候進行數據初始化,并在系統后臺提前下載好數據緩存,提升用戶在瀏 覽信息數據時體驗效果。表現層登錄邏輯處理及代碼實現:
(1)設置cookie中保存token的key,代碼如下
1#cookie 中保存 token 的 key
2COOK I E_TOK E N_K E Y=TT_TOK E N|
(2)在表現層引入,代碼如下
@Value("${COOKIE_TOKEN_KEY}") private String COOKIE_TOKEN_KEY;|
(3)設置 cookie 代碼如下
〃設墨 cookie
//cookie要跨域、cookie的有效期
CookieUtils.setCoofeie(request, response, COOKIETOKENKEY, token);
表現層登錄的處理邏輯代碼如下
@RequestMapping(value="/user/login"J method=RequestMethod.POST)
@ResponseBody I
public TaotaoResult userLogin(String username, String password,
HttpServletRequest request, HttpServletResponse response) {
TaotaoResult taotaoResult = userLoginService.login(username, password);
〃取 token
String token = taotaoResult.getData().toString();
〃設墨 cookie
//cookie要跨域、cookie的有效期
CookieUtils.setCoofeie(request, response, COOKIE_TOKEN_KEY, token);
〃返回結果|
return taotaoResult;
代碼解析:在收到"/user/login" RequestMapping請求后,進入主函數userLogin, 設置taotaoResult函數返回形式,并 定義好token函數數據類型,再函數調用函數 CookieUtils.setCookie,完成 Cookie 設置,并將定義好的信息,以 C00KUE_T0KEN_KEY、 token名稱完成數據上傳。最后將結果返回給taotaoResult。
業務邏輯層是核心業務實現的過程,如資源的提取和分配、權限如何控制、輸入數 據進行訪問數據庫等,業務邏輯處理油井信息實現代碼如下:
using Well Basic DAL;
using Well Basic Model;
namespace Well Basic BLL
public class Well Basic Manager
privmte Well Basic Model well DB = new Well Basic Model();
public bool Insert Well(Well Basic Model well TnfOj out V日rchar message Str)
message Str =
bool is Success = false;
if (well Info.JH.Trim().Length != 0)
if (well DB.Is Equals(well Tnfo))
well DB.Insert Well(well Info);
is Success = true;
else
I message Str ="該井信息有效";
else
message Str ="錯誤,沒有找到有效值";
retu『n is Success; }
代碼解析:在基本油井信息查詢時,通過設置message Str “”空語句,根據well Info.JH.Trim().Length 返回語句長度是否為空,判斷是否存在該井信息,若存在,則 給message Str語句賦值“該井信息有效",若不存在,則給message Str語句賦值“錯 誤,沒有找到有效值”。
數據層包含數據訪問層和數據存儲層。數據訪問層,將未來有可能需要頻繁用到的 對鉆井生產數據庫訪問操作提前進行封裝,使在后面對數據庫進行訪問時,減少緩存和 訪問時間,通過三層模式中業務邏輯層發出的請求命令,產生相對特定的 SQL 語句, 把需要的數據從數據庫中調出返回給前端,或者把需要保存的數據存儲到數據庫中,實 現增、刪、改、查的操作[49]。數據存儲層主要是具體的物理庫,本系統針對MYSQL數據 庫。
底層邏輯數據處理實現代碼如下:
using System<Configation;
using Well Basic Model;
using System.Data;
using System.Data.Client;
namespace Well Basic DAL
class Well Basic DAL
p『ivate Varcha『conn Varchar = Configuration Manage『.Connection Vmrchars
["conn Varcha].To Varchar();
public int Insert Well(Well Basic DAL well Info)
Varchar command Text = "insert into DatabaseSY (3HjQK)values(gJHjgQK)";
Parameter[] parms = new Parameter[]
new Parameter jWell Info.jh
new ameter ("@QKjWell info<qk )
Return Sql HelpeExecute Non Query(conn VarcharjCommand Type.Text, command Text,
代碼解析: class Well Basic DAL 設置井底層邏輯訪問層,通過 Varchar command text = “insert into DatabaseSY (JH,QK)values(@JH,@QK) ” ,設置系統查詢參數 JH (井號),QK (井信息情況),通過Parameter函數定義@JH,@QK參數,最后Return Sql Helper.Execute Non Query 返回帶著信息的 Text。
因整個油井鉆探信息管理系統代碼量非常龐大,礙于篇幅,這里只以井信息查詢關 鍵代碼列舉。
4.2信息管理平臺分模塊功能設計
油井鉆探信息管理平臺
圖 4-1 信息管理平臺分模塊功能
(Figure 4-1 Module functions of the information management platform)
在功能模塊按照圖 4-1 中的功能需求分析中的模塊的劃分,具體實現流程如下:
4.2.1系統首頁
在首頁中,主要集成了系統主要功能模塊,常用的信息展示以及用戶的登錄注冊部 分。通過進入主頁后即可看到石油鉆井生產活動中所用到的鉆探設備、鉆井鉆具等展示, 以及石油公司風采展示,對公司所用產品進行展示,生產廠家的公示。管理員用戶在主 頁完成系統的登錄,進入后臺的信息管理界面。
4.2.2系統用戶登錄模塊設計
在進入首頁前,為保證系統的信息安全性和可靠性,必須嚴格驗證用戶注冊信息, 通過對系統登錄過程中多道安全性加密,使系統登錄時信息的安全性得到保障,不易泄 露信息數據,被不法分子輕易入侵[50]。圖 4-2、 4-3 分別為的用戶登陸流程時序圖、登 錄權限獲取邏輯流程圖。
Login.java AdminContr oller.java UserService
.java UserMappe r.java Index.Html
以下是圖4-3 登陸權限獲取邏輯流程圖
圖 4-3 登錄權限獲取邏輯流程圖 Figure 4-3 Logical Flow Chart of Access Access)
權限申請使用者登錄在成功登錄本系統后,前端服務器將存儲在Session中的用戶 信息拿到后臺 User 數據庫一一對比,根據對登錄者的賬號和密碼驗證,從數據庫中調 出相應的權限信息,通過后才能夠對相應權限下的信息進行查看;否則,則不能查看, 并將提示信息傳回前端。信息管理平臺系統后臺 Login Action 中的 login(By Name) 調用業務邏輯層,業務邏輯層 Get Account 調用 DA0 層,實現了和數據庫直接的數據 交換。數據經過逐層上傳,即通過 DA0 層上傳到業務層,再由業務層對數據信息進行 判斷,最終將調用的結果顯示到表示層的界面上。如果權限信息驗證正確,使用者便看 到了想要的數據信息;否則,系統將給出相應提示。
為實現用戶安全登錄模塊,共分為以為幾個步驟:
(1)先建立entity實體數據類型,同時設置好Users和Category ,因為實體類做 為數據的承載,可以從前到后傳遞數,所以我們完成一個完整的登錄流程需要建立起實 體類對應的包,用戶登錄需要對照數據庫中對應的用戶表,因為包裝類的好處是可以設 置成空值,方便后續進行測試,所以建立字段類型我們可以定義為包裝類,同時生成對 應的 get/set 方法。其生成代碼如下所示。
public class Users ■{
private Integer userid;
private String userName;
private String password;
private Integer flag;
^Override
public String toStringO {
return "Users-{" +
"userld=" + userid +
",userName='" + userName + '\' +
",password='" + password + '\' +
", flag二“ + flag +
public Integer getUserldO { return userid; }
public void setUserldCInteger userid) { this.userid = userid; }
public String getUserNameO { return userName; }
public void setUserName(String userName) { this.userName = userName; }
public String getPasswordO { return password; }
public void setPassword(String password) { this.password = password; }
public Integer getFlagO { return flag; }
public void setFlag(Integer flag) { this?flag = flag; }|
(2)建立 mapper 接口, mapper 是 maybtis 框架需要的設置,需通過 mybatis 框架來 訪問數據庫,(注意此處是建立的接口),而Usersmapper對應的就是Usersmapper此 時就寫下對應的表名。因為mybatis它的參數只能是一個,所以此時需建立一個對象, 將用戶名和參數放入其中。
(3) 建立對應mapper.xml,將對應配置文件進行設置。后面對器械查詢設置xml方 式與此處類似,由于篇幅限制,便不再贅述。其中 find 是設置查找方法, ParameterType 是設定查找對象實體包名稱 , resultType 是設定返回包類型, where 表示只有當 Users 包中 userName 和 password 與數據庫中傳來的 Users 包相同時才會進行正確反饋。而 select 是設定查詢的對象。代碼如下所示。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.young.mapper.UsersMapper">
<!--根據用戶名和密碼査詢單個用戶的定義-->
<select id="find" parameterType="Users" resultType="Users"> select userid,userName,password,flag from user's where userName = #{userName} and password=#{password} </seLec
</mapper>
(4) 建立對應 service 接口 (業務層)同時定義 Users 方法
(5) UsersServiceimpl 業務實現類接口的具體實現及設置 ,代碼如圖所示
import???
(BService
public class UsersServicelmpl implements IUsersService {
//定義防app e r數據庫訪問對象
(SResource
private UsersMapper usersMapper;
(BOverride
public Users adminLogin(Users users) { return usersMapper.find(users); }
(6)最后再回到controller完成調用service,實現具體查詢過程Controller展 示頁面,完成一系列操作。具體實現代碼如圖所示。
package com.young.controller;
import ?*?
//主要完成倆件事,I.顯示后臺登錄頁面2.完成后臺登錄請求
(SRequestMa pping("/admin")
^Controller
public class AdminLoginControIler {
//定義后臺用戶業務對象
(BReso urce
private IUsersService usersService;
@RequestMapping ("Login_show'r)
public String login_show() { return "/admin/login"; }
(SRequestMapping ("/login_submit")
public String login_submit(Users users, HttpSession session, Model model)-{
Use『s u - usersService.adminLoguse『s);
//如果登錄賬號不存在
if(u==null){
model.addAttribute( s: "err", o:"用戶名或密碼不正確");
return "/admin/login";
〃將登錄的賬號對彖存入session,用于會話跟蹤管理
session.setAttributef s: "adminllser"r u);
return "/admin/index";
其中 login_submit 是調用剛剛定義的業務方法,根據用戶名和密碼進行登錄校驗,
而此處的usersService是接口函數IUsersService在這里定義的局部變量,adminLogin 是接口函數中定義的解析Users實體,將users數據進行get/set方法處理,進行用戶 名登錄,如果登錄不成功 將信息傳入 model 中 傳回登錄頁面前端提示。前端的信息和 需求都在 Model 里面,不需要在 Html 里面進行聲明,屬于在一個信息盒子,可以直接 選取調用 , Model 作為中間層盒子傳輸信息,包括 CategoryList 都可以直接選取他的 信息。
如果登錄成功,需要確認用戶身份,并賦予用戶對應的訪問權限內容,保持用戶登 陸狀態信息,將信息存入session中,方便調用和存儲。整個登錄流程邏輯示意圖如下 圖 4-4 所示。
圖 4-4 登錄流程邏輯示意圖
Figure 4-4 Login Process Logic Diagram)
4.2.3重要器材管理模塊
在實際石油鉆井生產活動中,各個支隊、小隊之間經常發生重要石油生產設備、管 件相互借用、挪用,且被占用后又許久未歸回遠處,使得很多物資最后不知所蹤,各隊 系間設備資源混亂,工作人員在使用時無法找到自己支隊對應的設備,嚴重影響工作效 率和浪費了大量公共資源[51]。根據實際情況,現給每個器材上貼上唯一對應 RFID 電子
標簽,同時使用電子標簽中 EPC 編號做為電子身份證編碼,其特點簡單安全且高效,而 且體積小巧,擁有很強的延展性,具備唯一性[52]。
每次當工作人員需要借出時,先登錄信息管理系統,找到設備、管件唯一對應的 EPC 編號,填寫編號和其他相關申請信息,填寫完提交申請后系統會通知相關管理員及時進 行審批,只有當管理員審批通過后,對應器材出庫時通過 RFID 電子掃描器才會顯示允 許,否則顯示出庫無效。由于每個器材、設備有各自對應的 EPC 編號,使器材借出管理 流程全程跟蹤,器材、設備在各小隊、支隊之間流轉信息變得清晰明了,使對器材的管 理效率得到了提高。器材、設備超期未歸還時,每次其中相關工作人員登錄信息系統時 候便會發出提醒,提醒借出人員及時歸還。
針對以上情況歸納設計了以下幾個功能,如下圖 4-5 所示:
重要器材
管理模塊
丨. .
i i i ~i *
圖 4-5 重要器材管理功能模塊圖
(Figure 4-5 Function module diagram of important equipment management)
重要器材借用申請功能。當支隊、小隊之間提出要借用器材請求時,需先登錄信息 平臺填寫申請信息,內容包括申請器材名稱, EPC 編碼、及聯系人電話和預計歸還時間, 其中 EPC 編碼可以從手持機掃描當前器材獲取或者從設備庫中自行查出,在填寫完畢提 交申請后,系統會通知相關器材管理員進行審批。
重要器材借用審批功能。在系統收到重要器材借用申請時,系統會即時推送消息給 相關器材管理員進行審批。管理員登錄信息平臺后,可在消息中查看到審批通知,在審 批的同時可以看到申請者的詳細信息,可根據聯系電話或其他聯系方式進行線下溝通, 同時可對需要說明的事務審批進行批注,然后完成物品審批功能。
重要器材領取功能。在器材領取前,需要在系統管理員審批通過后的基礎上才可以 成功領用。在領取時,需先告知倉庫或者物品管理員,同時將待領用物品通過 RFID 電 子掃描儀,在器材領取人、物品管理員、管理員三方達成一致且信息無誤后,顯示領取 成功。
重要器材借用歸還功能。領用人在歸還器材時,需通過 RFID 手持機掃描功能,根 據當前物品上EPC編號掃描上傳回數據庫進行信息核驗,只有在當前歸還物品的EPC和 數據庫中待回庫物品EPC編號一致時,RFID手持機掃描才可以通過,否側則會發出報警 提示歸還物品不一致。歸還和借出時的雙重EPC編碼驗證機制,嚴格確保了 一物對一碼, 實現了對重要器材設備的精準監管。
借用超時未歸提醒功能。在器材借用時申請時會在信息平臺中填入預計歸還時間, 以后每次申請人登錄信息平臺時候,系統會檢索當前有無超時待還器材,若系統當前時 間超過了預計歸還時間時,則會向前端發出報警提示,提醒借用人及時進行歸還。
信息維護功能。主要功能包括編輯和刪除器材使用、借出、歸還和器材信息更新等 功能。整體流程圖如圖 4-6 所示。
圖 4-6 重要器材管理功能模塊執行流程圖
Figure 4-6 Execution flowchart of the management function module of important equipment)
4.2.4重要器材檢測維護模塊
該模塊記載設備、管件送檢,維護的數據,對其進行建檔,同時記錄了每樣物品的 維護方式和每次送檢回檢的檢測數據可進行比對,對已使用較長年限的設備、管件的部 分設置了定時提醒維護功能,以便能在設備、管件老化損壞前及時發現問題,主動進行 維護,通過積累記錄大量不同器材、設備的損壞情況數據存儲,可供日后研究人員進行 分析,找到產品易損的原因,優化產品質量結構。維護功能流程圖如圖4-7 所示。
圖 4-7 器材檢測維護流程圖
(Figure 4-7 Flow Chart of Equipment Testing and Maintenance) 從總體概括重要器材維護管理模塊幾大主要功能包括提供器材設備歷史維護檔案 檢索、設備定時預警及設備保養歷史處理。
在器材設備保養功能中,用戶在器材保養后,提交保養信息,器材保養界面中“最 近保養時間”一欄自動更新為當前系統時間。當系統中出現提示存在待保養的器材時, 點擊提示按鈕會直接顯示待保養的器材,在保養結束后,點擊“已保養”,則系統將會 在已設定好的下一次周期保養時間到達后進行預警。
當器材出現故障后,工作人員通過手持機或者登錄信息平臺上傳故障圖片和信息, 系統則會將已故障的設備標記并作故障處理,同時會通知相關工作人員及時進行維修。
在器材維修后或更換后,首先在器材更新歷史記錄中進行信息存檔,然后在 “器 材信息管理”界面中自動添加新器材的信息,同時設置被替換掉的器材的運行狀態變為 紅色“停用”狀態。更換新的器材信息后,將新器材的首次使用日期更新為器材的“最 近保養時間”進行使用,在“器材信息管理”和“器材保養管理”相應界面中完成信息
更新。
器材保養流程邏輯流程圖如圖4-8 所示。
圖 4-8 器材保養流程邏輯流程圖
Figure 4-8 Logical flow chart of equipment maintenance process)
4.2.5實時數據采集模塊
油井開采前不僅要鉆深孔,還要研究復雜地層,施工難度大,采集到的施工數據繁 多,采用的鉆井技術多種多樣[53]。因此,一套完整的鉆井數據采集和處理系統對于深井 鉆探來說是必不可少的,它可以輔助識別井中情況,提高后方鉆井決策水平,鉆井數據 處理水平,降低事故和施工成本,同時也是鉆井工作的重要數據源[54]。
采集數據收集主要分為倆個部分:第一部分是主要是針對油井現場分散較遠、種類 多樣的生產系統進行數據采集,主要通過實時采集現場不同傳感器信號,這部分選用 (Supervisory Control and Data Acquisition,SCADA)現場數據采集與監控系統來 實現數據采集功能[55]。SCADA現場數據采集模塊系統圖如圖4-9所示,SCADA是以計算 機技術、網絡技術和現代控制理論為基礎的生產過程調度與自動化控制系統,達到對現 場設備及其工況的監控的目標,實現數據采集、設備監控、狀態識別、參數控制以及各 類信號報警等功能,其中監控系統由主站、通信系統和遠程終端組成。主站是目前使用 的主流服務器主機,可以從Windows和UNIX系統中選擇。通信系統一共由有線和無線 兩部分構成。遠程終端部分通常由一個或多個單元或小型盒系統組成[54]。
圖 4-9 SCADA 現場數據采集模塊系統圖
Figure 4-9. System diagram of field data acquisition module)
第二部分是現場工作人員通過手持終端或者在線填寫等手工錄入方式進行采集,包 括一些每日基礎報表、采集設備基本信息數據、高壓件數據等。
采集數據內容包括鉆頭累計工作時間、工程數據、油井生產數據、鉆井液數據、油 井采集管件、設備數據、現場環境數據等。
數據采集模塊將采集到的數據通過移動通訊網,經過服務器解析后存儲到數據庫 中,當用戶發起訪問時候, Web 服務器再將所需的數據從數據庫中調出,呈現到前端展
4.2.6人員信息管理模塊
塊 模 m 二 理 管 自心 信 員 人
I
廠 新噌員工信息 t 新增權限信息 t 員工權限修改 t 員工信息修改
圖 4-11 人員信息管理模塊功能圖
(Figure 4-11 Function Diagram of Personnel Information Management Module) 人員信息管理模塊主要完成對公司內部人員信息的管理,根據圖 4-11 主要劃分為 以下幾個部分:
新增員工信息,針對新進公司或則外來臨時客戶需要臨時登錄系統時,無需注冊可
直接由管理員設置新員工角色,新增的員工可分為臨時員工和正式員工,正式員工享受 系統功能全部權限,臨時員工則功能受限。
新增權限信息,操作系統內設置全新權限標準,如管理員享受最高權限,客戶要使 用本系統內所有功能和參數的修改,一般員工只享受二級權限,可以正常瀏覽全部模塊, 但無法對模塊內參數和功能進行添加和修改。
員工權限修改,可以修改每個員工的用戶權限,可單獨針對特殊情況給予臨時訪客 用戶全部功能權限,也可以修改普通用戶的權限等級。
員工信息修改,當某用戶信息異常或者不符合系統規范,相應管理員可以直接通過 此功能的修改掉異常信息,使其符合公司標準。
組織機構數據,可以瀏覽到公司內全部部門人員信息,包括部門種類多少,各部門 管轄支隊、小隊名稱和數量,人員所屬情況。
以更改角色權限為例:角色每次保存更新的權限時,第一步是刪除該角色的先前權 限記錄,同時根據角色編號從數據庫的權限表中檢索權限級別檢索到關聯的關系列表存 儲在權限的角色關系表中,并保存到角色信息列表中以完成角色權限的更改。圖 4-12
角色權限修改時序圖。
3.判斷數據庫中是否 有該角色
6.保存權限
圖 4-12 角色權限修改時序圖
(Figure 4-12. Sequence diagram of role permission modification)
領導信息管理通過EditSysUser類來獲取相應負責人ID,當與數據庫的ID信息匹 配成功后可對用戶信息進行編輯。要想實現角色的資料修改,需要依靠 addSysUser 類 以 HTTP 的形式傳送至服務端,待獲取參數并校對后反饋至用戶端,前端頁面跳到信息 添加界面,其中部分代碼如下:
if(irem.gerlremld==l){
//添加員工信息
Intent intent=new EntentQ;
inreQr.serC]ass(Pers0Q_(X)lLisrAcrivirv.this,Pers0Q_(X)lAddAcrivirv.classH start Activity (intent);
Person_001 List Activity .this. fjnjshQ;
服務器反饋到前端的請求是通過Servlet類執行的,在dao中生成了執行sql語句 的類,并且可以將信息添加到員工表中,此處設計用來添加功能的SQL語句如下
/榴建創執行插入新員工信息
String sqlSrring="insert into PersoQjJOlfpersonNujnber^persorLNajne,"
+"pers onP as s word,per s onS ex"+ "pers onB jrthd ay, pers onS t ate," +,,personTelephone,persoQEmailspersonQQ)values(";
4.2.7實時報警監測模塊
由于與事故預防計劃和安全培訓活動不足有關的若干潛在原因,油氣鉆探過程中 容易發生各種意外事件,當事故發生后缺乏足夠的危險預警的安全管理系統,無法在危 險情況下進行實時決策,使每年數百名鉆井人員在進行石油和天然氣鉆井作業時遭受重 大傷害。為確保生產穩定正常進行,當油井現場發生異常情況時能及發出報警,在收到 警報后,現場技術員需通過拍照記錄并使用手持終端上傳的報警信息,服務端接受后, 并核準數據庫中的相應權限數據,讀取相應井號,在信息管理平臺更新異常情況;最后 調用 app 信息推送端口,將異常井報警信息以 app 信息推送的形式及時推送給相應區域 的管理人員,及時去查看。此外,管理人員收到報警信息的提示后,點擊推送信息,后 臺服務器讀取管理人員權限信息核驗無誤后,則將頁面跳轉到該事故的信息界面,便于 使用者查看。對于每種不同的事故,發的出報警等級不同。井內事故的識別和預測除了 實時采集現場鉆井參數外,系統還識別當前工況,分析了現場數據,預測鉆井事故,以
下是每類事故的信息表。
表 4-1 異常報警信息統計表
(Table 4-1 Statistical table of abnormal alarm information)
序號 報警類型 報警內容 事故等級 詳細情況
1 工程 下鉆異常 4 下鉆過程受阻,受
外力或不可抗拒
2 工程 起鉆異常 3 因素
遇卡噸位
3
4 工程
工程 套管脫扣
下套管異常 3
3 檢查套管產地、鋼
級、
檢查遇阻噸位、扶 正器數量、井徑匹
5 工程 油氣浸入 2 配
檢查泥漿密度、記
錄浸出物名稱、相
6 工程 井噴 2 應層位
檢查泥漿密度、記
錄噴射物高度、名
7 工程 井漏 2 稱
當大 量 鉆井液 漏
入地層時發生,泵
壓下降,回流鉆井
8 工程 燒鉆頭 2 液流量減少,鉆井 液沒有回流 工作溫度過高而 損壞的金剛石鉆 頭。泵壓、扭矩上 升 , 數 據波動加
2
9工程 墜落物
1
10工程 井涌
11
工程 斷桿 3
12
3 工程 鉆具堵塞
13
工程 球狀鉆頭
3
14
工程 溢流 1
劇,機械鉆速略有 增加,然后急劇下 降, WOB 曲線波
動劇烈
墜落物名稱、是否 空井 檢查泥漿密度、涌 出物名稱、涌高 鉆桿或接頭開裂, 逐漸膨脹時發生 斷桿 鉆 具 堵 塞 在 長孔 中,因此鉆桿不能 提升、分散或旋 轉 , 扭 矩急 劇 增 加,扭矩的均方差 增加
球狀 鉆 頭是緊 緊 包裹在鉆頭周圍 的巖石粉末或泥 漿。這也被稱為泥 包。當這種情況發 生時,扭矩增加, 泵壓增加,鉆速突 然下降,鉆具輕微 彎曲,返回鉆井液 的密度增加 這是由于鉆孔中
的 高 壓 水和 氣體
15 其他 停電 3 造成的,發生后鉆 井液流速增加,泵 壓增加,鉆井液密 度降低
16 其他 開鉆遇地下線路 3 聯系相關單位
(油、氣、水)管
17 其他 突發事件 3 線
天氣異常、自然災
害等
在報警模塊中為保證每口井的位置信息準確,且方便管理人員更直觀監視發生異常
的井,我們向平臺中插入了高德地圖API接口[56],對其進行二次開發,來滿足直觀檢測
的需要,使其更便于人員進行管理。
高德地圖API是一款積極面向開發者軟件,對其提供相應Http接口,在完成其接 口進行配置后,可實現對地圖進行創建縮放、地圖狀態的更新、地圖尺寸和比例尺修改 等。在對其開發的過程中主要使用Java、Javascript等語言,并通過IDEA平臺完成其 相對應的代碼編寫。
第一步進入高德地圖 Api 官網,完成注冊后,申請得到 key 值。高德開放平臺如圖 4-13 所示。
CO® 安全 I https://lbs.amap.com/api/javascript-api/guide/abc/prepare
I 3層薦好平呂,WEE*afflT產品介即開如粋齷希宙商豁作Q 控制臺 1覩刼
楓述 您現在的位冒:開發〉鰹 JSAPI〉教程〉入門〉準備 目反煖與建議
圖 4-13 高德開放平臺圖
(Figure 4-13 Map of AutoNavi Open Platform)
第二步登錄高德開發者控制臺,點擊創建新應用,選擇相對應的 web 類型,同時設 置好名稱。
第三步在拿到相對于的key值后,在新建好的html文中,在內部key其相對應添
力口申請到的 key 值〈scrip t ty pe="text /javascrip t" src="h tt p://webapi.amap.com/ma ps?v==1.4.7&key=申請到的 key 值""></script>
第四步新建〈div〉容器,設置其id為container,完成對地圖的寬高設置。
第五步調用高德地圖 api 方法,新建地圖對象,并設置好中心點坐標,完成初始化 設置。
第六步根據根據工作人員上傳到服務器的經緯度坐標,設置好相對應的標記。其中 根據經緯度設置相應標記代碼如下:
public static String getAddByAMAP(String log, String lat) {
StringBuffer s = new StringBuffer();
s.append("key=")?append(key)?append("&location二").append(log)?append(",")?append(lat); String res 二 sendPosd://rest2Di?amaD?com/v3/geocode/regeo"f s.toString()); logger? info(res);
JSONObject jsonObject = JSONObject.fromObject(res);
JSONObject jsonObjectl = JSONObject.fromObject(jsonObject.get("regeocode"));
String add = jsonObjec"formatted_address")?toString(); return add;
實時報警檢測結構示意圖如圖 4-14所示
移動通訊網
圖 4-14 實時報警監測結構圖
Figure 4-14. Structure diagram of real-time alarm monitoring)
4.2.8項目信息管理模塊的設計
圖 4-15 項目管理流程圖
(Figure 4-15 Project Management Flow Chart)
項目信息管理模塊如圖 4-15 所示,當新增項目計劃時,管理員根據新項目需求情 況,安排對應負責人員、進入項目組,同時設置好項目關鍵點和時間進度。在項目完成 后,將項目存入歷史項目信息庫中,可在操作頁面中隊歷史項目信息進行查詢,刪除或 修改。
4.3數據庫設計模塊
對于石油行業來說,有用的信息數據非常龐大,油井鉆探信息管理系統所包括的數 據信息內容范圍極其廣泛,特別是石油工作現場各樣式的原始數據:這類數據不僅時間、 空間跨度大且數據結構復雜,多源頭廣泛分布[57]。近年來石油采集行業的不斷革新,需 要收集掌握的數據信息內容也越來越細,而且更加趨于即時化。
若想將如此繁多石油的信息數據系數掌握,必須通過建立一個信息完整、數據格式 標準以及結構先進的標準數據庫,才可在迅速、準確、廣泛采集和記錄寶貴初始數據信 息,同時將重復相似的無效數據和系統產生冗余數據即時刪除,充分高效的利用存儲空 間,并提高數據的可靠性、精準性及可應用性[58]。
通過運用現場儀器采集、第三方視頻監控和技術工程師手工錄入,上傳油田數據可 包括石油鉆井過程中產生的施工數據,以數據的形式記錄油井下變化,為以后更好的利 用石油資源做下數據基墊。數據庫信息表具體結構如下表所示。由于篇幅限制,此處不 對所有原始數據進行描述,只列出關鍵性字段。
(1)油井基本信息結構表
油井基本信息結構如表 4-2 所示,主要包括了油井的基本開采信息、施工信息、 進度信息等。
表 4-2 油井基本信息表結構
Table 4-2 Structure of basic data information of oil well)
字段名稱 中文名稱 數據類型 數據長度 是否為空 是否主鍵
Well_number 井號 Int 4 X
Oder_number 序號 Int 4 X
Cp_Name 油氣公司 Varchar 256 寸 X
名
Driling_team 鉆井隊號 Varchar 128 X
Driling_cptain 鉆井隊長 Varchar 128 X
Well_type 井別 Va rchar 32 X
地質構造 Va rchar X
Geo_type 種類 32
Mea_depth 補心海拔 Int 64 X
Remark 特殊備注 Varchar 256 X
Ground_level 地面海拔 Int 64 X
Well_titude 鉆井經度 Int 32 X
Well_latitude 鉆井緯度 Int 32 X
Well_endtime 完井時間 Datetime 32 X
Drill_endtime 完鉆時間 Datetime 32 X
設計井間 Int X
Design_gap 距 32
實際井間 Int X
Actual_gap 距 32
Desn_welldep 設計井深 Int 32 X
Fini_drildep 完鉆井深 Int 32 X
Wate_dep 水深 Int 32 X
Fini_drill_leve 完鉆層位 Va rchar 64 X
Dril_type 鉆井方式 Va rchar 32 X
鉆井監理 Varchar X
Dril_supervi 單位 32
Scrap_tyoe 報廢類型 Varchar 32 X
Geo_remark 地質附注 Varchar 256 X
Region 所在區 Va rchar 32 X
Juge_Scrap 是否報廢 Varchar 21 X
是否見油 Varchar X
Juge_hyd_show 氣顯示 1
是否安裝 Varchar X
Juge_hyd_pipe 油層套管 1
TAOBU_distance 套補距 int 32 X
預計油氣 Varchar X
Prdict_oil_show 32
顯示段
Design_position 設計層位 Varchar 32 X
井 間 相對 Varchar X
Well_relative_location 32
位置
Oil_test_Mark 試油標志 byte 1 X
Fini_Dril_Mark 完鉆標志 byte 1 X
油層頂界 Int X
Oil_top_depth 深度 64
Fini_Dril_Depth 完鉆垂深 Int 64 X
手工測底 Int X
Artificial_Well_depth 深 64
General_overview 總體概況 Varchar 256 X
Introduction 前言 Varchar 256 X
Auditor 審核人 Varchar 32 X
Preparer 填表人 Va rchar 32 X
(2)管件數據:管件基礎數據、管件借出信息、管件報廢信息、管件使用情況、管件 所屬隊伍信息。具體管件信息表結構如表4-3 所示。
表 4-3 管件數據信息表結構
(Table 4-3 Structure of pipe fitting data information table)
字段名稱 中文名稱 數據類型 數據長度 是否為空 是否主鍵
Pipe_number 管件編號 Int 4 X
Pipe_name 管件名稱 Varchar 32 X
Pipe_epc 管件 epc Int 4 X
管件規格 Varchar 寸 X
Pipe_model 型號 32
Pipe_manufacture 生產廠家 Varchar 64 X
管件生產 Datetime X
Pipe_product_time 日期 8
Pipe_sand 走砂量 Int 64 X
Pipe_Liquid 走液量 Int 64 X
累計工作 Int X
Pipe_service_time 時間 4
Pipe_code 唯一編碼 Varchar 32 X
管件所屬 Varchar X
Pipe_cate 隊伍 32
管件目前 Varchar X
Pipe_now_cate 所屬隊伍 32
管件出庫 Varchar X
Pipe_out_way 方式 32
管件出庫 Datetime X
Pipe_out_time 時間 8
Pipe_pressure_level 抗壓等級 Varchar 8 X
管件原始 Varchar X
Pipe_origin_thick 壁厚 8
管件累計 Int X
Pipe_service_time 工作時間 4
管件領取 Varchar X
Pipe_access 方式 32
管件綁定 Varchar X
Register_equip 設備名稱 32
管件綁定 Int X
Equip_epc 設備 epc 4
綁定設備 Varchar X
Equip_code 編碼 32
Pipe_State 管件狀態 Varchar 32 X
Pipe_price 管件單價 int 32 X
管件統計 int X
Pipe_amount 數量 4
管件借出 Datetime X
Pipe_lend_time 時間 8
管件借出 Varchar X
Pipe_lend_cate 隊伍 32
Return_time 歸還時間 Datetime 8 X
Return_cate 歸還隊伍 Varchar 32 X
Scrap_reason 報廢原因 Text 256 X
報廢處理 Varchar X
Scrap_result 結果 32
Scrap_time 報廢時間 Datetime 32 X
3)錄井采集信息表
該表用來記錄每口井在開井后,通過錄井部門工作人員采取機錄或者手工記錄從開
鉆到完井過程中井數據,詳細錄井信息表結構如表4-4 所示。
表 4-4 錄井采集信息表結構
Table 4-4 Structure of logging acquisition information table)
字段名稱 中文名稱 數據類型 數據長度 是否為空 是否主鍵
Well_number 井號 Int 4 X V
Logging_department 錄井單位 Varchar 32 V X
Logging_team 錄井隊伍 Varchar 32 V X
錄井起始 Int V X
Initial_depth 深度 8
錄井結束 Int V X
End_depth 深度 8
Logging _start 開始時間 Datetime 8 V X
Logging _end 結束時間 Datetime 8 V X
完井報告 Va rchar V X
Report_uploading 上傳人 32
完井報告 Varchar V X
Report_check 審核人 32
Logging_engineer 錄 入 工程 Varchar 32 V X
師
Logging_geologist 錄 入 地址
師 Varchar 32 V X
Phone 手機 Int 4 V X
(4)員工用戶信息表:用于存儲油井鉆探信息管理系統中不同類型員工的基本信息、 權限信息,系統根據此表中不同的員工類型賦予不同的用戶權限。用戶表具體信息表結 構如表 4-5 所示。
表 4-5 員工用戶信息表結構
Table 4-5 Structure of employee user information table)
字段名稱 中文名稱 數據類型 數據長度 是否為空 是否主鍵
User_id 用戶 ID Int 4 X
Username 登錄名 Varchar 32 X 寸
Password 登錄密碼 Int 32 X X
Name 姓名 Va rchar 32 X X
ID_card_num 身份證號 Int 8 X X
Person_State 政治面貌 Va rchar 32 寸 X
Person_Phone 聯系電話 Int 8 X X
Person_Email 員工郵箱 Varchar 32 X
Department 所屬部門 Varchar 32 X
EmployeeType 員工類型 Varchar 32 X
5)項目信息表:此表的主要功能是保留項目資料,信息表結構如表4-6 所示。 表 4-6 項目信息表結構
(Table 4-6 Project Information Table Structure)
字段名稱 中文名稱 數據類型 數據長度 是否為空 是否主鍵
Project_Num 項目編號 Int 4 X
項目合 作 Varchar X
Project_Name 名稱 32
項目 合作 Varchar X X
Project_jia 32
甲方
項目合作 Varchar X X
Project _yi 乙方 32
甲方第一 Varchar X X
Project_leader_jia 負責人 32
乙方第一 Varchar X X
Project_leader_yi 負責人 32
Project_area 項目地點 Varchar 32 寸 X
主要負責 Varchar X X
Project_department 部門 32
項目 開始 Datetime X X
Project_start_time 時間 8
項 目 結束 Datetime X
Project_end_time 時間 8
Mid_report 中期匯總 Varchar 32 寸 X
Project_state 項目狀態 Varchar 32 X X
Project_Mark 項目備注 Varchar 32 X X
(6)器材管理表:本表主要記錄石油鉆井開采過程中使用的器材、設備借出和歸還情況, 信息表結構如表 4-7 所示。
表 4-7 器材管理信息表結構
Table 4-7 Structure of equipment management information table)
字段名稱 中文名稱 數據類型 數據長度 是否為空 是否主鍵
Equipment_EPC EPC 編號 Int 8 X
申請器材 Varchar X
Equipment_name 名稱 32
器材申請 Varchar X
Equipment_applicant 人 32
器材審批 Varchar X
Equipment_approver 人 32
申請人聯 Int X
Applicant_phone 系電話 8
Apply_time 申請時間 Datetime 8 X
預計歸還 Datetime X
Back_time 32
時間
overtime 超時情況 Int 8 X
Apply_use 申請用途 Text 256 X
Equipment_state 狀態 Varchar 32 X
(7)井異常報警信息記錄表:本表主要記錄石油鉆井開采過程中油井異常報警的詳細情 況,信息表結構如表4-8 所示。
表 4-8 井異常信息報警記錄信息表結構
Table 4-8 Well Abnormal Information Alarm Record Table)
字段名稱 中文名稱 數據類型 數據長度 是否為空 是否主鍵
異常報警 Int X
Abnormal_number 4
編號
報警類型 Varchar X
Abnormal_type 名稱 32
Abnormal_time 報警時間 Datetime 32 X
異常報警 Varchar X X
Abnormal_approver 負責人 32
申請人聯 Int X X
Abnormal_phone 系電話 4
Abnormal_Jin 經度 Float 4 X
Abnormal_Wei 緯度 Float 4 X
(8)維護管理信息表數據:此表的主要功能是記錄包含了石油設備、管件保養維護信 息,信息表結構如表4-9 所示。
表 4-9 維護管理信息表結構
Table 4-9 Maintenance management information table structure)
字段名稱 中文名稱 數據類型 數據長度 是否為空 是否主鍵
器材 EPC Int X 寸
Instrument_Num 4
編號
Maintain_Eq_name 器材名稱 Varchar 8 X X
Maintain_Eq_type 器材類型 Varchar 8 X X
所屬生產 Text X X
Maintain_Eq_department 部門 256
計劃保養 Int X X
Maintain_plan 周期 4
最近保養 Datetime X X
Maintain_recent 256
時間
Maintain_state 設備狀態 Varchar 8 X X
超時天數 Int X
Maintain_overtime 4
4.4油井鉆探信息平臺數據庫表關系設計
一個高效的油井鉆探信息平臺數據庫表是提升油井鉆探信息平臺信息管理效率的 關鍵,通過尋找表中對應的關系,找到相應的數據。通常使用E-R圖來整理和分析數據 庫表,E-R圖建立起實體、屬性之間的聯系。各個E-R之間的關系存在一對一、一對多、 多對多三種基本形式[58] [59]。
在油井鉆探信息平臺數據庫中主要有到一對一和一對多和多對多三種關系,其中用 戶信息表、項目信息表、異常報警表、錄井數據表是一對一,管件信息表、器材管理表、 器材維護表為一對多,角色信息表是多對多關系。油井鉆探信息管理系統E-R圖如下圖 4-16 所示。
圖 4-16 油井鉆探信息管理系統 E-R 圖
Fig. 4-16 E-R diagram of oil well drilling information management system)
4.5本章小結
本章根據油井鉆探信息管理系統的實際需求以及軟件管理方案,設計了實現軟件各
個功能模塊。首先對系統架構的設計與代碼的編寫,其次再對系統各功能模塊進行設計
與服務器代碼的編寫,最后完成了對各模塊數據庫及數據的表的設計。
5油井鉆探信息管理系統試驗驗證
5.1手持終端APP試驗驗證 5.1.1手持終端APP登錄及注冊功能演示
如圖5-1是手持終端APP用戶登錄注冊界面,用戶可在手持終端APP內完成注冊、 登錄功能,相比之前單一 PC 平臺登錄注冊,簡化了流程,降低了用戶注冊登錄難度。
圖 5-1 登錄及注冊功能演示
Figure 5-1 Login and Registration Function Demo)
5.1.2手持終端APP主頁功能演示
如圖5-2是手持終端APP主頁功能界面,主界面功能主要由入庫、領取、使用、報
警四個模塊組成(標注1),同時可以在主界面中查看消息公告(標注2)(標注3)。
圖 5-2 主頁功能演示
Figure 5-2 function demonstration of home page)
5.1.3手持終端APP入庫模塊功能演示
如圖 5-3、5-4 是入庫模塊功能演示,每當新引進或者各隊伍之間歸還設備和管件 時候需要使用手持終端入庫模塊功能。圖中(標注 1)(標注 2)表示的是掃描管件上 電子標簽得到的信息,可以看到管件的名稱、型號、管碼、以及原始碼。圖中(標注 3) (標注 4)表示當前正在進行第幾次掃描。可根據需要同時掃描一定區域內射頻卡數量 多少,設置了不同掃描功率(標注 5)。
圖 5-3 入庫掃描功能演示
Figure 5-3 Demonstration of Scanning Function)
圖 5-4 掃描功率選擇及上傳入庫功能演示
Figure 5-4. Scanning power selection and storage uploading function demonstration)
5.1.4手持終端APP領取模塊功能演示
如圖 5-5 是領取交舊及領新掃描功能演示,每個隊伍在領取新設備、管件和提交舊
管件、設備時候需要通過手持終端APP中領取功能模塊進行。每個隊伍圖中(標注1) (標注 2)表示的是掃描待領新件或者交舊管件上電子標簽得到的管件信息,選擇(標 注 3)或(標注 4)交舊和領新功能進行切換。
圖 5-5 領取交舊及領新掃描功能演示
Figure 5-5. Scanning function demonstration of old and new collection)
5.1.5手持終端 APP 使用模塊功能演示
手持終端APP使用功能模塊如圖5-6所示,如圖所示,可輸入不同井號走砂量、液
量信息同時選擇相應鉆井設備、管件上傳使用情況。
圖 5-6 使用統計及設備選擇功能演示
Figure 5-6 Usage statistics and device selection function demonstration)
5.1.6手持端 APP 報警模塊功能演示
手持終端APP報警功能如圖5-7所示,在后臺服務器代碼和手持端APP代碼中均設
置了報警閾值,當鉆井其中某項參數值超出設定閾值后,系統會對其進行標紅(標注1),
并將狀態修改成異常,做報警處理,提醒相關人員及時查看處理。在處理完異常信息后, 可自行將正常參數上報服務器,通過管理員審批后進行修改設置,然后油井信息恢復正
常綠色狀態(標注 2)。
圖 5-7 報警油井及正常油井功能演示
Figure 5-7 function demonstration of alarm oil well and normal oil well)
5.2油井鉆探信息管理平臺試驗驗證
5.2.1主頁登錄模塊功能演示
圖 5-8 主頁登錄模塊主要功能演示
Figure 5-8 main function demonstration of homepage login module)
如圖 5-8 是系統主頁界面的實現,其中系統的常用功能和用戶的登錄管理功能可以 在(標注 1)處進行實現。在主頁界面中對鉆井工具類進行了分類管理,根據要求選擇 不同類別,可以看到公司內產品的信息匯總,若要單獨查詢某種產品或者生產廠家可以 直接單獨進行信息搜索(標注 2)。以大口徑組裝鉆頭為例(標注 3),在信息主頁面 中可以看到其相應的采購價格,生產信息,入庫日期等。
@ 油井鉆探信息管理系統_管理員注冊
圖 5-9 管理員注冊功能演示
(Figure 5-9. Demonstration of administrator registration function)
如圖 5-9 是是油井鉆探信息管理系統管理員注冊界面,因中石化系統高安全性要求 保證管理員用戶賬號安全性,管理員在注冊時需要填入不少于八位且必須含有字母符號 的字符串,同時密碼也必須保證在十四位以上帶有字母和符號的組合。同時設置了注冊 密碼二次核對確認,并填入電話號碼和真實姓名作為用戶身份核驗信息。在注冊成功后 頁面自動跳入登錄界面,輸入賬號、密碼完成登錄后進入油井鉆探信息管理系統后臺管 理界面。
5.2.2實時數據采集模塊功能演示
圖 5-10 實時數據采集模塊功能演示
(Figure 5-10 Function demonstration of real-time data acquisition module)
圖5-10所示為油井鉆探信息管理系統后臺管理系統主界面,用戶可通過上方導航條 (標注 1)選擇查看不同信息板塊,設備庫部分主要是石油鉆探過程中設備總覽,消息 中心負責接收來自管理員、隊長或者各小隊之間的消息推送,產品分類部分可通過分類 模式來查看目前使用產品的生產廠家等詳細信息,信息中心部分可瀏覽到公司最新的新 聞布告,包括一些公示消息、權限變動等。
實時數據采集模塊由實時圖形趨勢分析、實時數據、歷史信息三部分組成(標注 2)。 其中圖形趨勢分析通過折線、柱狀圖等模型對近期油井鉆探開采情況實現了直觀顯示, 實時數據模塊可以看到鉆井工作施工數據信息,歷史信息部分可查詢到具體井號歷史鉆 井信息情況。這里主要對井實時數據模塊進行了描述,表格主要是由ID、井號、實時監 控、位置分布、井泵壓、泵液量、鉆速、鉆孔深度、穿透率、扭矩、功率(標注 3)及 部分構成,ID和井號、圖片來具體到某一口井,通過(標注4)選擇油井分類或輸入位 置分布,可以快速找到符合條件的油井,實現對某一區域內油井鉆探情況準確把握。
(Figure 5-11. Example demonstration of real-time data graphical trend analysis function 1) 如圖 5-11是實時數據圖形化趨勢分析功能實例演示 1,根據(標注5)所示,大約 在下午15:10 至15:30 分左右,泵量體積還沒有變化時,泵壓開始先緩速下降,緊接 著急速下降直至為 0,同時泵量體積也在泵壓下降已會也開始迅速下滑,直至最后泵壓、 泵量、鉆速歸零,從圖形趨勢分析,可以推測出鉆井作業在 15:10 左右可能中發生意 外事故,在通知工人檢查現場情況后發現鉆井液從水龍頭漏出,但沒有溢入到鉆桿中, 造成了鉆井液溢流現象。
一泵壓
—泵量
返量
泵壓
圖5-12實時數據圖形化趨勢分析功能實例演示2
Figure 5-12. Example demonstration of real-time data graphical trend analysis function 2)
如圖 5-12 是實時數據圖形化趨勢分析功能實例演示 2,如圖中在泥漿泵正常工作 時,泵壓和泵量體積均不為零,但在(標注 6)關閉泥漿泵以后,系統顯示泵量體積下 降為零,但泵壓顯示仍有數值。根據推斷可以推測出泥漿泵或者泵壓力表出現故障,經 過現場工人排查后,發現泵壓力墊傳動裝置已損壞,損壞部分掉入了壓力管中,堵塞了 泵壓力管。
圖 5-13 實時數據圖形化趨勢分析功能實例演示 3
(Figure 5-13. Example demonstration of real-time data graphical trend analysis function 3) 如圖5-13是實時數據圖形化趨勢分析功能實例演示3,如圖中(標注7)(標注8) 處,大致在時間 18:35 后,泵壓、鉆速、和扭矩發生劇烈變化,而同一時刻泵量體積 轉速未發生改變。根據圖形趨勢分析,得出情況可能發生在鉆井過程中的鉆頭部位發生 故障,通知現場人員停止鉆孔作業,經過檢查確認后,問題發生在鉆孔處的鉆頭開裂。
5.2.3報警信息管理模塊功能演示
圖 5-14 油井正常工作頁面
圖 5-15 油井異常報警頁面
Fig. 5-15 The page of abnormal oil well alarm)
報警管理中報警實時監控模塊通過接入高德地圖API,可通過點擊標記按鈕來查看 油井具體經緯度信息,實現對每口油井的地圖位置信息準確定位,例如圖 5-14 中所顯
示的是 DKGD 井正常運行狀態,圖 5-15 是 DKGD 井發生異常情況進行報警。在地圖中設
置了正常和異常報警倆種標識,油井正常工作時,圖標呈現藍色,當有異常信息發生時, 標志則變為紅色提示狀,提示相關工作人員及時去處理異常。當異常信息解決后,圖標 重新變為藍色,表示油井正常工作。
5.2.4項目管理模塊功能演示
項目信息管理模塊的主要功能是完成新增一個完整項目內容和對歷史項目信息查 找瀏覽和內容修改。當進入主界面后,選擇項目管理,若要新增一個項目,第一步從 “添 加項目信息”開始。為了將list表單中查詢到的數據轉換到Excel滿足不同人群使用 習慣,項目效果實現圖如下:
項目信息管理
具體項目情況:51輸入項目編號 轍A項目名稱 ® 1
II 誨+ 畑鳩倉1
1»選攝項目類型: 請選擇
項目細節 項目進展
贋目讎… 樂甲方 合混方 項目地 主要站… 甲方A… ZJ5®- SSWfB) 44BiEjg 項目如|
1 10000 井下加. 吉林啊.. 畑珈.. HUXil 工彌 伊麗 20W1... 2019^4... S B3SW
2 10001 吉林卿... 山西智舎… 4tft 科技部 白楊 易可 2016^3... 2019^5... 星 esm
3 10002 井下燉… 吉 寸頃天航… 舷江哈… 工程部 伊麗 2018^1... 2019^2... 是 已軸
4 10003 井下刪... 工刪 髓紅 伊BS 2017年 4... S 師中 ^3
5 10004 山Sga… SKI 工程部 馬文 2018^1... 進展中 ? E3
IP 3 ... 10 > 到IS 1 頁 s定共
圖 5-16 項目管理功能模塊功能演示
Figure 5-16 Function demonstration of project management function module)
圖 5-16 為項目信息管理主界面,其中可根據選擇項目類型,輸入具體項目編號或 者項目名稱來完成項目檢索(標注 1),同時為方便管理人員下載和使用,設置了可一 鍵導出Excel模式(標注2),項目的具體信息包括項目合作名稱、合作甲方單位、合 作乙方單位、甲方第一負責人、乙方第一負責人、項目地點、主要負責部門、項目開始 時間、項目結束時間、項目是否中期匯報和項目狀態等主要項目信息(標注3),可在 操作中選擇編輯隨時進行修改或者增加項目內容(標注4)。
5.2.5人員信息管理模塊功能演示
圖 5-17 人員信息管理模塊功能頁面
(Figure 5-17 Personnel Information Management Module Function Page)
如圖 5-17 為角色信息修改管理界面,點擊添加(標注1)可以快速添加一個新的角 色,為了加強領導管理員對臨時員工和正式員工的信息監管,對用戶設置了快速啟用和 禁用倆個狀態,只有每個新注冊的用戶只有當領導審核批準后,在本頁面對用戶設置了 啟用狀態(標注 2)后,方才可以進行訪問登錄本系統。同時領導管理員可以對每一個 角色進行角色信息編輯(標注 3),完成對其用戶名、賬號、密碼、角色類型的修改和 設置。
角色權限 X
日I實時數據采集模塊
•$ B生產統計
•- ■歷史信息
•④□實時片
田□用戶管理
田國項目管理
田岡器材管理
田D維護管理
田S報警管理
田申統計報表
圖 5-18 角色權限設置管理功能
Figure 5-18 Role permission setting management function)
如圖 5-18 所示,針對不同的角色類型,設置了不同板塊的訪問操作權限,如針對 圖中角色設置了不可訪問實時數據采集模塊中的實時生產部分,同時對用戶管理部分也 設置了不可訪問。
5.2.6器材管理模塊功能演示
器件信息管理
/U € >
■j 勒呻請信息+ 肚星刪除面 | Z iffl & @
1■要物品狀態:請選徉 在申詩名中覆索:請輸入申請名禰 I /?
| EPC 黑 申請器材名稱 器材申請人 翊審批人 申請人… 申請時間 預計歸還時間 超時… 狀態 操作
2018081514... 髙壓氣井閥門 常磁 魏開河 134336... 2018年08月15日 204 9年04月20日 無 I確I
■ 2019081513... 單流閥 李曉飛 魏開河 151742... 201拜08月15日 202002 月 28 日 嚴車 離 AW除
2018081511... 高壓氣井閥門 王碩 文章 131224... 2018年08月15日 23曲月20日 無 I眸I
■ 2019060708... 歧管三a 馬云 馬小康 186332... 2019^06^070 2019年7月1日 嚴車 已麗 WR 刪除
2020032417... 高壓活動穹頭 ^7t 151742... 2020年03月24日 2020年06月代日 無 I已審核I
■ 2 3 ... 10 >到第 1 頁 確定共TOO條 40條/頁* O
圖 5-19 器材管理功能模塊頁面
Figure 5-19 Device management function module page)
圖 5-20 器材申請功能模塊頁面
(Figure 5-20 Device Application Function Module Page)
如圖5-19是器材管理主界面,點擊添加申請信息(標注1),出現圖5-20如圖所 示是器材申領界面,針對不同的器材使用,設置了申請規范,必須先在頁面填寫申請物 品名稱,包括申請用途,申請人聯系手機和預計歸還時間,系統會根據后臺登錄人員信 息,自動鎖定申請人。每次申請人登錄系統時,系統會首先檢查是否有物品借出記錄,
若存在,則會檢查是否超出歸還時間,當超出歸還時間時,系統會發送提醒及時歸還。
例如針對器材管理模塊中的物品,每條申請記錄都有各自對應的申請編號,同時庫 中的每種物品共有在庫、已領用、已審核三種狀態,領導管理員可以通過選擇物品狀態 和直接輸入要查詢的器材名稱或者申請編號來找到特定條件下的物品(標注 2)。
圖中標注了申請器材的名稱、申請人、審批人、聯系電話、以及申請時間、預計歸 還時間、器材超時情況和器材目前狀態(標注 3)等,在服務器代碼編寫過程中針對當 前物品借出時間超過預計歸還時間時,則超時情況變成嚴重(標注 4),該行變成紅色 強提醒,提醒管理員通知相關人員及時歸還借出物品。
5.2.7器材維護管理模塊功能演示
保養維護 X
器材基本信息
生產廠商:一機廠 器材類型:Au-1408-1^
運行狀態:使用中 器材名稱:谿器
首次使用日期:2014-10-07 首次維護日期:2017-08-03
設備保養
保養人員 保養信息
保養日期 請輸入保養日期
保耦注 詳細幅兄
圖 5-22 器材保養維護功能頁面
(Figure 5-22 Equipment maintenance function page)
如圖 5-21 是器材維護管理主界面,每當有器材進行第一次維護后,選擇增加維護 信息(標注 1)便將其維護信息加入器材維護信息庫建檔。若想快速查找到特定或某個 具體器材的維護信息內容,可通過選擇器材類型、器材狀態或者直接輸入器材名稱、 EPC 編碼(標注 2)來完成檢索,數據庫在完成信息遍歷后,會將搜索到的信息靠前呈列進 行顯示。在本模塊中,每種器材在第一次建立維護信息檔時,填入相應的生產部門同時 設置好相應的計劃保養周期和保養方式(標注 3),以器材最近保養時間為起(器材首 次建檔時間),當累計天數超過計劃保養周期后,系統會自動判定設備處于待維護狀態, 并將該信息行變成橙色預警,狀態設置為待維護狀態,若超時天數大于300 天時仍未維 護保養,該信息行由橙色預警變為紅色報警,狀態則變為停用狀態,同時將報警信息推 送給相關維護管理員,提醒及時進行維護(標注 4)。
保養維護界面如圖 5-22 所示,每次器材保養后,需要維護人員登錄信息平臺,可 以看到保養維護和保養標準(標注 5)兩種操作,若要更改每種器材的計劃保養周期可 在保養標準中進行設置,這里我們選擇選擇維護管理模塊中的保養維護,此時可以看到 該器材的一些基本信息,包括首次投入使用日期和首次維護日期等,在填入保養人員、 保養日期和保養備注情況后即可點擊提交完成此次的保養維護,所有保養記錄情況都會 存入數據庫進行建檔,方便日后對故障分析做數據支撐。在完成提交后,此時該項信息 中最近保養時間更新為此次保養時間,同時狀態變為正常,預警顏色回歸正常。
5.3 試驗結果評價
本章主要對手持終端功能與油井鉆探信息管理平臺相結合進行測試,測試內容包括 手持終端的領取、入庫、使用、報警四個主要功能與油井鉆探信息管理平臺中器材管理 模塊、器材維護模塊、實時數據采集模塊、報警管理模塊配合使用,同時對信息管理平 臺中人員信息管理、人員權限管理、項目信息管理進行測試,測試結果基本滿足預期需 求。
6總結與展望
6.1總結
本課題在鉆探信息化新形勢需求下提出了鉆探系統軟件框架和數據架構,同時分析 了每個模塊之間的聯系,并使迭代過程更有組織性,提高了軟件代碼的重用性,使軟件 開發過程更加清晰。油井鉆探信息管理系統的建立為油田開采提供了數據基礎保障,整 合了信息數據,對比傳統鉆探信息管理軟件加入了手持終端,提升了鉆井傳統器材管理 效率,提高了器材的使用壽命,降低了因為器材突然損壞造成安全事故的隱患,保障了 野外鉆井工作人員的生命安全,增強了數據傳輸即時性,提高鉆井工程現場實時決策和 管理水平。油井鉆探信息系統做到了數據傳輸、數據存儲、數據圖形化趨勢分析、提前 事故預警功能,同時可對公司內人員信息、項目信息、器材信息、報警信息等進行查閱 和修改。根據實際應用情況來看,整個軟件系統仍存在不足地方,需要后期優化改進完 善實現:
(1)當前系統已被引入油井現場工作環境,但是在井場與服務器的業務規范的制定 尚不完整,因此早期的某些數據沒有及時傳輸。后續將對業務規范的這一部分首先開發 和實施時,將相同類型的信息將以統一編碼和編碼時間順序排列在數據庫中,完成對油 井現場的信息細分分類。
( 2 )現有的非結構化井工程數據到當前系統數據庫的轉換尚未進展完畢,其中舊井 記錄數據大多為文檔格式,并且存儲時間久遠、存放地點繁多。若需形成結構化的數據 倉庫設計,需要對現有的舊井文檔格式進行進一步信息核對整理。
( 3 )數據傳輸過程中仍然有很長的等待顯示時間,可能由于野外 4G 信號差和軟件 代碼優化等問題,造成平臺信息顯示仍有延遲,后期將對數據傳輸過程進行優化。
( 4 )軟件操作界面還不夠人性化,需要后期不斷與具體使用者進行溝通優化,使界 面設計更加合理化。
6.2展望
油井鉆探信息管理系統這一基本滿足了初期的功能要求,但有些不妥之處需要改 進。有時由于在野外使用,網絡會不太穩定,上傳數據較慢;軟件設計模塊功能還不夠 完善。但隨著該系統正式投入運用,出現的問題我會積極聯系工作人員,提升各模塊運 行效率和軟件有效使用率,不斷將其完善。
參考文獻
[1]仝曉春•鉆井生產信息管理系統研究與開發[D].西安理工大學,2019
[2]Min T,Yuanbiao H ,Zhiguo L ,et al.Development of Management Information System of Geo-drilling Construction[J]. Procedia Engineering, 2014, 73(73):118-126.
⑶陳宏斌.國際石油公司信息系統集成及啟示[J].中國管理信息化,2015, 18(23):64-67.
[4]金子議.LN石油公司鉆井現場安全管理研究[D].大連理工學,2018.
[5]劉丁銘.鉆井工程現場綜合信息集成系統研究與開發[D].重慶大學,2017.
[6]肖璐.基于物聯網的智能化井場系統的研究與應用[D].西安石油大學,2015.
[7]周玉璽.鉆井工程設計集成系統的研發及應用[J].石化技術,2016,23(6):207-207.
[8]F.P.舒馬赫,J.J.施維貝爾,M.J.哈丁,et al. Method of and system for drilling information management and resource planning: US 2017.
[9]Yu J , Zhu X . Design and Implementation of Data Management System for Screw Drilling Products Based on C#[J]. International Core Journal of Engineering, 2019, 5(9):59-66.
[10]Schumacher F P , Shwoebel J J , Hardin M J , et al. Method of and system for drilling information management and resource planing, 2012.
[11]白鷺.油田信息監控管理系統的設計與實現[D].北京工業大學,2015.
[12]龔勛.川慶鉆探鉆井信息管理系統的設計與實現[D].電子科技大學,2015.
[13]李琦雯.大慶鉆探鉆井工具管理系統的設計與實現[D].電子科技大學,2014.
[14]董蕾.石油設備管理系統設計與實現[D].電子科技大學,2014.
[15]王磊.基于Web的鉆探數據庫的構建與開發[D].中國地質大學(北京),2011
[16]趙慶,蔣宏偉,石林,霍宗強,連志龍,王思敏. 國內外鉆井工程軟件對比及對國內軟件 的發展建議[J].石油天然氣學報,2014,36(05):87-92+6
[17]劉斌.基于RFID技術的鉆井工具管理系統研究與實現[D].西南石油大學,2018.
[18]常從兵.現代管理制度下的鉆井監督管理問題%Drilling Supervision and
Management under Modern Management System[J]. 化 工 設 計 通 訊 , 2019,
045(009):249-250.
[19]容濤.延長油氣田勘探開發信息化建設研究[D].西安石油大學,2013.
[20]王煥欣.基于Android的石油勘探信息管理系統的設計與實現[D].北京工業大 學,2018.
[21]尚禮斌.油田勘探知識庫系統設計[D].湖北工業大學,2018.
[22]李特.綜合錄井信息管理系統的設計與實現[D].北京工業大學,2017.
[23]王婷.基于Android移動終端的鉆井信息管理平臺的設計與實現[D].東北石油大 學,2017.
[24]李維鋒.基于電子標簽的管控物品識別系統[D].杭州電子科技大學,2018.
[25]郗雪蕾.基于物聯網的倉庫管理系統研究與實現[D].華北理工大學,2018.
[26]楊洪.蘭州石化網絡安全系統設計與實現[D].電子科技大學,2012.
[27]李正華.中國石化網絡安全設備日志信息管理系統[D].電子科技大學,2010.
[28]王淑妮.基于UKey的云計算資源認證與管理系統[D].西安電子科技大學,2017.
[29]丁敏喆.基于微服務架構的物聯網服務平臺的設計與實現[D].西北大學,2020.
[30]葛又嘉.基于微服務架構的分布式爬蟲系統設計與應用[D].南京郵電大學,2020.
[31]Pavithran Deepa,Al-Karaki Jamal N.,Shaalan Khaled. Edge-Based Blockchain Architecture for Event-Driven IoT using Hierarchical Identity Based Encryption[J]. Information Processing and Management,2021,58(3)
[32]許建磊.基于事件驅動的異質多智能體系統一致性研究[D].重慶郵電大學,2020.
[33]王珺旸.基于分層架構的個性化自動換道系統規劃控制策略研究[D].吉林大 學,2020.
[34]趙一品.基于Spring Boot和MyBatis的銀行知識庫管理系統的設計與實現[D].山 東大學,2020.
[35]蘇曉威.面向模式的軟件架構重構[D].東南大學,2019.
[36]程亞杰.基于SpringMVC框架的石油生產管理系統的研究與應用[D].蘭州理工大 學,2016.
[37]Rachovski Todor,Hadzhikolev Emil,Hadzhikoleva Stanka. Models and Methodologies for Automated Creating of Webpage Mobile Versions[J]. IOP Conference Series: Materials Science and Engineering,2021,1031(1).
[38]強志勇,馬健,袁梁.基于.NET的采油廠“生產+”信息管理系統研究與實踐[J].中國 管理信息化,2021,24(05):117-121.
[39]Rachovski Todor,Hadzhikolev Emil,Hadzhikoleva Stanka. Models and Methodologies for Automated Creating of Webpage Mobile Versions[J]. IOP Conference Series: Materials Science andEngineering,2021,1031(1).
[40]朱麗雅,向青.基于Spring框架的精準傳播平臺的設計與實現[J].信息與電腦(理論 版),2020,32(19):105-107.
[41]張旭剛,張昕,高若寒.基于Spring Boot與MyBatis框架構建動態讀寫分離模型[J]. 微型電腦應用,2021,37(02):84-86+98.
[42]陳小虎,鄧惠俊.基于mybatis的數據持久層研究[J].成都工業學院學 報,2020,23(02):29-32.
[43]王柄欽,趙翔,余騰飛,王永.基于RFID技術的裝備庫存管理手持終端研究[J].微型 電腦應用,2019,35(12):92-95.
[44]郭宗鑫,李昌武,張丕狀,姚金杰,趙智亮.基于RFID超高頻手持終端APP系統設計[J]. 國外電子測量技術,2019,38(07):140-145.
[45]魏井輝,呂明.基于Netty通信的消息推送系統的設計與實現[J].工業控制計算 機,2020,33(12):57-59.
[46]李龍忠.雙卡雙待手機底層驅動開發[D].西安電子科技大學,2009
[47]張磊,張麗華.基于Android的遠程醫療系統設計與實現[J].電子制 作,2020(21):60-62
[48]呂姣霖,徐艷.哈夫曼編碼在圖像壓縮中的應用與分析[J].數字通信世 界,2021(01):189-190.
[49]Marchandon Mathilde,Hollingsworth James,Radiguet Mathilde. Origin of the shallow slip deficit on a strike slip fault: Influence of elastic structure, topography, data coverage, and noise[J]. Earth and Planetary Science Letters,2021,554.
[50]黃偉.基于RFID技術的零散物品管理系統的設計與實現[D].天津大學,2016.
[51]崔躍.石油器材質檢實驗室管理系統設計與開發[D].西安電子科技大學,2018.
[52]李瑞華,張柏元.石油測井設備與器材管理系統的設計與實現[J].微機發 展,2003(10):51-53+57.
[53]溫馨,謝寅溥,張果,羅月.鉆井實時進度跟蹤分析系統構建研究[J].中國管理信息 化,2021,24(04):87-89.
[54]丁閆,高魯陽,曹瑜,么曉明.鉆井現場工程數據自動化采集的設計與實現[J].石 油工業計算機應用,2015(04):14-17
[55]盧忠沅,陳蓉,黎強,李英林,任慧寧,李剛,雨松. 塔里木油田鉆井工程實時數據質量管 理方法探討[J].錄井工程,2020,31(03):118-121.
[56]唐翔.基于Android平臺的某景點移動端旅游軟件系統設計與實現[D].電子科技大 學,2020.
[57]魯帥帥.大數據環境下油氣鉆井信息分布式數據倉庫系統研究[D].西安石油大 學,2018.
[58]李志.論E-R圖在數據庫建模過程中的重要性[J].信息記錄材 料,2020,21(06):143-145.
[59]陳印.高職院校教材管理系統E-R模型設計[J].科技視界,2018(29):97-98.