电子工业出版社《云计算(第二版)》配套课件

Slides:



Advertisements
Similar presentations
开发入门 一个 android 初学者的心得与体会. 前言 两周前张老师通知我说,让我根据教练助手的学习与开发的过程讲下 android 开发的心得与体会,我觉得自己在这么多 Android 前辈大佬面前讲 android 简 直是班门弄斧。由于是刚入门的初学者,水平有限,很多方面还很不足,对 错误或不周到之处欢迎批评指正。顺便还得提下,我这个标题有抄袭积聚童.
Advertisements

JAVA 概述 主讲:张雷. J2ME API 地址: 广东科贸信息工程 张雷学习要求 了解各种程序设计语言及其特点 了解各种程序设计语言及其特点 了解 JAVA 的发展史和其特点 了解 JAVA 的发展史和其特点.
开始 周海 2012 级中软定制专业方向说明. 三个方向 Java 与移动互联.NET 软件开发 嵌入式开发.
1 网站设计理念 大连理工大学创新实验学院 优秀网站展示 - LAMP 类网站
应用地球物理卓越人才培养体系构建与实践 吉林大学地球探测科学与技术学院 刘 财 经验交流.
Android ADT + Android SDK Eclipse Eclipse 編輯器 JAVA JAVA 開發工具.
兩性相處 主講人:孫晉芬老師.
臺中市政府警察局 婦幼警察隊 小隊長吳敏男、謝豐昌
課程地圖 (104年入學-日間部) 校通識核心 專業課程 必修與選修 與管理模組 網路技術 App設計與應用模組 學院通識核心 學院專業核心
云计算系统测试技术与实践 中国软件评测中心 陈渌萍 2017年3月3日.
Big Data Ecosystem – Hadoop Distribution
学生教育办介绍 2015年9月.
双十一数据库核心技术 淘宝网 李圣陶(刘昆).
云计算应用对比分析 李洁睿 周良俊 2017/3/8.
教育雲端科技的現況與未來發展 臺北市政府教育局聘任督學 韓長澤.
SAE Java 实际应用 在这里写上你的标题 作者名字/日期
阿里云计算开放平台与产品 阿里云-刘飞 2012年10月.
云智慧助力在线医疗服务性能优化 —让IT运营更简单 2015年4月 云智慧科技(北京)有限公司.
Ch.8. 基于MapReduce的图算法 MapReduce海量数据并行处理
云计算学习报告 报告人: 陈 霁 大规模数据处理软件Apache Hadoop.
南京大学计算机科学与技术系 主讲人:黄宜华 2011年春季学期
巨量資料平台: Hadoop的生態系.
第11章 海量信息存储 主讲:刘方明 副教授 华中科技大学计算机学院
数据采集与Hadoop框架 报告人:黄文君 导 师:王华忠 BEA Confidential.
何娜 求职经验交流 何娜
荷福威士顿机器人科技有限公司 上海荷福集团
Google App Engine Google 應用服務引擎.
YARN & MapReduce 2.0 Boyu Diao
Android App 系統開發教學 Luna 陳雯琳 2014/12/18
高级软件工程 云计算 主讲:李祥 QQ: 年12月.
第3章 分布式文件系统HDFS (PPT版本号:2017年2月版本)
分布式系统中的关键概念及Hadoop的起源、架构、搭建
王耀聰 陳威宇 國家高速網路與計算中心(NCHC)
Goolge的云计算 分布式数据表BigTable.
基于Hadoop的数据仓库Hive.
Working with Databases (II) 靜宜大學資管系 楊子青
Android程式開發準備 Android智慧型手機程式設計 建國科技大學 資管系 饒瑞佶 2012/4 V1 2012/8 V2
kCloudStorage - 基于云技术的廉价冗余天文海量数据存储
Chap 3 資料庫模型與處理架構.
CHAPTER 6 認識MapReduce.
开源云计算系统简介 电子工业出版社 刘鹏主编《云计算》教材配套课件11.
Cloud Computing(雲端運算) 技術的現況與應用
斯巴達帶大家上雲端.
Hadoop平台與應用規劃實作 報告者:劉育維.
國立屏東高級工業職業學校 雲端網路及 雲端開系統介紹
Haiwell Cloud 海为云介绍.
《大数据技术原理与应用》 第十二讲 图计算 (2016春季学期)
教務行政資訊系統 簡介 資訊科技中心 資訊系統組 徐振琦
Hadoop.
《云计算》课件 总结与展望 主讲人:刘鹏 中国电子学会信息系统集成分会.
Homework 1(上交时间:10月14号) 倒排索引.
Cloud Computing Google云计算原理.
Android手动测试实践 ——绮珠.
地理資訊系統概念 第三章 地理資訊系統之組成.
软件工程基础 云计算概论 刘 驰.
課程名稱:_____________ 指導教授:_____________
大数据介绍及应用案例分享 2016年7月 华信咨询设计研究院有限公司.
本章目錄 10-1 物聯網介紹 10-2 物聯網系統與物聯網策略聯盟模式 10-3 物聯網系統服務聯盟實證分析 10-4 結論與建議.
人工智能人才培养示范基地建设分享 上海电子信息职业技术学院 邵瑛.
Unit 05 雲端分散式Hadoop實驗 -I M. S. Jian
亚马逊云计算AWS (Amazon Web Service)
課程網站
  Google    雲端技術   曹晉翊 | 陳正偉 | 施泓銘 | 郭軒志 | 王士豪.
