許林園
(江蘇省廣電有線信息網(wǎng)絡(luò)股份有限公司 連云港分公司,江蘇 連云港 222005)
廣播電視網(wǎng)絡(luò)為用戶提供了豐富的視頻內(nèi)容,既有實時的各個電視臺的播出信號,也包含有存儲在服務(wù)器集群中的視頻錄像,用戶可以通過機(jī)頂盒實現(xiàn)視頻的點播。隨著廣電網(wǎng)絡(luò)中用戶數(shù)量的日益增長,對服務(wù)器的處理要求也越來越高。如果要提高用戶的忠誠度、減少客戶的流失、保證收視率,服務(wù)質(zhì)量(quality of service,QoS)就顯得非常重要。QoS控制技術(shù)是目前網(wǎng)絡(luò)的核心技術(shù)之一,很多科研工作者一直在致力于這方面的研究。通常情況下,QoS強(qiáng)調(diào)的是網(wǎng)絡(luò)邊界到邊界或者是端到端的整體服務(wù)水平,描述的主要指標(biāo)是帶寬、吞吐量、延遲等等。
目前廣電網(wǎng)絡(luò)基本實現(xiàn)了光纖覆蓋,從單向的數(shù)據(jù)傳輸發(fā)展到了雙向的寬帶交互式數(shù)據(jù)網(wǎng)絡(luò)。針對視頻點播逐漸轉(zhuǎn)移到TVOD(true video on demand)上來,用戶通過網(wǎng)絡(luò)向前端發(fā)出請求,當(dāng)用戶的請求較多時,服務(wù)器的響應(yīng)時間就會延長,在極端的情況下,用戶的服務(wù)可能會被拒絕。這種情況會使用戶的觀感受到極大的影響,再次嘗試如果仍被拒絕,那么用戶可能就會放棄使用,這對用戶的忠誠度影響極大。
近年來,在提高和保證QoS的研究中,將控制理論引入QoS成為學(xué)者們的研究熱點。文獻(xiàn)[1]提出了根據(jù)用戶的需求偏好信息處理策略來提高QoS;文獻(xiàn)[2]中提出了將tomcat 網(wǎng)絡(luò)服務(wù)器近似擬合為一個線性時不變(linear time-invariant,LTI) 的控制系統(tǒng),然后加入比例積分(proportional-integral,PI) 反饋控制方法;文獻(xiàn)[3]的作者建立了一個自適應(yīng)的服務(wù)器環(huán)境,根據(jù)不同的請求服務(wù)提供不同的延時保障。本文提出一種隨機(jī)控制策略周期的監(jiān)控網(wǎng)絡(luò)前端發(fā)往服務(wù)器的請求,根據(jù)服務(wù)器的負(fù)載觀測值和期望值之間的誤差,以及保存在數(shù)據(jù)庫中的歷史誤差,通過BP神經(jīng)網(wǎng)絡(luò)來整定負(fù)載比例積分微分(proportion integral derivative,PID)控制,實現(xiàn)了準(zhǔn)入的PID控制,取得服務(wù)器的較好負(fù)載均衡。
常用的模擬控制系統(tǒng)中,PID控制應(yīng)用非常廣泛。控制系統(tǒng)通常由模擬PID控制器和被控對象組成,其控制規(guī)律為
(1)
式中:Kp為比例系數(shù),Ti為積分時間系數(shù),Td為微分時間系數(shù)[4]。
將式(1)進(jìn)行數(shù)字離散化,得數(shù)字控制規(guī)律為
u(k)=u(k-1)+
Kp[e(k)-e(k-1)]+
Tie(k)+
Td[e(k)-2e(k-1)+e(k-2)]。
(2)
數(shù)字PID控制器的設(shè)計中,核心問題是比例、積分和微分系數(shù)的選擇[5]。
本文采用的BP網(wǎng)絡(luò)是3層的前饋階層網(wǎng)絡(luò),分別是輸入層、隱含層和輸出層。輸入單元與隱含單元,隱含單元與輸出單元之間,相互連接間具有相應(yīng)連接權(quán),其結(jié)構(gòu)如圖1所示[6]。圖中的輸入層單元的個數(shù)n=3,中間層單元的個數(shù)為p,q為輸出層單元的個數(shù)。使用具有局部接收域性質(zhì)的非線性函數(shù)為隱含層神經(jīng)元激活函數(shù),隱含層到輸入層之間的權(quán)重為ω,隱含層和輸出層之間為線性組合關(guān)系,權(quán)重為V。
圖1 BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)圖
基于神經(jīng)網(wǎng)絡(luò)的PID服務(wù)器負(fù)載控制系統(tǒng)的結(jié)構(gòu)如圖2所示。
圖2 服務(wù)器負(fù)載控制系統(tǒng)結(jié)構(gòu)
在神經(jīng)網(wǎng)絡(luò)中,BP神經(jīng)網(wǎng)絡(luò)具有的任意非線性逼近能力比較強(qiáng),并且結(jié)構(gòu)比較簡單、學(xué)習(xí)速度也比較快。服務(wù)器負(fù)載觀測值和期望值之間的誤差以及保存在數(shù)據(jù)庫中的歷史誤差可以作為算法學(xué)習(xí)以及BPNN(BP neural network)的輸入?yún)?shù),被控制的對象可以由PID控制器直接進(jìn)行閉環(huán)控制,對Kp,Ti和Td等參數(shù)進(jìn)行在線整定。BPNN可以根據(jù)服務(wù)器負(fù)載的運行狀態(tài),實時地調(diào)節(jié)PID控制器的Kp,Ti以及Td等參數(shù),最后達(dá)到服務(wù)器負(fù)載性能指標(biāo)的最優(yōu)化。
BP神經(jīng)網(wǎng)絡(luò)是多前向網(wǎng)絡(luò),由3層構(gòu)成,包括輸入節(jié)點、隱層節(jié)點和輸出節(jié)點3部分,對于視頻處理可以選擇3—4—3網(wǎng)絡(luò)。BP標(biāo)準(zhǔn)算法的修正過程容易使學(xué)習(xí)的過程發(fā)生振蕩,收斂速度比較慢,所以必須對算法進(jìn)行歸一化處理,加快網(wǎng)絡(luò)學(xué)習(xí)的速度。BP網(wǎng)絡(luò)輸出節(jié)點對應(yīng)PID控制器的3個整定參數(shù)Kp,Ti以及Td,隱含層神經(jīng)元的活化函數(shù)可以取正負(fù)對稱的Sigmoid函數(shù)。輸出層神經(jīng)元的活化函數(shù)由于Kp,Ti以及Td不能為負(fù)值,所以要取正的Sigmoid函數(shù)。
在BP網(wǎng)絡(luò)算法中,要不斷通過調(diào)整權(quán)值進(jìn)行學(xué)習(xí),逐漸減小學(xué)習(xí)率是BP算法中一種可行的方法,實現(xiàn)的公式為
δ(k)=e-λδ(k-1),
(3)
其中,k為迭代的次數(shù),λ取值范圍在0.001≥λ≥0.000 1。由于學(xué)習(xí)速率的比例系數(shù)固定,在反饋誤差值減小的情況下,就停止學(xué)習(xí)速率的降低,采用式(4)的模型。
(4)
如果在反饋的誤差值下降幅度較大時,認(rèn)為該學(xué)習(xí)速率比較合適,不需要更改學(xué)習(xí)速率,保持原值即可。
控制服務(wù)器前端的請求首先進(jìn)入到請求接納器中,服務(wù)器根據(jù)PID調(diào)節(jié)器的輸出結(jié)果對請求進(jìn)行處理,基于BP神經(jīng)網(wǎng)絡(luò)服務(wù)器負(fù)載PID請求控制算法步聚如下。
(5)
(2) 根據(jù)服務(wù)器的負(fù)載請求,確定δ(k)和y(k),計算
e(k)=δ(k)-y(k)。
(3) 網(wǎng)絡(luò)參數(shù)歸一化處理,反饋回網(wǎng)絡(luò)。
(4) 網(wǎng)絡(luò)學(xué)習(xí)計算輸出PID控制所需的參數(shù)Kp,Ti和Td。
(5) 控制器輸出至Web服務(wù)器,結(jié)合服務(wù)請求接納器的輸出,得到網(wǎng)絡(luò)服務(wù)實際延遲比y(k)。
(6) 反饋修正神經(jīng)網(wǎng)絡(luò)輸出層的加權(quán)系數(shù)。
(7) 修正輸出,延遲比y(k)是否小于設(shè)定值,不滿足,返回(3)修正;滿足停止學(xué)習(xí)。
根據(jù)視頻服務(wù)器的工作環(huán)境,采用3臺PC作為客戶端,1臺作為服務(wù)器,所有計算機(jī)均為Pentium Core2 2.8 GHz,2 GB內(nèi)存,連接到100 Mb/s Ethernet實驗網(wǎng)絡(luò)中。視頻服務(wù)器使用Apache Tomcat7.0,客戶端使用Ubuntu10.04,Httperf產(chǎn)生網(wǎng)絡(luò)視頻服務(wù)請求,請求超時時間設(shè)定為30 ms,如果在30 ms內(nèi)一個服務(wù)請求未得到響應(yīng),則認(rèn)為請求失敗。
圖3給出了采用原始的請求控制方法和采用基于BP神經(jīng)網(wǎng)絡(luò)的PID算法后二者響應(yīng)時間的比較,圖4給出了采用原始請求控制方法和采用基于BP神經(jīng)網(wǎng)絡(luò)的PID算法后二者的出錯率對比。由圖3和圖4看出,當(dāng)視頻服務(wù)器收到的請求超過30次/s后,原始請求的算法響應(yīng)時間和出錯率顯著增加,而采用基于BP神經(jīng)網(wǎng)絡(luò)的PID算法以后服務(wù)性能變化就不大,出錯率也能夠控制在10%以內(nèi)。實驗結(jié)果充分說明,在視頻服務(wù)器請求超過100次/s,負(fù)載較為嚴(yán)重時,基于BP神經(jīng)網(wǎng)絡(luò)的PID算法仍然能夠提供較好的服務(wù)處理能力,很好地保障了服務(wù)質(zhì)量。
圖3 響應(yīng)時間對比
圖4 出錯率對比
網(wǎng)絡(luò)環(huán)境是復(fù)雜多變的,具有不確定性,本文只定性的介紹了基于BP神經(jīng)網(wǎng)絡(luò)的PID控制方法解決視頻服務(wù)器的QoS問題,得到了一種較好的解決方案,同樣可以推廣到網(wǎng)絡(luò)中的Web服務(wù)器中。
參考文獻(xiàn):
[1] 梁泉,王元卓.網(wǎng)絡(luò)計算環(huán)境下QoS 偏好的處理策略及其應(yīng)用[J].計算機(jī)應(yīng)用,2009,29(6):1502-1505.
[2] 江瀅,孟丹.基于接納時間比控制和比例積分調(diào)節(jié)器的接納控制機(jī)制[J].計算機(jī)研究與發(fā)展,2007,44(1):65-70.
[3] LU Chunyang, LU ying, ABDELZAHER T F. Feedback control architecture and design methodology for service delay guarantees in web servers[J]. IEEE Transactions on Parallel and Distributed Systems, 2006, 17(9): 1014-1027.
[4] 王偉,張晶濤,柴天佑.PID參數(shù)先進(jìn)整定方法綜述[J].自動化學(xué)報,2000,26(3):347-355.
[5] 陳書謙,張麗虹.BP神經(jīng)網(wǎng)絡(luò)在PID控制器參數(shù)整定中的應(yīng)用[J].計算機(jī)仿真,2010,27(10):171-174.
[6] 王敬志,任開春,胡斌.基于 BP 神經(jīng)網(wǎng)絡(luò)整定的 PID 控制[J].工業(yè)控制計算機(jī),2011,24(3):72-73.
[7] QING S H. Formal analysis of authentication protocols[J]. Jounral of Software, 2008(7): 107-114.
[8] ARBAUG W A, SHANKAR N, WAN Y J. Wireless network has no clothes[J]. IEEE Wireless Communications, 2007, 9(6): 44-51.
[9] SOLINAS J A. Improved Algorithms for Arithmetic on Anomalolls Binary Curves[R]. Waterloo: University of Waterloo, 1999.
[10] 陳曉琳.BP神經(jīng)網(wǎng)絡(luò)算法在傳輸網(wǎng)絡(luò)系統(tǒng)QoS中的應(yīng)用研究[D].武漢:湖北大學(xué),2012.
[11] 侯亞麗,李鐵基.LM優(yōu)化算法的BP神經(jīng)網(wǎng)絡(luò)目標(biāo)識別方法[J].探測與控制學(xué)報,2008,33(1):54-57.