资源描述
,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,2019/12/5,#,主讲人:刘鹏,第,10,章 云计算,(3),云计算,云计算概念,Google,云计算,并行数据处理模型,MapReduce,分布式锁服务,Chubby,分布式数据表,BigTable,Google App Engine,Google,云计算应用场景分析,Google,云计算应用场景分析,Google,云计算技术框架,应用场景分析,1,:,Google,网站流量分析,应用场景分析,2,:,Google,搜索,Google,的云计算应用均依赖于四个基础组件,分布式文件存储,,GFS,并行数据处理模型,MapReduce,分布式锁,Chubby,结构化数据表,BigTable,Google,云计算应用,MapReduce,BigTable,GFS,Chubby,Google,云计算的技术架构,Google,云计算的技术架构,Google,云计算应用,BigTable,GFS,MapReduce,Chubby,组件调用关系分析,Chubby,的作用,为,GFS,提供锁服务,选择,Master,节点;记录,Master,的相关描述信息,通过独占锁记录,Chunk Server,的活跃情况,为,BigTable,提供锁服务,记录子表元信息(如子表文件信息、子表分配信息、子表服务器信息),(可能)记录,MapReduce,的任务信息,为第三方提供锁服务与文件存储,Google,云计算应用,BigTable,GFS,MapReduce,Chubby,Google,云计算的技术架构,GFS,的作用,存储,BigTable,的子表文件,为第三方应用提供大尺寸文件存储功能,文件读操作流程,API,与,Master,通信,获取文件元信息,根据指定的读取位置和读取长度,,API,发起并发操作,分别从若干,ChunkServer,上读取数据,API,组装所得数据,返回结果,Google,云计算应用,BigTable,GFS,MapReduce,Chubby,Google,云计算的技术架构,BigTable,的作用,为,Google,云计算应用(或第三方应用)提供数据结构化存储功能,类似于数据库,为应用提供简单数据查询功能(不支持联合查询),为,MapReduce,提供数据源或数据结果存储,Google,云计算应用,BigTable,GFS,MapReduce,Chubby,Google,云计算的技术架构,BigTable,的存储与服务请求的响应,划分为子表存储,每个子表对应一个子表文件,子表文件存储于,GFS,之上,BigTable,通过元数据组织子表,每个子表都被分配给一个子表服务器,一个子表服务器可同时分配多个子表,子表服务器负责对外提供服务,响应查询请求,Tablet 1:,rootbigtabletablet1,Tablet 2:,rootbigtabletablet2,Tablet 3:,rootbigtabletablet3,Tablet 4:,rootbigtabletablet4,Google,云计算的技术架构,MapReduce,的作用,对,BigTable,中的数据进行并行计算处理(如统计、归类等),使用,BigTable,或,GFS,存储计算结果,Google,云计算应用,BigTable,GFS,MapReduce,Chubby,Google,云计算的技术架构,应用场景分析,1,Google,网站流量分析,Google Analytics,免费的企业级网络分析解决方案,帮助企业了解网站流量和营销效果,能以灵活的方式(各类报表)查看并分析流量数据,应用场景分析,1,Google,网站流量分析,基本功能,统计网站的基本数据,包括会话、综合浏览量、点击量和字节流量等等,分析网站页面关注度,帮助企业调整或增删页面,分析用户浏览路径,优化页面布局,分析用户访问来源链接,提高广告投资回报,分析用户访问环境(如,OS,和,Explorer,),帮助美化页面,应用场景分析,1,Google,网站流量分析,应用的特征,海量数据,需要存储海量的用户行为数据(如点击时间、位置等),海量用户,需要为任意多的网站提供流量分析,技术路线,使用,BigTable,存储和检索数据,使用,MapReduce,统计数据,应用场景分析,1,Google,网站流量分析,BigTable,中的表设计,原始点击数据表,行键:点击时间,列键:网站,URL,、网站名称、用户,IP,地址、来源,URL,、目标,URL,目前尺寸约,200TB,20091010121011,20091010121012,20091010121013,URL,标题,IP,地址,来源,URL,目标,URL,应用场景分析,1,Google,网站流量分析,BigTable,中的表设计,统计数据表,行键:网站,URL,(倒排),列键:点击次数(如记录最近一个月每日的访问次数等)、页面关注度(如记录网站页面的访问比率)、来源网站(如记录,TOP10,)、目标网站(如记录,TOP10,),每个列中记录的内容是字符串,,Analytics,在查询后需要解析字符串获得统计结果,可根据统计内容的增多增加新的列,目前尺寸约,20TB,应用场景分析,1,Google,网站流量分析,业务流程分析,数据采集,原始点击数据表,数据处理,统计数据表,数据查询,MapReduce,应用场景分析,1,Google,网站流量分析,基础设施,应用服务器集群,BigTable,集群,1,BigTable,集群,2,GFS,集群,Chubby,集群,MapReduce,集群,应用场景分析,1,Google,网站流量分析,数据采集,数据来源,页面内嵌脚本,点击行为脚本,应用服务器获取到数据后,存入,BigTable,应用场景分析,1,Google,网站流量分析,数据采集,数据存储流程,向,BigTable,中写入点击信息,寻找子表服务器,向内存临时子表写入信息(含排序),如超过阈值则存储为子表文件,GFS,:存储子表文件,子表合并、压缩,应用场景分析,1,Google,网站流量分析,数据处理,例如,统计网站,(,如,),过去一周网页访问比例,数据处理流程,数据查询,MapReduce,操作,数据存储,点击数据表,统计数据表,GFS,应用场景分析,1,Google,网站流量分析,数据处理:,MapReduce,Map,操作,假设过去一周查询结果文件在,GFS,中包含,M,个,Chunk,,那么,Master,寻找,M,个空闲的,Worker,,分别处理这,M,个,Chunk,,得到每个网站中页面的访问次数,应用场景分析,1,Google,网站流量分析,数据处理:,MapReduce,自动排序,对,M,个中间结果进行排序,应用场景分析,1,Google,网站流量分析,数据处理:,MapReduce,Reduce,操作,假设得到该网站含,N,个网站,那么可以分配,N,台,Worker,分别处理单个网站的数据,应用场景分析,1,Google,网站流量分析,数据处理,写入数据,应用程序将分析结果写入统计数据表,应用场景分析,1,Google,网站流量分析,数据查询,从数据统计表中查询,行,获取对应列的数据,解析,得到并展示最终结果,数据处理是定期的,非实时响应查询,应用场景分析,1,Google,网站流量分析,应用场景分析,2,Google,搜索,Google,搜索的总体业务流程,数据采集,:Spider,数据整理,生成各类子表,如音乐表、生活搜索表、学术搜索表等,压缩数据表,清洗失效数据,数据检索,数据采集,通过若干,Spider,在网络上搜集数据,使用,BigTable,存储数据,行键:倒排的,URL,列键:网站名称、语言、,HTML,描述、图片、链接,时间戳:记录不同时刻的网页快照,应用场景分析,2,Google,搜索,数据采集,Spider,可能的数据处理流程,Spider,获取到网页数据,从,Chubby,的元数据中找到该,URL,所处的子表,从子表服务器中寻找对应的行,如果该行不存在,则插入新的行,读取网页内容列,比较新旧数据,增加时间戳,标识新数据,若当前时间戳超过指定数目,删除最旧内容,处理完毕,存在对应行,对应行键不存在,数据未变化,数据发生变化,应用场景分析,2,Google,搜索,数据整理,Google,搜索包括多个子类,生活搜索:租房、车票、酒店等,资讯搜索:热门新闻、分类新闻等,学术搜索:学术论文,定期计算网站评价数据,例如,PageRank,的计算,具有统一的数据来源,使用不同的表存储数据,可能使用,MapReduce,定期刷新数据,应用场景分析,2,Google,搜索,数据整理(,Google,学术搜索),应用场景分析,2,Google,搜索,数据整理(,Google,学术搜索),数据抽取,寻找包含学术(论文)信息的网页数据,并结构化存储,学术(论文)信息抽取(分析参考文献、摘要等),可能的技术方案:,MapReduce+BigTable,数据统计,基于抽取的数据进行统计分析(如分析被引用次数等),可能的技术方案,MapReduce+BigTable,学术信息,BigTable,行键:论文标题,列键:作者、主题词、摘要、参考文献、期刊信息、被引用次数、下载链接,应用场景分析,2,Google,搜索,数据整理(,Google,学术搜索),如何使用,MapReduce,抽取数据?,生成抽取目标(,URL,)文件,将目标文件分割为,M,块,寻找,M,个,Worker,分别做,Map,处理,查询网站的网页数据,是否包含论文描述信息,抽取论文描述信息,输出,按论文标题将输出排序,将论文描述信息存入,BigTable,寻找若干,Worker,做,Reduce,处理,Map,Reduce,自动处理,自动处理,应用场景分析,2,Google,搜索,数据整理(,Google,学术搜索),如何获取论文统计数据(如论文引用次数),分析论文信息表,二次,MapReduce,论文,A,参考文献,:,论文,B,论文,C,论文,D,论文,B,参考文献,:,论文,Q,论文,C,论文,A,论文,C,参考文献,:,论文,D,论文,H,论文,A,论文,F,参考文献,:,论文,A,论文,C,论文,E,参考文献,:,论文,S,论文,A,论文,D,论文,S,参考文献,:,论文,E,论文,F,应用场景分析,2,Google,搜索,数据整理(,Google,学术搜索),如何获取论文统计数据(如论文引用次数),归纳排序,应用场景分析,2,Google,搜索,数据整理(,Google,学术搜索),如何获取论文统计数据(如论文引用次数),Reduce,操作,应用场景分析,2,Google,搜索,数据检索,有可能采用,MapReduce,实现,关键词搜索可能的处理流程,子表是否有,Content,列,是否包含关键词,关键词语义分析,任务划分(子表,+,新关键词),输出到临时结果表,获取行数据中,Content,项,处理完成,分配,Worker,结果输出,Map,Reduce,应用场景分析,2,Google,搜索,数据检索,搜索结果可能通过临时表存储,每个关键词对应一个临时子表,检索系统根据输入枚举现存检索结果的相似关键词,如果临时子表中存在检索结果,直接输出,应该存在机制刷新临时子表,应用场景分析,2,Google,搜索,END,
展开阅读全文