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

流程引擎的指令調(diào)度方法及裝置與流程

文檔序號(hào):12596625閱讀:238來(lái)源:國(guó)知局
流程引擎的指令調(diào)度方法及裝置與流程

本公開涉及計(jì)算機(jī)領(lǐng)域,具體地,涉及一種流程引擎的指令調(diào)度方法及裝置。



背景技術(shù):

隨著企業(yè)信息化的快速發(fā)展,業(yè)務(wù)流程管理(Business Process Management,簡(jiǎn)稱BPM)在信息化過(guò)程中的作用越來(lái)越突出。流程引擎是一種計(jì)算機(jī)化的標(biāo)識(shí)模型,是能夠完全或者部分自動(dòng)執(zhí)行經(jīng)營(yíng)過(guò)程的有限狀態(tài)機(jī),其作用是根據(jù)一系列過(guò)程規(guī)則,文檔、信息或任務(wù)在不同的執(zhí)行者之間進(jìn)行傳遞與執(zhí)行。

流程引擎有很多操作指令,有的操作較為復(fù)雜,有的操作相對(duì)簡(jiǎn)單,由于現(xiàn)有引擎都是一個(gè)線程池,引擎會(huì)不加區(qū)分的獲取一個(gè)線程,然后按照不同的指令進(jìn)行解釋執(zhí)行,這會(huì)導(dǎo)致如果有大量的復(fù)雜操作且在高并發(fā)情況下,流程引擎的線程池長(zhǎng)時(shí)間占用無(wú)法釋放,流程引擎無(wú)法響應(yīng)更多的服務(wù)請(qǐng)求。另外由于執(zhí)行周期過(guò)長(zhǎng),無(wú)法有效定位性能瓶頸點(diǎn),從而不能有針對(duì)性的解決某個(gè)長(zhǎng)邏輯的性能問(wèn)題。



技術(shù)實(shí)現(xiàn)要素:

本公開的目的是提供一種流程引擎的指令調(diào)度方法及裝置,用于解決由于現(xiàn)有的流程引擎只存在一個(gè)線程池中,流程引擎操作復(fù)雜導(dǎo)致線程資源長(zhǎng)時(shí)間得不到釋放,無(wú)法響應(yīng)更多引擎操作的問(wèn)題。

為了實(shí)現(xiàn)上述目的,本公開提供一種流程引擎的指令調(diào)度方法,所述流程引擎包括多個(gè)子線程池,所述指令調(diào)度方法包括:

將輸入的流程指令解析為多個(gè)子操作指令;

根據(jù)執(zhí)行所述子操作指令的先后順序,將當(dāng)前子操作指令分配到對(duì)應(yīng)的當(dāng)前子線程池中;

控制所述當(dāng)前子線程池分配線程,以執(zhí)行所述當(dāng)前子操作指令;

在所述當(dāng)前子操作指令執(zhí)行完畢后,釋放所述當(dāng)前子線程池分配的所述線程;

將下一個(gè)所述子操作指令分配到對(duì)應(yīng)的所述子線程池中以執(zhí)行下一個(gè)所述子操作指令,直至所有的所述子操作指令執(zhí)行完畢。

可選地,所述流程引擎還包括與所述子線程池一一對(duì)應(yīng)的子操作緩沖池;

所述將當(dāng)前子操作指令分配到對(duì)應(yīng)的當(dāng)前子線程池中,包括:

將所述當(dāng)前子操作指令分配到所述當(dāng)前子線程池對(duì)應(yīng)所述子操作緩沖池中;

在執(zhí)行所述當(dāng)前子操作指令時(shí),將所述當(dāng)前子操作指令從對(duì)應(yīng)的所述子操作緩沖池分配到所述當(dāng)前子線程池中。

可選地,所述在所述當(dāng)前子操作指令執(zhí)行完畢后,所述指令調(diào)度方法還包括:確定下一個(gè)所述子操作指令所對(duì)應(yīng)的所述子操作緩沖池。

