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

上传人:小飞机 文档编号:5913725 上传时间:2023-09-03 格式:PPT 页数:28 大小:1.98MB
返回 下载 相关 举报
云计算第二章2-4教学.ppt_第1页
第1页 / 共28页
云计算第二章2-4教学.ppt_第2页
第2页 / 共28页
云计算第二章2-4教学.ppt_第3页
第3页 / 共28页
云计算第二章2-4教学.ppt_第4页
第4页 / 共28页
云计算第二章2-4教学.ppt_第5页
第5页 / 共28页
点击查看更多>>
资源描述

《云计算第二章2-4教学.ppt》由会员分享,可在线阅读,更多相关《云计算第二章2-4教学.ppt(28页珍藏版)》请在三一办公上搜索。

1、,第2章 Google云计算原理与应用,提 纲,Google文件系统GFS 分布式数据处理MapReduce 分布式锁服务Chubby 分布式结构化数据表Bigtable 分布式存储系统Megastore 大规模分布式系统的监控基础架构Dapper Google应用程序引擎,Google App Engine简介 应用程序环境 Google App Engine服务 Google App Engine编程实践,Google App Engine简介,Google App Engine是一个由Python应用服务器群、Bigtable数据库及GFS数据储存服务组成的平台,它能为开发者提供一体化的

2、、可自动升级的在线应用服务 开发人员在Google的基础架构上运行网络应用程序 用户可以使用域上的免费域名为应用程序提供服务,也可以使用Google企业应用套件从自己的域为它提供服务 注册一个免费账户即可开发和发布应用程序,而且不需要承担任何费用和责任,Google App Engine架构,Google App Engine架构,整体架构,前端和静态文件,应用服务器,服务器群,应用管理节点,基本概念,沙盒Google App Engine为每个应用程序提供了一个安全运行环境Python运行时环境Google App Engine支持Java和Python语言;提供一个由Python语言编写的

3、网络应用程序框架webapp数据库分布式存储数据库 Data Store Google账户 开发应用程序必须拥有一个Google账户 App Engine服务Google App Engine提供了一些服务 开发流程 Google App Engine开发应用程序必须遵守一定的开发流程 配额和限制 Google账户提供的免费空间和流量有一定的配额和限制,Google App Engine简介 应用程序环境 Google App Engine服务 Google App Engine编程实践,应用程序环境特性,(1)动态网络服务功能。能够完全支持常用的网络技术,应用程序环境特性,(2)具有持久存储

4、的空间。平台可支持一些基本操作,如查询、分类和事务的操作,(4)可以对用户的身份进行验证,并且支持使用Google账户发送邮件,(5)有一个功能完整的本地开发环境,可以在自身的计算机上模拟Google App Engine环境,(6)支持在指定时间或定期触发事件的计划任务,(3)具有自主平衡网络和系统的负载、自动进行扩展的功能,Python,Python运行时环境包括Python标准库,开发人员可以调用库中的方法来实现程序功能,但是不能使用沙盒限制的库方法(尝试打开套接字、向文件进行写入操作等),为便于编程,Google App Engine将一些模块进行了禁用在Python运行时环境中,应用

5、程序只能以Python语言编写,扩展代码中若有C语言,则应用程序将不受系统支持Python环境为开发平台中的数据库、Google账户、网址抓取和电子邮件服务等提供了丰富的Python APIGoogle App Engine还提供了一个简单的Python网络应用程序框架Webapp,03,02,01,用户应用程序只能通过Google App Engine提供的网址抓取API和电子邮件服务API来访问互联网中其他计算机;只能在标准接口上通过HTTP或HTTPS来进行,应用程序只有在响应网络请求时才运行,且响应时间必须极短(几秒之内完成)。同时,请求处理的程序不能在自己的响应发送后产生子进程或执行

6、代码,沙盒对用户进行如下限制,应用程序无法对Google App Engine的文件系统进行写入操作,只能读取应用程序代码上的文件,并且该应用程序必须使用Data Store数据库来存储应用程序运行期间持续存在的数据,沙盒给开发人员提供了一个虚拟的环境,这个环境使应用程序与其他开发者开发使用的程序相隔离,从而保证每个使用者可以安全地开发自己的应用程序,Google App Engine SDK,使用SDK时,可以在本地计算机上模拟包括所有Google App Engine服务的网络服务器应用程序,该SDK包括Google App Engine中的所有API和库。该网络服务器还可以模拟沙盒环境

