闰秒是什么,“闰秒”事件全揭秘

heiwantiyu 22-11-21 113阅读

温馨提示:这篇文章已超过722天没有更新,请注意相关的内容是否还可用!

甚么是润秒(leap

second)

默认值(或称跳秒)是UTC做出加一秒钟或减一秒钟的修正,用以协同不光滑的火星进动天数与氢原子天数间的比值不少于0.9秒。

默认值造成其原因

1、根源是火星进动不平衡。

2、天文学天数,以火星进动1次为六天。但火星进动现阶段已经开始渐渐减慢,主要就是由星星-月亮重力,和外部(地函、地函)和外部(地理环境、极地)形成负面影响。那时的六天比 1820 年的六天略长 2 微秒。

3、UTC国际性氢原子天数,是如前所述铯氢原子的状态参数来确认,是两个或其准确的天数。

4、润秒那个事,是人类文明崇尚准确到无与伦比的两个范例。

默认值的修正形式

1、UTC天数会有23:59:60再次出现

2016-12-31 23.59.58

2016-12-31 23.59.59

2016-12-31 23.59.60 <-->

2017-01-01 00.00.00

2017-01-01 00.00.01

对于北京天数是

2017-01-01 07.59.58

2017-01-01 07.59.59

2017-01-01 07.59.60 <-->

2017-01-01 08.00.00

2017-01-01 08.00.01

默认值的危害

1、润秒对于人是没有任何危险的。

2、它会对冰冷的程序的造成危害。危害的根源在于程序的健壮性,也是程序是否考虑了59:60的情况。如果程序没有考虑到,那么程序(不管底层应用如os、db,还是上层应用)可能会造成异常、崩溃、甚至业务系统数据错误。

默认值的解决办法

1、增强程序的健壮性,加入59:60的处理

(1)每个厂家都有提供了相应的补丁,打上了补丁应该就可以避免再次出现问题

(2)对于年久失修的程序,再去纠结、处理那个问题就很有难度了,工作量大、容易遗漏,甚至都没有源代码

2、拒接59:60再次出现

(1)对于可以允许同UTC天数有差距的业务,最简单、最粗暴的办法是在润秒发生期间不进行NTP/PTP同步;待危险期过后再进行时钟同步,由NTP的自有机制逐步追平相差的那1s。

(2)OS厂商提供了补丁在NTP的Client端、和作为NTP服务器的Server端来规避59:60的再次出现,如slew模式,从而避免上层应用收到负面影响;

(3)不同的NTP硬件设备制造商有不同的方案来应对,如有的厂商在润秒该事件发生后的一定天数段后才对天数进行修正。

文章版权声明:除非注明,否则均为黑娃体育原创文章,转载或复制请以超链接形式并注明出处。