• 47阅读
  • 0回复

解决计算机2000年问题迫在眉睫 [复制链接]

上一主题 下一主题
离线admin
 

只看楼主 正序阅读 0 发表于: 1998-04-22
第7版(国际)
专栏:院士园地

  解决计算机2000年问题迫在眉睫
  中国工程院院士 倪光南
  作者简介倪光南,1939年生,浙江镇海人。1961年毕业于南京工学院(现东南大学),首创在汉字输入中应用联想功能,联想集团首任总工程师,主持开发了联想式汉字系统、联想系列微型机,先后于1988年和1992年两次获得国家科技进步一等奖。1994年被遴选为首批中国工程院院士,现为全国政协委员,联想集团研究员。
  距新世纪尚有610多天,但世界上许多公司的计算机系统已遭到了2000年问题的困扰。2000年问题已迫在眉睫。
  波及一切计算机系统
  什么是计算机2000年问题(又称千年问题)?早期的计算机为了节省存储空间,通常都用末二位数字表示年份。例如,1975年表示为75,这种做法已经沿用了二三十年。随着21世纪的到来,这种做法就出现了麻烦。例如,2000年就与1900年无从区别,2001年也与1901年无从区别,如此等等。由于在计算机系统中经常用日期来进行计算、比较、排序,或者根据日期决定数据是保存还是舍弃等等,那么对2000年的错误表示就会导致出错甚至会造成系统的崩溃,引起业务停顿,通信阻塞,贸易冻结等等极其严重的后果。
  2000年问题实际上牵涉到一切计算机系统,而并不像有些人想象的那样,只影响运行在老机器上的COBOL程序,它也影响到新的微型机和工作站,甚至也牵涉到嵌入式系统(即含有微处理器的各种控制系统)。所以,通信系统、交通控制系统、工业控制系统、商业系统(包括收款机、读卡机、票据打印机、各种编号系统和设备等等)都会受到影响。
  危害严重 麻烦很大
  有报道说,有人拿了2000年到期的信用卡到商店去,结果店里的读卡机认为卡已过期而加以拒绝,这种情形现在已时有发生。在1996年,VISA信用卡公司曾要求其成员银行禁止发放2000年到期的卡,以避免出现问题,并要求它的商家更新设备。后来在1997年10月VISA信用卡公司作了调查,确定在它的1400万个验卡点中,已有99.7%符合2000年要求,于是撤销了这个禁令,但结果还是出现了问题。这表明2000年问题的小小遗漏也会造成很大的麻烦。
  实际上,2000年问题的暴露将会比人们预计的要早。因为很多商业预订系统和规划系统往往都有一年的提前量,对于这样的系统,到了1999年1月1日就会出现问题。另外,1999年9月9日也是会出问题的日期,因为有些老程序中用9999作为文件结束的标志。此外,1999年中的其他日期,也常被作为新财政年度的开始,到了这些日期都可能会引发2000年问题。
  2000年问题对于金融系统的危害最为严重。由于全世界的金融系统都紧密地联接在一起,进行支付、清算、股票和证券交易等等活动,任何地方出问题都可能会影响全球金融系统的运作;而单是纽约的金融系统,一天交易的款项总额就达到25000亿美元之巨。所以金融系统一旦出问题,其后果将不堪设想。难怪有的专家预言,将来有60%的可能性,会由于2000年问题触发一场全球性的衰退。有的专家甚至说,我们应该像对待一场战争那样来对付2000年问题。值得人们警惕的是,最近一项调查显示,已有超过1/3的金融机构遇到了2000年问题引起的错误。
  这一问题也已反映在法律界,一些用户开始对软件开发商提出诉讼,状告他们的产品不能正确处理2000年问题,导致用户受到损失。
  庞杂而耗资巨大的工程
  现在,国际标准化组织已确定了日期的标准写法(ISO8601)是:YYYY—MM—DD,即用四位数字来表示年份,所有的计算机系统都应符合这一新的标准,但这将是一项十分庞杂和耗资巨大的工程。据估计在全世界范围内,解决2000年问题总共需要花费4000亿到6000亿美元。
  有一项研究分析了100万行COBOL程序代码,发现需要修改的程序模块为13%,而在这些模块中真正需要修改的代码行数不到4%。虽然真正需要修改的地方非常少,但要把它们找出来并正确地修改是非常艰难的,目前还没有完全自动化的工具可用,需要投入大量的人工,还需要这些人去熟悉很多年前用的软件技术。当然,帮助解决2000年问题的工具,包括硬件和软件现在正在不断推出,它们将使人们可以用较少的钱和较少的时间去解决问题。当然,任何修改都可能出错误,为此详细的测试是必不可少的。解决2000年问题计划的典型经费分配如下:
  测试、修改、分析和设计解决方案、故障恢复、计划管理及其他各占45%、20%、20%、9%、4%和2%。
  从上可以看到,在2000年问题中测试占有重要的地位,测试包括:功能测试,测试当程序修改后是否能得到相同的结果;2000年测试,即采用包含2000年日期的数据,测试是否能得到正确的结果;系统测试,测试系统是否能与符合2000年要求的硬件和软件在真实的环境下共同工作,为此———需把系统的时钟向前拨;系统的操作系统和应用程序都应符合2000年要求,并允许在2000年后运行;测试数据必须包含2000年日期;与其互联的系统也应符合2000年要求。显然,进行这种系统测试是相当困难的,但也是十分必要的。
  千年问题紧迫 必须高度重视
  对于2000年问题,国外很多政府和企业都予以高度重视并尽早着手工作。今年3月,美国克林顿政府成立了一个为总统服务的2000年问题委员会。接着,美国参议院也成立了一个专门委员会,对立法和对政府及私人机构提供有关2000年问题的帮助。美国计算机2000年问题转换委员会专家们最近呼吁,政府部门必须加紧采取应急措施,争取把2000年问题可能造成的损失降低到最低限度。英国首相布莱尔最近宣布,政府将追加7000万英镑给“行动2000年组织”,促使企业认清千年问题的危机形势,推动企业采取紧急行动。
  鉴于它对金融系统有极大的危害,世界上一些大银行最近组成了一个“全球2000年问题协调组”,共同协调2000年问题的对策,设法避免引发金融市场的危机。
  我国怎么办?2000年问题与地域无关,我国自然也不能幸免。虽然我国的计算机应用水平不如发达国家,影响的面可能会小一些,但是,在2000年问题影响最严重的金融领域,我国也已依赖计算机进行运作,这和发达国家没有什么差别。因此在这一领域,2000年问题对我国可能造成的危害决不比发达国家小。当前最重要的是引起全社会的重视,从上到下都应把这一问题列入紧迫的议事日程,并在各自的负责范围内尽早着手解决。要知道,留给我们解决问题的时间已经不多了!(附图片)
快速回复
限200 字节
 
上一个 下一个