草庐IT

云计算与大数据第三章 云存储练习题及答案

高校知识店铺合集汇总 2023-04-08 原文

第三章 云存储习题

3.1 选择题

1、SAN是一种(B)。

A. 存储设备                            B. 专为数据存储而设计和构建的存储网络系统

C. 光纤交换机                        D. HBA

2、在GFS中,客户端可以并行访问多个(C),提高了系统的整体性能。

A. 客户端               B. 主服务器             C. 数据块服务器       D. 控制节点

3、分布式文件系统的性能要求主要包括(D)。

A. 高效率、高可靠性   B. 高可扩展性、透明性    C. 自治性   D. 以上都是

4、根据不同的存储方法,(B)方式不属于副本部署策略。

A. 路径部署             B. 重建部署             C. 源请求部署            D. 随机部署

5、副本数量的确定与(D)因素有关。

A. 副本属性             B. 系统环境             C. 访问情况                 D. 以上都是

6、目前决定副本数量的主要方法不包括(A)。

A. 随机复制              B. 比例复制             C. 方根复制                 D. 均匀复制

7、副本删除发生的原因主要包括(D)。

A. 副本的生命周期结束                                                      B. 副本被访问频率低

C. 副本所在节点存储空间不够或处理能力达到极限            D. 以上都是

8、以下不属于静态副本管理策略的优点的是(B)。

A. 复制方案固定                             B. 可对文件访问模式和访问节点的范围进行预测  

C. 简化后期副本管理的复杂性        D. 结构简单

9、以下不属于集中式副本管理策略的优点的是(A)。

A. 文件副本的数量快速增加                 B. 全盘了解整个云存储系统

C. 快速知道任意节点及副本的状态情况       D. 结构简单

10、以下关于分布式副本管理策略描述错误的是(C)。

A. 将整个云存储系统的副本管理分布在各个存储节点上                       

B. 各个存储节点之间可采用类似心跳机制进行通信

C. 随着文件副本的数量不断增加,其负载会急剧增加      

D. 维护存储节点间通信所花费的代价较大

11、Paxos云存储系统中的主要角色不包括(C)。

A. 提议者                    B. 决策者                 C. 执行者              D. 学习者

12、以下关于S3的数据存储结构描述错误的是(B)。

A. 包含存储桶和存储对象               

B. 存储桶是S3中对数据进行排序的唯一方法

C. 每个存储对象都必须存储在一个存储桶中      

D. 存储桶的名称唯一

13、S3的性能优势包括(D)。

A. 持久性和可用性                               B. 弹性和可扩展性

C. 高数据访问速度和用户接口简单      D. 以上都是

14、云存储系统的网络架构中,主要由(A)承担存储数据文件的任务。

A. 存储节点          B. 控制节点          C. 任务节点         D. 数据节点

15、Paxos算法用于解决分布式系统中的(C)问题。

A. 副本部署         B. 副本数量控制    C. 数据一致性     D. 副本删除

3.2 填空题

1、云存储将网络中大量存储设备通过(集群系统)、(虚拟化技术)或(分布式文件系统)等组织起来。

2、云存储在本质上不仅是一种存储(技术),还是一种(服务)。

3、云存储模型自底向上可划分为(存储层)、(管理调度层)、(应用接口层)和(访问层)。

4、目前的网络存储主要包含(网络连接存储 / NAS)和(存储区域网络/ SAN)这两种类型。

5、目前存在两种数据复制模式分别是(同步复制模式)和(异步复制模式)。

6、在云存储系统中,副本管理机制的主要内容包括(副本部署)、(副本数量控制)、(数据一致性保障)、(副本删除)等机制。

7、随机部署方法中选择整个网络的节点的随机选择法可运用(多哈希函数)和(关联哈希)等方法来实现。

3.3 简答题

1、请描述云存储系统的主要优势。

