劉 歆,胡長軍,李 揚,賈麗娜
(北京科技大學 計算機與通信工程學院,北京100083)
本文提出了一套采油工程領域基于本體的數據服務系統 (an oil production engineering ontology-based data service system,OPODSS),OPODSS提供了一個語義豐富的全局語義數據模型和高級查詢功能。OPODSS屏蔽了底層數據源的差異,用戶和上層應用程序不必知道數據的來源和復雜性,可以利用OPODSS 以無處不在、即需即用[1,2]的方式,直接訪問實時更新的底層數據資源。OPODSS還有語義推理功能,可以推理出復雜語義關聯關系的數據中隱含的知識。
OPODSS首先使用本體學習的方法,抽取油田分布的各專業數據庫的數據模式,建立局部本體,通過本體演化、本體合并、約束推理,建立一個語義豐富的全局本體,雖然各個油田公司的數據具有異構特性,但是每個油田公司都有基礎數據、生產數據、設備數據、地質數據等這些數據類型,因此該全局本體適用于各個油田公司;然后建立直接訪問底層數據源的數據接口,屏蔽底層數據源的分布、異構、語義關聯復雜等特性,提供統一、透明的語義數據查詢與數據共享服務,實現語義數據集成。
實踐結果表明,數據服務系統可以為油氣井生產決策提供全面、實時的數據支持,為優化設計與診斷提供可靠數據服務,進而提高產量和采收率、延長檢泵周期,產生巨大經濟效益。
Michael J.Carey等[3]調研了3種比較流行的數據服務,分別是采用服務的數據存儲、集成的數據服務和云數據服務,但是這3種數據服務都沒有考慮語義之間的關聯。
Andreas Bender等[4]提出了科學工作流中面向服務的領域數據集成框架,該框架建立了領域數據模型,讓分布、異構的數據源與應用程序橋接起來,但是文章中的領域數據模型不是根據數據源分布、異構的特性,從數據源學習而來,而是領域專家通過圖形化的界面手工構建的,帶有一定的主觀性,而且數據元素之間缺乏語義關聯。
Raji Ghawi等[5,6]提出了關系型數據庫到本體的映射的語義互操作,利用DB2OWL工具自動從關系數據庫模式產生本體,但是它沒有考慮多個分布、異構的數據源映射為一個本體的情況。
Anish Das Sarma等[7]在分析了在大量、異構的表中找關聯表的問題,提出了使用計算模式相似度的方法查找相關聯的表的方案。Li Qian等[8]提出了樣本驅動的模式映射系統,但這種方法帶有一定的不準確性,而且是針對字符串樣本的模式映射。
OPSDS (Oil production engineering semantic-based data integration system)提供給用戶和上層應用程序語義豐富的全局本體和用戶查詢、接收底層數據源數據的API,有基于函數的和基于查詢的兩種類型的API。用戶和上層應用程序只需要根據全局本體或數據接口進行數據查詢即可。OPSDS的實現架構如圖1所示。

圖1 OPODSS的實現架構
采油工程領域的數據庫遍布全國,存儲模式和數據結構各不相同,數據之間存在復雜的關聯關系,不利于石油領域專家和上層應用程序的使用。因此,迫切需要一個能針對異構數據源和領域術語的數據集成系統,屏蔽底層數據的差異,通過領域的全局本體即可訪問底層數據。
全局本體構建時,首先,根據需求進行數據篩選,對需要的數據初步分類、整理、歸納,得到系統所需要的數據類型,數據實體等。然后,采用自底而上的策略,抽取數據庫的模式信息,建立初始局部本體,再根據油氣井工程領域的概念集中概念的關系,將初始局部本體修正為語義更為豐富的局部本體;再通過各局部本體的演化、合并形成全局本體,然后通過增加語義約束、細化和完善,形成一個完整的、語義豐富的全局本體。
用戶和上層應用程序,根據全局本體或函數接口,提交查詢請求Request。OPODSS首先解析查詢請求Request,將查詢請求轉化為可對本體進行查詢的SPARQL 語句。然后將SPARQL查詢語句重寫,轉換為SQL 語句對底層數據源訪問,數據庫的查詢結果根據規則庫的數據處理規則進行清洗、轉換,Result以統一的格式返回。
SPARQL查詢語句重寫轉換,是把用戶基于全局本體的語義查詢請求,轉換為可以對底層數據源訪問的SQL 語句,全局本體到數據源的映射,有一對一和一對多兩種形式,包括3種方式:
(1)需要的數據來自一個數據源的一張表;
(2)需要的數據來自一個數據源的多張表;
(3)查詢需求需要多個數據庫的多張表協同完成。
語義查詢過程如圖2所示。

