午夜毛片免费看,老师老少妇黄色网站,久久本道综合久久伊人,伊人黄片子

流程引擎處理方法

文檔序號:6543383閱讀:189來源:國知局
流程引擎處理方法
【專利摘要】本發(fā)明涉及軟件建模領(lǐng)域,具體而言,涉及流程引擎處理方法。該流程引擎處理方法,包括:用戶或自動機、節(jié)點授權(quán)管理器、節(jié)點消息總線和節(jié)點處理器。在經(jīng)過節(jié)點處理器預(yù)定的信息交流后,節(jié)點消息總線會通知節(jié)點處理器開始實例化和處理指定的事務(wù)。節(jié)點消息總線再判斷待實例化事務(wù)是否已經(jīng)實例化;若否,則節(jié)點處理器將待實例化事務(wù)進行實例化,并生成實例化結(jié)果;節(jié)點處理器執(zhí)行實例化結(jié)果,并生成執(zhí)行結(jié)果;節(jié)點處理器向節(jié)點消息總線發(fā)出執(zhí)行結(jié)果。本發(fā)明提供的流程引擎處理方法,在處理多維度復(fù)雜流程的時候能夠減少同時實例化活動的數(shù)量,減輕了流程引擎的處理壓力加快了流程引擎的處理速度。
【專利說明】流程引擎處理方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及軟件建模領(lǐng)域,具體而言,涉及流程引擎處理方法。
【背景技術(shù)】
[0002]業(yè)務(wù)建模(Business Modeling)是以軟件模型方式描述企業(yè)管理和業(yè)務(wù)所涉及的對象和要素、以及它們的屬性、行為和彼此關(guān)系,其目的是為了更好地展現(xiàn)、分析、規(guī)劃、設(shè)計企業(yè)的業(yè)務(wù)流程,以及設(shè)計和構(gòu)架企業(yè)請求系統(tǒng)。業(yè)界常用的有兩類,一是偏向技術(shù)的業(yè)務(wù)建模技術(shù),是指對業(yè)務(wù)系統(tǒng)從靜態(tài)和動態(tài)兩個方面進行抽象,并利用UML標(biāo)記語言記錄下來。根據(jù)業(yè)務(wù)系統(tǒng)的特點,UML業(yè)務(wù)建模方法主要包括業(yè)務(wù)角色、業(yè)務(wù)實體、業(yè)務(wù)活動和業(yè)務(wù)流程等建模元素以及業(yè)務(wù)實體關(guān)系圖、業(yè)務(wù)流程活動圖和業(yè)務(wù)流程狀態(tài)圖等圖形表示,其核心是業(yè)務(wù)流程活動圖,采用UML的活動圖(Activity Diagram)描述不同的業(yè)務(wù)角色如何進行特定業(yè)務(wù)活動來完成業(yè)務(wù)流程。代表性的建模技術(shù)如Rational SoftwareArchitect是IBM Rational新一代的UML建模工具。二是偏向于管理的業(yè)務(wù)建模技術(shù),此類方法也是以流程為核心,將流程涉及的要素創(chuàng)建和關(guān)聯(lián)起來,形成流程的詳細描述;對流程進行分類,以區(qū)分出各流程的所處的位置;通過企業(yè)結(jié)構(gòu)總圖對關(guān)聯(lián)要素分類管理。這樣從整體上就能夠建立起對企業(yè)經(jīng)營活動的整體描述和展現(xiàn)。這兩種建模技術(shù)的建模和管理的核心對象是流程。按照上述建模方式所建立出的模型可以理解為:一個流程是由多個活動構(gòu)成的,處理完一個流程需要先同時實例化一個流程中的全部活動,再按照預(yù)設(shè)的順序處理完所有活動也就完成了一個流程。其中,活動之間的處理順序是設(shè)定在活動消息總線上的,當(dāng)一個活動處理結(jié)束之后,將結(jié)果發(fā)送給活動消息總線,活動消息總線再根據(jù)接收到的結(jié)果選擇執(zhí)行后續(xù)的活動或者停止。
[0003]隨著使用的需求,出現(xiàn)了多維度的復(fù)雜流程,如圖1所示的流程架構(gòu)圖,,使用者在處理流程I的時候,流程I中包含活動A,活動A中的多個事務(wù)是分別存在于流程1、流程2和流程3中的。按照傳統(tǒng)的流程處理方式,完成流程I需要同時實例化流程I中的全部活動,這也就意味著需要同時實例化活動A中的全部事務(wù)。為了實例化活動A,也就需要將包括活動A中事務(wù)I的流程1、包括活動A中的事務(wù)2的流程2和包括活動A中事務(wù)3的流程3都同時實例化,才可以完成活動A。同時,活動B中的事務(wù)4和事務(wù)5又分別處于流程2和流程4中,按照上述的方法,實例化活動B就需要同時實例化流程2和流程4。這就意味著想要完成流程1,就需要同時實例化流程1、流程2、流程3和流程4。需要說明的是,實例化是指在將指定的數(shù)據(jù)加載到用于處理某一流程,或某一活動,或某一事務(wù)的活動處理器上,用戶再在流程引擎上對加載后的數(shù)據(jù)進行處理,以完成某一流程,或某一活動,或者某一事務(wù)。
[0004]采用這種傳統(tǒng)流程的處理方式對圖1中所描述的多維度的流程進行處理時,需要同時實例化大量的相關(guān)聯(lián)的流程,這加重了現(xiàn)有流程引擎的處理負擔(dān),降低了流程的處理速度,流程引擎是指的處理流程的基本邏輯處理器。如果一個流程X中包含某一具有多個事務(wù)的活動,并且該活動中的事務(wù)又是分屬于不同的流程中的,那么,想要完成流程X,就需要同時實例化和流程X相關(guān)聯(lián)的全部流程,這種處理量大大加重了流程引擎的處理壓力,拖緩了流程引擎的處理速度。

【發(fā)明內(nèi)容】