TinyDB資料庫 靜宜大學資管系 楊子青.
教育部特殊教育通報網 學生異動、接收操作說明.
實驗十六:匯出APK安裝檔與軟體上架.
Cloud Computing Google云计算原理.
案例分析: THE NEXTGEN POS SYSTEM
Android进程间通讯.
如何著手入門MyLion 如何下載和註冊 讓我們來談談如何確保所有獅友知道如何下載和註冊app。.
Presentation transcript:

电子工业出版社《云计算(第二版)》配套课件 第2章 Google云计算原理与应用 《云计算(第二版)》购买网址: 当当网:http://product.dangdang.com/product.aspx?product_id=21094102 京东商城:http://book.360buy.com/10658667.html 解放军理工大学 刘鹏 教授主编 华东交通大学 刘鹏 制作

《云计算(第二版)》购买网址: 当当网 京东商城 姊妹力作《实战Hadoop》购买网址: 当当网 京东商城 《云计算(第二版)》购买网址: 当当网 京东商城 《云计算(第二版)》购买网址: 当当网:http://product.dangdang.com/product.aspx?product_id=21094102 京东商城:http://book.360buy.com/10658667.html 姊妹力作《实战Hadoop》购买网址: 当当网 京东商城

提 纲  Google文件系统GFS  分布式数据处理MapReduce  分布式锁服务Chubby 提 纲  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数据储存服务组成的平台,它能为开发者提供一体化的、可自动升级的在线应用服务 开发人员在Google的基础架构上运行网络应用程序 用户可以使用appspot.com域上的免费域名为应用程序提供服务,也可以使用Google企业应用套件从自己的域为它提供服务 注册一个免费账户即可开发和发布应用程序,而且不需要承担任何费用和责任

Google App Engine架构 整体架构 前端和静态文件 应用服务器 服务器群 应用管理节点 Google App Engine架构

基本概念 沙盒—Google App Engine为每个应用程序提供了一个安全运行环境 Python运行时环境—Google App Engine支持Java和Python语言;提供一个由Python语言编写的网络应用程序框架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)具有持久存储的空间。平台可支持一些基本操作,如查询、分类和事务的操作 应用程序环境特性 (3)具有自主平衡网络和系统的负载、自动进行扩展的功能 (4)可以对用户的身份进行验证,并且支持使用Google账户发送邮件 (5)有一个功能完整的本地开发环境,可以在自身的计算机上模拟Google App Engine环境 (6)支持在指定时间或定期触发事件的计划任务

Python Python运行时环境包括Python标准库,开发人员可以调用库中的方法来实现程序功能,但是不能使用沙盒限制的库方法(尝试打开套接字、向文件进行写入操作等),为便于编程,Google App Engine将一些模块进行了禁用 在Python运行时环境中,应用程序只能以Python语言编写,扩展代码中若有C语言,则应用程序将不受系统支持 Python环境为开发平台中的数据库、Google账户、网址抓取和电子邮件服务等提供了丰富的Python API Google App Engine还提供了一个简单的Python网络应用程序框架Webapp

沙盒对用户进行如下限制 沙盒给开发人员提供了一个虚拟的环境,这个环境使应用程序与其他开发者开发使用的程序相隔离,从而保证每个使用者可以安全地开发自己的应用程序 01 02 03 用户应用程序只能通过Google App Engine提供的网址抓取API和电子邮件服务API来访问互联网中其他计算机;只能在标准接口上通过HTTP或HTTPS来进行 应用程序无法对Google App Engine的文件系统进行写入操作,只能读取应用程序代码上的文件,并且该应用程序必须使用Data Store数据库来存储应用程序运行期间持续存在的数据 应用程序只有在响应网络请求时才运行,且响应时间必须极短(几秒之内完成)。同时,请求处理的程序不能在自己的响应发送后产生子进程或执行代码

