千年蟲問題曾困擾醫院業界 早做預案助解決危機

撰文:01醫務所 源栢樑
出版:更新:

今時今日智能科技發達,即使電腦系統出現故障,要修復並非難事,但20多年前,本港以至全球電腦系統曾受「千年蟲」問題困擾。當年不少電腦專家擔心全球時間系統由以「99 」作顯示的1999年,轉換至以「00」作顯示的2000年時,電腦系統會出現大規模故障,尤其對需全年24小時運作的醫療設施影響更深。
因此,本港醫院當年早已作出不同預案去確保院方能提供穩定服務,幸好最終未因「千年蟲」影響引發系統停運等問題。儘管科技數字化系統高速進步,但智能系統亦非全無漏洞,我們應時刻有居安思危的準備。
撰文:資深工程師及上任工程師學會會長源栢樑

相信不少港人對電腦「千年蟲」問題帶來的困擾仍歷歷在目。「千年蟲」是指電腦程式設計引致的問題,因1960年代計算機內存和外部存儲介質的成本很高,為節省硬體成本,研發者把年、月和日,以各2位、共6位數字來儲存時間,這編程習慣被承襲下來應用到整個電腦程式界內。

因此,系統在處理2000年1月1日以後的日期和時間時,或出現不正常操作,當年有專家擔心在凌晨時,不少電腦系統的相關機器會停運,如一些敏感的電力、能源和銀行設施等,或帶來災難性的後果,有人甚至擔心全球定位系統導航系統或受影響而拒在當天乘搭飛機。

筆者記得當年局方對本港醫院運作亦感到擔心,尤其醫院需24小時運作,若在手術中途電腦系統突然故障,隨時危及病人生命;而部分病人需定期用藥,若系統有問題亦對他們的治療有影響。因此,筆者與工程團隊已做好多方面預案和風險評估,如將部分時鐘調慢,令操作上不會全院所有時鐘均同時步入2000年,減少集體故障可能性;院方亦有交替互補及後備機組,以防一旦「千年蟲」來襲,仍有後備系統滿足緊急設施所需。院方當年亦曾進行演習,並將原定踏入2000年時前後進行的醫療服務稍為改期,為「千年蟲」來臨做足準備。

結果,踏入2000年的一刻,醫院大部分系統均能如常運作,似乎未受事件影響;但當時新界一間大型醫院卻發生大規模停電事件,幸好早設交替互補及後備電源,醫院仍如常運作,其後供電亦得以恢復。筆者等事後了解,始發現原來停電與「千年蟲」無關,反而是因渠道問題所致。因該院位處河口旁,地基下設有地下室作儲水空間去處理潮水漲退,部分連接醫院的排水管及電線均行經該處;醫院在事發前曾清理淤塞渠道,工人掘渠過深而令電線受損,但當時的電力供應仍未有異常,直至損壞位置逐漸受漏水影響引致電線短路,終令醫院部分位置停電,而恰巧意外於踏入千禧年一刻發生,令人誤以為與「千年蟲」有關,現在回想不禁使人捏一把汗。

若有人忽發奇想,如果有下一個「千年蟲」,即三千年蟲出現的話,我們還有900多年足夠的時間去準備;但事實上有專家已指出另一個類似2000年問題卻可能會在2038年出現,離現在不遠,主因是全球普遍使用的一種服務器軟件系統,是以32位元的二進位數字,最多可算2,147,438,647秒。這種32位數字是從1970年1月1日起使用,此格式能被顯示的最後時間是68年後、即2038年1月19日,因此此時間後電腦系統可能無法工作,甚至無法識別2038年,更可能「跳回」1970年或1901。

筆者回想,當年因「千年蟲」問題,幸好各醫院先就系統停運做預案,亦加設了院內交替互補及後備電源,才能減低事件的影響,否則當年隨時出現整幢醫院大樓停電情況。而時至今天,公立醫院已有制訂各類運作預案,並不時演習,希望能為大眾提供更優質服務,或許這些預案亦有助醫院過渡2038年系統的問題。

《01醫務所》與資深工程師源栢樑合作,逢周一推出專欄「源途有你」,分享工程與醫療的大小事。

源栢樑一直以推動工程界專業發展為己任,亦剛剛卸任工程師學會會長一職。數十年專業路途,著實值得回憶,亦深信後來者或可從中領會工程專業要點所在。源途有你,就讓大家一起體會。