亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種支持任意流程結(jié)構(gòu)的云工作流調(diào)度方法與流程

文檔序號:12272558閱讀:219來源:國知局
一種支持任意流程結(jié)構(gòu)的云工作流調(diào)度方法與流程
本發(fā)明主要涉及一種支持任意流程結(jié)構(gòu)的云工作流調(diào)度方法,屬于信息技術(shù)及計算機領(lǐng)域,具體地說,它是一種對云計算環(huán)境下各種類型工作流模型都具有普遍適用性并考慮服務(wù)質(zhì)量指標(biāo)的云工作流調(diào)度算法。
背景技術(shù)
:隨著計算機互聯(lián)網(wǎng)技術(shù)的發(fā)展成熟,云計算技術(shù)應(yīng)運而生,經(jīng)過了近十年各大IT企業(yè)和相關(guān)研究機構(gòu)對云計算技術(shù)的實踐和探索,云服務(wù)已受到越來越多國家、企業(yè)、個人的青睞,需求的不斷增加促使國內(nèi)外多家IT企業(yè)競相推出了自己的云產(chǎn)品。然而,在云計算技術(shù)迅猛發(fā)展的同時,其產(chǎn)品的安全性、可靠性以及實用性等問題引起了供求雙方以及相關(guān)領(lǐng)域?qū)W者的高度關(guān)注,其中,貫穿云計算應(yīng)用全過程的任務(wù)調(diào)度問題就是一項重難點問題。由于云計算的調(diào)度問題是一個NP-hard(non-deterministicpolynomial-hard)問題,因此這類問題只能尋求一個有效的近似算法而不能精確求解,當(dāng)前云工作流調(diào)度算法主要分為基于最大努力(best-effortbased)的工作流調(diào)度算法和基于QoS約束(QoSconstraintbased)的工作流調(diào)度算法兩大類,前者類別的算法中常見的有動態(tài)關(guān)鍵路徑算法DCP(DynamicCriticalPath)法、min-min法、HEFT(HeterogeneousEarliestFinishTime)法等,此類調(diào)度算法僅以獲得最小執(zhí)行時間為調(diào)度目標(biāo),不適用于具有商業(yè)性質(zhì)的云工作流環(huán)境中;而后者類別的算法不僅考慮對工作流的執(zhí)行時間進行優(yōu)化,同時考慮執(zhí)行費用的優(yōu)化以及安全性、可靠性等非功能性指標(biāo)。當(dāng)前研究中,基于QoS約束的調(diào)度算法主要PCP(PartialCriticalPath)法、MCP(ModifiedCriticalPath)算法以及基于遺傳算法、蟻群算法等典型的啟發(fā)式算法。雖然已有諸多現(xiàn)有調(diào)度算法,但其中的大多數(shù)算法在實際運用中都存有一定局限,不具有對所有工作流模型結(jié)構(gòu)的普適性,比如說基于DAG(DirectedAcyclicGragh)圖的工作流調(diào)度算法,雖然表現(xiàn)形式上簡單直觀,并在一些實際的運用中也表現(xiàn)出了較好的性能,但這樣的算法不適用于具有選擇、循環(huán)邏輯控制結(jié)構(gòu)的工作流調(diào)度問題中,其原因是DAG圖不能描述具有選擇、循環(huán)這兩種邏輯結(jié)構(gòu)的工作流模型。技術(shù)實現(xiàn)要素:本發(fā)明的目的是提出一種支持任意流程結(jié)構(gòu)的云工作流調(diào)度方法。該方法是在截止期限約束下,以最小化云工作流執(zhí)行費用為調(diào)度目標(biāo),通過有向圖對任務(wù)進行建模,既保留了DAG圖簡單直觀的建模優(yōu)點,又適用于包括了選擇、循環(huán)邏輯結(jié)構(gòu)的工作流調(diào)度問題;通過對資源的靜態(tài)匹配和動態(tài)調(diào)整進行任務(wù)調(diào)度,優(yōu)化了資源的選擇,具有很好的普適性。本發(fā)明的目的是通過以下技術(shù)方案實現(xiàn)的。本發(fā)明提出的一種支持任意流程結(jié)構(gòu)的云工作流調(diào)度方法,其操作步驟為:步驟一、采用有向圖對任務(wù)進行工作流建模。一個任務(wù)對應(yīng)一個工作流,一個工作流通過一個三元組Ω(T,Λ,D)來描述,其中T為節(jié)點集合,T=(T1,T2……Tn),每個節(jié)點Ti對應(yīng)工作流的各子任務(wù),i∈[1,n]且i為正整數(shù);Λ為有向邊Tij的集合;Tij=(Ti,Tj),j∈[1,n],j為正整數(shù),且i≠j;Ti是Tj的直接前驅(qū)子任務(wù),當(dāng)Ti的所有的前驅(qū)任務(wù)完成后,Tj才能開始執(zhí)行D表示所述工作流的執(zhí)行截止期限,工作流任務(wù)必須在該截止期限內(nèi)執(zhí)行完畢并把結(jié)果返回給用戶,如果工作流執(zhí)行超過了該時間D,則表明服務(wù)提供商不能按照用戶提出的要求提供服務(wù),此時將按照規(guī)定向用戶進行賠償。任意子任務(wù)Ti都有節(jié)點輸入特性(用符號表示)和節(jié)點輸出特性(用符號表示),LT∈{AND,OR,XOR},AND表示“與”邏輯類型,OR表示“或”邏輯類型,XOR表示“循環(huán)”邏輯類型。和分別表示子任務(wù)Ti的直接前驅(qū)子任務(wù)與直接后繼子任務(wù)。步驟二、對云服務(wù)資源建模。在步驟一操作的基礎(chǔ)上,對云服務(wù)資源建模。在云環(huán)境下,對于任意一項子任務(wù)Ti,均存在多個可使用的云服務(wù)資源能實現(xiàn)其功能性的執(zhí)行要求,將可使用的云服務(wù)資源的集合稱為子任務(wù)Ti的服務(wù)資源池,用符號Si表示,分別表示第1個至第L(i)個可使用的云服務(wù)資源,并且按照對子任務(wù)Ti的預(yù)計執(zhí)行時間從小到大進行排序;L(i)表示Ti資源池中資源的個數(shù)??紤]工作流執(zhí)行時間和使用資源應(yīng)付費用這兩個非功能指標(biāo),將可使用的云服務(wù)資源表示為和分別表示將Ti調(diào)度到服務(wù)資源池中的第k個資源上的執(zhí)行時間和應(yīng)付費用。步驟三、建立工作流調(diào)度目標(biāo)函數(shù)在步驟二的基礎(chǔ)上,建立工作流調(diào)度目標(biāo)函數(shù)。當(dāng)服務(wù)提供商接受了用戶的服務(wù)請求之后,將根據(jù)用戶所提出的功能性指標(biāo)和非功能性指標(biāo)進行任務(wù)解析、資源匹配和任務(wù)調(diào)度,與此同時,服務(wù)提供商為了使收益最大化,需要通過改進調(diào)度策略,為任務(wù)匹配合適的資源以提高資源的利用率。因此,在對調(diào)度策略進行設(shè)計時,需要構(gòu)造工作流調(diào)度的目標(biāo)函數(shù)及相關(guān)約束函數(shù),以此更加直觀的反映出作為調(diào)度目標(biāo)的指標(biāo)與其它約束指標(biāo)之間的關(guān)系。對于截止期限約束下的費用優(yōu)化問題,其調(diào)度目標(biāo)函數(shù)如公式(1)所示,其表明了該工作流調(diào)度是以最小化資源使用費用為目標(biāo)的;約束條件如公式(2)至公式(5)所示。其中,是一個值為1或為0的布爾值,當(dāng)子任務(wù)Ti被調(diào)度到其服務(wù)資源池Si中的第k個資源上執(zhí)行時,的值為1,否則為0;是指子任務(wù)Ti匹配到其服務(wù)資源池Si中的第k個資源上執(zhí)行時,對應(yīng)的資源費用;公式(2)表示了一個約束條件,說明每個子任務(wù)最終只能調(diào)度到一個資源上執(zhí)行;其中,表示子任務(wù)Tj匹配到資源上執(zhí)行,對應(yīng)的執(zhí)行時間;fi表示子任務(wù)Ti在其所匹配到的資源上執(zhí)行,對應(yīng)的完成時刻;fj表示子任務(wù)Tj在其所匹配到的資源上執(zhí)行,對應(yīng)的完成時刻。公式(3)描述了子任務(wù)間的依賴關(guān)系,子任務(wù)Tj的開始執(zhí)行時刻大于其直接前驅(qū)子任務(wù)Ti的執(zhí)行完成時刻,若子任務(wù)有多個直接前驅(qū)子任務(wù),則表示最后一個直接前驅(qū)子任務(wù)執(zhí)行對應(yīng)的完成時刻。fn≤D(4)其中,fn表示工作流全局關(guān)鍵路徑上末節(jié)點子任務(wù)Tn的執(zhí)行完成時刻。公式(4)表示總?cè)蝿?wù)的完成時刻不得超過用戶提出的截止期限。xik∈{0,1},1≤i≤n,1≤k≤L(i)(5)公式(5)用來約束是布爾變量,以及變量i和k的取值范圍。步驟四、化簡工作流模型,獲得工作流的估計執(zhí)行時間。在步驟一的基礎(chǔ)上,化簡工作流模型,獲得工作流的估計執(zhí)行時間。具體為:步驟4.1:將步驟一的得到的工作流模型按照不同的控制結(jié)構(gòu)進行分段。所述控制結(jié)構(gòu)包括:順序控制結(jié)構(gòu)、并行控制結(jié)構(gòu)、選擇控制結(jié)構(gòu)、循環(huán)控制結(jié)構(gòu)和嵌套控制結(jié)構(gòu)。步驟4.2:分別計算每段控制結(jié)構(gòu)對應(yīng)的等效任務(wù)的估計執(zhí)行時間。(i)對于順序控制結(jié)構(gòu)化簡的方法為:將處于同一順序控制結(jié)構(gòu)的子任務(wù)合并為一個等效任務(wù),該等效任務(wù)的估計執(zhí)行時間為該結(jié)構(gòu)中各子任務(wù)估計執(zhí)行時間之和,如公式(6)所示。其中,dE為等效任務(wù)的估計執(zhí)行時間;dz為該順序結(jié)構(gòu)中各子任務(wù)的估計執(zhí)行時間,r為該順序結(jié)構(gòu)中子任務(wù)的個數(shù),r為正整數(shù)。(ii)并行控制結(jié)構(gòu)化簡方法為:比較處于并行控制結(jié)構(gòu)各個分支上的子任務(wù)或等效任務(wù)的估計執(zhí)行時間,保留估計執(zhí)行時間最長的分支作為該并行結(jié)構(gòu)的等效任務(wù),該等效任務(wù)的估計執(zhí)行時間是最長的一條分支上的子任務(wù)的估計執(zhí)行時間之和,如公式(7)所示。所述其中,為第i′條并行分支上的第j′個任務(wù)的估計執(zhí)行時間,i′,j′為正整數(shù)。(iii)選擇控制結(jié)構(gòu)化簡方法為:選擇控制結(jié)構(gòu)有N條分支,N>1;選擇控制結(jié)構(gòu)執(zhí)行時,只有一條分支上的任務(wù)會被執(zhí)行,根據(jù)歷史的工作流執(zhí)行運行數(shù)據(jù)統(tǒng)計,每條分支可能被執(zhí)行的執(zhí)行概率為Pt,通過加權(quán)求和的方法將選擇控制結(jié)構(gòu)進行化簡,合并各個選擇分支任務(wù)成為一個等效任務(wù),該等效任務(wù)的估計執(zhí)行時間,如公式(8)所示。其中,dt表示第t個分支上各任務(wù)的估計執(zhí)行時間之和,Pt表示第t個分支上的任務(wù)被執(zhí)行的概率,Pt根據(jù)歷史的工作流執(zhí)行運行數(shù)據(jù)獲得。(iv)循環(huán)控制結(jié)構(gòu)化簡方法為:循環(huán)控制結(jié)構(gòu)中,進入循環(huán)與結(jié)束循環(huán)的概率分別用1-P和P表示,循環(huán)h(h≥0)次的估計執(zhí)行時間為dh,dh=(1+h)dA+hdR,其中dA為前向路徑上各子任務(wù)的估計執(zhí)行時間之和,dR為循環(huán)回路上各子任務(wù)的等效執(zhí)行時間。通過將循環(huán)結(jié)構(gòu)上的各任務(wù)等效合并為一個等效任務(wù),該等效任務(wù)的估計執(zhí)行時間,如公式(9)所示。其中,Ph為出現(xiàn)h次循環(huán)的概率,Ph=P(1-P)h。(v)分支嵌套控制結(jié)構(gòu)化簡方法為:分支嵌套控制結(jié)構(gòu)的基本形式為:子任務(wù)T1有兩個直接后繼子任務(wù)子T2和T3,子任務(wù)T2的直接后繼子任務(wù)為T4和T5,子任務(wù)T3的直接后繼子任務(wù)為T5,子任務(wù)T4和子任務(wù)T5的直接后繼子任務(wù)為T6。分支嵌套控制結(jié)構(gòu)的化簡分2種情況處理:情況1:當(dāng)子任務(wù)T2的估計執(zhí)行時間大于子任務(wù)T3的估計執(zhí)行時間時:由于T2的估計執(zhí)行時間(用符號d2表示)大于T3的估計執(zhí)行時間(用符號d3表示),所以路徑{T1,T2,T5}的估計執(zhí)行時間大于路徑{T1,T3,T5}的估計執(zhí)行時間,則將子任務(wù)T3從分支嵌套控制結(jié)構(gòu)中去除。剩余部分按照順序、并行、選擇或循環(huán)控制結(jié)構(gòu)的化簡方法對其進行化簡。情況2:當(dāng)子任務(wù)T2的估計執(zhí)行時間小于或等于子任務(wù)T3的估計執(zhí)行時間時:由于子任務(wù)T2的估計執(zhí)行時間d2小于或等于子任務(wù)T3的估計執(zhí)行時間d3,所以路徑{T1,T2,T5}的執(zhí)行時間小于或等于路徑{T1,T3,T5},則將子任務(wù)T2與子任務(wù)T5之間的連接斷開,即:子任務(wù)為T5不再是子任務(wù)T2的直接后繼子任務(wù)。剩余部分按照順序、并行、選擇或循環(huán)控制結(jié)構(gòu)的化簡方法對其進行化簡。步驟4.3:將每段控制結(jié)構(gòu)對應(yīng)的等效任務(wù)的估計執(zhí)行時間進行求和,得到工作流的估計執(zhí)行時間。步驟五、計算化簡后的工作流的松弛時間。在步驟四的基礎(chǔ)上,計算化簡后的工作流的松弛時間,如公式(10)所示。dcps=D-S-dcp(10)其中,dcps為工作流的松弛時間;D為用戶提出的任務(wù)截止期限;dcp為工作流的估計執(zhí)行時間;S為工作流的開始時刻。步驟六、獲得步驟一中所述工作流模型中各子任務(wù)的可執(zhí)行時間窗口。在步驟五的基礎(chǔ)上,獲得工作流模型中各子任務(wù)的可執(zhí)行時間窗口。具體為:步驟6.1:將工作流的松弛時間根據(jù)步驟4.1得到的工作流模型的各個控制結(jié)構(gòu)分段的等效任務(wù)對應(yīng)的估計執(zhí)行時間,按比例進行分配。步驟6.2:依次將工作流模型的各個控制結(jié)構(gòu)分段對應(yīng)的松弛時間細(xì)分到各子任務(wù)。具體為:(i)順序控制結(jié)構(gòu)松弛時間分配規(guī)則:根據(jù)各子任務(wù)的估計執(zhí)行時間,按比例分配該順序控制結(jié)構(gòu)分段的等效任務(wù)對應(yīng)的松弛時間。(ii)并行控制結(jié)構(gòu)松弛時間分配規(guī)則:并行控制結(jié)構(gòu)各分支獲得的松弛時間與該并行控制結(jié)構(gòu)的等效任務(wù)所獲得的松弛時間相等;然后,該并行控制結(jié)構(gòu)各分支,按照順序結(jié)構(gòu)的松弛時間分配規(guī)則,為分支上各個子任務(wù)分配松弛時間。(iii)選擇控制結(jié)構(gòu)松弛時間分配規(guī)則:選擇控制結(jié)構(gòu)各分支獲得的松弛時間與該選擇控制結(jié)構(gòu)的等效任務(wù)所獲得的松弛時間相等;然后,該選擇控制結(jié)構(gòu)各分支,按照順序結(jié)構(gòu)的松弛時間分配規(guī)則,為分支上各個子任務(wù)分配松弛時間。(iv)循環(huán)控制結(jié)構(gòu)松弛時間分配規(guī)則:首先,將循環(huán)結(jié)構(gòu)加權(quán)求和得到的等效任務(wù)所獲得松弛時間為dEs,通過公式(11)計算該循環(huán)控制結(jié)構(gòu)的循環(huán)次數(shù)期望的值,用符號表示。然后,將該循環(huán)控制結(jié)構(gòu)展開為一個順序控制結(jié)構(gòu),再按順序控制結(jié)構(gòu)松弛時間分配規(guī)則,為各子任務(wù)分配松弛時間。(v)嵌套結(jié)構(gòu)松弛時間分配規(guī)則,先按嵌套結(jié)構(gòu)化簡規(guī)則進行結(jié)構(gòu)化簡,然后運用順序或并行控制結(jié)構(gòu)的松弛時間分配方法為分支嵌套結(jié)構(gòu)的各個子任務(wù)分配松弛時間。步驟6.3:計算各子任務(wù)的可執(zhí)行時間窗口。根據(jù)公式(12)計算各子任務(wù)的可執(zhí)行時間窗口。根據(jù)子任務(wù)間的依賴關(guān)系,各子任務(wù)的開始時間和子截止期限具有以下關(guān)系:其中,βz表示當(dāng)前子任務(wù)的最早允許開始時刻,z表示子任務(wù)編號;entry表示執(zhí)行時刻以及估計執(zhí)行時間均為0的虛擬起始子任務(wù);δz表示當(dāng)前子任務(wù)的截止期限;dz表示當(dāng)前子任務(wù)的估計執(zhí)行時間;dzs表示當(dāng)前子任務(wù)分配得到的松弛時間;δz′表示子任務(wù)Tz的直接前驅(qū)子任務(wù)的截止期限。各子任務(wù)的可執(zhí)行時間窗口由最早允許開始時刻和該子任務(wù)的截止期限確定。步驟七、為步驟一中所述工作流模型中各子任務(wù)初選云服務(wù)資源。在步驟六操作的基礎(chǔ)上,為各子任務(wù)初選云服務(wù)資源。具體為:在每一個任務(wù)的執(zhí)行時間窗口下,選擇滿足執(zhí)行時間要求且使用費用最低的云服務(wù)資源。步驟八、執(zhí)行步驟一中所述工作流。在步驟七操作的基礎(chǔ)上,執(zhí)行工作流,并動態(tài)調(diào)整云服務(wù)資源,并將任務(wù)調(diào)度到選定的資源上執(zhí)行。具體為:步驟8.1:將起始子任務(wù)調(diào)度到步驟七中起始子任務(wù)選定的資源上進行執(zhí)行。同時根據(jù)任務(wù)間的依賴關(guān)系,得到后繼子任務(wù)的就緒隊列。步驟8.2:將正在執(zhí)行的子任務(wù)作為當(dāng)前子任務(wù)。步驟8.3:當(dāng)前子任務(wù)執(zhí)行完畢后,計算當(dāng)前子任務(wù)的剩余松弛時間,用符號dis表示:dis=δi-fi,其中,δi是當(dāng)前子任務(wù)的截止期限。fi是當(dāng)前子任務(wù)的實際執(zhí)行完成時刻。根據(jù)各子任務(wù)的估計執(zhí)行時間,按比例分配該順序控制結(jié)構(gòu)分段的等效任務(wù)對應(yīng)的松弛時間。步驟8.4:對當(dāng)前子任務(wù)的剩余松弛時間dis進行重分配,具體為:步驟8.4.1:首先獲得工作流全局關(guān)鍵路徑和局部關(guān)鍵路徑。步驟8.4.2:根據(jù)當(dāng)前子任務(wù)的所處位置,分4種情況進行處理:情況1:如果當(dāng)前子任務(wù)處于順序控制結(jié)構(gòu)、并行控制結(jié)構(gòu)或選擇控制結(jié)構(gòu)時,并且當(dāng)前子任務(wù)處于全局關(guān)鍵路徑上,則將當(dāng)前子任務(wù)的剩余松弛時間dis,根據(jù)全局關(guān)鍵路徑上的后繼子任務(wù)的估計執(zhí)行時間,按比例重新分配給全局關(guān)鍵路徑上的后繼子任務(wù)。情況2:如果當(dāng)前子任務(wù)處于順序控制結(jié)構(gòu)、并行控制結(jié)構(gòu)或選擇控制結(jié)構(gòu)時,并且當(dāng)前子任務(wù)處于局部關(guān)鍵路徑上,則將當(dāng)前子任務(wù)的剩余松弛時間dis,根據(jù)該局部關(guān)鍵路徑上的后繼子任務(wù)的估計執(zhí)行時間,按比例重新分配給該局部關(guān)鍵路徑上的后繼子任務(wù)。情況3:如果當(dāng)前子任務(wù)處于順序控制結(jié)構(gòu)、并行控制結(jié)構(gòu)或選擇控制結(jié)構(gòu)時,并且當(dāng)前子任務(wù)處于非關(guān)鍵路徑上,則將當(dāng)前子任務(wù)的剩余松弛時間dis,根據(jù)該非關(guān)鍵路徑上的后繼子任務(wù)的估計執(zhí)行時間,按比例重新分配給該非關(guān)鍵路徑上的后繼子任務(wù)。情況4:如果當(dāng)前子任務(wù)處于循環(huán)控制結(jié)構(gòu)構(gòu)時,由于循環(huán)次數(shù)不定,難以獲得未執(zhí)行任務(wù)的確切數(shù)目,此時,將當(dāng)前子任務(wù)的剩余松弛時間dis,全部分配給其直接后繼子任務(wù)。步驟8.5:根據(jù)公式(13)更新松弛時間發(fā)生變化的直接后繼子任務(wù)(用符號Tj表示)的可執(zhí)行時間窗口。其中,δj表示當(dāng)前子任務(wù)的直接后繼子任務(wù)Tj更新后的截止期限;βj為當(dāng)前子任務(wù)的直接后繼子務(wù)Tj的最早開始時刻,fi是當(dāng)前子任務(wù)的實際執(zhí)行完成時刻;dj表示當(dāng)前子任務(wù)的直接后繼子任務(wù)Tj的估計執(zhí)行時間,djs為重分配后當(dāng)前子任務(wù)的直接后繼子任務(wù)Tj獲得的松弛時間。步驟8.6:根據(jù)公式(14)更新松弛時間發(fā)生變化的間接后繼子任務(wù)的可執(zhí)行時間窗口,用符號Tj′表示當(dāng)前子任務(wù)的任意一個間接后繼子任務(wù)。其中,δj′表示當(dāng)前子任務(wù)的間接后繼子任務(wù)Tj′更新后的截止期限;βj′為當(dāng)前子任務(wù)的間接后繼子任務(wù)Tj′的最早開始時刻,δi是間接后繼子任務(wù)Tj′的直接前驅(qū)子任務(wù)的截止期限;dj′表示當(dāng)前子任務(wù)的間接后繼子任務(wù)Tj′的估計執(zhí)行時間,dj′s為重分配后當(dāng)前子任務(wù)的間接后繼子任務(wù)Tj′的獲得的松弛時間。步驟8.7:將當(dāng)前子任務(wù)的直接后繼子任務(wù)Tj作為當(dāng)前子任務(wù),將當(dāng)前子任務(wù)調(diào)度到步驟七中當(dāng)前子任務(wù)選定的資源上進行執(zhí)行。同時根據(jù)任務(wù)間的依賴關(guān)系,得到后繼子任務(wù)的就緒隊列。重復(fù)步驟8.3至步驟8.7的操作,直到操作結(jié)束。有益效果本發(fā)明提出的一種支持任意流程結(jié)構(gòu)的云工作流調(diào)度方法,與已有技術(shù)相比較具體如下優(yōu)點:①本發(fā)明方法是在截止期限約束下,以最小化云工作流執(zhí)行費用為調(diào)度目標(biāo),通過有向圖對任務(wù)進行建模,既保留了DAG圖簡單直觀的建模優(yōu)點,又適用于包括了選擇、循環(huán)邏輯結(jié)構(gòu)的工作流調(diào)度問題。②通過對資源的靜態(tài)匹配和動態(tài)調(diào)整進行任務(wù)調(diào)度,優(yōu)化了資源的選擇,具有很好的普適性。附圖說明:圖1是本發(fā)明具體實施方式中采用可包括工作流一般流程結(jié)構(gòu)的有向圖進行工作流建模的示意圖;圖2是本發(fā)明具體實施方式中對圖1工作流模型中選擇控制結(jié)構(gòu)化簡后的等效圖;圖3是本發(fā)明具體實施方式中對圖2工作流簡化模型中順序結(jié)構(gòu)化簡后的等效圖;圖4是本發(fā)明具體實施方式中對圖3工作流簡化模型中循環(huán)控制結(jié)構(gòu)化簡后的等效圖;圖5是本發(fā)明具體實施方式中對圖4工作流簡化模型中并行結(jié)構(gòu)化簡后的等效圖。具體實施方式下面通過附圖和具體實施例對本
發(fā)明內(nèi)容做進一步描述。服務(wù)提供商于2016年6月16日上午8:00收到用戶提交的一項任務(wù)請求,用戶要求在2016年6月16日上午10:05的時候得到任務(wù)執(zhí)行結(jié)果。假設(shè)服務(wù)提供商與用戶協(xié)商、簽訂協(xié)議、對工作流任務(wù)建模及云服務(wù)資源建模共用2小時2分鐘時間。由此可知用戶提出的截止期限D(zhuǎn)為今天早上10:05:00,工作流最早可開始執(zhí)行時刻為10:02:00,則工作流運行周期必須小于180s。步驟一、采用有向圖對任務(wù)進行工作流建模。一個任務(wù)對應(yīng)一個工作流,一個工作流通過一個三元組Ω(T,Λ,D)來描述,其中T為節(jié)點集合,T=(T1,T2……T13),有向圖如圖1所示,Λ為有向邊Tij的集合:{(T1,T4),(T4,T5),(T4,T6),(T5,T7),(T6,T7),(T7,T12),(T12,T13),(T2,T3),(T3,T8),(T8,T9),(T9,T10),(T10,T11),(T11,T8),(T10,T12)};步驟二、對云服務(wù)資源建模。在步驟一操作的基礎(chǔ)上,對云服務(wù)資源建模。云服務(wù)資源的模型如表1所示,其中Ti表示任務(wù)編號為i的子任務(wù),Si為子任務(wù)Ti的資源池,資源池中的每個可選資源具有兩個參數(shù):任務(wù)的執(zhí)行時間與在該資源上執(zhí)行任務(wù)的費用,L(i)表示資源池Si中資源的個數(shù)。表1云服務(wù)資源的模型列表步驟三、建立工作流調(diào)度目標(biāo)函數(shù)在步驟二的基礎(chǔ)上,建立工作流調(diào)度目標(biāo)函數(shù)。由工作流實例模型和資源模型可知,該工作流由13個子任務(wù)組成,每個子任務(wù)的可執(zhí)行資源個數(shù)不同。由實例的要求可以知道,該實例的工作流調(diào)度目標(biāo)是截止期限約束下的優(yōu)化執(zhí)行費用,其調(diào)度目標(biāo)函數(shù)如公式(1)所示,其中i=13,約束條件如公式(2)至公式(5)所示。步驟四、化簡工作流模型,獲得工作流的估計執(zhí)行時間。在步驟一的基礎(chǔ)上,化簡工作流模型,獲得工作流的估計執(zhí)行時間。具體為:步驟4.1:將步驟一的得到的工作流模型按照不同的控制結(jié)構(gòu)進行分段。節(jié)點1到節(jié)點11是一個并行控制結(jié)構(gòu),節(jié)點12、13與前面的并行控制結(jié)構(gòu)合在一起是一個順序控制結(jié)構(gòu)。進一步對節(jié)點1到11的并行控制結(jié)構(gòu)進行分段,節(jié)點5、6為選擇控制結(jié)構(gòu),其與節(jié)點1、4、7合在一起為一個順序控制結(jié)構(gòu)。節(jié)點8、9、10、11為循環(huán)控制結(jié)構(gòu),其與節(jié)點2、3合在一起為一個順序控制結(jié)構(gòu)。這里,我們用任務(wù)在其服務(wù)資源池中各資源上執(zhí)行時間的平均值作為各任務(wù)的估計執(zhí)行時間,得到的各任務(wù)的估計執(zhí)行時間如表2。表2各任務(wù)的估計執(zhí)行時間表步驟4.2:分別計算每段控制結(jié)構(gòu)對應(yīng)的等效任務(wù)的估計執(zhí)行時間。附圖2對應(yīng)按照控制邏輯化簡規(guī)則對選擇結(jié)構(gòu)化簡后的等效圖;附圖3對應(yīng)按照控制邏輯化簡規(guī)則對順序結(jié)構(gòu)化簡后的等效圖;附圖4對應(yīng)按照控制邏輯化簡規(guī)則對循環(huán)結(jié)構(gòu)化簡后的等效圖;附圖5對應(yīng)按照控制邏輯化簡規(guī)則對并行結(jié)構(gòu)化簡后的等效圖;根據(jù)邏輯結(jié)構(gòu)的化簡規(guī)則可得:其中E02為選擇結(jié)構(gòu)等效任務(wù),其估計執(zhí)行時間以上各式中表示等效任務(wù)Eij的估計執(zhí)行時間。步驟4.3:將每段控制結(jié)構(gòu)對應(yīng)的等效任務(wù)的估計執(zhí)行時間進行求和,得到工作流的估計執(zhí)行時間步驟五、計算化簡后的工作流的松弛時間。計算得到總松弛時間dcps=180s-154s=26s。步驟六、獲得步驟一中所述工作流模型中各子任務(wù)的可執(zhí)行時間窗口。在步驟五的基礎(chǔ)上,獲得工作流模型中各子任務(wù)的可執(zhí)行時間窗口。具體為:步驟6.1:將工作流的松弛時間根據(jù)步驟4.1得到的工作流模型的各個控制結(jié)構(gòu)分段的等效任務(wù)對應(yīng)的估計執(zhí)行時間,按比例進行分配。步驟6.2:依次將工作流模型的各個控制結(jié)構(gòu)分段對應(yīng)的松弛時間細(xì)分到各子任務(wù)。步驟6.3:計算各子任務(wù)的可執(zhí)行時間窗口。各子任務(wù)的可執(zhí)行時間窗口如表3所示,其中βi(s)為任務(wù)i的最早開始時間,δi(s)為子任務(wù)Ti的子截止期限。根據(jù)循環(huán)次數(shù)期望值計算公式,該實例中的循環(huán)結(jié)構(gòu)等效循環(huán)次數(shù)為2次,表中的的記錄分別對應(yīng)循環(huán)結(jié)構(gòu)中子任務(wù)T8、T9、T10第一次循環(huán)時的可執(zhí)行時間窗口;的記錄對應(yīng)循環(huán)結(jié)構(gòu)中子任務(wù)T8、T9、T10第二次循環(huán)時的可執(zhí)行時間窗口。表3各子任務(wù)的可執(zhí)行時間窗口列表步驟七、為步驟一中所述工作流模型中各子任務(wù)初選云服務(wù)資源。在步驟六操作的基礎(chǔ)上,為各子任務(wù)初選云服務(wù)資源,如表4所示。表4工作流各子任務(wù)初選云服務(wù)資源列表步驟八、執(zhí)行步驟一中所述工作流。在步驟七操作的基礎(chǔ)上,執(zhí)行工作流,并動態(tài)調(diào)整云服務(wù)資源,并將任務(wù)調(diào)度到選定的資源上執(zhí)行。按照工作流執(zhí)行時的松弛時間重分配規(guī)則,將已執(zhí)行結(jié)束任務(wù)的剩余松弛時間重新分配給其后繼未執(zhí)行的任務(wù),并更新各個任務(wù)的可執(zhí)行時間窗口。工作流中各個任務(wù)的實際執(zhí)行時間與最終選用的資源如表5所示,其中βi(s)為任務(wù)Ti的開始執(zhí)行時間,fi為任務(wù)Ti的執(zhí)行結(jié)束時間,Sik表示任務(wù)Ti最終調(diào)度到了其資源池中的第k個資源上執(zhí)行。選擇控制結(jié)構(gòu)中任務(wù)T5未被執(zhí)行,故無需對其進行調(diào)度。表5工作流各子任務(wù)實際執(zhí)行時間及資源列表經(jīng)過計算,最終的總執(zhí)行時間為dtotal=176s,執(zhí)行費用為Ctotal=149$。對比采用靜態(tài)調(diào)度算法及基于最大努力的云工作流調(diào)度算法對本例的工作流模型進行調(diào)度的結(jié)果,如表5第二行所示。為了說明本發(fā)明的效果,采用兩種已有方法(基于最大努力的算法、不考慮動態(tài)調(diào)整算法),對上述任務(wù)進行操作,得到的結(jié)果分別如表6的第三行和第四行。通過對比可以看出本發(fā)明提出的方法在滿足用戶提出的要求下,選擇使用更經(jīng)濟的資源,從而降低了成本。表6實驗結(jié)果對比列表算法總時間(s)總費用($)RoACS算法176149基于最大努力的算法105285不考慮動態(tài)調(diào)整算法114182當(dāng)前第1頁1 2 3 
當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1