云计算及其关键技术
云计算及其关键技术

云计算及其关键技术1. 介绍1.1 定义和概念在信息科技领域,云计算是一种通过网络提供的按需共享资源(包括但不限于服务器、存储空间、应用程序等)的模式。
它允许用户根据需要获取所需资源,并且可以随时扩展或缩减使用量。
1.2 发展历程- 第一阶段:基础设施即服务 (IaaS)- 第二阶段:平台即服务 (PaaS)- 第三阶段:软件即服务 (SaaS)2. 关键技术2.1 虚拟化技术虚拟化是实现云计算环境中多个虚拟机运行在同一个物理主机上的核心技术。
常见的虚拟化方式有全虚拟化和半虚拟化两种形式。
- 全虛擬: 是指將整個作業系統都偽裝成為實體計算資源, 只要能夠運行該操作系统的電腦就可避開了原本必須相容特定架构之问题.- 半真實 : 則只把關鍵部分虛擬化, 其他則仍然運行在實體計算資源上. 半真实的方式可以提供更高效能,但是需要操作系统与硬件有较好的兼容性.2.2 分布式计算技术在云计算环境中,资源和任务通常会被分配到多个节点进行处理。
因此,为了保证整体性能和可靠性,在设计云计算系统时必须考虑如何将任务合理地划分给各个节点,并且确保它们之间的协同工作。
- MapReduce : 是一种用于大规模数据集(超过1TB)并行运行大量机器上应用程序模型。
- Hadoop: 开放原始码软件框架, 可以让用户使用简单而强大地跨越数百台服务器构建起来成一个庞巨无比、具备海量存储及平衡负载功能的网络服务群组.2.3 安全与隐私技术- 数据加密:对敏感信息进行加密传输或者存储。
- 权限控制:通过身份验证、权限管理等手段控制用户对资源的访问权限。
- 隐私保护:采取措施保护用户的个人隐私信息,如数据脱敏、匿名化等。
3. 附件- 本文档涉及到的相关资料和案例请参见附件1。
4. 法律名词及注释- IaaS:基础设施即服务(Infrastructure as a Service),是云计算中一种提供虚拟机实例、存储空间以及网络资源等基础设施的模式。
云计算及其关键技术分析

云计算及其关键技术分析在当今数字化的时代,云计算已经成为了信息技术领域的核心驱动力之一。
它不仅仅改变了我们存储和处理数据的方式,还为企业和个人带来了前所未有的灵活性和效率。
那么,究竟什么是云计算?它又有哪些关键技术在背后支撑着其强大的功能呢?云计算,简单来说,就是一种基于互联网的计算方式,通过这种方式,共享的软件资源、硬件资源和信息可以按需提供给计算机和其他设备。
用户不再需要在本地拥有强大的计算能力和大量的存储空间,而是可以像使用水电一样,按需从“云”中获取所需的计算资源和服务。
云计算的关键技术之一是虚拟化技术。
虚拟化技术可以将物理资源(如服务器、存储设备和网络)抽象为逻辑资源,使得多个虚拟机能够在同一物理服务器上同时运行,从而提高了资源的利用率。
通过虚拟化,云计算服务提供商能够更灵活地分配资源,满足不同用户的需求。
另一个关键技术是数据存储技术。
在云计算环境中,数据量通常是巨大的,因此需要高效可靠的数据存储方案。
分布式存储系统应运而生,它将数据分散存储在多个节点上,通过冗余和数据备份来确保数据的安全性和可用性。
同时,为了提高数据的访问效率,还采用了各种数据索引和缓存技术。
云计算中的资源管理和调度技术也至关重要。
面对众多用户的请求和不断变化的资源需求,如何合理地分配和调度计算、存储和网络资源,以确保服务的质量和性能,是一个巨大的挑战。
资源管理和调度系统需要实时监测资源的使用情况,根据预设的策略和算法进行资源的分配和调整。
安全技术在云计算中同样不容忽视。
由于数据存储在云端,用户对数据的安全性和隐私性存在担忧。
因此,云计算服务提供商需要采用一系列的安全措施,如数据加密、身份认证、访问控制和网络安全防护等,来保障用户的数据安全。
此外,云计算中的自动化部署和管理技术也大大提高了运维效率。
通过自动化工具和脚本,可以实现服务器的快速部署、应用程序的自动更新和配置管理等,减少了人工干预,降低了出错的概率。
云计算的服务模式也是其重要的组成部分。
云计算平台及关键技术

