新四季網

工作流生成方法、工作流執行方法以及工作流執行系統的製作方法

2023-09-17 15:56:45 2

工作流生成方法、工作流執行方法以及工作流執行系統的製作方法
【專利摘要】本發明實施例公開了一種工作流生成方法、工作流執行方法以及工作流執行系統,該方法包括:獲取所述節點對象的節點行為以及節點類型;在所述節點類型為人工節點時,獲取業務表單,形成所述節點對象,在所述節點類型為自由節點時,所述業務表單以及所述節點類型形成所述節點對象;依據預先設定的業務處理流程以及所述節點對象對應的節點行為,獲得與所述節點對象對應的路由;依據所述路由與構建的各個節點對象的對應關係,組合所述各個節點對象以及所述路由,以完成所述工作流的構建。採用本發明實施例提供的方法、裝置以及系統可以縮減工作流開發的時間、對工作流的更改不需要對程序代碼進行更改以及內存中程序代碼的冗餘度低。
【專利說明】工作流生成方法、工作流執行方法以及工作流執行系統
【技術領域】
[0001]本發明涉及軟體【技術領域】,更具體的說,是涉及一種工作流生成方法、工作流執行方法以及工作流執行系統。
【背景技術】
[0002]隨著科學技術的發展,計算機軟體得到了越來越廣泛的應用,早期的計算機軟體大都使用代碼編寫,導致軟體晦澀難懂,不便於維護和業務重構,運營成本很高。因此工作流應用而生。
[0003]工作流是指為實現某個業務目標,在多個參與者之間,利用計算機,按某種預定規則自動傳遞文檔、信息或者任務。工作流由節點對象以及各個節點對象之間的路由組成,節點對象由節點行為(預定規則)、節點類型以及業務表單(文檔、信息或者任務)組成,節點行為包括:開始行為、結束行為、分發行為以及審批行為等等,節點類型包括:自由節點以及人工節點,自由節點是指不需要人工操作的節點,路由是指業務表單的傳遞路徑。
[0004]由於每一工作流對應的代碼存儲於同一文檔中,導致工作流的開發時間較長,工作流的更改,需要對工作流對應的程序代碼進行相應的更改以及內存中存儲的代碼的冗餘度較高。

【發明內容】

