無線傳感網(wǎng)smac協(xié)議的雙因子自適應(yīng)競爭窗口調(diào)整方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及無線傳感網(wǎng)絡(luò)通信技術(shù)領(lǐng)域,更具體地,涉及一種無線傳感網(wǎng)SMAC協(xié) 議的雙因子自適應(yīng)競爭窗口調(diào)整方法。
【背景技術(shù)】
[0002] 無線傳感器網(wǎng)絡(luò)(WirelessSonsorNetwork,WSN)是一種將數(shù)量龐大的微型傳感 器節(jié)點無規(guī)則地部署在一定的地理區(qū)域或者特定的監(jiān)控區(qū)域所形成的無線網(wǎng)絡(luò)。網(wǎng)絡(luò)中的 每個節(jié)點都具有無線收發(fā)、計算處理的功能,節(jié)點間以無線通信互連和多跳傳輸數(shù)據(jù),形成 一個無中心、靈活組網(wǎng)的自組織網(wǎng)絡(luò),經(jīng)常用于在無人值守的監(jiān)控區(qū)域內(nèi)將對象的信息通 過節(jié)點間的協(xié)助感知、采集和處理,數(shù)據(jù)經(jīng)過融合后發(fā)給管理節(jié)點。當(dāng)前,作為WSN關(guān)鍵技 術(shù)的網(wǎng)絡(luò)通信協(xié)議,數(shù)據(jù)鏈路層MAC(MediaAccessControl)協(xié)議成為其重點研究的內(nèi)容 之一。在實際應(yīng)用中,能耗效率也已經(jīng)成為了WSN中MAC協(xié)議最主要的設(shè)計目標(biāo)。因此針 對于WSN傳感器節(jié)點資源的有限性,如何設(shè)計一個提高整體網(wǎng)絡(luò)能耗效率的MAC協(xié)議具有 非常重要的意義。
[0003] 無線傳感網(wǎng)媒體訪問控制協(xié)議SMAC(sensorMAC)的設(shè)計思想是以最小化能耗為 主要的考慮因素,而為了使節(jié)點獲得更長的生存時間,無線傳感網(wǎng)絡(luò)中的一些應(yīng)用會適當(dāng) 犧牲MAC協(xié)議的網(wǎng)絡(luò)吞吐量、時延等性能指標(biāo),而且SMAC雖然采取了周期的偵聽睡眠,自 適應(yīng)偵聽、串?dāng)_避免等多個機制減少了能量的消耗,但SMAC協(xié)議的許多機制的考量比較僵 硬化,不能很好的應(yīng)對實時變化的動態(tài)網(wǎng)絡(luò),在節(jié)省能量的同時也產(chǎn)生一系列相應(yīng)的問題。 因為SMAC協(xié)議是采取固定的同步周期長度的同步機制和具有固定競爭窗口的隨機退避機 制,因而不能根據(jù)網(wǎng)絡(luò)的實時狀態(tài)進(jìn)行相對的調(diào)整,僵硬化地應(yīng)對網(wǎng)絡(luò)的擁塞情況,從而造 成網(wǎng)絡(luò)的吞吐量減少,時延和能耗的增加。
【發(fā)明內(nèi)容】
[0004] 本發(fā)明為克服上述現(xiàn)有技術(shù)存在的網(wǎng)絡(luò)的吞吐量少、時延和能耗高的缺陷,提供 一種吞吐量多、時延和能耗低的無線傳感網(wǎng)SMAC協(xié)議的雙因子自適應(yīng)競爭窗口調(diào)整方法。
[0005] 為解決上述技術(shù)問題,本發(fā)明的技術(shù)方案如下:
[0006] -種無線傳感網(wǎng)SMAC協(xié)議的雙因子自適應(yīng)競爭窗口調(diào)整方法,所述方法包括具 體步驟:
[0007] S1 :計算無線傳感器網(wǎng)絡(luò)中各個節(jié)點的沖突空閑比cf(collisionfreerate)的 值,判斷信道狀態(tài),用以自適應(yīng)調(diào)整競爭窗口,沖突空閑比cf指的是在一個同步周期內(nèi),節(jié) 點在網(wǎng)絡(luò)數(shù)據(jù)傳輸過程中出現(xiàn)沖突的平均時長tral和處于空閑的平均時長tf_的比值,即 cf= tfree
[0008] S2 :根據(jù)節(jié)點的沖突空閑比cf?判斷節(jié)點信道使用情況,并根據(jù)節(jié)點信道使用情況 調(diào)整競爭窗口;
[0009] S3 :根據(jù)節(jié)點占用信道總時長和其他節(jié)點占用信道的總時長t 調(diào)整競爭窗 P;
[0010] S4 :根據(jù)節(jié)點占用信道比重Co(nodechanneloccupancyrate)對該節(jié)點的競爭 窗口進(jìn)行微調(diào),其中C〇 = L〇-ther
[0011] 在一種優(yōu)選的方案中,步驟S1中,計算無線傳感器網(wǎng)絡(luò)中各個節(jié)點的沖突空閑比 Cf的值的具體方法包括以下步驟:
[0012] S101 :將無線傳感器網(wǎng)絡(luò)中的各個節(jié)點初始化;
[0013] S102:判斷虛擬簇內(nèi)一個同步周期長度是否結(jié)束,若未結(jié)束,則累加本周期當(dāng)前隊 列中數(shù)據(jù)包的緩存,用于一個周期結(jié)束后計算平均的隊列緩存長度;否則,發(fā)送SYNC包以 喚醒節(jié)點,并自適應(yīng)調(diào)整同步周期長度;
[0014] S103 :計算沖突空閑比cf的值,判斷信道狀態(tài),用以自適應(yīng)調(diào)整競爭窗口,cf的計 算公式為:
[0018] 其中,CfMtaS沖突空閑比中間值,0為影響因子,表示歷史環(huán)境對于參數(shù)值的影 響程度,syncperiod表示同步周期,表示第n次傳輸?shù)臎_突空閑比中間值,表示第 n次傳輸中出現(xiàn)沖突的平均時長,表示第n次傳輸中空閑的平均時長。
[0019] 引入影響因子0,可以通過人為設(shè)定調(diào)整0的大小來決定歷史環(huán)境對于參數(shù)值 的影響程度,沖突空閑比中間值cfm(;ta通過對0值進(jìn)行加權(quán)計算,能夠更好的權(quán)衡當(dāng)前傳輸 與前幾次傳輸之間的影響程度。為了避免傳感網(wǎng)絡(luò)中由于節(jié)點競爭窗口的不斷改變而產(chǎn)生 較大的網(wǎng)絡(luò)波動,自適應(yīng)競爭窗口的調(diào)節(jié)會在一個同步周期結(jié)束之后。所以,節(jié)點在一個完 整的網(wǎng)絡(luò)數(shù)據(jù)傳輸過程中會統(tǒng)計tf_和tOTl等數(shù)值,直到出現(xiàn)三種情況:節(jié)點在接收到最后 一個分段的確認(rèn)字符ACK(Acknowledgement)、請求發(fā)送報文RTS(RequestToSend)已經(jīng)達(dá) 到最大的重傳次數(shù)、數(shù)據(jù)報文DATA已經(jīng)達(dá)到了最大的重傳次數(shù),之后需要tf_和tral來計 算沖突空閑比的中間值在網(wǎng)絡(luò)數(shù)據(jù)完整傳輸過程中要進(jìn)行統(tǒng)計各種時間參數(shù),在每 次網(wǎng)絡(luò)數(shù)據(jù)完整傳輸過程中進(jìn)行統(tǒng)計tf_、tral、t_、等數(shù)值,統(tǒng)計出沖突空閑比cf,來 判斷信道狀態(tài),進(jìn)而自適應(yīng)調(diào)整競爭窗口值。
[0020] 在一種優(yōu)選的方案中,步驟S2中,根據(jù)節(jié)點信道使用情況調(diào)整競爭窗口的具體方 法包括以下步驟:
[0021] S201 :判斷沖突空閑比cf> =B+co是否成立,若成立,則說明信道擁塞,CW_data =int(min(CW_data* (a+ 0 ),CWmax)),其中,CW_data表不競爭窗口,CWmax表不競爭窗口 的最大值,B為網(wǎng)絡(luò)比較擁塞且沖突幾率較大時的閾值,co為平滑網(wǎng)絡(luò)抖動的調(diào)節(jié)因子,a 為固定取值的調(diào)節(jié)因子,網(wǎng)絡(luò)負(fù)載越大,a取值越大,跳轉(zhuǎn)到步驟S3;若不成立,則跳轉(zhuǎn)到 步驟S202 ;
[0022] 為均衡網(wǎng)絡(luò)的波動,引入調(diào)節(jié)因子《,可以人為設(shè)置調(diào)節(jié)因子《的大小。這樣,根 據(jù)cf的數(shù)值判斷整體網(wǎng)絡(luò)沖突情況,分別以乘數(shù)、加性、不變和除法形式動態(tài)調(diào)整競爭窗 口,從而減少節(jié)點沖突的發(fā)生,合理使用信道,增大吞吐量,有效減少能耗。
[0023] S202 :判斷cf〈B+?且cf> =C+co是否成立,若成立,則說明信道輕微擁塞,CW_ data=int(min(CW_data+l,CWmax)),其中,C為網(wǎng)絡(luò)達(dá)到飽和吞吐量時沖突空閑比的最優(yōu) 值,跳轉(zhuǎn)到步驟S3 ;若不成立,則跳轉(zhuǎn)到步驟S203 ;
[0024] S203 :判斷cf〈C+ ?且cf> =C- ?是否成立,若成立,則說明信道良好,CW_ data=CW_data,跳轉(zhuǎn)到步驟3 ;若不成立,貝lj說明信道空閑,CW_data=int(max(CW_ data* (a - 0),CWmin)),CWmin表示競爭窗口的最小值,然后跳轉(zhuǎn)到步驟S3。
[0025] 在一種優(yōu)選的方案中,步驟S3中,根據(jù)節(jié)點占用信道總時長和其他節(jié)點占用 信道的總時長調(diào)整競爭窗口的具體方法包括以下步驟:
[0026] S301 :在考慮節(jié)點信道狀態(tài)后,進(jìn)行衡量信道使用的公平性,判斷t。。,0&社。^! =〇是否成立,若成立,說明信道完全由其他節(jié)點占用,需對競爭窗口進(jìn)行較大減幅,CW_ data=int(max(CW_data/ (a+0),CWmin)),CWmin表示競爭窗口的最小值;若不成立,貝丨J 跳轉(zhuǎn)到步驟S302 ;
[0027] S302 :判斷U=0&社。-==0是否成立,若成立,則說明本節(jié)點占用節(jié)點的時 間較長,應(yīng)增大本節(jié)點的競爭窗口,CW_data=int(min(CW_data* (a+0),CWmax)),CWmax 表示競爭窗口的最大值;若不成立,則跳轉(zhuǎn)到步驟S303 ;
[0028] S303 :判斷 ! = 0&&t。麵! = 0 是否成立,若不成立,則CW_data=CW_data; 若成立,則說明屬于正常狀態(tài),轉(zhuǎn)到步驟S4 ;
[0029] 在一種優(yōu)選的方案中,步驟S4中,根據(jù)節(jié)點占用信道比重Co對該節(jié)點的競爭窗口 進(jìn)行微調(diào)的具體方法包括以下步驟:
[0030] S401 :為衡量節(jié)點間的公平性,判斷Co>0是否成立,其中,0為節(jié)點信道占用比 重的調(diào)節(jié)門限值,若判斷成立,則節(jié)點占用信道時長相對過長,將競爭窗口進(jìn)行微調(diào)增大, CW_data=int(min(CW_data+2,CWmax)),CWmax表示競爭窗口的最大值,否則轉(zhuǎn)到步驟 S402 ;
[0031] S402:判斷Co〈 =f3&&Co>