一種性價(jià)比驅(qū)動(dòng)的Mashup構(gòu)造方法
【技術(shù)領(lǐng)域】
[0001 ]本發(fā)明涉及軟件優(yōu)化技術(shù),尤其涉及一種性價(jià)比驅(qū)動(dòng)的Mashup構(gòu)造方法。
【背景技術(shù)】
[0002]Mashup構(gòu)造技術(shù)通過將多個(gè)Web服務(wù)組合到一起來構(gòu)造更加復(fù)雜、功能更加豐富的Mashup以滿足用戶復(fù)雜的功能需求。Mashup構(gòu)造過程分為兩個(gè)部分:服務(wù)選擇和Mashup部署。具體的在于,服務(wù)選擇是根據(jù)已有的工作流程,對流程中的每個(gè)任務(wù)選擇具體的服務(wù),然后將每個(gè)任務(wù)選擇的單個(gè)服務(wù)組合成為一個(gè)組合服務(wù),服務(wù)選擇的目的在于使選中的每個(gè)服務(wù)都能完成對應(yīng)任務(wù)的功能需求;Mashup部署是將組合服務(wù)部署到云平臺(tái)上。
[0003]隨著網(wǎng)絡(luò)上可選服務(wù)的增多,組合服務(wù)的質(zhì)量(QoS)越來越受到重視。服務(wù)提供商構(gòu)造Mashup的目的是最大化盈利,所以,價(jià)格也是他們考慮的一個(gè)重要因素。因此,服務(wù)構(gòu)造要兼顧Mashup的性能與成本,即性價(jià)比最高。
[0004]目前的mashup服務(wù)選擇方法主要集中在QoS上。QoS不同的屬性具有不同的計(jì)算方法,同一屬性對不同的流程結(jié)構(gòu)的計(jì)算方法也不相同。不同的QoS屬性對不同流程結(jié)構(gòu)的計(jì)算方法已日漸成熟。因此,目前對QoS感知的服務(wù)選擇問題的研究集中在研究多維度、多目標(biāo)、多任務(wù)的QoS最優(yōu)規(guī)劃問題(MMMKP)。眾多不同的服務(wù)選擇方法被提出,它們大都假設(shè)服務(wù)的QoS屬性是已知的,利用類貪心算法為工作流中的每一個(gè)任務(wù)選擇QoS最優(yōu)的服務(wù)。然而,服務(wù)的價(jià)格往往不是確定的,有的服務(wù)的價(jià)格與其它的服務(wù)相關(guān)連,比如捆綁銷售。月艮務(wù)的QoS會(huì)受到Mashup部署平臺(tái)的影響,因此,在部署平臺(tái)不確定的條件下,無法進(jìn)行最優(yōu)服務(wù)的選擇,而最優(yōu)部署平臺(tái)要根據(jù)被選的服務(wù)來進(jìn)行選擇。因此,性價(jià)比驅(qū)動(dòng)的Mashup構(gòu)造問題是一個(gè)非常困難的問題。利用現(xiàn)有的算法不能達(dá)到最優(yōu)化。
【發(fā)明內(nèi)容】
[0005]針對【背景技術(shù)】中存在的技術(shù)問題,本發(fā)明所要解決的技術(shù)問題在于提供一種性價(jià)比驅(qū)動(dòng)的Mashup構(gòu)造方法,使得產(chǎn)生的Mashup不但能滿足開發(fā)商的功能需求,而且具有最優(yōu)的性價(jià)比。
[0006]為此,本發(fā)明采用如下技術(shù)方案:
一種性價(jià)比驅(qū)動(dòng)的Mashup構(gòu)造方法,所述Mashup構(gòu)造方法包括如下步驟:
SlOl:應(yīng)用GA4MC算法為所需要構(gòu)造的Mashup中的每個(gè)任務(wù)選擇最優(yōu)Web服務(wù)和云平臺(tái);
S102:對SlOI中選擇得到的Web服務(wù)進(jìn)行服務(wù)組合,得到Mashup;以及 S103:將構(gòu)造得到的Mashup部署到云平臺(tái)上。
[0007]GA4MC算法全稱是Genetic Algorithm for Mashup Creat1n,顧名思義,即是解決Mashup構(gòu)造問題的遺傳算法。
[0008]優(yōu)選地,在應(yīng)用GA4MC算法為所需構(gòu)造的Mashup中的任務(wù)選擇最優(yōu)Web服務(wù)之前,對所有候選服務(wù)集合中服務(wù)的平臺(tái)信息和價(jià)格關(guān)聯(lián)關(guān)系進(jìn)行建模,從而獲得各個(gè)服務(wù)之間以及服務(wù)與平臺(tái)之間的關(guān)聯(lián)關(guān)系。
[0009]優(yōu)選地,應(yīng)用GA4MC算法為所需構(gòu)造的Mashup中的每個(gè)任務(wù)選擇最優(yōu)Web服務(wù)和云平臺(tái)包括如下步驟:
S201:將服務(wù)與平臺(tái)選擇問題建模為遺傳模型;
5202:對GA4MC算法進(jìn)行初始化;
5203:根據(jù)初始化數(shù)據(jù)產(chǎn)生初始種群;
5204:對初始種群進(jìn)行評(píng)價(jià)、選擇,從而保留較優(yōu)個(gè)體,淘汰較劣個(gè)體;
5205:將保留的個(gè)體進(jìn)行交叉操作,從而產(chǎn)生新的個(gè)體;
5206:將個(gè)體進(jìn)行變異操作;
S207:將Mashup部署到相關(guān)平臺(tái)并計(jì)算其QoS,從而選擇最佳平臺(tái)使得部署后的Mashup的性價(jià)比最高;
S208:對新的種群進(jìn)行評(píng)價(jià)、選擇;
S209:不斷重復(fù)遺傳迭代過程直至達(dá)到迭代次數(shù),得到最優(yōu)服務(wù)選擇方案。遺傳迭代是不斷地交叉、變異,以及選優(yōu)的過程,它是GA4MC算法的主要過程。
[0010]優(yōu)選地,遺傳模型包括:染色體表示可行解,染色體對應(yīng)Mashup;基因表示服務(wù);基因的位置對應(yīng)Mashup中的任務(wù);染色體的適應(yīng)度表示性價(jià)比,染色體的適應(yīng)度越高對應(yīng)Mashup的性價(jià)比越高。
[0011]優(yōu)選地,對GA4MC算法進(jìn)行初始化包括算法的迭代次數(shù)、初始種群大小、交叉次數(shù)以及變異次數(shù)的初始化。
[0012]GA4MC算法的初始化參數(shù)決定了遺傳迭代過程的執(zhí)行情況,迭代次數(shù)越高,則最終得到的解可能越優(yōu),相應(yīng)地,算法執(zhí)行的時(shí)間也越長。同樣地,初始種群大小、交叉次數(shù)以及變異次數(shù)也會(huì)影響到最終的Mashup方案的優(yōu)劣和算法的執(zhí)行時(shí)間。因此,初始化參數(shù)的選定要綜合考慮解的優(yōu)劣程度、算法的執(zhí)行效率等因素。
[0013]優(yōu)選地,服務(wù)組合時(shí),按照開發(fā)商所需的Mashup結(jié)構(gòu),對選擇得到的服務(wù)進(jìn)行組合,得到Mashup ο
[0014]與現(xiàn)有技術(shù)相比,本發(fā)明提供的技術(shù)方案具有以下優(yōu)點(diǎn):
(1)本發(fā)明提供的一種性價(jià)比驅(qū)動(dòng)的Mashup構(gòu)造方法從性價(jià)比的角度出發(fā)構(gòu)造性價(jià)比最優(yōu)的Mashup;
(2)本發(fā)明提供的一種性價(jià)比驅(qū)動(dòng)的Mashup構(gòu)造方法在構(gòu)造Mashup時(shí),將價(jià)格關(guān)聯(lián)關(guān)系和響應(yīng)時(shí)間關(guān)聯(lián)關(guān)系考慮在內(nèi),以提尚得到的Mashup的性價(jià)比;
(3)本發(fā)明提供的一種性價(jià)比驅(qū)動(dòng)的Mashup構(gòu)造方法不僅考慮服務(wù)選擇,而且考慮了Mashup部署,通過對部署平臺(tái)的選擇進(jìn)一步提高M(jìn)ashup的性價(jià)比。
【具體實(shí)施方式】
[0015]為了更為具體地描述本發(fā)明,下面結(jié)合【具體實(shí)施方式】對本發(fā)明的技術(shù)方案進(jìn)行詳細(xì)說明。
[0016]現(xiàn)有的算法不能達(dá)到mashup構(gòu)造最優(yōu)化,經(jīng)過研究發(fā)現(xiàn),主要是因?yàn)楝F(xiàn)有的研究都忽略了服務(wù)的價(jià)格和QoS之間的關(guān)聯(lián)關(guān)系。服務(wù)的價(jià)格和QoS之間的關(guān)聯(lián)關(guān)系對Mashup的性價(jià)比具有很大影響。服務(wù)的價(jià)格關(guān)聯(lián)關(guān)系在現(xiàn)實(shí)中廣泛存在,比如,如果同時(shí)選擇一個(gè)服務(wù)提供商的兩個(gè)服務(wù),第二個(gè)服務(wù)可能會(huì)在價(jià)格上給一個(gè)折扣;QoS關(guān)聯(lián)關(guān)系在現(xiàn)實(shí)中同樣廣泛存在,如果連續(xù)調(diào)用同一個(gè)服務(wù)器上的兩個(gè)服務(wù),由于兩個(gè)服務(wù)間的參數(shù)傳遞可以在服務(wù)器內(nèi)部進(jìn)行,因此可以大大減小Mashup的響應(yīng)時(shí)間。為此,本發(fā)明實(shí)施例提供了一種性價(jià)比驅(qū)動(dòng)的Mashup構(gòu)造方法,在QoS的服務(wù)選擇問題的基礎(chǔ)上,將服務(wù)間的價(jià)格關(guān)聯(lián)和QoS關(guān)聯(lián)關(guān)系考慮在內(nèi),同時(shí)考慮Mashup的部署,使得產(chǎn)生的Mashup不但能滿足開發(fā)商的功能需求,而且具有最優(yōu)的性價(jià)比。
[00? 7 ] 一種性價(jià)比驅(qū)動(dòng)的Mashup構(gòu)造方法,所述Mashup構(gòu)造方法包括如下步驟:
SlOl:應(yīng)用GA4MC算法為所需要構(gòu)造的Mashup中的每個(gè)任務(wù)選擇最優(yōu)Web服務(wù)和云平臺(tái);
S102:對SlOI中選擇得到的Web服務(wù)進(jìn)行服務(wù)組合,得到Mashup;以及 S103:將構(gòu)造得到的Mashup部署到云平臺(tái)上。
[0018]在本實(shí)施例中,在應(yīng)用GA4MC算法為所需構(gòu)造的Mashup中的任務(wù)選擇最優(yōu)Web服務(wù)之前,對所有候選服務(wù)集合中服務(wù)的平臺(tái)信息和價(jià)格關(guān)聯(lián)關(guān)系進(jìn)行建模,從而獲得各個(gè)服務(wù)之間以及服務(wù)與平臺(tái)之間的關(guān)聯(lián)關(guān)系。
[0019]優(yōu)選地,應(yīng)用GA4MC算法為所需構(gòu)造的Mashup中的每個(gè)任務(wù)選擇最優(yōu)Web服務(wù)和云平臺(tái)包括如下步驟:
S201:將服務(wù)與平臺(tái)選擇問題建模為遺傳模型;
5202:對GA4MC算法進(jìn)行初始化;
5203:根據(jù)初始化數(shù)據(jù)產(chǎn)生初始種群;
5204:對初始種群進(jìn)行評(píng)價(jià)、選擇,從而保留較優(yōu)個(gè)體,淘汰較劣個(gè)體;
5205:將保留的個(gè)體進(jìn)行交叉操作,從而產(chǎn)生新的個(gè)體;
5206:將個(gè)體進(jìn)行變異操作;
S207:將Mashup部署到相關(guān)平臺(tái)并計(jì)算其QoS,從而