认识「公元2000问题」刻不容缓

1998-06-15

  还有不到六百天的光景,人类历史便会踏进公元 2000 年,这个本应是普世欢腾的日子,现在却因为一个全球性的电脑程式设计缺陷而蒙上阴影。世界各地的政府、金融机构、工商企业,以至个人电脑用户,无不为公元 2000 年这条可怕的「千年虫」的进袭大限而忧心忡忡。

  「公元 2000 问题」(简称 Y2K)通常被传媒戏称为「千年虫」(Millennium bug),它泛指所有自动化系统中由于记录年份的数据只储存个位和十位而产生的运算错误,在日常生活中,使用两位数字来表达年份不会引起任何混乱,因为我们都懂得在 49 或 98 之前冠以 19 作为完整的年份。然而,这个习惯将会在廿一世纪初面对很大的冲击,例如,一个出生年份为 10 的人,应该是 1910 还是 2010 呢?当然,以人类的智慧作判断,并在必要时加以核实,错误的机会应该很低。但以电脑程式运行的大规模数据处理系统,或纯粹以时间控制的作业系统,便无法作出这样的适应了。

「千年虫」不能小觑

  我们绝不能小觑自动化系统错误判断年份所带来的问题。从跳字手表内的晶片、微波炉和录影机的内置计时开关,以至银行计算按揭利息和保险公司计算保费的电脑程式,甚或是机场管理航班升降的系统、医院里电子化的医疗仪器等,都必须依赖准确无误的时间运作,错误的代价可能不堪设想。一些资讯技术顾问的言论,加上传媒绘影绘声的报导,令不少人相信当时间踏入公元 2000 年一月一日零时的一刻,全球的电脑都无法再正常工作,汽车会因为其时间控制的元件失灵而抛锚,飞机、火车、轮船的班次出现混乱,医院里供病人使用的维生系统停顿... ...。而随之而来的,是各种电脑数据处理系统的错误,如银行错误计算存款期、政府向高龄人士发出小学入学通知书、水电费欠交一百年等令人啼笑皆非的事情。

  「千年虫」的出现,早在一九六○年代末商用电脑系统出现时已埋下伏线。当时电脑资源的成本费用,与今天的相比可谓天壤之别。昔日的系统分析员和程式编撰员均尽可能节省每一个电脑程式所需的资源,使系统运作更有效率。如记忆体、磁盘储存和中央处理器等,均被视作必须节约的珍贵资源。懂得将年份里的世纪部分省略,可说是程式编撰员必须具备的常识和「智慧」。事实上,直至八十年代,不少电脑教科书甚至电脑科教授,仍然很自然地以两位数字储存年份。电脑业不乏高瞻远瞩的人才,但也许没有多少人会想到很多设计于七十年代的电脑程式将会沿用至跨越世纪,而即使具远见者也无力扭转早已根深蒂固的编程习惯,加上电脑在人类生活上的应用急速发展,令「千年虫」的问题扩散到无法收拾的地步。

  要解决应用程式内的「千年虫」问题,是一件人力密集的工作,试想像一家中小型企业的电脑系统内,动辄有成百上千的程式在运行。要确定这些程式符合公元 2000 要求(即在过渡二千年时运作正常),必须由有经验的程式编撰员仔细地逐一检查,当遇有不符要求时对程式作出修改;此外,现时储存在磁盘磁带等媒介上的原始数据和数据库,亦需加以调整,将所有只带两位数字年份的数据,一举更改为四位储存。

庞大资源应付危机

  全球为应付「千年虫」问题所需的资源极为庞大,已达到无法估计的地步。就应用程式而言,电脑业界普遍以电脑程式的行数作为系统大小的指标,视乎电脑化程度而定,一家企业所应用的程式,由数万行至数百万行不等。一些专家初期曾经估计,平均检查和修改一行程式的费用约为 1.1 美元,这个数字现已随着公元 2000 的迫近而提高至 6.46 美元。然而,要全面应付「千年虫」危机的费用和执行的难度,事实远较检查和修改程式为高。

  首先,当所有程式被修改以后,必须进行个别和综合的测试。但企业内的电脑硬件,通常早已为现时正在运作的旧系统占用大部分资源。无法腾出空间以供测试之用,不少企业此时便惟有租用电脑服务公司的设备,或索性将电脑系统升级。此外,有些电脑硬件和操作系统,根本无法过渡公元 2000,部份厂家会向客户提供免费修补程序(patch program),但亦有要求客户购置新型号的产品。

  相比之下,人力资源较电脑软、硬件的配合更具决定性的影响。不少企业机关的资讯科技部门员工,在维持和改善现有系统,以及为企业开辟新领域而设计新系统的同时,还得面对「千年虫」带来的工作压力。在经济普遍放缓的二十世纪末,没有多少机构能同时兼顾所需的人力资源。加上全球各地对资讯技术人员的需求同时激增,令人力市场供不应求。在重重困难下,不少机构都只能借助顾问公司的服务,或聘请经验参差的临时员工,以舒缓目下危机。

  全球清除「千年虫」的行动已在一九九八年进入高峰期。着眼于这个「千载难逢」机遇的顾问公司,已不断举办收费讲座、出版策略报告,以及提供系统分析和更改程式的专业服务。部份软件商更设计和出售测试工具软件,协助专业人员检定现时的应用系统是否符合公元 2000 年。电脑顾问业估计,全球为应付「千年虫」危机的总开支,约为 1.3 万亿美元 (US$1.3 trillion),是美国一九九七年国民生产总值的 16%。这些款项,绝大部份将流入提供消灭「千年虫」服务的顾问公司口袋里,而销售符合公元 2000 电脑系统的厂家和乘势崛起的软件商,亦将有一定的进账。