答:

  1. 低成本。用户采用云存储服务,无须自行购置存储软硬件系统,也无须自行运营、维护、灾备恢复等,从而显著降低数据存储的成本。
  2. 高安全性。专业的云服务提供商提供的数据存储服务,广泛采用数据副本和备份机制,使业务相关数据的存储变得更加安全、可靠;数据在传输过程中也可以得到有效保护,传输更稳定。
  3. 易扩展。从用户的角度来看,用户无须预测将来对存储空间的需求,可按需动态申请存储空间,云服务提供商一般采用按需计费的存储空间租赁服务政策;从系统的角度来看,云存储系统本身也可动态扩展存储资源池,当新的存储节点添加到系统时,会自动实现资源扩展。
  4. 丰富接口。目前的商用云存储系统一般都提供了丰富的应用程序接口(API),为用户及应用提供了便捷的开发与运行平台。
  5. 支持同步。基于云存储平台,用户可以在多台设备(如笔记本电脑、平板电脑、智能手机、智能手表等)之间实现数据、程序、状态的同步,从而为多设备协同提供支持。
  6. 灾备恢复。网络备份一般是通过专业的数据存储管理软件结合相应的硬件和存储设备来实现的,云存储基于多数据中心平台,云计算数据中心通过互联网将数据副本存储在异地的云计算数据中心中,即搬迁数据异地备份,一旦发生地震、洪水等巨大灾害,也能实现灾备恢复。

2、请简述GFS系统中三类节点。

答:

  1. 客户端。客户端是GFS提供给应用程序的访问接口,是一组专用接口,以库文件的形式提供,应用程序可直接调用这些库函数。
  2. 主服务器。主服务器是GFS的管理节点,在逻辑上只有一个,用于保存系统的元数据,负责整个文件系统的管理。
  3. 数据块服务器。数据块服务器负责具体的存储工作,数据以文件的形式存储在数据块服务器上,数据块服务器的数目直接决定了GFS系统的规模。GFS将文件按照预设的大小进行分块,每一块称为一个数据块(Chunk),每个数据块都有一个对应的索引号(Index)。

3、与传统的分布式文件系统相比,GFS文件系统根据搜索等应用的特点进行了哪些方面的优化?

答:

  1. 中心化管理模式。GFS采用中心化管理模式对整个文件系统进行管理,简化了设计,降低了实现难度。主服务器管理分布式文件系统中所有的元数据,维护一个命名空间,在系统添加一个新的数据块服务器非常容易,数据块服务器只需要在主服务器上注册即可。当然,中心化管理模式也有一些固有的缺点,如主服务器可能成为整个系统的性能瓶颈等。
  2. 不缓存数据。缓存机制是提高文件系统性能的重要手段。为了提高文件系统的性能,有必要实现缓存机制。然而,GFS文件系统没有进行缓存,主要是因为Google认为大多数应用程序的读写都是按流的顺序进行的,重复读写的频率不高,不缓存数据对系统的整体性能影响并不大;对于频繁读取的数据,数据块服务器则可利用本地操作系统的文件系统缓存机制来优化性能。
  3. 基于用户模式。根据应用程序对系统资源和机器指令的使用权限,可以将处理器设置为不同的模式,如内核模式与用户模式,处于不同模式的CPU允许执行的指令集合不一样,这和操作权限密切相关。在内核模式下,CPU既可以执行特权指令,也可以执行非特权指令;在用户模式下,CPU只允许执行非特权指令。GFS的管理与工作进程都运行在用户模式下,单个进程不会影响整个操作系统,从而提升了整个系统的稳定性。GFS和操作系统在不同的空间运行,尽量采用松耦合,提升了彼此的通用性,便于GFS和内核的单独升级。
  4. 提供专用API。GFS提供了专用API,API以库文件的形式提供,应用程序通过调用这些API来完成对GFS文件系统的访问。专用API可以根据应用程序的属性为应用程序提供个性化的支持。应用程序通过专用API直接与客户端、主服务器、数据块服务器交互,更为简单、便捷。
  5. 提供容错机制。GFS中主服务器存储三种类型的GFS元数据,包括命名空间(整个文件系统的目录结构)、数据库和文件名的映射表、数据库副本位置信息。为了防止主服务器完全崩溃导致命名空间等数据的丢失,GFS提供了主服务器的远程实时备份;GFS主要使用副本来实现数据块服务器的容错,多个相同的数据副本分布在不同的数据块服务器上,在写入或修改数据时所有副本都必须成功写入才能视为操作成功。
  6. 提供系统管理机制。作为分布式文件系统,GFS由相应的系统管理机制支持整个GFS的应用。GFS是一种构建大规模集群之上的文件系统,节点数量众多。这些节点常出现故障,需要集群监控技术来在尽可能短的时间内找到并确定发生故障的节点和原因。当增加一个新的数据块服务器时,GFS支持节点的动态加入和系统扩展。

