资讯详情

云计算与大数据技术 第一章

1.什么是云计算?

云计算概述

云计算(CloudComputing)基于互联网相关服务的增加、使用和交付模式,通常涉及通过互联网提供动态、易于扩展和虚拟化的资源,并行计算(Parallel Computing)、分布式计算(DistributedComputing)和网格计算(GridComputing)整合与发展,也是虚拟化(Virtualization),效用计算(UtilityComputing),面向服务架构(SOA)商业实现的结果等于概念混合演变。本章将介绍云计算和云计算的发展背景和特点、云计算的基础设施、掌握云计算的商业模式和云计算的主要服务模式。

1.1.云计算的定义

1)维基百科全书:云计算是一种通过计算机网络向用户提供虚拟资源的动态扩展计算模式;云计算通常包括基础设施即服务(Infrastructure as a Service,Iaas),平台即服务(Platform asaService,PaaS),软件即服务(Software as a Service, Saas), 2)Google:在云中放置所有的计算和应用程序,终端设备不需要通过互联网安装任何软件来共享程序和服务。 3)微软:云计算是云计算 终端计算分散计算资源,部分资源放在云上,部分资源放在用户终端,部分资源放在合作伙伴处,用户最终选择合理的计算资源。 4)互联网数据中心(International Data Corporation,IDC):云计算是一种新型IT通过互联网实时提供产品、服务和解决方案的技术开发、部署和发布模式。 5)美国国家标准与技术实验室(National Institute of Standards and Tecknology, NIST):云计算是通过互联网无处不在、方便、可定制的IT资源(IT共享池,包括网络、服务器、存储、应用软件和服务),是一种按使用量支付的模式。计算资源的快速供应和释放可以通过最少的管理或与服务供应商的互动来实现。这是现阶段广泛接受的云计算定义。 在美国联邦云计算战略报告中,定义了四种云。 ●公共云;为公众和公共群体提供云计算服务。Amazon云平台,Google AppEngine等等。公共云有很多优点,但最大的缺点是很难保证数据的隐私。 .私有云:为行业/组织提供云计算服务。如政府机关、企事业单位、学校等内部云平台。私有云可以更好地解决数据隐私问题。对于对数据隐私要求特别高的行业或组织来说,建设私有云将是不可避免的选择,例如WindowAzure是私有云平台管理和服务软件。 ·社区云:为社区组织用户提供云计算平台。例如,美国航天局(National Aeronautics and Space Administration,NASA)的Nebula云平台为NASA研究人员提供快速IT访问服务。 ●混合云:包括上述两种以上云计算类型的混合云平台。

1.1.云计算概念模型

1)用户的公共程序。云计算面向各种用户,包括企业、政府部门、学术机构、个人等,以及应用软件、中间件平台等用户。中间软件是一种独立的系统软件或服务程序,公布式应用程序可以帮助该软件在不同的技术之间共享资源。中间计算机资源和网络通信的操作系统上,管理计算机资源和网络通信,是连接两个独立应用程序或独立系统的软件, 2)设备的多样性。云计签用于提供服务的设备是益样,包括服务器、工机、存储设备和各种类型的最终设备。比如计算机,智能手机,各种智能钱传感器,RFID(Radio Fropuancy Identification,射频识别。它是一种通信技术。在识别系统与特定目格之间建立机械或光学接触)设备等,可以通过无线电信识别特定目标并读写相关数据, 3)商业模式的服务。云计算的服务特点现在有两个方面;简化和标准化的服务碰撞,根据商业核心类型的计费。 4)提供方式最活跃。云计算院可以作为提供社会服务的公共设施,但也可以作为企业信息化的集中计算平台,即私有云。 1.1.3 云计算的特点 与传统计算机息统相比,云计算具有以下特点。 1)具有大规模并行计算能力。基于云的强大而虚拟的计算能力。为传统的计算系统或用户终端提供无法完成的计算服务。云计算系统的计算资源包括: CPU企业私有云拥有数百台服务器,包括运算资源、存储资源、网络带宽等,有的甚至数百万台服务器。 2)资源虚拟比(virtualination)云计算系统的资源池包括存储、处理器和内存。网络带宽等资源。它们为小程度应用提供计算资源,实现资源共享。此外,云计算系统的模型可以动态伸缩,满足不同的应用和用户需求。同时,云计算系统中不同的物理机和虚拟机资源可以根据零家庭需求分配。零户获得的资源可能来自北京或上海的云计算资源。虚拟化技术也是云计算的核心技术之一,包括网络语言虚拟化、存储虚拟化、服务器虚拟化、操作系统虚拟化、应用虚拟比等。 3)数据面积大,增长速度快。因为在云计算环境中。人们不仅是信息的用户,也是信息的创造者。导数互联网上的信息量增加了。因此,如何利用这些数字加快和更好地服务人们已成为当前的研究热点,并生成典型的大数据处理技术,如Hpdoop,Spark Storm等等,这些技术离不开云计算。 云计算还有一些其他特点:高可靠性、云计算应用数据盘副本容错、计算结点同构可互换等措施来证明高可靠性;通用性,但同一云可以支持不同的应用程序运行;成本效益高,云计算价格相对较低,使用户使用更多"实患”。

1.2典型的云计算基础设施结构 Google其实云计算技术是针对的Google最重要的搜索应用而开发的。针对内部网络数据规模超大的特点,Google基于分布式并行集群基础设施提出了一整套, Google廉价的数据中心使用LinuxPC机组组成集群,利用软件处理集群中经常出现的结点故障,从而形成Google的云计算基础架构。 Google云计算基础设施包括三个相互独立、紧密结合的系统:GFS分布式文件系统Google提出了应用程序的特点Mapkeduce编程模型和大规模分布式数据库 BigTable, Google云计算架构

MapReduce API式数据库 BigTable分布

GFS分布式文件系统 1)GFS是建立在集群之上的分布式文件系统,Google为了满足其快速增长的数据处理需求,特别优化了文件系统,解决了大型文件访问、阅读操作比例远远超过写作操作和集群中的结点故障,导致结点故障(GFS默认将超大文件分成64份MB分布在集群机上的块,使用Linux存储文件系统,同时,每个文件至少有3个宽余,以解决结点故障问题)。 2)MapReduce是分布式并行编程模型。Google构造MapReduce用户只需要提供自己的并行编程模型来简化分布式系统的编程Map画数以及Reduce函数可以在集群上进行大规模的分布式并行数据处理。Mpp(映射)是输入Inut分解成中间keyNalueu值对,Reduce(化简)把key/Valus合成最终输出的键值Output。这两个函数由开发者提供给系统,Map和Reduce操作分布在集群上,结果存在GFS上。 3)BigTable由于分布式大规模数据库管理系统,Google应用程序需要处理大量的半错构化数据,Google构建了弱一致性要求的大规模数据库系统BigTable。它稀疏、分布式、持久、参维排序KeyValue以形式存储的数据模型键值。BigTable无关系数据库,就像它的字一样,是一个用于存储半结构化数据的巨大表格。 以上是Google除这三个部分外,内部云计算架构的三个主要部分,Google还建立了其他云计算组件,包括领域描述语言、分布式程序调度器、分布式定服务Chubby机制等。 Google云计算的核心技术构成。采用数据处理MapReduce并行编程模式;大文件存储采用GFS;采用大规模数据库管理系统BigTable;采用云计算服务Google AapEngine。广为流行的Hadoop是对Google的MapReduce,GFS和BigTable实现等核心技术的开源Apache支持软件基金会。

