本發(fā)明涉及云計(jì)算,特別涉及一種基于云平臺(tái)的實(shí)時(shí)任務(wù)調(diào)度方法。
背景技術(shù):
云計(jì)算作為一種新型的計(jì)算模式和服務(wù)模式,它將大量的計(jì)算業(yè)務(wù)分布式的分派給由底層云平臺(tái)計(jì)算機(jī)硬件組成的資源池中,在科研、生產(chǎn)和貿(mào)易服務(wù)領(lǐng)域有著廣泛應(yīng)用。由于數(shù)據(jù)服務(wù)器資源池是由海量的硬件資源共同組成的,而且計(jì)算機(jī)數(shù)量非常龐大,組成復(fù)雜,資源的配置差異較大,當(dāng)大規(guī)模的計(jì)算業(yè)務(wù)需要數(shù)據(jù)服務(wù)器處理時(shí),這時(shí)就會(huì)導(dǎo)致數(shù)據(jù)服務(wù)器的負(fù)載不平衡。而負(fù)載的不平衡會(huì)造成吞吐率的下降以及響應(yīng)時(shí)間的增加,在一定程度上影響了云平臺(tái)為用戶提供的服務(wù)質(zhì)量。針對(duì)云計(jì)算數(shù)據(jù)服務(wù)器,不同的業(yè)務(wù)調(diào)度策略會(huì)造成整個(gè)系統(tǒng)具有不同的負(fù)載分配情況,從而導(dǎo)致具有不同的執(zhí)行效率和對(duì)外計(jì)算服務(wù)能力,最優(yōu)的業(yè)務(wù)調(diào)度策略應(yīng)該是一種能夠使整個(gè)云計(jì)算系統(tǒng)產(chǎn)生負(fù)載平衡效果的策略。在現(xiàn)有的負(fù)載平衡策略中,往往需要維護(hù)額外的歷史數(shù)據(jù),這將導(dǎo)致系統(tǒng)的冗余負(fù)載,并且估計(jì)負(fù)載的效果并不是非常理想。
技術(shù)實(shí)現(xiàn)要素:
為解決上述現(xiàn)有技術(shù)所存在的問題,本發(fā)明提出了一種基于云平臺(tái)的實(shí)時(shí)任務(wù)調(diào)度方法,包括:
控制節(jié)點(diǎn)接收用戶的業(yè)務(wù)調(diào)度請(qǐng)求,計(jì)算數(shù)據(jù)服務(wù)器中每個(gè)計(jì)算節(jié)點(diǎn)的資源剩余量,從中確定最優(yōu)主機(jī)集合來進(jìn)行業(yè)務(wù)調(diào)度。
優(yōu)選地,所述確定最優(yōu)主機(jī)集合來進(jìn)行業(yè)務(wù)調(diào)度,進(jìn)一步包括:
將業(yè)務(wù)調(diào)度問題解析為將特定時(shí)間段內(nèi)收到的業(yè)務(wù)請(qǐng)求調(diào)度到云平臺(tái)數(shù)據(jù)服務(wù)器中由多個(gè)計(jì)算節(jié)點(diǎn)組成的最優(yōu)計(jì)算節(jié)點(diǎn)集合中的問題,將所述業(yè)務(wù)調(diào)度問題的解表示為一個(gè)N維解向量,每個(gè)元素代表處理用戶業(yè)務(wù)請(qǐng)求的最優(yōu)計(jì)算節(jié)點(diǎn)的一個(gè)元組;若數(shù)據(jù)服務(wù)器中有n臺(tái)可用的計(jì)算節(jié)點(diǎn),這些計(jì)算節(jié)點(diǎn)使用空間共享分配策略,定義四元組Y={S,TK,Lc,Lm}來描述,S表示為一組可用的計(jì)算節(jié)點(diǎn)集合,S(n,t)={s1,s2,...,sn},t表示調(diào)度開始時(shí)間;TK表示特定時(shí)間段內(nèi)用戶業(yè)務(wù)請(qǐng)求的集合,Lc為集合S中n臺(tái)計(jì)算節(jié)點(diǎn)當(dāng)前處理器剩余的集合,Lc(n,t)={L1c,L2c,...,Lnc};Lm為集合S中n臺(tái)計(jì)算節(jié)點(diǎn)在時(shí)刻t的存儲(chǔ)器剩余的集合,Lm(n,t)={L1m,L2m,...,Lnm},得到滿足當(dāng)前所處理的業(yè)務(wù)集合的性能約束的計(jì)算節(jié)點(diǎn)集合;
優(yōu)選地,所述方法還包括:用te表示系統(tǒng)和用戶對(duì)業(yè)務(wù)的期望完成時(shí)間,確定系統(tǒng)期望的業(yè)務(wù)執(zhí)行完成時(shí)間te,當(dāng)確定期望完成時(shí)間后,將期望完成時(shí)間信息傳送給控制節(jié)點(diǎn)中的監(jiān)控器模塊,監(jiān)控器模塊以指令的形式發(fā)送給用戶端的接收模塊,然后通過預(yù)處理模塊告之當(dāng)前請(qǐng)求業(yè)務(wù)的用戶;當(dāng)?shù)谝粋€(gè)特定時(shí)間段內(nèi)的業(yè)務(wù)開始執(zhí)行到處理完畢,系統(tǒng)生成一個(gè)實(shí)際執(zhí)行完成時(shí)間tf,并利用用戶在請(qǐng)求業(yè)務(wù)之前對(duì)業(yè)務(wù)的執(zhí)行完成時(shí)間的期望值計(jì)算時(shí)間容忍度函數(shù)TD:
TD=1-(tf-te)/tf
每個(gè)特定時(shí)間段內(nèi)的業(yè)務(wù)執(zhí)行完成后,根據(jù)容忍度函數(shù)的變化做出相應(yīng)的調(diào)整;
當(dāng)將數(shù)據(jù)信息傳遞到控制節(jié)點(diǎn)的調(diào)度策略模塊內(nèi)部的數(shù)據(jù)輸入模塊時(shí),首先將這些混合的數(shù)據(jù)進(jìn)行解調(diào),得到計(jì)算節(jié)點(diǎn)的信息以及特定時(shí)間段內(nèi)用戶請(qǐng)求的業(yè)務(wù)量;解調(diào)完成后,計(jì)算出此時(shí)的請(qǐng)求業(yè)務(wù)的資源量,并以該業(yè)務(wù)資源量作為約束值;然后根據(jù)計(jì)算節(jié)點(diǎn)的處理器剩余和存儲(chǔ)器剩余計(jì)算出云平臺(tái)中每一臺(tái)計(jì)算節(jié)點(diǎn)的實(shí)時(shí)剩余資源量;根據(jù)當(dāng)前的請(qǐng)求業(yè)務(wù)量,將云平臺(tái)內(nèi)計(jì)算節(jié)點(diǎn)剩余資源量大于請(qǐng)求業(yè)務(wù)量的計(jì)算節(jié)點(diǎn)組成一個(gè)計(jì)算節(jié)點(diǎn)集合,通過計(jì)算節(jié)點(diǎn)集合模塊與業(yè)務(wù)調(diào)度方法的交互,最終得到業(yè)務(wù)調(diào)度策略,然后將最優(yōu)調(diào)度策略發(fā)送給控制節(jié)點(diǎn)的調(diào)度控制模塊;當(dāng)業(yè)務(wù)調(diào)度執(zhí)行完畢后,將其生成的調(diào)度策略發(fā)送給調(diào)度控制模塊,調(diào)度控制模塊控制生成的調(diào)度策略以指令的形式通知云平臺(tái),并將待處理的業(yè)務(wù)分派到各個(gè)計(jì)算節(jié)點(diǎn)。
本發(fā)明相比現(xiàn)有技術(shù),具有以下優(yōu)點(diǎn):
本發(fā)明提出了一種基于云平臺(tái)的實(shí)時(shí)任務(wù)調(diào)度方法,提高了云平臺(tái)數(shù)據(jù)服務(wù)器的吞吐率,優(yōu)化了數(shù)據(jù)服務(wù)器對(duì)外服務(wù)性能,具有更好的調(diào)度平衡效果。
附圖說明
圖1是根據(jù)本發(fā)明實(shí)施例的基于云平臺(tái)的實(shí)時(shí)任務(wù)調(diào)度方法的流程圖。
具體實(shí)施方式
下文與圖示本發(fā)明原理的附圖一起提供對(duì)本發(fā)明一個(gè)或者多個(gè)實(shí)施例的詳細(xì)描述。結(jié)合這樣的實(shí)施例描述本發(fā)明,但是本發(fā)明不限于任何實(shí)施例。本發(fā)明的范圍僅由權(quán)利要求書限定,并且本發(fā)明涵蓋諸多替代、修改和等同物。在下文描述中闡述諸多具體細(xì)節(jié)以便提供對(duì)本發(fā)明的透徹理解。出于示例的目的而提供這些細(xì)節(jié),并且無這些具體細(xì)節(jié)中的一些或者所有細(xì)節(jié)也可以根據(jù)權(quán)利要求書實(shí)現(xiàn)本發(fā)明。
本發(fā)明的一方面提供了一種基于云平臺(tái)的實(shí)時(shí)任務(wù)調(diào)度方法。圖1是根據(jù)本發(fā)明實(shí)施例的基于云平臺(tái)的實(shí)時(shí)任務(wù)調(diào)度方法流程圖。
本發(fā)明根據(jù)業(yè)務(wù)調(diào)度方法的體系結(jié)構(gòu),分解成多個(gè)功能模塊,共同組成一個(gè)完整的業(yè)務(wù)調(diào)度系統(tǒng)。然后,在系統(tǒng)體系結(jié)構(gòu)的基礎(chǔ)上,提出了一種云計(jì)算平臺(tái)下的業(yè)務(wù)調(diào)度方法,實(shí)現(xiàn)了云平臺(tái)數(shù)據(jù)服務(wù)器的負(fù)載平衡。在本發(fā)明所運(yùn)行的體系結(jié)構(gòu)中,控制節(jié)點(diǎn)的功能是根據(jù)當(dāng)前調(diào)度策略與最優(yōu)調(diào)度策略和隨機(jī)調(diào)度策略進(jìn)行業(yè)務(wù)調(diào)度,調(diào)度完成后比較三種策略在云平臺(tái)數(shù)據(jù)服務(wù)器整體負(fù)載平衡程度和調(diào)度業(yè)務(wù)的效能,然后根據(jù)估計(jì)的結(jié)果找出一個(gè)最優(yōu)的業(yè)務(wù)調(diào)度策略??刂乒?jié)點(diǎn)可以根據(jù)當(dāng)前云平臺(tái)中的計(jì)算節(jié)點(diǎn)信息計(jì)算出哪個(gè)計(jì)算節(jié)點(diǎn)的剩余資源量是多少以及每臺(tái)計(jì)算節(jié)點(diǎn)中的虛擬機(jī)的運(yùn)行狀態(tài)。同時(shí),在業(yè)務(wù)調(diào)度策略中還有用于接收業(yè)務(wù)調(diào)度的請(qǐng)求和計(jì)算節(jié)點(diǎn)狀態(tài)信息等控制節(jié)點(diǎn),這種節(jié)點(diǎn)的作用是控制調(diào)度方法的執(zhí)行流程和周期。
所有的節(jié)點(diǎn)通過網(wǎng)絡(luò)直接或間接的互相連接組成了云平臺(tái)數(shù)據(jù)服務(wù)器。只有主控制節(jié)點(diǎn)才能觸發(fā)調(diào)度策略模塊,由控制節(jié)點(diǎn)決定最終的業(yè)務(wù)調(diào)度策略。在其他控制節(jié)點(diǎn)同樣設(shè)置調(diào)度策略模塊,在主控制節(jié)點(diǎn)出現(xiàn)異常狀態(tài)下,其他控制節(jié)點(diǎn)會(huì)選取處理能力最高的節(jié)點(diǎn)作為主控制節(jié)點(diǎn),然后讓其節(jié)點(diǎn)內(nèi)的業(yè)務(wù)調(diào)度模塊進(jìn)行工作。
在業(yè)務(wù)調(diào)度策略的控制節(jié)點(diǎn)包括調(diào)度策略模塊、調(diào)度控制模塊以及監(jiān)控器模塊;計(jì)算節(jié)點(diǎn)包括發(fā)送模塊和接收模塊;用戶端包括用于發(fā)送業(yè)務(wù)請(qǐng)求的發(fā)送模塊和用于接收計(jì)算結(jié)果的接收模塊。整體邏輯流程如下:首先,當(dāng)計(jì)算節(jié)點(diǎn)上監(jiān)控器確定有用戶請(qǐng)求業(yè)務(wù)時(shí),用戶通過發(fā)送模塊將請(qǐng)求業(yè)務(wù)的信息發(fā)送給監(jiān)控器模塊,監(jiān)控器模塊獲取了特定時(shí)間段內(nèi)用戶請(qǐng)求業(yè)務(wù)的資源量和數(shù)據(jù)服務(wù)器中計(jì)算節(jié)點(diǎn)的剩余資源量信息,包括處理器剩余和存儲(chǔ)器剩余,監(jiān)控器模塊會(huì)將這些信息整理后發(fā)送給下一級(jí)模塊,即解析模塊。
解析模塊動(dòng)態(tài)的解析收集到的業(yè)務(wù)信息和計(jì)算節(jié)點(diǎn)的計(jì)算節(jié)點(diǎn)信息,進(jìn)行具體的解析過程,在解析完成后將數(shù)據(jù)通過解析模塊發(fā)送給估計(jì)模塊。當(dāng)估計(jì)模塊接收來自解析發(fā)送的數(shù)據(jù)時(shí),立即解析其接收的數(shù)據(jù)。本發(fā)明的估計(jì)模塊需要完成性能參數(shù)的計(jì)算和估計(jì),即使用本發(fā)明的業(yè)務(wù)調(diào)度策略后調(diào)度業(yè)務(wù)的效能和負(fù)載平衡度值。
估計(jì)模塊將估計(jì)的信息、計(jì)算節(jié)點(diǎn)狀態(tài)信息以及請(qǐng)求業(yè)務(wù)的信息發(fā)送給調(diào)度策略模塊,然后根據(jù)本發(fā)明提出的方法生成相應(yīng)的調(diào)度策略,然后將調(diào)度策略和相關(guān)信息傳送給調(diào)度控制器,調(diào)度控制器解析最終得到的數(shù)據(jù)并發(fā)送指令到相應(yīng)的計(jì)算節(jié)點(diǎn)的接收模塊,控制器的作用是控制和執(zhí)行調(diào)度業(yè)務(wù)。最后,將特定時(shí)間段內(nèi)收集的業(yè)務(wù)請(qǐng)求調(diào)度到通過調(diào)度策略模塊找到的最優(yōu)計(jì)算節(jié)點(diǎn)上。
用戶模塊觸發(fā)整個(gè)系統(tǒng)正常運(yùn)轉(zhuǎn),在一個(gè)特定時(shí)間段內(nèi)收集到的多個(gè)用戶的業(yè)務(wù)請(qǐng)求信息,用戶模塊將這些用戶的業(yè)務(wù)請(qǐng)求信息匯總,然后將這些業(yè)務(wù)請(qǐng)求信息通過用戶模塊內(nèi)部的預(yù)處理模塊形成一個(gè)用戶請(qǐng)求通過發(fā)送模塊傳遞給業(yè)務(wù)調(diào)度系統(tǒng)內(nèi)部的監(jiān)控器模塊。當(dāng)系統(tǒng)處理完畢后將計(jì)算結(jié)果發(fā)送給用戶端的接收模塊,接收模塊再通過預(yù)處理模塊將計(jì)算信息分類,并且分別返回給請(qǐng)求的用戶。在這部分里,預(yù)處理模塊起著重要作用,它將零散的業(yè)務(wù)聚集匯成業(yè)務(wù)調(diào)度系統(tǒng)能夠識(shí)別的業(yè)務(wù)類型。
監(jiān)控器模塊負(fù)責(zé)監(jiān)控和傳遞用戶和計(jì)算節(jié)點(diǎn)云平臺(tái)的實(shí)時(shí)狀態(tài)信息。當(dāng)監(jiān)控器模塊開始監(jiān)控時(shí),收集用戶的業(yè)務(wù)請(qǐng)求信息和云平臺(tái)內(nèi)部計(jì)算節(jié)點(diǎn)的負(fù)載信息,并將這些信息通過內(nèi)部的預(yù)處理模塊存儲(chǔ)到數(shù)據(jù)庫中,數(shù)據(jù)庫利用鏈表來存儲(chǔ)業(yè)務(wù)信息和計(jì)算節(jié)點(diǎn)信息。
當(dāng)特定時(shí)間段內(nèi)結(jié)束時(shí),將數(shù)據(jù)庫里存儲(chǔ)的用戶請(qǐng)求的業(yè)務(wù)信息和計(jì)算節(jié)點(diǎn)信息發(fā)送給解析模塊進(jìn)行解析,發(fā)送完畢后,將內(nèi)部的數(shù)據(jù)庫立即發(fā)送到回收模塊,清空數(shù)據(jù)庫,準(zhǔn)備接收下一個(gè)特定時(shí)間段內(nèi)的用戶請(qǐng)求業(yè)務(wù)信息和計(jì)算節(jié)點(diǎn)信息。
解析模塊利用解向量表示為尋找的最優(yōu)業(yè)務(wù)調(diào)度策略。將業(yè)務(wù)調(diào)度問題解析為將特定時(shí)間段內(nèi)收到的業(yè)務(wù)請(qǐng)求調(diào)度到云平臺(tái)數(shù)據(jù)服務(wù)器中由多個(gè)計(jì)算節(jié)點(diǎn)組成的最優(yōu)計(jì)算節(jié)點(diǎn)集合中的問題。業(yè)務(wù)調(diào)度問題的解可以表示為一個(gè)N維解向量,每個(gè)元素代表處理用戶業(yè)務(wù)請(qǐng)求的最優(yōu)計(jì)算節(jié)點(diǎn)的一個(gè)元組。若在相同的網(wǎng)絡(luò)帶寬下,數(shù)據(jù)服務(wù)器中有n臺(tái)可用的計(jì)算節(jié)點(diǎn),這些計(jì)算節(jié)點(diǎn)使用空間共享分配策略。云平臺(tái)數(shù)據(jù)服務(wù)器優(yōu)化每個(gè)特定時(shí)間段。本發(fā)明定義了一個(gè)四元組Y={S,TK,Lc,Lm}來描述,S表示為一組可用的計(jì)算節(jié)點(diǎn)集合,S(n,t)={s1,s2,...,sn},t表示調(diào)度開始時(shí)間。TK表示特定時(shí)間段內(nèi)用戶業(yè)務(wù)請(qǐng)求的集合,TK(m,△t,t)={tk1,tk2,....,thm}。Lc為集合S中n臺(tái)計(jì)算節(jié)點(diǎn)當(dāng)前處理器剩余的集合,Lc(n,t)={L1c,L2c,...,Lnc}。Lm為集合S中n臺(tái)計(jì)算節(jié)點(diǎn)在時(shí)刻t的存儲(chǔ)器剩余的集合,Lm(n,t)={L1m,L2m,...,Lnm}。得到計(jì)算節(jié)點(diǎn)集合,同時(shí)也是找到的符合最優(yōu)業(yè)務(wù)調(diào)度策略,這個(gè)計(jì)算節(jié)點(diǎn)集合能夠滿足當(dāng)前所處理的業(yè)務(wù)集合的性能約束。
估計(jì)模塊包括系統(tǒng)性能估計(jì)模塊和完成時(shí)間估計(jì)模塊。系統(tǒng)性能估計(jì)模塊評(píng)價(jià)和計(jì)算本系統(tǒng)的性能指標(biāo),可以為本發(fā)明業(yè)務(wù)調(diào)度策略提供可靠數(shù)據(jù),從而提高了系統(tǒng)執(zhí)行的精確度。而完成時(shí)間估計(jì)模塊為用戶和系統(tǒng)提供估計(jì)完成時(shí)間,也就是期望完成時(shí)間,在這里用te表示系統(tǒng)和用戶對(duì)業(yè)務(wù)的期望完成時(shí)間,確定系統(tǒng)期望的業(yè)務(wù)執(zhí)行完成時(shí)間te。當(dāng)確定期望完成時(shí)間后,估計(jì)模塊會(huì)將期望完成時(shí)間信息傳送給監(jiān)控器模塊,監(jiān)控器模塊會(huì)以指令的形式發(fā)送給用戶端的接收模塊,然后用戶接收模塊會(huì)在短時(shí)間內(nèi)通過預(yù)處理模塊告之當(dāng)前請(qǐng)求業(yè)務(wù)的用戶。當(dāng)?shù)谝粋€(gè)特定時(shí)間段內(nèi)的業(yè)務(wù)開始執(zhí)行到處理完畢,這個(gè)時(shí)間段稱為實(shí)際執(zhí)行完成時(shí)間,系統(tǒng)生成一個(gè)實(shí)際執(zhí)行完成時(shí)間tf,在理想狀態(tài)下用戶期望完成時(shí)間與實(shí)際完成時(shí)間幾乎相等,但是,在實(shí)際的業(yè)務(wù)調(diào)度過程中會(huì)受到網(wǎng)絡(luò)、傳輸延遲、計(jì)算節(jié)點(diǎn)負(fù)載等因素的制約,必然大于實(shí)際的執(zhí)行完成時(shí)間。用戶在請(qǐng)求業(yè)務(wù)之前會(huì)對(duì)業(yè)務(wù)的執(zhí)行完成時(shí)間有一個(gè)期望值,而系統(tǒng)在實(shí)際的執(zhí)行過程中,業(yè)務(wù)的完成時(shí)間并不一定等于用戶的期望值,為了描述用戶的對(duì)業(yè)務(wù)執(zhí)行完成時(shí)間的容忍程度,使系統(tǒng)更加精準(zhǔn)、高效的運(yùn)行,需要使用函數(shù)作為評(píng)價(jià)依據(jù),即完成時(shí)間容忍度函數(shù)TD:
TD=1-(tf-te)/tf
即當(dāng)實(shí)際完成時(shí)間大于期望完成時(shí)間時(shí),則容忍度會(huì)隨著業(yè)務(wù)實(shí)際執(zhí)行完成時(shí)間的增加而逐漸減小。每個(gè)特定時(shí)間段內(nèi)的業(yè)務(wù)執(zhí)行完成后,根據(jù)容忍程度的變化做出相應(yīng)的調(diào)整。
調(diào)度策略模塊內(nèi)部有一個(gè)接收數(shù)據(jù)的模塊。當(dāng)估計(jì)模塊將數(shù)據(jù)信息傳遞到調(diào)度策略模塊內(nèi)部的數(shù)據(jù)輸入模塊時(shí),由于這些數(shù)據(jù)混合在一起而且雜亂無章。此時(shí),就需要將這些混合的數(shù)據(jù)進(jìn)行解調(diào),得到計(jì)算節(jié)點(diǎn)的信息,以及特定時(shí)間段內(nèi)用戶請(qǐng)求的業(yè)務(wù)量。解調(diào)完成后,分別對(duì)兩類數(shù)據(jù)進(jìn)行操作,業(yè)務(wù)量模塊內(nèi)部計(jì)算出此時(shí)的請(qǐng)求業(yè)務(wù)的資源量,并以此時(shí)的業(yè)務(wù)資源量作為約束值。然后,計(jì)算節(jié)點(diǎn)負(fù)載模塊內(nèi)部則根據(jù)計(jì)算節(jié)點(diǎn)的處理器剩余和存儲(chǔ)器剩余計(jì)算出云平臺(tái)中每一臺(tái)計(jì)算節(jié)點(diǎn)的實(shí)時(shí)剩余資源量。根據(jù)當(dāng)前的請(qǐng)求業(yè)務(wù)量,將云平臺(tái)內(nèi)計(jì)算節(jié)點(diǎn)剩余資源量大于請(qǐng)求業(yè)務(wù)量的計(jì)算節(jié)點(diǎn)組成一個(gè)計(jì)算節(jié)點(diǎn)集合,通過計(jì)算節(jié)點(diǎn)集合模塊與業(yè)務(wù)調(diào)度方法的交互,最終得到業(yè)務(wù)調(diào)度策略,然后將最優(yōu)調(diào)度策略發(fā)送給調(diào)度控制模塊。
當(dāng)業(yè)務(wù)調(diào)度方法內(nèi)部執(zhí)行完畢后,將其生成的調(diào)度策略發(fā)送給調(diào)度控制模塊,調(diào)度控制模塊控制生成的調(diào)度策略以指令的形式通知云平臺(tái),并將待處理的業(yè)務(wù)分派到各個(gè)計(jì)算節(jié)點(diǎn),以確保業(yè)務(wù)的順利執(zhí)行,并且同時(shí)保證算法的高效性、健壯性。調(diào)度控制模塊內(nèi)部實(shí)現(xiàn)流程如下:當(dāng)接收模塊接到來自調(diào)度策略模塊的數(shù)據(jù)后,將數(shù)據(jù)發(fā)送給內(nèi)部的數(shù)據(jù)輸入模塊,輸入模塊向調(diào)度策略預(yù)處理模塊和云平臺(tái)計(jì)算節(jié)點(diǎn)模塊分別輸入兩個(gè)數(shù)據(jù),業(yè)務(wù)調(diào)度方法調(diào)度策略和云平臺(tái)計(jì)算節(jié)點(diǎn)集合PH。預(yù)處理模塊根據(jù)輸入的業(yè)務(wù)調(diào)度方法策略生成最終的最優(yōu)調(diào)度策略。這時(shí),云平臺(tái)計(jì)算節(jié)點(diǎn)模塊將云平臺(tái)內(nèi)的計(jì)算節(jié)點(diǎn)組成集合PH,然后將PH集合發(fā)送到最優(yōu)調(diào)度策略模塊,最優(yōu)調(diào)度策略模塊根據(jù)輸入的計(jì)算節(jié)點(diǎn)集合進(jìn)行挑選處理業(yè)務(wù)最優(yōu)的計(jì)算節(jié)點(diǎn),并且組成一個(gè)最優(yōu)計(jì)算節(jié)點(diǎn)集合ST,ST集合中存放著云平臺(tái)中計(jì)算節(jié)點(diǎn)的位置以及編號(hào)信息,需要將集合中的信息以指令的形式封裝起來,然后將指令信息發(fā)送給云平臺(tái)計(jì)算節(jié)點(diǎn)模塊,至此,調(diào)度控制模塊內(nèi)部工作完成。
當(dāng)計(jì)算節(jié)點(diǎn)云平臺(tái)模塊接收到來自系統(tǒng)內(nèi)部的調(diào)度控制模塊的指令信息后,將指令信息傳遞給內(nèi)部的輸入模塊,輸入模塊將業(yè)務(wù)集合和調(diào)度指令分別發(fā)送到請(qǐng)求業(yè)務(wù)模塊和解調(diào)指令模塊,然后解調(diào)指令模塊將收到的指令解調(diào),并傳送到調(diào)度模塊,與此同時(shí),請(qǐng)求業(yè)務(wù)模塊同樣將業(yè)務(wù)集合傳送給調(diào)度模塊。調(diào)度模塊根據(jù)計(jì)算節(jié)點(diǎn)指令信息,選擇相應(yīng)的計(jì)算節(jié)點(diǎn)。當(dāng)計(jì)算節(jié)點(diǎn)選擇完成后,將業(yè)務(wù)集合中的業(yè)務(wù)快速的調(diào)度到相應(yīng)的計(jì)算節(jié)點(diǎn)上進(jìn)行處理業(yè)務(wù),業(yè)務(wù)完成后,將計(jì)算結(jié)果返回到系統(tǒng)中的接收模塊,然后接收模塊再將計(jì)算結(jié)果發(fā)送給用戶,至此,云平臺(tái)計(jì)算節(jié)點(diǎn)模塊的內(nèi)部工作完成,并且開始進(jìn)行下一個(gè)特定時(shí)間段的業(yè)務(wù)調(diào)度。
本發(fā)明提出的業(yè)務(wù)調(diào)度方法將云平臺(tái)數(shù)據(jù)服務(wù)器收集到的業(yè)務(wù)請(qǐng)求調(diào)度到云平臺(tái)的目標(biāo)計(jì)算節(jié)點(diǎn)上,實(shí)現(xiàn)業(yè)務(wù)的高效調(diào)度。首先,根據(jù)評(píng)價(jià)計(jì)算節(jié)點(diǎn)性能的適應(yīng)性函數(shù)、當(dāng)前計(jì)算節(jié)點(diǎn)的處理器剩余和存儲(chǔ)器剩余計(jì)算出當(dāng)前全部計(jì)算節(jié)點(diǎn)的服務(wù)性能,依據(jù)當(dāng)前用戶請(qǐng)求業(yè)務(wù)量的大小對(duì)云平臺(tái)內(nèi)部的計(jì)算節(jié)點(diǎn)進(jìn)行條件挑選,將計(jì)算節(jié)點(diǎn)剩余資源量大于業(yè)務(wù)請(qǐng)求集合的總資源量的計(jì)算節(jié)點(diǎn)組成一個(gè)集合,該集合是對(duì)云平臺(tái)數(shù)據(jù)服務(wù)器的一個(gè)整體性約束。然后將計(jì)算節(jié)點(diǎn)集合中k臺(tái)計(jì)算節(jié)點(diǎn)抽象成k個(gè)聚類點(diǎn)并且分別與云平臺(tái)中全部計(jì)算節(jié)點(diǎn)進(jìn)行聚類,將每臺(tái)計(jì)算節(jié)點(diǎn)的處理器剩余量和存儲(chǔ)器剩余量抽象為計(jì)算節(jié)點(diǎn)的兩個(gè)屬性,根據(jù)計(jì)算節(jié)點(diǎn)的兩個(gè)屬性計(jì)算計(jì)算節(jié)點(diǎn)之間的近似度,然后由近似度給定一個(gè)閾值,將計(jì)算節(jié)點(diǎn)之間的近似度在閾值內(nèi)的計(jì)算節(jié)點(diǎn)加入到一個(gè)新的集合。當(dāng)集合中的元素不再變化時(shí),這個(gè)集合就是聚類的最后結(jié)果。最后,將待處理的業(yè)務(wù)調(diào)度至最終集合中的計(jì)算節(jié)點(diǎn)。數(shù)據(jù)服務(wù)器中計(jì)算節(jié)點(diǎn)聚類的過程就是找到處理業(yè)務(wù)最優(yōu)計(jì)算節(jié)點(diǎn)的過程,初始時(shí)云平臺(tái)數(shù)據(jù)服務(wù)器有n臺(tái)計(jì)算節(jié)點(diǎn),當(dāng)根據(jù)每臺(tái)計(jì)算節(jié)點(diǎn)的資源剩余和請(qǐng)求業(yè)務(wù)量的大小進(jìn)行第一次挑選,這時(shí)會(huì)得到一個(gè)集合,此時(shí)集合內(nèi)的計(jì)算節(jié)點(diǎn)數(shù)小于等于n,而第二次挑選出的結(jié)果集合內(nèi)的計(jì)算節(jié)點(diǎn)的性能在一定程度上滿足了當(dāng)前用戶的需求。
步驟1:假設(shè)數(shù)據(jù)服務(wù)器有n臺(tái)計(jì)算節(jié)點(diǎn)組成一個(gè)集合H,為了滿足聚類點(diǎn)的性能約束,本發(fā)明對(duì)數(shù)據(jù)服務(wù)器中的全部計(jì)算節(jié)點(diǎn)進(jìn)行一個(gè)約束條件限制,將計(jì)算節(jié)點(diǎn)的剩余資源量Li作為度量標(biāo)準(zhǔn),Li定義如下:
Li=αLc+βLm
其中α+β=1
Lc為處理器剩余;Lm為存儲(chǔ)器剩余;α為處理器權(quán)重;β為存儲(chǔ)器權(quán)重;α和β值的確定采用BP神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)獲取,根據(jù)計(jì)算節(jié)點(diǎn)性能的適應(yīng)性函數(shù),獲取整個(gè)數(shù)據(jù)服務(wù)器中計(jì)算節(jié)點(diǎn)的各項(xiàng)性能監(jiān)控?cái)?shù)據(jù),包括處理器和存儲(chǔ)器數(shù)據(jù),可以計(jì)算出當(dāng)前云平臺(tái)數(shù)據(jù)服務(wù)器中n臺(tái)計(jì)算節(jié)點(diǎn)的剩余資源量。將約束值定義為:特定時(shí)間段內(nèi)接收到的業(yè)務(wù)請(qǐng)求集合的總資源量,即:
其中,LR表示為業(yè)務(wù)請(qǐng)求集合的總資源量,表示為業(yè)務(wù)請(qǐng)求集合中第i個(gè)業(yè)務(wù)的資源量。定義一個(gè)空集S,計(jì)算出業(yè)務(wù)請(qǐng)求集合的總資源量LR,當(dāng)Li>LR時(shí),將i計(jì)算節(jié)點(diǎn)調(diào)度至集合S中,否則繼續(xù)尋找,當(dāng)n臺(tái)計(jì)算節(jié)點(diǎn)與約束值比較完成后得到的集合S,集合S={s1,s2,s3....,sm},即為聚類點(diǎn)的集合,m<n。
步驟2:根據(jù)計(jì)算節(jié)點(diǎn)性能的適應(yīng)性函數(shù)得到每臺(tái)計(jì)算節(jié)點(diǎn)的性能值,通過和約束值的限定,本發(fā)明將數(shù)據(jù)服務(wù)器中性能相對(duì)較好的計(jì)算節(jié)點(diǎn)調(diào)度至集合S中。將計(jì)算節(jié)點(diǎn)的處理器剩余和存儲(chǔ)器剩余作為計(jì)算節(jié)點(diǎn)的兩個(gè)屬性。設(shè)S={s1,s2,s3....,sm}為m個(gè)計(jì)算節(jié)點(diǎn)組成的集合,對(duì)集合S中的計(jì)算節(jié)點(diǎn)的處理器剩余進(jìn)行降序排序,處理器剩余大的排列在前,假設(shè)sj為處理器剩余最大的計(jì)算節(jié)點(diǎn),將sj作為聚類點(diǎn),則計(jì)算近似度的公式為:
s(si,sj)=1/d(si,sj)
為計(jì)算節(jié)點(diǎn)j的第k個(gè)屬性,由此計(jì)算出計(jì)算節(jié)點(diǎn)j與計(jì)算節(jié)點(diǎn)i之間的近似度s(si,sj):
步驟3:以sj為聚類點(diǎn),計(jì)算sj與集合H中各個(gè)元素之間的近似度值。根據(jù)近似度給定一個(gè)閾值U,如果近似度大于閾值U,則將該元素加入新集合S'中。然后集合S按照計(jì)算節(jié)點(diǎn)處理器剩余的降序依次選擇聚類點(diǎn),分別計(jì)算與集合H中元素的近似度,將閾值大于U的元素調(diào)度至集合S'中,當(dāng)集合S'中元素不再變化時(shí),則迭代結(jié)束,集合S'為最終的聚類結(jié)果,即S'={s1',s2'...sq'},其中q<m<n。
步驟4:將數(shù)據(jù)服務(wù)器接收的業(yè)務(wù)請(qǐng)求調(diào)度至集合S'中的計(jì)算節(jié)點(diǎn),然后集合S'中的計(jì)算節(jié)點(diǎn)處理請(qǐng)求的業(yè)務(wù)集合,處理完成后將結(jié)果返回給用戶。從集合S'中計(jì)算節(jié)點(diǎn)開始處理業(yè)務(wù)到處理完成,將這段時(shí)間作為特定時(shí)間段,數(shù)據(jù)服務(wù)器在特定時(shí)間段內(nèi)接收的業(yè)務(wù)請(qǐng)求數(shù)作為下一次待處理的業(yè)務(wù)。
步驟5:在下一時(shí)間段內(nèi)重復(fù)步驟1-4的上述過程。
綜上所述,本發(fā)明提出了一種基于云平臺(tái)的實(shí)時(shí)任務(wù)調(diào)度方法,提高了云平臺(tái)數(shù)據(jù)服務(wù)器的吞吐率,優(yōu)化了數(shù)據(jù)服務(wù)器對(duì)外服務(wù)性能,具有更好的調(diào)度平衡效果。
顯然,本領(lǐng)域的技術(shù)人員應(yīng)該理解,上述的本發(fā)明的各模塊或各步驟可以用通用的計(jì)算系統(tǒng)來實(shí)現(xiàn),它們可以集中在單個(gè)的計(jì)算系統(tǒng)上,或者分布在多個(gè)計(jì)算系統(tǒng)所組成的網(wǎng)絡(luò)上,可選地,它們可以用計(jì)算系統(tǒng)可執(zhí)行的程序代碼來實(shí)現(xiàn),從而,可以將它們存儲(chǔ)在存儲(chǔ)系統(tǒng)中由計(jì)算系統(tǒng)來執(zhí)行。這樣,本發(fā)明不限制于任何特定的硬件和軟件結(jié)合。
應(yīng)當(dāng)理解的是,本發(fā)明的上述具體實(shí)施方式僅僅用于示例性說明或解釋本發(fā)明的原理,而不構(gòu)成對(duì)本發(fā)明的限制。因此,在不偏離本發(fā)明的精神和范圍的情況下所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。此外,本發(fā)明所附權(quán)利要求旨在涵蓋落入所附權(quán)利要求范圍和邊界、或者這種范圍和邊界的等同形式內(nèi)的全部變化和修改例。