郭春雷
(河北軟件職業(yè)技術(shù)學(xué)院,河北 保定 071000)
通信網(wǎng)絡(luò)管理技術(shù)的發(fā)展使得通信系統(tǒng)的結(jié)構(gòu)更加復(fù)雜,且面對的信息數(shù)據(jù)量級也較之前明顯提升[1,2]。這就使得系統(tǒng)軟件在進行通信網(wǎng)絡(luò)管理時,需不斷提高信息的規(guī)模和復(fù)雜度。傳統(tǒng)的管理軟件面對大量的處理數(shù)據(jù)出現(xiàn)系統(tǒng)癱瘓,從而使得軟件故障頻發(fā),最終導(dǎo)致通信網(wǎng)絡(luò)管理軟件失效[3]。在這種情況下,研究系統(tǒng)通信軟件的時效預(yù)測方法十分必要[4]。大型并行非線性系統(tǒng)中,BP神經(jīng)網(wǎng)絡(luò)更利于進行分布式存儲,且具有并行處理方式的特性,其優(yōu)越的自組織和自學(xué)習(xí)能力為軟件失效預(yù)測提供了更強的容錯性[5,6]。為此提出基于BP神經(jīng)網(wǎng)絡(luò)的通信網(wǎng)絡(luò)管理軟件失效預(yù)測方法。
應(yīng)用神經(jīng)網(wǎng)絡(luò)管理訓(xùn)練集,針對軟件失效預(yù)測模型分析軟件失效前特征,判斷軟件系統(tǒng)級FMEA主要的活動,將失效預(yù)測模式劃分為數(shù)個階段[7,8]。分析失效模式,通過失效原因和失效影響進行特征整合,利用失效影響劃分軟件失效嚴酷度等級[9]。分析并改進失效預(yù)測模型結(jié)構(gòu),針對軟件失效預(yù)測模型進行失效神經(jīng)網(wǎng)絡(luò)管理訓(xùn)練,并分析失效預(yù)測模型分類指導(dǎo)。通過BP神經(jīng)網(wǎng)絡(luò)失效預(yù)測模型管理FMEA訓(xùn)練集,在失效預(yù)測模型中劃分失效預(yù)測模式來源,得到如表1所示的失效模式預(yù)測類型。

表1 失效模式預(yù)測類型
詳細劃分通用失效預(yù)測模式,據(jù)此構(gòu)建軟件失效預(yù)測模型,并分析程序故障和輸出失效預(yù)測模式。通過軟件失效模式預(yù)測特征識別軟件安全關(guān)鍵信息,利用系統(tǒng)能級分析功能風(fēng)險,并針對潛在危險進行軟件失效預(yù)測模型結(jié)構(gòu)分析。其中,通過軟件危險性分析得到軟件失效預(yù)測路徑,針對軟件故障發(fā)生前的信號預(yù)警進行失效預(yù)測。由于軟件失效預(yù)測模型與NHPP發(fā)生失效的規(guī)律相仿,因此以NHPP為假設(shè)基礎(chǔ)進行模型構(gòu)建,排除不遵循NHPP的軟件失效事件,并在該討論范圍內(nèi)設(shè)計軟件失效預(yù)測函數(shù)[10]。已知將軟件失效進行泛化后可以得到軟件失效的過程,在軟件失效過程t時刻代入常數(shù)λ,該常數(shù)達到的失效強度N(·)為:

該軟件的失效過程可在時間t中運行,當(dāng)時間間隔 Δt> 0時,其失效強度P=λN(t)Δt+o(Δt)。其中,o(Δt)為時間間隔為Δt的失效強度。基于該失效強度計數(shù)過程,讓失效規(guī)律產(chǎn)生的軟件潛在缺陷與軟件失效預(yù)測模型建立聯(lián)系。已知軟件潛在缺陷會通過故障方式顯現(xiàn),在故障達到一定次數(shù)后可診斷為軟件失效。但由于軟件缺陷事件發(fā)生概率較不確定,因此需要通過植入錯誤概率控制軟件缺陷事件的發(fā)生[11]。利用FDR函數(shù)構(gòu)建軟件失效預(yù)測模型,針對軟件缺陷數(shù)量與待檢測的故障建立數(shù)據(jù)集合,通過分析二者的跳變關(guān)系得到軟件失效預(yù)測模型如圖1所示。