1.3云计算的主要服务模式

从用户体验来看,云计算模式:基础设施即服务(Iwfrastructure as a Service,laps).平台即服务(Platform as a Sarvics,Paas),软件即服务(Softwnre as a service. Saps)。Saps比软件服务更重要。软件程序服务通过网络提供;PoaS刚重于平台服务,通过服务平台或开发环夜提供服务;Ioas例如,消费者可以通过互联网从完善的计算机基础设施中获得服务,而不是硬件资源服务和计算资源共享。

1.3.1 服务是基础设施laaS laaS为IT行业创意计算和数据中心使计算机基础设施,如计算机单元、存储器、1/0设备、带宽等。集中起来,它还没有成为一个虚拟资源池来为整个网络提供服务。IaaS提供计算资源和基础设施服务,接近计算资源和基础设施服务。 IaaS典型代表是Amazon云计算服务(Amazon web Service,AwS):AWS平台 它提供了两个典型的云计算平台:弹性计算云EC2(ElusticCorputing Cloud)简单的存健服务S3(Simple Storaye Service),EC完成计等功能,用户可以部署自己的系统软件,完成应用软件的开发和发布。S完成存储计算功能,S3的基本密口是桶,桶是存储文件的容器。S完成存储计算功能,S3的基本密口是桶,桶是存储文件的容器。S3给每个桶和桶中每个文件分配一个URI因此,用户可以通过地址HTTP或者HTTPS协议访问文件。收费服务包括存储服务器、带宽、CPU资源及月租金。月费类似于电话月租,存储服务器,带宽接收容量费,CPU按时长(小时)计算收费。 lanS关键技术和解决方案是虚拟化技术,将查台服务器的应用集成到服务器上的多个虚拟机上。 每个服务器都有相应的操作息统和应用程序, 为了充分利用服务器,将多台服务器上的应用整后到一台服务器上的参个虚拟机上运行 利国率大幅提高, 计算虚拟化提高了服务器资源的利用率,安全可靠地降低了数据中心的总成本TCO(Totpl Cost of Oenarskip).

隔离是虚拟化技术的另一个主要功能。例如,虚拟机崩溃或故障(如操作系统故障、应用程序前清、驱动程序故障等),不会影响同一服务器上的其他虚拟机。病毒、蠕虫等。在虚拟机中与其他虚拟机隔离,就像每个虚拟机都位于单独的物理机器上一样。虚拟化技术还可以控制资源,提供性能隔离,为每台虚拟机指定最小和最大的资源使用量,以确保虚拟机不会占用所有资源,使其相同系统中的其他虚拟机无资源可用。 虚拟化技术的第三个重要法能是封装。封装意味看将整个虚拟机(硬件配置。8105配置,内存状器,碰盘状态,1/0设备状态。CPU状态)存健在独立于物理硬件的一小组文件中,复制和移动虚拟机就像复制和移动文件一样简单。

1.3.2 平台即服务PaaS PaaS是批应用服务的运行和开发环境作为一种服务提供的商业模式。即PaaS为开发人员提供了构建应用程序的环境,开发人员无候过主考虑底成硬件,可以方便地使用很多在构建应用时的必象服务。 Google hep Engine(应用引擎)提供了一种PaaS类型的云计算服务平台。专为故件开发肃制定。GoaglekppEnging是由Pythan应用服务器群,BiTable数据床访问及GFS教操存付服务组成的平台,它能为开发者提供一体化的。提供主机服务器及可自动升级的在线应用服务。用户编写应用程序,Gooyle提供应用运行及维护所需象的一切平台资源。  Google ArpEngine这种服务让开发人员可以编译基于Python的应用程序。并可免费使用Goosle的基础设选来进行托管(最高办情空间达5000B)。 Goagle ap Engine和imaron的S3.EL2及Simglebe不同,因为后者直接提供的是一系列硬件资源供用户选择使用。 Paas的类键技术有两个。一个是分布式的并行计算,另一个是大文件分布式存储,自布式并行计算技术是为了充行利用广泛部署的普通计算资源实现大规模运算和应用的目的,实现真正将传统运算转化为并行计算,为客户提供并行服务。大文件分布式存储是为了解决海量数据存储在廉价的不可信结点集群帮构上数据安全性及运行性的保证.

1.3.3软件即服务SaaS SaaS是一种基于亚联网提供软件服务的应用模式,即提供各种应用软件服务。用户只需接使用时间和使用规模付卖,不需安装相应的应用软件,打开浏览器却可运行,并且不需要额外的服务器硬件,实现软件【应用服务)按需定制。在 SaaS是一种随着互联网技术的发展和应用软件的成熟,在21世纪开始实赶的软网应用模式。Saas服务模式商传统的销整软件办么许可证的方式有很大的不同,它采用软件租货的形式,这种糕式也是未来管理软件的发展趋势。 SaaS的关键技术是主租户技术。云计算要求硬件资源和款件资源能够更好地共享,要具有良好的伸馆性。任何一个闻户都解够按股自己的需求进行零户化配置而不影响其他用户的使用,查租户技术就是云计算环境中能够满足上述需求的关键技术,

1.3.4三种服务模式之间的关系 它们之间的关系主要可以从以下两个角度进行合析。 1.从用户体验角度分析 从用户体验角度而言,它们之间关系是独立的,因为它们面对的是不同类型的用户。SaaS主要面对的是普通用户,对普通用户而言。在任何时候或者任何地点,只要连接上互联网,通过测览器就能直接使用在云端上运行的应用,而不需要顾虑软件安装等项事,并且可以无去和期高昂的软硬件投入。Paas主要的用户是开发人员,为了支撑着整个Paas平台的运行,供应商需要提供回大功能:友好的开发环境,丰富的服务,自动的资源调度,精细的管理和监控。laas主要的用户是具有专业知识的系统管理员。Iaas供应商需学在7个方面对基础设施进行管理以结用户提供资源,它们是资源抽象、资源监控,负载管理,数据管理,资源部署、安全管理和计费管理。 2.从技术角度后析 云计算的服务层次是根据服务类型来划分的,与大家熟悉的计算机网络体系结构中层次的划分不同。从技术角度而言,它们有一定的继承关系,即Saas基于Paas,Paas基于Iaas,但并不是简单的继承关系。因为Saas可以是基于Paas或者直撞部署于laas之上,Paas可以构建于Iaas之上,也可以直精构建在物理资源之上。也就是说某一层次可以单独究成一项用户的请求而不需要其他屈次为其提供必要的服务和支持。云计算系统按资源封装的层次合为对底层硬件资源不同级别的封装,从而实现将资源转度为服务的目的。