云计算平台及关键技术在当今数字化的时代,云计算已经成为了推动科技发展和创新的重要力量。
它就像一个神奇的魔法盒子,为我们提供了强大的计算能力、海量的存储空间和丰富多样的服务,让我们的生活和工作变得更加便捷和高效。
那么,什么是云计算平台?它又有哪些关键技术呢?让我们一起来揭开它神秘的面纱。
云计算平台,简单来说,就是通过互联网将计算资源(包括服务器、存储、网络、应用程序等)以服务的形式提供给用户。
用户无需自己购买和维护硬件设备,只需要根据自己的需求向云服务提供商租用相应的资源,并按照使用量付费。
这种模式就像我们使用水电一样,按需取用,按量付费,极大地降低了用户的成本和风险。
云计算平台主要有三种服务模式:IaaS(基础设施即服务)、PaaS (平台即服务)和 SaaS(软件即服务)。
IaaS 提供的是最基础的计算资源,如服务器、存储和网络等,用户可以在这些资源上自由部署和运行自己的操作系统和应用程序。
PaaS 则在 IaaS 的基础上,为用户提供了一个平台,包括操作系统、数据库、中间件等,用户可以在这个平台上快速开发和部署自己的应用程序。
SaaS 则是将应用程序作为服务提供给用户,用户无需自己安装和维护软件,只需要通过网络访问即可使用。
要实现云计算平台的强大功能,离不开一系列关键技术的支持。
其中,虚拟化技术是云计算的核心技术之一。
通过虚拟化技术,可以将物理资源虚拟化为多个逻辑资源,从而实现资源的灵活分配和高效利用。
例如,一台物理服务器可以通过虚拟化技术被分割成多个虚拟机,每个虚拟机都可以独立运行操作系统和应用程序,就像多台独立的服务器一样。
这样一来,不仅提高了服务器的利用率,还降低了硬件成本。
分布式存储技术也是云计算平台的重要支撑。
在云计算环境中,数据量通常非常庞大,传统的存储方式已经无法满足需求。
分布式存储技术将数据分散存储在多个节点上,通过冗余备份和数据一致性算法,保证了数据的可靠性和可用性。
同时,分布式存储还具有良好的扩展性,可以随着数据量的增加轻松地扩展存储容量。
阐述云计算关键技术

阐述云计算关键技术
云计算是一种基于互联网的计算方式,它通过将计算资源(如服务器、存储、网络等)集中到云端,以实现对资源的灵活配置和按需使用。
以下是云计算的一些关键技术:
1. 虚拟化技术:虚拟化技术是云计算的基础,它可以将物理资源(如服务器、存储、网络等)抽象成虚拟资源,从而实现对资源的灵活管理和分配。
虚拟化技术包括服务器虚拟化、存储虚拟化、网络虚拟化等。
2. 分布式计算:云计算采用分布式计算的方式来处理大规模的数据和计算任务。
通过将计算任务分配到多个计算节点上,云计算可以提高计算效率和可靠性。
3. 存储技术:云计算需要高效、可靠的存储技术来支持大规模的数据存储和管理。
云计算通常采用分布式存储技术,如分布式文件系统、对象存储等,以确保数据的可靠性和安全性。
4. 数据中心技术:数据中心是云计算的核心基础设施,它包括服务器、存储设备、网络设备等。
数据中心技术涉及到机房建设、电力供应、散热冷却等方面,以确保数据中心的稳定运行。
5. 自动化管理技术:云计算需要实现对计算资源的自动化管理和配置,以提高效率和降低成本。
自动化管理技术包括资源调度、监控预警、故障处理等。
6. 安全技术:云计算涉及到大量的数据和计算资源,因此安全技术至关重要。
云计算需要采用加密技术、访问控制、身份认证等安全技术来保护数据的隐私性和安全性。
以上是云计算的一些关键技术,这些技术的发展和应用推动了云计算的快速发展和广泛应用。
云计算的特点与关键技术及其在物联网中的应用

