发明名称 基于时间触发的分布式系统级任务同步方法
摘要 基于时间触发的分布式系统级任务同步方法,首先建立基于时间触发信息网络的系统架构模型,并将需要进行任务同步的设备节点都连接在该数据网络上;之后根据周期性系统级同步任务执行的周期对所有设备节点进行周期性任务同步。同步的方法主要依靠设备节点和数据交换机之间的协议消息转发关系和传输时间测量能力,数据交换机通过对系统中每个设备节点发送同步消息进行时间统计,并根据中位数算法得到所有同步消息的中位到达时间,之后通过在中位时间的基础上发送回应消息,各设备节点通过接收回应消息的实际时间和预期时间进行做差,得到的时间差即是设备节点本地时钟需要修正的时间量。在经过修正的新时钟基础上,设备节点将开始当前周期的系统级同步任务执行操作。
申请公布号 CN106254198A 申请公布日期 2016.12.21
申请号 CN201610822146.3 申请日期 2016.09.13
申请人 北京控制工程研究所 发明人 蔺玥;范松涛;于丹;高亚楠;周远林;蒋金哲;乔德治;郎燕
分类号 H04L12/40(2006.01)I;H04L12/931(2013.01)I;H04L29/08(2006.01)I 主分类号 H04L12/40(2006.01)I
代理机构 中国航天科技专利中心 11009 代理人 安丽
主权项 基于时间触发的分布式系统级任务同步方法,其特征在于步骤如下:(1)对系统中的设备正常上电,并完成设备上电初始化过程,设备进入正常运行模式;(2)系统中每个设备都周期性使用本机的本地时钟<img file="FDA0001113954970000011.GIF" wi="140" he="71" />作为触发分布式系统级任务的唯一标志,(3)在系统中设定的时间点T0,每个设备都向数据交换机发送任务同步消息<img file="FDA0001113954970000012.GIF" wi="146" he="79" />式中n代表系统中的设备号或代码或标称值,n为1‑N或Ex或Default,Ex为交换机的代码,即Ex表示交换机,Default代表标称值,每个设备发送任务同步消息<img file="FDA0001113954970000013.GIF" wi="123" he="79" />的时刻为本设备本地时钟<img file="FDA0001113954970000014.GIF" wi="164" he="79" />此时的真实时间为<img file="FDA0001113954970000015.GIF" wi="173" he="94" />即每个设备发送任务同步消息<img file="FDA0001113954970000016.GIF" wi="127" he="78" />的真实时间为<img file="FDA0001113954970000017.GIF" wi="171" he="87" />(4)当所有设备都按照本机本地时钟发送同步消息<img file="FDA0001113954970000018.GIF" wi="123" he="79" />后,每条消息<img file="FDA0001113954970000019.GIF" wi="122" he="79" />将经过不同的路径和时间到达数据交换机,设每条消息<img file="FDA00011139549700000110.GIF" wi="123" he="79" />到达数据交换机的绝对时间为<img file="FDA00011139549700000111.GIF" wi="248" he="71" />然后通过在链路上的延迟和链路长度,统计获得每条消息<img file="FDA00011139549700000112.GIF" wi="121" he="78" />相对于发送起始时刻的传输时间增量<img file="FDA00011139549700000113.GIF" wi="763" he="79" />(5)在系统中预设有任务同步消息<img file="FDA00011139549700000114.GIF" wi="124" he="79" />到达数据交换机的标称增量时间<img file="FDA00011139549700000115.GIF" wi="286" he="79" />则任务同步消息<img file="FDA00011139549700000116.GIF" wi="125" he="78" />将根据当前的传输时间增量<img file="FDA00011139549700000117.GIF" wi="230" he="71" />再等待<img file="FDA00011139549700000118.GIF" wi="565" he="79" />时间再最终到达数据交换机,最终到达时间为<img file="FDA00011139549700000119.GIF" wi="163" he="78" />且<img file="FDA00011139549700000120.GIF" wi="710" he="86" />(6)数据交换机不记录真实时间<img file="FDA00011139549700000121.GIF" wi="178" he="86" />只记录每个同步消息<img file="FDA00011139549700000122.GIF" wi="124" he="77" />到达数据交换机的相对时间,即最终到达时间<img file="FDA00011139549700000123.GIF" wi="163" he="77" />当所有同步消息<img file="FDA00011139549700000124.GIF" wi="120" he="79" />到达数据交换机后,计算出所有同步消息<img file="FDA00011139549700000125.GIF" wi="123" he="78" />到达数据交换机的最终到达时间<img file="FDA00011139549700000126.GIF" wi="144" he="78" />的中位时间<img file="FDA00011139549700000127.GIF" wi="307" he="79" />(7)数据交换机在中位时间<img file="FDA00011139549700000128.GIF" wi="281" he="86" />的基础上,等待系统预设的标称等待时间<img file="FDA0001113954970000021.GIF" wi="268" he="79" />后到达系统真实时间<img file="FDA0001113954970000022.GIF" wi="171" he="85" />并在系统真实时间<img file="FDA0001113954970000023.GIF" wi="149" he="85" />将同步回应消息<img file="FDA0001113954970000024.GIF" wi="189" he="71" />发送给所有系统中的设备节点,其中<img file="FDA0001113954970000025.GIF" wi="552" he="87" /><img file="FDA0001113954970000026.GIF" wi="302" he="79" />(8)当数据交换机发送所有回应消息<img file="FDA0001113954970000027.GIF" wi="188" he="71" />给系统各个设备节点后,每条回应消息<img file="FDA0001113954970000028.GIF" wi="189" he="70" />将经过不同的路径和时间到达各个设备节点,设每条回应消息<img file="FDA0001113954970000029.GIF" wi="190" he="71" />到达对应的设备节点的绝对时间为<img file="FDA00011139549700000210.GIF" wi="251" he="71" />然后通过在链路上的延迟和链路长度,统计获得每条回应消息<img file="FDA00011139549700000211.GIF" wi="191" he="70" />相对于发送起始时刻的传输时间增量<img file="FDA00011139549700000212.GIF" wi="763" he="78" />(9)在系统中预设有任务回应消息<img file="FDA00011139549700000213.GIF" wi="189" he="71" />到达各设备节点的标称增量时间<img file="FDA00011139549700000214.GIF" wi="291" he="87" />则任务回应消息<img file="FDA00011139549700000215.GIF" wi="189" he="70" />将根据当前的传输时间增量<img file="FDA00011139549700000216.GIF" wi="230" he="71" />再等待<img file="FDA00011139549700000217.GIF" wi="562" he="79" />时间再最终到达各设备节点,最终到达时间为<img file="FDA00011139549700000218.GIF" wi="161" he="78" />且<img file="FDA00011139549700000219.GIF" wi="722" he="87" />(10)系统中每个设备节点在发送同步消息<img file="FDA00011139549700000220.GIF" wi="125" he="78" />时,都会设定一个预期接收到同步回应消息<img file="FDA00011139549700000221.GIF" wi="189" he="71" />的时间<img file="FDA00011139549700000222.GIF" wi="243" he="76" />其中<img file="FDA00011139549700000223.GIF" wi="478" he="75" /><img file="FDA00011139549700000224.GIF" wi="958" he="79" />(11)计算系统中各设备节点实际收到同步回应消息<img file="FDA00011139549700000225.GIF" wi="190" he="71" />的时间<img file="FDA00011139549700000226.GIF" wi="146" he="70" />与预期时间<img file="FDA00011139549700000227.GIF" wi="207" he="79" />做差,得到的结果就是该设备节点的本地时钟的修正增量<img file="FDA00011139549700000228.GIF" wi="269" he="71" />即<img file="FDA00011139549700000229.GIF" wi="755" he="79" />(12)修正本地时钟,使得本地新时钟<img file="FDA00011139549700000230.GIF" wi="142" he="71" />修正为<img file="FDA00011139549700000231.GIF" wi="480" he="71" />并在之后的系统级任务调度时使用经过修正的新时钟触发分布式系统级任务。
地址 100080 北京市海淀区北京2729信箱