可選地,所述流程引擎還包括多級(jí)實(shí)例對(duì)象;

所述將輸入的流程指令解析為多個(gè)子操作指令,包括:

將所述流程指令分解為所述多級(jí)實(shí)例對(duì)象所對(duì)應(yīng)的所述子操作指令。

可選地,所述控制當(dāng)前子操作指令所對(duì)應(yīng)的當(dāng)前子線程池分配線程之前,所述指令調(diào)度方法還包括:

將所述多級(jí)實(shí)例對(duì)象所對(duì)應(yīng)的所述子操作指令串聯(lián)起來(lái),形成邏輯鏈條;

根據(jù)所述邏輯鏈條,確定所述子操作指令的先后順序。

可選地,所述指令調(diào)度方法還包括:

在執(zhí)行所述當(dāng)前子操作指令時(shí),監(jiān)控所述當(dāng)前子線程池中是否有空閑狀態(tài)線程;

當(dāng)所述當(dāng)前子線程池中有所述空閑狀態(tài)線程時(shí),釋放所述空閑狀態(tài)線程。

本公開還提供了一種流程引擎的指令調(diào)度裝置,所述流程引擎包括多個(gè)子線程池,所述指令調(diào)度裝置包括:

解析模塊,用于將輸入的流程指令解析為多個(gè)子操作指令;

分配模塊,用于根據(jù)執(zhí)行所述子操作指令的先后順序,將當(dāng)前子操作指令分配到對(duì)應(yīng)的當(dāng)前子線程池中;

控制模塊,用于控制所述當(dāng)前子線程池分配線程,以執(zhí)行所述當(dāng)前子操作指令;

第一釋放模塊,用于在所述當(dāng)前子操作指令執(zhí)行完畢后,釋放所述當(dāng)前子線程池分配的所述線程;

執(zhí)行模塊,用于將下一個(gè)所述子操作指令分配到對(duì)應(yīng)的所述子線程池中以執(zhí)行下一個(gè)所述子操作指令,直至所有的所述子操作指令執(zhí)行完畢。

可選地,所述流程引擎還包括與所述子線程池一一對(duì)應(yīng)的子操作緩沖池;

所述分配模塊包括:

第一分配子模塊,用于將所述當(dāng)前子操作指令分配到所述當(dāng)前子線程池對(duì)應(yīng)所述子操作緩沖池中;

第二分配子模塊,用于在執(zhí)行所述當(dāng)前子操作指令時(shí),將所述當(dāng)前子操作指令從對(duì)應(yīng)的所述子操作緩沖池分配到所述當(dāng)前子線程池中。

可選地,所述指令調(diào)度裝置還包括:第一確定模塊,用于在所述當(dāng)前子操作指令執(zhí)行完畢后,確定下一個(gè)所述子操作指令所對(duì)應(yīng)的所述子操作緩沖池。

可選地,所述流程引擎還包括多級(jí)實(shí)例對(duì)象;

所述解析模塊用于將所述流程指令分解為所述多級(jí)實(shí)例對(duì)象所對(duì)應(yīng)的所述子操作指令。

可選地,所述指令調(diào)度裝置還包括:

串聯(lián)模塊,用于將所述多級(jí)實(shí)例對(duì)象所對(duì)應(yīng)的所述子操作指令串聯(lián)起來(lái),形成邏輯鏈條;

第二確定模塊,用于根據(jù)所述邏輯鏈條,確定所述子操作指令的先后順序。

可選地,所述指令調(diào)度裝置還包括:

監(jiān)控模塊,用于在執(zhí)行所述當(dāng)前子操作指令時(shí),監(jiān)控所述當(dāng)前子線程池中是否有空閑狀態(tài)線程;

第二釋放模塊,用于當(dāng)所述當(dāng)前子線程池中有空閑狀態(tài)線程時(shí),釋放所述空閑狀態(tài)線程。

