发布时间:2024-01-28 18:30
1 云计算定义:通过集中式远程资源池,以按需分配的方式,为终端用户提供计算服务能力。
2 云计算分类
(1)按照提供的服务分类
①Sass:(S表示Software)提供软件服务
②Pass:(P表示Platform)提供平台服务
③Iass:(I表示Infrastructure)提供类似于裸机的基础设施服务
(2)按照云计算地类型分类
①公用云:面向大众的云计算服务,缺点是难以保证数据私密(亚马逊)
②私有云:面向组织内部提供的云计算服务,可以很好地保证数据地私密性
③社区云:提供面向社团组织内的云计算平台(Nasa的Nebula云平台)
④混合云:包含2种或以上地云计算类型。
3 云计算系统的组成
4 云计算的关键技术
①虚拟化技术:就是布置安装分布式虚拟机时需要的技术
②云计算架构技术:研究适合云计算这种计算模式的架构的开发
③资源调度技术:怎样充分地调动云计算系统所有的计算资源
④并行计算技术:解决大数据中的并行计算任务
⑤大数据分布式存储技术:把大数据中的数据存起来也很重要
⑥云安全技术:就是保证云计算系统的安全性
⑦云计算应用:面向各个行业的、不同形式的云计算应用技术和系统
5 怎样才算是云计算系统
①资源虚拟化和弹性调度解决小粒度应用资源共享。资源虚拟化和弹性调度可以解决按需分配的问题,就是说可以按需分配为小粒度应用提供资源。
②大数据存储处理和并行计算服务提供大粒度应用计算能力。就是说通过大数据存储与大数据处理技术例如分布式处理来执行大数据的任务应用·。
6 云计算的特点
①透明的云端计算服务
②计算资源十分巨大,提供强大的计算服务
③按需分配,成本低廉
④资源共享,可以降低维护的费用
⑤节约能源,绿色环保
⑥应用部署快速而容易
⑦集计算技术之大成,具有很强的技术性、工程型特点
⑧软件/应用功能更新方便快捷
7 大数据的定义及其特点:大数据就是指难以使用现有的数据库去管理和现有的数据处理技术去处理的数据集。大数据有4V特点:Volume、Velocity、Variety、Veracity
8大数据研究的挑战及基本途径
(1)挑战:
①数据规模太大从而难以存储和处理
②传统算法对大数据失效
③大数据复杂的数据关联性使得计算复杂度变高
(2)解决方案:
①设计降低计算复杂度的算法
②开发数据尺度无关算法
③并行化解决大数据的存储和处理
9 为什么需要并行计算
(1)单核处理器的性能以经到达极限了
(2)大数据时代的到了,应用领域内计算复杂度和计算量都大大提高了
(3)基于上述原因,单处理器向多核并行计算发展成为必然趋势
10 并行计算的分类
(1)按照计算特征来分:①数据密集型 ②任务密集型 ③数据任务混合计算密集型
(2)按照并行计算模型分类:①共享内存变量 ②消息传递方式 ③MapReduce
11 并行计算主要技术问题
①多处理器网络互连结构技术:多个CPU构成的网络之间要互相连接
②存储访问体系结构:分开来的数据如何访问
③分布式数据与文件管理:多个线程之间肯定要分开欸存储
④并行计算任务分解:要怎么把大任务分成小任务
⑤并行程序设计模型和算法:要怎样设计并行计算
⑥数据同步访问和通信控制:
⑦可靠性设计与容错技术:计算过程之间的容错率要提高
⑧如何搭建并行计算软件框架平台。
⑨系统性能评价和程序并行度评估:并行计算的评估问题
12 MPI(是消息传递函数库的标准规范,由MPI论坛开发,MPI即为并行通信提供丰富的函数接口,也为并行文件I/O访问等提供函数接口)的主要功能
①提供节点之间点对点通信
②提供节点集合通信
13 MPI的特点
(1)优点:
①可以适用于多种计算密集型的并行计算任务
②独立性高,具有平台移植性
③有很多厂商实现并支持并实现MPI
(2)缺点
①无良好的数据和任务划分支持:不能像云计算一样可以比较好地划分数据
②没有分布式文件系统来分布式储存文件:上面缺少数据划分,下面缺少文件划分
③通信开销大,当节点变多的时候性能会下降。
④没有节点恢复机制,一旦某个节点失效可能导致计算过程失效。
⑤没有构架支撑,程序员要考虑的变成细节太多
14 为什么需要海量数据并行处理技术
①大数据时代的到来,海量数据处理以及变得十分重要
②海量数据有着十分丰富的挖掘价值
③处理海量数据的能力不够,只能采用并行计算的方法来处理
1 什么是MapReduce?
MapReduce是Google公司发明的一种面向大规模海量数据处理的高性能并行计算平台和软件编程框架,是目前最为成功和最易于使用的大规模海量数据并行处理技术,广泛应用于搜索引擎(文档倒排索引,网页链接图分析与页面排序等)、Web日志分析、文档分析处理、机器学习、机器翻译等各种大规模数据并行计算应用领域,MapReduce是面向大规模数据并行处理的:
1.基于集群的高性能并行计算平台(Cluster Infrastructure)
2.并行程序开发与运行框架(Software Framework)
3.并行程序设计模型与方法(Programming Model & Methodology)
2 MapReduce的主要设计思想与特点
①把失效认作是常态
②为应用开发者隐藏一些系统层的细节
③可拓展性非常强,且是向外横向扩展,而非向上纵向扩展。MapReduce集群的构筑选用价格便宜、易于扩展的大量低端商用服务器,而非价格昂贵、不易扩展的高端服务器
④顺序处理数据、避免随机访问数据
⑤把处理向数据迁移与靠拢,这样可以节约成本。‘
先从含量数据当中把一大段文字分成一个一个的小文本,将这些小文本作为Map的输入经过Map输出一些中间输出。其中“键”为单词,“值”都是1,如下图所示:
这些中间输出经过“Combiner”以后,相同“键”的键值对中间结果被合并,产生了一些新的中间输出,存放在Patitioner当中如下图所示:
而后多个Patitioner把以全部连接的方式将自己的存折的东西输入到Reduce那里,例如所有的(good,n)键值对就到了Reduce1那里,然后Reduce1来输出good的总的统计词频。
所以Mapreduce的计算框架可以表示为:
(1) 各个map函数对所划分的数据并行处理,从不同的输入数据产生不同的中间结果输出
(2)各个reduce也各自并行计算,各自负责处理不同的中间结果数据集合
(3)进行reduce处理之前,必须等到所有的map函数做完,因此,在进入reduce前需要有一个同步障(barrier)来对中间结果数据进行收集整理。
(4)汇总所有reduce的输出结果即可获得最终结果
4 Google MapReduce并行处理的基本过程
5 Google GFS的基本设计原则(GFS是Google的文件系统)
①廉价本地磁盘分布存储
②多数据自动备份解决可靠性
③为上层的MapReduce计算框架提供支撑
6 GFS的基本工作架构和原理
(1)GFS的基本架构
GFS Master上保存了GFS文件系统的三种元数据 :
①命名空间(Name Space),即整个分布式文件系统的目录结构 。
②Chunk与文件名的映射表,应用端要的是文件名,所以需要一个文件名与GFSchunk的数据之间的映射。前两种元数据可通过操作日志提供容错处理能力
③Chunk副本的位置信息,每一个Chunk默认有3个副本,第3个元数据直接保存在ChunkServer上
(2)GFS ChunkServer:即用来保存大量实际数据的数据服务器
①GFS中把文件划分为若干个数据块,每个数据块划分为64MB。
②每个数据块会分别在3个不同的地方复制副本;对每一个数据块,仅当3个副本都更新成功时,才认为数据保存成功。
(3)数据访问过程
①在程序运行前,数据已经存储在GFS文件系统中;程序运行时应用程序会告诉GFS Server所要访问的文件名或者数据块索引是什么。
②GFS Server根据文件名或数据块索引在其文件目录空间中查找和定位该文件或数据块,并找数据块在具体哪些ChunkServer上;将这些位置信息回送给应用程序。
③应用程序根据GFS Server返回的信息,直接访问相应的Chunk Server。
④读取指定位置的数据进行计算处理
7 Google的很多项目将数据存储在Bigtable中,包括Web索引、Google Earth、Google Finance,可以根据行关键字的URL查出对应URL的数据。BigTable表中的数据通过哪些信息进行索引和定位:
①一个行关键字(row key) ②一个列关键字(column key) ③一个时间戳(time stamp)
8 BigTable数据存储格式
(1)行(Row):大小不超过64KB的任意字符串。表中的数据都是根据行关键字进行排序的。例如com.cnn.www就是一个行关键字(URL倒排)。URL倒排的好处在于:
①相同地址网页被存在连续的位置当中,便于查找。如www.baidu.com, baidu.com,news. baidu.com, wenku.baidu.com。
②倒排便于数据压缩。
(2)子表(Tablet):一个大表可能太大,不利于存储管理,将在水平方向上被分为多个子表
(3)时间戳(time stamp): 很多时候同一个URL的网页会不断更新,而Google需要保存不同时间的网页数据,因此需要使用时间戳来加以区分。
9 HDFS基本架构
和GFS差不多,只不过HDFS中的Namenode和GFS的muster一样,datanode和Chunkserver一样
虚拟化的目的:将资源进行抽象化封装成标准的输入输出接口,简化对资源的访问、表示和管理,实现资源使用者和资源具体实现之间的松耦合(松耦合的意思就是减少两折之间的关系)
1 虚拟化的含义:
①虚拟化的对象是各种各样的资源。包括各种硬件资源,如CPU、内存、存储区、网络设施;
②经过虚拟化后的逻辑资源对用户隐藏不必要的实现细节;(让操作变简单)
③用户可以在虚拟环境中实现其在真实环境中的部分或全部功能。(简单的同时还可以完成全部功能)
2 网络虚拟化与SDN
(1)网络虚拟化:抽象出一个网络虚拟层,将网络资源的能力从硬件中剥离出来,由网络虚拟层来实现原有网络设备所具有的功能,并对上层应用提供API,实现实现网络能力与硬件的解耦。
(2)SDN:它抽象了网络的不同、可区分的层,使网络变得敏捷和灵活**。让网络能够像软件一样便捷、灵活和定制**,以此提高网络的创新能力。实现可编程网络。将原本封闭的网络设备控制面和数据转发面分离。
(3)两者之间的区别:
①网络虚拟化是云计算驱动:为每一个租户提供完整的网络视图,安全且完全隔离的虚拟的网络环境实现真正的服务模型;
②SDN是产业开放性驱动:主要目的是促使网络设备分层。负责转发的硬件、网络操作系统及其上层应用,每层对应更灵活选择的产品。
3 服务器虚拟化:服务器化是指将虚拟化技术与服务器融合,在单一的物理服务器上创建若干个可独立使用的虚拟服务器,或者整合多个服务器,创建逻辑一体化的单个服务器。并且让每个服务器具有完整性和独立性。
服务器虚拟化的关键特性:
①分区:在单一物理服务器上同时运行多个虚拟机
②隔离:在同一服务器上的虚拟机之间相互隔离
③封装:整个虚拟机都保存在文件中,可以通过移动和复制这些文件的方式来移动和复制该虚拟机
④独立性:无需修改即可在任何服务器上运行虚拟机
4 内存虚拟化:逻辑内存和机器内存之间的映射关系,目的是
①提供给虚拟机一个从0地址开始的连续物理内存空间;
②在虚拟机之间有效隔离,调度以及共享内存资源。
这是由虚拟机的内存虚拟管理单元来负责
(1)内存虚拟化的涉及的三种内存有:逻辑内存,物理内存,机器内存。
(2)内存虚拟化管理单元的两种方法:
①影子页表法:客户OS维护自己的页表,对应“伪”物理内存的地址;虚拟机监视器为每台虚拟机维护一个对应的页表,对应着真实的机器内存地址,虚拟监视器的页表就是“影子页表”。虚拟机监视器的页表以1中的页表为蓝本建立,并随之更新而更新,所以称“影子页表”。
②页表写入法:当客户操作系统创建一个新页表时,需要向虚拟机监视器注册该页表时,此时虚拟机监视器将剥夺客户操作系统对页表的写权限,并向该页表写入由虚拟机监视器维护的机器内存地址,当客户操作系统访问内存时,它可以在自己的页表中获得真实的机器内存地址,客户操作系统对页表的每次修改都会陷入虚拟机监视器,由虚拟机监视器来更新页表。页表写入法需要修改客户操作系统。
5 DLL地狱:意即同一个DLL的多个版本造成的不兼容。当应用程序需要使用这些DLL时,Windows将它们载入内存;如果替换了DLL,下一次应用程序载入DLL时它可能不是该应用程序所希望的版本。这种不兼容性随着安装更多的新软件而增加。
6 应用虚拟化:应用虚拟化为应用程序提供一个虚拟的运行环境,在这个虚拟的环境内,不但有应用程序的可执行文件,还包括所需要的运行环境。应用虚拟化把应用对底层系统和硬件的依赖抽象出来,解除应用和操作系统和硬件的耦合关系。程序运行在应用虚拟化环境中,该环境为应用程序屏蔽了底层可能与其他应用产生冲突的内容,如动态链接库。
7 桌面虚拟化:桌面虚拟化是指将用户的桌面环境与其使用的终端设备解耦,在服务端上以虚拟机的方式存放每个用户的完整的桌面环境。
1 云安全与传统信息安全的异同点
(1)针对对象:传统安全的对象是个人可以掌控的区域例如个人电脑,个人的服务器等等。云安全针对的是云平台,而云平台则是用户无法掌控的区域。
(2)安全技术:传统信息安全面对的是一些信息领域的共性问题例如所面临的诸如软件漏洞、网络病毒、黑客攻击,技术也是解决这些问题的技术。云安全在云计算打发展下带来了新的安全问题例如虚拟化的安全问题,也让这些新的安全技术的发展。
(3)服务模型:传统服务中数据分散,用户享受服务的成本高,性价比低。云计算引入了全新的多租户、数据集中、软硬件资源集中的服务模型,这种模型能够以较低的价格获得十分稳健和优异的存储或计算服务,同时也会带来新的安全需求。
2 云安全威胁有哪些?
1.恶意使用 2.数据丢失 3.恶意业内人士 4.账户服务或流量劫持 5.共享技术潜在风险
6.不安全的API 7.系统漏洞
3 虚拟机存在的相关安全问题
①虚拟机自身安全 ②虚拟机网络安全 ③虚拟机镜像安全 ④虚拟机控制器安全(影子页表)
4 云平台为用户提供的服务安全
(1)细粒度访问控制:当用户将自己的数据存储到云端时,云端需要能够阻止非法的用户访问其他用户的资源和数据等。意思就是在数据访问控制这一方面做得十分细腻。
(2)数据动态完整性:让用户无需将所有数据都下载下来就能够检测自己的数据是否完整
(3)密文搜索:意思就是数据是加密过后的数据,如果要对特定数据展开搜索,就把关键词加密以后再次搜索。
1 非关系型数据库和关系型数据库优缺点
2 EC2的基本架构:弹性云,是一个可以让用户可以租用云电脑运行所需应用的系统。EC2借由提供web服务的方式让用户可以弹性地运行自己的Amazon机器镜像文件,用户将可以在这个虚拟机上运行任何自己想要的软件或应用程序
3 EC2通信时用到三种IP地址
①公共IP地址 ②私有IP地址
③弹性IP地址:弹性IP地址和用户账号绑定而不是和某个特定的实例绑定。当系统正在使用的实例出现故障时,用户只需要将弹性IP地址通过网络地址转换NAT转换为新实例所对应的私有IP地址
4 simpleDB:Amazon SimpleDB 将所有数据视为输入并为所有属性设置索引,使得能够快速查询这些数据。应将大型数据元或文件存储在 Amazon S3 中,而最好将小型数据元素或文件指针(可能指向 Amazon S3 数据元)保存在 Amazon SimpleDB 中。
(1)SimpleDB中的域、条目、属性、值
①域:域是用于存放具有一定关联关系的数据的容器,其中的数据以UTF-8编码的字符串形式存储。可以理解为域就是一张表。
②条目:条目对应着一条记录,、条目是属性的集合。可以理解为表中的一行,即表中的一个样本。
③属性:属性是条目的特征,每个属性都用于对条目某方面特性进行概括性描述。如身高,体重
④值:值用于描述某个条目在某个属性上的具体内容,如条目A的身高值为180cm。
(2)SimpleDB和DynamoDB的比较
SimpleDB和DynamoDB都是Amazon提供的非关系型数据库服务。
①SimpleDB:限制了每张表的大小,更适合于小规模复杂的工作。自动对所有属性进行索引,提供了更加强大的查询功能。就是说SimpleDB都比较适合用于查询。
②DynamoDB:支持自动将数据和负载分布到多个服务器上,并未限制存储在单个表中数据量的大小,适用于较大规模负载的工作。
5 微软云计算服务平台各组成部分
①Windows Azure:作为微软云计算操作系统,提供了一个在微软数据中心服务器上运行应用程序和存储数据的Windows环境。这个是为了给微软与计算服务中心提供Windows环境。
②SQL Azure:它是微软云中的关系数据库,为微软云基于提供SQL Server的关系型数据服务
③Windows Azure AppFabric:AppFabric为本地应用和云中应用提供了分布式的基础架构服务例如用户本地应用与云应用之间进行安全联接和信息传递。
④Windows Azure Marketplace:为云计算环境下的数据和应用提供在线购买的服务,可以理解为一个市场。
6 Windows Azure应用程序包括的实例
①Web Role实例:基于Web Role可以使基于Web的应用创建过程变得简单
②Worker Role实例:Worker Role设计用来运行各种各样的基于Windows的代码
③VM Role实例:VM Role运行系统提供的Windows Server 2008 R2镜像。可以提供类似于裸机的基础设施服务(Iass)
7 Windows Azure存储服务支持的数据类型
①Table:提供更加结构化的数据存储
②Blob:存储二进制数据,可以存储大型的无结构数据,容量巨大,能够满足海量数据存储需求。
③Queue:用来支持在Windows Azure应用程序组件之间进行通信
8 Windows Azure全局命名空间
①账户名:DNS主机名的一部分,是客户为访问存储而选择的账户名
②分区名:使用账户名定位存储集群后,在集群内将数据访问请求进一步定位到存储节点
③对象名:用来对分区中的多个对象进行区分
9 SQL Azure提供的三种服务
①SQL Azure数据库:提供了一个云端的DBMS,这使得可以在微软数据中心的服务器上存储数据。
②SQL Azure 报表服务:用SQL Azure数据库提供报表服务,允许在云数据中创建标准的SSRS报表。
③SQL Azure 数据同步:允许同步SQL Azure数据库和本地SQL Server数据库中的数据,也能够在不同的微软数据中心之间同步不同的SQL Azure数据库。
10 SQL Azure与SQL Server的区别
(1)缺点:SQL Azure省略了SQL Server中的一些技术点:
①用户没有底层管理功能,所有管理功能都由微软实现;
②用户不能直接关闭自身运行的系统,也不能管理运行应用的硬件设施。
(2)优点:SQL Azure运行环境比较稳定;应用获取的服务比较健壮;存储的所有数据均备份了3份。重点就是SQL Azure的稳定性比SOL Server高。
11 AppFabric提供的服务
AppFabric目前主要提供互联网服务总线、访问控制(服务和高速缓存服务。
(1)提供互联网服务总线:通过云中应用公开的终端使公开应用服务变得简单(通过这一个终端让公开应用平台的服务变得简单),这个终端是可以被其他应用访问的。服务总线同样能够处理网络地址转换所带来的挑战,并且可以在没有打开新的公开应用端口的情况下通过防火墙。
(2)访问控制:AppFabric访问控制服务简化了支撑身份认证的工作,同时也定义了一定的规则来控制用户的访问。就是限制那些人可以来,哪些不行。
(3)高速缓存:
①提升应用(对终端)的访问速率。
②可以缓存这些经常被访问的信息,从而减少应用查询数据库的次数。
12 Windows Azure Market提供的两种服务
(1)DataMarket:定制的应用和现有的应用都可以通过REST请求或OData门户访问上面的数据;
(2)AppMarket:云应用创建者通过AppMarket可以将应用展现给潜在的用户。(展现应用)
1 数据中心的四个特征
①高设备利用率:采用虚拟化技术进行系统和数据中心整合,优化资源利用率、简化管理
②绿色节能:通过先进的供电和散热技术,降低数据中心的能耗
③高可用性:当网络扩展或升级时,网络能够正常运行,对网络的性能影响不大。就是说适应变革的能力强,才具有高的可用性
④自动化管理:云数据中心应是24×7小时无人值守并可远程管理的。
2 云数据中心网络体系结构
①改进型树结构
②递归层次结构
③光交换网络:由光纤交换机和光纤链路参与。
④无线数据中心网络:存在着无线链路的参与
⑤软件定义网络:摆脱硬件对网络架构的限制,这样便可以像升级、安装软件一样对网络进行修改。这种网络体系架构便于更多的APP(应用程序)能够快速部署到网络上。
3 绿色节能技术
①配电系统节能技术:改善配电系统,提高电的利用效率。
②空调系统节能技术:注重IT设备的温湿度要求,高效解决区域化的制冷(可理解为用空调去吹想要变冷的设备)
③集装箱数据中心节能技术:把部件都装进去一个集装箱,这样可以减少因距离远产生的损耗
④数据中心节能策略和算法
4 自动化管理的特征
①全面的可视性:可以俯瞰整个云数据中心的全局。
②自动的控制执行:这个设备可以自己控制,自动地执行。
③多层次的无缝集成 :类似于计算机网络的层次,独立且流畅的结合
④综合与实时的报告:可以获取实时的报告
⑤全生命周期支持:7天24h全面运行
5 数据中心容灾备份系统的两个主要技术指标
数据恢复点目标:RPO主要指的是业务系统所能容忍的数据丢失量
恢复时间目标:RTO主要指的是所能容忍的业务停止服务的最长时间
6 容灾备份的关键技术
①远程镜像技术:就是将原来存储系统里面的数据进行打包存放。核心技术,同时也是保持远程数据同步和实现灾难恢复的基础
②快照技术:由快照软件提供系统磁盘存储的即时数据映像,它存在缓冲区调度的问题
③基于IP的SAN的远程数据容灾备份技术:SAN实际是一种专门为存储建立的独立于TCP/IP网络之外的专用网络。这种技术经济师可以把数据存在SAN上面。
④数据库复制技术:服务于全球可用性和地理局部性;客户端会自动在副本之间进行失败恢复