一種混合云環(huán)境下服務(wù)提供者的資源供應(yīng)方法
【專利摘要】本發(fā)明公開了一種混合云環(huán)境下服務(wù)提供者的資源供應(yīng)方法,利用混合云模型從云服務(wù)提供商的角度出發(fā),提出了一種虛擬資源實時動態(tài)高效調(diào)度供應(yīng)方法,使其滿足每個用戶的需求;用戶的需求被抽象為相互獨立的任務(wù),如果對于當(dāng)前任務(wù)無法分配合適資源,則最小化動態(tài)調(diào)整未執(zhí)行任務(wù),在調(diào)整代價最小化的同時,使得當(dāng)前任務(wù)能夠滿足截止期;如果最大化調(diào)整也不能使當(dāng)前任務(wù)滿足截止期,則考慮租借公有云中的類似服務(wù),權(quán)衡能耗和接受任務(wù)的收益,租用最少的服務(wù)使得收益最大化,優(yōu)化完工時間和資源利用率的同時,有效保證了用戶的服務(wù)質(zhì)量。
【專利說明】一種混合云環(huán)境下服務(wù)提供者的資源供應(yīng)方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種混合云環(huán)境下服務(wù)提供者的資源供應(yīng)方法,屬于云計算資源調(diào)度【技術(shù)領(lǐng)域】
【背景技術(shù)】
[0002]基于分布式計算特別是網(wǎng)格計算的發(fā)展,產(chǎn)生了一種新型服務(wù)計算模型:云計算(Cloud Computing)。云計算是一種能夠通過網(wǎng)絡(luò)以便利的、按需的方式訪問一個可配置的計算資源共享池的模式,這個資源共享池能以最少的管理開銷和最少的與供應(yīng)商的交互,迅速配置、提供或釋放資源。云計算包括三種服務(wù)模式:軟件即服務(wù)(Softwareas a Service, SaaS)、平臺即服務(wù)(Platform as a Service, PaaS)和基礎(chǔ)設(shè)施即服務(wù)(Infrastructure as a Service, IaaS);云計算的主要部署方式有私有云(PrivateClouds)、公有云(Public Clouds)和混合云(Hybrid Clouds)?;旌显剖莾?nèi)部基礎(chǔ)設(shè)施(私有云)和外部公眾服務(wù)(公有云)的混合匹配。
[0003]云計算的主要優(yōu)勢在于:能夠迅速地降低硬件成本和提升計算能力以及存儲容量等;用戶可以以極低的成本投入獲得極高的計算品質(zhì),而不用再投資購買昂貴的硬件設(shè)備,進行頻繁的保養(yǎng)與升級。由于上述優(yōu)點,云計算的規(guī)模會非常大;區(qū)別于網(wǎng)格的獨占式資源分配模式,云環(huán)境中的資源將會被所有的用戶同時共享,以保證對延遲敏感的作業(yè)在云上也能夠很好地運行。所以云計算的核心問題是資源管理,它對計算資源的分配算法有著嚴格苛刻的要求。
[0004]IaaS是更高層次服務(wù)(如PaaS、SaaS)的基礎(chǔ),它允許云服務(wù)提供商以虛擬機(Virtual Machines, VMs)的方式將資源租賃給云用戶。云用戶根據(jù)需求選擇VM實例,但是云用戶請求的到達是隨機的,同時所需的VM實例資源的類型和數(shù)量是未知的,因此可能會發(fā)生眾多請求同時到達的情況,IaaS提供商不能保證以有限的資源同時滿足所有用戶的要求并確保用戶的服務(wù)質(zhì)量(Quality of Service, QoS)。
[0005]目前,有兩種主要的解決方法。一是資源分配采取先來先服務(wù)(First Come FirstService, FCFS)方法,如果IaaS云能夠滿足先到達的用戶需求就最大條件的滿足用戶,并使其他用戶需求置于等待狀態(tài);如果IaaS云不能滿足用戶的需求,就使其等待或?qū)⑵鋻仐?。但是這種方法缺乏整體上對資源的掌控與分配,會造成很多不必要的開銷和資源的浪費。另一種直觀的解決方法是提前購買大量的設(shè)備,這對于一些大型云服務(wù)提供商是非常具有成本效益的模式,但是對于中小型云服務(wù)提供商并不是一個可行的策略;同時由于固定的資源和需要大量的資金,導(dǎo)致對大中小型云服務(wù)提供商都缺少靈活性。
【發(fā)明內(nèi)容】
[0006]發(fā)明目的:針對現(xiàn)有技術(shù)中存在的問題與不足,本發(fā)明提供一種混合云環(huán)境下服務(wù)提供者的資源供應(yīng)方法,利用混合云模型從IaaS服務(wù)提供商的角度分配資源,以便有效調(diào)度IaaS云有限的資源并最小化其成本和保證用戶的QoS。[0007]技術(shù)方案:一種混合云環(huán)境下服務(wù)提供者的資源供應(yīng)方法,包括以下步驟:首先判斷私有云環(huán)境下的服務(wù)資源是否充足,如果充足,則采用服務(wù)選擇策略將任務(wù)分配在適合的服務(wù)上;如果不充足,則采用收益調(diào)整策略,將當(dāng)前任務(wù)和待處理任務(wù)列表中的任務(wù)重新進行分配,調(diào)整的目標(biāo)是總超期懲罰最??;如果最大的調(diào)整也不能使當(dāng)前任務(wù)的收益大于總超期懲罰以及當(dāng)前所有待處理任務(wù)的總收益大于租借代價,則采用公有云租借策略,從公有云中租借適當(dāng)?shù)姆?wù),建立混合云調(diào)度模型,考慮租借代價、調(diào)整后私有云公有云資源傳輸代價、能耗等多重目標(biāo),設(shè)計高效智能方法,得出最佳調(diào)度方案。
[0008]有益效果:與現(xiàn)有技術(shù)相比,本發(fā)明通過實現(xiàn)在線動態(tài)分配合適資源,優(yōu)化了完工時間和資源利用率。
[0009]另外,本發(fā)明通過對私有云服務(wù)節(jié)點的不斷檢查和優(yōu)化,判斷其是否能夠滿足資源調(diào)度的要求,如果不能,則租借公有云中類似服務(wù),權(quán)衡能耗和任務(wù)完成的收益,租用最少的服務(wù)使得收益最大化,增加了靈活性和資源利用率。
【專利附圖】
【附圖說明】
[0010]圖1是本發(fā)明實施例實現(xiàn)混合云環(huán)境下服務(wù)提供者的資源供應(yīng)方法的結(jié)構(gòu)圖;
[0011]圖2是本發(fā)明實施例中服務(wù)充足時服務(wù)選擇的流程圖;
[0012]圖3是本發(fā)明實施例中服務(wù)不足時收益調(diào)整和公有云租借的流程圖。
【具體實施方式】
[0013]下面結(jié)合具體實施例,進一步闡明本發(fā)明,應(yīng)理解這些實施例僅用于說明本發(fā)明而不用于限制本發(fā)明的范圍,在閱讀了本發(fā)明之后,本領(lǐng)域技術(shù)人員對本發(fā)明的各種等價形式的修改均落于本申請所附權(quán)利要求所限定的范圍。
[0014]本發(fā)明實施例實現(xiàn)混合云環(huán)境下服務(wù)提供者的資源供應(yīng)方法的結(jié)構(gòu)圖如圖1所示,包括私有云11、公有云12和待處理任務(wù)緩沖隊列13。本實施例中假設(shè)服務(wù)節(jié)點S= IS1, S2,, SJ是一個包含m個功能相同,加工能力不同的私有云服務(wù)節(jié)點。大量相互獨立的任務(wù)不斷調(diào)用S服務(wù),將它們按照先來先服務(wù)的策略存放在緩沖隊列WL ={tk+1,..., tn_1; tj中。對于每個子服務(wù)Sj,設(shè)tySSj當(dāng)前正在處理的任務(wù)(帶有開始時間和截止時間),分配給Sj尚未執(zhí)行的任務(wù)用列表WSjL = {tp tj,2...,tJ;i}表示,每個服務(wù)資源S」都有可用區(qū)間列表(服務(wù)資源在某個時間段可以處理任務(wù)就是服務(wù)資源的可用區(qū)間列表)。
[0015]如圖2所示,當(dāng)服務(wù)資源充足時,服務(wù)資源選擇策略的具體步驟如下:
[0016]步驟s201,判斷私有云11中服務(wù)資源和待處理任務(wù)列表中是否有任務(wù),如果沒有任務(wù),方法結(jié)束;如果有任務(wù),轉(zhuǎn)步驟s202。
[0017]步驟s202,根據(jù)各服務(wù)資源Sj中正在處理的任務(wù)和其等待任務(wù)列表WSjL中各個任務(wù)狀態(tài),更新各個服務(wù)資源S」的可用區(qū)間表。
[0018]步驟s203,接收任務(wù)調(diào)用,將新到來的任務(wù)加入緩沖隊列WL中,采取先來先服務(wù)的策略,考慮隊列中的第一個任務(wù)tk+1,根據(jù)tk+1服務(wù)等級協(xié)議(Service Level Agreement)中的任務(wù)量約束,計算tk+1在各個服務(wù)資源Sj上的處理時間time」。
[0019]步驟s204,根據(jù)各個服務(wù)資源的可用區(qū)間表和當(dāng)前任務(wù)tk+1在各個服務(wù)資源Sj上的處理時間timep計算tk+1的最早完工時間ftime和其分配的服務(wù)資源Sa。
[0020]步驟s205,判斷當(dāng)前任務(wù)tk+1的最早完工時間ftime和SLA約束中任務(wù)截止期Itime的關(guān)系,如果ftime ^ Itime,則轉(zhuǎn)步驟s205 ;否則轉(zhuǎn)步驟s301。
[0021]步驟s206,接收該任務(wù),將其加入對應(yīng)服務(wù)資源Sa的等待任務(wù)列表WSaL中,更新服務(wù)資源sa的可用區(qū)間列表,轉(zhuǎn)步驟s201。
[0022]圖3是本發(fā)明實施例的一種服務(wù)不足時收益調(diào)整和公有云租借的流程圖。如圖所示,當(dāng)服務(wù)資源不足時,收益調(diào)整策略和公有云12租借策略的具體步驟如下:
[0023]步驟s301,對于m個服務(wù)資源,提取它們等待任務(wù)隊列WSf中的任務(wù),更新各個服務(wù)資源可用區(qū)間列表。
[0024]步驟s302,考慮所有未執(zhí)行的m個任務(wù)(每個服務(wù)資源S」的等待任務(wù)列表WSf中的第一個任務(wù),如果有的話)以及所有未執(zhí)行的2m個任務(wù)(每個服務(wù)資源的等待任務(wù)列表WSjL中的第一、二個任務(wù),如果有的話)和當(dāng)前任務(wù)tk+Ι組成的2m+l個任務(wù),把2m+l個任務(wù)重新分配到m個服務(wù)器上,調(diào)整的目標(biāo)是最小化調(diào)整,使所有任務(wù)都滿足各自的截止時間。
[0025]步驟s303,如果2m+l個任務(wù)在m個服務(wù)資源上的重新調(diào)整,使得所有任務(wù)都能夠滿足各自的截止期,則轉(zhuǎn)步驟s304 ;否則轉(zhuǎn)步驟s305。
[0026]步驟s304,接收該任務(wù),將其加入對應(yīng)服務(wù)資源Sa的等待任務(wù)列表WSaL中,更新服務(wù)資源sa的可用區(qū)間列表 ,轉(zhuǎn)步驟s201。
[0027]步驟s305,如果最大的(兩層)動態(tài)調(diào)整也不能使所有任務(wù)滿足截止期,改變目標(biāo)函數(shù),考慮2m+l個任務(wù)SLA中的超期懲罰,動態(tài)調(diào)整2m+l個任務(wù)在m個資源上的分配,使得總超期懲罰fout最小。
[0028]步驟s306,比較最小超期懲罰fout和接收該任務(wù)獲得的收益fin,如果fin≥fout,則轉(zhuǎn)步驟s304 ;否則轉(zhuǎn)步驟s307。
[0029]步驟s307,獲取m個服務(wù)資源上的所有超期任務(wù)的收益allfin以及租借公有云12的費用代價rentprice。
[0030]步驟s308,如果allfin ^ rentprice,則轉(zhuǎn)步驟s304,否則轉(zhuǎn)步驟s309。
[0031]步驟s309,獲取待處理任務(wù)緩沖隊列WL中的任務(wù)數(shù),記為num。如果num≥I,則轉(zhuǎn)步驟s310,否則轉(zhuǎn)步驟s311。
[0032]步驟s310,將當(dāng)前任務(wù)tk+1重新加入待處理任務(wù)緩沖隊列WL中,轉(zhuǎn)步驟s201。
[0033]步驟s311,將當(dāng)前任務(wù)tk+1重新加入待處理任務(wù)緩沖隊列WL中,等待m個服務(wù)資源上有任務(wù)執(zhí)行完畢,更新各個服務(wù)資源的可用區(qū)間表,轉(zhuǎn)步驟s201。
[0034]通過上述過程,本發(fā)明實現(xiàn)混合云環(huán)境下服務(wù)資源的分配功能,使服務(wù)資源的利用率處于最高狀態(tài)并有效保證了任務(wù)的服務(wù)質(zhì)量。
【權(quán)利要求】
1.一種混合云環(huán)境下服務(wù)提供者的資源供應(yīng)方法,其特征在于,該方法包括以下步驟: A.判斷私有云中服務(wù)資源和待處理任務(wù)列表中是否有任務(wù),如果沒有任務(wù),則方法結(jié)束;如果有任務(wù),則根據(jù)私有云中服務(wù)資源正在處理的狀態(tài)和待處理任務(wù)列表中的各個任務(wù)狀態(tài),更新服務(wù)資源可用區(qū)間表; B.接收任務(wù)調(diào)用,判斷服務(wù)資源是否充足;如果服務(wù)資源充足,則采用服務(wù)選擇策略將任務(wù)分配在滿足條件的服務(wù)上,使所有任務(wù)均能滿足截止時間;如果服務(wù)資源不充足,轉(zhuǎn)步驟C ; C.判斷所有任務(wù)的最小總超期懲罰是否小于等于所有任務(wù)的收益;如果小于等于,則對任務(wù)進行調(diào)整,最大化任務(wù)收益即最小化總超期懲罰;如果大于,轉(zhuǎn)步驟D ; D.判斷所有超期任務(wù)的收益是否大于等于公有云租借代價;如果大于等于,則租借公有云進行任務(wù)處理;如果小于,轉(zhuǎn)步驟E ; E.判斷待處理任務(wù)列表中的任務(wù)數(shù)目是否大于等于I;如果大于等于,則將該任務(wù)重新加入待處理任務(wù)列表,轉(zhuǎn)步驟A ;如果小于,轉(zhuǎn)步驟F ; F.等待服務(wù)資源中有任務(wù)執(zhí)行完;轉(zhuǎn)步驟A。
2.如權(quán)利要求1所述的混合云環(huán)境下服務(wù)提供者的資源供應(yīng)方法,其特征在于,在步驟A中,所述私有云中服務(wù)資源、待處理任務(wù)列表、任務(wù)狀態(tài)和服務(wù)資源可用區(qū)間列表表示,具體為: 服務(wù)資源S= (S1, S2,, SJ是一個包含m個功能相同,加工能力不同的私有云服務(wù)節(jié)點; 待處理任務(wù)列表用緩沖隊列WL = {tk+1,tn_1; tn}表示,其中\(zhòng)表示待處理的任務(wù),WL表示所有待處理任務(wù)的集合; 任務(wù)狀態(tài)包括任務(wù)的開始時間和任務(wù)的截止時間; 服務(wù)資源可用區(qū)間表表示服務(wù)資源在某個時間段可以處理任務(wù)。
3.如權(quán)利要求1所述的混合云環(huán)境下服務(wù)提供者的資源供應(yīng)方法,其特征在于,步驟B具體包括: B1.將新到來的任務(wù)加入緩沖隊列中,采取先來先服務(wù)的策略,考慮隊列中的第一個任務(wù)tk+1,計算其在各個服務(wù)資源上的處理時間; B2.根據(jù)各個服務(wù)資源的可用區(qū)間表和當(dāng)前任務(wù)tk+1在各個服務(wù)資源上的處理時間,計算任務(wù)tk+1的最早完成時間ftime和其分配的服務(wù)資源; B3.判斷ftime和服務(wù)等級協(xié)議約束中的任務(wù)的截止時間Itime的關(guān)系,如果ftime ( Itime,則接收當(dāng)前任務(wù)tk+1,轉(zhuǎn)步驟A。
4.如權(quán)利要求1所述混合云環(huán)境下服務(wù)提供者的資源供應(yīng)方法,其特征在于,在步驟C中,所述超期懲罰和任務(wù)的收益具體為: 超期懲罰是指任務(wù)的完成時間大于任務(wù)的截止時間,所帶來的額外費用; 任務(wù)的收益是指任務(wù)在完成之后,帶來的效益。
5.如權(quán)利要求1所述的混合云環(huán)境下服務(wù)提供者的資源供應(yīng)方法,其特征在于,步驟C具體包括: Cl.考慮所有未執(zhí)行的m個任務(wù)和當(dāng)前任務(wù)tk+1組成的m+1個任務(wù),把m+1個任務(wù)重新分配到m個服務(wù)器上,調(diào)整的目標(biāo)是最小化調(diào)整,使所有任務(wù)均能滿足各自的截止時間; C2.如果m+1個任務(wù)在m個服務(wù)資源上的重新調(diào)整,使得所有任務(wù)均能夠滿足各自的截止時間,轉(zhuǎn)步驟A ;否則轉(zhuǎn)步驟C3 ; C3.考慮所有未執(zhí)行的2m個任務(wù)和當(dāng)前任務(wù)tk+1組成的2m+l個任務(wù),把2m+l個任務(wù)重新分配到m個服務(wù)器上,調(diào)整的目標(biāo)是最小化調(diào)整,使所有任務(wù)均能滿足各自的截止時間;C4.如果2m+l個任務(wù)在m個服務(wù)資源上的重新調(diào)整,使得所有任務(wù)均能夠滿足各自的截止時間,轉(zhuǎn)步驟A ;否則轉(zhuǎn)步驟C5 ; C5.如果最大的動態(tài)調(diào)整也不能使所有任務(wù)滿足各自的截止時間,改變目標(biāo)函數(shù),考慮2m+l個任務(wù)SLA中的超期懲罰,動態(tài)調(diào)整2m+l個任務(wù)在m個資源上的分配,使得總超期懲罰fout最小; C6.判斷最小總超期懲罰fout和接收該任務(wù)獲得的收益fin,如果fin ^ fout,則接收該任務(wù),轉(zhuǎn)步驟A。
【文檔編號】H04L29/08GK103731372SQ201310722625
【公開日】2014年4月16日 申請日期:2013年12月24日 優(yōu)先權(quán)日:2013年12月24日
【發(fā)明者】李小平, 陳龍, 朱夏, 楊芝 申請人:東南大學(xué)