宋 松, 何得平,張少華,王聲輝,孫 威,王玉峰,丁大偉,梁華慶
(1.中石油華北油田分公司數(shù)據(jù)中心,河北 任丘 062552;2.中國石油大學(xué)(北京)地球物理與信息工程學(xué)院, 北京 102249)
?
基于REST構(gòu)架的油田設(shè)備管理系統(tǒng)軟件的設(shè)計
宋 松1, 何得平2,張少華2,王聲輝2,孫 威1,王玉峰1,丁大偉2,梁華慶2
(1.中石油華北油田分公司數(shù)據(jù)中心,河北 任丘 062552;2.中國石油大學(xué)(北京)地球物理與信息工程學(xué)院, 北京 102249)
研發(fā)的油田設(shè)備管理系統(tǒng)軟件可完成設(shè)備的靜態(tài)信息管理、設(shè)備動態(tài)信息管理、設(shè)備運(yùn)行統(tǒng)計分析和設(shè)備維護(hù)等功能;系統(tǒng)以Eclipse作為開發(fā)平臺,以Spring框架為開發(fā)模式,使用JSP進(jìn)行具體開發(fā)工作,數(shù)據(jù)庫使用企業(yè)級的Oracle數(shù)據(jù)庫,通過Hibernate框架訪問數(shù)據(jù)庫,可以將實現(xiàn)業(yè)務(wù)邏輯的代碼和數(shù)據(jù)庫訪問代碼有效分開,使程序結(jié)構(gòu)更加清晰,減少了軟件維護(hù)的難度;文章詳細(xì)介紹了軟件的主要功能模塊和系統(tǒng)的關(guān)鍵技術(shù);該系統(tǒng)已經(jīng)部署于油田現(xiàn)場,實現(xiàn)了對智能遠(yuǎn)程終端設(shè)備的初步的全生命周期管理,保障設(shè)備的安全運(yùn)行。
設(shè)備管理軟件;Oracle數(shù)據(jù)庫;Spring框架;全生命周期
在數(shù)字油田逐步推進(jìn)的過程中,隨著部署的規(guī)模越來越大,需要維護(hù)管理的數(shù)字化設(shè)備越來越多,故障率上升,上線率不高,廠區(qū)級在數(shù)字化管理過程中越來越迫切解決以下問題:
1) 無法第一時間獲得現(xiàn)場設(shè)備運(yùn)行故障和站控運(yùn)行故障,信息滯后;
2) 在要求數(shù)據(jù)上線率和正確率的條件下,無法統(tǒng)計上線率和正確率不高的原因,也就無法針對故障原因做有效的決策;
3) 發(fā)現(xiàn)故障后,無法具體準(zhǔn)確定位是哪個設(shè)備或者哪個具體原因造成的,往往需要借助專業(yè)技術(shù)人員經(jīng)過排查才能獲知原因。
研發(fā)的“設(shè)備管理系統(tǒng)軟件”可對終端設(shè)備(傳感器、RTU等等)進(jìn)行初步的全生命周期的管理,這包括兩類信息的管理:終端設(shè)備靜態(tài)信息的管理和終端設(shè)備動態(tài)信息的管理。
通過對這兩類信息的管理,作業(yè)區(qū)和廠區(qū)級的管理人員可以獲得數(shù)字化設(shè)備的基本信息及其運(yùn)行信息,輔助分析運(yùn)行故障原因,統(tǒng)計分析故障產(chǎn)生原因,從而保證數(shù)字化的上線率、準(zhǔn)確率、完好率。同時,方便管理層能夠及時全面地掌握實時的實物資產(chǎn)狀況。
系統(tǒng)框圖如圖1所示。系統(tǒng)由安裝于抽油機(jī)上的遠(yuǎn)程智能化終端設(shè)備(傳感器、RTU、RTM)、上位機(jī)軟件、Oracle數(shù)據(jù)庫和設(shè)備管理系統(tǒng)軟件組成。
部署于油田作業(yè)區(qū)中心控制室的上位機(jī)遠(yuǎn)程控制數(shù)字化終端設(shè)備完成設(shè)備參數(shù)的實時采集,并將采集到的數(shù)據(jù)存入數(shù)據(jù)庫。設(shè)備管理軟件通過對數(shù)據(jù)庫中設(shè)備工作參數(shù)與狀態(tài)數(shù)據(jù)的實時讀取,實現(xiàn)對設(shè)備狀況的實時監(jiān)控與管理。
圖1 系統(tǒng)框圖
2.1 軟件功能概述
系統(tǒng)軟件主要功能包括“設(shè)備靜態(tài)信息管理”、“設(shè)備動態(tài)信息監(jiān)測”、“設(shè)備運(yùn)行統(tǒng)計分析”和“設(shè)備維護(hù)”等。
2.2 軟件模塊
依據(jù)軟件功能需求,將軟件分為如下模塊。
1)靜態(tài)信息管理模塊:
該模塊主要實現(xiàn)對遠(yuǎn)程終端設(shè)備靜態(tài)信息的管理。靜態(tài)信息包括設(shè)備所屬單位、設(shè)備編號、設(shè)備類型、廠家信息、安裝地點、使用年限、檢修周期等信息。
2)動態(tài)信息監(jiān)測模塊:
設(shè)備動態(tài)信息監(jiān)測模塊主要是根據(jù)RTU與智能儀表在線信息、狀態(tài)信息(是否工作正常)、電池電量信息進(jìn)行判識告警并記錄告警處理過程。
對動態(tài)信息進(jìn)行監(jiān)控,可以幫助管理人員及時、有效地掌握設(shè)備運(yùn)行狀態(tài),輔助分析運(yùn)行故障原因。除了對于節(jié)點上的RTU、傳感器、控制器的監(jiān)測,也包括通信狀態(tài)的監(jiān)控。通過對設(shè)備的監(jiān)控管理,從而實現(xiàn)系統(tǒng)的“即開、即入、即管、即用”功能。
3)設(shè)備運(yùn)行統(tǒng)計分析模塊:
該模塊統(tǒng)計設(shè)備故障情況,可按照設(shè)備的故障類型、故障時間、設(shè)備類型進(jìn)行統(tǒng)計,對設(shè)備的性能與環(huán)境適應(yīng)性進(jìn)行分析,為以后設(shè)備的選型、采購提供建議和參考依據(jù)。
4)設(shè)備維護(hù)管理模塊:
設(shè)備維護(hù)管理分兩個部分:日常維護(hù)和故障維護(hù)。日常維護(hù)即設(shè)備日常的保養(yǎng)維護(hù)記錄。故障維護(hù)是針對有故障的設(shè)備采取的維護(hù),故障維護(hù)信息的錄入會同時消除相關(guān)設(shè)備警報信息,同時更新設(shè)備故障信息,并根據(jù)維修時間和處理措施,來評判維修人員的維修效率和維修效果。
系統(tǒng)的功能模塊圖如圖2所示。
圖2 系統(tǒng)軟件功能模塊結(jié)構(gòu)圖
3.1 軟件開發(fā)環(huán)境
軟件運(yùn)行環(huán)境為Windows XP系統(tǒng),開發(fā)工具為Eclipse、數(shù)據(jù)庫采用Oracle9I版本、Web服務(wù)器采用Tomcat。
3.2 軟件構(gòu)架
設(shè)備管理系統(tǒng)軟件是基于B/S(瀏覽器/服務(wù)器)開發(fā)模式的WEB系統(tǒng),其設(shè)計框架如圖3所示??蛻舳司褪菫g覽器程序,通過HTTP協(xié)議訪問服務(wù)器端的應(yīng)用。服務(wù)器端與通信有關(guān)的處理是由服務(wù)器軟件Tomcat負(fù)責(zé)。將開發(fā)的應(yīng)用程序部署于WEB服務(wù)器中,客戶端就可以訪問整個應(yīng)用程序的代碼。
圖3 軟件整體構(gòu)架
3.3 軟件關(guān)鍵技術(shù)
1)Servlet組件:
Servlet組件的工作原理如圖4所示。Web用戶向服務(wù)器發(fā)送請求,Tomcat服務(wù)器接收到請求后會創(chuàng)建一個ServletRequest對象,將請求信息封裝起來,然后將對象傳給Servlet特定方法中,處理完成以后,將結(jié)果封裝在ServletResponse對象中返回給Web服務(wù)器,進(jìn)而傳遞給客戶端。
圖4 Servlet 工作原理
2)REST框架:
REST中文意為表征狀態(tài)轉(zhuǎn)移,是Web應(yīng)用開發(fā)中常見的架構(gòu)設(shè)計風(fēng)格。REST應(yīng)用于Servlet端,其設(shè)計風(fēng)格將每一個功能抽象為一個資源,并且每個資源有唯一對應(yīng)的資源標(biāo)識即URL,使軟件層次分明,便于后期升級和維護(hù)。REST部分代碼如圖5所示,程序中將一個Javabean服務(wù)抽象為一個URL資源,方便瀏覽器調(diào)用。
圖5 REST代碼
3)JavaBean組件:
JavaBean組件是遵循特定接口格式的Java類,在Java Web開發(fā)中被用來處理業(yè)務(wù)邏輯。JavaScript和Servlet通過調(diào)用JavaBean組件實現(xiàn)特定的業(yè)務(wù)功能。圖6所示代碼就是一個JavaBean組件,該組件實現(xiàn)了對數(shù)據(jù)庫的鏈接。
圖6 JavaBean組件
4)Hibernate技術(shù):
Hibernate是一個開源的對象/關(guān)系映射框架。它對JDBC進(jìn)行了輕量級的對象封裝。Hibernate對象將JavaBean對象和數(shù)據(jù)庫中表建立對應(yīng)關(guān)系,使數(shù)據(jù)庫中的表對應(yīng)于JAVA中的對象。在對數(shù)據(jù)庫中數(shù)據(jù)操作時,只需調(diào)用JavaBean對象而不用寫SQL語句。Hibernate體系結(jié)構(gòu)如圖7所示。
圖7 Hibernate體系結(jié)構(gòu)
圖8是Hibernate中對數(shù)據(jù)庫操作的JavaBean對象代碼,實現(xiàn)了對數(shù)據(jù)庫的增刪改查操作。
圖8 數(shù)據(jù)庫操作JavaBean對象
研發(fā)的軟件經(jīng)過測試,能夠很好地實現(xiàn)預(yù)期的功能。包括對數(shù)據(jù)庫中數(shù)據(jù)的實時讀取、瀏覽器顯示以及故障判斷等預(yù)定功能。系統(tǒng)軟件的主要功能界面運(yùn)行效果如下。
1)系統(tǒng)主界面:
程序啟動后進(jìn)入登錄界面,輸入指定用戶名和密碼進(jìn)入主界面,可以看到主界面上4個主要功能模塊。
2)設(shè)備信息顯示:
通過點擊主界面上設(shè)備管理按鈕,可實現(xiàn)按廠家和設(shè)備類型對設(shè)備進(jìn)行查詢,也可查詢到一定時間段內(nèi)設(shè)備的實時狀態(tài)。
3)故障診斷和查詢:
軟件設(shè)定每隔一段時間自動訪問數(shù)據(jù)庫中的狀態(tài)信息表,提取新數(shù)據(jù),通過分析比較診斷出設(shè)備是否故障,然后將故障信息顯示到界面,同時該信息可導(dǎo)出至EXCEL表中。
設(shè)備管理軟件系統(tǒng)旨在對應(yīng)用于油井現(xiàn)場的數(shù)字化設(shè)備進(jìn)行系統(tǒng)的管理。軟件使得作業(yè)區(qū)和廠區(qū)級的管理人員可以獲得數(shù)字化設(shè)備的基本信息及其運(yùn)行狀況信息,統(tǒng)計分析故障產(chǎn)生原因,查看維修情況,從而保證數(shù)字化設(shè)備的上線率、準(zhǔn)確率、完好率,方便管理層能夠及時全面地掌握實時的實物資產(chǎn)狀況。所研發(fā)的系統(tǒng)軟件經(jīng)過測試,具有運(yùn)行良好、性能穩(wěn)定、功能齊全等特點,能夠很好地滿足油田現(xiàn)場對設(shè)備管理的要求。
[1] 徐進(jìn)明, 但正剛. JSP網(wǎng)站開發(fā)技術(shù), 清華大學(xué)出版社, 2007.
[2]李代平. Oracle 9i應(yīng)用系統(tǒng)開發(fā)技術(shù)[M]. 北京:冶金工業(yè)出版社, 2004.
[3] 賈素玲, 王 強(qiáng). JSP應(yīng)用開發(fā)技術(shù)[M]. 北京:清華大學(xué)出版社, 2009.
[4] 劉振杰, 何娟麗. 網(wǎng)頁制作技術(shù)[M]. 北京:人民郵電出版社, 2009.
[5] 張 偉. Java語言程序設(shè)計[M]. 北京:電子工業(yè)出版社, 2008.
[6] 沈應(yīng)逵. Java Web數(shù)據(jù)庫系統(tǒng)應(yīng)用開發(fā)與實例[M].北京:人民郵電出版社, 2004.
[7] Li D P. Application system development technology Oracle9I[M]. Metallurgical Industry Press, 2004.
Design and Development of Device Management Software for Oilfield
Song Song1,He Deping2,Zhang Shaohua2,Wang Shenghui2,Sun Wei1,Wang Yufeng1,Ding Dawei2,Liang Huaqing2
(1.Data center, North China Oil Field Branch, Renqiu 062552,China;2.College of earth physics and information engineering,China University of Petroleum, Beijing 102249,China)
The developed oil field equipment management system software can achieve the static information management, dynamic information management, statistical analysis of equipment operation and maintenance, and other functions. The development platform of the system is Eclipse in the Spring framework for developmend mode, using JSP to develop specific work. The database uses the enterprise-grade Oracle database, using the Hebernate framework to access the database can separate the code of implementing the business logic and accessing the database, which can make program structure more clearly and reduce the difficulty of software maintenance. This article introduces the key technology and main function modules of the system software in detail. The system has been deployed in the oil field which achieve the preliminary total life cycle management of intelligent remote terminal unit and guarantee the safe running of the equipment.
device management software; Oracle database; Spring frame; full life-cycle
2016-03-16;
2016-04-18。
國家發(fā)改委下一代互聯(lián)網(wǎng)技術(shù)在智慧油田的應(yīng)用示范項目(CNGI-12-03-043)。
宋 松(1984-),男,河北行唐人,工學(xué)學(xué)士,工程師,主要從事油田信息化方向的研究。
1671-4598(2016)09-0170-02
10.16526/j.cnki.11-4762/tp.2016.09.047
TP3
A