一、试题一
阅读以下关于智能安防应用的叙述,在答题纸上回答问题1至问题3。
【说明】
随着人们生活水平的提高,人们对于物质文化生活要求提高的同时,对于居家安全也越来越重视。某软件公司长期从事智能移动应用开发,现决定开发一套适用于家庭使用的便捷式智能安防系统。系统包括两个层面,其一为硬件层面,基于嵌入式操作系统实现动态拍摄,并上传到视频服务器;其二为用户软件层面,基于Web界面,用户通过安全认证后可在线查看监控视频。项目组召开会议对以下需求进行了重点讨论:
(1)系统终端用户的界面呈现较丰富,包括图片、视频及语音消息。
(2)付费VIP客户视频可以保存18个月,普通用户视频只能保存1个月,滚动覆盖。
(3)系统上线后需应对大量客户端并发请求处理,并发用户数可能会有上万人的规模;系统预期用户呈明显地域集中分布特征。
【问题1】(12分)
项目组在讨论实现需求(3)的技术方案时,首先确定了以下技术原则:
- 系统中用户信息按类别划分不同数据库或表存放。
(b)系统应提供热备份机制以防止服务器意外失效。
(c)为满足大规模并发处理要求,系统软硬件投入可根据需要追加。
项目组经过集思广益,抽取了HTML静态化、缓存、P2P、集群与镜像、负载均衡等候选技术手段。请结合需求(3)及相应技术原则,分析上述技术手段在本项日中的可行性,将结果填入表格5-1中。
表5-1技术手段可行性分析
【问题2】(5分)
本项目涉及到了嵌入式系统的知识。根据你的理解,请用300宇以内文字说明嵌入式系统的主要特点。【问题3】(8分)
为了提高系统的安全性和可靠性,便于应用软件的可重用性,需要选择一款满足安防要求的嵌入式操作系统,并在操作系统之上开发视频监控软件。请根据你对嵌入式操作系统选择方法的理解,判断表5-2给出的有关选择嵌入式操作系统的观点是否正确,将解答写在答题纸的对应栏内。
表5-2选择嵌入式操作系统的8种观点
参考答案
【问题1】 ( 12分)
(1)HTML静态化手段可实现对系统经常访问的网页进行静态化以提高系统访问效率,但系统页面通常需要根据数据库中的用户信息以及用户的选择动态显示。因此不适合采用。
(2)缓存技术手段:系统应用需要频繁访问数据库,可以对经常访问的数据建立缓存 以提高并发访问效率。因此适合。
(3)p2p视频播放技术:视频播放实现边下边播完善用户体验声省服务器带宽,降低成本支持边下边播断点续传,支持多源下载,以提高并发访问效率。因此适合。
(4)根据需求(3),系统需有效处理大量并发请求,且系统预期用户呈明显地域集中分布特征,因此可以采用集群与镜像手段提高用户的并发访问效率,且技术原则(b)要求系统应提供热备份机制以防止服务器意外失效,因此可以采用镜像机制提高系统的可靠性,根据题干中技术原则(c)又可根据需要追加集群与镜像所需的软硬件投入。因此适合。
(5)负载均衡将是大型Web应用解决高负荷访问和大
量并发请求时常用的有效解决方法,在系统采用集群和镜像技术手段时,负载均衡也是系统必须采用的相应配合手段。因此适合。
综上不难看出,除HTML静态化手段外,其他四种技术手段均可应用于本系统,以提高大规模用户并发访问的处理效率。
【问题2】( 5分)
(1)系统专用性强。嵌入式系统是针对具体应用的专门系统。它的个性化很强,软件和硬件结合紧密。一般要针对硬件进行软件的开发和移植,根据硬件的变化和增减对软件进行修改。
(2)系统实时性强。许多嵌入式系统对外部事件要求在限定的时间内及时作出响应,具有实时性。根据实时性的强弱,通常将嵌入式系统分为实时嵌入式系统和非实时嵌入式系统,其中大部分为实施嵌入式系统。
(3)软硬件依赖性强。嵌入式系统的专用性决定了其软硬件的互相依赖性很强,两者必须协同设计,以达到共同实现预定功能的目的,并满足性能、成本和可靠性等方面的严格要求。
(4)处理器专用。嵌入式系统的处理器一般是为某
一特定目的和应用而专门设计的。通常具备功耗低、体积小和集成度高等特点,能够将许多在通用计算机上需要由板卡完成的任务和功能集成到芯片内部,从而有利于嵌入式系统的小型化和移动能力的增强。
(5)多种技术紧密结合。嵌入式系统通常是计算机技 样导体技术 电力电子技术 机械技术与各行业的具体应用相结合的产物。通用计算机技术也离不开这些技术 且它们相互结合的紧密程度不及嵌入式系统。
(6)系统透明性。嵌入式系统在形态上与通用计算机系统差距甚大 之的输入设备往往不是常见的鼠标和键盘之类的设备,甚至不用输出装置,用户可能根本感觉不到它所使用的设备中有嵌入式系统的存在,即使知道,也不必关心嵌入式系统的相关情况。
(7)系统资源受限。嵌入式系统为了达到结构紧凑、高可靠性和低成本的目的,其存储容量、l/O设备的数量和处理能力都比较有限。
【问题3】(8分)
答:(1)√(2)×(3)√(4)√(5)√(6)√(7)×(8)√
二、试题二
请详细阅读有关数据架构方面的描述,回答问题。
【说明】
某软件公司欲开发一个基于Web 2.0的大型社交网络系统。就该系统的数据架构而言,李工决定采用公司熟悉的数据架构,使用通用的商用关系型数据库,系统内部数据采用中央集中方式存储。该系统投入使用后,初期用户数量少,系统运行平稳。6个月后,用户数出现了爆炸式增长,系统暴露出诸多问题,集中表现在:
1.用户执行读写操作时,响应时间均变得很慢;
2.随着系统功能的扩充,原有数据格式发生变化,又出现新的数据格式,维护困难;
3.数据容量很快超过系统原有的设计上限,数据库扩容困难;
4.软件系统不断出现宕机,整个系统可用性较差。
经过多次会议讨论,公司的王工建议采用NoSQL数据库来替代关系数据库,以解决上述问题。但李工指出NoSQL数据库出现时间不长,在使用上可能存在风险。公司技术人员对NoSQL数据库产品进行了认真测试,最终决定采用NoSQL数据库来替代现有的数据库系统。
【问题1】
分别解释产生问题(1)~(4)的原因。
【问题2】
请针对问题(1)~(4),分别指出NoSQL数据库的哪些特点促使公司最终采用了NoSQL数据库。
【问题3】
请指出该系统采用NoSQL数据库时可能存在的问题。本题暂不支持作答,请点击”对答案”以对比解题思路。
参考答案
【问题1】答案:
其原因主要是:
(1)用户响应时间慢。大型社交网络系统要根据用户个性化信息来实时生成动态页面和提供动态信息,所以基本上无法使用动态页面静态化技术,因此数据库并发负载非常高,往往要达到每秒上万次读写请求。关系数据库应付上万次SQL查询还勉强可 阻是应付上万次SQL写数据请求,硬盘I/O就已经无法承受了。特别是涉及到多表连接操作 会导致响应变慢。
(2)数据格式变化 型社交网络系统随着用户的使用,会不断地增加新的功能,导致原有数据格式发生变化,甚至出现新的数据格式。但关系数据库中采用元组方式组织数据,难以使用新型数据格式,难以维护。
3)数据容量超过设计上限。对于大型社交网络系统,往往会在很短时间内产生海量数据。关系数据库多采用中央数据存储,使得数据容量受限于前期设计的上限,很难实现数据容量的横向扩展。
(4)系统可用性差:关系数据库采用中央数据存储,容易成为系统的性能瓶颈,单点故障很容易导致系统崩溃,负载过高往往导致系统出现宕机现象。
【问题2】答案:
针对问题(1) NoSQL数据库支持高并发数据访问,性能较高。
针对问题(2) NoSQL数据库的数据存储结构松散,能够灵活支持多种类型的数据格式。
针对问题(3) NoSQL数据库能够支持海量数据的存储,且易于横向扩展。
针对问题(4),NoSQL数据库基于分布式数据存储,不存在单点故障和性能瓶颈,系统可用性高。
【问题3】答案:
该系统采用NoSQL数据库时可能存在的问题有:
(1)NoSQL数据库的现有产品不够成熟,多数产品处于初创期。
(2)NoSQL数据库并未形成一定的标准品种类繁多,缺乏官方支持。
(3)NoSQL数据库不提供对SQL的支持约和应用迁移成本较高。
(4)NoSQL数据库支持的特性不够丰富,现有产品提供的功能比较有限。
三、试题三
阅读以下关于分布式系统设计的叙述,回答问题。【说明】
某软件公司拟开发一套电信领域的分布式系统,该系统后台多个功能模块同时运行时的计算负载较大,且需要控制不同的特定电信硬件设备,由于硬件体积和/O端口冲突等原因,这些设备需要分散安装在多个不同计算机系统中。该系统上线运行后将为企业最终用户提供7×24小时的不间断服务,而用户的单次接入服务往往需要后台多个模块共同协作完成。基于上述原因,该系统后台软件模块需分布在局域网内的多台计算机上。
项目组决定基于ISO的开放分布进程(ODP)规范来进行系统架构的设计与开发,近期项目组召开了多次会议,对架构设计阶段的关键问题进行了讨论分析。
【问题1】
ODP从5个标准的视点组织分析系统的架构,这些视点描述了同一系统的不同重要方面,请根据图中不同视点所关注的核心内容,将备选的架构视点填入图中的
(1)~(5)。
备选答案:技术选择架构、企业业务架构、分布式工程架构、计算接口架构、逻辑信息架构
【问题2】
在技术选择架构规划时,王工认为系统应基于现有分布式基础设施(分布式中间件)来构建,因为这样可以充分利用现有基础设施提供的各种支撑,在更短时间内构造出质量更高的分布式系统;而李工则认为可基于基本的进程间通信机制自主开发系统的支撑平台,这样可以避免对特定中间件的依赖,项目组经过认真讨论,最终采用了王工的方案。请用400字以内文字,从构件管理支持、互操作支持以及公共服务支持三个方面说明现有分布式基础设施为构建分布式系统所提供的基本支撑。
【问题3】
由于系统后台模块的分布式特性,后台分布式对象之间的互操作机制是需要考虑的核心问题之一。下图所示是当前分布式基础设施中支持分布式对象互操作的基本机制,请将相应部件名称填入图中(1)~(2);基于图给出的结构,用300字以内文字说明完成一次分布式对象调用的详细步骤。
参考答案:
【问题1】答案:
(1)企业业务架构
(2)逻辑信息架构
(3)计算接口架构
(4)分布式工程架构
(5)技术选择架构
(1)【问题2】答案:构件管理支持:现有分布式基础设施一般通过构件容器为构件提供基本的运行环境;具体功能一般包括管理构件的实例及其生命周期、管理构件的元信息年于。
(2)互操作支持:现有分布式基础设施均提供了高层通信协议以屏蔽节点的物理特性以及各节点在处理器、操作系统、程序设计语言等方面的异构性;基于互操作支持 干发人员在开发与调用分布式对象时 匀不需自己编写处理底层通信的代码。
(3)公共服务支持:现有分布式基础设施通常将针对分布式软件的通用支持集成于 身 公共服务的形式提供给应用程序;其提供的常见公共服务包括命名服务、事务服务、安全服务、持久性服务等。
【问题3】答案:
(1)存根/桩(2)框架或(1)代理(2)存根
一次远程调用的过程如下:
①客户程序将调用请求发送给客户端桩 寸于客户程序来说,桩就是服务程序在客户端的代理。
②客户端桩负责将远程调用请求进行编组并发送给通信总线。
③调用请求经通信总线传送到服务端框架。
④服务端框架将调用请求解组并分派给真正的远程对象实现(服务程序)。
⑤服务程序完成客户端的调用请求,将结果返回给服务端框架。
⑥服务端框架将调用结果编组并发送给通信总线。
⑦调用结果经通信总线传送到客户端桩。
⑧客户端桩将调用结果解组并返回给客户程序,客户程序得到调用结果。
标签:架构,NoSQL,软考,数据库,系统,嵌入式,参考答案,分布式 From: https://blog.csdn.net/xiaoaque/article/details/143084866