欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

基于bpmn的頁面生成方法和裝置的制作方法

文檔序號:6441408閱讀:624來源:國知局
專利名稱:基于bpmn的頁面生成方法和裝置的制作方法
技術(shù)領(lǐng)域
本發(fā)明實施例涉及計算機(jī)技術(shù),尤其涉及一種基于BPMN的頁面生成方法和裝置。
背景技術(shù)
業(yè)務(wù)流程建模標(biāo)注(Business Process Modeling Notation ;簡稱BPMN)是業(yè)務(wù)流程管理聯(lián)盟(Business Process Management Initiative ;簡稱BPMI)提出的抽象流程描述語言。它設(shè)計的目的便是提供業(yè)務(wù)分析員和設(shè)計員這一抽象層次的應(yīng)用。BPMN最初的目標(biāo)是為組合服務(wù)建模提供統(tǒng)一的建模符號,使建模人員無需關(guān)心底層的實現(xiàn)細(xì)節(jié)。它可以用于業(yè)務(wù)分析員之間的交流和決策的制定,幫助業(yè)務(wù)分析員在分析、設(shè)計的抽象層次上對流程進(jìn)行描述。針對業(yè)務(wù)用戶(非計算機(jī)專業(yè)人士),BPMN通過提供一系列容易理解的抽象流程描述符號在流程的設(shè)計和分析方面提供一個標(biāo)準(zhǔn)化了的手段。目前,業(yè)務(wù)人員使用BPMN建模,開發(fā)出來的是抽象的業(yè)務(wù)模型,不能直接執(zhí)行。 因此,現(xiàn)有技術(shù)對于BPMN模型的執(zhí)行,一般采用的方式是由技術(shù)人員根據(jù)業(yè)務(wù)模型編排出執(zhí)行模型,例如自動生成具體的業(yè)務(wù)流程執(zhí)行語言(Business Process Execution Language ;簡稱BPEL)流程,然后利用已有的BPEL引擎執(zhí)行。但是,業(yè)務(wù)模型與執(zhí)行模型之間會存在不一致,即面向圖形的BPMN模型與面向塊的BPEL之間的不兼容導(dǎo)致這樣的轉(zhuǎn)換會帶來BPMN模型功能缺失、循環(huán)結(jié)構(gòu)和并行語音處理困難等問題。

發(fā)明內(nèi)容
本發(fā)明實施例提供一種基于BPMN的頁面生成方法和裝置,用以解決現(xiàn)有技術(shù)中面向圖形的BPMN模型與面向塊的BPEL之間的不兼容導(dǎo)致這樣的轉(zhuǎn)換會帶來BPMN模型功能缺失、循環(huán)結(jié)構(gòu)和并行語音處理困難等問題。本發(fā)明實施例提供一種基于BPMN的頁面生成方法,包括獲取輸入的可擴(kuò)展標(biāo)記語言(Extensible Markup Language ;簡稱XML)格式的 BPMN流程中每個圖元對應(yīng)的插入控制信息;根據(jù)所述插入控制信息,生成XML格式的頁面,并根據(jù)預(yù)先設(shè)置的映射規(guī)則,對所述XML格式的頁面進(jìn)行轉(zhuǎn)換處理,獲取被引擎識別的頁面,再將所述被引擎識別的頁面存儲到服務(wù)器中;對所述輸入的XML格式的BPMN流程進(jìn)行解析處理,獲取所述輸入的XML格式的 BPMN流程中每個圖元對應(yīng)的圖元屬性信息;根據(jù)所述圖元屬性信息和所述插入控制信息,對所述XML格式的BPMN流程中每個圖元進(jìn)行處理,獲取所述頁面在流程執(zhí)行中被執(zhí)行的位置;根據(jù)預(yù)先設(shè)置的頁面間跳轉(zhuǎn)規(guī)則,將所述XML格式的BPMN流程中每個圖元進(jìn)行分析處理,獲取所述頁面在流程執(zhí)行中被執(zhí)行的順序;根據(jù)所述映射規(guī)則,分別將所述頁面在流程執(zhí)行中被執(zhí)行的位置和所述頁面在流程執(zhí)行中被執(zhí)行的順序轉(zhuǎn)換為被引擎識別的文件并保存在數(shù)據(jù)庫中。
本發(fā)明實施例提供一種基于BPMN的頁面生成裝置,包括插入控制信息獲取模塊,用于獲取輸入的XML格式的BPMN流程中每個圖元對應(yīng)的插入控制信息;頁面生成模塊,用于根據(jù)所述插入控制信息,生成XML格式的頁面,并根據(jù)預(yù)先設(shè)置的映射規(guī)則,對所述XML格式的頁面進(jìn)行轉(zhuǎn)換處理,獲取被引擎識別的頁面,再將所述被引擎識別的頁面存儲到服務(wù)器中;解析模塊,用于對所述輸入的XML格式的BPMN流程進(jìn)行解析處理,獲取所述輸入的XML格式的BPMN流程中每個圖元對應(yīng)的圖元屬性信息;頁面位置獲取模塊,用于根據(jù)所述圖元屬性信息和所述插入控制信息,對所述XML 格式的BPMN流程中每個圖元進(jìn)行處理,獲取所述頁面在流程執(zhí)行中被執(zhí)行的位置;頁面順序獲取模塊,用于根據(jù)預(yù)先設(shè)置的頁面間跳轉(zhuǎn)規(guī)則,將所述XML格式的 BPMN流程中每個圖元進(jìn)行分析處理,獲取所述頁面在流程執(zhí)行中被執(zhí)行的順序;轉(zhuǎn)換模塊,用于根據(jù)所述映射規(guī)則,分別將所述頁面在流程執(zhí)行中被執(zhí)行的位置和所述頁面在流程執(zhí)行中被執(zhí)行的順序轉(zhuǎn)換為被引擎識別的文件并保存在數(shù)據(jù)庫中。本發(fā)明實施例的基于BPMN的頁面生成方法和裝置,通過根據(jù)獲取的輸入的XML 格式的BPMN流程中每個圖元對應(yīng)的插入控制信息,生成頁面,再根據(jù)對輸入的XML格式的 BPMN流程進(jìn)行分析處理獲取的每個圖元對應(yīng)的圖元屬性信息和該插入控制信息,對XML格式的BPMN流程中每個圖元進(jìn)行處理,獲取該頁面在流程執(zhí)行中被執(zhí)行的位置,再根據(jù)預(yù)先設(shè)置的頁面跳轉(zhuǎn)規(guī)則,對該XML格式的BPMN流程進(jìn)行分析處理,獲取該頁面在流程執(zhí)行中被執(zhí)行的順序;最后根據(jù)映射規(guī)則,將頁面轉(zhuǎn)換為被引擎識別的頁面存儲在服務(wù)器中,以及將頁面在流程執(zhí)行中被執(zhí)行的位置和頁面在流程執(zhí)行中被執(zhí)行的順序轉(zhuǎn)換為被引擎識別的文件并保存在數(shù)據(jù)庫中,從而能夠直接執(zhí)行該BPMN流程,進(jìn)而解決了現(xiàn)有技術(shù)中面向圖形的BPMN模型與面向塊的BPEL之間的不兼容導(dǎo)致這樣的轉(zhuǎn)換會帶來BPMN模型功能缺失、 循環(huán)結(jié)構(gòu)和并行語音處理困難等問題。


