本發(fā)明涉及一種用于數(shù)據(jù)流處理系統(tǒng)的多目標(biāo)優(yōu)化方法,尤其涉及一種最優(yōu)點(diǎn)個數(shù)約束的數(shù)據(jù)流處理系統(tǒng)多目標(biāo)優(yōu)化方法,屬于計(jì)算機(jī)應(yīng)用技術(shù)以及實(shí)時大數(shù)據(jù)分析領(lǐng)域。
背景技術(shù):
近年來涌現(xiàn)出大量實(shí)時性大數(shù)據(jù)分析應(yīng)用,比如社交網(wǎng)絡(luò)動態(tài)分析、智能交通數(shù)據(jù)分析、大規(guī)模數(shù)據(jù)中心監(jiān)控、基因數(shù)據(jù)分析等。這類應(yīng)用不但數(shù)據(jù)量大而且數(shù)據(jù)持續(xù)快速產(chǎn)生或更新,要求數(shù)據(jù)分析系統(tǒng)持續(xù)并實(shí)時的返回或更新分析結(jié)果,我們稱之為實(shí)時大數(shù)據(jù)(big&fastdata)分析。此類應(yīng)用對實(shí)時大數(shù)據(jù)分析系統(tǒng)具有迫切需求,需要系統(tǒng)對響應(yīng)延遲、吞吐率方面給出量化保證。實(shí)時大數(shù)據(jù)分析系統(tǒng)的多目標(biāo)優(yōu)化對于提供有服務(wù)質(zhì)量保障的實(shí)時大數(shù)據(jù)分析云服務(wù)、為國家關(guān)鍵行業(yè)及重要監(jiān)控應(yīng)用提供實(shí)時大數(shù)據(jù)分析平臺及優(yōu)化框架具有重要意義。
目前,實(shí)時大數(shù)據(jù)分析應(yīng)用中用戶對響應(yīng)延遲以及吞吐率的要求,依賴于歷史經(jīng)驗(yàn),由it人員為數(shù)據(jù)流處理系統(tǒng)中的分析作業(yè)手工配置合適的執(zhí)行計(jì)劃,缺乏對實(shí)時大數(shù)據(jù)分析響應(yīng)延遲和吞吐率的量化保證;即使經(jīng)驗(yàn)豐富的it人員也不能保證配置了較優(yōu)的執(zhí)行計(jì)劃,從而導(dǎo)致分析作業(yè)運(yùn)行效率低下,無法滿足上層應(yīng)用對實(shí)時性的要求。
已有的基于權(quán)重加和的多目標(biāo)優(yōu)化方法雖然解決了在一定條件約束下凸目標(biāo)函數(shù)的響應(yīng)延遲和吞吐率的帕累托最優(yōu)問題,但不能解決凹目標(biāo)函數(shù)情況的帕累托最優(yōu)問題;另外基于權(quán)重加和的多目標(biāo)優(yōu)化方法返回給用戶的解密度不等、難以解釋且不具有代表性,用戶實(shí)際上需要在帕累托曲線上有代表性的一組解。因此,基于權(quán)重加和的多目標(biāo)優(yōu)化方法不能滿足it人員交互場景下的多目標(biāo)優(yōu)化。實(shí)際應(yīng)用中迫切需要一種在給定了帕累托最優(yōu)點(diǎn)個數(shù)約束的情況下,選取給定數(shù)量的一組具有典型代表意義的帕累托最優(yōu)解。
本方法針對實(shí)時大數(shù)據(jù)中兩個重要的指標(biāo)——響應(yīng)延遲和吞吐率,而設(shè)計(jì)的多目標(biāo)優(yōu)化方法。基于給定的響應(yīng)延遲和吞吐率模型,構(gòu)建多目標(biāo)優(yōu)化方法,從而保證選取最優(yōu)的執(zhí)行計(jì)劃。
技術(shù)實(shí)現(xiàn)要素:
針對已有的基于權(quán)重加和的多目標(biāo)優(yōu)化方法中沒有考慮用戶在部署使用時在響應(yīng)延遲和吞吐率上存在取舍的情況,而造成帕里托最優(yōu)解隨機(jī)的缺陷,提出了一種最優(yōu)點(diǎn)個數(shù)約束的數(shù)據(jù)流處理系統(tǒng)多目標(biāo)優(yōu)化方法。
本發(fā)明要解決的技術(shù)問題是:針對數(shù)據(jù)流處理系統(tǒng)多目標(biāo)優(yōu)化問題,能夠避免帕累托最優(yōu)解隨機(jī)的缺陷,高效地得到一組用戶給定數(shù)量且具有典型代表意義的帕累托最優(yōu)解,為用戶在響應(yīng)延遲和吞吐率上提供選擇空間。
本發(fā)明的目的是通過下述技術(shù)方案實(shí)現(xiàn)的:
一種最優(yōu)點(diǎn)個數(shù)約束的數(shù)據(jù)流處理系統(tǒng)多目標(biāo)優(yōu)化方法,根據(jù)用戶所指定的響應(yīng)延遲的上下界以及吞吐率的上下界,給出不確定區(qū)域面積;基于縮小不確定區(qū)域面積這一目標(biāo),將不確定區(qū)域一分為二,繼續(xù)探測面積最大的不確定區(qū)域,直到迭代上限,進(jìn)而高效地得到一組具有典型代表意義的帕累托最優(yōu)解,且最大化的降低了整體的不確定區(qū)域面積,為用戶在響應(yīng)延遲和吞吐率上提供選擇空間。
一種最優(yōu)點(diǎn)個數(shù)約束的數(shù)據(jù)流處理系統(tǒng)多目標(biāo)優(yōu)化方法,包括如下步驟:
步驟1:輸入當(dāng)前響應(yīng)延遲的上界、當(dāng)前響應(yīng)延遲的下界以及帕累托最優(yōu)點(diǎn)個數(shù)上限,初始化當(dāng)前迭代步數(shù)、不確定區(qū)域集合以及初始化最終探測結(jié)果組;
其中,當(dāng)前響應(yīng)延遲的上界,記為lupper;當(dāng)前響應(yīng)延遲的下界,記為llower;帕累托最優(yōu)點(diǎn)個數(shù)上限,記為stepmax;當(dāng)前迭代步數(shù),記為stepnow,初始化為0,表達(dá)式為公式(1);不確定區(qū)域集合,記為setarea,初始化為空集合,表達(dá)式為公式(2);最終探測結(jié)果組,記為plan,初始化為空集合,表達(dá)式為公式(3):
stepnow=0;(1)
步驟2:分別根據(jù)步驟1的當(dāng)前響應(yīng)延遲的上界和當(dāng)前延遲的下界計(jì)算當(dāng)前吞吐率的上界和下界,具體為:
步驟2.1:根據(jù)當(dāng)前響應(yīng)延遲的上界計(jì)算當(dāng)前吞吐率的上界,具體通過如下公式(4)計(jì)算:
其中,當(dāng)前吞吐率的上界,即tupper,s.t.代表約束;c代表具體系統(tǒng)配置;λ代表實(shí)時的輸入數(shù)據(jù)率;γ(c,λ)代表具體系統(tǒng)的參數(shù)配置c和實(shí)時的輸入數(shù)據(jù)率λ條件下的吞吐率;ψ(c,λ)代表具體系統(tǒng)的參數(shù)配置c和實(shí)時的輸入數(shù)據(jù)率λ條件下的響應(yīng)延遲;公式(4)反映的是給定輸入數(shù)據(jù)率λ,在滿足響應(yīng)延遲ψ(c,λ)小于當(dāng)前響應(yīng)延遲的上界lupper的一組具體系統(tǒng)的參數(shù)配置c中,尋求能使吞吐率γ(c,λ)最大化的具體系統(tǒng)配置c,即公式(4)中的
步驟2.2:根據(jù)當(dāng)前響應(yīng)延遲的下界計(jì)算當(dāng)前吞吐率的下界,具體通過如下公式(5)計(jì)算如下:
其中,當(dāng)前吞吐率的下界,記為tlower,公式(5)反映的是給定輸入數(shù)據(jù)率λ,在滿足響應(yīng)延遲ψ(c,λ)小于當(dāng)前響應(yīng)延遲的下界llower的一組具體系統(tǒng)的參數(shù)配置c中,尋求能使吞吐率γ(c,λ)最大化的具體系統(tǒng)配置c,即公式(5)中的
步驟3:分別根據(jù)當(dāng)前響應(yīng)延遲的上界和當(dāng)前響應(yīng)延遲的下界計(jì)算當(dāng)前的探測響應(yīng)延遲、最大探測吞吐率以及最大探測吞吐率的具體系統(tǒng)配置,具體為:
步驟3.1:根據(jù)lupper和llower,計(jì)算當(dāng)前探測響應(yīng)延遲,記為lmiddle,具體通過如下公式(6)計(jì)算:
lmiddle=(llower+lupper)/2;(6)
步驟3.2:根據(jù)步驟3.1計(jì)算出的當(dāng)前探測響應(yīng)延遲計(jì)算當(dāng)前探測響應(yīng)延遲的最大探測吞吐率和最大探測吞吐率的具體系統(tǒng)配置,分別記為tmiddle、cmiddle,具體通過如下公式(7)計(jì)算:
其中,公式(7)反映的是給定輸入數(shù)據(jù)率λ,在滿足響應(yīng)延遲ψ(c,λ)小于等于當(dāng)前探測延遲lmiddle的一組具體系統(tǒng)的參數(shù)配置c中,尋求能使吞吐率γ(c,λ)最大化的具體系統(tǒng)配置c,即公式(7)中的
步驟4:計(jì)算當(dāng)前探測結(jié)果組,并與最終探測結(jié)果組合并;
其中,最終探測結(jié)果組,記為plan;步驟4,具體為:
步驟4.1:根據(jù)當(dāng)前的探測響應(yīng)延遲lmiddle、最大探測吞吐量tmiddle以及最大探測吞吐率的具體系統(tǒng)配置cmiddle,計(jì)算當(dāng)前探測結(jié)果組,記為planmiddle,具體通過如下公式(8)計(jì)算:
planmiddle={(lmiddle,tmiddle,cmiddle)};(8)
步驟4.2:將當(dāng)前探測結(jié)果組planmiddle與最終探測結(jié)果組plan合并,具體通過如下公式(9)計(jì)算:
plan=plan∪planmiddle;(9)
步驟5:根據(jù)當(dāng)前的響應(yīng)延遲的上界和當(dāng)前的響應(yīng)延遲的下界、吞吐率的上界和吞吐率的下界、探測響應(yīng)延遲以及最大探測吞吐率tmiddle,分別計(jì)算當(dāng)前左半部分和右半部分的不確定區(qū)域面積;
其中,當(dāng)前的響應(yīng)延遲的上界,即lupper;和當(dāng)前的響應(yīng)延遲的下界,記為llower;吞吐率的上界,即tupper;吞吐率的下界,即tlower;探測響應(yīng)延遲,即lmiddle以及最大探測吞吐率,即tmiddle;步驟5,具體為:
步驟5.1:根據(jù)當(dāng)前的響應(yīng)延遲的下界llower和探測響應(yīng)延遲lmiddle以及當(dāng)前的吞吐率的下界tlower和最大探測吞吐率tmiddle,計(jì)算當(dāng)前左半部分的不確定區(qū)域面積,記為ualeft,具體通過如下公式(10)計(jì)算:
ualeft=(lmiddle-llower)×(tmiddle-tlower);(10)
步驟5.2:根據(jù)當(dāng)前的響應(yīng)延遲的上界lupper和探測響應(yīng)延遲lmiddle以及當(dāng)前的吞吐率的上界tupper和最大探測吞吐率tmiddle,計(jì)算當(dāng)前右半部分的不確定區(qū)域面積,記為uaright,具體通過如下公式(11)計(jì)算:
uaright=(lupper-lmiddle)×(tupper-tmiddle);(11)
步驟6:根據(jù)步驟5輸出的當(dāng)前左半部分和右半部分的不確定區(qū)域面積計(jì)算所對應(yīng)的不確定區(qū)域,并將不確定區(qū)域存儲在不確定區(qū)域集合中;
其中,不確定區(qū)域集合,即setarea;步驟6,具體為:
步驟6.1:通過如下公式(12)和(13)計(jì)算當(dāng)前左半部分和右半部分的不確定區(qū)域面積所對應(yīng)的不確定區(qū)域,分別記為arealeft和arearight:
arealeft={(llower,lmiddle,tlower,tmiddle,ualeft)};(12)
arearight={(lmiddle,lupper,tlower,tmiddle,uaright)};(13)
其中,在arealeft與arearight的一般結(jié)構(gòu)體area中,第一個參數(shù)為不確定區(qū)域的響應(yīng)延遲下界,記為area.llower,第二個參數(shù)為不確定區(qū)域的響應(yīng)延遲上界,記為area.lupper,第三個參數(shù)為不確定區(qū)域的吞吐率下界,記為area.tlower,第四個參數(shù)為不確定區(qū)域的吞吐率下界,記為area.tupper,第五個參數(shù)為不確定區(qū)域的面積,記為area.ua;
步驟6.2:將左半部分不確定區(qū)域arealeft和arearight存儲在不確定區(qū)域集合setarea中,具體通過如下公式(14)計(jì)算:
setarea=setarea∪arealeft∪arearight;(14)
步驟7:在步驟6輸出的不確定區(qū)域集合中,尋找不確定區(qū)域面積最大的不確定區(qū)域,并將此不確定區(qū)域面積最大的不確定區(qū)域從不確定區(qū)域集合中移除,具體為:
步驟7.1:在不確定區(qū)域集合setarea中,尋找不確定區(qū)域面積最大的不確定區(qū)域,記為areamax,具體通過如下公式(15)計(jì)算:
其中,area代表不確定區(qū)域并屬于不確定區(qū)域集合setarea;上式反映的是,在不確定區(qū)域集合setarea中,尋找不確定區(qū)域面積areaua最大的不確定區(qū)域areamax;
步驟7.2:將不確定區(qū)域面積最大的不確定區(qū)域areamax從不確定區(qū)域集合setarea中移除,具體通過如下公式(16)計(jì)算:
setarea=setarea-areamax;(16)
步驟8:將當(dāng)前迭代步數(shù)加1,即通過公式(17)修正:
stepnow=stepnow+1;(17)
其中,當(dāng)前迭代步數(shù),即stepnow;
步驟9:判斷是否達(dá)到帕累托最優(yōu)點(diǎn)個數(shù)上限,決定是否繼續(xù)進(jìn)行迭代探測;
其中,帕累托最優(yōu)點(diǎn)個數(shù)上限,即stepmax;步驟9,具體為:
步驟9.1:若當(dāng)前迭代步數(shù)stepnow小于帕累托最優(yōu)點(diǎn)個數(shù)上限stepmax,則用不確定區(qū)域面積最大的不確定區(qū)域areamax來更新當(dāng)前響應(yīng)延遲的下界llower和上界lupper,當(dāng)前吞吐率的下界tlower和上界tupper,具體通過公式(18)到公式(21)進(jìn)行更新;再跳至步驟3:
llower=areamax.llower;(18)
lupper=areamax.lupper;(19)
tlower=areamax.tlower;(20)
tupper=areamax.tupper;(21)
步驟9.2:若當(dāng)前迭代步數(shù)stepnow大于或等于帕累托最優(yōu)點(diǎn)個數(shù)上限stepmax,則終止迭代,并返回最終探測結(jié)果組plan,即為數(shù)據(jù)流處理系統(tǒng)多目標(biāo)優(yōu)化的一組具有典型代表意義的帕累托最優(yōu)解;
至此,從步驟1到步驟9,完成了一種最優(yōu)點(diǎn)個數(shù)約束的數(shù)據(jù)流處理系統(tǒng)多目標(biāo)優(yōu)化方法。
有益效果
本發(fā)明一種最優(yōu)點(diǎn)個數(shù)約束的數(shù)據(jù)流處理系統(tǒng)多目標(biāo)優(yōu)化方法,與其他多目標(biāo)優(yōu)化方法相比,具有如下有益效果:
1.本發(fā)明所提方法基于響應(yīng)延遲的上下界,基于帕累托最優(yōu)點(diǎn)與約束最優(yōu)化解的關(guān)系,使用有限步數(shù)來確定探測深度;
2.本發(fā)明所述方法基于縮小不確定區(qū)域面積這一目標(biāo),通過貪心的方法每次探測不確定區(qū)域面積最大的部分,提高探測具有典型代表意義帕累托最優(yōu)解的效率;
3.本發(fā)明所述方法能夠在用戶指定的響應(yīng)延遲或吞吐率范圍內(nèi),返回一系列有意義且具有代表性的帕里托最優(yōu)解,確保用戶能在該范圍內(nèi)接受想要的最優(yōu)解;
4.本發(fā)明所述方法,適用于不同的實(shí)時大數(shù)據(jù)分析系統(tǒng)多目標(biāo)優(yōu)化場景中,應(yīng)用范圍廣,實(shí)用性強(qiáng),易于推廣;
5.本發(fā)明所述方法,只針對數(shù)據(jù)本身進(jìn)行處理,能夠得到一組具有典型代表意義的帕累托最優(yōu)解,而不受限于數(shù)據(jù)的來源,適用于對所有的工程應(yīng)用中的數(shù)據(jù)的處理。
附圖說明
圖1為本發(fā)明“一種最優(yōu)點(diǎn)個數(shù)約束的數(shù)據(jù)流處理系統(tǒng)多目標(biāo)優(yōu)化方法”中的本方法及實(shí)施例1中的流程示意圖;
圖2為本發(fā)明“一種最優(yōu)點(diǎn)個數(shù)約束的數(shù)據(jù)流處理系統(tǒng)多目標(biāo)優(yōu)化方法”實(shí)施例1中的本方法與權(quán)重加和的實(shí)驗(yàn)對比圖。
具體實(shí)施方式
下面根據(jù)附圖及實(shí)施例對本發(fā)明進(jìn)行詳細(xì)說明,但本發(fā)明的具體實(shí)施形式并不局限于此。
實(shí)施例1
本實(shí)施例闡述了將本發(fā)明“一種最優(yōu)點(diǎn)個數(shù)約束的數(shù)據(jù)流處理系統(tǒng)多目標(biāo)優(yōu)化方法”應(yīng)用于具體的實(shí)時大數(shù)據(jù)分析系統(tǒng)apachesparkstreaming場景下的流程。
圖1為本方法的算法流程圖以及本實(shí)施例的流程圖。從圖中可以看出,本方法包含如下步驟:
步驟a:當(dāng)前響應(yīng)延遲的上界lupper被初始化為10.0,當(dāng)前響應(yīng)延遲的下界llower被初始化為0.5,帕累托最優(yōu)點(diǎn)個數(shù)上限stepmax被初始化為20,當(dāng)前迭代步數(shù)stepnow被初始化為0,表達(dá)式為公式(1),不確定區(qū)域集合setarea被初始化為空集合,表達(dá)式為公式(2);最終探測結(jié)果組plan被初始化為空集合,表達(dá)式為公式(3):
步驟b:分別根據(jù)步驟a的當(dāng)前響應(yīng)延遲的上界10.0和下界0.5,分別計(jì)算當(dāng)前吞吐率的上界和下界,具體為:
步驟b.1:根據(jù)當(dāng)前響應(yīng)延遲的上界10.0,計(jì)算當(dāng)前吞吐率的上界tupper為1677367.1230139078,具體通過如下公式(22)計(jì)算:
其中,當(dāng)前吞吐率的上界,即tupper,s.t.代表約束;c代表具體系統(tǒng)配置;λ代表實(shí)時的輸入數(shù)據(jù)率;γ(c,λ)代表具體系統(tǒng)的參數(shù)配置c和實(shí)時的輸入數(shù)據(jù)率λ條件下的吞吐率;ψ(c,λ)代表具體系統(tǒng)的參數(shù)配置c和實(shí)時的輸入數(shù)據(jù)率λ條件下的響應(yīng)延遲;公式(22)反映的是給定輸入數(shù)據(jù)率λ,在滿足響應(yīng)延遲ψ(c,λ)小于當(dāng)前響應(yīng)延遲的上界lupper的一組具體系統(tǒng)的參數(shù)配置c中,尋求能使吞吐率γ(c,λ)最大化的具體系統(tǒng)配置c,即公式(22)中的
步驟b.2:根據(jù)當(dāng)前響應(yīng)延遲的下界0.5,計(jì)算當(dāng)前吞吐率的下界tlower為1288034.188034188,具體通過公式(23)計(jì)算如下:
其中,當(dāng)前吞吐率的下界,記為tlower,公式(23)反映的是給定輸入數(shù)據(jù)率λ,在滿足響應(yīng)延遲ψ(c,λ)小于當(dāng)前響應(yīng)延遲的下界llower的一組具體系統(tǒng)的參數(shù)配置c中,尋求能使吞吐率γ(c,λ)最大化的具體系統(tǒng)配置c,即公式(23)中的
步驟c:分別根據(jù)當(dāng)前響應(yīng)延遲的上界10.0和下界0.5,計(jì)算當(dāng)前的探測響應(yīng)延遲lmiddle、最大探測吞吐率tmiddle以及最大探測吞吐率的具體系統(tǒng)配置cmiddle,具體為:
步驟c.1:根據(jù)當(dāng)前響應(yīng)延遲的上界10.0和下界0.5,計(jì)算當(dāng)前探測響應(yīng)延遲lmiddle為5.25,具體通過如下公式(24)計(jì)算:
lmiddle=(llower+lupper)/2=(10.0+0.5)/2=5.25;(24)
步驟c.2:根據(jù)步驟c.1計(jì)算出的當(dāng)前探測響應(yīng)延遲5.25,計(jì)算當(dāng)前探測響應(yīng)延遲的最大探測吞吐率tmiddle和最大探測吞吐率的具體系統(tǒng)配置cmiddle,分別為1674561.0772396186、c1,具體通過如下公式(25)計(jì)算:
其中,公式(25)反映的是給定輸入數(shù)據(jù)率λ,在滿足響應(yīng)延遲ψ(c,λ)小于等于當(dāng)前探測延遲lmiddle的一組具體系統(tǒng)的參數(shù)配置c中,尋求能使吞吐率γ(c,λ)最大化的具體系統(tǒng)配置c,即公式(25)中的
步驟d:計(jì)算當(dāng)前探測結(jié)果組planmiddle,并與最終探測結(jié)果組plan合并。
步驟d.1:根據(jù)當(dāng)前的探測響應(yīng)延遲5.25、最大探測吞吐量1674561.0772396186以及最大探測吞吐率的具體系統(tǒng)配置c1,計(jì)算當(dāng)前探測結(jié)果組planmiddle為{(5.25,1674561.0772396186,c1)},具體通過如下公式(26)計(jì)算:
步驟d.2:將當(dāng)前探測結(jié)果組{(5.25,1674561.0772396186,c1)}與最終探測結(jié)果組plan合并,具體通過如下公式(27)計(jì)算:
步驟e:根據(jù)當(dāng)前的響應(yīng)延遲的上界10.0和下界0.5、吞吐率的上界1677367.1230139078和下界1288034.188034188、探測響應(yīng)延遲5.25以及最大探測吞吐率1674561.0772396186,分別計(jì)算當(dāng)前左半部分和右半部分的不確定區(qū)域面積。
步驟e.1:根據(jù)當(dāng)前的響應(yīng)延遲的下界0.5和探測響應(yīng)延遲5.25以及當(dāng)前的吞吐率的下界1288034.188034188和最大探測吞吐率1674561.0772396186,計(jì)算當(dāng)前左半部分的不確定區(qū)域面積ualeft為183600.2723725793,具體通過如下公式(28)計(jì)算:
步驟e.2:根據(jù)當(dāng)前的響應(yīng)延遲的上界10.0和探測響應(yīng)延遲5.25以及當(dāng)前的吞吐率的上界1677367.1230139078和最大探測吞吐率1674561.0772396186,計(jì)算當(dāng)前右半部分的不確定區(qū)域面積uaright為13328.71742787275,具體通過如下公式(29)計(jì)算:
步驟f:根據(jù)步驟e輸出的當(dāng)前左半部分和右半部分的不確定區(qū)域面積計(jì)算所對應(yīng)的不確定區(qū)域,并將不確定區(qū)域存儲在不確定區(qū)域集合setarea中。
步驟f.1:計(jì)算當(dāng)前左半部分和右半部分的不確定區(qū)域面積所對應(yīng)的不確定區(qū)域,分別為{(0.5,5.25,1288034.188034188,1674561.0772396186,183600.2723725793)}、{(5.25,10.0,1674561.0772396186,1677367.1230139078,13328.71742787275)},計(jì)算公式如下:
其中,在arealeft與arearight的一般結(jié)構(gòu)體area中,第一個參數(shù)為不確定區(qū)域的響應(yīng)延遲下界,記為area.llower,第二個參數(shù)為不確定區(qū)域的響應(yīng)延遲上界,記為area.lupper,第三個參數(shù)為不確定區(qū)域的吞吐率下界,記為area.tlower,第四個參數(shù)為不確定區(qū)域的吞吐率下界,記為area.tupper,第五個參數(shù)為不確定區(qū)域的面積,記為area.ua。
步驟f.2:將左半部分不確定區(qū)域
{(0.5,5.25,1288034.188034188,1674561.0772396186,183600.2723725793)}和
{(5.25,10.0,1674561.0772396186,1677367.1230139078,13328.71742787275)}
存儲在不確定區(qū)域集合setarea中,通過如下公式(32)計(jì)算:
步驟g:在步驟f輸出的不確定區(qū)域集合setarea中,尋找不確定區(qū)域面積最大的不確定區(qū)域,并將其從不確定區(qū)域集合setarea中移除。
步驟g.1:在不確定區(qū)域集合setarea中,尋找不確定區(qū)域面積最大的不確定區(qū)域?yàn)閍reamax為{(0.5,5.25,1288034.188034188,1674561.0772396186,183600.2723725793)},具體通過公式(15)計(jì)算;
其中,area代表不確定區(qū)域并屬于不確定區(qū)域集合setarea;上式反映的是,在不確定區(qū)域集合setarea中,尋找不確定區(qū)域面積areaua最大的不確定區(qū)域areamax。
步驟g.2:將不確定區(qū)域面積最大的不確定區(qū)域{(0.5,5.25,1288034.188034188,1674561.0772396186,183600.2723725793)}從不確定區(qū)域集合setarea中移除,具體通過如下公式(33)計(jì)算:
步驟h:將當(dāng)前迭代步數(shù)加1,即通過公式(34)修正:
步驟i:判斷是否達(dá)到帕累托最優(yōu)點(diǎn)個數(shù)上限20,決定是否繼續(xù)進(jìn)行迭代探測。
步驟i.1:若當(dāng)前迭代步數(shù)1小于帕累托最優(yōu)點(diǎn)個數(shù)上限20,則用不確定區(qū)域面積最大的不確定區(qū)域
{(0.5,5.25,1288034.188034188,1674561.0772396186,183600.2723725793)}
來更新當(dāng)前響應(yīng)延遲的下界llower為0.5和上界lupper為5.25,當(dāng)前吞吐率的下界tlower為1288034.188034188和上界tupper為1674561.0772396186,具體通過公式(35)到公式(38)進(jìn)行更新;再跳至步驟c:
步驟i.2:若當(dāng)前迭代步數(shù)1大于或等于帕累托最優(yōu)點(diǎn)個數(shù)上限20,則終止迭代,并返回最終探測結(jié)果組plan,即為數(shù)據(jù)流處理系統(tǒng)多目標(biāo)優(yōu)化的一組具有典型代表意義的帕累托最優(yōu)解;
至此,從步驟a到步驟i,完成了本實(shí)施例一種最優(yōu)點(diǎn)個數(shù)約束的數(shù)據(jù)流處理系統(tǒng)多目標(biāo)優(yōu)化方法。
本方法與權(quán)重加和的實(shí)驗(yàn)對比圖如圖2所示。其中,橫坐標(biāo)代表響應(yīng)延遲(秒),縱坐標(biāo)代表吞吐率(百萬條/秒),圖中的點(diǎn)代表某響應(yīng)延遲下所能取得的最大吞吐率,即帕累托最優(yōu)解。圖2(a)表示,權(quán)重加和方法,圖2(b)表示本方法。從圖2中可以看出,權(quán)重加和的帕累托最優(yōu)解集中于小部分的區(qū)域內(nèi),不能表示響應(yīng)延遲與吞吐率在整個空間內(nèi)的分布情況,不能提供給用戶一組具有典型代表意義的帕累托最優(yōu)解;本方法的解集在整個空間內(nèi)分布均勻,能為用戶提供響應(yīng)延遲與吞吐率的多種最優(yōu)選擇,即能提供給用戶一組具有典型代表意義的帕累托最優(yōu)解。
實(shí)施例2
將實(shí)施例1中的具體的實(shí)時大數(shù)據(jù)分析系統(tǒng)apachesparkstreaming改成其他實(shí)時大數(shù)據(jù)分析系統(tǒng)如apachestorm、googledataflow等,即本發(fā)明所提出的多目標(biāo)優(yōu)化方法不受限于數(shù)據(jù)的來源,適用于對所有的工程應(yīng)用中的數(shù)據(jù)的處理。
上述實(shí)施方式中未述及的有關(guān)技術(shù)內(nèi)容采取或借鑒已有技術(shù)即可實(shí)現(xiàn)。
以上所述為本發(fā)明的較佳實(shí)施例而已,本發(fā)明不應(yīng)該局限于該實(shí)施例和附圖所公開的內(nèi)容。凡是不脫離本發(fā)明所公開的精神下完成的等效或修改,都落入本發(fā)明保護(hù)的范圍。