劉海濱,柴朝華,李 暉,,王 穎
(1.河北科技師范學院 工商管理學院,河北 秦皇島 066004;2.燕山大學 信息科學與工程學院,河北 秦皇島 066004)
云計算、大數據、人工智能、工業4.0及電子商務等技術的不斷發展,從根本上徹底改變了當今世界企業的運營方式,企業全球化時代的到來促使未來企業必將走向合作共贏、融合發展的管理模式。在此背景下,業務流程管理(business process management, BPM)研究領域也在由傳統的企業內部向跨企業業務流程轉變。多業務流程協同[1]是BPM技術新的熱點問題之一。所謂多流程協同是指多個企業的業務協同工作共同完成一個業務目標。企業業務在協同工作中,不僅要考慮自身,更要考慮合作伙伴企業的利益。為了確保信譽,企業必須能實時監控業務環境,保證服務質量,必須能夠靈活地應對變化的業務需求。因此,相關研究學者提出了多業務流程協同監控技術[2-3],旨在通過對多流程業務合作伙伴行為進行監控,進而快速適應業務需求的變更,降低由于業務需求改變而帶來的損失,最大化企業自身的利益。
目前,在BPM領域,NGAMAKEUR等人從多業務流程協同建模角度開展了深入研究,CORRADINI 提出了基于OMG標準的多業務流程協同建模方法,文獻[4]構建了在開發服務環境下進行業務流程協同的系統,文獻[5]針對動態協作環境建立了以Artifact為中心的業務流程執行框架。XIONG等人則針對多業務流程協同中出現的數據流錯誤檢測[6]、協同模式的分析與提取[7]等問題進行了研究,未考慮對協同執行進行系統的監控。文獻[8-10]分別從以Artifact驅動的流程協同監控、智能設備的應用、物聯網的應用及區塊鏈的應用等方面為切入點深入研究了多業務流程監控體系構建的問題,但其監控方法都是自頂向下的設計,在協同監控過程中只注重過程,而忽略了核心業務數據自身的重要性。文獻[11-12]提出了基于實時數據采集的監控模型,但研究重點仍是一個從監控需求到監控模型再自動轉換為監控系統的自頂向下的體系,未強調數據的重要性。
因此,本文提出一種自底向上,以Artifact為中心的多流程協同監控方法。首先,給出了以Artifact為中心的業務流程協同模型及其運行后產生的Artifact協同快照實例定義。其次,采用快照日志挖掘獲得候選的以Artifact為中心的業務流程協同模型,然后,根據蟻群優化算法在候選流程模型中獲取最優流程服務協同路徑。最后,通過實例分析驗證了方法的可行性。
已有的多流程協同模型主要從管理模型和業務模型兩個方面對多流程協同進行了描述,即著重在過程和控制流,忽略了業務流程之間的核心業務數據的交互,導致不能很好滿足業務流程協同的合規性、靈活性和自治性三方面需求[13-14]。以Artifact為中心的業務流程在建模過程中,充分考慮業務流程的核心業務數據及其更新情況,是以數據為中心業務流程建模思想的典型代表[15]。本文在以Artifact為中心建模基礎上進行擴展,提出以Artifact為中心的業務流程協同模型。該協同模型強調6個核心要素: Artifacts、流程服務、協同角色、Artifacts提供流程服務的監控信息及Artifacts之間的服務協同的監控信息。
定義1以Artifact為中心的業務流程協同模型(Artifact-centric Collaboration Model, ACCM ):以Artifact為中心的業務流程協同模型Π定義為一個多元組(A,V,R,C,F,B),其中:
1)A為Artifact類型集合,一個Artifact類定義為一個四元組(D,T,S,Sf),其中D表示名稱-值對的數據屬性集合,T表示與數據屬性集合D相對應的數據類型集合,S表示數據屬性賦值狀態集合,并且Sf?S{Sinit},Sinit為初始數據屬性賦值狀態,Sf表示數據屬性賦值完成狀態;
2)V為流程服務集合;
3)R為業務協同中的組織角色集合;
4)C是集合A與集合R的笛卡爾積的子集,即A×R={(x,y)|x∈A∧y∈R},蘊含了流程協同模型中各個R包含的Artifact類型信息;
5)F是集合A與集合V的笛卡爾積的子集,即A×V={(x,y)|x∈A∧y∈V},蘊含了對Artifact類提供的各個流程服務的監控信息;
6)B是集合A、集合V及另一個集合A的笛卡爾積的子集,即A×V×A={(x,y,z)|x∈A∧y∈V∧z∈A},蘊含了各個Artifact類的生命周期過程中影響到其狀態變化的流程服務及該流程服務隸屬的Artifact實例信息。本定義重點介紹了ACCM在后續流程協同監控中涉及到的要素,其余要素在本文后續研究中涉及到,故從略。
Artifact實例間的協同快照反映了協同流程的相關監控信息,比如ACCM模型中各個組織角色、各個Artifact實例及其流程服務的總服務次數、服務成功率、平均服務成本及平均服務滿意度等。這些監控信息可以客觀地反映出當前各個組織角色在某一服務方面的服務能力、服務成本、服務質量等,從而對ACCM的監控質量和可利用性提供更科學的支持。
定義2Artifact實例協同快照:給定與Artifact類A相關的流程協同模型ACCMA,該模型下的Artifact類A的一個實例協同快照H可定義為多元組(ID,Al,Sb,Sa,G,P,H,M,E,L,Z,I,Q,K),其中:
1) ID為Artifact實例協同快照唯一標識符;
2)Al為本Artifact類A的實例名稱;
3)Sb為流程協同前Artifact類A的屬性賦值狀態;
4)Sa為流程協同后Artifact類A的屬性賦值狀態;
5)G為流程協同類型,協同類型用于說明該快照代表的協同過程中本Artifact實例是協同中服務的供給方還是需求方;
6)P為流程協同中的流程服務信息;
7)H為流程協同相關的Artifact實例信息;
8)M為流程協同發生的時間;
9)E為流程協同憑證信息;
10)L為流程協同所需流程服務成本信息;
11)Z為流程服務的運行次數;
12)I為流程協同的結果信息;
13)Q為流程協同的滿意度信息;
14)K為流程協同過程中的其他相關信息。
如何從Artifact實例協同快照中找到各個組織角色、各個Artifact實例及其服務的相關監控信息,獲得候選ACCM協同模型是一個關鍵問題。
為此,本文提出了ACCM監控模型的挖掘算法。ACCM監控模型挖掘的主要過程就是對Artifact實例協同流程快照集合進行遍歷。針對每一個快照H,取出Al(主體Artifact實例)、P(協同流程服務)、G(流程協同類型)、H(服務相關Artifact實例)、L(流程協同的所需成本)、Z(流程服務的運行次數)、I(流程協同的結果)及Q(流程協同的滿意度)等信息,根據G的值確定出流程服務提供方Artifact實例Ap、流程服務接受方Artifact實例Ar。從ACCM的F集中尋找(Ap,P)元素,如果找不到,則新建(Ap,P)元素添加到ACCM的F集中。然后,根據本快照當中的L、Z、I、Q信息重新計算(Ap,P)元素的服務總次數、成功服務次數、平均服務成本、服務平均滿意度等指標并記錄更新。從ACCM的B集中尋找(Ar,P,Ap)元素,如果找不到,則新建(Ar,P,Ap)元素并添加到ACCM的B集中。然后,根據本快照當中的L、Z、I、Q信息重新計算 (Ar,P,Ap)元素的服務總次數、成功服務次數、平均服務成本、服務平均滿意度等指標并記錄更新。重復執行以上操作,直到遍歷所有快照后算法結束。
算法中F及B集合中元素的服務總次數Ctotal的計算方法是通過將當前快照的Z值累計到Ctotal中去即可;成功服務次數Csuccess的計算需要先判斷該快照的I值,如果I值為“成功”,則將Z的值累積到Csuccess中,否則不累計。而F、B集合中元素的平均服務成本Ccostavg、服務平均滿意度Dsatisfaction的計算稍復雜,令F或B集合中元素的原本服務總次數、平均服務成本,服務平均滿意度記為Coriginal、Ccostoriginal和Doriginal,則Ccostavg、Dsatisfaction的計算公式為

