武蕾,劉玉龍,劉士軍
(山東大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,山東 濟(jì)南 250101)
隨著面向服務(wù)架構(gòu)(SOA, service-oriented architecture)的發(fā)展,Web服務(wù)已逐漸成為在提高分布式應(yīng)用程序的靈活性、可擴(kuò)展性等方面的有效解決方案,被廣泛地應(yīng)用在各個(gè)領(lǐng)域,如電子商務(wù)、政務(wù)、衛(wèi)生保健等行業(yè)。在SOA中,服務(wù)提供者通過(guò)標(biāo)準(zhǔn)化服務(wù)描述語(yǔ)言來(lái)描述服務(wù)的功能,并且可注冊(cè)到服務(wù)集成平臺(tái)中,用戶例如基于服務(wù)的系統(tǒng)開(kāi)發(fā)人員可以從中找到開(kāi)發(fā)所需要的服務(wù)進(jìn)行整合使用,而不用重新開(kāi)發(fā),加速和促進(jìn)了大型基于服務(wù)的系統(tǒng)開(kāi)發(fā)進(jìn)程,帶來(lái)了極大的便利。
服務(wù)集成平臺(tái)通過(guò)將分散在各地的服務(wù)資源進(jìn)行虛擬化描述、封裝、發(fā)布可以為用戶集成、提供各種資源和服務(wù)。隨著越來(lái)越多的服務(wù)資源提供方(簡(jiǎn)稱服務(wù)提供者)將可以提供的服務(wù)功能發(fā)布到平臺(tái)中,當(dāng)用戶通過(guò)向平臺(tái)提出具體的使用請(qǐng)求,平臺(tái)對(duì)用戶請(qǐng)求進(jìn)行分析、分解,并在云里自動(dòng)尋找滿足請(qǐng)求的云服務(wù)時(shí),困擾也隨之而來(lái),針對(duì)同一功能需求,可供選擇的服務(wù)越來(lái)越多,如何通過(guò)調(diào)度選擇、優(yōu)化等一系列操作,向用戶返回解決方案,使選出的服務(wù)既可滿足用戶的要求,又可以在當(dāng)有多個(gè)滿足用戶的要求的服務(wù)時(shí),根據(jù)一定的策略對(duì)這些服務(wù)進(jìn)行排序選優(yōu)成為亟待解決的問(wèn)題,為解決上述問(wèn)題,本文提出了一種多策略QoS感知的服務(wù)選擇與排序模型,通過(guò)服務(wù)選擇獲得滿足用戶要求的可用候選服務(wù)集,對(duì)于可用候選服務(wù)集中的服務(wù),分別計(jì)算用戶與運(yùn)營(yíng)商對(duì)其滿意度,并且通過(guò)改變用戶滿意度與運(yùn)營(yíng)商滿意度在排序選優(yōu)過(guò)程中所占的不同比重,建立靈活多策略的服務(wù)選擇與排序選優(yōu)方法。
服務(wù)質(zhì)量(QoS, quality of service)作為服務(wù)的非功能特征[1],是功能相同的服務(wù)之間最顯著的區(qū)分指標(biāo),也是對(duì)服務(wù)進(jìn)行性能評(píng)價(jià)和用戶選擇的重要參考標(biāo)準(zhǔn)。QoS的描述和計(jì)算評(píng)價(jià)在服務(wù)選擇和排序選優(yōu)過(guò)程中起的作用越來(lái)越顯著。
在進(jìn)行服務(wù)的選擇與排序選優(yōu)時(shí),主要有3個(gè)需要解決的問(wèn)題:1) 描述、度量、監(jiān)控Web服務(wù)的QoS屬性。目前許多關(guān)于QoS的本體論和質(zhì)量模型已被提出來(lái)描述QoS的不同屬性[2,3],QoS屬性值的獲取和監(jiān)控可以通過(guò)實(shí)時(shí)檢測(cè)、用戶的反饋[4,5]、或是由歷史數(shù)據(jù)通過(guò)數(shù)據(jù)挖掘獲得[6];2) 如何選出滿足用戶要求的可用候選服務(wù)集合,尤其是在單個(gè)服務(wù)滿足不了用戶要求需要多個(gè)服務(wù)組合才能完成時(shí)。在進(jìn)行服務(wù)選擇時(shí),如何根據(jù)要求,計(jì)算組合服務(wù)的QoS屬性值,以及如何根據(jù)用戶提出的要求在眾多的服務(wù)中高效選出滿足用戶QoS要求的可用服務(wù),文獻(xiàn)[7,11,13]提出了可以利用關(guān)鍵字搜索、語(yǔ)義匹配、遺傳算法、整數(shù)規(guī)劃等發(fā)現(xiàn)選出符合要求的服務(wù);3) 對(duì)于可用候選服務(wù)集,如何靈活的按照某種策略進(jìn)行排序選優(yōu)返回最終的解決方案。文獻(xiàn)[9]提出了一種排序算法,但該方法只考慮了用戶的滿意度,建模時(shí),并沒(méi)有考慮服務(wù)的成本屬性,而成本是服務(wù)運(yùn)營(yíng)商關(guān)心的重要屬性之一,具有一定局限性。文獻(xiàn)[10]中提到的Web服務(wù)質(zhì)量評(píng)價(jià)算法,在排名過(guò)程中考慮了多種服務(wù)的QoS屬性,但難以體現(xiàn)用戶對(duì)服務(wù)質(zhì)量的個(gè)性化要求以及對(duì)不同QoS屬性的偏好程度。
從上面分析可以看出:1) 在不同文獻(xiàn)中已經(jīng)提出較多解決方法;2) 也已經(jīng)有許多選擇算法,但QoS模型中屬性描述不足,難以為第3個(gè)問(wèn)題提供相關(guān)的信息;3) 盡管已經(jīng)也有一些研究,但也存在一些缺陷,進(jìn)行排序選優(yōu)出發(fā)的角度單一,只是基于用戶策略的排序方法。
服務(wù)選擇和排序是2個(gè)相對(duì)獨(dú)立的過(guò)程[8]。服務(wù)選擇要確保所選擇的服務(wù)可以滿足用戶對(duì)基本功能和QoS的要求,而服務(wù)排序則是在此基礎(chǔ)上的進(jìn)一步選優(yōu)?,F(xiàn)有研究方法中,存在一些不足,如在進(jìn)行服務(wù)選擇與排序時(shí),或是QoS建模屬性描述不夠全面;或是單純的服務(wù)質(zhì)量評(píng)價(jià)方法,缺少對(duì)用戶個(gè)性化的支持;或是排序選優(yōu)策略單一。針對(duì)上述問(wèn)題,在進(jìn)行服務(wù)QoS建模時(shí),本文從用戶與運(yùn)營(yíng)商的角度共同出發(fā),將服務(wù)的性能與運(yùn)營(yíng)維護(hù)成本等屬性考慮在內(nèi),描述和擴(kuò)充了QoS模型,提出了一種基于用戶與運(yùn)營(yíng)商對(duì)服務(wù)滿意度的多策略服務(wù)排序方法,通過(guò)改變用戶滿意度與運(yùn)營(yíng)商滿意度在排序選優(yōu)過(guò)程中的不同比重,可分別設(shè)置完全基于用戶策略、完全基于運(yùn)營(yíng)商策略、用戶與運(yùn)營(yíng)商2者兼顧策略的服務(wù)選擇與排序選優(yōu)方法。
QoS模型是對(duì)服務(wù)非功能性屬性的描述,用于描述服務(wù)完成業(yè)務(wù)目標(biāo)的效果,它是一個(gè)包含多側(cè)面指標(biāo)的復(fù)雜結(jié)構(gòu),從不同的方面定性或定量的描述一個(gè)服務(wù)。在本文中,為了在服務(wù)選擇與排序過(guò)程中提供足夠的參考信息,細(xì)化服務(wù)的QoS需求層次。本文從資源需求方與平臺(tái)運(yùn)營(yíng)商兩個(gè)維度出發(fā)對(duì)QoS建模,對(duì)QoS的一般屬性和領(lǐng)域?qū)傩赃M(jìn)行了統(tǒng)一,其中,不同領(lǐng)域服務(wù)的通用屬性主要沿用以下幾個(gè)描述指標(biāo):
響應(yīng)時(shí)間(response time):代表一個(gè)服務(wù)Sj被調(diào)用至獲得響應(yīng)的時(shí)間間隔,主要包括服務(wù)延遲時(shí)間(Tdelay)和服務(wù)計(jì)算時(shí)間(Tcom),總的響應(yīng)時(shí)間T(t)= Tcom(Sj)+Tdelay(Sj)。
可用性(availability):代表一個(gè)服務(wù)正常運(yùn)行的概率。取值越大意味著有較高的可用性,而較小的取值則表示較低的可用性。
吞吐量(throughout):表示在給定時(shí)間段內(nèi)服務(wù)可以處理的最大請(qǐng)求數(shù),是度量服務(wù)性能的一個(gè)重要指標(biāo)。
安全性(security):表示方法調(diào)用過(guò)程的安全水平,通過(guò)身份驗(yàn)證、消息加密、訪問(wèn)控制等機(jī)制提高其安全性。
價(jià)格(price):指的是服務(wù)使用者使用服務(wù)需要支付的金錢。
上述往往是用戶在使用服務(wù)時(shí)關(guān)心的QoS屬性,但從服務(wù)運(yùn)營(yíng)商的角度出發(fā),降低服務(wù)運(yùn)營(yíng)成本,獲取盡可能多的利潤(rùn)是他們的目標(biāo),因此,在進(jìn)行QoS建模時(shí),必須要考慮服務(wù)的成本屬性。
成本(cost):服務(wù)成本由多部分組成,整體成本是多個(gè)子指標(biāo)按照整體部分關(guān)系形成的[12]。價(jià)格與服務(wù)成本也有一定的相關(guān)性。成本主要是指為用戶提供服務(wù)的過(guò)程中所消耗一些資源,主要包括2個(gè)方面:
軟硬件系統(tǒng)資源的消耗(SC, system cost):主要是指在為用戶提供服務(wù)的過(guò)程(初始化、運(yùn)行、監(jiān)控和維護(hù)等)中,服務(wù)占用消耗的系統(tǒng)資源,如當(dāng)為用戶提供某服務(wù)時(shí),所需要的設(shè)備支持、占用的應(yīng)用服務(wù)器資源、設(shè)備磨損等。
人力資源消耗(LC, labor cost):主要是指在服務(wù)執(zhí)行過(guò)程中需要人工執(zhí)行或需要人機(jī)交互執(zhí)行部分的人力資源消耗,如在對(duì)產(chǎn)品配置結(jié)果進(jìn)行可行性驗(yàn)證服務(wù)時(shí),人工驗(yàn)證部分需要相關(guān)領(lǐng)域?qū)<业膮⑴c。
除了上述一般屬性,特定領(lǐng)域的服務(wù)還有領(lǐng)域相關(guān)屬性,具體是指服務(wù)所屬的應(yīng)用領(lǐng)域所特有的QoS指標(biāo),功能上相似的服務(wù)擁有相似的領(lǐng)域相關(guān)性能指標(biāo)集合,如在產(chǎn)品加工制造領(lǐng)域有產(chǎn)品加工精度,產(chǎn)品硬度,表面粗糙度等參數(shù);服務(wù)具有的領(lǐng)域質(zhì)量指標(biāo)是由該服務(wù)所屬領(lǐng)域的領(lǐng)域本體決定。從上面的分析可以看出,QoS由不同層次的多側(cè)面指標(biāo)構(gòu)成,而且是與服務(wù)領(lǐng)域相關(guān)的,因此在構(gòu)建服務(wù)質(zhì)量指標(biāo)體系用于綜合QoS計(jì)算時(shí),需要考慮到上述的各方面情況。
假設(shè)對(duì)某服務(wù)S,C={q1,q2,…,qi}是用戶所關(guān)心指定的QoS屬性集,C'={qi+1,qi+2,…,qn}是平臺(tái)運(yùn)營(yíng)商所關(guān)心指定的QoS屬性集。那么在進(jìn)行選擇與排序時(shí)相關(guān)服務(wù)的QoS可以表示為
其中,行{qj1,qj2,…,qjn},1≤j≤m,表示某個(gè)服務(wù)Sj分別在{q1,q2,…,qn}上的屬性值,列{q1k,q2k,…,qmk},1≤k≤n,表示所有相關(guān)服務(wù)在屬性qk上的值。
下面具體說(shuō)明對(duì)服務(wù)的QoS請(qǐng)求的表示形式:用戶關(guān)心的QoS屬性集為C={q1,q2,…,qi},對(duì)每一個(gè)屬性指定他/她的要求時(shí),表示形式如下
其中,reqj=(lj,uj,wj),1≤j≤i,lj、uj分別是用戶對(duì)于屬性qj可以接受的上、下限值。wj是權(quán)重因子,代表了用戶對(duì)屬性qj的重視喜好程度。運(yùn)營(yíng)商關(guān)心的QoS屬性集為C'={qi+1,qi+2,…,qn},對(duì)每一個(gè)屬性指定自己的偏好程度W′={wi+1,wi+2,…,wn}。
QoS感知的服務(wù)選擇主要負(fù)責(zé)選擇出滿足用戶要求的可用候選服務(wù)集,其主要的過(guò)程為,根據(jù)用戶給出的QoS需求向量,對(duì)滿足功能性需求及質(zhì)量要求的候選服務(wù)進(jìn)行過(guò)濾和選擇,提取出滿足用戶約束的可用候選服務(wù)集,進(jìn)行選擇的具體過(guò)程在之前的文章[13]中介紹過(guò),采用的是遺傳算法,由于篇幅所限,本文將不做詳細(xì)介紹。接下來(lái),在滿足用戶約束的可用候選服務(wù)集已經(jīng)獲得的條件下,本文將重點(diǎn)講解如何計(jì)算一個(gè)服務(wù)的用戶滿意度與運(yùn)營(yíng)商滿意度,以及如何設(shè)置一定的策略來(lái)對(duì)可用候選服務(wù)集進(jìn)行排序選優(yōu)。
對(duì)于可用候選服務(wù)Sj,計(jì)算得分的過(guò)程如下。
1)計(jì)算用戶對(duì)Sj的滿意度Satisfactionj1。
其中,0≤wi≤1,為用戶指定的對(duì)Qji的偏好程度。
2)計(jì)算服務(wù)提供商對(duì)Sj的滿意度Profit(Sj)。
其中,Earning(Sj)是用戶使用服務(wù)Sj需要付給運(yùn)營(yíng)商的費(fèi)用,Cost(Sj)為Sj的運(yùn)營(yíng)維護(hù)成本。
3) 整合Satisfactionj,Profit(Sj),確定Sj的最終服務(wù)得分。
其中,w1+w2=1,w1,w2表示2者的影響因子,不同的值代表著基于不同的策略的服務(wù)排序選優(yōu)方法。
對(duì)于服務(wù)iS,本文通過(guò)效用函數(shù)分別計(jì)算用戶和運(yùn)營(yíng)商對(duì)iS的滿意度。在設(shè)計(jì)效用函數(shù)時(shí)遵循的基本原則為:如果對(duì)iS的QoS屬性jq,用戶和運(yùn)營(yíng)商都沒(méi)有指定任何要求,那么在計(jì)算的時(shí)候,jq對(duì)滿意度不產(chǎn)生任何影響;如果對(duì)屬性jq,用戶和運(yùn)應(yīng)商只要有一個(gè)對(duì)其提出要求,那么jq會(huì)對(duì)計(jì)算的滿意度產(chǎn)生一定的影響。
由于不同QoS屬性在屬性值和單位上有很大的不同,直接進(jìn)行計(jì)算,必然會(huì)因數(shù)量級(jí)差異影響計(jì)算結(jié)果的公平性。為避免這種差異對(duì)服務(wù)排序的影響,在計(jì)算得分時(shí),首先需要對(duì)各屬性進(jìn)行統(tǒng)一量化處理。本文將給出函數(shù),ijQ,來(lái)計(jì)算任一服務(wù)iS在屬性jq上的得分,對(duì)于成本型的屬性,如服務(wù)的響應(yīng)時(shí)間,價(jià)格等,其值越大,服務(wù)的質(zhì)量越差,采用式(5)計(jì)算;對(duì)于效益型屬性,如服務(wù)的可靠性,安全性等,其值越大,服務(wù)的質(zhì)量越好,采用式(6)計(jì)算。
式(1)經(jīng)過(guò)統(tǒng)一量化處理后,得到下面的矩陣
事實(shí)上,不同QoS屬性對(duì)服務(wù)性能的貢獻(xiàn)存在著差異,而且用戶和運(yùn)營(yíng)商對(duì)不同QoS屬性也存在各自偏好。因此,在計(jì)算服務(wù)滿意度的過(guò)程中必須考慮這些因素。
對(duì)于服務(wù)Sj的屬性集C={q1,q2,…,qi},C'={qi+1,qi+2,…,qn},根據(jù)用戶、運(yùn)營(yíng)商設(shè)置的權(quán)重和偏好程度,分別計(jì)算他們對(duì)服務(wù)Sj的滿意度Satisfactionj、Profitj。運(yùn)營(yíng)商的滿意度,通過(guò)為用戶提供服務(wù)可以獲得的利潤(rùn)的大小來(lái)體現(xiàn)。為此,需要將服務(wù)的成本屬性轉(zhuǎn)化為一定的價(jià)格度量。如在為某用戶提供服務(wù)Sj加工產(chǎn)品的過(guò)程中,運(yùn)行維護(hù)Sj會(huì)產(chǎn)生機(jī)器磨損,人力資源的消耗等,就需要按照一定規(guī)則將這些消耗轉(zhuǎn)化成一定的價(jià)格度量;用戶的滿意度,本文采用簡(jiǎn)單加權(quán)的方式來(lái)反映QoS屬性間的相對(duì)重要度以及用戶的偏好。Satisfactionj1、Profitj2計(jì)算方式如式(2)、式(3)所示。
式(7)經(jīng)過(guò)計(jì)算后得到如下矩陣
對(duì)于服務(wù)Sj,Satisfactionj,Profitj分別代表了用戶和運(yùn)營(yíng)商對(duì)服務(wù)的滿意度。在得到式(8)后,接下來(lái)需要合并函數(shù)Score(sj)根據(jù)一定的策略來(lái)整合計(jì)算服務(wù)Sj的最終得分,這個(gè)函數(shù)的定義如式(4)所示。
當(dāng)1w:2w=1:0時(shí),為完全基于用戶策略的服務(wù)排序方法,此時(shí)用戶可以獲得最高的服務(wù)滿意度,而平臺(tái)運(yùn)營(yíng)商的利潤(rùn)可能會(huì)受到一定的影響,但在服務(wù)反饋與監(jiān)控中,有利于平臺(tái)運(yùn)營(yíng)商信譽(yù)度的提升。
當(dāng)1w:2w=0:1時(shí),為完全基于運(yùn)營(yíng)商策略的服務(wù)排序方法,此時(shí)運(yùn)營(yíng)商可以獲得最高的利潤(rùn),而資源需求方獲得的服務(wù)性能可能會(huì)受到一定的影響,在服務(wù)反饋與監(jiān)控中,不利于平臺(tái)運(yùn)營(yíng)商信譽(yù)度的提升。
當(dāng)1w:2w的比值介于此2者之間時(shí),為基于用戶與運(yùn)營(yíng)商兩者的服務(wù)排序選優(yōu)策略,綜合考慮了用戶與運(yùn)營(yíng)商的滿意度。在進(jìn)行服務(wù)排序選優(yōu)時(shí),可以通過(guò)調(diào)整1w:2w的比值,靈活的按所設(shè)定的策略按需要進(jìn)行選優(yōu)。
不同比重的設(shè)定與運(yùn)營(yíng)商的運(yùn)營(yíng)策略有關(guān),如果運(yùn)營(yíng)商目標(biāo)是提供最好的服務(wù),則可以通過(guò)完全面向用戶的策略來(lái)進(jìn)行排序;如果目的是盡可能盈利與節(jié)能,則可以設(shè)置完全面向運(yùn)營(yíng)商的策略進(jìn)行排序;同樣,也可以介于2者之間。
如圖1所示,服務(wù)集成平臺(tái)是負(fù)責(zé)服務(wù)資源的管理、運(yùn)行、維護(hù)以及接入接出等任務(wù)的軟件平臺(tái)。在服務(wù)資源的應(yīng)用運(yùn)轉(zhuǎn)過(guò)程中,作為連接用戶與資源提供方的紐帶,平臺(tái)起到了核心支撐的作用,在資源提供方注冊(cè)發(fā)布服務(wù)資源時(shí),需要為資源的虛擬化封裝和映射提供支持;在用戶提出請(qǐng)求的時(shí)候?yàn)樾枨竺枋鎏峁┲С郑会槍?duì)用戶需求,在服務(wù)選擇與排序選優(yōu)的過(guò)程中,為選出滿足要求的服務(wù),并按指定的策略進(jìn)行排序選優(yōu)提供支持。
服務(wù)選擇與排序模型作為平臺(tái)的一個(gè)核心部分,主要由服務(wù)注冊(cè)中心、服務(wù)選擇和排序中心、云終端用戶界面、第三方評(píng)測(cè)機(jī)構(gòu)等組成。
1) 服務(wù)注冊(cè)中心:提供一個(gè)接口,使得資源提供方可以將各種服務(wù)資源的相關(guān)信息注冊(cè)發(fā)布到平臺(tái)中,注冊(cè)時(shí)QoS認(rèn)證中心將對(duì)服務(wù)的QoS信息進(jìn)行度量和認(rèn)證,并將相關(guān)信息存到服務(wù)資產(chǎn)庫(kù)(WS-QOS)中,以備服務(wù)選擇與排名時(shí)可查詢相關(guān)信息。
2) 服務(wù)選擇和排序中心:主要有查詢解析器,服務(wù)選擇引擎,服務(wù)排序引擎,選優(yōu)策略設(shè)定器組成。首先解析器接收并解析用戶請(qǐng)求,服務(wù)選擇引擎根據(jù)用戶要求選擇出滿足條件的可用的候選服務(wù)集合,然后根據(jù)策略設(shè)定器指定的選優(yōu)排序策略,如基于用戶的策略、或基于運(yùn)營(yíng)商的排序策略等,由服務(wù)排序引擎從可用服務(wù)集中選出選定最終解決方案。
3) 云終端用戶界面:主要由SLA簽訂模塊組成,為用戶提供一個(gè)可以指定服務(wù)功能與QoS要求的接口,負(fù)責(zé)簽訂生成服務(wù)等級(jí)協(xié)議(SLA, service level agreement)[6]。
4) 第三方評(píng)測(cè)機(jī)構(gòu):監(jiān)控用戶獲得的服務(wù)的QoS相關(guān)信息和收集用戶的反饋信息,查看是否滿足SLA要求,并根據(jù)監(jiān)測(cè)與反饋信息計(jì)算平臺(tái)運(yùn)營(yíng)商的違約率和信譽(yù)度。專業(yè)評(píng)測(cè)機(jī)構(gòu)取得的數(shù)據(jù)具有客觀、公正、可比性強(qiáng)等優(yōu)勢(shì),是應(yīng)用中客觀性的重要保證。
首先,用戶通過(guò)云終端向平臺(tái)服務(wù)運(yùn)營(yíng)提出服務(wù)使用請(qǐng)求,協(xié)商簽訂服務(wù)等級(jí)協(xié)議,確定對(duì)服務(wù)的功能與非功能方面的請(qǐng)求,以及違約處理等。
接下來(lái),相關(guān)模塊接收并解析用戶簽訂的服務(wù)等級(jí)協(xié)議,根據(jù)用戶請(qǐng)求服務(wù)的功能性需求和質(zhì)量要求,服務(wù)選擇引擎檢索服務(wù)資產(chǎn)庫(kù)(WS-QOS)對(duì)平臺(tái)中的候選服務(wù)進(jìn)行過(guò)濾和選擇,提取出所有滿足SLA要求的可用候選服務(wù)集。
圖1 系統(tǒng)的體系結(jié)構(gòu)
在服務(wù)集成平臺(tái)的支撐下,將會(huì)有越來(lái)越多的服務(wù)資源發(fā)布注冊(cè)到平臺(tái)中。當(dāng)用戶在請(qǐng)求服務(wù)時(shí),針對(duì)用戶的要求,利用上述服務(wù)選擇與排序模型,可以快速的選出滿足用戶要求的服務(wù),并且當(dāng)有多個(gè)滿足用戶要求的候選服務(wù)時(shí),可以根據(jù)設(shè)定的策略來(lái)進(jìn)行服務(wù)排序選優(yōu),選定最終的解決方案,此原型系統(tǒng)為平臺(tái)中的服務(wù)選擇與排序選優(yōu)提供了一個(gè)有效的解決方案。
本文通過(guò)一個(gè)應(yīng)用實(shí)例來(lái)具體說(shuō)明方法的流程,并證明方法的有效性。某語(yǔ)音通信系統(tǒng)的開(kāi)發(fā)人員要對(duì)安全的端對(duì)端語(yǔ)音通訊系統(tǒng)進(jìn)行升級(jí),想要選擇現(xiàn)有的加密服務(wù),用于在系統(tǒng)中。加密服務(wù)應(yīng)接受數(shù)據(jù)流和輸出流加密的數(shù)據(jù)。假設(shè)服務(wù)的QoS屬性值可以直接從Web-QoS庫(kù)中獲得,用戶對(duì)加密服務(wù)的QoS具體要求如表1所示,其中,吞吐量(throughput)是指服務(wù)單位時(shí)間可以處理的數(shù)據(jù)包的大小,單位為兆比特每秒(Mbit/s),延遲(delay)是指由于進(jìn)行加密處理引起的額外時(shí)間單位為毫秒(ms);安全性(security)指的是被攻擊者捕獲信息概率的大小;價(jià)格(price)指的是使用該服務(wù)需要支付的人民幣,單位為元/天。當(dāng)用戶對(duì)某項(xiàng)屬性沒(méi)有上限,或下限要求時(shí)分別指定為Min, Max。
表1 用戶指定的QoS要求
平臺(tái)相關(guān)模塊接收到服務(wù)請(qǐng)求后,檢索服務(wù)資產(chǎn)庫(kù),根據(jù)服務(wù)功能請(qǐng)求所獲得的服務(wù)列表及相應(yīng)的QoS指標(biāo)值如表2所示。
表2 具有相同功能服務(wù)
經(jīng)服務(wù)選擇后篩選掉不滿足QoS要求的服務(wù),獲得可用候選服務(wù)集,如表3所示。
表3 滿足用戶功能與質(zhì)量要求的服務(wù)
對(duì)可用候選服務(wù)集,經(jīng)過(guò)式(5)和式(6)處理,效用函數(shù)(2)和效用函數(shù)(3)計(jì)算后分別得到基于用戶與基于服務(wù)供應(yīng)商策略的服務(wù)滿意度,如表4所示。
表4 用戶與運(yùn)營(yíng)商對(duì)可用候選服務(wù)的滿意度
而后根據(jù)合并函數(shù)(4),分別設(shè)置1w:2w的不同比值,即基于不同策略進(jìn)行服務(wù)排序時(shí),服務(wù)的選擇結(jié)果如表5所示。
表5 不同策略下的服務(wù)的得分計(jì)算情況
從表5可以看出,在不同的策略下,服務(wù)排序結(jié)果不同,返回的選擇結(jié)果依次為S5、S2、S4、S2,說(shuō)明了算法的有效性,服務(wù)運(yùn)營(yíng)商完全可以根據(jù)運(yùn)營(yíng)策略選擇合適的選擇排序方式。
為了方便在服務(wù)集成平臺(tái)發(fā)現(xiàn)用戶需要的服務(wù),并且對(duì)滿足要求的可用候選服務(wù)集按一定的策略進(jìn)行排序選優(yōu),本文在考慮了服務(wù)運(yùn)營(yíng)商與用戶不同需求的基礎(chǔ)上,提出了一種多策略的QoS感知的云服務(wù)選擇與排序方法,彌補(bǔ)了以往僅僅基于用戶策略的服務(wù)選擇的不足,并搭建了基于服務(wù)集成平臺(tái)的服務(wù)選擇與排序原型系統(tǒng),闡述了基于此平臺(tái)對(duì)服務(wù)資源的選擇與排序選優(yōu)過(guò)程。文章最后給出應(yīng)用實(shí)例,證明了算法的有效性。
本文只是服務(wù)選擇與排序選優(yōu)的研究一個(gè)初始階段,還有許多問(wèn)題有待進(jìn)一步研究,如把所提服務(wù)的擴(kuò)展QoS模型和選擇優(yōu)化算法進(jìn)一步應(yīng)用到實(shí)際的大規(guī)模面向應(yīng)用的服務(wù)系統(tǒng)開(kāi)發(fā)中,以便對(duì)其可靠性,適應(yīng)性和性能作更深入的分析和改進(jìn)。
[1] ALONSO G, CASATI F, KUNO H, etal. Web Services Concepts,Architectures and Applications[M]. Berlin: Springer, 2004.
[2] OSULLIVAN J. What's in service towards accurate description of non-functional service properties[J]. IEEE Trans on Distributed and Parallel Database, 2002, 12(1): 117-133.
[3] BRUIJIN J, BUSSLER C, DOMINGUE J, etal. Web service modeling ontology (WSMO)[EB/OL]. http://www.wsmo.org/TR/d2/v1.3/, 2006.
[4] YAU S S, YE N, SARJOUGHIAN H, etal. Toward development of adaptive service-based software systems[J]. IEEE Trans on Services Computing, 2009. 247-260.
[5] YAU S S, HUANG J, YIN Y. Improving the trustworthiness of service QoS information in service-based systems[A]. The 7th Autonomic and Trusted Computing[C]. Xi’an, China, 2010.208-218.
[6] LEITNER P, MICHLMAYR A, ROSENBERG F, etal. Monitoring,prediction and prevention of SLA violations in composite services[A].IEEE International Conference On Web Service[C]. Miami, FL, USA,2010.369-376.
[7] STRUNK A. QoS-Aware service composition: a survey[A]. The 8th IEEE European Conference on Web Services[C]. Ayia Napa, Cyprus,2010.67-74.
[8] 郭得科, 任彥, 陳洪輝等.一種基于QoS約束的Web服務(wù)選擇和排序模型.上海交通大學(xué)學(xué)報(bào)[J]. 2007, 41(6): 870-875.GUO D K, REN Y, CHEN H H, etal. Web services selection and rankding model with QoS constraints[J]. Journal of Shanhai Jiaotong University,2007, 41(6): 870-875.
[9] STEPHEN S. YAU Y Y. QoS-based service ranking and selection for service-based system[A]. IEEE International Conference on Services Computing[C]. Washington DC, USA, 2011. 56-63.
[10] 吳健, 董金祥. 網(wǎng)絡(luò)制造中Web Service的服務(wù)質(zhì)量模糊排序方法[J]. 計(jì)算機(jī)輔助設(shè)計(jì)與圖形學(xué)學(xué)報(bào), 2005, 17(5): 1593-1599.WU J, DONG J X. QoS based web service fuzzy sort approach in internet-based manufacturing[J]. Journal of Computer Aided Design&Computer Graphics, 2005, 17(5): 1593-1599.
[11] Eyhab Al-Masri, Qusay H Mahmoud. Discovering the best web service[A]. 16th International World Wide Web Conference[C]. New York, USA, 2007. 1257-1258.
[12] CARDOSO J, SHETH A, MILLER J, etal. Quality of service for workflows and web service processes[J]. Web Semantics: Science,Services and Agents on the World Wide Web, 2004, 1(3): 281-308.
[13] YANG E F, ZHANG Y, LIU S J, etal. A hybrid approach to placement of tenants for service-based multi-tenant SaaS application[A].Asia-Pacific Services Computing Conference[C]. Jeju, Korea, 2011.124-130