云计算的主要部署模式 云计算的主要部署模式有:公有云,私有云,混合 I)公有云:面向互联网大众的云计算服务。公有云的受众是整个互联网环境下的所有人,只要注册缴纳一定的费用任何人都可以使用其提供的云计算服务。用户不需要自己构建硬件,软件等基础设施和后期维护,可以在任何地方,任何时间,多种方式,以互联网的形式访问获取资源 。 2)私有云:面向企业内部的云计算平台。使用私有云提供的云计算服务需要一定的权限,一般只提供给企业内部员工使用。其主要目的是合理地组织企业已有的软硬件资源,提供更加可靠、弹性的服务供企业内部使用。 3)混合云:混合了私有云和公有云,吸纳二者的优点,给企业带来真正竞义上的云计算服务。一般像银行这样的单位,其内部的私有云系统在用户访问高峰期的时候很难满足要求,此时就可以接入到公有云中应对更多的用户请求。混合云是云计算发展的方向。混合云既能有效利用企业投入巨大的IT基础设施,又能解决公有云带来的数据安全等问题,是避免企业变成信息孤鸟的最佳解决方案。混合云强调基础设施是由两种或多种云组成的,但对外呈现的是一个完整的整体。企业正常运营时,把重要数据保存在自己的私有云里面(如财务数据),把不重要的信息或需要对公众开放的信息放到公有云里,两种云组合形成一个整体,这就是混合云。 4)联合云:联合多个云计算服务提供商的云基础设施,向用户提供更加可靠,优惠的云服务,主要针对公有云平台,如部署在云平台上的CDN(内容分发网络)服务,系统存储的数据内容在地理上是分散的,用户也是分布在世界各地。

云计算与大数据技术 第二章

2.1 大数据技术的产生 计算机和信息技术的迅猛发展和各行业大规模的普及应用,行业应用系统的规模迅速扩大,其所产生的数据呈指数型的增长。动标达到数百TB级喜至数十至数百PB强规模的大数据已这这超出了传统的计等技术和信息息统的处理能力,从而促进了大数据技术的产生及快速发展。 2.1.1大数据的基本概念 维基百科时大数据的解释:大数据(BigData),又称为巨量资料,指的是传统数据处理应用软件不足以处理它们的。大或夏杂的数据集。大数据也可以定义为来自各种来源的大量非体构化和特构化数据。大数据通常包会的数据量超出了传统软件在人们可接受的时间内进行处理的能力。 知度百科对大数据的解释:大数据是损无法在一定时间内用常规软件工具对其内容进行抓取,管理和处理的数操集合。大数据技术是指从各种各样类型的数播中,快速获得有价值信息的能力。这用于大数据的技术。包括了大规模并行处理(MPP, Massively Porallel Procassing)数据库,数操控程、分布式文件系统,分布式数裤库,云计算平台、亚联网,及可扩展的存健系统。 百度百科对大数据的解释:大数据损无法在一定时间范围内用常规软件工具进行捕提,管理和处理的数据集后,是完要新处理模或才能具有更强的决策力。洞察发现力和流程优化能力的海量,高增长率和益样化的信息资产。 简而言之。大数据是现有数据库管理工具和传统散据处理应用方法根难处理的大型,夏杂的数据集,大数据技术的范睛包括大数据的采集、存健、搜索,共享、借输,合析和可杭北等.

2.1.2云计算与大数据的关系 云计算与大数据是一对相辅相成的概念,它们描述了面向数据时代信息技术的两个方面,云计算侧重于提供资源和应用的网络化交付方法,大数据侧重于应对巨大的数据量所带来的技术挑战。 云计算的核心是业务模式,其本质是数据处理技术。数据是资产,云计算为数据资产提供了存储,访问的场所和计算能力,即云计算更偏重大数据的存储和计算,以及提供云计算服务,运行云应用。但是云计算缺乏盘活数据资产的能力,从数据中挖掘价值和对数据进行预测性分析,为国家治理,企业决策乃至个人生活提供服务,这是大数据的核心作用。云计算是基础设施架构,大数据是思想方法,大数据技术将帮助人们从大体量、高度复杂的数据中分析。挖掘信息,从而发现价值和预测趋势。

2.2大数据的4V特征 大数据从结构化数据向半结构化数据和非结构化数据演进,为了确保数据可用性,就要分析大数据的数据特点。数据量大,数据产生速度快,数据类型复杂,价值密度低4个特点就是大数据的显著特征, l)规模性(Volume):大数据需要采集,处理、传输的数据量大;处理PB级的数据是比较常态的情况。企业内部的经营交易信息,网络世界中的商品,物流信息,人与人的交互信息、位置信息等都是大数据的主要来源。 2)多样性(Variety):大数据的种类多,复杂性高;大数据有不同格式,有结构化的关系型数据,有半结构化的网页数据,还有非结构化的视频音频数据。而且非结构化数据。这些非结构化数据广泛存在于社交网络,物联网,电子商务之中,其增长速度比结构化数据快数十倍。 3)高速性(Velocity):大数据需要频繁地采集,处理并输出;因为数据会存在时效性,需要快速处理并得到结果。如一些电商数据,如果当天的信息不处理,就将会影响到很多需要立即做出的商业决策。要达到立竿见影而非事后见效,实现实时获取需要的信息,1秒是临界点,即对于很多实时大数据应用而言,数据必须要在1秒钟内进行处理,否则处理结果就是过时和无效的。 4)价值密度低(Value):大数据不经过相应的处理则价值较低。挖掘大数据的价 例,一个一小时的监控视频数据,可能有用的数据只有一两秒。如何通过强大的算法更迅速地完成数据的价值“提纯”是目前大数据技术研究的重要课题。

2.3 大数据的主要应用及行业推动力量 大数据研究的主要目标是以有效的信息技术手段和计算方法,获取,处理和分析各种行业的大数据,发现和提取数据的深度价值,为行业提供高附加值的应用和服务。 2.3.1大数据的主要应用

1)互联网企业可以应用大数据技术,通过监控并分析每日产生的几百GB的网络广告用户点击数据,了解哪些用户在哪些时段点击广告,从而判断广告投放是否有价值,并及时进行调整, 2)智能电网可通过大数据技术对用户的用电数据进行监测,智能电表每隔几分钟就将这些数据采集并发送到后端集群中,之后集群就会对这数亿条数据进行分析,得出用户大概的用电模式,根据用电模式来调节电力生产,这样就能够有效避免电力资源的浪费。 3)车联网应用大数据技术。车载终端每隔几分钟都会上传一些路况数据到后端数据集群里,后台会分析这些数据来判断大致路况是什么情况,之后将有价值的路况信息推送到客户端,能够帮助客户节省在路上的时间, 4)医疗大数据,在医疗行业,每个人看病都有病例,如果把全国几千万病例都汇总起来之后进行数据分析和数据处理,就会从中找出一些模式和规律,通过这些模式和规律可以非常有助于医生对各种疾病的诊治。

