本發(fā)明涉及通信
技術(shù)領(lǐng)域:
,特別涉及一種基于Openstack的Nova組件消息隊列調(diào)度方法和調(diào)度系統(tǒng)。
背景技術(shù):
:云計算現(xiàn)已成為全球IT行業(yè)發(fā)展的重要趨勢,而云基礎(chǔ)設(shè)施管理技術(shù)是基于虛擬化技術(shù)實現(xiàn)的供政府/企業(yè)/個人使用的云資源平臺,它將網(wǎng)絡(luò)、存儲、計算等一系列虛擬資源進(jìn)行組合,供政府/企業(yè)/個人用戶按需使用。當(dāng)前,云基礎(chǔ)設(shè)施管理已經(jīng)成為全球政府/企業(yè)云產(chǎn)業(yè)界公認(rèn)的發(fā)展重點;國際和國內(nèi)的云產(chǎn)業(yè)巨頭加快技術(shù)研發(fā)、企業(yè)轉(zhuǎn)型和聯(lián)盟合作以搶占云計算發(fā)展的主導(dǎo)權(quán)和新興市場空間?,F(xiàn)有云計算應(yīng)用系統(tǒng)隨著云計算應(yīng)用業(yè)務(wù)的快速增長,伴之產(chǎn)生的消息隊列阻塞等問題日益突出。圖1為現(xiàn)有技術(shù)中的Nova組件消息隊列調(diào)度系統(tǒng)的結(jié)構(gòu)示意圖,如圖1所示,包括:交換優(yōu)化器8和若干個彼此獨立的Nova組件消息隊列9,現(xiàn)有的交換優(yōu)化器8主要采用廣播式、直接式等轉(zhuǎn)發(fā)方式來轉(zhuǎn)發(fā)Nova消息,現(xiàn)有的這種轉(zhuǎn)發(fā)Nova消息容易出現(xiàn)Nova組件消息隊列9阻塞程度高的問題。在這種情況下,面對日益迫切的云計算發(fā)展需求,基于Openstack的Nova組件消息隊列優(yōu)化調(diào)度系統(tǒng)對于云計算的迅速持續(xù)發(fā)展具有重要意義。技術(shù)實現(xiàn)要素:本發(fā)明旨在至少解決現(xiàn)有技術(shù)中存在的技術(shù)問題之一,提出了一種基于Openstack的Nova組件消息隊列調(diào)度方法、系統(tǒng)和交換優(yōu)化器。為實現(xiàn)上述目的,本發(fā)明提供了一種基于Openstack的Nova組件消息隊列調(diào)度方法,包括:步驟S1、獲取各Nova組件消息隊列當(dāng)前的消息負(fù)載比率和單位時間消息處理量;步驟S2、根據(jù)各Nova組件消息隊列當(dāng)前的消息負(fù)載比率和單位時間消息處理量確定當(dāng)前最優(yōu)Nova組件消息隊列;步驟S3、將新來的Nova消息調(diào)度至所述當(dāng)前最優(yōu)Nova組件消息隊列,以供所述最優(yōu)Nova組件消息隊列進(jìn)行存儲和處理。可選地,所述步驟S2包括:步驟S201、根據(jù)各Nova組件消息隊列當(dāng)前的消息負(fù)載比率和單位時間消息處理量生成各Nova組件消息隊列的初始消息隊列復(fù)合向量其中,Vi0為第i個Nova組件消息隊列的初始消息隊列復(fù)合向量,為第i個Nova組件消息隊列的當(dāng)前的消息負(fù)載比率,為第i個Nova組件消息隊列的當(dāng)前的單位時間消息處理量;步驟S202、建立迭代模型,其中迭代評價函數(shù):迭代等式:其中,k為迭代步數(shù)且k∈[1,d],d為預(yù)先設(shè)置的最大迭代次數(shù);n為Nova組件消息隊列的總數(shù),為第k次迭代時計算出的消息隊列優(yōu)化調(diào)度評價值;Vik為對應(yīng)于第k次迭代時所計算出的第i個Nova組件消息隊列的Nova組件消息隊列復(fù)合向量,為對應(yīng)于第k次迭代時所計算出的第i個Nova組件消息隊列的消息負(fù)載比率,βik為對應(yīng)于第k次迭代時所計算出的第i個Nova組件消息隊列的單位時間消息處理量;xik表示在第k次迭代時第i個Nova組件消息隊列是否在處理新來的Nova消息,若第k次迭代時第i個Nova組件消息隊列在處理新來的Nova消息,則xik取值為1,否則,xik取值為0;θ和σ分別為消息負(fù)載比率和單位時間消息處理量調(diào)節(jié)因子,且θ∈(0,1),σ∈(0,1);當(dāng)k取值為1時,當(dāng)k取值大于1時,為Nova組件消息隊列復(fù)合向量Vik-1的變差立方值期望,ζ為調(diào)節(jié)因子,且ζ∈(0,1),為Nova組件消息隊列復(fù)合向量Vik-1的二階中心矩,步驟S203、針對上述迭代模型,輸入初始值k=0,并計算出f0(xik)的值;步驟S204、對k進(jìn)行加1處理,并根據(jù)迭代等式計算出第k次迭代時各Nova組件消息隊列復(fù)合向量Vik;步驟S205、根據(jù)計算出的各Nova組件消息隊列復(fù)合向量Vik,計算出第k次迭代時對應(yīng)的消息隊列優(yōu)化調(diào)度評價值fk(xik);步驟S206、判斷第k次迭代時對應(yīng)的消息隊列優(yōu)化調(diào)度評價值fk(xik)是否滿足如下條件:其中,ε∈(0,1);若滿足,則執(zhí)行步驟S208;否則,執(zhí)行步驟S207。步驟S207、判斷k是否小于d;若判斷出k小于d,則繼續(xù)執(zhí)行上述步驟S204;否則,執(zhí)行步驟S208。步驟S208、輸出當(dāng)前的k的值,并確定第k次迭代時所選擇的Nova組件消息隊列為所述最優(yōu)Nova組件消息隊列。可選地,還包括:步驟S4、檢測各所述Nova組件消息隊列的存儲空間是否已滿;若存在存儲空間已滿的Nova組件消息隊列,則執(zhí)行步驟S5;步驟S5、控制存儲空間已滿的Nova組件消息隊列將部分待處理的Nova消息發(fā)送至預(yù)先設(shè)置的共享消息隊列中,以供共享消息隊列對所述待處理的Nova消息進(jìn)行處理。可選地,還包括:步驟S6、檢測所述共享消息隊列的存儲空間是否已滿;若檢測出所述共享消息隊列的存儲空間已滿,則執(zhí)行步驟S7;步驟S7、控制所述共享消息隊列將部分待處理的Nova消息發(fā)送至交換優(yōu)化器,以供所述交換優(yōu)化器將接收到待處理的Nova消息重新進(jìn)行調(diào)度。為實現(xiàn)上述目的,本發(fā)明還提供了一種交換優(yōu)化器,包括:第一獲取模塊,用于獲取各Nova組件消息隊列當(dāng)前的消息負(fù)載比率和單位時間消息處理量;確定模塊,用于根據(jù)各Nova組件消息隊列當(dāng)前的消息負(fù)載比率和單位時間消息處理量確定當(dāng)前最優(yōu)Nova組件消息隊列;調(diào)度模塊,用于將新來的Nova消息調(diào)度至所述當(dāng)前最優(yōu)Nova組件消息隊列,以供所述最優(yōu)Nova組件消息隊列進(jìn)行存儲和處理??蛇x地,所述確定模塊包括:第一生成單元,用于根據(jù)各Nova組件消息隊列當(dāng)前的消息負(fù)載比率和單位時間消息處理量生成各Nova組件消息隊列的初始消息隊列復(fù)合向量其中,Vi0為第i個Nova組件消息隊列的初始消息隊列復(fù)合向量,為第i個Nova組件消息隊列的當(dāng)前的消息負(fù)載比率,為第i個Nova組件消息隊列的當(dāng)前的單位時間消息處理量;建模單元,用于建立迭代模型,其中迭代評價函數(shù):迭代等式:其中,k為迭代步數(shù)且k∈[1,d],d為預(yù)先設(shè)置的最大迭代次數(shù);n為Nova組件消息隊列的總數(shù),fk(xik)為第k次迭代時計算出的消息隊列優(yōu)化調(diào)度評價值;Vik為對應(yīng)于第k次迭代時所計算出的第i個Nova組件消息隊列的Nova組件消息隊列復(fù)合向量,為對應(yīng)于第k次迭代時所計算出的第i個Nova組件消息隊列的消息負(fù)載比率,βik為對應(yīng)于第k次迭代時所計算出的第i個Nova組件消息隊列的單位時間消息處理量;xik表示在第k次迭代時第i個Nova組件消息隊列是否在處理新來的Nova消息,若第k次迭代時第i個Nova組件消息隊列在處理新來的Nova消息,則xik取值為1,否則,xik取值為0;θ和σ分別為消息負(fù)載比率和單位時間消息處理量調(diào)節(jié)因子,且θ∈(0,1),σ∈(0,1);當(dāng)k取值為1時,當(dāng)k取值大于1時,為Nova組件消息隊列復(fù)合向量Vik-1的變差立方值期望,ζ為調(diào)節(jié)因子,且ζ∈(0,1),為Nova組件消息隊列復(fù)合向量Vik-1的二階中心矩,初始值輸入單元,用于針對上述迭代模型,輸入初始值k=0,并計算出f0(xik)的值;向量計算單元,用于對k進(jìn)行加1處理,并根據(jù)迭代等式計算出第k次迭代時各Nova組件消息隊列復(fù)合向量Vik;評價值計算單元,用于根據(jù)計算出的各Nova組件消息隊列復(fù)合向量Vik,計算出第k次迭代時對應(yīng)的消息隊列優(yōu)化調(diào)度評價值fk(xik);第一判斷單元,用于判斷第k次迭代時對應(yīng)的消息隊列優(yōu)化調(diào)度評價值fk(xik)是否滿足如下條件:其中,ε∈(0,1);第二判斷單元,用于若第一判斷單元判斷出第k次迭代時對應(yīng)的消息隊列優(yōu)化調(diào)度評價值fk(xik)不滿足相應(yīng)條件時,判斷k是否小于d;輸出單元,用于當(dāng)?shù)谝慌袛鄦卧袛嗯袛喑龅趉次迭代時對應(yīng)的消息隊列優(yōu)化調(diào)度評價值fk(xik)滿足相應(yīng)條件時,或者所述第二判斷單元判斷出k等于d時,輸出當(dāng)前的k的值,并確定第k次迭代時所選擇的Nova組件消息隊列為所述最優(yōu)Nova組件消息隊列??蛇x地,還包括:第一檢測模塊,用于檢測各所述Nova組件消息隊列的存儲空間是否已滿;第一控制模塊,用于若所述第一檢測模塊檢測出存在存儲空間已滿的Nova組件消息隊列時,控制存儲空間已滿的Nova組件消息隊列將部分待處理的Nova消息發(fā)送至預(yù)先設(shè)置的共享消息隊列中,以供共享消息隊列對所述待處理的Nova消息進(jìn)行處理??蛇x地,還包括:第二檢測模塊,用于檢測所述共享消息隊列的存儲空間是否已滿;第二控制模塊,用于若檢測出所述共享消息隊列的存儲空間已滿時,則控制所述共享消息隊列將部分待處理的Nova消息發(fā)送至交換優(yōu)化器,以供所述交換優(yōu)化器將接收到待處理的Nova消息重新進(jìn)行調(diào)度。為實現(xiàn)上述目的,本發(fā)明還提供了一種基于Openstack的Nova組件消息隊列調(diào)度系統(tǒng),包括上述的交換優(yōu)化器。可選地,還包括:若干個Nova組件消息隊列和至少一個共享消息隊列。本發(fā)明具有以下有益效果:本發(fā)明提供了一種基于Openstack的Nova組件消息隊列調(diào)度方法、系統(tǒng)和交換優(yōu)化器,通過獲取各Nova組件消息隊列當(dāng)前的消息負(fù)載比率和單位時間消息處理量,并根據(jù)各Nova組件消息隊列當(dāng)前的消息負(fù)載比率和單位時間消息處理量確定當(dāng)前最優(yōu)Nova組件消息隊列;最后將新來的Nova消息調(diào)度至當(dāng)前最優(yōu)Nova組件消息隊列,以供最優(yōu)Nova組件消息隊列進(jìn)行存儲和處理,可有效避免出現(xiàn)網(wǎng)絡(luò)擁塞。此外,共享消息隊列的設(shè)置,可有效避免數(shù)據(jù)丟失。附圖說明圖1為現(xiàn)有技術(shù)中的Nova組件消息隊列調(diào)度系統(tǒng)的結(jié)構(gòu)示意圖;圖2為本發(fā)明實施例一提供的一種基于Openstack的Nova組件消息隊列調(diào)度方法的流程圖;圖3為本發(fā)明中迭代運算的流程圖;圖4為本發(fā)明實施例二提供的一種基于Openstack的Nova組件消息隊列調(diào)度方法的流程圖;圖5為本發(fā)明實施例三提供的一種交換優(yōu)化器的結(jié)構(gòu)示意圖;圖6為本發(fā)明實施例四提供的一種基于Openstack的Nova組件消息隊列調(diào)度系統(tǒng)的結(jié)構(gòu)示意圖。具體實施方式為使本領(lǐng)域的技術(shù)人員更好地理解本發(fā)明的技術(shù)方案,下面結(jié)合附圖對本發(fā)明提供的一種基于Openstack的Nova組件消息隊列調(diào)度方法、系統(tǒng)和交換優(yōu)化器進(jìn)行詳細(xì)描述。圖2為本發(fā)明實施例一提供的一種基于Openstack的Nova組件消息隊列調(diào)度方法的流程圖,如圖2所示,該調(diào)度方法包括:步驟S1、獲取各Nova組件消息隊列當(dāng)前的消息負(fù)載比率和單位時間消息處理量。其中,第i個Nova組件消息隊列的當(dāng)前的消息負(fù)載比率記為第i個Nova組件消息隊列的當(dāng)前的單位時間消息處理量記為步驟S2、根據(jù)各Nova組件消息隊列當(dāng)前的消息負(fù)載比率和單位時間消息處理量確定當(dāng)前最優(yōu)Nova組件消息隊列。圖3為本發(fā)明中迭代運算的流程圖,如圖3所示,可選地,步驟S2包括:步驟S201、根據(jù)各Nova組件消息隊列當(dāng)前的消息負(fù)載比率和單位時間消息處理量生成各Nova組件消息隊列的初始消息隊列復(fù)合向量其中,Vi0為第i個Nova組件消息隊列的初始消息隊列復(fù)合向量。步驟S202、建立迭代模型,其中迭代評價函數(shù):迭代等式:其中,k為迭代步數(shù)且k∈[1,d],d為預(yù)先設(shè)置的最大迭代次數(shù);n為Nova組件消息隊列的總數(shù);fk(xik)為第k次迭代時計算出的消息隊列優(yōu)化調(diào)度評價值;Vik為對應(yīng)于第k次迭代時所計算出的第i個Nova組件消息隊列的Nova組件消息隊列復(fù)合向量,為對應(yīng)于第k次迭代時所計算出的第i個Nova組件消息隊列的消息負(fù)載比率;βik為對應(yīng)于第k次迭代時所計算出的第i個Nova組件消息隊列的單位時間消息處理量;xik表示在第k次迭代時第i個Nova組件消息隊列是否在處理新來的Nova消息,若第k次迭代時第i個Nova組件消息隊列在處理新來的Nova消息,則xik取值為1,否則,xik取值為0;θ和σ分別為消息負(fù)載比率和單位時間消息處理量調(diào)節(jié)因子,且θ∈(0,1),σ∈(0,1);當(dāng)k取值為1時,當(dāng)k取值大于1時,為Nova組件消息隊列復(fù)合向量Vik-1的變差立方值期望,ζ為調(diào)節(jié)因子,且ζ∈(0,1),為Nova組件消息隊列復(fù)合向量Vik-1的二階中心矩,步驟S203、針對上述迭代模型,輸入初始值k=0,并計算出f0(xik)的值。步驟S203具體過程如下:對于n個Nova組件消息隊列,該Nova信息的轉(zhuǎn)發(fā)策略有n種,x10、x20......xn0的賦值情況如下表1所示;表1.轉(zhuǎn)發(fā)策略表x10x20......xn0策略110......0策略201......0..............................策略n00......1由上述表1可見,針對每一個策略,x10、x20......xn0中均只有一個取值為1(對應(yīng)的Nova組件消息隊列處理Nova消息),且不同策略中取值為1的xik是不同的。f0(xi0)即表示在第0次迭代時,針對n種策略分別計算其評價值,并選取評價值最小的一種策略作為第0次迭代時的優(yōu)選策略,同時,基于該優(yōu)選策略所計算出的評價值作為第0次迭代時計算出的消息隊列優(yōu)化調(diào)度評價值。步驟S204、對k進(jìn)行加1處理,并根據(jù)迭代等式計算出第k次迭代時各Nova組件消息隊列復(fù)合向量Vik。步驟S205、根據(jù)計算出的各Nova組件消息隊列復(fù)合向量Vik,計算出第k次迭代時對應(yīng)的消息隊列優(yōu)化調(diào)度評價值fk(xik)。需要說明的是,與k取值為0時類似,在計算第k次迭代時對應(yīng)的消息隊列優(yōu)化調(diào)度評價值時,同樣存在n種策略(如表1所示)。在步驟S205中,在第k次迭代時,針對n種策略分別計算其評價值,并選取評價值最小的一種策略作為第k次迭代時的優(yōu)選策略,同時,基于該優(yōu)選策略所計算出的評價值作為第k次迭代時計算出的消息隊列優(yōu)化調(diào)度評價值fk(xik)。由上述內(nèi)容可見,每進(jìn)行一次迭代計算,均可以確定出該次迭代計算所選擇出的優(yōu)選策略(選擇的Nova組件消息隊列)。步驟S206、判斷第k次迭代時對應(yīng)的消息隊列優(yōu)化調(diào)度評價值fk(xik)是否滿足如下條件:其中,ε為預(yù)設(shè)值,且ε∈(0,1);若滿足,則執(zhí)行步驟S208;否則,執(zhí)行步驟S207。步驟S207、判斷k是否小于d;若判斷出k小于d,則繼續(xù)執(zhí)行上述步驟S204;否則,執(zhí)行步驟S208。步驟S208、輸出當(dāng)前的k的值,并確定第k次迭代時所選擇的Nova組件消息隊列為最優(yōu)Nova組件消息隊列。步驟S3、將新來的Nova消息調(diào)度至當(dāng)前最優(yōu)Nova組件消息隊列,以供最優(yōu)Nova組件消息隊列進(jìn)行存儲和處理。本發(fā)明實施例一提供了一種基于Openstack的Nova組件消息隊列調(diào)度方法,通過獲取各Nova組件消息隊列當(dāng)前的消息負(fù)載比率和單位時間消息處理量,并根據(jù)各Nova組件消息隊列當(dāng)前的消息負(fù)載比率和單位時間消息處理量確定當(dāng)前最優(yōu)Nova組件消息隊列,最后將新來的Nova消息調(diào)度至當(dāng)前最優(yōu)Nova組件消息隊列,以供最優(yōu)Nova組件消息隊列進(jìn)行存儲和處理。本發(fā)明的技術(shù)方案可根據(jù)各Nova組件消息隊列的實時情況,選擇出當(dāng)前最優(yōu)Nova組件消息隊列,從而可有效避免出現(xiàn)網(wǎng)絡(luò)擁塞。實施例二圖4為本發(fā)明實施例二提供的一種基于Openstack的Nova組件消息隊列調(diào)度方法的流程圖,如圖4所示,該調(diào)度方法除了包括上述實施例一中的步驟S1~步驟S3外,還包括步驟S4~步驟S7,下面僅對步驟S4~步驟S7進(jìn)行詳細(xì)描述。步驟S4、檢測各Nova組件消息隊列的存儲空間是否已滿。在現(xiàn)有技術(shù)中發(fā)現(xiàn),當(dāng)某個Nova組件消息隊列的存儲空間已滿后,若繼續(xù)向該Nova組件消息隊列轉(zhuǎn)發(fā)Nova消息,則該Nova組件消息隊列會出現(xiàn)丟包(位于隊列中的部分Nova消息或新轉(zhuǎn)發(fā)的Nova消息被丟棄)的現(xiàn)象。為解決上述技術(shù)問題,本發(fā)明在Nova組件消息隊列調(diào)度系統(tǒng)中還設(shè)置有至少一個共享消息隊列。在步驟S4中,若檢測出存在存儲空間已滿的Nova組件消息隊列,則執(zhí)行步驟S5;若檢測出不存在存儲空間已滿的Nova組件消息隊列,則表明不會出現(xiàn)丟包。步驟S5、控制存儲空間已滿的Nova組件消息隊列將部分待處理的Nova消息發(fā)送至預(yù)先設(shè)置的共享消息隊列中,以供共享消息隊列對待處理的Nova消息進(jìn)行處理。本實施例中,通過將存儲空間已滿的Nova組件消息隊列中的部分Nova消息發(fā)送至預(yù)先設(shè)置的共享消息隊列中進(jìn)行處理,可有效避免出現(xiàn)丟包的現(xiàn)象。步驟S6、檢測共享消息隊列的存儲空間是否已滿。若檢測出共享消息隊列的存儲空間已滿,此時該共享消息隊列容易出現(xiàn)丟包的風(fēng)險,則執(zhí)行步驟S7;否則,表明該共享消息隊列不會丟包。步驟S7、控制共享消息隊列將部分待處理的Nova消息發(fā)送至交換優(yōu)化器,以供交換優(yōu)化器將接收到待處理的Nova消息重新進(jìn)行調(diào)度。需要說明的是,在步驟S7結(jié)束后,可繼續(xù)重復(fù)執(zhí)行上述步驟S1,以供交換優(yōu)化器對共享消息隊列所發(fā)送的Nova消息重新進(jìn)行調(diào)度,以分配至當(dāng)前的最優(yōu)Nova組件消息隊列中。本發(fā)明實施例二的技術(shù)方案不但能有效避免出現(xiàn)網(wǎng)絡(luò)擁塞,還可有效避免系統(tǒng)出現(xiàn)丟包的風(fēng)險。實施例三圖5為本發(fā)明實施例三提供的一種交換優(yōu)化器的結(jié)構(gòu)示意圖,如圖5所示,該交換優(yōu)化器用于執(zhí)行上述實施例一或?qū)嵤├峁┑幕贠penstack的Nova組件消息隊列調(diào)度方法,該交換優(yōu)化器包括:第一獲取模塊1,用于獲取各Nova組件消息隊列9當(dāng)前的消息負(fù)載比率和單位時間消息處理量。確定模塊2,用于根據(jù)各Nova組件消息隊列9當(dāng)前的消息負(fù)載比率和單位時間消息處理量確定當(dāng)前最優(yōu)Nova組件消息隊列9。調(diào)度模塊3,用于將新來的Nova消息調(diào)度至當(dāng)前最優(yōu)Nova組件消息隊列9,以供最優(yōu)Nova組件消息隊列9進(jìn)行存儲和處理。需要說明的是,本實施例中的第一獲取模塊1用于執(zhí)行上述實施例一和實施例二中的步驟S1,確定模塊2用于執(zhí)行上述實施例一和實施例二中的步驟S2,調(diào)度模塊3用于執(zhí)行上述實施例一和實施例二中的步驟S3,對于上述三個模塊的具體描述可參見上述實施例一中的描述,此處不再贅述??蛇x地,確定模塊包括:第一生成單元201,用于根據(jù)各Nova組件消息隊列9當(dāng)前的消息負(fù)載比率和單位時間消息處理量生成各Nova組件消息隊列9的初始消息隊列復(fù)合向量其中,Vi0為第i個Nova組件消息隊列的初始消息隊列復(fù)合向量,為第i個Nova組件消息隊列的當(dāng)前的消息負(fù)載比率,為第i個Nova組件消息隊列的當(dāng)前的單位時間消息處理量;建模單元202,用于建立迭代模型,其中迭代評價函數(shù):迭代等式:其中,k為迭代步數(shù)且k∈[1,d],d為預(yù)先設(shè)置的最大迭代次數(shù);n為Nova組件消息隊列的總數(shù),fk(xik)為第k次迭代時計算出的消息隊列優(yōu)化調(diào)度評價值;Vik為對應(yīng)于第k次迭代時所計算出的第i個Nova組件消息隊列的Nova組件消息隊列復(fù)合向量,為對應(yīng)于第k次迭代時所計算出的第i個Nova組件消息隊列的消息負(fù)載比率,βik為對應(yīng)于第k次迭代時所計算出的第i個Nova組件消息隊列的單位時間消息處理量;xik表示在第k次迭代時第i個Nova組件消息隊列是否在處理新來的Nova消息,若第k次迭代時第i個Nova組件消息隊列在處理新來的Nova消息,則xik取值為1,否則,xik取值為0;θ和σ分別為消息負(fù)載比率和單位時間消息處理量調(diào)節(jié)因子,且θ∈(0,1),σ∈(0,1);當(dāng)k取值為1時,Bik=E[Vik-1-E(Vik-1)]2;當(dāng)k取值大于1時,為Nova組件消息隊列復(fù)合向量Vik-1的變差立方值期望,ζ為調(diào)節(jié)因子,且ζ∈(0,1),為Nova組件消息隊列復(fù)合向量Vik-1的二階中心矩,初始值輸入單元203,用于針對上述迭代模型,輸入初始值k=0,并計算出f0(xik)的值;向量計算單元204,用于對k進(jìn)行加1處理,并根據(jù)迭代等式計算出第k次迭代時各Nova組件消息隊列復(fù)合向量Vik;評價值計算單元205,用于根據(jù)計算出的各Nova組件消息隊列復(fù)合向量Vik,計算出第k次迭代時對應(yīng)的消息隊列優(yōu)化調(diào)度評價值fk(xik);第一判斷單元206,用于判斷第k次迭代時對應(yīng)的消息隊列優(yōu)化調(diào)度評價值fk(xik)是否滿足如下條件:其中,ε∈(0,1);第二判斷單元207,用于若第一判斷單元判斷出第k次迭代時對應(yīng)的消息隊列優(yōu)化調(diào)度評價值fk(xik)不滿足相應(yīng)條件時,判斷k是否小于d;輸出單元208,用于當(dāng)?shù)谝慌袛鄦卧袛嗯袛喑龅趉次迭代時對應(yīng)的消息隊列優(yōu)化調(diào)度評價值fk(xik)滿足相應(yīng)條件時,或者所述第二判斷單元判斷出k等于d時,輸出當(dāng)前的k的值,并確定第k次迭代時所選擇的Nova組件消息隊列為所述最優(yōu)Nova組件消息隊列。需要說明的是,本實施例中的第一生成單元201用于執(zhí)行上述實施例一中的步驟S201,建模單元202用于執(zhí)行上述實施例一中的步驟S202,初始值輸入單元203用于執(zhí)行上述實施例一中的步驟S203,向量計算單元204用于執(zhí)行上述實施例一中的步驟S204,評價值計算單元205用于執(zhí)行上述實施例一中的步驟S205,第一判斷單元206用于執(zhí)行上述實施例一中的步驟S206,第二判斷單元207用于執(zhí)行上述實施例一中的步驟S207,輸出單元208用于執(zhí)行上述實施例一中的步驟S208。對于上述各單元的具體描述可參見上述實施例一中的描述,此處不再贅述。為解決現(xiàn)有技術(shù)中系統(tǒng)出現(xiàn)丟包的問題,可選地,該交換優(yōu)化器還包括:第一檢測模塊4,用于檢測各Nova組件消息隊列9的存儲空間是否已滿;第一控制模塊5,用于若第一檢測模塊4檢測出存在存儲空間已滿的Nova組件消息隊列9時,控制存儲空間已滿的Nova組件消息隊列9將部分待處理的Nova消息發(fā)送至預(yù)先設(shè)置的共享消息隊列10(附圖僅示例性畫出了一個共享消息隊列10)中,以供共享消息隊列10對待處理的Nova消息進(jìn)行處理??蛇x地,還包括:第二檢測模塊6,用于檢測共享消息隊列10的存儲空間是否已滿;第二控制模塊7,用于若檢測出共享消息隊列10的存儲空間已滿時,則控制共享消息隊列10將部分待處理的Nova消息發(fā)送至交換優(yōu)化器,以供交換優(yōu)化器將接收到待處理的Nova消息重新進(jìn)行調(diào)度。需要說明的是,本實施例中的第一檢測模塊4用于執(zhí)行上述實施例二中的步驟S4,第一控制模塊5用于執(zhí)行上述實施例二中的步驟S5,第二檢測模塊6用于執(zhí)行上述實施例二中的步驟S6,第二控制模塊7用于執(zhí)行上述實施例二中的步驟S7。對于上述各模塊的具體描述可參見上述實施例二中的描述,此處不再贅述。實施例四圖6為本發(fā)明實施例四提供的一種基于Openstack的Nova組件消息隊列調(diào)度系統(tǒng)的結(jié)構(gòu)示意圖,如圖6所示,該調(diào)度系統(tǒng)包括交換優(yōu)化器8,該交換優(yōu)化器采用上述實施例三中的交換優(yōu)化器8,具體內(nèi)容可參見上述實施例三中的描述,此處不再贅述??蛇x地,還包括:若干個Nova組件消息隊列9和至少一個共享消息隊列10。本實施例中,通過設(shè)置共享消息隊列可有效避免系統(tǒng)出現(xiàn)丟包的現(xiàn)象??梢岳斫獾氖?,以上實施方式僅僅是為了說明本發(fā)明的原理而采用的示例性實施方式,然而本發(fā)明并不局限于此。對于本領(lǐng)域內(nèi)的普通技術(shù)人員而言,在不脫離本發(fā)明的精神和實質(zhì)的情況下,可以做出各種變型和改進(jìn),這些變型和改進(jìn)也視為本發(fā)明的保護(hù)范圍。當(dāng)前第1頁1 2 3