任偉建,左方晨,黃麗杰,王春蕾,孫寶翔,霍鳳財
(東北石油大學 電氣信息工程學院,黑龍江 大慶 163318)
目前,機采井管理過程采用傳統的人工管理方式,存在工作量大、效率低、交叉查詢繁瑣和維護困難的問題。在審批過程中,工作人員需要多次往返于不同部門之間耗時耗力。隨著工作量的逐漸增加和管理模式的不斷細化,機采井管理方式急需改進,配備一個對大量數據信息進行綜合處理的動態管理系統已成為迫切需要。近年來,隨著ASP(Active Server Pages).NET技術的迅猛發展,數以萬計的ASP.NET網站應用于制造、醫療、零售等領域。Microsoft ASP.NET技術體系方面的主要研究方向: A是SP. NET技術在實際項目中的簡便開發,典型設計模式在Web開發中的運用[1]。目前,沒有一種比較先進的系統應用到機采井的動態管理中,因而筆者設計了一種基于ASP.NET技術結合多數據融合技術、工作流驅動技術的機采井動態管理系統,該系統立足現有的管理習慣和工作流程,將單井靜態設備信息引入到單井動態數據庫,最終形成一套完整的單井動、靜態數據庫,并結合數據的自動統計和圖形、曲線的可視化顯示,實現機采井綜合數據信息的查詢、導出和打印功能,并對異常數據進行分析篩查和超限提醒。工作人員通過不同的訪問權限,進入相應的管理界面,完成調參、壓裂、堵水、大修等計劃及問題井核實單上報、審批等業務流程,根據生產情況完成措施井的數據錄入,由系統對數據進行效果分析,使工作人員對機采井的運行情況一目了然,實現機采井動態管理的實時性和高效性。
ASP是動態服務器頁面微軟公司的技術之一,是一種使嵌入網頁中的腳本可由因特網服務器執行的服務器端腳本技術,運行于 IIS 之中的程序[2-5]。ASP.NET使用控件進行開發,根據應用程序的具體需要在窗體中添加合適的控件,對控件的事件和屬性進行編寫就可以實現所需要的功能[6-8]。ASP.NET具有程序代碼獨立、組態部署與組態操作簡單、可擴展性良好、機制安全、執行效率高、數據庫存儲模型先進等特點[9]。
ASP.NET的執行原理: 當用戶使用Web瀏覽器請求訪問ASP.NET文件時,Web服務器響應請求,調用ASP.NET引擎來執行ASP.NET文件,并解釋其中的腳本語言(JavaScript或VBScript),通過ODBC鏈接數據庫,由數據庫訪問組件ADO(ActiveX Data Objects)完成數據庫操作,最后ASP.NET生成包含有數據處理結果的HTML主頁返回瀏覽器顯示[10]。ASP.NET工作原理如圖1所示。

圖1 ASP.NET工作原理示意
該系統采用ASP.NET技術,開發環境為Windows Server 2003(sp4)+IIS6.0+Oracle 11g。網頁框架、布局設計以及靜態網頁部分的開發工具為Visual Studio 2008,圖像處理使用Photoshop軟件。
機采井動態管理系統分為三大功能模塊: 動態管理模塊——通過建立單井動、靜態數據庫,對數據進行查詢、統計、異常提醒、導出、打印等操作,并以圖形或曲線的形式呈現出來,實現機采井數據信息的動態管理;審批功能模塊——根據工作人員的不同權限,實現措施井計劃及問題井核實單的上報、流轉和審批等業務流程;措施管理模塊——完成措施井的數據錄入及效果分析。系統功能架構如圖2所示。

圖2 系統功能架構示意
2.2.1動態管理模塊
動態管理模塊分為沉沒度管理、指標統計、異常井提醒、單井信息查詢、機采井設備選值本五部分。
1) 沉沒度管理通過選定查詢范圍與年月,顯示相應條件下的沉沒度大于上限、小于下限、介于正常范圍的機采井情況,自動篩查潛力井(沉沒度介于正常范圍的井),上、下限數值可以在沉沒度自由分級的TextBox中由用戶自行定義。進入井史查詢可以查看機采井歷史數據、歷史運行狀態及隨數據變化的圖形圖表。用戶根據數據信息,手動對機采井進行分類,添加對策,并可以將修改后的數據批量保存并導出為Excel形式,如圖3所示。
2) 指標統計應用了復雜SQL語句和數據的可視化展示技術。由基礎SQL語句復合嵌套、排列組合而成的復雜SQL語句對Oracle數據庫中的機采井指標進行定制查詢,將沉沒度分級情況以表格形式顯示在GridView控件中。利用數據的可視化展示技術將統計結果以圖形、曲線的形式展示出來,具體的圖表、曲線應用OWC(Office Web Components)控件實現。OWC是Microsoft Office使用的數據綁定ActiveX控件,用于向Web頁添加圖表功能。指標統計表會隨同圖形、曲線發布,圖形、曲線隨著數據的變化而改變,用戶可以準確、直觀地獲取生產數據信息,并根據數據變化趨勢作出相應的分析和決策。圖4所示為數據的可視化展示。
3) 異常井提醒自動分析每月單井動態數據,對異常數據進行提醒。一方面,實時數據的信息量大、屬性不確定,在Oracle的運行過程中,對警告日志文件(alert_SID.log)設置數據庫記錄,DBA通過定期檢查日志文件,發現數據中存在的問題并及時處理。另一方面,由工作人員設定指標的變化范圍,自動提取數據超出設定范圍的機采井動態信息,實時監控數據變化。

