劉曉華黑龍江省計(jì)算機(jī)軟件研究中心
基于網(wǎng)絡(luò)技術(shù)研制計(jì)算機(jī)軟件老化趨勢(shì)的研究
劉曉華
黑龍江省計(jì)算機(jī)軟件研究中心
摘要:現(xiàn)今社會(huì)通過(guò)網(wǎng)絡(luò)技術(shù)開(kāi)發(fā)的軟件系統(tǒng)應(yīng)用在生活的各個(gè)角落,應(yīng)用軟件經(jīng)過(guò)長(zhǎng)期不間斷的運(yùn)行,產(chǎn)生的系統(tǒng)內(nèi)存泄露、舍入誤差的累積、未釋放的文件鎖、大量的存儲(chǔ)空間碎片等原因會(huì)導(dǎo)致軟件性能衰退,在很多領(lǐng)域都可能會(huì)造成巨大的經(jīng)濟(jì)損失,甚至在特殊的國(guó)防領(lǐng)域可能會(huì)造成設(shè)施損毀和人員的傷亡。本文對(duì)軟件的老化趨勢(shì)進(jìn)行深入研究,研究軟件運(yùn)行狀態(tài)監(jiān)測(cè)方法,預(yù)測(cè)出網(wǎng)絡(luò)軟件老化的趨勢(shì),研究軟件失效之前及時(shí)采取相應(yīng)的恢復(fù)策略。
關(guān)鍵詞:軟件老化;趨勢(shì)預(yù)測(cè);恢復(fù)策略
隨著計(jì)算機(jī)技術(shù)的迅速發(fā)展,計(jì)算機(jī)系統(tǒng)被廣泛的應(yīng)用在人們的生產(chǎn)生活中,計(jì)算機(jī)軟件做為重要的功能載體也越來(lái)復(fù)雜,隨著社會(huì)應(yīng)用軟件所做的工作越來(lái)越多,對(duì)應(yīng)用軟件的功能要求也越來(lái)越強(qiáng)大,系統(tǒng)功能日趨復(fù)雜。對(duì)應(yīng)用軟件的維護(hù)變得越來(lái)越困難,隨之而來(lái)的系統(tǒng)可靠性問(wèn)題變得日益突出。軟件經(jīng)過(guò)長(zhǎng)期不間斷的運(yùn)行,產(chǎn)生的系統(tǒng)內(nèi)存泄露、舍入誤差的累積、未釋放的文件鎖、大量的存儲(chǔ)空間碎片等原因會(huì)導(dǎo)致軟件性能衰退,這種現(xiàn)象成為軟件老化[1]。軟件的老化問(wèn)題,不單單存在于硬件系統(tǒng)包括網(wǎng)絡(luò)服務(wù)器和存儲(chǔ)等其他服務(wù)器中,也存在于軟件系統(tǒng)當(dāng)中,在一些具有較高可靠性和應(yīng)用性的系統(tǒng)軟件中也存在著軟件老化的問(wèn)題。無(wú)論是電子政務(wù)領(lǐng)域、商用領(lǐng)域、行業(yè)應(yīng)用領(lǐng)域,軟件老化問(wèn)題都有可能會(huì)給用戶帶來(lái)很大問(wèn)題或者造成巨大的經(jīng)濟(jì)損失,在國(guó)防領(lǐng)域,甚至可能會(huì)造成國(guó)防設(shè)施的損害和人員的傷亡。在當(dāng)今社會(huì)激烈的市場(chǎng)競(jìng)爭(zhēng)中,如果為客戶提供的軟件性能低下,經(jīng)常出現(xiàn)系統(tǒng)宕機(jī)情況,可能會(huì)失去商機(jī),甚至是失去客戶,給企業(yè)帶來(lái)無(wú)法估量的經(jīng)濟(jì)損失。據(jù)統(tǒng)計(jì),企業(yè)由于服務(wù)器突然宕機(jī)造成的經(jīng)濟(jì)損失每分鐘達(dá)2.7萬(wàn)美元。據(jù)GnarterGruop估算,40%的服務(wù)器出現(xiàn)故障是由軟件老化引起的[2]。
本文所研究的目標(biāo)是盡量避免系統(tǒng)硬件資源的過(guò)度消耗引起軟件老化情況,避免因?yàn)檐浖匣斐傻挠?jì)算機(jī)軟件失靈。研究軟件抗衰策略,通過(guò)多種方式來(lái)減少軟件老化給用戶帶來(lái)的損失,能夠較大成都的提供應(yīng)用系統(tǒng)軟件的可靠,盡量減少軟件抗衰的成本。
趨勢(shì)預(yù)測(cè)是設(shè)備維護(hù)的一種手段,該項(xiàng)技術(shù)原理是對(duì)設(shè)備和工藝過(guò)程中發(fā)生的各種信息進(jìn)行識(shí)別和預(yù)測(cè),根據(jù)設(shè)備工作狀態(tài)的歷史和現(xiàn)狀,推測(cè)未來(lái)設(shè)備工作狀態(tài)的發(fā)展趨勢(shì),預(yù)計(jì)維護(hù)日期和未來(lái)故障發(fā)生的時(shí)間。也就是根據(jù)特征向量的數(shù)據(jù)進(jìn)行預(yù)測(cè)分析,從而預(yù)測(cè)故障發(fā)生的時(shí)間和頻率。
小波分析是應(yīng)用數(shù)學(xué)和工程學(xué)科中全新的領(lǐng)域,并且發(fā)展迅速,這種分析方法是一種新的函數(shù)逼近工具和時(shí)間—尺度、時(shí)間—頻率的分析方法,它是對(duì)Fourier分析理論的繼承和發(fā)展。小波分析具有伸縮、平移和放大功能,能夠?qū)?qiáng)度不同的信號(hào)的任何特征清晰的表露出來(lái),不管是在什么時(shí)域和頻域里,對(duì)信號(hào)的分析可以采用不同尺度,能夠較好的提取信號(hào)中有用信息??梢越鉀Q許多單從時(shí)域或者單從頻域不能夠解決的問(wèn)題。根據(jù)小波分析的優(yōu)勢(shì)特點(diǎn),在軟件老化的趨勢(shì)預(yù)測(cè)中可以應(yīng)用該方法來(lái)進(jìn)行有效的分析。利用小波分析將含有噪聲的系統(tǒng)性能數(shù)據(jù)進(jìn)行分解、重構(gòu),利用降噪函數(shù)進(jìn)行平滑處理;將平滑后的數(shù)據(jù)分解到不同尺度上,利用其它預(yù)測(cè)方法對(duì)各層系數(shù)分別進(jìn)行預(yù)測(cè),進(jìn)而重構(gòu)各層預(yù)測(cè)系數(shù)得到預(yù)測(cè)結(jié)果。
人工神經(jīng)網(wǎng)絡(luò)是一種是一種模仿人類(lèi)神經(jīng)網(wǎng)絡(luò)行為特征,進(jìn)行分布式并行信息處理的算法數(shù)學(xué)模型。它可以效仿人類(lèi)大腦的處理過(guò)程,能夠適應(yīng)非結(jié)構(gòu)性、非精確性規(guī)律,并且能夠記憶信息、自主學(xué)習(xí)、根據(jù)知識(shí)庫(kù)進(jìn)行推理和計(jì)算優(yōu)化,該方法計(jì)算能力強(qiáng)大、具有較強(qiáng)的記憶能力、同時(shí)兼?zhèn)淙蒎e(cuò)能力及各種智能處理能力。表現(xiàn)突出的是自主學(xué)習(xí)和自適應(yīng)功能。
SVM(支持向量機(jī))方法是在統(tǒng)計(jì)學(xué)習(xí)理論基礎(chǔ)上產(chǎn)生的一種全新的通用機(jī)器學(xué)習(xí)方法。它是通過(guò)學(xué)習(xí)樣本的方式完成分析的,這種方式的學(xué)習(xí),通過(guò)有限的樣本,能夠較大程度的減少結(jié)構(gòu)風(fēng)險(xiǎn),這種方法具有較好的泛用能力,它能夠?qū)で蟊平瘮?shù)的復(fù)雜度和準(zhǔn)確度之間的平衡點(diǎn),并可以解決人工神經(jīng)網(wǎng)絡(luò)方法中的一些弊端,例如局部值的問(wèn)題,具有較好的全局性,并且通過(guò)核函數(shù)解決維數(shù)災(zāi)難問(wèn)題。
這幾種建模方法都有各自的優(yōu)缺點(diǎn),可以將其中的方法組合使用,通過(guò)這組合使用達(dá)到取長(zhǎng)補(bǔ)短的效果,從而使得到的預(yù)測(cè)結(jié)果更加具有準(zhǔn)確性。
將含有噪聲的系統(tǒng)性能數(shù)據(jù)進(jìn)行分解、重構(gòu),可以達(dá)到降噪的目的,可以更準(zhǔn)確的對(duì)收集的數(shù)據(jù)進(jìn)行分析,建立合理的軟件預(yù)測(cè)模型,通過(guò)大量數(shù)據(jù)驗(yàn)證模型,對(duì)模型的合理性、準(zhǔn)確性等進(jìn)行評(píng)測(cè)并修改模型直至得出最優(yōu)的軟件老化趨勢(shì)預(yù)測(cè)模型。
(1)從總體上把握軟件系統(tǒng)性能的波動(dòng)特征,很好地利用歷史數(shù)據(jù)對(duì)軟件老化進(jìn)行預(yù)測(cè)。
(2)能夠?qū)Ψ磻?yīng)軟件老化的資源參數(shù)的變化趨勢(shì)進(jìn)行精確度高的短期預(yù)測(cè)。
使用網(wǎng)絡(luò)技術(shù)開(kāi)發(fā)的軟件應(yīng)用在社會(huì)的各個(gè)領(lǐng)域,軟件的使用者都希望能夠便捷的使用軟件的同時(shí)系統(tǒng)能夠長(zhǎng)期穩(wěn)定高效的工作。編寫(xiě)高可靠性的軟件也是軟件開(kāi)發(fā)者的一個(gè)目標(biāo)。通過(guò)對(duì)系統(tǒng)狀態(tài)的監(jiān)測(cè)對(duì)軟件的狀態(tài)進(jìn)行有效地評(píng)估,在系統(tǒng)出錯(cuò)前采取有效的再生策略,從而大大減少系統(tǒng)停機(jī)損耗和停機(jī)時(shí)間。在未來(lái)的幾年中,隨著預(yù)測(cè)技術(shù)發(fā)展迅猛,軟件老化預(yù)測(cè)精度將有很大的提高,影響軟件老化的參數(shù)性能會(huì)被有效地進(jìn)行評(píng)估,在技術(shù)上必將取得長(zhǎng)足的進(jìn)步和發(fā)展,并且最終出現(xiàn)大規(guī)模的應(yīng)用。
參考文獻(xiàn):
[1]Y.Huang,C.Kintala,N.Kolettis,and N.D.Funton.Software Reju?venation:Analysis,Module and Application.25th IEEE Int’l Symp.On Fault Tolerant Computing,IEEE Computer Society Press,Los Alamitos, CA,1995:381-390
[2]萬(wàn)群麗,楊群,李正,許滿武.一種基于Agent適用于Web應(yīng)用的軟件抗衰方法.計(jì)算機(jī)應(yīng)用研究,2004,8:18-21