高林娥
(運城師范高等??茖W校, 山西 運城044000)
科技的迅猛發(fā)展為智能化管理奠定了基礎。 研究表明,將人工智能技術與深度學習相結合,既能使數據中心所具有的智能化水平得到提升,又能對數據中心運維效率產生的積極影響,基于智能預警開展設計工作成為研究的重點。 涉及機房故障診斷所開展的研究相關研究工作,已經取得了良好的成果。但是,基于神經網絡的數據中心故障預測方法研究仍舊有待深入。
數據中心機房(下文簡稱“機房”)往往擁有大量類型不同的設備,導致故障出現的原因較多,本文根據機房常見故障,圍繞故障預測的內容展開研究。利用神經網絡良好的預測性能,基于TensorFlow 對神經網絡模型進行搭建,對經過歸一化處理的機房日志數據的特點進行提取,向訓練模型進行傳輸,使“基于設備運行數據,對后續(xù)狀態(tài)進行預測”的設想成為現實。
機房的基礎設施主要有路由器、服務器和交換機等,基礎設施所表現出的性能,往往會給網絡運行效率帶來直接影響。 可以根據描述網絡設備性能的參數組指標,包括CPU 的利用率,設備的響應時間,報文的接收速率,內存的利用率,對設備的狀態(tài)進行綜合評價。 但現有技術無法保證所采集日志數據,不存在冗余數據和無效數據。 因此有必要處理、加工原始數據。 在完成數據采集工作后,應該以設備狀態(tài)為依據,將樣本數據分為正常和故障兩類,再將由此而獲得的測試集數據、訓練集數據,用csv 的格式進行保存[1]。
本文以山西省某市自然資源廳的機房為研究對象,通過測試、驗證機房數據的方式,獲得最終結論。在此過程中,所采用方法以主動輪詢?yōu)橹?就是以所選取性能指標為依據,對表示設備性能的數據進行采集。 機房擁有大量類型不同的設備,設備性能出現故障的原因,也并不局限于某種或某幾種,本文只選取了具有代表性的故障類型,例如:CPU 或內存的利用率過高,致使設備有故障出現;報文傳輸速率過低;設備長時間未響應等等,如表1 所示。 由于不同特征所對應量綱、量綱單位有所不同,數據分析結果也會受到影響。 為了消除量綱的影響,有必要對數據進行標準化處理,各項指標均處于相同的數量級,再對指標進行對比和評價,可以獲得更加準確的結論。 本文利用均方差法,對數據進行歸一化處理,見公式(1):
其中, xi表示樣本數據,用來μ 表示總體平均值,δ 表示總體標準差。 經過歸一化處理的數據,滿足正態(tài)分布曲線的特點,即:方差是1,均值是0。 這也為后續(xù)對比、評價等工作的開展,奠定了基礎。
表1 樣本數據Tab. 1 Sample data
神經網絡所指代內容,集中在生物領域和人工領域。 其中,生物神經網絡,主要是指由觸點、細胞和大腦神經元所組成的,用來對生物意識進行產生的網絡。 人工神經網絡,主要是指對動物神經網絡所表現出的行為特征進行模仿,用來處理并行信息的數學模型,該網絡主要通過對節(jié)點關系進行調整的方式,完成信息處理的任務。 本文所討論的神經網絡,即為人工神經網絡。 在分類預測領域,神經網絡表現出良好的性能。 基于神經網絡所設計的模型,主要由三層結構組成,輸入層,隱藏層,輸出層。需要選擇相應的連接方式,對隱藏層進行連接,使模型深度得到擴充,提高模型所能解決問題的難度。數據中心機房內部設備眾多,不同設備均有相應的性能,數據關系復雜,設備性能所呈現出的關系,以非線性關系為主,故可用于故障預測的神經網絡,通常為多層神經網絡。
基于神經網絡所展開研究涉及諸多領域,最具代表性的工作,體現在以下方面:(1)生物原型。 從心理學、生理學等角度出發(fā),對神經系統(tǒng)、網絡核細胞所對應生物結構、功能機理進行研究。 (2)建立模型。 基于生物原型研究所取得成果,對理論模型進行建立,所建立的模型以數學模型、概念模型和知識模型為主。 (3)算法。 基于理論模型研究,對神經網絡模型進行構建,用來模擬計算機或對硬件進行制作;與網絡學習算法相關的內容,也可以納入算法范圍。
選擇利用TensorFlow 框架,對神經網絡模型進行搭建,為故障預測、訓練等工作的開展提供幫助。TensorFlow 既可以作為算法學習接口,也可以作為基本框架,用來執(zhí)行機器學習算法。 在實際計算過程中,可將數據中心視為有向圖,將計算操作視為節(jié)點,將連接節(jié)點的位置視為邊。 以矩陣乘法、向量加法為代表的計算對故障進行預算的效果,往往十分準確。 結構模型由輸入層、隱藏層和輸出層組成。輸入層對數據進行輸入,隱藏層對數據進行處理,輸出層對分類結果進行輸出[2]。 輸入層所輸入內容,以CPU 的利用率,設備的響應時間,報文的接收速率,內存的利用率為主。 隱藏層的操作,主要是矩陣相乘、激活函數,產生非線性特征。 輸出層所輸出的狀態(tài),僅有正常和故障兩種,用0 表示正常,用1 表示故障。 另外,隱藏層的計算利用公式(2):
其中,z、x 表示輸出特征向量與輸入特征向量,f表示激活函數,W 表示權重矩陣,b 表示偏置。 實驗設置神經網絡的層數為2 層,第1 層維度為62,第2層維度為124。
將SoftMax 函數視為對設備狀態(tài)進行判斷的主要概率計算,此函數的損失函數,多為交叉熵。 在對模型進行訓練的過程中,視情況對正則化項加以應用,避免出現過擬合的情況,提高預測的準確性。
以預測機房故障為主,分類判斷設備狀態(tài),屬于典型的二分問題,可將分類的準確性、損失變化視為評測的主要指標,應用梯度下降法,使實驗損失達到最小化。
模型的計算流程如下:首先,構建計算圖,例如,常量、初始化節(jié)點;其次,執(zhí)行指點操作,檢測常量、變量;最后,獲得相應數據,完成故障的預測。 將學習率設置成0.01,利用梯度下降,將損失降到最低。訓練次數為500 輪。 根據運行后準確率和損失率的具體數值,不斷增加迭代次數,使模型損失曲線的趨勢逐漸向收斂靠攏,最終趨于穩(wěn)定[3]。 準確率和迭代次數的關系為正相關,也就是說,如果迭代次數增加,模型準確率也會有所增加,待準確率穩(wěn)定后,將測試數據輸入其中,能夠對數據和設備狀態(tài)的關系,進行相對準確的預測和呈現。
基于TensorFlow 搭建模型,在經過系統(tǒng)訓練后,具有以設備數據信息為依據,對設備狀態(tài)進行預測的能力。 如果設備呈現出的狀態(tài)欠佳,可及時提醒工作人員,通過維護設備,減少發(fā)生故障的可能性。另外,實現智能預警、解決故障等方面,設備預測的價值也得以體現。