圖3 沉沒度管理界面

圖4 數據的可視化
4) 單井信息查詢采用多數據融合技術,將單井靜態設備信息引入到單井動態數據庫,最終形成一套完善的單井動、靜態數據的數據庫,完成設備、作業情況等各項數據引用和維護,并使設計所需數據以固定格式直接提取,解決了數據繁多、信息超載的問題。
5) 機采井設備選值本通過選定需要查詢的井號及選值本的正反頁,顯示該井歷月信息,完成數據的批注及編輯后,利用B/S結構下多頁文本后臺正反頁打印技術,通過水晶報表生成打印的模板,對相應的報表模板解析出預定義在模板中的select語句,生成相應的數據集。對預留在報表模板中的用于篩選數據的查詢接口字段進行解析,動態地生成篩選頁面,根據用戶輸入的篩選條件對生成的數據集中的數據進行過濾,用過濾好的數據填充報表模板并生成所需要的報表文件。在本地對報表文件進行解析,然后根據解析出的不同標簽,執行不同的打印操作,直接控制本地打印機進行打印輸出,以此將機采井設備選值本按正反頁打印并裝訂存檔,以便查閱。
2.2.2審批功能模塊
在機采井管理過程中,措施井計劃與問題井核實單采用傳統的紙張表單,通過手工傳遞、逐級審核下發工作計劃,浪費了大量人力、物力及工作時間,效率非常低下,筆者采用工作流驅動技術實現措施計劃上報與問題井核實的審批流程。工作流是工作流程的計算模型,即將工作流程中的工作組織邏輯和規則在計算機中以恰當的模型進行表示并對其實施計算,通過分析各個模塊工作流程及數據,得出工作流驅動的模型[11-13],其體系結構如圖6所示。工作流參考模型可以抽象地表示工作流管理系統的功能組成部件和接口,建立起互動操作的公共平臺。由圖5可以看出,工作流管理系統主要由過程信息、組織信息和資源信息三部分組件構成[14-16]。過程信息用來定義和描述工作流的過程邏輯,是整個工作流模型的基礎與核心;組織信息為組織結構建模,表述工作流模型中有關人員的視圖和內部層次關系[17];資源信息用來定義工作流運行過程中需要用到的數據。

圖5 工作流驅動模型示意
審批流程可以根據用戶應用中流轉方向的不同進行個性化定制,從而體現出流程的靈活性。主要包括如下的功能:
1) 計劃管理。具有系統管理權限的人員既可以查詢目前所有的工作流程,又可以發起一個新的工作流程。每個上報計劃根據其具體工作流轉方式的不同,可以確定出該計劃此時是未上報、已上報、未審核、已審核等幾個狀態。操作人員根據自己的權限進行工作計劃的擬寫、簽發、審核、許可等工作,使工作計劃在工作流模式下逐級完成。
例如采油礦人員填寫問題井核實單后,一經上報,該核實單將更新為已上報狀態的工作計劃,系統自動更新上報時間并將工作計劃轉移到未審批中并限定審批時限。采油礦副隊長接收到工作計劃審批任務后,將在規定時間內給出批示意見,如果同意則系統更新工作計劃的審批時間和狀態為已審批,并將工作計劃提交至工程技術人員,如果不同意則系統更新工作計劃的審批時間和狀態為待修改,并將工作計劃返回到采油礦人員處,采油礦人員將修改問題并重新上報問題井核實單。該工作計劃在經由采油礦副隊長、工程技術人員和工程技術副主任審批通過后才能歸檔。
2) 系統管理。該功能實現了用戶信息管理和權限設定。新發起流程中由幾個節點組成,每個節點由某個具有權限的人來承擔,均可以根據需求個性化定制。根據工作流的特點,根據系統權限設置的不同,系統呈現給用戶的菜單及功能也不相同,因此系統可以根據需求進行定制化使用,同時可以進行數據的錄入和維護以及人員信息、人員權限及部門信息的錄入、刪除、修改等管理。
2.2.3措施管理模塊
措施管理采用Ajax頁面無緩存刷新技術,在客戶端和服務器之間添加了1個中間層——Ajax引擎,使用戶操作與服務器響應異步化。Ajax引擎可以通過基于XML的WebServices接口僅向服務器發送并取回必需的數據,并在客戶端采用JavaScript函數處理來自服務器的響應。在措施錄入和效果分析中,只有確定需要從服務器讀取新數據時再由Ajax引擎代為向服務器提交請求,解決了措施管理過程中操作響應速度慢、重載頁面的問題。
措施管理模塊分為措施錄入和效果分析兩部分, 措施錄入自動提取完成審批的措施井,工程技術人員通過選定措施錄入的井號,顯示需要進行調參、壓裂、堵水、大修的措施井基本信息,根據措施的設計及完成情況,依次完成措施井的設計錄入、開工錄入、完工錄入,將錄入的措施情況和時間存入數據庫中,對規定期限內未完成的井進行提醒和報警。對于已完工的措施井,需要進行措施井效果錄入,在歷史數據中人工選定合適的生產數據作為措施前數據,同時將完工月份的下一個月機采井數據作為措施后數據以便進行效果統計,用戶可以查詢某一日期范圍內措施井的完成情況,如圖6所示。效果分析通過對措施井的生產狀況進行動態跟蹤,將措施后效果錄入數據與措施前人工選定的生產數據比對,實現自動效果統計。

