一种基于广播通信的时间同步方案猜想(同步广播制式)

网友投稿 338 2022-09-11


一种基于广播通信的时间同步方案猜想(同步广播制式)

本方案只是猜想,未验证。

因为网络时延,通常的时间同步方案都是基于双向通信,从而测出网络时延,但显然双向通信相对于广播通信是很复杂的,在一些简单的场景,也许我们不需要建立复杂的双向通信机制,只需要简单的通知网内成员就行了。

那么在广播通信中如何解决时延的问题呢?我们可以总结出,需要被同步的从机只需要知道当前的真实时间,更新自己的系统时间就可以了。而这个真实时间=主机同步时间+时延。主机同步时间是主机广播消息的发送时间,是已知的,而时延是未知的。现在的问题便是是否在某种机制中可以得到这个时延信息?

在这里我们假定数据传播途中的时间都是光速,是可以忽略的,而主要的时延来自于自己的机器发送数据或接收数据的时间,换言之,对于每一个机器而言,他自己的时延都是固定值。如果有中继器,中继器也应当被看作一个从机来管理自己的时间。

假如每台机器都发送两个数据:[timestamp delay],同时在接收到任意其他机器发来的这个数据后做两件事情:

更新自己的系统时间:timestamp_own = (timestamp_rev + timestamp_own + delay_rev + delay_own)/2;所有机器的delay初始值都是0,在接收到数据后更新delay:delay_own = abs(timestamp_rev - timestamp_own)/2;

很显然,我们应该先运行第二步,接下来运行第一步。

我们来考虑一下这样会发生什么:

假设delay全部为0且不被更新,那么如图1所示,主机时间为10,从机时间为0,现在要使所有机器时间一致(不一定是10,与主机时间一致的问题之后再讲),主机将数据[10 0]广播,数据传输到从机A、B、C的时延分别为1、3、2。所有机器都执行上述步骤1,即“更新自己的系统时间:timestamp_own = (timestamp_rev + timestamp_own + delay_rev + delay_own)/2”。那么经过一段时间,所有机器的时间必然是一致的,即使有微小的调动。因为所有timestamp都是收敛的。

现在假设只有从机更新时间,主机不更新时间,那么最终从机的时间必然趋于同步,但必然比主机有一个延时,这个延时应该是距离主机最近的从机到主机的延时,即主机到A的延时1。

但这里必然会因为时延对从机的不一致给这个同步机制中带来比刚才更大的抖动因素,而这个抖动来源于从机更新主机时间时主机到该从机时延的不一致,比如对从机A、B来说,主机给出的同步时间都是一样的,但真实时间不一致,因此从机A、B更新的时间不会一致(因为从机自己的系统时钟会将时延计算在内),从而带来抖动。于是我们可以增加一个数据位,从而消除从机对系统的影响,使从机可以很快的与主机时间同步。

我们可以修改数据位为[timestamp delay p],前两个与之前一样,增加一个p表示权重,主机的权重高于从机,比方说主机为9,从机为1,那么在接受到数据后需要做的事情改为:

从机:

所有机器的delay初始值都是0,在接收到数据后更新delay:delay_own = abs(timestamp_rev - timestamp_own)/2;更新自己的系统时间:timestamp_own = (timestamp_rev * p_rev + timestamp_own * p_own + delay_rev * p_rev + delay_own * p_own)/(p_rev + p_own);

主机:

所有机器的delay初始值都是0,在接收到数据后更新delay:delay_own = abs(timestamp_rev - timestamp_own)/2;

现在考虑时延的问题,在没有时延的情况下从机时间趋于一致稳定,而与主机时间有一个稳定的偏差,那么通过所有机器对delay的更新,必然可以使delay收敛于该偏差,从而消除主机的时延。

最后说明

XX_own表示己方系统变量,XX_rev表示接受数据中的变量。本方案只是猜想,没有经过实践检验,同时很可能论证过程中有些地方有问题,所以仅供启发参考使用。给出的几个计算公式可能会出现问题,此外很有可能会有更好的计算方法。


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Spring Security 核心过滤器链讲解
下一篇:中国移动手机网络私有网络连接问题解决办法(手机号无法访问移动网络是怎么回事)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~