因为地球越转越慢,互联网可能会崩溃
本文来自微信公众号:果壳 (ID:Guokr42),作者:莎士比利,编辑:翻翻、Steed,头图来自:unsplash
现行公历中,平年有365天,闰年有366天,这是小朋友们都知道的生活小常识。但在闰年之外,还有偶尔出现的"闰秒",每当"闰秒"出现时,全球的"协调世界时"都会同时增加一秒。
然而不久前,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份,分摊到两个小时里,在分摊结束时间恢复同步时,刚好赶上开市。
"闰抹"示意图 | 彭博社
时间是文明的坐标,是跨文化地区合作的基准,因为有了时间的概念,我们才能够穿越空间相约在一起。时间不完全准确就没有意义,可以说计时能力是文明发展程度的度量衡之一。
如今,我们的文明已经走到了能用原子钟来计时这一步,如果继续向下深入,说不定还会有更准确的方法来掌控时间。但目前看来,我们还是只能通过人工干预的"笨办法"让原子时和世界时的差距保持在合理范围内。
人至中年,遇到一个异性知己多难多美有人说生命并没有什么意义,但是活着的话就可能会遇见有意思的事,就像你遇见了那朵花,就像我遇见了你。有时候,不经意间,邂逅一个人,美好了时光,葱茏了岁月那种味道,是苏醒的味道,那种芬
为人(写的真好)人生在世,最重要的是,人品。它是一个人为人处世的根本,也是一个人立于社会的根基,更是人生最宝贵的财富。古人曾说以德为本,才艺为末。为人做事,要把人品放在第一位。为人正,自会受人尊敬
叔叔养了10年的心尖小丫头(12)不断的伤害爱你的人,就像是在心上不断加重秤砣,压了人喘不过去,可当有一天,那个爱你的人突然间拿开给你的负累,心又像是飘到半空里,惶惶不安。原谅也许并不容易,伤害却轻而易举。夜离,你
詹姆斯戴维斯已经明确是头号选择湖人133129击败雄鹿。勒布朗詹姆斯得到28分8个篮板11次助攻,没有失误。本场比赛过后,詹姆斯生涯总助攻来到10342次,超越魔术师升至历史第6位。詹姆斯谈到超越魔术师说能和任
全明星扣篮王动作提前曝光郭艾伦点赞这扣篮我给10分CBA全明星扣篮大赛还没有开始,不过杭州现场已经内定扣篮王了,甚至为他拍摄了扣篮花絮已做颁奖用。从现场看到的扣篮动作来看,就算内定冠军也丝毫没有黑幕,跨人滞空接背扣,这是郭艾伦都点
假球?世界杯的剧本杀你看懂了吗?2022卡塔尔世界杯进行的如火如荼,12月3号,小组赛已全部踢完,16强已全部诞生,有球迷兴奋,这届世界杯有三支亚洲球队闯进了16强,日本队,韩国队,还有澳大利亚但也有人心酸,大圣
FIFA官宣日本第二球有效!乌拉圭无处喊冤,点球漏判,还面临禁赛2022世界杯卡塔尔世界杯H组第3轮,乌拉圭20加纳,但仍因进球数劣势被韩国挤出去无缘出线!该场比赛出现多次争议判罚,乌拉圭球员赛后围攻裁判,愤怒的卡瓦尼还一拳击倒了场边的VAR设
赛季最佳一战!湖人133129雄鹿,詹眉威刷爆纪录北京时间12月3日,NBA常规赛今天继续进行,备受中国球迷关注的湖人队今天对阵的六连客的第一个对手雄鹿队。本场比赛湖人这边全员出战,而雄鹿那边米德尔顿也复出,算是全员出战了。首节比
爆冷!榜一榜二纷纷落败,篮网名次反超76人,东部排名榜扑朔迷离12月3日,东西部11场常规赛结束后,东部排名榜更加扑朔迷离前2名凯尔特人和雄鹿纷纷爆冷落败篮网排名反超76人,赛季首次挺进前6名7连败魔术垫底全联盟排名榜骑士成为本赛季最大黑马尼
韩国队赢球后得意忘形,竟如此爱国北京时间12月2日,世界杯小组赛H组第3轮,韩国21逆转葡萄牙。如此一来,韩国在小组赛中积4分(1胜1平1负,净胜球0),积分和净胜球与乌拉圭20战胜加纳相同,不过,韩国以4球的成
42分39分!全联盟第一!对不起,保罗乔治,你已经无法单换他了NBA联盟总是会有年轻球星超级崛起,上赛季的莫兰特,本赛季的锡安威廉姆斯,年轻一代的超新星都在快速崛起。而且,东契奇和塔图姆本赛季也全面进化,他们不仅要打进全明星首发阵容,还要争夺