摘要:通過對儲層建模方法的研究,針對儲層建模軟件因為建模步驟復雜、地質知識要求高、操作困難而導致建模軟件雖然功能豐富卻難以使用的特點,提出了基于工作流技術的儲層地質分析系統。對儲層建模過程進行了分析,結合工作流技術設計分層的系統模型,并闡述了各個層的功能,最后通過面向對象的編程思想加以實現。
關鍵詞:儲層建模;工作流技術;工作流模型;儲層地質統計分析系統
中圖分類號:TP393文獻標識碼:A文章編號:1009-3044(2010)03-730-03
Research of Workflow Technology-based Geostatistical Analysis System of Reservoir
QU Xiao-na, HAN Jia-xin
(School of Computer, Xi'an Shiyou University, Xi'an 710065, China)
Abstract: Although the reservior modeling softwares have rich functions, they are hard to be used, because of modeling some complex steps, requiring the great geological knowledge and expertise, and the difficult operation. This article mainly studies the methods of reservior, and proposed based on the workflow technology reservoir geology analysis system. Has carried on the analysis to the reservoir modelling process, designed the layered system modeling with workflow technical and explained each level's function, realized finally through the object-oriented programming thought.
Key words: reservoir modeling;workflo;workflowmod;geostatistical analysis system of reservoir
儲層建模是一項綜合利用多學科知識再現儲層非均質性的技術。經過多年的發展和研究, 儲層建模技術已經得到地質學家及油田工程師的廣泛應用,但同時儲層建模又是一個復雜而專業的領域,在建模操作過程中,建模人員需要憑借自身經驗對各個建模環節加以干預,以便獲得理想的結果。然而即使建模人員是這一領域的專家,對某一問題的看法也很難確保不會有失全面性。而操作者的任何失誤都將直接影響最終結果的準確性這些阻礙了儲層建模軟件的應用和推廣,成為儲層建模軟件的瓶頸問題。正因為問題本身的復雜性和專業性,使得目前的一些儲層建模軟件(如RMS、GoCad等)功能豐富卻難以使用,它們大多都存在如下一些不足:1)建模流程復雜繁瑣;2)無法對重復但有細微參數變化的建模項目進行有效的管理、監控和記錄;3)由于某些建模模塊之間聯系緊密,當其中一個模塊某些建模參數發生變化時,相對應的某些模塊的建模參數也可能需要發生變化,從而導致建模結果出現錯誤;4)當某些新的建?;顒蛹尤氲秸麄€建模過程中時,就必須大量修改建模軟件的代碼。這些都暴露出人工建模效率低、出錯率高、結果可比性差、建模軟件適應性不強等缺點,也表明人工建模已經越來越不能滿足復雜儲層建模發展的需要了。
工作流技術在信息與計算機科學技術領域的發展中是一種比較新的技術。工作流概念起源于生產制造業與辦公自動化領域,其主要特點為過程的自動化,它要解決的主要問題是使多個參與者或模塊之間按照一系列預定義的過程規則傳遞文件、信息或任務來完成業務目標的過程自動進行[1]。隨著工作流技術的發展,它已經開始應用到地質與儲層建模領域。怎樣把復雜的儲層建模業務規則流程與工作流技術相結合,實現高效、自動化的建模過程是一個難點。本文以儲層地質統計建模為研究方向,把工作流技術結合其中, 從而有效解決建模中存在的問題,據此,本文提出了基于工作流技術的儲層地質統計分析系統的研究。
1 儲層建模過程模型
工作流(workflow)源自work+flow的組合。Work表示工作、任務,flow表示工作和任務的流動,也就是變化的過程。流的概念在物理學比較常見,如電流、水流、氣流等,后來這個概念被引申到各個領域以用以表示事務的變化及變化過程,如信息處理和傳遞過程的信息流等。因此,表示工作、任務的執行和變化的業務流程就是工作流。自從工作流技術開始進入人們研究視野,不同的研究者從不同的角度給出了工作流的定義。比較有代表性的為工作流管理聯盟(WFMC,Workflow Management Coalition)的定義:“由計算機支持或自動處理的全部或者部分業務過程。在其中,文檔、信息或任務根據一系列程序規則在不同的參與者之間傳遞與執行。”[2]
工作流的最大優點是實現了應用邏輯與過程邏輯的分離,因此可以在不修改具體功能實現的情況下,通過修改過程模型來改變系統功能,完成對部分業務過程或全部業務過程的集成管理,有效地把人、業務和應用工具合理的組織在一起,發揮系統的最大效能。
而儲層建模過程如果抽象看,也是一種特殊的業務過程,它也需要建模過程的自動化,也需要設計建模模型并加以描述。過程建模本身是面向任務的,我們首先通過活動網絡圖的工作流建模方法對建模業務流程進行過程建模,通過對儲層建模流程進行抽象,完成從實際建模過程到計算機可處理的形式化定義的轉化,所得到的定義通常也稱為過程模型或過程定義[3]。這個過程模型能夠清楚的描述一個儲層建模業務流程是怎樣進行的,并明確表達建模過程中活動間的關系,同時還需要對活動間的傳遞的數據、調用的外部應用、需要的外部數據等所需要的資源進行定義,這樣才能構成一個完成的建模業務過程模型(見圖1)。最后把過程建模形式化定義解釋為可被計算機處理的XML形式化描述[4]。儲層建模流程是一個多模塊參與的流程化建模過程,具體任務由一些特定的模塊和步驟協作完成。本文將整個建模過程劃分為不同的建?;顒?,以實現在建模過程中建模活動的合理分配和調度。
建立過程建模,這將帶來很多好處:1)通過建立過程模型,將對整個建模系統有一個全面的認識;2)對局部的建模過程可分別進行流程建模,這樣可以控制建模系統的復雜度;3)一個儲層建模業務流程模型可以包含多個局部不同的儲層建模流程,這將大大提高隨機建模的靈活性和擴展性。
2 基于工作流技術的儲層地質統計分析系統模型
工作流模型是對工作流的抽象表示,也就是對經營過程的抽象表示。工作流管理聯盟在總結和歸納了不同的工作流系統后,抽象出了一個高層次上的工作流體系結構—工作流參考模型,該模型詳細描述了工作流系統的有關概念,并在此基礎上給出了工作流管理系統的各主要組成部分、各部分的功能及相互之間的接口,進一步規范了各種工作流管理系統的結構,支持各種工作流產品在各個級別上的互操作[5]。
當然,如果把隨機建模過程完全生搬硬套到WFMS所定義的工作流參考模型上,以此來設計儲層地質統計分析系統的模型也是不合理的,因為每個行業都有其獨特的業務經營過程,而且側重點也不盡相同。所以我們需要對參考模型重新進行修改,并結合儲層建模的特點設計適合儲層建模系統需要的工作流模型,以滿足隨機建模的需要(見圖2)。
應用層:在儲層地質統計分析系統結構中,應用層是面向建模人員,它主要包括可視化工作流建模圖形設計工具。建模設計工具通過有向活動圖的形式對儲層建模的過程模型進行描述,設定或修改每一個建模活動狀態、運行方式、外部數據、外部應用調用等,并按照預先定義的建?;顒雨P系規則設定建模活動之間的關系。建模圖形設計工具功能包括:建模參數的設計定義,建模活動的設計定義,建模工作流的設計定義。應用層包含三種建模對象,分別為:變量、活動、工作流。建模對象之間屬于從屬依賴關系,既一個工作流包含多個活動或子工作流,一個活動又包含多個變量。變量為最基本單位,它是建模參數的集合。
服務層:服務層是儲層地質統計分析系統的重點,它通過XML數據接口訪問應用層,XML數據接口對應用層產生的XML工作流模型描述定義進行解釋,然后由工作流引擎加以實例化并運行。這中間的過程都會由工作流引擎以消息的方式傳遞給信息交互層,使建模人員隨時能了解建模的整個進程。該層包括:工作流引擎、XML解析器、外部應用。
信息交互層:實時通知建模人員整個建模工作流的運行狀況以及每一個活動運行中的處理結果。
3 儲層地質統計分析系統建模系統實現
3.1 可視化工作流圖形建模工具
通過建立一種直觀、可視化的工作流圖形建模工具,就能為儲層建模過程模型提供一個設計平臺,完成建模過程到計算機可處理的形式化定義的轉化,并輸出一個能被工作流引擎實例子化的過程定義。工作流過程建模工具設計的過程模型用來定義工作流的過程邏輯,它包括組成工作流的所有活動以及活動之間的依賴關系,它是整個工作流模型的基礎。在建模過程中對現實的建?;顒舆M行形式化描述并加以對象化。圖形化設計工具因為其界面友好、直觀而且易于理解,并嚴格定義組成有向圖的各類元素對象的行為特征,就可以明確建立建模過程到工作流模型的映射關系。利用該建模工具所提供的可視化建模環境,用戶可以根據實際的建模業務需要建立各種建模過程流程,最后系統將建立的過程定義模型以符合XPDL標準的格式保存為XML文件,傳遞給XML解析器,由解析器加以解釋后傳遞給工作流引擎,以便工作流引擎實例化執行,這樣就做到了把建模過程的定義與執行階段相分離。
當建?;顒恿飨驁D建立好后,我們需要來確定每一個活動的行為及屬性,一個建模流程的所有活動不能由建模人員從頭到尾進行設計,這是不現實的。建模人員承擔的責任是在已有的基礎流程之上調節一定的活動流動規則,增加一些擴展性的活動并確立其行為和屬性,這樣能夠提高建模的準確性并且能驗證新的建模算法。儲層建?;顒拥奶攸c是建模運算與建模數據的獨立性,這符合面向對象的思想,即行為的變化不影響數據的變化。因此采用外部應用的方式為活動選擇一定的行為,能夠靈活的改變活動運行方式,同時為整個建模工作流的擴展提供接口[6]。建模過程設計步驟:
1) 在工作流模型庫中選擇儲層建模工作流模板;
2) 通過建模設計器重新設計符合建模人員需求的建模工作流過程模型活動網絡圖;
3) 根據功能菜單設置活動,按照一定的建?;顒雨P系規則對建?;顒舆M行關聯,設置活動運行狀態、外部應用、外部資源引用。如果設置的活動節點之間關系不合理,系統會根據活動規則容器中的約束規則進行校驗后發出警告,并提示用戶重新選擇;
4) 對模型進行校驗;
5) 運行設計好的工作流模型。
3.2 工作流引擎
工作流引擎[7]是一種基于軟件的服務,它為工作流實例提供運行態的執行環境(單獨的或者與其它工作流引擎連接來提供服務)。
工作流引擎是定義、創建、執行工作流的軟件組元,它支持解釋過程定義,創建過程實例并控制其執行,調度各項活動,為用戶工作表添加工作項,通過應用程序接口(API)調用應用程序,提供監督和管理功能等[8]。
在儲層地質統計分析系統中工作流引擎是整個服務層的核心,它主要包括活動調度器、活動容器、活動列表、狀態檢查器,其工作流引擎結構(見圖3)。在建模工作流運行初始階段,工作流引擎首先對經過外部XML解析器解釋的能被工作流引擎所識別的儲層建模工作流記性實例化,然后把工作流實例中所包含的工作流建?;顒訉懭牖顒恿斜?,并建立與活動容器中的建?;顒拥挠成潢P系,這樣在工作流運行過程中,引擎中的活動調度器就能根據活動列表中的活動次序和關系分別從活動容器中實例化相對應的建?;顒?,并執行活動。在活動執行過程中,活動調度器通過狀態檢查器對建模活動進行監控,并隨時把建模信息反饋給應用層的建模人員。
活動容器中的建模活動分為兩類,一類是建模行為靈活、變化快、獨立性強的活動,它們需要通過接口調用外部應用實現行為的多態性。包括:
1) 三維顯示,顯示隨機模擬(指示主成分、截斷高斯、有沉積相控制、無沉積相控制)后的三維結果;實現三維圖像的旋轉、平移、剖切、剝層顯示等操作。
2) 二維顯示,二維網格化數據的顯示主要有各類等值線的繪制。例如等高線、孔隙度等值線、滲透率等值線、含油飽和度等值線以及泥質含量等值線。
3) 儲量分析,獲得了層厚、孔隙度、滲透率、含油飽和度等參數的空間分布后,就可以計算天然氣儲量或原油儲量。計算儲量有時需要以滲透率作為判斷有效層的依據,所以儲量也與滲透率的空間分布有關。儲量計算可在指定的邊界范圍內進行[9]。
3.3 工作流運行關鍵技術實現
class WorkflowProcess//工作流對象
class CModelActivity //建模活動對象
class CWorkFlowEnginer //工作流引擎對象
Result CWorkFlowEnginer::RunWorkFlow(WorkflowProcess* workflow) //運行工作流
{RunResult runResult;
CheckResultcheckResult;
list
for (list
{CModelActivity* actObj = *act;
checkResult =actObj ->ConditionCheck(); //狀態檢查
if(!checkResult.Result) { returncheckResult; } //活動狀態檢測錯誤
Result=logger->Monitor(actObj ->Run()); //活動運行監控
if(!Result.Result){returnResult; } //該建?;顒邮?/p>
}}
4 結束語
本文設計并實現了基于工作流技術的儲層地質統計分析系統,為儲層建模搭建了有效的和可行的運行、管理和監控平臺,真正實現了建模業務的自動化管理。該系統具有很多優點,如建模流程定義簡單直觀、建模流程控制靈活、具有較強的適應性和可擴展性,同時使得儲層建模技術在管理水平上有了很大的發展,降低了建模成本,為儲層建模開辟了新的思路,也為祖國石油事業做出更大的貢獻。
參考文獻:
[1] Workflow Management Coalition.The workflow reference,model[EB/OL].1995.http://www.wfmc.org.
[2] WfMC.The Workflow Reference Model[R].WfMC-TC00-1003,Technical Report,Hampshire:Workflow Management Calition,1995.
[3] C A Ellis,G J Nutt.Modeling and enactment of workflow sys-tem[J]. Application and Theory of Petri Nets,1994,4(5):116.
[4] Jablonski,Bussler.Workflow management-modeling,concepts,architecture and implemention[M].International Thomson Com-puter Press,1996.
[5] Diimitrios Geoggakopoulos,Mark Hornick,Amitshet.An over-view of workflow management:From process modeling to work-flow automationinfras tructure[EB/OL].1995.http://lsdis.cs.uga.edu.
[6] Workflow Management Coalition.Workflow process definition interface[EB/OL].2002.http://www.wfmc.org.
[7] 何清法,李國杰,焦麗梅,劉力力.基于關系結構的輕量級工作流引擎.中國科學院計算技術研究所,2004.
[8] Russell, N.; Hofstede, A. H. M. t.; Edmond, D.; van der Aalst, W. M. P. Workflow Data Patterns: Identification, Representation and Tool Support. LECTURE NOTES IN COMPUTER SCIENCE. 01-Jan-2005. Electrnic Journal ServiceSpringerLink China Consortia.
[9] 王家華,高海余,周葉.可里金地址繪圖技術—計算機的模型和算法[M]北京:石油工業出版社,1999:45-112.