定了!这个导致互联网崩溃的东西 2035 年取消
再见了
闰秒
闰秒即将成为历史。
(相关资料图)
现行公历中,除了有闰年,还有偶尔出现的「闰秒」, 每当闰秒来临,全球的「协调世界时」都会同时增加一秒。
然而就在 18 日,法国巴黎举行的度量衡大会(CGPM)上,科学家和政府代表 投票决定取消闰秒。这项决议到 2035 年开始实施,具体细节还在讨论中。
加拿大哈利法克斯计量研究中心负责人乔吉特·麦克唐纳 (Georgette Macdonald) 评价道,闰秒破坏了基于精确计时的时间系统,可能在数字时代造成严重的破坏。
就在不久前,Facebook 母公司 Meta 的工程师们也联名发表了一篇博客, 呼吁取消闰秒。包括微软、谷歌和亚马逊在内的科技巨头纷纷表示赞同,美国和法国的计时机构也认同了这一请愿。
Meta的工程师们发表的博客|Engineering at Meta
这套已经沿用了五十年、写进了各国中小学课本的闰秒制度,为什么突然就成了各大科技公司的眼中钉呢?
时间加一秒,计算机大崩溃
科学上有两种时间计量系统:基于地球自转的天文测量而得出的 「世界时」,和以原子振荡周期确定的 「原子时」。由于两种时间尺度对秒的测量方法不同,随着时间推移,两个计时系统的结果会出现差异,因此有了 「协调世界时」的概念。
1972 年,国际计量大会决定, 当「世界时」与「原子时」 之间的时刻相差超过 0.9 秒时,就在「协调世界时」上加上或减去 1 秒,以尽量接近「世界时」,这就是闰秒。自 1972 年至今,闰秒已经增加了 27 次。
这小小的一秒对于我们的生活来说也许并没有什么影响,很多人甚至察觉不到, 但对于计算机来说,这一秒足以令系统大规模崩溃。
说到因为时间计量造成的计算机崩溃,大家更熟悉的可能是「千年虫」。
千年虫(Year 2000 problem)
上世纪 60 年代,当时电脑内存和外部存储介质的成本很高,为了节省硬件成本,最早的女性程序员之——葛丽丝·霍普开发了六位数的日期存储方式,分别用两位数字来表示年、月、日,四位数的年份,只保留最后两位的数字。
这个习惯被 COBOL 语言继承了下来,进而传播到了整个计算机程序界。但当人们步入二十一世纪时,一些使用六位数日期的电脑很可能无法识别 2000 年的 00 究竟指的是 1900 年还是 2000 年,从而导致了大规模的程序错乱。
每次闰秒的调整也会给互联网带来类似的麻烦。
和千年虫不同,由于地球的自转受到海洋、大气、地核运动等多种因素影响,所以 闰秒的增加时机不确定,无法被提前写进系统,一旦互联网上的时间突然多出 1 秒,很多程序会认为「时间没有继续向前走,而是退回去了」,这违反了计算机的内在逻辑,错误就会由此而生。
闰秒出现时,时钟在走到一天的尽头时,不会直接变成 0 点,而是会多出一个「59 分 60 秒」|Qualys
在互联网承载了越来越多功能的今天,这样的事件屡见不鲜。2012 年 6 月 30 日午夜,当闰秒被添加入世界原子钟时,Reddit 服务器无法与之同步,整个论坛宕机了 40 分钟。Mozilla、Gawker 以及使用各种 Linux 服务器都遭遇了同样的闰秒问题。
2015 年 1 月,两家澳大利亚航空公司的系统因为闰秒瘫痪了 48 分钟,工作人员只能被迫用纸张办理登记手续。2015 年的 6 月 30 日,闰秒的增加同样产生了影响,让推特的推文时间显示出现了错误。Instagram、Pinterest、Netflix 和亚马逊等网站服务器崩溃,多个网站离线了约 40 分钟。
还有用户表示,他们的安卓手机和手表在距离 7 月 1 日还有几个小时时就把日期设为了 7 月 1 日。
哪怕是提前做好准备,也免不了在闰秒来临时遭遇宕机。2015 年 6 月 30 日,为了避免闰秒带来的更不可控的影响,美国洲际交易所集团在经历闰秒时主动停止运营了 61 分钟。
为了这一秒钟的修正,可是耽误了无数程序员和用户的时间,更造成了难以计算的经济损失。也难怪各大科技公司都呼吁要取消闰秒。
你说的秒是什么秒
闰秒这么麻烦的东西,到底为什么存在呢?
远古时期,人们就开始用太阳的东升西落来计算时间,古代学者将平均太阳日平分为 24 小时,再以 60 进制为基础,创造了分和现代的秒作为时间单位,这种以地球自转对太阳的周期为基准测量得出的时间就是太阳时。
但地球自转的周期并不是恒定的,而是在不断变慢,每天的日子也越变越长。13 亿年前,地球每年有 500 多天,每年有 13-14 个月。因为太阳和月亮的潮汐力作用引起了摩擦,产生的热量被耗散掉,消耗了地球自转的动能,使得其转动变慢。
随着时代发展,传统的世界时计量法很难再满足人们的需要,特别在太空探测、通信导航、天文观测、工业自动化等对时间精确度要求极高的领域更是如此。所以人们发明了计时更准确的原子钟。原子内部震荡不受外界环境影响,因此非常稳定和精确,以这种固定秒长计量的时间,其精确度每天快慢不超过千万分之一秒。
但随着时间推移,国际原子时和世界时这两个系统会出现差异,时间越长,这种差异就会越大。于是,国际计量大会在 1972 年决定,当「世界时」与「原子时」 之间时刻相差超过 0.9 秒时,就在「协调世界时」上加上或减去 1 秒,以尽量接近「世界时」,这就是闰秒。
由于地球自转周期难以预测,所以国际地球自转服务只能 每半年宣布一次是否会在未来六个月后插入闰秒。
从 1972 年到今天, 闰秒已经增加了 27 次。
不要闰秒,我们怎么办?
哪怕运行 140 亿年,原子钟的时间精度差也能保持在十分之一秒之内,为了让原子钟和世界时尽量保持一致,人们只能不断地插入闰秒,让程序员们们加班加点地处理 bug。
但除了现行的方法,也不是没有其他处理闰秒问题。
最简单粗暴的方法就是在插入闰秒前停止 NTP 时钟同步服务,待闰秒结束后再开启,断同步保平安。但这个方法成本太高,并且可能会带来其他影响。
目前, 国际大公司通用的解决方案就是「闰抹」,提前将一闰秒分成许多份,再平均分配到一大段时间中慢慢增加。谷歌和亚马逊会将一闰秒平均插入到 24 小时中,届时刚好和「协调世界时」同步。2015 年,日本股票交易所提前将这一秒平均分成 7200 份,分摊到两个小时里,在分摊结束时间恢复同步时,刚好赶上开市。
「闰抹」示意图 | 彭博社
时间是文明的坐标,是跨文化地区合作的基准,因为有了时间的概念,我们才能够穿越空间相约在一起。时间不完全准确就没有意义,可以说计时能力是文明发展程度的度量衡之一。如今,我们的文明已经走到了能用原子钟来计时这一步,如果继续向下深入,说不定还会有更准确的方法来计量时间。
虽然闰秒即将退出历史舞台,但世界时与原子时之间的微小差异仍然存在,解决方案仍在讨论中。
有专家认为,可以等时间差异累计到一分钟的时候再做统一更改,也有人认为可以把太阳时和协调世界时分离开,各走各的。但可以确定的是,当时间差异拉大到一秒以上,我们就能有更多的余裕去调和这种差异。
标签: 地球自转