專利名稱:一種基于區(qū)域劃分的無線體域網(wǎng)路由方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種基于區(qū)域劃分的無線體域網(wǎng)分簇路由方法,主要利用區(qū)域劃分的方法提高無線體域網(wǎng)節(jié)點(diǎn)信息傳輸效率,屬于計(jì)算機(jī)網(wǎng)絡(luò)、無線體域網(wǎng)和嵌入式系統(tǒng)的交叉技術(shù)領(lǐng)域。
背景技術(shù):
微電子、計(jì)算機(jī)和無線通信技術(shù)的進(jìn)步,推動(dòng)了低功耗多功能傳感器的快速發(fā)展,使其在微小體積內(nèi)能夠集成信息采集,數(shù)據(jù)處理,和無線通信等多種功能,無線傳感器網(wǎng)絡(luò)是由部署在監(jiān)測(cè)區(qū)域內(nèi)的傳感器節(jié)點(diǎn)通過無線通信方式形成的一個(gè)多跳的自組織網(wǎng)絡(luò)系統(tǒng),其目的是協(xié)作感知、采集和處理網(wǎng)絡(luò)覆蓋區(qū)域中感知對(duì)象的信息,并發(fā)送給觀察者。無線傳感器網(wǎng)絡(luò)將邏輯上的信息世界與客觀上的物理世界融合在一起,改變?nèi)祟惻c自然界的交互方式,被列為21世紀(jì)改變世界的十大技術(shù)之一。無線傳感器網(wǎng)絡(luò)是一個(gè)多學(xué)科交叉的綜合性科學(xué)研究領(lǐng)域,能夠?qū)ζ渌植紖^(qū)域內(nèi)的各種環(huán)境和檢測(cè)對(duì)象的信息能夠進(jìn)行實(shí)時(shí)監(jiān)控、感知和采集,還可以·將這些信息進(jìn)行處理,通過無線方式發(fā)送通過匯聚節(jié)點(diǎn),在傳輸給監(jiān)控主機(jī)或者需要使用這些信息的用戶。無線傳感器網(wǎng)絡(luò)發(fā)展迅速,可廣泛應(yīng)用于公共安全、生態(tài)環(huán)保、環(huán)境檢測(cè)、應(yīng)急指揮和生物醫(yī)學(xué)領(lǐng)域。傳感器技術(shù)在生物醫(yī)學(xué)領(lǐng)域早有應(yīng)用,但是并沒有給人們帶來極大的方便。傳統(tǒng)的醫(yī)療監(jiān)控,使用有線的傳感器,這些傳感器把生理數(shù)據(jù)和其他信息傳遞到醫(yī)療中心,達(dá)到監(jiān)控的效果。但是這種醫(yī)療監(jiān)控系統(tǒng)限制了被監(jiān)控對(duì)象的移動(dòng)性,對(duì)于那些需要長(zhǎng)期進(jìn)行醫(yī)療監(jiān)控和保健的對(duì)象而言,也影響了人們的正常生活。無線技術(shù)的引入,使得現(xiàn)代醫(yī)療保健領(lǐng)域有了快速發(fā)展。醫(yī)學(xué)傳感器被佩戴在人體上或者植入到人體內(nèi),監(jiān)測(cè)得到病人的醫(yī)學(xué)數(shù)據(jù),通過低功耗的射頻技術(shù)把這些醫(yī)學(xué)數(shù)據(jù)傳送到數(shù)據(jù)匯聚中心,通過匯聚節(jié)點(diǎn)進(jìn)行數(shù)據(jù)的處理或者傳送到醫(yī)療監(jiān)控中心,這種類型的傳感器網(wǎng)絡(luò)就是無線體域網(wǎng)。與通常的傳感器網(wǎng)絡(luò)相比,由于人體介質(zhì)的引入和醫(yī)學(xué)應(yīng)用的特殊性,這種網(wǎng)絡(luò)在規(guī)模、可靠性、持續(xù)性等方面具有特定的要求,當(dāng)然節(jié)能問題也是無線體域網(wǎng)首要考慮的問題。在采用分簇結(jié)構(gòu)的無線體域網(wǎng)中,簇頭要承擔(dān)數(shù)據(jù)收集、聚合處理和簇間轉(zhuǎn)發(fā)任務(wù),其耗能遠(yuǎn)大于簇成員節(jié)點(diǎn)。為了均衡網(wǎng)絡(luò)中節(jié)點(diǎn)的能耗,分簇?zé)o線體域網(wǎng)一般按輪運(yùn)行,每輪開始時(shí)進(jìn)行簇頭輪換,節(jié)點(diǎn)以輪流充當(dāng)簇頭的方式將能量開銷均勻分布到各個(gè)節(jié)點(diǎn),之后進(jìn)行多次簇內(nèi)通信和簇間路由;簇內(nèi)通信一般基于時(shí)分多址接人調(diào)度,簇頭為每個(gè)成員節(jié)點(diǎn)分配不同的通信時(shí)隙。相鄰簇之間的通信干擾一般通過兩層TDMA調(diào)度或多信道來避免;簇頭間的數(shù)據(jù)轉(zhuǎn)發(fā)一般利用載波檢測(cè)多址接人來避免信道爭(zhēng)用。在大部分分簇?zé)o線體域網(wǎng)中,簇成員以單跳方式與簇頭通信,因此簇內(nèi)通信一般不存在路由問題,而簇頭間則大都采用多跳方式進(jìn)行數(shù)據(jù)傳輸,因此簇頭路由協(xié)議不可或缺。而且,在分簇?zé)o線體域網(wǎng)的兩層數(shù)據(jù)收集模式下,一次簇頭路由的失敗就會(huì)導(dǎo)致一個(gè)簇一段時(shí)間的傳感數(shù)據(jù)全部丟失,因此簇頭路由在分簇?zé)o線傳感網(wǎng)中至關(guān)重要。
發(fā)明內(nèi)容
技術(shù)問題:分簇?zé)o線體域網(wǎng)的特性使其簇頭路由設(shè)計(jì)面臨很多問題,當(dāng)前很多簇頭選擇方式會(huì)造成以下結(jié)果:所生成的簇在網(wǎng)絡(luò)中的分布不夠均勻,增大了網(wǎng)絡(luò)整體能量消耗,減少了網(wǎng)絡(luò)的生存時(shí)間。本發(fā)明的目的是提供一種基于區(qū)域劃分的無線體域網(wǎng)分簇路由方法,在簇頭選擇、簇間數(shù)據(jù)傳輸方式等方面作出了改進(jìn),解決上述問題。技術(shù)方案:本發(fā)明所述基于區(qū)域劃分的分簇路由方法中,分簇?zé)o線體域網(wǎng)是由被佩戴在人體上或者植入到人體內(nèi)、具有唯一標(biāo)識(shí)的傳感器節(jié)點(diǎn)自組織構(gòu)成的分布式網(wǎng)絡(luò),整個(gè)網(wǎng)絡(luò)邏輯上被劃分為簇,每一個(gè)簇包括簇頭節(jié)點(diǎn)、非簇頭節(jié)點(diǎn),匯聚節(jié)點(diǎn)可以與所有傳感器節(jié)點(diǎn)進(jìn)行無線通信、收發(fā)人體信息。基于區(qū)域劃分的無線體域網(wǎng)路由方法包含以下步驟:
1)無線體域網(wǎng)所有節(jié)點(diǎn)啟動(dòng)后,每一個(gè)傳感器節(jié)點(diǎn)將預(yù)先定義的簇頭當(dāng)選標(biāo)識(shí)變量、下一輪簇頭當(dāng)選標(biāo)識(shí)變量都置為0,向匯聚節(jié)點(diǎn)傳送自己的標(biāo)識(shí)、當(dāng)前能量和位置坐標(biāo)信息;
2)匯聚節(jié)點(diǎn)收到節(jié)點(diǎn)信息后將這些信息儲(chǔ)存起來,根據(jù)預(yù)先設(shè)定的最優(yōu)簇頭數(shù)目,將整個(gè)網(wǎng)絡(luò)區(qū)域均勻地劃分為η個(gè)子區(qū)域,給出每一個(gè)子區(qū)域分配一個(gè)標(biāo)識(shí)。3)在完成子區(qū)域劃分之后,匯聚節(jié)點(diǎn)將各個(gè)節(jié)點(diǎn)按照其在人體的位置劃分在其所對(duì)應(yīng)的子區(qū)域中,形成相應(yīng)的分簇,并給節(jié)點(diǎn)發(fā)送子區(qū)域標(biāo)識(shí)。4)匯聚節(jié)點(diǎn)分別在各個(gè)區(qū)域中計(jì)算各個(gè)區(qū)域的質(zhì)心坐標(biāo)、各個(gè)區(qū)域的節(jié)點(diǎn)與質(zhì)心之間的距離。5)匯聚節(jié)點(diǎn)在各個(gè)區(qū)域中選擇距離其質(zhì)心最近的、標(biāo)識(shí)最小的節(jié)點(diǎn)作為首輪的簇頭,將該節(jié)點(diǎn)簇頭當(dāng)選標(biāo)識(shí)變 量置為I ;選擇距離質(zhì)心次近的節(jié)點(diǎn)作為下一輪的簇頭,將該節(jié)點(diǎn)下一輪簇頭當(dāng)選標(biāo)識(shí)變量都置為I。6)匯聚節(jié)點(diǎn)向網(wǎng)絡(luò)中的所有節(jié)點(diǎn)廣播信息,這個(gè)信息包含有各個(gè)節(jié)點(diǎn)在首輪的歸屬族、是否是族頭節(jié)點(diǎn)息、是否是下一輪族頭節(jié)點(diǎn)息。7)所有節(jié)點(diǎn)收到來自于匯聚節(jié)點(diǎn)的信息后將其儲(chǔ)存起來,依照該信息檢查自己是否被設(shè)置為首輪簇頭,如果是簇頭,就為自己簇內(nèi)成員分配時(shí)隙,生成時(shí)隙分配表,然后將時(shí)隙分配表信息發(fā)送給簇內(nèi)成員節(jié)點(diǎn),接著進(jìn)入步驟9)。8)網(wǎng)絡(luò)收到匯聚節(jié)點(diǎn)廣播發(fā)送的下一輪簇頭選擇消息,當(dāng)下一輪周期期限到來時(shí),網(wǎng)絡(luò)開始下一輪簇頭選擇,具體操作如下:
81)各個(gè)節(jié)點(diǎn)首先檢查自己的狀態(tài),若節(jié)點(diǎn)在本輪任務(wù)角色是簇頭,就向無線體域網(wǎng)中廣播自己成為簇頭的消息,等待簇內(nèi)成員節(jié)點(diǎn)的加入;若節(jié)點(diǎn)是非簇頭節(jié)點(diǎn),就等待各個(gè)簇頭發(fā)送廣播信息,收到了簇頭廣播信息后,在所有簇頭集合中選擇距離自己最近、節(jié)點(diǎn)標(biāo)識(shí)最小的簇頭加入相應(yīng)分簇,向該簇頭發(fā)送加入包含節(jié)點(diǎn)當(dāng)前剩余能量、節(jié)點(diǎn)標(biāo)識(shí)的請(qǐng)求信息,等待簇頭發(fā)送時(shí)隙分配表信息。82)每個(gè)簇頭節(jié)點(diǎn)收到節(jié)點(diǎn)發(fā)送的請(qǐng)求加入信息后,記錄各個(gè)節(jié)點(diǎn)的信息。然后根據(jù)收到的節(jié)點(diǎn)在人體所在位置及剩余能量信息計(jì)算該簇成員節(jié)點(diǎn)的平均能量值,將剩余能量大于或者等于平均能量值的節(jié)點(diǎn)組成一個(gè)候選簇頭節(jié)點(diǎn)集合,從該候選簇頭節(jié)點(diǎn)集中挑選距離當(dāng)前簇頭節(jié)點(diǎn)最近、標(biāo)識(shí)最小的節(jié)點(diǎn)作為下一輪正式簇頭,并將時(shí)隙分配信息、下一輪簇頭當(dāng)選信息發(fā)送給簇內(nèi)成員節(jié)點(diǎn)。
83)每個(gè)非簇頭節(jié)點(diǎn)收到簇頭發(fā)來的時(shí)隙分配信息和下一輪簇頭當(dāng)選信息后,將自己的下一輪簇頭當(dāng)選標(biāo)識(shí)變量設(shè)為I或者0,進(jìn)入步驟9)。9)每個(gè)非簇頭節(jié)點(diǎn)依照時(shí)隙分配表在自己的時(shí)隙內(nèi)持續(xù)收集所監(jiān)測(cè)的信息并按需向簇頭發(fā)送感知到的數(shù)據(jù),不在自己的時(shí)隙內(nèi)時(shí)關(guān)閉通訊模塊。10)每個(gè)簇頭節(jié)點(diǎn)收集所有簇內(nèi)節(jié)點(diǎn)的數(shù)據(jù),并對(duì)這些數(shù)據(jù)進(jìn)行數(shù)據(jù)融合,另外還接收其它簇頭節(jié)點(diǎn)轉(zhuǎn)發(fā)來的數(shù)據(jù);
11)每個(gè)簇頭節(jié)點(diǎn)將簇內(nèi)融合后的數(shù)據(jù)或其他簇頭轉(zhuǎn)發(fā)來的數(shù)據(jù)發(fā)送給匯聚節(jié)點(diǎn),它采用的操作如下:
ill)廣播自己的標(biāo)識(shí)、當(dāng)前能耗、簇頭身份等信息,接收并記錄相鄰簇頭節(jié)點(diǎn)發(fā)送來的對(duì)應(yīng)信息。112)在自己的鄰居簇頭節(jié)點(diǎn)集合中逐一選擇其它各個(gè)簇頭節(jié)點(diǎn),并且計(jì)算經(jīng)過該簇頭節(jié)點(diǎn)向匯聚節(jié)點(diǎn)傳輸數(shù)據(jù)的通信代價(jià)。113)在通信代價(jià)小于直接將數(shù)據(jù)傳輸給匯聚節(jié)點(diǎn)時(shí)通信代價(jià)的節(jié)點(diǎn)中,選擇能量值最大、標(biāo)識(shí)最小的簇頭節(jié)點(diǎn)作為中繼節(jié)點(diǎn),將此次數(shù)據(jù)轉(zhuǎn)發(fā)該節(jié)點(diǎn);如果沒有符合條件的簇頭節(jié)點(diǎn)作為中繼節(jié)點(diǎn),則直接將數(shù)據(jù)傳輸給匯聚節(jié)點(diǎn)。114)通過在其他簇頭節(jié)點(diǎn)中選擇中繼節(jié)點(diǎn),采用多跳的數(shù)據(jù)傳送方式將數(shù)據(jù)傳送給匯聚節(jié)點(diǎn)。115)在發(fā)送下一次數(shù)據(jù),通信交互獲得當(dāng)前中繼節(jié)點(diǎn)的能量,如果發(fā)現(xiàn)該節(jié)點(diǎn)能量較低而不能夠承擔(dān)轉(zhuǎn) 發(fā)任務(wù),則轉(zhuǎn)到步驟113)。12)網(wǎng)絡(luò)一輪周期沒有結(jié)束,進(jìn)入步驟9);網(wǎng)絡(luò)一輪周期已結(jié)束,進(jìn)入步驟13)。13)匯聚節(jié)點(diǎn)根據(jù)任務(wù)完成情況決定是否進(jìn)行下一輪簇頭選擇,如果任務(wù)已完成或節(jié)點(diǎn)能量損耗導(dǎo)致網(wǎng)絡(luò)不能正常運(yùn)行,則廣播網(wǎng)絡(luò)運(yùn)行結(jié)束信息,否則廣播下一輪簇頭選擇消息,進(jìn)入步驟8)。有益效果:本發(fā)明提出的基于區(qū)域劃分的路由方法適用于無線體域網(wǎng),具有如下的有益效果:
(I)本發(fā)明方法充分利用匯聚節(jié)點(diǎn)能量不受限制的特點(diǎn),在首輪選簇之前將網(wǎng)絡(luò)監(jiān)測(cè)區(qū)域劃分成多個(gè)簇類區(qū)域,然后根據(jù)節(jié)點(diǎn)在人體所在位置信息和能量信息在每個(gè)簇內(nèi)選擇合適的節(jié)點(diǎn)作為下一輪的簇頭,節(jié)點(diǎn)平均能量效率明顯改善。(2)綜合考慮能量和簇間路由代價(jià)等因素選擇合適的節(jié)點(diǎn)作為簇頭的下一跳節(jié)點(diǎn),在簇頭之間以多跳的方式傳輸數(shù)據(jù)到匯聚節(jié)點(diǎn),網(wǎng)絡(luò)生存周期明顯改善。
圖1為分簇?zé)o線體域網(wǎng)絡(luò)結(jié)構(gòu)示意 圖2為基于區(qū)域劃分的無線體域網(wǎng)路由方法流程示意圖。
具體實(shí)施例方式一.體系結(jié)構(gòu)
在具體實(shí)施中,本發(fā)明所述的無線體域網(wǎng)中的所有節(jié)點(diǎn)隨機(jī)分布在一個(gè)正方性區(qū)域內(nèi),如圖1所示,并且該網(wǎng)絡(luò)滿足以下條件:(I)所有節(jié)點(diǎn)按照人體需求分布在無線體域網(wǎng)中,并且都是靜止不動(dòng)的。(2)網(wǎng)絡(luò)中的每個(gè)節(jié)點(diǎn)都知道自己的位置坐標(biāo),并且能夠獲知自己當(dāng)前能量。(3)除了匯聚節(jié)點(diǎn)以外的所有節(jié)點(diǎn)是同質(zhì)同構(gòu)的,并且初始能量是相等的,除匯聚節(jié)點(diǎn)的能量是不受限制的之外,其它所有節(jié)點(diǎn)能量是有限的。(4)節(jié)點(diǎn)的功率足夠大,可以與網(wǎng)絡(luò)中的其它節(jié)點(diǎn)直接進(jìn)行通信。(5)節(jié)點(diǎn)能夠根據(jù)接收信號(hào)強(qiáng)度來測(cè)算與發(fā)送節(jié)點(diǎn)之間的距離。(6)節(jié)點(diǎn)功率是可控的,能夠 根據(jù)與接收節(jié)點(diǎn)的距離遠(yuǎn)近來調(diào)整發(fā)射功率。(7)節(jié)點(diǎn)持續(xù)的監(jiān)測(cè)周圍區(qū)域,并在自己的時(shí)間發(fā)送采集數(shù)據(jù)給所屬簇頭。(8)彼此距離很近節(jié)點(diǎn)采集到的數(shù)據(jù)具有數(shù)據(jù)相關(guān)性,所以相鄰節(jié)點(diǎn)的數(shù)據(jù)具有很大的冗余性,冗余數(shù)據(jù)對(duì)于觀察者來說是無用的。二.方法流程
下面給出本發(fā)明具體實(shí)施的更詳細(xì)描述:
1.簇頭選擇
步驟一:無線體域網(wǎng)中的每一個(gè)在身體上的節(jié)點(diǎn)向匯聚節(jié)點(diǎn)i傳送自己的信息,這個(gè)信息包含有節(jié)點(diǎn)的標(biāo)識(shí)、節(jié)點(diǎn)的能量以及節(jié)點(diǎn)的位置坐標(biāo)。步驟二:匯聚節(jié)點(diǎn)i收到節(jié)點(diǎn)信息后將這些信息儲(chǔ)存起來,然后根據(jù)預(yù)選定的最優(yōu)簇頭數(shù)目,運(yùn)行區(qū)域劃分算法將整個(gè)無線體域網(wǎng)區(qū)域按照各個(gè)節(jié)點(diǎn)在人體所在位置劃分η個(gè)子域。步驟三:在完成區(qū)域劃分之后,匯聚節(jié)點(diǎn)i將各個(gè)節(jié)點(diǎn)按照其在人體的位置劃分在其所對(duì)應(yīng)的區(qū)域中,并標(biāo)上區(qū)域標(biāo)識(shí)。步驟四:匯聚節(jié)點(diǎn)i分別在各個(gè)區(qū)域中計(jì)算各個(gè)區(qū)域的質(zhì)心坐標(biāo),然后分別計(jì)算各個(gè)區(qū)域的節(jié)點(diǎn)(j,k,l…)與質(zhì)心之間的距離。步驟五:匯聚節(jié)點(diǎn)i在各個(gè)人體區(qū)域中選擇距離其質(zhì)心最近的節(jié)點(diǎn)作為首輪的簇頭,同時(shí)選擇距離質(zhì)心次近的節(jié)點(diǎn)作為下一輪的簇頭。步驟六:匯聚節(jié)點(diǎn)i向無線體域網(wǎng)中的所有節(jié)點(diǎn)廣播信息,這個(gè)信息包含有各個(gè)節(jié)點(diǎn)在首輪的歸屬簇、節(jié)點(diǎn)的狀態(tài)(成員節(jié)點(diǎn)或者簇頭節(jié)點(diǎn))和成為下一輪簇頭的節(jié)點(diǎn)標(biāo)識(shí)。步驟七:節(jié)點(diǎn)j收到來自于匯聚節(jié)點(diǎn)的信息后將其儲(chǔ)存起來,依照該信息檢查自己是否被設(shè)置為首輪簇頭,如果是簇頭,就為自己簇內(nèi)成員分配時(shí)隙,生成時(shí)隙分配表,然后將時(shí)隙分配表發(fā)送給簇內(nèi)成員節(jié)點(diǎn)。步驟八:簇頭節(jié)點(diǎn)CH向網(wǎng)絡(luò)中廣播自己的信息,依照收到的相鄰簇頭節(jié)點(diǎn)CHl信息建立路由表,接著進(jìn)入穩(wěn)定的數(shù)據(jù)傳輸階段。下一輪簇頭選擇
步驟一:各個(gè)節(jié)點(diǎn)收到匯聚節(jié)點(diǎn)發(fā)送來的下一輪簇頭選擇期限的廣播信息后,當(dāng)下一輪周期期限到來時(shí),它們首先檢查自己的狀態(tài),若是節(jié)點(diǎn)a在本輪任務(wù)角色是簇頭,就向無線體域網(wǎng)中廣播自己成為簇頭的消息,等待簇內(nèi)成員節(jié)點(diǎn)的加入。步驟二:如果節(jié)點(diǎn)b是非簇頭節(jié)點(diǎn),就等待各個(gè)簇頭發(fā)送廣播信息,收到了簇頭廣播信息,就在所有簇頭集合中選擇距離自己最近的簇頭作為想加入的簇頭,然后向該簇頭發(fā)送加入請(qǐng)求信息。這個(gè)信息包含節(jié)點(diǎn)當(dāng)前的剩余能量和標(biāo)識(shí),然后等待簇頭發(fā)送時(shí)隙分配信息。步驟三:簇頭a收到節(jié)點(diǎn)發(fā)送的請(qǐng)求加入信息后,記錄各個(gè)節(jié)點(diǎn)的信息。然后根據(jù)收到的節(jié)點(diǎn)在人體所在位置及剩余能量信息計(jì)算該簇成員節(jié)點(diǎn)的平均能量值,將剩余能量大于或者等于平均能量值的節(jié)點(diǎn)組成一個(gè)候選簇頭節(jié)點(diǎn)集合。從該候選簇頭節(jié)點(diǎn)集中挑選距離當(dāng)前簇頭節(jié)點(diǎn)最近的節(jié)點(diǎn)作為下一輪正式簇頭。在發(fā)送時(shí)隙分配表時(shí)順帶將該信息發(fā)送給簇內(nèi)成員節(jié)點(diǎn)。步驟四:成員節(jié)點(diǎn)j收到簇頭發(fā)來的時(shí)隙分配表和下一輪選簇信息后,將自己的下一輪簇頭標(biāo)志設(shè)為I或者0,然后依照時(shí)隙分配表在自己的時(shí)隙里按需向簇頭發(fā)送感知的數(shù)據(jù)。路由建立
步驟一:每個(gè)簇頭節(jié)點(diǎn)CH(1,2,3..)在匯聚節(jié)點(diǎn)進(jìn)行數(shù)據(jù)發(fā)送的時(shí)候,通過選擇中繼節(jié)點(diǎn)采用多跳的數(shù)據(jù)傳送方式將數(shù)據(jù)傳送給匯聚節(jié)點(diǎn)。步驟二:在具體實(shí)施中,在選取中繼節(jié)點(diǎn)時(shí),若節(jié)點(diǎn)的能量較低,就不再充當(dāng)中繼節(jié)點(diǎn),通過輪換選擇下一個(gè)中繼節(jié)點(diǎn)。步驟三:在具體實(shí)施中,假定所述節(jié)點(diǎn)通信使用自由空間模型,節(jié)點(diǎn)之間通信代價(jià)與節(jié)點(diǎn)之間的距離的平方成正比關(guān)系,節(jié)點(diǎn)b想向匯聚節(jié)點(diǎn)i傳輸數(shù)據(jù),它首先在自己的鄰居簇頭節(jié)點(diǎn)集合中逐一選擇各個(gè)簇頭節(jié)點(diǎn),并且計(jì)算經(jīng)過該節(jié)點(diǎn)向匯聚節(jié)點(diǎn)傳輸數(shù)據(jù)的通信代價(jià)。將經(jīng)過中繼節(jié)點(diǎn)的傳輸路徑代價(jià)小于直接傳輸代價(jià)的節(jié)點(diǎn)組成候選節(jié)點(diǎn)集。然后在候選節(jié)點(diǎn)集合中依次比較每個(gè)節(jié)點(diǎn)的能量值和本節(jié)點(diǎn)能量值的大小,將大于或等于本節(jié)點(diǎn)能量值的節(jié)點(diǎn)作為正式中繼簇頭。如果有多個(gè)能量大的簇頭都滿足條件,則選擇能量值最大的作為中繼簇 頭。如果候選簇頭集合為空或者侯選簇頭節(jié)點(diǎn)集合中沒有符合條件的簇頭,則直接將數(shù)據(jù)傳輸給匯聚節(jié)點(diǎn)。數(shù)據(jù)傳輸
在具體實(shí)施中,每一輪簇頭確定好后,簇頭根據(jù)簇內(nèi)成員個(gè)數(shù)為每一個(gè)簇內(nèi)成員分配時(shí)隙。然后,簇頭將分配好的時(shí)隙表發(fā)送給簇內(nèi)成員,簇頭廣播自己的信息建立簇間路由路徑。在簇建立階段完成后,簇頭和簇頭之間的路徑就建立起來了,簇內(nèi)成員節(jié)點(diǎn)持續(xù)收集周圍環(huán)境信息,然后在分配給給自己的時(shí)隙里將采集的數(shù)據(jù)以一跳的方式傳送給該成員節(jié)點(diǎn)所在簇的簇頭。節(jié)點(diǎn)不在自己的傳輸時(shí)間里就關(guān)閉通訊模塊以減少能量消耗。簇頭在收到所有簇內(nèi)節(jié)點(diǎn)的數(shù)據(jù)后,將收集到的數(shù)據(jù)進(jìn)行數(shù)據(jù)融合,然后將融合后的數(shù)據(jù)傳輸給匯聚節(jié)點(diǎn)。在一輪的時(shí)間段內(nèi),穩(wěn)定的數(shù)據(jù)傳輸階段要長(zhǎng)于簇建立階段。每一次簇內(nèi)收集數(shù)據(jù)為一幀,每輪傳輸階段進(jìn)行多幀數(shù)據(jù)收集,這樣就會(huì)減少簇建立的次數(shù),將更多能量用于數(shù)據(jù)傳輸上面,提高能量利用率。在具體實(shí)施中,數(shù)據(jù)傳輸運(yùn)行一段時(shí)間后,匯聚節(jié)點(diǎn)根據(jù)任務(wù)完成情況決定是否進(jìn)行下一輪簇頭選擇,如果任務(wù)已完成或節(jié)點(diǎn)能量損耗導(dǎo)致網(wǎng)絡(luò)不能正常運(yùn)行,則廣播網(wǎng)絡(luò)結(jié)束信息,否則廣播進(jìn)行下一輪簇頭選擇的期限。
權(quán)利要求
1.一種基于區(qū)域劃分的無線體域網(wǎng)路由方法,其特征在于該方法所包含的步驟為: 1)無線體域網(wǎng)所有節(jié)點(diǎn)啟動(dòng)后,每一個(gè)傳感器節(jié)點(diǎn)將預(yù)先定義的簇頭當(dāng)選標(biāo)識(shí)變量、下一輪簇頭當(dāng)選標(biāo)識(shí)變量都置為O,向匯聚節(jié)點(diǎn)傳送自己的標(biāo)識(shí)、當(dāng)前能量和位置坐標(biāo)信息; 2)匯聚節(jié)點(diǎn)收到節(jié)點(diǎn)信息后將這些信息儲(chǔ)存起來,根據(jù)預(yù)先設(shè)定的最優(yōu)簇頭數(shù)目,將整個(gè)網(wǎng)絡(luò)區(qū)域均勻地劃分為η個(gè)子區(qū)域,給出每一個(gè)子區(qū)域分配一個(gè)標(biāo)識(shí); 3)在完成子區(qū)域劃分之后,匯聚節(jié)點(diǎn)將各個(gè)節(jié)點(diǎn)按照其在人體的位置劃分在其所對(duì)應(yīng)的子區(qū)域中,形成相應(yīng)的分簇,并給節(jié)點(diǎn)發(fā)送子區(qū)域標(biāo)識(shí); 4)匯聚節(jié)點(diǎn)分別在各個(gè)區(qū)域中計(jì)算各個(gè)區(qū)域的質(zhì)心坐標(biāo)、各個(gè)區(qū)域的節(jié)點(diǎn)與質(zhì)心之間的距離; 5)匯聚節(jié)點(diǎn)在各個(gè)區(qū)域中選擇距離其質(zhì)心最近的、標(biāo)識(shí)最小的節(jié)點(diǎn)作為首輪的簇頭,將該節(jié)點(diǎn)簇頭當(dāng)選標(biāo)識(shí)變量置為I ;選擇距離質(zhì)心次近的節(jié)點(diǎn)作為下一輪的簇頭,將該節(jié)點(diǎn)下一輪簇頭當(dāng)選標(biāo)識(shí)變量都置為I ; 6)匯聚節(jié)點(diǎn)向網(wǎng)絡(luò)中的所有節(jié)點(diǎn)廣播信息,這個(gè)信息包含有各個(gè)節(jié)點(diǎn)在首輪的歸屬族、是否是族頭節(jié)點(diǎn)息、是否是下一輪族頭節(jié)點(diǎn)息; 7)所有節(jié)點(diǎn)收到來自于匯聚節(jié)點(diǎn)的信息后將其儲(chǔ)存起來,依照該信息檢查自己是否被設(shè)置為首輪簇頭,如果是簇頭,就為自己簇內(nèi)成員分配時(shí)隙,生成時(shí)隙分配表,然后將時(shí)隙分配表信息發(fā)送給簇內(nèi)成員節(jié)點(diǎn),接著進(jìn)入步驟9); 8)網(wǎng)絡(luò)收到匯聚節(jié)點(diǎn)廣播發(fā)送的下一輪簇頭選擇消息,當(dāng)下一輪周期期限到來時(shí),網(wǎng)絡(luò)開始下一輪簇頭選擇,進(jìn)入步驟9); 9)每個(gè)非簇頭節(jié)點(diǎn)依照 時(shí)隙分配表在自己的時(shí)隙內(nèi)持續(xù)收集所監(jiān)測(cè)的信息并按需向簇頭發(fā)送感知到的數(shù)據(jù),不在自己的時(shí)隙內(nèi)時(shí)關(guān)閉通訊模塊; 10)每個(gè)簇頭節(jié)點(diǎn)收集所有簇內(nèi)節(jié)點(diǎn)的數(shù)據(jù),并對(duì)這些數(shù)據(jù)進(jìn)行數(shù)據(jù)融合,另外還接收其它簇頭節(jié)點(diǎn)轉(zhuǎn)發(fā)來的數(shù)據(jù); 11)每個(gè)簇頭節(jié)點(diǎn)將簇內(nèi)融合后的數(shù)據(jù)或其他簇頭轉(zhuǎn)發(fā)來的數(shù)據(jù)發(fā)送給匯聚節(jié)點(diǎn),它采用的操作如下: 111)廣播自己的標(biāo)識(shí)、當(dāng)前能耗、簇頭身份等信息,接收并記錄相鄰簇頭節(jié)點(diǎn)發(fā)送來的對(duì)應(yīng)信息; 112)在自己的鄰居簇頭節(jié)點(diǎn)集合中逐一選擇其它各個(gè)簇頭節(jié)點(diǎn),并且計(jì)算經(jīng)過該簇頭節(jié)點(diǎn)向匯聚節(jié)點(diǎn)傳輸數(shù)據(jù)的通信代價(jià); 113)在通信代價(jià)小于直接將數(shù)據(jù)傳輸給匯聚節(jié)點(diǎn)時(shí)通信代價(jià)的節(jié)點(diǎn)中,選擇能量值最大、標(biāo)識(shí)最小的簇頭節(jié)點(diǎn)作為中繼節(jié)點(diǎn),將此次數(shù)據(jù)轉(zhuǎn)發(fā)該節(jié)點(diǎn);如果沒有符合條件的簇頭節(jié)點(diǎn)作為中繼節(jié)點(diǎn),則直接將數(shù)據(jù)傳輸給匯聚節(jié)點(diǎn); 114)通過在其他簇頭節(jié)點(diǎn)中選擇中繼節(jié)點(diǎn),采用多跳的數(shù)據(jù)傳送方式將數(shù)據(jù)傳送給匯聚節(jié)點(diǎn); 115)在發(fā)送下一次數(shù)據(jù),通信交互獲得當(dāng)前中繼節(jié)點(diǎn)的能量,如果發(fā)現(xiàn)該節(jié)點(diǎn)能量較低而不能夠承擔(dān)轉(zhuǎn)發(fā)任務(wù),則轉(zhuǎn)到步驟113); 12)網(wǎng)絡(luò)一輪周期沒有結(jié)束,進(jìn)入步驟9);網(wǎng)絡(luò)一輪周期已結(jié)束,進(jìn)入步驟13); 13)匯聚節(jié)點(diǎn)根據(jù)任務(wù)完成情況決定是否進(jìn)行下一輪簇頭選擇,如果任務(wù)已完成或節(jié)點(diǎn)能量損耗導(dǎo)致網(wǎng)絡(luò)不能正常運(yùn)行,則廣播網(wǎng)絡(luò)運(yùn)行結(jié)束信息,否則廣播下一輪簇頭選擇消息,進(jìn)入步驟8)。
2.根據(jù)權(quán)利要求1所述的一種基于區(qū)域劃分的無線體域網(wǎng)路由方法,其特征在于步驟8)的具體操作如下: 81)各個(gè)節(jié)點(diǎn)首先檢查自己的狀態(tài),若節(jié)點(diǎn)在本輪任務(wù)角色是簇頭,就向無線體域網(wǎng)中廣播自己成為簇頭的消息,等待簇內(nèi)成員節(jié)點(diǎn)的加入;若節(jié)點(diǎn)是非簇頭節(jié)點(diǎn),就等待各個(gè)簇頭發(fā)送廣播信息,收到了簇頭廣播信息后,在所有簇頭集合中選擇距離自己最近、節(jié)點(diǎn)標(biāo)識(shí)最小的簇頭加入相應(yīng)分簇,向該簇頭發(fā)送加入包含節(jié)點(diǎn)當(dāng)前剩余能量、節(jié)點(diǎn)標(biāo)識(shí)的請(qǐng)求信息,等待簇頭發(fā)送時(shí)隙分配表信息; 82)每個(gè)簇頭節(jié)點(diǎn)收到節(jié)點(diǎn)發(fā)送 的請(qǐng)求加入信息后,記錄各個(gè)節(jié)點(diǎn)的信息; 然后根據(jù)收到的節(jié)點(diǎn)在人體所在位置及剩余能量信息計(jì)算該簇成員節(jié)點(diǎn)的平均能量值,將剩余能量大于或者等于平均能量值的節(jié)點(diǎn)組成一個(gè)候選簇頭節(jié)點(diǎn)集合,從該候選簇頭節(jié)點(diǎn)集中挑選距離當(dāng)前簇頭節(jié)點(diǎn)最近、標(biāo)識(shí)最小的節(jié)點(diǎn)作為下一輪正式簇頭,并將時(shí)隙分配信息、下一輪簇頭當(dāng)選信息發(fā)送給簇內(nèi)成員節(jié)點(diǎn); 83)每個(gè)非簇頭節(jié)點(diǎn)收到簇頭發(fā)來的時(shí)隙分配信息和下一輪簇頭當(dāng)選信息后,將自己的下一輪簇頭當(dāng)選標(biāo)識(shí)變量設(shè)為I或者O,進(jìn)入步驟9)。
全文摘要
本發(fā)明給出一種基于區(qū)域劃分的無線體域網(wǎng)路由方法,該方法適用于不同無線體域網(wǎng)應(yīng)用場(chǎng)景,利用無線體域網(wǎng)匯聚節(jié)點(diǎn)能量充足的特點(diǎn),將網(wǎng)絡(luò)監(jiān)測(cè)區(qū)域劃分成多個(gè)子區(qū)域形成分簇,根據(jù)節(jié)點(diǎn)在人體所在位置信息和能量信息在每個(gè)簇內(nèi)選擇合適的節(jié)點(diǎn)作為當(dāng)前論次的簇頭和下一輪的簇頭,同時(shí)綜合考慮能量和通信代價(jià)等因素選擇合適的節(jié)點(diǎn)作為簇頭的下一跳節(jié)點(diǎn),在簇頭之間以多跳的方式將數(shù)據(jù)發(fā)送到匯聚節(jié)點(diǎn)。本發(fā)明能夠有效地提高無線體域網(wǎng)節(jié)點(diǎn)信息傳輸效率和網(wǎng)絡(luò)生存周期。
文檔編號(hào)H04L12/715GK103220216SQ201310139709
公開日2013年7月24日 申請(qǐng)日期2013年4月22日 優(yōu)先權(quán)日2013年4月22日
發(fā)明者陳志 , 寶磊, 岳文靜, 黃洵松, 毛博, 曹壹, 遲文東 申請(qǐng)人:南京郵電大學(xué)