分布式计算、云计算与大数据(第2版) / 高等学校计算机专业系列教材
定价:¥89.00
作者: 林伟伟,刘波,刘发贵
出版时间:2024-07-22
最新印次日期:2025-6
出版社:机械工业出版社
“十四五”普通高等教育本科国家级规划教材
试读- 机械工业出版社
- 9787111753445
- 2-1
- 49260260-2
- 16开
- 2024-07-22
- 工学
- 计算机类
- 数据科学与大数据技术
- 本科
内容简介
本书对第 1 版做了修订,紧跟分布式计算、云计算与大数据相关领域的新技术,以应用需求为背景讲解相关技术原理和应用方法,主要内容包括 :分布式计算的基本原理和编程开发技术,云计算的原理和关键技术、主流云计算平台和编程开发方法,云原生技术、云计算安全技术与标准及云存储技术,大数据的分析处理关键技术、计算模式和编程技术、平台,大数据应用开发方法和典型应用案例等。
本书可以作为计算机相关专业本科高年级学生和研究生的教材,也可供相关技术人员参考使用。
本书可以作为计算机相关专业本科高年级学生和研究生的教材,也可供相关技术人员参考使用。
目录
目 录
前言
第1章 分布式计算概论 1
1.1 分布式计算的概念 1
1.1.1 定义 1
1.1.2 优缺点 1
1.2 分布式计算模式 2
1.2.1 单机计算 3
1.2.2 并行计算 3
1.2.3 网络计算 4
1.2.4 对等计算 4
1.2.5 集群计算 5
1.2.6 网格计算 5
1.2.7 云计算 6
1.2.8 雾计算 6
1.2.9 边缘计算 7
1.2.10 移动边缘计算 8
1.2.11 移动云计算 9
1.2.12 大数据计算 10
1.2.13 无服务器计算 11
1.3 分布式基础问题与理论 12
1.3.1 拜占庭将军问题 12
1.3.2 Paxos算法 14
1.3.3 ACID原则 14
1.3.4 CAP定理 15
1.3.5 BASE理论 17
1.4 经典分布式计算系统 18
1.4.1 WWW 18
1.4.2 SETI@home 19
1.4.3 BOINC 19
1.4.4 OpenStack 20
1.4.5 Hadoop 21
1.4.6 Spark 24
1.4.7 Kubernetes 25
1.4.8 其他分布式计算系统 26
习题 28
参考文献 28
第2章 分布式计算编程基础 30
2.1 进程间通信 30
2.1.1 进程间通信的概念 30
2.1.2 IPC原型与示例 31
2.2 Socket编程 32
2.2.1 Socket概述 32
2.2.2 流式Socket 编程 33
2.3 RMI编程 39
2.3.1 RMI概述 39
2.3.2 RMI基本分布式应用 40
2.4 P2P编程 48
习题 56
参考文献 57
第3章?Web原理与应用开发 58
3.1?HTTP 58
3.1.1?WWW服务 58
3.1.2?TCP/IP 58
3.1.3?HTTP的原理 59
3.2?Web开发技术简介 63
3.2.1?HTML 63
3.2.2?JavaScript 66
3.2.3?CSS 70
3.2.4?XML 72
3.2.5?动态网页技术 78
3.3?CGI 82
3.3.1?CGI的原理 82
3.3.2?Web表单 84
3.4?Web会话 86
3.4.1?Cookie机制 87
3.4.2?Session机制 92
3.5?Applet 97
3.6?Servlet 101
3.7?SSH框架与应用开发 106
3.7.1?SSH简介 106
3.7.2?Struts 107
3.7.3?Spring 112
3.7.4?Hibernate 114
3.7.5 基于SSH的应用开发案例 116
习题 127
参考文献 131
第4章 云计算原理与技术 132
4.1 云计算概述 132
4.1.1 云计算的起源 132
4.1.2 云计算的概念与定义 133
4.1.3 云计算的分类 134
4.2 云计算关键技术 137
4.2.1 体系结构 137
4.2.2 数据存储 137
4.2.3 计算模型 137
4.2.4 资源调度 138
4.2.5 虚拟化 148
4.3 谷歌云计算 149
4.3.1 GFS 149
4.3.2 MapReduce 150
4.3.3 BigTable 151
4.3.4 Dremel 154
4.4 亚马逊云计算 157
4.4.1 亚马逊云平台存储架构 157
4.4.2 EC2、S3、SimpleDB等组件 159
4.5 阿里云计算 164
4.5.1 阿里云云平台 164
4.5.2 飞天分布式操作系统 164
4.6 华为云计算 167
4.6.1 华为云公有架构 167
4.6.2 华为云擎天架构 170
习题 172
参考文献 173
第5章 云计算编程实践 175
5.1 CloudSim体系结构和API 175
5.1.1 CloudSim体系结构 175
5.1.2 CloudSim 3.0 API 181
5.2 CloudSim环境搭建和使用方法 184
5.2.1 环境配置 184
5.2.2 运行样例程序 184
5.3 CloudSim扩展编程 187
5.3.1 调度策略的扩展 188
5.3.2 仿真核心代码 190
5.3.3 平台重编译 194
5.4 CloudSim的编程实践 195
5.4.1 CloudSim任务调度编程 195
5.4.2 CloudSim网络编程 200
5.4.3 CloudSim能耗编程 203
5.4.4 CloudSim容器编程 214
5.4.5 CloudSimEx 218
5.5 OpenStack编程实践 219
5.5.1 OpenStack体系结构 219
5.5.2 OpenStack程序设计范例 221
习题 228
参考文献 229
第6章 云存储技术 231
6.1 存储基础知识 231
6.1.1 存储组网形态 231
6.1.2 RAID 235
6.1.3 磁盘热备 242
6.1.4 快照 243
6.1.5 数据分级存储的概念 244
6.2 云存储的概念与技术原理 245
6.2.1 分布式存储 245
6.2.2 存储虚拟化 252
6.3 对象存储技术 255
6.3.1 对象存储架构 255
6.3.2 传统块存储与对象存储 256
6.3.3 对象 256
6.3.4 对象存储系统的组成 258
习题 260
参考文献 260
第7章 云原生技术 261
7.1 云原生的概念与架构 261
7.1.1 云原生的概念 261
7.1.2 云原生的架构 261
7.2 云原生关键技术 262
7.2.1 微服务 262
7.2.2 容器 266
7.2.3 Kubernetes 269
7.2.4 服务网格 272
7.3 云原生应用开发 274
7.3.1 实例概述 274
7.3.2 系统设计 274
7.3.3 系统实现 279
7.3.4 Spring Cloud的使用实例 282
7.3.5 持续集成与部署 288
7.4 云原生技术特色 293
7.4.1 云原生应用的12要素 293
7.4.2 云原生应用与传统应用
的差别 297
习题 300
参考文献 300
第8章 云计算安全技术与标准 302
8.1 云计算安全的概念与现状分析 302
8.1.1 云计算安全的概念 302
8.1.2 云计算安全现状分析 303
8.2 云计算安全技术 306
8.2.1 身份认证技术 307
8.2.2 访问控制技术 309
8.2.3 网络隔离技术 311
8.2.4 远程访问技术 312
8.2.5 端点防护技术 314
8.2.6 数据加密技术 314
8.3 云计算技术标准 315
8.3.1 国际云计算组织及技术标准 315
8.3.2 国内云计算技术标准 317
习题 321
参考文献 321
第9章 大数据技术与编程 323
9.1 大数据产生的背景与大数据概述 323
9.1.1 大数据产生的背景 323
9.1.2 大数据的定义 323
9.1.3 大数据的5V特征 324
9.1.4 大数据发展趋势 325
9.2 大数据处理关键技术 326
9.2.1 大数据采集 326
9.2.2 大数据预处理 327
9.2.3 大数据存储及管理 330
9.2.4 大数据分析及挖掘 331
9.2.5 大数据展现及应用 332
9.3 大数据计算模式 335
9.3.1 MapReduce 335
9.3.2 Spark 340
9.3.3 流式计算 347
9.4 基于Hadoop的大数据编程实践 353
9.4.1 Hadoop环境的搭建 353
9.4.2 基于MapReduce的程序实例(HDFS) 358
9.4.3 基于MapReduce的程序实例(HBase) 364
9.5 基于Spark的大数据编程实践 368
9.5.1 基于Spark的程序实例 368
9.5.2 Spark的RDD编程实践 373
习题 377
参考文献 377
第10章 实时医疗大数据分析
案例 378
10.1 案例背景与需求概述 378
10.1.1 背景介绍 378
10.1.2 基本需求 378
10.2 设计方案 379
10.2.1 ETL 380
10.2.2 非格式化存储 380
10.2.3 流处理 380
10.2.4 训练模型与结果预测 381
10.3 环境准备 381
10.3.1 节点规划 381
10.3.2 软件选型 382
10.4 实现方法 383
10.4.1 使用Kettle、Sqoop等ETL
工具将数据导入HDFS 383
10.4.2 基于Spark Streaming开发
Kafka连接器组件 390
10.4.3 基于Spark MLlib开发数据
挖掘组件 396
10.5 不足与扩展 400
习题 401
参考文献 401
第11章 保险大数据分析案例 402
11.1 案例背景与需求概述 402
11.1.1 背景介绍 402
11.1.2 基本需求 402
11.2 设计方案 405
11.2.1 基于GraphX的并行家谱
挖掘算法 405
11.2.2 基于分片技术的随机森林
算法 408
11.2.3 基于内存计算的FP-Growth
关联规则挖掘算法 410
11.3 环境准备 411
11.4 实现方法 416
11.4.1 基于GraphX的并行家谱
挖掘 417
11.4.2 基于分片技术的随机森林
模型用户推荐 419
11.4.3 基于FP-Growth关联规则
挖掘算法的回归检验 425
11.4.4 结果可视化 430
11.5 不足与扩展 435
习题 436
参考文献 437
前言
第1章 分布式计算概论 1
1.1 分布式计算的概念 1
1.1.1 定义 1
1.1.2 优缺点 1
1.2 分布式计算模式 2
1.2.1 单机计算 3
1.2.2 并行计算 3
1.2.3 网络计算 4
1.2.4 对等计算 4
1.2.5 集群计算 5
1.2.6 网格计算 5
1.2.7 云计算 6
1.2.8 雾计算 6
1.2.9 边缘计算 7
1.2.10 移动边缘计算 8
1.2.11 移动云计算 9
1.2.12 大数据计算 10
1.2.13 无服务器计算 11
1.3 分布式基础问题与理论 12
1.3.1 拜占庭将军问题 12
1.3.2 Paxos算法 14
1.3.3 ACID原则 14
1.3.4 CAP定理 15
1.3.5 BASE理论 17
1.4 经典分布式计算系统 18
1.4.1 WWW 18
1.4.2 SETI@home 19
1.4.3 BOINC 19
1.4.4 OpenStack 20
1.4.5 Hadoop 21
1.4.6 Spark 24
1.4.7 Kubernetes 25
1.4.8 其他分布式计算系统 26
习题 28
参考文献 28
第2章 分布式计算编程基础 30
2.1 进程间通信 30
2.1.1 进程间通信的概念 30
2.1.2 IPC原型与示例 31
2.2 Socket编程 32
2.2.1 Socket概述 32
2.2.2 流式Socket 编程 33
2.3 RMI编程 39
2.3.1 RMI概述 39
2.3.2 RMI基本分布式应用 40
2.4 P2P编程 48
习题 56
参考文献 57
第3章?Web原理与应用开发 58
3.1?HTTP 58
3.1.1?WWW服务 58
3.1.2?TCP/IP 58
3.1.3?HTTP的原理 59
3.2?Web开发技术简介 63
3.2.1?HTML 63
3.2.2?JavaScript 66
3.2.3?CSS 70
3.2.4?XML 72
3.2.5?动态网页技术 78
3.3?CGI 82
3.3.1?CGI的原理 82
3.3.2?Web表单 84
3.4?Web会话 86
3.4.1?Cookie机制 87
3.4.2?Session机制 92
3.5?Applet 97
3.6?Servlet 101
3.7?SSH框架与应用开发 106
3.7.1?SSH简介 106
3.7.2?Struts 107
3.7.3?Spring 112
3.7.4?Hibernate 114
3.7.5 基于SSH的应用开发案例 116
习题 127
参考文献 131
第4章 云计算原理与技术 132
4.1 云计算概述 132
4.1.1 云计算的起源 132
4.1.2 云计算的概念与定义 133
4.1.3 云计算的分类 134
4.2 云计算关键技术 137
4.2.1 体系结构 137
4.2.2 数据存储 137
4.2.3 计算模型 137
4.2.4 资源调度 138
4.2.5 虚拟化 148
4.3 谷歌云计算 149
4.3.1 GFS 149
4.3.2 MapReduce 150
4.3.3 BigTable 151
4.3.4 Dremel 154
4.4 亚马逊云计算 157
4.4.1 亚马逊云平台存储架构 157
4.4.2 EC2、S3、SimpleDB等组件 159
4.5 阿里云计算 164
4.5.1 阿里云云平台 164
4.5.2 飞天分布式操作系统 164
4.6 华为云计算 167
4.6.1 华为云公有架构 167
4.6.2 华为云擎天架构 170
习题 172
参考文献 173
第5章 云计算编程实践 175
5.1 CloudSim体系结构和API 175
5.1.1 CloudSim体系结构 175
5.1.2 CloudSim 3.0 API 181
5.2 CloudSim环境搭建和使用方法 184
5.2.1 环境配置 184
5.2.2 运行样例程序 184
5.3 CloudSim扩展编程 187
5.3.1 调度策略的扩展 188
5.3.2 仿真核心代码 190
5.3.3 平台重编译 194
5.4 CloudSim的编程实践 195
5.4.1 CloudSim任务调度编程 195
5.4.2 CloudSim网络编程 200
5.4.3 CloudSim能耗编程 203
5.4.4 CloudSim容器编程 214
5.4.5 CloudSimEx 218
5.5 OpenStack编程实践 219
5.5.1 OpenStack体系结构 219
5.5.2 OpenStack程序设计范例 221
习题 228
参考文献 229
第6章 云存储技术 231
6.1 存储基础知识 231
6.1.1 存储组网形态 231
6.1.2 RAID 235
6.1.3 磁盘热备 242
6.1.4 快照 243
6.1.5 数据分级存储的概念 244
6.2 云存储的概念与技术原理 245
6.2.1 分布式存储 245
6.2.2 存储虚拟化 252
6.3 对象存储技术 255
6.3.1 对象存储架构 255
6.3.2 传统块存储与对象存储 256
6.3.3 对象 256
6.3.4 对象存储系统的组成 258
习题 260
参考文献 260
第7章 云原生技术 261
7.1 云原生的概念与架构 261
7.1.1 云原生的概念 261
7.1.2 云原生的架构 261
7.2 云原生关键技术 262
7.2.1 微服务 262
7.2.2 容器 266
7.2.3 Kubernetes 269
7.2.4 服务网格 272
7.3 云原生应用开发 274
7.3.1 实例概述 274
7.3.2 系统设计 274
7.3.3 系统实现 279
7.3.4 Spring Cloud的使用实例 282
7.3.5 持续集成与部署 288
7.4 云原生技术特色 293
7.4.1 云原生应用的12要素 293
7.4.2 云原生应用与传统应用
的差别 297
习题 300
参考文献 300
第8章 云计算安全技术与标准 302
8.1 云计算安全的概念与现状分析 302
8.1.1 云计算安全的概念 302
8.1.2 云计算安全现状分析 303
8.2 云计算安全技术 306
8.2.1 身份认证技术 307
8.2.2 访问控制技术 309
8.2.3 网络隔离技术 311
8.2.4 远程访问技术 312
8.2.5 端点防护技术 314
8.2.6 数据加密技术 314
8.3 云计算技术标准 315
8.3.1 国际云计算组织及技术标准 315
8.3.2 国内云计算技术标准 317
习题 321
参考文献 321
第9章 大数据技术与编程 323
9.1 大数据产生的背景与大数据概述 323
9.1.1 大数据产生的背景 323
9.1.2 大数据的定义 323
9.1.3 大数据的5V特征 324
9.1.4 大数据发展趋势 325
9.2 大数据处理关键技术 326
9.2.1 大数据采集 326
9.2.2 大数据预处理 327
9.2.3 大数据存储及管理 330
9.2.4 大数据分析及挖掘 331
9.2.5 大数据展现及应用 332
9.3 大数据计算模式 335
9.3.1 MapReduce 335
9.3.2 Spark 340
9.3.3 流式计算 347
9.4 基于Hadoop的大数据编程实践 353
9.4.1 Hadoop环境的搭建 353
9.4.2 基于MapReduce的程序实例(HDFS) 358
9.4.3 基于MapReduce的程序实例(HBase) 364
9.5 基于Spark的大数据编程实践 368
9.5.1 基于Spark的程序实例 368
9.5.2 Spark的RDD编程实践 373
习题 377
参考文献 377
第10章 实时医疗大数据分析
案例 378
10.1 案例背景与需求概述 378
10.1.1 背景介绍 378
10.1.2 基本需求 378
10.2 设计方案 379
10.2.1 ETL 380
10.2.2 非格式化存储 380
10.2.3 流处理 380
10.2.4 训练模型与结果预测 381
10.3 环境准备 381
10.3.1 节点规划 381
10.3.2 软件选型 382
10.4 实现方法 383
10.4.1 使用Kettle、Sqoop等ETL
工具将数据导入HDFS 383
10.4.2 基于Spark Streaming开发
Kafka连接器组件 390
10.4.3 基于Spark MLlib开发数据
挖掘组件 396
10.5 不足与扩展 400
习题 401
参考文献 401
第11章 保险大数据分析案例 402
11.1 案例背景与需求概述 402
11.1.1 背景介绍 402
11.1.2 基本需求 402
11.2 设计方案 405
11.2.1 基于GraphX的并行家谱
挖掘算法 405
11.2.2 基于分片技术的随机森林
算法 408
11.2.3 基于内存计算的FP-Growth
关联规则挖掘算法 410
11.3 环境准备 411
11.4 实现方法 416
11.4.1 基于GraphX的并行家谱
挖掘 417
11.4.2 基于分片技术的随机森林
模型用户推荐 419
11.4.3 基于FP-Growth关联规则
挖掘算法的回归检验 425
11.4.4 结果可视化 430
11.5 不足与扩展 435
习题 436
参考文献 437









