專利名稱:一種電信領域中網(wǎng)絡時間同步的時間調(diào)整算法的制作方法
技術領域:
本發(fā)明涉及一種電信領域中網(wǎng)絡時間同步的時間調(diào)整算法,特別適用于以太網(wǎng)絡或其它傳輸網(wǎng)絡中,用于精確地實現(xiàn)網(wǎng)絡內(nèi)各個設備的時間同步。
背景技術:
伴隨著20世紀70年代的個人計算機革命,出現(xiàn)了一個巨大的時間和頻率的用戶群。這些人需要將計算機保持精確時間。但是計算機時鐘在保持時間方面不可能特別精確,這是由計算機的時間保持原理所決定的。
自從1984年出現(xiàn)了IBM-AT個人計算機以后,所有的PC兼容機以同樣的方式保持時間。不管它們是286、386、486或是奔騰微處理器,每個PC包含兩個時鐘軟時鐘和硬時鐘。
軟時鐘由Intel8254定時器或類似的功能設備產(chǎn)生。定時器每54.936毫秒產(chǎn)生一個中斷,每秒大約18.2個中斷。計算機的BISO中有一個程序,計算中斷請求,產(chǎn)生一個對應于“天”的時鐘,該時間可通過其它軟件讀取或修改。例如,操作系統(tǒng)能夠使用該程序產(chǎn)生的時間信息,給文件打上時間戳。
軟件時鐘的時間保持功能較差,由于受中斷請求穩(wěn)定性的限制,它的時間不可靠,任何中斷請求速度上的變化都會影響時鐘的快慢,軟件時鐘也受限于分辨率,軟件時鐘的最大缺點是,當計算機停止運行后,時鐘停止運行,并丟失time-of-day的信息。
硬件時鐘基于Motorola146818實時鐘芯片或類似設備,當計算機關機后,硬件時鐘使用電池供電,當計算機啟動后,軟件時鐘從硬件時鐘中獲得當前時間,盡管軟/硬件時鐘在上電的時候同步過,但它們以各自的速率運行,在計算機運行時彼此之間會有所不同。
硬件時鐘每秒更新一次,但是不顯示一秒的小數(shù)部分,時間的可信度由晶振的質(zhì)量決定,它們對溫度等其它因素敏感,精確度不會好于1*10-5,大約一天誤差1秒,在實際情況中,硬件時鐘每天偏差5-15秒,典型值是每天偏10秒。
目前應用較廣的時間同步方式,一種為因特網(wǎng)時間同步如果計算機與因特網(wǎng)連接,能夠通過因特網(wǎng)時間服務器同步計算機的時鐘。
因特網(wǎng)時間服務器使用三種主要的協(xié)議時間協(xié)議、白天協(xié)議、網(wǎng)絡時間協(xié)議。時間服務器不斷地監(jiān)聽同步請求,當服務器接收到一個請求,它會以適當?shù)母袷较蚰愕挠嬎銠C發(fā)送時間。
另一種為撥號時間設置服務如果計算機沒有與因特網(wǎng)連接,能夠使用標準的電話線和類似的調(diào)制解調(diào)器,將計算機時間與NIST實現(xiàn)同步。這種服務稱為ACTS自動計算機時間服務,開始于1988年,ACTS僅需要一臺計算機、一個調(diào)制解調(diào)器和電話線及一些簡單的軟件,當一個計算機通過電話與ACTS連接,它接收ASCII時間碼,時間碼中包含當前時間的信息。
第三種為無線時鐘因特網(wǎng)時間同步和撥號時間設置服務都有一個共同的缺點,那就是需要有電纜線將時間服務器與計算機連接起來。如果通過使用無線時鐘,那么可以隨時隨地獲得精確時間,有許多不同類型的無線時鐘,可通過無線電接收時間碼。
第四種為硬件時鐘通過使用一個更好的時鐘代替原來PC上的時鐘,能夠提高它的時鐘保持能力。先前提到,普通的PC使用低成本的晶體振蕩器來保持時間。如果選用更好的硬件基礎平臺,就能獲得更好的時間保持能力。精確的時鐘板給PC總線提供脈沖,時鐘板使用的晶振比PC中的晶振好很多,能有效地代替硬件時鐘。
但不管使用哪一種方式,應用于電信領域,都存在一定的局限性。后三種方法,由于需要特殊的硬件支持,無法得到廣泛的使用。第一種因特網(wǎng)時間同步方法雖然使用方便,但精度較低,需作某些改進。
發(fā)明內(nèi)容
本發(fā)明的目的是發(fā)明一種高效、精確的電信領域中網(wǎng)絡時間同步的時間調(diào)整算法。
為實現(xiàn)以上目的,本發(fā)明的技術方案是提供一種基于網(wǎng)絡時間同步的時間逼近調(diào)節(jié)算法,其特征在于,使用網(wǎng)絡時間逼近算法,采用時間收斂逼近的方法,使得設備的時間逐步向時間服務器的時間收斂逼近,最后將設備的時間與時間服務器的標準時間之間的偏差控制在一個較小的范圍內(nèi),該算法為第一步.先定義網(wǎng)絡中進行時間同步的服務器端設備定義為S;進行時間同步的客戶端設備定義為C;客戶端C和服務端S使用NTP協(xié)議進行通訊,設定偏差糾正門限為ε,調(diào)整幅度為δ,使得δ<ε;第二步.訪問客戶端C服務器;第三步.計算出客戶端C同步NTP消息包和服務端S之間的時間偏差Toffset;第四步.如果客戶端C從未初始化過時間,初始化系統(tǒng)當前時間,則將客戶端C當前的系統(tǒng)時間Tc加上Toffset設置為客戶端C的當前時間;第五步.如果客戶端C已經(jīng)初始化過時間,則以客戶端C的當前系統(tǒng)時間Tc為基準,以Toffset為參考,微調(diào)客戶端C的時間,進行修正;第六步.使用網(wǎng)絡時間逼近算法,修正后的時間為如果Toffset≥+ε,說明使得客戶端C的時間比服務器端S的時間快。修正客戶端C的時間,即將客戶端C的當前時間往回調(diào)整δ,使得修正后的時間Tc′等于Tc-δ;如果Toffset≤-ε,說明使得客戶端C的時間比服務器端S的時間慢。修正客戶端C的時間,即將客戶端C的當前時間往前調(diào)整δ,使得修正后的時間Tc′等于Tc+δ;如果-ε<Toffset<ε,修正客戶端C的時間,使得修正后的時間Tc′等于Tc+Toffset,即將客戶端C的當前時間調(diào)整到服務器端S的時間;第七步.重復第五步步驟反復修正。
在網(wǎng)絡時間同步中,影響時間精確度的關鍵原因在于由網(wǎng)絡延遲的隨機性而導致時鐘延遲計算不準確,本發(fā)明在調(diào)整本地客戶端的時間時,只有在客戶端從未獲取過時間的前提下,使用NTP算法得到的時間,執(zhí)行一次時間初始化的動作,此時,獲得的時間并不一定準確。
在隨后的過程中,本發(fā)明的算法每次只是對客戶端C的時間進行微量調(diào)整,盡管單個數(shù)據(jù)包的網(wǎng)絡延遲存在隨機性,但是從總體上,大量數(shù)據(jù)包的延遲是有規(guī)律的,正偏和負偏的概率是對稱的,通過一次次的微調(diào),使得客戶端C的時間向正確方向逐步逼近,隨著調(diào)整次數(shù)越來越多,則客戶端C的時間越來越逼近時間服務器S的時間。使用該算法,從整個時間同步過程來看,剛開始客戶端的時間并不很準確,精確度同使用SNTP算法獲得的結(jié)果屬同樣數(shù)量級;但隨著時間同步次數(shù)的不斷增加,客戶端的時間向標準時間逐步逼近,呈現(xiàn)收斂特性同步次數(shù)足夠多時,客戶端時間與標準時間之間的偏差收斂到±δ附近,隨后便維持在這一水平上,不再發(fā)生較大的時間偏差或抖動。
本發(fā)明可適用于局域網(wǎng)范圍內(nèi)和廣域網(wǎng)范圍內(nèi)各種網(wǎng)絡時間同步的客戶端設備的時間要求。
本發(fā)明的優(yōu)點是1不易受網(wǎng)絡傳輸狀況的影響,即使在傳輸較不穩(wěn)定的情況下,也有較高的時間同步精度;2能夠迅速獲得一個能夠使用的粗略時間,同時,隨著時間同步調(diào)整次數(shù)的增多,時間越來越準確,抗干擾能力也越來越強;3使用本發(fā)明,客戶端C的時間的線性一致性比較好,不會出現(xiàn)明顯的時間階躍現(xiàn)象;4.本發(fā)明對硬件要求不高。
圖1為客戶端時間同步方案流程圖;圖2為未調(diào)整前的時間偏差視圖;圖3為SNTP算法后的效果圖;圖4為網(wǎng)絡時間逼近算法流程圖;圖5為使用網(wǎng)絡時間逼近算法后的效果圖。
具體實施例方式
以下結(jié)合附圖和實施例對本發(fā)明作進一步說明。
實施例如圖1所示,為客戶端時間同步方案流程圖,
第一步.在局域網(wǎng)N中,存在一臺支持NTP協(xié)議的網(wǎng)絡時間服務器S,一臺客戶端的設備C,C也在N網(wǎng)絡中,C設備通過網(wǎng)絡從S設備處獲得時間,需要C提供準確的秒脈沖輸出供其它設備使用,同時C設備不具有頻率調(diào)節(jié)的硬件基礎平臺,在本例中使用SNTP算法和網(wǎng)絡時間逼近算法,設置網(wǎng)絡時間逼近算法的偏差糾正門限ε和調(diào)整幅度δ,使得δ<ε。門限ε設置為100微秒,調(diào)整幅度δ設置為30微秒。
第二步.訪問客戶端C服務器,客戶端C服務器時間偏離的情況,如圖2所示,可以看出,由于時鐘頻率的偏差,在沒有作時間調(diào)整的情況下,C設備的時間呈線性偏離標準時間。
如圖3所示,為SNTP算法后的效果圖,在使用SNTP算法情況下,C設備的時間偏離被不斷糾正回來,但由于網(wǎng)絡傳輸不穩(wěn)定的影響,C設備的時間存在較大的抖動。
第三步.如圖4所示,為網(wǎng)絡時間逼近算法流程圖;使用網(wǎng)絡時間逼近算法,計算出客戶端C同步NTP消息包和服務端S之間的時間偏差Toffset;第四步.如果客戶端C從未初始化過時間,初始化系統(tǒng)當前時間,則將客戶端C當前的系統(tǒng)時間Tc加上Toffset設置為客戶端C的當前時間;第五步.如果客戶端C已經(jīng)初始化過時間,則以客戶端C的當前系統(tǒng)時間Tc為基準,以Toffset為參考,微調(diào)客戶端C的時間,進行修正;第六步.修正后的時間為如果Toffset≥+ε,說明使得客戶端C的時間比服務器端S的時間快。修正客戶端C的時間,即將客戶端C的當前時間往回調(diào)整δ,使得修正后的時間Tc′等于Tc-δ;如果Toffset≤-ε,說明使得客戶端C的時間比服務器端S的時間慢。修正客戶端C的時間,即將客戶端C的當前時間往前調(diào)整δ,使得修正后的時間Tc′等于Tc+δ;
如果-ε<Toffset<ε,修正客戶端C的時間,使得修正后的時間Tc′等于Tc+Toffset,即將客戶端C的當前時間調(diào)整到服務器端S的時間;第七步.重復第五步步驟反復修正。
在使用網(wǎng)絡時間逼近算法情況下,經(jīng)過一段時間的逼近調(diào)整,C設備的時間逐步趨于準確,同時由于調(diào)整幅度δ的限制,使得網(wǎng)絡傳輸干擾對C時間的影響減小很多,如圖5所示,為使用網(wǎng)絡時間逼近算法后的效果圖,可以看出,隨著時間同步次數(shù)的不斷增加,客戶端的時間向標準時間逐步收斂,當同步次數(shù)足夠多時,客戶端時間與標準時間之間的偏差收斂到±δ附近,此后時間偏差便維持在±δ的水平上。在圖中所示的230秒位置以后,該算法將客戶端的時間與標準時間偏差控制在±δ左右,即±30微秒。
從兩種算法的運行結(jié)果可以看出,運行網(wǎng)絡時間調(diào)整算法,設備C的時間明顯比SNTP算法得到的時間精確、穩(wěn)定。
通過網(wǎng)絡實現(xiàn)時間同步,是一種比較方便的途徑,也能保證一定的時間精確度,比較目前應用廣泛的幾種算法,其中NTP算法和SNTP算法最具有典型的代表性,下表對比分析了這兩種網(wǎng)絡時間同步算法和網(wǎng)絡時間逼近算法之間的優(yōu)缺點表一、算法的性能比較
通過上表可以看出,盡管NTP算法能夠達到很高的精確度,但是該算法需要有比較特殊的硬件支持,如可調(diào)節(jié)頻率的時鐘晶振以及相位監(jiān)測電路等,否則無法發(fā)揮作用。而網(wǎng)絡時間逼近算法不需要特殊硬件的支持,就可以達到較高的精度。
權(quán)利要求
1.一種基于網(wǎng)絡時間同步的時間逼近調(diào)節(jié)算法,其特征在于,使用網(wǎng)絡時間逼近算法,采用時間收斂逼近的方法,使得設備的時間逐步向時間服務器的時間收斂逼近,最后將設備的時間與時間服務器的標準時間之間的偏差控制在一個較小的范圍內(nèi),該算法為第一步.先定義網(wǎng)絡中進行時間同步的服務器端設備定義為S;進行時間同步的客戶端設備定義為C;客戶端C和服務端S使用NTP協(xié)議進行通訊,設定偏差糾正門限為ε,調(diào)整幅度為δ,使得δ<ε;第二步.訪問客戶端C服務器;第三步.計算出客戶端C同步NTP消息包和服務端S之間的時間偏差Toffset;第四步.如果客戶端C從未初始化過時間,初始化系統(tǒng)當前時間,則將客戶端C當前的系統(tǒng)時間Tc加上Toffset設置為客戶端C的當前時間;第五步.如果客戶端C已經(jīng)初始化過時間,則以客戶端C的當前系統(tǒng)時間Tc為基準,以Toffset為參考,微調(diào)客戶端C的時間,進行修正;第六步.使用網(wǎng)絡時間逼近算法,修正后的時間為如果Toffset≥+ε,說明使得客戶端C的時間比服務器端S的時間快。修正客戶端C的時間,即將客戶端C的當前時間往回調(diào)整δ,使得修正后的時間Tc′等于Tc-δ;如果Toffset≤-ε,說明使得客戶端C的時間比服務器端S的時間慢。修正客戶端C的時間,即將客戶端C的當前時間往前調(diào)整δ,使得修正后的時間Tc′等于Tc+δ;如果-ε<Toffset<ε,修正客戶端C的時間,使得修正后的時間Tc′等于Tc+Toffset,即將客戶端C的當前時間調(diào)整到服務器端S的時間;第七步.重復第五步步驟反復修正。
全文摘要
本發(fā)明涉及一種基于網(wǎng)絡時間同步的時間逼近調(diào)節(jié)算法,其特征在于,使用網(wǎng)絡時間逼近算法,采用時間收斂逼近的方法,使得設備的時間逐步向時間服務器的時間收斂逼近,最后將設備的時間與時間服務器的標準時間之間的偏差控制在一個較小的范圍內(nèi),本發(fā)明的優(yōu)點是不易受網(wǎng)絡傳輸狀況的影響,即使在傳輸較不穩(wěn)定的情況下,也有較高的時間同步精度;能夠迅速獲得一個能夠使用的粗略時間,同時,隨著時間同步調(diào)整次數(shù)的增多,時間越來越準確,抗干擾能力也越來越強,使用本發(fā)明,客戶端C的時間的線性一致性比較好,不會出現(xiàn)明顯的時間階躍現(xiàn)象;本發(fā)明對硬件要求不高。
文檔編號H04L12/24GK1933414SQ20051002958
公開日2007年3月21日 申請日期2005年9月13日 優(yōu)先權(quán)日2005年9月13日
發(fā)明者張永生, 許永毅, 王傳法, 王煉棟 申請人:上海欣泰通信技術有限公司