李葉飛, 張明明, 袁國泉, 王松云, 錢柱中
(1. 南京大學(xué)計算機科學(xué)與技術(shù)系, 南京 210023; 2. 江蘇方天電力技術(shù)有限公司, 南京 210000;3. 國家電網(wǎng)江蘇省電力公司信息通信分公司, 南京 210000)
計算機信息系統(tǒng)是保證現(xiàn)代企業(yè)各項網(wǎng)絡(luò)業(yè)務(wù)正常運行的基礎(chǔ)性設(shè)施, 對計算機信息系統(tǒng)的運行方式進行有效評估和保證其穩(wěn)定運行尤為重要.信息系統(tǒng)運行狀態(tài)的傳統(tǒng)評價方法可以分為客觀性評價和主觀性評價[1].客觀評價法主要是對數(shù)據(jù)具有的顯著效應(yīng)進行分析, 通常采用經(jīng)濟模型評價法[2-4]和數(shù)學(xué)評價法[5]等, 因評價指標較為單一, 故精確性受限.主觀性評價一般結(jié)合領(lǐng)域?qū)<业脑u估經(jīng)驗, 建立更為全面的評價體系.Mohammed[6]僅依靠專家分析法進行評估, 結(jié)果具有一定的主觀性和隨意性, 容易受專家技能和經(jīng)驗的影響.郎登何[7]、Kar[8]、Frenette[9]等則采用人工神經(jīng)網(wǎng)絡(luò)法對歷史數(shù)據(jù)進行訓(xùn)練, 避免了過多的人為因素,更為準確地建立了評估模型.然而, 人工神經(jīng)網(wǎng)絡(luò)法需要大量樣本數(shù)據(jù),而信息系統(tǒng)中往往難以獲得.本文基于層次分析法[10-12]綜合考慮影響信息系統(tǒng)健康度的諸多因素,構(gòu)造系統(tǒng)的遞階層次結(jié)構(gòu),通過計算合成權(quán)重構(gòu)建綜合性信息系統(tǒng)運行方式系統(tǒng)的健康度模型.該模型將信息系統(tǒng)分解為業(yè)務(wù)邏輯和物理設(shè)施兩個維度, 并分別分解為業(yè)務(wù)的效率和可靠性,以及節(jié)點的CPU利用率和鏈路帶寬利用率,由此構(gòu)造判斷矩陣得到各指標的權(quán)值,計算系統(tǒng)的健康度.由于系統(tǒng)運行中健康度會發(fā)生變化,本文進一步提出局部調(diào)整算法,以期通過及時的節(jié)點維護和業(yè)務(wù)邏輯模塊遷移,保障系統(tǒng)健康運行.
可靠性和效率是評價業(yè)務(wù)性能的兩個重要指標, 決定了信息系統(tǒng)能否有效滿足用戶的需求.每個業(yè)務(wù)都是一組具有特定功能的子邏輯模塊集合,子業(yè)務(wù)模塊之間相互具有依賴調(diào)用關(guān)系,從而形成業(yè)務(wù)的子邏輯模塊依賴調(diào)用關(guān)系網(wǎng)絡(luò).將該關(guān)系網(wǎng)絡(luò)抽象為有向帶權(quán)圖Gt=V,E,CV,b,τ, 其中節(jié)點V表示業(yè)務(wù)模塊, 其權(quán)值CV表示運行該模塊所需的計算能力; 有向邊E表示業(yè)務(wù)模塊的邏輯調(diào)用關(guān)系, 其權(quán)值b表示模塊間通信所需帶寬,τ表示兩個子業(yè)務(wù)模塊的通信最大時延.
業(yè)務(wù)tk的可靠性Rk表征業(yè)務(wù)模塊及其通信的可靠度, 定義為Rk=∏v∈Ni,?vαi∏j∈Pe,?eβj, 其中Ni表示節(jié)點i的業(yè)務(wù)子邏輯模塊的集合,v,e分別為業(yè)務(wù)tk中的節(jié)點和邊,αi為節(jié)點i的故障率,βj為鏈路j的故障率.
業(yè)務(wù)tk的效率τe表征業(yè)務(wù)模塊的執(zhí)行速度, 由于計算時延是確定的, 故τe主要考察業(yè)務(wù)所有鏈路通信時延, 定義為δe=∑j∈Petj, 其中Pe表示業(yè)務(wù)相關(guān)通訊鏈路的集合,tj表示鏈路j的通信時延.
1) 構(gòu)造判斷矩陣.為了精確度量上述權(quán)重,需要為每一層的權(quán)重分布構(gòu)造判斷矩陣.現(xiàn)采用一致矩陣法, 改進專家分析法[6], 由領(lǐng)域?qū)<医o出兩因素間的權(quán)重比值, 盡可能降低性質(zhì)不同的因素之間相互比較的難度,從而提高準確度.以業(yè)務(wù)的可靠性指標為例, 領(lǐng)域?qū)<裔槍I(yè)務(wù)的歷史負載、復(fù)雜度和核心重要度等給出專業(yè)判斷, 并對m個業(yè)務(wù)的可靠性指標進行m(m+1)/2次兩兩比較,進而構(gòu)造為相應(yīng)的判斷矩陣A,
(1)
此外,考慮到專家判斷標準的差異性, 根據(jù)專家的歷史判斷數(shù)據(jù),得到各專家判斷矩陣的可信度, 然后采用加權(quán)平均法得到每一層的綜合判斷矩陣,從而提高準確性.
2) 計算指標權(quán)重.對判斷矩陣A的每一列進行歸一化處理, 得到矩陣B,
(2)
類似地, 計算各層次的指標權(quán)重,進一步得到信息系統(tǒng)在任一時刻的健康度
(3)
信息系統(tǒng)的業(yè)務(wù)和物理資源規(guī)模龐大,底層的指標體系達數(shù)萬甚至數(shù)十萬個,指標權(quán)重的實時度量和更新較困難.為了減小計算代價,本文基于判斷矩陣的增量更新方法[13], 提出信息系統(tǒng)運行方式的健康度實時評價算法,其流程如圖1所示.當信息系統(tǒng)物理資源狀態(tài)GP(t)發(fā)生變化時, 算法將更新物理層及業(yè)務(wù)層各項指標的權(quán)重.當業(yè)務(wù)狀態(tài)發(fā)生變化時, 則更新判斷矩陣,且為了降低計算開銷, 僅計算業(yè)務(wù)增量ΔT的判斷矩陣.
圖1 健康度評估算法流程圖Fig.1 The flow chart of health assessment algorithm
圖2 局部調(diào)整算法流程圖Fig.2 The flow chart of local adjustment strategy
當信息系統(tǒng)運行時整個系統(tǒng)的運行狀態(tài)處于變化過程中.一般地, 當CSD∈[80,100], 信息系統(tǒng)處于高可用狀態(tài), 進入健康穩(wěn)定的常態(tài)運行; 當CSD∈[50,80), 信息系統(tǒng)處于可用狀態(tài), 進入應(yīng)急運行狀態(tài); 當CSD∈[0,50), 信息系統(tǒng)處于不可用狀態(tài),此時可能發(fā)生嚴重故障,需要進行檢修和維護.信息系統(tǒng)中每一個最底層的指標X都有預(yù)設(shè)的服務(wù)質(zhì)量閾值α, 當閾值無法滿足時, 則須動態(tài)調(diào)整指標所對應(yīng)的業(yè)務(wù)或物理資源.對于每一個指標X, 定義其健康度優(yōu)先級P(X)=|α-X|WX.健康度優(yōu)先級越高,意味著該指標對整個信息系統(tǒng)的健康度的負面影響越大.當有多個指標的閾值無法同時滿足時, 應(yīng)首先調(diào)整健康度優(yōu)先級高的指標.本文提出的資源配置局部調(diào)整算法流程如圖2所示.當判定物理資源或業(yè)務(wù)狀態(tài)的某一指標(如CPU利用率或帶寬利用率)超過規(guī)定閾值時,系統(tǒng)將采取相應(yīng)的遷移措施,將子業(yè)務(wù)模塊遷移至滿足要求的物理節(jié)點,從而使得信息系統(tǒng)保持較高的健康度.在節(jié)點遷移過程中,首先篩選可靠性、計算能力與效率滿足業(yè)務(wù)需求的節(jié)點, 并在備選節(jié)點中選擇CPU利用率或帶寬利用率最低的為目標遷移節(jié)點,以實現(xiàn)負載均衡.
筆者基于國家電網(wǎng)電能管理服務(wù)平臺進行仿真評估,系統(tǒng)包含200個固定容量但可靠性會隨機下降的節(jié)點和100個具有3~10個業(yè)務(wù)邏輯子模塊的初始業(yè)務(wù).設(shè)置3組實驗觀察健康度的變化:第一組實驗每1 h隨機部署20個新業(yè)務(wù),直至有300個業(yè)務(wù)同時運行;第二組實驗采用局部調(diào)整策略,觀察健康度在新業(yè)務(wù)加入時是否得到改善; 第三組實驗觀察節(jié)點出現(xiàn)故障時系統(tǒng)恢復(fù)情況, 結(jié)果如圖3所示.
由圖3(a)可見,新增業(yè)務(wù)提高了物理設(shè)施的資源利用率,初始階段系統(tǒng)健康度有所提升;但隨著新業(yè)務(wù)進一步增多,部分資源利用率超過閾值,業(yè)務(wù)健康度呈下降趨勢.由圖3(b)可見,隨著新業(yè)務(wù)的不斷加入,信息系統(tǒng)出現(xiàn)熱點節(jié)點和鏈路,此時局部調(diào)整策略能提高物理層的健康度并減緩業(yè)務(wù)層的健康度下降,整體改善系統(tǒng)健康度.當系統(tǒng)運行超過7 h時,其負載已經(jīng)處于飽和狀態(tài), 此時新業(yè)務(wù)的加入使得整個信息系統(tǒng)運行方式健康度下降,但整體下降較為緩和.由圖3(c)可見, 在系統(tǒng)運行3 h和7 h時出現(xiàn)節(jié)點故障, 局部調(diào)整策略能夠逐步處理故障, 使得信息系統(tǒng)恢復(fù)正常運行.
圖3 健康度評估結(jié)果Fig.3 Health assessment
本文綜合考慮業(yè)務(wù)邏輯和物理設(shè)施,構(gòu)造了信息系統(tǒng)運行方式的健康度模型, 然后采用層次分析法確定指標權(quán)重,計算信息系統(tǒng)運行方式的健康度.同時提出了基于健康度優(yōu)先級的局部調(diào)整算法,通過節(jié)點維護或業(yè)務(wù)模塊遷移改善信息系統(tǒng)的薄弱環(huán)節(jié),從而保證信息系統(tǒng)的健康運行和高可用性.