[发明专利]一种无线局域网时间同步方法有效
申请号: | 201910794213.9 | 申请日: | 2019-08-27 |
公开(公告)号: | CN110519839B | 公开(公告)日: | 2021-12-07 |
发明(设计)人: | 高翔;陈鑫 | 申请(专利权)人: | 南京航空航天大学 |
主分类号: | H04W56/00 | 分类号: | H04W56/00 |
代理公司: | 南京经纬专利商标代理有限公司 32200 | 代理人: | 姜慧勤 |
地址: | 210016 江*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 无线 局域网 时间 同步 方法 | ||
1.一种无线局域网时间同步方法,其特征在于,该方法包括监测阶段和同步阶段,且监测阶段和同步阶段交替进行,包括如下步骤:
步骤1,在监测阶段,压缩主机节点探明网络中的所有同步节点,并测量传播时延,将传播时延发送到各个同步节点,所述同步节点包括同步主机节点和同步客户节点;具体过程为:
步骤1.1,压缩主机节点上电后广播发送请求包以探测网络中的同步节点;
步骤1.2,同步节点以收到请求包的时刻为起始时刻按照事先配置好的序号依次向压缩主机节点发送回应包;
步骤1.3,压缩主机节点收到回应包后根据时延算法计算出与各个同步节点之间的传播时延;
步骤1.4,压缩主机节点将传播时延及最大传播时延通过冷启动包广播发送到网络中各个同步节点,并以发送时刻为起始时刻,在经过最大传播时延的时间后,开启本地时间计数;
步骤1.5,同步节点收到冷启动包后,执行同步节点固化算法,计算出固化时刻,在固化时刻各个同步节点同时开启同步阶段并开始本地时间计数;
步骤2,在同步阶段,同步主机节点开启一个同步周期后,以本地时间0时刻为起始时刻按照序号依次向压缩主机节点发送固化压缩包;
步骤3,压缩主机节点收到固化压缩包后,利用压缩节点固化算法和压缩算法计算出时间修正值,并通过压缩节点时钟修正算法修正压缩主机节点本地时间,最后产生新的固化压缩包将修正信息广播发送到同步节点;具体过程为:
步骤3.1,压缩主机节点收到固化压缩包后,执行压缩节点固化算法,计算出每个固化压缩包固化时刻;
所述压缩节点固化算法,计算公式为:
第i个固化压缩包的固化时延=最大传播时延-节点之间传播时延
第i个固化压缩包时分复用时延=(同步主机节点个数-i)×时分复用发包间隔
第i个固化压缩包固化时刻=接收时刻+第i个固化压缩包时分复用时延+第i个固化压缩包的固化时延
其中,接收时刻为压缩主机节点收到固化压缩包的时刻;
步骤3.2,在压缩节点固化算法结束后,执行压缩算法,计算出实际压缩时刻,并产生新的固化压缩包,在压缩主机节点的本地时间计数到实际压缩时刻时,将新的固化压缩包广播发送到各同步节点;
所述压缩算法,计算公式为:
压缩算法只在压缩主机节点当中执行,压缩算法的执行过程分为三个阶段,分别为收集阶段、计算阶段和延迟阶段;压缩算法不是由本地时间触发,而是依赖于接收到固化压缩包的固化时刻进行触发;
收集阶段定义观察窗口和最大观察窗口,其中观察窗口的值通过离线配置,最大观察窗口计算公式如下:
最大观察窗口=(f+1)×观察窗口
上式中,冗余值f为系统容忍同步主机节点故障的个数;
收集阶段开启的条件为:当时间到达一个固化压缩包的固化时刻且当前同步周期下没有正在进行的压缩算法,则开始一个收集阶段,并开启一个观察窗口;判断是否开启下一个观察窗口,根据当前窗口开启期间到达固化时刻的固化压缩包的数量进行判断,具体描述如下:
1)若当前第一个观察窗口内只有一个到达固化时刻的固化压缩包,则不开启新的观察窗口;
2)对于第二个及第二个以后的观察窗口,若当前观察窗口内有且至少有一个到达固化时刻的固化压缩包,则继续开启下一个观察窗口;若不符合条件,则不再开启新的观察窗口;
3)当开启观察窗口总和等于最大观察窗口时,不再开启新的观察窗口,收集阶段结束;
计算阶段利用收集到的固化压缩包的固化时刻通过容错中值法计算出一个压缩校验值,压缩校验值表示所有发送有效固化压缩包的同步主机节点时间偏差的平均值;容错中值法的计算过程为:
设第i个固化时刻与第一个固化时刻的时间差,计算公式如下:
第i个时间差=第i个固化时刻-第1个固化时刻
收集阶段收集了1个固化压缩包:
压缩校验值=0;
收集阶段收集了2个固化压缩包:
压缩校验值=(第1个时间差+第2个时间差)/2;
收集阶段收集了3个固化压缩包:
压缩校验值=第2个时间差;
收集阶段收集了4个固化压缩包:
压缩校验值=(第2个时间差+第3个时间差)/2;
收集阶段收集了5个固化压缩包:
压缩校验值=(第2个时间差+第4个时间差)/2;
收集阶段收集了5个以上固化压缩包:
压缩校验值=(顺序第N个时间差+倒序第N个时间差)/2;
上式中,N值离线配置;
计算阶段计算压缩时刻的公式如下:
压缩函数时延=最大观察窗口+计算延时+压缩校验值
压缩时刻=第一包固化时刻+压缩函数时延
上式中,计算延时的值为常数;压缩函数时延为执行压缩函数耗费时间;计算出的压缩时刻为实际压缩时刻;
延迟阶段压缩主机节点需要准备新的固化压缩包,并延时压缩函数时延的时间长度,直至压缩时刻到来;当压缩主机节点本地时间计数到压缩时刻时,将向网络中其他节点广播新生成的固化压缩包;
步骤3.3,根据实际压缩时刻与计划压缩时刻计算出压缩主机节点本地时间修正误差,利用压缩节点时钟修正算法在压缩主机节点本地时间到达时间修正时刻时对压缩主机节点本地时间进行修正;
步骤4,同步节点收到新的固化压缩包后,进行同步节点固化算法和同步节点时钟修正算法;具体过程为:
步骤4.1,同步节点收到新的固化压缩包后,执行同步节点固化算法,计算出同步节点固化时刻;
所述同步节点固化算法,计算公式为:
某同步节点固化时延=最大传播时延-压缩主机节点与该同步节点之间的传播时延
某同步节点固化时刻=接收时刻+某同步节点固化时延
其中,接收时刻为某同步节点收到冷启动包的时刻;
步骤4.2,在同步节点固化算法结束后,执行同步节点时钟修正算法,对同步节点本地时间进行修正;
所述同步节点时钟修正算法,计算公式为:
时分复用时延=(同步主机节点个数-1)×时分复用发包间隔
压缩函数时延=最大观察窗口+计算延时+压缩校验值
同步节点计划固化时刻=同步节点固化压缩包派遣时刻+2×最大传播时延+压缩函数时延+时分复用时延
同步节点本地时间误差=同步节点固化时刻–同步节点计划固化时刻
同步节点本地修正时间=同步节点本地时间+同步节点本地时间误差
其中,同步节点固化压缩包派遣时刻表示同步主机节点和同步客户节点发送固化压缩包的时刻,为0;压缩校验值表示所有发送有效固化压缩包的同步主机节点时间偏差的平均值;
步骤5,当本次同步周期结束后,判断同步阶段内已经执行的同步周期数是否等于预设同步周期数,当本次同步阶段内已经执行的同步周期数小于预设同步周期数时,开启下一个同步周期,重复步骤2-步骤4;当本次同步阶段内已经执行的同步周期数等于预设同步周期数时,同步阶段结束,返回步骤1。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京航空航天大学,未经南京航空航天大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910794213.9/1.html,转载请声明来源钻瓜专利网。