《電子技術應用》
您所在的位置:首頁 > 其他 > 設計應用 > 基于MVC模式的油田開發(fā)分析系統(tǒng)的設計與實現(xiàn)
基于MVC模式的油田開發(fā)分析系統(tǒng)的設計與實現(xiàn)
來源:微型機與應用2012年第3期
爨 瑩1,朱航洲1,李 媛2
(1.西安石油大學 計算機學院,陜西 西安 710065; 2.陜西省生產(chǎn)力促進中心,陜西 西安 7
摘要: 采用MVC模式設計并開發(fā)了水驅油田開發(fā)分析系統(tǒng)。經(jīng)實踐證明,該系統(tǒng)能滿足油田管理人員、現(xiàn)場施工作業(yè)人員的要求,可為其提供及時有效的信息。
Abstract:
Key words :

摘  要: 采用MVC模式設計并開發(fā)了水驅油田開發(fā)分析系統(tǒng)。經(jīng)實踐證明,該系統(tǒng)能滿足油田管理人員、現(xiàn)場施工作業(yè)人員的要求,可為其提供及時有效的信息。
關鍵詞: MVC模式;油田開發(fā);動態(tài)分析系統(tǒng)

 油田開發(fā)動態(tài)分析在整個油田開發(fā)生產(chǎn)過程中具有重要的地位,是保證科學高效地開發(fā)油田、保持油田高產(chǎn)穩(wěn)產(chǎn)、提高油田最終采收率的基礎。油田開發(fā)分析系統(tǒng)的設計與實現(xiàn)可以幫助地質(zhì)工作者應用靜動結合的方法,分析認識油藏開發(fā)水驅規(guī)律、科學總結歷史經(jīng)驗、高效率研究開發(fā)生產(chǎn)現(xiàn)狀及動態(tài)變化特征、科學評價開發(fā)效果,為開發(fā)決策提供準確分析信息支持,從而實現(xiàn)油田開發(fā)生產(chǎn)良性循環(huán)。
1 系統(tǒng)分析
 本文是針對安塞油田開發(fā)的分析系統(tǒng),其功能模塊如圖1所示。系統(tǒng)的主要功能包括:數(shù)據(jù)采集、數(shù)據(jù)查詢、報表生成、單井分析、井組分析、區(qū)塊分析和系統(tǒng)管理。

 數(shù)據(jù)采集模塊包括:開發(fā)靜態(tài)和動態(tài)數(shù)據(jù)、動態(tài)監(jiān)測、分析化驗、井下作業(yè)、儲量、方案規(guī)劃、采油管理、油氣集輸、成果等數(shù)據(jù)的采集。
 數(shù)據(jù)查詢模塊包括:單井靜態(tài)數(shù)據(jù)、單井動態(tài)日數(shù)據(jù)查詢、單井動態(tài)月數(shù)據(jù)查詢、單井動態(tài)年數(shù)據(jù)查詢;井組動態(tài)日數(shù)據(jù)查詢、井組動態(tài)月數(shù)據(jù)查詢、井組動態(tài)年數(shù)據(jù)查詢;區(qū)塊動態(tài)日數(shù)據(jù)、區(qū)塊動態(tài)月數(shù)據(jù)查詢、區(qū)塊動態(tài)年數(shù)據(jù)查詢[1]。
 報表生成模塊包括:油田開發(fā)綜合數(shù)據(jù)表、油田產(chǎn)量構成數(shù)據(jù)表。
 單井分析模塊包括:單井概況[2]、動態(tài)數(shù)據(jù)表、鉆井數(shù)據(jù)、小層數(shù)據(jù)、射孔數(shù)據(jù)、壓裂數(shù)據(jù)、修井數(shù)據(jù)、測壓數(shù)據(jù)、產(chǎn)出剖面、吸水剖面、注水指示曲線、日動態(tài)、月動態(tài)進行分析與查詢。
 井組分析模塊包括:井組概況、曲線分析[3]、開發(fā)現(xiàn)狀分析、小層連通進行分析[2]。
 單元分析模塊包括:單元概況、綜合曲線分析、油水構成分析[4]、開采現(xiàn)狀分析、措施效果分析[5]、產(chǎn)量變化分析、等值圖分析[6]等。
    系統(tǒng)管理模塊包括:用戶權限、日志、報表系統(tǒng)定制、參數(shù)、密碼維護等的管理。
2 系統(tǒng)設計
2.1 MVC模式

 MVC模式(Mode-View-Controller)把應用程序分為模型、視圖和控制三層。模型是應用程序使用對象的完整表示;視圖是用戶交互的界面;控制器用于處理用戶和應用程序的交互操作。采用MVC模式具有如下優(yōu)點:(1)顯示與業(yè)務分離,易于程序維護[4];(2)模型可移植性好,一個模型在運行時可以建立和使用多個視圖[4];(3)有利于軟件工程化管理。
本系統(tǒng)的MVC(模型/視圖/控制)模式在表示層實現(xiàn),如圖2所示。

2.2 系統(tǒng)架構設計
 安塞油田開發(fā)分析系統(tǒng)的設計本著靈活、可擴展、開放、安全的基本原則,系統(tǒng)的組織結構采用B/S架構,設計模型遵循MVC模式。整體體系采用分層模式設計,以提高系統(tǒng)的靈活性。如圖2所示,系統(tǒng)在整個結構上分為三層,三層之間相互獨立,層與層之間通過接口通信。表示層的設計基于MVC模式,依據(jù)業(yè)務邏輯層,展現(xiàn)系統(tǒng)功能、提供用戶的交互界面和業(yè)務邏輯控制。業(yè)務邏輯層提供系統(tǒng)的基本業(yè)務邏輯管理和擴展業(yè)務邏輯管理。基本業(yè)務邏輯提供最基礎和核心的系統(tǒng)信息,包括界面組成的信息、界面的數(shù)據(jù)信息、界面的元數(shù)據(jù)信息。擴展業(yè)務邏輯提供相關業(yè)務領域的邏輯,包括報表、分析等。數(shù)據(jù)訪問引擎提供了統(tǒng)一的數(shù)據(jù)模型,為上層訪問數(shù)據(jù)提供一致的接口,在驅動引擎方面,提供了可擴展接口,以滿足不同需要。此層提供了兩個層次的服務:用戶數(shù)據(jù)訪問服務和系統(tǒng)管理數(shù)據(jù)(元數(shù)據(jù))訪問服務。
2.3 系統(tǒng)數(shù)據(jù)庫設計
 系統(tǒng)使用Oracle數(shù)據(jù)庫,系統(tǒng)涉及的數(shù)據(jù)表包括開發(fā)靜態(tài)和動態(tài)數(shù)據(jù)、動態(tài)監(jiān)測數(shù)據(jù)、分析化驗數(shù)據(jù)、井下作業(yè)數(shù)據(jù)、方案規(guī)劃數(shù)據(jù)、采油管理數(shù)據(jù)、油氣集輸數(shù)據(jù)、儲量數(shù)據(jù)、成果數(shù)據(jù)等共計179張表。數(shù)據(jù)庫表分類統(tǒng)計如表1所示。

 

 

 系統(tǒng)數(shù)據(jù)庫設計引入中間數(shù)據(jù)庫。油田開發(fā)生產(chǎn)過程中所產(chǎn)生的數(shù)據(jù)(包括靜態(tài)數(shù)據(jù)、動態(tài)數(shù)據(jù)、測試數(shù)據(jù)等)通過導入或手工錄入的方式加載到開發(fā)分析系統(tǒng)數(shù)據(jù)庫。為了提高系統(tǒng)查詢性能,系統(tǒng)引入了中間數(shù)據(jù)庫。中間數(shù)據(jù)庫的數(shù)據(jù)是面向分析和業(yè)務領域的數(shù)據(jù),它是通過對基礎數(shù)據(jù)在后臺進行匯總得來的數(shù)據(jù)。油田開發(fā)分析過程中所使用的數(shù)據(jù)可直接從中間數(shù)據(jù)庫提取,無需從基礎數(shù)據(jù)庫計算得到,從而提高了系統(tǒng)的查詢速度。
 系統(tǒng)引入元數(shù)據(jù)模型對數(shù)據(jù)字典進行管理,以增加系統(tǒng)設計的靈活性。
2.4 系統(tǒng)接口設計
 系統(tǒng)整體設計為框架系統(tǒng),由系統(tǒng)組織與控制層整合每個層面,每個層面都有自己的擴展機制,以滿足系統(tǒng)未來不同側面的需求。數(shù)據(jù)引擎層提供了各種不同驅動類型的擴展;業(yè)務層提供了不同業(yè)務領域的業(yè)務邏輯擴展;表示層提供了不同業(yè)務領域的界面擴展。其目的是使核心層(系統(tǒng)框架層)與業(yè)務層隔離,保證系統(tǒng)良好的伸縮性。系統(tǒng)從整體到部分,處處都體現(xiàn)了這種核心設計理念。每一個層面的主要功能如下:
 (1)IlayOut接口:表示層接口,負責提供核心控制器,將界面調(diào)用信息轉發(fā)到業(yè)務邏輯層及其他層來處理;控制器將業(yè)務邏輯層數(shù)據(jù)顯示在界面上;對系統(tǒng)界面提供管理和服務,為每一個組件(界面組件)注冊相應的系統(tǒng)服務,使組件能得到正確的服務,為組件實例化提供數(shù)據(jù)。表示層設計使用MVC設計模式將數(shù)據(jù)和邏輯強制分離,以便于程序的維護。
 (2)IServer接口:系統(tǒng)業(yè)務邏輯基礎層接口,此接口提供了注冊服務,獲取服務的基本功能。其他擴展服務需要注冊到系統(tǒng)中來,由系統(tǒng)統(tǒng)一管理,為上層提供服務。此外,IServer接口還包含了IInfoDispath接口和IDataConstitution接口,通過這兩個接口公布系統(tǒng)另外層面的信息。其中,IInfoDispatch接口提供界面的構成信息,包括用戶當前界面由哪些頁面(或頁面元素)組成,每一個頁面的具體信息內(nèi)容。IDataConstitution接口提供用戶數(shù)據(jù)的管理信息(元數(shù)據(jù)),如表的中文名稱、更新語句、字段信息(如字段的類型、大小、是否統(tǒng)計、是否轉換、是否多值等)。
 (3)IServerEx接口:系統(tǒng)的相關業(yè)務領域邏輯,如:報表業(yè)務邏輯、數(shù)據(jù)分析業(yè)務邏輯、數(shù)據(jù)審核業(yè)務邏輯、系統(tǒng)管理業(yè)務邏輯。
 (4)IdataAcess接口:用戶數(shù)據(jù)服務接口,提供用戶數(shù)據(jù)查詢、數(shù)據(jù)更新服務。
 (5)ImetaData接口:系統(tǒng)數(shù)據(jù)服務接口,提供系統(tǒng)信息,如系統(tǒng)的組織信息、權限信息等。
3 系統(tǒng)實現(xiàn)
 本系統(tǒng)實現(xiàn)基于B/S架構,采用MVC模型。其主要接口實現(xiàn)技術如下:
 (1)表示層接口ILayout實現(xiàn)
 接口ILayout由LayOutManager實現(xiàn),LayOutManager負責管理系統(tǒng)的三個方面:視圖TempLate、控制器(包括核心控制器Controller和擴展控制器ControllerEx)、模型model。例如,在數(shù)據(jù)錄入界面中,所有可供選擇的下拉框中的數(shù)據(jù)由model負責加載,用戶錄入?yún)^(qū)域由TempLate實例化。其中:
