亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于Petri網(wǎng)模型的工作流引擎設(shè)計

        2014-12-31 00:00:00查文剛
        計算機光盤軟件與應(yīng)用 2014年16期

        摘 要:工作流引擎是工作流管理系統(tǒng)的核心部分。本文運用Petri網(wǎng)理論來構(gòu)建一個基于活動的工作流引擎?;诨顒拥墓ぷ髁饕馕吨^程由一組需要完成的某些目標活動組成。在本系統(tǒng)中它將嵌套在該牽引供電系統(tǒng)中,用于安全基礎(chǔ)問題庫系統(tǒng)中業(yè)務(wù)的處理。本文詳細介紹Petri網(wǎng)模型理論對工作流引擎設(shè)計,以供同行參考。

        關(guān)鍵詞:管理信息系統(tǒng);數(shù)據(jù)庫;工作流;Petri網(wǎng)

        中圖分類號:TP301.1

        1 Petri網(wǎng)模型工作流

        Petri網(wǎng)是一種系統(tǒng)的數(shù)學(xué)和圖形描述與分析工具,Petri網(wǎng)分析方法和技術(shù)可用于靜態(tài)的結(jié)構(gòu)分析,又可用于動態(tài)行為分析,特別適用于具有并發(fā)、異步、分布、并行、不確定性的信息處理系統(tǒng)。經(jīng)過幾十年的發(fā)展,Petri網(wǎng)理論得到了極大豐富,其應(yīng)用領(lǐng)域涉及計算科學(xué)的各個領(lǐng)域,如線路設(shè)計、網(wǎng)絡(luò)協(xié)議、軟件工程、人工智能、形式語言、操作系統(tǒng)、并行管理、數(shù)據(jù)管理等。

        Petri網(wǎng)理論對設(shè)計和模型化工作流過程提供了恰當(dāng)?shù)姆椒?。Petri網(wǎng)由庫所和變遷組成,用矩形表示變遷,圓圈表示庫所。變遷和庫所由有向弧相連接。從變遷到庫所,從庫所到變遷,相同兩個節(jié)點之間不允許相連接。

        Petri網(wǎng)包含的幾個基礎(chǔ)對象:

        (1)庫所(Places):用來表示系統(tǒng)狀態(tài),在Petri網(wǎng)中是被動因素,它們不能改變網(wǎng)的狀態(tài)。

        (2)變遷(Transitions):表示資源的消耗、使用及系統(tǒng)狀態(tài)產(chǎn)生的變化。通過變遷操作,實現(xiàn)過程從一個狀態(tài)到另一個狀態(tài)轉(zhuǎn)的變。

        (3)向?。ˋrcs):庫所和變遷之間通過向弧連接。在Petri網(wǎng)圖示中以連接線表示。一個內(nèi)向向?。╥ nward arc)從一個庫所連到一個變遷,一個外向向?。╫utward arc)從一個變遷連接到一個庫所。

        (4)令牌(Tokens):令牌代表工作流過程當(dāng)前的狀態(tài)。這些對象遵循以下定義規(guī)則:庫所只擁有代表過程狀態(tài)的令牌,一個庫所可以用于0個或多個令牌。

        一個向弧連接一個庫所到變遷。如果存在一個P指向T的向弧,則庫所P稱為變遷T的輸入庫所。如果存在一個T指向P的向弧,則庫所P稱為變遷T的輸出庫所。

        當(dāng)一個變遷T被啟用激活后,它將令牌從它的輸入庫所轉(zhuǎn)移到它的輸出庫所。當(dāng)變遷發(fā)射時,它會從它的每個輸入庫所里消耗一個令牌,同時在它的輸出庫所中產(chǎn)生一個令牌。

        每個工作流過程都有一個單一的開始庫所。它至少有一個指向變遷的內(nèi)向向弧,為了重啟流程,它也可以有一個來自變遷的外向向弧。

        每個工作流過程都有一個單一的結(jié)束庫所。它至少有一個來自變遷的內(nèi)向向弧,但它不能有任何指向變遷的內(nèi)向向弧。

        2 Petri網(wǎng)的觸發(fā)器

        Petri網(wǎng)中的變遷是處于激發(fā)狀態(tài)的,一經(jīng)觸發(fā),就會立刻執(zhí)行,每個就緒的變遷對應(yīng)一個工作項,其主要包括三種類型的觸發(fā):用戶主導(dǎo)、外部消息事件、時間信號。

        (1)用戶主導(dǎo):工作任務(wù)實例由用戶進行觸發(fā)。在工作流系統(tǒng)中一般都有用戶主導(dǎo)的工作任務(wù)實例。

        (2)外部消息事件:任務(wù)實例是由外部的事件(如消息)進行觸發(fā)啟用。這類消息包括Email、短信消息等。

        (3)時間信號:啟用的任務(wù)由一個時鐘觸發(fā)。比如當(dāng)預(yù)定義的時間后,任務(wù)就被執(zhí)行。由于這類型的任務(wù)能被運行在一個規(guī)劃的時間下的“后臺過程”觸發(fā),它不能與用戶有任何的對話。

        3 Petri網(wǎng)路由

        在一個工作流過程內(nèi),開始庫所與結(jié)束庫所之間的路由主要包括這幾種形式:順序路由、并行路由、條件路由、循環(huán)路由。

        (1)順序路由:一個步驟完成后,無條件地流向固定的下一步驟。在Petri網(wǎng)中,通過在兩個任務(wù)間添加一個庫所進行鏈接。

        (2)并行路由:使用AND-SPLIT構(gòu)造塊和AND-JOIN構(gòu)造塊,一個步驟完成后,同時激活多個后繼步驟。添加的這個步驟需要分多個分支步驟來共同處理完成,只有任務(wù)都完成,變遷才能實施。

        (3)條件路由:一個步驟完成后,按一定的條件流向不同的下一步驟。使用的是OR-SPLIT構(gòu)造塊和OR-JION構(gòu)造塊。

        (5)循環(huán)路由:Petri網(wǎng)的循環(huán)路由根據(jù)C的執(zhí)行結(jié)果決定是否繼續(xù)往下執(zhí)行,若未通過,再次執(zhí)行B,若通過,增加一個變遷R來實現(xiàn)R和C之間有條件約束的條件路由關(guān)系。

        4 工作流引擎流程處理

        工作流引擎實現(xiàn)對用戶提交的工作項內(nèi)容的解釋,引擎除了完成基本的流程控制、數(shù)據(jù)傳遞外,還必須具有一定的靈活性,具體表現(xiàn)為:

        (1)動態(tài)選擇:上一個活動的執(zhí)行者可以對下一個活動的執(zhí)行者進行具體的指定,指定的用戶范圍可以參加該流程的所有用戶,或者從限定的用戶范圍內(nèi)進行選擇。

        (2)跳轉(zhuǎn):一個活動執(zhí)行完畢后能動態(tài)的跳到一個指定的后續(xù)活動,繼續(xù)整個流程的執(zhí)行。

        (3)多實例:支持一個活動到的多實例的split-join。

        (4)能進行消息通知:當(dāng)一個用戶完成他的工作后,可以通過即時消息功能將這個消息信息通知下一步工作的執(zhí)行者。

        (5)委托:可以對活動的執(zhí)行者進行逐過程、逐人的委托,也可以在得到一個任務(wù)時臨時指定另一個角色或人來執(zhí)行該任務(wù)。

        工作流引擎的處理過程,具體處理過程包括流程的啟動,查找當(dāng)前節(jié)點和下一節(jié)點的聯(lián)系條件,如果存在這一條件,則實例化該節(jié)點,對該節(jié)點任務(wù)進行處理,該節(jié)點處理完后,獲取下一節(jié)點,以此循環(huán)至結(jié)束。

        5 工作流引擎數(shù)據(jù)庫設(shè)計

        工作流管理系統(tǒng)的運行需要數(shù)據(jù)庫的支持。結(jié)合上文提出的Petri網(wǎng)理論以及工作流引擎的處理過程,設(shè)計了該系統(tǒng)工作流引擎的數(shù)據(jù)庫,主要涉及到六張數(shù)據(jù)表,這些表是為定義工作流過程而設(shè)計的,通過邏輯設(shè)計,可以驅(qū)動業(yè)務(wù)流程的流轉(zhuǎn)運行,對于流程處理的通用描述如下:

        (1)流程第一步,打開某一流程已綁定好的一個URL鏈接地址。

        (2)流程第二步,工作流處理程序,通過權(quán)限判斷,從p_wf_case表中找到該流程,創(chuàng)建該流程的實例。

        (3)第三步,工作流引擎通過流程的pwf_id從p_wf_place表和p_wf_workitem表中取得流程的第一個節(jié)點信息。

        (4)第四步,根據(jù)流程的結(jié)點創(chuàng)建一個任務(wù)實例。

        (5)第五步,將結(jié)點任務(wù)分配給綁定好的執(zhí)行者完成。當(dāng)任務(wù)完成后,將信息反饋給工作流引擎服務(wù)器。未完成時,會給出相應(yīng)的提示信息。

        (6)第六步,工作流引擎找出下一個流程的結(jié)點。如果沒有,則整個流程結(jié)束。

        該系統(tǒng)檢測用戶是否有發(fā)起流程的權(quán)限,若存在該權(quán)限,則創(chuàng)建該流程實例,并在節(jié)點和關(guān)系表中找到任務(wù)節(jié)點,若存在該任務(wù)節(jié)點,繼續(xù)創(chuàng)建該節(jié)點的實例,執(zhí)行該節(jié)點的相關(guān)任務(wù),當(dāng)該節(jié)點任務(wù)執(zhí)行完成后,繼續(xù)查找下一節(jié)點,以此循環(huán)至流程處理結(jié)束。根據(jù)以上介紹的工作流業(yè)務(wù)流轉(zhuǎn)過程以及設(shè)計的數(shù)據(jù)庫表。

        6 結(jié)束語

        本文主要描述了工作流引擎的設(shè)計。論文首先從Petri網(wǎng)模型工作流、觸發(fā)器、路由組成上對工作流引擎設(shè)計進行了相關(guān)的理論描述,在此基礎(chǔ)上,對工作流引擎的流程處理過程,結(jié)合Petri網(wǎng)理論設(shè)計了工作流引擎的數(shù)據(jù)庫表。

        參考文獻:

        [1]Tony Marston.基于活動的PHP工作流引擎[M].CGFinal Developer Zone,2008.

        [2]趙宗敏.基于WFMC規(guī)范的軟件過程工作流引擎設(shè)計與實現(xiàn)[D].上海師范大學(xué),2010.

        [3]錢春曉.基于Petri網(wǎng)的工作流引擎設(shè)計與實現(xiàn)[D].重慶大學(xué),2006.

        作者簡介:查文剛(1983.09-),男,江西星子人,助理工程師,碩士,研究方向:計算機科學(xué)技術(shù)。

        作者單位:華東交通大學(xué),南昌 330013

        久久精品国产99久久丝袜| 强d乱码中文字幕熟女免费| 绝顶高潮合集videos| 国产精品无码aⅴ嫩草| 国产中老年妇女精品| 亚色中文字幕| 亚洲av成人久久精品| 亚洲日本人妻少妇中文字幕| 亚洲色精品三区二区一区| 东北妇女xx做爰视频| 国产精品亚洲А∨天堂免下载| 国产亚洲av人片在线播放| 91快射视频在线观看| 亚洲av无码国产精品色| 一本久久伊人热热精品中文字幕 | 97久久天天综合色天天综合色hd| 欧美精品v欧洲高清| 国产高清自产拍av在线| 三级国产精品久久久99| 丰满多毛的大隂户毛茸茸 | 国产精品一区二区av白丝在线| 国产精品女同av在线观看| 色综合久久网| 亚洲人成网站18禁止久久影院| 乱中年女人伦av三区| 偷拍一区二区三区在线观看| 水蜜桃在线精品视频网| 69精品人人人人| 国产乱理伦片在线观看| 久久国产av在线观看| 亚洲综合视频一区二区| 无码熟妇人妻av影音先锋| 日韩肥臀人妻中文字幕一区| 国产精品伦理久久一区| 日本在线精品一区二区三区| 在线成人一区二区| 国产成人美女AV| 熟女人妻一区二区中文字幕| 日产一区二区三区免费看| 又色又爽又黄还免费毛片96下载| 亚洲国产精品久久久天堂不卡海量|