[0036]需要注意的是,節(jié)點(diǎn)1分析從節(jié)點(diǎn)2收到的廣播時(shí),通過(guò)分析數(shù)據(jù)包中常帶的跳數(shù) 信息,會(huì)發(fā)現(xiàn)這是該廣播的第二次發(fā)送(標(biāo)記為2的箭頭),為了確保其他進(jìn)行第二次廣播的 節(jié)點(diǎn)能順利完成發(fā)送,節(jié)點(diǎn)1需要主動(dòng)延遲一段時(shí)間進(jìn)入第三次轉(zhuǎn)發(fā)過(guò)程(標(biāo)記為3的箭 頭),同理,節(jié)點(diǎn)9也需要推遲一段時(shí)間。這個(gè)時(shí)間間隔可以是固定間隔,以保證節(jié)點(diǎn)1和節(jié) 點(diǎn)9的第三次轉(zhuǎn)發(fā)廣播進(jìn)程處在相同的時(shí)間起點(diǎn)。因?yàn)楣?jié)點(diǎn)1和節(jié)點(diǎn)9是在相同的時(shí)間收 到節(jié)點(diǎn)2的廣播,因此這個(gè)同時(shí)進(jìn)行相同長(zhǎng)度的延遲是可以實(shí)現(xiàn)的。對(duì)于節(jié)點(diǎn)1來(lái)說(shuō),它遵 循的發(fā)送順序?yàn)?,5, 9。而對(duì)于節(jié)點(diǎn)9來(lái)說(shuō),它遵循的發(fā)送順序?yàn)?,9。雖然從排列的次序 來(lái)比較,5和9會(huì)在同一時(shí)刻,但實(shí)際情況中很少或者不會(huì)沖突,因?yàn)椋?(1)本例中節(jié)點(diǎn)5和9處在不同的物理位置。相同時(shí)間開(kāi)始發(fā)送數(shù)據(jù)不會(huì)互相影響。
[0037] (2)如果節(jié)點(diǎn)5和9處在相近的位置,節(jié)點(diǎn)9在總結(jié)鄰居節(jié)點(diǎn)時(shí)會(huì)把節(jié)點(diǎn)5包括進(jìn) 去,從而推斷出和節(jié)點(diǎn)1 一樣的發(fā)送順序:1,5, 9,廣播沖突仍舊可以避免。
[0038] 在本例中,節(jié)點(diǎn)5的轉(zhuǎn)發(fā)進(jìn)程在第二次轉(zhuǎn)發(fā)廣播中完成(標(biāo)記為2的箭頭),因此節(jié) 點(diǎn)5并不會(huì)真正參加第三次轉(zhuǎn)發(fā)。
[0039] 另外,以圖4為例,節(jié)點(diǎn)9可能會(huì)收到從節(jié)點(diǎn)1或者節(jié)點(diǎn)2發(fā)來(lái)的廣播,并進(jìn)入第 三次或者第四次轉(zhuǎn)發(fā)過(guò)程(標(biāo)記為3(4)的箭頭)。節(jié)點(diǎn)3和節(jié)點(diǎn)7也會(huì)有類似的情況。在實(shí) 際應(yīng)用中,因?yàn)檫@是相同的廣播內(nèi)容,上層協(xié)議會(huì)自動(dòng)過(guò)濾,所以只會(huì)出現(xiàn)一次轉(zhuǎn)發(fā)廣播。
[0040] 當(dāng)節(jié)點(diǎn)收到廣播消息后: 分析該廣播的發(fā)送(轉(zhuǎn)發(fā))者信息,并從本地信息中獲取該發(fā)送(轉(zhuǎn)發(fā))者的鄰居信息N1。同時(shí)將本節(jié)點(diǎn)的1跳范圍內(nèi)的鄰居節(jié)點(diǎn)N2信息提取出來(lái)。
[0041] 比較兩組鄰居節(jié)點(diǎn)信息,提取重合的節(jié)點(diǎn)。
[0042] 將重合節(jié)點(diǎn)以及本節(jié)點(diǎn)進(jìn)行排序,使用節(jié)點(diǎn)自身的序列號(hào),可以按照從小到大,或 者從大到小規(guī)則,并且指定序列號(hào)越小(或者越大)的節(jié)點(diǎn)有更高的發(fā)送優(yōu)先權(quán)。序列可以 用{node1,node2,…nodeN}來(lái)表不。
[0043] 判斷廣播消息的來(lái)源。如果是從源節(jié)點(diǎn)發(fā)出的廣播,立刻按照排定的虛擬次序 進(jìn)行等待,直到當(dāng)前節(jié)點(diǎn)可以進(jìn)行廣播。如果不是從源節(jié)點(diǎn)發(fā)出的廣播,等待固定周期 Tbackoff后開(kāi)始按照排定次序進(jìn)行轉(zhuǎn)發(fā)。Tbackoff的長(zhǎng)度可以由用戶指定,原則上要允許 大多數(shù)鄰居節(jié)點(diǎn)完成當(dāng)前批次的廣播轉(zhuǎn)發(fā)。
[0044] 當(dāng)在虛擬隊(duì)列中排在當(dāng)前節(jié)點(diǎn)之前的節(jié)點(diǎn)被認(rèn)為已經(jīng)完成廣播發(fā)送后,當(dāng)前節(jié)點(diǎn) 開(kāi)始轉(zhuǎn)發(fā)廣播。
[0045] 本發(fā)明提出的虛擬廣播排序方法涉及到排序和等待時(shí)間的問(wèn)題,即每次虛擬隊(duì)列 的等待開(kāi)始時(shí)間要盡可能同步。對(duì)于一個(gè)節(jié)點(diǎn)來(lái)說(shuō),最合適的開(kāi)始排序算法的時(shí)間點(diǎn)是當(dāng) 前廣播信息接收完成時(shí)。一般的無(wú)線系統(tǒng)會(huì)把從無(wú)線電收到的消息存儲(chǔ)在緩存中,在合適 的時(shí)候,比如中斷發(fā)生時(shí),才匯報(bào)給上層系統(tǒng),由此會(huì)帶來(lái)一定的延遲??紤]到算法會(huì)需要 一些存儲(chǔ)空間和變量的使用,并且在接收完數(shù)據(jù)后就開(kāi)始排序過(guò)程,因此提出在數(shù)字信號(hào) 處理模塊(DSP)中實(shí)現(xiàn)。即每個(gè)節(jié)點(diǎn)上均設(shè)置DSP芯片,DSP作為信號(hào)的調(diào)制解調(diào)模塊。如 圖6所示,當(dāng)DSP完成數(shù)據(jù)解碼后,如果檢查到該幀是廣播幀,可以立刻進(jìn)入虛擬排序算法。 上層協(xié)議在解析完成后,如果決定進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā),則直接交回DSP,在排序算法擬定的時(shí)間 點(diǎn)進(jìn)行轉(zhuǎn)廣播。由于DSP本身具有存儲(chǔ)能力,上層協(xié)議只需定期將節(jié)點(diǎn)的2跳范圍內(nèi)的鄰 居節(jié)點(diǎn)信息更新到DSP的存儲(chǔ)空間,就可以完成預(yù)定任務(wù)。
[0046] 最后應(yīng)說(shuō)明的是:以上所述僅為本發(fā)明的優(yōu)選實(shí)施例而已,并不用于限制本發(fā)明, 盡管參照前述實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)的說(shuō)明,對(duì)于本領(lǐng)域的技術(shù)人員來(lái)說(shuō),其依然可 以對(duì)前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對(duì)其中部分技術(shù)特征進(jìn)行等同替換。 凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的 保護(hù)范圍之內(nèi)。
【主權(quán)項(xiàng)】
1. 一種嵌入式無(wú)線自組織網(wǎng)絡(luò)中對(duì)廣播消息的轉(zhuǎn)發(fā)的管理方法,在無(wú)線自組織網(wǎng)絡(luò)節(jié) 點(diǎn)的兩跳范圍鄰居列表和節(jié)點(diǎn)間天然形成的順序關(guān)系能夠使用的條件下, 其特征在于,包括以下步驟: 步驟1、當(dāng)無(wú)線自組織網(wǎng)絡(luò)節(jié)點(diǎn)接收到廣播信息時(shí),提取廣播信息中的廣播發(fā)送節(jié)點(diǎn)的 鄰居列表Nl ; 步驟2、提取本節(jié)點(diǎn)1跳鄰居列表N2,本節(jié)點(diǎn)即上述步驟1中接收到廣播信息的無(wú)線自 組織網(wǎng)絡(luò)節(jié)點(diǎn); 步驟3、將上述步驟1中的廣播發(fā)送節(jié)點(diǎn)的鄰居列表Nl和步驟2中的本節(jié)點(diǎn)1跳鄰居 列表N2進(jìn)行對(duì)比并取交集,將交集中包含的節(jié)點(diǎn)按照節(jié)點(diǎn)的序列號(hào)進(jìn)行排序,形成虛擬序 列; 步驟4、接收到廣播信息的無(wú)線自組織網(wǎng)絡(luò)節(jié)點(diǎn)判斷接收的廣播信息是否是從源節(jié)點(diǎn) 發(fā)出的廣播,如果是從源節(jié)點(diǎn)發(fā)出的廣播則按照上述虛擬序列依次轉(zhuǎn)發(fā)廣播,如果不是從 源節(jié)點(diǎn)發(fā)出的廣播則等待固定時(shí)間間隙后再按照上述虛擬序列依次發(fā)送廣播。2. 根據(jù)權(quán)利要求1所述的嵌入式無(wú)線自組織網(wǎng)絡(luò)中對(duì)廣播消息的轉(zhuǎn)發(fā)的管理方法,其 特征在于,上述步驟3中的虛擬序列是按照節(jié)點(diǎn)序列號(hào)由小到大進(jìn)行排列的。3. 根據(jù)權(quán)利要求1所述的嵌入式無(wú)線自組織網(wǎng)絡(luò)中對(duì)廣播消息的轉(zhuǎn)發(fā)的管理方法,其 特征在于,上述步驟3中的虛擬序列是按照節(jié)點(diǎn)序列號(hào)由大到小進(jìn)行排列的。4. 根據(jù)權(quán)利要求1、2或3所述的嵌入式無(wú)線自組織網(wǎng)絡(luò)中對(duì)廣播消息的轉(zhuǎn)發(fā)的管理方 法,其特征在于,上述步驟4中,如果不是從源節(jié)點(diǎn)發(fā)出的廣播則等待固定時(shí)間間隙后再按 照上述虛擬序列依次發(fā)送廣播中的固定時(shí)間,該固定時(shí)間要允許本節(jié)點(diǎn)的大多數(shù)鄰居節(jié)點(diǎn) 完成當(dāng)前批次的廣播轉(zhuǎn)發(fā)。5. -種嵌入式無(wú)線自組織網(wǎng)絡(luò)中對(duì)廣播消息的轉(zhuǎn)發(fā)的管理方法,其特征在于,基于 DSP實(shí)現(xiàn),即每個(gè)無(wú)線自組織網(wǎng)絡(luò)節(jié)點(diǎn)上均設(shè)置DSP,DSP作為信號(hào)的調(diào)制解調(diào)模塊,當(dāng)DSP 對(duì)接收的廣播信息完成數(shù)據(jù)解碼后,如果檢查到該幀是廣播幀,則立刻進(jìn)入虛擬排序算法, 虛擬排序算法為基于權(quán)利要求1至4任一項(xiàng)所述的嵌入式無(wú)線自組織網(wǎng)絡(luò)中對(duì)廣播消息的 轉(zhuǎn)發(fā)的管理方法的算法,DSP接收的廣播信息經(jīng)解碼和幀還原處理后上報(bào)上層協(xié)議,上層 協(xié)議在解析完成后,如果決定進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā),則直接交回DSP,在虛擬排序算法擬定的時(shí)間 點(diǎn)轉(zhuǎn)發(fā)廣播,由于DSP本身具有存儲(chǔ)能力,上層協(xié)議定期將節(jié)點(diǎn)的兩跳范圍內(nèi)的鄰居節(jié)點(diǎn) 信息更新到DSP的存儲(chǔ)空間。
【專利摘要】本發(fā)明公開(kāi)了一種嵌入式無(wú)線自組織網(wǎng)絡(luò)中對(duì)廣播消息的轉(zhuǎn)發(fā)的管理方法,包括,當(dāng)無(wú)線自組織網(wǎng)絡(luò)節(jié)點(diǎn)接收到廣播信息時(shí),提取廣播信息中的廣播發(fā)送節(jié)點(diǎn)的鄰居列表N1;提取本節(jié)點(diǎn)1跳鄰居列表N2;將鄰居列表N1和本節(jié)點(diǎn)1跳鄰居列表N2進(jìn)行對(duì)比并取交集,將交集中包含的節(jié)點(diǎn)按照節(jié)點(diǎn)的序列號(hào)進(jìn)行排序,形成虛擬序列;接收到廣播信息的無(wú)線自組織網(wǎng)絡(luò)節(jié)點(diǎn)判斷接收的廣播信息是否是從源節(jié)點(diǎn)發(fā)出的廣播,如果是從源節(jié)點(diǎn)發(fā)出的廣播則按照上述虛擬序列依次轉(zhuǎn)發(fā)廣播,如果不是從源節(jié)點(diǎn)發(fā)出的廣播則等待固定時(shí)間間隙后再按照上述虛擬序列依次發(fā)送廣播。滿足在無(wú)線多跳網(wǎng)絡(luò)中實(shí)現(xiàn)穩(wěn)定可靠的廣播通信的要求。
【IPC分類】H04W4/06, H04W40/14, H04W76/00, H04W84/18
【公開(kāi)號(hào)】CN105072586
【申請(qǐng)?zhí)枴緾N201510426011
【發(fā)明人】姚方, 施鐘鳴
【申請(qǐng)人】無(wú)錫士康通訊技術(shù)有限公司
【公開(kāi)日】2015年11月18日
【申請(qǐng)日】2015年7月20日