視圖TempLate模板:是用戶操作區(qū)的抽象,管理著各種BrowseEditor的集合和BrowseEditor之間的界面關系,類似于HTML中的FrameSet,負責分割用戶操作區(qū)的界面、管理界面之間的外觀次序等。
BrowseEditor瀏覽編輯器:抽象類TempLate中的每一個界面由BrowseEditor的派生類完成。
MiulitPage多頁組件:BrowseEditor的子類,完成多頁容器邏輯。如日數(shù)據(jù)錄入的主錄入?yún)^(qū)。
SimplePage單頁組件:BrowseEditor的子類,完成單頁容器邏輯。如日數(shù)據(jù)錄入的副錄入?yún)^(qū)。
控制器:由核心控制器Controller類和擴展控制器ControllerEx類實現(xiàn)。
模型:由數(shù)據(jù)引擎層實現(xiàn)。
 (2)業(yè)務邏輯層接口IServer實現(xiàn)
 IServer接口由核心服務類SeverManager實現(xiàn),SeverManager管理系統(tǒng)所有的服務,實現(xiàn)IServer接口、服務的注冊、服務的提供。SeverManager本身只是其他服務的管理者,不提供任何具體的服務,即使是頁面基礎服務和用戶數(shù)據(jù)模型服務都只是簡單的代理,具體由類InfoDispatch和類DataConstitution來完成。
