一秒的威力有多大?
中科院國家授時中心于北京時間7月1日7點59分59秒和全球同步進行閏秒調(diào)整,我們的生活中出現(xiàn)了7∶59∶60的特殊現(xiàn)象。閏秒調(diào)整會對我們的生活產(chǎn)生什么影響? 澳洲航空公司及維珍澳大利亞航空公司使用的辦理乘客登機手續(xù)系統(tǒng)發(fā)生故障,數(shù)千名澳航旅客受困。Reddit、Gawker、LinkedIn、Foursquare和Yelp等網(wǎng)站全數(shù)崩潰。包括Liunx操作系統(tǒng)和Java應(yīng)用平臺在內(nèi)的多個軟件基礎(chǔ)平臺相繼出故障。 擊垮全球網(wǎng)絡(luò)系統(tǒng),僅僅只需一秒鐘,它的名字叫“閏秒”。 閏秒調(diào)整具有必要性 “我們的時間計時一般有兩種方式,一種是類似于古代日晷法的世界時,一種是利用原子振蕩周期計算的原子時。世界時更符合人類對日出而作,日落而息的習(xí)慣,而原子時則更為精確,便于計算。”北京大學(xué)物理學(xué)院副教授雷奕安解釋說,“因此,1972年便產(chǎn)生一種稱為‘協(xié)調(diào)世界時’的折中時標(biāo)來計算我們的時間。” 閏秒,就是為保持“協(xié)調(diào)世界時”接近于“世界時”時刻,由國際計量局統(tǒng)一規(guī)定在年底或年中(也可能在季末)對“協(xié)調(diào)世界時”增加或減少1秒。 然而,增加的這1秒我們似乎并沒有什么感覺,幾乎可以忽略不計,反而給諸多系統(tǒng)帶來了煩惱,為何要費力去調(diào)整? “1秒鐘對于日常生活來說,好像覺得沒有什么,可以忽略不計。但它有一個‘累積效應(yīng)’。” 北京大學(xué)網(wǎng)絡(luò)與信息系統(tǒng)研究所助理研究員謝正茂說,“如果從1972年第一次發(fā)生閏秒的時候便不調(diào)整的話,現(xiàn)在已經(jīng)有25秒的偏差了。” “取消閏秒的一個辦法就是放棄太陽時,而改用世界協(xié)調(diào)時。” 北京理工大學(xué)信息與電子學(xué)院博士生導(dǎo)師李海副研究員表示,“但是,原子時間‘太精確’也會帶來問題,例如人類早已習(xí)慣以‘日居正中’作為中午的標(biāo)準(zhǔn),但若改用原子鐘計時,在地球越轉(zhuǎn)越慢的情況下,千年后的人類將發(fā)現(xiàn),‘日居正中’將是下午1時。” 據(jù)李海介紹,取消閏秒是否會帶來其它不利因素,目前還不清楚,所以支持取消閏秒的國家目前還不是很多。 閏秒故障可提前防范 “閏秒對于所有需要精確計時并需知道全局時間的領(lǐng)域都會有影響,還包括天文精確測量。”雷奕安介紹道,“而各種電子設(shè)備能否很好地處理則取決于廠家有沒有考慮到閏秒這一問題。” 據(jù)李海介紹,閏秒對于通信行業(yè)影響是很小的,大多數(shù)通信設(shè)備對時鐘同步問題都有專門的設(shè)計,比如移動通信基站多數(shù)都會和GPS同步。而這次閏秒發(fā)生嚴(yán)重問題的,主要是網(wǎng)絡(luò)系統(tǒng)。 “我們都有經(jīng)驗,如果一臺計算機有幾個月不校時,它的時鐘可能會和標(biāo)準(zhǔn)時間差幾秒甚至更長時間。”李海向我們介紹,“為了使計算機的時鐘更準(zhǔn)確,大多數(shù)計算機都會通過網(wǎng)絡(luò)和采用原子鐘授時的計時中心的網(wǎng)站進行時間校準(zhǔn),而校準(zhǔn)的通信協(xié)議叫NTP。” “出現(xiàn)閏秒故障的計算機多數(shù)都是在采用NTP進行校時,不能正確處理閏秒調(diào)整所致的。其實這種故障只是一個編程的錯誤,完全是可以避免的。不僅僅是這次閏秒發(fā)生嚴(yán)重問題的Linux和Java,其實大多數(shù)操作系統(tǒng)和編程語言都無法表示閏秒。包括我們使用的Windows也會在一定程度上受影響。這是因為絕大多數(shù)操作系統(tǒng)和編程語言在設(shè)計時都沒有考慮1分鐘可能有61秒的情況。”李海補充說。 為了形象地解釋原因,謝正茂打比方說:“比如你住在二樓,每天出門的時候有十個臺階,每天這么走已經(jīng)習(xí)慣了。有一天突然出現(xiàn)了十一個臺階,如果你是清醒的話,那是沒有問題的,就會多走一個臺階。但是如果你每天習(xí)慣了走十個臺階,而那時候又迷迷糊糊的話,就自然會摔一跤。” “將絕對時間和日歷時間區(qū)別開就可以解決這一問題。”雷奕安告訴我們,“關(guān)鍵設(shè)備可以采用精確的絕對時間,比如從某一時刻開始以來的秒數(shù),而不是多少天多少小時。” 謝正茂說:“閏秒有點像千年蟲的問題,在寫程序的時候有些問題不能完全考慮到,就需要對一些錯誤的代碼進行修改。如果不進行修改的話,有些BUG會造成比較大的問題。不同的是,閏秒發(fā)生得比較頻繁,不像千年蟲一千年才發(fā)生一次,所以在這方面,人們應(yīng)對的經(jīng)驗也正在豐富。” 可大致推算但無法精確預(yù)測 “因為地球的自轉(zhuǎn)大致均勻減慢,但是地震等不規(guī)則活動對地球自轉(zhuǎn)也有影響,因此閏秒不是非常規(guī)律的,需要實測。”雷奕安說。 “現(xiàn)在有人在給地球的基本時間,也就是太陽日的長度波動畫了圖,這個圖有點像五線圖,大體上有一定的趨勢。”謝正茂告訴我們,“像70年代閏秒的長度波動現(xiàn)象就比較大,兩千年以后開始趨于平緩。” 李海說:“通常,當(dāng)世界協(xié)調(diào)時和平均太陽時之間的差別大于0.9秒時就會進行閏秒調(diào)整,而不會等著兩者之間的差別達到兩秒或者更多的時間再調(diào)整。另一方面,一年中有兩次調(diào)整閏秒的機會,分別在6月底和年底,世界協(xié)調(diào)時和平均太陽時之間的差別變化非常緩慢,一年內(nèi)的變化通常不足0.5秒,而不會突然由不足0.9秒一躍到兩秒或者更多。” “我們需要區(qū)分閏秒和閏秒現(xiàn)象這兩個不同的概念。”謝正茂提醒說,“閏秒現(xiàn)象是用來形容‘太陽日長度波動’的。‘長度波動’導(dǎo)致兩個時間出現(xiàn)偏差,偏差每天都在發(fā)生,并產(chǎn)生累積。當(dāng)累積到0.9秒的時候就會進行一下閏秒。這就有點像給小孩子買衣服,小孩子長個兒了,以前的衣服就不能穿了,你需要給他換大一號的衣服,雖然你沒法提前很久預(yù)測,但是到了差不多時候就知道肯定要預(yù)備了。”(實習(xí)生 劉冰玉) |
