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

基于JBPM和角色分組的并行路由算法

2016-11-30 05:19:24朱付保湯萌萌謝利杰朱顥東

朱付保, 湯萌萌, 謝利杰, 朱顥東

(鄭州輕工業學院 計算機與通信工程學院, 鄭州 450002)

?

基于JBPM和角色分組的并行路由算法

朱付保, 湯萌萌, 謝利杰, 朱顥東*

(鄭州輕工業學院 計算機與通信工程學院, 鄭州 450002)

JBPM在流程的推進過程中要選擇相應的路徑進行流轉,其中并行路由是一種最為復雜的路徑選擇方法.但初始化路經參數時,并行路由算法節點定義復雜,需要預先定義子路徑流程模板,并且逐一對XML文件節點賦值導致效率較低.針對這一問題,提出了一種基于JBPM與角色分組的并行路由算法.該算法引用角色分組的理論,通過運用角色查詢單個分組的方法將并行路由分支參數初始化,生成多個并行子路徑節點信息,進而將每個節點信息分組存放數據庫中,對數據進行統一處理,提高初始化子路徑參數的效率.改進后的算法應用到房地產OA辦公系統的請假會簽功能中,在實踐上取得良好效果,滿足業務流程靈活多變的需求.

JBPM; 多分支; 并行路由; 角色分組; 工作流

在信息化的推進,計算機網絡的迅速發展,辦公軟件日益應用普遍的情況下,越來越多的公司單位選擇辦公軟件進行即時辦公,“無紙化辦公”已經成為一種趨勢.基于我國特殊的國情需要,在實際的應用中,會提出一些特殊的工作流需求.JBPM作為一種流行的工作流引擎,擁有著JBOSS的優點,開創的平臺有利于更好設計及開發和實現業務流程管理系統,具有自己獨特優勢,能夠通過編碼滿足業務上特殊的需求,適應商業化的軟件應用.

本文介紹了JBPM工作流引擎的并行路由算法,描述了工作流多分支推進的原理.以房地產OA辦公系統中的請假為例,在典型的并行路由算法的基礎上,提出了結合角色獲取任務改進方法,使JBPM能夠更靈活滿足客戶多變的需求,提高了系統的可擴展性,進一步克服了“硬編碼”實現業務流程的缺點.

1 JBPM工作流引擎相關介紹

1.1JBPM工作流

工作流是針對日常工作中具有固定程序的活動而提出的一個概念,它依據規定的過程規則,文檔、信息或任務能夠在不同執行者之間進行傳遞和執行[1-3].工作流技術按照事先設定的規則和程序來對將工作分成的任務進行執行,提高工作的效率.JBPM是一種開源的、靈活的、易于擴展基于J2EE的輕量級工作流管理系統[4-5].它沒有以BPEL或WfMC標準去實現流程引擎,而是采用了JPDL(JBPM Process Definition Language)語言,使得更加簡單,易于閱讀[5-7].

1.2并行路由定義

路徑路由是指工作流引擎在程序選擇路徑流動時的基本模式,MFMC組織的規范中給出了順序、條件、并行、循環4種路由模式[8].同編程語言有類比關系,但從某種程度上來說路徑路由又與網絡環境中的“路徑路由”類似,在適用范圍上不同.并行路由是4種路由模式中最為復雜的一種, 對于審批的人來說是無差別的(審批人員不需要等待別人的審批結果),可以同步或異步地進行文件簽署.但是并行路由模式在處理特殊工作流程上具有一定的優勢.

2 JBPM并行路由機制算法描述

啟動JBPM工作流引擎后,其按照xml配置文件初始化數據,流程定義中有按照并行路由模式時,需要逐一將數據用variablesMap.put(key, value)方法保存在數據庫JBPM_TASK表中.工作流流轉時按照節點將數據先將所有的任務節點數據和任務節點數據所對應的后續流程節點數據從流程數據庫中取出來.任務節點fork執行時產生新的子路徑,于此同時還要判斷各個子路徑是否都執行完全且都匯聚于此join節點.并行路由機制需要join產生的子節點都匯聚才會啟動父路徑,讓父節點流轉到下一個節點.

