摘 要:提出了一種基于內(nèi)容自適應(yīng)的Web QoS反饋控制系統(tǒng)。首先分析Web QoS的組成及主要保證方法,并研究了隊(duì)列控制當(dāng)中的反饋控制機(jī)制,實(shí)現(xiàn)任務(wù)數(shù)量的穩(wěn)定;然后,分析了Web內(nèi)容自適應(yīng)的機(jī)制與實(shí)現(xiàn),提高了系統(tǒng)的自我調(diào)節(jié)能力;最后詳細(xì)介紹這種Web QoS系統(tǒng)的模型。
關(guān)鍵詞:Web; 服務(wù)質(zhì)量; 自動(dòng)控制; 電子商務(wù)
中圖分類(lèi)號(hào):TP319文獻(xiàn)標(biāo)志碼:A
文章編號(hào):1001-3695(2009)06-2295-04
doi:10.3969/j.issn.1001-3695.2009.06.090
Research of Web QoS feedback control system based on adaptive content delivery
TANG Wen-zhong, WANG Pan
(School of Computer Science Technology, Beihang University, Beijing 100083, China)
Abstract:
This paper introduced a Web QoS feedback control system based on adaptive content delivery. It firstly presented the analysis on the composition of Web QoS, as well as popular Web QoS guarantee methods. Then analysed the feedback control mechanism in queue management,in order to achieve the stability of task quantity. After that, detailed analysis on adaptive content delivery mechanism and presented implementation, to enhance the self-regulated ability of the system. At last, introduced the implementation of this Web QoS system in detail.
Key words:Web; quality of service(QoS); autocontrol; electronic commerce
電子商務(wù)及其他Web應(yīng)用正在以Web為平臺(tái)快速增長(zhǎng),這些應(yīng)用該網(wǎng)絡(luò)請(qǐng)求數(shù)量的增長(zhǎng)也越來(lái)越迅速。那么,在服務(wù)器過(guò)載的情況下,如何有效保證Web用戶的服務(wù)質(zhì)量呢?ITU-T在建議書(shū)E.800中給出QoS定義,即QoS是服務(wù)性能的總效果,該效果決定了一個(gè)用戶對(duì)服務(wù)的滿意程度,其直接判斷指標(biāo)就是Web服務(wù)請(qǐng)求的響應(yīng)時(shí)間。
Web服務(wù)請(qǐng)求的響應(yīng)時(shí)間(總的QoS)主要由兩個(gè)因素決定,即網(wǎng)絡(luò)傳輸?shù)馁|(zhì)量(網(wǎng)絡(luò)傳輸QoS)和Web服務(wù)器的響應(yīng)時(shí)間(Web QoS)[1]。Web QoS屬于應(yīng)用層的QoS,體現(xiàn)在Web服務(wù)器為不同類(lèi)型的用戶或請(qǐng)求提供區(qū)分的,而非一視同仁的響應(yīng)性能。這種面向Web客戶和HTTP請(qǐng)求提供性能保證及服務(wù)區(qū)分的技術(shù)——Web QoS在國(guó)際上受到越來(lái)越多的關(guān)注,成為QoS技術(shù)一個(gè)新的研究領(lǐng)域和重要的學(xué)術(shù)分支。
目前實(shí)現(xiàn)Web QoS主要有三種形式,即Web服務(wù)器應(yīng)用軟件的QoS控制機(jī)制、操作系統(tǒng)的Web QoS控制機(jī)制和中間件的Web QoS控制機(jī)制。其主要的控制思想均在對(duì)請(qǐng)求進(jìn)行分類(lèi)的基礎(chǔ)上,運(yùn)用多種Web QoS控制方法實(shí)現(xiàn)服務(wù)質(zhì)量保證目標(biāo)。Web QoS主要包括以下五類(lèi)方法,即準(zhǔn)入控制、Web內(nèi)容自適應(yīng)、隊(duì)列反饋控制、服務(wù)器優(yōu)先調(diào)度及資源控制。
1 研究現(xiàn)狀
請(qǐng)求分類(lèi)是保證Web QoS和實(shí)施區(qū)分服務(wù)的前提,有三種分類(lèi)方法[2],即利用網(wǎng)絡(luò)參數(shù)、基于客戶和基于請(qǐng)求目標(biāo)。其中基于請(qǐng)求來(lái)源可以通過(guò)客戶IP地址、利用HTTP Cookie和瀏覽器插件實(shí)現(xiàn);基于請(qǐng)求目標(biāo)可以通過(guò)目標(biāo)IP地址或端口號(hào)、目標(biāo)URL實(shí)現(xiàn)。
準(zhǔn)入控制(admission control)是一種在服務(wù)器過(guò)載情況下,根據(jù)策略限制請(qǐng)求進(jìn)入的Web QoS保證方法,它能夠保證丟棄速率和任務(wù)的延遲界限。Cherkasova等人[3]提出了基于用戶的會(huì)話(session)而非每個(gè)請(qǐng)求的接納控制機(jī)制,更加有效地避免了服務(wù)器資源的浪費(fèi)。
Web內(nèi)容自適應(yīng)[4]在服務(wù)器過(guò)載的情況下自適應(yīng)地提供連續(xù)的內(nèi)容降級(jí)服務(wù)而不是簡(jiǎn)單的拒絕請(qǐng)求,從而能夠更好地為用戶提供Web QoS;缺點(diǎn)是需要維護(hù)多份Web內(nèi)容,占用存儲(chǔ)空間。
隊(duì)列反饋控制是指使用各種自動(dòng)控制算法保持各優(yōu)先級(jí)請(qǐng)求隊(duì)列中的請(qǐng)求數(shù)目穩(wěn)定,從而保證準(zhǔn)入用戶服務(wù)質(zhì)量的Web QoS方法。美國(guó)Virginia大學(xué)的Web QoS研究小組進(jìn)行的實(shí)驗(yàn)采用離線系統(tǒng)辨識(shí)建模,使用根軌跡方法設(shè)計(jì)了一個(gè)反饋控制器以滿足Web服務(wù)器的性能要求[5];缺點(diǎn)是離線建模準(zhǔn)確性不高,并需要修改服務(wù)器軟件代碼。
服務(wù)器優(yōu)先調(diào)度是指采用各種任務(wù)調(diào)度策略實(shí)現(xiàn)高優(yōu)先級(jí)請(qǐng)求與低優(yōu)先級(jí)請(qǐng)求協(xié)調(diào)調(diào)度的方法。Alemeida等人[6]提出了用戶級(jí)和內(nèi)核級(jí)的請(qǐng)求調(diào)度策略;Crovella等人[7]針對(duì)處理靜態(tài)文件的服務(wù)器的連接調(diào)度問(wèn)題,提出了最短連接優(yōu)先(SCF)策略;Harchol-Balter等人[8,9]提出了SRPT最短剩余時(shí)間優(yōu)先策略,這種方法對(duì)于最小化平均響應(yīng)時(shí)間最優(yōu)。
資源控制是指根據(jù)請(qǐng)求的不同優(yōu)先級(jí),控制服務(wù)器資源分配以達(dá)到高優(yōu)先級(jí)請(qǐng)求的Web QoS保證效果;缺點(diǎn)是需要修改服務(wù)器代碼甚至是操作系統(tǒng)代碼。
Web內(nèi)容自適應(yīng)、隊(duì)列反饋控制是本文關(guān)注的重點(diǎn)。
2 隊(duì)列長(zhǎng)度反饋控制
2.1 自動(dòng)控制理論基本概念
閉環(huán)控制系統(tǒng)的特點(diǎn)是系統(tǒng)被控對(duì)象的輸出(被控制量)會(huì)返送回來(lái)影響控制器的輸出,形成閉環(huán)。反饋信號(hào)與系統(tǒng)給定值信號(hào)相反,則稱(chēng)為負(fù)反饋。在工程實(shí)際中,應(yīng)用最為廣泛的調(diào)節(jié)器控制規(guī)律為比例、積分、微分控制,簡(jiǎn)稱(chēng)PID控制。其控制器的輸入e(t)和輸出u(t)之間的關(guān)系如下:
u(t)=Kp#8226;(e(t)+1/TI#8226;∫t0e(t)dt+TD#8226;de(t)/dt)(1)
其中:Kp為比例系數(shù); TI為積分時(shí)間常數(shù); TD為微分時(shí)間常數(shù)。傳遞函數(shù)為
G(s)=U(s)/E(s)=Kp(1+1/(TI#8226;s)+TD#8226;s)(2)
在比例控制中,控制器的輸出與輸入誤差信號(hào)成比例關(guān)系,當(dāng)僅有比例控制時(shí)系統(tǒng)輸出存在穩(wěn)態(tài)誤差;在積分控制中,控制器的輸出與輸入誤差信號(hào)的積分成正比關(guān)系,可以起到消除穩(wěn)態(tài)誤差的作用;在微分控制中,控制器的輸出與輸入誤差信號(hào)的微分(即誤差的變化率)成正比關(guān)系,它能夠提前使抑制誤差的控制作用等于零,甚至為負(fù)值,從而避免了被控量的嚴(yán)重超調(diào),避免了調(diào)節(jié)作用的滯后性。
2.2 閉環(huán)控制系統(tǒng)的一般構(gòu)成[10]
閉環(huán)控制系統(tǒng)的典型組成部分如圖1所示。
1)受控對(duì)象 指需要對(duì)其某個(gè)特定的量進(jìn)行控制的設(shè)備或過(guò)程。受控對(duì)象的輸出變量是受控變量,記做c(t)。受控變量除了受到控制作用外,還要受到外部擾動(dòng)作用,如圖1中d(t)表示。
2)測(cè)量裝置 如傳感器和測(cè)量?jī)x表,它感受或測(cè)量受控變量的值并將其變換成可進(jìn)行比較的信號(hào)。測(cè)量裝置的輸出信號(hào)是反饋信號(hào)b(t)。
3)參考輸入變換裝置或稱(chēng)給定裝置 它的輸入信號(hào)是受控變量的期望值,通常稱(chēng)為參考輸入或設(shè)定值,記做r(t)。其作用是將參考輸入變換成能與反饋信號(hào)b(t)相比較(同量綱)的信號(hào)。
4)比較裝置 它比較參考輸入變換裝置的輸出信號(hào)和反饋信號(hào)b(t)。其輸出為偏差信號(hào)e(t),又為控制器的輸入,以產(chǎn)生校正誤差的控制作用。
5)控制器 對(duì)偏差信號(hào)e(t)按一定規(guī)律進(jìn)行處理,產(chǎn)生控制信號(hào)u(t)作為其輸出信號(hào)。結(jié)構(gòu)圖中控制器一般指校正或運(yùn)算裝置、放大裝置,實(shí)際的控制器常常兼有參考輸入變換裝置、比較器和控制器三者的功能。
6)執(zhí)行機(jī)構(gòu) 它是能夠影響受控過(guò)程的裝置。其輸入信號(hào)為控制器的輸出u(t),輸出信號(hào)為受控過(guò)程的輸入信號(hào)m(t),常稱(chēng)操作變量。
2.3 Web QoS系統(tǒng)預(yù)測(cè)性隊(duì)列長(zhǎng)度反饋控制
為了確保用戶響應(yīng)時(shí)間,不隨服務(wù)器負(fù)載呈指數(shù)式增長(zhǎng),隊(duì)列控制需要根據(jù)各優(yōu)先級(jí)隊(duì)列的占用程度對(duì)請(qǐng)求數(shù)量施加控制?;贖P實(shí)驗(yàn)室的Web2K服務(wù)器的隊(duì)列控制理論與實(shí)踐[11],本文通過(guò)增加保留隊(duì)列以及比較器和監(jiān)視器,來(lái)完善預(yù)測(cè)與反饋控制的準(zhǔn)確性。此模塊的設(shè)計(jì)如圖2所示。
先看一個(gè)時(shí)間段[t-T, t]內(nèi)的某一優(yōu)先級(jí)請(qǐng)求隊(duì)列的控制行為。in(t)代表這一時(shí)段最終進(jìn)入輸出隊(duì)列的請(qǐng)求數(shù)目;out(t)代表系統(tǒng)后面模塊處理了的請(qǐng)求數(shù)目。如果q(t-T)代表t-T時(shí)刻某一優(yōu)先級(jí)隊(duì)列中請(qǐng)求的數(shù)目,那么t時(shí)刻的隊(duì)列長(zhǎng)度可以寫(xiě)成
q(t)=q(t-T)+in(t)-out(t)(3)
比較器將目標(biāo)隊(duì)列長(zhǎng)度target_q(t)與當(dāng)前隊(duì)列長(zhǎng)度q(t)的差異e(t)作為控制器的輸入。
e(t)=target_q(t)-q(t)(4)
控制器根據(jù)這個(gè)差異決定下個(gè)時(shí)段[t,t+T]可以添加到此優(yōu)先級(jí)隊(duì)列中的請(qǐng)求數(shù)量,計(jì)算如下:
target_in(t)=in(t)+q0#8226;e(t)+q1#8226;e(t-T)(5)
其中:q0、q1是常數(shù),決定了此模塊調(diào)節(jié)作用穩(wěn)定性和迅速性。
執(zhí)行器的功能是保證通過(guò)此模塊進(jìn)入輸出隊(duì)列的請(qǐng)求數(shù)量被約束在target_in(t)之內(nèi)。因?yàn)檎?qǐng)求數(shù)量的不確定性,需要使用一種預(yù)測(cè)性機(jī)制借助一個(gè)保留隊(duì)列來(lái)實(shí)現(xiàn)target_in(t)的請(qǐng)求通過(guò)數(shù)目。首先,借助上幾個(gè)周期的請(qǐng)求數(shù)量來(lái)預(yù)測(cè)本周期請(qǐng)求數(shù)量in_rate_estimate(t);然后計(jì)算出通過(guò)概率
p=target_in(t)/in_rate_estimate(t)(6)
接著,執(zhí)行器在本周期中以p的概率讓請(qǐng)求通過(guò),被攔截的請(qǐng)求則存入設(shè)計(jì)的保留隊(duì)列中。直到本周期結(jié)束,如果沒(méi)有達(dá)到target_in(t)數(shù)目的請(qǐng)求通過(guò),那么直接從保留隊(duì)列中選擇請(qǐng)求使其通過(guò)盡可能滿足target_in(t);如果本周期提前達(dá)到target_in(t)個(gè)請(qǐng)求通過(guò),那么其余進(jìn)入的請(qǐng)求將被直接保存到保留隊(duì)列中。執(zhí)行器遵循以下兩個(gè)規(guī)則:a)持續(xù)性。本周期保留隊(duì)列中的請(qǐng)求將在下一個(gè)周期,比新請(qǐng)求更優(yōu)先地通過(guò)隊(duì)列控制模塊,直到舊請(qǐng)求在多個(gè)處理周期內(nèi)都被拒絕從而被終止相應(yīng)的TCP連接為止。這避免了服務(wù)器負(fù)載瞬時(shí)變化的請(qǐng)求拒絕。b)事務(wù)性。已存在會(huì)話的請(qǐng)求比新會(huì)話的請(qǐng)求有更高的優(yōu)先級(jí)得到服務(wù),避免了以前分配資源的浪費(fèi)。
2.4 各優(yōu)先級(jí)隊(duì)列FPD歸并調(diào)度
上述各優(yōu)先級(jí)隊(duì)列內(nèi)部的調(diào)度,使得各個(gè)優(yōu)先級(jí)請(qǐng)求在輸出隊(duì)列中的數(shù)目保持在穩(wěn)定的target_q(t)附近。此時(shí)需要一種選擇機(jī)制,從多個(gè)輸出隊(duì)列中恰當(dāng)?shù)剡x擇需要調(diào)度的請(qǐng)求進(jìn)行響應(yīng)。選擇機(jī)制的目標(biāo)是使得高優(yōu)先級(jí)的請(qǐng)求比低優(yōu)先級(jí)的請(qǐng)求更有可能進(jìn)入下一個(gè)環(huán)節(jié)的響應(yīng)處理,同時(shí)要以內(nèi)容自適應(yīng)模塊的工作情況作為進(jìn)一步調(diào)度的影響因素,達(dá)到調(diào)度的自適應(yīng)。
1)HPF算法 Jiu等人[12]提出了近似計(jì)算模型,該模型把被調(diào)度的任務(wù)集分成強(qiáng)制任務(wù)和可選任務(wù)兩部分。強(qiáng)制任務(wù)在其截止時(shí)間內(nèi)必須調(diào)度完成,且保證完成質(zhì)量是可接受的;可選任務(wù)的完成質(zhì)量受到強(qiáng)制任務(wù)完成狀態(tài)的影響,當(dāng)強(qiáng)制任務(wù)和可選任務(wù)同時(shí)執(zhí)行時(shí),強(qiáng)制任務(wù)得到優(yōu)先執(zhí)行,可選任務(wù)允許在其截止時(shí)間調(diào)度丟失,即在系統(tǒng)超載時(shí),盡可能地降低可選任務(wù)的服務(wù)質(zhì)量,以保證強(qiáng)制任務(wù)的服務(wù)質(zhì)量。
2)各優(yōu)先級(jí)隊(duì)列的FPD歸并調(diào)度 本文提出一種協(xié)調(diào)各優(yōu)先級(jí)隊(duì)列請(qǐng)求的調(diào)度機(jī)制,參考了HPF算法的度量方法,實(shí)現(xiàn)任務(wù)的歸并調(diào)度。
首先介紹本文用到的數(shù)據(jù)結(jié)構(gòu):請(qǐng)求響應(yīng)級(jí)別日志。每個(gè)優(yōu)先級(jí)均對(duì)應(yīng)一個(gè)這樣的日志,它是一個(gè)k元組,記為responseLevelLog,其中保存了此級(jí)別最近k個(gè)請(qǐng)求的響應(yīng)級(jí)別。請(qǐng)求響應(yīng)級(jí)別分為三種情況:a)請(qǐng)求精確響應(yīng)F,取值為1;b)請(qǐng)求近似響應(yīng)P,取值為(0,1);c)請(qǐng)求拒絕響應(yīng)D,取值為0。為了及時(shí)反映最新的請(qǐng)求響應(yīng)級(jí)別,每當(dāng)屬于某一優(yōu)先級(jí)的請(qǐng)求響應(yīng)完畢,這個(gè)響應(yīng)的級(jí)別即被添加到對(duì)應(yīng)的responseLe-velLog中,其中的元素左移一位,同時(shí)該請(qǐng)求的響應(yīng)級(jí)別被添加到最右側(cè)的位置上。如圖3所示,是i~i+1時(shí)刻responseLe-velLog的變化情況。
假設(shè)一個(gè)請(qǐng)求類(lèi),其請(qǐng)求響應(yīng)級(jí)別日志為k元組responseLevelLog,下面根據(jù)其取值,本文給出這個(gè)請(qǐng)求類(lèi)的絕對(duì)質(zhì)量、相對(duì)質(zhì)量的計(jì)算公式。
a)請(qǐng)求類(lèi)的絕對(duì)質(zhì)量AbsQoS計(jì)算公式
absQoSnew=absQoSold-responceLevelLogoldest_mostleft+responceLevelLoglatest_mostright(7)
其中:responseLevelLogoldest_mostleft和responseLevelLoglatest_mostright分別代表responseLevelLog中最早(最左)一個(gè)請(qǐng)求響應(yīng)級(jí)別和最近(最右)一個(gè)請(qǐng)求響應(yīng)級(jí)別。absQoSmax=k,代表最近k個(gè)請(qǐng)求均得到精確響應(yīng);absQoSmin=0,代表最近k個(gè)請(qǐng)求均被拒絕服務(wù)。而absQoS只反映一個(gè)請(qǐng)求類(lèi)的絕對(duì)質(zhì)量,沒(méi)有反映這個(gè)請(qǐng)求類(lèi)的相對(duì)質(zhì)量關(guān)系。下面將引入相對(duì)質(zhì)量的定義。
b)請(qǐng)求類(lèi)的相對(duì)質(zhì)量ProQoS計(jì)算公式
proQoSi=absQoSi/∑ni=1absQoSi,∑ni=1absQoSi≠0(8)
其中:i=1,2,…,n,n為請(qǐng)求類(lèi)的個(gè)數(shù);proQoSi代表第i個(gè)請(qǐng)求類(lèi)的響應(yīng)質(zhì)量占全部請(qǐng)求類(lèi)響應(yīng)質(zhì)量總和的百分比,體現(xiàn)了它的相對(duì)質(zhì)量水平。
給出兩個(gè)重要定義后,分析如何實(shí)現(xiàn)各優(yōu)先級(jí)隊(duì)列的歸并調(diào)度。首先,介紹responseLevelLog中的FPD取值,它是根據(jù)后面的內(nèi)容自適應(yīng)模塊計(jì)算的。假設(shè)客戶實(shí)際得到的服務(wù)級(jí)別是k,k是[0,M]區(qū)間上一個(gè)正整數(shù)(M棵內(nèi)容樹(shù)),那么FPD取值為k/M,此值取自[0,1]區(qū)間。其次,介紹各優(yōu)先級(jí)隊(duì)列的調(diào)度過(guò)程。根據(jù)responseLevelLog的取值,可以得到每個(gè)優(yōu)先級(jí)隊(duì)列的相對(duì)服務(wù)質(zhì)量proQoS。這些相對(duì)服務(wù)質(zhì)量必須與客戶定義的優(yōu)先級(jí)滿足比例關(guān)系,即高優(yōu)先級(jí)隊(duì)列中請(qǐng)求的相對(duì)服務(wù)質(zhì)量要成比例地高于低優(yōu)先級(jí)隊(duì)列中請(qǐng)求的相對(duì)服務(wù)質(zhì)量。這就保證了各優(yōu)先級(jí)隊(duì)列的分級(jí)別歸并調(diào)度。
3 內(nèi)容自適應(yīng)
盡管通過(guò)隊(duì)列長(zhǎng)度控制模塊能夠確保請(qǐng)求數(shù)量的穩(wěn)定性,但是在負(fù)載非常大的情況下,一些用戶能夠得到它們請(qǐng)求的高質(zhì)量資源,而大多數(shù)用戶則直接被拒絕服務(wù)。針對(duì)這種情況,本文考慮為無(wú)力完全滿足的客戶提供體面的降級(jí)服務(wù),從而使得更多的請(qǐng)求得到響應(yīng)。這可以通過(guò)在本地存儲(chǔ)網(wǎng)站不同質(zhì)量的副本來(lái)實(shí)現(xiàn),當(dāng)網(wǎng)站負(fù)載變大時(shí),可以給更多的用戶提供低質(zhì)量的網(wǎng)頁(yè),從而降低Web服務(wù)器負(fù)載來(lái)響應(yīng)更多的客戶請(qǐng)求。
美國(guó)密歇根大學(xué)的Abdelzaher等人[4]提出的一種依賴于Web內(nèi)容自適應(yīng)機(jī)制實(shí)現(xiàn)服務(wù)區(qū)分的QoS管理體系結(jié)構(gòu),就是基于上述思想。理想情況下,當(dāng)服務(wù)器利用率很低時(shí),所有的用戶都會(huì)得到最好的可用內(nèi)容。而當(dāng)服務(wù)器利用率接近飽和時(shí),一部分用戶不得不接受降級(jí)服務(wù)從而避免服務(wù)器過(guò)載和連接失敗。這部分被影響的用戶與在他們身上的適應(yīng)程度,通過(guò)自適應(yīng)模塊的利用率控制回路來(lái)決定。利用率控制回路決定了所需適應(yīng)行動(dòng)的嚴(yán)重性和范圍。
3.1 內(nèi)部組成
內(nèi)容自適應(yīng)模塊主要由三部分組成,即負(fù)載監(jiān)視器、利用率控制器和內(nèi)容自適應(yīng)器,如圖4所示。
1)負(fù)載監(jiān)視器 一個(gè)請(qǐng)求的服務(wù)時(shí)間可以用這個(gè)等式來(lái)近似:
T(x)=a+bx(9)
其中:a和b對(duì)于固定的平臺(tái)是常量;x是請(qǐng)求URL對(duì)應(yīng)內(nèi)容的大小。匯總一個(gè)采樣時(shí)段內(nèi)所有請(qǐng)求的服務(wù)時(shí)間,并除以此時(shí)段長(zhǎng)度??梢缘玫较率剑?/p>
U=aR+bW(10)
其中:R是請(qǐng)求率;W是帶寬;U是系統(tǒng)利用率。負(fù)載監(jiān)視器周期性地在線測(cè)量R和W的值,并得到相應(yīng)的利用率值。其中的a、b是平臺(tái)相關(guān)常數(shù),是獨(dú)立于工作負(fù)載的。通過(guò)多次測(cè)量滿載(U=100%)情況下服務(wù)器的請(qǐng)求率和帶寬,再利用線性回歸的方法求得。
為了計(jì)算a和b,需要提高對(duì)服務(wù)器的請(qǐng)求率并估算其最大處理能力。先固定請(qǐng)求URL的大小x,然后逐漸增加服務(wù)器的請(qǐng)求率直到發(fā)現(xiàn)連接錯(cuò)誤為止。能夠達(dá)到的最大請(qǐng)求率Rmax是沒(méi)有發(fā)生連接錯(cuò)誤的值,對(duì)應(yīng)的總交付帶寬Wmax。用不同的請(qǐng)求URL大小來(lái)重復(fù)實(shí)驗(yàn),記錄下新的最大速率和帶寬。在每一次實(shí)驗(yàn)中,最大請(qǐng)求速率對(duì)應(yīng)一個(gè)完全使用的服務(wù)器,即U=100%。因此,每次實(shí)驗(yàn)產(chǎn)生一個(gè)不同的數(shù)據(jù)點(diǎn)(Rmax,Wmax),這個(gè)點(diǎn)滿足等式100 = a Rmax+b Wmax。其中a、b未知。利用線性回歸,系數(shù)a和b能夠求出。在本文的實(shí)現(xiàn)當(dāng)中,這些常量是在離線情況下求得的,并被負(fù)載監(jiān)視器寫(xiě)到一個(gè)運(yùn)行時(shí)需要用到的配置文件中來(lái)替換式(10)中的相應(yīng)系數(shù)。
2)內(nèi)容自適應(yīng)器 它是直接實(shí)施內(nèi)容自適應(yīng)操作的元件,如圖5所示。假設(shè)存在不同質(zhì)量的網(wǎng)站副本M個(gè),對(duì)應(yīng)圖中的M棵內(nèi)容樹(shù)。壓縮網(wǎng)站得到不同質(zhì)量副本的具體措施包括網(wǎng)頁(yè)分類(lèi)、內(nèi)容壓縮與文件命名[13]。G表示需要采取的內(nèi)容自適應(yīng)行為的程度,由利用率控制器給出,其取值為[0,M]。G=0,表示拒絕所有請(qǐng)求;G=M,表示以最高質(zhì)量的頁(yè)面響應(yīng)所有客戶請(qǐng)求??梢钥闯觯珿能夠控制服務(wù)器的負(fù)載。
G由整數(shù)部分I和小數(shù)部分F組成。有兩種情況:a)若G為整數(shù)(即I=G,F(xiàn)=0),則以內(nèi)容樹(shù)tree G響應(yīng);b)若G為非整數(shù),通過(guò)哈希函數(shù)H()將用戶IP映射為[0,1]之間的偽隨機(jī)數(shù)N。若N 3)利用率控制器 它能夠通過(guò)選擇一棵合適的內(nèi)容適應(yīng)樹(shù)來(lái)告訴內(nèi)容自適應(yīng)器要采取何種程度的自適應(yīng)行為。參考經(jīng)典的自動(dòng)控制理論,本文將通過(guò)自適應(yīng)系數(shù)G的動(dòng)態(tài)調(diào)整實(shí)現(xiàn)利用率U的穩(wěn)定。根據(jù)實(shí)踐經(jīng)驗(yàn),最優(yōu)利用率U為85%,即受控量的目標(biāo)值,目標(biāo)利用率U,利用率偏差E,自適應(yīng)系數(shù)G可用下式表示: U=85%(11) E=U-U(12) G=G+kE,k為正常數(shù) if(G<0) then G=0 if(G>M) then G=M(13) 其中的比例常數(shù)k可以通過(guò)系數(shù)的整定來(lái)確定,以達(dá)到最好的收斂效果。這里分析一下閉環(huán)負(fù)反饋回路的控制作用是如何實(shí)現(xiàn)的:若服務(wù)器過(guò)載,那么U會(huì)大于85%,此時(shí)E<0,這樣G減小,從而減輕了服務(wù)器的負(fù)載;直到U穩(wěn)定在85%的目標(biāo)值,控制作用才會(huì)消失。 3.2 構(gòu)件間關(guān)系 下面總結(jié)性地闡述內(nèi)容自適應(yīng)架構(gòu)的構(gòu)件及其相互關(guān)系:a)負(fù)載監(jiān)視器測(cè)量當(dāng)前的請(qǐng)求速率和交付帶寬,然后將它轉(zhuǎn)換成利用率值U;b)利用率控制器將期望的服務(wù)器利用率U與U進(jìn)行比較,計(jì)算出需要的自適應(yīng)程度G;c)內(nèi)容自適應(yīng)器,解釋G,然后通過(guò)修改URL地址,相應(yīng)地降級(jí)或拒絕一定數(shù)量的請(qǐng)求;d)Web服務(wù)器使用被內(nèi)容自適應(yīng)器修改了的URL地址;f)負(fù)載監(jiān)視器更新負(fù)載的估計(jì)值并返回控制回路。 4 實(shí)現(xiàn)與應(yīng)用 依據(jù)Web QoS領(lǐng)域的主流控制思想,本文設(shè)計(jì)了一個(gè)基于中間件的內(nèi)容自適應(yīng)Web QoS反饋控制系統(tǒng)。系統(tǒng)分為以下三大部分,共有九個(gè)組件,如圖6所示。 4.1 請(qǐng)求接收器 1)緩沖隊(duì)列模塊 存儲(chǔ)TCP連接請(qǐng)求,防止因?yàn)樗矔r(shí)請(qǐng)求過(guò)多而出現(xiàn)TCP監(jiān)聽(tīng)隊(duì)列對(duì)請(qǐng)求不分輕重的丟棄。對(duì)于不得不拋棄的請(qǐng)求給予明確的拒絕服務(wù)或重定向操作,無(wú)須等到TCP的自動(dòng)超時(shí)才返回拒絕響應(yīng)。 2)會(huì)話管理 確定該請(qǐng)求是否屬于已存在的會(huì)話,從而為保證用戶事務(wù)操作的原子性提供支持。例如,保證“登錄->瀏覽->入籃->下單”這一系列事務(wù)性操作的完整性,即用戶如果已經(jīng)提出入籃操作這個(gè)請(qǐng)求,那么就要舍棄掉其他登錄請(qǐng)求的處理。要盡可能保證已經(jīng)進(jìn)入的事務(wù)執(zhí)行完畢,從某方面講,這是避免服務(wù)器之前資源分配的浪費(fèi)。 3)請(qǐng)求分類(lèi) 通過(guò)Web服務(wù)器管理員對(duì)于本應(yīng)用的QoS配置信息,實(shí)現(xiàn)分類(lèi)標(biāo)準(zhǔn)的定制和實(shí)時(shí)生效,達(dá)到區(qū)分請(qǐng)求的效果。 4)準(zhǔn)入控制 對(duì)進(jìn)入到各個(gè)優(yōu)先級(jí)隊(duì)列的請(qǐng)求進(jìn)行過(guò)濾。 5)隊(duì)列長(zhǎng)度控制 首先,根據(jù)由各隊(duì)列長(zhǎng)度表現(xiàn)出來(lái)的服務(wù)器的負(fù)載情況,選擇性地使請(qǐng)求通過(guò)從而達(dá)到保證排隊(duì)長(zhǎng)度穩(wěn)定的目的;然后在多個(gè)優(yōu)先級(jí)隊(duì)列向處理后的隊(duì)列輸送請(qǐng)求時(shí),進(jìn)行調(diào)度和選擇。 4.2 Web自適應(yīng)模塊 6)負(fù)載監(jiān)視器 測(cè)量當(dāng)前的請(qǐng)求速率和交付帶寬,然后將它轉(zhuǎn)換成利用率值U。 7)利用率控制器 將期望的服務(wù)器利用率U與U進(jìn)行比較,計(jì)算出需要的自適應(yīng)程度G。 8)內(nèi)容自適應(yīng)器 它解釋G,然后通過(guò)修改URL地址,相應(yīng)地降級(jí)或拒絕一定數(shù)量的請(qǐng)求。而Web服務(wù)器則使用被內(nèi)容自適應(yīng)器修改了的URL地址。 4.3 QoS適配模塊 9)QoS適配器 負(fù)責(zé)將Web服務(wù)器的TCP Socket調(diào)用映射成對(duì)QoS函數(shù)庫(kù)的響應(yīng)調(diào)用。這些函數(shù)使得Web服務(wù)器從優(yōu)先級(jí)隊(duì)列中而不是從TCP隊(duì)列中接收新到的請(qǐng)求。 5 結(jié)束語(yǔ) 本文以保證用戶的Web QoS為目的,為Web請(qǐng)求提供區(qū)分服務(wù),從而實(shí)現(xiàn)了高優(yōu)先級(jí)的客戶擁有更高的服務(wù)質(zhì)量。文中著重介紹了QoS保證方法中的隊(duì)列長(zhǎng)度反饋控制和內(nèi)容自適應(yīng)兩種,并對(duì)現(xiàn)有方法進(jìn)行了改進(jìn)從而提高QoS保證的準(zhǔn)確性。在以上研究的基礎(chǔ)上,本文設(shè)計(jì)了一種基于內(nèi)容自適應(yīng)的Web QoS反饋控制系統(tǒng),并給出了系統(tǒng)的具體框架設(shè)計(jì),對(duì)保證Web服務(wù)器的服務(wù)質(zhì)量起到一定的作用。 進(jìn)一步的研究工作包括:a)實(shí)現(xiàn)其他Web QoS保證方法,提供更全面的Web QoS保證支持;b)將單個(gè)計(jì)算機(jī)上運(yùn)行的系統(tǒng)擴(kuò)展到服務(wù)器集群當(dāng)中,為集群提供QoS保證。 參考文獻(xiàn): [1]單志廣,林闖,肖人毅,等. Web QoS 控制研究綜述[J]. 計(jì)算機(jī)學(xué)報(bào),2004,27(2):145-146. [2]BHATTI N, FRIEDRICH R. Web server support for tiered services[J]. IEEE Network ,1999,13(5):64-71. [3]CHERKASOVA L, PHAAL P. Session-based admission control:a mechanism for improving the performance of an overloaded server, HPL2982119[R].[S.l.]:HP Labs, 1998. [4]ABDELZAHER T F, BHATTI N. Web server QoS management by adaptive content delivery[C]//Proc of the 7th International Workshop on QoS. 1999:216-225. [5]LU Chen-yang, ABDELZAHER T F, STANKOVIC J A, et al. A feedback control approach for guaranteeing relative delays in Web servers[C]//Proc of IEEE Real-time Technology and Applications Symposium. Washington DC:IEEE Computer Society, 2001:51-62. [6]ALEMEIDA J, DABU M, MANIKUTTY A, et al. Providing differentiated level of service in Web content hosting[C]//Proc of 1998 SIGMETRICS Workshop on Internet Server Performance. Piscataway, New Jersey:[s.n.], 1998:91-102. [7]CROVELLA M E, FRANGIOSO R, HARCHOL-BALTER M. connection scheduling in Web servers[C]//Proc of the 2nd Conference on USENIX Symposium on Internet Technology and Systems (USITS99). Berkeley,CA:USENIX Association,1999:243-254. [8]HARCHOL-BALTER M, BANSAL N, SCHROEDER B, et al. Implementation of SRPT scheduling in Web servers, technical report CMU2CS2002170[R]. Pittsburgh: Carnegie Mellon University, 2000. [9]BANSAL N, HARCHOL-BALTER M. Analysis of SRPT scheduling : investigating unfairness[C]//Proc of ACM Sigmetrics 2001 Confe-rence on Measurement and Modeling of Computer Systems. New York:ACM Press, 2001:279-290. [10]李玉惠,晉帆. 自動(dòng)控制原理[M].北京:清華大學(xué)出版社, 2008:9-10. [11]BHOJ P,RAMANATHAN S,SINGHAL S. Web2K:bringing QoS to Web servers, technical report HPL-2000-61[R]. [S.l.]:HP Lab, 2000. [12]LIU J W S, SHIH W K, LIN K J, et al. Imprecise computations[J]. Proceedings of The IEEE, 1994,82(1):83-94. [13]于國(guó)防,王耀才.基于內(nèi)容自適應(yīng)的Web QoS提升技術(shù)研究[J].計(jì)算機(jī)工程與應(yīng)用,2006,42(12):156-158.