圖2 語義查詢過程
語義查詢的具體實現步驟如下:
(1)獲取用戶的查詢請求Request,生成全局查詢語句QueryG(QG),QG采用SPARQL描述。
(2)利用邏輯推理機進行推理,將查詢語句QG中的全局本體中的類/屬性名稱轉換為相應局部本體中的類/屬性名稱。
(3)查詢分解器將查詢QG分解為針對每個局部本體的子查詢SubQueryL,SubQueryL= {SQL1,SQL2,…… ,SQLn},其中,n是局部本體的個數。
(4)查詢重寫器將SubQueryL重寫為針對每個數據源的本地子查詢SubQueryD,SubQueryD= {SQD1,SQD2,…… ,SQDn},SQD采用SQL描述。
(5)執行本地子查詢,返回查詢結果SubResultD,Sub-ResultD= {SRD1,SRD2,…… ,SRDn}。
(6)結果轉換器將查詢結果SubResultD根據規則庫的規則,進行清洗和轉換后,得到規范化的子查詢結果。
(7)結果合并器將規范化的SubResultD合并,形成最終的查詢結果Result并返回。
從采油工程領域對數據的需求出發,開發了OPODSS系統,對油田生產數據庫、勘探數據庫、設備數據庫、井下作業數據庫、測井數據庫、工藝措施數據庫等多個專業數據庫進行語義數據集成。OPODSS屏蔽了底層數據庫的分布、異構、語義關聯復雜等特點,可以為用戶和上層應用提供更好的數據的交互和共享服務。
目前,OPODSS已經可以為多個上層應用提供數據服務,其中,比較典型的是采油優化設計與決策支持系統。采油方案的優化設計是該系統的重要功能之一。方案優化設計的作用是,通過對抽油機、抽油桿、抽油泵以及扶正器等抽油設備的調整,以產量,泵效,系統效率等為目標進行綜合評判,產生不同條件下的采油方案,用戶可以根據需求選擇最佳方案。
油田進行采油時,有多種類型的井。下面以抽油機井的優化設計為例,說明OPODSS的系統實現。一口抽油機井進行優化設計時,根據井的基礎數據、生產數據、地質(勘探)數據等,搭配不同的采油設備,產生不同條件下的抽油機井優化設計方案[9]。采油設備涉及到抽油機型號選擇、桿柱的組合、扶正器設計、抽油泵型號選擇等多個方面。圖3是進行優化設計時,涉及到的數據及其物理分布。
抽油機優化設計涉及到多方面的數據,這些數據種類繁多,格式多樣,數據信息海量,并高速增長,并存儲于不同的物理數據庫。一方面,一種數據可能來自一個數據庫,也可能來自多個數據庫;可能來自一個數據庫的一張表,也可能來自一個數據庫中的多張表。另一方面,這些數據庫的環境、硬件平臺各不相同,數據庫對數據的存儲模式也不同,這就造成了結構異構、語義異構、數據關聯關系復雜、難以實時交互信息等問題。比如,抽油桿結構數據體現了典型的異構問題,分為結構異構和語義異構。語義異構表現為,JH 井號這一字段,在不同的數據庫中,存儲的名稱不同。在D1數據庫中是JH,在D2數據庫中,存為well_name,在D3數據庫中,存為well。一口井需要一組抽油桿數據,每根抽油桿包含桿級數、桿長、桿徑等信息,不同的桿級數對應不同的桿長。對于一個三級抽油桿,D1把三級桿長組合起來,存成一個字段;D2 根據不同的桿級數,將桿長分為3行記錄存儲;D3是用一行記錄中的3個字段來表示,這種抽油桿結構數據的存儲方式,體現了典型的結構異構。如圖4所示。

圖3 抽油機井優化設計

