盧杰驊
摘? 要: 針對復(fù)雜業(yè)務(wù)環(huán)境下Web 組合服務(wù)的信任評估需要,對服務(wù)編制和服務(wù)編排兩種組合機制進行了分析,重點針對服務(wù)編排提出了一種基于信任有向圖和信任傳遞機制的信任模型,并給出了基于向量運算的信任評估方法。通過仿真實驗,驗證了該信任模型和評估方法的有效性。
關(guān)鍵詞: 組合服務(wù); 服務(wù)編排; 信任模型; 信任評估
中圖分類號:TP311? ? ? ? ? 文獻標(biāo)志碼:A? 文章編號:1006-8228(2019)06-19-04
Abstract: Composite service that contains complex business logic and data interaction requires effective trust evaluation mechanisms. In this paper, Orchestration and Choreography these two mechanisms of service composition are analyzed, focusing on service choreography, a trust model based on trust directed graph and trust transfer mechanism is proposed, and the trust evaluation mechanisms based on vector operation are also proposed. The effectiveness and feasibility of the trust model and trust evaluation method are verified by simulation experiments.
Key words: composite service; service choreography; trust model; trust evaluation
0 引言
隨著SOA、SaaS和云計算思想的不斷推進,服務(wù)流程、服務(wù)組合等技術(shù)得到不斷應(yīng)用,Web服務(wù)逐漸從簡單的功能封裝向能夠自主適應(yīng)服務(wù)調(diào)用對象和網(wǎng)絡(luò)應(yīng)用環(huán)境的智能化方向發(fā)展。而智能化的服務(wù),更多地表現(xiàn)為由多個小粒度、功能單一且結(jié)構(gòu)簡單的服務(wù)構(gòu)造而成的大粒度服務(wù)(組合服務(wù))。因此,組合服務(wù)將是Web服務(wù)的主流形態(tài)和表現(xiàn)形式。由于組合服務(wù)內(nèi)部集成了大量基本服務(wù)單元并且包含了復(fù)雜的業(yè)務(wù)邏輯和過程約束,導(dǎo)致大粒度服務(wù)的協(xié)同變得尤為復(fù)雜。與簡單服務(wù)之間的協(xié)同相比,交互次數(shù)從單次變?yōu)槎啻畏磸?fù)、交互內(nèi)容從單一消息到多消息的傳遞、交互過程從無狀態(tài)變成有狀態(tài)等,這些變化都給組合服務(wù)的信任建模與評估都帶來了極大的困難。
當(dāng)前的Web服務(wù)信任研究和應(yīng)用大多基于細(xì)粒度的原子級Web服務(wù),面向組合服務(wù)的信任評估機制并不多,如黃龍濤等人針對組合服務(wù)提出了一種基于服務(wù)編排(Choreography)模式的信任評價機制,基于業(yè)務(wù)流程的執(zhí)行路徑和概率對組件服務(wù)進行信任集成[1],Motallebi、林 青、沈宏偉等工作團隊在組合服務(wù)的可信研究中都引入了貝葉斯網(wǎng)絡(luò),提出了不同的信任節(jié)點設(shè)置機制,通過節(jié)點可信度計算和節(jié)點關(guān)聯(lián)度分析來預(yù)測整體組件服務(wù)的可信度[2-4];S.Nepal提出了一種組合服務(wù)的信任評估機制,通過計算每個組件服務(wù)的信任貢獻度設(shè)定其信任分配向量,貢獻度的計算主要依據(jù)組件服務(wù)的重要性和一致性[5]。
總體來說,當(dāng)前圍繞組合服務(wù)的信任研究還處于初步探索階段,大多還是將組合服務(wù)視為一個整體,忽略了服務(wù)組件之間的信任關(guān)系對整體信任評估的影響,因此無法全面、完整的度量組合服務(wù)的可信度。本文在Web組合服務(wù)信任模型中引入服務(wù)編排組合機制,提出了一種基于信任有向圖和信任傳遞機制的信任模型,并給出了基于向量運算的信任評估方法。
1 信任建模
1.1 服務(wù)組合機制
服務(wù)組合信任建模的困難主要源于其組件服務(wù)間存在的復(fù)雜業(yè)務(wù)邏輯,為此,首先需要對服務(wù)組合機制進行深入分析。目前主要有兩種服務(wù)組合機制,即服務(wù)編制(Orchestration)和服務(wù)編排(Choreography)。
服務(wù)編制使用一個中心節(jié)點來協(xié)調(diào)不同的Web 服務(wù)操作。這個中心節(jié)點了解該服務(wù)協(xié)作的總體目標(biāo)、涉及的操作以及操作的調(diào)用順序。中心節(jié)點可以看成是一個可執(zhí)行的大粒度Web服務(wù),只是需要調(diào)用其他的Web服務(wù)。參與該協(xié)作的服務(wù)只需要與中心節(jié)點進行交互,不需要了解整個組合的業(yè)務(wù)流程甚至可能不知道自己參與了組合。OASIS為服務(wù)編制制定了標(biāo)準(zhǔn)—Web服務(wù)業(yè)務(wù)流程執(zhí)行語言WS-BPEL (Business Process Execution Language)[6]。
服務(wù)編排定義多個參與者如何在協(xié)作中,相互交換信息,進行對等的協(xié)作。與編制不同,編排是一種對等模型,業(yè)務(wù)流程中會有很多協(xié)作方,編排并不描述每個參與者是如何處理操作的,而是描述不同參與者之間如何彼此交互。Web服務(wù)編排描述語言WS-CDL(Web Services Choreography Description Language)[7],是W3C推薦的Web服務(wù)編排標(biāo)準(zhǔn)。對于編排服務(wù),我們根據(jù)服務(wù)的內(nèi)部業(yè)務(wù)流程將服務(wù)間的信任關(guān)系形式化為信任關(guān)系有向圖,如圖1所示。
圖1中的節(jié)點用于表示組件服務(wù)和流程控制節(jié)點,實線邊表示邏輯依賴,虛線邊表示數(shù)據(jù)依賴,邊的起點為被依賴組件,邊的終點表示依賴組件。該有向圖能夠清晰的表示出整個服務(wù)組合的業(yè)務(wù)流程,同時還能夠表示出參與該組合的組件服務(wù)之間的交互依賴情況,圖中從S到E之間的所有可能路徑即為該組合的業(yè)務(wù)執(zhí)行路徑。
1.2 信任傳遞機制
在組合服務(wù)中,組件服務(wù)之間為了完成一定的業(yè)務(wù)目標(biāo),需要進行直接或間接的交互,對于編制服務(wù)而言,由于組件服務(wù)只與中心節(jié)點交互,因此無需考慮組件之間的信任關(guān)系。但對于編排服務(wù),組件服務(wù)之間往往是直接進行交互,組件之間存在著一定的依賴關(guān)系,特別是當(dāng)組件之間存在數(shù)據(jù)依賴關(guān)系時,如圖1中,w5對w4數(shù)據(jù)依賴,即w4的輸出將作為w5的輸入,但是如果w5對w4的信任度較低,w5完全有可能拒絕w4的傳入?yún)?shù),所造成的結(jié)果就是w5與w4所在的執(zhí)行路徑無法正常執(zhí)行,也就導(dǎo)致該服務(wù)組合不能按照預(yù)期為用戶提供滿意的結(jié)果,因此對于編排服務(wù)組合而言,對存在數(shù)據(jù)依賴關(guān)系的組件服務(wù)進行信任關(guān)系的度量是非常有必要的。
為此我們建立信任傳遞機制,若A對B的信任度為T1,B對C的信任度為T2,則A對C的信任度為:u=f(T1,T2),其中f為信任傳遞函數(shù)。基于信任的傳遞性,我們可以度量兩個從未交互過的組件服務(wù)A和B之間的信任度,采用類似路由算法的方法得出A和B之間的信任路徑。在具體測算中,考慮到不同用戶對服務(wù)質(zhì)量的評價是獨立做出的,并且返回評價的真實度受到所有傳遞這條評價的用戶的影響,我們使用概率的乘法公式來融合兩個或兩個以上的信任度。假設(shè)A對G的信任度為0.6,G對K的信任度為0.5,那么A對K的信任度為0.3(0.6×0.5)。
2 信任評估
2.1 組件服務(wù)的可信度
我們基于Josang提出的形式化信任的概念,基于已知原子服務(wù)的受信情況,使用β密度函數(shù)定義原子服務(wù)的可信度計算公式,公式定義如下:
如果r<1,則θ≠0,如果s<1,則θ≠1。
r表示服務(wù)消費者與服務(wù)的歷史交互中產(chǎn)生積極交互體驗的次數(shù),s表示服務(wù)消費者與服務(wù)的歷史交互中產(chǎn)生消極交互體驗的次數(shù),θ為概率密度。
對應(yīng)的,我們給出表示服務(wù)信任度的三元向量,稱為信任向量,,其中ti+di+ui=1,且滿足如下關(guān)系:
ti為信任確定度,di為不信任確定度,ui為不確定度。在服務(wù)發(fā)現(xiàn)和服務(wù)組合時,計算所有備選服務(wù)的信任向量,通過篩選,選出ti值最高的服務(wù),若同時有多個服務(wù)的ti值最高,則選取其中ui值最低的服務(wù)。
2.2 不同信任機制的建模方式
對于Web組合服務(wù),除了要對其內(nèi)部組件服務(wù)進行信任評估,還需要對其業(yè)務(wù)組織進行信任評估。對于編制服務(wù)來說,由于所有組件服務(wù)都會與中心節(jié)點進行交互,那么中心節(jié)點與所有組件服務(wù)之間的信任關(guān)系將決定整個大粒度服務(wù)是否能成功運行。而對于編排服務(wù),則需要評估有交互關(guān)系的組件服務(wù)之間的信任關(guān)系。
針對服務(wù)編制和服務(wù)編排的不同特點,可以采取不同的信任建模方式。對于服務(wù)編制,用一個二元組表示其信任度T0=
對于服務(wù)編排,用一個三元組表示其信任度,Tc=
2.3 信任運算規(guī)則
根據(jù)服務(wù)之間不同的信任關(guān)系,可以通過組件服務(wù)的信任向量運算,推導(dǎo)出服務(wù)協(xié)作即大粒度服務(wù)的信任度,運算規(guī)則主要包括傳遞、合并及合意。傳遞運算用于服務(wù)間的信任推導(dǎo),合意運算用于計算相互獨立但是對同一個信任內(nèi)容有信任記錄的服務(wù)間的綜合信任度,合并運算用于服務(wù)間的相關(guān)運算。
在計算服務(wù)編排機制的組合服務(wù)信任度時,我們首先根據(jù)其內(nèi)部業(yè)務(wù)邏輯構(gòu)建由組件服務(wù)組成的信任有向圖(如圖1所示),確定所有從初始狀態(tài)到結(jié)束狀態(tài)的執(zhí)行路徑,然后對每一條路徑結(jié)合該路徑上的組件服務(wù)以及存在交互關(guān)系的組件服務(wù)之間的信任關(guān)系進行信任評估,最后再根據(jù)每條執(zhí)行路徑的執(zhí)行概率綜合得出該服務(wù)組合的信任度。
3 仿真實驗
當(dāng)前國內(nèi)外主流的Web服務(wù)發(fā)現(xiàn)和組合算法及工具已經(jīng)有了很好的綜述性梳理[8],我們選取WSBen搭建仿真實驗環(huán)境,它能夠隨機生成包括不同的數(shù)據(jù)和模型特征的Web服務(wù),服務(wù)以WSDL文件形式存在,還能夠隨機生成用來測試發(fā)現(xiàn)和組合算法的查詢語句來模擬組合服務(wù)。在WSBen的基礎(chǔ)上,通過在Web服務(wù)中增加信任屬性和關(guān)聯(lián)屬性,我們制作了組合服務(wù)信任評估原型系統(tǒng)來進行仿真實驗。
首先隨機生成1000個Web組件服務(wù),隨機設(shè)置組件服務(wù)之間的關(guān)聯(lián)關(guān)系及對應(yīng)的信任值。然后生成A、B、C三組代表組合服務(wù)的樣本訓(xùn)練集,每個訓(xùn)練集均由100條查詢語句組成,代表100個隨機產(chǎn)生的組合服務(wù)。查詢語句滿足以下條件:①每條查詢語句只有唯一的輸入(服務(wù))和輸出(服務(wù)),可從1000個組件服務(wù)中隨機抽取;②輸入和輸出對應(yīng)的組件服務(wù)之間不存在直接關(guān)聯(lián)關(guān)系;③查詢語句的復(fù)雜度由高到低,訓(xùn)練集A對應(yīng)的組合服務(wù)的最短路徑(組件服務(wù)數(shù))在7個以上,訓(xùn)練集B在5個以上,訓(xùn)練集C在3個以上。
應(yīng)用本文給出的信任模型計算三組訓(xùn)練集對應(yīng)的組合服務(wù)的可信度,并從三組訓(xùn)練集間找到“相似”的觀測點(輸入輸出相同、內(nèi)部業(yè)務(wù)邏輯不同的組合服務(wù))。比較三個訓(xùn)練集的觀測點,結(jié)果如圖2所示。
從圖2中可以看到三個訓(xùn)練集在觀測集上的曲線非常擬合,表示針對同一個服務(wù)組合對之間的信任預(yù)測,盡管有著完全不同的內(nèi)部業(yè)務(wù)邏輯,三個訓(xùn)練集的結(jié)果是相近的,這說明本文所給出的組合服務(wù)信任模型及信任評估方法是有效的。從圖2中還可以看到三個訓(xùn)練集的信任度,總體來說C高于B高于A,這也說明隨著組合服務(wù)內(nèi)部業(yè)務(wù)邏輯的復(fù)雜度上升,信任評估存在損耗現(xiàn)象。
4 結(jié)束語
在Web服務(wù)日趨復(fù)雜的發(fā)展背景下,本文針對組合服務(wù)內(nèi)部的復(fù)雜業(yè)務(wù)邏輯,對其信任模型以及評估機制進行研究,對服務(wù)編制和服務(wù)編排兩種組合機制進行了分析,重點針對服務(wù)編排提出了一種基于信任有向圖和信任傳遞機制的信任模型,給出了一種基于信任向量的信任運算規(guī)則,通過仿真實驗,驗證了該模型的有效性。下一步需要分析信任路徑中的信任損耗問題,通過設(shè)置關(guān)鍵節(jié)點引入信任路由算法來進一步完善組合服務(wù)的信任評估機制。
參考文獻(References):
[1] Longtao Huang, Shuiguang Deng, Ying Li et al. Yin.Data-Dependency Aware Trust Evaluation for Service Choreography[C]//2011 9th IEEE International Conference on Web Services (ICWS), Washington, DC, USA:IEEE,2011:708-709
[2] Motallebi, M.Ishikawa, F.Honiden.Trust Computation inWeb Service Compositions Using Bayesian Networks[C]//2012 19th IEEE International Conference on Web Services (ICWS),Hawaii,USA:IEEE,2012:623-625
[3] 林青,戴慧臖,任德旺.基于貝葉斯網(wǎng)絡(luò)的量化信任評估方法[J].計算機技術(shù)與發(fā)展,2016.26(12):132-136
[4] 沈宏偉,邵堃,張陽洋等.基于樸素貝葉斯的信任決策模型[J].小型微型計算機系統(tǒng),2018.39(2):275-279
[5] S.Nepal,Z.Malik,A.Bouguettaya.Reputation Propagation inComposite Services[C]//2009 7th IEEE International Conference on Web Services (ICWS), Los Angeles,USA:IEEE,2009:295-302
[6] WS-BPEL,http://www.oasis-open.org/committees/wsbpel/[S].
[7] WS-CDL,http://www.w3.org/TR/2004/WD-ws-cdl-10-20041217/[S].
[8] 丁志軍,周澤霞.Web服務(wù)組合測試綜述[J]軟件學(xué)報,2018.29(2):299-319