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