本公開的實(shí)施例提供的技術(shù)方案可以包括以下有益效果:

本公開通過(guò)將解析后的多個(gè)子操作指令,根據(jù)執(zhí)行所述子操作指令的先后順序,將當(dāng)前子操作指令分配到對(duì)應(yīng)的當(dāng)前子線程池中,并控制所述當(dāng)前子線程池分配線程,以執(zhí)行所述當(dāng)前子操作指令,以及在所述當(dāng)前子操作指令執(zhí)行完畢后,釋放所述當(dāng)前子線程池分配的所述線程。因此,每執(zhí)行一個(gè)子操作指令后,分配給該子操作指令的所述線程就會(huì)被釋放,以供其它的流程指令使用,提高了流程引擎的工作效率,解決了由于現(xiàn)有的流程引擎只存在一個(gè)線程池中,流程引擎操作復(fù)雜導(dǎo)致線程資源長(zhǎng)時(shí)間得不到釋放,無(wú)法響應(yīng)更多引擎操作的問(wèn)題。

本公開的其他特征和優(yōu)點(diǎn)將在隨后的具體實(shí)施方式部分予以詳細(xì)說(shuō)明。

附圖說(shuō)明

附圖是用來(lái)提供對(duì)本公開的進(jìn)一步理解,并且構(gòu)成說(shuō)明書的一部分,與下面的具體實(shí)施方式一起用于解釋本公開,但并不構(gòu)成對(duì)本公開的限制。在附圖中:

圖1是根據(jù)一示例性實(shí)施例示出的一種流程引擎的指令調(diào)度方法的流程圖。

圖2是根據(jù)一示例性實(shí)施例示出的一種流程引擎的指令調(diào)度方法包括的步驟中將子操作指令分配到子線程池的流程圖。

圖3是根據(jù)一示例性實(shí)施例示出的一種流程引擎的指令調(diào)度方法的另一流程圖。

圖4是根據(jù)一示例性實(shí)施例示出的一種流程引擎的指令調(diào)度方法的另一流程圖。

圖5是根據(jù)一示例性實(shí)施例示出的一種流程引擎的指令調(diào)度方法的示意圖。

圖6是根據(jù)一示例性實(shí)施例示出的一種流程引擎的指令調(diào)度裝置的框圖。

圖7是根據(jù)一示例性實(shí)施例示出的一種流程引擎的指令調(diào)度裝置的分配模塊的框圖。

圖8是根據(jù)一示例性實(shí)施例示出的一種流程引擎的指令調(diào)度裝置的另一框圖。

具體實(shí)施方式

這里將詳細(xì)地對(duì)示例性實(shí)施例進(jìn)行說(shuō)明,其示例表示在附圖中。下面的描述涉及附圖時(shí),除非另有表示,不同附圖中的相同數(shù)字表示相同或相似的要素。以下示例性實(shí)施例中所描述的實(shí)施方式并不代表與本公開相一致的所有實(shí)施方式。相反,它們僅是與如所附權(quán)利要求書中所詳述的、本公開的一些方面相一致的裝置和方法的例子。

圖1是根據(jù)一示例性實(shí)施例示出的一種流程引擎的指令調(diào)度方法的流程圖,所述流程引擎包括多個(gè)子線程池,如圖1所示,流程引擎的指令調(diào)度方法包括以下步驟。

在步驟S11中,將輸入的流程指令解析為多個(gè)子操作指令。

在步驟S12中,根據(jù)執(zhí)行所述子操作指令的先后順序,將當(dāng)前子操作指令分配到對(duì)應(yīng)的當(dāng)前子線程池中;所述當(dāng)前子操作指令為當(dāng)前執(zhí)行的所述子操作指令。

在步驟S13中,控制所述當(dāng)前子線程池分配線程,以執(zhí)行所述當(dāng)前子操作指令。

