• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于成本優(yōu)化的多租戶SaaS應(yīng)用優(yōu)化放置算法

    2014-08-10 07:34:34孟凡超周學(xué)權(quán)曹祖鳳初佃輝戰(zhàn)德臣
    關(guān)鍵詞:資源

    孟凡超,周學(xué)權(quán),曹祖鳳,初佃輝,戰(zhàn)德臣

    (哈爾濱工業(yè)大學(xué)(威海)企業(yè)與服務(wù)智能計(jì)算研究中心,山東 威海 264209)

    0 引言

    隨著云計(jì)算的出現(xiàn),IT領(lǐng)域正在進(jìn)行著一場(chǎng)深刻的變革。云計(jì)算是一種新型的計(jì)算模型,它將IT資源、數(shù)據(jù)和應(yīng)用作為服務(wù),通過(guò)互聯(lián)網(wǎng)提供給用戶[1]。云計(jì)算根據(jù)其服務(wù)類型可分為基礎(chǔ)設(shè)施即服務(wù)(Infrastructure as a Service,IaaS)、平臺(tái)即服務(wù)(Platform as a Service,PaaS)和軟件即服務(wù)(Software as a Service,SaaS)。在SaaS模式下,客戶不需要購(gòu)買完整的軟件系統(tǒng),也不需要配備相應(yīng)的硬件系統(tǒng)和維護(hù)人員,只需通過(guò)互聯(lián)網(wǎng)按需租用應(yīng)用軟件即可,這對(duì)成本預(yù)算有限、技術(shù)條件不足的中小企業(yè)來(lái)說(shuō),具有很強(qiáng)的吸引力[2]。

    在云計(jì)算環(huán)境下,SaaS主要涉及客戶(也稱為租戶)、SaaS提供商和云基礎(chǔ)設(shè)施提供商[3]三類角色。租戶租用SaaS提供商所提供的SaaS應(yīng)用來(lái)滿足自己的業(yè)務(wù)需求,每個(gè)租戶可以租用一個(gè)或多個(gè)SaaS應(yīng)用。SaaS提供商通過(guò)向租戶提供SaaS應(yīng)用服務(wù)來(lái)獲取利潤(rùn),每個(gè)SaaS應(yīng)用可以部署多個(gè)實(shí)例,這些實(shí)例被部署在云基礎(chǔ)設(shè)施提供商所提供的虛擬機(jī)上,例如,Amazon的彈性計(jì)算云EC2,或者部署在自己的服務(wù)器或虛擬機(jī)上,本文主要研究前者,即租用云基礎(chǔ)設(shè)施提供商的虛擬機(jī),此時(shí)SaaS提供商需要向云基礎(chǔ)設(shè)施提供商支付相應(yīng)的租金[4]。云基礎(chǔ)設(shè)施提供商對(duì)外提供一組虛擬機(jī)模板,由同一模板所生成的虛擬機(jī)具有相同的資源配置和價(jià)格,例如,亞馬遜提供的虛擬機(jī)模板有m1.small,m1.large和 m1.large等[5]。

    基于成本優(yōu)化的SaaS應(yīng)用放置是指在SaaS應(yīng)用部署的初始階段,SaaS提供商根據(jù)已有租戶的數(shù)量以及對(duì)每類租戶市場(chǎng)規(guī)模的預(yù)測(cè),確定應(yīng)部署的SaaS應(yīng)用實(shí)例的數(shù)量和租用每一類虛擬機(jī)的數(shù)量,并建立租戶與SaaS應(yīng)用實(shí)例,以及SaaS應(yīng)用實(shí)例與虛擬機(jī)之間的放置關(guān)系,其優(yōu)化目標(biāo)是在滿足每個(gè)租戶服務(wù)級(jí)別協(xié)議(Service Level Agreement,SLA)的條件下,使租用的虛擬機(jī)的總成本最低。

    1 相關(guān)工作

    針對(duì)多租戶SaaS應(yīng)用優(yōu)化放置問(wèn)題,國(guó)內(nèi)外學(xué)者已經(jīng)展開了許多研究。Kwok等提出一種多租戶SaaS應(yīng)用實(shí)例資源消耗度量模型,該模型描述了SaaS應(yīng)用實(shí)例的資源消耗與租戶數(shù)量和用戶數(shù)量之間的關(guān)系,基于該模型,又提出了一種租戶放置算法并開發(fā)了相應(yīng)的支撐工具[6]。Zhang等擴(kuò)展了Kwok等所提出的資源消耗度量模型,加入了服務(wù)響應(yīng)時(shí)間的約束,并提出一種啟發(fā)式在線租戶放置算法[7]。Wu 等 站 在 SaaS 提 供 商 的 角 度[3-4],提 出了基于SLA的SaaS應(yīng)用資源分配算法以降低租用虛擬機(jī)的成本,并通過(guò)仿真實(shí)驗(yàn)來(lái)模擬在線租戶放置過(guò)程。Yu等提出了面向租戶服務(wù)質(zhì)量(Quality of Service,QoS)的資源優(yōu)化分配模型,同時(shí)給出啟發(fā)式算法和遺傳算法,并對(duì)這兩種算法的性能進(jìn)行了比較[8]。汪德帥等面向租約用戶的非功能需求,提出一種支持多租約SaaS應(yīng)用按需服務(wù)的負(fù)載均衡策略[9]。Izzah等研究了構(gòu)件化的SaaS應(yīng)用優(yōu)化部署問(wèn)題,提出一種基于懲罰的遺傳算法來(lái)求解最優(yōu)SaaS放置方案[10]。Yang等針對(duì)基于服務(wù)的SaaS應(yīng)用,提出一個(gè)基于案例推理(Case-Based Reasoning,CBR)的混合租戶放置方法[11]。

    多租戶SaaS應(yīng)用放置可分為租戶放置和SaaS應(yīng)用實(shí)例放置兩方面,租戶放置是指確定租戶與SaaS應(yīng)用實(shí)例之間的服務(wù)關(guān)系;SaaS應(yīng)用實(shí)例放置是指建立SaaS應(yīng)用實(shí)例與服務(wù)器或虛擬機(jī)之間的部署關(guān)系。然而,現(xiàn)有研究大多針對(duì)租戶放置[3-4,6-9,11],對(duì) SaaS 應(yīng) 用 實(shí) 例 放 置 的 研 究 比 較 少。有些研究雖然也考慮了資源的預(yù)分配[8-9]和SaaS應(yīng)用實(shí)例的放置策略[10],但都是在給定服務(wù)器/虛擬機(jī)的數(shù)量,即限定資源數(shù)量的基礎(chǔ)上進(jìn)行的優(yōu)化,然而現(xiàn)實(shí)情況是服務(wù)器/虛擬機(jī)的數(shù)量和SaaS應(yīng)用實(shí)例的數(shù)量是不確定的,例如,SaaS提供商在初次租用虛擬機(jī)/服務(wù)器時(shí),只知道虛擬機(jī)的類型,如EC2的小、中、大型虛擬機(jī),但要租用的各類虛擬機(jī)的個(gè)數(shù)未知,而且要部署的SaaS實(shí)例的個(gè)數(shù)也需要根據(jù)租戶需求確定。

    因此,對(duì)于給定的租戶需求,如何確定需要部署的SaaS應(yīng)用實(shí)例的數(shù)量和租用的虛擬機(jī)數(shù)量,同時(shí)建立租戶與SaaS應(yīng)用實(shí)例,以及SaaS應(yīng)用實(shí)例與虛擬機(jī)之間的放置關(guān)系,是本文所要解決的問(wèn)題。針對(duì)該問(wèn)題,本文通過(guò)分析多租戶SaaS應(yīng)用服務(wù)模式,提出了面向租戶響應(yīng)時(shí)間的資源消耗度量模型,采用基于虛擬機(jī)序列的遺傳算法來(lái)求解多租戶SaaS應(yīng)用優(yōu)化放置問(wèn)題,并通過(guò)實(shí)驗(yàn)分析了算法的可行性和有效性,最后通過(guò)一個(gè)應(yīng)用案例來(lái)描述放置方案的確定過(guò)程。

    2 多租戶SaaS應(yīng)用放置模型

    設(shè)某SaaS提供商有m個(gè)租戶,對(duì)外提供n種SaaS應(yīng)用(簡(jiǎn)稱應(yīng)用),每種應(yīng)用可以部署多個(gè)SaaS應(yīng)用實(shí)例(簡(jiǎn)稱應(yīng)用實(shí)例),每個(gè)應(yīng)用實(shí)例可以放置多個(gè)租戶,這些應(yīng)用實(shí)例需要部署在云基礎(chǔ)設(shè)施提供商所提供的虛擬機(jī)上。設(shè)云基礎(chǔ)設(shè)施提供商對(duì)外提供q種虛擬機(jī),應(yīng)用實(shí)例的運(yùn)行需要消耗其所在虛擬機(jī)的資源,例如,CPU、內(nèi)存、網(wǎng)絡(luò)帶寬等,設(shè)p為資源種類的數(shù)量。每個(gè)租戶在使用應(yīng)用前需要與SaaS提供商簽訂SLA,SLA規(guī)定了應(yīng)用實(shí)例所要滿足的性能需求。應(yīng)用實(shí)例所消耗的資源一般與該應(yīng)用的類型、租戶數(shù)量、并發(fā)用戶數(shù)量以及租戶的性能需求等因素有關(guān),對(duì)于性能需求,本文主要考慮服務(wù)響應(yīng)時(shí)間。

    基于成本優(yōu)化的多租戶SaaS應(yīng)用放置問(wèn)題可描述為:對(duì)于給定的租戶集合TS={T1,T2,…,Tm}、應(yīng)用集合 AS={A1,A2,…,An}、租戶與應(yīng)用之間的租約關(guān)系集合TA?TS×AS、虛擬機(jī)類型集合VMTS={VMT1,VMT2,…,VMTq},確定多租戶SaaS應(yīng)用放置方案,即確定SaaS提供商所要租用云基礎(chǔ)設(shè)施提供商的虛擬機(jī)數(shù)量xj、部署應(yīng)用實(shí)例的數(shù)量應(yīng)用實(shí)例與虛擬機(jī)之間的放置關(guān)系集合PRAV?AIS×VMS、租戶與應(yīng)用實(shí)例之間的放置關(guān)系集合PRTA?TS×AIS,其優(yōu)化目標(biāo)是租用虛擬機(jī)的成本最低,并且部署的應(yīng)用實(shí)例數(shù)量y盡可能少。

    其中:xj表示虛擬機(jī)類型VMTj的實(shí)例數(shù)量;yj表示應(yīng)用Aj的實(shí)例數(shù)量;AIS表示部署的應(yīng)用實(shí)例集合;VMS表示租用的虛擬機(jī)集合,它們的數(shù)量分別為y和x;cj表示虛擬機(jī)類型VMTj的成本。

    多租戶SaaS應(yīng)用放置的一個(gè)關(guān)鍵問(wèn)題是建立應(yīng)用的資源消耗模型。本文借鑒文獻(xiàn)[6-7]的思想,提出一個(gè)面向租戶服務(wù)響應(yīng)時(shí)間的資源消耗模型。

    設(shè)Sk∈AIS表示被部署的第k(k=1,2,…,y)個(gè)應(yīng)用實(shí)例,VMj∈VMS 表示被租用的第j(j=1,2,…,x)個(gè)虛擬機(jī),當(dāng)把Sk放置到VMj上時(shí),Sk在VMj上消耗的第i(i=1,2,…,p)種資源的數(shù)量其中:表示在沒有租戶和用戶時(shí)的資源消耗;表示隔離租戶的資源消耗,隔離租戶指當(dāng)多個(gè)租戶共享同一應(yīng)用實(shí)例時(shí),為使不同租戶的業(yè)務(wù)和數(shù)據(jù)互不干擾所采取的技術(shù)手段表示處理用戶服務(wù)請(qǐng)求的資源消耗,ut表示租戶t∈Tk所包含的并發(fā)用戶數(shù)量,Tk表示放置在Sk上的租戶集合,rt表示租戶t∈Tk對(duì)Sk服務(wù)響應(yīng)時(shí)間的需求,fik(r,u)=(w/r)·fik(w,u),fik(w,u)表示基準(zhǔn)響應(yīng)時(shí)間為w、并發(fā)用戶數(shù)為u時(shí)Sk對(duì)第i類資源的消耗,該函數(shù)可以根據(jù)測(cè)試和實(shí)際運(yùn)行數(shù)據(jù)來(lái)確定[6-7]。一般來(lái)說(shuō),隔離租戶的資源消耗遠(yuǎn)小于處理用戶服務(wù)請(qǐng)求的資源消耗[6]。

    設(shè)rij表示虛擬機(jī)VMj上的第i(i=1,2,…,p)種資源的最大可用量,則有

    式中:zj表示在VMj上放置的應(yīng)用實(shí)例的數(shù)量,αij表示VMj上第i種資源的最大利用率。

    綜上所述,基于成本優(yōu)化的多租戶SaaS應(yīng)用優(yōu)化部署問(wèn)題可以表示為:

    例如,某SaaS提供商有5個(gè)租戶,對(duì)外提供3種應(yīng)用,云基礎(chǔ)設(shè)施提供商為其提供3種虛擬機(jī)模板,圖1描述了租戶與應(yīng)用之間的租約關(guān)系。針對(duì)圖1所示的租約關(guān)系,圖2給出一種多租戶SaaS應(yīng)用放置方案:租用類型為VMT1的兩個(gè)虛擬機(jī)VM1和VM2,租用類型為VMT3的1個(gè)虛擬機(jī)VM3,即租用虛擬機(jī)的數(shù)量x=3(x1=2,x2=0,x3=1);部署2個(gè)A1實(shí)例S1和S2,部署2個(gè)A2實(shí)例S3和S4,部署1個(gè)A3實(shí)例S5,即部署應(yīng)用實(shí)例的數(shù)量為y=5(y1=2,y2=2,y3=1);應(yīng)用實(shí)例S1和S3放置在虛擬機(jī)VM1上,應(yīng)用實(shí)例S2和S4放置在虛擬機(jī)VM2上,應(yīng)用實(shí)例S5放置在虛擬機(jī)VM3上;應(yīng)用實(shí)例S1上放置1個(gè)租戶T1,應(yīng)用實(shí)例S2上放置1個(gè)租戶T2,應(yīng)用實(shí)例S3上放置2個(gè)租戶T2和T3,應(yīng)用實(shí)例S4上放置1個(gè)租戶T4,應(yīng)用實(shí)例S5上放置3個(gè)租戶T2、T4和T5,即應(yīng)用實(shí)例放置關(guān)系集PRAV={(S1,VM1),(S3,VM1),(S2,VM2),(S4,VM2),(S5,VM3)},租戶放置關(guān)系集PRTA={(T1,S1),(T2,S2),(T2,S3),(T2,S3),(T2,S5),(T3,S3),(T4,S4),(T4,S5),(T5,S5)}。

    基于成本優(yōu)化的多租戶SaaS應(yīng)用放置問(wèn)題可以劃分為2個(gè)子問(wèn)題:①確定應(yīng)用實(shí)例數(shù)量y(y≤|TA|)和虛擬機(jī)的數(shù)量x(x≥q);②確定租戶放置關(guān)系PRTA和應(yīng)用實(shí)例放置關(guān)系PRAV。其中問(wèn)題②可以看作是將y個(gè)物體放到x個(gè)箱子的裝箱問(wèn)題,其中,每個(gè)物體代表一個(gè)應(yīng)用實(shí)例及其所包含的租戶,每個(gè)箱子代表一個(gè)虛擬機(jī),該問(wèn)題的時(shí)間復(fù)雜度為xy,因此,多租戶SaaS應(yīng)用放置問(wèn)題屬于NP問(wèn)題。為提高問(wèn)題的求解效率和質(zhì)量,本文提出一個(gè)基于虛擬機(jī)序列的遺傳算法來(lái)求解近似最優(yōu)放置方案。

    3 多租戶SaaS應(yīng)用優(yōu)化放置遺傳算法

    3.1 初始應(yīng)用實(shí)例和虛擬機(jī)的確定

    為了采用遺傳算法進(jìn)行問(wèn)題求解,首先需要確定放置方案的染色體編碼方式。因?yàn)樵诔跏疾渴痣A段,應(yīng)用實(shí)例的個(gè)數(shù)和虛擬機(jī)個(gè)數(shù)都未知,所以染色體的長(zhǎng)度和基因的取值都是不確定的,不能直接運(yùn)用遺傳算法進(jìn)行求解。為此,首先根據(jù)租約關(guān)系來(lái)確定初始的應(yīng)用實(shí)例數(shù)量和虛擬機(jī)的數(shù)量,具體計(jì)算方法如下:

    (1)將每一個(gè)租約關(guān)系(Ti,Aj)∈TA 映射為一個(gè)租戶放置關(guān)系(Ti,Sk)∈PRTA,其中,Sk為Aj的一個(gè)實(shí)例,并且對(duì)于每個(gè)應(yīng)用的每個(gè)租戶都分配一個(gè)不同的實(shí)例,這樣可以確定初始的應(yīng)用實(shí)例集AIS,其數(shù)量為租約關(guān)系的數(shù)量y=|TA|,且每個(gè)應(yīng)用實(shí)例只放置一個(gè)租戶。

    (2)對(duì)每一種虛擬機(jī)VMTi(i=1,2,…,q),計(jì)算所有應(yīng)用實(shí)例都放置到該類虛擬機(jī)時(shí),需要的虛擬機(jī)實(shí)例個(gè)數(shù)的下限xi,則初始的虛擬機(jī)需求數(shù)量可以定義為這樣可以保證有足夠的虛擬機(jī)供選擇,本文的目標(biāo)就是從這些虛擬機(jī)中選擇能夠放置所有應(yīng)用實(shí)例及其所包含的租戶、并且滿足成本最低的一組虛擬機(jī)。

    確定每一類虛擬機(jī)VMTi(i=1,2,…,q)需求數(shù)量的算法如下:

    算法1 確定每類虛擬機(jī)需求數(shù)量。

    輸入:初始應(yīng)用實(shí)例集AIS、虛擬機(jī)類型VMTi;

    輸出:VMTi的需求數(shù)量xi。

    步驟1 令VMSi=?為已部署的VMTi實(shí)例集(VMSi為有序集)。

    步驟2 生成VMTi的一個(gè)實(shí)例加入VMSi中。

    步驟3 從AIS中取出一個(gè)應(yīng)用實(shí)例Sk。

    步驟4 依次檢查VMSi中的每個(gè)實(shí)例VMj,計(jì)算將Sk放置到VMj后,VMj的每一類資源需求量是否滿足其資源可用量約束。

    (1)如果滿足,則將Sk從AIS中取出,并將其加入VMj所放置的應(yīng)用實(shí)例集AIS(VMj)中,轉(zhuǎn)步驟3;

    (2)如果不滿足,則生成VMTi的一個(gè)實(shí)例,加入VMSi的第一個(gè)位置,轉(zhuǎn)步驟4;

    (3)如果AIS中的所有應(yīng)用實(shí)例都已放置,即AIS=?,則轉(zhuǎn)步驟5。

    步驟5 輸出VMTi的需求數(shù)量xi=|VMSi|。

    算法1的最壞時(shí)間復(fù)雜度是O(|AIS|2)=O(y2),即AIS中的每個(gè)應(yīng)用實(shí)例都放置在不同的虛擬機(jī)中,則確定所有類型的虛擬機(jī)數(shù)量的時(shí)間復(fù)雜度為O(q·y2)。

    例如,針對(duì)圖1所示的租約關(guān)系,可以確定如圖3左側(cè)所示的8個(gè)初始租戶放置關(guān)系:(T1,S1),(T2,S2),(T2,S3),(T2,S6),(T3,S4),(T4,S5),(T4,S7),(T5,S8)。其中:A1包含S1和S2兩個(gè)實(shí)例,A2包含S3,S4和S5三個(gè)實(shí)例,A3包含S6,S7和S8三個(gè)實(shí)例,即y=8(y1=2,y2=3,y3=3)。根據(jù)算法1,可以確定初始虛擬機(jī)數(shù)量,為了簡(jiǎn)化問(wèn)題的復(fù)雜度,這里省略了計(jì)算過(guò)程,只給出計(jì)算結(jié)果,三類虛擬機(jī)的初始數(shù)量分別為4,3和4,即x=11(x1=4,x2=3,x3=4),它們的編號(hào)如圖3右側(cè)所示。

    3.2 染色體編碼設(shè)計(jì)

    確定了初始應(yīng)用實(shí)例數(shù)量和虛擬機(jī)需求數(shù)量后,就可以對(duì)放置方案進(jìn)行編碼。針對(duì)該類問(wèn)題,目前的編碼方式主要有基于應(yīng)用實(shí)例(看作物體)的編碼和基于虛擬機(jī)(看作箱子)的編碼[12]?;趹?yīng)用實(shí)例的編碼方式是每個(gè)基因代表一個(gè)初始應(yīng)用實(shí)例,基因的取值為初始虛擬機(jī)的編號(hào),表示該應(yīng)用實(shí)例所放置的虛擬機(jī)[10]。基于虛擬機(jī)的編碼方式是每個(gè)基因表示一個(gè)初始虛擬機(jī),基因的取值為一組應(yīng)用實(shí)例的集合,表示放置在該虛擬機(jī)上的所有應(yīng)用實(shí)例[13]。

    通過(guò)實(shí)驗(yàn)發(fā)現(xiàn),采用這兩種編碼方式的遺傳算法在求解多租戶SaaS應(yīng)用放置問(wèn)題時(shí)的優(yōu)化結(jié)果都不是很理想。目前,基于應(yīng)用實(shí)例編碼的染色體主要采用隨機(jī)生成的方法,即對(duì)每個(gè)基因隨機(jī)生成一個(gè)虛擬機(jī)編號(hào)[10]。對(duì)于多租戶應(yīng)用放置問(wèn)題來(lái)說(shuō),如果初始的虛擬機(jī)數(shù)量非常大,則采用隨機(jī)生成方式會(huì)導(dǎo)致被選擇的虛擬機(jī)的數(shù)量非常多,算法的收斂速度會(huì)很慢,而且解的質(zhì)量也很低。另外,隨機(jī)生成還會(huì)產(chǎn)生許多不可行的染色體,對(duì)這些染色體進(jìn)行修復(fù)還會(huì)消耗一定的時(shí)間。雖然基于虛擬機(jī)的編碼在解的質(zhì)量上有所提高,但是由于編碼方式的復(fù)雜性,算法的時(shí)間復(fù)雜度相對(duì)較高[13]。

    針對(duì)上述兩種編碼方式存在的問(wèn)題,本文提出一種基于虛擬機(jī)序列的編碼方式,在該編碼方式中,每條染色體是一個(gè)初始虛擬機(jī)的序列,表示一個(gè)初始應(yīng)用實(shí)例序列所放的順序。例如,針對(duì)圖3右側(cè)所示的初始虛擬機(jī)集合,可隨機(jī)生成一個(gè)初始虛擬機(jī)序列:1 2 5 9 3 4 6 7 8,表示初始應(yīng)用實(shí)例序列S1S2S3S4S5S6S7S8的放置順序,即按照該順序?qū)⑦@些應(yīng)用實(shí)例先放置到虛擬機(jī)VM1中,如果VM1放滿(表示該虛擬機(jī)當(dāng)前狀態(tài)下的可用資源不能再滿足應(yīng)用實(shí)例序列中沒有被放置的任何應(yīng)用實(shí)例的資源需求)則再往VM2中放置,如果VM2放滿則再往VM5中放置,直到所有應(yīng)用實(shí)例都被放完為止,此時(shí)可能還存在閑置的虛擬機(jī),表示它們沒有被選擇。在此例中選擇了VM1,VM2,VM5和VM94個(gè)虛擬機(jī),其中:S1和S2放置在VM1中,S3和S4放置在VM2中,S5,S6和S7放置在VM5中,S8放置在VM9中,其他虛擬機(jī)則沒有被選擇。對(duì)基于虛擬序列的編碼方式來(lái)說(shuō),由于不同的虛擬機(jī)序列會(huì)產(chǎn)生不同的放置方案,虛擬機(jī)的序列是影響求解質(zhì)量的關(guān)鍵因素。

    在應(yīng)用實(shí)例放置過(guò)程中,如果同一應(yīng)用的多個(gè)實(shí)例被放置到一個(gè)虛擬機(jī)上,則將這些應(yīng)用實(shí)例合并為一個(gè)應(yīng)用實(shí)例(同一應(yīng)用在一個(gè)虛擬機(jī)上只能部署一個(gè)實(shí)例),合并后的應(yīng)用實(shí)例的租戶為這些應(yīng)用實(shí)例租戶的并集,因此在計(jì)算應(yīng)用實(shí)例的資源消耗時(shí),不是單獨(dú)計(jì)算每個(gè)應(yīng)用實(shí)例的資源消耗再求它們的和,而是先按照類別合并同類應(yīng)用實(shí)例,再計(jì)算合并后每類應(yīng)用實(shí)例的資源消耗,最后求所有應(yīng)用類別的資源消耗之和。因此,對(duì)基于虛擬序列的編碼方式來(lái)說(shuō),應(yīng)用實(shí)例的放置順序也會(huì)影響放置方案的質(zhì)量,為了盡量將同類應(yīng)用實(shí)例放置到一個(gè)虛擬機(jī)上,以減少應(yīng)用實(shí)例的數(shù)量和資源消耗,可以按照同類應(yīng)用實(shí)例放在一起的規(guī)則來(lái)進(jìn)行放置。

    例如,在圖3的示例中,首先放置A1的實(shí)例,然后放置A2的實(shí)例,最后放置A3的實(shí)例。由于S1和S2是同屬A1的兩個(gè)實(shí)例,當(dāng)它們被放置在同一個(gè)虛擬機(jī)VM5上時(shí),應(yīng)把它們作為一個(gè)實(shí)例來(lái)處里,該實(shí)例上放置兩個(gè)租戶T1和T2。圖4描述了圖3所示的應(yīng)用實(shí)例序列和虛擬機(jī)序列(染色體編碼)所對(duì)應(yīng)的放置方案。

    初始染色體的生成以及建立染色體與放置方案之間映射關(guān)系的算法如下:

    算法2 染色體生成及放置方案映射算法。

    輸入:初始應(yīng)用實(shí)例集AIS、初始虛擬機(jī)集合VMS;

    輸出:染色體P、P所對(duì)應(yīng)的租戶放置關(guān)系PRTA和應(yīng)用實(shí)例放置關(guān)系PRAV。

    步驟1 按照同類應(yīng)用實(shí)例放在一起的規(guī)則,生成AIS中應(yīng)用實(shí)例的一個(gè)序列Q=i1,i2,…,iy(應(yīng)用實(shí)例放置順序),Q 為集合{1,2,…,y}的一個(gè)排列,y=|AIS|。

    步驟2 隨機(jī)生成VMS中虛擬機(jī)的一個(gè)序列P=j(luò)1,j2,…,jx,P 為集合{1,2,…,x}的一個(gè)排列(代表一條染色體,對(duì)應(yīng)于虛擬機(jī)放置順序),x=|VMS|。

    步驟3 按順序取出Q中的每個(gè)應(yīng)用實(shí)例,首先檢查將該應(yīng)用實(shí)例放置到P中的第一個(gè)虛擬機(jī)上是否可行,如果不可行則再放置到P中的下一個(gè)虛擬機(jī)上,直至找到一個(gè)可以放置的虛擬機(jī)為止;然后建立該應(yīng)用實(shí)例與所放置的虛擬機(jī)之間的放置關(guān)系,以及其上租戶與應(yīng)用實(shí)例之間的放置關(guān)系,分別加入PRAV和PRTA中。

    步驟4 重復(fù)步驟3,直到Q中所有的應(yīng)用實(shí)例都被放置為止。

    算法2的時(shí)間復(fù)雜度為O(x(y),其中x和y分別為初始虛擬機(jī)數(shù)量和應(yīng)用實(shí)例數(shù)量。

    3.3 遺傳操作與染色體修復(fù)

    遺傳操作包括交叉操作和變異操作。針對(duì)基于虛擬機(jī)序列的編碼方式,采用循環(huán)交叉操作和移位變異操作。

    循環(huán)交叉的核心思想是子串位置上的值必須與父母相同位置上的值相等[14],其主要步驟如下:

    步驟1 選擇父染色體P1的第一個(gè)基因作為子染色體C1的第一位,選擇父染色體P2的第一個(gè)基因作為子染色體C2的第一位。

    步驟2 在P1中找出P2的第一個(gè)基因賦給C1的相對(duì)位置,并把P2中該位置的基因賦給C2的相對(duì)位置,重復(fù)此過(guò)程,直至P2上得到P1的第一個(gè)基因?yàn)橹?,稱為一個(gè)循環(huán)。

    步驟3 對(duì)最前面的基因按P1、P2基因輪替原則重復(fù)以上步驟。

    步驟4 重復(fù)以上步驟,直至所有的位都完成。

    循環(huán)交叉操作的時(shí)間復(fù)雜度是O(x2),如圖5所示為循環(huán)交叉過(guò)程的示意圖。

    移位變異是任意選擇一位基因,將其移動(dòng)到最前面,該操作的時(shí)間復(fù)雜度是O(x),圖6描述了移位變異過(guò)程的示意圖。

    3.4 適應(yīng)函數(shù)

    本文的優(yōu)化目標(biāo)是降低租用虛擬機(jī)的成本,如果兩個(gè)放置方案的成本相同,則部署應(yīng)用實(shí)例數(shù)量少的方案優(yōu)于應(yīng)用實(shí)例數(shù)量多的方案,這是因?yàn)檩^多的應(yīng)用實(shí)例將會(huì)帶來(lái)較高的維護(hù)成本。

    設(shè)P為一個(gè)染色體(對(duì)應(yīng)放置方案),c和y分別為P的虛擬機(jī)成本和應(yīng)用實(shí)例的數(shù)量,將適應(yīng)函數(shù)定義為一個(gè)二元組F(P)=(c,y),并定義適應(yīng)函數(shù)之間的等價(jià)關(guān)系“?”和超優(yōu)關(guān)系“?”。

    設(shè)P1和P2為兩個(gè)染色體,c1和c2分別為P1和P2的虛擬機(jī)成本,y1和y2分別為P1和P2的應(yīng)用實(shí)例數(shù)量,即F(P1)=(c1,y1),F(xiàn)(P2)=(c2,y2)。如果c1<c2,則F(P2)?F(P1);如果c1=c2且y1<y2,則F(P2)?F(P1);如果c1=c2且y1=y(tǒng)2,則F(P2)≡F(P1)。如果F(P2)?F(P1),則說(shuō)明P1的適應(yīng)度大于P2的適應(yīng)度,如果F(P2)≡F(P1),則說(shuō)明P1的適應(yīng)度等于P2的適應(yīng)度。本文的優(yōu)化目標(biāo)就是選擇適應(yīng)度大的放置方案。

    3.5 遺傳算法

    基于前述分析,給出多租戶SaaS應(yīng)用優(yōu)化放置遺傳算法。

    算法3 多租戶SaaS應(yīng)用優(yōu)化放置遺傳算法。

    輸入:初始應(yīng)用實(shí)例集AIS、初始租戶放置關(guān)系PRTA、虛擬機(jī)集合VMS、資源消耗度量模型、適應(yīng)函數(shù)、種群大小pop_size、遺傳操作進(jìn)化代數(shù)gen、交叉操作概率pc,變異操作概率pm;

    輸出:最優(yōu)放置方案P。

    步驟1 設(shè)定種群大小pop_size,遺傳操作進(jìn)化代數(shù)gen、交叉操作概率pc、變異操作概率pm等參數(shù)的取值。

    步驟2 產(chǎn)生初始種群old_pop,令g=0表示當(dāng)前代數(shù)。

    步驟3 將當(dāng)前種群old_pop中個(gè)體適應(yīng)度最大的染色體放入新種群new_pop。

    步驟4 從種群old_pop中采用輪盤賭算法任選兩條染色體進(jìn)行交叉、變異等遺傳操作,計(jì)算新染色體的個(gè)體適應(yīng)度并放入new_pop中,令g=g+1。

    步驟5 若g<gen,則old_pop=new_pop,轉(zhuǎn)步驟3;否則轉(zhuǎn)步驟6。

    步驟6 從new_pop中選擇適應(yīng)度值最高的染色體best_chrom,根據(jù)該染色體計(jì)算得出最終的放置方案P。

    在算法3中,步驟1的時(shí)間復(fù)雜度是O(1),可以忽略不計(jì);步驟2初始化種群的時(shí)間復(fù)雜度是O(pop_size·x·y);步驟3和步驟6的時(shí)間復(fù)雜度都是O(gen);步驟4~步驟5的時(shí)間復(fù)雜度是O(gen(x2)。因此,算法3的時(shí)間復(fù)雜度是O(pop_size·x·y+2(gen+gen(x2)=O(pop_size·x·y+gen(x2),加上確定初始虛擬機(jī)數(shù)量的時(shí)間復(fù)雜度O(q·y2),整個(gè)問(wèn)題求解的時(shí)間復(fù)雜度為O(q·y2+pop_size·x·y+gen·x2)。

    4 實(shí)驗(yàn)分析

    本文所提算法已經(jīng)利用Java進(jìn)行了模擬仿真,實(shí)驗(yàn)環(huán)境為:CPU為雙核AMD Athlon 2.7GHz,內(nèi)存2GB,操作系統(tǒng)為Windows 7。

    4.1 實(shí)驗(yàn)參數(shù)設(shè)定

    實(shí)驗(yàn)參數(shù)設(shè)定主要是對(duì)模擬仿真實(shí)驗(yàn)中所涉及的各類參數(shù)進(jìn)行,包括虛擬機(jī)模擬參數(shù)、SaaS應(yīng)用模擬參數(shù)、租約模擬參數(shù)和算法實(shí)驗(yàn)參數(shù)。

    (1)虛擬機(jī)參數(shù) 虛擬機(jī)類型參考亞馬遜EC2的虛擬機(jī)模板類型進(jìn)行參數(shù)設(shè)置,主要考慮CPU、內(nèi)存和存儲(chǔ)三種資源,不同虛擬機(jī)類型的資源數(shù)量不同,成本價(jià)格也不同,如表1所示。其中,CPU的單位為CU(compute unit),內(nèi)存的單位是 GiB(230字節(jié)),存儲(chǔ)的單位是G。小型的虛擬機(jī)CPU大小為1CU,內(nèi)存為1.7GiB,存儲(chǔ)為160G,價(jià)格為0.115$/h??梢愿鶕?jù)實(shí)驗(yàn)的需要?jiǎng)討B(tài)增加虛擬機(jī)類型及其模擬參數(shù)。設(shè)虛擬機(jī)的資源利用率αij=0.95。

    表1 EC2虛擬機(jī)資源約束及價(jià)格表

    (2)應(yīng)用參數(shù) 應(yīng)用的模擬數(shù)據(jù)按如下方法設(shè)置:

    1)應(yīng)用對(duì)資源的初始消耗r*ik取值范圍為[1,5]×10-2,忽略了隔離租戶的資源消耗。

    2)假設(shè)資源消耗函數(shù)fik(w,u)與用戶數(shù)u呈線性關(guān)系,fik(w,u)的斜率取值范圍為(0,10],基準(zhǔn)響應(yīng)時(shí)間設(shè)置為w=0.1s。

    仿真實(shí)驗(yàn)中,模擬了12個(gè)應(yīng)用Ak(k=1,2,…,12),每個(gè)應(yīng)用的主要模擬參數(shù)為資源消耗函數(shù)的斜率,其詳細(xì)參數(shù)設(shè)置如表2所示??梢愿鶕?jù)實(shí)驗(yàn)的需要?jiǎng)討B(tài)增加應(yīng)用及其模擬參數(shù)。

    表2 基準(zhǔn)響應(yīng)時(shí)間資源消耗函數(shù)斜率表

    續(xù)表2

    (3)租戶租約參數(shù) 一個(gè)租戶租約包含了租用的應(yīng)用類型、用戶數(shù)量、響應(yīng)時(shí)間、起止日期和價(jià)格等信息,本文主要關(guān)注應(yīng)用類型、用戶數(shù)量和響應(yīng)時(shí)間,響應(yīng)時(shí)間集合定義為R={0.1,0.3,0.5}s。

    (4)算法實(shí)驗(yàn)參數(shù) 算法實(shí)驗(yàn)參數(shù)包括種群大小、進(jìn)化代數(shù)、交叉概率、變異概率、租約個(gè)數(shù)和用戶數(shù),詳細(xì)設(shè)置如表3所示。

    表3 算法實(shí)驗(yàn)參數(shù)設(shè)置

    4.2 實(shí)驗(yàn)結(jié)果分析

    通過(guò)實(shí)驗(yàn)仿真,分別實(shí)現(xiàn)了用基于應(yīng)用實(shí)例編碼的遺傳算法(Genetic Algorithm based on Application Instances Coding,AI-GA)[10]、基于虛擬機(jī)編碼的遺傳算法(Genetic Algorithm based on Virtual Machines Coding,VM-GA)[13]和基于虛擬機(jī)序列編碼的遺傳算法(Genetic Algorithm based on Virtual Machines Order Coding,VMO-GA)等算法求解多租SaaS應(yīng)用放置問(wèn)題,并從運(yùn)行時(shí)間、運(yùn)行結(jié)果、收斂速度等方面進(jìn)行了分析和對(duì)比。

    (1)VMO-GA運(yùn)行結(jié)果分析

    首先分析VMO-GA的平均收斂速度。圖7顯示了租約個(gè)數(shù)為200時(shí)算法運(yùn)行100次的平均收斂速度,在每次運(yùn)行中,進(jìn)化到400代左右算法開始收斂到一個(gè)相對(duì)最優(yōu)的結(jié)果。

    接下來(lái)分析VMO-GA的進(jìn)化代數(shù)為400、租約個(gè)數(shù)仍然為200時(shí),交叉概率和變異概率對(duì)算法結(jié)果的影響。圖8顯示了交叉概率與運(yùn)行結(jié)果之間的關(guān)系,從圖中可以看出,在交叉概率為0.8時(shí)運(yùn)行結(jié)果最好,最好時(shí)虛擬機(jī)成本為4.921 6,交叉概率小于或大于0.8時(shí)運(yùn)行得出的虛擬機(jī)成本都會(huì)變大。

    圖9顯示了在交叉概率為0.8時(shí)變異概率與運(yùn)行結(jié)果之間的關(guān)系。當(dāng)變異率為0.05時(shí)運(yùn)行結(jié)果最好,虛擬機(jī)成本為4.916 4$,變異率大于或小于0.05時(shí)運(yùn)行得出的虛擬機(jī)成本都會(huì)增大。

    種群的大小對(duì)算法的運(yùn)行結(jié)果也有很大的影響,一般種群規(guī)模越大、運(yùn)行結(jié)果越好,但是所消耗的時(shí)間也越長(zhǎng),因此通常采用一個(gè)折中的大小。圖10顯示了租約個(gè)數(shù)為200、進(jìn)化代數(shù)為400、交叉概率和變異概率分別為0.8和0.05時(shí),VMO-GA的運(yùn)行結(jié)果與種群大小之間的關(guān)系。

    (2)三種算法運(yùn)行結(jié)果比較

    首先對(duì)三種算法的運(yùn)行時(shí)間進(jìn)行比較。以租約個(gè)數(shù)為500,進(jìn)化代數(shù)分別為50,100,150,200,250,300,350,400時(shí)的運(yùn)行時(shí)間為例,隨著進(jìn)化代數(shù)的增加,三種算法的運(yùn)行時(shí)間都呈線性增長(zhǎng),在相同進(jìn)化代數(shù)下,VM-GA的運(yùn)行時(shí)間最長(zhǎng),VMO-GA的

    運(yùn)行時(shí)間居中,而AI-GA的運(yùn)行時(shí)間最少,如圖11所示。

    進(jìn)一步比較三種算法的求解質(zhì)量。從運(yùn)行結(jié)果來(lái)看,VMO-GA和VM-GA在求解多租戶SaaS應(yīng)用放置問(wèn)題時(shí)的結(jié)果遠(yuǎn)遠(yuǎn)優(yōu)于AI-GA,如圖12所示。在進(jìn)化代數(shù)為500時(shí),隨著進(jìn)化代數(shù)的逐漸增加,虛擬機(jī)成本逐漸收斂到一個(gè)最小的值,AI-GA,VMO-GA和 VM-GA 得 到 的 最 好 結(jié) 果 分 別 為64.148 5$,10.887 5$和10.929 1$。通過(guò)實(shí)驗(yàn)結(jié)果可以看出,VMO-GA和VM-GA的收斂速度比AI-GA快,而在虛擬機(jī)成本上,VMO-GA得到的結(jié)果最好,VM-GA的結(jié)果次之,AI-GA的結(jié)果最差。

    4.3 應(yīng)用案例

    為了說(shuō)明多租戶SaaS應(yīng)用放置方案的確定過(guò)程,以圖3所描述的租戶放置關(guān)系為例,分析最終放置方案的選擇策略。在本例中,包含5個(gè)租戶、8個(gè)租約和3個(gè)應(yīng)用,根據(jù)初始應(yīng)用實(shí)例的計(jì)算規(guī)則(見第3.1節(jié)),每個(gè)租約映射為一個(gè)應(yīng)用實(shí)例,租約的參數(shù)設(shè)置如表4所示。

    表4 租戶SLA需求設(shè)置

    當(dāng)租戶確定了租約的響應(yīng)時(shí)間和用戶數(shù)后,就可以根據(jù)本文提出的資源消耗模型(見第2章),對(duì)各租約的資源消耗進(jìn)行計(jì)算。這里忽略了隔離租戶的資源消耗,應(yīng)用A1,A2和A3的基準(zhǔn)響應(yīng)時(shí)間資源消耗函數(shù)斜率如表2所示,虛擬機(jī)的資源利用率設(shè)置為0.95。表5給出每個(gè)租約所對(duì)應(yīng)的初始應(yīng)用實(shí)例放置在虛擬機(jī)上的資源需求,包括應(yīng)用實(shí)例在沒有租戶放置情況下的初始資源需求,以及在實(shí)際響應(yīng)時(shí)間下根據(jù)用戶數(shù)增長(zhǎng)的資源需求,這兩部分的和就是租約部署在虛擬機(jī)上資源需求。

    表5 租約的資源需求

    為簡(jiǎn)化問(wèn)題的復(fù)雜度,這里只考慮小、中、大三種虛擬機(jī)類型,其資源約束和價(jià)格如表1所示。首先根據(jù)算法1,可以確定三類虛擬機(jī)的初始數(shù)量,如圖3右側(cè)所示;然后根據(jù)算法2和算法3,選出一條最優(yōu)的染色體作為最終的放置策略,租戶、應(yīng)用實(shí)例和虛擬機(jī)之間的映射關(guān)系如圖 所示。根據(jù)放置策4略,確定需要中型虛擬機(jī)1個(gè)、大型虛擬機(jī)2個(gè),因此,租用虛擬機(jī)的成本為1.15$/h。對(duì)租戶和應(yīng)用實(shí)例進(jìn)行放置后,每個(gè)虛擬機(jī)的負(fù)載情況如表6所示。

    表6 虛擬機(jī)負(fù)載情況

    5 結(jié)束語(yǔ)

    本文提出了基于成本優(yōu)化的多租戶 應(yīng)用SaaS放置模型和算法。研究了在多租戶SaaS應(yīng)用部署的初始階段,如何根據(jù)租戶的需求來(lái)確定應(yīng)用部署的SaaS應(yīng)用實(shí)例的數(shù)量以及租用的虛擬機(jī)數(shù)量,并建立租戶與SaaS應(yīng)用實(shí)例、SaaS應(yīng)用實(shí)例與虛擬機(jī)之間的放置關(guān)系,使租用的虛擬機(jī)成本最低,對(duì)于SaaS提供商減少初期資金投入具有重要意義。本文提出了面向租戶服務(wù)響應(yīng)時(shí)間的資源消耗度量模型,給出了基于成本優(yōu)化的多租戶SaaS應(yīng)用放置問(wèn)題的形式化描述;依據(jù)租約關(guān)系給出了計(jì)算初始的應(yīng)用實(shí)例數(shù)量和虛擬機(jī)數(shù)量的方法,并采用基于虛擬機(jī)序列編碼的遺傳算法來(lái)求解多租戶SaaS應(yīng)用放置問(wèn)題;通過(guò)實(shí)驗(yàn)分析了算法的可行性與有效性,并與基于應(yīng)用實(shí)例編碼的遺傳算法和基于虛擬機(jī)的遺傳算法進(jìn)行了比較,證明了該方法具有較高的求解質(zhì)量;最后通過(guò)一個(gè)實(shí)例說(shuō)明了多租戶SaaS應(yīng)用放置方案的確定過(guò)程。

    由于目前還缺乏實(shí)際的實(shí)驗(yàn)環(huán)境,本文主要采用模擬實(shí)驗(yàn)的方法對(duì)所提算法進(jìn)行驗(yàn)證。下一步工作主要集中在兩方面:①基于已有的項(xiàng)目基礎(chǔ),搭建實(shí)際的應(yīng)用環(huán)境,從而進(jìn)一步驗(yàn)證本文所提出方法的可行性;②研究將多租戶SaaS應(yīng)用部署到云環(huán)境后,如何進(jìn)行在線租戶優(yōu)化放置,以提高資源的利用率。

    [1] BOSS G,MALLADI P,QUAN D,et al.Cloud computing[EB/OL].[2013-01-10].http://download.boulder.ibm.com/ibmdl/pub/software/dw/wes/hipods/Cloud_computing_wp_final_8Oct.

    [2] KANG S,KANG S,HUR S.A design of the conceptual architecture for a multitenant SaaS application platform[C]//Proceedings of the 2011 1st ACIS/JNU International Conference on Computers,Networks,Systems,and Industrial Engineering.Washington,D.C.,USA:IEEE Computer Society,2011:462-467.

    [3] WU L L,KUMAR S,BUYYA R.SLA-based rsource allocation for software as a service provider(SaaS)in cloud computing environments[C]//Proceedings of the IEEE/ACM International Symposium on Cluster,Cloud and Grid Computing.Washington,D.C.,USA:IEEE Computer Society,2011:195-204.

    [4] WU L L,GARG S K,BUYYA R.SLA-based admission control for a Software-as-a-service provider in cloud computing environments[J].Journal of Computer and System Science,2012,78(5):1280-1299.

    [5] Wikipedia.Amazon.com[EB/OL].[2013-01-10].http://en.wikipedia.org/wiki/Amazon.com.

    [6] KWOK T,MOHINDRA A.Resource calculations with constraints,and placement of tenants and instances for multi-tenant SaaS applications[C]//Proceedings of International Conference on Service-Oriented Computing.Berlin,Germany:Springer-Verlag,2008:633-648.

    [7] ZHANG Y,WANG Z H,GAO B.An effective heuristic for on-line tenant placement problem in SaaS[C]//Proceedings of IEEE International Conference on Web Services.Washington,D.C.,USA:IEEE Computer Society,2010:425-432.

    [8] YU H Y,WANG D S.System resource allocation algorithm for multi-tenant SaaS application[C]//Proceedings of International Conference on Cloud and Service Computing.Washington,D.C.,USA:IEEE Computer Society,2011:207-211.

    [9] WANG Deshuai,ZHANG Yichuan,ZHANG Bin,et al.Load balancing strategy for multi-tenancy SaaS applications supporting service on demand[J].Journal of Northeastern University:Natural Science,2011,32(3):353-355(in Chinese).[汪德帥,張一川,張 斌,等.支持多租約SaaS應(yīng)用按需服務(wù)的負(fù)載均衡策略 [J].東北大學(xué)學(xué)報(bào):自然科學(xué)版,2011,32(3):353-355.]

    [10] IZZAH Z,YUSOH M,TANG M.A penalty-based genetic algorithm for the composite SaaS placement problem in the cloud[C]//Proceedings of the IEEE Congress on Evolutionary Computation.Washington,D.C.,USA:IEEE Computer Society,2010:1-8.

    [11] YANG E F,ZHANG Y,WU L,et al.A hybrid approach to placement of tenants for service-based multi-tenant SaaS application[C]//Proceeding of IEEE Asia-Pacific Services Com-puting Conference.Washington,D.C.,USA:IEEE Computer Society,2011:124-130.

    [12] ZHANG Dabin,LIU Guiqin,WANG Jing,et al.Genetic algorithm based on group coding for bin-packing problem[J].Computer Engineering and Design,2008,29(12):3154-3156(in Chinese).[張大斌,劉桂琴,王 婧,等.基于群體編碼方式的遺傳算法求解裝箱問(wèn)題[J].計(jì)算機(jī)工程與設(shè)計(jì),2008,29(12):3154-3156.]

    [13] FALKENAUER E,DELCHAMBRE A.A genetic algorithm for bin packing and line balancing[C]//Proceedings of the IEEE International Conference on Robotics and Automation.Washington,D.C.,USA:IEEE Computer Society,1992:1186-1192.

    [14] WANG Dingwei,WANG Junwei,WANG Hongfeng,et al.Intelligent optimization methods[M].Beijing:Higher Education Press,2007(in Chinese).[汪定偉,王俊偉,王洪峰,等.智能優(yōu)化方法[M].北京:高等教育出版社,2007.]

    猜你喜歡
    資源
    讓有限的“資源”更有效
    污水磷資源回收
    基礎(chǔ)教育資源展示
    崛起·一場(chǎng)青銅資源掠奪戰(zhàn)
    一樣的資源,不一樣的收獲
    我給資源分分類
    資源回收
    做好綠色資源保護(hù)和開發(fā)
    資源再生 歡迎訂閱
    資源再生(2017年3期)2017-06-01 12:20:59
    激活村莊內(nèi)部治理資源
    決策(2015年9期)2015-09-10 07:22:44
    最近中文字幕2019免费版| 国产成人a∨麻豆精品| 国产成人a∨麻豆精品| 国产精品国产三级国产专区5o| 涩涩av久久男人的天堂| 国产一区二区三区综合在线观看| 母亲3免费完整高清在线观看| 18禁黄网站禁片午夜丰满| 欧美国产精品一级二级三级| 日本欧美国产在线视频| 91字幕亚洲| 宅男免费午夜| 在线看a的网站| 日韩伦理黄色片| 国产精品三级大全| 国产片特级美女逼逼视频| 亚洲一卡2卡3卡4卡5卡精品中文| 青青草视频在线视频观看| 中文乱码字字幕精品一区二区三区| 国产深夜福利视频在线观看| 成人亚洲精品一区在线观看| 少妇人妻 视频| 欧美精品av麻豆av| 在现免费观看毛片| 在线观看一区二区三区激情| 精品免费久久久久久久清纯 | 纯流量卡能插随身wifi吗| 日韩伦理黄色片| 黄色 视频免费看| 亚洲av男天堂| 中文字幕另类日韩欧美亚洲嫩草| 999精品在线视频| 校园人妻丝袜中文字幕| 99热国产这里只有精品6| 日本a在线网址| 日本黄色日本黄色录像| 好男人电影高清在线观看| av在线app专区| 国产一区二区激情短视频 | 自拍欧美九色日韩亚洲蝌蚪91| 亚洲 欧美一区二区三区| 亚洲欧美激情在线| 男女床上黄色一级片免费看| 免费在线观看黄色视频的| 黄色a级毛片大全视频| 建设人人有责人人尽责人人享有的| 亚洲人成网站在线观看播放| 一区二区三区精品91| 亚洲精品国产一区二区精华液| 亚洲自偷自拍图片 自拍| 91成人精品电影| 久久国产精品大桥未久av| 视频区图区小说| 啦啦啦视频在线资源免费观看| 免费在线观看影片大全网站 | 亚洲欧洲日产国产| 亚洲熟女毛片儿| 亚洲视频免费观看视频| 观看av在线不卡| 久久热在线av| 午夜精品国产一区二区电影| 成在线人永久免费视频| 精品久久蜜臀av无| 一级a爱视频在线免费观看| 精品人妻在线不人妻| 欧美精品一区二区大全| 国产高清国产精品国产三级| 国产成人欧美| 夫妻性生交免费视频一级片| 精品欧美一区二区三区在线| 侵犯人妻中文字幕一二三四区| 午夜免费观看性视频| 老鸭窝网址在线观看| 午夜久久久在线观看| a 毛片基地| 欧美黑人精品巨大| 欧美精品人与动牲交sv欧美| 久久综合国产亚洲精品| 成年av动漫网址| 看十八女毛片水多多多| 日韩一卡2卡3卡4卡2021年| 国产免费一区二区三区四区乱码| 欧美在线黄色| 久久99精品国语久久久| 免费一级毛片在线播放高清视频 | 啦啦啦啦在线视频资源| 午夜福利免费观看在线| 自拍欧美九色日韩亚洲蝌蚪91| 亚洲国产精品成人久久小说| 亚洲男人天堂网一区| 欧美日韩成人在线一区二区| 真人做人爱边吃奶动态| 午夜影院在线不卡| 国产精品国产三级专区第一集| 两个人看的免费小视频| 欧美+亚洲+日韩+国产| 波野结衣二区三区在线| 亚洲欧美成人综合另类久久久| 亚洲国产中文字幕在线视频| www.精华液| 欧美精品一区二区免费开放| 欧美日韩一级在线毛片| 中文字幕最新亚洲高清| 精品少妇久久久久久888优播| 国产亚洲欧美精品永久| 中文字幕最新亚洲高清| av国产精品久久久久影院| 免费久久久久久久精品成人欧美视频| 女人精品久久久久毛片| 国产精品人妻久久久影院| 夫妻午夜视频| 精品少妇一区二区三区视频日本电影| 三上悠亚av全集在线观看| 丁香六月天网| 国产一区有黄有色的免费视频| 一二三四社区在线视频社区8| 欧美精品一区二区免费开放| 欧美人与性动交α欧美软件| 黄片小视频在线播放| 麻豆国产av国片精品| 精品高清国产在线一区| 两个人免费观看高清视频| 超色免费av| 国产av国产精品国产| 亚洲伊人色综图| 久久人妻熟女aⅴ| 亚洲欧洲日产国产| 日本欧美国产在线视频| 下体分泌物呈黄色| 人体艺术视频欧美日本| 亚洲人成77777在线视频| 午夜福利在线免费观看网站| 久久99一区二区三区| 久久精品国产亚洲av高清一级| 欧美激情高清一区二区三区| 人成视频在线观看免费观看| 欧美精品一区二区免费开放| e午夜精品久久久久久久| 搡老乐熟女国产| 日日爽夜夜爽网站| 下体分泌物呈黄色| 日本五十路高清| 亚洲,欧美,日韩| 色精品久久人妻99蜜桃| 精品少妇内射三级| 亚洲人成网站在线观看播放| 国产熟女午夜一区二区三区| 在现免费观看毛片| av有码第一页| 国产精品欧美亚洲77777| 另类精品久久| 久久精品国产亚洲av高清一级| 亚洲欧洲精品一区二区精品久久久| 欧美亚洲日本最大视频资源| 少妇裸体淫交视频免费看高清 | 亚洲成国产人片在线观看| a 毛片基地| 亚洲精品美女久久久久99蜜臀 | 青春草视频在线免费观看| 这个男人来自地球电影免费观看| 午夜福利影视在线免费观看| 精品人妻在线不人妻| 亚洲天堂av无毛| 一区二区三区乱码不卡18| 青春草视频在线免费观看| 欧美精品一区二区免费开放| 男人爽女人下面视频在线观看| 亚洲男人天堂网一区| 亚洲国产av影院在线观看| 亚洲精品日本国产第一区| 人人妻人人爽人人添夜夜欢视频| 精品久久蜜臀av无| 热re99久久精品国产66热6| 夫妻性生交免费视频一级片| 欧美久久黑人一区二区| 免费少妇av软件| 国产黄频视频在线观看| 亚洲欧美一区二区三区久久| 国产精品二区激情视频| 亚洲国产中文字幕在线视频| 新久久久久国产一级毛片| 麻豆av在线久日| 免费一级毛片在线播放高清视频 | 精品人妻一区二区三区麻豆| 国产精品一国产av| 夜夜骑夜夜射夜夜干| 国产不卡av网站在线观看| bbb黄色大片| 一边摸一边抽搐一进一出视频| 深夜精品福利| 国产一区亚洲一区在线观看| 成年av动漫网址| av网站免费在线观看视频| av国产精品久久久久影院| 搡老岳熟女国产| 午夜av观看不卡| 国产在视频线精品| 五月开心婷婷网| 午夜久久久在线观看| 中文字幕亚洲精品专区| 亚洲精品久久久久久婷婷小说| 大片免费播放器 马上看| 久久精品aⅴ一区二区三区四区| 99香蕉大伊视频| 久久久久网色| 国产精品一区二区在线观看99| 久久久精品94久久精品| 新久久久久国产一级毛片| 超色免费av| 精品国产国语对白av| 另类亚洲欧美激情| 精品熟女少妇八av免费久了| 国产成人精品久久二区二区免费| 另类亚洲欧美激情| svipshipincom国产片| 色视频在线一区二区三区| 韩国精品一区二区三区| 亚洲成色77777| 热re99久久精品国产66热6| 亚洲专区中文字幕在线| 一本一本久久a久久精品综合妖精| 99精品久久久久人妻精品| 99九九在线精品视频| 亚洲专区中文字幕在线| 人人妻人人澡人人爽人人夜夜| 免费观看a级毛片全部| 一本—道久久a久久精品蜜桃钙片| 美女扒开内裤让男人捅视频| 午夜日韩欧美国产| 韩国高清视频一区二区三区| 国产主播在线观看一区二区 | 亚洲综合色网址| 午夜日韩欧美国产| 成人国产一区最新在线观看 | 久久精品久久精品一区二区三区| 天堂俺去俺来也www色官网| kizo精华| 亚洲天堂av无毛| 黄色毛片三级朝国网站| 国产精品国产三级国产专区5o| 免费在线观看影片大全网站 | 国产成人影院久久av| 久久精品久久精品一区二区三区| 狠狠精品人妻久久久久久综合| 亚洲国产精品999| 最新的欧美精品一区二区| 男女高潮啪啪啪动态图| 一边摸一边做爽爽视频免费| 欧美黄色片欧美黄色片| 老鸭窝网址在线观看| 国产精品亚洲av一区麻豆| 最近手机中文字幕大全| 免费黄频网站在线观看国产| 亚洲九九香蕉| 这个男人来自地球电影免费观看| 久久久久久久久免费视频了| 丰满饥渴人妻一区二区三| 国产精品国产av在线观看| 免费看十八禁软件| 久久国产精品人妻蜜桃| 亚洲av成人不卡在线观看播放网 | 丰满迷人的少妇在线观看| 少妇精品久久久久久久| 两人在一起打扑克的视频| 妹子高潮喷水视频| 丝袜人妻中文字幕| 老司机亚洲免费影院| 亚洲av日韩精品久久久久久密 | 久久精品熟女亚洲av麻豆精品| 国产成人一区二区三区免费视频网站 | 日本av手机在线免费观看| 国产精品香港三级国产av潘金莲 | 人妻 亚洲 视频| 亚洲伊人久久精品综合| 在线亚洲精品国产二区图片欧美| 制服诱惑二区| 亚洲精品成人av观看孕妇| www.999成人在线观看| 免费观看人在逋| 女人精品久久久久毛片| 日日爽夜夜爽网站| 久久久久久免费高清国产稀缺| 日韩,欧美,国产一区二区三区| 一级片免费观看大全| 国产日韩一区二区三区精品不卡| av不卡在线播放| 免费在线观看影片大全网站 | 国产免费现黄频在线看| 亚洲成国产人片在线观看| www日本在线高清视频| 新久久久久国产一级毛片| 精品免费久久久久久久清纯 | 国产视频首页在线观看| 欧美精品亚洲一区二区| 国产主播在线观看一区二区 | 精品卡一卡二卡四卡免费| 久久久久久久国产电影| 国产成人精品在线电影| 午夜老司机福利片| 一本综合久久免费| 欧美在线黄色| 国产一区二区三区综合在线观看| 少妇精品久久久久久久| 最近最新中文字幕大全免费视频 | 一级黄片播放器| 久久毛片免费看一区二区三区| 91国产中文字幕| 丁香六月欧美| 久久精品国产a三级三级三级| 国产有黄有色有爽视频| 国产成人欧美在线观看 | 午夜免费鲁丝| 国产爽快片一区二区三区| 成人亚洲精品一区在线观看| 国产麻豆69| 日本欧美国产在线视频| av欧美777| 超色免费av| 久久午夜综合久久蜜桃| 黄色 视频免费看| 午夜福利在线免费观看网站| 在线av久久热| 午夜91福利影院| 亚洲伊人色综图| 中文字幕另类日韩欧美亚洲嫩草| av又黄又爽大尺度在线免费看| 下体分泌物呈黄色| 少妇被粗大的猛进出69影院| 视频在线观看一区二区三区| 久久人人爽av亚洲精品天堂| 欧美+亚洲+日韩+国产| 大型av网站在线播放| 一区在线观看完整版| 美国免费a级毛片| 一二三四社区在线视频社区8| 精品一区二区三区四区五区乱码 | tube8黄色片| 伊人亚洲综合成人网| 黄色怎么调成土黄色| 亚洲av在线观看美女高潮| 亚洲国产欧美一区二区综合| 午夜免费鲁丝| 国产一区有黄有色的免费视频| 国产精品国产三级专区第一集| 在线观看免费高清a一片| 免费少妇av软件| 免费观看a级毛片全部| 又黄又粗又硬又大视频| 91麻豆精品激情在线观看国产 | 悠悠久久av| 肉色欧美久久久久久久蜜桃| 成人影院久久| 好男人电影高清在线观看| 最近最新中文字幕大全免费视频 | 久久天堂一区二区三区四区| 国产极品粉嫩免费观看在线| 欧美国产精品va在线观看不卡| 亚洲视频免费观看视频| 久久久精品国产亚洲av高清涩受| 又黄又粗又硬又大视频| 亚洲精品一二三| 亚洲伊人久久精品综合| 国产精品免费视频内射| 国产精品一区二区在线观看99| 日韩av免费高清视频| 飞空精品影院首页| 男女免费视频国产| 亚洲,一卡二卡三卡| 日本欧美视频一区| 国产精品 国内视频| 日日夜夜操网爽| 日韩视频在线欧美| 亚洲天堂av无毛| a级毛片黄视频| www.999成人在线观看| 91麻豆av在线| 妹子高潮喷水视频| 免费观看人在逋| 50天的宝宝边吃奶边哭怎么回事| 亚洲精品一区蜜桃| 亚洲激情五月婷婷啪啪| 色播在线永久视频| 考比视频在线观看| 日本wwww免费看| 97精品久久久久久久久久精品| 五月开心婷婷网| 亚洲欧洲日产国产| 国产高清视频在线播放一区 | 亚洲激情五月婷婷啪啪| 热re99久久国产66热| 久久天堂一区二区三区四区| 亚洲国产av新网站| 99热全是精品| 久久中文字幕一级| 国产高清videossex| 亚洲图色成人| 亚洲av欧美aⅴ国产| 天堂8中文在线网| 免费少妇av软件| 日本午夜av视频| 午夜激情av网站| 精品久久久久久久毛片微露脸 | 中文字幕人妻熟女乱码| 国产精品久久久久久精品电影小说| 亚洲国产日韩一区二区| 男女边吃奶边做爰视频| 韩国精品一区二区三区| 国产黄色免费在线视频| 一级毛片我不卡| 尾随美女入室| 中文字幕色久视频| 国产成人欧美| 亚洲五月婷婷丁香| 少妇 在线观看| 国产福利在线免费观看视频| 91精品伊人久久大香线蕉| 亚洲男人天堂网一区| 久久久国产一区二区| 丝瓜视频免费看黄片| 在线观看免费日韩欧美大片| 亚洲欧美一区二区三区久久| 亚洲精品美女久久久久99蜜臀 | 国产精品香港三级国产av潘金莲 | 涩涩av久久男人的天堂| 久久性视频一级片| 老司机亚洲免费影院| 天天添夜夜摸| 黄色a级毛片大全视频| h视频一区二区三区| 最新在线观看一区二区三区 | 色网站视频免费| 欧美日韩视频高清一区二区三区二| 欧美在线黄色| 亚洲av男天堂| 91字幕亚洲| 青草久久国产| 黄色视频在线播放观看不卡| 成人亚洲精品一区在线观看| 男女边吃奶边做爰视频| 精品亚洲成国产av| 午夜老司机福利片| 久久久久久久大尺度免费视频| 一级片免费观看大全| 免费在线观看视频国产中文字幕亚洲 | 国产精品av久久久久免费| 中文精品一卡2卡3卡4更新| 成年av动漫网址| 只有这里有精品99| 国产精品熟女久久久久浪| 成人亚洲欧美一区二区av| 高清不卡的av网站| 男女床上黄色一级片免费看| 激情五月婷婷亚洲| 男人添女人高潮全过程视频| 十分钟在线观看高清视频www| 人人妻,人人澡人人爽秒播 | 精品高清国产在线一区| 夫妻午夜视频| 黄色 视频免费看| 男的添女的下面高潮视频| 亚洲自偷自拍图片 自拍| 视频区欧美日本亚洲| 久久青草综合色| 一本一本久久a久久精品综合妖精| 国产亚洲午夜精品一区二区久久| 国产精品久久久av美女十八| 菩萨蛮人人尽说江南好唐韦庄| 999久久久国产精品视频| 久久久久久久国产电影| 久久久精品94久久精品| 无遮挡黄片免费观看| 男人操女人黄网站| 不卡av一区二区三区| 老汉色∧v一级毛片| 日韩一本色道免费dvd| 在线 av 中文字幕| 一级毛片黄色毛片免费观看视频| 国产成人精品久久二区二区免费| 国产一区二区三区综合在线观看| 久久ye,这里只有精品| 精品人妻在线不人妻| 自拍欧美九色日韩亚洲蝌蚪91| 久久久国产欧美日韩av| 国产极品粉嫩免费观看在线| 欧美 日韩 精品 国产| 免费人妻精品一区二区三区视频| 久热爱精品视频在线9| 精品福利永久在线观看| 中文字幕精品免费在线观看视频| 午夜福利免费观看在线| 91精品伊人久久大香线蕉| 精品人妻熟女毛片av久久网站| 国产一区二区 视频在线| a级片在线免费高清观看视频| 日韩av免费高清视频| 美女中出高潮动态图| 色综合欧美亚洲国产小说| 亚洲欧美色中文字幕在线| 色婷婷av一区二区三区视频| 久久人人97超碰香蕉20202| 69精品国产乱码久久久| 婷婷色av中文字幕| 中文欧美无线码| 丰满饥渴人妻一区二区三| 国产成人影院久久av| 亚洲精品成人av观看孕妇| 汤姆久久久久久久影院中文字幕| 一级a爱视频在线免费观看| 亚洲av欧美aⅴ国产| a 毛片基地| 交换朋友夫妻互换小说| 超碰成人久久| 精品免费久久久久久久清纯 | 老司机影院成人| 免费女性裸体啪啪无遮挡网站| 中文字幕精品免费在线观看视频| 51午夜福利影视在线观看| 中文字幕精品免费在线观看视频| 美女脱内裤让男人舔精品视频| 天天躁日日躁夜夜躁夜夜| 天天添夜夜摸| 欧美乱码精品一区二区三区| 天天添夜夜摸| 美国免费a级毛片| 香蕉丝袜av| 又黄又粗又硬又大视频| 久久中文字幕一级| 一本综合久久免费| 国产亚洲精品久久久久5区| 欧美 亚洲 国产 日韩一| 天堂中文最新版在线下载| 美女国产高潮福利片在线看| cao死你这个sao货| 黄色视频在线播放观看不卡| 电影成人av| 亚洲精品成人av观看孕妇| 伊人亚洲综合成人网| 狂野欧美激情性bbbbbb| 天天躁夜夜躁狠狠久久av| 国产精品一区二区精品视频观看| 电影成人av| 秋霞在线观看毛片| 大香蕉久久成人网| 超碰97精品在线观看| 欧美日韩福利视频一区二区| 精品亚洲乱码少妇综合久久| 成人国语在线视频| 美女午夜性视频免费| 日韩av免费高清视频| 午夜免费男女啪啪视频观看| 丰满迷人的少妇在线观看| 国产在线视频一区二区| av在线播放精品| 波野结衣二区三区在线| 国语对白做爰xxxⅹ性视频网站| 国产免费福利视频在线观看| 下体分泌物呈黄色| 丝袜人妻中文字幕| 欧美日韩黄片免| 日韩伦理黄色片| 精品人妻一区二区三区麻豆| 大码成人一级视频| 青春草视频在线免费观看| 国产成人啪精品午夜网站| 国产精品久久久人人做人人爽| 久久热在线av| 黄色视频不卡| 9191精品国产免费久久| 精品免费久久久久久久清纯 | 男女午夜视频在线观看| 爱豆传媒免费全集在线观看| 久久狼人影院| 亚洲精品国产色婷婷电影| 欧美人与善性xxx| 免费一级毛片在线播放高清视频 | 欧美精品av麻豆av| 蜜桃在线观看..| 亚洲精品国产色婷婷电影| 中文字幕人妻丝袜一区二区| 亚洲 欧美一区二区三区| 九草在线视频观看| 咕卡用的链子| 男女下面插进去视频免费观看| 亚洲精品一卡2卡三卡4卡5卡 | videosex国产| 无限看片的www在线观看| 天天操日日干夜夜撸| 亚洲精品第二区| 婷婷色综合大香蕉| av在线app专区| 美女扒开内裤让男人捅视频| 91麻豆精品激情在线观看国产 | 亚洲黑人精品在线| www日本在线高清视频| 最近中文字幕2019免费版| 日本av手机在线免费观看| 80岁老熟妇乱子伦牲交| 成人国语在线视频| 亚洲av国产av综合av卡| 人妻人人澡人人爽人人| 亚洲av日韩精品久久久久久密 | 咕卡用的链子| 老汉色av国产亚洲站长工具| 国产亚洲欧美精品永久| 欧美成人午夜精品| 欧美日韩亚洲综合一区二区三区_| 中国国产av一级| 性高湖久久久久久久久免费观看| 大片免费播放器 马上看| 天堂中文最新版在线下载| 日韩 亚洲 欧美在线| 两性夫妻黄色片| 日本五十路高清| 国产男女内射视频| www.999成人在线观看|