基于蟻群優(yōu)化算法的云環(huán)境下sbs資源配置方法
【專利摘要】本發(fā)明涉及基于蟻群優(yōu)化算法的云環(huán)境下SBS資源配置方法,首先獲取SBS中各組件服務(wù)的資源候選資源配置集,然后獲取任意資源屬性向量與其組件服務(wù)平均響應(yīng)時(shí)間之間的映射關(guān)系,構(gòu)造SBS資源配置應(yīng)用的搜索圖,利用蟻群優(yōu)化算法調(diào)整SBS中各組件服務(wù)的資源候選資源配置集,得到最優(yōu)組合資源配置,最后根據(jù)最優(yōu)組合資源配置對(duì)SBS進(jìn)行資源配置,本發(fā)明中的SBS資源配置方法能在配置滿足SLA約束的條件下最小化資源使用成本,從而提高服務(wù)提供商的收益,當(dāng)SBS資源配置應(yīng)用的規(guī)模較大時(shí),本發(fā)明提出的方法能夠保證在較短時(shí)間內(nèi)求得近似最優(yōu)的組合資源配置。
【專利說(shuō)明】基于蟻群優(yōu)化算法的云環(huán)境下SBS資源配置方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明屬于基于服務(wù)的軟件系統(tǒng)(SBS)領(lǐng)域,具體涉及基于蟻群優(yōu)化算法的云環(huán) 境下SBS資源配置方法。
【背景技術(shù)】
[0002] 隨著云計(jì)算及"軟件作為服務(wù)理念"的擴(kuò)散,云環(huán)境下基于服務(wù)的軟件系統(tǒng) (Service-Based Software systems, SBS)已經(jīng)成為國(guó)內(nèi)外研究熱點(diǎn)。云計(jì)算的資源彈性分 配特性,使得企業(yè)和組織在部署應(yīng)用時(shí)能夠根據(jù)實(shí)際業(yè)務(wù)需求分配虛擬化資源,從而減少 資源的浪費(fèi)。在業(yè)務(wù)需求中,不同的服務(wù)質(zhì)量屬性,如響應(yīng)時(shí)間、可靠性和吞吐量等,通常是 通過(guò)應(yīng)用提供商和應(yīng)用使用者之間的服務(wù)等級(jí)協(xié)議(SLA)進(jìn)行描述。因此,在按需付費(fèi)的 云環(huán)境中部署應(yīng)用時(shí),如何在保證SLA的基礎(chǔ)上優(yōu)化分配資源,盡可能降低分配的資源使 用成本,是應(yīng)用提供商提高收益的關(guān)鍵途徑。但目前的研究針對(duì)的應(yīng)用通常為單層或多層 邏輯組成結(jié)構(gòu),對(duì)于基于服務(wù)的軟件系統(tǒng)SBS在云環(huán)境中部署時(shí)的資源優(yōu)化配置問(wèn)題缺少 深入研究。在SBS中,各組件服務(wù)的QoS與所分配的資源數(shù)量往往具有不同的映射關(guān)系,組 件服務(wù)性能與資源的使用率、請(qǐng)求負(fù)載之間并不存在線性關(guān)系,并且不同類型服務(wù)(CPU密 集型、I/O密集型、交互型等)的性能受其占有資源多少的影響也不同(例如,計(jì)算密集型 的服務(wù)受CPU占有量影響較大,而存儲(chǔ)密集型的服務(wù)則受存儲(chǔ)占有量影響較大),這使得資 源與組件服務(wù)性能之間的關(guān)系非常復(fù)雜。另外,由于每個(gè)組件服務(wù)往往存在大量的候選資 源配置策略,這樣由不同組件服務(wù)按照多種組合邏輯(如順序結(jié)構(gòu)、分支結(jié)構(gòu)、并行結(jié)構(gòu)和 循環(huán)結(jié)構(gòu)等)構(gòu)成的SBS系統(tǒng)對(duì)應(yīng)的組合資源配置策略更加龐大,因此,如何高效選取滿足 用戶SLA約束的性能較優(yōu)的組合資源配置策略變得尤為復(fù)雜。綜上,云環(huán)境下基于服務(wù)的 軟件系統(tǒng)中如何實(shí)現(xiàn)有效的資源優(yōu)化配置的研究具有現(xiàn)實(shí)意義。
[0003] 云環(huán)境下SBS系統(tǒng)的部署與運(yùn)行過(guò)程主要分為三個(gè)階段:初始部署階段、運(yùn)行階 段和分析階段。初始部署階段主要是系統(tǒng)部署人員根據(jù)給定的SBS描述、應(yīng)用的SLA約束、 組件服務(wù)性能模型,以及獲取到的初始資源使用狀態(tài)等信息為每個(gè)組件服務(wù)確定其部署到 的虛擬機(jī)以及分配的資源數(shù)量,包括CPU、內(nèi)存、帶寬和存儲(chǔ)等;運(yùn)行階段的主要工作是處 理用戶的請(qǐng)求;分析階段的主要工作是通過(guò)分析執(zhí)行信息來(lái)支撐系統(tǒng)優(yōu)化。初始部署是 SBS系統(tǒng)穩(wěn)定運(yùn)行的前提,初始資源配置是初始部署階段的主要任務(wù),目前基本上是由系統(tǒng) 部署人員手工配置的,而實(shí)際中往往存在大量的服務(wù)資源分配策略的組合,采用手工配置 的方式很難從其中找到優(yōu)化的部署策略,進(jìn)而造成資源的浪費(fèi),減少服務(wù)提供商的收益。而 少數(shù)自動(dòng)配置方法如組件復(fù)制或遷移以及SLA分解的方法,都有其局限性。由于選擇副本 以及副本部署的復(fù)雜性,采用組件復(fù)制或遷移的方法比較適合動(dòng)態(tài)環(huán)境中的資源實(shí)時(shí)調(diào)度 問(wèn)題,對(duì)于靜態(tài)環(huán)境中有大量資源分配組合時(shí)仍有一定的局限性;而SLA分解方法僅限于 多層線性邏輯組成結(jié)構(gòu)的應(yīng)用,對(duì)于由多個(gè)組件服務(wù)根據(jù)不同業(yè)務(wù)邏輯組成的SBS應(yīng)用, 在實(shí)際中很難根據(jù)應(yīng)用的性能目標(biāo)確定各組件服務(wù)的性能需求??梢钥闯?,已有的初始資 源部署的研究工作較少且存在一定局限性。
【發(fā)明內(nèi)容】
[0004] 針對(duì)現(xiàn)有技術(shù)的不足,本發(fā)明提出基于蟻群優(yōu)化算法的云環(huán)境下SBS資源配置方 法。本發(fā)明將資源配置問(wèn)題轉(zhuǎn)換成以用戶SLA為全局約束、以資源成本為優(yōu)化目標(biāo)的組合 優(yōu)化問(wèn)題,進(jìn)而基于蟻群優(yōu)化算法實(shí)現(xiàn)面向全局約束的SBS初始資源配置,使得應(yīng)用的資 源配置在滿足SLA約束的條件下最小化資源使用成本,從而提高服務(wù)提供商的收益。
[0005] 本發(fā)明技術(shù)方案如下:
[0006] 基于蟻群優(yōu)化算法的云環(huán)境下SBS資源配置方法,包括以下步驟:
[0007] 步驟1 :獲取SBS中各組件服務(wù)的候選資源配置集;
[0008] 步驟I. I :SBS資源配置應(yīng)用I由η個(gè)組件服務(wù)(S1, S2, ···,SJ組成,初始化組件 服務(wù)編號(hào)i為1 ;
[0009] 步驟1. 2 :采用聚類算法對(duì)組件服務(wù)Si在不同資源狀態(tài)下的平均響應(yīng)時(shí)間進(jìn)行聚 類,進(jìn)而獲得K個(gè)分類,即K個(gè)平均響應(yīng)時(shí)間的區(qū)間;
[0010] 步驟1. 3 :基于平均響應(yīng)時(shí)間的K個(gè)分類,采用連續(xù)屬性離散化方法將組件服務(wù)Si 的各資源屬性類型分配的資源數(shù)量分別劃分為多個(gè)區(qū)間;
[0011] 步驟1. 4 :遍歷組件服務(wù)Si的所有資源屬性類型及數(shù)量組合得到組件服務(wù)可能的 資源屬性類型及數(shù)量組合的集合,即組件服務(wù)S i的候選資源配置集RC = <z,R>,其中,z表 示組件服務(wù)對(duì)應(yīng)的虛擬機(jī)所在的物理機(jī)編號(hào),R= (r1,!·2, ···,,)表示資源屬性向量,其中, u為資源屬性類型總數(shù),ra為資源屬性類型α分配的資源數(shù)量,1彡α彡u ;
[0012] 步驟1. 5 :組件服務(wù)編號(hào)i加1,判斷組件服務(wù)編號(hào)i是否超出組件服務(wù)數(shù)η,若是, 則得到SBS中各組件服務(wù)的候選資源配置集,執(zhí)行步驟2,否則,返回步驟1. 2 ;
[0013] 步驟2 :獲取任意資源屬性向量與其組件服務(wù)平均響應(yīng)時(shí)間之間的映射關(guān)系;
[0014] 步驟3 :構(gòu)造SBS資源配置應(yīng)用I的搜索圖,搜索圖中每一條路徑表示一個(gè)可行解 即組合資源配置,搜索圖中每一個(gè)節(jié)點(diǎn)表示一個(gè)組件服務(wù)的候選資源配置;
[0015] 搜索圖表示為:G = (V,E),其中,頂點(diǎn)集:V = {vs,vd} U Ivi,」i e [1,η], je [LpJ},邊集:E= Kvi,』,vk,PliXSi, Sk>e 1)} U Kvs7ViJ^fin(Vs) =0,} U Kvi, j, vd> I fout (vd) = 0, }其中,Pi為組件服務(wù)Si的候選資源配置個(gè)數(shù),節(jié)點(diǎn)Vi,」、節(jié)點(diǎn)v k, h分 別表示組件服務(wù)Si的第j個(gè)資源配置和組件服務(wù)Sk的第h個(gè)資源配置,i、k e [1,n],j, ]1£[1邛」,¥15,]1£¥\,』£¥,¥;3和¥ (1分別表示搜索圖的起點(diǎn)和終點(diǎn),1111(^,』)和;^111:(^, P分別表示節(jié)點(diǎn)Vy的入度和出度;
[0016] 步驟4 :利用蟻群優(yōu)化算法獲取SBS的最優(yōu)組合資源配置;
[0017] 步驟4. 1 :設(shè)定局部最優(yōu)路徑效用值為0,全局最優(yōu)路徑效用值設(shè)為0,循環(huán)迭代次 數(shù)為〇,螞蟻編號(hào)m為1,組件服務(wù)編號(hào)i為1,初始化信息素,設(shè)定蟻群規(guī)模數(shù)和最大循環(huán)迭 代次數(shù);
[0018] 步驟4. 2 :根據(jù)狀態(tài)轉(zhuǎn)移概率為螞蟻m構(gòu)造一個(gè)路徑即組合資源配置CRCm,使其響 應(yīng)時(shí)間不超過(guò)SLA約定的最大平均相應(yīng)時(shí)間,且組合資源配置CRC m不超出物理機(jī)的可用資 源;
[0019] 步驟4. 2. 1 :螞蟻m當(dāng)前所在節(jié)點(diǎn)為搜索圖的起點(diǎn)Vs ;
[0020] 步驟4. 2. 2:計(jì)算每一個(gè)節(jié)點(diǎn)對(duì)應(yīng)的組件服務(wù)的候選資源配置的使用成本:
【權(quán)利要求】
1.基于蟻群優(yōu)化算法的云環(huán)境下SBS資源配置方法,其特征在于,包括以下步驟: 步驟1 :獲取SBS中各組件服務(wù)的候選資源配置集; 步驟I. I :SBS資源配置應(yīng)用I由n個(gè)組件服務(wù)(S1, S2,…,SJ組成,初始化組件服務(wù) 編號(hào)i為1 ; 步驟1. 2 :采用聚類算法對(duì)組件服務(wù)Si在不同資源狀態(tài)下的平均響應(yīng)時(shí)間進(jìn)行聚類, 進(jìn)而獲得K個(gè)分類,即K個(gè)平均響應(yīng)時(shí)間的區(qū)間; 步驟1. 3:基于平均響應(yīng)時(shí)間的K個(gè)分類,采用連續(xù)屬性離散化方法將組件服務(wù)Si的 各資源屬性類型分配的資源數(shù)量分別劃分為多個(gè)區(qū)間; 步驟1. 4:遍歷組件服務(wù)Si的所有資源屬性類型及數(shù)量組合得到組件服務(wù)可能的資源 屬性類型及數(shù)量組合的集合,即組件服務(wù)Si的候選資源配置集RC = <z,R>,其中,z表示組 件服務(wù)對(duì)應(yīng)的虛擬機(jī)所在的物理機(jī)編號(hào),R= (r1,!"2,…,ru)表示資源屬性向量,其中,u為 資源屬性類型總數(shù),ra為資源屬性類型a分配的資源數(shù)量,1彡a彡u ; 步驟1. 5 :組件服務(wù)編號(hào)i加1,判斷組件服務(wù)編號(hào)i是否超出組件服務(wù)數(shù)n,若是,則 得到SBS中各組件服務(wù)的候選資源配置集,執(zhí)行步驟2,否則,返回步驟1. 2 ; 步驟2 :獲取任意資源屬性向量與其組件服務(wù)平均響應(yīng)時(shí)間之間的映射關(guān)系; 步驟3 :構(gòu)造SBS資源配置應(yīng)用I的搜索圖,搜索圖中每一條路徑表示一個(gè)可行解即組 合資源配置,搜索圖中每一個(gè)節(jié)點(diǎn)表示一個(gè)組件服務(wù)的候選資源配置; 步驟4 :利用蟻群優(yōu)化算法獲取SBS的最優(yōu)組合資源配置; 步驟4. 1 :設(shè)定局部最優(yōu)路經(jīng)效用值為0,全局最優(yōu)路經(jīng)效用值設(shè)為0,循環(huán)迭代次數(shù)為 〇,螞蟻編號(hào)m為1,組件服務(wù)編號(hào)i為1,初始化信息素,設(shè)定蟻群規(guī)模數(shù)和最大循環(huán)迭代次 數(shù); 步驟4. 2 :根據(jù)狀態(tài)轉(zhuǎn)移概率為螞蟻m構(gòu)造一個(gè)路徑即組合資源配置CRCm,使其響應(yīng)時(shí) 間不超過(guò)SLA約定的最大平均相應(yīng)時(shí)間,且組合資源配置CRCm不超出物理機(jī)的可用資源; 步驟4. 3 :根據(jù)各個(gè)組件服務(wù)資源配置的成本計(jì)算組合資源配置CRCm的效用值; 步驟4. 4 :判斷組合資源配置CRCm是否大于局部最優(yōu)路徑效用值,若是,則將該組合資 源配置CRCm作為局部最優(yōu)路徑,將該組合資源配置CRCm的效用值作為局部最優(yōu)路徑效用 值,執(zhí)行步驟4. 5,否則,直接執(zhí)行步驟4. 5 ; 步驟4. 5 :螞蟻編號(hào)m加1,判斷m是否超出設(shè)定的蟻群規(guī)模數(shù),若是,則執(zhí)行步驟4. 6, 否則,返回步驟4. 2 ; 步驟4. 6 :對(duì)局部最優(yōu)路徑進(jìn)行局部搜索:將局部最優(yōu)路徑中組件服務(wù)Si對(duì)應(yīng)的資源 配置隨機(jī)改為該組件服務(wù)Si中其它可行的資源配置,得到一個(gè)新路徑NewPath,計(jì)算新路徑 NewPath的效用值,判斷新路徑NewPath的效用值是否大于局部最優(yōu)路徑效用值,若是,則 將該新路徑NewPath作為局部最優(yōu)路徑,新路徑NewPath的效用值作為局部最優(yōu)路徑效用 值,執(zhí)行步驟4. 7,否則,直接執(zhí)行步驟4. 7 ; 步驟4. 7 :組件服務(wù)編號(hào)i加1,判斷組件服務(wù)編號(hào)i是否超出組件服務(wù)數(shù)n,若是,則 執(zhí)行步驟4. 8,否則,返回步驟4.6 ; 步驟4. 8 :判斷局部最優(yōu)路徑的效用值是否大于全局最優(yōu)路徑的效用值,若是,則將該 局部最優(yōu)路徑作為全局最優(yōu)路徑,將該局部最優(yōu)路徑的效用值作為全局最優(yōu)路徑的效用 值,執(zhí)行步驟4. 9,否則,直接執(zhí)行4. 9 ; 步驟4. 9:更新信息素; 步驟4. 10 :累計(jì)循環(huán)次數(shù),判斷循環(huán)迭代次數(shù)是否達(dá)到最大循環(huán)迭代次數(shù)或其他設(shè)定 的循環(huán)結(jié)束條件,若是,則當(dāng)前全局最優(yōu)路徑即為最優(yōu)組合資源配置,否則,返回步驟4. 2 ; 步驟5 :根據(jù)全局最優(yōu)路徑對(duì)SBS進(jìn)行資源配置。
2. 根據(jù)權(quán)利要求1所述的基于蟻群優(yōu)化算法的云環(huán)境下SBS資源配置方 法,其特征在于,所述的步驟3的搜索圖表示為:G = (V,E),其中,頂點(diǎn)集:V = {vs,vd} U Ivi,』I i G [1,n],j G [1,pj},邊集:E = {〈Vy,vk,h> I (〈S" Sk> G I)} U {〈vs,ViJ) Ifin(Vs) =0,} U KviJVd^f0Ut(Vd) =0,}其中,Pi為組件服務(wù)SiW候選資源配置個(gè)數(shù), 節(jié)點(diǎn) 節(jié)點(diǎn)Vth分別表示組件服務(wù)Si的第j個(gè)資源配置和組件服務(wù)Sk的第h個(gè)資源配 置,i、k G [1,n],j,h G [1,Pi],Vk,h G VVi,j G V,Vs和Vd分別表示搜索圖的起點(diǎn)和終點(diǎn), An(ViJ)和fout (ViJ分別表示節(jié)點(diǎn)ViJ的入度和出度。
3. 根據(jù)權(quán)利要求1所述的基于蟻群優(yōu)化算法的云環(huán)境下SBS資源配置方法,其特征在 于,所述的步驟4. 2包括以下步驟: 步驟4. 2. 1 :螞蟻m當(dāng)前所在節(jié)點(diǎn)為搜索圖的起點(diǎn)vs ; 步驟4. 2. 2:計(jì)算每一個(gè)節(jié)點(diǎn)對(duì)應(yīng)的組件服務(wù)的候選資源配置的使用成本;
信息素和啟發(fā)式信息的相對(duì)重要程度,allowed^表示螞蟻m所有可能的待訪問(wèn)節(jié)點(diǎn),qi;」表 示組件服務(wù)Si是否選擇第j個(gè)候選資源配置,如果Si選擇第j個(gè)候選資源配置,則qu = 1,否則 qi;j = 〇 ; 步驟4. 2. 4 :根據(jù)螞蟻m待選節(jié)點(diǎn)的質(zhì)量擇優(yōu)選擇下一個(gè)節(jié)點(diǎn),即螞蟻m選擇狀態(tài)轉(zhuǎn)移 概率大的節(jié)點(diǎn)作為下一個(gè)節(jié)點(diǎn); 步驟4. 2. 5 :重復(fù)步驟4. 2. 2-步驟4. 2. 4,直到螞蟻m走到搜索圖的終點(diǎn)Vd,得到一個(gè) 路徑即組合資源配置CRCm ; 步驟4. 2. 6 :判斷組合資源配置CRCm的響應(yīng)時(shí)間是否超過(guò)SLA約定的最大平均相應(yīng)時(shí) 間,或超出物理機(jī)的可用資源,若是,返回步驟4. 2. 1。
4.根據(jù)權(quán)利要求1所述的基于蟻群優(yōu)化算法的云環(huán)境下SBS資源配置方法,其
息素增量,Tmax和Tmin分別表示信息素上限和信息素下限。
【文檔編號(hào)】G06F9/50GK104360908SQ201410606471
【公開(kāi)日】2015年2月18日 申請(qǐng)日期:2014年10月31日 優(yōu)先權(quán)日:2014年10月31日
【發(fā)明者】馬安香, 張長(zhǎng)勝, 張斌, 張曉紅, 趙秀濤 申請(qǐng)人:東北大學(xué)