摘要:分析了區分Web服務及衡量服務級別的重要因素,介紹了WSLA的結構,提出了一種動態分配Web服務優先權的方法,盡可能滿足了Web服務級協議(SLA)的要求,保證用戶在Web服務質量(WebQos)的需求。
關鍵詞:Web服務質量;SLA ;服務級目標
中圖分類號:TP393文件標識碼:A 文章編號:1009-3044(2008)06-10000-00
Application of WSLA in the WebQos differentiated Level
KONG Yi-quan
(School Of Information Science, Zhajiang Normal College, Guangdong 524048,China)
Abtsract: The paper analyzes the appropriate quality factor for the quality level where differentiated service is provided and introduces the structure of WSLA, then suggests a method for assigning priorities to web service message processing processes based on these quality factors.The method assigns the priority dynamically in order to stisfy the web service level agreement as much as possible.
Key words: WebQos ; SLA;SLO
1 引言
隨著動態電子商務(即電子實用程序,電子采購,電子托管和電子商務隨需應變,在動態電子商務中某個應用服務提供者(ASP)提供一個外包的服務給許多客戶)模型的出現,Web服務可通過為不同的Web服務請求的執行來動態分配資源,從而為不同的客戶提供不同的服務級。
針對現代Web服務器都是根據Internet盡力而為(best-efffort)的服務模型平等地處理所有到來的請求,采用FIFO(First-In-First-Out)的調度策略,超載的情況下不加區別地丟棄高優先級的請求分組,使得通過IntServ和DiffServ等網絡Qos機制實現的性能受到嚴重影響的情況[1],本文提出一種動態分配Web服務優先權的方法,在Web服務器及其系統實現Qos控制的機制與策略,為不同類型的用戶或請求提供性能保證和服務區分。
2 區分Web服務質量的因素
Web 服務的服務質量由多種服務質量屬性(QoS Properties)構成,可以從性能、可靠性、可用性和安全性等多個方面來描述Web 服務的非功能特性,它們是服務用戶在衡量Web服務的服務質量和選擇Web服務時的重要參考因素??紤]到在系統運行過程中需要收集和計算相關的度量指標可行性,本文依據運行時(Runtime)相關的服務質量屬性作為區分Web服務及衡量服務級別的因素[2]:
響應時間(Response Time):客戶端發出請求到得到響應的整個過程的時間。
吞吐率(Throughput):單位時間內處理的客戶端請求數量。
可訪問性(Accessibility):表示能夠為 Web 服務請求提供服務的程度和一種可能性尺度,用來表示在某個時間點上成功地實例化服務的成功率或機會。
可靠性(Reliability):表示能夠維護服務和服務質量的程度。每月或每年的失效次數是衡量 Web 服務可靠性的尺度。可靠性是指服務請求者和服務提供者發送和接收的消息的有保證和有序的傳送。
3 WSLA的結構
服務級目標(SLO)用來定義某個被部署的Web服務應達到的性能行為。在一個 Web 服務的部署過程中,底層 Web 服務容器的資源可被重新配置(通過獲取新的資源,如果必要的話)以提供一定的服務級。為了接收服務級的確認,客戶創建一個與服務提供者提供的這個 Web 服務進行關聯的服務級協定(SLA)。Web服務級協定(WSLA(Web Services Level Agreement))是一種基于XML用于定義服務級協定的形式語言。WSLA在結構包含以下部分:
當事人:描述在 Web 服務管理中涉及的各方。包括簽字方以及被引入 SLA 的第三方,它們代表服務提供者或者客戶的利益但是在這個 SLA 中不具有責任。
服務定義:描述定義哪些義務的服務屬性。建立服務的公共視圖 - 或者主體 - 的任務,是服務的定義。服務質量在 SLA、SLA 參數和測量與計算的方式中定義。為了方便自動處理,一個 SLA 對每個 SLA 參數都包含作為輸入參數用以計算值的度量。對于每個度量,它依次描述如何測量(例如,通過使用監視接口或探測),或者如何從低級度量聚集而來(例如,通過對一個被測度量在時間序列上的聚集)。
義務:定義與服務定義部分中定義的 SLA 參數有關的被保證的服務級。
4 動態分配優先權的方法
4.1分配優先權的模型和策略
通過分配優先權從而支持區分Web服務的模式如圖1,此模型包含服務提供者和客戶相定義的服務級協定(SLA)、服務器提供Qos的信息(響應時間、吞吐率、可訪問性和可靠性等)??蛻舳说恼埱髷祿ㄟ^分類器(Classifier)進行區分,執行隊列依據服務器最佳服務狀態處理最多數據包。當客戶請求超出服務器處理能力時,出時超載情況,飽和的請求將分配在緩存隊列中進行等待,直至根據優先權的分配策略進入執行隊列。
分類器具有數據包分流和分配優先權的作用。數據包分流根據用戶SLA內容,利用用戶的賬號、IP地址和訪問URL目標等信息劃分;分配優先權將依據用戶的SLO(服務級目標)及定義的分配算法對等待數據隊列分配權限Vp。
在分配算法中,響應時間在SLA中是用戶感知最直接的重要因素,為此通過式子(1)定義其值VRT。RTSLA是服務提供者和用戶在服務級協定SLA定義的值,QT是數據包在緩存隊列等待的時間, RTmean是服務器平均響應時間。
除了滿足用戶SLA中要求的響應時間外,分配算法同時滿足WebQos服務吞吐量的值VT(式子2)、可訪問性的值VA(式子3)及穩定性的值VR(式子4)。VT、VA和VR分別是服務器平均吞吐量、可訪問性和穩定性的值,TSLA、ASLA和RSLA是服務提供者和用戶在服務級協定SLA定義的吐量、可訪問性和穩定性值。
綜合VRT、VT、VA和VR的值,用戶請求的等待數據隊列最終獲取分配優先權值Vp(式子5),其中TimeOut是避免VRT出現負數時系統加的值。Vp值越少,分配的權限越高,等待數據優先進入執行隊列處理。
4.2 WSLA語言的描述
WSLA語言可以通過元素
通過WSLA語言描述SLA的內容,詳細約束Qos質量,其中方法中請求用戶服務級目標(SLO)描述如下:
<ServiceLevelObjectiv name=”Class1”>//定義請求分類1的服務級目標
<Expression>
<Predicate xsi:type=”Less”>
<SLAParameter>
AverageResponseTime</ SLAParameter>//請求響應時間少于2秒
<Value>2000</Value>
</Predicate>
</Expression>
<Expression>
<Predicate xsi:type=”Greater”>
<SLAParameter>
Throughput</ SLAParameter> //吞吐率大于30
<Value>30</Value>
</Predicate>
</Expression>
<Expression>
<Predicate xsi:type=”Greater”>
<SLAParameter>
Accessibility_Transaction</ SLAParameter>//可訪問性大于90%
<Value>0>90</Value>
</Predicate>
</Expression>
<Expression>
<Predicate xsi:type=”Greater”>
<SLAParameter>
Reliability_Transaction</ SLAParameter>//可靠性大于95%
<Value>0.95</Value>
</Predicate>
</Expression></ServiceLevelObjectiv>
用戶服務級目標定義響應時間(Response Time)、吞吐率(Throughput)、可訪問性(Accessibility)、可靠性(Reliability)的值將分別給予3.1中RTmean 、TSLA、ASLA和RSLA。
5 實驗結果
實驗中劃分三個不同級別的分類Class1、Class2和Class3。依據3.2中SLO的描述響應時間(Response Time)、吞吐率(Throughput)、可訪問性(Accessibility)和可靠性(Reliability)級別Class1>Class2>Class3。
實驗結果如圖2,表明在滿足SLA基礎上,本方法高級別的請求得到最優先的處理,同時在吞吐率、可訪問性和可靠性得到更高的保障,相對的EDF方法效果更好。
6 結束語
本文在分析了Web服務質量的因素基礎上,提出動態分配Web優先權的方法,用Web服務級協定語言描述用戶的服務級目標,在WebQos分級問題上應用了WSLA。WebQos作業應用層的Qos[4]是面向Web客戶和HTTP請求提供性能保證及服務區分的技術,在Web服務器及其系統中引入和實現QoS控制的機制與策略,從而滿足不斷增長的Web性能需求,為不同類型的用戶或請求提供服務區分和性能保證,這是目前Web發展迫切需要解決的問題,也是實現下一代網絡QoS控制技術不可或缺的關鍵環節。
參考文獻:
[1]單志廣,林闖,肖人毅,等. WebQos控制研究綜述[J].計算機學報,2004,27(2):145-156.
[2]IBM網, 理解 Web 服務的服務質量. http://www.ibm.com/developerworks/cn/webservices/ws-quality/[DB/OL].
[3]IBM網, 基于服務級協定的 Web 服務區分. http://www-128.ibm.com/developerworks/cn/webservices/ws-slafram/[DB/OL].
[4]王家蘭,王余旺. 基于Web日志分析的Web Qos研究[J].電腦知識與技術,2007,(19):80-94.
收稿日期:2008-01-20
作者簡介:孔藝權(1979-),男,廣東恩平人,助理實驗師,研究方向:計算機網絡應用。
注:“本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文。”