计算机英语期末考
前言
记录计算机英语期末考的一些单词,教材是计算机英语(第4版)(刘艺,王春生),祝大家考试顺利
短语互译(25分)
1*25=25分,形式是中译英为多,老师上课讲了重点,优先背这些, 答案不唯一,意思对就行,记自己熟悉的就行
- 特洛伊木马: Trojan Horse Program
- 原子操作: Atomic Operation
- 普适计算: Ubiquitous Computation
- 网络带宽:Network Bandwidth
- 海量储存: Mass Storage
- 真空管:Vacuum Tube
- 晶体管:Transistor
- 数据冗余: Data Redundancy
- 载波监听: Carrier Sense
- 接口: Interface
- 储存和检查信息:Store and Retrieve Information
- 主存: Main Memory
- 数据/地址总线:Data / Address Bus
- 拓扑结构: Topology Structure
- 物联网: Internet of Things
- 人工智能: Artificial Intelligence
- 分布式计算:Distributed Computation
- 公共/私有/混合云: Public /Private/Hybrid Cloud
- 多核处理器: Multi Core Processor
- 个人计算机: Person Computer(PC)
- 数据集:Data Set
- 数据库管理员: Database Administrator
- 总线型/环形/星形拓扑网络:Bus/Ring/Star Topology Network
- 排他锁/共享锁:Exclusive Lock/Shared Lock
- 数据完整性:Data Integrity
- 异或操作:XOR Operation
- 对等模型:Peer-to-peer Model
- 应用层: Application Layer
- 传输层: Transport Layer
- 文件传输协议:File Transfer Protocol(FTP)
- 万维网浏览器: Web Browser
- 函数语句:Function Statement
- 直方图:Histogram
- 柱状图:Column Chart
- 顶级域名:Top Level Domain
选词填空(15分)
1*15=15 重点为书p9,p169,p194文章,挖的空换了,给16个词语,填15个空,但是用的词语可以重复使用
p9
我们可以将计算机定义为接受输入、处理数据、存储数据和产生输出的设备。根据处理方式,计算机可以是模拟的,也可以是数字的。它们也可以分为大型机、小型计算机、工作站或微型计算机。在所有其他条件(例如,机器的年龄)相同的情况下,这种分类提供了计算机速度、大小、成本和能力的一些指示。
自从计算机出现以来,就一直在发生变化。第一代具有历史意义的计算机,如50年代初引进的UNIVAC(通用自动计算机),出现在真空管上。基于20世纪60年代初的第二代计算机是那些用晶体管取代真空管的计算机。在第三代计算机中,可以追溯到20世纪60年代,集成电路取代了晶体管。第四代计算机,如20世纪70年代中期首次出现的微型计算机,大规模的集成使得成千上万的电路可以集成在一个芯片上:第五代计算机有望将大规模集成与复杂的计算方法相结合,包括人工智能和真正的分布式处理
p169
早期的计算机网络使用租用的电话公司线路来进行通信连接。电话当时的公司系统在每一个电话呼叫的发送者和接收者之间建立了一个单一的连接,并且这个连接沿着一条路径传送所有数据。当一家公司想把它在两个不同地点拥有的电脑连接起来时,公司会使用一个电话来建立连接,然后把一台电脑连到每一个连接末端。
美国国防部担心这种连接计算机的单通道方法的固有风险,其研究人员开发了一种通过多个通道传输信息的不同方法频道。在这种方法,文件和消息被分解成数据包,这些数据包以电子方式标记着它们的来源、序列和目的地的代码。1969年,美国国防部高级研究计划(ARPA)的研究人员使用这种网络模型将四台计算机连接到一个名为ARPANET的网络中。ARPANET是最早的网络,最终合并成为我们现在所说的互联网。在整个70年代和80年代,学术界的许多研究人员都与ARPANET建立了联系,并为提高ARPANET速度和效率的技术发展做出了贡献。
p194
云的架构分为三层:基础设施、平台和,和应用程序。首先部署基础设施层以支持laaS(Infrastructure as a Service)服务。这一层为构建支持PaaS(Platform as a Service)服务的云平台奠定了基础。反过来,平台层是实现SaaS应用程序的应用层的基础。
基础设施层由虚拟化计算、存储和网络构建而成。这些硬件资源的抽象是为了提供用户所要求的灵活性。在内部,虚拟化实现了资源的自动调配,并优化了基础结构管理过程。平台层具有通用性和可重复性软件资源集合的使用。该层为用户提供了一个开发应用程序、测试操作流以及监视执行结果和性能的环境。在某种程度上,虚拟化云平台充当了网络基础设施层和应用程序层之间的“系统中间件”云朵。那应用层由SaaS所需的所有软件模块组成应用程序。服务应用程序在这一层包括日常办公管理工作。应用层也被企业广泛应用于商业营销和销售、消费者关系管理、金融交易和供应链管理。
翻译(60分)
翻译两篇文章,范围为Unit 3,6,9 Section A,重点是9,英翻中
Unit 3
课文A:编程语言
一、引言
在计算机科学中,编程语言是用于编写可由计算机运行的一系列指令(计算机程序)的人工语言。与英语等自然语言相类似,编程语言有词汇、语法和句法。然而,自然语言不适合为计算机编程,因为它们会引起歧义,也就是说它们的词汇和语法结构可能被用多种方式进行解释。用于计算机编程的语言必须有简单的逻辑结构,它们的语法、拼写和标点符号规则必须精确。
编程语言在复杂性和通用程度上差异很大。一些编程语言是为了处理特定类型的计算问题或为了用于特定型号的计算机系统而编写的。例如,FORTRAN和COBOL等编程语言是为解决某些普遍的编程问题类型而编写的一—FORTRAN是为了科学领域的应用,而COBOL是为了商业领域的应用。尽管这些语言旨在处理特定类型的计算机问题,但它们具有很高的可移植性,也就是说它们可以用来为多种类型的计算机编程。其他的语言,如机器语言,是为一种特定型号的计算机系统,甚至是一台特定的计算机,在某些研究领域使用而编写的。最常用的编程语言具有很高的可移植性,可以用于有效地解决不同类型的计算问题。像C、PASCAL和 BASIC这样的语言就属于这一范畴。
二、语言类型
编程语言可分为低级语言和高级语言。低级编程语言或机器语言,是编程语言中最基础的类型,可以被计算机直接理解。机器语言视计算机制造商与型号不同而有所区别。高级语言是必须首先翻译成机器语言计算机才能理解和处理的编程语言。C、C++、PASCAL和FORTRAN都是高级语言的例子。汇编语言是中级语言,非常接近于机器语言,没有其他高级语言所表现出的语言复杂程度,但仍然得翻译成机器语言。
1、机器语言
在机器语言中,指令被写成计算机能够直接理解的Ⅰ和0(称作位)序列。一条机器语言指令一般告诉计算机4件事:(1)到计算机主存(随机存储器)的什么位置去找一两个数字或简单的数据片;(2)要执行的简单操作,如将两个数字相加;(3)在主存的什么位置存放该简单操作的结果;(4)到什么位置去找下一条要执行的指令。尽管所有的可执行程序最终都是以机器语言的形式被计算机读入的,但它们并非都是用机器语言编写的。直接用机器语言编程极端困难,因为指令是0和1的序列。一条典型的机器语言指令可能写成100101100 1011,意思是把存储寄存器A的内容加到存储寄存器B的内容中。
2、高级语言
高级语言是相对复杂的一系列语句,它们使用来自人类语言的词汇和句法。高级语言比汇编语言或机器语言类似于正常的人类语言,因此用高级语言来编写复杂的程序比较容易。这些编程语言可以更快地开发更大和更复杂的程序。然而,高级语言必须由称为编译器的另外一种程序翻译成机器语言,计算机才能理解它们。因为这个原因,与用汇编语言编写的程序相比较,用高级语言编写的程序可能运行时间长,占用内存多。
3、汇编语言
计算机程序员通过使用汇编语言,使机器语言程序比较容易编写。在汇编语言中,每个语句大致对应于一条机器语言指令。汇编语言的语句是借助易于记忆的命令编写的。在一个典型的汇编语言语句中,把存储寄存器A的内容加到存储寄存器B的内容中这一命令,可能写成ADD B,A汇编语言与机器语言具有某些共同的特征。例如,对特定的位进行操控,用汇编语言和机器语言都是可行的。当尽量减少程序的运行时间很重要时,程序员就使用汇编语言,因为从汇编语言到机器语言的翻译相对简单。汇编语言也用于计算机的某个部分必须被直接控制的情况,如监视器上的单个点或者单个字符向打印机的流动。
三、高级语言的分类
高级语言通常分为面向过程语言、函数式语言、面向对象语言或逻辑语言。当今最常见的高级语言是面向过程语言。在这种语言中,执行某个完整功能的一个或多个相关的语句块组成一个程序模块或过程,而且被给予诸如“过程A”一类名称。如果在程序的其他地方需要同样的操作序列,可以使用一个简单的语句调回这个过程。实质上,一个过程就是一个小型程序。一个大型程序可以通过将执行不同任务的过程组合在一起而构成。过程语言使程序变得比较短,而且比较容易被计算机读取,但要求程序员将每个过程都设计得足够通用,能用于不同的情况。
函数式语言像对待数学函数一样对待过程,并允许像处理程序中的任何其他数据一样处理它们。这就使程序构造在更高、更严密的水平上得以实现。函数式语言也允许变量—一在程序运行过程中可以被用户指定和更改的数据符号——只被赋值一次。这样,通过减少对语句执行的确切顺序给予关注的必要性,就简化了编程,因为一个变量没有必要每次在一个程序语句中用到,都重新声明或重新说明。来自函数式语言的许多思想已经成为许多现代过程语言的关键部分。
面向对象语言是函数式语言的发展结果。在面向对象语言中,用来编写程序的代码和由程序处理的数据,组合成叫做对象的单元。对象进一步组合成类,而类则定义对象必须具有的属性。类的一个简单例子就是书这个类。这个类中的对象可能是小说和短篇小说。对象还有某些与其相关的功能,称为方法。计算机通过使用一个对象的某种方法来访问该对象。方法对对象中的数据执行某种操作,然后将值返回给计算机。对象的类也可进一步组合成层,而在层中一个类的对象可继承另一个类的方法。面向对象语言提供的这种结构,使该语言对于复杂的编程任务非常有用。
逻辑语言将逻辑用作其数学基础。逻辑程序由事实组和“如果一则”规则构成,“如果一则”规则具体说明一组事实如何可以从其他事实组中推断出来,例如:
如果X语句为真,则Y语句为假。
在这样一个程序的执行过程中,一条输入语句可以按照逻辑从程序中的其他语句推断出来。许多人工智能程序使用这种语言编写。
四、语言结构与成分
编程语言使用特定类型的语句或指令,来给程序提供功能结构。程序中的一个语句是表达一个简单想法的基本句子—一它的目的是给计算机一条基本指令。语句定义所允许的数据类型、数据如何处理以及过程和函数的工作方式。程序员使用语句来操控编程语言的常见成分,如变量和宏(程序中的小程序段)。
数据声明语句给称为变量的那些程序元素以名称和属性。变量在程序中可以赋予不同的值。变量可以具有的属性称为类型,它们包括:变量中能保存哪些可能的值;这些值中使用何种程度的数值精度;以及一个变量可以如何以有组织结构的方式——如以表或数组的形式——表示一组比较简单的值。在许多编程语言中,一个关键的数据类型是指针。指针变量本身没有值,而是含有计算机可以用来查找某个其他变量的信息——也就是说,它们指向另一个变量。
表达式是语句的一段,用于描述要对一些程序变量执行的一系列计算操作,如X+Y/Z,其中X、Y和Z为变量,加法和除法是计算操作。赋值语句给一个变量赋予得自某个表达式的值,而条件语句则指定要被测试、然后用于选择接下来应该执行的其他语句的表达式。
过程和函数语句将某些代码块定义为以后可在程序中回调的过程或函数。这些语句也定义程序员可选的变量和参数种类,以及当表达式访问过程或函数时代码所返回的值的类型。许多编程语言也容许叫做宏的小翻译程序。宏将那些用程序员定义的语言结构编写的代码段翻译成编程语言可以理解的语句。
五、历史
编程语言几乎可以追溯到20世纪40年代数字计算机发明之时。随着商用计算机的推出,最早的汇编语言出现于20世纪50年代末。最早的过程语言是在20世纪50年代末到60年代初开发的:约翰\(\cdot\)巴克斯创造了FORTRAN语言,接着格雷斯\(\cdot\)霍珀创造了COBOL 语言。第一种函数式语言是LISP,由约翰\(\cdot\)麦卡锡于20世纪50年代末编写。所有这3种语言今天仍在广泛使用,但经历过大量更新。
20世纪60年代末,出现了最早的面向对象语言,如SIMULA语言。逻辑语言在20世纪70年代中期随着PROLOG语言的推出而变得广为人知,PROLOG语言是一种用于编写人工智能软件的语言。在20世纪70年代,过程语言继续发展,出现了ALGOL、BASIC、PASCAL、C 和Ada等语言。SMALLTALK语言是一种具有高度影响力的面向对象语言,它导致了面向对象语言与过程语言在C++和更近期的JAVA语言中的结合。尽管纯粹逻辑语言的流行程度已经下降,但其以关系语言形式用于现代数据库的变种却变得非常重要,如结构化查询语言。
Unit 6
第六单元:数据库
课文A:数据库概览
一、引言
数据存储传统上是使用单独的没有联系的文件,这些文件有时称为平面文件。在过去,一个机构中的每个应用程序都使用自己的文件。例如,在一个大学中,每个部门都可能有其自己的文件集:档案办公室保存着关于学生信息和学生成绩的文件;经济资助办公室保存着需要经济资助以继续学业的学生的文件;调度办公室保存着教授和他们所教的课程的名字;工薪发放部门保存全体教职员工(包括教授)的文件,等等。然而,所有这些平面文件今天都可结合成一个实体—一供整个大学使用的数据库。
虽然难以给出一个普遍接受的数据库定义,但我们使用下面常见的定义:一个数据库是被一个机构内的应用程序所使用的具有逻辑相干性的相关数据的集合。
二、数据库管理系统
数据库管理系统定义、创建和维护数据库。数据库管理系统也允许对数据库中的数据进行受控的访问。一个数据库管理系统由5个组成部分构成:硬件、软件、数据、用户和规程。
1、硬件
硬件是指允许访问数据的计算机物理系统。例如,终端、硬盘、主机和工作站被认为是数据库管理系统的硬件组成部分。
2、软件
软件是指允许用户访问、维护和更新数据的实际程序。另外,软件还控制着哪个用户可以对数据库中的哪部分数据进行访问。
3、数据
数据库中的数据存储在物理存储设备上。在一个数据库中,数据是独立于对其进行访问的软件的一个实体。这种独立使一个机构可以在不必更改物理数据及其存储方式的情况下更改软件。如果一个机构决定使用一个数据库管理系统,那么该机构所需要的所有信息都应作为一个实体保存在一起,可由数据库管理系统中的软件访问。
4、用户
在数据库管理系统中,用户这个术语有着广泛的定义。我们可以将用户分为两类:最终用户和应用程序。
最终用户是指可直接访问数据库以获取信息的人。最终用户又分为两类:数据库管理员和普通用户。数据库管理员拥有最高程度的特权,可以控制其他用户及其对数据库管理系统的访问,可以将其某些特权授予其他人并保留随时收回这些特权的能力。另一方面,普通用户只能使用数据库的一部分,只能进行有限的访问。
数据库中数据的其他用户就是应用程序。应用程序需要访问和处理数据。例如,工薪发放应用程序需要在月底访问数据库中的部分数据,来开支付工薪的支票。
5、规程
数据库管理系统的最后一个组成部分就是应该明确定义并为数据库用户所遵循的一套规程或规则。
三、数据库体系结构
美国国家标准协会标准计划与需求委员会(ANSI/SPARC)为数据库管理系统确立了一个包含3个层次的体系结构:内层、概念层和外层
1、内层
内层决定数据在存储设备上的实际存储位置。该层涉及低级访问方法,以及字节如何传向和传自存储设备。换句话说,内层直接与硬件交互。
2、概念层
概念层定义数据的逻辑视图。数据模型在该层定义,数据库管理系统的主要功能—一如查询——也在该层。数据库管理系统把数据的内部视图转化为用户需要看到的外部视图。概念层是中介层,它使得用户不必与内层打交道。
3、外层
外层直接与用户(最终用户或应用程序)交互。它将来自概念层的数据转化为用户所熟悉的格式和视图。
四、数据库模型
数据库模型定义数据的逻辑设计。它也描述数据的不同部分之间的关系。在数据库设计史上,使用过3种数据库模型:层次模型、网络模型和关系模型。
1、层次数据库模型
在层次模型中,数据被组织成一棵倒置的树。每个实体只有一个父,但可有数个子。在分层结构的顶部,有一个实体,称为根。图6A-2给出了一个层次模型例子的逻辑视图。层次模型现在已经过时。
2、网络数据库模型
在网络模型中,实体以图的形式来组织,图中的有些实体可通过多条路径访问(图6A-3)。网络模型没有分层结构。这种模型现在也已经过时。
3、关系数据库模型
在关系模型中,数据被组织成称为关系的二维表。关系模型没有分层或网络结构强加于数据。然而,表或关系是相互关联的(图6A-4)。关系数据库管理系统组织数据,使其外部视图呈现为关系或表的集合。这并不意味着数据以表的形式存储:数据的物理存储与数据的逻辑组织方式毫无关系。图6A-5给出了一个关系的例子。关系数据库管理系统中的关系具有以下特征:
- 名称。关系数据库中的每个关系都应具有一个名称,而这个名称在所有关系中是独一无二的。
- 属性。关系中的每一列都称为一个属性。在图6A-5的表中,属性是列的标题。每个属性赋予存储在其下面的数据以意义。表中的每一列都必须具有一个在关系的范围内独一无二的名称。一个关系的属性总数称为该关系的度。例如,在图6A-5中,关系的度为3。注意属性名并不存储在数据库中:概念层使用属性给每一列赋予一定的意义。
- 元组。关系中的每一行称为一个元组。元组定义一组属性值。一个关系中的总行数称为该关系的基数。注意一个关系的基数随着元组的增加或删除而改变。这使数据库具有了动态性。
关系模型是今天使用的常见模型之一。源自关系模型的另外两种常见模型是分布式模型和面向对象模型。
4、分布式数据库模型
分布式数据库模型并非一种新模型,而是基于关系模型的。但是,数据存储在通过因特网或专用广域网通信的数台计算机上。每台计算机(或站点〉保持数据库的一部分或整个数据库。换句话说,数据或者是分段存储的——每个站点存储一段,或者被每个站点复制一份。
在分段型分布式数据库中,数据是本地化的,本地使用的数据存储在相应的站点上。然而,这并不意味着一个站点不能访问存储在另一个站点上的数据,但访问大多是本地性的,偶尔是全局性的。虽然每个站点对其本地数据具有完全的控制,但也存在通过因特网或广域网的全局控制。
例如,一家制药公司可能在许多国家拥有多个站点。每个站点有一个数据库,存储着自己雇员的信息。但是,中心人事部门可以控制所有的数据库。
在复制型分布式数据库中,每个站点都有其他站点的一个完全副本。对一个站点所存储的数据进行的任何修改,都要在其他每个站点上精确地重复进行。拥有这种数据库是为了安全。如果一个站点上的系统发生故障,该站点的用户可以访问另一个站点上的数据。
5、面向对象数据库模型
关系数据库具有一个特定的数据视图,该视图基于数据库元组与属性的性质。关系数据库中最小的数据单位是一个元组与一个属性的交集。然而,有些应用程序需要将数据视为其他形式,如看作一种结构,像由字段构成的记录。
面向对象数据库试图保留关系模型的优点,同时允许应用程序访问结构化数据。在面向对象数据库中,对象及其之间的关系得到定义。此外,每个对象可以具有可表示为字段的属性。
例如,在一个机构中,可以为雇员、部门和客户定义对象类型。雇员类可以定义一个雇员对象的属性(名、姓、社会保险号码、薪水等等),以及可以如何访问它们。部门对象可以定义部门的属性,以及可以如何访问它们。此外,数据库还可以在一个雇员对象与一个部门对象之间创建一种关系,以表示该雇员在该部门工作。
五、数据库设计
任何数据库的设计都是一项冗长、复杂的任务,只能通过一个逐步的过程来完成。第一步通常涉及对数据库潜在用户的大量访谈,以收集需要存储的信息和每个部门的访问需求。第二步是建立一个实体关系模型,该模型定义必须为之保存一些信息的实体、这些实体的属性以及这些实体之间的关系。
设计的下一步基于所要使用的数据库的类型。在关系数据库中,下一步是建立基于实体关系模型的关系,并规范化这些关系。规范化是一个过程,通过该过程一组特定的关系转化成一组具有更坚固结构的新关系。为了达到以下目的,需要规范化:允许数据库中的任何关系得到表示,允许像SQL(结构化查询语言)这样的语言使用由原子操作组成的功能强大的检索操作,消除插入、删除和更新操作中的异常,以及减少添加新的数据类型时重构数据库的必要性。
Unit 9
课文A:云计算
一、引言
许多用户和设计员给云计算下了不同的定义。IBM是云计算领域的一个主要角色,该公司给云计算下的定义如下:“一个云是一个虚拟化计算机资源池。云可托管各种不同的工作负荷,包括批处理的后端作业和交互式面向用户应用。”
云计算这个概念从集群计算、网格计算和效用计算发展而来。集群计算与网格计算充分利用许多计算机的并行使用来解决任何规模的问题。公用程序与软件即服务(Utility andSoftware as a Service)提供计算资源作为一种按使用付费的服务。云计算充分利用动态资源为终端用户提供大量服务。云计算是一种高吞吐量计算范式,基础设施借助这种范式通过一个大型数据中心或若干大型机服务器提供服务。云计算模型使用户能够通过其连接的设备随时随地分享对资源的访问。
云通过把作业执行外包给云提供商而使用户腾出时间,聚焦于用户应用程序开发和创造商业价值。在这种方案中,计算(程序)被发送到数据所在之处,而不是像传统做法那样将数据复制到无数台式机上。云计算可避免大规模的数据移动,从而使网络带宽利用效率变得高很多。此外,机器虚拟化提高了资源利用率,增加了应用灵活性,并降低了使用虚拟化数据中心资源的总成本。
云可使IT公司摆脱设置硬件(服务器)和管理系统软件这些低水平任务,从而给IT公司带来很大的好处。云计算按需动态供应硬件、软件和数据集,以此方式应用一个拥有弹性资源而且这些资源置于一处的虚拟化平台。其主要目的是通过在数据中心使用服务器集群和巨型数据库而将桌面计算转移到一个面向服务的平台。云计算充分利用其低成本与简单的特性既惠及提供商也惠及用户。云计算意在通过同时服务于许多大型或小型异构应用程序,来充分利用多任务化提高吞吐量。
二、公共云、私有云和混合云
公共云建立在因特网上,可供任何支付了服务费的用户访问。公共云由服务提供商拥有,可通过订购来访问。图9A-1顶部的标注框显示了一个典型公共云的体系结构。许多公共云可供使用,包括Google App Engine(GAE)、Amazon Web Services (AWS)、Microsoft Azure、IBMBlue Cloud和Salesforce.com's Force.com。上述云的提供者是商业提供商,它们提供了一个可供公众访问的远程界面,用于在其专有基础设施内创建和管理虚拟机实例。公共云提供一套选定的事务过程。应用与基础设施服务按照灵活的按使用付费方式提供。
私有云建立在一个组织机构所拥有的内部网的范围之内。因此,私有云由用户拥有和管理,对私有云的访问仅限于拥有者及其伙伴。它的部署并不意味着要通过可公开访问的界面在互联网上销售容量。私有云为本地用户提供灵活敏捷的私有基础设施,用于在其管理域之内运行服务工作负荷。私有云应该提供更高效、更方便的云服务。私有云在保持较高程度的定制化与组织控制的同时,可能对云标准化产生不良影响。基于内部网的私有云与公共云相连接,以获取额外资源。
如图9A-1左下角所示,混合云既用公共云也用私有云建立。私有云也可通过用外部公共云的计算能力补充本地基础设施,来支持混合云模型。例如,“研究计算云”(RC2)是IBM(国际商用机器公司)建立的一个私有云,它将分散在美国、欧洲和亚洲的8个IBM研究中心的计算与IT资源互相连接起来。混合云提供对用户、伙伴网络和第三方的访问。
总而言之,公共云可促进标准化,保全资本投资,并提供应用灵活性。私有云试图实现定制化,并提高效率、弹性、安全性和保密性。混合云在中间运行,在资源共享方面有许多折中之举。
三、 云设计目标
尽管围绕以数据中心或大型IT公司的集中式计算与存储服务替代桌面或桌边计算这个问题存在争议,但云计算界在要让云计算能够被普遍接受需要做什么这个问题上已达成某种共识。以下清单突出了云计算的6个设计目标:
- 将计算从台式机转移到数据中心:计算机处理、存储和软件交付通过因特网从台式机和本地服务器转向数据中心。
- 服务提供与云经济学:提供商通过与消费者及终端用户签订服务水平协议提供云服务。就计算、存储和能耗而言,所提供的服务必须是高效的。定价基于即付即用政策。
- 性能的可缩放性:云平台与软件及基础设施服务必须能够随着用户量增加而提高性能。
- 数据保密性保护:你能放心让数据中心处理你的私人数据与记录吗?要让云成功地成为可以信赖的服务,这种关切必须得到解决。
- 高质量的云服务︰云计算的服务质量必须标准化,以使云能够在多个提供商之间互操作。
- 新标准与新接口∶这是指要解决与数据中心或云提供商有关的数据锁定问题。需要普遍接受的应用程序接口和访问协议来提供虚拟化应用程序的高可移植性和灵活性。
四、云的使能技术
云之所以能够实现,是因为表9A-1中所概括的硬件、软件和连网技术进步。
这些技术在使云计算成为现实的过程中发挥作用。这些技术今天大多已成熟,可满足日益增长的需求。在硬件领域,多核中央处理器、存储芯片和磁盘阵列的迅速进步,使建立拥有巨量存储空间、速度较快的数据中心成为可能。资源虚拟化使迅速的云部署与灾难恢复成为可能。面向服务的体系结构也发挥了至关重要的作用。
在提供软件即服务、Web 2.0标准和因特网性能方面取得的进步,都对云服务的出现做出贡献。今天的云旨在为大量租户提供海量数据服务。大规模分布式存储系统的可用性是今天的数据中心的基础。当然,云计算也极大地得益于许可管理与自动开单技术最近几年取得的进步。
五、一种通用的云体系结构
图9A-2显示了一种具有安全意识的云体系结构。因特网云被设想为一个大规模的服务器集群。这些服务器按需供应,以使用数据中心的资源提供集体网络服务或分布式应用。云平台通过服务器、软件和数据库资源的供应或取消供应而动态形成。云中服务器可以是实际机器,也可以是虚拟机。用户界面用于请求服务。资源调配工具划分出云系统来提供所请求的服务。
除了建立服务器集群,云平台还需要分布式存储及随伴服务。云计算资源被纳入数据中心,而数据中心一般由第三方提供商拥有和运行。消费者不需要知道基础技术。在云中,软件成为一种服务。云要求检索自大型数据中心的海量数据具有高信任度。我们需要建立一个框架去处理存储在存储系统的大规模数据。这就需要在数据库系统之上建立一个分布式文件系统。其他的云资源被添加到云平台之内,包括存储区域网、数据库系统、防火墙及安全设备。网络服务提供商提供使开发者能够利用因特网云的专用应用程序接口。监控与计量设备被用于跟踪所供应资源的使用与性能。
云平台的软件基础设施必须处理所有的资源管理,并自动从事大多数维护工作。软件必须检测每台加入和离开的节点服务器的状态,并相应地执行相关任务。云计算提供商,如谷歌和微软,在世界各地建立了大量数据中心。每个数据中心可能拥有成千上万的服务器。数据中心的位置选定着眼于降低电费和冷却费用。因此,数据中心常常围绕水电建立。与单纯的速度性能相比,云的物理平台建造者更加关注性能╱价格比和可靠性问题。
一般来说,私有云比较容易管理,公共云比较容易访问。云的发展趋势是,混合云越来越多。这是因为许多云应用必须超越内部网的界限。一个人必须学会如何创建一个私有云,以及如何与位于开放的因特网中的公共云交互。在保护各类云的运行方面,安全成为一个关键性问题。