本發(fā)明涉及云計算與計算機數(shù)據(jù)結(jié)構(gòu)與規(guī)則領(lǐng)域,具體涉及一種云計算平臺調(diào)度方法。
背景技術(shù):當(dāng)前,云計算技術(shù)可謂是計算機服務(wù)領(lǐng)域最熱門的話題之一。大到行業(yè)的領(lǐng)袖企業(yè),如IBM、Google,小到一些私人企業(yè),甚至一些樂于追求新技術(shù)的技術(shù)人員,都在部署或研究云計算,希望通過云計算來鞏固或提升自己在行業(yè)的地位。云計算要面對的,是大規(guī)模的資源租戶。如何及時、高效的為這些租戶提供服務(wù),提升租戶使用體驗,是云計算平臺所密切關(guān)注的問題。評測一云計算平臺的一個很重要的指標(biāo)是其對云資源租戶請求的響應(yīng)能力,云資源租戶從發(fā)出請求到操作完成的等待時間直接影響租戶的體驗。如何在最短的時間內(nèi)完成用戶請求,有賴于云計算平臺調(diào)度部分處理的方式。傳統(tǒng)的云平臺對用戶請求的調(diào)度多采用FCFS規(guī)則,這一方法在復(fù)雜的云計算場景中劣勢很明顯,舉個簡單的例子,在請求隊列比較滿的狀態(tài)下,以資源租戶發(fā)出一操作請求,本需十幾秒就可完成的操作,卻要等請求隊列中其他請求都完成時才可獲得執(zhí)行,用戶的體驗自然不必說了為提高云計算平臺調(diào)度處理效率,我們提出了一種基于高響應(yīng)比優(yōu)先規(guī)則的云計算平臺調(diào)度方法。
技術(shù)實現(xiàn)要素:本發(fā)明的目的是提供一種云計算平臺調(diào)度方法。該方法將操作系統(tǒng)進程調(diào)度中高響應(yīng)比優(yōu)先規(guī)則引入到云計算平臺的調(diào)度服務(wù)中,能在很大程度上解決輕量級任務(wù)長時間等待的問題。本發(fā)明的目的是按以下方式實現(xiàn)的,采用高響應(yīng)比優(yōu)先的方式,將用戶操作請求隊列中的請求重新排序,來兼顧短任務(wù)與等待時間較長的任務(wù),系統(tǒng)包括:用戶操作請求隊列,隊列轉(zhuǎn)換模塊,用戶操作執(zhí)行隊列,優(yōu)先級判斷模塊,其中:用戶操作請求隊列,用于保存用戶請求,如果請求隊列和執(zhí)行隊列均已滿,則將請求丟棄,并回饋信息給發(fā)出請求的用戶;隊列轉(zhuǎn)換模塊,包括請求優(yōu)先級計算模塊、隊列空滿狀況檢測模塊、請求轉(zhuǎn)列執(zhí)行模塊,當(dāng)檢測到執(zhí)行隊列較空閑狀態(tài)時,請求優(yōu)先級計算模塊遍歷請求隊列,并將優(yōu)先級最高的請求經(jīng)由請求轉(zhuǎn)列執(zhí)行模塊加入到執(zhí)行隊列中;用戶操作執(zhí)行隊列,用于保存經(jīng)隊列轉(zhuǎn)換模塊按優(yōu)先級高低排序的請求,優(yōu)先級高的請求優(yōu)先得到執(zhí)行,當(dāng)執(zhí)行隊列中的任務(wù)數(shù)量超過執(zhí)行隊列長度的3/4時,可認(rèn)為執(zhí)行隊列處于較滿狀態(tài),否則,可認(rèn)為執(zhí)行隊列處于較空閑狀態(tài);優(yōu)先級判斷模塊,將請求隊列中請求的等待時間、要求時間均作為判斷衡量優(yōu)先級的指標(biāo),判斷優(yōu)先級指標(biāo)計算公式為:Rp=(等待時間+要求時間)/要求時間。具體調(diào)度步驟下:(1)一新用戶請求到達云計算平臺調(diào)度服務(wù),系統(tǒng)首先檢查請求隊列是否已滿,若已滿,則需進一步檢查執(zhí)行隊列是否已滿,若二者均已滿,則丟棄請求,并反饋執(zhí)行失敗的原因給用戶,若執(zhí)行隊列未滿,則對請求隊列檢索,將優(yōu)先級最高的請求插入執(zhí)行隊列,依次循環(huán),直到執(zhí)行隊列已滿,然后將新請求插入請求隊列;(2)請求隊列中的請求要獲得執(zhí)行,需經(jīng)過請求到執(zhí)行轉(zhuǎn)換模塊加入到執(zhí)行隊列才可獲得執(zhí)行,隊列轉(zhuǎn)換模塊根據(jù)高響應(yīng)比優(yōu)先規(guī)則,優(yōu)先讓高優(yōu)先級的請求出隊,進入執(zhí)行隊列,具體步驟是逐個將請求隊列中的請求出隊,記為Current請求,并計算其優(yōu)先級,然后與一臨時變量保存的當(dāng)前最大優(yōu)先級進行比較,記為Max,若Current請求的優(yōu)先級等于或低于Max,則將Current請求重新加入到請求隊列,若Current請求的優(yōu)先級高于Max,則將Current請求與Max互換,即此時Current為原來的Max,然后將其加入請求隊列,一輪下來,將Max請求加入到執(zhí)行隊列,如此往復(fù),直到執(zhí)行隊列變?yōu)檩^滿狀態(tài);(3)經(jīng)過步驟(1)和步驟(2)的操作,此時執(zhí)行隊列中的請求已按優(yōu)先級順序排好隊,挨個出隊進入請求執(zhí)行模塊。本發(fā)明的有益效果是:對于耗時較長的請求,用戶多等待一段時間是比較容易接受的,而對于耗時較短的請求,卻要等很長時間,多數(shù)用戶不易接受,本方法正是考慮到這點,優(yōu)先照顧耗時短的任務(wù),并兼顧等待時間較長的耗時長的任務(wù),從而在等待時間與執(zhí)行時間上做出平衡。附圖說明附圖1為基于用戶請求執(zhí)行流程圖;附圖2為基于高響應(yīng)比優(yōu)先規(guī)則的云計算調(diào)度方法示意圖。具體實施方式參照說明書附圖對本發(fā)明的方法作以下詳細地說明。下面參照附圖1及附圖2,對本發(fā)明的內(nèi)容以一個具體實例來描述實現(xiàn)這一方法的過程。系統(tǒng)結(jié)構(gòu)包括:用戶操作請求隊列,隊列轉(zhuǎn)換模塊,用戶操作執(zhí)行隊列,優(yōu)先級判斷設(shè)定,其中:(1)用戶操作請求隊列,當(dāng)有新的用戶請求到達時,首先檢測執(zhí)行隊列及請求隊列是否均為已滿的狀態(tài),當(dāng)請求隊列與執(zhí)行隊列均為滿狀態(tài)時,丟棄用戶請求,并反饋丟棄信息給用戶;當(dāng)請求隊列已滿,但執(zhí)行隊列未滿時,由請求隊列到執(zhí)行隊列轉(zhuǎn)換模塊將請求隊列中的任務(wù)轉(zhuǎn)移一部分到執(zhí)行隊列,請求隊列加入用戶請求;(2)隊列轉(zhuǎn)換模塊,負(fù)責(zé)由請求隊列到執(zhí)行隊列的轉(zhuǎn)換,當(dāng)執(zhí)行隊列狀態(tài)為較空閑狀態(tài)時,逐個檢測并計算請求隊列中請求的優(yōu)先級,并將優(yōu)先級最高的請求插入到執(zhí)行隊列,然后執(zhí)行第二輪檢測,直到執(zhí)行隊列狀態(tài)變?yōu)闈M狀態(tài)。隨著請求的執(zhí)行,執(zhí)行隊列的出隊操作,當(dāng)執(zhí)行隊列狀態(tài)再次變?yōu)檩^空先狀態(tài)時,再次執(zhí)行上述操作,如此循環(huán);(3)用戶操作執(zhí)行隊列,用戶請求執(zhí)行的真正入口,執(zhí)行隊列中的任務(wù)挨個出隊,交給請求云計算平臺的請求執(zhí)行模塊;(4)優(yōu)先級判斷模塊,可描述為Rp=(等待時間+要求時間)/要求時間,由本式可以看出,如果任務(wù)等待時間相同,則要求時間越短的任務(wù)優(yōu)先級越高,因此該規(guī)則有利于耗時較短的任務(wù);如果任務(wù)的要求時間相同,則等待時間越長的任務(wù)優(yōu)先級越高,因此該規(guī)則有利于等待時間長的任務(wù);對于某一耗時較長的任務(wù),優(yōu)先級會隨著等待時間的增加而提高,當(dāng)?shù)却龝r間足夠長時,便可獲得執(zhí)行。具體步驟如下:(1)一新用戶請求到達云計算平臺調(diào)度服務(wù),系統(tǒng)首先檢查請求隊列是否已滿,若已滿,則需進一步檢查執(zhí)行隊列是否已滿,若二者均已滿,則丟棄請求,并反饋執(zhí)行失敗的原因給用戶,若執(zhí)行隊列未滿,則對請求隊列檢索,將優(yōu)先級最高的請求插入執(zhí)行隊列,依次循環(huán),直到執(zhí)行隊列已滿,然后將新請求插入請求隊列;(2)請求隊列中的請求要獲得執(zhí)行,需經(jīng)過請求到執(zhí)行轉(zhuǎn)換模塊加入到執(zhí)行隊列才可獲得執(zhí)行。此轉(zhuǎn)換模塊的思想是根據(jù)高響應(yīng)比優(yōu)先規(guī)則,優(yōu)先讓高優(yōu)先級的請求出隊,進入執(zhí)行隊列。具體實現(xiàn)方法為逐個將請求隊列中的請求出隊,記為Current請求,并計算其優(yōu)先級,然后與一臨時變量保存的當(dāng)前最大優(yōu)先級進行比較,記為Max,若Current請求的優(yōu)先級等于或低于Max,則將Current請求重新加入到請求隊列,若Current請求的優(yōu)先級高于Max,則將Current請求與Max互換,即此時Current為原來的Max,然后將其加入請求隊列。一輪下來,將Max請求加入到執(zhí)行隊列,如此往復(fù),直到執(zhí)行隊列變?yōu)檩^滿狀態(tài);(3)經(jīng)過步驟(1)和步驟(2)的操作,此時執(zhí)行隊列中的請求已按優(yōu)先級順序排好隊,挨個出隊進入請求執(zhí)行模塊。除說明書所述的技術(shù)特征外,均為本專業(yè)技術(shù)人員的已知技術(shù)。