999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于NTP協議的一種校時實現及相關算法

2011-04-23 09:27:44王圣東方建勇劉新友
指揮控制與仿真 2011年1期
關鍵詞:系統

王圣東,方建勇,劉新友

(中國船舶重工集團公司江蘇自動化研究所,江蘇 連云港 222006)

在作戰指揮系統中,時間同步一直是一個熱點和難點,特別對于大型系統,具有臺位多、集成關系復雜等特點,不便給所有臺位安裝時鐘硬件或與精確時間源互通,因此在軟件層面上提高時間同步的校時精度顯得尤為重要。一般系統中大都配備少數時鐘硬件,通過其給系統中某幾個時間服務器校時,再利用該服務器給系統內其它主機校時。NTP協議是目前可用于系統內校時的一種較好選擇,在局域網中能達到1ms左右的精度,能滿足系統的性能要求。

網絡時間協議[1](NTP,Network Time Protocol)是用于互聯網中時間同步的標準互聯網協議,NTP提供的機制嚴格、實用、有效,其產生的網絡開銷甚少,并具有保證網絡安全的應對措施。這些措施的采用使NTP可以在互聯網上獲取可靠和精確的時間同步。

本文提出一種在局域網上利用NTP校時的具體實現和相關算法,在Windows操作系統下亦能達到1~2ms左右的精度。

1 一種NTP對時架構

1.1 NTP協議的組成和用途

NTP是一個跨越廣域網或局域網的復雜的同步時間協議,它除了可以估算數據包在網絡上的往返延遲外,還可獨立地估算計算機時鐘的偏差,從而實現在網絡上的高精準度計算機校時,該協議的組成如圖1所示[2]。

圖1 NTP協議的字段組成

協議中描述的字段分別為閏秒標識器、版本號、模式、層、測試間隔、精度、根時延、根離散、參考時鐘標識符、參考時間戳、原始時間戳、接收時間戳、傳送時間戳、傳送時間戳和認證符。

1.2 NTP基本的對時架構

圖2描述了一種經典的NTP對時架構,包括四個層次的時鐘,頂層為精確時間源;第二層為一級時間服務器,對第三層的服務器和NTP客戶端進行校時;第三層既包括時間服務器和NTP客戶機,第四層全為NTP客戶機,處于下一層的NTP客戶機可以通過NTP數據包交換選擇上一層的時間服務器,下一層的時間服務器對下層提供時間服務,同時選擇上一層服務器作為自己的時間服務器。

1.3 一種改進的NTP處理流程

在傳統的NTP處理流程中,客戶端在進行一次本地時鐘校正過程中對所有認識的服務器進行交互和數據過濾,以判斷出當前信任的最佳時間服務器,而在實際的處理過程中,一次選定的時間服務器是有代表性的,在較長的時間范圍內都是值得信任的(硬件決定),不需要在每次本地校正時都對所有時間服務器進行數據處理和選主,只有在判斷本服務器的有效時間發生跳變時,才重新執行選主過程,改進后的NTP處理流程如圖3所示。

圖2 NTP對時基本架構

圖3 改進的NTP處理流程

2 本地主機高精度時間獲取

在NTP的對時架構中,服務器和客戶端都需要不斷獲取本主機的系統時間,NTP協議中的幾個關鍵時間戳是客戶端計算網絡傳輸時延和與服務器時間偏差的關鍵參數,時間戳本身的精度對提升客戶端的校時精度具有至關重要的意義。目前某些大型電子信息系統采用的操作系統為Windows、Solaris和VxWorks,系統本身提供的獲取時間函數精度一般為 10ms左右(視硬件時鐘頻率)且在 ms級時間不連續,這對計算傳輸時間和時間偏差來說是一個較大的數值。我們可以通過結合硬件計數的方式將系統時間的獲取精度精確到1ms及以下。