算法的核心思想描述:JBPM啟動工作流后按照事先定義的xml文件進行自動化節點[9-10].自動化節點前需要在配置文件中定義好每個節點信息.在執行節點為fork類型時,流程將根據提供的數據自動生成所對應的N個子節點,分支節點如圖1所示.

圖1 分支節點圖Fig.1 Branching node graph

進入fork節點后,使用上下文指定循環次數即N次,同時指定阻塞狀態值.并行的N個task,每執行完一個task,此task任務消失.1到N個task任務都被執行完成之后,將在join節點匯聚同時父路徑重新被激活,工作流引擎將自動完成流轉到下一個節點.

3 基于JBPM與角色分組的并行路由算法

基于JBPM與角色分組的并行路由的算法流程如圖2所示,通過對并行路由機制的算法定義說明,具體描述如下.

1) 執行fork任務節點時,上下文生成N個子任務節點,根據系統的用戶角色列出流程流轉待審批處理人員.

2) 按照程序的設定根據配置文件循環地在流程中為每個候選人建一個候選分組Group.JBPM創建分組Group時,原本應該一個分組有多個候選人員candidater,當其中一個候選人取出任務并處理,其他候選人就不能再執行該任務.改進后使用角色賦值,將每個Group只存放一個候選人,這樣使得每個候選人必定能獲取處理自己對應的任務信息.這樣N個候選人對應N個子節點和N個分組,同時流程中生成N條子路徑.

3) 用戶登錄系統后,系統按照用戶id獲取對應候選人分組的任務信息,并進行處理.

圖2 基于JBPM與角色分組的并行路由算法流程圖Fig.2 Flow chart of parallel routing algorithm based on JBPM and role grouping

4) 子路徑到達jion節點后就完成,首先子路徑結束自身,然后從父路徑那獲取其他所有兄弟路徑的執行狀態,一旦子路徑都關閉,意味著完成N個子任務,最后匯聚到join節點,按照join節點后續路徑流轉.

4 應用實例

以房地產OA辦公系統為例,將并行路由算法結合角色任務獲得,對JBPM并行路由算法進行相應靈活改進運用.使得此算法在會簽實現上更加靈活,滿足實際應用需求.

在系統中請假人可能參與多個項目,請假需要參與的項目對應負責人審批通過,審批都通過之后才由請假人所在的部門主管審批.

1) 示例流程定義

2) 示例流程圖

圖3 請假流程圖Fig.3 Leave process chart

流程中定義了負責人分組名字變量#{projectnames}和分組數目變量#{projectsize},還定義了負責人變量#{project}.部門主管角色用變量#{bmzg}來賦值.

3) 根據申請人對應的角色找出該角色所參與的項目的負責人.按照項目負責人的數目創建相等數量分組Group.

(1)先創建一個等于負責人數量的數組projectname,語句為:

String projectname[]=new String[projectsize];

(2)循環為角色取出的負責人創建分組,語句為:

for(intm=0;m

Project project=projectlist.get(m);

Stringlogname=project.getEmployee().getLoginName();

String msize=m+""+timestamp;

projectname[m]=msize;

if(null==identityService.findGroupById(msize)){

identityService.createGroup(msize);

if(null=identityService.findUserById(logname)){identityService.createUser(logname,logname,logname);

identityService.createMembership(logname,msize);

}

}

4) 請假流程啟動后生成的任務節點及任務節點所對應的后續節點保存在相應的數據庫表中,取出流程數據如表1所示[8].

表1 任務節點數據表

5) 根據用戶id找到該用戶作為候選人的分組,獲取任務task并進行處理,實現的語句如下:

ListtaskList=processEngine.getTaskService().findGroupTasks(userId);由于用戶還有其他任務信息待處理,為了方便取出任務信息做統一處理,首先可以將taskList任務列表根據用戶的id存放到個人任務中即(PersonalTask),然后在按取出個人任務的方法獲取任務并處理.