2.3.2企业推动大数据行业发展 Google。Google提供给用户的所有的软件都是在线的。用户在使用这些产品的同时,个人的行为,喜好等信息也提供给了Google,Google通过大数据技术对这些数据进行分析,可以更加准确地理解用户需求。因此,Google的产品线越丰富,其对用户的理解就越深入,其广告投放也越精准,广告的价值就越高。Google通过提供给用户好用的,免费的软件产品,换取对用户的理解,再通过精准的广告投放获取收益,这样的商业模式颠覆了微软卖软件版权赚钱的模式,使Google成为互联网时代的巨擘。 2)IBM。IBM大数据提供的服务包括: .数据分析,文本分析 .业务事件处理; .IBM Mashup Center的计量,监测; 商业化服务(MMMS,Multimedia Mail Messaging)。 IBM的大数据产品组合中的系列产品InfoSphere bigInsights基于Apache Hadoop专门用于大数据分析,其中被称为bigsheet的软件,其目的是帮助客户从大量的数据中轻松、简单,直观地提取,批注相关信息,为金融,风险管理,媒体和娱乐等行业量身定做行业解决方案。 3)微软。微软的大数据产品理念是:“基于标准化的产品,让所有人在任何时间任何地点都可以利用数据,并做出更好的决策。”如何利用技术和工具让所有人能够从大数据中获得洞察,这是微软认为最重要的事情。为此,微软发布了大数据解决方案的三大战略,即大掌控,大智汇,大洞察。与其他公司处理大数据的方式不同,他软主张从发现数据,分析数据和对数据进行可视化的处理这三种方式来思考大数据的使用。 4)Oracle.Oracle的大数据布局主要分为两方面: ●从后端Hadoop,NoSQL到前端数据展现,提供网站的端到端的大数据解决方案; ●传统技能与新技术进行结合,利用BigDataSQL来提供SQL-on-Hadoop工具。 5)EMC。EMC是美国纽交所和Nasdaq的大数据技术服务提供商,EMC的大数据解决方案已包括40多个产品。 6)阿里巴巴。阿里巴巴拥有海量的交易数据和信用数据,其在大数据技术方面的工作主要是搭建数据的流通,收集和分享的底层架构。 7)华为。华为整合了高性能的计算和存储能力,为大数据的挖掘和分析提供稳定的IT基础设施平台。

2.4大数据的关键技术 对大数据的处理主要包括:数据生成(包叫数据采生数据获取),数据存储,数据处理和数据应用(也叫数据后析与挖掘)。为了完成这四项任务,需要计算机从硬件到软件的支持,每屈完成不同的功能,也就需要相应的技术支持。 1.大数据预处理技术 大数据预处理技术包括以下几个方面 1)数据采集:ETL(Extract-Tronsform-Load)是利用某种装置(比如摄像关,麦克风),从系统外部采集数据并输入到系统内部的一个接口。在互联网行业快速发展的今天,数据采集已经被广泛应用于互联网及分布式领域。 2)数据存取:关系数据库,NoSQL,SQL等, 3)基础架构支持:云存储,分布式文件系统等,4)计算结果展现:云计算,标签云,关系图答。 2.大数据存储技术 数据存储技术在应用过程中主要使用的对象是临时文件在加工过程中形成的一种数据流,通过基本信息的查找,依照等种格式,将数据记录和存储在计算机外部存储介质和内部存储介质上。数据存储技术需要根据相关信息特证进行命名,将流动数据在系统中以数据流的形式反映出来,同步呈现静态数据特征和动态数据特征。大数据存健技术同时应满足以下三点要求:存储基础设施应能持久和可靠地存储数据;提供可伸缩的访问接口供用户查询和分析海量数据;对于结构化数据和非结构化的海量数据要能够提供高效的查询、统计,更新等操作。 3.大数据分析技术 大数据结构复杂。数据构成中更盘的是非结构化数据,单纯靠数据库BI对结构化数据进行分析已经不太适用,所以需要技术的创新,这就产生了大数据分析技术。 1)数据处理:自然语言处理技术;委媒体内容识别技术;图文转换技术;地理信息技术等。 2)统计和分析:A/B test;topN排行榜;地域占比;文本情感分析技术;语义分析技术等。 3)数据挖掘:关联规则分析;分类;聚类等。 4)模型预测:预测模型:机器学习;建模仿真;模式识别技术等。 4.大数据计算技术 目前采集到的大数据857以上是非结构化和半结构化数据,传统的关系数据库无法胜任这些数据的处理。如何高效处理非结构化和半结构化数据,是大数据计算技术的核心要点。如何能够在不同的数据类型中,进行交叉计算,是大数据计算技术要解决的另一核心问疑。 大数据计算技术可分为批处理计算和流处理计算,批处理计算主要操作大容量,静态的数据集,并在计算过程完成后返回结果,适用于需要计算全部数据后才能完成的计算工作;流处理计算会对随时进入的数据进行计算,流处理计算无须对整个数据集执行操作,而是对通过传输的每个数据项执行操作,处理结果立刻可用,并会随着新数据的抵达继续更新结果。

2.5典型的大数据计算架构

目前,典型的大数据计算架构有Hadoop、Spark和Storme Hadoop是Apache软件基金会旗下的一个开源计算框架,Hadoop的优势在于处理大规模分布式数据的能力,所有要处理的数据都要求在本地,即Hadoop的数据处理工作在硬盘层面,任务的处理是高延迟的,也就是说Hadoop在实时性数据处理上不占优势。Hadoop是最基础的分布式计算架构。 Spark是基于内存的大数据计算框架,提高了在大数据环境下数据处理的实时性同时保证了高容错性和高伸缩性,Spark处理数据是准实时的,先收集一段时间的数据再进行统一处理。 Storm是基于拓扑的流数据实时计算框架,即完全实时,来一条数据处理一条数据。不同的机制决定了Spark和Storm适用场景的不同,如股票交易时,股价的变化不是按秒计算的而是以毫秒计算,Spark实时计算延迟度是秒级,无法用于此类场景,而 Storm的实时计算延迟度是毫秒级,所以适用于股票高频交易的场景。 以上三个典型的大数据计算架构将在本书后续内容中进行深入介绍。

云计算与大数据技术 第三章

3.1.1虚拟化技术的概念

在计算机科学领域中,虚拟化技术意味着对计算机资源的抽养。虚拟化是指通过虚拟化技术将一台计算机虚拟为多台逻辑计算机。在一台计算机上同时运行多个逻辑计算机,每个逻辑计算机可运行不同的操作系统,并且应用程序都可以在相互独立的空间内运行而互不影响,从而显著提高计算机的工作效率。也就是说,虚拟化技术是模拟真正的(或者称物理的)计算机资源,例如CPU,内存、存储,网络等用户可见的物理的硬件资源。用户通过虚拟化技术在使用这些资源时,除了不能物理接触以外,其他都与使用物理计算机没有任何区别。 虚拟化技术可以实现大容量,高员载或者高流量设备的多用户共享,每个用户可以分配到一部分独立的、相互不受影响的资源。每个用户使用的资源是虚拟的,相互之间都是独立的,虽然这些数据有可能存放在同在一台物理设备中。以虚拟硬盘来说,用户使用的是由虚拟化技术提供的虚拟硬盘,而这些虚拟硬盘对于用户来说就是真实可用的硬盘,这些虚拟硬盘在物理存储上可能就是两个不同的文件,但用户只能访问自己的硬盘,不能访问别人的硬盘,所以他的各自的数据是安全的,是相互不受影响的。甚至各个用户使用的网络接口都是不一样的,所使用的网络资源也是不一样的,使用的操作系统也不一样, 使用虚拟化技术可以将很盘零散的资源集中到一处,而使用的用户则感觉这些资源是一个整体。 使用虚拟化技术可以动态维护资源的分配,动态扩展或减少某个用户所使用的资源。用户如果产生了一个需求 .

3.1.2虚拟化的分类

虚拟化是一个抽象的概念,针对不同的行业,不同的需求,可以有不同的解决方案。现在最流行的虚拟化技术包括服务器虚拟化,网络虚拟化,存储虚拟化,操作系统虚拟化等。

虚拟化技术可以同时模拟出多个不同的硬件系统,而操作系统则安装在虚拟出来的硬件系统之上,操作系统与应用程序将不再独占整个硬件资源,从而实现了多个操作系统可同时运行的效果。

