基於優先權分簇的無線傳感器網絡的網絡再編程方法
2023-05-16 02:06:51 3
專利名稱:基於優先權分簇的無線傳感器網絡的網絡再編程方法
技術領域:
本發明是一種無線傳感器網絡再編程的方法。主要用於解決無線傳感器網絡中應用程式代碼更新、代碼維護等,屬於無線傳感器網絡應用程式開發及無線傳感器網絡的網絡編程領域。
背景技術:
無線傳感器網絡由具有計算、通信和感知能力的小設備組成。由於傳感器節點資源嚴重受限,要求應用程式必須儘量少地消耗網絡資源。因此無線傳感器網絡的研究就集中到能量高效使用,同時為網絡提供信息收發功能。但在實際的應用中,一個無線傳感器網絡必須在無人照顧的環境下服務,由於環境變化、需求變化,使得重新更新、替換並重新啟動節點上的軟體成為一種必然。
無線傳感器的網絡編程可以大致分為兩類一類是將整個新程序鏡象傳送到各個節點;一類是基於新舊代碼不同部分的傳送。第一類方法為網絡編程提供了基本的解決方案,而第二類辦法則針對同一應用程式不同版本時使用方便,或者用於修改程序的Bug及程序升級等情況。
傳統的無線傳感器節點再編程由手工將新程序直接配置到節點。然而,隨著節點的增加,這種手工再編程已經不適用,而且,即使收到數據後通過XNP小規模的網絡也不理想。因此,無線傳感器網絡的再編程不能依靠手工完成,而需要通過網絡自動地傳輸到網絡的各個節點。但是,如果不能將代碼完全準確地發送到每個節點,則有可能會引起網絡沒法正常工作、網絡阻塞,甚至癱瘓等。
目前已有的網絡再編程包括單跳網絡再編程(XNP),MOAP(MultihopOver-the-Air Programming)和Deluge。所有這些都是傳輸整個程序,並且在TinyOS平臺上編譯。
XNP支持代碼分發和編程的主要功能,但是不支持多跳發送和無法滿足大規模傳感器網絡的編程增量更新。其只能廣播整個程序到離基站距離為一跳的網絡節點。
MOAP多跳網絡編程的實現。使用Ripple分發協議來分發包到一些選中的節點,而不是洪泛到網絡。對於包的重傳,MOAP使用了滑動窗口協議,當它處於等待丟失包重傳的時候,允許節點轉發程序。
Deluge是多跳網絡編程機制,有兩個主要功能塊數據的分發和再編程bootloader。Deluge分發程序以一種流的方式,以調整通信量。為了增加傳輸吞吐量,Deluge使用了優化技術,如調整包傳輸率,空間復用技術。不象MOAP,Deluge使用了固定大小頁作為緩衝單元管理和傳輸。
MNP提供可靠服務——將新程序通過發送選擇協議發布到所有網絡節點,網絡上的每個節點都下載完新程序後,等待控制命令啟用新程序。
這些方法從僅支持單跳到支持多跳,從通信量大調整到通信量小,從提供不完全可靠到提供可靠的傳輸,為無線傳感器網絡再編程提供了技術保障,但是,無線傳感器網絡中網絡節點的能量這個關鍵的影響因素卻沒有進行有效的控制,因此,這裡提出了一種能夠節省能量、又能控制網絡流量的無線傳感器網絡再編程方法。
發明內容
技術問題本發明的目的是提供一種基於優先權分簇的無線傳感器網絡的網絡再編程方法,用於解決當前無線傳感器網絡新應用程式發布到節點間耗費能量大、通信量大等問題。本發明可顯著的提高無線傳感器網絡的網絡再編程的效率,並節省無線傳感器網絡的能量、有效控制無線傳感器網絡的通信量。
技術方案本發明是一種策略性方法,可以應用於各種與無線傳感器網絡的網絡再編程相關的應用。本發明通過將無線傳感網絡分簇,並將無線傳感器網絡的每個簇根據通信的要求進行劃分優先級,優先級高的簇先請求新代碼的下載、傳輸,而優先級低的則後請求代碼下載、傳輸。其目標是通過對網絡分簇、給簇分配優先權,按先後順序給網絡節點下載新代碼。
網絡再編程方法實現過程可以分為以下三個部分1.)基站與簇頭節點代碼下載基站負責為每個簇頭節點的分配下載代碼的優先權,並發布代碼下載通知,簇頭節點向基站請求代碼下載,直到基站與簇頭節點之間完成代碼的下載,對於基站節點,分配每個簇的下載代碼優先權,一開始時與優先權為0的簇頭進行代碼傳輸,每傳輸完一個,找優先權加1的簇頭節點,2.)簇頭與簇內節點的代碼下載完成簇頭節點與簇內節點間的代碼傳輸。簇頭節點首先選擇一個簇內節點下載代碼,而後,由這個已經下載代碼的簇內節點當作簇頭節點,將代碼下載到一個它的鄰居節點,直到所有簇內節點都下載完畢新代碼,3.)申請啟動新代碼在簇內的所有節點下載完新代碼後,可以由簇頭節點負責申請啟動新代碼的運行,基站根據設定不同的優先權,按照不同的次序發布重啟新代碼程序指令。
基站與簇頭節點代碼下載過程為1.)分配簇頭不同的優先權;2.)簇頭節點每收到下載請求,判斷請求是否請求本節點;3.)是,接收請求並發送請求下載的代碼號;4.)不是,不理會通知,繼續執行原任務;5.)收到下載代碼後,判斷當前代碼是否已經接收過,如果接收過,則放棄接收,否則接收並發送申請下一個代碼;6.)基站收到簇頭請求下載的代碼號後,發送與代碼號對應的代碼;7.)簇頭節點接收完所有代碼後,發送一個接收完畢通知基站,如果基站接收完簇頭接收完畢通知,則根據開始發送下一個優先權的代碼通知;8.)如果簇頭節點有些代碼沒有接收到,則可以發送請求到基站重新下載代碼號,基站重新發送該代碼塊。
簇頭與簇內節點的代碼下載過程為1.)簇頭節點發送代碼下載通知到其一簇內節點;2.)簇內節點每收到下載請求,判斷請求是否請求本節點;3.)是,接收請求並發送請求下載的代碼號;4.)不是,不理會通知,繼續執行原任務;5.)收到下載代碼後,判斷當前代碼是否已經接收過,如果接收過,則放棄接收,否則接收並發送申請下一個代碼;6.)簇頭收到簇內鄰居請求下載的代碼號後,發送與代碼號對應的代碼;
7.)簇內節點接收完所有代碼後,發送一個接收完畢通知簇頭,如果簇頭接收完簇頭接收完畢通知,則以該簇內節點當簇頭節點,開始發送代碼下載通知到其一鄰居節點;8.)如果簇內節點有些代碼號沒有接收到,則可以發送請求到簇頭重新下載代碼號,簇頭重新發送該代碼塊。
網絡再編程方法實現過程使用「優先權分簇」實現,其步驟具體如下步驟1).使用已有的LEACH分簇算法,將無線傳感器網絡分簇;步驟2).基站根據當前從簇返回到基站的信息量的值大小分配當前簇的優先權,信息量的數值最小的簇標識為0,次小的標記為1,依次按照信息量的數值增大簇的標記值也增大,標記值數值越小則優先權越高,標記值數值越大則優先權越小;基站發送下載通知代碼塊大小到當前優先權最高的簇頭節點;步驟3).簇頭節點收到通知後,向基站節點發送第一個代碼下載請求;步驟4).基站節點收到請求後,開始發送代碼給簇頭節點,並附有下一個可以下載的代碼編號;步驟5).簇頭節點收到第一個代碼後,發一個確認接收並請求下一個請求要下載的代碼編號;步驟6).一直按步驟4)-步驟6)進行,直到簇頭節點接收完畢最後一個代碼編號,然後發送一個接收完畢確認到基站;步驟7).基站開始通知下一個優先權高的請求代碼下載的簇頭節點;步驟8).當前簇頭節點收到通知後,請求下載代碼,按照步驟3)-步驟6)進行,直到最後一個簇頭節點完成代碼的接收;步驟9).簇頭節點收完整個代碼後,開始向簇內的一節點開始發送代碼下載通知;步驟10).簇內收到通知的節點發送下載請求;與簇頭節點按照步驟3)-步驟6)進行代碼下載;步驟11).簇內節點收完代碼後,其它節點的代碼由這個節點開始負責下載,它把自己當簇頭節點,選擇其中的一個鄰居發送代碼請求;當這個鄰居節點收完代碼後,繼續把自己當簇頭節點,然後將代碼下載到其一鄰居節點,直到這個簇內所有節點都下載到新代碼。
步驟12).當簇內所有節點下載完畢新代碼後,由簇頭節點負責將完成消息發送到基站,表示所有代碼下載完畢,可以重新啟動程序;步驟13).基站收到重新啟動新程序請求時,決定是否根據當前簇頭節點返回的信息量的值大小判斷當前簇內是否有大量的信息需要發回,即給簇劃分優先權,通信量小的且已經請求發送重啟程序的簇的優先級高,一個一個查找,查找到的第一個滿足條件的簇標記優先權為0,依次加1;步驟14).基站向請求啟動程序且優先權高的簇頭髮送重啟命令;步驟15).簇頭節點收到重啟程序後,開始運行剛下載的新代碼;步驟16).重複執行步驟14)-15),直到所有簇都完成重新啟動。
有益效果使用該方法有如下優點1.控制網絡流量利用了優先權分簇的策略,即通信量較少的簇擁有最高的優先權下載代碼,這樣先安排相對空閒的簇完成代碼的下載,能有效地控制一個簇因為通信量太多而引起網絡擁塞,保證整個網絡的通信量保持平均。
2.節省能量由於在代碼下載過程時,並不是任意簇頭節點可以下載代碼,只有當前通信量較少的簇頭節點才有機會下載代碼,即在這個簇內信息傳輸碰撞的機會也變小,從而不浪費能量在重發代碼和衝突檢測上,為網絡節省了能量。
4.動態性簇頭的優先權並不是一成不變,而是根據當前通信過程中通信量的多少決定簇頭節點的相對空閒。這樣能實際反映出當前網絡中簇頭節點的通信情況,優先權能根據通信量的變化而動態地改變。
圖1給出了基於優先權分簇的無線傳感器網絡的網絡再編程方法的節點拓撲。
圖2是基於優先權分簇的無線傳感器網絡的網絡再編程方法的基站處理流程圖。
圖3是基於優先權分簇的無線傳感器網絡的網絡再編程方法的簇頭節點處理流程圖。
具體實施例方式
實現基於優先權的分簇的無線傳感器網絡的網絡再編程方法,它應具有如下特徵無線傳感器網絡是分簇的;每個簇頭節點在接收代碼時分配有優先權;簇內代碼的下載是由首負責制的。這裡先介紹一下優先權及首負責制。
優先權在基站向簇頭節點發送代碼下載通知時,由於有的簇正在執行任務,比如正在採集數據,如果這個時候基站直接允許其下載新代碼,則增加簇的通信量,也會影響整個網絡的通信量。因此,基站根據目前返回信息量少的簇頭作為先下載代碼的簇,這樣就能夠避免影響一些簇正常工作,也為一些相對空閒的簇先下載代碼。優先權正是基於這個理念提出來,能夠方便安排無線傳感器網絡簇頭節點下載新代碼的順序,即為當前通信量少且是簇頭的節點分配一個序號,第一個獲得的優先權為0,第二個為1,依次加1,直到所有簇頭節點安排到。在簇向基站節點發送請求重啟新代碼時,也要涉及到哪些簇先啟動,哪些節點後啟動的順序,這裡同樣使用了這個優先權,作為一個啟動的順序。
首負責制簇內節點在代碼下載過程中,並不是由簇頭節點負責簇內所有的節點的代碼下載,而是由簇頭髮給的第一個節點負責,然後這個節點把自己當成簇頭節點,負責發送到下一個鄰居節點,下一個鄰居節點接收完代碼後,同樣把自己當簇頭節點,然後將代碼發送到下一個鄰居節點。依次這樣執行,直到簇內所有節點接收完畢代碼。這樣每次由第一個接收完畢代碼的節點負責代碼的發送的機制稱為首負責制。
本發明中的策略定義為構建一個分簇的無線傳感器網絡,根據每個簇當前的通信量分別給每個簇分配一個下載優先權,簇頭節點完成代碼下載後,分別負責本簇頭節點所在的簇內節點的新代碼下載,直到所有節點接收完畢新代碼。圖1給出了基於優先權的分簇的無線傳感器網絡的網絡再編程方法的節點拓撲圖。
方法流程基於優先權的分簇的無線傳感器網絡的網絡再編程方法使用「優先權分簇」實現無線傳感器網絡再編程,其步驟表述如下步驟1).使用已有的LEACH分簇算法(麻省理工學院的Chandrakasan提出的無線傳感器網絡設計的低功耗自適應聚類路由算法),將無線傳感器網絡分簇;步驟2).基站根據當前從簇返回到基站的信息量的值大小分配當前簇的優先權,信息量的數值最小的簇標識為0,次小的標記為1,依次按照信息量的數值增大簇的標記值也增大,標記值數值越小則優先權越高,標記值數值越大則優先權越小;基站發送下載通知代碼塊大小到當前優先權最高的簇頭節點;步驟3).簇頭節點收到通知後,向基站節點發送第一個代碼下載請求;步驟4).基站節點收到請求後,開始發送代碼給簇頭節點,並附有下一個可以下載的代碼編號;步驟5).簇頭節點收到第一個代碼後,發一個確認接收並請求下一個請求要下載的代碼編號;步驟6).一直按步驟4)-步驟6)進行,直到簇頭節點接收完畢最後一個代碼編號,然後發送一個接收完畢確認到基站;步驟7).基站開始通知下一個優先權高的請求代碼下載的簇頭節點;步驟8).當前簇頭節點收到通知後,請求下載代碼,按照步驟3)-步驟6)進行,直到最後一個簇頭節點完成代碼的接收;步驟9).簇頭節點收完整個代碼後,開始向簇內的一節點開始發送代碼下載通知;步驟10).簇內收到通知的節點發送下載請求;與簇頭節點按照3)-步驟6)進行代碼下載;步驟11).簇內節點收完代碼後,其它節點的代碼由這個節點開始負責下載,它把自己當簇頭節點,選擇其中的一個鄰居發送代碼請求;當這個鄰居節點收完代碼後,繼續把自己當簇頭節點,然後將代碼下載到其一鄰居節點,直到這個簇內所有節點都下載到了新代碼
步驟12).當簇內所有節點下載完畢新代碼後,由簇頭節點負責將完成消息發送到基站,表示所有代碼下載完畢,可以重新啟動程序;步驟13).基站收到重新啟動新程序請求時,決定是否根據當前簇頭節點返回的信息量的值大小判斷當前簇內是否有大量的信息需要發回,即給簇劃分優先權,通信量小的且已經請求發送重啟程序的簇的優先級高,一個一個查找,查找到的第一個滿足條件的簇標記優先權為0,依次加1;步驟14).基站向請求啟動程序且優先權高的簇頭髮送重啟命令;步驟15).簇頭節點收到重啟程序後,開始運行剛下載的新代碼;步驟16).重複執行步驟14)-15),直到所有簇都完成重新啟動。
基於優先權的分簇的無線傳感器網絡的網絡再編程方法的實現過程可以分為以下三個部分基站與簇頭節點代碼下載基站負責為每個簇頭節點的分配下載代碼的優先權,並發布代碼下載通知。簇頭節點向基站請求代碼下載,直到基站與簇頭節點之間完成代碼的下載。
對於基站節點,分配每個簇的下載代碼優先權。一開始時與優先權為0的簇頭進行代碼傳輸,每傳輸完一個,找優先權加1的簇頭節點。
基站與簇頭節點代碼下載過程為1.)分配簇頭不同的優先權;2.)簇頭節點每收到下載請求,判斷請求是否請求本節點;3.)是,接收請求並發送請求下載的代碼號;4.)不是,不理會通知,繼續執行原任務;5.)收到下載代碼後,判斷當前代碼是否已經接收過,如果接收過,則放棄接收,否則接收並發送申請下一個代碼;6.)基站收到簇頭請求下載的代碼號後,發送與代碼號對應的代碼;7.)簇頭節點接收完所有代碼後,發送一個接收完畢通知基站,如果基站接收完簇頭接收完畢通知,則根據開始發送下一個優先權的代碼通知;8.)如果簇頭節點有些代碼沒有接收到,則可以發送請求到基站重新下載代碼號。基站重新發送該代碼塊。
簇頭與簇內節點的代碼下載完成簇頭節點與簇內節點間的代碼傳輸。簇頭節點首先選擇一個簇內節點下載代碼,而後,由這個已經下載代碼的簇內節點當作簇頭節點,將代碼下載到一個它的鄰居節點,直到所有簇內節點都下載完畢新代碼。
簇頭與簇內節點的代碼下載過程為1.)簇頭節點發送代碼下載通知到其一簇內節點;2.)簇內節點每收到下載請求,判斷請求是否請求本節點;3.)是,接收請求並發送請求下載的代碼號;4.)不是,不理會通知,繼續執行原任務;5.)收到下載代碼後,判斷當前代碼是否已經接收過,如果接收過,則放棄接收,否則接收並發送申請下一個代碼;6.)簇頭收到簇內鄰居請求下載的代碼號後,發送與代碼號對應的代碼;7.)簇內節點接收完所有代碼後,發送一個接收完畢通知簇頭,如果簇頭接收完簇頭接收完畢通知,則以該簇內節點當簇頭節點,開始發送代碼下載通知到其一鄰居節點;8.)如果簇內節點有些代碼號沒有接收到,則可以發送請求到簇頭重新下載代碼號。簇頭重新發送該代碼塊。
申請啟動新代碼在簇內的所有節點下載完新代碼後,可以由簇頭節點負責申請啟動新代碼的運行。基站根據設定不同的優先權,按照不同的次序發布重啟新代碼程序指令。
為了方便描述,我們假定有如下應用實例發送一個包含兩個代碼塊的代碼段到簇1內的過程,以圖1的體系結構為例。
具體實施方案為步驟1).將無線傳感器網絡分簇分別編號為簇1、簇2、簇3、簇4;步驟2).基站根據目前從簇1、簇2、簇3、簇4返回到基站的信息量分別為2p/usec、25p/usec、34p/usec、21p/usec,信息量最少的簇1優先權為0,簇4優先權為1,簇3的優先權為3,簇2的優先權為2,基站發送下載通知(節點號=1,代碼塊大小=2)到當前優先權最高的簇1的簇頭節點;步驟3).1號簇頭節點收到通知後,向基站節點發送第一個代碼(代碼號=1,本節點編號=1)下載請求;
步驟4).基站節點收到請求後,開始發送第1個代碼給簇頭1節點,並附有下一個可以下載的代碼編號2;步驟5).簇頭1收到第一個代碼後,發一個確認接收並請求下一個請求要下載的代碼編號2給基站;步驟6).簇頭1接收完畢第2個代碼編號後,然後發送一個接收完畢確認到基站;步驟7).基站節點開始通知下一個優先權高(簇4)的請求代碼下載的簇頭節點(簇頭號為4);步驟8).簇4的簇頭節點4收到通知後,請求下載代碼,按照步驟3)-6)進行,直到最後一個簇頭節點完成代碼的接收;步驟9).簇頭節點1收完畢整個代碼後,開始向簇內的一節點1.1開始發送代碼下載通知;步驟10).節點1.1發送下載請求;與簇頭節點1按照3)-6)進行代碼下載;步驟11).簇內節點1.1收完畢代碼後,其它的節點的代碼由這個節點開始負責下載。它把自己當簇頭節點,選擇其一個鄰居1.2發送代碼請求;當節點1.2收完畢代碼後,把自己當簇頭節點,然後將代碼下載到其一個鄰居節點1.3,直到這個簇內所有節點都下載到了新代碼;步驟12).當簇1內所有節點下載完畢新代碼後,由簇頭節點1負責將完成消息發送到基站,表示所有代碼下載完畢,可以重新啟動程序;步驟13).基站收到重新啟動新程序請求時,決定是否根據當前簇頭節點1返回的信息量判斷當前簇內是否有大量的信息需要發回,即給簇劃分優先權,通信量小的且已經請求發送重啟程序的簇的優先級高,一個一個查找,查找到的第一個滿足條件的簇標記優先權為0,依次加1;步驟14).基站向請求啟動程序且優先權高的簇頭髮送重啟命令;步驟15).簇頭節點收到重啟程序後,開始運行剛下載的新代碼;步驟16).重複執行步驟14)-15),直到所有簇都完成重新啟動。
權利要求
1.一種基於優先權分簇的無線傳感器網絡的網絡再編程方法,其特徵是網絡再編程方法實現過程可以分為以下三個部分1.)基站與簇頭節點代碼下載基站負責為每個簇頭節點的分配下載代碼的優先權,並發布代碼下載通知,簇頭節點向基站請求代碼下載,直到基站與簇頭節點之間完成代碼的下載,對於基站節點,分配每個簇的下載代碼優先權,一開始時與優先權為0的簇頭進行代碼傳輸,每傳輸完一個,找優先權加1的簇頭節點,2.)簇頭與簇內節點的代碼下載完成簇頭節點與簇內節點間的代碼傳輸。簇頭節點首先選擇一個簇內節點下載代碼,而後,由這個已經下載代碼的簇內節點當作簇頭節點,將代碼下載到一個它的鄰居節點,直到所有簇內節點都下載完畢新代碼,3.)申請啟動新代碼在簇內的所有節點下載完新代碼後,可以由簇頭節點負責申請啟動新代碼的運行,基站根據設定不同的優先權,按照不同的次序發布重啟新代碼程序指令。
2.根據權利要求1所述的基於優先權分簇的無線傳感器網絡的網絡再編程方法,其特徵是基站與簇頭節點代碼下載過程為1.)分配簇頭不同的優先權;2.)簇頭節點每收到下載請求,判斷請求是否請求本節點;3.)是,接收請求並發送請求下載的代碼號;4.)不是,不理會通知,繼續執行原任務;5.)收到下載代碼後,判斷當前代碼是否已經接收過,如果接收過,則放棄接收,否則接收並發送申請下一個代碼;6.)基站收到簇頭請求下載的代碼號後,發送與代碼號對應的代碼;7.)簇頭節點接收完所有代碼後,發送一個接收完畢通知基站,如果基站接收完簇頭接收完畢通知,則根據開始發送下一個優先權的代碼通知;8.)如果簇頭節點有些代碼沒有接收到,則可以發送請求到基站重新下載代碼號,基站重新發送該代碼塊。
3.根據權利要求1所述的基於優先權分簇的無線傳感器網絡的網絡再編程方法,其特徵是簇頭與簇內節點的代碼下載過程為1.)簇頭節點發送代碼下載通知到其一簇內節點;2.)簇內節點每收到下載請求,判斷請求是否請求本節點;3.)是,接收請求並發送請求下載的代碼號;4.)不是,不理會通知,繼續執行原任務;5.)收到下載代碼後,判斷當前代碼是否已經接收過,如果接收過,則放棄接收,否則接收並發送申請下一個代碼;6.)簇頭收到簇內鄰居請求下載的代碼號後,發送與代碼號對應的代碼;7.)簇內節點接收完所有代碼後,發送一個接收完畢通知簇頭,如果簇頭接收完簇頭接收完畢通知,則以該簇內節點當簇頭節點,開始發送代碼下載通知到其一鄰居節點;8.)如果簇內節點有些代碼號沒有接收到,則可以發送請求到簇頭重新下載代碼號,簇頭重新發送該代碼塊。
4.根據權利要求1所述的基於優先權分簇的無線傳感器網絡的網絡再編程方法,其特徵是網絡再編程方法實現過程使用「優先權分簇」實現,其步驟具體如下步驟1).使用已有的LEACH分簇算法,將無線傳感器網絡分簇;步驟2).基站根據當前從簇返回到基站的信息量的值大小分配當前簇的優先權,信息量的數值最小的簇標識為0,次小的標記為1,依次按照信息量的數值增大簇的標記值也增大,標記值數值越小則優先權越高,標記值數值越大則優先權越小;基站發送下載通知代碼塊大小到當前優先權最高的簇頭節點;步驟3).簇頭節點收到通知後,向基站節點發送第一個代碼下載請求;步驟4).基站節點收到請求後,開始發送代碼給簇頭節點,並附有下一個可以下載的代碼編號;步驟5).簇頭節點收到第一個代碼後,發一個確認接收並請求下一個請求要下載的代碼編號;步驟6).一直按步驟4)-步驟6)進行,直到簇頭節點接收完畢最後一個代碼編號,然後發送一個接收完畢確認到基站;步驟7).基站開始通知下一個優先權高的請求代碼下載的簇頭節點;步驟8).當前簇頭節點收到通知後,請求下載代碼,按照步驟3)-步驟6)進行,直到最後一個簇頭節點完成代碼的接收;步驟9).簇頭節點收完整個代碼後,開始向簇內的一節點開始發送代碼下載通知;步驟10).簇內收到通知的節點發送下載請求;與簇頭節點按照步驟3)-步驟6)進行代碼下載;步驟11).簇內節點收完代碼後,其它節點的代碼由這個節點開始負責下載,它把自己當簇頭節點,選擇其中的一個鄰居發送代碼請求;當這個鄰居節點收完代碼後,繼續把自己當簇頭節點,然後將代碼下載到其一鄰居節點,直到這個簇內所有節點都下載到了新代碼;步驟12).當簇內所有節點下載完畢新代碼後,由簇頭節點負責將完成消息發送到基站,表示所有代碼下載完畢,可以重新啟動程序;步驟13).基站收到重新啟動新程序請求時,決定是否根據當前簇頭節點返回的信息量的值大小判斷當前簇內是否有大量的信息需要發回,即給簇劃分優先權,通信量小的且已經請求發送重啟程序的簇的優先級高,一個一個查找,查找到的第一個滿足條件的簇標記優先權為0,依次加1;步驟14).基站向請求啟動程序且優先權高的簇頭髮送重啟命令;步驟15).簇頭節點收到重啟程序後,開始運行剛下載的新代碼;步驟16).重複執行步驟14)-15),直到所有簇都完成重新啟動。
全文摘要
基於優先權的分簇的無線傳感器網絡的網絡再編程方法提供了一種無線傳感器網絡再編程方法,用於解決當前無線傳感器網絡新應用程式發布到節點間耗費能量大、通信量大等問題。同時可顯著的提高無線傳感器網絡的網絡再編程的效率,並節省無線傳感器網絡的能量、有效控制無線傳感器網絡的能信量。本方法通過將無線傳感網絡分簇,並將無線傳感器網絡的每個簇根據通信的要求進行劃分優先級,優先級高的簇擁有先請求新代碼的下載、傳輸的權利,而優先級低的則要在優先權高的簇之後才有機會代碼下載、傳輸。它具有如下特徵無線傳感器網絡是分簇的;每個簇頭節點在接收代碼時分配有優先權;簇內代碼的下載是由首負責制的。
文檔編號H04W84/12GK101014166SQ20071001993
公開日2007年8月8日 申請日期2007年2月2日 優先權日2007年2月2日
發明者王汝傳, 李文鋒, 孫力娟, 黃海平, 陳志 申請人:南京郵電大學