圖4 異構的抽油桿數據
再比如,井型數據,體現了數據間的關聯關系,因為井型是根據井斜角數據計算而來。我們把井斜角小于5°的井,當作直井;把井斜角大于75°的角當作水平井;把井斜角在5°和75°之間的井,看作是斜井[10]。
優化設計涉及到基礎數據、生產數據、地質數據、抽油機數據等多種類型的數據,這些數據存儲在不同的物理位置,存儲在不同的數據庫中,存儲模式也各不相同。語義異構、結構異構、復雜的關聯關系等問題,使得采油工程領域的數據服務越來越迫切和重要。
3.2.1 基于函數接口的服務
采油方案的優化設計,是典型的利用OPODSS提供的函數接口,實現訪問數據的數據服務方式。上層應用程序根據OPODSS提供的優化設計函數接口,即可訪問所需的數據資源,不必關心數據實際存儲的物理位置,存儲于哪種類型的數據庫,及數據的存儲模式。圖5 (a)是抽油機優化設計功能的界面,界面上有方案優化設計所涉及到的數據,這些數據可以通過OPODSS提供的優化設計的函數接口,函數查詢全局本體,然后再映射到數據源取得。圖5(b)展示了方案優化設計所需的部分數據,通過函數查詢的方式,映射到的本體,及全局本體與數據源的映射關系。
“我也這么認為過。”英格曼站下腳,回過頭對閉著的大門說,“后來發現,對你們來說,激怒不激怒,結果都一樣?!?/p>

圖5 油機優化設計模塊實現
圖5 (a)中,Essential Parameters部分需要的數據,通過圖5 (b)所示的本體的類well_name、well_class等,映射到生產數據庫取得的,而圖5 (a)中Pumping Unit、Pumping Rod和Defueling Pump部分需要的數據,是通過本體類映射到設備數據庫取得,實現了分布數據的集成,并為上層應用程序所用。
圖5 (b)中,生產數據庫中井的名稱為well_name,設備數據庫中名稱為well,這是典型的異名同義的異構現象,我們使用PeDSOnto:hasSynonymy把這兩個類的語義進行關聯。這個例子中,類well和類well_name映射的實例都是9L106-05。而Pumping Rod部分,體現了結構異構的問題,OPODSS可以將圖5 (b)中組合存儲的抽油桿結構數據,處理為圖5 (a)抽油桿結構數據的格式,以呈現給用戶和應用程序。
圖6是點擊圖11 的 “優化設計”按鈕,利用這些數據,進行計算后的結果,OPODSS對底層數據源的數據進行重用和共享,為工程所用,實現了數據的 “增值”。

圖6 抽油機優化設計的結果
3.2.2 基于查詢的服務
OPODSS提供了基于查詢的數據服務,可實現數據的語義查詢。
圖7中,勾選左邊的數據源,其下方可以看到數據源的數據物理分布。既可以查詢整個油田的數據,也可以通過勾選的方式,選擇油田中采油廠、區塊等部分數據。右邊的現實字段,可以選擇想要查詢的字段名稱,通過條件選擇,限制所需查詢的字段的條件,點擊 “增加條件”按鈕,即可把要查詢的字段及其限制條件,添加到右邊的已選條件中。依次,可以添加多個查詢字段及其查詢條件。點擊 “查詢數據”按鈕,即可顯示查詢結果,及其對應的數據源。

圖7 OPODSS的數據查詢服務
圖8是查詢結果和相應的數據源的模式。產油量和含水率,分別來自冀東和大慶的生產數據庫;抽油機型號字段,冀東油田、大慶油田和總公司的數據庫中都有,但是冀東和大慶油田的該字段,對應的實際的井號,總公司的設備數據庫中,該字段對應的是抽油機型號的具體參數,而用戶查詢時,這些字段的數據都需要,所以,OPODSS就實現了不同的物理數據庫,同一數據庫中,不同表之間的聯合查詢。

圖8 查詢結果和數據源
冀東、大慶和總公司存儲數據所用的數據庫各不相同,這就造成了系統異構。字段井號、產油量、含水率在冀東油田和大慶油田的存儲形式不同,這就造成了語義異構。而含水率,冀東存儲的是百分比,而大慶存儲的是小于1的小數,動液面的數據兩個油田存儲的精度不同,這就造成了數據存儲結構的異構。由于油田公司物理數據庫中的數據,每天都是實時更新的,通過全局本體到底層數據庫的逐級映射,用戶和上層應用程序,可以獲得最新的數據。OPODSS可以屏蔽底層數據庫紛繁復雜的異構性和物理的分布性,通過全局本體,逐步映射到底層的數據庫,經過數據的查詢轉換、數據清洗,將查詢結果以統一的格式返回給用戶。
OPODSS屏蔽底層數據源分布、異構、語義關聯復雜的差異,建立采油工程領域的全局語義數據模型,并提供數據的查詢和共享服務,使分布的數據無縫鏈接,使上層應用程序在OPODSS上平滑移動。
以OPODSS為核心的采油優化設計與決策分析系統已經在CNPC多個油田得到應用,已經為3萬余口油氣井的生產監控和措施效果評價提供全面和實時的數據服務。使用OPODSS后,與傳統的數據使用方法相比,取得了良好的工程應用效果,其中,最突出的效果一個是延長檢泵周期,另一個是提高采收率。
在采油工程領域,檢泵周期是指從上次各種措施后下泵正常抽油開始,到這次抽油裝置失效而停止抽油的間隔天數。OPODSS可以使已有的數據資源得到充分利用,提高檢泵周期。井岔74-124的檢泵周期低于100 天,在950 m 和1800m 處頻繁桿斷,系統通過查詢這口井的歷史數據,對已有數據進行計算,發現兩處側向力達到6KN,所以優化扶正器配置和加重桿長度后,檢泵周期從100天延長到122天。再者,系統對井東3-10使用的抽油機參數進行調整,降低電流平衡度、等值扭矩、電流變化后,發現系統效率從9.8%提高到18.6%,提高了8.8%。調整前后的對比見表1。

