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