[0005]有鑑於此,本發明提供了 一種工作流生成方法、工作流執行方法以及工作流執行系統,以克服現有技術中工作流的開發時間較長,工作流的更改,需要對工作流對應的程序代碼進行相應的更改以及內存中存儲的代碼的冗餘度較高的問題。
[0006]為實現上述目的,本發明提供如下技術方案:
[0007]一種工作流生成方法,包括:
[0008]對於待構建的工作流中每一節點對象執行如下操作:
[0009]獲取所述節點對象的節點行為以及與所述節點行為對應的節點類型,所述節點類型包括:人工節點以及自由節點;
[0010]在所述節點類型為人工節點時,獲取與所述節點類型對應的業務表單,所述業務表單、所述節點類型以及所述節點行為形成所述節點對象,在所述節點類型為自由節點時,所述業務表單以及所述節點類型形成所述節點對象;
[0011]依據預先設定的業務處理流程以及所述節點對象對應的節點行為,獲得與所述節點對象對應的路由;
[0012]依據所述路由與構建的各個節點對象的對應關係,組合所述各個節點對象以及所述路由,以完成所述工作流的構建,所述各個節點行為對應的程序代碼位於不同的文檔中。
[0013]其中,所述獲取與所述節點類型對應的業務表單具體包括:
[0014]確定所述節點類型對應的業務表單;
[0015]將所述業務表單關聯至所述節點行為。[0016]其中,還包括:
[0017]在接收到完成所述工作流的構建指示後,顯示構建的所述工作流的流程ID對話框;
[0018]接收所述流程ID對話框中輸入的數據,將所述數據作為所述工作流的流程ID。
[0019]其中,所述工作流中還包括一通用節點對象,所述通用節點對象與所述工作流中所有節點對象相關聯。
[0020]一種工作流執行方法,所述工作流生成方法上述任一種所述生成方法,所述工作流執行方法包括:
[0021]獲取所述工作流中當前需要運行的節點對象;
[0022]執行與所述節點對象的節點行為對應的程序代碼;
[0023]在接收到所述節點對象運行完畢的指示後,判斷所述節點對象對應的節點行為是否為結束行為,如果是,則退出所述工作流,如果否,則依據所述節點對象對應的路由,獲取下一目標節點對象。
[0024]其中,所述執行與所述節點對象的節點行為對應的程序代碼具體包括:
[0025]判斷所述節點對象的節點類型;
[0026]在所述節點類型為人工節點時,顯示所述節點對象對應的業務表單,並獲取所述業務表單中的數據;
[0027]在所述節點為自由節點時,執行所述節點對象的節點行為對應的程序代碼的操作。
[0028]其中,所述節點類型還包括:會籤節點,所述會籤節點屬於人為節點,在所述獲取所述節點對象之後,執行與所述節點對象的節點行為對應的程序代碼前還包括:
[0029]判斷所述節點對象的節點類型;
[0030]在所述節點類型為會籤節點時,接收目標會籤值;
[0031]創建與所述目標會籤值對應數目的任務,各個所述任務的狀態為未完成狀態,將完成狀態任務參數設置為零;
[0032]在接收到處理一所述任務的請求時,執行與所述節點對象的節點行為對應的程序代碼的操作;
[0033]相應的,在接收到所述節點對象運行完畢的指示之前還包括:
[0034]在檢測到某一所述任務被完成時,將所述任務的狀態更改為完成狀態,並將所述完成狀態任務參數加I ;
[0035]當所述完成狀態任務參數的值與所述目標會籤值相等時,產生所述節點對象運行完畢的指示。
[0036]其中,在接收到所述節點對象運行完畢的指示後,判斷所述節點對象對應的節點行為是否為結束行為之前還包括:
[0037]判斷是否接收到跳轉至第一預設節點對象的指令,如果是,則跳轉至所述第一預設節點對象;
[0038]和/ 或,
[0039]判斷是否接收到返回至第二預設節點對象的指令,如果是,則返回至所述第二預設節點對象;[0040]和/ 或,
[0041]判斷是否接收到撤銷指令,如果是,則撤回當前執行的操作;
[0042]在上述判斷結果均為否的情況下,執行判斷所述節點對象對應的節點行為是否為結束行為的操作。
[0043]一種工作流執行系統,包括:
[0044]工作流命令存儲器,用於存儲構建的各個工作流,且每一工作流具有一流程ID ;
[0045]工作流命令執行器,用於在接收到操作指令時,根據所述操作指令對應的流程ID,從所述工作流命令存儲器中得到所述操作指令對應的工作流,所述操作指令包括跳轉指令、返回指令、撤銷指令以及順序執行指令;
[0046]工作流引擎,用於獲取所述工作流命令執行器得到的工作流中當前需要運行的節點對象,調用所述節點對象對應的節點行為對應的程序代碼,以顯示所述節點對象對應的業務表單,並執行與所述程序代碼相應的操作;在接收到所述節點對象運行完畢的指示後,判斷所述節點對象對應的節點行為是否為結束行為,如果是,則退出所述流程,如果否,則產生新的操作指令,並將所述操作指令發送至所述工作流命令執行器。
[0047]優選地,還包括:
[0048]工作流監控伺服器,用於監控各個節點對象的運行時間。
[0049]經由上述的技術方案可知,採用本發明實施例提供的方法,各個節點行為對應的程序代碼是相互獨立的,由各個程序代碼相互獨立的節點行為構建的工作流,在開發時,可以為每一節點行為對應的程序代碼分配一開發人員,從而提高工作流開發的速度,當工作流中某一節點對象需要刪除時,只需要刪除該節點對象對應的程序代碼即可,不需要專業人員進行更改,操作方便,包括同一節點行為的不同工作流中該節點行為對應的程序代碼可以為同一個,從而降低了內存中存儲的代碼的冗餘度。
【專利附圖】

