一種基於事件驅動的SOA故障疑似集選擇演算法

2022-11-11 14:00:04 字數 4879 閱讀 7541

第28卷第5期

2011年5月

計算機應用與軟體

mav 2011

一種基於事件驅動的soa故障疑似集選擇演算法

李晶朱敏

(華東師範大學計算中心

上海200062)

摘要面向服務體系架構(soa)的靈活性和動態性,使得監測和管理執行時服務行為成為效能保證的關鍵所在。依據貝葉斯

故障診斷網路提出了一種基於事件驅動的soa故障疑似集選擇演算法,該演算法綜合貝葉斯敏感性分析技術以及k-median模型,並加入故障標識集,根據具體的故障事件選擇對應的故障疑似集合。**實驗表明,該演算法具有較高

的故障疑似集查詢完整率。增加的故障標識集也有利於以後的**性分析。

關鍵詞故障診斷貝葉斯網路模型事件驅動

收集個體服務的狀態資訊,其中個體服務還可分為更加具體的

0 引言

面向服務被認為是設計、實施和部署大規模服務**軟體

服務,並且具有自己的**。當錯誤被檢測到時,**將這些信

息傳送給

系統的重要技術之一。通過使用soa,企業系統可以定義和執

行分布式、跨多重服務領域的服務…。soa的靈活性和動態性,也使得對其執行時服務行為的監管,成為系統效能保證至關重要的一方面。乙個複雜的soa系統中,乙個商業流程可能有上百個服務,而這些商業流程的例項又可能會同時執行。

如果蒐集和分析所有服務節點的執行時資料,會對執行時間產生很大的管理負擔。而蒐集太少的資料又會影響診斷結果的準確