InfoDispatch:信息分發(fā),是系統(tǒng)功能關于頁面的信息,包含頁面構成、頁面類型,如單頁面或多頁面。
DataConstitution:數(shù)據(jù)構成信息,系統(tǒng)功能下表、字段及相關的信息。
 (3)數(shù)據(jù)引擎層IdataAccess和ImetaData的接口實現(xiàn)
 數(shù)據(jù)引擎層包括兩個部分:用戶數(shù)據(jù)訪問和系統(tǒng)數(shù)據(jù)訪問(元數(shù)據(jù)訪問)。把這兩層統(tǒng)一在數(shù)據(jù)層封裝起來,為上層提供一致的數(shù)據(jù)訪問服務,同時把數(shù)據(jù)訪問與業(yè)務邏輯分離,如圖3所示。數(shù)據(jù)引擎設計的原則是用戶接口簡單、使用方便,因此內(nèi)部使用了連接池和緩沖池,以提高效率。DataDEManager類同時實現(xiàn)了IdataAccess和ImetaData兩個接口,為用戶提供數(shù)據(jù)的訪問和系統(tǒng)數(shù)據(jù)的訪問,DataDEManager把最后組織好的結果提交給用戶,使用戶不必關心數(shù)據(jù)提取的整個過程。在數(shù)據(jù)引擎層,還實現(xiàn)了以下與數(shù)據(jù)庫管理相關的類:


 MetaData:通過XmlCon連接提取系統(tǒng)數(shù)據(jù)(元數(shù)據(jù))。
 XmlCon:XML文件連接類。
 UserDataSet:對各種數(shù)據(jù)庫相關組件進行封裝,提供統(tǒng)一的訪問界面。
 ThreadPool:線程池。
 DataThread:提取數(shù)據(jù)的具體線程。
 ConnectPool:連接池。
 OraCon:Oracle數(shù)據(jù)庫連接封裝。
 AdoCon:ADO連接封裝。
 OleCon:OLE對象連接封裝。
 系統(tǒng)實現(xiàn)如圖4所示。


 本文介紹了MVC模式及其優(yōu)點,并運用MVC模式開發(fā)了安塞油田開發(fā)分析系統(tǒng)。該系統(tǒng)能夠滿足廣大地質(zhì)工作者日常工作中數(shù)據(jù)查詢和分析的要求,使他們從繁忙的數(shù)據(jù)統(tǒng)計分析中解脫出來。經(jīng)實踐證明,系統(tǒng)基本滿足油田開發(fā)管理需求,對提高油田決策提供信息支持,為節(jié)約油田開發(fā)成本、提高油田競爭力起到重要的作用。