4、分布式文件系统的透明性主要指哪些方面?

答:

  1. 位置透明性。在具有位置透明性的分布式文件系统中,用户看到的是全局名字空间,用户访问文件不需要知道文件的物理存储位置,在创建文件时,分布式文件系统自动选择合适的存储位置。
  2. 故障透明性。当部分服务器出现故障、离线或网络不可用时,分布式文件系统必须为用户提供持续的存储服务,让用户不会感知到内部的服务器故障。
  3. 迁移透明性。在文件和目录的物理存储位置改变时不需要改变名字,甚至在数据迁移过程中,数据仍然是可访问的。
  4. 副本透明性。分布式文件系统通常在不同节点上保存同一文件的多个副本,用户不必知道文件副本细节,副本的产生、分布和访问都是自动的[17]。
  5. 并发透明性。具有并发透明性的分布式文件系统能够保证并发的用户文件访问之间不会发生冲突,解决了共享文件的读写一致性问题。

5、请对比分析云存储系统中的集中式副本管理策略和分布式副本管理策略。

答:

  1. 集中式副本管理策略。集中式副本管理策略是一种典型的索引节点策略,在云存储系统中会把所有的文件的元数据信息集中起来,方便管理。其中针对元数据节点的操作包括系统对副本的创建、布局以及副本的放置位置。集中式管理策略的优点是对整个云存储系统有全盘的了解,可以快速知道任意节点及副本的状态情况,但其缺点也非常明显,随着文件副本的数量不断增加,作为独立出来的中心节点,其负载会急剧增加,容易成为云存储系统的性能瓶颈。
  2. 分布式副本管理策略。分布式副本管理策略将整个云存储系统的副本管理分布在各个存储节点上。各个存储节点之间可采用类似心跳机制进行通信,从而指导相互连接的存储节点之间的信息来协同完成的副本管理。分布式副本管理策略对各个存储节点的性能有一定的要求,虽然没有集中式副本管理策略的性能瓶颈,但是维护存储节点间通信所花费的代价较大,增加了网络的通信成本。

6、数据备份应用于容灾系统时需要考虑的主要问题有哪些?

答:

  1. 备份窗口。备份窗口是指应用程序允许完成数据备份作业的时间。由于数据备份作业会导致主机的性能下降,甚至使服务水平不可接受,因此数据备份作业必须在停机或业务量较小时进行。典型的解决途径包括加快备份速度和实现在线备份等。
  2. 恢复时间。备份数据的恢复时间直接关系到容忍业务停止服务的最长时间,当备份数据量较大或者备份策略比较复杂时,备份数据往往需要较长的恢复时间。
  3. 备份间隔。鉴于数据备份作业对主机系统的性能影响,数据备份作业之间的间隔不能太短;然而数据备份作业之间的间隔不能也不能太长,在两次备份之间发生意外,数据的丢失量太大对于一些重要的信息系统是不可接受的。
  4. 数据的可恢复性。数据备份的目的是数据恢复,但往往由于存储介质失效、人为错误、备份出错等原因,造成备份数据的不可恢复。
  5. 数据备份的成本。数据备份的本质是用数据冗余来提升系统的稳定性;高频率、高稳定性的数据备份的成本一般也较高。

3.4 解答题

1假设有一个3军问题,提供以下信息:

  1. 1支红军在山谷里扎营,在周围的山坡上驻扎着3支蓝军;
  2. 红军比任意1支蓝军都要强大;如果1支蓝军单独作战,红军胜;如果2支或以上蓝军同时进攻,蓝军胜;
  3. 三支蓝军需要同步他们的进攻时间;但他们惟一的通信媒介是派通信兵步行进入山谷,在那里他们可能被俘虏,从而将信息丢失;或者为了避免被俘虏,可能在山谷停留很长时间;
  4. 每支军队有1个参谋负责提议进攻时间;每支军队也有1个将军批准参谋提出的进攻时间;很明显,1个参谋提出的进攻时间需要获得至少2个将军的批准才有意义;

请回答以下问题:

  1. 是否存在一个协议,能够使得蓝军同步他们的进攻时间?
  2. 根据下图并利用该协议描述两个参谋先后提议的场景。