圖1 構(gòu)建軟件失效預(yù)測模型
利用測試數(shù)據(jù)與FDR函數(shù)進行軟件缺陷檢測,通過兩者的正向關(guān)系對軟件中待檢故障數(shù)進行計量,利用FDR函數(shù)識別跳變條件。針對軟件故障跳變反應(yīng),利用軟件失效預(yù)測進行實踐消除。監(jiān)測故障間隔的頻率,同時進行順序排錯,重新梳理測試流程,對軟件的可靠性進行失效預(yù)測。在固定的操作環(huán)境下,針對軟件的失效預(yù)測模型進行運行監(jiān)測,利用研究操作環(huán)境的不確定性檢測軟件的可靠性。
根據(jù)構(gòu)建的軟件失效預(yù)測模型對軟件需求規(guī)格、設(shè)計說明等文檔等基礎(chǔ)條件進行分析,針對頂層論證目標(biāo)制定出運行格式。
利用危險分析結(jié)合軟件危險識別,對軟件失效進行預(yù)測,并整合軟件安全自檢功能進行軟件缺陷識別,利用軟件安全自檢功能模塊分析軟件失效模式。并在軟件的失效模型實例集中確認失效源代碼,針對設(shè)計文檔和預(yù)測失效模型,通過BP神經(jīng)網(wǎng)絡(luò)管理訓(xùn)練集對軟件失效危險性進行分析,如圖2所示。

圖2 分析軟件失效危險性
通過分析軟件失效危險性可知,對于同一軟件中出現(xiàn)的失效危險,在進行修正后,對于該失效危險今后出現(xiàn)的可能性是很小的。并且該失效危險將不會重復(fù)出現(xiàn),針對該失效風(fēng)險,利用補丁進行失效填補,將瑕疵部分予以更正并替換,可以讓軟件正常運行,并在一定程度上降低發(fā)生失效危險的可能。經(jīng)過替換損壞部分后,系統(tǒng)將可以再次運作,而軟件系統(tǒng)中,通過仔細修正后的軟件穩(wěn)定性能夠在一定程度上得到提升。因此要利用失效預(yù)測模型找出關(guān)鍵性的錯誤代碼,利用該代碼進行失效填補。利用軟件失效預(yù)測模式找出失效發(fā)生原因,并對該軟件預(yù)測進行可靠性評價。利用軟件失效預(yù)測模型對失效方式進行分類,以此分析出因軟件缺陷導(dǎo)致的軟件的失效原因。
實驗開始前,設(shè)置軟件失效預(yù)測MATLAB平臺,驗證軟件失效數(shù)據(jù)檢測結(jié)果。截取某軟件失效數(shù)據(jù),并對該數(shù)據(jù)進行清洗,利用識別測試對該段數(shù)據(jù)進行去噪處理。配置軟件失效預(yù)測實驗環(huán)境,其中實驗電腦型號為Intel Pentium E6700/3.2 GHz,固定實驗網(wǎng)速為100 Mb/s,實驗操作系統(tǒng)為Windows XP。實驗預(yù)測通信與IP組進行協(xié)議兼容,調(diào)試平臺采用Visual Studio 2008,操作方法的編程語言為C++。實驗過程中選擇兩臺實驗型號計算機來完成實驗,將失效數(shù)據(jù)監(jiān)測設(shè)備與軟件產(chǎn)品設(shè)備運行分別用不同的計算機操作,通過識別體系檢測完整的失效數(shù)據(jù)屬性。
對比文獻[2]基于可配置特征單元方法、文獻[3]改進SFMEA方法以及基于BP神經(jīng)網(wǎng)絡(luò)的通信網(wǎng)絡(luò)管理軟件失效預(yù)測方法的網(wǎng)絡(luò)管理訓(xùn)練集檢測單元平均時長,實驗結(jié)果如表2所示。

表2 訓(xùn)練集檢測單元平均時長
從表2分析可知,文獻[2]方法網(wǎng)絡(luò)管理訓(xùn)練集檢測單元平均時長最低為1 s,文獻[3]方法中最低為1.2 s,本文最低為0.3 s。本文方法預(yù)測時長較低的原因主要是依據(jù)BP神經(jīng)網(wǎng)絡(luò)模型的同時,利用測試數(shù)據(jù)與FDR函數(shù)進行軟件缺陷檢測,提高了檢測性能。
通過本文研究構(gòu)建了軟件失效預(yù)測模型,并通過該軟件失效預(yù)測模型提高了網(wǎng)絡(luò)管理訓(xùn)練集檢測單元效率。今后應(yīng)當(dāng)通過神經(jīng)網(wǎng)絡(luò)提取軟件失效的歷史數(shù)據(jù),分析軟件度量數(shù)據(jù)和檢測內(nèi)容,并繼續(xù)研究測試集的數(shù)據(jù),將重點放在提高訓(xùn)練集檢測單元的準(zhǔn)確度上。