1.网络虚拟化 网络虚拟化将网络资源进行整合,简单来说,就是将硬件与软件的网络设备资源,以及网络功能整合为一个统一的,基于软件可管理的虚拟网络。网络虚拟化是一种包含至少部分是虚拟网络连接的计算机网络。虚拟网络连接是指,在多个计算设备间不包含物理连接,而是通过网络虚拟化来实现的网络连择。有两种常见的虚拟网络:基于协议(如VXLAN,VLAN,VPN和VPLS等)的虚拟网络和基于虚拟设备(如在 Hypervisor内部的网络连接虚拟机)的虚拟网络。网络虚拟化经常应用到大型的服务器中,如云计算服务紧,当前在网络虚拟化中比较成熟的整体方案则是软件定义网络(Software Defined Network,SDN)与网络功能虚拟化(Network Function Virtualization, NFV)等, SDN起源于园区网,成熟于数据中心,关注于网络控制面和转发面的分离,处理的是OSI模型中的2-3层,SDN优化网络基础设施架构,如以太网交换机,路由器和无线网络等;NFV始于大型运营商,关注网络转发功能的虚拟化和通用化,处理的是OSI模型中的4-7层,NFV优化网络的功能,如员载均衡,防火墙,WAN网优化控制器等, 2.存储虚拟化 存健虚拟化,即整合所有存储资源为一个存储池,对外提供逻辑存储接口,用户通过逻辑接口进行数据的读写,不论有多少个硬件存健设备,对外看到的只有一个。存储虚拟化最通俗的理解就是对存储硬件资源进行抽象化表现,通过将一个或多个日标(Target)服务或功能与其他附加的功能集成,统一提供全面的功能服务。 对于用户来说,虚拟化的存储资源就像是一个巨大的“存储池”,用户不会看到具体的磁盘,不知道有多少砥盘,也不必关心自己的数据具体存储在哪一块碰盘中, 经过存储虚拟化后,用户看到的就是一块硬盘,而与硬盘的交互也只需要与这一块硬盘进行交互即可,至于用户最终的数据存放到哪里。则由存储虚拟化管理程序决定。 存储虚拟化的实现主震有两种方式:块虚拟化(Block Virtualization)和文件虚拟化(File Virtualization),块虚拟化通过存储区域网络(Storage Area Network,SAN)将运程的硬盘块挂载到本地,如Internet小型计算机系统接口(Internet Small Computer System Interface,isCSI)。然后再通过逻辑卷管理(Logical Volume Manager,LVM)的方式将这些硬盘块组合到一起成为一个新的硬盘。文件虚拟化是通过SAN将远程的文件系统路经挂载到本地,如NFS与SMB(Samba文件服务器),在本地看到的则是指定路径下的文件,而并非一个硬盘块。

3.服务器虚拟化 服务器虚拟化有时也称为平台虚拟化,是将服务器物理资源抽象成逻辑资源,让 一台服务器变成几台甚至上百台相互隔离的虚拟服务器,用户不再受限于物理上的界限,实现CPU、内存、砥盘,1/0等硬件变成可以动态管理的“资源池”,从而提高资源的利用率,简化系统管理,实现服务器整合,让IT对业务的变化更具运应力。 服务器虚拟化实际上是将操作系统和应用程序打包成虚拟机(virtual Machine, VM),从而让操作系统和应用具备良好的移动性。虚拟机是指通过软件模拟的具有完整硬件系统功能的,运行在一个完全隔离环境中的完整计算机系统。在虚拟机里运行的操作系统称为客户机操作系统(GuestOS),而管理这些虚拟机的平台称为虚拟机监视器(virtual Machine Monitor,VVM),也称为Hypervisor。运行虚拟机监视器VMM的操作系统被称为主机操作系统(HostOS)。VMM是虚拟机技术的核心,它是一层位于操作系统和计算机硬件之间的代码,用来将硬件平台分割成多个虚拟机,VMM不仅可以管理虚拟机运行状态,还可以对虚拟机进行定制,如CPU数量、内存大小等。

●裸金属架构:Bare-Metal Architecture;虚拟化层直接运行在硬件上,即裸机上这种架构也称为裸金属框架。Hypervisor直接安装到裸机上,运行效率可以提高很多。用户通过控制台或者网页对虚拟化层进行管理。对于用户来说,每个用户都会感觉到自己在一台独立的、与其他用户相隔离的计算机上进行操作,尽管事实上为每个用户提供服务的都是同一台机器。在此种情况下,一台虚拟机就是由一个潜在的控制程序管理的操作系统。如VMware ESX,Xen等。 ●寄居架构:Hosted Architecture,虚拟化层运行在一个操作系统(Host OS)中。虚拟机需要以应用程序的方式安装到操作系统中,并以应用程序的方式运行,即它是一个应用程序,在操作系统中可以看得到应用程序所运行的进程情况;虚拟机的运行依赖主机当前的物理资源以及对虚拟化支持的情况,并且运行效率低于裸金属架构。 正常来说,应该还有一种类型,兼容了这两种类型的特性,如KVM(Kernel-based Virtual Machine)虚拟机。但目前是将KVM归类到了寄居架构。 从服务器的个数及虚拟应用角度来看,服务器虚拟化还可以分为另外一种方式:“一虚多”,“多虚一”和“多虚多”。“一虚多”是一台服务器虚拟成多台服务器,即将一台物理服务器分割成多个相互独立、互不干扰的虚拟环境。“多虚一”就是每个独立的物理服务器虚拟为一个逻辑服务器,使多台服务器相互协作,处理同一个业务。另外还有“多虚多”的概念,就是将多台物理服务器虚拟成一台逻辑服务器,然后再将其划分为多个虚拟环境,即多个业务在多台虚拟服务器上运行。 从虚拟化的程度来看,服务器虚拟化还可分为:全虚拟化,半虚拟化和硬件辅助虚拟化。 ●全虚拟化(Full Virtualization);是指虚拟机模拟了完整的底层硬件,包括处理器、物理内存,网卡,显示器等,即完整地模拟了一台真实的计算机硬件设备。这样在虚拟机设备中运行的操作系统不需要做任何修改就可以正常运行,就像是在真实的物理环境中一样。 ●半虚拟化(Para-Virtualiation);半虚拟化的出现是由于全虚拟化在执行有些权限操作时由于执行时间造长,不能满足需求而出现的。为了减少客户机的执行时间,半虚拟化的方式允许客户机在执行某些耗时的指今时,直接运行在真实的宿主机中,或者真实的硬件上,这样可以提高执行效率,减少指令的执行时间,为了实现半虚拟化,需要对客户机操作系统进行一些修改,使得零户机在真正运行时可以通过VMM提供的半虚拟化API,使得指令直接运行在真实的硬件上,或宿主机中。

●硬件辅助虚拟化(Hardware-assisted Virtualization);这是为CPU提供的功能。专门用于提高虚拟机运行的效率,使得虚拟可以再快速的执行特权指令,减少过多的上下文切换与模拟。常见的硬件辅助虚拟化技术有Intel-VT,AMD-V等。它们提供特定的指今,而VMM则可以利用这些特定的指今提高虚拟机运行的效率。现如今,在X86系列平台中,有很多虚拟化技术都用到了这 辅助功能,如KVM,VMware及Xen等都用到了这些特殊指今。 4.操作系统虚拟化 操作系统虚拟化是指在同一操作系统上,同时运行单个或者多个独立的用户,他们都有自己的运行空间。每个用户都只能运行自己权限范围内的应用,每个用户都相互不受影响。每个用户可以通过远程桌面访问自己的资源,但共享同一个操作系统。操作系统虚拟化示意图如图3-5所示。典型代表有:Docker,Windows Server 2008, Ubuntu Server等,   

