1.基于HTTP的毫秒级时钟校准方法,其特征在于,包括如下步骤:
步骤一:设置毫秒级时钟误差下限为t1,毫秒级时钟误差上限为t2,发送HTTP请求的毫秒级时间间隔为t,t=(t2-t1)/2;
步骤二:在本地时钟到达整数秒时,本地主机向目标主机发送第一个HTTP请求,记录本地主机发送时间sendTime1,接收到第一次响应时的本地主机时间backTime1以及目标主机发送响应的时间serverTime1;
步骤三:等待一个时间间隔t,使本地主机向目标主机发送第二个HTTP请求,记录本地主机发送时间sendTime2,接收到第二次响应时的本地主机时间backTime2以及目标主机发送响应的时间serverTime2;
步 骤 四:根 据 sendTime1、backTime1 计 算 网 络 单 向 时 延 OWD,OWD =(backTime1-sendTime1)/2;
步骤五:计算秒级误差Δt1:计算backTime1-serverTime1-OWD,取计算结果的值向上取整赋值给Δt1;
步骤六:若Δt1>0,表示本地主机时间比目标主机时间快,则转到步骤七;
若Δt1≤0,表示本地主机时间比目标主机时间慢或者同步,则转到步骤八;
步骤七:若serverTime1≠serverTime2,则毫秒级误差Δt2在t1至t之间,将t赋给t2,再将新的t1、t2的中点作为新的t,即t2=t,t=(t1+t2)/2;
若serverTime1==serverTime2,则毫秒级误差Δt2在t至t2之间,将t赋给t1,再将新的t1、t2的中点作为新的t,即t1=t,t=(t1+t2)/2;跳转到步骤九;
步骤八:若serverTime1≠serverTime2,则毫秒级误差Δt2在t至t2之间,将t赋给t1,再将新的t1、t2的中点作为新的t,即t1=t,t=(t1+t2)/2;
若serverTime1==serverTime2,则毫秒级误差Δt2在t1至t之间,将t赋给t2,再将新的t1、t2的中点作为新的t,即t2=t,t=(t1+t2)/2;跳转到步骤九;
步骤九:若t1≠t2,则跳转至步骤二;若t1==t2,则Δt2=t1,进入下一步;
步骤十:若Δt1>0,输出时钟误差Δt=Δt1+Δt2;若Δt1≤0,输出时钟误差Δt=Δt1-Δt2;
步骤十一:根据时钟误差调整本地主机时间,消除本地主机与目标主机之间的时间差。
2.根据权利要求1所述的基于HTTP的毫秒级时钟校准方法,其特征在于,所述毫秒级时钟误差下限t1=0ms,毫秒级时钟误差上限t2=1000ms,发送HTTP请求的毫秒级时间间隔t=500ms。
3.根据权利要求1所述的基于HTTP的毫秒级时钟校准方法,其特征在于,所述目标主机发送响应的时间是通过解析接收到的HTTP响应中的Data字符串得到的。
4.根据权利要求1所述的基于HTTP的毫秒级时钟校准方法,其特征在于,所述本地主机发送时间、接收到响应时的本地主机时间和目标主机发送响应时间均采用UTC格式。