使用標準時間馴服作業系統定時器事件發生時刻的方法
2023-06-01 13:08:01 2
專利名稱:使用標準時間馴服作業系統定時器事件發生時刻的方法
使用標準時間馴服作業系統定時器事件發生時刻的方法
技術領域:
本發明涉及ー種使用標準時間馴服計算機作業系統定時器事件發生時刻的方法。背景技木在飛行器/太空飛行器測控領域,要求分布在不同地域的計算機在標準時間軸上規定的時間序列點時刻步調一致地採樣和處理測量數據。例如若干個測量雷達,其控制和數據處理計算機操縱雷達系統以50毫秒採樣周期,在每個標準時間秒時刻到達後的第0毫秒, 第50毫秒,第150毫秒,…,第900毫秒,第950毫秒等時間點上採樣目標數據,計算機間的時間偏移量一般要求不大於1 2毫秒。這就面臨著如何使得這些計算機能夠按照統ー 時間步調同步工作的問題。在目前的飛行器/太空飛行器測控系統中,通常使用時統終端設備接收授時中心發布的標準時間,在標準時間的馴服下由時統終端設備根據應用需求生成數據處理事件時標, 事件時標再通過計算機接ロ卡和接ロ卡驅動程序,觸發計算機作業系統內的數據處理事件,從而使得許多不同地域的測控計算機能夠按照標準時間準確地同步工作。這種工作體制存在的缺點是其一,時標是由硬體產生的,當應用系統需要改變數據處理事件發生的時間點吋,往往需要更換時統終端設備;其ニ,要求計算機接ロ卡同時具備接收標準時間和事件時標的功能。
發明內容為了使得計算機作業系統定時器事件能夠準確地發生在標準時間軸上的期望序列點上,本發明採取的技術方案如下1)使用兩個作業系統定時器,ー個是周期性主定時器,另ー個是單次輔助定時器。2)在周期性主定時器事件中讀取標準時間,用來評判主定時器事件是否偏離應用所期望的時刻;如果偏離,則終止主定時器,計算出當前時刻距離應用期望數據處理時刻的時間間隔,以此時刻為參數啟動輔助定時器;如果沒有偏離,則主定時器將繼續生存。3)在輔助定時器中,啟動主定時器。4)按照2)和3)所述的方法馴服定時器事件發生時刻,單次輔助定時器和周期性主定時器事件都將發生在應用所期望的時刻。在這些時刻執行數據處理任務,就能夠實現多臺計算機間數據處理時刻的同歩。本發明的特點在幹,無需時統終端設備提供觸發數據處理事件的時標,計算機只需要接收標準時間碼,通過標準時間來馴服作業系統的定時器事件發生時刻,使其始終與期望的數據處理時刻對齊。本發明的益處在於1)用戶不必採購可以產生數據處理事件時標信號的定製時統終端設備,只要時統終端能夠提供標準時間,即可實現各種應用對數據處理的時間同步要求;2)用戶更改數據處理時序的時候不再需要更新時統終端設備,僅僅修改馴服程序的參數即可;3)對計算機系統接ロ硬體和軟體的功能要求被簡化。
具體實施方式本發明的具體實施方法如下本發明通過計算機內的定時器事件發生時刻馴服程序實現,實現過程如圖所示。 其中符號定義如下計算機內的馴服程序讀取標準時間碼數值為HiSrt ;周期性主定時器的周期就是期望的數據處理周期Tmain ;Tmain這個參數的另ー個含義是,時間軸上那些可以被 Tfflain整除的時間點就是應用所期望的數據處理時刻;主定時器中根據統ー時間值計算的定時器事件發生時間偏差為D,偏差是動態計算獲得的;應用允許的時間偏差門限為ε ;單次輔助定時器被觸發的延遲時間為Τ_,這個參數是動態計算得出的;符號%為電腦程式語言中的模運算符。假設應用要求計算機以50ms周期工作,數據處理事件點在每個秒時刻的第0毫秒,第50毫秒,第100毫秒,…,第900毫秒,第950毫秒,允許時間偏差為1毫秒。那麼, 主定時器周期Tmain為50毫秒,且定時器事件應該發生在標準時間軸上可以除盡50毫秒的那些時間點;時間偏差門限ε為1毫秒。馴服程序啟動時,讀取標準時間碼,可根據圖中的公式計算出輔助定時器的事件觸發時刻Τ_,使得單次定時器事件對準在期望的時間點上。例如,程序啟動時讀取的標準時間為XX小時U分ZZ秒327毫秒,那麼根據圖中算式可以計算出Τ_為23毫秒。在單次定時器事件中,啟動周期性主定時器,主定時器將會與期望的處理時刻對齊。隨著時間的推移,由於計算機內部硬體時鐘或作業系統的原因,作業系統定時器事件發生時刻可能會產生一定的時間偏移量。在主定時器中讀取標準時間碼並計算出事件發生時刻與期望標準時間的偏移量D,當時間偏移量D超過應用允許的門限值ε吋,在主定時器事件中關閉主定時器,並計算出啟動單次定時器的恰當時間Τ。ηε,再由單次定時器事件重新啟動主定時器,從而馴服作業系統定時器事件發生在期望的時間序列上。msrt% Tfflain < Tmain/2是作業系統定時器慢了的情況,以Tmain-msrt% Tmain這樣的延遲間隔啟動輔助定時器,就能夠使得輔助定時器事件與期望時間序列對齊,例如定時器事件發生在第351毫秒, D彡1,那麼輔助定時器的啟動間隔則應該為T。ne = 49毫秒Tfflain彡Tmain/2是作業系統定時器快了的情況,以2XTmain-mSrt% Tmain這樣的延遲時間啟動單次輔助定時器,就能夠使得輔助定時器事件發生時刻與期望時間序列對齊。例如,定時器事件發生在第249毫秒, 那麼就需要以T_ = 51毫秒的間隔啟動輔助定時器。無論是在主定時器還是在輔助定時器事件中,都需要執行數據處理工作,以保證數據處理工作不被遺漏地執行。對於單次事件發生時刻的馴服,可以使用多個定時器事件疊加的方法。例如,當需要在當前標準時間60秒之後的時刻產生ー個數據處理事件,可以使用ー個59秒的定時器和20個50毫秒定時器時間疊加產生。在59秒定時器事件發生後,對20個50毫秒定時器事件發生時刻使用上述方法進行馴服,使得最後ー個50毫秒定時器事件準確地發生期望的標準時間點,即可獲得準確的60秒定時器事件。
權利要求
1.使用標準時間馴服作業系統定時器事件發生時刻的方法,其特徵在於1)使用兩個作業系統定時器來馴服事件發生時刻,ー個為單次輔助定時器,另ー個為周期性主定時器; 2)當在周期性主定時器事件中檢測到事件發生時刻偏離期望的標準時間時,則關閉主定時器,並根據主定時器的偏離時間誤差計算出輔助定時器的啟動間隔;3)在輔助定時器事件中啟動主定時器;4)按照2~)和幻所述的馴服方法,輔助定時器和主定時器事件都將在應用所期望的時刻發生。
2.根據權利要求1所述的作業系統定時器事件發生時刻馴服方法,其特徵在於當 msrt% Tmain < Tmain/2吋,單次輔助定時器的啟動時間間隔參數為Tmain-mSrt% Tmain;^msrt% Tmain彡Tmain/2吋,單次輔助定時器的啟動時間間隔為2XTmain-mSrt% Tmain ;其中為標準時間值,Tmain*周期性主定時器的周期,Tmain還表達標準時間值為Tmain的整數倍的那些時刻是期望的數據處理時刻。
3.根據權利要求1所述的作業系統定時器事件發生時刻馴服方法,其特徵在於單次事件發生時刻的馴服可通過兩個或兩個以上的被馴服定時器時間疊加獲得。
全文摘要
本發明公開了一種使用標準時間馴服計算機作業系統定時器事件發生時刻的方法。使用兩個作業系統定時器,分別為單次輔助定時器和周期性主定時器;在主定時器事件中讀取標準時間並核對當前時刻是否偏離了期望時間值,如果偏離則關閉主定時器,計算出使得單次定時器對準期望標準時間的啟動間隔並啟動它;在單次定時器事件中再次啟動主定時器;使用上述方法使得輔助定時器和主定時器事件總是在期望的標準時間點上發生。
文檔編號G06F1/12GK102591405SQ20111000648
公開日2012年7月18日 申請日期2011年1月7日 優先權日2011年1月7日
發明者杜鴻 申請人:成都信息工程學院, 杜鴻