本发明专利技术公开了一种使用标准时间驯服计算机操作系统定时器事件发生时刻的方法。使用两个操作系统定时器,分别为单次辅助定时器和周期性主定时器;在主定时器事件中读取标准时间并核对当前时刻是否偏离了期望时间值,如果偏离则关闭主定时器,计算出使得单次定时器对准期望标准时间的启动间隔并启动它;在单次定时器事件中再次启动主定时器;使用上述方法使得辅助定时器和主定时器事件总是在期望的标准时间点上发生。
【技术实现步骤摘要】
本专利技术涉及ー种使用标准时间驯服计算机操作系统定时器事件发生时刻的方法。背景技木在飞行器/航天器测控领域,要求分布在不同地域的计算机在标准时间轴上规定的时间序列点时刻步调一致地采样和处理测量数据。例如若干个测量雷达,其控制和数据处理计算机操纵雷达系统以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/12GK1025本文档来自技高网...
【技术保护点】
【技术特征摘要】
【专利技术属性】
技术研发人员:杜鸿,
申请(专利权)人:成都信息工程学院,杜鸿,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。