5.服务虚拟化 服务虚拟化是一种虚拟的应用,它与硬件无关,为软件实现。服务虚拟化对终端用户来说是隐藏的,简单来说就是通过虚拟化提供相应的服务,如防火墙(Firewall)、负载均衡(LoadBalance)、数据库,数据存储等。如防火墙服务虚拟化为FWaaS(Firewall as a Service)服务,负载均衡虚拟化为LBaaS(Load Balance as a Service)服务。 6.桌面虚拟化 桌面虚拟化是指将计算机的终端系统(也称为桌面)进行虚拟化,以达到桌面使用的安全性和灵活性。可以通过多种设备,如PC,平板电脑以及手机,在任何地点。任何时间通造网络访问个人的桌面系统, 用户在同一个物理设备上可以同时访问多个不同的桌面系统,这些桌面系统的操作系统可以是相同的,也可以是不同的。而服务器将用户的桌面独立出来,每个用户都有自己的用户空间,相互不影响。独立出来的桌面与相应的应用软件相配合则可以实现用户在远程访问桌面,常见的使用方式是用户远程连接或者使用瘦客户机(Thin Client)对虚拟桌面进行访问与使用。 7.应用虚拟化 应用虚拟化是指同一个应用可以在不同的CPU体系架构,不同的操作系统上正常地运行。应用虚拟化也是一种软件技术,它是一种与底层操作系统无关的封装。应用虚拟化可以实现在不同的操作系统,不同的CPU架构中,应用程序只写一套代码即可处处可运行。如VM(JavaVirtualMachine)支持Java代码,使用Iava实现的应用程序只需要在系统中搭建好JVM环境则可以正常运行。同样的,还有其他很多软件也支持这类应用虚拟化,如Python:Wine等(也是一种应用虚拟化,在Linux平台中比较常见。如果想要在Linux平台上运行Windows应用程序,如果不安装虚拟机,则可以安装一套Wine环境,然后就可以直接运行Windows应用程序)。 8.用户体验虚拟化 用户体验虚拟化,有时也称用户虚拟化(User Virtualization),是指在不同的设备中,如笔记本,平板电脑或手机,用户所看到的内容或者界面都 一样的,在其中一台设备中的修改,在另一台设备上看到的配置或修改结果是一致的。用户的相关信息与应用的配置都会被同步到相应的用户设备中。

3.1.3 虚拟化技术的优势和劣势 1.虚拟化技术的优势 虚拟化技术的优势主要体现在以下几个方面。 (1)减少物理资源的投入,节约成本 当用户需要不同的操作系统或更多的计算机设备资源时,直接通过VMM添加几个不同的操作系统即可,不再需要使用时可直接关闭或者删除相应的资源。 (2)虚拟数据资源迁移方便 可以很方便地将虚拟数据资源(一般为虚拟机生成的数据)迁移到其他数据中心,而虚拟数据资源不受影响。 如果涉及数据的迁移或者设备损坏,则无须迁移物理设备,只要将VMM生成的数据备份到其他数据中心,然后再通过VMM管理起来就可以了,而以前的数据与服务不会受到任何影响。 (3)提高物理资源的使用率 传统的服务器主机的CPU平均使用率都在10%以内,根本就没有使CPU的使用达到一个理想的状态,这是根大的资源浪费。使用虚拟化技术,可以使多台服务器部署到同一台物理设备上,这样可以提高这台物理设备的使用率,显著减少成本开销。 (4)更加环保,节省能源 通过应用虚拟化技术,可以减少物理硬件的投入,从而降低物理硬件所使用的电能以及占地空间,从而更加的环保, (5)易于自动化维护与操作,减少维护成本 虚拟化技术通过软件的方式来模拟物理设备,只要是软件的方式实现的虚拟资源,就可以通过相应的接口进行自动地维护与管理,可以提高工作效率,减少维护成本。 (6)数据安全更有保障 每个虚拟化出来的设备在物理设备中都会有相应的文件产生,管理员只需要对数据进行相应的备份,并定期管理,就可以保证这些数据的安全。如果出现了不可抗拒的情况,如自然灾害等情况,毁坏了物理设备,则管理员只需要将已经备份的数据恢夏到新的设备中即可恢夏用户的数据。如果架构得当,甚至都不会中断用户工作就可以将系统进行更新与替换。 2.虚拟化技术的劣势 1)目前业界没有统一的虚拟化技术标准与平台,没有开放的协议。市场上有很多不同的虚拟化技术提供商,如Microsoft:VMware:Xen等。它们所使用的虚拟化技术的运行效果并不一样,相互并不兼容。 2)如果没有对数据进行备份,应用虚拟化技术会存在一定的风险。虚拟化技术虽然可以实现数据备份,但它毕竟还是建立在真实的硬件系统之上的,如果将多个应用与服务器放到同一台物理设备上之后,如果该物理设备出现问题,并且没有冗余的物理设备作为备份,则所有应用与服务都将无法使用。 3)虚拟数据中心的迁移,特别是对在线服务的进移,对用户影响巨大。因为它的数据量大,应用程序繁多,结构复杂,一旦迁移,有可能会造成很多不可预知的影响。

术应用(掌阅) ...  (3)提高物理资源 率 传统的服务器主机的CPU平均使用率都在10%以内,根本就没有使CPU的使用达到 3.1.4虚拟化技术与云计算 虚拟化技术是云计算的重要支撑技术。云计算是基于互联网的相关服务的增加。使用和交付模式,在云计算中,通过互联网提供动态,易扩展的虚拟化资源。通过虚拟化技术,可以将应用程序和数据在不同层次以不同的方式展现给用户,为云计算的使用者和开发者提供便利。 虚拟化的主要功能是把单个资源抽象成每个给用户使用,而云计算则是帮助不同部门(通过私有云)或公司(通过公共云)访问一个自动置备的资源池,借助虚拟化技术,用户能以单个物理硬件系统为基础创建多个模拟环境或专用资源。云计算是由多种规则和方法组合而成,可以跨任何网络向用户按需提供计算,网络和存储基础架构资源、服务,平台及应用,这些基础架构资源,服务和应用来源于云。简单来讲,云就是一系列自动化软件进行管理的虚拟资源池,旨在帮助用户通过支持自动扩展和动态资源分配的自助服务,按需对这些资源进行访问。 云计算提供服务,虚拟化技术是云计算的技术支持。在云计算的部署方案中,虚拟化技术可以使其IT资源应用更加灵活。而在虚拟化技术的应用过程中,云计算也提供了按需所取的资源和服务。在一些特定场景中,云计算和虚拟化技术无法剥离,只有相互搭配才能更好地解决客户需求。通过虚拟化技术,云计算把计算、存储,应用和服务都变成了可以动态配置和扩展的资源,从而才能够实现在逻辑上以单一整体的服务形式呈现给用户。因此,虚拟化技术是云计算中极其重要,最为核心的技术原动 力。