6) 所有候選用戶都處理任務,如果處理的任務狀態都是同意通過,則將匯聚到join任務節點流轉到下一個節點信息.此時為項目負責人審批創建的子路徑結束,節點流轉匯聚到join,然后自動流轉到下個節點即部門負責人審批節點.

7) 根據角色信息,系統動態指定部門負責人節點的審批人.設定的審批人取出任務信息處理后,流轉到結束節點信息,請假流程自動結束.

5 實驗結果分析

為了驗證試驗的算法的有效性、可靠穩定性,以硬件設備為一臺win7系統的PC機,采用 Intel i7處理器,內存為8GB.軟件環境使用MyEclipse 10.6下集成SSH JBPM框架作為測試環境.通過java編程來控制實現相關定義的工作流,最后用測試單元Junit進行流程執行的測試,沒有采用將系統部署到Apache Tomcat容器中,而是采用單元測試方案進行測試.

圖4和圖5中的實驗結果來看,對于系統測試單元請假會簽的初始化,本文基于角色分組并行路由算法的不僅執行時間與傳統算法相比明顯減少,而且內存消耗方面也略低于傳統算法,主要是由于本文算法在執行過程中查詢項目負責人(即會簽人員)信息按程序循環對節點數據賦值,不同于傳統算法提前在XML文件中逐一定義節點信息.本算法為流程提供了保障,流程運行正確率100%.在多變的需求中,本算法使得流程定義更加簡潔,能夠快速的基于已有的業務信息構建新的流程,降低軟件的開發的成本.結果表明,相同條件下,基于角色分組并行路由算法的應用比傳統算法運行時間縮短,內存消耗較少,同時應用在會簽中能提10%的編碼效率.

圖4 在pc上測試運行時間比較Fig.4 Test run time comparison on PC

圖5 在pc上測試內存消耗比較Fig.5 Test memory consumption on PC

6 結束語

本文結合了JBPM并行路由選擇路徑的原理,介紹了JBPM實現會簽功能的并行路徑選擇推進機制.現實生活中的特殊的業務需要多人同時審批通過流轉下一個環節,JBPM會簽功能正是用于實現這樣的功能.然而在實際應用中多人會簽審批的人數會隨著上下文條件變動,直接傳統賦值指定審批人編碼會有些繁瑣.文中提出了運用JBPM的分組候選人結合角色賦值法,避免了“硬編碼”實現功能的缺點,分配和接受任務更加靈活,提高軟件的開發效率并使系統有更強的可擴展性.

[1] 屠曉麗, 姚明海, 湯幸江. 工作流管理系統的柔性技術研究與應用[J]. 計算機技術與發展, 2010, 20(1):120-123.

[2] 高 杰. 深入淺出JBPM[M]. 北京:人民郵電出版社, 2009.

[3] 董崇杰. 基于JBPM流程設計器[J]. 計算機系統應用, 2013, 22(10):55-59.

[4] 張利君, 馬 駿, 楊 濤, 等. 基于工作流的動態任務調度研究與實現[J]. 計算機工程與設計, 2009, 30(10): 2533-2538.

[5] 范玉順, 羅海濱. 工作流管理技術基礎[M]. 北京: 清華大學出版社, 2001.

[6] 王 迪, 陳 暉. 基于工作流的高校電子公文流轉系統設計與實現[J]. 電腦知識與技術, 2014 (15):3528-3530.

[7] WANG Y G,LI H S. Application and research of JBPM workflow based on JBoss seam[C]//Shenyang:2010 2nd International Conference on Advanced Computer Control(ICACC).USA:IEEE, 2010, 515-518.

[8] 吉 梅, 陳力瓊. JBPM工作流在教務管理系統中的應用[J]. 計算機應用與軟件, 2011, 28(6):230-231.

[9] 顧大明. 基于JBPM 的工作流會簽設計[J]. 民營科技,2010(12):50-50.

[10] 王 偉, 徐文勝. JBPM 流程定義文件自動生成算法[J]. 計算機應用, 2012, 32( S2):89-91.

Parallel routing algorithm based on JBPM and role grouping

ZHU Fubao, TANG Mengmeng, XIE Lijie, ZHU Haodong