云计算的特点与关键技术及其在物联网中的应用随着信息技术的迅猛发展,云计算作为一种新兴的计算模式,正逐渐改变着传统的计算方式。
云计算不仅具有高度的灵活性和可扩展性,还能提供强大的计算和存储能力,因此被广泛应用于各个领域。
本文将深入探讨云计算的特点、关键技术,并阐述其在物联网中的应用。
一、云计算的特点1.1 弹性扩展云计算具有强大的弹性扩展能力,能够根据用户需求动态调整计算资源。
无论是增加还是减少计算能力,云计算都能够实现快速、有效的资源分配和管理,提供更高的灵活性和可用性。
1.2 高可靠性云计算采用分布式架构,将计算、存储和网络资源进行整合和优化。
通过使用冗余机制和备份策略,云计算能够提供高度可靠的计算环境,极大地减少了服务故障和数据丢失的风险。
1.3 可视化管理云计算提供了直观的管理界面,用户可以通过图形化界面进行资源管理、监控和配置。
这种可视化管理方式不仅能够降低用户的技术门槛,还能实现更加便捷和高效的操作和管理。
1.4 高性能计算云计算充分利用了分布式计算的优势,可以将多台计算机集群组合成一个强大的计算资源池。
通过任务切分和并行计算,云计算能够实现高性能的计算和处理,极大地提高了计算效率和吞吐量。
二、云计算的关键技术2.1 虚拟化技术虚拟化技术是云计算的核心,它可以将物理资源虚拟化成多个独立的虚拟机。
通过虚拟化技术,云计算可以在同一台物理服务器上同时运行多个虚拟机,实现资源的高效利用和隔离。
2.2 分布式存储技术分布式存储技术是云计算的重要组成部分,它能够将大量的数据进行分割,并存储在不同的存储节点上。
通过分布式存储技术,云计算可以实现数据的高可靠性和高可用性,同时提供快速的数据读写和访问能力。
2.3 虚拟网络技术虚拟网络技术可以将物理网络虚拟化成多个独立的逻辑网络,并提供灵活、可扩展的网络服务。
通过虚拟网络技术,云计算可以实现灵活的网络配置和管理,为物联网提供高效、安全的网络环境。
2.4 自动化管理技术自动化管理技术是云计算的重要支撑,它可以通过自动调度和管理工具来实现资源的自动分配和优化。
云计算及关键技术

云计算及关键技术一、云计算的概念云计算是一种新型的计算和存储方式,它将计算机系统和存储资源通过互联网进行集中管理和分配,用户可以通过互联网来访问这些资源。
云计算有着许多优点,比如说降低成本、提高灵活性、提高可靠性、提升效率等等。
它是信息科学技术领域的重要组成部分,为各个行业的发展提供了重要支持。
二、云计算的架构云计算的架构分为三层,分别是云计算基础架构层、云计算平台层和云计算应用层。
1. 云计算基础架构层:包括服务器、存储设备、网络设备等硬件资源,它们构成了云计算基础设施的核心部分。
2. 云计算平台层:包括操作系统、虚拟化技术、存储管理、网络管理等软件资源,它们为上层应用提供了必要的支持。
3. 云计算应用层:是云计算的最上层,包括办公自动化、ERP、CRM、网络游戏等应用软件,它们运行在云计算平台上。
三、云计算的关键技术1. 虚拟化技术:虚拟化技术是云计算的核心技术之一,它能够将物理资源抽象成虚拟资源,从而实现资源的共享和动态分配。
常用的虚拟化技术有服务器虚拟化、存储虚拟化和网络虚拟化等。
2. 自动化技术:自动化技术是指通过自动化工具和技术,实现对资源的自动化管理和部署。
常用的自动化技术有自动化部署、自动化监控和自动化调度等。
3. 资源管理技术:资源管理技术是指通过对资源进行管理和优化,实现资源的高效利用。
常用的资源管理技术有负载均衡、资源调度和容量规划等。
4. 大数据技术:随着云计算的发展,数据量也在不断增加。
大数据技术能够有效地处理和分析海量数据,帮助用户快速做出决策。
5. 安全技术:安全技术是云计算发展中不可或缺的一部分,它能够保障用户的隐私和数据安全,防止黑客攻击和恶意软件的入侵。
四、云计算的应用1. 企业信息化:云计算能够为企业提供安全、高效、灵活的信息化服务,实现业务的集中管理和资源的共享,帮助企业提高效率和降低成本。
2. 电子商务:云计算能够为电子商务提供可靠的服务器存储和处理技术,实现轻松扩展、高效处理和低延迟访问,提升电子商务的竞争力。
云计算的概念及关键技术

