一種無(wú)線傳感器網(wǎng)絡(luò)非均勻分簇節(jié)點(diǎn)調(diào)度方法
【專利摘要】本發(fā)明公開(kāi)了一種無(wú)線傳感器網(wǎng)絡(luò)非均勻分簇節(jié)點(diǎn)調(diào)度方法,具體按照以下步驟實(shí)施:步驟1.非均勻分簇簇首的選舉以及完成非均勻分簇;步驟2.在步驟1完成非均勻的分簇后,在簇內(nèi)查找冗余節(jié)點(diǎn),并關(guān)閉冗余節(jié)點(diǎn)使冗余節(jié)點(diǎn)進(jìn)入休眠狀態(tài);步驟3.在完成步驟2冗余節(jié)點(diǎn)的調(diào)度休眠后,活動(dòng)節(jié)點(diǎn)進(jìn)入穩(wěn)定工作狀態(tài);步驟4.在步驟3中活動(dòng)節(jié)點(diǎn)工作完成之后,對(duì)簇內(nèi)節(jié)點(diǎn)角色與狀態(tài)進(jìn)行調(diào)整;步驟5.在步驟4的節(jié)點(diǎn)角色與狀態(tài)調(diào)整完之后,將循環(huán)執(zhí)行步驟3、步驟4,直至所有節(jié)點(diǎn)能量消耗完。本發(fā)明一種無(wú)線傳感器網(wǎng)絡(luò)非均勻分簇節(jié)點(diǎn)調(diào)度方法,將非均勻分簇與冗余節(jié)點(diǎn)調(diào)度相結(jié)合,使得各節(jié)點(diǎn)的能量消耗比較均衡,有效的延長(zhǎng)了網(wǎng)絡(luò)的生命周期。
【專利說(shuō)明】一種無(wú)線傳感器網(wǎng)絡(luò)非均勻分簇節(jié)點(diǎn)調(diào)度方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于無(wú)線傳感器網(wǎng)絡(luò)【技術(shù)領(lǐng)域】,涉及一種無(wú)線傳感器網(wǎng)絡(luò)非均勻分簇節(jié)點(diǎn)調(diào)度方法。
【背景技術(shù)】
[0002]無(wú)線傳感器網(wǎng)絡(luò)(Wireless Sensor Network,WSN)節(jié)點(diǎn)的能量、資源、通信能力十分有限,如何利用節(jié)點(diǎn)能量設(shè)計(jì)高效的節(jié)點(diǎn)調(diào)度算法提高網(wǎng)絡(luò)壽命成為當(dāng)前無(wú)線傳感器網(wǎng)絡(luò)研究的關(guān)鍵問(wèn)題。
[0003]早在2000年,Heinzelman W提出了第一個(gè)針對(duì)WSN設(shè)計(jì)的低功耗自適應(yīng)分簇路由協(xié)議LEACH,該算法將網(wǎng)絡(luò)的負(fù)載分配到每個(gè)節(jié)點(diǎn)上,從而降低單個(gè)節(jié)點(diǎn)能量消耗,提高網(wǎng)絡(luò)生存時(shí)間,但LEACH協(xié)議沒(méi)有考慮簇首分布不均以及節(jié)點(diǎn)剩余能量等問(wèn)題。LEACH的改進(jìn)協(xié)議很多,例如,采用集中式的簇首產(chǎn)生算法,根據(jù)全局信息挑選簇首,有效控制簇首的數(shù)量和位置,同時(shí)考慮剩余能量。LAECH協(xié)議及其改進(jìn)算法雖然有效延長(zhǎng)網(wǎng)絡(luò)生命周期,但存在簇間能量消耗不均衡的問(wèn)題,離匯聚節(jié)點(diǎn)遠(yuǎn)的簇首仍然具有較大的能耗。
[0004]針對(duì)簇間能量消耗不均衡等問(wèn)題,國(guó)內(nèi)外研究人員采用非均勻分簇策略來(lái)平衡簇首的能量消耗。EECS方法為了均衡簇首能量消耗,普通節(jié)點(diǎn)在選擇簇首時(shí)不僅要考慮自身離簇首的距離,而且要考慮簇首到匯聚節(jié)點(diǎn)的距離,從而構(gòu)造出大小非均勻的簇。但EECS的能量平衡措施只能緩解簇首間的能量消耗不均衡現(xiàn)象,無(wú)法從整體上實(shí)現(xiàn)節(jié)點(diǎn)間的能量平衡。而EEUC采用非均勻分簇和簇間多跳路由有機(jī)結(jié)合的方式,利用非均勻的競(jìng)爭(zhēng)半徑,使得靠近基站的簇的成員數(shù)目相對(duì)較小,從而簇首能夠節(jié)約能量以供簇間數(shù)據(jù)轉(zhuǎn)發(fā)使用,達(dá)到均衡簇首能量消耗的目的,但EEUC只適合均勻分布的網(wǎng)絡(luò)。在原有方法的基礎(chǔ)上,繼承EEUC的非均勻分簇結(jié)構(gòu),采用基于時(shí)間驅(qū)動(dòng)的簇首選擇機(jī)制且利用貪婪算法尋找簇首轉(zhuǎn)發(fā)的中繼節(jié)點(diǎn)。以上非均勻分簇算法中,每一輪所有節(jié)點(diǎn)都要處于工作狀態(tài)進(jìn)行數(shù)據(jù)采集與傳輸,在節(jié)點(diǎn)分布密集的無(wú)線傳感器網(wǎng)絡(luò)中,這樣會(huì)造成大量信息冗余、無(wú)線信號(hào)干擾、能量浪費(fèi)等問(wèn)題。
【發(fā)明內(nèi)容】
[0005]本發(fā)明的目的是提供一種無(wú)線傳感器網(wǎng)絡(luò)非均勻分簇節(jié)點(diǎn)調(diào)度方法,解決了現(xiàn)有技術(shù)中存在的無(wú)線傳感器網(wǎng)絡(luò)中節(jié)點(diǎn)能耗不均衡,網(wǎng)絡(luò)的生命周期短的問(wèn)題。
[0006]本發(fā)明所采用的技術(shù)方案是,一種無(wú)線傳感器網(wǎng)絡(luò)非均勻分簇節(jié)點(diǎn)調(diào)度方法,具體按照以下步驟實(shí)施:
[0007]步驟1、非均勻分簇簇首的選舉以及完成非均勻分簇;
[0008]步驟2、在步驟1完成非均勻的分簇后,在簇內(nèi)查找冗余節(jié)點(diǎn),并關(guān)閉冗余節(jié)點(diǎn)使冗余節(jié)點(diǎn)進(jìn)入休眠狀態(tài);
[0009]步驟3、在完成步驟2冗余節(jié)點(diǎn)的調(diào)度休眠后,活動(dòng)節(jié)點(diǎn)進(jìn)入穩(wěn)定工作狀態(tài);
[0010]步驟4、在步驟3中活動(dòng)節(jié)點(diǎn)工作完成之后,對(duì)簇內(nèi)節(jié)點(diǎn)角色與狀態(tài)進(jìn)行調(diào)整;
[0011]步驟5、在步驟4的節(jié)點(diǎn)角色與狀態(tài)調(diào)整完之后,將循環(huán)執(zhí)行步驟3、步驟4,直至所有節(jié)點(diǎn)能量消耗完。
[0012]本發(fā)明的特點(diǎn)還在于,
[0013]步驟1簇首的具體選舉方式及完成非均勻分簇為:距離匯聚節(jié)點(diǎn)近的簇首消耗的能量較少,遠(yuǎn)離匯聚節(jié)點(diǎn)的簇首消耗的能量較多,因此越遠(yuǎn)離匯聚節(jié)點(diǎn)形成的簇要越小,以平衡簇間較大的通信消耗;首輪所有節(jié)點(diǎn)參與簇首的競(jìng)選,平衡所有節(jié)點(diǎn)的能耗;為了使越遠(yuǎn)離匯聚節(jié)點(diǎn)形成的簇越小,給每個(gè)競(jìng)選簇首節(jié)點(diǎn)設(shè)置一個(gè)競(jìng)爭(zhēng)半徑R_prte,Rcompete是節(jié)點(diǎn)距離匯聚點(diǎn)距離與所在區(qū)域節(jié)點(diǎn)密度的函數(shù);每個(gè)競(jìng)選簇首節(jié)點(diǎn)競(jìng)爭(zhēng)半徑隊(duì).R_pete的公式為:
( d{N ,BS)-d 、 、
N..R t = l-c κ } — {l~p)R ,
i competeij\ 嚴(yán) / set
[0014]^腿-―)(1)
P— A"
[0015]其中,其中dmax和dmin分別代表網(wǎng)絡(luò)中的節(jié)點(diǎn)到匯聚點(diǎn)的最大距離和最小距離;c是用于控制取值范圍的參數(shù),在0?1之間取值;p是節(jié)點(diǎn)所在區(qū)域的密度因子^(NpBS)是傳感器節(jié)點(diǎn)到匯聚節(jié)點(diǎn)的距離;隊(duì)是網(wǎng)絡(luò)中任一節(jié)點(diǎn);i是網(wǎng)絡(luò)區(qū)域中任意傳感器節(jié)點(diǎn)的標(biāo)號(hào);Rsrt是預(yù)先設(shè)定最大競(jìng)爭(zhēng)半徑;Nmi(i)是鄰居節(jié)點(diǎn)數(shù);Nall是整個(gè)網(wǎng)絡(luò)中存活節(jié)點(diǎn)數(shù)。
[0016]在簇首競(jìng)選過(guò)程中,若候選簇首隊(duì)宣布其競(jìng)選獲勝,則在隊(duì)的競(jìng)爭(zhēng)半徑隊(duì).Rcompete內(nèi)的所有候選簇首均不能成為最終簇首,需要退出競(jìng)選過(guò)程,均成為普通節(jié)點(diǎn),同時(shí)這些節(jié)點(diǎn)加入最終簇首隊(duì),形成一個(gè)以隊(duì)為簇首,N,的競(jìng)爭(zhēng)半徑內(nèi)的其他候選簇首為簇內(nèi)普通成員的一個(gè)簇。
[0017]步驟2的具體實(shí)施過(guò)程為:將簇內(nèi)節(jié)點(diǎn)按能量從小到大排序,并將節(jié)點(diǎn)的ID依次存儲(chǔ)在名為clusterNodes的集合中,集合中每個(gè)元素都存在一個(gè)index標(biāo)記,在判斷冗余節(jié)點(diǎn)時(shí),簇首通過(guò)index+Ι的大小給簇內(nèi)節(jié)點(diǎn)分配時(shí)序,節(jié)點(diǎn)每次都從能量最小的節(jié)點(diǎn)開(kāi)始判斷是否為冗余節(jié)點(diǎn),若為冗余節(jié)點(diǎn),則此節(jié)點(diǎn)立即進(jìn)入睡眠狀態(tài),并發(fā)送一個(gè)休眠消息給其感知節(jié)點(diǎn),避免了相鄰的兩個(gè)節(jié)點(diǎn)同時(shí)休眠而出現(xiàn)的監(jiān)測(cè)空洞現(xiàn)象,同時(shí)啟動(dòng)一個(gè)睡眠計(jì)時(shí)器Tsl_保證在下一輪開(kāi)始時(shí)處于活動(dòng)狀態(tài)。
[0018]步驟3的具體實(shí)施過(guò)程為:簇內(nèi)節(jié)點(diǎn)采集監(jiān)測(cè)區(qū)域內(nèi)的信息,在自己傳輸數(shù)據(jù)的時(shí)序內(nèi)采用CSMA MAC協(xié)議向其簇首發(fā)送數(shù)據(jù);簇首節(jié)點(diǎn)接收來(lái)自簇內(nèi)各個(gè)節(jié)點(diǎn)的信息,將其融合后以單跳方式發(fā)送給匯聚點(diǎn)。
[0019]步驟4的具體實(shí)施過(guò)程為:首先冗余節(jié)點(diǎn)睡眠計(jì)時(shí)器Tsleep到達(dá),冗余節(jié)點(diǎn)從睡眠狀態(tài)轉(zhuǎn)為工作狀態(tài);其次簇內(nèi)的所有節(jié)點(diǎn)向上一輪簇首發(fā)送帶有自己ID和剩余能量的消息,簇首根據(jù)節(jié)點(diǎn)的剩余能量進(jìn)行排序,更新clusterNodes集合,選出能量最大的節(jié)點(diǎn)擔(dān)任本輪簇首,向其它節(jié)點(diǎn)公布新簇首的ID并向新簇首發(fā)送攜帶clusterNodes信息的消息;然后在各個(gè)簇內(nèi)通過(guò)判斷冗余節(jié)點(diǎn)的方法判斷節(jié)點(diǎn)是否為冗余節(jié)點(diǎn);如果某個(gè)節(jié)點(diǎn)確定為冗余節(jié)點(diǎn),則立即將該節(jié)點(diǎn)轉(zhuǎn)為睡眠狀態(tài),如果某個(gè)節(jié)點(diǎn)確定不是冗余節(jié)點(diǎn),則繼續(xù)判斷另一個(gè)節(jié)點(diǎn),直到所有節(jié)點(diǎn)查找完畢。
[0020]判斷冗余節(jié)點(diǎn)的判斷方法為:節(jié)點(diǎn)檢測(cè)監(jiān)測(cè)半徑R內(nèi)是否存在4個(gè)或4個(gè)以上的非簇首節(jié)點(diǎn),這些節(jié)點(diǎn)稱為隊(duì)的感知節(jié)點(diǎn),如果存在至少4個(gè)感知節(jié)點(diǎn)按逆時(shí)針順序相鄰節(jié)點(diǎn)間的夾角同時(shí)滿足60°?120°,則該節(jié)點(diǎn)冗余,此時(shí)它的活動(dòng)狀態(tài)轉(zhuǎn)為休眠狀態(tài)。
[0021]本發(fā)明的有益效果是:本發(fā)明一種無(wú)線傳感器網(wǎng)絡(luò)非均勻分簇節(jié)點(diǎn)調(diào)度方法將非均勻分簇與冗余節(jié)點(diǎn)調(diào)度相結(jié)合,使得每個(gè)節(jié)點(diǎn)的能量消耗比較均衡,同時(shí)避免了大量的冗余節(jié)點(diǎn)同時(shí)工作造成資源浪費(fèi)的問(wèn)題,這樣有效的延長(zhǎng)了網(wǎng)絡(luò)的生命周期。
【專利附圖】
【附圖說(shuō)明】
[0022]圖1是本發(fā)明一種無(wú)線傳感器網(wǎng)絡(luò)非均勻分簇節(jié)點(diǎn)調(diào)度方法中競(jìng)選簇首節(jié)點(diǎn)的拓?fù)涫疽鈭D;
[0023]圖2是本發(fā)明一種無(wú)線傳感器網(wǎng)絡(luò)非均勻分簇節(jié)點(diǎn)調(diào)度方法中候選簇首N與其他候選簇首的競(jìng)選示意圖;
[0024]圖3是本發(fā)明一種無(wú)線傳感器網(wǎng)絡(luò)非均勻分簇節(jié)點(diǎn)調(diào)度方法中感知節(jié)點(diǎn)的分布圖;
[0025]圖4是本發(fā)明一種無(wú)線傳感器網(wǎng)絡(luò)非均勻分簇節(jié)點(diǎn)調(diào)度方法與兩種現(xiàn)有的經(jīng)典方法的網(wǎng)絡(luò)總能量的比較圖;
[0026]圖5是本發(fā)明一種無(wú)線傳感器網(wǎng)絡(luò)非均勻分簇節(jié)點(diǎn)調(diào)度方法與兩種現(xiàn)有的經(jīng)典方法的網(wǎng)絡(luò)存活時(shí)間的比較圖。
【具體實(shí)施方式】
[0027]下面結(jié)合附圖和【具體實(shí)施方式】對(duì)本發(fā)明進(jìn)行詳細(xì)說(shuō)明。
[0028]本發(fā)明一種無(wú)線傳感器網(wǎng)絡(luò)非均勻分簇節(jié)點(diǎn)調(diào)度方法,具體按照以下步驟實(shí)施:
[0029]步驟1、非均勻分簇簇首的選舉以及完成非均勻分簇,選舉方式為:距離匯聚節(jié)點(diǎn)近的簇首消耗的能量較少,遠(yuǎn)離匯聚節(jié)點(diǎn)的簇首消耗的能量較多,因此越遠(yuǎn)離匯聚節(jié)點(diǎn)形成的簇要越小,以平衡簇間較大的通信消耗;首輪所有節(jié)點(diǎn)參與簇首的競(jìng)選,平衡所有節(jié)點(diǎn)的能耗;為了使越遠(yuǎn)離匯聚節(jié)點(diǎn)形成的簇越小,給每個(gè)競(jìng)選簇首節(jié)點(diǎn)設(shè)置一個(gè)競(jìng)爭(zhēng)半徑Reo^ete^ RCofflpete是節(jié)點(diǎn)距離匯聚點(diǎn)距離與所在區(qū)域節(jié)點(diǎn)密度的函數(shù);每個(gè)競(jìng)選簇首節(jié)點(diǎn)競(jìng)爭(zhēng)半徑隊(duì).Rcompete的公式為:
Λ, Ο ?, ,d^?BS)-d-,)
N1-Rcompete =~^~P)Rset
[0030]、^)(1)
p - A〃
[0031]其中,其中(1_和dmin分別代表網(wǎng)絡(luò)中的節(jié)點(diǎn)到匯聚點(diǎn)的最大距離和最小距離;c是用于控制取值范圍的參數(shù),在0?1之間取值;p是節(jié)點(diǎn)所在區(qū)域的密度因子^(NpBS)是傳感器節(jié)點(diǎn)到匯聚節(jié)點(diǎn)的距離;隊(duì)是網(wǎng)絡(luò)中任一節(jié)點(diǎn);i是網(wǎng)絡(luò)區(qū)域中任意傳感器節(jié)點(diǎn)的標(biāo)號(hào);Rsrt是預(yù)先設(shè)定最大競(jìng)爭(zhēng)半徑;Nmi(i)是鄰居節(jié)點(diǎn)數(shù);Nall是整個(gè)網(wǎng)絡(luò)中存活節(jié)點(diǎn)數(shù);
[0032]在簇首競(jìng)選過(guò)程中,若候選簇首隊(duì)宣布其競(jìng)選獲勝,則在隊(duì)的競(jìng)爭(zhēng)半徑隊(duì).Rcompete內(nèi)的所有候選簇首均不能成為最終簇首,需要退出競(jìng)選過(guò)程均成為普通節(jié)點(diǎn),同時(shí)這些節(jié)點(diǎn)加入最終簇首隊(duì),形成一個(gè)以隊(duì)為簇首,N,的競(jìng)爭(zhēng)半徑內(nèi)的其他候選簇首為簇內(nèi)普通成員的一個(gè)簇;
[0033]步驟2、在步驟1完成非均勻的分簇后,在簇內(nèi)查找冗余節(jié)點(diǎn),并關(guān)閉冗余節(jié)點(diǎn)使冗余節(jié)點(diǎn)進(jìn)入休眠狀態(tài),具體為:將簇內(nèi)節(jié)點(diǎn)按能量從小到大排序,并將節(jié)點(diǎn)的ID依次存儲(chǔ)在名為clusterNodes的集合中,集合中每個(gè)元素都存在一個(gè)index標(biāo)記,在判斷冗余節(jié)點(diǎn)時(shí),簇首通過(guò)index+Ι的大小給簇內(nèi)節(jié)點(diǎn)分配時(shí)序,節(jié)點(diǎn)每次都從能量最小的節(jié)點(diǎn)開(kāi)始判斷是否為冗余節(jié)點(diǎn),判斷方法為:節(jié)點(diǎn)檢測(cè)監(jiān)測(cè)半徑R內(nèi)是否存在4個(gè)或4個(gè)以上的非簇首節(jié)點(diǎn),這些節(jié)點(diǎn)稱為Ni的感知節(jié)點(diǎn),如果存在至少4個(gè)感知節(jié)點(diǎn)按逆時(shí)針順序相鄰節(jié)點(diǎn)間的夾角同時(shí)滿足60°?120°,則該節(jié)點(diǎn)冗余,此時(shí)它的活動(dòng)狀態(tài)轉(zhuǎn)為休眠狀態(tài),并發(fā)送一個(gè)休眠消息給其感知節(jié)點(diǎn),避免了相鄰的兩個(gè)節(jié)點(diǎn)同時(shí)休眠而出現(xiàn)的監(jiān)測(cè)空洞現(xiàn)象,同時(shí)啟動(dòng)一個(gè)睡眠計(jì)時(shí)器TslMP保證在下一輪開(kāi)始時(shí)處于活動(dòng)狀態(tài);
[0034]步驟3、在完成步驟2冗余節(jié)點(diǎn)的調(diào)度休眠后,活動(dòng)節(jié)點(diǎn)進(jìn)入穩(wěn)定工作狀態(tài),簇內(nèi)節(jié)點(diǎn)采集監(jiān)測(cè)區(qū)域內(nèi)的信息,在自己傳輸數(shù)據(jù)的時(shí)序內(nèi)采用CSMA MAC協(xié)議向其簇首發(fā)送數(shù)據(jù);簇首節(jié)點(diǎn)接收來(lái)自簇內(nèi)各個(gè)節(jié)點(diǎn)的信息,將其融合后以單跳方式發(fā)送給匯聚點(diǎn);
[0035]步驟4、在步驟3中活動(dòng)節(jié)點(diǎn)工作完成之后,對(duì)簇內(nèi)節(jié)點(diǎn)角色與狀態(tài)進(jìn)行調(diào)整,具體為:首先冗余節(jié)點(diǎn)睡眠計(jì)時(shí)器TslMp到達(dá),冗余節(jié)點(diǎn)從睡眠狀態(tài)轉(zhuǎn)為工作狀態(tài);其次簇內(nèi)的所有節(jié)點(diǎn)向上一輪簇首發(fā)送帶有自己ID和剩余能量的消息,簇首根據(jù)節(jié)點(diǎn)的剩余能量進(jìn)行排序,更新clusterNodes集合,選出能量最大的節(jié)點(diǎn)擔(dān)任本輪簇首,向其它節(jié)點(diǎn)公布新簇首的ID并向新簇首發(fā)送攜帶clusterNodes信息的消息;然后在各個(gè)簇內(nèi)通過(guò)判斷冗余節(jié)點(diǎn)的方法判斷節(jié)點(diǎn)是否為冗余節(jié)點(diǎn);如果某個(gè)節(jié)點(diǎn)確定為冗余節(jié)點(diǎn),則立即將該節(jié)點(diǎn)轉(zhuǎn)為睡眠狀態(tài),如果某個(gè)節(jié)點(diǎn)確定不是冗余節(jié)點(diǎn),則繼續(xù)判斷另一個(gè)節(jié)點(diǎn),直到所有節(jié)點(diǎn)查找完畢。
[0036]步驟5、在步驟4的節(jié)點(diǎn)角色與狀態(tài)調(diào)整完之后,將循環(huán)執(zhí)行步驟3、步驟4,直至所有節(jié)點(diǎn)能量消耗完。
[0037]實(shí)施例
[0038]步驟1、非均勻分簇簇首的選舉以及完成非均勻分簇
[0039]在網(wǎng)絡(luò)初始階段,匯聚點(diǎn)以一定的功率向網(wǎng)絡(luò)內(nèi)廣播一個(gè)信號(hào),每個(gè)傳感器節(jié)點(diǎn)在接收到此信號(hào)后,根據(jù)接收信號(hào)的強(qiáng)度RSSI計(jì)算它到匯聚節(jié)點(diǎn)的近似距離,并將這個(gè)距離記為cKNi,BS),N,指網(wǎng)絡(luò)中任一節(jié)點(diǎn),i指網(wǎng)絡(luò)區(qū)域中任意傳感器節(jié)點(diǎn)的標(biāo)號(hào)。由于距離匯聚節(jié)點(diǎn)近的簇首消耗的能量較少,遠(yuǎn)離匯聚節(jié)點(diǎn)的簇首消耗的能量較多,因此越遠(yuǎn)離匯聚節(jié)點(diǎn)形成的簇要越小,以平衡簇間較大的通信消耗。本發(fā)明一種無(wú)線傳感器網(wǎng)絡(luò)非均勻分簇節(jié)點(diǎn)調(diào)度方法在首輪采用所有節(jié)點(diǎn)參與簇首的競(jìng)選,平衡所有節(jié)點(diǎn)的能耗。為了使越遠(yuǎn)離匯聚節(jié)點(diǎn)形成的簇越小,給每個(gè)競(jìng)選簇首節(jié)點(diǎn)設(shè)置一個(gè)競(jìng)爭(zhēng)半徑R_prte,Rcompete是節(jié)點(diǎn)距離匯聚點(diǎn)距離與所在區(qū)域節(jié)點(diǎn)密度的函數(shù)。該函數(shù)主要功能是在節(jié)點(diǎn)密度相等的情況下,使遠(yuǎn)離匯聚點(diǎn)的節(jié)點(diǎn)具有較小的競(jìng)爭(zhēng)半徑,從而生成較多的簇首,每個(gè)簇的范圍就小,距離匯聚點(diǎn)較近的節(jié)點(diǎn)具有較大的競(jìng)爭(zhēng)半徑,從而生成較少的簇首,每個(gè)簇的范圍就大;在節(jié)點(diǎn)與匯聚點(diǎn)距離相同的情況下,節(jié)點(diǎn)所在密度因子大,簇的競(jìng)爭(zhēng)半徑就小。假定Rsrt是預(yù)先設(shè)定最大競(jìng)爭(zhēng)半徑,每個(gè)競(jìng)選簇首節(jié)點(diǎn)競(jìng)爭(zhēng)半徑N1.如公式(1)所不: N.R ^-/明叫(1_氣
i compete?7、嚴(yán) / set
[0040]^clmax ~u m )(1)
p _ A"
[0041]其中,其中dmax和dmin分別代表網(wǎng)絡(luò)中的節(jié)點(diǎn)到匯聚點(diǎn)的最大距離和最小距離,c是用于控制取值范圍的參數(shù),在0?1之間取值,p是節(jié)點(diǎn)所在區(qū)域的密度因子,它由節(jié)點(diǎn)采用布爾感知模型時(shí)檢測(cè)到的鄰居節(jié)點(diǎn)數(shù)Nmi(i)與整個(gè)網(wǎng)絡(luò)中存活節(jié)點(diǎn)數(shù)Nall的比重所確定的。由公式(1)可以看出,當(dāng)兩個(gè)簇首節(jié)點(diǎn)密度相同時(shí),距匯聚節(jié)點(diǎn)距離越遠(yuǎn),簇半徑越小,使簇內(nèi)節(jié)省能量用于簇首數(shù)據(jù)轉(zhuǎn)發(fā)。當(dāng)兩個(gè)簇首到匯聚節(jié)點(diǎn)的距離相等時(shí),節(jié)點(diǎn)所在區(qū)域密度越大的競(jìng)爭(zhēng)半徑越小,達(dá)到平衡各簇負(fù)載的目的。
[0042]圖1所示為一張競(jìng)選簇首節(jié)點(diǎn)的拓?fù)涫疽鈭D,從左到右3個(gè)大小不同的圓分別代表節(jié)點(diǎn)N1; N2, N3的競(jìng)爭(zhēng)區(qū)域。假設(shè)在節(jié)點(diǎn)&的競(jìng)爭(zhēng)區(qū)域內(nèi),&競(jìng)選獲勝,則&成為簇首,在隊(duì)的競(jìng)爭(zhēng)區(qū)域內(nèi),隊(duì)競(jìng)選成功,因?yàn)?amp;在隊(duì)的競(jìng)選范圍內(nèi),因此N2代替&成為簇首。相同地,N3競(jìng)選成功,N3又代替N2成為簇首。此時(shí),在3個(gè)節(jié)點(diǎn)的競(jìng)爭(zhēng)范圍內(nèi)就只產(chǎn)生了一個(gè)簇首。為了避免上述情況發(fā)生,定義候選簇首的競(jìng)爭(zhēng)規(guī)則如下:
[0043]在競(jìng)選過(guò)程中,若候選簇首隊(duì)宣布其競(jìng)選獲勝,則在隊(duì)的競(jìng)爭(zhēng)半徑隊(duì).Rcompete內(nèi)的所有候選簇首均不能成為最終簇首,需要退出競(jìng)選過(guò)程。
[0044]圖2為監(jiān)測(cè)區(qū)域內(nèi)任意一候選簇首N與其他候選簇首的競(jìng)選示意圖,共有(a)、(b)、(c)、(d)四種情況。由候選簇首的競(jìng)爭(zhēng)規(guī)則可直接得出,N2、N3不能與N同時(shí)成為簇首。對(duì)于(c)所示情況,假設(shè)N競(jìng)選成功成為簇首,若N4也競(jìng)選成功,則根據(jù)候選簇首的競(jìng)爭(zhēng)規(guī)貝U,候選簇首N4競(jìng)選成功,在N4競(jìng)爭(zhēng)半徑內(nèi)的所有候選簇首都不能成為最終簇首,則說(shuō)明N不能成為簇首,這與假設(shè)N競(jìng)選成功矛盾,因此由候選簇首的競(jìng)爭(zhēng)規(guī)則可以得出當(dāng)N競(jìng)選成功時(shí),N4需退出競(jìng)選過(guò)程。對(duì)于(d)所示情況,N和N5可以同時(shí)成為簇首,兩者互不影響。將圖2中(a)、(b)、(c) 3種情況中的候選簇首N2、N3、N4規(guī)定為候選簇首N的鄰居節(jié)點(diǎn),每個(gè)候選簇首都有其鄰居節(jié)點(diǎn)集。公式(2)為候選簇首隊(duì)的鄰居節(jié)點(diǎn)集合的定義:
[0045]隊(duì)._ = {隊(duì) | 隊(duì) e {候選簇首},且 d (Ni; Nj) < max (N” Rcompete, Nj.Rcompete)} (2)
[0046]候選簇首向外廣播一條包含自身ID,競(jìng)爭(zhēng)半徑R_pete以及自身能量En的消息,其他節(jié)點(diǎn)收到此消息后,通過(guò)公式(2)更新其鄰居節(jié)點(diǎn)信息表。每個(gè)候選簇首和其鄰居節(jié)點(diǎn)比較剩余能量,剩余能量較大的候選簇首當(dāng)選為最終簇首,并立刻向其鄰居節(jié)點(diǎn)發(fā)出自己是自己競(jìng)選成功成為簇首的消息,收到此消息的鄰居候選簇首退出競(jìng)爭(zhēng),成為普通節(jié)點(diǎn),并從其他候選簇首的鄰居節(jié)點(diǎn)中移除。
[0047]在簇首競(jìng)選完成后,本發(fā)明一種無(wú)線傳感器網(wǎng)絡(luò)非均勻分簇節(jié)點(diǎn)調(diào)度方法直接使最終簇首的鄰居節(jié)點(diǎn)集成為自己的簇內(nèi)成員,簡(jiǎn)化了傳統(tǒng)的根據(jù)收到簇首廣播信息的強(qiáng)弱選擇加入某個(gè)簇首的方法,避免了節(jié)點(diǎn)頻繁的交互與計(jì)算。簇形成后,簇首節(jié)點(diǎn)采用TDMA方式為簇中每個(gè)節(jié)點(diǎn)分配傳輸數(shù)據(jù)的時(shí)間間隙最終完成整個(gè)網(wǎng)絡(luò)的非均勻分簇。
[0048]步驟2、在簇內(nèi)查找冗余節(jié)點(diǎn)
[0049]完成非均勻分簇后,在簇內(nèi)查找冗余節(jié)點(diǎn),并關(guān)閉冗余節(jié)點(diǎn)使其進(jìn)入休眠狀態(tài)。在檢測(cè)冗余節(jié)點(diǎn)時(shí),為了更好地均衡節(jié)點(diǎn)的能耗,將簇內(nèi)節(jié)點(diǎn)按能量從小到大排序,并將節(jié)點(diǎn)的ID依次存儲(chǔ)在名為clusterNodes的集合中,集合中每個(gè)元素都存在一個(gè)index標(biāo)記,在判斷冗余節(jié)點(diǎn)時(shí),簇首通過(guò)index+Ι的大小給簇內(nèi)節(jié)點(diǎn)分配時(shí)序,節(jié)點(diǎn)根據(jù)時(shí)序的大小在自己的時(shí)序內(nèi)的進(jìn)行判斷,即每次都從能量最小的節(jié)點(diǎn)開(kāi)始判斷。判斷方法為:節(jié)點(diǎn)檢測(cè)監(jiān)測(cè)半徑R內(nèi)是否存在4個(gè)或4個(gè)以上的非簇首節(jié)點(diǎn),這些節(jié)點(diǎn)稱為&的感知節(jié)點(diǎn),如果存在至少4個(gè)感知節(jié)點(diǎn)按逆時(shí)針順序相鄰節(jié)點(diǎn)間的夾角同時(shí)滿足大于60°小于120°,如圖3所示的覆蓋區(qū)域感知節(jié)點(diǎn)的分布圖,則該節(jié)點(diǎn)冗余,此時(shí)它的活動(dòng)狀態(tài)轉(zhuǎn)為休眠狀態(tài),并發(fā)送一個(gè)休眠消息給其感知節(jié)點(diǎn),避免了相鄰的兩個(gè)節(jié)點(diǎn)同時(shí)休眠而出現(xiàn)的監(jiān)測(cè)空洞現(xiàn)象,同時(shí)啟動(dòng)一個(gè)睡眠計(jì)時(shí)器TslMP保證在下一輪開(kāi)始時(shí)處于活動(dòng)狀態(tài)。
[0050]步驟3、活動(dòng)節(jié)點(diǎn)穩(wěn)定工作
[0051]完成簇首的選舉與冗余節(jié)點(diǎn)的調(diào)度休眠后,活動(dòng)節(jié)點(diǎn)進(jìn)入穩(wěn)定工作階段。此階段主要完成數(shù)據(jù)的采集和傳輸。在此階段簇內(nèi)普通節(jié)點(diǎn)的能量消耗主要為發(fā)送數(shù)據(jù)消耗的能量,如公式⑶所示,其中,E.為電路消耗的能量,d為發(fā)送者與接收者的距離,當(dāng)仏屯時(shí)采用自由空間模型,發(fā)射功率呈d2衰減,當(dāng)心屯或干擾較大時(shí)采用多路徑衰減模型,發(fā)射功率呈d4衰減。efs、分別為這兩種模型中功率放大所消耗的能量比例系數(shù)。
= ET w(l) + ΕΤκ aini>{l,d)
[0052]_ I /£:,,r + lspd2 J<d{)(3)
JEe,ec+KPd4^^d0
[0053]簇首消耗的能量如公式(4)所示。其中,Si表示簇內(nèi)處于工作狀態(tài)的普通節(jié)點(diǎn)數(shù)目。
[0054]E 卿=SikEelec+ (S.+l) kEDA+k (Eelec+ ε mpd4) (4)
[0055]步驟4、簇內(nèi)節(jié)點(diǎn)角色與狀態(tài)的調(diào)整
[0056]首先冗余節(jié)點(diǎn)睡眠計(jì)時(shí)器Tsl_到達(dá),冗余節(jié)點(diǎn)從睡眠狀態(tài)轉(zhuǎn)為工作狀態(tài);其次簇內(nèi)的所有節(jié)點(diǎn)向上一輪簇首發(fā)送帶有自己ID和剩余能量的消息,簇首根據(jù)節(jié)點(diǎn)的剩余能量進(jìn)行排序,更新clusterNodes集合,選出能量最大的節(jié)點(diǎn)擔(dān)任本輪簇首,向其它節(jié)點(diǎn)公布新簇首的ID并向新簇首發(fā)送攜帶clusterNodes信息的消息;然后在各個(gè)簇內(nèi)通過(guò)判斷冗余節(jié)點(diǎn)的方法判斷節(jié)點(diǎn)是否為冗余節(jié)點(diǎn);如果某個(gè)節(jié)點(diǎn)確定為冗余節(jié)點(diǎn),則立即將該節(jié)點(diǎn)轉(zhuǎn)為睡眠狀態(tài),如果某個(gè)節(jié)點(diǎn)確定不是冗余節(jié)點(diǎn),則繼續(xù)判斷另一個(gè)節(jié)點(diǎn),直到所有節(jié)點(diǎn)查找完畢。
[0057]步驟5、步驟4的節(jié)點(diǎn)角色與狀態(tài)調(diào)整完之后,循環(huán)執(zhí)行步驟3、步驟4,直至所有節(jié)點(diǎn)能量消耗完。
[0058]如圖4所示,無(wú)線傳感器網(wǎng)絡(luò)仿真時(shí)間相同,本發(fā)明一種無(wú)線傳感器網(wǎng)絡(luò)非均勻分簇節(jié)點(diǎn)調(diào)度方法對(duì)節(jié)點(diǎn)進(jìn)行調(diào)度后的網(wǎng)絡(luò)總能量遠(yuǎn)遠(yuǎn)大于其他兩種現(xiàn)有的經(jīng)典方法的網(wǎng)絡(luò)總能量。
[0059]如圖5所示,無(wú)線傳感器網(wǎng)絡(luò)仿真時(shí)間相同,本發(fā)明一種無(wú)線傳感器網(wǎng)絡(luò)非均勻分簇節(jié)點(diǎn)調(diào)度方法對(duì)節(jié)點(diǎn)進(jìn)行調(diào)度后的存活節(jié)點(diǎn)數(shù)遠(yuǎn)遠(yuǎn)多于其他兩種現(xiàn)有的經(jīng)典方法的節(jié)點(diǎn)存活數(shù)量。
[0060]本發(fā)明一種無(wú)線傳感器網(wǎng)絡(luò)非均勻分簇節(jié)點(diǎn)調(diào)度方法,將非均勻分簇與冗余節(jié)點(diǎn)調(diào)度相結(jié)合,使得各節(jié)點(diǎn)的能量消耗比較均衡,且提高了能量利用率,節(jié)約了網(wǎng)絡(luò)總能量,有效的延長(zhǎng)了網(wǎng)絡(luò)的生命周期。
【權(quán)利要求】
1.一種無(wú)線傳感器網(wǎng)絡(luò)非均勻分簇節(jié)點(diǎn)調(diào)度方法,其特征在于,具體按照以下步驟實(shí)施: 步驟1、非均勻分簇簇首的選舉以及完成非均勻分簇; 步驟2、在步驟1完成非均勻的分簇后,在簇內(nèi)查找冗余節(jié)點(diǎn),并關(guān)閉冗余節(jié)點(diǎn)使冗余節(jié)點(diǎn)進(jìn)入休眠狀態(tài); 步驟3、在完成步驟2冗余節(jié)點(diǎn)的調(diào)度休眠后,活動(dòng)節(jié)點(diǎn)進(jìn)入穩(wěn)定工作狀態(tài); 步驟4、在步驟3中活動(dòng)節(jié)點(diǎn)工作完成之后,對(duì)簇內(nèi)節(jié)點(diǎn)角色與狀態(tài)進(jìn)行調(diào)整; 步驟5、在步驟4的節(jié)點(diǎn)角色與狀態(tài)調(diào)整完之后,將循環(huán)執(zhí)行步驟3、步驟4,直至所有節(jié)點(diǎn)能量消耗完。
2.根據(jù)權(quán)利要求1所述的一種無(wú)線傳感器網(wǎng)絡(luò)非均勻分簇節(jié)點(diǎn)調(diào)度方法,其特征在于,所述步驟1簇首的具體選舉方式及非均勻分簇為:距離匯聚節(jié)點(diǎn)近的簇首消耗的能量較少,遠(yuǎn)離匯聚節(jié)點(diǎn)的簇首消耗的能量較多,因此越遠(yuǎn)離匯聚節(jié)點(diǎn)形成的簇要越小,以平衡簇間較大的通信消耗;首輪所有節(jié)點(diǎn)參與簇首的競(jìng)選,平衡所有節(jié)點(diǎn)的能耗;為了使越遠(yuǎn)離匯聚節(jié)點(diǎn)形成的簇越小,給每個(gè)競(jìng)選簇首節(jié)點(diǎn)設(shè)置一個(gè)競(jìng)爭(zhēng)半徑R_prte,Rcompete是節(jié)點(diǎn)距離匯聚點(diǎn)距離與所在區(qū)域節(jié)點(diǎn)密度的函數(shù);每個(gè)競(jìng)選簇首節(jié)點(diǎn)競(jìng)爭(zhēng)半徑隊(duì).Rcompete的公式為: N,.Rm_々-cd(NrBS_、;d 11
\max mui J
,
P = (Nnei(i)_l)/Nali 其中,其中dmax和dmin分別代表網(wǎng)絡(luò)中的節(jié)點(diǎn)到匯聚點(diǎn)的最大距離和最小距離;c是用于控制取值范圍的參數(shù),在0?1之間取值;P是節(jié)點(diǎn)所在區(qū)域的密度因子;cKNpBS)是傳感器節(jié)點(diǎn)到匯聚節(jié)點(diǎn)的距離;隊(duì)是網(wǎng)絡(luò)中任一節(jié)點(diǎn);i是網(wǎng)絡(luò)區(qū)域中任意傳感器節(jié)點(diǎn)的標(biāo)號(hào);Rsrt是預(yù)先設(shè)定最大競(jìng)爭(zhēng)半徑;NMi(i)是鄰居節(jié)點(diǎn)數(shù);Nall是整個(gè)網(wǎng)絡(luò)中存活節(jié)點(diǎn)數(shù)。
3.根據(jù)權(quán)利要求2所述的一種無(wú)線傳感器網(wǎng)絡(luò)非均勻分簇節(jié)點(diǎn)調(diào)度方法,其特征在于,在所述簇首競(jìng)選過(guò)程中,若候選簇首隊(duì)宣布其競(jìng)選獲勝,則在隊(duì)的競(jìng)爭(zhēng)半徑隊(duì).Rcompete內(nèi)的所有候選簇首均不能成為最終簇首,需要退出競(jìng)選過(guò)程,并且加入隊(duì)成為隊(duì)的簇內(nèi)成員,均成為普通節(jié)點(diǎn),同時(shí)這些節(jié)點(diǎn)加入最終簇首Ni;形成一個(gè)以隊(duì)為簇首,N,的競(jìng)爭(zhēng)半徑內(nèi)的其他候選簇首為簇內(nèi)普通成員的一個(gè)簇。
4.根據(jù)權(quán)利要求1所述的一種無(wú)線傳感器網(wǎng)絡(luò)非均勻分簇節(jié)點(diǎn)調(diào)度方法,其特征在于,所述步驟2的具體實(shí)施過(guò)程為:將簇內(nèi)節(jié)點(diǎn)按能量從小到大排序,并將節(jié)點(diǎn)的ID依次存儲(chǔ)在名為clusterNodes的集合中,集合中每個(gè)元素都存在一個(gè)index標(biāo)記,在判斷冗余節(jié)點(diǎn)時(shí),簇首通過(guò)index+Ι的大小給簇內(nèi)節(jié)點(diǎn)分配時(shí)序,節(jié)點(diǎn)每次都從能量最小的節(jié)點(diǎn)開(kāi)始判斷是否為冗余節(jié)點(diǎn),若為冗余節(jié)點(diǎn),則此節(jié)點(diǎn)立即進(jìn)入睡眠狀態(tài),并發(fā)送一個(gè)休眠消息給其感知節(jié)點(diǎn),避免了相鄰的兩個(gè)節(jié)點(diǎn)同時(shí)休眠而出現(xiàn)的監(jiān)測(cè)空洞現(xiàn)象,同時(shí)啟動(dòng)一個(gè)睡眠計(jì)時(shí)器TslMP保證在下一輪開(kāi)始時(shí)處于活動(dòng)狀態(tài)。
5.根據(jù)權(quán)利要求1所述的一種無(wú)線傳感器網(wǎng)絡(luò)非均勻分簇節(jié)點(diǎn)調(diào)度方法,其特征在于,所述步驟3的具體實(shí)施過(guò)程為:簇內(nèi)節(jié)點(diǎn)采集監(jiān)測(cè)區(qū)域內(nèi)的信息,在自己傳輸數(shù)據(jù)的時(shí)序內(nèi)采用CSMA MAC協(xié)議向其簇首發(fā)送數(shù)據(jù);簇首節(jié)點(diǎn)接收來(lái)自簇內(nèi)各個(gè)節(jié)點(diǎn)的信息,將其融合后以單跳方式發(fā)送給匯聚點(diǎn)。
6.根據(jù)權(quán)利要求1所述的一種無(wú)線傳感器網(wǎng)絡(luò)非均勻分簇節(jié)點(diǎn)調(diào)度方法,其特征在于,所述步驟4的具體實(shí)施過(guò)程為:首先冗余節(jié)點(diǎn)睡眠計(jì)時(shí)器TslMP到達(dá),冗余節(jié)點(diǎn)從睡眠狀態(tài)轉(zhuǎn)為工作狀態(tài);其次簇內(nèi)的所有節(jié)點(diǎn)向上一輪簇首發(fā)送帶有自己ID和剩余能量的消息,簇首根據(jù)節(jié)點(diǎn)的剩余能量進(jìn)行排序,更新clusterNodes集合,選出能量最大的節(jié)點(diǎn)擔(dān)任本輪簇首,向其它節(jié)點(diǎn)公布新簇首的ID并向新簇首發(fā)送攜帶clusterNodes信息的消息;然后在各個(gè)簇內(nèi)通過(guò)判斷冗余節(jié)點(diǎn)的方法判斷節(jié)點(diǎn)是否為冗余節(jié)點(diǎn);如果某個(gè)節(jié)點(diǎn)確定為冗余節(jié)點(diǎn),則立即將該節(jié)點(diǎn)轉(zhuǎn)為睡眠狀態(tài),如果某個(gè)節(jié)點(diǎn)確定不是冗余節(jié)點(diǎn),則繼續(xù)判斷另一個(gè)節(jié)點(diǎn),直到所有節(jié)點(diǎn)查找完畢。
7.根據(jù)權(quán)利要求4或6所述的一種無(wú)線傳感器網(wǎng)絡(luò)非均勻分簇節(jié)點(diǎn)調(diào)度方法,其特征在于,所述判斷冗余節(jié)點(diǎn)的判斷方法為:節(jié)點(diǎn)檢測(cè)監(jiān)測(cè)半徑R內(nèi)是否存在4個(gè)或4個(gè)以上的非簇首節(jié)點(diǎn),這些節(jié)點(diǎn)稱為Ni的感知節(jié)點(diǎn),如果存在至少4個(gè)感知節(jié)點(diǎn)按逆時(shí)針順序相鄰節(jié)點(diǎn)間的夾角同時(shí)滿足60°?120°,則該節(jié)點(diǎn)冗余,此時(shí)它的活動(dòng)狀態(tài)轉(zhuǎn)為休眠狀態(tài)。
【文檔編號(hào)】H04W40/24GK104301965SQ201410549072
【公開(kāi)日】2015年1月21日 申請(qǐng)日期:2014年10月16日 優(yōu)先權(quán)日:2014年10月16日
【發(fā)明者】張彤, 燕麗莎, 李雪 申請(qǐng)人:西安理工大學(xué)