云计算时代的软件开发技术及其应用(1).ppt_第1页
云计算时代的软件开发技术及其应用(1).ppt_第2页
云计算时代的软件开发技术及其应用(1).ppt_第3页
云计算时代的软件开发技术及其应用(1).ppt_第4页
云计算时代的软件开发技术及其应用(1).ppt_第5页
已阅读5页,还剩70页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

云计算时代的软件开发技术及其应用 软件工程国家重点实验室 武汉大学 武汉大学计算机学院应时2010 05 22 提纲 一 云计算时代的软件二 云计算时代软件的开发技术三 云计算时代软件开发技术的创新与发展四 我们的工作五 总结 软件工程国家重点实验室 2 一 云计算时代的软件 软件工程国家重点实验室 3 1 1云计算 Wikipedia上的定义 云计算是这样一种计算方式 计算资源是动态易扩展而且虚拟化的 往往通过互联网提供 用户不需要了解 云 中基础设施的细节 不必具有相应的专业知识 也无需直接进行控制 云计算时代的软件是运行在云平台上 并具有在线租赁服务形式 按用量可伸缩性占用资源 按需要个性化定制等特性的软件 软件工程国家重点实验室 4 软件工程国家重点实验室 5 1 1云计算 云计算的使用方式 将计算和存储等资源以服务的方式提供 用户按需使用 按用量付费 6 软件工程国家重点实验室 有了云计算 我们可以无需购买昂贵的软硬件设备更少的技术维护按需获取海量的IT资源按用量支付费用聚焦于业务 图片来源 IBM公司 1 1云计算 7 软件工程国家重点实验室 图片来源 IBM公司 1 2云计算的服务体系 服务多租赁化 平台可伸缩化 资源虚拟化 让人振奋的许多云计算特性主要是靠软件技术实现的软件技术将在云计算时代开发出令人惊讶的应用系统 8 软件工程国家重点实验室 平台即服务 PlatformasaService HighVolumeTransactions SoftwareasaService 服务器 网络 存储 Metering 监控 计费 服务云 开发云 企业云 多租赁 安全 中间件 协作 业务服务 CRM ERP HR 定制服务 数据中心 虚拟化 动态供应 服务管理 J2EE On ramps 服务封装 Ajax 开发 On ramps On ramps 开发工具 与其他云的互操作 软件即服务 基础设施即服务 图片来源 IBM公司 1 2云计算的服务体系 1 3云软件的实例 9 软件工程国家重点实验室 Goole提供的云软件服务搜索引擎GmailGoogleDocsGooglePicasaWeb 1 3云软件的实例 10 软件工程国家重点实验室 S于1999年创新地以在线租赁的模式 提供按需定制的客户关系管理的软件服务功能的增删 用户界面的个性化等用户只需支付租用费 就可以使用CRM服务 包括普通的联系人管理 产品目录到订单管理 机会管理 销售管理等服务 提供一个平台 使得客户无需花费大量资金和人力而拥有自己的软件 所有的软件和数据都储存在平台上 1 3云软件的实例 11 软件工程国家重点实验室 据Gartner预计 到2010年企业30 的软件应用将通过服务来提供 1 4云计算时代软件的新变化 12 软件工程国家重点实验室 用户只需要使用软件 而不用自己去运行 软件始终在网上运行着 和管理软件 使用云上的软件只需注册 客户化 应用即可 用户变成租户 单一实例的软件使用模式变成多租赁的服务模式网站从Web信息发布平台变成Web应用软件运行平台 变成系统托管平台 变成多租户的软件服务平台 1 4云计算时代软件的新变化 13 软件工程国家重点实验室 软件运行在因特网上的共享数据中心上 而不是运行在自有的服务器和计算机上 应对用量变化的手段 从制作网络镜像手工增删资源 到系统和平台的自动伸缩 可个性化定制快速开发 1 5本报告关注的主题 14 软件工程国家重点实验室 云计算时代软件需要新的开发技术软件工程师也需要使用云计算时代的软件开发技术去提高开发能力开发作为服务 15 软件工程国家重点实验室 在云计算平台中 如何开发 运行和维护那些为 最终 用户提供云服务的软件系统 包括系统软件 工具软件和应用软件等各类软件 1 5本报告关注的主题 关注云计算模式下的软件开发与设计技术 软件工程国家重点实验室 图片来源 美国加州大学圣巴巴拉分校 二 云计算时代软件的开发技术 软件工程国家重点实验室 16 软件工程国家重点实验室 17 云计算是在分布式计算 并行计算和网格计算的基础上 经一系列技术的创新和融合而形成的 目前 云计算平台本身以及云计算平台上的应用软件的开发都使用分布式并行编程技术 2 1云计算时代的分布并行编程技术 云计算时代的分布并行编程技术分布并行数据处理技术GoogleMap ReduceHadoopMap Reduce分布式文件系统GoogleFileSystemHadoopDistributedFileSystem分布式数据库GoogleBigTableHadoopHBase 2 1云计算时代的分布并行编程技术 2 2分布并行数据处理 19 软件工程国家重点实验室 Map Reduce用于大规模数据并行处理数据量大 超过1TB 在成百上千个CPU上并行处理用户只需实现下面接口map in key in value out key intermediate value listreduce out key intermediate valuelist out valuelist 2 2分布并行数据处理 20 软件工程国家重点实验室 Map Reduce架构 图片来源 美国华盛顿大学课件 2 2分布并行数据处理 MapReduce实现原理 图片来源 GoogleResearchPublication 2 3分布式文件系统 软件工程国家重点实验室 22 GoogleFileSystem GFS 需求 在廉价 相对不可靠的计算机上对巨量数据进行冗余存储 为什么不用现有的文件系统 Google面对特殊的挑战文件较大 每个都在100M以上 通常为几个GB文件通常需要频繁的追加用流方式读取高吞吐量低延迟针对上述问题 GFS在文件系统性能和可伸缩性方面进行了优化设计 GFS的设计理念文件用块存储每个块固定为64MB通过冗余解决可靠性问题每个块同时拷贝在3个块服务器上主服务器负责协调访问和保存元数据简单化的集中管理定制化的API无数据缓存较大文件块和流式读取使得缓存效果不佳 软件工程国家重点实验室 23 2 3分布式文件系统 GFS架构 2 3分布式文件系统 图片来源 GoogleResearchPublication GFS集群一个GFS集群有一个主服务器和多个块服务器文件被分割成固定尺寸的块 块服务器把块作为linux文件保存在本地硬盘上 并根据指定的块句柄和字节范围来读写块数据 主服务器管理文件系统所有的元数据 包括名字空间 访问控制信息和文件到块的映射信息 以及块当前所在的位置 客户端与主服务器交互 处理元数据客户端与块服务器交互 存取数据本身 2 3分布式文件系统 2 4分布式数据库系统 GoogleBigTable为了处理Google内部大量的格式化以及半格式化数据而构建的大规模分布式数据存储系统特点面向大规模处理 容错性强的自我管理系统 拥有TB级的内存和PB级的存储能力 每秒可以处理数百万的读写操作能够保存记录的不同时段的版本构建于GFS和Map Reduce基础之上 软件工程国家重点实验室 26 BigTable的设计理念面向网页数据的发布 搜索和浏览等特定处理的需要 简化数据管理系统的设计 并提高性能不支持关联不支持SQL查询简化数据的一致性管理网页数据的管理对一致性要求不高简化事务管理网页数据的处理 搜索 发布 对事务管理要求不高面向海量数据管理要求设计分割和合并管理机制 基于元数据 设计自动伸缩功能 根据数据量调整资源用量 软件工程国家重点实验室 27 2 4分布式数据库系统 BigTable的实现GFS为表文件 元数据和日志提供存储服务Chubby提供分布式并行处理功能一个Table按照行被分割为多个tablet每一个tablet在物理层被存为SSTable文件通过维护key diskblock索引 SSTable文件管理系统提供key value的索引功能 2 4分布式数据库系统 BigTable架构 软件工程国家重点实验室 29 2 4分布式数据库系统 图片来源 GoogleResearchPublication 软件工程国家重点实验室 2 5GoogleAppEngine GoogleAppEngine提供运行和开发的基础平台 允许开发人员编写网络应用 上传至AppEngine部署运行支持Java和Python两种开发语言AppEngine应用程序易于构建和维护 并可根据访问量和数据存储需要 进行伸缩 将应用程序隔离在它自己的安全可靠环境中 该环境与网络服务器的硬件 操作系统和物理位置无关 软件工程国家重点实验室 开发GAE应用的方法利用AppEngineSDK进行开发 本地创建Web应用项目 本地编译Web应用项目 上传应用程序到GoogleAppEngine 2 5GoogleAppEngine 2 6SalesforceF F的云计算平台基于Web的随需应变的企业级软件开发和运行平台开发的软件能在F平台上运行由一组集成的工具和应用程序服务组成 图片来源 F云计算平台整体概览 NativeERPConnectors NativeDesktopConnectors IntegrationMiddleware Mash upsfromAppExchange DeveloperToolkits 2 6SalesforceF 图片来源 元数据驱动的平台 使用元数据 定义数据模型 对象 窗体 工作流等 在运行时动态生成租户的应用程序 2 6SalesforceF Apex代码 多租赁虚拟机 元数据 可视化设计 应用程序开发模式声明式开发页面拖拽式设计集成开发环境APIMetadataAPIWebServicesAPI 2 6SalesforceF 图片来源 APEX语言开发人员声明式开发APEX程序编译后的APEX程序作为元数据存储在数据库中F平台解释并控制APEX代码的运行 2 6SalesforceF 图片来源 APEX语言Apex为第一个所需应变的 多租户编程语言和平台Apex是一种Java式的语言 可以在S的服务上运行 用户能够使用这种语言创建客户组件 客户化和修改现有的S代码 创建触发器和编写程序 Apex平台还包括一个应用程序编程接口以访问和管理复杂的数据关系和Ajax工具包 Apex平台中的实时消息和整合工具允许其它应用程序获得S中的业务事件 2 6SalesforceF 图片来源 FAppExchange企业软件的在线 超市 用户可以自行购买那些可以即选即用的功能模块 然后在其用户名下的S上运行 其中的大部分模块是由第三方开发并自主提供的 提供一个开发人员与用户共享软件和数据的社区 2 6SalesforceF FforGoogleAppEngine工具使GoogleAppEngine平台上Web应用的开发人员可以运行和使用驻留在F平台上的企业应用和数据提供了Java和Python库 允许开发人员从GoogleAppEngine中的应用软件 通过使用F中Web服务的API接口 查询和处理F中的数据 从而实现GoogleAppEngine中应用软件与F中应用软件的无缝地集成 2 6SalesforceF 开发方墨尔本大学云计算实验室Manjrasoft主要负责人Dr RajkumarBuyya相关信息 2 7Cloudbus Aneka基于 NET的云计算针对企业和公共云的PaaS基于服务契约的资源管理云间互操作的要素 Brokers 将各种云联合起来 为应用程序提供跨分布式资源的扩展能力第三方的云服务使用不同厂商的云存储 建立内容交付网络绿色云 数据中心充分利用资源 面向QoS的资源分配CloudSim 模拟云的工具集为资源管理策略与算法 提供设计与评估支持 2 7Cloudbus 2 7Cloudbus 图片来源 Buyya sPresentation Aneka NET basedCloudComputing SDK 包括针对多种编程模型和开发工具的API运行环境 管理应用程序执行适用于 开发企业云应用将某些应用移植到云上提供客户应用的移植 企业 公共云 2 7Cloudbus 图片来源 Buyya sPresentation 2 8技术评价 已有的编程技术主要面向特定领域软件开发平台还待完善和发展云计算时代的软件工程方法学需要创新 三 云计算时代软件开发技术的创新与发展 软件工程国家重点实验室 45 3 1云计算时代应用软件的设计要求 云计算模式下应用软件系统的设计要求基于SOA的SaaS模式多租赁特征 47 软件工程国家重点实验室 SaaS是指 软件以在线服务的方式供租户使用软件用户通过浏览器在线使用业务应用软件 软件及其数据都存在因特网上的数据中心里用户不需安装和管理软件系统 不需在硬件方面投入用户按自己的需要选择 注册并使用软件 3 2基于SOA的SaaS模式的软件设计 48 软件工程国家重点实验室 SaaS改变了软件的交付模式使用方式运行机制开发方法SaaS将促进软件工程的创新与发展新的方法学非功能需求技术需求技术 管理 质量 3 2基于SOA的SaaS模式的软件设计 SaaS模式的特性服务 Service 面向企业的服务 Line of businessservice 面向个人消费者的服务 Consumer orientedservice 多租赁 Multi tenancy 动态可伸缩性 DynamicScalable 动态可配置性 DynamicConfigurable 3 2基于SOA的SaaS模式的软件设计 3 2基于SOA的SaaS模式的软件设计 云计算应用软件的体系结构是一种基于SOA技术体系的软件体系结构具有面向业务 粗粒度 基于服务 松散耦合和动态绑定等特点 3 2基于SOA的SaaS模式的软件设计 云计算应用软件的体系结构设计更关注软件系统的质量属性 例如高性能 伸缩性 并发性 分布性 安全性和容错性等软件整体的并发性和分布性设计服务自身的并发性和分布性设计满足软件系统的质量属性成为难题和挑战 成为不可回避的问题如何建模 实现和测试这些属性 需要新的有效技术和方法 3 3多租赁特征的设计 多租赁特性SaaS服务通常基于一套标准的软件系统 为成千上万的租户同时提供不间断的服务设计要求支持用户对界面 业务逻辑 数据等方面的个性化需求支持不同租户之间数据和配置的隔离 保证每个租户数据的安全与隐私对支撑软件的基础设施平台的性能 伸缩性 可信性提出很大挑战 设计关注点数据和应用隔离多租户间最大程度共享资源的同时 严格区分和隔离属于不同租户的数据 以及应用的配置 例如 用数据表的字段或视图 区分不同租户的数据可配置性功能服务可以根据用户个性化需求灵活配置 可伸缩特性动态自动地适应大量的租户 大量的数据以及高并发的要求性能需要最大程度地提高系统并发性 更有效的使用系统资源 3 3多租赁特征的设计 四 我们的工作 软件工程国家重点实验室 54 4 1高考智能择校推荐系统 项目背景中国2010年预计有1319万人参加高考 计划招收629万人 估计80万左右因为学费 就业迷茫而弃考 可能对目前大学教育状况了解欠缺 如学费 生活消费 就业率 专业差异等 高考系统的新增数据和使用率呈现 突爆性 全年主要集中在1个月左右时间 而其他时间相对闲置 对数据实时性和系统快速响应要求很高 项目背景如何综合考虑考生信息和高校信息 帮助考生正确的选择最适宜其特点的高校 考生信息 高考成绩 预考成绩 兴趣爱好 生活习惯 所能承受的学费及生活费用等高校信息 地址 评价 专业 学费 就业率 正 负面新闻 奖学金 各专业就业率 专业全国排名等如何根据系统使用率 弹性伸缩集群规模 满足实时性要求 并节省系统维护成本 4 1高考智能择校推荐系统 现有的同类系统中国高校录取在线择校网北大方正高考择校专家分析系统http www edu 北京市西城区高考估分选校系统高考填报志愿参考系统 4 1高考智能择校推荐系统 4 1高考智能择校推荐系统 现有系统的不足信息量庞大 彼此独立 缺乏有效的联系以主动搜索为主 缺乏客观的智能推荐缺乏数据挖掘 智能分析 综合评价体系缺乏开放性和可重用性未体现服务化的特点应对应用井喷的能力不足 4 1高考智能择校推荐系统 项目研发内容基于云计算的高考数据 服务中心设计按需DeepWeb数据 服务采集技术数据挖掘与智能分析高考择校智能决策计算基于语义的Web服务发现自动和半自动相结合的Web服务组合技术 4 1高考智能择校推荐系统 基于云计算的高考数据 服务中心设计将高考数据 结构化数值 文字 非结构化图片 视频等 及相关服务在一个统一体系中进行综合管理数据 服务资源分布式存储 每个节点对应一个虚拟机 从而通过弹性伸缩克服短时访问井喷提供数据 服务的检索 迁移 数据 环境 备份 数据 环境 等高效资源管理 以及半自动服务组合基于Google和Salesforce平台 进行开发 4 1高考智能择校推荐系统 按需DeepWeb数据 服务采集技术自动DeepWeb数据接口分析 集成等DeepWeb服务发现 识别 爬取等手工 人人是服务提供者 人人是服务使用者 服务倡导者 提出数据 服务需求 服务提供者 注册数据 软件服务 访问者 评价服务需求描述 或者最终服务质量 高考数据 服务中心跨硬件平台Intel内核机架服务器 1 2 xeon4core2 4Gcpu 4 4GECCDDR31333内存 272GSAS AMD内核机架服务器 1 2 Opteron4core2 4Gcpu 4 4GECCDDR2667内存 272GSAS Power内核刀片服务器 4 2 power1core2 2Gcpu 1GECCDDR333内存 40GATA Intel内核刀片服务器 10 1 xeon1core3 0Gcpu 2 512MECCDDR2667内存 72GSCSI Intel内核普通PC 1 1 赛扬1core2 6G 512MDDR333 80GATA 4 1高考智能择校推荐系统 高考数据 服务中心跨操作系统目前已测试VM0可用的linux平台Ubuntu Cent SUSE Debian Fedora RedHat而VMn为任意操作系统 可实现全 半虚拟化 4 1高考智能择校推荐系统 平台监控与管理 支持PC和手机端 4 1高考智能择校推荐系统 4 1高考智能择校推荐系统 高考数据 服务资源的统计分析支持PC端和手机端的分析与可视化展示 趋势分析对比分析评价分析周边环境分析就业率分析 五 总结 软件工程国家重点实验室 66 5 1大型云服务软件的开发需求是现实的 软件是IT系统的灵魂人类创造出的软件开发技术不会随着IT技术的发展而失去作用或降低重要性 它是我们在新的IT环境中开发更大规模 更复杂 更创新的应用软件系统的有力武器 软件开发技术不但会跟随IT技术的发展而变化 而且它自己也处在不断的发展过程中 新的软件开发技术将提高人类开发软件系统的能力云计算为人类使用更大 更复杂的软件系统 提供了可能 软件工程国家重点实验室 67 5 2发展需求与机遇 流动人口服务 软件工程国家重点实验室 68 生殖健康 犯罪预防 危机应对 社会保障 外来流动人口的压力 人口流动形态推动了珠三角地区的现代化进程 也在人口 社会 经济等方面带来新问题 不断冲击着以往的管理机制 对公共管理与服务部门提出新的要求 技术需求 专业化信息 应用分层

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论