题目详情

应用服务器在基于Web的数据库应用系统中已经得到了广泛的应用。如今,各大主要软件厂商纷纷将应用服务器作为其电子商务平台的基础。由于应用服务器本身是一个正在不断发展的概念,不同的产品之间有很大的差别,但是其核心结构,以及需要解决的主要问题都是相近的,区别仅在于各个产品解决的具体方法不同。下面是应用服务器共同需要解决的部分问题。(1)负载均衡:应用服务器实现负载均衡的方法很多,比如在应用服务器本身的实现上,有基于进程的方式和基于线程的方式。(2)数据库连接池:在应用服务器系统中,一般都会采用数据库连接池的技术。(3)高速缓存机制:为了提高性能,许多应用服务器都采用了高速缓存机制。【问题1】请用150字以内文字,说明什么是数据库连接池技术?在应用服务器中使用这种技术的优点是什么?【问题2】请用200字以内文字,叙述在应用服务器中可有哪些高速缓存?这些高速缓存是如何改进系统性能的?【问题3】某公司希望实现一个电子商务系统,要求该系统必须符合工业标准且支持多种操作平台,请选择一种应用服务器产品,并用200字以内文字简要列举出该类产品能提供的主要的技术支持特征。

正确答案及解析

正确答案
解析

一、试题分析由于本题中,题面中提供的信息相对较简单,对答案的构思不能够起到很大的帮助作用。因此关键还在于考生对应用服务器基础知识的掌握程度。【问题1】使用应用服务器环境的一个重要原因就是为了最小化数据库连接,并且尽力减少在数据库服务器上的加载次数。在传统的两层环境中,每个用户至少要建立一个到其他各个数据库的连接。这种通过Driver Manager(例如ODBC、JDBC等)和基本实现DataSource进行连接(例如ADO等)的方法,一个数据库连接对象均对应一个物理数据库连接。一方面,会造成连接数的数量猛增,并很快用光数据库服务器的资源;另一方面,数据库连接的建立(通常需要1~3s,包括服务器通信和认证所花费的时间),以及关闭对系统而言是耗费系统资源的操作,这种耗费资源的动作对系统的性能影响尤为明显。而当引入了应用服务器之后,管理数据库连接的责任就落在应用服务器中。如果应用服务器为每个客户端的数据访问建立一个数据库连接,那么问题仍然不能够得以解决。因此对于具有高数据访问量的应用来说,一个更好的策略就是管理一个连接池。启动时,可以创建一个预定编号的连接,并以矢量或阵列的形式进行存储。在调用表对象的方法之前,得到下一个连接对象的请求;然后,把这个连接连同这个数据请求一起传递给表格。随着每个顺序请求的加入,这个连接不断地循环,并自动平衡连接中的加载。一旦连接对象失败,就会放弃这个循环,并在一定程度上自动恢复。通俗地说,就是将每次创建的数据库连接放在一个“池”里,并且在连接使用完成时并不急于关闭这个连接。当应用程序需要调用一个数据库连接时,数据库相关的接口返回一个通过重用数据库连接(就是那些已使用完,但未关闭的、空闲的数据库连接)而非重新创建一个数据库连接,只在没有可用的数据库连接时,才重新创建一个。通过这种方式,应用程序可以减少对数据库连接操作,尤其在多层环境中多个客户端可以通过共享少量的物理数据库连接来满足系统需求。当使用了数据库连接池技术之后,由于可以有效地减少数据库连接的建立和关闭操作,从而能够节省大量的系统消耗,同时明显地提升系统的性能。另外,由于使用了数据库连接后,应用系统所需的数据库连接在一段时间后就会稳定在一定的数量范围之内,从而也提高了系统的可测量性。【问题2】为了达到最佳的性能,许多应用服务器都采用了高速缓存机制。在应用服务器中使用高速缓存一般包括三个地方,即页面的缓存、数据库的缓存、动态页面的缓存。页面的缓存是指将特定的URL对应的页面在缓存中予以记录,以便在未来再次访问同一个URL时,直接使用。这里的缓存可以达到最佳的缓存性能,任何后面的操作都不需要进行,只需将缓存读出,然后输出即可。但是,由于大多数URL对应的页面中,往往都有少量需要变动的信息,这些页面不能使用这种方法进行缓存。数据库的缓存是指系统对数据库的访问结果进行缓存,这样,相同的SQL再次去访问数据库时,就不需要进行真正的数据库操作,而只需读取缓存即可。这种缓存能够达到良好效果的前提是系统的主要开销在于数据库访问。由于系统依然需要进行有关页面生成等工作,所以缓存效果不如页面缓存,但是适用面比较广。为了能够进一步减少页面生成工作,现在许多应用服务器针对各种动态网页技术和构件技术提供了相应的高速缓存机制,也就是将页面的生成结果进行缓存,当处理以后的页面请求时,可以直接使用缓存结果,从而进一步减少开销,提高访问性能。但是这种技术也有很多局限性,当用户所访问的信息集不同时,缓存里的信息并不能够被利用,还是需要另外生成。【问题3】应用服务器被誉为“Internet上的操作系统”,其在IT技术中的重要程序不言而喻,因此众多IT公司都纷纷重金投入开发自己的应用服务器产品,甚至开源组织也不例外,各种有竞争力的应用服务器产品层出不穷。另一方面,由于应用服务器在基于Internet的企业应用中,起着十分重要的作用。因此,作为系统分析师来说,了解各种主流的应用服务器产品,并根据实际的需要正确地选择是一个十分重要的知识基础。回到本题,它要求选择一种应用服务器产品,该产品符合工业标准,支持多种操作平台,适合于电子商务应用。要想做出正确的选择必须能够对以下这几个要求有正确的理解。— 符合工业标准:主要是指应用服务器中采用的中间件技术符合工业标准,如J2EE、CORBA、XML等。— 支持多种操作系统:也就是能够在Windows系列、UNIX系列等多种操作系统环境中使用,基于CORBA和J2EE的都能够满足这个要求。而微软的MTS则只能够运用于Windows系列操作系统平台,显然无法满足这个要求。— 适合于电子商务应用:根据电子商务的应用特点,要求应用服务器能够提供诸如事务管理、组建容器等一系列适合分布式应用的技术,另外还应该具有高扩展性、伸缩性的特点,以满足电子商务发展的业务扩展需要。根据上面的分析,结合各种主流应用服务器的特色,我们会发现应用服务器产品中符合这些要求的比较多,考生可以根据自己的熟悉情况来选择。比较适合的选择包括BEA的WebLogic、IBM的Websphere、Sun和Netscape联手的产品iPlanet Application Server等。当然类似于JBoss这样的应用服务器也是正确的选择。二、参考答案【问题1】数据库连接池技术是指在系统初期,或者初次使用时,完成数据库的连接,而后不再释放此连接,在处理后面的请求时,反复使用这些已经建立的连接。这种方式可以大大减少数据库的处理时间,有利于提高系统的整体性能、可测量性和扩展性。【问题2】在应用服务器中有页面的缓存和数据库的缓存。页面的缓存是指将特定的URL对应的页面在缓存中予以记录,以便在未来再次访问同一个URL时,直接使用。这里的缓存可以达到最佳的缓存性能,任何后面的操作都不需要进行,只需将缓存读出,然后输出即可。数据库的缓存是指系统对数据库的访问结果进行缓存,这样,相同的SQL再次访问数据库时,就不需要进行真正的数据库操作,而只需读取缓存即可。【问题3】可以选择J2EE应用服务器(例如,WebLogic,Websphere等),它支持多种操作系统,如Windows,UNIX,Linux等,同时也是工业标准。— 数据库操作支持:JDBC数据源,通过缓冲数据库连接,提供高效、可靠的数据库操作。— 安全性控制:J2EE提供声明性安全控制,用户在部署描述符中通过声明的方式来控制应用系统的安全性(例如,可以控制如何进行身份认证,控制那些角色可以访问哪些资源或执行哪些操作等)。— 事务控制:J2EE应用服务器支持将事务控制交给容器自动管理,或者利用JTA在代码中自己控制事务。— 与其他系统交互:基于JCA或者JMS,另外可以直接访问CORBA构件。