7、使用Python实现,这个开发套件可以在装有Python 2.5的任何平台上面运行,包括Windows、Mac OS X和Linux等,开发人员可以在Python网站上获得适合自己系统的Python 该开发套件还包括将应用程序上传到Google App Engine之上的工具。用户创建自己应用程序的代码、静态文件和配置文件之后,就可以运行这个工具将数据上传到平台上面 系统中有一个管理控制台,这个管理控制台有一个网络接口,用于管理在Google App Engine上运行的应用程序,Google App Engine简介 应用程序环境 Google App Engine服务 Google App

8、 Engine编程实践,图像操作API,1)Image类来自于模块,该类可以用来封装图像信息及转换该图像;实例方法:(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):该函数

9、表示对图像进行水平翻转。(5)vertical_flip(image_data,output_encoding=images.PNG):该函数表示垂直地翻转图像,并且转换后的图像与以前的格式一样 2)exception类 包为用户主要提供以下exception类:(1)exception Error():这是该包中所有异常的基类(2)exception TransformationError():表示尝试转换图像时发生错误(3)exception BadRequestError():表示转换参数无效,邮件API,邮件API为用户提供两种方式来发送电子邮件:mail.send_mail()函数和

10、EmailMessage类 1)允许的附件类型图像格式;文本格式;应用程序格式 2)EmailMessage(1)构造函数(2)实例方法(3)函数(a)is_email_valid(email_address)(b)send_mail(sender,to,subject,body,*kw)(4)异常(a)exception Error()(b)exception BadRequestError()(c)exception InvalidEmailError(),Memcache API,Memcache API提供了一个基于类的接口,以便和其他Memcache API相兼容 1)构造函数cla

11、ss Client()产生与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类

12、(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)exception RedirectTooLongError(),数据库API,1)Model类(1)类方法(a)Model.get(keys)(b)Model.all()(c)Model.gql(query_string,*args,*k

13、wds)(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)b

14、ind(*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),Google App Engine简介 应用程序环境 Google App Engine服务 Google App Engine编程实践,相比其他Web

15、主机服务,Google App Engine有下列独到之处:(1)将Web应用部署到Google的基础设施之上(2)提供数据存储服务(3)集成了Gmail、Google User认证、URL Fetch、Memcache和图片操作(PIL)等多种API(4)Google App Engine提供存储空间为500M,每月500万页面访问的免费服务,超出部分需要支付相应费用,Java在Google App Engine上怎么实现个人空间日志管理功能?,1搭建开发平台(1)下载JDK1.6安装并配置好环境变量(2)下载eclipse3.6安装包,解压(3)下载Google Plugin for Ec

16、lipse3.6,解压后将插件包中feature下的文件复制到 eclipse的feature目录下,将插件包中plugin下的文件复制到eclipse的plugin目录下(也可以通过建立link文件来安装插件)(4)下载appengine-java-sdk,在eclipse中依次点击WindowPreferenceGoogleApp EngineAdd,添加sdk根目录,添加appengine java sdk环境,2.创建工程并测试创建一个新的Web Application,新建名为zqspace的项目,包名为,项目目录结构如图示,web应用部署到Google App Engine,3.开

17、发个人空间zqspace1)需求分析2)数据模型设计3)页面设计(a)首页(b)日志列表页面(c)写日志的界面 4)实体类编码5)业务逻辑编码6)读取日志7)删除日志8)写日志9)修改日志10)权限管理,4项目部署编码完成后,先在本地测试,通过后,就可以将项目发布到Google App Engine上,1Google云计算技术包括哪些内容?2当前主流分布式文件系统有哪些?各有什么优缺点?3GFS采用了哪些容错措施来确保整个系统的可靠性?4MapReduce与传统的分布式程序设计相比有何优点?5Chubby的设计目标是什么?Paxos算法在Chubby中起什么作用?6阐述Bigtable的数据模

18、型和系统架构。7分布式存储系统Megastore的核心技术是什么?8大规模分布式系统的监控基础架构Dapper关键技术是什么?9Google App Engine提供了哪些服务?10Google App Engine的沙盒对开发人员进行哪些限制?,习题,阅读精选,1 The Google File System2 MapReduce:Simplied Data Processing on Large Clustershttphttp:/www.cs.toronto.edu/demke/2227S.12/Papers/mapreduce-osdi04.pdf3 The Chubby lock service for loosely-coupled distributed systems4 Bigtable:A Distributed Storage System for Structured Data5 Megastore:Providing Scalable,Highly Available Storage for Interactive Services6 Dapper,a Large-Scale Distributed Systems Tracing Infrastructure7 Google app Engine专区,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号