云计算的概念及关键技术1、云计算的概念1.1概念云计算是一种通过互联网访问、可定制的IT资源共享池,并按照使用量付费的模式,这些资源包括网络,服务器,存储、应用、服务等。
广泛意义上来说,云计算是指服务的交付和使用模式,即通过网络以按需,易扩展的方式获取所需的资源,这种服务可以是IT的基础设施(硬件、软件、平台),也可以是其他服务,云计算的核心理念就是按需服务,就像人使用水、电、天然气等资源一样。
1.2关键技术云计算的关键技术有:虚拟化、分布式文件系统、分布式数据库、资源管理技术、能耗管理技术。
虚拟化:虚拟化是实现云计算重要的技术设施,是在通过物理主机中同时运行多个虚拟机实现虚拟化,在这个虚拟化平台上,实现对多个虚拟机操作系统的监视和多个虚拟机对物理资源的共享;分布式文件系统:指在文件系统基础上发展而来的云存储分布式系统,可用于大规模的集群,主要特点:1、高可靠性:云存储系统支持多个节点间保存多个数据副本的功能,以提供数据的可靠性;‘’2、高访问性:根据数据的重要性和访问频率将数据分级多副本存储、热点数据并行读写,提高访问;3、在线迁移、复制:存储节点支持在线迁移,复制、扩容不影响上层应用;4、自动负载均衡:可以根据当前系统的负荷,将原有节点上的数据迁移到新增的节点上,特有的分片存储,以快为最小单位来存储,存储和查询时所有的存储节点并行计算;5、元数据和数据分离:采用元数据和数据分离的存储方式设计分布式文件系统。
分布式数据库:能实现动态负载均衡、故障节点自动接管、具有高可靠性,高可用性、高可扩展性;资源管理技术:云系统为开发商和用户提供了简单通用的接口,使得开发商将注意力更多低集中在软件本身,而无需考虑到底层架构,云系统一句用户的资源获取请求,动态分配计算资源;能耗管理技术:云计算基础设施中包括数以万计的计算机,如何有效低整合资源、降低运行成本,节省运行计算机所需的能源成为一个关注的问题二、hadoop生态在云计算这一块,hadoop算做的比较不错,hadoop平台的基本框图和生态系统如下所示:说明:1、MapReduce:是一个并行化计算框架,提供了map和reduce两阶段的并行处理模型和过程,mapreduce以键值对的数据输入方式来处理数据,并能自动完成数据的划分和调度管理;2、分布式文件系统(HDFS):基于物理上分布在各个数据存储节点的本地Linux系统的文件系统,为上次提供一个逻辑上成为整体的大规模数据存储系统;3、分布式数据库管理系统(HBASE):克服了难以管理结构化/半结构化海量数据的缺点,提供了一个大规模分布式的,建立在HDFS之上的分布式数据库管理系统,Hbase提供了基于行,列和时间戳的三维数据管理模型;4、公共服务模块(Common):为hadoop提供支撑服务和常用的工具类库以及api编程接口,服务包括:抽象文件系统fileSystem、远程过程调用(RPC),系统配置工具以及序列化机制;5、数据序列化(Avro):用于将数据结构和数据对象转变成数据存储和网络传输的格式;6、分布式协调服务(Zookeeper):主要用户提供分布式应用经常需要的系统可靠性维护,数据状态同步、统一命名服务,分布式应用配置等管理功能;7、分布式数据仓库处理工具(Hive):用于管理存在HDFS和hbase中的结构化/半结构化的数据。
云计算的关键技术及应用

