專利名稱:無線多媒體傳感器網(wǎng)絡(luò)多路徑傳輸機(jī)制的擁塞控制方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種無線多媒體傳感器網(wǎng)絡(luò)的路徑選擇與數(shù)據(jù)傳輸方法。該方法為多
類型傳感數(shù)據(jù)及時(shí)、準(zhǔn)確、高效地傳輸提供保障,屬于傳感器網(wǎng)絡(luò)技術(shù)和無線通信技術(shù)的交 叉領(lǐng)域。
背景技術(shù):
隨著通信技術(shù)、嵌入式計(jì)算技術(shù)和傳感器技術(shù)的飛速發(fā)展和日益成熟,具有感知 能力、計(jì)算能力和通信能力的微型傳感器開始出現(xiàn),并且引起了人們的極大關(guān)注。由此形成 的傳感器網(wǎng)絡(luò)能夠協(xié)調(diào)地感知、采集和處理網(wǎng)絡(luò)覆蓋區(qū)域內(nèi)的各種環(huán)境或監(jiān)測(cè)對(duì)象信息, 并發(fā)布給需要這些信息的用戶。傳感器網(wǎng)絡(luò)將邏輯上的信息世界與真實(shí)的物理世界融合在 一起,深刻地改變了人與自然的交互方式,可以廣泛地應(yīng)用于軍事、工農(nóng)業(yè)控制、生物醫(yī)療、 環(huán)境監(jiān)測(cè)等諸多領(lǐng)域。 目前,傳感器網(wǎng)絡(luò)研究的一個(gè)重要方面是在能量嚴(yán)重受限的微型節(jié)點(diǎn)上如何實(shí)現(xiàn) 簡(jiǎn)單的環(huán)境數(shù)據(jù)(如溫度、濕度、光強(qiáng)等)采集、傳輸與處理。然而,隨著監(jiān)測(cè)環(huán)境的日趨復(fù) 雜多變,由這些傳統(tǒng)傳感器網(wǎng)絡(luò)所獲取的簡(jiǎn)單數(shù)據(jù)愈加不能滿足人們對(duì)環(huán)境監(jiān)測(cè)的全面需 求,迫切需要將信息量豐富的圖像、音頻、視頻等多媒體信息引入到以傳感器網(wǎng)絡(luò)為基礎(chǔ)的 環(huán)境監(jiān)測(cè)活動(dòng)中來,實(shí)現(xiàn)細(xì)粒度、精準(zhǔn)信息的環(huán)境監(jiān)測(cè)。由此,多媒體傳感器網(wǎng)絡(luò)應(yīng)運(yùn)而生。
然而,由于自身硬件資源和網(wǎng)絡(luò)條件的限制,無線多媒體傳感器網(wǎng)絡(luò)的發(fā)展面臨 著許多的挑戰(zhàn)和困難。其中,如何提高視頻、音頻、圖像等多媒體傳感數(shù)據(jù)在網(wǎng)絡(luò)中的傳輸 質(zhì)量,如何保證數(shù)據(jù)傳輸?shù)臏?zhǔn)確性、實(shí)時(shí)性和高效率,成為無線多媒體傳感器網(wǎng)絡(luò)亟待解決 的問題之一。 發(fā)明人在研究中發(fā)現(xiàn),在節(jié)點(diǎn)隨機(jī)撒播的傳感器網(wǎng)絡(luò)中,利用密集部署的各個(gè)節(jié) 點(diǎn)建立多條從源節(jié)點(diǎn)到目的節(jié)點(diǎn)的數(shù)據(jù)傳輸路徑,將能夠有效提高節(jié)點(diǎn)、尤其是多媒體傳 感器節(jié)點(diǎn)的傳輸效率,提升其數(shù)據(jù)傳輸成功率。同時(shí),在數(shù)據(jù)傳輸過程中進(jìn)行相應(yīng)的擁塞通 告和擁塞控制,能夠進(jìn)一步增加對(duì)無線多媒體傳感器網(wǎng)絡(luò)的資源利用率。
發(fā)明內(nèi)容
技術(shù)問題本發(fā)明的目的是提供一種無線多媒體傳感器網(wǎng)絡(luò)多路徑傳輸機(jī)制的擁 塞控制方法,該方法以密集部署的無線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)和無線多媒體傳感器網(wǎng)絡(luò)節(jié)點(diǎn)為依 托,以提高傳感數(shù)據(jù)的傳輸質(zhì)量和可靠性為目標(biāo),利用中繼節(jié)點(diǎn)構(gòu)建從源節(jié)點(diǎn)到目的節(jié)點(diǎn) 的多條傳感數(shù)據(jù)傳輸路徑,保證了多媒體傳感數(shù)據(jù)和普通傳感數(shù)據(jù)及時(shí)、準(zhǔn)確、可靠地到達(dá)
目的節(jié)點(diǎn)。同時(shí),以提高網(wǎng)絡(luò)資源利用率為目標(biāo),設(shè)計(jì)了針對(duì)中繼節(jié)點(diǎn)及其所在鏈路的擁塞 發(fā)現(xiàn)、擁塞通告及擁塞調(diào)整方法,進(jìn)一步保證了數(shù)據(jù)傳輸可靠性。 技術(shù)方案本發(fā)明建立了一種無線多媒體傳感器網(wǎng)絡(luò)多路徑傳輸機(jī)制的擁塞控制 方法,其基本的系統(tǒng)組成包括 普通節(jié)點(diǎn)可以感知其周圍空間的溫度、濕度、光照度、氣體濃度等環(huán)境信息的無線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)。普通節(jié)點(diǎn)同時(shí)具備數(shù)據(jù)包轉(zhuǎn)發(fā)能力,可以將其自身產(chǎn)生的傳感數(shù)據(jù)或 接收到的其它節(jié)點(diǎn)的傳感數(shù)據(jù)發(fā)送到其通信能力可達(dá)的任何節(jié)點(diǎn); 多媒體節(jié)點(diǎn)可以感知其周圍空間的圖像、視頻、音頻等多媒體信息的無線傳感器 節(jié)點(diǎn)。本發(fā)明中定義多媒體節(jié)點(diǎn)只進(jìn)行傳感,不進(jìn)行數(shù)據(jù)包轉(zhuǎn)發(fā); 中繼節(jié)點(diǎn)具備數(shù)據(jù)轉(zhuǎn)發(fā)能力的節(jié)點(diǎn)。本發(fā)明中定義網(wǎng)絡(luò)中任何普通節(jié)點(diǎn)都可以 成為中繼節(jié)點(diǎn)。中繼節(jié)點(diǎn)擁有一塊數(shù)據(jù)接收緩沖區(qū),用于暫存接收到的數(shù)據(jù),一旦該數(shù)據(jù)被 中繼節(jié)點(diǎn)處理完畢,則其占用的部分緩沖區(qū)將釋放; 源節(jié)點(diǎn)具有傳感能力并發(fā)出傳感數(shù)據(jù)的普通節(jié)點(diǎn)或多媒體節(jié)點(diǎn);
目的節(jié)點(diǎn)傳感數(shù)據(jù)最終傳輸?shù)降墓?jié)點(diǎn)。
無線多媒體傳感器網(wǎng)絡(luò)多路徑傳輸機(jī)制及其擁塞控制方法的步驟為 步驟1).在網(wǎng)絡(luò)環(huán)境內(nèi),隨機(jī)、均勻撒播多個(gè)具有相同初始能量、相同通信能力與
傳感能力的普通節(jié)點(diǎn),每個(gè)普通節(jié)點(diǎn)都已獲知自身及網(wǎng)絡(luò)中其它普通節(jié)點(diǎn)的位置信息,且
可以隨時(shí)獲知自己的剩余能量信息; 步驟2).在網(wǎng)絡(luò)環(huán)境內(nèi),隨機(jī)、均勻撒播多個(gè)具有相同初始能量、相同通信能力與 傳感能力的多媒體節(jié)點(diǎn),所有的普通節(jié)點(diǎn)和多媒體節(jié)點(diǎn)都擁有一個(gè)2字節(jié)長(zhǎng)度的、唯一的 ID號(hào),用以標(biāo)識(shí)自身; 步驟3).每個(gè)充當(dāng)中繼節(jié)點(diǎn)的普通節(jié)點(diǎn)將其數(shù)據(jù)接收緩沖區(qū)劃分為三個(gè)獨(dú)立的 數(shù)據(jù)接收緩存隊(duì)列,分別為多媒體傳感數(shù)據(jù)隊(duì)列、普通傳感數(shù)據(jù)隊(duì)列和信息隊(duì)列;其中,多 媒體傳感數(shù)據(jù)隊(duì)列擁有最大的長(zhǎng)度,存放該中繼節(jié)點(diǎn)接收到的多媒體傳感數(shù)據(jù);普通傳感 數(shù)據(jù)隊(duì)列擁有中等大小的隊(duì)列長(zhǎng)度,存放該中繼節(jié)點(diǎn)接收到的非多媒體傳感數(shù)據(jù);信息隊(duì) 列擁有最小的隊(duì)列長(zhǎng)度,存放控制數(shù)據(jù)與元數(shù)據(jù);當(dāng)某一類型的數(shù)據(jù)接收緩存隊(duì)列沒有空 間存放其所接收到的相應(yīng)類型的數(shù)據(jù)時(shí),該緩存隊(duì)列溢出;數(shù)據(jù)接收緩沖區(qū)中同時(shí)還擁有 一個(gè)數(shù)據(jù)類型分發(fā)器,用來將節(jié)點(diǎn)接收到的各個(gè)數(shù)據(jù)分發(fā)到各個(gè)不同的數(shù)據(jù)接收緩存隊(duì)列 中; 步驟4).網(wǎng)絡(luò)中的普通節(jié)點(diǎn)和多媒體節(jié)點(diǎn)在將其傳感數(shù)據(jù)發(fā)送到目的節(jié)點(diǎn)之前, 將首先產(chǎn)生并廣播一個(gè)描述該傳感數(shù)據(jù)的信息包,稱為"元數(shù)據(jù)"; 步驟5).網(wǎng)絡(luò)中的節(jié)點(diǎn)在發(fā)出元數(shù)據(jù)后,立即開啟一個(gè)計(jì)時(shí)器,開始計(jì)時(shí),并設(shè)定 最大計(jì)時(shí)時(shí)間1\ ; 步驟6).每一個(gè)中繼節(jié)點(diǎn)都建立一個(gè)存儲(chǔ)表,表中存儲(chǔ)其所收到的每一個(gè)元數(shù)據(jù) 包,當(dāng)中繼節(jié)點(diǎn)接收到一個(gè)元數(shù)據(jù)包時(shí),首先判斷在其存儲(chǔ)表中是否有相同ID的元數(shù)據(jù)包 存在,若存在,則中繼節(jié)點(diǎn)丟棄該元數(shù)據(jù)包,否則,對(duì)該元數(shù)據(jù)包、當(dāng)前的鏈路狀況以及節(jié)點(diǎn) 的自身狀況進(jìn)行評(píng)價(jià),若不符合條件,則中繼節(jié)點(diǎn)丟棄該元數(shù)據(jù)包,不再繼續(xù)轉(zhuǎn)發(fā),否則,中 繼節(jié)點(diǎn)將更新并存儲(chǔ)該元數(shù)據(jù)包,同時(shí)將更新后的元數(shù)據(jù)包發(fā)送給它的鄰居節(jié)點(diǎn),但不包 括其上一跳節(jié)點(diǎn); 步驟7)中繼節(jié)點(diǎn)在完成對(duì)元數(shù)據(jù)包的轉(zhuǎn)發(fā)后,立刻開啟一個(gè)針對(duì)該包的計(jì)時(shí)器, 并設(shè)定最大計(jì)時(shí)時(shí)間為Pi ; 步驟8).當(dāng)目的節(jié)點(diǎn)收到了某一ID號(hào)的元數(shù)據(jù)包時(shí),則開啟一個(gè)計(jì)時(shí)器并設(shè)定某
一固定計(jì)時(shí)時(shí)間,開始等待由其它路徑傳輸來的同一 ID號(hào)的元數(shù)據(jù)包; 步驟9)若在計(jì)時(shí)器結(jié)束計(jì)時(shí)之前,目的節(jié)點(diǎn)沒有再收到任何元數(shù)據(jù),則將其收到的唯一的元數(shù)據(jù)包所經(jīng)過的路徑設(shè)置為從源節(jié)點(diǎn)傳輸傳感數(shù)據(jù)到目的節(jié)點(diǎn)的主路徑,同時(shí)產(chǎn)生一個(gè)針對(duì)該元數(shù)據(jù)的應(yīng)答包,應(yīng)答包結(jié)構(gòu)中,ID字段存放元數(shù)據(jù)包的ID ;"主路徑"、"備選路徑"和"次路徑"字段分別表示從源節(jié)點(diǎn)到目的節(jié)點(diǎn)的各個(gè)路徑,其后分別是各個(gè)鏈表項(xiàng),用來標(biāo)識(shí)所建立的各條路徑上的各個(gè)節(jié)點(diǎn)。若某條路徑?jīng)]有建立,則其后的鏈表項(xiàng)為空,此時(shí),目的節(jié)點(diǎn)取出其所接收到的唯一的元數(shù)據(jù)包的路徑信息字段中的各個(gè)ID號(hào),將其填充到應(yīng)答包的"主路徑"字段后的各個(gè)鏈表項(xiàng)中; 步驟IO)若在計(jì)時(shí)器結(jié)束計(jì)時(shí)之前,目的節(jié)點(diǎn)又收到了另外一個(gè)相同ID號(hào)的元數(shù)據(jù)包,則目的節(jié)點(diǎn)對(duì)比其所收到的兩個(gè)元數(shù)據(jù)包中各個(gè)字段的值,并計(jì)算"實(shí)際最小剩余能量"、"實(shí)際最小鏈路傳輸速率"以及"實(shí)際最低鏈路信噪比"這三個(gè)字段中的值的乘積,選擇乘積結(jié)果較大的一個(gè)元數(shù)據(jù)包所經(jīng)歷的路徑作為主路徑,另一個(gè)作為備選路徑,并將這兩個(gè)元數(shù)據(jù)包中的路徑信息字段中的各個(gè)ID號(hào)填充到應(yīng)答包的"主路徑"和"備選路徑"字段后的相應(yīng)的鏈表項(xiàng)中; 步驟11)若在計(jì)時(shí)器結(jié)束計(jì)時(shí)之前,目的節(jié)點(diǎn)又收到了兩個(gè)或兩個(gè)以上相同ID的元數(shù)據(jù)包,則目的節(jié)點(diǎn)按照步驟9)中的方式進(jìn)行計(jì)算,選擇乘積最大的一個(gè)元數(shù)據(jù)包所經(jīng)歷的路徑作為主路徑,選擇乘積第二大和第三大的元數(shù)據(jù)包所經(jīng)歷的路徑分別作為備選路徑和次路徑;并將這三個(gè)元數(shù)據(jù)包中的路徑信息字段中的各個(gè)ID號(hào)填充到應(yīng)答包的"主路徑"、"備選路徑"和"次路徑"字段后的相應(yīng)的鏈表項(xiàng)中; 步驟12)目的節(jié)點(diǎn)沿著其所建立的路徑,反向廣播應(yīng)答包,若目的節(jié)點(diǎn)沒有收到任何元數(shù)據(jù)包,則不產(chǎn)生應(yīng)答包; 步驟13)在中繼節(jié)點(diǎn)針對(duì)某元數(shù)據(jù)包的計(jì)時(shí)時(shí)間到達(dá)Pi之前, 若收到了目的節(jié)點(diǎn)針對(duì)該元數(shù)據(jù)包的應(yīng)答包,則節(jié)點(diǎn)停止針對(duì)該元數(shù)據(jù)包的計(jì)
時(shí),同時(shí)刪除其存儲(chǔ)表中針對(duì)該元數(shù)據(jù)的相關(guān)表項(xiàng),并轉(zhuǎn)發(fā)該應(yīng)答包; 若中繼節(jié)點(diǎn)沒有收到關(guān)于該元數(shù)據(jù)包的應(yīng)答包,則節(jié)點(diǎn)刪除其存儲(chǔ)表中針對(duì)該元數(shù)據(jù)包的相關(guān)表項(xiàng); 步驟14)在源節(jié)點(diǎn)的計(jì)時(shí)時(shí)間到達(dá)Ti之前,若收到了關(guān)于元數(shù)據(jù)包的應(yīng)答包,則源節(jié)點(diǎn)查看該應(yīng)答包的內(nèi)容后執(zhí)行以下操作
若該應(yīng)答包中有且僅有主路徑的信息,則 ①若源節(jié)點(diǎn)將要發(fā)送的是多媒體傳感數(shù)據(jù),則降低節(jié)點(diǎn)的采樣分辨率或采樣幀率,或者增大采樣時(shí)間間隔,并調(diào)整節(jié)點(diǎn)對(duì)傳輸路徑的速率、信噪比、中繼節(jié)點(diǎn)的剩余能量以及傳感數(shù)據(jù)最大允許傳輸時(shí)間等條件的要求,重新生成并發(fā)送元數(shù)據(jù)包,以建立備選路徑和次路徑,同時(shí),開始在主路徑上傳輸多媒體數(shù)據(jù); ②若源節(jié)點(diǎn)將要發(fā)送的是普通傳感數(shù)據(jù),則降低節(jié)點(diǎn)的數(shù)據(jù)采樣精度或增大其采樣時(shí)間間隔,并調(diào)整節(jié)點(diǎn)對(duì)傳輸路徑的速率、信噪比、中繼節(jié)點(diǎn)的剩余能量以及傳感數(shù)據(jù)最大允許傳輸時(shí)間等條件的要求,重新生成并發(fā)送元數(shù)據(jù)包,以建立備選路徑和次路徑,同時(shí),開始在主路徑上傳輸普通傳感數(shù)據(jù); 若應(yīng)答包中有且僅有主路徑和備選路徑的信息,則源節(jié)點(diǎn)重新生成并發(fā)送元數(shù)據(jù)包,以建立次路徑,同時(shí),開始在主路徑上傳輸傳感數(shù)據(jù); 若應(yīng)答包中同時(shí)含有主路徑、備選路徑和次路徑的信息,則源節(jié)點(diǎn)開始在主路徑上傳輸傳感數(shù)據(jù),在次路徑上傳輸控制數(shù)據(jù);
步驟15)在源節(jié)點(diǎn)的計(jì)時(shí)時(shí)間到達(dá)1\之前,若沒有收到關(guān)于元數(shù)據(jù)包的應(yīng)答包,則若源節(jié)點(diǎn)將要發(fā)送的是多媒體傳感數(shù)據(jù),則降低節(jié)點(diǎn)的采樣分辨率和采樣幀率,同時(shí)增大采樣時(shí)間間隔; 若源節(jié)點(diǎn)將要發(fā)送的是普通傳感數(shù)據(jù),則降低節(jié)點(diǎn)的數(shù)據(jù)采樣精度,同時(shí)增大采樣時(shí)間間隔; 隨后,源節(jié)點(diǎn)重新計(jì)算對(duì)傳輸路徑的速率、信噪比、中繼節(jié)點(diǎn)的剩余能量以及傳感數(shù)據(jù)最大允許傳輸時(shí)間等條件的要求,重新生成并發(fā)送元數(shù)據(jù)包,轉(zhuǎn)步驟5);
步驟16)若源節(jié)點(diǎn)將其對(duì)網(wǎng)絡(luò)的資源要求降低到最低限度后,仍無法收到關(guān)于其元數(shù)據(jù)包的應(yīng)答包,則該源節(jié)點(diǎn)放棄其傳感數(shù)據(jù)發(fā)送要求,直到有新的傳感數(shù)據(jù)需要發(fā)送時(shí),轉(zhuǎn)步驟4); 步驟17)在中繼節(jié)點(diǎn)轉(zhuǎn)發(fā)傳感數(shù)據(jù)的過程中,以一定的時(shí)間間隔監(jiān)聽其相應(yīng)的數(shù)
據(jù)接收緩沖隊(duì)列,查看其是否溢出,同時(shí)監(jiān)聽本節(jié)點(diǎn)所在的鏈路的傳輸情況,包括鏈路的擁
塞狀況、丟包率、誤碼率; 若多媒體傳感數(shù)據(jù)隊(duì)列溢出,則 ①中繼節(jié)點(diǎn)通知產(chǎn)生該傳感數(shù)據(jù)的源節(jié)點(diǎn),啟用備選路徑,分擔(dān)部分傳感量;
②若在源節(jié)點(diǎn)啟用備選路徑后,多媒體傳感隊(duì)列仍然溢出,則中繼節(jié)點(diǎn)通知源節(jié)點(diǎn)降低多媒體數(shù)據(jù)的采樣分辨率,同時(shí)考察隊(duì)列是否繼續(xù)溢出; ③若多媒體傳感數(shù)據(jù)隊(duì)列仍然溢出,則中繼節(jié)點(diǎn)通知源節(jié)點(diǎn)增大數(shù)據(jù)采樣時(shí)間間隔,以降低到達(dá)該隊(duì)列的數(shù)據(jù)接收速率; ④若隊(duì)列仍然溢出,則中繼節(jié)點(diǎn)通知源節(jié)點(diǎn)以快照形式而非多媒體流的形式傳輸傳感數(shù)據(jù),即源節(jié)點(diǎn)只發(fā)送非連續(xù)的關(guān)鍵幀; ⑤執(zhí)行④后,隊(duì)列仍然溢出,則中繼節(jié)點(diǎn)通知源節(jié)點(diǎn)停止對(duì)該傳感數(shù)據(jù)的發(fā)送;若普通傳感數(shù)據(jù)隊(duì)列溢出,則 ①中繼節(jié)點(diǎn)通知產(chǎn)生該傳感數(shù)據(jù)的源節(jié)點(diǎn),增大數(shù)據(jù)采樣時(shí)間間隔,以降低到達(dá)該隊(duì)列的數(shù)據(jù)接收速率,同時(shí)考察隊(duì)列是否仍然溢出; ②若普通傳感數(shù)據(jù)隊(duì)列仍然溢出,則中繼節(jié)點(diǎn)通知源節(jié)點(diǎn),降低其數(shù)據(jù)采樣精度,同時(shí)考察隊(duì)列是否繼續(xù)溢出; ③若普通傳感數(shù)據(jù)隊(duì)列仍然溢出,則中繼節(jié)點(diǎn)為產(chǎn)生傳感數(shù)據(jù)的源節(jié)點(diǎn)設(shè)定一個(gè)"數(shù)據(jù)突變門限值",并將該值返回給源節(jié)點(diǎn),源節(jié)點(diǎn)只發(fā)送超出該門限的傳感數(shù)據(jù);
④若此時(shí)普通傳感隊(duì)列仍然溢出,則中繼節(jié)點(diǎn)通知源節(jié)點(diǎn),啟用備選路徑,分擔(dān)部分傳感數(shù)據(jù)量; ⑤若在源節(jié)點(diǎn)啟用備選路徑后,普通傳感隊(duì)列仍然溢出,則中繼節(jié)點(diǎn)通知源節(jié)點(diǎn),停止對(duì)該傳感數(shù)據(jù)的發(fā)送; 若中繼節(jié)點(diǎn)所在鏈路的信噪比、傳輸差錯(cuò)率、丟包率等指標(biāo),不足以保證傳感數(shù)據(jù)的可靠傳輸,則中繼節(jié)點(diǎn)通知源節(jié)點(diǎn)啟用備選路徑,以分擔(dān)部分傳感數(shù)據(jù)量,同時(shí)通知其上一跳節(jié)點(diǎn)降低數(shù)據(jù)發(fā)送速率,以提高鏈路的可靠性指標(biāo),若中繼節(jié)點(diǎn)所在鏈路仍不能保證傳感數(shù)據(jù)的可靠傳輸,則中繼節(jié)點(diǎn)通知源節(jié)點(diǎn),停止對(duì)該傳感數(shù)據(jù)的發(fā)送,以節(jié)約網(wǎng)絡(luò)資源。 所述元數(shù)據(jù)包包括
1) ID字段表明該節(jié)點(diǎn)在網(wǎng)絡(luò)中的具體編號(hào),其字段長(zhǎng)度為2個(gè)字節(jié); 2)數(shù)據(jù)類型字段表明節(jié)點(diǎn)所要發(fā)送的傳感數(shù)據(jù)的類型是普通的環(huán)境監(jiān)測(cè)傳感
數(shù)據(jù)還是多媒體數(shù)據(jù),該字段長(zhǎng)度為1個(gè)字節(jié); 3)數(shù)據(jù)包大小字段表明節(jié)點(diǎn)所要發(fā)送的傳感數(shù)據(jù)的平均數(shù)據(jù)包的大小,其所存放的數(shù)據(jù)的單位為字節(jié),該字段長(zhǎng)度為2個(gè)字節(jié); 4)所允許的最大傳輸時(shí)間字段規(guī)定了節(jié)點(diǎn)所允許的將其傳感數(shù)據(jù)發(fā)送到目的節(jié)點(diǎn)的最長(zhǎng)時(shí)間,其所存放的數(shù)據(jù)的單位為秒,字段長(zhǎng)度為2個(gè)字節(jié); 5)所允許的最小剩余能量字段規(guī)定了源節(jié)點(diǎn)對(duì)中繼節(jié)點(diǎn)的最低剩余能量的要求,剩余能量小于該值的節(jié)點(diǎn)將不能參與該源節(jié)點(diǎn)的傳感數(shù)據(jù)傳輸,其所存放的數(shù)據(jù)單位為焦耳,字段長(zhǎng)度為l個(gè)字節(jié); 6)所允許的最低鏈路傳輸速率字段設(shè)定了節(jié)點(diǎn)傳感數(shù)據(jù)的最小傳輸速率要求,其所存放的數(shù)據(jù)的單位為千字節(jié)/秒,字段長(zhǎng)度為2個(gè)字節(jié); 7)所允許的最低鏈路信噪比字段定義了節(jié)點(diǎn)對(duì)其傳感數(shù)據(jù)所經(jīng)過的無線鏈路的傳輸質(zhì)量要求,其所存放的數(shù)據(jù)的單位為分貝,字段長(zhǎng)度為1個(gè)字節(jié); 8)路徑字段記錄元數(shù)據(jù)包即將經(jīng)過的各個(gè)節(jié)點(diǎn),以便于目的節(jié)點(diǎn)據(jù)此來建立多路徑,該字段設(shè)置為一鏈表結(jié)構(gòu),鏈表中的每一項(xiàng)長(zhǎng)度為2個(gè)字節(jié),用于存放元數(shù)據(jù)所經(jīng)過的節(jié)點(diǎn)的ID號(hào),鏈表初始為空; 9)實(shí)際最小剩余能量字段記錄元數(shù)據(jù)包所經(jīng)過的各個(gè)節(jié)點(diǎn)中,剩余能量最小的那個(gè)節(jié)點(diǎn)的剩余能量值,其所存放的數(shù)據(jù)單位為焦耳,初始值為無窮大,字段長(zhǎng)度為1個(gè)字節(jié); 10)實(shí)際最小鏈路傳輸速率字段記錄了元數(shù)據(jù)所經(jīng)過的鏈路中,最小傳輸速率
的數(shù)值,其所存放的數(shù)據(jù)單位為千字節(jié)/秒,初始值為無窮大,字段長(zhǎng)度為2個(gè)字節(jié); 11)實(shí)際最低鏈路信噪比字段記錄了元數(shù)據(jù)所經(jīng)過的鏈路中,最小信噪比的數(shù)
值,其所存放的數(shù)據(jù)單位為分貝,初始值為無窮大,字段長(zhǎng)度為1個(gè)字節(jié); 在所述的步驟6)中,對(duì)當(dāng)前的鏈路狀況及節(jié)點(diǎn)的自身狀況的評(píng)價(jià)包括 1)中繼節(jié)點(diǎn)自身的剩余能量必須大于元數(shù)據(jù)包的"所允許的最小剩余能量字段"
中的數(shù)值; 2)從上一跳節(jié)點(diǎn)到本中繼節(jié)點(diǎn)的鏈路數(shù)據(jù)傳輸速率必須大于元數(shù)據(jù)包的"所允許的最低鏈路傳輸速率字段"中的數(shù)值且該鏈路的信噪比必須大于元數(shù)據(jù)包的"所允許的最低鏈路信噪比字段"中的數(shù)值; 3)該中繼節(jié)點(diǎn)比轉(zhuǎn)發(fā)該元數(shù)據(jù)包的上一跳節(jié)點(diǎn)在地理位置上,更接近于元數(shù)據(jù)包所要到達(dá)的目的節(jié)點(diǎn); 4)中繼節(jié)點(diǎn)的擁塞發(fā)現(xiàn)單元沒有發(fā)現(xiàn)節(jié)點(diǎn)自身或同節(jié)點(diǎn)相關(guān)的鏈路存在擁塞;
5)從元數(shù)據(jù)包從源節(jié)點(diǎn)出發(fā)開始,到本中繼節(jié)點(diǎn)為止所耗費(fèi)的時(shí)間,沒有超過元數(shù)據(jù)包的"所允許的最大傳輸時(shí)間"字段中的數(shù)值;
在步驟6)中,所述的元數(shù)據(jù)包的更新過程包括 步驟1)將元數(shù)據(jù)包中"所允許的最大傳輸時(shí)間"字段的值減去該元數(shù)據(jù)包從上一跳節(jié)點(diǎn)傳輸?shù)奖局欣^節(jié)點(diǎn)的時(shí)間后,重新寫入該字段; 步驟2)將本中繼節(jié)點(diǎn)的ID號(hào)寫入元數(shù)據(jù)包中"路徑字段"的相應(yīng)的鏈表項(xiàng)中;
步驟3)判斷本中繼節(jié)點(diǎn)當(dāng)前的剩余能量是否小于元數(shù)據(jù)包中"實(shí)際最小剩余能量"字段中的數(shù)值,若小于,則將本中繼節(jié)點(diǎn)的剩余能量值寫入該字段,覆蓋其原有值;
步驟4)判斷本中繼節(jié)點(diǎn)所在鏈路的傳輸速率是否小于元數(shù)據(jù)包中"實(shí)際最小鏈路傳輸速率"字段中的數(shù)值,若小于,則將本中繼節(jié)點(diǎn)所在鏈路的傳輸速率的值寫入該字段,覆蓋其原有值; 步驟5)判斷本中繼節(jié)點(diǎn)所在鏈路的信噪比是否小于元數(shù)據(jù)包中"實(shí)際最低鏈路信噪比"字段中的數(shù)值,若小于,則將本中繼節(jié)點(diǎn)所在鏈路的信噪比的值寫入該字段,覆蓋其原有值。 有益效果作為無線多媒體傳感器網(wǎng)絡(luò)的一種高效、可靠的數(shù)據(jù)傳輸方法,本發(fā)明具有以下一些有益成果 1.源節(jié)點(diǎn)在發(fā)送傳感數(shù)據(jù)之前,首先通過元數(shù)據(jù)進(jìn)行路徑選擇,避免了不必要的錯(cuò)誤路徑傳輸開銷,提高了傳感數(shù)據(jù)的傳輸效率; 2.針對(duì)網(wǎng)絡(luò)中大量不同類型的傳感數(shù)據(jù),建立主路徑、次路徑和備選路徑,分別起到傳輸傳感數(shù)據(jù)、傳輸控制數(shù)據(jù)以及分擔(dān)主路徑負(fù)擔(dān)的作用。這樣一種多路徑的方式保證了傳感器網(wǎng)絡(luò)中的可靠數(shù)據(jù)傳輸; 3.在中繼節(jié)點(diǎn)中建立了多個(gè)不同類型的數(shù)據(jù)接收緩存隊(duì)列,對(duì)節(jié)點(diǎn)所接收的數(shù)據(jù)進(jìn)行分類處理,保證了各類型數(shù)據(jù)在中繼節(jié)點(diǎn)中的高效運(yùn)轉(zhuǎn); 4.建立了針對(duì)中繼節(jié)點(diǎn)及其所在鏈路的擁塞發(fā)現(xiàn)和擁塞通告機(jī)制,并對(duì)鏈路質(zhì)量進(jìn)行持續(xù)觀測(cè)。當(dāng)節(jié)點(diǎn)或鏈路出現(xiàn)擁塞或通信質(zhì)量下降時(shí),中繼節(jié)點(diǎn)能夠促使源節(jié)點(diǎn)調(diào)整其所發(fā)送的傳感數(shù)據(jù)質(zhì)量,以降低擁塞程度,提高數(shù)據(jù)傳輸成功率;
圖1是本發(fā)明所面向的無線多媒體傳感器網(wǎng)絡(luò)多路徑傳輸結(jié)構(gòu)。普通節(jié)點(diǎn)和多媒體節(jié)點(diǎn)通過多跳傳輸路徑,將傳感數(shù)據(jù)傳送到目的節(jié)點(diǎn); 圖2是本發(fā)明的中繼節(jié)點(diǎn)中的數(shù)據(jù)接收緩沖區(qū)及其內(nèi)部的多個(gè)數(shù)據(jù)接收緩存隊(duì)列的示意圖; 圖3是本發(fā)明中的普通節(jié)點(diǎn)和多媒體節(jié)點(diǎn)在所生成的元數(shù)據(jù)包的基本內(nèi)容與結(jié)構(gòu); 圖4是本發(fā)明中的目的節(jié)點(diǎn)所生成的應(yīng)答包的基本內(nèi)容與結(jié)構(gòu); 圖5是本發(fā)明中的中繼節(jié)點(diǎn)的擁塞發(fā)現(xiàn)、擁塞通告和擁塞控制的流程圖。
具體實(shí)施例方式
本發(fā)明的方法以網(wǎng)絡(luò)中多種類型的傳感器節(jié)點(diǎn)為依托,構(gòu)建擁有一定服務(wù)質(zhì)量保證的多條數(shù)據(jù)包傳輸路徑,并在此基礎(chǔ)上,根據(jù)節(jié)點(diǎn)、鏈路及網(wǎng)絡(luò)的實(shí)際情況,實(shí)施相應(yīng)的擁塞控制方案,保證了部署于網(wǎng)絡(luò)環(huán)境中的各類型多媒體傳感器節(jié)點(diǎn)的數(shù)據(jù)和信息及時(shí)、準(zhǔn)確、高效地傳輸?shù)侥康墓?jié)點(diǎn)。其具體實(shí)施方式
為 1)在網(wǎng)絡(luò)環(huán)境內(nèi),隨機(jī)、均勻撒播多個(gè)具有相同初始能量、相同通信能力與傳感能力的普通節(jié)點(diǎn)。每個(gè)普通節(jié)點(diǎn)都已獲知自身及網(wǎng)絡(luò)中其它普通節(jié)點(diǎn)的位置信息,且可以隨時(shí)獲知自己的剩余能量信息;
2)在網(wǎng)絡(luò)環(huán)境內(nèi),隨機(jī)、均勻撒播多個(gè)具有相同初始能量、相同通信能力與傳感能 力的多媒體節(jié)點(diǎn)。所有的普通節(jié)點(diǎn)和多媒體節(jié)點(diǎn)都擁有一個(gè)2字節(jié)長(zhǎng)度的、唯一的ID號(hào), 用以標(biāo)識(shí)自身; 3)每個(gè)充當(dāng)中繼節(jié)點(diǎn)的普通節(jié)點(diǎn)將其數(shù)據(jù)接收緩沖區(qū)劃分為三個(gè)獨(dú)立的數(shù)據(jù)接 收緩存隊(duì)列,其具體表現(xiàn)形式如圖2。其中,多媒體傳感數(shù)據(jù)隊(duì)列擁有最大的長(zhǎng)度,存放該中 繼節(jié)點(diǎn)接收到的多媒體傳感數(shù)據(jù)(如視頻流數(shù)據(jù)、音頻流數(shù)據(jù)、圖像幀數(shù)據(jù)等);普通傳感 數(shù)據(jù)隊(duì)列擁有中等大小的隊(duì)列長(zhǎng)度,存放該中繼節(jié)點(diǎn)接收到的非多媒體傳感數(shù)據(jù)(如溫度 傳感數(shù)據(jù)、濕度傳感數(shù)據(jù)等);信息隊(duì)列擁有最小的隊(duì)列長(zhǎng)度,存放控制數(shù)據(jù)(如擁塞通告 數(shù)據(jù)包等)與元數(shù)據(jù)。當(dāng)某一類型的數(shù)據(jù)接收緩存隊(duì)列沒有空間存放其所接收到的相應(yīng)類 型的數(shù)據(jù)時(shí),該緩存隊(duì)列溢出。數(shù)據(jù)接收緩沖區(qū)中同時(shí)還擁有一個(gè)數(shù)據(jù)類型分發(fā)器,用來將 節(jié)點(diǎn)接收到的各個(gè)數(shù)據(jù)分發(fā)到各個(gè)不同的數(shù)據(jù)接收緩存隊(duì)列中; 4)網(wǎng)絡(luò)中的普通節(jié)點(diǎn)和多媒體節(jié)點(diǎn)在將其傳感數(shù)據(jù)發(fā)送到目的節(jié)點(diǎn)之前,將首先 產(chǎn)生并廣播一個(gè)描述該傳感數(shù)據(jù)的信息包,稱為"元數(shù)據(jù)"。元數(shù)據(jù)包的格式如圖3所示,其 具體組成部分包括 (1) ID字段表明該節(jié)點(diǎn)在網(wǎng)絡(luò)中的具體編號(hào),其字段長(zhǎng)度為2個(gè)字節(jié); (2)數(shù)據(jù)類型字段表明節(jié)點(diǎn)所要發(fā)送的傳感數(shù)據(jù)的類型是普通的環(huán)境監(jiān)測(cè)傳感
數(shù)據(jù)還是多媒體數(shù)據(jù),該字段長(zhǎng)度為1個(gè)字節(jié); (3)數(shù)據(jù)包大小字段表明節(jié)點(diǎn)所要發(fā)送的傳感數(shù)據(jù)的平均數(shù)據(jù)包的大小,其所 存放的數(shù)據(jù)的單位為字節(jié),該字段長(zhǎng)度為2個(gè)字節(jié); (4)所允許的最大傳輸時(shí)間字段規(guī)定了節(jié)點(diǎn)所允許的將其傳感數(shù)據(jù)發(fā)送到目的 節(jié)點(diǎn)的最長(zhǎng)時(shí)間。該字段可以保證傳感數(shù)據(jù)傳輸?shù)膶?shí)時(shí)性,其所存放的數(shù)據(jù)的單位為秒,字 段長(zhǎng)度為2個(gè)字節(jié); (5)所允許的最小剩余能量字段規(guī)定了源節(jié)點(diǎn)對(duì)中繼節(jié)點(diǎn)的最低剩余能量的要 求。剩余能量小于該值的節(jié)點(diǎn)將不能參與該源節(jié)點(diǎn)的傳感數(shù)據(jù)傳輸。其所存放的數(shù)據(jù)單位 為焦耳,字段長(zhǎng)度為l個(gè)字節(jié); (6)所允許的最低鏈路傳輸速率字段設(shè)定了節(jié)點(diǎn)傳感數(shù)據(jù)的最小傳輸速率要 求。該字段可以保證傳感數(shù)據(jù)、尤其是多媒體傳感數(shù)據(jù)的傳輸質(zhì)量,降低數(shù)據(jù)的丟失率和出 錯(cuò)率,其所存放的數(shù)據(jù)的單位為千字節(jié)/秒,字段長(zhǎng)度為2個(gè)字節(jié); (7)所允許的最低鏈路信噪比字段定義了節(jié)點(diǎn)對(duì)其傳感數(shù)據(jù)所經(jīng)過的無線鏈路 的傳輸質(zhì)量要求。其所存放的數(shù)據(jù)的單位為分貝,字段長(zhǎng)度為1個(gè)字節(jié); (8)路徑字段記錄元數(shù)據(jù)包即將經(jīng)過的各個(gè)節(jié)點(diǎn),以便于目的節(jié)點(diǎn)據(jù)此來建立 多路徑。該字段設(shè)置為一鏈表結(jié)構(gòu),鏈表中的每一項(xiàng)長(zhǎng)度為2個(gè)字節(jié),用于存放元數(shù)據(jù)所經(jīng) 過的節(jié)點(diǎn)的ID號(hào),鏈表初始為空; (9)實(shí)際最小剩余能量字段記錄元數(shù)據(jù)包所經(jīng)過的各個(gè)節(jié)點(diǎn)中,剩余能量最小 的那個(gè)節(jié)點(diǎn)的剩余能量值,其所存放的數(shù)據(jù)單位為焦耳,初始值為無窮大,字段長(zhǎng)度為1個(gè) 字節(jié); (10)實(shí)際最小鏈路傳輸速率字段記錄了元數(shù)據(jù)所經(jīng)過的鏈路中,最小傳輸速率 的數(shù)值,其所存放的數(shù)據(jù)單位為千字節(jié)/秒,初始值為無窮大,字段長(zhǎng)度為2個(gè)字節(jié);
(11)實(shí)際最低鏈路信噪比字段記錄了元數(shù)據(jù)所經(jīng)過的鏈路中,最小信噪比的數(shù)值,其所存放的數(shù)據(jù)單位為分貝,初始值為無窮大,字段長(zhǎng)度為1個(gè)字節(jié); 5)網(wǎng)絡(luò)中的節(jié)點(diǎn)在發(fā)出元數(shù)據(jù)后,立即開啟一個(gè)計(jì)時(shí)器,開始計(jì)時(shí),并設(shè)定最大計(jì)
時(shí)時(shí)間1\ ; 6)每一個(gè)中繼節(jié)點(diǎn)都建立一個(gè)存儲(chǔ)表,表中存儲(chǔ)其所收到的每一個(gè)元數(shù)據(jù)包。當(dāng) 中繼節(jié)點(diǎn)接收到一個(gè)元數(shù)據(jù)包時(shí),首先判斷在其存儲(chǔ)表中是否有相同ID的元數(shù)據(jù)包存在。 若存在,則可認(rèn)為本次收到的元數(shù)據(jù)包為其它節(jié)點(diǎn)錯(cuò)誤轉(zhuǎn)發(fā)而來,中繼節(jié)點(diǎn)丟棄該元數(shù)據(jù) 包。否則,將對(duì)該元數(shù)據(jù)包、當(dāng)前的鏈路狀況以及節(jié)點(diǎn)的自身狀況進(jìn)行評(píng)價(jià),若不符合以下 5個(gè)條件之一,則中繼節(jié)點(diǎn)丟棄該元數(shù)據(jù)包,不再繼續(xù)轉(zhuǎn)發(fā); (1)中繼節(jié)點(diǎn)自身的剩余能量必須大于元數(shù)據(jù)包的"所允許的最小剩余能量字段" 中的數(shù)值; (2)從上一跳節(jié)點(diǎn)到本中繼節(jié)點(diǎn)的鏈路數(shù)據(jù)傳輸速率必須大于元數(shù)據(jù)包的"所允 許的最低鏈路傳輸速率字段"中的數(shù)值且該鏈路的信噪比必須大于元數(shù)據(jù)包的"所允許的 最低鏈路信噪比字段"中的數(shù)值; (3)該中繼節(jié)點(diǎn)比轉(zhuǎn)發(fā)該元數(shù)據(jù)包的上一跳節(jié)點(diǎn)在地理位置上,更接近于元數(shù)據(jù) 包所要到達(dá)的目的節(jié)點(diǎn); (4)中繼節(jié)點(diǎn)的擁塞發(fā)現(xiàn)單元沒有發(fā)現(xiàn)節(jié)點(diǎn)自身或同節(jié)點(diǎn)相關(guān)的鏈路存在擁塞;
(5)從元數(shù)據(jù)包從源節(jié)點(diǎn)出發(fā)開始,到本中繼節(jié)點(diǎn)為止所耗費(fèi)的時(shí)間,沒有超過元 數(shù)據(jù)包的"所允許的最大傳輸時(shí)間"字段中的數(shù)值; 若以上5個(gè)條件均滿足,則中繼節(jié)點(diǎn)將更新并存儲(chǔ)該元數(shù)據(jù)包,同時(shí)將更新后的 元數(shù)據(jù)包發(fā)送給它的鄰居節(jié)點(diǎn),但不包括其上一跳節(jié)點(diǎn)。元數(shù)據(jù)包的更新過程包括
(1)將元數(shù)據(jù)包中"所允許的最大傳輸時(shí)間"字段的值減去該元數(shù)據(jù)包從上一跳節(jié)
點(diǎn)傳輸?shù)奖局欣^節(jié)點(diǎn)的時(shí)間后,重新寫入該字段; (2)將本中繼節(jié)點(diǎn)的ID號(hào)寫入元數(shù)據(jù)包中"路徑字段"的相應(yīng)的鏈表項(xiàng)中;
(3)判斷本中繼節(jié)點(diǎn)當(dāng)前的剩余能量是否小于元數(shù)據(jù)包中"實(shí)際最小剩余能量"字 段中的數(shù)值,若小于,則將本中繼節(jié)點(diǎn)的剩余能量值寫入該字段,覆蓋其原有值;
(4)判斷本中繼節(jié)點(diǎn)所在鏈路的傳輸速率是否小于元數(shù)據(jù)包中"實(shí)際最小鏈路傳 輸速率"字段中的數(shù)值,若小于,則將本中繼節(jié)點(diǎn)所在鏈路的傳輸速率的值寫入該字段,覆 蓋其原有值; (5)判斷本中繼節(jié)點(diǎn)所在鏈路的信噪比是否小于元數(shù)據(jù)包中"實(shí)際最低鏈路信噪 比"字段中的數(shù)值,若小于,則將本中繼節(jié)點(diǎn)所在鏈路的信噪比的值寫入該字段,覆蓋其原 有值; 中繼節(jié)點(diǎn)在完成對(duì)元數(shù)據(jù)包的轉(zhuǎn)發(fā)后,立刻開啟一個(gè)針對(duì)該包的計(jì)時(shí)器,并設(shè)定 最大計(jì)時(shí)時(shí)間為Pi ; 7)當(dāng)目的節(jié)點(diǎn)收到了某一 ID號(hào)的元數(shù)據(jù)包時(shí),證明至少有一條從該ID號(hào)所標(biāo)識(shí) 的源節(jié)點(diǎn)到該目的節(jié)點(diǎn)的數(shù)據(jù)傳輸路徑已建立,則目的節(jié)點(diǎn)開啟一個(gè)計(jì)時(shí)器并設(shè)定某一固 定計(jì)時(shí)時(shí)間,開始等待由其它路徑傳輸來的同一 ID號(hào)的元數(shù)據(jù)包; (1)若在計(jì)時(shí)器結(jié)束計(jì)時(shí)之前,目的節(jié)點(diǎn)沒有再收到任何元數(shù)據(jù),則將其收到的唯 一的元數(shù)據(jù)包所經(jīng)過的路徑設(shè)置為從源節(jié)點(diǎn)傳輸傳感數(shù)據(jù)到目的節(jié)點(diǎn)的主路徑。同時(shí)產(chǎn)生 一個(gè)針對(duì)該元數(shù)據(jù)的應(yīng)答包。應(yīng)答包為十字鏈表結(jié)構(gòu),如圖4。其中,ID字段存放元數(shù)據(jù)包的ID,也即源節(jié)點(diǎn)的ID ;"主路徑"、"備選路徑"和"次路徑"字段分別表示從源節(jié)點(diǎn)到目的 節(jié)點(diǎn)的各個(gè)路徑,其后分別是各個(gè)鏈表項(xiàng),用來標(biāo)識(shí)所建立的各條路徑上的各個(gè)節(jié)點(diǎn)。若某 條路徑?jīng)]有建立,則其后的鏈表項(xiàng)為空。 在本情況下,目的節(jié)點(diǎn)取出其所接收到的唯一的元數(shù)據(jù)包的路徑信息字段中的各 個(gè)ID號(hào),將其填充到應(yīng)答包的"主路徑"字段后的各個(gè)鏈表項(xiàng)中; (2)若在計(jì)時(shí)器結(jié)束計(jì)時(shí)之前,目的節(jié)點(diǎn)又收到了另外一個(gè)相同ID號(hào)的元數(shù)據(jù)
包,則表明從源節(jié)點(diǎn)到目的節(jié)點(diǎn)存在多條可傳輸?shù)穆窂健4藭r(shí),目的節(jié)點(diǎn)對(duì)比其所收到的兩
個(gè)元數(shù)據(jù)包中各個(gè)字段的值,并計(jì)算"實(shí)際最小剩余能量"、"實(shí)際最小鏈路傳輸速率"以及
"實(shí)際最低鏈路信噪比"這三個(gè)字段中的值的乘積,選擇乘積結(jié)果較大的一個(gè)元數(shù)據(jù)包所經(jīng)
歷的路徑作為主路徑,另一個(gè)作為備選路徑,并將這兩個(gè)元數(shù)據(jù)包中的路徑信息字段中的
各個(gè)ID號(hào)填充到應(yīng)答包的"主路徑"和"備選路徑"字段后的相應(yīng)的鏈表項(xiàng)中; (3)若在計(jì)時(shí)器結(jié)束計(jì)時(shí)之前,目的節(jié)點(diǎn)又收到了兩個(gè)或兩個(gè)以上相同ID的元數(shù)
據(jù)包,則目的節(jié)點(diǎn)按照(2)中的方式進(jìn)行計(jì)算,選擇乘積最大的一個(gè)元數(shù)據(jù)包所經(jīng)歷的路
徑作為主路徑,選擇乘積第二大和第三大的元數(shù)據(jù)包所經(jīng)歷的路徑分別作為備選路徑和次
路徑;并將這三個(gè)元數(shù)據(jù)包中的路徑信息字段中的各個(gè)ID號(hào)填充到應(yīng)答包的"主路徑"、
"備選路徑"和"次路徑"字段后的相應(yīng)的鏈表項(xiàng)中; 8)目的節(jié)點(diǎn)沿著其所建立的路徑,反向廣播應(yīng)答包。若目的節(jié)點(diǎn)沒有收到任何元 數(shù)據(jù)包,則不產(chǎn)生應(yīng)答包; 9)在中繼節(jié)點(diǎn)針對(duì)某元數(shù)據(jù)包的計(jì)時(shí)時(shí)間到達(dá)Pi之前, (1)若收到了目的節(jié)點(diǎn)針對(duì)該元數(shù)據(jù)包的應(yīng)答包,則表明該中繼節(jié)點(diǎn)位于主路徑 或次路徑或備選路徑上。此時(shí),節(jié)點(diǎn)停止針對(duì)該元數(shù)據(jù)包的計(jì)時(shí),同時(shí)刪除其存儲(chǔ)表中針對(duì) 該元數(shù)據(jù)的相關(guān)表項(xiàng),并轉(zhuǎn)發(fā)該應(yīng)答包; (2)若中繼節(jié)點(diǎn)沒有收到關(guān)于該元數(shù)據(jù)包的應(yīng)答包,則表明元數(shù)據(jù)包在轉(zhuǎn)發(fā)過程 中被丟棄,或本中繼節(jié)點(diǎn)所在路徑無法成為主路徑或次路徑或備選路徑。此時(shí),節(jié)點(diǎn)刪除其 存儲(chǔ)表中針對(duì)該元數(shù)據(jù)包的相關(guān)表項(xiàng); 10)在源節(jié)點(diǎn)的計(jì)時(shí)時(shí)間到達(dá)Ti之前,若收到了關(guān)于元數(shù)據(jù)包的應(yīng)答包,則源節(jié)點(diǎn)
查看該應(yīng)答包的內(nèi)容后執(zhí)行以下操作 (1)若該應(yīng)答包中有且僅有主路徑的信息,則 ①若源節(jié)點(diǎn)將要發(fā)送的是多媒體傳感數(shù)據(jù),則降低節(jié)點(diǎn)的采樣分辨率或采樣幀 率,或者增大采樣時(shí)間間隔,并調(diào)整節(jié)點(diǎn)對(duì)傳輸路徑的速率、信噪比、中繼節(jié)點(diǎn)的剩余能量 以及傳感數(shù)據(jù)最大允許傳輸時(shí)間等條件的要求,重新生成并發(fā)送元數(shù)據(jù)包,以建立備選路 徑和次路徑,同時(shí),開始在主路徑上傳輸多媒體數(shù)據(jù); ②若源節(jié)點(diǎn)將要發(fā)送的是普通傳感數(shù)據(jù),則降低節(jié)點(diǎn)的數(shù)據(jù)采樣精度或增大其采 樣時(shí)間間隔,并調(diào)整節(jié)點(diǎn)對(duì)傳輸路徑的速率、信噪比、中繼節(jié)點(diǎn)的剩余能量以及傳感數(shù)據(jù)最 大允許傳輸時(shí)間等條件的要求,重新生成并發(fā)送元數(shù)據(jù)包,以建立備選路徑和次路徑,同 時(shí),開始在主路徑上傳輸普通傳感數(shù)據(jù); (2)若應(yīng)答包中有且僅有主路徑和備選路徑的信息,則源節(jié)點(diǎn)按照(1)中的方式,
重新生成并發(fā)送元數(shù)據(jù)包,以建立次路徑。同時(shí),開始在主路徑上傳輸傳感數(shù)據(jù); (3)若應(yīng)答包中同時(shí)含有主路徑、備選路徑和次路徑的信息,則說明該源節(jié)點(diǎn)到目的節(jié)點(diǎn)的多路徑已經(jīng)完全建立。源節(jié)點(diǎn)開始在主路徑上傳輸傳感數(shù)據(jù),在次路徑上傳輸控 制數(shù)據(jù); ll)在源節(jié)點(diǎn)的計(jì)時(shí)時(shí)間到達(dá)Ti之前,若沒有收到關(guān)于元數(shù)據(jù)包的應(yīng)答包,則可以 認(rèn)為該元數(shù)據(jù)包在轉(zhuǎn)發(fā)途中被丟棄或網(wǎng)絡(luò)中沒有任何一條路徑可以滿足該源節(jié)點(diǎn)的傳感 數(shù)據(jù)傳輸要求。此時(shí)源節(jié)點(diǎn)調(diào)整其傳感靈敏度和精確度,以降低其對(duì)網(wǎng)絡(luò)的資源要求。具 體如下 (1)若源節(jié)點(diǎn)將要發(fā)送的是多媒體傳感數(shù)據(jù),則降低節(jié)點(diǎn)的采樣分辨率和采樣幀 率,同時(shí)增大采樣時(shí)間間隔; (2)若源節(jié)點(diǎn)將要發(fā)送的是普通傳感數(shù)據(jù),則降低節(jié)點(diǎn)的數(shù)據(jù)采樣精度,同時(shí)增大 采樣時(shí)間間隔; 隨后,源節(jié)點(diǎn)根據(jù)上述調(diào)整后的值,重新計(jì)算對(duì)傳輸路徑的速率、信噪比、中繼節(jié) 點(diǎn)的剩余能量以及傳感數(shù)據(jù)最大允許傳輸時(shí)間等條件的要求,重新生成并發(fā)送元數(shù)據(jù)包, 轉(zhuǎn)5); 12)若源節(jié)點(diǎn)將其對(duì)網(wǎng)絡(luò)的資源要求降低到最低限度后,仍無法收到關(guān)于其元數(shù) 據(jù)包的應(yīng)答包,則該源節(jié)點(diǎn)放棄其傳感數(shù)據(jù)發(fā)送要求。直到有新的傳感數(shù)據(jù)需要發(fā)送時(shí),轉(zhuǎn) 4); 13)在中繼節(jié)點(diǎn)轉(zhuǎn)發(fā)傳感數(shù)據(jù)的過程中,將以一定的時(shí)間間隔監(jiān)聽其相應(yīng)的數(shù)據(jù) 接收緩沖隊(duì)列,查看其是否溢出,同時(shí)監(jiān)聽本節(jié)點(diǎn)所在的鏈路的傳輸情況,包括鏈路的擁塞 狀況、丟包率、誤碼率等; (1)若多媒體傳感數(shù)據(jù)隊(duì)列溢出,則 ①中繼節(jié)點(diǎn)通知產(chǎn)生該傳感數(shù)據(jù)的源節(jié)點(diǎn),啟用備選路徑,分擔(dān)部分傳感數(shù)據(jù)量, 以保證多媒體數(shù)據(jù)的實(shí)時(shí)性和精確性; ②若在源節(jié)點(diǎn)啟用備選路徑后,多媒體傳感隊(duì)列仍然溢出,則中繼節(jié)點(diǎn)通知源節(jié) 點(diǎn)降低多媒體數(shù)據(jù)的采樣分辨率,同時(shí)考察隊(duì)列是否繼續(xù)溢出; ③若多媒體傳感數(shù)據(jù)隊(duì)列仍然溢出,則中繼節(jié)點(diǎn)通知源節(jié)點(diǎn)增大數(shù)據(jù)采樣時(shí)間間 隔,以降低到達(dá)該隊(duì)列的數(shù)據(jù)接收速率; ④若隊(duì)列仍然溢出,則中繼節(jié)點(diǎn)通知源節(jié)點(diǎn)以快照形式而非多媒體流的形式傳輸 傳感數(shù)據(jù),即源節(jié)點(diǎn)只發(fā)送非連續(xù)的關(guān)鍵幀,以進(jìn)一步減少數(shù)據(jù)傳輸量;
⑤執(zhí)行④后,隊(duì)列仍然溢出,則中繼節(jié)點(diǎn)通知源節(jié)點(diǎn),停止對(duì)該傳感數(shù)據(jù)的發(fā)送, 以節(jié)約網(wǎng)絡(luò)資源; (2)若普通傳感數(shù)據(jù)隊(duì)列溢出,則 ①中繼節(jié)點(diǎn)通知產(chǎn)生該傳感數(shù)據(jù)的源節(jié)點(diǎn),增大數(shù)據(jù)采樣時(shí)間間隔,以降低到達(dá) 該隊(duì)列的數(shù)據(jù)接收速率,同時(shí)考察隊(duì)列是否仍然溢出; ②若普通傳感數(shù)據(jù)隊(duì)列仍然溢出,則中繼節(jié)點(diǎn)通知源節(jié)點(diǎn),降低其數(shù)據(jù)采樣精度, 同時(shí)考察隊(duì)列是否繼續(xù)溢出; ③若普通傳感數(shù)據(jù)隊(duì)列仍然溢出,則中繼節(jié)點(diǎn)為產(chǎn)生傳感數(shù)據(jù)的源節(jié)點(diǎn)設(shè)定一個(gè) "數(shù)據(jù)突變門限值",并將該值返回給源節(jié)點(diǎn),源節(jié)點(diǎn)只發(fā)送超出該門限的傳感數(shù)據(jù),以進(jìn)一 步降低傳感數(shù)據(jù)量; ④若此時(shí)普通傳感隊(duì)列仍然溢出,則中繼節(jié)點(diǎn)通知源節(jié)點(diǎn),啟用備選路徑,分擔(dān)部分傳感數(shù)據(jù)量; ⑤若在源節(jié)點(diǎn)啟用備選路徑后,普通傳感隊(duì)列仍然溢出,則中繼節(jié)點(diǎn)通知源節(jié)點(diǎn), 停止對(duì)該傳感數(shù)據(jù)的發(fā)送,以節(jié)約網(wǎng)絡(luò)資源; (3)若中繼節(jié)點(diǎn)所在鏈路的信噪比、傳輸差錯(cuò)率、丟包率等指標(biāo),不足以保證傳感 數(shù)據(jù)的可靠傳輸,則中繼節(jié)點(diǎn)通知源節(jié)點(diǎn)啟用備選路徑,以分擔(dān)部分傳感數(shù)據(jù)量,同時(shí)通知 其上一跳節(jié)點(diǎn)降低數(shù)據(jù)發(fā)送速率,以提高鏈路的可靠性指標(biāo)。若中繼節(jié)點(diǎn)所在鏈路仍不能 保證傳感數(shù)據(jù)的可靠傳輸,則中繼節(jié)點(diǎn)通知源節(jié)點(diǎn),停止對(duì)該傳感數(shù)據(jù)的發(fā)送,以節(jié)約網(wǎng)絡(luò) 資源;中繼節(jié)點(diǎn)的擁塞發(fā)現(xiàn)、擁塞通告與擁塞控制流程如圖5所示。
權(quán)利要求
一種無線多媒體傳感器網(wǎng)絡(luò)多路徑傳輸機(jī)制的擁塞控制方法,其特征在于該方法的步驟為步驟1).在網(wǎng)絡(luò)環(huán)境內(nèi),隨機(jī)、均勻撒播多個(gè)具有相同初始能量、相同通信能力與傳感能力的普通節(jié)點(diǎn),每個(gè)普通節(jié)點(diǎn)都已獲知自身及網(wǎng)絡(luò)中其它普通節(jié)點(diǎn)的位置信息,且可以隨時(shí)獲知自己的剩余能量信息;步驟2).在網(wǎng)絡(luò)環(huán)境內(nèi),隨機(jī)、均勻撒播多個(gè)具有相同初始能量、相同通信能力與傳感能力的多媒體節(jié)點(diǎn),所有的普通節(jié)點(diǎn)和多媒體節(jié)點(diǎn)都擁有一個(gè)2字節(jié)長(zhǎng)度的、唯一的ID號(hào),用以標(biāo)識(shí)自身;步驟3).每個(gè)充當(dāng)中繼節(jié)點(diǎn)的普通節(jié)點(diǎn)將其數(shù)據(jù)接收緩沖區(qū)劃分為三個(gè)獨(dú)立的數(shù)據(jù)接收緩存隊(duì)列,分別為多媒體傳感數(shù)據(jù)隊(duì)列、普通傳感數(shù)據(jù)隊(duì)列和信息隊(duì)列;其中,多媒體傳感數(shù)據(jù)隊(duì)列擁有最大的長(zhǎng)度,存放該中繼節(jié)點(diǎn)接收到的多媒體傳感數(shù)據(jù);普通傳感數(shù)據(jù)隊(duì)列擁有中等大小的隊(duì)列長(zhǎng)度,存放該中繼節(jié)點(diǎn)接收到的非多媒體傳感數(shù)據(jù);信息隊(duì)列擁有最小的隊(duì)列長(zhǎng)度,存放控制數(shù)據(jù)與元數(shù)據(jù);當(dāng)某一類型的數(shù)據(jù)接收緩存隊(duì)列沒有空間存放其所接收到的相應(yīng)類型的數(shù)據(jù)時(shí),該緩存隊(duì)列溢出;數(shù)據(jù)接收緩沖區(qū)中同時(shí)還擁有一個(gè)數(shù)據(jù)類型分發(fā)器,用來將節(jié)點(diǎn)接收到的各個(gè)數(shù)據(jù)分發(fā)到各個(gè)不同的數(shù)據(jù)接收緩存隊(duì)列中;步驟4).網(wǎng)絡(luò)中的普通節(jié)點(diǎn)和多媒體節(jié)點(diǎn)在將其傳感數(shù)據(jù)發(fā)送到目的節(jié)點(diǎn)之前,將首先產(chǎn)生并廣播一個(gè)描述該傳感數(shù)據(jù)的信息包,稱為“元數(shù)據(jù)”;步驟5).網(wǎng)絡(luò)中的節(jié)點(diǎn)在發(fā)出元數(shù)據(jù)后,立即開啟一個(gè)計(jì)時(shí)器,開始計(jì)時(shí),并設(shè)定最大計(jì)時(shí)時(shí)間Ti;步驟6).每一個(gè)中繼節(jié)點(diǎn)都建立一個(gè)存儲(chǔ)表,表中存儲(chǔ)其所收到的每一個(gè)元數(shù)據(jù)包,當(dāng)中繼節(jié)點(diǎn)接收到一個(gè)元數(shù)據(jù)包時(shí),首先判斷在其存儲(chǔ)表中是否有相同ID的元數(shù)據(jù)包存在,若存在,則中繼節(jié)點(diǎn)丟棄該元數(shù)據(jù)包,否則,對(duì)該元數(shù)據(jù)包、當(dāng)前的鏈路狀況以及節(jié)點(diǎn)的自身狀況進(jìn)行評(píng)價(jià),若不符合條件,則中繼節(jié)點(diǎn)丟棄該元數(shù)據(jù)包,不再繼續(xù)轉(zhuǎn)發(fā),否則,中繼節(jié)點(diǎn)將更新并存儲(chǔ)該元數(shù)據(jù)包,同時(shí)將更新后的元數(shù)據(jù)包發(fā)送給它的鄰居節(jié)點(diǎn),但不包括其上一跳節(jié)點(diǎn);步驟7)中繼節(jié)點(diǎn)在完成對(duì)元數(shù)據(jù)包的轉(zhuǎn)發(fā)后,立刻開啟一個(gè)針對(duì)該包的計(jì)時(shí)器,并設(shè)定最大計(jì)時(shí)時(shí)間為Pi;步驟8).當(dāng)目的節(jié)點(diǎn)收到了某一ID號(hào)的元數(shù)據(jù)包時(shí),則開啟一個(gè)計(jì)時(shí)器并設(shè)定某一固定計(jì)時(shí)時(shí)間,開始等待由其它路徑傳輸來的同一ID號(hào)的元數(shù)據(jù)包;步驟9)若在計(jì)時(shí)器結(jié)束計(jì)時(shí)之前,目的節(jié)點(diǎn)沒有再收到任何元數(shù)據(jù),則將其收到的唯一的元數(shù)據(jù)包所經(jīng)過的路徑設(shè)置為從源節(jié)點(diǎn)傳輸傳感數(shù)據(jù)到目的節(jié)點(diǎn)的主路徑,同時(shí)產(chǎn)生一個(gè)針對(duì)該元數(shù)據(jù)的應(yīng)答包,應(yīng)答包結(jié)構(gòu)中,ID字段存放元數(shù)據(jù)包的ID;“主路徑”、“備選路徑”和“次路徑”字段分別表示從源節(jié)點(diǎn)到目的節(jié)點(diǎn)的各個(gè)路徑,其后分別是各個(gè)鏈表項(xiàng),用來標(biāo)識(shí)所建立的各條路徑上的各個(gè)節(jié)點(diǎn)。若某條路徑?jīng)]有建立,則其后的鏈表項(xiàng)為空,此時(shí),目的節(jié)點(diǎn)取出其所接收到的唯一的元數(shù)據(jù)包的路徑信息字段中的各個(gè)ID號(hào),將其填充到應(yīng)答包的“主路徑”字段后的各個(gè)鏈表項(xiàng)中;步驟10)若在計(jì)時(shí)器結(jié)束計(jì)時(shí)之前,目的節(jié)點(diǎn)又收到了另外一個(gè)相同ID號(hào)的元數(shù)據(jù)包,則目的節(jié)點(diǎn)對(duì)比其所收到的兩個(gè)元數(shù)據(jù)包中各個(gè)字段的值,并計(jì)算“實(shí)際最小剩余能量”、“實(shí)際最小鏈路傳輸速率”以及“實(shí)際最低鏈路信噪比”這三個(gè)字段中的值的乘積,選擇乘積結(jié)果較大的一個(gè)元數(shù)據(jù)包所經(jīng)歷的路徑作為主路徑,另一個(gè)作為備選路徑,并將這兩個(gè)元數(shù)據(jù)包中的路徑信息字段中的各個(gè)ID號(hào)填充到應(yīng)答包的“主路徑”和“備選路徑”字段后的相應(yīng)的鏈表項(xiàng)中;步驟11)若在計(jì)時(shí)器結(jié)束計(jì)時(shí)之前,目的節(jié)點(diǎn)又收到了兩個(gè)或兩個(gè)以上相同ID的元數(shù)據(jù)包,則目的節(jié)點(diǎn)按照步驟9)中的方式進(jìn)行計(jì)算,選擇乘積最大的一個(gè)元數(shù)據(jù)包所經(jīng)歷的路徑作為主路徑,選擇乘積第二大和第三大的元數(shù)據(jù)包所經(jīng)歷的路徑分別作為備選路徑和次路徑;并將這三個(gè)元數(shù)據(jù)包中的路徑信息字段中的各個(gè)ID號(hào)填充到應(yīng)答包的“主路徑”、“備選路徑”和“次路徑”字段后的相應(yīng)的鏈表項(xiàng)中;步驟12)目的節(jié)點(diǎn)沿著其所建立的路徑,反向廣播應(yīng)答包,若目的節(jié)點(diǎn)沒有收到任何元數(shù)據(jù)包,則不產(chǎn)生應(yīng)答包;步驟13)在中繼節(jié)點(diǎn)針對(duì)某元數(shù)據(jù)包的計(jì)時(shí)時(shí)間到達(dá)Pi之前,若收到了目的節(jié)點(diǎn)針對(duì)該元數(shù)據(jù)包的應(yīng)答包,則節(jié)點(diǎn)停止針對(duì)該元數(shù)據(jù)包的計(jì)時(shí),同時(shí)刪除其存儲(chǔ)表中針對(duì)該元數(shù)據(jù)的相關(guān)表項(xiàng),并轉(zhuǎn)發(fā)該應(yīng)答包;若中繼節(jié)點(diǎn)沒有收到關(guān)于該元數(shù)據(jù)包的應(yīng)答包,則節(jié)點(diǎn)刪除其存儲(chǔ)表中針對(duì)該元數(shù)據(jù)包的相關(guān)表項(xiàng);步驟14)在源節(jié)點(diǎn)的計(jì)時(shí)時(shí)間到達(dá)Ti之前,若收到了關(guān)于元數(shù)據(jù)包的應(yīng)答包,則源節(jié)點(diǎn)查看該應(yīng)答包的內(nèi)容后執(zhí)行以下操作若該應(yīng)答包中有且僅有主路徑的信息,則③若源節(jié)點(diǎn)將要發(fā)送的是多媒體傳感數(shù)據(jù),則降低節(jié)點(diǎn)的采樣分辨率或采樣幀率,或者增大采樣時(shí)間間隔,并調(diào)整節(jié)點(diǎn)對(duì)傳輸路徑的速率、信噪比、中繼節(jié)點(diǎn)的剩余能量以及傳感數(shù)據(jù)最大允許傳輸時(shí)間等條件的要求,重新生成并發(fā)送元數(shù)據(jù)包,以建立備選路徑和次路徑,同時(shí),開始在主路徑上傳輸多媒體數(shù)據(jù);④若源節(jié)點(diǎn)將要發(fā)送的是普通傳感數(shù)據(jù),則降低節(jié)點(diǎn)的數(shù)據(jù)采樣精度或增大其采樣時(shí)間間隔,并調(diào)整節(jié)點(diǎn)對(duì)傳輸路徑的速率、信噪比、中繼節(jié)點(diǎn)的剩余能量以及傳感數(shù)據(jù)最大允許傳輸時(shí)間等條件的要求,重新生成并發(fā)送元數(shù)據(jù)包,以建立備選路徑和次路徑,同時(shí),開始在主路徑上傳輸普通傳感數(shù)據(jù);若應(yīng)答包中有且僅有主路徑和備選路徑的信息,則源節(jié)點(diǎn)重新生成并發(fā)送元數(shù)據(jù)包,以建立次路徑,同時(shí),開始在主路徑上傳輸傳感數(shù)據(jù);若應(yīng)答包中同時(shí)含有主路徑、備選路徑和次路徑的信息,則源節(jié)點(diǎn)開始在主路徑上傳輸傳感數(shù)據(jù),在次路徑上傳輸控制數(shù)據(jù);步驟15)在源節(jié)點(diǎn)的計(jì)時(shí)時(shí)間到達(dá)Ti之前,若沒有收到關(guān)于元數(shù)據(jù)包的應(yīng)答包,則若源節(jié)點(diǎn)將要發(fā)送的是多媒體傳感數(shù)據(jù),則降低節(jié)點(diǎn)的采樣分辨率和采樣幀率,同時(shí)增大采樣時(shí)間間隔;若源節(jié)點(diǎn)將要發(fā)送的是普通傳感數(shù)據(jù),則降低節(jié)點(diǎn)的數(shù)據(jù)采樣精度,同時(shí)增大采樣時(shí)間間隔;隨后,源節(jié)點(diǎn)重新計(jì)算對(duì)傳輸路徑的速率、信噪比、中繼節(jié)點(diǎn)的剩余能量以及傳感數(shù)據(jù)最大允許傳輸時(shí)間等條件的要求,重新生成并發(fā)送元數(shù)據(jù)包,轉(zhuǎn)步驟5);步驟16)若源節(jié)點(diǎn)將其對(duì)網(wǎng)絡(luò)的資源要求降低到最低限度后,仍無法收到關(guān)于其元數(shù)據(jù)包的應(yīng)答包,則該源節(jié)點(diǎn)放棄其傳感數(shù)據(jù)發(fā)送要求,直到有新的傳感數(shù)據(jù)需要發(fā)送時(shí),轉(zhuǎn)步驟4);步驟17)在中繼節(jié)點(diǎn)轉(zhuǎn)發(fā)傳感數(shù)據(jù)的過程中,以一定的時(shí)間間隔監(jiān)聽其相應(yīng)的數(shù)據(jù)接收緩沖隊(duì)列,查看其是否溢出,同時(shí)監(jiān)聽本節(jié)點(diǎn)所在的鏈路的傳輸情況,包括鏈路的擁塞狀況、丟包率、誤碼率;若多媒體傳感數(shù)據(jù)隊(duì)列溢出,則①中繼節(jié)點(diǎn)通知產(chǎn)生該傳感數(shù)據(jù)的源節(jié)點(diǎn),啟用備選路徑,分擔(dān)部分傳感量;②若在源節(jié)點(diǎn)啟用備選路徑后,多媒體傳感隊(duì)列仍然溢出,則中繼節(jié)點(diǎn)通知源節(jié)點(diǎn)降低多媒體數(shù)據(jù)的采樣分辨率,同時(shí)考察隊(duì)列是否繼續(xù)溢出;⑥若多媒體傳感數(shù)據(jù)隊(duì)列仍然溢出,則中繼節(jié)點(diǎn)通知源節(jié)點(diǎn)增大數(shù)據(jù)采樣時(shí)間間隔,以降低到達(dá)該隊(duì)列的數(shù)據(jù)接收速率;⑦若隊(duì)列仍然溢出,則中繼節(jié)點(diǎn)通知源節(jié)點(diǎn)以快照形式而非多媒體流的形式傳輸傳感數(shù)據(jù),即源節(jié)點(diǎn)只發(fā)送非連續(xù)的關(guān)鍵幀;⑧執(zhí)行④后,隊(duì)列仍然溢出,則中繼節(jié)點(diǎn)通知源節(jié)點(diǎn)停止對(duì)該傳感數(shù)據(jù)的發(fā)送;若普通傳感數(shù)據(jù)隊(duì)列溢出,則①中繼節(jié)點(diǎn)通知產(chǎn)生該傳感數(shù)據(jù)的源節(jié)點(diǎn),增大數(shù)據(jù)采樣時(shí)間間隔,以降低到達(dá)該隊(duì)列的數(shù)據(jù)接收速率,同時(shí)考察隊(duì)列是否仍然溢出;⑥若普通傳感數(shù)據(jù)隊(duì)列仍然溢出,則中繼節(jié)點(diǎn)通知源節(jié)點(diǎn),降低其數(shù)據(jù)采樣精度,同時(shí)考察隊(duì)列是否繼續(xù)溢出;⑦若普通傳感數(shù)據(jù)隊(duì)列仍然溢出,則中繼節(jié)點(diǎn)為產(chǎn)生傳感數(shù)據(jù)的源節(jié)點(diǎn)設(shè)定一個(gè)“數(shù)據(jù)突變門限值”,并將該值返回給源節(jié)點(diǎn),源節(jié)點(diǎn)只發(fā)送超出該門限的傳感數(shù)據(jù);⑧若此時(shí)普通傳感隊(duì)列仍然溢出,則中繼節(jié)點(diǎn)通知源節(jié)點(diǎn),啟用備選路徑,分擔(dān)部分傳感數(shù)據(jù)量;⑨若在源節(jié)點(diǎn)啟用備選路徑后,普通傳感隊(duì)列仍然溢出,則中繼節(jié)點(diǎn)通知源節(jié)點(diǎn),停止對(duì)該傳感數(shù)據(jù)的發(fā)送;若中繼節(jié)點(diǎn)所在鏈路的信噪比、傳輸差錯(cuò)率、丟包率等指標(biāo),不足以保證傳感數(shù)據(jù)的可靠傳輸,則中繼節(jié)點(diǎn)通知源節(jié)點(diǎn)啟用備選路徑,以分擔(dān)部分傳感數(shù)據(jù)量,同時(shí)通知其上一跳節(jié)點(diǎn)降低數(shù)據(jù)發(fā)送速率,以提高鏈路的可靠性指標(biāo),若中繼節(jié)點(diǎn)所在鏈路仍不能保證傳感數(shù)據(jù)的可靠傳輸,則中繼節(jié)點(diǎn)通知源節(jié)點(diǎn),停止對(duì)該傳感數(shù)據(jù)的發(fā)送,以節(jié)約網(wǎng)絡(luò)資源。
2.根據(jù)權(quán)利要求1所述的無線多媒體傳感器網(wǎng)絡(luò)多路徑傳輸機(jī)制的擁塞控制方法,其 特征在于所述元數(shù)據(jù)包包括1) ID字段表明該節(jié)點(diǎn)在網(wǎng)絡(luò)中的具體編號(hào),其字段長(zhǎng)度為2個(gè)字節(jié);2) 數(shù)據(jù)類型字段表明節(jié)點(diǎn)所要發(fā)送的傳感數(shù)據(jù)的類型是普通的環(huán)境監(jiān)測(cè)傳感數(shù)據(jù) 還是多媒體數(shù)據(jù),該字段長(zhǎng)度為1個(gè)字節(jié);3) 數(shù)據(jù)包大小字段表明節(jié)點(diǎn)所要發(fā)送的傳感數(shù)據(jù)的平均數(shù)據(jù)包的大小,其所存放的 數(shù)據(jù)的單位為字節(jié),該字段長(zhǎng)度為2個(gè)字節(jié);4) 所允許的最大傳輸時(shí)間字段規(guī)定了節(jié)點(diǎn)所允許的將其傳感數(shù)據(jù)發(fā)送到目的節(jié)點(diǎn) 的最長(zhǎng)時(shí)間,其所存放的數(shù)據(jù)的單位為秒,字段長(zhǎng)度為2個(gè)字節(jié);5) 所允許的最小剩余能量字段規(guī)定了源節(jié)點(diǎn)對(duì)中繼節(jié)點(diǎn)的最低剩余能量的要求,剩 余能量小于該值的節(jié)點(diǎn)將不能參與該源節(jié)點(diǎn)的傳感數(shù)據(jù)傳輸,其所存放的數(shù)據(jù)單位為焦耳,字段長(zhǎng)度為l個(gè)字節(jié);6) 所允許的最低鏈路傳輸速率字段設(shè)定了節(jié)點(diǎn)傳感數(shù)據(jù)的最小傳輸速率要求,其所 存放的數(shù)據(jù)的單位為千字節(jié)/秒,字段長(zhǎng)度為2個(gè)字節(jié);7) 所允許的最低鏈路信噪比字段定義了節(jié)點(diǎn)對(duì)其傳感數(shù)據(jù)所經(jīng)過的無線鏈路的傳 輸質(zhì)量要求,其所存放的數(shù)據(jù)的單位為分貝,字段長(zhǎng)度為1個(gè)字節(jié);8) 路徑字段記錄元數(shù)據(jù)包即將經(jīng)過的各個(gè)節(jié)點(diǎn),以便于目的節(jié)點(diǎn)據(jù)此來建立多路 徑,該字段設(shè)置為一鏈表結(jié)構(gòu),鏈表中的每一項(xiàng)長(zhǎng)度為2個(gè)字節(jié),用于存放元數(shù)據(jù)所經(jīng)過的 節(jié)點(diǎn)的ID號(hào),鏈表初始為空;9) 實(shí)際最小剩余能量字段記錄元數(shù)據(jù)包所經(jīng)過的各個(gè)節(jié)點(diǎn)中,剩余能量最小的那個(gè) 節(jié)點(diǎn)的剩余能量值,其所存放的數(shù)據(jù)單位為焦耳,初始值為無窮大,字段長(zhǎng)度為1個(gè)字節(jié);10) 實(shí)際最小鏈路傳輸速率字段記錄了元數(shù)據(jù)所經(jīng)過的鏈路中,最小傳輸速率的數(shù) 值,其所存放的數(shù)據(jù)單位為千字節(jié)/秒,初始值為無窮大,字段長(zhǎng)度為2個(gè)字節(jié);11) 實(shí)際最低鏈路信噪比字段記錄了元數(shù)據(jù)所經(jīng)過的鏈路中,最小信噪比的數(shù)值,其 所存放的數(shù)據(jù)單位為分貝,初始值為無窮大,字段長(zhǎng)度為1個(gè)字節(jié);
3. 根據(jù)權(quán)利要求1所述的無線多媒體傳感器網(wǎng)絡(luò)多路徑傳輸機(jī)制的擁塞控制方法,其 特征在于在所述的步驟6)中,對(duì)當(dāng)前的鏈路狀況及節(jié)點(diǎn)的自身狀況的評(píng)價(jià)包括1) 中繼節(jié)點(diǎn)自身的剩余能量必須大于元數(shù)據(jù)包的"所允許的最小剩余能量字段"中的 數(shù)值;2) 從上一跳節(jié)點(diǎn)到本中繼節(jié)點(diǎn)的鏈路數(shù)據(jù)傳輸速率必須大于元數(shù)據(jù)包的"所允許的最 低鏈路傳輸速率字段"中的數(shù)值且該鏈路的信噪比必須大于元數(shù)據(jù)包的"所允許的最低鏈 路信噪比字段"中的數(shù)值;3) 該中繼節(jié)點(diǎn)比轉(zhuǎn)發(fā)該元數(shù)據(jù)包的上一跳節(jié)點(diǎn)在地理位置上,更接近于元數(shù)據(jù)包所要 到達(dá)的目的節(jié)點(diǎn);4) 中繼節(jié)點(diǎn)的擁塞發(fā)現(xiàn)單元沒有發(fā)現(xiàn)節(jié)點(diǎn)自身或同節(jié)點(diǎn)相關(guān)的鏈路存在擁塞;5) 從元數(shù)據(jù)包從源節(jié)點(diǎn)出發(fā)開始,到本中繼節(jié)點(diǎn)為止所耗費(fèi)的時(shí)間,沒有超過元數(shù)據(jù) 包的"所允許的最大傳輸時(shí)間"字段中的數(shù)值;
4. 根據(jù)權(quán)利要求1所述的無線多媒體傳感器網(wǎng)絡(luò)多路徑傳輸機(jī)制的擁塞控制方法,其 特征在于在步驟6)中,所述的元數(shù)據(jù)包的更新過程包括步驟1)將元數(shù)據(jù)包中"所允許的最大傳輸時(shí)間"字段的值減去該元數(shù)據(jù)包從上一跳節(jié) 點(diǎn)傳輸?shù)奖局欣^節(jié)點(diǎn)的時(shí)間后,重新寫入該字段;步驟2)將本中繼節(jié)點(diǎn)的ID號(hào)寫入元數(shù)據(jù)包中"路徑字段"的相應(yīng)的鏈表項(xiàng)中;步驟3)判斷本中繼節(jié)點(diǎn)當(dāng)前的剩余能量是否小于元數(shù)據(jù)包中"實(shí)際最小剩余能量"字 段中的數(shù)值,若小于,則將本中繼節(jié)點(diǎn)的剩余能量值寫入該字段,覆蓋其原有值;步驟4)判斷本中繼節(jié)點(diǎn)所在鏈路的傳輸速率是否小于元數(shù)據(jù)包中"實(shí)際最小鏈路傳 輸速率"字段中的數(shù)值,若小于,則將本中繼節(jié)點(diǎn)所在鏈路的傳輸速率的值寫入該字段,覆 蓋其原有值;步驟5)判斷本中繼節(jié)點(diǎn)所在鏈路的信噪比是否小于元數(shù)據(jù)包中"實(shí)際最低鏈路信噪 比"字段中的數(shù)值,若小于,則將本中繼節(jié)點(diǎn)所在鏈路的信噪比的值寫入該字段,覆蓋其原有值。
全文摘要
本發(fā)明提供一種無線多媒體傳感器網(wǎng)絡(luò)多路徑傳輸機(jī)制及其擁塞控制方法,該方法以密集部署的無線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)和無線多媒體傳感器網(wǎng)絡(luò)節(jié)點(diǎn)為依托,以提高傳感數(shù)據(jù)的傳輸質(zhì)量和可靠性為目標(biāo),利用中繼節(jié)點(diǎn)構(gòu)建從源節(jié)點(diǎn)到目的節(jié)點(diǎn)的多條傳感數(shù)據(jù)傳輸路徑,保證了多媒體傳感數(shù)據(jù)和普通傳感數(shù)據(jù)及時(shí)、準(zhǔn)確、可靠地到達(dá)目的節(jié)點(diǎn)。同時(shí),以提高網(wǎng)絡(luò)資源利用率為目標(biāo),設(shè)計(jì)了針對(duì)中繼節(jié)點(diǎn)及其所在鏈路的擁塞發(fā)現(xiàn)、擁塞通告及擁塞調(diào)整方法,進(jìn)一步保證了數(shù)據(jù)傳輸可靠性。
文檔編號(hào)H04W40/00GK101742554SQ20101001791
公開日2010年6月16日 申請(qǐng)日期2010年1月15日 優(yōu)先權(quán)日2010年1月15日
發(fā)明者凡高娟, 葉寧, 孫力娟, 沙超, 王汝傳, 王玉斐, 馬守明, 黃海平 申請(qǐng)人:南京郵電大學(xué)