闰月
首页 > 民俗文化 > 农历知识 > 闰月 > 正文

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

什么是润秒(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硬件设备制造商有不同的方案来应对,如有的厂商在润秒事件发生后的一定时间段后才对时间进行调整。

相关文章
热点推荐