無線傳感器網(wǎng)絡(luò)中移動(dòng)sink節(jié)點(diǎn)的自主移動(dòng)方法
【專利摘要】本發(fā)明公開了一種無線傳感器網(wǎng)絡(luò)中移動(dòng)sink節(jié)點(diǎn)的自主移動(dòng)方法,屬于無線傳感器網(wǎng)絡(luò)【技術(shù)領(lǐng)域】。該方法基于無線傳感器網(wǎng)絡(luò)樹形路由多跳互連模型,首先以當(dāng)前sink節(jié)點(diǎn)各一跳鄰居節(jié)點(diǎn)為子樹根,劃分子樹并組成子樹集合,sink節(jié)點(diǎn)獲取一定范圍內(nèi)各子樹中每條數(shù)據(jù)傳播路徑中傳感器節(jié)點(diǎn)剩余能量的最大和最小值;然后根據(jù)一定條件,生成正在死亡節(jié)點(diǎn)序列和sink可行移動(dòng)位置序列;sink節(jié)點(diǎn)則在序列中選擇合適的位置進(jìn)行移動(dòng)。序列長(zhǎng)期保存在sink節(jié)點(diǎn)中,并根據(jù)下一輪節(jié)點(diǎn)能量情況進(jìn)行更新。這樣,既可以通過實(shí)時(shí)掌握一定范圍內(nèi)網(wǎng)絡(luò)能量的極值,指導(dǎo)sink節(jié)點(diǎn)進(jìn)行移動(dòng),逐步實(shí)現(xiàn)網(wǎng)絡(luò)節(jié)點(diǎn)間的能量均衡;同時(shí)有效的減少大量重復(fù)查詢帶來的時(shí)間開銷和能量開銷。
【專利說明】無線傳感器網(wǎng)絡(luò)中移動(dòng)sink節(jié)點(diǎn)的自主移動(dòng)方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種無線傳感器網(wǎng)絡(luò)中移動(dòng)sink節(jié)點(diǎn)的自主移動(dòng)方法,主要用于實(shí)現(xiàn)無線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)之間的能量均衡,提高網(wǎng)絡(luò)生命周期,屬于無線傳感器網(wǎng)絡(luò)【技術(shù)領(lǐng)域】。
【背景技術(shù)】
[0002]無線傳感器網(wǎng)絡(luò)是一項(xiàng)新興的技術(shù)。集成了傳感、計(jì)算、通信能力的節(jié)點(diǎn)被組織成一個(gè)通信網(wǎng)絡(luò),用于感知客觀世界的信息,并提供給人們進(jìn)行分析和判斷。無線傳感器網(wǎng)絡(luò)具有自適應(yīng)性、抗毀性、易部署性、低成本使得其在軍事和工業(yè)等方面有廣闊的發(fā)展前景。近幾年隨著物聯(lián)網(wǎng)的興起。無線傳感器網(wǎng)絡(luò)取得了飛速發(fā)展,在智能家居、醫(yī)療健康等工業(yè)應(yīng)用方面也得到廣泛應(yīng)用。
[0003]由于無線傳感器網(wǎng)絡(luò)的傳感器節(jié)點(diǎn)的能量有限,無法進(jìn)行能量補(bǔ)給,同時(shí)節(jié)點(diǎn)在部署后很難回收。一般定義節(jié)點(diǎn)能量耗盡為節(jié)點(diǎn)死亡,而整個(gè)無線傳感器網(wǎng)絡(luò)的生命周期通常定義為第一個(gè)節(jié)點(diǎn)死亡時(shí)間。所以如何提高無線傳感器網(wǎng)絡(luò)的能量效率,延長(zhǎng)網(wǎng)絡(luò)生命周期就成了必須要解決的問題。目前提高無線網(wǎng)絡(luò)生命期的方法主要分為幾類:一是通過數(shù)據(jù)壓縮、數(shù)據(jù)融合和數(shù)據(jù)預(yù)測(cè)等技術(shù)減少網(wǎng)絡(luò)中總通信量。二是設(shè)計(jì)出高效的基于能量?jī)?yōu)化的網(wǎng)絡(luò)協(xié)議。第三種方法是在網(wǎng)絡(luò)中引入移動(dòng)節(jié)點(diǎn),這種方法又分為引入移動(dòng)Agent采集數(shù)據(jù),減少通信距離,以及在網(wǎng)絡(luò)中引入移動(dòng)sink節(jié)點(diǎn)使網(wǎng)絡(luò)負(fù)載更均衡以減少能量空洞現(xiàn)象。
[0004]其中,在將移動(dòng)sink節(jié)點(diǎn)(或稱作匯聚節(jié)點(diǎn))引入無線傳感器網(wǎng)絡(luò)后,已有各種sink節(jié)點(diǎn)移動(dòng)方案使得全網(wǎng)能量消耗更加均衡.根據(jù)sink移動(dòng)路徑是否具有可預(yù)測(cè)性,sink節(jié)點(diǎn)移動(dòng)策略可以大致分為兩類:一類是sink節(jié)點(diǎn)按照預(yù)先設(shè)定好的路徑進(jìn)行移動(dòng),稱為路徑可預(yù)測(cè)移動(dòng)策略,這種策略在網(wǎng)絡(luò)運(yùn)行時(shí),sink節(jié)點(diǎn)總是沿著一條預(yù)先規(guī)劃好的路徑進(jìn)行著移動(dòng),而一般這個(gè)路徑在網(wǎng)絡(luò)初始化過程中是確定的且過程中不更改。傳感器節(jié)點(diǎn)明確知道sink節(jié)點(diǎn)各個(gè)時(shí)刻的位置。但是,由于這種策略沒有考慮根據(jù)網(wǎng)絡(luò)實(shí)際運(yùn)行情況去調(diào)整路徑,無法從根本上解決無線傳感器網(wǎng)絡(luò)中節(jié)點(diǎn)之間能耗不均衡問題,所以往往無法達(dá)到性能最優(yōu)。另一類是sink節(jié)點(diǎn)可自主動(dòng)態(tài)地選擇移動(dòng)路徑,即移動(dòng)路徑不可預(yù)測(cè)的移動(dòng)策略。sink節(jié)點(diǎn)每次移動(dòng)時(shí)根據(jù)當(dāng)前實(shí)時(shí)的網(wǎng)絡(luò)狀況,結(jié)合自身移動(dòng)策略對(duì)下一個(gè)目標(biāo)移動(dòng)位置進(jìn)行測(cè)算與選擇,而在每次移動(dòng)前并不知道自己目標(biāo)移動(dòng)位置。
[0005]然而,現(xiàn)有的sink節(jié)點(diǎn)移動(dòng)策略每次移動(dòng)前,只是在sink節(jié)點(diǎn)一次最大移動(dòng)半徑范圍內(nèi)尋找合適移動(dòng)位置,并沒有綜合考慮到最大移動(dòng)半徑范圍外網(wǎng)絡(luò)能量情況;而且每次sink節(jié)點(diǎn)移動(dòng)前都需要重新查詢當(dāng)前sink節(jié)點(diǎn)一次最大移動(dòng)范圍內(nèi)所有節(jié)點(diǎn)的能量情況,查詢效率不高。
【發(fā)明內(nèi)容】
[0006]本發(fā)明所要解決的技術(shù)問題在于克服現(xiàn)有無線傳感器網(wǎng)絡(luò)中sink節(jié)點(diǎn)自主移動(dòng)方法的不足,提供一種無線傳感器網(wǎng)絡(luò)中移動(dòng)sink節(jié)點(diǎn)的自主移動(dòng)方法,在實(shí)現(xiàn)網(wǎng)絡(luò)節(jié)點(diǎn)間的能量均衡的同時(shí),還能有效減少大量重復(fù)查詢帶來的時(shí)間開銷和能量開銷。
[0007]本發(fā)明具體采用以下技術(shù)方案:
[0008]無線傳感器網(wǎng)絡(luò)中移動(dòng)sink節(jié)點(diǎn)的自主移動(dòng)方法,所述無線傳感器網(wǎng)絡(luò)包括多個(gè)傳感器節(jié)點(diǎn)和一個(gè)可移動(dòng)的sink節(jié)點(diǎn),所述sink節(jié)點(diǎn)按照以下方法進(jìn)行自主移動(dòng):
[0009]步驟A、所述sink節(jié)點(diǎn)移動(dòng)到一個(gè)新位置后,首先建立為以自身為根節(jié)點(diǎn)的樹形多跳互連路由結(jié)構(gòu)的網(wǎng)絡(luò)連接,并開始接收并處理各傳感器節(jié)點(diǎn)發(fā)送的感知數(shù)據(jù);
[0010]步驟B、距sink節(jié)點(diǎn)在2跳范圍內(nèi)的傳感器節(jié)點(diǎn)定期將自身的當(dāng)前剩余能量信息傳遞給sink節(jié)點(diǎn),sink節(jié)點(diǎn)判斷其中當(dāng)前剩余能量小于一預(yù)設(shè)能量閾值的傳感器節(jié)點(diǎn)的比例是否達(dá)到預(yù)設(shè)的比例閾值,如是,則轉(zhuǎn)至步驟C ;如否,則sink節(jié)點(diǎn)在當(dāng)前位置繼續(xù)接收并處理各傳感器節(jié)點(diǎn)發(fā)送的感知數(shù)據(jù);
[0011]步驟C、sink節(jié)點(diǎn)首先獲取自身所保存的正在死亡節(jié)點(diǎn)序列中各傳感器節(jié)點(diǎn)的當(dāng)前剩余能量,判斷正在死亡節(jié)點(diǎn)序列中是否存在當(dāng)前剩余能量低于最低警戒能量閾值且與sink節(jié)點(diǎn)距離< dmx的傳感器節(jié)點(diǎn),如存在,則sink節(jié)點(diǎn)直接移動(dòng)到其中距離最近的傳感器節(jié)點(diǎn)處,并將該傳感器節(jié)點(diǎn)凍結(jié);如不存在,則sink節(jié)點(diǎn)接著在自身所保存的sink可行移動(dòng)位置序列中搜索與sink節(jié)點(diǎn)距離< dMX的傳感器節(jié)點(diǎn),并以其中一跳鄰居節(jié)點(diǎn)的當(dāng)前剩余能量的平均值最大的傳感器節(jié)點(diǎn)的位置作為sink節(jié)點(diǎn)下次移動(dòng)位置,如sink可行移動(dòng)位置序列中不存在與sink節(jié)點(diǎn)距離≤dMX的傳感器節(jié)點(diǎn),則轉(zhuǎn)至步驟D ;其中,dmx表示所述sink節(jié)點(diǎn)的單次最大移動(dòng)半徑;某個(gè)節(jié)點(diǎn)的一跳鄰居節(jié)點(diǎn)是指在該節(jié)點(diǎn)所在子樹中距離該節(jié)點(diǎn)一跳并且與該節(jié)點(diǎn)距離< d祖的所有節(jié)點(diǎn),以及位于其它子樹中與該節(jié)點(diǎn)距離(dMX的所有節(jié)點(diǎn);
[0012]步驟D、sink節(jié)點(diǎn)在每一條數(shù)據(jù)傳播路徑中距sink節(jié)點(diǎn)≤dMX的傳感器節(jié)點(diǎn)集合中,以及每一條路徑中距sink節(jié)點(diǎn)< 2dMX的傳感器節(jié)點(diǎn)集合中,分別搜索出其中當(dāng)前剩余能量最大的傳感器節(jié)點(diǎn)和當(dāng)前剩余能量最小的傳感器節(jié)點(diǎn);然后在距sink節(jié)點(diǎn)< dmx的當(dāng)前剩余能量最小的所有傳感器節(jié)點(diǎn)中,查詢是否存在當(dāng)前剩余能量低于最低警戒能量閾值的傳感器節(jié)點(diǎn):如只存在一個(gè)這樣的傳感器節(jié)點(diǎn),則sink節(jié)點(diǎn)直接移動(dòng)到該傳感器節(jié)點(diǎn)處,并將該傳感器節(jié)點(diǎn)凍結(jié);如存在一個(gè)以上這樣的傳感器節(jié)點(diǎn),則sink節(jié)點(diǎn)直接移動(dòng)到其中距離最近的傳感器節(jié)點(diǎn)處,凍結(jié)該傳感器節(jié)點(diǎn),并將所查詢出的其余傳感器節(jié)點(diǎn)按照當(dāng)前剩余能量由小到大的順序組成序列,更新當(dāng)前的正在死亡節(jié)點(diǎn)序列;如不存在這樣的節(jié)點(diǎn),則轉(zhuǎn)步驟E ;
[0013]步驟E、sink節(jié)點(diǎn)對(duì)步驟D中所得到的每一條路徑中距sink節(jié)點(diǎn)≤2dMX的當(dāng)前剩余能量最大的各傳感器節(jié)點(diǎn),分別獲取其一跳鄰居節(jié)點(diǎn)的能量信息,然后從中篩選出其一跳鄰居節(jié)點(diǎn)的數(shù)量大于等于預(yù)設(shè)的鄰居節(jié)點(diǎn)數(shù)閾值且其一跳鄰居節(jié)點(diǎn)的當(dāng)前剩余能量的平均值大于步驟B中所述能量閾值的傳感器節(jié)點(diǎn),并按照一跳鄰居節(jié)點(diǎn)的當(dāng)前剩余能量的平均值從大到小的將這些傳感器節(jié)點(diǎn)進(jìn)行排序,所得序列用于更新當(dāng)前的sink可行移動(dòng)位置序列;最后判斷sink可行移動(dòng)位置序列中是否存在與sink節(jié)點(diǎn)的距離≤dMX的傳感器節(jié)點(diǎn),如存在這樣的節(jié)點(diǎn),則以其中一跳鄰居節(jié)點(diǎn)的當(dāng)前剩余能量的平均值最大的傳感器節(jié)點(diǎn)的位置作為sink節(jié)點(diǎn)下次移動(dòng)位置;如不存在這樣的節(jié)點(diǎn),則確定sink可行移動(dòng)位置序列中一跳鄰居節(jié)點(diǎn)的當(dāng)前剩余能量的平均值最大的傳感器節(jié)點(diǎn)所在的子樹,然后從步驟D中所得到的每一條路徑中距sink節(jié)點(diǎn)< dmx的當(dāng)前剩余能量最大的各傳感器節(jié)點(diǎn)中找出位于該子樹中的傳感器節(jié)點(diǎn),獲取所找出的這些傳感器節(jié)點(diǎn)的一跳鄰居節(jié)點(diǎn)的能量信息,并判斷其中是否存在其一跳鄰居節(jié)點(diǎn)的數(shù)量大于等于預(yù)設(shè)的鄰居節(jié)點(diǎn)數(shù)閾值且其一跳鄰居節(jié)點(diǎn)的當(dāng)前剩余能量的平均值大于步驟B中所述能量閾值的傳感器節(jié)點(diǎn),如存在這樣的傳感器節(jié)點(diǎn),則從這樣的傳感器節(jié)點(diǎn)中選擇距離sink節(jié)點(diǎn)最遠(yuǎn)的傳感器節(jié)點(diǎn)位置作為sink節(jié)點(diǎn)下次移動(dòng)位置;如不存在這樣的傳感器節(jié)點(diǎn),則降低所述能量閾值后轉(zhuǎn)至步驟D,重新查找sink節(jié)點(diǎn)的下次移動(dòng)位置;
[0014]步驟F、sink節(jié)點(diǎn)完成本次移動(dòng),轉(zhuǎn)至步驟A。
[0015]優(yōu)選地,步驟D中所述sink節(jié)點(diǎn)在每一條數(shù)據(jù)傳播路徑中距sink節(jié)點(diǎn)≤dmx的傳感器節(jié)點(diǎn)集合中,以及每一條數(shù)據(jù)傳播路徑中距sink節(jié)點(diǎn)≤ 2dmx的傳感器節(jié)點(diǎn)集合中,分別搜索出其中當(dāng)前剩余能量最大的傳感器節(jié)點(diǎn)和當(dāng)前剩余能量最小的傳感器節(jié)點(diǎn),具體按照以下方法:
[0016]sink節(jié)點(diǎn)向第i棵子樹根節(jié)點(diǎn)廣播以下數(shù)據(jù)包:
[0017]packet_i={ (Ehighest, locaion_H(i)), (Elowest, locaion_L (i)), L}, I ≤ i ≤ η,
[0018]其中,Ehighest、Elrarest分別為數(shù)據(jù)包廣播路徑所經(jīng)過節(jié)點(diǎn)中的最高剩余能量、最低剩余能量,locaion_H(i)、locaion_L(i)分別為具有最高剩余能量、最低剩余能量的節(jié)點(diǎn)的位置,L為數(shù)據(jù)包傳送 到的節(jié)點(diǎn)與sink節(jié)點(diǎn)間的距離,η為sink節(jié)點(diǎn)的子樹根總數(shù),Ehighest,Elmrest、L的初始值均為0,locaion(i)初始值為空;
[0019]收到數(shù)據(jù)包的節(jié)點(diǎn)查詢自身節(jié)點(diǎn)能量,如果自身能量值>Ehighest,或者<ElOTest,則更新數(shù)據(jù)包里能量值,并修改相應(yīng)1caion為自己的地理位置;然后繼續(xù)把更新后的數(shù)據(jù)包轉(zhuǎn)發(fā)給孩子節(jié)點(diǎn),如果有多個(gè)孩子節(jié)點(diǎn),則父母節(jié)點(diǎn)傳遞給每個(gè)孩子節(jié)點(diǎn)一份同樣的數(shù)據(jù)包;當(dāng)數(shù)據(jù)包傳送到的節(jié)點(diǎn)與sink節(jié)點(diǎn)的距離L>dMX時(shí),則收到數(shù)據(jù)包的節(jié)點(diǎn)在比較自身能量值大小前回傳一份數(shù)據(jù)包給sink節(jié)點(diǎn),保留一份繼續(xù)進(jìn)行更新和廣播;如果數(shù)據(jù)包傳送到的節(jié)點(diǎn)與sink節(jié)點(diǎn)的距離L>2dMX,立即停止能量值比較和更新操作,直接將數(shù)據(jù)包回傳給sink節(jié)點(diǎn);當(dāng)數(shù)據(jù)包傳至葉子節(jié)點(diǎn)完成更新操作后,無法再往下廣播時(shí),則直接將數(shù)據(jù)包回傳給sink節(jié)點(diǎn);
[0020]sink節(jié)點(diǎn)收到數(shù)據(jù)包后,根據(jù)數(shù)據(jù)包中的L值將數(shù)據(jù)包分為兩類,并放入集合PACKET_dmx 和集合 PACKET_2dmx 中:
[0021]
【權(quán)利要求】
1.無線傳感器網(wǎng)絡(luò)中移動(dòng)sink節(jié)點(diǎn)的自主移動(dòng)方法,所述無線傳感器網(wǎng)絡(luò)包括多個(gè)傳感器節(jié)點(diǎn)和一個(gè)可移動(dòng)的sink節(jié)點(diǎn),其特征在于,所述sink節(jié)點(diǎn)按照以下方法進(jìn)行自主移動(dòng): 步驟A、所述sink節(jié)點(diǎn)移動(dòng)到一個(gè)新位置后,首先建立為以自身為根節(jié)點(diǎn)的樹形多跳互連路由結(jié)構(gòu)的網(wǎng)絡(luò)連接,并開始接收并處理各傳感器節(jié)點(diǎn)發(fā)送的感知數(shù)據(jù); 步驟B、距sink節(jié)點(diǎn)在2跳范圍內(nèi)的傳感器節(jié)點(diǎn)定期將自身的當(dāng)前剩余能量信息傳遞給sink節(jié)點(diǎn),sink節(jié)點(diǎn)判斷其中當(dāng)前剩余能量小于一預(yù)設(shè)能量閾值的傳感器節(jié)點(diǎn)的比例是否達(dá)到預(yù)設(shè)的比例閾值,如是,則轉(zhuǎn)至步驟C ;如否,則sink節(jié)點(diǎn)在當(dāng)前位置繼續(xù)接收并處理各傳感器節(jié)點(diǎn)發(fā)送的感知數(shù)據(jù); 步驟C、sink節(jié)點(diǎn)首先獲取自身所保存的正在死亡節(jié)點(diǎn)序列中各傳感器節(jié)點(diǎn)的當(dāng)前剩余能量,判斷正在死亡節(jié)點(diǎn)序列中是否存在當(dāng)前剩余能量低于最低警戒能量閾值且與sink節(jié)點(diǎn)距離的傳感器節(jié)點(diǎn),如存在,則sink節(jié)點(diǎn)直接移動(dòng)到其中距離最近的傳感器節(jié)點(diǎn)處,并將該傳感器節(jié)點(diǎn)凍結(jié);如不存在,則sink節(jié)點(diǎn)接著在自身所保存的sink可行移動(dòng)位置序列中搜索與sink節(jié)點(diǎn)距離的傳感器節(jié)點(diǎn),并以其中一跳鄰居節(jié)點(diǎn)的當(dāng)前剩余能量的平均值最大的傳感器節(jié)點(diǎn)的位置作為sink節(jié)點(diǎn)下次移動(dòng)位置,如sink可行移動(dòng)位置序列中不存在與sink節(jié)點(diǎn)距離的傳感器節(jié)點(diǎn),則轉(zhuǎn)至步驟D ;其中,表示 所述sink節(jié)點(diǎn)的單次最大移動(dòng)半徑;某個(gè)節(jié)點(diǎn)的一跳鄰居節(jié)點(diǎn)是指在該節(jié)點(diǎn)所在子樹中距離該節(jié)點(diǎn)一跳并且與該節(jié)點(diǎn)距離的所有節(jié)點(diǎn),以及位于其它子樹中與該節(jié)點(diǎn)距離^ 的所有節(jié)點(diǎn); 步驟D、sink節(jié)點(diǎn)在每一條數(shù)據(jù)傳播路徑中距sink節(jié)點(diǎn)的傳感器節(jié)點(diǎn)集合中,以及每一條路徑中距sink節(jié)點(diǎn)<23皿的傳感器節(jié)點(diǎn)集合中,分別搜索出其中當(dāng)前剩余能量最大的傳感器節(jié)點(diǎn)和當(dāng)前剩余能量最小的傳感器節(jié)點(diǎn);然后在距SinkfASdw的當(dāng)前剩余能量最小的所有傳感器節(jié)點(diǎn)中,查詢是否存在當(dāng)前剩余能量低于最低警戒能量閾值的傳感器節(jié)點(diǎn):如只存在一個(gè)這樣的傳感器節(jié)點(diǎn),則sink節(jié)點(diǎn)直接移動(dòng)到該傳感器節(jié)點(diǎn)處,并將該傳感器節(jié)點(diǎn)凍結(jié);如存在一個(gè)以上這樣的傳感器節(jié)點(diǎn),則sink節(jié)點(diǎn)直接移動(dòng)到其中距離最近的傳感器節(jié)點(diǎn)處,凍結(jié)該傳感器節(jié)點(diǎn),并將所查詢出的其余傳感器節(jié)點(diǎn)按照當(dāng)前剩余能量由小到大的順序組成序列,更新當(dāng)前的正在死亡節(jié)點(diǎn)序列;如不存在這樣的節(jié)點(diǎn),則轉(zhuǎn)步驟E ; 步驟E、sink節(jié)點(diǎn)對(duì)步驟D中所得到的每一條路徑中距sink節(jié)點(diǎn)S 的當(dāng)前剩余能量最大的各傳感器節(jié)點(diǎn),分別獲取其一跳鄰居節(jié)點(diǎn)的能量信息,然后從中篩選出其一跳鄰居節(jié)點(diǎn)的數(shù)量大于等于預(yù)設(shè)的鄰居節(jié)點(diǎn)數(shù)閾值且其一跳鄰居節(jié)點(diǎn)的當(dāng)前剩余能量的平均值大于步驟B中所述能量閾值的傳感器節(jié)點(diǎn),并按照一跳鄰居節(jié)點(diǎn)的當(dāng)前剩余能量的平均值從大到小的將這些傳感器節(jié)點(diǎn)進(jìn)行排序,所得序列用于更新當(dāng)前的sink可行移動(dòng)位置序列;最后判斷sink可行移動(dòng)位置序列中是否存在與sink節(jié)點(diǎn)的距離^皿的傳感器節(jié)點(diǎn),如存在這樣的節(jié)點(diǎn),則以其中一跳鄰居節(jié)點(diǎn)的當(dāng)前剩余能量的平均值最大的傳感器節(jié)點(diǎn)的位置作為sink節(jié)點(diǎn)下次移動(dòng)位置;如不存在這樣的節(jié)點(diǎn),則確定sink可行移動(dòng)位置序列中一跳鄰居節(jié)點(diǎn)的當(dāng)前剩余能量的平均值最大的傳感器節(jié)點(diǎn)所在的子樹,然后從步驟D中所得到的每一條路徑中距sink節(jié)點(diǎn)的當(dāng)前剩余能量最大的各傳感器節(jié)點(diǎn)中找出位于該子樹中的傳感器節(jié)點(diǎn),獲取所找出的這些傳感器節(jié)點(diǎn)的一跳鄰居節(jié)點(diǎn)的能量信息,并判斷其中是否存在其一跳鄰居節(jié)點(diǎn)的數(shù)量大于等于預(yù)設(shè)的鄰居節(jié)點(diǎn)數(shù)閾值且其一跳鄰居節(jié)點(diǎn)的當(dāng)前剩余能量的平均值大于步驟B中所述能量閾值的傳感器節(jié)點(diǎn),如存在這樣的傳感器節(jié)點(diǎn),則從這樣的傳感器節(jié)點(diǎn)中選擇距離sink節(jié)點(diǎn)最遠(yuǎn)的傳感器節(jié)點(diǎn)位置作為sink節(jié)點(diǎn)下次移動(dòng)位置;如不存在這樣的傳感器節(jié)點(diǎn),則降低所述能量閾值后轉(zhuǎn)至步驟D,重新查找sink節(jié)點(diǎn)的下次移動(dòng)位置; 步驟F、sink節(jié)點(diǎn)完成本次移動(dòng),轉(zhuǎn)至步驟A。
2.如權(quán)利要求1所述無線傳感器網(wǎng)絡(luò)中移動(dòng)sink節(jié)點(diǎn)的自主移動(dòng)方法,其特征在于,步驟D中所述sink節(jié)點(diǎn)在每一條數(shù)據(jù)傳播路徑中距sink節(jié)點(diǎn)的傳感器節(jié)點(diǎn)集合中,以及每一條數(shù)據(jù)傳播路徑中距sink節(jié)點(diǎn)的傳感器節(jié)點(diǎn)集合中,分別搜索出其中當(dāng)前剩余能量最大的傳感器節(jié)點(diǎn)和當(dāng)前剩余能量最小的傳感器節(jié)點(diǎn),具體按照以下方法: sink節(jié)點(diǎn)向第棵子樹根節(jié)點(diǎn)廣播以下數(shù)據(jù)包: packst蝴ke^,locaiGH, 其中,、Ey滅分別為數(shù)據(jù)包廣播路徑所經(jīng)過節(jié)點(diǎn)中的最高剩余能量、最低剩余能量,hcaion _H(i)、1caion _£(6)分別為具有最高剩余能量、最低剩余能量的節(jié)點(diǎn)的位置,L為數(shù)據(jù)包傳送到的節(jié)點(diǎn)與sink節(jié)點(diǎn)間的距離,η為sink節(jié)點(diǎn)的子樹根總數(shù),、Skiwest、I的初始值均為O, hcaionif)初始值為空; 收到數(shù)據(jù)包的節(jié)點(diǎn)查詢自身節(jié)點(diǎn)能量,如果自身能量值> 神,或者 <氏-- ,則更新數(shù)據(jù)包里能量值,并修改相應(yīng)為自己的地理位置;然后繼續(xù)把更新后的數(shù)據(jù)包轉(zhuǎn)發(fā)給孩子節(jié)點(diǎn),如果有多個(gè)孩子節(jié)點(diǎn),則父母節(jié)點(diǎn)傳遞給每個(gè)孩子節(jié)點(diǎn)一份同樣的數(shù)據(jù)包;當(dāng)數(shù)據(jù)包傳送到的節(jié)點(diǎn)與sink節(jié)點(diǎn)的距離£ 皿時(shí),則收到數(shù)據(jù)包的節(jié)點(diǎn)在比較自身能量值大小前回傳一份數(shù)據(jù)包給sink節(jié)點(diǎn),保留一份繼續(xù)進(jìn)行更新和廣播;如果數(shù)據(jù)包傳送到的節(jié)點(diǎn)與sink節(jié)點(diǎn)的距離i >2—,立即停止能量值比較和更新操作,直接將數(shù)據(jù)包回傳給sink節(jié)點(diǎn);當(dāng)數(shù)據(jù)包傳至葉子節(jié)點(diǎn)完成更新操作后,無法再往下廣播時(shí),則直接將數(shù)據(jù)包回傳給sink節(jié)點(diǎn); sink節(jié)點(diǎn)收到數(shù)據(jù)包后,根據(jù)數(shù)據(jù)包中的£值將數(shù)據(jù)包分為兩類,并放入集合PACKET—djy^ 和集合 PAGKET^d^j^.中:
3.如權(quán) 利要求1所述無線傳感器網(wǎng)絡(luò)中移動(dòng)sink節(jié)點(diǎn)的自主移動(dòng)方法,其特征在于,所述降低能量閾值具體按照以下方法:將當(dāng)前的能量閾值乘以預(yù)設(shè)的系數(shù)P后作為新的能量閾值,O <5 <1。
【文檔編號(hào)】H04W40/10GK103987101SQ201410156122
【公開日】2014年8月13日 申請(qǐng)日期:2014年4月17日 優(yōu)先權(quán)日:2014年4月17日
【發(fā)明者】付雄, 湯中睿, 程春玲 申請(qǐng)人:南京郵電大學(xué)