韶关学院云计算内容总结与习题参考答案docxWord文件下载.docx
《韶关学院云计算内容总结与习题参考答案docxWord文件下载.docx》由会员分享,可在线阅读,更多相关《韶关学院云计算内容总结与习题参考答案docxWord文件下载.docx(28页珍藏版)》请在冰点文库上搜索。
![韶关学院云计算内容总结与习题参考答案docxWord文件下载.docx](https://file1.bingdoc.com/fileroot1/2023-5/5/fd4022e9-0be3-4f9c-b658-b79643a082c8/fd4022e9-0be3-4f9c-b658-b79643a082c81.gif)
云计算的特点:
(1)超大规模。
指的是提出云计算数据中心的建设规模,谷歌云拥有上百万台服务器,亚马逊、IBM、微软、Yahoo阿里、XX和腾讯等公司的“云”都拥有几十万台服务器。
(2)虚拟化。
程序可以运行在云“中”,并对外提供服务。
因此,户不必知道提供服务的程序是在哪个位置运行,只需要用一台终端设备(如计算机、PAD或手机)就
可方便地获得程序提供的服务。
(3)高可靠性。
“云”使用了数据多副本容错、计算机节点同构可互换等措施,使运行和存储在“云”上的程序和数据比运行和存储在本地计算机更可靠。
(4)通用性。
云计算不针对特定的应用,在“云”上可以开发出不同的程序,提供各种
服务。
(5)高可伸缩性。
“云”的规模可动态伸缩,可以较好满足应用和用户规模增长的需求。
(6)按需服务。
“云”是一个庞大的资源池,由用户按需购买,按使用量计费。
(7)极
其廉价。
相对于传统数据中心:
“云”计算中心更大,管理成本更低;
“云”计算中心的硬件使用率更高;
“云”计算中心更适合建立在电力资源丰富的较偏远地区。
4.云计算按照服务类型可以分为哪几类?
(P4-5)分别答出三种分类及其代表产品。
云计算按服务类型可以分为三类:
(1)将基础设施作为服务,IaaS(Infrastructureasa
Service),女口:
AmazonEC2/S3
(2)将平台作为服务,PaaS(PlatformasaService),女口:
GoogleAppEngine、MicrosoftWindowsAzure;
(3)将软件作为服务,SaaS(SoftwareasaService),如:
SalesforceonlineCRM。
5.云计算技术体系结构可以分为哪几层?
(P7-8)答出分层的名称,简单说明其内涵。
云计算技术体系结构分为4层:
(1)物理层:
包括计算机、存储器、网络设置、数据库和软件等;
(2)资源池层:
将大量相同类型的资源构成同构或接近同构的资源池,如计算资源池、数据资源池等;
(3)管理中间件层:
负责对云计算的资源进行管理,对众多应用任务进行调度;
(4)SOA(面向服务体系结构)构建层:
将云计算能力封装成标准的WebServices
服务,以SOA体系进行管理,并提供各项接口供用户访问。
6.在性价比上云计算相比传统技术为什么有压倒性的优势?
(P9-P11)要分为成本的降低和资源利用率的提高两方面来回答。
云计算较传统技术有两方面的优势:
(1)由于主流云服务供应商使用的数据中心多是大型云计算数据中心,其管理和运营成本(人员费用、电力费用等)是传统数据中心成本的
1/5——1/7,因此云计算在性价比上比传统技术有5——7倍的优势;
(2)传统数据中心按
照峰值要求来配置服务器和网络资源,资源的平均利用率只有10%——15%;
而云计算平台
是有弹性的服务,它根据租用者的需要在一个超大的资源池中动态分配和释放资源,不需要
为每个租用者预留峰值资源,因此云计算资源的利用率可以达到80%左右,是传统技术的5
——7倍。
第2章Google云计算原理与应用
重点知识点:
1、Google云计算系统的组成部分(P13,各重要部分的名称及作用);
2、Google云计算系统中的GFS对比传统分布式文件系统的区别(P13,利用软件的方法实现容错);
3、GFS的系统架构(P14,图2-1);
4、GFS的容错机制(P16);
5、MapReduce的运行模型与执行流程(P18-20,图2-2,图2-3);
6、Chubby的功能、作用(P22-23,使用Paxos算法实现的分布式锁服务);
7、Chubby的系统架构(P24-26,图2-7);
&
Bigtable的数据模型(P33,图2-12,行、列族、列、时间戳);
9、Bigtable的系统架构及其各组成部分的作用(P34-39,图2-13);
1.Google云计算技术包括哪些内容?
(P13)要答出有关技术的分类和名称。
Google云计算技术包括:
Google分布式文件系统GFS分布式计算编程模型MapReduce,分布式锁服务Chubby,分布式结构化数据表Bigtable,分布式存储系统Megastore,分布式监控系统Dapper,数据交互分析工具Dremel和PowerDrill,等等。
2.当前主流分布式文件系统有哪些?
各有什么优缺点?
(P13)此题的问法有些不完整,题义应该是问传统分布式文件系统的实现方法与
Google的分布式文件系统GFS的区别。
RedHat、IBM、Sun等公司都有分布式文件系统的解决方案,这些解决方案依靠RAID技
术、SAN存储区域网来容错(是基于硬件的容错),对构建分布式文件系统的硬件有较高的
要求,存储成本高。
Google的GFS是使用软件的方式,在文件系统上实现容错,可以使用
廉价的机器构建,存储成本低。
相对于传统的分布式文件系统,Google的GFS分布式文件
系统的容错性能在可靠性和存储成本上,都具有优势。
3.GFS采用了哪些容错措施来确保整个系统的可靠性?
(P16-17)除了要把容错技术的名称答出来以外,还要简单说明机理。
Google的GFS采用的容错机制可以分为:
(1)Master容错。
Master上保存着GFS的元数据(包括命名空间(Name)和Chunk映射表等),这些元数据及Master的操作日志保存在磁盘中,Master出错时而磁盘数据完好时,可以通过磁盘数据恢复Master。
GFS对Master进行远程实时备份,如果Master彻底死机,另外一台Master可以迅速接替其工作。
(2)ChunkServer容错。
Chunk是GFS的数据块,一个Chunk默认存储3个位于不同ChunkServer的副本,Master会检查Chunk的副本数,在出现Chunk副本丢失或不可恢复时,Master自动将该副本复制到其他ChunkServer。
另外,Chunk以文件的形式保存在ChunkServer,Chunk文件以Block(64K)来划分,每一个Block对应一个32位的校验和,ChunkServer会检查数据和检验和,如果不匹配就返回错误。
4.MapReduce与传统的分布式程序设计相比有何优点?
(P18)
MapReduce封装了并行处理、容错处理、本地化计算、负载均衡等细节,还提供了一个简单而强大的接口。
通过这个接口,可以把大尺度的计算自动地并发和分布执行,使编程变得非常容易。
另外,MapReduce也具有较好的通用性,大量不同的问题都可以简单地通过MapReduce来解决。
5.Chubby的设计目标是什么?
Paxos算法在Chubby中起什么作用?
答题要点:
(P24-27)
Chubby的设计目标主要有:
(1)高可用性和高可靠性。
(2)高扩展性。
(3)支持粗粒度的建议性锁服务。
(4)服务信息的直接存储。
(5)支持通报机制。
(6)支持缓存机制。
Paxos算法在Chubby中起到保证副本之间数据一致的作用(ChubbyCell(单元)中的所有副
本都要保持完全一致)。
6.阐述Bigtable的数据模型和系统架构。
(P33-39)
Bigtable的数据模型是一个多维映射表,通过行关键字、列关键字和时间戳进行索引(定
位数据):
(1)行。
行关键字用于标识Bigtable中不同的行,可以是任意字符串,大小不能
超过64KB。
Bigtable中的数据是通过行关键字按字典序进行排序的。
(2)列。
Bigtable中的
列,以列族进行组织,一个列关键字以“族名:
列名”的形式表示,每个列族中的列属于同种数据类型,并且访问控制(AccessControl)是在列族上进行定义的。
(3)时间戳。
用于在区别Bigtable中数据的版本,同一个行、列定位的数据,可以根据设置保存具有不同时间戳的数据值。
Bigtable主要由三个部分组成:
主服务器MasterServer、子表服务器TabletServer和客户端
程序库(ClientLibrary)。
主服务器主要进行一些元数据操作以及子表服务器之间的负载调度问题,子表服务器则以子表的形式(通过GFS以SSTable类型文件)保存Bigtable的数据,
一个子表服务器负责存储若干个(通常100个左右)子表。
访问Bigtable服务需要使用Bigtable的客户端。
7.分布式存储系统Megastore的核心技术是什么?
(P47)
Megastore最核心的技术是复制。
8.大规模分布式系统的监控基础架构Dapper关键技术是什么?
(P56)
Dapper关键技术主要有两个方面:
(1)轻量级的核心功能库。
Dapper的监控过程基本
对应用层透明。
(2)二次抽样技术。
利用二次抽样技术成功解决了低开销及广泛可部署性的问题。
9.相比于行存储,列存储有哪些优点?
(P62)答:
相对于行存储,列存储以属性为单位,每次存储一个属性。
列存储的主要好处在于处理时只需要使用涉及的列数据,且列存储更有利于数据的压缩。
10.为什么MapReduce不适合实时数据处理?
(P61)
MapReduce是一种面向批处理的框架,在编写完成代码后,要提交到集群运行后才能验证代码的正确性。
如果代码有误需要修改,则需要返利修改——运行——验证。
这种数据探索(DataExploration)的方式比较耗时。
而传统的SQL查询则是交互式的,用户提交完自
己的请求后就可以在相对可以接受的时间内得到返回结果。
11.简单阐述Dremel如何实现数据的无损表示。
(P64)原理较复杂,简单说明一下就好。
Dremel采用嵌套模型,采用列存储,因此需要把存储的数据进行重组才能还原为记录的形式。
Dremel的每一列会被存储为块的集合,每个块又包含重复深度和定义深度,根据重复深度和定义深度确定相应块的字段值属于哪条记录的哪个字段。
12.PowerDrill能实现高效的数据处理,在存储部分主要依赖哪两方面的技术?
答题本点:
(P72)
PowerDrill实现高效数据处理在存储部分主要依赖:
(1)列式存储。
(2)内存计算。
13.GoogleAppEngine提供了哪些服务?
(P80-88)
GoogleAppEngine提供了哪些服务包括:
(1)图像操作API。
(2)邮件API。
(3)Memcache
API。
(4)用户API。
(5)数据库API。
14.GoogleAppEngine的沙盒对开发人员有哪些限制?
(P79)答:
沙盒将用户应用程序隔离在自身的安全可靠的环境中,该环境和网络服务器的硬件、系统及物理位置完全无关,并且沙盒仅提供对基础操作系统的有限访问权限。
第3章Amazon云计算AWS
1、AWS提供的服务主要包括有哪些(P90,名称和作用);
2、Dynamo在AWS里的地位和作用(P90,基础存储架构);
3、Dynamo架构(P91-98,特点:
节点无中心环状分布,图3-5,图3-9,DHT、Gossip协议在其中发挥的作用);
4、EC2架构(P99-100,图3-11);
5、S3的基本结构(P103-104,图3-15);
6、非关系数据库与传统关系数据库的比较(P108);
7、RDS架构的特点(P111,图3-21,图3-22,Share-Nothing);
SQS的消息采样机制(P114,图3-24);
9、CDN机制的原理(P116-117,图3-26,图3-27);
1.在Dynamo中添加一个新的节点时,原告各节点保存的数据是否需要改变?
如果改变,应该如何变化?
答案要点:
(P92)
在Dynamo中添加一个新的节点时,会使新节点的前驱节点保存的数据发生改变,原存
储在前驱节点上的部分数据会迁移到新节点上。
而其他节点保存的数据不变。
同样,在删除节点时,被删除节点的数据会迁移到其前驱节点上,而对其他节点没有影响。
2.Merkle哈希树的创建需要较大的时间开销。
频繁地重建Merkle树会对系统造成很大的负
担。
假设Merkle树的叶子节点表示的是数据分区的Hash值,请设计一个Merkle树重建方案,尽量减少Merkle树的重建工作。
(P97-98)就是回答Dynamo中永久性故障处理,如磁盘损坏等情况,需要重建节点数据时,如何加快检测和减少数据传输量的机制。
把Merkle哈希树设计为二叉树或多叉树,其中每个节点叶子节点的值为单个数据文件的哈希值,非叶子节点的值为该节点所有子节点组合后的哈希值。
当采用Merkle哈希树检
测数据是否一致时,可先比较根节点的值,如果值相同则说明所有数据一致,否则需要继续比较,直到哈希值不同的叶子节点。
这种方法可以快速地进行数据对比,检测数据的一致性,并大大减少了需要传输的数据量,提高了系统效率。
3.私有IP、公有IP和弹性IP的区别在哪里?
(P101-103)
EC2的IP地址包括三大类:
私有IP、公有IP和弹性IP。
EC2的实例一旦被创建,就会动态地分配两个IP地址,即私有IP和公有IP。
私有IP地址与实例相对应,由动态主机配置协议(DHCP)分配产生。
公有IP地址和私有IP地址之间通过网络地址转换(NAT技术实现相互之间的转换,实例通过这个公有IP地址和外界通信,实例每次启动时,公有IP都会
发生变化。
弹性IP则是与用户账号绑定,使用时可以代替公有IP通过NAT的方式实现与私
有IP转换,从而连接到EC2实例。
4.地理区域和可用区域有哪些区别?
(P100-101)
AWS中采用了两种区域(Zone),地理区域(RegionZone)和可用区域(AvailabilityZone)。
地理区域是按实际的地理位置划分的。
可用区域是根据是否有独立的供电系统和冷却系统划分,通常将每个数据中心看作一个可用区域。
EC2系统中包含多个地理区域,而每个地理区
域又包含多个可用区域。
5、简单存储服务S3与传统的文件系统有哪些区别?
(P103-105)教材上没有直接给出答案,应该对比传统的文件系统的原理和特点来说明其区别。
简单存储服务S3与传统的文件系统的区别有以下几个方面:
(1)S3构架在Dynamo上,
本身就具有分布式的特点,是容错的存储系统;
(2)S3存储内容的分层结构与传统文件系
统不同,是以桶(Bucket)和对象(Object)作为其基本结构;
(3)S3对数据内容的附加描述信息可以是系统默认的元数据,也可以是用户指定的自定义元数据,而传统的文件系统则不具有这种灵活性。
6.简单阐述SQS在Amazon云计算中的作用。
(P113)
由于想要构建一个灵活且可扩展的系统,低耦合度是很必要的。
AWS中的各个组件就
是这样的一个低耦合度的系统,系统中的各个组件关联度很低,可以根据系统需要随时从系统中增加或删除某些组件。
组件之间的通信,就是由SQS解决的。
SQS实现了AWS组件之
间安全、高效的通信,是云计算平台各个组件之间沟通的桥梁。
7.如何理解传统数据库在可扩展性方面的能力较弱?
(P108)教材上没有直接给出答案,但可以根据基于分布式结构的数据库与传统数据库的区别进行分析。
数据库的扩展,可以从存储能力和处理能力两个方面考虑。
传统数据库系统如果需要扩展存储能力,则需要迁移到空间更大的物理存储设备上(如更换更大的磁盘,等等);
如需要扩展处理能力,则需要把系统迁移到计算能力、数据吞吐能力更强的计算机上。
这些迁移工作,对于分布式系统的扩展只需要把服务器增加到集群中而言,是困难得多的工作。
因此,相比分布式系统,传统数据库在可扩展性方面的能力较弱。
8.非关系数据库是如何解决可扩展性问题的?
(P108)应该要答出分布式系统的基本原理和特点。
非关系数据库是建立在分布式文件系统(如GFS、Dynamo等)的基础上的,而分布式
文件系统本身就是可扩展、容错的,因此,非关系数据库也具备这样的特性。
另外,非关系数据库还可以把表格划分成更小的部分(如:
域),并通过散列把这些更小的部分分配到不同的元数据服务器进行管理,同时实现了负载均衡和横向可扩展性。
9.简述Share-Nothing架构的特点。
(P111)AWS关系数据库服务的架构特点。
Share-Nothing架构,即每台数据库服务器都是完全独立的计算机系统,通过网络相连,
不共享任何资源。
当数据库处理能力不足时,可以通过增加服务器数量来提高处理能力,同时也可以增加数据库的并发访问能力。
把一张大表按归业务特点的需要,划分成多个小表,分别存储到互不共享的独立服务器上。
这个划分工作是要由人来开展的,对设计人员的要求很高。
10.简述AWS如何支持在线数据流应用。
(P130)
AmazonKinesis是AWS的数据流服务,用于实时地处理快速流转的数据,它可以调集弹性网络服务来处理单一或分布式的大容量数据库,适用于网站点击、金融信息分析、社交媒体、运行日志等大规模数据传输和事务处理应用。
11.描述一下基于AmazonAWS的应用实例。
(P130-132)
SmugMug、Animoto、Alexa三个实例中的一个。
(内容略)
第4章微软云计算WindowsAzure
1、微软云计算平台的体系结构及组成部分(P136-137,图4-1);
2、WindowsAzure计算服务所支持的虚拟机类型(P139,图4-3,WebRole、WorkerRole、VMRole);
3、WindowsAzure存储服务所支持的数据类型(P140,图4-4,Blobs、Tables、Queues、Files);
4、WindowsAzureCDN的信息访问(P148,图4-9);
5、SQLAzure数据同步技术(P152-153,图4-13,“轮辐式”模型);
6、SQLAzure和SQLServer的区别(P153-154);
7、AppFabric的关键技术(P155-159,总线服务、访问控制、高速缓存)。
1.微软云计算平台包含几部分?
每部分的作用是什么?
(P136-137)
微软云计算平台包含4个部分:
(1)WindowsAzure。
位于云计算平台的最底层,提供一个在微软数据中心服务器上运行应用程序和存储数据的Windows环境。
(2)SQLAzure。
云关系数据库,提供类似于SQLSerer的云关系型数据库。
(3)WindowsAzureAppFabric。
为云中或本地系统中的应用程序提供基于云的基础架构服务。
部署和管理云基础架构。
(4)
WindowsAzureMarketplace。
为购买云计算环境下的数据和应用提供在线服务。
2.WindowsAzure存储服务提供了几种类型的存储方式?
阐述每种存储方式主要的存储对
象。
(P140)
WindowsAzure存储服务提供了4种主要的数据存储结构:
(1)Blob数据类型存储二进
制数据,可以存储大型的无结构数据,容量巨大,能够满足海量数据存储需求;
(2)Table
数据类型能够提供更加结构化的数据存储,但是它不同于关系数据库管理系统中的二维关系表,查询语言也不是SQL;
(3)Queue类型与微软消息队列(MSMQ)相近,用来支持在
WindowsAzure应用程序组件之间进行通信;
(4)File类型使用标准SMB2.1(服务器信息
块协议,是一种IBM协议,用于在计算机间共享文件、打印机、串口等)协议提供文件共享,可以在应用程序和虚拟机之间共享文件。
3.阐述WebRole实例和WorkerRole实例之间的通信机制。
(P139)先答两种实例的特点,再答通信机制。
(1)每个WebRole实例都提前在内部安装了IIS7,可以很方便地创建Web应用程序。
(2)WorkerRole实例内部没有安装IIS,WorkerRole设计用来运行各种各样的基于Windows
的代码,比如运行一个模拟、进行视频处理等。
(3)应用通过WebRole实例与用户进行交
互,然后利用WorkerRole实例进行任务处理。