亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        變電站監(jiān)控系統(tǒng)NTP對(duì)時(shí)精度的提高策略

        2019-01-23 06:32:48李照國(guó)潘洪湘
        浙江電力 2019年1期
        關(guān)鍵詞:客戶機(jī)內(nèi)核數(shù)據(jù)包

        李照國(guó) ,潘洪湘 ,張 婷

        (1.南瑞集團(tuán)公司(國(guó)網(wǎng)電力科學(xué)研究院),南京 211106;2.國(guó)電南瑞科技股份有限公司,南京 211106;3.智能電網(wǎng)保護(hù)和運(yùn)行控制國(guó)家重點(diǎn)實(shí)驗(yàn)室,南京 211106)

        0 引言

        電力系統(tǒng)是與時(shí)間相關(guān)的系統(tǒng),各子系統(tǒng)應(yīng)基于統(tǒng)一的時(shí)間基準(zhǔn)運(yùn)行,以滿足時(shí)間一致性的要求[1-4]。隨著電力系統(tǒng)時(shí)間同步監(jiān)測(cè)功能的推廣,對(duì)變電站監(jiān)控系統(tǒng)的對(duì)時(shí)精度也提出了更高的要求,站內(nèi)時(shí)間同步監(jiān)測(cè)精度應(yīng)小于3 ms。

        NTP(網(wǎng)絡(luò)時(shí)間協(xié)議)是由RFC 1305定義的時(shí)間同步協(xié)議,用來(lái)在分布式時(shí)間服務(wù)器和客戶端之間進(jìn)行時(shí)間同步[5]。NTP基于UDP(用戶數(shù)據(jù)報(bào)協(xié)議)報(bào)文進(jìn)行傳輸,使用的UDP端口號(hào)為123。使用NTP的目的是對(duì)網(wǎng)絡(luò)內(nèi)所有具有時(shí)鐘的設(shè)備進(jìn)行同步,使網(wǎng)絡(luò)內(nèi)所有設(shè)備的時(shí)鐘保持一致,從而使設(shè)備能夠提供基于統(tǒng)一時(shí)間的多種應(yīng)用[6-9]。對(duì)于運(yùn)行NTP的本地系統(tǒng),既可以接受來(lái)自其他時(shí)鐘源的同步,又可以作為時(shí)鐘源同步其他時(shí)鐘,并且可以和其他設(shè)備互相同步。

        目前,大部分變電站監(jiān)控系統(tǒng)通過(guò)NTP實(shí)現(xiàn)時(shí)間同步,監(jiān)控系統(tǒng)主要采用Linux操作系統(tǒng),因此本文的策略針對(duì)Linux系統(tǒng)。在互聯(lián)網(wǎng)上,通過(guò)NTP同步的2臺(tái)機(jī)器之間的典型精度在幾毫秒之內(nèi)。在局域網(wǎng)上,通過(guò)優(yōu)化NTP的對(duì)時(shí)過(guò)程,其精度通??梢赃_(dá)到幾十微秒,如果使用硬件時(shí)間戳或硬件參考時(shí)鐘,也可以達(dá)到亞微秒級(jí)的精度。

        1 計(jì)算機(jī)的時(shí)鐘模型

        計(jì)算機(jī)時(shí)間以各種方式表示,具體取決于硬件功能、操作系統(tǒng)和系統(tǒng)時(shí)鐘模型。

        1.1 Linux系統(tǒng)保持時(shí)間的基本策略

        Linux系統(tǒng)實(shí)際上有2個(gè)時(shí)鐘,分別為硬件時(shí)鐘和系統(tǒng)時(shí)鐘。硬件時(shí)鐘,也叫做RTC或者CMOS時(shí)鐘,由主板電池進(jìn)行驅(qū)動(dòng)。當(dāng)操作系統(tǒng)關(guān)機(jī)時(shí),計(jì)算機(jī)使用硬件時(shí)鐘來(lái)保持時(shí)間,但是運(yùn)行時(shí)的操作系統(tǒng)是不用這個(gè)時(shí)間的。系統(tǒng)時(shí)鐘,也叫做內(nèi)核時(shí)鐘或者軟件時(shí)鐘,是由軟件根據(jù)時(shí)鐘中斷來(lái)進(jìn)行計(jì)數(shù)的,系統(tǒng)時(shí)鐘在操作系統(tǒng)關(guān)機(jī)的情況下是不存在的,因此,操作系統(tǒng)啟動(dòng)時(shí),系統(tǒng)時(shí)鐘通過(guò)讀取硬件時(shí)鐘的時(shí)間進(jìn)行初始化。系統(tǒng)時(shí)間是指當(dāng)前系統(tǒng)時(shí)鐘的時(shí)間。

        時(shí)鐘由1個(gè)振蕩器和1個(gè)振蕩器計(jì)數(shù)器組成,用于記錄在給定時(shí)間內(nèi)相對(duì)某個(gè)初始值的增量。時(shí)鐘中斷是由計(jì)算機(jī)的計(jì)時(shí)電路產(chǎn)生的。計(jì)時(shí)電路按照一定的計(jì)數(shù)方式對(duì)晶體振蕩器產(chǎn)生的輸入脈沖進(jìn)行計(jì)數(shù)操作,每次計(jì)數(shù)到期,計(jì)時(shí)電路就產(chǎn)生1個(gè)時(shí)鐘中斷。操作系統(tǒng)利用時(shí)鐘中斷維護(hù)系統(tǒng)時(shí)鐘的正常工作,每次時(shí)鐘中斷,操作系統(tǒng)的時(shí)間計(jì)數(shù)變量就加1。

        1.2 影響計(jì)算機(jī)時(shí)鐘誤差的因素

        在使用NTP進(jìn)行對(duì)時(shí)的計(jì)算機(jī)系統(tǒng)中,影響計(jì)算機(jī)時(shí)鐘誤差的3個(gè)主要因素分別為:不對(duì)稱的網(wǎng)絡(luò)延遲;計(jì)算機(jī)硬件和軟件的潛在因素;時(shí)鐘振蕩器的漂移。文獻(xiàn)[10]給出了計(jì)算機(jī)時(shí)鐘和理想時(shí)鐘誤差的計(jì)算公式:

        式中:t為當(dāng)前時(shí)間;t0為上一次更新時(shí)間;T為時(shí)間偏差;R為頻率偏差;D為時(shí)鐘振蕩器的漂移偏差;x為隨機(jī)誤差。

        式(1)中前三項(xiàng)偏差有一定的規(guī)律,可以進(jìn)行修正。時(shí)鐘振蕩器的漂移偏差,通??梢员粫r(shí)間偏差和頻率偏差進(jìn)行控制。NTP協(xié)議可以對(duì)前兩項(xiàng)偏差進(jìn)行預(yù)測(cè)。

        2 對(duì)時(shí)間進(jìn)行采樣

        2.1 獲取系統(tǒng)時(shí)鐘的分辨率

        分辨率是一個(gè)時(shí)鐘讀數(shù)與另一個(gè)時(shí)鐘讀數(shù)的區(qū)別程度。系統(tǒng)時(shí)鐘分辨率定義為用戶態(tài)下獲得的系統(tǒng)時(shí)鐘的最小增量,可以為1 ns,1μs,1 ms,10 ms等,最壞情況下也不會(huì)超過(guò)1 s。

        使用操作系統(tǒng)函數(shù)gettimeofday()獲取系統(tǒng)時(shí)鐘的分辨率,過(guò)程如圖1所示?,F(xiàn)在商用計(jì)算機(jī)的時(shí)鐘分辨率可以達(dá)到微秒級(jí)。

        圖1 獲取時(shí)鐘分辨率流程

        2.2 網(wǎng)絡(luò)熱身

        NTP客戶端第一次向NTP服務(wù)端發(fā)送報(bào)文時(shí),有一個(gè)地址解析過(guò)程。以太網(wǎng)上每一個(gè)網(wǎng)絡(luò)接口都有其硬件地址,在硬件層次上進(jìn)行的數(shù)據(jù)幀交換必須有正確的接口地址。Linux內(nèi)核必須知道目的端的硬件地址才能發(fā)送數(shù)據(jù),獲取目的端硬件地址的工作由ARP(地址解析協(xié)議)完成,其過(guò)程如圖2所示。

        圖2 地址解析過(guò)程

        因此,客戶端應(yīng)該首先向服務(wù)端發(fā)1幀ECHO報(bào)文,以使內(nèi)核緩存IP地址和硬件地址之間進(jìn)行映射,在下次發(fā)送報(bào)文時(shí),直接使用該映射,減少中間環(huán)節(jié)。同時(shí),該操作也促使內(nèi)核把客戶端程序加載到內(nèi)存中,加快指令執(zhí)行速度。

        2.3 采樣數(shù)據(jù)的初步篩選

        本文中的NTP對(duì)時(shí)方式采用客戶機(jī)/服務(wù)器方式。其工作原理為:客戶機(jī)首先向服務(wù)器發(fā)送1個(gè)NTP包,其中包含了該包離開(kāi)客戶機(jī)的時(shí)間戳T1(以客戶時(shí)間為參照);當(dāng)服務(wù)器接收到該包時(shí),依次填入包到達(dá)的時(shí)間戳T2、包離開(kāi)的時(shí)間戳T3(以服務(wù)器時(shí)間為參照),然后立即把包返回給客戶機(jī);客戶機(jī)在接收到響應(yīng)包時(shí),記錄包返回的時(shí)間戳T4(以客戶時(shí)間為參照)。

        客戶機(jī)使用上述4個(gè)時(shí)間戳可以計(jì)算出路徑時(shí)延: d=(T4-T1)-(T3-T2), 客戶機(jī)相對(duì)服務(wù)器的時(shí)間偏差: offset=[(T2-T1)+(T3-T4)]/2。

        客戶機(jī)在對(duì)服務(wù)器時(shí)間的連續(xù)采樣中,需要檢查數(shù)據(jù)包的有效性,以便做進(jìn)一步的處理。有效性檢查需要經(jīng)過(guò)如下6個(gè)步驟:

        (1)復(fù)制數(shù)據(jù)包檢查。防止本包數(shù)據(jù)是上一包數(shù)據(jù)的完全復(fù)制,消除對(duì)同一包數(shù)據(jù)處理2次的可能性。

        (2)連貫性檢查。收到的數(shù)據(jù)包里所包含的時(shí)間戳T1,必須和客戶機(jī)最近發(fā)出去的數(shù)據(jù)包里T1保持一致。連貫性檢查保證服務(wù)器回復(fù)的是客戶機(jī)最近一次的請(qǐng)求,這將保證接收數(shù)據(jù)包的順序,同時(shí)可以防止偽造的數(shù)據(jù)包。

        (3)正確初始化檢查。檢查時(shí)間戳T1和T2是否為零,防止客戶機(jī)和服務(wù)器沒(méi)有進(jìn)行正確的初始化。

        (4)路徑時(shí)延檢查。在變電站的網(wǎng)絡(luò)結(jié)構(gòu)下,客戶機(jī)和服務(wù)器之間的路徑時(shí)延必須小于20 ms,否則丟棄該數(shù)據(jù)包。當(dāng)站內(nèi)網(wǎng)絡(luò)擁堵時(shí),客戶機(jī)計(jì)算出的路徑時(shí)延就會(huì)比較大。

        (5)路徑時(shí)延變化率檢查。檢查本次采樣中的路徑時(shí)延與采樣庫(kù)中最小的路徑時(shí)延之比,如果大于2,則丟棄本次數(shù)據(jù)包。

        (6)路徑時(shí)延增長(zhǎng)量檢查。檢查本次采樣中的路徑時(shí)延與采樣庫(kù)中最小的路徑時(shí)延之差,應(yīng)該小于采樣庫(kù)里路徑時(shí)延標(biāo)準(zhǔn)差的10倍,否則丟棄本次數(shù)據(jù)包。

        只有數(shù)據(jù)包通過(guò)這些有效性檢查后,才可進(jìn)行進(jìn)一步的統(tǒng)計(jì)處理。

        3 馴服計(jì)算機(jī)時(shí)鐘

        通過(guò)NTP不僅要同步計(jì)算機(jī)時(shí)間,同時(shí)要計(jì)算出計(jì)算機(jī)時(shí)間的誤差范圍。時(shí)間偏差為客戶機(jī)/服務(wù)器的查詢時(shí)間之差與服務(wù)器/客戶機(jī)的響應(yīng)時(shí)間之差的和的一半。通過(guò)記錄數(shù)據(jù)包到達(dá)和離開(kāi)服務(wù)器的時(shí)間、離開(kāi)和到達(dá)客戶機(jī)的時(shí)間,可以計(jì)算出這些差值。路徑時(shí)延為從客戶機(jī)請(qǐng)求到接收應(yīng)答的時(shí)間,并減去服務(wù)器處理請(qǐng)求的時(shí)間,因?yàn)榉?wù)器的處理時(shí)間是和網(wǎng)絡(luò)問(wèn)題無(wú)關(guān)的。在處理NTP采樣數(shù)據(jù)時(shí),必須考慮時(shí)間偏差、路徑時(shí)延和誤差因素。誤差因素主要反映了讀時(shí)鐘操作和時(shí)鐘頻率的公差。

        3.1 采樣的回歸分析

        本策略中最大的采樣數(shù)設(shè)置為64個(gè)采樣點(diǎn),通過(guò)循環(huán)的方式進(jìn)行更新,每次丟棄時(shí)間最久的采樣點(diǎn)。新的采樣點(diǎn)的T4時(shí)間如果小于最近一次采樣點(diǎn)的T4時(shí)間,說(shuō)明服務(wù)器或者本地時(shí)間進(jìn)行了調(diào)整,這時(shí)需要清空采樣庫(kù),重新開(kāi)始積累采樣。

        一元線性回歸方程的模型表示如下:

        式中:Yt為因變量;Xt為自變量;Ut為隨機(jī)誤差;b為截距項(xiàng);a為回歸系數(shù)。

        以T4為自變量,時(shí)間偏差為因變量,使用最小方差線性擬合技術(shù)估算出回歸系數(shù)和截距,回歸系數(shù)為客戶機(jī)與服務(wù)器之間的頻差,截距為客戶機(jī)與服務(wù)器之間的相差。

        NTP算法假設(shè)在服務(wù)器與客戶機(jī)通信過(guò)程中,請(qǐng)求報(bào)文和應(yīng)答報(bào)文經(jīng)歷的路徑時(shí)延相等。但在變電站監(jiān)控系統(tǒng)的網(wǎng)絡(luò)環(huán)境中,NTP服務(wù)器到客戶機(jī)(監(jiān)控系統(tǒng))方向上的網(wǎng)絡(luò)報(bào)文遠(yuǎn)遠(yuǎn)多于客戶機(jī)(監(jiān)控系統(tǒng))到NTP服務(wù)器方向上的網(wǎng)絡(luò)報(bào)文,因此請(qǐng)求報(bào)文與應(yīng)答報(bào)文往返時(shí)延并不相等,此外路徑時(shí)延還受到操作系統(tǒng)協(xié)議棧時(shí)延、網(wǎng)絡(luò)鏈路時(shí)延、路由器處理和排隊(duì)時(shí)延的影響。在時(shí)間采樣數(shù)據(jù)的篩選中對(duì)路徑時(shí)延的大小、變化率、增長(zhǎng)量進(jìn)行檢查,并丟掉不合格的數(shù)據(jù)包,這些數(shù)據(jù)不再參與回歸分析。

        對(duì)采樣數(shù)據(jù)進(jìn)行加權(quán)處理,可以減少不對(duì)稱的往返路徑時(shí)延對(duì)對(duì)時(shí)精度的影響,從而提高監(jiān)控系統(tǒng)對(duì)時(shí)精度。本策略中根據(jù)路徑時(shí)延的大小對(duì)采樣數(shù)據(jù)進(jìn)行加權(quán),路徑時(shí)延越小其所占權(quán)重越大。同時(shí),在線性回歸的計(jì)算中,對(duì)殘差進(jìn)行分析,根據(jù)其是否均勻分布,多次對(duì)該組采樣數(shù)據(jù)進(jìn)行回歸計(jì)算,每次計(jì)算中去掉該組數(shù)據(jù)中的一個(gè)采樣點(diǎn),最終取殘差最好的一組值計(jì)算出客戶機(jī)與服務(wù)器之間的頻差、相差。

        3.2 內(nèi)核時(shí)間調(diào)整

        Linux內(nèi)核使用David L.Mill的時(shí)鐘調(diào)整算法,系統(tǒng)調(diào)用adjtimex()讀取和可選地設(shè)置該算法的調(diào)整參數(shù)。它以一個(gè)指向結(jié)構(gòu)體timex指針為參數(shù),更新內(nèi)核參數(shù)相應(yīng)的值,并且通過(guò)相同的結(jié)構(gòu)體來(lái)返回內(nèi)核當(dāng)前的值。該算法的目標(biāo)是將計(jì)時(shí)精度提高到1μs,最終達(dá)到1 ns。

        內(nèi)核將系統(tǒng)時(shí)鐘實(shí)現(xiàn)為64位邏輯時(shí)鐘,在每個(gè)硬件中斷或時(shí)鐘滴答時(shí)其值遞增。通過(guò)循環(huán)地對(duì)時(shí)鐘滴答增加或減少某個(gè)值調(diào)整時(shí)鐘頻率,其范圍為-0.5‰~0.5‰。在可用的情況下,一個(gè)稱為處理器周期計(jì)數(shù)器的輔助計(jì)數(shù)器用于在時(shí)鐘滴答中斷之間插值。每秒結(jié)束時(shí)系統(tǒng)時(shí)鐘校正例程重新計(jì)算,并確定新的相位調(diào)整和頻率調(diào)整,在接下來(lái)的一秒中,時(shí)鐘調(diào)整例程在每個(gè)時(shí)鐘滴答中斷處分?jǐn)傔@些調(diào)整。

        Adjtimex()函數(shù)適用于時(shí)間變量以秒和納秒以及以秒和微秒表示的內(nèi)核。無(wú)論哪種情況,當(dāng)必要的硬件支持可用時(shí),系統(tǒng)時(shí)鐘分辨率都是納秒級(jí)。即使硬件時(shí)鐘的分辨率僅為微秒級(jí),該函數(shù)也能提供大量信號(hào)進(jìn)行整飾和平均,以最大限度地減少讀取和舍入誤差。雖然時(shí)鐘校正在NTP中每次應(yīng)答執(zhí)行一次,但在內(nèi)核算法中每次時(shí)鐘中斷處都執(zhí)行。

        4 結(jié)語(yǔ)

        使用NTP對(duì)時(shí)的計(jì)算機(jī),其時(shí)間波動(dòng)主要是由于網(wǎng)絡(luò)和操作系統(tǒng)延遲造成的,其頻率波動(dòng)主要是由溫度變化造成的。商業(yè)計(jì)算機(jī)沒(méi)有明確的手段來(lái)控制環(huán)境溫度,因此在一天的正常運(yùn)行中,振蕩器頻率可能會(huì)在百萬(wàn)分之幾之間變化。為了進(jìn)一步提高對(duì)時(shí)精度,可以根據(jù)溫度對(duì)頻率進(jìn)行調(diào)節(jié),由于振蕩器在物理上與CPU(中央處理單元)芯片接近,因此可以根據(jù)CPU的溫度對(duì)頻率進(jìn)行調(diào)節(jié)。此外,也可以使用驅(qū)動(dòng)程序或硬件時(shí)間戳,進(jìn)一步提高監(jiān)控系統(tǒng)對(duì)時(shí)精度,但這需要介入內(nèi)核驅(qū)動(dòng)或網(wǎng)絡(luò)接口程序。

        猜你喜歡
        客戶機(jī)內(nèi)核數(shù)據(jù)包
        Reducing the global cancer burden with gastrointestinal screening: China’s 30 years practice
        萬(wàn)物皆可IP的時(shí)代,我們當(dāng)夯實(shí)的IP內(nèi)核是什么?
        強(qiáng)化『高新』內(nèi)核 打造農(nóng)業(yè)『硅谷』
        基于嵌入式Linux內(nèi)核的自恢復(fù)設(shè)計(jì)
        Linux內(nèi)核mmap保護(hù)機(jī)制研究
        SmartSniff
        基于Libpcap的網(wǎng)絡(luò)數(shù)據(jù)包捕獲器的設(shè)計(jì)與實(shí)現(xiàn)
        視覺(jué)注意的數(shù)據(jù)包優(yōu)先級(jí)排序策略研究
        移動(dòng)IPV6在改進(jìn)數(shù)據(jù)包發(fā)送路徑模型下性能分析
        瘦客戶機(jī):安全與便捷的選擇
        自由成熟女性性毛茸茸应用特色| 老男人久久青草AV高清| 国产成人精品日本亚洲专区6 | 人妻夜夜爽天天爽三区麻豆AV网站| 久久99国产亚洲高清观看首页| 国产精品国产传播国产三级| 国产精品女同久久久久电影院 | 色窝窝在线无码中文| 好看午夜一鲁一鲁一鲁| 少妇爽到高潮免费视频| 热久久美女精品天天吊色| 亚洲人成无码网站久久99热国产 | 国产又爽又黄的激情精品视频| 偷拍自拍一区二区三区| 久久免费看的少妇一级特黄片 | 国产精品成人无码a 无码| 成年网站在线91九色| 国产精品兄妹在线观看麻豆| 亚洲天堂在线播放| 99久久亚洲精品加勒比| 亚洲一区二区三区,日本| 国产精品爽黄69天堂a| av无码天堂一区二区三区| 亚洲国产一区二区视频| 内射口爆少妇麻豆| 亚洲 欧美 国产 日韩 精品 | 青青草视频在线观看精品在线| 国产欧美亚洲精品第一页| 女人被做到高潮免费视频| 亚洲福利第一页在线观看| 精品人妻va一区二区三区| 国产在线精品一区二区在线看| 超碰日韩AV在线| 亚洲精品一区二在线观看| 亚洲欧美牲交| 97无码人妻Va一区二区三区| 在线看片免费人成视久网不卡| 成午夜福利人试看120秒| 欧美老妇与zozoz0交| 亚洲av蜜桃永久无码精品| 国产成人免费一区二区三区|