包含此试题的试卷

你可能感兴趣的试题

问答题

阅读以下关于Web系统架构设计的教述,在答题纸上回答问题1至问题3。

【说明】

某公司拟开发一个智能家居管理系统,该系统的主要功能需求如下:1)用户可使用该系统客户端实现对家居设备的控制,且家居设备可向客户端反馈实时状态;2)支持家居设备数据的实时存储和查询;3)基于用户数据,挖掘用户生活习惯,向用户提供家居设备智能化使用建议。

基于上述需求,该公司组建了项目组,在项目会议上,张工给出了基于家庭网关的传统智能家居管理系统的设计思路,李工给出了基于云平台的智能家居系统的设计思路。经过深入讨论,公司决定采用李工的设计思路。

【问题1】 (8分)

请用400字以内的文字简要描述基于家庭网关的传统智能家居管理系统和基于云平台的智能家居管理系统在网关管理、数据处理和系统性能等方面的特点,以说明项目组选择李工设计思路的原因。

【问题2】 (12分)

请从下面给出的(a) ~ (j) 中进行选择,补充完善图5-1中空(1) ~ (6)处的内容,协助李工完成该系统的架构设计方案。

高级系统架构设计师,历年真题,《系统架构设计师》案例分析真题

(a) Wi-FI

