云平臺(tái)的任務(wù)執(zhí)行方法
【專利摘要】本發(fā)明提供了一種云平臺(tái)的任務(wù)執(zhí)行方法,該方法包括:將計(jì)算節(jié)點(diǎn)剩余資源量大于用戶業(yè)務(wù)請(qǐng)求集合總資源量的計(jì)算節(jié)點(diǎn)組成第一集合,對(duì)云平臺(tái)中的計(jì)算節(jié)點(diǎn)進(jìn)行聚類,計(jì)算上述計(jì)算節(jié)點(diǎn)之間的近似度,將近似度在閾值內(nèi)的計(jì)算節(jié)點(diǎn)加入第二集合,將待處理的業(yè)務(wù)調(diào)度至第二集合中的計(jì)算節(jié)點(diǎn)。本發(fā)明提出了一種云平臺(tái)的任務(wù)執(zhí)行方法,提高了云平臺(tái)數(shù)據(jù)服務(wù)器的吞吐率,優(yōu)化了數(shù)據(jù)服務(wù)器對(duì)外服務(wù)性能,具有更好的調(diào)度平衡效果。
【專利說(shuō)明】
云平臺(tái)的任務(wù)執(zhí)行方法
技術(shù)領(lǐng)域
[0001 ]本發(fā)明涉及云計(jì)算,特別涉及一種云平臺(tái)的任務(wù)執(zhí)行方法。
【背景技術(shù)】
[0002] 云計(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ù)載的效果并不是非常理想。
【發(fā)明內(nèi)容】
[0003] 為解決上述現(xiàn)有技術(shù)所存在的問(wèn)題,本發(fā)明提出了一種云平臺(tái)的任務(wù)執(zhí)行方法, 包括:
[0004] 將計(jì)算節(jié)點(diǎn)剩余資源量大于用戶業(yè)務(wù)請(qǐng)求集合總資源量的計(jì)算節(jié)點(diǎn)組成第一集 合,
[0005] 對(duì)云平臺(tái)中的計(jì)算節(jié)點(diǎn)進(jìn)行聚類,
[0006] 計(jì)算上述計(jì)算節(jié)點(diǎn)之間的近似度,
[0007]將近似度在閾值內(nèi)的計(jì)算節(jié)點(diǎn)加入第二集合,
[0008] 將待處理的業(yè)務(wù)調(diào)度至第二集合中的計(jì)算節(jié)點(diǎn)。
[0009] 優(yōu)選地,所述方法進(jìn)一步包括:
[0010] 步驟1:將數(shù)據(jù)服務(wù)器的η臺(tái)計(jì)算節(jié)點(diǎn)組成一個(gè)集合H,對(duì)數(shù)據(jù)服務(wù)器中的全部計(jì)算 節(jié)點(diǎn)進(jìn)行一個(gè)約束條件限制,將計(jì)算節(jié)點(diǎn)的剩余資源量1^作為度量標(biāo)準(zhǔn),1^定義如下:
[0011] Li = aLc+PLm
[0012] 其中 α+β=1
[0013] Lc為處理器剩余;Lm為存儲(chǔ)器剩余;a為處理器權(quán)重;β為存儲(chǔ)器權(quán)重;a和β值的采用 ΒΡ神經(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ù)器中η臺(tái)計(jì)算 節(jié)點(diǎn)的剩余資源量;將約束值定義為特定時(shí)間段內(nèi)接收到的業(yè)務(wù)請(qǐng)求集合的總資源量,即:
[0015]其中,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)η臺(tái)計(jì)算節(jié)點(diǎn)與約束值比較完成后得到的集合S,集合S = {si,S2,S3 ,Sm},即為聚類點(diǎn)的集合,m<n;
[0016]步驟2:根據(jù)計(jì)算節(jié)點(diǎn)性能的適應(yīng)性函數(shù)得到每臺(tái)計(jì)算節(jié)點(diǎn)的性能值,通過(guò)和約束 值的限定,將計(jì)算節(jié)點(diǎn)的處理器剩余和存儲(chǔ)器剩余作為計(jì)算節(jié)點(diǎn)的兩個(gè)屬性;設(shè)S= { SI,S2, S3--,Sm}為m個(gè)計(jì)算節(jié)點(diǎn)組成的集合,對(duì)集合S中的計(jì)算節(jié)點(diǎn)的處理器剩余進(jìn)行降序排序, 假設(shè)~為處理器剩余最大的計(jì)算節(jié)點(diǎn),將~作為聚類點(diǎn),則計(jì)算近似度的公式為:
[0018] s(si,sj) = l/d(si,sj)
[0019] <為計(jì)算節(jié)點(diǎn)j的第k個(gè)屬性,由此計(jì)算出計(jì)算節(jié)點(diǎn)j與計(jì)算節(jié)點(diǎn)i之間的近似度S (si,sj):
[0021] 步驟3:以~為聚類點(diǎn),計(jì)算~與集合Η中各個(gè)元素之間的近似度值;根據(jù)近似度給 定一個(gè)閾值U,如果近似度大于閾值U,則將該元素加入新集合S'中。然后集合S按照計(jì)算節(jié) 點(diǎn)處理器剩余的降序依次選擇聚類點(diǎn),分別計(jì)算與集合Η中元素的近似度,將閾值大于U的 元素調(diào)度至集合S'中,當(dāng)集合S'中元素不再變化時(shí),則迭代結(jié)束,集合S'為最終的聚類結(jié) 果,即S' = {si',S2 ' · · · Sq'},其中q<m<n;
[0022] 步驟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é)果返回給用戶;數(shù)據(jù)服務(wù)器在從集合S' 中計(jì)算節(jié)點(diǎn)開始處理業(yè)務(wù)到處理完成的特定時(shí)間段內(nèi)接收的業(yè)務(wù)請(qǐng)求數(shù)作為下一次待處 理的業(yè)務(wù);
[0023] 步驟5:在下一時(shí)間段內(nèi)重復(fù)步驟1-4的過(guò)程。
[0024] 本發(fā)明相比現(xiàn)有技術(shù),具有以下優(yōu)點(diǎn):
[0025]本發(fā)明提出了一種云平臺(tái)的任務(wù)執(zhí)行方法,提高了云平臺(tái)數(shù)據(jù)服務(wù)器的吞吐率, 優(yōu)化了數(shù)據(jù)服務(wù)器對(duì)外服務(wù)性能,具有更好的調(diào)度平衡效果。
【附圖說(shuō)明】
[0026] 圖1是根據(jù)本發(fā)明實(shí)施例的云平臺(tái)的任務(wù)執(zhí)行方法的流程圖。
【具體實(shí)施方式】
[0027] 下文與圖示本發(fā)明原理的附圖一起提供對(duì)本發(fā)明一個(gè)或者多個(gè)實(shí)施例的詳細(xì)描 述。結(jié)合這樣的實(shí)施例描述本發(fā)明,但是本發(fā)明不限于任何實(shí)施例。本發(fā)明的范圍僅由權(quán)利 要求書限定,并且本發(fā)明涵蓋諸多替代、修改和等同物。在下文描述中闡述諸多具體細(xì)節(jié)以 便提供對(duì)本發(fā)明的透徹理解。出于示例的目的而提供這些細(xì)節(jié),并且無(wú)這些具體細(xì)節(jié)中的 一些或者所有細(xì)節(jié)也可以根據(jù)權(quán)利要求書實(shí)現(xiàn)本發(fā)明。
[0028] 本發(fā)明的一方面提供了一種云平臺(tái)的任務(wù)執(zhí)行方法。圖1是根據(jù)本發(fā)明實(shí)施例的 云平臺(tái)的任務(wù)執(zhí)行方法流程圖。
[0029] 本發(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í)行流程和周期。
[0030] 所有的節(jié)點(diǎn)通過(guò)網(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)行工作。
[0031 ]在業(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í),用戶通過(guò)發(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í)模塊,即解析模塊。
[0032] 解析模塊動(dòng)態(tài)的解析收集到的業(yè)務(wù)信息和計(jì)算節(jié)點(diǎn)的計(jì)算節(jié)點(diǎn)信息,進(jìn)行具體的 解析過(guò)程,在解析完成后將數(shù)據(jù)通過(guò)解析模塊發(fā)送給估計(jì)模塊。當(dāng)估計(jì)模塊接收來(lái)自解析 發(fā)送的數(shù)據(jù)時(shí),立即解析其接收的數(shù)據(jù)。本發(fā)明的估計(jì)模塊需要完成性能參數(shù)的計(jì)算和估 計(jì),即使用本發(fā)明的業(yè)務(wù)調(diào)度策略后調(diào)度業(yè)務(wù)的效能和負(fù)載平衡度值。
[0033] 估計(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)度到通 過(guò)調(diào)度策略模塊找到的最優(yōu)計(jì)算節(jié)點(diǎn)上。
[0034]用戶模塊觸發(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)求信息通過(guò)用戶 模塊內(nèi)部的預(yù)處理模塊形成一個(gè)用戶請(qǐng)求通過(guò)發(fā)送模塊傳遞給業(yè)務(wù)調(diào)度系統(tǒng)內(nèi)部的監(jiān)控 器模塊。當(dāng)系統(tǒng)處理完畢后將計(jì)算結(jié)果發(fā)送給用戶端的接收模塊,接收模塊再通過(guò)預(yù)處理 模塊將計(jì)算信息分類,并且分別返回給請(qǐng)求的用戶。在這部分里,預(yù)處理模塊起著重要作 用,它將零散的業(yè)務(wù)聚集匯成業(yè)務(wù)調(diào)度系統(tǒng)能夠識(shí)別的業(yè)務(wù)類型。
[0035]監(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ù)載信息,并將這些信 息通過(guò)內(nèi)部的預(yù)處理模塊存儲(chǔ)到數(shù)據(jù)庫(kù)中,數(shù)據(jù)庫(kù)利用鏈表來(lái)存儲(chǔ)業(yè)務(wù)信息和計(jì)算節(jié)點(diǎn)信 息。
[0036]當(dāng)特定時(shí)間段內(nèi)結(jié)束時(shí),將數(shù)據(jù)庫(kù)里存儲(chǔ)的用戶請(qǐng)求的業(yè)務(wù)信息和計(jì)算節(jié)點(diǎn)信息 發(fā)送給解析模塊進(jìn)行解析,發(fā)送完畢后,將內(nèi)部的數(shù)據(jù)庫(kù)立即發(fā)送到回收模塊,清空數(shù)據(jù) 庫(kù),準(zhǔn)備接收下一個(gè)特定時(shí)間段內(nèi)的用戶請(qǐng)求業(yè)務(wù)信息和計(jì)算節(jié)點(diǎn)信息。
[0037] 解析模塊利用解向量表示為尋找的最優(yōu)業(yè)務(wù)調(diào)度策略。將業(yè)務(wù)調(diào)度問(wèn)題解析為將 特定時(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)集合中的問(wèn)題。業(yè)務(wù)調(diào)度問(wèn)題的解可以表示為一個(gè)N維解向量,每個(gè)元素代表處理用 戶業(yè)務(wù)請(qǐng)求的最優(yōu)計(jì)算節(jié)點(diǎn)的一個(gè)元組。若在相同的網(wǎng)絡(luò)帶寬下,數(shù)據(jù)服務(wù)器中有η臺(tái)可用 的計(jì)算節(jié)點(diǎn),這些計(jì)算節(jié)點(diǎn)使用空間共享分配策略。云平臺(tái)數(shù)據(jù)服務(wù)器優(yōu)化每個(gè)特定時(shí)間 段。本發(fā)明定義了一個(gè)四元組Y={S,TK,U,L m}來(lái)描述,S表示為一組可用的計(jì)算節(jié)點(diǎn)集合,S (n,t) = {si,S2, . . .,sn},t表示調(diào)度開始時(shí)間。TK表示特定時(shí)間段內(nèi)用戶業(yè)務(wù)請(qǐng)求的集合, TK(m,At,t) = {tki,tk2, . . . . ,???ηι}。!^為集合S中η臺(tái)計(jì)算節(jié)點(diǎn)當(dāng)前處理器剩余的集合,Lc (n,t) = {?Λ,?Λ,. . .,Ln。}。1^為集合S中η臺(tái)計(jì)算節(jié)點(diǎn)在時(shí)亥Ijt的存儲(chǔ)器剩余的集合,Lm(n,t) ={?Λ,?Λ,. . .,ΙΛ}。得到計(jì)算節(jié)點(diǎn)集合,同時(shí)也是找到的符合最優(yōu)業(yè)務(wù)調(diào)度策略,這個(gè)計(jì) 算節(jié)點(diǎn)集合能夠滿足當(dāng)前所處理的業(yè)務(wù)集合的性能約束。
[0038] 估計(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í)間,在 這里用t e表示系統(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)通過(guò)預(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)度過(guò)程中會(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í)行過(guò)程中,業(yè)務(wù)的完成時(shí)間并不一定 等于用戶的期望值,為了描述用戶的對(duì)業(yè)務(wù)執(zhí)行完成時(shí)間的容忍程度,使系統(tǒng)更加精準(zhǔn)、高 效的運(yùn)行,需要使用函數(shù)作為評(píng)價(jià)依據(jù),即完成時(shí)間容忍度函數(shù)TD:
[0039] TD = l-(tf-te)/tf
[0040] 即當(dāng)實(shí)際完成時(shí)間大于期望完成時(shí)間時(shí),則容忍度會(huì)隨著業(yè)務(wù)實(shí)際執(zhí)行完成時(shí)間 的增加而逐漸減小。每個(gè)特定時(shí)間段內(nèi)的業(yè)務(wù)執(zhí)行完成后,根據(jù)容忍程度的變化做出相應(yīng) 的調(diào)整。
[0041] 調(diào)度策略模塊內(nèi)部有一個(gè)接收數(shù)據(jù)的模塊。當(dāng)估計(jì)模塊將數(shù)據(jù)信息傳遞到調(diào)度策 略模塊內(nèi)部的數(shù)據(jù)輸入模塊時(shí),由于這些數(shù)據(jù)混合在一起而且雜亂無(wú)章。此時(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)集合, 通過(guò)計(jì)算節(jié)點(diǎn)集合模塊與業(yè)務(wù)調(diào)度方法的交互,最終得到業(yè)務(wù)調(diào)度策略,然后將最優(yōu)調(diào)度 策略發(fā)送給調(diào)度控制模塊。
[0042]當(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)接收模塊接到來(lái)自調(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)信息,需要將集合中的信息以指令的形式封裝起來(lái),然后將 指令信息發(fā)送給云平臺(tái)計(jì)算節(jié)點(diǎn)模塊,至此,調(diào)度控制模塊內(nèi)部工作完成。
[0043]當(dāng)計(jì)算節(jié)點(diǎn)云平臺(tái)模塊接收到來(lá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)度。
[0044]本發(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)聚類的過(guò)程就是找到處理業(yè)務(wù)最優(yōu)計(jì)算節(jié)點(diǎn)的過(guò)程, 初始時(shí)云平臺(tái)數(shù)據(jù)服務(wù)器有η臺(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ù)小于等于η,而第 二次挑選出的結(jié)果集合內(nèi)的計(jì)算節(jié)點(diǎn)的性能在一定程度上滿足了當(dāng)前用戶的需求。
[0045] 步驟1:假設(shè)數(shù)據(jù)服務(wù)器有η臺(tái)計(jì)算節(jié)點(diǎn)組成一個(gè)集合Η,為了滿足聚類點(diǎn)的性能約 束,本發(fā)明對(duì)數(shù)據(jù)服務(wù)器中的全部計(jì)算節(jié)點(diǎn)進(jìn)行一個(gè)約束條件限制,將計(jì)算節(jié)點(diǎn)的剩余資 源量U作為度量標(biāo)準(zhǔn),U定義如下:
[0046] Li = aLc+PLm
[0047] 其中 α+β=1
[0048] U為處理器剩余;Lm為存儲(chǔ)器剩余;a為處理器權(quán)重;β為存儲(chǔ)器權(quán)重;a和β值的確定 采用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ù)器 中η臺(tái)計(jì)算節(jié)點(diǎn)的剩余資源量。將約束值定義為:特定時(shí)間段內(nèi)接收到的業(yè)務(wù)請(qǐng)求集合的總 資源量,即:
[0050] 其中,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)η臺(tái)計(jì)算節(jié)點(diǎn)與約束值比較完成后得到的集合S,集合S = {si,S2,S3----,Sm},即為聚類點(diǎn)的集合,m<n。
[0051] 步驟2:根據(jù)計(jì)算節(jié)點(diǎn)性能的適應(yīng)性函數(shù)得到每臺(tái)計(jì)算節(jié)點(diǎn)的性能值,通過(guò)和約束 值的限定,本發(fā)明將數(shù)據(jù)服務(wù)器中性能相對(duì)較好的計(jì)算節(jié)點(diǎn)調(diào)度至集合S中。將計(jì)算節(jié)點(diǎn)的 處理器剩余和存儲(chǔ)器剩余作為計(jì)算節(jié)點(diǎn)的兩個(gè)屬性。設(shè)S= { SI,S2,S3--,Sm}為m個(gè)計(jì)算節(jié) 點(diǎn)組成的集合,對(duì)集合S中的計(jì)算節(jié)點(diǎn)的處理器剩余進(jìn)行降序排序,處理器剩余大的排列在 前,假設(shè)~為處理器剩余最大的計(jì)算節(jié)點(diǎn),將~作為聚類點(diǎn),則計(jì)算近似度的公式為:
[0053] s(si,sj) = l/d(si,sj)
[0054] 為計(jì)算節(jié)點(diǎn)j的第k個(gè)屬性,由此計(jì)算出計(jì)算節(jié)點(diǎn)j與計(jì)算節(jié)點(diǎn)i之間的近似度s (si,sj):
[0056] 步驟3:以~為聚類點(diǎn),計(jì)算~與集合Η中各個(gè)元素之間的近似度值。根據(jù)近似度給 定一個(gè)閾值U,如果近似度大于閾值U,則將該元素加入新集合S'中。然后集合S按照計(jì)算節(jié) 點(diǎn)處理器剩余的降序依次選擇聚類點(diǎn),分別計(jì)算與集合Η中元素的近似度,將閾值大于U的 元素調(diào)度至集合S'中,當(dāng)集合S'中元素不再變化時(shí),則迭代結(jié)束,集合S'為最終的聚類結(jié) 果,即S' = {si',S2 ' · · · Sq'},其中q<m<n。
[0057] 步驟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ù)。
[0058]步驟5:在下一時(shí)間段內(nèi)重復(fù)步驟1-4的上述過(guò)程。
[0059]綜上所述,本發(fā)明提出了一種云平臺(tái)的任務(wù)執(zhí)行方法,提高了云平臺(tái)數(shù)據(jù)服務(wù)器 的吞吐率,優(yōu)化了數(shù)據(jù)服務(wù)器對(duì)外服務(wù)性能,具有更好的調(diào)度平衡效果。
[0060]顯然,本領(lǐng)域的技術(shù)人員應(yīng)該理解,上述的本發(fā)明的各模塊或各步驟可以用通用 的計(jì)算系統(tǒng)來(lái)實(shí)現(xiàn),它們可以集中在單個(gè)的計(jì)算系統(tǒng)上,或者分布在多個(gè)計(jì)算系統(tǒng)所組成 的網(wǎng)絡(luò)上,可選地,它們可以用計(jì)算系統(tǒng)可執(zhí)行的程序代碼來(lái)實(shí)現(xiàn),從而,可以將它們存儲(chǔ) 在存儲(chǔ)系統(tǒng)中由計(jì)算系統(tǒng)來(lái)執(zhí)行。這樣,本發(fā)明不限制于任何特定的硬件和軟件結(jié)合。
[0061]應(yīng)當(dāng)理解的是,本發(fā)明的上述【具體實(shí)施方式】?jī)H僅用于示例性說(shuō)明或解釋本發(fā)明的 原理,而不構(gòu)成對(duì)本發(fā)明的限制。因此,在不偏離本發(fā)明的精神和范圍的情況下所做的任何 修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。此外,本發(fā)明所附權(quán)利要求旨 在涵蓋落入所附權(quán)利要求范圍和邊界、或者這種范圍和邊界的等同形式內(nèi)的全部變化和修 改例。
【主權(quán)項(xiàng)】
1. 一種云平臺(tái)的任務(wù)執(zhí)行方法,用于將云平臺(tái)數(shù)據(jù)服務(wù)器收集到的業(yè)務(wù)請(qǐng)求調(diào)度到云 平臺(tái)的目標(biāo)計(jì)算節(jié)點(diǎn)上,其特征在于: 將計(jì)算節(jié)點(diǎn)剩余資源量大于用戶業(yè)務(wù)請(qǐng)求集合總資源量的計(jì)算節(jié)點(diǎn)組成第一集合, 對(duì)云平臺(tái)中的計(jì)算節(jié)點(diǎn)進(jìn)行聚類, 計(jì)算上述計(jì)算節(jié)點(diǎn)之間的近似度, 將近似度在闊值內(nèi)的計(jì)算節(jié)點(diǎn)加入第二集合, 將待處理的業(yè)務(wù)調(diào)度至第二集合中的計(jì)算節(jié)點(diǎn)。2. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法進(jìn)一步包括: 步驟1:將數(shù)據(jù)服務(wù)器的η臺(tái)計(jì)算節(jié)點(diǎn)組成一個(gè)集合H,對(duì)數(shù)據(jù)服務(wù)器中的全部計(jì)算節(jié)點(diǎn) 進(jìn)行一個(gè)約束條件限制,將計(jì)算節(jié)點(diǎn)的剩余資源量以作為度量標(biāo)準(zhǔn),Li定義如下: Iji 二 aLc+0Lm 其中α+β=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ù)器中η臺(tái)計(jì)算節(jié)點(diǎn) 的剩余資源量;將約束值定義為特定時(shí)間段內(nèi)接收到的業(yè)務(wù)請(qǐng)求集合的總資源量,即:其中,LR表示為業(yè)務(wù)請(qǐng)求集合的總資源量,王;t表示為業(yè)務(wù)請(qǐng)求集合中第i個(gè)業(yè)務(wù)的資 源量;定義一個(gè)空集S,計(jì)算出業(yè)務(wù)請(qǐng)求集合的總資源量LR,當(dāng)Li〉L則寸,將i計(jì)算節(jié)點(diǎn)調(diào)度至 集合S中,否則繼續(xù)尋找,當(dāng)η臺(tái)計(jì)算節(jié)點(diǎn)與約束值比較完成后得到的集合S,集合S={si,s2, S3 ,sm},即為聚類點(diǎn)的集合,m<n; 步驟2:根據(jù)計(jì)算節(jié)點(diǎn)性能的適應(yīng)性函數(shù)得到每臺(tái)計(jì)算節(jié)點(diǎn)的性能值,通過(guò)和約束值的 限定,將計(jì)算節(jié)點(diǎn)的處理器剩余和存儲(chǔ)器剩余作為計(jì)算節(jié)點(diǎn)的兩個(gè)屬性;設(shè)S=kl,S2, S3. ...,Sm}為m個(gè)計(jì)算節(jié)點(diǎn)組成的集合,對(duì)集合S中的計(jì)算節(jié)點(diǎn)的處理器剩余進(jìn)行降序排序, 假設(shè)Sj為處理器剩余最大的計(jì)算節(jié)點(diǎn),將乍為聚類點(diǎn),則計(jì)算近似度的公式為:s(si,sj) = l/d(si,sj) 為計(jì)算節(jié)點(diǎn)j的第k個(gè)屬性,由此計(jì)算出計(jì)算節(jié)點(diǎn)j與計(jì)算節(jié)點(diǎn)i之間的近似度S(S1, Sj):步驟3: Wsj為聚類點(diǎn),計(jì)算Sj與集合Η中各個(gè)元素之間的近似度值;根據(jù)近似度給定一 個(gè)闊值U,如果近似度大于闊值U,則將該元素加入新集合S'中。然后集合對(duì)安照計(jì)算節(jié)點(diǎn)處 理器剩余的降序依次選擇聚類點(diǎn),分別計(jì)算與集合Η中元素的近似度,將闊值大于U的元素 調(diào)度至集合S '中,當(dāng)集合S '中元素不再變化時(shí),則迭代結(jié)束,集合S '為最終的聚類結(jié)果,即 S' = {si',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é)果返回給用戶;數(shù)據(jù)服務(wù)器在從集合S'中計(jì) 算節(jié)點(diǎn)開始處理業(yè)務(wù)到處理完成的特定時(shí)間段內(nèi)接收的業(yè)務(wù)請(qǐng)求數(shù)作為下一次待處理的 業(yè)務(wù); 步驟5:在下一時(shí)間段內(nèi)重復(fù)步驟1-4的過(guò)程。
【文檔編號(hào)】G06F9/48GK106095582SQ201610439452
【公開日】2016年11月9日
【申請(qǐng)日】2016年6月17日
【發(fā)明人】張敬華, 程映忠, 王松
【申請(qǐng)人】四川新環(huán)佳科技發(fā)展有限公司