题目详情

应用服务器在基于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系列操作系统平台,显然无法满足这个要求。— 适合于电子商务应用:根据电子商务应用特点,要求应用服务器能够提供诸如事务管理、组建容器等一系列适合分布式应用技术,另外还应该具有高扩展性、伸缩性特点,以满足电子商务发展业务扩展需要。根据上面分析,结合各种主流应用服务器特色,我们会发现应用服务器产品中符合这些要求比较多,考生可以根据自己熟悉情况来选择。比较适合选择包括BEAWebLogic、IBMWebsphere、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构件。

你可能感兴趣的试题

单选题

在一条笔直公路一边有许多房子,现要安装消防栓,每个消防栓覆盖范围远大于房子面积,如下图所示。现求解能覆盖所有房子最少消防栓数和安装方案(问题求解过程中,可将房子和消防栓均视为直线上点)。该问题求解算法基本思路为:从左端第一栋房子开始,在其右侧m米处安装一个消防栓,去掉被该消防栓覆盖所有房子。在剩余房子中重复上述操作,直到所有房子被覆盖。算法采用设计策略为( );对应时间复杂度为( )。

中级软件设计师,章节练习,基础复习,中级软件设计师算法

假设公路起点A坐标为0,消防栓覆盖范围(半径)为20米,10栋房子坐标为(10,20,,30,35,60,80,160,210,260,300),单位为米。根据上述算法,共需要安装( )个消防栓。以下关于该求解算法叙述中,正确是(请作答此空)。

  • A.肯定可以求得问题一个最优解
  • B.可以求得问题所有最优解
  • C.对有些实例,可能得不到最优解
  • D.只能得到近似最优解
查看答案
单选题

在一条笔直公路一边有许多房子,现要安装消防栓,每个消防栓覆盖范围远大于房子面积,如下图所示。现求解能覆盖所有房子最少消防栓数和安装方案(问题求解过程中,可将房子和消防栓均视为直线上点)。该问题求解算法基本思路为:从左端第一栋房子开始,在其右侧m米处安装一个消防栓,去掉被该消防栓覆盖所有房子。在剩余房子中重复上述操作,直到所有房子被覆盖。算法采用设计策略为( );对应时间复杂度为( )。

中级软件设计师,章节练习,基础复习,中级软件设计师算法

假设公路起点A坐标为0,消防栓覆盖范围(半径)为20米,10栋房子坐标为(10,20,,30,35,60,80,160,210,260,300),单位为米。根据上述算法,共需要安装(请作答此空)个消防栓。以下关于该求解算法叙述中,正确是( )。

  • A.4
  • B.5
  • C.6
  • D.7
查看答案
单选题

在一条笔直公路一边有许多房子,现要安装消防栓,每个消防栓覆盖范围远大于房子面积,如下图所示。现求解能覆盖所有房子最少消防栓数和安装方案(问题求解过程中,可将房子和消防栓均视为直线上点)。该问题求解算法基本思路为:从左端第一栋房子开始,在其右侧m米处安装一个消防栓,去掉被该消防栓覆盖所有房子。在剩余房子中重复上述操作,直到所有房子被覆盖。算法采用设计策略为( );对应时间复杂度为(请作答此空)。

中级软件设计师,章节练习,基础复习,中级软件设计师算法

假设公路起点A坐标为0,消防栓覆盖范围(半径)为20米,10栋房子坐标为(10,20,,30,35,60,80,160,210,260,300),单位为米。根据上述算法,共需要安装( )个消防栓。以下关于该求解算法叙述中,正确是( )。

中级软件设计师,章节练习,基础复习,中级软件设计师算法

  • A.见图A
  • B.见图B
  • C.见图C
  • D.见图D
查看答案
单选题

在一条笔直公路一边有许多房子,现要安装消防栓,每个消防栓覆盖范围远大于房子面积,如下图所示。现求解能覆盖所有房子最少消防栓数和安装方案(问题求解过程中,可将房子和消防栓均视为直线上点)。该问题求解算法基本思路为:从左端第一栋房子开始,在其右侧m米处安装一个消防栓,去掉被该消防栓覆盖所有房子。在剩余房子中重复上述操作,直到所有房子被覆盖。算法采用设计策略为(请作答此空);对应时间复杂度为( )。

中级软件设计师,章节练习,基础复习,中级软件设计师算法

假设公路起点A坐标为0,消防栓覆盖范围(半径)为20米,10栋房子坐标为(10,20,,30,35,60,80,160,210,260,300),单位为米。根据上述算法,共需要安装( )个消防栓。以下关于该求解算法叙述中,正确是( )。

  • A.分治
  • B.动态规划
  • C.贪心
  • D.回溯
查看答案
问答题

阅读以下说明和流程图,填补流程图中空缺。 【说明】 设有整数数组A[1:N](N小于1),其元素有正有负。下面流程图在该数组中寻找连续排列若干个元素,使其和达到最大值,并输出其起始下标K、元素个数L以及最大和值M。 例如,若数组元素依次为3,-6,2,4,-2,3,-1,则输出K=3,L=4,M=7。该流程图中考察了A[1:N]中所有从下标i到下标j(j≥i)各元素之和S,并动态地记录其最大值M。【流程图】

中级软件设计师,章节练习,基础复习,中级软件设计师算法

注:循环开始框内应给出循环控制变量初值和终值,默认递增值为1,格式为:循环控制变量=初值,终值

查看答案

相关题库更多 +