一種無(wú)線傳感器網(wǎng)絡(luò)及其節(jié)點(diǎn)任務(wù)分配方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明屬于無(wú)線多媒體傳感器網(wǎng)絡(luò)技術(shù)領(lǐng)域,特別涉及一種基于遺傳算法和積分 激勵(lì)機(jī)制的節(jié)點(diǎn)任務(wù)分配方法。
【背景技術(shù)】
[0002] 隨著無(wú)線傳感器網(wǎng)絡(luò)應(yīng)用實(shí)時(shí)性要求越來(lái)越高,節(jié)點(diǎn)上分配的任務(wù)在時(shí)間期限內(nèi) 成功完成是保證整個(gè)應(yīng)用實(shí)時(shí)性的重要條件。但在無(wú)線傳感器網(wǎng)絡(luò)環(huán)境中,無(wú)線節(jié)點(diǎn)很容 易因?yàn)槟芰亢慕呋蚴艿綈阂夤?jié)點(diǎn)的攻擊而失效,所以當(dāng)一個(gè)正在執(zhí)行任務(wù)的節(jié)點(diǎn)即將失效 時(shí),或是已經(jīng)死亡時(shí),如何找到一種能夠快速、低耗又成功率高的任務(wù)遷移方法,將失效節(jié) 點(diǎn)上的任務(wù)遷移到其他節(jié)點(diǎn)上去是非常必要的,這可以在個(gè)別節(jié)點(diǎn)失效的情況下,保證任 務(wù)的順利執(zhí)行。
【發(fā)明內(nèi)容】
[0003] 與現(xiàn)有技術(shù)相比,本發(fā)明的網(wǎng)關(guān)節(jié)點(diǎn)基于遺傳算法對(duì)相互依賴的子任務(wù)進(jìn)行分 配,并將積分激勵(lì)機(jī)制引入到分配算法中,從而平衡了各節(jié)點(diǎn)負(fù)載,延長(zhǎng)網(wǎng)絡(luò)生命周期;在 普通節(jié)點(diǎn)失效的情況下,可將失效節(jié)點(diǎn)上未完成的任務(wù)遷移到其他合適的節(jié)點(diǎn)上,保證了 任務(wù)在時(shí)間期限內(nèi)完成,提高了任務(wù)分配效率及完成質(zhì)量;同時(shí),通過(guò)改進(jìn)的遺傳算法,改 善了算法的空間探索能力,加快了進(jìn)化速度,能在較短時(shí)間內(nèi)獲得節(jié)點(diǎn)的分配方案,提高了 無(wú)線傳感器網(wǎng)絡(luò)的反應(yīng)時(shí)間;此外,還增加了根據(jù)節(jié)點(diǎn)積分對(duì)普通節(jié)點(diǎn)進(jìn)行劃分等級(jí)的步 驟,通過(guò)該步驟能夠縮小任務(wù)遷移時(shí)挑選處理節(jié)點(diǎn)的范圍,從而減少了多余的通信消耗,避 免了網(wǎng)絡(luò)通信堵塞,提高了任務(wù)遷移的成功率。
[0004]本發(fā)明提供了一種無(wú)線傳感器網(wǎng)絡(luò),包括一個(gè)網(wǎng)關(guān)節(jié)點(diǎn)和多個(gè)普通節(jié)點(diǎn),其特征 在于:
[0005]所述網(wǎng)關(guān)節(jié)點(diǎn)和普通節(jié)點(diǎn)以無(wú)線多跳的方式鏈接而成,網(wǎng)關(guān)節(jié)點(diǎn)具有電力供應(yīng), 而普通節(jié)點(diǎn)沒(méi)有電力供應(yīng),普通節(jié)點(diǎn)隨機(jī)布置,一旦布置好后,就不再移動(dòng)。
[0006] 本發(fā)明還提供了一種基于遺傳算法和激勵(lì)機(jī)制的無(wú)線傳感器網(wǎng)絡(luò)任務(wù)分配方法, 其特征在于:
[0007] 步驟一、網(wǎng)關(guān)節(jié)點(diǎn)接收一個(gè)應(yīng)用指令,該指令中的應(yīng)用可以被分解成多個(gè)相互依 賴的子任務(wù),用DAG任務(wù)圖G=(T,E)來(lái)描述,DAG任務(wù)圖的頂點(diǎn)用集合T={凡!^,...,!;} 表示,代表需要執(zhí)行的子任務(wù),其中n表示子任務(wù)的個(gè)數(shù),每個(gè)子任務(wù)有一個(gè)時(shí)間限 制deadline,子任務(wù)的執(zhí)行必須在指定的deadline之前完成,DAG任務(wù)圖的邊用E= {EpE2,. . .,Eg}表示,代表子任務(wù)之間的數(shù)據(jù)依賴或控制依賴,其中g(shù)表示DAG任務(wù)圖的邊 的個(gè)數(shù),如果從頂點(diǎn)到頂點(diǎn)h存在一條有向邊Em則說(shuō)明子任務(wù)L的執(zhí)行需要子任務(wù)Ti 的輸出數(shù)據(jù);網(wǎng)關(guān)節(jié)點(diǎn)采用遺傳算法對(duì)DAG任務(wù)圖中的子任務(wù)進(jìn)行管理和分配,具體方法 如下:
[0008] (1)隨機(jī)生成分配方案即染色體,構(gòu)建染色體集合S
[0009] 用S= {QQ,…,CJ表示所有的分配方案即染色體的集合,其中C是一候選 方案,x是所有候選方案的數(shù)目;網(wǎng)關(guān)節(jié)點(diǎn)隨機(jī)生成x個(gè)分配方案,每個(gè)分配方案就是一 個(gè)染色體,每個(gè)染色體用3Xn矩陣C來(lái)表示,n表示DAG任務(wù)圖中的任務(wù)總數(shù),矩陣C第 一行中的為待分配的子任務(wù),其從左到右的順序根據(jù)DAG任務(wù)圖中任 務(wù)執(zhí)行順序決定,矩陣C第二行VJ代表子任務(wù)映射的節(jié)點(diǎn),矩陣C第三行 ?n)代表子任務(wù)的計(jì)算量,染色體矩陣C如下:
[0010]
【主權(quán)項(xiàng)】
1. 一種無(wú)線傳感器網(wǎng)絡(luò),包括一個(gè)網(wǎng)關(guān)節(jié)點(diǎn)和多個(gè)普通節(jié)點(diǎn),其特征在于: 所述網(wǎng)關(guān)節(jié)點(diǎn)和普通節(jié)點(diǎn)以無(wú)線多跳的方式鏈接而成,網(wǎng)關(guān)節(jié)點(diǎn)具有電力供應(yīng),而普 通節(jié)點(diǎn)沒(méi)有電力供應(yīng),普通節(jié)點(diǎn)隨機(jī)布置,一旦布置好后,就不再移動(dòng)。
2. -種如權(quán)利要求1所述的無(wú)線傳感器網(wǎng)絡(luò)中基于遺傳算法和激勵(lì)機(jī)制的任務(wù)分配 方法,其特征在于 : 步驟一、網(wǎng)關(guān)節(jié)點(diǎn)接收一個(gè)應(yīng)用指令,該指令中的應(yīng)用可以被分解成多個(gè)相互依賴的 子任務(wù),用DAG任務(wù)圖G = (T,E)來(lái)描述,DAG任務(wù)圖的頂點(diǎn)用集合T = IT1, T2, ...,TJ 表示,代表需要執(zhí)行的子任務(wù),其中η表示子任務(wù)的個(gè)數(shù),每個(gè)子任務(wù)有一個(gè)時(shí)間限 制deadline,子任務(wù)的執(zhí)行必須在指定的deadline之前完成,DAG任務(wù)圖的邊用E = (E1, E2, ...,Eg}表示,代表子任務(wù)之間的數(shù)據(jù)依賴或控制依賴,其中g(shù)表示DAG任務(wù)圖的邊 的個(gè)數(shù),如果從頂點(diǎn)T i到頂點(diǎn)h存在一條有向邊E m則說(shuō)明子任務(wù)L的執(zhí)行需要子任務(wù)T i 的輸出數(shù)據(jù);網(wǎng)關(guān)節(jié)點(diǎn)采用遺傳算法對(duì)DAG任務(wù)圖中的子任務(wù)進(jìn)行管理和分配,具體方法 如下: (1) 隨機(jī)生成分配方案即染色體,構(gòu)建染色體集合S 用S = IC1, C2,…,CJ表示所有的分配方案即染色體的集合,其中C是一候選方案, X是所有候選方案的數(shù)目;網(wǎng)關(guān)節(jié)點(diǎn)隨機(jī)生成X個(gè)分配方案,每個(gè)分配方案就是一個(gè)染 色體,每個(gè)染色體用3Xn矩陣C來(lái)表示,η表示DAG任務(wù)圖中的任務(wù)總數(shù),矩陣C第一 行中的為待分配的子任務(wù),其從左到右的順序根據(jù)DAG任務(wù)圖中任務(wù) 執(zhí)行順序決定,矩陣C第二行(',...'...V m)代表子任務(wù)映射的節(jié)點(diǎn),矩陣C第三行 (Co1,... Coi... ωη)代表子任務(wù)的計(jì)算量,染色體矩陣C如下:
(2) 構(gòu)建通信矩陣E 任務(wù)之間的數(shù)據(jù)傳輸關(guān)系用3Xg矩陣E表示即通信矩陣,g為DAG任務(wù)圖的邊的總數(shù), 矩陣E中每一列第一個(gè)元素1\表示任務(wù)發(fā)送方,第二個(gè)元素 L為任務(wù)接收方,第三個(gè)元素 Iij為任務(wù)T JP L間傳輸數(shù)據(jù)的大小,通信矩陣E的其中一列如下:
(3) 計(jì)算染色體總獎(jiǎng)勵(lì)積分 每條染色體產(chǎn)生的獎(jiǎng)勵(lì)積分是指網(wǎng)關(guān)節(jié)點(diǎn)按某條染色體Ck進(jìn)行任務(wù)分配時(shí), 完成DAG任務(wù)圖中的所有子任務(wù)所需付出的獎(jiǎng)勵(lì)積分的總和:
其中,TiE T表示DAG任務(wù)圖中的所有子任務(wù),V# Ck表示染色體Ck中所涉及到的所 有普通節(jié)點(diǎn),/?/叫^,",.,,(7;)為節(jié)點(diǎn) '完成任務(wù)T i所需的獎(jiǎng)勵(lì)積分; (4) 計(jì)算染色體完成時(shí)間 染色體完成時(shí)間WT (Ck)是指網(wǎng)關(guān)節(jié)點(diǎn)按某條染色體Ck進(jìn)行任務(wù)分配時(shí),完成DAG任務(wù) 圖中所有子任務(wù)所需要的時(shí)間長(zhǎng)度; (5) 構(gòu)造適應(yīng)度函數(shù),對(duì)染色體性能進(jìn)行評(píng)估 適應(yīng)度表示染色體的優(yōu)劣,適應(yīng)度越高,該染色體越優(yōu),則染色體生存概率越高,通過(guò) 構(gòu)造適應(yīng)度函數(shù)來(lái)計(jì)算染色體的適應(yīng)度,適應(yīng)度函數(shù)的構(gòu)造目標(biāo)是找到總獎(jiǎng)勵(lì)積分小,完