本發(fā)明屬于無線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)間的時(shí)間同步領(lǐng)域,具體涉及一種大規(guī)模無線傳感器網(wǎng)絡(luò)時(shí)間同步方法。
背景技術(shù):
時(shí)間同步技術(shù)是無線傳感器網(wǎng)絡(luò)(Wireless Sensor Networks,WSNs)中一項(xiàng)重要的關(guān)鍵技術(shù)。由于無線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)的協(xié)作特性,在單個(gè)節(jié)點(diǎn)測(cè)量數(shù)據(jù)應(yīng)具有準(zhǔn)確的時(shí)間同步是非常重要的。鑒于無線傳感器網(wǎng)絡(luò)在能耗限制和同步精度上不同于因特網(wǎng)等傳統(tǒng)網(wǎng)絡(luò)的要求,傳統(tǒng)網(wǎng)絡(luò)的時(shí)間同步技術(shù)并不能適用于無線傳感器網(wǎng)絡(luò)。自無線傳感器網(wǎng)絡(luò)的時(shí)間同步技術(shù)提出以來,已經(jīng)有了許多的經(jīng)典算法,如TPSN(Timing-sync Protocol for Sensor Networks),F(xiàn)TSP(Flooding Time Synchronization Protocol)、RBS(Reference Broadcast Synchronization)、PBS(Pairwise Broadcast Synchronization)等。這些算法通過以直接利用標(biāo)準(zhǔn)時(shí)鐘的時(shí)間信息或以其作為同步觸發(fā)信號(hào),完成時(shí)間同步。
經(jīng)典算法雖然很好地解決了節(jié)點(diǎn)間單跳同步的問題,但在WSNs網(wǎng)絡(luò)下,僅依靠單跳的經(jīng)典時(shí)間同步協(xié)議已不能滿足需求,且網(wǎng)絡(luò)長(zhǎng)時(shí)間工作后節(jié)點(diǎn)時(shí)鐘頻率的突變也是不可忽略的問題。簡(jiǎn)單的將網(wǎng)絡(luò)按照節(jié)點(diǎn)間的連通關(guān)系建立網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),重復(fù)單跳的時(shí)間同步過程,將導(dǎo)致嚴(yán)重的多跳累計(jì)誤差。
因此,在經(jīng)典時(shí)間同步協(xié)議的基礎(chǔ)上,又提出一些針對(duì)大規(guī)模網(wǎng)絡(luò)的時(shí)間同步協(xié)議。例如DRL-TSP(Dynamic Route List based Timing-Sync Protocol)將網(wǎng)絡(luò)劃分層次結(jié)構(gòu),通過獲得最小的層次號(hào)使節(jié)點(diǎn)距離根節(jié)點(diǎn)有最小跳距,并在上層選定一個(gè)父節(jié)點(diǎn)完成同步。FBDT-TSP(Frequency skew Bid and Dynamic Topology based Time Synchronization Protocol)通過區(qū)域分簇機(jī)制和頻偏競(jìng)標(biāo)策略來減少同步跳數(shù),獲得時(shí)鐘頻率更加穩(wěn)定的同步父節(jié)點(diǎn)。但是對(duì)于能量有限的WSNs網(wǎng)絡(luò),固定的分層分簇策略對(duì)網(wǎng)絡(luò)拓?fù)涞囊蕾囆院軓?qiáng),建立與維護(hù)網(wǎng)絡(luò)拓?fù)潢P(guān)系會(huì)造成額外的能量消耗,且對(duì)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)的變化也不能很好及時(shí)的適應(yīng)。
隨著WSNs網(wǎng)絡(luò)規(guī)模的不斷擴(kuò)大,同步消息轉(zhuǎn)發(fā)次數(shù)更多,引起了不可忽略的累計(jì)誤差,網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)也更加多變,所以,研究一種適用于大規(guī)模網(wǎng)絡(luò)中的時(shí)間同步方法是很有必要的。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明是在現(xiàn)有時(shí)間同步協(xié)議基礎(chǔ)上,針對(duì)大規(guī)模無線傳感器網(wǎng)絡(luò)的多跳誤差累計(jì)嚴(yán)重、節(jié)點(diǎn)時(shí)鐘頻率突變、網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)多變的問題,本發(fā)明提供一種大規(guī)模無線傳感器網(wǎng)絡(luò)時(shí)間同步方法,該方法是一種基于動(dòng)態(tài)路徑(Dynamic Route,DR)和轉(zhuǎn)發(fā)資格認(rèn)證(Forwarding Certification,F(xiàn)C)的時(shí)間同步方法(Time Synchronization Protocol Based on Dynamic Route and Forwarding Certification,DRFC-TSP)。此同步方法通過每個(gè)節(jié)點(diǎn)在每輪同步中參考節(jié)點(diǎn)的優(yōu)選,動(dòng)態(tài)獲取最佳同步路徑,不僅保證了時(shí)間同步的精度,而且也能更好的適應(yīng)網(wǎng)絡(luò)拓?fù)涞淖兓?;通過對(duì)同步消息的轉(zhuǎn)發(fā)資格進(jìn)行篩選認(rèn)證,取消性能不良節(jié)點(diǎn)的時(shí)間同步消息轉(zhuǎn)發(fā)資格,從根源上減少網(wǎng)絡(luò)通信量,減少能量的消耗。
本發(fā)明是通過以下技術(shù)方案實(shí)現(xiàn)的:
一種大規(guī)模無線傳感器網(wǎng)絡(luò)時(shí)間同步方法,包括以下步驟:
(1)根節(jié)點(diǎn)發(fā)起同步
同步開始時(shí),由根節(jié)點(diǎn)決定同步數(shù)據(jù)包的類型為時(shí)間同步包或者轉(zhuǎn)發(fā)資格認(rèn)證包,同時(shí)設(shè)定同步輪次和同步跳數(shù)等參數(shù)信息,將數(shù)據(jù)包發(fā)出,啟動(dòng)定時(shí)器,經(jīng)過一個(gè)同步周期的間隔后再次發(fā)起下一輪同步。
(2)參考節(jié)點(diǎn)的選擇
非根節(jié)點(diǎn)在同步開始時(shí)監(jiān)聽其他節(jié)點(diǎn)發(fā)來的同步數(shù)據(jù)包,收到第一個(gè)數(shù)據(jù)包后,如果是時(shí)間同步數(shù)據(jù)包,則設(shè)定時(shí)間同步定時(shí)器開始參考節(jié)點(diǎn)優(yōu)選過程,在定時(shí)器到時(shí)之前,節(jié)點(diǎn)持續(xù)接收其他同步數(shù)據(jù)包,比較收到的數(shù)據(jù)包的性能參數(shù)Std,最終選取最優(yōu)時(shí)間性能的節(jié)點(diǎn)為同步參考節(jié)點(diǎn)。
(3)非根節(jié)點(diǎn)轉(zhuǎn)發(fā)資格認(rèn)證
根據(jù)網(wǎng)絡(luò)具體要求設(shè)定資格閾值。非根節(jié)點(diǎn)監(jiān)聽到轉(zhuǎn)發(fā)資格認(rèn)證包后,則設(shè)定資格認(rèn)證定時(shí)器開始轉(zhuǎn)發(fā)資格認(rèn)證過程,在定時(shí)器到時(shí)之前,節(jié)點(diǎn)持續(xù)接收其通信范圍內(nèi)其他鄰居節(jié)點(diǎn)發(fā)來的資格認(rèn)證數(shù)據(jù)包,記錄鄰居節(jié)點(diǎn)數(shù),并對(duì)自己在鄰居域內(nèi)進(jìn)行性能排位,如果排位小于資格閾值,則認(rèn)為本節(jié)點(diǎn)具有轉(zhuǎn)發(fā)資格,在時(shí)間同步過程中完成本節(jié)點(diǎn)的時(shí)間同步后,還需轉(zhuǎn)發(fā)時(shí)間同步消息。
(4)非根節(jié)點(diǎn)同步
當(dāng)待同步節(jié)點(diǎn)選定參考節(jié)點(diǎn)后,關(guān)閉同步數(shù)據(jù)包的監(jiān)聽,利用該參考節(jié)點(diǎn)發(fā)來的時(shí)間信息以及收到這個(gè)數(shù)據(jù)包時(shí)本節(jié)點(diǎn)的時(shí)間記錄,計(jì)算出時(shí)間偏差和延時(shí),進(jìn)行本地時(shí)鐘的校正,如果本節(jié)點(diǎn)具有轉(zhuǎn)發(fā)資格,還需向其他節(jié)點(diǎn)發(fā)出同步包。
(5)網(wǎng)絡(luò)的擴(kuò)展
當(dāng)有新的節(jié)點(diǎn)加入到已經(jīng)運(yùn)行的網(wǎng)絡(luò)中時(shí),可以根據(jù)性能參數(shù)Std無障礙的進(jìn)行參考節(jié)點(diǎn)選擇完成時(shí)間同步,根據(jù)與鄰居節(jié)點(diǎn)的性能參數(shù)交換完成資格認(rèn)證,不需要重新啟動(dòng)整個(gè)網(wǎng)絡(luò)的同步協(xié)議;當(dāng)有節(jié)點(diǎn)失效時(shí),以其為參考節(jié)點(diǎn)的下一跳節(jié)點(diǎn)以同樣方式快速重新選擇新的參考節(jié)點(diǎn),不會(huì)對(duì)網(wǎng)絡(luò)其他節(jié)點(diǎn)的同步產(chǎn)生影響。
本發(fā)明的時(shí)間同步方法在大規(guī)模網(wǎng)絡(luò)環(huán)境下實(shí)現(xiàn)細(xì)節(jié)如下:
取消固定的分層分簇結(jié)構(gòu),在時(shí)間同步過程中動(dòng)態(tài)的選取參考節(jié)點(diǎn),通過每一跳的參考節(jié)點(diǎn)最優(yōu)化達(dá)到整條同步路徑的性能最佳,每輪都選取新的最優(yōu)參考節(jié)點(diǎn)提高對(duì)網(wǎng)絡(luò)拓?fù)渥兓倪m應(yīng)性。Sink節(jié)點(diǎn)作為根節(jié)點(diǎn),認(rèn)為其具有標(biāo)準(zhǔn)時(shí)鐘發(fā)布同步消息。參考節(jié)點(diǎn)選取通過對(duì)節(jié)點(diǎn)性能參數(shù)(Std)的比較完成,性能參數(shù)是一個(gè)與本節(jié)點(diǎn)距離根節(jié)點(diǎn)的跳數(shù)、時(shí)鐘頻率穩(wěn)定性以及上一輪同步時(shí)本節(jié)點(diǎn)的性能狀態(tài)相關(guān)的參數(shù)。當(dāng)進(jìn)行時(shí)間同步時(shí),可以大大減少同步跳數(shù),提高同步精度。本發(fā)明采用節(jié)點(diǎn)轉(zhuǎn)發(fā)資格認(rèn)證策略,取消性能不良節(jié)點(diǎn)的轉(zhuǎn)發(fā)資格,有效控制網(wǎng)絡(luò)中的冗余通信量,減少了能量消耗。性能參數(shù)Std表達(dá)式為:
Stdi=λ(H)·μ(F)·η(Stdi-1) (3.1)
其中,i是同步輪次,Stdi是第i輪本節(jié)點(diǎn)的Std參數(shù),λ(H)是與該節(jié)點(diǎn)距離根節(jié)點(diǎn)跳數(shù)H相關(guān)的參數(shù),μ(F)是與當(dāng)前輪次本節(jié)點(diǎn)的時(shí)鐘頻偏F相關(guān)的參數(shù),η(Stdi-1)是與上一輪同步時(shí)節(jié)點(diǎn)的性能相關(guān)的參數(shù)。
在本同步方法中,一個(gè)時(shí)鐘性能良好的節(jié)點(diǎn),應(yīng)具有更小的跳數(shù)和更穩(wěn)定的時(shí)鐘頻率,因此節(jié)點(diǎn)時(shí)鐘性能更好的節(jié)點(diǎn)的Std參數(shù)應(yīng)更小。根據(jù)實(shí)際的應(yīng)用需求,考慮網(wǎng)絡(luò)對(duì)跳距和時(shí)鐘頻率突變的敏感程度,調(diào)節(jié)其對(duì)性能影響的比重,使得Std能反映該應(yīng)用下節(jié)點(diǎn)的同步性能。
本發(fā)明的有益效果在于:一種動(dòng)態(tài)路徑機(jī)制,通過每一跳優(yōu)選參考節(jié)點(diǎn)來獲得最優(yōu)同步路徑,選取時(shí)鐘頻率穩(wěn)定且同步跳數(shù)少的參考節(jié)點(diǎn)進(jìn)行同步,抑制誤差的多跳累積,且在每輪次同步中動(dòng)態(tài)的選取最佳路徑,以適合網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)變化的時(shí)間同步要求,適用于節(jié)點(diǎn)非固定場(chǎng)景下的應(yīng)用,待同步節(jié)點(diǎn)動(dòng)態(tài)選擇參考節(jié)點(diǎn)使網(wǎng)絡(luò)具有良好的抗毀滅性和擴(kuò)展性;提出的轉(zhuǎn)發(fā)資格認(rèn)證機(jī)制,通過限制一部分性能排位靠后節(jié)點(diǎn)的同步消息轉(zhuǎn)發(fā)資格,減少網(wǎng)絡(luò)無用消息的通信量,節(jié)約信息交換能耗;提出的參考節(jié)點(diǎn)空洞應(yīng)對(duì)機(jī)制,當(dāng)一定時(shí)間內(nèi)待同步節(jié)點(diǎn)被動(dòng)同步失敗時(shí)將發(fā)起主動(dòng)同步請(qǐng)求,保證網(wǎng)絡(luò)同步的可靠進(jìn)行。
附圖說明
圖1是本發(fā)明的根節(jié)點(diǎn)工作示意圖。
圖2是本發(fā)明的非根節(jié)點(diǎn)工作示意圖。
圖3是本發(fā)明的抗毀滅性效果圖。
圖4是本發(fā)明在動(dòng)態(tài)拓?fù)渲型竭^程示意圖。
圖5是本發(fā)明的動(dòng)態(tài)拓?fù)浣忉屨f明圖。
圖6是本發(fā)明的同步效果對(duì)比圖。
具體實(shí)施方式
下面結(jié)合附圖及具體實(shí)施例對(duì)本發(fā)明作進(jìn)一步詳細(xì)的說明。
本發(fā)明是一種基于動(dòng)態(tài)路徑和轉(zhuǎn)發(fā)資格認(rèn)證的大規(guī)模無線傳感器網(wǎng)絡(luò)時(shí)間同步方法,同步時(shí)節(jié)點(diǎn)選取時(shí)鐘頻率穩(wěn)定且跳距小的參考節(jié)點(diǎn)進(jìn)行同步,達(dá)到抑制多跳誤差累積的效果。并采用轉(zhuǎn)發(fā)資格認(rèn)證的策略,對(duì)節(jié)點(diǎn)轉(zhuǎn)發(fā)同步消息的資格進(jìn)行擇優(yōu)認(rèn)證,取消性能不良節(jié)點(diǎn)的轉(zhuǎn)發(fā)資格,保證同步精度的同時(shí)減少網(wǎng)絡(luò)通信量,到達(dá)節(jié)省能量的目的。
本發(fā)明依次經(jīng)過以下步驟:
(1)根節(jié)點(diǎn)發(fā)起同步
如圖1所示,同步開始時(shí),由根節(jié)點(diǎn)決定同步數(shù)據(jù)包的類型為時(shí)間同步包或者轉(zhuǎn)發(fā)資格認(rèn)證包。認(rèn)為根節(jié)點(diǎn)時(shí)鐘為標(biāo)準(zhǔn)時(shí)間,時(shí)偏始終為0,頻偏始終為1。根節(jié)點(diǎn)定時(shí)發(fā)起全網(wǎng)新一輪的同步。設(shè)定每進(jìn)行N次時(shí)間同步過程,要求進(jìn)行一次節(jié)點(diǎn)轉(zhuǎn)發(fā)資格認(rèn)證過程。只有根節(jié)點(diǎn)維護(hù)同步輪次,每次發(fā)起新一輪時(shí)間同步或資格認(rèn)證過程時(shí),同步輪次加1。發(fā)起新一輪同步時(shí)需檢查當(dāng)前輪次,如果輪次是N的整數(shù)倍,則需發(fā)起新一輪節(jié)點(diǎn)轉(zhuǎn)發(fā)資格認(rèn)證過程;如果不是N的整數(shù)倍,則仍然只發(fā)起時(shí)間同步過程,不進(jìn)行節(jié)點(diǎn)轉(zhuǎn)發(fā)資格認(rèn)證。在發(fā)明實(shí)驗(yàn)中,設(shè)置每經(jīng)過5輪時(shí)間同步過程進(jìn)行一次節(jié)點(diǎn)資格認(rèn)證過程。
(2)參考節(jié)點(diǎn)的選擇
如圖2所示,待同步節(jié)點(diǎn)監(jiān)聽同步消息,在收到第一個(gè)同步消息時(shí)開啟時(shí)間同步定時(shí)器,啟動(dòng)參考節(jié)點(diǎn)選取倒計(jì)時(shí),在到時(shí)前持續(xù)接收同步消息,檢查其性能參數(shù)Std,定時(shí)器到時(shí)后關(guān)閉同步數(shù)據(jù)包的監(jiān)聽,保留性能最優(yōu)者作為同步參考節(jié)點(diǎn),完成本節(jié)點(diǎn)的同步。如本節(jié)點(diǎn)有同步消息轉(zhuǎn)發(fā)資格,還需封裝本節(jié)點(diǎn)同步包向下轉(zhuǎn)發(fā)。
(3)非根節(jié)點(diǎn)轉(zhuǎn)發(fā)資格認(rèn)證過程
圖2中,非根節(jié)點(diǎn)在收到第一個(gè)資格認(rèn)證包時(shí)開啟資格認(rèn)證定時(shí)器,啟動(dòng)鄰居性能交換倒計(jì)時(shí),定時(shí)器到時(shí)前持續(xù)接收來自鄰居節(jié)點(diǎn)的數(shù)據(jù)包,并記錄鄰居數(shù)目,本節(jié)點(diǎn)與鄰居的性能比較排位。定時(shí)器到時(shí)后,比較本節(jié)點(diǎn)在鄰居域內(nèi)的排位與預(yù)先設(shè)定閾值的大小,如果處于閾值之前,則認(rèn)為本節(jié)點(diǎn)有轉(zhuǎn)發(fā)資格,否則沒有轉(zhuǎn)發(fā)資格。
(4)非根節(jié)點(diǎn)同步
如圖2,在時(shí)間同步定時(shí)器到時(shí)后,待同步節(jié)點(diǎn)選定了參考節(jié)點(diǎn);根據(jù)參考節(jié)點(diǎn)攜帶的時(shí)間信息和接收這個(gè)數(shù)據(jù)包時(shí)本節(jié)點(diǎn)的本地時(shí)間,計(jì)算時(shí)間偏差和延時(shí),進(jìn)行本地時(shí)鐘的校正;具有轉(zhuǎn)發(fā)資格的節(jié)點(diǎn)需要封裝自己的時(shí)間同步包,并向其他節(jié)點(diǎn)轉(zhuǎn)發(fā)。
(5)網(wǎng)絡(luò)的擴(kuò)展
當(dāng)有新的節(jié)點(diǎn)加入到已經(jīng)運(yùn)行的網(wǎng)絡(luò)中時(shí),可以根據(jù)參考節(jié)點(diǎn)優(yōu)選策略加入同步網(wǎng)絡(luò),也可以根據(jù)鄰居節(jié)點(diǎn)發(fā)來的性能消息加入到資格認(rèn)證過程中,而不需要重新啟動(dòng)整個(gè)網(wǎng)絡(luò)的同步協(xié)議。節(jié)點(diǎn)加入不需要通知網(wǎng)絡(luò)內(nèi)的其他節(jié)點(diǎn),可以無障礙的加入到同步網(wǎng)絡(luò)。
本發(fā)明的優(yōu)點(diǎn)主要體現(xiàn)在以下幾方面:
1.利用參考節(jié)點(diǎn)優(yōu)選策略實(shí)現(xiàn)誤差多跳累積的抑制
在時(shí)間同步的過程中,待同步節(jié)點(diǎn)總是選取能收到同步包中性能最好的一個(gè)作為其同步參考節(jié)點(diǎn)。本待同步節(jié)點(diǎn)距離根節(jié)點(diǎn)的跳距是影響性能參數(shù)的一個(gè)重要因素,一個(gè)性能優(yōu)良的節(jié)點(diǎn)其距離根節(jié)點(diǎn)的跳距應(yīng)該是小的。在有多個(gè)參考節(jié)點(diǎn)候選時(shí),總是選取跳距最短的一個(gè)作為參考節(jié)點(diǎn),即每個(gè)節(jié)點(diǎn)經(jīng)過最少的中間轉(zhuǎn)發(fā)次數(shù)獲得時(shí)間同步消息,從而有效的抑制多跳誤差的累計(jì)。
圖6為本發(fā)明同步方法的實(shí)驗(yàn)DRFC-TSP與不進(jìn)行參考節(jié)點(diǎn)優(yōu)選實(shí)驗(yàn)DMTS的比較,可以看出DRFC-TSP較DMTS經(jīng)過更少的跳數(shù)完成了同步,多跳累計(jì)誤差抑制效果明顯。
2.對(duì)節(jié)點(diǎn)轉(zhuǎn)發(fā)資格認(rèn)證的策略
在同步消息轉(zhuǎn)發(fā)過程中存在大量的無用信息,造成很大的能量浪費(fèi)。因此,本同步方法采用了對(duì)節(jié)點(diǎn)轉(zhuǎn)發(fā)資格認(rèn)證的策略,通過節(jié)點(diǎn)在其鄰居域內(nèi)的性能排位,取消一部分性能不良節(jié)點(diǎn)的同步消息轉(zhuǎn)發(fā)資格。只有性能達(dá)標(biāo)的節(jié)點(diǎn)才能向下轉(zhuǎn)發(fā)時(shí)間同步消息,既保證了候選參考節(jié)點(diǎn)的性能質(zhì)量,又大大減少了網(wǎng)絡(luò)通信量,節(jié)約了能量。
3.對(duì)網(wǎng)絡(luò)拓?fù)渥兓倪m應(yīng)性
在網(wǎng)絡(luò)長(zhǎng)時(shí)間的運(yùn)行后,一些節(jié)點(diǎn)會(huì)因?yàn)槟芰亢谋M而失效,以其作為參考節(jié)點(diǎn)的下一跳節(jié)點(diǎn)將不能收到有效的同步包。在節(jié)點(diǎn)可能發(fā)生移動(dòng)的應(yīng)用場(chǎng)景下,預(yù)先選定的參考節(jié)點(diǎn)更是會(huì)喪失意義。因此本同步方法不在網(wǎng)絡(luò)初期建立固定的拓?fù)浣Y(jié)構(gòu),在每輪同步中都動(dòng)態(tài)的選取參考節(jié)點(diǎn),降低了同步過程對(duì)網(wǎng)絡(luò)拓?fù)涞囊蕾嚕÷粤司W(wǎng)絡(luò)拓?fù)浣⒑秃笃诰S護(hù)修復(fù)的能量消耗,對(duì)于網(wǎng)絡(luò)拓?fù)浒l(fā)生變化的應(yīng)用有很好的適應(yīng)性。
圖5中,(a)為節(jié)點(diǎn)初始狀態(tài)消息傳遞示意圖,(b)為節(jié)點(diǎn)移動(dòng)后消息傳遞示意圖。在預(yù)先建立的網(wǎng)絡(luò)拓?fù)渲?,①?hào)節(jié)點(diǎn)和②號(hào)節(jié)點(diǎn)分別為一個(gè)網(wǎng)絡(luò)內(nèi)簇頭作為本簇內(nèi)的同步參考節(jié)點(diǎn),但經(jīng)過一段時(shí)間后,節(jié)點(diǎn)的位置發(fā)生變化,預(yù)先建立的網(wǎng)絡(luò)拓?fù)?,無論是簇頭還是簇成員都不能按照原來的分簇進(jìn)行工作。對(duì)于這樣的應(yīng)用場(chǎng)景,需要一個(gè)可以適應(yīng)移動(dòng)節(jié)點(diǎn)網(wǎng)絡(luò)的更加健壯的拓?fù)浣Y(jié)構(gòu),適應(yīng)消息傳播路徑的不確定變化,減少同步過程以外步驟發(fā)送的數(shù)據(jù)包以節(jié)省能量,圖4為本發(fā)明的同步方法在動(dòng)態(tài)網(wǎng)絡(luò)下的實(shí)驗(yàn)情況。
4.抗毀滅性
如圖3所示,灰色節(jié)點(diǎn)代表失效節(jié)點(diǎn),以這些灰色節(jié)點(diǎn)為參考節(jié)點(diǎn)的下一跳節(jié)點(diǎn)將不再能收到有效的同步消息,需要重新發(fā)起全網(wǎng)的參考節(jié)點(diǎn)選舉過程確定新的同步參考,牽動(dòng)全網(wǎng)的重新選舉是一個(gè)非常耗費(fèi)能量的過程。根據(jù)本發(fā)明的同步方法的動(dòng)態(tài)同步路徑特性,每個(gè)節(jié)點(diǎn)不用維護(hù)與其他節(jié)點(diǎn)的父子關(guān)系,動(dòng)態(tài)的選取參考節(jié)點(diǎn),不會(huì)因?yàn)槟硞€(gè)節(jié)點(diǎn)的失效而導(dǎo)致同步路徑中斷,發(fā)起全網(wǎng)的修復(fù)過程。
5.可擴(kuò)展性
在傳統(tǒng)的時(shí)間同步協(xié)議中,總是根據(jù)網(wǎng)絡(luò)的連通關(guān)系預(yù)先建立起一個(gè)固定的拓?fù)浣Y(jié)構(gòu),以這個(gè)拓?fù)浣Y(jié)構(gòu)為消息傳遞路徑的基礎(chǔ)完成全網(wǎng)的時(shí)間同步。這種策略中,各節(jié)點(diǎn)與預(yù)先選好的父節(jié)點(diǎn)進(jìn)行同步消息交換完成時(shí)間同步,對(duì)父子關(guān)系的依賴性很強(qiáng)。如果網(wǎng)絡(luò)中增加了新節(jié)點(diǎn)則必須重新啟動(dòng)協(xié)議,對(duì)新加入的節(jié)點(diǎn)選取參考父節(jié)點(diǎn),引起全網(wǎng)的重新選舉,嚴(yán)重限制了協(xié)議的擴(kuò)展性。這個(gè)重啟的過程不僅耗費(fèi)大量的能量,而且會(huì)引起網(wǎng)絡(luò)同步過程的暫時(shí)中斷,影響其他功能的正常運(yùn)行。在本發(fā)明的同步方法中,節(jié)點(diǎn)間不再有相互依賴制約的關(guān)系,當(dāng)有新加入的節(jié)點(diǎn)時(shí),根據(jù)收到的同步包選取參考節(jié)點(diǎn)完成本節(jié)點(diǎn)的時(shí)間同步即可,能夠無障礙的加入到同步消息傳遞過程中去。轉(zhuǎn)發(fā)資格認(rèn)證過程也能直接加入到鄰居域的排位中去。各節(jié)點(diǎn)都是獨(dú)立的個(gè)體,單個(gè)節(jié)點(diǎn)的加入與離開都不再對(duì)全網(wǎng)的同步產(chǎn)生影響。
最后應(yīng)需要說明的是,以上實(shí)施例僅用以說明本發(fā)明的技術(shù)方案而非限制,盡管參照較佳的實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)的說明,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到的修改或等同替換,而不脫離本發(fā)明技術(shù)方案的精神和范圍,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。