云计算第二章2-4教学.ppt

上传人:max****ui 文档编号:11093252 上传时间:2020-04-18 格式:PPT 页数:28 大小:2.22MB
返回 下载 相关 举报
云计算第二章2-4教学.ppt_第1页
第1页 / 共28页
云计算第二章2-4教学.ppt_第2页
第2页 / 共28页
云计算第二章2-4教学.ppt_第3页
第3页 / 共28页
点击查看更多>>
资源描述
第2章Google云计算原理与应用 提纲 Google文件系统GFS 分布式数据处理MapReduce 分布式锁服务Chubby 分布式结构化数据表Bigtable 分布式存储系统Megastore 大规模分布式系统的监控基础架构Dapper Google应用程序引擎 GoogleAppEngine简介 应用程序环境 GoogleAppEngine服务 GoogleAppEngine编程实践 GoogleAppEngine简介 GoogleAppEngine是一个由Python应用服务器群 Bigtable数据库及GFS数据储存服务组成的平台 它能为开发者提供一体化的 可自动升级的在线应用服务 开发人员在Google的基础架构上运行网络应用程序 用户可以使用域上的免费域名为应用程序提供服务 也可以使用Google企业应用套件从自己的域为它提供服务 注册一个免费账户即可开发和发布应用程序 而且不需要承担任何费用和责任 GoogleAppEngine架构 GoogleAppEngine架构 整体架构 前端和静态文件 应用服务器 服务器群 应用管理节点 基本概念 沙盒 GoogleAppEngine为每个应用程序提供了一个安全运行环境Python运行时环境 GoogleAppEngine支持Java和Python语言 提供一个由Python语言编写的网络应用程序框架webapp数据库 分布式存储数据库DataStoreGoogle账户 开发应用程序必须拥有一个Google账户AppEngine服务 GoogleAppEngine提供了一些服务开发流程 GoogleAppEngine开发应用程序必须遵守一定的开发流程配额和限制 Google账户提供的免费空间和流量有一定的配额和限制 GoogleAppEngine简介 应用程序环境 GoogleAppEngine服务 GoogleAppEngine编程实践 应用程序环境特性 1 动态网络服务功能 能够完全支持常用的网络技术 应用程序环境特性 2 具有持久存储的空间 平台可支持一些基本操作 如查询 分类和事务的操作 4 可以对用户的身份进行验证 并且支持使用Google账户发送邮件 5 有一个功能完整的本地开发环境 可以在自身的计算机上模拟GoogleAppEngine环境 6 支持在指定时间或定期触发事件的计划任务 3 具有自主平衡网络和系统的负载 自动进行扩展的功能 Python Python运行时环境包括Python标准库 开发人员可以调用库中的方法来实现程序功能 但是不能使用沙盒限制的库方法 尝试打开套接字 向文件进行写入操作等 为便于编程 GoogleAppEngine将一些模块进行了禁用 在Python运行时环境中 应用程序只能以Python语言编写 扩展代码中若有C语言 则应用程序将不受系统支持 Python环境为开发平台中的数据库 Google账户 网址抓取和电子邮件服务等提供了丰富的PythonAPI GoogleAppEngine还提供了一个简单的Python网络应用程序框架Webapp 03 02 01 用户应用程序只能通过GoogleAppEngine提供的网址抓取API和电子邮件服务API来访问互联网中其他计算机 只能在标准接口上通过HTTP或HTTPS来进行 应用程序只有在响应网络请求时才运行 且响应时间必须极短 几秒之内完成 同时 请求处理的程序不能在自己的响应发送后产生子进程或执行代码 沙盒对用户进行如下限制 应用程序无法对GoogleAppEngine的文件系统进行写入操作 只能读取应用程序代码上的文件 并且该应用程序必须使用DataStore数据库来存储应用程序运行期间持续存在的数据 沙盒给开发人员提供了一个虚拟的环境 这个环境使应用程序与其他开发者开发使用的程序相隔离 从而保证每个使用者可以安全地开发自己的应用程序 GoogleAppEngineSDK 使用SDK时 可以在本地计算机上模拟包括所有GoogleAppEngine服务的网络服务器应用程序 该SDK包括GoogleAppEngine中的所有API和库 该网络服务器还可以模拟沙盒环境 使用Python实现 这个开发套件可以在装有Python2 5的任何平台上面运行 包括Windows MacOSX和Linux等 开发人员可以在Python网站上获得适合自己系统的Python 该开发套件还包括将应用程序上传到GoogleAppEngine之上的工具 用户创建自己应用程序的代码 静态文件和配置文件之后 就可以运行这个工具将数据上传到平台上面 系统中有一个管理控制台 这个管理控制台有一个网络接口 用于管理在GoogleAppEngine上运行的应用程序 GoogleAppEngine简介 应用程序环境 GoogleAppEngine服务 GoogleAppEngine编程实践 图像操作API 1 Image类来自于google appengine api images模块 该类可以用来封装图像信息及转换该图像 实例方法 1 resize width 0 height 0 该方法用来缩放图像 2 crop left x top y right x bottom y 该方法可以将图像裁剪到指定边界框的大小 并且裁剪后以相同的格式返回转换的图像 3 rotate image data degrees output encoding images PNG 该方法是用来旋转图像 4 horizontal flip image data output encoding images PNG 该函数表示对图像进行水平翻转 5 vertical flip image data output encoding images PNG 该函数表示垂直地翻转图像 并且转换后的图像与以前的格式一样 2 exception类google appengine api images包为用户主要提供以下exception类 1 exceptionError 这是该包中所有异常的基类 2 exceptionTransformationError 表示尝试转换图像时发生错误 3 exceptionBadRequestError 表示转换参数无效 邮件API 邮件API为用户提供两种方式来发送电子邮件 mail send mail 函数和EmailMessage类 1 允许的附件类型 图像格式 文本格式 应用程序格式 2 EmailMessage 1 构造函数 2 实例方法 3 函数 a is email valid email address b send mail sender to subject body kw 4 异常 a exceptionError b exceptionBadRequestError c exceptionInvalidEmailError MemcacheAPI MemcacheAPI提供了一个基于类的接口 以便和其他MemcacheAPI相兼容 1 构造函数classClient 产生与Memcache服务通信的客户端 2 实例方法 1 set key value time 0 min compress len 0 2 get key 3 delete key seconds 0 4 add key value time 0 min compress len 0 5 replace key value time 0 min compress len 0 6 incr key delta 1 7 decr key delta 1 8 flush all 9 get stats 用户API 1 User对象 2 登录网址 3 User类 1 构造函数 2 实例方法 a nickname b email 3 函数 a create login url dest url b create logout url dest url c get current user 4 异常 a exceptionError b exceptionUserNotFoundError c exceptionRedirectTooLongError 数据库API 1 Model类 1 类方法 a Model get keys b Model all c Model gql query string args kwds 2 实例方法 a key b put c delete 2 Property类 1 类构造函数 2 类属性 3 实例方法 a default value b validate value c empty value 数据库API 3 Query类 1 构造函数 2 实例方法 a filter property operator value b order property c ancestor ancestor d get e fetch limit offset 0 f count limit 4 GqlQuery类 1 构造函数 2 实例方法 a bind args kwds b get c fetch limit offset 0 d count limit 数据库API 5 Key类 1 构造函数 2 类方法 3 实例方法 a app b kind c id d name 4 函数 a get keys b put models c delete models d run in transaction function args kwargs GoogleAppEngine简介 应用程序环境 GoogleAppEngine服务 GoogleAppEngine编程实践 相比其他Web主机服务 GoogleAppEngine有下列独到之处 1 将Web应用部署到Google的基础设施之上 2 提供数据存储服务 3 集成了Gmail GoogleUser认证 URLFetch Memcache和图片操作 PIL 等多种API 4 GoogleAppEngine提供存储空间为500M 每月500万页面访问的免费服务 超出部分需要支付相应费用 Java在GoogleAppEngine上怎么实现个人空间日志管理功能 1 搭建开发平台 1 下载JDK1 6安装并配置好环境变量 2 下载eclipse3 6安装包 解压 3 下载GooglePluginforEclipse3 6 解压后将插件包中feature下的文件复制到eclipse的feature目录下 将插件包中plugin下的文件复制到eclipse的plugin目录下 也可以通过建立link文件来安装插件 4 下载appengine java sdk 在eclipse中依次点击Window Preference Google AppEngine Add 添加sdk根目录 添加appenginejavasdk环境 2 创建工程并测试创建一个新的WebApplication 新建名为zqspace的项目 包名为cn edu xtu 项目目录结构如图示 web应用部署到GoogleAppEngine 3 开发个人空间zqspace1 需求分析2 数据模型设计3 页面设计 a 首页 b 日志列表页面 c 写日志的界面4 实体类编码5 业务逻辑编码6 读取日志7 删除日志8 写日志9 修改日志10 权限管理 4 项目部署编码完成后 先在本地测试 通过后 就可以将项目发布到GoogleAppEngine上 1 Google云计算技术包括哪些内容 2 当前主流分布式文件系统有哪些 各有什么优缺点 3 GFS采用了哪些容错措施来确保整个系统的可靠性 4 MapReduce与传统的分布式程序设计相比有何优点 5 Chubby的设计目标是什么 Paxos算法在Chubby中起什么作用 6 阐述Bigtable的数据模型和系统架构 7 分布式存储系统Megastore的核心技术是什么 8 大规模分布式系统的监控基础架构Dapper关键技术是什么 9 GoogleAppEngine提供了哪些服务 10 GoogleAppEngine的沙盒对开发人员进行哪些限制 习题 阅读精选 1 TheGoogleFileSystemhttp www cs brown edu courses cs295 11 2006 gfs pdf 2 MapReduce SimpliedDataProcessingonLargeClustershttphttp www cs toronto edu demke 2227S 12 Papers mapreduce osdi04 pdf 3 TheChubbylockserviceforloosely coupleddistributedsystems
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!