案例3:IBM公司的销售系统?? ????本节介绍一个实际的方级处理系统即IBM公司的销售系统(AAS)。但是,本例无法如同上例那样详尽,一是真实系统的原始资料无法全部得到,二是该系统过于庞大和复杂,无法用一个案例解释清楚。尽管如此,我们仍认为它可以更有力地显示出计算机系统在管理中的巨大威力。 一、开发AAS的背景 ?? 众所周知,IBM是世界上最大的计算机生产厂商,它的分支遍布世界各地,产品和服务种类(硬件、软件、培训、维修)也十分复杂。早在20世纪60年代,该公司便发现,仍然靠人工来处理订货业务将不可能满足迅猛发展的顾客数量,也将无法应付越来越多的产品种类。因此在1965年该公司决定,开发一个处理订货单的系统。随着要求的不断提高,系统的不断完善。现在的AAS系统巳经成了一个具有多种管理功能、控制着世界上许多地区和分支的大型的管理信息系统。 ??? 从订单处理入手,他们先列出了通常人工的订单处理工作程式如下: ??? l.接收订货单; ??? 2.在接收订单的当地验证订单的合法性; ??? 3.安排一份发货日期表; ??? 4.确认通知书,并分别送给顾客和分支办公室; ??? 5.办理委托生产; ??? 6.把订单送往被委托的厂家; ??? 7.为顾客安装设备,并留存顾客记录; ??? 8.发出收款通知。 ??? 在以上八个步骤中,通知和货物都是通过邮寄进行的,日期经常延误。验证订单的合法性也颇费时间和精力,这是由于零配件太多而且往往无法替代。例如,某些外设只对某种CPU有效。所以合法性验证就要保证顾客将来所收到的所有设备都是可以使用的,还要保证订单上的货物都能有办法生产和安装。在人工系统中,经常发生货物运到目的地,不合适再退回来的情形,这更增加了订单处理的工作量,对生产部门、库存部门也都造成了很大的麻烦. ??? 以上问题,在准备开发IBM一360系统时,变得十分突出。 因为360系统的设备比原来的系统要复来得多。公司已经到了非开发计算机管理系统不可的地步了。 二、系统的目标 ??? 在1965年,该公司组成了一个调查小组,对现存系统进行了调查和分析,并提出了对新系统的设想。他们认为,新系统应该有以下三大特征:1)是在线的,也即人们可以随时使用;2)应联接各分支办公室、各地区办公室、各工厂以及320个不同地理位置的单位,一共约需1 500个终端;3)要求会话式的工作方法。该小组要求,某一个固定地区的用户可以随时使用系统来输入输出信息,而不必有所等待。就象分时系统那样,好象自己独享整个系统一样。同时,还应该在各地之间方便而迅速地传递信息,一个地方输入一条信息,可以很快地、毫无遗漏地传到各个分支上去。 ??? 该系统的原始设计主要是针对订单处理、库存控制和会计收支问题的。但随着不断的扩充,已经具备了980种功能。主要应用于:订单处理、货物交运、地区调配、付款、委托生产、定期通告、设备合理性检验、会计收支,顾客登记、库存管理、催款通知、用户培训、辅助教学等十六个大的方面。 ??? 系统使用以来,订单的确认工作提前了二至四周,只用原来18%的人员处理了比原来多30%的销售业务,年直接收益以每年12%的速度增长。 三、两个具体问题 ??? 这种大型系统的第一个重要问题就是安全性的问题。一定要保证,只有有权执行该项功能的人员才能去执行它。一般说来,管理人员不喜欢亲自使用机器,而是用某个操作员来干。但管理人员要亲自为这个操作员向系统注册,规定该人的存取权限。一旦该人要执行的功能超出了这个权限,系统将拒绝执行。如果操作员第二次仍要执行该功能,则系统将自动锁死。直到有权限的管理人员来开锁之后,才能继续工作。 ??? 另一个较大的问题是操作员的培训问题。系统一旦投入使用,马上就要有5 000个左右的操作员投入工作。要对这5 000个人进行教室里的培训,既费时间又费金钱。因此该公司选择了计算机辅助培训的办法,由操作员在计算机上学习。培训采取模块化方式进行。先学习系统的整体知识,再逐个应用方面地依次学习。此外,系统随时监督操作员的工作,当发现某人在某方面的掌握仍有欠缺时,将拒绝他执行该项操作。 四、系统的简单描述 ????在设计该系统时,设计师以第一个在线航空订票系统(SABRE)为模型。该系统是在第二代计算机上开发的。但由第二代到第三代计算机的一个巨大进步就是操作系统的迅速发展与完善。IBM公司及时抓住了这个新武器,当标准的IBM操作系统(OS/MVS)一出现,系统设计师们就马上把AAS转到了它的支持之上。可以说,AAS是第一个在操作系统支持下的信息系统。 ??? 系统的输入输出设备包括8 000个终端和低速打印机, 分别安装在1 300个分支办公室、工厂和公司本部,大约有25 000名用户。数据首先通过中速线路输入,由五台分布式计算机予以集中,再以高速线路输往两台中央计算机。原始设计参数为:每天有150万项输入,其中95%的响应时间不超过5秒。到1980年底,实际的每天输入为130万项,平均响应时间为5秒. ??? 基本的程序结构如图3-1所示。主要分成两大部分:一是为系统工作人员维护系统所用,另一部分是各种应用程序。每个应用程序中又包括许多功能,每个功能又包括许多“动作”。“动作”是程序的最底层,用于操作员在终端上与机器交流信息。例如,操作员可以要求机器列出某类计算机系统可出现的各种颜色。当然,这个简单的“动作”,也是要由一个“动作程序”来实现的。到1977年,该系统的各种水平的应用程序巳经超过了一万个,大多数动作程序存储在外存上,但最重要的程序常驻在内存中。每个通信处理器都有一系列的通道块,用来从终端输入数据、处理信息,并将必要的响应传回到终端。所有数据的处理都在计算机监控程序的管理之下依次进行。但该系统提供了很强的处理功能以保证响应时间在5秒之内。显然。这对于在线系统是十分重要的。  图 3-1 AAS的程序结构 ??? 数据结构是递阶型的。每个文件包括许多记录, 而记录又是由一系列相关的字段所组成。每个记录有几个键(如系统号、顾客号等),但主键(序列号)是唯一的。同一个文件中的记录都具有相同格式,不同文件的记录格式可以很不相同。有些文件的键个数甚至可以达到十个(三个主键,七个次键)。记录由目录文件链接在一起。具有相同键的记录形成一个记录组,目录文件中的指针指向该组的第一个记录,其它记录依次由记录本身的指针相连。当新记录被添加进来之后,目录文件要相应更动。该系统使用溢出区的办法来存放过量的目录,但每隔一定的时间,系统将整理全部的目录文件。到1980年底,该系统存储的全部文件包含6 100万个记录和6 900万个目录记录,而字符总数已超过122亿个。 ??? 对于如此庞大的系统,必须拥有发生意外事故后再恢复数据的功能。 这时存在一个矛盾:每天准备备份文件会大大增加备份所花费的费用;但如果不是天天备份,一旦毁坏,再恢复数据要花更大的费用。系统的设计者选择了减少日常备份费用而不惜加大再恢复的费用这一条途径。由于不天天备份,所以系统代之以记录每天都有谁改动过数据,改动过哪些数据。不论是添加、修改和删除记录都被记录在系统自己生成的一本日记帐上。此外,这个记录还都有一个最后被更动的时间以及对应的日记帐上的记录号码。每隔一定时间集中备份一次(备份到磁带上)。与此同时,所有的日记帐被恢复到初始状态。这样,一旦毁坏事故的发生,只要把最后一份备份拿来恢复数据即可。然后再把该备份之后日记帐上的更动记录逐一恢复进去,便可以得到无误的新文件。