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

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

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

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

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

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