以Windows操作系統為例,獲取系統時間最高精度的函數為 GetSystemTime,獲取的精度雖然能達到ms級,但實際上受限于實際時鐘更新頻率,精度大概為 16ms左右(與硬件有關)。我們可以采用系統函數

QueryPerformanceFrequency、QueryPerformanceCounter、GetSystemTimeAsFileTime和FileTimeToSystemTime結合的方式,構造一個精度在1ms左右的時間供應器,持續提供當前系統時間,圖4描述了一個框架性的時間供應器流程,具體同步和時間片控制等細節問題不再贅述。

圖4 高精度時間供應器實現的基本流程

通過在Windows上的測試,上述時間供應器提供的時間為1ms及以下[3],可滿足高精度校時的要求。

3 NTP服務器構建和處理

根據上述對時架構,信息系統進行校時的前提是外界有穩定精確的時間源,并且與系統中一臺或多臺性能穩定的主機互通。這些主機可以用來構建NTP服務器,這不需要軟件實現,只需要硬件集成時,根據需要選擇一臺還是多臺主機,一般選擇性能較高的服務器。

NTP服務器接收外部時間源的精確時間,并根據需要對本主機進行校時,保證自己為一臺合格的時間服務器(在本文中不作詳述)。這一般為獨立的進程或線程處理。另一方面,NTP服務器需要部署 NTP服務進程與系統中的所有客戶機進行交互,應答NTP客戶端的時間戳和各種參數請求。

NTP服務器在與客戶機進行交互的過程中,以守護進程的形式等待NTP客戶端的發送請求,收到請求后將NTP服務器的地址和NTP工作的相關參數發送到客戶機,客戶機收到地址應答后將其作為服務器之一(學習的過程)并開始和其實時交互。NTP服務器在實現過程中,主要根據客戶端發送的NTP包填充接收時間和再發送時間及更改的參數,并將NTP包返回到客戶端。

4 NTP客戶端的一種實現

4.1 NTP客戶端數據傳輸的實現

NTP客戶端需要實時發送NTP數據包到NTP服務器,并接收NTP服務器返回的NTP數據包,要提高客戶端的校時精度,必須處理好對時間精度消耗的各種因素,其中因素之一就是進程/線程時間片切換的時間和線程的權限控制,為保證客戶端在同一個進程(未開線程)實現實時的發送和接收處理,需要將進程的優先級設為最高,一般為REALTIME_PRIORITY_CLASS權限,同時使用select函數和時鐘中斷處理的方式實現 NTP客戶端的數據異步傳輸,其基本的流程實現如圖5所示:

圖5 NTP客戶端數據傳輸實現流程

4.2 傳輸時延、時間偏差和離差的計算

NTP數據報文交互過程可以采用三種模式[4~5]:多播模式、客戶機/服務器模式以及對稱模式。本實現采用客戶機/服務器模式進行 NTP數據包交互:客戶機每發送一個查詢數據包,服務器接收后回送一個應答數據包。數據包交互時序圖如圖63所示。

圖6 NTP數據包交互時序圖

我們用δ表示傳輸遲延,則δ1=T2?T1,δ2=T4?T3,我們用θ代表客戶端與服務器之間的時間偏差,通過計算可得出:θ=T3+δ?T4=[(T2?T1) +(T3?T4)]/2

定義離差ε為描述客戶端和服務器至最近一次傳輸由于測量引起的錯誤累積,該參數在時間過濾處理時實時更新,并作為時鐘選擇算法的一個衡量因子。離差ε在NTP包交互時計算如下:

ε=(1<<sys.precision)+?(T4-T1)

其中,?表示任何原因下的最大時間偏差率,由于ε是作為時鐘選擇算法的一個衡量因子,因此在只有單個時間源服務器時,不需要進行計算和處理。

4.3 時間數據過濾處理的實現

