周宇
一、引言
Web服務是一種分布式計算技術(shù),具有自包含、自描述、封裝性、可重用和可組合、可互操作、開放、松散耦合的特點,可應用于開放數(shù)據(jù)資源的共享與交換。由于網(wǎng)絡的動態(tài)性和不可預知性,以及Web協(xié)議的性能及安全問題,服務質(zhì)量(QoS)將變成衡量和判定Web服務可用性和效用的重要因素。
二、Web服務質(zhì)量指標
1、服務可用性:服務的可用性描述,可用性是質(zhì)量的一個方面,指服務是否存在或是否已就緒可供立即使用。可用性表示服務可用的可能性。較大的值表示服務一直可供使用,而較小的值表示無法預知在某個特定時刻服務是否可用。2、服務可訪問性:服務的可訪問性描述,可訪問性是服務質(zhì)量的一個方面,表示能夠為服務請求提供服務的程度。它可以表示為一種可能性尺度,用來表示在某個時間點上成功地實例化服務的成功率或機會。3、服務性能指標:性能指標是服務質(zhì)量的一個方面,可以根據(jù)吞吐量和響應時間對其進行測量。吞吐量表示在給定時間段內(nèi)被服務的數(shù)據(jù)服務請求數(shù),響應時間是發(fā)送請求和接收響應之間的往返時間。吞吐量的值較大且響應時間的值較小表示服務性能良好。4、服務安全性:服務支持的安全操作描述,安全性是服務質(zhì)量的一個方面,通過驗證涉及到的各方、對消息加密以及提供訪問控制來提供機密性和不可抵賴性。根據(jù)服務請求者的不同,服務提供者可以用不同的方法來提供安全性,所提供的安全性也可以有不同的級別。5、服務可靠性:服務的可靠性特征描述,可靠性是服務質(zhì)量的一個方面,表示能夠維護服務和服務質(zhì)量的程度。每月或每年的失效次數(shù)是衡量數(shù)據(jù)服務可靠性的尺度。在另一種意義上,可靠性是指服務請求者和服務提供者發(fā)送和接收的消息的有保證和有序的傳送。
三、Web服務質(zhì)量評價方法
由于QoS屬性包括的因素較多,考慮到實用性,本文把Web服務的QoS屬性描述為一個由四個分量構(gòu)成的一個四維向量Q={T,R,A,S},每個分量都有自己的計算方法和度量單位,其中各分量評價指標為:
1)響應時間(T)
服務請求者和服務提供者之間調(diào)用和傳送服務所花的時間,包括服務時間和來回通信所用的時間??梢悦枋鰹椋?/p>
T=TS(X)+TC(X)…
(1)
式中:TS(X)—服務時間;TC(X)—通信時間。
2)可靠性(R)
表示請求者調(diào)用某個Web服務,并能夠成功接收到響應的概率。高質(zhì)量的Web服務應該是可靠的、穩(wěn)定的,可靠性直接影響請求者對Web服務提供者的評價??梢悦枋鰹椋?/p>
R=成功執(zhí)行次數(shù)/服務被調(diào)用的次數(shù)
…(2)
3)可用性(A)
Web服務在指定的θ時間段內(nèi)可訪問的概率。
4)安全性(S)
安全性反映訪問所提供的信息交互的安全程度,南訪問提供者發(fā)布。安全性是Web服務質(zhì)量的一個方面,通過驗證涉及到的各方、對消息加密以及提供訪問控制來提供機密性和不可抵賴性,防止惡意的服務請求。本文認為“安全性”不能用簡單的等級來描述,它的取值應在閉區(qū)間[0,1]上。其中,0代表不安全,1代表理論上的絕對安全。那么,(0,1)代表“安全性”的真實區(qū)間。實際上,Web服務的“安全性”恰恰是在這個真實區(qū)間上的模糊值。假設一組服務,用S={S1,S2,…,Sn}表示,這n個服務提供同一種功能,選取了m個指標來衡量服務的QoS性能,那么可以得到下面的矩陣Q,在矩陣Q中,每一行代表一個服務對應于每個QoS指標的值。而每一列代表所有服務在該項指標上的值。
式中:qnm—第n個服務中第m個QoS指標的值。
由于衡量服務質(zhì)量的指標有兩種,一種是正向質(zhì)量指標,即指標值越大,服務質(zhì)量越好;另一種是負向質(zhì)量指標,指標值越大,服務質(zhì)量越差。因此,在對矩陣Q的每一項進行標準化時,對于正向指標和負向指標分別采用公式(4)和公式(5)進行處理:
通過這公式(4)和公式(5)的計算,可以得到一個新的矩陣Q':
最后,可以用公式(7)計算每個服務S的QoS的綜合評價值:
式中:wij—第i個服務中第j個QoS指標的權(quán)值。
下面通過Web服務實例來具體說明每個Web服務的QoS的綜合評價值的計算過程。表1中給出了5個服務的測試用例數(shù)據(jù)表,每個服務使用的權(quán)值向量為:W={O.2,0.3,0.3,0.2}。
由表1可得矩陣
然后對矩陣Q的每一項指標進行標準化處理。其中,響應時間屬于負向質(zhì)量指標,應采用公式(5)進行標準化處理;可靠性、安全性和成功調(diào)用次數(shù)屬于正向質(zhì)量指標,應采用公式(4)進行標準化處理。可以得到新的矩陣:
最后,用公式(7)計算每個服務的QoS的綜合評價值如表2所示:
從表2中的QoS值可以看出,服務2最優(yōu),服務3最差。
四、Web服務質(zhì)量分析
為了對Web服務質(zhì)量進行定量分析,作者在實驗環(huán)境中構(gòu)建某示例數(shù)據(jù)的Web服務,并采用JMeter工具對其Web服務質(zhì)量進行測試。其中,示例數(shù)據(jù)源采用MySQL數(shù)據(jù)庫,數(shù)據(jù)庫與Web服務適配功能由ws02dataservices-2.6,0提供,采用JMeter2.4分別模擬多用戶產(chǎn)生并發(fā)請求,統(tǒng)計計算不同測試條件下的響應時間、可靠性和可用性。在實驗室環(huán)境下,Weh服務可靠性與可用性較高,極少出現(xiàn)服務訪問失敗的情況,因此后文僅對某Web服務的響應時間進行分析。圖1為數(shù)據(jù)查詢服務的響應時間圖,由圖可見,Web服務的響應時間隨Web服務響應的數(shù)據(jù)量增大而增大。在相同數(shù)據(jù)量情況下,并發(fā)數(shù)越大,響應時間越長。響應時間并未隨數(shù)據(jù)量增大和并發(fā)數(shù)增大產(chǎn)生明顯劣化,具有一定的并發(fā)處理能力。在非并發(fā)條件下,Web服務方式的查詢與Console的響應時間相差較小。
由此可見,通過使用JMeter工具可以對Web服務并發(fā)條件下的響應時間、可靠性和可用性進行定量的分析測試,為進行Web服務質(zhì)量評價提供數(shù)據(jù)支撐。
注:console為MySQL Console直接操作數(shù)據(jù)庫表的性能值,數(shù)據(jù)量1 000以下的響應時間小于lOms。
圖1 示例Web服務數(shù)據(jù)查詢響應時間圖
五、結(jié)論
隨著Web服務的廣泛應用,對大量Web服務質(zhì)量進行綜合衡量和判定也顯得越發(fā)重要。本文首先介紹了Web服務質(zhì)量的典型指標因素,然后探討了采用響應時間、可靠性、可用性及安全性因素對Web服務質(zhì)量進行綜合評價的過程和方法,最后使用JMeter工具對現(xiàn)有Web服務進行并發(fā)條件下的測試與分析,為定量分析Web服務提供依據(jù)。