楊美艷
(天津科技大學(xué) 人工智能學(xué)院, 天津 300457)
無線傳感器網(wǎng)絡(luò)(WSNs)具有規(guī)模大、動態(tài)性強、自組織網(wǎng)絡(luò)的特性[1],是當(dāng)前普遍使用的主要網(wǎng)絡(luò)結(jié)構(gòu)之一.隨著WSNs應(yīng)用范圍的擴展以及應(yīng)用率的提升,網(wǎng)絡(luò)負(fù)擔(dān)急速提升.由于WSNs內(nèi)包含大量節(jié)點,各節(jié)點緩存資源受限[2],且網(wǎng)絡(luò)整體帶寬較小,結(jié)合WSNs網(wǎng)絡(luò)獨特的多對一通信模式,極易造成數(shù)據(jù)幀堆積在節(jié)點緩沖區(qū)中,形成網(wǎng)絡(luò)擁塞問題,導(dǎo)致數(shù)據(jù)包丟失以及網(wǎng)絡(luò)吞吐量下降等問題[3],降低WSNs應(yīng)用性能.因此,研究一種有效的WSNs擁塞控制方法具有重要意義.
當(dāng)前相關(guān)領(lǐng)域?qū)<宜芯砍鰜淼膿砣刂品椒ù蠖嘁許DN(軟件定義網(wǎng)絡(luò))數(shù)據(jù)中心網(wǎng)絡(luò)為核心實現(xiàn)網(wǎng)絡(luò)擁塞控制[4].WSNs擁塞在整體上可分為節(jié)點級擁塞與鏈路級擁塞兩種類型,前種擁塞描述的是節(jié)點發(fā)生的流量信息高于自身能力,造成緩存過量與數(shù)據(jù)丟失等問題;后種擁塞描述的是若干個節(jié)點通過使用一個無線信道時,由訪問沖突形成的鏈路利用率與吞吐量下降等問題[5].以SDN數(shù)據(jù)中心網(wǎng)絡(luò)為核心的控制方法只考慮節(jié)點擁塞的控制,對鏈路擁塞的控制效果并不顯著.
基于計算機科學(xué)的數(shù)據(jù)驅(qū)動控制是一種全新的控制理念[6],是控制器控制設(shè)計過程中忽略數(shù)學(xué)模型信息,僅考慮受控系統(tǒng)離線與在線I/O數(shù)據(jù)與數(shù)據(jù)處理所得信息,同時基于相應(yīng)的假定條件實現(xiàn)的一種有效的控制方法[7].針對WSNs節(jié)點與鏈路的雙重?fù)砣麊栴},將數(shù)據(jù)驅(qū)動控制理念應(yīng)用其中,提出基于數(shù)據(jù)驅(qū)動的WSNs擁塞控制方法,實現(xiàn)MAC層與數(shù)傳層相結(jié)合的跨層擁塞控制.
在WSNs內(nèi)監(jiān)察到附近節(jié)點傳輸數(shù)據(jù)時,利用被動監(jiān)察的方式判斷WSNs擁塞情況[8].以傳輸節(jié)點A為例進行說明,在其正常傳輸數(shù)據(jù)幀功能的基礎(chǔ)上,具有被動監(jiān)察附近節(jié)點傳輸數(shù)據(jù)幀的功能,可確定這些數(shù)據(jù)幀的傳輸節(jié)點地址,判斷傳輸節(jié)點的活躍度,以此確定節(jié)點的擁塞情況,詳細過程描述如下:
1) 傳輸節(jié)點A正常傳輸數(shù)據(jù),同時監(jiān)察附近節(jié)點傳輸?shù)臄?shù)據(jù)幀,分析其數(shù)據(jù)幀的傳輸節(jié)點地址.MB(A)表示Ts時間內(nèi)節(jié)點A監(jiān)察到某節(jié)點傳輸數(shù)據(jù)幀的數(shù)量,在設(shè)定時間Ts內(nèi),每確定節(jié)點B輸出的數(shù)據(jù)幀,則MB(A)值加1.
3) 節(jié)點A利用式(1)確定最近一個Ts時間內(nèi)監(jiān)察到的附近節(jié)點傳輸數(shù)據(jù)幀次數(shù)均值為
(1)
式中,m為數(shù)據(jù)幀傳輸節(jié)點數(shù)量整體值.
4) 由于WSNs內(nèi)節(jié)點擁塞的主要原因為網(wǎng)絡(luò)狀態(tài)的不間斷性與其他節(jié)點對擁塞問題的處理能力[9],因此,分別分析節(jié)點與自身歷史狀態(tài)相比的活躍度ξhB(A)和與其他節(jié)點相比的活躍度ξrB(A),其表達式為
(2)
(3)
5) 對ξhB(A)和ξrB(A)實施歸一化處理,通過式(4)表示利用節(jié)點A判斷的節(jié)點B擁堵度量化值φB(A),即
(4)
在φB(A)值大于1的條件下,可定義節(jié)點B未處于擁塞狀態(tài);在φB(A)值小于1的條件下,可定義節(jié)點B處于擁塞狀態(tài),且其值越小,說明節(jié)點擁塞狀態(tài)越嚴(yán)重[10].針對存在擁塞狀態(tài)的節(jié)點,利用離散滑模擁塞控制器進行擁塞控制.
1.2.1 離散指數(shù)趨近率
離散指數(shù)趨近率s(k)計算公式為
ps(k)
(5)
1.2.2 自適應(yīng)離散滑模控制器設(shè)計
由于WSNs具有顯著的復(fù)雜性與時變性[11],因此,在設(shè)計控制器完成其擁塞控制過程中引入滑??刂评碚?為了確保達到滑動模面上的滑模運行趨于平穩(wěn)[12],令路由器的隊列長度達到期望值標(biāo)準(zhǔn),控制器離散滑模面可表示為
s(k)=Le(k)
(6)
式中:L為0~1之間的值;e(k)為誤差.
根據(jù)霍爾維茲多項式標(biāo)準(zhǔn)的定義,判斷其是否符合霍爾維茲多項式標(biāo)準(zhǔn)[13].在WSNs處于一階狀態(tài)時,L值為0,預(yù)期誤差為
e(k)=Xd-X(k)
(7)
式中,Xd和X(k)分別為預(yù)期輸出與實際輸出.
二階離散WSNs狀態(tài)方程為
X(k+1)=aX(k)+bU(k)
(8)
式中:U(k)為節(jié)點在k時刻的離散滑??刂坡桑籥和b為常數(shù)項.
(9)
針對離散滑模擁塞控制器,根據(jù)節(jié)點間的關(guān)聯(lián)性設(shè)計基于數(shù)據(jù)驅(qū)動的控制策略[14].若WSNs內(nèi)兩個不同節(jié)點傳輸?shù)臄?shù)據(jù)幀同時占用同一信道(即鏈路擁塞),參考數(shù)據(jù)驅(qū)動理論,依照優(yōu)先傳輸節(jié)點輸出流量小的數(shù)據(jù)幀,輸出流量相對較大的數(shù)據(jù)幀就近選取其他信道進行傳輸.
1.3.1 節(jié)點獨立
在WSNs內(nèi)節(jié)點間不存在關(guān)聯(lián)的條件下,節(jié)點的輸出可描述為
(10)
式中:X(k+1)=(X1(k+1),X2(k+1))T;Δu(k)=(u1(k)-u1(k-1),u2(k)-u2(k-1));δ1(k)與δ2(k)為WSNs的偽偏導(dǎo)數(shù).
在此條件下,令WSNs輸出與預(yù)期輸出一致,離散滑模擁塞控制器控制策略為
(11)
在式(11)的控制策略下能夠?qū)崿F(xiàn)WSNs實際輸出與預(yù)期輸出的跟蹤,使曲線傳感器網(wǎng)絡(luò)達到平穩(wěn)狀態(tài),不會形成擁塞問題.
1.3.2 節(jié)點關(guān)聯(lián)
在WSNs內(nèi)節(jié)點間存在關(guān)聯(lián)的條件下,節(jié)點的輸出可描述為
(12)
式中:σ12和σ21為常數(shù);δ1(k)δ2(k)≠σ12σ21.在此條件下,令WSNs輸出與預(yù)期輸出一致,離散滑模擁塞控制器控制策略為
(13)
在上述控制策略下,WSNs不會產(chǎn)生節(jié)點級與鏈路級擁塞.
為了驗證基于數(shù)據(jù)驅(qū)動的WSNs擁塞控制方法的應(yīng)用效果,以圖1中的WSNs結(jié)構(gòu)為測試對象,針對瓶頸節(jié)點7,利用本文方法與傳統(tǒng)方法對其進行擁塞控制,驗證本文方法的應(yīng)用效果.
圖1 測試對象拓?fù)浣Y(jié)構(gòu)Fig.1 Test object topology
圖2為測試對象節(jié)點7內(nèi)數(shù)據(jù)隊列在240 s內(nèi)的波動情況.分析可知,采用本文方法進行擁塞控制前,該節(jié)點內(nèi)數(shù)據(jù)隊列長波波動較為顯著,說明該節(jié)點的運行處于不穩(wěn)定狀態(tài);采用傳統(tǒng)方法進行擁塞控制后,節(jié)點內(nèi)數(shù)據(jù)隊列長度波動有所改善,但該節(jié)點運行仍處于不穩(wěn)定狀態(tài);采用本文方法進行擁塞控制后,節(jié)點內(nèi)數(shù)據(jù)隊列長度波動平緩,說明該節(jié)點處于穩(wěn)定運行狀態(tài).由此可知,采用本文方法進行節(jié)點擁塞控制更能降低節(jié)點內(nèi)數(shù)據(jù)隊列長度的波動性,令節(jié)點正常運行.
圖2 節(jié)點隊列變化Fig.2 Node queue variation
圖3為采用本文方法控制前后,測試對象節(jié)點7的數(shù)據(jù)吞吐量變化情況.采用本文方法控制節(jié)點擁塞情況后測試對象節(jié)點的吞吐量與采用本文方法前及經(jīng)傳統(tǒng)方法控制后相比均顯著提升,采用本文方法進行測試對象節(jié)點擁塞控制更能顯著提升節(jié)點的數(shù)據(jù)傳輸能力.這是由于采用本文方法進行節(jié)點擁塞控制后,數(shù)據(jù)傳輸?shù)拇翱诔叽缣嵘虼?,單位時間內(nèi)數(shù)據(jù)傳輸量提升.
圖3 吞吐量變化Fig.3 Throughput variation
圖4為采用本文方法進行節(jié)點信道擁塞控制前后,節(jié)點信道擁塞標(biāo)記概率的變化情況.由圖4可知,未采用任何方法進行節(jié)點擁塞控制前,在節(jié)點信道擁塞條件下,其余節(jié)點受網(wǎng)絡(luò)整體狀態(tài)影響顯著,因此節(jié)點數(shù)據(jù)傳輸信道被標(biāo)記的概率具有顯著的隨機性與概率性.采用傳統(tǒng)方法進行節(jié)點擁塞控制后,節(jié)點數(shù)據(jù)傳輸信道被標(biāo)記的概率的隨機性與概率性有所改善,但效果并不理想.采用本文方法進行節(jié)點擁塞控制后,節(jié)點數(shù)據(jù)傳輸信道被標(biāo)記的概率具有較強一致性,擁塞控制概率約為4.5%,優(yōu)于傳統(tǒng)方法,這是由于采用本文方法控制后,節(jié)點擁塞現(xiàn)象被有效解決,其余節(jié)點不受該節(jié)點擁塞問題影響,沒有被標(biāo)記,因此,測試對象內(nèi)節(jié)點數(shù)據(jù)傳輸信道被標(biāo)記的概率具有較強一致性.
圖4 節(jié)點信道擁塞標(biāo)記率變化Fig.4 Mark rate variation of node channel congestion
圖5為本文方法中控制器的滑模自適應(yīng)律曲線.由圖5可知,相比傳統(tǒng)方法,本文方法設(shè)計的控制器能更好地跟蹤目標(biāo)值,響應(yīng)時間更快,可控制在100 ms左右,并且不存在顯著抖動,能較好地實現(xiàn)測試目標(biāo)擁塞控制.
圖5 滑模自適應(yīng)律曲線Fig.5 Curves of sliding mode adaptive law
隨著WSNs應(yīng)用范圍的擴展,人們對WSNs的應(yīng)用性能提出更高要求.網(wǎng)絡(luò)擁塞是WSNs應(yīng)用過程中普遍存在的問題,因此針對該問題的解決方案研究極為重要.本文研究基于數(shù)據(jù)驅(qū)動的WSNs擁塞控制方法,以此解決WSNs內(nèi)節(jié)點與鏈路的擁塞問題.測試結(jié)果顯示,本文方法可有效降低節(jié)點內(nèi)數(shù)據(jù)隊列長度的波動性,提升單位時間內(nèi)數(shù)據(jù)傳輸量,使節(jié)點信道擁塞標(biāo)記率控制在4.5%左右,具有一致性,響應(yīng)時間控制在100 ms左右,可顯著提升WSNs的應(yīng)用性能.