時間過濾處理完成一次校時周期內對某個固定時間服務器的時間樣本獲取和最佳樣本計算,在接收到NTP數據包時進行處理。客戶端向服務器發送一份查詢報文Pi,在收到服務器的應答報文之后,客戶端利用該報文計算出傳輸時延、時間偏差及離差三元組(δi,θi,εi),存儲在描述服務器的寄存器中,下標從 0開始,用以時間數據過濾處理,初始化為(0,0,NTP.MAXDISPERSE),寄存器中最多存放八(NTP.SHIFT)個三元組,下一個三元組計算出時將所有三元組的存儲位置從左端往右移動一位,最新的三元組存放到0位置,丟棄生存時間最長的一個三元組(δNTP.SHIFT?1,θNTP.SHIFT?1,εNTP.SHIFT?1)。εi在處理中根據誤差積累進行更新,對每個εi增加?*τ(τ=sys.clock-peer.update,τ描述了服務器自上一次更新的時間間隔),定義λ為同步間隔,以λi=εi+|δi|/2構造一個濾波權值臨時列表[λ,index],index為描述λi對應位置的索引列表,長度亦為NTP.SHIFT,對該臨時列表進行升序排列,用以最終確定權值最小的參數的位置。

4.4 NTP服務器選主處理

NTP選主處理(時鐘選擇算法)在多個時鐘源的情況下(時間服務器),在對所有的時鐘源完成一次時間過濾處理得到有效的結果后,對所有的時鐘源進行處理得到最佳的時鐘源。

時鐘選擇算法由兩個算法組成:交集算法和聚類算法,交集算法構造一個符合條件的候選時鐘源列表,用以時間同步。聚類算法根據時鐘源所在的層和同步間隔對候選時鐘源進行排序,并根據時鐘選擇離差重復剔除最大偏離的時鐘源,直至剩余最后一個或幾個最精確、準確和穩定的時鐘源。

4.5 本地時鐘校正處理

在上述各算法中,得到了本地時鐘與標準時間的時間偏差θ(時鐘選擇計算的結果θadj,包括正值、0和負值),下一步根據時間差對本地時鐘進行調整即可完成一個周期內的本地時鐘校正。在本地時鐘進行調整的過程中,一般有兩種方式:一是將本地時鐘數值+θ直接設置為當前時鐘,即時間信號的相位同步;還有一種是采用調整時鐘頻率的方式來逐步調整本地時鐘,即時間信號的頻率同步。

Unix、Windows和VxWorks等操作系統一般都提供上述兩種調時方式的系統調用,如Unix的settimeofday和 adjtime系統函數;Windows的 SetSystemTime和SetSystemTimeAdjustment系統函數等。

由于settimeofday和SetSystemTime等函數對本地時鐘進行及時相位調整,如果θ數值較大,則對應用軟件將產生較大的影響。因為時間發生了跳變;而采用adjtime和SetSystemTimeAdjustment等函數時采用調整頻率以達調相目的時,會持續相當長的時間,如在Linux上調整一分鐘需要數小時之多(根據θ、時鐘固有頻率和每秒最大調整量計算)。因此在具體實施時需將兩種方式結合使用。

以下給出一種使用建議(其中m、n和r的數值根據需要自定義):

1)|θ| > m*100s:判定有效服務器發生了時間跳變,重新執行時鐘選主處理;

2)m*100s≥|θ|≥ n*100ms:采用跳變方式調整本地時鐘,本機時間設置為有效服務器時間;

3)n*100ms≥|θ|≥ r*10ms,采用調頻方式調整本地時鐘,本機時間逐步逼近有效服務器時間;

4)r*10ms > |θ|,如果六次時間過濾處理結果都為同一符號,則采用調頻調整本地時鐘,使本機時間逐步逼近有效時間服務器;否則,不調整本地時鐘。

5 結束語

