亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種云計(jì)算資源的調(diào)度方法

文檔序號(hào):6638751閱讀:159來源:國知局
一種云計(jì)算資源的調(diào)度方法
【專利摘要】本發(fā)明提供了一種云計(jì)算資源的調(diào)度方法,該方法包括:利用最大突發(fā)負(fù)載、平均吞吐率和最大響應(yīng)時(shí)間對(duì)虛擬機(jī)發(fā)出的數(shù)據(jù)庫訪問請(qǐng)求進(jìn)行整流,形成訪問請(qǐng)求隊(duì)列;當(dāng)訪問請(qǐng)求隊(duì)列未滿時(shí),利用集中式調(diào)度來優(yōu)先調(diào)度實(shí)時(shí)性最高的數(shù)據(jù)庫訪問請(qǐng)求;當(dāng)訪問請(qǐng)求隊(duì)列阻塞時(shí),計(jì)算虛擬機(jī)在各個(gè)節(jié)點(diǎn)所需要分配的資源量,通過各節(jié)點(diǎn)的分布式調(diào)度來處理高負(fù)載請(qǐng)求。本發(fā)明根據(jù)虛擬機(jī)的數(shù)據(jù)庫訪問特性,提高數(shù)據(jù)庫訪問資源利用率;對(duì)訪問請(qǐng)求進(jìn)行合理的資源分配。
【專利說明】一種云計(jì)算資源的調(diào)度方法

【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及云計(jì)算,特別涉及一種云計(jì)算資源的調(diào)度方法。

【背景技術(shù)】
[0002]在云計(jì)算應(yīng)用中,用戶所購買的虛擬機(jī)建立在云服務(wù)供應(yīng)商提供的主機(jī)上,服務(wù)提供商的每一臺(tái)主機(jī)可以運(yùn)行多個(gè)虛擬機(jī)供一個(gè)或多個(gè)用戶使用。為了便于數(shù)據(jù)的管理與交換,這些主機(jī)通常共享一個(gè)集中化的存儲(chǔ)資源池,這為數(shù)據(jù)庫訪問資源調(diào)度帶來了一些全新的挑戰(zhàn)。首先,雖然虛擬化保證了每個(gè)虛擬機(jī)都假想自身獲取獨(dú)立的專有資源,但實(shí)際上每個(gè)分布式存儲(chǔ)節(jié)點(diǎn)的數(shù)據(jù)庫訪問性能是有限的,不同虛擬機(jī)間的數(shù)據(jù)庫訪問資源競爭導(dǎo)致每個(gè)虛擬機(jī)實(shí)際數(shù)據(jù)庫訪問性能受限。不同于CPU和內(nèi)存分配,數(shù)據(jù)庫訪問資源難以應(yīng)對(duì)負(fù)載波動(dòng),遇到數(shù)據(jù)庫訪問突發(fā)訪問時(shí)服務(wù)質(zhì)量容易受到影響甚至使服務(wù)停滯。數(shù)據(jù)庫訪問工作負(fù)載的突發(fā)性和不可確定性要求數(shù)據(jù)庫訪問資源調(diào)度方法必須滿足兩個(gè)特性,其一是健壯性,即能為共享資源的虛擬機(jī)提供完善的隔離措施;其二是高效性,即能有效地利用數(shù)據(jù)庫訪問資源,盡量減少響應(yīng)時(shí)間。
[0003]現(xiàn)有技術(shù)有如下缺點(diǎn):1)服務(wù)提供商需要分析或者預(yù)估該用戶的數(shù)據(jù)庫訪問特性;2)資源調(diào)度不靈活,當(dāng)用戶在某些時(shí)刻集中訪問某些節(jié)點(diǎn)時(shí)不能得到及時(shí)的響應(yīng);3)不利于實(shí)時(shí)管理,局部目標(biāo)服務(wù)級(jí)別設(shè)置需要經(jīng)常更改。因此需要采用更加靈活的方式分配全局目標(biāo)服務(wù)級(jí)別,實(shí)現(xiàn)資源的按需分配。
[0004]因此,針對(duì)相關(guān)技術(shù)中所存在的上述問題,目前尚未提出有效的解決方案。


【發(fā)明內(nèi)容】

