任偉建,王春蕾,霍鳳財(cái)
(東北石油大學(xué) 電氣信息工程學(xué)院,黑龍江 大慶 163318)
目前,油田問(wèn)題井管理過(guò)程采用傳統(tǒng)的人工填報(bào)、紙質(zhì)記錄方式,存在工作量大、效率低、實(shí)時(shí)性差和維護(hù)困難的問(wèn)題。在審批過(guò)程中,部門協(xié)作要求高,信息量大且交換頻繁,工作計(jì)劃在不同部門之間人工傳遞,造成時(shí)間上不必要的損耗。隨著工作量的逐漸增加和管理模式的不斷細(xì)化,問(wèn)題井管理方式急需改進(jìn),配備基于工作流技術(shù)的油田問(wèn)題井管理系統(tǒng)已迫在眉睫。在全球范圍內(nèi),對(duì)工作流的技術(shù)研究以及相關(guān)的產(chǎn)品開發(fā)進(jìn)入了更為繁榮的階段,更多更新的技術(shù)被集成進(jìn)來(lái),文件管理系統(tǒng)、數(shù)據(jù)庫(kù)、電子郵件、移動(dòng)式計(jì)算、Internet服務(wù)等已被容納到工作流管理系統(tǒng)之中[1-2]。目前,工作流的發(fā)展趨勢(shì)是基于Web的部署、分布式的工作流處理、事務(wù)管理以及支持工作流建模的分析與仿真[3-4]。國(guó)內(nèi)外現(xiàn)有很多公司致力于開發(fā)商業(yè)化的工作流系統(tǒng),除了IBM的MQSeries WorkFlow, Action Technologies公司的Metro等專業(yè)平臺(tái)外,主要利用SUN的J2EE和Microsoft的.Net等通用平臺(tái)開發(fā)工作流應(yīng)用[5-7]。筆者利用.Net平臺(tái),設(shè)計(jì)了一種基于工作流技術(shù)結(jié)合多數(shù)據(jù)融合技術(shù)、動(dòng)態(tài)數(shù)據(jù)加載技術(shù)的油田問(wèn)題井管理系統(tǒng)。該系統(tǒng)立足現(xiàn)有的管理習(xí)慣和工作流程,將單井動(dòng)、靜態(tài)設(shè)備信息引入到問(wèn)題井作業(yè)數(shù)據(jù)庫(kù),最終形成一套完整的動(dòng)、靜態(tài)數(shù)據(jù)庫(kù),實(shí)現(xiàn)問(wèn)題井?dāng)?shù)據(jù)錄入、流程信息查詢、問(wèn)題發(fā)生率統(tǒng)計(jì)和超限提醒功能。工作人員通過(guò)不同的訪問(wèn)權(quán)限,進(jìn)入相應(yīng)的管理界面,完成問(wèn)題井核實(shí)單的上報(bào)、審批等業(yè)務(wù)流程,能夠?qū)崟r(shí)、直觀、高效地了解問(wèn)題井的運(yùn)行情況,切實(shí)提高工作效率和管理水平。
工作流是一類能夠完全或者部分自動(dòng)執(zhí)行的經(jīng)營(yíng)過(guò)程,它根據(jù)一系列過(guò)程規(guī)則,使文檔、信息或任務(wù)能夠在不同的執(zhí)行者之間傳遞、執(zhí)行[8]。工作流系統(tǒng)也稱為工作流管理系統(tǒng),圖1給出了工作流管理聯(lián)盟提出的工作流管理系統(tǒng)參考模型,該模型定義了6個(gè)基本模塊、5個(gè)接口,給出了抽象的工作流管理系統(tǒng)的功能組成部件及工作流服務(wù)的核心[9-10],它借助于一個(gè)或多個(gè)工作流執(zhí)行引擎,激活并解釋工作流的執(zhí)行,并與外部的應(yīng)用程序進(jìn)行交互,完成工作流過(guò)程實(shí)例的創(chuàng)建、執(zhí)行與管理。
圖1 工作流管理系統(tǒng)模型示意
工作流管理系統(tǒng)的實(shí)現(xiàn)原理: 通過(guò)分析、建模及系統(tǒng)定義,從企業(yè)業(yè)務(wù)流程中抽象出工作流模型,使用工作流定義的輔助工具編輯并建立工作流模型庫(kù);生成模型實(shí)例后,交由工作流引擎解釋執(zhí)行[11];工作流引擎按照建立階段的工作流程定義,調(diào)度完成任務(wù)所需要的數(shù)據(jù)和角色等資源,控制任務(wù)的開始、結(jié)束及其內(nèi)部運(yùn)行狀態(tài),維護(hù)工作流中文檔和數(shù)據(jù)的流向,為工作流程提供運(yùn)行環(huán)境[12]。圖2所示為工作流管理系統(tǒng)實(shí)現(xiàn)原理。
該系統(tǒng)采用工作流技術(shù),開發(fā)環(huán)境為Windows Server 2003(sp4) + IIS6.0 +Oracle 11g。網(wǎng)頁(yè)框架、布局設(shè)計(jì)以及靜態(tài)網(wǎng)頁(yè)部分采用的開發(fā)工具為Microsoft公司的Visual Studio 2008,圖像處理使用Photo-shop軟件。
問(wèn)題井管理系統(tǒng)分為三大功能模塊: 1) 流程管理模塊,根據(jù)工作人員的不同權(quán)限,實(shí)現(xiàn)問(wèn)題井的上報(bào)、流轉(zhuǎn)和審批等業(yè)務(wù)流程;2) 狀態(tài)管理模塊,對(duì)完成審核的問(wèn)題井進(jìn)行數(shù)據(jù)錄入、流程信息查詢及問(wèn)題發(fā)生率統(tǒng)計(jì),將統(tǒng)計(jì)結(jié)果以GridView自定義報(bào)表和圖形顯示,為問(wèn)題井管理提供數(shù)據(jù)支持;3) 系統(tǒng)管理,對(duì)處于審核狀態(tài)的問(wèn)題井進(jìn)行限期,超出審批時(shí)間則進(jìn)行超限提醒,完成用戶添加和權(quán)限配置。系統(tǒng)功能架構(gòu)如圖3所示。
圖3 系統(tǒng)功能架構(gòu)示意
2.2.1流程管理模塊
1) 問(wèn)題井上報(bào)。問(wèn)題井上報(bào)模塊采用工作流引擎技術(shù),用戶通過(guò)客戶端的流程初始化、獲取和結(jié)束等操作,將關(guān)于流程控制的請(qǐng)求發(fā)送到外部接口,判斷請(qǐng)求類型,調(diào)用相應(yīng)的處理組件完成數(shù)據(jù)庫(kù)中與本次請(qǐng)求相關(guān)的讀寫和更改操作,并將結(jié)果返回。工作流引擎在執(zhí)行過(guò)程中維護(hù)工作流的控制數(shù)據(jù),通過(guò)工作流控制數(shù)據(jù)來(lái)辨別每個(gè)過(guò)程或活動(dòng)實(shí)例的狀態(tài),判斷流程下步到達(dá)的范圍,推動(dòng)工作流過(guò)程的執(zhí)行。工作流引擎流程如圖4所示。
2) 問(wèn)題井審核。在問(wèn)題井管理過(guò)程中,通過(guò)人工填報(bào)問(wèn)題井核實(shí)單,逐級(jí)傳遞完成審核并下發(fā)工作計(jì)劃,造成大量人力、物力及工作時(shí)間的浪費(fèi),效率非常低下,本文采用工作流驅(qū)動(dòng)技術(shù)實(shí)現(xiàn)問(wèn)題井的審批流程。通過(guò)分析各個(gè)模塊工作流程,分析流程中的數(shù)據(jù),得出工作流驅(qū)動(dòng)的模型,其體系結(jié)構(gòu)如圖5所示。工作流參考模型可以抽象地表示工作流管理系統(tǒng)的功能組成部件和接口,建立起互動(dòng)操作的公共平臺(tái)[13-14]。由圖5可以看出,工作流管理系統(tǒng)主要由過(guò)程信息、組織信息和資源信息三部分組件構(gòu)成。過(guò)程信息用來(lái)定義和描述工作流的過(guò)程邏輯,是整個(gè)工作流模型的基礎(chǔ)與核心;組織信息為組織結(jié)構(gòu)建模,表述工作流模型中有關(guān)人員的視圖和內(nèi)部層次關(guān)系;資源信息用來(lái)定義工作流運(yùn)行過(guò)程中需要用到的數(shù)據(jù)。
流程管理根據(jù)工作人員的不同權(quán)限,顯示不同的界面,通過(guò)提取數(shù)據(jù)庫(kù)中的動(dòng)、靜態(tài)數(shù)據(jù),完成問(wèn)題井核實(shí)單的上報(bào),經(jīng)由相關(guān)人員審批完成歸檔,并記錄相應(yīng)流程節(jié)點(diǎn)的信息。
圖4 工作流引擎流程示意
圖5 工作流驅(qū)動(dòng)模型示意
2.2.2狀態(tài)管理模塊
1) 問(wèn)題井?dāng)?shù)據(jù)錄入。問(wèn)題井?dāng)?shù)據(jù)錄入采用ADO.NET技術(shù)讀取指定的XML文件,提取問(wèn)題井基本信息顯示到數(shù)據(jù)頁(yè)面,并在頁(yè)面錄入新數(shù)據(jù)。通過(guò)ADO的Connection對(duì)象和ODBC與數(shù)據(jù)庫(kù)建立鏈接,執(zhí)行指定的SQL語(yǔ)句,利用XMLReaders 顯示對(duì) XML 數(shù)據(jù)流的訪問(wèn),生成數(shù)據(jù)集。DOM將預(yù)先定義好的XSL文件中的樣式信息添加到XML數(shù)據(jù)中,使其變成可以在瀏覽器上顯示的樣式化數(shù)據(jù),完成數(shù)據(jù)交換[15]。ADO與XML數(shù)據(jù)交換模型如圖6所示。
圖6 ADO與XML數(shù)據(jù)交換模型示意
問(wèn)題井?dāng)?shù)據(jù)錄入自動(dòng)提取完成審批的問(wèn)題井,工程技術(shù)人員通過(guò)選定問(wèn)題井的井號(hào),顯示問(wèn)題井的基本信息,根據(jù)問(wèn)題井的設(shè)計(jì)及完成情況,依次完成問(wèn)題井的設(shè)計(jì)錄入、開工錄入、完工錄入,系統(tǒng)自動(dòng)在數(shù)據(jù)庫(kù)中更新當(dāng)前節(jié)點(diǎn)處的用戶和錄入時(shí)間。
2) 流程信息查詢。流程信息查詢利用多數(shù)據(jù)融合技術(shù),設(shè)計(jì)了1個(gè)包括三個(gè)層次(數(shù)據(jù)、信息和決策)和兩個(gè)過(guò)程(抽象、歸類)的多數(shù)據(jù)源數(shù)據(jù)融合模型[16],如圖7所示。數(shù)據(jù)層包括單井動(dòng)、靜態(tài)數(shù)據(jù)庫(kù)和作業(yè)數(shù)據(jù)庫(kù)等數(shù)據(jù)源,解決不同數(shù)據(jù)類型的格式歸并、關(guān)鍵字匹配等問(wèn)題;信息層利用數(shù)據(jù)層的數(shù)據(jù)進(jìn)行模式匹配,是具體數(shù)據(jù)模式化過(guò)程;決策層是整個(gè)系統(tǒng)的高層,主要完成系統(tǒng)中的態(tài)勢(shì)評(píng)估和決策分析。這三個(gè)層次通過(guò)兩個(gè)過(guò)程銜接起來(lái),數(shù)據(jù)層經(jīng)過(guò)抽象過(guò)程過(guò)渡到信息層,信息層的模型由歸類過(guò)程完成態(tài)勢(shì)評(píng)估和決策任務(wù)。
通過(guò)多數(shù)據(jù)融合模型,將單井動(dòng)、靜態(tài)數(shù)據(jù)和作業(yè)數(shù)據(jù)進(jìn)行合成,完成問(wèn)題井各項(xiàng)數(shù)據(jù)的引用和維護(hù),并使設(shè)計(jì)所需數(shù)據(jù)以固定格式直接提取,通過(guò)水晶報(bào)表生成打印模板,根據(jù)用戶輸入的篩選條件過(guò)濾數(shù)據(jù)集中的數(shù)據(jù),填充報(bào)表模板并生成所需要的報(bào)表文件。通過(guò)對(duì)模板解析出的不同標(biāo)簽,執(zhí)行導(dǎo)出打印操作,便于查閱。問(wèn)題井及施工情況管理界面如圖8所示。
圖7 多數(shù)據(jù)融合模型示意
圖8 問(wèn)題井及施工情況管理界面示意
3) 問(wèn)題井發(fā)生率統(tǒng)計(jì)。問(wèn)題井發(fā)生率統(tǒng)計(jì)應(yīng)用復(fù)雜SQL語(yǔ)句技術(shù)和臨時(shí)表技術(shù),復(fù)雜SQL語(yǔ)句由基礎(chǔ)SQL語(yǔ)句復(fù)合嵌套、排列組合而成,對(duì)Oracle數(shù)據(jù)庫(kù)中的問(wèn)題井發(fā)生情況進(jìn)行定制查詢,查詢結(jié)果緩存在數(shù)據(jù)庫(kù)臨時(shí)表中。臨時(shí)表技術(shù)用于下述情況: 多表鏈接查詢中數(shù)據(jù)表結(jié)構(gòu)復(fù)雜、內(nèi)容繁多;鏈接操作對(duì)數(shù)據(jù)量大的表頻繁訪問(wèn)但范圍固定集中;訪問(wèn)得到的結(jié)果集非常小[17-18]。臨時(shí)表避免了傳統(tǒng)數(shù)據(jù)鏈接中對(duì)源數(shù)據(jù)表的頻繁讀操作,將對(duì)大數(shù)據(jù)量表的訪問(wèn)改為對(duì)臨時(shí)表的鏈接運(yùn)算。作為數(shù)據(jù)處理的中間表,在會(huì)話結(jié)束后,臨時(shí)表中的數(shù)據(jù)被清空,從而減少系統(tǒng)開銷,提高大數(shù)據(jù)量的實(shí)時(shí)處理性能。
通過(guò)合并單元格,自定義多行多列的GridView不規(guī)則表頭,將查詢結(jié)果按照礦別、隊(duì)別、井別顯示在GridView控件中。首先清空并隱藏GridView默認(rèn)的表格頭行,創(chuàng)建字符串?dāng)?shù)組存放表頭單元格文本作為標(biāo)題,在標(biāo)題文本中插入換行符來(lái)形成多行標(biāo)題。其次在每個(gè)表頭單元格的屬性中設(shè)置Rowspan和Colspan的數(shù)值來(lái)合并對(duì)應(yīng)行和列中的單元格,以達(dá)到自定義Gridview不規(guī)則表頭顯示數(shù)據(jù)的目的。圖9所顯示的是問(wèn)題井發(fā)生率統(tǒng)計(jì)界面。
4) 圖表可視化。圖表可視化采用ExtJS技術(shù),ExtJS是一種通過(guò)JavaScript動(dòng)態(tài)創(chuàng)建頁(yè)面標(biāo)記元素的Ajax框架。ExtJS由一系列類庫(kù)組成, 在頁(yè)面成功加載ExtJS庫(kù)后,Ext.data.DataProxy獲取服務(wù)器端或本地的問(wèn)題井相關(guān)數(shù)據(jù),數(shù)據(jù)讀取器格式化數(shù)據(jù)并將其解析為Ext.data.Record的數(shù)據(jù)集,存儲(chǔ)在Ext.data.Store中,通過(guò)調(diào)用 ExtJS 的類及圖表控件將問(wèn)題井?dāng)?shù)據(jù)進(jìn)行可視化[19-20]。問(wèn)題井統(tǒng)計(jì)表會(huì)隨同圖形、曲線發(fā)布,圖形、曲線隨著數(shù)據(jù)的變化而改變,用戶可以準(zhǔn)確、直觀地獲取生產(chǎn)數(shù)據(jù)信息,并根據(jù)數(shù)據(jù)變化趨勢(shì)做出相應(yīng)的分析和決策。
圖9 問(wèn)題井發(fā)生率統(tǒng)計(jì)界面示意
2.2.3系統(tǒng)管理模塊
1) 系統(tǒng)超限提醒。為了避免工作人員疏忽影響問(wèn)題井上報(bào)和審批進(jìn)程,超限提醒模塊利用流程監(jiān)控、業(yè)務(wù)提醒技術(shù),啟動(dòng)在本地駐留的監(jiān)控程序,自動(dòng)采集問(wèn)題井進(jìn)度和數(shù)據(jù)庫(kù)操作信息,監(jiān)控和管理問(wèn)題井的節(jié)點(diǎn)和狀態(tài)。當(dāng)數(shù)據(jù)庫(kù)中的內(nèi)容發(fā)生了申請(qǐng)、設(shè)計(jì)、審批、分發(fā)等操作時(shí),工作流程處于相應(yīng)的節(jié)點(diǎn),當(dāng)該節(jié)點(diǎn)的用戶登錄后,監(jiān)控程序自動(dòng)更新問(wèn)題井發(fā)生情況,對(duì)超過(guò)期限未上報(bào)、待審核的問(wèn)題井形成預(yù)警通知,提醒用戶,并能監(jiān)控整個(gè)流程發(fā)生的變化,使各項(xiàng)工作流程順利推進(jìn)。
2) 用戶管理。該功能實(shí)現(xiàn)了人員維護(hù)和權(quán)限設(shè)定。人員維護(hù)完成人員信息,人員部門信息的錄入、刪除、修改等管理;權(quán)限設(shè)定用于分配和管理工作人員對(duì)流程中各個(gè)節(jié)點(diǎn)的權(quán)限,由于系統(tǒng)權(quán)限設(shè)置的不同,系統(tǒng)呈現(xiàn)給用戶的菜單及功能也不相同,根據(jù)工作流的特點(diǎn),系統(tǒng)可以依據(jù)業(yè)務(wù)流程方向個(gè)性化定制用戶的權(quán)限,配置人員的職務(wù)信息和管理范圍,實(shí)現(xiàn)靈活的權(quán)限分配及資源授權(quán)原則,打破了傳統(tǒng)的固定分級(jí)模式,提高了流程靈活性和系統(tǒng)可適應(yīng)性。
筆者研發(fā)的油田問(wèn)題井管理系統(tǒng),是在工作流管理系統(tǒng)模型上結(jié)合油田問(wèn)題井管理需求開發(fā)的標(biāo)準(zhǔn)化系統(tǒng)。文中利用工作流驅(qū)動(dòng)技術(shù),通過(guò)分析審批流程數(shù)據(jù),得出工作流驅(qū)動(dòng)模型,實(shí)現(xiàn)問(wèn)題井核實(shí)單上報(bào)和逐級(jí)審批;結(jié)合多數(shù)據(jù)融合技術(shù)以及ADO.NET技術(shù)實(shí)現(xiàn)問(wèn)題井?dāng)?shù)據(jù)錄入、流程信息查詢、超限提醒和導(dǎo)出打印等功能,通過(guò)自定義多行多列的不規(guī)則GridView表頭實(shí)現(xiàn)問(wèn)題發(fā)生率統(tǒng)計(jì),利用ExtJS技術(shù)完成圖表可視化展示;系統(tǒng)管理可以個(gè)性化定制審批流程中的用戶權(quán)限,從而體現(xiàn)出流程的靈活性。該系統(tǒng)讓用戶直觀、方便、快捷地了解問(wèn)題井的運(yùn)行狀態(tài),為油田生產(chǎn)提供數(shù)據(jù)支持。通過(guò)使用該系統(tǒng)實(shí)現(xiàn)對(duì)問(wèn)題井信息化、可視化、實(shí)時(shí)化管理,為問(wèn)題井的高效管理提供了保障。
參考文獻(xiàn):
[1]龍軍一.基于自定義工作流的辦公自動(dòng)化系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].華南理工大學(xué),2012.
[2]李濤,朱一凡,魏洪濤.基于.Net的工作流管理系統(tǒng)設(shè)計(jì)[J].計(jì)算機(jī)工程與設(shè)計(jì),2005,26(10): 2798-2801.
[3]陳洪娜,祖旭,周峰.工作流技術(shù)研究發(fā)展?fàn)顩r、研究?jī)?nèi)容及趨勢(shì)[J].重慶工學(xué)院學(xué)報(bào),2006,20(02): 65-69.
[4]范玉順.工作流管理技術(shù)研究與產(chǎn)品現(xiàn)狀及發(fā)展趨勢(shì)[J].計(jì)算機(jī)集成制造系統(tǒng),2000,6(01): 1-7.
[5]胡華,宋荷慶,王回進(jìn).面向 Web 的工作流管理[J].計(jì)算機(jī)工程與設(shè)計(jì),2002(04): 31-33.
[6]戴小平,周松.一種基于Web服務(wù)的工作流協(xié)作系統(tǒng)模型[J].工業(yè)控制計(jì)算機(jī),2013(02): 79-81.
[7]張濤,戰(zhàn)洪飛,孫靜,等.基于Web的企業(yè)工作流管理系統(tǒng)的研究[J].計(jì)算機(jī)應(yīng)用研究,2002(05): 130-133.
[8]王志曉,呂林濤,門文耀.基于ASP.NET技術(shù)和工作流模型的網(wǎng)上審批系統(tǒng)[J].計(jì)算機(jī)工程,2004,30(01): 83-84.
[9]胡衛(wèi)軍,陳傳波.通用工作流管理模式的分折與研究[M].計(jì)算機(jī)工程與應(yīng)用,1999,7(03): 32-34.
[10]汪家常,徐昶,季小明.基于工作流的高校學(xué)費(fèi)管理系統(tǒng)研究[J].計(jì)算機(jī)應(yīng)用與軟件,2012(06): 294-297.
[11]楊明順,韓周鵬,余婷.一種輕型工作流引擎的設(shè)計(jì)與實(shí)現(xiàn)[J].西安理工大學(xué)學(xué)報(bào),2013(01): 20-26.
[12]范會(huì)聯(lián).基于自定義表單的工作流過(guò)程定義分析與設(shè)計(jì)[J].計(jì)算機(jī)應(yīng)用研究,2009(09): 3372-3374.
[13]楊雨圖,緱斌麗.基于工作流的技術(shù)文件審查系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].制造業(yè)自動(dòng)化,2011(33): 28-34.
[14]毛根生,毛波影,王丹亞.文檔管理系統(tǒng)中的工作流技術(shù)[J].浙江大學(xué)學(xué)報(bào)(工學(xué)版),2000,34(01): 60-64.
[15]梅中輝,經(jīng)亞枝..NET技術(shù)中的數(shù)據(jù)訪問(wèn)技術(shù)——ADO.NET[J].微計(jì)算機(jī)信息,2003,19(01): 70-71.
[16]朱付保,徐顯景,霍曉齊.多源數(shù)據(jù)融合技術(shù)在后備干部管理系統(tǒng)中的應(yīng)用[J].微型電腦應(yīng)用,2014,30(01): 10-12.
[17]胡配祥,張成叔,陳良敏.SQL臨時(shí)表在科研管理系統(tǒng)數(shù)據(jù)處理中的應(yīng)用[J].洛陽(yáng)理工學(xué)院學(xué)報(bào)(自然科學(xué)版),2011,21(02): 45-48.
[18]許寧.臨時(shí)表在數(shù)據(jù)庫(kù)中的應(yīng)用[J].沈陽(yáng)化工學(xué)院學(xué)報(bào),2009,20(03): 234-236.
[19]鞠鳳娟,吳志峰.EXT技術(shù)在Web界面設(shè)計(jì)與實(shí)現(xiàn)中的應(yīng)用研究[J].計(jì)算機(jī)與現(xiàn)代化,2008(11): 102-104.
[20]王曉燕,宋紹云.EXT的組件體系結(jié)構(gòu)研究[J].電腦知識(shí)與技術(shù),2011,7(09): 1999-2001.