作者 |
赵志为 闵革勇 等 |
丛书名 |
云计算与虚拟化技术丛书 |
出版社 |
机械工业出版社 |
ISBN |
9782110261536 |
简要 |
简介 |
内容简介书籍计算机书籍 ---------------------------8084482 - 边缘计算:原理、技术与实践--------------------------- 随着通信和计算技术的快速发展、计算成本的不断降低,物理世界与信息世界正在发生加速融合。不仅仅是物理世界的信息被映射到网络当中,通信和计算的能力也随着嵌入式技术的发展融入到了世间万物。随着物联网和5G通信产业的快速兴起,越来越多的人和物开始持续产生大量、多样的计算任务,“无处不在的计算”成为了各类应用共性而迫切的需求,边缘计算应运而生。 相比于云计算,边缘计算将计算资源下沉到网络边缘设备、甚至嵌入到各类网络系统当中,为大至自动驾驶车联网、小到可穿戴设备提供快速、稳定、无处不在的计算服务。如果说物联网让物理世界具备了“感知”和“沟通”的能力,那么边缘计算的使命则是让世间万物具备“思考”的能力。网络边缘在形态上可以千变万化,既可以是部署在移动蜂窝网络的数据中心、亦可以是随车而载的小型服务器,甚至可以是随身携带的迷你节点,以完成各类场景的计算服务,这些场景包括移动计算、自动驾驶车联网、智慧工业、智能家居、可穿戴计算等。 ---------------------------8081492 - 深入理解边缘计算:云、边、端工作原理与源码分析--------------------------- 内容简介 这是一本从环境搭建、部署配置、系统架构、工作原理、源码分析、二次开发等维度系统讲解如何打造协同的云、边、端系统的著作。 全书一共9章,逻辑上分为三大部分: 第1部分 边缘计算基础(第1~2章) 首先介绍了边缘计算和边缘计算系统的概念、组成、架构,以及边缘计算系统的部署与管理;然后分别以Kubernetes、KubeEdge、EdgeX Foundry为例讲解了云、边、端的部署与配置。既给出了边缘计算系统部署所需的自动化脚本,又分析了应用在云数据中心部署和以云、边、端协同的方式部署的利弊。 第二部分 工作原理(第3~6章) 首先从整体上对边缘计算系统的逻辑架构进行了介绍,然后从部署、配置、架构等角度对分别云、边、端的核心组件的工作原理进行了深入解析。 . 第三部分 源码分析(第7~9章) 云、边、端的开源框架众多,云部分选择Kubernetes、边部分选择KubeEdge、端部分选择EdgeX Foundry,首先详细介绍了这3种开发框架的开发环境搭建和源码的整体架构,然后对他们的核心组件的源码进行了深入分析,同时也对这3个框架的二次开发进行了讲解。 |
目录 |
[套装书具体书目] 8081492 - 深入理解边缘计算:云、边、端工作原理与源码分析 - 9787111684220 - 机械工业出版社 - 定价 89 8084482 - 边缘计算:原理、技术与实践 - 9787111690894 - 机械工业出版社 - 定价 99 ---------------------------8084482 - 边缘计算:原理、技术与实践--------------------------- 推荐序一 推荐序二 自序 前言 第1章 边缘计算概述 1 1.1 边缘计算的背景与概念 1 1.1.1 边缘计算的历史背景 1 1.1.2 边缘计算的概念 3 1.1.3 边缘计算带来的改变 4 1.2 边缘计算发展的历史必然性 7 1.2.1 催生边缘计算的技术 7 1.2.2 计算形态变革的内在逻辑 12 1.2.3 边缘计算将深刻改变计算方式 16 1.3 边缘计算的重要意义 20 1.4 边缘计算中的关键问题 21 1.4.1 关键词 22 1.4.2 关键研究问题概述 23 1.4.3 边缘计算架构 27 1.4.4 操作系统与编程模型 27 1.4.5 计算卸载与资源分配 28 1.4.6 虚拟化与服务管理 28 1.4.7 服务集群管理 29 1.4.8 人工智能与大数据 29 1.4.9 移动性管理 30 1.4.10 系统与应用 30 1.5 发展趋势与技术挑战 31 1.5.1 发展趋势 31 1.5.2 关键机构与成果 32 1.6 本书的写作逻辑 33 习题 34 参考文献 34 第2章 边缘计算架构原理 35 2.1 边缘计算架构概述 35 2.1.1 系统评价及设计要求 35 2.1.2 边缘计算架构设计面临的独特挑战 37 2.2 总体系统架构 39 2.2.1 两类边缘:主干网边缘和 泛在边缘 39 2.2.2 云-边-端架构 40 2.2.3 边-端架构 42 2.2.4 多接入边缘计算 43 2.2.5 分布式D2D/D4D架构(泛在边缘架构) 43 2.2.6 AIoT架构 43 2.3 软件计算架构 44 2.3.1 一般边缘计算软件架构 45 2.3.2 多接入边缘计算架构 47 2.3.3 AIoT软件架构 48 2.3.4 卫星边缘计算架构 49 2.3.5 编程模型 53 2.4 边缘计算操作系统与开源框架 55 2.4.1 EdgeX Foundry 56 2.4.2 StarlingX 58 2.4.3 其他开源框架 58 2.4.4 融合边缘的前端物联网操作系统 59 习题 59 参考文献 59 第3章 边缘接入技术 60 3.1 无线传输机制 61 3.1.1 无线局域网传输机制 61 3.1.2 无线个域网传输机制 62 3.1.3 无线广域网传输机制 68 3.1.4 低功耗广域网传输机制 74 3.1.5 新型无线传输机制 81 3.1.6 总结 84 3.2 无线接入的通信服务协议 84 3.2.1 MQTT 85 3.2.2 AMQP 85 3.2.3 Kafka 87 3.2.4 STOMP 87 3.3 可靠的数据传输 88 3.3.1 考虑移动性的可靠数据传输 88 3.3.2 基于博弈的数据接入 91 3.4 多接入边缘网络与超密集网络 92 习题 94 参考文献 94 第4章 计算任务卸载 95 4.1 任务卸载概述 96 4.1.1 任务卸载概念与步骤 96 4.1.2 计算卸载的时延模型 97 4.1.3 边缘计算任务卸载评价指标 101 4.2 任务卸载方式 103 4.2.1 0-1卸载 103 4.2.2 部分卸载 104 4.2.3 任务切分技术及实例分析 106 4.2.4 子任务卸载策略 109 4.3 不同场景下任务卸载策略研究 110 4.3.1 单用户边缘网络场景 110 4.3.2 多用户边缘网络场景 112 4.3.3 异构服务器边缘网络场景 115 4.4 不同架构下任务卸载策略研究 117 4.4.1 云-边-端架构中的卸载策略 117 4.4.2 边-边架构中的卸载策略 118 4.4.3 多接入边缘架构中的计算卸载 120 4.4.4 定制化边缘架构中的计算卸载 121 4.4.5 用户高移动性网络场景中的计算卸载 123 4.4.6 分布式D2D网络中的计算卸载 129 4.5 开源工具概述 133 4.5.1 Slacker 133 4.5.2 EdgeCloudSim 134 4.5.3 EdgeX Foundry 136 4.5.4 Apache Edgent 136 4.5.5 KubeEdge 137 4.6 边缘卸载策略展望与挑战 139 4.6.1 资源协同调度的挑战与展望 139 4.6.2 用户移动性管理的挑战与展望 140 习题 141 参考文献 141 第5章 虚拟化技术 142 5.1 虚拟化技术概述 143 5.2 虚拟化技术发展历史 143 5.3 虚拟化技术分类 145 5.3.1 指令架构级虚拟化 146 5.3.2 硬件抽象级虚拟化 147 5.3.3 操作系统级虚拟化 153 5.3.4 库函数级虚拟化 156 5.3.5 编程语言级虚拟化 157 5.4 轻量级虚拟化 158 5.4.1 虚拟机与容器 159 5.4.2 Docker 160 5.4.3 Unikernel 162 5.4.4 Firecraker 164 5.4.5 总结 165 5.5 微服务 165 5.5.1 服务架构的发展历程 166 5.5.2 微服务架构特点 166 5.5.3 微服务架构面临的挑战 169 5.6 服务网格 169 5.6.1 服务网格的发展历程 169 5.6.2 服务网格工具: Istio 173 5.6.3 服务网格工具对比 181 5.7 无服务架构 185 5.7.1 发展历史 185 5.7.2 Serverless开源工具 188 习题 192 参考文献 192 第6章 边缘服务管理支撑技术 193 6.1 NFV架构 194 6.1.1 NFV概述 194 6.1.2 服务功能链备份 196 6.1.3 虚拟化内容分发网络 198 6.1.4 NFV与移动场景中的边缘计算 199 6.1.5 NFV MANO架构 200 6.2 软件定义网络 203 6.2.1 SDN架构 204 6.2.2 分布式SDN的一致性更新 205 6.2.3 SDN与NFV的区别与联系 206 6.3 网络切片技术 207 6.3.1 网络切片 207 6.3.2 切片管理 208 6.3.3 切片与NFV服务链 211 6.3.4 网络切片研究项目 213 6.4 数据放置、检索与存储 214 6.4.1 数据放置、检索与存储定义 214 6.4.2 针对不同场景的数据放置与检索服务架构 214 6.4.3 移动性预测检索 217 6.4.4 数据定位服务 219 6.4.5 分布式数据存储 221 6.5 开源框架 222 6.6 总结 230 习题 230 参考文献 230 第7章 边缘服务缓存 231 7.1 边缘服务缓存评价指标 231 7.1.1 面向应用的评价指标 233 7.1.2 服务缓存的评价方法 234 7.2 不同架构下的服务缓存策略研究 237 7.2.1 云-边架构中的服务缓存策略 237 7.2.2 边-边架构中的服务缓存策略 238 7.2.3 多接入边缘架构中的服务缓存策略 240 7.2.4 定制化边缘架构中的服务缓存策略 241 7.2.5 算力优先网络 249 7.2.6 命名数据网络 250 7.3 应用案例分析 252 7.3.1 内容缓存案例及系统实现 252 7.3.2 服务缓存案例及系统实现 255 7.4 边缘缓存策略展望与挑战 260 7.4.1 服务发现、服务交付和移动性 260 7.4.2 异构边缘计算系统中的协作 260 7.4.3 低成本容错部署模型 261 7.4.4 无线大数据的利用 261 7.4.5 系统集成 261 7.4.6 资源管理 262 7.4.7 卸载策略的其他优化 262 7.4.8 考虑卸载与未卸载数据的流量范式 262 7.4.9 隐私安全以及用户信任相关 262 习题 263 参考文献 263 第8章 边缘系统部署 264 8.1 边缘系统部署的典型场景 265 8.1.1 静态部署场景 265 8.1.2 动态部署场景 267 8.2 边缘服务器部署问题 267 8.2.1 部署问题的评价指标及限制条件 268 8.2.2 静态部署问题 271 8.2.3 动态部署问题 281 8.3 部署方案性能评估工具 284 8.3.1 OPNET 285 8.3.2 NS 285 8.3.3 SSFNet 288 8.3.4 MiniNet 288 习题 289 参考文献 289 第9章 边缘计算与人工智能 290 9.1 边缘场景中的人工智能 290 9.1.1 人工智能技术回顾 291 9.1.2 典型的人工智能技术 291 9.1.3 边缘计算与人工智能的结合 295 9.2 人工智能在边缘计算中的应用 297 9.2.1 利用机器学习进行计算卸载决策优化 298 9.2.2 利用机器学习进行服务器部署决策优化 302 9.2.3 利用机器学习进行资源分配决策优化 303 9.2.4 基于边缘计算系统的深度学习应用 305 9.3 边缘网络中的人工智能技术 308 9.3.1 分布式机器学习 308 9.3.2 联邦学习与边缘网络 309 9.3.3 TinyML 313 9.3.4 Fregata 315 9.3.5 AIoT系统 315 9.4 移动端开源机器学习框架 316 9.4.1 TensorFlow Lite 318 9.4.2 Core ML 319 9.4.3 NCNN 320 9.4.4 Paddle Lite 320 9.4.5 MNN 321 9.4.6 MACE 321 9.4.7 SNPE 321 9.5 边缘人工智能展望 322 9.5.1 资源友好型边缘AI模型设计 322 9.5.2 计算感知网络技术 322 9.5.3 任务卸载到IoT设备 323 9.5.4 动态预测 323 9.5.5 ML集成 324 9.5.6 DNN性能指标权衡 324 9.5.7 新型AI模型与技术探索 325 习题 325 参考文献 325 第10章 安全与隐私保护 326 10.1 边缘计算隐私保护概述 327 10.1.1 隐私保护在边缘计算中的作用 328 10.1.2 边缘计算相比云计算在隐私保护方面的优势 328 10.2 边缘计算数据安全与隐私保护体系 329 10.2.1 基础设施安全 329 10.2.2 边缘数据安全 330 10.2.3 边缘网络安全 332 10.2.4 移动终端安全 332 10.3 通用边缘安全技术 333 10.3.1 数据加密 333 10.3.2 身份认证 338 10.3.3 隐私保护 339 10.3.4 访问控制 340 10.4 区块链与联邦学习 341 10.4.1 区块链+边缘计算 341 10.4.2 隐私保护的边缘联邦学习 348 10.5 隐私保护的开源工具和未来挑战 352 10.5.1 隐私保护的开源工具 352 10.5.2 隐私保护的未来挑战 354 习题 355 参考文献 355 第11章 应用案例分析 356 11.1 智慧远程医疗 356 11.1.1 设计思路与解决方案 357 11.1.2 存在的问题与发展方向 359 11.2 智慧交通 359 11.2.1 设计思路与解决方案 361 11.2.2 存在的问题与发展方向 362 11.3 智慧家居网关 362 11.3.1 设计思路与解决方案 364 11.3.2 存在的问题与发展方向 365 11.4 智慧工厂 365 11.4.1 设计思路与解决方案 366 11.4.2 存在的问题与发展方向 368 11.5 自动驾驶车联网 369 11.5.1 设计思路与解决方案 370 11.5.2 存在的问题与发展方向 371 11.6 可穿戴边缘计算 372 11.6.1 设计思路与解决方案 373 11.6.2 存在的问题与发展方向 374 11.7 VR/AR 375 11.7.1 设计思路与解决方案 375 11.7.2 存在的问题与发展方向 378 参考文献 378 第12章 边缘系统设计与实践 379 12.1 架构设计与硬件设备概述 380 12.1.1 AVR 381 12.1.2 MSP430 382 12.1.3 ARM 383 12.1.4 设备选择 383 12.2 前端硬件设备环境说明 386 12.3 服务器环境配置 387 12.3.1 系统安装 388 12.3.2 Web服务器的搭建 389 12.3.3 视觉算法概述 391 12.3.4 TensorFlow Lite的安装及测试 393 12.4 服务部署 395 12.4.1 Docker安装 395 12.4.2 Docker Hub 397 12.4.3 个性化Docker镜像 397 12.4.4 整合 406 12.5 利用EdgeX Foundry开源平台创建服务 408 12.5.1 EdgeX Foundry概述 408 12.5.2 环境配置及使用 409 参考文献 418 ---------------------------8081492 - 深入理解边缘计算:云、边、端工作原理与源码分析--------------------------- 前言 基础篇 第1章 边缘计算入门3 1.1 边缘计算系统3 1.1.1 边缘计算系统的组成3 1.1.2 概念解析6 1.2 边缘计算的意义11 1.3 边缘计算系统的部署与管理11 1.3.1 系统部署11 1.3.2 系统管理23 1.4 不同应用部署方式的比较25 1.5 本章小结27 第2章 云、边、端的部署与配置29 2.1 边缘计算整体架构29 2.2 部署云部分—Kubernetes31 2.2.1 Kubernetes相关的容器运行时部署31 2.2.2 Kubernetes的学习环境部署34 2.2.3 Kubernetes的生产环境部署39 2.3 部署边缘部分—KubeEdge45 2.3.1 以系统进程的方式部署KubeEdge45 2.3.2 以容器化的方式部署KubeEdge51 2.4 部署端部分—EdgeX Foundry52 2.4.1 以系统进程的方式部署EdgeX Foundry53 2.4.2 以容器化的方式部署EdgeX Foundry57 2.5 本章小结60 原理篇 第3章 边缘计算系统逻辑架构63 3.1 边缘计算系统逻辑架构简介63 3.2 云、边协同64 3.3 边、端协同65 3.4 云、边、端协同68 3.5 本章小结68 第4章 云部分原理解析71 4.1 整体架构71 4.2 逻辑架构72 4.3 控制流程74 4.3.1 集群基础设施层面的资源的控制流程74 4.3.2 集群中应用负载层面的资源的控制流程77 4.4 数据流81 4.4.1 集群内应用负载间的数据访问流81 4.4.2 集群外应用到集群内应用负载的数据访问流86 4.5 资源调度88 4.5.1 资源调度流程88 4.5.2 资源调度算法和调度策略89 4.6 资源编排90 4.7 本章小结91 第5章 边缘部分原理解析93 5.1 KubeEdge的整体架构93 5.2 与云交互的组件94 5.3 管理边缘负载的组件96 5.4 与终端设备交互的组件97 5.5 云、边协同98 5.6 设备管理模型100 5.7 边缘存储和网络资源102 5.8 边缘节点管理103 5.8.1 以节点的形式管理边缘计算资源103 5.8.2 以独立集群的形式管理边缘计算资源104 5.8.3 以多集群的形式管理边缘计算资源105 5.9 本章小结106 第6章 端部分原理解析107 6.1 整体架构107 6.2 设备服务层108 6.3 核心服务层110 6.4 支持服务层115 6.5 导出服务层119 6.6 安全组件122 6.7 系统管理组件122 6.8 本章小结123 源码分析篇 第7章 云部分源码分析127 7.1 搭建开发环境127 7.1.1 安装Go和GoLand127 7.1.2 安装Git并下载Kubernetes源码130 7.1.3 Go Modules简介130 7.1.4 下载Kubernetes的源码依赖131 7.2 Kubernetes源码整体结构分析131 7.3 组件源码分析133 7.3.1 共用命令行工具库Cobra133 7.3.2 Kube-apiserver136 7.3.3 Kube-controller-manager140 7.3.4 Kube-scheduler145 7.3.5 Kubelet148 7.3.6 Kube-proxy150 7.4 本章小结153 第8章 边缘部分源码分析155 8.1 搭建开发环境155 8.2 源码整体架构分析155 8.2.1 源码及组件源码入口155 8.2.2 组件中各功能模块的共用框架和功能分析160 8.3 组件源码分析166 8.3.1 配置文件读取166 8.3.2 CloudCore172 8.3.3 EdgeCore之Edged180 8.3.4 EdgeCore之DeviceTwin189 8.3.5 EdgeCore之EdgeHub195 8.3.6 EdgeCore之EventBus202 8.3.7 EdgeCore之MataManager206 8.3.8 EdgeCore之EdgeMesh212 8.4 本章小结217 第9章 端部分源码分析219 9.1 搭建开发环境219 9.2 源码整体架构分析219 9.3 组件源码分析220 9.3.1 Config-seed221 9.3.2 Core-command232 9.4 本章小结238 |