在步驟S14中,在所述當(dāng)前子操作指令執(zhí)行完畢后,釋放所述當(dāng)前子線程池分配的所述線程。

在步驟S15中,將下一個(gè)所述子操作指令分配到對(duì)應(yīng)的所述子線程池中以執(zhí)行下一個(gè)所述子操作指令,直至所有的所述子操作指令執(zhí)行完畢。

本公開流程引擎的指令調(diào)度方法可以用在電子設(shè)備中,所述電子設(shè)備可能是筆記本電腦、智能手機(jī)、智能手表、平板電腦等。

所述流程指令是由可以枚舉的一組子操作指令組裝而來(lái),當(dāng)用戶通過(guò)操作所述電子設(shè)備使得所述流程引擎接收所述流程指令時(shí),執(zhí)行步驟S11,將所述流程指令解析為多個(gè)子操作指令。接收所述流程指令后,所述流程引擎去執(zhí)行所述流程指令所指示的相關(guān)引擎操作,將引擎操作進(jìn)行分解成一個(gè)個(gè)的子操作。

當(dāng)所述流程指令被解析成多個(gè)子操作指令后,執(zhí)行步驟S12,根據(jù)執(zhí)行所述子操作指令的先后順序,將當(dāng)前子操作指令分配到對(duì)應(yīng)的當(dāng)前子線程池中。所述當(dāng)前子操作指令為當(dāng)前需要執(zhí)行的所述子操作指令。相比于現(xiàn)有的只有一個(gè)線程池的流程引擎,本公開的流程引擎包括了多個(gè)子線程池。所述流程引擎包括的所述子線程池?cái)?shù)大于或等于一個(gè)流程指令所包括的子操作指令數(shù),即所述流程引擎包括的所述子線程池對(duì)應(yīng)于所有可能的子操作指令,每一個(gè)所述子操作指令分配一個(gè)不同的所述子線程池。其中,本公開的所述流程引擎所包括的子線程池可通過(guò)以下方式進(jìn)行設(shè)置:首先,在執(zhí)行步驟S11之前,將所有可能的流程引擎指令分解為若干個(gè)相互獨(dú)立的子操作指令(此處子操作指令為全集,即包括了所有可能的子操作指令);接著,根據(jù)所述子操作指令的類型建立與所述子操作指令一一對(duì)應(yīng)的子線程池。

舉例來(lái)講,流程引擎包括子線程池A、子線程池B、子線程池C和子線程池D,流程指令甲包括子操作指令a和子操作指令c。輸入所述流程指令甲后,首先,將所述流程指令甲分解為子操作指令a和子操作指令c;然后,假設(shè)子操作指令a先執(zhí)行,則先將子操作指令a放入對(duì)應(yīng)的子線程池A中,當(dāng)所述子操作指令a執(zhí)行完畢后,再將子操作指令c放入對(duì)應(yīng)的子線程池C中。

當(dāng)所述前子操作指令分配到所述當(dāng)前子線程池后,執(zhí)行步驟S13,控制所述當(dāng)前子線程池分配線程,以執(zhí)行所述當(dāng)前子操作指令。所述流程指令解析后的多個(gè)子操作指令直接具有先后的邏輯順序,根據(jù)所述邏輯順序,所述當(dāng)前子操作指令在被執(zhí)行時(shí),所述當(dāng)前子線程池分配線程給所述當(dāng)前子操作指令去執(zhí)行。在所述當(dāng)前子操作指令執(zhí)行完畢后,執(zhí)行步驟S14,釋放所述當(dāng)前子線程池分配的所述線程。在釋放所述線程后,執(zhí)行下一個(gè)所述子操作指令,直至所有的所述子操作指令執(zhí)行完畢。