參考文獻
[1] 田躍輝,李娟,李亞,等.油氣田開發(fā)動態(tài)規(guī)律的分析方法研究與應用[J].內(nèi)蒙古石油化工,2009(19).
[2] 李繼園,劉展,孟令奎.鉆井柱狀圖可視化查詢系統(tǒng)的設計與實現(xiàn)[J].地理空間信息,2009(5).
[3] 江厚順,張祎.高5塊低滲油氣田產(chǎn)量預測方法分析[J].天然氣地球科學,2010(3).
[4] 葛文庚,郭斐斐.基于MVC的物流管理信息系統(tǒng)的設計與實現(xiàn)[J].電腦知識與技術,2010(8).
[5] 劉春林,肖偉.油田水驅開發(fā)指標系統(tǒng)及其結構分析[J].石油勘探與開發(fā),2010(3).
[6] 檀朝東.油氣井與油氣田開發(fā)動態(tài)分析技術[M].北京:中國石油大學,2010.
 

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權禁止轉載。
主站蜘蛛池模板: 欧美国产日韩a在线观看| 久久综合狠狠综合久久97色| 日本高清免费不卡在线| 亚洲自偷自拍另类图片二区| 韩国r级2020年最新| 国产综合无码一区二区色蜜蜜 | 男女抽搐动态图| 国产乱子伦在线观看不卡| 1000部精品久久久久久久久| 娇喘午夜啪啪五分钟娇喘| 久久无码人妻一区二区三区午夜| 欲乱美女诗涵番外5| 别揉我奶头~嗯~啊~视频在线观看| 韩国无遮挡羞羞漫画| 国产精品无打码在线播放| vvvv99日韩精品亚洲| 无翼日本全彩漫画大全全彩 | 精品国产一区二区三区不卡在线| 国产在线无码视频一区| 18禁黄网站禁片无遮挡观看| 女邻居拉开裙子让我挺进| 中韩日产字幕2021| 日韩电影免费在线观看视频| 亚洲成a人片在线不卡| 王雨纯脱得一点不剩| 午夜精品久久久久蜜桃| 调教羞耻超短裙任务| 国产激情在线观看| 91精品国产网曝事件门| 好大好猛好深好爽视频| 中文字幕永久更新| 日韩a一级欧美一级在线播放| 亚洲免费人成视频观看| 波多野结衣mxgs-983| 免费观看美女裸体网站| 老子影院午夜精品欧美视频| 国产性一交一乱一伦一色一情| **aaaa**毛片在线播放| 在线精品自拍亚洲第一区| 一区二区三区中文字幕| 成人毛片免费在线观看|