圖6 壓裂井及施工情況管理界面示意
筆者研發的機采井動態管理系統,是在ASP.NET平臺上結合機采井管理需求開發的標準化系統。通過分析機采井數據管理和審批流程開發出來的機采井動態管理系統,結合多數據融合技術,利用OWC服務器控件,實現機采井指標的實時查詢、自動統計、超限報警、圖形展示和導出打印等功能;利用工作流驅動技術,通過分析審批流程數據,得出工作流驅動的模型,實現調參、壓裂、堵水、大修的措施計劃及問題井上報和逐級審批,完成對措施井信息的動態管理及效果分析;審批流程可以根據用戶應用中流轉方向的不同進行個性化定制,從而體現出流程的靈活性。該系統讓用戶直觀、方便、快捷地了解機采井的運行狀態,為油田生產提供數據支持。使用單位通過使用該系統實現對機采井信息化、可視化、實時化,切實地提高了機采井動態管理水平。
參考文獻:
[1] 尚肖飛.基于ASP.NET高職院校教務管理系統的設計與實現[D].哈爾濱: 黑龍江大學,2011: 2-5.
[2] 東名.ASP.NET動態網頁設計高手[M].北京: 清華大學出版社,2001: 21-35.
[3] LI Taihuan, FENG Wei. Design and Implementation of Blood Management System Based on B/S [J]. Journal of Capital Medical University, 2010, 31(06): 821-823.
[4] 寧晨凱.基于C/S和B/S相結合的高校成教信息管理系統設計[J].科技創新導報,2010(02): 254-255.
[5] 陳艷華,付瑞鋒,單黨育.ASP.NET 2.0+SQL Server網絡系統開發與實例[M].北京: 人民郵電出版社,2008: 36-38.
[6] 郭慧爽.Web應用系統測試的研究[J].棗莊學院學報,2012,29(02): 63-65.
[7] XIANG Caifeng, ZHANG Yueheng. Design and Implemen-tation of Enterprise Purchase Sale Storage Management Information System Based on ASP.NET [J]. China Management Information, 2011, 14(03): 35-36.
[8] 韓穎,衛琳,陳偉.ASP.NET 3.5動態網站開發基礎教程[M].北京: 清華大學出版社,2010: 65-82.
[9] 梅中輝,經亞枝.NET技術中的數據訪問技術——ADO.NET [M].微計算機信息,2003,19(01): 70-71.
[10] ARDESTANI K, KOFFMAN K.高效掌握ADO.NET: C#編程篇[M].張哲峰,譯.北京: 清華大學出版社,2003: 36-44.
[11] 毛根生,毛波影,王丹亞.文檔管理系統中的工作流技術[J].浙江大學學報(工學版),2000,34(01): 60-64.
[12] 王志曉,呂林濤,門文耀.基于ASP.NET技術和工作流模型的網上審批系統[J].計算機工程,2004,30(17): 83-84.
[13] 胡錦敏,戚克濤,張申生.敏捷供應鏈系統的工作流實現方案[J].上海交通大學學報,2000(10): 1325-1329.
[14] 胡華,宋荷慶,王回進.面向Web的工作流管理[J].計算機工程與設計,2002(04): 31-33.
[15] 張濤,戰洪飛,孫靜,等.基于Web的企業工作流管理系統的研究[J].計算機應用研究,2002(05): 130-133.
[16] 羅海濱,范玉順,吳澄.工作流技術綜述[J].計算機應用,2002,20(05): 34-39.
[17] 胡衛軍,陳傳波.通用工作流管理模式的分折與研究[J].計算機工程與應用,1999,7(03): 32-34.