(b) 蓝牙

?驱动程序

(d)数据库

(e)家庭网关

(f)云平台

(g)微服务

(h)用户终端

(i)鸿蒙

(j)TCP/IP

【问题3】 (5分)

该系统需实现用户终端与服务端的双向可靠通信,请用300字以内的文字从数据传输可靠性的角度对比分析TCP和UDP通信协议的不同,并说明该系统应采用哪种通信协议

查看答案
问答题

某医院拟委托软件公司开发一套预约挂号管理系统,以便为患者提供更好的就医体验,为医院提供更加科学的预约管理。本系统的主要功能描述如下:

(a)注册登录

(b)信息浏览

(c)账号管理

(d)预约挂号

(e)查询与取消预约

(F)号源管理

(g)报告查询

(h)预约管理

(i)报表管理

(j)信用管理

【问题1】 (6 分)

若采用面向对象方法对预约挂号管理系统进行分析,得到如图2-1所示的用例图。请将合适的参与者名称填入图2-1中的(1)和(2)处,使用题干给出的功能描述(a)(j),完善用例(3)(12)的名称,将正确答案填在答题纸上。

高级系统架构设计师,历年真题,《系统架构设计师》案例分析真题

【问题2】 (10分)

预约人员(患者)登录系统后发起预约挂号请求,进入预约界面。进行预约挂号时使用数据库访问类获取医生的相关信息,在数据库中调用医生列表,并调取医生出诊时段表,将医生出诊时段反馈到预约界面,并显示给预约人员;预约人员选择医生及就诊时间后确认预约,系统反馈预约结果,并向用户显示是否预约成功。

采用面向对象方法对预约挂号过程进行分析,得到如图2-2所示的顺序图,使用题干中给出的描述,完善图2-2中对象(1),及消息(2)~(4)的名称,将正确答案填在普题纸上请简要说明在描述对象之间的动态交互关系时,协作图与顺序图存在哪些区别?

高级系统架构设计师,历年真题,《系统架构设计师》案例分析真题

【问题3】 (9分)

采用面向对象方法开发软件,通常需要建立对象模型、动态模型和功能模型,请分别介绍这3种模型,并详细说明它们之间的关联关系,针对上述模型,说明哪些模型可用于软件的需求分析?

查看答案
问答题

阅读以下关于数据库设计的叙述,在答题纸上回答问题1至问题3。

【说明】

某医药销售企业因业务发展,需要建立线上药品销售系统,为用户提供便捷的互联网药品销售服务、该系统除了常规药品展示、订单、用户交流与反馈功能外,还需要提供当前热销产品排名、评价分类管理等功能。通过对需求的分析,在数据管理上初步决定采用关系数据库(MySQL)和数据库缓存(Redis)的混合架构实现。

经过规范化设计之后,该系统的部分数据库表结构如下所示。

供应商(供应商ID,供应商名称,联系方式,供应商地址);

药品(药品ID,药品名称,药品型号,药品价格,供应商ID);

药品库存(药品ID,当前库存数量);

订单(订单号码,药品ID,供应商ID,药品数量,订单金额)。

【问题1】 (9分)

在系统初步运行后,发现系统数据访问性能较差。经过分析,刘工认为原来数据库规范化设计后,关系表过于细分,造成了大量的多表关联查询,影响了性能。例如当用户查询商品信息时,需要同时显示该药品的信息、供应商的信息、当前库存等信息。

为此,刘工认为可以采用反规范化设计来改造药品关系的结构,以提高查询性能。修改后的药品关系结构为:

药品(药品ID,药品名称,药品型号,药品价格,供应商ID,供应商名称,当前库存数量) ;

请用200字以内的文字说明常见的反规范化设计方法,并说明用户查询商品信息应该采用哪种反规范化设计方法

【问题2】 (9分)

王工认为,反规范化设计可提高查询的性能,但必然会带来数据的不一致性问题。请用200字以内的文字说明在反规范化设计中,解决数据不一致性问题的三种常见方法,并说明该系统应该采用哪种方法。

【问题3】 (7分)

该系统采用了Redis来实现某些特定功能(如当前热销药品排名等),同时将药品关系数据放到内存以提高商品查询的性能,但必然会造成Redis和MySQL的数据实时同步问题。

(1) Redis的数据类型包括String、 Hash、 List、 Set和ZSet等,请说明实现当前热销药品排名的功能应该选择使用哪种数据类型。