[0005]本發(fā)明的目的在于提供流程引擎處理方法,以解決上述的問題。
[0006]在本發(fā)明的實施例中提供了流程引擎處理方法,包括:
[0007]用戶或自動機向節(jié)點授權(quán)管理器提交活動請求,所述活動請求包括用戶或自動機所要實例化的待實例化事務(wù)的信息,所述待實例化事務(wù)是屬于用戶或自動機的一個節(jié)點處理器在一個活動中所需要處理的全部事務(wù),節(jié)點處理器是用于實例化和處理屬于所述節(jié)點處理器的事務(wù)的應(yīng)用系統(tǒng);
[0008]節(jié)點授權(quán)管理器在接收到所述活動請求后,若所述活動請求通過確認則向節(jié)點消息總線提交確認后的活動請求;
[0009]節(jié)點處理器輪詢節(jié)點消息總線;
[0010]節(jié)點消息總線在接收到節(jié)點處理器的輪詢后,若節(jié)點消息總線已經(jīng)接收到所述確認后的活動請求,則向節(jié)點處理器發(fā)出節(jié)點處理器獲取活動請求,所述節(jié)點處理器獲取活動請求包括與節(jié)點消息總線相對應(yīng)的待實例化事務(wù);
[0011]節(jié)點處理器接收到所述節(jié)點處理器獲取活動請求后,判斷所述待實例化事務(wù)是否已經(jīng)實例化;
[0012]若否,則節(jié)點處理器將待實例化事務(wù)進行實例化,并生成實例化結(jié)果;
[0013]節(jié)點處理器執(zhí)行所述實例化結(jié)果,并生成執(zhí)行結(jié)果;
[0014]節(jié)點處理器向所述節(jié)點消息總線發(fā)出所述執(zhí)行結(jié)果。
[0015]優(yōu)選的,在所述向節(jié)點處理器發(fā)出節(jié)點處理器獲取活動請求后還包括,
[0016]節(jié)點消息總線儲存所述執(zhí)行結(jié)果,和/或所述確認后的活動請求,和/或所述節(jié)點處理器獲取活動請求;
[0017]用戶或自動機向節(jié)點消息總線發(fā)出查詢處理情況請求;
[0018]節(jié)點消息總線在接收到所述查詢處理情況請求后,根據(jù)儲存的所述實例化結(jié)果,和/或所述確認后的活動請求,和/或所述節(jié)點處理器獲取活動請求生成業(yè)務(wù)處理過程及狀態(tài)信息,所述業(yè)務(wù)處理過程及狀態(tài)信息包括活動中的事務(wù)處理進程及活動中的事務(wù)處理過程;
[0019]節(jié)點消息總線向用戶或自動機發(fā)出所述業(yè)務(wù)處理過程及狀態(tài)信息。
[0020]優(yōu)選的,在所述用戶或自動機向節(jié)點授權(quán)管理器提交活動請求前還包括,
[0021]用戶或自動機向節(jié)點授權(quán)管理器發(fā)出獲取節(jié)點授權(quán)列表請求,所述獲取節(jié)點授權(quán)列表請求包括用戶或自動機的身份信息;
[0022]節(jié)點授權(quán)管理器在接收到所述獲取節(jié)點授權(quán)列表請求后,在本地的數(shù)據(jù)庫中查找預(yù)先儲存的與所述用戶或自動機的身份信息對應(yīng)的節(jié)點授權(quán)列表;
[0023]若找到所述節(jié)點授權(quán)列表,則向用戶或自動機返回所述節(jié)點授權(quán)列表;
[0024]用戶或自動機根據(jù)所述節(jié)點授權(quán)列表生成所述活動請求。
[0025]優(yōu)選的,所述活動請求中包括用戶或自動機的身份信息;
[0026]所述若所述活動請求通過確認則向節(jié)點消息總線提交確認后的活動請求包括,[0027]若與所述身份信息相對應(yīng)的操作權(quán)限出現(xiàn)在預(yù)存在本地的授權(quán)列表中,則標(biāo)記接收到的所述活動請求為確認后的活動請求;
[0028]節(jié)點授權(quán)管理器向節(jié)點消息總線提交確認后的活動請求。
[0029]優(yōu)選的,節(jié)點處理器接收到所述節(jié)點處理器獲取活動請求后,判斷所述待實例化事務(wù)是否已經(jīng)實例化還包括:
[0030]若否,則向節(jié)點消息總線發(fā)出表示待實例化事務(wù)已經(jīng)實例化的消息。
[0031]優(yōu)選的,在節(jié)點消息總線在接收到節(jié)點處理器的輪詢后,若節(jié)點消息總線已經(jīng)接收到所述確認后的活動請求,則向節(jié)點處理器發(fā)出節(jié)點處理器獲取活動請求后包括:
[0032]節(jié)點消息總線在本地數(shù)據(jù)庫中記錄表示節(jié)點處理器的輪詢已經(jīng)被接收的信息,并且不再提供所述節(jié)點處理器的后續(xù)輪詢。
[0033]優(yōu)選的,所述節(jié)點處理器執(zhí)行所述實例化結(jié)果,并生成執(zhí)行結(jié)果包括:
[0034]按照預(yù)設(shè)的順序逐一獲取未處理事務(wù),所述未處理事務(wù)是待處理事務(wù)實例化后生成的;
[0035]節(jié)點處理器判斷當(dāng)前獲取的未處理事務(wù)的前置條件是否滿足,
[0036]若是,則執(zhí)行當(dāng)前獲取的未處理事務(wù),并生成執(zhí)行結(jié)果;
[0037]若否,則等待,直到所述執(zhí)行的前置條件滿足。
[0038]優(yōu)選的,所述執(zhí)行結(jié)果包括提交后續(xù)節(jié)點請求或后續(xù)節(jié)點為終止信息;
[0039]在所述節(jié)點處理器發(fā)送所述執(zhí)行結(jié)果后還包括:
[0040]節(jié)點消息總線接收所述執(zhí)行結(jié)果;
[0041]若所述執(zhí)行結(jié)果包括所述提交后續(xù)節(jié)點請求,則在相應(yīng)的節(jié)點處理器輪詢時,根據(jù)所述提交后續(xù)節(jié)點請求向指定的節(jié)點處理器發(fā)出指定節(jié)點處理器獲取活動請求的信息,所述指定節(jié)點處理器獲取活動請求是與所述指定的節(jié)點處理器相對應(yīng)的;
[0042]若所述執(zhí)行結(jié)果包括后續(xù)節(jié)點為終止信息,則活動完成。
[0043]優(yōu)選的,還包括:
[0044]用戶或自動機向節(jié)點配置器提交新增或調(diào)整節(jié)點請求,所述新增或調(diào)整節(jié)點請求包括與所述用戶或自動機相對應(yīng)的新增或調(diào)整節(jié)點的活動信息和用戶信息,所述活動信息包括一個或多個事務(wù)信息,并且每個事務(wù)信息與一個用戶信息相對應(yīng)的;每一個節(jié)點即為一個節(jié)點處理器,每個節(jié)點處理器只對應(yīng)一個用戶和一個活動,同一個活動可以對應(yīng)不同的用戶生成不同節(jié)點處理器,但同一個活動對應(yīng)同一個用戶只能生成一個節(jié)點處理器,同一個活動針對同一個用戶重復(fù)生成節(jié)點處理器視同是原節(jié)點處理器的更新版本;
[0045]節(jié)點配置器向用戶配置器提交用戶配置請求,所述提交用戶配置請求包括與所述用戶或自動機相對應(yīng)的新增或調(diào)整節(jié)點的用戶信息;
[0046]用戶配置器根據(jù)所述用戶配置請求配置用戶參數(shù),并生成用戶配置結(jié)果,所述用戶配置結(jié)果是與所述事務(wù)信息相對應(yīng)的;
[0047]用戶配置器向所述節(jié)點配置器返回所述用戶配置結(jié)果;
[0048]節(jié)點配置器向活動配置器提交活動配置請求,所述活動配置請求包括所述用戶或自動機發(fā)出的所述事務(wù)信息和與所述事務(wù)信息相對應(yīng)的用戶配置結(jié)果;
[0049]活動配置器根據(jù)接收到的提交活動配置請求,按照預(yù)設(shè)的順序配置活動中的事務(wù),并生成事務(wù)配置結(jié)果請求,所述事務(wù)配置結(jié)果請求包括已配置事務(wù)和待配置事務(wù);[0050]活動配置器向事務(wù)定義管理員群發(fā)出所述事務(wù)配置結(jié)果請求;
[0051]事務(wù)定義管理員群向活動配置器返回事務(wù)配置申請,所述事務(wù)配置申請是根據(jù)所述事務(wù)配置結(jié)果請求生成的,所述事務(wù)配置申請包括事務(wù)配置參數(shù)和事務(wù)流向參數(shù),所述事務(wù)配置參數(shù)是與所述已配置事務(wù)或所述待配置事務(wù)相對應(yīng)的;
[0052]活動配置器根據(jù)所述事務(wù)配置申請配置已配置事務(wù)的參數(shù)和事務(wù)流向,或根據(jù)所述事務(wù)配置申請配置未配置事務(wù)的參數(shù)和事務(wù)流向,并生成待組裝節(jié)點,所述待組裝節(jié)點是已配置事務(wù)的參數(shù)再次經(jīng)過配置后得到的,或所述待組裝節(jié)點是未配置事務(wù)的參數(shù)經(jīng)過配置后得到的;
[0053]活動配置器根據(jù)事務(wù)和流向配置的結(jié)果生成活動配置結(jié)果請求,所述配置結(jié)果請求包括一個待組裝的節(jié)點;
[0054]活動配置器向節(jié)點配置器返回所述活動配置結(jié)果請求;
[0055]節(jié)點配置器將所述配置結(jié)果請求中包括的一個待組裝的節(jié)點進行組裝,并生成更新節(jié)點配置文件和更新版本文件;
[0056]用戶或自動機向節(jié)點配置器發(fā)出提交節(jié)點終止請求,所述節(jié)點終止終止請求包括預(yù)設(shè)的更新節(jié)點配置文件和更新版本文件;
[0057]節(jié)點配置器根據(jù)生成的所述更新節(jié)點配置文件、更新版本文件,或預(yù)設(shè)的更新節(jié)點配置文件和更新版本文件對本地的節(jié)點配置文件和版本進行更新;
[0058]節(jié)點配置器根據(jù)生成的所述更新節(jié)點配置文件、更新版本文件,或預(yù)設(shè)的更新節(jié)點配置文件和更新版本文件生成新節(jié)點授權(quán)列表及參數(shù),并向節(jié)點授權(quán)管理器發(fā)出新節(jié)點授權(quán)列表及參數(shù);
[0059]節(jié)點授權(quán)管理器在接收到所述新節(jié)點授權(quán)列表及參數(shù)更新預(yù)先存儲在本地的節(jié)點授權(quán)列表;
[0060]節(jié)點授權(quán)管理器將更新后的節(jié)點授權(quán)列表標(biāo)記為待激活狀態(tài),并進行存儲,同時生成已更新節(jié)點授權(quán)列表信息;
[0061]節(jié)點授權(quán)管理器向用戶或自動機發(fā)出所述已更新節(jié)點授權(quán)列表信息。
[0062]優(yōu)選的,在所述節(jié)點授權(quán)管理器將更新后的節(jié)點授權(quán)列表標(biāo)記為待激活狀態(tài),并生成已更新節(jié)點授權(quán)列表信息后還包括:
[0063]節(jié)點管理器動態(tài)監(jiān)控節(jié)點配置器,若節(jié)點配置器生成更新節(jié)點配置文件,則節(jié)點管理器向節(jié)點配置器發(fā)出獲取所述更新節(jié)點配置文件的信息;
[0064]節(jié)點配置器在接收到所述獲取所述更新節(jié)點配置文件的信息后,向節(jié)點管理器發(fā)出更新節(jié)點配置文件;
[0065]節(jié)點管理器在接收到所述更新節(jié)點配置文件后,根據(jù)所述更新節(jié)點配置文件創(chuàng)建新的節(jié)點處理器并生成節(jié)點處理器創(chuàng)建結(jié)果,所述節(jié)點處理器創(chuàng)建結(jié)果包括指定的更新節(jié)點信息;
[0066]節(jié)點管理器向節(jié)點授權(quán)管理器發(fā)出所述節(jié)點處理器創(chuàng)建結(jié)果;
[0067]節(jié)點授權(quán)管理器根據(jù)所述節(jié)點處理器創(chuàng)建結(jié)果中包括的指定的更新節(jié)點信息,將存儲在本地的所述標(biāo)記為待激活狀態(tài)的授權(quán)列表更改為激活狀態(tài);
[0068]若存在舊版本或需要關(guān)閉的節(jié)點處理器,節(jié)點授權(quán)管理器判斷是否存在舊版本節(jié)點或需要關(guān)閉的節(jié)點中的事務(wù)未處理完成;[0069]若是,則等待,直到舊版本事務(wù)處理完成;
[0070]若否,則關(guān)閉舊版本的節(jié)點處理器,并生成關(guān)閉結(jié)果,所述舊版本節(jié)點用于處理舊版本事務(wù);
[0071]節(jié)點管理器向節(jié)點授權(quán)管理器發(fā)出關(guān)閉結(jié)果;
[0072]節(jié)點授權(quán)管理器在接收到所述關(guān)閉結(jié)果后,將舊版本節(jié)點處理器標(biāo)示為卸載狀態(tài)。
[0073]本發(fā)明實施例提供的流程引擎處理方法,與現(xiàn)有技術(shù)中的流程引擎處理方法在處理多維度流程時,需要同時將相關(guān)聯(lián)的全部流程同時實例化,加重了流程引擎的處理壓力,拖緩了流程引擎的處理速度相比,其通過預(yù)先設(shè)定了待實例化事務(wù)是屬于用戶或自動機的一個節(jié)點處理器在一個活動中所需要處理的全部事務(wù),使得用戶在實例化和出待實例化事務(wù)時,能夠根據(jù)具體情況的需要,只實例化活動中的一部分,可以通過節(jié)點處理器獨立的實例化和處理活動中的事務(wù),進而在處理多維度復(fù)雜流程的時候能夠減少同時實例化活動的數(shù)量,減輕了流程引擎的處理壓力加快了流程引擎的處理速度,從而解決了現(xiàn)有技術(shù)中的不足。
【專利附圖】

