本發(fā)明涉及軟件壽命預(yù)測(cè),尤其涉及一種軟件使用壽命預(yù)測(cè)方法、系統(tǒng)、設(shè)備、產(chǎn)品及介質(zhì)。
背景技術(shù):
1、健康管理已被廣泛應(yīng)用于電子和非電子領(lǐng)域的硬件系統(tǒng),但尚未對(duì)其在軟件領(lǐng)域的應(yīng)用進(jìn)行深入的研究探索。雖然目前在軟件缺陷的預(yù)測(cè)、軟件的可靠性預(yù)測(cè)和維護(hù)性預(yù)測(cè)、以及軟件可用性等方面有大量的研究,但是對(duì)于軟件剩余使用壽命的預(yù)測(cè)在目前軟件的開發(fā)和使用過程中都還不存在相關(guān)的研究。雖然軟件不會(huì)隨著時(shí)間的推移而老化,但它可以在發(fā)布周期中退化。軟件退化可能是由老舊的未刪除代碼或剩余的代碼所引起的,這些代碼可能包含在代碼庫(kù)、代碼環(huán)境以及代碼環(huán)境和組件在更改過程中并未解決的bug中。其他原因還包括缺乏軟件更新和升級(jí)、維護(hù)不當(dāng)、對(duì)代碼進(jìn)行的在架構(gòu)上并不兼容的更改、集成不當(dāng)、內(nèi)存泄漏、數(shù)據(jù)損壞以及未使用的代碼等。軟件健康管理僅限于對(duì)當(dāng)前問題的診斷評(píng)估,而剩余使用壽命預(yù)測(cè)則可以指示未來問題何時(shí)會(huì)變得難以接受,何時(shí)變得不可用。
技術(shù)實(shí)現(xiàn)思路
1、本發(fā)明旨在至少解決相關(guān)技術(shù)中存在的技術(shù)問題之一。為此,本發(fā)明提供一種軟件使用壽命預(yù)測(cè)方法,實(shí)現(xiàn)對(duì)軟件的剩余使用壽命的預(yù)測(cè)。
2、本發(fā)明提供一種軟件使用壽命預(yù)測(cè)方法,包括:
3、s1:選取目標(biāo)軟件,確定所述目標(biāo)軟件的期望剩余使用壽命,并確定所述目標(biāo)軟件的潛在故障種類;
4、s2:獲取所述目標(biāo)軟件的歷史數(shù)據(jù)集,通過所述期望剩余使用壽命和所述潛在故障種類對(duì)所述歷史數(shù)據(jù)集進(jìn)行數(shù)據(jù)清洗,得到目標(biāo)數(shù)據(jù)集合;
5、s3:從所述目標(biāo)數(shù)據(jù)集合中提取得到多個(gè)目標(biāo)數(shù)據(jù),對(duì)每個(gè)所述目標(biāo)數(shù)據(jù)進(jìn)行故障分類,得到多個(gè)故障類別集合;
6、s4:對(duì)多個(gè)所述故障類別集合進(jìn)行排序,得到多個(gè)故障序列,在每個(gè)所述故障序列中通過裴波那契數(shù)列確定每個(gè)所述故障序列的故障頻繁度系數(shù),確定每個(gè)所述故障序列的故障烈度系數(shù),通過所述故障烈度系數(shù)和所述故障頻繁度系數(shù)計(jì)算每個(gè)所述故障序列的初始綜合預(yù)測(cè)變量,對(duì)每個(gè)所述初始綜合預(yù)測(cè)變量聚類,得到綜合預(yù)測(cè)變量;
7、s5:確定目標(biāo)綜合預(yù)測(cè)變量,獲取神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)模型,將所述綜合預(yù)測(cè)變量輸入所述神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)模型,并通過所述目標(biāo)綜合預(yù)測(cè)變量預(yù)測(cè)得到所述目標(biāo)軟件的預(yù)期剩余壽命。
8、根據(jù)本發(fā)明提供的一種軟件使用壽命預(yù)測(cè)方法,步驟s2具體包括:
9、s21:獲取所述目標(biāo)軟件的歷史數(shù)據(jù)集,建立所述目標(biāo)軟件的質(zhì)量評(píng)估矩陣;
10、s22:根據(jù)所述質(zhì)量評(píng)估矩陣和所述期望剩余使用壽命確定評(píng)估結(jié)果期望,根據(jù)所述潛在故障種類和所述評(píng)估結(jié)果期望在所述歷史數(shù)據(jù)集中選取所述目標(biāo)數(shù)據(jù)集合。
11、根據(jù)本發(fā)明提供的一種軟件使用壽命預(yù)測(cè)方法,步驟s4具體包括:
12、s41:對(duì)多個(gè)所述故障類別集合依照故障頻繁度進(jìn)行排序,得到多個(gè)所述故障序列;
13、s42:為每個(gè)所述故障序列生成裴波那契數(shù)列,根據(jù)所述故障序列對(duì)所述裴波那契數(shù)列進(jìn)行排序,得到每個(gè)所述故障序列的故障頻繁度系數(shù);
14、s43:確定每個(gè)所述故障序列的所述故障烈度系數(shù),通過所述故障烈度系數(shù)和所述故障頻繁度系數(shù)計(jì)算每個(gè)所述故障序列的初始綜合預(yù)測(cè)變量:
15、
16、其中,cpv表示初始綜合預(yù)測(cè)變量,表示所述故障序列中第n個(gè)故障類別的所述故障頻繁度系數(shù);表示所述故障序列中第n個(gè)故障類別的所述故障烈度系數(shù);
17、s44:選取聚類算法,通過所述聚類算法對(duì)每個(gè)所述初始綜合預(yù)測(cè)變量進(jìn)行聚類,得到綜合預(yù)測(cè)變量。
18、根據(jù)本發(fā)明提供的一種軟件使用壽命預(yù)測(cè)方法,步驟s44還包括:
19、s441:選取所述聚類算法,通過所述初始綜合預(yù)測(cè)變量計(jì)算得到聚類中心;
20、s442:通過所述聚類中心并使用所述聚類算法對(duì)所有所述初始綜合預(yù)測(cè)變量進(jìn)行聚類,得到所述綜合預(yù)測(cè)變量。
21、根據(jù)本發(fā)明提供的一種軟件使用壽命預(yù)測(cè)方法,步驟s5具體包括:
22、s51:獲取性能期望,通過所述期望剩余使用壽命和所述性能期望確定所述目標(biāo)綜合預(yù)測(cè)變量,并獲取所述神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)模型;
23、s52:提取每個(gè)所述綜合預(yù)測(cè)變量的時(shí)間信息,按照所述時(shí)間信息的時(shí)間順序?qū)⑺鼍C合預(yù)測(cè)變量輸入所述神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)模型;
24、s53:所述神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)模型通過所述綜合預(yù)測(cè)變量預(yù)測(cè)得到多個(gè)未來綜合預(yù)測(cè)變量,通過所述未來綜合預(yù)測(cè)變量與所述目標(biāo)綜合預(yù)測(cè)變量得到所述目標(biāo)軟件的所述預(yù)期剩余壽命。
25、根據(jù)本發(fā)明提供的一種軟件使用壽命預(yù)測(cè)方法,所述故障類別集合包括服務(wù)器故障、網(wǎng)絡(luò)故障、數(shù)據(jù)庫(kù)故障、配置故障和資源故障。
26、本發(fā)明還提供一種軟件使用壽命預(yù)測(cè)系統(tǒng),包括:
27、潛在故障種類模塊:用于選取目標(biāo)軟件,確定所述目標(biāo)軟件的期望剩余使用壽命,并確定所述目標(biāo)軟件的潛在故障種類;
28、目標(biāo)數(shù)據(jù)集合模塊:用于獲取所述目標(biāo)軟件的歷史數(shù)據(jù)集,通過所述期望剩余使用壽命和所述潛在故障種類對(duì)所述歷史數(shù)據(jù)集進(jìn)行數(shù)據(jù)清洗,得到目標(biāo)數(shù)據(jù)集合;
29、故障類別集合模塊:用于從所述目標(biāo)數(shù)據(jù)集合中提取得到多個(gè)目標(biāo)數(shù)據(jù),對(duì)每個(gè)所述目標(biāo)數(shù)據(jù)進(jìn)行故障分類,得到多個(gè)故障類別集合;
30、綜合預(yù)測(cè)變量模塊:用于對(duì)多個(gè)所述故障類別集合進(jìn)行排序,得到多個(gè)故障序列,在每個(gè)所述故障序列中通過裴波那契數(shù)列確定每個(gè)所述故障序列的故障頻繁度系數(shù),確定每個(gè)所述故障序列的故障烈度系數(shù),通過所述故障烈度系數(shù)和所述故障頻繁度系數(shù)計(jì)算每個(gè)所述故障序列的初始綜合預(yù)測(cè)變量,對(duì)每個(gè)所述初始綜合預(yù)測(cè)變量聚類,得到綜合預(yù)測(cè)變量;
31、預(yù)期剩余壽命模塊:用于確定目標(biāo)綜合預(yù)測(cè)變量,獲取神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)模型,將所述綜合預(yù)測(cè)變量輸入所述神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)模型,并通過所述目標(biāo)綜合預(yù)測(cè)變量預(yù)測(cè)得到所述目標(biāo)軟件的預(yù)期剩余壽命。
32、本發(fā)明還提供一種電子設(shè)備,包括存儲(chǔ)器、處理器及存儲(chǔ)在存儲(chǔ)器上并可在處理器上運(yùn)行的計(jì)算機(jī)程序,所述處理器執(zhí)行所述計(jì)算機(jī)程序時(shí)實(shí)現(xiàn)如上述任一種所述一種軟件使用壽命預(yù)測(cè)方法的步驟。
33、本發(fā)明還提供一種非暫態(tài)計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其上存儲(chǔ)有計(jì)算機(jī)程序,該計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)如上述任一種所述一種軟件使用壽命預(yù)測(cè)方法的步驟。
34、本發(fā)明還提供一種計(jì)算機(jī)程序產(chǎn)品,所述計(jì)算機(jī)程序產(chǎn)品包括存儲(chǔ)在非暫態(tài)計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)上的計(jì)算機(jī)程序,所述計(jì)算機(jī)程序包括程序指令,當(dāng)所述程序指令被計(jì)算機(jī)執(zhí)行時(shí),計(jì)算機(jī)能夠執(zhí)行如上述任一種所述一種軟件使用壽命預(yù)測(cè)方法的步驟。
35、本發(fā)明實(shí)施例中的上述一個(gè)或多個(gè)技術(shù)方案,至少具有如下技術(shù)效果之一:
36、本發(fā)明提供的一種軟件使用壽命預(yù)測(cè)方法、系統(tǒng)、設(shè)備、產(chǎn)品及介質(zhì),通過該方法首先得以確定影響軟件壽命的故障類別集合,并且通過計(jì)算綜合預(yù)測(cè)變量來綜合表征故障頻繁度和故障烈度對(duì)軟件壽命的影響,通過神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)模型預(yù)測(cè)得到目標(biāo)軟件的預(yù)期剩余壽命,從而得以及時(shí)對(duì)軟件進(jìn)行更新或修復(fù),避免未來軟件損壞造成更大的損失。
37、本發(fā)明的附加方面和優(yōu)點(diǎn)將在下面的描述中部分給出,部分將從下面的描述中變得明顯,或通過本發(fā)明的實(shí)踐了解到。