舉例來(lái)講,流程引擎包括子線程池A、子線程池B、子線程池C和子線程池D,流程指令甲包括子操作指令a和子操作指令c,假設(shè)先執(zhí)行子操作指令a,后執(zhí)行子操作指令c。輸入所述流程指令甲后,首先,將所述流程指令甲分解為子操作指令a和子操作指令c;然后,將子操作指令a放入對(duì)應(yīng)的子線程池A中;接著,子線程池A分配線程給子操作指令a,當(dāng)子操作指令a執(zhí)行完畢后,釋放子線程池A分配的線程;然后,將子操作指令c放入對(duì)應(yīng)的子線程池C中;接著,子線程池C分配線程給子操作指令c,當(dāng)子操作指令c執(zhí)行完畢后,釋放子線程池C分配的線程。

當(dāng)流程引擎接收包括了子操作指令a和子操作指令b的流程指令乙時(shí),由于當(dāng)所述流程指令甲的子操作指令a執(zhí)行完畢后,釋放了子線程池A分配的線程,此時(shí),子線程池A和子線程池B處于可以使用狀態(tài),即流程引擎可以在處理流程指令甲的過(guò)程中,同時(shí)處理流程指令乙,提高了流程引擎的工作效率。

本公開通過(guò)將解析后的多個(gè)子操作指令,根據(jù)執(zhí)行所述子操作指令的先后順序,將當(dāng)前子操作指令分配到對(duì)應(yīng)的當(dāng)前子線程池中,并控制所述當(dāng)前子線程池分配線程,以執(zhí)行所述當(dāng)前子操作指令,以及在所述當(dāng)前子操作指令執(zhí)行完畢后,釋放所述當(dāng)前子線程池分配的所述線程。因此,每執(zhí)行一個(gè)子操作指令后,分配給該子操作指令的所述線程就會(huì)被釋放,以供其它的流程指令使用,提高了流程引擎的工作效率,解決了由于現(xiàn)有的流程引擎只存在一個(gè)線程池中,流程引擎操作復(fù)雜導(dǎo)致線程資源長(zhǎng)時(shí)間得不到釋放,無(wú)法響應(yīng)更多引擎操作的問(wèn)題。

圖2是根據(jù)一示例性實(shí)施例示出的一種流程引擎的指令調(diào)度方法包括的步驟中將當(dāng)前子操作指令分配到對(duì)應(yīng)的當(dāng)前子線程池中的流程圖。如圖2所示,所述流程引擎還包括與所述子線程池一一對(duì)應(yīng)的子操作緩沖池;所述將當(dāng)前子操作指令分配到對(duì)應(yīng)的當(dāng)前子線程池中,可以包括以下步驟。

在步驟S121中,將所述當(dāng)前子操作指令分配到所述當(dāng)前子線程池對(duì)應(yīng)所述子操作緩沖池中;

在步驟S122中,在執(zhí)行所述當(dāng)前子操作指令時(shí),將所述當(dāng)前子操作指令從對(duì)應(yīng)的所述子操作緩沖池分配到所述當(dāng)前子線程池中。

所述流程引擎除了包括多個(gè)子線程池外,還包括與所述子線程池一一對(duì)應(yīng)的子操作緩沖池。輸入的流程指令解析為多個(gè)子操作指令后,首先,根據(jù)執(zhí)行所述子操作指令的先后順序,將所述當(dāng)前子操作指令分配到所述當(dāng)前子線程池對(duì)應(yīng)所述子操作緩沖池中;接著,在所述當(dāng)前子操作指令需要被執(zhí)行時(shí),將所述當(dāng)前子操作指令所在的子操作緩沖池提取出來(lái),并放入當(dāng)前子線程池中;然后,當(dāng)前子線程池分配線程給所述當(dāng)前子操作指令去執(zhí)行;接著,在所述當(dāng)前子操作指令執(zhí)行完畢后,釋放所述當(dāng)前子線程池分配的線程。可選地,在釋放所述當(dāng)前子線程池分配的線程后,根據(jù)執(zhí)行所述子操作指令的先后順序,確定下一個(gè)所述子操作指令所對(duì)應(yīng)的所述子操作緩沖池;然后,將下一個(gè)所述子操作指令放入對(duì)應(yīng)的所述子操作緩沖池。

