專利名稱:一種基于知識(shí)的工作流管理系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及知識(shí)工程和工作流管理系統(tǒng)。背景技術(shù):
工作流管理系統(tǒng)WfMS (Workflow Management System)是計(jì)算機(jī)集成制造系統(tǒng)及企業(yè)資源規(guī)劃研究領(lǐng)域的一個(gè)重要分支,它已經(jīng)被實(shí)踐證明能夠大大提高管理過程的效率,所以被廣泛應(yīng)用于辦公自動(dòng)化、計(jì)算機(jī)輔助設(shè)計(jì)、群件應(yīng)用及業(yè)務(wù)流程重組等領(lǐng)域。但是目前工作流管理系統(tǒng)的應(yīng)用存在著兩個(gè)大的問題。1、自成體系,沒有一致的標(biāo)準(zhǔn)。目前對(duì)于工作流管理系統(tǒng)的研究主要停留在具體的應(yīng)用上,尚不存在一種完備的、通用的體系結(jié)構(gòu)?,F(xiàn)在少數(shù)公司開發(fā)出了可以適應(yīng)多種環(huán)境的工作流管理系統(tǒng),但是這些工作流管理系統(tǒng)都是根據(jù)各自的設(shè)計(jì)來實(shí)現(xiàn)的,沒有一個(gè)一致的標(biāo)準(zhǔn)。2、現(xiàn)有的工作流管理系統(tǒng)大都缺乏靈活性和可擴(kuò)展性,在流程模型的表示機(jī)制及系統(tǒng)的控制上缺乏柔性,無法自動(dòng)適應(yīng)流程在實(shí)際執(zhí)行過程中的變化,這在一定程度上阻礙了系統(tǒng)的發(fā)展。因此構(gòu)建靈活的、能夠自適應(yīng)的、智能化的工作流管理系統(tǒng)模型已成為工作流管理系統(tǒng)研究的重點(diǎn)。目前國(guó)內(nèi)已經(jīng)有人研究過基于知識(shí)的工作流管理系統(tǒng),并取得的一定的進(jìn)展。但是他們主要把關(guān)注點(diǎn)放在運(yùn)用流程組織技術(shù)對(duì)流程進(jìn)行自動(dòng)的組織和對(duì)當(dāng)前存在的流程進(jìn)行可行性檢查上。不可否認(rèn),自組織流程是智能化工作流管理系統(tǒng)發(fā)展的最高級(jí)階段,但是這項(xiàng)技術(shù)在知識(shí)庫系統(tǒng)中的知識(shí)沒有擴(kuò)充到一定的階段之前是不具有實(shí)用性的。因?yàn)椋?目前大多數(shù)行業(yè)的業(yè)務(wù)處理流程都形成了一定的標(biāo)準(zhǔn),通過自組織生成的流程往往不符合這些標(biāo)準(zhǔn),所以難以在實(shí)際中應(yīng)用。基于以上觀點(diǎn),本方法把知識(shí)庫應(yīng)用的重點(diǎn)放在智能的對(duì)任務(wù)執(zhí)行條件進(jìn)行更改上,這在現(xiàn)實(shí)中是很有應(yīng)用價(jià)值的。應(yīng)用本方法的成果企業(yè)不必再因?yàn)橐粋€(gè)部門或者一種原材料的發(fā)生變化而重新組織工作流,從而達(dá)到減少成本提高效率的目的。
發(fā)明內(nèi)容
本發(fā)明方法將當(dāng)前知識(shí)工程的研究成果應(yīng)用于工作流管理系統(tǒng),擴(kuò)展工作流管理系統(tǒng)的功能,使工作流管理系統(tǒng)具有一定程度上的智能化,從而大大提高工作流管理系統(tǒng)的柔性和可擴(kuò)展性。本發(fā)明技術(shù)方案是基本工作流管理系統(tǒng)的事件處理器的流程本發(fā)明方法實(shí)現(xiàn)的工作流管理系統(tǒng)包括以下幾個(gè)部分組成
過程定義文件根據(jù)用戶的實(shí)際運(yùn)行流程定義的能夠?yàn)楣ぷ髁饕嫠忉尩奈募?,工作流引擎根?jù)該文件的內(nèi)容組裝工作流實(shí)例;
系統(tǒng)組件庫包含了過程定義中需要用到的各種組件的定義,這些組件主要分為標(biāo)示、 活動(dòng)和路由三大類;
流程控制器提供了系統(tǒng)流程控制的各種功能,如流程初始化,流程開始,流程結(jié)束,流程終止等;
事件處理器提供了工作流引擎在工作流執(zhí)行中可能發(fā)出的各種事件的定義及系統(tǒng)默認(rèn)的事件處理器;
任務(wù)控制器控制活動(dòng)中各類具體任務(wù)的執(zhí)行,提供對(duì)任務(wù)的具體操作,如初始化、資源獲取、人工任務(wù)的執(zhí)行者分配,任務(wù)結(jié)果查詢等;
數(shù)據(jù)庫交互層與流程控制數(shù)據(jù)交互,該層目前使用Hibernate技術(shù)實(shí)現(xiàn)與流程控制數(shù)據(jù)庫的交互,定義了針對(duì)各個(gè)數(shù)據(jù)表的操作。用戶也可以定義自己的數(shù)據(jù)庫操作層來實(shí)現(xiàn)與數(shù)據(jù)庫的交互;
知識(shí)庫推理機(jī)主要包括本體定義文件和推理機(jī)兩個(gè)部分本體定義文件定義了用戶在實(shí)際應(yīng)用中涉及到的各種組織和資源以及它們之間的各種關(guān)系、規(guī)則;本發(fā)明方法使用 Jena推理機(jī)對(duì)知識(shí)本體進(jìn)行查詢;
工作流管理系統(tǒng)首先根據(jù)原始定義文件使用系統(tǒng)組件庫里的組件完成工作流實(shí)例的裝配。然后激活該工作流實(shí)例,由流程控制器負(fù)責(zé)對(duì)流程中各個(gè)活動(dòng)的調(diào)度,如果當(dāng)前活動(dòng)包含任務(wù)則將該任務(wù)分配給任務(wù)控制器進(jìn)行處理,活動(dòng)停止調(diào)度,等待任務(wù)完成;
在任務(wù)完成后,流程控制器會(huì)根據(jù)任務(wù)處理結(jié)果和對(duì)該活動(dòng)的定義,進(jìn)行下一步調(diào)度, 直到到達(dá)結(jié)束節(jié)點(diǎn);
如果在任務(wù)控制器處理任務(wù)的過程中發(fā)生由于流程組織的相關(guān)因素(如資源、物流、人事等)發(fā)生變化無法按照原有的工作流過程定義控制工作流的執(zhí)行的情況時(shí),任務(wù)控制器發(fā)出條件不足的事件,事件處理器接收到該事件,分析事件原因,并對(duì)知識(shí)庫推理機(jī)進(jìn)行查詢;
根據(jù)從知識(shí)庫推理機(jī)得到的查詢結(jié)果,事件處理器會(huì)修改過程定義文件中導(dǎo)致條件不足的因素的賦值,從而完成對(duì)過程定義文件的自動(dòng)修改;
修改后的過程定義文件再次運(yùn)行時(shí)將不會(huì)再發(fā)生上次條件不足的狀況。將應(yīng)用系統(tǒng)中與流程組織相關(guān)的特定知識(shí)整合到知識(shí)庫中,該知識(shí)庫通過推理機(jī)與工作流管理系統(tǒng)進(jìn)行交互。當(dāng)工作流管理系統(tǒng)發(fā)現(xiàn)由于流程組織的相關(guān)因素(如資源、物流、人事等)發(fā)生變化無法按照原有的工作流過程定義控制工作流的執(zhí)行時(shí),就通過推理機(jī)對(duì)知識(shí)庫中的知識(shí)進(jìn)行查詢,根據(jù)查詢的結(jié)果自動(dòng)對(duì)過程定義進(jìn)行修改,使工作流管理系統(tǒng)具有一定程度的自適應(yīng)能力。本發(fā)明有益效果是與其它研究者把知識(shí)庫作為工作流管理系統(tǒng)的一個(gè)部分集成到工作流引擎中不同,本方法實(shí)現(xiàn)的系統(tǒng)把知識(shí)庫部分作為一個(gè)外在的工具獨(dú)立存在。系統(tǒng)通過事件機(jī)制與知識(shí)庫系統(tǒng)發(fā)生交互,這樣避免了輪詢和其它一些交互方法造成的浪費(fèi)。通過修改事件監(jiān)聽器還可以方便的拆裝知識(shí)庫系統(tǒng)。同時(shí),因?yàn)橹R(shí)庫中存放的是客戶的流程組織相關(guān)知識(shí),將知識(shí)庫系統(tǒng)獨(dú)立出來也方便針對(duì)不同的客戶進(jìn)行知識(shí)庫系統(tǒng)的重構(gòu)。本發(fā)明的有益效果是當(dāng)用戶與流程組織相關(guān)的因素發(fā)生變化的時(shí)候,不必再像以前一樣使用人工的方法從新定義過程定義,甚至重新構(gòu)建工作流管理系統(tǒng)。系統(tǒng)會(huì)根據(jù)在構(gòu)建應(yīng)用時(shí)在知識(shí)庫存放的流程組織知識(shí)自動(dòng)的修改過程定義文件,并重新運(yùn)行該流程。這樣減少了系統(tǒng)維護(hù)的工作量,同時(shí)降低了用戶的成本。四
圖1為本發(fā)明流程2為本發(fā)明系統(tǒng)組成圖五具體實(shí)施例方式
1、基本工作流管理系統(tǒng)使用Spring框架搭建起一個(gè)可以獨(dú)立使用的基本工作流管理系統(tǒng)。即由過程定義文件、系統(tǒng)組件庫、流程控制器、事件處理器、任務(wù)控制器、數(shù)據(jù)庫交互層和知識(shí)庫推理機(jī)構(gòu)成。本發(fā)明方法運(yùn)用Spring框架對(duì)系統(tǒng)的各個(gè)部分進(jìn)行集成,這樣設(shè)計(jì)的目的是為了使用Spring的IoC (控制反轉(zhuǎn))技術(shù)對(duì)系統(tǒng)的各個(gè)部分實(shí)現(xiàn)解耦,從而提高了系統(tǒng)的在維護(hù)時(shí)的靈活性,通過在IoC容器中注入不同的組件,可以方便的實(shí)現(xiàn)系統(tǒng)組件的更換。在考慮IoC的基本原理后,發(fā)現(xiàn)其實(shí)IoC的所要達(dá)到的目的和工作流引擎中流程定義和解釋組件的所要達(dá)到的目的是一致的,都是將原本沒有必然關(guān)系的各個(gè)部分通過注入屬性的方式整合在一起?;谝陨纤枷?,本發(fā)明方法采用多個(gè)IoC容器組合的方式進(jìn)行系統(tǒng)的設(shè)計(jì)一個(gè)主容器用于工作流管理系統(tǒng)的整合,而其它IoC子容器則扮演的流程解釋器的角色,簡(jiǎn)化了系統(tǒng)的設(shè)計(jì)。2、建立具體應(yīng)用的流程組織知識(shí)庫提取使用該工作流管理系統(tǒng)的具體應(yīng)用中與流程組織構(gòu)建相關(guān)聯(lián)的各種知識(shí),將其整合后存放到知識(shí)庫中。本方法把知識(shí)庫應(yīng)用的重點(diǎn)放在智能的對(duì)任務(wù)執(zhí)行條件進(jìn)行更改上,這在現(xiàn)實(shí)中具有應(yīng)用價(jià)值。應(yīng)用本方法的成果企業(yè)不必再因?yàn)橐粋€(gè)部門或者一種原材料的發(fā)生變化而重新組織工作流,從而達(dá)到減少成本提高效率的目的。3、擴(kuò)展基本工作流管理系統(tǒng)的事件處理器通過擴(kuò)展事件處理器,使系統(tǒng)可與知識(shí)庫發(fā)生交互,并能自動(dòng)修改過程定義文件。與其它研究者把知識(shí)庫作為工作流管理系統(tǒng)的一個(gè)部分集成到工作流引擎中不同,本方法實(shí)現(xiàn)的系統(tǒng)把知識(shí)庫部分作為一個(gè)外在的工具獨(dú)立存在。系統(tǒng)通過事件機(jī)制與知識(shí)庫系統(tǒng)發(fā)生交互,這樣避免了輪詢和其它一些交互方法造成的浪費(fèi)。通過修改事件監(jiān)聽器還可以方便的拆裝知識(shí)庫系統(tǒng)。根據(jù)
基本工作流管理系統(tǒng)的事件處理器的流程系統(tǒng)首先根據(jù)原始定義文件使用系統(tǒng)組件庫里的組件完成工作流實(shí)例的裝配。然后激活該工作流實(shí)例,由流程控制器負(fù)責(zé)對(duì)流程中各個(gè)活動(dòng)的調(diào)度,如果當(dāng)前活動(dòng)包含任務(wù)則將該任務(wù)分配給任務(wù)控制器進(jìn)行處理,活動(dòng)停止調(diào)度,等待任務(wù)完成。在任務(wù)完成后,流程控制器會(huì)根據(jù)任務(wù)處理結(jié)果和對(duì)該活動(dòng)的定義,進(jìn)行下一步調(diào)度,直到到達(dá)結(jié)束節(jié)點(diǎn)。如果在任務(wù)控制器處理任務(wù)的過程中發(fā)生由于流程組織的相關(guān)因素(如資源、物流、人事等)發(fā)生變化無法按照原有的工作流過程定義控制工作流的執(zhí)行的情況時(shí),任務(wù)控制器發(fā)出條件不足的事件,事件處理器接收到該事件,分析事件原因,并對(duì)知識(shí)庫推理機(jī)進(jìn)行查詢。根據(jù)從知識(shí)庫推理機(jī)得到的查詢結(jié)果,事件處理器會(huì)自動(dòng)的修改過程定義文件中導(dǎo)致條件不足的因素的賦值,從而完成對(duì)過程定義文件的自動(dòng)修改。修改后的過程定義文件再次運(yùn)行時(shí)將不會(huì)再發(fā)生上次條件不足的狀況。
權(quán)利要求
1.基本知識(shí)的工作流管理系統(tǒng)其特征是實(shí)現(xiàn)工作流管理系統(tǒng)包括以下幾個(gè)部分組成過程定義文件根據(jù)用戶的實(shí)際運(yùn)行流程定義的能夠?yàn)楣ぷ髁饕嫠忉尩奈募ぷ髁饕娓鶕?jù)該文件的內(nèi)容組裝工作流實(shí)例;系統(tǒng)組件庫包含了過程定義中需要用到的各種組件的定義,這些組件主要分為標(biāo)示、 活動(dòng)和路由三大類;流程控制器提供了系統(tǒng)流程控制的各種功能,如流程初始化,流程開始,流程結(jié)束,流程終止;事件處理器提供了工作流引擎在工作流執(zhí)行中可能發(fā)出的各種事件的定義及系統(tǒng)默認(rèn)的事件處理器;任務(wù)控制器控制活動(dòng)中各類具體任務(wù)的執(zhí)行,提供對(duì)任務(wù)的具體操作,如初始化、資源獲取、人工任務(wù)的執(zhí)行者分配,任務(wù)結(jié)果查詢;數(shù)據(jù)庫交互層與流程控制數(shù)據(jù)交互,該層目前使用Hibernate技術(shù)實(shí)現(xiàn)與流程控制數(shù)據(jù)庫的交互,定義了針對(duì)各個(gè)數(shù)據(jù)表的操作;用戶也可以定義自己的數(shù)據(jù)庫操作層來實(shí)現(xiàn)與數(shù)據(jù)庫的交互; 知識(shí)庫推理機(jī)主要包括本體定義文件和推理機(jī)兩個(gè)部分本體定義文件定義了用戶在實(shí)際應(yīng)用中涉及到的各種組織和資源以及它們之間的各種關(guān)系、規(guī)則;本發(fā)明方法使用 Jena推理機(jī)對(duì)知識(shí)本體進(jìn)行查詢; 工作流管理系統(tǒng)的工作流程是首先根據(jù)原始定義文件使用系統(tǒng)組件庫里的組件完成工作流實(shí)例的裝配; 然后激活該工作流實(shí)例,由流程控制器負(fù)責(zé)對(duì)流程中各個(gè)活動(dòng)的調(diào)度,如果當(dāng)前活動(dòng)包含任務(wù)則將該任務(wù)分配給任務(wù)控制器進(jìn)行處理,活動(dòng)停止調(diào)度,等待任務(wù)完成;在任務(wù)完成后,流程控制器會(huì)根據(jù)任務(wù)處理結(jié)果和對(duì)該活動(dòng)的定義,進(jìn)行下一步調(diào)度, 直到到達(dá)結(jié)束節(jié)點(diǎn);如果在任務(wù)控制器處理任務(wù)的過程中發(fā)生由于流程組織的相關(guān)因素(如資源、物流、人事等)發(fā)生變化無法按照原有的工作流過程定義控制工作流的執(zhí)行的情況時(shí),任務(wù)控制器發(fā)出條件不足的事件,事件處理器接收到該事件,分析事件原因,并對(duì)知識(shí)庫推理機(jī)進(jìn)行查詢;根據(jù)從知識(shí)庫推理機(jī)得到的查詢結(jié)果,事件處理器會(huì)修改過程定義文件中導(dǎo)致條件不足的因素的賦值,從而完成對(duì)過程定義文件的自動(dòng)修改;修改后的過程定義文件再次運(yùn)行時(shí)將不會(huì)再發(fā)生上次條件不足的狀況。
全文摘要
基本知識(shí)的工作流管理系統(tǒng)包括過程定義文件根據(jù)用戶的實(shí)際運(yùn)行流程定義的能夠?yàn)楣ぷ髁饕嫠忉尩奈募?,工作流引擎根?jù)該文件的內(nèi)容組裝工作流實(shí)例;系統(tǒng)組件庫包含了過程定義中需要用到的各種組件的定義,這些組件主要分為標(biāo)示、活動(dòng)和路由三大類;流程控制器提供了系統(tǒng)流程控制的各種功能,如流程初始化,流程開始,流程結(jié)束,流程終止;事件處理器提供了工作流引擎在工作流執(zhí)行中可能發(fā)出的各種事件的定義及系統(tǒng)默認(rèn)的事件處理器;任務(wù)控制器、數(shù)據(jù)庫交互層和知識(shí)庫推理機(jī);本發(fā)明會(huì)根據(jù)在構(gòu)建應(yīng)用時(shí)在知識(shí)庫存放的流程組織知識(shí)自動(dòng)的修改過程定義文件,并重新運(yùn)行該流程。這樣減少了系統(tǒng)維護(hù)的工作量,同時(shí)降低了用戶的成本。
文檔編號(hào)G06Q10/00GK102184489SQ20111013985
公開日2011年9月14日 申請(qǐng)日期2011年5月27日 優(yōu)先權(quán)日2011年5月27日
發(fā)明者董曉龍, 陳國(guó)慶 申請(qǐng)人:蘇州兩江科技有限公司