表1 井東3-10參數調整前和調整后的對比
使用OPODSS 的采油優化設計與決策支持系統(PetroPE)已經在大慶、吉林、冀東、大港、華北油田推廣應用,在華北和冀東油田現場試用軟件,對356 口井進行優化和診斷,其中,對95口井進行有桿泵優化,系統效率從21.3%提高到26.9%,平均提高5.6%;對50口井進行螺桿泵優化,系統效率從30.2%提高到36.7%,平均提高6.5%,前后對比的柱狀圖如圖9所示。

圖9 系統效率對比
據統計,系統效率平均提高1%,不但產油量有明顯的增加,而且年節電4 億度。所以,OPODSS充分利用數據資源,成為了提高產量、減低成本的有效手段。
對錯綜復雜的領域數據進行語義數據集成,是目前研究與應用的熱點。本研究利用本體技術,對分布、異構、語義關聯復雜的數據源建立全局語義數據模型,提供全面、實時的數據服務,是一種可行、有效的方法。
對于數據密集型的工業領域,建立基于領域本體的全局語義數據模型,實現基于語義的數據集成,并為上層生產應用服務,可以得到很好的應用效果。
石油領域是典型的數據密集型領域,OPODSS在生產實踐中起到了關鍵的作用。OPODSS實現了數據的共享和重用,上層應用程序直接通過OPODSS就可以即需即用地訪問分布、異構、關聯復雜的數據資源,并得到規范化的數據,為工業生產所用。在應用需求的驅動下,OPODSS將生產、學習和科研緊密結合,這是推動科技進步,實現科學技術是第一生產力的有效途徑。
在下一步的工作中,OPODSS 會在更多的油田使用,并且到推廣勘探、地震等石油方面的其它領域。
[1]Mahmoud H A,Aboulnaga A.Schema clustering and retrieval for multi-domain pay-as-you-go data integration systems[C]//Proceedings of the ACM SIGMOD International Conference on Management of Data,2010:411-422.
[2]GE J,HU C,LI Y,et al.An intermediate view for data integration,management in cloud computing [J].Journal of Computational Information Systems,2013,9 (9):3611-3618.
[3]Carey M J,Onose N,Petropoulos M.Data services [J].Communications of the Acm,2012,55 (6):86-97.
[4]Bender A,Poschlad A,Bozic S,et al.A service-oriented framework for integration of domain-specific data models in scientific workflows[J].Procedia Computer Science,2013,18:1087-1096.
[5]Zhang L,Li J.Automatic generation of ontology based on database[J].Journal of Computational Information Systems,2011,7 (4):1148-1154.
[6]Ghawi R,Cullot N.Building ontologies from XML data sources[C]//DEXA Workshops,2009:480-484.
[7]Sarma A D,Fang L,Gupta N.Finding related tables[C]//Proceedings of the ACM SIGMOD International Conference on Management of Data,2012:817-828.
[8]Qian L,Cafarella M J,Jagadish H V.Sample-driven schema mapping [C]//Proceedings of the ACM SIGMOD International Conference on Management of Data,2012:73-84.
[9]Liu X,Hu C,Li Y,et al.The advanced data service architecture for modern enterprise information system [C]//International Conference on Information Science and Applications.IEEE,2014:1-4.
[10]Jia L,Hu C,Li Y,et al.A semantic-based data service for oil and gas engineering [C]//Proceedings of the 10th Interna-tional Conference on Web Information Systems and Technologies,2014:131-136.