* 1: 100. 云计算
(一)大数据(BigData)
1. 定义: 海量数据或巨量数据,其规模巨大到无法用当前主流的计算机系统在合理时间内获取、存储、管理、处理并提取以帮助使用者决策。
2. 特点: 1)数据量大 (Volume ) ----- PB 级以上
2)快速 (Velocity ) ----- 数据增长快
3)多样 (Variety ) ----- 数据来源及格式多样
4)价值密度低 (Value ) ----- 从大量、多样数据中提取价值的体系结构
5)复杂度 (Complexity ) ----- 对数据处理和分析的难度大
3. 大数据与云计算的关系:
从技术上看,大数据与云计算的关系就像一枚硬币的正反面一样密不可分。大数据必然无法用单台的计算机进行处理,必须采用分布式计算架构。
它的特色在于对海量数据的挖掘,但它必须依托云计算的分布式处理、分布式数据库、云存储和虚拟化技术。
(二)云计算(Cloud Computing)
1. 定义: 1)云计算是一种商业计算模型。它将计算任务分布在大量计算机构成的资源池上,使各种应用系统能够根据需要获取计算力、存储空间和信息服务。 //分布式计算
2)云计算是通过网络按需提供可动态伸缩的廉价计算服务。 2. 特点: 1)超大规模 2)虚拟化 3)高可靠性 4)通用性 5)高可伸缩性 6)按需服务 7)极其廉价 3. 服务类型分类: 1)SaaS (软件即服务::Software as a Service) //针对性更强,它将某些特定应用软件功能封装成服务如:Salesforce online CRM
2)PaaS (平台即服务: Platform as a Service) //对资源的抽象层次更进一步,提供用户应用程序运行环境如:Google App Engine ,Microsoft Windows Azure
3)IaaS (基础设施作为服务:Infrastructure as a Service) //将硬件设备等基础资源封装成服务供用户使用 ,如:Amazon EC2/S3
4. 云计算的实现机制(体系结构)
1) SOA (面向服务的体系结构):它将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来。使得其服务能以一种统一的、通用的方式进行交互。
SOA 可以看作是B/S模型、XML/Web Service技术之后的自然延伸。
2)管理中间件:(关键部分)
3)资源池层: 将大量相同类型的资源构成同构或接近同构的资源池。
4)物理资源层: 计算机、存储器、网络设施、数据库和软件等
5. 云计算与网格计算
1)网格是基于SOA 、使用互操作、按需集成等技术,将分散在不同地理位置的资源虚拟化为一个整体。
2)关系类似于 TCP/IP 协议之于 OSI 模型
6. 云计算与物联网
1)物联网有全面感知,可靠传递、智能处理三个特征。云计算提供对智能处理所需要的海量信息的分析和处理支持。
2)云计算架构与互联网之上,而物联网依赖于互联网来提供有效延伸。因而,云计算模式是物理网的后端支撑关键。
* 1.1: 1. Google 云计算原理
(一)文件系统 GFS
1)系统架构
2)实现机制:
①节点分类: Client ---- >Master ----> Chunk Server
② Master 负责管理。 Client 与 Master 之间只有控制流,而没有数据流
【数据流与控制流分离】
③ Client 可以同时访问多个 Chunk Server 。
【高度的 I/O 并行】
3)特点
①采用中心服务器 【Master 掌握Chunk Server 情况,方便实现负载均衡】
②不缓存数据
③在用户态下实现
4)容错机制
① Master 容错 : a. 对应Chunk Server 留有备份
② Chunk Server 容错: a. 多个副本备份(3个) b. GFS 每个文件被分为多个 Chunk (64MB ) c. Chunk 分为 Block (64kb ), 每个Block 对应一个 32 bit 校验和
(二)分布式计算编程模型MapReduce
1)编程模型
①划分为 M 个 Map ,每一个Map 针对不同的原始数据,互相独立、并行操作。 ② Reduce 操作则是对每个 Map 产生的中间结果进行合并。每个Reduce 所处理的最终结果互不交叉,通过简单相连即可形成完整的结果集。
PS: Map: (in key, in value ) ---> N个 Map
Reduce: ( key(value1,value2,... ) ) --->对相同的 Key 对应的 value 进行并行处理 // 统计单词出现次数,每个Map 统计一部分文本,Reduce 进行合并。
2)实现机制
3)容错机制
① Master 失效:周期性地设置检查点,一旦任务失效,则从最近一个检查点重新执行
② Worker 失效: Master 周期性地 ping Worker , Worker 不答复即失效,任务调度分配给其他Worker
(三)分布式锁服务 Chubby
1)作用: Chubby 是Google 设计的提供粗粒度锁服务的一个文件系统,它基于松耦合
分布式系统,解决了分布的一致性问题
2)Paxos 算法
① proposers (提议) --->② acceptors (接收并做出选择) ---->③ leaner (决策) // 条件?
3)实现
(四)分布式结构化数据表BigTable
1)作用
①基于GFS 和Chubby 的分布式存储系统。
//类似数据库,存储了Google 海量数据 ,用户通过 Key 查询
2)数据模型
行、列、时间戳 : (row:string, column:string, time:int64)→string //依次对应于三级索引
3)系统架构
Chubby 保证同一时间内只有一个主服务器(Master Server)
4)主服务器
①新子表分配 ②子表服务器状态监测 ③子服务器之间的负载均衡
5)子表服务器
①BigTable 中的实际数据以子表的形式保存在子表服务器上。子表服务器数据存储格式:SSTable 。(SSTable 文件存储于 GFS 中)
②较新的数据存储于内存表(写操作)&&较早的数据存储在SSTable 中(读操作)。
(五)分布式存储系统 Megastore
1)一种介于传统的关系型数据库和NoSQL 之间的存储技术,尽可能达到高可用性和高可扩展性的统一
2)底层数据存储于BigTable //应用于Google 旧时的系统,目前新技术为 Spanner
(六)分布式监控系统 Dapper
1)Google 基于故障驱动而设计的分布式系统的监控基础架构。
*核心技术: ①最关键的代码基础是基本RPC 、线程和控制流函数库的实现 ②主要功能是实现区间创建、抽样和在本地磁盘上记录日志。
③将复杂的功能实现限制在一个轻量级的核心功能库中保证了Dapper 的监控过程基本对应用层透明。
* 二次抽样技术
* 1.2: 2. Amazon 云计算
* 1.3: 100. 桌面云
(一)云计算(Cloud Computing)
1)是一种互联网上的资源利用新方式,可为大众用户依托互联网上异构、自治的服务进行按需即取的计算 , 云计算的资源是动态易扩展而且虚拟化的,通过互联网提供。
(二)云桌面
1)基本定义: 云桌面是云计算时代的典型应用:基于分布式云计算存储技术,集成互联网精华应用,依托高度加密算法,为接入用户提供服务。
2)价值体现: ①信息安全(数据存储在云平台)
②维护、部署方便(云管理软件)
③节能、节约(只需提供终端)
3)建设方案: ①在企业内部集中部署服务器、磁阵,建设好云平台的IT 环境,安装相关的云桌面软件,和企业需要的办公软件。
②在员工办公桌上,部署云终端+显示器+键盘+鼠标,插上网线连上云桌面即可实现正常的办公。
4)Citrix : ①简介: Citrix 即美国思杰公司,是一家致力于云计算虚拟化、虚拟桌面和远程接入技术领域的高科技企业
(三)桌面云
1)桌面云: 可以通过瘦客户端或者其他任何与网络相连的设备来访问跨平台的应用程序,以及整个客户桌面。 //桌面云与云桌面,是同一对象的不同侧重点的阐述。
2)业务价值: 3)桌面云架构: ①集中化 ②安全性高 ③节能减耗 ④成本减少 ---- 节省维护、管理成本 ---- 数据存储于服务器端,客户端存储影像 ---- 软硬件成本减少、维护成本减少
①瘦终端: 瘦终端是我们使用桌面云的设备,一般是一个内嵌了独立的嵌入式操作系统
②网络接入: 桌面云提供了各种接入方式供用户连接。(包括普通连接和安全连接方式)
③控制台: 控制台可以对运行着虚拟桌面的服务器进行配置,例如配置网络连接,配置存储设备等等。还可以监控运行服务器的CPU 、内容情况等指标。
④身份认证: 在桌面云中一般是通过 Active Directory 或者 LDAP 这些产品来进行用户的认证和授权的。设置和修改密码,设定不同的角色和权限。
⑤应用程序: 云桌面架构提供了共享服务的方式来提供桌面和应用。这样可以在特定的服务器上提供更多的服务。
⑥服务器: 桌面云解决方案中,更多的应用方式是把各种应用分发到虚拟桌面,这样客户只需要连到一个桌面就可以使用所有的应用,
(四)云终端
1)基本定义: 云终端是一台不需要CPU ,硬盘和CD-ROM 的多用户网络终端设备。
>通过虚拟化解决方案,将一台计算机的全部软硬件资源,提供给多个用户(无限制)独立使用,拖(变/转)成多个云终端。
2)设备特征: ①设计轻巧
②低功耗
③节省硬件成本(不需要客户端主机)
④节省软件成本(仅需一个服务器软件成本)
⑤节省维护、管理成本(云中心统一管理)
3)运算模型:
①终端机是一种没有硬盘驱动器的计算设备,它显示来自远程服务器或刀片式PC 的数据和应用程序。
②基于服务器的计算模型
4)解决方案: TCSC-PC STATION Server-based Computing
(五)瘦客户机
1)基本定义: 瘦客户机(thin client)是使用专业嵌入式处理器、小型本地DOM
电子盘、精简版操作系统的基于PC 工业标准设计的小型行业专用商用PC 。
//具有独立CPU 、显卡等,相比于普通PC 更加可靠,更低功耗和更高安全性。
2)区别于云终端:
①云终端是采用ARM 架构设计[RISC 精简指令集],没有CPU 、硬盘、内存条的一个网络终端。
用软硬件一体化设计,即利于维护又方便管理;USB 控制开放,故障率极低。
②瘦客户机则采用X86架构设计[CISC 复杂指令集],继承传统电脑PC 的特色,拥有CPU 、硬盘、内存条等,具有独立的操作系统。所以我们又称之为迷你主机或迷你电脑
③瘦客户机的桌面虚拟化只能通过RDP 协议进行部署方案,不能实现网络在线高清视频播放,所以不能用在多媒体教学方案中,应用的行业比较有限。
瘦客户机只是作为云终端的一款过度性产品,随着云计算与大数据据时代到来,越来越多的企业与用户最终会使用云终端。
* 1: 100. 云计算
(一)大数据(BigData)
1. 定义: 海量数据或巨量数据,其规模巨大到无法用当前主流的计算机系统在合理时间内获取、存储、管理、处理并提取以帮助使用者决策。
2. 特点: 1)数据量大 (Volume ) ----- PB 级以上
2)快速 (Velocity ) ----- 数据增长快
3)多样 (Variety ) ----- 数据来源及格式多样
4)价值密度低 (Value ) ----- 从大量、多样数据中提取价值的体系结构
5)复杂度 (Complexity ) ----- 对数据处理和分析的难度大
3. 大数据与云计算的关系:
从技术上看,大数据与云计算的关系就像一枚硬币的正反面一样密不可分。大数据必然无法用单台的计算机进行处理,必须采用分布式计算架构。
它的特色在于对海量数据的挖掘,但它必须依托云计算的分布式处理、分布式数据库、云存储和虚拟化技术。
(二)云计算(Cloud Computing)
1. 定义: 1)云计算是一种商业计算模型。它将计算任务分布在大量计算机构成的资源池上,使各种应用系统能够根据需要获取计算力、存储空间和信息服务。 //分布式计算
2)云计算是通过网络按需提供可动态伸缩的廉价计算服务。 2. 特点: 1)超大规模 2)虚拟化 3)高可靠性 4)通用性 5)高可伸缩性 6)按需服务 7)极其廉价 3. 服务类型分类: 1)SaaS (软件即服务::Software as a Service) //针对性更强,它将某些特定应用软件功能封装成服务如:Salesforce online CRM
2)PaaS (平台即服务: Platform as a Service) //对资源的抽象层次更进一步,提供用户应用程序运行环境如:Google App Engine ,Microsoft Windows Azure
3)IaaS (基础设施作为服务:Infrastructure as a Service) //将硬件设备等基础资源封装成服务供用户使用 ,如:Amazon EC2/S3
4. 云计算的实现机制(体系结构)
1) SOA (面向服务的体系结构):它将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来。使得其服务能以一种统一的、通用的方式进行交互。
SOA 可以看作是B/S模型、XML/Web Service技术之后的自然延伸。
2)管理中间件:(关键部分)
3)资源池层: 将大量相同类型的资源构成同构或接近同构的资源池。
4)物理资源层: 计算机、存储器、网络设施、数据库和软件等
5. 云计算与网格计算
1)网格是基于SOA 、使用互操作、按需集成等技术,将分散在不同地理位置的资源虚拟化为一个整体。
2)关系类似于 TCP/IP 协议之于 OSI 模型
6. 云计算与物联网
1)物联网有全面感知,可靠传递、智能处理三个特征。云计算提供对智能处理所需要的海量信息的分析和处理支持。
2)云计算架构与互联网之上,而物联网依赖于互联网来提供有效延伸。因而,云计算模式是物理网的后端支撑关键。
* 1.1: 1. Google 云计算原理
(一)文件系统 GFS
1)系统架构
2)实现机制:
①节点分类: Client ---- >Master ----> Chunk Server
② Master 负责管理。 Client 与 Master 之间只有控制流,而没有数据流
【数据流与控制流分离】
③ Client 可以同时访问多个 Chunk Server 。
【高度的 I/O 并行】
3)特点
①采用中心服务器 【Master 掌握Chunk Server 情况,方便实现负载均衡】
②不缓存数据
③在用户态下实现
4)容错机制
① Master 容错 : a. 对应Chunk Server 留有备份
② Chunk Server 容错: a. 多个副本备份(3个) b. GFS 每个文件被分为多个 Chunk (64MB ) c. Chunk 分为 Block (64kb ), 每个Block 对应一个 32 bit 校验和
(二)分布式计算编程模型MapReduce
1)编程模型
①划分为 M 个 Map ,每一个Map 针对不同的原始数据,互相独立、并行操作。 ② Reduce 操作则是对每个 Map 产生的中间结果进行合并。每个Reduce 所处理的最终结果互不交叉,通过简单相连即可形成完整的结果集。
PS: Map: (in key, in value ) ---> N个 Map
Reduce: ( key(value1,value2,... ) ) --->对相同的 Key 对应的 value 进行并行处理 // 统计单词出现次数,每个Map 统计一部分文本,Reduce 进行合并。
2)实现机制
3)容错机制
① Master 失效:周期性地设置检查点,一旦任务失效,则从最近一个检查点重新执行
② Worker 失效: Master 周期性地 ping Worker , Worker 不答复即失效,任务调度分配给其他Worker
(三)分布式锁服务 Chubby
1)作用: Chubby 是Google 设计的提供粗粒度锁服务的一个文件系统,它基于松耦合
分布式系统,解决了分布的一致性问题
2)Paxos 算法
① proposers (提议) --->② acceptors (接收并做出选择) ---->③ leaner (决策) // 条件?
3)实现
(四)分布式结构化数据表BigTable
1)作用
①基于GFS 和Chubby 的分布式存储系统。
//类似数据库,存储了Google 海量数据 ,用户通过 Key 查询
2)数据模型
行、列、时间戳 : (row:string, column:string, time:int64)→string //依次对应于三级索引
3)系统架构
Chubby 保证同一时间内只有一个主服务器(Master Server)
4)主服务器
①新子表分配 ②子表服务器状态监测 ③子服务器之间的负载均衡
5)子表服务器
①BigTable 中的实际数据以子表的形式保存在子表服务器上。子表服务器数据存储格式:SSTable 。(SSTable 文件存储于 GFS 中)
②较新的数据存储于内存表(写操作)&&较早的数据存储在SSTable 中(读操作)。
(五)分布式存储系统 Megastore
1)一种介于传统的关系型数据库和NoSQL 之间的存储技术,尽可能达到高可用性和高可扩展性的统一
2)底层数据存储于BigTable //应用于Google 旧时的系统,目前新技术为 Spanner
(六)分布式监控系统 Dapper
1)Google 基于故障驱动而设计的分布式系统的监控基础架构。
*核心技术: ①最关键的代码基础是基本RPC 、线程和控制流函数库的实现 ②主要功能是实现区间创建、抽样和在本地磁盘上记录日志。
③将复杂的功能实现限制在一个轻量级的核心功能库中保证了Dapper 的监控过程基本对应用层透明。
* 二次抽样技术
* 1.2: 2. Amazon 云计算
* 1.3: 100. 桌面云
(一)云计算(Cloud Computing)
1)是一种互联网上的资源利用新方式,可为大众用户依托互联网上异构、自治的服务进行按需即取的计算 , 云计算的资源是动态易扩展而且虚拟化的,通过互联网提供。
(二)云桌面
1)基本定义: 云桌面是云计算时代的典型应用:基于分布式云计算存储技术,集成互联网精华应用,依托高度加密算法,为接入用户提供服务。
2)价值体现: ①信息安全(数据存储在云平台)
②维护、部署方便(云管理软件)
③节能、节约(只需提供终端)
3)建设方案: ①在企业内部集中部署服务器、磁阵,建设好云平台的IT 环境,安装相关的云桌面软件,和企业需要的办公软件。
②在员工办公桌上,部署云终端+显示器+键盘+鼠标,插上网线连上云桌面即可实现正常的办公。
4)Citrix : ①简介: Citrix 即美国思杰公司,是一家致力于云计算虚拟化、虚拟桌面和远程接入技术领域的高科技企业
(三)桌面云
1)桌面云: 可以通过瘦客户端或者其他任何与网络相连的设备来访问跨平台的应用程序,以及整个客户桌面。 //桌面云与云桌面,是同一对象的不同侧重点的阐述。
2)业务价值: 3)桌面云架构: ①集中化 ②安全性高 ③节能减耗 ④成本减少 ---- 节省维护、管理成本 ---- 数据存储于服务器端,客户端存储影像 ---- 软硬件成本减少、维护成本减少
①瘦终端: 瘦终端是我们使用桌面云的设备,一般是一个内嵌了独立的嵌入式操作系统
②网络接入: 桌面云提供了各种接入方式供用户连接。(包括普通连接和安全连接方式)
③控制台: 控制台可以对运行着虚拟桌面的服务器进行配置,例如配置网络连接,配置存储设备等等。还可以监控运行服务器的CPU 、内容情况等指标。
④身份认证: 在桌面云中一般是通过 Active Directory 或者 LDAP 这些产品来进行用户的认证和授权的。设置和修改密码,设定不同的角色和权限。
⑤应用程序: 云桌面架构提供了共享服务的方式来提供桌面和应用。这样可以在特定的服务器上提供更多的服务。
⑥服务器: 桌面云解决方案中,更多的应用方式是把各种应用分发到虚拟桌面,这样客户只需要连到一个桌面就可以使用所有的应用,
(四)云终端
1)基本定义: 云终端是一台不需要CPU ,硬盘和CD-ROM 的多用户网络终端设备。
>通过虚拟化解决方案,将一台计算机的全部软硬件资源,提供给多个用户(无限制)独立使用,拖(变/转)成多个云终端。
2)设备特征: ①设计轻巧
②低功耗
③节省硬件成本(不需要客户端主机)
④节省软件成本(仅需一个服务器软件成本)
⑤节省维护、管理成本(云中心统一管理)
3)运算模型:
①终端机是一种没有硬盘驱动器的计算设备,它显示来自远程服务器或刀片式PC 的数据和应用程序。
②基于服务器的计算模型
4)解决方案: TCSC-PC STATION Server-based Computing
(五)瘦客户机
1)基本定义: 瘦客户机(thin client)是使用专业嵌入式处理器、小型本地DOM
电子盘、精简版操作系统的基于PC 工业标准设计的小型行业专用商用PC 。
//具有独立CPU 、显卡等,相比于普通PC 更加可靠,更低功耗和更高安全性。
2)区别于云终端:
①云终端是采用ARM 架构设计[RISC 精简指令集],没有CPU 、硬盘、内存条的一个网络终端。
用软硬件一体化设计,即利于维护又方便管理;USB 控制开放,故障率极低。
②瘦客户机则采用X86架构设计[CISC 复杂指令集],继承传统电脑PC 的特色,拥有CPU 、硬盘、内存条等,具有独立的操作系统。所以我们又称之为迷你主机或迷你电脑
③瘦客户机的桌面虚拟化只能通过RDP 协议进行部署方案,不能实现网络在线高清视频播放,所以不能用在多媒体教学方案中,应用的行业比较有限。
瘦客户机只是作为云终端的一款过度性产品,随着云计算与大数据据时代到来,越来越多的企业与用户最终会使用云终端。