本發(fā)明涉及一種數(shù)據(jù)傳輸方法,尤其涉及一種應(yīng)用于無線傳感器網(wǎng)絡(luò)的數(shù)據(jù)傳輸方法。
背景技術(shù):
目前,無線傳感網(wǎng)絡(luò)廣泛應(yīng)用于環(huán)境監(jiān)測、數(shù)據(jù)采集等領(lǐng)域中,媒體接入控制(MAC)協(xié)議是網(wǎng)絡(luò)的重要內(nèi)容,影響網(wǎng)絡(luò)數(shù)據(jù)傳輸?shù)男阅堋,F(xiàn)有無線傳感網(wǎng)絡(luò)MAC協(xié)議一般針對具體應(yīng)用環(huán)境設(shè)計的,如以下兩種典型的MAC協(xié)議:Funnel MAC協(xié)議及S-MAC協(xié)議。
Funnel MAC協(xié)議針對多跳網(wǎng)絡(luò)數(shù)據(jù)匯聚到匯聚節(jié)點的數(shù)據(jù)傳輸量不均勻的問題設(shè)計的,在網(wǎng)絡(luò)的數(shù)據(jù)密集區(qū)采用TDMA方式,數(shù)據(jù)稀疏區(qū)采用CSMA方式,提高網(wǎng)絡(luò)數(shù)據(jù)傳輸效率。但Funnel MAC協(xié)議未考慮事件上的數(shù)據(jù)量變化問題,同時協(xié)議在數(shù)據(jù)稀疏區(qū)的CSMA方式接入時需節(jié)點持續(xù)偵聽網(wǎng)絡(luò)狀態(tài),未考慮節(jié)點睡眠的問題。
S-MAC協(xié)議是典型的無線傳感網(wǎng)絡(luò)協(xié)議,針對網(wǎng)絡(luò)節(jié)點睡眠和活躍兩種狀態(tài)轉(zhuǎn)變設(shè)計的。S-MAC協(xié)議中各節(jié)點的睡眠周期是動態(tài)變化的,各節(jié)點在蘇醒后采用CSMA方式接入信道,當(dāng)網(wǎng)絡(luò)空閑時節(jié)點可根據(jù)一定的策略進(jìn)入睡眠狀態(tài)以節(jié)約能量,節(jié)點蘇醒后按CSMA方式偵聽信道并競爭接入信道,協(xié)議有助于節(jié)約節(jié)點能量消耗,延長網(wǎng)絡(luò)生命周期。但S-MAC協(xié)議并未考慮網(wǎng)絡(luò)周期性傳輸監(jiān)測數(shù)據(jù)的問題,同時睡眠周期的動態(tài)變化增加了節(jié)點偵聽網(wǎng)絡(luò)狀態(tài)和時間同步的復(fù)雜性,增加了網(wǎng)絡(luò)的數(shù)據(jù)交互量。
以上兩種典型協(xié)議都無法滿足環(huán)境監(jiān)測無線傳感網(wǎng)絡(luò)對數(shù)據(jù)傳輸?shù)囊蟆?/p>
技術(shù)實現(xiàn)要素:
本發(fā)明的目的是針對環(huán)境監(jiān)測無線傳感網(wǎng)絡(luò)的數(shù)據(jù)傳輸特點,設(shè)計一種數(shù)據(jù)傳輸方法。
為了達(dá)到上述目的,本發(fā)明的技術(shù)方案是提供了一種無線傳感網(wǎng)絡(luò)的數(shù)據(jù)發(fā)送方法,該無線傳感網(wǎng)絡(luò)至少包括控制中心及多個傳感器節(jié)點,控制中心周期性地獲取各傳感器節(jié)點的監(jiān)測數(shù)據(jù),將控制中心每獲取一次監(jiān)測數(shù)據(jù)的時間間隔定義為監(jiān)測周期,其特征在于,所述數(shù)據(jù)發(fā)送方法包括以下步驟:
將監(jiān)測周期劃分為忙碌時間與空閑時間,傳感器節(jié)點在忙碌時間向控制中心傳輸實時檢測到的常規(guī)監(jiān)測數(shù)據(jù)及上一監(jiān)測周期的空閑時間檢測到的常規(guī)監(jiān)測數(shù)據(jù),若有突發(fā)事件發(fā)生,傳感器節(jié)點還向控制中心傳輸實時檢測到的突發(fā)事件數(shù)據(jù),忙碌時間結(jié)束后,傳感器節(jié)點進(jìn)入睡眠狀態(tài),此時為空閑時間,在空閑時間內(nèi),傳感器節(jié)點仍繼續(xù)進(jìn)行環(huán)境檢測,若無突發(fā)事件發(fā)生,則記錄常規(guī)監(jiān)測數(shù)據(jù),并在下一個監(jiān)測周期的忙碌時間將記錄的常規(guī)監(jiān)測數(shù)據(jù)向控制中心傳輸,若有突發(fā)事件發(fā)生,則判斷空閑時間的剩余時間是否足夠傳輸該事件對應(yīng)的突發(fā)事件數(shù)據(jù),若剩余時間足夠,則馬上將突發(fā)事件數(shù)據(jù)傳輸至控制中心,若剩余時間不夠,傳感器節(jié)點在下一個監(jiān)測周期的忙碌時間向控制中心傳輸突發(fā)事件數(shù)據(jù)。
優(yōu)選地,各傳感器節(jié)點在固定的發(fā)送時隙向控制中心傳輸數(shù)據(jù),則:
若傳感器節(jié)點在忙碌時間并在發(fā)送時隙前檢測到突發(fā)事件時,傳感器節(jié)點在發(fā)送時隙將突發(fā)事件對應(yīng)的突發(fā)事件數(shù)據(jù)向控制中心傳輸;
若傳感器節(jié)點在忙碌時間并在發(fā)送時隙后檢測到突發(fā)事件時,在忙碌時間結(jié)束時刻暫緩進(jìn)入睡眠狀態(tài),傳感器節(jié)點被分配發(fā)送時間,傳感器節(jié)點在發(fā)送時間將突發(fā)事件對應(yīng)的突發(fā)事件數(shù)據(jù)向控制中心傳輸。
優(yōu)選地,若傳感器節(jié)點在忙碌時間并在發(fā)送時隙前檢測到突發(fā)事件時,所述突發(fā)事件數(shù)據(jù)被放入常規(guī)監(jiān)測數(shù)據(jù)中的首位,并予以標(biāo)記。
優(yōu)選地,所述無線傳感網(wǎng)絡(luò)還包括簇頭節(jié)點,多個所述傳感器節(jié)點形成一個簇,每個簇具有一個簇頭節(jié)點,同一簇的所有傳感器節(jié)點通過該簇的簇頭節(jié)點與所述控制中心建立數(shù)據(jù)通信,則:
若所述傳感器節(jié)點在忙碌時間并在發(fā)送時隙后檢測到突發(fā)事件時,發(fā)送緊急短數(shù)據(jù)包提醒同一簇的簇頭節(jié)點,簇頭節(jié)點收到緊急短數(shù)據(jù)包后,依據(jù)沖突策略為傳感器節(jié)點分配發(fā)送時間,并用最大功率返回包含有發(fā)送時間的允許發(fā)送突發(fā)事件數(shù)據(jù)包,傳感器節(jié)點收到允許發(fā)送突發(fā)事件數(shù)據(jù)包后,根據(jù)簇頭節(jié)點分配的發(fā)送時間將所述突發(fā)事件數(shù)據(jù)發(fā)送至簇頭節(jié)點,簇頭節(jié)點再將所述突發(fā)事件數(shù)據(jù)以高優(yōu)先級發(fā)送至所述控制中心。
優(yōu)選地,若在當(dāng)前監(jiān)測周期的空閑時間有突發(fā)事件發(fā)生,且空閑時間的剩余時間不足以傳輸該事件對應(yīng)的突發(fā)事件數(shù)據(jù),則在下一個監(jiān)測周期的忙碌時間,將突發(fā)事件數(shù)據(jù)放入將要向控制中心傳輸?shù)某R?guī)監(jiān)測數(shù)據(jù)中,并對突發(fā)事件數(shù)據(jù)予以標(biāo)記。
優(yōu)選地,所述無線傳感網(wǎng)絡(luò)還包括簇頭節(jié)點,多個所述傳感器節(jié)點形成一個簇,每個簇具有一個簇頭節(jié)點,同一簇的所有傳感器節(jié)點通過該簇的簇頭節(jié)點與所述控制中心建立數(shù)據(jù)通信,則:
若在當(dāng)前監(jiān)測周期的空閑時間有突發(fā)事件發(fā)生,且空閑時間的剩余時間足夠傳輸該突發(fā)事件對應(yīng)的突發(fā)事件數(shù)據(jù),所述傳感器節(jié)點發(fā)送緊急短數(shù)據(jù)包提醒同一簇的簇頭節(jié)點,簇頭節(jié)點收到緊急短數(shù)據(jù)包后,依據(jù)沖突策略為傳感器節(jié)點分配發(fā)送時間,并用最大功率返回包含有發(fā)送時間的允許發(fā)送突發(fā)事件數(shù)據(jù)包,傳感器節(jié)點收到允許發(fā)送突發(fā)事件數(shù)據(jù)包后,根據(jù)簇頭節(jié)點分配的發(fā)送時間將所述突發(fā)事件數(shù)據(jù)發(fā)送至簇頭節(jié)點,簇頭節(jié)點再將所述突發(fā)事件數(shù)據(jù)以高優(yōu)先級發(fā)送至所述控制中心。
優(yōu)選地,所述沖突策略為:
每個所述傳感器節(jié)點具有一個節(jié)點ID,當(dāng)簇頭節(jié)點收到同一簇內(nèi)多個傳感器節(jié)點發(fā)送的所述緊急短數(shù)據(jù)包時,依據(jù)傳感器節(jié)點的節(jié)點ID的大小決定各傳感器節(jié)點發(fā)送所述突發(fā)事件數(shù)據(jù)的順序,并依據(jù)該順序為傳感器節(jié)點分配所述發(fā)送時間。
優(yōu)選地,依據(jù)以下公式判斷空閑時間的剩余時間是否足夠傳輸該突發(fā)事件對應(yīng)的突發(fā)事件數(shù)據(jù):
t剩余空閑時間>t簇頭提醒+(t突發(fā)事件數(shù)據(jù)包+t延時)*hop,其中,t剩余空閑時間表示突發(fā)事件發(fā)生時空閑時間剩余時長,t簇頭提醒表示發(fā)送緊急短數(shù)據(jù)包到簇頭節(jié)點返回允許發(fā)送突發(fā)事件數(shù)據(jù)包的時間,t突發(fā)事件數(shù)據(jù)包表示所述突發(fā)事件數(shù)據(jù)的發(fā)送時長,t延時表示節(jié)點發(fā)送數(shù)據(jù)時的平均延時,hop表示檢測到突發(fā)事件的傳感器節(jié)點到控制中心所需的跳數(shù)。
本發(fā)明將節(jié)點時間分為忙碌時間和空閑時間,在忙碌時間中節(jié)點周期地傳輸常規(guī)監(jiān)測數(shù)據(jù),保證環(huán)境監(jiān)測任務(wù)的實現(xiàn)。當(dāng)網(wǎng)絡(luò)發(fā)送突發(fā)事件時,將突發(fā)事件數(shù)據(jù)優(yōu)先傳輸,保證突發(fā)事件能夠及時被控制中心獲取。這種方法保證網(wǎng)絡(luò)可進(jìn)行環(huán)境監(jiān)測,同時可及時發(fā)現(xiàn)突發(fā)事件并進(jìn)行快速應(yīng)對處理。
本發(fā)明能夠在保證對環(huán)境進(jìn)行常規(guī)監(jiān)測的同時,及時地發(fā)現(xiàn)網(wǎng)絡(luò)的突發(fā)事件并將數(shù)據(jù)優(yōu)先及時地傳輸至控制中心。同時節(jié)點可保留睡眠狀態(tài)有助于節(jié)約能量消耗,延長網(wǎng)絡(luò)生命周期。
附圖說明
圖1為實施例中的無線傳感網(wǎng)絡(luò)的結(jié)構(gòu),圖中,1為控制中心,2為簇頭節(jié)點,3為傳感器節(jié)點;
圖2為數(shù)據(jù)傳輸周期示意圖。
具體實施方式
下面結(jié)合具體實施例,進(jìn)一步闡述本發(fā)明。應(yīng)理解,這些實施例僅用于說明本發(fā)明而不用于限制本發(fā)明的范圍。此外應(yīng)理解,在閱讀了本發(fā)明講授的內(nèi)容之后,本領(lǐng)域技術(shù)人員可以對本發(fā)明作各種改動或修改,這些等價形式同樣落于本申請所附權(quán)利要求書所限定的范圍。
本發(fā)明針對環(huán)境監(jiān)測無線傳感網(wǎng)絡(luò)的數(shù)據(jù)傳輸特點,設(shè)計了相應(yīng)的MAC協(xié)議,在保證控制中心能夠周期性地獲取環(huán)境監(jiān)測數(shù)據(jù)的同時,能夠及時獲取網(wǎng)絡(luò)狀態(tài)突變時的數(shù)據(jù)。同時保證網(wǎng)絡(luò)節(jié)點的睡眠機制節(jié)約能量消耗,延長網(wǎng)絡(luò)生命周期。
本實施例中的無線傳感網(wǎng)絡(luò)如圖1所示,包括控制中心、傳感器節(jié)點及簇頭節(jié)點。多個傳感器節(jié)點形成一個簇,每個簇具有一個簇頭節(jié)點,同一簇的所有傳感器節(jié)點通過該簇的簇頭節(jié)點與控制中心建立數(shù)據(jù)通信??刂浦行闹芷谛缘孬@取各傳感器節(jié)點的監(jiān)測數(shù)據(jù),將控制中心每獲取一次監(jiān)測數(shù)據(jù)的時間間隔定義為監(jiān)測周期。各傳感器節(jié)點在固定的發(fā)送時隙向控制中心傳輸數(shù)據(jù)。
基于上述無線傳感網(wǎng)絡(luò),本實施例公開的一種無線傳感網(wǎng)絡(luò)的數(shù)據(jù)發(fā)送方法,包括如下步驟:
將每個監(jiān)測周期劃分為忙碌時間和空閑時間。
忙碌時間主要用于傳輸數(shù)據(jù),空閑時間主要用于傳感器節(jié)點睡眠或應(yīng)對緊急情況。當(dāng)環(huán)境狀態(tài)相對穩(wěn)定時,一般空閑時間時長設(shè)置成遠(yuǎn)大于忙碌時間時長,這樣有助于延長網(wǎng)絡(luò)周期。
正常情況下,在各監(jiān)測周期的忙碌時間,傳感器節(jié)點按TDMA方式傳輸數(shù)據(jù),每個傳感器節(jié)點被分配固定的發(fā)送時隙用于傳輸:當(dāng)前監(jiān)測周期實時檢測到的常規(guī)監(jiān)測數(shù)據(jù)以及當(dāng)前傳感器節(jié)點在上一個監(jiān)測周期的空閑時間檢測到的常規(guī)監(jiān)測數(shù)據(jù)。
若在忙碌時間,當(dāng)前傳感器節(jié)點檢測到突發(fā)事件,依據(jù)檢測到的時刻分別進(jìn)行處理:
若當(dāng)前傳感器節(jié)點在自己的發(fā)送時隙前檢測到突發(fā)事件時,當(dāng)前傳感器節(jié)點將突發(fā)事件對應(yīng)的突發(fā)事件數(shù)據(jù)放入常規(guī)監(jiān)測數(shù)據(jù)中的首位并標(biāo)記為緊急,并在發(fā)送時隙進(jìn)行發(fā)送。簇頭節(jié)點接收到有緊急標(biāo)記的常規(guī)監(jiān)測數(shù)據(jù)時將以高優(yōu)先級進(jìn)行轉(zhuǎn)發(fā)。
若當(dāng)前傳感器節(jié)點在自己的發(fā)送時隙后檢測到突發(fā)事件時,將突發(fā)事件數(shù)據(jù)打包成突發(fā)事件數(shù)據(jù)包,并在忙碌時間結(jié)束時刻暫緩進(jìn)入睡眠狀態(tài),同時發(fā)送緊急短數(shù)據(jù)包提醒簇頭節(jié)點。簇頭節(jié)點收到緊急短數(shù)據(jù)包后,按沖突策略為當(dāng)前傳感器節(jié)點分配發(fā)送時間,并用最大功率返回帶有發(fā)送時間的允許發(fā)送突發(fā)事件數(shù)據(jù)包。當(dāng)前傳感器節(jié)點收到允許發(fā)送突發(fā)事件數(shù)據(jù)包后,根據(jù)簇頭節(jié)點分配的發(fā)送時間將突發(fā)事件數(shù)據(jù)包發(fā)送至簇頭節(jié)點,簇頭將該突發(fā)事件數(shù)據(jù)包以高優(yōu)先級發(fā)送至控制中心。
各傳感器節(jié)點可以依據(jù)下述方法來判斷突發(fā)事件是否發(fā)生:
對傳感器節(jié)點監(jiān)測的幾種環(huán)境數(shù)據(jù)事先設(shè)置一定范圍的安全區(qū)間,當(dāng)有任一個測量數(shù)據(jù)超出其安全區(qū)間范圍時,則認(rèn)為該傳感器節(jié)點所處位置的環(huán)境發(fā)生突發(fā)事件。
在空閑時間中,傳感器節(jié)點進(jìn)入睡眠狀態(tài),此時一般不進(jìn)行數(shù)據(jù)發(fā)送和接收,但各傳感器節(jié)點仍繼續(xù)進(jìn)行環(huán)境監(jiān)測并進(jìn)行記錄,這些監(jiān)測數(shù)據(jù)一般在下一個監(jiān)測周期的忙碌時間與實時檢測到的監(jiān)測數(shù)據(jù)一起進(jìn)行發(fā)送。
若在空閑時間,傳感器節(jié)點檢測到有突發(fā)事件發(fā)生,則判斷公式(1)是否成立:
t剩余空閑時間>t簇頭提醒+(t突發(fā)事件數(shù)據(jù)包+t延時)*hop (1)
式(1)中,t剩余空閑時間表示突發(fā)事件發(fā)生時空閑時間剩余時長,t簇頭提醍表示發(fā)送緊急短數(shù)據(jù)包到簇頭節(jié)點返回允許發(fā)送突發(fā)事件數(shù)據(jù)包的時間,t突發(fā)事件數(shù)據(jù)包表示所述突發(fā)事件數(shù)據(jù)的發(fā)送時長,t延時表示節(jié)點發(fā)送數(shù)據(jù)時的平均延時,hop表示檢測到突發(fā)事件的傳感器節(jié)點到控制中心所需的跳數(shù)。
若公式(1)成立,表明該突發(fā)事件對應(yīng)的突發(fā)事件數(shù)據(jù)可及時發(fā)送至控制中心,此時當(dāng)前傳感器節(jié)點立即結(jié)束睡眠狀態(tài),將突發(fā)事件數(shù)據(jù)打包成突發(fā)事件數(shù)據(jù)包,并發(fā)送緊急短數(shù)據(jù)包提醒簇頭節(jié)點。簇頭節(jié)點收到緊急短數(shù)據(jù)包后,按沖突策略為當(dāng)前傳感器節(jié)點分配發(fā)送時間,并用最大功率返回包含有發(fā)送時間的允許發(fā)送突發(fā)事件數(shù)據(jù)包。當(dāng)前傳感器節(jié)點收到允許發(fā)送突發(fā)事件數(shù)據(jù)包后,根據(jù)簇頭節(jié)點分配的發(fā)送時間將突發(fā)事件數(shù)據(jù)包發(fā)送至簇頭節(jié)點,簇頭節(jié)點將該數(shù)據(jù)包以高優(yōu)先級發(fā)送至控制中心。
當(dāng)公式(1)不成立時,表明突發(fā)事件數(shù)據(jù)不能及時發(fā)送至控制中心,此時一般為節(jié)點剩余的空閑時間不長,傳感器節(jié)點將突發(fā)事件數(shù)據(jù)放入常規(guī)監(jiān)測數(shù)據(jù)中的首位并標(biāo)記為緊急,等待空閑時間結(jié)束。進(jìn)入下一個監(jiān)測周期的忙碌時間后,將數(shù)據(jù)進(jìn)行發(fā)送。簇頭節(jié)點接收到有緊急標(biāo)記的數(shù)據(jù)時將以高優(yōu)先級進(jìn)行轉(zhuǎn)發(fā)。
上述步驟中,按沖突策略為當(dāng)前傳感器節(jié)點分配發(fā)送時間可以采用如下步驟:
當(dāng)同一簇內(nèi)有多個傳感器節(jié)點發(fā)送緊急短數(shù)據(jù)包時,則可能發(fā)生突發(fā)事件數(shù)據(jù)包沖突。此時,預(yù)先為每個傳感器節(jié)點分配一個節(jié)點ID,簇頭節(jié)點再根據(jù)發(fā)送緊急短數(shù)據(jù)包的節(jié)點ID的大小來決定各傳感器節(jié)點發(fā)送突發(fā)事件數(shù)據(jù)包的順序,并按照該順序為每個傳感器節(jié)點分配發(fā)送時間。