Google App Engine SDK 使用SDK时,可以在本地计算机上模拟包括所有Google App Engine服务的网络服务器应用程序,该SDK包括Google App Engine中的所有API和库。该网络服务器还可以模拟沙盒环境 使用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 Engine编程实践

图像操作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)exception Error():这是该包中所有异常的基类 (2)exception TransformationError():表示尝试转换图像时发生错误 (3)exception BadRequestError():表示转换参数无效

邮件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)exception Error() (b)exception BadRequestError() (c)exception InvalidEmailError()

Memcache API Memcache API提供了一个基于类的接口,以便和其他Memcache API相兼容 1)构造函数 class 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类 (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)exception Error() (b)exception UserNotFoundError() (c)exception RedirectTooLongError()

数据库API 1)Model类 2)Property类 (1)类方法 (2)实例方法 (1)类构造函数 (2)类属性 (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类 4)GqlQuery类 (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类 (a)bind(*args, **kwds) (b)get() (c)fetch(limit, offset=0) (d)count(limit)

数据库API 5)Key类 (1)构造函数 (2)类方法 (3)实例方法 (4)函数 (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主机服务,Google App Engine有下列独到之处: (2)提供数据存储服务 (3)集成了Gmail、Google User认证、URL Fetch、Memcache和图片操作(PIL)等多种API (4)Google App Engine提供存储空间为500M,每月500万页面访问的免费服务,超出部分需要支付相应费用

添加appengine java sdk环境 Java在Google App Engine上怎么实现个人空间日志管理功能? 1.搭建开发平台 (1)下载JDK1.6安装并配置好环境变量 (2)下载eclipse3.6安装包,解压 (3)下载Google Plugin for Eclipse3.6,解压后将插件包中feature下的文件复制到 eclipse的feature目录下,将插件包中plugin下的文件复制到eclipse的plugin目录下(也可以通过建立link文件来安装插件) (4)下载appengine-java-sdk,在eclipse中依次点击Window>Preference>Google>App Engine>Add,添加sdk根目录 添加appengine java sdk环境

创建一个新的Web Application 2.创建工程并测试 创建一个新的Web Application 新建名为zqspace的项目,包名为cn.edu.xtu,项目目录结构如图示

web应用部署到Google App Engine

3.开发个人空间zqspace 1)需求分析 2)数据模型设计 3)页面设计 4) 实体类编码 5)业务逻辑编码 6)读取日志 7)删除日志 (b)日志列表页面 (c)写日志的界面 4) 实体类编码 5)业务逻辑编码 6)读取日志 7)删除日志 8)写日志 9)修改日志 10)权限管理 字 段 名 描 述 类 型 id 主键(自增) Long author 作者 User title 标题 String content 内容 tag 标签 date 更新时间 Date

4.项目部署 编码完成后,先在本地测试,通过后,就可以将项目发布到Google App Engine上

习题 1.Google云计算技术包括哪些内容? 2.当前主流分布式文件系统有哪些?各有什么优缺点? 3.GFS采用了哪些容错措施来确保整个系统的可靠性? 4.MapReduce与传统的分布式程序设计相比有何优点? 5.Chubby的设计目标是什么?Paxos算法在Chubby中起什么作用? 6.阐述Bigtable的数据模型和系统架构。 7.分布式存储系统Megastore的核心技术是什么? 8.大规模分布式系统的监控基础架构Dapper关键技术是什么? 9.Google App Engine提供了哪些服务? 10.Google App Engine的沙盒对开发人员进行哪些限制?

阅读精选 [1] The Google File System http://www.cs.brown.edu/courses/cs295-11/2006/gfs.pdf [2] MapReduce: Simplied Data Processing on Large Clustershttp http://www.cs.toronto.edu/~demke/2227S.12/Papers/mapreduce-osdi04.pdf [3] The Chubby lock service for loosely-coupled distributed systems http://static.googleusercontent.com/external_content/untrusted_dlcp/research.google.com/zh-CN//archive/chubby-osdi06.pdf [4] Bigtable: A Distributed Storage System for Structured Data http://static.usenix.org/event/osdi06/tech/chang/chang_html/ [5] Megastore: Providing Scalable, Highly Available Storage for Interactive Services http://www.cidrdb.org/cidr2011/Papers/CIDR11_Paper32.pdf [6] Dapper, a Large-Scale Distributed Systems Tracing Infrastructure http://static.googleusercontent.com/external_content/untrusted_dlcp/research.google.com/zh-CN//pubs/archive/36356.pdf [7] Google app Engine专区 http://bbs.chinacloud.cn/showforum-22.aspx

谢 谢! http://www.chinacloud.cn