1、计算机水平考试高级系统分析师 2004年上半年下午真题及答案解析(总分:75.00,做题时间:90 分钟)一、B试题一/B(总题数:3,分数:15.00)1.问题 1 试用 150宇以内文字,说明什么是数据库连接池技术?在应用服务器中使用这种技术的优点是什么?(分数:5.00)_2.问题 2 试用 200自以内文字,叙述在应用服务器中可有哪些高速缓存?这些高速缓存是如何改进系统性能的?(分数:5.00)_3.问题 3 某公司希望实现一个电子商务系统,要求该系统必须符合工业标准且支持多种操作平台,试选择一种应用服务器产品,并用 200字以内文字简要列举出该类产品能提供的主要的技术支持特征。(分数
2、:5.00)_二、B试题二/B(总题数:3,分数:15.00)4.问题 1 会上,小张认为应当继续分析诊断,只有找出隐藏的软件错误,才能解决问题。小张的建议得到了许多成员的赞同。但是王总工认为,定时主动地重新启动则更为现实和明智。王总工给出了令人信服的理由,最后得到了项目组成员的一致同意。 试用 200字以内文字,简要地叙述王总工否定小张建议的依据。(分数:5.00)_5.问题 2 讨论随即转到如何实现定时主动地重新启动。小张又一次率先发言,提出应编写 shell 脚本,定时重新启动操作系统和包括网络游戏在内的所有服务。小张的建议又一次被王总工否定。 试用 100字以内文字,简要给出王总工否定
3、小张建议的依据。(分数:5.00)_6.问题 3 最后小张再次发言,指出定时主动地重新启动,比较适合于实现互联网服务软件的容错,王总工对此深表赞同。 试用 200字以内文字,简要说明为什么定时主动地重新启动比较适合于实现互联网服务软件的容错。(分数:5.00)_三、B试题三/B(总题数:3,分数:15.00)7.问题 1 试用 200字以内文字,简要说明使用这类抽取程序的主要优点?(分数:5.00)_8.问题 2 该公司采用的这种数据抽取方式存在着数据可信性问题,例如,2 个职能部门向管理层提交报表,一个部门认为公司业绩下降了 5%,另一个部门认为公司业绩上升了 20%。试用 300字以内文字
4、,简要说明造成数据可信性问题的可能原因。(分数:5.00)_9.问题 3 由于公司业务的扩展,管理层需要更多类型的报表以支持决策,公司决定建立数据仓库来支持决策支持系统。试用 300字以内文字,简要论述数据仓库的基本特征。(分数:5.00)_四、B试题四/B(总题数:2,分数:15.00)10.问题 1 虽然不同的分布式软件体系结构采用的具体实现方式不尽相同,但它们都支持客户端透明地访问分布式对象,即客户端可以像访问本地对象一样访问分布式对象。试用 200 字以内文字,说明实现这种透明性的基本原理。(分数:7.50)_11.问题 2 由于应用的具体需求千差万别,再好的分布式软件体系结构也不可能
5、适应所有的应用系统,有时不得不放弃现有的分布式软件体系结构的支持,自己利用底层的通信协议来实现各子系统之间的交互。试用 200自以内文字,简要说明用底层通信协议实现各子系统之间的交互时要解决的主要问题。(分数:7.50)_五、B试题五/B(总题数:3,分数:15.00)12.问题 1 小规模分布(small release)是 XP的基本元素之一。试用 200字以内文字分别说明: (1)原型系统和 XP小规模发布的系统的主要差别是什么? (2)为什么该项目组没有采用原型开发方法?(分数:5.00)_13.问题 2 试用 200字以内文字,简要说明采用 XP方法可能会存在哪些问题。(分数:5.0
6、0)_14.问题 3 在项目组的后续讨论中,李工提出,如果项目规模扩大,XP 将不再适用。王工对此表示赞同,但同时提出可以将 XP方和和传统软件开发过程相结合。试用 200字以内文字,简要说明如何将 XP方法和传统软件开发过程相结合。(分数:5.00)_计算机水平考试高级系统分析师 2004年上半年下午真题答案解析(总分:75.00,做题时间:90 分钟)一、B试题一/B(总题数:3,分数:15.00)1.问题 1 试用 150宇以内文字,说明什么是数据库连接池技术?在应用服务器中使用这种技术的优点是什么?(分数:5.00)_正确答案:()解析:数据库连接池技术是指在系统初期或者初次使用时,完
7、成数据库的连接,以后不再释放此连接,在处理后面的请求时,反复使用这些已经建立的连接。这种方式可以大大减少数据库的处理时间,有利于提高系统的整体性能、可测量性和扩展性。 分析 应用服务器(application server)是在当今因特网上企业级应用迅速发展,电子商务应用出现并将快速膨胀的需求下产生的一种新技术,通过它能将一个企业的商务活动安全、有效地实施到因特网上,实现电子商务。它并非一种传统意义上的软件,而是一个可以提供通过因特网来实施电子商务的平台,所以又被称为“因特网上的操作系统”。 通常可以把应用服务器看作一种组件服务器,它为三层结构的中间层提供服务。例如,在应用服务器中运行中间层的
8、商业逻辑组件、开发者使用应用服务器提供的中间件来简化开发过程,同时大多数应用服务器还提供了内容管理、负载均衡、容错、连接池、对象持久性等功能。 第一步:总结问题的要点 本题主要考查应试者对应用服务器中应用的数据库连接池、高速缓存 2个较关键技术的理解,并要求能够了解各种常见的应用服务器产品,正确地根据应用的需求进行选型。事实上,在近年的系统分析员考试中,应用服务器相关的题目经常出现,值得考生重视。 要求解释数据库连接池技术,并说明其优点。2.问题 2 试用 200自以内文字,叙述在应用服务器中可有哪些高速缓存?这些高速缓存是如何改进系统性能的?(分数:5.00)_正确答案:()解析:在应用服务
9、器中有页面的缓存和数据库的缓存。 页面的缓存是指将特定的 URL对应的页面在缓存中予以记录,以便在未来再次访问同一个 URL时,直接使用。这里的缓存可以达到最佳的缓存性能,任何后面的操作都不需要进行,只需将缓存读出,然后输出即可。 数据库的缓存是指系统对数据库的访问结果进行缓存,这样相同的 SQL再次去访问数据库时,就不需要进行真正的数据库操作,而只需读取缓存即可。 要求列举应用服务器中可采用的高速缓存机制,并说明其如何改进系统性能。3.问题 3 某公司希望实现一个电子商务系统,要求该系统必须符合工业标准且支持多种操作平台,试选择一种应用服务器产品,并用 200字以内文字简要列举出该类产品能提
10、供的主要的技术支持特征。(分数:5.00)_正确答案:()解析:可以选择 J2EE应用服务器(例如,Weblogic,Webshpere 等),提供的支持有支持多种操作系统,如 Windows,UNIX,Linux 等;同时是工业标准。 数据库操作支持:JDBC 数据源,通过缓冲数据库连接,提供高效、可靠的数据库操作。 安全性控制:J2EE 提供声明性安全控制,用户在部署描述符中通过声明的方式来控制应用系统的安全性(例如,可以控制如何进行身份认证,控制哪些角色可以访问哪些资源或执行哪些操作等)。 事务控制:JZEE 应用服务器支持将事务控制交给容器自动管理,或者利用 JTA在代码中自己控制事务
11、。 与其他系统交互:基于 JCA或者 JMS,另外可以直接访问 CORBA组件。 要求根据需求选择应用服务器产品,并说明该产品的主要技术特征。 需求的关键点在于:实现电子商务系统,符合工业标准,支持多种操作平台。 第二步:根据问题要点,仔细阅读全文,找出相应的段落 (1)在题目第一段中提到:不同的应用服务器产品之间存在较大差别,但其核心结构和要解决的主要问题相近,区别只是在于解决的具体方法不同。这说明在本题的解答过程中应该主要考虑共性的东西。 (2)与问题 1直接有关的仅仅是:在应用服务器中,一般都会采用数据库连接池技术。这显然对题目的回答没有太大的帮助。 (3)与问题 2直接有关的仅仅是:为
12、了提高性能,许多应用服务器都采用了高速缓存机制。可以得知要从提高性能的角度来考虑。 第三步:分析试题的内容,构思答案要点 本题中,题目中提供的信息相对较简单,对答案的构思不能起到很大的帮助作用,因此关键在于应试者对应用服务器基础知识的掌握程度。 问题 1 使用应用服务器环境的一个重要原因就是为了最小化数据库连接,并且尽力减少在数据库服务器上的加载次数。在传统的两层环境中,每个用户至少要建立一个到其他各个数据库的连接。这种通过DriverManager(例如,ODBC 和 JDBC等)基本实现 DataSource 连接(例如,ADO 等)的方法,一个数据库连接对象均对应一个物理数据库连接。一方
13、面,会造成连接数的数量猛增,并很快用光数据库服务器的资源;另一方面,数据库连接的建立(通常需要 13 秒,包括服务器通信和认证所花费的时间)以及关闭是耗费系统资源的操作,这种耗费资源的动作对系统的性能影响尤为明显。 当引入了应用服务器之后,管理数据库连接的责任就落在了应用服务器。如果应用服务器为每个客户端的数据访问建立一个数据库连接,那么问题仍然不能够得以解决。其示意图如图 6-1所示。 对于具有高数据访问量的应用来说,一个更好的策略就是管理一个连接池。启动时,可以创建一个预定编号的连接,并以矢量或阵列的形式进行存储。在调用表对象的方法之前,得到下一个连接对象的请求;然后把这个连接连同这个数据
14、请求一起传递给表格。随着每个顺序请求的加入,这个连接不断地循环,并自动平衡连接中的加载。一旦连接对象失败,就会放弃这个循环,并在一定程度上自动恢复。其示意图如图 6-2所示。 二、B试题二/B(总题数:3,分数:15.00)4.问题 1 会上,小张认为应当继续分析诊断,只有找出隐藏的软件错误,才能解决问题。小张的建议得到了许多成员的赞同。但是王总工认为,定时主动地重新启动则更为现实和明智。王总工给出了令人信服的理由,最后得到了项目组成员的一致同意。 试用 200字以内文字,简要地叙述王总工否定小张建议的依据。(分数:5.00)_正确答案:()解析:该网络游戏每运行一段时间才偶尔出现一次这种错误
15、,说明这是一种暂态错误。 (2)错误的定位和排除工作困难、耗时长,不能及时解决问题。 (3)错误涉及无源码的第三方程序库,即使找到错误也难以排除。 (4)定时主动地重新启动,可以在该暂态错误出现之前,主动地将网络游戏恢复到久经考验的初始状态。 (5)重新启动可以清空一些诸如 session和连接缓冲等临时性内容,提高系统的性能。 分析 目前,互联网已经成为人们生活的一部分,各种与商业、生活、娱乐、休闲的互联网应用层出不穷,各行各业也都通过因特网来开展业务、提供服务。近几年来,中国的互联网发展也十分迅速,网民的数量已经达到了 7910万之多,对于互联网应用的性能、稳定性、可靠性要求也日益增高。因
16、此,对于因特网应用服务提供商而言,如何创建、维护一个高稳定性、响应速度快的服务系统已经变成一个很重要的问题。 在这些众多的应用中,网络游戏、视频点播这一类的娱乐休闲服务的受众面最广,而且数据量也较大,性能需求矛盾最尖锐,是这个领域中最重要的课题。 第一步:总结问题的要点 本题的考查要点是应试者对互联网应用服务系统的性能维护方面的知识基础。网络游戏作为最典型的、要求较高的网络应用,这方面的问题暴露得最多,而主动定时重新启动系统是一种很常见的维护策略。题目也体现了系统分析员案例分析试题正在朝着更贴近具体应用的方向发展,要求应试者有丰富的工作实践经验。 说明“主动重新启动”维护策略的优点和适用性。5
17、.问题 2 讨论随即转到如何实现定时主动地重新启动。小张又一次率先发言,提出应编写 shell 脚本,定时重新启动操作系统和包括网络游戏在内的所有服务。小张的建议又一次被王总工否定。 试用 100字以内文字,简要给出王总工否定小张建议的依据。(分数:5.00)_正确答案:()解析:由于只有网络游戏出错,没有必要重新启动操作系统和包括网络游戏在内的所有服务,只需要重新启动与出错的网络游戏相关的服务即可;否则重新启动的时间必然很长,会大大降低整个网站的可用性。 说明使用 Shell脚本完成主动重新启动的缺点。6.问题 3 最后小张再次发言,指出定时主动地重新启动,比较适合于实现互联网服务软件的容错
18、,王总工对此深表赞同。 试用 200字以内文字,简要说明为什么定时主动地重新启动比较适合于实现互联网服务软件的容错。(分数:5.00)_正确答案:()解析:以互联网服务为代表的软件系统,规模庞大、结构复杂,因此准确地找出偶尔出现的暂态错误,在工程上是相当困难的。 (2)以互联网服务为代表的软件系统,在运行中频繁出现的就是此类暂态错误。 (3)以互联网服务为代表的软件系统,一方面有很高的可用性要求,另一方面也容忍短暂的系统不可用。 说明主动重新启动为什么适合于互联网服务软件的容错。 第二步:根据问题要点,仔细阅读正文,找出相应段落 (1)问题的背景说明:“该网络游戏每运行一段时间后,偶尔会出现错
19、误而异常终止。分析表明,出错的模块是不确定的,错误不仅与网络游戏本身的代码相关,而且还与链入其中的第三方程序库相关,但是该第三方程序库并无源代码。”其中没有源代码的第三方程序库是影响维护策略选择的一个重要因素。(2)“在会上,小张认为应当继续分析诊断,只有找出隐藏的软件错误,才能解决问题。小张的建议得到了许多成员的赞同。但是王总工认为,定时主动地重新启动则更为现实和明智。”这里体现出了一个要点,就是主动地重新启动策略更现实、更明智,因此在答题的时候应该充分从这个角度进行分析。 (3)“应编写 shell脚本,定时重新启动操作系统和包括网络游戏在内的所有服务”,详细地说明了 Shell脚本实现重
20、新启动的内容。 第三步:分析试题的内容,构思答案的要点 问题 1 提高软件质量和可靠性的技术大致可分为 2类:一类是避错技术,即在开发的过程中不让差错潜入软件的技术;另一类则是容错技术,即对某些无法避开的错误,使其影响降至最低的技术。避错技术是进行质量管理,实现产品应有质量所必不可少的技术,也就是软件工程中所讨论的先进的软件分析、开发技术和管理技术。但是,无论使用多么高明的避错技术,也无法做到没有错误,这就需要采用容错技术使错误发生时不影响系统的特性。 结合本题的实际情况,要解决“海运行一段时间后偶尔会出现错误而异常终止”这个问题,可以从 2个角度考虑。 (1)采用避错技术:由于系统已经进入了
21、运行期,因此要找到错误的本质原因,并且修正这些错误。 (2)采用容错技术:也就是将错误影响降到最低。 小张的思路就是从避错这个角度来考虑,但是在实施时遇到了 2个现实性的问题:一是分析错误原因较困难,时间耗费大,无法及时解决这个问题;另一个更为重要的因素是,由于错误涉及没有源代码的第三方程序库,就算找到了问题,要修改这个错误是十分困难的。因此这种角度来解决问题是困难的、不现实的。 另外,重新启动还可以清空一些诸如session和连接缓冲等临时性内容,提高整个系统的性能。 鉴于以上的考虑,王总工否定了小张的建议是不难理解的。 问题 2 不管是 UNIX还是 Windows系列操作系统,都提供了功
22、能强大、实用的 Shell脚本程序功能,许多资深的系统管理员都会运用 Shell脚本来简化日常的系统管理工作。 Shell 脚本程序是在 Shell基础上的(如 Windows的 Command,UNIX 的 Bash等)简单的编程语言,它可以参数化地执行一系列 Shell命令,来完成预先设定的工作。 通过 Shell脚本是可以实现定时重新启动操作系统和包括网络游戏在内的所有服务功能。但是仅由于网络游戏出错,就要重新启动操作系统和包括网络游戏在内的所有服务,那么重新启动的时间必然很长,会大大降低整个网站的可用性。实际上只需要重新启动与出错的网络游戏相关的服务就可以了。 问题 3 实现软件容错的
23、主要手段就是冗余。冗余是指所有对于实现系统规定功能来说是多余的那部分的资源,包括硬件、软件、信息和时间。通过冗余资源的加入,可以使系统的可靠性得到较大的提高。主要的冗余技术包括结构冗余、信息冗余(如校验码等)、时间冗余 (例如,重复执行计算)、冗余附加 4种。 对于互联网服务软件而言,在设计时也可以采用这些技术来提高可靠性,而且在投入运行之后,还可以采用多台服务器执行多套、实现一些在线的备份。但是由于网络游戏的特殊性,当某台服务器出现故障时,还是会对玩家带来影响。 互联网服务软件还有一个特点,那就是其发展周期较快,通常会大量地应用到第三方的程序库,因此存在这样那样的错误是不可避免的。由于许多故
24、障都是在系统运行时积少成多,最终暴露出来,导致影响系统运行的故障。因此系统运行时间越长,就越容易产生故障,而定时的主动重新启动是十分有效地解决这个问题的办法。同时,重新启动可以清空一些诸如 session和连接缓冲等临时性内容,提高系统的性能。三、B试题三/B(总题数:3,分数:15.00)7.问题 1 试用 200字以内文字,简要说明使用这类抽取程序的主要优点?(分数:5.00)_正确答案:()解析:操作简单:它是一个独立的程序,只需指定搜索源和搜索条件即可获得分析数据。 (2)应用灵活:可以自由设定搜索条件,还可以在抽取的结果上再进行抽取,获得各种分析结果。 (3)不影响性能:搜索结果另外
25、处理,不会与联机事务处理发生性能冲突。 分析 这是一道与决策支持系统(DSS)相关的题目。决策支持系统的发展经历过了一个漫长而复杂的过程,最早采用主文件和报表的形式,后来随着文件的增多,数据冗余带来的各种异常问题,因此催生了数据库管理系统(DBMS),并有效地解决了这些问题。20世纪 70年代中期,联机事务处理利用终端和合适的软件,从而使技术人员发现更快速地访问数据成为可能。 在大型联机高性能事务处理问世不久,就出现了一种称为抽取处理的程序。如图 6-3所示,抽取程序是所有程序中最简单的程序,它搜索整个文件或数据库,使用某些标准选择合乎限定的数据,并把数据传到其他文件或数据库中。 8.问题 2
26、 该公司采用的这种数据抽取方式存在着数据可信性问题,例如,2 个职能部门向管理层提交报表,一个部门认为公司业绩下降了 5%,另一个部门认为公司业绩上升了 20%。试用 300字以内文字,简要说明造成数据可信性问题的可能原因。(分数:5.00)_正确答案:()解析:数据无时基:决策者基于不同时刻的数据进行抽取,得出不同的抽取结果是正常的。 (2)数据算法差异:决策者根据不同的经验模型,选用了不同的抽取算法,必然导致抽取结果不同。 (3)抽取多层次:决策者通常需在抽取结果的基础上进行多层次的抽取,从而放大了抽取结果的差异性。 (4)外部数据源差异:在数据抽取时,采用了不同的外部数据源,也会使得数据
27、抽取的结果存在很大的差异。 (5)无起始公共数据源:决策者基于不同的数据源开始抽取,分析的结果也会有差异性。 说明数据抽取结果为什么存在数据可信性问题。9.问题 3 由于公司业务的扩展,管理层需要更多类型的报表以支持决策,公司决定建立数据仓库来支持决策支持系统。试用 300字以内文字,简要论述数据仓库的基本特征。(分数:5.00)_正确答案:()解析:面向主题:数据仓库是面向主题的,而传统联机事务处理环境是面向应用的。 (2)集成:数据仓库是集成的,数据仓库中的数据是从多个不同的数据源传送来的,当数据进入数据仓库时,就需要进行转换、重新格式化、重新排列及汇总等,以得到具有单一映像的数据。 (3
28、)非易失性:传统联机事务处理环境中的数据一般是按一次一条记录的方式进行的,而且数据一般也是必须更新的,但数据仓库中的数据通常是以批量的方式进行载人与访问的,而且数据仓库中的数据并不进行一般意义上的更新。 (4)时变性:数据仓库中的每个数据单元都只是在某一时间点是准确的,仓库中的记录都包含了时间戳,以说明数据在哪一时间是准确的。 简述数据仓库的基本特征。 第二步:根据问题要点,仔细阅读正文,找出相应段落 (1)抽取程序,它的作用就是根据用户给定的搜索条件,搜索指定的数据库或者文件,将满足条件的数据传送到另一个数据库或文件中。 (2)“不同的部门可以根据自己的需求来选取数据”,这是一个解决数据可信
29、性问题的一个关键线索。 (3)支持多级抽取,在抽取数据的过程中,一个职能部门也可以从另外一个职能部门抽取的结果中进行第二次抽取。 (4)数据仓库技术的应用背景。由于公司业务的扩展,管理层需要更多类型的报表以支持决策,公司决定建立数据仓库来支持决策支持系统。 第三步:分析试题的内容,构思答案的要点 问题 1 抽取程序是一个简单的程序,它通过搜索整个文件或数据库,使用某些标准选择合乎限定的数据,并把数据传到其他文件或数据库中。由于以下 2个方面的原因,使得抽取程序很快就变得十分流行起来。 (1)因为用抽取程序能够将数据从高性能联机事务处理方式中转移出来,所以在需要总体分析数据时不与联机事务性能发生
30、冲突。 (2)当用抽取程序将数据从操作型事务处理范围内转移出时,数据的控制方式就发生了转变,最终用户一旦开始控制数据,他就最终“拥有”了这些数据。 从上面的描述中,应试者不难总结出使用数据抽取程序的优点。 问题 2 由于数据抽取可以多级进行,起初只是抽取,随后是抽取之上的抽取,接着是在此基础上的再次抽取,因此将形成抽取处理的蜘蛛网结构。显然,这种被称为“自然演化体系结构”的抽取过程是很容易失控的。 这种自然演化的体系结构带来的最大问题包括数据可信性、生产率和数据转化为信息的不可行性。下面分别介绍。 (1)数据缺乏可信性 正如题目中所述,数据抽取可能会出现“2 个职能部门向管理层提交报表,一个部
31、门认为公司业绩下降了 5%,另一个部门认为公司业绩上升了 20%”的现象,而且无法协调,到底是谁的数据可信呢?造成这一现象的主要原因是什么呢? 数据无时基:例如,某个部门进行数据抽取时采用的数据是上周末的数据,而另一个部门却是基于本周四的数据进行数据抽取,这必然导致差异的存在。而且由于企业的数据实时在变化,多个抽取过程所基于的数据是不可能一致的。 数据算法上的差异:在数据分析时所采用的算法上,不同的抽取过程可能不同。例如,一个部门对所有老顾客进行分析,而另一个部门则是基于大顾客进行的分析,那么结果出现不同的话,完全在情理之中。 抽取的多层次:每次新的抽取结束时,由于抽取时间和采用的算法不同,因
32、而产生的抽取结果也就不相同。在公司中,从数据进入公司系统到决策者准备好分析所采用的数据,经常需要经过很多次的抽取,89 层的抽取也是十分常见的,因此最后产生的差异将显然地被放大。 外部数据问题:由于利用当今的计算机技术、网络技术,是很容易从外部数据源取得数据的。如果分析者采用了不同的外部数据源,那么抽取出来的结果产生差异也在情理之中。 无起始公共数据源:另外,由于在企业中数据源很多,如果执行抽取的人采用的数据源不相同的话,那么产生这种差异也是十分正常的。 由于这 5个方面的原因,在企业或机构中,使用这种自然演化体系结构的数据抽取过程差生不可信的数据将成为很正常的现象。这也是产生数据仓库技术的重
33、要原因之一。 (2)生产率问题 数据的可信性还不是自然演化体系结构中惟一的主要问题。当需要查询机构数据时,生产率是不可预测的,而且通常是很低的。由于企业在经营过程中经常会积累海量信息,因此在以下几个方面将存在着很大工作量。 定位报表需要的数据并分析数据:要进行数据定位,必须分析很多文件和数据布局,但由于在企业数据库,同一个数据元素可能存在于多个数据库、多张表中,除非对数据进行分析和“合理化”处理,否则报表终将产生更大的混乱。 为报表编辑数据:一旦数据定位完成,就需要进行数据编辑,但通常要写大量的定制的程序,而且这些程序通常涵盖了公司拥有的所有技术。 此外,要考虑公司为这项工作组织合适的人员的开
34、销。 (3)从数据转化为信息的不可行性 该体系存在的第三个重要缺陷是抽取出来的还是数据,而不是信息(或称为知识)。由于该体系产生的数据缺乏集成性,应该没有办法提升到信息的高度,还需要决策者通过经验进行分析。这也是产生数据挖掘技术的重要原因之一。 通过上面的分析,可以充分地了解到数据抽取技术的不足与缺陷,理解这些缺陷产生的原因,应试者不难从中总结出问题 2的答案。 问题 3 从上面的分析中可以发现,自然演化体系结构的存在方式确实不足以满足日益发展的需求。因此体系结构需要转变,从而发展出了以数据仓库为核心的体系结构设计环境。体系结构设计环境的核心是意识到存在着 2种基本数据:原始数据和导出数据。
35、(1)原始数据:即公司与机构每天操作运行所用的细节性数据,通常是以重复方式运行的过程操作。 (2)导出数据;即统计出来的或计算出来的满足公司管理者需要的数据,通常是由非重复地启发式地运行的程序操作。 现在数据仓库技术已经是决策支持系统处理的基础。数据仓库技术通过构建单一的集成的数据资源,使得数据可以访问。与传统数据环境相比,在该基础上决策支持处理系统分析员的工作要容易得多。 什么是数据仓库呢?著名的数据仓库专家W.H.Inmon在其著作 Building the Data Warehouse一书中给予如下描述:数据仓库(data warehouse)是一个面向主题的(subjeet orien
36、ted)、集成的(integrate)、非易失的(non-volatile)且随时间变化的(time variant)的数据集合,用于支持管理决策。 (1)面向主题。操作型数据库的数据组织面向事务处理任务(面向应用),各个业务系统之间各自分离,而数据仓库中的数据是按照一定的主题域进行组织。主题是一个抽象的概念,是指用户使用数据仓库进行决策时所关心的重点方面,一个主题通常与多个操作型信息系统相关。例如,一个保险公司进行的事务处理(应用问题)可能包括汽车保险、人寿保险、健康保险和意外保险等,而公司的主要主题范围可能是顾客、保险单、保险费和索赔等。 (2)集成的。在数据仓库的所有特性中,这是最重要的
37、。面向事务处理的操作型数据库通常与某些特定的应用相关,数据库之间相互独立,并且往往是异构的。数据仓库中的数据是在对原有分散的数据库数据抽取、清理的基础上经过系统加工、汇总和整理得到的,必须消除源数据中的不一致性,以保证数据仓库内的信息是关于整个企业的一致的全局信息。表 6-1说明当数据由面向事务处理的操作型数据向数据仓库传送时所进行的集成。有 4个不同的应用系统,系统中对人的性别的标识如表 6-1所示。 那么,在将 4个系统的性别信息向数据仓库导人时就涉及集成问题,例如,可以统一将性别信息表示为 m,f。 (3)相对稳定性(非易失性)。操作型数据库中的数据通常实时更新,数据根据需要及时发生变化
38、。数据仓库的数据主要供企业决策分析之用,所涉及的数据操作主要是数据查询,一旦某个数据进入数据仓库以后,一般情况下将被长期保留,也就是数据仓库中一般有大量的查询操作,但修改和删除操作很少,通常只需要定期的加载、刷新。如图6-4说明了数据仓库的非易失性、相对稳定性。 四、B试题四/B(总题数:2,分数:15.00)10.问题 1 虽然不同的分布式软件体系结构采用的具体实现方式不尽相同,但它们都支持客户端透明地访问分布式对象,即客户端可以像访问本地对象一样访问分布式对象。试用 200 字以内文字,说明实现这种透明性的基本原理。(分数:7.50)_正确答案:()解析:通信模型: 11.问题 2 由于应
39、用的具体需求千差万别,再好的分布式软件体系结构也不可能适应所有的应用系统,有时不得不放弃现有的分布式软件体系结构的支持,自己利用底层的通信协议来实现各子系统之间的交互。试用 200自以内文字,简要说明用底层通信协议实现各子系统之间的交互时要解决的主要问题。(分数:7.50)_正确答案:()解析:要解决的主要问题如下。 (1)异类系统间交互的兼容性:例如,处理不同操作系统的字节顺序、数据长度、数据表示方式等。 (2)通信的可靠性问题:例如,出错处理、重传机制等。 (3)通信的安全性问题。 (4)接口的可用性、易用性问题。 说明直接利用底层通信协议,可以解决哪些基于成熟的分布式软件体系结构不能解决
40、的问题。 第二步:根据问题要点,仔细阅读正文,找出相应段落 (1)现在主流的分布式软件体系结构(如 EJB,CORBA,DCOMCOM+)都融合了面向对象技术,对分布式对象提供了很好的支持,可以利用这些体系结构支持分布式对象访问的通信机制(如 RMIIIOP,ORB,ORPC 等)来实现各子系统之间的交互,其优点是实现相对简单且比较可靠。 (2)利用底层通信协议(如 TCPIP)实现各子系统之间的交互,其优点是通信效率高且可控性好。 (3)透明访问:客户端可以像访问本地对象一样访问分布式对象。 (4)再好的分布式软件体系结构也不可能适应所有的应用系统,有时不得不放弃现有的分布式软件体系结构的支
41、持,自己利用底层的通信协议来实现各子系统之间的交互。 第三步,分析试题的内容,构思答案的要点 问题 1 在分布式系统中,不同的组件可能用不同的程序语言来实现,且这些组件可能运行在不同类型的处理器上。数据模型、信息表示法以及通信协议可能都不一样。因此,分布式系统就需要某种软件来管理这些不同的部分,确保它们能够通信和交换数据。中间件就是这样一种软件,它位于系统的不同的分布式组件之间。 中间件是一种通用软件,通常不是由应用开发人员编写的,而是买现成的。中间件的例子有负责数据库通信管理的软件、事务管理器、数据转换器和通信控制器等,最重要的一种中间件就是分布式系统框架。 在分布式系统的客户机/服务器模型
42、中,客户机必须要知道服务器的存在及它们能提供的服务,还要知道如何才能使用这些服务器上的服务。这个模型对许多类型的应用来说能工作得很好。然而,它对系统设计者是一个很大的限制,因为设计必须决定服务在哪里提供,而且还得规划系统的伸缩性,当有较多的客户机增加到系统中时,就得考虑如何将服务器的负载分布开来。 更通用的分布式系统的设计方法是去掉客户机与服务器之间的差别,用分布式对象体系结构来设计系统。在一个分布式对象体系结构中,其基本系统组件是对象,它能够提供一组服务,对外给出这些服务的接口。其他对象调用这些服务,对象之间并不存在客户机与服务器的界限,接受服务者即扮演客户机的角色,提供服务者就是服务器。 对象可能分布在网络的多台计算机