專利名稱:用于無線傳感器網(wǎng)絡的任務容錯分配方法
技術(shù)領(lǐng)域:
本發(fā)明涉及無線傳感器技術(shù)領(lǐng)域,特別是一種用于無線傳感器網(wǎng)絡的任務容錯分配方法。
背景技術(shù):
無線傳感器網(wǎng)絡是任務型網(wǎng)絡,任務管理作為無線傳感器網(wǎng)絡中一個重要管理模塊,它與移動管理和能量管理一起承擔監(jiān)控整個網(wǎng)絡中傳感器節(jié)點的能量消耗、動態(tài)變化以及任務分配的角色,對于合理分配任務、平衡網(wǎng)絡中節(jié)點開銷、延長網(wǎng)絡生命周期并最大限度發(fā)揮網(wǎng)絡作用具有重要意義。通常無線傳感器網(wǎng)絡所面對的都是計算密集型任務,由于網(wǎng)絡節(jié)點的能量以及計算和存儲能力有限,單個節(jié)點往往不能獨立完成任務,脫離整個 無線傳感器網(wǎng)絡單獨討論傳感器節(jié)點是毫無意義的,因此需要多個傳感器節(jié)點采用一定的算法通過交換信息協(xié)作完成指定任務。另外,由于其外在環(huán)境要求、多變的網(wǎng)絡狀況、不穩(wěn)定和不十分可靠的無線鏈路,相比于傳統(tǒng)的Internet,無線傳感器網(wǎng)絡存在著更大的脆弱性,網(wǎng)絡中的節(jié)點更加容易受到各種安全威脅,更容易遭受環(huán)境的破壞而失效,這就要求了無線傳感器網(wǎng)絡需要帶有容錯機制,并具有自組織的能力,能夠自動組網(wǎng)運行、自我配置維護和適時轉(zhuǎn)發(fā)監(jiān)測數(shù)據(jù),并采取自適應機制使任務調(diào)度更加適應于無線傳感器網(wǎng)絡的實時應用需求,因此需要傳感器網(wǎng)絡任務分配從實時性、經(jīng)濟性、節(jié)能性、容錯性及動態(tài)協(xié)調(diào)性等方面改善和滿足無線傳感器網(wǎng)絡對實時任務調(diào)度系統(tǒng)的性能要求。圍繞這一中心問題,目前已經(jīng)開展了許多研究工作,經(jīng)對現(xiàn)有技術(shù)的文獻檢索發(fā)現(xiàn),大部分的研究工作僅僅停留在無線傳感器網(wǎng)絡的靜態(tài)分配上,雖然有些工作考慮到動態(tài)性并提出了一些動態(tài)任務分配方法,然而大多在任務分配的初始階段就設定了節(jié)點及網(wǎng)絡的狀態(tài),并沒有真正結(jié)合無線傳感器網(wǎng)絡的動態(tài)性來設計真正適用于無線傳感器網(wǎng)絡的任務分配算法,現(xiàn)有的這些算法還很可能造成某些高密度地區(qū)的節(jié)點始終處于工作狀態(tài),造成節(jié)點的能量消耗不均衡,長期處于工作狀態(tài)的節(jié)點能量很快消耗完,影響網(wǎng)絡整體的壽命,并且已有的任務分配算法都未采用容錯技術(shù),無法提供有效的任務容錯分配機制。
發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種用于無線傳感器網(wǎng)絡的任務容錯分配方法,該方法有利于在保證實時任務按期完成的同時,提高任務調(diào)度的成功率及可靠性,降低節(jié)點能耗,減少任務執(zhí)行時間,均衡網(wǎng)絡負載,進而延長網(wǎng)絡的生命周期。本發(fā)明采用的技術(shù)方案是一種用于無線傳感器網(wǎng)絡的任務容錯分配方法,包括以下步驟
步驟I :根據(jù)各個任務截止期的先后順序,對各個任務賦予不同優(yōu)先級;
步驟2 :采用交叉聯(lián)盟模型在網(wǎng)絡中生成多個動態(tài)聯(lián)盟,并將任務分配給各個聯(lián)盟若干個節(jié)點組成一個聯(lián)盟,且同時允許一個節(jié)點加入多個聯(lián)盟,一個聯(lián)盟具有多個任務待分配執(zhí)行,同一個聯(lián)盟內(nèi)的節(jié)點相互合作共同完成任務,聯(lián)盟由匯聚節(jié)點強制生成,無需成員節(jié)點協(xié)商與交流,且不采用聯(lián)盟最終確認的機制,當聯(lián)盟負責的任務執(zhí)行完畢,聯(lián)盟隨即解散;
步驟3 :聯(lián)盟的匯聚節(jié)點以任務優(yōu)先級為序,采用主副版本容錯技術(shù)對聯(lián)盟內(nèi)的各個任務進行容錯分配
匯聚節(jié)點對各個任務做冗余備份形成任務主副版本,然后分別計算任務主版本在各成員節(jié)點上的最早開始時間及任務副版本在各成員節(jié)點上的最遲開始時間,對于任務主版本,在滿足任務截止期約束的前提下,通過數(shù)據(jù)標準化函數(shù)將成員節(jié)點的時間負載、能耗及失效率量化并加權(quán)累加計算各個成員節(jié)點的效能值,將任務主版本優(yōu)先分配給具有較優(yōu)效能值的成員節(jié)點執(zhí)行;如果任務主版本執(zhí)行成功且對應的任務副版本為主動執(zhí)行模式,則通知所述任務副版本取消執(zhí)行,如果任務主版本執(zhí)行成功且對應的任務副版本為被動執(zhí)行模式,則不發(fā)出需要所述任務副版本執(zhí)行的通知,如果任務主版本執(zhí)行失敗且對應的任務副版本采用主動執(zhí)行模式,則所述任務副版本不會收到要求其取消執(zhí)行的通知,因而繼續(xù)執(zhí)行,以通過任務副版本的成功執(zhí)行而實現(xiàn)容錯;如果任務主版本執(zhí)行失敗且對應的任務 副版本采用被動執(zhí)行模式,則由匯聚節(jié)點或執(zhí)行任務主版本的節(jié)點通知執(zhí)行任務副版本的節(jié)點需要執(zhí)行任務副版本,以通過任務副版本的成功執(zhí)行而實現(xiàn)容錯;對于主動執(zhí)行模式的任務副版本,在滿足任務截止期約束的前提下,通過數(shù)據(jù)標準化函數(shù)將成員節(jié)點的時間負載、能耗及失效率量化并加權(quán)累加計算各個成員節(jié)點的效能值,將主動執(zhí)行模式的任務副版本優(yōu)先分配給具有較優(yōu)效能值的成員節(jié)點執(zhí)行,對于被動執(zhí)行模式的任務副版本,在滿足任務截止期約束的前提下,通過數(shù)據(jù)標準化函數(shù)將成員節(jié)點的時間負載及失效率量化并加權(quán)累加計算各個成員節(jié)點的效能值,將被動執(zhí)行模式的任務副版本優(yōu)先分配給具有較優(yōu)效能值的成員節(jié)點執(zhí)行;對普通節(jié)點而言,若當前時間下有任務需要執(zhí)行,則不加區(qū)別地執(zhí)行,如果執(zhí)行的是任務主版本,在執(zhí)行過程中不會收到取消執(zhí)行的命令,執(zhí)行到最后,如果執(zhí)行的是主動執(zhí)行模式的任務副版本,接到通知則取消執(zhí)行,否則執(zhí)行到最后,如果執(zhí)行的是被動執(zhí)行模式的任務副版本,接到通知才開始執(zhí)行,否則不執(zhí)行。在步驟2中,采用粒子群優(yōu)化方法,以最小化任務執(zhí)行時間、節(jié)約節(jié)點能耗、均衡網(wǎng)絡負載、提升任務的調(diào)度成功率及網(wǎng)絡可靠性為優(yōu)化目標,并行生成動態(tài)聯(lián)盟
粒子采用矩陣的二進制編碼方式,用二維數(shù)組X表示,粒子總共具有《*/7個元素,《表示當前有 個并行任務需要分配,任務的編號從I到 ,n表示一局部區(qū)域有個節(jié)點供選擇,節(jié)點的編號從I到《 ;每個元素的取值為0或1,如果元素的值為1,則表示第J個節(jié)點加入了第i個任務所對應的聯(lián)盟;如果元素的值為0,則表示第j 個節(jié)點未加入第i個任務所對應的聯(lián)盟;
綜合考慮任務調(diào)度成功率、任務執(zhí)行時間、節(jié)點能耗、網(wǎng)絡負載及網(wǎng)絡可靠性開銷,定義適應值函數(shù)/7Ztoe1S1S如下
權(quán)利要求
1.一種用于無線傳感器網(wǎng)絡的任務容錯分配方法,其特征在于包括以下步驟 步驟I:根據(jù)各個任務截止期的先后順序,對各個任務賦予不同優(yōu)先級; 步驟2 :采用交叉聯(lián)盟模型在網(wǎng)絡中生成多個動態(tài)聯(lián)盟,并將任務分配給各個聯(lián)盟若干個節(jié)點組成一個聯(lián)盟,且同時允許一個節(jié)點加入多個聯(lián)盟,一個聯(lián)盟具有多個任務待分配執(zhí)行,同一個聯(lián)盟內(nèi)的節(jié)點相互合作共同完成任務,聯(lián)盟由匯聚節(jié)點強制生成,無需成員節(jié)點協(xié)商與交流,且不采用聯(lián)盟最終確認的機制,當聯(lián)盟負責的任務執(zhí)行完畢,聯(lián)盟隨即解散; 步驟3 :聯(lián)盟的匯聚節(jié)點以任務優(yōu)先級為序,采用主副版本容錯技術(shù)對聯(lián)盟內(nèi)的各個任務進行容錯分配 匯聚節(jié)點對各個任務做冗余備份形成任務主副版本,然后分別計算任務主版本在各成員節(jié)點上的最早開始時間及任務副版本在各成員節(jié)點上的最遲開始時間,對于任務主版 本,在滿足任務截止期約束的前提下,通過數(shù)據(jù)標準化函數(shù)將成員節(jié)點的時間負載、能耗及失效率量化并加權(quán)累加計算各個成員節(jié)點的效能值,將任務主版本優(yōu)先分配給具有較優(yōu)效能值的成員節(jié)點執(zhí)行;如果任務主版本執(zhí)行成功且對應的任務副版本為主動執(zhí)行模式,則通知所述任務副版本取消執(zhí)行,如果任務主版本執(zhí)行成功且對應的任務副版本為被動執(zhí)行模式,則不發(fā)出需要所述任務副版本執(zhí)行的通知,如果任務主版本執(zhí)行失敗且對應的任務副版本采用主動執(zhí)行模式,則所述任務副版本不會收到要求其取消執(zhí)行的通知,因而繼續(xù)執(zhí)行,以通過任務副版本的成功執(zhí)行而實現(xiàn)容錯;如果任務主版本執(zhí)行失敗且對應的任務副版本采用被動執(zhí)行模式,則由匯聚節(jié)點或執(zhí)行任務主版本的節(jié)點通知執(zhí)行任務副版本的節(jié)點需要執(zhí)行任務副版本,以通過任務副版本的成功執(zhí)行而實現(xiàn)容錯;對于主動執(zhí)行模式的任務副版本,在滿足任務截止期約束的前提下,通過數(shù)據(jù)標準化函數(shù)將成員節(jié)點的時間負載、能耗及失效率量化并加權(quán)累加計算各個成員節(jié)點的效能值,將主動執(zhí)行模式的任務副版本優(yōu)先分配給具有較優(yōu)效能值的成員節(jié)點執(zhí)行,對于被動執(zhí)行模式的任務副版本,在滿足任務截止期約束的前提下,通過數(shù)據(jù)標準化函數(shù)將成員節(jié)點的時間負載及失效率量化并加權(quán)累加計算各個成員節(jié)點的效能值,將被動執(zhí)行模式的任務副版本優(yōu)先分配給具有較優(yōu)效能值的成員節(jié)點執(zhí)行;對普通節(jié)點而言,若當前時間下有任務需要執(zhí)行,則不加區(qū)別地執(zhí)行,如果執(zhí)行的是任務主版本,在執(zhí)行過程中不會收到取消執(zhí)行的命令,執(zhí)行到最后,如果執(zhí)行的是主動執(zhí)行模式的任務副版本,接到通知則取消執(zhí)行,否則執(zhí)行到最后,如果執(zhí)行的是被動執(zhí)行模式的任務副版本,接到通知才開始執(zhí)行,否則不執(zhí)行。
2.根據(jù)權(quán)利要求I所述的用于無線傳感器網(wǎng)絡的任務容錯分配方法,其特征在于在步驟2中,采用粒子群優(yōu)化方法,以最小化任務執(zhí)行時間、節(jié)約節(jié)點能耗、均衡網(wǎng)絡負載、提升任務的調(diào)度成功率及網(wǎng)絡可靠性為優(yōu)化目標,并行生成動態(tài)聯(lián)盟 粒子采用矩陣的二進制編碼方式,用二維數(shù)組X表示,粒子總共具有個元素,《表示當前有 個并行任務需要分配,任務的編號從I到 ,n表示一局部區(qū)域有個節(jié)點供選擇,節(jié)點的編號從I到《 ;每個元素的取值為O或1,如果元素的值為1,則表示第J個節(jié)點加入了第i個任務所對應的聯(lián)盟;如果元素的值為O,則表示第j 個節(jié)點未加入第i個任務所對應的聯(lián)盟; 綜合考慮任務調(diào)度成功率、任務執(zhí)行時間、節(jié)點能耗、網(wǎng)絡負載及網(wǎng)絡可靠性開銷,定義適應值函數(shù)/7Ztoe1S1S如下
3.根據(jù)權(quán)利要求2所述的用于無線傳感器網(wǎng)絡的任務容錯分配方法,其特征在于在步驟3中,任務主版本在成員節(jié)點上的最早開始時間的計算方法如下 依次對各成員節(jié)點由前往后掃描節(jié)點的空閑時間槽[O,豸]L ^,筆],[/;,4], ,[ ,+OD ],其中,攻表示節(jié)點任務隊列下的第i個任務的開始時間,J表示節(jié)點任務隊列的第i個任務的預計完成時間,為表述的一致性,令/ ; = 0,找到第一個符合條件max(a} j'k) + %玄 < 的空閑時間槽[/丨,4+1 ],則任務在節(jié)盧,上的最早開始時間estjj記為
4.根據(jù)權(quán)利要求3所述的用于無線傳感器網(wǎng)絡的任務容錯分配方法,其特征在于在步驟3中,任務副版本在成員節(jié)點上的最遲開始時間的計算方法如下 步驟3. 2. I :針對一個承擔任務0的成員節(jié)點%,初始化時間槽=[七-氣;:i,記slot的開始時間為洗紀運衫,結(jié)束時間為send ; 步驟3. 2. 2 :掃描. 的任務隊列,slot處于任務隊列的空閑時間槽,則記%尸—啊并轉(zhuǎn)步驟3. 2. 3,否則表示sfol與隊列中已有的任務發(fā)生重疊,選中發(fā)生重疊的任務,記為^ ;若任務力被動執(zhí)行模式的任務副版本,則記H/J = sbe&n并轉(zhuǎn)步驟3. 2. 3 ;若任務^為主動執(zhí)行模式的任務副版本,且重疊發(fā)生在碼2部分,則也記&= 并轉(zhuǎn)步驟3.2. 3,否則更新slot ,令send為h的開始執(zhí)行時間,sbeSm = send _ sU ;如果send小于0,記 =+oo ,否則重復步3. 2. 2 ; 步驟3. 2.3 :若還存在指定的任務在其上的最遲開始時間未被計算的成員節(jié)點,則重復步3. 2. 1,否則結(jié)束。
5.根據(jù)權(quán)利要求4所述的用于無線傳感器網(wǎng)絡的任務容錯分配方法,其特征在于在步驟3中,任務主版本的分配方法具體如下步驟3. 3. I :選中尚未被分配且具有最早截止期的任務針對聯(lián)盟內(nèi)的成員節(jié)點,計算該任務在節(jié)點A上的與這u之和,預測任務在節(jié)點上的完成時間,如能滿足任務截止期約束,則根據(jù)數(shù)據(jù)標準化函數(shù)護 = wllXXC/£(0 +WtSxURm計算節(jié)點的效能值( ,否則記效能值?為無窮大,直至所有節(jié)點判斷完畢;數(shù)據(jù)標準化函數(shù)是通過Sigmoid函數(shù)分別將第J'個節(jié)點當前時間負載巧,能耗及節(jié)點失效率h映射到區(qū)間
,具體計算公式如下所示
6.根據(jù)權(quán)利要求5所述的用于無線傳感器網(wǎng)絡的任務容錯分配方法,其特征在于在步驟3中,任務副版本的分配方法具體如下步驟3. 4. I :選中尚未非被分配且具有最早截止期的任務O ,針對聯(lián)盟內(nèi)的成員節(jié)點,計算該任務在節(jié)點上的&&與 之和,其中,|#於/),預測任務在節(jié)點上的完成時間,如能滿足任務截止期約束,則根據(jù)數(shù)據(jù)標準化函數(shù)
全文摘要
本發(fā)明涉及無線傳感器技術(shù)領(lǐng)域,特別是一種用于無線傳感器網(wǎng)絡的任務容錯分配方法,包括以下步驟步驟1根據(jù)各個任務截止期的先后順序,對各個任務賦予不同優(yōu)先級;步驟2采用交叉聯(lián)盟模型在網(wǎng)絡中生成多個動態(tài)聯(lián)盟,并將任務分配給各個聯(lián)盟;步驟3聯(lián)盟的匯聚節(jié)點以任務優(yōu)先級為序,采用主副版本容錯技術(shù)對聯(lián)盟內(nèi)的各個任務進行容錯分配。該方法有利于在保證實時任務按期完成的同時,提高任務調(diào)度的成功率及可靠性,降低節(jié)點能耗,減少任務執(zhí)行時間,均衡網(wǎng)絡負載,進而延長網(wǎng)絡的生命周期。
文檔編號H04W72/12GK102655685SQ201210169689
公開日2012年9月5日 申請日期2012年5月29日 優(yōu)先權(quán)日2012年5月29日
發(fā)明者郭文忠, 陳國龍, 陳澄宇 申請人:福州大學