專利名稱:基于多級(jí)染色托肯的復(fù)雜業(yè)務(wù)流程同步控制的方法
技術(shù)領(lǐng)域:
本發(fā)明屬于計(jì)算機(jī)應(yīng)用領(lǐng)域的工作流技術(shù),具體涉及一種基于多級(jí)染色托肯 的復(fù)雜業(yè)務(wù)流程的同步方法
背景技術(shù):
隨著電信技術(shù)發(fā)展的日新月異,電信企業(yè)間競(jìng)爭(zhēng)的日益激烈,為了挽留和發(fā) 展更多的客戶,電信企業(yè)推出的各種業(yè)務(wù)也越來(lái)越復(fù)雜。相應(yīng)的,支撐業(yè)務(wù)的流 程控制的復(fù)雜度日益提升,特別是各種電信業(yè)務(wù)在進(jìn)行靈活多變的組合包裝后銷 售給客戶,導(dǎo)致流程中和流程間存在大量的同步控制問題,這也對(duì)工作流的要求 提升到了新的高度。
由于Petri網(wǎng)是一種適合于描述異步并發(fā)現(xiàn)象的計(jì)算機(jī)系統(tǒng)模型,因此很多 電信企業(yè)和工作流廠商采用Petri網(wǎng)做為工作流建模語(yǔ)言。Petri網(wǎng)主要由庫(kù)所 Place,變遷Transition和有向弧三個(gè)基本元素構(gòu)成,通過有向弧把元素庫(kù)所和元 素變遷連接起來(lái),這三種元素組合起來(lái)形成一張網(wǎng),來(lái)表示流程執(zhí)行過程中所有 可能發(fā)生的路徑。傳統(tǒng)Petri網(wǎng)暴露出了一些缺點(diǎn),如模型會(huì)變得龐大而難以理 解、只能表示單一的流程實(shí)例等。染色Petri網(wǎng)是對(duì)Petri網(wǎng)的一種擴(kuò)展,通過增 加顏色集合以及對(duì)庫(kù)所中的托肯token增加顏色的描述,達(dá)到簡(jiǎn)化模型、以及同 時(shí)描述多個(gè)流程實(shí)例的目的。
染色Petri網(wǎng)雖然能解決流程同步問題,但是在基于染色Petri網(wǎng)理論進(jìn)行工 作流引擎的開發(fā)過程中,不可避免的出現(xiàn)了工作流引擎與業(yè)務(wù)環(huán)境的緊耦合關(guān) 系,造成了工作流引擎的通用性降低。原因在于Petri網(wǎng)主要是一種控制模型, 關(guān)注的是控制流,并不能表達(dá)流程控制過程中需要的數(shù)據(jù),而由于電信系統(tǒng)中流 程的復(fù)雜性,流程同步的控制往往與實(shí)際系統(tǒng)中的各種業(yè)務(wù)數(shù)據(jù)有很緊密的關(guān) 系,例如,在業(yè)務(wù)種類不同和客戶要求不同的情況下,需要同步的流程個(gè)數(shù)不同。 為此,很多工作流引擎為了適應(yīng)復(fù)雜的控制要求,對(duì)Petri網(wǎng)系統(tǒng)進(jìn)行了改造, 在模型中增加了具體業(yè)務(wù)數(shù)據(jù)的表示,例如一個(gè)訂單包含的產(chǎn)品類型、產(chǎn)品個(gè)數(shù)、 產(chǎn)品相關(guān)的資源條件等。這樣做的好處在于不但能充分利用Petri網(wǎng)的嚴(yán)格形式 定義和直觀圖形表示的優(yōu)勢(shì),還能夠?qū)崿F(xiàn)復(fù)雜流程的同步控制。但這種改進(jìn)方式 同時(shí)也導(dǎo)致了業(yè)務(wù)過程與業(yè)務(wù)邏輯的耦合度增加,導(dǎo)致控制流與數(shù)據(jù)流的耦合度 增強(qiáng)。當(dāng)工作流產(chǎn)品面對(duì)不同使用客戶時(shí),都要進(jìn)行大規(guī)模的改造,這在一定程 度上也降低了工作流引擎的通用性和靈活性。200910181889.7
技術(shù)問題本發(fā)明的目的是提出了一種基于多級(jí)染色托肯的復(fù)雜業(yè)務(wù)流程同 步控制的方法。在利用染色Petri網(wǎng)做為建模語(yǔ)言的過程中,不需要增加業(yè)務(wù)數(shù)
據(jù)的描述,僅僅對(duì)染色托肯增加級(jí)別的描述,通過不同級(jí)別上的顏色和同一級(jí)別 上需要同步的流程個(gè)數(shù),來(lái)解決電信組合業(yè)務(wù)中的多種流程同步問題。
技術(shù)方案本發(fā)明所提出的解決方案是提出一種復(fù)雜業(yè)務(wù)流程的同步控制 方法,在利用染色Petri網(wǎng)做為建模語(yǔ)言的過程中,不需要增加業(yè)務(wù)數(shù)據(jù)的描述, 僅需要對(duì)染色托肯增加兩個(gè)屬性的描述托肯級(jí)別、需要同步的托肯個(gè)數(shù),通過 不同級(jí)別上的顏色和同一級(jí)別上需要同步的托肯個(gè)數(shù),來(lái)解決電信組合業(yè)務(wù)中的 多種流程同步問題。
本發(fā)明的基于多級(jí)染色托肯的復(fù)雜業(yè)務(wù)流程同步控制的方法包括同步分解 和同步合并兩個(gè)階段,具體步驟如下
1) 同步分解階段當(dāng)托肯到達(dá)同步分解變遷的輸入庫(kù)所,并且托肯的顏色 與庫(kù)所輸出弧的顏色一致時(shí),意味著同步分解變遷可以發(fā)生。該變遷發(fā)生后,輸
入染色托肯被同步分解變遷所消耗,同時(shí)生成多個(gè)輸出染色托肯;輸出染色托肯 在繼承被消耗的輸入染色托肯的基礎(chǔ)上,級(jí)別降低,同時(shí)保存新的顏色和被分解 的托肯個(gè)數(shù),形成新的染色托肯,即完成高級(jí)別染色托肯到低級(jí)別染色托肯的分
解;
2) 同步分解完成后,所有新生成的低級(jí)別染色托肯根據(jù)不同的路由結(jié)構(gòu)形 式,執(zhí)行不同類型的變遷,即不同類型的染色托肯可以并發(fā)執(zhí)行相同的任務(wù),也 可以并發(fā)執(zhí)行不同的任務(wù);
3) 同步合并階段屬于同一個(gè)上級(jí)托肯的所有同級(jí)別的染色托肯都同時(shí)到 達(dá)同步合并變遷的輸入庫(kù)所時(shí),同步合并變遷才能執(zhí)行,其中,用托肯的級(jí)別信 息和上級(jí)托肯的顏色來(lái)判斷到達(dá)的托肯是否隸屬于同一個(gè)被分解的染色托肯;用 托肯個(gè)數(shù)判斷需要同步的流程實(shí)例是否都己經(jīng)到達(dá);當(dāng)上述條件滿足時(shí),完成低 級(jí)別染色托肯到高級(jí)別染色托肯的合并。
多級(jí)染色托肯采用如下方法表示
多級(jí)染色托肯采用CT表示,CT產(chǎn)(CTw, Ci, Ni, LJ,其中CTm表示同歩 分解前的托肯,屬于上級(jí)托肯;CTi表示同步分解后的托肯,屬于下級(jí)托肯;Ci 表示CTi的顏色,CiGC, C表示染色Petri網(wǎng)的顏色集;Nj表示需要同步的托肯 的個(gè)數(shù),NiE(0,l,2,3,4,…4; Li表示CTj的級(jí)別,Ue{0,1,2,3,4廣..};當(dāng)CTW 為O,同時(shí)L尸O時(shí),表示這個(gè)托肯處于O級(jí)別,是一個(gè)獨(dú)立的未經(jīng)分解的流程 實(shí)例。
有益效果
一,可以解決復(fù)雜流程中多個(gè)層面的流程同步 一是組合業(yè)務(wù)流程與子業(yè)務(wù)流程之間的同步;二是多個(gè)不同的子業(yè)務(wù)流程之間的同步;三是單個(gè)流程中并發(fā) 環(huán)節(jié)的同步。
二,不增加業(yè)務(wù)數(shù)據(jù)的描述,僅僅通過染色托肯來(lái)就可以對(duì)需要同步的流程 實(shí)例進(jìn)行控制,最大限度的把控制流與數(shù)據(jù)流進(jìn)行分離,使得工作流引擎本身的 通用性增強(qiáng)。
三,多級(jí)的概念的好處還在于,級(jí)別可以是一級(jí),可以是兩級(jí),也可以是多 級(jí)。對(duì)于需要分層控制的流程,可以在不同的級(jí)別上進(jìn)行控制,靈活性增強(qiáng)。
圖1為多級(jí)染色托肯的表示方法,
圖2為本發(fā)明第一實(shí)施例的路由表示,
圖3為本發(fā)明第一實(shí)施例的同步分解過程,
圖4為本發(fā)明第一實(shí)施例的同步合并過程,
圖5為本發(fā)明第二實(shí)施例的路由表示,
圖6為本發(fā)明第二實(shí)施例的同步分解過程,
圖7為本發(fā)明第二實(shí)施例的同步合并過程,
圖8為本發(fā)明第三實(shí)施例的路由表示,
圖9為本發(fā)明第三實(shí)施例的同步分解過程,
圖10為本發(fā)明第三實(shí)施例的同步合并過程。
具體實(shí)施例方式
本發(fā)明提出的方法由同步分解和同步合并兩個(gè)步驟相組合來(lái)實(shí)現(xiàn)。 在本發(fā)明中,提出的多級(jí)染色托肯采用CT表示,CT產(chǎn)(CTw, Ci, Nj, U}。 其中CTw表示同步分解前的托肯,屬于上級(jí)托肯;CTi表示同步分解后的托肯, 屬于下級(jí)托肯;Q表示CTj的顏色,CjEC, C表示染色Petri網(wǎng)的顏色集;Nj 表示需要同步的托肯的個(gè)數(shù),Ni^0,l,2,3,4,….J; Li表示CTi的級(jí)別,Lf {0,1,2,3,4,***..}。當(dāng)CTw為O,同時(shí)L產(chǎn)0時(shí),表示這個(gè)托肯處于O級(jí)別,是一個(gè) 獨(dú)立的未經(jīng)分解的流程實(shí)例。 同步控制的方法為
1. 在同步分解階段,符合條件的染色托肯CTw被同步分解變遷消耗,同時(shí) 生成多個(gè)新的染色托肯CTi。 CTi在繼承被消耗的染色托肯CTw的基礎(chǔ)上,級(jí)別 降低,即Li-Lw+l,同時(shí)保存新的顏色和被分解的托肯個(gè)數(shù),形成新的染色托 肯,即完成高級(jí)別染色托肯到低級(jí)別染色托肯的分解。
2. 同步分解完成后,所有新生成的低級(jí)別染色托肯可以根據(jù)不同的路由結(jié) 構(gòu)形式,執(zhí)行不同類型的變遷。即不同類型的染色托肯可以并發(fā)執(zhí)行相同的任務(wù),也可以并發(fā)執(zhí)行不同的任務(wù)。
3.在同步合并階段,屬于同一個(gè)上級(jí)托肯CTw的所有同級(jí)別的染色托肯CTi 都同時(shí)到達(dá),才能執(zhí)行同步合并變遷。其中,用級(jí)別信息Li和上級(jí)顏色托肯CTw 來(lái)判斷到達(dá)的托肯是否隸屬于同一個(gè)被分解的染色托肯;用托肯個(gè)數(shù)H判斷需 要同步的流程實(shí)例是否都已經(jīng)到達(dá)。當(dāng)上述條件滿足時(shí),可以完成低級(jí)別染色托 肯到高級(jí)別染色托肯的合并。
為使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下參照附圖并舉實(shí)施 例,對(duì)本發(fā)明進(jìn)一步詳細(xì)說(shuō)明。
實(shí)施例中采用的染色托肯經(jīng)過分解后,級(jí)別發(fā)生變化,參見圖l。
實(shí)施例一本實(shí)施例將結(jié)合圖2、圖3、圖4說(shuō)明同步控制的方案。
本實(shí)施例描述的情況是電信組合業(yè)務(wù)在受理的過程中,組合業(yè)務(wù)以及內(nèi)部
的子業(yè)務(wù)需要執(zhí)行不同的任務(wù),并且需要并發(fā)執(zhí)行。圖2為上述情況的路由表示。 同步分解變遷的輸入弧的顏色為Q,同步分解變遷的輸出弧的顏色為Co和nd, 表示顏色為Q的組合業(yè)務(wù)在經(jīng)過同步分解變遷之后,即可以保留組合業(yè)務(wù)本身, 也可以生成n個(gè)顏色為d的子業(yè)務(wù),并且組合業(yè)務(wù)與子業(yè)務(wù)可以分別執(zhí)行不同 的任務(wù)。同步合并變遷的輸入弧顏色分別是Q)和nd,輸出弧的顏色是Co,表 示組合業(yè)務(wù)與子業(yè)務(wù)分別執(zhí)行完各自的任務(wù)后進(jìn)行同步和組合,并由組合業(yè)務(wù)繼 續(xù)后續(xù)的操作。
在同步分解前,在庫(kù)所P,中存在顏色為Co的染色托肯,該托肯的顏色表示 為CT『(0, Q, 0, 0},這種情況下,同步分解的變遷可以發(fā)生,如圖3所示。 在同步分解完成后,P!中的托肯被消耗,在Pu和Pa中生成新的低級(jí)別托肯。 Pu中的新托肯顏色表示為CTU={ CT。, Co,l,l}, P21中的新托肯顏色表示為 CT2產(chǎn)(CTo,d,n,1), CTn與CT21同級(jí)別不同顏色,并且都屬于CTo的下級(jí),需 要同步的個(gè)數(shù)為n+l。在本實(shí)施例中,CTn與CT^兩種不同的染色托肯可以分 別執(zhí)行Tn與Tu變遷。
在同步合并前,在庫(kù)所Pu中有l(wèi)個(gè)顏色為Q的染色托肯CTu,庫(kù)所P22中
有n個(gè)顏色為d的染色托肯CT^,這兩種托肯同級(jí)別,上級(jí)都是CTo,表示n+l 個(gè)需要同步的染色托肯都已經(jīng)到達(dá),同步合并變遷可以發(fā)生。如圖4所示。同步 合并變遷發(fā)生后,低級(jí)別的染色托肯CTn與CT^都被消耗掉,在庫(kù)所P2中產(chǎn)生 了一個(gè)顏色為Co的高級(jí)別染色托肯CTo。
實(shí)施例二 本實(shí)施例將結(jié)合圖5、圖6、圖7說(shuō)明同步控制的方案。 本實(shí)施例描述的情況是組合業(yè)務(wù)所包含的各個(gè)子業(yè)務(wù)需要執(zhí)行不同的任 務(wù),并且需要并發(fā)執(zhí)行。圖5為上述情況的路由表示。同步分解變遷的輸入弧的 顏色為Co,同步分解變遷的輸出弧的顏色為d和C2,表示顏色為Co的組合業(yè) 務(wù)在經(jīng)過同步分解變遷之后,生成顏色分別為d和C2的兩個(gè)子業(yè)務(wù),并且子業(yè)務(wù)可以分別執(zhí)行不同的任務(wù)。同步合并變遷的輸入弧顏色分別是C,和C2,輸出
弧的顏色是Cc,表示所有子業(yè)務(wù)分別執(zhí)行完各自的任務(wù)后進(jìn)行同步和組合,并 由組合業(yè)務(wù)繼續(xù)后續(xù)的操作。
在同步分解前,在庫(kù)所P,中存在顏色為Co的染色托肯,該托肯的顏色表示 為CTo-(O, Co, 0, 0},這種情況下,同步分解的變遷可以發(fā)生,如圖6所示。 在同步分解完成后,P,中的托肯被消耗,在Pu和Pa中生成新的低級(jí)別托肯。 Pu中的新托肯顏色表示為CTu={CTo, d,l,l}, P21中的新托肯顏色表示為 CT21={CT0,C2,1,1}, CTn與CT2!同級(jí)別不同顏色,并且都屬于CT0的下級(jí),,需 要同步的個(gè)數(shù)為2。在本實(shí)施例中,CTu與CT2,兩種不同的染色托肯可以分別 執(zhí)行Tu與Tu變遷。
在同步合并前,在庫(kù)所P,2中有l(wèi)個(gè)顏色為d的染色托肯CTn,庫(kù)所P"中 有1個(gè)顏色為C2的染色托肯CT2t,這兩種托肯同級(jí)別,上級(jí)都是CTo,表示2 個(gè)需要同步的染色托肯都已經(jīng)到達(dá),同步合并變遷可以發(fā)生,如圖7所示。同步 合并變遷發(fā)生后,低級(jí)別的染色托肯CTn與CT2,都被消耗掉,在庫(kù)所P2中產(chǎn)生 了一個(gè)顏色為Co的高級(jí)別染色托肯CTo。
實(shí)施例三本實(shí)施例將結(jié)合圖8、圖9、圖10說(shuō)明同步控制的方案。
本實(shí)施例描述的情況是電信組合業(yè)務(wù)在受理的過程中,組合業(yè)務(wù)以及內(nèi)部 的子業(yè)務(wù)執(zhí)行共同任務(wù)。圖8為上述情況的路由表示。同步分解變遷的輸入弧的 顏色為Co,同步分解變遷的輸出弧的顏色為Co+n d,表示顏色為Q的組合業(yè) 務(wù)在經(jīng)過同步分解變遷之后,即可以保留組合業(yè)務(wù)本身,也可以生成n個(gè)顏色為 d的子業(yè)務(wù),而組合業(yè)務(wù)與子業(yè)務(wù)執(zhí)行相同的任務(wù)。同步合并變遷的輸入弧顏 色分別是Q+nd,輸出弧的顏色是Co,表示組合業(yè)務(wù)與子業(yè)務(wù)分別執(zhí)行完各自 的任務(wù)后進(jìn)行同步和組合,并由組合業(yè)務(wù)繼續(xù)后續(xù)的操作。
在同步分解前,在庫(kù)所Pi中存在顏色為Co的染色托肯,該托肯的顏色表示 為CTcr(O, Co, 0, 0},這種情況下,同步分解的變遷可以發(fā)生,如圖9所示。 在同步分解完成后,Pi中的托肯被消耗,在Pn中生成新的低級(jí)別托肯。Pn中的 新托肯顏色分別表示為CTu與CT2" CT ={ CTo, Co,U}, P2i中的新托肯顏色 表示為CT2f{ CT0, Ct,n,U, CT 與CT21同級(jí)別不同顏色,并且都屬于CTo的下 級(jí),需要同步的個(gè)數(shù)為n+l。在本實(shí)施例中,CTn與CTu兩種不同的染色托肯 都分別執(zhí)行Tu變遷。
在同步合并前,在庫(kù)所Pi2中有l(wèi)個(gè)顏色為Co的染色托肯CTn,以及n個(gè)顏 色為C,的染色托肯CT^,這兩種托肯同級(jí)別,上級(jí)都是CTo,表示n+l個(gè)需要 同步的染色托肯都已經(jīng)到達(dá),同步合并變遷可以發(fā)生。如圖10所示。同步合并 變遷發(fā)生后,低級(jí)別的染色托肯CTn與CT2,都被消耗掉,在庫(kù)所P2中產(chǎn)生了一 個(gè)顏色為Co的高級(jí)別染色托肯CTQ。
權(quán)利要求
1.一種基于多級(jí)染色托肯的復(fù)雜業(yè)務(wù)流程同步控制的方法,其特征在于該方法包括同步分解和同步合并兩個(gè)階段,具體步驟如下1)同步分解階段當(dāng)托肯到達(dá)同步分解變遷的輸入庫(kù)所,并且托肯的顏色與庫(kù)所輸出弧的顏色一致時(shí),意味著同步分解變遷可以發(fā)生,該變遷發(fā)生后,輸入染色托肯被同步分解變遷所消耗,同時(shí)生成多個(gè)輸出染色托肯;輸出染色托肯在繼承被消耗的輸入染色托肯的基礎(chǔ)上,級(jí)別降低,同時(shí)保存新的顏色和被分解的托肯個(gè)數(shù),形成新的染色托肯,即完成高級(jí)別染色托肯到低級(jí)別染色托肯的分解;2)同步分解完成后,所有新生成的低級(jí)別染色托肯根據(jù)不同的路由結(jié)構(gòu)形式,執(zhí)行不同類型的變遷,即不同類型的染色托肯可以并發(fā)執(zhí)行相同的任務(wù),也可以并發(fā)執(zhí)行不同的任務(wù);3)同步合并階段屬于同一個(gè)上級(jí)托肯的所有同級(jí)別的染色托肯都同時(shí)到達(dá)同步合并變遷的輸入庫(kù)所時(shí),同步合并變遷才能執(zhí)行,其中,用托肯的級(jí)別信息和上級(jí)托肯的顏色來(lái)判斷到達(dá)的托肯是否隸屬于同一個(gè)被分解的染色托肯;用托肯個(gè)數(shù)判斷需要同步的流程實(shí)例是否都已經(jīng)到達(dá);當(dāng)上述條件滿足時(shí),完成低級(jí)別染色托肯到高級(jí)別染色托肯的合并。
2. 根據(jù)權(quán)利要求1所述的基于多級(jí)染色托肯的復(fù)雜業(yè)務(wù)流程同步控制的方 法,其特征在于多級(jí)染色托肯釆用如下方法表示多級(jí)染色托肯采用CT表示,CT產(chǎn)(CTw, Ci, Ni, LJ,其中CTw表示同步 分解前的托肯,屬于上級(jí)托肯;CTi表示同步分解后的托肯,屬于下級(jí)托肯;Cj 表示CTi的顏色,CjEC, C表示染色Petri網(wǎng)的顏色集;Ni表示需要同步的托肯 的個(gè)數(shù),,{0,1,2,3,4,"..}; Li表示CTi的級(jí)別,1^{0,1,2,3,4,."..};當(dāng)CTw 為0,同時(shí)L產(chǎn)0時(shí),表示這個(gè)托肯處于0級(jí)別,是一個(gè)獨(dú)立的未經(jīng)分解的流程 實(shí)例。
全文摘要
基于多級(jí)染色托肯的復(fù)雜業(yè)務(wù)流程同步控制的方法包括同步分解和同步合并兩個(gè)階段,在利用染色Petri網(wǎng)做為建模語(yǔ)言的過程中,不需要增加業(yè)務(wù)數(shù)據(jù)的描述,僅需要對(duì)染色托肯增加兩個(gè)屬性的描述托肯級(jí)別、需要同步的托肯個(gè)數(shù),通過不同級(jí)別上的顏色和同一級(jí)別上需要同步的托肯個(gè)數(shù),來(lái)解決電信組合業(yè)務(wù)中的多種流程同步問題。
文檔編號(hào)G06Q10/00GK101630388SQ200910181889
公開日2010年1月20日 申請(qǐng)日期2009年7月31日 優(yōu)先權(quán)日2009年7月31日
發(fā)明者盧捍華, 王亞石, 閔麗娟 申請(qǐng)人:南京郵電大學(xué)