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