999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

面向業務組織的工作流技術及其協同機制電子系統設計與實現

2017-02-16 11:56:37李蘊王憲杰武秀川
現代電子技術 2017年1期

李蘊+王憲杰+武秀川

摘 要: 從實際需求出發研究并設計了一個基于工作流技術的業務組織與協調工具。首先利用業務流程建模對活動網絡圖進行擴展,將節點劃分為活動節點和邏輯節點,使模板能夠更好地描述業務流程,并加入模板驗證算法檢查模板設計過程中的邏輯錯誤。然后擴展工作流引擎并將工作流引擎獨立出來,方便系統的部署、配置和維護,并在工作流引擎中引入異常處理機制,使系統有更好的容錯性;其次通過代理機制構建出分布式業務組織工具,能夠滿足局域網中分布式業務組織的任務需求;最后,通過協同控制機制實現多業務流程之間的協同工作。

關鍵詞: 業務流程建模; 工作流引擎; 異常處理; 分布式業務; 協同

中圖分類號: TN99?34; TM417 文獻標識碼: A 文章編號: 1004?373X(2017)01?0145?04

Abstract: A business organization and coordination tool based on workflow technology is studied and designed proceeding from the actual demand. The activity network diagram was extended with the business process modeling to divide the nodes into the activity node and logic node, which makes the template can better describe the business process. The template verification algorithm is introduced to check the logical error in the template design process. The workflow engine is expanded and separated, which is convenient for the system deployment, configuration and maintenance. The exception handling mechanism is introduced into the workflow engine to make the system have better fault tolerance. The distributed business organization tool was constructed by means of the agent mechanism, which can accomplish the mission requirements of the distributed business organization in local area network. The collaborative work among multiple business processes was realized with the coordination control mechanism.

Keywords: business process modeling; workflow engine; exception handing; distribution business; collaboration

0 引 言

隨著互聯網的快速發展和企業業務需求的不斷增長,企業中出現大量的遺留軟件系統,短時間內很難完全通過全新的軟件系統來取代。如果能將這些遺留的軟件系統通過某種技術組合起來滿足企業新的業務需求,必將為企業節省巨大的經濟開支。本文基于上述需求,在大量理論研究的基礎上,結合現有的工作流系統設計并實現了一個基于工作流的業務組織管理系統,將具有特定功能的軟件當作流程中的任務節點,通過定義流程模板將軟件與任務節點聯系起來,實現不同軟件的協調運行,共同完成特定業務流程。

1 基于工作流技術的業務組織工具研究

1.1 業務組織工具的總體架構

業務組織工具采用MVC架構設計,將該工具的系統分成三層:描述層、邏輯層、數據庫層。業務組織工具的系統架構如圖1所示。

1.2 業務流程模型設計

業務模板在設計完成后進行模板驗證用以判斷用戶設計的邏輯是否合理。驗證一個業務流程模板,首先要對其進行模板解析以便進行驗證。模板解析最主要的工作是解析出流程模板中定義的各個節點的屬性信息和它們之間的邏輯關系以及各條邊中定義的轉移條件。其中各個節點之間的邏輯關系用前驅節點和后繼節點的集合來表述,獲取拓撲關系的算法思想是讀取流程模板中的每條邊,將該邊的終止節點加入到起始節點的后繼節點集中,將該邊的起始節點加入到終止節點的前驅節點集中,這樣當處理完所有邊后,整個模板的邏輯拓撲關系就都通過每個節點的前驅和后繼節點集保存起來。

為了判斷流程模板的正確性,首先應該對流程模板進行一些規則性的約束,這樣能夠以這些規則來判斷流程模板的正確性,下面描述對應的約束條件:業務模板開始節點和結束節點惟一,并且它們不能直接相連;子流程中子開始節點和子結束節點惟一,并且不能直接相連;除活動節點外,其他邏輯節點必須成對出現,流程中必須有開始節點和結束節點,出現與分支、或分支、循環開始必須有與其對應的與匯聚、或匯聚、循環結束節點出現;各節點的邊約束必須有規定,例如:開始節點只有輸出邊,結束節點只有輸入邊等;在模板中邏輯控制節點不能交叉出現,但可以相互包含;邊必須有前驅節點和后繼節點;從開始節點出發,到模板中的每一個節點都有一個可達路徑。

1.3 工作流引擎設計

(1) 工作流引擎總體設計

工作流引擎中最基本的也是最重要的模塊是流程調度模塊,該模塊主要包含:控制中心、任務管理、依賴檢查、轉移控制。工作流引擎的內部組成如圖2所示。

