201005系分下午真题
第 1 题
阅读以下关于需求分析的叙述,在答题纸上回答问题 1 至问题 3。
某软件企业为网络音像制品销售公司 W 重新开发一套影音产品在线管理及销售系统,以改进原有系统 AVMSS 中存在的问题。在系统需求分析阶段,完成的工作包括:
1.系统分析员老王利用 PIECES 框架组织了系统需要获取的非功能性需求,如表1-1所示。
2.项目组小赵从 W 公司客户代表处了解到现有系统中经常有会员拒绝履行订单,并将其作为问题记录了下来。老王指出了小赵并未发现系统真正的问题,并以会员拒绝履行订单为例,利用如图1-1所示的鱼骨图分析了系统中真正存在的问题。
图1-1
3.获取到相应的需求之后,将需求记录下来形成需求定义文档,同其他项目信息合并形成需求陈述,作为需求分析阶段最终的交付成果。
【问题 1】(10 分)
PIECES框架的主要作用是什么?请将以下需要获取的需求(1)~(8)根据PIECES框架进行分类并将序号填入表1-1对应的单元格内。
(1) 系统能否采用新方法以降低使用资源的成本?
(2) 系统可接受的吞吐率是多少?
(3) 系统可接受的响应时间是多少?
(4) 应该减少多少开支或增加多少收益?
(5) 对用户隐私有什么要求?
(6) 对系统的可靠性和可用性有什么要求?
(7) 系统中需要包括哪些文档和培训材料?
(8) 对外部系统的接口是什么?
【问题 2】(8 分)
请将下列问题按照不同的类型序号填入图1-1所示的鱼骨图(g)~(n)中。
(1) 缺少强制履行合同的规定;
(2) 合同相关信息没有通知到会员;
(3) 没有催单提示客户;
(4) 没有跟踪执行情况;
(5) 设备成本太高造成价格不合理;
(6) 合同的履行缺乏灵活性;
(7) 账务问题或者隐瞒相关内容;
(8) 价格太高并且无法修改。
【问题 3】(7 分)
一份需求定义文档应该包括哪些内容?对于与系统开发相关的人员:系统所有者、用户、系统分析人员、设计人员和构造人员、项目经理,需求定义文档各有什么作用?
答案与解析
- 试题难度:较难
- 知识点:案例分析>需求工程
- 试题答案:
【问题1】 PIECES框架是系统非功能性需求分类的技术,对各种类型的需求进行分类使得类 似的需求可以组织起来达到汇报、跟踪和验证的目的,还可能帮助确定可能忽略的需求。
(a)(2)(3)
(b)(8)
(c)(4)
(d)(5)
(e)(1)
(f)(6)(7)
【问题2】
(g)和(h) (2)和(7)
(i)和(j) (3)和(4)
(k)和(l) (6)和(8)
(m) (5)
(n) (1)
【问题3】
一份需求定义文档可能是项目文档中被阅读和引用得最多的文档。应该包括以下内容:系统应该提供的功能和服务;非功能需求,包括系统的特征、特点和属性;限制系统开发或者系统运行必须遵守的约束条件;系统必须连接的其他系统的信息。
系统所有者和用户使用需求定义文档来确认需求以及任何可能产生的变化,并作为验收依据;系统分析人员、设计人员和构造人员使用它来理解需要什么以及处理需求变更,开发用于验证系统的测试用例;项目经理使用它作为制定项目计划、处理变更及验收的依据。 - 试题解析:
软件系统需求分析是在项目初始研究的基础上进行的,是系统开发中最重要和技术性最强的工作,一般是由系统分析员实施完成的。需求分析的主要任务是分析系统功能、信息和外部接口及新的需求。系统需求分析是一个由实际业务流程到信息处理流程的抽象过程,最终建立所需信息系统的逻辑模型。在系统需求分析阶段,常需要借助很多图形工具使得分析过程可视化,便于分析和与用户交流。问题分析所采用的PIECES框架和因果分析方法中的鱼骨图是两种普遍使用的可视化分析技术,也是合格的系统分析员必须掌握的技能。
本题主要考查考生对系统分析方法和工具的掌握情况,特别是PIECES框架和鱼骨图两种技术。本题结合一个典型的实际项目案例,首先要求应试者基于PIECES框架分析业务系统非功能性需求的类型,然后根据一个具体的实际问题,利用鱼骨图分析该问题产生的原因及其类别,最后结合需求分析的结果完成需求分析阶段的交付成果——需求定义文档。
【问题1】
PIECES框架是系统非功能性需求分类的技术,对各种类型的需求进行分类使得类似的需求可以组织起来达到汇报、跟踪和验证的目的,还可能帮助确定可能忽略的需求。James Wetherbe提出的PIECES框架能够完整、准确、快速地确定信息系统的需求,确认业务中存在的问题、机会和改进目标、包括性能(Performance)、信息(Information)、经济(Economics)、控制(Control)、效益(Efficiency)和服务(Service)6个类别。本题要求考生熟悉PIECES框架中不同需求类型之间的差异,能够根据实际应用需求判断需求的类别。
(1)“降低使用资源的成本”是提高效益的方法。
(2)、(3)“吞吐率”和“响应时间”属于系统性能指标。
(4)“减少开支和增加收益”是系统经济性指标。
(5)“用户隐私”属于安全性控制的内容。
(6)“可靠性和可用性”是系统所提供服务的质量属性。
(7)“文档和培训材料”是为用户提供的服务。
(8)“外部系统的接口”说明系统与外界交互的信息需求。
【问题2】
鱼骨图主要应用于问题的因果分析,是一种用于确定、探索和描述问题及其原因和结果的图形工具,它也经常被称为因果图。一般会将产生问题的原因分为人、方法、合同、材料和策略5个方面。
本题要求考生熟悉鱼骨图中不同类型原因之间的差异,能够根据实际应用问题判断产生该问题的原因的类别。
(1)“措施”属于系统开发策略的范畴。
(2)“会员没有得到通知”是相关人员工作没有完成。
(3)、(4)“没有催单警告用户”、“没有跟踪执行情况”是所采用的方法不正确。
(5)“成本太高价”是所购买材料价格高。
(6)“合同履行缺乏灵活性”是合同执行的问题。
(7)“财务问题或隐瞒相关内容”属于财务人员工作问题。
(8)“价格太高无法修改”是指合同中价格条款。
【问题3】
本题要求考生能够准确掌握需求定义文档的组成部分,和需求定义文档对不同的系统开发关联人员对其工作的具体作用。
第 2 题
阅读以下关于宏观经济数据库建设的叙述,在答题纸上回答问题 1 至问题3。
A 市经过软课题研究已经形成了一整套宏观经济指标体系,用于描述该市的经济状态,涉及包括区域GDP、人口与就业、城市建设与投资、财政收入和支出、土地、进出口贸易、社会保障、人民生活、制造业和高新技术产业等方面,并为主要指标建立了计算模型。与宏观经济指标有关的数据称为宏观经济数据,主要的宏观经济数据广泛地分布于政府统计部门、计划部门、财政部门、税收部门、教育部门、商业部门、物价部门、农业主管部门、工业信息化主管部门等等,还分布于金融部门、大中型企业等。这些部门针对自身业务,多数都有自己的管理信息系统或者办公自动化系统,主要的宏观经济数据都已经实现了电子化。
目前,A 市宏观经济指标的获得还采取传统方式,即通过有关部门逐级报表汇总宏观经济数据的方式和统计调查的方式得到。统计调查方式存在系统性的误差,而报表汇总方式则存在基础数据不准确、人为影响较大、指标分析灵活性差等问题。
为准确掌握经济动态信息,进一步规范各级经济信息资源管理行为,加快信息资源共享,提高政府的管理科学化和服务社会化水平,该市决定建设宏观经济数据库,将宏观经济数据统一管理。
【问题 1】(10 分)
为稳步推动 A 市宏观经济数据库建设,A 市市政府委托咨询公司 B 进行项目原型研究。B 公司经过调研,认为 A 市电子政务网络、存储和计算平台非常完善,为宏观经济数据库的建设奠定了良好的基础。请用200字以内文字指出此时 B 公司在进行原型分析的时候应重点做好哪几方面的工作?
【问题 2】(6 分)
经过分析比较,B 公司确定了“物理分散,逻辑集中”的建设思路,因此未来宏观经济数据库是一个分布式数据库系统。请用200字以内文字简要分析,除了数据交换机制外,是否还需要建设一个集中的数据库?并叙述理由。
【问题 3】(9 分)
小张是 B 公司的开发经理,在开发 A 市宏观经济数据库原型的时候,用前端分析工具按照指标计算模型,计算“宏观投资现状”指标,该指标计算模型的输入参数包括:
交易额,信息来源是市国税局和市地税局的税收征管系统;
项目立项信息,信息来源是市发改委的立项审批管理系统;
资金拨付信息,信息来源是市财政局的统一支付系统;
贷款信息,信息来源于银行的信贷管理系统等;
资源消耗信息,信息来源于电力公司、自来水公司等。
……
小张按照输入参数来源单位提供的数据接口说明取得了输入参数,经过计算得到了“宏观投资现状”指标,但发现该指标与传统方式得到的指标差别很大。
请用200字以内文字,指出存在差别的可能技术原因。
答案与解析
- 试题难度:较难
- 知识点:案例分析>数据库方向
- 试题答案:
【问题1】
1.数据分布及状态详细调查(或者数据梳理)。
2.各政府部门业务流程以及信息系统使用情况调查。
3.统一的数据标准规范研究。
4.指标计算模型研究,确定各个指标的输入数据。
5.提出数据管理(采集、存储、使用、维护等)工作流程方案。
6.获取有关部门宏观经济数据的具体应用需求。
【问题2】
需要建设一个集中的数据库作为核心数据库。主要理由:
1.数据分布广,同一数据类或数据项存在信息冗余和不一致的情况,应用前需要比对和清洗,整理后的数据应存放于核心数据库。
2.宏观经济信息的实时性要求不高,以集中的统一的核心数据库为基础,提供经济信息服务,形成的经济指标更加科学。
【问题3】
1.输入参数的时间戳不一致,或者时间段口径不一致。
2.数据不符合统一的标准,或者数据标准不一致(如投资主体的代码在不同的系统中不一致)。
3.数据来源单位的数据没有及时更新,或者不全。
4.存在无效数据,如某个投资主体有误或不存在。 - 试题解析:
试题的题干简要介绍了宏观经济数据库的概念以及宏观经济数据库数据的广泛分布情况。从题干中,我们能够了解:经济状态用宏观经济指标来表示,而这些指标需要通过计算模型估算,模型的输入信息有很多。这些信息分布于政府、金融、财税、企业等众多部门,这些信息的有机集合称为宏观经济数据库。这样的数据库,采用物理集中的建设方式,不具有可操作性,而且针对同一事件,不同部门的数据都会有反映,这些数据有可能是一致的,也有可能是不一致的,因此在建设宏观经济数据库的时候,要对数据进行整合。
【问题1】
问题1说明中指出了该市的基础信息平台很完善(网络、存储和计算平台),因此B公司在进行原形分析时,主要分析的不是数据库的运行平台,而是数据的生产、数据的存储、数据的消费(应用)、标准规范等情况。
【问题2】
对于“物理分散,逻辑集中”的数据库,在进行逻辑集中的时候,要对数据进行整合,消除数据的不一致性,而且宏观经济数据库的应用没有实时性要求,为便于计算模型获得口径一致的输入数据,应该建设一个集中的数据库。
【问题3】
指标差别大,主要是因为数据的不一致性造成的,产生不一致性的原因可能包括数据的时间戳、标准等。
第 3 题
阅读以下有关嵌入式软件可信计算方面的叙述,在答题纸上回答问题1至问题2。
某公司长期从事嵌入式商用软件的开发工作。随着业务范围的扩展,公司最近签署了一项大型客机信息综合处理的软件研制合同,作为机载软件,其可靠性和安全性直接影响着大型客机的安全特性。合同要求承制方在开展工作之前必须完成安全性、可靠性分析报告,在软件开发过程中应严格遵循相关工程化标准。
公司总经理将此项任务交给了张工程师,要求他尽快掌握航空软件研制的各项要求,并拿出项目的策划书。张工在深入研究了可信计算等相关知识的基础上,结合航空软件的特点,提出了一项项目实施策划方案。此方案在安全性设计方面借鉴了可信计算的相关技术,得到了甲方的认可,但是,针对此方案,公司领导层存在极大争议,问题主要焦点在于按此方案实施,公司的人员、成本和资源投入将远远超过本公司的承受能力,张工指出,传统商用软件的开发模式不能满是航空用户的需要,软件可信度太低,对后续发展不利。经过认真讨论,公司领导层形成了统一认识,按可信计算的技术要求,提升公司的整体软件开发水平。
【问题 1】(13 分)
ISO/IEC 15408 标准定义可信为:参与计算的组件,其操作或过程在任意的条件下是可预测的,并能够抵御病毒和物理干扰。而航空设备的基本特点就是要求设备工作的实体行为应该总是以预期的方式达到预期的目的(即行为、资源的确定性要求)。基于这种思想,张工依据可信计算组织定义的可信链模型(即可信测量根(RTM)—BIOS—OSLoader—OS 构成链式信任链模型)理论,给出了一种适应本项目的带数据恢复的星型信任模型(图 3-1)。该模型的中心思想是将可信测量根植入机载设备平台模块内部NVRAM(非易失存储器)中,在信任链中增加数据恢复功能,并将信任链延伸到应用。请根据张工设计思想,完善图3-1所示的带数据恢复星型信任模型的空白部分。并用100字以内的文字,解释该模型与链式信任链模型相比的特点。
图3-1 带数据恢复星型信任模型
【问题 2】(12 分)
交叉编译器是嵌入式软件开发必备的基础工具软件之一。目前比较流行的交叉编译器是 GNU 系列产品,它是一种开源软件。编译器生成代码正确与否严重影响机载设备的安全,因此,张工在方案中提出对本项目采用的交叉编译器开展可信技术研究。可信编译器包括两方面含义,其一是编译器自身的可信性,即必须保证整个编译操作的可信性,保证编译器在编译过程中不会给编译处理对象带来任何安全问题;其二是必须保证编译器编译所得程序可执行代码的可信,即编译器必须保证,通过其编译生成的程序代码是安全和可靠的。因此,张工提出在传统编译操作的基础上加入代码安全性加强机制、代码可信性验证机制和可执行代码保护机制。图3-2给出了可信编译系统的框架。
请说明三种可信机制在传统编译操作步骤中的位置,并给出图3-2的(a)~(c)对应的可信机制名称。
根据表3-1所示的信息流名称,给出图3-2中(d)~(h)对应的功能模块间的信息流编号。
图3-2 可信编译系统框架
答案与解析
- 试题难度:较难
- 知识点:案例分析>嵌入式方向
- 试题答案:
【问题1】
(1)OSLoader (2)操作系统 (3)应用 (4)恢复
带数据恢复星型信任模型的特点:
(1)可信测量根被保护,安全性更高。
(2)具有数据恢复功能,安全性更高。
(3)都是一级测量,没有多级信任传递,信任损失少。
【问题2】
(见表3-2、表3-3所示) - 试题解析:
可信计算的基本思想是:首先在计算机系统中建立一个信任根,再建立一条信任链,从信任根开始,经过硬件平台和操作系统,再到应用,一级测量认证一级,一级信任一级,从而把这种信任扩展到整个计算机系统。
【问题1】
可信计算组织的信任链采用了一种链式的信任测量模型,即由RTM(可信测量根)→BIOS→OSLoader→OS构成一个串行链。由于采用了一种迭代计算哈希值的方式,即将现值与新值相连,再计算哈希值并作为新的完整性度量值存储起来。
链式信任链具有如下缺点:信任链越长,信任损失的可能性就越大。在链中加入或删除一个部件,PCR的值需要重新计算,很麻烦。信任链中的软件部件可能会更新(如BIOS升级,OS打补丁等),而PCR的值也得重新计算,这样一来使得部件更新工作很麻烦。
带数据恢复的星型信任模型结构如图3-3所示。图3-3
它将可信测量根置入可信平台模块内部NVRAM (Non-VolatileRandom Access Memory,非易失性随机访问存储器),在信任链中增加了数据恢复功能,并将信任链延伸到应用。与可信计算组织的链式信任链相比,该模型具有如下特点:可信测量根被保护,安全性更高;具有数据恢复功能,安全性更高;都是一级测量,没有多级信任传递,信任损失少。但是,所有测量都由可信测量根执行,可信测量根通过可信平台模块完成任务,这使得可信平台模块负担加重。
在可信计算的信任链中应当度量的是可信性。但是,由于可信性目前尚不易直接度量,所以可信计算组织在信任链中采用的是度量数据完整性,而且是通过校验数据哈希值的方法来度量数据的完整性。但是,可信≈可靠+安全,完整性≠可信性,完整性 可信性,即完整性只是可信性中的一个侧面。
由于可信计算组织在信任链中采用的是度量数据完整性,因此它能确保数据的完整性,确保BIOS,OSLoader和OS数据的完整性。但是完整性只能说明这些软件没有被修改,并不能说明这此软件没有安全缺陷,更不能确保这此软件在运行时的安全性。基于数据完整性的度量是一种静态度量,基于软件行为的动态度量更实用。
【问题2】
编译器作为重要的系统软件,其可信性对于整个计算机系统的可信具有重要意义。如果编译器不可信,则很难保证其他软件的可信性。软件的可信性很大程度上依赖于程序代码的可信性,影响软件可信性的主要因素包括来自软件内部的代码缺陷、代码错误、程序故障以及来自软件外部的病毒、恶意代码等。因此,从代码角度来保证软件的可信性是实现可信软件的重要途径之一。
可信编译的目标就是从编译的角度保证软件的可信性,主要包括两方面含义,一方面,必须保证编译器自身是可信的。即必须保证整个编译操作的可信性,保证编译器在编译过程中不会给编译处理对象带来任何安全性问题,防止恶意攻击者通过修改编译器,在编译过程中对代码的原始语义进行篡改,影响程序代码本身的可信性;另一方面,必须保证编译器编译所得程序可执行代码是可信的,即编译器必须保证,通过其编译生成的程序代码是安全和可靠的。
编译器自身的可信性主要是指其编译过程的正确性、安全性和可靠性。一般认为,通过形式化验证的系统具有较高的可信性,可将形式化方法用于编译器本身。通过在传统编译操作的基础下加入代码安全性加强机制、代码可信性验证机制及可执行代码保护机制等三种机制,来保证编译所产生代码的可信性。
(1)代码安全性加强机制:该机制主要用于识别和处理程序中常见的一些安全漏洞。目前已提出许多针对程序常见安全漏洞的编译处理技术,具有代表性的如针对缓冲区溢出攻击的StackGuard方法等。
(2)代码可信性验证:该机制不可能解决所有的代码安全性问题。对于可信性要求较高的程序代码,必须通过形式化方法对其进行可信性验证。因此,我们提出在代码安全性加强机制对代码进行安全加强之后,通过代码可信性验证机制对代码的可信属性进行验证,对未通过验证的非可信代码进行报警或其他处理。这样,通过代码安全性加强和可信性验证相结合的方法保证编译生成可执行代码的可信性。
(3)可执行代码保护机制:为了防止攻击者对可信编译器最终生成的可执行代码进行恶意攻击或修改,可信编译器在完成编译之后,对可执行代码实施保护机制,保护编译所得可执行代码的完整性、秘密性和可用性,从而确保系统最终执行代码的可信运行。
第 4 题
阅读以下关于数据集成的叙述,在答题纸上回答问题 1 至问题3。
某互联网销售企业需要建立自己的电子商务平台,将所有产品信息集中在一起,为用户提供全方位的产品信息检索服务。但产品供应商大多数已经建有自己的电子商务平台,且数据独立存储,而且数据格式和数据平台有较大差异,有的供应商甚至没有采用数据库来存储商品信息。为此该企业专门成立专家组来论证其数据集成方案。
李工提出采用集中式集成方式把产品供应商的数据集中在一起,采用数据仓库技术来实现与各家供应商的数据集成。而王工提出采用松耦合的联邦数据库集成方案。专家组经过激烈讨论,认为王工方案更为合理,建议采用王工提出的集成方案。
【问题 1】(10 分)
请结合数据仓库和联邦数据库集成方案各自的特点,简要说明专家组采用王工提出的集成方案的原因。
【问题 2】(7 分)
部分供应商的产品信息没有相应的数据库,而是直接嵌入在 WEB 页面中供用户浏览。数据集成时需要直接从供应商电子商务平台的网页上获取其产品信息。请简要给出此类数据集成的方法和基本步骤。
【问题 3】(8 分)
在方案评审会上,项目组针对李工和王工的方案展开了激烈的讨论。刘工指出两种方案在实施的过程中,都存在数据源之间的语义映射和转换问题,都会带来数据集成的不确定。请简要说明产生不确定的原因。
答案与解析
- 试题难度:较难
- 知识点:案例分析>企业信息化战略与实施
- 试题答案:
【问题1】
数据仓库集成是把多种来源的数据集中在一起,建立数据仓库,所有数据都驻留在单个数据库服务器上,配置大型处理器和存储容量。数据仓库主要用于决策支持,在数据处理过程中强调分析。其特点是:
(1)集成的数据。
(2)面向主题。
(3)数据相对稳定。
(4)包含历史信息。
联邦数据库集成是把多个数据库系统联合在一起,构成“联邦数据库系统”,数据库之间通过接口查询,互相通信,数据分布在不同地方的计算机或数据库服务器上,通过网络连接。其特点是:
(1)联邦数据库提供集成的数据格式,对用户提供统一的访问,屏蔽了各个数据库的复杂性和分布情况,简化了开发数据库查询和对数据统一理解的工作。这种分布式的数据集成,更加符合应用系统的实际情况。
(2)异构数据源不仅仅是数据库系统,通过中间件,可以扩展到传感器、文件和应用程序等。
【问题2】
此类数据往往是非结构化或者半结构化的,但同一个数据源往往有统一的页面模式,因此应该采用Web内容提取(挖掘/文本挖掘)的集成方法来获取对应供应商的产品信息。
其基本步骤为:
(1)分析页面,确定其页面中的数据模式。
(2)抓取页面,通过爬虫技术获取对应的网页。
(3)特征提取与处理,获取相应数据。
(4)数据清洗,根据规则进行判断,抛弃异常数据。
(5)数据转换,根据预先定义好的语义映射关系,将数据转换为统一格式。
【问题3】
数据集成系统依靠模式映射来指明数据源中的数据和中介所用数据之间的语义关系,但映射过程中可能发生不确定性,其原因有:
(1)数据源与中介模式之间的语义映射可能是近似的。
(2)用户不熟悉模式或系统的域太宽,不能提供基于表单式的查询接口,需要使用关键字查询,但将关键字查询转换成一组候选的结构化查询时,会带来不确定性。
(3)数据常常是使用信息获取技术从非结构化数据源获取的,而这些获取技术一般只是“大致可用”,所取得的数据可能是不确定的。 - 试题解析:
本题主要考查数据集成中的数据仓库方案和联邦数据库方案的内容。
【问题1】
本问题考查数据仓库和联邦数据库集成方案的基本概念。数据仓库集成是把多种来的数据集中在一起,建立数据仓库,所有数据都驻留在单个数据库服务器上,配置大型处理器和存储容量。数据仓库主要用于决策支持,在数据处理过程中强调分析。其特点是:①集成的数据;②面向主题;③数据相对稳足;④包含历史信息。但是此种集成方法中需要将数据源的数据转换为数据仓库中的语义,而且需要定期的数据复制和数据更新。数据源往往指的是数据库系统。
联邦数据库集成是把多个数据库系统联合在一起,构成“联邦数据库系统”,数据之间通过接口查询,互相通信,数据分布在不同地方的计算机或数据库服务器上,通过网络连接。其特点是:①联邦数据库提供集成的数据格式,对用户提供统一的访问,屏蔽了各个数据库的复杂性和分布情况,简化了开发数据库查询和对数据统一理解的工作。这种分布式的数据集成,更加符合应用系统的实际情况。②异构数据源不仅仅是数据库系统,通过中间件,可以扩展到传感器、文件和应用程序等。
两种方式都需要将数据源中的数据语义转换为统一数据语义,这种转换往往存在不定性。
【问题2】
本问题考查Web内容提取或Web数据挖掘的相关知识。Web信息系统中的数据往住是非结构化或者半结构化的,但同一个数据源往往有统一的页面模式,但是其数据呈现是嵌入在页面中。因此需要采用Web内容提取(挖掘/文本挖掘)的集成方法来获取对应供应商的产品信息。
其基本的步骤是:
(1)分析页面,确定其页面中的数据模式。制定数据挖掘的特征和提取规则,编写特定的页面分析和数据提取程序。
(2)抓取页面,通过爬虫技术获取对应的网页。将远端的页面下载到本地进行存储,为后续数据提取做准备。
(3)特征提取与处理,获取相应数据,依据的原则是分析页面阶段所形成的特征和提取规则。
(4)数据清洗,根据规则进行判断,抛弃异常数据。
(5)数据转换,根据预先定义好的语义映射关系,将数据转换为统一格式。
Web内容提取的算法程序本身是近似的,因此在获取数据的内容上存在不确定性。
【问题3】
本问题考查在数据集成过程存在的不确定性问题。问题1和问题2中实际已经明确了集成过程中存在不确定性。主要的原因在于数据集成系统依靠模式映射来指明数据源中的数据和中介所用数据之间的语义关系,但映射过程中可能发生不确定性。具体原因有:
(1)数据源与中介模式之间的语义映射可能是近似的。实际系统中往往很难有非常精确、完整的语义映射。
(2)用户不熟悉模式或系统的域太宽,不能提供基于表单式的查询接口,需要使用关键字查询,但将关键字查询转换成一组候选的结构化查询时,会带来不确定性。
(3)数据常常是使用信息获取技术从非结构化数据源获取的,而这些获取技术一般只是“大致可用”,所取得的数据可能是不确定的。
因此,在本试题中,无论采用数据仓库或者联邦数据库集成方案,都存在数据源之间的语义映射和转换问题,都会带来数据集成的不确定。
第 5 题
阅读以下关于Web 应用系统负载均衡的问题,在答题纸上回答问题1至问题3。
某电子商务公司的主要业务是书籍、服装、家电和日用品的在线销售。随着公司业务发展和用户规模的不断扩大,现有的网上交易系统无法正常处理日益增大的请求流量,公司决策层决定升级其网上交易系统。在对该系统的升级方案进行设计和讨论时,公司的系统分析师王工提出采用基于高性能主机系统的方法进行系统升级,另外一位系统分析师李工则提出采用基于负载均衡集群的方法进行系统升级。公司的分析师和架构师对这两种思路进行讨论与评估,最终采纳了李工的方法。
【问题 1】(9 分)
请从系统的可用性、可伸缩性和应用特点三个方面说明公司为何没有采用王工提出的方法。
【问题 2】(8 分)
负载均衡通常分为传输层负载均衡和应用层负载均衡两类。请基于这种分类方式,说明基于 DNS 的负载均衡方法和基于 HTTP 重定向服务器的负载均衡方法分别属于哪类负载均衡方法,并用200字以内的文字说明这两种方法实现负载均衡的方式。
【问题 3】(8 分)
在确定使用基于负载均衡集群的系统升级方法后,李工给出了一个基于LVS(Linux Virtual Server)的负载均衡集群实现方案。公司的系统分析师在对现有系统进行深入分析的基础上,认为以下两个实际情况对升级方案影响较大,需要对该方案进行改进。
1.系统需要为在线购物提供购物车功能,用来临时存放选中的产品。
2.系统需要保证向所有的VIP 用户提供高质量的服务。
针对上述描述,首先说明每种情况分别会引入哪些与负载均衡相关的问题,并用 200字以内的文字说明针对不同的问题,应该如何改进李工的解决方案。
答案与解析
- 试题难度:较难
- 知识点:案例分析>Web技术
- 试题答案:
【问题1】
王工提出的方案是采用高性能的主机系统实现系统升级。从可用性角度看,采用高性能的主机系统很难实现系统的冗余机制,当发生故障后会导致整个系统会失去响应能力,从而无法保证系统的高可用性;从可伸缩性角度看,采用高性能的主机系统,升级服务器的成本与获得的相应能力不成比例,整个系统的可扩展性较差;从应用特点来看,Internet中的Web应用绝大多数是简单任务、高强度的并发处理,而主机系统只是对于复杂单一任务和有限的并发处理具有高性能,不能同时处理大量的并发请求。因此,公司没有采用王工的方案。
【问题2】
基于DNS的负载均衡属于传输层负载均衡技术,其主要原理是在DNS服务器中为同一个主机名配置多个地址,在应答DNS查询时,DNS服务器对每个查询将以DNS文件中主机记录的IP地址按顺序返回不同的解析结果,将客户端的访问引导到不同的节点上去,使得不同的客户端访问不同的节点,从而达到负载均衡的目的。
基于HTTP重定向服务器的负载均衡属于应用层负载均衡技术,其主要原理是服务器使用HTTP重定向指令,将一个客户端重新路由到另一个位置。服务器返回一个重定向响应,而不是返回请求的对象。客户端确认新地址然后重发请求,从而达到负载均衡的目的。
【问题3】
第一种情况的描述说明系统需要提供应用会话数据支持。通常采用会话服务器机制在服务器端存放应用会话数据。但需要注意的是,应用会话数据大多数情况下是不可恢复的,因此采用支持应用会话数据容错的解决方案非常重要。
第二种情况的描述要求保证特定用户的服务质量。当数据量不断增长时,由于在会话服务器或缓存服务器,业务服务器和会话(或缓存)服务器之间可能会反复移动较大量的数据,从而无法保证服务质量。因此,通常的做法是基于应用层负载均衡器实现客户端联系,将某个客户端的所有请求转发到相同的服务器,使得一个用户会话的所有请求被同一服务器实例处理,从而保证服务质量。 - 试题解析:
本题考查的是Web应用系统设计、维护和升级的相关内容,主要考查系统负载均衡技术。
【问题1】
本问题考查Web应用系统升级时的方案选择问题。在Web应用中,服务器的处理能力和IO已经成为提供应用服务的瓶颈。由于涉及的信息量非常大,用户访问频率也高,许多基于Web的大型应用系统每秒钟需要处理下百万个甚至更多的请求。显然单台服务器有限的性能难以解决这个问题。
为了解决下述问题,采用高性能的主机系统(小型机或大型机)是可行的。但是,除了其价格昂贵、可扩展性差以外,这种主机系统在很多情况下也不能同时处理上百万个并发的请求。因为高速主机系统只是对于复杂单一任务和有限的并发处理显得高性能,而Internet中的Web应用绝大多数处理是简单任务、高强度并发处理。因此,即便有大量资金投入,采用高性能、高价格的主机系统,也不能满足Web应用的需要。
【问题2】
本问题主要考查负载均衡技术的分类和两种具体方法的掌握。负载均衡技术是集群系统中一项重要技术,可以提高集群系统的整体处理能力,也提高了系统的可靠性,最终目标是加快集群系统的响应速度,提高客户端访问的成功概率。
负载均衡通常分为传输层负载均衡和应用层负载均衡两类。基于DNS的负载均衡属于传输层负载均衡技术,其主要原理是在DNS服务器中为同一个主机名配置多个地址,在应答DNS查询时,DNS服务器对每个查询将以DNS文件中主机记录的IP地址按顺序返回不同的解析结果,将客户端的访问引导到不同的节点上去,使得不同的客户端访问不同的节点,从而达到负载均衡的目的。基于HTTP重定向服务器的负载均衡属于应用层负载均衡技术,其主要原理是服务器使用HTTP重定向指令,将一个客户端重新路山到另一个位置。服务器返回一个重定向响应,而不是返回请求的对象。客户端确认新地址然后重发请求,从而达到负载均衡的目的。
【问题3】
主要考查负载均衡技术的实际应用。在实际应用中,通常会将传输层负载均衡方法与应用层负载均衡方法结合起来使用,以提高系统整体的性能、可用性和可靠性。
题干描述中,第一种情况的描述说明系统需要提供应用会话数据支持。通常采用会话服务器(session server)机制在服务器端存放应用会话数据。但需要注意的是,应用会话数据大多数情况下是不可恢复的,因此采用支持应用会话数据容错的解决方案非常重要。
第二种情况的描述要求保证特定用户的服务质量。当数据量不断增长时,由于在会话服务器或缓存服务器,业务服务器和会话(或缓存)服务器之间可能会反复移动较大量的数据,从而无法保证服务质量。因此,通常的做法是基于应用层负载均衡器实现客户端联系(client affinity)将某个客户端的所有请求转发到相同的服务器上,使得一个用户会话的所有请求被同一服务器实例处理,从而保证服务质量。