(2)请用200字以内的文字解释说明解决Redis和MySQL数据实时同步问题的常见方案

查看答案
问答题

某公司拟开发一套机器学习应用开发平台,支持用户使用浏览器在线进行基于机器学习的智能应用开发活动。该平台的核心应用场景是用户通过拖拽算法组件灵活定义机器学习流程,采用自助方式进行智能应用设计、实现与部署,并可以开发新算法组件加入平台中。在需求分析与架构设计阶段,公司提出的需求和质量属性描述如下:

(a)平台用户分为算法工程师、软件工程师和管理员等三种角色,不同角色的功能界面有所不同;

(b)平台应该具备数据库保护措施,能够预防核心数据库被非授权用户访问;

(c)平台支持分布式部署,当主站点断电后,应在20秒内将请求重定向到备用站点;

(d)平台支持初学者和高级用户两种界面操作模式,用户可以根据自己的情况灵活选择合适的模式;

(e)平台主站点宕机后,需要在15秒内发现错误并启用备用系统;

(f)在正常负载情况下,机器学习流程从提交到开始执行,时间间隔不大于5秒;

(g)平台支持硬件扩容与升级,能够在3人天内完成所有部署与测试工作;

(h)平台需要对用户的所有操作过程进行详细记录,便于审计工作;

(i)平台部署后,针对界面风格的修改需要在3人天内完成;

(j)在正常负载情况下,平台应在0.5秒内对用户的界面操作请求进行响应;

(k)平台应该与目前国内外主流的机器学习应用开发平台的界面风格保持一致;

(l)平台提供机器学习算法的远程调试功能,支持算法工程师进行远程调试。

在对平台需求、质量属性描述和架构特性进行分析的基础上,公司的架构师给出了三种候选的架构设计方案,公司目前正在组织相关专家对平台架构进行评估。

【问题1】 (9分)

在架构评估过程中,,质量属性效用树(utility tree)是对系统质属性进行识别和优先级排序的重要工具。 请将合适的质量属性名称域入图1-1中(1)、(2)空白处,并从题干中的(a)-(i)中选择合适的质量属性描述,填入(3)-(6)空白处,完成该平台的效用树。

高级系统架构设计师,历年真题,《系统架构设计师》案例分析真题

【问题2】 (16分)

针对该系统的功能,赵工建议采用解释器(interpreter)架构风格,李工建议采用管道过滤器(ppe-and-hlter)的架构风格,王工则建议采用隐式调用(implicit invocation)架构风格。请针对平台的核心应用场景,从机器学习流程定义的灵活性和学习算法的可扩展性两个方面对三种架构风格进行对比与分析,并指出该平台更适合采用哪种架构风格

查看答案
问答题

某项目进入详细设计阶段后,项目经理为后续活动制定了如图2所示的网络计划图,图中的“△”标志代表开发过程的一个里程碑,此处需进行阶段评审,模块1和模块2都要通过评审后才能开始修复。

高级信息系统项目管理师,历年真题,《信息系统项目管理师》案例分析真题

项目经理对网络图中的各活动进行了成本估算,估计每人每天耗费的成本为1000元,安排了各活动的人员数量并统计了模块1、模块2的开发和测试活动的工作量(如表2所示),其中阶段评审活动不计入项目组的时间和人力成本预算,如表2所示。

高级信息系统项目管理师,历年真题,《信息系统项目管理师》案例分析真题

[问题1] (3分)

请计算该项目自模块开发起至模块测试全部结束的计划工期。

[问题2] (10分)

详细设计完成后,项目组用了11天才进入阶段评审。在阶段评审中发现:模块1开发已完成,测试尚未开始;模块2的开发和测试均已完成,修复工作尚未开始,模块2的实际工作量比计划多用了3人?天。

(1)请计算自详细设计完成至阶段评审期间模块1的PV、EV、AC,并评价其进度和成本绩效。

(2)请计算自详细设计完成至阶段评审期间模块2的PV、EV、AC,并评价其进度和成本绩效。

[问题3] (8分)

(1)如果阶段评审未作出任何调整措施,项目仍按当前状况进展,请预测从阶段评审结束到软件集成开始这一期间模块l、模块2的ETC(完工尚需成本)(给出公式并计算结果)。

(2)如果阶段评审后采取了有效的措施,项目仍按计划进展,请预测从阶段评审结束到软件集成开始这一期间模块1、模块2的ETC(完工尚需成本)(给出公式并计算结果)。

[问题4] (4分)

请结合软件开发和测试的一般过程,指出项目经理制定的网络计划和人力成本预算中存在的问题。

查看答案

相关题库更多 +