(2) 工作流引擎調度算法設計

流程調度算法是整個工作流引擎的核心內容,引擎調度算法涉及的數據結構主要包括四個隊列:RS:未完成隊列;ES:執行中隊列;SS:已完成隊列;MSG:消息隊列。

以上隊列可以由數組模擬實現,其中RS,ES,SS三個隊列用于存儲節點的ID,MSG隊列存儲的是引擎的執行狀態消息,引擎的狀態消息可由一個二元組表示WFMessage=。其中NodeId是節點ID,msgType表示節點的執行狀態情況,其中:0表示執行成功,1表示執行失敗,2表示執行錯誤。

1.4 工作流異常處理設計

(1) 基于改進ECA規則和案例推理的工作流異常處理模型

SECA_CBR異常處理方法模型的主要思想是:在處理異常時,首先系統通過SECA規則庫進行查詢,判斷規則庫中的規則是否存在對應的處理方法,如果有對應的規則,則按照已定的規則處理相應的異常;如果不存在對應的規則,通過案例推理方法進行匹配和推理新異常處理方法,推理出來的方法并不立即執行而是將該方法推送給用戶,讓用戶決定是通過推理出的方法還是使用自己判斷的處理方法。當用戶對新異常確定處理方法后,系統會將其新的處理方法存入異常案例庫以擴展新的案例,通過規則轉化為SECA規則存入SECA規則庫,這樣既豐富了案例庫使案例推理更加準確,又能在該異常再次發生時通過SECA規則迅速處理。

(2) 基于SECA規則的異常處理

本工具通過改進的ECA規則設計出SECA(Super ECA),將流程的模板設計和工作流異常處理設計徹底分開,這將降低業務模板的復雜程度,而且方便對異常規則的維護。

SECA規則通過添加模板ID和異常活動的ID信息用于標識不同模板,實現了將SECA規則庫和流程模板分開,讓流程文件更加簡潔便于維護,如果需要添加新的規則不必在模板文件中添加,只需在SECA規則庫中添加,方便用戶的操作,同時提高了系統的可維護性。

(3) 基于案例推理的異常處理

本業務組織工具需將案例通過一些規則轉換成SECA規則,并將已處理過的異常案例通過對應的規則轉換成SECA規則并存到SECA規則庫,在下次遇到該異常時可以直接查詢SECA規則庫中的規則對異常進行處理,這樣可以繞開復雜的案例推理過程,提高異常處理的速度和效率。

2 業務組織工具協同機制研究

2.1 業務流程分布式運行機制研究

(1) 基于代理的分布式架構

為了實現業務組織工具工作的分布式和充分利用計算機資源,本文設計并實現獨立的代理部件。代理有自己的端口,可以接收本地任務和外部代理發來的任務請求。代理收到請求后,首先通過預處理對數據進行處理、數據映射以及加密和解密工作;然后代理根據相應的請求調用已定義的業務軟件,并將相應的參數傳入啟動的軟件或服務中,等處理完成后將執行的結果和狀態返回給對應的工作流引擎。

代理工作流程大概如下:工作流A執行過程中遇到活動節點將該節點交給代理去處理,代理判斷該節點的屬性是否是本地執行,是則啟動相應程序并將執行完的結果返回給業務組織工具;否則將活動節點的詳細信息通過通信協議發送給其他代理(如B,C,D等)。假如B代理收到信息判斷是本代理執行,則啟動相應的應用程序,并將執行完成后的結果返回。其他代理收到信息后判斷與自己無關自動忽略。

(2) 分布式代理框架的實現

代理是由登錄、系統配置、業務處理、代理服務和監控管理模塊組成。監控管理模塊的接口與業務組織工具的異常處理保持一致,可以通過業務組織工具管理代理服務的異常情況;系統配置涉及到的東西和業務組織工具的分布式協同關系不大。

2.2 業務流程協同機制研究

(1) 協同機制架構

為實現多流程之間的協同工作任務要求,本文在工作流引擎之間引入了協同控制機制,如圖3所示。通過該機制能夠協調需要多流程協同工作的業務流程。

(2) 協同工作流

一般情況下協同工作流的實現都會有對應的協同模板,將協同模板作為優先級高的流程進行執行,當有需要執行的協同模板活動時就會執行對應的協同交互工作。本工具將協同模板設計省略,通過采用可視化的方法對模板之間的活動添加對應的時序約束關系。在工作流引擎執行協同流程時通過查詢時序約束關系自動完成流程之間的時序約束關系。