本文介紹了一種NTP協議和運行機制以及算法,并對某些具體問題給出實現或改進,在大型電子信息系統環境中,系統的校時精度能夠達到 ms級,可滿足系統的校時性能指標。在實際運用中受外界干擾、溫度變化以及晶體振蕩器老化等因素引起頻率漂移,精度在長時間片內可能在幾 ms內進行抖動,在后期研究中,需對高穩定性和更高精度作進一步研究,也可根據時間運用環境,對上述流程和算法進行簡化。

[1]Mills D.L.Network Time Protocol(Version 3)Specification,Implementation and Analysis.DARPA Network Working Group Report RFC-1305[S].University of Delaware,March,1992:112-113.

[2]Mills D.L.Simple Network Time Protocol Specification,RFC-1769[S].University of Delaware,March,1992:79-81.

[3]黎文偉,張大方,謝高崗,等.基于通用 PC 架構的高精度網絡時延測量方法[J].Journal of Software,2006(2).

[4]盧光輝,等.基于組播的網絡延遲測試[J].軟件學報,2001,12(11).

[5]王俊峰,等.單向延遲測量中的時鐘動態性檢測算法.[J]軟件學報,2004,15(4).

猜你喜歡
系統
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
基于PowerPC+FPGA顯示系統
基于UG的發射箱自動化虛擬裝配系統開發
半沸制皂系統(下)
FAO系統特有功能分析及互聯互通探討
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
一德系統 德行天下
PLC在多段調速系統中的應用
主站蜘蛛池模板: 国产一级小视频| 国产丝袜一区二区三区视频免下载| 欧美色香蕉| 99ri国产在线| 欧美人与性动交a欧美精品| 亚洲乱码精品久久久久..| 三上悠亚在线精品二区| 99久久亚洲精品影院| 国产探花在线视频| 亚洲综合欧美在线一区在线播放| 亚洲精品图区| 99久久国产精品无码| 亚洲欧美精品日韩欧美| 国产经典三级在线| 国产欧美视频在线观看| 69国产精品视频免费| 久久久久久久久18禁秘| 丁香五月激情图片| 五月天福利视频| 欧美精品xx| 在线欧美a| 香蕉伊思人视频| 日韩一区精品视频一区二区| 亚洲综合中文字幕国产精品欧美| 久久一级电影| 青青操国产视频| 青青草一区| 国产精品性| 国产欧美视频在线观看| 亚洲国产精品日韩av专区| 思思99热精品在线| 香蕉在线视频网站| 欧美三级视频网站| 国产午夜一级毛片| 97se亚洲综合不卡| 日韩av高清无码一区二区三区| 欧美亚洲一区二区三区导航| 综合天天色| 久草网视频在线| 免费A级毛片无码免费视频| 亚洲欧美成人影院| 激情无码字幕综合| 国产麻豆va精品视频| 中文字幕资源站| 无码丝袜人妻| 在线免费观看AV| 亚洲天堂网在线视频| 亚洲色精品国产一区二区三区| 99精品高清在线播放| 成人小视频在线观看免费| 国产成人精品视频一区视频二区| 蜜臀AV在线播放| 成人福利免费在线观看| 青青操视频免费观看| 成年午夜精品久久精品| 亚洲综合天堂网| 在线国产你懂的| 久久夜夜视频| 色视频久久| 91香蕉国产亚洲一二三区 | 91综合色区亚洲熟妇p| 久久窝窝国产精品午夜看片| 亚洲高清日韩heyzo| 精品小视频在线观看| 亚洲一区色| 欧美日韩亚洲综合在线观看| 天堂亚洲网| 欧美日韩导航| 中文字幕亚洲专区第19页| 久久视精品| 国产成人综合网| 国产福利在线观看精品| 手机在线免费不卡一区二| 制服丝袜一区| 亚洲中文无码h在线观看| 精品无码日韩国产不卡av| 五月天综合网亚洲综合天堂网| 日韩人妻少妇一区二区| AV不卡国产在线观看| 精品国产自| 久草国产在线观看| 亚卅精品无码久久毛片乌克兰|