湯瑩琳
(漢中市煙草公司勉縣分公司,陜西 漢中 724200)
無(wú)線傳感器網(wǎng)絡(luò)作為一種自組織的分布式網(wǎng)絡(luò),在許多領(lǐng)域展現(xiàn)出了巨大的應(yīng)用潛力。然而,傳統(tǒng)的靜態(tài)路由協(xié)議在面對(duì)移動(dòng)節(jié)點(diǎn)引入的動(dòng)態(tài)性時(shí)可能面臨一系列挑戰(zhàn)。
移動(dòng)節(jié)點(diǎn)的引入為無(wú)線傳感器網(wǎng)絡(luò)帶來(lái)了更廣闊的應(yīng)用前景,可以靈活地調(diào)整網(wǎng)絡(luò)拓?fù)?,以適應(yīng)環(huán)境變化或目標(biāo)任務(wù)的需要,同時(shí)擴(kuò)展了無(wú)線傳感器網(wǎng)絡(luò)的應(yīng)用范圍,但也帶來(lái)了新的技術(shù)挑戰(zhàn)[1-2]。
傳統(tǒng)的靜態(tài)路由協(xié)議通常假設(shè)網(wǎng)絡(luò)中的節(jié)點(diǎn)位置保持不變,但在現(xiàn)實(shí)世界中,節(jié)點(diǎn)的移動(dòng)性可能會(huì)引發(fā)網(wǎng)絡(luò)拓?fù)涞念l繁變化。這種動(dòng)態(tài)性可能導(dǎo)致原本穩(wěn)定的網(wǎng)絡(luò)出現(xiàn)不穩(wěn)定的情況,如路由路徑不穩(wěn)定、數(shù)據(jù)包丟失等[3-5]。靜態(tài)路由協(xié)議可能無(wú)法適應(yīng)這種動(dòng)態(tài)環(huán)境,因此需要針對(duì)移動(dòng)節(jié)點(diǎn)設(shè)計(jì)新的動(dòng)態(tài)路由協(xié)議來(lái)應(yīng)對(duì)這些挑戰(zhàn)。
在本研究中,選擇了隨機(jī)游走模型作為移動(dòng)節(jié)點(diǎn)的行為模型。其提供了一種合理的抽象描述,能夠較好地模擬節(jié)點(diǎn)的不確定移動(dòng)性,具有一定的靈活性。
隨機(jī)游走模型描述了節(jié)點(diǎn)在空間中的隨機(jī)移動(dòng)過(guò)程,移動(dòng)節(jié)點(diǎn)在每個(gè)時(shí)間步驟中根據(jù)一定的概率選擇不同的方向進(jìn)行移動(dòng)。時(shí)間步驟表示模型中的時(shí)間單位,用來(lái)表示模型中節(jié)點(diǎn)位置的變化是在離散的時(shí)間點(diǎn)上進(jìn)行的。每個(gè)時(shí)間步驟表示一個(gè)離散的時(shí)間間隔,在這個(gè)時(shí)間間隔內(nèi)節(jié)點(diǎn)可以根據(jù)一定的概率選擇不同的方向進(jìn)行移動(dòng)。
在一維情況下,可以將節(jié)點(diǎn)位置表示為一個(gè)離散的位置變量Xt,其中t表示時(shí)間步驟。節(jié)點(diǎn)在每個(gè)時(shí)間步驟中根據(jù)概率p向右移動(dòng)一格,或者根據(jù)概率1-p向左移動(dòng)一格,對(duì)應(yīng)的表達(dá)式為
動(dòng)態(tài)路由設(shè)計(jì)需要在考慮節(jié)點(diǎn)移動(dòng)性的同時(shí),綜合考慮能耗、可靠性、靈活性等多個(gè)方面的需求,以實(shí)現(xiàn)在移動(dòng)節(jié)點(diǎn)環(huán)境下的高效通信。自適應(yīng)移動(dòng)感知路由協(xié)議是一種適應(yīng)移動(dòng)節(jié)點(diǎn)的動(dòng)態(tài)路由協(xié)議,結(jié)合了節(jié)點(diǎn)的移動(dòng)性模型和預(yù)測(cè)信息,實(shí)現(xiàn)了自適應(yīng)的路由選擇。
當(dāng)前移動(dòng)節(jié)點(diǎn)收集周圍鄰居節(jié)點(diǎn)的位置信息,并分析移動(dòng)模式。根據(jù)隨機(jī)游走模型,計(jì)算當(dāng)前節(jié)點(diǎn)在下一步可能的位置和概率。
2.1.1 收集周圍鄰居節(jié)點(diǎn)的位置信息
假設(shè)當(dāng)前節(jié)點(diǎn)的位置為(x0,y0),通過(guò)無(wú)線通信獲取周圍鄰居節(jié)點(diǎn)的位置信息,這些位置信息可以表示為一組坐標(biāo)(x1,y1),(x2,y2),…,(xn,yn)。
2.1.2 計(jì)算移動(dòng)向量
對(duì)于每個(gè)鄰居節(jié)點(diǎn)(xi,yi),計(jì)算其移動(dòng)向量,即當(dāng)前節(jié)點(diǎn)相對(duì)于鄰居節(jié)點(diǎn)的位移,表達(dá)式為
然后計(jì)算每個(gè)向量的模長(zhǎng)為
2.1.3 計(jì)算移動(dòng)向量的概率分布
根據(jù)計(jì)算得到的移動(dòng)向量模長(zhǎng),計(jì)算移動(dòng)向量的概率分布,用于預(yù)測(cè)下一步的移動(dòng)方向??梢允褂酶咚狗植蓟蚱渌线m的概率分布來(lái)表示移動(dòng)向量的可能性。假設(shè)pi表示選擇移動(dòng)向量(Δxi,Δyi)的概率,則可以使用高斯分布進(jìn)行計(jì)算,計(jì)算公式為
式中:σ為用于調(diào)節(jié)概率分布的參數(shù),可以根據(jù)實(shí)際情況進(jìn)行調(diào)整。通過(guò)計(jì)算概率分布,可以預(yù)測(cè)每個(gè)移動(dòng)向量被選擇的可能性,從而預(yù)測(cè)節(jié)點(diǎn)的下一步移動(dòng)方向。這個(gè)過(guò)程將會(huì)為每個(gè)鄰居節(jié)點(diǎn)的移動(dòng)向量計(jì)算概率分布,根據(jù)這些概率分布數(shù)據(jù),應(yīng)用式(4)獲得節(jié)點(diǎn)在不同方向上移動(dòng)的可能性。
2.2.1 計(jì)算加權(quán)平均的預(yù)測(cè)位置
假設(shè)要預(yù)測(cè)未來(lái)k個(gè)時(shí)間步驟內(nèi)的位置變化。對(duì)于每個(gè)時(shí)間步驟t,計(jì)算移動(dòng)向量的加權(quán)平均,其中移動(dòng)向量的權(quán)重由其概率分布確定。
對(duì)于第t個(gè)時(shí)間步驟,預(yù)測(cè)的位置(xpred,t,ypred,t)可以通過(guò)加權(quán)平均公式計(jì)算得出,即
式中:pi為移動(dòng)向量(Δxi,Δyi)的概率;n為鄰居節(jié)點(diǎn)的數(shù)量;(x0,y0)為當(dāng)前節(jié)點(diǎn)的位置。
2.2.2 重復(fù)步驟以預(yù)測(cè)多個(gè)時(shí)間步驟
通過(guò)重復(fù)上述步驟,可以預(yù)測(cè)未來(lái)連續(xù)的時(shí)間步驟內(nèi)節(jié)點(diǎn)的位置變化。每個(gè)時(shí)間步驟都根據(jù)不同的加權(quán)平均計(jì)算預(yù)測(cè)位置。
2.3.1 確定起始點(diǎn)和目標(biāo)節(jié)點(diǎn)
當(dāng)前移動(dòng)節(jié)點(diǎn)的位置可以作為路徑的起始點(diǎn)。根據(jù)預(yù)測(cè)的移動(dòng)趨勢(shì),計(jì)算出未來(lái)的若干位置作為可能的目標(biāo)節(jié)點(diǎn)。這些目標(biāo)節(jié)點(diǎn)可以是按時(shí)間步長(zhǎng)遞增的位置,代表預(yù)測(cè)的移動(dòng)路徑。
2.3.2 路徑生成方法選擇
最短路徑算法適用于求解2 個(gè)給定節(jié)點(diǎn)之間的最短路徑,但在動(dòng)態(tài)環(huán)境中可能需要進(jìn)行實(shí)時(shí)更新。蟻群算法模擬了螞蟻尋找食物的行為,適合考慮多條路徑選擇、復(fù)雜網(wǎng)絡(luò)拓?fù)浠騽?dòng)態(tài)環(huán)境的情況,但需要一些參數(shù)的調(diào)優(yōu),在選擇算法時(shí),應(yīng)權(quán)衡實(shí)時(shí)性、計(jì)算復(fù)雜度和適用性。
2.3.3 路徑搜索
使用選擇的路徑生成方法,從起始點(diǎn)出發(fā),尋找到達(dá)目標(biāo)節(jié)點(diǎn)的路徑,路徑搜索流程如圖1 所示。
首先,初始化數(shù)據(jù)結(jié)構(gòu)。這包括創(chuàng)建一個(gè)數(shù)據(jù)結(jié)構(gòu)來(lái)記錄已訪問(wèn)的節(jié)點(diǎn)、待訪問(wèn)的節(jié)點(diǎn)隊(duì)列、距離或成本的初始值等。起始點(diǎn)被放入待訪問(wèn)節(jié)點(diǎn)隊(duì)列中。其次,從待訪問(wèn)節(jié)點(diǎn)隊(duì)列中選擇下一個(gè)節(jié)點(diǎn)進(jìn)行探索。選擇的節(jié)點(diǎn)是具有最低成本或距離的節(jié)點(diǎn),標(biāo)記已選擇的節(jié)點(diǎn)為已訪問(wèn)。最后,檢查當(dāng)前節(jié)點(diǎn)是否是目標(biāo)節(jié)點(diǎn),如果是,則路徑搜索完成,可以終止循環(huán);如果不是,則需要進(jìn)行擴(kuò)展,涉及查找當(dāng)前節(jié)點(diǎn)相鄰的未訪問(wèn)節(jié)點(diǎn),即可以通過(guò)合法路徑到達(dá)的節(jié)點(diǎn)。
對(duì)于每個(gè)相鄰節(jié)點(diǎn),計(jì)算從起始點(diǎn)到該節(jié)點(diǎn)的成本(通常是已走路徑的累積距離)。如果該節(jié)點(diǎn)尚未訪問(wèn)或新的路徑成本更低,則更新節(jié)點(diǎn)的成本和父節(jié)點(diǎn),將其添加到待訪問(wèn)節(jié)點(diǎn)隊(duì)列中。終止條件是檢查當(dāng)前節(jié)點(diǎn)是否是目標(biāo)節(jié)點(diǎn),如果是目標(biāo)節(jié)點(diǎn),則路徑搜索完成;如果未找到目標(biāo)節(jié)點(diǎn),并且待訪問(wèn)節(jié)點(diǎn)隊(duì)列為空,則說(shuō)明沒(méi)有可行的路徑。
2.3.4 生成多個(gè)路徑候選
為了增加選擇性,可以生成多條路徑候選,每條路徑代表一個(gè)可能的預(yù)測(cè)移動(dòng)路徑,通過(guò)調(diào)整目標(biāo)節(jié)點(diǎn)或算法參數(shù)來(lái)生成不同的候選路徑。
2.4.1 穩(wěn)定性評(píng)估
對(duì)路徑上各節(jié)點(diǎn)的移動(dòng)性和穩(wěn)定性進(jìn)行評(píng)估,如考慮節(jié)點(diǎn)的移動(dòng)趨勢(shì)和歷史移動(dòng)模式。選擇穩(wěn)定的節(jié)點(diǎn)組成路徑,以降低路由中斷的風(fēng)險(xiǎn)。
2.4.2 距離考慮
考慮路徑的總距離,較短的路徑通常能夠減少傳輸延遲。因此,路徑的距離是一個(gè)重要的因素,尤其在需要快速數(shù)據(jù)傳輸時(shí)。
2.4.3 擁塞情況分析
對(duì)路徑上的擁塞情況進(jìn)行分析,如使用擁塞度指標(biāo)來(lái)評(píng)估路徑的擁塞情況,確保選擇的路徑為非擁塞節(jié)點(diǎn)或區(qū)域。
2.4.4 綜合評(píng)估
將上述因素綜合考慮,為每個(gè)路徑候選分配一個(gè)得分。得分可以通過(guò)加權(quán)和來(lái)計(jì)算,以反映各因素的重要性。加權(quán)和的選擇可以根據(jù)具體情況進(jìn)行調(diào)整。
2.4.5 路徑選擇
選擇得分最高的路徑作為最優(yōu)路徑。這個(gè)路徑在綜合考慮了節(jié)點(diǎn)穩(wěn)定性、距離和擁塞情況后,被認(rèn)為是最適合傳輸數(shù)據(jù)包的路徑。但需要注意的是,在選擇最優(yōu)路徑之前,應(yīng)確保該路徑上的節(jié)點(diǎn)都是可達(dá)的,并且擁有足夠的能量來(lái)支持?jǐn)?shù)據(jù)傳輸。如果路徑上有不可達(dá)或能量不足的節(jié)點(diǎn),則選擇次優(yōu)路徑。
2.5.1 更新觸發(fā)機(jī)制
定期觸發(fā)路由信息的更新,以確保路由表中的信息與網(wǎng)絡(luò)拓?fù)涞膶?shí)際情況相符。更新頻率可以根據(jù)節(jié)點(diǎn)的移動(dòng)速度和網(wǎng)絡(luò)穩(wěn)定性來(lái)動(dòng)態(tài)調(diào)整。當(dāng)移動(dòng)節(jié)點(diǎn)的位置變化超過(guò)一定閾值,或者網(wǎng)絡(luò)發(fā)生拓?fù)渥兓ㄈ绻?jié)點(diǎn)加入、離開(kāi)、連接斷開(kāi)等時(shí))時(shí),觸發(fā)路由信息的更新。
2.5.2 路由表維護(hù)
對(duì)于每個(gè)節(jié)點(diǎn),維護(hù)一個(gè)路由表,記錄到達(dá)其他節(jié)點(diǎn)的路徑信息。路由表中可能包含目標(biāo)節(jié)點(diǎn)、下一跳節(jié)點(diǎn)、路徑代價(jià)等信息。當(dāng)路由更新被觸發(fā)時(shí),節(jié)點(diǎn)需要檢查并更新路由表中的信息,以反映新的拓?fù)淝闆r和移動(dòng)節(jié)點(diǎn)的位置。
2.5.3 路徑選擇更新
更新后的路由表將會(huì)影響路徑選擇過(guò)程。路徑選擇算法在更新后會(huì)基于新的路由表進(jìn)行路徑計(jì)算,以確保路徑是基于最新信息的。
2.5.4 控制開(kāi)銷抑制
更新路由信息可能會(huì)引入一定的控制開(kāi)銷,如路由更新消息的傳輸?shù)?。為了避免過(guò)多的控制開(kāi)銷,可以根據(jù)節(jié)點(diǎn)的移動(dòng)速度和網(wǎng)絡(luò)穩(wěn)定性調(diào)整路由更新的頻率。如果網(wǎng)絡(luò)中節(jié)點(diǎn)的移動(dòng)速度較快,可以增加更新頻率,以保持路由信息的及時(shí)性。相反,如果網(wǎng)絡(luò)比較穩(wěn)定,可以適當(dāng)減少更新頻率,減少控制開(kāi)銷。
2.5.5 事件驅(qū)動(dòng)更新
路由更新不僅可以基于定期的時(shí)間間隔,還可以根據(jù)事件驅(qū)動(dòng)的方式進(jìn)行。當(dāng)節(jié)點(diǎn)移動(dòng)或網(wǎng)絡(luò)拓?fù)浒l(fā)生變化時(shí),立即觸發(fā)路由更新。
文章深入探討了移動(dòng)節(jié)點(diǎn)的無(wú)線傳感器網(wǎng)絡(luò)動(dòng)態(tài)路由協(xié)議的設(shè)計(jì)要求、考慮因素和實(shí)現(xiàn)方案。該動(dòng)態(tài)路由協(xié)議能夠在移動(dòng)節(jié)點(diǎn)的環(huán)境下實(shí)現(xiàn)穩(wěn)定且高效的數(shù)據(jù)傳輸。未來(lái)的研究可以進(jìn)一步優(yōu)化協(xié)議性能、考慮更多實(shí)際應(yīng)用因素,并在真實(shí)網(wǎng)絡(luò)環(huán)境中進(jìn)行驗(yàn)證和實(shí)際應(yīng)用。這對(duì)于提高移動(dòng)傳感器網(wǎng)絡(luò)的可靠性和性能具有重要的指導(dǎo)意義。