專利名稱:一種支持服務(wù)質(zhì)量關(guān)聯(lián)的復(fù)合服務(wù)選擇方法
技術(shù)領(lǐng)域:
本發(fā)明屬于計(jì)算機(jī)網(wǎng)絡(luò)應(yīng)用領(lǐng)域,涉及一種復(fù)合服務(wù)的選擇方法,尤其涉及一種
支持服務(wù)質(zhì)量關(guān)聯(lián)的復(fù)合服務(wù)選擇方法。
背景技術(shù):
在服務(wù)計(jì)算領(lǐng)域, 一個(gè)業(yè)務(wù)流程可以通過若干個(gè)服務(wù)復(fù)合而成。隨著服務(wù)計(jì)算的 發(fā)展,實(shí)現(xiàn)同一功能的服務(wù)越來越多,可用于復(fù)合的服務(wù)是多個(gè)可選的。這些實(shí)現(xiàn)了同一功 能的服務(wù)往往具有不同的服務(wù)質(zhì)量。復(fù)合服務(wù)的服務(wù)質(zhì)量是用戶關(guān)注的一個(gè)問題。而復(fù)合 服務(wù)的服務(wù)質(zhì)量很大程度上依賴于構(gòu)成該復(fù)合服務(wù)的各個(gè)服務(wù)的服務(wù)質(zhì)量。因此,需要一 種復(fù)合服務(wù)選擇方法,能夠選擇構(gòu)成復(fù)合服務(wù)的各個(gè)子服務(wù),使得復(fù)合服務(wù)具有好的服務(wù) 質(zhì)量。 當(dāng)前方法認(rèn)為各可選服務(wù)之間相互獨(dú)立,一個(gè)服務(wù)的服務(wù)質(zhì)量不會(huì)依賴于其他服 務(wù)。從而,根據(jù)這個(gè)假設(shè),將復(fù)合服務(wù)選擇問題建模為o-i線性整數(shù)規(guī)劃模型,從而利用各 種規(guī)劃算法求解服務(wù)選擇結(jié)果。 然而,當(dāng)前服務(wù)之間存在大量關(guān)聯(lián)關(guān)系,這些關(guān)聯(lián)關(guān)系包括業(yè)務(wù)(business)關(guān)聯(lián) 關(guān)系和運(yùn)行時(shí)(runtime)關(guān)聯(lián)關(guān)系,而且,這些關(guān)聯(lián)關(guān)系很大程度影響了服務(wù)的服務(wù)質(zhì)量。 在業(yè)務(wù)關(guān)聯(lián)關(guān)系方面,服務(wù)提供商由于商業(yè)上的目的,往往會(huì)建立起合作伙伴關(guān)系,從而為 合作伙伴和非合作伙伴提供有不同的服務(wù)質(zhì)量。 一個(gè)典型的例子是travel agent, travel agent是一個(gè)由機(jī)票服務(wù)、酒店服務(wù)和支付服務(wù)構(gòu)成的復(fù)合服務(wù),由于某個(gè)航空公司為了促 銷目的,往往會(huì)與某些酒店建立合作伙伴關(guān)系,從而為預(yù)訂這些酒店的旅客提供更低的機(jī) 票價(jià)格;同樣,某個(gè)酒店為了促銷,也會(huì)與某些支付服務(wù)供應(yīng)商,比如VISA,建立合作伙伴 關(guān)系,為以VISA卡支付的用戶提供更高的預(yù)訂優(yōu)先級(jí),從而提高其預(yù)訂成功率。在運(yùn)行時(shí) 方面,由于服務(wù)之間的帶寬、服務(wù)之間的參數(shù)匹配程度等原因,一個(gè)服務(wù)的服務(wù)質(zhì)量往往依 賴于與之協(xié)作的另外一個(gè)服務(wù)與該服務(wù)之間是否存在上述關(guān)系。較大的帶寬可以提供較 快的執(zhí)行時(shí)間,較高的參數(shù)匹配程度可以提供較好的執(zhí)行成功率。 一個(gè)典型的例子是亞馬 遜web服務(wù)Cloud Front, Cloud Front是一個(gè)完成內(nèi)容提供功能的Web服務(wù),它與存儲(chǔ)服 務(wù)Simple Storage Service (S3)協(xié)同完成內(nèi)容提供服務(wù)。選擇不同的存儲(chǔ)服務(wù),影響著 CloudFront服務(wù)的執(zhí)行時(shí)間、執(zhí)行成功率和價(jià)格。Cloud Front服務(wù)的SLA就規(guī)定了存儲(chǔ) 服務(wù)在不同區(qū)域下不同的價(jià)格。并且,除了 Amazon,我們還調(diào)查了包括Google、 eBay等主 流服務(wù)提供商,其服務(wù)級(jí)別協(xié)議(SLA)中均對(duì)服務(wù)質(zhì)量對(duì)其他服務(wù)依賴進(jìn)行了描述。
現(xiàn)有的服務(wù)選擇技術(shù)沒有考慮到這些關(guān)聯(lián)關(guān)系,認(rèn)為服務(wù)的服務(wù)質(zhì)量是固定的, 然而,在服務(wù)關(guān)聯(lián)產(chǎn)生時(shí),原宣稱的服務(wù)質(zhì)量偏離實(shí)際的服務(wù)質(zhì)量,而以偏離的服務(wù)質(zhì)量作 為服務(wù)選擇的依據(jù),必然導(dǎo)致了復(fù)合服務(wù)的服務(wù)質(zhì)量下降。而考慮到服務(wù)之間的關(guān)聯(lián)關(guān)系 后,由于服務(wù)之間的關(guān)聯(lián)關(guān)系使得服務(wù)的服務(wù)質(zhì)量發(fā)生動(dòng)態(tài)變化,復(fù)合服務(wù)選擇問題無法 直接建模為O-l線性整數(shù)規(guī)劃模型,從而無法求解服務(wù)選擇結(jié)果。因此,目前需要一種技術(shù) 手段,將存在服務(wù)關(guān)聯(lián)關(guān)系的復(fù)合服務(wù)選擇問題建模為0-1線性整數(shù)規(guī)劃模型。
發(fā)明內(nèi)容
為了克服現(xiàn)有復(fù)合服務(wù)選擇方法不能考慮存在服務(wù)質(zhì)量關(guān)聯(lián)的不足,本發(fā)明 提出一種支持服務(wù)質(zhì)量關(guān)聯(lián)的復(fù)合服務(wù)選擇方法,該方法考慮到服務(wù)質(zhì)量的關(guān)聯(lián)關(guān)系,
將存在服務(wù)質(zhì)量關(guān)聯(lián)關(guān)系的復(fù)合服務(wù)選擇問題建模為o-i線性整數(shù)規(guī)劃模型(參見
專利號(hào)ZL02139613.2,發(fā)明名稱"一種面向路徑的測(cè)試數(shù)據(jù)自動(dòng)生成方法",專利號(hào) ZL200810055880.7,發(fā)明名稱"基于協(xié)調(diào)約束實(shí)時(shí)更新的電廠與變電站協(xié)調(diào)電壓控制方法" 的專利文件;以及申請(qǐng)?zhí)?00410068843. 1,發(fā)明名稱"基于平均場(chǎng)退火技術(shù)的蛋白質(zhì)的立 體結(jié)構(gòu)比對(duì)方法"的專利申請(qǐng)文件),從而采用優(yōu)化算法求解服務(wù)選擇結(jié)果。通過本復(fù)合 服務(wù)選擇方法選擇的復(fù)合服務(wù)具有比現(xiàn)有方法更高的服務(wù)質(zhì)量。因此,本發(fā)明包括如下內(nèi) 容 1.支持服務(wù)質(zhì)量關(guān)聯(lián)的原子服務(wù)質(zhì)量建模技術(shù);
2.復(fù)合服務(wù)質(zhì)量聚合建模技術(shù);
3.復(fù)合服務(wù)質(zhì)量目標(biāo)建模技術(shù);
4.復(fù)合服務(wù)目標(biāo)模型線性化技術(shù)。
本發(fā)明的技術(shù)方案為 —種支持服務(wù)質(zhì)量關(guān)聯(lián)的復(fù)合服務(wù)選擇方法,其步驟為 1)原子服務(wù)質(zhì)量映射模塊將復(fù)合服務(wù)內(nèi)各原子服務(wù)質(zhì)量的描述信息映射到原子 服務(wù)質(zhì)量描述模板; 2)原子服務(wù)質(zhì)量描述模板根據(jù)描述信息對(duì)原子服務(wù)質(zhì)量進(jìn)行描述,得到復(fù)合服務(wù) 關(guān)聯(lián)下的原子服務(wù)質(zhì)量描述; 3)原子服務(wù)質(zhì)量描述轉(zhuǎn)換模塊將原子服務(wù)質(zhì)量描述轉(zhuǎn)換為0-1整數(shù)規(guī)劃的原子 服務(wù)質(zhì)量描述; 4)聚合計(jì)算模塊根據(jù)0-1整數(shù)規(guī)劃的原子服務(wù)質(zhì)量描述和復(fù)合服務(wù)結(jié)構(gòu)描述,計(jì) 算復(fù)合服務(wù)的服務(wù)質(zhì)量屬性值; 5)根據(jù)復(fù)合服務(wù)的服務(wù)質(zhì)量屬性值,復(fù)合服務(wù)質(zhì)量模塊計(jì)算復(fù)合服務(wù)質(zhì)量目標(biāo)的 0-1整數(shù)多項(xiàng)式規(guī)劃表達(dá)式; 6)將復(fù)合服務(wù)質(zhì)量目標(biāo)的0-1整數(shù)多項(xiàng)式規(guī)劃表達(dá)式轉(zhuǎn)換為0-1整數(shù)線性規(guī)劃表 達(dá)式; 7)利用線性規(guī)劃求解算法,求解復(fù)合服務(wù)選擇結(jié)果。 所述描述信息包括原子服務(wù)的服務(wù)質(zhì)量屬性值和各原子服務(wù)之間的關(guān)聯(lián)關(guān)系;所 述原子服務(wù)質(zhì)量描述模板根據(jù)所述各原子服務(wù)之間的關(guān)聯(lián)關(guān)系確定原子服務(wù)質(zhì)量屬性的 取值,得到所述原子服務(wù)質(zhì)量描述。 所述將原子服務(wù)質(zhì)量描述轉(zhuǎn)換為0-1整數(shù)規(guī)劃模型的方法為首先對(duì)原子服務(wù)的 服務(wù)質(zhì)量屬性的取值方法進(jìn)行數(shù)學(xué)建模;然后將得到的數(shù)學(xué)模型轉(zhuǎn)換為0-1整數(shù)規(guī)劃模 型。 所述服務(wù)質(zhì)量屬性包括價(jià)格、聲望、執(zhí)行時(shí)間、執(zhí)行成功率。 所述方法中,首先將復(fù)合服務(wù)分解成為若干個(gè)執(zhí)行路徑,分解后的所述執(zhí)行路徑 是一個(gè)不包含有"或"分支結(jié)構(gòu)的復(fù)合服務(wù)。
所述方法中,計(jì)算所述價(jià)格屬性值的0-1整數(shù)規(guī)劃表達(dá)式為<formula>formula see original document page 6</formula>其中,Pi, j為服務(wù)Si, j的價(jià)格,Xi, j表示服務(wù)Si, j是否被選中,Xi, j為1表示被選中,為0表 示沒有被選中,i e A k表示抽象服務(wù)Si在執(zhí)行路徑A k上,Si, j g Si表示Si, j是實(shí)現(xiàn)抽象 服務(wù)Si的一個(gè)具體服務(wù)。
所述方法中,計(jì)算所述聲望屬性值的0-1整數(shù)規(guī)劃表達(dá)式為
,"她'0" = ^刀2>".~ ;其中,I Ak|表示執(zhí)行路徑k上包含的抽象服務(wù)的個(gè)數(shù),i G 、
表示抽象服務(wù)Si在執(zhí)行路徑A k上,Si,j G Si表示Si,j是實(shí)現(xiàn)抽象服務(wù)Si的一個(gè)具體服務(wù), A, j為服務(wù)Si, j的聲望,Xi, j表示服務(wù)Si, j是否被選中,Xi, j為1表示被選中,為0表示沒有 被選中。 所述方法中,計(jì)算所述執(zhí)行時(shí)間屬性值的0-1整數(shù)規(guī)劃表達(dá)式為首先將所述執(zhí) 行路徑分解為若干個(gè)執(zhí)行子路徑,所述子執(zhí)行路徑為一不包含有"并"和"或"分支的執(zhí)行 路徑;然后并針對(duì)每個(gè)執(zhí)行子路徑,計(jì)算執(zhí)行時(shí)間聚合值,執(zhí)行時(shí)間在各個(gè)執(zhí)行子路徑上的
聚合值計(jì)算方法為<formula>formula see original document page 6</formula>其中".e^^表示抽象服務(wù)Si在該執(zhí)行路徑的第k條執(zhí)
行子路徑SPmk上,Si, j G Si表示Si,j是實(shí)現(xiàn)抽象服務(wù)Si的一個(gè)具體服務(wù),ei,j為服務(wù)Si,j的
執(zhí)行時(shí)間,Xi,j表示服務(wù)Si,j是否被選中,Xi, j為1表示被選中,為0表示沒有被選中。
所述方法中,計(jì)算所述執(zhí)行成功率屬性值的0-1整數(shù)規(guī)劃表達(dá)式為<formula>formula see original document page 6</formula>其中,Xi,j表示服務(wù)Si,j是否被選中,Xi,j為丄表示被選中,為0
表示沒有被選中,Sri, j為服務(wù)Si, j的執(zhí)行成功率,i G A k表示抽象服務(wù)Si在執(zhí)行路徑入k
上,Si, j G Si表示Si, j是實(shí)現(xiàn)抽象服務(wù)Si的一個(gè)具體服務(wù)。 所述計(jì)算復(fù)合服務(wù)質(zhì)量目標(biāo)的0-1整數(shù)多項(xiàng)式規(guī)劃表達(dá)式的方法為 1)將服務(wù)質(zhì)量屬性值進(jìn)行歸一化; 2)基于加權(quán)方式,對(duì)多服務(wù)質(zhì)量屬性目標(biāo)映射到單一目標(biāo)上,進(jìn)行單一化;
3)基于概率的復(fù)合服務(wù)質(zhì)量模型,對(duì)各執(zhí)行路徑進(jìn)行概率加權(quán),得到所述計(jì)算復(fù) 合服務(wù)質(zhì)量目標(biāo)的0-1整數(shù)多項(xiàng)式規(guī)劃表達(dá)式。 所述將計(jì)算復(fù)合服務(wù)質(zhì)量目標(biāo)的0-1整數(shù)多項(xiàng)式規(guī)劃表達(dá)式轉(zhuǎn)換為計(jì)算復(fù)合服 務(wù)質(zhì)量目標(biāo)的0-1整數(shù)線性規(guī)劃表達(dá)式的方法為 1)用變量yi替換0-1整數(shù)多項(xiàng)式規(guī)劃表達(dá)式中的n、;
風(fēng) 2)限制變量yi取值范圍為0或者1,即<formula>formula see original document page 6</formula>
3)針對(duì)每個(gè)yi,增加兩個(gè)限制<formula>formula see original document page 6</formula>和<formula>formula see original document page 6</formula>其中,| Uj
)ef/i 風(fēng)
為集合"中的元素個(gè)數(shù)。 下面詳細(xì)介紹具體的
發(fā)明內(nèi)容
l,支持服務(wù)質(zhì)量關(guān)聯(lián)的原子服務(wù)質(zhì)量建模技術(shù) 支持服務(wù)質(zhì)量關(guān)聯(lián)的原子服務(wù)質(zhì)量建模技術(shù)關(guān)注如何對(duì)原子服務(wù)的服務(wù)質(zhì)量以 及服務(wù)之間的關(guān)聯(lián)關(guān)系對(duì)服務(wù)質(zhì)量的影響進(jìn)行刻畫描述,并將此描述轉(zhuǎn)換為o-i整數(shù)規(guī)劃 模型。因此,本部分包含兩方面內(nèi)容1)原子服務(wù)質(zhì)量描述模板復(fù)合服務(wù)設(shè)計(jì)人員通過該模板,對(duì)服務(wù)質(zhì)量和關(guān)聯(lián)關(guān)系進(jìn)行描述;2)基于上述模板的原子服務(wù)質(zhì)量描述到0-1整數(shù) 規(guī)劃模型的轉(zhuǎn)換,其中,涉及到(1)服務(wù)質(zhì)量取值規(guī)則建模,和(2)服務(wù)質(zhì)量關(guān)聯(lián)關(guān)系的建 模。 1)原子服務(wù)質(zhì)量描述模板 如圖1所示,本發(fā)明首先給出一個(gè)對(duì)原子服務(wù)的服務(wù)質(zhì)量建模的模板。復(fù)合服務(wù) 設(shè)計(jì)人員可以通過該模板對(duì)原子服務(wù)的服務(wù)質(zhì)量進(jìn)行描述。原子服務(wù)的服務(wù)質(zhì)量和服務(wù)質(zhì) 量關(guān)聯(lián)關(guān)系是原子服務(wù)本身固有的屬性,復(fù)合服務(wù)設(shè)計(jì)人員可以通過對(duì)服務(wù)注冊(cè)庫(kù)或者服 務(wù)描述文件WSDL(Web Service Description Language)進(jìn)行查詢,從而獲取服務(wù)質(zhì)量屬性 值和服務(wù)關(guān)聯(lián)關(guān)系。屬性值的測(cè)量可以通過監(jiān)控或者反饋等方法獲取、而服務(wù)關(guān)聯(lián)關(guān)系可 以通過基于語義的方法獲取,這些方法不在本發(fā)明關(guān)注的范圍中。 在原子服務(wù)質(zhì)量描述模板中,服務(wù)質(zhì)量描述為一個(gè)包含L個(gè)元素的集合,L為該服 務(wù)質(zhì)量具有的屬性個(gè)數(shù),RS為關(guān)聯(lián)服務(wù)集。 第l個(gè)(1《i《L)服務(wù)質(zhì)量屬性^通過一組取值規(guī)則的集合進(jìn)行取值,其中,規(guī) 則qValuei — correlatiorii表示在第i禾中correlatiorii成立的情況下,q1取值為qValuei ; qValue。 一 default表不在所有correlation均不成立時(shí),q1取值為qValue。。 correlation 的直觀含義為服務(wù)之間的關(guān)聯(lián)關(guān)系,qValuei — correlatiorii表示在該關(guān)聯(lián)關(guān)系成立時(shí),q1 取值qValuei 。 correlation的語法定義為 correlation:: = cs G RS|correlation or correlation|correlation and correlation|notcorrelation 其中,RS為服務(wù)質(zhì)量取值qValue的一個(gè)關(guān)聯(lián)集合,and、 or、 not的優(yōu)先級(jí)為not 高于and, and高于or。 上述模板不僅刻畫了服務(wù)的服務(wù)質(zhì)量,而且刻畫了服務(wù)之間的關(guān)聯(lián)關(guān)系對(duì)服務(wù)質(zhì) 量的影響。復(fù)合服務(wù)設(shè)計(jì)人員通過原子服務(wù)質(zhì)量映射模塊,將從服務(wù)注冊(cè)庫(kù)或WSDL中獲取 到的服務(wù)質(zhì)量描述和服務(wù)關(guān)聯(lián)關(guān)系信息,映射到本原子服務(wù)質(zhì)量描述模板下的描述信息, 從而實(shí)現(xiàn)對(duì)服務(wù)質(zhì)量關(guān)聯(lián)下的原子服務(wù)質(zhì)量進(jìn)行描述。
2)原子服務(wù)質(zhì)量描述到0-1整數(shù)規(guī)劃模型的轉(zhuǎn)換 基于0-1整數(shù)規(guī)劃是當(dāng)前復(fù)合服務(wù)選擇的最常用方法之一,該方法具有選擇效果
好的優(yōu)點(diǎn),本發(fā)明采用原子服務(wù)質(zhì)量描述轉(zhuǎn)換模塊將原子服務(wù)質(zhì)量描述轉(zhuǎn)換為0-1整數(shù)規(guī)
劃模型。首先,該模塊將基于上述步驟l)的原子服務(wù)質(zhì)量描述模板的服務(wù)質(zhì)量描述轉(zhuǎn)換為
通用的數(shù)學(xué)模型,然后將通用的數(shù)學(xué)模型轉(zhuǎn)換為0-1整數(shù)規(guī)劃模型。
(1)原子服務(wù)的服務(wù)質(zhì)量取值規(guī)則的數(shù)學(xué)建模 對(duì)于可選服務(wù)S的某種服務(wù)質(zhì)量屬性值q1 ; 服務(wù)質(zhì)量可建模為如下數(shù)學(xué)表達(dá)式
<formula>formula see original document page 7</formula><formula>formula see original document page 8</formula> 或者 ^ =g(,"幽"'').(《&/"4) g(,"加。"".
(《J^"/we, )[1-g(,油"》"〖)-g(c^re/""'o4)-…-g(co re/(3"o"(,)] 由于在任何一個(gè)服務(wù)質(zhì)量屬性中,最多有一個(gè)取值規(guī)則成立,S卩,有且僅有一個(gè) g (correlation)取值為l,其他g (correlation)取值為0,或者所有g(shù) (correlation)均取 值為1。當(dāng)有且僅有第i個(gè)g(correlatiorii)取值為1,其他g (correlation)取值為0,上 述兩個(gè)式子均等于qValuei。 前一式子可用于價(jià)格、響應(yīng)時(shí)間和聲望屬性的建模,后一式子用于執(zhí)行成功率屬 (2)服務(wù)質(zhì)量關(guān)聯(lián)關(guān)系的建模 在完成服務(wù)描述中取值規(guī)則到數(shù)學(xué)表達(dá)式的建模后,需要將數(shù)學(xué)表達(dá)式建模為 0-1整數(shù)規(guī)劃模型。針對(duì)圖1中的四種不同的關(guān)聯(lián)類型,關(guān)聯(lián)關(guān)系g(correlation)可建模 為下述四個(gè)0-1整數(shù)規(guī)劃表達(dá)式 g(c"^)= 2>u,v CS"S)-l- J> ,v e叫aw/ CS2 e= 2X,v ZX,
&,叫 &,/^2 g(c^ e7 《orcS2 eiW2)= 2""+ I]x".
J"veA^ "^,/€^2 A;vS/i^ &,/E/iS2 在上述四個(gè)式子中,x為0-1變量,x的取值結(jié)果將由最后的優(yōu)化算法計(jì)算得出。 xu, v取值結(jié)果為1表示su, v被選中,取值結(jié)果為0表示su, v未被選中。
2,復(fù)合服務(wù)質(zhì)量建模技術(shù) 經(jīng)過第1步驟,我們完成了支持服務(wù)質(zhì)量關(guān)聯(lián)的原子服務(wù)的服務(wù)質(zhì)量的0-1整數(shù) 規(guī)劃建模,在第2步驟,我們采集聚合計(jì)算模塊對(duì)支持服務(wù)質(zhì)量關(guān)聯(lián)的復(fù)合服務(wù)質(zhì)量的0-1 整數(shù)規(guī)劃建模。對(duì)復(fù)合服務(wù)質(zhì)量的o-i整數(shù)規(guī)劃建模的目的是,針對(duì)特定的服務(wù)質(zhì)量屬性, 我們用0-1整數(shù)規(guī)劃表達(dá)式刻畫該服務(wù)質(zhì)量在整個(gè)復(fù)合服務(wù)中聚合而得到的整體的服務(wù) 質(zhì)量,即在某種特定的復(fù)合結(jié)構(gòu)中,每個(gè)子服務(wù)具有一定的服務(wù)質(zhì)量屬性值,那么,復(fù)合服 務(wù)的服務(wù)質(zhì)量屬性值如何由子服務(wù)的服務(wù)質(zhì)量值和復(fù)合結(jié)構(gòu)來表示。在本發(fā)明中,我們針 對(duì)四種服務(wù)質(zhì)量屬性(價(jià)格、聲望、執(zhí)行時(shí)間和成功率)進(jìn)行說明,但是,本發(fā)明并不局限于 這四種屬性,之所以選擇這四種屬性進(jìn)行說明,主要是因?yàn)檫@四種屬性為最常用的服務(wù)質(zhì) 量屬性,而且這四種屬性具有較好的代表性,本發(fā)明方法無需修改即可擴(kuò)展到其他服務(wù)質(zhì) 量屬性。 一種通用的指導(dǎo)原則是屬性值具有加和關(guān)系的可以參照價(jià)格屬性聚合建模方法; 屬性值具有乘積關(guān)系的參照成功率屬性聚合建模方法;屬性值具有求均關(guān)系的參照聲望屬 性聚合建模方法;屬性值具有最大值或最小值關(guān)系的參照?qǐng)?zhí)行時(shí)間屬性聚合方法。
為了簡(jiǎn)化復(fù)合服務(wù)質(zhì)量建模技術(shù),我們首先將復(fù)合服務(wù)分解成為若干個(gè)執(zhí)行路 徑,執(zhí)行路徑是一個(gè)不包含有"或"分支結(jié)構(gòu)的復(fù)合服務(wù)。包含多個(gè)執(zhí)行路徑的復(fù)合服務(wù)的
8服務(wù)質(zhì)量建模將在第3部分目標(biāo)模型建模中給出。
1)價(jià)格屬性聚合建模方法針對(duì)每個(gè)執(zhí)行路徑,價(jià)格聚合值計(jì)算方法為 = ; S/w ' 、 ° Pi, j為服務(wù)Si, j的價(jià)格,i G A k表示抽象服務(wù)Si在執(zhí)行路徑A k上, Si, j G Si表示Si, j是實(shí)現(xiàn)抽象服務(wù)Si的一個(gè)具體服務(wù)。
2)聲望屬性聚合建模方法針對(duì)每個(gè)執(zhí)行路徑,聲望聚合值計(jì)算方法為
,M^°" = ^lZ ° I Ak|表示執(zhí)行路徑k上包含的抽象服務(wù)的個(gè)數(shù)。 3)執(zhí)行時(shí)間屬性聚合建模方法首先將一個(gè)執(zhí)行路徑分解為若干個(gè)執(zhí)行子路徑, 子執(zhí)行路徑是一個(gè)不包含有"并"分支的執(zhí)行路徑(當(dāng)然也不包含"或"分支)。并針對(duì)每 個(gè)執(zhí)行子路徑,計(jì)算執(zhí)行時(shí)間聚合值,執(zhí)行時(shí)間在各個(gè)執(zhí)行子路徑上的聚合值計(jì)算方法為
S °z、 ^表示抽象服務(wù)Si在該執(zhí)行路徑的第k條執(zhí)行子路徑sPmk上。由于一
個(gè)執(zhí)行路徑的執(zhí)行時(shí)間為各個(gè)執(zhí)行子路徑執(zhí)行時(shí)間的最大值,因此,針對(duì)各執(zhí)行子路徑,增 4)執(zhí)行成功率屬性聚合建模方法針對(duì)每個(gè)執(zhí)行路徑,執(zhí)行成功率聚合值計(jì)算方
法為^"^^/i^" == 。 n[/"',/" °為了建模求解的方便,需要通過式子兩邊取對(duì)數(shù)的方法, 經(jīng)過步驟2,我們完成了一種特定的服務(wù)質(zhì)量屬性值在復(fù)合服務(wù)中聚合的計(jì)算方 法,即我們已知每個(gè)子服務(wù)的該種服務(wù)質(zhì)量屬性值,和復(fù)合服務(wù)的結(jié)構(gòu),步驟2給出了如何 計(jì)算復(fù)合服務(wù)在這一服務(wù)質(zhì)量屬性值的表達(dá)式。
3,復(fù)合服務(wù)的服務(wù)質(zhì)量目標(biāo)建模方法 在步驟2的基礎(chǔ)上,我們給出如何計(jì)算復(fù)合服務(wù)整體服務(wù)質(zhì)量的方法,即復(fù)合服 務(wù)質(zhì)量模型,并以復(fù)合服務(wù)整體質(zhì)量最大化為選擇目標(biāo)。 1)單個(gè)服務(wù)質(zhì)量屬性值的歸一化經(jīng)過步驟2,我們計(jì)算出了每種服務(wù)質(zhì)量屬性 的屬性值,然而,這些值在各個(gè)屬性上是異構(gòu)的,比如,價(jià)格可能是若干個(gè)貨幣單位,執(zhí)行時(shí) 間是若干個(gè)時(shí)間單位,成功率是一個(gè)百分?jǐn)?shù),因此,需要一種方法將這些值進(jìn)行統(tǒng)一,即歸 一化方法,本發(fā)明采用下述方法進(jìn)行歸一 f ()為歸一化函數(shù),上述第一個(gè)式子用于服務(wù)質(zhì)量屬性為正向的情況,即對(duì)于用戶 來說越大越好,如聲望;而第二個(gè)式子用于負(fù)向的情況,如執(zhí)行時(shí)間。max qj為服務(wù)質(zhì)量屬 性1在執(zhí)行路徑k上的最大可能聚合值;min A1為服務(wù)質(zhì)量屬性1在執(zhí)行路徑k上的最小 可能聚合值;Qk1 (X)為服務(wù)質(zhì)量屬性1在執(zhí)行路徑k上的實(shí)際聚合值,該實(shí)際聚合值由步驟 2計(jì)算。
加一個(gè)約束條件^ . X" ^ & (義)。從而,
<formula>formula see original document page 9</formula>
瞎乘積關(guān)系轉(zhuǎn)換為求和方式,g卩h(露咖/虛她)=i; z in(^,,).、
2)基于加權(quán)方式的多服務(wù)質(zhì)量屬性目標(biāo)單一化用戶希望復(fù)合服務(wù)的總體質(zhì)量 最優(yōu),而不是某種單一屬性上的最優(yōu),因此,需要一種方法,將多個(gè)屬性值映射到單一 目標(biāo) 上,本發(fā)明采用加權(quán)的方式,如下所示 "orq(JQ = gw,.力(JT》 其中,Wl為在屬性1上的權(quán)重。
3)基于概率的復(fù)合服務(wù)質(zhì)量模型 由于復(fù)合服務(wù)包含若干個(gè)執(zhí)行路徑,因此,還需要針對(duì)各執(zhí)行路徑進(jìn)行概率加權(quán)。 基于概率的復(fù)合服務(wù)質(zhì)量模型為
£尸 Ma S戶—.腳"—(JQ 其中,score印ath(X)是price, reputation, execute time禾口 successful rate的
加權(quán),pr path是該執(zhí)行路徑得到執(zhí)行的概率。 4,服務(wù)質(zhì)量目標(biāo)模型和服務(wù)質(zhì)量約束模型的線性化方法 經(jīng)過上述3個(gè)步驟后,我們得到一個(gè)0-1多項(xiàng)式整數(shù)規(guī)劃模型,然而,為了能夠在 多項(xiàng)式時(shí)間內(nèi)獲取選擇結(jié)果,需要將0-1多項(xiàng)式整數(shù)規(guī)劃模型線性化為0-1整數(shù)線性規(guī)劃 模型。 0-1多項(xiàng)式整數(shù)規(guī)劃模型的一般形式為1^"''11 )=^'即等式的一邊為常量,
/eW jet/,
另外一邊為若干個(gè)帶常量系數(shù)的x變量乘積的加和,其中Xj為0-1變量,Y i為常數(shù)變量, "集合里包含若干個(gè)x變量,n、表示集合Ui里的所有x變量乘積。
風(fēng)
該0-1多項(xiàng)式整數(shù)規(guī)劃表達(dá)式轉(zhuǎn)換為0-1整數(shù)線性規(guī)劃表達(dá)式的方法為 2>,.Ek) = 2 o
》廣乂我.卜l
1)用變量yi替換
n鳳.
2) 限制變量yi取值范圍為0或者1,即yi = {0, 1};
3) 針對(duì)每個(gè)i,增加兩個(gè)限制IX—x^"卜i和l"l乂 —2^^o'其中,&
風(fēng)
為集合"中的元素個(gè)數(shù)。
本發(fā)明的有益效果是 在服務(wù)質(zhì)量存在關(guān)聯(lián)關(guān)系時(shí),相比于現(xiàn)有方法,本方法選擇出來的復(fù)合服務(wù)具有 更高的服務(wù)質(zhì)量。
圖1支持服務(wù)質(zhì)量關(guān)聯(lián)的服務(wù)模型定義; 圖2支持服務(wù)質(zhì)量關(guān)聯(lián)的復(fù)合服務(wù)選擇實(shí)施步驟。
具體實(shí)施例方式
為了實(shí)現(xiàn)支持服務(wù)質(zhì)量關(guān)聯(lián)的復(fù)合服務(wù)選擇,需要復(fù)合服務(wù)設(shè)計(jì)人員按照如下步 驟進(jìn)行實(shí)施,如圖2所示 1)根據(jù)從服務(wù)注冊(cè)庫(kù)查詢到的原子服務(wù)質(zhì)量原始描述,基于"原子服務(wù)質(zhì)量描述 模板",對(duì)原子服務(wù)質(zhì)量進(jìn)行描述,從而獲得支持服務(wù)質(zhì)量關(guān)聯(lián)的原子服務(wù)質(zhì)量描述;
2)將基于"原子服務(wù)質(zhì)量描述模板"描述的原子服務(wù)質(zhì)量轉(zhuǎn)換成為基于0-1整數(shù) 規(guī)劃的原子服務(wù)質(zhì)量描述; 3)根據(jù)基于0-1整數(shù)規(guī)劃的原子服務(wù)質(zhì)量描述和復(fù)合服務(wù)結(jié)構(gòu)描述,通過復(fù)合服 務(wù)質(zhì)量聚合方法,計(jì)算每種服務(wù)質(zhì)量屬性上的復(fù)合服務(wù)質(zhì)量0-1整數(shù)規(guī)劃表達(dá)式;
4)通過復(fù)合服務(wù)質(zhì)量目標(biāo)建模方法,計(jì)算復(fù)合服務(wù)質(zhì)量目標(biāo)的0-1整數(shù)多項(xiàng)式規(guī) 戈U表達(dá)式; 5)通過線性化方法,將復(fù)合服務(wù)質(zhì)量目標(biāo)的0-1整數(shù)多項(xiàng)式規(guī)劃表達(dá)式轉(zhuǎn)換為 0-1整數(shù)線性規(guī)劃表達(dá)式; 6)利用線性規(guī)劃求解算法,求解復(fù)合服務(wù)選擇結(jié)果。
權(quán)利要求
一種支持服務(wù)質(zhì)量關(guān)聯(lián)的復(fù)合服務(wù)選擇方法,其步驟為1)原子服務(wù)質(zhì)量映射模塊將復(fù)合服務(wù)內(nèi)各原子服務(wù)質(zhì)量的描述信息映射到原子服務(wù)質(zhì)量描述模板;2)原子服務(wù)質(zhì)量描述模板根據(jù)描述信息對(duì)原子服務(wù)質(zhì)量進(jìn)行描述,得到復(fù)合服務(wù)關(guān)聯(lián)下的原子服務(wù)質(zhì)量描述;3)原子服務(wù)質(zhì)量描述轉(zhuǎn)換模塊將原子服務(wù)質(zhì)量描述轉(zhuǎn)換為0-1整數(shù)規(guī)劃的原子服務(wù)質(zhì)量描述;4)聚合計(jì)算模塊根據(jù)0-1整數(shù)規(guī)劃的原子服務(wù)質(zhì)量描述和復(fù)合服務(wù)結(jié)構(gòu)描述,計(jì)算復(fù)合服務(wù)的服務(wù)質(zhì)量屬性值;5)根據(jù)復(fù)合服務(wù)的服務(wù)質(zhì)量屬性值,復(fù)合服務(wù)質(zhì)量模塊計(jì)算復(fù)合服務(wù)質(zhì)量目標(biāo)的0-1整數(shù)多項(xiàng)式規(guī)劃表達(dá)式;6)將復(fù)合服務(wù)質(zhì)量目標(biāo)的0-1整數(shù)多項(xiàng)式規(guī)劃表達(dá)式轉(zhuǎn)換為0-1整數(shù)線性規(guī)劃表達(dá)式;7)利用線性規(guī)劃求解算法,求解復(fù)合服務(wù)選擇結(jié)果。
2. 如權(quán)利要求1所述的方法,其特征在于所述描述信息包括原子服務(wù)的服務(wù)質(zhì)量屬性 值和各原子服務(wù)之間的關(guān)聯(lián)關(guān)系;所述原子服務(wù)質(zhì)量描述模板根據(jù)所述各原子服務(wù)之間的 關(guān)聯(lián)關(guān)系確定原子服務(wù)質(zhì)量屬性的取值,得到所述原子服務(wù)質(zhì)量描述。
3. 如權(quán)利要求1所述的方法,其特征在于所述將原子服務(wù)質(zhì)量描述轉(zhuǎn)換為0-1整數(shù)規(guī) 劃模型的方法為首先對(duì)原子服務(wù)的服務(wù)質(zhì)量屬性的取值方法進(jìn)行數(shù)學(xué)建模;然后將得到 的數(shù)學(xué)模型轉(zhuǎn)換為0-1整數(shù)規(guī)劃模型。
4. 如權(quán)利要求1或2或3所述的方法,其特征在于所述服務(wù)質(zhì)量屬性包括價(jià)格、聲望、 執(zhí)行時(shí)間、執(zhí)行成功率。
5. 如權(quán)利要求4所述的方法,其特征在于首先將復(fù)合服務(wù)分解成為若干個(gè)執(zhí)行路徑, 分解后的所述執(zhí)行路徑是一個(gè)不包含有"或"分支結(jié)構(gòu)的復(fù)合服務(wù)。
6. 如權(quán)利要求5所述的方法,其特征在于計(jì)算所述價(jià)格屬性值的0-1整數(shù)規(guī)劃表達(dá)式為= ;其中,pi,j為服務(wù)Si,j的價(jià)格,Xi,j表示服務(wù)Si,j是否被選中,Xi,j為l表示被選中,為O表示沒有被選中,i G入k表示抽象服務(wù)Si在執(zhí)行路徑入k上,Si,j G Si 表示Si, j是實(shí)現(xiàn)抽象服務(wù)Si的一個(gè)具體服務(wù)。
7. 如權(quán)利要求5所述的方法,其特征在于計(jì)算所述聲望屬性值的0-1整數(shù)規(guī)劃表達(dá)式為,她"0" = ^五;其中,I a j表示執(zhí)行路徑k上包含的抽象服務(wù)的個(gè)數(shù),I AA I /e、 、,, Ki G A k表示抽象服務(wù)Si在執(zhí)行路徑A k上,Si, j G Si表示Si, j是實(shí)現(xiàn)抽象服務(wù)Si的一個(gè)具體服務(wù),A, j為服務(wù)Si,j的聲望,Xi, j表示服務(wù)Si,j是否被選中,Xi, j為1表示被選中,為0 表示沒有被選中。
8. 如權(quán)利要求5所述的方法,其特征在于計(jì)算所述執(zhí)行時(shí)間屬性值的0-1整數(shù)規(guī)劃 表達(dá)式為首先將所述執(zhí)行路徑分解為若干個(gè)執(zhí)行子路徑,所述子執(zhí)行路徑為一不包含有 "并"和"或"分支的執(zhí)行路徑;然后并針對(duì)每個(gè)執(zhí)行子路徑,計(jì)算執(zhí)行時(shí)間聚合值,執(zhí)行時(shí)間在各個(gè)執(zhí)行子路徑上的聚合值計(jì)算方法為2]t ;其中"、^^表示抽象服務(wù)Si在該執(zhí)行路徑的第k條執(zhí)行子路徑spmk上,Si,j G Si表示Si,j是實(shí)現(xiàn)抽象服務(wù)Si的一個(gè)具 體服務(wù),ei, j為服務(wù)Si, j的執(zhí)行時(shí)間,Xi, j表示服務(wù)Si, j是否被選中,Xi, j為1表示被選中, 為O表示沒有被選中。
9. 如權(quán)利要求5所述的方法,其特征在于計(jì)算所述執(zhí)行成功率屬性值的0-1整數(shù)規(guī)劃 表達(dá)式為:雄^/虛她=U H巧,/";其中,表示服務(wù)是否被選中,j為丄表示被選中,為O表示沒有被選中,sri,j為服務(wù)Si,j的執(zhí)行成功率,i G入k表示抽象服務(wù)Si在 執(zhí)行路徑A k上,Si, j G Si表示Si, j是實(shí)現(xiàn)抽象服務(wù)Si的一個(gè)具體服務(wù)。
10. 如權(quán)利要求1所述的方法,其特征在于所述計(jì)算復(fù)合服務(wù)質(zhì)量目標(biāo)的0-1整數(shù)多項(xiàng) 式規(guī)劃表達(dá)式的方法為1) 將服務(wù)質(zhì)量屬性值進(jìn)行歸一化;2) 基于加權(quán)方式,對(duì)多服務(wù)質(zhì)量屬性目標(biāo)映射到單一目標(biāo)上,進(jìn)行單一化;3) 基于概率的復(fù)合服務(wù)質(zhì)量模型,對(duì)各執(zhí)行路徑進(jìn)行概率加權(quán),得到所述計(jì)算復(fù)合服 務(wù)質(zhì)量目標(biāo)的0-1整數(shù)多項(xiàng)式規(guī)劃表達(dá)式。
11. 如權(quán)利要求1所述的方法,其特征在于所述將計(jì)算復(fù)合服務(wù)質(zhì)量目標(biāo)的0-1整數(shù)多 項(xiàng)式規(guī)劃表達(dá)式轉(zhuǎn)換為計(jì)算復(fù)合服務(wù)質(zhì)量目標(biāo)的O-l整數(shù)線性規(guī)劃表達(dá)式的方法為1) 用變量yi替換o-i整數(shù)多項(xiàng)式規(guī)劃表達(dá)式中的n、;鳳2) 限制變量yi取值范圍為0或者1,即yi = {0, 1};3) 針對(duì)每個(gè)71,增加兩個(gè)限制 <formula>formula see original document page 3</formula>盧0'其中,|Ui|為集鳳 風(fēng).合Ui中的元素個(gè)數(shù)。
全文摘要
本發(fā)明公開了一種支持服務(wù)質(zhì)量關(guān)聯(lián)的復(fù)合服務(wù)選擇方法,屬于計(jì)算機(jī)網(wǎng)絡(luò)應(yīng)用領(lǐng)域。本發(fā)明的方法為首先根據(jù)復(fù)合服務(wù)內(nèi)各原子服務(wù)質(zhì)量的描述信息對(duì)原子服務(wù)質(zhì)量進(jìn)行描述;然后將該原子服務(wù)質(zhì)量描述轉(zhuǎn)換為0-1整數(shù)規(guī)劃的原子服務(wù)質(zhì)量描述;通過聚合計(jì)算模塊計(jì)算復(fù)合服務(wù)的服務(wù)質(zhì)量屬性值;再根據(jù)復(fù)合服務(wù)的服務(wù)質(zhì)量屬性值,計(jì)算復(fù)合服務(wù)質(zhì)量目標(biāo)的0-1整數(shù)多項(xiàng)式規(guī)劃表達(dá)式;最后將復(fù)合服務(wù)質(zhì)量目標(biāo)的0-1整數(shù)多項(xiàng)式規(guī)劃表達(dá)式轉(zhuǎn)換為0-1整數(shù)線性規(guī)劃表達(dá)式,利用線性規(guī)劃求解算法求解出復(fù)合服務(wù)選擇結(jié)果。相比于現(xiàn)有方法,本方法選擇出來的復(fù)合服務(wù)具有更高的服務(wù)質(zhì)量。
文檔編號(hào)G06F17/00GK101739385SQ20091024245
公開日2010年6月16日 申請(qǐng)日期2009年12月11日 優(yōu)先權(quán)日2009年12月11日
發(fā)明者葉世陽, 魏峻, 黃濤 申請(qǐng)人:中國(guó)科學(xué)院軟件研究所