移动云计算概论胶片(第4次20131101)_第1页
移动云计算概论胶片(第4次20131101)_第2页
移动云计算概论胶片(第4次20131101)_第3页
移动云计算概论胶片(第4次20131101)_第4页
移动云计算概论胶片(第4次20131101)_第5页
已阅读5页,还剩106页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

移动云计算概论,授课老师:孟江波eMail:mengjiangbo微信课程大纲,第一章:移动互联网概论6课时第二章:云计算基础10课时第三章移动云计算10课时第四章:云存储4课时第五章:云安全4课时第六章:移动云计算案例分析6课时考核及成绩评定方式评分标准:平时/期末各占百分之五十。最终成绩由平时作业(论文)、期末考试成绩组合而成。各部分所占比例如下:上课参与程度与出勤率:15%一次大作业:35%期末考试:50%。主要考核对课程所有知识点的掌握程度、问题分析能力、问题解决能力。七、教材及参考书目教材:智慧的云计算电子工业出版社虚拟化与云计算电子工业出版社,云计算(第二版)刘鹏电子工业出版社出版时间:2011年5月移动互联网技术基础与开发案例王爱宝等人民邮电出版社拨得云开见日出解构一个典型的云计算系统电子工业出版社云计算(技术应用标准和商业模式)周洪波著电子工业出版社,第二章:云计算基础,我们的感觉是真实的吗?,目录,概念基础设施虚拟化网络虚拟化、存储虚拟化服务器虚拟化CPU虚拟化、内存虚拟化、设备与I/O虚拟化、实时迁移技术应用虚拟化桌面虚拟化,PaaS,SaaS,IaaS,SOA,SOA,SOA,云计算技术体系结构,云计算的核心支撑技术:虚拟化,系统虚拟化是云资源管理的关键技术,云计算的核心支撑技术:虚拟化,桌面虚拟化是用户使用云资源的重要方式,Google云计算技术,目录,Google云计算应用场景Google云计算的技术架构Google云计算关键技术,浏览器操作系统,Google云计算应用场景,Google云计算应用的分类Google云计算应用可以归于SaaS和PaaS两类,SaaS,GoogleDocs,GoogleMaps,Gmail,GoogleCalendar,GoogleWave,PaaS,GoogleAppEngine,Google云计算应用场景,Google在线文档创建在线的Word和Excel,支持主要的文档编辑功能,在线创建演示(PPT),并支持在线演示。,支持实时协作(多人同时编辑)使用丰富的在线模板,快速构建文档支持移动设备访问和编辑与其他产品集成,如Gmail等,Google云计算应用场景,GoogleMapsGoogle提供的电子地图服务,Google提供的电子地图服务提供全球详尽的矢量电子地图不仅仅是地图街景地形交通流量卫星图片不仅仅是地图商业信息导航支持移动设备访问,对外提供服务,Google云计算应用场景,Google提供的电子邮件服务Gmail超大附件、海量存储空间,Google云计算应用场景,Google提供的日程安排工具GoogleCalendar,Google云计算应用场景,Google的信息分享、协作、发布平台-GoogleWave一个创新和整合的平台整合Gmail、即时通讯、文字处理、在线协作(游戏)等功能,Google云计算应用场景,隶属于PaaS的Google云计算GoogleAppEngine属于部署在云端的应用执行环境支持Python和Java两种语言通过SDK提供Google的各种服务,如图形、MAIL和数据存储等用户可快速、廉价(可免费使用限定的流量和存储)地部署自己开发的应用(如创新的网站、游戏等)。,Google云计算技术架构,Google的云计算应用依赖于6基础组件(6把刀):文件存储,GoogleFileSystem;分布式计算模型MapReduce;分布式锁服务Chubby;结构化数据表BigTable;分布式存储系统Megastore;分布式监控系统Dapper.,Google云计算技术架构,GFS:提供海量数据的存储和访问能力;MapReduce:提供海量信息的并行处理;Chubby:保证分布式环境下并发操作的同步问题;Bigtable:实现海量数据的管理和组织;Megastore:实现关系型数据库和NoSQL的融合;Dapper:全方位监控整个Google云计算平台的运行状况。,Google云计算技术架构,Google云平台与PC类比理解,Google云计算技术架构-GFS,GFS是一个大型分布式文件系统,GFS的前身“BigFils”是为了解决搜索引擎需要处理海量数据的需要而开发的文件系统,因此GFS目的是为了海量数据进行分解、存储,提高引擎的访问能力。GFS将整个系统的节点分为三类角色:Client(客户端),Master(主服务器)和ChunkServer(数据块服务器)。,Google云计算技术架构-GFS,Master:管理节点,逻辑上唯一(物理上多个),保存系统元数据,负责整个文件系统的管理,是GFS的“大脑”。,Google云计算技术架构-GFS,ChunkServer:负责具体的存储工作GFS可以包含多个ChunkServer,其数目决定了GFS的存储规模GFS将文件分块存储,块大小默认为64M,每隔块均具有唯一索引号(index),Google云计算技术架构-GFS,GFS的访问流程:1.客户端首先访问Master节点,获取相应的ChunkServer的信息;2.客户端与ChunkServer进行交互,实现数据存取工作。,Google云计算技术架构-GFS,GFS架构:访问流程实现了控制流和信息流的分离Client与Master仅有控制流,使Master不成为数据交互的瓶颈Client与ChunkServer直接存储数据,实现高速的数据并发读取采用中心服务器模式可以方便地增加ChunkServerMaster掌握系统内所有ChunkServer的情况,方便进行负载均衡不存在元数据的一致性问题不缓存数据GFS的文件操作大部分是流式读写,不存在大量的重复读写,使用Cache对性能提高不大ChunkServer上的数据存取使用本地文件系统,如果某个Chunk读取频繁,本地文件系统具有Cache从可行性看,Cache与实际数据的一致性维护也极其复杂,Google云计算技术架构-GFS,在用户态下实现直接利用ChunkServer的文件系统存取Chunk,实现简单用户态应用调试较为简单,利于开发用户态的GFS不会影响ChunkServer的稳定性只提供专用的访问接口降低GFS的实现复杂度,Google云计算技术架构-GFS,GFS的容错机制ChunkServer容错每个Chunk有多个存储副本(通常是3个),分别存储于不通的服务器上每个Chunk又划分为若干Block(64KB),每个Block对应一个32bit的校验码,保证数据正确(若某个Block错误,则转移至其他Chunk副本)Master容错三类元数据:命名空间(目录结构)、Chunk与文件名的映射以及Chunk副本的位置信息前两类通过日志提供容错,Chunk副本信息存储于ChunkServer,Master出现故障时可恢复,处理海量数据如何统计Google收集的网页中各个单词出现的次数?Goolge收集的网页占用存储空间超过400TB,假设一台计算机以30MB/sec的速度从磁盘读取数据,那么所需时间将超过4个月!,Google云计算技术架构-MapReduce,MapReduce是Google提出的一个软件架构,是一种处理海量数据的并行编程模式,用于大规模数据集(通常大于1TB)的并行运算。Map(映射),Reduce(化简)是从汉说编程语言和矢量编程语言借鉴而来。MapReduce有函数式和矢量编程语言的共性,使其特别适合结构化和非结构化的海量数据的搜索,挖掘,分析与智能学习。MapReduce:并行处理,容错,本地化计算,负载均衡通用接口。,Google云计算技术架构-MapReduce,Map方法的主要目的是进行数据分拣,分析出自己关心的数据,并为与同一类指标相关联的数据都打上一个标记:KEY,平台会将打上同一个标记KEY的数据从各台机器上收集起来集中到一台机器,然后调用用户的Reduce方法进行数据的统计分析。MapReduce实现Map和Reduce两个功能Map把一个函数应用于集合中的所有成员,然后返回一个基于这个处理的结果集Reduce对结果集进行分类和归纳Map()和Reduce()两个函数可能会并行运行,即使不是在同一的系统的同一时刻,MapReduce运行模型,一个Map函数对一部分原始数据进行指定的操作,Map与Map之间相互独立,实现并行化处理。一个Reduce操作对每个Map所产生的一部分中间结果进行合并操作,每个Reduce所处理的中间结果并不交叉,所有的Reduce产生的最终结果经过简单连接形成完整的结果集,Reduce也在并行环境下执行。,结果1,结果2,MapReduce两个主要函数,map函数:接受一个键值对(key-valuepair),产生一组中间键值对。MapReduce框架会将map函数产生的中间键值对里键相同的值传递给一个reduce函数。reduce函数:接受一个键,以及相关的一组值,将这组值进行合并产生一组规模更小的值(通常只有一个或零个值)。,MapReduce实现流程,MapReduce实现流程,1.MapReduce将输入文件(inputfile)分割成M块,一般来说每块的大小为16M到64M之间。然后将程序的copy分发到集群中去。2.master也会得到一份copy。然后由master来分派该M个Map任务和R个Reduce任务给idle的worker,每个worker将被分配给一个Map任务或者Reduce任务。3.被指派Map任务的worker将读取相应input分块的内容。它将input数据解析成对,传递给用户定义的Map函数。Map函数将产生中间结果并缓存在memory中。4.被缓冲的pairs将被定期地写回到本地磁盘,并通过分区函数分成R区。worker会把pairs在本地磁盘上的locations发送给master。master会把这些位置转交给相应的reduceworker。5.当Reduceworker被master告知这些位置时,它将使用RPC去mapworker那读取中间数据。当读完所有的数据时,它将通过key对数据进行排序,并且同属于一个中间key的数据将被合并。6.Reduceworker将遍历排序后的中间数据,将每一个key和相应的values传递给用户自定义的Reduce函数。Reduce函数的输出到一个最终文件中。7.当所有的map和reduce任务完成之后,master将唤醒用户程序,将产生R个outputfile,Mapreduce返回用户程序调用点。,MapReduce简单案例演示,案例:单词记数问题(WordCount)给定以下的实例,计算出各个单词出现的次数?,MapReduce简单案例演示,使用MapReduce求解该问题定义Map和Reduce函数,MapReduce简单案例演示,使用MapReduce求解该问题Step1:MapReduce对文本进行分割,MapReduce简单案例演示,使用MapReduce求解该问题Step2:在分割之后的每一对进行用户定义的Map进行处理,再生成新的对,MapReduce简单案例演示,使用MapReduce求解该问题Step3:对输出的中间结果集归拢、排序(系统自动完成),MapReduce简单案例演示,使用MapReduce求解该问题Step4:通过Reduce操作生成最后结果,Google云计算技术架构-MapReduce,实践证明,MapReduce是出色的分布式计算模型Google宣布,其对分布于1000台计算机上的1TB数据进行排序仅仅需要68s对4000台计算机上的1PB数据进行排序处理仅需要6小时2分钟(每次测试至少会损坏1块硬盘)在08年1月份,GoogleMapReduce平均每天的数据处理量是20PB,相当于美国国会图书馆当年5月份存档网络数据的240倍,Google云计算技术架构-Chubby,Chubby是Google提供粗粒度锁服务,为解决分布式一致性问题而设计的的一个文件系统。,例如,GFS在物理上往往包含多个Master,但需要在逻辑上确定唯一的Master。如何确定?这是一个分布式一致性问题,分布式系统的一致性问题,分布式系统的一致性问题,就是如何保证系统中初始状态相同的各个节点在执行相同的操作序列时,看到的指令序列是完全一致的,并能最终得到完全一致的结果。Paxos算法:来历Lamport提出Paxos算法:节点(一个节点可兼有多重类型)分为三种类型:Proposers、Acceptors和Learns。1.其中Proposers提出决议(比如在系统中宣布接下该执行的指令);2.Acceptors批准决议;3.Learns获取并使用已通过的决议。必须以下满足三个条件,才可以保证数据的一致性:1.只有Proposers提出的决议才能批准;2.每次只能批准一个决议;3.只有决议被批准后,Learns才能获取这个决议。,Google云计算技术架构-Chubby,Chubby是一个文件系统,如何提供“锁”服务?Chubby中的锁就是文件在GFS的例子中,创建文件就是进行“加锁”操作,创建文件成功的那个server其实就是抢占到了“锁”用户通过打开、关闭和读取文件,获取共享锁或者独占锁;并且通过通信机制,向用户发送更新信息因此,通过Chubby可以解决Google云计算中的分布式一致性问题,Google云计算技术架构-Chubby,通常Google的一个数据中心仅运行一个Chubby单元,这个单元需要支持包括GFS、Bigtable在内的众多google服务,Chubby的设计目标是如下几点:高可用性和高可靠性;高扩展性支持粗粒度的建议性锁服务服务信息的直接存储通报机制缓存机制,Google云计算技术架构-Chubby,Chubby架构:Chubby分为两个部分:客户端和服务端,客户端和服务端之间通过RPC来连接;客户端的每个应用程序都有一个ChubbyLibrary,客户端所有的应用都通过这个库中的函数来完成;服务端被称为Chubby单元,一般有五个Replica服务器组成,配置和初始状态相同。,Chubby中Paxos算法体现,三个过程:1.选择一个副本作为协调者(Coordinator);2.协调者从客户提交的值中选择一个,然后发送消息广播给其他副本,其他副本收到广播后可以选择接受或拒绝,但必须把决定结果反馈给协调者;协调者收到大多数副本的接受信息后,就认为达到一致性,接着协调者发送确认信息(锁服务)。,Google云计算技术架构-BigTable,Bigtable是Google开发的基于GFS和Chubby的分布式存储系统,用来处理海量的数据的一种非关系型的数据库。Google设计Bigtable的动机:存储的数据种类繁多;海量的服务请求;商用数据库无法满足Google的需求;设计目标:广泛的实用性;较强的可扩展性;高可用性;简单性,Google云计算技术架构-BigTable,Bigtable是一个分布式多维映射表,表中的数据通过一个行关键字(RowKey),一个列关键字(ColumnKey)以及一个时间戳(TimeStamp)进行索引。Bigtable对存储在其中的数据不做任何解析,一律看作字符,具体的数据结构的实现由用户自己处理。,Google云计算技术架构-BigTable,BigTable的数据模型与关系数据库中的表类似,Google云计算技术架构-BigTable,Google云计算技术架构-BigTable,BigTable的数据模型列键列键采用列族:限定词的语法规则进行定义如anchor:,anchor:my.look.ca同一个族的数据被压缩在一起保存族是必须的,是BigTable中访问控制的基本单元,Google云计算技术架构-BigTable,BigTable的数据模型时间戳保存不同时期的数据,如“网页快照”与关系数据库的表不同表中的列可以不受限制地增长表中的数据几乎可以无限地增加,Google云计算技术架构-BigTable,BigTable系统架构基于三个云计算组件基础之上构建;客户端程序库(ClientLibrary)、主服务器(MasterServer)、多子表服务器(TabletServer);WorkQueue是一个分布式的任务调度器,处理分布式系统队列分组和任务调度;Chubby提供任意时刻只有一个主服务器,获取子表位置,保存模式信息和访问控制列表。,Google云计算技术架构-BigTable,主服务器:,主服务器,子表服务器状态监控,新子表分配,子服务器之间负载均衡,Google云计算技术架构-BigTable,子表服务器:Bigtable中数据实际上都是以子表的形式存放在子表服务器上,客户端一般只和子表服务器通信;SSTable是Bigtable内存数据存储格式,所有的SSTable文件都存储在GFS上;每个子表有N个SSTable以及日志(Log)文件构成,不同子表的SSTable可以共享。,64KB,64KB,.,SSTable,索引,SSTable格式,日志,子表实际组成,Amazon云计算AWS,AWS(AmazonWebservices)整体介绍,Amazon平台的产品分为几个部分:计算类:包含弹性计算云(EC2)和弹性MapReduce(ElasticMapReduce)这两个产品。允许用户根据需求动态改变虚拟机实例的类型及数量,技术上支持容错并在收费模式上支持按使用量付费;大量EC2实例动态地成为执行大规模MapReduce计算任务的工作机。存储类:包括弹性块存储EBS,简单消息存储SQS,Blob对象存储S3,表格存储系统Simpledb和DynamoDB以及分布式数据库系统RDS。工具支持:AWS支持多种开发语言,提供Java、Rupy、Python、PHP、Windows2.EC2实例;3.弹性块存储;4.弹性负载均衡;,EC2基本架构及主要概念,EC2的基本架构,Amazon机器映像(AMI)AMI(AmazonMachineImage)是一个可以将用户的应用程序、配置等一起打包的加密机器映像;AMI是用户云计算平台运行的基础,用户使用EC2服务的第一步就是要创建一个自己的AMI;类似要是使用PC,必须先有OS。Amazon提供的AMI有四种类型(1)公共AMI:亚马逊提供的免费AMI;(2)私有AMI:用户本人或授权用户才可以进入;(3)付费AMI:向其他开发者购买的AMI;(4)共享AMI:开发者之间共享的AMI;,EC2基本架构及主要概念,实例类型和其相关配置,实例(Instance)用户创建好AMI后,实际运行的系统称为一个实例EC2服务的计算能力是由实例提供,每个用户最多拥有20个实例,每个实例都有一个存储模块。按照计算能力划分,实例被分成标准型和高CPU型;按照使用方式划分,实例被分成按需实例和预留实例,EC2关键技术,1弹性块存储(EBS)长期保存或比较重要的数据,需要用弹性块存储(ElasticBlockStore,EBS),EBS允许每个EBS最多创建20个卷,每个卷可以挂载在任何一个实例上快照(Snapshot):捕捉当前卷的状态。,EC2关键技术,EBS设计原理:1.EBS包含两个部分:EBS控制层(EBScontrolplane)及EBS存储节点。2.EBS通过卷来组织数据,每个EBS卷只能挂载到一个EC2实例。3.EBS卷并不与实例绑定,而是与用户帐号绑定。当EC2实例发生故障时,用户可以在新启动的EC2实例上重新挂载EBS卷。4.EBS以快照的形式将卷数据增量备份到S3,而S3的数据分布在多个可用区域,进一步增强了可靠性。,1.EBS客户端通过EBScontrolplane创建逻辑卷,获取逻辑卷每个副本所在的EBS存储节点位置,随后请求EBS存储节点读写逻辑卷数据。2.每个逻辑卷存储在多个EBS节点上,多个副本之间数据强同步,其中有一个副本为Primary,其它的为Secondary。当Primary往Secondary传输数据失败时,将请求EBScontrolplane选取新的EBS节点增加副本,这个过程称为重新镜像(re-mirroring)。3.EBScontrolplane负责每个逻辑卷的Primary副本选取,如果Primary出现故障,将选择某个Secondary副本为新的Primary。4.EC2实例通过EBS客户端访问EBS系统,它们之间遵守一定的协议,比如网络块设备(NetworkBlockDevice,NBD)协议,从而EC2实例访问远程EBS节点上的逻辑卷与访问本地的块设备没有差别。,EC2关键技术,2.区域地理区域(RegionZone)可用区域(AvailabilityZone),EC2的关键技术,3EC2的通信机制EC2服务中,系统各模块之间及系统和外界之间的信息交互是通过IP地址进行。公共IP地址(PublicIPAddress)私有IP地址(PrivateIPAddress)弹性IP地址(ElasticIPAddress),EC2关键技术,4弹性负载平衡(ElasticLoadBalancing)允许EC2实例自动分发应用流量,从而保证工作负载不会超过现有能力,并且在一定程度上支持容错;自动识别实例的状态,来进行流量分配。,EC2关键技术,5监控服务(CloudWatch)AmazonCloudWatch是一个Web服务,提供了AWS资源的可视化检测功能。包括EC2实例状态、资源利用率、需求状况、CPU利用率、磁盘读取、写入和网络流量等指标。,CloudWatch,EC2关键技术,6自动缩放(AutoScaling)自动缩放可以按照用户自定义的条件,自动调整EC2。EC2实例的自动伸缩服务,结合CloudWatch可以做到非常精细实例自动扩缩容。AS只是管理一些扩缩容的规则配置,然后会根据这些规则不停扫描机器,自动触发EC2实例的上下线操作的CloudWatch自动启动该功能。算能力,EC2关键技术,7服务管理控制台(AWSManagementConsole)服务管理控制台是一种基于Web的控制环境,可用于启动、管理EC2实例和提供各种管理工具和API接口,EC2安全及容错机制,EC2特点之一:允许用户随时更新实例状态,用户可以随时加入或删除实例,实例状态的动态变化方便了用户,但给防火墙的配置带来了麻烦EC2引入了安全组(SecurityGroup)概念安全组其实就是一组规则,用户利用这些规则来决定哪些网络流量会被实例接受,其他则全部拒绝一个用户目前最多可以创建100个安全组。当用户的实例被创建时,如果没有指定安全组,则系统自动将该实例分配给一个默认组(DefaultGroup),EC2安全及容错机制,用户访问EC2时需要使用SSH(SecureShell)密钥对(KeyPair)来登录服务密钥对的名称(KeyPairName)和公钥(PublicKey)储存在EC2中用户创建新实例时,EC2会将它保存的信息复制一份放在实例的元数据(Metadata)中,然后用户使用自己保存的私钥(PrivateKey)就可以安全地登录EC2并使用相关服务。,非对称密钥如何实现用户身份的认证?,EC2安全及容错机制,弹性IP地址弹性IP地址和用户账号绑定而不是和某个特定的实例绑定,这给系统的容错带来极大的方便,每个账号默认绑定5个弹性IP地址。当系统正在使用的实例出现故障时,用户只需要将弹性IP地址通过网络地址转换技术转换为新实例所对应的私有IP地址,这样就将弹性IP地址与新的实例关联起来,访问服务时不会感觉到任何差异,Amazon平台基础存储架构:Dynamo弹性计算云EC2简单存储服务S3简单队列服务SQS简单数据库服务SimpleDB关系数据库服务RDS内容推送服务CloudFront其他Amazon云计算服务AWS应用实例小结,简单存储服务S3(SimpleStorageService),简单存储服务S3(SimpleStorageService)是一种简单存储服务,用户通过服务接口(REST/SOAP)可以将任意类型的文件临时或永久地存储在S3服务器上,S3目标是提供可靠易用的存储服务,以及较低的使用成本。出现S3原因:?1.用户最常用的操作是存储和读取,查询功能需求很低(对比关系数据库)2.尽量使得文件操作简单、高效。,S3基本架构,S3是基于桶(Bucket)的存储系统,它把每个被存储的文件当做一个Object,被存储的Object被放到相应的Bucket中,如下所示:其中涉及到三个基本概念:对象(Object)、键(Key)和桶(Bucket)。,基本概念-对象,1.对象S3的基本

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论