異構(gòu)傳感器網(wǎng)絡(luò)中基于簇樹拓?fù)浣Y(jié)構(gòu)的tdma調(diào)度方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明屬于傳感器網(wǎng)絡(luò)技術(shù)領(lǐng)域,尤其設(shè)及一種異構(gòu)傳感器網(wǎng)絡(luò)中基于簇樹拓?fù)?結(jié)構(gòu)的TDM調(diào)度方法。
【背景技術(shù)】
[0002] 物聯(lián)網(wǎng)傳感器網(wǎng)絡(luò)在物聯(lián)網(wǎng)的分層模型中屬于第一層,通過(guò)各種類型的傳感器獲 取外部環(huán)境信息,是物聯(lián)網(wǎng)的核屯、技術(shù)之一。在大多數(shù)應(yīng)用中,傳感器網(wǎng)絡(luò)中的節(jié)點(diǎn)采用電 池供電,因此需要降低節(jié)點(diǎn)能耗W最大化節(jié)點(diǎn)工作時(shí)間。傳感器節(jié)點(diǎn)按工作模式可具體分 為空閑模式、休眠模式、數(shù)據(jù)傳送模式、數(shù)據(jù)接收模式,在運(yùn)幾種模式中,數(shù)據(jù)傳送模式和數(shù) 據(jù)接收模式耗能最高,因此,為了最大化節(jié)點(diǎn)工作時(shí)間,通??赏ㄟ^(guò)對(duì)節(jié)點(diǎn)進(jìn)行調(diào)度,使節(jié) 點(diǎn)處于休眠模式W節(jié)能。
[0003] 傳感器網(wǎng)絡(luò)可分為同構(gòu)傳感器網(wǎng)絡(luò)或異構(gòu)傳感器網(wǎng)絡(luò),在現(xiàn)有的研究中,多集中 在同構(gòu)傳感器網(wǎng)絡(luò),對(duì)異構(gòu)傳感器網(wǎng)絡(luò)的研究較少。而在傳感器網(wǎng)絡(luò)的應(yīng)用中,由于節(jié)點(diǎn)通 信能力、處理能力等不同,在網(wǎng)絡(luò)中存在很多異構(gòu)節(jié)點(diǎn),因此,如何根據(jù)節(jié)點(diǎn)的異構(gòu)性,最大 化網(wǎng)絡(luò)的生存期,是一個(gè)必須解決的問(wèn)題。傳感器網(wǎng)絡(luò)在網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)上可采用平面拓?fù)?結(jié)構(gòu)或?qū)哟瓮負(fù)浣Y(jié)構(gòu)。層次拓?fù)浣Y(jié)構(gòu)將相鄰的節(jié)點(diǎn)組成"簇",簇所在范圍的數(shù)據(jù)經(jīng)簇首節(jié) 點(diǎn)處理后再上傳,能有效降低網(wǎng)絡(luò)中的數(shù)據(jù)量,進(jìn)而降低節(jié)點(diǎn)功耗。在層次拓?fù)浣Y(jié)構(gòu)中,簇 內(nèi)路由可采用一跳或多跳方式,簇間路由可采用W處理中屯、為樹根的匯聚樹結(jié)構(gòu)。傳感器 節(jié)點(diǎn)W簇為單位,簇內(nèi)節(jié)點(diǎn)將數(shù)據(jù)傳送給簇首節(jié)點(diǎn),簇首對(duì)簇內(nèi)數(shù)據(jù)進(jìn)行處理后,通過(guò)匯聚 樹將數(shù)據(jù)傳送至處理中屯、?,F(xiàn)有的基于簇樹結(jié)構(gòu)的傳感器網(wǎng)絡(luò),簇間數(shù)據(jù)和簇內(nèi)數(shù)據(jù)傳輸 存在有信道干擾,導(dǎo)致了數(shù)據(jù)包誤碼率提高或發(fā)生丟包現(xiàn)象。為了解決信道共享問(wèn)題,在傳 感器網(wǎng)絡(luò)中通常采用基于競(jìng)爭(zhēng)和基于調(diào)度(TDMA)兩種方式,TDMA與基于競(jìng)爭(zhēng)的方式相比, 具有限制傳輸時(shí)延和降低沖突的優(yōu)點(diǎn),有助于避免數(shù)據(jù)的重傳,因此能有效降低節(jié)點(diǎn)通信 能耗,延長(zhǎng)節(jié)點(diǎn)工作時(shí)間,是傳感器網(wǎng)絡(luò)中的研究熱點(diǎn)之一。
[0004] 現(xiàn)有研究多集中在同構(gòu)網(wǎng)絡(luò),沒有很好考慮傳感器網(wǎng)絡(luò)中節(jié)點(diǎn)異構(gòu)的特點(diǎn),但在 一些應(yīng)用中,如農(nóng)田環(huán)境監(jiān)測(cè)、河流監(jiān)測(cè)、智能電網(wǎng)狀態(tài)監(jiān)測(cè)等,由于簇首節(jié)點(diǎn)要承擔(dān)執(zhí)行 器的功能,所W與普通傳感器節(jié)點(diǎn)在結(jié)構(gòu)上存在異構(gòu),且現(xiàn)有研究中很少根據(jù)網(wǎng)絡(luò)覆蓋問(wèn) 題和傳感器的監(jiān)測(cè)精度問(wèn)題來(lái)綜合研究TDM調(diào)度方法。
【發(fā)明內(nèi)容】
[0005] 本發(fā)明要解決的技術(shù)問(wèn)題:提供一種異構(gòu)傳感器網(wǎng)絡(luò)中基于簇樹拓?fù)浣Y(jié)構(gòu)的 TDMA調(diào)度方法,W解決現(xiàn)有技術(shù)的TDMA調(diào)度沒有很好考慮傳感器網(wǎng)絡(luò)中節(jié)點(diǎn)異構(gòu)的特點(diǎn), 缺少根據(jù)網(wǎng)絡(luò)覆蓋和傳感器的監(jiān)測(cè)精度來(lái)進(jìn)行TDM調(diào)度,使得不能有效降低和均衡傳感 器節(jié)點(diǎn)能耗,W達(dá)到延長(zhǎng)網(wǎng)絡(luò)生存期等技術(shù)問(wèn)題。
[000引本發(fā)明技術(shù)方案: 一種異構(gòu)傳感器網(wǎng)絡(luò)中基于簇樹拓?fù)浣Y(jié)構(gòu)的TDM調(diào)度方法,它包括: 步驟I、構(gòu)建簇,確定簇首節(jié)點(diǎn)數(shù); 步驟2、形成簇間路徑; 步驟3、確定每個(gè)簇內(nèi)的工作節(jié)點(diǎn)數(shù); 步驟4、確定每個(gè)簇內(nèi)的活動(dòng)節(jié)點(diǎn); 步驟5、根據(jù)TDM調(diào)度方法確定簇首節(jié)點(diǎn)工作時(shí)間和開始工作時(shí)刻。
[0007] 步驟1所述的構(gòu)建簇,確定簇首節(jié)點(diǎn)數(shù)的方法為: 步驟1. 1、根據(jù)網(wǎng)絡(luò)覆蓋要求,通過(guò)公式
確定簇首節(jié)點(diǎn)數(shù);按六 邊形部署方式部署簇首節(jié)點(diǎn),式中:藥!為簇首節(jié)點(diǎn)數(shù);P表示網(wǎng)絡(luò)要求被覆蓋的概率;A為簇首節(jié)點(diǎn)布置區(qū)域面積;rr/為每個(gè)簇的最大覆蓋面積; 步驟1. 2、傳感器節(jié)點(diǎn)上電后啟動(dòng)定時(shí)器,等待接收簇首廣播的組網(wǎng)帖; 步驟1. 3、定時(shí)器時(shí)間到,傳感器節(jié)點(diǎn)根據(jù)接收到的組網(wǎng)帖信號(hào)強(qiáng)度,選擇信號(hào)最強(qiáng)的 一個(gè)簇首申請(qǐng)加入簇。
[0008] 步驟2所述的形成簇間路徑的方法為:由處理中屯、發(fā)送組網(wǎng)帖,通過(guò)廣播形成W 處理中屯、為樹根,所有簇首節(jié)點(diǎn)為頂點(diǎn)的骨干樹,簇首對(duì)簇內(nèi)數(shù)據(jù)融合處理后通過(guò)單跳或 多跳方式傳送給處理中屯、。
[0009] 步驟3所述確定每個(gè)簇內(nèi)工作節(jié)點(diǎn)數(shù)方法為:首先令簇首節(jié)點(diǎn)融合后的估計(jì)值為 S,簇內(nèi)節(jié)點(diǎn)所接傳感器的方差為巧'為)、幻打;'巧虹f,各節(jié)點(diǎn)所接傳感器的感知結(jié) 果分別為P:;,芯、>、.、孤2.,根據(jù)傳感器的方差給予每個(gè)傳感器i相應(yīng)的加權(quán)因子灣i, 得到融合后的估計(jì)值及-呈展瓣簿殘f,纖巧胃麵Il,養(yǎng)議端講;簇內(nèi)所有節(jié) 點(diǎn)將自身的方差!>(巧和自身的剩余能量;!龜,W及各自所連接傳感器的感知結(jié)果編傳送給 簇首節(jié)點(diǎn);然后簇首節(jié)點(diǎn)計(jì)算估計(jì)誤差隱麵廣;H鍵,給定口限為S,1話fH編激;黃,f為真 值,通過(guò)增加傳感器的個(gè)數(shù)來(lái)滿足估計(jì)誤差Pl纖il,最終的傳感器個(gè)數(shù)即為工作節(jié)點(diǎn)數(shù) ko
[0010] 步驟4所述的確定簇內(nèi)活動(dòng)節(jié)點(diǎn)的方法為:首先簇首節(jié)點(diǎn)根據(jù)公式 計(jì)算簇內(nèi)所有節(jié)點(diǎn)成為活動(dòng)節(jié)點(diǎn)的概率;然后對(duì)概率值A(chǔ)進(jìn)行從大到 小排序,選擇概率值從大到小的k個(gè)節(jié)點(diǎn)作為活動(dòng)節(jié)點(diǎn);如果^值相同,則剩余能量A值較 多的節(jié)點(diǎn)為活動(dòng)節(jié)點(diǎn);并將活動(dòng)節(jié)點(diǎn)的序號(hào)廣播給簇內(nèi)節(jié)點(diǎn)廣值相同,則剩余能量夏 1最多 的節(jié)點(diǎn)為活動(dòng)節(jié)點(diǎn);最后簇首節(jié)點(diǎn)將活動(dòng)節(jié)點(diǎn)的節(jié)點(diǎn)號(hào)和序號(hào)廣播給簇內(nèi)節(jié)點(diǎn),如果自身 節(jié)點(diǎn)號(hào)與廣播帖中的節(jié)點(diǎn)號(hào)一致,則設(shè)置自身為活動(dòng)節(jié)點(diǎn)。
[0011] 步驟5所述的根據(jù)TDM調(diào)度方法確定簇首節(jié)點(diǎn)工作時(shí)間和開始工作時(shí)刻的方法 包括: 步驟5. 1、將簇內(nèi)活動(dòng)節(jié)點(diǎn)數(shù)和簇內(nèi)工作時(shí)間最長(zhǎng)的節(jié)點(diǎn)的工作時(shí)間7:"k傳送至處理 中屯、; 步驟5.2、節(jié)點(diǎn)的工作時(shí)間7:。4=7;+&+&+&,7;為傳感器對(duì)感知信號(hào)的轉(zhuǎn)換時(shí)間,&為 數(shù)據(jù)收發(fā)的時(shí)間,&為數(shù)據(jù)處理時(shí)間,7;為監(jiān)聽時(shí)間; 步驟5. 3、根據(jù)網(wǎng)絡(luò)深度和每個(gè)簇的活動(dòng)節(jié)點(diǎn)數(shù),取節(jié)點(diǎn)數(shù)最多的一個(gè)為網(wǎng)絡(luò)中每個(gè)簇 的節(jié)點(diǎn)數(shù); 步驟5. 4、計(jì)算網(wǎng)絡(luò)一次數(shù)據(jù)采集所需的總工作時(shí)間并沿骨干樹對(duì)全網(wǎng)廣播; 步驟5. 5、時(shí)間沿骨干樹逐次進(jìn)行分割,簇首節(jié)點(diǎn)將自己所在簇的工作時(shí)間在簇內(nèi)廣 播,簇內(nèi)活動(dòng)的傳感器節(jié)點(diǎn)根據(jù)自身序號(hào)確定自身的工作時(shí)刻;其中與處理中屯、相距一跳 的簇首節(jié)點(diǎn)按公式(1)計(jì)算工作時(shí)間和公式(2)計(jì)算開始工作時(shí)刻;
與處理中屯、相距大于一跳的簇首節(jié)點(diǎn)按下面(3)計(jì)算工作時(shí)間和公式(4)計(jì)算開始工 作時(shí)刻;
上述式中,頸i續(xù)為網(wǎng)絡(luò)總的工作時(shí)間,灘絳|為孩子節(jié)點(diǎn)數(shù),纖為自身編號(hào),賴額 為孩子簇首數(shù)。
[0012] 本發(fā)明的有益效果: 本發(fā)明根據(jù)傳感器監(jiān)測(cè)精度要求確定活動(dòng)節(jié)點(diǎn)數(shù),其余節(jié)點(diǎn)通過(guò)處于休眠狀態(tài)節(jié)能, 可有效延長(zhǎng)網(wǎng)絡(luò)生存期;W往的節(jié)點(diǎn)調(diào)度算法很少提及節(jié)點(diǎn)的工作時(shí)間,而節(jié)點(diǎn)工作時(shí)間 事實(shí)上直接影響調(diào)度算法的可靠性,因此本發(fā)明將節(jié)點(diǎn)工作時(shí)間考慮在算法中,特別是考 慮了傳感器的轉(zhuǎn)換時(shí)間和數(shù)據(jù)的處理時(shí)間,通過(guò)選擇簇內(nèi)工作時(shí)間最長(zhǎng)的節(jié)點(diǎn)的工作時(shí)間 作為簇內(nèi)節(jié)點(diǎn)的平均工作時(shí)間,在有效降低時(shí)序分配算法的復(fù)雜度的同時(shí),又保證了每個(gè) 節(jié)點(diǎn)都有足夠的時(shí)間處理數(shù)據(jù);簇首節(jié)點(diǎn)和簇內(nèi)傳感器節(jié)點(diǎn)根據(jù)父節(jié)點(diǎn)的工作時(shí)間及自身 編號(hào)確定自身的工作時(shí)隙和開始工作的時(shí)刻,采用的是分布式的計(jì)算方法,有效降低了網(wǎng) 絡(luò)中的信息量,進(jìn)而降低節(jié)點(diǎn)的功耗和延長(zhǎng)網(wǎng)絡(luò)生存期;解決了現(xiàn)有技術(shù)的TDM調(diào)度沒 有很好考慮傳感器網(wǎng)絡(luò)中節(jié)點(diǎn)異構(gòu)的特點(diǎn),缺少根據(jù)網(wǎng)絡(luò)覆蓋和傳感器的監(jiān)測(cè)精度來(lái)進(jìn)行 TDMA調(diào)度,使得不能有效降低和均衡傳感器節(jié)點(diǎn)能耗,W達(dá)到延長(zhǎng)網(wǎng)絡(luò)生存期等技術(shù)問(wèn)題。 [001引【附圖說(shuō)明】: 圖1是本發(fā)明實(shí)施例的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)示意圖; 圖2是本發(fā)明實(shí)施例的TDM調(diào)度方法的流程圖; 圖3是本發(fā)明實(shí)施例的簇內(nèi)節(jié)點(diǎn)工作狀況示意圖; 圖4是本發(fā)明實(shí)施例的節(jié)點(diǎn)狀態(tài)轉(zhuǎn)換示意圖。
[0014]
【具體實(shí)施方式】: 圖中序號(hào)1.處理中屯、,2.簇首節(jié)點(diǎn),3.傳感器節(jié)點(diǎn),4.連接簇首的骨干樹,5.簇覆蓋 區(qū)域,6.事件區(qū)域,7.休眠節(jié)點(diǎn),8.工作節(jié)點(diǎn),9.簇首與工作節(jié)點(diǎn)間的通信鏈路,10.工作時(shí) 間,11.休眠時(shí)間,12.感知時(shí)間,13.處理時(shí)間,14.監(jiān)聽時(shí)間,15.數(shù)據(jù)收發(fā)時(shí)間。
[0015] 下面結(jié)合附圖和具體實(shí)施例對(duì)本發(fā)明作進(jìn)一步的詳細(xì)說(shuō)明。
[0016] 如圖1所示,異構(gòu)傳感器網(wǎng)絡(luò)中由處理中屯、、簇首節(jié)點(diǎn)和傳感器節(jié)點(diǎn)構(gòu)成,網(wǎng)絡(luò)拓 撲結(jié)構(gòu)為簇樹拓?fù)浣Y(jié)構(gòu),網(wǎng)絡(luò)周期性工作,簇首節(jié)點(diǎn)具有感知和執(zhí)行的功能,與簇內(nèi)節(jié)點(diǎn)在 結(jié)構(gòu)和功能上異構(gòu),簇的建立W達(dá)到簇首節(jié)點(diǎn)所帶執(zhí)行器的控制范圍為標(biāo)準(zhǔn),簇首配置有 兩個(gè)通信模塊,工作在不同的頻段,一個(gè)通信模塊用于簇間通信,一個(gè)通信模塊用于簇內(nèi)通 信,有效降低了頻段沖突導(dǎo)致的數(shù)據(jù)重發(fā)、丟失等情況。
[0017] 圖2為本發(fā)明采用簇樹拓?fù)浣Y(jié)構(gòu)的異構(gòu)傳感器網(wǎng)絡(luò)的TDMA調(diào)度方法的流程圖,包 括下列步驟: 步驟1,網(wǎng)絡(luò)初始化:網(wǎng)絡(luò)上電后,節(jié)點(diǎn)進(jìn)行初始化,包括對(duì)輸入輸出端口、傳感器模 塊、無(wú)線通信模塊進(jìn)行初始化; 步驟2,構(gòu)建簇,包括: 步驟2. 1 :根據(jù)網(wǎng)絡(luò)覆蓋要求,簇首節(jié)點(diǎn)數(shù)
,按六邊形部署方式部署簇首節(jié)點(diǎn); 步驟2. 2 :傳感器節(jié)點(diǎn)上電后啟動(dòng)定時(shí)器,等待接收簇首廣播的組網(wǎng)帖; 步驟2. 3 :定時(shí)時(shí)間到,傳感器節(jié)點(diǎn)根據(jù)接收到的組網(wǎng)帖信號(hào)強(qiáng)度,選擇距離自身較近 的一個(gè)簇首申請(qǐng)加入; 步驟3,形成簇間路徑:由處理中屯、發(fā)送組網(wǎng)帖,包含有跳數(shù)等信息,跳數(shù)的初始值為 0,通過(guò)廣播形成W處理中屯、為樹根,所有簇首節(jié)點(diǎn)為頂點(diǎn)的骨干樹,簇首對(duì)簇內(nèi)數(shù)據(jù)融合 處理后通過(guò)單跳或多跳方式傳送給處理中屯、。