• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于LINQ TO SQL的審批工作流引擎設(shè)計(jì)與應(yīng)用

      2015-04-02 12:29:21李斌
      軟件導(dǎo)刊 2015年2期
      關(guān)鍵詞:任務(wù)調(diào)度

      李斌

      摘要:通過對(duì)工作流開放標(biāo)準(zhǔn)及參考接口、協(xié)同工作技術(shù)的研究,設(shè)計(jì)出一套基于微軟LINQ技術(shù)的審批工作流引擎。引擎能夠針對(duì)人員、項(xiàng)目、業(yè)務(wù)、狀態(tài)等元素的控制實(shí)現(xiàn)對(duì)審批流程的任務(wù)調(diào)度、流程跟蹤、協(xié)同審批、業(yè)務(wù)靈活擴(kuò)展等關(guān)鍵環(huán)節(jié)。

      關(guān)鍵詞關(guān)鍵詞:WorkFlow;工作流引擎;LINQ;任務(wù)調(diào)度

      DOIDOI:10.11907/rjdk.143793

      中圖分類號(hào):TP319

      文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào)文章編號(hào):16727800(2015)002010702

      1工作流定義

      工作流技術(shù)(WorkFlow)\[1\]是一種能將工作任務(wù)自動(dòng)在多個(gè)用戶或單位間流轉(zhuǎn)的技術(shù),是一種實(shí)現(xiàn)建模和過程管理的核心技術(shù)\[2\],它的出現(xiàn)能夠有效約束和控制業(yè)務(wù)的審批過程,令審批和管理業(yè)務(wù)流程有序執(zhí)行,很好地解決了審批業(yè)務(wù)中存在的審批流程滯后等問題。

      工作流是由一系列相關(guān)流程構(gòu)成的集合,流程與流程之間可能相互獨(dú)立,也可能存在著依賴關(guān)系\[3\],其可表示為WF::(P,R)。

      (1) P={P1,P2,……,Pn}:表示審批流程的集合。

      (2) R={R1,R2,……,Rn}, Ri=(j≠k):表示一個(gè)審批流程與另外一個(gè)審批流程間存在的依賴關(guān)系。在畢業(yè)論文過程管理系統(tǒng)的審批過程中,“教師題目審核表審批”與“學(xué)生畢業(yè)論文選題審批”存在著依賴關(guān)系,時(shí)間上前者需早于后者完成,數(shù)據(jù)源上后者業(yè)務(wù)的數(shù)據(jù)來(lái)源也源于前者的業(yè)務(wù)。

      (3) WP={W,A, Sstart,Send}:表示工作流的審批過程。其中W 表示審批過程中包含的有序步驟集合,A 表示引起步驟變遷的審批動(dòng)作( 即工作流審批過程處于某一步驟時(shí),執(zhí)行某一動(dòng)作,該動(dòng)作執(zhí)行后,審批過程進(jìn)入下一個(gè)步驟)。Sstart表示該工作流審批過程的起始步驟, Send表示該工作流審批過程的終止步驟。

      2工作流引擎架構(gòu)設(shè)計(jì)

      通過對(duì)工作流定義及現(xiàn)實(shí)中審批關(guān)鍵業(yè)務(wù)的特點(diǎn),工作流引擎宜選用成熟的關(guān)系型數(shù)據(jù)庫(kù)技術(shù)\[4\]。因此,本文所設(shè)計(jì)開發(fā)的工作流引擎選用SQL Server2008作為底層數(shù)據(jù)庫(kù),引擎中的數(shù)據(jù)模型通過關(guān)系數(shù)據(jù)表來(lái)建模,通過關(guān)系數(shù)據(jù)庫(kù)中所提供的存儲(chǔ)過程、觸發(fā)器等機(jī)制,控制工作流中各審批過程的實(shí)現(xiàn),審批業(yè)務(wù)中的事務(wù)并發(fā)控制通過關(guān)系數(shù)據(jù)庫(kù)所提供的時(shí)間戳機(jī)制實(shí)現(xiàn)。

      另外,微軟公司在.NET平臺(tái)中推出最新LINQ\[5\]通用數(shù)據(jù)訪問技術(shù),這種技術(shù)使用統(tǒng)一的查詢語(yǔ)法對(duì)LINQ所支持的各種不同數(shù)據(jù)源做操作,極大地降低了數(shù)據(jù)訪問技術(shù)的難度。因此,本文開發(fā)的審批工作流引擎采用LINQ TO SQL 這一輕量級(jí)的ORM解決方案來(lái)搭建。工作流引擎架構(gòu)具體如圖1所示。

      圖1基于LINQ TO SQL的工作流引擎架構(gòu)

      工作流引擎承擔(dān)了流程任務(wù)流轉(zhuǎn)的控制中心角色\[6\],其提供3 類接口。接口1 為審批業(yè)務(wù)系統(tǒng)中不同業(yè)務(wù)與工作流引擎的交互提供服務(wù),系統(tǒng)能根據(jù)不同階段的審批業(yè)務(wù)定義不同的工作流業(yè)務(wù);接口2 為工作流過程管理系統(tǒng)對(duì)工作流引擎提供流程控制與調(diào)度工作,并能保證工作流程能正常推進(jìn)及流程出錯(cuò)時(shí)的回溯;接口3 為工作流過程管理系統(tǒng)對(duì)工作流程引擎提供跟蹤服務(wù),跟蹤整個(gè)工作流引擎的運(yùn)行狀態(tài)。

      同時(shí),為了增強(qiáng)工作流引擎的服務(wù)能力和靈活性,工作流引擎內(nèi)部提供了數(shù)據(jù)訪問組件、工作流自定義組件、審批日志組件和定時(shí)任務(wù)組件。引擎利用LINQ TO SQL生成的DataContext類及數(shù)據(jù)實(shí)體類來(lái)負(fù)責(zé)訪問關(guān)系數(shù)據(jù)庫(kù),對(duì)工作流引擎運(yùn)行相關(guān)的單位角色數(shù)據(jù)、流程控制、工作流模型數(shù)據(jù)進(jìn)行讀寫;通過工作流自定義組件,為靈活配置審批業(yè)務(wù)的各步驟提供支持,通過審批日志組件,記錄工作流運(yùn)行時(shí)的各流程活動(dòng)日志。利用SQL Server中的定期任務(wù)配合工作流引擎推動(dòng)工作流流程的順利執(zhí)行。

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

      工作流引擎主要依靠工作流模型數(shù)據(jù)、流程控制數(shù)據(jù)、組織角色數(shù)據(jù)來(lái)推動(dòng)審批數(shù)據(jù)流轉(zhuǎn)\[7\]。工作流模型數(shù)據(jù)包括每一類審批程序的步驟以及觸發(fā)步驟變遷的行為動(dòng)作等信息;流程控制數(shù)據(jù)包括每一次審批相關(guān)的業(yè)務(wù)信息,如審批申報(bào)內(nèi)容和各流程審批人審批記錄等;組織角色數(shù)據(jù)涉及企業(yè)或部門的組織結(jié)構(gòu)關(guān)系、用戶、角色及權(quán)限等信息。因此,工作流引擎的模型數(shù)據(jù)、流程控制數(shù)據(jù),以及審批業(yè)務(wù)系統(tǒng)的業(yè)務(wù)數(shù)據(jù)、組織角色數(shù)據(jù)都存儲(chǔ)在關(guān)系數(shù)據(jù)庫(kù)中。工作流引擎數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)如圖2所示。

      圖2工作流引擎數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)

      (1)WorkFlow表。包含工作流名稱及所關(guān)聯(lián)的對(duì)象名稱,不局限于某種特定類型的審批業(yè)務(wù),通過關(guān)聯(lián)到的不同審批業(yè)務(wù)對(duì)象表,可實(shí)現(xiàn)工作流引擎的通用性。

      (2)WFOwnerGroup表。表示在不同狀態(tài)下?lián)碛袑徟鷺I(yè)務(wù)不同審批步驟處理權(quán)的用戶組。

      (3)WFState表。工作流狀態(tài)表,可根據(jù)不同審批業(yè)務(wù)的性質(zhì)定義不同的審批狀態(tài),如初始化、掛起、活動(dòng)、正常結(jié)束、異常中止等幾種狀態(tài)。通過WFOwnerGroupID字段與WFOwnerGroup表關(guān)聯(lián),即可實(shí)現(xiàn)在具體某種審批狀態(tài)下?lián)碛刑幚頇?quán)的用戶組的關(guān)聯(lián)。

      (4)WFTransition表。表示工作流狀態(tài)轉(zhuǎn)換表,通過FromWFStateId及ToWFStateId記錄審批工作中各審批過程的起始步驟和終止步驟,PostTransitionMethodName屬性表示該狀態(tài)轉(zhuǎn)換完成后動(dòng)態(tài)執(zhí)行的方法名稱為該狀態(tài)后其余步驟的順利執(zhí)行奠定基礎(chǔ)。

      (5)WFItemStateHistory表。記錄工作流狀態(tài)轉(zhuǎn)換歷史,根據(jù)不同的轉(zhuǎn)換歷史記錄實(shí)現(xiàn)審批業(yè)務(wù)靈活擴(kuò)展、審批工作流規(guī)則的靈活定制。

      4結(jié)語(yǔ)

      本文所研究的審批工作流引擎已經(jīng)運(yùn)用于福建師范大學(xué)協(xié)和學(xué)院畢業(yè)論文過程管理系統(tǒng),系統(tǒng)能將用戶的工作任務(wù)自動(dòng)推送到用戶登錄后的首頁(yè),方便了用戶審批工作,提高了用戶工作效率,同時(shí)引擎還能能夠?qū)崿F(xiàn)工作流規(guī)則的靈活定制。當(dāng)某審批申報(bào)流程發(fā)生變化時(shí),在不改變系統(tǒng)的情況下,用戶只需修改定制相應(yīng)的流程規(guī)則,而不必修改代碼就可以保證系統(tǒng)正常使用,滿足用戶的需求。另外,在引擎中,相應(yīng)權(quán)限的用戶可以查看某個(gè)項(xiàng)目所處工作流中的狀態(tài)和位置,同時(shí)可以對(duì)項(xiàng)目所處的狀態(tài)進(jìn)行管理,這將有助于管理用戶快速了解具體某項(xiàng)目的當(dāng)前狀態(tài),同時(shí)有助于找尋某個(gè)流程步驟無(wú)法正常流轉(zhuǎn)的源頭。

      參考文獻(xiàn)參考文獻(xiàn):

      \[1\]WFMC.The workflow reference model(WfMCTC1003)\[S\].Workflow,1995.

      \[2\]沈振華,傅耀進(jìn).工作流技術(shù)在標(biāo)準(zhǔn)化網(wǎng)絡(luò)作業(yè)平臺(tái)中的應(yīng)用\[J\].華東電力,2008,36(4): 509510.

      \[3\]李建強(qiáng),范玉順.基于 Petri 網(wǎng)化簡(jiǎn)方法的工作流模型驗(yàn)證\[J\].信息與控制,2001,30(6):492497.

      \[4\]黃鈞,范永全,郭勇.工作流管理系統(tǒng)在建設(shè)項(xiàng)目管理中的應(yīng)用\[J\].微型機(jī)與應(yīng)用,2002(9):4951.

      \[5\]LINQ to SQL\[EB/OL\].http://msdn.microsoft.com/zhcn/library/bb386976.aspx.2008.

      \[6\]唐文忠,林時(shí)棟,鄧靖文.基于工作流技術(shù)的構(gòu)件模型研究\[J\].計(jì)算機(jī)應(yīng)用研究\[J\].2008,25(7):20572059.

      責(zé)任編輯(責(zé)任編輯:孫娟)

      猜你喜歡
      任務(wù)調(diào)度
      基于動(dòng)態(tài)能量感知的云計(jì)算任務(wù)調(diào)度模型
      一種改進(jìn)的wRR獨(dú)立任務(wù)調(diào)度算法研究
      基于PEPA的云計(jì)算任務(wù)調(diào)度性能分析
      基于改進(jìn)NSGA-Ⅱ算法的協(xié)同制造任務(wù)調(diào)度研究
      基于時(shí)間負(fù)載均衡蟻群算法的云任務(wù)調(diào)度優(yōu)化
      云計(jì)算中基于生物共生機(jī)制改進(jìn)粒子群優(yōu)化的任務(wù)調(diào)度方案
      基于小生境遺傳算法的相控陣?yán)走_(dá)任務(wù)調(diào)度
      面向異構(gòu)分布式計(jì)算環(huán)境的并行任務(wù)調(diào)度優(yōu)化方法
      云計(jì)算環(huán)境中任務(wù)調(diào)度策略
      云計(jì)算中基于進(jìn)化算法的任務(wù)調(diào)度策略
      衡东县| 纳雍县| 阜新| 涪陵区| 白朗县| 南华县| 抚州市| 海兴县| 邵武市| 兴仁县| 阳城县| 贵德县| 叶城县| 泽普县| 嘉定区| 赣州市| 阳谷县| 襄城县| 和平区| 黄石市| 武义县| 中宁县| 新泰市| 陆河县| 宣恩县| 黑山县| 汤阴县| 珲春市| 岫岩| 会同县| 游戏| 潢川县| 嵊州市| 准格尔旗| 安达市| 佛坪县| 新疆| 牙克石市| 上饶市| 时尚| 将乐县|