0 引言
近年來,,隨著生物傳感器、可穿戴式技術(shù)和無線傳感器網(wǎng)絡(luò)的逐步發(fā)展,,無線軀體傳感器網(wǎng)絡(luò)的概念(wireless body sensor network, WBSN或BSN)被研究人員所提出,,它主要由各種采集人體生命體征的傳感器節(jié)點(diǎn)、中央處理節(jié)點(diǎn)及監(jiān)護(hù)中心的接收裝置組成,。無線軀體傳感器網(wǎng)絡(luò)主要應(yīng)用于醫(yī)療監(jiān)護(hù),、疾病監(jiān)控和生物醫(yī)學(xué)等領(lǐng)域,是形成人聯(lián)網(wǎng)(Internet of persons)的重要感知及組成部分,。
時(shí)間同步是WBSN的一個(gè)重要支撐技術(shù),,采集的各種生理信息的融合,生理傳感器節(jié)點(diǎn)的休眠和喚醒,,各節(jié)點(diǎn)之間的協(xié)同工作都需要時(shí)間同步,。由于WBSN應(yīng)用的需求,傳感器節(jié)點(diǎn)逐步向可穿戴式發(fā)展,,節(jié)點(diǎn)體積小,、重量輕、便于攜帶,,導(dǎo)致節(jié)點(diǎn)能量非常有限,,因此設(shè)計(jì)一種滿足WBSN低能耗要求的時(shí)間同步算法是一個(gè)值得探索的問題。
1 算法設(shè)計(jì)
本文通過對WBSN特點(diǎn)的分析,,結(jié)合已有典型的時(shí)間同步算法TPSN和DMTS,,提出了一種滿足WBSN低能耗要求的時(shí)間同步算法,在保證一定同步精度的前提下,,減少信息交換次數(shù)來達(dá)到低能耗的要求,?;诨鶞?zhǔn)節(jié)點(diǎn)單向廣播消息的時(shí)間同步機(jī)制通過減少消息交換量換取低能耗,但同步精度有所下降,?;诔蓪﹄p向消息傳遞的時(shí)間同步機(jī)制采用往返消息測量成對節(jié)點(diǎn)間的時(shí)間偏移和傳播時(shí)延,同步精度較高但協(xié)議復(fù)雜同步開銷大,。結(jié)合這兩種機(jī)制,,設(shè)計(jì)算法。
2 算法描述
第一階段為層次建立階段,。首先確定根節(jié)點(diǎn)及分層,,此節(jié)點(diǎn)是全網(wǎng)的時(shí)鐘參考節(jié)點(diǎn),賦予層次號0,,根節(jié)點(diǎn)廣播包含有自身層次號的數(shù)據(jù)包,,相鄰節(jié)點(diǎn)收到該數(shù)據(jù)包后,確定自身層次號為1,,然后1層節(jié)點(diǎn)繼續(xù)廣播帶有自身層次號的數(shù)據(jù)包,,以此類推,i層節(jié)點(diǎn)廣播帶有自身等級信息的數(shù)據(jù)包,,其相鄰節(jié)點(diǎn)收到后確定自身等級為i+1,,直到網(wǎng)絡(luò)中所有節(jié)點(diǎn)都有自身的等級。已確定層次的節(jié)點(diǎn)拒收其他數(shù)據(jù)包,。至此,,全網(wǎng)建立起一個(gè)層次結(jié)構(gòu)。
第二階段為同步階段,。同步階段又分為層間同步和層內(nèi)同步,。層間同步采用成對雙向消息傳遞機(jī)制,層內(nèi)同步采用基準(zhǔn)節(jié)點(diǎn)單向廣播機(jī)制,,每層節(jié)點(diǎn)中選出一個(gè)基準(zhǔn)節(jié)點(diǎn),,層內(nèi)結(jié)構(gòu)形成主從關(guān)系。
除根節(jié)點(diǎn)外,,每層基準(zhǔn)節(jié)點(diǎn)按層次序號依次向上層發(fā)送同步請求,。1層基準(zhǔn)節(jié)點(diǎn)向根節(jié)點(diǎn)發(fā)送同步請求,兩節(jié)點(diǎn)間采用成對雙向消息同步機(jī)制進(jìn)行同步,,1層基準(zhǔn)節(jié)點(diǎn)計(jì)算出節(jié)點(diǎn)間時(shí)間偏移和傳播時(shí)延,,調(diào)整本地時(shí)鐘,與根節(jié)點(diǎn)達(dá)到同步,。然后1層基準(zhǔn)節(jié)點(diǎn)在層內(nèi)廣播一個(gè)同步消息,,層內(nèi)其他節(jié)點(diǎn)收到消息后估計(jì)消息時(shí)延,調(diào)整本地時(shí)鐘,。至此實(shí)現(xiàn)了一層節(jié)點(diǎn)的同步,。
同步過程中設(shè)立一個(gè)同步計(jì)時(shí)器,,用于記錄層間同步時(shí)間T。間隔t(T≤t≤2T),,2層基準(zhǔn)節(jié)點(diǎn)向1層基準(zhǔn)節(jié)點(diǎn)請求同步,,按照層間和層內(nèi)方法實(shí)現(xiàn)同步。間隔時(shí)間t的選取保證上層節(jié)點(diǎn)已與根節(jié)點(diǎn)達(dá)到同步,。以下各層重復(fù)上述同步過程實(shí)現(xiàn)全網(wǎng)同步,。此算法結(jié)合單向廣播和成對雙向消息傳遞進(jìn)行橫向和縱向時(shí)間同步,橫向指層內(nèi)廣播,,縱向指層間成對,,橫縱交錯(cuò),,實(shí)現(xiàn)了所有節(jié)點(diǎn)的同步,。
3 算法仿真
為了評估和分析算法的性能,本文采用網(wǎng)絡(luò)仿真工具NS-2進(jìn)行實(shí)驗(yàn)仿真,。NS-2(Network Simulator version 2)是一種針對網(wǎng)絡(luò)技術(shù)的源代碼公開的,、免費(fèi)的軟件模擬平臺,研究人員使用它可以很容易地進(jìn)行網(wǎng)絡(luò)技術(shù)的開發(fā),。設(shè)計(jì)仿真環(huán)境為50×50m2的正方形區(qū)域,,隨機(jī)分布50個(gè)節(jié)點(diǎn),節(jié)點(diǎn)間無線通信距離為10m,。
本文提出的改進(jìn)算法比TPSN算法的同步開銷要小得多,,并隨相鄰節(jié)點(diǎn)數(shù)的增加,其同步開銷的差別越大,。如圖1所示,。
這是因?yàn)楦倪M(jìn)算法中每層只有一個(gè)基準(zhǔn)節(jié)點(diǎn),層間同步過程需兩個(gè)消息交換的開銷,,而基準(zhǔn)節(jié)點(diǎn)與本層的其他節(jié)點(diǎn)只需要一個(gè)消息開銷,,而TPSN算法則需要2倍于節(jié)點(diǎn)數(shù)的開銷。
顯然,,改進(jìn)算法明顯減少了同步階段所需的消息交換次數(shù),,降低了同步過程所需的通信開銷。
改進(jìn)算法的同步誤差略高于TPSN算法,。如圖2所示,。
這是因?yàn)楦倪M(jìn)算法中每層只有一個(gè)基準(zhǔn)節(jié)點(diǎn)與上層節(jié)點(diǎn)進(jìn)行同步,層內(nèi)其他節(jié)點(diǎn)都是參照這個(gè)節(jié)點(diǎn)與上層節(jié)點(diǎn)進(jìn)行同步的,,而TPSN算法中每個(gè)節(jié)點(diǎn)都與上層節(jié)點(diǎn)進(jìn)行單獨(dú)的同步,,所以改進(jìn)算法同步誤差略高。根據(jù)仿真試驗(yàn)可以分析比較改進(jìn)算法與TPSN的性能,,雖然改進(jìn)算法的同步誤差比TPSN大,,但它可以滿足大多數(shù)WBSN的應(yīng)用需求,。而改進(jìn)算法的能量消耗遠(yuǎn)小于TPSN,實(shí)現(xiàn)了低能耗的設(shè)計(jì)要求,。
4 結(jié)論
時(shí)間同步是WBSN的一項(xiàng)重要的支撐技術(shù),,設(shè)計(jì)時(shí)間同步算法時(shí)常常要考慮能量消耗和同步誤差,但這兩個(gè)重要參數(shù)往往是一對矛盾的量,。大多數(shù)WBSN對同步精度的要求并不高,,所以在能量消耗和同步誤差之間獲得一個(gè)折衷是重點(diǎn)所在。本文提出的改進(jìn)算法結(jié)合基準(zhǔn)節(jié)點(diǎn)單向廣播機(jī)制和成對雙向消息傳遞機(jī)制,,在保證一定同步精度的前提下,,減少消息傳遞次數(shù),降低通信開銷,,達(dá)到了低能耗的要求,。仿真實(shí)驗(yàn)驗(yàn)證了算法低能耗和良好同步誤差的性能。