[摘 要] 隨著A1系統在油田的推廣和應用,EPDM模型作為A1系統的數據模型,已經成為油田數據庫建設的重要依據,其成果已廣泛地應用在勘探開發地質研究與油田生產開發工作中。本文從用戶的角度出發,以方便快捷地查詢和批量維護A1數據庫為目標,研究了EPDM模型數據表間的約束關系和數據組織特點,構建了用于描述EPDM數據模型的元模型和描述數據表間關系的關聯關系元模型,用元數據驅動實現對A1數據庫的通用編輯和級聯編輯功能,可以查詢專業數據庫信息并形成用戶個性化界面,根據用戶需求定制數據交互視圖及二次查詢視圖,符合用戶的操作習慣,提高了A1系統的可用性,兼顧了已有的應用。
[關鍵詞] A1;EPDM;數據查詢;數據編輯
doi : 10 . 3969 / j . issn . 1673 - 0194 . 2013 . 21. 026
[中圖分類號] TP319 [文獻標識碼] A [文章編號] 1673 - 0194(2013)21- 0042- 04
1 引 言
A1系統采用的EPDM數據模型是中石油有關技術專家遵循POSC理念,參照EDM風格,融合了許多中石油數據模型的特色內容設計的中石油數據模型。它涵蓋了基本實體、鉆井、錄井、測井、分析化驗等17個專業的數據,是勘探開發一體化數據模型。它能更準確地描述油氣勘探開發的實體及其相互關系,并且更加易于擴展,數據的完整性得到加強。
自2007年A1系統在油田上線運行以來,一直沒有得到良好的應用。原因在于EPDM模型數據表數量龐大,邏輯關系很復雜,各數據表的主鍵是由候選碼組合隨機產生的,數據表之間通過ID關聯。這種設計思想與傳統勘探開發數據模型存在很大差異,數據管理人員如果沒有對EPDM數據模型進行深入的了解和學習,就無法快速有效地操作A1系統的數據。目前,EPDM模型唯一的數據管理工具是OpenWells軟件,該軟件以單一實體為單位,傾向于手工采集,與原勘探開發數據維護流程以數據表為單位批量查看和維護的方式不同,不符合數據維護人員的維護習慣,并且大批量數據維護效率低。
為了解決A1系統在推廣應用過程中給數據管理人員帶來的不便,本文通過元模型技術,從元數據出發,構建了一套能存儲關系數據庫數據字典的EPDM元模型,并建立關聯關系元模型描述EPDM數據模型中所涉及的數據表之間的關聯關系。在實現基本查詢和編輯功能之外,系統通過構建數據查詢模型實現了視圖定制查詢和二次查詢功能,并利用元模型技術實現了數據的級聯刪除,保證了數據編輯和數據查詢的通用性、擴展性、靈活性和安全性。
2 系統架構
系統采用分層結構的設計思想,利用元數據驅動,將數據表信息和關聯關系獨立于數據模型存儲,數據庫信息的改變只需修改相應的元數據,無需修改系統程序,使系統能夠更好地適應用戶需求和企業環境的變化。系統架構如圖1所示,主要分為4層。
(1)數據層:A1數據庫。
(2)元數據層:元數據層描述了各異構數據庫所使用的數據結構及其之間的關系。元數據層包含兩部分:EPDM元模型、關聯關系元模型。EPDM元模型不僅是對EPDM數據模型結構的描述,而且也涉及EPDM數據模型業務的描述。關聯關系元數據描述了當前用戶視圖中所涉及的數據表的關聯關系,記錄了基表與引用表的關聯關系。
(3)功能層:是系統所能完成功能的集合,通過與元數據交互作用進行數據查詢和數據編輯工作,是整個系統的核心部分,也是用戶最關注的部分。
(4)用戶層:用戶層為用戶提供可操作的界面,是系統的UI部分。包括數據導航、數據展示、二次查詢以及數據錄入、刪除、修改等功能。
3 元模型的建立
在數據庫應用系統中,元模型即元數據模型,是對元數據進行表示的模型。元數據描述了數據結構和對象的信息,例如:表、字段、約束等。其中,數據庫信息表、專業信息表、數據表信息表、數據項信息表之和構成了數據字典的基本單元,是對業務數據的抽象,可以清晰地描述數據的結構以及相互的邏輯關系。
3.1 EPDM元模型
EPDM元模型描述了A1系統所使用的數據結構及其之間的關系,將各專業數據庫集成為一個支持分布的、具有統一描述模式的結構,用戶能夠透明地訪問數據庫資源的模型。該模型為統一管理數據并且在數據庫間交換信息提供了有力支撐,使得建立在其上的應用可以不必考慮底層數據庫的變化,降低了程序的復雜度,同時提高了系統的可擴展性和通用性。
EPDM元模型E-R圖如圖2所示。
3.2 關聯關系元模型
關聯關系元模型用于描述一個模型所涉及的數據表以及這些數據表之間的約束關系。通過關聯關系元模型,可以清楚地了解到一個數據表的上下級關系,利用這種關聯關系可以實現數據表或數據字段關聯查詢和級聯刪除功能。
4 數據查詢
數據查詢主要實現對A1系統數據的展示、查詢和下載功能。用戶可以對數據庫中相關表進行連接,將數據字段進行整合,得到自己想要的數據視圖,而且可以將視圖進行導出操作,獲取有效數據。針對用戶的需求,將數據查詢分成兩部分:一是對數據的直接查詢,二是對數據信息定制后的查詢。直接查詢是根據用戶選擇的數據表和查詢條件,直接顯示該表數據。定制查詢主要包括對視圖的定制、修改、刪除和查詢展示等操作。在進行修改和刪除時,需要對已經定制好的視圖進行顯示,并且在進入查詢界面之后,可以改變查詢條件進行二次查詢。
4.1 定制查詢數據模型
定制查詢是以元模型數據庫為核心展開的,根據元模型的特點,設計了一些存儲視圖信息、字段信息、關聯條件的數據表,形成定制查詢模塊的數據模型。數據模型關系圖如圖3所示。
4.2 二次查詢
如果直接查詢和定制查詢得到的結果數據不能完全滿足用戶的需求,還可以將當前查詢結果中字段的取值范圍作為篩選條件,并將這些篩選條件按照與、或、非的邏輯關系進行組合,篩選出符合條件的內容。將篩選條件根據標準的SQL語句語法,動態構建查詢語句,進而對查詢結果進行二次查詢操作。
5 數據編輯
數據編輯是對A1數據庫數據進行查詢、修改、刪除、添加等操作,是專業數據庫維護不可缺少的重要組成部分,為數據庫數據的準確性提供了保障。
系統建立了目錄導航樹列表,不僅提供了基于EPDM單表數據的維護功能,以及批量數據的填加、替換功能,還可以通過定制數據交互視圖完成數據的維護。由于EPDM數據模型中數據表間強大的約束關系的存在,在進行某些數據刪除操作時,父表數據的刪除會直接影響到子表數據。因此,在刪除數據之前需要進行級聯數據表的數據驗證操作,將同時刪除此表所對應的子表中的全部數據。
由于A1系統的復雜關聯關系,刪除位于關聯關系中間表的數據成為數據刪除的難點。系統采用樹形結構為用戶提供了一個靈活操作刪除功能的渠道。系統通過掃描元模型數據,解析出待刪除數據的相關子表,構建刪除關系樹并展示給用戶。用戶通過勾選刪除關系樹上的節點和節點的子節點,了解了級聯刪除相關的所有數據表,完成級聯刪除任務。圖4是數據級聯刪除流程圖。
6 系統應用
該系統由于是目前對A1系統進行定制查詢和數據編輯的唯一系統,在油田上得到了廣泛的推廣和應用。元模型的建立,使得數據查詢和編輯模塊可以自動解析出數據表間的關聯關系,匹配關鍵字組合成查詢條件,對用戶進行提示。
定制查詢視圖的界面如圖5所示。
二次查詢功能,幫助用戶從數據表中篩選出需要的單條或多條記錄,避免了大數據量數據表的錯誤操作。二次查詢的界面如圖6所示。
系統采用樹形結構展示了與待刪除數據有父子關系的數據表,通過勾選樹形結構的節點,刪除節點和節點的子節點信息,實現級聯刪除功能。數據級聯刪除的界面如圖7所示。
7 結 論
本文提出一個基于元模型的數據查詢和編輯系統的框架結構,構建了EPDM元數據模型和關聯關系元模型,利用元數據驅動實現對A1數據庫的查詢和編輯功能。從用戶角度出發,數據查詢分為直接查詢、定制查詢和二次查詢,數據編輯除了傳統的增、刪、改功能,還根據EPDM模型的復雜關系增加了級聯刪除的功能,極大地滿足了用戶的需求。基于元數據驅動的數據查詢和編輯系統有良好的靈活性、通用性,能夠對應用數據庫的新需求做出快速的反應,很大程度上減輕用戶的負擔,該系統在油田企業信息集成中得到應用。
主要參考文獻
[1]曾慶猛,王冬梅,等. 中石油A1系統PCEDM數據模型基本實體初步研究[J]. 勘探地球物理進展,2008,31(6):464-466.
[2]彭廣亮. 基于元數據的領域數據編輯模型研究[D]. 大慶: 東北石油大學, 2010.
[3]鄭祥云,張娟,葛文庚.數據庫同步中差異數據捕獲方案設計與實現[J].電腦知識與技術,2009,5(7):1544-1548.
[4]李鵬飛, 趙軍強. SSIS在異構數據庫間數據遷移的應用研究[J]. 長江大學學報, 2008(9): 62-64.