無線傳感器網絡的多sink部署與容錯方法
【專利摘要】本發明涉及無線傳感器網絡的多sink部署與容錯方法,首先提出的基于改進粒子群聚類的多sink優化部署方法,將改進的粒子群算法與K?均值聚類相結合,對網絡區域內所有傳感器節點進行聚類和分區,多個sink節點分別部署在每一類的中心,以達到網絡分區合理、多sink節點部署優化的效果;同時針對多sink網絡中某個sink節點失效的情況,提出一個帶容錯機制的路由算法,采用多路徑路由的容錯機制,創建從源節點到不同sink節點的兩條路徑,當某個sink節點失效時,激活備選路由。本發明在無線傳感器網絡中部署多個sink節點可以提高網絡的可靠性,當一個sink節點發生故障時,還有另外幾個sink節點可以替代該sink節點的工作,保證網絡的可靠運行,延長了網絡的生命周期。
【專利說明】
無線傳感器網絡的多S i nk部署與容錯方法
技術領域
[0001]本發明屬無線傳感器網絡技術領域,涉及一種無線傳感器網絡的多sink部署與容 錯方法,特別是涉及了基于改進粒子群聚類的多sink優化部署方法與一個帶容錯機制的路 由算法。
【背景技術】
[0002] 無線傳感器網絡(Wireless Sensor Networks,WSN)是一種全新的信息獲取方式, 它不需要固定網絡支持,以其隨機布置、自組織、抗毀性強、適應苛刻環境等優勢,具有在多 種場合滿足信息獲取的實時性、準確性、全面性等需求的能力。由于無線傳感器網絡的應用 前景愈來愈廣泛,已引起了許多國家學術界和工業界的高度重視,被認為是對21世紀產生 巨大影響力的技術之一。
[0003] WSN具有監測范圍廣、無需人工干預、自動長期采集數據等特點,因此可以在物聯 網應用中發揮重要作用。但是受限于傳感器網絡的多對一傳輸模式,傳感器網絡中靠近 sink的節點通常由于承擔過重的轉發任務而提前死亡,形成所謂的"能量空洞"。在能量空 洞產生后,網絡外圍的數據無法傳送到sink,從而導致網絡過早死亡。為了解決"能量空洞" 問題,最大限度地提高傳感器網絡的生命期。我們還考慮更多的因素。分簇傳感器網絡作為 一種層次型網絡,通過其數據融合和層次性結構等特性,一定程度上均衡網絡中節點的能 量消耗并提高了網絡壽命。
[0004]目前在傳感器網絡的非均勻節點部署策略和分簇傳感器網絡性能優化等方面已 有大量的研究成果,以期達到更大的能量利用率和網絡壽命。發明專利"一種面向精準農業 的WSN節點部署方法"(申請號:201310306040.4)將整個WSN網絡分成多個一級固定簇頭、多 個二級簇頭、多個傳感器節點和sink節點,其中一級固定簇頭屬于總線型拓撲結構,依次排 列最終與sink節點相連,每一個固定簇頭和多個二級非固定簇頭相連通,一個二級非固定 簇頭和多個傳感器節點相連通,一級固定簇頭和sink節點采用太陽能供電以減小能耗和提 高可靠性;但沒有不適用多個s ink節點的情況,且沒有考慮容錯方法。
【發明內容】
[0005] 本發明所要解決的技術問題是提供無線傳感器網絡的多sink部署與容錯方法,特 別是提供了基于改進粒子群聚類的多sink優化部署方法與一個帶容錯機制的路由算法,保 證網絡的可靠運行,延長了網絡的生命周期。
[0006] 本發明的無線傳感器網絡的多sink部署與容錯方法,無線傳感器網絡中部署多個 sink節點,包括多sink部署方法和容錯方法;部署完成后,在每個子網區域內再次利用粒子 群聚類算法,對傳感器節點進行分簇,采用多路徑路由容錯機制,建立多條到不同sink節點 的路由路徑,二者結合使用,保證無線傳感網絡的可靠運行;
[0007] 所述多sink部署方法為基于改進粒子群聚類的多sink優化部署方法,將改進的粒 子群算法與K-均值聚類相結合,對網絡區域內所有sink節點進行聚類,分成K個不同的區 域,多個sink節點分別部署在每一類的中心,以達到網絡分區合理且多sink節點部署優化 的效果;
[0008] 所述改進的粒子群算法是指改進慣性權重計算的粒子群算法,進一步是改進慣性 權重計算和加入擾動因素的粒子群算法;在PSO算法中,慣性權重系數ω的設置對算法的收 斂速度和算法結果有很大影響,ω較大時,全局搜索能力強;ω較小時,局部搜索能力強。在 標準的PSO算法中,慣性權重系數ω是以固定方式線性遞減的,這種線性遞減并不是以粒子 群中粒子的實際收斂情況進行動態調整全局搜索能力和局部搜索能力的。由于粒子飛行具 有不可預見性,粒子群的收斂并不是線性的。因此定義ω線性遞減不是很合理。本發明對 PSO算法中的慣性權重進行了改進,慣性權重計算改進為:
[0009]
[0010] 其中,k為迭代次數,COk為第k次迭代的慣性權重,c〇max、COmin分別表示最大慣性權 重和最小慣性權重;/t表示第k代第i個粒子的適應度,表示第k代粒子群的全局最優解; 慣性權重影響著算法的收斂速度和結果,當粒子群中粒子分散時,粒子的適應度差異較大, ω 1{值較大;當粒子群趨于收斂時,ω k值逐漸減小;當粒子群收斂于全局最優點時,ω 0。因此,ω >^可以根據每一次迭代時粒子群的收斂情況進行動態自適應調節慣性權重。所述 加入的擾動因素是指,當速度小于某一極小值時,隨機抽取占群體比例為10%的粒子進行 位置隨機初始化,進行迭代尋優;
[0011] 所述改進的粒子群算法與K-均值聚類相結合是指先用κ-means算法計算出各類的 中心,然后在粒子群算法初始化時將其賦值給某個粒子,其余粒子隨機初始化,最后用粒子 群算法完成聚類;K-均值聚類具體為:K均值聚類也稱K-means算法,是一種最基本的聚類算 法,基本思想是根據數據的內在性質,將其劃分為K個聚類區,盡可能地使類內離散度最小、 類間離散度最大。其基本步驟如下:
[0012] (1)從數據對象中隨機選擇K個對象作為初始聚類中心Cl,C2, ...,ck。
[0013] (2)將每個對象按最小距離原則劃分到最近的一個聚類中心Cl(i = l,2,…,k),被 指定到同一質心的點屬于同一個聚類,共形成K個聚類。
[0014] (3)計算新的聚類中心V1, S
其中N1為第i個聚類域匕包含的個數。
[0015] ⑷計算判斷,是否等于Cl,若不相等則轉至步驟2),直到1 = Cl,即聚類中心不 再發生變化,聚類算法結束。
[0016] 所述容錯方法為帶容錯機制的多sink分簇路由算法,采用多路徑路由容錯機制, 建立多條到不同s ink節點的路由路徑。首先,確定備選目的s ink節點,簇頭節點在其他子網 區域的sink節點中選擇離自身位置最近的sink節點作為備選目的sink節點;然后,確定備 選路由路徑,簇頭節點在自身鄰節點集合中選擇到備選目的s ink節點近的簇頭節點作為下 一跳節點的集合,然后通過定義路由路徑評價函數,綜合考慮路徑上的能量消耗、路徑上的 最小剩余能量和路徑上數據包的傳輸跳數等因素,選擇綜合指標最佳的那條路由路徑作為 備選路由路徑;當負責該區域的sink節點失效時,觸發一個信號,通知本區域內的所有傳感 器節點,簇頭節點接收到該消息后,中間節點將所傳輸的數據包傳回至源節點,刪除目的節 點為該s i n k的路由路徑,并向鄰居廣播s i n k節點失效的消息,當簇頭節點接收到該消息后, 立即查看自己的目標sink節點是否該失效sink節點,若是,則立即啟動備選路由路徑。
[0017] 作為優選的技術方案:
[0018] 如上所述的無線傳感器網絡的多sink部署與容錯方法,所述方法的具體步驟為:
[0019] (1)初始化。初始化包括粒子編碼、K-means的聚類數目K的設定、粒子群算法中的 粒子編碼和粒子數目L的設定。對于粒子編碼采用實數編碼方式,每個粒子作為一個可行解 組成粒子群,每個粒子的位置由K個聚類中心組成,通過調整聚類中心獲得最優劃分。每個 粒子由三個部分組成,即粒子位置、速度和適應度值。
[0020] 粒子i的位置編碼結構表示為:
[0021] Xi= [ci, C2, , Cj, ··· ,ck]
[0022] 其中Cj表示類j的聚類中心,是一個2維矢量。
[0023]粒子i的速度編碼結構為:
[0024] Vi= [vi, V2, , Vj, ,νκ]
[0025] 其中Vj表示第j個聚類中心的速度值,是一個2維矢量。
[0026] 對于第i個粒子,先將每個傳感器節點隨機指派為某一類,作為最初的聚類劃分, 然后計算各類的聚類中心,作為粒子i的位置編碼X 1,設置粒子i各聚類中心的初始速度為 〇,計算粒子的適應度fi;
[0027] (2)對每個粒子,根據在粒子群優化算法中的適應度函數計算其聚類中心和更新 粒子的適應度值;
[0028] (3)根據粒子群中粒子的適應度大小,得到粒子的個體最優位置Pld和全局最優位 置 Pgd;
[0029] (4)更新慣性權重系數ω ;
[0030] (5)根振
更新粒子的速度,根據
更新粒子的速度;
[0031] (6)判斷粒子的速度是否小于某一極小值;若否,則不加入擾動策略;若是,則加入 擾動策略:隨機抽取占群體比例為10%的粒子進行位置隨機初始化,進行迭代尋優;
[0032] (7)對每個傳感器節點,根據粒子的聚類中心,按照最近鄰法則,來確定該傳感器 節點位置的聚類劃分;
[0033] (8)如果達到結束條件,則算法結束,輸出每個sink節點部署的位置;否則,轉到步 驟(2)繼續迭代;
[0034] 所述達到結束條件是指達到設定的聚類效果或設定的最大迭代次數。
[0035] 如上所述的無線傳感器網絡的多sink部署與容錯方法,聚類中心的位置計算按如 下公式:
[0036]
[0037] 其中,CjP為類j的聚類中心的位置;N表示傳感器節點的個數;
[0038] Colj是一個NXK的加權矩陣,矩陣元素由0或1組成,當傳感器節AS1屬于類j時為 1,不屬于時為〇;
[0039] 3^表示傳感器節點Si的位置;
[0040] 粒子適應度函數如下:
[0041]
[0042]其中,K表示聚類的類別數,即預計部署sink節點個數;m表示屬于類j的傳感器節 點個數。在粒子群優化算法中,適應度函數用于判斷種群進化過程中粒子所在位置的好壞。 在聚類算法中衡量聚類效果的好壞,主要取決于總的類內離散度F。類內離散度F越小,聚類 效果越好。
[0043] 如上所述的無線傳感器網絡的多sink部署與容錯方法,某一極小值是指粒子的在 迭代過程中,其速度不再發生變化。
[0044] 如上所述的無線傳感器網絡的多sink部署與容錯方法,部署完成后,在每個子網 區域內再次利用改進的粒子群聚類算法,對傳感器節點進行分簇,具體為:
[0045] 在每個sink負責的子網區域內,利用粒子群聚類算法對該區域內的傳感器節點進 行分簇,選擇離聚類中心較近的并且剩余能量相對較高的節點作為簇頭節點;在一個簇內, 簇頭選舉公式為:
[0046]
[0047] 其中,E表示傳感器節點的當前剩余能量,EO表示傳感器節點的初始能量,因此,E/ EO表示傳感器節點的剩余能量級,davertocen表示本簇內所有傳感器節點到簇中心的距離的 平均值,Cl1表示傳感器到簇中心的距離,(^和^分別;
的權重系數;在選擇 簇頭節點時,選擇離簇中心近的并且剩余級能量高的節點當選簇頭。
[0048] 如上所述的無線傳感器網絡的多sink部署與容錯方法,所述容錯方法具體步驟 為:
[0049] (1)在每個子網區域內,均有一個sink節點負責收集本網絡區域內傳感器節點采 集的數據,則該子網內所有的簇頭節點的主路由的目的sink節點即為該sink節點;在簇頭 節點與其目的sink節點間建立路由,通過定義路由路徑評價函數,綜合考慮路徑上的能量 消耗、路徑上的最小剩余能量和路徑上數據包的傳輸跳數等因素,選擇綜合指標最佳的那 條路由路徑作為為主路由;
[0050] 所述路由路徑評價函數為:
[0051 ] fp= (Costp)aX (EreP)PX (HopcountP)Y
[0052]其中,Costp表示該條路徑傳輸能耗,Erep表示該條路徑上的最小剩余能量, Hopcountp表示該條路徑上源節點到sink節點的跳數。α表示能量消耗系數,為正數;β表示 節點剩余能量系數,為負數;Y表示節點到sink的傳輸跳數系數,為正數。
[0053] (2)為了應對sink節點出現故障的情況,建立一條備選路由路徑;首先,確定備選 目的s ink節點,簇頭節點在其他子網區域的s ink節點中選擇離自身位置最近的s ink節點作 為備選目的Sink節點;然后,確定備選路由路徑,簇頭節點在自身鄰節點集合中選擇到備選 目的sink節點近的簇頭節點作為下一跳節點的集合,然后通過定義路由路徑評價函數,綜 合考慮路徑上的能量消耗、路徑上的最小剩余能量和路徑上數據包的傳輸跳數等因素,選 擇綜合指標最佳的那條路由路徑作為備選路由路徑;當負責該區域的sink節點失效時,觸 發一個信號,通知本區域內的所有傳感器節點,簇頭節點接收到該消息后,中間節點將所傳 輸的數據包傳回至源節點,刪除目的節點為該sink的路由路徑,并向鄰居廣播sink節點失 效的消息,當簇頭節點接收到該消息后,立即查看自己的目標sink節點是否該失效sink節 點,若是,則立即啟動備選路由路徑。
[0054] 所述的無線傳感器網絡的多sink部署與容錯方法,可設定sink節點的數目K為5, 網絡中隨機分布的傳感器節點個數為400,網絡區域為600mX 600m,將整個網絡劃分為5個 子網分區,每個sink節點負責收集一個子網分區中傳感器節點采集的數據,然后對sink節 點進行部署,改進的粒子群算法的學習因子C1 = C2=1.2,簇頭選舉公式中ω i = c〇2 = 0.5, 路由路徑評價函數函數中,α = 2,β = _5, γ =2。
[0055] 本發明的一種無線傳感器網絡的多sink部署與容錯方法,首先提出的基于改進粒 子群聚類的多sink優化部署方法,將改進的粒子群算法與K-均值聚類相結合,對網絡區域 內所有傳感器節點進行聚類,分成K個不同的區域,多個sink節點分別部署在每一類的中 心,以達到網絡分區合理、多sink節點部署優化的效果;同時針對多sink網絡中某個sink節 點失效的情況,提出一個帶容錯機制的路由算法,該算法采用多路徑路由的容錯機制,創建 從源節點到不同sink節點的兩條路徑,到本子網區域的sink節點的最優的路徑為主路由, 到其他sink節點的最優的路徑作為備選路由路徑,當某個sink節點失效時,激活備選路由。 本發明在無線傳感器網絡中部署多個sink節點可以提高網絡的可靠性,當一個sink節點發 生故障時,還有另外幾個s ink節點可以替代該s ink節點的工作,保證網絡的可靠運行,延長 了網絡的生命周期。
[0056] 有益效果
[0057] (1)采用智能算法對多sink優化部署。提出了改進的粒子群聚類算法(IPSCO)比標 準的粒子群聚類算法(IPSO)收斂速度要快,當陷入局部最優解時,IPSCO算法能夠較快的跳 出局部最優解,進而去尋找全局最優解。
[0058] (2)延長WSN網絡的生命周期越長,提出了一種基于改進粒子群聚類的多sink部署 算法,該算法主要針對大規模的無線傳感器網絡,在網絡區域內部署多個sink節點,將大規 模的網絡分為較小的子網。該算法主要是根據傳感器節點的位置信息進行聚類,然后將 sink節點部署在每一類的中心
[0059] (3)保證網絡的可靠運行。采用多路徑路由的容錯機制,創建從源節點到不同sink 節點的兩條路徑,到本子網區域的sink節點的最優的路徑為主路由,到其他sink節點的最 優的路徑作為備選路由路徑,當某個sink節點失效時,激活備選路由。
【附圖說明】
[0060] 圖1是本發明改進的粒子群聚類算法(IPSCO)流程圖;
[0061 ]圖2是本發明IPSCO算法部署多sink節點的布局圖;
[0062]圖3是本發明IPSCO算法與IPSO聚類算法的迭代結果對比圖;
[0063]圖4是本發明的不同部署算法的網絡生命周期對比圖;
[0064]圖5是本發明的無線傳感器網絡系統多sink容錯整體模型;
[0065]圖6是本發明的多sink節點放置圖;
[0066]圖7是本發明的多sink網絡分區中傳感器節點分簇拓撲圖;
[0067]圖8是本發明的多sink網絡多路徑路由容錯過程圖;
[0068] 圖9是本發明的加容錯機制與未加容錯機制的數據包接收率對比圖。
【具體實施方式】
[0069] 下面結合【具體實施方式】,進一步闡述本發明。應理解,這些實施例僅用于說明本發 明而不用于限制本發明的范圍。此外應理解,在閱讀了本發明講授的內容之后,本領域技術 人員可以對本發明作各種改動或修改,這些等價形式同樣落于本申請所附權利要求書所限 定的范圍。
[0070] 實施例1
[0071] -種無線傳感器網絡的多sink部署與容錯方法,通過基于改進粒子群聚類的多 sink優化部署方法,將改進的粒子群算法與K-均值聚類相結合,對網絡區域內所有傳感器 節點進行聚類,分成K個不同的區域,多個sink節點分別部署在每一類的中心,以達到網絡 分區合理、多sink節點部署優化的效果;同時針對多sink網絡中某個sink節點失效的情況, 提出一個帶容錯機制的路由算法,該算法采用多路徑路由的容錯機制,其步驟如圖1所示。
[0072] 假設網絡需要部署sink節點的數目K為5,網絡中隨機分布的傳感器節點個數為 400,網絡區域為600mX600m,將整個網絡劃分為5個子網分區,每個sink節點負責收集一個 子網分區中傳感器節點采集的數據,然后對sink節點進行部署,改進的粒子群算法的學習 因子Cl = C2 = l .2,簇頭選舉公式中CO1= c〇2 = 0.5,路由路徑評價函數函數中,α = 2,β = -5, γ = 2,具體步驟如下:
[0073] ⑴初始化。給定聚類數目Κ = 5和粒子數目L = 400,對于第i個粒子,先將每個傳感 器節點隨機
[0074]指派為某一類,作為最初的聚類劃分,然后計算各類的聚類中心:
[0075]其中,聚類中心的位置Cjp是按照K均值聚類的聚類中心計算方法計算得來的,其表 達式如式所示。
[0076]
[0077] Colj是一個NXK的加權矩陣,矩陣元素由0或1組成,當傳感器節AS 1屬于類j時為 1,不屬于時為〇 ;m表示屬于類j的傳感器節點個數;Sip表示傳感器節點的位置;Cjp表示類j 的聚類中心的位置。粒子i的位置編碼X1,計算粒子的適應度h,設置粒子i各聚類中心的初 始速度為0。
[0078] (2)對每個粒子,根據相應的聚類劃分,根據在粒子群優化算法中的適應度函數計 算其聚類中心和更新粒子的適應度值:
[0079]其中,定義粒子適應度函數如下:
[0080]
[0081 ] 其中,K表示聚類的類別數,即餓計部著sink節點個數;N表示傳感器節點的個數; ω "是一個NXK的加權矩陣,矩陣元素由0或1組成,當傳感器節AS1屬于類j時為1,不屬于 時為〇;m表示屬于類j的傳感器節點個數;S ip表示傳感器節點的位置;Cjp表示類j的聚類中 心的位置。
[0082] (3)根據粒子群中粒子的適應度大小,得到粒子的個體最優位置Pld和全局最優位 置 Pgd。
[0083] (4)根據改進后的PSO算法中的慣性權重的公式更新慣性權重系數ω,其中comax取 0.9, comin取0.5;
[0084]其中,PSO算法中的慣性權重進行了改進,具體表達式如下所示:
[0085]
[0086] 其中,k為迭代次數,cok表示第k次迭代時的慣性權重,comax、comin分別表示最大慣 性權重和最小慣性權重,當慣性權重ω大于co max時,置ω = comax;當慣性權重ω小于comin 時,ω = ωΜη,這樣就可以使得ω限定在區間[comin,comax]內。/f表示第k代第i個粒子的適 應度表示第k代粒子群的全局最優解。慣性權重影響著算法的收斂速度和結果,當粒子 群中粒子分散時,粒子的適應度差異較大,ω 1Mt較大;當粒子群趨于收斂時,ω 1Mt逐漸減 小;當粒子群收斂于全局最優點時,ω k值為〇。
[0087] (5)根據PSO算法中動態跟蹤兩個"最優解"來進行不斷更新所有粒子的速度和位
置,
[0088]
[0089]
[0090]
[0091]
[0092]其中,在600mX600m網絡區域內隨機部署400個傳感器節點,sink節點部署個數為 〖,學習因子(31 = 02 = 1.2<^(]為粒子:[第(1維的速度,0為慣性權重系數,1'1,^是介于(0,1)之 間的隨機數,CdPc2為學習因子,X ld為粒子i在第d維的位置。慣性權重系數ω為隨時間線性 遞減函數,它可使粒子群算法在開始時搜索較大的區域,從而較快地定位最優聚類的大致 位置,隨著ω逐漸減小,粒子速度減慢,開始精細地局部搜索。
[0093] (6)判斷粒子的速度是否小于某一極小值,若是則加入擾動策略,隨機抽取占群體 比例為10%的粒子進行位置隨機初始化,進行迭代尋優。
[0094] (7)對每個傳感器節點,根據粒子的聚類中心編碼,按照最近鄰法則,來確定該傳 感器節點位置的聚類劃分,
[0095] 其中,粒子的聚類中心編碼具體為:每個粒子由三個部分組成,即粒子位置、速度 和適應度值。粒子i的位置編碼結構表示為:
[0096] Xi= [ci, C2, , Cj, ··· ,ck];
[0097] 其中表示類j的聚類中心,是一個2維矢量。
[0098]粒子i的速度編碼結構為:
[0099] Vi= [vi, V2, , Vj, ,νκ];
[0100] 其中Vj表示第j個聚類中心的速度值,是一個2維矢量。粒子i的適應度值fi為一個 實數。
[0101] (8)如果達到結束條件(等到足夠好的位置或最大迭代次數),則算法結束,輸出每 個sink節點部署的位置;否則,轉到步驟(2)繼續迭代。
[0102] (9)部署完成后,在每個子網區域內再次利用粒子群聚類算法,對傳感器節點進行 分簇,其中,簇頭選舉公式為:
[0103]
[0104] 其中,E表示傳感器節點的當前剩余能量,EO表示傳感器節點的初始能量,因此,E/ EO表示傳感器節點的剩余能量級,davertocen表示本簇內所有傳感器節點到簇中心的距離的 平均值,Cl1表示傳感器到簇中心的距離,ω#Ρω 2是權重系數。在選擇簇頭節點時,選擇離簇 中心近的并且剩余級能量高的節點當選簇頭。
[0105] 利用改進的粒子群聚類算法部署多sink節點的布局圖如圖2所示;改進的粒子群 聚類算法和標準的粒子群聚類算法進行多sink部署時的迭代結果對比如圖3所示;分別利 用改進的粒子群聚類算法、標準的粒子群聚類算法和RDF算法進行多sink部署后的網絡生 命周期對比如圖4所示。
[0106] (10)采用多路徑路由容錯機制,建立多條到不同sink節點的路由路徑,具體步驟 如下:
[0107] 1)在每個子網區域內,均有一個sink節點負責收集本網絡區域內傳感器節點采集 的數據,則該子網內所有的簇頭節點的主路由的目的sink節點即為該sink節點。在簇頭節 點與其目的sink節點間建立路由,通過定義路由路徑評價函數,綜合考慮路徑上的能量消 耗、路徑上的最小剩余能量和路徑上數據包的傳輸跳數等因素,選擇綜合指標最佳的那條 路由路徑作為為主路由。
[0108] 2)為了應對sink節點出現故障的情況,建立一條備選路由路徑。首先,確定備選目 的sink節點,簇頭節點在其他子網區域的sink節點中選擇離自身位置最近的sink節點作為 備選目的sink節點。然后,確定備選路由路徑,簇頭節點在自身鄰節點集合中選擇到備選目 的s ink節點近的簇頭節點作為下一跳節點的集合,然后通過定義路由路徑評價函數,選擇 綜合指標最佳的那條路由路徑作為備選路由路徑。當負責該區域的sink節點失效時,觸發 一個信號,通知本區域內的所有傳感器節點,簇頭節點接收到該消息后,中間節點將所傳輸 的數據包傳回至源節點,刪除目的節點為該s i n k的路由路徑,并向鄰居廣播s i n k節點失效 的消息,當簇頭節點接收到該消息后,立即查看自己的目標sink節點是否該失效sink節點, 若是,則立即啟動備選路由路徑。
[0109] 無線傳感器網絡系統多sink容錯整體模型如圖5所示;多sink節點放置圖如圖6所 示;多sink網絡分區中傳感器節點分簇拓撲圖如圖7所示;多sink網絡多路徑路由容錯過程 圖如圖8所示;加容錯機制與未加容錯機制的數據包接收率對比圖如圖9所示。
【主權項】
1. 無線傳感器網絡的多sink部署與容錯方法,無線傳感器網絡中部署多個sink節點, 其特征是:包括多sink部署方法和容錯方法;先利用改進的粒子群聚類算法對多sink的部 署進行優化,優化部署完成后,在每個子網區域內再次利用改進的粒子群聚類算法,對傳感 器節點進行分簇,然后針對多sink網絡中某個sink節點失效的情況,利用帶容錯機制的路 由算法,采用多路徑路由的策略,創建從源節點到不同sink節點的兩條路徑,當某個sink節 點失效時,激活備選路由,從而保證無線傳感網絡的可靠運行; 所述改進的粒子群聚類算法是指改進慣性權重計算的粒子群算法和加入擾動因素;慣 性權重計算改進為:其中,k為度rw乂 m,W-店政化化里,Umax、Wmin刀'則巧7]^最大慣性權重和 最小慣性權重;/f表示第k代第i個粒子的適應度,表示第k代粒子群的全局最優解。2. 根據權利要求1所述的無線傳感器網絡的多Sink部署與容錯方法,其特征在于,所述 多S ink部署方法的具體步驟為: (1) 初始化: 初始化包括粒子編碼、K-means的聚類數目K的設定、粒子群算法中的粒子編碼和粒子 數目L的設定;對于粒子編碼采用實數編碼方式,每個粒子作為一個可行解組成粒子群,每 個粒子的位置由K個聚類中屯、組成,通過調整聚類中屯、獲得最優劃分;每個粒子由=個部分 組成,即粒子位置、速度和適應度值; 粒子i的位置編碼結構表示為: Xi=[Cl,C2,...,Cj,...,CK]; 其中Cj表示類j的聚類中屯、,是一個2維矢量; 粒子i的速度編碼結構為: Vi=[Vl,V2,...,Vj,...,VK]; 其中Vj表示第j個聚類中屯、的速度值,是一個2維矢量; 對于第i個粒子,先將每個傳感器節點隨機指派為某一類,作為最初的聚類劃分,然后 計算各類的聚類中屯、,作為粒子i的位置編碼XI,設置粒子i各聚類中屯、的初始速度為0,計 算粒子的適應度fi; (2) 對每個粒子,根據在粒子群優化算法中的適應度函數計算其聚類中屯、和更新粒子 的適應度值; (3) 根據粒子群中粒子的適應度大小,得到粒子的個體最優位置Pid和全局最優位置Pgd; (4) 更新慣性權重系數CO; (5 )根據更新粒子的速度,根據!新粒子的速度; (6)判斷粒子的速度是否小于某一極小值;若否,則不加入擾動策略;若是,則加入擾動 策略:隨機抽取占群體比例為10%的粒子進行位置隨機初始化,進行迭代尋優; (7) 對每個傳感器節點,根據粒子的聚類中屯、,按照最近鄰法則,來確定該傳感器節點 位置的聚類劃分; (8) 如果達到結束條件,則算法結束,輸出每個sink節點部署的位置;否則,轉到步驟 (2)繼續迭代; 所述達到結束條件是指達到設定的聚類效果或設定的最大迭代次數。3. 根據權利要求1所述的無線傳感器網絡的多sink部署與容錯方法,其特征在于,聚類 中屯、的位置計算按如下公式:其中,Cw為類j的聚類中屯、的位置;N表示傳感器節點的個數; WiJ是一個NXK的加權矩陣,矩陣元素由0或1組成,當傳感器節點Si屬于類j時為1,不 屬于時為0; Sip表示傳感器節點Si的位置; 粒子適應度函數如下: 其中,K表示聚類的類力y m,叩W H印>巧*S1 I-1 -m ; 示屬于類j的傳感器節點個 數。4. 根據權利要求1所述的無線傳感器網絡的多sink部署與容錯方法,其特征在于,某一 極小值是指粒子的在迭代過程中,其速度不再發生變化。5. 根據權利要求1所述的無線傳感器網絡的多sink部署與容錯方法,其特征在于,部署 完成后,在每個子網區域內再次利用改進的粒子群聚類算法,對傳感器節點進行分簇,具體 為: 在每個sink負責的子網區域內,再次利用改進的粒子群聚類算法對該區域內的傳感器 節點進行分簇,選擇離聚類中屯、較近的并且剩余能量相對較高的節點作為簇頭節點;在一 個簇內,簇頭選舉公式為:其中,E表示傳感器節點的當前剩余能量,EO表示傳感器節點的初始能量,因此,E/E0表 示傳感器節點的剩余能量級,davertDcen表示本簇內所有傳感器節點到簇中屯、的距離的平均 值,d康示傳感器到簇中屯、的距離,…和CO 2分別是^和的權重系數;在選擇簇頭 EU dj 節點時,選擇離簇中屯、近的并且剩余級能量高的節點當選簇頭。6. 根據權利要求1所述的無線傳感器網絡的多sink部署與容錯方法,其特征在于,所述 容錯方法具體步驟為: (1)在每個子網區域內,均有一個sink節點負責收集本網絡區域內傳感器節點采集的 數據,則該子網內所有的簇頭節點的主路由的目的sink節點即為該sink節點;在簇頭節點 與其目的sink節點間建立路由,通過定義路由路徑評價函數,綜合考慮路徑上的能量消耗、 路徑上的最小剩余能量和路徑上數據包的傳輸跳數等因素,選擇綜合指標最佳的那條路由 路徑作為為主路由; 所述路由路徑評價函數為: fp= (CostpTx 巧 rep)ex (Hopcountp) 丫; 其中,Costp表示該條路徑傳輸能耗,Erep表示該條路徑上的最小剩余能量,化pcountp表 示該條路徑上源節點到sink節點的跳數;a表示能量消耗系數,為正數;0表示節點剩余能量 系數,為負數;T表示節點到sink的傳輸跳數系數,為正數; (2)為了應對sink節點出現故障的情況,建立一條備選路由路徑;首先,確定備選目的 sink節點,簇頭節點在其他子網區域的sink節點中選擇離自身位置最近的sink節點作為備 選目的sink節點;然后,確定備選路由路徑,簇頭節點在自身鄰節點集合中選擇到備選目的 sink節點近的簇頭節點作為下一跳節點的集合,然后通過定義路由路徑評價函數,綜合考 慮路徑上的能量消耗、路徑上的最小剩余能量和路徑上數據包的傳輸跳數等因素,選擇綜 合指標最佳的那條路由路徑作為備選路由路徑;當負責該區域的sink節點失效時,觸發一 個信號,通知本區域內的所有傳感器節點,簇頭節點接收到該消息后,中間節點將所傳輸的 數據包傳回至源節點,刪除目的節點為該sink的路由路徑,并向鄰居廣播sink節點失效的 消息,當簇頭節點接收到該消息后,立即查看自己的目標sink節點是否該失效sink節點,若 是,則立即啟動備選路由路徑。
【文檔編號】H04W40/32GK105915451SQ201610341097
【公開日】2016年8月31日
【申請日】2016年5月19日
【發明人】丁永生, 姚光順, 李芳 , 郝礦榮, 蔡欣, 劉天鳳
【申請人】東華大學