徐雅琴,米曉萍,王金勇,翟新梅
(1.山西衛(wèi)生健康職業(yè)學院(山西省中醫(yī)學校)信息中心,山西 晉中 030619;2.山西大學 軟件學院,太原 030006)
隨著萬維網和Internet的普及,網站可以為世界各地的用戶提供重要的信息服務.由于網絡軟件要不斷滿足用戶的現實需求,所以要縮短開發(fā)周期和減少開發(fā)成本,以達到不斷更新演化的目的.因此,要保證網絡軟件的質量和可靠性是一個非常困難的事情[1].到目前為止,網絡客戶端和服務器呈指數級增長.開放的互聯(lián)網環(huán)境和更廣泛的用戶群所帶來的競爭,也迫切需要解決網絡的質量和可靠性問題.
網絡應用軟件的可靠性可以被定義為應用軟件在網絡環(huán)境下無故障運行的概率.在本文中,定義網絡失效為不能夠正確獲得或者傳遞信息.例如:網絡用戶不能夠獲得請求的文本或者計算結果.這個定義是網絡應用軟件失效的標準定義,即用戶期望的行為偏差[2].
為了增加網絡應用軟件的可靠性,研究者已經進行了一些相關的研究[1-14].但是,當前存在的方法不能被直接應用到網絡系統(tǒng),因為網絡應用軟件的特殊本質[1,6],為了能夠直接評估網絡的可靠性,我們修改了存在的評估網絡軟件可靠性的方法,并且整合了網絡負載特征[7].
網絡軟件測試是一個復雜的過程,并且評估網絡軟件可靠性是一個重要的任務.僅僅考慮單因素(如,時間因素)變化來建立網絡軟件可靠性模型并不符合實際的網絡變化需求.因此,建立的軟件可靠模型由于沒有考慮網絡負載變化,他們的合理性受到質疑.
在文中,筆者提出一般的網絡軟件可靠性模型框架(Framework),即,基于Cobb-Douglas函數的二維軟件可靠性模型.我們用Cobb-Douglas函數去整合兩個影響網絡軟件失效的重要因素,即,測試時間和負載.在網絡軟件測試過程中,考慮網絡負載變化更符合實際的網絡軟件可靠性變化情況.而且,實驗結果也證明提出的二維軟件可靠性模型和其他模型相比能夠在動態(tài)變化的網絡環(huán)境中有更好的擬合和預測性能.
縮略語:
NHPP 非齊次泊松過程
SRGM 軟件可靠性增長模型
TEF 測試工作量函數
LSE 最小二乘法
MLE 最大似然估計
MSE 均值平方誤差和
AIC Akaike 信息標注
KD Kolmogorov-Distance
MVF 均值函數
符號說明:
k實際觀察到的故障的數量
r威布爾類測試工作量函數的尺度參數
γlogistic測試工作量函數測試工作量消費率
A威布爾類測試工作量常量參數
N最終花費的總的測試工作量
N(t) 到t時刻為止,檢測出故障的數量
mi在時間i點,觀察到總的失效數量
m(ti) 均值函數,表示到ti時刻為止,期望檢測出故障的數量.
W(t) 到t時刻為止,累計檢測出測試工作量花費
W*(t)W(t)-W(0)
F(x) 到x時刻為止,期望累計分布
F*(x) 到x時刻為止,觀測到標準化的累積分布
網絡服務器一般產生兩種類型的日志文件,可以把他們作為網絡軟件失效數據.一類是單個網絡訪問或者點擊數記錄在訪問日志中.表1[14]列出了一個網站失效的示例條目.另一類是記錄在錯誤日志中的相關問題,表2給出了示例條目說明.
表1 在訪問日志中列出的示例條目[14]
表2 在錯誤日志中列出的示例條目[14]
Cobb-Douglas產品函數的數學形式被定義為如下形式,
Y=ALνK1-ν.
(1)
其中,Y是每年的總產品量,A是總的產品率因子,L是勞動輸入量,K是資本輸入量,ν表示為勞動力的彈性系數,是一個固定不變的常量.
從上面的公式(1),能夠得出這個函數的基本特征是線性齊次的常量規(guī)模收益.例如:所有投入比例的增加導致相同的比例產量增加.因此,Cobb-Douglas產品函數可以被用來整合網絡負載和測試時間因子.
一般來說,為了整合日歷時間和網絡負載因素,考慮在網絡軟件可靠性增長過程中同步整合這兩個因素的影響.因此,可以用Cobb-Douglas產品函數擴展一維軟件可靠性增長模型為下式.
τ=sαu1-α
(2)
其中,τ是測試資源,s是日歷時間,u是測試負載因素,α是網絡軟件可靠性增長過程的影響因子.
網絡軟件可靠性增長模型可以用數學函數來表示故障檢測和去除現象.為了能夠在網絡環(huán)境下應用NHPP模型,給出一些基本假設.
1)在網絡運行環(huán)境下,故障檢測過程服從非齊次泊松分布過程(NHPP).
2)網絡軟件系統(tǒng)失效是隨機發(fā)生的,并且是由軟件系統(tǒng)中剩余故障造成的.
3)在(τ,τ+Δτ]時間內,檢測出故障的數量和系統(tǒng)中剩余故障的數量成正比.
4)每次檢測出的故障立即被完全去除,沒有新的故障被引進.
假設{N(s,u),s≥0,u≥0}是一個二維隨機過程,表示和測試時間s和測試負載u相關的累積檢測出軟件失效的數量.一個具有均值函數m(s,u)的二維非齊次泊松過程可以被定義為,
(3)
k=0,1,2,…
(4)
其中λ(ζ,ξ)表示雙變量故障強度函數.一般NHPP模型假設軟件失效和軟件中剩余故障有關.在由假設3,建立如下相關的微分方程,
(5)
其中,a表示期望最初檢查出故障的數量,b(τ)表示雙變量故障檢測率函數,為簡化計算,一般假設為常量.
Case 1:
如果b(x)=b,那么求解方程(5),雙變量均值函數可以表示為,
m(τ)=a[1-exp(-bτ)].
(6)
Case 2:
m(τ)=a[1-(1+bτ)exp(-bτ)].
(7)
Case 3:
(8)
表3詳細列出本文中提出的二維網絡軟件可靠性模型和其它網絡軟件可靠性模型.在表3中,TDG-O模型、TDDSS模型和TDISS模型分別表示為二維G-O模型(TDG-O),二維Delayed S-shaped模型(TDDSS)和二維Inflection S-shaped 模型(TDISS).
表3 本文使用的網絡軟件可靠性模型和它的均值函數總結
在本文中,來用提出的模型去評估兩個網站的可靠性.第一個網站是ICRMS網站,它的網址是www.icrms.cn.第二個網站是一個官方網站(SMU/SEAS),它的網址是www.seas.smu.edu[8].為了量化比較的結果,用三個模型比較標準.為了驗證提出的二維軟件可靠性模型的性能,用兩個故障數據集表4、表5進行了相應的擬合和參數估計以及預測結果比較.
表4 故障數據集1(DS1)
表5 故障數據集 2(DS2)
為了得出無偏差的結果,分別用來用最小二乘法(LSE)和最大似然估計方法(MLE)來估計模型的參數值.
假設有k個數據對(si,ui,yi) (i= 0,1,2,…,k;s0 (9) (10) 可以分別得出參數a,b,β和α的值. 另一方面,參數值可以用最大似然估計方法進行估計.從公式(3),我們能夠得出 Pr{N(si,ui)=ki,i=1,2,3…}= (11) 因此,最大似然估計函數可以表示為, (12) 那么公式(12)兩邊取對數可以得到下式, l=logL. (13) 因此,模型的參數可以用下式估計出來, (14) 3.2.1 模型擬合性能比較 從表6可知,TDISS模型在用故障數據集1進行100%的故障數據擬合和LSE方法參數估計時的MSE和KD值都小于TDG-O,TDDSS和測試工作量模型.顯示TDDSS模型的MSE和KD的擬合值都大于TDG-O和TDISS模型.同類,從表6可以看到,當用DS1和DS2的100%的故障數據擬合和用MLE方法估計模型參數時,TDG-O模型的AIC和KD的擬合值與TDISS模型的近似相等.并且TDG-O模型和TDISS模型的AIC和KD的擬合值要小于TDDSS模型和測試工作量模型.因此,TDDSS的擬合能力比TDG-O模型和TDISS模型都要差. 表6 用DS1和DS2的100%的故障數據集進行軟件可靠性模型比較結果 從上面的分析能夠得出,文中提出的二維軟件可靠性模型有很好的擬合性能.對不同的二維軟件可靠性模型進行比較發(fā)現,TDG-O模型和TDISS模型與TDDSS模型和測試工作量模型相比有更好的擬合性能. 3.2.2 模型預測性能比較 從表7知,用DS1的60%的故障數據時,無論是用LSE還是MLE估計模型的參數,TDISS模型擬合的MSE和KD的值都小于TDG-O模型和TDDSS模型.但是,在用DS1的60%的故障數據時,無論是用LSE還是MLE估計模型的參數,TDG-O模型預測的MSE和KD的值都小于TDDSS模型,TDISS模型和測試工作量模型.而TDDSS模型的擬合和預測性能與TDG-O模型和TDISS模型相比是最差的.對于AIC值,TDG-O模型和TDISS模型相差不大,它們都小于TDDSS模型. 表7 用故障數據集1的60%故障數據進行軟件可靠性模型比較的結果 同類,從表8得出,在用DS2的60%的故障數據和用LSE估計模型的參數時,TDISS模型的擬合和預測的MSE值都小于TDG-O模型和TDDSS模型.但是,在用DS2的60%的故障數據和用LSE估計模型的參數時,TDG-O模型擬合和預測的KD值都小于TDDSS模型和TDISS模型.另外,從表8,我們還能看到在用DS2的60%的故障數據和用MLE估計模型的參數時,TDISS模型擬合的MSE和KD值都小于TDG-O模型和TDDSS模型.但是,在用DS2的60%的故障數據和用MLE估計模型的參數時,TDG-O模型預測的MSE和KD值都小于TDISS模型,TDDSS模型和測試工作量模型.其中,在用DS2故障數據集和LSE與MLE估計模型參數時,TDDSS模型在三個提出的二維軟件可靠性模型中的擬合和預測性能都是最差的.TDG-O模型的AIC值和TDISS模型的AIC值近似相等.他們都小于TDDSS模型. 表8 用故障數據集2的60%故障數據估計軟件可靠性模型參數值 總的來說,可以合理地得出TDG-O模型和TDISS模型有更好的擬合和預測性能.在用Cobb-Douglas產品函數來整合測試時間和網絡負載后可以更有效地評估網絡軟件的可靠性.而且,提出的二維軟件可靠模型在擬合和預測軟件中剩余故障的數量時都有較好的性能.因此,文中提出的二維軟件可靠性模型可以被應用到實際的網絡軟件可靠性評測中. 從網絡軟件實際失效發(fā)生機制的角度來看,網絡軟件可靠性增長過程不但依賴時間因素,而且還與網絡負載有關.例如:點擊數,位數,用戶數和會話數等.在本文中,開發(fā)了一個整合了測試時間和網絡負載的二維網絡軟件可靠性增長模型,并且用ICRMS和SMU/SEAS 網站的服務器的日志中收集的兩個故障數據集驗證了提出的二維軟件可靠性模型的擬合與預測性能.基于AIC,MSE和KD比較,提出的二維網絡軟件可靠性模型在動態(tài)的網站測試中有更好的擬合和預測性能,并且能夠準確地預測軟件中剩余故障的數量.實驗結果也指出提出的二維TDG-O和TDISS模型在所有模型中有更好的擬合和預測性能.3.2 模型性能分析和討論
4 結束語