局域網(wǎng)內(nèi)同步(這個(gè)時(shí)在工作中用得多的):如果只需要在本局域網(wǎng)內(nèi)進(jìn)行系統(tǒng)間的時(shí)鐘同步,那么就可以使用局域網(wǎng)中任何一個(gè)系統(tǒng)的時(shí)鐘。你需要選擇局域網(wǎng)中的一個(gè)節(jié)點(diǎn)的時(shí)鐘作為“”的時(shí)間源,然后其它的節(jié)點(diǎn)就只需要與這個(gè)時(shí)間源進(jìn)行時(shí)間同步即可。使用這種方式,所有的節(jié)點(diǎn)都會(huì)使用一個(gè)公共的系統(tǒng)時(shí)鐘,但是不需要可局域網(wǎng)外的系統(tǒng)進(jìn)行時(shí)鐘同步。如果一個(gè)系統(tǒng)在局域網(wǎng)的內(nèi)部,同時(shí)又不能使用無線時(shí)鐘,這種方式是的選擇。
基于NTP減少計(jì)算機(jī)時(shí)鐘頻率偏差
時(shí)鐘頻率偏差是時(shí)鐘長期計(jì)時(shí)累積誤差的主要原因,要提高時(shí)鐘長期計(jì)時(shí)精度,必須補(bǔ)償時(shí)鐘頻率偏差。聯(lián)網(wǎng)的計(jì)算機(jī)可采用NTP方式,可非常方便地校準(zhǔn)時(shí)鐘頻率偏差。以NTP服務(wù)器時(shí)鐘為標(biāo)準(zhǔn)時(shí)間,在某一時(shí)刻設(shè)置NTP客戶機(jī)時(shí)間為NTP服務(wù)器當(dāng)前時(shí)間T0,經(jīng)過一段時(shí)間后,NTP服務(wù)器時(shí)間為T0+tsn,NTP客戶端時(shí)間為T0+tcn。因?yàn)榇嬖跁r(shí)鐘頻率偏差,tsn與tcn并不相等。NTP客戶端時(shí)間tcn需乘以時(shí)鐘頻率偏差系數(shù)k才等于tsn,即tsn=k×tcn,所以k=tsn/tcn。
NTP授時(shí)精度與NTP服務(wù)器與用戶間的網(wǎng)絡(luò)狀況有關(guān),主要取決于NTP包往返路由的延時(shí)對(duì)稱程度,往返路由的延時(shí)不對(duì)稱值不超過網(wǎng)絡(luò)延時(shí)。式(2)是在假設(shè)NTP請(qǐng)求和回復(fù)包在網(wǎng)上傳送延時(shí)相等,即d1=d2=d/2的情況下得出的,而d1、d2的取值范圍在(0...d)間,由式(3)可以得出授時(shí)誤差是±d/2。一般廣域網(wǎng)的網(wǎng)絡(luò)延時(shí)在10 ms~500ms之間;局域網(wǎng)的網(wǎng)絡(luò)延時(shí)在計(jì)時(shí)操作系統(tǒng)內(nèi)核處理延遲的情況下通常小于1ms。
本程序能通過網(wǎng)絡(luò)授時(shí)服務(wù)器獲取當(dāng)前時(shí)間,因?yàn)橐话阄覀兊氖謾C(jī)只能提供到分鐘的時(shí)間顯示,并且由于手機(jī)硬件的固有問題導(dǎo)致經(jīng)常會(huì)出現(xiàn)手機(jī)系統(tǒng)時(shí)間不準(zhǔn)確問題,(已知的某平臺(tái)的手機(jī)會(huì)在充電后時(shí)間變快4分鐘),這是編寫本程序的初衷,本程序功能夠提供給使用者到秒級(jí)的時(shí)間顯示,同時(shí)告訴使用者手機(jī)系統(tǒng)時(shí)間與當(dāng)前標(biāo)準(zhǔn)時(shí)間的差值,但無權(quán)去修改使用者手機(jī)的系統(tǒng)時(shí)間,軟件使用中會(huì)消耗非常少的網(wǎng)絡(luò)流量。