專利名稱:基于多主體隨機決策過程的分布式系統(tǒng)自愈調(diào)控方法
技術(shù)領(lǐng)域:
本發(fā)明涉及的是計算機系統(tǒng)的失效自愈方法,特別涉及分布式系統(tǒng)失效自愈 技術(shù)領(lǐng)域。
(二)
背景技術(shù):
分布式系統(tǒng)的異構(gòu)性、復(fù)雜性和使用環(huán)境的不斷惡化不可避免地導(dǎo)致了 系統(tǒng)失效、偏離使命、甚至中斷運行、崩潰死機等現(xiàn)象發(fā)生,從而造成重大的經(jīng) 濟損失甚至是人員傷亡等嚴(yán)重后果。這也使得人工完成其管理和維護、不間斷地 保持其正常運轉(zhuǎn)變得越來越困難。而傳統(tǒng)的可靠性、維修性理論和技術(shù)面對這種 隨時可能出現(xiàn)的隨機事件又顯得過于笨拙,甚至束手無措,難以滿足實際應(yīng)用的 需要,細粒度的恢復(fù)技術(shù)如微重啟技術(shù)、任務(wù)熱插拔技術(shù)以及系統(tǒng)級的悔改技術(shù) 使得分布式系統(tǒng)多層次恢復(fù)機機制成為可能,同時人們期望有一種自動而靈活的 自動恢復(fù)策略生成方法來解決多種恢復(fù)手段下恢復(fù)方法的選擇與優(yōu)化問題,自愈 調(diào)控技術(shù)正是基于以上理念而提出的。
盡管國內(nèi)外對于可自愈的分布式系統(tǒng)研究較多,但對于多層恢復(fù)機制下自愈 系統(tǒng)恢復(fù)策略生成問題的研究關(guān)注較少,當(dāng)前對于該問題主要有兩種比較相關(guān)的 研究思路 一種以基于決策樹的多主體自愈分布式系統(tǒng)研究為代表,2005年國 際電氣電子工程師協(xié)會(IEEE)舉辦的第三屆軟件工程研究、管理和應(yīng)用會議論 文《基于多主體技術(shù)的先驗式自愈系統(tǒng)》(Proactive self-healing system based on multi-agent technologies, In The Third ACIS international Conference on Software Engineering Research, Management and Applications, 2005,on page(s) :256-263)中提出的多主體自愈系統(tǒng),通過建立監(jiān)控主體、構(gòu)件主體、 執(zhí)行主體、診斷主體和決策主體來實現(xiàn)系統(tǒng)自愈,其中決策主體采取決策樹方法 來產(chǎn)生恢復(fù)策略,其問題是采取單個主體來負(fù)責(zé)決策,屬于集中式解決方案,不 適用與開放、動態(tài)的分布式系統(tǒng);第二種方法以基于部分可觀察馬爾可夫決策過 程(P0MDP)的模型驅(qū)動自愈系統(tǒng)研究為代表,2005年國際電氣電子工程師協(xié)會 舉辦的第二十四屆可靠分布式系統(tǒng)會議上發(fā)表的論文《模型驅(qū)動的分布式系統(tǒng)自恢復(fù)》(Automatic model-driven recovery in distributed systems, 24th IEEE Symposium on Reliable Distributed Systems, on page(s) :25-36)提出的禾ll 用部分可觀察馬爾可夫決策過程實現(xiàn)恢復(fù)策略自動生成,這類方法同樣沒有考慮 到分布式系統(tǒng)分散控制,動態(tài)交互的特點,且恢復(fù)策略求解計算量大,較難以滿 足當(dāng)前分布式系統(tǒng)應(yīng)用中實時在線恢復(fù)的要求。
多主體馬爾可夫決策過程(MMDP:Multi-Markov decision process)是研究 一系列大規(guī)模隨機序貫決策問題的理論。所謂隨機序貫決策問題,是指在一系列 相繼的或連續(xù)的時刻(稱為決策時刻)點上做出決策,在每個決策時刻點,決策 者根據(jù)觀測到的狀態(tài)從可用的若干決策中選擇一個,將決策付諸實施后,系統(tǒng)將 獲得與所處狀態(tài)和所采決策有關(guān)的一項報酬,并影響系統(tǒng)在下一個決策時刻點所 處的狀態(tài),所謂多主體決策即在系統(tǒng)中決策主體不唯一,且決策主體之間具備協(xié) 調(diào)通信機制,能夠?qū)崿F(xiàn)基本的交互功能,多主體決策的目的是使系統(tǒng)的運行在某 種準(zhǔn)則下達到最優(yōu)。本發(fā)明公布的多主體隨機決策方法實現(xiàn)自愈調(diào)控方面的應(yīng)用 目前未見發(fā)現(xiàn)。
發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種能夠克服現(xiàn)有自愈調(diào)控技術(shù)在分布式系統(tǒng)多層 恢復(fù)機制下不能生成優(yōu)化的恢復(fù)策略,以及恢復(fù)策略求解計算量大和決策機制易 于失效的缺陷的基于多主體隨機決策過程的分布式系統(tǒng)自愈調(diào)控方法。
本發(fā)明的目的是這樣實現(xiàn)的 包括以下步驟
(1)在系統(tǒng)首次運行前,按照功能耦合性將系統(tǒng)劃分為多個子系統(tǒng),每一 個子系統(tǒng)具備一個決策主體,并對每一個子系統(tǒng)構(gòu)建隨機決策五元組 C」0'),A(fl),^,"),rj,包括系統(tǒng)狀態(tài),系統(tǒng)行為,狀態(tài)轉(zhuǎn)移概率矩陣,準(zhǔn)則
函數(shù)£
2>《
,并設(shè)定折扣因子y, /滿足條件7>0,五元組的所有信息保存則
決策主體所在節(jié)點上;
(2) 對于每一個決策主體,保存一個恢復(fù)行為記錄表用于判斷恢復(fù)行為是 否會影響本身子系統(tǒng)外其他子系統(tǒng)的可用性;
(3) 當(dāng)各個子系統(tǒng)檢測到失效后,將子系統(tǒng)狀態(tài)信息傳送給決策主體,決
策主體利用任取v。eS,設(shè)置£>0并且置"=0,其中B表示一個實數(shù)空間,然后對每一個/eS ,計算^+1(/),判斷是否滿足||^"+1-"||<^^,如果滿足,
則對于每一個z'eS,取/£(/)eargmaXae,{K/,") + ;^>C^,"K+1C0},獲得恢
復(fù)策略;
(4)利用決策主體間的協(xié)調(diào)機制進行通信,判斷即將采取的策略是否會影 響到其他子系統(tǒng)的可用性;如果是,則向所有子系統(tǒng)發(fā)送失效消息,如果不是, 則直接執(zhí)行恢復(fù)策略;當(dāng)決策主體執(zhí)行恢復(fù)策略后并成功使子系統(tǒng)恢復(fù)后,向系 統(tǒng)內(nèi)所有決策主體發(fā)送恢復(fù)消息,如果沒有恢復(fù)系統(tǒng),則重新計算恢復(fù)策略,知 道子系統(tǒng)恢復(fù);當(dāng)子系統(tǒng)決策主體收到系統(tǒng)內(nèi)部失效恢復(fù)消息后,停止與發(fā)送失 效消息的子系統(tǒng)進行數(shù)據(jù)傳遞,直到收到發(fā)送消息子系統(tǒng)的恢復(fù)消息。
本發(fā)明通過構(gòu)建多主體失效自愈隨機決策模型并求解獲得優(yōu)化的恢復(fù)策略; 并在此基礎(chǔ)上提出一種在分布式系統(tǒng)中應(yīng)用該方法的技術(shù)方案,以克服現(xiàn)有自愈 調(diào)控技術(shù)在分布式系統(tǒng)多層恢復(fù)機制下不能生成優(yōu)化的恢復(fù)策略,以及恢復(fù)策略 求解計算量大和決策機制易于失效的缺陷。本發(fā)明的分布式系統(tǒng)的自愈調(diào)控方 法,包括利用隨機決策過程構(gòu)建自愈調(diào)控模型;利用值迭代算法求解自愈調(diào)控策 略;通過全局狀態(tài)共享和消息通信機制實現(xiàn)決策主體之間的交互。 與現(xiàn)有技術(shù)比較,本發(fā)明的優(yōu)點和積極效果如下 (1 )本發(fā)明的基于隨機決策過程的自愈調(diào)控方法的步驟符合自愈調(diào)控的一 般過程,在系統(tǒng)運行后無需人為干預(yù),從而降低了系統(tǒng)擁有總花費,為企業(yè)應(yīng)用 節(jié)省人力資源費用,同時還可以提高系統(tǒng)可用性,提供了關(guān)鍵任務(wù)不間斷運行能 力;
(2) 所采取的恢復(fù)策略求解方法具有堅實的理論基礎(chǔ),具有簡單、合理、 可行的特點,能夠在可接受時間內(nèi)獲得最優(yōu)或者次優(yōu)的恢復(fù)策略,保證了系統(tǒng)可 用性的提高;
(3) 多主體決策機制采取將整體劃分為各個子系統(tǒng)的思路,可以避免在自 愈調(diào)控過程中可能出現(xiàn)的中央控制失效則系統(tǒng)整體崩潰的現(xiàn)象,具有系統(tǒng)容錯能 力強,局部系統(tǒng)失效仍能夠保證其他子系統(tǒng)正常運行的功能,為不間斷提供服務(wù) 提供一種新的解決思路;
(4) 多主體間的協(xié)調(diào)機制具有簡單,高效特點,無需加大系統(tǒng)運行開銷,能夠?qū)崿F(xiàn)基本的交互功能,保證了各個子系統(tǒng)之間相互合作而將失效影響降至最 低,這一機制是本發(fā)明公開的自愈調(diào)控方法具備實際的應(yīng)用價值。
總之,由于采用基于隨機決策過程的自愈調(diào)控方法,是分布式系統(tǒng)能夠自運 行后無人干預(yù)的情況下實現(xiàn)失效恢復(fù)策略的自動生成,從根本上解決了分布式環(huán) 境下系統(tǒng)失效恢復(fù)策略生成的難題。該方法具有成本低,副作用小以及實施簡單 的特點,具有較好的市場應(yīng)用前景。
(四)
圖1為多主體決策分布式系統(tǒng)自愈調(diào)控結(jié)構(gòu)圖;其中M代表決策主體、A 代表被管理主體、-一代表網(wǎng)管通信鏈路、 一 代表數(shù)據(jù)鏈路。
圖2為自愈調(diào)控實施方式舉例中使用到網(wǎng)絡(luò)安全態(tài)勢感知系統(tǒng)體系結(jié)構(gòu)圖。
具體實施方式
下面結(jié)合附圖舉例對本發(fā)明做更詳細地描述
(1)首先按照功能耦合性將系統(tǒng)劃分為若干子系統(tǒng),對于每一個子系統(tǒng), 均用下面的五元組進行表示
{5,,, py (a), W, a), F,},其中z', y e S, a e局')
各元含義如下
(a) S是分布式子系統(tǒng)所有可能的運行狀態(tài)所組成的非空狀態(tài)集,稱為系統(tǒng) 的狀態(tài)集。它可以使有限的、可列的集,在本發(fā)明中,假定S是可數(shù)集,用小寫 字母i, j, k等來表示狀態(tài)。
(b) 對于狀態(tài)kS, j(0是在狀態(tài)i出可用的決策集,它是非空的,用a來 表示一個決策。
(c) 當(dāng)系統(tǒng)在決策點時刻t處于狀態(tài)i,采取決策"e^4(0,則系統(tǒng)在下一個 時刻r + l狀態(tài)處于j的概率為Py("),它與決策時刻無關(guān),稱 p = eS,"e^(W是系統(tǒng)的狀態(tài)轉(zhuǎn)移概率族,于是對/eS,ae^(/),有
(d) 當(dāng)系統(tǒng)在決策點時刻t處于狀態(tài)i,采取決策"e^(0時,系統(tǒng)與本階段 獲得的報酬為rO,"),稱為報酬函數(shù)。
6(e)V為準(zhǔn)則函數(shù),也稱為目標(biāo)函數(shù),本發(fā)明采用期望總報酬準(zhǔn)則函數(shù)作為
目標(biāo)函數(shù),具體形式為五
2>代
,其中R表示報酬函數(shù),^為折扣因子。
(2) 將各個子系統(tǒng)抽象為若干馬爾可夫決策過程五元組后,恢復(fù)策略通過如
下過程獲得
基于MDP的恢復(fù)策略求解完成這樣一種運算決策主體按照期望總報酬準(zhǔn)則 函數(shù)來選擇恢復(fù)行為以最大化當(dāng)前階段的報酬,具體來說就是保證系統(tǒng)恢復(fù)時間 最短。尋求自愈調(diào)控最優(yōu)平穩(wěn)策略及其逼近值的值迭代步驟如下-
(a) 任取v。eS,給定£〉0并且置《 = 0,其中B表示一個實數(shù)空間;
(b) 對每一個/eS ,通過計算
(/) = max。d(,){r(/,") + yZp(y | /,咖"(力}得到v"十1 (/),其中v"(/)稱
為狀態(tài)-值函數(shù);
(c) 如果值函數(shù)滿足||v"+i-v"||<^^,進入步驟d,否則將n增加l,
然后返回步驟b;
(d) 對于每一個ieS,取
/£ (0 e argmaXa,){K/,")+yl>C/1 /,")v""(力〉,其中/£ (0表示給
的誤差因子s和狀態(tài)f后系統(tǒng)所采取的策略。
(3) 在多主體決策的自愈調(diào)控系統(tǒng)中,決策主體與被管理對象之間構(gòu)成MDP 系統(tǒng), 一個自愈調(diào)控系統(tǒng)中有多個子系統(tǒng)的決策主體共存,每一個決策主體僅對 各自分配的子系統(tǒng)施加操作,結(jié)果是其他決策主體管理的子系統(tǒng)上的運行狀態(tài)也 要受到影響,在決策下一步采取何種策略時,不但要知道自己子系統(tǒng)運行的狀態(tài), 也要考慮到其他子系統(tǒng)運行的狀態(tài)。決策主體之間采取如下的協(xié)調(diào)機制
(a) 系統(tǒng)管理員預(yù)先將自愈調(diào)控子系統(tǒng)中所有的恢復(fù)行為進行分析對比,判 斷恢復(fù)行為是否會影響除本身子系統(tǒng)外其他子系統(tǒng)的可用性;
(b) 當(dāng)子系統(tǒng)決策主體做出決策時,利用步驟a中的信息判斷即將采取的策 略是否會影響到其他子系統(tǒng)的可用性。如果是,則向所有子系統(tǒng)發(fā)送失效消息, 如果不是,則直接執(zhí)行恢復(fù)策略;
(c) 當(dāng)決策主體執(zhí)行恢復(fù)策略后并成功使子系統(tǒng)恢復(fù)后,向系統(tǒng)內(nèi)所有決策主體發(fā)送恢復(fù)消息,如果沒有恢復(fù)系統(tǒng),則重新計算恢復(fù)策略,知道子系統(tǒng)恢復(fù);
(d)當(dāng)子系統(tǒng)決策主體收到系統(tǒng)內(nèi)部失效恢復(fù)消息后,停止與發(fā)送失效消息 的子系統(tǒng)進行數(shù)據(jù)傳遞,直到收到發(fā)送消息子系統(tǒng)的恢復(fù)消息。
現(xiàn)以哈爾濱工程大學(xué)計算機應(yīng)用技術(shù)研究所某網(wǎng)絡(luò)安全態(tài)勢感知系統(tǒng)為例 對自愈調(diào)控具體應(yīng)用方案的具體實施方式
進行說明。
網(wǎng)絡(luò)安全態(tài)勢感知系統(tǒng)通過實時監(jiān)測和預(yù)警網(wǎng)絡(luò)安全狀況,實現(xiàn)了對當(dāng)前和 未來一段時間內(nèi)網(wǎng)絡(luò)安全狀態(tài)的評估和預(yù)測。態(tài)勢感知系統(tǒng)通過對防火墻、入侵 檢測系統(tǒng)、安全審計日志等多源異構(gòu)數(shù)據(jù)進行采集、簡約、過濾和關(guān)聯(lián),最后通 過數(shù)據(jù)融合和安全評估技術(shù)生成態(tài)勢感知可視化數(shù)據(jù)。
為實現(xiàn)分布式系統(tǒng)失效自恢復(fù),自愈調(diào)控技術(shù)的應(yīng)用需要集合失效檢測機制 和失效恢復(fù)機制,失效檢測的作用是為自愈調(diào)控技術(shù)提供觸發(fā)消息,失效恢復(fù)機 制則負(fù)責(zé)執(zhí)行自愈調(diào)控所生成的恢復(fù)策略。本文中失效檢測機制采用事件記錄與 分析技術(shù),而失效恢復(fù)則采用微重啟技術(shù)。
自愈調(diào)控在網(wǎng)絡(luò)安全態(tài)勢感知系統(tǒng)中的具體實施方案步驟如下
(1) 根據(jù)功能耦合性原則,按照各個采集引擎的不同可以將系統(tǒng) 劃分為采集引擎子系統(tǒng),每一個子系統(tǒng)都具備事件記錄與分
析功能,同時還可以對各個子系統(tǒng)進行微重啟恢復(fù),在劃分
系統(tǒng)后,需要對微重啟恢復(fù)行為進行評估,判斷恢復(fù)行為是 否會影響其他子系統(tǒng)可用性;
(2) 對于每一個子系統(tǒng),按照基于隨機決策過程的自愈調(diào)控方法 構(gòu)建{S, 乂(/), 0), a), F,}五元組,并設(shè)定折扣因子y為
0.9, f為0.01。轉(zhuǎn)移概率矩陣以及隨機決策過程的相關(guān)參數(shù) 設(shè)置保存在作為決策主體的節(jié)點上;
(3) 當(dāng)事件記錄與分析模塊檢測到某子系統(tǒng)失效后,該子系統(tǒng)的 決策主體開始運行,首先利用事件記錄與分析信息判斷當(dāng)前 系統(tǒng)所處狀態(tài),然后調(diào)用建立好的概率矩陣和多主體通信信 息表,利用值迭代算法計算恢復(fù)策略;
(4) 子系統(tǒng)根據(jù)決策主體的恢復(fù)策略采取相應(yīng)的微重啟行為,整 個恢復(fù)過程將在檢測到系統(tǒng)無失效后停止。
8
權(quán)利要求
1、一種基于多主體隨機決策過程的分布式系統(tǒng)自愈調(diào)控方法,其特征在于包括以下步驟(1)在系統(tǒng)首次運行前,按照功能耦合性將系統(tǒng)劃分為多個子系統(tǒng),每一個子系統(tǒng)具備一個決策主體,并對每一個子系統(tǒng)構(gòu)建隨機決策五元組{S,A(i),pij(a),r(i,a),V,},包括系統(tǒng)狀態(tài),系統(tǒng)行為,狀態(tài)轉(zhuǎn)移概率矩陣,準(zhǔn)則函數(shù)并設(shè)定折扣因子γ,γ滿足條件γ>0,五元組的所有信息保存則決策主體所在節(jié)點上;(2)對于每一個決策主體,保存一個恢復(fù)行為記錄表用于判斷恢復(fù)行為是否會影響本身子系統(tǒng)外其他子系統(tǒng)的可用性;(3)當(dāng)各個子系統(tǒng)檢測到失效后,將子系統(tǒng)狀態(tài)信息傳送給決策主體,決策主體利用任取vo∈B,設(shè)置ε>0并且置n=0,其中B表示一個實數(shù)空間,然后對每一個i∈S,計算vn+1(i),判斷是否滿足如果滿足,則對于每一個i∈S,取獲得恢復(fù)策略;(4)利用決策主體間的協(xié)調(diào)機制進行通信,判斷即將采取的策略是否會影響到其他子系統(tǒng)的可用性;如果是,則向所有子系統(tǒng)發(fā)送失效消息,如果不是,則直接執(zhí)行恢復(fù)策略;當(dāng)決策主體執(zhí)行恢復(fù)策略后并成功使子系統(tǒng)恢復(fù)后,向系統(tǒng)內(nèi)所有決策主體發(fā)送恢復(fù)消息,如果沒有恢復(fù)系統(tǒng),則重新計算恢復(fù)策略,知道子系統(tǒng)恢復(fù);當(dāng)子系統(tǒng)決策主體收到系統(tǒng)內(nèi)部失效恢復(fù)消息后,停止與發(fā)送失效消息的子系統(tǒng)進行數(shù)據(jù)傳遞,直到收到發(fā)送消息子系統(tǒng)的恢復(fù)消息。
全文摘要
本發(fā)明提供的是基于多主體隨機決策過程的分布式系統(tǒng)自愈調(diào)控方法。借助多主體隨機決策過程,構(gòu)建多層恢復(fù)機制下分布式系統(tǒng)自愈調(diào)控系統(tǒng),使決策主體能夠通過迭代計算獲得實時恢復(fù)策略;并在此基礎(chǔ)上提出一種在具備多層恢復(fù)機制的分布式系統(tǒng)中應(yīng)用該方法的技術(shù)方案,可以在無人干預(yù)情況下實現(xiàn)分布式系統(tǒng)失效自愈調(diào)控機制。本發(fā)明所公開方法具有策略求解計算量和網(wǎng)絡(luò)通信開銷少,分散式控制,符合分布式系統(tǒng)動態(tài)、開放特點等優(yōu)點,從根本上解決了分布式環(huán)境中失效自愈決策的難題;自愈調(diào)控方法的應(yīng)用方案為分布式系統(tǒng)失效自愈提出了新的解決思路。
文檔編號H04L12/24GK101478433SQ200910071280
公開日2009年7月8日 申請日期2009年1月16日 優(yōu)先權(quán)日2009年1月16日
發(fā)明者旭 盧, 王慧強, 趙國生 申請人:哈爾濱工程大學(xué)