【附圖說明】
[0050]為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的實施例,對於本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據提供的附圖獲得其他的附圖。
[0051]圖1為本發明實施例公開的第一種工作流生成方法的流程圖;
[0052]圖2為本發明實施例提供的第二種工作流生成方法的流程圖;
[0053]圖3為本發明實施例提供的第一種工作流執行方法的流程圖;
[0054]圖4為本發明實施例提供的第二種工作流執行方法的流程圖;
[0055]圖5為本發明實施例提供的第三種工作流執行方法的流程圖;
[0056]圖6為本發明實施例提供的一種串行工作流的示意圖;
[0057]圖7為在圖6中建立的返回線701的示意圖;
[0058]圖8為本發明實施例提供的一種較為複雜的工作流流程圖;
[0059]圖9為本發明實施例提供的一種工作流執行系統的結構示意圖。
【具體實施方式】[0060]下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發明一部分實施例,而不是全部的實施例。基於本發明中的實施例,本領域普通技術人員在沒有做出創造性勞動前提下所獲得的所有其他實施例,都屬於本發明保護的範圍。
[0061]現有技術中的每一工作流對應的程序代碼存儲域同一文檔中,且每一工作流中各個節點對象的代碼具有一定的關聯,所以在進行工作流開發時,需要較少的開發人員,導致工作流的開發時間較長。當需要將工作流中某一節點對象刪除時,需要將程序代碼中對應的代碼進行刪除,需要專業人員進行更改,操作不方便。不同的工作流中包含的節點對象對應的節點行為可能相同,由於每一工作流程的代碼存儲於同一文檔中,程序代碼非常複雜,各個工作流對應的程序代碼之間不能相互引用,所以需要重複編寫節點行為對應的代碼,導致內存中存儲的代碼的冗餘度較高。
[0062]實施例一
[0063]請參閱附圖1,為本發明實施例公開的第一種工作流生成方法的流程圖,該方法中對於待構建的工作流中每一節點對象執行如下操作:
[0064]步驟SlOl:獲取節點對象的節點行為以及與所述節點行為對應的節點類型;
[0065]節點行為包括:開始行為、結束行為、分發行為、審批行為以及駁回行為等等,節點類型包括:自由節點以及人工節點,自由節點是指不需要人工操作的節點。
[0066]步驟S102:在所述節點類型為人工節點時,獲取與所述節點類型對應的業務表單,所述業務表單、所述節點類型以及所述節點行為形成所述節點對象,在所述節點類型為自由節點時,所述業務表單以及所述節點類型形成所述節點對象;
[0067]由於節點類型為人工節點的節點對象需要人機互動界面,所以包括業務表單,而節點類型為自由節點的節點對象不需要人機互動界面,所以不包括業務表單。
[0068]步驟S103:依據預先設定的業務處理流程以及所述節點對象對應的節點行為,獲得與所述節點對象對應的路由;
[0069]預先設定的業務處理流程是指業務處理的順序,例如,辦理新公司註冊,則需要在行政大廳啟動一個新公司註冊的流程,首先 申請人:在行政大廳提交相關資料,然後工商局進行審批,其次公安局以及地稅局進行審批,最後將審批結果返回至行政大廳。「行政大廳一工商局一公安局以及地稅局一行政大廳」就表示一個業務處理流程。在生成一個工作流時,開發人員必須知道業務處理流程,否則不能開發出符合實際業務的工作流。
[0070]路由是指業務表單的傳遞路徑。路由與節點行為相對應,例如,當節點行為為分發行為時,則該節點對象至少有兩個路由,即該節點對象至少有兩個目標節點對象;當節點行為為駁回節點行為時,該節點對象只有一個目標節點對象。每一路由都連接有兩個節點對象:源節點對象以及目標節點對象,在按照工作流中定義的執行順序運行工作流時,源節點對象比目標節點對象先運行。
[0071]與節點行為為結束節點的節點對象對應的路由是指該節點對象的源節點對象與該節點對象之間的路由。
[0072]步驟S104:依據所述路由與構建的各個節點對象的對應關係,組合所述各個節點對象以及所述路由,以完成所述工作流的構建。
[0073]上述各個節點行為對應的程序代碼位於不同的文檔中。[0074]各個節點行為對應的程序代碼位於不同的文檔中,也就是各個節點行為對應的程序代碼相互獨立。
[0075]步驟SlOl至步驟S104是對於每一節點對象執行的步驟,若一待構建的工作流中包括至少兩個節點對象,其中一個節點對象的執行步驟為:1 (與步驟SlOl的操作相同),2(與步驟S102的操作相同),3 (與步驟S103的操作相同),4 (與步驟S104的操作相同),另一個節點對象的執行步驟為:1』(與步驟SlOl的操作相同),2』(與步驟S102的操作相同),3』(與步驟S103的操作相同),4』(與步驟S104的操作相同),只要1,2,3,4的前後順序以及1』,2』,3』,4』前後順序保持不變,1,2,3,4與1』,2』,3』,4』可以任意組合,具體的執行順序可以為:1,I』,2,3,2』,3』,4,4』或者 1,I』,2,2』,3,3』,4,4』或者 1,2,I,,2,,3,4,3,,4,等等,即執行步驟的先後順序可以隨意,在此不一一贅述。
[0076]本發明實施例中各個節點行為對應的程序代碼是相互獨立的,由各個程序代碼相互獨立的節點行為構建的工作流,在開發時,可以為每一節點行為對應的程序代碼分配一開發人員,從而提高工作流開發的速度,當工作流中某一節點對象需要刪除時,只需要刪除該節點對象對應的程序代碼即可,不需要專業人員進行更改,操作方便,包括同一節點行為的不同工作流中該節點行為對應的程序代碼可以為同一個,從而降低了內存中存儲的代碼的冗餘度。
[0077]實施例二
[0078]請參閱圖2,為本發明實施例提供的第二種工作流生成方法的流程圖,該方法可以包括:
[0079]步驟S201:獲取所述節點對象的節點行為以及與所述節點行為對應的節點類型;
[0080]步驟S202:在所述節點類型為人工節點時,確定所述節點類型對應的業務表單,將所述業務表單關聯至所述節點行為,所述業務表單、所述節點類型以及所述節點行為形成所述節點對象,在所述節點類型為自由節點時,所述業務表單以及所述節點類型形成所述節點對象;
[0081]現有技術中的業務表單與工作流對應的程序代碼是綁定的,工作流對應的程序代碼中包括業務表單的存儲路徑,當某一節點對象的業務表單需要刪除當前業務表單並掛接一新業務表單時,需要專業人員進行修改,操作不方便,而本發明實施例中節點行為對應的程序代碼不包括業務表單的存儲路徑,為了將業務表單與節點行為具有聯繫,可以採用資料庫中的關聯關係,將業務表單與節點行為關聯起來,當需要刪除當前業務表單並需要掛接一新業務表單時,直接取消關聯關係,並將新業務表單與對應的節點行為進行關聯即可,並不需要修改程序代碼。
[0082]優選的,業務表單存儲至文檔資料庫中,由於文檔資料庫具有模式自由存儲數據以及支持動態查詢兩個特點,可以實現用戶自定義業務表單。
[0083]步驟S203:依據預先設定的業務處理流程以及所述節點對象對應的節點行為,獲得與所述節點對象對應的路由;
[0084]步驟S204:依據所述路由與構建的各個節點對象的對應關係,組合所述各個節點對象以及所述路由,以完成所述工作流的構建。
[0085]上述各個節點行為對應的程序代碼位於不同的文檔中。
[0086]步驟S205:在接收到完成所述工作流的構建指示後,顯示構建的所述工作流的流程ID對話框;
[0087]步驟S206:接收所述流程ID對話框中輸入的數據,將所述數據作為所述工作流的流程ID。
[0088]當生成多個工作流時,需要為每一工作流分配一流程ID,這樣可以根據流程ID判斷現在執行的是哪一工作流,當只生成一個工作流時,由於不需要與其他工作流進行區分,所以不需要為工作流分配流程ID。
[0089]流程ID可以是數字或者字符編號,也可以是包含工作流功能的描述性語言,流程ID到底是什麼並不影響本發明實施例的實現,所以在此不作具體限定。
[0090]在步驟S206之後,還可以包括生成與所述工作流對應的程序代碼,所述程序代碼存儲於同一文檔中。
[0091]構建的工作流沒有其對應的整體程序代碼,假設在一系統中,只用這一個流程,並且該流程需要修改的可能性較小,此時,可以生成與該工作流對應的整體程序代碼,並將該程序代碼存儲至一文檔,該文檔不是各個節點行為對應的程序代碼所在的文檔。本發明實施例中步驟S207可以有,也可以沒有。
[0092]本方法還可以包括:在接收到完成所述工作流的構建指示後,判斷節點類型為自由節點的節點對象是否包括業務表單,如果是,則報錯;和/或,判斷節點類型為人工節點的節點對象是否包括業務表單,如果否,則報錯。
[0093]為了便於動態跳轉,工作流中還包括一通用節點對象,該通用節點對象與所述工作流中所有節點對象相關聯。這樣每兩個節點對象都可以通過通用節點對象進行業務表單的傳遞。本發明實施例,不僅僅具有實施例一的有益效果,而且巧妙的用資料庫中的關聯關係,代替將業務表單的存儲路徑寫入各個節點行為對應的程序代碼中,當需要刪除當前業務表單並改接一新業務表單時,直接取消關聯關係,並將新業務表單與對應的節點行為進行關聯即可,不需要改動節點行為對應的程序代碼,使操作更加簡便。
[0094]在實際應用中具體實現上述實施例時,可以設計一工作流設計界面,該工作流設計界面中包括路由、所有類型的節點行為以及所有節點類型,在工作流設計界面中可以選擇各種類型的業務表單,各個節點行為對應的程序代碼存儲於不同的文檔中即相互獨立。當用戶需要構建某一工作流時,只需要從工作流設計界面中選取相應的節點行為、節點類型、業務表單以及路由即可,用戶不需要編寫程序代碼,也不需要懂程序代碼。
[0095]實施例三
[0096]請參閱圖3,為本發明實施例提供的第一種工作流執行方法的流程圖,該方法中的工作流生成過程與上述實施例描述的工作流生成方法一致,該方法可以包括:
[0097]步驟S301:獲取工作流中當前需要運行的節點對象;
[0098]步驟S302:執行與所述節點對象的節點行為對應的程序代碼;
[0099]執行程序代碼可以為:群發郵件操作或群發簡訊操作等等。
[0100]具體的,步驟S302包括:判斷所述節點對象的節點類型;在所述節點類型為人工節點時,顯示所述節點對象對應的業務表單,並獲取所述業務表單中的數據;在所述節點為自由節點時,執行所述節點對象的節點行為對應的程序代碼的操作。
[0101]步驟S303:在接收到所述節點對象運行完畢的指示後,判斷所述節點對象對應的節點行為是否為結束行為,如果是,則進入步驟S305,如果否,則進入步驟S304 ;[0102]步驟S304:依據所述節點對象對應的路由,獲取下一目標節點對象;
[0103]步驟S305:退出所述工作流。
[0104]本發明實施例提供的方法,各個節點對象的節點行為對應的程序代碼是相互獨立的,當運行某一節點對象時,會自動調用該節點對象的節點行為對應的程序代碼,並執行與該程序代碼相應的操作。各個節點行為之間的程序代碼的調用順序由路由決定。
[0105]實施例四
[0106]請參閱圖4,為本發明實施例提供的第二種工作流執行方法的流程圖,該方法中的工作流生成過程與上述實施例描述的工作流生成方法一致,該方法可以包括:
[0107]步驟S401:獲取所述工作流中當前需要運行的節點對象;
[0108]步驟S402:判斷所述節點對象的節點類型;
[0109]步驟S403:在所述節點類型為會籤節點時,接收目標會籤值;
[0110]會籤節點屬於人工節點。
[0111]步驟S404:創建與目標會籤值對應數目的任務,各個所述任務的狀態為未完成狀態,將完成狀態任務參數設置為零;
[0112]步驟S405:在接收到處理一所述任務的請求時,執行所述節點對象的節點行為對應的程序代碼;
[0113]執行所述節點對象的節點行為對應的程序代碼的具體過程與實施例三中描述的過程相同。
[0114]步驟S406:在檢測到某一所述任務被完成時,將所述任務的狀態更改為完成狀態,並將所述完成狀態任務參數加I ;
[0115]步驟S407:當所述完成狀態任務參數的值與所述目標會籤值相等時,產生所述節點對象運行完畢的指示;
[0116]步驟S408:在接收到所述節點對象運行完畢的指示後,判斷所述節點對象對應的節點行為是否為結束行為,如果是,則進入步驟S410,如果否,則進入步驟S409 ;
[0117]步驟S409:依據所述節點對象對應的路由,獲取下一目標節點對象;
[0118]步驟S410:退出所述工作流。
[0119]為了本領域技術人員更加清楚的理解本實施例,下面舉一具體例子進一步說明。
[0120]假設某一節點對象中的工作,需要10個人完成,那麼人為可以輸入10,此時系統會產生10個任務,此時10個任務的狀態均為未完成狀態,同時系統將完成狀態任務參數設置為零。當某一用戶接收到任務,並點擊處理任務按鍵時,執行該節點對象的節點行為對應的程序代碼,當該用戶完成任務後,點擊完成,此時完成狀態任務參數加1,當完成狀態任務參數為10時,產生該節點對象運行完畢的指示。上述實施例是優選的實施例,當需要10個人完成任務時,對應的目標會籤值可以為100%,當需要7個人完成任務時,對應的目標會籤值為70%,此時當某一任務被完成時,完成狀態任務參數加10%。
[0121]本發明實施例將進一步說明了當節點對象的節點類型為會籤節點時的處理方法。
[0122]實施例五
[0123]請參閱圖5,為本發明實施例提供的第三種工作流執行方法的流程圖,該方法中的工作流生成過程與上述實施例描述的工作流生成方法一致,該方法可以包括:
[0124]步驟S501:獲取工作流中當前需要運行的節點對象;[0125]步驟S502:執行與所述節點對象的節點行為對應的程序代碼;
[0126]執行程序代碼可以為:群發郵件操作或群發簡訊操作等等。
[0127]步驟S503:在接收到所述節點對象運行完畢的指示後,判斷是否接收到跳轉至第一預設節點對象的指令,如果是,則進入步驟S504,如果否,則進入步驟S505 ;
[0128]步驟S504:跳轉至第一預設節點對象;
[0129]如圖6所示,為本發明實施例提供的一種串行工作流的示意圖,從圖中可知該串行工作流包括:節點對象601、節點對象602、節點對象603、節點對象604以及節點對象605,各個節點對象之間只有串行的路由,沒有其他路由,如果有緊急事件需要從節點對象601跳轉至節點對象605 (忽略節點對象602、節點對象603以及節點對象604),此時可以通過建立隱形的通用節點對象606,該通用節點對象和所有節點對象都相關聯,所有的跳轉都可以通過該節點606來完成跳轉。
[0130]步驟S505:判斷是否接收到返回至第二預設節點對象的指令,如果是,則進入步驟S506,如果否,則進入步驟S507 ;
[0131]步驟S506:返回至第二預設節點對象;
[0132]當節點對象的節點行為為審批節點時,該節點對象的最常見的指令為返回指令,節點行為為審批節點的節點對象有審批通過和審批不通過兩種情況,當審批不通過時,一般是返回到上一個節點對象,但是在某些情況下,有可能跨節點對象返回,例如,請參閱圖6,假設當前節點對象為節點對象605,當節點對象605的審批不通過時,可以直接返回到節點對象602或節點對象603。而到底返回到哪個環節是可以讓用戶根據業務需求進行選擇,假設返回至節點對象602,那麼節點對象602的目標節點對象也可以讓用戶選擇。例如,節點對象602的目標節點對象可以為節點對象605,也可以為節點對象603。
[0133]在圖6所示的工作流中,由於工作流是串行的,沒有分支,因此處理起來比較簡單,只要在節點對象605返回節點對象602時,建立返回線701即可,如圖7所示,為在圖6中建立的返回線701的示意圖。
[0134]如圖8所示,為本發明實施例提供的一種較為複雜的工作流流程圖,從圖中可以看出節點對象802與節點對象803是並行操作且相互獨立的,如果原來是按照節點對象801-節點對象802-節點對象804-節點對象805的路徑執行的,當執行至節點對象805時,需要返回至節點對象801,而節點對象801在進行業務數據的修改後,需要按照原來的路徑節點對象801-節點對象802-節點對象804-節點對象805再執行一遍,此時需要在工作流執行過程中,記錄下執行的路徑信息,返回時按照記錄的路徑信息執行。
[0135]上面是以節點行為為審批節點的節點對象為例進行的說明,當節點行為為非審批節點的節點對象時,返回過程與上述相同。
[0136]步驟S507:判斷是否接收到撤銷指令,如果是,則進入步驟S508,如果否,則進入步驟S509;
[0137]步驟S508:撤回當前執行的操作;
[0138]當前節點對象在發送給目標節點對象業務表單之後,發現業務表單中某一數據填寫錯誤,此時在目標節點對象還沒有辦理之前,可以撤回當前節點對象的業務表單,在重新更正數據後,在發給目標節點對象。
[0139]步驟S508具體包括:刪除目標節點對象的任務,修改當前節點對象的運行狀態,即將當前節點對象的已完成狀態更改為未完成狀態。
[0140]步驟S503、步驟S505以及步驟S507沒有先後順序,只是為了畫圖方便,所以才規定了順序,本發明實施例中這三個步驟可以是「或」的關係,也可以是任意組合,也可以是「和」的關係。
[0141]步驟S509:判斷所述節點對象對應的節點行為是否為結束行為,如果是,則進入步驟S511,如果否,則進入步驟S510 ;
[0142]步驟S510:依據所述節點對象對應的路由,獲取下一目標節點對象;
[0143]步驟S511:退出所述工作流。
[0144]現有技術中只能按照定義的工作流的流程順序一步步執行,當遇到緊急事件或者只需運行工作流中某幾個節點對象時,如果還按照整個工作流的流程順序一步步執行,即費時又耽誤事情,本發明實施例,可以隨意跳轉、返回以及撤銷,可以根據需要進行相應的跳轉、返回以及撤銷。
[0145]上述本發明公開的實施例中詳細描述了方法,對於本發明的方法可採用多種形式的裝置實現,因此本發明還公開了一種系統,下面給出具體的實施例進行詳細說明。
[0146]實施例六
[0147]請參閱圖9,為本發明實施例提供的一種工作流執行系統的結構示意圖,該系統中的工作流的生成方法與實施例一或實施例二描述的生成方法一致,該系統可以包括:工作流命令存儲器901、工作流命令執行器902以及工作流引擎903,其中:
[0148]工作流命令存儲器901,用於存儲構建的各個工作流,且每一工作流具有一流程ID ;
[0149]工作流命令執行器902,用於在接收到操作指令時,根據所述操作指令對應的流程ID,從所述工作流命令存儲器中得到所述操作指令對應的工作流,所述操作指令包括跳轉指令、返回指令、撤銷指令以及順序執行指令;
[0150]工作流引擎903,用於獲取所述工作流命令執行器得到的工作流中當前需要運行的節點對象,調用所述節點對象對應的節點行為對應的程序代碼,以顯示所述節點對象對應的業務表單,並執行與所述程序代碼相應的操作;在接收到所述節點對象運行完畢的指示後,判斷所述節點對象對應的節點行為是否為結束行為,如果是,則退出所述流程,如果否,則產生新的操作指令,並將所述操作指令發送至所述工作流命令執行器。
[0151]為了監控每一節點對象的運行效率,該系統還可以包括:工作流監控伺服器,用於監控各個節點對象的運行時間。
[0152]本說明書中各個實施例採用遞進的方式描述,每個實施例重點說明的都是與其他實施例的不同之處,各個實施例之間相同相似部分互相參見即可。對於實施例公開的裝置而言,由於其與實施例公開的方法相對應,所以描述的比較簡單,相關之處參見方法部分說明即可。
[0153]結合本文中所公開的實施例描述的方法或算法的步驟可以直接用硬體、處理器執行的軟體模塊,或者二者的結合來實施。軟體模塊可以置於隨機存儲器(RAM)、內存、只讀存儲器(ROM)、電可編程ROM、電可擦除可編程ROM、寄存器、硬碟、可移動磁碟、CD-ROM、或【技術領域】內所公知的任意其它形式的存儲介質中。
[0154]對所公開的實施例的上述說明,使本領域專業技術人員能夠實現或使用本發明。對這些實施例的多種修改對本領域的專業技術人員來說將是顯而易見的,本文中所定義的一般原理可以在不脫離本發明的精神或範圍的情況下,在其它實施例中實現。因此,本發明將不會被限制於本文所示的這些實施例,而是要符合與本文所公開的原理和新穎特點相一致的最寬的範圍。
【權利要求】
1.一種工作流生成方法,其特徵在於,包括: 對於待構建的工作流中每一節點對象執行如下操作: 獲取所述節點對象的節點行為以及與所述節點行為對應的節點類型,所述節點類型包括:人工節點以及自由節點; 在所述節點類型為人工節點時,獲取與所述節點類型對應的業務表單,所述業務表單、所述節點類型以及所述節點行為形成所述節點對象,在所述節點類型為自由節點時,所述業務表單以及所述節點類型形成所述節點對象; 依據預先設定的業務處理流程以及所述節點對象對應的節點行為,獲得與所述節點對象對應的路由; 依據所述路由與構建的各個節點對象的對應關係,組合所述各個節點對象以及所述路由,以完成所述工作流的構建,所述各個節點行為對應的程序代碼位於不同的文檔中。
2.根據權利要求1所述方法,其特徵在於,所述獲取與所述節點類型對應的業務表單具體包括: 確定所述節點類型對應的業務表單; 將所述業務表單關聯至所述節點行為。
3.根據權利要求1所述方法,其特徵在於,還包括: 在接收到完成所述工作流的構建指示後,顯示構建的所述工作流的流程ID對話框; 接收所述流程ID對話框中輸入的數據,將所述數據作為所述工作流的流程ID。
4.根據權利要求1所述方法,其特徵在於,所述工作流中還包括一通用節點對象,所述通用節點對象與所述工作流中所有節點對象相關聯。
5.一種工作流執行方法,其特徵在於,所述工作流生成方法如權利要求1至4任一項所述生成方法,包括: 獲取所述工作流中當前需要運行的節點對象; 執行與所述節點對象的節點行為對應的程序代碼; 在接收到所述節點對象運行完畢的指示後,判斷所述節點對象對應的節點行為是否為結束行為,如果是,則退出所述工作流,如果否,則依據所述節點對象對應的路由,獲取下一目標節點對象。
6.根據權利要求5所述方法,其特徵在於,所述執行與所述節點對象的節點行為對應的程序代碼具體包括: 判斷所述節點對象的節點類型; 在所述節點類型為人工節點時,顯示所述節點對象對應的業務表單,並獲取所述業務表單中的數據; 在所述節點為自由節點時,執行所述節點對象的節點行為對應的程序代碼的操作。
7.根據權利要求6所述方法,其特徵在於,所述節點類型還包括:會籤節點,所述會籤節點屬於人為節點,在所述獲取所述節點對象之後,執行與所述節點對象的節點行為對應的程序代碼前還包括: 判斷所述節點對象的節點類型; 在所述節點類型為會籤節點時,接收目標會籤值; 創建與所述目標會籤值對應數目的任務,各個所述任務的狀態為未完成狀態,將完成狀態任務參數設置為零; 在接收到處理一所述任務的請求時,執行與所述節點對象的節點行為對應的程序代碼的操作; 相應的,在接收到所述節點對象運行完畢的指示之前還包括: 在檢測到某一所述任務被完成時,將所述任務的狀態更改為完成狀態,並將所述完成狀態任務參數加I ; 當所述完成狀態任務參數的值與所述目標會籤值相等時,產生所述節點對象運行完畢的指示。
8.根據權利要求5或6所述方法,其特徵在於,在接收到所述節點對象運行完畢的指示後,判斷所述節點對象對應的節點行為是否為結束行為之前還包括: 判斷是否接收到跳轉至第一預設節點對象的指令,如果是,則跳轉至所述第一預設節點對象; 和/或, 判斷是否接收到返回至第二預設節點對象的指令,如果是,則返回至所述第二預設節點對象; 和/或, 判斷是否接收到撤銷指令, 如果是,則撤回當前執行的操作; 在上述判斷結果均為否的情況下,執行判斷所述節點對象對應的節點行為是否為結束行為的操作。
9.一種工作流執行系統,其特徵在於,包括: 工作流命令存儲器,用於存儲構建的各個工作流,且每一工作流具有一流程ID ; 工作流命令執行器,用於在接收到操作指令時,根據所述操作指令對應的流程ID,從所述工作流命令存儲器中得到所述操作指令對應的工作流,所述操作指令包括跳轉指令、返回指令、撤銷指令以及順序執行指令; 工作流引擎,用於獲取所述工作流命令執行器得到的工作流中當前需要運行的節點對象,調用所述節點對象對應的節點行為對應的程序代碼,以顯示所述節點對象對應的業務表單,並執行與所述程序代碼相應的操作;在接收到所述節點對象運行完畢的指示後,判斷所述節點對象對應的節點行為是否為結束行為,如果是,則退出所述流程,如果否,則產生新的操作指令,並將所述操作指令發送至所述工作流命令執行器。
10.根據權利要求9所述系統,其特徵在於,還包括: 工作流監控伺服器,用於監控各個節點對象的運行時間。
【文檔編號】G06Q10/06GK103577906SQ201210254787
【公開日】2014年2月12日 申請日期:2012年7月20日 優先權日:2012年7月20日
【發明者】於海青 申請人:杭州勒卡斯廣告策劃有限公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