孟祥玉
一 引言
空管自動(dòng)化系統(tǒng)為民航空管部門(mén)的核心,可為管制員提供準(zhǔn)確的信息、幫助提高整體空域的可視性、加強(qiáng)與飛行員之間溝通效率。而對(duì)空管自動(dòng)化系統(tǒng)而言,精確可靠的時(shí)鐘源是系統(tǒng)進(jìn)行數(shù)據(jù)采集監(jiān)測(cè)、航跡計(jì)劃分析處理的基礎(chǔ),是各系統(tǒng)安全運(yùn)行的重要組成部分。
目前烏魯木齊空管中心所使用的自動(dòng)化系統(tǒng)為南京萊斯公司所研發(fā)的NUMEN3000自動(dòng)化系統(tǒng),其所引接的時(shí)鐘源信號(hào)為北京東進(jìn)公司生產(chǎn)的MTS620D系列網(wǎng)絡(luò)時(shí)間服務(wù)器。因此本文將基于對(duì)NTP協(xié)議工作原理、NTP服務(wù)器工作方式和NTP 的網(wǎng)絡(luò)結(jié)構(gòu)的認(rèn)識(shí),并以NUMEN3000自動(dòng)化系統(tǒng)為例進(jìn)行探究并提出相應(yīng)優(yōu)化方案。
二 工作原理
若計(jì)算機(jī)不引接外部時(shí)鐘源,而以BIOS內(nèi)部的晶振為主要的時(shí)間依據(jù),其晶振實(shí)際頻率是受外界多種因素(溫度、電壓、老化等)影響,對(duì)于任何晶振其實(shí)際工作頻率都是不穩(wěn)定統(tǒng)一的。經(jīng)過(guò)一段時(shí)間的積累,各類(lèi)計(jì)算機(jī)將會(huì)出現(xiàn)較大的時(shí)間偏差,且在一定范圍內(nèi)很難保證各計(jì)算機(jī)之間的時(shí)間是同步的。因此在1985年由美國(guó)德拉瓦大學(xué)的DavidLMils提出一種在網(wǎng)絡(luò)范圍內(nèi)使不同的計(jì)算機(jī)維持相同時(shí)間通信協(xié)議。NTP網(wǎng)絡(luò)時(shí)間協(xié)議(Network Time Protocol,簡(jiǎn)稱(chēng)NTP),其采用規(guī)定的端口123作為其端口號(hào),并采用TCP/IP中UDP方式進(jìn)行數(shù)據(jù)通信。其最終目的是將網(wǎng)絡(luò)內(nèi)各個(gè)計(jì)算機(jī)的時(shí)間同步至協(xié)調(diào)世界時(shí)(Universal Time Coordinated,UTC)。
其同步工作原理大致為:在內(nèi)部網(wǎng)絡(luò)中客戶(hù)端A向時(shí)鐘服務(wù)器B發(fā)送查詢(xún)請(qǐng)求時(shí)間包,該請(qǐng)求包中有離開(kāi)客戶(hù)時(shí)的時(shí)間戳 T1,以客戶(hù)端A時(shí)間系統(tǒng)為參照。當(dāng)時(shí)鐘服務(wù)器B接收到該請(qǐng)求包時(shí),依次填入該包到達(dá)的時(shí)間戳 T2 以及離開(kāi)時(shí)的時(shí)間戳 T3,之后返回給客戶(hù)端A,以時(shí)鐘服務(wù)器B時(shí)間系統(tǒng)為參照??蛻?hù)端A在接收到響應(yīng)包時(shí)再填入包,回到客戶(hù)端A的時(shí)間戳,以客戶(hù)端A時(shí)間系統(tǒng)為參照??蛻?hù)端A利用這4 個(gè)時(shí)間戳就能夠計(jì)算出兩個(gè)關(guān)鍵的參數(shù):數(shù)據(jù)包交換的往返延遲η,以及客戶(hù)端與服務(wù)器之間的時(shí)鐘偏差。
客戶(hù)端A通過(guò)上述參數(shù)后即可對(duì)本地時(shí)鐘進(jìn)行補(bǔ)償。再通過(guò)計(jì)算獲得其中偏差后,對(duì)計(jì)算結(jié)果進(jìn)行統(tǒng)計(jì),經(jīng)過(guò)多次采樣后,對(duì)時(shí)間源(NTP服務(wù)器)進(jìn)行分析比較,選擇時(shí)間穩(wěn)定度高的作為可信時(shí)間源,經(jīng)過(guò)濾波處理,消除網(wǎng)絡(luò)引起的時(shí)間波動(dòng),當(dāng)客戶(hù)計(jì)算機(jī)時(shí)間大于128毫秒時(shí),采用設(shè)置當(dāng)前時(shí)間T+ 平均offset進(jìn)行step對(duì)時(shí)。在小于128毫秒時(shí),以服務(wù)器時(shí)間為基準(zhǔn),對(duì)客戶(hù)計(jì)算機(jī)的時(shí)間晶體振蕩器進(jìn)行測(cè)量,得出和服務(wù)器間的頻率偏差,使用操作系統(tǒng)提供的時(shí)鐘控制電路,對(duì)時(shí)間頻率進(jìn)行修正,保持和服務(wù)器同步。
三 自動(dòng)化系統(tǒng)中的時(shí)鐘同步
3.1系統(tǒng)時(shí)鐘同步方案
空管自動(dòng)化時(shí)鐘同步整體由NTP時(shí)間網(wǎng)絡(luò)系統(tǒng)構(gòu)成,其包括時(shí)間參考源、一級(jí)節(jié)點(diǎn)核心時(shí)間服務(wù)器、二級(jí)節(jié)點(diǎn)時(shí)間服務(wù)器、三級(jí)節(jié)點(diǎn)需要時(shí)間統(tǒng)一的服務(wù)器、計(jì)算機(jī)終端及網(wǎng)絡(luò)設(shè)備。其中NTP時(shí)間服務(wù)器和各種需要時(shí)間同步的計(jì)算機(jī)和網(wǎng)絡(luò)終端設(shè)備通過(guò)以太網(wǎng)互連,使用TCP/IP協(xié)議通信,通過(guò)NTP或SNTP協(xié)議實(shí)現(xiàn)時(shí)間同步。NTP時(shí)間網(wǎng)絡(luò)的授時(shí)精度在局域網(wǎng)內(nèi)一般1毫秒至10毫秒。
一級(jí)時(shí)間服務(wù)器為系統(tǒng)核心節(jié)點(diǎn),其通過(guò)接受GPS天線(xiàn)接收GPS衛(wèi)星發(fā)送的協(xié)調(diào)世界時(shí)(UTC)信號(hào)作為外部時(shí)間基準(zhǔn)信號(hào),輸出時(shí)間精度為 0.1μ S的1PPS(即1Pulse Per Second)脈沖。并通過(guò) RS232串行口向服務(wù)器中心處理單元輸送國(guó)際標(biāo)準(zhǔn)時(shí)間、日期和接收單元所處地理位置(經(jīng)緯度)等信息。相關(guān)信息經(jīng)過(guò)中心處理單元處理后,發(fā)送對(duì)時(shí)報(bào)文。對(duì)時(shí)報(bào)文以每秒1幀的輸出頻率,通過(guò)RJ45網(wǎng)口形式向下級(jí)節(jié)點(diǎn)輸送NTP網(wǎng)絡(luò)對(duì)時(shí)信號(hào)。
二級(jí)節(jié)點(diǎn)為區(qū)管中心SDP(監(jiān)視數(shù)據(jù)處理)服務(wù)器,該節(jié)點(diǎn)通過(guò)網(wǎng)口與時(shí)鐘服務(wù)器直連,采用NTP協(xié)議將該服務(wù)器系統(tǒng)時(shí)間與一級(jí)節(jié)點(diǎn)進(jìn)行對(duì)時(shí)校準(zhǔn)。
三級(jí)節(jié)點(diǎn)為空管自動(dòng)化系統(tǒng)內(nèi)各服務(wù)器工作站主機(jī),其通過(guò)局域網(wǎng)核心交換機(jī)與二級(jí)節(jié)點(diǎn)相連接。在系統(tǒng)整體設(shè)計(jì)上第n+1層的機(jī)器向第n層的機(jī)器請(qǐng)求同步,第0層的機(jī)器與高精度計(jì)時(shí)設(shè)備相連。在使用時(shí),客戶(hù)機(jī)的NTP服務(wù)可以使用冗余服務(wù)器和多條網(wǎng)絡(luò)路徑來(lái)獲得時(shí)間的高準(zhǔn)確性和高可靠性,即使客戶(hù)機(jī)在長(zhǎng)時(shí)間無(wú)法與某一時(shí)間服務(wù)器相聯(lián)系的情況下,仍有備份冗余節(jié)點(diǎn)服務(wù)器可提供高準(zhǔn)確度時(shí)間。
3.2節(jié)點(diǎn)配置方案及優(yōu)化
一級(jí)節(jié)點(diǎn)網(wǎng)絡(luò)時(shí)間校時(shí)模塊出廠(chǎng)IP地址為192.168.0.5。將用于校時(shí)模塊參數(shù)設(shè)置的客戶(hù)端計(jì)算機(jī)設(shè)為與一級(jí)節(jié)點(diǎn)相同的網(wǎng)段,在 windows 的 run 菜單里輸入“telnet 192.168.0. 5 9999"進(jìn)行遠(yuǎn)程設(shè)置。進(jìn)入設(shè)置界面輸入初始密碼,選擇服務(wù)器配置,并設(shè)置一級(jí)節(jié)點(diǎn)規(guī)劃的的IP地址、子網(wǎng)掩碼及廣播地址,最后保存配置方案并退出。
選擇空管自動(dòng)化系統(tǒng)SDP(監(jiān)視數(shù)據(jù)處理)服務(wù)器作為系統(tǒng)的二級(jí)節(jié)點(diǎn),進(jìn)入二級(jí)節(jié)點(diǎn)客戶(hù)端linux系統(tǒng),選擇root用戶(hù)登錄。使用vim編輯器打開(kāi)/etc/inet/ntp.conf文件,更改其配置文件,并將規(guī)劃的一級(jí)節(jié)點(diǎn)時(shí)鐘服務(wù)器IP填入文件。其后使用命令servicentpdstop命令停止二級(jí)節(jié)點(diǎn)服務(wù)器ntp服務(wù),使用ntpdate命令將二級(jí)節(jié)點(diǎn)強(qiáng)制向一級(jí)節(jié)點(diǎn)立刻對(duì)時(shí)校準(zhǔn),其后使用servicentpdrestart 命令恢復(fù)二級(jí)節(jié)點(diǎn)ntp服務(wù)。配置系統(tǒng)時(shí)間同步,但服務(wù)器工作站系統(tǒng)硬件晶振時(shí)間并未更新,當(dāng)各種原因?qū)е潞鸵患?jí)時(shí)間服務(wù)器間的網(wǎng)絡(luò)斷開(kāi)后,系統(tǒng)利用晶振時(shí)間保持時(shí)間統(tǒng)一。因此可采取固定每日特定時(shí)間將服務(wù)器硬件時(shí)間刷新為對(duì)時(shí)后的系統(tǒng)時(shí)間此種優(yōu)化方案,來(lái)保持服務(wù)器工作站系統(tǒng)硬件時(shí)間同步。
添加系統(tǒng)定時(shí)處理任務(wù),撰寫(xiě)crontab系統(tǒng)定時(shí)腳本,使用hwclock -systohc命令將二級(jí)節(jié)點(diǎn)的系統(tǒng)硬件時(shí)間進(jìn)行同步刷新至最新網(wǎng)絡(luò)協(xié)調(diào)時(shí)。當(dāng)采取上述優(yōu)化后,系統(tǒng)將在每日特定時(shí)間進(jìn)行硬件時(shí)間刷新。三級(jí)節(jié)點(diǎn)各服務(wù)器工作站亦修改/etc/inet/ntp.conf文件,更改其配置文件,并將規(guī)劃的二級(jí)節(jié)SDP服務(wù)器IP填入文件,并更改系統(tǒng)定時(shí)腳本,刷新各自系統(tǒng)硬件時(shí)間。在完成上述配置后,登錄一級(jí)節(jié)點(diǎn),使用/home/bin/zlcmd腳本執(zhí)行ntpq命令,查看系統(tǒng)時(shí)鐘整體同步情況。
四結(jié)語(yǔ)
通過(guò)搭建NTP協(xié)議的時(shí)鐘同步網(wǎng),可消除空管自動(dòng)化系統(tǒng)各計(jì)算機(jī)因晶振時(shí)鐘、及人為原因手動(dòng)校時(shí)的差錯(cuò),使本系統(tǒng)內(nèi)部網(wǎng)絡(luò)中各計(jì)算機(jī)設(shè)備的時(shí)間同步,保證了全網(wǎng)時(shí)鐘信息的精確統(tǒng)一。因此大幅度提高了系統(tǒng)內(nèi)部各信息流轉(zhuǎn)的時(shí)效性和記錄的和準(zhǔn)確性。
參考文獻(xiàn)
[1]趙科佳,張愛(ài)敏,寧大愚.基于NTP協(xié)議的網(wǎng)絡(luò)時(shí)間服務(wù)系統(tǒng)的實(shí)現(xiàn)[J].電子測(cè)試,2008,7:13~16.
[2] 袁媛 , 周游 , 王亮 , 等 . 時(shí)間頻率設(shè)備自動(dòng)監(jiān)控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) [J]. 宇航計(jì)測(cè)技術(shù) ,2015,35(03):26-31.