本發(fā)明涉及工作流技術(shù)領(lǐng)域,尤其涉及一種工作流的組織方法及裝置、計(jì)算機(jī)設(shè)備及存儲(chǔ)介質(zhì)。
背景技術(shù):
隨著網(wǎng)絡(luò)通信技術(shù)和信息處理技術(shù)的發(fā)展,計(jì)算機(jī)已逐漸成為人們?nèi)粘I钪谐S玫碾娮釉O(shè)備之一。
工作流是計(jì)算機(jī)在完成用戶(hù)的各項(xiàng)操作時(shí)常用的一種任務(wù)處理方式。工作流可以看作是由多個(gè)基本任務(wù)組成的集合,例如,對(duì)于某一軟件程序而言,其本身是一個(gè)為了完成某一任務(wù)的完整操作,但其主體業(yè)務(wù)按照其執(zhí)行的順序又可以拆分為步驟1、步驟2、步驟3和步驟4四個(gè)步驟,則其工作流可以記為:步驟1->步驟2->步驟3->步驟4?,F(xiàn)有技術(shù)在以工作流的方式實(shí)現(xiàn)各業(yè)務(wù)時(shí),通常是采用上一個(gè)步驟(如步驟1)直接調(diào)用下一個(gè)步驟(如步驟2),并將下一個(gè)步驟(如步驟2)所需的輸入?yún)?shù)按照該下一個(gè)步驟(如步驟2)要求的方式傳遞給該下一個(gè)步驟(如步驟2)。
很多情況下,由于業(yè)務(wù)需求的不同,與該業(yè)務(wù)對(duì)應(yīng)的工作流中所包含的步驟往往是多變的。但是,采用現(xiàn)有的技術(shù)方案組織得到的工作流,其所包含的各步驟之間一般存在較高的耦合性,通常無(wú)法在不改變工作流中各步驟的代碼的前提下,直接通過(guò)刪除或修改工作流中的一個(gè)或多個(gè)步驟的方式將該工作流修改為另一工作流,無(wú)法滿(mǎn)足人們對(duì)工作流高靈活性的需求。
技術(shù)實(shí)現(xiàn)要素:
有鑒于此,本發(fā)明實(shí)施例提供一種工作流的組織方法及裝置、計(jì)算機(jī)設(shè)備及存儲(chǔ)介質(zhì),以解決現(xiàn)有技術(shù)中工作流各步驟耦合性較高的技術(shù)問(wèn)題。
第一方面,本發(fā)明實(shí)施例提供了一種工作流的組織方法,包括:
根據(jù)工作流的指向信息確定所述工作流的當(dāng)前任務(wù)信息,其中,所述工作流內(nèi)包含至少兩個(gè)任務(wù);
根據(jù)所述當(dāng)前任務(wù)信息執(zhí)行當(dāng)前任務(wù)以生成所述當(dāng)前任務(wù)的目標(biāo)配置項(xiàng);
將所述目標(biāo)配置項(xiàng)按照設(shè)定存儲(chǔ)方式存儲(chǔ)在與所述工作流對(duì)應(yīng)的配置資源池中。
第二方面,本發(fā)明實(shí)施例提供了一種工作流的組織裝置,包括:
當(dāng)前任務(wù)確定模塊,用于根據(jù)工作流的指向信息確定所述工作流的當(dāng)前任務(wù)信息,其中,所述工作流內(nèi)包含至少兩個(gè)任務(wù);
配置項(xiàng)生成模塊,用于根據(jù)所述當(dāng)前任務(wù)信息執(zhí)行當(dāng)前任務(wù)以生成所述當(dāng)前任務(wù)的目標(biāo)配置項(xiàng);
配置項(xiàng)存儲(chǔ)模塊,用于將所述目標(biāo)配置項(xiàng)按照設(shè)定存儲(chǔ)方式存儲(chǔ)在與所述工作流對(duì)應(yīng)的配置資源池中。
第三方面,本發(fā)明實(shí)施例還提供了一種計(jì)算機(jī)設(shè)備,包括存儲(chǔ)器、處理器及存儲(chǔ)在存儲(chǔ)器上并可在處理器上運(yùn)行的計(jì)算機(jī)程序,所述處理器執(zhí)行所述程序時(shí)實(shí)現(xiàn)本發(fā)明實(shí)施例所述的工作流的組織方法。
第四方面,本發(fā)明實(shí)施例還提供了一種包含計(jì)算機(jī)可執(zhí)行指令的存儲(chǔ)介質(zhì),所述計(jì)算機(jī)可執(zhí)行指令在由計(jì)算機(jī)處理器執(zhí)行時(shí)用于執(zhí)行本發(fā)明實(shí)施例所述的工作流的組織方法。
本發(fā)明實(shí)施例提供的組織工作流的技術(shù)方案,根據(jù)工作流的指向信息確定工作流的當(dāng)前任務(wù)信息,根據(jù)所確定的當(dāng)前任務(wù)信息執(zhí)行工作流的當(dāng)前任務(wù)以生成當(dāng)前任務(wù)的目標(biāo)配置項(xiàng),并按照設(shè)定存儲(chǔ)方式將所生成的目標(biāo)配置項(xiàng)存儲(chǔ)在與該工作流對(duì)應(yīng)的配置資源池中。本發(fā)明實(shí)施例通過(guò)采用上述技術(shù)方案,為工作流設(shè)置配置資源池并將各任務(wù)生成的目標(biāo)配置項(xiàng)存儲(chǔ)在配置資源池中,可以降低工作流中各任務(wù)之間的耦合性,提高各任務(wù)模塊的重用性,減少更改各任務(wù)參數(shù)所耗費(fèi)的時(shí)間,提高工作流的靈活性。
附圖說(shuō)明
通過(guò)閱讀參照以下附圖所作的對(duì)非限制性實(shí)施例所作的詳細(xì)描述,本發(fā)明的其它特征、目的和優(yōu)點(diǎn)將會(huì)變得更明顯:
圖1為本發(fā)明實(shí)施例一提供的一種工作流的組織方法的流程示意圖;
圖2為本發(fā)明實(shí)施例二提供的一種工作流的組織方法的流程示意圖;
圖3a為本發(fā)明實(shí)施例三提供的一種優(yōu)選的工作流的組織方法的流程示意圖;
圖3b為本發(fā)明實(shí)施例三提供的一種工作流中各操作的執(zhí)行順序的示意圖;
圖4為本發(fā)明實(shí)施例四提供的一種工作流的組織裝置的結(jié)構(gòu)框圖;
圖5為本發(fā)明實(shí)施例五提供的一種計(jì)算機(jī)設(shè)備的結(jié)構(gòu)示意圖。
具體實(shí)施方式
下面結(jié)合附圖和實(shí)施例對(duì)本發(fā)明作進(jìn)一步的詳細(xì)說(shuō)明??梢岳斫獾氖?,此處所描述的具體實(shí)施例僅僅用于解釋本發(fā)明,而非對(duì)本發(fā)明的限定。另外還需要說(shuō)明的是,為了便于描述,附圖中僅示出了與本發(fā)明相關(guān)的部分而非全部?jī)?nèi)容。
實(shí)施例一
本發(fā)明實(shí)施例一提供一種工作流的組織方法。該方法可以由工作流的組織裝置執(zhí)行,其中,該裝置由軟件和/或硬件實(shí)現(xiàn),一般可集成在計(jì)算機(jī)中。圖1是本發(fā)明實(shí)施例一提供的工作流的組織方法的流程示意圖,如圖1所示,該方法包括:
s110、根據(jù)工作流的指向信息確定所述工作流的當(dāng)前任務(wù)信息,其中,所述工作流內(nèi)包含至少兩個(gè)任務(wù)。
具體的,工作流中可以包含兩個(gè)或更多個(gè)任務(wù),其中,每個(gè)任務(wù)可以由工作流對(duì)應(yīng)的主體業(yè)務(wù)(程序)拆分而成,其具體拆分規(guī)則可以根據(jù)主體業(yè)務(wù)包含的各個(gè)步驟之間的調(diào)用關(guān)系、耦合性或各步驟之間的調(diào)用關(guān)系發(fā)生變化的概率等信息確定,拆分形成的各任務(wù)中可以包含一個(gè)或多個(gè)步驟,例如,在多個(gè)包含幾個(gè)相同步驟的工作流中,如果該幾個(gè)步驟在使用時(shí)相互之間的耦合性較低或其調(diào)用順序發(fā)生變化的概率較高,則可以將該幾個(gè)步驟單獨(dú)劃分在不同的任務(wù)中;如果其中某幾個(gè)步驟之間的耦合性較高或在使用時(shí)調(diào)用的順序幾乎不發(fā)生變化,則可以將該幾個(gè)步驟劃分在同一任務(wù)中,此處不作限制。
本實(shí)施例中,工作流的指向信息可以是工作流中各任務(wù)的執(zhí)行順序信息,工作流中包含的任務(wù)以及各任務(wù)的執(zhí)行順序可以由開(kāi)發(fā)人員根據(jù)工作流對(duì)應(yīng)的主體業(yè)務(wù)以及工作流的應(yīng)用環(huán)境確定并將其存儲(chǔ)在與工作流對(duì)應(yīng)的設(shè)定存儲(chǔ)位置。示例性的,在確定當(dāng)前任務(wù)信息時(shí),可以首先根據(jù)工作流已執(zhí)行完成的前一任務(wù)以及工作流的指向信息確定工作流當(dāng)前需要執(zhí)行的任務(wù)(即當(dāng)前任務(wù)),然后根據(jù)所確定的當(dāng)前任務(wù)確定工作流的當(dāng)前任務(wù)信息。
s120、根據(jù)所述當(dāng)前任務(wù)信息執(zhí)行當(dāng)前任務(wù)以生成所述當(dāng)前任務(wù)的目標(biāo)配置項(xiàng)。
示例性的,當(dāng)前任務(wù)信息可以包括當(dāng)前任務(wù)的參數(shù)信息、各參數(shù)的調(diào)用位置信息和/或各參數(shù)的調(diào)用方式信息等;當(dāng)前任務(wù)的目標(biāo)配置項(xiàng)可以為當(dāng)前任務(wù)執(zhí)行過(guò)程中或執(zhí)行結(jié)束時(shí)生成的供后續(xù)任務(wù)調(diào)用的配置項(xiàng)。與當(dāng)前任務(wù)對(duì)應(yīng)的各參數(shù)可以在當(dāng)前任務(wù)開(kāi)始執(zhí)行時(shí)調(diào)用或在當(dāng)前任務(wù)執(zhí)行過(guò)程中調(diào)用,相應(yīng)的,在具體應(yīng)用時(shí),可以在當(dāng)前任務(wù)開(kāi)始執(zhí)行之前即獲取當(dāng)前任務(wù)對(duì)應(yīng)的各參數(shù)的參數(shù)信息;也可以在當(dāng)前任務(wù)的執(zhí)行過(guò)程中根據(jù)各參數(shù)的調(diào)用位置信息實(shí)時(shí)獲取當(dāng)前步驟所需參數(shù)的參數(shù)信息。
s130、將所述目標(biāo)配置項(xiàng)按照設(shè)定存儲(chǔ)方式存儲(chǔ)在與所述工作流對(duì)應(yīng)的配置資源池中。
具體的,在將目標(biāo)配置項(xiàng)存儲(chǔ)在工作流對(duì)應(yīng)的配置資源池中時(shí),可以首先在配置資源池中為每個(gè)任務(wù)的每個(gè)目標(biāo)配置項(xiàng)設(shè)置對(duì)應(yīng)的存儲(chǔ)位置,在存儲(chǔ)時(shí)將每個(gè)目標(biāo)配置項(xiàng)存儲(chǔ)在與其相對(duì)應(yīng)的存儲(chǔ)位置中;也可以首先為每個(gè)任務(wù)的每個(gè)目標(biāo)配置項(xiàng)設(shè)置與其對(duì)應(yīng)的編號(hào),在存儲(chǔ)時(shí)直接將目標(biāo)配置項(xiàng)與其編號(hào)以鍵值對(duì)的形式存儲(chǔ)在對(duì)應(yīng)的配置資源池中??紤]到配置資源池的利用率,可選的,可以將所述目標(biāo)配置項(xiàng)以鍵值對(duì)的形式存儲(chǔ)在與所述工作流對(duì)應(yīng)的配置資源池中。此時(shí),各任務(wù)的目標(biāo)配置項(xiàng)的編號(hào)可以根據(jù)需要進(jìn)行設(shè)置,例如,某一目標(biāo)配置項(xiàng)的編號(hào)可以為其按照生成順序排序時(shí)的序號(hào)或其他單一的數(shù)字,也可以為其功能信息或數(shù)據(jù)類(lèi)型信息等。在此需要指出的是,某一任務(wù)生成的目標(biāo)配置項(xiàng)的編號(hào)優(yōu)選與后續(xù)調(diào)用該目標(biāo)配置項(xiàng)的任務(wù)中該目標(biāo)配置項(xiàng)的編號(hào)相同,從而保證后續(xù)任務(wù)可以根據(jù)該目標(biāo)配置項(xiàng)的編號(hào)獲取到該目標(biāo)配置項(xiàng)的內(nèi)容。
本實(shí)施例中,配置資源池與工作流可以一對(duì)一或一對(duì)多設(shè)置,當(dāng)配置資源池與工作流一對(duì)多設(shè)置時(shí),可以為配置資源池中被不同工作流調(diào)用的相同功能或相同類(lèi)型的配置項(xiàng)設(shè)置不同的編號(hào),以使各工作流能夠準(zhǔn)確的調(diào)用其需要的配置項(xiàng)。為了減少同一任務(wù)在不同工作流中需調(diào)用不同編號(hào)的配置項(xiàng)所增加的工作量并降低各任務(wù)之間的耦合性,優(yōu)選的,可以將配置資源池與工作流一對(duì)一設(shè)置。
示例性的,將目標(biāo)配置項(xiàng)存入對(duì)應(yīng)的配置資源池中時(shí),可以根據(jù)需要選取直接將其寫(xiě)入配置資源池中、更新配置資源池中的部分配置項(xiàng)或不進(jìn)行存儲(chǔ)的操作等存儲(chǔ)方式進(jìn)行存儲(chǔ),例如,可以首先判斷配置資源池中是否存在與目標(biāo)配置項(xiàng)相同的配置項(xiàng),如果配置資源池中已存在與該目標(biāo)配置項(xiàng)的編號(hào)及內(nèi)容均完全相同的配置項(xiàng),則可以不對(duì)該目標(biāo)配置項(xiàng)進(jìn)行存儲(chǔ)的操作(本領(lǐng)域技術(shù)人員可以理解的是,此時(shí)雖未進(jìn)行存儲(chǔ)操作,但實(shí)際上相當(dāng)于已將該目標(biāo)配置項(xiàng)存儲(chǔ)在了配置資源池中);如果配置資源池中存在與該目標(biāo)配置項(xiàng)編號(hào)相同但內(nèi)容不完全相同的配置項(xiàng),則可以通過(guò)該目標(biāo)配置項(xiàng)的內(nèi)容替換該編號(hào)相同的配置項(xiàng)的內(nèi)容(即更新配置資源池中的部分配置項(xiàng))以將目標(biāo)配置項(xiàng)存儲(chǔ)在配置資源池中;如果配置資源池中不存在與該目標(biāo)配置項(xiàng)編號(hào)相同的配置項(xiàng),則可以該目標(biāo)配置項(xiàng)及其編號(hào)直接寫(xiě)入配置資源池中。需要指出的是,當(dāng)配置池中存在與該目標(biāo)配置項(xiàng)編號(hào)相同但內(nèi)容不同的配置項(xiàng)時(shí),可以進(jìn)一步判斷與配置資源池中已存在的配置項(xiàng)相比,目標(biāo)配置項(xiàng)的內(nèi)容是否更為詳細(xì),若是,則替換配置資源池中已存在的配置項(xiàng)的內(nèi)容;或者,也可以按照開(kāi)發(fā)商預(yù)先設(shè)定的替換規(guī)則確定是否替換配置資源池中已存在的具有相同編號(hào)的配置項(xiàng)的內(nèi)容,此處不作限制。
本發(fā)明實(shí)施例一提供的工作流的組織方法,根據(jù)工作流的指向信息確定工作流的當(dāng)前任務(wù)信息,根據(jù)所確定的當(dāng)前任務(wù)信息執(zhí)行工作流的當(dāng)前任務(wù)以生成當(dāng)前任務(wù)的目標(biāo)配置項(xiàng),并按照設(shè)定存儲(chǔ)方式將所生成的目標(biāo)配置項(xiàng)存儲(chǔ)在與該工作流對(duì)應(yīng)的配置資源池中。本實(shí)施例通過(guò)采用上述技術(shù)方案,為工作流設(shè)置配置資源池并將各任務(wù)生成的目標(biāo)配置項(xiàng)存儲(chǔ)在配置資源池中,可以降低工作流中各任務(wù)之間的耦合性,提高各任務(wù)模塊的重用性,減少更改各任務(wù)參數(shù)所耗費(fèi)的時(shí)間,提高工作流的靈活性。
實(shí)施例二
圖2為本發(fā)明實(shí)施例二提供的一種工作流的組織方法的流程示意圖。本實(shí)施例在上述實(shí)施例的基礎(chǔ)上進(jìn)行優(yōu)化,在本實(shí)施例中,將“根據(jù)所述當(dāng)前任務(wù)信息執(zhí)行當(dāng)前任務(wù)以生成所述當(dāng)前任務(wù)的目標(biāo)配置項(xiàng)”優(yōu)化為:根據(jù)所述原始配置項(xiàng)信息從與所述工作流對(duì)應(yīng)的配置資源池中獲取所述當(dāng)前任務(wù)的原始配置項(xiàng);根據(jù)所述執(zhí)行方式信息對(duì)所述原始配置項(xiàng)進(jìn)行處理以生成所述當(dāng)前任務(wù)的目標(biāo)配置項(xiàng)。
進(jìn)一步的,在所述根據(jù)工作流的指向信息確定所述工作流的當(dāng)前任務(wù)信息之前,還包括:從所述工作流的配置文件中獲取所述工作流的指向信息。
相應(yīng)的,如圖2所示,本實(shí)施例提供的工作流的組織方法包括:
s210、從所述工作流的配置文件中獲取所述工作流的指向信息。
本實(shí)施例中,工作流的指向信息可以由開(kāi)發(fā)人員根據(jù)需要進(jìn)行設(shè)置,其可以存儲(chǔ)在工作流的配置文件中,此時(shí),在執(zhí)行工作流時(shí)通過(guò)讀取工作流的配置文件即可確定工作流的指向信息。在實(shí)際應(yīng)用中,為了減少反復(fù)存儲(chǔ)工作流的指向信息所需的工作量與所占用的存儲(chǔ)空間,可選的,可以根據(jù)工作流各執(zhí)行順序的使用頻率為工作流設(shè)置默認(rèn)指向信息,當(dāng)某一工作流中各任務(wù)的執(zhí)行順序與所設(shè)置的默認(rèn)指向信息相同時(shí),則可以為該工作流設(shè)置空白配置文件或者不為該工作流設(shè)置配置文件。此時(shí),在獲取某一工作流的指向信息時(shí),可以首先判斷該工作流是否存在配置文件以及該工作流的配置文件是否為空白配置文件,如果該工作流不存在配置文件或該工作流的配置文件為空白配置文件,則可以將所設(shè)置的默認(rèn)指向信息作為該工作流的指向信息;如果該工作流存在文件內(nèi)容不為空的配置文件,則可以讀取該配置文件以確定該工作流的指向信息。
s220、根據(jù)工作流的指向信息確定所述工作流的當(dāng)前任務(wù)信息,其中,所述工作流內(nèi)包含至少兩個(gè)任務(wù)。
優(yōu)選的,所述當(dāng)前任務(wù)信息包括當(dāng)前任務(wù)的原始配置項(xiàng)信息和所述當(dāng)前任務(wù)的執(zhí)行方式信息。其中,原始配置項(xiàng)信息可以為執(zhí)行工作流的當(dāng)前任務(wù)所需要的配置項(xiàng)信息,執(zhí)行方式信息可以包括當(dāng)前任務(wù)對(duì)原始配置項(xiàng)的處理方式信息。
s230、根據(jù)所述原始配置項(xiàng)信息從與所述工作流對(duì)應(yīng)的配置資源池中獲取所述當(dāng)前任務(wù)的原始配置項(xiàng)。
示例性的,當(dāng)配置資源池中的各配置項(xiàng)的存儲(chǔ)方式為鍵值對(duì)時(shí),當(dāng)前任務(wù)的原始配置信息可以為當(dāng)前任務(wù)執(zhí)行過(guò)程中所需的配置項(xiàng)的編號(hào)信息,其可以在當(dāng)前任務(wù)執(zhí)行開(kāi)始之前獲取,也可以在當(dāng)前任務(wù)執(zhí)行的過(guò)程中獲取,此處不作限制。示例性的,在獲取當(dāng)前任務(wù)的原始配置項(xiàng)時(shí),可以首先根據(jù)當(dāng)前任務(wù)原始配置項(xiàng)的編號(hào)信息在配置資源池中確定該目標(biāo)配置項(xiàng)對(duì)應(yīng)的存儲(chǔ)位置,然后調(diào)用該存儲(chǔ)位置對(duì)應(yīng)的存儲(chǔ)內(nèi)容以確定當(dāng)前任務(wù)的原始配置項(xiàng)。
s240、根據(jù)所述執(zhí)行方式信息對(duì)所述原始配置項(xiàng)進(jìn)行處理以生成所述當(dāng)前任務(wù)的目標(biāo)配置項(xiàng)。
本實(shí)施例中,某一任務(wù)可以對(duì)應(yīng)一個(gè)或多個(gè)目標(biāo)配置項(xiàng),某一任務(wù)對(duì)應(yīng)的目標(biāo)配置項(xiàng)可以在該任務(wù)執(zhí)行過(guò)程中生成和/或在該任務(wù)執(zhí)行結(jié)束時(shí)生成;當(dāng)前任務(wù)的執(zhí)行方式信息可以包括當(dāng)前任務(wù)各原始配置項(xiàng)的調(diào)用順序和處理方式等信息。示例性的,具體應(yīng)用時(shí),可以根據(jù)各原始配置項(xiàng)的調(diào)用順序依次調(diào)用各原始配置項(xiàng)并按照與其對(duì)應(yīng)的處理方式對(duì)其進(jìn)行處理,從而生成當(dāng)前任務(wù)的目標(biāo)配置項(xiàng)。
s250、將所述目標(biāo)配置項(xiàng)按照設(shè)定存儲(chǔ)方式存儲(chǔ)在與所述工作流對(duì)應(yīng)的配置資源池中。
本發(fā)明實(shí)施例二提供的工作流的組織方法,為工作流設(shè)置配置資源池,執(zhí)行工作流中的各任務(wù)時(shí)從工作流對(duì)應(yīng)的配置資源池中獲取當(dāng)前任務(wù)的原始配置項(xiàng),并將執(zhí)行當(dāng)前任務(wù)生成的目標(biāo)配置項(xiàng)存儲(chǔ)在工作流的配置資源池中,可以降低工作流中各任務(wù)之間的耦合性,提高各任務(wù)模塊的重用性,減少更改各任務(wù)參數(shù)所耗費(fèi)的時(shí)間并提高工作流的靈活性。
在上述方案的基礎(chǔ)上,本實(shí)施例提供的工作流的組織方法還可以包括:在執(zhí)行所述工作流之前,按照設(shè)定構(gòu)建規(guī)則構(gòu)建與所述工作流對(duì)應(yīng)的配置資源池;在所述工作流執(zhí)行結(jié)束之后,按照設(shè)定釋放規(guī)則釋放與所述工作流對(duì)應(yīng)的配置資源池。本實(shí)施例中,存儲(chǔ)資源池可以為用于存儲(chǔ)工作流各任務(wù)對(duì)應(yīng)的配置項(xiàng)的存儲(chǔ)空間。為了避免不同工作流之間配置項(xiàng)的混淆并減少存儲(chǔ)空間的占用,優(yōu)選的,可以在工作流開(kāi)始執(zhí)行之前為其構(gòu)建與其對(duì)應(yīng)的配置資源池,并在工作流執(zhí)行結(jié)束后釋放存儲(chǔ)資源池所占用的存儲(chǔ)空間。
示例性的,在構(gòu)建工作流對(duì)應(yīng)的存儲(chǔ)空間時(shí),可以首先獲取設(shè)備目前可用的存儲(chǔ)資源,然后從可用的存儲(chǔ)資源中隨機(jī)或按照設(shè)定方式獲取與該工作流對(duì)應(yīng)的資源池信息相符的存儲(chǔ)空間作為該工作流對(duì)應(yīng)的配置資源池。其中,所獲取的存儲(chǔ)空間可以為連續(xù)或非連續(xù)空間,某一工作流對(duì)應(yīng)的資源池信息可以為該工作流的配置資源池的大小信息,其可以由開(kāi)發(fā)商根據(jù)該工作流中各任務(wù)對(duì)應(yīng)的配置項(xiàng)的數(shù)量與大小確定,不同工作流對(duì)應(yīng)的資源池信息可以相同或不同。示例性的,在釋放工作流對(duì)應(yīng)的存儲(chǔ)資源池時(shí),可以通過(guò)清空存儲(chǔ)資源池中存儲(chǔ)的內(nèi)容,并將存儲(chǔ)資源池的首地址的指針指向設(shè)備目前可用的存儲(chǔ)資源的末地址或其他地址的方式來(lái)達(dá)到釋放工作流相對(duì)應(yīng)的存儲(chǔ)空間的目的。
實(shí)施例三
圖3a為本發(fā)明實(shí)施例三提供的一種優(yōu)選的工作流的組織方法的流程示意圖,該方法可以由工作流的組織裝置執(zhí)行,該裝置可集成在計(jì)算機(jī)中。圖3b為本實(shí)施例提供的一種工作流(包含m個(gè)任務(wù))中各操作的執(zhí)行順序的示意圖,如圖3a和圖3b所示,本實(shí)施例提供的工作流的組織方法包括:
s310、監(jiān)測(cè)用戶(hù)是否觸發(fā)執(zhí)行工作流的操作,若是,則執(zhí)行s320;若否,則返回執(zhí)行步驟s310。
s320、根據(jù)設(shè)定構(gòu)建規(guī)則構(gòu)建與工作流對(duì)應(yīng)的配置資源池,并獲取工作流的指向信息。
s330、根據(jù)工作流的指向信息確定工作流需要執(zhí)行的當(dāng)前任務(wù),并確定當(dāng)前任務(wù)需要從配置資源池中獲取的原始配置項(xiàng)信息和當(dāng)前任務(wù)的執(zhí)行方式信息。
s340、根據(jù)當(dāng)前任務(wù)需要從配置資源池中獲取的原始配置項(xiàng)信息從工作流對(duì)應(yīng)的配置資源池中獲取當(dāng)前任務(wù)的原始配置項(xiàng)。
s350、根據(jù)當(dāng)前任務(wù)的執(zhí)行方式信息對(duì)當(dāng)前任務(wù)的原始配置項(xiàng)進(jìn)行處理以生成當(dāng)前任務(wù)的目標(biāo)配置項(xiàng)。
s360、將當(dāng)前任務(wù)的目標(biāo)配置項(xiàng)按照設(shè)定存儲(chǔ)方式存儲(chǔ)在與工作流對(duì)應(yīng)的配置資源池中。
s370、判斷當(dāng)前任務(wù)是否存在下一任務(wù),若是,則返回執(zhí)行s330;若否,則執(zhí)行s380。
s380、按照設(shè)定釋放規(guī)則釋放與工作流對(duì)應(yīng)的配置資源池。
本發(fā)明實(shí)施例三提供的優(yōu)選的工作流的組織方法,在執(zhí)行工作流之前為工作流設(shè)置配置資源池,執(zhí)行工作流中的各任務(wù)時(shí)從工作流對(duì)應(yīng)的配置資源池中獲取當(dāng)前任務(wù)的原始配置項(xiàng),并將執(zhí)行當(dāng)前任務(wù)生成的目標(biāo)配置項(xiàng)存儲(chǔ)在工作流的配置資源池中,在工作流執(zhí)行結(jié)束后釋放工作流對(duì)應(yīng)的配置資源池,不但可以降低工作流中各任務(wù)之間的耦合性,提高各任務(wù)模塊的重用性,減少更改各任務(wù)參數(shù)所耗費(fèi)的時(shí)間并提高工作流的靈活性;還可以減少配置資源池對(duì)設(shè)備存儲(chǔ)資源的占用,降低對(duì)設(shè)備性能的要求,提高用戶(hù)的使用體驗(yàn)。
實(shí)施例四
本發(fā)明實(shí)施例四提供一種工作流的組織裝置。該裝置可由軟件和/或硬件實(shí)現(xiàn),一般可以集成在計(jì)算機(jī)中,可通過(guò)執(zhí)行工作流的組織方法來(lái)組織工作流。圖4為本發(fā)明實(shí)施例提供的工作流的組織裝置的結(jié)構(gòu)框圖,如圖4所示,該裝置包括:
當(dāng)前任務(wù)確定模塊401,用于根據(jù)工作流的指向信息確定所述工作流的當(dāng)前任務(wù)信息,其中,所述工作流內(nèi)包含至少兩個(gè)任務(wù);
配置項(xiàng)生成模塊402,用于根據(jù)所述當(dāng)前任務(wù)信息執(zhí)行當(dāng)前任務(wù)以生成所述當(dāng)前任務(wù)的目標(biāo)配置項(xiàng);
配置項(xiàng)存儲(chǔ)模塊403,用于將所述目標(biāo)配置項(xiàng)按照設(shè)定存儲(chǔ)方式存儲(chǔ)在與所述工作流對(duì)應(yīng)的配置資源池中。
本發(fā)明實(shí)施例四提供的工作流的組織裝置,通過(guò)當(dāng)前任務(wù)確定模塊根據(jù)工作流的指向信息確定工作流的當(dāng)前任務(wù)信息,通過(guò)配置項(xiàng)生成模塊根據(jù)所確定的當(dāng)前任務(wù)信息執(zhí)行工作流的當(dāng)前任務(wù)以生成當(dāng)前任務(wù)的目標(biāo)配置項(xiàng),通過(guò)配置項(xiàng)存儲(chǔ)模塊按照設(shè)定存儲(chǔ)方式將所生成的目標(biāo)配置項(xiàng)存儲(chǔ)在與該工作流對(duì)應(yīng)的配置資源池中。本發(fā)明實(shí)施例通過(guò)采用上述技術(shù)方案,為工作流設(shè)置配置資源池并將各任務(wù)生成的目標(biāo)配置項(xiàng)存儲(chǔ)在配置資源池中,可以降低工作流中各任務(wù)之間的耦合性,提高各任務(wù)模塊的重用性,減少更改各任務(wù)參數(shù)所耗費(fèi)的時(shí)間,提高工作流的靈活性。
在上述方案中,所述當(dāng)前任務(wù)信息可以包括當(dāng)前任務(wù)的原始配置項(xiàng)信息和所述當(dāng)前任務(wù)的執(zhí)行方式信息;所述配置項(xiàng)生成模塊可以包括:原始配置項(xiàng)獲取單元,用于根據(jù)所述原始配置項(xiàng)信息從與所述工作流對(duì)應(yīng)的配置資源池中獲取所述當(dāng)前任務(wù)的原始配置項(xiàng);目標(biāo)配置項(xiàng)生成單元,用于根據(jù)所述執(zhí)行方式信息對(duì)所述原始配置項(xiàng)進(jìn)行處理以生成所述當(dāng)前任務(wù)的目標(biāo)配置項(xiàng)。
在上述方案中,所述配置項(xiàng)存儲(chǔ)模塊可以具體用于:將所述目標(biāo)配置項(xiàng)以鍵值對(duì)的形式存儲(chǔ)在與所述工作流對(duì)應(yīng)的配置資源池中。
進(jìn)一步地,本實(shí)施例提供的工作流的組織裝置還可以包括:指向信息獲取模塊,用于在所述根據(jù)工作流的指向信息確定所述工作流的當(dāng)前任務(wù)信息之前,從所述工作流的配置文件中獲取所述工作流的指向信息。
進(jìn)一步地,本實(shí)施例提供的工作流的組織裝置還可以包括:配置資源池構(gòu)建模塊,用于在執(zhí)行所述工作流之前,按照設(shè)定構(gòu)建規(guī)則構(gòu)建與所述工作流對(duì)應(yīng)的配置資源池;配置資源池釋放模塊,用于在所述工作流執(zhí)行結(jié)束之后,按照設(shè)定釋放規(guī)則釋放與所述工作流對(duì)應(yīng)的配置資源池。
本發(fā)明實(shí)施例四提供的工作流的組織裝置可執(zhí)行本發(fā)明任意實(shí)施例提供的工作流的組織方法,具備執(zhí)行工作流的組織方法相應(yīng)的功能模塊和有益效果。未在本實(shí)施例中詳盡描述的技術(shù)細(xì)節(jié),可參見(jiàn)本發(fā)明任意實(shí)施例所提供的工作流的組織方法。
實(shí)施例五
圖5為本發(fā)明實(shí)施例五提供的一種計(jì)算機(jī)設(shè)備的結(jié)構(gòu)示意圖,如圖5所示,該計(jì)算機(jī)設(shè)備包括處理器50、存儲(chǔ)器51、輸入裝置52和輸出裝置53;計(jì)算機(jī)設(shè)備中處理器50的數(shù)量可以是一個(gè)或多個(gè),圖5中以一個(gè)處理器50為例;計(jì)算機(jī)設(shè)備中的處理器50、存儲(chǔ)器51、輸入裝置52和輸出裝置53可以通過(guò)總線或其他方式連接,圖5中以通過(guò)總線連接為例。
存儲(chǔ)器51作為一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),可用于存儲(chǔ)軟件程序、計(jì)算機(jī)可執(zhí)行程序以及模塊,如本發(fā)明實(shí)施例中的工作流的組織方法對(duì)應(yīng)的程序指令/模塊(例如,工作流的組織裝置中的當(dāng)前任務(wù)確定模塊401、配置項(xiàng)生成模塊402和配置項(xiàng)存儲(chǔ)模塊403)。處理器50通過(guò)運(yùn)行存儲(chǔ)在存儲(chǔ)器51中的軟件程序、指令以及模塊,從而執(zhí)行計(jì)算機(jī)設(shè)備的各種功能應(yīng)用以及數(shù)據(jù)處理,即實(shí)現(xiàn)上述的工作流的組織方法。
存儲(chǔ)器51可主要包括存儲(chǔ)程序區(qū)和存儲(chǔ)數(shù)據(jù)區(qū),其中,存儲(chǔ)程序區(qū)可存儲(chǔ)操作系統(tǒng)、至少一個(gè)功能所需的應(yīng)用程序;存儲(chǔ)數(shù)據(jù)區(qū)可存儲(chǔ)根據(jù)終端的使用所創(chuàng)建的數(shù)據(jù)等。此外,存儲(chǔ)器51可以包括高速隨機(jī)存取存儲(chǔ)器,還可以包括非易失性存儲(chǔ)器,例如至少一個(gè)磁盤(pán)存儲(chǔ)器件、閃存器件、或其他非易失性固態(tài)存儲(chǔ)器件。在一些實(shí)例中,存儲(chǔ)器51可進(jìn)一步包括相對(duì)于處理器50遠(yuǎn)程設(shè)置的存儲(chǔ)器,這些遠(yuǎn)程存儲(chǔ)器可以通過(guò)網(wǎng)絡(luò)連接至計(jì)算機(jī)設(shè)備。上述網(wǎng)絡(luò)的實(shí)例包括但不限于互聯(lián)網(wǎng)、企業(yè)內(nèi)部網(wǎng)、局域網(wǎng)、移動(dòng)通信網(wǎng)及其組合。
輸入裝置52可用于接收輸入的數(shù)字或字符信息,以及產(chǎn)生與計(jì)算機(jī)設(shè)備的用戶(hù)設(shè)置以及功能控制有關(guān)的鍵信號(hào)輸入。輸出裝置53可包括顯示屏等顯示設(shè)備。
實(shí)施例六
本發(fā)明實(shí)施例六還提供一種包含計(jì)算機(jī)可執(zhí)行指令的存儲(chǔ)介質(zhì),所述計(jì)算機(jī)可執(zhí)行指令在由計(jì)算機(jī)處理器執(zhí)行時(shí)用于執(zhí)行一種工作流的組織方法,該方法包括:
根據(jù)工作流的指向信息確定所述工作流的當(dāng)前任務(wù)信息,其中,所述工作流內(nèi)包含至少兩個(gè)任務(wù);
根據(jù)所述當(dāng)前任務(wù)信息執(zhí)行當(dāng)前任務(wù)以生成所述當(dāng)前任務(wù)的目標(biāo)配置項(xiàng);
將所述目標(biāo)配置項(xiàng)按照設(shè)定存儲(chǔ)方式存儲(chǔ)在與所述工作流對(duì)應(yīng)的配置資源池中。
當(dāng)然,本發(fā)明實(shí)施例所提供的一種包含計(jì)算機(jī)可執(zhí)行指令的存儲(chǔ)介質(zhì),其計(jì)算機(jī)可執(zhí)行指令不限于如上所述的方法操作,還可以執(zhí)行本發(fā)明任意實(shí)施例所提供的工作流的組織方法中的相關(guān)操作。
在流程圖中表示或在此以其他方式描述的邏輯和/或步驟,例如,可以被認(rèn)為是用于實(shí)現(xiàn)邏輯功能的可執(zhí)行指令的定序列表,可以具體實(shí)現(xiàn)在任何計(jì)算機(jī)可讀介質(zhì)中,以供指令執(zhí)行系統(tǒng)、裝置或設(shè)備(如基于計(jì)算機(jī)的系統(tǒng)、包括處理器的系統(tǒng)或其他可以從指令執(zhí)行系統(tǒng)、裝置或設(shè)備取指令并執(zhí)行指令的系統(tǒng))使用,或結(jié)合這些指令執(zhí)行系統(tǒng)、裝置或設(shè)備而使用。就本說(shuō)明書(shū)而言,“計(jì)算機(jī)可讀介質(zhì)”可以是任何可以包含、存儲(chǔ)、通信、傳播或傳輸程序以供指令執(zhí)行系統(tǒng)、裝置或設(shè)備或結(jié)合這些指令執(zhí)行系統(tǒng)、裝置或設(shè)備而使用的裝置。
計(jì)算機(jī)可讀介質(zhì)的更具體的示例(非窮盡性列表)包括以下:具有一個(gè)或多個(gè)布線的電連接部(電子裝置),便攜式計(jì)算機(jī)盤(pán)盒(磁裝置),隨機(jī)存取存儲(chǔ)器(ram),只讀存儲(chǔ)器(rom),可擦除可編輯只讀存儲(chǔ)器(eprom或閃速存儲(chǔ)器),光纖裝置,以及便攜式光盤(pán)只讀存儲(chǔ)器(cdrom)。另外,計(jì)算機(jī)可讀介質(zhì)甚至可以是可在其上打印所述程序的紙或其他合適的介質(zhì),因?yàn)榭梢岳缤ㄟ^(guò)對(duì)紙或其他介質(zhì)進(jìn)行光學(xué)掃描,接著進(jìn)行編輯、解譯或必要時(shí)以其他合適方式進(jìn)行處理來(lái)以電子方式獲得所述程序,然后將其存儲(chǔ)在計(jì)算機(jī)存儲(chǔ)器中。
應(yīng)當(dāng)理解,本發(fā)明的各部分可以用硬件、軟件、固件或它們的組合來(lái)實(shí)現(xiàn)。在上述實(shí)施方式中,多個(gè)步驟或方法可以用存儲(chǔ)在存儲(chǔ)器中且由合適的指令執(zhí)行系統(tǒng)執(zhí)行的軟件或固件來(lái)實(shí)現(xiàn)。例如,如果用硬件來(lái)實(shí)現(xiàn),和在另一實(shí)施方式中一樣,可用本領(lǐng)域公知的下列技術(shù)中的任一項(xiàng)或他們的組合來(lái)實(shí)現(xiàn):具有用于對(duì)數(shù)據(jù)信號(hào)實(shí)現(xiàn)邏輯功能的邏輯門(mén)電路的離散邏輯電路,具有合適的組合邏輯門(mén)電路的專(zhuān)用集成電路,可編程門(mén)陣列(pga),現(xiàn)場(chǎng)可編程門(mén)陣列(fpga)等。
在本說(shuō)明書(shū)的描述中,參考術(shù)語(yǔ)“一個(gè)實(shí)施例”、“一些實(shí)施例”、“示例”、“具體示例”、或“一些示例”等的描述意指結(jié)合該實(shí)施例或示例描述的具體特征、結(jié)構(gòu)、材料或者特點(diǎn)包含于本發(fā)明的至少一個(gè)實(shí)施例或示例中。在本說(shuō)明書(shū)中,對(duì)上述術(shù)語(yǔ)的示意性表述不一定指的是相同的實(shí)施例或示例。而且,描述的具體特征、結(jié)構(gòu)、材料或者特點(diǎn)可以在任何的一個(gè)或多個(gè)實(shí)施例或示例中以合適的方式結(jié)合。
注意,上述僅為本發(fā)明的較佳實(shí)施例及所運(yùn)用技術(shù)原理。本領(lǐng)域技術(shù)人員會(huì)理解,本發(fā)明不限于這里所述的特定實(shí)施例,對(duì)本領(lǐng)域技術(shù)人員來(lái)說(shuō)能夠進(jìn)行各種明顯的變化、重新調(diào)整和替代而不會(huì)脫離本發(fā)明的保護(hù)范圍。因此,雖然通過(guò)以上實(shí)施例對(duì)本發(fā)明進(jìn)行了較為詳細(xì)的說(shuō)明,但是本發(fā)明不僅僅限于以上實(shí)施例,在不脫離本發(fā)明構(gòu)思的情況下,還可以包括更多其他等效實(shí)施例,而本發(fā)明的范圍由所附的權(quán)利要求范圍決定。