劉蓉,李紅艷,楊長(zhǎng)興
(1. 長(zhǎng)沙醫(yī)學(xué)院 計(jì)算機(jī)系,湖南 長(zhǎng)沙,410219;2. 中南大學(xué) 信息科學(xué)與工程學(xué)院,湖南 長(zhǎng)沙,410083)
在服務(wù)計(jì)算環(huán)境中(或者云計(jì)算中)服務(wù)提供者將自身業(yè)務(wù)功能包裝為服務(wù)并對(duì)外發(fā)布,通常是服務(wù)代理(Service broker)將現(xiàn)有服務(wù)進(jìn)行組合,并將組合后的整體提供服務(wù)給客戶(或稱服務(wù)消費(fèi)者,Services consumption),以實(shí)現(xiàn)服務(wù)價(jià)值的增值[1-3]。服務(wù)代理的一個(gè)最重要目標(biāo)是如何實(shí)現(xiàn)效益的最大化,即通過提供增值服務(wù)來獲得最大的經(jīng)濟(jì)效益。人們對(duì)服務(wù)選擇問題[4-10]進(jìn)行了大量研究。早期的研究主要關(guān)注如何從可選的服務(wù)集合中選取QoS高的服務(wù),其思想是:若選擇的服務(wù)QoS高,則服務(wù)組合后整體的QoS也較高[11-13]。Zeng等[14-15]通過把可選擇服務(wù)的QoS束參數(shù)線性加權(quán)轉(zhuǎn)化為1個(gè)單目標(biāo)函數(shù),轉(zhuǎn)化為1個(gè)值,從而避免了多維QoS間的比較問題。劉書雷等[6]提出了一種基于多目標(biāo)遺傳算法的QoS全局最優(yōu)服務(wù)動(dòng)態(tài)選擇(Global optimal of dynamic Web services selection,GODSS)算法[6]。相關(guān)的研究工作還有動(dòng)態(tài)規(guī)則算法、線性規(guī)則的方法[9]、基因算法[7]、PSO 算法、啟發(fā)式算法[8-10]等。在最近的研究中,可信服務(wù)組合的研究工作較多[3-7]。在對(duì)服務(wù)可信性的基礎(chǔ)上,對(duì)服務(wù)的QoS進(jìn)行重新計(jì)算是一種較好的方法。為此,李研等[5]提出了一種考慮QoS數(shù)據(jù)可信性的服務(wù)選擇方法。劉書雷等[6]采用模擬退火算法實(shí)現(xiàn)了如何從多個(gè)客戶中選擇使得系統(tǒng)收益最大的客戶提供服務(wù)。但是,這些研究往往是采用某一種優(yōu)化方法從當(dāng)前的服務(wù)中選取一些能夠當(dāng)前收益最大化的客戶來提供服務(wù)。但是,這種方法存在的關(guān)鍵問題是:
(1) 由于服務(wù)能力的限制,服務(wù)代理難以對(duì)所有服務(wù)提供服務(wù),因而只能選擇對(duì)服務(wù)代理來說能夠創(chuàng)造收益最大的客戶。但是,如果一味地選擇對(duì)當(dāng)前來說能夠帶來最大收益的客戶并不一定是一種“好”的策略。因?yàn)檫@可能引起潛在的有價(jià)值的客戶得不到應(yīng)有的接納率,導(dǎo)致這些潛在的有價(jià)值的客戶流失。
(2) 由于網(wǎng)絡(luò)的復(fù)雜性,客戶往往只需要匿名就可以,因而,虛假的甚至惡意的客戶也很多,若不加以區(qū)別,往往會(huì)陷入對(duì)手或者攻擊者設(shè)計(jì)的圈套,從而不但不能得到較好的收益,反而會(huì)受到攻擊與損害。
為此,本文作者提出一種新的使收益最大化的客戶選擇策略。策略的目標(biāo)是使得服務(wù)代理能夠獲得長(zhǎng)期的收益最大化,而不僅僅使當(dāng)前的收益最大化。其基本思想是:首先建立服務(wù)代理與客戶之間的交互行為模型,依據(jù)交互的歷史情況來描述與判斷客戶的潛在價(jià)值,從更長(zhǎng)遠(yuǎn)的角度來考察客戶是否能夠帶來長(zhǎng)遠(yuǎn)的價(jià)值。如何判斷客戶的長(zhǎng)久價(jià)值是一個(gè)重要的問題。為此,采用一種新穎的方法,即:依據(jù)客戶的交互記錄來判斷客戶的潛在價(jià)值??蛻舻臐撛趦r(jià)值的判斷是依據(jù)客戶在過去一段時(shí)間內(nèi)交互行為產(chǎn)生的價(jià)值來判斷的,然后,在很長(zhǎng)一段時(shí)間內(nèi),來判斷接納此服務(wù)能夠帶來的效益,以及失去此客戶而減少的收益,從而綜合評(píng)價(jià)與選擇真正能夠帶來長(zhǎng)遠(yuǎn)收益的客戶。
此外,服務(wù)的可信性是服務(wù)代理能夠獲得穩(wěn)定收益的重要前提,為此,對(duì)每一個(gè)客戶依據(jù)交互情況給出1個(gè)風(fēng)險(xiǎn)評(píng)估值,依據(jù)風(fēng)險(xiǎn)評(píng)估值對(duì)客戶的價(jià)值進(jìn)行修正。修正的原則是;對(duì)于可信度高的客戶,風(fēng)險(xiǎn)評(píng)估的修正值與1接近;對(duì)于可信度低的客戶,風(fēng)險(xiǎn)評(píng)估的修正值與0接近??蛻粜拚蟮膬r(jià)值為風(fēng)險(xiǎn)評(píng)估修正值與服務(wù)協(xié)商中標(biāo)定的收益的乘積。
本文所采用的服務(wù)體系結(jié)構(gòu)與文獻(xiàn)[6]中所采用的服務(wù)體系結(jié)構(gòu)相同。在這樣的服務(wù)架構(gòu)中,來自互聯(lián)網(wǎng)中的客戶向服務(wù)代理申請(qǐng)服務(wù)組合,服務(wù)代理收到客戶的請(qǐng)求后,依據(jù)自己的資源情況,從互聯(lián)網(wǎng)中選擇合適的服務(wù)進(jìn)行服務(wù)組合后提供給客戶,并以此來獲得收益,如圖1所示。
圖1 服務(wù)體系結(jié)構(gòu)Fig.1 Services architecture
在服務(wù)代理對(duì)客戶提供服務(wù)時(shí),服務(wù)代理需要與客戶進(jìn)行服務(wù)級(jí)別協(xié)商(Service level agreements,SLA)。將SLA具體化為一系列的服務(wù)級(jí)別, 每個(gè)級(jí)別規(guī)定服務(wù)質(zhì)量、價(jià)格等方面的參數(shù)[7,9],并給出其收益規(guī)則(包括定價(jià)與罰金規(guī)則),以支持基于SLA的服務(wù)組合。設(shè)服務(wù)代理A共有k個(gè)服務(wù)級(jí)別,定義為:
其中,第i個(gè)服務(wù)級(jí)別表示為:
與文獻(xiàn)[26]中的研究類似,服務(wù)代理記錄與每一個(gè)客戶交互過程中的信息如表1所示。在表1中,服務(wù)交互的結(jié)果共有n行代表n個(gè)客戶,m列代表最近的m次服務(wù)交互過程的行為。
表1 服務(wù)代理記錄的交互信息Table 1 Interaction information of broker
在表1中,設(shè)服務(wù)代理A在時(shí)間ti時(shí)對(duì)客戶w進(jìn)行服務(wù)交互后的信息為記錄的交互信息實(shí)際上包括如下幾方面內(nèi)容:(1) 交互前的服務(wù)協(xié)商的服務(wù)級(jí)別交互后實(shí)際的服務(wù)級(jí)別其他信息記錄其他對(duì)客戶的一些評(píng)價(jià)信息。
在服務(wù)計(jì)算環(huán)境中,客戶不斷地向服務(wù)代理提交服務(wù)請(qǐng)求。服務(wù)請(qǐng)求信息包含的內(nèi)容為某一服務(wù)級(jí)別SLAi。因?yàn)樵谳^短時(shí)間內(nèi),可能有多個(gè)客戶的請(qǐng)求同時(shí)到達(dá),由于資源有限,服務(wù)代理可能可以同時(shí)滿足有多個(gè)服務(wù)級(jí)別的多個(gè)需求,但是,可能難以在此段時(shí)間內(nèi)滿足所有客戶的需求。因此,在這種情況下,服務(wù)代理就需要對(duì)多個(gè)客戶進(jìn)行擇優(yōu)選擇,選擇的目標(biāo)是使 broker在較長(zhǎng)時(shí)期內(nèi)獲取盡可能多的服務(wù)收益。這樣,問題就轉(zhuǎn)化為1個(gè)多目標(biāo)優(yōu)化問題,即在有限的服務(wù)資源下, 組合服務(wù)的收益優(yōu)化問題轉(zhuǎn)化為基于SLA 的以收益最大化為目標(biāo)的客戶動(dòng)態(tài)選擇。
綜上所述,收益優(yōu)化的問題即對(duì)于網(wǎng)絡(luò)中任意服務(wù)代理A滿足下式:
要使服務(wù)收益最大化就是使服務(wù)代理在一段時(shí)期內(nèi)獲得的收益最大,其中一段時(shí)間在式(3)中用T表示。T越大,表示服務(wù)代理在長(zhǎng)時(shí)間內(nèi)獲得的收益最大,而當(dāng)前的大多數(shù)研究沒有考慮較長(zhǎng)時(shí)期有收益情況。從長(zhǎng)遠(yuǎn)的角度來看,服務(wù)代理獲得長(zhǎng)期的收益才是其根本目標(biāo),僅獲得當(dāng)前的收益最大化往往不具有現(xiàn)實(shí)意義。收益的計(jì)算是提供服務(wù)收取的獲利與提供服務(wù)失敗時(shí)罰款的差值。式(3)中的限定條件是服務(wù)代理的資源有限,因此,服務(wù)代理接納的客戶對(duì)服務(wù)代理的QoS需求的量不能大于服務(wù)代理擁有的量。
服務(wù)級(jí)別協(xié)議(SLA)作為服務(wù)雙方關(guān)于服務(wù)內(nèi)容、質(zhì)量等方面的約定,是服務(wù)計(jì)算中保障服務(wù)質(zhì)量和顧客滿意度的有效途徑[2]。但是,一般來說,由服務(wù)代理提供的SLA僅是作為一種競(jìng)爭(zhēng)依據(jù),客戶一般是根據(jù)服務(wù)代理提供的協(xié)議挑選服務(wù),而很難要求服務(wù)代理提供商協(xié)商SLA的細(xì)節(jié)[3]。因此,在服務(wù)組合時(shí),服務(wù)代理需要“智能”地選擇客戶以求達(dá)到收益最大化的目標(biāo)。針對(duì)以往研究中僅僅依據(jù)客戶當(dāng)前的收益情況來決定是否接納客戶的不足,本文提出以下幾點(diǎn):(1) 判斷客戶的價(jià)值不僅僅依據(jù)客戶的當(dāng)前收益報(bào)價(jià),而要考慮客戶長(zhǎng)期表現(xiàn)出來的收益。而長(zhǎng)期收益在本文中是依據(jù)客戶在較長(zhǎng)時(shí)間內(nèi)表現(xiàn)出來的收益來確定的。同時(shí),由于不同的客戶活路程度不相同,對(duì)于價(jià)值較大而活躍程度不高的客戶,若服務(wù)代理接收到其服務(wù)請(qǐng)求,則代表這次請(qǐng)求具有更重要的意義,應(yīng)該接納其請(qǐng)求。因而,在本文中,給出了依據(jù)客戶活躍程度的長(zhǎng)期價(jià)值計(jì)算方法。(2) 對(duì)于客戶即時(shí)提交的請(qǐng)求,不能完全相信其請(qǐng)求所能夠帶來的收益,在本文中依據(jù)其信任度對(duì)其進(jìn)行修正,以使其更符合實(shí)際。最后,依據(jù)長(zhǎng)期與當(dāng)前收益給出公正的收益判斷再進(jìn)行優(yōu)化選擇。
客戶能夠給服務(wù)提供者帶來的收益實(shí)際上包括 2部分:第1部分是客戶的服務(wù)請(qǐng)求到達(dá)后,當(dāng)次服務(wù)請(qǐng)求能夠帶來的收益;第2部分是客戶在未來一段時(shí)間內(nèi)預(yù)期能夠給服務(wù)代理帶來的收益。在以往的研究中,往往只考察了第1部分能夠給服務(wù)代理帶來的即時(shí)收益,因而可能會(huì)拒絕某次重要的有價(jià)值的客戶帶來小額收益的服務(wù)請(qǐng)求,從而失去一些重要的客戶。而客戶請(qǐng)求的即時(shí)收益是在服務(wù)級(jí)別協(xié)商中被標(biāo)明,因此,現(xiàn)在的關(guān)鍵問題是如何計(jì)算客戶的長(zhǎng)期價(jià)值。
客戶的長(zhǎng)期價(jià)值是指從服務(wù)代理的角度出發(fā)計(jì)算的客戶在未來一段時(shí)間內(nèi)可能帶來的收益,作為是否接納此客戶的重要依據(jù)。
設(shè)服務(wù)代理A與客戶B在時(shí)間ti進(jìn)行了1次服務(wù)交互,此次產(chǎn)生的收益為:
若服務(wù)代理A與客戶B進(jìn)行了多次服務(wù)交互,則服務(wù)代理A對(duì)客戶B下一次交互的預(yù)期收益UA,B為:
式中:]1,0[)(∈k?為衰減函數(shù),用于對(duì)發(fā)生在不同時(shí)刻的收益進(jìn)行合理加權(quán),根據(jù)實(shí)際的社會(huì)交互行為習(xí)慣,對(duì)于新發(fā)生的交互行為應(yīng)該給予更多的權(quán)重[4]。衰減函數(shù)定義為:
式(5)給出了客戶在下一次交互中的預(yù)期收益計(jì)算。服務(wù)代理是否接納客戶的請(qǐng)求在很大程度上取決于客戶是否能夠?yàn)榉?wù)代理帶來長(zhǎng)期的收益,換句話說,若客戶不能夠?yàn)榉?wù)帶來長(zhǎng)期的收益,則僅僅本次收益高而接納此客戶會(huì)造成長(zhǎng)期價(jià)值高的客戶流失;反之,若客戶的未來長(zhǎng)期收益大,則服務(wù)代理也不應(yīng)該僅因?yàn)楫?dāng)前的收益小而拒絕提供服務(wù)。
客戶的長(zhǎng)期價(jià)值的計(jì)算思想是依據(jù)客戶在時(shí)間維度上的表現(xiàn)來刻畫的,其思想是:若需要預(yù)測(cè)未來時(shí)間長(zhǎng)度為T的潛在價(jià)值,則依據(jù)客戶的歷史反映未來的思想,依據(jù)從當(dāng)前時(shí)間起反向T時(shí)間內(nèi)交互情況的收益來反映,計(jì)算式如下:
式中:t表示從當(dāng)前時(shí)刻向后推T的時(shí)間內(nèi)服務(wù)代理得到的收益,若向后推的時(shí)間小于 T,則包括所有的交互行為;本身的意義是客戶在未來的時(shí)間T內(nèi)的潛在收益(價(jià)值),它實(shí)際上也包括了若不接納此客戶,則在未來的時(shí)間T內(nèi),服務(wù)代理從客戶B中損失的收益。
前面給出了客戶的潛在價(jià)值的計(jì)算方法,但還存在1個(gè)問題:對(duì)于B與C 2個(gè)客戶,在時(shí)間T內(nèi)的收益相同,,但是,若交互的次數(shù)不相同,其中客戶B的交互次數(shù)遠(yuǎn)大于客戶C的交互次數(shù),則同時(shí)有客戶B與客戶C的服務(wù)請(qǐng)求到達(dá),由于資源的有限性,只能提供1個(gè)客戶的服務(wù)。此時(shí)存在選擇哪個(gè)客戶對(duì)服務(wù)代理更有利的問題。顯然,客戶B與服務(wù)代理A交互次數(shù)非常多,但是,其產(chǎn)生的收益與客戶C的相等,這說明客戶B每次的收益遠(yuǎn)小于客戶C每次的收益。因而,在這種情況下,應(yīng)該選擇C才能帶來更大的收益。而客戶B由于交互次數(shù)多,也不會(huì)因?yàn)榕既坏?次拒絕而使其流失。但對(duì)客戶C來說,交互次數(shù)較小,每次的收益大,可能因僅有的1次拒絕便會(huì)使其流失。這說明:即使按前面論述的方法考慮客戶的潛在價(jià)值,也要考慮客戶的活躍度,若客戶越活躍(交互次數(shù)越多),則反映其每次收益小。為此,采取如下方法。
客戶活躍度反映了客戶在網(wǎng)絡(luò)中的活躍程度與穩(wěn)定程度,若客戶交互的次數(shù)越多,則表示客戶會(huì)在較小的時(shí)間內(nèi)有多次的服務(wù)請(qǐng)求,因而,在總收益相同的情況下應(yīng)該降低其重要程度,而接納活躍度小的重要客戶,從而能夠帶來更多的收益。定義活躍因子為:
客戶的潛在價(jià)值(收益)為:
前面論述了客戶的潛在價(jià)值,但是,在很多種情況下,單以客戶帶來的收益來進(jìn)行客戶選擇會(huì)帶來一些問題,其中客戶的可信度是一個(gè)重要的因素。這里給出對(duì)客戶可信度的計(jì)算方法。設(shè)每次服務(wù)代理與交互的記錄如下:
則服務(wù)代理A依據(jù)信任判斷函數(shù)可得到對(duì)客戶B的信任度,即
式中:f1函數(shù)為抽象化的函數(shù),是服務(wù)代理依據(jù)服務(wù)協(xié)商的結(jié)果對(duì)客戶的信任評(píng)價(jià)值。例如:對(duì)于服務(wù)價(jià)格這個(gè)指標(biāo),當(dāng)業(yè)務(wù)代理A與客戶B在達(dá)成SLA后,若客戶嚴(yán)格按照約定的服務(wù)級(jí)別使用服務(wù)資源,則其可信度較高,f1函數(shù)則給出較高值;反之,若客戶濫用服務(wù)資源,不遵守服務(wù)級(jí)別約定,則服務(wù)代理給出的可信度就低。f2是服務(wù)代理在考察其他指標(biāo)上制定的信任轉(zhuǎn)換函數(shù)。例如,服務(wù)代理A規(guī)定若客戶B對(duì)服務(wù)代理A進(jìn)行攻擊或者濫用服務(wù),則直接給出其信任度為最差級(jí)。需要指出的是:每個(gè)服務(wù)代理A制定的轉(zhuǎn)換函數(shù)可以不同,但每個(gè)服務(wù)代理A依據(jù)自己的f1和 f2函數(shù)進(jìn)行信任度的評(píng)測(cè),這樣,每個(gè)服務(wù)代理都能夠依據(jù)自己的信任轉(zhuǎn)化函數(shù)建立自己的信任空間,這樣,既符合社會(huì)網(wǎng)絡(luò),也符合實(shí)際分布式網(wǎng)絡(luò)。在這樣的網(wǎng)絡(luò)中,不可能存在一個(gè)統(tǒng)一的信任度評(píng)價(jià)標(biāo)準(zhǔn),每個(gè)實(shí)體都是唯一的和個(gè)性化的,都依據(jù)自己的信任評(píng)價(jià)函數(shù)在互聯(lián)網(wǎng)絡(luò)上進(jìn)行信任演化與交互,以使自己能夠獲得較大的利益。
因此,在1次評(píng)價(jià)結(jié)果上,對(duì)多次相互交互的客戶信任評(píng)價(jià)計(jì)算如下:設(shè)是服務(wù)代理A對(duì)客戶B的所有交互行為的可信評(píng)價(jià),
其中:TA,B表示服務(wù)代理A對(duì)客戶B的信任度。
潛在價(jià)值實(shí)際上是對(duì)未來的一種預(yù)值,是一種長(zhǎng)期的走勢(shì)。因此,當(dāng)1個(gè)客戶有具體的服務(wù)請(qǐng)求到達(dá)時(shí),這個(gè)客戶的請(qǐng)求會(huì)提出1個(gè)具體的服務(wù)級(jí)別,其中服務(wù)級(jí)別包括了收益情況。而當(dāng)前的收益情況是本次交互行為的重要體現(xiàn)。但服務(wù)協(xié)商的收益并不一定能夠?qū)崿F(xiàn),還需要進(jìn)行適當(dāng)修正。其原因如下。
如與服務(wù)代理A長(zhǎng)期交互的某客戶B在原來的交互歷史中每次的交易量較小,產(chǎn)生的收益是1個(gè)較小的值如 ζ。但是,也不能排除在當(dāng)前的交互中客戶 B申請(qǐng)較高級(jí)別的服務(wù),并給出較大的遠(yuǎn)大于ζ的收益。顯然,因?yàn)榭蛻鬊是可信的,因而,有理由相信客戶B承諾的收益遠(yuǎn)大于收益ζ是可能的。
但是,對(duì)于另一個(gè)客戶C,若在前期的交互過程中存在很小的信用度,則由前期計(jì)算得到的預(yù)期收益也非常低,在這種情況下,若客戶在當(dāng)前的申請(qǐng)中提出很高的收益,顯然這難以讓人相信,其收益也難以得到實(shí)現(xiàn)。因此,僅依據(jù)當(dāng)前的收益接納這樣的客戶有可能會(huì)不但得不到較好的收益,反而會(huì)使其收益最小。
為此,這里采用服務(wù)的可信度對(duì)當(dāng)前服務(wù)協(xié)商定的收益進(jìn)行修正的結(jié)果,其計(jì)算方法如下:
對(duì)于服務(wù)代理 A,有眾多客戶的服務(wù)請(qǐng)求到達(dá),服務(wù)代理從中選擇那些客戶以使得系統(tǒng)的收益最大。下面給出收益優(yōu)化的客戶選擇方法。
與以往研究不同的是,本文的策略不僅僅以當(dāng)前客戶的服務(wù)協(xié)商級(jí)別下的收益為標(biāo)準(zhǔn),還綜合考慮了如下 3個(gè)方面的情況:(1) 客戶的潛在收益情況;(2) 客戶的當(dāng)前收益情況;(3) 客戶的信任度。然后,綜合這3個(gè)方面,綜合客戶當(dāng)前收益與潛在收益情況,采用線性轉(zhuǎn)化函數(shù),將其轉(zhuǎn)化為1個(gè)較高的綜合收益。然后,依據(jù)綜合收益情況來選擇綜合收益最大的客戶,從而給出一種較為適合實(shí)際的客戶選擇方法。詳細(xì)分析如下。
對(duì)于1個(gè)到達(dá)的客戶B,其綜合收益計(jì)算表達(dá)式為:
式(15)的計(jì)算綜合了客戶的信任度、潛在收益和當(dāng)前的收益,因而客戶選擇算法很容易給出。算法如下:
//多個(gè)客戶的服務(wù)請(qǐng)求到達(dá)時(shí),確定選擇哪些客戶以使得系//統(tǒng)的收益最化。
輸入:服務(wù)代理A所有與客戶的交互記錄,客戶的請(qǐng)示
輸出:被選擇的客戶
Step 1:讀入服務(wù)代理記錄的客戶交互信息
Step 2:對(duì)每一個(gè)提出請(qǐng)求的客戶例如B進(jìn)行如下計(jì)算:
Step 2.1: 依據(jù)式(5)計(jì)算出tk時(shí)的收益
Step 2.3: 據(jù)式(8)計(jì)算出 T時(shí)間段的潛在收益
Step 2.4: 據(jù)式(11)計(jì)算對(duì)客戶 B ti時(shí)的信任值
Step 2.7: 據(jù)式(14)計(jì)算對(duì)客戶 B當(dāng)前的收益值
Step 2.8: 據(jù)式(15)計(jì)算對(duì)客戶 B的綜合收益值
Step 3: 對(duì)所有客戶計(jì)算的綜合收益 UA,B進(jìn)行排序,選擇出前m個(gè)客戶,使其對(duì)資源的需求不能再滿足任何一個(gè)客戶。
Step 4:接納選中的客戶,提供服務(wù)。
Step 5: end.
下面通過模擬實(shí)驗(yàn)來驗(yàn)證。實(shí)驗(yàn)的硬件環(huán)境如下:CPU 為Intel Pentium IV2.56GHz,內(nèi)存為4G,操作系統(tǒng)為Windows XP;算法實(shí)現(xiàn)語言為JAVA。
設(shè)置服務(wù)代理的QoS資源維數(shù)為5,每個(gè)QoS的容量為1 000元;服務(wù)級(jí)別(SLA)共10級(jí),最低的服務(wù)價(jià)格為200元,每個(gè)服務(wù)級(jí)別級(jí)差價(jià)格為80元。共產(chǎn)生客戶數(shù)量為500個(gè),其中:
(1) 20%的客戶為惡意的客戶。這些惡意的客戶分為2種:第1種為純粹的惡意攻擊者,每次都只對(duì)服務(wù)代理產(chǎn)生攻擊,在實(shí)驗(yàn)中簡(jiǎn)稱為A(1)類客戶;第2種為善于偽裝的攻擊者,這種攻擊者可能在前期的活動(dòng)中積累一定的信任值后,再進(jìn)行攻擊。如在前進(jìn)行多次小額度的服務(wù)請(qǐng)求,并嚴(yán)格按服務(wù)協(xié)商的結(jié)果執(zhí)行,以取得服務(wù)代理的一定信任。然后,提出較大額的服務(wù)請(qǐng)求,但在這次大額請(qǐng)求中僅占用資源,而不付出相應(yīng)的費(fèi)用,從而達(dá)到欺騙的目的,在實(shí)驗(yàn)中簡(jiǎn)稱為A(2)類客戶。
(2) 有 20%的為小客戶,信任度較高,但是,每次交互的收益不大,收益在最低的幾級(jí)中選擇,在實(shí)驗(yàn)中簡(jiǎn)稱為B類客戶。
(3) 有40%的客戶為中等的客戶,信任度也較高,每次交互的服務(wù)級(jí)別為5左右,處于中等的級(jí)別,在實(shí)驗(yàn)中簡(jiǎn)稱為C類客戶。
(4) 20%的客戶是大客戶,信任度較高,其服務(wù)協(xié)商級(jí)別通常大于8 級(jí),在實(shí)驗(yàn)中簡(jiǎn)稱為D類客戶。
采用本文提出的策略,讓各類客戶不斷按前述所給的比例向服務(wù)代理提交服務(wù)請(qǐng)求,服務(wù)代理接納不同類客戶的比例如圖2所示。從圖2可以看出:A類(惡意客戶)隨著交互行為的進(jìn)行其被服務(wù)代理接納的比例逐步下降,而可信的客戶B,C和D類的比例逐漸上升。這說明本文的策略能夠較好地維護(hù)可信客戶的交互,而將不可信客戶排除,有利于服務(wù)代理獲得較好的收益。而且價(jià)值大的客戶接納率越高。
圖2 隨時(shí)間變化接納不同類型客戶的比例Fig.2 Relationship between accepted ratio of different type clients and time
圖3所示為不同策略下服務(wù)代理的收益。圖3中,以當(dāng)前收益最大化的策略標(biāo)記為策略Ⅰ(Policy Ⅰ),本文的以長(zhǎng)期收益最大化的策略標(biāo)記為策略Ⅱ(PolicyⅡ)。從圖3可以看出:本文的策略隨著時(shí)間的推移,其收益越來越大,而僅以當(dāng)前收益最大化為目標(biāo)的策略由于對(duì)潛在的客戶接納率不高,因而流失(在實(shí)驗(yàn)設(shè)置中,設(shè)置了1個(gè)與價(jià)值成反比的容忍拒絕率,價(jià)值越高,則容忍拒絕的次數(shù)越少,反之,容忍拒絕的次數(shù)越多),從而造成高價(jià)值的客戶減少而使收益減少。這說明本文的策略具有較好的作用。
圖4所示為本文策略下不同類型的客戶信任度隨時(shí)間的變化情況。從圖 4可以看出:在開始階段,A類的不可信客戶可信度較低,而且隨著交互的進(jìn)行,其可信度下降很快;而可信的客戶隨著交互的進(jìn)行,其可信度一直上升。
圖5所示為不同類客戶自己宣稱的收益與系統(tǒng)評(píng)價(jià)的收益。從圖5可以看出:對(duì)于不可信的客戶,其宣稱的收益遠(yuǎn)遠(yuǎn)大于其實(shí)際收益,因而系統(tǒng)的評(píng)價(jià)值遠(yuǎn)小于它自己宣稱的值。而對(duì)于可信的客戶,其宣稱值與系統(tǒng)評(píng)價(jià)值基本一致,說明本文的策略對(duì)不可信客戶,具有較好的效果。
圖3 不同策略下隨時(shí)間變化的收益對(duì)比Fig.3 Relationship between gains in different policies and time
圖4 本文策略下隨時(shí)間變化各類客戶的信任度變化情況Fig.4 Relationship between trust of different type clients and time
圖5 客戶宣稱的值與系統(tǒng)平價(jià)的值的對(duì)比Fig.5 Comparison of client declared value and system evaluating value
(1) 提出了 1種基于長(zhǎng)期收益的客戶選擇策略。該策略既考慮了客戶的可信度,又合理地依據(jù)客戶的可信度對(duì)客戶提出的收益進(jìn)行修正,并依據(jù)客戶的歷史交互情況判斷其潛在的價(jià)值,從而做出收益優(yōu)化的服務(wù)選擇。
(2) 依據(jù)策略的思想提出了相應(yīng)的服務(wù)選擇算法。
(3) 與傳統(tǒng)的僅以當(dāng)前收益最大化的優(yōu)化方法相比,本文策略在長(zhǎng)期收益方面要高30%以上,而且考察的時(shí)間越長(zhǎng),策略的效果越明顯,說明了本文策略的優(yōu)越性。
[1] Armbrust M, Fox A. A view of cloud computing[J]. Magazine Communications of the ACM, 2010, 53(4): 50-58.
[2] Zulkernine F, Martin P, Craddock C. A policy-based middleware for Web services SLA negotiation[C]//Proceedings of the IEEE International Conference on Web Services (ICWS/09). Los Angeles, CA, 2009: 1043-1050.
[3] Jameel H, Hung L X,Kalim U. A trust model for ubiquitous systems based on vectors of trust values[C]//Proceedings of the7th IEEE Int’1Sympon Multimedia.Washington:IEEE Computer Society Press, 2005: 674-679.
[4] 王顯志, 徐曉飛, 王忠杰. 面向組合服務(wù)收益優(yōu)化的動(dòng)態(tài)服務(wù)選擇方法[J]. 計(jì)算機(jī)學(xué)報(bào), 2010, 33(11): 2104-2115.WANG Xian-zhi, XU Xiao-fei, WANG Zhong-jie. A profit optimization oriented service selection method for dynamic service composition[J]. Chinese Journal of Computers, 2010,33(11): 2104-2115.
[5] 李研, 周明輝, 李瑞超, 等. 一種考慮 QoS 數(shù)據(jù)可信性的服務(wù)選擇方法[J]. 軟件學(xué)報(bào), 2008, 19(10): 2620-2627.LI Yan, ZHOU Ming-hui, LI Rui-chao, et al. Service selection approach considering the trustworthiness of QoS data[J]. Journal of Software, 2008, 19(10): 2620-2627.
[6] 劉書雷, 劉云翔, 張帆, 等.一種服務(wù)聚合中 QoS 全局最優(yōu)服務(wù)動(dòng)態(tài)選擇算法[J]. 軟件學(xué)報(bào), 2007, 18(3): 646-656.LIU Shu-lei, LIU Yun-xiang, ZHANG Fan, et al. A dynamic Web services selection algorithm with QoS global optimal in Web services composition[J].Journal of Software, 2007, 18(3):646-656.
[7] Wang X, Huang S, Zhou A. QoS-aware composite services retrieval[J]. Journal of Computer Science and Technology, 2006,21(4): 547-558.
[8] 代鈺, 楊雷, 張斌, 等.支持組合服務(wù)選取的 QoS 模型及優(yōu)化求解[J]. 計(jì)算機(jī)學(xué)報(bào), 2006, 29(7): 1167-1178.DAI Yu, YANG Lei, ZHANG Bin. QoS for composite Web services and optimization[J]. Chinese Journal of Computers,2006, 29(7): 1167-1178.
[9] 岳昆, 劉惟一, 王曉玲, 等. 一種基于不確定性因素疊加的Web 服務(wù)質(zhì)量度量方法[J]. 計(jì)算機(jī)研究與發(fā)展, 2009, 46(5):841-849.YUE Kun, LIU Wei-yi, WANG Xiao-ling, et al. An approach for measuring quality of Web services based on the superposition of uncertain factors[J]. Journal of Computer Research and Development, 2009, 46(5): 841-849.
[10] 蔣哲遠(yuǎn), 韓江洪, 王釗. 動(dòng)態(tài)的QoS感知Web服務(wù)選擇和組合優(yōu)化模型[J]. 計(jì)算機(jī)學(xué)報(bào), 2009, 32(5): 1014-1025.JIANG Zhe-yuan, HAN Jiang-hong, WANG Zhao. An optimization model for dynamic QoS-aware web services selection and composition[J]. Chinese Journal of Computers,2009, 32(5): 1014-1025.
[11] Benatallah B, Dumas M, Sheng Q Z, et al. Declarative composition and peer-to-peer provisioning of dynamic Web services[C]//Proc of the 18th Intel Conf on Data Engineering.San Jose: IEEE Computer Society, 2002: 297-308.
[12] Casati F, Ilnicki S, Jin L J. eFlow: A platform for developing and managing composition e-services[R]. Palo Alto: HP Laboratories,2000: 1-20.
[13] Liu Y T, Anne H H, Zeng L Z. QoS computation and policing in dynamic Web service selection[C]//Proc of the WWW 2004.New York: ACM, 2004: 66-73.
[14] Zeng L Z, Benatallah B, Dumas M. Quality driven Web service composition[C]//Proc of the WWW 2003. Budapest: ACM, 2003:411-421.
[15] 趙俊峰, 謝兵, 張路, 等. 一種支持領(lǐng)域特性的 Web 服務(wù)組裝方法[J]. 計(jì)算機(jī)學(xué)報(bào), 2005, 28(4): 731-738.ZHAO Jun-feng, XIE Bing, ZHANG Lu et al. A Web services composition method supporting domain feature[J]. Chinese Journal of Computers, 2005, 28(4): 731-738.