圖1為本發(fā)明基于BPMN的頁面生成方法的一個實施例的流程圖;圖2為本實施例中BPMN流程對應(yīng)的典型結(jié)構(gòu)為順序結(jié)構(gòu)的結(jié)構(gòu)示意圖;圖3為分析后獲取的BPMN流程對應(yīng)的典型結(jié)構(gòu)為順序結(jié)構(gòu)的結(jié)構(gòu)示意圖;圖4為本實施例中BPMN流程對應(yīng)的典型結(jié)構(gòu)為XOR分支聚合結(jié)構(gòu)的結(jié)構(gòu)示意圖;圖5為分析后獲取的BPMN流程對應(yīng)的典型結(jié)構(gòu)為XOR分支聚合結(jié)構(gòu)的結(jié)構(gòu)示意圖;圖6為本實施例中BPMN流程對應(yīng)的典型結(jié)構(gòu)為AND分支聚合結(jié)構(gòu)的結(jié)構(gòu)示意圖;圖7為分析后獲取的BPMN流程對應(yīng)的典型結(jié)構(gòu)為AND分支聚合結(jié)構(gòu)的結(jié)構(gòu)示意圖;圖8本實施例中BPMN流程對應(yīng)的典型結(jié)構(gòu)為OR分支聚合結(jié)構(gòu)的結(jié)構(gòu)示意圖;圖9為分析后獲取的BPMN流程對應(yīng)的典型結(jié)構(gòu)為OR分支聚合結(jié)構(gòu)的結(jié)構(gòu)示意圖;圖10本實施例中BPMN流程對應(yīng)的典型結(jié)構(gòu)為ReceiveTask結(jié)構(gòu)的結(jié)構(gòu)示意圖;圖11為分析后獲取的BPMN流程對應(yīng)的典型結(jié)構(gòu)為ReceiveTask結(jié)構(gòu)的結(jié)構(gòu)示意圖12為本發(fā)明基于BPMN的頁面生成裝置的一個實施例的結(jié)構(gòu)示意圖。
具體實施例方式圖1為本發(fā)明基于BPMN的頁面生成方法的一個實施例的流程圖,如圖1所示,本實施例的執(zhí)行主體為基于BPMN的頁面生成裝置,則該方法包括步驟101、獲取輸入的XML格式的BPMN流程中每個圖元對應(yīng)的插入控制信息。舉例來說,在本實施例中,插入控制信息包括用戶輸入的參數(shù),其中,該參數(shù)包括需要展現(xiàn)的參數(shù)。還需要說明的是,XML格式的BPMN流程由圖元構(gòu)成,該XML格式的BPMN流程的連接關(guān)系也是由圖元構(gòu)成。XML格式的BPMN流程為可視化描述,XML格式的BPMN流程中的每個圖元也為可視化展現(xiàn)的描述。另外,在內(nèi)存中,該XML格式的BPMN流程可以稱之為樹形結(jié)構(gòu),該圖元可以稱之為對象。步驟102、根據(jù)全部插入控制信息,生成XML格式的頁面,并根據(jù)預(yù)先設(shè)置的映射規(guī)則,對該XML格式的頁面進(jìn)行轉(zhuǎn)換處理,獲取被引擎識別的頁面,再將該被引擎識別的頁面存儲到服務(wù)器中。步驟103、對該輸入的XML格式的BPMN流程進(jìn)行解析處理,獲取該輸入的XML格式的BPMN流程中每個圖元對應(yīng)的圖元屬性信息。舉例來說,在本實施例中,該圖元屬性信息包括圖元的類型和該圖元的類型對應(yīng)的入度等。其中,該圖元的類型包括該圖元的網(wǎng)關(guān)類型,網(wǎng)關(guān)類型對應(yīng)的入度為指向該圖元的控制流個數(shù)。步驟104、根據(jù)該圖元屬性信息和該插入控制信息,對該XML格式的BPMN流程中每個圖元進(jìn)行處理,獲取該頁面在流程執(zhí)行中被執(zhí)行的位置。需要說明的是,在本實施例中,該XML格式的BPMN流程為可視化描述,在內(nèi)存中, 該XML格式的BPMN流程可以稱之為樹形結(jié)構(gòu),另外,XML格式的BPMN流程中的每個圖元也為可視化展現(xiàn)的描述,在內(nèi)存中,該圖元可以稱之為對象。 舉例來說,在本實施例中,根據(jù)圖元屬性信息和插入控制信息,對該XML格式的 BPMN流程中每個圖元進(jìn)行處理的一種具體實現(xiàn)方式如下值得注意的是,由于該XML格式的BPMN流程是在內(nèi)存中進(jìn)行處理,因此下述描述中用樹形結(jié)構(gòu)表示XML格式的BPMN流程,用對象表示該圖元。另外,XML格式的BPMN中的圖元可以包括<MessageFlows>標(biāo)簽、<pool/>、 <lane/> 標(biāo)簽禾口 <graphicalElements/> 標(biāo)簽等。其中,<graphcalElements/> 標(biāo)簽中 xsi: type屬性指定具體的圖元類型。具體的,該圖元類型包括JtartEvent、EndEvent, Gateway、SendTask、ReceiveTask禾口 ServiceTask0舉例來說,<graphcalElements xsi type = "bpmn:StartEvent"> 標(biāo)簽指定的圖元類型為 MartEvent 圖元類型、〈graphcalElements xsi:type =”bpmn:EndEvent” >標(biāo)簽指定的圖元類型為EndEvent圖元類型。首先處理樹形結(jié)構(gòu)中的<MessageFlows>標(biāo)簽,其中,<MessageFlows>標(biāo)簽還包括多個<MessageFlow>元素。如果當(dāng)前對象是<MessageFlows>標(biāo)簽中某一元素的終點(diǎn),則可
CN 102520953 A
說明書3/10頁

