恐造成下一个“千年虫”的闰秒,遭科技巨头们联合抵制

恐造成下一个“千年虫”的闰秒,遭科技巨头们联合抵制
文章图片
整理|彭慧中责编|屠敏出品|CSDN(ID:CSDNnews)近日 , 谷歌、Meta、微软和亚马逊四位科技巨头呼吁将闰秒取消 , 并称闰秒会对网络造成巨大影响 。 闰秒或将成为下一个类似“千年虫”bug的罪魁祸首 。
原来 , 除了闰年与闰月外 , 还有闰秒这一说?那它又是如果波及网络世界的呢?
运行50年的闰秒 , 说取消就取消?
闰秒这一概念于1972年被首次提出 。 是指为保持“协调世界时”接近于“世界时”时刻 , 由国际计量局统一规定在年底或年中(也可能在季末)对“协调世界时”增加或减少1秒的调整 。
科学上有两种时间计量系统:基于地球自转的天文测量而得出的“世界时”和以原子振荡周期确定的“原子时” 。
“世界时” , 以地球自转为基础的时间计量系统 , 由于地球自转不稳定会带来时间的差异 。
“原子时” , 由原子振荡周期得出的较恒定的时制 , 是一种均匀的时间计量系统 。
根据“世界时”和“原子时”的速率差异进行推算 , 大约5000年后“原子时”会比“世界时”快1个小时 , 因此 , 1972年国际计量大会通过决议:使用“协调世界时”(即以原子时秒长为基础 , 在时刻上尽量接近于世界时的一种时间计量系统)来计量时间 。 当“协调世界时”和“世界时”之差超过0.9秒时 , 国际地球自转服务组织(IERS)就负责对“协调世界时”拨快或拨慢1秒 , 这就是闰秒 。
1972年以来 , 闰秒已经出现过27次 , 上一次是2017年1月1日7时59分60秒 。 当“正闰秒”发生时 , 一分钟将有61秒 。 例如 , 当需要插入闰秒时 , 23:59:59之后将不是00:00:00 , 而是会多出另一个原本不存在的“23:59:60” 。 在1972年 , 闰秒的诞生曾让科学界和电信行业都很高兴 , 但如今它对数字应用行业和科技行业来说却同样糟糕 。
闰秒的杀伤力不容小觑
这个小小的闰秒造成的蝴蝶效应曾令整个网络世界屡次崩溃 。
闰秒曾在2012年引发了Reddit的大规模停机 。 开源社区Mozilla、社交平台LinkedIn、美国商户点评网站Yelp和机票预订供应商Amadeus也都遇到过相关问题 。 2017年 , 美国云安全网络公司Cloudflare因闰秒变化而遭遇的故障导致客户的一小部分服务器离线 。 尽管Cloudflare的程序员提前写好了软件程序比较了两个时钟 , 计算出时间已经倒退 , 但无法对这一结果作出正确处理 。
然而 , 类似“闰秒灾难”所最著名的例子就是1999年所谓的“千年虫” , 当时人类创建的数据库只记录了1999年的最后两位数 , 并在1999年变成2000年时带来了一系列问题 。 等到2038年 , 当一些计算机用来计算1970年1月1日开始的秒数的32位数字不再足够大时 , 一个相关的问题就会出现 。
今年早些时候 , 当网络浏览器的版本号达到100时 , 一些网站因编程只处理两位数的版本号而发生了堵塞 。
废除闰秒 , 时机已到?
针对闰秒问题 , 谷歌曾于2011年提出“闰秒弥补(leapsmear)”方案——调整系统内部的网络时间协议(NTP)服务器 , 每次更新时增加几毫秒 , 弥补闰秒多出来的那一秒钟 , 以保证服务器能够正常运行 。 但是 , 只要闰秒还存活在这世上 , 程序员们就得一直花精力操作 。
恐造成下一个“千年虫”的闰秒,遭科技巨头们联合抵制
文章图片
图源EngineeringatMeta在此之前 , Meta的程序员们也采用过上述方法 , 可他们依然太害怕这些麻烦事儿了 。 为什么不能一劳永逸呢?他们认为改变全球计时的方式比修复代码更容易 。 其工程师OlegObleukhov和研究科学家AhmadByagowi就发文表示 , 上述方案只适用于解决“正闰秒”出现的情况 , 随着地球自转模式的改变 , 未来还可能出现“负闰秒” 。 不彻底解决这一问题 , “将对依靠计时器或调度器的软件带来毁灭性的影响 。 ”