【附圖說明】
[0074]圖1示出了本發(fā)明【背景技術(shù)】中的模型示意圖;
[0075]圖2示出了本發(fā)明實施例的流程引擎處理方法的基本流程圖;
[0076]圖3示出了本發(fā)明實施例的流程引擎處理方法的查詢業(yè)務(wù)處理過程流程圖;
[0077]圖4示出了本發(fā)明實施例的流程引擎處理方法的獲取授權(quán)列表流程圖;
[0078]圖5示出了本發(fā)明實施例的流程引擎處理方法的流程引擎的配置時序圖;
[0079]圖6示出了本發(fā)明實施例的流程引擎處理方法的具體實例方框圖。
【具體實施方式】
[0080]下面通過具體的實施例子并結(jié)合附圖對本發(fā)明做進一步的詳細描述。
[0081]如圖2所示,本發(fā)明實施例1提供了流程引擎處理方法的流程,包括如下步驟:
[0082]S201,用戶或自動機向節(jié)點授權(quán)管理器提交活動請求,活動請求包括用戶或自動機所要實例化的待實例化事務(wù)的信息,待實例化事務(wù)是屬于用戶或自動機的一個節(jié)點處理器在一個活動中所需要處理的全部事務(wù),節(jié)點處理器是用于實例化和處理屬于節(jié)點處理器的事務(wù)的應(yīng)用系統(tǒng);
[0083]S202,節(jié)點授權(quán)管理器在接收到活動請求后,若活動請求通過確認則向節(jié)點消息總線提交確認后的活動請求;
[0084]S203,節(jié)點處理器輪詢節(jié)點消息總線;
[0085]S204,節(jié)點消息總線在接收到節(jié)點處理器的輪詢后,若節(jié)點消息總線已經(jīng)接收到確認后的活動請求,則向節(jié)點處理器發(fā)出節(jié)點處理器獲取活動請求,節(jié)點處理器獲取活動請求包括與節(jié)點消息總線相對應(yīng)的待實例化事務(wù);
[0086]S205,節(jié)點處理器接收到節(jié)點處理器獲取活動請求后,判斷待實例化事務(wù)是否已經(jīng)實例化,若否,則執(zhí)行步驟S206 ;
[0087]S206,節(jié)點處理器將待實例化事務(wù)進行實例化,并生成實例化結(jié)果;[0088]S207,節(jié)點處理器執(zhí)行實例化結(jié)果,并生成執(zhí)行結(jié)果;
[0089]S208,節(jié)點處理器向節(jié)點消息總線發(fā)出執(zhí)行結(jié)果。
[0090]具體的,在步驟S201中,用戶或者自動機根據(jù)需要向節(jié)點授權(quán)管理器提交活動請求,活動請求中包括用戶或自動機需要進行實例化和處理的事務(wù)的參數(shù)。
[0091]在步驟S202中,節(jié)點授權(quán)管理器需要根據(jù)預(yù)設(shè)的條件對接收到活動請求進行確認,以確保安全。由于不同的用戶的使用權(quán)限可能是不同的,如果沒有指定權(quán)限的用戶或者自動機發(fā)出了不屬于自己活動的請求,可能就是對流程引擎的入侵行為,所以節(jié)點授權(quán)管理器應(yīng)對接收到活動請求進行驗證,其驗證的內(nèi)容可以是接收到的活動請求所對應(yīng)的用戶或自動機的活動權(quán)限是否與活動請求中的內(nèi)容相符,該活動權(quán)限是查詢預(yù)先存儲在節(jié)點授權(quán)管理器中的節(jié)點授權(quán)表后得到的;也可以是節(jié)點授權(quán)管理器接收到的活動請求中的信息是否能夠被節(jié)點授權(quán)管理器所讀取;還可以是節(jié)點授權(quán)管理器接收到的活動請求中是否含有病毒或其他能夠破壞節(jié)點授權(quán)管理器、節(jié)點消息總線、節(jié)點處理器等相關(guān)機構(gòu)的數(shù)據(jù)。
[0092]步驟S203,節(jié)點處理器輪詢節(jié)點消息總線,需要說明的是,節(jié)點處理器的輪詢并不是在步驟S202完成之后才開始的,而是任何時候均可以開始輪詢,時間順序上,步驟S203并不一定在步驟S202或者步驟S201之后。
[0093]步驟S204,節(jié)點消息總線在接收到節(jié)點處理器的輪詢之后,如果節(jié)點消息總線已經(jīng)接收到了確認后的活動請求,那么就向節(jié)點處理器發(fā)出節(jié)點處理器獲取活動的請求,此處的確認后的活動請求是與進行輪詢的節(jié)點處理器相對應(yīng)的。確認后的活動請求和用戶或自動機發(fā)出的活動請求的內(nèi)容可以是相同的,二者均包括輪詢節(jié)點處理器需要實例化和處理的事務(wù)。也就是只有在節(jié)點消息總線接收到確認后的活動請求后,在接收到節(jié)點處理器的輪詢后才會發(fā)出節(jié)點處理器獲取活動請求。
[0094]步驟S205,在節(jié)點處理器接收到活動請求后,需要判斷該節(jié)點處理器需要實例化的事務(wù)是否已經(jīng)實例化,此處的實例化可以是同一個活動中的多個事務(wù),也可以是同一個活動中的一個事務(wù),此處的多個事務(wù)或者一個事務(wù)需要根據(jù)預(yù)先設(shè)置的用戶與活動中的事務(wù)的對應(yīng)關(guān)系相應(yīng)的,一個用戶在一個活動中處理的全部活動是由一個節(jié)點處理器進行實例化和處理的,如10個用戶均參加到了 10活動中,那么節(jié)點處理器的數(shù)量應(yīng)是100個,也就是不同的用戶在每一個的活動中均有一個獨立的節(jié)點處理器,用于該用戶處理這一個活動中的事務(wù)。節(jié)點處理器獲取活動請求后節(jié)點處理器還需要判斷節(jié)點處理器所需要實例化的事務(wù)是否已經(jīng)實例化,如果該實例化活動需要依據(jù)前置條件中設(shè)置的多個節(jié)點處理器的活動請求來執(zhí)行,那么執(zhí)行第一個節(jié)點處理器的活動請求時,節(jié)點處理器所需要實例化的事務(wù)已經(jīng)實例化,那么后續(xù)節(jié)點處理器的活動請求就不需要節(jié)點處理器再次實例化該事務(wù);如果節(jié)點處理器所需要實例化的事務(wù)還沒有實例化,那么執(zhí)行步驟S206。
[0095]步驟S206,節(jié)點處理器將需要實例化的活動進行實例化,并且得到實例化結(jié)果。活動進行實例化包括,獲取該活動的數(shù)據(jù)和相關(guān)參數(shù),組裝成執(zhí)行環(huán)境。之后才可以根據(jù)需要處理已經(jīng)實例化的活動,此處的用戶指的是一個用戶。實例化只是活動或事務(wù)執(zhí)行前由節(jié)點處理器加載相應(yīng)的活動或事務(wù)數(shù)據(jù),形成其特定的活動或事務(wù)編號及執(zhí)行環(huán)境的一個過程,實例化完成后才能提供執(zhí)行。其中,實例化后的活動,處理的事務(wù)可以是多件,也可以是一件,這是根據(jù)預(yù)設(shè)的活動中,指定的用戶或者自動機所需要處理事務(wù)的數(shù)量所決定的。
[0096]步驟S207,節(jié)點處理器執(zhí)行實例化結(jié)果,并生成執(zhí)行結(jié)果;節(jié)點處理器在步驟S206實例化的基礎(chǔ)上,對實例化后的事務(wù)進行執(zhí)行,并且生成執(zhí)行結(jié)果,需要說明的是,此處的執(zhí)行實例化結(jié)果,是指用戶或者自動機在生成實例化結(jié)果的基礎(chǔ)上進一步對事務(wù)進行處理。此處的執(zhí)行結(jié)果可以分為兩種,一種是后需要有其他節(jié)點處理器需要處理活動中的事務(wù),那么執(zhí)行結(jié)果中包括的信息應(yīng)是后續(xù)節(jié)點請求信息,該信息指明了后續(xù)還應(yīng)由哪個節(jié)點處理器繼續(xù)處理事務(wù);另一種是不需要其他節(jié)點處理器處理活動中的事務(wù),那么執(zhí)行結(jié)果中包括的信息應(yīng)是活動完成或流程終止。
[0097]步驟S208,節(jié)點處理器向節(jié)點消息總線發(fā)出步驟S206所得到的執(zhí)行結(jié)果,也就完成了整個活動的處理。由步驟S207可以了解到,節(jié)點處理器所生成的執(zhí)行結(jié)果可能是有兩種,那么節(jié)點消息總線再根據(jù)接收到的執(zhí)行結(jié)果選擇向其他的節(jié)點處理器發(fā)送實例化的請求,經(jīng)過多次,多個節(jié)點處理器的實例化和處理,就完成了一個活動;當(dāng)然,如果接收到的執(zhí)行結(jié)果中包括的是活動完成或流程終止,那么就說明該流程已經(jīng)完成,不需要有后續(xù)的處理了。
[0098]本發(fā)明所提供的流程引擎處理方法,具有如下優(yōu)點:
[0099]1,將現(xiàn)有的不穩(wěn)定的業(yè)務(wù)建模和復(fù)雜的解析活動,盡可能交由人工進行協(xié)作處理,而將計算機的運行處理集中在穩(wěn)定的和數(shù)量規(guī)模上的領(lǐng)域,也就是對大量的節(jié)點處理器進行管理,如此來應(yīng)對業(yè)務(wù)活動的多樣化、變化多及用戶的個性化的應(yīng)用領(lǐng)域。
[0100]2,現(xiàn)有以流程為核心的業(yè)務(wù)建模技術(shù)只能以流程為單位進行協(xié)作,即不同流程可以同時管理,但同一流程只能同時由一個人進行管理;而本發(fā)明可以做到同一流程甚至同一活動也可以由多人同時配置,這是通過預(yù)先設(shè)置的每次實例化的最小單位是,一個用戶在一個活動中所需要處理事務(wù),同時該事務(wù)是通過獨立的,一個節(jié)點處理器完成的。
[0101]3,現(xiàn)有技術(shù)的用戶權(quán)限控制非常復(fù)雜,需要使用大量的流程-用戶,流程-活動,流程-用戶,用戶-角色等管理權(quán)限表格來限制使用者的操作權(quán)限;本發(fā)明只需要通過維護節(jié)點授權(quán)管理器中的節(jié)點授權(quán)表即可實現(xiàn),處理過程異常簡單。
[0102]4,現(xiàn)有以“流程-角色”為核心的流程處理過程,需要解析流程的活動和角色;而本發(fā)明由于直接形成基于“活動-用戶”的運行節(jié)點,不需要解析活動和角色,減化了流程的處理過程,提高了流程引擎的處理效率。
[0103]5,現(xiàn)有以流程為核心的流程處理在流向控制上難以適應(yīng)多維度的業(yè)務(wù)處理;而本發(fā)明通過節(jié)點消息總線方式和獨立節(jié)點處理器運行方式,在節(jié)點處理器執(zhí)行完某一活動后,將執(zhí)行結(jié)果返回給節(jié)點消息總線,進而使節(jié)點消息總線根據(jù)接收到的實例化結(jié)果選擇其他的節(jié)點處理器處理后續(xù)的活動,或者活動已經(jīng)處理已經(jīng)完成,后續(xù)活動是否屬于多個流程以及他們的處理已經(jīng)與當(dāng)前節(jié)點處理器的活動無關(guān)了,也就是本發(fā)明所提供的流程引擎處理方法可以處理復(fù)雜多維的業(yè)務(wù)模型。
[0104]本發(fā)明實施例3提供了流程引擎處理方法的細節(jié)流程,在實施例1的基礎(chǔ)上,
[0105]如圖3所示,示出了查詢業(yè)務(wù)處理過程的方法,包括如下步驟,
[0106]S301,節(jié)點消息總線儲存執(zhí)行結(jié)果,和/或確認后的活動請求,和/或節(jié)點處理器獲取活動請求;
[0107]S302,用戶或自動機向節(jié)點消息總線發(fā)出查詢待實例化事務(wù)處理情況請求;
[0108]S303,節(jié)點消息總線根據(jù)儲存的實例化結(jié)果,和/或確認后的活動請求,和/或節(jié)點處理器獲取活動請求生成業(yè)務(wù)處理過程及狀態(tài)信息;[0109]S304,節(jié)點消息總線向用戶或自動機發(fā)出業(yè)務(wù)處理過程及狀態(tài)信息。
[0110]步驟S301,是由節(jié)點消息總線儲存接收到的,或者發(fā)出的實例化結(jié)果,和/或確認后的活動請求,和/或節(jié)點處理器獲取活動請求。當(dāng)然,此處的儲存,是指節(jié)點消息總線儲存接收到的,或者發(fā)出的所有信息。
[0111]步驟S302,用戶在需要查詢實例化業(yè)務(wù)的處理情況時,需要向節(jié)點消息總線發(fā)出查詢的指令。
[0112]步驟S303,節(jié)點消息總線在接收到查詢的指令后,根據(jù)儲存的所有信息,也就是執(zhí)行結(jié)果,和/或確認后的活動請求,和/或節(jié)點處理器獲取活動請求生成業(yè)務(wù)處理過程及狀態(tài)信息,業(yè)務(wù)處理過程信息包括該筆業(yè)務(wù)經(jīng)過哪些節(jié)點處理器,當(dāng)前處在哪個節(jié)點處理器,各節(jié)點處理器接收和完成的時間等。如,儲存的只有確認后的活動請求,那么就說明節(jié)點處理器未接收到節(jié)點處理器獲取活動請求。
[0113]步驟S304,節(jié)點消息總線在生成業(yè)務(wù)處理過程信息后,向用戶或自動機發(fā)出待實例化業(yè)務(wù)的實例化狀態(tài)信息,以便用戶或自動機查詢事務(wù)的處理過程和狀態(tài)。
[0114]如圖4所示,示出了用戶獲取授權(quán)列表的方法,包括如下步驟,
[0115]S401,用戶或自動機向節(jié)點授權(quán)管理器發(fā)出獲取節(jié)點授權(quán)列表請求,節(jié)點獲取節(jié)點授權(quán)列表請求包括用戶或自動機的身份信息;
[0116]S402,節(jié)點授權(quán)管理器在接收到獲取節(jié)點授權(quán)列表請求后,在本地的數(shù)據(jù)庫中查找預(yù)先儲存的與用戶或自動機的身份信息對應(yīng)的節(jié)點授權(quán)列表;
[0117]S403,若找到節(jié)點授權(quán)列表,則向用戶或自動機返回節(jié)點授權(quán)列表;
[0118]S404,用戶或自動機根據(jù)節(jié)點授權(quán)列表生成活動請求。
[0119]其中,在實行步驟S201之前,用戶或自動機需要根據(jù)授權(quán)列表來選擇自己有權(quán)利做的操作。步驟S401中,用戶或自動機向節(jié)點授權(quán)管理器發(fā)出獲取節(jié)點授權(quán)列表請求,這一步驟也可以理解為用戶或自動機登陸活動門戶。
[0120]步驟S402,節(jié)點授權(quán)管理器在接收到請求后,在本地查找授權(quán)列表,如果沒有找至IJ,則說明發(fā)出獲取節(jié)點授權(quán)列表請求的用戶或自動機是非法的,此時可以根據(jù)情況發(fā)出警告,或者不理會該用戶或自動機。
[0121]步驟S403,如果找到與發(fā)出獲取節(jié)點授權(quán)列表請求的用戶或自動機相對應(yīng)的節(jié)點授權(quán)列表,就返回該用戶或自動機找到的節(jié)點授權(quán)列表。
[0122]步驟S404,用戶或自動機根據(jù)節(jié)點授權(quán)列表生成活動請求。此處的根據(jù)可以理解為,用戶或者自動機參考授權(quán)列表生成活動請求,是為了用戶或自動機方便發(fā)送活動請求,如果用戶或自動機不知道自己的權(quán)限,很有可能發(fā)錯活動請求,此時,節(jié)點授權(quán)管理器在接收到授權(quán)請求之后就可能理解為,該用戶或自動機是非法入侵,導(dǎo)致不必要的麻煩,同時也使了用戶或自動機能夠減少必須要的操作。
[0123]其中,在步驟202中,節(jié)點授權(quán)管理器提交確認后的活動請求前還需要經(jīng)過確認的過程,以保證提交的活動請求是與提交活動請求的用戶或自動機的身份是相符合的。具體的,活動請求中包括用戶或自動機的身份信息;
[0124]若活動請求通過確認則向節(jié)點消息總線提交確認后的活動請求包括,若與身份信息相對應(yīng)的操作權(quán)限出現(xiàn)在預(yù)存在本地的授權(quán)列表中,則標(biāo)記接收到的活動請求為確認后的活動請求;節(jié)點授權(quán)管理器向節(jié)點消息總線提交確認后的活動請求。[0125]需要說明的是,節(jié)點授權(quán)管理器所發(fā)出的確認后的活動請求,可以是直接轉(zhuǎn)發(fā)節(jié)點授權(quán)管理器所接收到的活動請求,并且在活動請求中加蓋確認章;也可以是根據(jù)接收到的活動請求生成一個新的活動請求,此處的新的活動請求可以理解為按照便于節(jié)點消息總線處理的消息類型進行編寫的請求。
[0126]在步驟S205中,節(jié)點處理器接收到節(jié)點處理器獲取活動請求后,判斷待實例化事務(wù)是否已經(jīng)實例化,如果判斷的結(jié)果為是,那么就說明節(jié)點處理器不需要再次對同一事務(wù)進行實例化。
[0127]當(dāng)然,在步驟S204節(jié)點消息總線在接收到節(jié)點處理器的輪詢后,若節(jié)點消息總線已經(jīng)接收到確認后的活動請求,則向節(jié)點處理器發(fā)出節(jié)點處理器獲取活動請求后,還可以包括節(jié)點消息總線在本地數(shù)據(jù)庫中記錄表示節(jié)點處理器的輪詢已經(jīng)被接收的信息,以免重復(fù)進行操作。
[0128]具體的,在節(jié)點處理器在進行實例化之后,按照預(yù)設(shè)的順序逐一獲取未處理事務(wù),未處理事務(wù)是待處理事務(wù)實例化后生成的;節(jié)點處理器判斷當(dāng)前獲取的未處理事務(wù)的前置條件是否滿足,若是,則執(zhí)行當(dāng)前獲取的未處理事務(wù),并生成執(zhí)行結(jié)果;若否,則等待,直到執(zhí)行的前置條件滿足,執(zhí)行結(jié)果包括事務(wù)的處理結(jié)果或事務(wù)后續(xù)節(jié)點流向信息。
[0129]節(jié)點處理器在處理實例化后的業(yè)務(wù)時,通常有多個未處理事務(wù)需要處理,可以按照預(yù)設(shè)的前置條件分別處理多個未處理事務(wù)每個事務(wù)生成的各自的執(zhí)行結(jié)果和后續(xù)節(jié)點處理請求,也就是指明了是否需要后續(xù)的其他節(jié)點處理,或者是否已經(jīng)完全處理完成。
[0130]在步驟S207之后,還包括了節(jié)點消息總線對接收到的后續(xù)節(jié)點處理請求信息進行處理的過程,具體為執(zhí)行結(jié)果包括提交后續(xù)節(jié)點請求或后續(xù)節(jié)點為終止信息;
[0131]在節(jié)點處理器發(fā)送執(zhí)行結(jié)果后還包括:節(jié)點消息總線接收執(zhí)行結(jié)果;若執(zhí)行結(jié)果包括提交后續(xù)節(jié)點請求,則在相應(yīng)節(jié)點處理器輪詢時,根據(jù)提交后續(xù)節(jié)點請求向指定的節(jié)點處理器發(fā)出指定節(jié)點處理器獲取活動請求的信息,指定節(jié)點處理器獲取活動請求是與指定的節(jié)點處理器相對應(yīng)的;若執(zhí)行結(jié)果包括后續(xù)節(jié)點為終止信息,則活動完成。
[0132]通過多次的節(jié)點消息總線與不同的節(jié)點處理器進行交流進而可以完成一個復(fù)雜業(yè)務(wù)流程的處理,每次節(jié)點處理器只實例化當(dāng)前節(jié)點需要執(zhí)行的業(yè)務(wù)活動,而不是如現(xiàn)有技術(shù)中每次實例化就需要實例化全部的和需要處理的流程相關(guān)的全部流程,大大降低的流程處理引擎的處理量和處理壓力。
[0133]如圖5,示出了流程引擎的配置時序圖,包括,
[0134]501提交節(jié)點新增或調(diào)整請求,具體的,用戶或自動機向節(jié)點配置器提交新增或調(diào)整節(jié)點請求,新增或調(diào)整節(jié)點請求包括與用戶或自動機相對應(yīng)的新增或調(diào)整節(jié)點的活動信息和用戶信息,活動信息包括一個或多個事務(wù)信息,并且每個事務(wù)信息與一個用戶信息相對應(yīng)的;每一個節(jié)點即為一個節(jié)點處理器,每個節(jié)點處理器只對應(yīng)一個用戶和一個活動,同一個活動可以對應(yīng)不同的用戶生成不同節(jié)點處理器,但同一個活動對應(yīng)同一個用戶只能生成一個節(jié)點處理器,同一個活動針對同一個用戶重復(fù)生成節(jié)點處理器視同是原節(jié)點處理器的更新版本。
[0135]502提交用戶配置申請,節(jié)點配置器向用戶配置器提交用戶配置請求,提交用戶配置請求包括與用戶或自動機相對應(yīng)的新增或調(diào)整節(jié)點的用戶信息;
[0136]503配置用戶參數(shù),用戶配置器根據(jù)用戶配置請求配置用戶參數(shù),并生成用戶配置結(jié)果,用戶配置結(jié)果是與事務(wù)信息相對應(yīng)的;
[0137]504返回用戶配置結(jié)果,用戶配置器向節(jié)點配置器返回用戶配置結(jié)果;
[0138]505提交活動配置申請,節(jié)點配置器向活動配置器提交活動配置請求,活動配置請求包括用戶或自動機發(fā)出的事務(wù)信息和與事務(wù)信息相對應(yīng)的用戶配置結(jié)果;
[0139]506啟用下一事務(wù)配置,活動配置器根據(jù)接收到的提交活動配置請求,按照預(yù)設(shè)的順序配置活動中的事務(wù),并生成事務(wù)配置結(jié)果請求,事務(wù)配置結(jié)果請求包括已配置事務(wù)和待配置事務(wù);
[0140]507發(fā)出事務(wù)配置消息,活動配置器向事務(wù)定義管理員群發(fā)出事務(wù)配置結(jié)果請求;
[0141]508返回事務(wù)配置申請,事務(wù)定義管理員群向活動配置器返回事務(wù)配置申請,提交事務(wù)配置申請是根據(jù)事務(wù)配置結(jié)果請求生成的,事務(wù)配置申請包括事務(wù)配置參數(shù)和事務(wù)流向參數(shù),事務(wù)配置參數(shù)是與已配置事務(wù)或待配置事務(wù)相對應(yīng)的,事務(wù)流向參數(shù)包括事務(wù)處理的前置條件參數(shù)和后續(xù)節(jié)點流向參數(shù);通過507和508兩個步驟可以使多個用戶參與到對事務(wù)的配置中。
[0142]509配置事務(wù)參數(shù),510配置事務(wù)流向參數(shù),509和510兩步驟具體是,活動配置器根據(jù)事務(wù)配置申請配置已配置事務(wù)的執(zhí)行參數(shù)和事務(wù)流向參數(shù),或根據(jù)提交事務(wù)配置請求配置未配置事務(wù)的執(zhí)行參數(shù)和事務(wù)流向參數(shù),并生成待組裝節(jié)點,待組裝節(jié)點是已配置事務(wù)的參數(shù)再次經(jīng)過配置后得到的,或待組裝節(jié)點是未配置事務(wù)的參數(shù)經(jīng)過配置后得到的;事務(wù)流向參數(shù)包括事務(wù)處理的前置條件參數(shù)和后續(xù)節(jié)點流向參數(shù)。
[0143]511返回活動配置結(jié)果,活動配置器根據(jù)事務(wù)和流向配置的結(jié)果生成活動配置結(jié)果請求,一個配置結(jié)果請求包括一個待組裝的節(jié)點;活動配置器向節(jié)點配置器返回活動配置結(jié)果請求
[0144]512組裝節(jié)點,節(jié)點配置器將配置結(jié)果請求中待組裝的節(jié)點進行組裝,形成可供節(jié)點管理器生成節(jié)點處理器的可加載數(shù)據(jù),并生成更新節(jié)點配置文件和更新版本文件;
[0145]513更新節(jié)點配置文件,并更新版本,節(jié)點配置器根據(jù)生成的更新節(jié)點配置文件、更新版本文件,或預(yù)設(shè)的更新節(jié)點配置文件和更新版本文件對本地的節(jié)點配置文件和版本進行更新;本發(fā)明中是采用版本控制方式對節(jié)點進行,將調(diào)整后的節(jié)點形成新的版本,處理過程同新增一樣。但新增節(jié)點完成后,會在更新請求中增加對舊版節(jié)點的終止請求。
[0146]514提交授權(quán)更新請求和參數(shù),節(jié)點配置器根據(jù)生成的更新節(jié)點配置文件、更新版本文件,或預(yù)設(shè)的更新節(jié)點配置文件和更新版本文件生成新節(jié)點授權(quán)列表及參數(shù),并向節(jié)點授權(quán)管理器發(fā)出新節(jié)點授權(quán)列表及參數(shù)
[0147]515更新節(jié)點授權(quán)表,節(jié)點授權(quán)管理器在接收到新節(jié)點授權(quán)列表及參數(shù)更新預(yù)先存儲在本地的節(jié)點授權(quán)列表;
[0148]516標(biāo)識新節(jié)點為待激活,節(jié)點授權(quán)管理器將更新后的節(jié)點授權(quán)列表標(biāo)記為待激活狀態(tài),并進行存儲,同時生成已更新節(jié)點授權(quán)列表信息;所有調(diào)整完成后,會將更新信息發(fā)送到節(jié)點授權(quán)管理器,變更授權(quán)表。但新增節(jié)點會暫時標(biāo)記為“待激活”,此狀態(tài)表示節(jié)點在授權(quán)表中可見,但不可用。需要通過節(jié)點管理器加載節(jié)點配置文件,運行并創(chuàng)建新的節(jié)點處理器后,狀態(tài)才會變更為“已激活”
[0149]517返回結(jié)果信息,節(jié)點授權(quán)管理器向用戶或自動機發(fā)出已更新節(jié)點授權(quán)列表信肩、O
[0150]同時,如果用戶或自動機想要直接停止節(jié)點的運行,則可以執(zhí)行步驟518提交節(jié)點終止請求,用戶或自動機向節(jié)點配置器發(fā)出提交節(jié)點終止請求,節(jié)點終止請求包括預(yù)設(shè)的更新節(jié)點配置文件和更新版本文件,之后順序執(zhí)行步驟S513至步驟S517,同樣能夠由人工操作的方式直接停止節(jié)點的運行。
[0151]為了能夠?qū)⒋せ畹墓?jié)點授權(quán)列表變?yōu)榧せ顮顟B(tài),還包括如下步驟,節(jié)點管理器動態(tài)監(jiān)控節(jié)點配置器,若節(jié)點配置器生成更新節(jié)點配置文件,則節(jié)點管理器向節(jié)點配置器發(fā)出獲取更新節(jié)點配置文件的信息;
[0152]節(jié)點配置器在接收到獲取更新節(jié)點配置文件的信息后,向節(jié)點管理器發(fā)出更新節(jié)點配置文件;
[0153]節(jié)點管理器在接收到更新節(jié)點配置文件后,根據(jù)更新節(jié)點配置文件創(chuàng)建新的節(jié)點處理器并生成節(jié)點處理器創(chuàng)建結(jié)果,節(jié)點處理器創(chuàng)建結(jié)果包括指定的更新節(jié)點信息;
[0154]節(jié)點管理器向節(jié)點授權(quán)管理器發(fā)出節(jié)點處理器創(chuàng)建結(jié)果;
[0155]節(jié)點授權(quán)管理器根據(jù)節(jié)點處理器創(chuàng)建結(jié)果中包括的指定的更新節(jié)點信息,將存儲在本地的標(biāo)記為“待激活”狀態(tài)的授權(quán)列表更改為“激活”狀態(tài);
[0156]若存在舊版本或需要關(guān)閉的節(jié)點,節(jié)點授權(quán)管理器判斷是否存在舊版本節(jié)點或需要關(guān)閉的節(jié)點中的事務(wù)未處理完成;
[0157]若是,則等待,直到舊版本事務(wù)處理完成;
[0158]若否,則關(guān)閉舊版本事務(wù)處理節(jié)點,并生成關(guān)閉結(jié)果,舊版本節(jié)點用于處理舊版本事務(wù);
[0159]節(jié)點管理器向節(jié)點授權(quán)管理器發(fā)出關(guān)閉結(jié)果;
[0160]節(jié)點授權(quán)管理器在接收到關(guān)閉請求后,將舊版本節(jié)點標(biāo)示為“卸載”狀態(tài)。
[0161]經(jīng)過上述步驟的處理,使節(jié)點授權(quán)管理器中的待激活節(jié)點變?yōu)橐鸭せ畹臓顟B(tài),也就可以在后續(xù)的活動中使用了。
[0162]為了便于說明說明本發(fā)明所描述的方案,使用下實例進行實際說明,如圖6所示的合同審批流程,合同審批流程共有三個活動組成,分別為合同起草、合同審核、合同審批。
[0163]整個業(yè)務(wù)過程描述如下:A用戶起草合同并提交,B用戶對合同進行審核。
[0164]如果該類合同屬于新的類型,B用戶將此合同文檔作為合同模板提交標(biāo)準化人員D進行審批,審批完成后由E發(fā)布。
[0165]同時,由于該類型合同是新的類型,在合同文本中可能存在不確定的風(fēng)險點,B用戶也可以發(fā)起風(fēng)險控制提醒,交由風(fēng)險管理員F進行評估,評估后由用戶G進行確定后,發(fā)回給用戶B。合同審核活動必須等待風(fēng)險控制流程完成后,才流向后續(xù)的合同審批活動。
[0166]C用戶對合同進行審批。
[0167]依據(jù)此活動描述,在活動處理器中的處理過程如下(省略前面的用戶授權(quán)活動):
[0168]A用戶點擊【A用戶的合同起草節(jié)點】授權(quán)功能發(fā)送請求到消息總線;
[0169]【A用戶的合同起草節(jié)點】監(jiān)聽消息總線,獲取該請求;實例化;執(zhí)行合同起草事務(wù);提交【B用戶的合同審核】請求到消息總線。
[0170]【B用戶的合同 審核節(jié)點】監(jiān)聽消息總線,獲取該請求;實例化三個事務(wù);B用戶處理第一事務(wù)合同審核;B用戶處理第二事務(wù)合同模板提交出用戶處理第三事務(wù)風(fēng)險控制點提醒。處理完成,提交后續(xù)節(jié)點請求。
[0171]由于第一事務(wù)要求等待第三事務(wù)處理結(jié)果,因此第一事務(wù)的后續(xù)節(jié)點請求處理于等待狀態(tài);
[0172]第二事務(wù)無需要等待,因此由第二事務(wù)提交【D用戶的合同模板審批節(jié)點】請求到消息總線。
[0173]第三事務(wù)無需要待等,由第三事務(wù)提交【F用戶的風(fēng)險評估節(jié)點】到消息總線。
[0174][D用戶的合同模板審批節(jié)點】監(jiān)聽消息總線,獲取相應(yīng)請求,并執(zhí)行;然后再提交后續(xù)【E用戶的合同審批節(jié)點】。E節(jié)點處理完成,向消息總線提交流程終止請求。
[0175]【F用戶的風(fēng)險評估節(jié)點】監(jiān)聽消息總線,獲取相應(yīng)請求,并執(zhí)行;然后再提交后續(xù)【G用戶的風(fēng)險確認節(jié)點】。G節(jié)點處理完成,向消息總線提交【B用戶的合同審核節(jié)點】。
[0176]【B用戶的合同審核節(jié)點】監(jiān)聽消息總線,獲取該請求。因該活動已經(jīng)實例化,因此不再實例化。第三事務(wù)在風(fēng)險確認結(jié)果后,第一事務(wù)取消等待,完成整個活動,并向消息總線發(fā)送活動完成消息和【C用戶的合同審批節(jié)點】請求。
[0177]【C用戶的合同審批節(jié)點】監(jiān)聽消息總線,獲取該請求;實例化;執(zhí)行完成;提交流程終止消息到消息總線。
[0178]顯然,本領(lǐng)域的技術(shù)人員應(yīng)該明白,上述的本發(fā)明的各步驟可以用通用的計算裝置來實現(xiàn),它們可以集中在單個的計算裝置上,或者分布在多個計算裝置所組成的網(wǎng)絡(luò)上,可選地,它們可以用計算裝置可實例化的程序代碼來實現(xiàn),從而,可以將它們存儲在存儲裝置中由計算裝置來實例 化,或者將它們分別制作成各個集成電路模塊,或者將它們中的多個模塊或步驟制作成單個集成電路模塊來實現(xiàn)。這樣,本發(fā)明不限制于任何特定的硬件和軟件結(jié)合。
[0179]以上所述僅為本發(fā)明的優(yōu)選實施例而已,并不用于限制本發(fā)明,對于本領(lǐng)域的技術(shù)人員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。
【權(quán)利要求】
1.流程引擎處理方法,其特征在于,包括: 用戶或自動機向節(jié)點授權(quán)管理器提交活動請求,所述活動請求包括用戶或自動機所要實例化的待實例化事務(wù)的信息,所述待實例化事務(wù)是屬于用戶或自動機的一個節(jié)點處理器在一個活動中所需要處理的全部事務(wù),節(jié)點處理器是用于實例化和處理屬于所述節(jié)點處理器的事務(wù)的應(yīng)用系統(tǒng); 節(jié)點授權(quán)管理器在接收到所述活動請求后,若所述活動請求通過確認則向節(jié)點消息總線提交確認后的活動請求; 節(jié)點處理器輪詢節(jié)點消息總線; 節(jié)點消息總線在接收到節(jié)點處理器的輪詢后,若節(jié)點消息總線已經(jīng)接收到所述確認后的活動請求,則向節(jié)點處理器發(fā)出節(jié)點處理器獲取活動請求,所述節(jié)點處理器獲取活動請求包括與節(jié)點消息總線相對應(yīng)的待實例化事務(wù); 節(jié)點處理器接收到所述節(jié)點處理器獲取活動請求后,判斷所述待實例化事務(wù)是否已經(jīng)實例化; 若否,則節(jié)點處理器將待實例化事務(wù)進行實例化,并生成實例化結(jié)果; 節(jié)點處理器執(zhí)行所述實例化結(jié)果,并生成執(zhí)行結(jié)果; 節(jié)點處理器向所述節(jié)點消息總線發(fā)出所述執(zhí)行結(jié)果。
2.根據(jù)權(quán)利要求1所述的流程引擎處理方法,其特征在于,在所述向節(jié)點處理器發(fā)出節(jié)點處理器獲取活動請求后還包括, 節(jié)點消息總線儲存所述執(zhí)行結(jié)果,和/或所述確認后的活動請求,和/或所述節(jié)點處理器獲取活動請求; 用戶或自動機向節(jié)點消息總線發(fā)出查詢處理情況請求; 節(jié)點消息總線在接收到所述查詢處理情況請求后,根據(jù)儲存的所述實例化結(jié)果,和/或所述確認后的活動請求,和/或所述節(jié)點處理器獲取活動請求生成業(yè)務(wù)處理過程及狀態(tài)信息,所述業(yè)務(wù)處理過程及狀態(tài)信息包括活動中的事務(wù)處理進程及活動中的事務(wù)處理過程; 節(jié)點消息總線向用戶或自動機發(fā)出所述業(yè)務(wù)處理過程及狀態(tài)信息。
3.根據(jù)權(quán)利要求1所述的流程引擎處理方法,其特征在于,在所述用戶或自動機向節(jié)點授權(quán)管理器提交活動請求前還包括, 用戶或自動機向節(jié)點授權(quán)管理器發(fā)出獲取節(jié)點授權(quán)列表請求,所述獲取節(jié)點授權(quán)列表請求包括用戶或自動機的身份信息; 節(jié)點授權(quán)管理器在接收到所述獲取節(jié)點授權(quán)列表請求后,在本地的數(shù)據(jù)庫中查找預(yù)先儲存的與所述用戶或自動機的身份信息對應(yīng)的節(jié)點授權(quán)列表; 若找到所述節(jié)點授權(quán)列表,則向用戶或自動機返回所述節(jié)點授權(quán)列表; 用戶或自動機根據(jù)所述節(jié)點授權(quán)列表生成所述活動請求。
4.根據(jù)權(quán)利要求3所述的流程引擎處理方法,其特征在于, 所述活動請求中包括用戶或自動機的身份信息; 所述若所述活動請求通過確認則向節(jié)點消息總線提交確認后的活動請求包括, 若與所述身份信息相對應(yīng)的操作權(quán)限出現(xiàn)在預(yù)存在本地的授權(quán)列表中,則標(biāo)記接收到的所述活動請求為確認后的活動請求;節(jié)點授權(quán)管理器向節(jié)點消息總線提交確認后的活動請求。
5.根據(jù)權(quán)利要求1所述的流程引擎處理方法,其特征在于,節(jié)點處理器接收到所述節(jié)點處理器獲取活動請求后,判斷所述待實例化事務(wù)是否已經(jīng)實例化還包括: 若否,則向節(jié)點消息總線發(fā)出表示待實例化事務(wù)已經(jīng)實例化的消息。
6.根據(jù)權(quán)利要求1所述的流程引擎處理方法,其特征在于, 在節(jié)點消息總線在接收到節(jié)點處理器的輪詢后,若節(jié)點消息總線已經(jīng)接收到所述確認后的活動請求,則向節(jié)點處理器發(fā)出節(jié)點處理器獲取活動請求后包括: 節(jié)點消息總線在本地數(shù)據(jù)庫中記錄表示節(jié)點處理器的輪詢已經(jīng)被接收的信息,并且不再提供所述節(jié)點處理器的后續(xù)輪詢。
7.根據(jù)權(quán)利要求6所述的流程引擎處理方法,其特征在于,所述節(jié)點處理器執(zhí)行所述實例化結(jié)果,并生成執(zhí)行結(jié)果包括: 按照預(yù)設(shè)的順序逐一獲取未處理事務(wù),所述未處理事務(wù)是待處理事務(wù)實例化后生成的; 節(jié)點處理器判斷當(dāng)前獲取的未處理事務(wù)的前置條件是否滿足, 若是,則執(zhí)行當(dāng)前獲取的未處理事務(wù),并生成執(zhí)行結(jié)果; 若否,則等待,直到所述執(zhí)行的前置條件滿足。
8.根據(jù)權(quán)利要求1所述的流程引擎處理方法,其特征在于, 所述執(zhí)行結(jié)果包括提交后續(xù)節(jié)點請求或后續(xù)節(jié)點為終止信息; 在所述節(jié)點處理器發(fā)送所述執(zhí)行結(jié)果后還包括: 節(jié)點消息總線接收所述執(zhí)行結(jié)果; 若所述執(zhí)行結(jié)果包括所述提交后續(xù)節(jié)點請求,則在相應(yīng)的節(jié)點處理器輪詢時,根據(jù)所述提交后續(xù)節(jié)點請求向指定的節(jié)點處理器發(fā)出指定節(jié)點處理器獲取活動請求的信息,所述指定節(jié)點處理器獲取活動請求是與所述指定的節(jié)點處理器相對應(yīng)的; 若所述執(zhí)行結(jié)果包括后續(xù)節(jié)點為終止信息,則活動完成。
9.根據(jù)權(quán)利要求3所述的流程引擎處理方法,其特征在于,還包括: 用戶或自動機向節(jié)點配置器提交新增或調(diào)整節(jié)點請求,所述新增或調(diào)整節(jié)點請求包括與所述用戶或自動機相對應(yīng)的新增或調(diào)整節(jié)點的活動信息和用戶信息,所述活動信息包括一個或多個事務(wù)信息,并且每個事務(wù)信息與一個用戶信息相對應(yīng)的;每一個節(jié)點即為一個節(jié)點處理器,每個節(jié)點處理器只對應(yīng)一個用戶和一個活動,同一個活動可以對應(yīng)不同的用戶生成不同節(jié)點處理器,但同一個活動對應(yīng)同一個用戶只能生成一個節(jié)點處理器,同一個活動針對同一個用戶重復(fù)生成節(jié)點處理器視同是原節(jié)點處理器的更新版本; 節(jié)點配置器向用戶配置器提交用戶配置請求,所述提交用戶配置請求包括與所述用戶或自動機相對應(yīng)的新增或調(diào)整節(jié)點的用戶信息; 用戶配置器根據(jù)所述用戶配置請求配置用戶參數(shù),并生成用戶配置結(jié)果,所述用戶配置結(jié)果是與所述事務(wù)信息相對應(yīng)的; 用戶配置器向所述節(jié)點配置器返回所述用戶配置結(jié)果; 節(jié)點配置器向活動配置器提交活動配置請求,所述活動配置請求包括所述用戶或自動機發(fā)出的所述事務(wù)信息和與所述事務(wù)信息相對應(yīng)的用戶配置結(jié)果; 活動配置器根據(jù)接收到的提交活動配置請求,按照預(yù)設(shè)的順序配置活動中的事務(wù),并生成事務(wù)配置結(jié)果請求,所述事務(wù)配置結(jié)果請求包括已配置事務(wù)和待配置事務(wù); 活動配置器向事務(wù)定義管理員群發(fā)出所述事務(wù)配置結(jié)果請求; 事務(wù)定義管理員群向活動配置器返回事務(wù)配置申請,所述事務(wù)配置申請是根據(jù)所述事務(wù)配置結(jié)果請求生成的,所述事務(wù)配置申請包括事務(wù)配置參數(shù)和事務(wù)流向參數(shù),所述事務(wù)配置參數(shù)是與所述已配置事務(wù)或所述待配置事務(wù)相對應(yīng)的; 活動配置器根據(jù)所述事務(wù)配置申請配置已配置事務(wù)的參數(shù)和事務(wù)流向,或根據(jù)所述事務(wù)配置申請配置未配置事務(wù)的參數(shù)和事務(wù)流向,并生成待組裝節(jié)點,所述待組裝節(jié)點是已配置事務(wù)的參數(shù)再次經(jīng)過配置后得到的,或所述待組裝節(jié)點是未配置事務(wù)的參數(shù)經(jīng)過配置后得到的; 活動配置器根據(jù)事務(wù)和流向配置的結(jié)果生成活動配置結(jié)果請求,所述配置結(jié)果請求包括一個待組裝的節(jié)點; 活動配置器向節(jié)點配置器返回所述活動配置結(jié)果請求; 節(jié)點配置器將所述配置結(jié)果請求中包括的一個待組裝的節(jié)點進行組裝,并生成更新節(jié)點配置文件和更新版本文件; 用戶或自動機向節(jié)點配置器發(fā)出提交節(jié)點終止請求,所述節(jié)點終止終止請求包括預(yù)設(shè)的更新節(jié)點配置文件和更新版本文件; 節(jié)點配置器根據(jù)生成的所述更新節(jié)點配置文件、更新版本文件,或預(yù)設(shè)的更新節(jié)點配置文件和更新版本文件對本地的節(jié)點配置文件和版本進行更新; 節(jié)點配置器根據(jù)生成的所述更新節(jié)點配置文件、更新版本文件,或預(yù)設(shè)的更新節(jié)點配置文件和更新版本文件生成新`節(jié)點授權(quán)列表及參數(shù),并向節(jié)點授權(quán)管理器發(fā)出新節(jié)點授權(quán)列表及參數(shù); 節(jié)點授權(quán)管理器在接收到所述新節(jié)點授權(quán)列表及參數(shù)更新預(yù)先存儲在本地的節(jié)點授權(quán)列表; 節(jié)點授權(quán)管理器將更新后的節(jié)點授權(quán)列表標(biāo)記為待激活狀態(tài),并進行存儲,同時生成已更新節(jié)點授權(quán)列表信息; 節(jié)點授權(quán)管理器向用戶或自動機發(fā)出所述已更新節(jié)點授權(quán)列表信息。
10.根據(jù)權(quán)利要求9所述的流程引擎處理方法,其特征在于,在所述節(jié)點授權(quán)管理器將更新后的節(jié)點授權(quán)列表標(biāo)記為待激活狀態(tài),并生成已更新節(jié)點授權(quán)列表信息后還包括:節(jié)點管理器動態(tài)監(jiān)控節(jié)點配置器,若節(jié)點配置器生成更新節(jié)點配置文件,則節(jié)點管理器向節(jié)點配置器發(fā)出獲取所述更新節(jié)點配置文件的信息; 節(jié)點配置器在接收到所述獲取所述更新節(jié)點配置文件的信息后,向節(jié)點管理器發(fā)出更新節(jié)點配置文件; 節(jié)點管理器在接收到所述更新節(jié)點配置文件后,根據(jù)所述更新節(jié)點配置文件創(chuàng)建新的節(jié)點處理器并生成節(jié)點處理器創(chuàng)建結(jié)果,所述節(jié)點處理器創(chuàng)建結(jié)果包括指定的更新節(jié)點信息; 節(jié)點管理器向節(jié)點授權(quán)管理器發(fā)出所述節(jié)點處理器創(chuàng)建結(jié)果; 節(jié)點授權(quán)管理器根據(jù)所述節(jié)點處理器創(chuàng)建結(jié)果中包括的指定的更新節(jié)點信息,將存儲在本地的所述標(biāo)記為待激活狀態(tài)的授權(quán)列表更改為激活狀態(tài); 若存在舊版本或需要關(guān)閉的節(jié)點處理器,節(jié)點授權(quán)管理器判斷是否存在舊版本節(jié)點或需要關(guān)閉的節(jié)點中的事務(wù)未處理完成; 若是,則等待,直到舊版本事務(wù)處理完成; 若否,則關(guān)閉舊版本的節(jié)點處理器,并生成關(guān)閉結(jié)果,所述舊版本節(jié)點用于處理舊版本事務(wù); 節(jié)點管理器向節(jié)點授權(quán)管理器發(fā)出關(guān)閉結(jié)果; 節(jié)點授權(quán)管理 器在接收到所述關(guān)閉結(jié)果后,將舊版本節(jié)點處理器標(biāo)示為卸載狀態(tài)。
【文檔編號】G06F9/46GK103870325SQ201410142807
【公開日】2014年6月18日 申請日期:2014年4月10日 優(yōu)先權(quán)日:2014年4月10日
【發(fā)明者】張戰(zhàn) 申請人:張戰(zhàn)
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1