多跳自組織網(wǎng)絡(luò)的分布式時(shí)間同步方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明設(shè)及通信方法技術(shù)領(lǐng)域,尤其設(shè)及一種多跳自組織網(wǎng)絡(luò)的分布式時(shí)間同步 方法。
【背景技術(shù)】
[0002] 自組織網(wǎng)絡(luò)是一個(gè)無基礎(chǔ)設(shè)施、無中屯、節(jié)點(diǎn)、各個(gè)節(jié)點(diǎn)對等的網(wǎng)絡(luò)。就其MAC (Media Access Control,介質(zhì)訪問控制)協(xié)議的研究領(lǐng)域而言,基于TDMA(Time Division Multiple Access,時(shí)分多址)的MAC協(xié)議相比于基于競爭的MAC協(xié)議具有更好的吞吐量、QoS (Quality of Service,服務(wù)質(zhì)量)支持及公平性等優(yōu)點(diǎn)。然而,基于TDMA的MAC協(xié)議需要解 決兩個(gè)關(guān)鍵問題:一是時(shí)間同步問題;二是時(shí)隙分配問題。時(shí)間同步是時(shí)隙分配的前提,全 網(wǎng)的時(shí)間同步精度影響著整個(gè)協(xié)議的無沖突傳輸?shù)男阅?。因此,時(shí)間同步問題的解決顯得 至關(guān)重要。
[0003] 傳統(tǒng)的時(shí)間同步方法主要有W下幾類:(1)外同步:各個(gè)節(jié)點(diǎn)采用外部統(tǒng)一的絕對 時(shí)鐘基準(zhǔn)同步,如GPS(Global化Sitioning System,全球定位系統(tǒng))。但對于自組織網(wǎng)絡(luò)而 言,各個(gè)節(jié)點(diǎn)裝備GI^是一種額外的硬件成本,且需考慮GPS的耗能問題。(2)主從同步:各個(gè) 從節(jié)點(diǎn)根據(jù)主控節(jié)點(diǎn)發(fā)出的同步信息進(jìn)行同步交互。由于自組織網(wǎng)絡(luò)的移動(dòng)性和無中屯、特 性,再加之主控節(jié)點(diǎn)故障的不可靠性,主從同步方法的性能并不理想。如TPSN協(xié)議(參見文 南犬:S.Ganeriwal,R.Kumar,M.Srivastava,Timing-Sync protocol for sensor networks. Proceedings of First International Conference on Embedded Networked Sensor Systems,Los Angeles,California,November 2003.),節(jié)點(diǎn)只能向等級(jí)比自己小I 的節(jié)點(diǎn)同步,同步誤差隨等級(jí)層層累積,且易受節(jié)點(diǎn)故障的影響。(3)互同步:該類同步方法 不需要選擇專口的參考節(jié)點(diǎn),網(wǎng)絡(luò)中的節(jié)點(diǎn)分布式地采用某種同步算法發(fā)起同步過程,調(diào) 整自己的時(shí)鐘。如IE邸802.11標(biāo)準(zhǔn)中的TSF(Time Synchronization F^mction)算法,節(jié)點(diǎn) 通過競爭方式發(fā)送攜帶時(shí)間戳的信標(biāo)進(jìn)行同步,時(shí)鐘慢的節(jié)點(diǎn)向時(shí)鐘快的節(jié)點(diǎn)同步。若時(shí) 鐘快的節(jié)點(diǎn)因?yàn)閭鬏敍_突的緣故長期發(fā)送不了信標(biāo),那么同步效率將十分低效。此外,互同 步的同步方法通常受網(wǎng)絡(luò)擴(kuò)展性問題的制約,多跳網(wǎng)絡(luò)的同步精度往往沒有單跳網(wǎng)絡(luò)好。
【發(fā)明內(nèi)容】
[0004] 本發(fā)明所要解決的技術(shù)問題是提供一種跳自組織網(wǎng)絡(luò)的分布式時(shí)間同步方法,所 述方法用于多跳自組織網(wǎng)絡(luò),對網(wǎng)絡(luò)規(guī)模不敏感,計(jì)算量小,精度高。
[0005] 為解決上述技術(shù)問題,本發(fā)明所采取的技術(shù)方案是:一種多跳自組織網(wǎng)絡(luò)的分布 式時(shí)間同步方法,其特征在于:將所述多跳自組織網(wǎng)絡(luò)中的每個(gè)節(jié)點(diǎn)分為空閑態(tài)、中屯、態(tài)和 接接收態(tài)=種狀態(tài),處于空閑態(tài)的節(jié)點(diǎn)沒有參與時(shí)間同步過程,處于中屯、態(tài)的節(jié)點(diǎn)主動(dòng)發(fā) 起同步請求,處于接收態(tài)的節(jié)點(diǎn)只參與對應(yīng)中屯、態(tài)節(jié)點(diǎn)的同步,而忽略后續(xù)的其它同步請 求,直到此次同步交互結(jié)束;鄰域內(nèi)不同的中屯、態(tài)節(jié)點(diǎn)向其一跳鄰域內(nèi)時(shí)鐘最快的節(jié)點(diǎn)進(jìn) 行一次或多次時(shí)間同步,直到所述網(wǎng)絡(luò)中的任意兩個(gè)節(jié)點(diǎn)之間的時(shí)鐘偏差最大值滿足精度 要求為止。
[0006] 進(jìn)一步的技術(shù)方案在于:所述方法具體包括如下步驟:
[0007] 1)當(dāng)多跳自組織網(wǎng)絡(luò)中的節(jié)點(diǎn)有時(shí)間同步請求時(shí),該節(jié)點(diǎn)的狀態(tài)由空閑態(tài)轉(zhuǎn)為中 屯、態(tài),向其一跳鄰居節(jié)點(diǎn)廣播SR分組,同時(shí)SR分組攜帶中屯、態(tài)節(jié)點(diǎn)的發(fā)包時(shí)刻Tl,其中SR表 示同步請求;
[0008] 2)所有的一跳鄰居節(jié)點(diǎn)接收SR分組,由空閑態(tài)轉(zhuǎn)為接收態(tài),同時(shí)W各自的時(shí)鐘基 準(zhǔn)記錄下接收時(shí)刻T2,即對于中屯、態(tài)節(jié)點(diǎn)的任意鄰居節(jié)點(diǎn)i,ieN,有接收時(shí)刻片,其中N為 中屯、態(tài)節(jié)點(diǎn)的一跳鄰居集;
[0009] 3)任意鄰居節(jié)點(diǎn)i向中屯、態(tài)節(jié)點(diǎn)回復(fù)SA分組,分組中攜帶SR的接收時(shí)刻巧和SA的 發(fā)包時(shí)刻巧,SR的接收時(shí)刻巧和SA的發(fā)包時(shí)刻巧W各鄰居節(jié)點(diǎn)自己的時(shí)間為基準(zhǔn),其中SA 是指同步確認(rèn);
[0010] 4)中屯、節(jié)點(diǎn)收到各個(gè)鄰居節(jié)點(diǎn)i包含起和巧的SA分組后,記錄下對應(yīng)的SA分組的 接收時(shí)刻巧,此時(shí),中屯、態(tài)節(jié)點(diǎn)有一張巧,7^7:;,7:;胃)的時(shí)刻表,表共|糾項(xiàng),每項(xiàng)對應(yīng)一個(gè)鄰 居節(jié)點(diǎn)i的4個(gè)時(shí)刻(町巧',巧,巧');
[00川 5)中屯、態(tài)節(jié)點(diǎn)從表中找出巧值最大的一項(xiàng),記為巧,巧胃,叮"',7^),其中111曰義為12 時(shí)刻值最大的對應(yīng)鄰居節(jié)點(diǎn)的標(biāo)號(hào),利用公式S = ( (T2-Ti)-(T4-T3) )/2,計(jì)算出中屯、態(tài)節(jié)點(diǎn) 與時(shí)鐘最快鄰居max之間的時(shí)鐘偏差S;
[001 ^ 6)若S>0,表示中屯、態(tài)節(jié)點(diǎn)時(shí)鐘慢于鄰居節(jié)點(diǎn)max時(shí)鐘,中屯、態(tài)節(jié)點(diǎn)按1/ =t+s修 正自己的本地時(shí)鐘,設(shè)置T;=,其中,t表示修正前中屯、態(tài)節(jié)點(diǎn)的時(shí)鐘,t/表示修正后中 屯、態(tài)節(jié)點(diǎn)的時(shí)鐘,Ts表示中屯、態(tài)節(jié)點(diǎn)的一跳鄰域內(nèi)的最快時(shí)鐘基準(zhǔn);若5< = 0,表示中屯、態(tài) 節(jié)點(diǎn)時(shí)鐘等于或快于鄰居節(jié)點(diǎn)max的時(shí)鐘,中屯、態(tài)節(jié)點(diǎn)不用修正本地時(shí)鐘,設(shè)置 寫=巧胃-皮達(dá)后,中必態(tài)節(jié)點(diǎn)廣播攜帶Ts時(shí)刻值的STA分組給鄰居節(jié)點(diǎn)i,由中必態(tài)轉(zhuǎn)為空 閑態(tài),其中STA表示同步時(shí)間校正;
[OOK] 7)任意鄰居節(jié)點(diǎn)1接收514分組,按^^=|^+7;-巧修正自己的本地時(shí)鐘,由接收態(tài) 轉(zhuǎn)為空閑態(tài),其中iEN,ti表示任意鄰居節(jié)點(diǎn)i修正前的時(shí)鐘,t/表示任意鄰居節(jié)點(diǎn)i修正后 的時(shí)鐘;
[0014] 8)節(jié)點(diǎn)W-定的頻率再次發(fā)起同步請求,轉(zhuǎn)步驟1)-7),進(jìn)行下一次同步迭代,直 到滿足時(shí)間同步精度為止。
[0015] 采用上述技術(shù)方案所產(chǎn)生的有益效果在于:所述方法通過=種帶時(shí)間戳的同步包 的交互機(jī)制,實(shí)現(xiàn)了一種分布式、高精度、適用于多跳自組織網(wǎng)絡(luò)、對網(wǎng)絡(luò)規(guī)模不敏感的、計(jì) 算量小的時(shí)間同步方法。
【附圖說明】
[0016] 下面結(jié)合附圖和【具體實(shí)施方式】對本發(fā)明作進(jìn)一步詳細(xì)的說明。
[0017] 圖1是實(shí)施例二中多跳自組織網(wǎng)絡(luò)拓?fù)鋱D;
[0018] 圖2是實(shí)施例二網(wǎng)絡(luò)中各節(jié)點(diǎn)的初始化狀態(tài)圖;
[0019] 圖3是實(shí)施例二經(jīng)過一段時(shí)間后節(jié)點(diǎn)2首先發(fā)起同步請求的狀態(tài)圖;
[0020] 圖4是實(shí)施例二中與中屯、態(tài)節(jié)點(diǎn)2距離最短的一跳鄰居節(jié)點(diǎn)3的SR分組接收情況 圖;
[0021] 圖5是實(shí)施例二中與中屯、態(tài)節(jié)點(diǎn)2距離稍遠(yuǎn)的鄰居節(jié)點(diǎn)1和節(jié)點(diǎn)5的SR分組接收情 況圖;
[0022] 圖6是實(shí)施例二中節(jié)點(diǎn)3的SA分組發(fā)送過程;
[0023] 圖7是實(shí)施例二中節(jié)點(diǎn)3的SA分組被節(jié)點(diǎn)2接收的過程;
[0024] 圖8是實(shí)施例二中節(jié)點(diǎn)1向節(jié)點(diǎn)2發(fā)送SA分組;
[0025] 圖9是實(shí)施例二中節(jié)點(diǎn)2收到節(jié)點(diǎn)1的SA分組;
[0026] 圖10-11是實(shí)施例二中節(jié)點(diǎn)5向節(jié)點(diǎn)2回復(fù)SA分組的發(fā)送和接收過程;
[0027] 圖12是實(shí)施例二中中屯、態(tài)節(jié)點(diǎn)2處所捜集的關(guān)于鄰居集的巧,7;',7;',所時(shí)刻表;
[002引圖13是實(shí)施例二中節(jié)點(diǎn)2修正本地時(shí)鐘并廣播STA分組的過程;
[0029] 圖14是實(shí)施例二中節(jié)點(diǎn)3收到STA分組,根據(jù)STA分組中的Ts時(shí)刻值來調(diào)整自己的 本地時(shí)鐘的過程;
[0030] 圖15是實(shí)施例二中節(jié)點(diǎn)1和5收到STA分組的情況;
[0031 ]圖16是實(shí)施例二中節(jié)點(diǎn)1發(fā)起了新的一次同步請求的狀態(tài)圖;
【具體實(shí)施方式】
[0032] 下面結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整 地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明的一部分實(shí)施例,而不