答:

第一问:可采用Paxos协议。

补充:

参谋和将军需要遵循一些基本的规则:

  1. 参谋以两阶段提交(prepare/commit)的方式来发起提议,在prepare阶段需要给出一个编号;
  2. 在prepare阶段产生冲突,将军以编号大小来裁决,编号大的参谋胜出;
  3. 参谋在prepare阶段如果收到了将军返回的已接受进攻时间,在commit阶段必须使用这个返回的进攻时间;

第二问:

  1. 参谋1发起提议,派通信兵带信给3个将军,内容为(编号1);
  2. 3个将军收到参谋1的提议,由于之前还没有保存任何编号,因此把(编号1)保存下来,避免遗忘;同时让通信兵带信回去,内容为(ok);
  3. 参谋1收到至少2个将军的回复,再次派通信兵带信给3个将军,内容为(编号1,进攻时间1);
  4. 3个将军收到参谋1的时间,把(编号1,进攻时间1)保存下来,避免遗忘;同时让通信兵带信回去,内容为(Accepted);
  5. 参谋1收到至少2个将军的(Accepted)内容,确认进攻时间已经被大家接收;
  6. 参谋2发起提议,派通信兵带信给3个将军,内容为(编号2);
  7. 3个将军收到参谋2的提议,由于(编号2)比(编号1)大,因此把(编号2)保存下来,避免遗忘;又由于之前已经接受参谋1的提议,因此让通信兵带信回去,内容为(编号1,进攻时间1);
  8. 参谋2收到至少2个将军的回复,由于回复中带来了已接受的参谋1的提议内容,参谋2因此不再提出新的进攻时间,接受参谋1提出的时间;

