劉 靜 王麗麗
(安徽理工大學(xué)數(shù)學(xué)與大數(shù)據(jù)學(xué)院 安徽淮南 232001)
隨著互聯(lián)網(wǎng)時(shí)代的快速發(fā)展,各個(gè)領(lǐng)域?qū)κ袌?chǎng)的需求也變得越來越復(fù)雜?,F(xiàn)有的業(yè)務(wù)流程建模優(yōu)化方法已經(jīng)不能滿足企業(yè)以及用戶的需求,故通過對(duì)現(xiàn)有的業(yè)務(wù)流程Petri網(wǎng)加以配置約束來進(jìn)行優(yōu)化變得日益重要。
配置約束在業(yè)務(wù)流程建模領(lǐng)域扮演著重要的角色。目前,關(guān)于這方面也有了相當(dāng)多的研究,文獻(xiàn)[1]提出了一種形式化的基礎(chǔ),可以逐步個(gè)性化可配置的過程模型,同時(shí)在語法和行為語義方面保持了正確性,并得出了可配置的過程模型在行為上是合理的則個(gè)性化過程模型也是合理的。文獻(xiàn)[2]考慮到輸入的不確定性,提出了一種軟件支持的方法,在不確定情況下改進(jìn)產(chǎn)生的模型,從聲明性規(guī)范自動(dòng)創(chuàng)建可配置的業(yè)務(wù)流程模型。文獻(xiàn)[3]使用基于SWRL的業(yè)務(wù)規(guī)則實(shí)現(xiàn)基于服務(wù)的業(yè)務(wù)流程自動(dòng)配置的框架,設(shè)計(jì)并實(shí)現(xiàn)了一種變點(diǎn)本體,該變點(diǎn)本體采用SWRL規(guī)則給出變點(diǎn)準(zhǔn)則,總結(jié)了一組特定于領(lǐng)域的業(yè)務(wù)規(guī)則并使用這些規(guī)則來獲得滿足用戶需求所需的特定規(guī)則,然后使用配置算法根據(jù)所獲得的引用結(jié)果來配置可配置的業(yè)務(wù)流程。文獻(xiàn)[4]提出了一種將過程模型合并為可配置過程模型的新算法并驗(yàn)證了其有效性。可配置流程模型提供了一系列業(yè)務(wù)流程的統(tǒng)一視圖,它通過向分析人員提供一個(gè)通用的建模工件來派生單個(gè)流程模型,從而促進(jìn)了經(jīng)過驗(yàn)證的實(shí)踐的重用。不幸的是,用于可配置流程建模的現(xiàn)有標(biāo)記的范圍受到限制,從而妨礙了它們的適用性。具體地說,這些標(biāo)記集中于捕獲任務(wù)和控制流依賴項(xiàng),而忽略了同樣重要的業(yè)務(wù)流程成分,如數(shù)據(jù)和資源。文獻(xiàn)[5]通過提出一種可配置的流程建模表示法來填補(bǔ)這一空白,該表示法包含用于捕獲資源、數(shù)據(jù)和任務(wù)執(zhí)行中涉及的物理對(duì)象的特性。該建議已經(jīng)在一個(gè)工具集中實(shí)現(xiàn),該工具集在配置階段幫助分析人員,并確保生成的流程模型的正確性。
本文以Petri網(wǎng)行為輪廓為基礎(chǔ),對(duì)基于配置約束的手機(jī)充值流程進(jìn)行優(yōu)化分析。首先建立了手機(jī)充值流程的Petri網(wǎng)源模型,在對(duì)原模型進(jìn)行配置優(yōu)化時(shí),考慮到實(shí)際手機(jī)充值業(yè)務(wù)流程中星級(jí)客戶和普通客戶享受的優(yōu)惠價(jià)格不同,并以此作為約束條件通過添加相應(yīng)的阻塞變遷和隱藏變遷以達(dá)到優(yōu)化的目的。最后得到手機(jī)充值流程的優(yōu)化模型,并對(duì)有關(guān)配置約束方向的問題進(jìn)行總結(jié)和展望。
定義1[6](流程模型Petri 網(wǎng))流程模型Petri 網(wǎng)PN=(P,T,F(xiàn),C)是一個(gè)四元組滿足以下條件:
(1)P? T ≠Φ;
(2)P?T=Φ;
(3)F ? (P×T)? (T×P);
(4)dom(F)={ }x ∈ P ?T/?y ∈ P ?T:(x,y ∈ F) ;
(5)cod(F)={ }x ∈ P ?T/?y ∈ P ?T:(y,x ∈ F) ;
可見,網(wǎng)PN=(P,T,F(xiàn),C)的基本元素集合是P和T,在Petri網(wǎng)中,一般分別使用圓圈和方框表示。
定義2[7](變遷發(fā)生規(guī)則)設(shè)N=(P,T;F,M)稱作為Petri網(wǎng),則:
(1)對(duì)于N=(P,T,F(xiàn),M),?t T,如 果 ?p ∈ P:p ∈?t:M(p)≥1,則稱t在M使能,記為M[t>。
(2)在標(biāo)識(shí)M下使能的變遷t發(fā)生后,得到一個(gè)新的標(biāo)識(shí)M'(記為M[t>M'),則有
在Petri網(wǎng)PN中存在一種弱序關(guān)系,即包含T×T的所有的變遷對(duì) (x,y)中存在一個(gè)發(fā)生序列δ=t1t2…tn,當(dāng)時(shí),i< j ≤n有ti=x且tj=y,x→y,依據(jù)這種弱序關(guān)系定義了行為輪廓。
定義3[8](行為輪廓)設(shè)( N,M0)是一個(gè)網(wǎng),初始標(biāo)識(shí)為M0,將所有關(guān)系的集合稱為網(wǎng)系統(tǒng)的行為輪廓,記作BP=對(duì)任給的變遷對(duì)(t1,t2)∈(T × T)滿足下面關(guān)系:
(1)若t1?t2,且t2≯t1,則稱嚴(yán)格序關(guān)系,記作t1→t2;
(2)若t1≯t2,且t2?t1,則稱嚴(yán)格逆序關(guān)系,記作t1→-1t2;
(3)若t1≯t2,且t2≯t1,則稱排他序關(guān)系,記作t1+t2;
(4)若t1?t2,且t2?t1,則稱交叉序關(guān)系,記作
圖1 嚴(yán)格序
圖2 排他序
圖3 交叉序
定義4[1](Petri網(wǎng)配置)PN是一個(gè)Petri網(wǎng),CN∈ T → {allow,hide,block}是網(wǎng) N 的一個(gè)配置,其中PN=(P,T,F(xiàn)),定義如下:
(一)業(yè)務(wù)流程模型的配置。在配置流程模型Petri網(wǎng)時(shí)可以根據(jù)用戶或者企業(yè)的需求添加隱藏變遷或者阻塞變遷來約束流程模型中的某一部分,從而實(shí)現(xiàn)配置優(yōu)化。[9-10]如果一個(gè)變遷在日志中能夠被記錄,但在模型中被執(zhí)行時(shí)可以被跳過而直接執(zhí)行下一活動(dòng),則該變遷稱為隱藏變遷,如果一個(gè)變遷存在于流程模型中,但是在某些子流程模型中不允許被執(zhí)行,則該變遷稱為阻塞變遷。下面用簡(jiǎn)單的流程模型Petri網(wǎng)來說明什么是隱藏變遷和阻塞變遷。如圖4所示,由于變遷c被隱藏了,所以變遷b發(fā)生后直接跳過c取發(fā)生變遷d,圖5 中可以看到變遷d 被阻塞了,因此當(dāng)變遷c 發(fā)生過后只能發(fā)生變遷e,而變遷d不會(huì)發(fā)生。
圖4 具有隱藏變遷的流程模型Petri網(wǎng)
圖5 具有阻塞變遷的流程模型Petri網(wǎng)
在商場(chǎng)顧客購物支付的業(yè)務(wù)流程中,商家為了刺激消費(fèi)從中賺取更多的利潤(rùn),會(huì)采取會(huì)員制的優(yōu)惠政策,即辦理會(huì)員卡的顧客支付時(shí)能享受折扣價(jià),而沒有會(huì)員卡的顧客只能采取原價(jià)支付。這種情形就可以通過上述提到的添加阻塞變遷來阻塞業(yè)務(wù)流程中的一部分,從而達(dá)到配置優(yōu)化的目的,如下圖6所示。
圖6 有會(huì)員卡的顧客支付流程
(二)基于配置約束的手機(jī)充值系統(tǒng)優(yōu)化分析的算法。由于業(yè)務(wù)流程模型中存在著一定條件的約束,那么流程中的行為在執(zhí)行的過程中可能存在一定的行為約束,針對(duì)行為約束這方面的問題,我們可以采用配置優(yōu)化的方法來對(duì)其進(jìn)行相應(yīng)的優(yōu)化。
在實(shí)際的手機(jī)充值業(yè)務(wù)流程中,星級(jí)客戶和普通客戶支付金額可能不同,新用戶和老用戶登錄方式可能不同等稱之為約束條件。對(duì)于這類帶有約束條件的業(yè)務(wù)流程模型,可以通過添加配置信息對(duì)模型進(jìn)行優(yōu)化分析。在此基礎(chǔ)上,提出了基于配置約束的手機(jī)充值系統(tǒng)優(yōu)化分析的算法,具體的算法如下:
算法1:導(dǎo)出優(yōu)化模型
輸入:手機(jī)充值源模型PN0=(P,T,F(xiàn))
輸出:手機(jī)充值優(yōu)化模型PN1
1.先將手機(jī)充值源模型PN0=(P,T,F(xiàn))轉(zhuǎn)換成Petri網(wǎng)結(jié)構(gòu)圖,然后進(jìn)入步驟2。
2.根據(jù)客戶和企業(yè)的要求,把全部的行為約束條件分別列出,并記作C1,C2,C3…Cn,接著進(jìn)入步驟3。
3.在步驟 2 全部約束條件C1,C2,C3…Cn的約束下,通過對(duì)源模型PN0=(P,T,F(xiàn))的Petri網(wǎng)結(jié)構(gòu)圖增添相應(yīng)的隱藏或阻塞變遷來進(jìn)行優(yōu)化分析。具體的操作方法根據(jù)步驟4來執(zhí)行。
4.根據(jù)步驟2 和步驟3,找到滿足約束條件的阻塞變遷t ∈T,并阻塞此變遷t,在旁邊標(biāo)注上block,表明此條路徑不能正常執(zhí)行。找到滿足約束條件的需要跳過去不執(zhí)行的隱藏變遷t ∈T,并隱藏此變遷t,然后在旁邊標(biāo)注上hide,表明此變遷可以不執(zhí)行。接著進(jìn)入步驟5。
5.根據(jù)步驟4,不存在約束條件的其他變遷t ∈T在手機(jī)充值源模型PN0=(P,T,F(xiàn))中不發(fā)生任何變化,依舊保留在手機(jī)充值源模型PN0中,并輸出優(yōu)化模型PN1,算法結(jié)束。
(三)結(jié)合實(shí)例分析。在給手機(jī)充值的過程中,用戶先通過注冊(cè)、登錄用戶中心查詢?cè)捹M(fèi)余額,如果余額充足則取消充值,如果余額不足則先驗(yàn)證充值日期,然后選定充值金額開始充值,充值方式有兩種,一種是以默認(rèn)的價(jià)格進(jìn)行充值,另一種是折扣價(jià)格充值,用戶確認(rèn)充值后先付款給支付中心,然后收到支付中心發(fā)出的付款成功的消息,同時(shí)支付中心向充值中心發(fā)出消息提醒充值中心給該用戶充值,接著充值中心完成充值并向客戶發(fā)送充值成功話費(fèi)到賬的消息。整個(gè)業(yè)務(wù)流程中,用戶中心、支付中心和充值中心三方共同運(yùn)行,手機(jī)充值系統(tǒng)的源模型如圖7所示。
圖7 手機(jī)充值源模型Petri網(wǎng)結(jié)構(gòu)圖
圖8 手機(jī)充值模型優(yōu)化Petri網(wǎng)結(jié)構(gòu)圖
從圖7 中的手機(jī)充值源模型的Petri 網(wǎng)結(jié)構(gòu)圖中可以發(fā)現(xiàn)下列問題,現(xiàn)實(shí)生活中的手機(jī)充值流程與上述的手機(jī)充值流程之間仍然有不同程度的差別,即前面提到的約束條件。在上述的手機(jī)充值流程中存在下面幾個(gè)問題:(1)老用戶在手機(jī)充值時(shí)不需要重新注冊(cè),只需直接登錄,這與充值流程中所有用戶都需要通過注冊(cè)再登錄產(chǎn)生矛盾。(2)對(duì)于星級(jí)用戶而言,通常含有積分比較多,就可以采用積分來抵扣部分金額的方式從而能夠享受一個(gè)優(yōu)惠價(jià)格,而對(duì)普通用戶來說,一般積分含有比較少,則無法享用這種折扣價(jià)格,故只能原價(jià)支付。而在充值流程中沒有對(duì)這種情形加以區(qū)分,因此在實(shí)際執(zhí)行過程中業(yè)務(wù)流程模型與實(shí)際情況產(chǎn)生矛盾。(3)在手機(jī)充值源模型中所有用戶都需要被充值中心查驗(yàn)信息,這與現(xiàn)實(shí)生活充值中星級(jí)用戶不需要執(zhí)行查驗(yàn)信息這一步驟不符。
通過對(duì)源模型分析而得到的一些問題,可以采用在源模型中添加某些配置約束來對(duì)其進(jìn)行優(yōu)化,詳細(xì)的優(yōu)化方法如下:
對(duì)于問題(1),可以采取把活動(dòng)變遷T1 給與隱藏,使得老用戶在進(jìn)行手機(jī)充值時(shí)能夠跳過注冊(cè)這一步驟直接登錄。對(duì)于問題(2),可以采取阻塞活動(dòng)變遷T11的方式,從而阻止了活動(dòng)變遷T11以后的變遷不能正常發(fā)生,即阻止了星級(jí)用戶采用默認(rèn)金額進(jìn)行充值這條路徑。對(duì)于問題(3),通過隱藏活動(dòng)變遷T23進(jìn)而使得星級(jí)用戶在執(zhí)行到活動(dòng)變遷T22時(shí)可以直接跳過去直接去執(zhí)行變遷T24,從而達(dá)到星級(jí)用戶在充值時(shí)可以不用執(zhí)行查驗(yàn)信息這一步驟的目的。此種通過添加配置信息來優(yōu)化的方法實(shí)現(xiàn)了手機(jī)充值系統(tǒng)與實(shí)際充值流程之間的高度吻合,表明該優(yōu)化方法是可行的。
手機(jī)充值中心為了促進(jìn)通訊行業(yè)的發(fā)展,采取積分抵扣的方式從而刺激廣大手機(jī)用戶提高消費(fèi)額度,然而在實(shí)際生活中的手機(jī)充值流程與目標(biāo)中的手機(jī)充值流程仍然有某種程度的差異。本文中為了滿足星級(jí)用戶和充值中心的要求,通過在手機(jī)充值流程模型中添加相關(guān)的阻塞變遷和隱藏變遷進(jìn)而達(dá)到模型優(yōu)化的目標(biāo)。但是,本文給出的配置優(yōu)化方法只針對(duì)了一個(gè)比較簡(jiǎn)單的案例進(jìn)行分析,而沒有探究對(duì)復(fù)雜的模型經(jīng)過配置優(yōu)化后得到的模型是否合理,例如會(huì)不會(huì)出現(xiàn)死鎖、無界等情況。因此未來有關(guān)業(yè)務(wù)流程配置優(yōu)化還有很多問題有待研究和解決。如何找到一種復(fù)雜業(yè)務(wù)流程模型最優(yōu)的配置方法來保證優(yōu)化后的復(fù)雜業(yè)務(wù)流程模型的合理性。