• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    支持復(fù)雜事件處理的業(yè)務(wù)流程建模研究

    2012-05-04 08:08:56董廣智柳軍飛
    計算機工程與設(shè)計 2012年6期
    關(guān)鍵詞:缺貨業(yè)務(wù)流程網(wǎng)關(guān)

    王 健,董廣智,柳軍飛

    (北京師范大學(xué) 信息科學(xué)與技術(shù)學(xué)院,北京100875)

    0 引 言

    為了快速應(yīng)對市場變化的需求,越來越多的企業(yè)已經(jīng)認識到業(yè)務(wù)流程的重要性。業(yè)務(wù)流程管理(business process management,BPM)是一種以規(guī)范化構(gòu)建端到端的卓越的業(yè)務(wù)流程為中心,以持續(xù)提高組織業(yè)務(wù)績效為目的的系統(tǒng)化方法[1]。BPM通過業(yè)務(wù)流程建模來提取企業(yè)的關(guān)鍵業(yè)務(wù),并對業(yè)務(wù)之間的聯(lián)系,以及業(yè)務(wù)與人的聯(lián)系進行描述,由流程引擎來對所建立的流程模型進行解析、執(zhí)行,采取自動或半自動的方式完成整個業(yè)務(wù)。業(yè)務(wù)流程建模實現(xiàn)了對企業(yè)關(guān)鍵業(yè)務(wù)的抽象描述,是實現(xiàn)業(yè)務(wù)流程管理的基礎(chǔ)。近年來,針對不同的業(yè)務(wù)層次很多流程定義語言被提出 來, 例 如 BPMN(business process modeling notation)[2-3],UML 2.0Activity Diagrams[4-5],BPEL(business process execution language)[6-7]。這些語言中都包含對事件的定義,并通過事件來觸發(fā)流程的初始化或推進流程實例[8]。事件在流程中是一個寬泛的概念,活動的開始、活動的結(jié)束、文檔狀態(tài)的變化、消息的到達等都可以是事件。然而這些建模語言中對于事件的劃分都是根據(jù)不同的類型,例如BPMN2.0中的事件種類就分為消息、計時器、信號、錯誤等。這樣劃分的不足有:

    (1)按類型的劃分使得事件的種類過于繁多,建立的流程模型也會過于復(fù)雜;

    (2)這些簡單事件不足以描述完整的業(yè)務(wù)流程,很多復(fù)雜事件沒有被描述[9]。

    所以本文提出了一種基于復(fù)雜事件處理的業(yè)務(wù)流程建模語言(CE-BPM),將事件按不同的來源分為3層,不僅減少了事件的種類,簡化了業(yè)務(wù)流程模型,而且支持復(fù)雜事件處理,更加完整的描述了業(yè)務(wù)流程。本文第2節(jié)介紹了BPMN的基本元素和復(fù)雜事件處理(CEP)的基本原理。在第3節(jié)中,提出了事件分層模型,將業(yè)務(wù)流程中的事件分為0、1、2這3層,并給出了CE-BPM的形式化描述和圖形化表示。第四節(jié)通過一個購物網(wǎng)站的流程實例,提出了用BPMN2.0建模時可能遇到的問題,并通過CE-BPM方法,方便的解決了實例中提到的問題。最后,對支持復(fù)雜事件處理的業(yè)務(wù)流程建模進行了總結(jié),并提出了下一步的工作方向。

    1 相關(guān)技術(shù)

    1.1 BPMN

    在眾多現(xiàn)有的流程建模語言中,BPMN 2.0由于既融合了UML的面向?qū)ο蟮脑O(shè)計思想、圖像化設(shè)計思想以及Petri網(wǎng)思想,又可以方便的映射到業(yè)務(wù)流程執(zhí)行語言(BPEL),已經(jīng)成為業(yè)務(wù)流程建模的一個標準[10]。BPMN 2.0中有5個基本的元素類別,包括:流對象(flow objects),數(shù)據(jù)(data),連接對象(connecting objects),泳道(swim lanes),人工制品(artifacts)。

    (1)流對象是業(yè)務(wù)流程模型中主要的圖形元素,用于定義業(yè)務(wù)流程的行為。包括3種元素:事件、活動、網(wǎng)關(guān)。

    (2)數(shù)據(jù)包括5種元素:數(shù)據(jù)對象、數(shù)據(jù)輸入、數(shù)據(jù)輸出、數(shù)據(jù)存儲、屬性。

    (3)連接對象將流對象連接起來形成一個業(yè)務(wù)流程的基本結(jié)構(gòu),包括4種元素:順序流、消息流、關(guān)聯(lián)、數(shù)據(jù)關(guān)聯(lián)。

    (4)泳道將活動劃分到不同的可視化類別中來描述不同的參與者的責(zé)任與職責(zé),包括兩種元素:池、道。

    (5)人工制品用于添加流程備注,便于流程閱讀者理解,預(yù)定義了兩種人工信息:組、注釋。

    1.2 復(fù)雜事件處理

    事件是一個很廣泛的概念,通常意義上指有值得注意的事發(fā)生了[11]。比如一次金融交易的完成,一個重要時刻的到來等等。事件可以觸發(fā)活動的執(zhí)行,它可以在某個既定狀態(tài)下發(fā)生,可以在活動執(zhí)行過程中產(chǎn)生,也可以是因為某些條件被滿足時產(chǎn)生。在業(yè)務(wù)流程領(lǐng)域內(nèi),事件被定義為 “狀態(tài)的一次有意義的改變”,比如一個文件的提交,一個故障或錯誤的產(chǎn)生等。

    復(fù)雜事件處理(complex event processing)技術(shù)是20世紀90年代由斯坦福大學(xué)的David Luckham提出的,使用模式比對、事件的相互關(guān)系、事件間的聚合關(guān)系,從事件云(event cloud)中找出有意義的事件[12],如圖1所示。

    復(fù)雜事件處理技術(shù)模擬的是人從現(xiàn)實世界中獲取信息進行判斷推理的思維過程。這些信息包括事物實體的狀態(tài)信息,實體之間的作用和動作信息,這里統(tǒng)稱為事件。這些事件組成事件云,我們從事件云中提取事件,并對這些事件過濾,只保留有意義的事件,同時轉(zhuǎn)化成統(tǒng)一的事件格式,然后通過事件模式匹配將事件與規(guī)則庫中的事件模式進行匹配[13],分析事件間的成員關(guān)系、時間關(guān)系、因果關(guān)系以及包含關(guān)系等,抽象低層次的事件到高層次的事件,組合局部的事件成整體的事件,然后對這些事件進行匹配,判斷以及推理,用來實現(xiàn)判斷,查找原因,決策和預(yù)測的功能。

    圖1 復(fù)雜事件處理

    2 支持復(fù)雜事件處理的流程建?!狢E-BPM

    2.1 事件分層原理

    在BPMN中,對于事件的描述都是按照不同的類型進行分類的,通常一個流程中就包含多種不同的事件[14],這些事件可以是內(nèi)部事件,也可以是外部事件,比如:消息事件、計時器事件、錯誤事件、取消事件等。在現(xiàn)實業(yè)務(wù)流程中,一個消息事件可能是基本事件,也可能是由幾個基本事件得到的復(fù)雜事件,也可能是由基本事件和復(fù)雜事件共同得到的復(fù)雜事件。所以,采用事件分層的方法來表達業(yè)務(wù)流程中的事件更加符合實際要求。下面給出事件分層的依據(jù),如圖2所示。

    圖2 事件分層模型

    (1)從業(yè)務(wù)流程中能直接得到的原子事件為0層事件;

    (2)通過對0層事件云進行過濾、模式匹配得到的復(fù)雜事件為1層事件;

    (3)通過對0層和1層復(fù)合事件云,或者1層事件云進行過濾、模式匹配得到的復(fù)雜事件為2層事件。

    2.2 CE-BPM的形式化描述

    根據(jù)對BPMN 2.0的描述,可以把BPMN2.0的流程模型表示為一個五元組。

    定 義 1 BPMN=(Flows,Connectors,Datas,Swimlanes,Artifacts),其中:

    (1)Flows是流對象集合,F(xiàn)lows=(Activities,Gateways,Events),其中 Activities表示活動的集合,Gate-ways表示網(wǎng)關(guān)的集合,Events表示事件的集合;

    (2)Connectors是連接對象集合;

    (3)Datas是數(shù)據(jù)集合;

    (4)Swimlanes是泳道集合;

    (5)Artifacts是人工制品集合。

    定義2 e表示業(yè)務(wù)流程中的事件,是一個五元組,e=(type,source,flag,time,attribute),5個基本事件變量分別表示事件類型、事件源、事件標識符、事件時間戳和事件屬性,其中attribute是事件的屬性集合,集合元素是屬性名到屬性值的映射。

    BPMN中的事件集合只是對簡單事件的描述,即只包括0層事件,沒有對復(fù)雜事件進行描述,表達的流程模型不夠豐富,所以在CE-BPM中加入復(fù)雜事件的元素,用一個六元組來表示業(yè)務(wù)流程。

    定義 3 CE-BPM=(CFlows,Connectors,Datas,Swimlanes, Artifacts, Rules ), Connectors、 Datas、Swimlanes、Artifacts與定義1中相同,其中:

    (1)Rules是事件規(guī)則集;

    (2)CFlows是支持復(fù)雜事件的流對象,CFlows=(Activities,CGateways,CEvents),其中 CEvents是包含復(fù)雜事件的事件集,CGateways是包含復(fù)雜事件處理網(wǎng)關(guān)的網(wǎng)關(guān)集。業(yè)務(wù)流程中包含很多復(fù)雜事件,這些復(fù)雜事件都是由若干底層事件的發(fā)生而引起的,底層事件在何種情況下產(chǎn)生復(fù)雜事件是由事件規(guī)則定義的。

    定義4 Rules是一個事件規(guī)則集,Rules={r|IF r(e01,e02,…,e0m)THEN e,e,e01,e02,…,e0m∈CEvents},其中,r(e01,e02,…,e0m)是事件表達式,由內(nèi)外兩層組成:

    (1)內(nèi)層是屬性運算,由關(guān)鍵字where引出,通常用于對事件的約束,例如e(where attr=v)表示事件e的屬性attr的值為v,其中v是常量。e(where attr>e1.attr)表示事件e的屬性attr的值大于事件e1的屬性attr。

    (2)外層是事件運算,事件間的基本操作符如表1所示[15]。

    表1 事件運算符

    定義5 CEvents是一個事件集,CEvents=Events0∪Events1∪Events2。其中Events0={e01,e02,e03,……,e0m},表示0層事件;Events1={e11,e12,e13,……,e1n},表示1層事件;Events2={e21,e22,e23,……,e2k},表示2層事件。3層事件的關(guān)系如下:

    (1)Events0是從業(yè)務(wù)流程中直接得到的原子事件集;

    (2)Events1={e|IFr(e01,e02,…,e0m)THEN e,e01,e02,…,e0m∈Events0,r∈Rules,m>0}

    (3)Events2={e|IFr(e01,e02,…,e0m,e11,e12,…,e1n)THEN e,e01,e02,…,e0m∈Events0,e11,e12,…,e1n∈Events1,r∈Rules,m≥0,n>0}。

    定義6 用CGateways來表示包含復(fù)雜事件處理的網(wǎng)關(guān)集,CGateways=Gateways∪GC,其中GC表示復(fù)雜事件處理網(wǎng)關(guān)的集合。GC通過調(diào)用CEP引擎來判斷相應(yīng)的事件規(guī)則是否被滿足,根據(jù)判斷結(jié)果產(chǎn)生相應(yīng)的事件。

    2.3 CE-BPM的圖形化表示

    在BPMN2.0的基礎(chǔ)上,引入了復(fù)雜事件和復(fù)雜事件處理網(wǎng)關(guān)兩種新的符號,如表2所示。

    ?

    3 模型實例分析

    一個網(wǎng)上購物網(wǎng)站提供免費的退換貨服務(wù),用BPMN2.0來描述其業(yè)務(wù)流程模型如圖3所示。顧客A首先在購物網(wǎng)站挑選喜歡的商品,然后下訂單,網(wǎng)站接到顧客的訂單后,首先查詢該商品的庫存量,如果庫存不足,觸發(fā)補貨流程,并通知顧客無貨,顧客結(jié)束購物;如果庫存充足,通知顧客后,顧客付款,網(wǎng)站收到付款后,進行發(fā)貨,顧客收到商品后,如果對該商品滿意,則通知網(wǎng)站,雙方交易結(jié)束;如果對商品不滿意,則申請退貨,網(wǎng)站收到退貨后,為顧客退款,雙方交易結(jié)束。

    圖3 BPMN2.0購物網(wǎng)站業(yè)務(wù)流程模型

    考慮這樣一種情況,如果顧客A購買了一件商品T后,網(wǎng)站的庫存量還剩s件,但是A收到商品后,對商品不滿意,申請退貨,而同時顧客B也欲購買商品T,購買數(shù)量為s+1,這種情況,如果按照上面的流程,網(wǎng)站就會由于缺貨而失去顧客B。這是任何商家都不愿意看到的,為了挽回更多的顧客,可以有兩種解決方法:

    (1)隨時監(jiān)測退貨情況(m),庫存情況(s),以及顧客訂單數(shù)目(n),如果m+s≥n,則通知顧客有貨,交易繼續(xù)進行;

    (2)隨時監(jiān)測庫存情況(s)以及商品的日瀏覽量(r),如果r≥σ*s,則發(fā)送缺貨通知,進行補貨。

    在這兩種方法中,都是通過對一些基本事件的分析,我們進一步得到了新的復(fù)雜事件。在(1)中得到的有貨通知和基本事件的有貨通知是不同的,得到的復(fù)雜事件有貨是指未來有貨,是一種對未來的推測;同樣,(2)中的缺貨通知是指未來缺貨,也是一種推測。

    下面用CE-BPM來描述,如圖4所示,其中 “有貨”是一個2層事件, “未來缺貨”是一個1層事件?!坝胸洝庇胑2表示,“未來有貨”和 “未來缺貨”分別用e11和e12表示,“當前有貨”、“當前缺貨”、“下訂單”、“退貨”、“查看庫存”、 “查看商品日瀏覽量”分別用e01、e02、e03、e04、e05、e06表示,其中e03、e04、e05、e06都包含屬性ItemId和Amount,分別表示商品編號和數(shù)量。

    根據(jù)實際業(yè)務(wù)需求,定義規(guī)則集Rules={r1,r2,r3},具體規(guī)則定義如下:

    (1)IF r1(e11,e01)=e11or e01THENe2,當 “當前有貨”發(fā)生或 “未來有貨”發(fā)生時,產(chǎn)生復(fù)雜事件 “有貨”;

    (2)IF r2(e03,e04,e05)=e05and e03(where(e-05.Amount<e03.Amount))and within(1min,e04(where(e04.ItemID=e03.ItemIdand e04.Amount+e05.Amount≥e03.Amount)))THENe11,對同一件商品,如果顧客下訂單時庫存量小于訂單量,在一分鐘之內(nèi)有顧客退貨,同時庫存量與退貨量之和大于等于訂單量,則產(chǎn)生復(fù)雜事件“未來有貨”;

    (3)IF r3(e05,e06)=e06and e05(where(e-06.ItemID=e05.ItemID)and(e06.Amount≥ σ * e-05.Amount))THENe12,業(yè)務(wù)流程每天查詢一次商品日瀏覽量,對同一件商品,如果日瀏覽量大于等于σ倍的庫存量,則產(chǎn)生復(fù)雜事件 “未來缺貨”,其中σ根據(jù)實際情況設(shè)定。復(fù)雜事件處理網(wǎng)關(guān)通過CEP引擎來實現(xiàn),該引擎收集流程中的所有事件,與預(yù)定義的事件規(guī)則進行匹配,得到相應(yīng)的復(fù)雜事件。與BPMN2.0購物網(wǎng)站業(yè)務(wù)流程模型相比,CE-BPM模型表達的事件更加豐富,能預(yù)知業(yè)務(wù)流程可能發(fā)生的機會和風(fēng)險,符合實際的業(yè)務(wù)需求,同時根據(jù)層次劃分的事件使流程模型更加清晰。

    圖4 CE-BPM購物網(wǎng)站業(yè)務(wù)流程模型

    4 結(jié)束語

    復(fù)雜事件處理通過抽象低層次的事件到高層次的事件,組合局部的事件成整體的事件,然后對這些事件進行匹配,判斷以及推理,通常用來實現(xiàn)判斷,查找原因,決策和預(yù)測的功能。在業(yè)務(wù)流程管理中,復(fù)雜事件處理能幫助企業(yè)更好的實時處理業(yè)務(wù),并預(yù)測將會出現(xiàn)的機會和風(fēng)險。支持復(fù)雜事件處理的業(yè)務(wù)流程建模方法,通過對流程中事件的分層表示,完整的表達了現(xiàn)實中的業(yè)務(wù)流程,使得業(yè)務(wù)流程能更好的處理實時業(yè)務(wù),并能預(yù)測即將出現(xiàn)的機會和風(fēng)險。然而現(xiàn)有的業(yè)務(wù)流程引擎并沒有很好的支持復(fù)雜事件處理,所以下一步的工作將是對基于復(fù)雜事件處理的業(yè)務(wù)流程引擎的研究。

    [1]Mathias Weske.Business process management concept language architecture[M].Berlin Heidelberg:Springer-Verlag,2007.

    [2]Object Management Group(OMG).Business process model and notation(BPMN)version 2.0 [EB/OL].http://www.omg.org/spec/BPMN/2.0/,January,2011.

    [3]Object Management Group(OMG).BPMN 2.0by example[EB/OL].http://www.omg.org/spec/BPMN/2.0/,June,2010.

    [4]Russ Miles,Kim Hamilton.Learning UML 2.0.[M].eilly Media Inc,2006.

    [5]Russell N,Van Der Aalst W M,Ter Hofstede A,et al.On the suitability of UML 2.0activity diagrams for business process modelling [C].Proceedings 3rd Asia-Pacific Conference on Conceptual Modelling,2006:95-104.

    [6]OASIS.Web services business process execution language version 2.0 [EB/OL].http://docs.oasis-open.org/wsbpel/2.0/wsbpel-v2.0.html,April,2007.

    [7]Matjaz B Juric.WSDL and BPEL extensions for event driven architecture [J].Information and Software Technology,2010:1023-1043.

    [8]Dunkel J.Event-driven architecture for decision support in traffic management systems [J].Expert Systems with Applications,doi:10.1016/j.eswa.2010.11.087.

    [9]Alistair Barros,Gero Decker,Alexander Grosskopf.Complex events in business processes[G].LNCS 4439:W.Abramowicz(Ed.):BIS 2007:9-40.

    [10]QIN Tianbao,F(xiàn)rom BPMN to BPEL [J].Computer Applications,2006,26(6):266-268(in Chinese).[秦 天 保,從BPMN到可執(zhí)行業(yè)務(wù)流程建模 [J].計算機應(yīng)用,2006,26(6):266-268.]

    [11]Luckham D,Schulte R.Event processing glossary-version 1.1[EB/OL]. [2008-08-31].http://www.complexevents.com/2008/08/31/event-processing-glossary-version-11/.

    [12]Dan A,Gittler F,Toumani F.Integrating complex events for collaborating and dynamically changing business processes[C].Proceedings of the International Conference on Service-Oriented Computing,2009.

    [13]Alexandre de Castro Alves.New event-processing design patterns using CEP [J].BPM Workshops,2010,43:359-368.

    [14]Remco M Dijkman,Marlon Dumas,Chun Ouyang.Semantics and analysis of business process models in BPMN [J].Information and Software Technology,2008,50(12):1281-1294.

    [15]Paul Dekkers.Complex event processing-CORDYS simplifying business [D].Radboud University Nijmegen,2007:46-50.

    猜你喜歡
    缺貨業(yè)務(wù)流程網(wǎng)關(guān)
    RPA機器人助業(yè)務(wù)流程智能化
    空氣顯卡新成員 RX6700XT開賣
    電腦愛好者(2021年8期)2021-04-21 15:11:07
    基于改進RPS技術(shù)的IPSEC VPN網(wǎng)關(guān)設(shè)計
    今年河蟹產(chǎn)量高、規(guī)格大!因脫殼晚,中秋可能缺貨,后期價格走勢有點懸
    STK業(yè)務(wù)流程優(yōu)化的探究
    電子測試(2018年23期)2018-12-29 11:11:28
    企業(yè)財務(wù)管理、業(yè)務(wù)流程管理中整合ERP之探索
    “缺貨”等十四則
    雜文月刊(2018年7期)2018-05-14 09:12:54
    基于財務(wù)業(yè)務(wù)流程再造的ERP信息系統(tǒng)構(gòu)建探析
    中國商論(2016年34期)2017-01-15 14:24:22
    LTE Small Cell網(wǎng)關(guān)及虛擬網(wǎng)關(guān)技術(shù)研究
    移動通信(2015年18期)2015-08-24 07:45:08
    應(yīng)對氣候變化需要打通“網(wǎng)關(guān)”
    太陽能(2015年7期)2015-04-12 06:49:50
    依安县| 英吉沙县| 江城| 弋阳县| 新竹县| 舞钢市| 永泰县| 锦屏县| 平泉县| 汨罗市| 内乡县| 沁源县| 金门县| 全州县| 昭觉县| 英吉沙县| 广水市| 原平市| 莎车县| 凤庆县| 云龙县| 会宁县| 宁强县| 申扎县| 上思县| 三明市| 托克托县| 定州市| 石河子市| 沾益县| 津市市| 鄱阳县| 沙湾县| 长宁区| 南投县| 仁怀市| 凤阳县| 五峰| 泰和县| 拉萨市| 阿拉善右旗|