3.2.1虚拟机技术原理 虚拟机(VirtualMachine,VM)是指通过软件模拟的具有完整硬件系统功能的,运行在一个完全隔离环境中的完整计算机系统。简单地说,虚拟机就是通过软件在宿主机上虚拟出一台计算机。虚拟机技术是一种资源管理技术,是将计算机的各种实体资源,如服务器,网络,内存及存储等,予以抽象,转换后呈现出来,打破实体结构间的不可切割的障碍,使用户可以比原本的组态更好的方式来应用这些资源。这些资源的新虚拟部分是不受现有资源的架设方式,地域或物理组态所限制,一般所指的虚拟化资源包括计算能力和数据存储。在实际的生产环境中,虚拟机技术主要用来解决云数据中心和高性能的物理硬件产能过剩和老的旧的硬件产能过低的重组重用,透明化底层物理硬件,从而最大化地利用物理硬件。即将盘个操作系统整合到一台高性能服务器上,最大化利用硬件平台的所有资源,用更少的投入实现更多的应用,还可以简化IT架构,降低管理资源的难度,避免IT架构的非必要扩张。而且虚拟机的真正硬件无关性还可以实现虚拟机运行时迁移,实现真正的不间断运行,从而最大化保持业务的持续性,不用为购买超高可用性平台而付出高昂的代价。 虚拟机技术实现了一台计算机同时运行盘个操作系统,而且每个操作系统中都有盘个程序运行,每个操作系统都运行在一个虚拟的CPU或虚拟主机上。虚拟机技术需要 CPU,主板芯片组:BIOS和软件的支持,如VMM软件或者某些操作系统本身。 虚拟机技术的核心是虚拟机监视器VMM(Virtual Machine Monitor),VMM也称为 Hypervisor。VMM的作用是向底层分配访问宿主机的硬件资源,向上管理虚拟机的操作系统和应用程序。它是一个宿主程序,该程序是一层位于操作系统和计算机硬件之间的代码,用来将硬件平台分割成每个虚拟机,实现一台计算机支持多个完全相同的执行环境,每个用户都会感觉到自己在一台独立的,与其他用户相隔离的计算机上进行措作,尽管事实上为每个用户提供服务的都是同一台机器。在此种情况下,一台虚拟机就是由一个潜在的控制程序管理的操作系统,VMM为每个客户操作系统虚拟一秦独立于实际硬件的虚拟硬件环境(包括处理器,内存、1/0设备等)。VMM采用某种调度算法在各个虚拟机之间共享CPU,如采用时间片轮转调度算法。 虚拟机系统与实际的计算机操作系统没有区别,也会感染病毒,但是由于虚拟机是封闭的虚拟环境,如果虚拟机不与宿主机连接,则不会受宿主机病毒的影响。

3.2.2 CPU虚拟化原理   从CPU设计原理上来说,CPU主要包会三大部分:运算器,控制器以及处理器寄存器,每种CPU都有自己的指令集架构(InstructionSet Architecture,ISA),CPU所执行的每条指令都是根据ISA提供的相应的指合标准进行的。ISA主要包会两种指今集:用户报今集(UserISA)和系统指合集(System1SA)。用户指今集一般指普通的运算指今,系统指今集一般指系统资源的处理指今。不同的指今需要有不同的权限,指今需要在与其相对应的权限才能体现指今执行效果。在X86的体系框架中,CPU指合权限一般分为4种, 一般被驱动程序所使用。想要从普通模式(权限为3)进入权限模式(权限为0)需要有以下三种情况之一发生: ●异步的硬件中断,如磁盘读写等。 ●系统调用,如int,call等。 ●异常,如page fault等。 从上面内容可以看出,要实现CPU虚拟化,主要是要解决系统ISA的权限问题。普通的ISA不需要模拟,只需保护CPU运行状态,使得每个虚拟机之间的状态分隔即可。而需要权限的ISA则需要进行捕获与模拟。因此要实现CPU的虚拟化,就需要解决以下几个问题 ●所有对虚拟机系统ISA的访问都要被VMM以软件的方式所模拟。即所有在虚拟机上所产生的摸今都需要被VMM所模拟。 ●所有虚拟机的系统状态都必须通过VMM保存到内存中。 ●所有的系统指令在VMM处都有相对应的函数或者模块来对其进行模拟。 ●CPU指令的捕获与模拟,是解决CPU权限问题的关键 。

CPU在正常执行指令时,如果是普通指令,不需要进行模拟,直接执行;而如果遇到需要权限的指今时,则会被VMM捕获到,并且控制权会转交到VMM中,由VMM确定执行这些需要权限的指令;VMM在模拟指令时,会产生与此指令相关的一系列指令集,并执行这些指令;在VMM执行完成后,控制权再交回给客户操作系统。

为了提高虚拟化的效率与执行速度,VMM实现了二进制转换器BT(Binary Translator)与翻译缓存TC(Translation Cache)。BT负责指令的转换,TC用来储存翻译过后的指令。BT在进行指令转换一般有以下几种转换形式。 1)对于普通指令,直接将普通指今拷贝到TC中。这种方式称为“识别(ldent)"转换。 2)对某些需要权限的指今,通过一些指今替换的方式进行转换,这种方式称为“内联(Inline)”转换, 3)对其他需要权限的指今,需要通过模拟器进行模拟,并将模拟后的结果转交给 VM才能达到虚拟化的效果。这种方式称为“呼出”(Call-out)转换。 因为指令需要进行模拟,所以有些操作所消耗的时间比较长,在全虚拟化的情况下,它的执行效果会比较低下,因此,才出现了半虚拟化与硬件辅助虚拟化两种另外的虚拟化技术,用于提高虚拟机运行的效率。 3.2.3内存虚拟化原理 除去CPU的虚拟化以外,另一个关键的虚拟化技术是内存虚拟化。内存虚拟化是让每个虚拟机可以共享物理内存,VMM可以动态分配与管理这些物理内存,保证每个虚拥机都有自己独立的内存运行空间。虚拟机的内存虚拟化与操作系统中的虚拟内存管理有点类似。在操作系统中,应用程序所“看”到,用到的内存地址空间与这些地址在物理内存中是否连续是没有联系的。因为操作系统通过页表保存了虚拟地址与物理地让的映射关系,在应用程序请求内存空间时,CPU会通过内存管理单元(Memor Management Unit,MMU)与转换检测缓冲器(Translation Lookaside Buffer,TLB)自动地将请求的虚拟地址转换为与之相对应的物理地址。目前,所有X86体系的CPU都包含有MMU与TLB,用于提高虚拟地址与物理地址的映射效率。所以内存虚拟化也要将MMU与TLB在虚拟化的过程中一起解决。多个虚拟机运行在同一台物理设备上,真实物理内存只有一个,同时又需要使每个虚拟机独立运行,因此,需要VMM提供虚拟化的物理地址,即添加另外一层物理虚拟地址 。 ●虚拟地址:客户虚拟机应用程序所使用的地址, ●物理地址:由VMM提供的物理地让。 ●机器地址:真实的物理内存地址。 ●映射关系:包含两部分,客户机中的虚拟地址到VMM物理地址的映射;VMM物理地址到机器地址的映射。 3.2.4 网络虚拟化原理 网络虚拟化提供了以软件的方式实现的虚拟网络设备,虚拟化平台通过这些虚拟网络设备可以实现与其他网络设备进行通信。而通信的对象可以是真实的物理网络设备,也可以是虚拟的网络设备。所以,网络虚拟化是要实现设备与设备之间的与物理连接没有关系的虚拟化连接。因此,网络虚拟化最主要解决的问题有两个,网络设备与虚拟连接。虚拟化的网络设备可以是单个网络接口,也可以是虚拟的交换机以及虚拟的路由器等。在同一个局域网内,任何两个不同的虚拟设备都可以实现网络的连接;如果不是在同一个网内,则需要借助到网络协议才能实现网络的正常连接与通信 。 以VLAN为例简单说明网络虚拟化的连接与通信。VLAN将网络结点按需划分成若干个逻辑工作组,每一个逻辑工作组就对应一个虚拟网络,每一个虚拟网络就像是一个局域网,不同的虚拟网络之间相互独立,无法连接与通信。如果需要通信,则需要路由设备的协助,转发报文才能正常通信,由于这些分组都是逻辑的,所以这些设备不受物理位置的限制,只要网络交换设备支持即可。

