Google云计算应用场景分析..ppt
主要内容 Google云计算技术框架 应用场景分析1:Google网站流量分析 应用场景分析2:Google搜索Google云计算的技术架构 Google的云计算应用均依赖于四个基础组件 分布式文件存储,GFS 并行数据处理模型MapReduce 分布式锁Chubby 结构化数据表BigTableGoogle云计算的技术架构 组件调用关系分析Google云计算的技术架构 Chubby的作用 为GFS提供锁服务,选择Master节点;记录Master的相关描述信息 通过独占锁记录Chunk Server的活跃情况 为BigTable提供锁服务,记录子表元信息(如子表文件信息、子表分配信息、子表服务器信息) (可能)记录MapReduce的任务信息 为第三方提供锁服务与文件存储Google云计算的技术架构 GFS的作用 存储BigTable的子表文件 为第三方应用提供大尺寸文件存储功能 文件读操作流程 API与Master通信,获取文件元信息 根据指定的读取位置和读取长度,API发起并发操作,分别从若干ChunkServer上读取数据 API组装所得数据,返回结果Google云计算的技术架构 BigTable的作用 为Google云计算应用(或第三方应用)提供数据结构化存储功能 类似于数据库 为应用提供简单数据查询功能(不支持联合查询) 为MapReduce提供数据源或数据结果存储Google云计算的技术架构 BigTable的存储与服务请求的响应 划分为子表存储,每个子表对应一个子表文件,子表文件存储于GFS之上 BigTable通过元数据组织子表 每个子表都被分配给一个子表服务器 一个子表服务器可同时分配多个子表 子表服务器负责对外提供服务,响应查询请求Tablet 1: , rootbigtabletablet1,Tablet 2: , rootbigtabletablet2,Tablet 3: , rootbigtabletablet3,Tablet 4: , rootbigtabletablet4,Google云计算的技术架构 MapReduce的作用 对BigTable中的数据进行并行计算处理(如统计、归类等) 使用BigTable或GFS存储计算结果应用场景分析1Google网站流量分析 Google Analytics 免费的企业级网络分析解决方案 帮助企业了解网站流量和营销效果 能以灵活的方式(各类报表)查看并分析流量数据应用场景分析1Google网站流量分析应用场景分析1Google网站流量分析 基本功能 统计网站的基本数据,包括会话、综合浏览量、点击量和字节流量等等 分析网站页面关注度,帮助企业调整或增删页面 分析用户浏览路径,优化页面布局 分析用户访问来源链接,提高广告投资回报 分析用户访问环境(如OS和Explorer),帮助美化页面应用场景分析1Google网站流量分析 应用的特征 海量数据 需要存储海量的用户行为数据(如点击时间、位置等) 海量用户 需要为任意多的网站提供流量分析 技术路线 使用BigTable存储和检索数据,使用MapReduce统计数据应用场景分析1Google网站流量分析 BigTable中的表设计 原始点击数据表 行键:点击时间 列键:网站URL、网站名称、用户IP地址、来源URL、目标URL 目前尺寸约200TB200910101210112009101012101220091010121013URL标题IP地址来源URL目标URL应用场景分析1Google网站流量分析 BigTable中的表设计 统计数据表 行键:网站URL(倒排) 列键:点击次数(如记录最近一个月每日的访问次数等)、页面关注度(如记录网站页面的访问比率)、来源网站(如记录TOP10)、目标网站(如记录TOP10) 每个列中记录的内容是字符串,Analytics在查询后需要解析字符串获得统计结果 可根据统计内容的增多增加新的列 目前尺寸约20TB应用场景分析1Google网站流量分析 业务流程分析原始点击数据表统计数据表应用场景分析1Google网站流量分析 基础设施应用服务器集群BigTable集群1BigTable集群2GFS集群Chubby集群MapReduce集群应用场景分析1Google网站流量分析 数据采集 数据来源 页面内嵌脚本 点击行为脚本 应用服务器获取到数据后,存入BigTable应用场景分析1Google网站流量分析 数据采集 数据存储流程向BigTable中写入点击信息寻找子表服务器向内存临时子表写入信息(含排序)如超过阈值则存储为子表文件GFS:存储子表文件子表合并、压缩应用场景分析1Google网站流量分析 数据处理 例如,统计网站(如)过去一周网页访问比例 数据处理流程数据查询MapReduce操作数据存储点击数据表统计数据表GFS应用场景分析1Google网站流量分析 数据处理:MapReduce Map操作 假设过去一周查询结果文件在GFS中包含M个Chunk,那么Master寻找M个空闲的Worker,分别处理这M个Chunk,得到每个网站中页面的访问次数com.xxx, com.yyy, com.zzz, 应用场景分析1Google网站流量分析 数据处理:MapReduce 自动排序 对M个中间结果进行排序com.xxx, com.yyy, com.zzz, com.yyy, com.xxx, com.zzz, com.xxx, com.xxx, com.yyy, com.yyy, com.zzz, com.zzz, 应用场景分析1Google网站流量分析 数据处理:MapReduce Reduce操作 假设得到该网站含N个网站,那么可以分配N台Worker分别处理单个网站的数据com.xxx, com.xxx, com.yyy, com.yyy, com.zzz, com.zzz, com.xxx, com.yyy, com.zzz, 应用场景分析1Google网站流量分析 数据处理 写入数据 应用程序将分析结果写入统计数据表com.xxx, com.yyy, com.zzz, 应用场景分析1Google网站流量分析 数据查询 从数据统计表中查询行 获取对应列的数据,解析,得到并展示最终结果 数据处理是定期的,非实时响应查询应用场景分析2Google搜索 Google搜索的总体业务流程 数据采集: Spider 数据整理 生成各类子表,如音乐表、生活搜索表、学术搜索表等 压缩数据表,清洗失效数据 数据检索应用场景分析2Google搜索 数据采集 通过若干Spider在网络上搜集数据 使用BigTable存储数据 行键:倒排的URL 列键:网站名称、语言、HTML描述、图片、链接 时间戳:记录不同时刻的网页快照应用场景分析2Google搜索 数据采集 Spider可能的数据处理流程Spider获取到网页数据从Chubby的元数据中找到该URL所处的子表从子表服务器中寻找对应的行如果该行不存在,则插入新的行读取网页内容列,比较新旧数据增加时间戳,标识新数据若当前时间戳超过指定数目,删除最旧内容处理完毕存在对应行对应行键不存在数据未变化数据发生变化应用场景分析2Google搜索 数据整理 Google搜索包括多个子类 生活搜索:租房、车票、酒店等 资讯搜索:热门新闻、分类新闻等 学术搜索:学术论文 定期计算网站评价数据 例如PageRank的计算具有统一的数据来源使用不同的表存储数据可能使用MapReduce定期刷新数据应用场景分析2Google搜索 数据整理(Google学术搜索)应用场景分析2Google搜索 数据整理(Google学术搜索) 数据抽取 寻找包含学术(论文)信息的网页数据,并结构化存储 学术(论文)信息抽取(分析参考文献、摘要等) 可能的技术方案:MapReduce+BigTable 数据统计 基于抽取的数据进行统计分析(如分析被引用次数等) 可能的技术方案MapReduce+BigTable 学术信息BigTable 行键:论文标题 列键:作者、主题词、摘要、参考文献、期刊信息、被引用次数、下载链接应用场景分析2Google搜索 数据整理(Google学术搜索) 如何使用MapReduce抽取数据?生成抽取目标(URL)文件将目标文件分割为M块寻找M个Worker分别做Map处理查询网站的网页数据是否包含论文描述信息抽取论文描述信息,输出按论文标题将输出排序将论文描述信息存入BigTable寻找若干Worker做Reduce处理应用场景分析2Google搜索 数据整理(Google学术搜索) 如何获取论文统计数据(如论文引用次数) 分析论文信息表,二次MapReduce论文A, 参考文献: 论文B, 论文C, 论文D论文B, 参考文献: 论文Q, 论文C, 论文A论文C, 参考文献: 论文D, 论文H, 论文A论文F, 参考文献: 论文A, 论文C论文E, 参考文献: 论文S, 论文A, 论文D论文S, 参考文献: 论文E, 论文F 应用场景分析2Google搜索 数据整理(Google学术搜索) 如何获取论文统计数据(如论文引用次数) 归纳排序 应用场景分析2Google搜索 数据整理(Google学术搜索) 如何获取论文统计数据(如论文引用次数) Reduce操作应用场景分析2Google搜索 数据检索 有可能采用MapReduce实现 关键词搜索可能的处理流程子表是否有Content列是否包含关键词关键词语义分析任务划分(子表+新关键词)输出到临时结果表获取行数据中Content项处理完成分配Worker结果输出MapReduce应用场景分析2Google搜索 数据检索 搜索结果可能通过临时表存储 每个关键词对应一个临时子表 检索系统根据输入枚举现存检索结果的相似关键词 如果临时子表中存在检索结果,直接输出 应该存在机制刷新临时子表欢迎访问中国云计算网站 http:/欢迎使用云计算教材 电子工业出版社 刘鹏 主编本讲到此结束进入夏天,少不了一个热字当头,电扇空调陆续登场,每逢此时,总会进入夏天,少不了一个热字当头,电扇空调陆续登场,每逢此时,总会想起那一把蒲扇。蒲扇,是记忆中的农村,夏季经常用的一件物品。记想起那一把蒲扇。蒲扇,是记忆中的农村,夏季经常用的一件物品。记忆中的故乡,每逢进入夏天,集市上最常见的便是蒲扇、凉席,不论男女老忆中的故乡,每逢进入夏天,集市上最常见的便是蒲扇、凉席,不论男女老少,个个手持一把,忽闪忽闪个不停,嘴里叨叨着少,个个手持一把,忽闪忽闪个不停,嘴里叨叨着“怎么这么热怎么这么热”,于是三,于是三五成群,聚在大树下,或站着,或随即坐在石头上,手持那把扇子,边唠嗑五成群,聚在大树下,或站着,或随即坐在石头上,手持那把扇子,边唠嗑边乘凉。孩子们却在周围跑跑跳跳,热得满头大汗,不时听到边乘凉。孩子们却在周围跑跑跳跳,热得满头大汗,不时听到“强子,别跑强子,别跑了,快来我给你扇扇了,快来我给你扇扇”。孩子们才不听这一套,跑个没完,直到累气喘吁吁,。孩子们才不听这一套,跑个没完,直到累气喘吁吁,这才一跑一踮地围过了,这时母亲总是,好似生气的样子,边扇边训,这才一跑一踮地围过了,这时母亲总是,好似生气的样子,边扇边训,“你你看热的,跑什么?看热的,跑什么?”此时这把蒲扇,是那么凉快,那么的温馨幸福,有母亲此时这把蒲扇,是那么凉快,那么的温馨幸福,有母亲的味道!蒲扇是中国传统工艺品,在我国已有三千年多年的历史。取材的味道!蒲扇是中国传统工艺品,在我国已有三千年多年的历史。取材于棕榈树,制作简单,方便携带,且蒲扇的表面光滑,因而,古人常会在上于棕榈树,制作简单,方便携带,且蒲扇的表面光滑,因而,古人常会在上面作画。古有棕扇、葵扇、蒲扇、蕉扇诸名,实即今日的蒲扇,江浙称之为面作画。古有棕扇、葵扇、蒲扇、蕉扇诸名,实即今日的蒲扇,江浙称之为芭蕉扇。六七十年代,人们最常用的就是这种,似圆非圆,轻巧又便宜的蒲芭蕉扇。六七十年代,人们最常用的就是这种,似圆非圆,轻巧又便宜的蒲扇。蒲扇流传至今,我的记忆中,它跨越了半个世纪,也走过了我们的扇。蒲扇流传至今,我的记忆中,它跨越了半个世纪,也走过了我们的半个人生的轨迹,携带着特有的念想,一年年,一天天,流向长长的时间隧半个人生的轨迹,携带着特有的念想,一年年,一天天,流向长长的时间隧道,袅道,袅