您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > 移动云计算概论胶片(第4次20131101)
移动云计算概论授课老师:孟江波eMail:mengjiangbo@sina.com微信:13866669527课程大纲第一章:移动互联网概论6课时第二章:云计算基础10课时第三章移动云计算10课时第四章:云存储4课时第五章:云安全4课时第六章:移动云计算案例分析6课时考核及成绩评定方式评分标准:平时/期末各占百分之五十。最终成绩由平时作业(论文)、期末考试成绩组合而成。各部分所占比例如下:上课参与程度与出勤率:15%一次大作业:35%期末考试:50%。主要考核对课程所有知识点的掌握程度、问题分析能力、问题解决能力。七、教材及参考书目教材:智慧的云计算电子工业出版社虚拟化与云计算电子工业出版社云计算(第二版)刘鹏电子工业出版社出版时间:2011年5月移动互联网技术基础与开发案例王爱宝等人民邮电出版社拨得云开见日出解构一个典型的云计算系统电子工业出版社云计算(技术应用标准和商业模式)周洪波著电子工业出版社第二章:云计算基础目录概念基础设施虚拟化•网络虚拟化、存储虚拟化服务器虚拟化•CPU虚拟化、内存虚拟化、设备与I/O虚拟化、实时迁移技术应用虚拟化桌面虚拟化PaaSSaaSIaaSSOASOASOA云计算技术体系结构云计算的核心支撑技术:虚拟化系统虚拟化是云资源管理的关键技术云计算的核心支撑技术:虚拟化桌面虚拟化是用户使用云资源的重要方式Google云计算技术目录Google云计算应用场景Google云计算的技术架构Google云计算关键技术应用向互联网迁移数据向互联网迁移计算能力向互联网迁移存储空间向互联网迁移浏览器=操作系统Google云计算应用场景Google云计算应用的分类Google云计算应用可以归于SaaS和PaaS两类SaaSGoogleDocsGoogleMapsGmailGoogleCalendarGoogleWave……PaaSGoogleAppEngineGoogle云计算应用场景Google在线文档创建在线的Word和Excel,支持主要的文档编辑功能,在线创建演示(PPT),并支持在线演示。支持实时协作(多人同时编辑)使用丰富的在线模板,快速构建文档支持移动设备访问和编辑与其他产品集成,如Gmail等Google云计算应用场景GoogleMapsGoogle提供的电子地图服务Google提供的电子地图服务提供全球详尽的矢量电子地图不仅仅是地图街景地形交通流量卫星图片不仅仅是地图商业信息导航支持移动设备访问,对外提供服务Google云计算应用场景Google提供的电子邮件服务—Gmail超大附件、海量存储空间Google云计算应用场景Google提供的日程安排工具—GoogleCalendarGoogle云计算应用场景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云计算应用MapReduceBigTableGFSChubbyGoogle云计算技术架构-GFSGFS是一个大型分布式文件系统,GFS的前身“BigFils”是为了解决搜索引擎需要处理海量数据的需要而开发的文件系统,因此GFS目的是为了海量数据进行分解、存储,提高引擎的访问能力。GFS将整个系统的节点分为三类角色:Client(客户端),Master(主服务器)和ChunkServer(数据块服务器)。Google云计算技术架构-GFSMaster:管理节点,逻辑上唯一(物理上多个),保存系统元数据,负责整个文件系统的管理,是GFS的“大脑”。Google云计算技术架构-GFSChunkServer:负责具体的存储工作GFS可以包含多个ChunkServer,其数目决定了GFS的存储规模GFS将文件分块存储,块大小默认为64M,每隔块均具有唯一索引号(index)Google云计算技术架构-GFSGFS的访问流程:1.客户端首先访问Master节点,获取相应的ChunkServer的信息;2.客户端与ChunkServer进行交互,实现数据存取工作。Google云计算技术架构-GFSGFS架构:访问流程实现了控制流和信息流的分离•Client与Master仅有控制流,使Master不成为数据交互的瓶颈•Client与ChunkServer直接存储数据,实现高速的数据并发读取–采用中心服务器模式•可以方便地增加ChunkServer•Master掌握系统内所有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云计算技术架构-MapReduceMapReduce是Google提出的一个软件架构,是一种处理海量数据的并行编程模式,用于大规模数据集(通常大于1TB)的并行运算。Map(映射),Reduce(化简)是从汉说编程语言和矢量编程语言借鉴而来。MapReduce有函数式和矢量编程语言的共性,使其特别适合结构化和非结构化的海量数据的搜索,挖掘,分析与智能学习。MapReduce:并行处理,容错,本地化计算,负载均衡通用接口。Google云计算技术架构-MapReduceMap方法的主要目的是进行数据分拣,分析出自己关心的数据,并为与同一类指标相关联的数据都打上一个标记:KEY,平台会将打上同一个标记KEY的数据从各台机器上收集起来集中到一台机器,然后调用用户的Reduce方法进行数据的统计分析。•MapReduce实现Map和Reduce两个功能–Map把一个函数应用于集合中的所有成员,然后返回一个基于这个处理的结果集–Reduce对结果集进行分类和归纳–Map()和Reduce()两个函数可能会并行运行,即使不是在同一的系统的同一时刻MapReduce运行模型一个Map函数对一部分原始数据进行指定的操作,Map与Map之间相互独立,实现并行化处理。一个Reduce操作对每个Map所产生的一部分中间结果进行合并操作,每个Reduce所处理的中间结果并不交叉,所有的Reduce产生的最终结果经过简单连接形成完整的结果集,Reduce也在并行环境下执行。结果1结果2MapReduce两个主要函数•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数据解析成key,value对,传递给用户定义的Map函数。Map函数将产生中间结果key,value并缓存在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:在分割之后的每一对key,value进行用户定义的Map进行处理,再生成新的key,value对MapReduce简单案例演示•使用MapReduce求解该问题–Step3:对输出的中间结果集归拢、排序(系统自动完成)MapReduce简单案例演示•使用MapReduce求解该问题–Step4:通过Reduce操作生成最后结果Google云计算技术架构-MapReduce•实践证明,MapReduce是出色的分布式计算模型–Google宣布,其对分布于1000台计算机上的1TB数据进行排序仅仅需要68s–对4000台计算机上的1PB数据进行排序处理仅需要6小时2分钟(每次测试至少会损坏1块硬盘)–在08年1月份,GoogleMapReduce平均每天的数据处理量是20PB,相当于美国国会图书
本文标题:移动云计算概论胶片(第4次20131101)
链接地址:https://www.777doc.com/doc-5735997 .html