(3) 協同機制的實現

本工具不將協同規則寫入對應的模板文件中,而是把協同規則存入獨立的協同規則庫。在設計協同規則時通過業務組織工具的模板驗證模塊獲取流程的拓撲結構,獲取每個流程模板中的活動節點,然后設定各模板中活動節點的時間約束性。

3 基于工作流的業務組織工具的實現

3.1 業務流建模工具的實現

(1) 模板繪制

業務組織工具、建模工具的繪制功能主要通過Qt圖形視圖框架進行開發,Qt開發圖形視圖框架由項(Item)、場景(Scene)和視圖(View)三層構成。其中項提供各種圖形供繪制功能使用;場景是項的存儲容器,可以用來管理圖形項;視圖是控制可視化窗口部件,主要使場景中的內容可見。

(2) 界面展示

本工具將業務建模工具集成在業務組織工具中,主要有新建模板、打開模板、保存模板、另存為模板等功能。從實際需求出發繪制的業務流程模板,如圖4所示。

3.2 工作流引擎的實現

(1) 本地引擎的實現

引擎實現類主要由WorkFlowInstance構成。其主要的函數有:模板寫入數據庫函數,控制流程引擎的主函數,模板的邏輯結構拓撲結構生成函數,獲取該節點信息函數,初始化節點函數,MSG消息隊列的處理函數,向隊列中加入節點函數,處理開始節點函數,處理結束節點函數,處理活動節點函數,處理與分支節點函數,處理與匯聚節點函數,處理或分支節點函數,處理或匯聚節點函數,處理循環開始節點函數,處理循環結束節點函數,處理子流程節點函數,處理邊上條件設置的判斷并返回結果函數,線程啟動時內存初始化設置函數,根據異常處理模塊返回的處理建議處理函數,重新執行某個節點函數。

(2) 業務監控工具的實現

業務流程監控模塊的主要功能是當用戶啟動一個業務流程后,對流程實例進行實時管理和控制,其主要組成部分包括:正在執行的流程管理,執行完畢的流程管理,流程運行狀態監控,已執行完的流程回放等。

3.3 異常處理模塊的實現

3.3.1 異常處理功能類的實現

異常處理模塊的主要應用環境是業務流實例執行活動節點發生異常情況,對異常情況進行適當的處理使流程能夠繼續執行下去。該功能模塊主要由WFException,WFExceptionMonitor和WFEManualDlg三個類實現,其中三個類之間相互關聯。

3.3.2 功能展示

業務流程由項目目標、需求分析、設計方案、提交方法四個活動組成。在設計項目方案時必須先獲取項目要實現的目標,這樣才能根據目標進行分析并設計執行方案,假如在調用項目目標軟件獲取項目要實現的目標時,獲取不到查詢結果,此時系統拋出異常,該異常被異常探測模塊捕獲并將獲取到的異常信息發送給異常分析模塊,該模塊收到信息后首先查詢SECA規則庫。

SECA規則庫中沒有關于該異常的規則,因此異常分析模塊將異常信息發給案例推理模塊,案例推理模塊接收到異常信息后首先用改進后的案例匹配算法對案例庫進行檢索,獲取與該異常相似的案例組,然后通過案例修正算法對匹配到的案例中的解方法進行修正使其適合處理新異常,最后將修正后的處理方法作為異常處理建議發給用戶。

3.4 分布式和協同模塊實現

3.4.1 分布式的實現

在流程模板設計時,活動節點需要指定由哪個角色和用戶執行,該角色和用戶是計算機登錄采用的賬號,分布式工作的設計在設計活動節點屬性時已經指定。代理界面記錄所有代理的登錄情況,包括用戶名稱、IP地址、訂閱信息等。通過該代理可以接收和發送請求,其發送請求過程類似三次握手,邀請?同意?確定其左側為對應的邀請信息,右側為本代理收到的返回信息。通過右側代理收到的實時狀態反饋,對本任務進行對應的操作。

3.4.2 協同控制機制實現

業務組織工具通過引入協同控制機制來協調多流程之間的協同工作問題,業務協調機制最主要的是協同規則的表述問題。通過具體的協同工作實例來展示該機制的工作方式。其中參加協同工作的業務流程模板如圖5,圖6所示。

在設計上述流程模板后,需要將該模板設置成協同模板組。本文將對應的協同工作組添加到對應的數據空中為其建立惟一標識。

其中流程模板信息展示協同模板組中各模板的信息,包括:模板ID、模板名稱、活動節點號、活動節點名稱等。該功能是通過模板驗證模塊的拓撲關系圖來實現的。