性。針對這種情況,本文使用問責制框架作為綜合的soa部署和管理方案的一部分,並改進yue zhang等人的ecs(evi—

演算法 ,提出了綜合具體故障標識e的故障疑似集選擇(fss)演算法,為故障診斷提供最優化的故障疑似集。

』圖1問責制框架系統架構

1 問責制管理框架與貝葉斯網路模型

1.1問責制管理框架

本文選用問責制框架作為soa中qos管理框架,其結構如圖1所示。問責制框架包括責任監管者與責任**,在服務流程部署的邏輯流中,觀察和報告執行時異常。服務**監視和

服務流程部署包括服務網路規劃、基於qos的服務選擇、

服務流程的執行和信譽網路的細化。問責制機制具體實現於服務流程的執行,通過幾個功能子步驟來達到問責制的目標。子

步驟包括**部署、故障疑似集選擇、貝葉斯網路診斷和業務網

收稿日期李晶(ccf會員碩士主研領域:現代軟體技術。

l82絡恢復,流程如圖2所示。

計算機應用與軟體2011生

pe(u,.s)=一

如果p=0,則即pe(u,s)測量了s被u分享的資訊量,如果知道 ,則s的不確定性程度就會減小。pe(u,js)的值越小,u包含了越多有關s的資訊。如果s和u相互獨立,則u不包含任何關於s的資訊。

此時,原始的熵如果s傳遞的所有資訊被u共享,則知道u就可以

i7—_,/

圖2服務流程部署

提供所有關於s的必要資訊,在這種情況下

1.2貝葉斯網路

貝葉斯網路(bn)是一種概率網路,它是基於概率推理的圖形化網路 j,在問責制框架中執行根源診斷的任務。et前,貝葉斯網路在人工智慧領域已經是乙個很成熟的模型,通過有向

問題與模型

給定兩個點集c和,,分別表示等待服務的城市集合和提供服務的裝置集合。求出f的乙個子集.s用於為c提供服務,同時使得isi<=k且c中城市與s中距離最近裝置的距離之和最小,這就是經典的k-median問題 。在故障疑似集選擇演算法中,將按照以下的說明將故障疑似集選擇問題對映為k-medi'

an問題:

無環圖(dag)進行不確定條件下的推理。在dag中,節點代表隨機變數,每個變數都有乙個狀態互斥的有限集。連線結點的有向邊代表直接的因果關係,一旦服務之間的因果關係確定下來,乙個業務流就可以轉化為貝葉斯網路 j。

如圖3所示,服務節點被抽取出來作為單獨的根變數節點(矩形節點),而輸出節點被表示為貝葉斯網路中單獨的變數節點(橢圓節點),這種轉換基於輸出節點與服務節點之間的因果關係。例如,輸出節點i的狀態是由服務i的所有繼承服務輸出狀態和服務i本身執行的正確性決定的。在貝葉斯網路中,所有的輸出結點(橢

(1)每個輸出結點u對應k-median中的乙個裝置,如果根據制約條件最多能選出k個輸出結點,則最多啟用k個裝置。

(2)每個服務節點s對應k-median問題中的乙個城市。

(3)輸出結點對服務節點s的post熵值再加上服務節點本身紀錄的故障標識se值的倒數(設標識em對應的故障為fm),為k-median中的城市與最近裝置之間的距離值。即:

圓結點)都是監管的候選。然而,如果蒐集所有輸出結點的所

有資訊,會使**在資訊蒐集過程中超荷負載,不能達到有效的開銷均衡,尤其是在分布式系統中,將會導致非常高的開銷。本文介紹的基於事件驅動的soa故障疑似集選擇演算法,從所有服務的輸出集合中選擇乙個子集,為貝葉斯網路引擎提供開銷最平衡的診斷資料。

贏(2)

(4)將目標轉化為最小化k-median問題中每個城市到最近的裝置之間距離和。

本文的演算法使用了文獻[7]中提出的k-median區域性搜尋啟發式方法:

(1)s一任意乙個可行解。

(2)while存在乙個操作叩,使得一

南(3)返回s。

此處s>0為一常量n,=lfl是裝置集合的裝置總數,n =i

cl是城市集合的城市總數,p(nl,n )是與n,和n 相關的多項式。cost(s)表示計算解值的費用函式,op(s)是操作函式,在本

文中定義為一對一裝置交換。即從當前解|s中選擇乙個裝置ss,同時在f-s中選擇乙個裝置3∈f-s,然後把兩者分別交換

圖3業務流到貝葉斯網路轉換圖

放入對方集合,形成乙個新的當前解.s 。。

2.3故障服務選擇演算法

2故障疑似集選擇演算法

2.1敏感性分析技術

為了決定如何選擇故障服務,必須決定哪些輸出節點對於服務操作節點的觀察最有資訊價值。bn理論中的敏感性分析技術 ],可以用來測量每個服務的輸出節點對服務操作節點的

影響。yuezhang等人提出的ecs演算法,直接將基於公式(1)得到

的post熵作為k-median模型中的距離值來選擇故障疑似集,忽略了對具體故障的歷史記錄,不能有效的利用之前的選擇結果,有可能使最後得到的故障疑似集丟失一些出現問題的服務。本文將轉化之後的貝葉斯網路加入與故障集f對應的標識集e,當故障事件發生時,為選中的對應服務sf新增標識,即

如果相同的故障事件發生在此節點上,則繼續增加相應的權重;進行k-median選擇時,首先根據歷史故障集

定義pe(u,s)是輸出節點u對服務操作節點.s的post熵,用來在bn敏感性分析中測量u對s的影響。pe(u,s)使用夏農互動資訊的定義,衡量在概率分布下一組互相排斥的狀態集合之間不確定性的程度。假設服務s是一組互相排斥的狀態集合:

s,s,…,s,輸出節點u是一組互相排斥的狀態集合:「 ,「 一,「 。則pe(u,s)的定義是:

f確定標識e的值m,然後計算權值公式(2),最後利用區域性搜尋啟發式方法選出最優故障疑似集。增加的故障標識集e不僅有利於提高故障服務集選擇演算法的準確性,而且有利予以後的**性分析。

具體演算法如下:

(1)初始化為:f= ,e= ;

第5期李晶等:一種基於事件驅動的soa故障疑似集選擇演算法l83

(2)根據故障f ,如果嶽f,則

圖5為當貝葉斯診斷停止時三種方法的診斷t作量比較。

(3)對每個服務節點s,迴圈計算式(1)和式(2)的值;(4)再進行以下迴圈:對於得到的d(fl,值,利用區域性搜尋啟發式方法,得到輸出,則fs=fsus ,直至迴圈結束;

診斷工作量定義為檢查健康服務時所花費的工作量。如圖5所示,fss只比ecs稍高了一些,但二者都遠低於random的工作量。綜合查詢完整性的比較,fss演算法在總體上優於ecs和

(5)對中的每個輸出節點對應的服務節點s,增加

se 的權重值,se + ;

(6)輸出故障疑似服務集fs。

以後每次發生故障時,重複步驟(2)一(6)。

2.4演算法分析

與ecs演算法相比,本演算法是在原迴圈中進行d n的計算,所以時間複雜度沒有變化,最複雜的情況下為(0(bnr)+0

(ⅳ2)),其中0(bnr)是貝葉斯網路推理的複雜度,ⅳ是業務流中的服務總數。當包含數百個變數時,貝葉斯網路推理是易處

理的,因此本文中的故障疑似集選擇演算法對於真實世界中的應用也是可計算的。在空間上增加了故障集與標識集,對每個服務記錄故障標識,因為是簡單的整數型別,沒有增加空間複雜度。而且這樣的目的是提高故障疑似集選擇的完整性。

下節的**結果表明,相比之下這種策略更為有效。

3**實驗和分析

3.1**實驗

本文採用了與文獻[3]類似的**環境,即使用bngenera—

torj

,隨機貝葉斯網路生成器,來產生乙個隨機的服務網路。

它能保證產生的網路均勻分布在被審查的圖空間。可以調節

接受一些約束,例如網路的大小,最大節點數和網路中的最大邊數,這些約束限制了網路的連線方式。在本文的**實驗中,做了適當的增強,增加了產生實際故障標識的故障個數,設定**環境中實際故障個數為1、2、4、6的比例分別為隨機產生的服務網路有30—50不等的節點,每個節點的最大輸入和輸出邊設定為2。在每一輪的測試中設定產生問題的服務為4—6個,共執行100輪的測試。

本文對所有的服務分別執行fss、ecs和隨機均勻選擇。

3.2結果分析

圖4為使用三種方法的診斷查詢完整率比較,完整率定義為檢測到的問題服務與所有的問題服務的比較。在網路大小為

30、40、50的情況下,可以看出fss演算法比ecs演算法和隨機檢測能檢測到更多的問題服務,查詢完整率分別是63%、58%和40%(網路大小網路大小網路大小=50)。

圖4查詢完整率

圖5診斷工作量

4 總結

本文提出了一種基於事件驅動的服務故障疑似集選擇算

法,收集業務流程的執行時資料和記錄具體的故障事件,通過貝葉斯推理和k-median搜尋發現最有可能出現故障的服務集合。**實驗的結果表明,此演算法比ecs演算法有著更高的查詢完整率,在以後的工作中,會進一步研究利用演算法中故障標識e的歷史記錄所進行的**性分析。

參考文獻

一種基於影象處理的自動調焦系統

摘要 一種基於影象處理的自動調焦方法,應用該方法設計一種虹膜影象自動採集系統。該系統利用虹膜區域的平均對比度作為是否對焦準確的判據,並以此為反饋控制執行機構進行實時對焦。實驗證明該系統自動調焦精確,採集到的虹膜影象清晰,符合使用要求 並且調焦機構簡單,整個系統控制易於實現。關鍵詞 自動調焦圖象處理虹...

一種基於拓撲優化的機翼結構設計

作者 佟剛劉同飛鄧揚晨 中國科技縱橫 2013年第19期 摘要 介紹了拓撲優化和仿生學的特點,提出了一種利用msc patran建立機翼結構拓撲優化模型的步驟與方法,並通過對機翼結構拓撲優化和仿生學設計說明該方法的可行性和應用價值。關鍵詞 拓撲優化機翼結構仿生學設計有限元 msc patran ms...

一種基於RFID技術的金融押運業務綜合管理系統專利

專利號 201120257846 本實用新型公開了一種基於rfid技術的金融押運業務綜合管理系統,其特徵在於,所述系統包括射頻感應天線,物聯網門禁控制器,手持讀寫器,電子標籤,授權發卡器,計算機及其安裝的系統管理軟體。所述系統的工作原理是 首先將授權的人員或物品資訊輸入到計算機內,再通過授權發卡器將...