(School of Computer and Communication Engineering,Zhengzhou University of Light Industry, Zhengzhou 450002)

In the process of promoting JBPM appropriate transfer path is required .The parallel routing is one of the most complex and flexible path selection methods. However, definition of algorithm nodes in parameter initialization of the parallel routing is complicated because of the requirement of pre-defined sub-path process templates, which resulting in low efficiency in assigning for each of the XML document node. To solve this problem, a parallel routing algorithm based on JBPM and role grouping was proposed. The algorithm

the theory of role grouping. The algorithm uses role query for a single packet method to initialize the parameters of parallel routing, generating a plurality of parallel sub-path nodes’ information. Then information of each nodes is grouped to store in the database in order to unify for processing and improve the efficiency of sub-path parameter setting. The improved algorithm is applied to real estate OA office system for leave function, achieving good results in practice as well as meeting the demand for flexibility of the business process.

JBPM; multi branch; parallel routing; role grouping; workflow

2015-12-18.

國家自然科學基金項目(61201447); 河南省科技攻關項目(122102210492); 河南省教育廳科學技術研究重點項目(13A520368;13A520367); 河南省高等學校青年骨干教師資助計劃項目(2014GGJS-084); 鄭州輕工業學院校級青年骨干教師培養對象資助計劃項目(XGGJS02); 鄭州輕工業學院博士科研基金資助項目(2010BSJJ038).

1000-1190(2016)04-0501-05

TP393.02

A

*通訊聯系人. E-mail: zhuhaodong80@163.com.

主站蜘蛛池模板: 免费在线a视频| 国产人妖视频一区在线观看| 欧美一级专区免费大片| 美女视频黄又黄又免费高清| 999国内精品久久免费视频| 国产欧美视频一区二区三区| AV片亚洲国产男人的天堂| 亚洲成a人片| 中国一级特黄大片在线观看| 青草视频久久| 熟女成人国产精品视频| 国产日产欧美精品| 日韩精品免费在线视频| 国产精品内射视频| 婷婷亚洲视频| 麻豆精品在线| 欧美黑人欧美精品刺激| 在线毛片网站| 欧美人人干| 国产精品专区第一页在线观看| 免费无码AV片在线观看中文| 国产91线观看| 黄色网址免费在线| 亚洲视频欧美不卡| 国产精品嫩草影院视频| 亚洲一区毛片| 国产成人三级在线观看视频| 无码AV日韩一二三区| 无码aⅴ精品一区二区三区| 99久久人妻精品免费二区| 久久中文无码精品| 亚洲综合极品香蕉久久网| 四虎成人精品在永久免费| 成人夜夜嗨| 欧美成人区| 狠狠亚洲五月天| 日韩黄色在线| 亚洲第一视频免费在线| 国产va免费精品观看| 久久无码av一区二区三区| 69国产精品视频免费| 久久久91人妻无码精品蜜桃HD| 亚洲日本在线免费观看| 国产精品太粉嫩高中在线观看| 国产精品密蕾丝视频| www.99精品视频在线播放| 中文字幕中文字字幕码一二区| 免费日韩在线视频| 国产亚洲精品资源在线26u| 野花国产精品入口| 欧美中文字幕无线码视频| 国产精品综合久久久| 国产成人一区| 国产日韩欧美黄色片免费观看| 久久女人网| 欧美精品亚洲日韩a| 亚洲精品少妇熟女| 国产视频自拍一区| 国产91av在线| 成人午夜天| 中国特黄美女一级视频| 国产福利一区在线| 久久精品亚洲热综合一区二区| 99999久久久久久亚洲| 国产精品成人久久| 福利一区三区| 丰满人妻一区二区三区视频| 亚洲人精品亚洲人成在线| 极品国产在线| 114级毛片免费观看| 免费观看成人久久网免费观看| 国产精品一线天| 久久窝窝国产精品午夜看片| 亚洲第一视频网| 欧美视频在线不卡| 亚洲人成网站日本片| 一级毛片免费的| 人妻一区二区三区无码精品一区| 青草精品视频| 成年免费在线观看| 国产凹凸视频在线观看| 日韩精品亚洲精品第一页|