有关云计算与大数据第三章 云存储练习题及答案的更多相关文章

  1. ruby-on-rails - 使用一系列等级计算字母等级 - 2

    这里是Ruby新手。完成一些练习后碰壁了。练习:计算一系列成绩的字母等级创建一个方法get_grade来接受测试分数数组。数组中的每个分数应介于0和100之间,其中100是最大分数。计算平均分并将字母等级作为字符串返回,即“A”、“B”、“C”、“D”、“E”或“F”。我一直返回错误:avg.rb:1:syntaxerror,unexpectedtLBRACK,expecting')'defget_grade([100,90,80])^avg.rb:1:syntaxerror,unexpected')',expecting$end这是我目前所拥有的。我想坚持使用下面的方法或.join,

  2. 计算机毕业设计ssm+vue基本微信小程序的小学生兴趣延时班预约小程序 - 2

    项目介绍随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱小学生兴趣延时班预约小程序的设计与开发被用户普遍使用,为方便用户能够可以随时进行小学生兴趣延时班预约小程序的设计与开发的数据信息管理,特开发了小程序的设计与开发的管理系统。小学生兴趣延时班预约小程序的设计与开发的开发利用现有的成熟技术参考,以源代码为模板,分析功能调整与小学生兴趣延时班预约小程序的设计与开发的实际需求相结合,讨论了小学生兴趣延时班预约小程序的设计与开发的使用。开发环境开发说明:前端使用微信微信小程序开发工具:后端使用ssm:VU

  3. 牛客网专项练习30天Pytnon篇第02天 - 2

    1.在Python3中,下列关于数学运算结果正确的是:(B)a=10b=3print(a//b)print(a%b)print(a/b)A.3,3,3.3333...B.3,1,3.3333...C.3.3333...,3.3333...,3D.3.3333...,1,3.3333...解析:    在Python中,//表示地板除(向下取整),%表示取余,/表示除(Python2向下取整返回3)2.如下程序Python2会打印多少个数:(D)k=1000whilek>1:    print(k)k=k/2A.1000 B.10C.11D.9解析:    按照题意每次循环K/2,直到K值小于等

  4. ruby - 如何计算 Liquid 中的变量 +1 - 2

    我对如何计算通过{%assignvar=0%}赋值的变量加一完全感到困惑。这应该是最简单的任务。到目前为止,这是我尝试过的:{%assignamount=0%}{%forvariantinproduct.variants%}{%assignamount=amount+1%}{%endfor%}Amount:{{amount}}结果总是0。也许我忽略了一些明显的东西。也许有更好的方法。我想要存档的只是获取运行的迭代次数。 最佳答案 因为{{incrementamount}}将输出您的变量值并且不会影响{%assign%}定义的变量,我

  5. ruby - 使用 Ruby,计算 n x m 数组的每一列中有多少个 true 的简单方法是什么? - 2

    给定一个nxmbool数组:[[true,true,false],[false,true,true],[false,true,true]]有什么简单的方法可以返回“该列中有多少个true?”结果应该是[1,3,2] 最佳答案 使用转置得到一个数组,其中每个子数组代表一列,然后将每一列映射到其中的true数:arr.transpose.map{|subarr|subarr.count(true)}这是一个带有inject的版本,应该在1.8.6上运行,没有任何依赖:arr.transpose.map{|subarr|subarr.in

  6. arrays - 计算数组中的匹配元素 - 2

    给定两个大小相等的数组,如何找到不考虑位置的匹配元素的数量?例如:[0,0,5]和[0,5,5]将返回2的匹配项,因为有一个0和一个5共同;[1,0,0,3]和[0,0,1,4]将返回3的匹配项,因为0有两场,1有一场;[1,2,2,3]和[1,2,3,4]将返回3的匹配项。我尝试了很多想法,但它们都变得相当粗糙和令人费解。我猜想有一些不错的Ruby习惯用法,或者可能是一个正则表达式,可以很好地回答这个解决方案。 最佳答案 您可以使用count完成它:a.count{|e|index=b.index(e)andb.delete_at

  7. ruby-on-rails - 如何计算 Ruby/Rails 中 JSON 对象的数量 - 2

    Ruby中如何“一般地”计算以下格式(有根、无根)的JSON对象的数量?一般来说,我的意思是元素可能不同(例如“标题”被称为其他东西)。没有根:{[{"title":"Post1","body":"Hello!"},{"title":"Post2","body":"Goodbye!"}]}根包裹:{"posts":[{"title":"Post1","body":"Hello!"},{"title":"Post2","body":"Goodbye!"}]} 最佳答案 首先,withoutroot代码不是有效的json格式。它将没有包

  8. ruby - 如何计算自 Ruby 中给定日期以来的周数? - 2

    目标我正在尝试计算自给定日期以来周的距离,而无需跳过任何步骤。我更喜欢用普通的Ruby来做,但ActiveSupport无疑是一个可以接受的选择。我的代码我写了以下内容,这似乎可行,但对我来说似乎还有很长的路要走。require'date'DAYS_IN_WEEK=7.0defweeks_sincedate_stringdate=Date.parsedate_stringdays=Date.today-dateweeks=days/DAYS_IN_WEEKweeks.round2endweeks_since'2015-06-15'#=>32.57ActiveSupport的#weeks

  9. 最新版人脸识别小程序 图片识别 生成二维码签到 地图上选点进行位置签到 计算签到距离 课程会议活动打卡日常考勤 上课签到打卡考勤口令签到 - 2

    技术选型1,前端小程序原生MINA框架cssJavaScriptWxml2,管理后台云开发Cms内容管理系统web网页3,数据后台小程序云开发云函数云开发数据库(基于MongoDB)云存储4,人脸识别算法基于百度智能云实现人脸识别一,用户端效果图预览老规矩我们先来看效果图,如果效果图符合你的需求,就继续往下看,如果不符合你的需求,可以跳过。1-1,登录注册页可以看到登录页有注册入口,注册页如下我们的注册,需要管理员审核,审核通过后才可以正常登录使用小程序1-2,个人中心页登录成功以后,我们会进入个人中心页我们在个人中心页可以注册人脸,因为我们做人脸识别签到,需要先注册人脸才可以进行人脸比对,进

  10. ruby - 如何计算两个字符串共有的字符数? - 2

    如何计算两个字符串之间的字符交集?例如(假设我们有一个名为String.intersection的方法):"abc".intersection("ab")=2"hello".intersection("hallo")=4好的,男孩女孩们,感谢你们的大量反馈。更多示例:"aaa".intersection("a")=1"foo".intersection("bar")=0"abc".intersection("bc")=2"abc".intersection("ac")=2"abba".intersection("aa")=2一些补充说明:维基百科定义intersection如下:Int

随机推荐