王 鵬,李克文
(中國石油大學(xué)(華東)計算機(jī)與通信工程學(xué)院,青島 266580)
隨著云計算和企業(yè)網(wǎng)絡(luò)服務(wù)近年來的不斷發(fā)展,對Web服務(wù)的使用愈發(fā)頻繁.Web服務(wù)是在面向服務(wù)計算 (Service-Oriented Computing,SOC)松散耦合環(huán)境中被描述、發(fā)布和定位的應(yīng)用程序模塊,自身是一種自治、開放與平臺無關(guān)的網(wǎng)絡(luò)化構(gòu)件.作為當(dāng)前面向服務(wù)架構(gòu) (Service-Oriented Architecture,SOA)主流實(shí)現(xiàn)方式,它使應(yīng)用具有更好的靈活性、復(fù)用性及可增長性.
構(gòu)建一個復(fù)雜應(yīng)用時,可能需要集合網(wǎng)絡(luò)環(huán)境下多個服務(wù),選擇滿足用戶需求的最佳服務(wù),構(gòu)建Web服務(wù)可信性評估模型就至關(guān)重要.Web服務(wù)的可信是整個網(wǎng)絡(luò)化軟件可信的基礎(chǔ),不同的背景下,國內(nèi)外眾多學(xué)者對信任評估模型進(jìn)行了廣泛研究[1,2].Bhargava[3]提出一個自組織對等網(wǎng)絡(luò)信任模型.在這個模型中,對等點(diǎn)使用本地可用信息創(chuàng)建信任網(wǎng)絡(luò).對于面向服務(wù)的移動社交網(wǎng)絡(luò),Liang[4]給出了一個通過收集和存儲用戶評論的模型.在其基礎(chǔ)之上,Ding[5]提出了CSTrust框架的概念,通過結(jié)合客戶滿意度和QoS來預(yù)測云服務(wù).此外,該作者[6]還提出了一種通過收集可信證據(jù),根據(jù)用戶實(shí)際需求情況,充分考慮缺失值預(yù)測及多屬性分配不同屬性權(quán)重的方法.Li[7]給出了基于實(shí)際可信證據(jù)基礎(chǔ)之上的質(zhì)量水平模型.Fernandez[8]提出了一種使用化學(xué)反應(yīng)方程式促進(jìn)分散工作流執(zhí)行的方法.然而,該方法并未提供一個明確的機(jī)制來處理開放的環(huán)境,以支持服務(wù)可以在任意時刻連接或離開.Liu[9]構(gòu)建了帶修正的主觀可信性評估模型,在標(biāo)準(zhǔn)SOA中融入信托管理模塊,把Web網(wǎng)絡(luò)轉(zhuǎn)變?yōu)橐粋€基于可信任實(shí)體的小型網(wǎng)絡(luò).Sim[10]提出了一種自組織多代理方法,進(jìn)行云環(huán)境中分散的服務(wù)組合,用服務(wù)能力表來維護(hù)云服務(wù)實(shí)時信息,但對其的過度依賴成為一個不可避免的問題.為反映動態(tài)環(huán)境中時刻產(chǎn)生的變化,服務(wù)能力表需要定期更新,會限制其部署在高度動態(tài)環(huán)境下的適用性.
由于當(dāng)前Web服務(wù)實(shí)體之間交互方式的復(fù)雜性、多樣性[11],難以構(gòu)建一個長時間持續(xù)通用的評估模型.多數(shù)靜態(tài)和定性信任模型也不足以描述這種不斷變化、高度動態(tài)的環(huán)境.因此本文提出一種將模糊理論與信息熵相結(jié)合的綜合可信性評估模型,通過計算客觀評價矩陣的信息熵,對主觀權(quán)重進(jìn)行修正.同時將可信性評估指標(biāo)體系中屬性分為標(biāo)準(zhǔn)指標(biāo)和修正指標(biāo),對反饋而來的信息進(jìn)行有效處理,改善了動態(tài)適應(yīng)性不強(qiáng)的問題,使評估結(jié)果更加客觀合理.
熵的概念源自熱力學(xué),表示一個系統(tǒng)的混亂程度,而在通信領(lǐng)域?qū)⑵溆脕矶攘啃旁粗行盘柕牟淮_定性,系統(tǒng)的不確定性與熵值成正比.在模糊評判矩陣R=(rij)n×m中,如果缺陷評價因子Ui隸屬于評價等級集合不同等級的差異度越高,信息熵就越小,系統(tǒng)處于某種狀態(tài)的不確定性就越小,那么則表明該指標(biāo)相對于其他指標(biāo)對評估結(jié)果的重要性就越高,因此通過計算模糊評判矩陣的信息熵來修正指標(biāo)權(quán)重.
在已確定主觀權(quán)重的基礎(chǔ)之上,采用信息熵理論確定系統(tǒng)各類缺陷客觀權(quán)重來修正評估因子權(quán)重,步驟如下:
1)將主觀評價作為初始權(quán)重:

