本發明涉及互聯網,尤其涉及一種通過ntp協議緩調客戶端時間的方法和系統。
背景技術:
1、網絡時間協議(network?time?protocol,ntp)是一種用于在計算機網絡中同步時鐘的協議。ntp是一種分布式、分層結構的協議,旨在通過網絡使參與設備的時鐘達到高精度同步。現有技術中,按照ntp協議,ntp服務器會直接將本地時間同步給客戶端,這將可能導致客戶端時間的跳變。
技術實現思路
1、有鑒于此,本發明提供了一種通過ntp協議緩調客戶端時間的方法和系統,用以避免客戶端時間的跳變。
2、第一方面,本發明提供了一種通過ntp協議緩調客戶端時間的方法,所述方法包括:
3、步驟1、調整第二ntp時間服務器的最大調整速率;
4、步驟2、利用第二ntp時間服務器獲取衛星提供的標準時間,將第二ntp時間服務器和第一ntp時間服務器的時間同步;
5、步驟3、通過第二ntp時間服務器替代第一ntp時間服務器,并帶領第一ntp時間服務器的ntp客戶端緩調時間。
6、可選地,所述步驟1包括:
7、調整速率從0,按照緩調加速度a勻加速到最大調整速率rmax。
8、可選地,所述步驟2包括:
9、第二ntp時間服務器啟動后,僅先作為一級時間服務器,從衛星獲取標準時間;第二ntp時間服務器鎖定衛星的標準時間后,通過面板指示燈提示第二ntp時間服務器的時間和衛星的標準時間同步成功;
10、通過第二ntp時間服務器的console管理口,配置第二ntp時間服務器的ip地址,確保配置的ip地址和其它設備的ip地址無沖突;配置完成后,測試和第一ntp時間服務器的ip地址實現ping通;在第二ntp時間服務器上,運行時間同步命令;同步完成后,第二ntp時間服務器將和第一ntp時間服務器的本地時間一致;同步后,第一ntp時間服務器和第二ntp時間服務器的本地時間與標準時間均具有同樣的時間偏差δt。
11、可選地,所述步驟3包括:
12、將第二ntp時間服務器上的ip地址設置為第一ntp時間服務器的ip地址,并拔除第一ntp時間服務器的網線;
13、第二ntp時間服務器此時已開始提供ntp服務,由于第二ntp時間服務器接收了衛星11的信號,第二ntp時間服務器的時間和衛星的標準時間存在時間偏差δt;啟動第二ntp時間服務器的緩調機制,第二ntp時間服務器根據時間偏差δt、最大調整速率rmax和緩調加速度a的設定,計算出t1、t2和t3,并記錄此刻為開始緩調的0時刻;
14、第一ntp時間服務器的ntp客戶端與第一ntp時間服務器的時間處于同步狀態,在第二ntp時間服務器替代第一ntp時間服務器,緩調開始的時刻,第一ntp時間服務器的ntp客戶端和第二ntp時間服務器的時間將是同步的;對于ntp客戶端,將向第一ntp時間服務器的ip地址進行同步請求,由于第二ntp時間服務器配置了和ntp時間服務器同樣的ip地址,并且第一ntp時間服務器此時已下線,則第二ntp時間服務器接收并處理ntp客戶端的同步請求;ntp客戶端、第一ntp時間服務器、第二ntp時間服務器之間通過網絡設備進行ip通訊;
15、由于第二ntp時間服務器計算出緩調將持續t1+t2+t3秒,在0≤t≤t1+t2+t3中的任意一個時刻t,第二ntp時間服務器在回應ntp客戶端的同步請求時,采用本地時間與累積調整時間f(t)和的值;經過t1+t2+t3秒,第一ntp時間服務器的ntp客戶端將緩調到和衛星的標準時間同步,其中,t1為第一階段加速調整的時長;t2為第二階段恒速調整的時長;t3為第三階段減速調整的時長。
16、可選地,包括:
17、第一階段加速調整:
18、根據勻加速公式和最大調整速率rmax,得第一階段加速調整的時長為:
19、
20、在時長t1過程中,從緩調過程開始到目前的時間,累積調整的時間為:
21、0≤t≤t1,t表示從緩調過程開始到目前的時間;
22、第一階段加速調整結束時,第一階段調整的總時差為:
23、
24、第二階段恒速調整:
25、調整速率,保持最大調整速率rmax不變;若按照當前最大調整速率rmax的參數計算出的δt1滿足│δt│≤2·│δt1│,則說明時間偏差δt小于第一階段加速調整的時長和第三階段減速調整的時長的總調整量;按原參數調整會調整過量,此時,最大調整速率rmax需重新計算,其表達式為:
26、
27、若│δt│>2·│δt1│,則第二階段恒速調整的時長為:
28、
29、恒速階段總的時間調整量δt2=±rmax·t2;
30、此時累積調整量計算公式為:
31、t1≤t≤t2;
32、第二階段恒速調整的結束時,第二階段調整的總時差為:
33、
34、第三階段減速調整:
35、調整速率從最大調整速率rmax勻減速到0;由于算法的對稱性要求,此階段所用的時長:
36、
37、在時長t3過程中,減速階段總的時間調整量為:
38、
39、此時累積調整量計算公式為:
40、
41、第三階段減速調整的結束時,第三階段調整的總時差:
42、當δt2不為0時,總時間調整量為:
43、
44、當δt2為0時,總時間調整量為:
45、
46、第二方面,本發明提供了一種通過ntp協議緩調客戶端時間的系統,所述系統用于實現第一方面或第一方面任一所述的通過ntp協議緩調客戶端時間的方法;所述系統包括:衛星、第一ntp時間服務器、第二ntp時間服務器、網絡設備和ntp客戶端;
47、第二ntp時間服務器用于從衛星獲取標準時間,獲取標準時間后,和第一ntp時間服務器的時間同步;然后從第一ntp時間服務器獲取第一ntp時間服務器的本地時間,獲取兩者的時間差,即需要調整的總時間偏差,啟動時間緩調機制,帶領與第一ntp時間服務器同步的ntp客戶端緩調到標準時間;根據緩調的最大值,計算出相對應的每秒鐘需要緩調的時間;網絡設備用于ntp客戶端、第一ntp時間服務器、第二ntp時間服務器之間的ip通訊。
48、本發明提供的技術方案中,該方法包括調整第二ntp時間服務器的最大調整速率;利用第二ntp時間服務器獲取衛星提供的標準時間,將第二ntp時間服務器和第一ntp時間服務器的時間同步;通過第二ntp時間服務器替代第一ntp時間服務器,并帶領第一ntp時間服務器的ntp客戶端緩調時間,該方法避免了客戶端時間的跳變。
1.一種通過ntp協議緩調客戶端時間的方法,其特征在于,所述方法包括:
2.根據權利要求1所述的方法,其特征在于,所述步驟1包括:
3.根據權利要求1所述的方法,其特征在于,所述步驟2包括:
4.根據權利要求1所述的方法,其特征在于,所述步驟3包括:
5.根據權利要求4所述的方法,其特征在于,包括:
6.一種通過ntp協議緩調客戶端時間的系統,其特征在于,所述系統用于實現權利要求1至5任一所述的通過ntp協議緩調客戶端時間的方法;所述系統包括:衛星(11)、第一ntp時間服務器(12)、第二ntp時間服務器(13)、網絡設備(14)和ntp客戶端(15);