無線傳感器網絡覆蓋連通性研究

3基于代理的不可達節點解決方案
在本節,針對第2節中在無線傳感器網絡部署區域內節點對于基站不可達的情況,例如,由于障礙物的存在或者位于基站射頻傳輸范圍之外使得一些節點成為基站不可達節點,提出了一種在基站可達的節點中尋找一個節點作為代理來解決基站與不可達節點之間連通性問題的方案。
3.1基本思想及定義
首先,給出方案的基本思想以及一些定義。
不失一般性,可以假設基站至多以2跳的方式
到達所有的部署節點,對于所有直接到達節點的跳數為1,其余的都簡化為2跳,并且認為基站可達的節點可以作為基站轉發傳感數據的中繼節點。從這些中繼節點中選出某些節點作為代理,使其作為基站與不能接收基站信息的不可達節點之間的通信中介。我們考慮使代理節點和其周圍基站不可達節點形成組,代理節點作為該組的“組長”,負責在基站和基站不可達節點之間的通信中介。
假設S為部署在監測區域的節點集合,|S|=n,基站(basestation)記為B,同時又設SR和SUR分別為部署區域內基站可達和不可達節點的集合,SR和SUR定義如下:

值得注意的是,由于在實際部署區域存在某些節點其傳輸信號不被其他任何節點獲悉,如掉入部署區域深坑的節點,集合SR∪SUR往往并不等于集合S。因此,在節點部署階段,使基站為每個傳感器節點建立以下屬性參數。
Blink:節點與基站連接狀態,取值為0或1,而分屬SR和SUR集合;
Nlist:集合SR中節點的所有鄰居節點;
Hlist:在基站信息傳輸范圍之內節點的跳數表。
Glist:節點成組的成員參數。
3.2基于節點代理的方案
在方案中,使得選取的代理節點和不可達節點形成相應的組的目的是通過代理使該組中不可達節點可以與基站連通,因此,方案主要是在集合SR中設計一到多個代理節點,負責轉發基站信息到集合SUR中的相關節點,同時,負責作為SUR中的相關節點的采集信息發送到基站的中轉站。
在設計代理和不可達節點的組時,追求一種平衡代理負載的算法以延長代理節點的壽命,在算法中,基站為每個節點增加一個屬性參數,稱為Aid,在集合SUR中用以標識節點被分配給哪個代理節點,而其他屬于集合SR中的節點的Aid=0,另外,基站為集合SR的每個候選代理節點設置一屬性參數Glist用以識別其組成員。組的形成過程描述如下。
1)對于每個節點
,基站計算其與集合SR中相鄰節點的Hlist值,并對獲得的節點Hlist值按照升序排列;
2)對于1)中節點Hlist排序結果由低到高(順序),在集合SR中依次為SUR中節點分配一個代理節點,此時存在2種情況,處理如下:
if|Hlist(sj)|=1
標記Aid(sj)=si,分配sj到惟一連通的節點si;加sj到Glist(si)中
else if | Hlist(sj)|>1
為sj計算分配到SR中的多個連通節點的成本Acost
標記Aid (sj)=sk,當sj分配到集合SR中節點sk時Acost最小;加sj到Glist(sk)中
在方案中,對于節點,如果在集合SR中存在多個節點與其連通,將會選擇與節點sj具有最小通信代價(此時為sj分配到集合SR中節點sk的通信成本Acost)的節點作為其代理,衡量Acost的2個重要因素是監測區域內的組成員和“組長”即代理節點。一種理想的情況是對于SUR中的節點sj,當其分配到一個組中時,該組的代理節點應滿足在所有的Hlist(sj)中是最小的,即離sj最近的節點,這樣節點間的通信能量耗費最小。另一方面,希望在所有的代理節點之間實現負載均衡以延長網絡使用壽命,在傳感器網絡中,首個節點“死亡”時間是衡量網絡性能的重要尺度[16,17]。定義節點sj分配到以節點sk為代理的相應組的代價為
Acost(k)=r1×(sj到通信成本)+r2×|(Glist(sk)|
其中,sj到si通信成本的計算基于節點sj和si的距離,r1+r2=1,參數r1和r2是動態可調節的量,取值與Acost(k)中sj到si通信成本和|(Glist(sk)|在節點成組過程中所占的比重成正比。
4無線傳感器網絡覆蓋連通性判定算法
正確獲悉覆蓋在部署區域內節點的連通性相關信息對網絡決策、管理、研究與應用具有重要的基礎性作用,針對上面建立的一般意義上的無線傳感器網絡的系統模型,考慮到現實意義上的基站和智能節點可以存儲相關的節點間路由信息,如基站可以獲悉其他傳感器節點的能量剩余信息,可以發送相關的控制信息與參數到相應節點,節點可以存儲、轉發網絡信息并存儲相關的節點間路由信息。基于此,提出了在無線傳感器網絡應用之前根據節點存儲的相關參數信息和路由信息進行網絡節點連通性判定的算法。
算法中使用結構類型定義節點,具體如下:
節點結構定義
StructNODE{
NodetypeN;//節點類型,區分基站和普通節點
floatE;//節點能量值
boolv;//節點訪問標志
NODE*n[];//指向下一跳節點的指針集
}
算法為基于深度探測的網絡覆蓋連通性判定算法DBDAFNCJ(depthbaseddetectionalgorithm for network connectivity judgment),下面具體介紹。
評論