一種基于多信道tdma的高能量效率節(jié)點(diǎn)調(diào)度方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及無(wú)線傳感器網(wǎng)絡(luò)技術(shù),具體涉及一種基于多信道TDMA的高能量效率 節(jié)點(diǎn)調(diào)度方法。
【背景技術(shù)】
[0002] 無(wú)線傳感器網(wǎng)絡(luò)因其成本低廉、部署靈活、覆蓋范圍廣,在環(huán)境感知、入侵檢測(cè)、戰(zhàn) 場(chǎng)監(jiān)測(cè)等領(lǐng)域具有廣泛的應(yīng)用前景。當(dāng)傳感器節(jié)點(diǎn)部署完畢之后,節(jié)點(diǎn)通常采用自組織方 式形成多跳數(shù)據(jù)匯聚樹(shù),并由一個(gè)數(shù)據(jù)匯聚節(jié)點(diǎn),即Sink來(lái)完成數(shù)據(jù)匯聚。傳感器節(jié)點(diǎn)周 期性采集傳感數(shù)據(jù)并以單跳或多跳的方式將數(shù)據(jù)投遞至Sink。
[0003] 對(duì)于大多數(shù)部署在無(wú)人監(jiān)管的惡劣環(huán)境中的傳感器網(wǎng)絡(luò)而言,由于節(jié)點(diǎn)采用容量 有限的電池提供能量,大部分節(jié)點(diǎn)無(wú)法進(jìn)行電池更換或充電,降低節(jié)點(diǎn)能量消耗是延長(zhǎng)網(wǎng) 絡(luò)壽命的有效手段。
[0004] 面向傳感器網(wǎng)絡(luò)的TDMA調(diào)度算法通過(guò)對(duì)傳感器節(jié)點(diǎn)訪問(wèn)信道的時(shí)隙進(jìn)行預(yù)先安 排,能夠有效剔除傳感器節(jié)點(diǎn)間數(shù)據(jù)傳輸沖突與信道競(jìng)爭(zhēng),并能夠保證常數(shù)級(jí)的數(shù)據(jù)傳輸 延遲。通過(guò)避免傳感器節(jié)點(diǎn)空閑偵聽(tīng),節(jié)點(diǎn)能夠有效節(jié)省能量以延長(zhǎng)網(wǎng)絡(luò)壽命。目前,針對(duì) 傳感器網(wǎng)絡(luò)能量?jī)?yōu)化的TDMA調(diào)度算法主要有考慮降低空閑時(shí)隙內(nèi)傳感器節(jié)點(diǎn)活動(dòng)、降低 節(jié)點(diǎn)調(diào)度過(guò)程中數(shù)據(jù)交換信息量、延長(zhǎng)節(jié)點(diǎn)休眠間隔等方式來(lái)降低能量消耗的機(jī)制。另外, 跨層優(yōu)化方案也是一種比較有效的降低能量消耗的方法。
[0005] 然而,上述方法并沒(méi)有考慮到傳感器節(jié)點(diǎn)在低負(fù)載、低功耗的網(wǎng)絡(luò)環(huán)境中其不同 工作狀態(tài)的能量消耗問(wèn)題。由于數(shù)據(jù)匯聚樹(shù)的多跳數(shù)據(jù)傳輸特性,樹(shù)中非Sink與非葉子 節(jié)點(diǎn)均可能需要接收并轉(zhuǎn)發(fā)來(lái)自子節(jié)點(diǎn)的大小不等的數(shù)據(jù)量,加上子節(jié)點(diǎn)發(fā)送時(shí)間并不連 續(xù),從而導(dǎo)致節(jié)點(diǎn)需要多次狀態(tài)切換才能夠完成數(shù)據(jù)匯聚。節(jié)點(diǎn)狀態(tài)切換指的是將節(jié)點(diǎn)從 休眠狀態(tài)喚醒,或者將節(jié)點(diǎn)從活動(dòng)狀態(tài)切換至休眠狀態(tài)的過(guò)程。我們以Mica2 Mote傳感器 節(jié)點(diǎn)為例來(lái)證明節(jié)點(diǎn)在進(jìn)行狀態(tài)切換時(shí)的能量是不可忽略的。表1列出了該傳感器節(jié)點(diǎn)在 各狀態(tài)下的能量消耗情況。圖1顯示了節(jié)點(diǎn)在不同傳輸速率與負(fù)載情況下節(jié)點(diǎn)狀態(tài)切換在 一次數(shù)據(jù)傳輸過(guò)程中所占的百分比P,P采用公式(1)進(jìn)行計(jì)算:
(1) 其中,J;_表示節(jié)點(diǎn)狀態(tài)切換能量消耗,.表示傳輸單個(gè)數(shù)據(jù)包的能量消耗。
[0006] 表1 Mica2 Mote節(jié)點(diǎn)的能量消耗_
從圖1中可知,當(dāng)節(jié)點(diǎn)負(fù)載與傳輸速率都較低時(shí)(如4 Bytes,10 KB/s),節(jié)點(diǎn)狀態(tài)切換 能量消耗占據(jù)了傳輸一個(gè)數(shù)據(jù)包總能耗的75%,即P = 75 %。隨著傳輸速率的增大,在相同 負(fù)載情況下P最終能夠達(dá)到90%左右。因此,在低負(fù)載、低功耗的情況下,優(yōu)化節(jié)點(diǎn)能量消 耗可以轉(zhuǎn)化為降低節(jié)點(diǎn)狀態(tài)切換能量消耗問(wèn)題來(lái)加以解決。
【發(fā)明內(nèi)容】
[0007] 本發(fā)明為解決上述技術(shù)問(wèn)題,提供一種基于多信道TDMA的高能量效率節(jié)點(diǎn)調(diào)度 方法。
[0008] 本發(fā)明為實(shí)現(xiàn)上述技術(shù)目的,所采用的技術(shù)方案為:一種基于多信道TDMA的高能 量效率節(jié)點(diǎn)調(diào)度方法,包括以下步驟: 步驟一、傳感器節(jié)點(diǎn)形成多跳數(shù)據(jù)匯聚樹(shù),并由一個(gè)數(shù)據(jù)匯聚節(jié)點(diǎn)Sink來(lái)完成數(shù)據(jù)匯 聚。
[0009] 初始化:采用深度優(yōu)先遍歷算法,以數(shù)據(jù)匯聚節(jié)點(diǎn)Sink為頂點(diǎn)自上而下計(jì)算每個(gè) 傳感器節(jié)點(diǎn)的負(fù)載并建立子節(jié)點(diǎn)列表,表項(xiàng)采用二元組fc震i表示,其中%表示子節(jié) 點(diǎn)#的編號(hào),表示子節(jié)點(diǎn)i的負(fù)載大小。
[0010] 步驟二、基于接收端的時(shí)隙分配策略:以數(shù)據(jù)匯聚節(jié)點(diǎn)Sink為時(shí)隙 分配開(kāi)始節(jié)點(diǎn),逐層往下為多跳數(shù)據(jù)匯聚樹(shù)中的所有傳感器節(jié)點(diǎn)分配時(shí)隙;對(duì) 于網(wǎng)絡(luò)中具有負(fù)載的非葉子傳感器節(jié)點(diǎn)假設(shè)其子節(jié)點(diǎn)列表表示為 Q'二:{色':K "(c\__w,則其時(shí)隙分配方案為
而其為子節(jié)點(diǎn)分配的發(fā)送時(shí)隙區(qū)間為
,其中,1:^表示分配給傳感器節(jié)點(diǎn)的最后一個(gè)發(fā)送時(shí)隙的編號(hào);因此, 對(duì)于每一個(gè)具有負(fù)載為_(kāi)|的子節(jié)點(diǎn)_卩而言,為其分配的發(fā)送時(shí)隙可表示為
,相應(yīng)的,為子節(jié)點(diǎn)_|:所分配的發(fā)送時(shí)隙即為 傳感器節(jié)點(diǎn)ft:接收來(lái)自子節(jié)點(diǎn)的數(shù)據(jù)的接收時(shí)隙。
[0011] 步驟三、多信道分配機(jī)制:當(dāng)所有傳感器節(jié)點(diǎn)均獲得了時(shí)隙指派之后,以保證傳感 器節(jié)點(diǎn)間數(shù)據(jù)能無(wú)沖突并發(fā)傳輸為目標(biāo),基于式(3)所示的每條信道的時(shí)隙占用情況為傳 感器節(jié)點(diǎn)分配正交信道;對(duì)任意時(shí)隙t.,應(yīng)該滿足條件:當(dāng)且僅當(dāng)信道.的時(shí)隙列表中 沒(méi)有包含時(shí)隙||時(shí),時(shí)隙t才會(huì)分配給信道震1|:。 :>: :-.<
[0012] 步驟四、時(shí)隙分配調(diào)整:在完成所有傳感器節(jié)點(diǎn)的時(shí)隙分配后,根據(jù)時(shí)隙分配結(jié) 果,求得網(wǎng)絡(luò)中已分配時(shí)隙的最大序號(hào)1_ ,將傳感器節(jié)點(diǎn)分配的時(shí)隙與相減,所得 結(jié)果即為傳感器節(jié)點(diǎn)執(zhí)行數(shù)據(jù)接收或發(fā)送的最終時(shí)隙分配方案,對(duì)于步驟二中的傳感器節(jié) 點(diǎn)_¥,其最終時(shí)隙分配為:
[0013] 所述的步驟三為了降低信道的使用數(shù),僅當(dāng)從已使用信道序列 k#…)中無(wú)法保證所述步驟二為傳感器節(jié)點(diǎn)指派的時(shí)隙都被分配給已有 信道時(shí),才會(huì)加入一條新信道,并將無(wú)法分配的時(shí)隙添加到該信道的時(shí)隙列表。
[0014] 本發(fā)明的有益效果是:本發(fā)明結(jié)合了多信道與TDMA調(diào)度技術(shù),并實(shí)現(xiàn)了兩重目 標(biāo):(1)通過(guò)采用基于接收端的時(shí)隙分配策略,保證傳感器節(jié)點(diǎn)的時(shí)隙調(diào)度是連續(xù)的,從而 使得傳感器節(jié)點(diǎn)從開(kāi)始調(diào)度到結(jié)束數(shù)據(jù)匯聚過(guò)程能夠保持活動(dòng)狀態(tài),將傳感器節(jié)點(diǎn)狀態(tài)切 換次數(shù)降低為2次,減小了節(jié)點(diǎn)的能量消耗;(2)通過(guò)將干擾傳感器節(jié)點(diǎn)的時(shí)隙安排在相 互正交的無(wú)線信道上,實(shí)現(xiàn)傳感器節(jié)點(diǎn)間無(wú)干擾的數(shù)據(jù)并發(fā)傳輸,以降低數(shù)據(jù)匯聚時(shí)間或 TDMA幀長(zhǎng)度。
【附圖說(shuō)明】
[0015] 圖1是Mica2 Mote節(jié)點(diǎn)狀態(tài)切換能量消耗圖。
[0016] 圖2是一個(gè)數(shù)據(jù)匯聚周期內(nèi)傳感器節(jié)點(diǎn)狀態(tài)切換次數(shù)比較圖。
[0017] 圖3是一個(gè)數(shù)據(jù)匯聚周期內(nèi)傳感器節(jié)點(diǎn)狀態(tài)切換能量消耗結(jié)果圖。
[0018] 圖4是三種不同的算法得出的TDMA調(diào)度長(zhǎng)度圖。
[0019]圖5是完成傳感器節(jié)點(diǎn)狀態(tài)切換能量?jī)?yōu)化時(shí)的信道數(shù)和最大跳數(shù)圖。
[0020] 圖6是本發(fā)明所舉例子的示例圖。
【具體實(shí)施方式】
[0021] 下面結(jié)合附圖對(duì)本發(fā)明作詳細(xì)的說(shuō)明。
[0022] -棵由n個(gè)傳感器節(jié)點(diǎn),一個(gè)數(shù)據(jù)匯聚節(jié)點(diǎn)Sink構(gòu)成的數(shù)據(jù)匯聚樹(shù)T。傳感器節(jié) 點(diǎn)集合表示為P,、丨。所有傳感器節(jié)點(diǎn)周期性進(jìn)行數(shù)據(jù)采集并將數(shù)據(jù) 發(fā)送至Sink。假定傳感器節(jié)點(diǎn)的有效通信距離為兄當(dāng)傳感器節(jié)點(diǎn) :|彳與之間的距離 < i?時(shí),可認(rèn)為兩者之間的通信是可靠的。
[0023] 對(duì)于任意數(shù)據(jù)匯聚樹(shù)T,數(shù)據(jù)匯聚周期內(nèi)的總能量開(kāi)銷可采用公式(2)進(jìn)行計(jì)算:
(2) 其中,_f表示傳感器節(jié)點(diǎn)%傳輸?shù)臄?shù)據(jù)包總數(shù),漏I表示傳感器節(jié)點(diǎn)%的狀態(tài)切 換總次數(shù)。由于在基于樹(shù)的數(shù)據(jù)匯聚過(guò)程中,傳感器節(jié)點(diǎn)§需要轉(zhuǎn)發(fā)的數(shù)據(jù)包數(shù)由以%為 根的子樹(shù)包含的傳感器節(jié)點(diǎn)數(shù)目決定,即可用rif表示該子樹(shù)的大小。由于該子樹(shù)在一段 時(shí)間能夠維持不變,因此,傳感器節(jié)點(diǎn)消耗在數(shù)據(jù)傳輸上的總能量(即)就成為節(jié)點(diǎn)的 固定能量開(kāi)銷。根據(jù)公式(2)可知,傳感器節(jié)點(diǎn)狀態(tài)切換能量消耗決定于其狀態(tài)切換次數(shù) 因此,最小化傳感器節(jié)點(diǎn)能量消耗問(wèn)題可以轉(zhuǎn)變?yōu)樽钚』?jié)點(diǎn)狀態(tài)切換次數(shù)f.、。 .:譚>:
[0024] 基于上述的分析,提出了一種基于多信道TDMA的高能量效率節(jié)點(diǎn)調(diào)度方法,通過(guò) 采用基于接收端的時(shí)隙分配策略的TDMA調(diào)度機(jī)制可實(shí)現(xiàn)傳感器節(jié)點(diǎn)狀態(tài)切換次數(shù)最小化 為2。而利用多信道的正交特性,則可實(shí)現(xiàn)傳感器節(jié)點(diǎn)間數(shù)據(jù)互不干擾的并發(fā)傳輸。具體包 括以下步驟: 步驟一:初始化:采用深度優(yōu)先遍歷算法,以數(shù)據(jù)匯聚節(jié)點(diǎn)Sink為頂點(diǎn)自上而下計(jì)算 每個(gè)傳感器節(jié)點(diǎn)的負(fù)載并建立子節(jié)點(diǎn)列表,表項(xiàng)采用二元組表示,其中表示 子節(jié)點(diǎn)#的編號(hào),_表示子節(jié)點(diǎn)||的負(fù)載大小。
[0025] 步驟二:基于接收端的時(shí)隙分配策略:以數(shù)據(jù)匯聚節(jié)點(diǎn)Sink為時(shí)隙 分配開(kāi)始節(jié)點(diǎn),逐層往下為數(shù)據(jù)匯聚樹(shù)中的所有傳感器節(jié)點(diǎn)分配時(shí)隙。具體 而言,對(duì)于網(wǎng)絡(luò)中具有負(fù)載的非葉子節(jié)點(diǎn)假設(shè)其子節(jié)點(diǎn)列表表示為
,而其為子節(jié)點(diǎn)分配的發(fā)送時(shí)隙區(qū)間為
,其中,1表示分配給傳感器 節(jié)點(diǎn)_1丨的最后一個(gè)發(fā)送時(shí)隙的編號(hào)。因此,對(duì)于每一個(gè)具有負(fù)載為_(kāi)的子節(jié)點(diǎn)%:而言, 為其分配的數(shù)據(jù)發(fā)送時(shí)隙可表示為
,相應(yīng)的,為子 節(jié)點(diǎn)g所分配的發(fā)送時(shí)隙即為傳感器節(jié)點(diǎn)1|接收來(lái)自子節(jié)點(diǎn)1:;:啲數(shù)據(jù)的接收時(shí)隙。
[0026] 步驟三:多信道分配機(jī)制:當(dāng)所有傳感器節(jié)點(diǎn)均獲得了時(shí)隙指派之后,以保證節(jié) 點(diǎn)間數(shù)據(jù)能無(wú)沖突并發(fā)傳輸為目標(biāo),基于式(3)所示的每條信道的時(shí)隙占用情況為節(jié)點(diǎn)分 配正交信道;對(duì)任意時(shí)隙丨I,應(yīng)該滿足條件:當(dāng)且僅當(dāng)信道的時(shí)隙列表中沒(méi)有包含時(shí) 隙&時(shí),時(shí)隙_才會(huì)分配給信道。
[0027] 除此之外,為了降低信道的使用數(shù),僅當(dāng)從已使用信道序列 "'為"為,……"為f)中無(wú)法保證