当前位置:
首页 > 互联网+ > 大数据 > 云计算解密:技术原理及应用实践pdf/doc/txt格式电子书下载

云计算解密:技术原理及应用实践pdf/doc/txt格式电子书下载

本站仅展示书籍部分内容

如有任何咨询

请加微信10090337咨询

云计算解密:技术原理及应用实践pdf/doc/txt格式电子书下载

书名:云计算解密:技术原理及应用实践pdf/doc/txt格式电子书下载

推荐语:

作者:徐保民著

出版社:电子工业出版社

出版时间:2014-06-01

书籍编号:30467796

ISBN:9787121229985

正文语种:中文

字数:206954

版次:1

所属分类:互联网+-大数据

全书内容:

云计算解密:技术原理及应用实践pdf/doc/txt格式电子书下载






前 言


云计算是一种通过互联网提供弹性计算和虚拟资源服务的分布式计算模式。作为分布式计算领域的最新发展,云计算已经成为IT界关注的重点。在云计算发展过程中,支持计算密集型应用的Google/Hadoop技术和云安全技术深刻地影响着云计算的应用和研究。其中,伴随着云计算的快速发展,越来越多的云用户将数据托管到云端。但云计算所具有的诸如虚拟化、可伸缩等特性使得传统的安全技术无法完全保证用户托管到云端的数据的安全。因此,云计算为信息安全领域带来了新的挑战,也为IT系统引入了新的风险。


本书全面、系统地介绍了Google/Hadoop云计算框架的基本概念、实现原理及其若干关键技术,并结合作者所在研究小组的研究成果,阐述了采用云计算解决实际问题的方法。全书包括10章和3个附录。


第一部分理论篇(第1~4章),着重介绍并行计算编程模型(Google公司的MapReduce 和Apache的MapReduce)、分布式文件系统(HDFS和GFS)、分布式数据存储系统(HBase 和BigTable)等云计算核心组件的内部实现细节。


第二部分技术篇(第5~7章),主要讲解Hadoop MapReduce中的一些高级特性和未来发展趋势,包括云数据中心的节能技术、作业调度机制和Hadoop MapReduce框架的性能优化。


第三部分实践篇(第8~10章),重点阐述采用MapReduce框架实现PageRank算法的方法、云计算在DNA序列拼接中的应用及对图计算框架Hama的性能进行评价的方法。


另外,本书最后给出了3个附录:附录A重点介绍云仿真器CloudSim的体系结构、部分核心类、软件安装及仿真步骤等内容,附录B介绍实施Hama性能评价的实验开发环境搭建,附录C主要对Hadoop的分布式运行模式的环境搭建进行阐述。


本书是作者所在研究小组多年研究工作的总结,由徐保民主笔。在此,特别感谢曾经参加与云计算研究有关的所有人员,主要包括:马红颜、齐伟、甘兴龙、赵春燕、云希姚、高勋、胡恩召、高进、张海园、延娜、王云峰、黄鹏、谢其扬、辛霆麟、罗干、宏亮、何颖、兑璐、戴昕、牛品菽。此外,还要特别感谢美国中佛罗里达大学的Dan C. Marinescu教授、波兰科学院系统研究所的Marcin Paprzycki教授以及国内诸多同行和朋友们长期的大力支持和帮助。


本书的出版得到电子工业出版社董亚峰和北京交通大学计算机与信息技术学院的大力支持,在此一并表示深深的谢意。


由于云计算技术比较前沿,云计算领域发展比较快,加之作者水平所限,难免会存在很多不足和错误,恳请各位读者不吝赐教。作者的电子邮箱为xubaomin@gmail.com。


作者


2014年1月

理论篇


自2007年年末以来,云计算已成为一个很热门的关键词。据调查显示,很多人都对“云计算”这个名词有所耳闻,也知道云计算是IT新技术,但对“云计算到底是什么?云计算与分布式计算的关系是什么?奠定云计算理论基石的Google三大核心技术(MapReduce、GFS、BigTable)的实现机制是什么?开源云计算平台Hadoop的实现机制是什么?”等问题并不完全了解。


本篇将针对上述问题逐一展开讨论,以便帮助读者从理论角度来认识和熟悉云计算。

第1章 绪论


