本發(fā)明涉及一種無線傳感器執(zhí)行器網(wǎng)絡(luò)分簇路由選擇方法,屬于無線傳感器執(zhí)行器網(wǎng)絡(luò)領(lǐng)域。
背景技術(shù):
無線傳感器執(zhí)行器網(wǎng)絡(luò)(Wireless Sensor and Actor Networks,WSANs)在無線傳感器網(wǎng)絡(luò)(Wireless Sensor Networks,WSNs)的基礎(chǔ)上引入若干執(zhí)行器節(jié)點,形成復雜的分布式傳感與控制系統(tǒng)。WSANs具有易部署、低成本、低能耗、實時性強、容錯性高以及靈活性強等特點,常用于環(huán)境監(jiān)控、智能家居、智慧城市等場景。WSANs最大的特點和優(yōu)勢在于網(wǎng)絡(luò)中的執(zhí)行器節(jié)點能夠作用于物理環(huán)境,從而改變物理世界以達到交互的目的。
WSAN中,通常將網(wǎng)絡(luò)節(jié)點劃分成若干簇,達到減少無線網(wǎng)絡(luò)的通信損耗和資源的重復浪費的目的。通常情況下,簇頭由各傳感器節(jié)點輪流充當,若當前的簇頭節(jié)點不再滿足充當簇頭的條件時,需要對網(wǎng)絡(luò)節(jié)點重新進行分簇。但是,節(jié)點退出或加入導致網(wǎng)絡(luò)中拓撲結(jié)構(gòu)一直變化,多次分簇過程導致簇頭與簇成員多次發(fā)生變化,不僅不利于整個網(wǎng)絡(luò)的穩(wěn)定性,而且會增加能量的損耗,帶來時延,又會影響正常的數(shù)據(jù)采集。
WSAN網(wǎng)絡(luò)節(jié)點進行數(shù)據(jù)傳輸?shù)倪^程主要包括三個方面:傳感器節(jié)點至簇頭節(jié)點、簇頭節(jié)點至匯聚節(jié)點、匯聚節(jié)點至執(zhí)行器節(jié)點。其中,匯聚節(jié)點將任務(wù)分配方案直接發(fā)送至執(zhí)行器節(jié)點。由源節(jié)點發(fā)送至目標節(jié)點的過程中,可能以單跳或者多跳的方式進行傳遞。數(shù)據(jù)傳輸過程中,通過節(jié)點間的相互協(xié)同可增大源節(jié)點到目標節(jié)點間數(shù)據(jù)包投遞率,提高數(shù)據(jù)傳輸?shù)臏蚀_性和可靠性。因此,需建立以能耗,時延和數(shù)據(jù)包投遞率為約束條件的路由節(jié)點選擇機制,整體提高數(shù)據(jù)傳輸?shù)男阅堋9?jié)點間數(shù)據(jù)傳輸?shù)哪芎臎Q定著路由選擇的能量成本;時延的大小直接影響著數(shù)據(jù)傳輸?shù)膶崟r性;包投遞率的大小反映著數(shù)據(jù)傳輸?shù)目煽啃?。本專利將時延與能耗作為路由節(jié)點選擇的評判指標,同時將數(shù)據(jù)傳輸?shù)陌哆f率作為路由節(jié)點選擇依據(jù)。
技術(shù)實現(xiàn)要素:
發(fā)明目的:針對現(xiàn)有技術(shù)的不足,本發(fā)明的目的是提供一種能夠?qū)崿F(xiàn)在WSAN節(jié)點間快速傳輸信息的方法。
技術(shù)方案:為實現(xiàn)上述目的,本發(fā)明采用如下技術(shù)方案:
一種無線傳感器執(zhí)行器網(wǎng)絡(luò)分簇路由選擇方法,包括如下步驟:
(1)基于固定分簇的分簇方式選擇簇頭節(jié)點,簇頭節(jié)點建簇并邀請節(jié)點入簇;
(2)當有信息需要傳輸時,需要傳輸信息的源節(jié)點基于角度的中繼機制選擇中間路由節(jié)點,形成由源節(jié)點至目的節(jié)點的至少一條傳輸路徑;
(3)在源節(jié)點至目的節(jié)點形成多條路徑的情況下,根據(jù)路徑代價為每條路徑配置優(yōu)先級參數(shù)初始值,并根據(jù)路徑的數(shù)據(jù)包投遞率和路徑代價,動態(tài)更新所有路徑的優(yōu)先級參數(shù)值,選出數(shù)據(jù)包投遞率大于閾值且優(yōu)先級參數(shù)值最大的路徑為傳輸路徑。
有益效果:本發(fā)明提供的無線傳感器執(zhí)行器網(wǎng)絡(luò)分簇路由選擇方法,一方面,基于固定分簇的分簇方式,減少多次成簇造成的時延和網(wǎng)絡(luò)的不穩(wěn)定,提高了信息傳輸?shù)膶崟r性;另一方面,通過基于角度的路由節(jié)點選擇,減少被選擇節(jié)點的個數(shù),減少路由節(jié)點選擇時間;另外,通過基于動態(tài)優(yōu)先級參數(shù)的路徑選擇,減少由于數(shù)據(jù)包投遞率過低造成的數(shù)據(jù)重傳引起的時延,進一步提高了信息傳輸?shù)膶崟r性和可靠性。
附圖說明
為了使本發(fā)明的內(nèi)容更容易被清楚的理解,結(jié)合附圖對本發(fā)明作進一步詳細的說明,其中:
圖1是本發(fā)明的總體流程圖;
圖2本發(fā)明的簇頭選擇流程圖;
圖3是本發(fā)明的建簇流程圖;
圖4是本發(fā)明的基于角度的節(jié)點選擇示意圖;
圖5是本發(fā)明的基于動態(tài)優(yōu)先級參數(shù)路徑選擇過程示意圖。
具體實施方式
下面結(jié)合具體實施例和附圖對本發(fā)明作進一步說明,但不應(yīng)以此限制本發(fā)明的保護范圍。
如圖1所示,本發(fā)明實施例公開的一種無線傳感器執(zhí)行器網(wǎng)絡(luò)分簇路由選擇方法,主要包括如下步驟:
步驟1:基于固定分簇選擇簇頭節(jié)點;簇頭選擇流程圖如圖2所示。
步驟2:簇頭節(jié)點進行建簇,邀請節(jié)點入簇;建簇流程圖如圖3所示。
步驟3:判斷是否有信息需要傳輸,若有,則轉(zhuǎn)步驟4;反之,則返回步驟3繼續(xù)判斷;
步驟4:需要傳輸信息的源節(jié)點基于角度的中繼機制選擇中間路由節(jié)點,形成由源節(jié)點至目的節(jié)點的傳輸路徑。在中繼區(qū)域中可能存在多個中間路由節(jié)點,形成多條路徑;基于角度的節(jié)點選擇示意圖如圖4所示。
步驟5:基于動態(tài)優(yōu)先級參數(shù),為多條路徑分配不同的優(yōu)先級參數(shù)值,并根據(jù)路徑的數(shù)據(jù)包投遞率,時延和能耗,動態(tài)更新所有路徑的優(yōu)先級參數(shù),選出數(shù)據(jù)包投遞率大于閾值且優(yōu)先級參數(shù)最大的路徑為傳輸路徑。
具體的,基于動態(tài)優(yōu)先級參數(shù)路徑選擇過程如圖5所示,主要包括如下步驟:
a)首先為每條路徑設(shè)置一個優(yōu)先級參數(shù)P,第i條路徑的參數(shù)Pi的初始值為:
其中,Mj為基于角度的區(qū)域中繼機制中選擇出的第j條路徑代價,n為所有路徑的個數(shù)。根據(jù)能耗與時延模型,路徑代價Mi作為路徑選擇的代價指標:Mi=T*E其中,T表示由源節(jié)點到目標節(jié)點的數(shù)據(jù)傳輸過程中的時延,E為數(shù)據(jù)傳輸過程中的能耗,i為路徑編號,通過能耗與時延來綜合評價路徑代價。
b)根據(jù)路徑代價從小到大順序,依次進行數(shù)據(jù)傳輸,并且統(tǒng)計傳輸過程中數(shù)據(jù)包投遞率γ。根據(jù)每條路徑優(yōu)先級參數(shù)的大小,將路徑的優(yōu)先級參數(shù)Pi作為數(shù)據(jù)傳輸中選擇對應(yīng)路徑進行數(shù)據(jù)傳輸?shù)母怕省?/p>
c)傳輸過程統(tǒng)計結(jié)束后,對各路徑的優(yōu)先級參數(shù)Pi進行更新。增加數(shù)據(jù)包投遞率大于閾值λ(例如90%)的路徑的優(yōu)先級,減小數(shù)據(jù)包投遞率小于閾值λ路徑的優(yōu)先級,從而使數(shù)據(jù)傳輸質(zhì)量高的路徑被選擇的概率增大,第i條路徑優(yōu)先級更新過程如下式所示:
Pi=Pi+ΔP
其中,ΔP=Pi(γi-λ) (2)
d)當優(yōu)先級參數(shù)更新完畢后,對所有路徑的優(yōu)先級進行歸一化,得到:
其中,k為優(yōu)先級參數(shù)增大的節(jié)點個數(shù)。
e)此后,根據(jù)更新后的優(yōu)先級,選擇數(shù)據(jù)包投遞率大于閾值λ且優(yōu)先級參數(shù)最大的路徑進行數(shù)據(jù)的傳輸。
如圖2所示,是本實施例的簇頭選擇流程示意圖,包括:
步驟1:匯聚節(jié)點(sink)發(fā)出n條建簇消息;
步驟2:判斷匯聚節(jié)點發(fā)出建簇消息的次數(shù)是否超過3次,若是,則返回錯誤報告,無法建簇;反之,則轉(zhuǎn)步驟3;
步驟3:傳感器節(jié)點(sensor)收到建簇消息后向匯聚節(jié)點作出應(yīng)答;
步驟4:判斷簇頭選擇時間是否超過一定時間T0,若是,則轉(zhuǎn)步驟5;反之,則返回步驟3,等待傳感器節(jié)點作出應(yīng)答;
步驟5:統(tǒng)計匯聚節(jié)點接收到傳感器節(jié)點應(yīng)答消息的個數(shù),并計算二數(shù)據(jù)傳輸?shù)臄?shù)據(jù)寶投遞率;
步驟6:判斷數(shù)據(jù)包投遞率最大的傳感器節(jié)點的個數(shù)是否為一個,若是則轉(zhuǎn)步驟7;反之,則轉(zhuǎn)步驟8;
步驟7:選擇數(shù)據(jù)包投遞率最大的傳感器節(jié)點作為簇頭節(jié)點(cluster);
步驟8:在數(shù)據(jù)包投遞率最大的多個傳感器節(jié)點間隨機選擇一個節(jié)點作為簇頭節(jié)點;
步驟9:判斷所有區(qū)域是否均選出簇頭節(jié)點,若是,則結(jié)束簇頭選舉過程;反之。則返回步驟1,匯聚節(jié)點重新發(fā)送建簇消息。
如圖3所示,是本實施例的建簇流程圖,包括:
步驟1:簇頭節(jié)點向其周圍的傳感器節(jié)點發(fā)送入簇邀請;
步驟2:判斷傳感器節(jié)點是否在規(guī)定時間T1時間內(nèi)收到入簇邀請,若是,則轉(zhuǎn)步驟3;反之,則轉(zhuǎn)步驟8;
步驟3:傳感器節(jié)點應(yīng)答入簇邀請,并反饋至簇頭節(jié)點;
步驟4:判斷傳感器節(jié)點與簇頭節(jié)點是否屬于同一區(qū)域,若是,則轉(zhuǎn)步驟與5;反之,則轉(zhuǎn)步驟7;
步驟5:簇頭同意該傳感器節(jié)點加入自身所在簇,并將傳感器節(jié)點的信息加入簇成員信息表中,轉(zhuǎn)入步驟6;
步驟6:終止建簇過程,進入工作階段;
步驟7:簇頭節(jié)點拒絕該傳感器接單加入自身所在簇,轉(zhuǎn)入步驟6;
步驟8:判斷簇頭節(jié)點發(fā)送入簇邀請是否超過3次,若是,則轉(zhuǎn)步驟9;反之,則返回步驟1,簇頭節(jié)點重新發(fā)送入簇邀請;
步驟9:簇頭節(jié)點舍棄未應(yīng)答的傳感器節(jié)點,轉(zhuǎn)入步驟6;
如圖4所示,是本實施例的基于角度的節(jié)點選擇示意圖,中間節(jié)點的選擇過程如下:
當源節(jié)點需要將信息發(fā)送至目標節(jié)點,則以源節(jié)點P和目標節(jié)點為端點,以二者連接線為角平分線,以源節(jié)點P的最大傳輸距離為半徑,角度為w的扇形區(qū)域為源節(jié)點P的中繼區(qū)域,在區(qū)域內(nèi)選擇下一跳節(jié)點,避免更多的節(jié)點參與中轉(zhuǎn)路由節(jié)點的選擇過程。以節(jié)點P為初始點,在P的中繼區(qū)域內(nèi)找到滿足條件的節(jié)點Q后,以節(jié)點Q為新的初始點,重復以上操作,構(gòu)建節(jié)點Q的中繼區(qū)域并選取下一跳節(jié)點,直到信息傳遞至目標節(jié)點。這樣,在源節(jié)點與目標節(jié)點之間便形成一條傳輸路徑s1。中繼區(qū)域中可能存在多個可選擇的節(jié)點從而產(chǎn)生多條傳輸路徑,源節(jié)點至目標節(jié)點間所有路徑的集合構(gòu)成路徑集S={s1,s2,…,sn}。