專利名稱:基于隨機(jī)行走備份及節(jié)點(diǎn)合作的數(shù)據(jù)轉(zhuǎn)發(fā)方法
技術(shù)領(lǐng)域:
本發(fā)明屬于網(wǎng)絡(luò)通信技術(shù)領(lǐng)域,涉及數(shù)據(jù)轉(zhuǎn)發(fā)方法,具體是一種基于隨機(jī)行走備份及節(jié)點(diǎn)合作的數(shù)據(jù)轉(zhuǎn)發(fā)方法,可用于提高無(wú)線傳感器網(wǎng)絡(luò)的容錯(cuò)性。
背景技術(shù):
無(wú)線傳感器網(wǎng)絡(luò)是集信息采集、信息傳輸、信息處理于一體的綜合智能信息系統(tǒng), 是當(dāng)前信息領(lǐng)域研究和開發(fā)的一個(gè)熱點(diǎn),可實(shí)現(xiàn)數(shù)據(jù)的采集量化、處理融合和傳輸,在軍事偵察、環(huán)境監(jiān)測(cè)、醫(yī)療監(jiān)護(hù)、空間探索、城市交通管理、倉(cāng)儲(chǔ)管理等軍事和民用領(lǐng)域具有廣泛的應(yīng)用。在無(wú)線傳感器網(wǎng)絡(luò)的實(shí)際應(yīng)用中,一般都需要部署大量的無(wú)線傳感器節(jié)點(diǎn),由于節(jié)點(diǎn)往往工作在惡劣的環(huán)境中,并且通常采用能量有限的電池提供能量,所以無(wú)線傳感器網(wǎng)絡(luò)很容易出現(xiàn)因?yàn)槟茉春谋M或者受到自然界破壞而出現(xiàn)部分節(jié)點(diǎn)失效的情況;此外,對(duì)無(wú)線傳感器網(wǎng)絡(luò)有目的性的破壞也會(huì)直接或間接地導(dǎo)致整個(gè)網(wǎng)絡(luò)的瓦解。因此,面對(duì)無(wú)線傳感器網(wǎng)絡(luò)的實(shí)際應(yīng)用,如何節(jié)省節(jié)點(diǎn)能量、保證網(wǎng)絡(luò)數(shù)據(jù)傳輸可靠性,提高整個(gè)網(wǎng)絡(luò)的抗毀性成為無(wú)線傳感器網(wǎng)絡(luò)研究的重要問(wèn)題。目前針對(duì)無(wú)線傳感器網(wǎng)絡(luò)抗毀性的研究一般是基于冗余機(jī)制和復(fù)雜網(wǎng)絡(luò)理論開展的。冗余機(jī)制一般是通過(guò)構(gòu)造k重覆蓋網(wǎng)絡(luò)或增加中繼節(jié)點(diǎn)來(lái)提高網(wǎng)絡(luò)的抗毀性,但是冗余節(jié)點(diǎn)的增加會(huì)在網(wǎng)絡(luò)中形成許多不必要的通信鏈路從而增加了網(wǎng)絡(luò)的開銷,因而降低了系統(tǒng)的性能、影響了網(wǎng)絡(luò)的壽命。復(fù)雜網(wǎng)絡(luò)理論一般是通過(guò)構(gòu)建具有小世界特征和無(wú)標(biāo)度網(wǎng)絡(luò)特征的拓?fù)浣Y(jié)構(gòu)來(lái)提高網(wǎng)絡(luò)抗毀性。目前具有小世界特征的無(wú)線傳感器網(wǎng)絡(luò)網(wǎng)絡(luò)拓?fù)渲饕且揽吭诰W(wǎng)絡(luò)中添加有線通信線路或者在節(jié)點(diǎn)之間采用移動(dòng)節(jié)點(diǎn),如data mule,來(lái)實(shí)現(xiàn)節(jié)點(diǎn)之間長(zhǎng)程通信,減少網(wǎng)絡(luò)的平均路徑。但是這些方法存在以下缺陷(1)無(wú)線傳感器網(wǎng)絡(luò)一般出在惡劣的工作環(huán)境中,因此有線通信線路的鋪設(shè)及其維護(hù)困難;(2)有線線路一旦鋪設(shè)很難對(duì)其部署做出調(diào)整,因此有線通信線路的方案很難應(yīng)對(duì)拓?fù)浣Y(jié)構(gòu)快速變化的無(wú)線傳感器網(wǎng)絡(luò);(3)網(wǎng)絡(luò)的時(shí)間延遲及拓?fù)涞挠行詷O大的依賴于移動(dòng)節(jié)點(diǎn)的速度,但是節(jié)點(diǎn)的移動(dòng)速度遠(yuǎn)遠(yuǎn)小于無(wú)線通信信號(hào)的傳播速度,因此采用移動(dòng)節(jié)點(diǎn)的方案網(wǎng)絡(luò)性能不佳;(4)移動(dòng)節(jié)點(diǎn)造價(jià)一般遠(yuǎn)遠(yuǎn)高于無(wú)線傳感器節(jié)點(diǎn),且還需有專門的軟件控制移動(dòng)節(jié)點(diǎn)的運(yùn)動(dòng)軌跡,因此移動(dòng)節(jié)點(diǎn)方法的代價(jià)成本過(guò)高。具有無(wú)標(biāo)度網(wǎng)絡(luò)特性的無(wú)線傳感器網(wǎng)絡(luò)拓?fù)渲饕峭ㄟ^(guò)增加新節(jié)點(diǎn)和新鏈路的成長(zhǎng)方式形成節(jié)點(diǎn)度具有冪律分布特點(diǎn)的拓?fù)浣Y(jié)構(gòu),但是在增加新鏈路階段沒(méi)有考慮無(wú)線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)通信半徑有限這一限制,因此該方法在無(wú)線傳感器網(wǎng)絡(luò)的應(yīng)用中亟需改進(jìn)。
發(fā)明內(nèi)容
本發(fā)明的目的是針對(duì)上述已有技術(shù)的不足,提出一種基于隨機(jī)行走備份及節(jié)點(diǎn)合作的數(shù)據(jù)轉(zhuǎn)發(fā)方法,以避免有線鏈路的鋪設(shè)及維護(hù)困難,及移動(dòng)節(jié)點(diǎn)的造價(jià)高和網(wǎng)絡(luò)延遲大,無(wú)線傳感器節(jié)點(diǎn)的通信半徑有限問(wèn)題,通過(guò)構(gòu)建適于實(shí)際應(yīng)用需求的無(wú)線傳感器網(wǎng)絡(luò), 提高其普適性和抗毀性能。實(shí)現(xiàn)本發(fā)明的技術(shù)思路是在數(shù)據(jù)的感知階段,數(shù)據(jù)依照隨機(jī)行走策略實(shí)現(xiàn)在網(wǎng)絡(luò)節(jié)點(diǎn)間的備份;在數(shù)據(jù)的傳輸階段,節(jié)點(diǎn)之間采取合作轉(zhuǎn)發(fā)的方式將數(shù)據(jù)發(fā)送到sink, 同時(shí)充分利用無(wú)線通信廣播的特點(diǎn)減少由在數(shù)據(jù)感知階段備份產(chǎn)生的冗余數(shù)據(jù)的通信量。 其實(shí)現(xiàn)步驟包括如下(1)在SXS的平面范圍內(nèi),隨機(jī)拋撒N個(gè)同構(gòu)的無(wú)線傳感器節(jié)點(diǎn),構(gòu)建隨機(jī)無(wú)線傳感器網(wǎng)絡(luò),其中s = 200m,400彡N彡700,并將網(wǎng)關(guān)節(jié)點(diǎn)sink布置在網(wǎng)絡(luò)中心的位置;(2)在構(gòu)建的無(wú)線傳感器網(wǎng)絡(luò)中,無(wú)線傳感器網(wǎng)絡(luò)中的全部節(jié)點(diǎn)將感知的數(shù)據(jù)收集并存儲(chǔ)到節(jié)點(diǎn)的存儲(chǔ)器中,同時(shí),在無(wú)線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)中找出所有需要執(zhí)行數(shù)據(jù)備份策略的節(jié)點(diǎn),并將這些節(jié)點(diǎn)感知到的數(shù)據(jù)分別以隨機(jī)行走的方式,存儲(chǔ)到數(shù)據(jù)隨機(jī)行走所經(jīng)過(guò)節(jié)點(diǎn)的存儲(chǔ)器中備份;(3)無(wú)線傳感器網(wǎng)絡(luò)中的各節(jié)點(diǎn)將步驟O)中收集和備份的數(shù)據(jù)采取合作轉(zhuǎn)發(fā)的方式,匯聚至網(wǎng)關(guān)節(jié)點(diǎn)sink:(3a)在無(wú)線傳感器網(wǎng)絡(luò)各節(jié)點(diǎn)存儲(chǔ)器中選出需要向網(wǎng)關(guān)節(jié)點(diǎn)sink發(fā)送的數(shù)據(jù)包 MSG_ID,即數(shù)據(jù)標(biāo)志位MSG_ID_CHECK = 1的數(shù)據(jù)包;(3b)無(wú)線傳感器網(wǎng)絡(luò)中向網(wǎng)關(guān)節(jié)點(diǎn)sink發(fā)送數(shù)據(jù)的當(dāng)前節(jié)點(diǎn)source只廣播該節(jié)點(diǎn)存儲(chǔ)器中需要發(fā)送的數(shù)據(jù)包MSG_ID ;(3c)當(dāng)前節(jié)點(diǎn)source鄰居集合Neighbour中的節(jié)點(diǎn),接收到數(shù)據(jù)包MSG_ID后,重新計(jì)算各自存儲(chǔ)器中各數(shù)據(jù)包的數(shù)據(jù)標(biāo)志位MSG_ID_CHECK_N ;(3d)重復(fù)步驟(3a)、(3b)和(3c)直到網(wǎng)絡(luò)中的節(jié)點(diǎn)全部向網(wǎng)關(guān)節(jié)點(diǎn)sink發(fā)送了各自存儲(chǔ)器中需要發(fā)送的數(shù)據(jù);(4)網(wǎng)關(guān)節(jié)點(diǎn)sink接收由步驟(3)中各節(jié)點(diǎn)發(fā)送的數(shù)據(jù),并針對(duì)無(wú)線傳感器網(wǎng)絡(luò)的應(yīng)用背景,對(duì)接收到的數(shù)據(jù)做出相應(yīng)的處理。本發(fā)明具有如下的優(yōu)點(diǎn)(1)本發(fā)明由于將無(wú)線傳感器網(wǎng)絡(luò)中節(jié)點(diǎn)感知的數(shù)據(jù),存儲(chǔ)到數(shù)據(jù)隨機(jī)行走所經(jīng)過(guò)的節(jié)點(diǎn)存儲(chǔ)器中,因此使得數(shù)據(jù)隨機(jī)行走所經(jīng)過(guò)節(jié)點(diǎn)只需要獲取其通信范圍內(nèi)其他無(wú)線傳感器節(jié)點(diǎn)的信息,所以本發(fā)明更加適合節(jié)點(diǎn)通信范圍有限的無(wú)線傳感器網(wǎng)絡(luò);(2)本發(fā)明通過(guò)數(shù)據(jù)的隨機(jī)行走備份策略,使得備份數(shù)據(jù)的節(jié)點(diǎn)與感知該數(shù)據(jù)的節(jié)點(diǎn)在無(wú)線傳感器網(wǎng)絡(luò)中的分布比較分散,所以備份數(shù)據(jù)的節(jié)點(diǎn)與感知該數(shù)據(jù)的節(jié)點(diǎn)同時(shí)故障的概率遠(yuǎn)遠(yuǎn)低于感知該數(shù)據(jù)的節(jié)點(diǎn)故障的概率,因此可以大大提高網(wǎng)絡(luò)的抗毀性;(3)本發(fā)明在無(wú)線傳感器網(wǎng)路中節(jié)點(diǎn)將各自存儲(chǔ)器中的數(shù)據(jù)匯聚到網(wǎng)關(guān)節(jié)點(diǎn) sink時(shí),利用無(wú)線通信廣播的特點(diǎn)重新計(jì)算各自存儲(chǔ)器中數(shù)據(jù)包的數(shù)據(jù)標(biāo)志位MSG_ID_ CHECK,同時(shí)無(wú)線傳感器網(wǎng)絡(luò)中各節(jié)點(diǎn)只廣播其存儲(chǔ)器中數(shù)據(jù)標(biāo)志位MSG_ID_CHECK = 1的數(shù)據(jù)包MSG_ID,因此可以在不增加的通信開銷的前提下減少由數(shù)據(jù)備份所引起的冗余數(shù)據(jù)的傳輸量;
(4)由于無(wú)線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)感知的數(shù)據(jù)依照數(shù)據(jù)的隨機(jī)行走的備份策略在其他節(jié)點(diǎn)存儲(chǔ)器中有備份,因此在采用本發(fā)明的數(shù)據(jù)合作轉(zhuǎn)發(fā)策略時(shí),網(wǎng)絡(luò)的平均路徑長(zhǎng)度會(huì)有一定的降低;(5)本發(fā)明數(shù)據(jù)備份及合作轉(zhuǎn)發(fā)的方法在完全符合無(wú)線傳感器通信特征的前提下,沒(méi)有涉及有線鏈路、移動(dòng)節(jié)點(diǎn)等條件,因此使得本發(fā)明的方法可以在不提高網(wǎng)絡(luò)構(gòu)建、 維護(hù)、通信成本的前提下提高網(wǎng)絡(luò)的抗毀性。
圖1是本發(fā)明的總流程圖;圖2是本發(fā)明中基于數(shù)據(jù)隨機(jī)行走備份策略子流程圖;圖3是本發(fā)明中基于合作轉(zhuǎn)發(fā)的數(shù)據(jù)傳輸子流程圖;圖4是本發(fā)明的網(wǎng)絡(luò)規(guī)模對(duì)網(wǎng)絡(luò)平均路徑長(zhǎng)度影響示意圖;圖5是本發(fā)明的隨機(jī)行走概率ρ對(duì)網(wǎng)絡(luò)平均路徑長(zhǎng)度影響示意圖;圖6是本發(fā)明在不同轉(zhuǎn)發(fā)策略下,網(wǎng)絡(luò)發(fā)送的數(shù)據(jù)包數(shù)量比較圖;圖7是本發(fā)明在網(wǎng)絡(luò)規(guī)模為400個(gè)節(jié)點(diǎn)時(shí),網(wǎng)絡(luò)抗毀性的性能曲線圖;圖8是本發(fā)明在網(wǎng)絡(luò)規(guī)模為500個(gè)節(jié)點(diǎn)時(shí),網(wǎng)絡(luò)抗毀性的性能曲線圖;圖9是本發(fā)明在網(wǎng)絡(luò)規(guī)模為600個(gè)節(jié)點(diǎn)時(shí),網(wǎng)絡(luò)抗毀性的性能曲線圖;圖10是本發(fā)明在網(wǎng)絡(luò)中失效節(jié)點(diǎn)比例為0. 2時(shí),網(wǎng)絡(luò)抗毀性的性能曲線圖;圖11是本發(fā)明在網(wǎng)絡(luò)中失效節(jié)點(diǎn)比例為0. 4時(shí),網(wǎng)絡(luò)抗毀性的性能曲線圖;圖12是本發(fā)明在網(wǎng)絡(luò)中失效節(jié)點(diǎn)比例為0. 6時(shí),網(wǎng)絡(luò)抗毀性的性能曲線圖。
具體實(shí)施例方式為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面結(jié)合附圖對(duì)本發(fā)明做進(jìn)一步的描述。參照附圖1,本發(fā)明的實(shí)現(xiàn)步驟如下步驟1.在S X S的平面范圍內(nèi),隨機(jī)拋撒N個(gè)同構(gòu)的無(wú)線傳感器節(jié)點(diǎn),構(gòu)建隨機(jī)無(wú)線傳感器網(wǎng)絡(luò),其中S = 200m, 400彡N彡700,并將網(wǎng)關(guān)節(jié)點(diǎn)sink布置在網(wǎng)絡(luò)中心的位置。步驟2.在構(gòu)建的無(wú)線傳感器網(wǎng)絡(luò)中,無(wú)線傳感器網(wǎng)絡(luò)中的全部節(jié)點(diǎn)將感知的數(shù)據(jù)存儲(chǔ)到各自的存儲(chǔ)器中,網(wǎng)絡(luò)中需要執(zhí)行數(shù)據(jù)備份策略節(jié)點(diǎn)將感知數(shù)據(jù)以隨機(jī)行走的方式進(jìn)行備份,具體步驟如下(2a)無(wú)線傳感器網(wǎng)絡(luò)中的全部節(jié)點(diǎn)將感知的數(shù)據(jù)收集并存儲(chǔ)到節(jié)點(diǎn)的存儲(chǔ)器中;(2b)在無(wú)線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)中找出所有需要執(zhí)行數(shù)據(jù)備份策略的節(jié)點(diǎn),并將這些節(jié)點(diǎn)感知到的數(shù)據(jù)分別以隨機(jī)行走的方式,存儲(chǔ)到數(shù)據(jù)隨機(jī)行走所經(jīng)過(guò)節(jié)點(diǎn)的存儲(chǔ)器中備份;參照附圖2,本步驟的具體實(shí)施如下(2bl)計(jì)算各個(gè)節(jié)點(diǎn)的效率函數(shù)值F(Vi),并確定隨機(jī)行走的起點(diǎn)walker F(Vi) = hoPi/hopmax+E
current ⑴/Einitial ⑴,其中,E。UMt⑴和Einitial⑴分別為節(jié)點(diǎn)Vi的剩余能量與初始能量,hoPi為節(jié)點(diǎn) Vi距離網(wǎng)關(guān)節(jié)點(diǎn)sink節(jié)點(diǎn)的跳數(shù),hopmax為網(wǎng)絡(luò)中所有節(jié)點(diǎn)距離網(wǎng)關(guān)節(jié)點(diǎn)sink的最大跳
在數(shù)據(jù)隨機(jī)行走到的當(dāng)前節(jié)點(diǎn)的鄰居集合Neighbour中,將效率函數(shù)值F(Vi)最大的節(jié)點(diǎn)作為數(shù)據(jù)下一步隨機(jī)行走的起點(diǎn)walker ;(2b2)確定需要執(zhí)行數(shù)據(jù)備份策略的節(jié)點(diǎn)集合以節(jié)點(diǎn)Vi的剩余能量與初始能量的比值作為節(jié)點(diǎn)Vi的決策函數(shù)值C(Vi),將無(wú)線傳感器網(wǎng)絡(luò)中決策函數(shù)值C(Vi)小于隨機(jī)行走概率P的節(jié)點(diǎn)Vi作為執(zhí)行隨機(jī)行走備份策略的節(jié)點(diǎn)source,并將這些節(jié)點(diǎn)構(gòu)成的集合記為BACK_N0DE,BACK_N0DE集合中的節(jié)點(diǎn)即為需要執(zhí)行數(shù)據(jù)備份策略的節(jié)點(diǎn),如果BACK_ NODE不存在任何節(jié)點(diǎn),即BACK_N0DE為空集合,則無(wú)線傳感器網(wǎng)絡(luò)中不存在需要執(zhí)行數(shù)據(jù)備份策略節(jié)點(diǎn);(2b3)判斷BACK_N0DE集合中是否為空集合,如果BACK_N0DE不是空集合,則對(duì) BACK_N0DE中的節(jié)點(diǎn)執(zhí)行數(shù)據(jù)備份策略,即初始化中間變量temp = d, walker = source,其中temp表示數(shù)據(jù)行走的剩余步數(shù),d為預(yù)先設(shè)定的數(shù)據(jù)隨機(jī)行走步數(shù)的上限,walker表示數(shù)據(jù)隨機(jī)行走過(guò)程中每一步的起點(diǎn),source表示BACK_N0DE中執(zhí)行數(shù)據(jù)備份策略的當(dāng)前節(jié)點(diǎn),并轉(zhuǎn)步驟0b4),否則,結(jié)束數(shù)據(jù)的備份過(guò)程;(2b4)如果中間變量temp > 0,則將source感知到的數(shù)據(jù)存儲(chǔ)到walker的儲(chǔ)器中作為備份,temp = temp-1,然后在walker的鄰居集合Neighbour中選出效率函數(shù)F(Vi) 值最大的節(jié)點(diǎn)作為數(shù)據(jù)隨機(jī)行走的下一步起點(diǎn)walker,轉(zhuǎn)步驟,如果中間變量temp =0,則在集合BACK_N0DE中刪除節(jié)點(diǎn)source,轉(zhuǎn)步驟(沘3)。步驟3.無(wú)線傳感器網(wǎng)絡(luò)中的各節(jié)點(diǎn)將步驟O)中收集和備份的數(shù)據(jù)采取合作轉(zhuǎn)發(fā)的方式,匯聚至網(wǎng)關(guān)節(jié)點(diǎn)sink。參照附圖3,本步驟的具體實(shí)施如下(3a)通過(guò)判斷數(shù)據(jù)包MSG_ID的數(shù)據(jù)標(biāo)志位MSG_ID_CHECK是否為1,在無(wú)線傳感器網(wǎng)絡(luò)各節(jié)點(diǎn)存儲(chǔ)器中選出需要向網(wǎng)關(guān)節(jié)點(diǎn)sink發(fā)送的數(shù)據(jù)包MSG_ID,如果數(shù)據(jù)包MSG_ ID的數(shù)據(jù)標(biāo)志位MSG_ID_CHECK = 1,則表示向網(wǎng)關(guān)節(jié)點(diǎn)sink發(fā)送數(shù)據(jù)的當(dāng)前節(jié)點(diǎn)source 通信范圍內(nèi)沒(méi)有節(jié)點(diǎn)發(fā)送過(guò)數(shù)據(jù)包MSG_ID,數(shù)據(jù)包MSG_ID即為當(dāng)前節(jié)點(diǎn)source存儲(chǔ)器中需要向網(wǎng)關(guān)節(jié)點(diǎn)sink發(fā)送的數(shù)據(jù)包;如果數(shù)據(jù)包MSG_ID的數(shù)據(jù)標(biāo)志位MSG_ID_CHECK = 0 則表示當(dāng)前節(jié)點(diǎn)source通信范圍內(nèi)已經(jīng)有節(jié)點(diǎn)發(fā)送過(guò)數(shù)據(jù)包MSG_ID,則當(dāng)前節(jié)點(diǎn)source 不再需要向網(wǎng)關(guān)節(jié)點(diǎn)sink發(fā)送該數(shù)據(jù)包;(3b)判斷網(wǎng)絡(luò)中是否存在未向sink發(fā)送數(shù)據(jù)的節(jié)點(diǎn)source,是則轉(zhuǎn)步驟(3c),否則結(jié)束網(wǎng)絡(luò)中各節(jié)點(diǎn)將步驟2中收集和備份的數(shù)據(jù)匯聚至網(wǎng)關(guān)節(jié)點(diǎn)sink的過(guò)程;(3c)判斷當(dāng)前節(jié)點(diǎn)source存儲(chǔ)器中是否存在需要轉(zhuǎn)發(fā)的數(shù)據(jù)包MSG_ID,即MSG_ ID_CHECK = i的數(shù)據(jù)包,如果存在,則轉(zhuǎn)步驟(3d),如果不存在,標(biāo)記source為已向sink 發(fā)送數(shù)據(jù),并轉(zhuǎn)步驟(3b);(3d)當(dāng)前節(jié)點(diǎn)source將數(shù)據(jù)包MSG_ID進(jìn)行廣播,并令數(shù)據(jù)包MSG_ID的數(shù)據(jù)標(biāo)志位 MSG_ID_CHECK = 0 ;(3e)當(dāng)前節(jié)點(diǎn)source的鄰居節(jié)點(diǎn)在接收到source廣播的數(shù)據(jù)包MSG_ID后,依照MSG_ID_CHECK_N = MSG_ID XOR MSG_ID_N重新計(jì)算其存儲(chǔ)器中各個(gè)數(shù)據(jù)包的數(shù)據(jù)標(biāo)志位 MSG_ID CHECK_N,轉(zhuǎn)步驟(3c)。步驟4.網(wǎng)關(guān)節(jié)點(diǎn)sink接收由步驟(3)中各節(jié)點(diǎn)發(fā)送的數(shù)據(jù),并針對(duì)無(wú)線傳感器
7網(wǎng)絡(luò)的應(yīng)用背景,對(duì)接收到的數(shù)據(jù)做出相應(yīng)的處理。本發(fā)明的效果可以通過(guò)一下仿真實(shí)驗(yàn)結(jié)果進(jìn)行進(jìn)一步的說(shuō)明。1.仿真條件仿真實(shí)驗(yàn)的條件如表1所示表1仿真參數(shù)
參數(shù)名稱參數(shù)設(shè)置值目標(biāo)區(qū)域200mX200m節(jié)點(diǎn)數(shù)目N400,500,600節(jié)點(diǎn)通信半徑20m缺省網(wǎng)絡(luò)規(guī)模400節(jié)點(diǎn)初始能量2J仿真次數(shù)100缺省的隨機(jī)行走概率P0. 3缺省的隨機(jī)行走步數(shù)d0網(wǎng)關(guān)節(jié)點(diǎn)Sink坐標(biāo)(100m, 100m)網(wǎng)絡(luò)中失效節(jié)點(diǎn)的比例I^fail0. 2,0. 4,0. 62.仿真內(nèi)容及仿真實(shí)驗(yàn)結(jié)果由于無(wú)線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)感知的數(shù)據(jù)依照數(shù)據(jù)的隨機(jī)行走的備份策略在其他節(jié)點(diǎn)存儲(chǔ)器中有備份,因此在采用本發(fā)明的數(shù)據(jù)合作轉(zhuǎn)發(fā)策略時(shí),網(wǎng)絡(luò)的平均路徑長(zhǎng)度會(huì)有一定的降低。仿真1,對(duì)采用本發(fā)明的網(wǎng)絡(luò)平均路徑長(zhǎng)度做出仿真,仿真結(jié)果如圖4和圖5。從圖4可以看出,利用本發(fā)明構(gòu)建的無(wú)線傳感器網(wǎng)絡(luò)的網(wǎng)絡(luò)平均路徑長(zhǎng)度有所降低,并且網(wǎng)絡(luò)的平均路徑長(zhǎng)度隨著網(wǎng)絡(luò)規(guī)模的增加沒(méi)有明顯的增加,這說(shuō)明本發(fā)明適用于大規(guī)模的無(wú)線傳感器,因此本發(fā)明對(duì)無(wú)線傳感器網(wǎng)絡(luò)具有較高的普適性。從圖5可以看出,節(jié)點(diǎn)隨機(jī)備份的概率ρ越大,網(wǎng)絡(luò)的平均路徑長(zhǎng)度降低的越大, 這也符合實(shí)際情況,圖5可以說(shuō)明本發(fā)明的合理性。仿真2,對(duì)利用本發(fā)明中的利用無(wú)線通信廣播特點(diǎn)進(jìn)行合作轉(zhuǎn)發(fā)降低網(wǎng)絡(luò)的通信量的有效性進(jìn)行仿真,仿真結(jié)果如圖6。從圖6可以看出,比較d = 3的情況可以得到,采用無(wú)線通信廣播特點(diǎn)進(jìn)行合作轉(zhuǎn)發(fā)的情況下較未采用合作轉(zhuǎn)發(fā)的情況可以大大降低網(wǎng)絡(luò)的通信量,d =1的情況較d = 0的情況網(wǎng)絡(luò)的通信量比并沒(méi)有顯著的增加。
仿真3,對(duì)利用本發(fā)明構(gòu)建的無(wú)線傳感器網(wǎng)絡(luò)對(duì)節(jié)點(diǎn)隨機(jī)失效的情況下網(wǎng)絡(luò)的抗毀性做出仿真,用sink接收到的數(shù)據(jù)包數(shù)量與網(wǎng)絡(luò)中傳感器節(jié)點(diǎn)數(shù)量的比值來(lái)衡量網(wǎng)絡(luò)的抗毀性,比值越大網(wǎng)絡(luò)的抗毀性越高,仿真結(jié)果如圖7-圖13。從圖7、圖8和圖9可以看出,采用本發(fā)明構(gòu)建的無(wú)線傳感器網(wǎng)絡(luò)在不同的網(wǎng)絡(luò)節(jié)點(diǎn)失效比例下抗毀性均顯著的高于不采用本發(fā)明的無(wú)線傳感器網(wǎng)絡(luò)。從圖10,圖11和圖12可以看出,采用本發(fā)明構(gòu)建的無(wú)線傳感器網(wǎng)絡(luò)在不同的網(wǎng)絡(luò)規(guī)模下抗毀性均顯著的高于不采用本發(fā)明的無(wú)線傳感器網(wǎng)絡(luò)。綜合圖7-圖12知,采用本發(fā)明構(gòu)建的無(wú)線傳感器網(wǎng)絡(luò)在不同的網(wǎng)絡(luò)規(guī)模和不同的失效節(jié)點(diǎn)比例下,網(wǎng)絡(luò)的抗毀性均優(yōu)于不采用本發(fā)明的網(wǎng)絡(luò),并且d= 1的情況下,網(wǎng)絡(luò)的抗毀性便有了顯著的提高,這充分說(shuō)明了本發(fā)明的有效性。以上所述僅為本發(fā)明的驗(yàn)證實(shí)施例,并不用以限制本發(fā)明,凡在本發(fā)明技術(shù)思想下所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種基于隨機(jī)行走備份及節(jié)點(diǎn)合作的數(shù)據(jù)轉(zhuǎn)發(fā)方法,包括如下步驟(1)在SXS的平面范圍內(nèi),隨機(jī)拋撒N個(gè)同構(gòu)的無(wú)線傳感器節(jié)點(diǎn),構(gòu)建隨機(jī)無(wú)線傳感器網(wǎng)絡(luò),其中S = 200m,400彡N彡700,并將網(wǎng)關(guān)節(jié)點(diǎn)sink布置在網(wǎng)絡(luò)中心的位置;(2)在構(gòu)建的無(wú)線傳感器網(wǎng)絡(luò)中,無(wú)線傳感器網(wǎng)絡(luò)中的全部節(jié)點(diǎn)將感知的數(shù)據(jù)收集并存儲(chǔ)到節(jié)點(diǎn)的存儲(chǔ)器中,同時(shí),在無(wú)線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)中找出所有需要執(zhí)行數(shù)據(jù)備份策略的節(jié)點(diǎn),并將這些節(jié)點(diǎn)感知到的數(shù)據(jù)分別以隨機(jī)行走的方式,存儲(chǔ)到數(shù)據(jù)隨機(jī)行走所經(jīng)過(guò)節(jié)點(diǎn)的存儲(chǔ)器中備份;(3)無(wú)線傳感器網(wǎng)絡(luò)中的各節(jié)點(diǎn)將步驟O)中收集和備份的數(shù)據(jù)采取合作轉(zhuǎn)發(fā)的方式,匯聚至網(wǎng)關(guān)節(jié)點(diǎn)sink:(3a)在無(wú)線傳感器網(wǎng)絡(luò)各節(jié)點(diǎn)存儲(chǔ)器中選出需要向網(wǎng)關(guān)節(jié)點(diǎn)sink發(fā)送的數(shù)據(jù)包MSG_ ID,即數(shù)據(jù)標(biāo)志位MSG_ID_CHECK = 1的數(shù)據(jù)包;(3b)無(wú)線傳感器網(wǎng)絡(luò)中向網(wǎng)關(guān)節(jié)點(diǎn)sink發(fā)送數(shù)據(jù)的當(dāng)前節(jié)點(diǎn)source只廣播該節(jié)點(diǎn)存儲(chǔ)器中需要發(fā)送的數(shù)據(jù)包MSG_ID ;(3c)當(dāng)前節(jié)點(diǎn)source鄰居集合Neighbour中的節(jié)點(diǎn),接收到數(shù)據(jù)包MSG_ID后,重新計(jì)算各自存儲(chǔ)器中各數(shù)據(jù)包的數(shù)據(jù)標(biāo)志位MSG_ID_CHECK_N ;(3d)重復(fù)步驟(3a)、(3b)和(3c)直到網(wǎng)絡(luò)中的節(jié)點(diǎn)全部向網(wǎng)關(guān)節(jié)點(diǎn)sink發(fā)送了各自存儲(chǔ)器中需要發(fā)送的數(shù)據(jù);(4)網(wǎng)關(guān)節(jié)點(diǎn)sink接收由步驟(3)中各節(jié)點(diǎn)發(fā)送的數(shù)據(jù),并針對(duì)無(wú)線傳感器網(wǎng)絡(luò)的應(yīng)用背景,對(duì)接收到的數(shù)據(jù)做出相應(yīng)的處理。
2.如權(quán)利要求1所述的數(shù)據(jù)轉(zhuǎn)發(fā)方法,其中步驟(2)所述的在無(wú)線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)中找出所有需要執(zhí)行數(shù)據(jù)備份策略的節(jié)點(diǎn),并將這些節(jié)點(diǎn)感知到的數(shù)據(jù)分別以隨機(jī)行走的方式,存儲(chǔ)到數(shù)據(jù)隨機(jī)行走所經(jīng)過(guò)節(jié)點(diǎn)的存儲(chǔ)器中備份,按如下步驟進(jìn)行(2a)計(jì)算各個(gè)節(jié)點(diǎn)的效率函數(shù)值F(Vi),并確定隨機(jī)行走的起點(diǎn)walker F(Vi) = hoPi/hoP max+ECurrent ( ) /Einitial (土),其中,EcmraJi)和Einitial⑴分別為節(jié)點(diǎn)Vi的剩余能量與初始能量,hoPi為節(jié)點(diǎn)Vi距離網(wǎng)關(guān)節(jié)點(diǎn)sink節(jié)點(diǎn)的跳數(shù),hopmax為網(wǎng)絡(luò)中所有節(jié)點(diǎn)距離網(wǎng)關(guān)節(jié)點(diǎn)sink的最大跳數(shù);在數(shù)據(jù)隨機(jī)行走到的當(dāng)前節(jié)點(diǎn)的鄰居集合Neighbour中,將效率函數(shù)值F(Vi)最大的節(jié)點(diǎn)作為數(shù)據(jù)下一步隨機(jī)行走的起點(diǎn)walker ;(2b)確定需要執(zhí)行數(shù)據(jù)備份策略的節(jié)點(diǎn)集合以節(jié)點(diǎn)Vi的剩余能量與初始能量的比值作為節(jié)點(diǎn)Vi的決策函數(shù)值C(Vi),將無(wú)線傳感器網(wǎng)絡(luò)中決策函數(shù)值C(Vi)小于隨機(jī)行走概率P的節(jié)點(diǎn)Vi作為執(zhí)行隨機(jī)行走備份策略的節(jié)點(diǎn)source,并將這些節(jié)點(diǎn)構(gòu)成的集合記為 BACK_N0DE, BACK_N0DE集合中的節(jié)點(diǎn)即為需要執(zhí)行數(shù)據(jù)備份策略的節(jié)點(diǎn),如果BACK_N0DE 不存在任何節(jié)點(diǎn),即BACK_N0DE為空集合,則無(wú)線傳感器網(wǎng)絡(luò)中不存在需要執(zhí)行數(shù)據(jù)備份策略節(jié)點(diǎn);(2c)判斷BACK_N0DE集合中是否為空集合,如果BACK_N0DE不是空集合,則對(duì)BACK_ NODE中的節(jié)點(diǎn)執(zhí)行數(shù)據(jù)備份策略,即初始化中間變量temp = d,walker = source,其中 temp表示數(shù)據(jù)行走的剩余步數(shù),d為預(yù)先設(shè)定的數(shù)據(jù)隨機(jī)行走步數(shù)的上限,walker表示數(shù)據(jù)隨機(jī)行走過(guò)程中每一步的起點(diǎn),source表示BACK_N0DE中執(zhí)行數(shù)據(jù)備份策略的當(dāng)前節(jié)點(diǎn),并轉(zhuǎn)步驟(2d),否則,結(jié)束數(shù)據(jù)的備份過(guò)程;(2d)如果中間變量temp > 0,則將source感知到的數(shù)據(jù)存儲(chǔ)到walker的儲(chǔ)器中作為備份,temp = temp-1,然后在walker的鄰居集合Neighbour中選出效率函數(shù)F(Vi)值最大的節(jié)點(diǎn)作為數(shù)據(jù)隨機(jī)行走的下一步起點(diǎn)walker,如果中間變量temp = 0,則在集合BACK_ NODE中刪除節(jié)點(diǎn)source,轉(zhuǎn)步驟(2c),否則轉(zhuǎn)步驟Qd)。
3.如權(quán)利要求1所述的數(shù)據(jù)轉(zhuǎn)發(fā)方法,其中步驟(3a)所涉及的在無(wú)線傳感器網(wǎng)絡(luò)各節(jié)點(diǎn)存儲(chǔ)器中選出需要向網(wǎng)關(guān)節(jié)點(diǎn)sink發(fā)送的數(shù)據(jù)包MSG_ID,是通過(guò)判斷數(shù)據(jù)包MSG_ID 的數(shù)據(jù)標(biāo)志位MSG_ID_CHECK是否為1實(shí)現(xiàn)的如果數(shù)據(jù)包MSG_ID的數(shù)據(jù)標(biāo)志位MSG_ID_ CHECK = 1,則表示向網(wǎng)關(guān)節(jié)點(diǎn)sink發(fā)送數(shù)據(jù)的當(dāng)前節(jié)點(diǎn)source通信范圍內(nèi)沒(méi)有節(jié)點(diǎn)發(fā)送過(guò)數(shù)據(jù)包MSG_ID,數(shù)據(jù)包MSG_ID即為當(dāng)前節(jié)點(diǎn)source存儲(chǔ)器中需要向網(wǎng)關(guān)節(jié)點(diǎn)sink發(fā)送的數(shù)據(jù)包;如果數(shù)據(jù)包MSG_ID的數(shù)據(jù)標(biāo)志位MSG_ID_CHECK = 0則表示當(dāng)前節(jié)點(diǎn)source通信范圍內(nèi)已經(jīng)有節(jié)點(diǎn)發(fā)送過(guò)數(shù)據(jù)包MSG_ID,則當(dāng)前節(jié)點(diǎn)source不再需要向網(wǎng)關(guān)節(jié)點(diǎn)sink 發(fā)送該數(shù)據(jù)包。
4.如權(quán)利要求1所述的數(shù)據(jù)轉(zhuǎn)發(fā)方法,其中步驟(3c)所述的重新計(jì)算各自存儲(chǔ)器中各數(shù)據(jù)包的數(shù)據(jù)標(biāo)志位MSG_ID_CHECK_N,是在當(dāng)前節(jié)點(diǎn)source鄰居集合Neighbour中的節(jié)點(diǎn)在接收到 source 廣播的數(shù)據(jù)包 MSG_ID 后,依照 MSG_ID_CHECK_N = MSG_ID XOR MSG_ID_N 公式,計(jì)算出各自存儲(chǔ)器中各數(shù)據(jù)包的數(shù)據(jù)標(biāo)志位MSG_ID_CHECK_N。
全文摘要
本發(fā)明公開了一種基于隨機(jī)行走備份及節(jié)點(diǎn)合作的數(shù)據(jù)轉(zhuǎn)發(fā)方法,主要解決現(xiàn)有抗毀技術(shù)成本高、普適性低和實(shí)際應(yīng)用困難的問(wèn)題。該方法充分考慮無(wú)線傳感器網(wǎng)絡(luò)通信的特點(diǎn),在數(shù)據(jù)的感知階段,選出需要執(zhí)行數(shù)據(jù)備份策略的節(jié)點(diǎn),將這些節(jié)點(diǎn)感知的數(shù)據(jù),通過(guò)數(shù)據(jù)在節(jié)點(diǎn)間的隨機(jī)行走實(shí)現(xiàn)數(shù)據(jù)的備份,以提高網(wǎng)絡(luò)的抗毀性;在數(shù)據(jù)的傳輸階段,傳感器節(jié)點(diǎn)只廣播存儲(chǔ)器中數(shù)據(jù)標(biāo)志位為1的數(shù)據(jù)包,實(shí)時(shí)的計(jì)算存儲(chǔ)器中數(shù)據(jù)包的數(shù)據(jù)標(biāo)志位,以實(shí)現(xiàn)數(shù)據(jù)的合作轉(zhuǎn)發(fā),減少數(shù)據(jù)備份引起的額外數(shù)據(jù)傳輸量,降低網(wǎng)絡(luò)的平均路徑長(zhǎng)度。本發(fā)明具有抗毀性高、普適性好、實(shí)現(xiàn)簡(jiǎn)單和成本低的特點(diǎn),可用于實(shí)現(xiàn)大規(guī)模無(wú)線傳感器網(wǎng)絡(luò)的數(shù)據(jù)收集與傳輸。
文檔編號(hào)H04W24/04GK102158888SQ20111012942
公開日2011年8月17日 申請(qǐng)日期2011年5月18日 優(yōu)先權(quán)日2011年5月18日
發(fā)明者馮海林, 劉立芳, 鄭耿忠, 馬士強(qiáng), 齊小剛 申請(qǐng)人:西安電子科技大學(xué)