近年来,一种新的分布式计算模式——云计算受到了工业界和学术界的广泛关注。被视为IT界第三次革命的云计算将带来工作方式和商业模式的根本性改变。本章首先对分布式计算进行概述,然后重点就云计算的产生背景、云计算的发展历程、云计算的一些关键技术,以及若干典型云计算平台等内容进行阐述,目的是帮助读者对分布式计算,特别是对云计算形成一个初步认识。


1.1 计算模式演化


计算模式是指计算机完成任务的一种运行、输入/输出以及使用的方式。在计算技术领域,随着微处理器技术和计算机网络技术的不断发展,计算模式经过了集中式计算模式、桌面计算模式和分布式计算模式的变迁[1]


1.1.1 集中式计算模式


自1946年2月14日标志着第一台电子计算机诞生的ENIAC(Electronic Numerical Integrator and Computer,电子数字积分计算机)[2]在美国费城公诸于世,到20世纪70年代初,计算机设备不仅庞大、昂贵,而且异常复杂。没有经过特殊培训的人员几乎无法直接使用计算机。因此,当时只有为数不多的机构才有能力购置数量有限的计算机。这些计算机通常都是单独放在特别的房间里,并由专业人员来操作和维护。


为了节约成本,当时的计算机系统大都以一台主机为核心,用户通过终端设备与主机相连。在主机操作系统的管理下共享主机的硬件资源,包括中央处理器、内存/外存、输入/输出设备等。所有的数据存储和计算都在主机上进行,终端设备只负责接收用户的请求和计算结果的显示任务。这就是集中式计算模式。


集中式计算模式的主要特点是可同时为多用户服务。主要缺点是:


① 主机负担过重,所有的计算、存储都集中在主机上,一旦主机出故障,整个系统将瘫痪;


② 扩充不易,当用户数量不断增加时,必须更换主机,否则服务质量就要受到影响;


③ 系统的购置、安装、维护费用较高,不易普及。


1.1.2 桌面计算模式


随着大规模集成电路技术的发展,计算机的小型化成为可能。在20世纪70年代,少数科研机构开始配置供个人使用的微型计算机。但是,个人计算时代真正开始的标志是IBM(International Business Machines Corporation,国际商业机器公司)在1981年正式推出的全球首台个人计算机IBM PC(Personal Computer,个人计算机)[3]。为了推动个人计算机的产业化发展,IBM公司在1982年公开了IBM PC的主要技术。自此,个人计算机得以迅速发展,并由此走入寻常百姓家。


由于许多PC和工作站已经具备了过去大型计算机的能力,可以存储大量的数据且能进行相对复杂的计算,而价格却非常便宜。因此计算模式的主流从以一台主机为核心转移到以用户桌面为核心的桌面计算模式,也称单机计算模式或个人计算模式。


1.1.3 分布式计算模式


到了20世纪90年代,伴随着个人计算机的蓬勃发展和局域网技术的成熟,使得用户通过计算机网络共享计算机资源成为可能。计算机网络的发展促使桌面计算模式迅速向分布式计算方向转移。当时,这种新出现的模式被称为C/S(Client/Server,客户-服务器)模式[4]。其中,客户机(Client)是一种单用户工作站,它提供与业务应用有关的表现、计算、连网和各类接口服务;服务器(Server)是一种共享型的多用户处理机,它提供业务所需的计算、连网、数据库管理和各类接口服务。总之,C/S计算模式把应用程序所要完成的任务分派到客户机和服务器上,并通过它们之间的协调共同完成。


尤其是Internet技术的发展和迅速普及,使得计算机之间的通信和互连超越了地域的限制,改变了人们传统的获取、交换和处理信息的方式。而万维网(World Wide Web,WWW)和浏览器[5]的出现使得互联网从科研机构走向了大众。自20世纪90年代中期开始,一种全新计算模式即B/S(Browser/Server,浏览器/服务器)模式[6]逐渐形成和发展起来。在这种模式下,用户工作界面是通过浏览器来实现的,极少部分事务逻辑在前端(Browser)实现,主要事务逻辑都在服务器端实现。B/S模式简化了客户端的要求,主要计算工作都在服务器端完成,计算又一次开始向服务器端集中。


总之,伴随着高速网络的不断涌现和计算资源的网络化,拥有个人计算机或工作站的广大用户,迫切需要共享分布于网络上丰富的资源,特别是计算资源。这就使得基于网络的分布式计算(Distributed Computing)模式逐步成为主流的计算模式。