3.3.1常见的虚拟化技术解决方案 OpenStack OpenStack是一个开源的云计算管理平台项目,OpenStack也是云计算技术,由几个主要的组件组合起来完成具体工作。OpenStack支持几乎所有类型的云环境,项目目标是提供实施简单、可大规模扩展、丰富、标准统一的云计算管理平台。OpenStack通过各种互补的服务提供了基础设施即服务(IaaS)的解决方案,每个服务提供API以进行集成。 OpenStack是一个旨在为公共及私有云的建设与管理提供软件的开源项目。它的社区拥有超过130家企业及1350位开发者,这些机构与个人都将OpenStack作为基础设施即服务(IaaS)资源的通用前端。OpenStack项目的首要任务是简化云的部署过程并为其带来良好的可扩展性。本文希望通过提供必要的指导信息,帮助大家利用OpenStack前端来设置及管理自己的公共云或私有云。 OpenStack云计算平台,帮助服务商和企业内部实现类似于 Amazon EC2 和 S3 的云基础架构服务(Infrastructure as a Service, IaaS)。OpenStack 包含两个主要模块:Nova 和 Swift,前者是 NASA 开发的虚拟服务器部署和业务计算模块;后者是 Rackspace开发的分布式云存储模块,两者可以一起用,也可以分开单独用。OpenStack除了有 Rackspace 和 NASA 的大力支持外,还有包括 Dell、Citrix、 Cisco、 Canonical等重量级公司的贡献和支持,发展速度非常快,有取代另一个业界领先开源云平台 Eucalyptus 的态势。 KVM KVM代表着键盘(Keyboard)、显示器(Video)和鼠标(Mouse),即利用一组键盘、显示器和鼠标实现对多台设备的控制,在远程调度监控方面发挥着重要作用。KVM技术可以向远程终端发送调度信息网中的各项数据资料,为下一级调度机构提供方便,这样即便下级调度机构没有建立调度数据网,也能够实现信息的共享。 多计算机切换器(KVM)以多主机切换技术为依据,借助一组键盘、鼠标和显示器完成多台服务器之间的切换,进而节省空间,降低成本,使得管理更为简易方便,以提升工作效率。该技术具有很多优点,应用十分广泛。首先,在整个机房管理中,改变了传统的一对一的控制方式,而采用了一对多的管理方式,有利于节省空间、提高工作效率;其次,主机系统的安全性能得到了很大提升,而且具备了长距离的传输能力,在与远程用户相连接时,安全性能得到良好的保证;在服务器较多的情况下,通过数字交换机与其他服务器相连,并能与远程相连,可同时对本地和远程进行控制。在一些大型系统的解决方案中,可使用具有模拟交换机矩阵功能的大型模块系统,能够满足终端用户同时对上百台甚至更多服务器的访问,进而实现从中心点通过KVM系统对各地的服务器进行有效控制。此外,该技术也可以在家庭中用,为普通用户提供了很多方便。 云计算与大数据技术应用 第四章

4.1数据中心的概念 数据中心,顾名思义就是数据的中心,是处理和存储海量数据的地方,英文全称为Data Center。用专业的名词解释,数据中心是全球协作的特定设备网络,用来在internet网络基础设施上传递、加速、展示、计算、存储数据信息。尽管数据中心听起来神秘高大上,但按照最简单直接的理解,数据中心实际上就是我们个人电脑的扩大版,你的家用电脑就是你个人的数据中心。一般来讲,数据中心主要有几大部分构成:机房(建筑物本身)、供配电系统、制冷系统、网络设备、服务器设备、存储设备等。那数据中心的这些构成模块相当于你家个人电脑的哪些东西呢?做个简单的类比,机房相当于你家的书房,供配电系统相当于你家的插座、电脑电源再加个笔记本的电池,制冷系统相当于你家的空调以及风扇,网络设备相当于你家的路由器以及运营商在你家安装的光猫等,服务器设备相当于你家的电脑主机,存储设备相当于你家的电脑里面的硬盘或者现在的外置存储。

4.1.1数据中心的定义,作用,及分类 数据中心的定义 数据中心是全球协作的特定设备网络,用来在因特网络基础设施上传递、加速、展示、计算、存储数据信息。数据中心大部分电子元件都是由低直流电源驱动运行的。 [1] 数据中心的产生致使人们的认识从定量、结构的世界进入到不确定和非结构的世界中,它将和交通、网络通讯一样逐渐成为现代社会基础设施的一部分,进而对很多产业都产生了积极影响。不过数据中心的发展不能仅凭经验,还要真正的结合实践,促使数据中心发挥真正的价值作用,促使社会的快速变革。 数据中心的作用 随着数据中心行业在全球的蓬勃发展,随着社会经济的快速增长,数据中心的发展建设将处于高速时期,再加上各地政府部门给予新兴产业的大力扶持,都为数据中心行业的发展带来了很大的优势。随着数据中心行业的大力发展,将来在很多城市中都会有很大的发展空间,一些大型的数据中心也会越来越多。2017年全球经历了前所未有的自然灾害之后,很多数据中心管理人员都在积极制定灾难恢复计划。例如就可以通过云计算工具对电力使用的功率进行限制,在遭遇停电时间时将允许以降低的功率继续运行,可以为电力企业的正常运行提供有效的保障。还可以利用数据中心指定备份计划,对服务器的操作进行拓展,就不需要通过关闭和重启服务器操作。 数据中心是与人力资源、自然资源一样重要的战略资源,在信息时代下的数据中心行业中,只有对数据进行大规模和灵活性的运用,才能更好的去理解数据,运用数据,才能促使我国数据中心行业快速高效发展,体现出国家发展的大智慧。海量数据的产生,也促使信息数据的收集与处理发生了重要的转变,企业也从实体服务走向了数据服务。产业界需求与关注点也发生了转变,企业关注的重点转向了数据,计算机行业从追求的计算能力转变为数据处理能力,软件业也将从编程为主向数据为主转变,云计算的主导权也将从分析向服务转变。 在信息时代下,数据中心的产生,更多的网络内容也将不再由专业网站或者特定人群所产生,而是由全体网民共同参与。随着数据中心行业的兴起,网民参与互联网、贡献内容也更加便捷,呈现出多元化。巨量网络数据都能够存储在数据中心,数据价值也会越来越高,可靠性能也在进一步加强。 4.1.2数据中心的分类、发展历程 巨型机时代 具有很强的计算和处理数据的能力,主要特点表现为高速度和大容量,配有多种外部和外围设备及丰富的、bai高功能的软件系统

标签: 流量传感器vt系列1612s3tc接近传感器0931s3pc接近传感器1545s3pc接近传感器

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台