專利名稱:一種抑制網(wǎng)絡(luò)廣播風(fēng)暴的方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種網(wǎng)絡(luò)廣播方法和裝置。更具體地,本發(fā)明涉及一種能抑制網(wǎng)絡(luò)廣播風(fēng)暴的方法和裝置。
背景技術(shù):
當(dāng)前傳感器網(wǎng)絡(luò)規(guī)模較大,節(jié)點密度大,數(shù)據(jù)包大,數(shù)據(jù)交換頻繁但節(jié)點能量極為有限。而無線傳感器網(wǎng)絡(luò)路由協(xié)議種類很多,因為針對于不同的應(yīng)用場景和性能要求,設(shè)計的路由協(xié)議就有很大的不同。但現(xiàn)有的無線傳感器網(wǎng)絡(luò)路由協(xié)議依然多以廣播為基礎(chǔ),比如Ad hoc路由協(xié)議或傳統(tǒng)洪泛協(xié)議,然后結(jié)合無線傳感器網(wǎng)絡(luò)的特性而設(shè)計。而無線傳感器網(wǎng)絡(luò)路由協(xié)議所要考慮的主要性能指標(biāo)有時延、可靠性、網(wǎng)絡(luò)壽命和移動性等。其中,在一些特定的應(yīng)用中,尤其是高密度無線傳感器網(wǎng)絡(luò)中,可靠性和網(wǎng)絡(luò)壽命(即網(wǎng)絡(luò)生命周期)往往是首要指標(biāo)。在現(xiàn)有技術(shù)中,傳統(tǒng)的廣播協(xié)議中節(jié)點只要接收到數(shù)據(jù)包,就將數(shù)據(jù)包轉(zhuǎn)發(fā)給下一跳鄰居節(jié)點。但是在高密度無線傳感器網(wǎng)絡(luò)中,傳統(tǒng)廣播協(xié)議會因多次轉(zhuǎn)發(fā)相同數(shù)據(jù)包使數(shù)據(jù)包充斥網(wǎng)絡(luò)無法處理,并占用大量網(wǎng)絡(luò)帶寬,導(dǎo)致業(yè)務(wù)不能運行,甚至徹底癱瘓,這就發(fā)生了 “廣播風(fēng)暴”。廣播風(fēng)暴會造成大量的能量浪費,路由開銷很大,會致使網(wǎng)絡(luò)生命周期縮短,可靠性降低。
發(fā)明內(nèi)容
本發(fā)明目的在于提供一種抑制網(wǎng)絡(luò)廣播風(fēng)暴的方法和裝置,來減小高密度無線傳感器網(wǎng)絡(luò)中節(jié)點對相同數(shù)據(jù)包的轉(zhuǎn)發(fā)次數(shù),從而解決因廣播風(fēng)暴所導(dǎo)致的網(wǎng)絡(luò)生命周期縮短、能量浪費的技術(shù)問題。本發(fā)明的一種抑制網(wǎng)絡(luò)廣播風(fēng)暴的方法包括以下步驟Si、節(jié)點接收數(shù)據(jù)包,將該數(shù)據(jù)包的接收次數(shù)初始化為1,隨機時延開始;S2、判斷節(jié)點是否又一次接收到該數(shù)據(jù)包,如果是則執(zhí)行S3,如果否則執(zhí)行S5 ;S3、將接收次數(shù)增1 ;S4、比較所述接收次數(shù)是否小于閾值,如果是則執(zhí)行S5,如果否則節(jié)點將數(shù)據(jù)包丟棄;S5、判斷隨機時延是否結(jié)束,如果是則節(jié)點將數(shù)據(jù)包廣播,否則返回S2。進(jìn)一步地,所述閾值為3。將閾值設(shè)置為3,在隨機時延內(nèi)節(jié)點的接收次數(shù)一旦達(dá)到3次,就丟棄數(shù)據(jù)包,這樣可以縮短節(jié)點丟棄數(shù)據(jù)包之前的等待時間。進(jìn)一步地,所述節(jié)點將數(shù)據(jù)包廣播的次數(shù)為1次。限定節(jié)點廣播數(shù)據(jù)包的次數(shù)為1次可以最大程度的減少每個節(jié)點重復(fù)性廣播相同數(shù)據(jù)包的數(shù)目。
相應(yīng)地,本發(fā)明的一種抑制網(wǎng)絡(luò)廣播風(fēng)暴的裝置包括初始化模塊1,在節(jié)點接收數(shù)據(jù)包時,該初始化模塊1用于將該數(shù)據(jù)包的接收次數(shù)初始化為1,并開始隨機時延計時;判斷接收模塊2,用于判斷節(jié)點是否又一次接收到數(shù)據(jù)包,如果是則觸發(fā)計數(shù)模塊 3,如果否則觸發(fā)判斷時延模塊5 ;計數(shù)模塊3,用于將接收次數(shù)增1并觸發(fā)比較模塊4 ;比較模塊4,用于比較所述接收次數(shù)是否小于閾值,如果是則觸發(fā)判斷時延模塊 5,如果否則向廣播模塊6發(fā)送丟棄信號;判斷時延模塊5,用于判斷隨機時延是否結(jié)束,如果是則向廣播模塊6發(fā)送廣播信號,否則啟動所述判斷接收模塊2 ;廣播模塊6,用于接收廣播信號并將數(shù)據(jù)包廣播,以及用于接收丟棄信號并將數(shù)據(jù)包丟棄。進(jìn)一步地,所述閾值為3。進(jìn)一步地,所述廣播模塊6將數(shù)據(jù)包廣播的次數(shù)為1次。通過本發(fā)明的方法和裝置,可以大規(guī)模地減少對數(shù)據(jù)包重復(fù)轉(zhuǎn)發(fā)的次數(shù),進(jìn)而抑制廣播風(fēng)暴的產(chǎn)生,既節(jié)省了節(jié)點的能量也延長了網(wǎng)絡(luò)壽命,有效地提高了網(wǎng)絡(luò)安全性和可靠性。并且,本發(fā)明對網(wǎng)絡(luò)規(guī)模甚至網(wǎng)絡(luò)類型沒有嚴(yán)格的限定,可以適用于任何涉及廣播的場合。
下面將參照附圖并結(jié)合實施例對本發(fā)明進(jìn)行具體說明。圖1為本發(fā)明的方法流程圖;圖2為本發(fā)明裝置結(jié)構(gòu)示意圖。
具體實施例方式下面參照附圖并借助本發(fā)明的實施例,對本發(fā)明的技術(shù)方案做詳細(xì)描述。需要指出的是,這些附圖僅僅是示意性的,不構(gòu)成對本發(fā)明的保護(hù)范圍的限定。根據(jù)圖1所示,本發(fā)明的抑制網(wǎng)絡(luò)廣播風(fēng)暴的方法包括以下步驟Si、節(jié)點例如節(jié)點A接收數(shù)據(jù)包,設(shè)定該數(shù)據(jù)包接受的次數(shù)為n,將接收次數(shù)η初始化為1,即令η = 1,并且隨機時延開始。其中,隨機時延主要依據(jù)網(wǎng)絡(luò)節(jié)點密度以及用戶具體業(yè)務(wù)需求確定,屬于本領(lǐng)域技術(shù)人員的公知技術(shù)。這里為了方便描述,設(shè)定隨機時延為 t,以下S2到S4都是在隨機時延t內(nèi)執(zhí)行。S2、判斷節(jié)點A是否又一次接收到該數(shù)據(jù)包,如果是則執(zhí)行S3,如果否則執(zhí)行S5。 判斷又一次接收到該數(shù)據(jù)包就是判斷當(dāng)次數(shù)據(jù)包與Si中第一次接收到的數(shù)據(jù)包是否為重復(fù)的數(shù)據(jù)包,是依靠數(shù)據(jù)包格式中存儲的源節(jié)點ID和/或數(shù)據(jù)包序列號來判斷的,屬于公知技術(shù),即當(dāng)次數(shù)據(jù)包與Sl第一次接收的數(shù)據(jù)包的源節(jié)點ID相同,和/或當(dāng)次數(shù)據(jù)包與Sl 第一次接收的數(shù)據(jù)包的數(shù)據(jù)包序列號相同時,判斷兩者為相同的數(shù)據(jù)包,節(jié)點為又一次接收到數(shù)據(jù)包的情況。如果節(jié)點A沒有再接收到重復(fù)的數(shù)據(jù)包即η依然等于1,則執(zhí)行S5。S3、將接收次數(shù)η增1,即令η = η+1。
S4、比較所述接收次數(shù)和閾值,例如設(shè)閾值為N,如果接收次數(shù)η小于閾值N(n <N)時,執(zhí)行S5,否則節(jié)點將數(shù)據(jù)包丟棄。其中的閾值N限定了接收次數(shù)η的最大值,它可以根據(jù)網(wǎng)絡(luò)情況預(yù)先設(shè)定。在本實施例中,優(yōu)選閾值N優(yōu)選為3,即數(shù)據(jù)包的接受次數(shù)η最大可以到3次。如果接受次數(shù)η < 3,就執(zhí)行S5,一旦η = 3時,節(jié)點A就將接收到的數(shù)據(jù)包丟棄,從而取消了在本網(wǎng)絡(luò)中讓數(shù)據(jù)包經(jīng)節(jié)點A廣播的任務(wù)。這是因為節(jié)點A在處理接收并轉(zhuǎn)發(fā)數(shù)據(jù)包任務(wù)的同時,網(wǎng)絡(luò)中的其他節(jié)點也正在處理這一任務(wù),如果節(jié)點A在隨機時延t 內(nèi)對數(shù)據(jù)包的接收次數(shù)η已經(jīng)達(dá)到閾值N時,完全可以說明節(jié)點A所在的路徑為廣播風(fēng)暴的高發(fā)路徑,如果繼續(xù)任由數(shù)據(jù)包從節(jié)點A廣播轉(zhuǎn)發(fā)的話,在高密度無線傳感器網(wǎng)絡(luò)中會造成網(wǎng)絡(luò)負(fù)荷過重并具有引發(fā)廣播風(fēng)暴的危險,而且,即使取消了節(jié)點A的廣播任務(wù),也并不影響網(wǎng)絡(luò)中其他節(jié)點繼續(xù)處理并完成這一任務(wù),反而減少了網(wǎng)絡(luò)中轉(zhuǎn)發(fā)重復(fù)數(shù)據(jù)包的次數(shù)。S5、判斷隨機時延t是否結(jié)束,如果t時間仍未結(jié)束,則返回S2,判斷是否又一次接收到數(shù)據(jù)包;如果t時間結(jié)束,則說明在隨即時延t內(nèi)節(jié)點A對重復(fù)的數(shù)據(jù)包的接收并不頻繁,那么節(jié)點A就將數(shù)據(jù)包轉(zhuǎn)發(fā)給其下一跳的所有鄰居節(jié)點,從而完成數(shù)據(jù)包在節(jié)點A的廣播任務(wù)。并且,進(jìn)一步限定即使節(jié)點對數(shù)據(jù)包進(jìn)行廣播,也只將數(shù)據(jù)包廣播一次,這樣就使網(wǎng)絡(luò)中的節(jié)點轉(zhuǎn)發(fā)重復(fù)數(shù)據(jù)包次數(shù)減少到最小,從而進(jìn)一步克服了現(xiàn)有技術(shù)中“節(jié)點只要接收到數(shù)據(jù)包就將數(shù)據(jù)包轉(zhuǎn)發(fā)”所帶來的路由開銷較大的技術(shù)問題。相應(yīng)地,本發(fā)明的抑制網(wǎng)絡(luò)廣播風(fēng)暴的裝置包括初始化模塊1,在節(jié)點接收數(shù)據(jù)包時,該初始化模塊1用于將該數(shù)據(jù)包的接收次數(shù) η初始化為1即令η = 1,并開始對隨機時延t計時。判斷接收模塊2,用于判斷節(jié)點是否又一次接收到數(shù)據(jù)包,如果是則觸發(fā)計數(shù)模塊 3,如果否則觸發(fā)判斷時延模塊5 ;計數(shù)模塊3,用于將接收次數(shù)增1即令η = η+1 ;比較模塊4,用于比較所述接收次數(shù)η和閾值N,如果接收次數(shù)小于閾值(η < N) 時,觸發(fā)判斷時延模塊5,否則向廣播模塊6發(fā)送丟棄信號。其中的閾值優(yōu)選為3。判斷時延模塊5,用于判斷隨機時延t是否結(jié)束,如果是則向廣播模塊6發(fā)送廣播信號,否則啟動所述判斷接收模塊2,重新對節(jié)點是否又一次接收到數(shù)據(jù)包進(jìn)行判斷并根據(jù)該判斷對相應(yīng)的模塊進(jìn)行觸發(fā)。廣播模塊6,用于接收廣播信號并將數(shù)據(jù)包廣播,以及用于接收丟棄信號并將數(shù)據(jù)包丟棄。進(jìn)一步地,廣播模塊6將數(shù)據(jù)包廣播的次數(shù)限定為1次。另外,本發(fā)明的技術(shù)方案不僅限于無線傳感器網(wǎng)絡(luò),對于任何涉及廣播協(xié)議的網(wǎng)絡(luò)或場合都可以適用。應(yīng)當(dāng)理解,以上借助本發(fā)明的優(yōu)選實施例本發(fā)明的技術(shù)方案進(jìn)行了詳細(xì)說明,應(yīng)當(dāng)理解,以上說明是示意性的而非限制性的。本領(lǐng)域的普通技術(shù)人員在閱讀本發(fā)明說明書的基礎(chǔ)上可以對各實施例所記載的技術(shù)方案進(jìn)行修改,或者對其中部分技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實施例技術(shù)方案的精神和范圍。本發(fā)明的保護(hù)范圍僅由隨附權(quán)利要求書限定。
權(quán)利要求
1.一種抑制網(wǎng)絡(luò)廣播風(fēng)暴的方法,其特征在于,包括以下步驟51、節(jié)點接收數(shù)據(jù)包,將該數(shù)據(jù)包的接收次數(shù)初始化為1,隨機時延開始;52、判斷節(jié)點是否又一次接收到該數(shù)據(jù)包,如果是則執(zhí)行S3,如果否則執(zhí)行S5;53、將接收次數(shù)增1;54、比較所述接收次數(shù)是否小于閾值,如果是則執(zhí)行S5,如果否則節(jié)點將數(shù)據(jù)包丟棄;55、判斷隨機時延是否結(jié)束,如果是則節(jié)點將數(shù)據(jù)包廣播,否則返回S2。
2.根據(jù)權(quán)利要求1所述一種抑制網(wǎng)絡(luò)廣播風(fēng)暴的方法,其特征在于, 所述閾值為3。
3.根據(jù)權(quán)利要求1所述的一種抑制網(wǎng)絡(luò)廣播風(fēng)暴的方法,其特征在于, 所述節(jié)點將數(shù)據(jù)包廣播的次數(shù)為1次。
4.一種抑制網(wǎng)絡(luò)廣播風(fēng)暴的裝置,其特征在于,包括初始化模塊(1),在節(jié)點接收數(shù)據(jù)包時,該初始化模塊(1)用于將該數(shù)據(jù)包的接收次數(shù)初始化為1,并開始隨機時延計時;判斷接收模塊O),用于判斷節(jié)點是否又一次接收到數(shù)據(jù)包,如果是則觸發(fā)計數(shù)模塊 (3),如果否則觸發(fā)判斷時延模塊(5);計數(shù)模塊(3),用于將接收次數(shù)增1并觸發(fā)比較模塊;比較模塊G),用于比較所述接收次數(shù)是否小于閾值,如果是則觸發(fā)判斷時延模塊 (5),如果否則向廣播模塊(6)發(fā)送丟棄信號;判斷時延模塊(5),用于判斷隨機時延是否結(jié)束,如果是則向廣播模塊(6)發(fā)送廣播信號,否則啟動所述判斷接收模塊O);廣播模塊(6),用于接收廣播信號并將數(shù)據(jù)包廣播,以及用于接收丟棄信號并將數(shù)據(jù)包丟棄。
5.根據(jù)權(quán)利要求4所述一種抑制網(wǎng)絡(luò)廣播風(fēng)暴的方法,其特征在于, 所述閾值為3。
6.根據(jù)權(quán)利要求4所述的一種抑制網(wǎng)絡(luò)廣播風(fēng)暴的方法,其特征在于, 所述廣播模塊6將數(shù)據(jù)包廣播的次數(shù)為1次。
全文摘要
本發(fā)明涉及一種抑制網(wǎng)絡(luò)廣播風(fēng)暴的方法和裝置,該方法包括S1、節(jié)點接收數(shù)據(jù)包,將該數(shù)據(jù)包的接收次數(shù)初始化為1,隨機時延開始;S2、判斷節(jié)點是否又一次接收到該數(shù)據(jù)包,如果是則執(zhí)行S3,如果否則執(zhí)行S5;S3、將接收次數(shù)增1;S4、比較接收次數(shù)是否小于閾值,如果是則執(zhí)行S5,如果否則節(jié)點將數(shù)據(jù)包丟棄;S5、判斷隨機時延是否結(jié)束,如果是則節(jié)點將數(shù)據(jù)包廣播,否則返回S2。該裝置包括初始化模塊、判斷接收模塊、計數(shù)模塊、比較模塊、判斷時延模塊和廣播模塊。通過本發(fā)明的方法可以大規(guī)模地減少對數(shù)據(jù)包重復(fù)轉(zhuǎn)發(fā)的次數(shù)進(jìn)而抑制廣播風(fēng)暴的產(chǎn)生,既節(jié)省節(jié)點能量也能延長網(wǎng)絡(luò)壽命。
文檔編號H04W28/02GK102196365SQ20111010425
公開日2011年9月21日 申請日期2011年4月25日 優(yōu)先權(quán)日2011年4月25日
發(fā)明者龐源泉, 李旭, 王韻淇, 田沃 申請人:北京交通大學(xué)