由于分布式计算有着巨大的计算潜力、良好的可扩展性和灵活的体系结构,所以分布式计算对于解决大型和小型的科学计算问题都是一种非常合适的模式[7]


1.2 分布式计算


分布式计算是指通过网络把成千上万台计算机连接起来,组成一台虚拟的超级计算机(Super Computer)[1]。它借助不同计算技术来完成以前只有在高性能计算机(High Performance Computer,HPC)上才能完成的超大规模问题的求解工作。随着计算技术的发展和进步,分布式计算先后演变出网格计算(Grid Computing)、对等计算(Peer-to-Peer,P2P)、效用计算(Utility Computing)、云计算(Cloud Computing)等特点各异的分布式计算技术。


1.2.1 分布式计算概述


分布式计算的最早形态出现在20世纪80年代末的Intel公司(Intel Corporation,成立于1968年的全球最大的半导体芯片制造商之一)。Intel公司利用他们的工作站的空闲时间为芯片设计计算数据集。随着Internet的迅速发展和普及,分布式计算的研究在20世纪90年代后期达到了高潮。


伴随着当代社会科技的高速发展,目前许多研究领域都需要进行大量的计算。比如天文学家通过大量科学计算分析宇宙演变和星体运动,生物学家使用计算机解密人类基因密码,医学家通过计算机分析病毒结构等。其中不乏一些计算量庞大的项目,虽然可以用大型计算机来承担计算任务,但是,大型计算机造价昂贵,维护成本高,普通的科研组织很难承担。如果只用一台普通计算机,其完成计算任务的时间可能会让人无法接受。随着科技不断进步,一种廉价的、高效的、维护方便的计算模式即分布式计算应运而生。


从学术角度讲,分布式计算是一门计算机科学,它研究如何将计算非常复杂的巨大任务划分为若干个计算量较小的任务,然后把小任务分配给许多计算机进行处理,最后把这些中间结果整合到一起形成最终结果。其中,“分布”主要指数据分布和计算分布。数据分布是指数据可分散存储在网络中的不同计算机中,计算分布是指把操作计算分散给不同的计算机进行处理。“计算”,也称计算科学或科学计算,是一个与数学模型构建、定量分析方法以及利用计算机来分析和解决科学问题相关的研究领域。在实际应用中,计算科学主要用于对各个科学学科中的问题,进行计算机模拟和其他形式的计算。


分布式计算是一种与集群计算(Cluster Computing)、并行计算(Parallel Computing,并行计算一般是指许多指令得以同时进行的计算模式,在同时进行的前提下,可以将计算过程分解成若干子过程,之后以并发方式来加以完成,并行计算可分为时间上的并行和空间上的并行,时间上的并行是指流水线技术,空间上的并行是指用多个处理器并发地执行计算,任何高性能计算都离不开并行计算技术)等相近的技术,但相比传统的并行计算,它要求处理的任务相互独立,即使上一个任务的结果出现错误,也不会影响下一个任务的处理,同时对最终结果的影响不大。因此,分布式计算重点关注系统可靠性、可扩展性、可用性、大吞吐量及并行处理等,这也是分布式计算技术发展的主要推动力量。


研究分布式计算技术的最终目的是建立分布式系统,对分布式系统及其体系结构的理解决定着分布式计算技术的追求。在分布式计算概念刚兴起时,全球范围内出现了上百种的分布式系统,这些系统大多相互隔离、自成体系。随着分布式计算技术日益成熟,一些大公司提出了自己的一套分布式系统,逐渐扭转了多种分布式系统相互独立的不利局面。例如比较有影响的分布式文件系统有擅长处理大数据的Google的GFS(Google File System)[8]、Apache的HDFS(Hadoop Distributed File System)[9]等,专门针对大规模图数据进行处理的Google的Pregel[10]、Apache的Hama[11]等。


目前,分布式计算技术的应用范围十分广泛,从金融、保险、政府部门到电信、公共设施,乃至媒体娱乐等无处不在。例如,总部设在新西兰首都惠灵顿的维塔数字(Weta Digital)公司为了制

....

本站仅展示书籍部分内容

如有任何咨询

请加微信10090337咨询

本站仅展示书籍部分内容
如有任何咨询

请加微信10090337咨询

再显示