4 結 論

本文在大量理論研究的基礎上,結合現有的工作流系統設計并實現了一個基于工作流的業務組織工具,將具有特定功能的軟件當作流程中的任務節點,通過定義流程模板將軟件與任務節點聯系起來,實現不同軟件的協調運行,共同完成特定業務流程。

參考文獻

[1] 楊博,劉大有,楊鯤.移動Agent系統通信效率的分析與優化[J].計算機研究與發展,2004,41(4):531?538.

[2] 袁清珂,趙汝嘉.并行工程環境下設計任務調度原理與實現方法的研究[J].計算機學報,2000,23(4):440?443.

[3] 柴學智,曹健.面向云計算的工作流技術[J].小型微型計算機系統,2012,33(1):90?95.

[4] JIANG P, SHAO X Y, QIU H B, et al. Interoperability of cross?organizational workflows based on process?view for colla?borative product development [J]. Concurrent engineering, 2008, 16(1): 73?87.

[5] 杜彥華,范玉順.基于事件?狀態?過程規則的跨組織工作流協同方法[J].計算機集成制造系統,2008,14(7):1342?1348.

[6] 范玉順,吳澄.基于協調理論的工作流建模方法[J].計算機集成制造系統,2001,7(4):1?6.

[7] 石俊萍,李必云.基于工作流的管理系統開發模型[J].吉首大學學報(自然科學版),2010,31(6):49?52.

[8] 何清法,李國杰,焦麗梅,等.基于關系結構的輕量級工作流引擎[J].計算機研究與發展,2001,38(2):129?137.

[9] 劉向前,王曉琳.基于協調機制的多工作流過程合并方法[J].計算機工程,2003,29(2):118?119.

主站蜘蛛池模板: 日韩av电影一区二区三区四区| 精品剧情v国产在线观看| 国产www网站| 亚洲国产午夜精华无码福利| 亚洲中文无码av永久伊人| 激情无码视频在线看| 深夜福利视频一区二区| 国产97视频在线观看| 日韩免费中文字幕| 欧美日韩在线国产| 日韩免费毛片| 久久国产香蕉| 欧美在线精品怡红院| 88国产经典欧美一区二区三区| 国产迷奸在线看| 欧美一级黄片一区2区| 人妻中文久热无码丝袜| 91久久青青草原精品国产| 欧美亚洲激情| 大香网伊人久久综合网2020| 亚洲精品麻豆| 成人在线视频一区| 欧美中文字幕一区| 欧美中文字幕无线码视频| 亚洲精品大秀视频| 激情无码字幕综合| 亚洲综合国产一区二区三区| 毛片基地视频| 亚洲综合精品第一页| 国产真实自在自线免费精品| 欧美激情二区三区| 久久久久国色AV免费观看性色| 亚洲永久色| 亚洲三级片在线看| 国产欧美日韩va另类在线播放| 国产精品精品视频| 精品视频在线观看你懂的一区| 成人午夜精品一级毛片| 婷婷99视频精品全部在线观看| 日韩欧美在线观看| 亚洲国产看片基地久久1024| 欧美精品啪啪一区二区三区| 91成人在线免费观看| 国产无码制服丝袜| 波多野结衣一区二区三区四区视频| 国产超碰在线观看| 黄色免费在线网址| 日韩无码一二三区| 色丁丁毛片在线观看| 亚洲一级毛片| 一本色道久久88| 日韩人妻无码制服丝袜视频| 国产成人精品视频一区二区电影 | 午夜国产不卡在线观看视频| 国产亚洲日韩av在线| 亚洲成人高清在线观看| 香蕉国产精品视频| 亚洲三级色| 91精品国产91久久久久久三级| 国产精品人莉莉成在线播放| 在线精品欧美日韩| 国产极品美女在线观看| 亚洲性一区| 欧美日韩v| 亚洲女同欧美在线| 欧美h在线观看| 亚洲天堂成人在线观看| 国产三区二区| 91尤物国产尤物福利在线| 免费精品一区二区h| 国产成人精品日本亚洲77美色| 先锋资源久久| 日韩成人午夜| 在线播放精品一区二区啪视频| 成人精品视频一区二区在线| 日韩精品一区二区深田咏美| 91久久国产综合精品女同我| 老司机aⅴ在线精品导航| 精品视频一区二区三区在线播| 99久久人妻精品免费二区| 日韩 欧美 国产 精品 综合| 潮喷在线无码白浆|