圖3是根據(jù)一示例性實(shí)施例示出的一種流程引擎的指令調(diào)度方法的另一流程圖。如圖3所示,所述流程引擎還包括多級(jí)實(shí)例對(duì)象,流程引擎的指令調(diào)度方法可以包括以下步驟。

在步驟S21中,將所述流程指令分解為所述多級(jí)實(shí)例對(duì)象所對(duì)應(yīng)的所述子操作指令。

在步驟S22中,將所述多級(jí)實(shí)例對(duì)象所對(duì)應(yīng)的所述子操作指令串聯(lián)起來(lái),形成邏輯鏈條。

在步驟S23中,根據(jù)所述邏輯鏈條,確定所述子操作指令的先后順序。

在步驟S24中,根據(jù)執(zhí)行所述子操作指令的先后順序,將當(dāng)前子操作指令分配到對(duì)應(yīng)的當(dāng)前子線程池中。

在步驟S25中,控制所述當(dāng)前子線程池分配線程,以執(zhí)行所述當(dāng)前子操作指令。

在步驟S26中,在所述當(dāng)前子操作指令執(zhí)行完畢后,釋放所述當(dāng)前子線程池分配的所述線程。

在步驟S27中,將下一個(gè)所述子操作指令分配到對(duì)應(yīng)的所述子線程池中以執(zhí)行下一個(gè)所述子操作指令,直至所有的所述子操作指令執(zhí)行完畢。

本公開的流程引擎可以包括三級(jí)實(shí)例對(duì)象,所述三級(jí)實(shí)例對(duì)象可以包括:流程實(shí)例對(duì)象、節(jié)點(diǎn)實(shí)例對(duì)象和工作項(xiàng)對(duì)象。每一級(jí)實(shí)例對(duì)象包括了多個(gè)子操作,即所述流程指令所包括的多個(gè)子操作指令都能對(duì)應(yīng)于實(shí)例對(duì)象的子操作。當(dāng)一個(gè)流程指令到達(dá)之后,所述流程引擎將這三個(gè)實(shí)例對(duì)象的不同子操作所對(duì)應(yīng)的子操作指令串聯(lián)起來(lái),形成一個(gè)邏輯鏈條。根據(jù)所述邏輯鏈條,就可以確定執(zhí)行所述子操作指令的先后順序。通過(guò)將原本復(fù)雜的流程操作分解成不同實(shí)例對(duì)象的不同子操作所對(duì)應(yīng)的子操作指令,起到了流程引擎解耦的作用。

圖4是根據(jù)一示例性實(shí)施例示出的一種流程引擎的指令調(diào)度方法的另一流程圖。如圖4所示,流程引擎的指令調(diào)度方法可以包括以下步驟。

在步驟S31中,將輸入的流程指令解析為多個(gè)子操作指令。

在步驟S32中,根據(jù)執(zhí)行所述子操作指令的先后順序,將當(dāng)前子操作指令分配到對(duì)應(yīng)的當(dāng)前子線程池中。

在步驟S33中,控制所述當(dāng)前子線程池分配線程,以執(zhí)行所述當(dāng)前子操作指令。

在步驟S34中,在執(zhí)行所述當(dāng)前子操作指令時(shí),監(jiān)控所述當(dāng)前子線程池中是否有空閑狀態(tài)線程。

在步驟S35中,當(dāng)所述當(dāng)前子線程池中有所述空閑狀態(tài)線程時(shí),釋放所述空閑狀態(tài)線程。

在步驟S36中,在所述當(dāng)前子操作指令執(zhí)行完畢后,釋放所述當(dāng)前子線程池分配的所述線程。