云计算的关键技术及应用
一、云计算的关键技术
1、虚拟化技术
虚拟化技术是云计算的基础技术,是把计算机硬件中的一些部件(系统、网络、存储、数据库等)抽象出来,在一台物理服务器上创建多个虚拟计算机,从而实现资源共享和动态调度,有效提高资源使用率。
虚拟化技术可以把一台物理服务器的所有资源动态地调配到多个可视化的虚拟系统中,从而可以给用户在同一台服务器上拥有多个独立的计算环境,实现计算、存储资源的多用户共享。
2、云存储技术
云存储技术是指将数据存储到若干台服务器上,可以通过网络进行访问,从而满足大规模的数据存储和分布式计算的需求。
云存储技术可以让用户不用考虑服务器的容量和性能等因素,只需上传要存储的数据,即可实现多种类型的数据存储,并且提供文件和数据共享和访问服务。
3、元数据管理技术
元数据管理技术是指对云计算系统中的虚拟化资源进行管理的技术,由元数据来描述虚拟化资源。
元数据管理技术可以更好地让用户管理云计算系统的虚拟机,虚拟网络,虚拟存储等,以满足用户安全管理需求,并且可以带来更好的投资回报。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2《高性能计算发展与应用》 2009年第一期 总第二十六期云计算及其关键技术●邓倩妮 上海交通大学计算机系 上海 200040 ●陈 全 上海交通大学计算机系 上海 200040 摘要:论文对新兴的计算模型——云计算进行了简要的介绍。
论文给出了云计算的定义,介绍了云计算的发展背景和应用场景,分析了云计算和网格计算以及传统超级计算的区别, 总结了云计算的关键技术:存储技术、数据管理技术以及编程模型。
关键词:云计算; 数据存储; 数据管理; 编程模型1. 云计算产生背景及定义1.1 云计算的定义云计算(Cloud Computing)是一种新近提出的计算模式。
维基百科给云计算下的定义:云计算将IT相关的能力以服务的方式提供给用户,允许用户在不了解提供服务的技术、没有相关知识以及设备操作能力的情况下,通过Internet获取需要服务[1]。
中国云计算网将云定义为:云计算是分布式计算(Distributed Computing)、并行计算(Parallel Computing)和网格计算(Grid Computing)的发展,或者说是这些科学概念的商业实现[2]。
Forrester Research 的分析师 James Staten 定义云为:“云计算是一个具备高度扩展性和管理性并能够胜任终端用户应用软件计算基础架构的系统池”。
虽然目前云计算没有统一的定义,结合上述定义,可以总结出云计算的一些本质特征,即分布式计算和存储特性,高扩展性,用户友好性,良好的管理性。
云计算技术具有以下特点:(1) 云计算系统提供的是服务。
服务的实现机制对用户透明,用户无需了解云计算的具体机制,就可以获得需要的服务。
(2) 用冗余方式提供可靠性。
云计算系统由大量商用计算机组成机群向用户提供数据处理服务。
随着计算机数量的增加,系统出现错误的概率大大增加。
在没有专用的硬件可靠性部件的支持下,采用软件的方式,即数据冗余和分布式存储来保证数据的可靠性。
(3) 高可用性。
通过集成海量存储和高性能的计算能力,云能提供一定满意度的服务质量。
云计算系统可以自动检测失效节点,并将失效节点排除,不影响系统的正常运行。
(4) 高层次的编程模型。
云计算系统提供高级别的编程模型。
用户通过简单学习,就可以编写自己的云计算程序,在“云”系统上执行,满足自己的需求。
现在云计算系统主要采用Map-Reduce模型。
(5) 经济性。
组建一个采用大量的商业机组成的机群相对于同样性能的超级计算机花费的资金要少很多。
1.2 云计算的应用场景云计算有着广泛的应用前景。
如表1所示:表1 云计算的应用领域领域应用场景科研地震监测海洋信息监控天文信息计算处理医学DNA信息分析海量病历存储分析医疗影像处理网络安全病毒库存储垃圾邮件屏蔽图形和图像处理动画素材存储分析高仿真动画制作海量图片检索互联网Email服务在线实时翻译网络检索服务云计算在天文学[7]、医学等各个领域有着广泛的应用前景。
3综合评论趋势科技和瑞星等安全厂商纷纷提出了“安全云”计划。
如今,每天有2万多种新的病毒和木马产生,传统的通过更新用户病毒库的防毒模式,受到了严峻的挑战,用户端的病毒库将过于庞大。
趋势科技和瑞星的“安全云”将病毒资料库放在“云”端,与客户端通过网络相连,当“云”在网络上发现不安全链接时,可以直接形成判断,阻止其进入用户机器,从根本上保护机器的安全。
据趋势科技大中华区执行总裁张伟钦介绍,趋势科技已投入了大量资金,在全球数个地方建设了新型数据中心。
同时,趋势科技还花费了1000多万美元,租借了34000多台服务器,构建了一个服务遍及全球的“安全云”。
目前趋势科技已将公司中低端的部分产品线放到“云安全”计划中,而高端的大部分产品线,仍在准备过程中。
谷歌提供的Gmail、Google Earth、Google Analytics等服务都基于其云计算服务器运行[8]。
谷歌基于云计算提供的翻译服务具有现今最好的性能[9]。
对互联网和美国人生活的一项研究显示,大约70%的在线用户使用以上“云计算”服务。
1.3 云计算的发展目前,亚马逊,微软,谷歌,IBM,Intel等公司纷纷提出了“云计划”。
例如亚马逊的AWS (Amazon Web Services)[3]、IBM和谷歌联合进行的“蓝云”计划等。
这对云计算的商业价值给予了巨大的肯定。
同时学术界也纷纷对云计算进行深层次的研究。
例如谷歌同华盛顿大学以及清华大学合作,启动云计算学术合作计划(Academic Cloud Computing Initiative),推动云计算的普及,加紧对云计算的研究。
美国卡耐基梅陇大学等提出对数据密集型的超级计算(DISC:Data Intensive SuperComputing)进行研究,本质上也是对云计算相关技术开展研究。
IDC的调查显示,未来五年云计算服务将急速增长,预期2012年市场规模可达420亿美元。
目前企业导入云计算已逐渐普及,并且有逐年成长趋势。
估计在2012年,企业投入在云计算服务的支出将占整体IT成本的25%,甚至在2013年提高至IT总支出的三分之一。
由此可见,在各大公司以及学术界的共同推动下,云计算技术将会持续发展。
1.4 云计算与其他超级计算的区别1.4.1 云计算与网格计算的区别Ian Foster 将网格定义为:支持在动态变化的分布式虚拟组织(Virtual Organizations)间共享资源,协同解决问题的系统[4]。
所谓虚拟组织就是一些个人、组织或资源的动态组合。
图1“云”系统的结构图2 网格的结构图1和图2分别为云及网格的结构示意图。
图1 显示,云计算是一种生产者—消费者模型,云计算系统采用以太网等快速网络将若干机群连接在一起,用户通过因特网获取云计算系统提供的各种数据处理服务。
图2显示,网格系统是一种资源共享模型,资源提供者亦可以成为资源消费者,网格侧重研究的是如何将分散的资源组合成动态虚拟组织。
云计算和网格计算的一个重要区别在于资源调度模式。
云计算采用机群来存储和管理数据资源,运行的任务以数据为中心。
即调度计算任务到数据存储节点运行。
而网格计算,则以计算为中心。
计算资源和存储资源分布在因特网的各个角落,不强调任务所需的计算和存储资源同处一地。
由于网络带宽的限制,网格计算中的数据传输时间占总运行时间的很大一部分。
1.4.2 云计算系统与传统超级计算机的区别超级计算机拥有强大的处理能力,特别是计算能力。
2008年11月17日,最新一期的Top500[6]榜单发布。
冠军“RoadRunner”是IBM为美国 Los Alamos 国家实验室建造的计算机系统。
它的运算速度达到了4《高性能计算发展与应用》 2009年第一期 总第二十六期1.026 Petaflop/s。
RoadRuner超级计算机包含12960个IBM PowerXcell 8i处理器以及6948个分布于刀片服务器上的AMD Opteron芯片刀片服务器安装在288个IBM BladCener机架上。
RoadRuner拥有80TB的内存,外存使用1.5PB容量的Panasas存储,外存通过10Gb/秒以太网进行连接。
耗资超过1亿美元。
TOP500对超级计算机的排名方式可以看出,传统的超级计算机注重运算速度和任务的吞吐率。
以运算速度为核心进行计算机的研究和开发。
而云计算则以数据为中心,同时兼顾系统的运算速度。
传统的超级计算机耗资巨大,远超云计算系统。
例如,趋势科技花费1000多万美元租用34000多台服务器,构建自身的“安全云”系统。
1.5 云计算的关键技术云计算是一种新型的超级计算方式,以数据为中心,是一种数据密集型的超级计算[10]。
在数据存储、数据管理、编程模式等方面具有自身独特的技术。
1.5.1 数据存储技术为保证高可用、高可靠和经济性,云计算采用分布式存储的方式来存储数据,采用冗余存储的方式来保证存储数据的可靠性,即为同一份数据存储多个副本。
另外,云计算系统需要同时满足大量用户的需求,并行地为大量用户提供服务。
因此,云计算的数据存储技术必须具有高吞吐率和高传输率的特点。
云计算的数据存储技术主要有谷歌的非开源的GFS(Google File System)[11]和 Hadoop 开发团队开发的GFS的开源实现HDFS(Hadoop Distributed FileSystem)[12][13]。
大部分IT厂商,包括yahoo、Intel的“云”计划采用的都是HDFS的数据存储技术。
未来的发展将集中在超大规模的数据存储、数据加密和安全性保证、以及继续提高I/O速率等方面。
1.5.2 数据管理技术云计算系统对大数据集进行处理、分析向用户提供高效的服务。
因此,数据管理技术必须能够高效的管理大数据集。
其次,如何在规模巨大的数据中找到特定的数据,也是云计算数据管理技术所必须解决的问题。
云计算的特点是对海量的数据存储、读取后进行大量的分析,数据的读操作频率远大于数据的更新频率,云中的数据管理是一种读优化的数据管理。
因此,云系统的数据管理往往采用数据库领域中列存储的数据管理模式。
将表按列划分后存储。
云计算的数据管理技术最著名的是谷歌的BigTable[14]数据管理技术,同时Hadoop开发团队正在开发类似BigTable的开源数据管理模块。
由于采用列存储的方式管理数据,如何提高数据的更新速率以及进一步提高随机读速率是未来的数据管理技术必须解决的问题。
1.5.3 编程模式为了使用户能更轻松的享受云计算带来的服务,让用户能利用该编程模型编写简单的程序来实现特定的目的,云计算上的编程模型必须十分简单。
必须保证后台复杂的并行执行和任务调度向用户和编程人员透明。
云计算采用类似MAP-Reduce[15]的编程模式。
现在所有IT厂商提出的“云”计划中采用的编程模型,都是基于MAP-Reduce的思想开发的编程工具。
MAP-Reduce不仅仅是一种编程模型,同时也是一种高效的任务调度模型。
Map-Reduce这种编程模型并不仅适用于云计算,在多核和多处理器、cell processor、以及异构机群上同样有良好的性能[16,17,18]。
该编程模式仅适用于编写任务内部松耦合、能够高度并行化的程序。
如何改进该编程模式,使程序员得能够轻松的编写紧耦合的程序,运行时能高效的调度和执行任务,是Map-Reduce编程模型未来的发展方向。
2. 数据存储技术为了满足云计算的分布式存储方式、同时保证数据可靠性和高吞吐率以及高传输率的需求。
目前各IT厂商多采用GFS或HDFS的数据存储技术。
以GFS为例。
GFS是一个管理大型分布式数据密集型计算的可扩展的分布式文件系统。
它使用廉价的商用硬件搭建系统并向大量用户提供容错的高性能的服务。