王 鵬,李克文
(中國(guó)石油大學(xué)(華東)計(jì)算機(jī)與通信工程學(xué)院,青島 266580)
隨著云計(jì)算和企業(yè)網(wǎng)絡(luò)服務(wù)近年來的不斷發(fā)展,對(duì)Web服務(wù)的使用愈發(fā)頻繁.Web服務(wù)是在面向服務(wù)計(jì)算 (Service-Oriented Computing,SOC)松散耦合環(huán)境中被描述、發(fā)布和定位的應(yīng)用程序模塊,自身是一種自治、開放與平臺(tái)無關(guān)的網(wǎng)絡(luò)化構(gòu)件.作為當(dāng)前面向服務(wù)架構(gòu) (Service-Oriented Architecture,SOA)主流實(shí)現(xiàn)方式,它使應(yīng)用具有更好的靈活性、復(fù)用性及可增長(zhǎng)性.
構(gòu)建一個(gè)復(fù)雜應(yīng)用時(shí),可能需要集合網(wǎng)絡(luò)環(huán)境下多個(gè)服務(wù),選擇滿足用戶需求的最佳服務(wù),構(gòu)建Web服務(wù)可信性評(píng)估模型就至關(guān)重要.Web服務(wù)的可信是整個(gè)網(wǎng)絡(luò)化軟件可信的基礎(chǔ),不同的背景下,國(guó)內(nèi)外眾多學(xué)者對(duì)信任評(píng)估模型進(jìn)行了廣泛研究[1,2].Bhargava[3]提出一個(gè)自組織對(duì)等網(wǎng)絡(luò)信任模型.在這個(gè)模型中,對(duì)等點(diǎn)使用本地可用信息創(chuàng)建信任網(wǎng)絡(luò).對(duì)于面向服務(wù)的移動(dòng)社交網(wǎng)絡(luò),Liang[4]給出了一個(gè)通過收集和存儲(chǔ)用戶評(píng)論的模型.在其基礎(chǔ)之上,Ding[5]提出了CSTrust框架的概念,通過結(jié)合客戶滿意度和QoS來預(yù)測(cè)云服務(wù).此外,該作者[6]還提出了一種通過收集可信證據(jù),根據(jù)用戶實(shí)際需求情況,充分考慮缺失值預(yù)測(cè)及多屬性分配不同屬性權(quán)重的方法.Li[7]給出了基于實(shí)際可信證據(jù)基礎(chǔ)之上的質(zhì)量水平模型.Fernandez[8]提出了一種使用化學(xué)反應(yīng)方程式促進(jìn)分散工作流執(zhí)行的方法.然而,該方法并未提供一個(gè)明確的機(jī)制來處理開放的環(huán)境,以支持服務(wù)可以在任意時(shí)刻連接或離開.Liu[9]構(gòu)建了帶修正的主觀可信性評(píng)估模型,在標(biāo)準(zhǔn)SOA中融入信托管理模塊,把Web網(wǎng)絡(luò)轉(zhuǎn)變?yōu)橐粋€(gè)基于可信任實(shí)體的小型網(wǎng)絡(luò).Sim[10]提出了一種自組織多代理方法,進(jìn)行云環(huán)境中分散的服務(wù)組合,用服務(wù)能力表來維護(hù)云服務(wù)實(shí)時(shí)信息,但對(duì)其的過度依賴成為一個(gè)不可避免的問題.為反映動(dòng)態(tài)環(huán)境中時(shí)刻產(chǎn)生的變化,服務(wù)能力表需要定期更新,會(huì)限制其部署在高度動(dòng)態(tài)環(huán)境下的適用性.
由于當(dāng)前Web服務(wù)實(shí)體之間交互方式的復(fù)雜性、多樣性[11],難以構(gòu)建一個(gè)長(zhǎng)時(shí)間持續(xù)通用的評(píng)估模型.多數(shù)靜態(tài)和定性信任模型也不足以描述這種不斷變化、高度動(dòng)態(tài)的環(huán)境.因此本文提出一種將模糊理論與信息熵相結(jié)合的綜合可信性評(píng)估模型,通過計(jì)算客觀評(píng)價(jià)矩陣的信息熵,對(duì)主觀權(quán)重進(jìn)行修正.同時(shí)將可信性評(píng)估指標(biāo)體系中屬性分為標(biāo)準(zhǔn)指標(biāo)和修正指標(biāo),對(duì)反饋而來的信息進(jìn)行有效處理,改善了動(dòng)態(tài)適應(yīng)性不強(qiáng)的問題,使評(píng)估結(jié)果更加客觀合理.
熵的概念源自熱力學(xué),表示一個(gè)系統(tǒng)的混亂程度,而在通信領(lǐng)域?qū)⑵溆脕矶攘啃旁粗行盘?hào)的不確定性,系統(tǒng)的不確定性與熵值成正比.在模糊評(píng)判矩陣R=(rij)n×m中,如果缺陷評(píng)價(jià)因子Ui隸屬于評(píng)價(jià)等級(jí)集合不同等級(jí)的差異度越高,信息熵就越小,系統(tǒng)處于某種狀態(tài)的不確定性就越小,那么則表明該指標(biāo)相對(duì)于其他指標(biāo)對(duì)評(píng)估結(jié)果的重要性就越高,因此通過計(jì)算模糊評(píng)判矩陣的信息熵來修正指標(biāo)權(quán)重.
在已確定主觀權(quán)重的基礎(chǔ)之上,采用信息熵理論確定系統(tǒng)各類缺陷客觀權(quán)重來修正評(píng)估因子權(quán)重,步驟如下:
1)將主觀評(píng)價(jià)作為初始權(quán)重:
2)設(shè)模糊評(píng)判矩陣R,利用信息熵來度量第i個(gè)評(píng)估因子重要性:
規(guī)定rij=0時(shí),hi= 0.差異度越小,信息熵越大,則最終可信性評(píng)估結(jié)果的不確定性越大.
3)為了避免出現(xiàn)量綱不統(tǒng)一的情況,對(duì)hi進(jìn)行歸一化處理:
當(dāng)且僅當(dāng)差異度完全相同時(shí),信息熵可取得最大值1.
4)第i個(gè)評(píng)價(jià)指標(biāo)的權(quán)重系數(shù)為:
得權(quán)重向量 θ =(θ1,θ2,···,θn),為避免時(shí),θi→ 0而導(dǎo)致權(quán)重差別過大,對(duì)式子進(jìn)行以下處理:
5)利用客觀權(quán)重系數(shù)對(duì)主觀權(quán)重向量進(jìn)行修正:
隨著模糊計(jì)算、區(qū)間計(jì)算和概率論與數(shù)理統(tǒng)計(jì)等理論引入,將證據(jù)理論與決策理論相結(jié)合,可用于處理信息不精確、定性定量混合的決策問題和信息模糊性及不確定性的合成問題.首先給出信任定義,然后提出用于復(fù)合信任計(jì)算的多重策略,最終提出一個(gè)可信條件下的評(píng)估模型來計(jì)算服務(wù)的復(fù)合信任值.
信任定義為取值在[0,1]之間用來衡量服務(wù)按預(yù)期執(zhí)行的可能性概率.面向服務(wù)的應(yīng)用程序需要通過服務(wù)聲譽(yù)和執(zhí)行歷史來訪問動(dòng)態(tài)、可量化的復(fù)合信任方案.信任方案必須捕捉到各種場(chǎng)景中服務(wù)間相互作用,并計(jì)算其可信賴程度.由于面向服務(wù)架構(gòu)的復(fù)雜性,當(dāng)前多數(shù)研究采用的單一信任度量標(biāo)準(zhǔn)在可信證據(jù)數(shù)據(jù)上較為單一、收集復(fù)雜、可執(zhí)行性低,由此本文提出了三種不同類型度量指標(biāo),從側(cè)面獲取Web服務(wù)生命周期各階段數(shù)據(jù)對(duì)其進(jìn)行歸類分析,再結(jié)合信息熵權(quán)重確定每種指標(biāo)的可行權(quán)重,最終構(gòu)造可信評(píng)估度量模型.
Web服務(wù)動(dòng)態(tài)可信指標(biāo)評(píng)估體系從靜態(tài)特性和動(dòng)態(tài)特性兩方面對(duì)服務(wù)可信狀態(tài)進(jìn)行評(píng)估,通過定制信任屬性和信息熵權(quán)重,實(shí)現(xiàn)服務(wù)可信評(píng)估體系的定制性和擴(kuò)展性.將可信特性解析分類,以常規(guī)軟件開發(fā)時(shí)期的模型分析、軟件驗(yàn)證等服務(wù)自主可信性方法作為基礎(chǔ)指標(biāo),并增加變化的協(xié)作環(huán)境指標(biāo).在系統(tǒng)運(yùn)行過程中,每個(gè)實(shí)體可信性能夠動(dòng)態(tài)評(píng)估,以便于切換到更可信實(shí)體.
基礎(chǔ)指標(biāo):初步評(píng)估的可信指標(biāo),由傳統(tǒng)可信屬性指標(biāo)構(gòu)成,如功能性、可靠性、可用性、可維護(hù)性、可重用性等,通過許多現(xiàn)有傳統(tǒng)方法獲得,作為可信性初始評(píng)價(jià).
內(nèi)部修正指標(biāo):為使評(píng)估更客觀,基礎(chǔ)指標(biāo)需通過一些與可信評(píng)估密切相關(guān)的因素進(jìn)行修正,因此對(duì)該服務(wù)提供者所開發(fā)的其他Web服務(wù)開發(fā)水平進(jìn)行評(píng)估,如編程規(guī)范性、項(xiàng)目文檔完善性、開發(fā)人員研發(fā)經(jīng)驗(yàn)、項(xiàng)目進(jìn)度管理規(guī)范性、測(cè)試質(zhì)量等進(jìn)行評(píng)估,是由統(tǒng)計(jì)量(即系統(tǒng)的訓(xùn)練數(shù)據(jù))計(jì)算的校正度量.沒有單一策略適用于所有SOA場(chǎng)景,必須選擇基于應(yīng)用領(lǐng)域和敏感性的對(duì)應(yīng)策略.例如,較嚴(yán)格的策略適用于一些關(guān)鍵服務(wù)場(chǎng)景(軍事、航天等),而對(duì)于某些商業(yè)或不太敏感的場(chǎng)景,同樣的限制則顯得有些苛刻[12].
外部指標(biāo):主要強(qiáng)調(diào)服務(wù)在部署和運(yùn)行時(shí)的穩(wěn)定性和安全性.若網(wǎng)絡(luò)狀況不佳,在其上運(yùn)行的程序也難以提供持續(xù)穩(wěn)定服務(wù),因此在考慮服務(wù)本身相關(guān)可信性基礎(chǔ)之上,考慮服務(wù)所在動(dòng)態(tài)開放、不可控的網(wǎng)絡(luò)運(yùn)行環(huán)境狀況對(duì)當(dāng)前可信性的影響,如網(wǎng)絡(luò)安全性是指在系統(tǒng)受到惡意攻擊時(shí),安全策略可以保護(hù)系統(tǒng)敏感數(shù)據(jù)不被非法訪問的概率.穩(wěn)定性是軟件系統(tǒng)在正常情況和時(shí)間內(nèi)完成所需功能的概率,可以通過故障注入測(cè)試來評(píng)估.此類指標(biāo)在服務(wù)每次申請(qǐng)時(shí),需重新進(jìn)行 QoS 計(jì)算,即:
T1···Tn為同一服務(wù)提供的調(diào)用后反饋值,β為設(shè)定系數(shù),決定修正作用影響程度,T? 為服務(wù)提供者預(yù)設(shè)值,ti-tj為服務(wù)間隔時(shí)間.該方法更多的考慮到服務(wù)提供商提供的某些屬性值的可靠性,提供一種修正反饋機(jī)制.對(duì)于不誠(chéng)實(shí)實(shí)體、惡意評(píng)價(jià)等方面的考慮更加完善,建立用戶需求與可信證據(jù)直接的關(guān)聯(lián),使應(yīng)用該方法面對(duì)多層次的證據(jù)來源時(shí),能夠進(jìn)行有效分析,可操作性較高,且以此獲得的高可信性的服務(wù)更有利于滿足用戶的實(shí)際需求,提高服務(wù)選擇時(shí)的準(zhǔn)確性和有效性.
貝葉斯推理通過對(duì)概率分布和觀測(cè)數(shù)據(jù)進(jìn)行推理做出最優(yōu)決策,當(dāng)假設(shè)前提正確,每個(gè)訓(xùn)練數(shù)據(jù)集會(huì)適度調(diào)整預(yù)估概率.貝葉斯網(wǎng)絡(luò)通過指定一組條件獨(dú)立假設(shè)和局部條件概率來表示一系列變量間的聯(lián)合概率分布,將先驗(yàn)知識(shí)與觀測(cè)數(shù)據(jù)結(jié)合,確定最終假設(shè)概率.某時(shí)刻Web服務(wù)可信性被認(rèn)為是個(gè)體能夠滿足可信條件下提供服務(wù)的修正后驗(yàn)概率,即:
n為評(píng)估指標(biāo)類型的數(shù)量,先驗(yàn)概率Pi(A|T)為服務(wù)單元可信條件下選取內(nèi)部修正指標(biāo)的條件概率,Pi(A)為所選取內(nèi)部修正指標(biāo)滿足的給定條件概率,通過獲取某服務(wù)與其他服務(wù)交互歷史信息,然后可以計(jì)算先驗(yàn)概率下系統(tǒng)環(huán)境狀態(tài),Pi(T)為所有基(礎(chǔ)指標(biāo)綜)合可信值,是對(duì)可信性的先驗(yàn)評(píng)估概率;PT|Tdynamic為該服務(wù)該時(shí)刻動(dòng)態(tài)因素可信時(shí)的可信值,取網(wǎng)絡(luò)環(huán)境安全性值Tinternet 、資源可信值Tresource、部署設(shè)備可信值Thardware均值.
對(duì)某企業(yè)訂單管理系統(tǒng)中的地圖服務(wù)使用DTMIECM可信性評(píng)估模型進(jìn)行實(shí)驗(yàn)研究.該系統(tǒng)由業(yè)務(wù)邏輯模塊、內(nèi)部組件和外部組件三部分組成,企業(yè)對(duì)庫(kù)存、供應(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ā)中,聚合程序是一種新型的、由來自兩個(gè)或多個(gè)來源的數(shù)據(jù)集組合而成的應(yīng)用程序.越來越多Web應(yīng)用發(fā)布了API,使軟件開發(fā)人員無需自行構(gòu)建就能夠集成數(shù)據(jù)和功能.系統(tǒng)中本地模塊,如入站管理模塊、外部管理模塊、庫(kù)存模塊和供應(yīng)商管理模塊,在同一個(gè)環(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時(shí),可以選擇定位信息1和定位信息2作為基礎(chǔ)服務(wù).同樣,當(dāng)使用地圖服務(wù) 3 時(shí),只能選擇定位信息3.在構(gòu)造結(jié)構(gòu)依賴關(guān)系圖后,利用每個(gè)服務(wù)度量指標(biāo)計(jì)算集成模塊可信性,從而選擇最佳集成方法.
圖1 地圖服務(wù)結(jié)構(gòu)依賴圖
首先以定位信息1服務(wù)為例,計(jì)算了基礎(chǔ)實(shí)體可信性.根據(jù)上述算法,通過傳統(tǒng)方法并歸一化,功能性0.97,可用性 0.95,可靠性 0.95,效率性 0.94,可維護(hù)性0.93,可重用性0.90.利用評(píng)估實(shí)體開發(fā)過程的因素作為內(nèi)部修正度量,獲得實(shí)體可信性.如表1所示,當(dāng)Web服務(wù)適用不同可信性評(píng)估策略時(shí),采用不同可信性修正指標(biāo).數(shù)據(jù)來自于多個(gè)實(shí)際軟件開發(fā)項(xiàng)目,由于軟件過程因素不同,其各自可信性是不同的.該表通過總結(jié)各種軟件開發(fā)案例所得,并在系統(tǒng)運(yùn)行過程中不斷完善.
表1 可信性條件概率表
策略一:選取全部修正指標(biāo),其聯(lián)合概率可以根據(jù)可信性條件概率表來計(jì)算,P(A)=0.25,服務(wù)可信時(shí),修正指標(biāo)聯(lián)合概率P(A|T)=0.32.同時(shí),由式 (7)得該時(shí)刻網(wǎng)絡(luò)環(huán)境安全性值Tinternet、資源可信值Tresource、部署設(shè)備可信值Thardware分別為 0.978,0.954,0.988,由式(8)可得該服務(wù)可信值:
策略二:修正指標(biāo)選取測(cè)試質(zhì)量、編程規(guī)范性、研發(fā)經(jīng)驗(yàn),此時(shí)P(A)=0.45,P(A|T)=0.32,服務(wù)可信值Pmetrics=0.945.
策略三:修正指標(biāo)選取測(cè)試質(zhì)量、編程規(guī)范性、文檔完善程度、項(xiàng)目進(jìn)度管理,此時(shí)P(A)=0.39,P(A|T)=0.31,服務(wù)可信值Pmetrics=0.845.
策略四:不選取此類中任何指標(biāo),即不進(jìn)行修正操作,此 時(shí),P(A)=0.09,P(A|T)=0.11,服務(wù)可信值Pmetrics=0.821.
在所有需要的底層服務(wù)通過以上方法計(jì)算完成后,便為上層服務(wù)可信性計(jì)算提供了前提條件.通常來講,一個(gè)上層服務(wù)會(huì)與下層多個(gè)冗余服務(wù)相連接,當(dāng)一個(gè)相對(duì)底層的服務(wù)因某些因素不可用時(shí),可以將其切換到另一個(gè)可信性較高的服務(wù),以此可顯著提高系統(tǒng)可信性.因此在這種中斷冗余結(jié)構(gòu)中,影響上層服務(wù)可信性的因素即為所有下層服務(wù)都不可用的概率.以定位信息1的上層服務(wù),也就是地圖服務(wù)1可信性計(jì)算為例,由以上計(jì)算可知與其存在依賴關(guān)系的定位信息1與定位信息2的可信性分別0.860與0.936.
通過上述實(shí)際案例驗(yàn)證及分析,該模型能夠清晰客觀地評(píng)估服務(wù)的可信性,結(jié)果符合平臺(tái)用戶和企業(yè)生產(chǎn)需求狀況,并通過與蔡斯博[13]提出的支持資源的可信框架對(duì)比發(fā)現(xiàn),在正面收集證據(jù)信息,度量可信屬性難以避免地面臨著現(xiàn)實(shí)中某些證據(jù)難以收集,可行性低的問題.而徐傳運(yùn)[14]收集的數(shù)據(jù)主要來自軟件測(cè)評(píng),相對(duì)單一片面.DTEIECM方法在動(dòng)態(tài)可信性評(píng)估中考慮眾多影響因素,從開發(fā)、三方測(cè)評(píng)、用戶反饋等層面采用了不同評(píng)估指標(biāo),數(shù)據(jù)跟為全面,提高了度量過程中的準(zhǔn)確性.其中修正指標(biāo)有一定主觀影響,主要是由于每個(gè)服務(wù)單元都是由不同的第三方開發(fā)的,因此差異性也比較大.同時(shí),對(duì)于某個(gè)時(shí)刻復(fù)雜軟件系統(tǒng)進(jìn)行動(dòng)態(tài)可信評(píng)估時(shí),其所處網(wǎng)絡(luò)環(huán)境、數(shù)據(jù)資源等因素對(duì)整體可信性影響也非常重要,因此在對(duì)下一時(shí)刻可信性評(píng)估時(shí),需要重新評(píng)估這些因素的影響程度,將服務(wù)可信值變化客觀地反映到QoS信息中,并以動(dòng)態(tài)更新后的值作為服務(wù)選擇依據(jù),針對(duì)網(wǎng)絡(luò)環(huán)境下Web動(dòng)態(tài)可信性評(píng)估所提出的集成評(píng)估方法具有有效性和可行性.
為解決軟件系統(tǒng)動(dòng)態(tài)演化特性,本文提出了一種網(wǎng)絡(luò)環(huán)境下的Web服務(wù)可信性動(dòng)態(tài)評(píng)估模型,綜合對(duì)實(shí)體可信性方面的評(píng)估與修正,從多項(xiàng)屬性和證據(jù)中計(jì)算出最終可信性結(jié)果.評(píng)價(jià)體系基于其特點(diǎn),以用戶服務(wù)實(shí)體事實(shí)作為客觀評(píng)估的依據(jù),而非單純地依賴服務(wù)代理商提供的數(shù)據(jù),克服了常規(guī)主觀賦權(quán)法不可避免地受人為因素影響的不足,為每個(gè)服務(wù)可信性評(píng)估提供了良好基礎(chǔ).評(píng)價(jià)指標(biāo)既包含了開發(fā)時(shí)期的模型分析、驗(yàn)證和測(cè)試等保障指標(biāo),又考慮了與質(zhì)量控制措施相關(guān)的修正指標(biāo)和結(jié)合反饋值的環(huán)境指標(biāo),克服傳統(tǒng)模型中僅依靠靜態(tài)指標(biāo)方法的局限性.
由于需要對(duì)不同類型的類型指標(biāo)進(jìn)行度量,并采用模糊理論推導(dǎo)信息熵,以及貝葉斯推理結(jié)合基礎(chǔ)指標(biāo)和修正指標(biāo)等概率計(jì)算,不可避免的會(huì)帶來更高的運(yùn)算復(fù)雜度.Web服務(wù)相關(guān)技術(shù)的不斷發(fā)展使網(wǎng)絡(luò)中服務(wù)數(shù)量快速增長(zhǎng),且存在大量功能相似的服務(wù),因此對(duì)每個(gè)原子服務(wù)進(jìn)行可信性評(píng)估時(shí),如何在提高準(zhǔn)確度的同時(shí)盡可能的降低應(yīng)用成本是下一步工作的研究重點(diǎn),亟待探究.這對(duì)于更加全面有效地對(duì)網(wǎng)絡(luò)環(huán)境下的Web服務(wù)可信性進(jìn)行評(píng)估具有重要意義.