(1)

(2)
下面是ACCM協同監控模型挖掘算法的偽代碼描述:
算法1ACCM協同監控模型挖掘算法
Input: 協同流程快照集合SH,ACCM中各Artifact實例可提供的流程服務集合F、各Artifact實例生命周期中涉及到的由相關Artifact實例提供的流程服務集合B
Output: ACCM中的F、B集合
Begin
1. 定義變量i=1,標記SH={H1,H2,…,HN};
2. 從SH中獲取Hi的Al、P、G、H、L、Z、I及Q等屬性;
3. 如果G的值為“供給”,則流程服務提供方Artifact實例Ap=Al,流程服務接受方Artifact實例Ar=H,否則Ap=H,Ar=Al;
4. 定義變量Coriginal、Ccostoriginal、Doriginal,如果元素(AP,P)∈F,則取出(AP,P)元素的Ctotal、Ccostavg、Dsatisfaction屬性的值賦值分別給Coriginal、Ccostoriginal、Doriginal,否則將(AP,P)元素并入F,并給(AP,P)元素的Ctotal、Csuccess、Ccostavg、Dsutisfaction屬性賦初值0,變量Coriginal、Ccostoriginal、Doriginal也賦值為0;
5. 根據式(1)、(2)計算出(AP,P)元素新的Ccostavg、Dsatisfaction屬性值更新到F集合中;
6. 如果快照Hi的I屬性值為“成功”,則元素(AP,P)的屬性Csuccess=Csuccess+Z,并更新到F集合中;
7. 元素(AP,P)的屬性Ctotal=Ctotal+Z,并更新到F集合中;
8. 如果元素(Ar,P,Ap)∈B,則取出B中(Ar,P,Ap)元素的Ctotal、Ccostavg、Dsatisfaction屬性的值分別記入變量Coriginal、Ccostoriginal、Doriginal,否則將(Ar,P,Ap)元素并入B,并給(Ar,P,Ap)元素的Ctotal、Csuccess、Ccostavg、Dsatisfaction屬性賦初值0,變量Coriginal、Ccostoriginal、Doriginal也賦值為0;
9. 根據式(1)、(2)計算出(Ar,P,Ap)元素新的Ccostavg、Dsatisfaction屬性值并更新到B集合中;
10. 如果快照Hi的I屬性值為“成功”,則元素(Ar,P,Ap)的屬性Csuccess=Csuccess+Z,并更新到B集合中;
11. 元素(Ar,P,Ap)的屬性Ctotal=Ctotal+Z,并更新到B集合中;
12. 如果i 13. 返回F、B集合; End 以上算法中,主要的操作集中在對SH、F、B集合的遍歷上。令集合F、B的基數為U、W,隨著對SH的遍歷,U、W從0開始逐漸增加,最極端的情況下,U、W最多增加到N,實際情況下U、W要遠小于N;而在對SH的每一步遍歷中,F、B集合的當時基數不超過i,且i 根據算法1,挖掘得到ACCM的協同監控模型圖。該協同監控模型圖中主要有Artifact實例、流程服務兩類節點,而邊包括Artifact實例與流程服務之間的邊和流程服務之間的邊兩類。Artifact實例與流程服務之間為有向邊,由Artifact實例指向流程服務的邊代表了該Artifact實例提供了此流程服務。反之,由流程服務指向Artifact實例的邊代表該流程服務給Artifact實例提供了服務,并更新了Artifact數據屬性賦值狀態。從算法1可知,監控模型的各個邊上還包含服務總次數、成功服務次數、平均服務成本、平均服務滿意度4個監控質量信息屬性。 ACCM的協同監控模型圖各個邊上的監控質量信息屬性值的差異給ACCM優化提供了客觀、可靠的依據。ACCM監控協同模型優化的目的是給某個組織角色的某一服務尋找最優的合作伙伴,而在ACCM監控模型中,待優化的服務具體表現為某Artifact實例,每個指向Artifact實例的邊代表了其曾經使用的服務,邊上的相關質量信息屬性則可以作為這些服務進行比較的依據。針對ACCM優化的需求,本文提出監控ACCM模型中各流程服務的4個評價指標,分別是支持度、可信度、平均服務成本及平均服務滿意度。 流程服務的支持度是指在當前協同流程快照集中該流程服務發生的頻繁度。針對各流程服務,設定一個支持度閾值,支持度超過該閾值的流程服務才進入ACCM優化的選擇范圍。下面給出支持度的計算公式: (3) 其中,|SH|代表本次協同流程快照集的基數,Ctotal(V)代表流程服務V發生的總次數。 流程服務的可信度是指該流程服務發生過的次數中,成功結束的次數占比。該可信度將作為協同流程優化的一個重要評價指標,下面給出可信度的計算公式: (4) 其中,Csuccess(V)代表流程服務V成功的次數,Ctotal(V)代表流程服務V發生的總次數。 流程服務的平均服務成本和平均服務滿意度指標則直接使用監控模型中各個流程服務的平均服務成本和平均服務滿意度屬性即可。 ACCM監控協同模型優化的下一步工作是從ACCM監控協同模型圖中尋找一條最優流程服務協同路徑。以某Artifact實例為根節點(Aroot),從ACCM監控模型圖中逐層找出該Artifact實例需要的流程服務及提供這些流程服務的Artifact實例,找到的相關流程服務及Artifact實例即為實現目標Artifact實例的一個路徑。從圖結構來看,該路徑是ACCM監控模型的一個子圖。顯然,在ACCM監控模型圖中,一個Artifact實例存在多個流程服務協同路徑。假設目標Artifact實例為Aroot,G(Aroot)為該Artifact實例的流程協同路徑集,ACCM優化的最終目的就是要從針對Aroot的流程服務協同路徑集G(Aroot)中找出最優路徑Gopt(Aroot)。 G(Aroot)是ACCM監控模型的子圖,其元素包括Artifact實例、流程服務兩類結點及連接這兩類結點的邊,其實質是完成Aroot需要調用的所有下層流程服務的集合,這里每一個下層服務P可以表示為該服務的接受Artifact實例Ar、提供Artifact實例Ap及其本身的組合(Ar,P,Ap),故G(Aroot)可以表示為ACCM監控模型中B集合的子集。 ACCM監控模型中的流程服務已經建立了四類評價指標:支持度、可信度、平均服務成本及平均服務滿意度。根據G(Aroot)中包含的各流程服務的指標值可以計算出G(Aroot)的支持度、可信度、平均服務成本及平均滿意度。已知G(Aroot)可表示為ACCM監控模型中B集的一個子集B′,令G(Aroot)=B′={b1,b2,…,bn},bi代表路徑G(Aroot)中的某一服務(Ar,P,Ap)。下面給出G(Aroot)各評價指標值的計算公式: (5) (6) (7) (8) 上述評價指標對從G(Aroot)中選擇Gopt(Aroot)提供了依據。支持度指標反映了某一協同路徑的利用價值,若該指標偏低,則說明該路徑其余指標不具備較強的信息質量,通常設定一個閾值來判斷某路徑是否具備可利用性。其余三個指標均可作為評價最可信路徑、最低成本路徑及最大滿意度路徑的評價標準。綜合上述指標,可找出綜合性價比最優路徑,下面給出G(Aroot)綜合評價的計算公式: Fevaluation(G(Aroot))= (9) 在ACCM監控模型、目標服務即Artifact實例及評價函數(最大可信度、最低成本、最大滿意度或綜合性價比最優)明確的情況下,Gopt(Aroot)也是確定的,可以算法找出Gopt(Aroot)。ACCM監控模型具備圖結構,ACCM優化無論采用什么評價指標,最終都可以轉化為圖優化問題中的最短路問題,故該問題是一個NP問題。下面給出一種基于蟻群算法的啟發式ACCM優化算法。 蟻群算法是一種模擬蟻群搜尋食物行為模式的啟發式優化算法。單個螞蟻的行為模式表現為在其經過的路徑上釋放一種“信息素”的物質,而其又可以感知該“信息素”并沿著“信息素”濃度較高的路徑行走,“信息素”的濃度會隨著時間的推移變小。這種單個螞蟻的行為模式隨著時間推移會在蟻群中形成了一種正反饋機制,一段時間以后,整個蟻群就會沿最短路徑在食物與巢穴之間往返。用螞蟻走過的路徑作為優化問題的可行解,那么所有螞蟻的走過的路徑集合即為優化問題的解空間。把針對各個路徑的評估函數值作為“信息素”,隨著時間的推移,最優路徑上的“信息素”濃度會越來越高,最終整個蟻群在正反饋機制的作用下會逐漸集中在最優路徑上,此時就找到了優化問題的最優解。 下面是ACCM蟻群優化算法的偽代碼描述: 算法2ACCM蟻群優化算法 Input:目標Artifact實例Aroot、各Artifact實例生命周期中涉及到的由相關Artifact實例提供的流程服務集合B、由單個螞蟻ant組成的蟻群ANT、迭代次數N Output:Gopt Begin 1. 定義變量n=0,Fopt=0,初始化Gopt=? 2. while:n 3. for all ant∈ANT循環 4. 定義路徑G=? 5. 調用螞蟻尋路算法(算法3),輸入Aroot、B、ant,返回路徑存入G 6. 計算Fevoluation(G) 7. 計算路徑G上各b元素“信息素”值的改變量 8. 如果Gopt=?或者Fevoluation(G)>Fopt,那么Fopt=Fevoluation(G),Gopt=G 9. 結束for循環 10. 保存ACCM監控模型中B集合中各b元素更新的“信息素”值 11.n=n+1 12. 結束while循環 13. 返回Gopt End 算法3螞蟻尋路算法 Input:目標Artifact實例Aroot、各Artifact實例生命周期中涉及到的由相關Artifact實例提供的流程服務集合B、螞蟻ant Output:路徑G Begin 1. 定義變量G=?,Gcur=? 2. for allb∈B循環 3. 讀取b元素(Ar,P,Ap)的Ar, 如果Ar=Aroot,Gcur=Gcur∪{b} 4. 結束for循環 6. 將Gcur中的b元素根據P值的不同進行分類,從每一類的b元素中按照“信息素”分布選擇一個b元素并入G 7. 如果G=?,返回G 8. for allb∈G循環 9. 定義路徑G′=? 10. 調用螞蟻尋路算法,輸入b、B、ant,返回路徑存入G′ 11.G=G∪G′ 12. 結束 for 循環 13. 返回G End 算法2中變量N代表著蟻群尋路的總迭代次數,這個次數對應著蟻群尋路原理中的一段時間,N越大,表示等待正反饋機制生效的時間越長,算法優化的效果越好,實際應用中要根據算法運行效率和優化效果的平衡來選取N的值。算法3中第6行提到按照“信息素”分布從一類具有相同的接受Artifact實例Ar和流程服務P的b元素中選擇一個b元素,令該具有相同的接受Artifact實例Ar和流程服務P的b元素集為GP={b1,b2,…,bn},當前蟻群尋路的迭代輪次為m,則其中各b元素的選取概率計算公式為 (10) 式中,τm代表各個路徑G上各b元素在當前迭代的“信息素”濃度值。從公式可以看出“信息素”濃度越高的b元素被選取的概率越大。在第0輪迭代時,整個ACCM監控模型中的B集合中所有b元素的“信息素”值初始化為一個相同的值,一般設為0。算法2中的第7行提到了路徑G上b元素的“信息素”改變量的計算,下面說明其計算方法。路徑G上的b元素上的“信息素”的改變量就采用評價函數Fevaluation(G)的值,蟻群ANT中螞蟻ant走完其路徑時,ACCM監控模型中整個B集合中的b元素的“信息素”改變量的計算公式為 Ψant(bi)=Fevaluation(Gant)·Flogical(bi∈Gant), (11) 式中,Flogical(A)表示邏輯取值函數,邏輯表達式A為真則函數值取1,邏輯表達式A為假則函數值取0。令當前迭代輪次為m,蟻群ANT中所有螞蟻走完其路徑后,ACCM監控模型中整個B集合中的b元素的總“信息素”改變量的計算公式為 (12) ACCM蟻群優化算法的主要操作集中在對B集合和蟻群的遍歷及蟻群尋路的迭代。令蟻群尋路的迭代次數為X,B集合的基數為U,蟻群的基數為W,每個螞蟻尋路的過程是遞歸的,但其路徑中b元素最多不超過U,故其總體操作的時間復雜度為O(UU)。那么整個ACCM蟻群優化算法的時間復雜度為O(XWUU),該算法的時間復雜度主要取決于ACCM監控模型中B集合的基數U大小,若U偏大時,還可以通過冗余法降低螞蟻尋路算法單次調用的時間復雜度,從而使整體優化算法的時間復雜度降低到O(XWUlogU)。 本文以某一站式旅游服務平臺為例進行實例分析。該旅游服務平臺能提供滿足旅游者所有旅游相關的產品的流程服務,包括吃、住、行、游、購、娛等方面。在該平臺的服務過程中,不同組織角色的流程服務相互協同,給旅游者提供了一站式旅游服務。表1給出在業務流程協同模型ACCM中的流程服務集V。 該ACCM模型下產生的流程服務協同快照數約為20 000個(隨機選取其中的20%作為測試集),流程協同快照實例下所示: 表1 流程服務表Tab.1 Table of process services 已知ACCM協同模型及其協同快照集合,利用算法2挖掘ACCM監控模型,算法運行過程中,根據式(1)、(2)分別計算出Ccostavg、Dsatisfaction的值,Ctotal、Csuccess的值由Z屬性挖掘獲得,最終挖掘出的部分B集結果如表2所示。 表2 B集表Tab.2 Table of B sets 已知ACCM監控模型的B集,根據算法3得到最優路徑如圖1所示。圖中,a1為算法中的Aroot,即一站式旅游服務平臺Artifact實例,v1至v7表示完成a1所需的流程服務,各流程服務由其下連接的各Artifact實例提供,Artifact實例a41需要流程服務v1和v2,v1和v2由各自連接的Artifact實例提供。Artifact實例a42、a52所需流程服務過程與a41類似。最終,最優流程服務路徑為圖中加粗顯示的路徑。最優路徑中各b元素相關指標及Fevalution(Aroot)的值如表3所示。 圖1 ACCM監控模型優化路徑圖Fig.1 The optimal path chart of ACCM 表3 最優路徑評價指標表Tab.3 Table of the optimal path evolution 命中率(Hit Rate)、查準率(Precision)、查全率(Recall)和F1(Recall, Precision)是衡量優化、推薦方法質量的4個重要指標。命中率是指流程服務伙伴協同路徑實際命中次數與其被推薦次數的比例。查全率是指推薦流程服務伙伴路徑命中個數與測試集中相關實際流程服務伙伴路徑數的比值。查準率是指推薦流程服務伙伴協同路徑命中個數與流程服務伙伴協同路徑推薦數的比值。F1則是綜合查全率與查準率的一個指標值,其具體值為查全率與查準率之積除以查全率與查準率之和的商的2倍。在訓練數據中挖掘出流程服務協同最優路徑后,使用測試數據分析該最優路徑的命中率、查準率、查全率和F1指標,結果如圖2所示。從圖中可以看出,隨著每次推薦時最大推薦數的增加,監控效果大幅上升,較高的查準率說明通過本文監控模型得到的推薦結果的準確性,相對較低的查全率其實反映著實際存在的盲目購買行為。本文提出的ACCM監控模型通過挖掘到的B集及其評價指標,較好地呈現出各個流程服務Artifact實例評價指標的差異性,為業務流程協同過程中選擇最優流程服務伙伴提供了可靠的數據,并在此數據基礎上實現了ACCM流程協同監控的優化。實例分析結果表明,以數據為中心的多流程協同監控優化方法是可行的。 圖2 監控效果評價指標圖Fig.2 The evaluation index of monitoring effect 本文主要研究了以Artifact為中心的多流程協同監控方法。該方法給出了以Artifact為中心的多流程協同模型ACCM,在ACCM模型上通過蟻群優化算法,提取了流程服務的支持度、可信度、滿意度和服務成本等指標,獲得了最優服務伙伴協同路徑,解決了傳統多流程協同監控技術忽略業務流程數據交互的重要性問題,大大提高了流程協同監控的質量和可利用率。 實際上,流程協同監控指標不僅局限于流程服務本身,也可以擴展到組織角色等其他元素。本文下一步的研究重點即在協同快照日志中挖掘更高質量的監控指標。2.2 ACCM監控協同模型優化









3 實例分析






4 結論