關注我,和600萬差友一起玩轉科技~
最近馬上要發生一件不大不小的事兒。
事件類似 2000 年時的千年蟲事件。
在計算機被發明出來的 20 世紀,大家一開始想問題比較簡單,覺得軟件不會用很久,于是用兩位數字代表年份。
很顯然。。。在 19XX 年的時候沒啥事兒,但是 2000 年會出現問題:計算機碰到 “ 00 ” 會理解為 1900 年。
很多程序運行可能會出現問題,設備甚至可能停止運轉。。。
不過因為政府企業高度重視這個問題,所以最後沒有鬧出大規模故障。
現在的服務器普遍使用的 Unix 系統用的是 32 位二進制整數表達時間,足夠用到 2038 年 ~
不過差評君這回要說的問題是迫在眉睫的, GPS 授時翻轉問題。
GPS 大家應該都聽過,是美國國防部為了給軍隊定位而發射的衛星組,共有 24 顆衛星組成,後來漸漸轉給全世界民間使用。
這套系統除了定位,還有個作用就是授時。
全球各地能在一起通信,工作,有一個很重要的因素需要維持,便是時刻。
也許各地會存在時差,但我們這兒說的是時間流逝的誤差。
同樣過了一天小時,不能我這兒時鐘顯示過了 23 小時 59 分 59 秒,你那兒過了 24 小時 00 分 01 秒。
日常生活差個一兩秒關系不大,但是時間久了以後,銀行系統,航班系統,股市開盤等等都會受很大影響。
說白了,大家的時鐘要保持一緻。
會造成時鐘差異的原因很簡單,現在的計時方法本質上還是測震動頻率,比如常用的石英鐘就是給晶體導電後測振蕩次數 -- 每隔 1431 萬 8180 次就記一秒。
原子鐘會更精确一些,例如铯原子鐘的頻率是每 9192631770 次振蕩記一秒。
但各地用不同的時鐘難免會有其他因素,例如電流影響,磁場影響,人為影響。。。當你在做一個精确度要求極高的事情時,屁大的事兒都是幹擾。
或者說。。。相對論:你坐了一天飛機,處于高速移動的狀态,因此時間會過得慢一些,宅家裡一天的我過了 1 秒,但你可能是 0.999912345 秒。
好吧。。。既然誤差難以規避,那咱們不管誤差,大家用同一個鐘。
或者說得實際一點,大家都拿自己的表和同一個來源校準。
這就是 “ 授時 ” ,我國就有個 “ 中國科學院國家授時中心 ” 。
那麼問題來了,當地球距離比較遠的兩地要校準時間時,會發生什麼?
假設我們放在中國,那麼美國人發送授時請求時就會這樣:
信息傳遞速度的極限是光速,我們湊個整算它 30 萬千米/秒。
中國和美國的地理位置中心相隔 11657 千米。
11657 千米 ➗ 300000 千米/秒 = 0.039 秒
一次授時發送請求,再反饋授時,花在路上的時間就有大約 0.08 秒誤差,一天多次授時下來,誤差還挺可觀的。。。
這麼看來,地面授時有一些局限性。。。
那在天上呢?
這兒就可以說回剛才提到的 GPS 授時了,GPS 不僅可以拿來定位,也可以授時。
每個 GPS 衛星上都帶有高精度的原子鐘,他們互相備份和糾正時間,并且定期和地面控制站通信授時。
考慮相對速度和信号傳輸速度, GPS 授時還會通過一些公式消除誤差,既精确,對全球來說又很公平。
GPS的時間計數由周和秒組成,一周等于 604800 秒,也就是說每當秒數記錄到 604800 就會歸零,周計數會 1 周。
但可能是資源有限,GPS 裡周的計數隻用了 10 位二進制數字來表達,也就是說上限隻能計 2 的 10 次方 -- 1024 周。
坑爹的是。。。周計數滿了之後沒地方進位了,還是會照常歸零。。。
如果接收 GPS 授時設備的廠商沒有提前做準備,那可能一個不留神設備的時間就滾回 19 年前了。
在例如航天,電力,金融等對時間很敏感的領域裡,時間錯誤就是災難。。。
這一次的回滾時間點,是北京時間 2019 年 4 月 7 日早上 7 時 59 分 42 秒。
看起來是不是離得超近了呀。。。
其實也沒那麼可怕,有很多方法去規避,1999 年就發生過一次,啥事兒也沒。
一般解決方法就是更新一下軟件,注意授時有沒有滾動,有的話注意計時開始時間點要更新。
近幾年研發的設備一般都會考慮到這個問題,如果沒有的話聯網滾動更新一下就好。
稍微麻煩一些的嵌入式系統則需要和廠家聯系,如果沒有提前準備那就得抓緊時間啦。( 雖然差評君相信以他們的專業水平,老早就注意到這個問題了 )
一些設備廠已經提醒客戶注意更新
有的新聞說在那一天飛機不能坐了,但現在的飛機其實不完全依靠 GPS 數據,隻是做一個位置參考,不會幹擾飛行安全。( 此說法來自紅星新聞對民航資深機長陳建國的采訪 )
你要是覺得 GPS 老因為這個缺陷麻煩人很不爽的話。。。用北鬥呀 ~ 我國的北鬥系統現在非常成熟了,不少國内廠家都已經開始轉北鬥授時了 ~
所以在那一天,其實你啥也不用幹,不要輕信什麼謠言,好好過一個清明節假期就行啦 ~
參考資料:衛導信息 “ 聚焦丨GPS周計數翻轉臨近,來看看吧! ”紅星新聞 “ 4月6日乘飛機很危險?資深機長回應了 ”感謝閱讀~
歡迎點贊、評論,分享你的觀點~
,