胥婕 鄭瀟男 唐松 蔡青 鄭專杰 / .上海市計量測試技術(shù)研究院;2.國家時間頻率計量中心上海實驗室;3.上海市在線檢測與控制技術(shù)重點實驗室;.上海交通大學(xué)醫(yī)學(xué)院附屬新華醫(yī)院
時間頻率作為一個重要的基本物理量在國民經(jīng)濟(jì)、基礎(chǔ)科學(xué)研究中起著重要的作用。它是目前最準(zhǔn)確的基本物理量,具有良好的傳遞性,并且與人們的日常生活密切相關(guān)。隨著電子信息技術(shù)和互聯(lián)網(wǎng)的迅猛發(fā)展,電子商務(wù)、電子政務(wù)等高準(zhǔn)確度時間業(yè)務(wù)對整個社會的時間同步要求越來越嚴(yán)格,醫(yī)藥行業(yè)、交通領(lǐng)域、教育系統(tǒng)、金融行業(yè)、電信、移動通信、電網(wǎng)數(shù)字化變電站、電子停車計時計費系統(tǒng)等公共服務(wù)系統(tǒng)都需要實現(xiàn)安全可靠和高準(zhǔn)確度的時間同步。
目前各行業(yè)時間同步主要采取四種方式:
1)同步于GPS系統(tǒng)時間。由于GPS系統(tǒng)時間無法量值溯源,且不具有法律效力,GPS系統(tǒng)時間存在不可靠性。
2)同步于網(wǎng)絡(luò)時間服務(wù)器。由于從網(wǎng)上自行選擇的網(wǎng)絡(luò)時間服務(wù)器的時間源,不能確定時間的準(zhǔn)確來源,導(dǎo)致時間源存在不穩(wěn)定性和不可靠性。
3)同步于采用碼分多址通信技術(shù)時鐘。時鐘容易受到電磁干擾影響,存在信號中斷的情況,時間源也存在不穩(wěn)定性和不可靠性。
4)由時鐘本身的內(nèi)部晶振保持時間。這些時鐘的振蕩器在不受校對的自由振蕩的狀況下工作。由于溫度變化、電磁干擾、振蕩器老化和生產(chǎn)調(diào)試等原因,時鐘的振蕩頻率和標(biāo)準(zhǔn)頻率之間存在誤差。長期積累誤差會產(chǎn)生相當(dāng)大的影響。
綜上所述,由于四種時間同步的方式不一樣,時間源不可靠且不具有法律效力,時間同步準(zhǔn)確度也差異較大,導(dǎo)致各行業(yè)的時間不一致,無法滿足各行業(yè)秒級的時間約束業(yè)務(wù)的要求。因此,如何在各行業(yè)網(wǎng)絡(luò)系統(tǒng)中實現(xiàn)高準(zhǔn)確度時間同步是一個相當(dāng)重要的問題。
網(wǎng)絡(luò)時間協(xié)議(network time protocol,簡稱NTP),是目前互聯(lián)網(wǎng)應(yīng)用非常廣泛的時間同步協(xié)議。它最早由美國德拉瓦大學(xué)的D.L.Mills教授于1985年提出,并進(jìn)行設(shè)計和實現(xiàn)。其目的是通過本地計算機(jī)與時鐘源進(jìn)行時鐘同步,提高本地時間的準(zhǔn)確度,從而使國際互聯(lián)網(wǎng)上不同的機(jī)器間能維持一個統(tǒng)一的、標(biāo)準(zhǔn)的時間,為在多種及廣泛的分布式網(wǎng)絡(luò)環(huán)境中運行的系統(tǒng)分配準(zhǔn)確和可靠的時間信息[1]。
網(wǎng)絡(luò)時間同步技術(shù)在不斷地推陳出新。早期的時間同步技術(shù)需要組建專用網(wǎng)絡(luò)為各系統(tǒng)提供服務(wù),成本較高。NTP除了可以將網(wǎng)絡(luò)中各設(shè)備的時間統(tǒng)一到一個時間上,這個時間可以是絕對時間(比如世界協(xié)調(diào)時)或者相對時間(網(wǎng)絡(luò)中某臺主機(jī)的時間),還可以估算封包在網(wǎng)絡(luò)上的往返時延,并獨立地估算計算機(jī)時鐘的時刻偏差[2],從而實現(xiàn)在網(wǎng)絡(luò)上的高準(zhǔn)確度計算機(jī)校時,它是使互聯(lián)網(wǎng)上不同的機(jī)器維持相同時間的一種通信協(xié)定。
時間服務(wù)器是利用NTP的一種服務(wù)器,通過它可以使網(wǎng)絡(luò)中的機(jī)器維持時間同步。NTP主要應(yīng)用于互聯(lián)網(wǎng)中計算機(jī)時鐘的同步,它提供廣泛的接近國家時間和頻率的服務(wù),組織時間子網(wǎng)的時間同步和調(diào)整子網(wǎng)中的地方性時鐘。時間同步系統(tǒng)一旦出現(xiàn)問題,往往會給應(yīng)用系統(tǒng)帶來不良影響,甚至造成巨大的損失,所以有必要就基于NTP的網(wǎng)絡(luò)時間同步系統(tǒng)在應(yīng)用層面需要注意的方面進(jìn)行研究和歸納。
NTP/v1出現(xiàn)于1988年6月,它描述了首個完整的NTP的規(guī)范和相關(guān)算法。這個版本已經(jīng)采用了客戶端/服務(wù)端模式以及對稱操作。但是它不支持鑒權(quán)和 NTP 的控制消息。1989年9月推出了NTP/v2[3]。幾乎同時,DEC 公司也推出了一個時間同步協(xié)議,即數(shù)字時間同步服務(wù)[Digital Time Synchronization Service(DTSS)]。
在1992年3月,NTP/v3問世,該版本總結(jié)和綜合了NTP的先前版本和DTSS,正式引入了校正原則,并改進(jìn)了時鐘選擇和時鐘濾波的算法,而且還引入了時間消息發(fā)送的廣播模式。這個版本取代了NTP的先前版本。NTP/v3實現(xiàn)的一個重要功能是對計算機(jī)操作系統(tǒng)的時鐘調(diào)整。與此同時,有關(guān)在操作系統(tǒng)核心中改進(jìn)時間保持功能的研究也在同步地進(jìn)行。1994年推出了RFC 1589,即精密時間保持的核心模式,其實現(xiàn)了把計算機(jī)操作系統(tǒng)的時間準(zhǔn)確度保持在微秒數(shù)量級。幾乎同時,又提出了NTP/v4 改進(jìn)建議。對本地時鐘調(diào)整算法、通信模式、新的時鐘驅(qū)動器和適配規(guī)則等方面描述了具體改進(jìn)方向[4]。
現(xiàn)在研究和測試中的 NTP/v4 將適用于IPV6、改進(jìn)時鐘模型,在各種同步源和網(wǎng)絡(luò)通路的情況下更準(zhǔn)確地預(yù)測和調(diào)節(jié)頻率和時間,提出相應(yīng)的新算法將降低網(wǎng)絡(luò)抖動和振蕩器漂移的沖突[5],并且將加速起始的時間同步收斂速度、在鎖頻環(huán)和鎖相環(huán)或者兩者混合模式下重新設(shè)計工作的時鐘校正算法;還將提供關(guān)于自動配置、可靠性、降低互聯(lián)網(wǎng)話務(wù)量和加強(qiáng)網(wǎng)絡(luò)安全性鑒權(quán)等方面的新特性[6]。
本文基于網(wǎng)絡(luò)時間協(xié)議搭建了一套網(wǎng)絡(luò)時間傳遞系統(tǒng)(系統(tǒng)物理結(jié)構(gòu)如圖1),提供了一種高準(zhǔn)確度網(wǎng)絡(luò)時間傳輸方法。傳輸系統(tǒng)包括:外部時間源、時碼產(chǎn)生器,網(wǎng)絡(luò)時間服務(wù)器、網(wǎng)絡(luò)交換機(jī)、用戶設(shè)備、服務(wù)器端時間傳輸模塊和用戶設(shè)備傳輸模塊。
圖1 系統(tǒng)物理結(jié)構(gòu)
其中外部時間源作為網(wǎng)絡(luò)時間服務(wù)器參考時間信號的時間源,采用原子鐘組,包括銫鐘和氫鐘。采用銫鐘駕馭氫鐘的方式,通過ALGOS原子時算法獲得穩(wěn)定的、高準(zhǔn)確度的時間標(biāo)準(zhǔn)。
時碼產(chǎn)生器將原子鐘組輸出的時間信號轉(zhuǎn)化為網(wǎng)絡(luò)時間服務(wù)器能夠接收的B碼信號。
網(wǎng)絡(luò)時間服務(wù)器是獲得時間源和支持時間傳輸?shù)姆?wù)器。
網(wǎng)絡(luò)交換機(jī)用于連接用戶設(shè)備。
服務(wù)器端時間傳輸模塊包括串口數(shù)據(jù)處理、本地時鐘更新、時間數(shù)據(jù)處理、請求接收和響應(yīng)發(fā)送等五部分內(nèi)容。串口數(shù)據(jù)處理是通過串口和網(wǎng)絡(luò)時間服務(wù)器與外部時間源進(jìn)行通信,獲得外部時間源的標(biāo)準(zhǔn)時間信息;本地時鐘更新是根據(jù)外部時間源的標(biāo)準(zhǔn)時間數(shù)據(jù)對網(wǎng)絡(luò)時間服務(wù)器的本地時鐘進(jìn)行時間更新;時間數(shù)據(jù)處理是基于NTP對時間數(shù)據(jù)進(jìn)行處理;請求接收部分用于接收用戶設(shè)備的校時請求;響應(yīng)發(fā)送部分用于發(fā)送標(biāo)準(zhǔn)時間信息至用戶設(shè)備。
用戶設(shè)備傳輸模塊包括本地時鐘更新、時間數(shù)據(jù)處理、請求發(fā)送和響應(yīng)接收等四部分內(nèi)容。本地時鐘更新是根據(jù)網(wǎng)絡(luò)時間服務(wù)器傳輸?shù)臉?biāo)準(zhǔn)時間數(shù)據(jù)對用戶設(shè)備的本地時鐘進(jìn)行時間更新;時間數(shù)據(jù)處理是基于NTP對接收的時間數(shù)據(jù)進(jìn)行處理;請求發(fā)送部分用于發(fā)送校時請求時間信息;響應(yīng)接收部分用于接收網(wǎng)絡(luò)時間服務(wù)器傳輸?shù)臅r間信息;用戶設(shè)備是需要高準(zhǔn)確度時間的計算機(jī)。
基于原子鐘組的網(wǎng)絡(luò)時間傳輸方法包括以下步驟:
1)氫鐘和銫鐘形成的原子鐘組穩(wěn)定運行半年。
2)基于原子鐘組運行半年的數(shù)據(jù),采用原子時算法計算標(biāo)準(zhǔn)時間。
3)采用銫鐘駕馭氫鐘的方式,通過時碼產(chǎn)生器將原子鐘組輸出的標(biāo)準(zhǔn)時間信號轉(zhuǎn)換為網(wǎng)絡(luò)時間服務(wù)器能夠接收的B碼時間信號。
4)網(wǎng)絡(luò)時間服務(wù)器連接時碼產(chǎn)生器,網(wǎng)絡(luò)時間服務(wù)器與時碼產(chǎn)生器進(jìn)行串口通信,利用串口數(shù)據(jù)處理部分獲取原子鐘組的標(biāo)準(zhǔn)時間信號。
5)解析原子鐘組的標(biāo)準(zhǔn)時間信號,將解析后的時間信號對網(wǎng)絡(luò)時間服務(wù)的本地時鐘進(jìn)行更新,使網(wǎng)絡(luò)時間服務(wù)的時間與原子鐘組的時間同步。
6)用戶設(shè)備通過網(wǎng)絡(luò)交換機(jī)發(fā)送校時請求給網(wǎng)絡(luò)時間服務(wù)器,并記錄發(fā)送時間t1。
7)服務(wù)器端時間傳輸模塊偵聽用戶設(shè)備發(fā)送的校時請求,記錄獲取校時請求的時間t2,并基于NTP構(gòu)建時間數(shù)據(jù)包。
8)服務(wù)器端時間傳輸模塊將構(gòu)建的時間數(shù)據(jù)包通過網(wǎng)路交換機(jī)發(fā)送給用戶設(shè)備,并記錄發(fā)送的時間t3。
9)用戶設(shè)備接收服務(wù)器端發(fā)送的時間數(shù)據(jù)包,并記錄接收時間t4。
10)用戶設(shè)備傳輸模塊基于網(wǎng)絡(luò)時間協(xié)議解析時間數(shù)據(jù)包,將用戶設(shè)備接收數(shù)據(jù)包的時間與服務(wù)器發(fā)送數(shù)據(jù)包的時間的差值減去服務(wù)器接收數(shù)據(jù)包的時間與用戶設(shè)備發(fā)送數(shù)據(jù)包的時間的差值的一半計算得到時間偏差,將用戶設(shè)備接收數(shù)據(jù)包的時間與服務(wù)器發(fā)送數(shù)據(jù)包的時間的差值加上服務(wù)器接收數(shù)據(jù)包的時間與用戶設(shè)備發(fā)送數(shù)據(jù)包的時間的差值的一半計算得到網(wǎng)絡(luò)時延td。
11) 重復(fù)步驟6)~10),根據(jù)統(tǒng)計學(xué)中心極限定理,當(dāng)總體分布未知而樣本數(shù)量足夠大時,樣本均值趨于正態(tài)分布。
12)當(dāng)網(wǎng)絡(luò)時延偏離均值較大時,可以認(rèn)為網(wǎng)絡(luò)發(fā)生擁塞或網(wǎng)絡(luò)出現(xiàn)問題,測量得到的該組時間偏差數(shù)據(jù)沒有意義,可以將其過濾剔除。本文設(shè)置網(wǎng)絡(luò)偏差測量數(shù)據(jù)的置信度為0.99,將不在置信區(qū)間的數(shù)據(jù)剔除。
13)用戶設(shè)備傳輸模塊根據(jù)保留的時間偏差數(shù)據(jù),將均值作為最終的時間偏差結(jié)果,利用該時間偏差對本地時鐘進(jìn)行更新,使用戶設(shè)備的時間與網(wǎng)絡(luò)時間服務(wù)器的時間同步。
基于網(wǎng)絡(luò)時間傳輸方法設(shè)計用戶設(shè)備時間同步軟件(界面見圖2),軟件包括本地時鐘更新、時間數(shù)據(jù)處理、請求發(fā)送和響應(yīng)接收等四部分內(nèi)容。本地時鐘更新根據(jù)網(wǎng)絡(luò)時間服務(wù)器傳輸?shù)臉?biāo)準(zhǔn)時間數(shù)據(jù)對用戶設(shè)備的本地時鐘進(jìn)行時間更新,時間數(shù)據(jù)處理部分基于NTP對接收到的時間數(shù)據(jù)進(jìn)行處理,請求發(fā)送部分用于發(fā)送校時請求時間信息,響應(yīng)接收部分用于接收網(wǎng)絡(luò)時間服務(wù)器傳輸?shù)臅r間信息。圖3為用戶設(shè)備通信流程圖。
圖2 用戶設(shè)備時間同步軟件界面
圖3 客戶端通信流程
軟件主要功能為向服務(wù)端發(fā)送 NTP 報文,請求授時,并對返回的 NTP 報文進(jìn)行計算,得出本地時鐘的時刻偏差和網(wǎng)絡(luò)時延,調(diào)整本地時鐘。在返回的每一個報文中都含有四個時間戳,根據(jù)四個時間戳計算出時刻偏差和網(wǎng)絡(luò)時延。而每一次同步過程需要進(jìn)行多次 NTP 報文交換,每次都可以獲得一組網(wǎng)絡(luò)時延和時鐘的時刻偏差,用戶設(shè)備利用過濾算法從多組網(wǎng)絡(luò)時延和時鐘的時刻偏差中選取最準(zhǔn)確的一組同步本地時鐘。
通常,醫(yī)療藥理分析對時間同步準(zhǔn)確度需要控制在秒級以內(nèi)。目前醫(yī)療行業(yè)在藥理分析方面有強(qiáng)烈的時間同步需求。醫(yī)療機(jī)構(gòu)實驗室對臨床標(biāo)本采集時間、送達(dá)時間、失效時間以及檢測時間均有嚴(yán)格的先后時間順序。時間控制順序混亂,將導(dǎo)致檢驗結(jié)果不準(zhǔn)確,甚至造成臨床的誤診。因此,確保醫(yī)院信息系統(tǒng)的時間記錄準(zhǔn)確,保證醫(yī)院設(shè)備或系統(tǒng)的時間完全統(tǒng)一且準(zhǔn)確就顯得格外重要。本文根據(jù)搭建的網(wǎng)絡(luò)時間傳遞系統(tǒng),對某醫(yī)療機(jī)構(gòu)的8臺數(shù)字時間牌(圖4)開展網(wǎng)絡(luò)授時服務(wù)。
圖4 醫(yī)療機(jī)構(gòu)授時的時間牌
在整個網(wǎng)絡(luò)處于正常運行狀態(tài)下,同步成功后計算數(shù)字時間牌和上海市計量測試技術(shù)研究院時間服務(wù)器的時間數(shù)據(jù),得出兩者的差值,從而驗證網(wǎng)絡(luò)時間傳遞系統(tǒng)時間同步的效果。每5 min測試一次,測試24 h,測試數(shù)據(jù)如表1所示。
表1 數(shù)字時間牌時刻偏差測試數(shù)據(jù)
經(jīng)過計算,8臺數(shù)字時間牌的平均時刻偏差的最大值為129 ms,最大時刻偏差的最大值為272 ms,時刻偏差的標(biāo)準(zhǔn)方差的最大值為75 ms。實驗數(shù)據(jù)表明,最大時刻偏差優(yōu)于300 ms,時刻偏差未出現(xiàn)較大的抖動,網(wǎng)絡(luò)授時系統(tǒng)具有良好的準(zhǔn)確度和穩(wěn)定度,符合設(shè)計要求。
網(wǎng)絡(luò)授時服務(wù)是高準(zhǔn)確度時間應(yīng)用領(lǐng)域中的重要研究方向,在上海建設(shè)“智慧城市”的過程中,各大行業(yè)都有時間同步的需求。金融行業(yè)需要統(tǒng)一的實時授時服務(wù),進(jìn)一步保障金融數(shù)據(jù)的安全;電力行業(yè)急需實現(xiàn)全網(wǎng)的時間統(tǒng)一,且對時間同步要求達(dá)到微秒級;下一代電信網(wǎng)絡(luò)對時間同步的要求達(dá)到百納秒級;形變監(jiān)測、精準(zhǔn)農(nóng)業(yè)、城市安全管理對時間同步的要求已經(jīng)達(dá)到了納秒級甚至更高;交通運輸調(diào)度中心、輸油輸氣管道控制中心、航空空管等公共服務(wù)系統(tǒng)的在線監(jiān)測中更加需要實現(xiàn)安全可靠和高準(zhǔn)確度的時間同步。本文為后續(xù)時間同步技術(shù)的研究積累經(jīng)驗,從而進(jìn)一步為各行各業(yè)提供準(zhǔn)確的授時服務(wù),實現(xiàn)時間統(tǒng)一。