在步驟S37中,執(zhí)行下一個(gè)所述子操作指令,直至所有的所述子操作指令執(zhí)行完畢。

本公開通過(guò)將引擎操作進(jìn)行分解成一個(gè)個(gè)的子操作,然后按照?qǐng)?zhí)行順序進(jìn)行排序,每個(gè)子操作都會(huì)有一個(gè)獨(dú)立的子線程池,每個(gè)子線程池根據(jù)當(dāng)前子操作的復(fù)雜度配置不同的線程數(shù),使得每個(gè)子操作執(zhí)行的周期縮短,能夠有效定位性能瓶頸點(diǎn),進(jìn)而能有針對(duì)性的解決某個(gè)長(zhǎng)邏輯的性能問(wèn)題。在當(dāng)前子線程池中有空閑狀態(tài)線程時(shí),即當(dāng)前子操作指令并不需要占用當(dāng)前子線程池中的所有線程,因此,可以通過(guò)釋放所述空閑狀態(tài)線程給其它的流程指令使用,進(jìn)一步提高了流程引擎的工作效率。

接下來(lái),舉一個(gè)完整的例子來(lái)描述本公開的流程引擎的指令調(diào)度方法。請(qǐng)參考圖5,圖5是根據(jù)一示例性實(shí)施例示出的一種流程引擎的指令調(diào)度方法的示意圖。

如圖5所示,首先,流程指令輸入到流程引擎中,流程引擎將輸入的流程指令解析為N個(gè)子操作指令;

接著,根據(jù)執(zhí)行所述子操作指令的先后順序,先執(zhí)行子操作指令1時(shí),流程引擎將子操作指令1放入子操作緩沖池1中;

然后,將子操作指令1從子操作緩沖池1中提取出來(lái),子線程池1分配線程給子操作指令1去執(zhí)行;

接著,當(dāng)子操作指令1執(zhí)行完畢后,釋放子線程池1分配的所述線程;

然后,確定下一個(gè)子操作指令所對(duì)應(yīng)的緩沖池,即確定子操作指令2所對(duì)應(yīng)的子操作緩沖池2;

接著,將子操作指令2放入子操作緩沖池2中;

然后,將子操作指令2從子操作緩沖池2中提取出來(lái),子線程池2分配線程給子操作指令2去執(zhí)行;

接著,重復(fù)上述子操作指令從子操作緩沖池提取出來(lái)以執(zhí)行的步驟,直至子操作指令N執(zhí)行完畢后,輸出所述流程指令。

圖6是根據(jù)一示例性實(shí)施例示出的一種流程引擎的指令調(diào)度裝置的框圖。參照?qǐng)D6,該指令調(diào)度裝置600包括解析模塊601、分配模塊602、控制模塊603、第一釋放模塊604和執(zhí)行模塊605。

解析模塊601,用于將輸入的流程指令解析為多個(gè)子操作指令;

分配模塊602,用于根據(jù)執(zhí)行所述子操作指令的先后順序,將當(dāng)前子操作指令分配到對(duì)應(yīng)的當(dāng)前子線程池中;所述當(dāng)前子操作指令為當(dāng)前執(zhí)行的所述子操作指令;

控制模塊603,用于控制所述當(dāng)前子線程池分配線程,以執(zhí)行所述當(dāng)前子操作指令;

第一釋放模塊604,用于在所述當(dāng)前子操作指令執(zhí)行完畢后,釋放所述當(dāng)前子線程池分配的所述線程;

執(zhí)行模塊605,用于將下一個(gè)所述子操作指令分配到對(duì)應(yīng)的所述子線程池中以執(zhí)行下一個(gè)所述子操作指令,直至所有的所述子操作指令執(zhí)行完畢。

可選地,所述流程引擎還包括與所述子線程池一一對(duì)應(yīng)的子操作緩沖池。如圖7所示,所述分配模塊602包括:

第一分配子模塊6021,用于將所述當(dāng)前子操作指令分配到所述當(dāng)前子線程池對(duì)應(yīng)所述子操作緩沖池中;

第二分配子模塊6022,用于在執(zhí)行所述當(dāng)前子操作指令時(shí),將所述當(dāng)前子操作指令從對(duì)應(yīng)的所述子操作緩沖池分配到的所述當(dāng)前子線程池中。

可選地,如圖8所示,所述指令調(diào)度裝置600除包括解析模塊601、分配模塊602、控制模塊603、第一釋放模塊604和執(zhí)行模塊605外,還可以包括:

第一確定模塊610,用于在所述當(dāng)前子操作指令執(zhí)行完畢后,確定下一個(gè)所述子操作指令所對(duì)應(yīng)的所述子操作緩沖池。

可選地,所述流程引擎還包括多級(jí)實(shí)例對(duì)象;所述解析模塊用于將所述流程指令分解為所述多級(jí)實(shí)例對(duì)象所對(duì)應(yīng)的所述子操作指令。

可選地,如圖8所示,所述指令調(diào)度裝置600除包括解析模塊601、分配模塊602、控制模塊603、第一釋放模塊604、執(zhí)行模塊605和第一確定模塊610外,還可以包括:

串聯(lián)模塊606,用于將所述多級(jí)實(shí)例對(duì)象所對(duì)應(yīng)的所述子操作指令串聯(lián)起來(lái),形成邏輯鏈條;

第二確定模塊607,用于根據(jù)所述邏輯鏈條,確定所述子操作指令的先后順序。

可選地,如圖8所示,所述指令調(diào)度裝置600除包括解析模塊601、分配模塊602、控制模塊603、第一釋放模塊604、執(zhí)行模塊605、第一確定模塊610、串聯(lián)模塊606和第二確定模塊607外,還可以包括:

監(jiān)控模塊608,用于在執(zhí)行所述當(dāng)前子操作指令時(shí),監(jiān)控所述當(dāng)前子線程池中是否有空閑狀態(tài)線程;

第二釋放模塊609,用于當(dāng)所述當(dāng)前子線程池中有所述空閑狀態(tài)線程時(shí),釋放所述空閑狀態(tài)線程。

以上結(jié)合附圖詳細(xì)描述了本公開的優(yōu)選實(shí)施方式,但是,本公開并不限于上述實(shí)施方式中的具體細(xì)節(jié),在本公開的技術(shù)構(gòu)思范圍內(nèi),可以對(duì)本公開的技術(shù)方案進(jìn)行多種簡(jiǎn)單變型,這些簡(jiǎn)單變型均屬于本公開的保護(hù)范圍。

另外需要說(shuō)明的是,在上述具體實(shí)施方式中所描述的各個(gè)具體技術(shù)特征,在不矛盾的情況下,可以通過(guò)任何合適的方式進(jìn)行組合。為了避免不必要的重復(fù),本公開對(duì)各種可能的組合方式不再另行說(shuō)明。

此外,本公開的各種不同的實(shí)施方式之間也可以進(jìn)行任意組合,只要其不違背本公開的思想,其同樣應(yīng)當(dāng)視為本公開所公開的內(nèi)容。

當(dāng)前第1頁(yè)1 2 3 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
保定市| 渭源县| 高唐县| 凤阳县| 苍溪县| 晋江市| 建阳市| 广东省| 安宁市| 和龙市| 商城县| 吉安市| 巴东县| 上栗县| 贡山| 安庆市| 吉安县| 淮滨县| 晋宁县| 保德县| 温宿县| 屯昌县| 灌云县| 桂平市| 阳泉市| 朝阳区| 石景山区| 措美县| 石景山区| 乌鲁木齐市| 嵊州市| 多伦县| 庄浪县| 准格尔旗| 西丰县| 浮梁县| 喀喇沁旗| 翁源县| 宣威市| 微山县| 秭归县|