任何晶振實(shí)際工作頻率都是不穩(wěn)定的,只是程度不同而已。即使溫度補(bǔ)償?shù)木д?,在常溫范圍?nèi)(攝氏10℃~35℃)也有大約5×10-7~2×10-6的誤差。晶振實(shí)際頻率是受外界多種因素(溫度、電壓、老化等)影響而改變的。因此,時(shí)鐘頻率偏差系數(shù)k并非恒定不變的。每隔一定時(shí)間,NTP客戶機(jī)要對時(shí)鐘頻率偏差系數(shù)k進(jìn)行校正,才能保證計(jì)時(shí)精度。
聯(lián)網(wǎng)計(jì)算機(jī)同步時(shí)鐘簡便的方法是網(wǎng)絡(luò)授時(shí)。網(wǎng)絡(luò)授時(shí)分為廣域網(wǎng)授時(shí)和局域網(wǎng)授時(shí)。廣域網(wǎng)授時(shí)精度通常能達(dá)50ms級,但有時(shí)超過500ms,這是因?yàn)槊看谓?jīng)過的路由器路徑可能不相同。現(xiàn)在還沒有更好的辦法將這種不同路徑延遲的時(shí)間誤差完全消除。局域網(wǎng)授時(shí)不存在路由器路徑延遲問題,因而授時(shí)精度理論上可以提到亞毫秒級。Windows內(nèi)置NTP服務(wù),在局域網(wǎng)內(nèi)其授時(shí)精度也只能達(dá)10ms級。因此,提高局域網(wǎng)NTP授時(shí)精度成為一個(gè)迫切需要解決的問題。
網(wǎng)絡(luò)時(shí)間協(xié)議NTP(Network Time Protocol)的主要開發(fā)者是美國特拉華大學(xué)的MILLS David L教授設(shè)計(jì)實(shí)現(xiàn)的,由時(shí)間協(xié)議、ICMP時(shí)間戳消息及IP時(shí)間戳選項(xiàng)發(fā)展而來。NTP用于將計(jì)算機(jī)客戶或服務(wù)器的時(shí)間與另一服務(wù)器同步,使用層次式時(shí)間分布模型。在配置時(shí),NTP可以利用冗余服務(wù)器和多條網(wǎng)絡(luò)路徑來獲得時(shí)間的高準(zhǔn)確性和高可靠性。即使客戶機(jī)在長時(shí)間無法與某一時(shí)間服務(wù)器相聯(lián)系的情況下,仍可提供高準(zhǔn)確度時(shí)間。
本程序能通過網(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分鐘),這是編寫本程序的初衷,本程序功能夠提供給使用者到秒級的時(shí)間顯示,同時(shí)告訴使用者手機(jī)系統(tǒng)時(shí)間與當(dāng)前標(biāo)準(zhǔn)時(shí)間的差值,但無權(quán)去修改使用者手機(jī)的系統(tǒng)時(shí)間,軟件使用中會(huì)消耗非常少的網(wǎng)絡(luò)流量。