專利名稱:支持應(yīng)急響應(yīng)的傳感器網(wǎng)絡(luò)動(dòng)態(tài)輪詢介質(zhì)訪問控制方法
技術(shù)領(lǐng)域:
本發(fā)明屬于網(wǎng)絡(luò)通信技術(shù)領(lǐng)域,涉及一種無線傳感器網(wǎng)絡(luò)介質(zhì)訪問控制(MAC: Medium Access Control)方法,該方法通過動(dòng)態(tài)輪詢方式提升網(wǎng)絡(luò)性能,并通過搶占式調(diào) 度算法處理網(wǎng)絡(luò)中的突發(fā)事件,適用于對(duì)帶寬和時(shí)延要求較高的無線傳感器網(wǎng)絡(luò)領(lǐng)域。
背景技術(shù):
無線傳感器網(wǎng)絡(luò)(WSN :Wireless Sensor Networks)是由部署在監(jiān)測(cè)區(qū)域內(nèi)大 量的廉價(jià)微型傳感器節(jié)點(diǎn)組成,通過無線通信方式形成的一個(gè)多跳的自組織的網(wǎng)絡(luò)系統(tǒng), 其目的是協(xié)作地感知和采集網(wǎng)絡(luò)覆蓋區(qū)域中某些特定的物理量,并對(duì)所采集的信息進(jìn)行處 理,然后發(fā)送給觀測(cè)者。由于數(shù)量眾多,傳感器節(jié)點(diǎn)通常隨機(jī)投放在監(jiān)測(cè)區(qū)域內(nèi),并且很難 更換電源。通常相鄰節(jié)點(diǎn)間距離很短,適于采用低功率的多跳通信模式,節(jié)省功耗的同時(shí)增 強(qiáng)了通信的隱蔽性和抗干擾性。由于WSN具有易擴(kuò)展、自組織、分布式結(jié)構(gòu)、健壯性和實(shí)時(shí) 性等特點(diǎn),使其在軍事、建筑、農(nóng)業(yè)、環(huán)境監(jiān)測(cè)、醫(yī)療等領(lǐng)域有著傳統(tǒng)網(wǎng)絡(luò)無法比擬的優(yōu)勢(shì), 必將開發(fā)出許多有價(jià)值的應(yīng)用,同時(shí)這些獨(dú)特要求和制約因素也為WSN的研究提出了新的 技術(shù)問題。其中介質(zhì)訪問控制(MAC =Medium Access Control)技術(shù)決定無線信道的使用方 式,影響著無線傳感器網(wǎng)絡(luò)的性能,是保證無線傳感器網(wǎng)絡(luò)高效通信的關(guān)鍵網(wǎng)絡(luò)技術(shù)之一。目前,研究比較多的無線傳感器網(wǎng)絡(luò)MAC協(xié)議包括基于競(jìng)爭(zhēng)的MAC協(xié)議和基于時(shí) 間調(diào)度的MAC協(xié)議兩種。S-MAC(Sensor Medium Access Control)是比較典型的基于競(jìng)爭(zhēng) 的MAC協(xié)議,它是在IEEE802. 1IMAC協(xié)議的基礎(chǔ)上,針對(duì)WSN節(jié)省能量需求而提出的MAC協(xié) 議,并采用CSMA/CA機(jī)制能有效處理傳感器借點(diǎn)隱藏的問題,為網(wǎng)絡(luò)提供了較好的擴(kuò)展性, 同時(shí)通過使節(jié)點(diǎn)周期性的偵聽和睡眠來減少空閑偵聽的能量損耗,但是該協(xié)議在數(shù)據(jù)量較 大的情況下不能有效的降低數(shù)據(jù)之間的碰撞,從而導(dǎo)致平均接入時(shí)延的增加。而基于時(shí)間 調(diào)度的MAC協(xié)議為每個(gè)節(jié)點(diǎn)分配了獨(dú)立的時(shí)隙,避免了沖突,不需要過多的控制時(shí)隙,但是 該機(jī)制要求節(jié)點(diǎn)間有比較嚴(yán)格的時(shí)間同步,網(wǎng)絡(luò)擴(kuò)展性比較差。隨著無線傳感器網(wǎng)絡(luò)的應(yīng) 用的不斷擴(kuò)大,對(duì)時(shí)延和能耗的要求也越來越大,因此提出一種適用于低時(shí)延,低能耗的適 用于無線傳感器網(wǎng)絡(luò)的MAC協(xié)議變得十分重要。輪詢MAC是一種廣泛應(yīng)用于蜂窩型或星型拓?fù)涞葻o線通信網(wǎng)絡(luò)中的一種介質(zhì)訪 問控制技術(shù)。當(dāng)前比較典型的一種輪詢MAC協(xié)議為DTMP (Disposal Token MACProtocol), 該協(xié)議中,匯聚節(jié)點(diǎn)周期性的對(duì)每個(gè)節(jié)點(diǎn)發(fā)送Poll短輪詢幀,節(jié)點(diǎn)收到Poll短輪詢幀之 后,相當(dāng)于有了令牌,如果有數(shù)據(jù)需要發(fā)送,則向匯聚節(jié)點(diǎn)發(fā)送數(shù)據(jù),如果沒有數(shù)據(jù)需要發(fā) 送,則發(fā)送No Data短響應(yīng)幀。其優(yōu)點(diǎn)在于通過合理的調(diào)度機(jī)制,使信道的帶寬利用率達(dá)到 最優(yōu),系統(tǒng)吞吐量達(dá)到最大,并使各節(jié)點(diǎn)處于無沖突使用信道的工作模式下從而減少接入 時(shí)延并消除在競(jìng)爭(zhēng)接入時(shí)浪費(fèi)的帶寬。而且由于節(jié)點(diǎn)的接入時(shí)延及使用帶寬是確定的,是 可以預(yù)測(cè)的,所以可以通過節(jié)點(diǎn)業(yè)務(wù)特點(diǎn)為節(jié)點(diǎn)分配不同的系統(tǒng)資源以保證如平均接入時(shí) 延、使用帶寬等QoS參數(shù)。然而,由于WSN本身的特殊性和局限性,傳統(tǒng)的輪詢MAC并不適 用于無線傳感器網(wǎng)絡(luò)中。
所述傳統(tǒng)的DTMP輪詢MAC協(xié)議存在以下缺陷1傳統(tǒng)的DTMP輪詢方式中,對(duì)每個(gè)節(jié)點(diǎn)都會(huì)發(fā)送同樣的輪詢幀,然而由于節(jié)點(diǎn)的 業(yè)務(wù)類型不同,帶寬需求不同,有的需要發(fā)送數(shù)據(jù),有的則不需要發(fā)送數(shù)據(jù),有的數(shù)據(jù)量大, 有的則數(shù)據(jù)量小,因此如果為每個(gè)節(jié)點(diǎn)進(jìn)行同樣的輪詢會(huì)造成帶寬的浪費(fèi)。2傳統(tǒng)的DTMP輪詢方式中,當(dāng)工作節(jié)點(diǎn)收到匯聚節(jié)點(diǎn)的輪詢命令后首先發(fā)送上行 數(shù)據(jù)之后才接收下行數(shù)據(jù),這種工作方式將使傳感器節(jié)點(diǎn)的射頻進(jìn)行接收- >發(fā)送- >接 收三次切換,射頻切換頻繁;另外,傳統(tǒng)的輪詢MAC方式中,需要專門的發(fā)送確認(rèn)幀,傳輸效 率較低,系統(tǒng)開銷較大。3傳統(tǒng)的DTMP輪詢方式不能夠很好的處理網(wǎng)絡(luò)中的突發(fā)數(shù)據(jù)業(yè)務(wù),突發(fā)事件節(jié)點(diǎn) 接入時(shí)延大,不能得到及時(shí)處理,因此突發(fā)事件處理能力差,服務(wù)質(zhì)量低。
發(fā)明內(nèi)容
本發(fā)明的目的是避免傳統(tǒng)輪詢MAC協(xié)議的不足,提出一種支持應(yīng)急響應(yīng)的無線傳 感器網(wǎng)絡(luò)動(dòng)態(tài)輪詢介質(zhì)訪問控制方法,從而高效合理的利用帶寬資源,提高系統(tǒng)吞吐量和 降低平均接入時(shí)延,并能及時(shí)處理網(wǎng)絡(luò)突發(fā)事件。實(shí)現(xiàn)本發(fā)明目的的技術(shù)方案是通過在現(xiàn)有DTMP協(xié)議的基礎(chǔ)上進(jìn)行改進(jìn)而得到, 具體步驟包括如下1)對(duì)工作節(jié)點(diǎn)列表輪詢步驟la)匯聚節(jié)點(diǎn)按照工作節(jié)點(diǎn)列表依次發(fā)送Poll短輪詢幀,并根據(jù)工作節(jié)點(diǎn)業(yè)務(wù)類 型動(dòng)態(tài)控制工作節(jié)點(diǎn)數(shù)據(jù)包大小和個(gè)數(shù),以控制工作節(jié)點(diǎn)對(duì)上行鏈路的使用時(shí)間,提高網(wǎng) 絡(luò)帶寬利用率;lb)當(dāng)輪詢到某個(gè)工作節(jié)點(diǎn)時(shí),若上行鏈路和下行鏈路都有數(shù)據(jù)需要發(fā)送,則匯聚 節(jié)點(diǎn)在發(fā)送Poll短輪詢幀后,首先向被輪詢節(jié)點(diǎn)發(fā)送下行鏈路的數(shù)據(jù),再由工作節(jié)點(diǎn)向匯 聚節(jié)點(diǎn)發(fā)送上行鏈路數(shù)據(jù),并捎帶發(fā)送確認(rèn)幀ACK,以減少節(jié)點(diǎn)射頻切換次數(shù),降低系統(tǒng)開 銷;2)對(duì)空閑節(jié)點(diǎn)列表輪詢步驟2a)匯聚節(jié)點(diǎn)對(duì)空閑節(jié)點(diǎn)列表依次發(fā)送Poll短輪詢幀,查詢節(jié)點(diǎn)在下一時(shí)刻是否 有數(shù)據(jù)需要發(fā)送,若空閑節(jié)點(diǎn)沒有數(shù)據(jù)需要發(fā)送,則發(fā)送No Data短響應(yīng)幀;若有數(shù)據(jù)需要 發(fā)送,則空閑節(jié)點(diǎn)向匯聚節(jié)點(diǎn)發(fā)送Have Data短響應(yīng)幀;2b)若匯聚節(jié)點(diǎn)收到Have Data短響應(yīng)巾貞,則將該空閑節(jié)點(diǎn)從空閑列表中刪除并 將其添加到工作列表中,使空閑節(jié)點(diǎn)成為工作節(jié)點(diǎn),該工作節(jié)點(diǎn)按照步驟1)在下一個(gè)對(duì)工 作節(jié)點(diǎn)列表輪詢的過程中發(fā)送和接收數(shù)據(jù);3)對(duì)突發(fā)事件進(jìn)行搶占式調(diào)度步驟3a)匯聚節(jié)點(diǎn)按照步驟1)和步驟2)對(duì)節(jié)點(diǎn)列表輪詢,當(dāng)未被輪詢的某個(gè)節(jié)點(diǎn)發(fā)生 突發(fā)事件時(shí),通過事件驅(qū)動(dòng)中斷發(fā)送“最后完成時(shí)限”的事件通知廣播幀,匯聚節(jié)點(diǎn)接收到 廣播幀后,指定該突發(fā)事件節(jié)點(diǎn)為下一個(gè)待輪詢節(jié)點(diǎn),并在當(dāng)前節(jié)點(diǎn)被輪詢完后處理該突 發(fā)事件,之后匯聚節(jié)點(diǎn)繼續(xù)按照原節(jié)點(diǎn)列表依次進(jìn)行輪詢;3b)匯聚節(jié)點(diǎn)按照步驟1)和步驟2)對(duì)節(jié)點(diǎn)列表輪詢,當(dāng)未被輪詢的多個(gè)節(jié)點(diǎn)發(fā)生 突發(fā)事件時(shí),這些節(jié)點(diǎn)通過事件驅(qū)動(dòng)中斷發(fā)送事件通知廣播幀,匯聚節(jié)點(diǎn)接收到廣播幀后,將突發(fā)事件按照“最后完成時(shí)限”分為不同接入優(yōu)先級(jí),建立一個(gè)按照突發(fā)事件“最后完成 時(shí)限”排序的主隊(duì)列,并在當(dāng)前節(jié)點(diǎn)被輪詢完后依次處理主隊(duì)列突發(fā)事件;3c)匯聚節(jié)點(diǎn)在輪詢主隊(duì)列的過程中,若產(chǎn)生新的突發(fā)事件,則將其放入輔助隊(duì) 列,輔助隊(duì)列按照與主隊(duì)列相同的方式對(duì)節(jié)點(diǎn)進(jìn)行排序,直到主隊(duì)列中的事件處理完后,處 理輔助隊(duì)列中的事件;當(dāng)處理輔助隊(duì)列突發(fā)事件時(shí),若再有新突發(fā)事件發(fā)生,則放入主隊(duì) 列,以避免后發(fā)生的突發(fā)事件因“最后完成時(shí)限”比先發(fā)生的突發(fā)事件早,而搶先被處理的 “插隊(duì)”現(xiàn)象。與傳統(tǒng)的DTMP輪詢方式相比,本發(fā)明具有以下優(yōu)點(diǎn)1、本發(fā)明的匯聚節(jié)點(diǎn)參照節(jié)點(diǎn)下一時(shí)刻狀態(tài),將節(jié)點(diǎn)分為工作節(jié)點(diǎn)列表和空閑節(jié) 點(diǎn)列表;對(duì)于工作節(jié)點(diǎn)列表,匯聚節(jié)點(diǎn)根據(jù)工作節(jié)點(diǎn)的業(yè)務(wù)類型為其動(dòng)態(tài)分配相應(yīng)的數(shù)據(jù) 包長(zhǎng)度和個(gè)數(shù),以限制工作節(jié)點(diǎn)使用上行鏈路的時(shí)間;對(duì)于空閑節(jié)點(diǎn)列表,匯聚節(jié)點(diǎn)采用短 幀輪詢,短幀響應(yīng)的方法進(jìn)行輪詢,相對(duì)于傳統(tǒng)方法,提高了帶寬利用率。2、本發(fā)明的匯聚節(jié)點(diǎn)對(duì)工作節(jié)點(diǎn)列表輪詢,在工作節(jié)點(diǎn)在收到輪詢幀后,其射頻 只需要進(jìn)行接收和發(fā)送兩次切換,并且采用了捎帶技術(shù)來發(fā)送確認(rèn)幀,提高了傳輸效率,減 少了系統(tǒng)開銷。3、本發(fā)明的匯聚節(jié)點(diǎn)按照最后完成時(shí)限對(duì)突發(fā)事件設(shè)定優(yōu)先級(jí),并按優(yōu)先級(jí)將突 發(fā)事件節(jié)點(diǎn)放入主隊(duì)列和輔助隊(duì)列中,進(jìn)行搶占式調(diào)度,降低了平均接入時(shí)延,保證了服務(wù)質(zhì)量。
圖1是本發(fā)明采用的場(chǎng)景模型圖;圖2是本發(fā)明支持應(yīng)急響應(yīng)的動(dòng)態(tài)輪詢總流程圖;圖3是本發(fā)明對(duì)工作節(jié)點(diǎn)列表的輪詢示意圖;圖4是本發(fā)明對(duì)空閑節(jié)點(diǎn)列表的輪詢示意圖;圖5是本發(fā)明對(duì)主隊(duì)列突發(fā)事件調(diào)度示意圖;圖6是本發(fā)明對(duì)輔助隊(duì)列突發(fā)事件調(diào)度示意圖。
具體實(shí)施例方式本發(fā)明采用的網(wǎng)絡(luò)模型如圖1所示,傳感器節(jié)點(diǎn)通過一跳接入?yún)R聚節(jié)點(diǎn)維護(hù)的網(wǎng) 絡(luò),并通過IEEE 802. 15. 4中的關(guān)聯(lián)/去關(guān)聯(lián)原語向匯聚節(jié)點(diǎn)發(fā)送關(guān)聯(lián)/去關(guān)聯(lián)請(qǐng)求;匯聚 節(jié)點(diǎn)處理傳感器節(jié)點(diǎn)的關(guān)聯(lián)/去關(guān)聯(lián)請(qǐng)求,將成功關(guān)聯(lián)的傳感器節(jié)點(diǎn)加入所維護(hù)的節(jié)點(diǎn)列 表,并為其分配節(jié)點(diǎn)短地址,令節(jié)點(diǎn)短地址簡(jiǎn)化為正整數(shù)表示,將去關(guān)聯(lián)的傳感器節(jié)點(diǎn)從節(jié) 點(diǎn)列表中刪除;匯聚節(jié)點(diǎn)依據(jù)傳感器節(jié)點(diǎn)的工作狀態(tài)將節(jié)點(diǎn)劃分為工作節(jié)點(diǎn)和空閑節(jié)點(diǎn), 并將其分別放入工作節(jié)點(diǎn)列表和空閑節(jié)點(diǎn)列表中,不同的類型的傳感器節(jié)點(diǎn)對(duì)數(shù)據(jù)包大小 和帶寬的需求不同,令匯聚節(jié)點(diǎn)維護(hù)N+M個(gè)節(jié)點(diǎn),其中工作節(jié)點(diǎn)列表中包括N個(gè)節(jié)點(diǎn),短
地址分別為1、2、3、4.....i.....N;空閑節(jié)點(diǎn)列表中包括M個(gè)節(jié)點(diǎn),短地址分別為N+1、
N+2、· · ·、j、…、N+M。匯聚節(jié)點(diǎn)周期性的對(duì)工作節(jié)點(diǎn)列表和空閑節(jié)點(diǎn)列表進(jìn)行輪詢,每一個(gè)輪詢周期 分為工作期和休眠期兩部分在工作期,匯聚節(jié)點(diǎn)對(duì)節(jié)點(diǎn)列表進(jìn)行輪詢,收集數(shù)據(jù);在休眠期,節(jié)點(diǎn)關(guān)閉射頻接收器,以減少由于空閑監(jiān)聽產(chǎn)生的能量消耗;參照?qǐng)D2,本發(fā)明支持應(yīng)急響應(yīng)的傳感器網(wǎng)絡(luò)動(dòng)態(tài)輪詢介質(zhì)訪問控制方法,就是在 工作期由匯聚節(jié)點(diǎn)對(duì)工作節(jié)點(diǎn)列表進(jìn)行輪詢和對(duì)空閑節(jié)點(diǎn)列表進(jìn)行輪詢,具體步驟如下步驟1 匯聚節(jié)點(diǎn)對(duì)工作節(jié)點(diǎn)列表輪詢。參照?qǐng)D3,本步驟的具體實(shí)現(xiàn)如下la)匯聚節(jié)點(diǎn)按照工作節(jié)點(diǎn)列表依次輪詢,以節(jié)點(diǎn)短地址表示的輪詢次序?yàn)?1->2->3->4->...->1->...->隊(duì)這里1表示節(jié)點(diǎn)短地址,取值范圍為1彡1彡1 當(dāng)匯聚節(jié)點(diǎn)輪詢到某個(gè)節(jié)點(diǎn)時(shí),以節(jié)點(diǎn)i為例,匯聚節(jié)點(diǎn)判斷節(jié)點(diǎn)i業(yè)務(wù)類型為“實(shí)時(shí)”或 “普通”,若節(jié)點(diǎn)i業(yè)務(wù)類型為“實(shí)時(shí)”,則為節(jié)點(diǎn)i分配較高的數(shù)據(jù)包大小和個(gè)數(shù);若節(jié)點(diǎn)i 業(yè)務(wù)類型為“普通”,則為其分配較低的數(shù)據(jù)包大小和個(gè)數(shù);節(jié)點(diǎn)i按照該數(shù)據(jù)包大小和個(gè) 數(shù)向匯聚節(jié)點(diǎn)發(fā)送上行鏈路數(shù)據(jù);若節(jié)點(diǎn)i希望更新數(shù)據(jù)包大小和個(gè)數(shù),則在匯聚節(jié)點(diǎn)向節(jié)點(diǎn)i發(fā)送輪詢幀后,通過 上行鏈路向匯聚節(jié)點(diǎn)發(fā)送更新請(qǐng)求;匯聚節(jié)點(diǎn)收到更新請(qǐng)求之后,根據(jù)系統(tǒng)資源情況決定 是否批準(zhǔn)該請(qǐng)求,并在下一個(gè)輪詢周期,通過下行鏈路向節(jié)點(diǎn)i發(fā)送請(qǐng)求應(yīng)答;若節(jié)點(diǎn)i收 到的應(yīng)答信息為“批準(zhǔn)”,則按照新的數(shù)據(jù)包大小和個(gè)數(shù)使用上行鏈路,否則,按照原數(shù)據(jù)包 大小和個(gè)數(shù)使用上行鏈路;lb)當(dāng)匯聚節(jié)點(diǎn)輪詢某個(gè)工作節(jié)點(diǎn)時(shí),以節(jié)點(diǎn)1為例,下行鏈路和上行鏈路都沒有 數(shù)據(jù)發(fā)送,則匯聚節(jié)點(diǎn)向節(jié)點(diǎn)1發(fā)送Poll+No Data輪詢幀,節(jié)點(diǎn)1向匯聚節(jié)點(diǎn)發(fā)送No Data 響應(yīng)幀,之后匯聚節(jié)點(diǎn)開始輪詢下一節(jié)點(diǎn);如果工作節(jié)點(diǎn)連續(xù)兩次向匯聚節(jié)點(diǎn)發(fā)送No Data 響應(yīng)幀,則匯聚節(jié)點(diǎn)將該節(jié)點(diǎn)從工作節(jié)點(diǎn)列表刪除,放入到空閑節(jié)點(diǎn)列表中;Ic)當(dāng)匯聚節(jié)點(diǎn)輪詢某個(gè)工作節(jié)點(diǎn)時(shí),以節(jié)點(diǎn)2為例,只有上行鏈路有數(shù)據(jù)發(fā)送, 則匯聚節(jié)點(diǎn)向節(jié)點(diǎn)2發(fā)送Poll+No Data輪詢幀,節(jié)點(diǎn)2向匯聚節(jié)點(diǎn)發(fā)送上行鏈路數(shù)據(jù)幀, 匯聚節(jié)點(diǎn)收到節(jié)點(diǎn)2的數(shù)據(jù)幀后,向節(jié)點(diǎn)2發(fā)送ACK Data確認(rèn)幀,之后匯聚節(jié)點(diǎn)開始輪詢 下一節(jié)點(diǎn);Id)當(dāng)匯聚節(jié)點(diǎn)輪詢某個(gè)工作節(jié)點(diǎn)時(shí),以節(jié)點(diǎn)3為例,只有下行鏈路有數(shù)據(jù)發(fā)送, 則匯聚節(jié)點(diǎn)向節(jié)點(diǎn)3發(fā)送Poll+Data輪詢幀,隨后向節(jié)點(diǎn)3發(fā)送下行鏈路數(shù)據(jù)幀,節(jié)點(diǎn)3向 匯聚節(jié)點(diǎn)發(fā)送ACK Data+No Data確認(rèn)幀,匯聚節(jié)點(diǎn)開始輪詢下一節(jié)點(diǎn);Ie)當(dāng)匯聚節(jié)點(diǎn)輪詢某個(gè)工作節(jié)點(diǎn)時(shí),以節(jié)點(diǎn)4為例,下行鏈路和上行鏈路都有數(shù) 據(jù)發(fā)送,則匯聚節(jié)點(diǎn)向節(jié)點(diǎn)4發(fā)送Poll+Data輪詢幀,隨后向節(jié)點(diǎn)4發(fā)送下行鏈路數(shù)據(jù)幀, 節(jié)點(diǎn)4向匯聚節(jié)點(diǎn)發(fā)送上行鏈路數(shù)據(jù),并捎帶發(fā)送ACK Data確認(rèn)幀,匯聚節(jié)點(diǎn)向節(jié)點(diǎn)4發(fā) 送ACK Data確認(rèn)幀,匯聚節(jié)點(diǎn)開始輪詢下一個(gè)節(jié)點(diǎn);If)當(dāng)匯聚節(jié)點(diǎn)輪詢完某個(gè)工作節(jié)點(diǎn),以節(jié)點(diǎn)i為例,如果接收到突發(fā)事件廣播 幀,則有突發(fā)事件發(fā)生,匯聚節(jié)點(diǎn)執(zhí)行步驟3對(duì)突發(fā)事件進(jìn)行搶占式調(diào)度;否則輪詢下一個(gè) 工作節(jié)點(diǎn)i+1 ;Ig)當(dāng)匯聚節(jié)點(diǎn)輪詢完節(jié)點(diǎn)N后,則對(duì)工作節(jié)點(diǎn)列表的輪詢完畢,匯聚節(jié)點(diǎn)開始執(zhí) 行步驟2對(duì)空閑節(jié)點(diǎn)列表進(jìn)行輪詢;步驟2 匯聚節(jié)點(diǎn)對(duì)空閑節(jié)點(diǎn)列表輪詢。參照?qǐng)D4,本步驟的具體實(shí)現(xiàn)如下2a)匯聚節(jié)點(diǎn)按照空閑節(jié)點(diǎn)列表依次輪詢,以節(jié)點(diǎn)短地址表示的輪詢次序
7為N+1- > N+2- >...-> j- > ...- > N+M,這里j表示節(jié)點(diǎn)短地址,取值范圍為 N+1 ( j ( N+M ;匯聚節(jié)點(diǎn)對(duì)空閑節(jié)點(diǎn)發(fā)送短輪詢幀,查詢空閑節(jié)點(diǎn)下一時(shí)刻是否有數(shù)據(jù)發(fā) 送;2b)當(dāng)匯聚節(jié)點(diǎn)輪詢到節(jié)點(diǎn)N+1時(shí),該節(jié)點(diǎn)沒有數(shù)據(jù)發(fā)送,節(jié)點(diǎn)N+1向匯聚節(jié)點(diǎn)發(fā) 送No Data短響應(yīng)幀,匯聚節(jié)點(diǎn)輪詢節(jié)點(diǎn)N+2 ;2c)當(dāng)匯聚節(jié)點(diǎn)輪詢到節(jié)點(diǎn)N+2時(shí),該節(jié)點(diǎn)有數(shù)據(jù)發(fā)送,節(jié)點(diǎn)N+2向匯聚節(jié)點(diǎn)發(fā)送 Have Data短響應(yīng)幀,匯聚節(jié)點(diǎn)將節(jié)點(diǎn)N+2從空閑節(jié)點(diǎn)列表中刪除,并將節(jié)點(diǎn)N+2加入到工 作節(jié)點(diǎn)列表中,匯聚節(jié)點(diǎn)輪詢下一個(gè)空閑節(jié)點(diǎn);2d)當(dāng)匯聚節(jié)點(diǎn)輪詢完某個(gè)空閑節(jié)點(diǎn),以節(jié)點(diǎn)j為例,如果接收到突發(fā)事件廣播 幀,則有突發(fā)事件發(fā)生,匯聚節(jié)點(diǎn)執(zhí)行步驟3對(duì)突發(fā)事件進(jìn)行搶占式調(diào)度,否則輪詢下一個(gè) 空閑節(jié)點(diǎn)j+Ι ;2e)當(dāng)匯聚節(jié)點(diǎn)輪詢完節(jié)點(diǎn)N+M后,則對(duì)空閑節(jié)點(diǎn)列表的輪詢完畢,匯聚節(jié)點(diǎn)開始 返回步驟1對(duì)工作節(jié)點(diǎn)列表進(jìn)行輪詢;步驟3 匯聚節(jié)點(diǎn)對(duì)突發(fā)事件進(jìn)行搶占式調(diào)度。3a)參照?qǐng)D5,當(dāng)匯聚節(jié)點(diǎn)輪詢節(jié)點(diǎn)1時(shí),節(jié)點(diǎn)3和節(jié)點(diǎn)5發(fā)生突發(fā)事件,節(jié)點(diǎn)3和 節(jié)點(diǎn)5分別通過事件驅(qū)動(dòng)中斷發(fā)送廣播信息,廣播信息包括突發(fā)事件的最后完成時(shí)限,匯 聚節(jié)點(diǎn)接收到廣播信息后,按照最后完成時(shí)限將節(jié)點(diǎn)3和節(jié)點(diǎn)5的突發(fā)事件分為不同優(yōu)先 級(jí)這里假設(shè)節(jié)點(diǎn)3的最后完成時(shí)限較早,節(jié)點(diǎn)5的最后完成時(shí)限較晚,因此節(jié)點(diǎn)3的突發(fā) 事件優(yōu)先級(jí)高于節(jié)點(diǎn)5的突發(fā)事件優(yōu)先級(jí);匯聚節(jié)點(diǎn)建立一個(gè)先入先出主隊(duì)列,將優(yōu)先級(jí)高的突發(fā)事件節(jié)點(diǎn)3放入主隊(duì)列前 面,將優(yōu)先級(jí)低的突發(fā)事件節(jié)點(diǎn)5放入主隊(duì)列后面;匯聚節(jié)點(diǎn)輪詢完節(jié)點(diǎn)1后,立即輪詢主 隊(duì)列,先輪詢主隊(duì)列中的節(jié)點(diǎn)3,再輪詢主隊(duì)列中的節(jié)點(diǎn)5,匯聚節(jié)點(diǎn)處理完主隊(duì)列突發(fā)事 件后,輪詢節(jié)點(diǎn)2;匯聚節(jié)點(diǎn)對(duì)網(wǎng)絡(luò)中的節(jié)點(diǎn)輪詢次序?yàn)?- > 3- > 5- > 2- > 4. . . - > N- > N+1- > N+2- >...-> M ;3b)參照?qǐng)D6,當(dāng)匯聚節(jié)點(diǎn)輪詢主隊(duì)列中的節(jié)點(diǎn)5時(shí),節(jié)點(diǎn)N和節(jié)點(diǎn)N+2發(fā)生突發(fā) 事件,節(jié)點(diǎn)N和節(jié)點(diǎn)N+2分別通過事件驅(qū)動(dòng)中斷發(fā)送廣播信息,廣播信息包括突發(fā)事件的最 后完成時(shí)限,匯聚節(jié)點(diǎn)接收到廣播信息后,按照最后完成時(shí)限將節(jié)點(diǎn)N和節(jié)點(diǎn)N+2的突發(fā)事 件分為不同優(yōu)先級(jí)這里假設(shè)節(jié)點(diǎn)N的最后完成時(shí)限較早,節(jié)點(diǎn)N+2的最后完成時(shí)限較晚, 因此節(jié)點(diǎn)N的突發(fā)事件優(yōu)先級(jí)高于節(jié)點(diǎn)N+2的突發(fā)事件優(yōu)先級(jí);匯聚節(jié)點(diǎn)建立一個(gè)先入先出輔助隊(duì)列,將優(yōu)先級(jí)高的突發(fā)事件節(jié)點(diǎn)N放入輔助隊(duì) 列前面,將優(yōu)先級(jí)低的突發(fā)事件節(jié)點(diǎn)N+2放入輔助隊(duì)列后面;匯聚節(jié)點(diǎn)輪詢完主隊(duì)列后,立 即輪詢輔助隊(duì)列,先輪詢輔助隊(duì)列中的節(jié)點(diǎn)N,再輪詢輔助隊(duì)列中的節(jié)點(diǎn)N+2,匯聚節(jié)點(diǎn)處 理完輔助隊(duì)列突發(fā)事件后,輪詢節(jié)點(diǎn)4 ;匯聚節(jié)點(diǎn)對(duì)網(wǎng)絡(luò)中的節(jié)點(diǎn)輪詢次序?yàn)?- > 3- > 5- > N- > N+2- > 2_ > 4. . . - > N+1- > …-> M。
權(quán)利要求
1.一種支持應(yīng)急響應(yīng)的無線傳感器網(wǎng)絡(luò)動(dòng)態(tài)輪詢介質(zhì)訪問控制方法,包括1)對(duì)工作節(jié)點(diǎn)列表輪詢步驟la)匯聚節(jié)點(diǎn)按照工作節(jié)點(diǎn)列表依次發(fā)送Poll短輪詢幀,并根據(jù)工作節(jié)點(diǎn)業(yè)務(wù)類型動(dòng) 態(tài)控制工作節(jié)點(diǎn)數(shù)據(jù)包大小和個(gè)數(shù),以控制工作節(jié)點(diǎn)對(duì)上行鏈路的使用時(shí)間,提高網(wǎng)絡(luò)帶 寬利用率;lb)當(dāng)輪詢到某個(gè)工作節(jié)點(diǎn)時(shí),若上行鏈路和下行鏈路都有數(shù)據(jù)需要發(fā)送,則匯聚節(jié)點(diǎn) 在發(fā)送Poll短輪詢幀后,首先向被輪詢節(jié)點(diǎn)發(fā)送下行鏈路的數(shù)據(jù),再由工作節(jié)點(diǎn)向匯聚節(jié) 點(diǎn)發(fā)送上行鏈路數(shù)據(jù),并捎帶發(fā)送確認(rèn)幀,以減少節(jié)點(diǎn)射頻切換次數(shù),降低系統(tǒng)開銷;Ic)當(dāng)輪詢到某個(gè)工作節(jié)點(diǎn)時(shí),如果匯聚節(jié)點(diǎn)接收到突發(fā)事件廣播幀,執(zhí)行步驟3進(jìn)行 搶占式調(diào)度,否則輪詢下一個(gè)工作節(jié)點(diǎn);2)對(duì)空閑節(jié)點(diǎn)列表輪詢步驟2a)匯聚節(jié)點(diǎn)對(duì)空閑節(jié)點(diǎn)列表依次發(fā)送Poll短輪詢幀,查詢節(jié)點(diǎn)在下一時(shí)刻是否有 數(shù)據(jù)需要發(fā)送,若空閑節(jié)點(diǎn)沒有數(shù)據(jù)需要發(fā)送,則發(fā)送No Data短響應(yīng)幀;若有數(shù)據(jù)需要發(fā) 送,則空閑節(jié)點(diǎn)向匯聚節(jié)點(diǎn)發(fā)送Have Data短響應(yīng)幀;2b)若匯聚節(jié)點(diǎn)收到Have Data短響應(yīng)幀,則將該空閑節(jié)點(diǎn)從空閑列表中刪除并將其 添加到工作列表中,使空閑節(jié)點(diǎn)成為工作節(jié)點(diǎn),該工作節(jié)點(diǎn)按照步驟1)在下一個(gè)對(duì)工作節(jié) 點(diǎn)列表輪詢的過程中發(fā)送和接收數(shù)據(jù);2c)當(dāng)輪詢到某個(gè)空閑節(jié)點(diǎn)時(shí),如果匯聚節(jié)點(diǎn)接收到突發(fā)事件廣播幀,執(zhí)行步驟3進(jìn)行 搶占式調(diào)度,否則輪詢下一個(gè)空閑節(jié)點(diǎn);3)對(duì)突發(fā)事件節(jié)點(diǎn)進(jìn)行搶占式調(diào)度3a)匯聚節(jié)點(diǎn)將突發(fā)事件按照“最后完成時(shí)限”分為不同接入優(yōu)先級(jí),建立一個(gè)按照突 發(fā)事件“最后完成時(shí)限”排序的主隊(duì)列,并依次處理主隊(duì)列突發(fā)事件;3b)當(dāng)匯聚節(jié)點(diǎn)處理主隊(duì)列突發(fā)事件時(shí),若產(chǎn)生新的突發(fā)事件,則將其放入輔助隊(duì)列, 輔助隊(duì)列按照與主隊(duì)列相同的方式對(duì)節(jié)點(diǎn)進(jìn)行排序,直到主隊(duì)列中的突發(fā)事件處理完后, 處理輔助隊(duì)列中的突發(fā)事件;同樣,當(dāng)匯聚節(jié)點(diǎn)處理輔助隊(duì)列突發(fā)事件時(shí),若再有新突發(fā)事 件發(fā)生,則將其放入主隊(duì)列,直到輔助隊(duì)列中的突發(fā)事件處理完后,處理主隊(duì)列中的突發(fā)事 件,以避免后發(fā)生的突發(fā)事件因“最后完成時(shí)限”比先發(fā)生的突發(fā)事件早,而搶先被處理的 “插隊(duì)”現(xiàn)象。
2.根據(jù)權(quán)利要求1所述介質(zhì)訪問控制方法,其中步驟la)所述根據(jù)工作節(jié)點(diǎn)業(yè)務(wù)類型 動(dòng)態(tài)控制工作節(jié)點(diǎn)數(shù)據(jù)包大小和個(gè)數(shù),按如下步驟進(jìn)行2a)匯聚節(jié)點(diǎn)判斷工作節(jié)點(diǎn)業(yè)務(wù)類型為“實(shí)時(shí)”或“普通”,若工作節(jié)點(diǎn)業(yè)務(wù)類型為“實(shí) 時(shí)”,則為其分配較高的數(shù)據(jù)包大小和個(gè)數(shù);若工作節(jié)點(diǎn)業(yè)務(wù)類型為“普通”,則為其分配較 低的數(shù)據(jù)包大小和個(gè)數(shù);工作節(jié)點(diǎn)按照該數(shù)據(jù)包大小和個(gè)數(shù)向匯聚節(jié)點(diǎn)發(fā)送上行鏈路數(shù) 據(jù),匯聚節(jié)點(diǎn)接收到上行鏈路數(shù)據(jù)后,通過下行鏈路向工作節(jié)點(diǎn)回復(fù)確認(rèn)幀,并輪詢下一個(gè) 工作節(jié)點(diǎn);2b)若工作節(jié)點(diǎn)需要更改數(shù)據(jù)包大小和個(gè)數(shù),則在匯聚節(jié)點(diǎn)輪詢?cè)摴ぷ鞴?jié)點(diǎn)時(shí),通過上 行鏈路向匯聚節(jié)點(diǎn)發(fā)送數(shù)據(jù)大小和個(gè)數(shù)更新請(qǐng)求;當(dāng)匯聚節(jié)點(diǎn)收到更新請(qǐng)求后,根據(jù)當(dāng)前 系統(tǒng)資源情況決定是否批準(zhǔn)該請(qǐng)求,若系統(tǒng)資源充足,則批準(zhǔn)該更新請(qǐng)求,并在下一個(gè)輪詢 周期,通過下行鏈路發(fā)送批準(zhǔn)響應(yīng)信息給工作節(jié)點(diǎn),若系統(tǒng)資源不足,則拒絕該更新請(qǐng)求。
3.根據(jù)權(quán)利要求1所述介質(zhì)訪問控制方法,其中步驟3a)所述主隊(duì)列,是匯聚節(jié)點(diǎn)按照 突發(fā)事件“最后完成時(shí)限”排序的先入先出隊(duì)列,當(dāng)匯聚節(jié)點(diǎn)輪詢非突發(fā)事件節(jié)點(diǎn)時(shí),若有 新突發(fā)事件發(fā)生,則將新突發(fā)事件節(jié)點(diǎn)放入主隊(duì)列。
4.根據(jù)權(quán)利要求1所述介質(zhì)訪問控制方法,其中步驟3b)所述輔助隊(duì)列,是匯聚節(jié)點(diǎn)按 照突發(fā)事件“最后完成時(shí)限”排序的先入先出隊(duì)列,當(dāng)匯聚節(jié)點(diǎn)輪詢主隊(duì)列節(jié)點(diǎn)時(shí),若有新 突發(fā)事件發(fā)生,則將新突發(fā)事件節(jié)點(diǎn)放入輔助隊(duì)列;當(dāng)匯聚節(jié)點(diǎn)輪詢輔助隊(duì)列節(jié)點(diǎn)時(shí),若有 新突發(fā)事件發(fā)生,則將新突發(fā)事件節(jié)點(diǎn)放入主隊(duì)列。
全文摘要
本發(fā)明公開一種支持應(yīng)急響應(yīng)的傳感器網(wǎng)絡(luò)動(dòng)態(tài)輪詢介質(zhì)訪問控制方法,主要解決現(xiàn)有輪詢方式接入時(shí)延大、帶寬利用率低和系統(tǒng)開銷大的問題,其實(shí)現(xiàn)步驟包括(1)匯聚節(jié)點(diǎn)對(duì)工作節(jié)點(diǎn)列表進(jìn)行輪詢,先發(fā)送下行鏈路數(shù)據(jù),再發(fā)送上行鏈路數(shù)據(jù),并捎帶發(fā)送確認(rèn)幀,為工作節(jié)點(diǎn)動(dòng)態(tài)分配數(shù)據(jù)包大小和帶寬,控制其使用上行鏈路的時(shí)間;(2)匯聚節(jié)點(diǎn)通過短幀發(fā)送/短幀響應(yīng)的方式對(duì)空閑節(jié)點(diǎn)列表輪詢;(3)匯聚節(jié)點(diǎn)在進(jìn)行工作節(jié)點(diǎn)列表和空閑節(jié)點(diǎn)列表的輪詢過程中,對(duì)突發(fā)事件進(jìn)行搶占式調(diào)度。本發(fā)明具有系統(tǒng)開銷小,時(shí)延低,帶寬利用率高,并支持突發(fā)事件應(yīng)急響應(yīng)的優(yōu)點(diǎn),適用于對(duì)帶寬和時(shí)延要求較高的無線傳感器網(wǎng)絡(luò)信道接入。
文檔編號(hào)H04W74/06GK102006670SQ20101054644
公開日2011年4月6日 申請(qǐng)日期2010年11月16日 優(yōu)先權(quán)日2010年11月16日
發(fā)明者吳洋, 寧奔, 龐遼軍, 房帥磊, 李京英, 裴慶祺, 謝偉光, 陳晨 申請(qǐng)人:西安電子科技大學(xué)