2)設(shè)模糊評判矩陣R,利用信息熵來度量第i個評估因子重要性:

規(guī)定rij=0時,hi= 0.差異度越小,信息熵越大,則最終可信性評估結(jié)果的不確定性越大.
3)為了避免出現(xiàn)量綱不統(tǒng)一的情況,對hi進(jìn)行歸一化處理:

當(dāng)且僅當(dāng)差異度完全相同時,信息熵可取得最大值1.
4)第i個評價指標(biāo)的權(quán)重系數(shù)為:

得權(quán)重向量 θ =(θ1,θ2,···,θn),為避免時,θi→ 0而導(dǎo)致權(quán)重差別過大,對式子進(jìn)行以下處理:

5)利用客觀權(quán)重系數(shù)對主觀權(quán)重向量進(jìn)行修正:

隨著模糊計算、區(qū)間計算和概率論與數(shù)理統(tǒng)計等理論引入,將證據(jù)理論與決策理論相結(jié)合,可用于處理信息不精確、定性定量混合的決策問題和信息模糊性及不確定性的合成問題.首先給出信任定義,然后提出用于復(fù)合信任計算的多重策略,最終提出一個可信條件下的評估模型來計算服務(wù)的復(fù)合信任值.
信任定義為取值在[0,1]之間用來衡量服務(wù)按預(yù)期執(zhí)行的可能性概率.面向服務(wù)的應(yīng)用程序需要通過服務(wù)聲譽(yù)和執(zhí)行歷史來訪問動態(tài)、可量化的復(fù)合信任方案.信任方案必須捕捉到各種場景中服務(wù)間相互作用,并計算其可信賴程度.由于面向服務(wù)架構(gòu)的復(fù)雜性,當(dāng)前多數(shù)研究采用的單一信任度量標(biāo)準(zhǔn)在可信證據(jù)數(shù)據(jù)上較為單一、收集復(fù)雜、可執(zhí)行性低,由此本文提出了三種不同類型度量指標(biāo),從側(cè)面獲取Web服務(wù)生命周期各階段數(shù)據(jù)對其進(jìn)行歸類分析,再結(jié)合信息熵權(quán)重確定每種指標(biāo)的可行權(quán)重,最終構(gòu)造可信評估度量模型.
Web服務(wù)動態(tài)可信指標(biāo)評估體系從靜態(tài)特性和動態(tài)特性兩方面對服務(wù)可信狀態(tài)進(jìn)行評估,通過定制信任屬性和信息熵權(quán)重,實(shí)現(xiàn)服務(wù)可信評估體系的定制性和擴(kuò)展性.將可信特性解析分類,以常規(guī)軟件開發(fā)時期的模型分析、軟件驗(yàn)證等服務(wù)自主可信性方法作為基礎(chǔ)指標(biāo),并增加變化的協(xié)作環(huán)境指標(biāo).在系統(tǒng)運(yùn)行過程中,每個實(shí)體可信性能夠動態(tài)評估,以便于切換到更可信實(shí)體.
基礎(chǔ)指標(biāo):初步評估的可信指標(biāo),由傳統(tǒng)可信屬性指標(biāo)構(gòu)成,如功能性、可靠性、可用性、可維護(hù)性、可重用性等,通過許多現(xiàn)有傳統(tǒng)方法獲得,作為可信性初始評價.
內(nèi)部修正指標(biāo):為使評估更客觀,基礎(chǔ)指標(biāo)需通過一些與可信評估密切相關(guān)的因素進(jìn)行修正,因此對該服務(wù)提供者所開發(fā)的其他Web服務(wù)開發(fā)水平進(jìn)行評估,如編程規(guī)范性、項(xiàng)目文檔完善性、開發(fā)人員研發(fā)經(jīng)驗(yàn)、項(xiàng)目進(jìn)度管理規(guī)范性、測試質(zhì)量等進(jìn)行評估,是由統(tǒng)計量(即系統(tǒng)的訓(xùn)練數(shù)據(jù))計算的校正度量.沒有單一策略適用于所有SOA場景,必須選擇基于應(yīng)用領(lǐng)域和敏感性的對應(yīng)策略.例如,較嚴(yán)格的策略適用于一些關(guān)鍵服務(wù)場景(軍事、航天等),而對于某些商業(yè)或不太敏感的場景,同樣的限制則顯得有些苛刻[12].
外部指標(biāo):主要強(qiáng)調(diào)服務(wù)在部署和運(yùn)行時的穩(wěn)定性和安全性.若網(wǎng)絡(luò)狀況不佳,在其上運(yùn)行的程序也難以提供持續(xù)穩(wěn)定服務(wù),因此在考慮服務(wù)本身相關(guān)可信性基礎(chǔ)之上,考慮服務(wù)所在動態(tài)開放、不可控的網(wǎng)絡(luò)運(yùn)行環(huán)境狀況對當(dāng)前可信性的影響,如網(wǎng)絡(luò)安全性是指在系統(tǒng)受到惡意攻擊時,安全策略可以保護(hù)系統(tǒng)敏感數(shù)據(jù)不被非法訪問的概率.穩(wěn)定性是軟件系統(tǒng)在正常情況和時間內(nèi)完成所需功能的概率,可以通過故障注入測試來評估.此類指標(biāo)在服務(wù)每次申請時,需重新進(jìn)行 QoS 計算,即:

