5

我有一个时间敏感的操作,需要注意其他计算机之间的时钟偏差,和/或防止这样的事情。如何检测或防止时钟偏差?

就我而言,我正在向 Azure Blob 写入压缩的日期时间戳。如果不同的节点会以不同的方式解释该日期时间戳(因为它可能发生在闰日或闰秒),那将是灾难性的


更多信息

我正在尝试检测本地节点当前时间的时钟偏差。

每个节点都会将时间敏感信息写入 Blob/Table。如果时间戳早于 X,则会发生某些操作。如果时间不同步,数据可能会丢失或损坏。

可能的解决方案

也许我可以让每个节点定期将其当前日期写入 blob 存储(32 字节),然后定期查询。

4

1 回答 1

2

有一些 .NET NTP 客户端 API 可以告诉您本地节点时间和 NTP 时间服务器上的时间之间的偏差。例如:

您可以使用 NTP 客户端将本地时间和偏差存储在您的 blob 中。当您在不同节点上读取 blob 时,您可以计算该节点的本地时间和偏差,并将其与 blob 的存储时间和偏差进行比较。

于 2012-10-17T16:35:45.633 回答