[0005]為解決上述現(xiàn)有技術(shù)所存在的問題,本發(fā)明提出了一種云計(jì)算資源的調(diào)度方法,包括:
[0006]利用最大突發(fā)負(fù)載、平均吞吐率和最大響應(yīng)時(shí)間對(duì)虛擬機(jī)發(fā)出的數(shù)據(jù)庫訪問請(qǐng)求進(jìn)行整流,形成訪問請(qǐng)求隊(duì)列;
[0007]當(dāng)訪問請(qǐng)求隊(duì)列未滿時(shí),利用集中式調(diào)度來優(yōu)先調(diào)度實(shí)時(shí)性最高的數(shù)據(jù)庫訪問請(qǐng)求;
[0008]當(dāng)訪問請(qǐng)求隊(duì)列阻塞時(shí),計(jì)算虛擬機(jī)在各個(gè)節(jié)點(diǎn)所需要分配的資源量,通過各節(jié)點(diǎn)的分布式調(diào)度來處理高負(fù)載請(qǐng)求。
[0009]優(yōu)選地,所述虛擬機(jī)發(fā)出的數(shù)據(jù)庫訪問請(qǐng)求通過主機(jī)的訪問請(qǐng)求協(xié)調(diào)器分析,并將數(shù)據(jù)庫訪問請(qǐng)求映射至不同的分布式存儲(chǔ)節(jié)點(diǎn),在處理過程中,每個(gè)數(shù)據(jù)庫訪問請(qǐng)求后都附加上一部分附加信息,分布式存儲(chǔ)節(jié)點(diǎn)提取這些附加信息后對(duì)虛擬機(jī)進(jìn)行數(shù)據(jù)庫訪問特性建模,并分配合適的局部目標(biāo)服務(wù)級(jí)別,在數(shù)據(jù)庫訪問模式建模中確定以下兩點(diǎn):虛擬機(jī)的歷史數(shù)據(jù)庫訪問特性和近期數(shù)據(jù)庫訪問特性,根據(jù)上述特性,將全局目標(biāo)服務(wù)級(jí)別分解成該節(jié)點(diǎn)所需要的局部目標(biāo)服務(wù)級(jí)別,然后經(jīng)過時(shí)間戳處理為各數(shù)據(jù)庫訪問請(qǐng)求加上時(shí)間戳,最后經(jīng)由調(diào)度器調(diào)度。
[0010]優(yōu)選地,所述對(duì)虛擬機(jī)發(fā)出的數(shù)據(jù)庫訪問請(qǐng)求進(jìn)行整流,進(jìn)一步包括:
[0011]用三元組(σ,Ρ,δ)來表示目標(biāo)服務(wù)級(jí)別,其中σ代表最大突發(fā)負(fù)載量,P為平均吞吐率,δ為最大響應(yīng)時(shí)間,在任意時(shí)間段(TpT2)內(nèi),一個(gè)虛擬機(jī)最多發(fā)出σ+ρ (T2-T1)個(gè)請(qǐng)求,虛擬機(jī)初始時(shí)有σ個(gè)令牌,每發(fā)出一個(gè)請(qǐng)求令牌數(shù)量減I ;每經(jīng)過At時(shí)間,令牌數(shù)量便增加1,令牌數(shù)量以σ為上限,確保虛擬機(jī)最大突發(fā)負(fù)載不會(huì)超過O,若令牌已用盡,則將請(qǐng)求的到達(dá)時(shí)間向后推遲I/P的整數(shù)倍,經(jīng)過整流后,將數(shù)據(jù)庫訪問請(qǐng)求形成隊(duì)列,等待調(diào)度。
[0012]優(yōu)選地,將數(shù)據(jù)庫訪問請(qǐng)求形成隊(duì)列進(jìn)一步包括:分布式存儲(chǔ)節(jié)點(diǎn)為每個(gè)虛擬機(jī)建立一個(gè)請(qǐng)求隊(duì)列,每個(gè)虛擬機(jī)發(fā)出的請(qǐng)求可能在多個(gè)節(jié)點(diǎn)中形成隊(duì)列,各分布式存儲(chǔ)節(jié)點(diǎn)調(diào)度數(shù)據(jù)庫訪問請(qǐng)求時(shí),總是從當(dāng)前節(jié)點(diǎn)的所有數(shù)據(jù)庫訪問隊(duì)列中選擇某個(gè)隊(duì)列的第I個(gè)請(qǐng)求進(jìn)行調(diào)度;
[0013]將數(shù)據(jù)庫訪問請(qǐng)求隊(duì)列的狀態(tài)分為空閑、正常和阻塞,當(dāng)隊(duì)列長度為零時(shí)該隊(duì)列為空閑狀態(tài),當(dāng)隊(duì)列長度為非零,且隊(duì)列中的請(qǐng)求尚未超出允許的最大響應(yīng)時(shí)間時(shí)隊(duì)列處于正常狀態(tài),當(dāng)隊(duì)列中至少有一個(gè)請(qǐng)求已經(jīng)超出允許的最大響應(yīng)時(shí)間時(shí)稱其為阻塞狀態(tài)。
[0014]優(yōu)選地,所述將全局目標(biāo)服務(wù)級(jí)別分解成局部目標(biāo)服務(wù)級(jí)別,進(jìn)一步包括:
[0015]每個(gè)虛擬機(jī)預(yù)設(shè)一個(gè)全局的目標(biāo)服務(wù)級(jí)別,該虛擬機(jī)第I次訪問某個(gè)節(jié)點(diǎn)時(shí)會(huì)將全局目標(biāo)服務(wù)級(jí)別配置附加在數(shù)據(jù)庫訪問請(qǐng)求后,分布式存儲(chǔ)節(jié)點(diǎn)提取出虛擬機(jī)的全局目標(biāo)服務(wù)級(jí)別后,計(jì)算出合適的局部目標(biāo)服務(wù)級(jí)別,該局部目標(biāo)服務(wù)級(jí)別要反映當(dāng)前分布式存儲(chǔ)節(jié)點(diǎn)在這個(gè)虛擬機(jī)訪問的所有節(jié)點(diǎn)中所占的比重,并實(shí)時(shí)更新;
[0016]記(σ i; P i; δ D為虛擬機(jī)VMi的全局目標(biāo)服務(wù)級(jí)別,(σ Ji, P Ji, δ Ji)為VMi在分布式存儲(chǔ)節(jié)點(diǎn)Iij的局部目標(biāo)服務(wù)級(jí)別,其中I彡i彡VN,VN為虛擬機(jī)的個(gè)數(shù),NNi,NNi為第i個(gè)虛擬機(jī)中分布式存儲(chǔ)節(jié)點(diǎn)的個(gè)數(shù),δ i為虛擬機(jī)VMi的最大響應(yīng)時(shí)間,σ ^為虛擬機(jī)VMi的最大突發(fā)負(fù)載量,σ \為虛擬機(jī)VMi中節(jié)點(diǎn)的η」的最大突發(fā)負(fù)載量,δ 為虛擬機(jī)VMi的節(jié)點(diǎn)的η」的最大響應(yīng)時(shí)間;
[0017]將全局平均吞吐率P i分配到各個(gè)節(jié)點(diǎn),定義如下:
[0018]σ Jj = O j ;
[0019]P jJ = μ Ji P i ;
[0020]δ Jj = δ j ;
[0021]其中μ Ji表示局部目標(biāo)服務(wù)級(jí)別P Ji在全局目標(biāo)服務(wù)級(jí)別P i中所占的比例;
[0022]將進(jìn)一步分解為兩部分:歷史訪問比例和近期訪問比例,令表示歷史訪問比例,表示近期訪問比例,^表示歷史訪問比例的貢獻(xiàn)因子,將μ'表示為吣和的線性組合:
[0023]μ = Ct1.Hji+(1-α i).Rji
[0024]令主機(jī)中的訪問請(qǐng)求協(xié)調(diào)器為虛擬機(jī)VMi記錄2個(gè)數(shù)據(jù)=Cti和Dti,其中Cti表示到時(shí)刻t為止虛擬機(jī)VMi已完成的數(shù)據(jù)庫訪問請(qǐng)求數(shù);D\表示截止到時(shí)刻t虛擬機(jī)VMi總共發(fā)出的數(shù)據(jù)庫訪問請(qǐng)求數(shù);
[0025]每當(dāng)訪問請(qǐng)求協(xié)調(diào)器分發(fā)一個(gè)數(shù)據(jù)庫訪問請(qǐng)求,便將相對(duì)應(yīng)的2個(gè)數(shù)據(jù)Cti和Dti添加到該請(qǐng)求的結(jié)尾;在分布式存儲(chǔ)節(jié)點(diǎn)中,調(diào)度器維護(hù)虛擬機(jī)VMi最近數(shù)據(jù)庫訪問訪問請(qǐng)求的Cti和Dti,并記錄本節(jié)點(diǎn)為虛擬機(jī)VMi完成的請(qǐng)求總數(shù)通過以下過程獲得歷史訪問比例tf i和近期訪問比例Rji:
[0026]Hji = SVCti
[0027]Rji = I/(Dt1-Dwi)
[0028]最終獲得將全局平均吞吐率P i分配到各個(gè)節(jié)點(diǎn)的資源量:
[0029]P Ji = UjiPi = [ a j.Hji+ (1- a J.Rji].Pi = [ a j.SjiZCti+ (1- α ).I/Dt1-Dt'].Pi0
[0030]本發(fā)明相比現(xiàn)有技術(shù),具有以下優(yōu)點(diǎn):
[0031]動(dòng)態(tài)分析虛擬機(jī)的數(shù)據(jù)庫訪問特性,優(yōu)先調(diào)度對(duì)響應(yīng)時(shí)間要求更嚴(yán)格的數(shù)據(jù)庫訪問請(qǐng)求,在保證服務(wù)級(jí)別的前提下提高數(shù)據(jù)庫訪問資源利用率;在高負(fù)載時(shí),估算出在各節(jié)點(diǎn)所需要分配的資源量,對(duì)訪問請(qǐng)求進(jìn)行合理的資源分配。

【專利附圖】

【附圖說明】
[0032]圖1是根據(jù)本發(fā)明實(shí)施例的云計(jì)算資源的調(diào)度方法的流程圖。

【具體實(shí)施方式】
[0033]下文與圖示本發(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ā)明。
[0034]總的來說,一個(gè)全局目標(biāo)服務(wù)級(jí)別是由存儲(chǔ)各節(jié)點(diǎn)的數(shù)據(jù)庫訪問訪問綜合而成,關(guān)鍵在于如何將全局目標(biāo)服務(wù)級(jí)別分解為合適的局部目標(biāo)服務(wù)級(jí)別,從而在各節(jié)點(diǎn)進(jìn)行高效的調(diào)度。
[0035]本發(fā)明的一方面提供了一種云計(jì)算資源的調(diào)度方法。圖1是根據(jù)本發(fā)明實(shí)施例的云計(jì)算資源的調(diào)度方法流程圖。如圖1所示,實(shí)施本發(fā)明的具體步驟如下:
[0036]對(duì)虛擬機(jī)發(fā)出的數(shù)據(jù)庫訪問請(qǐng)求進(jìn)行整流,形成訪問請(qǐng)求隊(duì)列;當(dāng)訪問請(qǐng)求隊(duì)列未滿時(shí),利用集中式調(diào)度來優(yōu)先調(diào)度高實(shí)時(shí)性的數(shù)據(jù)庫訪問請(qǐng)求;當(dāng)訪問請(qǐng)求隊(duì)列阻塞時(shí),計(jì)算虛擬機(jī)在各個(gè)節(jié)點(diǎn)所需要分配的資源量,通過分布式調(diào)度來處理高負(fù)載請(qǐng)求。
[0037]為虛擬機(jī)發(fā)出的數(shù)據(jù)庫訪問請(qǐng)求進(jìn)行整流,每個(gè)虛擬機(jī)的數(shù)據(jù)庫訪問流由最大突發(fā)負(fù)載σ、平均吞吐率P和最大響應(yīng)時(shí)間δ控制。當(dāng)數(shù)據(jù)庫訪問負(fù)載較輕時(shí),方法利用集中式調(diào)度來優(yōu)先調(diào)度實(shí)時(shí)性要求高的數(shù)據(jù)庫訪問請(qǐng)求。當(dāng)系統(tǒng)面臨高數(shù)據(jù)庫訪問負(fù)載時(shí),該方法分析每個(gè)請(qǐng)求的預(yù)期貢獻(xiàn)值,通過分布式調(diào)度來優(yōu)先調(diào)度貢獻(xiàn)值高的請(qǐng)求。另一方面,為了保證每個(gè)虛擬機(jī)的全局目標(biāo)服務(wù)級(jí)別能夠完成,各分布式存儲(chǔ)節(jié)點(diǎn)需要實(shí)時(shí)設(shè)置合適的局部目標(biāo)服務(wù)級(jí)別。本發(fā)明實(shí)時(shí)分析虛擬機(jī)的數(shù)據(jù)庫訪問特性,將全局目標(biāo)服務(wù)級(jí)別分解成局部目標(biāo)服務(wù)級(jí)別,根據(jù)局部目標(biāo)服務(wù)級(jí)別為虛擬機(jī)在每個(gè)分布式存儲(chǔ)節(jié)點(diǎn)提供合適的服務(wù)。
[0038]本發(fā)明在宿主機(jī)上運(yùn)行多臺(tái)虛擬機(jī),其底層為訪問請(qǐng)求協(xié)調(diào)器。主機(jī)的訪問請(qǐng)求協(xié)調(diào)器分析虛擬機(jī)發(fā)出的數(shù)據(jù)庫訪問請(qǐng)求,將數(shù)據(jù)庫訪問請(qǐng)求映射至不同的分布式存儲(chǔ)節(jié)點(diǎn)。在處理過程中,每個(gè)數(shù)據(jù)庫訪問請(qǐng)求后都會(huì)附加上一部分附加信息,分布式存儲(chǔ)節(jié)點(diǎn)提取這些信息后對(duì)虛擬機(jī)進(jìn)行數(shù)據(jù)庫訪問特性建模,并分配合適的局部目標(biāo)服務(wù)級(jí)別。數(shù)據(jù)庫訪問模式建模確定以下兩點(diǎn):虛擬機(jī)的歷史數(shù)據(jù)庫訪問特性和近期數(shù)據(jù)庫訪問特性。根據(jù)這些特性,數(shù)據(jù)庫訪問模式模型將全局目標(biāo)服務(wù)級(jí)別分解成該節(jié)點(diǎn)所需要的局部目標(biāo)服務(wù)級(jí)別,然后經(jīng)過時(shí)間戳處理模塊為各數(shù)據(jù)庫訪問請(qǐng)求加上時(shí)間戳,最后經(jīng)由調(diào)度器調(diào)度。
[0039]分布式存儲(chǔ)節(jié)點(diǎn)為每個(gè)虛擬機(jī)建立一個(gè)請(qǐng)求隊(duì)列,類似地,每個(gè)虛擬機(jī)發(fā)出的請(qǐng)求可能在多個(gè)節(jié)點(diǎn)中形成隊(duì)列。各分布式存儲(chǔ)節(jié)點(diǎn)調(diào)度數(shù)據(jù)庫訪問請(qǐng)求時(shí),總是從當(dāng)前節(jié)點(diǎn)的所有數(shù)據(jù)庫訪問隊(duì)列中選擇某個(gè)隊(duì)列的第I個(gè)請(qǐng)求進(jìn)行調(diào)度,否則相應(yīng)虛擬機(jī)的請(qǐng)求順序會(huì)被破壞,不利于主機(jī)中的工作負(fù)載整合。
[0040]本發(fā)明用一個(gè)三元組(O,P,δ)來表示目標(biāo)服務(wù)級(jí)別,其中σ代表最大突發(fā)負(fù)載量,P為平均吞吐率,δ為最大響應(yīng)時(shí)間。在任意時(shí)間段(T1, T2)內(nèi),一個(gè)虛擬機(jī)最多發(fā)出σ+ρ (T2-T1)個(gè)請(qǐng)求。虛擬機(jī)初始時(shí)有σ個(gè)令牌,每發(fā)出一個(gè)請(qǐng)求令牌數(shù)量減I ;每經(jīng)過At時(shí)間,令牌數(shù)量便增加I,令牌數(shù)量以σ為上限,以確保虛擬機(jī)最大突發(fā)負(fù)載不會(huì)超過σ。若令牌已用盡,則將請(qǐng)求的到達(dá)時(shí)間向后推遲1/Ρ的整數(shù)倍,使得調(diào)整后的到達(dá)時(shí)間仍滿足目標(biāo)服務(wù)級(jí)別的整流限制,避免該虛擬機(jī)占用過多資源。經(jīng)過整流后,數(shù)據(jù)庫訪問請(qǐng)求形成隊(duì)列,等待調(diào)度。
[0041]將數(shù)據(jù)庫訪問請(qǐng)求隊(duì)列的狀態(tài)分為空閑、正常和阻塞3種。當(dāng)隊(duì)列長度為零時(shí)該隊(duì)列為空閑狀態(tài)。當(dāng)隊(duì)列長度為非零,且隊(duì)列中的請(qǐng)求尚未超出允許的最大響應(yīng)時(shí)間時(shí)隊(duì)列處于正常狀態(tài)。當(dāng)隊(duì)列中至少有一個(gè)請(qǐng)求已經(jīng)超出允許的最大響應(yīng)時(shí)間時(shí)稱其為阻塞狀態(tài)。調(diào)度過程中可以通過查看隊(duì)列的狀態(tài)推斷出數(shù)據(jù)庫訪問資源供應(yīng)水平,從而采用合適的調(diào)度策略。
[0042]每個(gè)虛擬機(jī)都有一個(gè)全局目標(biāo)服務(wù)級(jí)別,該虛擬機(jī)第I次訪問某個(gè)節(jié)點(diǎn)時(shí)會(huì)將全局目標(biāo)服務(wù)級(jí)別配置附加在數(shù)據(jù)庫訪問請(qǐng)求后面。分布式存儲(chǔ)節(jié)點(diǎn)提取出虛擬機(jī)的全局目標(biāo)服務(wù)級(jí)別后便需要計(jì)算出合適的局部目標(biāo)服務(wù)級(jí)別。該局部目標(biāo)服務(wù)級(jí)別首先要反映出當(dāng)前分布式存儲(chǔ)節(jié)點(diǎn)在這個(gè)虛擬機(jī)訪問的所有節(jié)點(diǎn)中所占的比重,其次需要實(shí)時(shí)更新,適應(yīng)工作負(fù)載的變化性。以虛擬機(jī)VMi為例,記(0i,Pi, Si)為VMi的全局目標(biāo)服務(wù)級(jí)別,(σ Ji; P Ji; δ Ji)為VMi在分布式存儲(chǔ)節(jié)點(diǎn)η」的局部目標(biāo)服務(wù)級(jí)別。其中取I彡i彡VN,VN為虛擬機(jī)的個(gè)數(shù)。I < j < NNpNNi為第i個(gè)虛擬機(jī)中分布式存儲(chǔ)節(jié)點(diǎn)的個(gè)數(shù)。δ j為虛擬機(jī)VMi的最大響應(yīng)時(shí)間,σ i為虛擬機(jī)VMi的最大突發(fā)負(fù)載量,σ 為虛擬機(jī)VMi中節(jié)點(diǎn)的Iij的最大突發(fā)負(fù)載量,δ Ji為虛擬機(jī)VMi的節(jié)點(diǎn)的r^_的最大響應(yīng)時(shí)間。首先,虛擬機(jī)VMi的最大響應(yīng)時(shí)間不變,所以6\與Si相等。其次,期望的與Oi也相等,這樣分布式存儲(chǔ)節(jié)點(diǎn)能更好應(yīng)對(duì)突發(fā)的工作負(fù)載。因此本發(fā)明的主要目標(biāo)在于將全局平均吞吐率Pi分配到各個(gè)節(jié)點(diǎn)。定義如下:
[0043]σ J\ = σ j ; (I)
[0044]P ' = μ Ji P i ; (2)
[0045]δ Jj = δ j ; (3)
[0046]這里μ Ji表示局部目標(biāo)服務(wù)級(jí)別P Ji在全局目標(biāo)服務(wù)級(jí)別P i中所占的比例。
[0047]將μ Ji進(jìn)一步分解為兩部分:歷史訪問比例和近期訪問比例。令的表示歷史訪問比例,表示近期訪問比例,a i表示歷史訪問比例的貢獻(xiàn)因子。將μ 表示為吣和Rji的線性組合,如式(4):
[0048]μ Jj = Ct1.Hji+(1-α ^.Rji (4)
[0049]當(dāng)能精確計(jì)算出吣和時(shí),即滿足:
[0050]Σ J-Hji = I (5)
[0051]Σ J-Rji = I (6)
[0052]可以得出:Σ』μ\ = Σ j [ a j.Hji+ (1- ct j).Rji]=
[0053]a i.Zjtfj+d-a ^.SjRji =Qi* 1+(1-0^ *1 = 1 (7)
[0054]也就是說,任意虛擬機(jī)VMi在所有分布式存儲(chǔ)節(jié)點(diǎn)中獲得的目標(biāo)服務(wù)級(jí)別份額之和為1,即其全局目標(biāo)服務(wù)級(jí)別被分解為合適的局部目標(biāo)服務(wù)級(jí)別。
[0055]為了使各節(jié)點(diǎn)能計(jì)算出虛擬機(jī)在當(dāng)前節(jié)點(diǎn)應(yīng)該分配到的局部目標(biāo)服務(wù)級(jí)別,令主機(jī)中的訪問請(qǐng)求協(xié)調(diào)器為虛擬機(jī)VMi記錄2個(gè)數(shù)據(jù)=Cti和Dti,其中Cti表示到時(shí)刻t為止虛擬機(jī)VMi已完成的數(shù)據(jù)庫訪問請(qǐng)求數(shù);D\表示截止到時(shí)刻t虛擬機(jī)VMi總共發(fā)出的數(shù)據(jù)庫訪問請(qǐng)求數(shù)。每當(dāng)訪問請(qǐng)求協(xié)調(diào)器分發(fā)一個(gè)數(shù)據(jù)庫訪問請(qǐng)求,便會(huì)將相對(duì)應(yīng)的2個(gè)數(shù)據(jù)添加到該請(qǐng)求的結(jié)尾處供分布式存儲(chǔ)節(jié)點(diǎn)的調(diào)度方法分析。在分布式存儲(chǔ)節(jié)點(diǎn)r^_中,調(diào)度器一邊維護(hù)虛擬機(jī)VMi最近數(shù)據(jù)庫訪問訪問請(qǐng)求的Cti和Dti, —邊記錄本節(jié)點(diǎn)為虛擬機(jī)VMi完成的請(qǐng)求總數(shù)S\。歷史訪問比例吣和近期訪問比例可以根據(jù)式⑶(9)得出:
[0056]Hji = SVCti (8)
[0057]Rji = I/(Dt1-D^1i) O)
[0058]式⑶表明,截至?xí)r刻t在虛擬機(jī)VMi已經(jīng)完成的Cti個(gè)數(shù)據(jù)庫訪問請(qǐng)求中,有Sji個(gè)是由分布式存儲(chǔ)節(jié)點(diǎn)r^_完成的。式(9)表明,從分布式存儲(chǔ)節(jié)點(diǎn)r^_上一次接收到虛擬機(jī)VMi的請(qǐng)求至今,虛擬機(jī)VMi向所有的分布式存儲(chǔ)節(jié)點(diǎn)共發(fā)出Dt1-Dt'個(gè)請(qǐng)求,其中只有I個(gè)請(qǐng)求到達(dá)VMi,在這段時(shí)間內(nèi)分布式存儲(chǔ)節(jié)點(diǎn)r^_所承受的負(fù)載量占全部負(fù)載的I/(Dt1-Dt')。
[0059]由式⑴?(9)最終推導(dǎo)得到:
[0060]P Ji = UjiPi = [ a i.Hji+ (1- a J.Rji].Pi = [ a j.SjiZCti+ (1- a ).I/Dt1-Dt'].Pit5 (10)
[0061]在實(shí)際過程中,由于歷史訪問比例tf JP近期訪問比例都與小于I的因子相乘,其中任意一個(gè)值較小時(shí)均可能導(dǎo)致最終分配的P 過小,同時(shí)也使得虛擬機(jī)即使某一段時(shí)間內(nèi)集中訪問單一節(jié)點(diǎn)也無法獲得全局目標(biāo)服務(wù)級(jí)別服務(wù)量。為了避免這些不合理分配,為μ \制訂了上、下兩個(gè)閾值。當(dāng)μ \小于下閾值時(shí),令μ \等于下閾值,相當(dāng)于為虛擬機(jī)在任意分布式存儲(chǔ)節(jié)點(diǎn)制訂了最小服務(wù)保障。
[0062]當(dāng)μ \大于上閾值時(shí),假定虛擬機(jī)在集中訪問當(dāng)前分布式存儲(chǔ)節(jié)點(diǎn),因此令μ ^ =1,從而讓該虛擬機(jī)的請(qǐng)求能在當(dāng)前節(jié)點(diǎn)盡快完成。與此相對(duì)應(yīng),式(3)中令局部最大突發(fā)負(fù)載量與全局突發(fā)負(fù)載量δ丨相等,也可以為模型建立提供更平滑的緩沖機(jī)制。另外,隨著工作負(fù)載的運(yùn)行,已完成的請(qǐng)求數(shù)Cti和已發(fā)出的請(qǐng)求數(shù)Dti逐漸增大,其差值可以忽略不計(jì),只需記錄已完成的請(qǐng)求數(shù)Ctit5
[0063]為了更好地衡量請(qǐng)求的優(yōu)先級(jí),根據(jù)請(qǐng)求所需要的目標(biāo)服務(wù)級(jí)別計(jì)算請(qǐng)求對(duì)資源的消耗量,將其與虛擬機(jī)的收費(fèi)標(biāo)準(zhǔn)即貢獻(xiàn)值相比較,得到每個(gè)提供服務(wù)的資源的單位貢獻(xiàn)值,以此作為標(biāo)準(zhǔn)化貢獻(xiàn)值。假使全局目標(biāo)服務(wù)級(jí)別為(Oi, Pi, Si),在請(qǐng)求所要求的完成時(shí)間(t,t+δ,)內(nèi),記單位時(shí)間內(nèi)虛擬機(jī)的最大吞吐率為該虛擬機(jī)所需要的全局服務(wù)成本GC,即
[0064]GC = ( σ j+p j.δ j) / δ j = σ ^ δ j+p j (11)
[0065]不同分布式存儲(chǔ)節(jié)點(diǎn)共同分擔(dān)了對(duì)虛擬機(jī)VMi負(fù)載的服務(wù),故虛擬機(jī)在分布式存儲(chǔ)節(jié)點(diǎn)r^_所消耗的局部服務(wù)成本相當(dāng)于:
[0066]LC = μ Jj.GC = μ ' ( σ i;/ δ f p J。 (12)
[0067]其標(biāo)準(zhǔn)化貢獻(xiàn)值NR為(t,t+ δ J內(nèi)獲得的貢獻(xiàn)值與局部服務(wù)成本的比,即NR =(P.δ j)/LC = p.δ 2J μ ji.( σ ^ ρ j.δ ),(13)
[0068]其中,ρ為用戶為單位時(shí)間服務(wù)支付的成本。由式(13)可以看出標(biāo)準(zhǔn)化貢獻(xiàn)值的特點(diǎn):更寬松的響應(yīng)時(shí)間要求、更低的平均吞吐率需求和更低的突發(fā)負(fù)載量意味著更低的資源占用和更高的貢獻(xiàn)率。
[0069]本發(fā)明進(jìn)一步在數(shù)據(jù)庫檢索方面,在保證數(shù)據(jù)訪問實(shí)時(shí)性的基礎(chǔ)上實(shí)現(xiàn)備份同步、一致性修復(fù),從而有效提高數(shù)據(jù)庫的數(shù)據(jù)存儲(chǔ)與處理能力,適應(yīng)當(dāng)前對(duì)于數(shù)據(jù)高可用性、高可靠性的應(yīng)用需求。
[0070]虛擬機(jī)上傳的數(shù)據(jù)存儲(chǔ)至云平臺(tái)的多個(gè)節(jié)點(diǎn)中,當(dāng)某個(gè)節(jié)點(diǎn)無法正常工作而造成該節(jié)點(diǎn)數(shù)據(jù)備份失效時(shí),其他備份所在存儲(chǔ)的節(jié)點(diǎn)仍能夠正常存儲(chǔ)、檢索,提供與失效節(jié)點(diǎn)完全一致的數(shù)據(jù)訪問。通過在多個(gè)物理服務(wù)器間實(shí)現(xiàn)不同數(shù)量的備份,能夠區(qū)別對(duì)待核心數(shù)據(jù)與普通數(shù)據(jù),兼顧系統(tǒng)的存儲(chǔ)成本與可靠性。
[0071]由云平臺(tái)和虛擬機(jī)接入到訪問請(qǐng)求協(xié)調(diào)器,云平臺(tái)中對(duì)等的各個(gè)存儲(chǔ)節(jié)點(diǎn)由管理節(jié)點(diǎn)服務(wù)統(tǒng)一分配令牌號(hào),系統(tǒng)的數(shù)據(jù)存儲(chǔ)流程可分為以下步驟:
[0072](I)虛擬機(jī)通過主動(dòng)輪詢或事件觸發(fā)方式獲取當(dāng)前數(shù)據(jù),經(jīng)壓縮過濾后發(fā)往訪問請(qǐng)求協(xié)調(diào)器。
[0073](2)訪問請(qǐng)求協(xié)調(diào)器通過用戶配置的存儲(chǔ)節(jié)點(diǎn)配置將數(shù)據(jù)上傳至某個(gè)云平臺(tái)。
[0074](3)云平臺(tái)的管理節(jié)點(diǎn)將數(shù)據(jù)中的存儲(chǔ)節(jié)點(diǎn)名轉(zhuǎn)換為存儲(chǔ)節(jié)點(diǎn)ID,并建立存儲(chǔ)節(jié)點(diǎn)ID與物理服務(wù)器的映射,從而將數(shù)據(jù)發(fā)送至指定的存儲(chǔ)節(jié)點(diǎn)中。
[0075](4)將存儲(chǔ)節(jié)點(diǎn)進(jìn)行分組,并按組名建立與物理服務(wù)器的映射,防止數(shù)據(jù)存儲(chǔ)過于分散。虛擬機(jī)在向云平臺(tái)管理節(jié)點(diǎn)進(jìn)行存儲(chǔ)定位后,直接連至指定的物理服務(wù)器,從而盡量減少不必要的數(shù)據(jù)轉(zhuǎn)發(fā)。
[0076](5)虛擬機(jī)在數(shù)據(jù)寫入第一個(gè)物理服務(wù)器的內(nèi)存緩存后即認(rèn)為寫入成功,由該存儲(chǔ)節(jié)點(diǎn)執(zhí)行后繼的備份流程,從而減少了數(shù)據(jù)發(fā)送時(shí)的阻塞等待時(shí)間,在滿足高可用性的前提下提升了系統(tǒng)吞吐率。數(shù)據(jù)發(fā)送的可靠性由訪問請(qǐng)求協(xié)調(diào)器保證。
[0077]為保障數(shù)據(jù)訪問的可用性,需要對(duì)歷史數(shù)據(jù)存儲(chǔ)進(jìn)行備份。系統(tǒng)默認(rèn)的備份數(shù)量為1,可在配置過程中按可靠性要求對(duì)備份數(shù)量進(jìn)行配置。備份數(shù)據(jù)與主備份數(shù)據(jù)存儲(chǔ)在不同的物理服務(wù)器,存儲(chǔ)規(guī)則由主備份所在存儲(chǔ)節(jié)點(diǎn)所加載的腳本實(shí)現(xiàn),默認(rèn)為依次存儲(chǔ)在管理節(jié)點(diǎn)指定的前向兩個(gè)節(jié)點(diǎn)上。
[0078]由于系統(tǒng)實(shí)時(shí)性限制,數(shù)據(jù)在主備份所在存儲(chǔ)節(jié)點(diǎn)的內(nèi)存緩存期間不進(jìn)行備份操作。當(dāng)記錄容量達(dá)到緩存頁面大小后,或者超過最大緩存時(shí)間后,存儲(chǔ)歸檔服務(wù)在執(zhí)行本地?cái)?shù)據(jù)持久化的同時(shí),將緩存數(shù)據(jù)發(fā)送至指定的備份節(jié)點(diǎn)。由于節(jié)點(diǎn)失效、網(wǎng)絡(luò)異常等原因,可能造成多個(gè)服務(wù)器間的數(shù)據(jù)備份差異。通過存儲(chǔ)數(shù)據(jù)時(shí)附加的管理信息可進(jìn)行數(shù)據(jù)一致性的快速判定和缺失數(shù)據(jù)的準(zhǔn)確定位。備份的一致性判定和修復(fù)工作一般為周期性觸發(fā),通過追加缺失的數(shù)據(jù)來完成修復(fù)。
[0079]通過使用追加操作來實(shí)現(xiàn)正常、異常情況下的數(shù)據(jù)存儲(chǔ),并通過版本號(hào)進(jìn)行正常、異常數(shù)據(jù)的區(qū)分,從而盡可能避免在存儲(chǔ)異常時(shí)磁盤中的數(shù)據(jù)發(fā)生改寫或遷移,同時(shí)也便于失效節(jié)點(diǎn)恢復(fù)后的數(shù)據(jù)同步。為高效存儲(chǔ)時(shí)間回跳狀態(tài)下同一時(shí)間段的不同版本數(shù)據(jù),在追加記錄新版本數(shù)據(jù)的同時(shí),通過維護(hù)數(shù)據(jù)管理信息中的版本標(biāo)識(shí)與原有數(shù)據(jù)形成區(qū)分,保證了異常情況下數(shù)據(jù)不發(fā)生丟失和亂序。
[0080]以固定長度的頁面為最小單元進(jìn)行數(shù)據(jù)管理,頁面類型包括數(shù)據(jù)記錄頁、索引信息頁和版本信息頁。數(shù)據(jù)記錄頁記錄了該存儲(chǔ)節(jié)點(diǎn)在某段時(shí)間的實(shí)時(shí)值、質(zhì)量碼與時(shí)間戳,當(dāng)該頁記錄過程發(fā)生異常時(shí)不會(huì)切換頁面,而是使用累加的版本號(hào)和異常發(fā)生時(shí)的頁面記錄偏移量進(jìn)行標(biāo)識(shí);索引信息頁記錄了數(shù)據(jù)記錄頁的簡要信息,如數(shù)據(jù)記錄頁的版本變化標(biāo)識(shí)、頁面編號(hào)和時(shí)標(biāo)索引等;版本信息頁記錄了各版本號(hào)對(duì)應(yīng)的起止時(shí)間、所關(guān)聯(lián)的數(shù)據(jù)記錄頁起始編號(hào)及其頁面記錄偏移量等信息。各頁面間以鏈表方式進(jìn)行關(guān)聯(lián),便于指定時(shí)間段存儲(chǔ)數(shù)據(jù)的快速定位。
[0081]由主備份所在存儲(chǔ)節(jié)點(diǎn)在數(shù)據(jù)頁寫入磁盤的同時(shí)將其發(fā)送至指定的單個(gè)或多個(gè)備份節(jié)點(diǎn),從而實(shí)現(xiàn)多個(gè)備份的寫入操作。各備份節(jié)點(diǎn)對(duì)接收到的數(shù)據(jù)記錄頁的處理流程與主備份完全相同,并在頁面成功寫入磁盤后通過特定消息通知主備份所在存儲(chǔ)節(jié)點(diǎn)。同時(shí),在各備份節(jié)點(diǎn)定期進(jìn)行自檢操作,通過檢測指定存儲(chǔ)節(jié)點(diǎn)所有版本編號(hào)的連續(xù)性,以及各版本中所有數(shù)據(jù)記錄頁編號(hào)的連續(xù)性,可以快速確認(rèn)是否存在數(shù)據(jù)缺失。如果數(shù)據(jù)是完整的,則在結(jié)果文件中記錄當(dāng)前的檢測位置,防止已檢測的數(shù)據(jù)內(nèi)容被重復(fù)檢測,否則將發(fā)起修復(fù)操作。
[0082](I)與主備份所在存儲(chǔ)節(jié)點(diǎn)進(jìn)行協(xié)商,確定缺失的數(shù)據(jù)記錄頁對(duì)應(yīng)的編號(hào)范圍。
[0083](2)向主備份所在存儲(chǔ)節(jié)點(diǎn)請(qǐng)求缺失的數(shù)據(jù)記錄頁,在獲取到所有頁面后追加寫入當(dāng)前歸檔文件,并修改索引信息頁中維護(hù)的時(shí)標(biāo)索引信息。
[0084](3)如果存在版本號(hào)變化,則對(duì)應(yīng)的版本信息頁也將進(jìn)行同步,以保證所有版本編號(hào)的連續(xù)性。
[0085]當(dāng)用戶在配置中添加節(jié)點(diǎn)時(shí),云平臺(tái)管理節(jié)點(diǎn)計(jì)算得到該新增節(jié)點(diǎn)的數(shù)據(jù)存儲(chǔ)范圍。隨后該新增節(jié)點(diǎn)向原主備份所在存儲(chǔ)節(jié)點(diǎn)請(qǐng)求存儲(chǔ)范圍內(nèi)的所有數(shù)據(jù)記錄頁,而獲取到數(shù)據(jù)記錄頁之后的處理流程與主備份完全相同。當(dāng)節(jié)點(diǎn)失效或網(wǎng)絡(luò)故障導(dǎo)致無法訪問某一節(jié)點(diǎn)時(shí),其原有存儲(chǔ)功能將由云平臺(tái)管理節(jié)點(diǎn)確定的前向節(jié)點(diǎn)進(jìn)行代理。此時(shí),所有數(shù)據(jù)由代理節(jié)點(diǎn)進(jìn)行存儲(chǔ),保證備份節(jié)點(diǎn)中的數(shù)據(jù)完整性。當(dāng)該節(jié)點(diǎn)恢復(fù)訪問時(shí),將按照數(shù)據(jù)一致性維護(hù)機(jī)制與代理節(jié)點(diǎn)進(jìn)行數(shù)據(jù)同步,從而獲取異常期間缺失的數(shù)據(jù)內(nèi)容。數(shù)據(jù)同步完成后,代理節(jié)點(diǎn)停止代理功能,當(dāng)前節(jié)點(diǎn)恢復(fù)原有存儲(chǔ)功能。
[0086]為提升查詢效率吞吐率,必須充分利用多個(gè)備份存儲(chǔ)的優(yōu)勢(shì),將查詢過程中的磁盤I/o操作盡可能均勻地分配給各備份節(jié)點(diǎn)。由于查詢請(qǐng)求首先到達(dá)云平臺(tái)管理節(jié)點(diǎn),需要由云平臺(tái)管理節(jié)點(diǎn)在處理查詢請(qǐng)求時(shí)進(jìn)行負(fù)載均衡,防止某一存儲(chǔ)服務(wù)器負(fù)荷過重,而對(duì)應(yīng)的備份節(jié)點(diǎn)卻處于空閑狀態(tài)的現(xiàn)象發(fā)生。云平臺(tái)管理節(jié)點(diǎn)確定查詢目標(biāo)服務(wù)器后,由查詢虛擬機(jī)直接向?qū)?yīng)的服務(wù)器進(jìn)行本地查詢。
[0087]進(jìn)入本地?cái)?shù)據(jù)查詢流程后,通過相互鏈接的索引信息頁中記錄的時(shí)標(biāo)索引,可以快速定位到指定時(shí)間范圍內(nèi)的數(shù)據(jù)存儲(chǔ)位置。如果頁面的版本變化標(biāo)識(shí)被設(shè)置,說明該頁面中混合存放有正常數(shù)據(jù)和異常數(shù)據(jù),如果不加以區(qū)分而直接按時(shí)間順序進(jìn)行擬合,將產(chǎn)生錯(cuò)誤的擬合結(jié)果。
[0088]通過版本信息頁進(jìn)行時(shí)序數(shù)據(jù)的版本控制,在版本發(fā)生變化的區(qū)間使用最新版本的數(shù)據(jù)進(jìn)行擬合,從而避免正常數(shù)據(jù)與異常數(shù)據(jù)混合交錯(cuò)導(dǎo)致錯(cuò)誤的查詢擬合結(jié)果。
[0089]來自查詢虛擬機(jī)的查詢請(qǐng)求經(jīng)訪問請(qǐng)求協(xié)調(diào)器路由后,首先提交給云平臺(tái)管理節(jié)點(diǎn),由云平臺(tái)管理節(jié)點(diǎn)依據(jù)查詢時(shí)間長度決定是否將查詢請(qǐng)求進(jìn)行分解。如果查詢時(shí)間跨度大于預(yù)設(shè)值,則將原始查詢請(qǐng)求按時(shí)間范圍分解為多個(gè)子查詢請(qǐng)求,并指派給多個(gè)存儲(chǔ)存儲(chǔ)節(jié)點(diǎn)。查詢虛擬機(jī)獲取到應(yīng)答信息后,與每個(gè)存儲(chǔ)存儲(chǔ)節(jié)點(diǎn)建立直連,分別完成各自的本地?cái)?shù)據(jù)查詢流程。如果不需要進(jìn)行查詢請(qǐng)求分解,則按負(fù)載均衡方法在主從備份節(jié)點(diǎn)中選擇合適的單個(gè)存儲(chǔ)服務(wù)器進(jìn)行后繼查詢。
[0090]各數(shù)據(jù)存儲(chǔ)服務(wù)器在接收到本地查詢請(qǐng)求后,將依據(jù)版本信息頁中的內(nèi)容判斷查詢時(shí)間范圍內(nèi)是否存在版本更新。如果該時(shí)間段內(nèi)的過程數(shù)據(jù)屬于同一版本,則直接由索引信息頁定位到實(shí)際存儲(chǔ)位置進(jìn)行數(shù)據(jù)讀取,否則將按各版本更替時(shí)間點(diǎn)進(jìn)行查詢范圍分害I],各分割區(qū)間內(nèi)使用最新版本的數(shù)據(jù)進(jìn)行擬合,從而完成本地?cái)?shù)據(jù)查詢流程。
[0091]為進(jìn)一步提升查詢效率,在各存儲(chǔ)存儲(chǔ)節(jié)點(diǎn)進(jìn)行查詢結(jié)果緩存。處理本地查詢請(qǐng)求時(shí)優(yōu)先在查詢結(jié)果緩存中查找是否有對(duì)應(yīng)記錄,一旦查找成功則直接返回緩存結(jié)果,從而減少了磁盤I/o次數(shù)。
[0092]綜上所述,本發(fā)明提出了云存儲(chǔ)環(huán)境中數(shù)據(jù)庫訪問資源調(diào)度方法,動(dòng)態(tài)分析虛擬機(jī)的數(shù)據(jù)庫訪問特性,優(yōu)先調(diào)度對(duì)響應(yīng)時(shí)間要求更嚴(yán)格的數(shù)據(jù)庫訪問請(qǐng)求,在保證服務(wù)級(jí)別的前提下提高數(shù)據(jù)庫訪問資源利用率;在高負(fù)載時(shí),估算出在各節(jié)點(diǎn)所需要分配的資源量,對(duì)訪問請(qǐng)求進(jìn)行合理的資源分配。
[0093]顯然,本領(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é)合。
[0094]應(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)的全部變化和修改例。
【權(quán)利要求】
1.一種云計(jì)算資源的調(diào)度方法,其特征在于,包括: 利用最大突發(fā)負(fù)載、平均吞吐率和最大響應(yīng)時(shí)間對(duì)虛擬機(jī)發(fā)出的數(shù)據(jù)庫訪問請(qǐng)求進(jìn)行整流,形成訪問請(qǐng)求隊(duì)列; 當(dāng)訪問請(qǐng)求隊(duì)列未滿時(shí),利用集中式調(diào)度來優(yōu)先調(diào)度實(shí)時(shí)性最高的數(shù)據(jù)庫訪問請(qǐng)求; 當(dāng)訪問請(qǐng)求隊(duì)列阻塞時(shí),計(jì)算虛擬機(jī)在各個(gè)節(jié)點(diǎn)所需要分配的資源量,通過各節(jié)點(diǎn)的分布式調(diào)度來處理高負(fù)載請(qǐng)求。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述虛擬機(jī)發(fā)出的數(shù)據(jù)庫訪問請(qǐng)求通過主機(jī)的訪問請(qǐng)求協(xié)調(diào)器分析,并將數(shù)據(jù)庫訪問請(qǐng)求映射至不同的分布式存儲(chǔ)節(jié)點(diǎn),在處理過程中,每個(gè)數(shù)據(jù)庫訪問請(qǐng)求后都附加上一部分附加信息,分布式存儲(chǔ)節(jié)點(diǎn)提取這些附加信息后對(duì)虛擬機(jī)進(jìn)行數(shù)據(jù)庫訪問特性建模,并分配合適的局部目標(biāo)服務(wù)級(jí)別,在數(shù)據(jù)庫訪問模式建模中確定以下兩點(diǎn):虛擬機(jī)的歷史數(shù)據(jù)庫訪問特性和近期數(shù)據(jù)庫訪問特性,根據(jù)上述特性,將全局目標(biāo)服務(wù)級(jí)別分解成該節(jié)點(diǎn)所需要的局部目標(biāo)服務(wù)級(jí)別,然后經(jīng)過時(shí)間戳處理為各數(shù)據(jù)庫訪問請(qǐng)求加上時(shí)間戳,最后經(jīng)由調(diào)度器調(diào)度。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述對(duì)虛擬機(jī)發(fā)出的數(shù)據(jù)庫訪問請(qǐng)求進(jìn)行整流,進(jìn)一步包括: 用三元組(σ,Ρ,S )來表示目標(biāo)服務(wù)級(jí)別,其中σ代表最大突發(fā)負(fù)載量,P為平均吞吐率,δ為最大響應(yīng)時(shí)間,在任意時(shí)間段(TnT2)內(nèi),一個(gè)虛擬機(jī)最多發(fā)出σ+ρ (T2-T1)個(gè)請(qǐng)求,虛擬機(jī)初始時(shí)有σ個(gè)令牌,每發(fā)出一個(gè)請(qǐng)求令牌數(shù)量減I ;每經(jīng)過At時(shí)間,令牌數(shù)量便增加1,令牌數(shù)量以σ為上限,確保虛擬機(jī)最大突發(fā)負(fù)載不會(huì)超過O,若令牌已用盡,則將請(qǐng)求的到達(dá)時(shí)間向后推遲1/Ρ的整數(shù)倍,經(jīng)過整流后,將數(shù)據(jù)庫訪問請(qǐng)求形成隊(duì)列,等待調(diào)度。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,將數(shù)據(jù)庫訪問請(qǐng)求形成隊(duì)列進(jìn)一步包括:分布式存儲(chǔ)節(jié)點(diǎn)為每個(gè)虛擬機(jī)建立一個(gè)請(qǐng)求隊(duì)列,每個(gè)虛擬機(jī)發(fā)出的請(qǐng)求可能在多個(gè)節(jié)點(diǎn)中形成隊(duì)列,各分布式存儲(chǔ)節(jié)點(diǎn)調(diào)度數(shù)據(jù)庫訪問請(qǐng)求時(shí),總是從當(dāng)前節(jié)點(diǎn)的所有數(shù)據(jù)庫訪問隊(duì)列中選擇某個(gè)隊(duì)列的第I個(gè)請(qǐng)求進(jìn)行調(diào)度; 將數(shù)據(jù)庫訪問請(qǐng)求隊(duì)列的狀態(tài)分為空閑、正常和阻塞,當(dāng)隊(duì)列長度為零時(shí)該隊(duì)列為空閑狀態(tài),當(dāng)隊(duì)列長度為非零,且隊(duì)列中的請(qǐng)求尚未超出允許的最大響應(yīng)時(shí)間時(shí)隊(duì)列處于正常狀態(tài),當(dāng)隊(duì)列中至少有一個(gè)請(qǐng)求已經(jīng)超出允許的最大響應(yīng)時(shí)間時(shí)稱其為阻塞狀態(tài)。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述將全局目標(biāo)服務(wù)級(jí)別分解成局部目標(biāo)服務(wù)級(jí)別,進(jìn)一步包括: 每個(gè)虛擬機(jī)預(yù)設(shè)一個(gè)全局的目標(biāo)服務(wù)級(jí)別,該虛擬機(jī)第I次訪問某個(gè)節(jié)點(diǎn)時(shí)會(huì)將全局目標(biāo)服務(wù)級(jí)別配置附加在數(shù)據(jù)庫訪問請(qǐng)求后,分布式存儲(chǔ)節(jié)點(diǎn)提取出虛擬機(jī)的全局目標(biāo)服務(wù)級(jí)別后,計(jì)算出合適的局部目標(biāo)服務(wù)級(jí)別,該局部目標(biāo)服務(wù)級(jí)別要反映當(dāng)前分布式存儲(chǔ)節(jié)點(diǎn)在這個(gè)虛擬機(jī)訪問的所有節(jié)點(diǎn)中所占的比重,并實(shí)時(shí)更新; 記(。i,P i,S i)為虛擬機(jī)VMi的全局目標(biāo)服務(wù)級(jí)別,(σ Ji, P Ji, δ Ji)為VMi在分布式存儲(chǔ)節(jié)點(diǎn)η」的局部目標(biāo)服務(wù)級(jí)別,其中I彡i彡VN,VN為虛擬機(jī)的個(gè)數(shù),I ^ j ^ NNi, NNi為第i個(gè)虛擬機(jī)中分布式存儲(chǔ)節(jié)點(diǎn)的個(gè)數(shù),δ i為虛擬機(jī)VMi的最大響應(yīng)時(shí)間,σ i為虛擬機(jī)VMi的最大突發(fā)負(fù)載量,σ Ji為虛擬機(jī)VMi中節(jié)點(diǎn)的η」的最大突發(fā)負(fù)載量,δ 為虛擬機(jī)VMi的節(jié)點(diǎn)的r^_的最大響應(yīng)時(shí)間; 將全局平均吞吐率P i分配到各個(gè)節(jié)點(diǎn),定義如下:
0 Ji = Oi;
P Ji = μ Ji P i ;
5 Ji = 5 i ; 其中μ Ji表示局部目標(biāo)服務(wù)級(jí)別P在全局目標(biāo)服務(wù)級(jí)別P i中所占的比例; 將μ \進(jìn)一步分解為兩部分:歷史訪問比例和近期訪問比例,令的表示歷史訪問比例,表示近期訪問比例,^表示歷史訪問比例的貢獻(xiàn)因子,將μ'表示為吣和的線性組合:
μ Ji = a J.Hji+(1- a j).Rji 令主機(jī)中的訪問請(qǐng)求協(xié)調(diào)器為虛擬機(jī)VMi記錄2個(gè)數(shù)據(jù)=Cti和Dti,其中Cti表示到時(shí)刻t為止虛擬機(jī)VMi已完成的數(shù)據(jù)庫訪問請(qǐng)求數(shù);D\表示截止到時(shí)刻t虛擬機(jī)VMi總共發(fā)出的數(shù)據(jù)庫訪問請(qǐng)求數(shù); 每當(dāng)訪問請(qǐng)求協(xié)調(diào)器分發(fā)一個(gè)數(shù)據(jù)庫訪問請(qǐng)求,便將相對(duì)應(yīng)的2個(gè)數(shù)據(jù)Cti和Dti添加到該請(qǐng)求的結(jié)尾;在分布式存儲(chǔ)節(jié)點(diǎn)中,調(diào)度器維護(hù)虛擬機(jī)VMi最近數(shù)據(jù)庫訪問訪問請(qǐng)求的Cti和Dti,并記錄本節(jié)點(diǎn)為虛擬機(jī)VMi完成的請(qǐng)求總數(shù)通過以下過程獲得歷史訪問比例吣和近期訪問比例Rji:
Hji = SVCti
Rji = I/(Dt1-Dt1i) 最終獲得將全局平均吞吐率P i分配到各個(gè)節(jié)點(diǎn)的資源量:
P Ji = μ Ji P i = [ a J.Hji+(1-α j).Rji] ^pi=La1.SjiZcVQ-Ct ).!/Dt1-Dwi].P i。
【文檔編號(hào)】G06F9/50GK104407926SQ201410775658
【公開日】2015年3月11日 申請(qǐng)日期:2014年12月15日 優(yōu)先權(quán)日:2014年12月15日
【發(fā)明者】田野, 夏梅宸, 劉志才, 祝昌宇, 盧力君 申請(qǐng)人:成都英力拓信息技術(shù)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1