T1···Tn為同一服務(wù)提供的調(diào)用后反饋值,β為設(shè)定系數(shù),決定修正作用影響程度,T? 為服務(wù)提供者預(yù)設(shè)值,ti-tj為服務(wù)間隔時間.該方法更多的考慮到服務(wù)提供商提供的某些屬性值的可靠性,提供一種修正反饋機(jī)制.對于不誠實(shí)實(shí)體、惡意評價等方面的考慮更加完善,建立用戶需求與可信證據(jù)直接的關(guān)聯(lián),使應(yīng)用該方法面對多層次的證據(jù)來源時,能夠進(jìn)行有效分析,可操作性較高,且以此獲得的高可信性的服務(wù)更有利于滿足用戶的實(shí)際需求,提高服務(wù)選擇時的準(zhǔn)確性和有效性.
貝葉斯推理通過對概率分布和觀測數(shù)據(jù)進(jìn)行推理做出最優(yōu)決策,當(dāng)假設(shè)前提正確,每個訓(xùn)練數(shù)據(jù)集會適度調(diào)整預(yù)估概率.貝葉斯網(wǎng)絡(luò)通過指定一組條件獨(dú)立假設(shè)和局部條件概率來表示一系列變量間的聯(lián)合概率分布,將先驗(yàn)知識與觀測數(shù)據(jù)結(jié)合,確定最終假設(shè)概率.某時刻Web服務(wù)可信性被認(rèn)為是個體能夠滿足可信條件下提供服務(wù)的修正后驗(yàn)概率,即:

n為評估指標(biāo)類型的數(shù)量,先驗(yàn)概率Pi(A|T)為服務(wù)單元可信條件下選取內(nèi)部修正指標(biāo)的條件概率,Pi(A)為所選取內(nèi)部修正指標(biāo)滿足的給定條件概率,通過獲取某服務(wù)與其他服務(wù)交互歷史信息,然后可以計算先驗(yàn)概率下系統(tǒng)環(huán)境狀態(tài),Pi(T)為所有基(礎(chǔ)指標(biāo)綜)合可信值,是對可信性的先驗(yàn)評估概率;PT|Tdynamic為該服務(wù)該時刻動態(tài)因素可信時的可信值,取網(wǎng)絡(luò)環(huán)境安全性值Tinternet 、資源可信值Tresource、部署設(shè)備可信值Thardware均值.
對某企業(yè)訂單管理系統(tǒng)中的地圖服務(wù)使用DTMIECM可信性評估模型進(jìn)行實(shí)驗(yàn)研究.該系統(tǒng)由業(yè)務(wù)邏輯模塊、內(nèi)部組件和外部組件三部分組成,企業(yè)對庫存、供應(yīng)商、訂單等具有管理功能.內(nèi)部組件是被封裝的公共服務(wù),可直接被其他模塊調(diào)用,這些組件是由應(yīng)用程序開發(fā)人員為提高重用性、降低成本而開發(fā),通常為本地組件或Web服務(wù),外部組件則為第三方提供的開發(fā)良好的實(shí)體,封裝應(yīng)用功能并作為服務(wù)通過Internet與系統(tǒng)交互.
內(nèi)部組件中Web服務(wù)通過局域網(wǎng)與業(yè)務(wù)邏輯模塊交互,將第三方提供的聚合應(yīng)用程序作為外部組件進(jìn)行集成.在Web開發(fā)中,聚合程序是一種新型的、由來自兩個或多個來源的數(shù)據(jù)集組合而成的應(yīng)用程序.越來越多Web應(yīng)用發(fā)布了API,使軟件開發(fā)人員無需自行構(gòu)建就能夠集成數(shù)據(jù)和功能.系統(tǒng)中本地模塊,如入站管理模塊、外部管理模塊、庫存模塊和供應(yīng)商管理模塊,在同一個環(huán)境中開發(fā)和集成,它們之間不存在接口兼容性問題,可以看作是單一實(shí)體.內(nèi)部公共組件是用戶開發(fā)的服務(wù)實(shí)體,與其他模塊兼容,不存在結(jié)構(gòu)依賴.在圖1中,地圖服務(wù)1和地圖服務(wù)2只支持SOAP,而地圖服務(wù)3只支持REST.在使用地圖服務(wù)1和地圖服務(wù)2時,可以選擇定位信息1和定位信息2作為基礎(chǔ)服務(wù).同樣,當(dāng)使用地圖服務(wù) 3 時,只能選擇定位信息3.在構(gòu)造結(jié)構(gòu)依賴關(guān)系圖后,利用每個服務(wù)度量指標(biāo)計算集成模塊可信性,從而選擇最佳集成方法.

圖1 地圖服務(wù)結(jié)構(gòu)依賴圖
首先以定位信息1服務(wù)為例,計算了基礎(chǔ)實(shí)體可信性.根據(jù)上述算法,通過傳統(tǒng)方法并歸一化,功能性0.97,可用性 0.95,可靠性 0.95,效率性 0.94,可維護(hù)性0.93,可重用性0.90.利用評估實(shí)體開發(fā)過程的因素作為內(nèi)部修正度量,獲得實(shí)體可信性.如表1所示,當(dāng)Web服務(wù)適用不同可信性評估策略時,采用不同可信性修正指標(biāo).數(shù)據(jù)來自于多個實(shí)際軟件開發(fā)項(xiàng)目,由于軟件過程因素不同,其各自可信性是不同的.該表通過總結(jié)各種軟件開發(fā)案例所得,并在系統(tǒng)運(yùn)行過程中不斷完善.

表1 可信性條件概率表
策略一:選取全部修正指標(biāo),其聯(lián)合概率可以根據(jù)可信性條件概率表來計算,P(A)=0.25,服務(wù)可信時,修正指標(biāo)聯(lián)合概率P(A|T)=0.32.同時,由式 (7)得該時刻網(wǎng)絡(luò)環(huán)境安全性值Tinternet、資源可信值Tresource、部署設(shè)備可信值Thardware分別為 0.978,0.954,0.988,由式(8)可得該服務(wù)可信值:

