欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

分布式工作流制定方法、執(zhí)行方法及執(zhí)行系統(tǒng)的制作方法

文檔序號:6619096閱讀:350來源:國知局
專利名稱:分布式工作流制定方法、執(zhí)行方法及執(zhí)行系統(tǒng)的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種分布式工作流制定方法和執(zhí)行方法,還涉及一種采用所述 定義方法并實施所述執(zhí)行方法的分布式工作流執(zhí)行系統(tǒng),屬計算機信息技術(shù)領(lǐng)域。背景4支術(shù)工作流技術(shù)為企業(yè)業(yè)務(wù)過程提供了一個從模型分析、建立、管理、仿真到 運行的完整框架,是實現(xiàn)業(yè)務(wù)過程管理與控制的一項關(guān)鍵性技術(shù)。工作流軟件 作為一種重要的工作支撐軟件,已在電子政務(wù),電子商務(wù)等應(yīng)用中扮演著越來 越重要的角色。目前,工作流技術(shù)已經(jīng)成為了計算機應(yīng)用的一個重要研究方向, 對工作流的技術(shù)研究以及相關(guān)的產(chǎn)品開發(fā)進入了一個繁榮的階段。早期的工作流應(yīng)用系統(tǒng)都是集中式的,即整個工作流管理系統(tǒng)只有一個核 心引擎,這個核心引擎負責(zé)解析工作流的流程定義,將工作流定義加載為運行 時定義,然后調(diào)度和監(jiān)控流程中每個活動的執(zhí)行。這種集中式的工作流管理系 統(tǒng)由于主要的負荷全集中在一個工作流引擎上,因此在可擴展性、健壯性以及 吞吐量等方面都不能滿足企業(yè)執(zhí)行大規(guī)模復(fù)雜應(yīng)用的需求,尤其是當(dāng)基于這種 集中式的工作流引擎的應(yīng)用同時被大量用戶訪問時,將有可能導(dǎo)致工作流服務(wù) 器的過載而癱瘓。此外,各個業(yè)務(wù)獨立的組織使用組織控制以外的工作流引擎 都存在安全性和穩(wěn)定性的隱患。然而,隨著計算機和網(wǎng)絡(luò)技術(shù)的發(fā)展,特別是Internet應(yīng)用日益普及的 情況下,現(xiàn)代企業(yè)和政府的信息資源越來越表現(xiàn)出一種異構(gòu)、分布、松散耦合 的特點,信息共享、資源整合、協(xié)同辦公已成為當(dāng)前眾多企業(yè)和政府的共同需求。上述的"集中式"工作流技術(shù)不能滿足社會化大生產(chǎn)的需要。首先, 一個 子系統(tǒng)是參與社會活動的子系統(tǒng),這個子系統(tǒng)的內(nèi)部工作往往依賴于與之關(guān)聯(lián)的其他子系統(tǒng)工作成果,即其他子系統(tǒng)工作輸出為本子系統(tǒng)工作的輸入;同樣, 本子系統(tǒng)的輸出也往往是與之關(guān)聯(lián)的其他子系統(tǒng)的輸入。在一個企業(yè)的工作流 過程中, 一個活動的運行,往往需要使用別的企業(yè)所提供的工作流過程,另一 方面,在一個子系統(tǒng)內(nèi)部,也需要將現(xiàn)有的各個子系統(tǒng)的工作流程集成起來。 因此,需要有一種柔性機制來建立跨子系統(tǒng)的分布式協(xié)同工作流程,并將 子系統(tǒng)間的工作流程和子系統(tǒng)內(nèi)部的多個工作流過程連接起來,并且能夠執(zhí)行 這一集成流程,從而克服上述弊端。,互聯(lián)網(wǎng)時代的來臨,為解決上述傳統(tǒng)工作流技術(shù)弊端提供了可能。然而, 到呵前為止,現(xiàn)有基于互聯(lián)網(wǎng)工作流技術(shù)并未解決下述弊端(1) 基于網(wǎng)站服務(wù)器的工作流技術(shù)這一技術(shù)方案和傳統(tǒng)"集中式"工 作流技術(shù)沒有本質(zhì)區(qū)別,它是將原來在局域網(wǎng)服務(wù)器的"工作流服務(wù)器"移到 在互聯(lián)網(wǎng)環(huán)境下的網(wǎng)站上,各個子系統(tǒng)通過互聯(lián)網(wǎng)訪問服務(wù)器,作為參與者在 工作流服務(wù)器引導(dǎo)下進行工作。這個模式無法實現(xiàn)子系統(tǒng)間的工作流程和子系 統(tǒng)內(nèi)部工作流程連接,而且一旦互聯(lián)網(wǎng)出現(xiàn)中斷現(xiàn)象,參與者無法進行工作。(2) 將各個子系統(tǒng)的工作流程包裝為Webservices服務(wù),并利用服務(wù)的 發(fā)現(xiàn)機制將這些服務(wù)連接起來,從而達到工作流過程集成的目的。盡管這類技 術(shù)在一定程度上解決了建立跨子系統(tǒng)間工作流以及將此工作流和子系統(tǒng)內(nèi)部 工作流集成問題,但這類技術(shù)要求將工作流程包裝為Webservices服務(wù)以及提 供服務(wù)的發(fā)現(xiàn)機制的技術(shù)人員具有較高的技術(shù)水平,這樣的技術(shù)水平對不涉足 互聯(lián)網(wǎng)軟件技術(shù)的中小企業(yè)顯然是不現(xiàn)實的,這類技術(shù)對于具有相同高深互聯(lián) 網(wǎng)專業(yè):f支術(shù)水平的子系統(tǒng)也"^午可行。(3)近幾年,在分布式工作流的研究領(lǐng)域,以IBM公司的基于"持久消 息隊列,,、瑞士蘇黎士大學(xué)的基于"事件驅(qū)動,,和美國達特茅斯大學(xué)的基于"可 移動代理,,的分布式工作流系統(tǒng)較具典型性和可行性。還有Yan等人釆用Petri 網(wǎng)來對分布式工作流系統(tǒng)進行建才莫,進而提出標(biāo)準(zhǔn)的工作流結(jié)構(gòu)和工作流塊的 概念,以此支持復(fù)雜的分布式工作流管理系統(tǒng)的實現(xiàn),Alonso等人考慮了分布 式工作流引擎中的數(shù)據(jù)管理問題,Pallec等人采用M0F(Meta-0bject Facility) 來達到工作流管理系統(tǒng)中的互操作性。然而,盡管這些方法或多或少都能達到 分布式工作流管理系統(tǒng)的目的,但在系統(tǒng)的自管理性、可擴展性方面并不令人 滿意。也出現(xiàn)過各類分布式工作流解決方案,但大多都停留在設(shè)想或方案探討 階段,并未真正形成成熟的技術(shù)。,由此可見,開發(fā)一種能夠建立子系統(tǒng)間協(xié)同工作流程的分布式工作流流 程,并將子系統(tǒng),間流程和子系統(tǒng)內(nèi)部的流程集成起來并加以執(zhí)行實施的技術(shù)是 非常必要的。 發(fā)明內(nèi)容本發(fā)明的目的在于提供一種分布式工作流制定和執(zhí)行方法和一種采用該 定:^方法并實施該執(zhí)行方法的執(zhí)行系統(tǒng),以便將子系統(tǒng)間的流程與子系統(tǒng)內(nèi)部 流,集成起來,進行協(xié)同工作和數(shù)據(jù)交換,同時還能夠?qū)崿F(xiàn)工作流的即插即用。本發(fā)明實現(xiàn)上述目的的技術(shù)方案是一種分布式工作流制定方法,首先由參與分布式工作流的任一方,即定義 方,進行分布式工作流定義并將該定義在執(zhí)行系統(tǒng)中發(fā)布,所述分布式工作流 定義包括對該分布式工作流開始、結(jié)束、活動、參與者和跳轉(zhuǎn)的定義,所述對 開始的定義包括工作流執(zhí)行時用以解釋工作流啟動方式的字符串,所述啟動方 式為自動啟動或人工啟動方式中的任意一種,所述對活動的定義包括描述該活動執(zhí)行時用以解釋所調(diào)用應(yīng)用單元接口名稱的字符串,當(dāng)所述活動涉及協(xié)同子 系統(tǒng)內(nèi)部工作流流程時,還包括描述所述活動執(zhí)行時用以解釋所啟動的子系統(tǒng) 內(nèi)部工作流流程的字符串,所述參與者包括分布式參與者和非分布式參與者, 所述分布式參與者為涉及子系統(tǒng)間工作流流程的參與者,所述非分布式參與者 為子系統(tǒng)內(nèi)部工作流流程的參與者,所述定義方在完成定義后,將所定義的分 布式工作流的定義發(fā)布到所述執(zhí)行系統(tǒng)的協(xié)同子系統(tǒng)中。一種分布式工作流的執(zhí)行方法,包括以下步驟(1)分布式工作流定義發(fā)布后,參與分布式工作流的協(xié)同子系統(tǒng)收到并 安裝所述工作流定義,才艮據(jù)所述開始定義中工作流4丸^f亍時用以解釋啟動工作流 的啟動方式和啟動點位置的字符串,對于自動啟動,相應(yīng)的子系統(tǒng)保存字符串 所表達的數(shù)據(jù)源模型,對于手動啟動,相應(yīng)的協(xié)同子系統(tǒng)生成并在字符串所代 表的啟動點位置顯示能夠表達工作流內(nèi)容的啟動工作流菜單項或按鈕,實現(xiàn)工 作流"即插即用";(2 )由承擔(dān)分布式工作流流程中第一項活動的協(xié)同子系統(tǒng)根據(jù)定義的啟 動方式自動或人工啟動所述分布式工作流流程,向中心服務(wù)器申請執(zhí)行所述分 布式工作流流程事件的識別碼(ID),創(chuàng)建所迷分布式工作流流程實例;(3)所述子系統(tǒng)執(zhí)行所創(chuàng)建的分布式工作流流程實例,即執(zhí)行分布式工 作流流禾呈定義的相應(yīng)活動;"4)各相關(guān)協(xié)同子系統(tǒng)根據(jù)中心服務(wù)器轉(zhuǎn)來或其他協(xié)同子系統(tǒng)直接發(fā)來 的協(xié)同數(shù)據(jù)^丸行分布式工作流流程定義的相應(yīng)活動,依據(jù)分布式工作流流程定 義的活動啟動協(xié)同子系統(tǒng)內(nèi)流程實例,周而復(fù)始直至本分布式工作流流程實例 完成,一種實施上述執(zhí)行方法的分布式工作流執(zhí)行系統(tǒng),由一個中心服務(wù)器和若干協(xié)同子系統(tǒng)組成,所述中心服務(wù)器和所述協(xié)同子系統(tǒng)之間通過計算機網(wǎng)絡(luò) 進行通訊,所述中心服務(wù)器設(shè)有服務(wù)器數(shù)據(jù)通訊模塊,所述服務(wù)器數(shù)據(jù)通訊模 塊用于中心服務(wù)器同各協(xié)同子系統(tǒng)進行通信,所述協(xié)同子系統(tǒng)設(shè)有數(shù)據(jù)通訊模 塊、協(xié)同數(shù)據(jù)處理模塊和工作流引擎,所述數(shù)據(jù)通訊模塊用于本協(xié)同子系統(tǒng)與 其他協(xié)同子系統(tǒng)和中心服務(wù)器之間的通信,所述數(shù)據(jù)處理模塊用于監(jiān)聽本地工 作流引擎、發(fā)送協(xié)同數(shù)據(jù)給中心處理服務(wù)器以及接受和處理其他協(xié)同子系統(tǒng)的 協(xié)同數(shù)據(jù),并將協(xié)同數(shù)據(jù)的處理情況通知給本地工作流引擎,所述工作流引擎 是各種應(yīng)用的控制和運行中心,用于解釋、控制并協(xié)調(diào)各工作流程的執(zhí)行以及 同步各個客戶端的反應(yīng)。
由于本發(fā)明在由若干協(xié)同子系統(tǒng)和中心服務(wù)器構(gòu)成的執(zhí)行系統(tǒng)中,通過參 與分布式工作流的任一方進行分布式工作流定義并發(fā)布到執(zhí)行所述分布式工
作流的執(zhí)行系統(tǒng)的協(xié)同子系統(tǒng)中,所述分布式工作流的定義確定了執(zhí)行所述分 布冬工作流的協(xié)同子系統(tǒng)、分布式工作流的啟動方式和啟動位置、所述協(xié)同子 系統(tǒng)所需要執(zhí)行的活動,所述活動需要啟動的協(xié)同子系統(tǒng)內(nèi)工作流流程以及協(xié) 同于系統(tǒng)間協(xié)同數(shù)據(jù)傳輸和活動跳轉(zhuǎn)等,所以實現(xiàn)了協(xié)同子系統(tǒng)間工作流流程 同協(xié)同子系統(tǒng)內(nèi)工作流流程的無縫連接以及工作流的即插即用,在執(zhí)行分布式 工作流流程時,利用在活動定義中用以解釋所調(diào)用應(yīng)用單元接口名稱的字符 串,調(diào)用相關(guān)活動所涉及的應(yīng)用單元,實現(xiàn)了分布式工作流流程對相應(yīng)的應(yīng)用 單元的調(diào)用,并通過協(xié)同子系統(tǒng)間的活動跳轉(zhuǎn),實現(xiàn)了分布式工作流的分布式 執(zhí)行,并且減少了所述分布式工作流執(zhí)行系統(tǒng)的中心服務(wù)器的數(shù)據(jù)處理量,使
得協(xié)同子系統(tǒng)在離線狀態(tài)下也能夠進行協(xié)同子系統(tǒng)內(nèi)部的協(xié)同工作并為在線 時和其他協(xié)同子系統(tǒng)協(xié)同工作做好準(zhǔn)備,方便了各分布式工作流流程的設(shè)定和
執(zhí)行,有利于分布式工作流技術(shù)的推廣應(yīng)用。


