本發(fā)明涉及領(lǐng)云平臺上的任務(wù)調(diào)度技術(shù)域,尤其涉及一種基于云平臺的調(diào)度方法及系統(tǒng)。
背景技術(shù):云平臺的調(diào)度相對來說還處于初始發(fā)展時期,在這個領(lǐng)域里比較成熟的系統(tǒng)并不多,Amazon的彈性云計算服務(wù)(EC2:ElasticComputeCloud)在功能上也是根據(jù)要生成的應(yīng)用實例的數(shù)量動態(tài)地分配或釋放虛擬機,但EC2是處于基礎(chǔ)結(jié)構(gòu)級的服務(wù),應(yīng)用開發(fā)者還需要自行對虛擬機進行管理。調(diào)度器本身也沒有針對行業(yè)應(yīng)用,或數(shù)據(jù)的優(yōu)化。Google的MapReduce系統(tǒng)以及Hadoop開源系統(tǒng)也提供了任務(wù)調(diào)度功能,但它們只是針對MapReduce應(yīng)用的運行,而且運行環(huán)境需要和特定的專用文件系統(tǒng)進行綁定,應(yīng)用所使用的數(shù)據(jù)也需要預(yù)先進行分區(qū)存放,從這個角度來說并不具有動態(tài)獲取和釋放服務(wù)器的功能,資源的利用效率也跟數(shù)據(jù)的存放很有關(guān)系。另外傳統(tǒng)的集群調(diào)度程序,如Condor,PBS等也能對上千臺服務(wù)器進行調(diào)度,但這些系統(tǒng)經(jīng)常囊括了很多附屬功能,從而造成系統(tǒng)龐大笨重,每派發(fā)一個任務(wù)需要較長時間(幾秒甚至更多),任務(wù)吞吐量較低(不超過30TPS),這對于需要快速實時的用戶響應(yīng)情況不太合適,在處理大規(guī)模的任務(wù)請求時開銷也比較大。
技術(shù)實現(xiàn)要素:本發(fā)明的目的在于提出一種高效且使能耗降低的基于云平臺的調(diào)度方法及系統(tǒng)。為達此目的,本發(fā)明采用以下技術(shù)方案:一種基于云平臺的調(diào)度方法,包括:用戶應(yīng)用程序發(fā)送任務(wù)請求至管理器,管理器把任務(wù)請求中的任務(wù)轉(zhuǎn)換成預(yù)設(shè)的格式,并將任務(wù)請求提交給高速調(diào)度器;高速調(diào)度器根據(jù)任務(wù)請求的大小計算出資源請求,并把資源請求發(fā)送給資源獲取/釋放器;資源獲取/釋放器根據(jù)資源請求的大小來獲取或釋放資源,若資源請求超過當(dāng)前高速調(diào)度器的負(fù)載,則資源獲取/釋放器獲取資源,并將獲取的資源作為運行器分配給高速調(diào)度器;若資源請求小于當(dāng)前高速調(diào)度器的負(fù)載,則資源獲取/釋放器釋放運行器為空閑的云資源;運行器在啟動時由外網(wǎng)服務(wù)器獲得外網(wǎng)地址和端口,然后向高速調(diào)度器注冊;高速調(diào)度器根據(jù)調(diào)度機制將所述任務(wù)請求分配給所述運行器,運行器執(zhí)行并完成任務(wù),并通過高速調(diào)度器將完成的任務(wù)提交給管理器,管理器再將其提交給用戶應(yīng)用程序。采用分級式的高速調(diào)度器,把資源獲取和任務(wù)派發(fā)分離開,傳統(tǒng)的資源管理器,由于把資源管理、獲取和任務(wù)派發(fā)集成在一起,這樣影響了任務(wù)派發(fā)的效率,也使得改進已有資源管理器上比較困難,本方法把資源的獲取這一模塊分離開,交給動態(tài)資源獲取/釋放器來負(fù)責(zé),一旦資源獲取之后,將獲取的資源作為任務(wù)運行器,這樣能保證任務(wù)請求在極短的時間內(nèi)被分派運行。其中,調(diào)度機制為流水線調(diào)度機制:高速調(diào)度器采用輕型高效的調(diào)度機制,任務(wù)的調(diào)度采用的是基于“推”和“拉”的混合模式,高速調(diào)度器在有任務(wù)需要執(zhí)行時,向所有空閑運行器發(fā)送通知,接到通知的運行器到高速調(diào)度器接取任務(wù),執(zhí)行并返回結(jié)果給高速調(diào)度器。高速調(diào)度器和運行器本身都采用自底向上的實現(xiàn)方法,從最簡單最快捷的功能開始實現(xiàn),并把高速調(diào)度器和運行器之間的交互降低到最低,在正常情況下,分派一個任務(wù)只需要交換3條信息:1、通知運行器有任務(wù)要執(zhí)行;2、運行器取走任務(wù);3、運行器返回結(jié)果。在一定情況下,還可以將多個任務(wù)打包在一起,送給運行器,或者是在運行器送結(jié)果時順便再發(fā)送一個任務(wù),也即Piggyback優(yōu)化策略,這樣每個任務(wù)平均所需消息還可以降低。其中,調(diào)度機制包含基于任務(wù)相關(guān)性的調(diào)度算法,所述任務(wù)請求與之前的任務(wù)請求具有相關(guān)性,該任務(wù)請求被分配到執(zhí)行所述之前的任務(wù)請求的運行器。云平臺上運行的任務(wù)通常具有相關(guān)性,也就是說有些任務(wù)的輸出,會被其他任務(wù)用作輸入,這對于數(shù)據(jù)密集的行業(yè)任務(wù)尤其明顯,比如在醫(yī)療系統(tǒng)中的數(shù)據(jù)挖掘業(yè)務(wù),數(shù)據(jù)量非常大,后續(xù)任務(wù)所需要的數(shù)據(jù)往往是前面已完成任務(wù)的輸出,基于任務(wù)相關(guān)性的調(diào)度算法能夠根據(jù)任務(wù)請求的相關(guān)性,把該任務(wù)請求調(diào)度到存有它所需要的數(shù)據(jù)的運行器上運行,這樣可以盡可能地減少數(shù)據(jù)移動,縮短任務(wù)的執(zhí)行時間,對用戶來說不僅可以享受到快速的服務(wù),還能因為數(shù)據(jù)流量和運行時間的減少而減少使用費。其中,高速調(diào)度器設(shè)置有一個全局緩存,每個所述運行器設(shè)置有一個局部緩存,所述全局緩存和局部緩存組成多級緩存。本發(fā)明采用多級數(shù)據(jù)緩存技術(shù),在每個運行器維護一個局部緩存,記錄本機運算產(chǎn)生的結(jié)果及路徑,同時高速調(diào)度器本身維護一個全局緩存,在調(diào)度任務(wù)時根據(jù)任務(wù)所需的數(shù)據(jù),匹配運行器,每個運行器再定期刷新全局緩存,采用全局緩存是為了維持高速調(diào)度器的高速任務(wù)吞吐量,但相對來說對內(nèi)存的容量要求也比較高,可以采用不同的緩存記錄替換算法,如FIFO(先進先出)、LUR(最近少用)、LFU(最不常用)等。調(diào)度機制包含以下幾種調(diào)度算法:a、選擇第一個可用的運行器:這種算法并不考慮任務(wù)之間的數(shù)據(jù)相關(guān)性,當(dāng)新任務(wù)到達時,直接選取一個可用的運行器,并把任務(wù)分配到該運行器,在這種情況下,我們需要把任務(wù)所需的數(shù)據(jù)都傳輸?shù)竭\行器上;b、選擇緩存命中最大的運行器:把任務(wù)分配到存有任務(wù)所需數(shù)據(jù)最多的運行器上,如果該運行器忙的話,就一直等待它運算完為止,這種算法能把數(shù)據(jù)傳輸減小到最小,但可能會減低資源利用效率,因為運行器上所存的數(shù)據(jù)分布不一定是均勻的;c、最大運算效率:這種算法盡量最大化資源利用效率,哪怕是要多花些時間在傳輸上面,基本上它也是考慮下一個可用運行器,但會優(yōu)先選擇存有較多任務(wù)所需數(shù)據(jù)的運行器,這樣不需要等待繁忙的運行器;d、混合模式:結(jié)合b和c兩種調(diào)度算法,設(shè)定一個資源利用效率的閾值,如果在閾值之上,就采用調(diào)度算法b,否則采用調(diào)度算法c。其中,高速調(diào)度器之前還設(shè)置有任務(wù)均衡器,用戶應(yīng)用程序發(fā)送任務(wù)請求至任務(wù)均衡器,任務(wù)均衡器根據(jù)多個高速調(diào)度器的狀態(tài),均衡的分配任務(wù)請求到高速調(diào)度器,高速調(diào)度器再把其所分配到的任務(wù)請求分配到其所對應(yīng)的運行器。一種基于云平臺的調(diào)度系統(tǒng),包括高速調(diào)度器、資源獲取/釋放器、運行器,該系統(tǒng)的工作流程為:用戶應(yīng)用程序發(fā)送任務(wù)請求至管理器,管理器把任務(wù)請求中的任務(wù)轉(zhuǎn)換成預(yù)設(shè)的格式,并將任務(wù)請求提交給高速調(diào)度器;高速調(diào)度器根據(jù)任務(wù)請求的大小計算出資源請求,并把資源請求發(fā)送給資源獲取/釋放器;資源獲取/釋放器根據(jù)資源請求的大小來獲取或釋放資源,若資源請求超過當(dāng)前高速調(diào)度器的負(fù)載,則資源獲取/釋放器獲取資源,并將獲取的資源作為運行器分配給高速調(diào)度器;若資源請求小于當(dāng)前高速調(diào)度器的負(fù)載,則資源獲取/釋放器釋放運行器為空閑的云資源;運行器在啟動時由外網(wǎng)服務(wù)器獲得外網(wǎng)地址和端口,然后向高速調(diào)度器注冊;高速調(diào)度器根據(jù)調(diào)度機制將所述任務(wù)請求分配給所述運行器,運行器執(zhí)行并完成任務(wù),并通過高速調(diào)度器將完成的任務(wù)提交給管理器,管理器再將其提交給用戶應(yīng)用程序。其中,高速調(diào)度器的調(diào)度機制為流水線調(diào)度機制:高速調(diào)度器采用輕型高效的調(diào)度機制,任務(wù)的調(diào)度采用的是基于“推”和“拉”的混合模式,高速調(diào)度器在有任務(wù)需要執(zhí)行時,向所有空閑運行器發(fā)送通知,接到通知的運行器到高速調(diào)度器接取任務(wù),執(zhí)行并返回結(jié)果給高速調(diào)度器。其中,高速調(diào)度器的調(diào)度機制包含基于任務(wù)相關(guān)性的調(diào)度算法,所述任務(wù)請求與之前的任務(wù)請求具有相關(guān)性,該任務(wù)請求被分配到執(zhí)行所述之前的任務(wù)請求的運行器。調(diào)度機制還包含以下幾種調(diào)度算法:a、選擇第一個可用的運行器:這種算法并不考慮任務(wù)之間的數(shù)據(jù)相關(guān)性,當(dāng)新任務(wù)到達時,直接選取一個可用的運行器,并把任務(wù)分配到該運行器,在這種情況下,我們需要把任務(wù)所需的數(shù)據(jù)都傳輸?shù)竭\行器上;b、選擇緩存命中最大的運行器:把任務(wù)分配到存有任務(wù)所需數(shù)據(jù)最多的運行器上,如果該運行器忙的話,就一直等待它運算完為止,這種算法能把數(shù)據(jù)傳輸減小到最小,但可能會減低資源利用效率,因為運行器上所存的數(shù)據(jù)分布不一定是均勻的;c、最大運算效率:這種算法盡量最大化資源利用效率,哪怕是要多花些時間在傳輸上面,基本上它也是考慮下一個可用運行器,但會優(yōu)先選擇存有較多任務(wù)所需數(shù)據(jù)的運行器,這樣不需要等待繁忙的運行器;d、混合模式:結(jié)合b和c兩種調(diào)度算法,設(shè)定一個資源利用效率的閾值,如果在閾值之上,就采用調(diào)度算法b,否則采用調(diào)度算法c。其中,高速調(diào)度器設(shè)置有一個全局緩存,每個所述運行器設(shè)置有一個局部緩存,所述全局緩存和局部緩存組成多級緩存。其中,系統(tǒng)還包括任務(wù)均衡器,任務(wù)均衡器設(shè)置在高速調(diào)度器之前,用戶應(yīng)用程序發(fā)送任務(wù)請求至任務(wù)均衡器,任務(wù)均衡器根據(jù)多個高速調(diào)度器的狀態(tài),均衡的分配任務(wù)請求到高速調(diào)度器,高速調(diào)度器再把其所分配到的任務(wù)請求分配到其所對應(yīng)的運行器。本發(fā)明的有益效果為:一種基于云平臺的調(diào)度方法,包括:用戶應(yīng)用程序發(fā)送任務(wù)請求至管理器,管理器把任務(wù)請求中的任務(wù)轉(zhuǎn)換成預(yù)設(shè)的格式,并將任務(wù)請求提交給高速調(diào)度器;高速調(diào)度器根據(jù)任務(wù)請求的大小計算出資源請求,并把資源請求發(fā)送給資源獲取/釋放器;資源獲取/釋放器根據(jù)資源請求的大小來獲取或釋放資源,若資源請求超過當(dāng)前高速調(diào)度器的負(fù)載,則資源獲取/釋放器獲取資源,并將獲取的資源作為運行器分配給高速調(diào)度器;若資源請求小于當(dāng)前高速調(diào)度器的負(fù)載,則資源獲取/釋放器釋放運行器為空閑的云資源;運行器在啟動時由外網(wǎng)服務(wù)器獲得外網(wǎng)地址和端口,然后向高速調(diào)度器注冊;高速調(diào)度器根據(jù)調(diào)度機制將所述任務(wù)請求分配給所述運行器,運行器執(zhí)行并完成任務(wù),并通過高速調(diào)度器將完成的任務(wù)提交給管理器,管理器再將其提交給用戶應(yīng)用程序。該方法適用于在云平臺上,尤其是云計算平臺上高效的大規(guī)模任務(wù)的調(diào)度,資源獲取/釋放器能夠動態(tài)地分配和釋放虛擬機資源供調(diào)度器使用,高速調(diào)度器采用輕型高效的調(diào)度機制,可以達到高任務(wù)吞吐量和支持多達數(shù)百萬的運行器。附圖說明圖1是本發(fā)明方法流程圖圖2是本發(fā)明方法示意圖圖3是本發(fā)明系統(tǒng)結(jié)構(gòu)圖具體實施方式下面將結(jié)合圖1-圖3并通過具體實施方式來進一步說明本發(fā)明的技術(shù)方案。一種基于云平臺的調(diào)度方法,包括:用戶應(yīng)用程序發(fā)送任務(wù)請求至管理器,管理器把任務(wù)請求中的任務(wù)轉(zhuǎn)換成預(yù)設(shè)的格式,并將任務(wù)請求提交給高速調(diào)度器;高速調(diào)度器根據(jù)任務(wù)請求的大小計算出資源請求,并把資源請求發(fā)送給資源獲取/釋放器;資源獲取/釋放器根據(jù)資源請求的大小來獲取或釋放資源,若資源請求超過當(dāng)前高速調(diào)度器的負(fù)載,則資源獲取/釋放器獲取資源,并將獲取的資源作為運行器分配給高速調(diào)度器;若資源請求小于當(dāng)前高速調(diào)度器的負(fù)載,則資源獲取/釋放器釋放運行器為空閑的云資源;運行器在啟動時由外網(wǎng)服務(wù)器獲得外網(wǎng)地址和端口,然后向高速調(diào)度器注冊;高速調(diào)度器根據(jù)調(diào)度機制將所述任務(wù)請求分配給所述運行器,運行器執(zhí)行并完成任務(wù),并通過高速調(diào)度器將完成的任務(wù)提交給管理器,管理器再將其提交給用戶應(yīng)用程序。采用分級式的高速調(diào)度器,把資源獲取和任務(wù)派發(fā)分離開,傳統(tǒng)的資源管理器,由于把資源管理、獲取和任務(wù)派發(fā)集成在一起,這樣影響了任務(wù)派發(fā)的效率,也使得改進已有資源管理器上比較困難,本方法把資源的獲取這一模塊分離開,交給動態(tài)資源獲取/釋放器來負(fù)責(zé),一旦資源獲取之后,將獲取的資源作為任務(wù)運行器,這樣能保證任務(wù)請求在極短的時間內(nèi)被分派運行。高速調(diào)度器能支持大規(guī)模數(shù)量的運行器,和數(shù)以千萬計的任務(wù)的執(zhí)行:由于高速調(diào)度器采用輕型的注冊和任務(wù)調(diào)度機制,一臺高速調(diào)度器能支持?jǐn)?shù)萬臺的運行器的注冊,并將任務(wù)分配至這些運行器同時執(zhí)行。調(diào)度器本身的任務(wù)隊列可以支持?jǐn)?shù)以千萬計的任務(wù)的提交和執(zhí)行。在本實施例中,調(diào)度機制為流水線調(diào)度機制:高速調(diào)度器采用輕型高效的調(diào)度機制,任務(wù)的調(diào)度采用的是基于“推”和“拉”的混合模式,高速調(diào)度器在有任務(wù)需要執(zhí)行時,向所有空閑運行器發(fā)送通知,接到通知的運行器到高速調(diào)度器接取任務(wù),執(zhí)行并返回結(jié)果給高速調(diào)度器。高速調(diào)度器和運行器本身都采用自底向上的實現(xiàn)方法,從最簡單最快捷的功能開始實現(xiàn),并把高速調(diào)度器和運行器之間的交互降低到最低,在正常情況下,分派一個任務(wù)只需要交換3條信息:1、通知運行器有任務(wù)要執(zhí)行;2、運行器取走任務(wù);3、運行器返回結(jié)果。在一定情況下,還可以將多個任務(wù)打包在一起,送給運行器,或者是在運行器送結(jié)果時順便再發(fā)送一個任務(wù),也即Piggyback優(yōu)化策略,這樣每個任務(wù)平均所需消息還可以降低。在本實施例中,調(diào)度機制包含基于任務(wù)相關(guān)性的調(diào)度算法,所述任務(wù)請求與之前的任務(wù)請求具有相關(guān)性,該任務(wù)請求被分配到執(zhí)行所述之前的任務(wù)請求的運行器。云平臺上運行的任務(wù)通常具有相關(guān)性,也就是說有些任務(wù)的輸出,會被其他任務(wù)用作輸入,這對于數(shù)據(jù)密集的行業(yè)任務(wù)尤其明顯,比如在醫(yī)療系統(tǒng)中的數(shù)據(jù)挖掘業(yè)務(wù),數(shù)據(jù)量非常大,后續(xù)任務(wù)所需要的數(shù)據(jù)往往是前面已完成任務(wù)的輸出,基于任務(wù)相關(guān)性的調(diào)度算法能夠根據(jù)任務(wù)請求的相關(guān)性,把該任務(wù)請求調(diào)度到存有它所需要的數(shù)據(jù)的運行器上運行,這樣可以盡可能地減少數(shù)據(jù)移動,縮短任務(wù)的執(zhí)行時間,對用戶來說不僅可以享受到快速的服務(wù),還能因為數(shù)據(jù)流量和運行時間的減少而減少使用費。在本實施例中,高速調(diào)度器設(shè)置有一個全局緩存,每個所述運行器設(shè)置有一個局部緩存,所述全局緩存和局部緩存組成多級緩存。本發(fā)明采用多級數(shù)據(jù)緩存技術(shù),在每個運行器維護一個局部緩存,記錄本機運算產(chǎn)生的結(jié)果及路徑,同時高速調(diào)度器本身維護一個全局緩存,在調(diào)度任務(wù)時根據(jù)任務(wù)所需的數(shù)據(jù),匹配運行器,每個運行器再定期刷新全局緩存,采用全局緩存是為了維持高速調(diào)度器的高速任務(wù)吞吐量,但相對來說對內(nèi)存的容量要求也比較高,可以采用不同的緩存記錄替換算法,如FIFO(先進先出)、LUR(最近少用)、LFU(最不常用)等。調(diào)度機制還包含以下幾種調(diào)度算法:a、選擇第一個可用的運行器:這種算法并不考慮任務(wù)之間的數(shù)據(jù)相關(guān)性,當(dāng)新任務(wù)到達時,直接選取一個可用的運行器,并把任務(wù)分配到該運行器,在這種情況下,我們需要把任務(wù)所需的數(shù)據(jù)都傳輸?shù)竭\行器上;b、選擇緩存命中最大的運行器:把任務(wù)分配到存有任務(wù)所需數(shù)據(jù)最多的運行器上,如果該運行器忙的話,就一直等待它運算完為止,這種算法能把數(shù)據(jù)傳輸減小到最小,但可能會減低資源利用效率,因為運行器上所存的數(shù)據(jù)分布不一定是均勻的;c、最大運算效率:這種算法盡量最大化資源利用效率,哪怕是要多花些時間在傳輸上面,基本上它也是考慮下一個可用運行器,但會優(yōu)先選擇存有較多任務(wù)所需數(shù)據(jù)的運行器,這樣不需要等待繁忙的運行器;d、混合模式:結(jié)合b和c兩種調(diào)度算法,設(shè)定一個資源利用效率的閾值,如果在閾值之上,就采用調(diào)度算法b,否則采用調(diào)度算法c。在本實施例中,高速調(diào)度器之前還設(shè)置有任務(wù)均衡器,用戶應(yīng)用程序發(fā)送任務(wù)請求至任務(wù)均衡器,任務(wù)均衡器根據(jù)多個高速調(diào)度器的狀態(tài),均衡的分配任務(wù)請求到高速調(diào)度器,高速調(diào)度器再把其所分配到的任務(wù)請求分配到其所對應(yīng)的運行器,這樣整體上系統(tǒng)可以具備極高的擴展性。一種基于云平臺的調(diào)度系統(tǒng),包括高速調(diào)度器、資源獲取/釋放器、運行器,該系統(tǒng)的工作流程為:用戶應(yīng)用程序發(fā)送任務(wù)請求至管理器,管理器把任務(wù)請求中的任務(wù)轉(zhuǎn)換成預(yù)設(shè)的格式,并將任務(wù)請求提交給高速調(diào)度器;高速調(diào)度器根據(jù)任務(wù)請求的大小計算出資源請求,并把資源請求發(fā)送給資源獲取/釋放器;資源獲取/釋放器根據(jù)資源請求的大小來獲取或釋放資源,若資源請求超過當(dāng)前高速調(diào)度器的負(fù)載,則資源獲取/釋放器獲取資源,并將獲取的資源作為運行器分配給高速調(diào)度器;若資源請求小于當(dāng)前高速調(diào)度器的負(fù)載,則資源獲取/釋放器釋放運行器為空閑的云資源;運行器在啟動時由外網(wǎng)服務(wù)器獲得外網(wǎng)地址和端口,然后向高速調(diào)度器注冊;高速調(diào)度器根據(jù)調(diào)度機制將所述任務(wù)請求分配給所述運行器,運行器執(zhí)行并完成任務(wù),并通過高速調(diào)度器將完成的任務(wù)提交給管理器,管理器再將其提交給用戶應(yīng)用程序。在本實施例中,高速調(diào)度器的調(diào)度機制為流水線調(diào)度機制:高速調(diào)度器采用輕型高效的調(diào)度機制,任務(wù)的調(diào)度采用的是基于“推”和“拉”的混合模式,高速調(diào)度器在有任務(wù)需要執(zhí)行時,向所有空閑運行器發(fā)送通知,接到通知的運行器到高速調(diào)度器接取任務(wù),執(zhí)行并返回結(jié)果給高速調(diào)度器。在本實施例中,高速調(diào)度器的調(diào)度機制包含基于任務(wù)相關(guān)性的調(diào)度算法,所述任務(wù)請求與之前的任務(wù)請求具有相關(guān)性,該任務(wù)請求被分配到執(zhí)行所述之前的任務(wù)請求的運行器。調(diào)度機制還包含以下幾種調(diào)度算法:a、選擇第一個可用的運行器:這種算法并不考慮任務(wù)之間的數(shù)據(jù)相關(guān)性,當(dāng)新任務(wù)到達時,直接選取一個可用的運行器,并把任務(wù)分配到該運行器,在這種情況下,我們需要把任務(wù)所需的數(shù)據(jù)都傳輸?shù)竭\行器上;b、選擇緩存命中最大的運行器:把任務(wù)分配到存有任務(wù)所需數(shù)據(jù)最多的運行器上,如果該運行器忙的話,就一直等待它運算完為止,這種算法能把數(shù)據(jù)傳輸減小到最小,但可能會減低資源利用效率,因為運行器上所存的數(shù)據(jù)分布不一定是均勻的;c、最大運算效率:這種算法盡量最大化資源利用效率,哪怕是要多花些時間在傳輸上面,基本上它也是考慮下一個可用運行器,但會優(yōu)先選擇存有較多任務(wù)所需數(shù)據(jù)的運行器,這樣不需要等待繁忙的運行器;d、混合模式:結(jié)合b和c兩種調(diào)度算法,設(shè)定一個資源利用效率的閾值,如果在閾值之上,就采用調(diào)度算法b,否則采用調(diào)度算法c。在本實施例中,高速調(diào)度器設(shè)置有一個全局緩存,每個所述運行器設(shè)置有一個局部緩存,所述全局緩存和局部緩存組成多級緩存。在本實施例中,系統(tǒng)還包括任務(wù)均衡器,任務(wù)均衡器設(shè)置在高速調(diào)度器之前,用戶應(yīng)用程序發(fā)送任務(wù)請求至任務(wù)均衡器,任務(wù)均衡器根據(jù)多個高速調(diào)度器的狀態(tài),均衡的分配任務(wù)請求到高速調(diào)度器,高速調(diào)度器再把其所分配到的任務(wù)請求分配到其所對應(yīng)的運行器。調(diào)度對于面向行業(yè)的云平臺是至關(guān)重要的。主要原因在于云平臺的終端用戶,如電信行業(yè)的用戶,可以多達幾千萬甚至上億,而每個用戶每天可以訪問多項業(yè)務(wù)(如音樂、游戲等),這些業(yè)務(wù)訪問反映在云平臺內(nèi)部就是上千萬級的任務(wù)請求。因此,本發(fā)明首先需要研究的就是要具有高度可擴展性的調(diào)度系統(tǒng),能夠處理如此大數(shù)量的任務(wù)請求,并且還要能應(yīng)付突發(fā)的大規(guī)模需求,比如在春節(jié)前后,點歌業(yè)務(wù)可能會有比平時多出好幾倍的業(yè)務(wù)需求。調(diào)度系統(tǒng)需要實現(xiàn)彈性調(diào)度,也就是能夠根據(jù)任務(wù)請求量動態(tài)地獲取或釋放資源。如果任務(wù)數(shù)量巨大,當(dāng)前已獲取的服務(wù)器資源不足以處理這些請求,調(diào)度器就需要向資源管理器申請更多的資源,來滿足這些額外的任務(wù)請求。同樣,如果業(yè)務(wù)量降低(比如到了晚上,在線用戶數(shù)減少),有些已獲取的服務(wù)器處于空閑狀態(tài),調(diào)度器就需要釋放一些相應(yīng)的資源,避免資源浪費。針對電信行業(yè)的服務(wù)還具有高度的實時性,用戶請求需要在短時間內(nèi)得到響應(yīng)。因此云平臺中的調(diào)度系統(tǒng)還需要把任務(wù)請求高速分配到后臺的成千上萬臺服務(wù)器上,實現(xiàn)很大的任務(wù)吞吐量。本發(fā)明的另一個重點是實現(xiàn)高效節(jié)能的調(diào)度策略。云平臺中的資源利用效率非常重要,這一方面是因為能源開支,資源的浪費就是能源的浪費,另一方面是因為云平臺的收費通常是基于所使用的資源來收費的,如果資源使用不均衡,存在浪費,這也會同樣增加用戶的支出。因此,除了實現(xiàn)上述的彈性調(diào)度之外,調(diào)度器還需要最大化所獲取的資源利用效率,能夠盡量均衡地把任務(wù)分配到每個資源上,避免資源存在低利用率的情況。以上所述僅為本發(fā)明的具體實施方式,這些描述只是為了解釋本發(fā)明的原理,而不能以任何方式解釋為對本發(fā)明保護范圍的限制?;诖颂幍慕忉專绢I(lǐng)域的技術(shù)人員不需要付出創(chuàng)造性的勞動即可聯(lián)想到本發(fā)明的其它具體實施方式,這些方式都將落入本發(fā)明的保護范圍之內(nèi)。