尚福華,戴語涵,解紅濤,杜睿山
(東北石油大學 計算機與信息技術(shù)學院,黑龍江 大慶 163318)
試油方案設(shè)計是由地質(zhì)、工程、施工三個大隊協(xié)同合作將試油階段所取得的海量豐富的數(shù)據(jù)信息整合到一起的研究報告。試油試采公司為此建立了各種試油信息管理系統(tǒng)[1-2],其中有的系統(tǒng)利用工作流技術(shù),提高了試油方案設(shè)計的效率,降低了運行成本,但發(fā)現(xiàn)過去的信息通常都是基于關(guān)系型數(shù)據(jù)庫實現(xiàn)的,在實際應(yīng)用中,每個領(lǐng)域?qū)ν瑯邮聞?wù)的認知水平和信息表示方法存在不同:知識水平不同,導(dǎo)致對同一事務(wù)的認知程度存在差異;實際需要不同,導(dǎo)致對事務(wù)的信息表示方法和文件存儲格式不同,導(dǎo)致設(shè)計人員在設(shè)計方案時出現(xiàn)差異,難以達到知識共享。正是因為以上問題的存在,工作流在實際應(yīng)用時優(yōu)勢不能得到很好的發(fā)揮。
為了解決這一問題,引進基于知識的方法來表示數(shù)據(jù)。知識模型能夠?qū)⒋罅康摹⒎稚⒌?、異?gòu)的試油試采信息實現(xiàn)標準化表示和有效集成。目前知識表示方法有很多,例如ontology、基于XML的表示法、知識產(chǎn)生式、知識圖譜等[3-5]。其中本體在很多領(lǐng)域的應(yīng)用研究已經(jīng)較為成熟,國內(nèi)比較著名的通用本體庫系統(tǒng)是How Net[6]、浙江大學人工智能研究所基于本體論的產(chǎn)品信息集成研究等[7]。筆者曾在《石油學報》上發(fā)表了《基于知識庫的解釋模型智能優(yōu)選測井數(shù)據(jù)處理方法》,對本體在油田領(lǐng)域的應(yīng)用進行了大量的研究[8],積累了大量的經(jīng)驗,研究成果較為成功。所以該文利用ontology,能夠提高試油領(lǐng)域知識表示的準確性[9-11],很好貼合本系統(tǒng)的實際需求。
該文根據(jù)試油方案管理系統(tǒng)的實際應(yīng)用需要,利用領(lǐng)域本體作為知識庫改進協(xié)同工作流模型[12-14],開發(fā)了基于知識的試油方案協(xié)同設(shè)計管理系統(tǒng),該系統(tǒng)的開發(fā)能夠?qū)υ囉头桨割I(lǐng)域知識進行高效的組織和管理,可以避免跨部門之間對同一事物的分類及特性認知的差異以及不同設(shè)計人員對同一方案描述的差異等問題。其方案設(shè)計的邏輯結(jié)構(gòu)更加接近于人的思考,使試油方案協(xié)同設(shè)計系統(tǒng)具有了一定的智能性,并在一定程度上減少了由于工作人員經(jīng)驗不足所造成的設(shè)計方案結(jié)果不準確、差異大等問題,其次能夠有效判斷試油方案設(shè)計流程,將文檔、信息或任務(wù)按照預(yù)定的規(guī)則傳遞,確定協(xié)同過程和狀態(tài),保證了協(xié)同的有效性,實現(xiàn)試油三項設(shè)計的整體目標。
試油井數(shù)據(jù)中蘊含著大量的試油信息知識,是構(gòu)成試油領(lǐng)域本體的重要數(shù)據(jù)來源。該文主要利用試油井數(shù)據(jù)構(gòu)建試油領(lǐng)域本體。根據(jù)筆者之前的研究[15],在骨架法以及“七步法”的基礎(chǔ)上,結(jié)合試油方案協(xié)同設(shè)計業(yè)務(wù)流程提出一種本體構(gòu)建方法,構(gòu)建了試油方案設(shè)計領(lǐng)域本體模型,具體過程如圖1所示。
圖1 本體構(gòu)建方法
試油領(lǐng)域本體模型以方案為中心,方案歸屬于部門,方案利用井的信息,方案包含配置信息。
試油方案協(xié)同設(shè)計管理系統(tǒng)必然有的服務(wù)就是部門管理。部門可以分為以下幾種:地質(zhì)、工程、施工大隊。部門下又分為不同用戶,例如地質(zhì)大隊部門下包含管理員、設(shè)計人員、審核人員等。
方案設(shè)計管理系統(tǒng)還應(yīng)該有對方案的管理,也就是方案配置信息,包括該方案的油氣類型、所屬部門,設(shè)計人員、審核狀態(tài)等基礎(chǔ)信息。最后方案設(shè)計管理系統(tǒng)還應(yīng)該有對井的信息管理,包含該口井的測井信息、錄井信息、鄰井信息,層位信息等。
方案設(shè)計管理以方案為中心,概念之間滿足的關(guān)系如下:一個方案利用一口井,一個方案在某一時間段內(nèi)只歸屬于一個部門(即地質(zhì)設(shè)計未完成時,方案處于地質(zhì)部門階段,當?shù)刭|(zhì)設(shè)計完成時,方案流轉(zhuǎn)到工程部門,此時,方案歸屬于工程部門),每個部門有不用權(quán)限用戶,如審核人員、設(shè)計人員,每個用戶可以設(shè)計多個方案。
通過上述對試油領(lǐng)域本體類以及相互關(guān)系的分析,可以建立試油領(lǐng)域本體,部分本體展示如圖2所示。
根據(jù)本體定義,構(gòu)建本體概念集、屬性集后,需要利用向本體OWL映射,其中類映射主要采用“
然而只有類是不能夠讓計算機很好地理解本體的語義信息的,還應(yīng)該添加類間的關(guān)系、數(shù)據(jù)屬性和對象屬性來詳細描述類的特征。下面以井的信息為例,給出屬性描述,例如井包含測井信息,里面屬性分為井段、厚度、RXO、RT、ILD、AC、CNL、DEN、SP、GR、CAL、PEF、U、TH、K40、Vsh、PORE、SWE、K、解釋結(jié)果。
其次是關(guān)系映射,OWL已定義了Part-of、Kind-of、Attribute-of和Instance-of四種基本語義關(guān)系。其中Part-of表達概念之間整體和局部的關(guān)系;Kind-of表達概念之間的繼承關(guān)系;Attribute-of表達一個概念是另一概念的屬性;Instance-of表達概念和概念的實例關(guān)系。概念間存在的關(guān)系除上述四種基本關(guān)系外,還存在等同關(guān)系、相鄰關(guān)系。
……
最后根據(jù)映射規(guī)則,給出相關(guān)概念向OWL本體轉(zhuǎn)換的算法,從而實現(xiàn)概念向本體OWL自動轉(zhuǎn)化。
圖2 部分本體展示
根據(jù)上節(jié)所建立的本體關(guān)系,該文設(shè)計了OWL本體的映射規(guī)則,根據(jù)該規(guī)則實現(xiàn)了本體到關(guān)系數(shù)據(jù)庫表的轉(zhuǎn)換,使本體表示不僅停留在概念層面,而且更符合應(yīng)用開發(fā)的需要,為后續(xù)工作流的使用打下了基礎(chǔ)。本體映射規(guī)則如下:
(1)將本體中的類映射為關(guān)系數(shù)據(jù)庫中的表;
(2)將本體中的相關(guān)屬性轉(zhuǎn)化為Oracle數(shù)據(jù)的某表中一列,該列的數(shù)據(jù)類型反映了本體此屬性的值域,列明代表了屬性的定義域;
(3)將本體中的函數(shù)屬性映射為對應(yīng)的實體表中的主鍵;
(4)OWL中如果類C和類D屬于繼承關(guān)系,那么C繼承D的所有數(shù)據(jù)類型屬性,并且擁有D所對應(yīng)的表的所有列字段;
(5)若OWL中屬性P和Q是等價屬性,P的定義域是類C,Q的定義域是類D,如果屬性P所對應(yīng)的列是類C所對應(yīng)的表的主鍵,且屬性Q所對應(yīng)的列不是類D所對應(yīng)的表的主鍵,則屬性Q是類D所對應(yīng)的表的外鍵。如果屬性Q所對應(yīng)的列是類D所對應(yīng)的表的主鍵,且屬性P所對應(yīng)的列不是類C所對應(yīng)的表的主鍵,則屬性P是類C所對應(yīng)的表的外鍵。
根據(jù)上述映射規(guī)則,該文設(shè)計了一套算法將本體描述語言轉(zhuǎn)換為SQL語言,方便開發(fā)人員使用。
具體流程描述:首先讀入文件之后解析OWL文檔,得到本體的結(jié)構(gòu),并將這些內(nèi)容轉(zhuǎn)換為JSON數(shù)據(jù)來表示類之間關(guān)系。然后將類關(guān)系Class JSON轉(zhuǎn)換為創(chuàng)建表的中間文件Table JSON,在這個結(jié)構(gòu)中存儲了創(chuàng)建數(shù)據(jù)庫表必須要的全部屬性。然后讀取該結(jié)構(gòu),拼接創(chuàng)建表的語句。算法的輸入是OWL本體文件,算法的輸出是SQL建表語言,實現(xiàn)了本體到關(guān)系數(shù)據(jù)庫模式的映射。
基于知識的試油方案協(xié)同設(shè)計系統(tǒng)的開發(fā)是利用上述本體的邏輯層結(jié)構(gòu),將方案中的每一部分知識作為一個基礎(chǔ)本體放入到公共本體中,設(shè)計人員進入系統(tǒng)做方案設(shè)計時根據(jù)自己的需求選擇所需的基礎(chǔ)本體,作為方案的基礎(chǔ)框架,這樣設(shè)計出來的方案是統(tǒng)一標準的,然后將其設(shè)計好的方案內(nèi)容轉(zhuǎn)化存儲到關(guān)系數(shù)據(jù)庫。試油領(lǐng)域本體的邏輯層結(jié)構(gòu)更加貼近于人的思考,便于設(shè)計人員在試油方案設(shè)計時幫助用戶決策。
系統(tǒng)底層框架是基于B/S結(jié)構(gòu)實現(xiàn)的,采用Spring MVC設(shè)計模式和技術(shù)開發(fā),在此基礎(chǔ)上增加了本體和工作流系統(tǒng),整體框架如圖3所示。
系統(tǒng)主要分為方案設(shè)計系統(tǒng)和工作流系統(tǒng)兩個部分,同時與系統(tǒng)數(shù)據(jù)庫進行數(shù)據(jù)交換。方案設(shè)計過程是指根據(jù)設(shè)計人員需求信息和本體知識庫映射規(guī)則完成方案模板定制,最終在模板中完成設(shè)計。方案流轉(zhuǎn)過程則是完成方案后,需要按照工作流傳遞規(guī)則進行流轉(zhuǎn),進行內(nèi)部審核和外部審批。
在試油方案協(xié)同設(shè)計系統(tǒng)中,涉及的本體包括部門、設(shè)計類別、方案等,其中方案模板是需要共享的核心本體,試油方案協(xié)同設(shè)計系統(tǒng)中的大部分業(yè)務(wù)都是基于方案模板的。方案模板就是一個具有層次的樹狀結(jié)構(gòu),其中一個類就是一個葉節(jié)點,不同類型的井具有不同的屬性,例如直井、水平井、油井、氣井等都有對應(yīng)的屬性來對其進行描述。某個類下不同的屬性取值便組成了方案的實例。每個類對應(yīng)著一個基礎(chǔ)本體,一個實例由多個基礎(chǔ)本體組成。
圖3 系統(tǒng)框架
基礎(chǔ)本體想要共享和交換信息需要通過公共本體的映射。在做井的方案設(shè)計中,設(shè)計人員不可能選擇相似的知識,而必須是完全符合屬性要求的知識。雖然井的各類屬性不同,并且一個類型井的信息是有限的,該類型井的私有本體在公共本體空間都能找到對應(yīng)的公共本體,因此每口類型井的基礎(chǔ)本體空間是公共本體空間的子集。基于公共本體的系統(tǒng)集成框架如圖4所示。
整個框架分為三個層次:業(yè)務(wù)系統(tǒng)層是做方案設(shè)計的系統(tǒng)層;交換接口層是設(shè)計人員進行設(shè)計時用于本體信息交換的接口,私有基礎(chǔ)本體到公共本體的轉(zhuǎn)換由交換接口完成。公共本體庫會提供一個開放的接口,各設(shè)計人員可以下載公共本體。兩個井的信息需要進行共享時,井A的信息交給交換接口,根據(jù)私有和
公共本體庫將交互信息轉(zhuǎn)換為公共本體表示,交給井B的交換接口。
圖4 基于公共本體的系統(tǒng)集成框架
設(shè)計人員在做設(shè)計時,先選擇該口井配置信息,然后在公共本體庫中選擇基礎(chǔ)本體,在此基礎(chǔ)上進行設(shè)計,做好的模板如圖5所示。
圖5 本體模板
協(xié)同工作流模型的設(shè)計是基于本體庫轉(zhuǎn)換成的數(shù)據(jù)庫實現(xiàn)的,但邏輯層結(jié)構(gòu)還是本體模型的思想,首先分析三項設(shè)計內(nèi)部審核和外部流轉(zhuǎn)的業(yè)務(wù)流程,設(shè)計工作流模型,由流轉(zhuǎn)級別表、流轉(zhuǎn)鏈路表、用戶表、部門表、工作流日記表等信息組成,如圖6所示。根據(jù)該模型設(shè)計并實現(xiàn)三大部門的順序辦公流程,完成了設(shè)計方案傳遞下一級、回轉(zhuǎn)上一級、刪除、審批等功能,達到知識共享和協(xié)同工作的效果。
圖6 工作流模型
該系統(tǒng)的工作流流程為:試油地質(zhì)大隊申請設(shè)計試油方案,設(shè)計完成后可選擇已有審核流程,或者新建審核流程,如果在某一審核級別時有多人可以進行審核,選擇一個空閑的審核人;試油方案成功提交后,被選擇的審核人確認后就可以對提交的申請方案進行審批,并對其給出相應(yīng)的意見。如果審核人同意則可以繼續(xù)執(zhí)行下一級的審核或設(shè)計工作流程,如果審核人不同意則可以將返回申請?zhí)峤唤o上一級。在審核流程與設(shè)計流程中必須遵守以下兩點:
(1)根據(jù)試油方案狀態(tài)選擇繼續(xù)審核流程還是設(shè)計流程;
(2)根據(jù)特定的查找算法能快速且準確定位下一級別。
由于該工作流既包含設(shè)計過程也包含審核過程,因此將試油方案信息表的狀態(tài)值分為待設(shè)計、待審核、完成三部分,如表1所示。根據(jù)試油方案狀態(tài)與對應(yīng)的級別層級(SHJB、SJJB),找到下一級別。
表1 試油方案狀態(tài)
為了實現(xiàn)設(shè)計和審核流程的自定義與靈活性,系統(tǒng)根據(jù)設(shè)計和審核的先后順序規(guī)定設(shè)計流轉(zhuǎn)級別表中上下級關(guān)系。試油地質(zhì)大隊進行設(shè)計前,選擇適合本次設(shè)計的部分上下級關(guān)系和每個過程需要的處理人數(shù)。系統(tǒng)根據(jù)地質(zhì)大隊的選擇在流轉(zhuǎn)鏈路表中添加設(shè)計和審核流程,形成雙向鏈表,并利用工作流日志表記錄試油方案的(SHR、SJR)字段來獲取下一處理人。當下一處理人有多個用戶滿足條件時,根據(jù)用戶的任務(wù)量自動分配到任務(wù)少的用戶進行處理,減少等待時間,保證各用戶工作量基本一致,提高了工作效率。
該系統(tǒng)以基于試油領(lǐng)域本體的試油方案協(xié)同設(shè)計工作流模型為邏輯底層,結(jié)合試油方案設(shè)計的實際需求,實現(xiàn)了以下5大功能。
(1)試油三項設(shè)計的模板管理,其中對于試油方案的模板可以進行增刪改查,重用;
(2)試油三項設(shè)計方案在線設(shè)計、基礎(chǔ)數(shù)據(jù)智能導(dǎo)入;
(3)地質(zhì)、工程、施工方案、維護、設(shè)計查詢下載管理;
(4)三項設(shè)計部門內(nèi)部審核管理,外部流轉(zhuǎn)、協(xié)同管理和實時監(jiān)控;
(5)三項設(shè)計的用戶和權(quán)限的統(tǒng)一管理。
提出了試油方案協(xié)同設(shè)計方法,介紹了試油領(lǐng)域本體構(gòu)建、協(xié)同工作流構(gòu)建等技術(shù)和方法,有效地解決了實際應(yīng)用中方案標準統(tǒng)一化以及知識重用性的問題。對本體在試油領(lǐng)域的應(yīng)用進行了初步的探索,將工作流技術(shù)與本體結(jié)合起來,設(shè)計開發(fā)的基于知識的試油方案協(xié)同設(shè)計管理系統(tǒng)運行良好,提高了方案設(shè)計的準確性和設(shè)計效率,所建立的本體庫為后續(xù)試油領(lǐng)域在智能控制和可視自動化技術(shù)方面的深入研究及其應(yīng)用打下了基礎(chǔ)。該文對試油領(lǐng)域本體的研究和應(yīng)用,希望對試油相關(guān)領(lǐng)域的國內(nèi)同行業(yè)者有所幫助和借鑒。