及早制订应变措施

  「公元 2000 问题」是一项全球性和史无前例的项目,没有那一个系统经理能说自己经验丰富。这个项目的难度,可以归纳为四点:(一)工作量庞大,所有系统必须同时修正或更新;(二)现有系统的正常运作被迫受到影响;(三)人力资源和经费预算不足;(四)项目完成日期铁定在公元 2000 年前,无法更改,各国政府已意识到问题的严重性,并加速探讨问题的解决方法和进行有关拨款。香港政府亦已敦促各部门、资助机构和金融机构等正视「千年虫」问题,进行危机评估和着手更新系统,定期提交进度报告,并且制订应变措施。

  消灭「千年虫」行动的一个重要阻力,是基于机构的管理阶层对问题的不理解,不少主管认为这是电脑部门制造出来的问题,对有关资源的申请不予支持,或索性不闻不问。有些人也误以为「千年虫」只影响大型电脑系统,个人电脑用户无须担忧,事实上某些型号微型电脑中的内置系统晶片都无法过渡公元2000,必须予以更新,有些人更以为找来一个清除电脑病毒的软件,便可以解决「千年虫」的问题。

  电脑业内流传这样的一个笑话:财务总监气急败坏地跑到行政总裁面前说:「不好了,电脑部的同事要赶工处理千年虫问题,恐怕不能如期完成新的财务系统了。」行政总裁胸有成竹地笑着说:「真不明白他们为什么老爱夸大其词,不用担心。你看!一九九九年十二月三十一日正好是星期五,他们有整整一个周末去解决问题呢!」难怪不少大机构处理「千年虫」危机的工作小组,都将教育员工认识问题列作首要任务。当业者能透彻了解千年虫对企业运作所带来的风险,它所造成的伤害亦会减至最低。

解决问题小常识

*千年虫是电脑程式设计时的一种缺陷,与恶意编写的电脑病毒程式不同,不会因电脑接触有关软件而受到感染,也无法利用消除电脑病毒的公用软件解决千年虫引起的问题。

*有些千年虫相关的问题,会在公元 2000 年前出现。例如要编订公司未来两年的每月营业预算,并作正确的排序,便必须使用四位数字的年份了。

*千年虫问题不单会在主体电脑出现,亦会影响个人电脑、操作系统、常用的应用软件和网络服务器等元件,用户可向有关厂商查询其产品是否符合公元 2000 标准。

*有些电脑程式不符合过渡公元 2000,是由计算闰年的复杂性引起的。历法订明,能被 4 整除的年份都是闰年,但能同时被 100 整除的年份却属例外,而若能被 400 整除的年份则仍然是闰年,因此,1996 年是闰年、1800 和 1900 都不是闰年,而公元 2000 年却是一个闰年。

*千年虫问题不单影响电脑系统,任何由时间操控的自动化系统,都存在同样的危机。家用电器、影音设备和保安系统等,都应该作适当评估,以便一旦运作不正常时不会手足无措。闻说不少银行和金库,以着手测试由时间控制开关的保险库,能否在公元 2000 年后开启。

*个人电脑的用户,是可以自行测试电脑内置系统(不包括所使用的应用软件)是否符合公元 2000 标准的。但千万不可随便将系统的时钟调较至公元 2000 年以后的日子,这样做很可能令系统内一些以时间控制的口令 (password) 和软件使用权失效,或导致数据库和预约日历等软件发生错误。读者可参考以下万维网页的测试程序:http://www.cuhk.edu.hk/mcas/mcts/y2ktest.htm

*为避免购入不符合公元 2000 标准的产品,不少机构均在订单上加入条款,要求供应商清楚列明产品是否合格,以及保留权利,当一旦因产品失效而导致损失时可以追讨赔偿。

*不少顾问公司和媒体均在互联网上发布有关「千年虫」的最新消息和研究文章,电脑厂家亦经常公布其产品符合的进度,供客户参考,读者可阅览以下一些万维网页:
http://www.cio.com/forums/y2k/
http://www.year2000.com/
http://www.cuhk.edu.hk/mcas/mcts/y2kur1.html

  千年虫问题并不是单一个案,有顾问公司预计,当美国道琼斯工业平均指数升至一万点关口,部分证券公司和交易所的电脑系统将会出错,原因是这些系统一直只处理四位的指数。若电脑把一万点的历史新高误作一千点,将触发大量程式沽盘而导致市场混乱。「道琼斯万点虫」(DJ10K) 有别于千年虫,是一枚不知什么时候会爆发的炸弹。

相关文章 / Related Articles

香港学生反修例运动中网络关系解体的实证调查

宋昭勋、吴静、胡欣立
2021-01-11

中国传媒上的「奉劝」

钱钢
2020-05-15