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