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ì)
本文通過對(duì)WBSN特點(diǎn)的分析,結(jié)合已有典型的時(shí)間同步算法TPSN和DMTS,提出了一種滿足WBSN低能耗要求的時(shí)間同步算法,在保證一定同步精度的前提下,減少信息交換次數(shù)來達(dá)到低能耗的要求?;诨鶞?zhǔn)節(jié)點(diǎn)單向廣播消息的時(shí)間同步機(jī)制通過減少消息交換量換取低能耗,但同步精度有所下降?;诔蓪?duì)雙向消息傳遞的時(shí)間同步機(jī)制采用往返消息測(cè)量成對(duì)節(jié)點(diǎn)間的時(shí)間偏移和傳播時(shí)延,同步精度較高但協(xié)議復(fù)雜同步開銷大。結(jié)合這兩種機(jī)制,設(shè)計(jì)算法。
2 算法描述
第一階段為層次建立階段。首先確定根節(jié)點(diǎn)及分層,此節(jié)點(diǎn)是全網(wǎng)的時(shí)鐘參考節(jié)點(diǎn),賦予層次號(hào)0,根節(jié)點(diǎn)廣播包含有自身層次號(hào)的數(shù)據(jù)包,相鄰節(jié)點(diǎn)收到該數(shù)據(jù)包后,確定自身層次號(hào)為1,然后1層節(jié)點(diǎn)繼續(xù)廣播帶有自身層次號(hào)的數(shù)據(jù)包,以此類推,i層節(jié)點(diǎn)廣播帶有自身等級(jí)信息的數(shù)據(jù)包,其相鄰節(jié)點(diǎn)收到后確定自身等級(jí)為i+1,直到網(wǎng)絡(luò)中所有節(jié)點(diǎn)都有自身的等級(jí)。已確定層次的節(jié)點(diǎn)拒收其他數(shù)據(jù)包。至此,全網(wǎng)建立起一個(gè)層次結(jié)構(gòu)。
第二階段為同步階段。同步階段又分為層間同步和層內(nèi)同步。層間同步采用成對(duì)雙向消息傳遞機(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)按層次序號(hào)依次向上層發(fā)送同步請(qǐng)求。1層基準(zhǔn)節(jié)點(diǎn)向根節(jié)點(diǎn)發(fā)送同步請(qǐng)求,兩節(jié)點(diǎn)間采用成對(duì)雙向消息同步機(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)請(qǐng)求同步,按照層間和層內(nèi)方法實(shí)現(xiàn)同步。間隔時(shí)間t的選取保證上層節(jié)點(diǎn)已與根節(jié)點(diǎn)達(dá)到同步。以下各層重復(fù)上述同步過程實(shí)現(xiàn)全網(wǎng)同步。此算法結(jié)合單向廣播和成對(duì)雙向消息傳遞進(jìn)行橫向和縱向時(shí)間同步,橫向指層內(nèi)廣播,縱向指層間成對(duì),橫縱交錯(cuò),實(shí)現(xiàn)了所有節(jié)點(diǎn)的同步。
3 算法仿真
為了評(píng)估和分析算法的性能,本文采用網(wǎng)絡(luò)仿真工具NS-2進(jìn)行實(shí)驗(yàn)仿真。NS-2(Network Simulator version 2)是一種針對(duì)網(wǎng)絡(luò)技術(shù)的源代碼公開的、免費(fèi)的軟件模擬平臺(tá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ù)往往是一對(duì)矛盾的量。大多數(shù)WBSN對(duì)同步精度的要求并不高,所以在能量消耗和同步誤差之間獲得一個(gè)折衷是重點(diǎn)所在。本文提出的改進(jìn)算法結(jié)合基準(zhǔn)節(jié)點(diǎn)單向廣播機(jī)制和成對(duì)雙向消息傳遞機(jī)制,在保證一定同步精度的前提下,減少消息傳遞次數(shù),降低通信開銷,達(dá)到了低能耗的要求。仿真實(shí)驗(yàn)驗(yàn)證了算法低能耗和良好同步誤差的性能。