虛擬機(jī)任務(wù)調(diào)度方法、虛擬機(jī)系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于虛擬機(jī)任務(wù)調(diào)度技術(shù)領(lǐng)域,具體涉及一種虛擬機(jī)任務(wù)調(diào)度方法、虛擬機(jī)系統(tǒng)。
【背景技術(shù)】
[0002]在云技術(shù)、大數(shù)據(jù)等領(lǐng)域中,大量采用虛擬機(jī)(VM)技術(shù),即將實(shí)體的物理機(jī)的CPU、內(nèi)存、硬盤等資源分為多份,用每份資源虛擬出一個(gè)虛擬機(jī),每個(gè)虛擬機(jī)可獨(dú)立執(zhí)行一個(gè)或多個(gè)任務(wù)。以通過分時(shí)復(fù)用技術(shù)提高整體的資源利用率。
[0003]在搜索引擎、電子商務(wù)等業(yè)務(wù)中,存在明顯的長(zhǎng)尾效應(yīng)(LongTail Effect,指任務(wù)種類多,但每種任務(wù)的量不大的現(xiàn)象),從而導(dǎo)致虛擬機(jī)本身出現(xiàn)嚴(yán)重的時(shí)延。而且,由于虛擬機(jī)的特性,故隨著運(yùn)行任務(wù)狀況的不同,具有同樣資源的虛擬機(jī)的時(shí)延可能不同,甚至同一虛擬機(jī)在不同時(shí)刻的時(shí)延也不同。因此,目前進(jìn)行虛擬機(jī)任務(wù)調(diào)度時(shí)都不考慮虛擬機(jī)的時(shí)延,由此導(dǎo)致任務(wù)的時(shí)延超出允許范圍,服務(wù)質(zhì)量下降,影響用戶體驗(yàn)。
【發(fā)明內(nèi)容】
[0004]本發(fā)明針對(duì)現(xiàn)有的虛擬機(jī)任務(wù)調(diào)度方法會(huì)因虛擬機(jī)的時(shí)延導(dǎo)致服務(wù)質(zhì)量下降,影響用戶體驗(yàn)的問題,提供一種可使各任務(wù)都分配入具有適當(dāng)?shù)臅r(shí)延的虛擬機(jī)的虛擬機(jī)任務(wù)調(diào)度方法、虛擬機(jī)系統(tǒng)。
[0005]解決本發(fā)明技術(shù)問題所采用的技術(shù)方案是一種虛擬機(jī)任務(wù)調(diào)度方法,其包括:
[0006]接受任務(wù),并根據(jù)所述任務(wù)對(duì)時(shí)延的要求將其分入相應(yīng)的需求類型;
[0007]使虛擬機(jī)執(zhí)行L次時(shí)鐘掛起a毫秒的操作,并記錄其中實(shí)際掛起時(shí)間大于b毫秒的時(shí)鐘掛起操作的次數(shù)X,其中b大于等于a;
[0008]根據(jù)X將所述虛擬機(jī)分入相應(yīng)的性能類型;
[0009]根據(jù)任務(wù)的需求類型,將其分配給具有對(duì)應(yīng)性能類型的虛擬機(jī)。
[0010]優(yōu)選的是,所述根據(jù)所述任務(wù)對(duì)時(shí)延的要求將其分入相應(yīng)的需求類型包括:根據(jù)預(yù)先設(shè)定的任務(wù)的種類與需求類型的關(guān)系,將任務(wù)分入與其種類相對(duì)應(yīng)的需求類型。
[0011 ]優(yōu)選的是,所述根據(jù)X將所述虛擬機(jī)分入相應(yīng)的性能類型包括:根據(jù)X與預(yù)先設(shè)定的閾值間的關(guān)系,將虛擬機(jī)分入相應(yīng)的性能類型。
[0012]進(jìn)一步優(yōu)選的是,所述閾值包括第一閾值,以及大于第一閾值的第二閾值;所述根據(jù)X將所述虛擬機(jī)分入相應(yīng)的性能類型包括:若所述X小于第一閾值,則將所述虛擬機(jī)分入高性能類型;若所述X大于等于第一閾值而小于等于第二閾值,則將所述虛擬機(jī)分入中性能類型;若所述X大于第二閾值,則將所述虛擬機(jī)分入低性能類型。
[0013]進(jìn)一步優(yōu)選的是,所述L在12000至17000;所述b與a相等;所述第一閾值在11至15;所述第二閾值在55至75。
[0014]優(yōu)選的是,所述1^在12000至17 000 ;所述a在6至8 ;所述b與a相等。
[0015]解決本發(fā)明技術(shù)問題所采用的技術(shù)方案是一種虛擬機(jī)系統(tǒng),其包括:
[0016]多個(gè)物理機(jī),用于建立多個(gè)虛擬機(jī);
[0017]任務(wù)分類單元,用于接受任務(wù),并根據(jù)所述任務(wù)對(duì)時(shí)延的要求將其分入相應(yīng)的需求類型;
[0018]虛擬機(jī)測(cè)試單元,用于使虛擬機(jī)執(zhí)行L次時(shí)鐘掛起a毫秒的操作,并記錄其中實(shí)際掛起時(shí)間大于b毫秒的時(shí)鐘掛起操作的次數(shù)X,其中b大于等于a;
[0019]虛擬機(jī)分類單元,用于根據(jù)X將所述虛擬機(jī)分入相應(yīng)的性能類型;
[0020]任務(wù)分配單元,用于根據(jù)任務(wù)的需求類型,將其分配給具有對(duì)應(yīng)性能類型的虛擬機(jī)。
[0021]優(yōu)選的是,所述任務(wù)分類單元用于根據(jù)預(yù)先設(shè)定的任務(wù)的種類與需求類型的關(guān)系,將任務(wù)分入與其種類相對(duì)應(yīng)的需求類型。
[0022]優(yōu)選的是,所述虛擬機(jī)分類單元用于根據(jù)X與預(yù)先設(shè)定的閾值間的關(guān)系,將虛擬機(jī)分入相應(yīng)的性能類型。
[0023]進(jìn)一步優(yōu)選的是,所述閾值包括第一閾值,以及大于第一閾值的第二閾值;所述虛擬機(jī)測(cè)試單元用于按照以下方式根據(jù)X將所述虛擬機(jī)分入相應(yīng)的性能類型:若所述X小于第一閾值,則將所述虛擬機(jī)分入高性能類型;若所述X大于等于第一閾值而小于等于第二閾值,則將所述虛擬機(jī)分入中性能類型;若所述X大于第二閾值,則將所述虛擬機(jī)分入低性能類型。
[0024]本發(fā)明的虛擬機(jī)任務(wù)調(diào)度方法中,在分配任務(wù)前先通過使各虛擬機(jī)執(zhí)行多次時(shí)鐘掛起操作檢測(cè)出各虛擬機(jī)當(dāng)前的時(shí)延狀況,并據(jù)此進(jìn)行任務(wù)分配,將對(duì)時(shí)延要求高的任務(wù)分入時(shí)延低的虛擬機(jī),將對(duì)時(shí)延要求低的任務(wù)分入時(shí)延高的虛擬機(jī),從而可使各任務(wù)都獲得可接受的時(shí)延,改善服務(wù)質(zhì)量和用戶體驗(yàn)。
[0025]本發(fā)明的虛擬機(jī)系統(tǒng)中,在分配任務(wù)前先通過使各虛擬機(jī)執(zhí)行多次時(shí)鐘掛起操作檢測(cè)出各虛擬機(jī)當(dāng)前的時(shí)延狀況,并據(jù)此進(jìn)行任務(wù)分配,將對(duì)時(shí)延要求高的任務(wù)分入時(shí)延低的虛擬機(jī),將對(duì)時(shí)延要求低的任務(wù)分入時(shí)延高的虛擬機(jī),從而可使各任務(wù)都獲得可接受的時(shí)延,改善服務(wù)質(zhì)量和用戶體驗(yàn)。
【附圖說明】
[0026]圖1為本發(fā)明的實(shí)施例的一種虛擬機(jī)任務(wù)調(diào)度方法的流程示意圖;
[0027]圖2為本發(fā)明的實(shí)施例的另一種虛擬機(jī)任務(wù)調(diào)度方法的流程示意圖;
[0028]圖3為本發(fā)明的實(shí)施例的一種虛擬機(jī)系統(tǒng)的組成示意框圖。
【具體實(shí)施方式】
[0029]為使本領(lǐng)域技術(shù)人員更好地理解本發(fā)明的技術(shù)方案,下面結(jié)合附圖和【具體實(shí)施方式】對(duì)本發(fā)明作進(jìn)一步詳細(xì)描述。
[0030]實(shí)施例1:
[0031 ]如圖1所示,本實(shí)施例提供一種虛擬機(jī)任務(wù)調(diào)度方法,其包括:
[0032]S101、接受任務(wù),并根據(jù)任務(wù)對(duì)時(shí)延的要求將其分入相應(yīng)的需求類型。
[0033]S102、使虛擬機(jī)執(zhí)行L次時(shí)鐘掛起a毫秒的操作,并記錄其中實(shí)際掛起時(shí)間大于b毫秒的時(shí)鐘掛起操作的次數(shù)X,其中b大于等于a。
[0034]S103、根據(jù)X將虛擬機(jī)分入相應(yīng)的性能類型。
[0035]S104、根據(jù)任務(wù)的需求類型,將其分配給具有對(duì)應(yīng)性能類型的虛擬機(jī)。
[0036]本實(shí)施例的虛擬機(jī)任務(wù)調(diào)度方法中,在分配任務(wù)前先通過使各虛擬機(jī)執(zhí)行多次時(shí)鐘掛起操作檢測(cè)出各虛擬機(jī)當(dāng)前的時(shí)延狀況,并據(jù)此進(jìn)行任務(wù)分配,將對(duì)時(shí)延要求高的任務(wù)分入時(shí)延低的虛擬機(jī),將對(duì)時(shí)延要求低的任務(wù)分入時(shí)延高的虛擬機(jī),從而可使各任務(wù)都獲得可接受的時(shí)延,改善服務(wù)質(zhì)量和用戶體驗(yàn)。
[0037]實(shí)施例2:
[0038]如圖2所示,本實(shí)施例提供一種虛擬機(jī)任務(wù)調(diào)度方法,其用于將任務(wù)分配給相應(yīng)的虛擬機(jī)。
[0039]例如,以當(dāng)前要將M個(gè)任務(wù)分配到N個(gè)虛擬機(jī)上為例進(jìn)行說明,以上虛擬機(jī)任務(wù)調(diào)度方法包括:
[0040]S201、接受任務(wù),并根據(jù)任務(wù)對(duì)時(shí)延的要求將其分入相應(yīng)的需求類型。
[0041]優(yōu)選的,本步驟包括:接受M個(gè)任務(wù),并根據(jù)預(yù)先設(shè)定的任務(wù)的種類與需求類型的關(guān)系,將任務(wù)分入與其種類相對(duì)應(yīng)的需求類型(如高需求類型、中需求類型、低需求類型)。
[0042]顯然,不同類型的任務(wù)對(duì)時(shí)延有不同的要求,且該要求是可知的:例如,網(wǎng)上支付類的任務(wù)對(duì)時(shí)延的要求就很高(即允許的時(shí)延低),因?yàn)椴徽撝Ц妒欠癯晒?,都?yīng)當(dāng)很快得到確定的反饋,否則可能產(chǎn)生嚴(yán)重的安全問題;相對(duì)的,電子郵件類任務(wù)一般對(duì)時(shí)延的要求就較低(即允許的時(shí)延高),因?yàn)橐话愣疾粫?huì)要求電子郵件必須立刻達(dá)到。
[0043]因此,本步驟就是依照預(yù)先設(shè)定的任務(wù)的種類與需求類型的關(guān)系,根據(jù)任務(wù)的種類,將以上M個(gè)任務(wù)分入不同的需求類型中,如高需求類型(即允許的時(shí)延較低)、中需求類型(即允許的時(shí)延一般)、低需求類型(即允許的時(shí)延較高)。
[0044]S202、使虛擬機(jī)執(zhí)行L次時(shí)鐘掛起a毫秒的操作,并記錄其中實(shí)際掛起時(shí)間大于b毫秒的時(shí)鐘掛起操作的次數(shù)X,其中b大于等于a。
[0045]也就是說,使每個(gè)虛擬機(jī)都分別循環(huán)執(zhí)行SleeP(a)函數(shù)L次,以此作為對(duì)虛擬機(jī)的“測(cè)試”(當(dāng)然各虛擬機(jī)的測(cè)試可同時(shí)進(jìn)行)。其中,sleep()函數(shù)可將處理時(shí)鐘中斷,而不影響虛擬機(jī)正在運(yùn)行的任務(wù)。當(dāng)虛擬機(jī)的CPU等資源壓力較大時(shí),會(huì)導(dǎo)致虛擬機(jī)的實(shí)際醒來時(shí)間比預(yù)定時(shí)間晚,即實(shí)際掛起時(shí)間比理論時(shí)間長(zhǎng)。因此,虛擬機(jī)整體的時(shí)延越大,則其實(shí)際掛起時(shí)間超過預(yù)定時(shí)間(13_秒)的概率就越大,故通過實(shí)際掛起時(shí)間大于b_秒的時(shí)鐘掛起操作的次數(shù)X,即可判斷出虛擬機(jī)的性能。
[0046]當(dāng)然,實(shí)際掛起時(shí)間顯然不可能小于理論的時(shí)鐘掛起時(shí)間(a毫秒),故b不能小于a。而b之所以可能大于a,是因?yàn)槠淇筛鶕?jù)需求設(shè)定,例如,若認(rèn)為存在微小時(shí)延并不影響虛擬機(jī)的使用,則可以將b定為略大于a的值。
[0047]以上的掛起測(cè)試的方法是在虛擬機(jī)本地進(jìn)行的,不需要通過網(wǎng)絡(luò),因此其一方面不受網(wǎng)絡(luò)擁堵的影響,另一方面也不會(huì)增大網(wǎng)絡(luò)壓力,故該測(cè)試方法簡(jiǎn)單易行,且測(cè)試結(jié)果準(zhǔn)確可靠。
[0048]S203、根據(jù)X將虛擬機(jī)分入相應(yīng)的性能類型。
[0049]如前,X代表了虛擬機(jī)當(dāng)前的時(shí)延狀況,故可根據(jù)X的值將虛擬機(jī)分入不同的性能類型中(如該高性能類型、中性能類型、低性能類型)。
[0050]其中,優(yōu)選的,時(shí)鐘掛起操作的循環(huán)次數(shù)L在12000至17000,掛起操作的時(shí)間a在6至8,而b等于a。
[0051 ]顯然,時(shí)鐘掛起操作的次數(shù)越多越能準(zhǔn)確的判斷虛擬機(jī)的性能;但若其次數(shù)過多,則會(huì)導(dǎo)致測(cè)試時(shí)間過長(zhǎng),任務(wù)分配過慢。因此,一般循環(huán)次數(shù)L優(yōu)選在以上12000至17000的范圍,例如為15000,其相應(yīng)的實(shí)際測(cè)試時(shí)間一般在3分鐘以內(nèi)。
[0052]顯然,每次時(shí)鐘掛起操作的時(shí)間a越短,則在相同時(shí)間內(nèi)進(jìn)行的時(shí)鐘掛起操作次數(shù)就越多,測(cè)試結(jié)果越準(zhǔn)確;但是,由于時(shí)間測(cè)試本身也存在不可避免的誤差、波動(dòng)等,故若a過短,則以上誤差對(duì)其的影響就太大