圖l是發(fā)明原理示意圖2是分布式工作流的執(zhí)行示意圖和系統(tǒng)結(jié)構(gòu)示意圖; 圖3是定義分布式工作流的流程圖4是關(guān)聯(lián)協(xié)同子系統(tǒng)內(nèi)流程到分布式工作流活動的流程圖; 圖5是執(zhí)行分布式工作流的流程圖。
具體實施例方式
參見圖3和圖4,本發(fā)明的分布式工作流制定方法為首先由參與分布式 工作流的任一方,即定義方,進行分布式工作流定義并將該定義在執(zhí)行系統(tǒng)中 發(fā)布,所述分布式工作流定義包括對該分布式工作流開始、結(jié)束、活動、參與 者和跳轉(zhuǎn)的定義,所述對開始的定義包括工作流執(zhí)行時用以解釋工作流啟動方 式的字符串,所述啟動方式為自動啟動或人工啟動方式中的任意一種,所述對 活動的定義包括描述該活動執(zhí)行時用以解釋所調(diào)用應(yīng)用單元接口名稱的字符 串,當(dāng)所述活動涉及協(xié)同子系統(tǒng)內(nèi)部工作流流程時,還包括描述所述活動執(zhí)行 時用以解釋所啟動的子系統(tǒng)內(nèi)部工作流流程的字符串,所述參與者包括分布式 參與者和非分布式參與者,所述分布式參與者為涉及子系統(tǒng)間工作流流程的參 與考,所述非分布式參與者為子系統(tǒng)內(nèi)部工作流流程的參與者,所述定義方在 完成定義后,將所定義的分布式工作流的定義發(fā)布到所述執(zhí)行系統(tǒng)的協(xié)同子系 統(tǒng)中。
上述對開始的定義還包括用以解釋工作流執(zhí)行時啟動點位置的字符串, 所述啟動點位置是在協(xié)同子系統(tǒng)中人工啟動工作流時在軟件窗口上的操作位 置,所述操作位置為分布式工作流流程本身或為協(xié)同子系統(tǒng)窗口界面中任何對 象,所述自動啟動為根據(jù)某一分布式工作流流程的某執(zhí)行結(jié)果啟動或者是根據(jù)某應(yīng)用的某運行結(jié)果由相應(yīng)的協(xié)同子系統(tǒng)啟動工作流,所述人工啟動是由人工 在啟動點位置觸發(fā)菜單項或控_鈕啟動工作流。
其中,由參與分布式工作流的任一方,即定義方,進行分布式工作流定義
的步驟包括
(1) 選擇參與分布式工作流協(xié)同工作的協(xié)同子系統(tǒng),形成分布式工作流 的參與者定義;
(2) 定義各參與者承擔(dān)的活動,形成分布式工作流中各參與者承擔(dān)的活 動定義;
(3) 選擇各活動之間的跳轉(zhuǎn)連接,設(shè)定用以解釋該跳轉(zhuǎn)連接的字符串, 在相應(yīng)的活動間建立跳轉(zhuǎn)連接,形成子系統(tǒng)間流程的活動跳轉(zhuǎn)定義;
(4) 定義分布式工作流的開始和結(jié)束條件。
(5) 在分布式協(xié)同工作流程定義完畢后,將所述分布式工作流定義存儲 在本地存儲器中或替換已存儲在本地存儲器中的分布式工作流定義。
當(dāng)所述活動涉及協(xié)同子系統(tǒng)內(nèi)工作流流程時,所涉及的相應(yīng)協(xié)同子系統(tǒng)進 行子系統(tǒng)內(nèi)工作流流程的制定,包括下列步驟
(1) 根據(jù)相應(yīng)活動的定義,判斷所述活動所啟動連接的子系統(tǒng)內(nèi)工作流 流程是否已經(jīng)有定義;
(2) 如果已經(jīng)為相應(yīng)的活動定義了相應(yīng)的子系統(tǒng)內(nèi)工作流流程,則將該 子系統(tǒng)內(nèi)工作流流程關(guān)聯(lián)到所述活動上,所述活動的輸入即為所述子系統(tǒng)內(nèi)工 作流流程第一個活動的輸入,所述活動輸出即為所述子系統(tǒng)內(nèi)工作流流程最后 一個活動的輸出;
(3 )如果所述子系統(tǒng)沒有涉及相應(yīng)活動的子系統(tǒng)內(nèi)工作流流程的定義, 則創(chuàng)建執(zhí)行所述活動的子系統(tǒng)內(nèi)工作流流程并將所述子系統(tǒng)內(nèi)工作流流程關(guān)聯(lián)到所述子系統(tǒng)間工作流流程定義中的所述活動上,所述活動的輸入即為所述 子系統(tǒng)內(nèi)工作流流程第一個活動的輸入,所述活動輸出即為所述子系統(tǒng)內(nèi)工作
流流程最后一個活動的輸出;
(4 )在將子系統(tǒng)內(nèi)工作流流程關(guān)聯(lián)到分布式工作流定義中的活動上之 后,將形成的新的分布式工作流定義存儲在本地存儲器中或替換已存儲在本地 存儲器中的分布式工作流定義。
上述的一個活動所關(guān)聯(lián)的應(yīng)用單元數(shù)量為一個或多個,所述應(yīng)用單元包括 第三方應(yīng)用和Webservices。
參見圖5,本發(fā)明分布式工作流執(zhí)行方法,包括以下步驟
(1)分布式工作流定義發(fā)布后,參與分布式工作流的協(xié)同子系統(tǒng)收到并 安裝所述分布式工作流定義,根據(jù)所述開始定義中工作流執(zhí)行時用以解釋啟動 工作流的啟動方式和啟動點位置的字符串,對于自動啟動,相應(yīng)的子系統(tǒng)保存 字符串所表達的數(shù)據(jù)源模型,對于手動啟動,相應(yīng)的協(xié)同子系統(tǒng)生成并在字符 串所代表的啟動點位置顯示能夠表達工作流內(nèi)容的啟動工作流菜單項或按鈕, 實現(xiàn)工作流"即插即用";
(2 )由承擔(dān)分布式工作流流程中第一項活動的協(xié)同子系統(tǒng)根據(jù)定義的啟 動方式自動或人工啟動所述分布式工作流流程,向中心服務(wù)器申請執(zhí)行所述分 布^工作流流程事件的識別碼(ID),創(chuàng)建所述分布式工作流流程實例;
(3)所述子系統(tǒng)執(zhí)行所創(chuàng)建的分布式工作流流程實例,即執(zhí)行分布式工 作流流程定義的相應(yīng)活動;
(4 )各相關(guān)協(xié)同子系統(tǒng)根據(jù)中心服務(wù)器轉(zhuǎn)來或其他協(xié)同子系統(tǒng)直接發(fā)來 的協(xié)同數(shù)據(jù)執(zhí)行分布式工作流流程定義的相應(yīng)活動,依據(jù)分布式工作流流程定 義的活動啟動協(xié)同子系統(tǒng)內(nèi)流程實例,周而復(fù)始直至本分布式工作流流程實例完成,
上述各相關(guān)協(xié)同子系統(tǒng)執(zhí)行相應(yīng)活動的方式為在所述活動包含啟動協(xié)同 子系統(tǒng)內(nèi)工作流流程的字符串,即連接所述協(xié)同子系統(tǒng)內(nèi)工作流流程時,則所 述子系統(tǒng)執(zhí)行所述活動即讀取所述字符串,啟動相應(yīng)的協(xié)同子系統(tǒng)內(nèi)工作流流 程實例,所述活動的輸入即為所述協(xié)同子系統(tǒng)內(nèi)工作流流程實例第一個活動的 輸入,協(xié)同子系統(tǒng)內(nèi)工作流流程實例最后一個活動的輸出即為所述活動輸出; 在所述活動為發(fā)送或接收時,則該協(xié)同子系統(tǒng)依據(jù)活動的輸入輸出定義獲取其 他協(xié)同子系統(tǒng)的數(shù)據(jù)或者向其他協(xié)同子系統(tǒng)發(fā)送數(shù)據(jù),所述發(fā)送數(shù)據(jù)的方式為 完成活動的協(xié)同子系統(tǒng)將發(fā)送數(shù)據(jù)經(jīng)由中心服務(wù)器轉(zhuǎn)發(fā)給其他協(xié)同子系統(tǒng),或 從中心服務(wù)器讀取其他協(xié)同子系統(tǒng)地址直接發(fā)送給其他協(xié)同子系統(tǒng),以實現(xiàn)不 同協(xié)同子系統(tǒng)間的活動跳轉(zhuǎn)遷移。
其中,啟動和執(zhí)行分布式工作流流程的具體實施方式
包括
(1) 對于自動啟動,當(dāng)分布式工作流流程啟動方的協(xié)同子系統(tǒng)數(shù)據(jù)源滿 足啟動條件時,則所述協(xié)同子系統(tǒng)啟動工作流;
(2) 對于人工啟動,分布式工作流流程啟動方的參與者在啟動工作流位 置上選擇菜單或按鈕,則所述協(xié)同子系統(tǒng)啟動工作流;
(3) 工作流啟動后,由該協(xié)同子系統(tǒng)的本地工作流引擎向中心服務(wù)器申 請分布式工作流系統(tǒng)全局唯一流程事務(wù)編碼(ID),創(chuàng)建一個分布式工作流流 程實例;
(4 )該協(xié)同子系統(tǒng)的本地工作流引擎執(zhí)行分布式工作流流程實例;
(5)如果當(dāng)前活動是執(zhí)行協(xié)同子系統(tǒng)內(nèi)流程活動,該協(xié)同子系統(tǒng)的本地
工作流引擎通過該活動所包含的協(xié)同子系統(tǒng)內(nèi)流程字符串讀取協(xié)同子系統(tǒng)內(nèi)
流程,創(chuàng)建一個本地協(xié)同子系統(tǒng)內(nèi)流程實例;(6) 本地協(xié)同子系統(tǒng)內(nèi)流程實例完成后,通知協(xié)同數(shù)據(jù)處理模塊,由協(xié) 同數(shù)據(jù)處理模塊向中心服務(wù)器發(fā)送協(xié)同數(shù)據(jù),中心服務(wù)器依據(jù)分布式工作流流 程定義的活動跳轉(zhuǎn)方式,將協(xié)同邀:據(jù)發(fā)送給4丸行下一個活動的協(xié)同子系統(tǒng),或 從中心服務(wù)器獲取執(zhí)行下個活動協(xié)同子系統(tǒng)地址后直接將協(xié)同數(shù)據(jù)發(fā)送給執(zhí)
行下一個活動的協(xié)同子系統(tǒng);
(7) 執(zhí)行所述下一個活動的協(xié)同子系統(tǒng)的協(xié)同數(shù)據(jù)處理模塊對收到的協(xié) 同數(shù)據(jù)進行處理,通知該協(xié)同子系統(tǒng)的工作流引擎執(zhí)行相應(yīng)的分布式工作流流 程;
(8) 依據(jù)上述方式,在中心服務(wù)器的協(xié)調(diào)下,各協(xié)同子系統(tǒng)依據(jù)分布式 工作流流程定義的活動跳轉(zhuǎn)次序依次執(zhí)行各活動,在需要的情況下,創(chuàng)建協(xié)同 子系統(tǒng)內(nèi)流程實例,并依據(jù)分布式工作流流程定義的活動輸入輸出接受其他協(xié) 同子系統(tǒng)的彩:據(jù)或向其他協(xié)同子系統(tǒng)發(fā)送數(shù)據(jù),周而復(fù)始直至該分布式工作流 流程結(jié)束。
在執(zhí)行活動時,協(xié)同子系統(tǒng)根據(jù)活動定義中字符串調(diào)用相應(yīng)的應(yīng)用單元, 如果活動需要人工執(zhí)行,則協(xié)同子系統(tǒng)展現(xiàn)應(yīng)用單元窗口,供人工執(zhí)行。
所述協(xié)同數(shù)據(jù)包括所述分布式工作流系統(tǒng)全局唯一流程事務(wù)編碼(ID)、 發(fā)出所述協(xié)同數(shù)據(jù)的協(xié)同子系統(tǒng)的代碼以及依據(jù)活動輸出定義應(yīng)輸出的數(shù)據(jù)。
參見圖1-5,沖艮據(jù)本發(fā)明的分布式工作流制定方法所制定的分布式工作流 的定義,本發(fā)明的執(zhí)行方法可以由下列分布式工作流執(zhí)行系統(tǒng)實施
一種分布式工作流執(zhí)行系統(tǒng),由一個中心服務(wù)器和若干協(xié)同子系統(tǒng)組成, 所述中心服務(wù)器和所述協(xié)同子系統(tǒng)之間通過計算機網(wǎng)絡(luò)進行通訊,所述中心服 務(wù)器設(shè)有服務(wù)器數(shù)據(jù)通訊模塊,所述服務(wù)器數(shù)據(jù)通訊模塊用于中心服務(wù)器同各 協(xié)同子系統(tǒng)進行通信,所述協(xié)同子系統(tǒng)設(shè)有數(shù)據(jù)通訊模塊、協(xié)同數(shù)據(jù)處理模塊和工作流引擎,所述數(shù)據(jù)通訊;f莫塊用于本協(xié)同子系統(tǒng)與其他協(xié)同子系統(tǒng)和中心
服務(wù)器之間的通信,所述數(shù)據(jù)處理模塊用于監(jiān)聽本地工作流引擎、發(fā)送協(xié)同數(shù) 據(jù)給中心處理服務(wù)器以及接受和處理其他協(xié)同子系統(tǒng)的協(xié)同數(shù)據(jù),并將協(xié)同數(shù) 據(jù)的處理情況通知給本地工作流引擎,所述工作流引擎是各種應(yīng)用的控制和運 行中心,用于解釋、控制并協(xié)調(diào)各工作流程的執(zhí)行以及同步各個客戶端的反應(yīng)。
權(quán)利要求
1、一種分布式工作流制定方法,其特征在于由參與分布式工作流的任一方,即定義方,進行分布式工作流定義并將該定義在執(zhí)行系統(tǒng)中發(fā)布,所述分布式工作流定義包括對該分布式工作流開始、結(jié)束、活動、參與者和跳轉(zhuǎn)的定義,所述對開始的定義包括工作流執(zhí)行時用以解釋工作流啟動方式的字符串,所述啟動方式為自動啟動或人工啟動方式中的任意一種,所述對活動的定義包括描述該活動執(zhí)行時用以解釋所調(diào)用應(yīng)用單元接口名稱的字符串,當(dāng)所述活動涉及協(xié)同子系統(tǒng)內(nèi)部工作流流程時,還包括描述所述活動執(zhí)行時用以解釋所啟動的子系統(tǒng)內(nèi)部工作流流程的字符串,所述參與者包括分布式參與者和非分布式參與者,所述分布式參與者為涉及子系統(tǒng)間工作流流程的參與者,所述非分布式參與者為子系統(tǒng)內(nèi)部工作流流程的參與者,所述定義方在完成定義后,將所定義的分布式工作流的定義發(fā)布到所述執(zhí)行系統(tǒng)的協(xié)同子系統(tǒng)中。
2、 如權(quán)利要求1所述的分布式工作流制定方法,其特征在于所述對開始 的定義還包括用以解釋工作流執(zhí)行時啟動點位置的字符串,所述啟動點位置是 在協(xié)同子系統(tǒng)中人工啟動工作流時在軟件窗口上的操作位置,所述操作位置為 分布式工作流流程本身或為協(xié)同子系統(tǒng)窗口界面中任何對象,所述自動啟動為 根據(jù)某一分布式工作流流程的某執(zhí)行結(jié)果啟動或者是根據(jù)某應(yīng)用的某運行結(jié) 果由相應(yīng)的協(xié)同子系統(tǒng)啟動工作流,所述人工啟動是由人工在啟動點位置觸發(fā) 菜單項或按鈕啟動工作 流o 廣
3、 如權(quán)利要求1所述的分布式工作流制定方法,其特征在于由參與所述 分布式工作流的任一方,即定義方,進行分布式工作流定義的步驟包括(1)選擇參與分布式工作流協(xié)同工作的協(xié)同子系統(tǒng),形成分布式工作流 的參與者定義;(2) 定義各參與者承擔(dān)的活動,形成分布式工作流中各參與者承擔(dān)的活 動定義;(3) 選擇各活動之間的跳轉(zhuǎn)連接,設(shè)定用以解釋該跳轉(zhuǎn)連接的字符串, 在相應(yīng)的活動間建立跳轉(zhuǎn)連接,形成子系統(tǒng)間流程的活動跳轉(zhuǎn)定義;(4) 定義分布式工作流的開始和結(jié)束條件;(5) 在分布式協(xié)同工作流程定義完畢后,將所述分布式工作流定義存儲 在本地存儲器中或替換已存儲在本地存儲器中的分布式工作流定義。
4、如權(quán)利要求3所述的分布式工作流制定方法,其特征在于當(dāng)所述活動 涉及協(xié)同子系統(tǒng)內(nèi)工作流流程時,所涉及的相應(yīng)協(xié)同子系統(tǒng)進行子系統(tǒng)內(nèi)工作 流流程的制定,包括下列步驟(1) 根據(jù)相應(yīng)活動的定義,判斷所述活動所啟動連接的子系統(tǒng)內(nèi)工作流 流程是否已經(jīng)有定義;(2) 如果已經(jīng)為相應(yīng)的活動定義了相應(yīng)的子系統(tǒng)內(nèi)工作流流程,則將該 子系統(tǒng)內(nèi)工作流流程關(guān)聯(lián)到所述活動上,所述活動的輸入即為所述子系統(tǒng)內(nèi)工 作流流程第一個活動的輸入,所述活動輸出即為所述子系統(tǒng)內(nèi)工作流流程最后 一個活動的輸出;(3) 如果所述子系統(tǒng)沒有涉及相應(yīng)活動的子系統(tǒng)內(nèi)工作流流程的定義, 則創(chuàng)建執(zhí)行所述活動的子系統(tǒng)內(nèi)工作流流程并將所述子系統(tǒng)內(nèi)工作流流程關(guān) 聯(lián)到所述活動上,所述活動的輸入即為所述子系統(tǒng)內(nèi)工作流流程第一個活動的 輸入,所述活動輸出即為所述子系統(tǒng)內(nèi)工作流流程最后一個活動的輸出;(4 )在將子系統(tǒng)內(nèi)工作流流程關(guān)聯(lián)到分布式工作流定義中的活動上之后, 將形成的新的分布式工作流定義存儲在本地存儲器中或替換已存儲在本地存 儲器中的分布式工作流定義。
5、 如權(quán)利要求4所述的分布式工作流制定方法,其特征在于一個所述活 動所關(guān)聯(lián)的應(yīng)用單元凄t量為一個或多個,所述應(yīng)用單元包括第三方應(yīng)用和 Webservices。
6、 一種執(zhí)行權(quán)利要求1-5所述的分布式工作流制定方法所制定的分布式 工作流定義的分布式工作流執(zhí)行方法,其特征在于包括以下步驟(1)分布式工作流定義發(fā)布后,參與分布式工作流的協(xié)同子系統(tǒng)收到并 安裝所述工作流定義,根據(jù)所述開始定義中工作流執(zhí)行時用以解釋啟動工作流 的啟動方式和啟動點位置的字符串,對于自動啟動,相應(yīng)的子系統(tǒng)保存字符串 所表達的數(shù)據(jù)源模型,對于手動啟動,相應(yīng)的協(xié)同子系統(tǒng)生成并在字符串所代 表的啟動點位置顯示能夠表達工作流內(nèi)容的啟動工作流菜單項或按鈕,實現(xiàn)工 作流"即插即用";(2 )由承擔(dān)分布式工作流流程中第一項活動的協(xié)同子系統(tǒng)根據(jù)定義的啟 動方式以自動或人工兩種啟動方式之一啟動所述分布式工作流流程,向中心月良 務(wù)器申請執(zhí)行所述分布式工作流流程事件的識別碼(ID),創(chuàng)建所述分布式工 作流流程實例;(3)所述協(xié)同子系統(tǒng)執(zhí)行所創(chuàng)建的分布式工作流流程實例,即執(zhí)行分布 式工作流流禾呈定義的相應(yīng)活動;(4 )各相關(guān)協(xié)同子系統(tǒng)根據(jù)中心服務(wù)器轉(zhuǎn)來或其他協(xié)同子系統(tǒng)直接發(fā)來 的協(xié)同數(shù)據(jù)執(zhí)^f亍分布式工作流流程定義的相應(yīng)活動,依據(jù)分布式工作流流程定 義的活動啟動協(xié)同子系統(tǒng)內(nèi)工作流流程實例,周而復(fù)始直至本分布式工作流流 程秀例完成,所述各相關(guān)協(xié)同子系統(tǒng)執(zhí)行相應(yīng)活動的方式為在所述活動包含啟動協(xié)同 子系統(tǒng)內(nèi)工作流流程的字符串,即連接所述協(xié)同子系統(tǒng)內(nèi)工作流流程時,則所述協(xié)同子系統(tǒng)執(zhí)行所述活動即讀取所述字符串,啟動相應(yīng)的協(xié)同子系統(tǒng)內(nèi)工作 流流程實例,所述活動的輸入即為所述協(xié)同子系統(tǒng)內(nèi)工作流流程實例第 一個活 動的輸入,所述協(xié)同子系統(tǒng)內(nèi)工作流流程實例最后一個活動的輸出即為所述活動輸出;在所述活動為發(fā)送或接收時,則該協(xié)同子系統(tǒng)依據(jù)活動的輸入輸出定 義獲取其他協(xié)同子系統(tǒng)的數(shù)據(jù)或者向其他協(xié)同子系統(tǒng)發(fā)送數(shù)據(jù),所述發(fā)送數(shù)據(jù) 的方式為完成活動的協(xié)同子系統(tǒng)將發(fā)送數(shù)據(jù)經(jīng)由中心服務(wù)器轉(zhuǎn)發(fā)給其他協(xié)同 子系統(tǒng),或從中心服務(wù)器讀取其他協(xié)同子系統(tǒng)地址直接發(fā)送給其他協(xié)同子系 統(tǒng),以實現(xiàn)不同協(xié)同子系統(tǒng)間的活動跳轉(zhuǎn)遷移。
7、如權(quán)利要求6所述的分布式工作流執(zhí)行方法,其特征在于啟動和執(zhí)行 分布式工作流流程的具體實施方式
包括(1)對于自動啟動,當(dāng)分布式工作流流程啟動方子系統(tǒng)數(shù)據(jù)源滿足啟動 條件時,則子系統(tǒng)啟動工作流;(2 )對于人工啟動,分布式工作流流程啟動方的參與者在啟動工作流位 置上選擇菜單或按鈕,則協(xié)同子系統(tǒng)啟動工作流;(3)工作流啟動后,由該協(xié)同子系統(tǒng)的本地工作流引擎向中心服務(wù)器申 請分布式工作流系統(tǒng)全局唯一流程事務(wù)編碼(ID),創(chuàng)建一個分布式工作流流 程實例;(4 )該協(xié)同子系統(tǒng)的本地工作流引擎執(zhí)行分布式工作流流程實例;(5) 如果當(dāng)前活動是執(zhí)行協(xié)同子系統(tǒng)內(nèi)流程活動,該協(xié)同子系統(tǒng)的本地 工作流引擎通過該活動所包含的協(xié)同子系統(tǒng)內(nèi)流程字符串讀取協(xié)同子系統(tǒng)內(nèi) 流程,創(chuàng)建一個本地協(xié)同子系統(tǒng)內(nèi)流程實例;(6) 本地協(xié)同子系統(tǒng)內(nèi)流程實例完成后,通知協(xié)同數(shù)據(jù)處理模塊,由協(xié) 同數(shù)據(jù)處理模塊向中心服務(wù)器發(fā)送協(xié)同數(shù)據(jù),中心服務(wù)器依據(jù)分布式工作流流程定義的活動跳轉(zhuǎn)方式,將協(xié)同數(shù)據(jù)發(fā)送給執(zhí)行下一個活動的協(xié)同子系統(tǒng),或 從中心服務(wù)器獲取執(zhí)行下個活動協(xié)同子系統(tǒng)地址后直接將協(xié)同數(shù)據(jù)發(fā)送給執(zhí)行下一個活動的協(xié)同子系統(tǒng);(7) 執(zhí)行所述下一個活動的協(xié)同子系統(tǒng)的協(xié)同數(shù)據(jù)處理模塊對收到的協(xié) 同數(shù)據(jù)進行處理,通知該協(xié)同子系統(tǒng)的工作流引擎執(zhí)行相應(yīng)的分布式工作流流 程;(8) 依據(jù)上述方式,在中心服務(wù)器的協(xié)調(diào)下,各協(xié)同子系統(tǒng)依據(jù)分布式 工作流流程定義的活動跳轉(zhuǎn)次序依次執(zhí)行各活動,在需要的情況下,創(chuàng)建協(xié)同 子系統(tǒng)內(nèi)流程實例,并依據(jù)分布式工作流流程定義的活動輸入輸出接受其他協(xié) 同子系統(tǒng)的數(shù)據(jù)或向其他協(xié)同子系統(tǒng)發(fā)送數(shù)據(jù),周而復(fù)始直至該分布式工作流 流程結(jié)束。
8、 如權(quán)利要求6或7所述的分布式工作流執(zhí)行方法,其特征在于執(zhí)行活 動時,協(xié)同子系統(tǒng)根據(jù)活動定義中字符串調(diào)用相應(yīng)的應(yīng)用單元,如活動需要人 工執(zhí)行,則協(xié)同子系統(tǒng)展現(xiàn)應(yīng)用單元窗口,供人工執(zhí)行。
9、 如權(quán)利要求6或7所述的分布式工作流執(zhí)行方法,其特征在于所述協(xié) 同數(shù)據(jù)包括所述分布式工作流系統(tǒng)全局唯一流程事務(wù)編碼(ID)、發(fā)出所述協(xié) 同數(shù)據(jù)的協(xié)同子系統(tǒng)的代碼以及依據(jù)活動輸出定義應(yīng)輸出的數(shù)據(jù)。
10、 一種實施權(quán)利要求6或7中任意一項所述分布式工作流執(zhí)行方法的分 布式工作流執(zhí)行系統(tǒng),其特征在于由一個中心服務(wù)器和若干協(xié)同子系統(tǒng)組成, 所述中心服務(wù)器和所述協(xié)同子系統(tǒng)之間通過計算機網(wǎng)絡(luò)進行通訊,所述中心服 務(wù)器設(shè)有服務(wù)器數(shù)據(jù)通訊模塊,所述服務(wù)器數(shù)據(jù)通訊模塊用于中心服務(wù)器同各 協(xié)同子系統(tǒng)進行通信,所述協(xié)同子系統(tǒng)設(shè)有數(shù)據(jù)通訊才莫塊、協(xié)同數(shù)據(jù)處理模塊 和工作流引擎,所述數(shù)據(jù)通訊模塊用于本協(xié)同子系統(tǒng)與其他協(xié)同子系統(tǒng)和中心服務(wù)器之間的通信,所述數(shù)據(jù)處理模塊用于監(jiān)聽本地工作流引擎、發(fā)送協(xié)同數(shù) 據(jù)給中心處理服務(wù)器以及接受和處理其他協(xié)同子系統(tǒng)的協(xié)同數(shù)據(jù),并將協(xié)同數(shù) 據(jù)的處理情況通知給本地工作流引擎,所述工作流引擎是各種應(yīng)用的控制和運 行中心,用于解釋、控制并協(xié)調(diào)各工作流程的執(zhí)行以及同步各個客戶端的反應(yīng)。
全文摘要
本發(fā)明涉及一種分布式工作流制定方法、執(zhí)行方法以及執(zhí)行系統(tǒng),該制定方法由參與分布式工作流的任一方,即定義方,進行分布式工作流定義并將該定義在執(zhí)行系統(tǒng)中發(fā)布,所述分布式工作流定義包括對該分布式工作流開始、結(jié)束、活動、參與者和跳轉(zhuǎn)的定義,所述對活動的定義包括描述該活動執(zhí)行時用以解釋所調(diào)用應(yīng)用單元接口名稱的字符串。該執(zhí)行方法根據(jù)定義啟動方式創(chuàng)建流程實例后,依據(jù)定義的流程由執(zhí)行系統(tǒng)中各協(xié)同子系統(tǒng)依次執(zhí)行流程并傳遞協(xié)同數(shù)據(jù)。該執(zhí)行系統(tǒng)包括由一個中心服務(wù)器和若干協(xié)同子系統(tǒng)組成,協(xié)同子系統(tǒng)為使用該執(zhí)行方法的任何軟件,包括第三方軟件。本發(fā)明將分布式工作流流程與協(xié)同子系統(tǒng)內(nèi)部工作流流程集成起來,實現(xiàn)了分布式工作流流程同協(xié)同子系統(tǒng)內(nèi)部工作流流程的無縫連接。
文檔編號G06Q10/00GK101576978SQ20091008664
公開日2009年11月11日 申請日期2009年6月16日 優(yōu)先權(quán)日2009年6月16日
發(fā)明者周登旺, 波 封 申請人:北京環(huán)太中科軟件股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
武陟县| 浦县| 承德县| 那曲县| 岑巩县| 崇文区| 九龙县| 马关县| 金堂县| 当阳市| 彰化县| 凤冈县| 伊金霍洛旗| 新津县| 东至县| 泗洪县| 宁明县| 建水县| 子长县| 玉门市| 会理县| 东山县| 敦煌市| 灵丘县| 红安县| 宜昌市| 刚察县| 五大连池市| 大新县| 历史| 桂阳县| 邻水| 称多县| 定兴县| 宜兴市| 林甸县| 会理县| 七台河市| 府谷县| 镇沅| 乌兰县|