00
5以根據(jù)該插入控制信息,在其前面插入一個返回消息查詢對象。然后處理〈pool/〉和〈lane/〉標(biāo)簽,該標(biāo)簽表示流程中的不同角色。有多少個這樣的標(biāo)簽,就應(yīng)生成相應(yīng)的相對獨(dú)立的Figure Tree數(shù)據(jù)結(jié)構(gòu),其中,該Figure Tree數(shù)據(jù)結(jié)構(gòu)為樹形結(jié)構(gòu)中的一種具體表現(xiàn)形式。最后處理每一個對象如果當(dāng)前處理對象是MartEvent,根據(jù)獲取的該MartEvent對應(yīng)的入度為0或 1,計算得出該MartEvent對應(yīng)的出度為1,并根據(jù)該出度為1,判斷出只有一個子節(jié)點(diǎn),再根據(jù)入度為0或1,且出度為1,設(shè)置該MartEvent的屬性為children屬性。其中該子節(jié)點(diǎn)用于表示輸出控制流指向的下一個對象。如果當(dāng)前處理對象是EndEvent,根據(jù)獲取的該EndEvent對應(yīng)的入度為1,計算得出該EndEvent對應(yīng)的出度為0,并根據(jù)入度為1,和出度為0,設(shè)置該EndEvent屬性為 children屬性,且該children屬性為空。如果當(dāng)前處理對象是(Gateway,根據(jù)獲取的該Gateway對應(yīng)的入度大于等于1,計算得出該(Gateway對應(yīng)的出度大于等于1,并按照不同的(Gateway,設(shè)置其children屬性。如果當(dāng)前處理對象是SendTask,根據(jù)獲取的該kndTask對應(yīng)的入度為1,計算得出該%11(11^吐對應(yīng)的出度為1,并根據(jù)該出度為1,判斷出只有一個子節(jié)點(diǎn),再根據(jù)入度為1和出度為1,設(shè)置該kndTask的屬性為children屬性。同時,需將以其作為起點(diǎn)的 MessageFlow的Message信息作為其OutputSet屬性寫入,該信息表示其將要發(fā)出的信息。如果當(dāng)前處理對象是ReceiveTask,根據(jù)獲取的該ReceiveTask對應(yīng)的入度為1, 計算得出該ReceiveTask對應(yīng)的出度為1,并根據(jù)該出度為1,判斷出只有一個子節(jié)點(diǎn),再根據(jù)入度為1和出度為1,設(shè)置該ReceiveTask的屬性為children屬性。同時,需將以其作為終點(diǎn)起點(diǎn)的MessageFlow的Mesaage信息作為其MputSet屬性寫入,該信息表示其將要收到的信息。如果當(dāng)前處理對象是krviceTask,根據(jù)獲取的該ServiceTask對應(yīng)的入度為 1,計算得對應(yīng)的出度為1,并根據(jù)該出度為1,判斷出只有一個子節(jié)點(diǎn), 再根據(jù)入度為1和出度為1,設(shè)置該krviceTask的屬性為children屬性。同時查詢 <supportingElements/> 中與 ServiceTask ^ inMessage 中才目應(yīng)白勺 inMessage f言;窗、,再查i旬 <supportingElements/> 中與 inMessage 白勺 messageRef 關(guān)聯(lián)的 Property /[言;^,i亥/[言息標(biāo)識此ServiceTask執(zhí)行所需要輸入的參數(shù)。步驟105、根據(jù)預(yù)先設(shè)置的頁面間跳轉(zhuǎn)規(guī)則,將該XML格式的BPMN流程中每個圖元進(jìn)行分析處理,獲取該頁面在流程執(zhí)行中被執(zhí)行的順序。步驟106、根據(jù)該映射規(guī)則,分別將頁面在流程執(zhí)行中被執(zhí)行的位置和頁面在流程執(zhí)行中被執(zhí)行的順序轉(zhuǎn)換為被引擎識別的文件并保存在數(shù)據(jù)庫中。在本實施例中,通過根據(jù)獲取的輸入的XML格式的BPMN流程中每個圖元對應(yīng)的插入控制信息,生成頁面,再根據(jù)對輸入的XML格式的BPMN流程進(jìn)行分析處理獲取的每個圖元對應(yīng)的圖元屬性信息和該插入控制信息,對XML格式的BPMN流程中每個圖元進(jìn)行處理, 獲取該頁面在流程執(zhí)行中被執(zhí)行的位置,再根據(jù)預(yù)先設(shè)置的頁面跳轉(zhuǎn)規(guī)則,對該XML格式的BPMN流程進(jìn)行分析處理,獲取該頁面在流程執(zhí)行中被執(zhí)行的順序;最后根據(jù)映射規(guī)則, 將頁面轉(zhuǎn)換為被引擎識別的頁面存儲在服務(wù)器中,以及將頁面在流程執(zhí)行中被執(zhí)行的位置和頁面在流程執(zhí)行中被執(zhí)行的順序轉(zhuǎn)換為被引擎識別的文件并保存在數(shù)據(jù)庫中,從而能夠直接執(zhí)行該BPMN流程,進(jìn)而解決了現(xiàn)有技術(shù)中面向圖形的BPMN模型與面向塊的BPEL之間的不兼容導(dǎo)致這樣的轉(zhuǎn)換會帶來BPMN模型功能缺失、循環(huán)結(jié)構(gòu)和并行語音處理困難等問題。進(jìn)一步的,在本發(fā)明的另一個實施例中,在上述實施例的基礎(chǔ)上,步驟105中頁面間跳轉(zhuǎn)規(guī)則的獲取過程具體為對BPMN流程對應(yīng)的至少一種典型結(jié)構(gòu)進(jìn)行分析,獲取該頁面間跳轉(zhuǎn)規(guī)則。在本實施例中,BPMN流程用連接對象(Connecting Objects)和網(wǎng)關(guān)(Gateway)相配合表示流程執(zhí)行順序。另外,該連接對象的sourceRef和targetRef屬性,把各個BPMN流對象(Flow Object)連接起來構(gòu)成一個有向圖;網(wǎng)關(guān)控制執(zhí)行過程中的分支和聚合,因此, 獲取頁面間的跳轉(zhuǎn)規(guī)則,需要對BPMN流程對應(yīng)的至少一種典型結(jié)構(gòu)進(jìn)行分析。在本實施例中,對BPMN流程對應(yīng)典型結(jié)構(gòu)的分析具體有如下幾種第一種對BPMN流程對應(yīng)的典型結(jié)構(gòu)為順序結(jié)構(gòu)的分析,獲取該頁面間跳轉(zhuǎn)規(guī)則在本實施例中,圖2為本實施例中BPMN流程對應(yīng)的典型結(jié)構(gòu)為順序結(jié)構(gòu)的結(jié)構(gòu)示意圖,如圖2所示,對該BPMN流程對應(yīng)的典型結(jié)構(gòu)為順序結(jié)構(gòu)的分析的一種具體實現(xiàn)方式為在A所對應(yīng)的figure中添加如下XML片段(該A為一個圖元的ID,用于指示該圖元)
“〈figure id="A"…〉 〈children〉
〈child index= 1 id="B" condition=" "/> 〈/children >
〈/figure〉’,在B和C (該B和C為另外兩個圖元的ID,用于分別指示另外兩個圖元)所對應(yīng)的 figure中添加類似代碼。則分析后獲取的BPMN流程對應(yīng)的典型結(jié)構(gòu)為順序結(jié)構(gòu)的結(jié)構(gòu)示意圖如圖3所示,該分析后的典型結(jié)構(gòu)為順序結(jié)構(gòu)的BPMN流程能夠提供該流程的執(zhí)行邏輯信息,頁面跳轉(zhuǎn)信息等。第二種對BPMN流程對應(yīng)的典型結(jié)構(gòu)為異或O(OR)分支聚合結(jié)構(gòu)的分析在本實施例中,圖4為本實施例中BPMN流程對應(yīng)的典型結(jié)構(gòu)為XOR分支聚合結(jié)構(gòu)的結(jié)構(gòu)示意圖,如圖4所示,對該BPMN流程對應(yīng)的典型結(jié)構(gòu)為XOR分支聚合結(jié)構(gòu)的分析的一種具體實現(xiàn)方式為對于分支結(jié)構(gòu)的exclusive gateway,根據(jù)語義,只會有一個分支為真,因此,應(yīng)當(dāng)首先判斷各個分支邊上的條件。如果判斷條件為真,那么下一跳指向該分支上的第一個節(jié)點(diǎn)。在Cl所對應(yīng)的figure中添加如下XML片段
7“〈figure id="Cl"...> 〈children〉
〈child index= 1 id="Al"condition="conditionA'7>
〈child index=2 id="Bl"condition="conditionB"/> 〈/children >
〈/figure〉”則分析后獲取的BPMN流程對應(yīng)的典型結(jié)構(gòu)為XOR分支聚合結(jié)構(gòu)的結(jié)構(gòu)示意圖如圖5所示,該分析后的典型結(jié)構(gòu)為XOR分支聚合結(jié)構(gòu)的BPMN流程能夠提供該流程的執(zhí)行邏輯信息,頁面跳轉(zhuǎn)信息等。第三種對BPMN流程對應(yīng)的典型結(jié)構(gòu)為AND分支聚合結(jié)構(gòu)的分析在本實施例中,圖6為本實施例中BP麗流程對應(yīng)的典型結(jié)構(gòu)為AND分支聚合結(jié)構(gòu)的結(jié)構(gòu)示意圖,如圖6所示,對該BPMN流程對應(yīng)的典型結(jié)構(gòu)為AND分支聚合結(jié)構(gòu)的分析的一種具體實現(xiàn)方式為對于分支結(jié)構(gòu)的parallel gateway,根據(jù)語義,分支上沒有條件判斷,因此節(jié)點(diǎn)Dl執(zhí)行之后,其所有分支都將繼續(xù)并行執(zhí)行。對于聚合結(jié)構(gòu)的parallel gateway,根據(jù)語意,必須等到所有分支都執(zhí)行完后才可以執(zhí)行此節(jié)點(diǎn)。需要說明的是, Parallel gateway是一個圖元,可以被用來當(dāng)做分支結(jié)構(gòu)的控制,也可以被用來當(dāng)做聚合結(jié)構(gòu)的控制。在做分支結(jié)構(gòu)的控制時,通常是有一個輸入,多個輸出,每個輸出沒有條件判斷,執(zhí)行到該節(jié)點(diǎn)時,所有分支全部執(zhí)行;在做聚合結(jié)構(gòu)的控制時,通常是有多個輸入,一個輸出,需要每個輸入都得到數(shù)據(jù)后,才執(zhí)行輸出操作。在上述情況中,在Dl所對應(yīng)的figure中添加如下XML片段
"<figure id="Dl"...> 〈children〉
〈child index=l id=" Al" condition=""/〉 〈child index=2 id="Bl" condition=" "/> 〈child index=3 id="Cl" condition="'’/> 〈/children >
〈/figure〉”由于web頁面的跳轉(zhuǎn)是一個串行過程,于是考慮做如下處理1.去除D2節(jié)點(diǎn);去除以D2為終點(diǎn)的邊2.對以Dl為根節(jié)點(diǎn)的樹進(jìn)行中序遍歷,按遍歷順序確定串行順序
3.在上述串行序列末尾加入D2節(jié)點(diǎn)具體算法如下所示
"function getNext(figure XML, allFigure XML, index int) String {
//若有孩子結(jié)點(diǎn)則返回 if (figure.property.children.child[index] !=null)
return figure .property. children. child[index] .id.toString();
else {
for (i = 0; i<parentFigure.property.children.child.length(); i++) {
if
(parentFigure.property.children.child[i] .id.toStringQ == figure.taskid.toString())
tmp=
parseInt(parentFigure .property. children, child [i]. index) + 1;
}
//遞歸遍歷父結(jié)點(diǎn) return getNext(parentFigure,allFigure,tmp);則分析后獲取的BPMN流程對應(yīng)的典型結(jié)構(gòu)為AND分支聚合結(jié)構(gòu)的結(jié)構(gòu)示意圖如圖7所示,該分析后的典型結(jié)構(gòu)為AND分支聚合結(jié)構(gòu)的BPMN流程能夠提供該流程的執(zhí)行邏輯信息,頁面跳轉(zhuǎn)信息等。第四種對BPMN流程對應(yīng)的典型結(jié)構(gòu)為OR分支聚合結(jié)構(gòu)的分析在本實施例中,圖8為本實施例中BPMN流程對應(yīng)的典型結(jié)構(gòu)為OR分支聚合結(jié)構(gòu)的結(jié)構(gòu)示意圖,如圖8所示,對該BPMN流程對應(yīng)的典型結(jié)構(gòu)為OR分支聚合結(jié)構(gòu)的分析的一種具體實現(xiàn)方式為對于分支結(jié)構(gòu)的inclusive gateway,根據(jù)語義,對于所有的分支,條件判斷為真的分支就可繼續(xù)執(zhí)行。聚合結(jié)構(gòu)的inclusive gateway語義表示在此gateway上所有可執(zhí)行分支執(zhí)行后繼續(xù)執(zhí)行。在上述情況中,在Dl所對應(yīng)的figure中添加如下XML片段"<figure id="Dl"...> 〈children〉 <child index=l id="Al" 〈child index=2 id="Bl" 〈child index=3 id="Cl" 〈/children >
condition="conditionA'7> condition=" conditionB "/> condition="conditionC"/>
〈/figure〉”由于web頁面的跳轉(zhuǎn)是一個串行過程,于是考慮做如下處理1.去除D2節(jié)點(diǎn);去除以D2為終點(diǎn)的邊2.去除Dl判斷條件為假的支路child3.對以Dl為根節(jié)點(diǎn)的樹進(jìn)行中序遍歷,按遍歷順序確定串行順序4.在上述串行序列末尾加入D2節(jié)點(diǎn)具體算法如下所示"function getNext(figure XML, allFigure XML, index int) String {
//若有孩子結(jié)點(diǎn)則返回 if (figure.property.children.child[index] !=null)
return figure .property. children. child[index] .id.toStringQ;
else {
for (i = 0; i<parentFigure.property.children.child.length(); i++) {
if
(parentFigure.property.children.child[i] .id.toString() == figure, taskid. to String() && CONDITION(i))
tmp=
parseInt(parentFigure .property. children, child [i]. index) + 1;
}
//遞歸遍歷父結(jié)點(diǎn) return getNext(parentFigure,allFigure,tmp);則分析后獲取的BPMN流程對應(yīng)的典型結(jié)構(gòu)為OR分支聚合結(jié)構(gòu)的結(jié)構(gòu)示意圖如圖 9所示,該分析后的典型結(jié)構(gòu)為OR分支聚合結(jié)構(gòu)的BPMN流程能夠提供該流程的執(zhí)行邏輯信息,頁面跳轉(zhuǎn)信息等。第五種對BPMN流程對應(yīng)的典型結(jié)構(gòu)為ReceiveTask結(jié)構(gòu)的分析在本實施例中,圖10為本實施例中BPMN流程對應(yīng)的典型結(jié)構(gòu)為ReceiveTask結(jié)構(gòu)的結(jié)構(gòu)示意圖,如圖10所示,對該BPMN流程對應(yīng)的典型結(jié)構(gòu)為ReceiveTask結(jié)構(gòu)的分析的一種具體實現(xiàn)方式為對于這種情況,對其結(jié)構(gòu)進(jìn)行如下處理1.添加一個圖元RCV2.去除A到B的連接,將B的前驅(qū)改為RCV,將RCV的前驅(qū)設(shè)為A3.設(shè)置RCV的類型為查詢類型,其功能是查詢消息流,若未到則繼續(xù)循環(huán)查詢,若到來則轉(zhuǎn)向B。則分析后獲取的BPMN流程對應(yīng)的典型結(jié)構(gòu)為ReceiveTask結(jié)構(gòu)的結(jié)構(gòu)示意圖如圖11所示,該分析后的典型結(jié)構(gòu)為ReceiveTask結(jié)構(gòu)的BPMN流程能夠提供該流程的執(zhí)行邏輯信息,頁面跳轉(zhuǎn)信息等。圖12為本發(fā)明基于BPMN的頁面生成裝置的一個實施例的結(jié)構(gòu)示意圖,如圖12所
11示,本實施例的裝置包括插入控制信息獲取模塊11、頁面生成模塊12、解析模塊13、頁面位置獲取模塊14、頁面順序獲取模塊15和轉(zhuǎn)換模塊16,其中,插入控制信息獲取模塊11用于獲取輸入的XML格式的BPMN流程中每個圖元對應(yīng)的插入控制信息;頁面生成模塊12用于根據(jù)該插入控制信息,生成XML格式的頁面,并根據(jù)預(yù)先設(shè)置的映射規(guī)則,對該XML格式的頁面進(jìn)行轉(zhuǎn)換處理,獲取被引擎識別的頁面,再將該被引擎識別的頁面存儲到服務(wù)器中; 解析模塊13用于對該輸入的XML格式的BPMN流程進(jìn)行解析處理,獲取該輸入的XML格式的BPMN流程中每個圖元對應(yīng)的圖元屬性信息;頁面位置獲取模塊14用于根據(jù)該圖元屬性信息和所述插入控制信息,對該XML格式的BPMN流程中每個圖元進(jìn)行處理,獲取該頁面在流程執(zhí)行中被執(zhí)行的位置;頁面順序獲取模塊15用于根據(jù)預(yù)先設(shè)置的頁面間跳轉(zhuǎn)規(guī)則,將該XML格式的BPMN流程中每個圖元進(jìn)行分析處理,獲取該頁面在流程執(zhí)行中被執(zhí)行的順序;轉(zhuǎn)換模塊16用于根據(jù)該映射規(guī)則,分別將該頁面在流程執(zhí)行中被執(zhí)行的位置和該頁面在流程執(zhí)行中被執(zhí)行的順序轉(zhuǎn)換為被引擎識別的文件并保存在數(shù)據(jù)庫中。本實施例的基于BPMN的頁面生成裝置可以執(zhí)行圖1所示方法實施例的技術(shù)方案, 其實現(xiàn)原理相類似,此處不再贅述。在本實施例中,通過根據(jù)獲取的輸入的XML格式的BPMN流程中每個圖元對應(yīng)的插入控制信息,生成頁面,再根據(jù)對輸入的XML格式的BPMN流程進(jìn)行分析處理獲取的每個圖元對應(yīng)的圖元屬性信息和該插入控制信息,對XML格式的BPMN流程中每個圖元進(jìn)行處理, 獲取該頁面在流程執(zhí)行中被執(zhí)行的位置,再根據(jù)預(yù)先設(shè)置的頁面跳轉(zhuǎn)規(guī)則,對該XML格式的BPMN流程進(jìn)行分析處理,獲取該頁面在流程執(zhí)行中被執(zhí)行的順序;最后根據(jù)映射規(guī)則, 將頁面轉(zhuǎn)換為被引擎識別的頁面存儲在服務(wù)器中,以及將頁面在流程執(zhí)行中被執(zhí)行的位置和頁面在流程執(zhí)行中被執(zhí)行的順序轉(zhuǎn)換為被引擎識別的文件并保存在數(shù)據(jù)庫中,從而能夠直接執(zhí)行該BPMN流程,進(jìn)而解決了現(xiàn)有技術(shù)中面向圖形的BPMN模型與面向塊的BPEL之間的不兼容導(dǎo)致這樣的轉(zhuǎn)換會帶來BPMN模型功能缺失、循環(huán)結(jié)構(gòu)和并行語音處理困難等問題。進(jìn)一步的,在本發(fā)明的另一個實施例中,在上述圖12所示實施例的基礎(chǔ)上,該裝置還可以包括頁面跳轉(zhuǎn)規(guī)則獲取模塊用于對BPMN流程對應(yīng)的至少一種典型結(jié)構(gòu)進(jìn)行分析,獲取該頁面間跳轉(zhuǎn)規(guī)則。在本實施例中,該頁面間跳轉(zhuǎn)規(guī)則的實現(xiàn)可以上述獲取該頁面間跳轉(zhuǎn)規(guī)則的方法所示,此處不再贅述。本領(lǐng)域普通技術(shù)人員可以理解實現(xiàn)上述各方法實施例的全部或部分步驟可以通過程序指令相關(guān)的硬件來完成。前述的程序可以存儲于一計算機(jī)可讀取存儲介質(zhì)中。該程序在執(zhí)行時,執(zhí)行包括上述各方法實施例的步驟;而前述的存儲介質(zhì)包括R0M、RAM、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。最后應(yīng)說明的是以上各實施例僅用以說明本發(fā)明的技術(shù)方案,而非對其限制; 盡管參照前述各實施例對本發(fā)明進(jìn)行了詳細(xì)的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解其依然可以對前述各實施例所記載的技術(shù)方案進(jìn)行修改,或者對其中部分或者全部技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實施例技術(shù)方案的范圍。
權(quán)利要求
1.一種基于BPMN的頁面生成方法,其特征在于,包括獲取輸入的XML格式的BPMN流程中每個圖元對應(yīng)的插入控制信息; 根據(jù)所述插入控制信息,生成XML格式的頁面,并根據(jù)預(yù)先設(shè)置的映射規(guī)則,對所述 XML格式的頁面進(jìn)行轉(zhuǎn)換處理,獲取被引擎識別的頁面,再將所述被引擎識別的頁面存儲到服務(wù)器中;對所述輸入的XML格式的BPMN流程進(jìn)行解析處理,獲取所述輸入的XML格式的BPMN 流程中每個圖元對應(yīng)的圖元屬性信息;根據(jù)所述圖元屬性信息和所述插入控制信息,對所述XML格式的BPMN流程中每個圖元進(jìn)行處理,獲取所述頁面在流程執(zhí)行中被執(zhí)行的位置;根據(jù)預(yù)先設(shè)置的頁面間跳轉(zhuǎn)規(guī)則,將所述XML格式的BPMN流程中每個圖元進(jìn)行分析處理,獲取所述頁面在流程執(zhí)行中被執(zhí)行的順序;根據(jù)所述映射規(guī)則,分別將所述頁面在流程執(zhí)行中被執(zhí)行的位置和所述頁面在流程執(zhí)行中被執(zhí)行的順序轉(zhuǎn)換為被引擎識別的文件并保存在數(shù)據(jù)庫中。
2.根據(jù)權(quán)利要求1所述的基于BPMN的頁面生成方法,其特征在于,所述頁面間跳轉(zhuǎn)規(guī)則的獲取過程具體為對BPMN流程對應(yīng)的至少一種典型結(jié)構(gòu)進(jìn)行分析,獲取所述頁面間跳轉(zhuǎn)規(guī)則。
3.根據(jù)權(quán)利要求2所述的基于BPMN的頁面生成方法,其特征在于,所述輸入的BPMN流程的結(jié)構(gòu)包括順序結(jié)構(gòu)、異或分支聚合結(jié)構(gòu)、與分支聚合結(jié)構(gòu)、或分支聚合結(jié)構(gòu)或接收消息圖元結(jié)構(gòu);所述BPMN流程對應(yīng)的典型結(jié)構(gòu)至少包括如下一種或者幾種順序結(jié)構(gòu)、異或分支聚合結(jié)構(gòu)、和分支聚合結(jié)構(gòu)、或分支聚合結(jié)構(gòu)和接收消息結(jié)構(gòu)。
4.一種基于BPMN的頁面生成裝置,其特征在于,包括插入控制信息獲取模塊,用于獲取輸入的XML格式的BPMN流程中每個圖元對應(yīng)的插入控制信息;頁面生成模塊,用于根據(jù)所述插入控制信息,生成XML格式的頁面,并根據(jù)預(yù)先設(shè)置的映射規(guī)則,對所述XML格式的頁面進(jìn)行轉(zhuǎn)換處理,獲取被引擎識別的頁面,再將所述被引擎識別的頁面存儲到服務(wù)器中;解析模塊,用于對所述輸入的XML格式的BPMN流程進(jìn)行解析處理,獲取所述輸入的XML 格式的BPMN流程中每個圖元對應(yīng)的圖元屬性信息;頁面位置獲取模塊,用于根據(jù)所述圖元屬性信息和所述插入控制信息,對所述XML格式的BPMN流程中每個圖元進(jìn)行處理,獲取所述頁面在流程執(zhí)行中被執(zhí)行的位置;頁面順序獲取模塊,用于根據(jù)預(yù)先設(shè)置的頁面間跳轉(zhuǎn)規(guī)則,將所述XML格式的BPMN流程中每個圖元進(jìn)行分析處理,獲取所述頁面在流程執(zhí)行中被執(zhí)行的順序;轉(zhuǎn)換模塊,用于根據(jù)所述映射規(guī)則,分別將所述頁面在流程執(zhí)行中被執(zhí)行的位置和所述頁面在流程執(zhí)行中被執(zhí)行的順序轉(zhuǎn)換為被引擎識別的文件并保存在數(shù)據(jù)庫中。
5.根據(jù)權(quán)利要求4所述的基于BPMN的頁面生成裝置,其特征在于,還包括頁面跳轉(zhuǎn)規(guī)則獲取模塊,用于對BPMN流程對應(yīng)的至少一種典型結(jié)構(gòu)進(jìn)行分析,獲取所述頁面間跳轉(zhuǎn)規(guī)則。
全文摘要
本發(fā)明提供一種基于BPMN的頁面生成方法和裝置,該方法包括獲取輸入的XML格式的BPMN流程中每個圖元對應(yīng)的插入控制信息;根據(jù)插入控制信息生成XML格式的頁面,并根據(jù)映射規(guī)則對XML格式的頁面進(jìn)行轉(zhuǎn)換處理,獲取被引擎識別的頁面并存儲到服務(wù)器中;對輸入的XML格式的BPMN流程進(jìn)行解析處理,獲取每個圖元對應(yīng)的圖元屬性信息;根據(jù)圖元屬性信息和插入控制信息,對XML格式的BPMN流程中每個圖元進(jìn)行處理,獲取頁面在流程執(zhí)行中被執(zhí)行的位置;根據(jù)預(yù)先設(shè)置的頁面間跳轉(zhuǎn)規(guī)則,將XML格式的BPMN流程中每個圖元進(jìn)行分析處理,獲取頁面在流程執(zhí)行中被執(zhí)行的順序;根據(jù)映射規(guī)則,分別將該位置和該順序轉(zhuǎn)換為被引擎識別的文件并保存在數(shù)據(jù)庫中。
文檔編號G06F9/44GK102520953SQ20111042137
公開日2012年6月27日 申請日期2011年12月15日 優(yōu)先權(quán)日2011年12月15日
發(fā)明者劉旭東, 懷進(jìn)鵬, 王旭, 葛在興, 路躍 申請人:北京航空航天大學(xué)
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
大港区| 丰宁| 汶上县| 衡阳县| 儋州市| 汉寿县| 朝阳县| 民丰县| 即墨市| 陕西省| 武穴市| 丹巴县| 黄陵县| 托克托县| 兰溪市| 双鸭山市| 无锡市| 大安市| 昌都县| 新化县| 曲沃县| 都江堰市| 德兴市| 翼城县| 友谊县| 儋州市| 泸州市| 亳州市| 达州市| 巴青县| 怀集县| 佛山市| 宜兴市| 固原市| 宁强县| 金堂县| 若尔盖县| 澳门| 南和县| 綦江县| 庆元县|