策略二:修正指標(biāo)選取測試質(zhì)量、編程規(guī)范性、研發(fā)經(jīng)驗(yàn),此時P(A)=0.45,P(A|T)=0.32,服務(wù)可信值Pmetrics=0.945.
策略三:修正指標(biāo)選取測試質(zhì)量、編程規(guī)范性、文檔完善程度、項(xiàng)目進(jìn)度管理,此時P(A)=0.39,P(A|T)=0.31,服務(wù)可信值Pmetrics=0.845.
策略四:不選取此類中任何指標(biāo),即不進(jìn)行修正操作,此 時,P(A)=0.09,P(A|T)=0.11,服務(wù)可信值Pmetrics=0.821.
在所有需要的底層服務(wù)通過以上方法計算完成后,便為上層服務(wù)可信性計算提供了前提條件.通常來講,一個上層服務(wù)會與下層多個冗余服務(wù)相連接,當(dāng)一個相對底層的服務(wù)因某些因素不可用時,可以將其切換到另一個可信性較高的服務(wù),以此可顯著提高系統(tǒng)可信性.因此在這種中斷冗余結(jié)構(gòu)中,影響上層服務(wù)可信性的因素即為所有下層服務(wù)都不可用的概率.以定位信息1的上層服務(wù),也就是地圖服務(wù)1可信性計算為例,由以上計算可知與其存在依賴關(guān)系的定位信息1與定位信息2的可信性分別0.860與0.936.

通過上述實(shí)際案例驗(yàn)證及分析,該模型能夠清晰客觀地評估服務(wù)的可信性,結(jié)果符合平臺用戶和企業(yè)生產(chǎn)需求狀況,并通過與蔡斯博[13]提出的支持資源的可信框架對比發(fā)現(xiàn),在正面收集證據(jù)信息,度量可信屬性難以避免地面臨著現(xiàn)實(shí)中某些證據(jù)難以收集,可行性低的問題.而徐傳運(yùn)[14]收集的數(shù)據(jù)主要來自軟件測評,相對單一片面.DTEIECM方法在動態(tài)可信性評估中考慮眾多影響因素,從開發(fā)、三方測評、用戶反饋等層面采用了不同評估指標(biāo),數(shù)據(jù)跟為全面,提高了度量過程中的準(zhǔn)確性.其中修正指標(biāo)有一定主觀影響,主要是由于每個服務(wù)單元都是由不同的第三方開發(fā)的,因此差異性也比較大.同時,對于某個時刻復(fù)雜軟件系統(tǒng)進(jìn)行動態(tài)可信評估時,其所處網(wǎng)絡(luò)環(huán)境、數(shù)據(jù)資源等因素對整體可信性影響也非常重要,因此在對下一時刻可信性評估時,需要重新評估這些因素的影響程度,將服務(wù)可信值變化客觀地反映到QoS信息中,并以動態(tài)更新后的值作為服務(wù)選擇依據(jù),針對網(wǎng)絡(luò)環(huán)境下Web動態(tài)可信性評估所提出的集成評估方法具有有效性和可行性.
為解決軟件系統(tǒng)動態(tài)演化特性,本文提出了一種網(wǎng)絡(luò)環(huán)境下的Web服務(wù)可信性動態(tài)評估模型,綜合對實(shí)體可信性方面的評估與修正,從多項(xiàng)屬性和證據(jù)中計算出最終可信性結(jié)果.評價體系基于其特點(diǎn),以用戶服務(wù)實(shí)體事實(shí)作為客觀評估的依據(jù),而非單純地依賴服務(wù)代理商提供的數(shù)據(jù),克服了常規(guī)主觀賦權(quán)法不可避免地受人為因素影響的不足,為每個服務(wù)可信性評估提供了良好基礎(chǔ).評價指標(biāo)既包含了開發(fā)時期的模型分析、驗(yàn)證和測試等保障指標(biāo),又考慮了與質(zhì)量控制措施相關(guān)的修正指標(biāo)和結(jié)合反饋值的環(huán)境指標(biāo),克服傳統(tǒng)模型中僅依靠靜態(tài)指標(biāo)方法的局限性.
由于需要對不同類型的類型指標(biāo)進(jìn)行度量,并采用模糊理論推導(dǎo)信息熵,以及貝葉斯推理結(jié)合基礎(chǔ)指標(biāo)和修正指標(biāo)等概率計算,不可避免的會帶來更高的運(yùn)算復(fù)雜度.Web服務(wù)相關(guān)技術(shù)的不斷發(fā)展使網(wǎng)絡(luò)中服務(wù)數(shù)量快速增長,且存在大量功能相似的服務(wù),因此對每個原子服務(wù)進(jìn)行可信性評估時,如何在提高準(zhǔn)確度的同時盡可能的降低應(yīng)用成本是下一步工作的研究重點(diǎn),亟待探究.這對于更加全面有效地對網(wǎng)絡(luò)環(huán)境下的Web服務(wù)可信性進(jìn)行評估具有重要意義.