延世大学新兴技术笔记-全-

延世大学新兴技术笔记(全)

1:0_介绍 📚

欢迎来到我的课程《大数据与新兴技术》。在本课程中,我们将探讨大数据服务、产品和核心技术的各个方面。

课程概述

在本节课中,我们将要学习大数据领域的整体图景、关键技术、实际应用案例以及一个实践项目。课程内容将从市场概况开始,逐步深入到具体的技术架构和工具。

课程内容详解

市场与行业分析 🏢

首先,我们将审视大数据市场的格局。我们将基于市场份额来分析企业评级,看看哪些公司是市场的领导者。

以下是市场的主要细分领域:

  • 硬件
  • 专业服务
  • 软件

我们将分析这些领域的市场份额构成,并识别各领域的领军企业。

上一节我们介绍了市场格局,本节中我们来看看未来的潜力。我们还将探讨未来在软件、专业服务和硬件方面的潜在增长趋势。

核心技术产品与案例研究 🔬

接着,我们将深入了解这些大数据技术领先公司所提供的主要产品。

我们也会研究一个关键案例:始于美国的H1N1流感病毒。这一事件突显了大数据技术的重要性。

我们将审视美国疾病控制与预防中心当时面临的问题,并探讨谷歌如何利用大数据帮助确定疫苗的供应量和地点。

此外,我们还将分析他们的数据如何被用于预测疫情的发展趋势。

大数据的核心挑战:4V模型 ⚡

大数据面临的主要挑战通常被概括为4V模型。以下是其具体内容:

  • Volume(体量):海量的数据规模。
  • Variety(多样性):数据类型的多样化。
  • Velocity(速度):数据生成和处理的速度。
  • Veracity(准确性):数据的质量和可信度。

我们将探讨企业如何利用这些特性来获得竞争优势。

Apache开源技术栈 🛠️

然后,我们将进入Apache开源应用程序的世界,主要包括Hadoop、Spark和Storm。

我们将从批处理和实时流处理的角度来审视它们的特点。

我们将更深入地研究Hadoop,特别是MapReduce和HDFS技术。

此外,我们还会了解Mahout、Flume、HBase和Hive,以及它们如何支持基于Hadoop的运算。

我们将详细研究Hadoop中的MapReduce和分布式文件系统,并了解这些运算的处理过程。

我们还将研究集群操作,了解名称节点、数据节点、作业跟踪器和任务跟踪器如何协同工作,以处理和调度整体的大数据分析任务。

接下来,我们将探讨Hadoop YARN。我们将分析这些组件块如何设置、它们之间的管理关系以及启动顺序等细节。

深入Apache Spark 💥

之后,我们将聚焦Apache Spark。我们将关注其核心,以及内存设备(如内存、SSD和HDD)的作用。

Spark支持多种编程语言的API,主要包括:

  • Scala
  • Python
  • Java
  • R

此外,我们还将了解其主要功能库:

  • Spark SQL
  • Spark Streaming
  • GraphX
  • 机器学习库

我们也将学习集群管理技术,包括Hadoop YARN、Standalone模式和Mesos。

我们会关注周边的支持技术,如YARN、ZooKeeper,并了解数据库管理系统,如HDFS、Kafka、Cassandra等。

在Spark的机器学习部分,我们将深入研究其机器学习库包含的功能。

我们还将学习Spark如何基于不同的传输和网络速度差异,实现快速、优化的大数据处理流程。

我们将更细致地观察Spark作业,它被划分为多个阶段,每个阶段又分为多个任务和线程,并分配给运算核心执行。

我们也会研究Spark的Standalone模式,了解这些组件块如何创建及其功能;同时探讨Mesos如何作为集群管理方案来运作Spark。

我们还将查看Spark在YARN集群模式下的功能块形成、设置方式以及它们如何协同工作。

流处理技术与应用 🌊

接着,我们将研究Spark Streaming,了解输入源如何处理、结果如何保存和操作,以及像Netflix这样的公司会如何使用它。

此外,对于以极快速度流入的在线销售数据,可以通过Kafka传递;实体百货店的销售记录也可以通过Flume纳入Spark Streaming进行处理。我们将进一步探讨这些细节。

然后,我们将深入了解Storm的细节。Storm能对系统做出更快的响应,它采用了一种由Spouts和Bolts组成的架构,其中Supervisor由ZooKeeper和Nimbus节点管理。

我们将看到Twitter过去如何使用Hadoop来分析其系统并支持用户服务。

我们也将了解Apache Storm目前如何被Twitter用来支持其服务。

以及股票市场操作如何利用Storm来快速适应股票市场内部的新变化。

实践项目:IBM SPSS Statistics 📈

最后,我们将进行一个实践项目,重点学习IBM SPSS Statistics。

选择IBM的原因是,IBM在大数据技术的所有领域都拥有极高的排名。因此,如果你在职业生涯中要使用大数据技术,很可能在某个阶段会接触到IBM的服务。

所以,我们不妨简单了解一下如何在IBM SPSS Statistics中完成一个简单的项目。

总结

本节课中,我们一起学习了《大数据与新兴技术》课程的完整路线图。我们从市场概述开始,穿越了核心的4V挑战,深入探讨了Hadoop、Spark和Storm等关键技术栈的架构与组件,并了解了它们在实际案例(如流感预测、Twitter、Netflix)中的应用。最后,课程将以一个基于IBM SPSS Statistics的实践项目收尾,为未来的专业应用打下基础。

衷心欢迎你加入我的课程,与我一同学习,非常感谢。

2:1_1.1 大数据市场分析 📊

在本节课中,我们将要学习大数据市场的整体格局,分析主要市场参与者的份额排名,并了解大数据技术如何作为核心驱动其他相关产业的发展。

欢迎来到“大数据市场分析”讲座。

首先,我们来看看全球大数据市场份额的排名情况。如图所示,有一些领先的公司总体上占据了市场的大部分份额。

大数据市场份额基于软件、硬件和专业服务这几个细分市场。接下来,我们将逐一查看这些领域的排名。

在上一节我们了解了整体市场后,本节中我们来看看大数据软件的市场份额。以下是排名靠前的公司及其所占份额,例如:SAPSplunkOracleIBMMicrosoft 等。

接下来,我们转向专业服务市场。以下是该领域的市场份额趋势图。排名前四的公司情况如下所示。

综合来看,以大数据为中心的产业全景图是这样的:大数据处于中心位置,而物联网云服务、各种移动服务(包括移动通信和交通服务)以及多种生物技术领域,都围绕大数据技术的贡献展开并相互关联。

以上是我所使用的参考资料,在此推荐给你。感谢观看。

在本节课中,我们一起学习了全球大数据市场的份额排名,分析了软件与专业服务等关键细分领域的领导者,并理解了大数据作为核心技术在现代产业生态中的中心地位。

3:2_1.2 IBM 与 1.3 SAP 📊

在本节课中,我们将了解大数据领域的几家领先企业及其核心产品。我们将首先介绍IBM,然后探讨SAP,分析它们如何通过各自的解决方案来应对大数据挑战。


认识行业领导者:IBM 🏢

上一节我们概述了大数据的基本概念,本节中我们来看看该领域的两位重要参与者。首先,我们将目光投向IBM。

IBM于1911年在美国成立。根据相关排名,IBM在大数据公司中位列第一,在大数据软件中排名第四,在大数据硬件中排名第二,在专业服务领域也位居第一。由此可见,IBM确实是该领域的领导者。

观察IBM Big Insights的界面,可以看到其中包含大量信息,其焦点集中在诸如HDFSData NodeName NodeYARN等关键词上。这些术语的含义我们将在后续课程中详细解释。

IBM Big Insights是IBM的企业级平台,它整合了HadoopSpark这两种当前驱动世界发展的开源数据技术。该平台能够实现快速、准确的大数据分析。同时,它还提供了针对Spark、SQL、文本分析等领域的解决方案。

IBM SPSS Statistics的界面如图所示,我们将在本课程末尾的一个项目中详细探讨其功能。通过一个统一的集成界面,用户可以执行描述性统计、回归分析、高级统计等操作。

以下是其部分核心功能:

  • 专业的扩展功能允许用户通过R和Python API来增强SPSS的语法。
  • 针对产品、服务、集成和大数据分析,提供了SparR、SQL、文本分析等解决方案。

IBM硬件产品解析 🔧

现在,让我们深入了解IBM的具体产品。首先来看IBM Power System。

当你查看这些规格的细节时,请特别注意几个数字。例如,20个核心,运行频率为3.3 GHz。我们后续将学习Spark核心,以及线程如何进入核心被处理。核心能够以多快的速度工作?这里明确列出:我们有20个核心,它们可以以最高3.3 GHz的速度运行。这将在我们学习大数据处理架构的更多细节时用到。

此外,还有1 TB内存,以及230 GB/秒的内部模块间数据交换速率。你可以关注这个速度,稍后我将解释,Spark和Storm等框架将利用这些更快的传输速率来整体优化其处理能力。

在底部,你还会看到 2 x SFF,这代表小型规格,以及HDSSD,提供2 TB的存储空间。SFF代表小型规格,在后面的内容中,你还会看到LFF,代表大型规格。这里的参考标准是:小型规格类似于2.5英寸磁盘驱动器尺寸,大型规格类似于3.5英寸磁盘驱动器尺寸。需要说明的是,在其他技术中,小型或大型规格可能指代不同的尺寸标准,但在此处参考此标准是适用的。

另外,HD代表硬盘驱动器SSD代表固态硬盘。SSD内部没有磁盘,但如果下方标明SFF,其小型规格尺寸当然也是这个标准。如你所见,你可以在HD和SSD之间进行选择。

需要指出的是,在本课程后面的讲座中,我们将讨论它们的数据传输速度以及这如何影响整体操作(例如在Hadoop、Spark和Storm中)。请记住你有这个选择,当然,SSD比HD驱动器更昂贵。因此,当你的设备内部有多个驱动器时,它们将决定设备的成本。然而,由于它们的速度不同,稍后你会发现,即使它们更贵,你可能仍希望在系统中使用它们。在接下来的产品中,你会看到其他设备拥有多个此类单元。届时,你需要根据预算和性能需求来决定如何配置。

让我们进一步查看更多设备和产品。

对于IBM的这款Power System,你可以看到它同样拥有20个核心及其速度。此外,你还会看到它拥有每插槽192 GB/秒的带宽,以及18个用于HD或SSD驱动器的小型规格插槽。你还可以看到它配备了千兆位/秒速度的以太网局域网。

此外,这里还有另一款存储设备,其总传输速率为16 Gb/秒,并拥有用于HD和SSD的大尺寸驱动器。同时,你还可以看到设备适配器的速度。


IBM软件与服务套件 🧠

观察IBM Spectrum Storage Suite,你可以看到这里的界面。它提供了对一个软件家族的无限访问许可,该家族拥有易于使用的用户界面。此外,其成本是固定的,基于每TB定价,这非常容易理解。同时,它为扩展提供了可预测的成本,使得预测支持更大系统需要多少额外资金变得更加容易。

接着,IBM还拥有Watson Analytics。它提供智能数据分析解决方案,并帮助可视化在云中分析的数据。此外,它还具备自动数据准备、预测建模和数据可视化服务。它可以搜索洞察、提供即时答案,并且无需培训,任何人都可以免费开始使用。

现在,关于在各种系统以及大数据系统中使用的深度学习和机器学习技术,更多细节可以在《深度学习商业应用》课程中找到,这是我的另一门课程。


另一巨头:SAP 🌍

上一节我们介绍了IBM,本节中我们来看看另一家重要的企业软件公司——SAP。

SAP于1972年在德国成立。它在大数据公司中排名第二,在软件领域排名第一

观察其软件平台S/4 HANA,它在业务应用软件中拥有最大的市场份额。对于大数据服务,它提供SAP Cash Apps、欺诈管理、服务票务等功能。

HANA是一个先进的关系数据库管理系统,它将OLAP(在线分析处理)和OLTP(在线事务处理)的功能结合在一个内存数据库中。它支持即时、智能和集成的企业资源规划。

以下是S/4 HANA的主要特性:

  • 符合ACID原则
  • 具备内存数据库功能。
  • 存储压缩数据
  • 提供跨多处理器核心的并行处理
  • 支持SIMD指令

这些是我使用的参考资料,我推荐给你。谢谢。


课程总结 📝

本节课中,我们一起学习了大数据领域的两家领军企业——IBM和SAP。我们探讨了IBM在大数据硬件(如Power System)、软件平台(如Big Insights、SPSS)及云分析服务(如Watson Analytics)方面的产品布局。随后,我们了解了SAP及其核心的S/4 HANA内存计算平台如何整合事务处理与分析处理,为企业提供智能的ERP解决方案。理解这些行业巨头的技术和产品方向,有助于我们把握大数据技术的实际应用与商业价值。

4:主要大数据公司概览(Oracle, HPE, Splunk, Accenture, Dell, Teradata)📊

在本节课中,我们将学习几家在大数据领域占据重要地位的公司。我们将了解它们的历史、核心产品平台以及在行业中的排名。这些公司分别从数据库软件硬件服务器数据分析平台专业咨询服务等不同角度,构成了大数据生态系统的基础。


🗃️ 1. Oracle

Oracle公司成立于1977年。其核心产品平台是Oracle数据库管理系统

在大数据公司排名中,Oracle位列第三。在软件领域排名第三,在硬件领域排名第六。

Oracle DBMS是运行在内存和磁盘系统上的Oracle服务器,具备多种功能。


💻 2. HPE

HPE代表慧与公司。它是成立于1939年的惠普公司的一部分。

2015年,惠普公司将业务分拆:电脑制造和销售归入HP Inc.,而云服务等业务则归入HPE

在大数据公司排名中,HPE位列第四。在硬件领域排名第一。

HPE服务器产品线

以下是HPE的Apollo系列服务器家族,主要包括2000、4000和6000系统。这些系统在硬盘配置、处理能力和可扩展性方面各有不同。

  • Apollo 2000系统:支持最多4个热插拔服务器节点,内存最高可达1.5TB,并提供最多24个小尺寸组件槽位,可选择HDD或SSD。
  • Apollo 4000系统:支持28个大尺寸组件和54个小尺寸组件,均可使用热插拔驱动器。
  • Apollo 6000系统:每个节点配备两个处理器,每个处理器最多28个核心,主频为2.5 GHz。提供4个小尺寸组件槽位(可选HDD或SSD),内存选项如下文所列。

StoreEasy 1550存储系统中,列出了可支持的用户数量、网络控制器和存储容量等配置选项。

内存模块方面,提供了HPE 8GB设备,其容量和内存大小均有明确记录。


🔍 3. Splunk

Splunk公司成立于2003年。其智能业务运营产品包括用于搜索、监控和分析机器生成的大数据的软件。

它提供网页式用户界面。在大数据公司排名中位列第六,在软件领域排名第二。

Splunk企业级产品功能域

Splunk企业级产品功能涵盖以下几个核心领域:

  • 数据收集与索引:接受所有数据类型,无论格式、位置(如指标、日志、点击流、传感器、Web服务器、应用程序数据等)均可建立索引。
  • 搜索与调查Splunk搜索处理语言 支持对数据和信息进行强大的搜索。
  • 关联与分析:揭示并分析事件与活动之间的关系。
  • 可视化与报告:趋势和特征可以轻松地在自定义仪表板中可视化,全面支持业务、运营和安全报告。
  • 监控与警报:可轻松设置实时警报,并通过电子邮件或RSS自动触发通知。
  • 随时随地访问:为管理员和用户提供安全的远程访问能力。

🧠 4. Accenture

Accenture公司成立于1989年,提供管理战略、咨询和大数据解决方案。

它是战略、咨询、数字技术和运营领域的解决方案提供商。在大数据公司排名中位列第七,在专业服务领域排名第二。


🖥️ 5. Dell

Dell公司成立于1984年。Dell收购了EMC公司,而EMC此前收购了云计算技术公司VMware。

因此,Dell拥有了EMC和VMware的技术。它从事制造、销售、维修和服务,产品包括个人电脑、服务器、存储和云软件。

在大数据公司排名中位列第八,在硬件领域排名第三。

Dell硬件产品

PowerEdge服务器的规格如上图所示。

对于Dell存储系统,可以看到24个可热插拔的2.5英寸驱动器(小尺寸规格)。此外,使用2.8TB的HDD最多可提供48TB的存储容量。


☁️ 6. Teradata

Teradata公司成立于1979年,提供管理、战略和咨询服务。

其产品平台是Teradata IntelliCloud。在大数据公司排名中位列第九,在专业服务领域排名第四。

IntelliCloud提供先进、安全、托管的云技术。其服务部署选项包括IntelliFlex和IntelliBase。

这些服务为Teradata数据库Aster数据分析Hadoop系统以及亚马逊云服务微软Azure平台提供大数据软件支持。


📚 总结

本节课我们一起学习了几家关键的大数据公司:Oracle(数据库软件)、HPE(服务器硬件)、Splunk(数据分析平台)、Accenture(专业服务)、Dell(集成硬件与解决方案)以及Teradata(云数据仓库服务)。它们各自在不同的细分领域排名靠前,共同构建了处理和分析海量数据的技术基础架构。理解这些主要参与者,有助于我们把握大数据行业的整体格局。

5:1.9 微软、1.10 思科与1.11 AWS 🏢💻☁️

在本节课中,我们将学习三家在云计算与大数据领域至关重要的科技公司:微软、思科和亚马逊云科技。我们将了解它们的发展历程、核心平台与服务,以及它们在大数据生态系统中的独特定位。


1.9 微软 (Microsoft) 🪟

上一节我们介绍了多家大数据公司,本节中我们来看看软件巨头微软。

微软成立于1975年,其大数据平台是 Microsoft Azure。该平台与SAP、Hannah和Splunk等系统具有良好的互操作性。在大数据公司排名中,微软位列第十;在软件公司中,它排名第五。

Microsoft Azure 提供广泛的服务,包括:

  • 计算
  • 网络
  • 存储
  • Web与移动应用服务
  • 数据库
  • 数据分析

它是一个一致的混合云技术平台,支持数据驱动的智能应用。Azure强调安全性、隐私性和透明度,并拥有最广泛的合规性认证。由于微软的操作系统普及度极高,这一特性显得尤为重要。


1.10 思科 (Cisco) 🌐

了解了微软的云平台后,我们转向网络基础设施领域的领导者——思科。

思科成立于1984年,是全球最大的网络公司。它主要开发、制造并提供网络与电信系统及服务。在大数据硬件领域,思科排名第四。

以下是思科的一些核心产品与服务:

  • 服务器:提供数据中心所需的总带宽和内存选项。
  • 数据中心网络:支持具有架构灵活性的敏捷网络运营。
  • 计算与存储:支持统一的计算、存储和网络能力。
  • 自动化与混合云:支持自动化IT任务、加速应用并优化处理流程。
  • 分析与安全:提供实时应用分析,以及先进的网络与数据保护。

1.11 亚马逊云科技 (AWS) ☁️

最后,我们来看看云计算市场的开创者——亚马逊云科技。

亚马逊云科技于2006年作为亚马逊的子公司推出。它提供超过90种服务类型,涵盖计算、存储、网络、数据库、分析、应用服务、物联网工具等众多领域。在大数据硬件领域,AWS排名第七。

AWS的 S3(简单存储服务) 是一个非常受欢迎的对象存储服务。它支持从任何地方存储和检索任意数量的数据,可用于网站、移动应用、企业应用、物联网数据等场景。

AWS服务的关键特性包括:

  • 数据持久性与可靠性:设计目标是提供 99.999999999%(小数点后11个9)的持久性。
  • 安全与访问管理:能够控制和监控所有数据库访问。

总结

本节课中,我们一起学习了三家顶尖科技公司在大数据与云计算领域的布局。微软凭借其广泛的操作系统基础和Azure混合云平台占据重要地位;思科作为网络硬件巨头,为数据中心和混合云提供核心基础设施;而亚马逊云科技则以丰富的服务生态和极高的可靠性,引领着公有云市场的发展。理解这些公司的核心产品与服务,是构建现代技术解决方案的基础。

以下是我使用的参考资料,也推荐给你。

6:大数据生态系统概览 🗺️

在本节课中,我们将要学习大数据生态系统的构成、其从2012年到2017年的演变,以及对未来市场的预测。我们将通过图表和分类,清晰地了解参与其中的各类公司和技术领域。

大数据生态系统的演变

大数据生态系统在2012年的格局如图所示,当时可以看到参与其中的公司。到了2017年,格局发生了显著变化。更多公司加入进来,产品的数量和多样性都出现了巨大的增长。

生态系统的核心组成部分

上一节我们看到了生态系统的整体演变,本节中我们来看看其具体的组成部分。大数据生态系统主要可以分为几个关键领域。

基础设施领域

让我们聚焦于其中一个部分,即基础设施领域。我们刚才讨论过的一些公司,连同其他公司,都被列在这里。

以下是该领域的一些代表性公司:

  • Cloudera
  • Hortonworks
  • MapR

数据分析领域

接下来,我们看看数据分析部分。你可以看到我们研究过的公司,以及其他一些公司。

以下是该领域的一些代表性公司:

  • Splunk
  • Tableau
  • Qlik

应用与跨领域部分

在生态系统的另一部分,你可以看到应用、企业级解决方案以及多样化的公司,其中也包括我们探讨过的一些公司。此外,那个区域是跨基础设施和分析的领域,我们刚刚谈到的公司也列在此处。

以下是该领域的一些类别:

  • 企业应用
  • 行业特定解决方案
  • 跨基础设施与分析平台

未来市场预测

了解了当前的生态系统构成后,我们展望一下未来。展望至2026年,这里有一项预测。你可以看到针对大数据技术的整体预期市场增长。

市场细分预测

在这项预测中,主要包含三个部分。其中,软件部分是最大的,其次是硬件部分,另外还有专业服务部分。

以下是2026年大数据市场的细分预测:

  • 软件:预计占据最大市场份额。
  • 硬件:构成市场的重要组成部分。
  • 专业服务:包括咨询、部署与维护等服务。

课程参考资料

这些是我所使用的参考资料,我推荐给你。


本节课中,我们一起学习了大数据生态系统的全景。我们从2012年和2017年的格局对比中看到了其快速发展和参与者数量的激增。接着,我们剖析了生态系统的核心组成部分,包括基础设施、数据分析以及应用与跨领域解决方案。最后,我们展望了到2026年的市场预测,了解了软件、硬件和专业服务等细分领域的发展前景。

7:大数据实践与特征 🧠

在本节课中,我们将学习大数据技术的一个经典实践案例,并深入探讨大数据区别于传统数据分析的核心特征。我们将通过一个真实的故事来理解大数据如何解决现实世界中的紧迫问题。

大数据在行动:谷歌流感预测案例 📈

上一节我们了解了大数据的基本概念,本节中我们来看看大数据技术是如何在现实中发挥巨大作用的。一个著名的案例是谷歌公司对H1N1流感病毒的预测。

故事始于2009年,一种结合了禽流感和猪流感基因的新型H1N1流感病毒在美国开始传播。由于这种组合病毒非常危险,其传播速度引起了广泛担忧。

美国疾病控制与预防中心当时每周仅收集一次来自医生的诊断数据。因此,依靠CDC的信息来追踪流感传播情况,会产生大约两周的延迟。这与病毒的快速传播速度相比,显得过于缓慢。

这引发了一系列紧迫问题:需要何种疫苗、需要多少剂量、以及应该将疫苗投放到哪些地区。疫苗的制备和分发计划无法迅速制定,难以有效控制病毒的扩散。

就在这时,谷歌在《自然》期刊上发表的一篇论文引起了巨大关注。该论文表明,谷歌能够利用其搜索引擎的查询数据,准确预测美国冬季流感的传播情况,甚至可以精确到具体的地区和州。这篇论文的发表时间,比H1N1病毒成为头条新闻早了数周。

这篇题为《利用搜索引擎查询数据检测流感疫情》的论文,其核心并非使用CDC的结构化数据库数据,而是利用了用户在谷歌搜索引擎中输入的查询数据。

以下是该研究的关键发现图示:

在图表中,黑线代表基于搜索引擎查询数据的预测结果,红线则代表CDC实际记录的数据。从宏观的年度数据对比来看,两者高度吻合。

进一步从微观时间尺度(例如从二月初到五月中旬)观察,黑线(预测数据)与红线(实际数据)的曲线进展也匹配得相当准确。这一发现极大地激发了人们对于如何利用此类信息的兴趣。

谷歌每天接收超过30亿次搜索查询。为了追踪H1N1病毒的传播,谷歌测试了数百万个最常用的搜索词和数百万个不同的数学模型。分析系统旨在寻找特定搜索查询的频率与流感随时间和空间传播之间的相关性,从而定位疫情爆发的具体地点。

谷歌的分析方法并未使用来自医院或医生的数据,而是利用了关于最常见搜索词的大数据。

需要指出的是,用户在搜索引擎中输入的信息并非都是规整的结构化数据。很多是半结构化数据,并不完全适合直接存入传统数据库。此外,输入内容常包含不完整的词语、拼写错误或非标准术语。谷歌搜索引擎正是利用了这类非结构化半结构化数据

令人惊叹的是,基于这类数据,谷歌系统被证明比专门关注医疗数据的政府统计数据分析更加准确和快速。

大数据的核心特征 🔍

了解了大数据的一个成功实践后,我们现在来系统性地比较大数据分析与传统数据分析的特征差异。

以下是两者的主要区别:

  • 分析范围:大数据分析处理整个数据集。传统数据分析则通常基于样本数据进行分析。由于是样本数据,其结果需要标明误差范围和可靠率。
  • 可扩展性:大数据系统具有极高的可扩展性。数据集可以扩展到TB、PB级别甚至更大,系统仍能快速准确地处理。传统数据库管理或数据分析方案的可扩展性非常有限,当数据量增长后可能无法有效工作。
  • 数据类型处理能力:大数据分析功能强大,能够处理结构化数据半结构化数据非结构化数据。传统数据分析通常只能用于结构化数据
  • 系统架构:大数据分析在数据库集群和网络节点上极为高效,数据以高度分布式的方式进行处理。传统数据库系统则在集中式系统上分析数据,将所有数据汇集到一处再进行分析。
  • 硬件与网络:大数据分析系统可以部署在商用计算机和服务器上,无需专门定制的硬件。其网络也使用标准的快速商用网络(例如通过百兆或千兆以太网连接的Hadoop分布式文件系统节点)。而在许多传统数据分析系统中,不仅服务器是定制的,其网络也常采用为特定计算服务器设计的存储区域网络

总结 📝

本节课中,我们一起学习了大数据技术的一个里程碑式应用——谷歌利用搜索查询数据预测流感传播,并系统对比了大数据分析与传统数据分析的核心特征。

我们了解到,大数据的价值在于能够从海量、多样(包括非结构化和半结构化)、快速产生的数据中,通过分布式处理技术,获得比传统方法更及时、更深入的洞察。这为应对公共卫生危机等复杂挑战提供了新的强大工具。


参考资料:本讲内容基于课程提供的参考文献。更多细节将在后续课程中继续探讨。

8:7_2.3 大数据的4V特性 2.4 大数据的应用方式 🧠

在本节课中,我们将要学习大数据的核心挑战——4V特性,并了解大数据在现实世界中的具体应用方式。我们将从数据本身的巨大挑战出发,逐步过渡到企业如何利用大数据技术解决实际问题。

2.3 大数据的4V特性

大数据带来的巨大挑战,可以归纳为四个“V”。

以下是这四个特性的具体内容:

  1. 数据量:基于数据规模。到2020年,全球产生的数据量预计将达到40泽字节,这是一个极其庞大的数字。此外,每天产生2.5万亿字节的数据,并且这个数字还在增长。全球有60亿人拥有手机,这个数字也在增加。大多数美国公司至少存储了100太字节的数据。2009年,美国制造业的存储容量大约为966拍字节。显然,数据规模正在呈指数级增长。
  2. 多样性:基于数据格式。2011年,全球医疗保健数据的估计规模为150艾字节。此外,人们每月在YouTube上观看视频的时间超过40亿小时。Facebook上每月有300亿条内容被交换。推特每月有2亿活跃用户,每天交换4亿条推文。Facebook和推特的这些数字还在增加。
  3. 速度:基于数据流速度。纽约证券交易所每个交易时段会交换1太字节的交易信息。现代汽车安装了100个传感器,用于监测液位和压力,并辅助自动驾驶和事故预防。2016年,估计有189亿个网络连接。
  4. 真实性:基于数据可信度。三分之一的商业领袖在尝试做出商业决策时,曾遇到过数据可信度问题。据估计,美国经济每年因数据质量差而造成的浪费高达3.1万亿美元。

这些就是大数据系统面临的四大挑战。

从4V特性看大数据挑战

上一节我们介绍了大数据的4V特性,本节中我们来看看这些特性具体带来了哪些技术挑战。

首先,数据量太大。你无法移动它,也无法将其收集到一个地方再进行分析,因为数据量实在过于庞大。你必须以分布式的方式进行分析,使用的不是一台计算机,而是一个计算系统集群。

其次,数据格式过于多样。每天都有许多新的移动应用、新的数据类型和新的信息符号被创造和使用。因此,数据类型在不断增长。为了让一个数据系统能够分析所有这些系统的特征,你需要一个能够持续学习、增长并包含新信息的引擎。

另一方面,数据产生的速度极快。数据是实时产生的,特别是因为我们现在使用大量移动设备和智能手机,产生了许多视频数据、社交网络信息。这些信息不仅以点对点、人对人的方式交换,还以各种方式多播和广播。因此,流数据的规模正在急剧增长。

此外,由于数据种类繁多,我们接收到系统中进行分析的数据,其可信度如何?我有什么参考依据来分析它?这些都是大数据面临的问题。在本课程中,我们将看到这些系统如何工作,以提取有用信息,并利用这些信息做出准确决策。

2.4 大数据的应用方式

现在,我们来看看大数据是如何被使用的。

以下是几个典型的大数据应用案例:

  • 沃尔玛的数据仓库:沃尔玛拥有一个数据仓库,存储了大约4拍字节的数据。它记录了每一笔交易。数据分析的重点是评估定价策略和广告活动的有效性。寻求库存管理和供应链的改进方法对沃尔玛至关重要,因此提取这些信息是重点。
  • 基于大数据的推荐系统:许多数据被用于分析的一项主要技术是推荐系统。这使用了数据分析中的简单元素:用户过去购买了什么?他们的虚拟购物车里有什么商品?客户评价和喜欢了哪些商品?评价对其他客户做出购买决定产生了什么影响?将这类信息运用到极致的公司是亚马逊。亚马逊的推荐系统世界闻名。它使用了物品到物品的协同过滤算法。在线商店的个性化是为每个客户定制的。因此,每个客户的商店页面都基于客户的个人兴趣。例如,对于一位新妈妈,商店首页会展示婴儿用品和玩具,以及其他这位新妈妈可能感兴趣的商品。
  • 花旗银行的全球洞察:花旗银行在100个国家开展业务。对基本金融交易数据库进行大数据分析,可以获得关于投资、市场变化、贸易模式和经济状况的全球洞察。许多公司与花旗银行合作,在全球范围内选址开设新店和工厂。
  • 产品开发与销售:这里有一个例子可以让你更深入地了解大数据能做什么。让我们想想智能手机。我们都有智能手机。那么,营销策略如何与智能手机相关联,并从大数据引擎中受益?例如,智能手机的制造需要大量的时间和金钱。此外,某款智能手机只在有限的时间内流行,而且手机上的某些功能可能在特定地区更具吸引力。为了最大化销售额,公司需要制造恰好数量的产品,并在恰好的地点销售。这样,他们就能最大化利润。生产过多会导致库存积压,给公司造成巨大浪费。然而,生产过少则会错失增长和盈利的机会。这就是为什么大数据可以用来帮助确定应该在何处投放多少产品。

大数据应用的挑战与展望

但是,为什么这如此困难?困难的原因在于4V因素。此外,我该如何实现它?我该如何从海量数据中提取所有这些重要信息?信息规模极其庞大。我该如何从拥有的海量数据中,找出关键的参数和这些参数的关键值?然后,我需要足够快地完成这项工作,以提取对我最有帮助的信息。

这就是我们在大数据系统中面临的挑战。在接下来的课程中,我们将继续研究Hadoop、Spark和Storm等系统,以了解实际上是如何做到的。

本节课总结

本节课中,我们一起学习了大数据面临的四大核心挑战——数据量、多样性、速度和真实性,即4V特性。我们探讨了这些特性如何使传统数据处理方式失效,并引出了分布式处理、实时分析等需求。接着,我们通过沃尔玛、亚马逊、花旗银行以及智能手机营销等实际案例,具体了解了大数据在商业分析、推荐系统、全球洞察和精准营销等方面的应用方式。最后,我们认识到,克服4V挑战、从海量复杂数据中快速提取有价值的信息,正是大数据技术的核心目标,也为后续学习Hadoop、Spark等具体技术奠定了基础。

9:Hadoop 🐘

在本节课中,我们将学习Hadoop。Hadoop是谷歌MapReduce技术的开源版本。MapReduce是谷歌搜索引擎窗口所使用的技术,我们都使用过它,因此知道它有多强大。目前,Hadoop是雅虎Apache项目组中的一个开源软件。

Hadoop这个名字来源于其创始人儿子的一个黄色玩具大象的名字。之所以选择这个名字,是因为它没有特定含义、易于拼写和发音,并且其他地方没有使用过。

以下是其他一些与Hadoop相关的系统,你最终会听到它们,让我们了解一下它们之间的关系。

  • HBase:这是一个基于Java的开源、非关系型、分布式数据库,是Apache Hadoop项目的一部分。HBase基于谷歌的BigTable建模,运行在HDFS(Hadoop分布式文件系统)上,以实现海量稀疏数据的容错存储。
  • Apache Flume:它提供可靠、分布式的服务,用于高效收集、聚合和移动大量日志数据。Flume使用简单灵活的数据流机制,通过可配置的可靠性机制和恢复方案实现容错。Flume一词意为“人工水道”,这指的是Flume灵活的数据流特性。在没有自然水流的地方,人们会建造人工水道来运输原木,这就是Flume名字的由来。
  • Apache Mahout:它提供了分布式、可扩展的机器学习算法的免费实现,可以提供协同过滤、聚类和分类功能,并为常见的数学运算提供Java库。因此,Hadoop通过Apache Mahout支持机器学习和人工智能技术。Mahout一词意为“大象骑手”,这就是其标志的由来。骑手骑在黄色大象上,这代表训练者或饲养员,当然与Hadoop相关。
  • Hive:这是由Facebook开发的,旨在让那些并非Java编程专家的程序员能够轻松地使用SQL编写查询代码,以在Hadoop上模拟按需的SQL操作。很快,我将更详细地讨论Hadoop和SQL。

数据存储、访问与分析的挑战

上一节我们介绍了Hadoop及其生态系统,本节中我们来看看Hadoop旨在解决的核心问题:大规模数据的存储、访问和分析。

硬盘存储容量已大幅增长。但是,硬盘的数据读写速度尚未显著提高。同时使用多个硬盘进行并行读写需要先进的技术,而这正是Hadoop极其有效的地方。

以下是面临的几个主要挑战:

  • 挑战一:硬件故障。当使用许多计算机进行数据存储和分析时,一台计算机发生故障的概率非常高。这里所说的“许多”计算机,指的是以并行分布式方式运行的成百上千、甚至成千上万台计算机,它们被组织成大型集群进行控制和管理。
  • 挑战二:成本。为避免数据丢失或计算分析信息丢失,需要使用备份计算机和内存来提高可靠性,但这非常昂贵。
  • 挑战三:合并分析数据。合并分析数据非常困难。如果分析数据的一部分尚未就绪,那么整个合并过程就需要等待该部分完成,这会造成延迟。此外,如果某一部分存在错误,合并后会对最终结果产生什么影响?结果会有多不准确?这些都是严重的问题。

Hadoop:可靠的共享存储与分析系统

面对上述挑战,Hadoop提供了一个可靠的共享存储和分析系统。它是HDFS(Hadoop分布式文件系统)和MapReduce(映射与归约函数的组合)的结合。

HDFS(Hadoop分布式文件系统)

HDFS是一个基于计算机网络设计的存储管理系统。它针对存储具有流式数据访问模式的超大文件进行了优化,设计运行在由通用商用服务器系统组成的集群上。

HDFS的性能优化基于WORM模式(Write Once, Read Many,一次写入,多次读取),这是一种高效的数据处理模式。数据进来时直接存储,之后每次查询需要从中提取信息或统计时,会反复读取它。

HDFS的设计理念是,读取整个数据集所需的时间比读取第一条记录所需的时间更重要。

以下是HDFS的一些关键特性:

  • 数据块:HDFS中的文件被分割成固定大小的数据块。默认的块大小是64 MB,这是读写操作的最小数据单位。这简化了存储和复制过程,并为大文件提供了容错和速度提升。
  • 默认复制因子:Hadoop中的默认复制因子是3,我很快会通过一个例子详细说明这一点。
  • 节点类型:HDFS集群使用两种类型的节点:
    • 主节点(NameNode):负责文件系统命名空间。它维护文件系统树以及树中所有文件和目录的元数据。它使用两种文件格式(命名空间镜像和编辑日志)将信息存储在本地磁盘上,这两个文件需要得到良好保护和记录。
    • 工作节点(DataNode):这是文件系统的主力。它用于存储和检索数据块(默认64 MB)。当客户端或NameNode请求时,它需要定期向NameNode报告存储的数据块列表。DataNode每三秒向NameNode发送一次心跳信号,以确保连接并报告操作状态。

MapReduce

MapReduce是一个对分析问题进行抽象的程序。它将分析问题转化为使用一组键值对的计算过程。

MapReduce设计用于处理耗时几分钟或几小时的任务。它在由高速网络连接的一组专用、可信的计算机上处理数据,并由单一的主数据中心管理。

MapReduce采用一种“暴力”数据分析方法。每次查询都会处理整个数据集或其中很大一部分,这就是“暴力”的含义。它是一个批处理查询处理器模型,数据以批处理方式保存,每次请求查询时都会进行整体分析。

MapReduce使得能够在可扩展的时间内对整个数据集运行即席查询,这就是它如此强大的原因。你不会只使用样本数据,而是会搜索整个数据集。许多分布式系统合并来自多个来源的数据非常困难,但MapReduce以非常有效和高效的方式做到了这一点。

MapReduce性能优化的技术考量

上一节我们了解了MapReduce的基本概念,本节中我们来看看其性能优化的技术基础,这涉及到两个关键术语。

  • 寻道时间:这是查找文件时的延迟。
  • 传输速率:这是移动文件的速度。

传输速率得到了显著提升,这意味着支持它的网络设备和网络拥有更大的带宽、更高的吞吐量,并且更快、更可靠。另一方面,寻道时间的改进非常小。因此,数据库内的寻道时间仍然相对较慢。

考虑到传输速率的优势和寻道时间的劣势,Hadoop系统在性能上进行了最大化优化。MapReduce通过优化平衡寻道和传输操作来获得性能提升。Reduce操作更有效地利用了传输操作,从而获得了更高的性能。

在下一讲中,我们将比较MapReduce与传统的关系型数据库管理系统。

总结

本节课中,我们一起学习了Hadoop。我们了解到Hadoop是谷歌MapReduce的开源实现,旨在解决大规模数据存储、访问和分析的挑战。其核心由HDFS(提供可靠、分布式的文件存储)和MapReduce(提供高效、批量的数据处理模型)组成。Hadoop通过其生态系统(如HBase、Flume、Mahout、Hive)扩展了功能,并针对现代硬件特性(高传输速率、相对较慢的寻道时间)进行了优化,使其成为处理大数据的强大工具。

参考资料(课程中提及,推荐阅读)

10:MapReduce与RDBMS的比较 📊

在本节课中,我们将深入探讨MapReduce与关系型数据库管理系统(RDBMS)之间的比较。我们将分析它们各自的特点、适用场景以及核心差异,帮助你理解在大数据时代如何选择合适的工具。

RDBMS的特点 🔍

RDBMS代表关系型数据库管理系统。它具备一些特定的特征。

以下是RDBMS的一些关键特性:

  • 擅长更新大数据集中的小部分数据。
  • 它使用传统的B树索引结构。
  • 其性能高度依赖于执行搜索操作所需的时间。

MapReduce的特点 ⚙️

MapReduce是处理大规模数据集的一种编程模型。

以下是MapReduce的一些关键特性:

  • 擅长更新大数据集中的全部或大部分数据。
  • 它使用排序和合并操作来重建数据库。
  • 其性能更多地依赖于数据传输操作,而非搜索操作。

核心应用场景对比 🎯

上一节我们分别介绍了RDBMS和MapReduce的特点,本节中我们来看看它们各自最适合的应用场景。

RDBMS适用于需要频繁更新数据库数据的应用。例如,点查询或小数据集的更新操作。

MapReduce则更适用于“一次写入,多次读取”的基于批处理的数据应用。MapReduce是RDBMS的补充系统。

详细特性对比 📋

让我们通过一个例子,更详细地比较RDBMS和MapReduce的特性、优点和缺点。

以下是RDBMS与MapReduce在多个维度的对比:

  • 数据规模:优秀的RDBMS系统适合处理GB或更小的数据量,而MapReduce系统能很好地处理PB、TB级别的数据。
  • 访问模式:RDBMS支持交互式和批处理访问,而MapReduce是面向批处理的。
  • 更新模式:RDBMS支持多次读写。而MapReduce遵循“一次写入,多次读取”的模式,我们稍后会详细讨论这一点。
  • 数据结构:RDBMS采用静态模式。MapReduce采用动态模式。我们将在下一讲中,从模式的角度更详细地比较SQL和Hadoop。
  • 数据完整性:RDBMS的数据完整性高,而MapReduce较低。但另一方面,MapReduce着眼于整个数据集的整体结构。
  • 可扩展性:RDBMS的可扩展性是非线性的,而MapReduce是线性的。

数据类型:结构化、半结构化与非结构化 📁

理解了两种系统的特性后,我们需要认识它们处理的不同数据类型。数据可以根据其组织形式分为三类。

结构化数据是指具有正式定义结构的数据。例如,XML文档、数据库表,或者你放入Excel文件中用于绘制图表的数据。如果你放入Excel文件的数据不符合其预设的精确格式,系统将不会接受。这类数据就是结构化数据,它有定义好的结构,对输入数据的类别有预定义的要求。

半结构化数据则宽松得多。它有一种格式,数据结构仅作为指导,在某些情况下可能被忽略。当你将半结构化数据放入像Excel文件这样的结构化数据表单时,很多情况下,大量数据可能会被过滤掉而无法使用。因此,如果你查看一个放入了大量半结构化数据的Excel文件,其中很多值会是null或不可接受的。这就是将半结构化数据放入结构化数据系统时会发生冲突的原因。如何接受并使用半结构化数据从中提取信息,这一点非常重要。特别是因为大数据系统面临的挑战之一就是数据类型极其多样,数据的多样性每天都在增长。这就是为什么我们需要研究半结构化数据和非结构化数据,因为这些数据类型正在增长,我们希望找到方法利用它们来提取信息并做出智能决策。

非结构化数据是没有任何正式结构的数据。它是纯文本,或来自图像、图片、某种声音、语音对话等各种其他可以被使用的形式。

这三种数据结构,正是像Hadoop这样的大数据系统能够展现其真正优势和强大能力的地方。

MapReduce在处理非/半结构化数据时的优势 💪

MapReduce在处理非结构化和半结构化数据时是一个非常有效的系统,原因如下:

MapReduce在数据处理会话期间解释数据。MapReduce不使用数据的内在属性作为输入键和输入值。所使用的参数由分析数据的程序员选择。因此,程序员、用户或需要进行查询的人有广泛的选择空间。

MapReduce拥有一个线性可扩展的编程模型,这是MapReduce和Hadoop的真正优势。它有两种函数类型:Map函数和Reduce函数,在接下来的课程中我们将更详细地讨论这些。这两种函数都定义了一个被使用的键值对。因此,我们有键值对1、键值对2,这些是我们从正在大数据引擎中分析的整个数据集中提取的值和信息。

总结 📝

本节课中,我们一起学习了MapReduce与RDBMS的核心区别。我们了解到,RDBMS擅长处理小规模、高频率更新的结构化数据,并保证高完整性;而MapReduce则专为海量数据的批处理设计,尤其擅长处理半结构化和非结构化数据,并具备线性可扩展的优势。它们是互补的技术,选择哪一种取决于具体的应用场景、数据规模和数据类型。

这些是我使用的参考资料,我推荐给你。

11:MapReduce 详解 🗺️➡️📉

在本节课中,我们将深入探讨 Hadoop 的核心组件之一:MapReduce。我们将了解其工作原理、数据流程以及不同的任务类型,帮助你理解大规模数据处理的基本范式。


概述

Hadoop 是一个可靠的、共享式的存储与分析系统,它主要由 HDFS 分布式文件系统和 MapReduce 计算框架(以及其他增强功能)组成。本节课我们将聚焦于 MapReduce 的基本原理。

上一节我们介绍了 Hadoop 的整体架构,本节中我们来看看其核心计算模型 MapReduce。


MapReduce 基础

MapReduce 是一个编程模型,用于处理和生成超大数据集。它主要分为两个函数:Map函数Reduce函数

扩展性通过分布式文件系统实现,数据被分割并存储在分布式计算机和服务器上。Hadoop 使用 HDFS 将 MapReduce 计算任务移动到多个分布式计算节点上,每个节点处理分配给它的部分数据。

因此,HDFS 负责将数据分割到集群的多个节点上,而每个作为数据节点的计算节点,则使用 MapReduce 引擎来分析数据,以提取键值对。


MapReduce 作业与任务

一个 MapReduce 作业 是需要执行的一个工作单元。作业类型包括数据输入、MapReduce 程序和配置信息。

作业通过被划分为两种类型的任务来执行:Map 任务Reduce 任务

作业执行由两种类型的节点控制:JobTrackerTaskTracker

  • JobTracker 负责协调所有作业,调度所有任务,并将任务分配给多个 TaskTracker。
  • 其运行模式如下图所示:首先,JobTracker 查看需要完成的工作,将其分配给一个 TaskTracker;数据处理完成后,结果将返回给 JobTracker。

这个过程会并行进行,一个 JobTracker 调度多个 TaskTracker 的工作。这个操作实际上是在系统的 NameNode 和多个 DataNode 上进行的。


数据流与任务本地性

Hadoop 将输入数据划分为适合 MapReduce 作业的 输入分片。分片具有固定大小,通常使用 HDFS 默认的 64MB 块大小,因为这是 MapReduce 得出的能实现最高处理效率的方案。

会为每个分片创建一个 Map 任务。Map 任务对分片内的所有记录执行 Map 函数。Map 任务通常会在存储输入数据的节点上执行,这称为“数据本地性”。

以下是 MapReduce 数据流的几种情况:

1. 数据本地 Map 任务

在数据本地 Map 任务中,所有 Map 任务和 HDFS 数据块的交换与处理都在同一个节点内完成。整个过程都停留在机架内的节点上,无需使用集群网络。这解释了为什么 64MB 的 HDFS 块大小作为分片大小是最优的。

2. 机架本地 Map 任务

在机架本地 Map 任务中,Map 任务和 HDFS 块操作会在同一机架内的不同节点间交换。但是,没有任何数据会离开这个机架。

当一个承载着 Map 任务输入分片对应 HDFS 块副本的节点正在运行其他 Map 任务时,作业调度器会尝试在同一机架内的其他节点上寻找空闲的 Map 任务槽位。

3. 跨机架 Map 任务

在跨机架 Map 任务中,Map 任务和 HDFS 块交换发生在不同机架之间。操作可以离开原始机架,但仍在数据中心内部。

当作业调度器无法找到足够的数据本地或机架本地 Map 任务槽位时,就需要使用跨机架网络传输来满足任务需求。


Map 与 Reduce 函数详解

对于 Map 任务,它会将输出写入本地磁盘。Map 任务的输出并非最终结果,它只是 中间输出

对于 Reduce 任务,它会处理 Map 任务的输出以产生最终结果。Reduce 任务的输出会存储在 HDFS 中。作业完成后,Map 任务的中间输出可以被丢弃。

以下是几种 Reduce 任务类型:

单 Reduce 任务

如图所示,HDFS 的输入进入三个 Map 函数,它们的输出被合并后,送入一个单一的 Reduce 函数。因此这被称为单 Reduce 任务。流程包括分片、映射、排序和输出等步骤。图中浅蓝色箭头表示节点内的数据传输,橙色箭头表示节点间的数据传输。

Reduce 任务的数量是独立指定的,并不基于输入数据的大小。

合并器函数

合并器函数 是用户指定的、运行在 Map 输出上的函数。它的输出构成 Reduce 函数的输入。它专门用于最小化 Map 任务和 Reduce 任务之间传输的数据量。

这解决了集群网络带宽有限的问题,有助于减少完成 MapReduce 作业的时间。

多 Reduce 任务

在多个 Reduce 任务的情况下,Map 任务会对输出进行分区,为每个 Reduce 任务创建一个分区。每个分区可能包含许多键及其关联值,但同一个键的所有记录都会保存在同一个分区内。

如上图所示,输入经过 Map 函数后,根据合并连接被分配到两个不同的 Reduce 函数中。

在 Map 任务和 Reduce 任务之间的数据流中,会使用 洗牌 过程,将数据合并后送入 Reduce 函数。

零 Reduce 任务

在某些情况下,可以使用 零 Reduce 任务。此时,HDFS 的输入仅通过 Map 函数处理,HDFS 的副本直接用作输出。

零 Reduce 任务不使用任何洗牌操作,适用于所有处理都可以在并行的 Map 任务中完成的情况。


总结

本节课中,我们一起学习了 Hadoop MapReduce 的核心机制。我们了解了 Map 和 Reduce 函数的分工,探讨了作业与任务的管理方式,并通过数据流图深入分析了数据本地性优化的重要性。我们还介绍了单 Reduce、多 Reduce 以及零 Reduce 等不同任务类型,以及合并器函数在优化网络传输中的作用。理解这些概念是掌握大规模分布式数据处理的基础。


参考资料

以下是我使用的参考资料,也推荐给你。

12:Hadoop与SQL、RDBMS、RDSMS的比较 🆚

在本节课中,我们将深入探讨Hadoop与SQL系统,并对它们进行比较。这里所说的SQL系统,指的是关系型数据库管理系统(RDBMS)和关系型数据流管理系统(RDSMS)。我们将从数据模式的处理方式、系统架构和适用场景等方面进行对比。

核心概念定义

首先,我们来明确几个核心概念。

Hadoop使用HDFS和MapReduce作为其核心组件。而SQL是结构化查询语言的缩写,发音为“S-Q-L”或“Sequel”,它被用于RDBMS和RDSMS的数据处理。

  • RDBMS:代表关系型数据库管理系统。
  • RDSMS:代表关系型数据流管理系统。

因此,一个是处理静态数据库的系统,另一个是处理动态数据流的系统。

本次比较的核心基础是两种不同的模式处理策略:写时模式读时模式。模式(Schema)是指数据的结构、图表或示意性表示。

SQL系统:写时模式 ✍️

上一节我们定义了核心概念,本节中我们来看看SQL系统的特点。

写时模式意味着,在数据写入数据库之前,其结构必须是已知的,并且必须经过适当的格式化。当你向数据库写入数据时,数据必须具有预定义的结构(模式),否则可能无法正确插入。

所有数据分析和处理都必须在数据库层面完全完成,然后分布式处理的各个部分才能被收集和合并。数据以逻辑上组织好的格式存储,这构成了数据库的元数据结构。

一个典型的例子是,当你使用Microsoft Excel或R等数据分析工具时,你看到客户信息、订单类型、时间以及关联的产品类型等信息,都是基于写时模式的结构。这是RDBMS和RDSMS中典型的数据库结构,我们使用SQL从中提取信息。

两阶段提交系统

在基于写时模式的SQL系统中,使用的是一种两阶段提交的分布式算法。该算法对事务做出提交或中止的决策。

这个例子在信用卡交易中很容易找到。当你刷卡时,交易要么被接受,要么被拒绝,有时系统还会给出拒绝的原因。这就是我们所说的两阶段提交,结果要么是提交(接受),要么是中止(拒绝)。

在一个整体系统中,你可以看到三个数据系统连接在一起。如果其中一个服务器节点出现延迟,整个数据分析报告都会被延迟,因为中间连接的三个数据系统是相互关联的,它们需要彼此协作来处理数据,以决定是接受还是拒绝交易。因此,如果中间有一个不工作,那么整个系统都无法工作,你将得不到任何结果。这是基于写时模式的SQL类型数据库系统(无论是RDBMS还是RDSMS)的特点。

基于写时模式的SQL,擅长在数据库所有事务都已完成的基础上获取精确结果。例如,一家银行在下午关门后,数据库就固定了,这时你可以开始执行SQL操作来分析数据。

此外,写时模式在数据录入时就已经完成。当银行操作员将账户信息输入数据库时,数据已经具有严格的形式,包含了预定义的模式,并以正确的方式插入数据库。这就是写时模式的含义:当你将数据写入系统时,数据的结构、格式已经准备就绪。

Hadoop系统:读时模式 📖

与基于写时模式的SQL相比,Hadoop基于读时模式,并且采用“一次写入,多次读取”的操作方式。

数据被插入HDFS时,不需要任何预先格式化,可以具有任何结构。这就是为什么HDFS支持非结构化数据的写入。当然,它也欢迎半结构化和结构化数据。

当从HDFS读取数据时,如何读取、提取和使用数据的规则和结构,是在读取程序代码(通常是Java程序代码)中定义的。

WORM代表“一次写入HDFS(Hadoop分布式文件系统),多次读取”。你写入一次,然后可以多次读取,这些读取操作基于你想要查看和从数据库中提取数据的不同查询。因此,多次读取将完全基于使用什么程序代码来提取什么数据,这些程序执行MapReduce操作。

HDFS的可靠性与容错性

以下是HDFS实现可靠性的关键机制:

  1. 数据分块与复制:数据被分割并复制,然后存储在HDFS服务器中。这种复制因子提供了健壮性、可靠性和容错性。
  2. 默认复制因子:默认的复制因子是3。你会看到一些应用根据他们处理数据的方式和可用资源情况,可能使用2、4或5。
  3. NameNode的作用:NameNode会记录复制的文件存储在何处。换句话说,NameNode将数据处理任务分配给DataNode,而MapReduce操作正是在DataNode上完成的。因此,NameNode会记录哪个DataNode获得了哪些数据,以及它们将处理哪些MapReduce程序。

读时模式示例分析

一个读时模式的示例如下:

一个1TB的网站搜索文件被分成四个文件,每个250GB。在这个例子中,我们假设复制因子为2(默认是3,但同样可以控制)。如你所见,1TB数据文件被分成粉色、蓝色、绿色和黄色四部分,每部分复制两次,因此我有C1到C8共8个文件需要处理。

假设集群中有25个节点,我们将使用8个DataNode,因为文件有C1到C8。NameNode拥有C1到C8的索引,并将它们分别分配给一个独立的DataNode。因此,8个DataNode将被分别分配文件C1到C8。NameNode记录下被分配了文件副本的这8个DataNode。

一个关键词搜索的Java程序被应用到这8个DataNode上,对一组关键词进行并行同时搜索。MapReduce被应用到1TB文件的不同部分,因此每个DataNode服务器需要分析整个1TB文件中250GB的部分。

Map程序的搜索结果被传递到同一DataNode上的Reduce程序。MapReduce使用键值对将分析问题转化为计算过程,我们有多组键值对。

对于数据分析结果,所有分布式计算部分不需要完全计算完毕就可以进行合并。这是因为我们制作了副本。在这个例子中,我们的复制因子是2。所以,两个副本中的任何一个部分,只要完成了,就足够了。例如,C1和C2是相同的,它们是原始1TB文件中同一部分的两个副本。因此,无论C1还是C2所在的DataNode先完成计算,MapReduce过程完成并提取出所需的键值对,那么只要有一个完成就足够了。另一个失败或延迟,仍然没问题。我可以使用已完成的部分,然后尝试收集所有部分(每个分区至少一个)。我们有四个分区,所以我至少需要四个部分中每个的一个(完成较快的那个)。我将基于这四个完成较快的部分来分析整个1TB文件。这就是实际的处理方式。

因此,在复制的部分中(每个250GB文件部分有两个副本),如果其中一个失败,仍然没问题。当至少有一个副本完成时,整个Hadoop分析结构就将完成。再次强调,默认复制因子是3,因此在默认应用模式下,三个副本中的任何一个部分完成,都能基于每个独立集群组件分区的完成情况来完成整体分析。这里我们有四个分区。

总结与对比 🔄

本节课中我们一起学习了Hadoop与SQL系统的核心区别。

这与SQL中使用的两阶段提交方法完全相反。SQL不进行任何复制,并且数据是基于写时模式结构放入系统的,其处理过程是多个数据处理节点协同工作的流水线过程,所有节点必须按顺序完成才能得到结果。而在Hadoop中,我们使用了复制因子和读时模式,因此结果大不相同,基于MapReduce的Hadoop更加健壮和快速。

基于读时模式的Hadoop非常适合那些持续收集各种数据类型的新信息、需要不断更新和分析的数据库。在以下场景中,Hadoop(读时模式)更加强大:网站和电子邮件、社交网络、基于增强现实的系统、关键词搜索引擎以及其他各种领域。

这些是我使用的参考资料,我推荐给你们。

13:HDFS增强功能详解 🚀

在本节课中,我们将深入探讨Hadoop分布式文件系统(HDFS)的几项关键增强功能。这些改进旨在提升Hadoop集群的可靠性、可扩展性和容错能力,使其能够更好地处理大规模数据。


上一节我们介绍了Hadoop的基础架构,本节中我们来看看HDFS在2.0及更高版本中引入的三个重要增强特性。

1. MapReduce 2.0 与 YARN 🧵

从MapReduce 2.0开始,增强的MapReduce运行时系统被称为YARN(Yet Another Resource Negotiator)。YARN将资源管理与作业调度/监控功能分离开来,形成了一个更通用、更高效的集群资源管理平台。

在后续的示例中,我们将看到YARN在HDFS中的具体应用。

2. HDFS 联邦(Federation) 🌐

HDFS联邦功能将HDFS的命名空间(namespace)划分到多个名称节点(NameNode)上。

以下是HDFS联邦的核心概念:

  • 命名空间卷(Namespace Volume):由命名空间的元数据组成。
  • 块池(Block Pool):包含该命名空间中所有文件的数据块。

HDFS联邦允许集群通过添加名称节点来进行横向扩展。每个名称节点独立管理一个命名空间卷和一个块池。名称节点之间不进行通信,一个名称节点的故障不会影响其他名称节点及其管理的命名空间的可用性。这使得系统能够更好地支持包含海量文件的集群。

3. HDFS 高可用性(High Availability) 🛡️

高可用性特性通过使用备用名称节点(Standby NameNode)作为备份,消除了名称节点可能成为系统单点故障的风险。

其核心机制是配置名称节点,将其构成文件系统元数据持久化状态的文件,写入到多个文件系统中,实现同步且原子性的备份。常见的备份配置是同时写入本地磁盘和远程文件系统。

在高可用性配置中,使用一对处于“主用-备用”模式的主备名称节点。

  • 备用名称节点存储最新的编辑日志条目和最新的块映射信息。
  • 当主用名称节点发生故障时,备用名称节点会接管并开始服务客户端请求。虽然切换可以在几十秒内快速完成,但为了避免不必要的频繁切换,备用节点的激活通常会在一个足够的观察期(例如大约一分钟或几分钟)后执行。

这与传统的次要名称节点(Secondary NameNode) 不同。次要名称节点会定期合并命名空间镜像和编辑日志,以防止编辑日志变得过大。由于其合并过程需要大量的处理能力和内存,它通常运行在一台独立的计算机上,且并不提供故障接管功能。


本节课中我们一起学习了HDFS的三大增强功能:YARN作为新一代资源管理器,HDFS联邦通过多名称节点实现命名空间横向扩展,以及HDFS高可用性通过主备节点机制确保服务连续性。所有这些改进共同使得Hadoop系统变得更加可靠、健壮,能够适应更大规模的数据处理需求。

14:Hadoop与Hadoop YARN的比较 🆚

在本节课中,我们将深入探讨Hadoop,并将其运行机制与Hadoop YARN系统进行比较。

概述

在本节中,我们将学习Hadoop的经典MapReduce架构和基于YARN的现代架构。我们将了解它们如何管理资源、调度任务以及处理容错,并通过对比理解YARN带来的改进。


Hadoop经典架构示例

上一节我们介绍了Hadoop的基本概念,本节中我们来看看其经典架构的工作流程。

在这个示例中,客户端1向HDFS提交了应用1,以执行MapReduce操作。

  • 在名称节点上创建了一个作业跟踪器。作业跟踪器也可以位于不同的节点上,但在此示例中位于名称节点上。
  • 随后作业跟踪器被创建以执行作业。名称节点选择数据节点。
  • 数据节点随后开始每三秒向名称节点发送一次心跳信号。
  • 作为“大脑”或主节点的作业跟踪器,会建立多个任务跟踪器作为“劳动力”或从属节点。
  • 每个任务跟踪器会分配槽位,这些槽位可以是映射槽或归约槽。
  • 映射槽被分配给映射函数。这些是JVM(Java虚拟机)。
  • 归约槽被分配给归约函数,同样是JVM。

理解JVM(Java虚拟机)

在继续之前,我们需要理解什么是JVM,因为它在Hadoop任务执行中扮演着关键角色。

并行处理基于同时控制多个进程来操作。为了解释JVM是什么,让我们深入了解Java。Java是Oracle公司持有的商标。

  • JVM 是Java虚拟机。它是计算机上用于执行Java程序的虚拟抽象计算系统。
  • JVM运行在JRE(Java运行时环境)上。JRE是一个包含名为Hotspot的JVM和JCL(Java类库)的软件包。
  • JVM内存使用类型包括:
    • :保存在堆内存中的Java对象。它们使处理速度更快。
    • 线程栈
    • 本地句柄
    • 内部数据结构
    • 以及其他。
  • 当JVM启动时,会分配堆内存空间。在应用程序执行期间,堆大小可以增加或减少。
  • 堆管理由JVM使用操作系统进行分配,并且JVM负责Java应用程序的堆管理。

Hadoop YARN架构示例

了解了经典Hadoop架构后,现在我们来看看基于YARN的现代Hadoop架构是如何工作的。

以下是YARN架构的工作步骤:

  1. 资源管理器内部包含一个调度器和应用程序管理器。
  2. 资源管理器在集群的多个节点上准备节点管理器。
  3. 节点管理器向资源管理器发送心跳信号,以显示它们处于活动状态,并提供更新的连接信息。
  4. 可以为资源管理器应用Zookeeper以实现高可用性保护。
  5. 客户端1向资源管理器提交应用1。
  6. 调度器选择一个具有足够资源的节点,在该节点的节点管理器上设置应用主控程序1。
  7. 需要说明的是,这是在节点管理器上的应用主控程序1,而在资源管理器上的是应用程序管理器(复数形式)。
  8. 资源管理器上的应用程序管理器开始监控应用主控程序1,以检查是否发生故障。这个监控过程在整个应用程序运行期间持续进行。
  9. 应用主控程序1与资源管理器中的调度器通信,请求在节点上设置容器。
  10. 调度器向应用主控程序1发送密钥和容器信息,以便设置容器。
  11. 基于从调度器接收到的密钥和容器信息,应用主控程序1联系已知的节点管理器,发送密钥和容器信息,并请求在其上设置容器。
  12. 然后,每个被应用主控程序1联系的节点管理器将设置一个容器,在其节点上运行应用1(图中黄色部分所示)。

现在,让我们看看如果另一个客户端请求运行其应用程序会发生什么。

  1. 应用2将被提交给资源管理器。
  2. 调度器将选择一个节点来设置应用主控程序2。
  3. 应用程序管理器将开始监控应用主控程序2以检查是否发生故障,只要客户端2的应用正在处理中,这个过程就会持续。
  4. 应用主控程序2请求容器设置,调度器向应用主控程序2发送密钥和容器信息。
  5. 应用主控程序2联系节点管理器,发送密钥和容器信息,请求在其节点上设置容器。
  6. 每个被应用主控程序2联系的节点管理器将设置一个容器,在其节点上运行应用2。
  7. 应用2将在新容器上运行。

YARN中的容错机制

YARN架构设计包含了强大的容错能力。

  • 如果一个容器崩溃,应用主控程序1将与资源管理器通信,并设置一个新容器来替换崩溃的容器。
  • 如果应用主控程序1崩溃,资源管理器中的应用程序管理器将在同一节点或不同节点上设置一个新的应用主控程序1。

总结

本节课中,我们一起学习了Hadoop经典MapReduce架构与Hadoop YARN架构的核心区别。我们了解到,经典架构依赖于单一的JobTracker进行资源管理和任务调度,而YARN通过引入ResourceManager和ApplicationMaster实现了更灵活、可扩展且高可用的资源管理与应用调度分离。YARN支持多租户和多种计算框架,是现代大数据生态系统的基石。

参考资料

以下是我使用的参考资料,也推荐给你。


15:Apache Spark 详解 🚀

在本节课中,我们将学习 Apache Spark 这一核心的大数据处理技术。我们将了解它的定义、特点、与 Hadoop 的关系以及其应用场景。

Apache Spark 是一种大数据通用处理技术。它目前是全球最流行、最活跃的大数据开源项目。因此,了解其细节非常必要。

在 Spark 出现之前,Hadoop 是应用最广泛的开源大数据技术。接下来,我们将看到 Spark 是如何利用 Hadoop 的。

Spark 的核心特性 ⚙️

上一节我们提到了 Spark 的流行地位,本节中我们来看看它的核心功能与特性。

Spark 自行管理集群。它支持批处理应用、迭代算法和交互式查询。Spark 独立于 Hadoop,但可以利用 Hadoop 进行存储或处理。

Spark 拥有内置的机器学习库,这使其功能非常强大。Spark 支持流处理功能,它通过微批处理技术为实时应用提供流处理模式。

据报道,Spark 比 Hadoop 快十倍到百倍,我们很快将了解其原因。Spark 速度极快,并采用了改进的数据处理技术。

以下是其关键技术点:

  • 内存处理:利用 RAM 进行高速计算。
  • 弹性分布式数据集:即 RDD,是 Spark 的核心数据抽象。
  • 有向无环图:即 DAG,用于优化任务执行流程。
  • 高级调度、持久化技术、实时流处理等。

Spark 与存储系统及 Hadoop 的关系 🔗

了解了 Spark 的强大性能后,我们来看看它如何与存储系统协作,特别是与 Hadoop 生态系统。

Spark 自身没有独特的分布式存储系统,但它被设计为可以使用各种第三方分布式文件系统。许多 Spark 系统连接到 Hadoop 系统,因为已有大量数据存储在 Hadoop 分布式文件系统 HDFS 中。

在数据处理层面,Hadoop 的 MapReduce 被 Spark 的 RDDDAG 以及转换和行动操作所取代。Spark 通过 YARN 资源管理器来使用 HDFS,我们后续会详述这一点。

Spark 的高级分析应用和内置机器学习库功能,使得从 HDFS 及其他各类数据集中提取信息的能力非常出色。相比之下,Hadoop 没有内置的机器学习库,因此需要使用第三方库 Mahout

Spark 为何比 Hadoop 更快? ⚡

我们已经知道 Spark 速度优势明显,现在我们来探究其背后的原因。

Hadoop 速度较慢,是因为 MapReduce 在每次操作后,为了容错,会将所有过程数据保存在物理存储介质上(通常是硬盘驱动器)。我们即将看到硬盘驱动器的速度限制。Hadoop 在一个作业中会多次重复此过程,这使其变得更慢。

Spark 的应用场景 🏭

理论之后,我们看看 Spark 在实际中有哪些用武之地。

Spark 的应用包括零售商推荐引擎、工业机械与制造的监控和自动化预测系统(用于预估部件故障时间、最佳更换时间以及订购替换组件的时间),以及物联网和网络物理系统的控制器。

Spark 的发展历程 📜

最后,我们来简要回顾一下 Spark 的起源与发展。

Spark 和 Mesos 由加州大学伯克利分校的 AMP 实验室开发。2010 年,Spark 基于 BSD(伯克利软件发行版)许可证成为开源软件。2013 年,Spark 被捐赠给 Apache 软件基金会。2014 年,Apache Spark 成为 Apache 顶级项目,并于同年 5 月首次发布。

深入探讨:Spark 的特点与对比 🔎

现在,让我们更深入地探讨 Spark 的一些关键特点及其与 Hadoop 的对比。

首先,Spark 的扩展性非常好。Spark 可以在由数千个节点组成的集群上执行,处理 PB 级别规模的数据库。

以下是 Spark 与 Hadoop 关系的总结:

  • Hadoop 和 Spark 都是大数据技术。
  • 两者都提供了最流行的大数据工具。
  • 两者都是 Apache 软件基金会的工具。
  • Hadoop 和 Spark 系统可以协同工作,我们稍后会看到相关示例。
  • 许多 Spark 系统通过 YARN 连接到 Hadoop 的 HDFS
  • 两者都具有可扩展性,随着数据集增长,可以向网络中添加更多数据驱动器,因此非常适合扩展以容纳更多信息和数据。
  • 它们的任务管理和数据处理方案不同。

本节课中,我们一起学习了 Apache Spark 的基本概念、高速性能的关键技术、它与 Hadoop 生态系统的协作关系、典型应用场景以及发展简史。Spark 凭借其内存计算、灵活的 RDD 和优化的 DAG 执行引擎,已成为现代大数据处理不可或缺的核心框架。

参考资料
(此为课程中提及的参考资料列表,建议学习者查阅。)

16:Spark架构与家族 🚀

在本节课中,我们将学习Apache Spark的架构及其生态系统中的关键组件。我们将从Spark的核心架构开始,然后深入了解其家族成员,包括各种库、引擎和集群管理工具。


Spark架构概览

上一节我们介绍了Spark的基本概念,本节中我们来看看Spark的整体架构。Spark架构主要关注其库、引擎以及运行基础。

Spark架构的核心是Spark Core,它是一个通用的底层执行引擎。所有其他功能都构建在Spark Core之上。它提供了基于内存的快速计算能力,并能引用外部存储系统中的数据集。

在Spark Core之上,运行着多个库和引擎,它们共同构成了Spark的强大功能。以下是Spark架构中的主要组件:

  • Spark SQL:这是一个基于模式RDD的数据抽象层,为结构化和半结构化数据提供支持。
  • Spark Streaming:利用Spark Core的快速调度能力对流数据进行实时分析。它将输入数据流划分为小批量(mini-batches),并对这些批次执行RDD转换操作。
  • MLlib(机器学习库):这是一个内置的机器学习函数库,它使Spark功能强大且计算速度极快。MLlib可以轻松应用于基于分布式内存的Spark架构。
  • GraphX:这是一个分布式图处理框架。Spark使用GraphX的图计算API,为用户自定义的图提供优化的运行时处理。

此外,使这一切协同工作的还包括编程API(基于Scala、Python、Java和R)以及存储引擎(如SSD、HDD、HDFS、Amazon S3、RDBMS和NoSQL数据库)。集群管理则可以通过YARN、Mesos或Spark自带的调度器来实现。


Spark的核心:弹性分布式数据集(RDD)

Spark架构的基础是弹性分布式数据集(RDD)。RDD是Spark的核心数据结构。它本身不是一个完整的数据集集合,而更像是一个用于处理数据的转换(transformations)和行动(actions)操作序列的“公式”

RDD的转换操作可以表示为:
新的RDD = 旧的RDD.转换操作(参数)

例如,一个过滤操作的代码可能是:
filteredRDD = originalRDD.filter(lambda x: x > 10)

这种设计使得Spark能够高效地进行容错处理和并行计算。


Spark家族成员

了解了核心架构后,本节我们将深入探索Spark庞大的生态系统家族。Spark家族不仅包括其核心引擎和库,还涵盖了一系列与之协同工作的资源管理、存储和协调系统。

以下是Spark家族中的关键成员:

1. 集群资源管理器

  • YARN:全称为“Yet Another Resource Negotiator”。它是Apache Hadoop的集群资源管理和作业调度平台,被视为Hadoop的下一代MapReduce。YARN将资源管理和作业调度/监控功能分离为独立的守护进程。它包含一个全局的Resource Manager和每个应用独有的Application Master。一个应用可以是一个单独的作业,也可以是一个有向无环图(DAG)的作业集合。
  • Mesos:这是一个分布式集群资源管理和调度平台。“Mesos”在古希腊语中意为“中间人”或“调解者”。它为整个数据中心和云环境提供资源管理和调度API,能够轻松实现包含数万个节点的大型集群的线性扩展。Mesos通过ZooKeeper实现主节点和代理节点的复制,从而提供高可用性、容错性和非破坏性升级。

2. 存储与协调系统

  • Tachyon:这是一个开源的、基于内存(RAM)的分布式容错文件系统。它具有非常快速的高性能数据共享特性。它存储用于生成数据集的二进制程序以及输入数据集,每个写入操作都保存在单个节点的内存中,从而实现跨框架的快速读取和数据共享。
  • ZooKeeper:Apache ZooKeeper为集群提供高度可靠的分布式协调服务。它维护配置信息、命名、提供分布式同步和分组服务,实现基于集群的集中控制和易于管理的功能。
  • HDFS:Hadoop分布式文件系统,是Spark常用的底层存储系统之一。
  • Cassandra:Apache Cassandra是一个分布式NoSQL数据库管理系统。它支持跨多个商用服务器的大型数据集和数据交换,通过无单点故障(SPOF)的设计实现高可用性和鲁棒性。
  • Kafka:一个分布式数据流平台,提供数据流的读写管理系统功能。它能安全地将数据流存储在分布式、可复制、容错的集群中。Spark Streaming经常会使用Kafka的流特性。

3. 其他组件

Spark家族还包括编程语言接口(Scala, Python, Java, R)、各种存储系统(如Amazon S3, MongoDB, Neo4j, RDBMS)以及其核心处理引擎和内存单元(RAM, SSD, HDD)。


总结

本节课中,我们一起学习了Apache Spark的架构及其生态系统。我们从Spark的核心架构入手,了解了以RDD为基础的计算模型,以及构建在其上的Spark SQL、Spark Streaming、MLlib和GraphX等关键库。随后,我们探索了庞大的Spark家族,包括负责资源调度的YARN和Mesos,提供高速缓存的Tachyon,确保协调一致的ZooKeeper,以及用于数据存储和流处理的HDFS、Cassandra、Kafka等系统。这些组件共同构成了一个强大、灵活且高效的大数据处理平台。

17:16_3.4 Spark与Hadoop的比较 🔄

在本节课中,我们将学习Spark系统的工作原理,并将其与我们已经了解的Hadoop架构进行比较。我们将重点探讨Spark相较于Hadoop的优势,包括其更快的分析能力、实时数据处理、机器学习功能以及其高性能背后的技术原理。

我们已经了解了Hadoop的结构,现在让我们通过对比Hadoop和Spark来理解Spark系统的工作原理以及Spark的优势。

Spark的优势 🚀

与Hadoop相比,Spark的优势包括更快的分析能力。

由于这些原因,Spark还拥有Spark Streaming技术,能够进行实时数据流分析。

Spark Streaming使用微批处理技术。

机器学习功能是Spark的另一个主要优势。

机器学习库拥有可编程的算法,这些算法能够思考并根据变化的条件自动更新。

机器学习需要通过统计建模和模拟进行学习的能力。

基于变化的条件,推导并适应理想的解决方案。

Spark速度更快的另一个原因是它使用随机存取存储器。

你可以看到Hadoop速度较慢,因为它使用硬盘驱动器,而基于RAM的操作要快得多。

如果数据批处理的大小超过了Spark内存中RAM的大小,那么溢出的缓存数据集可以转移到本地存储器。

选项一是固态硬盘,选项二是硬盘驱动器。当然,固态硬盘作为选项一是更优选择,因为它要快得多,我们很快就会研究速度选项。

溢出的缓存数据集在需要时会按需重新计算。

速度比较 ⚡

我们将基于每秒比特数的单位来比较近似速度,使用这里的这个符号。

从CPU到硬盘驱动器,访问时间大约为2到12毫秒,而数据本身的传输速度约为每秒800兆比特。

观察CPU到固态硬盘,它的访问时间要短得多,数据传输速度约为每秒4.8千兆比特。这快了6倍。

然后从CPU到RAM,访问时间将为0.0001到0.05毫秒,这个值要小得多,数据传输速率将达到每秒80千兆比特。

这比固态硬盘快16.7倍,比硬盘快100倍。

此外,还有网络速度。我们有千兆以太网,速度为每秒1千兆比特或更高;快速以太网,速度为每秒100兆比特;以及以太网,速度为每秒10兆比特。

协议的细节会像这里列出的这样:对于千兆以太网、快速以太网,这些是标准;对于以太网,这些是标准。

综合来看所有速度,你可以看到RAM到CPU是最快的,其次是SSD到CPU,而HDD到CPU是三者中最慢的。

此外,你还可以看到,基于网络,千兆或每秒100兆比特的网络速度。

Spark系统的设计考虑了这些速度差异,并进行了整体优化,以在集群上以分布式处理方式提供最大性能。

MapReduce功能 🔧

MapReduce支持在集群上使用并行分布式算法处理和生成大型数据集。

它使用户能够使用高级操作符轻松分析数据。

它易于在数据库集群上执行并行计算。

它负责工作分配。

它具有高可靠性和容错性。

MapReduce存在哪些问题?数据共享和多阶段MapReduce作业处理通常通过从HDFS读取数据、执行MapReduce、将输出写入HDFS,然后一遍又一遍地重复这个过程来完成。

研究表明,许多Hadoop应用程序花费超过90%的时间在HDFS上进行读写操作。

这是一个耗时的过程,Spark通过利用内存中的RAM减少了这个时间。

对于需要分布式数据、并行作业处理和共享的迭代和交互式应用程序,Hadoop会很慢。

MapReduce在数据共享方面速度慢,原因是复制、序列化和磁盘输入输出耗时。我们当然会更多地讨论这些因素,我已经在我的Hadoop讲座中谈到了复制因子,也将包括关于序列化的更多细节。

迭代操作是一个多阶段过程,在应用程序的一系列计算中重复使用中间结果。

与Spark RDD相比,Hadoop速度较慢,因为它需要多次读写HDFS。

而Spark速度更快,因为它使用并利用了内存中的RAM。

观察Hadoop的MapReduce部分,你会看到从HDFS读取数据,进行映射处理,然后保存回HDFS,接着再次读取以进行归约处理,然后再保存回去。

从宏观角度看迭代操作,你可以看到从HDFS到MapReduce到HDFS到Reduce,这个过程可能会重复多次,最终回到Hadoop HDFS。

而在Spark中,RAM的处理过程将介入,而不是返回HDFS的过程,这将极大地加快处理速度,特别是对于需要重复多次的内部部分,RAM的速度优势将是巨大的,最终结果可以保存在Cassandra中。

交互式操作 💬

交互式操作是在相同数据上运行多个查询的操作,Spark在这方面具有巨大优势。通常需要在同一数据集上并行执行的查询。

对于Hadoop,MapReduce将在硬盘上的同一数据集上进行多次写入和读取以运行这些多个查询。

每个查询将通过硬盘的输入输出端口单独对硬盘进行写入和读取,这可能主导整个消耗的时间。

例如,观察Hadoop,HDFS有我们需要处理的这五个查询,轮流读取可能非常繁琐,例如一、二、三、四、五,以满足这五个查询并获得这五个结果。

在Spark中,我们有默认的RDD处理能力,它使用Spark DAG,这是一系列设置的转换,然后它们以最优化的方式一起执行。

每次执行一个动作时,这些都会重新计算。

由于更快的RAM输入输出速度,Spark在交互式操作中比Hadoop快得多。

使其如此快速的关键因素之一,除了使用RAM之外,就是持久化RDD处理。

现在,在DAG中,一个特定的RDD处理输出可以保存在RAM上。

它可以用于额外的基于查询的处理。

由于RDD中间处理结果被持久化,它可以立即被交互式查询重用,无需额外处理。

Spark比Hadoop快得多。

例如,从Spark RDD,我处理它并将其保存在RAM上,然后我可以与我的这些查询共享它。

此外,我可以持久化它,换句话说,如果需要中间结果,那么我将继续执行查询1,然后持久化结果1,我将使用结果1,将其发送回RAM,然后用它来满足这些查询。

因此,这些查询不需要重复执行查询1,那是它们需要处理的一部分。然后我可以更快地获得这些结果。这就是我们所说的使用Spark持久化。

灵活性与任务切换 🔄

在比较Hadoop和Spark的处理速度时,我们需要考虑的另一点是灵活性和任务切换。

在Hadoop中,作业跟踪器设置任务跟踪器,每个任务跟踪器将槽位分配为映射槽或归约槽。

在应用程序过程中,槽位分配不能动态更改。

任务跟踪器对槽位功能的重新分配需要作业跟踪器的许可,这需要时间。

在Spark中,分配给核心的转换或任务的交换是灵活且快速的,因为它是基于线程的。

与Hadoop相比,Spark速度更快,并且可以轻松更改分配给核心的转换或任务的处理线程。

此外,还有并行处理速度。Spark基于在多个核心上同时操作的多个线程执行并行处理。

Hadoop基于预定义的映射和归约槽,通过同时控制多个进程ID来执行并行处理。

这就是为什么Spark具有更高的利用率,当然是与Hadoop相比。

这些是我使用的参考资料,我推荐给你。谢谢。


在本节课中,我们一起学习了Spark与Hadoop的核心比较。我们探讨了Spark在速度上的优势,这主要源于其对内存的利用、更高效的DAG执行引擎以及灵活的线程模型。我们还分析了MapReduce的局限性,特别是其在迭代和交互式工作负载中因频繁磁盘I/O导致的性能瓶颈。最后,我们了解了Spark如何通过持久化RDD和灵活的并行处理来优化这些场景。理解这些差异有助于我们根据不同的数据处理需求选择合适的工具。

18:Spark RDD 核心概念解析 🚀

在本节课中,我们将学习 Spark 的核心数据结构——弹性分布式数据集(RDD)。我们将详细探讨其定义、核心特性、分区机制以及相关操作,帮助你理解其在分布式数据处理中的关键作用。


什么是 Spark RDD?💡

Spark RDD 代表 弹性分布式数据集。它是一系列确定性转换和操作作用于存储数据、另一个 RDD 或一组 RDD 的结果。RDD 这个词由 弹性分布式数据集 三个术语组合而成。

接下来,我们将逐一深入探讨这三个核心概念。


RDD 的核心特性

1. 弹性

“弹性”意味着 RDD 是一个容错的数据集合。RDD 能够从节点故障中自动恢复,因此我们说它是容错的。它也被描述为不可变的分布式对象或数据集合

2. 分布式

“分布式”源于分布式数据集的并行处理概念。数据集的每个逻辑分区都可以在集群的不同节点上进行计算。转换操作在 RDD 创建时是惰性的。用于持久化和缓存的函数列在括号中。

3. 数据集

RDD 将每个数据划分为逻辑分区。RDD 使用的是只读的、分区的数据集合。所有类型的 Python、Java、Scala 对象都可以在 RDD 中处理。

不可变数据意味着如果需要,它可以被重新创建。它源于对输入数据集应用的一系列确定性转换。因此,不可变性使得保存、复制和共享变得非常容易和高效。不可变性有助于解决多线程同时读写更新的问题。此外,它可以安全地在进程和节点之间共享和分发。


上一节我们介绍了 RDD 的基本定义和三大特性,本节中我们来看看 RDD 的持久化机制。

持久化

在内存中持久化数据集可以提高跨多个操作的数据处理速度。持久化的 RDD 使节点将其转换后的数据存储在其分区内存中,以便快速重用于对数据进行的其他操作。我们之前已经在一个例子中看过这一点。

RDD 持久化使用 DAG(有向无环图)惰性转换来帮助为要执行的多个操作调度优化的 RDD 持久化。


RDD 的分区

RDD 分区是 RDD 或更大数据集的逻辑划分块。所有 RDD 都被划分为分区。RDD 数据处理的主要单位就是分区。RDD 会自动对数据集进行分区。程序员可以控制分区的数量和大小,以便在 Spark 中更有效地支持应用程序。

以下是 Spark RDD 关于 HDFS 的默认分区设置:

  • Spark RDD 对 HDFS 的默认分区大小是 64 MB,这是 HDFS 的标准块大小。
  • Spark RDD 对 HDFS 的最大分区大小是 2 GB

基于此,你可以看到一个分区的大小以及它如何在系统中运行。


RDD 的组件与操作

元数据与数据类型

RDD 分区和数据放置中考虑的数据和对象类型包括:

  • 结构化数据
  • 半结构化数据
  • 非结构化数据

转换中的任务

在转换中,函数被应用于处理数据分区。我们将看到父 RDD 经过一个函数(即转换)后,会产生一个子 RDD。

父 RDD 与子 RDD 的比例可以是:

  • 一对一
  • N 对一
  • 一对 M
  • N 对 M(即多对多)

对于这些未预定义的数量,我使用 N 和 M 作为变量。


RDD 的类型

RDD 包含多种类型,以下是部分示例:

  • HadoopRDD
  • FilteredRDD
  • JoinedRDD
  • MappedRDD
  • PairedRDD
  • ShuffledRDD
  • UnionRDD
  • PythonRDD
  • DoubleRDD
  • JdbcRDD
  • JsonRDD
  • SchemaRDD
  • VertexRDD
  • EdgeRDD
  • CassandraRDD
  • GeoRDD

其中,SchemaRDD 值得我们进一步了解。


深入理解 SchemaRDD

SchemaRDD 是一个具有关联模式的 RDD。它拥有所有标准 RDD 函数,并且可以用于关系查询。

创建 SchemaRDD 的方法包括:

  1. 从外部源加载数据到 SchemaRDD 形式。
  2. 应用将标准 RDD 转换为 SchemaRDD 的方法。
  3. 导入 SQL 上下文。
  4. 在 SQL 上下文上应用 createSchemaRDD 函数。

SchemaRDD 可以在其导入的 SQL 上下文中注册为一个表。并且,注册为表的 SchemaRDD 可以用于 SQL 语句中。


总结

本节课中,我们一起学习了 Spark 的核心——弹性分布式数据集(RDD)。我们从其名称的由来讲起,深入探讨了其弹性分布式数据集三大核心特性。我们了解了 RDD 的分区机制持久化原理以及各种转换操作。最后,我们还特别介绍了 SchemaRDD 这一特殊类型,它结合了 RDD 的灵活性和关系型数据库的结构化查询能力。理解 RDD 是掌握 Spark 并行与分布式计算模型的基础。


参考资料:以上内容基于课程提供的资料整理,推荐你进一步查阅相关官方文档和教程以加深理解。

19:Spark转换、动作与DAG 🚀

在本节课中,我们将学习Apache Spark的核心概念:转换(Transformations)、动作(Actions)和有向无环图(DAG)。我们将了解不同类型的转换操作,理解动作如何触发计算,并探索Spark如何利用DAG进行高效的惰性计算和容错。


3.6 Spark转换 🔄

上一节我们介绍了Spark的基础。本节中,我们来看看Spark转换。转换是对弹性分布式数据集(RDD)的操作,它从一个RDD创建出一个新的RDD。转换是惰性的,意味着它们不会立即执行,而是记录下要执行的操作。

以下是主要的Spark转换操作:

  • map:将源数据的每个元素通过一个函数进行转换。函数定义在map的括号内。
    • 代码示例rdd.map(lambda x: x * 2)
  • filter:根据定义的函数,筛选出结果为True的元素。
  • flatMap:将每个输入项映射为零个或多个输出项,输出一个序列。
  • mapPartitions:在每个RDD分区上分别运行函数。
  • mapPartitionsWithIndex:运行mapPartitions并提供分区的索引值。
  • sample:基于给定的比例,使用随机种子对数据进行采样(可放回或不放回)。
  • union:创建源数据与其他数据元素的并集。
  • intersection:输出源数据与其他数据元素的交集。
  • distinct:选择源数据集中的不重复元素。
  • groupByKey:将键值对(KV)转换为另一种格式(按键分组)。
  • reduceByKey:将KV对转换为KV对,其中每个键通过一个归约函数进行聚合。
  • join:将KV对和KW对转换为K(V, W)对。
  • cogroup:将KV对和KW对转换为K(iterable, iterable)格式。
  • cartesian:将类型为T和U的数据集转换为(T, U)元素对。
  • pipe:将每个RDD分区通过一个shell命令管道传输。
  • coalesce:将RDD分区的数量减少到转换中指定的数量。
  • repartition:将RDD分区的数量更改为numPartitions,并随机重新洗牌数据以在分区间实现数据平衡。
  • repartitionAndSortWithinPartitions:更改RDD分区数量,并在每个分区内根据键对记录进行排序。

3.7 Spark动作 ⚡

上一节我们介绍了各种转换操作。本节中我们来看看Spark动作。动作是返回结果到驱动程序或将结果写入存储系统的操作。当动作被执行时,一个作业(Job)才会启动运行

一个作业包含多个串行和并行的阶段(Stage)。每个阶段又包含多个任务(Task),这些任务在RDD的每个分区上并行执行。

例如,当执行collect动作时,会启动一个作业来运行该动作。该作业被划分为多个阶段,其中一些阶段可以并行运行。每个阶段内部又包含多个需要执行的任务。

以下是主要的Spark动作:

  • reduce
  • collect
  • count
  • first
  • take
  • takeSample
  • takeOrdered
  • saveAsTextFile
  • saveAsSequenceFile
  • saveAsObjectFile
  • countByKey
  • foreach

3.8 Spark有向无环图 (DAG) 🕸️

上一节我们了解了动作如何触发计算。本节将深入探讨Spark执行计划的核心——有向无环图。DAG代表有向无环图,它是在RDD上执行的一系列串行和并行计算序列。

转换的计算序列,形成了从父RDD到子RDD关系的链条,这被称为血统图(Lineage Graph)。当我们讨论DAG时,会用到“惰性转换”这个术语。

什么是惰性转换?

在DAG建立的过程中,没有任何转换会被执行,因此我们称之为“惰性”。所有转换及其串行和并行处理序列都在程序中设置好。当这个结构完成后,我们称之为一个DAG。它被称为“有向无环图”是因为转换形成了一个图处理过程,并且图中没有循环。

当执行一个动作(如collect)时,调度器会找到执行DAG的最优方式。此时,操作才会真正执行。调度器以最优方式执行DAG血统图中的所有转换,动作将一切整合运行,并将结果交付输出。

DAG处理示例与阶段划分

一个常见的处理示例是:从HDFS读取 -> 包含连接(join)和洗牌(shuffle)的映射组合 -> 分区归约 -> 写回HDFS。这种过程会重复进行。

在Spark DAG和阶段示例中,例如,groupByKeyjoin操作需要洗牌过程,因此它们构成了阶段边界。而像mapfilter这样的操作则可以一起流水线化(pipelined)。

观察一个DAG结构,在到达join操作之前的部分可以是一个阶段,其中从mapfilter开始的所有过程都可以流水线化以到达join。阶段内的这些函数可以一起流水线化。join之后经过map的最终阶段也可以一起流水线化。因此,图中红线指示的分离区域就是不同的阶段,阶段内部我们进行的是转换过程的流水线执行。

惰性转换的优势

Spark中使用的惰性转换具有以下优势:

  1. 高度优化:调度器在检查完整个需要完成的DAG工作序列后,才决定最优的数据处理方法,因此效率极高。
  2. 避免不必要的操作
  3. 更有效地共享处理能力
  4. 减少内存消耗

DAG调度流程

  1. 在RDD上调用一个动作。
  2. Spark创建DAG并将其提交给DAG调度器。
  3. DAG调度器将操作符划分为多个任务阶段。
  4. 每个阶段由基于RDD输入数据分区的任务组成。
  5. DAG调度器将操作符流水线化在一起,多个操作符可以在单个阶段中调度。
  6. DAG调度器的最终结果是一组待处理的阶段。
  7. 阶段被传递给任务调度器。
  8. 任务调度器通过集群管理器(Spark独立模式、Mesos或YARN)启动任务。
  9. 任务调度器不知道阶段之间的依赖关系。
  10. 工作节点在从节点上执行任务。

RDD弹性与依赖关系

RDD是一个跨机器集合分区的只读对象集合。RDD数据可以在多个节点上缓存,并在多个并行操作中重用。它提供了基于血统的容错能力。如果一个分区丢失,RDD血统被用来仅重建丢失或出错的分区部分,这就是其“弹性”的由来。

转换类型包括窄转换宽转换

  • 窄转换:数据仅在分区内进行洗牌。例如:map, filter, union
  • 宽转换:数据在不同的分区之间进行洗牌。例如:groupByKey, reduceByKey

这导致了血统依赖关系,同样我们可以称之为窄依赖宽依赖

  • 窄依赖:每个子分区与父RDD中的单个分区存在一对一关系。父RDD的每个分区最多被一个子分区使用。
    • 例如,join(在某些条件下)、mapfilterunion的窄依赖关系。
  • 宽依赖:子分区与父RDD中的多个分区存在一对多关系。父RDD的分区被用于多个子分区。
    • 例如,groupByKey或某些join操作中的宽依赖关系。你可以看到子RDD分区是从父RDD的多个分区创建的,因此被称为更“宽”的依赖。


本节课中,我们一起学习了Spark的转换操作、动作执行以及有向无环图(DAG)的核心原理。我们理解了转换的惰性特性、动作如何触发实际计算,以及DAG如何通过阶段划分和流水线执行来优化任务调度。此外,我们还探讨了RDD基于血统的容错机制和窄/宽依赖的区别,这些是Spark实现高效、弹性分布式计算的基础。

20:19_3.9 Spark编程 🚀

在本节课中,我们将要学习Apache Spark编程的基础知识,包括其支持的编程语言API、核心编程概念以及如何高效地编写Spark程序。


Spark API概述

Spark提供了多种编程语言接口,便于不同背景的开发者使用。这些API基于Scala、Python、Java和R语言构建。

API包含函数、子例程、协议和工具,用于构建和执行应用程序软件。一个优秀的API应具备以下特点:

  • 易于高效地进行软件编程。
  • 功能多样且强大。
  • 易于管理、控制和适配。
  • 具备出色的可扩展性,便于扩展并实现快速性能。

支持的编程语言

上一节我们介绍了Spark API的通用特性,本节中我们来看看它所支持的具体编程语言及其特点。

以下是Spark支持的主要编程语言:

  1. Java

    • 这是一种通用计算机编程语言,是客户端-服务器Web应用开发平台中最流行的语言之一。
    • 它支持面向对象、命令式、泛型、反射式和并发多范式编程。
    • 由Sun Microsystems于1995年首次发布,后由Oracle公司收购。
    • 其语法与C/C++相关,文件扩展名包括 .java.class.jar
  2. Scala

    • Scala是一种基于Java和JVM的多范式API。
    • 它支持函数式、面向对象、命令式和并发多范式编程。
    • 首次出现于2004年,文件扩展名包括 .scala.sc
  3. Python

    • Python是一种通用高级编程语言,于1991年首次发布。
    • 其设计哲学强调代码可读性,相比C/C++或Java能实现更高效的编程。
    • 它包含动态类型系统和自动内存管理功能,支持面向对象、命令式、函数式和过程式多范式编程。
    • 文件扩展名包括 .py.pyc.pyd.pyo.pyw.pyz
  4. R

    • R是一种用于统计计算和数据挖掘软件开发的免费编程语言,因此在大数据分析中极具吸引力。
    • 主要用C、Fortran和R本身编写,支持数组、面向对象、命令式、函数式、过程式、反射式多范式。
    • 首次出现于1993年8月,由R核心团队开发,R统计计算基金会支持。
    • 文件扩展名包括 .R.rdata.rds.rda

Spark编程核心概念

了解了编程语言后,我们进入Spark编程的核心环节。编写Spark程序时,需要理解并应用几个关键概念。

使用上述API(Scala、Python、Java、R)进行Spark编程时,需要考虑RDD的创建方法。您可以通过并行化集合或从数据文件系统(如HDFS、Cassandra或Amazon S3)读取数据来创建RDD。

驱动程序在编程时需要考虑以下问题:

  • 将要使用的Spark核心数量。
  • 集群中将使用的节点数量。
  • RDD的分区数量应与集群中使用的节点数量成比例,以充分利用集群的计算能力,实现更高的效率和更快的处理速度。

分区越多,并行度越高。集群上的节点数量应与RDD中的分区数量成比例。例如,对于一个拥有1000个节点、5000个核心的集群,可以考虑将RDD设置为1000个分区。


Spark作业执行流程

掌握了核心概念,本节我们来看看一个Spark作业是如何被调度和执行的。

驱动程序基于一系列转换构建一个有向无环图(DAG)。驱动程序将工作分配给工作节点。在一个工作节点上,执行器JVM可以处理多个分区。

动作(Action)会触发DAG和并行计算。多个RDD对象构建了操作符DAG,其中父RDD会经过一个或多个转换阶段,最终生成子RDD。

DAG中的持久化操作会被识别,可重用的部分会被缓存在中间RDD中。每个RDD分区都将通过一个计算线程执行一个任务。

一个作业被划分为多个阶段,每个阶段又被划分为多个任务。DAG调度器将DAG图拆分为多个阶段和多个任务以供执行。任务调度器执行各个任务。JVM执行器使用任务线程和块管理器执行任务,然后块被处理,结果存储在子RDD中。


总结

本节课中我们一起学习了Spark编程的基础。我们了解了Spark支持Scala、Python、Java和R等多种API语言,探讨了高效编程需要考虑的核心因素,如资源分配和RDD分区策略,并梳理了从驱动程序构建DAG到任务在集群上最终执行的完整作业流程。理解这些概念是编写高效Spark应用程序的关键。


参考资料:以上内容基于课程提供的参考资料进行整理。

21:Spark核心与变量序列化 🚀

在本节课中,我们将学习Apache Spark的核心架构及其关键组件,包括Spark Core、集群节点结构、线程与核心的概念,以及Spark中两种重要的共享变量:广播变量和累加器。最后,我们将探讨序列化在Spark中的作用。


Spark核心:执行引擎基础

Spark Core是Spark平台的底层通用执行引擎。所有Spark功能都构建在Spark Core之上。它提供基于内存(RAM)的快速计算能力,并支持引用外部存储系统中的数据集。

Spark Core是整个Spark系统的基础,它支持:

  • 基于集群的并行操作。
  • 任务分发与调度。
  • 输入输出功能。
  • RDD(弹性分布式数据集)操作。
  • 共享变量的控制,包括广播变量和累加器。

上一节我们介绍了Spark Core的整体角色,本节中我们来看看Spark集群的具体构成。

Spark集群架构与并行处理

一个Spark集群由多个节点组成。每个节点内部运行着一个执行器,执行器是一个Java虚拟机实例。执行器可以操作多个核心,这些核心用于执行各种数据转换和计算任务。

在Spark中,并行处理基于多线程实现。这些线程在集群多个节点的多个执行器的多个核心上同时并行运行。

以下是集群架构的关键层级:

  • 集群 包含多个节点。
  • 节点 包含多个执行器。
  • 执行器 使用多个核心来处理数据。
  • 线程 是应用程序实际运行和处理的单元。

因此,计算发生在集群内每个节点的执行器上,通过基于线程的多核心计算来完成。

理解了集群的物理结构后,我们需要明确线程和核心这两个核心计算概念。

线程与核心

线程 是由调度器独立管理的一系列程序指令。线程在操作系统中被广泛使用,例如在你的智能手机、个人电脑或平板电脑上,所有进程都基于多核线程运行。

一个进程通常需要多个线程同时执行并共享内存。多个线程可能共享一个核心,也可能被分配到各自独立的核心上。

核心 是一个具有独立处理单元的运算组件,负责读取和执行程序指令。多核处理器在单个运算组件上集成了多个核心。

以下是几种常见的处理器核心配置示例:

  • dual-core CPU: 双核CPU,包含2个核心。
  • quad-core CPU: 四核CPU,包含4个核心。
  • big.LITTLE: 一种异构核心设计,包含高性能的“大核”和节能的“小核”。计算密集型任务分配给大核,而轻量级或后台任务则在小核上执行。例如,你近期购买的设备可能采用 4个大核 + 4个小核 的配置。

了解了Spark的基础架构和计算单元后,我们接下来探讨Spark中用于优化和协调任务的两种特殊变量。

Spark共享变量:广播变量与累加器

Spark使用两种共享变量来优化任务执行和收集信息:广播变量和累加器。

广播变量 允许应用程序将一个只读的值集合发送到所有工作节点。它适用于以下场景:

  • 数据集小到足以放入单个执行器的内存中。
  • 数据集可以在驱动程序上加载为查找哈希表。
  • 当执行器上的map转换操作需要引用广播变量进行数据集查找时,可以避免在连接数据集时产生shuffle过程,从而节省大量时间和处理资源。

累加器 是一种由多个工作节点聚合的变量。只有驱动程序可以读取累加器的值。任务只能向累加器写入数据,而不能读取或使用它。累加器常用于对执行过程中发生的事件进行计数,在调试时尤其有用。

在分布式计算中,数据需要在不同节点间传输或持久化存储,这就引出了序列化的概念。

序列化

序列化 是将对象(如数据、数据库、应用程序)的状态转换为字节流的过程。序列化后的字节流可以被重新转换回与原始对象完全相同的副本。

在Spark中,序列化用于以下目的:

  • 通过网络传输数据。
  • 将RDD数据保存到固态硬盘或机械硬盘。
  • 持久化操作。
  • 广播变量。

Java序列化 是Spark默认的序列化方案,它支持多种对象类型和大型序列化格式,但速度相对较慢。因此,在生产级应用程序中,可能需要使用更快的序列化工具。


本节课中我们一起学习了Spark的核心架构,包括作为执行引擎的Spark Core、集群的节点与核心组成、以及多线程并行处理的原理。我们还深入探讨了Spark中用于高效数据共享的广播变量和用于聚合计数的累加器。最后,我们了解了序列化在数据持久化和网络传输中的关键作用。掌握这些核心概念是理解和高效使用Spark进行大数据处理的基础。

22:Spark集群操作详解 🚀

在本节课中,我们将学习Spark集群的三种主要管理方式:独立模式、YARN和Mesos。我们将深入探讨Spark集群的调度层次、任务执行流程,并详细比较不同集群管理模式的架构与特点。


3.12 Spark集群操作

上一节我们回顾了Spark的核心概念,本节中我们来看看Spark在集群环境中的整体操作流程。

Spark集群管理方法主要包括独立模式、YARN和Mesos。Spark中央主节点(Master)负责执行器的启动和任务执行调度。

在深入集群管理之前,让我们再次回顾Spark的操作流程。以下是其调度层次结构:

Spark集群调度器包括YARN、Mesos和独立模式调度器。在此之上,我们有RDD和各类库。DAG调度器将DAG划分为多个阶段,这些阶段进一步被分解为以串行和并行模式运行的多个任务。任务调度器处理每个阶段内的任务,而执行器则利用其核心(CPU核心)通过线程处理这些任务。

以下是Spark调度过程的一个示例:

  1. 多个RDD对象通过转换操作形成DAG。
  2. 这些转换是惰性的,直到一个行动操作被触发。
  3. 作业开始运行,包含多个串行和并行的阶段。为此,系统会审视整个DAG并制定调度计划。
  4. 每个阶段并行执行多个任务。
  5. 父RDD经过DAG操作后生成子RDD。
  6. 每个任务处理一个分区,最终形成输出RDD。

当行动操作触发时,Spark驱动程序的JVM会使用DAG调度器将整个DAG划分为多个阶段。每个阶段被分配给任务调度器。任务调度器将任务分配给执行器进行处理。执行器利用其核心通过线程处理任务。块管理器(Block Manager)负责提供数据块并存储处理输出。

当一个阶段的所有任务处理完成后,任务调度器会通知DAG调度器。如果还有未处理的阶段,DAG调度器会继续分配新的阶段给任务调度器。当作业的所有阶段都完成后,最终的子RDD将被存储。


3.13 Spark独立模式

基于对Spark操作流程的理解,本节我们具体看看第一种集群管理方案:Spark独立模式是如何工作的。

在Spark独立模式下,Spark主节点(Master)设置在集群中的一个节点上。工作节点(Workers)则设置在集群的多个节点上。Spark主节点和工作节点都是JVM进程,处理负担相对较轻。

以下是其工作流程:

  1. 应用程序1(App1)启动驱动程序1(Driver 1)在选定的节点上运行。
  2. 驱动程序1运行作业1,并与作为调度器的Spark主节点通信,调度作业1的执行。
  3. Spark主节点(SM)指示选定的工作节点在其执行器(JVM进程)上处理作业1的任务。
  4. 一个作业由多个阶段组成,一个阶段由多个任务组成。
  5. 执行器根据App1的DAG被分配多个RDD分区来处理任务。
  6. 每个执行器识别其节点上的多个核心,用于处理App1的线程。
  7. 多个线程被分配给各个核心,可能共享核心以实现并行处理。

如果此时新增了应用程序2(App2),并且它与App1运行在相同的执行器上:

  1. App2启动驱动程序2在选定的节点上运行。
  2. 驱动程序2运行作业2,并与Spark主节点通信以调度作业2的执行。
  3. Spark主节点指示选定的工作节点在其执行器JVM上处理作业2的任务。
  4. 执行器根据App2的DAG被分配多个RDD分区来处理任务。
  5. 每个执行器识别其节点上的多个核心,用于处理App2的线程。

独立模式示例动画描述

  1. 在集群中选定节点。
  2. 启动Spark主节点。
  3. Spark主节点在这些节点上设置工作节点。
  4. 工作节点在这些节点上设置执行器。
  5. 执行器需要核心来执行任务。
  6. 对于RDD1,分区被分配到不同工作节点的执行器上。
  7. 作业被划分为阶段,阶段又划分为多个任务,这些任务在串行和并行模式下运行。
  8. 任务形成线程,进入核心执行。
  9. 如果有另一个作业需要执行,RDD2的分区也会被分配到多个节点的执行器上,并经历同样的阶段划分和任务执行流程。

如果App1和App2运行在不同的核心集上,流程会有所不同:

  1. App2启动驱动程序2。
  2. 驱动程序2与Spark主节点通信,请求在选定节点上为作业2设置新的执行器。
  3. Spark主节点指示选定的工作节点在新的JVM执行器上处理作业2的任务。
  4. 新的执行器根据App2的DAG分配RDD分区来处理任务。
  5. 每个新执行器识别其节点上的多个核心,用于处理App2的线程。
  6. 这些核心独立于分配给App1作业的核心。

独立模式的容错性

  • 执行器崩溃:由其上层的工作节点恢复。
  • 工作节点崩溃:由Spark主节点恢复。
  • Spark主节点崩溃:通过ZooKeeper实现高可用性。备份主节点在集群中的另一个节点上复制,可以设置多个备份以提高安全性和可靠性。在作业执行过程中,如果需要也可以添加更多的主节点。

3.14 Spark on Mesos

了解了独立模式后,我们来看另一种强大的集群管理方案:Mesos。

在独立模式下,集群管理器是Spark主节点。当Spark与Mesos一起使用时,集群管理器则是Mesos主节点。Mesos在设计上就支持Spark。

使用Mesos的优势包括:

  • 支持Spark与集群中运行的其他框架之间的动态资源分区
  • 为在Spark集群上执行的多个作业提供高效且可扩展的分区支持

以下是Spark集群操作与Mesos管理的Spark集群操作的比较:

  • 在标准Spark集群中,组件通过中间的集群管理器进行交互。
  • 在Mesos中,它有自己的主节点和工作节点。Spark执行器在工作节点内部运行。Spark驱动程序与Mesos主节点交互,Mesos主节点激活与工作节点的协作,并将结果保存到HDFS、Cassandra等存储系统中。

Mesos操作示例

  1. 驱动程序创建一个作业。
  2. 作业产生多个串行和并行的阶段。
  3. 每个阶段包含多个任务。
  4. 每个任务被分配处理节点执行器内的RDD分区。
  5. Mesos主节点调度执行器将在分区上运行的任务。

Mesos主节点调度决策基于以下因素

  • 节点上的剩余资源。
  • 执行器上核心的处理能力。
  • 短生命周期任务和长生命周期任务的数量。
  • 对短生命周期和长生命周期任务处理时长的预估。
  • 当前集群中共存的其他框架。
  • 资源的动态分区潜在调度方案。

Mesos运行模式

  1. 客户端模式

    • Spark on Mesos的驱动程序Shell程序在客户端计算机上启动。
    • 驱动程序可以交互式地监控和控制进程。
    • 最终的RDD结果数据在客户端驱动程序上显示,并保存到SSD或HDD(如HDFS)。
  2. 集群模式

    • 驱动程序在集群中的一个节点上启动。
    • Mesos集群分发器(MCD)Shell驱动程序在集群节点上启动。
    • 最终的RDD结果数据集在Mesos的Web UI上显示。

容错:ZooKeeper可用于故障恢复。Mesos支持将恢复状态写入ZooKeeper。

Mesos资源分配模式

  1. 粗粒度模式

    • 执行器的大小由配置变量决定,需考虑执行器的内存大小、核心数量及处理能力。
    • 执行器数量基于应用程序的统计信息。
    • 粗粒度模式的启动开销非常小。
    • 限制:在粗粒度模式下,分配给应用程序的Mesos资源在应用程序结束前无法更改。
  2. 动态分配模式

    • 从名称可知,此模式具有更强的动态适应性。
    • Mesos支持在粗粒度模式基础上进行动态分配。
    • 每个作业根据执行器所需和可用资源进行动态配置。

本节课总结
本节课我们一起深入学习了Spark的集群操作。我们首先回顾了Spark的调度流程,然后详细探讨了三种集群管理模式。重点分析了Spark独立模式的架构、多应用资源分配以及容错机制。接着,我们介绍了Spark on Mesos,了解了其动态资源管理的优势、两种运行模式(客户端与集群)以及两种资源分配策略(粗粒度与动态)。理解这些集群管理方式对于在复杂环境中高效部署和运行Spark应用至关重要。

23:Spark YARN 🚀

概述

在本节课中,我们将要学习 Spark 如何与 YARN 资源管理器协同工作。YARN 是 Hadoop 生态系统中的核心组件,Spark 通过集成 YARN,能够高效地利用现有的 Hadoop 集群资源来处理大数据。我们将重点探讨 Spark on YARN 的两种运行模式:客户端模式和集群模式,并理解它们的工作原理与区别。


Spark YARN 的特点

上一节我们介绍了 Spark 的基本概念,本节中我们来看看 Spark 与 YARN 结合时的关键特性。

Spark on YARN 的主要特点包括:

  • 兼容 Hadoop:通过使用 YARN 来运行 Hadoop 集群,Spark 能够与 Hadoop 生态系统无缝集成。Hadoop 曾是其时代最著名和主导的大数据技术,至今仍有大量 HDFS 数据库广泛存在。因此,利用 YARN 访问 HDFS 等数据库,并在 Spark 上分析数据,具有很大吸引力。
  • 广泛的数据源支持:Spark 可以处理任何 Hadoop 输入格式的数据,这非常强大。支持的数据源包括 HDFS、HBase、Cassandra、Hive 等。

客户端模式

现在,我们深入了解一下 Spark on YARN 的第一种运行模式:客户端模式。

在客户端模式下,应用程序的驱动程序运行在提交任务的客户端机器上,因此得名“客户端”模式。

以下是客户端模式的工作流程步骤:

  1. 客户端上的驱动程序向 YARN 资源管理器发送请求。
  2. YARN 资源管理器选择一个资源充足的节点,并请求该节点的 YARN 节点管理器启动一个 YARN 应用主控器。
  3. YARN 资源管理器内的应用主控器会监控并管理多个 YARN 应用主控器,在发生故障时提供恢复。
  4. YARN 应用主控器向 YARN 资源管理器请求在集群中建立多个带有执行器的 YARN 容器。
  5. YARN 资源管理器通知 YARN 应用主控器哪些节点有足够资源建立容器,并发送建立容器所需的信息。
  6. YARN 应用主控器请求 YARN 节点管理器在节点上建立 YARN 容器。
  7. 在每个 YARN 容器内部,会建立一个执行器来处理 RDD 分区的任务。
  8. 客户端可以通过驱动程序直接与节点上 YARN 容器中的执行器进行交互。
  9. 在客户端模式下,客户端可以使用驱动程序接口实时检查执行器中转换和操作的结果。

需要强调的是,驱动程序位于客户端的计算机上。整个流程涉及两级调度器:

  • YARN 资源管理器调度器:决定哪些节点运行执行器的 JVM 容器。
  • 驱动程序调度器:决定在每个执行器上运行的具体任务。它会尝试根据每个节点上缓存的 RDD 数据来优化任务分配。

当驱动程序程序关闭时,Spark YARN 客户端模式进程就会结束。例如,当客户端的驱动 Shell 被终止,或者客户端直接关闭了计算机,客户端模式都将被终止。


集群模式

了解了客户端模式后,我们来看看另一种模式:集群模式。

在集群模式下,客户端将应用程序和驱动程序提交到集群的资源管理器。此时,YARN 资源管理器负责驱动程序本身,驱动程序不再在客户端计算机上执行,因此我们称之为“集群模式”。

以下是集群模式的工作流程步骤:

  1. 客户端提交应用和驱动程序到集群的资源管理器。
  2. 资源管理器决定 YARN 应用主控器的部署位置。
  3. 应用主控器监控 YARN 应用主控器,确保其正常运行,并在发生故障时提供备份和恢复。
  4. YARN 应用主控器在集群的某个节点上内部启动执行驱动程序。
  5. YARN 应用主控器向资源管理器请求建立多个带有执行器的容器在集群中工作。
  6. 资源管理器通知 YARN 应用主控器,哪些节点有足够资源开启新容器以执行操作。
  7. YARN 应用主控器请求节点管理器在其节点上建立容器。
  8. 在每个 YARN 容器内部,建立一个执行器来执行 RDD 分区的任务。
  9. 最终结果被保存到 HDFS、Cassandra 或其他存储系统中。
  10. 客户端可以在之后连接回来,检查保存在 HDFS 或 Cassandra 等地方的结果。

在集群模式下,即使客户端断开连接或关闭计算机,作业仍会在集群中继续运行,直到完成。客户端可以在之后重新连接,通过驱动程序查询结果或从存储系统中获取最终结果。


总结

本节课中我们一起学习了 Spark on YARN 的两种核心部署模式。

  • 客户端模式:驱动程序运行在客户端机器,适合交互式调试,但客户端需要保持在线。
  • 集群模式:驱动程序运行在集群中,适合生产环境,提交作业后客户端可以断开连接。

理解这两种模式的区别和工作原理,对于在实际的 Hadoop 集群上有效部署和运行 Spark 应用程序至关重要。

24:Spark SQL 与 Spark GraphX 🚀

在本节课中,我们将学习 Apache Spark 生态系统中的两个重要组件:Spark SQLSpark GraphX。我们将了解它们的功能、核心概念以及如何在实际数据处理中应用它们。


Spark SQL 🔍

上一节我们介绍了 Spark 的核心概念。本节中,我们来看看 Spark SQL,它是一个支持基于 Spark 核心进行 SQL 操作的模块。

Spark SQL 支持将 SQL 查询轻松集成到 Spark 程序中,并且可以使用 Java、Scala 或 Python 进行编程。程序员可以连接到任何数据源,并以相同的方式轻松地跨这些不同类型的数据源连接数据集,这非常方便。

以下是 Spark SQL 的一些关键特性:

  • 数据抽象:它使用基于 Schema RDD 的数据抽象,并提供基于数据框(DataFrame)的数据提取。
  • 数据支持:它提供对结构化和半结构化数据的支持,这一点非常重要。
  • 领域特定语言(DSL):它提供了用 Scala、Java 或 Python 操作数据框的领域特定语言。
  • 商业智能工具集成:通过服务器模式提供行业标准的 JDBC 和 ODBC 连接,商业智能工具可以轻松使用。

为了理解 Spark SQL 的操作,我们需要了解一些额外的术语。

  • 数据集(Dataset):一个分布式的数据集合。它是 Spark 提供的一个接口,结合了 RDD 的功能和 Spark SQL 的优化功能。它从 JVM 对象构建,并使用转换操作进行处理。
  • 数据框(DataFrame):一个按命名列组织的 Dataset。它类似于基于 R 或 Python 的数据框,或关系数据库(RDB)中的表。DataFrame 可以从结构化数据文件、Hive 中的表、外部数据库和现有的 RDD 创建。
  • 数据抽象(Data Abstraction):一个获取整个数据集简化表示的归约过程。
  • ODBC(开放数据库连接):一个用于访问数据库管理系统的标准应用程序编程接口(API)。该 API 的设计独立于数据库系统和操作系统。
  • JDBC(Java 数据库连接):一个用于客户端访问数据库的 Java API。它是一个基于 Java 标准版的平台 API,支持数据库查询和更新功能。

Spark GraphX 🕸️

了解了用于结构化数据查询的 Spark SQL 后,本节我们转向用于图计算的 Spark GraphX。

Spark GraphX 是一个分布式图处理框架。它最初由加州大学伯克利分校的 AMPLab 和 Databricks 公司开发,后来捐赠给了 Apache 软件基金会和 Spark 项目。它通过批处理方式检查整个图来推导出最优解和答案。

GraphX 通过提供图计算 API 来实现这一目标,并通过 Spark 中的 GraphX 启用用户自定义图的优化运行时处理。

Spark 的分布式图处理框架当然基于其 RDD。由于 RDD 是不可变的,GraphX 中的图也是不可变的。因此,GraphX 不适合需要更新的数据库图,因为如果更改了 GraphX 的值或结构,将会创建一个新图。一些程序员会将图数据库技术与 Spark GraphX 结合使用。

Spark 的分布式图处理框架基于 RDD,其中整个图的 RDD 被转换为顶点 RDD 和边 RDD 的组合。顶点 RDD 和边 RDD 适合进行图计算,并且易于应用图优化算法。

Spark 的分布式图处理框架基于 RDD,其 API 支持实现大规模并行算法和 MapReduce 风格的 API。Pregel API 支持基于顶点属性在图结构上发送消息进行计算。它支持更高效的分布式执行和图计算的灵活性,并以图的形式提供数据库抽象。


总结 📚

本节课中,我们一起学习了 Apache Spark 的两个高级组件。

  • 我们首先探讨了 Spark SQL,它允许我们使用熟悉的 SQL 语法或 DataFrame API 来处理结构化和半结构化数据,并能方便地连接多种数据源。
  • 接着,我们学习了 Spark GraphX,这是一个用于大规模图计算的框架,它基于 Spark RDD 构建,提供了丰富的图算法和 Pregel API,适用于社交网络分析、推荐系统等场景。

理解这两个工具将帮助你在处理不同类型的大数据任务时,选择更高效、更合适的 Spark 组件。


参考资料:以上内容基于课程中使用的参考资料,推荐你进一步查阅。

25:关系型数据库与图数据库 📊

在本节课中,我们将学习两种重要的数据库类型:关系型数据库与图数据库。我们将探讨它们的基本概念、结构、工作原理以及各自的优缺点,特别是它们在大数据环境下的应用差异。

我们刚刚学习了Spark图形处理。我收到了学生们关于关系型数据库和图数据库的问题,以及GraphX是否是图数据库。答案是否定的,但理解关系型数据库、图数据库以及它们与GraphX之间的关联非常重要。为了解释清楚,我将讲解本章内容。这部分内容值得深入学习,因为本课程的核心是大数据,而大数据的基础是数据库。我们一直使用且被所有企业广泛采用的数据库结构是关系型数据库,而图数据库则是新兴的概念。

关系型数据库

关系型数据库是自20世纪80年代以来所有软件应用中使用的代表性数据库,因此它是目前的主流。

结构化数据存储在表中。再次强调,这些表基于结构化数据。

列定义了数据类型,而行则是来自不同数据集的相同数据类型的集合。

关系信息是关键。一个数据集表与另一个数据表之间的关系通过表的主键属性来指示,这些属性通过外键列进行引用。

因此,我们有主键和外键,它们以行和列的形式在表与表之间列出。

图数据库

图数据库是一种使用图结构的数据库。数据库图使用顶点和边。

由此你可以自动看到图数据库与GraphX之间的关系,然而,它们并不相同。它们高度相关,拥有可以高效交互的多种功能,但并非完全一致,存在差异。随着我继续解释,你会看到这一点。

顶点基于数据集和元数据,边则基于关系。什么是元数据?我很快就会详细解释。

图数据库支持对节点、边和属性进行语义查询,以表示和存储数据。

顶点代表一个实体或元数据的属性。

边代表顶点之间的关系。

关系记录根据类型、特征、方向、相关性、统计信息和其他属性进行组织。

什么是元数据?

元数据是提供关于其他数据信息的数据。

元数据类型包括描述性元数据、结构性元数据和管理性元数据。让我们逐一了解。

以下是描述性元数据的说明。

  • 描述性元数据:关于数据资源和目的的数据与信息。
  • 方法:数据发现、识别和验证等方法属于此类。
  • 示例:包括标题、摘要、程序员、作者、来源、关键词和其他特征。

以下是结构性元数据的说明。

  • 结构性元数据:关于数据容器的数据信息。
  • 指定内容:它指定类别、类型、版本、关系、统计信息和特征。
  • 考虑因素:数据容器收集或创建的方法,以及数据集复合基础对象都被考虑在内。

以下是管理性元数据的说明。

  • 管理性元数据:侧重于资源管理和行政的数据与信息。
  • 包括内容:这包括数据集收集和创建的方法、数据集类型和文件技术信息、用户访问权限和管理、资源管理方法和策略。

从关系型数据库到图数据库的示例

这只是一个简化的例子,并不完整。假设右边是一个关系型数据库结构,我们正在查看人员、部门成员和技术部门职能。

那么,我们有“Chung”(也就是我),与电气电子工程系、计算机科学与工程系、管理信息系统系相关联,我可能涵盖智能设备设计、Spark大数据、HCI设计等相关技术方面。

提取这些组件并根据属性表示它们的关系,看起来会有所不同。这基本上是一个方面,并非完整的图数据库,但你可以看到关系型数据库表中的内容被提取成此处看到的顶点和边的关系。

这可以进一步发展成一个图数据库。

为何图数据库在某些情况下更具吸引力?

我们将重点关注为什么图数据库在某些情况下比关系型数据库更具吸引力。

在关系型数据库分析中,当收到查询时,通过匹配表上的主键和外键来计算数据连接。

这个连接过程是我们关注的主要任务。

创建连接表是为了记录数据的多对多关系。

连接过程需要大量的数据混洗和排序操作。再次提醒,如果你记得数据混洗和排序是复杂操作,就会明白为什么在进行连接时,我们需要划分作业的阶段。一个作业被划分为多个阶段,一个阶段内有转换的流水线操作。每个阶段又被划分为多个串行和并行的处理任务,这些任务被转换成在核心上执行的线程,对吗?

再次强调,这些连接操作耗时且计算负担重。

这就是为什么人们希望将关系型数据库技术转变为图数据库技术。让我们进一步探讨。

连接的过程与类型

连接的过程是基于公共字段组合相关的数据集。

它是数据库、数据合并和数据分析中的基本过程,非常重要,在你的处理过程中时不时就需要进行。

连接的类型包括嵌套循环连接和哈希连接。让我们看看它们的机制。

以下是嵌套循环连接的说明。

  • 嵌套循环连接:这是最简单的连接方法。它使用嵌套循环来连接两个表。
  • 基本操作:就像这样,如果我有两个表并想合并它们的属性,我会查看一个属性,遍历第一个表,然后查看下一个属性,遍历另一个表,如此反复,在一个嵌套循环操作序列中进行。
  • 缺点:这将花费大量时间,速度非常慢。基于嵌套循环的连接过程是:对于内表中的每一行,在连接过程中按顺序读取外表的所有行。当表变大时,时间复杂度显著增加。多表连接是一次处理两个表,所以如果我有五个表,我必须先处理两个,然后依次处理其他表,因此它不是并行过程,而是串行过程,这个串行过程很耗时。此外,当我们处理大型数据库(这是大数据的重点)时,这将花费呈指数级增长的时间。

以下是哈希连接的说明。

  • 哈希连接:使用较小表的哈希表。我们创建一个哈希表,就像一个查找用的、小型、缩写、紧凑的表。
  • 优势:这将用于遍历较大的表以进行处理,实现更快的连接过程,因为哈希表更小,我们还可以将其放入内存中,使其运行速度更快。然后,在遍历较大表的连接过程中,使用这个小型且快速访问的哈希表进行查找,哈希表再次保存在RAM中以便快速处理。
  • 速度:它比嵌套循环连接快得多。

哈希表

哈希表,即哈希映射,是一种数据结构,它从较大的数据集中构建一个抽象数据的关联数组。

它比搜索树和查找表更高效。

哈希表用于将键映射到值。

哈希函数用于计算值数组(桶或槽数组)的索引,这些值被放置在哈希表中。

图数据库中的连接操作分析

在图数据库数据分析中,对于连接操作,数据库只需使用它已有的顶点和边列表。

它可以直接访问连接的节点,消除了复杂耗时的搜索和匹配操作的需要。

图数据库所做的是将关系预先物化到数据库结构中。

  • 查询响应更快:这正是关注的重点。
  • 更能表达数据关系
  • 更容易理解关系型数据库结构。
  • 在分析、建模和仿真中更易于使用

为何图数据库更适合关联数据?

关联数据需要大量的连接过程来分析其众多相互关联的关系。

因此,图数据库不放入使用预定义数据结构的类型的关系表中。这就是图数据库的优势。

图数据库的数据属性可以根据需要添加和移除。

当半结构化数据放入关系型数据库的关系表中时,它无法接受。

因此,许多数据将被过滤掉,因为只有结构化数据才能输入到关系型数据库的关系表中。所以,当你拥有并非所有数据都是完全结构化格式的半结构化数据时,基本上图数据库要强大得多。

如果你将其放入关系型数据库的关系表中,那么被过滤掉的部分将成为空值,因为它们无法存储,因为它们不是可以放入关系表中的结构化数据。

由于图数据库没有预定义的结构,数据建模要容易得多。

在关系型数据库中,对于高度关联的数据,随着连接数量的增加,SQL查询编程语法变得复杂且困难。

能否将关系型数据库转换为图数据库?

是的,有实现此功能的方法。作为一个例子,我推荐Neo4j。

这些是我使用的参考资料,我也推荐给你们。谢谢。

总结

本节课中,我们一起学习了关系型数据库与图数据库的核心概念。我们了解到关系型数据库基于表、行、列以及主键/外键关系来存储结构化数据,但其连接操作(如嵌套循环连接和哈希连接)在处理大规模关联数据时可能成为性能瓶颈。相比之下,图数据库使用顶点和边的结构,能更自然、高效地表示和查询复杂的关系网络,尤其擅长处理半结构化和高度关联的数据。我们还简要探讨了元数据的类型及其作用,并通过示例看到了两者在数据表示上的差异。最后,我们了解到存在将关系型数据库迁移到图数据库(如Neo4j)的工具和方法。理解这两种数据库的差异对于在大数据时代选择合适的技术栈至关重要。

26:Spark ML机器学习 🚀

在本节课中,我们将要学习Spark机器学习库(Spark MLlib)的核心概念、主要功能及其基于DataFrame的API。我们将了解它为何易于使用且功能强大,并概览其包含的各类算法与工具。


Spark机器学习库概述

Spark机器学习库易于学习和使用,提供了非常实用的功能。它具有可扩展的性能和高级的机器学习功能。

该库包含机器学习算法、特征化工具、流水线、持久化以及实用工具等。


深入探究:机器学习算法与工具

上一节我们介绍了Spark MLlib的概况,本节中我们来看看其核心组成部分的细节。

以下是机器学习算法部分包含的工具:

  • 用于构建、评估和调优机器学习流水线的工具。

以下是特征化部分包含的工具:

  • 特征提取
  • 特征转换
  • 降维与特征选择

以下是流水线部分包含的算法:

  • 分类算法
  • 回归算法
  • 聚类算法
  • 协同过滤算法

以下是持久化部分的功能:

  • 保存与加载算法、模型和流水线。

以下是实用工具部分包含的内容:

  • 线性代数
  • 统计学
  • 数据处理

基于DataFrame的API

机器学习库MLlib包含基于DataFrame的API。

spark.ml包中的基于DataFrame的API是Spark的主要机器学习API。

基于RDD的API可以在其他文档中找到,它位于spark.mllib包中。该API自Spark 2.0起已处于维护状态,因此在本讲座中我们将重点关注基于DataFrame的API。

以下是基于DataFrame的API所涵盖的主要领域:

  • 基础统计
  • 流水线
  • 特征提取、转换与选择
  • 分类与回归
  • 聚类
  • 协同过滤
  • 频繁模式挖掘
  • 模型选择与调优
  • 线性方法优化


参考资料

以下是我所使用的参考资料,我推荐给你。


本节课中我们一起学习了Spark机器学习库(MLlib)的核心架构与功能。我们了解到它主要提供基于DataFrame的API,涵盖了从特征处理、算法实现到模型调优的完整机器学习工作流,并且易于使用、性能可扩展。

27:Spark ML算法(第1部分)🧠

在本节课中,我们将要学习Spark机器学习库中的核心算法。我们将从基础统计方法开始,然后深入探讨分类与回归模型,了解它们的基本原理和应用场景。


基础统计方法 📊

上一节我们介绍了Spark ML算法的概览,本节中我们来看看基础统计方法,主要包括相关性分析和假设检验。

相关性分析

变量之间的关系可以是独立的、弱相关的或强相关的。相关性指示了变量之间相互影响、使其增加或减少的程度。

例如,在下图所示的X轴和Y轴上,蓝色点呈现出强相关性。我们知道这一点是因为它们呈现出对角线结构,这意味着当X值增加时,Y值也很可能较大。

与这些红色点相比,红色点显示出X和Y之间较弱的关联。你可以看到这一点,因为仅仅X值大并不意味着Y值也大。这就是为什么数据点的分布更加分散。

此外,如果这些点分布得更加分散,那么X和Y之间的相关性就会更小,因此这些点将具有更弱的相关性,直到它们可能完全不相关。那时你会看到它们分布得更加分散。

假设检验

假设检验方法基于以下情况:如果假设正确,我们定义一个服从特定分布的统计量。

然后我们尝试去检验。我们收集样本并计算统计量的概率。

如果样本统计量显示的概率低于从该分布中抽取的阈值,则拒绝假设。

例如,如果概率低于阈值π(如右图所示),为了满足这种情况,对于T统计量,如果t大于ω(如右下方所示),则假设被拒绝,正如你在下方看到的那样。


线性模型 📈

上一节我们介绍了基础统计方法,本节中我们来看看线性模型。线性模型常用于回归分析。

它们包括支持向量机、逻辑回归、线性回归等。

什么是回归?回归是一种预测方法,用于在给定一个D维向量输入x的情况下,预测一个或多个连续目标变量y的值。因此它被用于预测,并且你知道在很多地方都可以使用预测,所以它非常强大且常用。

线性回归

首先深入了解线性回归,它是最简单的回归模型。线性回归的输出是连续的。

为了从输入变量X和权重W的线性组合中获得输出y,你可以看到下方的公式:

y = w^T * x

这里,线性回归的一个例子如下图所示,其中红色点是输入值,蓝色曲线是线性回归输出模型。

逻辑回归

逻辑回归则不同。它用于需要做出决策的分类问题。

我们在两个或多个选项之间做决定。例如,使用S形曲线在0和1之间做决定是一个典型的逻辑回归例子。当然,在多个选项之间做决定也是可能的。

例如,一个S形曲线(Sigmoid曲线),就在这里,你在这里可以看到。它经常与决策边界一起用于做出决策。

我们在中间有一个决策边界,这条黄线,基于此,如果在左边,则分类为0;如果在右边,则分类为1。

这条曲线在阈值附近的微小变化将根据它上升或下降,因此在该区域很敏感,你可以用它来做决定。

支持向量机

现在我们看看支持向量机。这项技术经常用于解决分类、回归和新颖性检测中的问题。

SVM算法创建一个决策边界,使被分类组之间的边界最大化。

例如,H1代表另一种算法,比如最大似然法,它根据自身的标准划分、分类红点和白点。

H2代表SVM机制。你可以看到它试图以最大边界分离数据集。边界可以是这里的这些区域,因此,SVM的分类结果将与其他算法不同。


朴素贝叶斯分类器 🎯

上一节我们讨论了线性模型,本节中我们来看看朴素贝叶斯分类器。朴素贝叶斯分类算法假设条件独立性以简化分类决策。

这是什么意思?贝叶斯理论基于条件概率。

让我们看看x的条件概率。给定Y和Z,写在那里。

P(x | Y, Z)

这是一个条件概率,表示在给定Y和z先前发生的条件下,x发生的概率。如果x独立于Z,那么它不需要出现在条件区域,可以像你在这里看到的那样被移除。

所以,移除一个变量可以基于它的独立性。

在现实世界中,当你分析数据、市场营销销售和各种参数时,一切都依赖于其他一切。实际上,一切都相互关联,一切都存在某种程度的相关性和依赖性,没有什么是真正彼此独立的,但这些关系太复杂,难以分析,甚至更难将它们放入公式中。

因此,为了简化我们的计算,朴素贝叶斯模型天真地假设某些事件是独立的。

它提供了快速且易于计算的结果,这是其优点。但另一方面,其缺点是牺牲了准确性和可靠性。当结果的准确性足以应用于其目的时,你可以使用它。

一个朴素贝叶斯分类器的例子

在给定类别C的条件下。如果假设输入变量x1到Xd的概率分布是独立的(实际上它们并非如此),那么类别条件概率密度方程可以写成一个简化的乘法形式,即一维概率密度函数的乘积。

让我们找出数据集X通过类别C发生的概率。

观察那个条件概率。天真地假设特征之间的条件独立性,那么我们可以得到这样的形式:

P(X | C) = ∏_{i=1}^{D} P(x_i | C)

深入看这个公式,D是特征的数量。

进一步看公式,在假设下,多维概率可以很容易地从许多一维密度的乘积中获得。

其中,原本的x是一个多维变量。一维密度的乘积被用来获得整体的多维值。

这个模型之所以被称为“朴素”,是因为在现实中,这些特征并不是独立的,尽管它们被假设为如此。朴素贝叶斯分类器技术实际上在很多很多情况下都表现得非常好,并且由于其简化的计算,它非常受欢迎。



总结 ✨

本节课中我们一起学习了Spark机器学习算法的第一部分。我们首先探讨了基础统计方法,包括相关性分析和假设检验。接着,我们深入研究了线性模型,涵盖了线性回归、逻辑回归和支持向量机的基本原理与应用。最后,我们介绍了朴素贝叶斯分类器,理解了其基于条件独立性假设的工作机制及其优缺点。这些算法为处理大数据中的预测和分类问题提供了基础工具。

28:27_4.2 Spark ML算法(第2部分)📚

在本节课中,我们将继续学习Spark机器学习库中的核心算法。我们将探讨决策树、协同过滤、聚类技术和降维方法。这些算法是处理大数据分析任务的重要工具。

决策树技术 🌳

上一节我们介绍了基础的统计与分类算法,本节中我们来看看决策树技术。决策树通过一系列递归分割决策,以高效的方式识别逻辑区域并进行分类。

决策树使用较少的处理步骤,且每一步的计算复杂度较低,这使其非常适合分析大数据。其最终结果呈现为一种分层的树形结构。

该分层算法用于决策树的监督学习训练。那么,什么是监督学习?监督学习是机器学习系统使用的一种训练方式,其中我们拥有带标签的数据,即已知期望输出的数据。

由于期望输出已知,我们将其作为输入来计算输出。这样,我们既知道期望输出,也知道实际输出,因此可以计算误差。我们可以利用这个误差去训练系统,使机器学习系统变得更加精确。这就是我们在反向传播中所做的:将误差反向传播回系统中,重新调整参数,通过迭代学习过程使其更精细、更准确。

这里提供了一个决策树分类的例子。对于数据中的分类决策边界(白点和红点),可以使用决策树来确定。

决策过程如下:首先判断 x > H1 是否成立,这是一个决策阈值。然后,根据 y > H2y < H2 进行另一个决策。如果通过第一个阈值,则基本属于红点区域;如果通过第二个决策边界,则根据是否满足条件进一步划分为红点或白点。将决策边界放置在图表上,可以看到H1右侧是我们分类红点的区域,然后我们使用H2(蓝色线下方)来进一步分类红点。通过决策树机制使用H1和H2,我们可以对红点的位置进行分类。

协同过滤 🤝

协同过滤是一种机器学习算法,它从众多用户那里收集偏好或品味信息,并利用这些信息对其他用户的兴趣进行自动化预测。

观察这个术语:因为我们使用了组合、收集的信息,所以得到了“协同”一词。然后,我们将过滤掉可能性较低的选项,直到找到最可能的预测结果,这就是“过滤”。将这两个词组合在一起,就得到了“协同过滤”这个名称。

以下是协同过滤的一个应用示例:一个音乐供应商可以根据用户A(其特征与新用户相似)的信息,向新用户推荐音乐。

当一位新用户进入我们的领域时,我们想推荐一些音乐,但我们不知道新用户会喜欢什么,没有参考价值。因此,我们会寻找一个具有相似特征的用户,找出该用户喜欢的音乐(比如音乐B),然后将其推荐给我们的新用户。这类结果可以通过协同过滤获得。

聚类技术 🔍

聚类技术是在数据集中寻找相似特征以形成数据组的过程。

训练数据由一组输入向量组成,没有任何对应的目标值。数据集中不包含信息,数据没有标签,也没有聚类关系。这就是为什么需要无监督学习

K均值算法是现有最流行、最著名的聚类算法之一。接下来我们将深入了解它。

无标签数据被分类到K个类别中,类别数量K是你在算法中指定的参数。“无标签”意味着我们拥有的输入数据没有对应的期望输出标签。因此,我们必须使用这些无标签数据来训练系统,并决定如何进行聚类。

当接收到新的数据向量时,每个类别的均值(平均值)会被更新。这个均值用于更新类别(即聚类)的划分。

所有数据最初是无色的,但在我们将其分类为红色或白色之前,我将用黄色表示其原始颜色。

第一步,随机决定两个类别的中心。在图中,你可以看到两个“X”,它们被任意放置。基于此,在第二步中,将数据分配到最近的聚类。根据我们这里的两个“X”,我们将对数据进行分类,然后在这里画一条蓝线,作为两个聚类(两个类别)的分界线。接着在第三步,基于平均距离计算每个类别的均值。然后,再次将数据分配到最近的中心,你可以看到蓝线在这里进行了划分。

然后,我们将再次基于平均距离计算每个类别的均值。在最后一步,我们将数据向量再次分配到最近的中心。正如你所见,我们来回更新了几次:重新计算平均值,然后计算最近距离,再次进行聚类,然后返回计算平均值,如此反复。最终,我们得到了一个良好的聚类划分。如果有新的数据向量加入,我们将重复这个过程,以便对其进行正确分类。

这个过程需要几个步骤,但操作非常简单,这就是为什么K均值算法如此流行和有效。此外,它是基于无监督学习的,意味着我们在开始时没有任何参考信息,但最终我们找到了一种很好的方式来对数据进行分类和聚类。

降维 📉

降维用于通过将数据投影到更低维度的子空间来减少维度。它捕捉数据的本质,降低了分类器和回归器的复杂度。复杂度取决于输入的数量,需要考虑时间和空间复杂度。

这里以无人机管理地图生成为例。我们拥有的无人机数据是三维的:经度、纬度和高度。我们将经度映射到x轴,纬度映射到y轴,高度映射到z轴。因此,它是三维的。

然而,如果我们想绘制一个简化的二维经度-纬度无人机地图,我们可以进行这个过程。需要说明的是,降维通常应用于更复杂的问题,我选择这个例子是为了让你尽可能简单地理解。但我希望这个概念能很好地传达。

从许多具有经度、纬度和高度信息的三维无人机位置,我们可以通过移除高度信息,将它们映射到经度和纬度上,从而实现降维。信息映射在这里完成,我们将地图结果从3D转换到2D。然后我们看到,由于已经移除了高度信息,我们可以移除Z轴。接着,我们可以将其翻转,得到那个二维结构(X和Y)的结果。假设不需要高度信息Z,我们可以执行此操作,通过从数据中消除Z,在二维结构中捕捉数据的本质。这就是降维的意义。

总结 📝

本节课中我们一起学习了Spark ML库中的几种关键算法。我们探讨的机器学习算法包括基础的统计方法、分类与回归方法,以及本节介绍的决策树、协同过滤、聚类和降维。所有这些算法都非常强大,Spark在机器学习库中使用它们来分析数据、过滤数据和进行预测,因此Spark功能强大。此外,正如我在之前的讲座中提到的,Mahout引擎也为Hadoop提供了类似功能,因此Mahout是可用于Hadoop的机器学习引擎。这些技术将在未来进一步助力Spark技术的发展。

以下是我使用的参考文献,我推荐给你,谢谢。

29:Spark流处理 🚀

在本节课中,我们将学习Spark流处理(Spark Streaming)的核心概念。Spark流处理是用于实时数据处理的技术,它通过微批处理(Mini-batch)的方式,将连续的数据流分割成小批次进行处理,从而实现近实时的分析能力。


Spark流处理概述 📊

Spark流处理是Spark核心API的扩展,用于实时数据处理。它使用微批处理,将数据流分割成小批次进行处理。

Spark流处理使用微批处理。微批处理是指将数据流分割成小批次进行处理。Hadoop使用大批次处理,Spark也是如此。在Spark流处理中,批次大小可以缩小到半秒。这成为一个处理单元,使我们能够基于微批次大小的数据获得结果。


其他流处理技术 ⚡

还有其他技术,例如Storm Trident和Storm,它们能以更快的速率处理数据,但方式略有不同。我们将在后面讨论这些技术。

总的来说,从Hadoop的批处理,到Spark的批处理,再到Spark流处理的实时流处理,是我们本节课的重点。


Spark流处理的特点 🛡️

Spark流处理是Spark核心API的扩展。其特点包括支持实时数据流。此外,它具有容错性和可扩展性。它提供高吞吐量和近实时数据支持。

这里使用“近实时”是因为某些应用可能需要快于0.5秒的处理结果,在这种情况下需要使用Storm。然而,超过90%的应用程序使用0.5秒的微批次大小就足够了。当然,我们也可以使用更大的批次大小,但我们可以达到的最小单位是0.5秒。


数据源与输出目的地 🔌

从HDFS、Kafka、Flume、TCP套接字等获取流数据都是可能的。

Spark流处理支持使用高级函数进行处理,如map、reduce、join、window等。它将输出处理结果保存到文件系统、数据库和实时仪表板。

Spark机器学习函数和图处理算法完全适用于流数据。

正如我所解释的,Spark使用大小可控的微批次进行实时分析。


与Hadoop批处理的对比 ⚖️

Hadoop使用数据批处理,这需要耗费时间来获得结果。批次越大,从正在处理的批次中获得输出所需的时间就越长。

Spark使用RDD来组织数据并从故障中恢复。查看Spark流处理结构,输入可以来自这些源,输出可以非常有效地保存到这些目的地。


流接收器类型 📡

流接收器类型包括基础类型。基础类型包括文件系统、套接字连接器、Akka actors,这些源直接在StreamingContext API中可用。

其他接收器类型包括自定义类型,它需要实现用户定义的接收器;以及高级类型,它需要与具有额外依赖的系统(如Kafka、Flume、Twitter等)链接。


Spark流处理流程 🔄

现在描述Spark流处理流程。首先接收实时输入数据流。然后将输入数据流分割成称为DStream(离散化流)的微批次。每个微批次周期保存为一个小RDD。

Spark流处理引擎生成批次的最终输出流。DStream(离散化流)是具有高级抽象级别的连续数据流。

DStream可以从输入数据流源(如Kafka和Flume)创建,或通过对其他DStream进行高级处理操作创建。

这些流表示为一序列小RDD。微批次大小为0.5秒或更大。这意味着最小的微批次大小是半秒。RDD通过DAG进行处理。通过DAG的处理延迟必须小于批次周期。

这意味着,例如,如果微批次大小是半秒,那么在这半秒内,接收到的数据需要被处理,然后需要被发送出去,并且为接收下一个微批次输入数据所做的准备都必须在这个微批次周期内完成。因此,处理延迟必须是微批次大小的一小部分。例如,如果微批次大小是半秒,那么在这半秒内,接收、处理和发送都必须全部完成。


窗口操作 🪟

窗口操作是你需要考虑的事情。

窗口长度是用于一起进行RDD DAG处理的块数。滑动间隔是在进行RDD处理后滑动窗口的分区数。

例如,如果这些是需要处理的块,那么这将是一个窗口,并且会有一个滑动间隔。

查看用于窗口的转换操作,例如,我们有windowcountByWindowreduceByWindowreduceByKeyAndWindowcountByValueAndWindow。在这里,你看到括号,那是你可以放入参数的地方。例如,窗口的一些关键参数将是窗口长度和滑动间隔,这些是我们现在关注的主要事项。

现在,如果窗口长度大于滑动间隔,那么窗口长度减去滑动间隔将导致重叠块,这些重叠块将存在于RDD处理中。例如,在这里显示的块上,如果窗口大小是4,滑动间隔是2,那么你将有一个重叠,下一个窗口将与上一个窗口(黄色部分)存在重叠。如你所见,将有两个块的重叠。

重叠块有助于分析流数据中连续块的相关性和依赖性。


应用示例:实时监控 📺

例如,需要监控IPTV或网页实时统计数据。换句话说,让我们看看有多少人在观看某个频道,我们希望立即了解正在发生的情况。

例如,需要实时监控频道或页面视图点击,以便我们知道观众对什么感兴趣。使用Kafka进行缓冲,因为Kafka对流数据支持非常有效。

Spark流处理用于处理。我们将绘制当前频道或页面视图点击的热力图,以便我们可以使用该热力图立即知道有多少用户在哪里。如果你想一想,像Netflix这样的公司可以非常有效地使用这一点。这就是为什么Netflix使用Spark流处理。


应用示例:销售监控 🛒

销售产品类型监控示例,在线销售,你可以通过Kafka读取,因为在线销售是全球进行的,累积的数字以非常快的速度增加。

另一方面,百货商店销售,它们的速度较慢,因为人们将商品放入购物车,拿到收银台,并在同一时间计算。对于批次,它们的计算在收银台完成。我们可以收集它们的所有数据,这些是通过Flume记录的更多数据。

使用Spark流处理的示例来连接两个实时数据流,并一起处理它们。例如,我们有Amazon.com、阿里巴巴、PayPal,以及Uber用户,他们的在线预订和支付信息正在传入。

我们使用Kafka实时流式传输这些信息。另一方面,对于全球大型百货商店及其记录的信息,我们将它们的信息收集到大日志中,并通过Flume将它们移动到系统中。

我们将它们合并到Spark流处理中。这是Spark流处理如何使用的代表性示例。


内部处理架构 🏗️

这里,来自使用Kafka的输入流,执行器中的一个任务槽将充当接收器,一个线程将实时流数据接收到节点上RDD的一个块(分区)中。

接收器还将此分区的副本复制到另一个节点。在这个例子中,我谈论的是复制因子为2,这是为了使系统具有弹性,并为可靠计算提供备份。

DAG转换器在新的RDD上执行。添加另一个流,例如来自Flume,在不同的节点上,分配执行器中的一个测试槽作为接收器,将实时流接收到节点上RDD的一个块(分区)中。

接收器还将此分区的副本复制到另一个节点。DAG转换在新的RDD上执行。

可以使用union操作将两个RDD统一为一个。这是内部处理的示例。


总结 📝

本节课中,我们一起学习了Spark流处理的核心概念。我们了解到Spark流处理通过微批处理实现近实时数据分析,支持多种数据源和高级操作,并具有容错和可扩展的特点。我们探讨了其处理流程、窗口操作以及在实际场景(如实时监控和销售分析)中的应用。最后,我们简要了解了其内部处理架构,包括数据接收、复制和DAG执行过程。Spark流处理是处理高速数据流的强大工具,广泛应用于需要实时洞察的领域。

30:29_5.1 Apache Storm 🌀

概述

在本节课中,我们将要学习 Apache Storm,这是一个用于实时流处理的大数据框架。我们将了解它的核心概念、架构、组件以及它为何适用于需要极低延迟(如微秒级)的应用场景。


Apache Storm 简介

Apache Storm 用于实时流处理,其处理延迟可以低至微秒级别。因此,通过 Storm 可以实现微秒及更高级别的流处理。

许多应用场景使用 Spark Streaming 的微批次处理(最小可达0.5秒)就足以进行分析。然而,像股票市场交易、自动驾驶系统控制等应用需要比半秒更快的服务。在这些场景下,Spark Streaming 的速度可能不够快,因此就需要引入 Apache Storm。

我们将学习 Storm 以及 Storm Trident。Storm Trident 也使用微批次处理,类似于 Spark Streaming,但它们的特性有所不同。Spark Streaming 基于批次和微批次,而 Storm 基于元组,这些元组可以非常小。在 Storm Trident 中,一组元组可以组成一个微批次。简而言之,Spark 使用批次和微批次,而 Storm 和 Storm Trident 使用元组以及由元组组成的微批次。接下来我们将深入探讨这些细节。


Apache Storm 详解

Apache Storm 是一个分布式的、容错的实时数据流处理大数据框架。它最初由 BackType 公司开发,后被 Twitter 收购。Twitter 收购 Storm 的原因将在后文揭示。

首先,让我们通过一些有趣的比喻来了解 Storm 的术语。

想象一片广阔的海水,它代表持续变化、永不重复的实时大数据流。☁️ Nimbus 在拉丁语中意为“乌云”,在 Storm 架构中,它代表系统的核心主节点。从乌云(Nimbus)中降下的 Spout,就像一个龙卷风,它从数据源(如海水表面)吸取数据。有时你会看到从天空降下水甚至鱼的景象,这形象地比喻了 Spout 从外部数据源获取数据的过程。

从乌云中,我们还看到 Bolts,即闪电。闪电拥有巨大能量,可以改变、转化事物,既能激发也能摧毁。在 Storm 中,Bolts 就是执行实际数据转换、处理和业务逻辑的单元。

基于这些比喻,我们将在大数据 Storm 技术中使用这些术语:Nimbus(核心)、Spout(数据源)和 Bolt(处理单元)。


Storm 核心组件

以下是 Storm 的核心组件及其功能:

  • Nimbus:这是 Storm 集群的主节点。它负责将程序代码分发到整个集群,调度拓扑进程,将任务分配给工作节点,并监控工作节点及节点故障。
  • Zookeeper:Apache Zookeeper 为集群提供高可靠性的分布式协调服务。它通过主从复制实现高可用性和容错,并支持通过 Zookeeper 进行非破坏性升级。
  • Supervisor:Supervisor 是工作节点上的守护进程。它等待来自主节点(Nimbus)的任务分配,并为每个工作进程执行拓扑进程的一个子集。
  • Topology:拓扑是 Storm 中作业的逻辑表示。它是一个基于 Spout 和 Bolt 连接而成的有向无环图,代表了整个计算过程。一个拓扑进程涉及许多工作进程,这些进程分布在集群的多个工作节点上。

Storm 数据处理模型

上一节我们介绍了核心组件,本节中我们来看看数据是如何在 Storm 中流动和处理的。

  • Spout:Spout 是数据流的源头,是 Storm 拓扑的输入。一个典型的例子是 Twitter API,它持续产生推文数据流。
  • Tuple:元组是数据值的序列,包含有限数量的数据元素。我们可以这样表示它:一个 N 元组是 n 个元素的序列。例如,一个五元组可以是五个数字:(23, 45, 67, 89, 12)
  • Tuple Stream:元组流是元组的连续流。
  • Bolt:Bolt 是处理元组流的单元。它接收输入的元组流,进行处理,然后发射出新的元组流作为输出。然而,如果 Bolt 位于有向无环图的末端,在某些情况下它可能不发射输出。Bolt 可以执行多种处理类型,包括函数计算、过滤、聚合、连接、与数据库交互等等。

Storm 的发展与特性

Storm 程序最初主要使用 Java 和 Clojure 编写。它于2011年首次发布(版本0.5.0),由 Nathan Marz 及其在 BackType 的团队开发。Twitter 收购了 Storm 并将其贡献为开源的 Apache Storm 项目。2014年2月,Apache Storm 发布了首个主要版本(0.9.1),同年9月,它成为了 Apache 顶级项目。

现在你可能会好奇 Twitter 如何使用 Storm。简单来说,Twitter 需要实时处理海量的推文流,进行趋势分析、个性化推荐等,这正需要 Storm 提供的毫秒甚至微秒级延迟处理能力。

Storm 的特性包括:

  • 每秒可处理数百万个元组,这意味着每个元组的处理延迟可低至微秒级。
  • 高度容错且能快速恢复。
  • 支持高效、快速的集群控制。
  • 编程简单,支持多种编程语言。
  • 支持各种跨平台操作系统。

Storm 的核心特征是基于拓扑,使用 Spout 和 Bolt 形成有向无环图。拓扑中的节点是处理单元,边是流,用于将数据从一个节点导向另一个节点。整个拓扑形成了数据流转换的管道。


总结

本节课中,我们一起学习了 Apache Storm。我们了解了它是一个用于极低延迟实时流处理的分布式框架,认识了其核心组件:Nimbus、Zookeeper、Supervisor,以及数据处理模型中的 Spout、Tuple 和 Bolt。我们还探讨了 Storm 的发展历程、主要特性及其适用于需要微秒级响应的应用场景(如金融交易、实时监控)的原因。通过将计算任务组织成拓扑,Storm 能够高效、可靠地处理连续不断的数据流。

31:5.2 Storm 应用 🌀

在本节课中,我们将学习 Apache Storm 的核心应用场景,并通过与 Hadoop 的对比,深入理解 Storm 在处理实时数据流方面的独特优势与工作原理。

概述

Apache Storm 是一个分布式实时计算系统,专为处理无界数据流而设计。它能够以可靠、可扩展的方式处理高速流入的数据,适用于多种需要即时响应的场景。本节将详细介绍 Storm 的主要应用案例、其核心组件的工作方式,并通过一个具体的 Twitter 数据处理例子,对比 Hadoop 与 Storm 在架构和性能上的差异。

Storm 的主要应用场景

Storm 的应用用例主要包括流处理(无需中间队列的直接流处理)和分布式远程过程调用(DRPC)。计算负载被高效地分布到并行处理的 CPU 上,以获取实时、可靠的结果。

以下是 Storm 的一些主要用例:

  • 持续计算:随着输入流被持续分析,计算过程会得到实时的持续更新,并持续输出计算结果。
  • 实时分析
  • 在线机器学习
  • 分布式远程过程调用(DRPC):我们将在后续详细讨论。
  • 提取、转换、加载(ETL)操作:我们同样会在后续详细讨论。

这些是 Storm 的主要应用,接下来我们将深入细节。

分布式远程过程调用(DRPC)

DRPC 是一种程序,它可以在基于不同 IP 地址的远程计算机上执行其进程。分布式 RPC 将以分布式并行形式在节点集群上执行,这正是 DRPC 为 Storm 所做的事情。

提取、转换、加载(ETL)

ETL 是将三个基本数据库功能结合为一体的操作。ETL 功能从数据库中提取数据,对其进行转换,然后将其加载到数据仓库中。在其定义中可以找到 ETL 这个词。

金融服务

金融服务是 Storm 的主要应用领域之一,包括:

  • 安全欺诈检测
  • 策略违规检测
  • 股票监控
  • 警报通知
  • 价格控制与调整

零售服务

在零售服务中,应用包括:

  • 物流调度
  • 销售监控
  • 折扣率控制
  • 优惠券分发
  • 损耗与缺货管理
  • 定价与优惠

所有这些应用,正如你所见,都需要非常快速的更新,并且可能变化非常迅速。因为零售服务在全球范围内实时发生,地点众多,需要监控并纳入所有已完成的变化以及正在进行的所有新交易和销售。Storm 可以很好地支持这一点。

网络服务

在网络服务领域,应用包括:

  • Web 服务器和系统支持
  • 安全漏洞监控(当然,你希望对此类安全漏洞有即时响应检测,这就是 Storm 最合适的原因)
  • 应用程序故障恢复
  • 用户问题解决
  • 个性化内容保护

ICT 与电信服务

在 ICT 和电信服务中,应用包括:

  • 社交网络服务(这正是 Twitter 使用 Storm 的原因)
  • 移动应用和云服务
  • 定制服务
  • 安全漏洞监控
  • 网络中断(例如由网关、路由器和交换机故障、被黑客攻击、遭受 DoS 和 DDoS 攻击引起),通常如何从中恢复,我们可以非常有效地使用 Storm。
  • 带宽分配,将适量的带宽分配给正确位置的吞吐量,所有这些都可以使用 Storm 非常有效地控制。
  • 移动性支持和无线接入网络连接,这些支持移动中的用户,网络需要适应和改变以支持移动用户,同时在其他设备上,它们需要重新配置、发送信息、重新路由数据,以便用户能有效地获得数据连接。所有这些都需要由移动设备、智能手机以及交通系统来支持。

通过与 Hadoop 对比理解 Storm

首先,从集群操作开始,让我们先看大的方面,再聚焦细节。

集群操作对比

  • Hadoop 集群:在 Hadoop 分布式文件系统(HDFS)上运行 MapReduce 作业。
  • Storm 集群:基于有向无环图(DAG)运行拓扑进程。

进程结束对比

  • 在 Hadoop 中,当指定的数据集被完全处理时,MapReduce 作业结束。
  • 然而,在 Storm 中,这是一个持续进行的过程,没有明确的终点。拓扑进程会持续流式传输消息,直到用户有意终止该流。

节点类型对比

  • 在 Hadoop 中,我们有名称节点(NameNode)和数据节点(DataNode)。名称节点是主节点,数据节点是工作节点。名称节点运行作业跟踪器守护进程(JobTracker Daemon),数据节点运行任务跟踪器守护进程(TaskTracker Daemon)。
  • 在 Storm 中,我们有一个主节点(Master Node)和工作节点(Worker Node)。主节点运行 Nimbus 守护进程,而工作节点运行 Supervisor 守护进程。

Hadoop URL 转发计数示例分析

现在,我们将看一个 Hadoop 的 URL 转发计数示例。这里,Twitter 的 Firehose 提供了需要缓存在中间消息代理节点中的 Twitter 消息流,该代理节点充当中间队列。

工作节点收集数据并存储在 HDFS 中。MapReduce 从 HDFS 读取数据以查找网页 URL,使用模哈希(modular hashing)操作。这样可以选择正确的工作节点来提供基于特定 URL 计数的正确键值信息。因此,同一个工作节点需要进行相同的计数,以便由该特定工作节点提供更新后的计数,这就是模哈希在此系统中使用的地方。

更新后的 URL 计数和统计信息可以被收集并发送到 Cassandra 等数据库。

让我们按步骤回顾一下刚才解释的细节:

  1. Twitter 开始通过 Twitter Firehose 提供其 Twitter 信息。
  2. 这些信息需要排队,因为我们不知道它传入的速度有多快,如果 MapReduce 引擎过载,我们可能会丢失一些数据,可能会出现溢出,因此我们需要足够大的缓冲区队列在输入端堆积它们。这些队列节点就是消息代理,它们的存在是为了避免因 MapReduce 引擎溢出而丢失任何信息。
  3. 然后我们进行 Hadoop 的 MapReduce 处理。
  4. 接着使用模哈希,以便将通过 MapReduce 处理的计数、键和值分配给正确的设备(计数器)。同时,计数器也可能溢出,因此,在工作节点的起始部分会有队列,然后是计数器,结果可以发送到 Cassandra 进行保存。

这是原始 Twitter 引擎使用的机制。

它在中间使用了 Hadoop。仔细观察中间部分,它是 HDFS MapReduce,被反复处理,在某些部分,会有迭代过程以循环结构运行。从拓扑和速度的角度来看这个工作的细节,你可以看到迭代部分:磁盘上的数据将被读入,经过 Map 函数处理,然后保存回硬盘磁盘,接着再次被读取,然后进行 Reduce 处理,最后再写回磁盘。正如我在之前的课程中解释过的,从硬盘驱动器读写速度很慢,而且你还要对大量信息进行此操作。此外,在上面的红色框中,这是一个迭代过程,我需要反复进行。

对于这种情况,这将减慢分析速度,可能对 Twitter 来说太慢了,因为 Twitter 的推文正在全球范围内以巨大的速度和数量进行。

这就是我们面临一些 Hadoop 问题的原因。

使用 Hadoop 的挑战

  • 需要中间消息代理功能关键节点:因为我们不希望 MapReduce 引擎溢出。
  • HDFS 的读写速度慢:多次的 HDFS 读写甚至会更慢。
  • 需要计算模哈希操作:这很繁琐。
  • 将相同的 URL 消息发送到相同的计数工作节点:这也不方便。
  • 添加额外的工作节点:如果你想扩展系统、想要增长,那么你需要添加一个新的工作节点(一个新的数据节点)与现有系统并行,然后你将不得不进行大量的额外编程(例如,工作节点/数据节点的 Java 虚拟机 JVM 编程),然后将它们加入集群系统。在整个集群中进行编程替换需要大量时间。
  • 此外:用于此任务的 Hadoop 程序复杂,难以编程,也难以调试。

那么,让我们看看 Twitter 如何改用 Storm 以更有效的方式完成这个过程。

Storm 实现方式

在这里,Storm 将以元组(Tuple)的形式接收 Twitter 消息。多个 Bolt 被并行分配以查找 URL 并进行计数。后续阶段的 Bolt 聚合 URL 计数以找到汇总的最终总数。最后阶段的 Bolt 将把 Twitter URL 统计信息保存到 Cassandra。

观察这个结构,Twitter 通过 Firehose 将其推文和记录输入系统,我们有 Spout 作为接收部分。然后我们有 Bolt 实际执行转换和计数。看这里,Spout 前面没有队列。为什么?为什么这是可能的?为什么我们在那些 Spout 之前不需要队列?有一个原因,稍等片刻,我会向你解释。转换和计数操作在 Bolt 中完成,它们被收集起来,最终结果被保存到 Cassandra。

使用 Storm 的优势

以下是使用 Storm 的优势:

  • Spout 控制来自 Twitter 的消息输入流:它使用基于拉取(pull-based)的方案,这与其他方式不同。换句话说,当你被动地接收发送给你的东西时,你的队列可能会过载、可能会满,那么之后来的数据就会丢失,即溢出丢失。在这里,Spout 作为控制数据流入 Storm 网络的输入数据组件,基于拉取机制,它会将数据拉取进来。这意味着什么?我会给你更多细节,请稍等。
  • 保证所有推文消息的数据处理:现在有可靠和不可靠的 Spout 和 Bolt,我们需要更多地讨论这一点。如果是可靠的,那么操作更有保障。而不可靠的 Spout 和 Bolt,可能会有一些遗漏,不多,但偶尔会有。我们将更多地讨论这一点。
  • 内置自愈容错能力:也包含在 Storm 中。
  • 无需中间队列:不需要中间队列。
  • 无需模哈希操作:也不需要模哈希操作。
  • 出色的水平可扩展性:通过 Storm 提供 Spout 和多阶段 Bolt 的出色水平可扩展性。
  • 基于内存的快速读写速度:在 Bolt 中处理基于内存(RAM)的快速读写速度。换句话说,尽可能使用内存 RAM,而不是硬盘驱动器。再次强调,每个处理过程中,RAM 比 HDD 快大约 100 倍,我们在本课程之前的讲座中已经学习过,请再次查看。
  • 简单易行的程序调试和升级:成为可能。
  • 即时处理拓扑更新:通过重新平衡(rebalance)功能,即时处理拓扑更新也成为可能。

这非常棒,因为再次强调,当我们使用 Hadoop 时,其中一个问题是,如果你想添加一个额外的工作节点来帮助和扩展整个系统,那么你需要大量复杂的处理、大量的额外编程,然后与所有其他节点接口,更改它们的程序。那很复杂,但在这里,我们有了重新平衡功能,可以即时为我们提供交换编程能力,我们将进一步研究这一点。

这些是我使用的参考文献,我推荐给你。

总结

本节课中,我们一起学习了 Apache Storm 的核心应用领域,包括实时分析、DRPC 和 ETL 等。通过详细对比 Storm 与 Hadoop 在架构、处理模型和节点管理上的区别,我们清晰地认识到 Storm 为高速、无界数据流处理而生的设计优势。最后,通过分析 Twitter 从 Hadoop 迁移到 Storm 的具体案例,我们总结了 Storm 在保证数据不丢失、无需中间队列、基于内存快速计算以及易于扩展和调试等方面的显著优点。这些特性使得 Storm 成为处理实时大数据流的强大工具。

32:31_5.3 Storm喷口与流 🌀

在本节课中,我们将学习Apache Storm中的核心组件:喷口(Spout)和流(Stream)。我们将探讨数据如何被拉取、处理,以及如何通过不同的分组策略在分布式拓扑中高效流动。


概述

Apache Storm是一个分布式实时计算系统,用于处理高速数据流。其核心概念围绕喷口展开。喷口负责从外部数据源拉取数据,并将其作为数据流发射到拓扑中。流则是这些数据在拓扑组件(如螺栓)之间传递的载体。理解这些概念对于构建可靠、高效的实时数据处理应用至关重要。


喷口的数据流拉取过程

喷口是Storm拓扑中的数据源。它主动连接到外部数据源,并请求数据流发送给自己。

以下是喷口拉取数据的基本流程:

  1. 喷口首先连接到数据源。
  2. 数据源随后发送一个元组流。
  3. 喷口将这些元组发送给螺栓。
  4. 螺栓处理这些元组,并根据需要将额外的元组发送出系统。

因此,你可以看到这是一个拉取过程:喷口先请求数据,然后数据才被引入系统。

喷口的拉取机制使其能够成为整个拓扑数据源流的主动控制器。因此,不需要额外的队列节点。总体而言,喷口的拉取操作使其能够控制数据流的开始、终止、流速,管理拓扑处理过程,并控制流数据处理拓扑所需的变更。

喷口的拉取过程经常使用 nextTuple() 命令。这是一个喷口用来从数据源接收元组的消息,其触发可以基于定时或用户请求的方式。


可靠与不可靠的喷口和螺栓

在Storm中,喷口和螺栓可以是可靠的或不可靠的,这取决于应用场景对数据一致性和处理开销的要求。

  • 可靠的喷口与螺栓:一个可靠的喷口会使用确认和失败消息(这些消息中包含对象和元组ID)来监控螺栓对元组的处理状态。当使用可靠的喷口时,也应使用可靠的螺栓。
  • 不可靠的喷口与螺栓:不可靠的喷口和螺栓不会执行确认和失败监控过程,因此可能存在数据遗漏。可靠喷口和螺栓的确认与失败监控及消息传递需要更多的处理开销。因此,在某些不需要这种额外开销和消息交换的场景下,会使用不可靠的喷口和螺栓。

例如,对于股票市场数据处理,必须使用可靠的喷口和螺栓,因为不能承受任何数据丢失。一切数据都必须被处理、监控和保护,因此显然首选可靠的Storm拓扑。

另一方面,对于监控和分析社交媒体数据流这类应用,可以使用不可靠的喷口和螺栓。因为在这种情况下,遗漏一两条数据影响不大,处理速度更为重要。总体统计数据量非常庞大,遗漏一两个数据点不会对整体统计结果产生重大影响。此时,可以降低可靠操作带来的开销和额外消息交换,直接使用不可靠组件来收集统计信息。


Storm数据流队列管理

Storm能够高效管理数据流。使用Storm,每秒可以处理超过100万条消息。

Storm可以控制待处理(即尚未被处理)元组的最大数量。通过 topology.max.spout.pending 这个配置命令,可以实现这一机制。这为你提供了一些额外的时间来处理突发流量或进行其他操作。


Storm流处理API:元组与Trident

Storm提供了两种主要的流处理API。

  • 元组:如前所述,一个元组是一组有限数量的数据值。一个N元组是N个元素的序列。在代码中,一个元组可以表示为:Tuple = (value1, value2, ..., valueN)
  • Trident:这是对传入的流进行微批处理的过程,一次处理一个微批次。一个微批次是多个元组的集合。与逐条处理相比,Trident模式更高效,能提供更高的吞吐性能。Trident模式类似于Spark Streaming模式,后者也使用微批次。

流分组策略

对于一个给定的拓扑,流分组定义了如何通过喷口与螺栓、或螺栓与螺栓之间的连接接口,并行地发送元组。这些连接用于在集群的分布式拓扑中以并行方式处理多个元组。

以下是一些常见的流分组类型:

  • 随机分组:这是最简单的类型。它将元组随机发送给一个任务,其效果是将元组处理的工作负载均匀地分布在所有螺栓上。
  • 字段分组:这种分组会根据元组的特定字段值来选择将其分配给哪个螺栓进行进一步处理。因此,在选择过程中需要使用模运算哈希,这需要额外的处理时间。字段分组常用于流连接、流聚合等场景。例如,在词频统计的螺栓中,使用字段分组可以让相同的单词总是被发送到同一个任务进行处理,这非常有效。

总结

本节课我们一起学习了Apache Storm中关于喷口和流的核心知识。我们了解了喷口如何主动拉取数据形成流,以及可靠与不可靠组件的适用场景。我们还探讨了Storm的队列管理机制、两种主要的流处理API(元组和Trident),以及不同的流分组策略(如随机分组和字段分组)如何影响数据在拓扑中的分布和处理效率。掌握这些概念是设计和实现高效实时流处理应用的基础。

33:5.4 Storm拓扑管理 ⚙️

在本节课中,我们将要学习Apache Storm中拓扑的管理,包括其处理语义、集群资源管理工具以及用于控制拓扑生命周期的各种命令。


Storm拓扑与处理语义

上一节我们介绍了Storm的基本概念,本节中我们来看看Storm拓扑的处理保证和管理机制。

Storm的事务处理阶段包括一个提交阶段,在此阶段中,任意数量的Bolt都可以参与,这些Bolt被称为提交者。提交操作遵循严格的顺序,其顺序基于批处理是如何被省略的。

处理阶段包括Storm的默认设置,元组树完成时间被设置为30秒。因此,如果30秒超时且元组树计算未完成,Spout将重新执行整个过程。这启用了“至少一次”的保证处理,这也是Storm中“恰好一次”语义的由来。如果发生故障,则该批次将被重新处理。如果成功,则继续处理下一个元组或批次。通过这种方式,保证了每个批次至少被处理一次,这就是“恰好一次”语义,用于解释Storm的特性。

核心概念公式

  • 至少一次处理处理次数 >= 1
  • 恰好一次语义: 通过“至少一次处理”+“事务提交机制”来实现最终效果上的“恰好一次”。

集群与资源管理:Mesos

了解了处理语义后,我们来看看如何管理运行这些拓扑的集群资源。

Mesos可用于管理集群、拓扑分布、任务分配和处理核心分配。Mesos能够使不同的Storm拓扑独立执行,而不会干扰在同一集群中运行的其他拓扑。这非常强大。因此,如果你有一个集群,需要运行多个操作,并且在某些情况下需要非常精确地管理资源以避免相互干扰,这正是Mesos的强大之处。


拓扑提交与执行:JAR文件

要将一个拓扑部署到集群中运行,需要提交一个JAR文件。

JAR用于向集群提交拓扑。JAR进程的执行顺序始于将拓扑JAR文件上传到Nimbus主节点。以下是一个执行此操作的编程代码示例:

storm jar topology.jar com.example.Topology arg1 arg2

Nimbus将通过ZooKeeper的帮助将代码分发到各个Supervisor节点。然后,JAR将基于指定的拓扑类和参数运行主函数,参数在主函数的括号中指定。随后,Storm激活拓扑并在集群内开始处理。


拓扑管理命令

成功提交拓扑后,我们需要一系列命令来管理它的生命周期。以下是常用的管理操作。

激活与停用

  • 停用: 你可以停止从Spout流出元组。Storm UI可用于停用一个拓扑。
  • 激活: 你可以使用“激活”命令来恢复Spout的元组处理,Storm UI也可用于激活。

停用、激活与关闭的深入解析

  • Spout可以使用 deactivate 命令停用。系统将进行序列化以保存处理状态信息和元组。
  • 要恢复处理,将使用 activate 命令。
  • Spout关闭将使用 close 命令,这将首先停用它,然后关闭它。

终止命令

kill 命令用于终止正在进行的拓扑。kill进程首先会对Spout和Bolt的状态及结果进行序列化,并将序列化文件保存。因此,在kill操作激活并终止一切之前,首先将数据结构和处理单元全部序列化,然后保存为文件。拓扑的Spout将被停用,然后Bolt被停止,保存的状态将被清理。

重新平衡

rebalance 用于重新配置拓扑。它将改变在Spouts和Bolts中进行的处理过程,并在集群中的Spouts和Bolts之间重新分配任务。

一个例子是当需要向集群添加额外的Supervisor节点时,你可以使用rebalance。这比过去在使用Hadoop的JVM时需要在集群中进行的操作要好得多,因为它更快,几乎是即时响应。此外,整体编程和调试更加方便、容易且健壮,因此总体上更易于使用。

重新平衡实现了拓扑近乎无缝的交换。如果需要先终止然后重新提交新拓扑,则至少需要几十秒或几分钟才能完成。

可以使用 -n 选项更改工作进程的数量,使用 -e 选项更改执行器的数量。例如,在程序代码中,你可以看到使用 -n-e 的地方,下面就是一个实际使用rebalance进行更改的示例。

storm rebalance mytopology -n 5 -e spout=3,bolt=4

初始化活动

初始化活动使用 open 命令开启。Open操作包括收集器(用于在将数据发送到集群供Bolts处理时使用)、配置、任务信息、连接到数据源等。


总结

本节课中我们一起学习了Apache Storm拓扑管理的核心内容。我们了解了Storm如何通过事务阶段实现“恰好一次”处理语义,认识了Mesos在集群资源隔离与管理中的重要作用。我们详细介绍了使用JAR文件提交拓扑的流程,并掌握了激活、停用、终止、重新平衡等一系列关键的拓扑管理命令及其使用场景。这些知识是有效部署和运维实时流处理应用的基础。

参考资料
这些是我使用的参考资料,我推荐给你。谢谢。

34:5.5 Storm Trident 🌀

在本节课中,我们将学习Storm Trident,这是一个构建在Apache Storm之上的高级抽象框架,用于实现高效的实时批处理。


概述 📋

Storm Trident是执行在Storm之上的一个框架,专为实时批处理而设计。它提供了一套更高级的抽象,简化了常见的数据处理任务,同时保持了Storm的高性能和高吞吐量。

上一节我们介绍了Storm的核心概念,本节中我们来看看其高级抽象框架——Trident。


Trident的核心概念 ⚙️

Trident是一个用于通用数据处理的高级抽象框架。在Storm中使用Trident时,原有的核心组件将被替换。

以下是Trident框架中的核心组件:

  • Trident Spout: 替代Storm中的Spout,作为数据源。
  • Trident Operator: 替代Storm中的Bolt,用于数据处理。
  • Trident Tuple: 替代Storm中的Tuple,是数据的基本单元。

我们将使用Trident Spout、Trident Operator和Trident Tuple来构建一个Storm Trident拓扑。


批处理模式 🔄

Trident的关键特性在于其批处理模式。与Storm逐条处理元组不同,Trident以批次为单位进行处理。

Trident处理批次(batches)而非单个元组(tuples)。

这种批处理方式更加高效,能够实现更高的吞吐性能。其他框架如Cascading、Pig、Impala或Hive也能实现类似的近实时处理能力,但Trident与Storm的结合通常更为高效。


Trident事务与流处理 💎

Trident将流处理视为一系列元组批次的处理。每个Trident事务都会被分配一个唯一的事务ID。

在Trident拓扑中,操作序列会增量地收集元组,以形成Trident批次。Trident元组具有名称-值对的属性列表。


Trident拓扑操作 📝

Trident拓扑中的每个操作都可以接收一组输入字段,并发射出一组输出字段。

以下是关于操作字段的说明:

  • 输入字段: 决定了作为操作输入的元组子集。
  • 输出字段: 决定了该操作所发射字段的名称。

这些字段是操作中数据引用和转换的关键。


总结 🎯

本节课中我们一起学习了Storm Trident。我们了解到Trident是Storm的一个高级抽象层,它通过批处理元组来提高处理效率。我们介绍了其核心组件(Spout、Operator、Tuple),并解释了其基于事务的流处理模型以及拓扑操作中输入字段输出字段的作用。掌握Trident有助于构建更高效、吞吐量更大的实时数据处理应用。


参考资料:以上内容基于课程提供的参考资料,推荐进一步阅读以加深理解。

35:IBM SPSS Statistics 项目实践 🧮

在本节课中,我们将学习如何使用IBM SPSS Statistics进行企业级数据分析。我们将从注册免费试用账户开始,逐步完成软件的安装、基础操作,并最终完成两个数据分析项目。

IBM SPSS Statistics是企业数据分析领域的重要工具。许多公司提供为期两周至一个月的免费试用期,让用户体验其数据分析系统。IBM SPSS Statistics、SAP S4 HANA等均提供此类服务。本项目将聚焦于IBM SPSS Statistics,因为IBM在大数据领域的公司排名、软件、硬件及专业服务方面均名列前茅。因此,作为大数据领域的从业者,掌握IBM SPSS Statistics的基础操作是很有价值的。

IBM SPSS最初由SPSS公司于1968年发布,后在2009年被IBM收购,成为IBM SPSS Statistics。该软件基于描述性统计、回归分析、高级统计等方法,提供对逻辑批处理和非批处理数据的统计分析。它为Spark、SQL、文本分析、产品服务集成和大数据分析提供了多种解决方案,并支持使用R和Python增强SPSS语法。


项目一:熟悉IBM SPSS Statistics环境 🖥️

上一节我们介绍了IBM SPSS的背景,本节中我们来看看如何获取并安装该软件。

项目一的目的是通过实际操作,获得使用IBM SPSS进行高级数据分析的初步认识。该软件提供了全面的统计工具集,易于使用的统计分析功能,并能与开源软件集成。

以下是获取试用版的步骤:

  1. 访问IBM官方网站的试用页面。
  2. 点击红色按钮,开始注册流程。
  3. 填写个人信息以创建IBM官方账户。
  4. 账户创建成功后,进入下载页面。

在下载页面,您需要根据您的操作系统选择正确的安装文件版本(32位或64位Windows,或iOS系统)。

要确定您的系统类型,请按以下步骤操作:

  1. 打开Windows系统的“控制面板”。
  2. 选择“系统和安全”选项。
  3. 点击“系统”。
  4. 在系统信息中,查看“系统类型”,确认是32位还是64位操作系统。

了解系统类型对安装许多软件都很重要。请确认后,下载并安装对应版本的IBM SPSS Statistics。


IBM SPSS 基础操作与界面导览 🔍

安装完成后,我们来看看IBM SPSS Statistics的基本操作界面。

软件界面主要包含数据编辑器、输出查看器等窗口。系统自带示例文件,位于指定目录。我们强烈建议您阅读软件内置的教程以获取更多信息。

首先,打开示例数据文件 demo.sav

在数据编辑器窗口中,您可以通过“变量视图”选项卡编辑数据变量属性,例如使用以下选项更改测量尺度:
[变量视图 -> 测量 -> 选择尺度(标度/有序/名义)]

此外,您可以运行各种分析。点击分析菜单中的选项会弹出相应窗口,下方提供了多种方式以展示结果并从不同角度查看数据。

选择变量信息并点击“确定”后,您可以看到提供的选项以及菜单。对于图表,您可以看到可选窗口,并能根据需求控制设置。我们鼓励您尝试不同的选项、阅读教程,以了解使用不同图表类型或不同统计分析机制时能获得哪些额外的洞察。

对于图表,您可以右键点击,通过菜单双击选择您喜欢的图表类型,如直方图、箱线图或饼图。您有多种选择,之后将得到所需的结果结构。

您还可以通过拖放操作来获取结果。在图表选项中,点击右键,使用拖放功能,即可访问并生成所需的图表。

查看我们刚刚获得的结果,这是一个关于“是否拥有PDA”与“无线服务”的簇状条形图。

该图表显示,拥有无线电话服务的人比没有该服务的人更可能拥有PDA(个人数字助理)。这表明两者之间存在相关性。


项目二:数据分析实践与比较 📊

在熟悉了基础操作后,本节我们将进行具体的数据分析实践。

项目二要求您尝试分析并绘制图表,展示以下两组关系:

  1. 家庭人数主要车辆价格等级之间的关系。
  2. 家庭收入(千元)主要车辆价格等级之间的关系。

请注意,车辆价格等级 是这两个分析中的共同分母。发生变化的是 家庭人数家庭收入

您需要比较这两个分析的结果。


课程总结与任务 📝

本节课中,我们一起学习了IBM SPSS Statistics的入门知识。我们从注册试用账户、安装软件开始,逐步探索了其操作界面和基础数据分析功能,并布置了两个实践项目。

总体任务要求如下:

  1. 完成项目一:尝试按照课程演示的相同选项进行操作,看是否能复现相同的结果。
  2. 完成项目二:分析指定的两组关系,绘制图表并比较结果。
  3. 进行更多探索:与您的同伴分享结果,并尽可能互相学习。

感谢您学习《大数据与新兴技术》这门课程。这是第六个也是最后一个模块,希望您收获颇丰。祝愿这些知识对您的职业生涯和学术研究有所帮助,并祝您在追求大数据技术及其他领域的道路上取得成功。

课程P36:智能设备与移动新兴技术导论 🚀

欢迎来到“智能设备与移动新兴技术”课程。这是“从智能手机到物联网再到大数据”专项课程的一部分。我是延世大学的钟教授,欢迎大家。

在本课程中,我们将学习移动业务、智能设备、通信技术及操作系统等核心知识,并通过实践项目加深理解。课程内容广泛,旨在为初学者构建一个清晰的知识框架。

课程模块概述 📚

本课程包含以下核心模块,我们将逐一深入探讨。

  • 移动业务与市场分析:分析全球智能手机市场份额及移动操作系统趋势。
  • 智能设备详解:聚焦三星Galaxy Note 8、G S3、苹果iPhone X和Apple Watch Series 3等设备,并研究其IP67/IP68防护等级。
  • SoC处理器技术:剖析三星Exynos、高通骁龙和苹果A11仿生等主流芯片。
  • 半导体技术演进:探讨半导体尺寸的微缩进程及big.LITTLE异构计算架构。
  • 基于GPS的技术:学习GPS、A-GPS(辅助GPS)如何实现精准的定位服务。
  • 无线充电技术:介绍主流的无线充电标准及其背后的感应与共振原理。
  • 移动通信技术:从1G到5G的代际演进,重点分析4G(LTE/LTE-A)和5G的核心技术。
  • 智能手机操作系统:深入探讨iOS与Android的版本演进和系统架构。
  • 实践项目:通过智能手机与移动网络项目,进行实际操作与分析。

移动通信技术深度解析 📡

上一节我们概述了课程模块,本节中我们将详细看看移动通信技术的发展与核心。

我们将按阶段研究移动通信技术的演进:从第一代(1G)到第二代(2G),再到第三代(3G),最终演进至第四代(4G)技术,即LTELTE-Advanced。同时,我们也会重点探讨5G移动通信技术。

此外,课程还会介绍SIM卡(用户身份模块)的出现及其作用。

以下是4G LTE网络的一些关键技术:

  • 网络架构:了解LTE服务是如何提供的。
  • 分组转发与切换:核心的数据传输与管理机制。
  • MIMO技术:多输入多输出技术,提升信道容量。
  • OFDM:正交频分复用,用于物理层的高速数据传输。

在LTE-Advanced(LTE-A)中,我们关注其增强的核心技术:

  • ICIC(小区间干扰协调)FFR(部分频率复用)
  • 动态子载波分配
  • CoMP(协作多点传输)
  • 载波聚合
  • 异构网络与自组织网络(SON)

第五代移动通信技术(5G)🔮

接下来,我们将进入5G移动通信技术领域,了解其总体目标与实现方式。

我们将在详细规格上比较3G、4G和5G,分析它们的差异与能力。5G技术主要围绕三大应用场景进行设计:

  1. eMBB(增强移动宽带):面向高带宽应用,如超高清视频。
  2. mMTC(海量机器类通信):面向大规模物联网设备连接。
  3. URLLC(超可靠低时延通信):面向对时延和可靠性要求极高的应用,如自动驾驶。

5G的部署模式分为:

  • SA(独立组网)模式
  • NSA(非独立组网)模式:与4G网络协同工作。

我们还将学习网络切片技术,即如何将物理网络基础设施虚拟分割,以支持不同的服务需求。由于5G使用了毫米波等高频信号,我们还需了解多无线接入技术如何协同工作。

智能手机操作系统 💻

现在,让我们将目光转向智能手机的核心软件——操作系统。

首先从iOS开始,追踪其从支持初代iPhone的iOS 1到现今iOS 11及以后版本的演进历程。我们将关注不同版本的主要特性、新增与移除的功能。

接着,我们会剖析iOS的五层架构,了解各层的功能及如何协同工作。

然后,我们转向Android系统,从其早期版本(Alpha, Beta)开始,历经“纸杯蛋糕”(Cupcake)直到“奥利奥”(Oreo)及更高版本。我们将梳理各Android版本的主要特性与技术演变。

最后,深入Android操作系统的六层架构,理解各个模块的功能与协作关系。

实践项目 📱

理论需结合实践。在课程的最后,我们将通过两个实践项目巩固所学知识。

在智能手机项目中,我们将利用IA64架构、Google Android及Apple设备,深入查看自己手机的详细软硬件信息。

在移动网络项目中,我们将使用相关组件分析所连接的网络,包括:

  • 网络支持的数据速率及使用情况。
  • 手机与基站连接的实际信号信息。
  • 网络的激活/非激活状态及延迟(时延)。
  • 特别地,我们还将探索iPhone的现场测试模式,该模式能提供服务小区测量等丰富信息。

总结

本节课中,我们一起学习了“智能设备与移动新兴技术”课程的完整框架。我们从移动市场分析入手,逐步深入到智能设备硬件(如SoC、GPS)、关键通信技术(4G/5G)、两大移动操作系统(iOS/Android),并最终通过实践项目将理论应用于实际分析。希望本课程能为你理解快速发展的移动技术世界打下坚实基础。

37:移动服务市场分析 📊

在本节课中,我们将学习移动服务市场的宏观趋势、关键组成部分及其增长预测。我们将从全球电信终端市场的整体预测开始,逐步深入到移动设备、可穿戴设备以及移动通信网络设备的具体分析。


移动服务的五大趋势 🌐

上一节我们介绍了课程概述,本节中我们来看看驱动移动服务发展的五大宏观趋势。这些趋势将引领未来的技术、服务发展,并需要相应的硬件、软件和网络基础设施来支持。

以下是移动服务的五大趋势:

  • 移动数据流量的爆炸式增长
  • 大数据分析驱动的知识即服务
  • 融合服务所需的超现实媒体
  • 万物上云
  • 连接设备的快速增长

全球电信终端市场预测 📈

了解了宏观趋势后,我们来看看具体的市场数据。本节将分析全球电信终端市场的规模与增长,并引入一个重要的分析指标:复合年增长率。

复合年增长率(CAGR)是衡量一项投资在特定时期内平均年增长率的指标。它是一个几何级数比率,提供了时间段内的恒定回报率,在商业和投资分析中经常使用。

计算CAGR的公式如下:

CAGR = (Vb / Va)^(1/(Yb - Ya)) - 1

其中:

  • YaYb 代表年份,且 Yb > Ya。
  • VaVb 分别代表对应年份的价值。

计算结果以百分比表示。基于此,我们来看2015年至2020年的市场预测数据。

以下是2015-2020年全球电信终端市场预测(单位:百万美元):

类别 2015 2016 2017 2018 2019 2020 CAGR
移动设备 441, 844 466, 280 492, 230 519, 810 549, 150 602, 814 6.4%
基站 34, 571 37, 680 41, 070 44, 760 48, 790 51, 210 8.2%
电信服务 1, 021, 560 1, 046, 370 1, 071, 750 1, 097, 720 1, 124, 290 1, 157, 010 2.5%
总计 1, 497, 975 1, 550, 330 1, 605, 050 1, 662, 290 1, 722, 230 1, 811, 034 3.9%

数据分析:

  • 移动设备市场:规模巨大,预计到2020年将超过6000亿美元,CAGR为6.4%,增长显著。
  • 基站市场:CAGR高达8.2%,超过移动设备。这是因为随着4G LTE-A和5G技术的普及,为了提供更可靠的高速宽带服务,需要部署更多、更密集的基站,导致市场规模快速增长。
  • 电信服务市场:基数庞大,2018年已超过1万亿美元。尽管2.5%的CAGR看似不高,但由于基数巨大,其绝对增长值依然非常可观。

可穿戴设备市场分析 ⌚️

在分析了整体电信市场后,我们聚焦到一个快速增长的具体设备领域:可穿戴设备。这个市场是移动服务的重要延伸。

以下是可穿戴设备细分市场预测(单位:百万美元):

类别 2015 2016 2017 2018 2019 2020 CAGR
智能手表 13, 077 18, 507 25, 143 32, 886 41, 326 49, 881 20.6%
健身手环 4, 065 4, 195 4, 321 4, 451 4, 584 4, 722 -0.3%
智能眼镜 211 365 632 1, 094 1, 894 3, 279 35.3%
其他可穿戴设备 1, 093 1, 551 2, 202 3, 127 4, 440 6, 304 41.9%
总计 18, 446 24, 618 32, 298 41, 558 52, 244 64, 186 24.3%

市场动态解读:

  • 智能手表:以20.6%的高CAGR增长,功能日益强大和多样化,正在吸收部分健身手环的市场。
  • 健身手环:市场略有萎缩(CAGR -0.3%),因其功能正被集成到智能手表中。
  • 智能眼镜:增长迅猛(CAGR 35.3%),主要受增强现实等应用的推动,预计将成为重要的市场产品。
  • 其他可穿戴设备:增长率最高(CAGR 41.9%),这包括了未来可能智能化的各类物品,如领带、皮带、鞋子等,展示了物联网的巨大潜力。
  • 整体市场:智能可穿戴设备市场整体预计以24.3%的显著速度增长。


移动通信网络设备分析 📡

最后,我们转向支撑所有移动服务的基础:网络设备。本节将分析不同代际的移动通信技术及其相关设备的市场前景。

以下是移动通信网络设备市场预测(单位:百万美元):

类别 2015 2016 2017 2018 2019 2020 CAGR
2G基站 4, 007 3, 240 2, 621 2, 120 1, 715 1, 387 -32.7%
3G基站 11, 007 9, 640 8, 440 7, 390 6, 470 5, 665 -23.7%
4G基站 19, 557 23, 800 28, 960 35, 240 42, 880 44, 158 17.9%
基站小计 34, 571 36, 680 40, 021 44, 750 51, 065 51, 210 6.3%
小基站 2, 290 2, 910 3, 700 4, 700 5, 970 7, 580 27.0%
核心网 13, 290 13, 840 14, 410 15, 010 15, 630 16, 280 4.1%
总计 50, 151 53, 430 58, 131 64, 460 72, 665 75, 070 8.2%

技术演进与市场关系:

  • 2G/3G基站:市场持续萎缩(CAGR分别为-32.7%和-23.7%),因其数据通信能力有限,投资正转向更先进的技术。
  • 4G基站:保持17.9%的健康增长,正在吸收2G/3G的市场份额。在无法实现连续覆盖的区域,4G网络会回落到3G/3G增强型技术。
  • 小基站:增长最为显著(CAGR 27.0%)。随着4G/5G的部署,为实现高速率和全覆盖,蜂窝小区将变得更小,需要大量部署微基站、家庭基站等小基站设备。5G时代使用高频段,将进一步推动小基站市场的增长。
  • 核心网:作为网络中枢,在现有基础设施上稳步增长(CAGR 4.1%),未来所有接入技术都需要连接到核心网。
  • 整体网络设备市场:预计以8.2%的复合年增长率增长。

总结 📝

本节课中,我们一起学习了移动服务市场的全景分析。

我们首先认识了驱动市场的五大宏观趋势。接着,我们利用复合年增长率深入分析了全球电信终端市场,发现移动设备、基站和电信服务市场均规模巨大且持续增长。随后,我们聚焦于高增长的可穿戴设备细分市场,看到了智能手表、智能眼镜等产品的巨大潜力。最后,我们剖析了移动通信网络设备市场,理解了从2G到5G的技术演进如何直接影响不同网络设备的投资与增长。

这些分析表明,移动服务市场是一个充满活力、机遇与变革的领域,为后续学习智能手机、物联网和大数据等技术奠定了市场认知基础。

38:智能手机市场分析 📱

在本节课中,我们将学习全球智能手机市场的关键数据与趋势。我们将分析不同国家的市场份额、主要设备供应商的表现、移动操作系统的竞争格局以及移动通信技术和应用市场的未来发展。


🌍 全球智能手机市场份额(按国家)

首先,我们来看按国家划分的全球智能手机市场份额。请注意,这里的数据是百分比。某个国家份额的下降,并不一定意味着其销售额或利润在减少,而可能是由于其他国家的市场份额增长得更快,导致其在全球“蛋糕”中的相对比例变小。在全球范围内,这些百分比的变化具有重要含义,因为总和始终是100%,各国份额相互关联、相互影响。

以下是2011年至2017年部分国家的市场份额变化:

  • 美国(橙色柱状图):份额从2011年的21.3%下降到2017年的12.1%,呈持续下降趋势。
  • 中国:份额从2011年的18.2%大幅增长至2013年的32.8%。这主要是由于其庞大的人口基数带来的显著增长,这也影响了美国份额的相对下降。到2017年,中国的份额略有回落。
  • 印度(黄色柱状图):份额从2011年的3%增长到2017年的10.3%。印度在此期间的增长,是导致中国份额在2013年后略有下降的因素之一。
  • 英国与巴西:在2013年,英国份额(3.9%)高于巴西(3.1%)。但到2017年,情况发生逆转,英国降至3.1%,而巴西增至4.4%。

由此可见,人口大国对智能手机需求的变化能显著影响全球市场格局。了解不同国家的需求、流行的设备功能、应用结构和服务,对于预测未来全球智能手机市场至关重要。


📊 主要设备供应商分析

上一节我们看了国家层面的份额,现在我们把目光聚焦到具体的设备供应商。以下是2016-2017年期间排名前四的供应商:

  • 三星:排名第一。
  • 苹果:排名第二。
  • 华为:排名第三。
  • OPPO:排名第四。

这四家公司合计占据了约54%以上的市场份额,而其他所有厂商合计约占45%。这表明头部厂商对全球市场有着巨大的影响力。

为了更细致地了解竞争动态,我们进一步观察过去两年(2016-2017年)的季度表现:

  • 三星:在2016年的前三个季度(Q1, Q2, Q3)以及2017年的前三个季度,市场份额均领先。
  • 苹果:在2016年第四季度(Q4)以18.3%的份额超越三星(18.1%)。同样,在2017年第四季度,苹果以19.2%的份额再次超越三星。

造成这种差异的主要原因是产品发布周期。厂商在全年的产品发布策略和时间点,会直接影响其市场份额的季度波动。把握这种趋势对于投资决策和股市表现都有重要意义。


🤖 移动操作系统市场格局

了解了硬件厂商,我们再来看看驱动这些设备的软件核心——操作系统。回顾2009年,市场格局与今日大不相同:

  • 2009年排名:1. Symbian; 2. RIM(黑莓); 3. iOS(苹果); 4. Microsoft; 5. Android(谷歌)。

从2009年到2012年,市场发生了剧烈变化。Symbian、RIM和Microsoft的份额大幅萎缩。自2011年后,智能手机市场主要由两大操作系统主导:

  • Android:占据绝对主导地位,份额超过80%。
  • iOS:排名第二,份额曾达到约23.8%的峰值,近年来维持在12%-17%的区间。

目前,Android和iOS在市场中占据强势地位。因此,在本课程后续模块中,我们将重点探讨iOS和Android操作系统的演进及其架构。尽管未来随着增强现实(AR)、物联网(IoT)等新设备的出现,格局可能生变,但当前这两大系统仍是学习的重点。


📶 移动通信技术订阅数分析

智能手机离不开网络连接。我们来看基于移动通信技术的全球移动订阅数数据(2015年Q2至2017年Q2)。

  • 4G (LTE/LTE-A):呈现持续显著增长。
  • 3G增强技术 (HSPA):从2015年Q2到2017年Q2整体有所增长,在2016年Q3-Q4期间达到峰值,随后在2017年保持稳定,但仍高于2015年水平。
  • 2G (GSM):主要专注于语音通信,也支持低速数据通信,其份额持续萎缩。
  • CDMA 与 TD-SCDMA:份额也在变小。

LTE市场增长显著,它提供了宽带数据通信。然而,在LTE网络无法覆盖的区域,手机会自动回落到3G增强技术(如HSPA)。正因为3G技术拥有良好的蜂窝覆盖,在人口较少、投资建设LTE网络不经济的地区,HSPA及相关技术仍将支撑起基础服务。


🔮 未来市场预测

接下来,让我们展望未来。根据市场预测(柱状图显示至2022年):

  • LTE(蓝色柱):预计将持续增长。
  • HSPA(橙色柱):作为提供更高速率的3G增强技术,预计将维持约32%的较大份额直至2022年。
  • GSM(灰色柱):市场份额预计将进一步缩减。
  • 5G(黄色柱):在2021和2022年开始出现(0.1%, 0.4%)。

需要特别注意的是,5G的移动通信标准将于2020年完成制定。因此,目前对其产品销售和市场应用的预测仍存在较大不确定性。图表中的数字较小,但实际投资和应用规模可能会远超此估计,具体取决于各种服务模式的接受和使用情况。


📲 移动应用市场展望

最后,我们分析移动应用市场的未来。以下是三个关键领域的预测:

  • 应用下载量:预计将从2016年的约260亿次增长至2020年的314.32亿次。其复合年增长率(CAGR)为3.3%。虽然增长率看似不高,但考虑到应用市场本身已非常庞大,这个增长绝对值依然非常显著。
  • 应用内支付:预计复合年增长率(CAGR)高达45.9%。这表明应用内购市场虽然相对较小,但增长潜力巨大。
  • 应用内广告:预计复合年增长率(CAGR)为54.6%,增长最为显著。

整个全球移动应用市场的总复合年增长率预计为29.1%,显示出强劲的整体增长势头。


📚 总结

本节课中,我们一起学习了智能手机市场的多维度分析:

  1. 国家份额:中国、印度等人口大国的需求变化深刻影响着全球市场份额的分布。
  2. 供应商竞争:三星、苹果、华为、OPPO四家头部厂商占据过半市场,其产品发布周期导致市场份额呈现季度性波动。
  3. 操作系统:市场已形成Android和iOS双寡头垄断的稳定格局。
  4. 通信技术:4G (LTE) 持续增长,3G (HSPA) 作为补充仍将长期存在,2G逐渐退场,5G即将登场。
  5. 应用市场:应用下载量稳步增长,而应用内支付和广告市场则呈现爆发式增长潜力。

理解这些市场动态,是把握从智能手机到物联网再到大数据这一系列新兴技术发展趋势的重要基础。

39:智能设备规格 📱⌚️

在本节课中,我们将学习智能手机和智能手表的核心硬件规格。我们将以三星 Galaxy Note 8、iPhone X 以及三星 Gear S3 和 Apple Watch Series 3 为例,详细介绍构成这些智能设备的关键模块,如芯片组、CPU、GPU、显示屏、摄像头和电池等。


智能手机规格详解

上一节我们概述了本模块的学习目标,本节中我们来看看智能手机的具体规格。我们将重点分析两款代表性设备:三星 Galaxy Note 8 和 iPhone X。

平台单元:芯片组与处理器

芯片组是智能手机中最重要的模块,它集成了移动通信、Wi-Fi、蓝牙等网络接口的控制功能,并负责设备的大部分核心处理任务。

以下是两款手机的芯片组信息:

  • 三星 Galaxy Note 8:采用高通 MSM8998(骁龙 835)芯片组,或三星 Exynos 8895 八核芯片组。
  • iPhone X:采用苹果 A11 仿生芯片组。

CPU(中央处理器)负责与设备所有组件交互,并与 GPU(图形处理器)协同工作,确保智能手机各项功能协调运行。

以下是两款手机的 CPU 信息:

  • 三星 Galaxy Note 8:采用八核 CPU。一种配置是四个 2.35 GHz Kryo 核心加四个 1.9 GHz Kryo 核心;另一种是四个 2.3 GHz 核心加四个 1.7 GHz 核心。
  • iPhone X:采用六核 CPU,包含 2 个 Monsoon 核心和 4 个 Mistral 核心。

GPU 负责处理图形渲染任务。

以下是两款手机的 GPU 信息:

  • 三星 Galaxy Note 8:采用 Adreno 540 或 Mali-G71 MP20。
  • iPhone X:采用苹果三核图形处理器。

显示屏、摄像头与附加功能

了解了核心处理器后,我们接下来看看直接影响用户体验的显示屏、摄像头和其他功能。

显示屏的类型和参数至关重要。

以下是两款手机的显示屏信息:

  • 类型:Galaxy Note 8 为 Super AMOLED;iPhone X 为 OLED。
  • 尺寸:Galaxy Note 8 为 6.3 英寸;iPhone X 为 5.8 英寸。
  • 分辨率:Galaxy Note 8 为 1440 x 2960 像素;iPhone X 为 1125 x 2436 像素。
  • 保护:Galaxy Note 8 采用康宁大猩猩玻璃 5;iPhone X 采用防刮玻璃并具有疏油涂层。

摄像头是智能手机的关键功能之一。

以下是两款手机的摄像头信息:

  • 后置主摄像头:两者均为双 1200 万像素。
  • 前置摄像头:Galaxy Note 8 为 800 万像素;iPhone X 为 700 万像素。

附加功能包括定位和防护能力。

以下是两款手机的附加功能信息:

  • GPS:Galaxy Note 8 支持 A-GPS, GLONASS, BDS, Galileo;iPhone X 支持 A-GPS, GLONASS, Galileo, QZSS。
  • 电池:Galaxy Note 8 为 3300 毫安时;iPhone X 为 2716 毫安时。两者均为锂离子电池,并支持无线充电。
  • 防护等级:Galaxy Note 8 通过 IP68 认证;iPhone X 通过 IP67 认证。

智能手表规格详解

在详细了解了智能手机的规格后,本节我们将目光转向可穿戴设备,对比分析三星 Gear S3 和 Apple Watch Series 3 的规格。

平台与显示

智能手表的平台同样由操作系统、芯片组和 CPU 构成。

以下是两款手表的平台信息:

  • 操作系统:Gear S3 基于 Tizen,版本 2.3.2;Apple Watch Series 3 采用 watchOS 4.0。
  • 芯片组:Gear S3 为 Exynos 7270;Apple Watch Series 3 为 Apple S3。
  • CPU:两者均为双核处理器,Gear S3 主频为 1.0 GHz。

显示屏是智能手表的主要交互界面。

以下是两款手表的显示信息:

  • 尺寸:Gear S3 为 1.3 英寸;Apple Watch Series 3 为 1.65 英寸。
  • 分辨率:Gear S3 为 360 x 360 像素;Apple Watch Series 3 为 390 x 312 像素。

电池、传感器与防护

对于可穿戴设备,续航、健康监测和耐用性尤为重要。

以下是两款手表的电池、传感器与防护信息:

  • 电池:Gear S3 为 380 毫安时锂离子电池;Apple Watch Series 3 为 273 毫安时锂离子电池。两者均支持无线充电。
  • 传感器:Gear S3 包含加速度计、陀螺仪、心率传感器和气压计;Apple Watch Series 3 也包含同类传感器。
  • 防水:Gear S3 通过 IP68 认证;Apple Watch Series 3 具备 50 米(约 164 英尺)防水能力。

总结

本节课中,我们一起学习了智能手机和智能手表的核心硬件规格。我们以三星 Galaxy Note 8、iPhone X、三星 Gear S3 和 Apple Watch Series 3 为例,详细剖析了芯片组、CPU、GPU、显示屏、摄像头、电池、传感器等关键模块的参数与功能。在接下来的课程中,我们将对这些规格表中的专业术语和关键技术进行更深入的讲解。

40:智能手机芯片组(第1部分)📱

在本节课中,我们将学习智能手机芯片组的基础知识。芯片组是智能手机的核心,它不仅负责设备的主要运算,还集成了蓝牙、Wi-Fi和移动通信等多种网络技术。我们将从ARM架构和“大小核”设计开始,深入了解现代智能手机处理器的运作原理。


从三星Exynos Octa 8895开始

上一节我们介绍了芯片组的重要性,本节中我们来看看一个具体的例子:三星Exynos Octa 8895。这款芯片于2017年发布,由三星公司设计和制造。它基于ARM v8-A架构,并采用了“大小核”异构计算设计。

三星Exynos Octa 8895包含四个大核和四个小核,总计八个核心,构成一个多核处理单元。


理解“大小核”架构

“大小核”架构由ARM公司于2011年推出。它是一种处理能力优化技术,旨在通过快速的硬件处理速度和高效的固件,从ARM CPU核心获得高性能。其特点包括峰值性能高、持续性能强、并行处理能力提升,以及平均功耗显著降低。

功耗的优化来自于根据运算负载的轻重,智能地调用大核或小核。以下是其工作原理:

  • 大核(高性能核心):用于处理计算密集型任务。这些任务也被称为线程。在智能手机上,例如运行视频游戏或增强现实应用时,设备处于高负载状态,此时大核会介入以最快速度完成这些繁重操作,但能耗较高。
  • 小核(高能效核心):用于处理负载较轻的任务,同样以线程形式存在。例如,守护进程——一种在智能手机后台运行的程序。操作系统本身就在后台运行许多这样的进程。

作为开发者,我们通常设定目标:所有需要与用户交互的操作(如点击屏幕后的响应)应在50到100毫秒内完成,否则用户会感到设备迟缓。因此,需要快速处理的前台操作由大核负责;而保持手机运行、持续处理后台工作的后台操作则由小核处理。


线程与调度器

那么,什么是线程?线程是一系列可以被调度器独立调度和处理的程序指令序列。

在智能手机上,调度器通常就是操作系统本身。目前主流的智能手机操作系统是Android和iOS。本课程后续将涵盖这两个系统从最初版本到今天的完整演进过程。

使用“大小核”架构的软件和平台优势明显:

  • 在低到中等性能场景下,可节省高达75% 的CPU能耗。
  • 在高线程负载场景下,性能可提升40%

“高线程负载”指的是从手机多个应用程序中产生的大量线程,这些线程会被分配给芯片组中的多个核心(包括CPU和GPU核心)进行处理。核心的数量取决于智能手机芯片组的具体架构。


ARM架构演进:v7 与 v8

现在我们来深入看看ARM架构。如下图所示,这是一个示例,展示了Linux调度器管理下的八个非对称核心。所谓“非对称”,是因为这些核心并不相同,其中包含了代表大核的Cortex-A15单元(四个)和代表小核的Cortex-A7单元。

我们首先对比第一代ARM v7和第二代ARM v8架构。目前我们讨论的智能手机芯片大多基于ARM v8架构。

对于“大小核”技术架构:

  • 第一代(ARM v7):大核采用Cortex-A15(或高性能的Cortex-A17),小核采用Cortex-A7。
  • 第二代(ARM v8):大核可采用Cortex-A57或Cortex-A72;小核可采用Cortex-A53或Cortex-A35。

因此,在上图中,你可以将规格替换为第二代模块,例如用A57或A72作为大核,用A35或A53替代A7作为小核。


其他主流芯片组示例

接下来,我们看看其他两款2017年的主流芯片组。

1. 高通骁龙835 (MSM8998)

  • 发布于2017年,由高通设计,三星制造。
  • 基于ARM v8-A架构,采用大小核异构计算设计。
  • 同样拥有四个大核和四个小核。

2. 苹果A11仿生芯片 (用于iPhone X)

  • 发布于2017年,由苹果设计,台积电制造。
  • 基于ARM v8-A架构,是苹果第二代自主设计的性能控制器单元。
  • 在多线程工作负载上比前代快70%。与A10芯片相比,其能效核心快70%,性能核心快25%。

智能手机的CPU与GPU

最后,我们简要了解智能手机中的CPU和GPU。

1. Kryo 280 CPU (与骁龙835一同发布)

  • 基于ARM Cortex-A73架构的定制化设计。
  • 增强了IPS(每秒指令数) 性能,尤其在整数运算和指令处理方面。
  • 但在浮点运算性能上略有下降。
  • 用于三星Galaxy Note 8。

2. Adreno 540 GPU

  • 发布于2017年初,采用10纳米工艺设计。
  • 主频提升至710 MHz,稳定性增强。
  • 包含256个ALU(算术逻辑单元)。ALU是执行加、减以及“与”、“或”、“非”、“异或”等二进制逻辑运算的单元。
  • 具备浮点运算能力,性能为567 GFLOPS(每秒十亿次浮点运算)。

3. 苹果A11的CPU与GPU

  • CPU:包含高性能核心“Monsoon”和能效核心“Mistral”。“Monsoon”频率可达2.39 GHz,比A10快25%;“Mistral”也比A10的能效核心快70%。
  • GPU:苹果自主设计的三核GPU,采用10纳米工艺。图形性能比A10芯片快30%,并且能以一半的功耗实现A10的性能水平,功耗降低显著。



总结

本节课中,我们一起学习了智能手机芯片组的基础知识。我们从三星Exynos芯片入手,深入探讨了ARM的“大小核”异构计算架构,理解了线程调度器如何协同工作以优化性能与功耗。我们还对比了ARM v7和v8架构的差异,并分析了2017年高通骁龙835和苹果A11仿生芯片的具体配置,包括其CPU和GPU的核心特性。这些知识是理解现代智能手机如何平衡强大性能与续航能力的关键。

41:5_2.2 智能手机芯片组(第2部分)📱💡

在本节课中,我们将要学习半导体技术发展的前沿——10纳米技术。我们将从摩尔定律开始,回顾晶体管数量的增长历程,并深入探讨10纳米技术的定义、优势及其对未来设备的影响。


理解半导体技术前沿:摩尔定律与10纳米技术 🔬

为了理解芯片组和CPU,你需要了解半导体发展的前沿技术。目前,这一前沿被设定在10纳米技术。让我们来探讨这个话题。

摩尔定律是理解这一发展的基础。戈登·摩尔是英特尔和仙童半导体的联合创始人。他在1965年的论文中写道:密集集成电路中的晶体管数量大约每两年翻一番。这一增长速度预计至少会再持续十年。令人惊讶的是,这一预测完全准确。因此,摩尔定律变得非常著名。

那么,它是否也适用于当前最先进的半导体技术?让我们来看一看。

晶体管数量的演进图表 📈

在10纳米技术中,我们是如何达到这一水平的?下图展示了晶体管数量的演进。纵轴代表晶体管数量。你可以看到,在一个半导体芯片上能放置的晶体管数量是如何增长的。

以下是几个关键的参考点,位于图表的右下角。

  • 奔腾处理器:奔腾是英特尔生产的一系列X86兼容微处理器的品牌。X86中的“X”位置可以放置半导体设备的实际代码编号。奔腾的典型编号是80586,因此奔腾处理器有时也被称为586处理器。奔腾处理器是广泛PC的入门级产品。
  • 多核处理器:此后,演进进入了多核处理器时代。与其拥有一个非常强大的核心,不如拥有多个相对独立并能执行操作的处理器核心。
  • AMD K5:K5是AMD首个完全独立开发的X86处理器。
  • 英特尔凌动:凌动是英特尔一系列超低电压32位和64位CPU的品牌名称。
  • 安腾:安腾是英特尔64位微处理器家族。安腾2由惠普和英特尔联合开发。
  • 至强:至强是英特尔设计和制造的X86架构微处理器品牌。至强面向非消费级工作站、服务器和嵌入式系统市场。

上一节我们回顾了处理器的发展历程,本节中我们来看看“非消费级”的具体含义。

“非消费级”产品的含义 🏢

“非消费级”是什么意思?消费级产品通常指智能手机、个人电脑或笔记本电脑,公司直接将其销售给消费者,我们称之为B2C关系。

另一方面,还有企业对企业关系,即公司对公司。通常,“非消费级”指的就是这种B2B关系。例如,需要大量工作站、服务器和其他嵌入式系统的公司会直接从英特尔采购,并将其集成到自己的设备中。用户通常不会直接购买服务器,而是由公司购买服务器,这就是“非消费级”的含义。

在10纳米技术之前,11纳米和14纳米是主流技术趋势。

10纳米技术的定义与制定者 📏

最初的10纳米命名由谁定义?是国际半导体技术路线图组织。这是一个进行此类分类的组织。

三星在2017年首次发布了其10纳米工艺节点。ITRS是什么?

它由世界五大领先芯片制造地区赞助,包括欧洲、日本、韩国、台湾和美国。其目标是确保集成电路性能以及采用此类设备的先进产品和应用能够实现成本效益的进步,以维持半导体行业的持续增长和成功。

显然,它扮演着重要角色,并提供了一个基于标准化的参考,以便我们对半导体技术进行分类。

10纳米技术的优势 ⚡

为什么是10纳米?这个更小的数字有什么重要意义?

通过减小晶体管之间的距离,在单元间单次传输以及晶体管激活时,都能实现功耗降低。激活晶体管、将其开启所需的能量更少,这非常棒。

以下是10纳米技术带来的其他优势:

  • 芯片更轻薄:晶体管越小,在相同芯片面积内可以设计更多的晶体管。这意味着在相同芯片面积内拥有更多晶体管,从而带来更多功能和更强的处理能力。
  • 电池续航更长:晶体管开关速度更快,消耗的能量更少。
  • 发热更少:在晶体管数量相同的情况下,采用更小的晶体管技术会使发热更少。发热是能量的浪费。我们希望完成处理过程,而不是将其用作加热器。因此,运行温度更低意味着浪费的能量更少,节省的能量更多,设备的使用寿命也更长。

10纳米到底有多小?🔍

我们还能做到多小?首先,让我们参考一下10纳米到底意味着什么。它有多小?

  • 一个正常的红细胞直径约为6到8微米。微米与纳米不同,我稍后会解释。
  • 典型的人眼对大约390到700纳米的波长有反应。
  • 一个细菌核糖体大约20纳米。

我们讨论的单位,对于红细胞来说是10的负6次方米,即微米。但我们讨论的范围从20纳米到390-700纳米,是10的负9次方米。我们讨论的基于10纳米技术的晶体管,你可以看到技术设计可以做到多么微小、精确和精密。

未来趋势:超越10纳米 🚀

再回到摩尔定律和未来趋势。根据1985年以来的趋势,我们达到了这些数字。如图所示,在2010年之后,我们进入了32纳米、22纳米、14纳米,直到现在的10纳米。

未来会发生什么?我们将迎来个位数纳米技术,如8纳米、6纳米、4纳米。这些数字很快将在未来出现。请做好准备,确保它们出现在你的智能手机和智能手表中。图中下方的红色部分就是我们将要前往的方向。当然,就我个人而言,我也将参与开发这些技术。

总结与预告 📚

总的来说,我们首先看了芯片组。在前面的讲座中,这些表格包含了更多的信息。

请坚持学习,因为在接下来的课程中,我将解释更多内容。

这些是我使用的参考资料,我推荐给你。谢谢。


本节课中我们一起学习了:半导体技术的前沿——10纳米技术。我们从摩尔定律出发,回顾了晶体管数量的增长历史,明确了10纳米技术的定义及其制定者ITRS。我们重点探讨了10纳米技术带来的核心优势:更轻薄、更节能、发热更少,从而延长设备寿命。最后,我们展望了未来将出现的个位数纳米技术趋势。理解这些基础知识,是深入认识智能手机芯片组性能的关键。

42:IP防护等级详解 📱💧

概述

在本节课中,我们将学习一个对现代智能设备至关重要的概念——IP防护等级。IP等级是衡量电子设备外壳对固体异物(如灰尘)和液体(如水)侵入防护能力的国际标准。理解这个标准,能帮助我们更好地选择和使用智能手机、智能手表等设备。


IP防护等级简介

IP防护等级是国际防护标记的缩写,有时也指防侵入保护标记。它用于对电气设备外壳提供的防护等级进行分类和评级,主要针对固体物体、灰尘、意外接触以及水的侵入。该标准定义在国际标准IEC 60529中。

IP代码的结构通常为“IP”后跟两位数字,有时还有可选字母。这两位数字分别代表对固体和液体的防护等级。

  • 第一位数字代表对固体的防护等级。由于典型的小固体物可以小到灰尘级别,所以很多人说第一位数字代表防尘能力。如果能防尘,通常也能防护更大的颗粒物。
  • 第二位数字代表对液体的防护等级。由于测试中通常使用纯水,所以常被称为防水等级。

第一位数字详解:防尘与防固体异物

上一节我们介绍了IP代码的基本结构,本节中我们来看看第一位数字的具体含义。它表示外壳对接触危险部件以及固体异物侵入的防护等级。

以下是第一位数字各等级的具体说明:

  • 0:无防护。
  • 1:防护直径大于50毫米的固体物。可防止手背等大面积身体部位接触。
  • 2:防护直径大于12.5毫米的固体物。可防止手指或类似大小的物体侵入。
  • 3:防护直径大于2.5毫米的固体物。可防止工具、粗电线等物体侵入。
  • 4:防护直径大于1.0毫米的固体物。可防止大多数电线、螺丝等较细物体侵入。
  • 5:防尘。不能完全防止灰尘进入,但进入的灰尘量不足以影响设备的正常运行。完全防止接触(针对上表中0-4级大小的物体)。
  • 6:尘密。完全无灰尘进入。完全防止接触。这是防尘的最高等级,也是我们对高端设备(如iPhone X、Galaxy Note 8)的期望等级。

第二位数字详解:防水等级

了解了防尘等级后,我们接下来看看第二位数字,它代表设备外壳内部对有害液体(通常是水)侵入的防护能力。

以下是第二位数字各等级的具体说明:

  • 0:无防护。
  • 1:防垂直落下的水滴。当设备垂直放置时,顶部滴落的水滴无有害影响。
  • 2:防倾斜15度角内的水滴。当外壳在任意一侧倾斜至15度角时,垂直滴落的水滴无有害影响。
  • 3:防喷洒的水。从垂直方向两侧至60度角内喷洒的水,无有害影响。
  • 4:防飞溅的水。从任何方向飞溅到外壳上的水,都无有害影响。
  • 5:防低压水柱喷射。用直径为6.3毫米的喷嘴,从任意方向向外壳喷射水,无有害影响。
  • 6:防高压水柱喷射。用直径为12.5毫米的喷嘴,从任意方向向外壳强力喷射水,无有害影响。
  • 7:防短时浸水。在制造商规定的条件下(如深度、时间),将外壳浸入水深1米内,无有害影响。
  • 8:防持续浸水。在制造商规定的条件下(通常深度超过1米),设备可长时间浸入水中。这种防护通常被称为“密封”或“气密”,意味着水可能完全无法进入,或者即使有少量进入也不会对设备造成有害影响。这是防水最高等级。

实际设备IP等级示例

现在我们已经理解了IP代码的两位数字含义,让我们看看一些实际设备的IP等级,这有助于将理论应用于实践。

  • 三星 Galaxy Note 8IP68
    • 6:尘密(最高防尘等级)。
    • 8:可在超过1米深的水中浸没(具体条件需遵循制造商说明)。
  • 三星 Gear S3 智能手表IP68(与Note 8相同)。
  • 苹果 iPhone XIP67
    • 6:尘密。
    • 7:可在1米深的水中短时浸没。

总结

本节课中,我们一起学习了IP防护等级这一重要概念。我们了解到,IP代码由两位数字组成:第一位数字表示防尘和防固体异物等级(最高为6),第二位数字表示防水等级(最高为8)。通过解读像IP67IP68这样的代码,我们可以清楚地知道一款设备在防尘和防水方面的具体能力,从而做出更明智的购买和使用决策。记住,对于任何涉及浸水的防护等级(如7和8),务必仔细阅读制造商手册中的具体限制条件。

43:7_2.4 传感器 📡

在本节课中,我们将要学习智能设备上使用的几种核心传感器。我们将了解它们的工作原理、应用场景以及它们如何协同工作,为我们的智能设备提供丰富的数据。


加速度计 🚀

上一节我们介绍了传感器的重要性,本节中我们来看看第一种传感器:加速度计。

加速度计用于测量加速度,即速度的变化率。其核心基于MEMS(微机电系统) 传感器技术,该技术内部集成了微电子和微机械模块。为了获得更精确的信息和数据,它通常还会结合陀螺仪传感器的信息。

其应用非常广泛,主要包括:

  • 智能手机和智能手表:这是我们当前学习的重点。
  • 飞行与驾驶稳定系统:例如无人机、飞机、导弹、汽车、巴士和火车。

加速度计可以测量的数据包括:

  • 地球重力引起的加速度。
  • 惯性导航系统数据。
  • 振动和机器旋转。
  • 设备的直立和倾斜位置。

陀螺仪 🌀

了解了测量线性运动的加速度计后,我们再来看看测量旋转运动的传感器:陀螺仪。

在智能设备中,陀螺仪(Gyro是Gyroscope sensor的简称)用于测量方向的变化和角速度。

以下是几种陀螺仪传感器的类型:

  • 微芯片封装的MEMS陀螺仪:这是目前智能手机和智能手表中常用的类型。
  • 固态环形激光陀螺仪
  • 光纤陀螺仪
  • 量子陀螺仪:这种类型可以达到极高的精度。

这里列出后三种类型,是因为在未来,不仅限于微芯片封装的MEMS陀螺仪,这些其他类型的陀螺仪也可能会被集成到各种智能设备中。因此,我们需要关注它们的发展,看它们何时能与MEMS陀螺技术结合。


心率传感器 ❤️

接下来,我们转向一种与健康监测密切相关的传感器:心率传感器。

这是一种光学红外光传感器技术。其工作原理如下:红外光会被血液吸收,传感器通过测量被吸收的光量来工作。

当检测到的红外光变暗时,很可能是因为血流量增加了,而这正对应一次心跳的发生。因此,在一次心跳时,血流量增加,红外信号的整体吸收量变大,导致检测到的红外光看起来变暗。

通过检测红外光变暗的时刻并计算其周期,就可以估算出心率。这就是心率传感器技术的核心原理。

设计时需要注意一点:为了共享同一个红外LED(发光二极管)——这个LED也常被摄像头用于在暗处拍照和录像——心率传感器通常会与摄像头和红外LED灯设计在彼此靠近的位置。这也是智能手机上常见的布局:在主摄像头旁边,你会看到红外LED灯和紧挨着的心率传感器。


气压计 🌡️

最后,我们来了解一种用于感知环境变化的传感器:气压计。

气压计用于测量大气压力,应用于气象学和大气传感领域。大气压力数据常用于估算海拔高度。

我们常听到气压计和高度计,两者略有不同,但核心技术相同。我们来具体看看:

  • 气压计:通常被认为是固定在某个位置、用于测量天气中细微气压变化的静态传感器设备。
  • 高度计:更像是一种可携带的气压计设备,用于现场测量大气压力。

更精确地说,当我们说移动设备或智能手机上装有“气压计”时,更可能指的是高度计,即一种基于MEMS的、用于测量整体压力变化的高度计。然而,在许多规格说明书中,你仍然会看到它被标注为“气压计传感器”,这是基于这些定义的习惯说法。


总结 📝

本节课中我们一起学习了智能设备上四种关键的传感器:

  1. 加速度计:基于MEMS技术,测量加速度,用于运动感知和设备姿态判断。
  2. 陀螺仪:测量角速度和方向变化,与加速度计配合提供更精确的运动数据。
  3. 心率传感器:利用红外光被血液吸收的原理,通过光信号的变化周期来估算心率。
  4. 气压计/高度计:测量大气压力,主要用于海拔估算和环境感知。

这些传感器是智能设备感知物理世界的基础,它们收集的数据为从健康监测到导航定位等各种应用提供了可能。

44:GPS与AGPS技术详解 📡

在本节课中,我们将学习智能设备上的全球定位系统(GPS)及其增强技术——辅助全球定位系统(AGPS)。我们将了解它们的工作原理、区别以及在实际应用中的表现。


概述

GPS对于提供基于位置的服务至关重要。为了进行精确定位,我们需要知道设备所处的经度和纬度。上一节我们介绍了加速度和高度预测传感器,本节我们将深入了解GPS,以获得关于如何精确查找位置和定位的整体视图。


GPS:全球定位系统

全球定位系统由美国陆军于1978年创建。

一个GPS设备需要与四颗或更多卫星通信,以确定其精确位置(经度和纬度)。请注意,GPS本身不提供海拔高度值,这就是为什么气压计成为智能设备中使用的传感器之一。

需要特别注意的一点是,确定位置需要四颗或更多卫星。当处于室内环境时,你可能无法接收到四颗或更多GPS卫星的信号,这时就会出现问题,可能无法计算出任何位置坐标值。

此外,即使你在室外,在城市高楼林立的常见场景中,如果你的位置无法看到四颗或更多支持GPS信息的卫星信号,那么你的GPS信息可能不准确,或者根本无法获取任何数值。

因此,在许多使用GPS进行位置识别的情况下,你可能无法立即获取位置信息,这可能需要几秒到几分钟,甚至可能需要你移动到一个能显著检测到卫星信号的不同位置。


AGPS:辅助全球定位系统

正因如此,当没有足够的GPS信号(四颗或以上)持续足够时间来获取精确位置时,就需要辅助全球定位系统(AGPS)。这也是智能手机内置AGPS技术的原因。

AGPS利用来自GPS卫星的信息,并借助移动网络辅助服务器提供的位置信息。它的工作方式与GPS相同,提供经度和纬度坐标(这是我们的最终目标),并增加了来自移动通信网络的精确时间信息,这非常有用。

AGPS技术有两种类型:MSA和MSB。我们首先来看MSA。


MSA:移动台辅助定位

这是一种由移动通信网络中的服务器执行的位置计算技术。信息从基站传送到你的智能手机(移动台)。移动台捕获它能接收到的GPS信号快照(在很多情况下可能只有一两颗卫星的信号),并接收移动通信网络中AGPS服务器的帮助。

AGPS服务器具有良好的GPS卫星信号接收能力、强大的计算能力以及非常精确的参考时钟。这意味着,移动通信网络的基站装有GPS检测器,它精确知道自己的位置,并将帮助其蜂窝区域内的移动设备(智能手机)找到位置,因为该移动设备没有接收到足够计算其位置的完整GPS卫星信号。这时MSA AGPS技术就会启动。

以下是MSA的工作流程:

  1. 移动台接收捕获辅助信息。
  2. 移动服务提供商在AGPS服务器的帮助下,持续记录来自GPS卫星的信息。
  3. AGPS服务器计算位置,并将其传送给移动台(你的智能手机)。

从结构图来看:首先,基站通过移动通信网络连接到服务器,捕获辅助信息被发送到移动台。然后,移动台将其能接收到的任何GPS信号的测量记录发送到基站,基站再将其传送给服务器。接着,位置在服务器端计算,最后该位置信息被传送回你的智能手机(移动台)。这就是MSA技术。


MSB:移动台自主定位

MSB是另一种AGPS类型,即移动台自主定位。

它的工作原理如下:利用信息更快地获取卫星定位信号,向移动台提供GPS卫星的轨道数据和星历。这使得移动台在某些情况下能更快地锁定卫星。移动网络还可以提供精确的时间信息。

让我们进一步了解MSB的工作细节:移动台从AGPS服务器接收辅助数据,并从可见的GPS卫星接收信号。它结合来自服务器的信息和接收到的GPS卫星信号来计算自身位置。

从时间流程图来看:连接到移动通信网络(进而连接到基站)的服务器将向移动台(你的智能手机)发送辅助数据。然后,你的智能手机将使用它能接收到的GPS信号,并结合从基站接收到的辅助数据来计算其位置。接着,它会将其位置报告给基站,基站再将其传送给服务器。这就是MSB。


MSA与MSB的比较

比较这两种类型,可以看到以下区别:

  • 在MSA中,捕获辅助信息从基站发送到移动台,移动台能接收到的GPS信号的测量记录被传送到基站,再传送到服务器,位置在服务器端计算,然后该信号被传送到你的智能手机。
  • 在MSB类型的AGPS中则不同,服务器通过基站向你的智能手机(移动台)发送信息,你的智能手机(移动台)将使用它能接收到的任何GPS信号来计算位置。然后,最终的位置将被传送到基站,再由基站传送给服务器。

关键点在于:在MSA中,位置在服务器端计算;在MSB中,位置在你的移动台(智能手机)上计算。 这就是MSA和MSB在AGPS技术中的主要区别。由于我们有许多基于位置的服务应用需要精确定位,MSA和MSB AGPS技术非常重要。这就是为什么你的智能手机同时拥有GPS和AGPS技术。


GPS与AGPS的综合比较

现在让我们整体比较GPS和AGPS。

从信息源开始比较:

  • GPS:使用GPS卫星信号。
  • AGPS:使用卫星信号以及通过基站传送的辅助服务器信息。

在速度方面:

  • GPS:可能需要几分钟来确定位置,但一旦开始,就能轻松更新。然而,在某些接收不良的情况下,如果无法找到位置,那么一旦获得四颗或更多GPS卫星信号,可能需要几秒甚至几分钟才能提供位置信息。
  • AGPS:通常更快,因为它从连接到辅助服务器的基站获取即时信息。基站和辅助服务器持续更新其信息,因此它们可以更快地传送信息。

在可靠性方面:

  • GPS:如果拥有足够的GPS信号,并且在晴朗天气下接收良好,可以达到1米以内的精度。
  • AGPS:精度略低于GPS。

其他方面:

  • 成本:GPS没有使用成本,而AGPS如果需要为服务付费,则需向移动通信服务提供商支付费用。
  • 应用范围:GPS用于从汽车、飞机、无人机到机器人、船舶等一切领域。而AGPS需要有移动通信服务提供,必须在提供移动通信服务和AGPS支持的区域才能工作,典型的移动通信覆盖范围就是AGPS的工作范围。此外,你需要智能手机或移动电话等智能设备才能获取AGPS信息。

其他全球导航卫星系统

除了GPS,还有其他全球导航卫星系统:

  • GLONASS:全球导航卫星系统,由俄罗斯空天防御部队运营,是一个用于车辆和航空导航的卫星导航系统。
  • BDS:北斗导航卫星系统,这是中国的第二代卫星导航系统。


总结

本节课中,我们一起学习了GPS和AGPS技术。我们了解了GPS需要四颗或以上卫星进行基本定位,以及在信号受限环境下的局限性。接着,我们深入探讨了AGPS如何利用移动网络辅助服务器来增强定位速度和可靠性,并详细分析了其两种主要类型:MSA(服务器端计算)和MSB(客户端计算)的工作原理与区别。最后,我们比较了GPS与AGPS在信息源、速度、精度、成本和应用范围上的差异,并简要介绍了其他全球导航卫星系统。理解这些技术对于开发和使用基于位置的服务至关重要。

45:9_2.6 显示器 📱

在本节课中,我们将要学习智能设备显示器的核心技术。我们将从保护玻璃开始,逐步深入到各种先进的显示技术,如AMOLED及其变种,以及其他关键的屏幕技术。

防碎玻璃

智能设备显示器的起点是防碎玻璃。它提供了一个无缝的界面,使得设备表面在整体形状上呈现无缝连接。此外,它提供了非常光滑、奢华的触感。这是它非常适合智能手机的原因。

因此,防碎玻璃被广泛使用。

康宁大猩猩玻璃是一种特殊的钢化防碎玻璃,具有抗刮擦特性。它的存在是为了防止深度划痕。对于玻璃来说,即使它非常坚硬、难以破裂,但如果出现一道深划痕,这里就会成为弱点。如果外力作用在这个弱点上,整块玻璃就可能从这里破裂。因此,需要保护以防止深度划痕,使其具备抗刮擦性非常重要,这整体上赋予了玻璃防碎的特性。

这项技术由康宁公司在2013年的国际消费电子展上推出。

疏油涂层

疏油涂层被用于iPhone等设备上。这是一种分子物理特性,能够排斥油脂。“疏油”意味着“惧怕油脂”。它被用于智能手机表面,以达到抗指纹和防污渍的效果。

我们的手指和脸上有油脂,化妆品中也含有油脂。当我们使用智能手机时,表面很容易变得油腻。为了防止这种情况,疏油涂层是一种能够排斥油脂的机制。因此,手上、脸上和手指上的油脂会留在皮肤上,而不会附着在手机上,使手机保持光亮清洁。

尽管投入了成本为智能手机表面制造这种高科技疏油涂层,但很多人仍会在手机表面使用保护膜或保护贴。这违背了这项昂贵技术的初衷,但这是用户的选择和普遍做法。然而,在原装表面上,疏油涂层具有你可能更喜欢的特殊功能和特性。

AMOLED显示技术

上一节我们介绍了屏幕的表面处理,本节中我们来看看屏幕本身的核心显示技术。AMOLED技术,即主动矩阵有机发光二极管技术,以及Super AMOLED技术,是三星电子非常擅长的优秀产品。

具体来看,AMOLED显示技术被用于电视和智能手机。OLED是有机发光二极管。这是一种使用有机化合物作为电致发光材料的薄膜显示技术。

增强体现在Super AMOLED技术上,它在AMOLED显示技术中集成了数字化仪。在早期的智能手机中,AMOLED显示屏上方有一个独立的触控检测层,但这带来了一些反射特性,并且增加了额外的一层,使得整体显示屏更厚,手机也随之变厚。因此,Super AMOLED技术将触控感应检测层(即数字化仪)集成到AMOLED层内部。

这带来了什么结果?其特性是显示屏更薄,使得智能手机也更薄,同时功耗更低。此外,Super AMOLED技术改善了阳光下的反射特性,提升了屏幕在户外的可视性,使其在户外更明亮、更容易观看。

接下来是Super AMOLED Plus,它使用传统的RGB条纹排列,而非Pentile RGBG矩阵。它提供了比Super AMOLED更明亮、更节能的性能,并被用于三星Galaxy S2智能手机。

然后是HD Super AMOLED技术,它支持高于1280x720分辨率的Super AMOLED显示屏,使用Pentile RGBG矩阵。这项技术用于三星Galaxy S3和Note 1。

Full HD Super AMOLED是Super AMOLED技术的下一步演进,基于1080p全高清分辨率的Super AMOLED显示屏。当我们谈论1080p全高清分辨率时,意味着我们有1920x1080个像素。这种Full HD Super AMOLED显示屏使用了Pentile RGBG矩阵,并采用了一种名为“钻石像素”的新子像素排列方式。它被用于三星Galaxy S4、S5和Note 3。

接着我们有WQHD Super AMOLED。这是WQHD分辨率,即高于2560x1440的Super AMOLED显示屏。它使用Pentile RGBG矩阵,并被用于三星Galaxy S6、S7、S8、Note 4、Note 5和Note 8。Note 8正是我们之前查看整体规格时看到的设备,如果你拥有Note 8,你的智能手机使用的就是这项技术。

其他显示技术

看过了AMOLED系列技术,现在我们来了解其他被使用的显示技术。当然,这些技术中的一部分已经包含在Super AMOLED显示技术中。

平面转换(IPS) 是一种用于液晶层分子取向的LCD屏幕技术。它在玻璃基板之间进行排列和切换。

其特点是色彩准确,并且从宽广的视角观看也能保持一致的图像。此外,当触摸屏幕时,屏幕上不会出现拖影或漏光效应。在旧技术中,当你触摸屏幕并移动手指时,你会看到光的轨迹跟随你移动,这就是我们所说的拖影。使用IPS技术可以消除这些效应。同时,IPS还能实现清晰的图像和稳定的响应时间。

LED背光LCD显示屏使用的是LED背光平板显示技术。与之前的CCFL(冷阴极荧光灯)背光LCD相比,这是一项改进,CCFL是LCD显示技术的旧版本。

以下是LED背光LCD带来的改进:

  • 图像质量提升,具有更高的动态对比度和更宽的调光范围。
  • 屏幕更薄,从而减轻了设备重量。

进一步的改进包括RGB LED背光。这带来了更广的色域。色域是人类眼睛可识别的颜色范围,这意味着你可以看到更多颜色。同时,它减少了热量排放,从而降低了功耗。这使得产品更可靠,使用寿命更长。

本节课中我们一起学习了智能设备显示器的关键技术。我们从保护玻璃和疏油涂层开始,了解了它们如何保护屏幕并提供良好触感。然后,我们深入探讨了AMOLED显示技术的演进,从基础AMOLED到各种Super AMOLED变体,以及它们如何实现更薄、更节能、显示效果更好的屏幕。最后,我们简要介绍了IPS和LED背光LCD等其他重要显示技术及其优势。这些技术共同构成了现代智能设备清晰、绚丽且耐用的视觉体验基础。

46:无线充电技术 🔋

在本节课中,我们将学习智能设备中使用的无线充电技术。我们将从介绍主要的行业联盟和标准开始,然后深入探讨两种核心的无线充电技术:电磁感应与磁共振,并比较它们的关键特性。


无线充电联盟与标准

无线充电技术的发展离不开行业联盟的推动。以下是几个主要的标准化组织。

无线充电联盟

无线充电联盟成立于2008年12月。其目标是创建一个通用的无线充电标准,使得各种移动电子设备可以放置在单一的电力传输垫上进行充电。该联盟采用的技术是电磁感应充电

其核心标准是 Qi 标准。其中“Qi”源自中文的“气”字,代表自然能量。WPC标准支持最远4厘米距离的感应式电能传输。

Qi标准包含以下两种功率规范:

  • 低功率标准:基础功率规范,最高可传输 5瓦 功率。
  • 中功率标准:扩展功率规范,最高可传输 15瓦 功率。

电力事务联盟

电力事务联盟是一个全球性的非营利性行业组织,由宝洁公司和Powermat Technologies于2012年创立。

其技术特点包括:

  • 感应耦合
  • 数字收发通信
  • 基于云端的电源管理

无线电力联盟

无线电力联盟成立于2012年。它开发了 Rezence 标准(其标志如图所示)。这是一个基于磁共振的无线电力传输接口标准。可以看到“Rezence”与“resonance”(共振)一词相似。

该标准支持最高50瓦的功率传输(这是一个显著的功率水平),传输距离最远可达5厘米

AirFuel 联盟

AirFuel 联盟由A4WP和PMA于2015年合并而成。A4WP和PMA的技术特点被整合进AirFuel联盟的统一标准中(使用如图所示的标志)。

该联盟开发了 AirFuel Resonant(共振)和 AirFuel RF(射频)无线充电技术。由于是两个标准的合并,因此它将感应式与共振式技术结合到了一个 AirFuel 标准 之下。


感应式与共振式技术对比

上一节我们介绍了主要的无线充电联盟,本节中我们来详细看看构成这些标准基础的两种核心技术:感应式与共振式。由于AirFuel标准合并了两种技术,因此我们需要考虑以下两种模式。

以下是感应式与共振式技术的对比:

特性 感应式 共振式
标准化组织 WPC, PMA (PMA已并入AirFuel联盟) A4WP (已并入AirFuel联盟)
充电功率传输频率 100 kHz ~ 300 kHz (基于WPC或PMA标准) 6.78 MHz (基于A4WP标准)
功率控制通信方式 带内分组通信:在此频率范围内交换数据包。 蓝牙低功耗:使用 2.4 GHz 频段传输控制数据包。由于未使用功率传输频率进行通信,这被称为带外通信
兼容标准 兼容 QiPMA 标准。 兼容 Rezence 标准。
关键特点 - 支持多设备充电自由定位是共振技术的代表性特点。

总结

本节课中,我们一起学习了智能设备的无线充电技术。我们首先了解了推动技术标准化的主要联盟,如WPC、PMA、A4WP以及合并后的AirFuel联盟。然后,我们深入探讨了两种核心的无线充电原理:电磁感应磁共振,并从标准化、工作频率、通信方式等方面对它们进行了详细的对比。特别是,共振式技术因其支持多设备充电和自由摆放的特点,展现了更大的应用灵活性。

47:11_3.1 移动通信演进(第1部分)📡

在本节课中,我们将学习移动通信技术从第一代到第二代的演进过程,重点关注其核心技术原理和关键特性。


概述 📋

我们将首先了解全球移动通信的演进趋势。本节内容从第一代模拟移动电话系统开始,逐步深入到第二代数字移动通信技术,包括GSM和CDMA。


第一代移动通信:AMPS 📞

我们首先介绍AMPS,即高级移动电话系统。这是第一代移动蜂窝电话。移动电话的历史由此开始。

这些技术基于FDMA和模拟信号。这意味着整体信道根据频分多址技术被划分为多个基于频率的子信道。在一个信道内,信号以模拟方式发送。

模拟方式通常指我们拥有的调制选项,例如频率调制相位调制,在某些情况下也结合幅度调制

AMPS由贝尔实验室开发,并于1983年在北美推出。


第二代移动通信:GSM 📱

上一节我们介绍了模拟的第一代移动通信,本节中我们来看看数字化的第二代技术。

接下来我们进入GSM,即全球移动通信系统。这是第二代移动蜂窝电话,基于数字技术。它于1991年在芬兰推出,并成为全球主导标准。

一旦进入数字领域,就可以实现一些附加功能。

以下是数字无线通信系统的主要优势:

  1. 错误检测:如果通信中存在错误,数字系统可以检测出错误位置。利用这一点,信息交换的可靠性得以提高。
  2. 压缩:可以对数据进行压缩。
  3. 时分多址:这带来了巨大优势。一旦采用TDMA,从整体信道划分出的一个子信道内,多个用户可以基于时间共享该子信道。

GSM占据了超过90%的市场份额,并在全球超过219个国家和地区运营。

GSM结合使用了FDMA和TDMA。FDMA是频分多址。因此,分配的整体频率信道被划分为多个块,这些就是子信道。

在第一代移动蜂窝通信AMPS中,这些子信道之一必须分配给一个用户。因此效率非常低。但当我们采用TDMA时,这些信道中的每一个都被划分为多个时隙。因此,一个子信道可以划分为多个时隙,由多个用户共享。这使得多个用户共享一个子信道以及整个频域的通信效率变得更高、更有效。这是通过FDMA和TDMA技术结合在GSM中实现的革命之一。

显然,你可以看到它为何在全球如此流行。

GSM服务包括语音通信,但也包括数据传输。在每秒9.6千比特的速率下,这是可能的,因为我们使用了数字技术,而数字技术的可用性是因为我们采用了基于FDMA架构的TDMA。

你还可以发送短消息服务。SMS从这里成为可能。数据传送和SMS成为基于第二代GSM技术的移动蜂窝电话上实现的两大主要功能。

此外,他们开始使用SIM卡。

什么是SIM卡?SIM卡是用户身份模块。它看起来像这样。或者当你购买SIM卡时,通常它可能看起来像一张大卡,但你可以把它弹出来,弹出这个小东西,然后插入你的移动蜂窝电话。这是一张可拆卸的智能卡。

它包含用户订阅信息,此外还包含电话簿,所以非常方便。

以下是SIM卡的优势:

  • 用户信息可移植:SIM卡使用户在更换手机后仍能保留用户信息。这意味着通过更换手机上的SIM卡,如果你有两张SIM卡并交换它们,那么你也交换了你的电话簿以及你对移动通信服务提供商的身份识别。这意味着你可以在使用同一部手机的同时更换你的移动蜂窝电话运营商。
  • 设备灵活性:例如,我有多部手机。这是红色的。这是蓝色的。这是白色的。根据我今天的时尚搭配,我今天穿黑色。那么我可能想要一部黑色的手机。然后我拿一部黑色的手机,把我的SIM卡放进去,这样我的时尚就和我的手机协调了。你可以做类似的事情。因此,SIM卡使你拥有这个选项,以及更换手机的选项。因为你放入手机的是什么SIM卡,就会激活手机连接到该蜂窝电话运营商的那种模式。

这是GSM技术的一个主要特性。


第二代增强技术:IS-95 (CDMA) 🔄

上一节我们探讨了基于FDMA/TDMA的GSM,本节中我们来看看另一种不同的多址技术。

然后我们进入一个更先进的系统,即IS-95。这是临时标准95,第一个基于CDMA的2G蜂窝标准。

我们谈论CDMA,什么是CDMA?CDMA是码分多址。这意味着,我们不使用FDMA和TDMA,而是使用代码来划分用户对频率信道的共享。

因此,这能很好地对抗窄带干扰和多径信号衰落。所以通信质量、比特错误数(因为我们在第二代移动电话中使用数字技术)可以显著减少。

以下是CDMA的主要优势:

  • 抗干扰:来自其他设备的干扰,因为邻近小区有其他设备使用相同频率,它们的信号可能进入我们的小区、邻近小区,并干扰我的设备与基站之间的通信。这种类型的干扰可以被消除,大部分可以通过使用CDMA技术减少。
  • 抗多径衰落:多径信号衰落。当我把信号从我的手机发送到基站时,那个信号会从墙壁和建筑物周围的其他物体上反弹,并通过多次到达基站,使信号变得模糊。此外,相反方向也会发生同样的事情。从基站发送的信号将通过多径衰落到达我的手机,它会从地板、墙壁和其他地方反弹。因此,信号。当我发送一个信号时,就像我收到多个信号的回声,干扰之后将要发送的比特。所以,有一个长尾、有回声并不好,而这通过CDMA技术显著消除了多径信号衰落。信号会因多径信号分布而衰落,而这通过CDMA技术被大量消除,这使得手机性能更高。

CDMA1是IS-95手机的品牌名称,由高通公司开发。和记黄埔于1995年在香港推出了第一个商用CDMA1网络。

IS-95业务信道支持语音或数据,速率高达每秒14.4千比特。


总结 ✨

本节课中我们一起学习了移动通信从第一代到第二代的演进。我们了解了第一代AMPS的模拟FDMA技术,第二代GSM如何结合数字技术、FDMA和TDMA实现了更高的效率和短信等功能,以及IS-95 (CDMA)如何利用码分多址技术来对抗干扰和多径衰落,提升了通信质量。这些基础技术为后续更高速的移动通信发展铺平了道路。

48:12_3.1 移动通信演进(第2部分)📡

概述

在本节课中,我们将学习第三代移动通信技术(3G)的核心标准,包括UMTS、WCDMA和CDMA 2000。我们将了解这些技术如何从2G演进而来,以及它们带来的关键改进,例如更高的数据速率、服务质量(QoS)控制和向后兼容性。


从GSM到UMTS的演进 🚀

上一节我们介绍了2G技术,本节中我们来看看第三代移动通信的开端。UMTS,即通用移动通信系统,标志着我们进入了第三代移动通信时代。

UMTS技术是在GSM技术的基础上演进而来的。技术采用演进路径具有显著优势:当用户进入一个支持UMTS的蜂窝通信区域时,设备可以使用UMTS;如果该区域尚未部署UMTS,但覆盖了之前的2G技术(如GSM),设备则可以自动回退并使用GSM网络。这种能力源于新标准是旧标准的演进。

我们称这种特性为向后兼容性。当前我们使用的手机也具备这种向后兼容的选项。


UMTS的支撑技术:UTRA 📶

UMTS的无线接入部分由UTRA(UMTS陆地无线接入)技术支撑,它支持多种不同的陆地空中接口。

UTRA支持的多址接入方式包括FDD和TDD。

  • FDD:代表频分双工,是FDMA技术的进阶。
  • TDD:代表时分双工,是TDMA技术的进阶。

第三代核心:WCDMA 📲

接下来,我们聚焦于第三代移动蜂窝系统的核心之一——宽带码分多址接入,即WCDMA。

WCDMA是一种使用UTRA FDD模式的第三代移动蜂窝系统。它基于3GPP Release 99标准,数据速率最高可达2 Mbps。与之前2G时代每秒数十千比特的数据速率相比,进入3G意味着我们迈入了每秒兆比特级数据连接的新维度。

WCDMA的首个商用网络于2001年在日本开通。它带来了多项重要改进:

以下是WCDMA支持的关键特性:

  1. 支持语音和分组数据应用的无缝移动性。
  2. 实现了服务质量差异化,以提升服务交付效率。
  3. 能够同时支持语音和数据业务。

后两点尤为重要。服务质量差异化意味着,如果某个用户或应用需要更高的数据速率或更好的服务质量,网络能够予以支持。同时支持语音和数据则允许用户在通话期间同时收发数据信息,例如接收短信。

此外,WCDMA能够与现有GSM网络协同工作,这再次体现了其作为GSM技术演进所带来的向后兼容性


另一条3G路径:CDMA 2000 🔄

除了基于GSM演进的路径,第三代移动通信还有另一条重要分支,即CDMA 2000。

CDMA 2000是另一个第三代移动蜂窝系统,由3GPP2标准化。它是IS-95 CDMA(一种2G技术)的演进版本,采用了码分多址和时分多址技术。之前的“宽带”CDMA(WCDMA)带宽宽于5MHz,而CDMA 2000使用的带宽窄于5MHz,因此直接称为CDMA。该技术最初在北美和韩国使用。


CDMA 2000的演进:1x EV-DO ⚡

在CDMA 2000的基础上,增加了1x EV-DO技术。EV-DO代表“演进数据优化”,旨在为CDMA 2000增加一个优化的数据通信演进技术。

1x EV-DO使移动蜂窝网络的数据速率达到了2.4 Mbps。该技术于2002年1月在韩国推出。

深入来看,1x EV-DO被认为是首个基于国际电信联盟标准被正式认可的3G系统。这意味着,为了被正式承认为2G、3G、4G或5G技术,需要通过认证,满足数据速率和特定功能方面的性能要求。在第三代移动通信技术中,CDMA 2000 1x EV-DO是首个获得国际电信联盟认证、确认其性能达到第三代要求的技术。


关于国际电信联盟(ITU)🌐

这里提到的ITU是国际电信联盟的缩写。它是联合国负责信息通信技术的专门机构。

在ITU内部,有一个电信标准化部门。因此,当你看到第三代、第四代或第五代技术时,常会见到“ITU-T标准化”或“ITU-T批准认证”的术语,这里的“T”就代表电信标准化。


总结

本节课我们一起学习了第三代移动通信(3G)的关键技术。我们了解了UMTS作为3G的入口及其向后兼容的重要性,探讨了WCDMA如何从GSM演进并带来了兆比特级数据速率、服务质量控制和语音数据并发能力。同时,我们也认识了另一条技术路径CDMA 2000及其演进版本1x EV-DO,并了解了国际电信联盟在技术标准认证中的角色。这些演进为移动通信开启了高速数据应用的新时代。

49:13_3.1 移动通信演进(第3部分)📡

在本节课中,我们将继续学习第三代移动通信(3G)的演进技术,重点介绍HSDPA、HSPA+等增强协议,并解释其背后的关键技术原理,如MIMO和高阶调制。


上一节我们介绍了3G的初步发展,本节中我们来看看3G的增强型技术。

首先介绍HSDPA,即高速下行链路分组接入。这是一种增强的3G移动通信协议,是UMTS的演进,旨在提供更高的数据速度和容量。它属于HSPA协议家族。HSPA是高速分组接入,其中包含高速下行链路分组接入(HSDPA)和高速上行链路分组接入(HSUPA)。

下行链路是指信号从基站下行到您的移动蜂窝设备。通常,基站位于高塔或建筑物顶部,位置较高且连接到骨干网络,因此无论是位置还是网络连接性,它都是一个更高的实体。从基站下行到移动设备的信号称为下行链路。您的移动蜂窝设备发送到基站的信号则称为上行链路。当然,在某些情况下,基站的位置可能低于移动设备用户。

高速下行链路分组接入于2005年实现商用网络。基于第5版标准,其峰值数据速率达到14 Mbps。可以看到,基于3G的这些新技术进步,数据速率已进入每秒数十兆比特的范围。

我们还有EV-DO Revision A,其下行链路峰值数据速率为3.1 Mbps,上行链路为1.8 Mbps。上下行链路均达到了兆比特每秒的量级。该技术于2006年10月在美国推出。

以下是该技术的一些代表性移动蜂窝手机示例。

一项主要特性是基于低延迟和低比特率通信支持的VoIP。VoIP是指通过传统网络发送语音,但您可以选择将语音信号封装在IP数据包中进行传输。这意味着,从第三代移动通信蜂窝网络开始,基于此技术的实现,既支持传统的基于TDMA的语音通信骨干网络,也支持基于IP的网络连接。这些网络技术分别称为传统网络的GRAN和基于IP技术的UTRAN。第三代移动网络在区域中叠加了这两种网络,以同时支持非IP技术和IP技术。现在我们不仅有基于IP的数据,还有基于IP的语音,即您在此看到的VoIP。

进一步深入细节,增强型接入信道MAC(媒体接入控制)减少了连接建立时间。多用户分组技术使得多个用户能够共享同一个时隙。之前我们讨论过通过FDMA划分频率信道,然后在一个子信道中,通过TDMA分配时隙,为用户分配周期性的时隙用于上下行链路。现在我们讨论的是,即使对于其中一个时隙,也存在一种方式可以让多个用户共享。因此,使用同一信道的效率自动提高,因为我们现在实现了资源共享,这非常有益。此外,还包含了用于服务质量控制的服务质量标志,这意味着内部使用了标志,以便您可以控制服务质量的分配。

需要指出的是,媒体接入控制(MAC)是一种技术,用于共享相同时隙。它着眼于时间、空间、频率或码等特定资源,并智能地决定如何使用,以避免干扰其他用户,在满足自身通信需求的同时,也满足他人的通信需求。这就是媒体接入控制技术,即MAC。利用该技术,我们可以实现时隙的时间共享。


接下来我们看看HSPA+,末尾的“+”号通常意味着它更优。演进的高速分组接入,从其名称中的“演进”一词和“+”号即可看出。

HSPA+全IP网络于2009年首次在香港推出,这意味着现在的移动蜂窝网络完全基于IP。因此,我们可以非常方便地将该基于IP的网络与当地的互联网对接。

HSPA+使用W-CDMA,这是一种基于UMTS的3G技术及其增强功能。HSPA+是HSPA的演进,从名称即可知。

其峰值数据速率达到:从基站到移动蜂窝手机的下行链路为168 Mbps,上行链路为22 Mbps。这里的演进是明显的。峰值数据速率现在已达到数百兆比特每秒,用于从基站到移动设备的下行链路;而上行链路也达到了舒适的每秒数十兆比特量级,这是从移动设备到基站的速率。

您可能会想,为什么下行链路速率总是大于上行链路?这是因为下行链路信号是从基站发送到您的移动蜂窝设备。基站功率更大,通常位置更高,这意味着它拥有更好的信道将信号发送到移动设备。因此,由于这些优势,可以实现更高的数据速率。而上行链路是从移动蜂窝设备发送到基站的信号,移动设备电池小,不能发射太强的信号(因为靠近用户,需注意辐射问题),并且其位置较低,可能位于建筑物之间或内部。因此,返回基站的信号接收效果不佳。这就是为什么上行链路的数据速率大小总是低于下行链路。


是什么实现了这种更高的性能?是MIMO技术,即多输入多输出。这里的“多”指的是应用于通信链路的天线数量。这意味着我们在接收端和发射端都使用多个天线来协调通信。

为什么使用MIMO?MIMO在发射端和接收端使用不相关的多个天线,在占用与单天线系统相同带宽的情况下,提高数据速率。从这句话可以得知,以前的移动蜂窝手机通常只使用一根天线,基站可能有多根天线,但通常只用其中一根与您收发信号。因此,我们之前是一根天线与另一根天线通信,以满足所有先前通信技术的需求。但从现在开始,它使用MIMO技术,通过多个天线实现更高性能。这意味着现在我的移动设备和基站都有多组天线供多个用户共享,并在此进行良好协调,以实现更高的数据速率。

请注意,这个数据速率是峰值数据速率,即可以为用户发送的最大数据速率。因此,您的移动设备实际获得支持的速率可能并非精确的峰值速率,该技术可能会在多个用户之间灵活地共享这个峰值速率。

更高的数据速率通过MIMO技术实现,该技术使用了多天线技术。它还使用了高阶调制——64 QAM。64 QAM是一种技术,其中我发送的每个符号包含多个比特。它内部记录了64个符号,我选择其中之一来代表在一次传输符号中一起发送的一串比特。通常,当提到64 QAM时,2的6次方等于64。这意味着我有6个比特(实际上,一个字节是8比特,但这里6比特映射为一个调制符号)映射到一个调制符号中,每次我可以发送64个符号中的一个,该符号将被解码为6个比特。

此外,还使用了双小区HSDPA来将多个小区合并为一个。


本节课中我们一起学习了3G增强技术,包括HSDPA和HSPA+协议,了解了其峰值数据速率的显著提升。我们探讨了实现这些提升的关键技术:MIMO通过多天线系统提高频谱效率,64 QAM高阶调制在每个符号中承载更多数据。同时,我们也理解了上下行链路速率差异的原因,并认识了VoIP、MAC等支撑移动通信演进的重要概念。这些技术进步为后续更高速的移动通信标准奠定了基础。

50:14_3.1 移动通信演进(第4部分)📡

概述

在本节课中,我们将继续学习移动通信技术的演进,重点介绍EVDO Rev. B技术的特点与优势,并初步了解长期演进技术及其后续发展。


上一节我们讨论了EVDO Rev. A技术。本节中,我们来看看其升级版本——EVDO Rev. B。

EVDO Rev. B于2010年首次在印度尼西亚部署。它是Rev. A的多载波演进版本,每个载波都能提供高数据速率。

  • 每个载波的下行峰值速率可达 4.9 Mbps
  • 每个载波的上行峰值速率可达 1.8 Mbps

EVDO Rev. B性能优异,因为它通过跨信道的统计复用降低了延迟。这意味着,在之前的版本中,当多个信道需要发送数据时,它们会被分配固定的时隙,这些时隙专属于特定用户。如果某个用户没有数据要发送,该时隙就会空闲并被浪费。

以下是统计复用的核心思想:

在统计复用中,有数据要发送的设备会将其数据放入队列,系统按队列顺序发送数据。
因此,几乎没有时隙被浪费。

因此,资源使用效率得到提升。这意味着延迟降低,服务质量得到改善。

此外,EVDO Rev. B技术还实现了更长的通话时间和待机时间。它通过混合频率复用技术,减少了小区边缘和相邻扇区之间的干扰。因此,小区边缘的服务质量得到显著增强。

EVDO Rev. B再次提供了更高效的非对称数据速率支持。非对称意味着下行链路和上行链路的数据速率不同。你甚至可以拥有更高的非对称能力灵活性,例如进一步增加下行速率,或略微降低以下行速率来支持更高的上行数据速率。

非对称服务需求来源于文件传输、网页浏览、多媒体内容交付等场景。例如,浏览网站时,你并非时刻都需要下行数据。但当需要下载内容时,则需要大量的下行容量。下载完成后,可能暂时不再需要大量下行数据。此时,上行链路可以利用剩余容量,以更快的数据速率从移动设备向基站发送数据。


接下来,我们的主题是长期演进技术。目前许多可用的设备都基于这项技术。

LTE于2010年在北美推出,首发设备是三星SCH-R900。它同时在GSM和CDMA移动运营商网络部署,因此向后兼容3G和2G设备及网络。

基于Release 8标准,其峰值数据速率如下:

  • 下行:300 Mbps
  • 上行:75 Mbps

可以看到,峰值数据速率范围显著提升,下行达到数百Mbps量级,上行也达到75 Mbps量级。


然后我们有了LTE-Advanced。从这个标准开始,被认为是第四代移动通信技术。它基于国际电信联盟的IMT-Advanced进程。在这一整体分类下,该技术基于Release 10的峰值数据速率如下:

  • 下行:3 Gbps
  • 上行:1.5 Gbps

由此可见,进入第四代移动通信,我们的峰值上下行数据速率达到了Gbps量级。从第二代的Kbps,到第三代的Mbps和数十Mbps,现在我们进入了第四代的Gbps范围。


在后续课程中,我将更详细地讨论LTE、LTE-Advanced以及未来的第五代移动通信技术的细节。

LTE-Advanced采用了高阶MIMO技术,例如使用4x4或更多天线。这意味着移动设备上有4根天线,基站上也有4根或更多天线。这允许多个载波被绑定成单一数据流,从而实现上下行Gbps量级的数据速率。

这些是我使用的参考文献。在接下来的课程中,我将更专注于第四代移动通信LTE/LTE-Advanced以及未来的第五代移动通信5G。请深入了解这些内容,因为这是未来,也是所有资金将投入的方向,用于发展高级移动通信服务。我将深入探讨这些细节,非常感谢。


总结

本节课我们一起学习了移动通信从EVDO Rev. B到LTE,再到LTE-Advanced的演进过程。我们了解了EVDO Rev. B如何通过统计复用提升效率,以及LTE和LTE-Advanced如何将移动数据速率从Mbps时代带入Gbps时代,为后续更先进的通信服务奠定了基础。

51:15_4.1 移动通信切换 📶

在本节课中,我们将重点学习第四代和第五代移动通信技术。但在深入细节之前,我们首先需要了解移动通信中的切换技术。

移动电话的演进历程我们之前已经介绍过。这里简要回顾一下:第一代是AMPS技术。第二代是基于GSM和I-95的技术,其中包括CDMA1。第三代技术包括UMTS,它采用了WCDMA技术,CDMA2000也属于这一代。

接下来是第四代技术,它包括了LTE技术。然而,仅就数据速率和延迟等规格而言,LTE本身不足以被完全认可为第四代技术。但当引入了载波聚合等技术后,LTE-A就完全符合第四代技术的标准了。在本课程中,我们将详细探讨LTE、LTE-A以及第五代5G技术。

首先,我们来了解下行链路和上行链路。下行链路是指信号从基站传输到移动设备。基站通常位于建筑物的顶部,站体本身很高,或者安装在屋顶等能提供广阔区域良好接收的位置。由于基站通常比用户位置更高,因此可以这样理解:下行链路是从基站到移动用户。

而上行链路则是从移动用户的手机、笔记本电脑、平板电脑或其他设备传输到基站。在后续讨论中,我们将参照这个模型来使用下行链路和上行链路的概念。

此外,还有一个重要概念是小区范围。这是指移动设备能够基于信号强度,与基站建立足够质量的上行和下行连接的范围。因此,小区范围也是决定何时需要进行切换的关键因素。当你到达小区范围的边缘时,就需要进行切换。

当用户从蓝色小区移动到橙色小区边缘时,主要有两种切换方式。

第一种是硬切换。硬切换发生在你到达蓝色小区边缘、信号变弱时。此时,你会寻找并连接到另一个小区,并瞬间从原小区切换到新小区的基站。断开旧连接和建立新连接的过程是瞬时完成的,但切换的决定是明确的,因此称之为硬切换。进入新小区后,你就自动连接到新基站,并使用其连接进行语音和各种应用的数据通信。

第二种是软切换,情况略有不同。当你接近蓝色小区边缘并进入橙色小区范围时,在断开与原小区的连接之前,你会先建立与新小区的连接。由于这个原因,这也被称为“先接后断”。因此,在小区边缘的某一时刻,你会同时连接到两个基站。随着你完全进入新基站的覆盖区域,你就使用已建立的新连接,并断开与原基站的旧连接。这被称为软切换。它采用“先接后断”的方式,在切换瞬间保持与两个基站的连接。

由于在切换时需要同时保持与两个基站的连接,这类设备很可能需要双调制解调器:一个用于连接原基站的射频链路,另一个用于连接新目标基站的射频链路。

以上是我所参考的资料。基于这些信息,我们将在接下来的课程中深入探讨4G和5G技术。谢谢。


本节课总结

本节课我们一起学习了移动通信中的核心概念。我们首先回顾了移动通信技术的代际演进,然后明确了下行链路(基站到设备)和上行链路(设备到基站)的定义,并引入了小区范围的概念。最后,我们详细讲解了两种关键的切换技术:硬切换(瞬时切换)和软切换(先接后断),为后续深入学习4G和5G技术奠定了基础。

52:16_4.2 LTE简介(第1部分)📡

在本节课中,我们将要学习长期演进技术的入门知识,即LTE。我们将从LTE的基本要求开始,并将其与更先进的4G技术进行对比,最后探讨LTE的网络架构。


LTE的基本要求

LTE代表“长期演进”。其设计基于一系列明确的技术要求,主要围绕数据速率、延迟和频谱效率。

以下是LTE的核心要求:

  • 下行链路数据速率目标:100 Mbps
  • 上行链路数据速率目标:50 Mbps
  • 低延迟:小于5毫秒
  • 高频谱效率
  • 频谱灵活性:能够根据用户需求,动态且自适应地调整分配给每个用户的带宽。


LTE与LTE-Advanced的对比

上一节我们介绍了LTE的基本要求,本节中我们来看看其更先进的版本——LTE-Advanced。LTE-Advanced通常简称为LTE-A,被认为是真正的第四代移动通信技术。

以下是LTE与LTE-A的关键参数对比:

  • 下行链路数据速率
    • LTE:300 Mbps
    • LTE-A:3 Gbps
  • 上行链路数据速率
    • LTE:75 Mbps
    • LTE-A:1.5 Gbps
  • 下行链路频谱效率
    • LTE:约 16 bps/Hz
    • LTE-A:约 30 bps/Hz
  • 上行链路频谱效率
    • LTE:约 4.32 bps/Hz
    • LTE-A:约 15 bps/Hz
  • 带宽
    • LTE:支持1.4, 3, 5, 10, 15, 20 MHz等离散频段。
    • LTE-A:在带宽使用上具有更高的连续灵活性,能更自适应地满足用户需求。

LTE-A在数据速率上实现了数量级的提升,从百兆比特每秒进入吉比特每秒范围,这使其符合4G技术的标准。此外,其支持的同时活跃用户数也大幅增加,并且在小区边缘的性能得到显著改善(至少2.4 bps/Hz/小区)。小区边缘是信号最弱、需要进行切换的区域,改善此处的性能对提升整体网络质量至关重要。


LTE的网络架构

了解了性能指标后,我们现在来探讨实现这些功能的网络架构。LTE架构同样被LTE-A所采用(并有所增强)。

LTE网络基于一个分层的系统,主要分为两大部分:演进分组核心网和无线接入网。

以下是LTE网络架构的主要组成部分:

  1. 用户设备:这是我们直接使用的终端设备,例如:

    • 智能手机、智能手表
    • 智能汽车(如自动驾驶车辆)
    • 平板电脑
    • 笔记本电脑或个人电脑
    • 物联网设备或无人机
    • 智能交通系统中的车载单元和路侧单元设备
  2. 演进分组系统:这是连接到互联网的整个系统,包含以下两个单元:

    • 演进分组核心网:这是网络的核心控制部分,负责管理网络服务、用户设备的互联网连接,并支持在切换过程中的无缝连接,同时致力于最小化数据包延迟和丢失。它包含诸如P-GW、HSS、MME、S-GW和PCRF等功能实体。
    • 演进通用陆地无线接入网:这部分负责管理无线接入网络和无线信道。其核心网元是eNodeB

eNodeB是4G移动通信中的基站术语,它是“演进型Node B”的缩写。这里有一个命名惯例:每一代移动通信技术都给基站起了独特的名字,以便从名称上就能明确其所属的技术标准和基本功能集。

  • 1G:基站
  • 2G:基站收发台
  • 3G:Node B
  • 4G:演进型Node B

本节课中我们一起学习了LTE技术的基本要求、其与LTE-Advanced的关键性能对比,以及LTE网络的基本架构。我们了解到LTE-A在数据速率和频谱效率上的巨大提升使其成为真正的4G技术,并且LTE网络通过分层的演进分组核心网和无线接入网来支持高速数据传输和移动性管理。

53:17_4.2 LTE简介(第2部分) 📡

在本节课中,我们将继续学习LTE网络架构的核心组成部分,即演进分组核心网。我们将详细介绍其中的关键网元,包括分组数据网络网关、服务网关、移动性管理实体、归属用户服务器以及策略与计费规则功能单元。理解这些组件如何协同工作是掌握LTE网络工作原理的基础。

上一节我们介绍了LTE网络的整体架构,本节中我们来看看演进分组核心网内部的具体功能单元。

分组数据网络网关

我们首先介绍分组数据网络网关,即PGW。这个单元位于此处。

它是将整个演进分组系统连接到互联网的单元。因此它是一个关键的组成部分。

用户设备的IP地址分配由PGW负责。此外,它是非3GPP切换的移动性锚点。非3GPP切换指的是什么?这里看到的基础架构基于3GPP标准。3GPP是一个标准化组织,最初专注于第三代移动通信技术的标准化,并延续到第四代和第五代移动通信技术。

因为它始于第三代合作伙伴计划,其缩写为3GPP,因此得名。当我们说非3GPP切换时,我们指的是切换到蓝牙、Wi-Fi以及其他不属于3G、4G或5G的3GPP标准的技术。

因此,如果你正在使用Wi-Fi通信并需要切换到LTE,或者你正在使用LTE进行IP语音通话,然后切换到使用Wi-Fi来继续你的IP语音会话或视频聊天,那么这种切换必须由PGW支持。

策略执行和服务质量执行由PGW进行。此外,也支持数据包过滤。需要指出的是,对于PGW,在一些地方你会看到带连字符的PDN-GW或不带连字符的PDN网关。

PDN代表分组数据网络,网关是GW。所以在一些论文、文档、白皮书、规范中,你会看到带连字符的PGW、带连字符的PDN-GW或不带连字符的PDN GW,但你需要知道它们指的都是这个单元。

服务网关

接下来是第二个关键单元块,即服务网关。

服务网关负责数据包路由和转发。它是eNode B间切换的移动性锚点。这意味着,在这个服务网关的例子中,你看到连接了两个eNode B。如果用户设备正在进行切换,并且正好处于两个小区的边缘,那么无论是软切换还是硬切换,这个服务网关都将支持切换的锚定,因为这两个eNode B都连接到此服务网关,由它来进行切换支持是合适的。

此外,它收集用于计费的信息。这当然很重要。大多数通信服务提供商以此盈利。因此,计费对他们来说是最关键的事情。

移动性管理实体

然后是移动性管理实体,即MME,也就是这里的这个单元。你可以看到它连接到服务网关,并且在背面还连接着HSS。

用户认证由此单元完成。它确认用户是有效用户,并应允许其接入我们的网络。

以下是MME的其他关键功能:

  • 漫游服务:自然漫游是移动性支持。当你漫游到其他地点,即使这个用户在其通常不会去的不同国家或地区,你也希望能够快速识别该用户并建立和支持连接,这就是我们所说的漫游。漫游当然是移动性管理的关键组成部分。
  • 信令控制:它控制并处理用户设备与演进分组核心网之间的信令。用户设备是你的终端设备。演进分组核心网是这里的这个单元块。需要注意的是,当我们说信令时,信令是来回发送的控制消息,它们包含各种支持移动设备切换、切换和服务质量的控制信息。

归属用户服务器

下一个单元是归属用户服务器。它包含一个支持用户签约信息的数据库。

理解HSS操作及其实际功能的一种方法是与3G网络的处理模块进行比较。一个是归属位置寄存器,另一个是认证中心,这两者都是支持第三代移动通信网络的主要模块。

深入了解这两者将让你了解第四代LTE网络的HSS实际做什么。

首先,3G网络中的HLR存储所有用户签约信息,例如用户ID、手机号码、地址等。然后是3G系统中的AUC,即认证中心,它基于用户身份密钥控制安全信息。换句话说,基于你的用户身份的私钥、公钥在需要时用于信令和数据通信的安全。

以下是其核心安全功能:

  • 双向认证:这意味着它是相互的。当网络准备允许一个用户设备连接时,首先,网络会认证该用户是有效用户。其次,当用户连接到一个网络时,它会检查该网络是否是有效网络,是否是我应该使用的正确网络。因为在许多地区,我们有不止一家移动服务提供商。因此,你想连接到正确的网络,这就是我们所说的“双向”——网络检查用户设备,用户设备检查网络。只有当双方都认可彼此时,双向认证才完成,用户和网络连接在一起。
  • 无线链路加密与完整性保护:由AUC执行。

HLR和AUC这两个单元的功能,在LTE网络中由HSS共同完成。通过这种方式,你可以理解3G网络中发生了什么以及4G LTE网络中正在发生什么。

策略与计费规则功能单元

还有另一个单元,就是这里的这个,即PCRF,策略与计费规则功能单元。

服务质量和计费策略控制由此单元执行。再次强调,移动服务运营商的存在是为了盈利,为了赚钱。用户会预先注册服务计划,并可能基于保证使用时长享受折扣,按月付费。

这就是我们所说的基于用户的服务计划。根据你的服务计划,它将决定服务质量的类型,并跟踪你的使用情况。因此,如果你超出了服务计划限制需要支付更多费用,那么基于PCRF的跟踪功能,将进行相应的定价和计费。

本节课中我们一起学习了LTE演进分组核心网的五个关键组件:PGW负责互联网连接和IP分配,SGW负责数据路由和切换锚定,MME负责用户认证和信令管理,HSS作为用户信息和安全中心,PCRF则管理服务质量和计费策略。这些组件共同构成了LTE网络高效、安全运行的基础。

54:18_4.3 LTE组件 🛠️

概述

在本节课中,我们将学习构成LTE高性能基础的关键技术组件。我们将深入探讨OFDM、OFDMA、MIMO、切换与数据包转发等核心概念,了解它们如何协同工作以实现高速、可靠的移动通信。


OFDM:正交频分复用 📡

上一节我们介绍了LTE的整体架构,本节中我们来看看其物理层的基础技术:OFDM。

OFDM,即正交频分复用,是一种使用紧密排列的正交子载波信号来传输数据的技术。这些信号以正交形式排列,如下图所示,它们相互重叠。

理论上,重叠会产生干扰。然而,这项技术的美妙之处在于,在某个子载波信号的峰值点,所有其他重叠的子载波信号恰好处于零点。这种正交关系意味着当一个信号处于峰值时,与其重叠的其他信号正处于零点。

因此,这些信号之间的相关性极低,具有独立性。这使得我们可以从这些密集重叠的子载波频率中提取信息。

OFDM的优势包括:
以下是OFDM技术的主要优势:

  • 抗干扰能力强:对窄带干扰和频率选择性衰落等恶劣信道条件具有强韧性。这对于维持通信链路至关重要。
  • 高频谱效率:由于使用了密集排列的正交重叠子载波,频谱利用率非常高。
  • 信道均衡简单:得益于其正交特性,信道均衡过程得以简化。

OFDMA:正交频分多址接入 📊

上一节我们介绍了OFDM,本节中我们来看看它的演进版本:OFDMA。

OFDMA,即正交频分多址接入,是OFDM的进阶技术,提供了更高的灵活性。它将子载波资源块动态分配给多个用户。

在下图中,纵轴代表频率,被划分为多个子信道;横轴代表时间,被划分为时隙。用户1、2、3被分配了不同颜色的资源块。

用户1使用分配给它的蓝色块,用户2使用橙色块,用户3同理。这些资源块分散在整个频域和时间域中,是动态分配的。

OFDMA的优势包括:
以下是OFDMA技术的主要优势:

  • 自适应载波分配:可以根据用户需求动态分配更多或更少的资源。
  • 高频谱效率:任何空闲的时频资源块都可以被分配给需要的用户使用,避免了资源浪费。
  • 低子载波间干扰:基于OFDM/OFDMA技术,子载波间的干扰很小。

MIMO技术与预编码 📶

除了高效的复用技术,LTE还使用MIMO技术来提升数据速率。

MIMO,即多输入多输出技术。“多输入”指发射端使用多个间距足够、互不相关的天线,将多个信号发送到无线信道中。“多输出”指接收端同样使用多个间距足够的天线,接收信道的输出信号。

其核心思想是,在相同的时间和频段内,通过预编码技术,从不同的天线发送不同的信息流。MIMO技术本质上是多次利用信道,利用了多天线在信道上的不相关特性。

MIMO的优势包括:
以下是MIMO技术的主要优势:

  • 提升可靠性:增强了系统操作的可靠性。
  • 提高频谱效率:通过在相同时间频率资源上发送不同数据,复用信道。
  • 增加数据速率:这是其最直接的效果。

预编码的作用是将调制符号映射到不同的天线上,以便在MIMO信道上高效地发送它们。


切换与数据包转发 🔄

在移动通信中,当用户设备从一个基站覆盖区移动到另一个时,需要无缝切换连接。

在下图示例中,顶部的源基站决定发起切换。触发切换的条件可能包括:源基站信号强度低于某个阈值(橙色虚线),或者目标基站信号强度上升到某个水平(红色虚线),或者两者结合。

切换和数据包转发过程非常关键,它能防止切换期间的数据丢失。这个过程会缓冲并转发未成功交付的数据包给用户设备。

以下是切换与数据包转发的步骤:

  1. 决定并转发:当源基站决定切换时,它会停止向用户设备发送新数据包,并将未送达的数据包缓存并转发给目标基站。
  2. 目标基站交付:目标基站接收到这些数据包后,将其发送给用户设备。

需要强调的是,这个过程不会发生数据包丢失。所有在切换前未送达的数据包,都会通过目标基站安全可靠地送达用户设备。

然而,这并不意味着所有数据包都“有用”。这就引出了“时延界限违规”的概念。某些应用要求数据包必须在特定时间窗口内到达。如果数据包因延迟超过这个窗口才到达,即使它完整无误,也可能被丢弃,因为它已经失去了时效性。


时延界限违规示例:MBMS服务 🎥

上一节我们提到了时延界限违规,本节我们通过一个具体例子来理解它。

MBMS,即多媒体广播多播服务,利用了LTE高效的点对多点分发特性。广播指向特定范围内的所有用户发送;多播指向基于订阅等条件筛选的特定用户组发送。

许多MBMS服务都受到数据包时延界限违规的影响。以视频广播为例:

假设一个低质量视频流为每秒20帧。这意味着每帧图像的持续时间是50毫秒。接收端需要在这50毫秒内收集、解码并重建该帧图像。

如果某个数据包延迟超过50毫秒才到达,那么即使它没有错误,对于重建当前这帧图像也已经无用,因为系统已经开始处理下一帧(下一个50毫秒窗口)的数据了。因此,该数据包会被丢弃。

对于这个例子,时延界限就是50毫秒。实际传输和处理数据包的允许延迟必须小于50毫秒。


总结

本节课中,我们一起学习了LTE实现高性能的几大核心技术组件。我们了解了OFDM如何利用正交子载波高效抗干扰,OFDMA如何动态分配资源提升频谱效率,MIMO如何通过多天线提升数据速率和可靠性,以及切换与数据包转发机制如何保证移动中的连接无缝和低丢包率。最后,我们通过MBMS服务的例子,理解了时延界限对实时应用的重要性。这些技术共同构成了现代高速移动通信的基石。

55:19_4.4 LTE-Advanced(第1部分)📡

在本节课中,我们将学习LTE-Advanced技术中的几个核心增强特性,包括小区间干扰协调、动态子载波分配以及多点协作技术。这些技术旨在提升网络性能,特别是在小区边缘等信号较弱的区域。

上一节我们介绍了LTE的基本原理,本节中我们来看看LTE-Advanced如何通过更智能的资源管理来提升性能。首先,我们从ICIC和FFR开始。ICIC代表小区间干扰协调,FFR代表部分频率复用。

ICIC通过FFR来缓解小区边缘因小区间干扰导致的数据速率下降问题。这句话可能有些难以理解,我们可以通过一个示意图来使其更清晰。

请看这里的图示。当你处于小区边缘时,这里的性能是最弱的。在蜂窝结构的中心,即图中的绿色区域,信号电平低于蓝色、红色或橙色区域。这意味着在每个小区的中心附近使用了较低的发射功率,因为这里靠近基站,信噪比良好,因此即使使用较弱的功率也能获得高质量的数据服务。

然而,当需要在小区边缘支持高质量数据通信时,蓝色、红色和橙色区域的功率电平就高于绿色区域。这意味着在小区边缘使用了更强的功率。移动通信在小区边缘确实非常困难,这也是为什么我和实验室的工程师们将切换作为重点研究方向,因为如果能在此过程中提供高质量服务,就能在任何时间、任何地点提供优质服务。

让我们关注箭头所指的部分,那里是三个小区交界的角落。在箭头末端,你可以看到一个橙色区域、一个蓝色区域和一个红色区域。这意味着它们使用了不同的频率。这就是FFR发挥作用的地方。

部分频率复用通过分离频段并高效分配频段,来防止来自相邻基站的信号干扰。在角落边缘的位置,蓝色、橙色和红色区域彼此相邻。从图中可以看出,这些区域虽然发射功率较强,但它们位于不同的频段上。它们在各自频率轴上的位置不同,这意味着它们使用了强信号,但由于频率不同,彼此不会产生干扰。这就是FFR的含义。将这一点与整体协调结合起来,就是小区间干扰协调。

接下来,我们介绍DSA,即动态子载波分配。这是一种在静态分配基础上改进的资源分配方案,它能根据信道状态条件动态分配子载波。

其原理是:观察频谱中哪些信道较弱或存在盲点,并利用这些信息为其他区域的用户提供服务。由于某个设备处于信号盲点,无法接收任何信息,因此可以集中信号为该区域的另一个用户服务,从而获得更大的通信链路增益。

例如,用户一的频谱响应如蓝线所示,它在某个频点存在频谱盲点。用户二的频谱响应如红色虚线所示,它在另一个频点存在盲点。动态子载波分配的做法是:既然我们知道用户一和用户二的频谱盲点位置,就可以将用户一的通信资源集中分配在用户二的盲点频段上。这样,即使用户一接收到强信号,用户二因为处于其自身的频谱盲点,也无法接收到该信号,从而不会将其视为强干扰。这就是DSA技术的核心思想。

能够实现这一点,是因为LTE-Advanced技术能够自适应地将频段分配给特定位置。由于频率选择性衰落,子载波对不同用户的影响不同,这导致了不同用户的频谱中存在不同的盲点。因此,DSA通过跟踪每个用户的整体频谱盲点,并利用其内置的自适应控制分配机制,可以从多方面改善用户的服务质量。

下面,我们来看CoMP,即协作多点技术。这项技术旨在提高高速数据率的覆盖范围、小区边缘吞吐量以及系统吞吐量。

CoMP技术中,“多点”可能带连字符也可能不带,在各种文档中你可能会看到两种写法,但含义相同。其基本思想是多个小区协同支持一个基站,或者说多个基站协调地指向同一个设备进行通信。这样,多个基站可以同时与一个用户设备通信,通过减少小区内干扰来提高吞吐量。

实现CoMP有几种主要方式,以下是四种主要方法:

  • 协调调度:这种方式在小区边缘为用户分配不同的子载波,以避免小区间干扰。图中显示,对于处于小区边缘的设备,我们同时使用频率1和频率2来支持它。这意味着该设备需要能够同时接收两个频率的信号,这可能要求设备配备多个调制解调器。
  • 协调波束赋形:这种方式利用天线阵列进行波束赋形,将信号从全向传播转变为定向波束。通过为小区边缘的用户分配不同的波束模式,可以避免干扰并提高接收性能。图中展示了两种不同的波束模式分别支持不同的边缘设备。
  • 联合传输:这种方式中,多个基站协调它们的信号,使得用户设备能同时从多个基站接收数据,从而提高接收性能和数据速率。
  • 动态节点选择:这种方式选择信道质量更好的传输节点来改善接收性能。传输节点在不同文档中可能被称为TP或TX点,它在LTE-Advanced的CoMP技术中频繁使用。

为了更清晰地比较这四种技术,我们可以从几个维度来看:

  • 资源利用:CS使用频率资源;CB使用频率和空间分集;JT同样使用频率和空间;DPS则协调使用空间、时间和频率资源。
  • 传输节点数量:CS和CB使用单个传输节点;JT和DPS使用多个传输节点。
  • 干扰降低效果:CS和CB能有效降低干扰;JT和DPS在这方面的效果相对不那么显著。
  • 接收性能:CS的性能相对较低;CB、JT和DPS技术能提供更高的接收性能。

这些是我使用的参考文献,也推荐给你。谢谢。

本节课中我们一起学习了LTE-Advanced的第一部分内容,重点包括通过ICIC和FFR进行小区间干扰协调、利用DSA进行动态资源分配,以及通过CoMP技术提升网络性能的四种主要方法。这些技术共同构成了LTE-Advanced提升数据速率、覆盖范围和用户体验的核心机制。

56:20_4.5 LTE-Advanced(第2部分)📡

在本节课中,我们将继续学习LTE-Advanced的关键技术。我们将重点探讨载波聚合、异构网络与小型蜂窝技术,以及自组织网络。这些技术共同提升了4G网络的速率、容量和覆盖范围。

上一节我们介绍了LTE-Advanced的基础,本节中我们来看看其核心增强技术。

载波聚合 📶

载波聚合是一项至关重要的技术,它使得LTE-Advanced能够实现更高的数据速率。其工作原理是将多个独立的分量载波组合起来,以增加网络的数据速率和容量。这项技术用于满足4G在数据速率方面的要求。

LTE-Advanced中使用了三种载波聚合模式。

以下是三种主要的载波聚合模式:

  1. 带内连续:两个子频块位于同一频段A内,并且彼此相邻
  2. 带内非连续:两个子频块位于同一频段A内,但彼此不连续相邻
  3. 带间聚合:两个子频块位于完全不同的频段(例如频段A和频段B)中。

在这三种模式中,带间聚合带内非连续聚合要求用户设备为每个频率载波使用独立的收发信机。这是因为这些载波在频率上不连续。这意味着,为了支持此类聚合,用户设备需要配备两个收发信机单元(例如两个连接到天线的射频单元)和两个调制解调器。

异构网络与小型蜂窝技术 🏙️

异构网络是另一项非常重要的技术。HetNet是异构网络的缩写,顾名思义,它指的是将不同种类、不完全相同的网络元素混合在一起。

深入来看,这是应对日益增长流量需求的一种解决方案。其方法是在一个宏蜂窝的覆盖范围内,使用小型蜂窝来扩展小区覆盖。这将用于增加网络容量并提供覆盖延伸。

小型蜂窝技术能非常有效地实现异构网络。这意味着小型蜂窝位于宏蜂窝(更大的小区)内部,它们相互重叠,一个很大,其他的很小,并且处于相同的小区范围内,因此我们称之为“异构”网络。

小型蜂窝技术可以使用小型蜂窝eNode B,它可以安装在建筑物内部,用于扩展小区覆盖和提升容量。例如,如果你在地下室,需要使用移动通信但手机信号接收不佳,你的移动运营商可能会在地下室区域安装一个家庭基站(一种小型eNode B),并将其连接到建筑物内的主网络,进而连接到核心的移动通信网络。这样,你需要通信的地下室区域就能得到良好的支持。

在这种情况下,如果宏蜂窝基站信号接收不佳,那么区域性的小型蜂窝与宏蜂窝eNode B信号之间的干扰就较低。

从细节上看,宏蜂窝是一个大小区,由大型eNode B支持,提供数英里范围的广域覆盖。小型蜂窝可以根据其覆盖范围进行分类。

以下是不同类型的小区分类:

  • 宏蜂窝:由大型eNode B支持的大范围小区。
  • 微蜂窝:覆盖范围较小的蜂窝。
  • 皮蜂窝:覆盖范围比微蜂窝更小的蜂窝。
  • 飞蜂窝:覆盖范围最小的蜂窝,例如家庭基站。

因为它们处于相同的覆盖范围内,用于支持宏蜂窝覆盖不佳的弱点区域,所以我们称之为异构网络。

由于存在不同尺寸的小区重叠,因此需要各种技术来管理异构网络。在某些情况下,你可能会接收到来自另一个皮蜂窝的信号,干扰到附近的飞蜂窝;或者你的飞蜂窝可能会干扰到宏蜂窝信号。

因此,你将需要小区间干扰协调载波聚合协作多点传输/接收SON等技术。

自组织网络 🤖

SON是自组织网络的缩写。这是一项用于管理复杂多样蜂窝技术(如小型蜂窝和异构网络)的技术。它提供自动化的网络设置和维护功能,因此我们称之为“自组织”网络。

其目标是自动配置和优化网络,为以下方面提供支持:

以下是SON网络的主要支持目标:

  • 不断扩展的eNode B基站数量。
  • 多样化的网络参数优化。
  • 新演进的无线技术。

SON的功能基于自配置自愈合

  • 自配置:新部署的基站能够自动安装和配置。它们会探测网络,根据自身位置判断当前异构网络的状态,并通过自我控制来避免干扰。
  • 自愈合:网络实体自动检测某些系统故障并应用解决方案。因此,即使一度出现干扰,它也会通过自愈合功能重新调整、减轻并避免干扰。

本节课中我们一起学习了LTE-Advanced的三项核心增强技术:载波聚合通过合并频谱资源提升了数据速率;异构网络与小型蜂窝技术通过大小小区重叠部署,有效扩展了覆盖并增加了网络容量;而自组织网络则为管理这种复杂网络环境提供了自动化的配置、优化和修复能力。这些技术共同构成了现代高速移动通信网络的基石。

57:21_4.6 5G技术 🚀

概述

在本节课中,我们将要学习第五代移动通信技术(5G)的核心目标、技术标准、关键性能指标及其三大应用场景。我们将了解5G如何超越前代技术,以满足未来云服务、沉浸式体验和海量连接的需求。


5G技术的服务目标与技术基础

5G技术建立在“万物上云”的整体服务目标之上。其驱动力来源于远程呈现、沉浸式体验和海量连接等应用需求。

为了支持这些需求,5G需要整合一系列核心技术,包括:

  • 云服务
  • 高速互联网
  • 无线技术
  • 高清闭路电视技术
  • 个人广播
  • 基于位置的服务(LBS)
  • 无线回传技术(用于替代有线骨干网络)

5G技术的目标正是为了实现上述可能性。


5G技术标准与组织

上一节我们介绍了5G的目标,本节中我们来看看支撑这些目标的技术标准由谁制定。

5G技术主要参考两大标准体系:国际电信联盟无线电通信部门(ITU-R)的 IMT-2020,以及第三代合作伙伴计划(3GPP)的 5G NR(新空口)

5G旨在支持高质量多媒体、自动驾驶汽车、增强现实、海量物联网网络和基于云的服务。为了实现这些,5G需要提供比LTE(4G)更高的性能,这正是IMT-2020和5G NR标准存在的意义。

以下是制定这些标准的主要组织:

  • ITU-R(国际电信联盟无线电通信部门):隶属于国际电信联盟(ITU),负责制定全球无线电通信标准和法规。
  • 3GPP(第三代合作伙伴计划):这是一个由全球多家行业代表公司组成的联盟,旨在共同制定全球通用的移动通信标准。该组织最初为制定3G标准而成立,并延续至今,制定了4G和5G标准。其标准涵盖了无线接入网、服务与系统、核心网以及终端设备等所有方面。

IMT-2020 关键性能要求

了解了标准制定组织后,我们来看看IMT-2020标准对5G提出了哪些具体的性能要求。与LTE相比,5G需要在多个维度实现显著提升:

  • 更高的数据速率:峰值数据速率需达到 20 Gbps,用户体验数据速率(如下行链路)需达到 100 Mbps
  • 更低的延迟:端到端延迟需低于 5毫秒,其中空口延迟需低于 1毫秒
  • 更高的连接密度:需支持每平方公里 100万台设备 的连接。
  • 更高的移动性:需支持高达 500公里/小时 的移动速度,以满足高速铁路和无人机等场景需求。

5G与前代技术的性能对比

为了直观理解5G的飞跃,我们可以将其与3G(IMT-2000)和4G(IMT-Advanced,即LTE-A)进行对比。

下图展示了三代技术的性能范围(想象一个雷达图,每个轴代表一项性能指标):

  • 3G(蓝色区域):代表了最初的移动宽带能力。
  • 4G(天蓝色区域):在移动性、用户体验数据速率、峰值数据速率、能效和延迟等方面相比3G有显著进步。
  • 5G(红色区域,即IMT-2020):其性能范围远超3G和4G。在移动性、频谱效率、连接设备数、可靠性、延迟、能效、峰值数据速率和用户体验数据速率等所有维度上,5G都实现了全面的、跨越式的增长。

5G NR的三大应用场景

基于3GPP标准,5G NR定义了三种主要的应用场景,以满足不同的需求。

以下是这三种场景的详细介绍:

  • 增强型移动宽带(eMBB)

    • 目标:提供极高的用户密度和极高的数据速率,峰值可达20 Gbps,即使在小区边缘也能保证100 Mbps的速率。
    • 应用示例:移动云计算、智能手机/智能手表等智能设备、超高清视频流。
  • 超可靠低延迟通信(URLLC)

    • 目标:专注于实现1毫秒或更低的延迟,以及高达 10⁻⁹(即99.9999999%)的可靠性。
    • 应用示例:自动驾驶汽车、工业自动化。在这些场景中,微小的控制失误或网络中断都可能导致严重后果,因此需要极高的可靠性和近乎零的延迟。
  • 海量机器类通信(mMTC)

    • 目标:专注于支持海量连接(每平方公里高达100万台设备)和超长电池寿命(可达10年)。
    • 应用示例:智能家居、智慧城市、远程医疗、可穿戴设备。这些设备通常数据速率要求不高,但数量巨大,且需要极低的功耗以维持长时间运行。

三大场景性能对比

让我们通过一个表格来系统对比这三大场景的核心性能要求差异:

性能指标 eMBB(增强移动宽带) mMTC(海量机器通信) URLLC(超可靠低延迟)
数据速率 极高(数十Gbps量级) 极低(~100 kbps量级) 中等(50 kbps - 10 Mbps)
用户体验速率 明确要求(下行100 Mbps) 未明确定义 未明确定义
频谱效率 要求最高 未明确定义 未明确定义
区域流量容量 (10 Mbps/平方米) 未明确定义 未明确定义
网络能效 有定义但不详细 重点(电池寿命达10-15年) 未明确定义
移动中断时间 0毫秒(目标) - 0毫秒(目标)
延迟 ~4毫秒 - 极低(~0.5毫秒)
连接密度 有定义但非刚性要求 极高(100万设备/平方公里) 有定义但非刚性要求
可靠性 - - 极高(错误率10⁻⁹)

注意:此表格为简化对比,具体细节请参考3GPP官方标准文档。


总结

本节课中我们一起学习了5G移动通信技术。我们了解到5G以“万物上云”为愿景,旨在通过IMT-2020和5G NR等标准,在数据速率、延迟、连接密度和移动性上实现革命性提升。5G NR通过三大场景——eMBB(追求极致速率)、URLLC(追求超高可靠与超低延迟)和mMTC(追求海量连接与超低功耗)——来满足未来多样化应用的需求,为从增强现实到自动驾驶,从智慧城市到工业互联网的广阔领域奠定基础。

在接下来的课程中,我们将深入探讨5G的网络架构。

58:5G架构 🏗️

在本节课中,我们将学习第五代移动通信技术(5G)的网络架构。我们将从整体架构划分开始,详细解析其核心网功能,并探讨非独立组网这一重要部署场景及其性能要求。

整体架构划分 📐

上一节我们介绍了移动通信网络的演进,本节中我们来看看5G的具体架构。首先,观察蜂窝网络架构,可以将其整体划分为三个主要单元:

  • 用户设备:即UE。
  • 无线接入网:即RAN。
  • 核心网:即Core Network。

我们可以将其与4G架构进行映射。在4G中,无线接入网中有eNodeB,其LTE组件构成了4G网络的接入部分。核心网部分则是EPC。UE、eNodeB和EPC共同构成了4G技术的EPS

在5G中,基站被称为gNodeB。无线接入网部分被称为新空口,在3GPP标准中常写作5G-NR。对应的核心网部分则被称为下一代核心网,即NGC。这就是5G与4G系统架构的主要划分。

核心网功能详解 ⚙️

了解了整体架构后,我们进一步深入核心网。NGC包含多个关键功能块,以下是其主要功能单元:

  • AMF:负责接入和移动性管理功能,支持注册、连接管理以及移动性管理,同时负责接入认证和授权。
  • SMF:负责会话管理功能,管理数据会话(即数据包流),并支持IP地址的分配与管理。它还负责为用户面数据传输选择和控制UPF。
  • UPF:即用户面功能,负责数据包的路由和转发。它是无线接入技术内RAT间移动性的锚点,是支持基于不同无线技术切换的中心。
  • PCF:即策略控制功能,为控制面功能(如AMF和SMF)提供策略规则。
  • AF:即应用功能,它与核心网交互以提供各种服务。
  • UDM:即用户数据管理,存储和管理用户设备的签约数据,并基于签约数据支持接入授权。
  • AUSF:即认证服务器功能,它与UE协作,存储UE的认证数据。
  • NSSF:即网络切片选择功能。它与UE协作,选择服务于该UE的一组网络切片实例

非独立组网部署场景 🔄

上一节我们介绍了核心网的功能组件,本节中我们来看看5G的一个重要部署选项。非独立组网是5G的代表性部署场景之一,通常被认为是5G初期部署的首选方案。原因是它是“非独立”的,意味着它将与现有的4G网络协同工作。

如果你已经拥有一个4G网络,并计划演进到5G,那么NSA选项是一个中间步骤,可以利用已有的4G LTE网络提供额外的控制与功能。以下是几种主要的NSA架构选项示意图及说明:

图中展示了三种连接方式:

  1. NR gNodeB作为主节点,直接连接到NGC。
  2. 数据通过NR gNodeB和/或连接到NGC的eNodeB传输。
  3. 数据通过NR gNodeB经由NGC传输。

可以看到,LTE eNodeB通过Xn接口与NR gNodeB连接,这正是“非独立”的含义。让我们深入一些细节:

  • 在选项2和3中,当NR gNodeB作为主节点时,在核心网与无线接入网之间存在一条控制面连接。这里的“核心网”和“RAN”是通用术语,因为NSA选项会与4G LTE网络共存。
  • 用户面数据可以直接通过核心网路由到RAN。或者,在同一承载上流动的用户面数据可以在RAN处进行分流。
  • 另一种选项是LTE eNodeB作为主节点。此时,数据流通过eNodeB和NR gNodeB在EPC处进行聚合,EPC即4G网络的核心网。因此,数据通过LTE eNodeB和/或NR gNodeB经由EPC传输,EPC扮演着重要角色,因为LTE eNodeB是主节点。
  • 同样,在核心网与RAN之间存在一条控制面连接。用户面数据可以在承载基础上直接通过核心网路由到RAN,或者在同一承载内的数据流可以在无线接入网处进行分流。

性能要求与标准化进程 📈

在探讨了部署场景后,我们需要了解5G的性能目标。以增强移动宽带用例为例,它有很高的数据速率要求。具体性能指标包括:

  • 用户体验数据速率:上行链路需达到50 Mbps,下行链路需达到100 Mbps
  • 整体延迟要求:设定为4毫秒

关于5G-NR eMBB的标准化工作进程,时间范围从2016年持续到2018年。以下是相关标准文档的发布节点:

  • Release 15的完成目标定在2018年。
  • 对5G移动通信的研究在此基础上展开。
  • NR工作项目由参与3GPP的多个机构合作共同设定和设计。
  • 进一步的演进在2018年第三和第四季度进行。

在主要的时间节点上:

  • 5G新空口非独立组网的完成基于Stage 3,目标定在2018年3月
  • 5G新空口独立组网的完成目标定在2018年9月
  • Release 15中同时包含了SA和NSA选项。

总结 🎯

本节课中,我们一起学习了5G的网络架构。我们从整体上将5G网络划分为用户设备、无线接入网和核心网三部分,并详细介绍了下一代核心网中各个功能单元的作用,如AMF、SMF、UPF等。我们还重点探讨了非独立组网这一初期部署方案,了解了其与4G网络协同工作的几种模式。最后,我们回顾了5G eMBB场景的关键性能指标以及标准化的主要进程时间点。理解这些基础架构和概念,是进一步探索5G网络切片、超可靠低延迟通信等高级特性的基石。

59:23_4.8 5G核心技术(第1部分)🚀

在本节课中,我们将学习5G网络的核心使能技术。这些技术是构建下一代移动通信网络的基础,主要包括先进的网络架构、网络功能虚拟化以及软件定义网络等。我们将逐一解析这些概念,并了解它们如何共同作用以实现5G网络的高性能。

先进网络架构

上一节我们概述了5G的核心技术,本节中我们来看看其先进的网络架构。5G的关键使能技术基于下图所示的内容,我们将在本次讲座中详细讨论。

首先,是先进的网络。如图所示,这是一个EPC(演进分组核心网)云化的例子。它连接到一个支持NFV(网络功能虚拟化)的节点,该节点内部包含了一些功能。

扁平化和分布式网络架构是先进网络的特征之一。这是什么意思呢?在之前讨论4G LTE和LT网络时,网络中存在具有特定功能的单元块,例如HSS(归属用户服务器)、MME(移动性管理实体)、SGW(服务网关)、PGW(PDN网关)和PCRF(策略和计费规则功能单元)。这些单元根据规范设计,具有非常具体的功能,并且必须是网络中的物理设备,整个网络才能运行。因此,整个网络由执行特定操作的特定单元构成。

扁平化和分布式网络是指将这些功能以软件虚拟功能的形式分布在网络中。这样,网络中就没有了特定的功能块,而是网络中的所有单元都内部包含了一些这些功能,可以按需使用。这意味着没有单个单元拥有你必须依赖的单一功能。单个设备的功能在某种程度上被平均化了,因此它们是分布式的。所以我们使用“扁平化和分布式”这个术语来描述5G核心网的先进网络。

集成和分布式的网络功能。基于某些设备,它们的功能通过虚拟功能集成在其中,我们稍后会详细讨论。

灵活的网络架构与关键技术

上一节我们介绍了扁平化分布式架构的概念,本节中我们来看看实现这种架构的两种关键技术:SDN和NFV。

在灵活的网络架构中,可编程的网络功能基于SDN(软件定义网络)技术和NFV(网络功能虚拟化)技术。NFV的一个示例如下列出的虚拟化网络功能,这些功能可能包括深度包检测、优化器、Web网关、防火墙、NAT以及各种其他IP功能,此外还需要提供和支持移动通信网络功能。但不同于拥有MME、服务网关、PDN网关等具有单一功能的独立模块,我们将使用网络功能虚拟化。

网络功能虚拟化将复杂的基于硬件的网络节点功能虚拟化为软件构建块。这些构建块可以组合和链接。换句话说,如果我需要这个功能,然后那个功能,再下一个功能,我可以将它们组合在一起,形成一条服务链。这些个体基于我们所谓的虚拟化功能。因此,不再是拥有一个执行独特任务的独立模块,为了获得该服务,你需要访问那个模块,然后该设备会引导你进行下一步;在这里,我们收集所需的功能,然后将其置入特定数据流的功能中。

NFV技术通过使用称为VNF(虚拟化网络功能)的灵活软件块,消除了对复杂的基于硬件的网络节点的依赖。通过使用NFV技术,你可以提高灵活性、功能性和效率。具体如何实现呢?再次强调,你可以通过软件功能收集你所需的东西,然后创建一条链来支持你在网络内的数据流,最后执行它。因此,网络是扁平且分布式的:你收集所需,将其组合,然后执行。这样你就不需要经过特定的转折点去某个地方,然后再去另一个地方获取功能;你收集它,链接它,然后使用它,从而获得灵活性、功能性和效率这些特性。

SDN,即软件定义网络。SDN解耦了网络控制和数据转发路径及功能。在以前不使用SDN的传统网络中,控制转发路径和数据路径是相同的,因此灵活性不高。但在5G网络中使用SDN技术,它将控制面和数据面分离开来。因此,你可以更灵活地控制网络。这就是为什么现在使用SDN技术可以实现分布式管理,通过最短数据路径传输而无需穿越核心网络。

网络控制可以直接编程,底层基础设施被抽象化,供应用程序和网络服务使用。正是通过独立控制和访问控制流与数据流,你获得了极大的灵活性。因此,你有了更多选项来优化控制网络的方式以及发送数据的方式。

先进网络特性详解

上一节我们了解了SDN和NFV,本节我们进一步探讨先进网络的其他特性。

先进网络再次体现了扁平化和分布式网络架构。它利用分布式管理,提供不穿越核心网络的最短路径。同样,这是如何通过NFV和SDN技术实现的呢?

上下文感知的资源分配。考虑到实时流量、服务类型和设备特性,提供了上下文感知的资源分配。那么,这个上下文来自哪里?我又需要在何处重新平衡整体资源分配方案,以使我的网络整体上达到最优效率和高利用率?

利用CDN(内容分发网络)技术的其他特性。内容分发网络是基于算法预测未来需求的网络。预测到的流量会被提前推送到靠近用户的位置,这样当用户需要时,可以非常快速地交付,同时由于内容被移动到更近的位置并在本地域内共享,整体网络利用率也得以降低。这项技术被广泛应用于各种广播和多媒体服务中,因此CDN技术非常流行。我们将引入这种预测和CDN技术,以支持更快的服务并降低网络的整体利用率,使网络功能更加高效。

在基于其先进网络技术的5G网络中,通过CDN技术实现这一点。

当然,一个例子如图所示:为了更快地支持用户设备(UE),分组数据网络会查看需要什么,特别是对于像URLLC(超可靠低延迟通信)这样的低延迟需求,内容被更靠近实际用户。为了实现这一点,需要一个预测算法来决定需要将哪些内容推送到更靠近用户的位置。基于流行度的内容缓存可能就是这种参考算法。

你将如何执行这种基于流行度的算法呢?有以下几种方案,它们都基于CDN技术。

以下是基于CDN技术的几种常见内容缓存与预测方案:

  • 基于流行度的缓存:系统跟踪内容的访问频率(如点击率、播放量),并将最流行的内容缓存在网络边缘。
  • 预测性预取:利用机器学习算法分析用户行为模式和历史数据,预测用户可能请求的内容,并提前缓存。
  • 协作式缓存:网络边缘节点之间共享缓存信息和内容,提高命中率并减少回源流量。

总结

本节课中,我们一起学习了5G核心网络技术的第一部分。我们重点探讨了先进的扁平化分布式网络架构,并深入分析了实现该架构的两大关键技术:网络功能虚拟化(NFV)软件定义网络(SDN)。NFV通过将网络功能软件化(VNF)来提高灵活性和效率,而SDN通过分离控制面与数据面(control plane / data plane)实现网络的集中可编程控制。此外,我们还了解了上下文感知的资源分配内容分发网络(CDN) 技术如何进一步优化5G网络性能,通过预测和边缘缓存实现低延迟与高带宽服务。这些技术共同构成了5G网络高效、灵活和智能的基石。

60:24_4.8 5G核心技术(第2部分)🚀

在本节课中,我们将继续学习5G的核心技术,重点探讨网络切片这一关键概念。我们将了解网络切片如何将一个物理网络划分为多个虚拟的逻辑网络,以满足不同应用场景的特定需求。

网络切片概述 🧩

上一节我们介绍了5G的一些基础技术,本节中我们来看看网络切片。网络切片是一项非常重要的技术,它将5G物理网络划分为多个虚拟化的、逻辑上隔离的网络。

这项技术影响移动设备、接入网、传输网和核心网。用户实际上在使用一个网络,但在逻辑上,这个网络被划分为独立的子层。这样,针对不同的应用,可以提供特定的功能集,并在需要的地方提供支持。

如何实现这一点?这就是网络切片的核心。它是一个大的5G网络,但通过逻辑控制、精确的调度和资源分配,使其感觉像是多个独立的小网络组合在一起。这就是“虚拟化”的含义:实际上是一个网络,但逻辑上像是多个独立的网络,它们共享同一个物理网络。

网络切片的工作原理 ⚙️

网络切片专用于具有不同特征和服务质量要求的各类服务。

以下是网络切片支持的主要服务类型:

  • 超高清视频广播与组播服务:这类服务对传输时间有严格规定,可能因每秒帧数而产生延迟限制问题。
  • 智能手机服务切片:这是5G网络中的主要组成部分,因为智能手机是众多应用的工具。
  • 海量物联网切片:用于传感器网络,采用更简化、轻量级的5G核心网,无需复杂的移动性管理。
  • 关键任务物联网切片:用于支持车对车通信、车对基础设施通信,以支持自动驾驶汽车和智能交通系统。

网络切片架构详解 🏗️

让我们深入了解其架构细节。网络切片涉及用户面、控制面、数字单元和移动视频优化等功能。

在边缘云中,部署了虚拟化的数字单元、5G核心网的用户面以及缓存服务器。在核心云中,则部署了虚拟化的5G核心网控制面和移动视频优化服务器。通过这种方式划分并提供功能。

对于智能手机切片,5G核心网的用户面、控制面以及具有完整移动性特征的IMS服务器都在核心云中虚拟化。

对于海量物联网切片,在核心云中部署的是没有移动性管理的简化版轻量级5G核心网。物联网设备通常移动性不强,也不需要很高的数据速率,但数量庞大是其主要挑战。5G标准中,mMTC的目标之一就是在每平方公里范围内支持百万级连接。

对于关键任务物联网切片,5G核心网用户面及通过V2X(车联万物)连接的服务器都部署在边缘云中,以最小化传输延迟。V2X中的“X”可以是车辆、基础设施或行人。

V2X服务与网络切片 🚗

现在,我们进一步了解V2X服务的网络切片。请看这个网络图:底部有终端1和终端2(位于汽车中),中间是V2X通信服务提供商,上层则连接着驾驶功能、地图功能和多媒体娱乐系统。

图中红色圆圈内顶部是网络切片实例,分别为驾驶功能、地图功能和视频/多媒体功能提供服务,这些功能连接到汽车上的终端1(车载单元或智能控制器)。这就是通过网络切片提供V2X服务连接的方式。

V2X服务的特性包括娱乐和驾驶辅助。娱乐功能对数据吞吐量要求高,以确保多媒体视频服务或车内乘客的游戏体验质量。驾驶辅助功能则对延迟和可靠性有极高要求,例如导航系统或智能交通系统。

超可靠低延迟通信与自动驾驶 🛣️

进一步深入到自动驾驶控制,为了实现高效和舒适的完全自动驾驶,需要ULLC服务的支持。

ULLC提供超高可靠性和超低延迟。由于其严格的性能要求,ULLC可以实现高密度编队行驶和协同交叉路口控制。

高密度编队行驶是指多辆汽车或卡车以极近的距离行驶,但像一列车队一样被协同控制。它们会一起加速、减速和刹车,协调地进行左右转弯,看起来像一列火车。这提高了道路的整体利用率,因为它们像拖车或火车一样紧密行驶,而不是相隔数百码的安全距离。

协同交叉路口控制则针对变道、交通灯、左右转弯和交叉口等事故多发区域。通过协同控制,可以大幅提升交叉路口区域的安全性和使用效率。这些正是我们希望通过基于V2X服务的网络切片来实现的目标。

课程总结 📚

本节课中,我们一起学习了5G的核心技术——网络切片。我们了解到网络切片如何通过逻辑划分将一个物理5G网络虚拟化为多个独立的子网络,以满足超高清视频、智能手机、海量物联网和关键任务物联网等不同服务的特定需求。特别是,我们深入探讨了网络切片在V2X服务和自动驾驶场景中的应用,例如通过ULLC实现高密度编队行驶和协同交叉路口控制,从而提升道路利用率和交通安全性。

这些是我使用的参考文献,推荐给你。谢谢。

61:25_4.9 5G毫米波技术(第1部分)📡

在本节课中,我们将要学习5G移动通信技术中的一个核心组成部分——毫米波技术。我们将探讨其使用的频段范围、技术特点以及实现高速数据传输所面临的关键挑战和解决方案。

概述 📋

5G毫米波技术是本次讲座的主题。我们将深入探讨这一领域,因为当5G使用毫米波频段时,其技术与之前的2G、3G和4G移动通信技术存在显著差异。因此,我们需要对其进行更详细的研究。

5G频谱划分 📊

首先,我们从下面的频谱划分表开始。5G频谱主要分为两个大范围:6 GHz以下6 GHz以上

以下是具体的频段划分及其应用焦点:

  • 6 GHz以下频段

    • 1 GHz以下:例如800 MHz、700 MHz、900 MHz。
    • 1 GHz范围:例如1.8 GHz,是许多公司未来技术和5G服务的关注点。
    • 2 GHz范围:例如2.1 GHz、2.3 GHz和2.6 GHz,是服务实施的重点。
    • 3 GHz范围:活动主要集中在3.3 GHz至3.7 GHz左右。
    • 4 GHz范围:关注范围大约在4.4 GHz至4.99 GHz。
  • 6 GHz以上频段

    • 6 GHz至24 GHz:关注频段包括5.9 GHz至8.5 GHz,以及12.2 GHz至12.7 GHz。
    • 24 GHz至30 GHz:这是投入大量关注的核心区域,从24 GHz到29 GHz的范围将被高度使用。
    • 30 GHz范围:从31 GHz一直到40 GHz是关注范围,各种应用和服务提供商正考虑将其用于其应用。
    • 40 GHz范围:40.5 GHz至43.5 GHz范围也可能被使用。

从表中可以明显看出,在黄色高亮列中,3 GHz24至30 GHz是主要的关注范围。

毫米波技术的特点与挑战 ⚡

上一节我们介绍了5G的频谱划分,本节中我们来看看毫米波技术的核心特点及其带来的独特挑战。

在5G波技术中,毫米波系统是首要关注点。与LTE频段相比,6 GHz以上的毫米波频段是主要焦点,因为它能提供巨大的带宽,从而实现极高的数据速率。

例如,在28 GHz频段,利用多小区500 MHz带宽传输技术,可以支持高达2.2 Gbps的数据速率。实现这一目标的支持技术包括28 GHz极化交错阵列,以及60 GHz 360度覆盖、16链CMOS RFIC技术。

5G的一项关键技术就是毫米波,其中毫米波信号的形成和利用至关重要。需要提供多个波束,以确保对整个小区有足够的覆盖。

这是因为当频率超过10 GHz时,电磁波开始表现得像光。光无法穿透固体物体,在固体物体的另一侧会产生阴影。同样,远超过10 GHz的毫米波也具有相同特性。因此,阴影效应会频繁发生。

为了获得全面支持以避免阴影效应,可能需要多个基站向特定用户发送定向信号。这样,如果一个信号因阴影效应而丢失,另一个信号可以支持它,以提供连续的数据速率。

这种特性被称为视距传输。这意味着需要在基站和移动设备之间有一条直接的、没有任何障碍物阻挡或产生阴影的路径。这就是我们所说的LOS,这在许多情况下是无法提供的,因此我们需要多个设备和多个波束来确保整个小区区域的充分覆盖。

波束管理流程 🔄

由于需要多个波束来克服毫米波的传播限制,有效的波束管理流程必不可少。这些流程用于为每个设备获取并维持最佳波束。

NR(新空口)支持L1(层1)和L2(层2)的波束管理流程

以下是其基本操作流程:

  1. 初始波束获取:基站从不同角度辐射不同的波束模式。
  2. 移动设备响应:移动设备在第二阶段发送回复信号。
  3. 最佳波束确定:在第三阶段,找到最佳的发射和接收波束模式并最终使用。

简单来说,流程就是:基站扫描 -> 设备回复 -> 混合匹配以优化波束模式 -> 在三个阶段中使用最佳波束。

总结 🎯

本节课中,我们一起学习了5G毫米波技术的基础知识。我们首先了解了5G频谱在6 GHz以下和以上的关键划分,特别是3 GHz和24-30 GHz的核心地位。接着,我们深入探讨了毫米波技术能够实现超高数据速率的核心优势,同时也分析了其面临的视距传输限制阴影效应挑战。最后,我们介绍了为应对这些挑战而设计的多波束技术波束管理流程,它们通过动态寻找和维持最佳通信链路,确保了5G毫米波网络的可靠覆盖和高速连接。理解这些基本原理是掌握更复杂5G技术的关键第一步。

62:26_4.9 5G毫米波技术(第2部分)📡

在本节课中,我们将继续探讨5G毫米波技术,深入了解其实现高速率、高可靠性和海量连接的关键使能技术。我们将学习多无线接入技术互操作、高级MIMO、非正交多址接入、设备间通信以及小基站技术等核心概念。

上一节我们介绍了毫米波的基本特性和挑战,本节中我们来看看5G系统如何通过一系列先进技术来克服这些挑战,实现其设计目标。

多无线接入技术互操作

另一种关键技术是多无线接入技术互操作。RAT指的是无线接入技术。我们同时拥有毫米波、6GHz以上频段(包含多个频段)和6GHz以下频段(也包含多个频段)。这意味着我们需要在多种无线接入技术之间进行混合匹配,并提供互操作服务。因此,用户设备和网络侧的多RAT协调技术是必需的。

需要使用授权与非授权频谱协调来提升吞吐量和连接可靠性。非授权频谱是什么意思?可以这样理解:2.4 GHz频段是ISM频段,用于蓝牙、Wi-Fi、ZigBee等设备,这个非授权频段以及专用于LTE或5G通信的授权频段,都需要进行频谱协调。

以下是授权与非授权频段协同工作的示例:

  • 授权频段:LTE使用的800 MHz、2.1 GHz、3.5 GHz。
  • 非授权频段:Wi-Fi使用的2.4 GHz ISM频段,蓝牙和ZigBee等设备也使用此区域。此外,还有5 GHz的非授权频段。但在此范围内,像LTE-LAA这样的授权技术也可能使用它。

然后,需要在此加入5G技术的频率接入,这将包括6GHz以下和6GHz以上频段,其中也包含毫米波技术。因此,你需要多无线接入技术互操作网络。这将支持协调,使你能够以非常智能的方式使用不同频段,以无缝的方式提供宽带接入。

将5G系统与其他无线接入技术(3G、4G、Wi-Fi、蓝牙)进行互操作和集成是必要的。

多路径传输技术

多路径传输技术使设备能够同时使用多种传输协议。例如,可以同时连接Wi-Fi接入点和毫米波基站。这可以基于多RAT互操作网络,通过多路径传输技术同时实现。

我们需要考虑到,多路径传输以更高的技术协调为代价,增强了连接可靠性和数据传输速率。

MPTCP,即多路径TCP,使设备能够通过使用多个网络连接和地址,同时配置多个TCP会话。这可以在支持多RAT互操作网络的5G网络上运行。

高级MIMO技术

MIMO代表多输入多输出。它使用多个天线,并旨在利用分集模式的优势。分集模式包括时间分集、频率分集和空间分集。

  • 时间分集:使用不同的时隙和信道编码。
  • 频率分集:使用不同的信道和调制技术。当然,还包括一些如扩频、OFDM、OFDMA和MIMO相结合的技术。
  • 空间分集:涉及MIMO技术,使用位于不同位置或方向的天线。它们需要在距离上有一定的间隔,例如几个波长的差异。但如果将它们放置在特定的位置,使它们正交且不影响彼此的信号模式,也可以放置得更近。

基于空间分集,不相关的无线电路径与多个天线被同时使用。然后,你需要考虑如何使用空间分集,包括天线位置及其间距,并在设计中加以考虑,以充分利用MIMO技术的全部容量。

多址接入技术:OMA与NOMA

我们还需要考虑多址接入技术,包括正交多址接入和非正交多址接入。

深入细节来看,在OMA中,每个时间或频率资源块被独占地分配给一个用户,就像我们在OFDMA中所做的那样。然而,在非正交多址接入中,允许多个用户共享相同的时间和频率资源。

换句话说,如果你有一个特定的频分和时隙分配,通过智能的NOMA技术,可以自适应地共享这些资源,以增强系统容量并适应海量连接。这意味着,即使某个时隙被分配给了特定用户,如果你能在短距离通信设备中局部地复用该时隙,而不会干扰该时隙和频率资源在另一个不同位置分配给其他用户的整体使用,那么你就可以智能地复用一些时隙并共享它。

这几乎就像在基于NOMA技术的多址接入结构中,使用基于移动通信平台的协作无线电技术。

高级设备间通信

通常,设备需要连接到接入无线接入网络,该网络再连接到核心网络。因此,你最终需要使用RAN的某些部分以及核心网络。

但通过设备间通信,考虑到如此高的数据速率,以及考虑到物联网设备的海量超连接性,我们可以更高效地使用网络。如果设备在我范围内,并且我不需要使用eNodeB或无线接入网络资源,如果有一种方式可以直接与设备连接以获得服务支持,并避免使用RAN和核心网络内的专用资源,那么也许我应该通过D2D技术来实现。

因此,你希望从移动网络分流数据,以减少数据处理和信令的负载和成本。

这里的一个关键点是MCPTT。之前有PTT,即一键通。对讲机使用一个公共频段,当你想说话时,按下按钮然后说话,这就是我们所说的PTT。在更高级的模式中,我们有关键任务PTT,这就是我们在5G NR技术中的高级D2D中所讨论的。

V2X,即车与万物通信,可能是高级D2D技术可以非常有效的另一个领域。你所看到的标准,如IEEE 802.11p和IEEE 1609,它们结合起来创建了WAVE协议。为V2X通信增加协同计算支持,可能是5G NR通过高级D2D可以有效支持的内容。车辆与路边单元之间紧急信号的高效交换可以通过此技术得到支持。

高级小基站技术

高级小基站技术,如HetNet技术,以及5G模式下自组织网络支持的技术也是必需的。在给定区域内大量的小基站可以显著提高吞吐量。

5G系统利用毫米波频段的巨大带宽,这些需要在5G波技术中非常智能地包含并有效地控制调度。毫米波的高传播损耗使其适合密集的小基站部署。

因此,在这里使用SDN和NFV的分布式和自配置网络技术将非常有效,这将使部署小基站变得非常容易。

本节课中我们一起学习了5G毫米波技术的关键使能技术。我们探讨了如何通过多RAT互操作、多路径传输、高级MIMO、非正交多址接入以及设备间通信等技术,协同工作以克服毫米波的传播限制,实现5G的高速率、高可靠性和海量连接目标。这些技术共同构成了5G网络强大能力的基石。

63:27_5.1 iOS演进(第1部分)📱

在本节课中,我们将学习智能手机操作系统。我们将重点关注Android和iOS,因为这两者主导了智能手机操作系统市场。我们将探讨iOS和Android的演进历程与架构,但首先从iOS开始。原因是第一款智能手机iPhone使用了iOS,这也是首个投入实际应用的智能手机操作系统。

iOS演进历程

上一节我们介绍了本模块的学习目标,本节中我们来看看iOS的演进历史。

史蒂夫·乔布斯于2007年1月9日发布了iPhone。iPhone和iPad开启了智能设备、移动应用和移动计算的新时代。这是电子和IT行业的一场革命。

iOS 1

iOS 1于2007年6月发布。这是第一代iPhone的操作系统。它包含以下特性:

以下是iOS 1的核心特性列表:

  • 核心iOS用户界面支持电容式触摸屏。
  • 支持捏合缩放功能,用户可以通过手势放大屏幕内容。
  • 支持惯性滚动,即手指滑动后内容会根据动量继续滚动。
  • 包含移动Safari网页浏览器。
  • 包含可视语音信箱。
  • 使用Google Maps作为位置参考,为未来的基于位置的服务提供支持。GPS模块可提供经纬度信息,使用户位置能在Google地图上精确定位。

iOS 1.1 与 1.1.3

iOS 1.1于2007年9月发布。它增加了对iPod touch的兼容性,并可以连接iTunes的WiFi音乐商店。

iOS 1.1.3于2008年1月发布。以下是其主要更新:

  • 主屏幕上可添加网页剪辑。
  • 包含图标排列功能。
  • 可使用多点触控键盘。
  • 改进了定位能力。通过结合移动通信基站和WiFi接入点提供的信息(在可能的情况下还包括GPS信息)来确定用户的近似位置。

iOS 2

iOS 2于2008年7月发布,App Store正式上线。这是移动应用分发领域的一场真正革命。

以下是iOS 2带来的关键变化:

  • 改进了应用浏览和安装体验。
  • iOS软件开发工具包(SDK)的发布,使开发者能够设计功能更丰富、外观更佳的应用。
  • SDK使开发者能够开发应用并将其上架到App Store。这一切共同构成了移动应用可用性与开发方式的真正革命。
  • iOS 2还包含了全局搜索、Microsoft Exchange支持以及移动版.Me服务。

iOS 2.1于2008年9月发布,进行了电池寿命和速度修复,延长了续航并减少了操作响应时间。它还增加了iTunes Genius播放列表功能,并修复了掉话问题。

iOS 2.2于2008年11月发布,包含了Google街景视图,并支持播客下载。

iOS 3

iOS 3于2009年6月发布。

以下是iOS 3引入的重要功能:

  • 增加了剪切、复制和粘贴功能,并引入了适用于触摸操作的新文本选择方式。
  • 第三方应用支持推送通知。
  • 支持语音控制。
  • 多媒体消息服务(MMS)功能可用。
  • 支持USB和蓝牙网络共享。
  • 新增横屏键盘和“查找我的iPhone”功能。

iOS 3.2于2010年4月发布,增加了对iPad分辨率的支持,包含了适用于iPad的通用应用视图,支持基于Apple数据的定位和蓝牙键盘,并引入了iBooks。

iOS 4

iOS 4于2010年6月发布,多任务处理功能成为可能。

多任务处理主要指快速应用切换和保存状态功能,这实现了高效的多任务。它允许应用保存当前状态,以便在多任务切换后返回时能轻松恢复。

需要注意的一点是,iPhone上的应用被设计为节能的。此外,智能手机芯片组中的CPU和GPU处理能力有限,内存资源也有限,电池电量也有限。因此,iPhone上的许多应用通常都有一个计时机制:如果你在一定时间内没有使用它,它实际上会关闭。正因如此,尽管iOS 4提供了多任务功能,但如果你没有足够快地返回某个应用,它可能会被终止。这并非操作系统导致的终止,而是应用自身为了节能和高效处理而设计的。

iOS 4还增加了对Retina显示屏的支持。

在接下来的课程中,我们将讨论iOS架构,包括操作系统层、内核和设备驱动特性。那节课将提供关于iOS的更多细节,并讲解这些功能是如何连接的。

在此之前,我们将继续基于这个演进趋势回顾主要特性。

iOS 4还包括使用WiFi的FaceTime视频聊天,这是一个非常流行的应用。此外,主屏幕文件夹功能可用,你可以将一个应用图标拖放到另一个应用图标上,然后会自动形成一个应用文件夹。

iOS 4.2.5 与 4.3

iOS 4.2.5于2011年2月发布,它包含了使用CDMA技术的个人热点功能。这意味着你可以用iPhone创建一个热点:你的iPhone通过移动通信网络连接到3G CDMA技术的基站,然后使用WiFi扩展你的网络并自身充当热点。

iOS 4.3于2011年3月发布,增加了使用GSM移动通信技术的个人热点功能。可以看到的一个特点是,CDMA技术是第三代移动通信技术,与GSM相比支持更高的数据速率。尽管GSM本身很有价值,原因是虽然GSM作为第二代移动通信技术支持的数据速率低得多,但由于GSM覆盖几乎无处不在,即使数据速率较低,一些数据服务仍然非常有用。而前面提到的CDMA热点提供了更高的数据速率,然而在某些情况下,可能只有GSM可用而没有CDMA覆盖,这时GSM热点功能就更有用了。

总结

本节课中,我们一起学习了iOS操作系统从2007年首次发布到iOS 4.3版本的演进历程。我们看到了iOS如何从支持基本触控交互,逐步引入App Store、多任务处理、Retina显示屏等关键功能,并扩展了对不同网络技术(如CDMA和GSM)个人热点的支持。这些演进共同塑造了现代智能手机体验的基础。下一节,我们将深入探讨iOS的系统架构。

64:28_5.1 iOS演进(第2部分)📱

在本节课中,我们将继续学习iOS操作系统的演进历程,重点介绍从iOS 5到iOS 11版本的主要功能升级。我们将了解每个版本引入的关键特性,例如iCloud、Siri、Apple Pay等,并探讨它们如何塑造了现代智能手机的体验。

上一节我们回顾了iOS的早期版本,本节中我们来看看iOS 5及其后续版本带来的重大革新。

iOS 5 (2011年10月发布)

iOS 5包含了一些非常重要的升级。

以下是iOS 5的主要新特性:

  • iCloud:首次引入,提供了文件备份和多设备同步功能。这意味着你的iPhone和iPad可以通过iCloud同步所有应用程序和数据。
  • Siri:增加了基于语音控制的虚拟助手Siri。它取代了早期iOS版本中原始的“语音控制”应用。
  • iMessage:增加了iMessage功能。由于提供了免费的多媒体信息交换,它变得非常流行。
  • 无需电脑激活:取消了必须连接电脑激活的要求。这意味着iOS 5设备在激活时,无需通过USB线缆物理连接到电脑,设备可以独立完成激活。

iOS 6 (2012年9月发布)

iOS 6包含了苹果自家的地图应用。

以下是iOS 6的主要新特性:

  • 苹果地图:此时开始不再使用谷歌地图。
  • 蜂窝网络FaceTime:通过移动蜂窝网络进行FaceTime视频通话成为可能。
  • 改进的Apple ID集成:增强了Apple ID的集成功能。
  • Passbook:引入了Passbook,这是一个移动支付和会员卡管理机制。其服务范围包括票据、优惠券和登机牌。
  • Siri增强:Siri得到增强,可以查询体育比分、赛程和球员数据。同时整合了Yelp的餐厅评论和OpenTable的预订功能。
  • Siri汽车控制:增加了Siri汽车控制功能,但这属于未来发展方向,当时并未实际控制产品。

iOS 7 (2013年9月发布)

iOS 7包含了Touch ID功能。

以下是iOS 7的主要新特性:

  • Touch ID:引入了指纹生物识别传感器,用于解锁手机。
  • App Store无密码购买:支持在App Store进行免密码购买。
  • AirDrop:增加了AirDrop功能,支持临时共享图像、视频和文件。其特点是能以原始分辨率发送媒体文件,因此变得非常流行。
  • FaceTime音频:苹果用户之间可以通过Wi-Fi、3G或LTE进行纯音频版本的FaceTime通话。

iOS 8 (2014年9月发布)

iOS 8包含了“连续性”功能。

以下是iOS 8的主要新特性:

  • 连续性:与苹果新的Mac OS X 10.10 Yosemite系统协同工作,增强了iPhone、iPad和Mac电脑之间的交互性。你可以从Mac上发送和接收短信,甚至接听电话,使Mac更像一部iPhone。
  • 第三方键盘支持:iOS 8开始支持第三方键盘。
  • HealthKit与HomeKit:HealthKit成为第三方健身追踪器数据的中心。HomeKit用于家庭自动化,但这属于未来发展方向。当通过HomeKit操作系统支持实现家庭自动化时,iPhone将作为整个家庭的遥控器。

iOS 9 (2015年9月发布)

iOS 9包含了3D Touch功能。

以下是iOS 9的主要新特性:

  • 3D Touch:在iPhone 6s、6s Plus、7和7 Plus中引入。按压或按住iPhone屏幕会触发压力感应功能,从而打开菜单或执行操作。
  • 新闻与聚焦搜索增强:能够根据用户体验提供额外信息。
  • 钱包与“转移到iOS”:钱包应用取代了Passbook应用,并通过支持Discover信用卡和借记卡、商店奖励计划等增强了Apple Pay的功能。这对Discover信用卡和iOS 9钱包功能是双赢。“转移到iOS”功能使得从Android设备迁移到iOS设备变得更加容易。

iOS 10 (2016年9月发布)

iOS 10允许隐藏主屏幕上的内置应用图标。

以下是iOS 10的主要新特性:

  • 锁屏功能增强:在锁屏状态下,向左滑动可以打开相机,向右滑动可以打开“今天”视图,按下主屏幕按钮可以解锁设备。
  • 家庭应用:新增“家庭”应用,用于安全管理和控制支持HomeKit的配件。

iOS 11 (2017年9月发布)

iOS 11为iPad带来了“文件”应用和程序坞等主要功能。

以下是iOS 11的主要新特性:

  • 文件与程序坞:“文件”是iOS设备的文件管理器,包含云存储功能。“程序坞”是快速打开和切换应用的控制中心。
  • iPad多任务处理:支持同时使用两个应用,提供了“侧拉”和“分屏浏览”模式。
  • 拖放功能:可以使用拖放手势将文本、照片和文件从一个应用移动到另一个应用。
  • Apple Pencil功能:支持即时标记、即时笔记、内联绘图以及扫描和签名。
  • ARKit:ARKit代表增强现实工具包,是iOS设备的增强现实平台。
  • 控制中心自定义:增加了控制中心自定义功能。

本节课中我们一起学习了从iOS 5到iOS 11每个版本的核心升级。这些参考资料是我所使用的,接下来我们将进入iOS架构部分,展示所有这些功能是如何在一个处理内核之上被编程和运行的,这将是下一讲的内容。

谢谢。😊

65:iOS架构详解 📱

在本节课中,我们将要学习iPhone和iPad的iOS系统架构。我们将从整体上了解iOS的架构,包括其软件开发工具包,并深入探讨构成该架构的四个主要层次及其核心功能。

iOS的整体架构,包括软件开发工具包,由四个不同的层次和一个内核构成。这四个层次分别是顶层的Cocoa Touch层、媒体服务层、核心服务层以及核心操作系统层。iOS架构就建立在这四层之上,最底层则是内核和设备驱动程序。

整体架构视图 🏗️

观察其架构,它呈现为分层结构。每一层都包含实现特定功能的子组件。

Cocoa Touch层 👆

iOS架构的最顶层是Cocoa Touch层,它包含了用户界面工具包框架。

Cocoa Touch层定义了基本的应用程序基础设施,并提供了诸如多任务处理和基于触摸的输入等核心功能。它提供了许多高级特性,例如自动布局、手势识别器、文档支持和打印功能。这一层主要使用Objective-C语言编写。

以下是Cocoa Touch层包含的一些主要内容:

  • UI Kit框架:用户界面核心框架。
  • Map Kit框架:地图功能支持。
  • 推送通知服务:接收服务器推送消息。
  • Message UI框架:集成邮件和短信界面。
  • Address Book UI框架:访问和显示通讯录。
  • Game Kit框架:游戏中心功能。
  • Event Kit UI框架:日历和事件界面。
  • Accounts框架:统一账户管理。
  • Social框架:社交媒体集成。

媒体层 🎨

接下来的一层是媒体层,它包含了图形、音频和视频支持的各种功能。

媒体层为iOS提供了支持音频、视频、动画和图形所需的所有功能。

以下是媒体层包含的主要内容:

  • Core Video框架:视频处理。
  • Core Text框架:文本布局和渲染。
  • Image I/O框架:图像读写。
  • Assets Library框架:访问用户照片和视频。
  • Core Graphics框架:2D图形绘制。
  • Core Image框架:图像处理和滤镜。
  • Quartz Core框架:动画和图层渲染。
  • GL Kit框架:简化OpenGL ES使用的工具包。
  • OpenGL ES框架:用于嵌入式系统的图形库。
  • Newsstand Kit框架:报刊杂志应用支持。
  • iOS音频支持AV Foundation框架:音频视频录制与播放。
  • Core Audio框架OpenAL库:底层音频处理。
  • Media Player框架Core Media框架:媒体播放与控制。

核心服务层 ⚙️

上一节我们介绍了处理多媒体功能的媒体层,现在让我们向下深入一层,看看核心服务层。

核心服务层包含了为原生iOS应用程序管理基础系统服务的功能,例如提供块对象、Grand Central Dispatch、应用内购买和iCloud存储等关键特性。

以下是核心服务层包含的主要内容:

  • Foundation框架:提供Objective-C的基础类。
  • Address Book框架:访问联系人数据库。
  • Core Foundation框架:提供C语言的基础服务。
  • CFNetwork框架:网络通信。
  • Core Data框架:对象图管理和持久化。
  • Core Media框架:底层媒体管道。
  • Core Telephony框架:电话功能集成。
  • Event Kit框架:访问日历和提醒事件。

核心操作系统层与内核 🔧

iOS架构的最底层是核心操作系统层,它为iOS及其所有应用程序提供处理、接口和安全支持。

核心操作系统层封装了内核环境和低级别的Unix接口。

以下是该层包含的主要内容:

  • Accelerate框架:优化数学和图像计算。
  • External Accessory框架:与外部硬件配件通信。
  • Security框架:加密和安全服务。
  • System:系统级接口。

内核与设备驱动程序 🖥️

在内核和设备驱动程序层,iOS运行于内核之上。内核负责操作系统线程的处理,而设备驱动程序则实现了与其他输入输出设备的接口。

这是iOS架构的最底层,有时在描述iOS架构时,会将此层单独列出,不包含在四层架构之内。它由内核和设备驱动程序构成,其内核环境建立在Mach 3.0微内核技术之上。这意味着内核包含了一套完整的处理固件,它与CPU、芯片组和GPU交互,从而提供处理能力。微内核技术意味着内核被精简,使其更紧凑、更快速。内核和设备驱动程序层还提供了高性能的网络设施,这是因为它包含了设备驱动能力。它支持多种集成的文件系统,内容上包括BSD文件系统、Mach微内核技术和网络功能。

总结 📝

本节课中,我们一起学习了iOS的系统架构。我们了解到,iOS架构主要由四个层次构成:Cocoa Touch层负责用户界面和高级应用服务;媒体层处理所有图形、音频和视频功能;核心服务层提供基础的系统服务;核心操作系统层则负责底层的处理、接口和安全。所有这些都运行在基于Mach微内核技术的内核与设备驱动程序层之上。每一层都具有独特的功能,共同推动了iOS系统演进至当前形态。

在下一讲中,我们将讨论Android系统架构。


(课程中使用的参考文献,推荐给学习者。)

66:30_5.3 Android演进(第1部分)📱

在本节课中,我们将探讨Android操作系统的演进历程。Android是全球使用最广泛的智能手机操作系统,了解其发展历史有助于我们理解现代移动技术的基石。我们将从最初的测试版本开始,逐一介绍其早期的重要版本和关键特性。

Android的起源与Alpha版本

Android的演进始于2007年11月发布的Android Beta测试版本,这标志着Android移动操作系统的开端。2008年9月,第一个商业化的Android操作系统——Android 1.0(Alpha版本)正式发布。

Android版本与API级别相关联。API级别是应用程序编程接口的等级,它作为一个通用指标,用于显示程序员能与设备内置功能进行交互的程度。更高的API级别意味着更丰富的功能控制特性。

Android 1.0对应API级别1,它引入了多项基础功能。

以下是Android 1.0(Alpha版本)包含的主要特性:

  • 系统功能:支持将文件夹分组到单个文件夹图标中;支持访问网页电子邮件服务器。
  • 连接与同步:包含Wi-Fi和蓝牙支持;支持Google同步,以及Gmail、通讯录和日历的无线同步。
  • 内置应用:包含日历、地图、街景视图、Talk、语音拨号器和壁纸等基础应用。
  • 附加应用:包含电话拨号器、主屏幕启动器、图片库、闹钟和计算器。

从Beta到Cupcake

上一节我们介绍了Android的起源,本节中我们来看看其早期的正式更新。Android 1.1(Beta版本)于2009年2月发布,对应API级别2。它与之前提到的测试版不同,首次在HTC Dream智能手机上发布,并新增了保存消息附件的功能。

接下来是Android 1.5,代号“Cupcake”,于2009年4月发布,对应API级别3。从Android 1.5开始,Android版本开始按字母顺序使用甜点作为代号(Alpha和Beta之后,C代表Cupcake)。

以下是Android 1.5 Cupcake引入的关键新特性:

  • 用户界面:在浏览器中添加了复制粘贴功能;在联系人中支持添加用户图片;实现了带动画的屏幕过渡效果。
  • 蓝牙增强:支持与蓝牙A2DP和AVRCP配置文件自动配对并支持立体声。
    • A2DP(高级音频分发配置文件):定义了多媒体音频如何通过蓝牙从一台设备流式传输到另一台设备(例如从手机到无线耳机或车载音响)。
    • AVRCP(音频视频远程控制配置文件):使得单个遥控器可以控制所有本地音视频设备,常与A2DP配合使用。
  • 输入法:支持使用第三方虚拟键盘;添加了文本预测和用户自定义词典功能。
  • 小组件:引入了小组件,这是一种可以嵌入到其他应用(如主屏幕)中的微型应用程序。小组件可以接收定期更新,用于主屏幕定制,点击即可直接访问应用,非常方便。当时的代表性小组件包括天气、时钟和体育比分追踪器。

Donut与Eclair的进步

在Cupcake奠定了许多基础功能后,Android 1.6 “Donut” 于2009年9月发布,将API级别提升至4。

Donut版本带来了以下重要更新:

  • 语音功能:集成了文本转语音引擎和多语言语音合成引擎,使得Android应用可以朗读文本,这在用户无法查看屏幕时非常有用。
  • 多媒体:增强了图库、相机和摄像编码器的集成度,使相机访问速度更快;支持多张照片选择删除。
  • 网络支持:添加了对CDMA EV-DO和802.1x的支持。
    • CDMA EV-DO是一种增强型3G移动通信技术,支持高数据速率。
    • 802.1x增强了Wi-Fi技术。
  • VPN支持:添加了虚拟专用网络支持。VPN是在公共网络中建立的虚拟点对点专用连接,通常使用虚拟隧道协议和流量加密技术。这意味着在多人共享的公共网络中,你可以在两台计算机、或计算机与服务器之间创建安全的私有连接。
  • 屏幕支持:增加了对宽视频图形阵列屏幕的支持,在保持480像素高度的同时提供了更宽的屏幕,支持多种宽高比模式。

紧接着,Android 2.0 “Eclair” 于2009年10月发布,对应API级别5。

Eclair版本包含了以下显著改进:

  • 账户与同步:支持单设备多用户账户,并支持电子邮件和联系人的同步。
  • 蓝牙:支持蓝牙2.1。
  • 信息与相机:支持在所有已保存的短信和彩信中搜索;新增多项相机功能,包括闪光灯支持、数码变焦、场景模式、白平衡、色彩效果和微距对焦。
  • 地图与键盘:增强了Google地图;改进了虚拟键盘,通过词典建议(包含用户常用词和联系人姓名)提高了打字速度。
  • 交互与界面:引入了运动事件类,可追踪多点触控事件;支持动态壁纸,使主屏幕背景可以动画显示。
  • 企业支持:增加了对Microsoft Exchange电子邮件的支持。

Froyo与Gingerbread的时代

Android 2.2至2.2.3版本代号“Froyo”,于2010年5月发布,达到API级别8。

Froyo版本的主要更新如下:

  • 云消息:添加了Android C2DM(云到设备消息传递)支持,使第三方开发者能够实现推送通知功能。
  • 网络与分享:支持Adobe Flash;新增USB网络共享和Wi-Fi热点功能。
  • 输入法:支持多键盘语言并支持词典快速切换。

最后,我们来看Android 2.3至2.3.2版本,代号“Gingerbread”。它于2010年12月发布,对应API级别9。

Gingerbread是一个重要的版本,引入了多项影响深远的功能:

  • 相机:增加了前置和后置摄像头支持,这意味着自拍成为可能。
  • 键盘与文本:改进了虚拟键盘技术,提供更直观的文本输入、更高的准确性、更好的文本建议以及语音输入模式;添加了易用的复制粘贴功能,通过长按选择文字即可操作。
  • 网络通话:支持基于SIP的互联网语音协议。
    • SIP(会话初始协议)用于在IP网络上启用IP多媒体通信会话,支持语音通话、视频通话和即时消息。
  • 传感器:通过Gingerbread技术支持了陀螺仪、气压计等智能手机传感器。
  • 近场通信:增加了近场通信支持,这对人们交换小额信息段和支持支付、海报、贴纸和广告等各种应用做出了重大贡献。

此外,Android 2.3.4 Gingerbread于2011年4月发布,达到API级别10。该版本支持在Google Talk上进行语音或视频聊天。

Google Talk是一项即时通讯服务,提供文本和语音通信功能。


本节课中,我们一起学习了Android操作系统从2007年Beta测试版到2011年Gingerbread版本的早期演进历程。我们看到了Android如何从基础的电话和同步功能起步,逐步添加了复制粘贴、虚拟键盘、多任务、动态壁纸、前置摄像头、NFC等关键特性,并通过API级别的提升不断扩展开发者的能力。这些早期版本为Android日后成为全球主导的移动平台奠定了坚实的基础。

67:Android演进(第2部分) 📱

在本节课中,我们将继续学习Android操作系统的演进历程,重点关注从Android 3.0(蜂巢)到Android 8.0(奥利奥)期间引入的关键功能和特性。我们将了解每个版本如何针对不同的硬件(如平板电脑、可穿戴设备)进行优化,并引入了哪些影响深远的技术。


Android 3.0 蜂巢

上一节我们介绍了Android的早期版本,本节中我们来看看专为平板电脑设计的Android 3.0蜂巢。

Android 3.0是蜂巢,其API级别为11。该系统于2011年2月发布。它是首个专为平板电脑设计的Android操作系统,并针对小型平板电脑进行了优化。

以下是Android 3.0蜂巢的主要特性:

  • 简化的多任务处理:系统支持简化的多任务操作。
  • 操作栏与系统栏:引入了操作栏和系统栏。操作栏位于屏幕顶部,提供上下文选项、导航和小部件访问。系统栏位于屏幕底部,用于显示通知、状态和软导航按钮。
  • 改进的平板键盘:针对更大尺寸的平板屏幕,提供了更快、更高效、更准确的打字体验。
  • 增强的相机功能:支持快速访问相机设置,包括曝光、对焦、闪光灯、变焦、前置摄像头和延时摄影等功能。
  • 多核处理器支持:开始支持多核处理器。

Android 3.1 蜂巢

随着蜂巢系统的更新,Android开始扩展其外部设备支持能力。

Android 3.1蜂巢的API级别为12,于2011年5月发布。此版本主要增强了外部输入/输出设备的支持。

以下是Android 3.1支持的外部设备类型:

  • 键盘
  • 指点设备
  • 游戏手柄

Android 4.0 冰激凌三明治

接下来,我们进入Android 4.0时代,这个版本在用户界面和功能上带来了许多革新。

Android 4.0至4.0.2是冰激凌三明治,其API级别为14。该系统于2011年10月发布。

以下是Android 4.0冰激凌三明治引入的主要功能:

  • 易于创建文件夹:支持通过拖放操作轻松创建应用文件夹。
  • 增强的语音信箱:支持可控的语音信箱播放速度,可以加速或减速播放。
  • 人脸解锁:增加了基于面部识别的智能手机解锁功能,开启了面部识别时代。
  • 改进的相机功能:增加了零快门延迟、延时摄影设置、全景模式以及录制过程中的变焦控制。
  • 基于地点和人物的图库布局:图库可以根据地点和人物进行智能分类布局。
  • 内置照片编辑器:系统集成了照片编辑工具。
  • Wi-Fi直连:支持设备间直接通过Wi-Fi连接传输数据。

Android 4.1/4.3 果冻豆

Android 4.1和4.3均属于果冻豆系列,它们进一步提升了系统的国际化和连接能力。

Android 4.1果冻豆的API级别为16,于2012年7月发布。

以下是Android 4.1果冻豆的关键更新:

  • 双向文本与其他语言支持:增强了对从右向左书写语言(如阿拉伯语、希伯来语)及其他语言的支持。
  • 蓝牙数据传输:改进了蓝牙数据传输功能。
  • Android Beam:这是一个即时文件共享应用。当两部支持NFC的手机相互触碰时,即可激活此功能进行文件传输。
  • 键盘映射:支持安装额外的国际键盘映射和特殊布局键盘类型。
  • 多声道音频:支持通过HDMI输出多声道音频。对于不支持多声道的设备,系统会自动将音频降混以适应设备支持的声道数。

Android 4.3果冻豆的API级别为18,于2013年7月发布。它在连接性方面有重要升级。

以下是Android 4.3的主要新增支持:

  • 低功耗蓝牙:支持BLE技术,更省电。
  • AVRCP 1.3:支持蓝牙音视频远程控制配置文件。

Android 4.4 奇巧

Android 4.4奇巧在打印、支付和传感器管理方面带来了新功能。

Android 4.4奇巧的API级别为19,于2013年10月发布。

以下是Android 4.4奇巧引入的特性:

  • 无线打印:支持无线打印功能。
  • 计步检测器:支持计步传感器。
  • NFC主机卡模拟:使智能手机能够模拟智能卡,用于移动支付等场景。
  • 传感器批处理:能够高效地批量收集和传递传感器事件,以节省电量。
  • 响度增强器:在媒体播放应用中增强语音的响度。
  • 内置屏幕录制:主要为开发者设计,当使用Android调试桥时,可以启用此功能。
  • 蓝牙消息访问配置文件:支持应用与附近设备交换消息。

Android 4.4奇巧的API级别后来升级到20,于2014年6月发布。此更新增加了可穿戴设备扩展,为智能手表提供了平台支持,这标志着智能手表时代的开启。


Android 5.0/5.1 棒棒糖

棒棒糖版本是Android向64位架构迈进的重要一步,并增强了数据管理和设备安全。

Android 5.0至5.0.2棒棒糖基于API级别21,于2014年11月发布。

以下是Android 5.0棒棒糖的主要变化:

  • 64位CPU支持:这是一个重大迁移,操作系统开始支持64位CPU。
  • USB音频输入输出:支持通过USB设备进行音频输入和输出。
  • 外部存储访问:第三方应用可以读取和修改SD卡等外部存储设备上的数据,使数据控制更加灵活。
  • 最近应用内存保持:即使在设备重启后,最近使用过的应用状态也能被保留。
  • 新增15种语言:操作系统包中新增了15种语言支持。

Android 5.1棒棒糖的API级别为22,于2015年3月发布。

以下是Android 5.1的关键更新:

  • 官方多SIM卡支持:正式支持多SIM卡设备。
  • 设备保护:如果设备丢失或被盗,它将保持锁定状态,直到机主登录其谷歌账户。
  • 高清语音通话:支持在4G LTE设备之间进行高清语音通话。

Android 6.0 棉花糖

棉花糖版本在用户体验、电池管理和硬件支持方面做出了改进。

Android 6.0棉花糖的API级别为23,于2015年10月发布。

以下是Android 6.0棉花糖引入的功能:

  • Google Now on Tap:长按主页按钮,Google会自动搜索屏幕上显示内容的关联信息。
  • 休眠模式:为了节省电量,当屏幕关闭时,此模式会降低CPU速度。
  • 原生指纹读取器支持:系统级支持指纹识别。
  • USB Type-C:支持新型USB接口。
  • 应用4K显示模式:支持应用以4K分辨率显示。
  • 可适配的外部存储:允许外部存储设备像内部存储一样工作,便于保存和读取文件。

Android 7.0/7.1 牛轧糖

牛轧糖版本强化了多任务处理,并引入了虚拟现实平台。

Android 7.0至7.1是牛轧糖,其API级别分别为24和25。该系统于2016年8月发布。

以下是Android 7.0牛轧糖的主要特性:

  • 原生分屏多任务:支持在分屏视图中同时显示多个应用。
  • Daydream VR平台:增加了由Google开发的虚拟现实平台,可在手机和配备无线控制器的头戴设备上运行。

Android 8.0 奥利奥

最后,我们来看奥利奥版本,它在启动速度、通知管理和系统更新架构上进行了重大优化。

Android 8.0是奥利奥,其API级别为26,于2017年8月发布。

以下是Android 8.0奥利奥的显著改进:

  • 启动速度提升:基于Google Pixel手机的测量,启动速度提升了两倍。
  • 画中画模式:支持视频播放等应用以画中画模式运行。
  • 多显示器支持:增强了对多显示器的支持。
  • 通知改进:引入了通知渠道、通知点、徽章和通知暂停功能。
  • Google Play保护与Android即时应用
    • Google Play保护:是Android设备的安全系统。
    • Android即时应用:无需安装即可在网页浏览器中运行的新型应用。其实现原理将在后续讲解Android架构的课程中详细说明。
  • Project Treble:这是一个新的模块化架构,旨在实现更轻松、更快速的Android系统更新。它将Android操作系统框架与供应商实现进行了分离。

总结

本节课中,我们一起学习了从Android 3.0蜂巢到Android 8.0奥利奥的演进历程。我们看到了Android如何从专为平板优化,逐步扩展到支持可穿戴设备、64位计算、增强现实,并在安全性、通知管理和系统更新效率上不断进步。每个版本都回应了当时的硬件发展趋势和用户需求,共同构建了今天我们所熟悉的强大、灵活的Android生态系统。

68:32_5.4 Android架构 📱

概述

在本节课中,我们将要学习Android操作系统的架构。Android是全球使用最广泛的智能手机操作系统。我们将从顶层应用到底层内核,逐一剖析其各个组成部分及其功能。


现在,让我们来看看Android架构,它是全球使用最广泛的智能手机操作系统。

Android操作系统是智能手机中最流行的操作系统。它包含了基于此结构的操作系统、中间件和关键应用程序,你可以在这里看到这个结构。它基于Linux内核,Linux内核包含了驱动程序和电源管理工具。

从顶层来看,是Java API框架。Android操作系统的所有功能都通过用Java编写的API提供。API是应用程序编程接口。Java API为开发和使用应用程序提供了支持。

Java API框架的构建模块提供了更详细的功能,其中包括视图系统。这有助于构建用户界面应用程序,包括文本框、按钮和列表。

然后是内容提供者。这使得应用程序能够访问其他应用程序的数据,例如联系人和相册。此外,还有管理器。它提供了核心系统服务和硬件系统服务。核心系统服务负责激活和控制活动、窗口、视图等组件。硬件系统服务则负责控制电话、定位、Wi-Fi、USB等功能。

应用程序直接发送其进程需求,并使用Java API框架来获得支持。但Java API框架也需要使用原生C/C++库和Android运行时。

原生C/C++库支持在Android系统中用C/C++编写的程序。这些库包括ART和HAL,我稍后会解释。流行的库包括OpenGL ES。GL代表图形库,ES代表嵌入式系统。支持使用OpenGL的2D和3D图形库。OpenMAX AL。这是OpenSL ES的配套API,用于支持原生多媒体处理的视频和音频。此外,还有Lib C,这是C运行时库。

Android运行时是Android应用程序的运行环境实例。虚拟机用于将在不同Android设备上运行的Java应用程序,我们称之为JVM,即Java虚拟机。有两种虚拟机:Java Dalvik虚拟机,这是在API 21 Lollipop之前使用的;从API 21 Lollipop及以后,我们有了Android运行时。

首先,让我们简单回顾一下。Android 5.0到5.0.2是Lollipop,这是API级别21。它于2014年11月发布。有哪些重大改进?从之前的32位处理架构转向64位架构,启用了64位CPU支持,这非常重要。此外,启用了通过USB设备的音频输入和输出,启用了最近使用应用程序的内存记录,并且在API级别21 Lollipop中新增了15种语言。

回到Android运行时ART,它是API级别21及以后的版本。Java Dalvik虚拟机基于JIT即时编译器。JIT在应用程序启动时编译代码。JIT在请求时使用部分代码段。Android运行时ART是API 21级别及以后的版本。让我们先看看Java Dalvik虚拟机。

ART包含了对改进的调试环境和改进的垃圾收集的支持。垃圾收集是什么意思?例如,当垃圾收集压缩堆内存时,显示会变得卡顿,用户界面的响应性会变差。这是什么意思?这里的堆指的是堆内存。在智能手机上,芯片、CPU、GPU支持的处理能力有限。此外,闪存、RAM以及固态存储单元的内存也有限。因此,在智能手机上,你需要清理已经完成的应用及其支持数据。为了做到这一点,这个过程就是我们所说的垃圾收集。清理那些已完成进程的旧信息。当这种情况发生时,特别是在堆内存中,垃圾收集会压缩这些组件的堆内存部分,那么显示就会变得卡顿,用户界面的响应时间,即从你触摸屏幕到出现响应的交互响应时间,会变慢。因此,你需要一些改进,这就是Android运行时所做的,它改进了垃圾收集功能。ART提供了改进的自动内存管理来防止这类问题。

AOT编译器。这是提前编译器,它在应用程序安装时,在初始运行之前编译代码。这几乎与即时JIT编译器相反。

可以获得应用程序速度和功耗性能的改进。但是,你可能需要更长的应用程序安装时间,因为当你安装时,编译器会在你实际运行代码之前提前编译代码,这就是你获得速度和功耗提升的地方,但同样,这也会花费更多时间。

现在,让我们看看硬件抽象层。这里包含了供更高级别的Java API框架使用的标准接口,以访问设备的硬件和处理器。它由多个库模块组成。

这些模块针对特定类型的硬件组件进行了定制,例如你的蓝牙、相机模块等。往下看,你可以看到我们正在讨论的模块。

然后是Linux内核,内核。你在这里看到的所有操作系统单元都需要某些东西来处理。此外,还需要内存访问和电源管理。这就是内核为你做的事情。

Linux内核是Android操作系统的处理基础。它执行所有低级功能,例如处理、线程、电源管理,以及输入输出设备,你在这里可以看到。包括蓝牙、Wi-Fi和移动通信。内核组件包括Linux内核驱动程序、Android共享内存、电源管理,以及Wi-Fi、蓝牙、移动通信接口。

这就是Android架构。正如你所见,这些功能层和内部功能块使得Android系统能够工作,并且随着内部功能的不断添加和连接在一起,各种演进也在不断进行。

这些是我使用的参考文献,我推荐给你,谢谢。


总结

本节课中,我们一起学习了Android操作系统的架构。我们从最顶层的Java API框架开始,了解了其构建模块如视图系统和内容提供者。接着,我们探讨了原生C/C++库和Android运行时,特别是从Dalvik虚拟机到ART的演进及其在垃圾收集和性能上的改进。然后,我们向下深入到硬件抽象层,它作为硬件与上层框架的桥梁。最后,我们看到了作为整个系统基石的Linux内核,它负责处理、内存管理和硬件驱动。通过理解这些层次如何协同工作,我们能够更好地把握Android系统的运作原理。

69:33_5.5 Android与iOS比较 📱

在本节课中,我们将要学习Android与iOS两大移动操作系统的核心特性、优缺点以及它们之间的主要区别。我们将从开发背景、技术架构、应用生态等多个维度进行比较,以帮助初学者清晰地理解这两个平台。


概述:两大移动操作系统

Android与iOS是目前全球主流的移动操作系统。本节将对它们的关键特征、优势与不足进行比较分析。


开发背景与基础信息

上一节我们介绍了课程概述,本节中我们来看看Android与iOS的基础开发背景与信息。

  • 开发者:Android由Google开发;iOS由Apple开发。
  • 操作系统家族:Android基于Linux;iOS基于OSXUnix
  • 可定制性:Android的可定制性;iOS的可定制性较低。这是因为Android是一个开源平台,而iOS是闭源平台(尽管包含部分开源组件)。
  • 初始发布日期:iOS随iPhone于2007年7月29日发布;Android于一年后的2008年9月23日发布。
  • 编程语言
    • Android:C, C++, Java
    • iOS:C, C++, Objective-C, Swift
  • 源代码模式:Android为开源;iOS为闭源(含开源组件)。这再次解释了Android高可定制性的原因。
  • 默认网络浏览器:Android使用Chrome;iOS使用Safari
  • 语音助手:Android使用Google Now;iOS使用Siri
  • 应用商店:Android使用Google Play及其他商店;iOS使用Apple App Store
  • 近期版本(课程发布时):Android为Android 8.0 Oreo(2017年8月发布);iOS为iOS 11(2017年9月发布)。
  • 设备制造商:iOS仅用于iPhoneiPad(Apple产品);Android则被众多其他厂商采用。
  • 官方网站:iOS为 apple.com;Android为 android.com

应用生态与可用性

了解了基础信息后,我们来看看两者在应用生态和可用性方面的特点。

大多数热门应用在Android和iOS上均可用。Google的应用商店更为开放,包含一些iOS上没有的应用。

在平板电脑领域,iPad具有优势,因为许多应用是专门为iPad设计的。而许多Android平板应用是智能手机应用的放大版。

一些小型公司的开发者可能会先为iPhone或iPad开发应用,然后再进行Android版本的开发。原因是iPhone和iPad的硬件结构(如处理能力、内存选项、显示屏结构)非常明确统一。相比之下,Android设备由众多厂商生产,设备类型繁多,显示屏、内存、CPU等特性因厂商规格而异。因此,开发者先为iOS开发并测试良好后,再为Android进行适配,以确保应用能在各种不同设备上良好运行。


应用开发与发布流程

接下来,我们比较一下在两个平台上构建和发布应用的流程。

以下是开发与发布应用的关键步骤:

  • Android
    1. 应用使用 C、C++、Java 编程。
    2. 可免费下载Android源代码和Android SDK(软件开发工具包)。
    3. 开发者需一次性支付25美元注册费,即可发布应用。
  • iOS
    1. 应用使用 Objective-CSwift 编程。
    2. 开发者需每年支付99美元,以获取iOS SDK并在Apple App Store上发布应用。
    3. iOS SDK仅适用于Mac平台。
    4. 支付99美元后,应用在上架前还需经过审核流程,以确保其符合操作系统和产品制造商的要求。Apple在此方面做得很好,保证了App Store上应用的质量。

优势与不足分析

最后,我们来系统性地总结一下Android和iOS各自的优势与不足。

Android的优缺点

优点

  • 硬件选择多样:市场上有各种品牌和型号的Android设备。
  • 硬件功能丰富:提供不同的硬件能力、屏幕尺寸和功能。
  • 价格区间广泛:涵盖从低端到高端的各种价位。
  • 用户界面可定制:允许轻松定制主屏幕,可调整应用图标和添加小组件。

缺点

  • 碎片化问题:由于设备众多,系统升级和应用适配面临挑战。

iOS的优缺点

优点

  • 庞大的生态系统:拥有非常庞大的Apple App Store,并进行严格的应用质量检查。
  • 封闭的界面:移动运营商无法预装第三方应用。这对运营商不利,但对普通用户而言利弊参半(可能更安全、更简洁)。
  • 统一的软件升级:iOS拥有良好的软件升级系统,提供清晰的升级通知和提醒,并在升级时考虑设备兼容性。
  • 隐私控制:iOS在用户隐私信息(如通讯录、位置)控制方面做得较好,这是Apple设备用户所欣赏的。

缺点

  • 主屏幕定制选项有限:应用主要以图标行列排列,自定义灵活性较低。
  • 设备与价格选择单一:仅限Apple自家设备,价格通常较高。

总结

本节课中,我们一起学习了Android与iOS操作系统的全面比较。我们从开发背景、技术基础、应用生态、开发发布流程以及各自的优缺点等方面进行了分析。关键点在于:Android以其开放性、硬件多样性和高定制性著称;而iOS则以其统一的生态系统、严格的质控、顺畅的升级和较强的隐私保护为特点。理解这些差异有助于我们根据自身需求选择合适的平台和设备。

70:智能手机项目实战教程 📱

在本节课中,我们将学习如何利用AIDA64应用程序对智能手机的硬件、软件及网络进行实际测量与分析。我们将通过具体的操作界面,深入了解设备的各项规格和实时状态。


🚀 项目概述与工具介绍

上一节我们介绍了智能手机的软硬件基础,本节中我们来看看如何通过一个具体的工具进行实际测量。

我们将使用AIDA64应用程序。该应用可在Google Play商店和Apple App Store获取。它能提供智能手机的详细硬件与软件信息。

以下是AIDA64的主要功能:

  • 提供系统、CPU、网络、电池、操作系统等详细信息。
  • 适用于Android和iOS设备。

Android设备的主界面示例如下:

iPhone设备的主界面示例如下:


📊 设备与内存信息分析

现在,让我们深入查看Android设备的界面信息。设备型号显示为三星Galaxy S7,这是我们进行实验的设备。

请注意内存单元信息。通常我们只关注已安装的RAM(如4GB或8GB),但这里列出了所有存储和内存单元的详细信息。

以下是Android设备内存信息的详细列表:

  • 总内存可用内存
  • 内部存储总空间内部存储可用空间
  • 外部存储总空间外部存储可用空间

对于iPhone,我们可以在内存单元部分查看类似信息,包括设备型号、总存储空间、可用存储空间、总RAM和可用RAM。


⚙️ CPU与处理器架构解析

回到CPU和处理器信息部分。可以看到SoC(片上系统)型号和核心架构。例如,三星Exynos Octa芯片采用14纳米制程技术。

查看CPU核心详情,可以看到有八个核心,CPU时钟频率范围从442MHz到2.6GHz。在当前状态下,核心7和8处于休眠状态,核心5和6运行在728MHz,而核心1、2、3、4的运行频率则高得多,但仍未达到最大频率。

通过观察这些数据,可以了解智能手机当前的处理能力使用情况。我的手机并未高负荷运行,有空闲核心,且部分核心运行在较低频率。

需要理解其背后的架构。如本课程之前讲座所述,三星Exynos八核结构基于big.LITTLE架构,包含四个大核和四个小核。

big.LITTLE架构的核心思想是:

  • 大核处理繁重任务,针对高性能优化,能耗相对较低。
  • 小核处理轻量任务,针对低功耗优化。
  • 这种设计旨在根据任务需求智能分配核心,以优化能效。

在iPhone方面,可以看到CPU是Apple A9(由三星制造),当前运行速度为1.85GHz,采用14纳米技术,拥有两个活跃核心。下方还显示了GPU信息,包含六个核心。


🖥️ 显示与网络信息查看

进入Android设备的显示信息部分,可以看到屏幕分辨率、尺寸、对角线长度、像素密度、GPU供应商等信息。例如,GPU拥有20个核心,但当前未被利用。

对于iPhone的显示详情,可以看到屏幕尺寸、宽高比、像素密度、分辨率(垂直和水平)、对比度、亮度、支持的技术以及色彩伽马值。

回到Android设备,查看网络信息。显示当前为GSM类型,网络基于LTE(在韩国)。数据连接状态为断开,数据活动为无。然而,在Wi-Fi方面,提供了详细信息:已启用,正在使用2.4GHz ISM频段。SSID显示为“CNL”,这是我的实验室(通信网络实验室)接入点的名称,并非协议名称。此外,还显示了基站ID、信号强度(-48 dBm,优秀)、支持速率(54 Mbps)、网络ID、网关、子网掩码和DNS信息。

然后是iPhone的网络信息。可以看到当前连接信息:支持LTE、CDMA、UMTS和HSDPA,但目前正在使用LTE。基带使用的是高通芯片。

此外,还有Wi-Fi IPv4、Wi-Fi IPv6(未使用)信息。蜂窝LTE网络当前使用IPv4地址,目前未使用IPv6。


🧭 传感器与系统信息

传感器列表显示了设备内部的所有传感器。包括加速度计、磁力计、其他生物识别信息、陀螺仪和其他颜色传感器。这些信息是动态的。

对于iPhone,显示信息包括GPS信息(经度、纬度)、旋转信息、加速度信息以及检测到的磁场信息。

操作系统信息显示在此处。当前Android设备使用的是Android 7.0 Nougat,我们在课程中已解释过其含义和主要功能升级。iPhone使用的是基于版本11.2.1的iOS。检查操作系统版本很重要,因为它决定了设备可能支持的功能。

电池信息至关重要。可以看到电池电量在46%左右,并显示了电池状况、整体温度以及电池类型。

对于iPhone,可以看到相关的电池信息,此时电池已充满电。显示了电池的整体容量、类型以及其他信息。


📚 课程总结与参考资料

本节课中,我们一起学习了如何使用AIDA64工具对智能手机进行全面的硬件、软件和网络状态分析。我们查看了设备型号、内存、CPU架构(特别是big.LITTLE设计)、显示规格、网络连接、传感器数据、操作系统版本和电池信息。

这些实践测量帮助我们更直观地理解了智能手机内部复杂的工作机制和实时状态。

以下是我使用的参考资料,我强烈推荐给你:

71:移动网络项目 📱

在本节课中,我们将学习如何监控和分析智能手机所连接的移动通信网络。我们将使用特定的应用程序来查看网络状态、信号强度和质量指标,并理解这些数据背后的含义。

上一节我们介绍了智能手机的内部结构。本节中,我们来看看智能手机的外部连接,特别是它与移动通信网络的交互。我们将专注于移动网络,而基于Wi-Fi或蓝牙的物联网连接将在后续课程中讨论。

项目概述:网络状态监控与分析

本项目旨在通过特定应用程序,监测和分析您智能手机的网络状态。我们将从Google Play商店的“Network Cell Info”应用开始。苹果App Store中也有类似应用,稍后会提供详细信息。

以下是本项目的核心步骤:

  1. 安装应用:在Android设备上安装“Network Cell Info”应用。
  2. 监控网络状态:观察并记录您智能手机连接的网络类型和信号信息。
  3. 分析数据:理解应用提供的各项指标,如信号强度、质量和基站信息。

核心概念:网络类型与信号指标

移动网络类型,正式称为无线接入技术。常见的类型包括2G、3G、4G以及即将普及的5G。

应用可以显示服务小区和邻近小区的详细信息,并通过仪表盘标签提供可视化的概览信息。

在应用中,您可以查看蜂窝网络或Wi-Fi的连接状态。原始数据标签提供了网络状态的详细信息,包括服务基站和邻近基站的信息。

以下是应用显示的关键信号测量指标:

  • 参考信号接收功率:这是参考信号在全带宽和窄带上的功率。在之前的LTE示例中我们提到过它。
  • 参考信号接收质量:这是一个基于载波干扰比的测量值,表示接收到的参考信号的质量。OFDM信号基于密集排列的正交载波,因此我们不仅关注整体信号,还关注每个载波的干扰情况。
  • 参考信号信噪比:这是参考信号的信噪比,用于指示链路的质量。
  • 任意强度单位:这是一个与手机测量的接收信号强度成正比的整数值。
  • 信道质量指示:这个指标携带了关于通信信道质量好坏的的信息。

数据可视化:图表解读

图表标签提供了可视化的RSRP图表。底部的图例中,绿色代表服务小区的RSRP,蓝色代表邻近小区的RSRP。

第二个图表提供了服务小区信号强度的可视化信息。图例在底部,您可以看到以dBm和dB为单位的数值。其中,绿线代表服务小区的RSRP,天蓝色线代表服务小区的RSRQ,深蓝色线代表服务小区的RSNR。所有这些都基于服务小区的统计数据。

单位解析:dBW与dBm

您看到的单位是dB或dBm,它们代表什么?

  • dBW:这是以1瓦特为参考的功率比的分贝值,用于电力能源系统。计算公式为:dBW = 10 * log10(P / 1W),其中P是接收到的功率。
  • dBm:这是以1毫瓦为参考的功率比的分贝值,通常用于无线电、无线通信、微波或光纤信号等更小的电子或光学信号。计算公式为:dBm = 10 * log10(P / 1mW)

dBm和dBW之间的换算关系是:dBW = dBm - 30

功率参考值

了解一些常见的功率参考值有助于解读信号强度:

  • 1000瓦:常用于家用或商用的微波炉。
  • 2瓦:用于3G UMTS功率等级1或GSM 850/900MHz频段的手机最大输出功率。
  • 0.5瓦:用于3G UMTS功率等级2。
  • 0.251瓦:这是一个非常常见的数值,用于3G功率等级3的手机最大输出,也用于5GHz频段、20MHz信道的802.11a Wi-Fi。
  • 0.1瓦:用于2.4GHz频段、20MHz信道的802.11b/g Wi-Fi以及蓝牙Class 1射频系统。
  • 32毫瓦:典型的笔记本电脑、平板电脑使用的Wi-Fi功率,对应15 dBm。
  • 2.5毫瓦:蓝牙Class 2射频的典型功率,对应4 dBm。
  • 1毫瓦:蓝牙Class 3短距离通信的功率,对应0 dBm。
  • 0.1皮瓦:这大约是接收信号的底线,对应-100 dBm。如果接收信号低于此值,大多数移动通信、Wi-Fi或蓝牙设备将无法成功建立连接。即使略高于此值,通信质量也可能很差。

统计信息与应用

统计数据标签以百分比形式显示不同网络类型的使用比例。

对于苹果设备,App Store中有类似应用,例如“Open Signal”。它可以查找免费Wi-Fi、进行Wi-Fi和蜂窝网络速度测试、检查数据使用情况。界面中间会有一个圆圈,显示天线连接水平以及发现的网络类型。

它显示的信息包括重要的网络数据和估计的位置。

另一个苹果应用是“Field Tester”,可用于评估手机信号强度和数据/Wi-Fi网络质量,适用于iOS 10及以上系统。界面会显示整体连接、电话信号、延迟信息、数据网络和Wi-Fi状态是否活跃,以及包括经纬度在内的GPS信息。

还有“Network Utility”应用,可以提供关于网络、Wi-Fi和蜂窝网络的详细信息。在界面顶部,您可以看到互联网服务提供商。此外,还可以查看蜂窝网络信息,如供应商、网络类型、数据使用量等。

iPhone内置工具:工程模式

iOS的工程模式是一个强大的内置工具。进入该模式后,可以查看服务小区的测量值,如RSSI、平均RSRP和物理小区ID。

您可能担心进入工程模式后如何退出。只需按下Home键,即可直接返回主屏幕。

进入工程模式的方法是:在拨号界面输入*3001#12345#*,然后按下绿色的呼叫按钮。您可以在其中找到服务小区的信号强度、RSRP和PCI等重要信息。

总结

本节课中,我们一起学习了如何通过特定应用程序监控和分析移动网络。我们了解了关键的信号指标、数据可视化图表、功率单位dBW和dBm的含义,以及一些常见的功率参考值。我们还介绍了适用于Android和iOS设备的多种工具,包括利用iPhone内置的工程模式进行深度网络诊断。掌握这些知识,将帮助您更好地理解智能手机的无线连接性能。

72:物联网、无线网络与云计算新兴技术介绍 🚀

在本课程中,我们将学习物联网、无线网络与云计算等新兴技术的基础知识、架构、关键组件及其应用。课程内容涵盖从市场分析到具体技术实现,旨在为初学者构建一个清晰的知识框架。


课程模块概览

本课程包含以下核心模块:

  • 物联网业务与产品:探讨物联网的市场、产业及服务模式。
  • 物联网架构与技术:深入分析物联网的层次结构、传感器和主流硬件平台。
  • 物联网网络:重点研究Wi-Fi和蓝牙等无线通信技术。
  • 基于云的技术:学习云计算的服务模型和主要提供商。
  • 实践项目:通过动手项目,综合应用物联网、蓝牙、Wi-Fi和AWS EC2云服务。

模块详解与学习路径

上一节我们概述了课程的整体结构,本节中我们将逐一深入了解每个模块的具体内容。

以下是各模块的详细学习要点:

  1. 物联网市场与产业

    • 详细回顾物联网市场现状与产业链。
    • 分析物联网的功能单元与服务模式。
  2. 物联网生态系统

    • 研究物联网与机器对机器通信的生态系统。
    • 了解相关的服务描述、模型及支持厂商。
  3. 物联网架构层

    • 探讨物联网各架构层(如感知层、网络层、应用层)的功能及其相互关系。
  4. 传感器与射频识别技术

    • 学习各类传感器的具体功能,它们是物联网感知物理世界的基础。
    • 研究RFID单元的不同类型及其技术规格。
  5. 物联网硬件平台

    • 聚焦主流物联网开发平台,如Arduino、树莓派和BeagleBoard系统。
    • 比较各平台的规格、优缺点及特性。
  6. 物联网网络架构

    • 分析物联网的网络架构,包括可穿戴设备网络及其在生物识别与健康监测系统中的应用。

  1. ISM频段与无线技术

    • 探讨ISM频段,这是物联网服务常用的无线频段。
    • 比较各类无线技术:
      • 无线局域网:以Wi-Fi为代表。
      • 无线个域网:以蓝牙、ZigBee和6LoWPAN为代表。
      • 低功耗广域网:以LoRa和SigFox为代表。
    • 从数据速率和服务范围等角度,分析这些技术的共存关系与服务特性。
  2. 移动通信物联网技术

    • 研究基于3GPP标准的移动通信物联网支持技术,了解其标准演进如何服务于物联网。

  1. Wi-Fi技术深度解析

    • 分析无线局域网市场与主要厂商。
    • 学习基础设施模式和自组织模式等Wi-Fi网络架构。
    • 探讨2.4 GHz和5 GHz双频技术带来的优势。
  2. 蓝牙技术深度解析

    • 聚焦蓝牙网络、微微网及其服务信道。
    • 详细介绍低功耗蓝牙技术。
    • 回顾蓝牙技术的整体演进历程与新版本特性。
    • 深入理解蓝牙协议的技术特点。
  3. 云计算技术

    • 分析云计算市场的份额、主要服务与产品类别。
    • 聚焦四大云服务提供商:亚马逊AWS、微软、IBM和谷歌。
    • 详解三大服务模型:
      • 软件即服务SaaS
      • 平台即服务PaaS
      • 基础设施即服务IaaS
    • 探讨虚拟机的交付与运行模式、PaaS的服务提供与集成开发环境作用,以及SaaS的云连接与业务流程。

  1. 边缘计算技术
    • 学习雾计算、移动边缘计算和云际计算等前沿边缘计算技术。
    • 理解这些技术如何将计算资源靠近用户,以减少骨干网络流量并提升服务响应速度。


实践项目环节

理论需要结合实践。在掌握了核心技术概念后,我们将通过以下项目进行综合应用。

以下是三个动手实践项目:

  1. 蓝牙扫描项目
    • 使用扫描工具探测周边蓝牙设备及其位置。
    • 分析特定设备(如Gear S3智能手表)的详细信号特征。

  1. Wi-Fi网络分析项目

    • 研究Wi-Fi网络特性与信号接收。
    • 分析2.4 GHz和5 GHz频段中具体子信道的使用情况。
  2. AWS EC2云服务器项目

    • 在亚马逊AWS云平台上,亲手创建并配置一台EC2虚拟服务器。
    • 学习云服务器的基本操作,并在此基础上完成更复杂的解决方案。

总结

在本节课中,我们一起学习了《物联网、无线网络与云计算新兴技术》课程的完整框架。我们从物联网的市场与架构出发,逐步深入到传感器、无线通信、云计算及边缘计算等具体技术领域,并规划了相应的实践项目。希望本介绍能为你接下来的学习提供清晰的路线图。

期待在后续的课程中与你共同探索这些精彩的技术内容。

73:1_1.1 物联网商业和行业领域(第1部分)📡

概述

在本节课中,我们将要学习物联网(IoT)的基本概念、其网络规模、影响力以及北美市场的概况。我们将探讨物联网如何连接万物,并分析其在商业和消费领域的巨大潜力。


物联网网络是物联网需要支持的关键特性之一。它的核心是连接物品、人员、应用程序和数据。为了实现连接,网络是必不可少的。它通过互联网进行连接,因此我们将这项新兴技术统称为物联网(IoT)。物联网的基本目标是连接所有可控制且需要被监控的事物。它实现了远程控制、管理、交互和集成服务。

上一节我们介绍了物联网的基本定义和目标,本节中我们来看看物联网的网络规模。

物联网网络规模方面,移动设备的数量将超过地球上的人口数量。全球人口大约为76亿,而移动设备的数量预计将超过这个数字,因为一些人会拥有不止一个智能设备来满足需求。想一想,你可能已经拥有智能平板电脑或智能手表,未来你还可能拥有支持增强现实和各种虚拟现实交互服务的智能眼镜。此外,还将有智能可穿戴设备,如鞋子、腰带、领带等各种组件。考虑到这些,预计移动设备,特别是智能设备的数量将超过人口数量,这是非常明显的。

以下是基于此规模的一些预测:

  • 到2020年,将有500亿个物品连接到互联网,这是一个巨大的数字。
  • 此外,需要考虑到76亿的总人口与500亿物品的对比。因此,在我们的工作场所、从家到办公室的途中或家中,考虑围绕每个用户的物品数量并取平均值,就可以看到物联网设备将被部署的广阔范围和方式。这也使得物联网服务支持变得如此重要。

我们在这个领域有很多工作要做。一些先进的物联网设备需要收集、分析和处理原始传感器数据片段,并将其转化为操作控制信息。

可以这样理解:当我说原始传感器数据时,这些是数字、度量值、符号、可能没有特定含义的文本值。然而,一旦你收集了它,并将其与其他收集到的信息放在一起,你就会得到信息——即具有某种意义、能给你指示、告诉你警报或该做什么不该做什么的东西。通常,这就是我们将数据转化为信息的意思。

物联网网络规模庞大,一些传感器数据库可能因物联网设备数量巨大而拥有海量规模。因此,物联网数据库将需要云计算的支持,以处理收集到的海量数据。此外,为了将我们接收到的数据转化为信息,云计算也将成为应用大数据技术的基础。这将使大数据服务能够支持通过我们的原始数据源进行信息转化。

为了做到这一点,大数据引擎需要做的是:

  • 首先,使用各种过滤技术过滤掉无用信息。
  • 整合重要的信息。
  • 权衡更重要和较不重要的信息。
  • 将其聚合成一种形式,使我们能够准确获得我们想知道的信息,那将成为我们的核心信息。

上一节我们探讨了物联网的规模和数据转化,本节中我们来看看物联网的影响力。

物联网的影响力显然是巨大的,它将以各种方式改变世界。

  • 首先,从人开始,我们可以监控和控制更多事物,因此人们将变得更有能力。
  • 在流程方面,更多用户和机器可以实时协作,这将使得更复杂的任务能够在更短的时间内完成。
  • 在数据方面,可以更频繁、更可靠地收集数据。这些结果将使我们能够做出更准确的决策,从而控制这数百万乃至数十亿的物联网模块,使我们能够在现有基础设施上获得更安全和更高的生产力。
  • 此外,物品本身也变得更具可控性。移动设备和物品变得更有价值。可以这样想:你有一个可以打开灯的开关,然而,如果有一种方法可以让灯调暗、调亮并根据需要改变颜色,仅仅想到这样一个简单的应用,就会让你的光源以多种不同的方式变得更有用。就像这样,如果有一种方法能以非常符合你需求的特定方式控制某物,那么它就会变得有价值得多。这就是物联网技术将为你提供的。

上一节我们了解了物联网的广泛影响力,本节中我们聚焦于北美物联网市场与行业。

北美物联网市场与行业概况如下:总体而言,出现了2888家公司和产品,这个数据基于一份非常出色的参考资料,我推荐你详细阅读。此外,融资总额达1250亿美元。有95家独角兽初创公司,这意味着这些初创公司通过各种投资获得了超过10亿美元的资-源。由此产生的物联网市场和行业领域的员工数量为34.2万人,并且预计会变得更大。总体而言,物联网技术在北美(通常指美国和加拿大)创造了6130亿美元的总价值。

观察物联网市场和行业趋势,其中蓝色代表消费者领域,橙色代表商业领域。你可能会发现一个有点令人惊讶的现象:基于已安装的物联网单元总数,消费者领域的总体规模大于商业领域。这意味着,个体客户购买和使用的这些单个组件,其总和实际上超过了核心商业领域本身的使用量。这表明未来存在着更大的潜力,一个广阔的蓝海市场,尤其是在消费者领域。因为当消费者决定他们想要改变,或者有新产品能增加他们所做事情的价值或让他们的工作更轻松时,显然不止一个人,而是数亿到数十亿的人会想要它、需要它、获得它,并使他们的生活更高效、更有效。因此,代表消费者已安装物联网单元数量的这条蓝线,实际上本身就是物联网未来市场和行业领域的一片蓝海。

继续看物联网终端支出,自然因为它是终端技术,你可能认为更多的是面向商业的用途和基于商业或行业的应用。然而,即使在这个趋势中,与这里看到的商业线相比,总体个人消费者线在这里交叉。从这一点之后,你可以预期这个差距会变得更大。此外,看看我们这里的数值,单位是百万。所以这里的最低基数6466,其中的6代表600万,因此这些数字确实非常巨大,范围在数百、数千、数万亿甚至更高,这就是我们未来所预期的。随着这条线不断上升,我们获得更多服务,我们将进入一个预计在2030年左右达到数百亿级别的市场。延伸这条线,想想如果这种趋势持续下去(预计会持续),未来会发生什么。所以请更加关注这门课程,与我一起,引领技术、商业和工业的未来。


总结

本节课中我们一起学习了物联网的核心概念,它旨在连接并远程控制万物。我们探讨了物联网设备数量将远超人口的巨大网络规模,以及数据如何通过云计算和大数据技术转化为有价值的信息。我们还分析了物联网在提升人的能力、优化流程和决策方面的影响力。最后,我们审视了北美物联网市场的现状,特别是消费者领域展现出的巨大增长潜力和蓝海市场机会。物联网正在并将持续深刻地改变世界。

74:2_1.1 物联网商业和行业领域(第2部分)📚

在本节课中,我们将学习物联网市场与行业的细分领域,特别是“连接智能”与“连接边缘”这两个核心部分。我们将探讨它们各自包含的关键技术,并理解它们如何共同构成物联网的生态系统。

上一节我们介绍了物联网市场的第一个细分领域“连接应用与流程”,本节中我们来看看另外两个重要的组成部分。

连接智能:数据与云的智慧 🧠

“连接智能”领域包含两个核心要素:智能数据智能云技术。

智能数据主要涉及大数据引擎。这些引擎负责汇聚和收集各种类型的半结构化、非结构化以及结构化数据。其核心工作流程如下:

  1. 汇聚与收集:从不同源头聚合数据。
  2. 过滤与提取:筛选数据,并从中提取必要的键值对
  3. 加权与分析:对数据进行重要性加权,并从中提取有用信息。

为了处理海量数据、赋予其意义并提取面向未来的洞察,大数据引擎天然地融合了机器学习和人工智能技术,从而使数据变得“智能”。

为了承载如此大规模的数据处理任务,我们必然需要云的支持,即云计算。那么,什么是“智能云”呢?智能云通常提供以下支持:

  • 基础设施:提供计算、存储和网络资源。
  • 平台:提供开发和运行应用程序的环境。
  • 软件功能:提供各种服务以支持应用程序运行。

这就是云计算的核心作用。关于云计算的更多细节,我们将在后续课程模块中深入探讨。

连接边缘:万物互联的末梢 🌐

接下来是“连接边缘”。这里的“边缘”指的是连接自主的物体。

这意味着我们拥有新的、连接到主干基础设施的物体或实体。它们接收智能信息和指导,并能基于指令自动运行。其具体运作方式是:小的、即时的决策被预先编程,以确保它们安全、稳定、可靠地运行;而整体的行动范围和方式则由更大规模的系统以及人类的控制和监控来指导。

以下是连接边缘的典型示例:

  • 智能汽车/自动驾驶汽车:作为自主物体,它们通过车载单元连接到智能交通系统。
  • 智能交通系统:包含路侧单元和车载单元。车载单元是车辆的“大脑”,路侧单元则连接到ITS主干网络,提供导航、交通控制、安全及应急支持(如为救护车、消防车提供便利)。

所有这些连接在一起,形成了由连接和自控物体构成的系统,这就是“连接边缘”的含义——连接一直延伸到为人类提供直接服务的终端设备。

支撑边缘:智能网络的重要性 📡

为了支持这些连接的自主物体,我们当然需要一个能够连接到边缘的智能网络

网络为什么必须是“智能”的呢?原因在于,物联网设备所使用的网络类型会随着场景变化而逐级改变。

  • 核心网:连接国家之间(通过卫星、海底光缆)以及国内城市之间(距离数百公里)。
  • 城域网/区域网:连接城市或区域内部。
  • 局域网:连接建筑物、工厂或校园内部。

这些网络采用不同的协议、以不同的方式运行,并在不同的网络实体和子网组中进行安全和管理。将它们无缝连接,使其像一个具有统一协议和运维的整体网络一样协同工作,是一项需要智能支持的复杂技术组合。

在未来物联网市场中,设备会不断移动并切换所连接的网络。例如,一个人佩戴的智能手表、口袋里的智能平板、智能腰带、智能鞋和增强现实眼镜,在移动时可能需要根据所需服务,连接到移动通信网络、不同技术的Wi-Fi或蓝牙等。

正因为有如此多样化的技术需要被智能地管理和控制,所以我们才需要“智能网络”。


本节课中我们一起学习了物联网市场与行业的三大细分领域。我们深入探讨了“连接智能”,它通过大数据引擎云计算使数据变得有用;也分析了“连接边缘”,它涉及自主物体(如自动驾驶汽车)与智能交通系统的交互;最后,我们理解了支撑这一切的智能网络的必要性,它确保各种异构网络能像单一网络一样无缝协同工作,以支持移动的物联网设备。这些部分共同构成了一个完整、智能且互联的物联网世界。

75:物联网商业与行业领域(第3部分)🚀

在本节课中,我们将继续探讨物联网在商业和行业中的具体应用领域。我们将了解物联网技术如何融入消费者生活、企业运营及关键行业,从而创造更智能、更高效的服务与产品。

上一节我们介绍了物联网在部分商业领域的应用,本节中我们来看看物联网在更广泛的消费者与企业服务中的具体表现。

智能消费者与用户领域

进入连接应用与流程的领域,我们可以看到多种多样的应用。以下是该领域的主要组成部分:

1. 辅助现实
例如谷歌眼镜和微软等公司支持的产品。这里指的是增强现实、混合现实或部分虚拟现实相结合的技术。这些技术能提供导航指引,并随时随地提供所需的娱乐内容。

2. 智能家居
智能家居的概念是,家中的物联网模块连接到一个云平台,该平台由用户选择的支持服务进行监控和维护。这可能涉及以下功能:自动检测冰箱或橱柜中缺少的食品并下单;在用户不在家时,将送达的物资安全存放在具备温控、压力与湿度控制的环境中,待用户回家后再取用。这一切都基于符合用户日程安排的便利性。

3. 联网汽车
联网汽车,或者说自动驾驶汽车、智能汽车,它们可以自主行驶。即使不能完全自动驾驶,各种辅助技术也能发挥作用:防止驶入错误地点;提前预判以避免事故;提前警示以避免违反交通信号,从而避免罚单和罚款,保住驾照。此外,这些安全机制、自动驾驶系统以及支持服务都连接到智能交通系统骨干网络。该网络通过路侧单元和设备,以及车辆上的车载单元和设备为用户提供支持。

接下来,我们将目光转向对个人福祉至关重要的领域——智能健康。

智能健康

智能健康的作用显而易见:监测脉搏;如有血压问题则监测血压;如有糖尿病则测量血糖水平(新技术正致力于实现无创测量);监测心率、总体出汗和紧张程度;预测是否会昏厥;在昏厥时能否自动呼救;在窒息、心脏病发作或高血压引发癫痫时,能否立即呼叫救护车支持。这就是智能健康要实现的目标。

当然,你的健康状况与你购买和需要购买的商品相关联。此外,当你进行个人操作、购物、做出企业对企业或企业对消费者的决策时,你需要运行自身的基础设施,并需要利用基于物联网的共享经济技术。

这实际上直接将我们带入了智能企业的领域。

智能企业与服务

智能企业服务将我们已讨论的内容提升到更深的层次,以支持商业运营、行政管理、销售,并深入到制造业。

1. 交通运输
我们谈论交通运输时,当然会提到上一部分的联网汽车。若想让智能汽车联网,你需要一辆智能汽车;若想将智能汽车连接到智能交通系统整体网络,你必须拥有智能交通网络。所有这些都得到交通运输业务的支持。此外,还包括我们即将在目标服务中讨论的大众交通业务,例如优步等技术。

2. 零售业
对于零售业的智能企业,物联网市场和行业已非常明显。这是我们长期以来一直看到的事物,它将变得更加普遍和日常化。零售部分涉及物流——确保合适的产品在正确的时间出现在正确的地点,数量不多不少。此外,不仅包括物流,如果无法在商店交付给个人,需要送货上门或到其公司时,所有这些都整合于此。像亚马逊、沃尔玛这样的公司正在基于物联网的智能企业零售领域做得非常出色。

3. 建筑与施工
想想这个领域,智能建筑系统是建筑的新趋势。它将供暖、空调、照明以及整个基础设施全部整合在一起,确保资源不被浪费:温度适宜、湿度恰当、亮度足够,使建筑内各区域能在合适的环境下运作,同时防止资源浪费,保障基础设施安全,并预防意外事故和犯罪。这就是智能建筑或智能建筑系统。当然,要拥有这样的系统,你必须建造它。如果你想建造一座能预防事故、打滑、多车连环碰撞,并能根据结冰、下雨、起雾等不同条件控制整体摩擦力和路况、照明的智能桥梁,那么在建造时就需要植入智能技术以确保其正常工作。这就是基于智能企业的施工技术。

4. 制造业
制造业正变得智能化,即基于智能工厂的技术。其核心思想是:不再盲目生产所有产品然后运往各地希望售出,而是根据用户需求精确定制产品,在几天内配以完美匹配的配件送达用户家中。这样可以节省时间、精力和材料,避免生产滞销产品,从而防止资源浪费和仓储空间的浪费(因为滞销产品需要存储空间,直到能以超低价清仓处理)。智能制造正是为了解决这些问题。

5. 石油、天然气与能源
当然,这涉及能源消耗和智能电表。我们谈论的不再是仅显示和记录已用电量的传统模拟电表,而是能够预测未来使用量、控制用量、确保不浪费能源的智能电表。将这些智能电表连接到家庭、企业和房间正是我们所讨论的。此外,石油和天然气方面可以这样理解:电力相对容易开关控制,尽管在大型发电厂层面控制也不简单且耗时,但其输送系统在特定节点是可控制的。然而,石油和天然气作为流体或气体,其流动动力学不那么容易控制。基于智能企业的控制服务可以使这些石油和天然气实体实现智能控制,从而:第一,将所需资源输送到需要的地方;第二,在不需要时可以停止流动,将剩余资源用于支持其他需要的地区。想想看,日出日落,我们在白天、早晨、下午、夜晚以及睡眠时所需的资源都在变化,我们所在的位置也在变化。因此,在正确的时间、正确的地点、以正确的数量提供所需的资源,正是石油、天然气和能源智能企业服务所谈论的内容。

6. 医疗保健
基于智能企业的医疗保健。典型的应用包括:预防患者发生各种事故;为保险公司节省开支。此外,在我们的整体系统中,我们可能去多家医院。在一家医院基于所显示症状做出的整体诊断信息被保存并上传到云端。这些数据以可与健康数据以及医生用于诊断疾病、根据患者特定症状制定治疗方案的系统互操作的格式存在。为了实现这一点,你需要将旧档案保存在云端,并根据其他医院、医疗服务系统或保险公司可能使用的不同数据格式传输过去。为了与所有这些不同的数据库、协议和软件平台互操作,正是智能化医疗保健服务能够提供帮助的地方。


本节课中,我们一起学习了物联网在智能消费、智能健康及多个关键企业服务领域(如交通、零售、建筑、制造、能源和医疗)的具体应用。我们看到,物联网技术通过深度集成,正在重塑商业运营模式与个人生活方式,其核心在于实现资源优化、流程自动化与服务的个性化定制。

76:4_1.1 物联网商业和行业领域(第4部分)📚

概述

在本节课中,我们将学习物联网(IoT)生态系统中的几个核心组成部分,包括智能数据、数据安全、人工智能与机器学习、智能云以及云服务模式。这些技术共同构成了现代物联网解决方案的基础。

智能数据

上一节我们讨论了物联网的硬件和网络层面,本节中我们来看看数据层面。数据有多种类型。

以下是数据的主要分类:

  • 结构化数据:指已经具备固定格式的数据,通常存储在数据库中。例如,在Microsoft Excel工作表中,数据必须按正确的格式和范围填入特定的行和列,否则系统会报错。这种数据易于用传统数据库工具处理。
  • 非结构化数据:指没有固定格式的数据。例如,我们拍摄的照片、各种文档、社交媒体上交换的文本信息,或者在搜索引擎中输入的关键词。这类数据无法直接放入传统的行列式数据库。
  • 半结构化数据:指具有一定结构但并非完全规范的数据。例如,XML或JSON格式的文件。

将非结构化和半结构化数据转化为可从中提取海量隐藏信息的数据库,正是大数据技术的核心任务。

数据安全

智能数据必须得到保护。数据需要以不同规模进行传输,有时是小文件,有时则是整个或部分数据库这样的大文件。

有多种技术支持大数据引擎在不同地点间安全地移动大型文件,例如Flume等技术。数据安全至关重要,特别是某些数据需要比其他数据更高级别的保护。因此,数据安全领域不断涌现新技术和初创公司,例如基于人工智能或深度学习的智能安全解决方案。

人工智能与机器学习

我们还有人工智能和机器学习技术,它们能完成各种任务。这是一个属于人工智能、机器学习和深度学习的新时代。

目前,人工智能和机器学习技术无处不在,从数据收集、数据集中、数据聚合到数据格式转换。例如,将视觉数据转换为文本,将文本转换为语音,或将一种视频格式转换为另一种格式。正是大数据技术、人工智能和机器学习,使得我们所说的“智能”成为可能,例如本页左侧提到的“智能数据”和“智能云”。人工智能和机器学习适用于一切领域,尤其是物联网技术。

智能云

我们需要云技术,本课程后续模块将更详细地讨论云计算。

那么,什么是物联网支持的云?为什么它如此重要?原因如下:物联网模块需要智能控制。它们将收集海量的各类传感器数据并传送到云端。云端需要过滤出重要信息,做出智能决策,然后控制物联网模块,以提供我们所需的服务。

为了实现这一点,我们需要云技术。这是因为,并非所有物联网设备都具备完整的决策和数据处理能力。此外,即使单个设备能处理自身生成或接收的数据,但要做出真正智能的决策,需要将它的数据与更大范围的数据相结合。例如,观察该区域其他设备的情况,或了解可能影响你业务的环境变化。这就需要结合和收集智能信息。

因此,即使你的设备能独立处理和决策,其准确性和功能性也有限。这正是需要智能云技术支持的地方。在许多情况下,物联网模块本身智能程度很低,处理能力有限,感知范围也窄。为了整合信息并做出基于海量微观信息的智能决策,你需要一个智能云。这就是为什么智能云和物联网技术密不可分,也是本课程同时涵盖物联网和云计算的原因。

云生命周期

这指的是通过云计算技术延长物联网设备、物联网市场和服务领域的生命周期。

实现这一点的方法有很多。从表面看,如果物联网设备能在正确的时间开启和关闭以节省能源,那么你所管理或监控的整个物联网领域的生命周期就会延长,无需频繁更换电池或部件。这样,你既提升了其价值,又节省了额外的基础设施投资,是多赢的局面。可实现的典型功能都基于此。

此外,还有事件与云集成。在基于事件的场景中会发生各种事情,云计算技术则集成这些信息,帮助你做出智能决策。因为当事件发生、环境变化或服务提供方式需要调整时,你需要做出智能决策。在许多情况下,系统无法预编程所有可能的应对和控制场景。基本上,当发生意外情况时,你的系统需要做出智能决策并响应出现的问题,这就需要各种技术的支持。

数据中心

我们再次谈到云计算。我们收集数据,根据数据类型将多个数据库整合到位于数据中心的整体数据仓库中。我们如何控制这一切?此外,数据中心内部包含的各种模块、存储模块以及数据中心本身都需要监控和控制,因为它是一个由大量计算机、内存单元、连接网络、巨大电源以及空调和各种传感器(用于防止洒水、控制湿度、避免事故)组成的超级大型设施。为此,你需要强大的技术来支持你的数据中心,而使其“智能化”无疑是保护和利用现有资源的明智投资。

数据安全(智能云层面)

我们已经讨论过数据安全。但在智能云中,再次强调,这里是所有重要信息的汇集地。自然,它也成为了黑客渴望攻击的目标。他们可能进行勒索软件攻击、拒绝服务攻击,或悄悄潜入、破坏系统、将其变成“僵尸计算机”并窃取重要信息。无论如何,你都不希望这些情况发生。你不希望你的云被污染、攻击或监视。如何保护它?这就是你需要解决的问题。

云服务模式:IaaS, PaaS, SaaS

在云计算中,我们基本上有三种基础服务模式。

以下是这三种核心服务模式:

  • 基础设施即服务:即IaaS。它支持我们所说的基础设施,换句话说,包括处理能力、数据库、网络安全以及你无法直接访问的大规模连接能力。然而,通过你的云连接,云服务提供商为你提供了你可以使用的基础设施接口。虽然这些资源不属于你,但通过订阅的云服务,你能够使用这些庞大的资源。这就是基础设施即服务。
  • 平台即服务:即PaaS。它提供你所不具备的各种平台技术,包括数据库服务、处理能力以及其他各种平台服务领域。一个例子是操作系统:你需要在不同的计算平台上使用各种操作系统,如Microsoft Windows、Linux、Unix、各种Ubuntu等。它们需要访问不同类型的数据库。什么能为你提供这些?那就是PaaS,即平台即服务。当然,还有更多内容。

总结

本节课我们一起学习了物联网生态中的关键使能技术。我们了解了智能数据的三种类型(结构化、非结构化、半结构化),认识了数据安全在数据传输与存储中的重要性,探讨了人工智能与机器学习如何为物联网注入“智能”。我们还深入分析了智能云与物联网协同工作的必要性,以及云如何通过生命周期管理事件集成提升物联网价值。最后,我们介绍了云计算的三种基本服务模式:IaaSPaaSSaaS。理解这些概念是构建和运用现代物联网解决方案的基础。

77:5_1.1 物联网商业和行业领域(第5部分)📡

概述

在本节课程中,我们将继续探讨物联网(IoT)的关键组成部分,特别是“连接与自主设备”这一广阔领域。我们将了解从可穿戴设备到卫星通信等多种技术,它们如何共同构成智能网络的基础,并驱动物联网应用的发展。


连接与自主设备领域详解

上一节我们介绍了物联网的宏观概念,本节中我们来看看构成物联网生态系统的具体设备与技术领域。这些“物”是物联网的物理载体和功能执行者。

以下是连接与自主设备涵盖的几个核心领域:

  • 可穿戴设备:指用户佩戴的设备,它们支持医疗保健、各类服务、交通设备,并能提供保护功能,例如保护使用者、设备或儿童。
  • 智能车辆:指配备智能物联网技术的车辆。课程中以Uber为例,将其作为通过智能物联网技术支持的连接与自主设备领域的一个典型代表。
  • 无人机:当前已进入无人机时代。未来无人机的数量和占比将大幅增加,并将提供广泛的服务,例如配送物品、执行救援、监控或治理任务。无人机将成为物联网领域中非常重要且必不可少的组成部分。
  • 机器人技术:涵盖众多领域的机器人。无人机是机器人技术的一部分。此外,还包括许多其他类型的机器人。这些技术可应用于微观层面(如MEMS技术,用于辅助小型计算设备、可穿戴设备乃至人体植入物),也可应用于大型层面(如在工厂、智能工厂以及各类运输和物流移动行业中工作的大型机器人)。
  • 智能机器:物联网离不开机器。这些机器涉及两个领域:一部分是机械和基础设施型的,另一部分是微电子型的。有些则同时存在于两个领域,例如MEMS技术,它结合了微观层面的电子学和机械学。这些技术可用于组合成更大型的机械基础设施系统。像ATM机以及其他驱动各类智能机器的公司都是这一领域的重要组成部分。

智能网络:物联网的基石

在了解了各种终端设备后,我们需要明白,物联网的基础在于万物都连接到一个网络,并最终接入更大的母网络——互联网。因此,智能网络是驱动、连接并实现物联网的必要条件。

以下是构成智能网络的关键技术:

  • VPN与网络安全:网络安全至关重要。此外,虚拟专用网络(VPN)也扮演着重要角色。许多公司、建筑以及上文提到的无人机和机器人,可能需要一个独立的私有网络进行控制,以防止他人监控、滥用资源、破坏服务质量、造成延迟或入侵系统。然而,建立真正的私有网络非常昂贵且困难,这时VPN便应运而生。VPN是一种虚拟专用网络,它并非真正的私有网络,而是一个公共的、共享的混合网络,具有大容量并能支持众多用户。但通过正确配置,你可以获得一条受保护的专用连接,以可靠、安全、可监控、可管理的方式获得所需的服务质量支持。正因如此,它被称为“虚拟”专用网络——你在共享平台上获得了所有私有网络的特性。
  • 以太网:我们通过以太网进行连接。以太网络将我们的计算机、Wi-Fi单元、蓝牙接入点等设备连接到TCP/IP网络。每个建筑、家庭、学校都会使用部分有线的以太网连接来连接电视、个人电脑以及提供Wi-Fi信号的接入点。以太网技术非常重要,它基于有线网络,至今仍显示出良好的增长和利用率,并将成为智能网络中集成的关键组成部分。
  • 平台:在各种服务中,平台无处不在。物联网设备拥有多种平台。一个真正易于使用、功能多样的新平台将主导市场。如果你有好的创意和支持方式,就有很大机会在物联网产业和市场的蓝海中占据重要份额。
  • 卫星技术:这是终极的远距离广域网连接技术。无论身处何地,卫星通信都能提供跨洲、跨世界的连接服务,这是其他任何技术都无法比拟的。卫星通信还提供基于位置的服务支持,例如提供GPS全球定位信息,获取经纬度数据,从而使用各种基于位置的服务(LBS)技术。因此,卫星将在智能网络中扮演重要角色,因为我们的智能网络需要连接世界各地的设备。
  • Wi-Fi技术:Wi-Fi是全球使用最广泛的无线技术协议之一。它非常普及,存在于每部智能手机上,几乎每个以太网网络都有一个接入点来提供Wi-Fi连接。以智能手机为例,通常支持移动通信、Wi-Fi和蓝牙这三种常见的无线移动连接技术。Wi-Fi是一个默认选项,对于平板电脑、笔记本电脑等设备,几乎都保证配备Wi-Fi功能,因此它至关重要。

总结

本节课我们一起学习了物联网中“连接与自主设备”的具体构成,包括可穿戴设备、智能车辆、无人机、机器人及智能机器等。同时,我们也深入探讨了支撑这些设备互联互通的智能网络技术,例如VPN以太网、各类平台卫星通信以及无处不在的Wi-Fi。理解这些组成部分如何协同工作,是掌握物联网生态系统如何运作的关键。

78:6_1.2 物联网产品和服务(第1部分)📡

在本节课中,我们将学习物联网领域的代表性产品与服务。我们将从硬件和软件两个层面,探讨一些领先或新兴的公司及其解决方案,了解它们如何推动市场发展并获得投资。

上一节我们介绍了物联网的宏观概念,本节中我们来看看具体的产品和服务实例。我们将选取几个来自不同重要领域的代表性公司进行分析,同时也关注一些正在崛起的新兴公司。了解这些公司的业务模式和市场表现,与研究大型企业的发展同样重要。

因此,我将这两部分内容结合起来,开始我们的学习。

物联网硬件:Atmel公司 💾

无论何种物联网应用,硬件都是基础。你需要处理器来运算,需要存储设备来保存数据,然后才能进行处理。这是所有物联网应用的基石。当然,在此之上还需要软件。

Atmel是一家半导体制造与设计公司。它开发各种微控制器、射频设备、闪存以及特定应用产品等。2015年,其营收达到11.7亿美元,其中很大一部分来自微控制器业务,而未来这部分业务将更多地服务于物联网硬件。

以下是Atmel的一个主要产品线:

  • AVR系列:这是Atmel的微控制器家族品牌。它是世界上最早使用片上闪存进行程序存储的微控制器之一。当时许多其他公司的微控制器使用一次性可编程ROM、EPROM等技术。片上闪存提供了更快的访问速度和显著优势,使得AVR微控制器芯片具有更快的处理能力和更低的功耗,这正是Atmel产品极具吸引力的原因。

在AVR产品线中,我们主要讨论的是megaAVR系列。这是一系列被Arduino物理计算平台采用的微控制器。

关于Arduino是什么,在后续讲解物联网技术的课程中,我会进行更详细的介绍。本节课我们主要聚焦于产品和服务层面。因此,一些你可能渴望了解的细节在本节课中不会深入展开,但请等待后续的模块,我会提供更多相关信息。现在,让我们专注于产品层面以及从这些设备中能获得的服务。

如图所示,这里展示的是各种Arduino开发板及其描述。中间一栏的描述显示,这些开发板支持入门级物联网和可穿戴技术设备。不同的Arduino开发板基于不同的微处理器,支持相应的研发工作。这些微处理器经过定制,以适应图中所示的各种服务。可以看到,这些Atmel AVR微控制器足以提供物联网技术的入门级支持。对于基于Arduino Uno和Arduino Leonardo的物联网开发环境来说,它们非常合适。

所谓“合适”是指,这些模块和开发板所支持的微处理器,其处理能力(例如每秒指令数、所需的浮点运算能力)正是为入门级物联网设备定制的。更详细支持物联网操作的是Arduino Yun和基于Arduino Ethernet的设备,支持它们的AVR处理器也在此列。我们也会关注一些处理能力指标,例如典型的ATmega328模块(这里也使用了328P型号,我们会在后续课程中讨论)。

此外,还有适用于开发可穿戴物联网应用的Arduino开发板,例如Arduino LilyPad,其支持的处理器类型也在此列出。

物联网软件:Android Things 📱

你很可能听说过Android,因为它很可能就在你的智能手机上。在现有的智能手机市场中,超过70%的设备由Android系统支持。因此,Android是全球智能手机和平板电脑中最主流的操作系统。这使其成为极具吸引力的物联网软件选择。

然而,如前所述,物联网设备的计算能力通常低于智能手机。因此,我们需要一个更轻量级、同时能支持物联网应用的Android操作系统,这就是Android Things的由来。

它是一个基于Android的嵌入式操作系统,源自谷歌过去的项目。它支持C++编程,也基于Java环境。得益于这些应用和编程语言的特性,它能够在动态领域中运行和使用。

Android Things最初支持Raspberry Pi 3和Intel Edison进行产品原型开发。关于Raspberry Pi 3是什么,我将在后续讲解物联网技术的课程中讨论,本节课暂不展开。如果你感兴趣,请稍作等待。

Android操作系统架构如图所示。观察整体结构,图中Things Support Library是一个库,其中包含了所有基于物联网的Android Things函数和过程。如果你需要基于上层的应用或旁边的Google服务,或者Java API框架,或者通过上下层架构与原生C/C++库交互来实现某些功能,这个库就位于Android操作系统(基于Linux内核)的分层架构中。

这一层为你提供了所需的详细功能和特性,用以开发非常高效的物联网技术。这些技术能与你的Android智能手机完美协作,因为它们基于相同的操作系统,并且拥有已经以高效节能和速度优化的方式集成在操作系统中的特殊功能和技术(两者都基于Linux内核)。

请注意,关于Android操作系统的更深入细节,不在本课程中讲解,而是在我的另一门关于智能设备和移动新兴技术的课程中。在那门课里,我会详细讨论iOS和Android操作系统。这是“从智能手机到物联网再到大数据”这个更大专业方向的一部分。我建议你去学习那门课程,以更深入地研究强大且广泛使用的Android操作系统。

进一步来看,Things Support Library API主要基于几个API单元:

  • 外围输入/输出API:支持这类物理连接。
  • 用户驱动程序API:使应用程序能够与硬件事件通信。如何实现?就是通过这个API,因此我们称之为驱动程序。用户驱动程序使得用户运行的应用程序能够与硬件单元、嵌入式系统组件、附件设备以及输入/输出设备进行通信。为了实现这个过程,你需要一个驱动程序,这就是用户驱动程序API的作用。
  • 控制功能:它还控制触摸板、键盘、游戏控制器和物理运动传感器。换句话说,如果你有一个游戏,并且使用游戏杆或遥控器(无论无线还是有线)来玩,那么你就需要用户驱动程序API,以便将游戏杆或控制面板的控制信号传递到连接电视的主游戏机,以及连接到互联网的环境传感器。

你需要某种机制来建立所有这些连接,并以低延迟、高可靠性、高吞吐量的方式提供服务,以确保游戏体验不会出现任何中断。你绝不希望因为网络连接和物联网支持不佳而导致游戏处于劣势或输掉比赛。如果要输,也应该是因为技不如人,而不是技术故障。因此,我们需要这些用户驱动程序API来确保尽可能可靠。

此外,还有为Android Things开发者提供的功能外设套件,包含Android代码示例。其中包括项目套件,以及一个基于“彩虹帽”的硬件设备附加在上面,这样我们就可以利用套件中的资源,开发各种易于开发的应用,并快速构建可定制为各种产品的开发模块。

在本节关于物联网产品和服务的课程中,你只会看到这些内容的一瞥。这个市场正在不断增长,在后续课程中,你将看到更多细节。

总结 📝

本节课中,我们一起学习了物联网领域的两类基础产品与服务。首先,我们探讨了物联网硬件代表Atmel公司及其AVR微控制器,特别是应用于Arduino平台的megaAVR系列,它们为入门级物联网设备提供了核心处理能力。接着,我们转向物联网软件,介绍了Android Things——一个为物联网设备优化的轻量级Android嵌入式操作系统,并了解了其架构中的关键支持库和API。这些硬件和软件基础共同支撑着丰富的物联网应用开发。

79:7_1.2 物联网产品和服务(第2部分)🚀

在本节课中,我们将继续探讨几个具有代表性的物联网公司及其解决方案。我们将了解它们如何通过创新的硬件、软件和服务,在特定领域解决实际问题并创造巨大价值。课程将涵盖从工业物联网平台到安全解决方案,再到改变我们日常生活的交通服务。


上一节我们介绍了一些物联网的基础概念,本节中我们来看看几个具体的物联网公司案例,了解它们的产品、服务以及成功的关键因素。

Samra:一体化物联网解决方案 🛠️

Samra 是一个提供硬件、软件和网络连接的一体化物联网解决方案公司。该公司成立于2015年,并在同年被《福布斯》和《财富》杂志评为未来领先的物联网公司之一。这个案例表明,只要拥有正确的技术并在合适的细分领域提供有价值的服务,物联网初创公司同样可以成为独角兽企业。

Samra 提供面向物联网网关、摄像头、传感器模块的集成平台,以及用于移动应用和云端仪表盘的软件。

以下是 Samra 解决方案的核心特点:

  • 易于部署:为工业领域提供易于部署的物联网技术。这一点至关重要,因为没有人希望使用难以编程、调试或学习的技术。
  • 快速安装:采用即插即用技术,支持在15分钟内完成直观的安装。仅需15分钟设置即可开始开发,这是一个非常吸引人的特性。
  • 多样化应用:其网关可用于车辆、无线环境监测等领域,并提供相应的软件解决方案。

此外,Samra 的解决方案还可用于车队管理行业。通过提供GPS跟踪、行车记录仪技术、Wi-Fi热点等多种功能,满足了行业的广泛需求。

Zingbox:专注于物联网安全 🔒

Zingbox 是一家开发企业级物联网安全解决方案的初创公司。它的核心功能是发现并保护已连接的物联网设备。该公司在2017年被提名為高德纳(Gartner)的“物联网安全领域酷供应商”,这显示了其技术的突出性。

该公司成立于2014年,获得了230万美元的天使投资,并在B轮融资中从戴尔科技资本和Tri Ventures等机构筹集了2200万美元。它于2017年2月9日推出了名为“IoT Guardian”的物联网安全产品。

那么,IoT Guardian 有何潜力能吸引如此大规模的投资?它声称是首个基于深度学习算法的工业安全解决方案。深度学习是机器学习的一个子集,而机器学习又是人工智能的一个分支。简单来说,这项技术能让系统自我学习如何应对各种情况,即使它没有被预先编程处理所有特定场景。

具体而言,Zingbox 的方案会深度分析每个物联网设备的数据,监控其可信行为,并强制执行这种可信行为,重点在于数据保护。

与之前的解决方案相比,Zingbox 的创新之处在于:

  • 检测机制不同:传统方案主要基于规则库更新来检测恶意软件和保护数据。而 Zingbox 致力于防御物联网设备的非标准行为偏差。
  • 技术基础不同:传统方案是规则驱动型的,依赖于预设的规则库。Zingbox 则利用深度学习技术,通过无监督学习机制来强制执行可信行为。
  • 部署方式不同:传统方案需要在终端安装产品。而 Zingbox 是无客户端的,无需安装和管理软件代理。

这种基于深度学习、高精度、且无需复杂客户端安装的安全方案,无疑具有巨大优势。

Uber:变革交通服务的物联网应用 🚗

Uber 是一家全球知名的公司,它通过大规模创新为交通行业带来了新面貌。人们对这类服务感兴趣,是因为它涉及衣食住行等生活必需品领域。任何能在这些领域提供便利、节省成本、使生活更高效安全的技术,都会受到大众欢迎。

Uber 本质上是一个物联网应用:它将汽车(物)通过互联网连接到服务器,再服务于用户。系统利用司机和乘客智能手机上的位置传感器数据,通过后端云系统进行分析和统计,从而优化匹配最佳的司机-乘客组合。

这种物联网应用使 Uber 在2018年将其服务扩展至84个国家的超过760个城市。在美国,Uber 占据了网约车市场77%的份额。其增长十分显著,例如在纽约市,其出行份额在2015年4月至2016年4月的一年内,就从15%增长到了27%。

以下是一些关键数据,展示了 Uber 的规模和影响力:

  • 总融资额:220亿美元
  • 2016年总收入:200亿美元
  • 2016年净收入:65亿美元
  • 2017年公司估值:690亿美元
  • 2017年司机平均月收入:364美元

这些数字说明了 Uber 为何如此杰出,以及它如何改变我们利用物联网技术的方式。随着更多物联网技术的出现,Uber 的服务和功能预计还将持续增长和进化。


本节课中我们一起学习了三家物联网公司的案例。我们看到了 Samra 如何通过一体化、易部署的平台服务于工业物联网;了解了 Zingbox 如何利用前沿的深度学习技术提供无客户端的物联网安全解决方案;也探讨了 Uber 如何将物联网应用于日常交通,彻底改变了我们的出行方式。这些案例表明,物联网的成功在于找准细分市场,利用核心技术解决实际需求,并为用户创造显著价值。

80:物联网产品与服务(第3部分)📡

在本节课中,我们将探讨物联网的经济影响、核心通信模式(如M2M)以及物联网在不同行业(如安防、交通、制造)的具体应用。我们还将了解构成物联网生态系统的关键参与者。


经济影响预测 📈

上一节我们介绍了物联网的基本概念,本节中我们来看看其宏观的经济影响。

总体而言,物联网的经济影响预测普遍乐观。物联网有潜力在2022年之前,将全球企业利润总额提升21%。这种影响主要体现在以下几个领域:

  • 资产利用率
  • 员工生产力
  • 供应链与物流
  • 客户体验
  • 创新

目前,这些预测数据仍在增长。随着物联网技术的持续发展,人们认为现有的预测可能偏于保守,未来实际影响可能更大。


M2M、M2P、P2M与P2P通信模式 🔄

理解了经济影响后,我们需要了解物联网中设备与人是如何交互的。这涉及到几种关键的通信模式。

物联网的一部分是智能模块,即传感器和物联网设备与服务器通信。服务器是机器,物联网设备也是机器,这种机器对机器(M2M) 的通信是核心。

另一方面,物联网也涉及包含人的交互组合。例如,一个联网设备为你提供警报、家庭安防或信用卡保护服务,然后你打电话给另一个人获取所需服务。这种人对人(P2P) 的交互,借助物联网技术,能帮助你在正确时间获得更好的服务。

还有人对机器(P2M) 的交互,例如我通过与服务器通信获取信息,以帮助做出明智的商业决策。有时甚至不需要我主动操作,我的智能手机可能检测到我的需求,自动获取并显示相关信息,这就是服务预测和内容预置。

为了实现这种在需要时即时获取服务的体验,相关的服务、内容和网络功能需要被预测、获取并推送到临近位置,然后在恰当时机呈现给我。例如,如果我佩戴增强现实智能眼镜,在商务活动中,即使我从未请求,正确的信息也会在恰当时刻显示在镜片上,只有我能看到。

如何实现这种预测和内容交付?这需要一个结合了智能网络、智能云、智能设备以及智能软硬件的协同结构。它是多种智能技术综合集成的成果。


物联网应用领域 🏭

在了解了通信模式后,我们来看看物联网具体在哪些领域发挥作用。

物联网的应用非常广泛,涵盖以下关键领域:

安防
支持监控、警报、实时物体与人员追踪。

交通
支持车队管理、道路安全、收费支付、实时交通监控,以及综合性的智能交通系统(ITS)。

制造
实现智能工厂。

供应与配置
例如分布式监控、自动售货机管理等。

设施管理
涵盖家庭、企业、楼宇、园区等各类场所的管理。

公用事业
包括智能计量设备,以及公用事业的供应、测量和计费。

医疗保健服务
涵盖电子医疗、个人安全、身体传感器设备等领域。


物联网生态系统中的关键角色 🤝

看过了应用领域,我们最后来认识一下构建和运营这些物联网解决方案的参与者。

观察整个物联网和M2M生态系统,可以从服务层面开始描述。关键角色包括:

服务与解决方案层

  • 商业服务提供商(BSP)商业解决方案提供商
  • 系统集成商企业物联网解决方案提供商

网络层

  • 网络运营商
  • 通信服务提供商
  • 传输基础设施提供商

软件层

  • 软件制造商,不仅包括应用软件,还包括中间件固件操作系统以及设备中运行的内核(如智能手机的Linux内核)等相关技术。

硬件层
包括GPS模块无线传感器可穿戴设备执行器嵌入式硬件设备等。本课程后续将有专门讲座深入讨论物联网技术、传感器、执行器及其他组件。


总结 📝

本节课我们一起学习了物联网的宏观经济影响预测,深入探讨了M2M、P2P、P2M等核心通信模式及其如何实现智能服务。我们还浏览了物联网在安防、交通、制造等多个行业的具体应用,并认识了构成物联网生态系统的各类关键参与者,包括服务提供商、网络运营商、软件和硬件制造商。下节课我们将更深入地探讨物联网的技术细节。

81:9_2.1 物联网架构(第1部分)🏗️

在本节课中,我们将要学习物联网架构的基本层次和底层技术,特别是传感器网络层及其相关组件。

物联网架构可以被划分为多个层次。底部是更基础的技术,如传感器和网络技术,向上则涉及管理,最顶层是应用层。我们将从底层开始,逐步向上介绍。

传感器网络层 📡

上一节我们介绍了物联网架构的整体分层,本节中我们来看看最底层的传感器网络层。

传感器网络层由传感器、执行器、标签(如RFID标签、条形码标签)以及其他各种传感技术组成。这些设备相互连接,多个模块再连接到网关和网络。

为了实现连接,我们需要网络技术。移动通信技术提供了连接到大范围广域网的能力,例如第二代移动通信GSM、第三代UMTS、第四代LTE/LTE-A技术。这些技术以有线和无线两种方式提供连接。此外,还有WiFi、以太网和各种网关控制技术,用于提供到网关和整体网络的连接。

服务提供管理工具基于设备建模、配置和管理组件,用于控制数据流、安全控制以及物联网网络的其他各种功能。所有这些都旨在支持应用层提出的直接需求。

应用层包括环境监测、人员追踪、零售、医疗保健、能源、交通、供应链等各种应用。这些技术由各层共同支持,以提供整体的物联网网络服务。

传感器与设备 🧩

接下来,我们聚焦于传感器层的具体组件。

在传感器层,底部是各种标签和传感器。这些设备被部署用于提供监控、检测运动、温度、湿度、亮度、各种气体以及其他传感功能,也包括健康监测设备。

这些收集和生成信息的单个传感器和标签,是我们在硬件层面关注的核心,由整体的传感器和执行器支持。

以下是传感器层包含的一些关键要素:

  • 传感器类型:包括测量倾斜度、运动、震动、速度变化、方向变化、光照水平变化等的传感器。
  • 网络连接:主要是无线连接,也有一些是有线连接。我们将在后续课程中讨论更多细节。

无线传感器网络 🌐

传感器层由传感器和智能设备组成,用于收集和处理实时信息。传感器通常使用低功耗和低数据率的连接方式。

我们形成了无线传感器网络,它们以自组织网络的形式连接,具有多种形态。这意味着它可能是一串设置在路边的长序列传感器,也可能是覆盖多层建筑的传感器网络,每层有多个传感器,整个建筑构成一个完整的传感器网络域。具体采用何种形式完全取决于应用、领域以及传感需要保护、收集和管理的环境。

传感器根据目的和数据类型进行分组。例如,当涉及热量、温度、湿度时,这类传感器可能会连接到火灾报警系统,与烟雾探测器等协同工作。此外,在节能方面,会关注光照水平、空调和供暖系统的使用情况,以及该区域是否有人。目的决定了整体传感器数据如何被收集、监控和联网。

因此,环境传感器、军事传感器、身体传感器、家庭传感器、监控传感器等都有其特定的领域和网络连接形式。

网关与网络连接 🔗

然后,我们有用于聚合传感器数据的网关。因为我们需要收集数据,过滤掉不必要的信息,并将任何重要信息发送给控制单元,以便它们得到更多关注,并在需要时做出控制操作响应。

局域网可以是以太网或WiFi连接。当我说LAN时,指的是局域网,例如以太网就是一种使用网线在建筑物内、楼层内、实验室内或办公室内连接的有线局域网。我们还有无线局域网,即WLAN,这基本上就是WiFi,我们很快会详细讨论。

比局域网更小的网络称为个域网。什么是个人区域网络?看看你现在所在的房间,你看到房间里的各种东西,比如你的电脑、显示器、笔记本电脑,还有控制空调和暖气的开关,控制窗帘、百叶窗的开关等。在这个我个人区域(即我所在的房间)内,我直接看到的模块就是你的个人区域。有专门的协议用于此,例如Zigbee、蓝牙。而当你谈论WiFi时,你指的是一个稍大的网络,不仅仅是一个房间或个人区域,而是包括隔壁房间、走廊,甚至整个楼层。如果以无线方式实现,最常见的协议就是WiFi。

无线局域网的服务范围目标大约在30米到40米左右,某些情况下甚至更大,可能达到50米到100米。而个人区域网络的范围更短,大约在5到10米以内。这些是非常短距离的无线通信技术,其无线模式称为无线个域网。例如蓝牙、Zigbee等,我们将在本课程中进一步详细研究。

直接互联网连接 🌍

最后,我们来看一种特殊情况。

不需要连接到局域网网关的传感器,可以通过广域网直接连接到互联网。这意味着,如果房间里有某些传感器,你没有蓝牙主设备或无线接入点来收集数据,那么我的智能手机有一个移动通信单元,可以直接将我连接到移动通信广域网。

然后,我将使用我的移动通信模块,我的LTE连接、UMTS连接或GSM连接,接入整个移动通信骨干网络,并找到我的云服务器来支持我的服务需求。


本节课中我们一起学习了物联网架构的基础,特别是传感器网络层的组成、无线传感器网络的形式、传感器分组方式,以及通过网关或直接通过广域网连接到互联网的不同路径。理解这些底层组件是构建和理解完整物联网系统的基础。

82:物联网架构(第2部分)🌐

在本节课中,我们将学习物联网架构的第二层:网关与网络层。我们将探讨这一层所需的技术、面临的挑战以及关键的性能要求。


上一节我们介绍了物联网架构的感知层,本节中我们来看看网关与网络层。为了将感知层收集的数据连接到互联网,我们需要更广泛的无线局域网(WLAN)、有线局域网以及移动通信技术。

以下是构建这一层所需的关键硬件与技术组件:

  • 网络设备:路由器、集线器、交换机。
  • 通信模块:无线电通信模块、微控制器、信号处理单元、接入点。

这些硬件共同构成了网关,其核心任务是收集、聚合来自感知设备的数据,并将其连接到互联网服务。


为了处理海量物联网数据,网络层必须满足极高的要求。这些数据由无线传感器和智能设备产生,其规模是巨大的。

那么,我们预测的数据量有多大呢?在我的另一门关于智能设备与移动新兴技术的课程中,我们讨论了第四代和第五代移动通信技术。第五代移动通信(5G)即将到来,事实上,在2018年韩国平昌冬奥会上,5G通信模块已经在各种平台和设备上进行了演示。

根据第五代移动通信的规范,其连接密度目标是:在一平方公里的区域内,支持100万台甚至更多的物联网设备。这就是我们所说的“海量”规模。试想一下,一栋60层或更高的摩天大楼,其内部需要连接的设备数量可能远超这个密度。

这种超密集的连接水平,要求网络和网关必须具备强大且可靠的性能。具体而言,网络层需要支持以下关键特性:

  • 网络模型:支持私有、公有和混合网络模型。
  • 服务质量:低延迟、低错误概率、高吞吐量、高能效。
  • 安全与可扩展性:高级别的安全性和可扩展性

可扩展性至关重要。有些网络在规模较小时运行良好,但当规模扩大10倍、100倍时,可能因协议或网络管理不可扩展而无法有效工作。例如,网络规模小时,请求能在1秒内得到响应;但当100个用户同时使用时,响应可能需要数分钟甚至数小时,这就是不可扩展的表现。对于需要聚合海量物联网数据并提供服务的场景,可扩展性是核心要求。


此外,将不同类型的网络集成到统一的物联网平台中也非常重要。网络技术种类繁多,仅在本课程中,我们就会讨论各种无线局域网和无线个域网技术,例如LoRa、蓝牙、Wi-Fi、6LoWPAN、Zigbee等。它们各有自己的协议和特性。

即使在同一技术类别内(如Wi-Fi或蓝牙),也存在多种不同的模式和协议规范。因此,物联网网关需要整合这些各异的无线技术,并与有线技术、移动通信广域网协议相结合,形成一个能力强大、集成度高、互操作性强的统一服务平台。


综上所述,物联网传感器通过多种协议和异构网络技术进行聚合。因此,我们必须提供强大、集成、同质且可互操作的服务。由于网络域内设备数量庞大,IT网络必须再次强调可扩展性,以支持数据收集、聚合、网关服务、网络安全和服务质量保障。可扩展性是实现这一切的自动前提。

本节课中,我们一起学习了物联网架构的网关与网络层。我们了解了该层所需的硬件基础、处理海量数据时面临的挑战,以及可扩展性、集成性和服务质量等关键性能要求。这些是构建可靠、高效物联网系统的基石。

83:11_2.1 物联网架构(第3部分)📚

在本节课中,我们将要学习物联网架构中的管理服务层。这一层位于应用层和网络网关域之间,负责对从海量传感器和设备收集上来的数据进行高效、智能的管理与控制,是确保整个物联网系统稳定、安全、可盈利运行的关键。

上一节我们介绍了物联网的硬件、软件和网络基础,本节中我们来看看如何管理和利用这些基础层产生的数据。


🛠️ 管理服务层的核心功能

假设所有传感器数据和信息都已通过硬件、软件和网络顺利上传,接下来就需要以正确的方式进行管理。管理服务层主要承担以下几类关键服务:

以下是管理服务层包含的主要系统类型:

  1. 运营支持系统:负责设备建模、配置、性能管理与安全管理。
  2. 计费支持系统:处理计费、报告。当用户超出已付费的服务套餐时,系统需要中断服务或要求额外支付,然后才能继续提供服务。从商业角度看,这是最重要的一环,因为服务提供商需要通过收入来维持运营。
  3. 服务分析平台:涉及统计分析、数据挖掘、文本挖掘、内存分析和预测性分析。预测性分析在物联网中尤为重要,它能支持需要快速响应和零延迟的服务,例如触觉物联网或触觉互联网服务,为用户提供身临其境的沉浸式体验。
  4. 安全服务:包括访问控制、加密、身份识别和访问管理。安全至关重要。
  5. 业务规则管理:涵盖规则定义、建模、模拟与执行。
  6. 业务流程管理:包括工作流流程建模、模拟执行等。

总而言之,管理服务层负责信息分析、安全控制、流程建模和设备管理


📊 数据管理的挑战与策略

数据管理是需要重点考虑的方面。海量的物联网设备持续发送信息,其中许多设备会进行周期性上报(例如每秒报告一次),这可能导致信息洪流。

为了高效管理,需要在数据到达管理服务器之前进行过滤。例如,当传感器处于正常状态、未检测到异常时,可以将聚合数据简化为长期报告,只提交更简洁的信息。这需要一种过滤和管理机制。

代码如下,展示了一个简单的数据过滤逻辑概念:

if sensor_status == “NORMAL”:
    send_data = aggregate_and_simplify(data) # 聚合并简化数据
else:
    send_data = data # 发送原始数据
    priority = “HIGH” # 标记为高优先级

另一方面,如果传感器检测到异常行为(如温度过高、气体浓度超标、湿度过高或某区域出现异常),则需要立即生成并传送高优先级的报警信息。这些信息不能与普通的周期性数据同等排队等待处理,必须被优先传送。

因此,网络服务和管理模块必须能够同时高效支持紧急需求和普通操作需求,提供智能的网络服务。


🔑 信息访问与控制的商业意义

数据管理还包括管理信息流、信息访问、集成与控制,这些都需要基于具体的业务来设计。

公司内部不同角色需要的信息不同:首席执行官、首席财务官和首席技术官关注的信息各有侧重,他们下属员工所需的信息也因具体工作、研发和规划内容而异。因此,需要对信息进行分级控制,因为信息是公司的核心资源之一。

信息访问、集成控制和数据抽象是另一个关键领域。从海量数据中提取有用信息,并据此做出响应或调整商业模式,是必须完成的工作。这正是数据抽象和信息提取处理的意义所在。


✅ 课程总结

本节课中,我们一起学习了物联网架构中的管理服务层。我们了解到,这一层通过运营支持系统、计费系统、分析平台和安全控制等功能,对物联网数据进行智能管理。同时,面对数据洪流的挑战,需要采用过滤、优先级处理等策略。最后,信息必须根据不同的业务需求进行有效的访问控制与抽象,才能转化为有价值的商业洞察。

84:12_2.1 物联网架构(第4部分)📚

在本节课中,我们将要学习物联网架构中的顶层——应用层。这一层直接与用户交互,是物联网技术最终价值的体现。我们将探讨物联网应用的广泛领域、分类方式以及在不同智能环境中的具体应用。

应用层:与用户的接口 🖥️

我们来到架构的上层,即应用层,这是与用户交互的接口。

物联网的应用领域非常广泛。基本上,你所知道的一切都可能成为应用领域。目前是否有被排除在外的领域?没有。也许现在针对某些特定应用还没有传感器或物联网设备,但在不久的将来,肯定会出现,并会基于各种应用自然地融入整个物联网领域。

以下是当前已知的一些热门应用领域,总结如下,涵盖了多个行业板块:

  • 环境
  • 能源
  • 交通
  • 医疗保健
  • 零售
  • 军事
  • 横向市场(例如车队管理、资产管理、供应链、人员追踪、监控等)

应用分类与规模 📊

上一节我们介绍了物联网应用的广泛领域,本节中我们来看看如何对这些应用进行分类。

深入了解细节,各行业领域的多种应用都可以利用IT服务来增强。应用的分类可以基于业务模式、网络类型、可用性、异构性、覆盖范围、规模、实时或非实时需求等。这些是分类的基础,决定了如何划分应用。

以下是基于应用规模的主要分类:

  • 个人与家庭:这个类别指的是在个人或家庭规模下的物联网应用领域。
  • 企业:这个类别指的是在公司或社区规模下的物联网应用,侧重于公用事业。
  • 公用事业:这指的是国家或区域规模的应用,将具有共同基础或相关的公用事业连接在一起。
  • 移动:移动设备通常是分散的,广泛分布在各个领域。它们根据所连接的蜂窝区域进行划分。就像互联网被划分为子网一样,移动通信网络和智能手机的连接也存在基本层级。当物联网设备连接到移动通信网络时,智能手机可以作为接口,或者物联网设备内部可能装有移动通信模块,可以直接连接到基站。

智能环境应用领域详析 🏙️

上一节我们根据规模对应用进行了分类,现在我们来具体看看不同的智能环境应用领域。这些领域的划分主要基于网络规模、网络连接性和带宽需求。

以下是主要的智能环境应用领域及其技术特点:

  • 智能家居:由于是家庭环境,网络规模相对较小。需要无线个域网、无线局域网、移动通信技术以及有线互联网。带宽需求与家庭成员数量成正比,但相比其他领域,其需求较小。
  • 智能办公室:与智能家居类似,网络规模和需求相近。
  • 智能零售:零售业务需要射频识别标签和读写器以及近场通信技术来进行产品识别和购买,这是其与智能家居/办公室的主要区别。
  • 智能城市:网络规模变为中型或大型。需要包含所有现有的网络连接技术,包括RFID、NFC、无线局域网、无线个域网、3G/4G和互联网等。
  • 智能农业:涉及广阔的农业区域,数据速率需求低,但需要大范围的监控和管理。需要广域网覆盖(如卫星通信)、互联网和无线局域网技术。有些无线局域网技术专为户外低数据速率、远距离节点通信设计。
  • 智能能源与燃料:该领域通常拥有自己的基础设施(如电缆、管道、高塔),因此可以建立卫星链路或在大型塔楼之间使用微波技术,在独立的无线或有线网络上支持通信需求。
  • 智能交通:主要基于无线局域网、3G/4G和卫星通信。其中,WAVE(车载环境无线接入)协议是关键,它使用 IEEE 802.11p 标准。
  • 智能军事:需要全方位的通信服务,从卫星通信到RFID、无线个域网、无线局域网等所有技术都会被使用。

各应用领域的服务内容 🛠️

了解了不同领域的技术基础后,我们来看看这些物联网应用具体提供哪些服务。

下表展示了各应用领域的服务内容:

  • 智能家居:支持娱乐、互联网接入。
  • 智能办公室:提供安全文件交换、互联网接入、虚拟专用网络和企业对企业服务。
  • 智能零售:支持客户隐私、商业交易、商业安全、B2B交易、销售和物流管理。
  • 智能城市:城市管理、资源管理、警察网络、消防部门网络、交通管理、灾难管理。
  • 智能农业:区域监控、状况感知、火灾报警、入侵检测。
  • 智能能源与燃料:管道监控、储罐监控、电力线监控、入侵和损坏管理。
  • 智能交通:路况监控、交通状况监控、交通灯控制、导航支持、智能汽车支持、交通信息支持,以及整体的智能交通系统。
  • 智能军事:指挥与控制、通信、传感器网络、态势感知、安全信息和军事网络。

所有这些共同构成了由物联网技术支持的智能环境应用领域。

总结 📝

本节课中,我们一起学习了物联网架构的应用层。我们了解到应用层是直接面向用户的接口,其领域几乎无所不包。我们探讨了基于规模的应用分类方式,并深入分析了智能家居、城市、农业、交通、军事等多个具体应用领域的技术特点和服务内容。物联网技术正通过这些多样的应用,深刻改变着我们的生活和各行各业。

85:13_2.2 物联网技术(第1部分)🌐

在本节课中,我们将学习构成物联网网络与服务的关键技术。我们将从无线传感器网络开始,探讨其核心特点与挑战,并理解云计算如何成为物联网不可或缺的支撑平台。

无线传感器网络

上一节我们介绍了物联网的宏观概念,本节中我们来看看其基础构成技术——无线传感器网络。

无线传感器网络的核心在于为远程传感应用提供高效、低成本、低功耗的设备。其使能技术主要是低功耗集成电路和无线通信。

大量智能传感器收集原始数据,经过分析、处理和过滤后,将其转化为可用的信息。

无线传感器网络面临的基本挑战如下:

以下是无线传感器网络节点面临的主要限制:

  • 有限的处理能力:节点需保持低功耗和低成本,因此其CPU处理能力有限。
  • 有限的存储能力:在低成本设备上无法安装大容量内存模块,因为内存本身成本较高。
  • 对云计算的依赖:物联网设备感知数据后,需将其发送到某处,然后接收控制信号以触发相应操作(如阻断、开启或调节温度)。这个过程需要云计算的支持。

云计算的作用

理解了物联网节点的局限性后,我们来看看云计算如何弥补这些不足。

可以将物联网系统类比为人体的运作:传感器如同手和脚,负责感知和接触;执行器负责移动物体或行走奔跑;而云端则如同大脑,负责存储信息并做出智能决策。对于高级物联网服务,需要一个中心来收集、分析和处理原始数据片段,并将其转化为用于控制的信息。

物联网设备需要云计算支持的原因包括:

以下是云计算对物联网至关重要的几个方面:

  • 弥补设备不足:物联网设备可通过云计算克服软件、固件、内存和硬件处理能力等方面的缺乏。
  • 节省能源:设备只需感知和发送数据,然后即可进入休眠模式,这能显著节省能源,延长电池寿命。
  • 安全存储与综合分析:数据被安全地存储在远程位置。云端可以综合某个区域内所有需要共同考虑的数据,以做出智能决策。
  • 实现计算卸载:将设备自身无法完成的操作和处理任务,通过远程处理或数据积压的方式转移到云端执行,这被称为计算卸载。其核心公式可表示为:本地能耗 = 本地计算能耗 + 数据传输能耗。通过将计算密集型任务 C 卸载到云端,可以显著降低本地能耗。

云计算不仅支持物联网,也支持智能手机、笔记本电脑、平板电脑、增强现实设备和游戏机等。

云服务模型

既然云计算如此重要,那么它具体通过哪些方式提供服务呢?

云服务模型主要包括以下三种:

以下是三种主要的云服务交付模式:

  1. 软件即服务:如果你的智能手机上没有某个软件,可以从云端虚拟机获取该服务。例如,从应用商店下载并使用一个游戏或应用程序,这就是在使用SaaS。
  2. 平台即服务:如果你需要使用特定的数据库进行操作,那么需要的就不仅仅是软件,还需要连接到主机并使用其处理平台和数据库结构,这就是PaaS。
  3. 基础设施即服务:这涉及使用其他网络、特殊安全选项,以及将大量数据存储到骨干云上。它提供硬盘、大规模内存、网络支持和服务支持等底层资源。

因此,通过云服务,你基本上可以获得所需的一切。


本节课中我们一起学习了物联网的基础技术。我们首先探讨了无线传感器网络的特点与挑战,包括其有限的本地处理与存储能力。接着,我们深入了解了云计算如何作为物联网的“大脑”,通过提供计算能力、存储空间和智能分析来克服这些限制,并详细介绍了软件即服务、平台即服务和基础设施即服务三种云服务模型。理解这些基础技术是构建和运用更复杂物联网系统的关键第一步。

86:14_2.2 物联网技术(第2部分)📡

概述

在本节课中,我们将继续深入学习物联网(IoT)技术。我们将探讨物联网设备的特点、其运行所依赖的网络基础架构,以及确保物联网系统安全、高效运行所需的关键技术要素,如认证、授权、能源管理和身份识别等。


物联网设备与网络基础

上一节我们介绍了物联网的基本概念。本节中,我们来看看物联网设备的具体特点及其运行的网络环境。

许多物联网设备具有内存小、处理能力和通信能力有限的特点,并且通常由电池供电。物联网需要将多种技术网络集成到一个共同的IP网络平台上,而这个平台就是互联网。这正是我们正在研究的“物联网”概念的核心。

由于物联网基于互联网,IPv4和IPv6协议是其运行的基石。可以将其理解为互联网的“血液”和“成分”,数据包通过路由器和网关内的路由表进行传输,这就是其基本的运行模式。将“物”连接到互联网,自然需要使用IPv4和IPv6协议。

:关于TCP/IP、IPv4/v6、TCP/UDP的详细内容,有一门名为《TCP/IP入门》的独立课程。如果你对此感兴趣,强烈建议你学习那门课程以获取更深入的知识。

物联网将对未来的互联网架构产生重大影响,这也是我们需要详细研究它的原因。


物联网的安全与隐私 🔒

物联网服务必须保证信息的安全、隐私和完整性,以及用户的机密性。因为我们周围遍布传感器,我们身上也可能佩戴着可穿戴物联网设备,我们的个人信息和行为可能被记录。如果这些个人信息被他人控制,我们可能会在身体和财务等各方面受到伤害。正因为物联网信息关乎我们自身,所以机密性至关重要。

以下是物联网研发中一些关键的安全特性:

  • 设备认证与授权:在允许某个设备使用你的网络之前,你需要确保它是一个经过授权的设备,并对其进行验证和认证。否则,如果它是一个黑客设备,意图获取网络访问权限并发起勒索软件攻击、拒绝服务攻击或入侵你的系统,后果将不堪设想。因此,不能允许任何设备随意连接。设备需要通过认证,认证通过后,再根据其授权级别授予相应的访问权限(例如,只能访问特定范围的特定数据库)。
  • 用户认证与授权:设备需要被检查和授权,用户同样也需要。
  • 物联网公钥与私钥管理:公钥和私钥用于管理认证和授权,确保受保护的信息被加密,并且只能由授权用户解密打开。
  • 物与物之间的访问控制:回想之前的课程,我们提到过机器对机器(M2M)通信,即连接物与物。这是物联网领域中一个庞大的组成部分,约占45%。此外,还存在人-物、物-人、人-人等交互模式。

低功耗协议与移动性支持

考虑到物联网设备的资源限制,其网络技术需要具备低开销和低复杂度的特点。我们将讨论一些无线个域网(WPAN)技术,以及其他专为物联网网络设计的低功耗、低处理能力的技术,这些技术的目标是让设备在正确执行特定任务的同时,拥有非常长的使用寿命。

移动性支持同样关键。对于佩戴在你身上的传感器,如智能手表、智能手机、智能平板、智能腰带、智能鞋、支持增强现实的智能眼镜等,它们会随着你移动。因此,所有这些设备都需要网络提供移动性支持。网络需要在你移动时,将你的连接切换到不同的接入点,确保无论你走到哪里都能持续获得服务。

这种切换不仅发生在连接层面,更贯穿于从你的设备到服务器、或到另一个人的端到端数据流全程。从小范围的无线切换(如在接入点边缘、移动通信基站、蓝牙节点或ZigBee主节点之间),到骨干网和所有接入网络的整体切换,都需要协同工作,为你提供无缝、不间断的服务。

基于移动平台的物联网能够支持极其广泛的未来应用。虽然实现起来非常困难,但一旦成功运作,将带来巨大的附加价值。位置服务、随时随地社交、环境监测与交互等,都将借助物联网的移动支持成为可能。


能源与资源管理 ⚡

能源问题至关重要,它关系到能量收集、节约和使用的优化。这些对于物联网的发展是必不可少的。

  • 能量收集:许多设备周围存在各种能量源。有些可以从光源充电,有些可以利用风能,有些可以收集来自微波、本地Wi-Fi组件或移动通信信号的辐射能量进行充电储存。此外,现在已有许多无线充电技术,例如各种厂商提供的无线充电板。随着远程无线充电技术越来越可行,为物联网设备电池充电的机会将越来越多。能量收集的核心思想是:第一,以最节约的方式使用最少的能量,避免浪费;第二,抓住一切可能的充电机会;第三,储存能量并在需要时使用。物联网研发中关于能量收集的研究正是围绕这些方面展开的。

:如果你对物联网设备或智能设备的无线充电板技术感兴趣,请考虑学习本系列课程中的《智能设备与移动新兴技术》讲座。该课程更详细地讨论了无线充电技术和协议标准。

  • 资源限制考量:唤醒延迟、功耗、电池容量、数据包大小等,所有这些因素都需要在物联网研发中加以考虑。

身份识别技术

物联网设备会产生自己的内容,这些内容由任何授权用户共享。因此,身份识别和认证技术需要在全球范围内实现融合与互操作。

这是因为,世界一端的一个设备可能需要与另一端的一个设备或用户通信。此处的认证协议可能与彼处不同。此外,这个网络的认证协议也可能与那个网络不同。由于物联网是关于连接互联网上可能位于世界任何地方的“物”和人,很可能此处的协议和彼处的协议会不同,认证和授权方式以及策略也会不同。这意味着最终需要支持某种程度的融合和互操作性。

明确需要管理物的唯一身份,这是认证的一部分。显然,也需要处理用于人员和位置的多个标识符。


总结

本节课中,我们一起深入探讨了物联网技术的多个核心方面。我们了解了物联网设备资源受限的特点及其对IP网络的依赖,重点学习了确保系统安全所需的认证、授权和密钥管理。我们还分析了为实现设备长寿命和移动连接所必需的低功耗协议与移动性支持技术,并讨论了至关重要的能源收集与资源管理策略。最后,我们认识到,在全球范围实现身份识别技术的融合与互操作,是物联网大规模应用的关键挑战之一。

87:15_2.2 物联网技术(第3部分)📡

概述

在本节课中,我们将学习物联网硬件平台的核心组成部分。我们将详细探讨传感器、执行器、RFID设备以及处理器与控制器的功能与类型,了解它们如何协同工作以收集、处理数据并连接至互联网。


物联网硬件平台

在物联网生态系统中,物联网硬件平台负责在互联网连接上收集、存储和处理数据。

物联网硬件组件包括传感器和执行器。传感器用于检测附近物理环境(如温度、图像、红外线、气体和湿度)中的事件和变化。执行器则是电机或开关等装置,它们作为可控单元,负责执行关闭或开启某物的指令,这可以在物理和电子层面提供帮助。

RFID是另一个重要领域。RFID标签在被附着后,当RFID阅读器足够靠近并为标签充电时,标签内存储的任何信息会立即传送给阅读器。这项技术广泛应用于物流控制,以及人员、机器、机器人和无人机的身份标识。

此外,还有处理器和控制器,它们将传感器和执行器连接到互联网。这些设备根据特定的操作和指令运行,并且这些指令可以根据需要,通过编程和人工智能进行添加和控制。


传感器类型

现在,让我们简要了解一下传感器的类型。我们将从类型、检测对象、型号、测量范围和形状这几个类别来考察。

以下是几种常见的传感器:

  1. 温湿度传感器:用于检测温度和湿度。典型温度检测范围为 -40°C 至 80°C,这是一个非常宽的动态范围。湿度检测范围为 0% 至 100%,即从完全干燥到潮湿。
  2. 压力传感器:典型应用包括测量大气压、工业设备压力、液位或其他类型的压力。测量范围可以从 0千帕35千帕,或高达 650千帕,具体动态范围取决于应用场景。
  3. 流量传感器:用于测量流体流速。范围可能在 每分钟1升至30升 之间,具体取决于仪表类型。
  4. 图像传感器:负责将图像的光强变化转换为电信号。例如,一个提供 每秒30帧640x480 VGA分辨率(即 0.3兆像素)图像的传感器。当然,也存在数据率更低或分辨率更高的图像传感器(如高清监控摄像头)。决策时还需考虑是否加入了基于增强现实的图像处理。典型的帧率范围从低至 8-10 FPS 到常见的 20 FPS,最高可达 30 FPS
  5. 超声波传感器:通过超声波检测物体的存在。采用非接触式测量,范围约为 2厘米至400厘米。测量机制基于 40 kHz 的频率。

执行器类型

接下来,我们需要更详细地了解执行器类型。

执行器主要有以下几种:

  • 电动执行器:将电能转换为机械扭矩。
  • 机械线性执行器:将旋转运动转换为线性运动。你可以用它来实现关门、开门等动作,或控制空气、气体和流体的流动环境。
  • 液压与气动执行器:将流体(液体或气体)的压力转换为机械运动。典型的运动类型包括线性、旋转、振荡等。

RFID设备

现在我们来看RFID设备。如图所示,其内部有一个线圈和一个芯片。它没有电池。当RFID阅读器足够靠近并发送一个足以激活它的能量脉冲或射频脉冲时,天线线圈将为芯片充电。随后,芯片可以读取其存储的信息并将其激活,将标识信息发送给RFID阅读器,这就是信息交换过程。因此,RFID芯片存储着关于某个物品或其所附着对象的信息。

RFID芯片附着在物体上,并向阅读器传输数据。天线用于从阅读器接收能量,同时也用于运行并将信息发送回阅读器。因此,天线既是充电单元,也是无线回复发送单元。RFID标签将其信息传输回阅读器。

我们需要了解一些RFID类型,包括其工作频率、读取范围和相应标准。

以下是主要的RFID类型及其特性:

  • 低频RFID
    • 工作频率范围:125 kHz 至 134.3 kHz
    • 检测、充电和信息交换范围:约 10厘米 至 30厘米
    • 遵循ISO相关标准。
  • 高频RFID
    • 工作频率:13.56 MHz(“高频”名称由此而来)。
    • 由于频率更高,读取范围扩展至 10厘米 到 1米
    • 支持标准包括ISO和ECMA标准。近场通信也属于此类别。
  • 超高频RFID
    • 工作频率范围:860 MHz 至 960 MHz
    • 凭借更高频率,读取范围可达 12米。常见于大型门禁场景,多名佩戴或携带RFID身份标签的员工可以进出,整个门禁系统通过与RFID标签交换信息来提供区域访问控制,记录人员进出。

这些类型都基于所列的ISO标准。RFID技术能够实现高效的管理、跟踪和监控流程,广泛应用于物流和供应链领域。


RFID研发重点

RFID的研究与开发主要聚焦于以下几个方面:

  • 数据流支持
  • 芯片设计
  • 能源使用优化
  • 自动抄表应用
  • 家庭自动化应用
  • 车辆与交通应用


总结

本节课中,我们一起学习了物联网硬件平台的关键组件。我们详细探讨了各种传感器(如温湿度、压力、图像传感器)的工作原理与参数,了解了执行器(电动、机械、液压/气动)如何将指令转化为物理动作。我们还深入研究了RFID技术,包括其工作原理、不同类型(低频、高频、超高频)的特性及其在物流、门禁等领域的广泛应用。理解这些硬件基础是构建和认识整个物联网系统的重要一步。

88:16_2.2 物联网技术(第4部分)📡

在本节课中,我们将要学习支持物联网技术的核心硬件平台,包括处理器、微控制器以及几种流行的单板计算机。我们将了解它们如何协同硬件、软件、传感器和网络模块工作,并探讨其关键特性与适用场景。


上一节我们介绍了物联网的基本架构,本节中我们来看看构成物联网设备“大脑”的硬件平台。

支持物联网技术的处理器和微控制器构成了物联网设备平台。这些平台需要整合硬件、软件、传感器和接口协同工作的处理器与微处理器,网络模块也需要一同工作。当然,作为“大脑”的中央处理单元(CPU)正是基于这些处理器和微控制器。

总体而言,连接用户、传感器到执行器的硬件接口,包括用户设备、传感器模块和执行器,都需要微控制器和处理器。它们都需要支持其驱动程序的接口,这些接口将支持输入和输出单元。

操作系统需要在处理器和微控制器上运行,以支持软件接口并控制硬件资源,例如电源、内存、文件输入/输出以及其他各种操作。


Arduino:开源微控制器平台 🛠️

Arduino 是一个开源的微控制器和硬件设备。你也可以将 Arduino 视为一个开源硬件和软件项目。这些概念之间的术语可以交互或互换使用。

Arduino 本质上提供的是一个单板微控制器和套件。由于其灵活性、易于部署、易于构建和编程,它非常受欢迎。

现在,Arduino 板的电路设计和集成开发环境(IDE)都可以在 Arduino 官网上获取。用户可以使用 IDE 开发和上传特定程序,通过 USB 连接到 Arduino 板。

以下是 Arduino 的主要产品类型:

  • Arduino Uno R3:这是一种入门级和通用型电路板,是一个单板计算系统。
  • Arduino Yun:专为基于物联网的特定应用设计。
  • LilyPad:用于可穿戴物联网应用。


深入硬件细节:ATmega AVR 处理器 🔌

接下来,我们深入了解 Arduino 所使用的硬件处理器类型。

Arduino 物理计算平台采用了 ATmega AVR 系列产品,例如 ATmega328P 和 ATmega328。这些是我们之前看到的入门级、物联网和可穿戴设备中的代表性模块。

查看 ATmega 328 的规格,我们可以看到以下关键参数:

  • CPU 速度:20 MIPS(每秒百万条指令)。一个指令是处理器单元内需要单独处理的命令,这意味着它每秒能处理高达 2000 万条指令。
  • RAM 和可编程内存(此处为闪存)。
  • 数据 EEPROM
  • 输入/输出接口定时器温度范围工作电压范围

这些参数展示了物联网硬件中吸引人的流行配置。


ATmega 328P 的低功耗特性 🔋

现在,我们重点看看 ATmega 328P 模块。它支持低功耗模式,其他规格通常与 328 类似。它被主流 Arduino 和 Arduino Uno 系统采用,在 1.8 伏电压下以 1 兆赫兹运行。

观察其整体电流水平(毫安、微安级别),功率(P) 可以通过 电压(V) × 电流(I) 的公式计算。由于电压(1.8V)相对较小,电流值也很小,相乘后得到的功率值自然很低。

低功耗意味着:

  1. 电池续航时间将大大延长。
  2. 设备通常产生的辐射热和其他热量很少。热量排放少,就能实现更紧凑的设计和紧密的封装,设备也不会因功耗低而过热。
  3. 设备拥有很长的使用寿命,充电一次可以持续运行很久。

这就是 ATmega 328P 模块的低功耗特性如此吸引人的原因。


Raspberry Pi:低成本单板计算机 🍓

除了微控制器,我们还有功能更全面的单板计算机。

Raspberry Pi 由英国树莓派基金会开发,是一种为在学校推广基础计算机科学技能而设计的低成本单板计算机。它支持通用计算和基本的网络服务器功能。

其硬件规格包括 Broadcom 片上系统(SoC)、ARM CPU、片上 GPU 以及 Raspbian 操作系统软件。

以下是其产品系列:

  • Raspberry Pi 3 Model B(主流型号):运行于 1.2 GHz ARM Cortex CPU 的微计算机,适用于通用物联网功能。
  • Raspberry Pi Zero W(子系列):尺寸更小,输入/输出和 GPIO 能力有限。

BeagleBoard:功能强大的开源单板计算机 🐶

BeagleBoard 是由德州仪器(Texas Instruments)生产的开源单板计算机。它是一个功能齐全的基础计算机,支持包括 Linux 和 Android 在内的多种操作系统。考虑到其附加的操作系统功能和更高级的操作能力,如果需要这些功能,它是一个非常有吸引力的选择,尽管比其他单板计算机稍贵一些。

查看 BeagleBone Black 的关键特性:

  • 功耗要求非常低,最高约 2 瓦。
  • 包含 PRU(可编程实时单元),用于确定性延迟(如每条指令 5 纳秒)和对延迟敏感的应用,这非常吸引人。
  • 包含具有图像和 3D 图形处理能力的增强型处理器。


总结 📝

本节课中,我们一起学习了物联网设备的核心硬件平台。我们从作为设备“大脑”的处理器和微控制器入手,详细探讨了开源的 Arduino 平台及其低功耗的 ATmega AVR 处理器。接着,我们介绍了功能更强大的 Raspberry Pi 单板计算机和具备高级特性(如实时单元)的 BeagleBoard。理解这些硬件平台的特性和适用场景,是设计和构建高效、可靠物联网系统的基础。

89:17_2.2 物联网技术(第5部分)🔍

在本节课中,我们将学习三种流行的物联网开发板:Arduino Uno、Raspberry Pi 3 Model B 和 BeagleBone Black。我们将通过对比它们的核心规格,帮助你理解如何根据项目需求选择合适的硬件平台。

现在,我们来比较之前讨论的三种开发板。

我们将从 Arduino Uno、Raspberry Pi 3 Model B 和 BeagleBone Black 开始比较。我们将从类别、片上系统(SoC)与中央处理器(CPU)、内存、输入输出模块和尺寸这几个方面进行对比。下一页还有更多特性,但首先让我们浏览这些规格。

类别与处理器架构

在类别方面,Arduino Uno 是一个微控制器,而另外两个是单板微型计算机

在 SoC 和 CPU 方面:

  • Arduino Uno 使用 ATmega328,主频为 16 MHz
  • Raspberry Pi 3 Model B 使用 Broadcom SoCARM Cortex-A53 CPU,主频为 1.2 GHz,基于四核架构。
  • BeagleBone Black 基于 ARM Cortex-A8 CPU,采用单核单元。

内存与输入输出

接下来我们看内存单元。通常可以看到 SRAM,以及 LPDDR2 和 micro SDHC 支持单元。Raspberry Pi 使用了类似的单元,但 BeagleBone Black 还包含了 512 MBDDR3 技术。你可以看到在内存容量上存在一些明显的选项和差异。

以下是输入输出接口的对比:

  • Arduino Uno:拥有 14 个数字 GPIO 接口和 6 个 10 位模拟输入。
  • Raspberry Pi 3 Model B:拥有 40 个数字 GPIO 单元和 4 个 USB 2.0 接口。
  • BeagleBone Black:拥有 69 个 GPIO、4 个 UART 串口和 8 个 PWM 模式。

在尺寸方面,整体上最小的是 Arduino Uno,其尺寸和重量都是最轻的。就重量而言,BeagleBone Black 比 Raspberry Pi 3 Model B 更轻。在尺寸大小上,Raspberry Pi 3 Model B 和 BeagleBone Black 有些相似。

操作系统、音视频与网络

还有更多我们需要了解的特性,这些特性引出了下一页的内容:操作系统、音频视频、网络和价格。这些都是非常重要的特性。

在操作系统方面:

  • Arduino Uno 使用 Arduino IDE
  • Raspberry Pi 3 Model B 使用 Linux,这是一个非常有吸引力的选项。
  • BeagleBone Black 支持 UnixWindows。在 Unix 方面,它支持 UbuntuDebianAndroid。这些选项非常有吸引力,不仅基于 Linux,还包含了 Windows。

在音频方面,Raspberry Pi 3 Model B 有一个 3.5毫米 模拟接口和 HDMI 接口,而 BeagleBone Black 有一个 micro HDMI 接口。与 Arduino Uno 没有音频接口相比,拥有 HDMI 接口是一个巨大的差异,也是选择开发板时的决定性因素之一。

在视频接口方面,同样,Arduino Uno 如果需要视频支持,需要一个单独的单元来支持。而 Raspberry Pi 3 Model B 有 HDMI,BeagleBone Black 有 micro HDMI 接口,这非常有用。然而,如果你需要 HDMI 和视频支持,显然 Raspberry Pi 3 Model B 和 BeagleBone Black 变得更有吸引力。

但如果你不需要音频和视频,只想创建一个轻量、低能耗的小型物联网模块,那么显然可以发现 Arduino Uno 将是一个有吸引力的选择。然而,如果你需要音频和视频支持,那么显然 Raspberry Pi 3 Model B 以及 BeagleBone Black 将成为你选择的主要选项。

还有其他关键的选择选项吗?是的,那就是网络。这可能是选择模块时最重要的决定因素之一。Arduino Uno 通常不具备完整的有线或无线以太网或其他选项的能力。然而,Raspberry Pi 3 Model B 具备蓝牙 4.1 BLE、以太网连接以及基于 802.11n 的 2.4 GHz Wi-Fi。如果你想使用它,那么这些规格本身就告诉你为什么选择 Raspberry Pi 3 Model B。如果你想让智能手机成为它的远程控制器和监视器,因为你的智能手机有蓝牙、BLE 和 Wi-Fi,所以你的智能手机可以自动成为 Raspberry Pi 3 Model B 的远程控制器、监视器甚至数据接口收集器。这就是它如此受欢迎的原因之一。

然后是 BeagleBone Black,它可以连接到有线以太网,支持 10Base-T100Base-T,同时支持 10 Mbps100 Mbps 成为其选项。因此,在桌面或开发环境中,你可以把它放在面前的桌子上进行编程,这些以太网连接变得非常有用和有吸引力。这就是它如此受欢迎的原因。当涉及到 10Base-T 和 100Base-T 以太网连接,支持 10 Mbps 和 100 Mbps 以太网时,Raspberry Pi 3 Model B 和 BeagleBone Black 内部都支持这种连接。总的来说,在网络连接方面,Raspberry Pi 3 Model B 是最受欢迎的选择选项。

价格对比

当你从价格方面看时,Raspberry Pi 3 Model B 的优势就显现出来了。因为你可以看到 Arduino Uno 和 Raspberry Pi 3 Model B 在成本上没有显著差异。Arduino Uno 大约是 $29.95,而 Raspberry Pi 3 Model B 大约是 $35。但是,你得到了所有这些不同的数据接口,包括有线和无线,以及音频和视频接口。这就是 Raspberry Pi 3 Model B 如此受欢迎的原因。但在另一方面,BeagleBone Black 的成本是 $55,但它具有显著的处理能力。以更高的成本,它额外支持音频和视频。此外,作为你的开发平台的操作系统,支持 Windows、基于 Android、Debian 和 Ubuntu 的 Linux,这成为一个在编程选项方面非常有吸引力的模式。

这些是我使用的参考资料,我强烈推荐给你。物联网技术还有更多内容,这只是冰山一角。请保持关注,我们下一讲再见。


本节课总结

在本节课中,我们一起学习了三种主流物联网硬件开发板:Arduino Uno、Raspberry Pi 3 Model B 和 BeagleBone Black 的核心特性对比。我们详细分析了它们在类别(微控制器 vs 单板机)、处理器与内存输入输出接口操作系统支持音视频能力网络连接以及价格等方面的差异。

通过对比可知:

  • Arduino Uno 适合简单、低功耗、无需复杂操作系统和多媒体功能的控制项目。
  • Raspberry Pi 3 Model B 凭借其强大的综合性能、丰富的接口(尤其是集成的 Wi-Fi 和蓝牙)以及极高的性价比,成为最通用和流行的选择,尤其适合需要网络连接、多媒体处理或作为小型服务器的项目。
  • BeagleBone Black 则提供了更强的实时处理能力和更丰富的原生 I/O 接口,适合需要精确控制或更复杂嵌入式应用的项目,尽管价格稍高。

理解这些差异将帮助你在实际物联网项目开发中,根据具体的功能需求、性能要求和预算,做出最合适的硬件选择。

90:物联网无线网络 📡

在本节课中,我们将学习物联网网络,首先从物联网无线网络开始。我们将了解构成物联网连接基础的各种无线技术,包括其类型、标准和应用场景。

物联网网络架构可以表示为以下形式:各种通信组件连接到某种建筑物,而该建筑物又与互联网相连。然而,在前端,我们作为用户交互的许多基于物联网技术的设备,基本上连接到移动通信网络(蜂窝网络),例如2G、3G、4G或未来的5G。基于4G的技术包括LTE(长期演进技术)和LTE-Advanced技术。当然,这是一个主要组成部分,特别是因为我们的智能手机具有Wi-Fi和蓝牙连接功能,这些功能在许多情况下实现了物联网的直接访问。

无线个人区域网络与无线局域网

上一节我们介绍了物联网网络的整体架构,本节中我们来看看两种关键的短距离无线技术:无线个人区域网络和无线局域网。

无线个人区域网络是一个小范围网络,旨在实现装有特定调制解调器模块的设备在个人区域(例如一个房间内)的无线连接。蓝牙技术就是其代表。

此外,我们还有无线局域网技术,它覆盖的范围比个人区域网络更大,可能包含几个个人区域网络的范围。其代表性技术是Wi-Fi。

蓝牙和Wi-Fi非常重要,因此我们将在后续专门关于Wi-Fi和蓝牙的模块中重点介绍这两种协议的细节。这是因为它们是智能手机的主要连接方式,也是世界上使用最广泛的协议,可以与移动通信并称为“三大”无线技术。

在无线个人区域网络中,除了蓝牙,还有其他模块,如ZigBee和6LoWPAN技术。我们将在本讲座中重点介绍这些技术,以及广域网连接技术。

可穿戴设备与物联网网络

现在,让我们看看物联网网络在可穿戴设备中的应用。具有物联网连接功能的可穿戴设备,其无线连接使我们能够通过智能手机或智能手表连接到蜂窝网络。这些连接通常是移动通信,如LTE、3G或未来的5G通信。

而我们的设备连接到智能手机的方式,则可能是蓝牙、ZigBee、6LoWPAN或其他技术。

具体来说,可穿戴设备可用于从我们鞋子、手表、眼镜、腰带和起搏器等设备中的传感器和物联网模块检测生物特征信息。这类设备可以将信息发送到我们的智能手机,然后智能手机再将其连接到蜂窝网络。

此外,在某些情况下,这些设备可能配备特殊类型的无线技术,可以直接连接到广域网。

无线连接的角色与路径

智能设备可以从可穿戴设备收集信息并与控制中心通信。如果是医疗信息,则与医疗中心通信。通过这些连接,我们肯定需要无线连接,这可能是一个或多个环节,例如从无线局域网到移动通信协议,或从无线个人区域网络到无线局域网协议。

例如,使用蓝牙连接到智能手机,再通过移动通信连接到互联网;或者使用Wi-Fi连接到接入点,再接入互联网。

无论哪种方式,我们都会连接到控制中心。如果是生物医学信息,则会连接到医疗服务器,以监测我们的健康状况并提供重要的决策和警报信号。例如,如果您心脏病发作,它将提供紧急响应和帮助,例如呼叫救护车。

Wi-Fi 技术详解

上一节我们概述了连接路径,本节我们深入探讨Wi-Fi技术。Wi-Fi是一种基于IEEE 802.11标准的无线局域网技术。IEEE代表电气和电子工程师协会,它是世界上最大的专业会员协会之一,为电气和电子工程师服务。该组织因其参与者的特性,积极进行大量研发和标准化工作,其标志性成果之一就是802.11标准。

Wi-Fi设备包括您的智能手机、智能设备、笔记本电脑、个人电脑等。一些智能手表可能只有蓝牙,但有些智能手表会同时具备蓝牙和Wi-Fi,这取决于其设计和用途。

应用领域包括从家庭、学校、计算机实验室到办公楼等几乎所有场景。

Wi-Fi设备和接入点在室内的无线连接范围约为30米。“室内”意味着有墙壁、门、天花板和地板,这些结构中的金属材料或其他材料会阻挡射频传播。因此,当您在室内时,信号的传播范围受到周围房间和建筑环境的限制。当然,如果在室外,Wi-Fi的范围会扩大。

以下是影响Wi-Fi数据速率的关键因素和不同协议的理论最高速率:

  • 协议类型:不同IEEE 802.11协议支持不同的最大数据速率。
  • 与接入点的距离:距离越远,数据速率越低。
  • 共享用户数:连接到同一接入点的用户越多,可用带宽被分摊得越多。

不同协议的理论最高速率示例:

  • 802.11a: 最高 54 Mbps
  • 802.11b: 最高 11 Mbps
  • 802.11g: 最高 54 Mbps
  • 802.11n: 最高 150 Mbps
  • 802.11ac: 最高 866.7 Mbps
  • 802.11ax: 最高 7 Gbps

蓝牙技术详解

接下来,我们看看另一种重要的短距离技术:蓝牙。蓝牙是一种无线个人区域网络技术,这与作为无线局域网技术的Wi-Fi不同。无线局域网范围更大,而个人区域网络范围更短、更小。

蓝牙旨在取代连接许多不同类型设备的电缆。例如,您使用的无线耳机很可能采用了蓝牙技术。换句话说,如果没有蓝牙,从智能手机或MP3播放器到耳机就需要一根电缆。然而,您可以使用蓝牙来取代智能手机和耳机之间的那根电缆或电线连接。

此外,蓝牙还用于将打印机连接到您的本地计算机、笔记本电脑或平板电脑。它通常取代短距离设备。您的个人区域可以定义为:当您在一个房间里,所有物体几乎都在可触及的距离内,您站起来伸手走几步就能触摸到那个设备,这通常被认为是您的个人区域网络。而局域网则可能是您所在的房间和周围的几个房间,甚至楼上和楼下的房间可能共享一个接入点,该接入点连接到无线局域网,进而连接到互联网。因此,您的局域网比您的个人区域网络更大。

蓝牙的标准个人区域网络范围通常约为10米。然而,更先进的标准如蓝牙4.0及更高版本,在某些情况下,根据设置,可以达到50米左右。

蓝牙低功耗技术也包含在蓝牙4.0中。它提供了更低的功耗(因此得名LE)和成本,同时保持了类似的通信范围。

以下是不同蓝牙协议类型的数据速率示例:

  • 蓝牙 2.0 + EDR: 最高 2.1 Mbps
  • 蓝牙 3.0 + HS: 最高 24 Mbps
  • 蓝牙 4.0: 最高 25 Mbps
  • 蓝牙 5.0: 最高 50 Mbps

关于Wi-Fi和蓝牙的更多细节,我们将在下一个模块中详细介绍,因为它们使用更频繁、更重要,并且存在于您的智能手机和平板电脑上。

物联网网络技术全景

最后,让我们俯瞰物联网网络技术的整体范围。总体来看,有无线局域网和无线个人区域网络,其中包括Wi-Fi、蓝牙、低速率无线个人区域网络技术。

此外,还有LPWAN,即低功耗广域网。诸如LoRa和SigFox等协议属于此范围。它基本上以特定的方式使用低功耗信号,使您能够直接连接到远处的接入点或基站,并通过该接入点或基站直接连接到互联网。因此它是一个广域网,因为尽管数据速率低且信号功率低,但您可以直接进行长距离连接,从而直接访问互联网。

您可能听说过的标准和协议包括:

  • 无线局域网/个人区域网络Wi-Fi蓝牙ZigBee6LoWPAN
  • 低功耗广域网LoRaSigFox

您可能已经见过这些标志,现在是时候了解它们了。

总结

本节课中,我们一起学习了物联网无线网络的基础知识。我们探讨了物联网的网络架构,区分了无线个人区域网络和无线局域网,并详细介绍了Wi-Fi和蓝牙这两种核心技术的特点、标准和应用。我们还了解了无线连接在可穿戴设备中的角色,以及从设备到互联网的各种连接路径。最后,我们概览了包括LPWAN在内的更广泛的物联网网络技术全景。掌握这些无线技术是理解物联网如何实现万物互联的关键第一步。

91:ISM频段详解 📡

在本节课中,我们将学习ISM频段。ISM频段是物联网网络中最常使用的频段之一,了解其特性、包含的具体频段以及哪些频段更为重要,对于理解和开发无线通信设备至关重要。


什么是ISM频段?

上一节我们提到了ISM频段的重要性,本节中我们来看看它的具体定义。

ISM频段是工业、科学和医疗频段的缩写。这些频段专为工业应用、科学研究和医疗设备设计,旨在提供一个无需许可即可使用的频段,以便开发者能够利用短距离通信技术开发新设备和实现设备间通信。

然而,这并不意味着在任何情况下都可以随意使用这些频段。虽然无需申请许可,但设备必须严格遵守国际和当地政府的法规。国际电信联盟的无线电规则第5条及其脚注(如5.138、5.150和5.280)规定了这些频段的频率范围、频谱、发射功率限制及其他特性。

因此,即使ISM频段是免许可的,也并不意味着可以随意使用。在开发使用ISM频段的产品时,必须获得当地政府的正式批准,确保设备符合本地及国际政策。


2.4 GHz频段:最流行的ISM频段

了解了ISM频段的基本概念后,我们来看看其中最著名的一个频段。

工作在2.4 GHz范围的频段可能是目前最流行的ISM频段。其流行原因在于,许多关键技术都使用它:

  • Wi-Fi
  • 蓝牙
  • 基于IEEE 802.15.4标准的设备(如Zigbee、6LoWPAN)
  • 无绳电话
  • 业余无线电设备
  • 微波炉
  • 婴儿监视器

这个频段之所以有用,是因为众多技术都依赖它。但这也带来了挑战:由于使用设备过多,如何有效地共享频谱资源变得非常困难。因此,其优势在某些情况下也可能转化为劣势。


ISM频段的干扰问题

既然有如此多的设备共享频段,干扰问题就不可避免。以下是几种主要的干扰类型:

  • 同协议设备间的干扰:例如,Wi-Fi设备之间会相互干扰,需要有效地共享信道资源。如果共享不当,通信就会受到影响。
  • 不同协议设备间的干扰:在2.4 GHz频段,Wi-Fi、蓝牙和Zigbee设备会相互干扰,在某些情况下甚至可能导致通信完全中断。因此,必须考虑共享同一频段的其他协议和网络带来的干扰。
  • 其他设备的辐射干扰:例如,密封不严的微波炉在加热食物时,会泄漏出2.4 GHz信号。如果附近有Wi-Fi或蓝牙设备在工作,微波炉的辐射就会干扰通信。

主要ISM频段及其特性

为了更深入地了解ISM频段,我们需要查看其频率范围、带宽、中心频率和可用性等关键参数。以下是几个重要的ISM频段:

  • 6.765 - 6.795 MHz

    • 带宽:30 kHz
    • 可用性:需本地批准。这意味着能否使用取决于当地政府的规定。携带无线设备跨国使用时,必须检查当地法规,因为该频率可能被消防、警察或军事部门占用。
  • 13.553 - 13.567 MHz

    • 带宽:14 kHz
    • 可用性:全球可用。被指定为全球可用的ISM频段对产品开发极具吸引力。
  • 26.957 - 27.283 MHz

    • 带宽:326 kHz
    • 可用性:全球可用。
  • 40.66 - 40.70 MHz

    • 带宽:40 kHz
    • 可用性:全球可用。
  • 433.05 - 434.79 MHz

    • 带宽:1.74 MHz
    • 可用性:需本地批准。
  • 902 - 928 MHz

    • 带宽:26 MHz
    • 可用性:需本地批准。这是一个非常流行的频段,因为其信号穿透力强,能有效穿过实体墙并传播较远距离。同时,26 MHz的带宽足以支持高速数据通信,且天线可以做得较小。
  • 2.4 - 2.5 GHz

    • 带宽:100 MHz
    • 可用性:全球可用。这是目前使用最广泛的ISM频段。它全球可用,信号传播特性好,且100 MHz的宽带宽足以同时为多个用户提供高速宽带数据速率。但也正因如此,该频段设备极其密集。
  • 5.725 - 5.875 GHz

    • 带宽:150 MHz
    • 可用性:全球可用。该频段频率较高,可用于更高速的数据通信,加之全球可用,使其非常有吸引力。
  • 24 - 24.25 GHz

    • 带宽:250 MHz
    • 可用性:全球可用。此频段广泛用于无线个域网和极宽带接入。但需要注意的是,频率高于10 GHz的信号开始表现出类似光的特性,无法穿透固体物体。通信依赖视距传输,一旦被阻挡,信号可能完全中断。
  • 61.0 - 61.5 GHz

    • 带宽:500 MHz
    • 可用性:需本地批准。
  • 122 - 123 GHz

    • 带宽:1 GHz
    • 可用性:需本地批准。
  • 244 - 246 GHz

    • 带宽:2 GHz
    • 可用性:需本地批准。

总结

本节课中,我们一起学习了ISM频段。我们首先了解了ISM频段的定义及其免许可但需合规使用的特点。然后,我们重点分析了最流行的2.4 GHz频段及其面临的干扰挑战。最后,我们详细列出了多个ISM频段的关键参数,包括频率范围、带宽和可用性,并解释了像2.4 GHz和5.8 GHz这样的频段因兼具良好的传播特性、高带宽和全球可用性而备受青睐的原因。记住,开发或使用无线设备时,务必确认目标地区的具体法规。

92:20_3.3 物联网WPAN(第1部分)📡

在本节课中,我们将要学习物联网无线个域网。物联网WPAN是我们现在要研究的内容。

最流行的现代规范是IEEE 802.15.4标准,它用于低成本、低速率和低功耗的典型场景。低速率意味着数据传输速率不会很高。这同样是一个无线个域网。因此,低功耗通常非常重要。

IEEE 802.15.4的应用领域 🌐

以下是基于IEEE 802.15.4标准的一些主要应用:

  • ZigBee
  • 6LoWPAN:全称为“IPv6 over Low power Wireless Personal Area Networks”。
  • WirelessHART:其中HART代表“Highway Accessible Remote Transducer”。
  • MiWi:Microchip公司的协议。
  • RF4CE:全称为“Radio Frequency for Consumer Electronics”。
  • ISA100.11a

设备类型 🔧

这些标准下的设备类型通常分为两种:全功能设备和精简功能设备。

  • 全功能设备:顾名思义,具备完整功能。它可以发送、接收、路由数据,并形成簇。它可以充当PAN协调器。这意味着对于一个个人区域网络,它是一个协调节点,负责管理、控制网络访问和整体连接性。这是一个关键的功能,使得网络能够扩展其整体的多跳连接性。
  • 精简功能设备:功能当然有所精简。精简意味着它不具备FFD所拥有的全部功能。它只能与FFD通信,不能充当PAN协调器。它通常扮演简单传感器或开关的角色,并且不具备路由功能。

网络拓扑结构 🕸️

在网络拓扑方面,可以有星型网络、对等网络和网状网络。

上一节我们介绍了设备类型,本节中我们来看看它们如何组织成网络。以下是几种主要的网络拓扑结构:

  • 星型网络:节点通过位于中心的PAN协调器进行通信。
  • 对等网络:节点可以通过PAN协调器以及点对点链路进行通信。星型拓扑的扩展是通过对等拓扑实现的。
  • 网状网络:如果需要使用网状网络,则需要具备对等扩展功能的全功能设备。同时,其中一个全功能设备需要充当PAN协调器。
  • 簇树网络:协调器控制着IEEE 802.15.4网络,它是全功能设备的一种特殊形式,并添加了典型的FFD功能和网络协调与服务特性。

接下来,让我们更详细地了解这些拓扑结构。

星型拓扑 ⭐

在星型拓扑中,节点通过位于中心的PAN协调器进行通信。图中蓝色节点是全功能设备,白色节点是精简功能设备。如图所示,这就是星型网络的结构。

对等拓扑 ↔️

在对等拓扑中,节点可以通过PAN协调器以及点对点链路进行通信。观察上下两图,可以看到底部增加了一个FFD和RFD之间的连接。这就是该规范额外描述的内容。

簇树拓扑 🌳

如果你要扩展一个网络,如果拥有许多物联网设备,那么簇树拓扑绝对是必需的选择。簇树拓扑对于拥有大量节点的无线传感器网络和物联网网络非常有吸引力。

在我们正在进入的万物互联的物联网世界中,即使是5G移动通信标准,在一个一平方公里见方的区域内,可以支持100万台设备。显然,簇树拓扑会非常有吸引力,甚至可能是必要的,意味着没有其他方法可以支持所有这些节点。

簇树拓扑与星型拓扑相似,但RFD只被允许作为最外层的分支连接到簇树。图表显示,全功能设备连接到协调器,而协调器本身也是一个FFD设备。然后,协调器通过该结构连接到多个终端设备。这就是网络形成的方式。

帧格式 📄

现在,让我们看看用于IEEE 802.15.4的一些通用帧格式。由于我们刚才讨论的功能——将多个簇协调连接成树形格式,并由一个协调节点控制和管理网络——我想向您展示帧结构中的几个组件。

帧的前面是一个帧控制字段,长度为2个八位组。一个八位组是一个字节,所以这是2个字节。它具有类似这样的结构:它有16位,因为一个字节是8位,所以两个八位组是2字节,即16位。这就是为什么位编号字段是从0到15,总共16位。

请注意,这里有源地址和目的地址,但在它们旁边,橙色部分显示了源PAN标识符目的PAN标识符

换句话说,不仅包含源地址和目的地址,还包含了源和目的PAN地址标识符。因此,当你在这种树形簇网络中进行通信时,你的数据包可能需要离开你的PAN,通过簇树协调器连接到另一个PAN。为了实现这一点,你不仅需要知道对方的地址,还需要知道对方的源和目的PAN ID,这正是橙色部分包含的内容。

我的数据去哪里?我的IPv4或IPv6数据包去哪里?我的TCP/IP数据包去哪里?你在这里看到的帧有效载荷就是它们。然而,由于这些是用于无线个域网的应用,并非所有大小的IPv4和IPv6数据包都能被包含,因为数据包大小有127个八位组的限制。这限制了帧有效载荷的最大尺寸。

最大帧头被限制在25个八位组。此外,请注意控制帧头,这里再次看到只有2个八位组。你会看到有一个安全启用标志和结构来控制它。还有一个Intra-PAN标志。Intra-PAN意味着这将用于PAN区域内的无线个域网内部通信。你也可以离开你的PAN,即Inter-PAN,那么当然你需要使用你的目的和源PAN ID以及源和目的地址。

但如果是你的PAN内部,那么你使用那个标志将其标记为Intra-PAN,然后以那种模式运行。因此,在你的PAN内部,你可以使用像星型网络这样的结构,其中位于星型中心的你的全功能设备将为你中继到另一个设备;或者如果是对等网络,你可以直接通信。

总结 📝

本节课中我们一起学习了物联网无线个域网的基础知识。我们介绍了核心标准IEEE 802.15.4及其低功耗、低速率的特点。我们探讨了两种主要的设备类型:全功能设备精简功能设备,以及它们在网络中的不同角色。接着,我们详细分析了四种网络拓扑结构:星型对等网状簇树拓扑,并了解了簇树拓扑在支持海量物联网设备时的重要性。最后,我们解析了IEEE 802.15.4的帧格式,特别是源/目的地址与PAN标识符的作用,以及帧大小限制对数据传输的影响。这些概念是构建和理解大规模物联网通信网络的基础。

93:21_3.3 物联网WPAN(第2部分)📡

概述

在本节课中,我们将继续学习物联网无线个域网(WPAN)技术。我们将重点介绍两种重要的协议:Zigbee 和 6LoWPAN。我们将了解它们的技术特点、网络拓扑结构,并深入探讨 6LoWPAN 如何通过头部压缩技术,在资源受限的物联网设备上高效地传输 IPv6 数据包。


Zigbee 协议

上一节我们介绍了 WPAN 的基础,本节中我们来看看 Zigbee 协议。Zigbee 是一种非常流行的协议,由 Zigbee 联盟支持。它基于 IEEE 802.15.4 协议,并在其之上增加了更高层的协议。它支持低功耗无线电通信。

在协议栈中,物理层(负责射频调制解调器)和 MAC 层(负责介质访问控制)的功能由 IEEE 802.15.4 协议规定。而 Zigbee 协议则提供了上层的网络层和应用层。Zigbee 协议使用了下层的介质访问控制(用于协调多用户共享网络)和物理层调制解调器(用于连接射频信道)。

Zigbee 在孤立的网络环境中运行良好。以下是其典型的网络拓扑结构:

  • 星型网络:是最基本和最常见的拓扑结构。
  • 网状网络点对点网络:可以通过节点间的多条路由提供高可靠性。
  • 簇树网络:是星型和点对点拓扑的结合。

这些拓扑结构之所以可行,是因为底层的 IEEE 802.15.4 协议支持这些功能。


6LoWPAN 协议

接下来,我们探讨 6LoWPAN。6LoWPAN 代表“IPv6 over Low power Wireless Personal Area Networks”(基于低功耗无线个域网的 IPv6)。这是一个由互联网工程任务组制定的标准,它使用 802.15.4 个域网技术。

6LoWPAN 支持在基于 802.15.4 的无线个域网上传输 IPv6 数据包。使用 IPv6 数据包的优势在于,它能为物联网无线网络提供 IPv6 支持。如果一个设备本身基于 IPv6 协议,那么 6LoWPAN 就成为一个非常有吸引力的选择,因为它包含了低功耗设计,这对于延长物联网设备的电池寿命非常有利。

其真正的优势在于可以直接连接到 IPv6 互联网。这意味着:

以下是直接连接 IPv6 互联网的主要优势:

  1. 可以使用 IPv6 的高级安全保护,例如 IP 安全、基于 IP 的封装、认证、访问控制、防火墙协议等。
  2. IPv6 的命名、寻址、转换、查找、发现等功能都包含在内。

6LoWPAN 的特点包括:

  • 支持 16 位短地址或 64 位扩展 MAC 地址的小数据包。
  • 支持 20、40、250 kbps 的低数据速率。
  • 使用 IEEE 802.15.4 协议的全功能设备和精简功能设备,构建星型或网状拓扑。
  • 适用于低功耗、电池供电的节点(“低功耗”正是其名称中“Low”的含义)。
  • 设备成本相对较低,这在部署和产品采购中很有吸引力。

6LoWPAN 与头部压缩技术

在无线个域网技术中,头部压缩至关重要。现在,让我们看看 6LoWPAN 如何处理 IPv6 和数据包大小的问题。

IPv6 的最小数据包大小为 1280 字节。而 IEEE 802.15.4 的最大传输单元,即能承载的最大 IP 数据包大小,被限制在 127 字节。显然,这里存在超过一个数量级的不匹配。

IPv6 头部很大,主要是因为其源地址和目的地址各为 128 位,这使得 IPv6 头部至少有 40 字节。这还只是最小头部,IPv6 头部还可以添加许多额外选项以提供更多功能,例如我们之前提到的 IP 安全等功能。

因此,我们需要压缩 IP 地址和其他字段。如果你能从头部其他字段推导出某些字段的特性,那么这些可推导的字段就可以被压缩。这意味着你可能不发送它们,或者只在开始时发送一次并保存起来。对于后续具有相同重复头部字段的数据包,你只需使用压缩格式,跳过发送这些字段,因为之前已经发送过了。这类技术就是我们所说的头部压缩

具体的压缩方法包括:

  • 压缩链路本地地址的前缀。
  • 如果 128 位的 IPv6 地址可以从链路层地址推导出来,则完全省略它。例如,如果接收端已知链路本地地址及其映射的 IPv6 地址,那么在发送链路层地址时,就无需发送完整的 IPv6 地址,接收端可以自动匹配并重建完整的 IPv6 数据包。
  • 压缩通用头部,如 TCP、UDP 和 ICMP 头部。

总结

本节课中,我们一起学习了物联网 WPAN 中的两个关键协议。我们了解了 Zigbee 协议如何构建在 IEEE 802.15.4 之上并提供上层网络功能,以及它支持的各种网络拓扑。随后,我们深入探讨了 6LoWPAN 协议,它使得 IPv6 能够运行在资源受限的低功耗网络上。我们重点分析了其核心挑战——IPv6 大包头与 IEEE 802.15.4 小帧之间的不匹配,并学习了如何通过头部压缩技术巧妙地解决这一问题,从而实现了物联网设备与 IPv6 互联网的高效、直接连接。

94:22_3.4 物联网LPWAN(第1部分)📡

在本节课中,我们将要学习物联网中的一项关键技术:低功耗广域网。我们将了解它的定义、特点、应用场景,并通过与其他无线技术的对比,深入理解其优势和局限性。


什么是LPWAN?🤔

LPWAN代表低功耗广域网。从名称可以自动看出,“广域”意味着其覆盖范围将非常长,网络的整体范围将非常广。此外,从名称可以看出它是“低功耗”的,这意味着它是一种非常节能的技术。

LPWAN是一种为远距离、低功耗通信而设计的无线通信技术。由于其远距离和低功耗的特性,自然导致了低比特率、低数据速率的整体应用。

典型的LPWAN类型包括基于LoRa的网络和超窄带网络。超窄带网络包括SigFox和NB-IoT,后者是移动通信中的一种协议,特别由3GPP标准化组织制定。


为什么需要LPWAN?🎯

上一节我们介绍了LPWAN的定义,本节中我们来看看它的存在意义和应用场景。

让我们观察一个图表,其中纵轴是数据速率,横轴是通信范围。当我们讨论无线局域网和个人域网时,它们当然有有限的通信范围,因为它们是局域网和个人域网。所以它们自然范围有限,这就是它们位于图表左侧的原因。但尽管它们范围有限,它们的真正优势是能够支持高数据速率,这就是为什么它们在纵轴(数据速率轴)上位置很高,甚至超过了图表上方列出的每秒千兆比特的范围。

然后是移动通信协议,如3G、4G(包括LTE和LTE-A),以及5G和基于新无线电通信的系统。它们具有广泛的范围,因为它们是基于蜂窝通信的技术。此外,它们支持高数据速率。

但是,当你考虑使用蜂窝通信的成本时,是否存在更便宜的选择?当你考虑无线个域网和无线局域网的总体覆盖范围时,特别是关注用于物联网设备的无线个域网,从传感器发送度量信息(这些信息不像使用无线局域网发送文件或使用Wi-Fi技术发送视频流那样需要高宽带数据速率访问)时,通常数据速率较低,但你可能希望获得比无线个域网服务范围更广、同时又比移动通信便宜的技术。

在典型的此类系统中,LPWAN就变得极具吸引力。

那么,什么场景需要这样的技术呢?举个例子,如果你在进行环境传感器物联网设备部署呢?你有一大片森林或山脉需要覆盖,你希望能够探测是否有火灾,或者在一定范围内是否有某种奇怪的物体或材料正在改变温度,或泄漏出某种气体,或者与周围环境相比异常明亮或黑暗。那么,如果你的传感器能够检测到这类情况,连同声音信息,LPWAN对你来说就可能变得非常有吸引力。


LPWAN的优缺点对比 ⚖️

上一节我们探讨了LPWAN的应用场景,本节我们将深入细节,通过与其他技术的对比,列出其优点和缺点。

以下是基于无线局域网、无线个人域网、位于中间的LPWAN(我们当前关注的目标系统)以及移动通信蜂窝网络进行的优缺点比较。

首先,它们的真正优势是什么?

以下是各类技术的优点:

  • 无线局域网和无线个人域网:标准成熟且广为人知。它们如此成熟,以至于存在于每一部智能手机上。
  • LPWAN:低功耗、低成本,这是它们如此吸引人的原因。
  • 移动通信网络:高数据速率和充分的覆盖范围。

接下来,我们看看它们的弱点:

以下是各类技术的缺点:

  • 无线局域网和无线个人域网:消耗大量能量,因此电池寿命有限。此外,网络成本高,你需要足够的投资用于接入点、电力,并且需要为它们提供大量的配套设施,因为它们的范围不长,这意味着在一定范围后,它们需要一个接入点或蓝牙主设备连接到有线网络,而有线网络需要交换机、路由器等设备来连接,因此你必须拥有足够的基础设施。
  • LPWAN:数据速率低,并且是新兴标准,因此你可能还没听说过它们。这就是它们不那么流行的原因,也正因为不流行,所以它们尚未出现在智能手机或其他智能手表上。
  • 蜂窝网络:当然,由于高数据速率和得到良好支持的漫游能力,各种应用都可以实现,但同时你需要支付相当高的使用成本。然而,网络服务提供商、你的移动运营商也在支付大量资金,这就是为什么他们每月也要求你支付很多钱。因为你需要连接所有基站、塔楼、建筑物上的设施,在这些存在大量障碍物和基础设施的地方,你还需要添加多个毫微微蜂窝小区(小型室内基站),将它们全部连接起来。然后,你还需要将移动通信有线网络基础设施全部连接在一起,并连接到互联网。这需要资金。此外,蜂窝运营商使用的频段通常是从政府拍卖获得的,这极其昂贵。

因此,尽管LPWAN支持低数据速率、是新兴标准且尚未出现在智能手机上,但由于它们功耗低,电池可以维持很长时间,所以即使物联网设备是电池供电的,它们也有很长的生命周期。而且它们非常便宜、成本低,并且可以在长距离范围内连接,这使得它们非常有吸引力。

这就是为什么LoRa和SigFox作为LPWAN协议正在物联网市场兴起,并且正在发现各种应用它们的方式。当然,还有各种方法可以将LoRa和SigFox连接到蓝牙、Wi-Fi和ZigBee等无线个域网和局域网协议,此外,还可以将它们连接到3G、4G、LTE、LTE-A和5G网络等移动通信协议。


本节课中我们一起学习了物联网中的低功耗广域网技术。我们明确了LPWAN(低功耗 × 广覆盖 × 低数据速率) 的核心特征,理解了它在需要远距离、低功耗、低成本连接的物联网场景(如环境监测)中的不可替代性,并通过与Wi-Fi、蓝牙及蜂窝网络的对比,清晰认识了其优缺点。LPWAN作为连接海量物联网设备的关键桥梁,正随着标准成熟和生态发展而日益重要。

95:23_3.4 物联网LPWAN(第2部分)📡

在本节课中,我们将深入探讨LoRa技术。LoRa是一种支持远距离通信的无线调制技术,是构建大规模物联网网络的关键技术之一。我们将了解其工作原理、系统架构和关键特性。

探索LoRa技术 🎼

上一节我们介绍了LPWAN的概念,本节中我们来看看LoRa的具体实现。LoRa有时也被称为LoRaWAN,其标志设计独特。它是一种能够支持长距离通信链路的无线调制技术。

一个单一的网关或基站可以覆盖整个城市或数百平方公里的区域。当然,有些城市非常巨大,因此不能说每个城市都能被完全覆盖,但在许多应用中,确实存在足够大的区域可以被有效覆盖。

技术基础

LoRa使用一种名为CSS的协议,即Chirp Spread Spectrum(啁啾扩频)无线电调制技术。

它使用免许可的无线电频段,例如:

  • 欧洲的169 MHz、433 MHz、868 MHz频段。
  • 北美的915 MHz频段。

LoRaWAN标准与架构

LoRaWAN标准定义了网络通信协议,包括介质访问控制(MAC)层和整体系统架构。其1.1版本于2017年10月发布,是一个相对较新的协议。这正是LoRa在当前物联网应用中极具吸引力,并且未来吸引力将更大的原因。

以下是LoRa的整体系统架构:

  • 传感器节点:包含处理器、PHY物理层(调制解调器、天线和射频电路单元)。处理器控制应用、LoRaWAN结构、硬件抽象层(HAL)和串行外设接口(SPI)。
  • 无线网关/主机:具备路由能力,内部有IP路由表和数据包转发能力,通过HAL、SPI和USB连接,并包含回程IP协议栈。它当然需要一个调制解调器。
  • 网络服务器:这是一个服务器逻辑单元,包含LoRaWAN技术和支持互联网连接(TCP/IP和UDP)的回程IP协议栈。

LoRa技术负责连接传感器的物理调制解调器与无线网关主机。虽然图中用短的双向箭头表示,但这个距离实际上可能达到数公里甚至数十公里,请不要因为图示简单而低估它。

此外,以太网、LTE、4G移动通信、Wi-Fi等技术将用于连接支持IP、TCP、UDP、ICMP等互联网协议应用网络功能的回程IP网络。

当然,整个系统包含加密安全机制,确保从应用到服务器逻辑的通信都是加密和安全的。这就是LoRa或LoRaWAN的系统架构范围。

LoRa的关键特性

了解了架构后,我们来看看LoRa的几个核心特性,这些特性使其在物联网领域脱颖而出。

以下是LoRa的关键优势:

  • 超远距离:通信范围超过10公里,链路预算高。这比典型的蜂窝网络基站范围(通常约1-5公里)要长得多。当蜂窝网络使用微蜂窝、纳蜂窝等更小的基站时,其范围与蓝牙或Zigbee等无线个域网类似,非常小。因此,10公里或更远的范围是一个巨大的优势。
  • 超长电池寿命:具有低能耗特性,电池寿命可达10到20年。这比蜂窝M2M系统的寿命长约10倍。尽管初始部署可能需要一些成本,但在10到20年内无需更换电池,届时很可能直接采用新技术进行设备更换。
  • 低数据速率:数据速率从0.3 kbps到50 kbps。这可能是其一个缺点,数据速率非常低。然而,考虑到以下因素,这通常是可接受的:
    1. 环境中可能部署有大量设备。
    2. 这些设备通常不传输数据文件或多媒体视频,只是发送本地感知的数据及其位置信息到后台网络。
    3. 当覆盖广阔区域时,需要部署许多传感器。单个传感器数据速率虽低,但所有传感器汇总的数据速率会非常高。这种设计正是针对大规模、稀疏数据上报的场景,如海岸线监控、军事区监控、森林或校园设施监控等。

LoRa联盟与标准化

LoRa的标准化工作主要由LoRa联盟推动。许多知名公司如思科、IBM、Semtech、Swisscom、KPN等正在引领这项努力。

总结

本节课中,我们一起学习了LoRa技术。我们了解到LoRa是一种基于CSS调制技术的远距离、低功耗无线通信方案,其系统架构包含终端节点、网关和网络服务器。它的核心优势在于超过10公里的通信距离、长达10-20年的电池寿命以及支持海量设备连接的能力,虽然其数据速率较低,但非常适合大规模、低频次数据传输的物联网应用场景。LoRa联盟正推动其标准化和生态发展,使其成为当前和未来物联网领域一项极具吸引力的技术。

96:24_3.4 物联网LPWAN(第三部分)📡

概述

在本节课中,我们将要学习一种名为 SigFox 的低功耗广域网技术。我们将了解它的技术特点、网络架构以及工作原理,帮助你理解这种适用于物联网的轻量级通信方案。


SigFox技术简介

上一节我们介绍了LPWAN的几种技术,本节中我们来看看其中一种具体实现——SigFox。

SigFox是一种LPWAN技术,它使用超窄带调制。这项技术适用于基于物联网服务的、低数据速率的轻量级设备。其典型的调制结构是DBPSK,整体工作在低比特率下,因此要求基站具有很高的接收灵敏度。


数据传输特性

SigFox网络传输的是小型、轻量的消息。以下是其关键的数据传输限制:

  • 上行链路:传感器节点向SigFox基站或接入点发送数据。其数据包中有效载荷的最大限制为 12 字节。这意味着整个数据包会更大,但你能放入数据包的信息(即有效载荷)大小被限制在12字节内。
  • 下行链路:从SigFox基站或主节点向传感器设备发送数据。其数据包尺寸更小,有效载荷最大为 8 字节,并且有一个 14 字节 的头部。

典型的服务设计是每天最多传输140次,数据速率为 100 比特/秒


频段与优势

SigFox使用无需许可的ISM频段。具体使用的范围在欧洲是800 MHz,在美国是900 MHz。选择这些频段有以下几个原因:

以下是选择这些频段的主要原因:

  1. 这些频率的特性使其能够很好地穿透固体物体。
  2. 它们处于足够高的频率,使得天线尺寸可以做得非常小,这意味着SigFox设备不必设计得很大。
  3. 在这些频段范围内,还有其他一些信号传播特性使其非常有吸引力。
  4. 由于在这个频段存在丰富的调制解调器芯片、射频电路和天线,其他能够连接到它们的设备可以很容易地被设计出来。

网络架构与工作流程

了解了技术参数后,我们来看看SigFox的网络是如何构建和运行的。

SigFox的网络架构包含以下几个部分:

  • SigFox 对象:指那些集成了SigFox调制解调器芯片的物体(设备)。
  • SigFox 基站:这些是基站或接入点,负责接收来自带有SigFox调制解调器的对象的信号。
  • SigFox 云:这是一个云服务平台(带有商标符号)。
  • 客户IT应用:用户的实际应用平台。

每个SigFox设备和基站都有一个唯一的SigFox ID。该ID及其签名会被传输,用于对每个设备进行身份验证。每个设备都通过其ID和签名被单独识别和授权。

其工作流程如下:

  1. 感知数据的对象将其数据发送到SigFox基站。
  2. 基站检测这些信号,对其进行解调,然后将消息报告给SigFox云。
  3. SigFox云将消息推送到用户应用程序或客户平台。
  4. 服务就这样完成。


总结

本节课中,我们一起学习了物联网LPWAN技术中的SigFox。我们了解了它采用超窄带调制,适合传输小数据量的消息;它使用特定的ISM频段,具有穿透力强、设备体积小的优点;我们还分析了其包含对象、基站和云服务的网络架构,以及从设备感知到数据送达应用端的完整工作流程。SigFox为低功耗、广覆盖的物联网应用提供了一种高效的通信解决方案。


参考资料

这些是我使用的参考资料,也推荐给你,谢谢。

97:物联网移动通信网络(第1部分)📡

在本节课中,我们将要学习物联网与移动通信网络如何融合,以及相关的标准化发展。这是一个非常重要的主题,因为物联网与移动通信技术正在紧密结合。特别是在未来的移动通信技术中,其原始架构和设计已包含许多新内容,以便能完美地支持物联网服务与应用。

例如,在5G移动通信中,已经包含了以多种方式支持物联网的机器类型通信。此外,还有网络切片技术,它将整个5G移动通信网络划分为针对特定物联网应用目标的独立部分。

考虑到所有这些因素,物联网与移动通信网络自然需要被放在一起研究。

标准化组织:3GPP

上一节我们介绍了物联网与移动通信融合的重要性,本节中我们来看看主导这一融合的标准化组织。

总体而言,领导这一领域的标准化组织是3GPP,即第三代合作伙伴计划。它由七个电信标准化团体组成,负责制定蜂窝网络通信的标准。这七个团体共同参与3GPP的活动。

以下是3GPP标准涵盖的主要焦点领域:

  • 无线接入
  • 服务质量
  • 核心传输网络
  • 网络服务与安全

3GPP标准以版本的形式进行结构化,第8版及后续标准开始包含对物联网的支持。

标准演进与物联网支持

了解了主导组织后,我们来看看标准的具体演进路径,特别是其中对物联网的支持。

观察第8版,其中包含了LTE,即长期演进,这是第四代移动通信标准。Cat是类别的缩写。你可以在这里看到演进结构。其中包含了LTE MTC,即机器类型通信的缩写。这指的是正在被支持的物联网服务应用。

此外,在第8版中,还包含了LPWA,即低功耗广域网技术。关于如何集成该技术的规范也包含在3GPP移动通信标准的第8版中。

然后是GSM MTC,即基于全球移动通信系统的MTC。在这个标准中,这是另一种移动通信和蜂窝技术模式,是一种非常流行的、将被用于支持物联网应用的GSM移动通信和蜂窝技术。

观察标准的演进方式,你可以看到从LTE Cat 1标准开始,它们逐渐融合并支持LTE MTC标准,并持续演进最终成为LTE Cat M1,也就是eMTC标准。这现已进入第14版及以后,属于第五代移动通信蜂窝标准。

此外,在LPWA方面,NB-IoT和LTE-M协议合并为NIoT标准,这也将引领进入第14版及以后的第五代移动通信蜂窝技术。

另外,在GSM MTC领域,从其演进中我们得到了EC-GSM-IoT技术。这三种引领进入第五代标准的技术,将使第五代移动通信蜂窝网络技术能够有效地支持基于物联网的各种服务应用。

早期标准:LTE Cat 1

在介绍了演进路径后,我们具体分析一下早期的关键标准。首先来看第8版中的LTE Cat 1包含了什么。

你可以在这个表格中看到相关标准,其中包括调制方式、峰值数据速率、最大输出功率和功率效率。将其与LoRaWAN和Sigfox进行比较,差异显而易见。

你能看到的一些主要特点是,LTE Cat 1的功率效率较低。然而,这些设备连接到你的智能手机,智能手机有充足的电池供应,并且当前及未来模式中还加入了无线充电技术,同时它们也得到基站的支持。

此外,其整体带宽使用量和最大输出信号功率范围等特性,都高于LoRaWAN和Sigfox所使用的。另外,峰值服务范围的整体数据速率也显示在这里。

3GPP第一个物联网标准选项是第8版中的LTE Cat 1。它包含了过渡性特征,这意味着其数据速率高于后来的3GPP物联网标准。其下行链路和上行链路的峰值数据速率分别在10 Mbps到5 Mbps的范围内。

现在,这意味着什么?在最初这个时期,很难预测支持物联网应用需要什么。因此,你在这里看到的一些数据速率值有点过高。这意味着后续标准会降低数据速率,并在功耗和其他服务模式方面具有优势。所以,这些数字相对于我们现在所见的物联网支持标准来说是比较高的。

此外,UE接收机带宽为20 MHz。

标准改进:MTC网络与系统增强

在了解了早期标准后,我们来看看后续版本如何针对物联网进行优化。

接下来看第10版和11版中的NI-MTC和SI-MTC标准。这里的NI-MTC是指第10版中针对MTC的网络改进,为MTC制定了特定要求,以使网络更适合MTC。其中包含了物联网网络的拥塞和过载控制。

然后SI-MTC是第11版中对MTC的系统改进。其主要演进焦点是设备触发以及从应用服务器到MTC设备的高可达性。当然,这非常重要。通过短信触发请求,以及仅通过LTE可能提供的支持,是其中包含的另一个选项。

低功耗演进:LTE Cat 0

上一节我们看到了系统层面的改进,本节中我们关注设备层面的能效提升。

第12版中包含的LTE Cat 0。它支持新的UE类别,可以节省电池并延长UE的寿命。UE是用户设备的缩写,在基于第四代和第五代标准的LTE移动通信技术中,可以指你的智能手表、笔记本电脑、智能平板电脑以及各种其他设备,我们统称为用户设备,简称UE。

它适用于物联网技术,并且数据速率较之前的标准有所降低,通常是与第8版相比,第8版的标准设定得有点过高。

以下是LTE Cat 0的关键参数:

  • 下行和上行峰值数据速率为1 Mbps。
  • UE接收机带宽为20 MHz。
  • 双工类型为半双工。


本节课中我们一起学习了物联网与移动通信网络融合的背景、主导标准组织3GPP、从LTE Cat 1到eMTC和NB-IoT的标准演进路径,以及早期标准LTE Cat 1的特性及其与LPWAN技术的对比,最后了解了为优化物联网支持而进行的网络、系统改进以及专为低功耗设计的LTE Cat 0标准。这些构成了移动通信网络支持物联网服务的基础框架。

98:物联网移动通信网络(第2部分)📡

在本节课中,我们将继续深入学习物联网移动通信网络,重点探讨基于LTE演进的几种关键物联网技术标准,包括eMTC、NB-IoT和EC-GSM IoT,并了解它们如何为未来的5G大规模机器通信奠定基础。

上一节我们介绍了物联网网络的基础架构和无线通信技术概览,本节中我们来看看几种专为物联网设计的蜂窝网络技术标准。

eMTC:基于LTE的增强型机器通信

eMTC,即增强型机器类通信,基于3GPP Release 13标准,也称为LTE Cat-M1。其核心目标是显著降低LTE物联网网络的成本,使其在与其他低功耗无线技术(如无线局域网、个域网等)竞争时更具吸引力,从而能被集成到更多设备中。

以下是eMTC的一些关键参数:

  • 峰值数据速率:约为1 Mbps或更低。
  • 用户设备接收带宽:约1.08 MHz
  • 调制方式OFDMA
  • 用户设备发射功率:新设备约为20 dBm,旧设备约为23 dBm

eMTC的优势在于,它能在相同的LTE网络带宽内容纳更多的物联网流量,并且与现有LTE网络兼容,这意味着运营商可以通过软件升级而非大规模硬件改造来部署此功能,极具吸引力。

Release 14 中的 eMTC 增强

随着技术向5G迈进,Release 14标准对eMTC进行了进一步增强。这些增强功能包括:

  • 支持定位追踪:为基于位置的服务提供了可能。
  • 支持组播:便于向一组设备高效发送消息。
  • 支持更高数据速率和更宽信道带宽:例如可达5 MHz
  • 支持VoLTE:可通过LTE网络传输语音IP数据包,使用灵活且可应用多种压缩技术。

NB-IoT:窄带物联网

NB-IoT基于3GPP Release 13标准,也称为LTE Cat-NB1。它由华为、爱立信、高通等公司共同推动,核心目标同样是降低成本。

以下是NB-IoT的一些关键参数:

  • 峰值数据速率:下行链路目标为250 kbps,上行链路为250 kbps20 kbps
  • 用户设备接收带宽180 kHz
  • 调制方式OFDMA

NB-IoT的一个关键设计是尝试去除网关,让传感器数据可以直接发送到主服务器,无需进行聚合或格式转换。这不仅减少了处理时间,加快了传感信息上传速度,也简化了网络架构,降低了部署成本。成本控制对于物联网协议的广泛普及至关重要。

NB-IoT支持三种操作模式:

  • 独立模式:使用独立的GSM载波,与LTE频段不兼容。
  • 保护带模式:利用LTE载波保护带中未使用的资源块,非常高效地利用频谱空隙。
  • 带内模式:使用正常的LTE频段来支持NB-IoT。

Release 14 中的 NB-IoT 增强

在Release 14中,NB-IoT也获得了面向5G的增强,包括:

  • 支持定位和组播
  • 移动性和服务连续性增强:以支持设备在移动中的连接。
  • 功耗和延迟降低:为了与那些电池寿命可达10-20年的超低功耗设备竞争,降低功耗和延迟是必须实现的设计目标。例如,定义了新的用户设备功率等级(如14 dBm),以节省能源、延长设备寿命。

EC-GSM IoT:扩展覆盖的GSM物联网

EC-GSM IoT基于Release 13标准,是GSM技术面向物联网的演进,EC代表“扩展覆盖”。

以下是EC-GSM IoT的一些关键参数:

  • 峰值数据速率474 kbps(下行链路约2.2 Mbps)。
  • 用户设备接收带宽200 kHz
  • 调制方式:基于TDMA/FDMA
  • 用户设备发射功率23 dBm33 dBm
  • 电池寿命:预期可达10年

大规模机器通信与5G未来

最后,我们展望未来。大规模机器通信是国际电信联盟定义的5G三大应用场景之一。它将eMTC、NB-IoT和EC-GSM IoT等技术融合进5G mMTC标准中。

其关键要求包括:

  • 广域覆盖:使用694-790 MHz频段,为联网汽车和车队服务设计。
  • 超高连接密度:在1平方公里区域内支持100万台设备,这是智慧城市和智能电表等应用所必需的。

本节课中我们一起学习了物联网移动通信网络中的几种核心蜂窝技术。我们了解到,为了满足物联网设备低成本、低功耗、广覆盖和海量连接的需求,3GPP组织从LTE标准出发,演化出了eMTC、NB-IoT和EC-GSM IoT等专门技术,并持续向5G mMTC标准演进。在这些无线技术中,Wi-Fi和蓝牙因其普及性也将被广泛使用,而这将是我们下一个模块要详细讨论的内容。


参考资料
(课程中使用的推荐参考文献列表)

99:Wi-Fi 与蓝牙技术详解 📡

在本节课中,我们将聚焦于物联网中应用最广泛的两种无线网络技术:Wi-Fi蓝牙。首先,这两种技术之所以成为重点,是因为它们已普遍集成于智能手机、智能手表及各类智能设备中,自然成为了支撑各种物联网服务的优先网络技术。鉴于其广泛性与重要性,本模块将对其进行深入探讨。我们将从 Wi-Fi 开始。

Wi-Fi 概述

无线局域网是一种技术,它使用某种无线分发系统,在大约 30 米 的本地范围内连接设备。其应用场景涵盖家庭、学校、计算机实验室、建筑、办公室等几乎所有场所。

无线局域网市场由多个组件构成,主要厂商包括思科、HPE、华为、Ubiquti 等主流网络供应商。2016年,无线局域网与 Wi-Fi 设备的整体市场规模达到了 93.8 亿美元,这解释了为何需要单独开设讲座来讲解此项技术。

市场格局与主要厂商

根据 2017 年第一季度的数据,企业级无线局域网供应商的市场收入份额分布如下。值得注意的是,排名第一的思科系统公司在网络技术,尤其是路由器、交换机和各种基于 IP 的服务方面处于世界领先地位,这使其在无线局域网市场也拥有显著优势。

以下是主要厂商的市场份额分布:

  • 思科:收入 5.3739 亿美元,占据 43.4% 的市场份额。
  • HPE (Aruba):占据显著份额。
  • Ubiquti:占据显著份额。
  • 其他公司:包括华为等。

其中,华为公司的市场份额在一年内增长了 229.7%,增速最快,基于 2017 年第一季度统计,其市场份额达到 3.7%

Wi-Fi 技术基础

Wi-Fi(无论是否使用连字符,在文献中两种形式均指代同一技术)是一种代表性的无线局域网技术,它使用 ISM 无线电频段

ISM 代表工业、科学和医疗频段,我们在之前的模块中已单独学习过。我们感兴趣的频率范围主要是:

  • 2.4 GHz 频段:属于特高频范围。此频段数据速率支持稍低,但覆盖范围更广,因为其信号穿透固体物体的能力较强,由阴影效应导致的性能衰减很小,这对无线局域网非常有吸引力。
  • 5 GHz 频段:属于超高频范围。此频段支持更高的数据速率和吞吐量。

全球通用的 ISM 频段因其良好的信号特性和带宽特性,能够支持包括高速率在内的各种数据速率,因而极具吸引力。但另一方面,正因其通用性和性能优越,使用该频段的设备非常多,意味着存在大量设备竞争接入,可能导致干扰。

增强技术:波束成形与 MIMO

波束成形多天线技术(如 MIMO)被用于提高数据速率和服务质量。

MIMO 代表多输入多输出,其核心概念是:

在发射端和接收端都使用多个天线,协同工作以发送更高速率的数据。

网络组件:接入点

接入点在无线局域网中扮演着关键角色。这是一个允许 Wi-Fi 设备连接到有线网络的设备。我们所说的 Wi-Fi 设备包括智能手机、智能手表、各种智能设备、笔记本电脑、平板电脑等。

AP 通常连接到具有路由功能的互联网网关,或者 AP 本身内置了支持此功能的小型路由器,这非常普遍。

观察网络基础设施,其结构如下:接入点连接到互联网。在其范围内的各种设备使用 Wi-Fi 连接到该接入点。一旦连接,它们可以在此局域网内相互通信,也可以与互联网另一端的其他设备连接。

网络运行模式

Wi-Fi 主要有两种运行模式:基础设施模式自组织模式。我们将从基础设施模式开始,因为这是我们最常使用的模式。

基础设施模式

在基础设施模式中,接入点帮助 Wi-Fi 设备相互通信,并与连接到互联网的有线网络通信。

典型的网络结构称为 基本服务集。在此模式下,一个接入点为多个 Wi-Fi 设备提供服务,并将它们连接到有线互联网,这就是我们所说的 BSS。

一个典型的 BSS 结构示例如下:个人电脑、笔记本电脑、平板电脑(当然也包括智能手机)连接到一个接入点,该接入点连接至交换机,再通过路由器/网关连接到互联网。

自组织模式

自组织模式是区别于基础设施模式的另一种模式。在此模式下,Wi-Fi 设备或站点直接相互通信,无需接入点的帮助。

当没有接入点可用,或者即使有接入点也希望绕过它时,会使用此模式。设备将直接与另一台设备通信。

此模式也称为 对等模式。其网络服务集结构称为 独立基本服务集。在自组织模式下,网络支持 IBSS 模式。

网络结构如下所示:设备直接相互连接。在这个无线局域网中,看不到连接到有线互联网的接入点。

BSS 与 ESS 详解

BSS 是基于 802.11 标准的无线局域网的基本构建块。在基础设施模式下,一个 BSS 由接入点和 Wi-Fi 站点构成。此时,AP 充当主设备,控制 BSS 内的所有站点。

扩展服务集 是连接到单个网络的两个或更多 BSS 的集合,它扩展了 Wi-Fi 站点的整体覆盖范围和移动性。

一个 ESS 示例如下:一个局域网路由器连接两个接入点,每个接入点服务于各自的 BSS。它们通过局域网路由器连接到互联网,这就构成了 ESS。当然,这只是一个简单示例,实际中可以支持更多的 BSS,此处仅因屏幕尺寸限制绘制了两个。

总结

本节课我们一起深入学习了 Wi-Fi 技术。我们从其市场重要性入手,了解了其使用的 ISM 频段(2.4 GHz 和 5 GHz)特性,探讨了用于提升性能的 MIMO 技术,并详细分析了无线局域网的核心组件——接入点。最后,我们区分了两种主要的网络运行模式:需要 AP 协调的 基础设施模式(形成 BSS/ESS)和设备间直接通信的 自组织模式(形成 IBSS)。理解这些基础概念是掌握现代无线网络,特别是其在物联网中应用的关键。

本节内容所参考的资料推荐给大家,谢谢。

100:28_4.2 Wi-Fi DCF CSMA-CA(第1部分)📡

在本节课中,我们将学习Wi-Fi通信中的一项核心技术:分布式协调功能及其核心协议——载波侦听多路访问/冲突避免。我们将了解它们为何重要,以及它们如何协同工作以避免数据包冲突,从而保证无线网络的效率。

Wi-Fi DCF与CSMA/CA概述

Wi-Fi的运行基于一系列标准。其中,分布式协调功能是一种用于实现Wi-Fi通信的技术。

在DCF中,用于访问ISM频段信道的一项核心网络技术被称为载波侦听多路访问/冲突避免,简称CSMA/CA

我们之所以需要这项技术,是因为ISM频段被许多设备共享使用,这些设备无需许可即可使用该频段,而这正是ISM频段的设计初衷。

在这种应用结构下,由于多个设备在无需许可的结构中使用同一频段,当它们访问信道时,我们希望它们能监视载波频率。如果当前没有其他设备在使用,我们希望它们能决定何时以及如何使用该信道。

因此,我们得到了“载波侦听”这个词,即感知载波频率(2.4 GHz或5 GHz频段)。同时,我们试图实现一种非常敏感、精确的“多路访问”,让多个设备能以特定的方式使用信道而互不冲突,这就是我们加上“冲突避免”一词的原因。

为何需要避免冲突?

DCF和CSMA/CA的作用在于,我们希望避免因数据包冲突而导致的通信失败。

如果多个用户的数据包发生冲突,这些数据包将全部作废,变得无用。此外,如果你正在进行一连串的通信,那么整个数据包序列很可能都会浪费掉,变得毫无用处。这会降低网络的效率和利用率,因此我们极力避免这种情况。

这种情况之所以发生,再次是因为这是一个无需许可的ISM频段。

CSMA/CA的工作原理

CSMA/CA的操作首先进行载波侦听。这意味着设备首先会查看它将要使用的信道,并试图在无其他设备使用时才使用它。

为了知道何时使用信道,以及何时其他设备没有使用,你需要感知载波频率。这就是CSMA中“CS”部分所代表的含义。

另一部分是冲突避免。你希望避免冲突。因此,如果通过载波侦听检测到其他设备正在使用信道,你就不应发送数据。

一旦你检测到其他设备将要使用信道,必须有一个NAV周期。在此周期内,因为你检测到其他设备正在使用信道,所以你不使用该信道。设置这个NAV周期对于避免冲突至关重要。

NAV是网络分配矢量的缩写,意味着你已经分配了网络并且有人正在使用它,因此我将不使用它以避免冲突。

RTS与CTS协议

以下是用于在本地节点中设置NAV的两种协议消息:请求发送允许发送

请求发送用于发起一个通信会话。发送方会说“请求发送”,并要求对方回复。当希望与之通信的节点(站点)回复一个“允许发送”作为对“请求发送”的响应时,由于这两个信号(RTS和CTS),所有看到我们交换了RTS或CTS(或两者都看到)的周围设备,在NAV周期内都将克制发送任何数据。这就是我们避免冲突的方式,也是Wi-Fi技术中使用的CSMA/CA内部的冲突避免技术。

因此,RTS和CTS是交换的消息,使得本地设备看到后,在NAV期间会克制发送任何数据包。

解决隐藏节点问题

这是ISM频段中隐藏节点问题的解决方案。我们不知道谁在监视信道,谁想要发送数据。因此,对于那些我们不知道谁想发送、谁计划发送的节点,我们可以利用RTS、CTS和NAV持续时间来防止它们与我们的数据包发生冲突。

这就是为什么我们说它是隐藏节点问题的解决方案,因为那些我的节点未察觉的隐藏节点,将能够看到我们交换的RTS和CTS,从而避免冲突。

你将看到,通信是通过RTS请求的。而CTS帧用于接受RTS发出的通信请求。

总结

本节课中,我们一起学习了Wi-Fi通信的基础机制。我们了解到,分布式协调功能通过载波侦听多路访问/冲突避免协议来管理对共享无线信道的访问。其核心在于先侦听后发言,并利用RTS/CTS握手NAV机制来主动避免数据包冲突,特别是解决了隐藏节点问题,从而显著提升了无线网络的整体效率和可靠性。

101:29_4.2 Wi-Fi DCF CSMA-CA(第2部分)📡

概述

在本节课中,我们将继续学习Wi-Fi中DCF(分布式协调功能)的核心机制——CSMA/CA(载波侦听多路访问/冲突避免)。我们将重点探讨帧间间隔、竞争窗口和时隙时间等概念,这些机制共同协作,以确保多个设备能够有序、高效地共享无线信道。

帧间间隔与优先级

上一节我们介绍了CSMA/CA的基本流程,本节中我们来看看帧间间隔如何决定通信的优先级。

帧间间隔用于设定通信的优先级。可以这样理解:如果两个人在快速对话,他们发送和回复的节奏非常快,那么其他人就很难在不打断他们的情况下插入对话,因为话语很容易重叠。然而,如果他们的对话节奏很慢,每说一句话后都有较长的等待和回复间隔,那么由于间隔时间较宽,其他人就更容易插入并发送自己的信息,甚至可以“劫持”对话。

在Wi-Fi中,帧间间隔就是数据包之间的一段很短的时间间隔。这个间隔时间的长短决定了优先级。

  • 短帧间间隔SIFS 是最短的帧间间隔。使用SIFS的通信序列(如RTS、CTS、数据、ACK的交换)发送和回复速度极快。一旦一个通信会话以SIFS间隔进行,其他设备就无法干扰,必须等待该会话结束。
  • DCF帧间间隔DIFS 比SIFS长。在一个使用SIFS的快速通信会话结束后,会有一段较长的DIFS间隔,之后才会开始新的通信会话竞争。

因此,如图所示,通信过程会遵循 DIFS -> SIFS 这样的间隔模式。

竞争窗口(退避窗口)

除了帧间间隔,还有一个关键机制是竞争窗口,也称为退避窗口。

竞争窗口之所以存在,是因为当检测到有多个设备试图通信时,需要决定谁先发送。以下是其工作流程:

  1. 首先设定一个初始的竞争窗口持续时间。
  2. 每个想要发送数据的设备会在这个窗口期内随机选择一个数字。
  3. 设备会等待与其所选数字对应的时间长度。
  4. 等待结束后,设备检查信道是否空闲。如果空闲,则开始使用信道;如果繁忙,则重新进入退避流程。

由于每个设备随机选择数字,它们通常会选择不同的值。这样,幸运地选到较小数字的设备会比选到较大数字的设备更早尝试通信,从而避免了冲突。这段“等待所选随机数对应时间”而不发送的过程,就是我们所说的退避窗口

当然,存在一种可能性:不同设备随机选择了相同或相近的数字,从而导致数据包碰撞。为了避免这种情况:

  • 如果检测到信道繁忙或发生碰撞,下一次竞争窗口的尺寸会加倍
  • 所有设备在这个加倍的窗口内重新选择随机数。由于窗口变大,再次选择相同数字导致碰撞的概率会大大降低。
  • 如果再次失败,窗口尺寸会继续加倍,这个过程最多重复10次
  • 当窗口尺寸达到最大值(加倍10次后),将保持该最大尺寸,并在此窗口内重新选择随机数,最多再尝试6次
  • 如果经过这总共16次(10次加倍尝试 + 6次最大窗口尝试)尝试后仍然失败,设备将放弃本次通信,并从头开始流程。

这就是Wi-Fi(以及你的智能手机)每天都在使用的CSMA/CA操作机制。

时隙时间与参数关系

继续深入,我们还需要了解时隙时间

时隙时间是一个基本的时间单位,是最小的时间量度。它就像一个时间单元,用于构建其他时间间隔:

  • 多个时隙时间可以组成一个竞争窗口。
  • DIFS和SIFS等帧间间隔也是时隙时间的倍数。

具体来看:

  • SIFS(短帧间间隔)用于需要立即响应的动作,例如在RTS、CTS、数据帧交换的会话中,回复必须在SIFS内发出。
  • DIFS(DCF帧间间隔)是基于竞争服务的最小空闲时间。

查看图中参数,时隙时间非常短,单位是微秒。根据不同的IEEE 802.11 Wi-Fi模式(如a/b/g/n),这些数值可能略有不同。SIFS和DIFS也以微秒为单位。

它们的关系如下:

  • SIFS 通过在其传输机会内保持最短的帧间间隔,来维持最高的信道使用优先级。因为它最短,所以能保证通信序列不被其他设备打断。
  • DIFS 比SIFS长,其长度等于 SIFS + 2个时隙时间

所以,从时长上看:时隙时间 < SIFS < DIFS。DIFS比SIFS多的部分,正是那额外的2个时隙时间。

总结

本节课我们一起学习了Wi-Fi DCF中CSMA/CA机制的另外几个核心部分:

  1. 帧间间隔SIFSDIFS 通过不同的时间长度来设定通信优先级,确保高优先级的会话(如ACK)不被中断。
  2. 竞争窗口(退避窗口):设备通过在此窗口内随机选择等待时间来避免冲突。如果发生冲突,窗口尺寸会指数级增长(加倍),以降低再次碰撞的概率。
  3. 时隙时间:作为基本时间单位,用于构建竞争窗口和各类帧间间隔。

这些精妙的时序机制共同作用,使得多个Wi-Fi设备能够在没有中心控制器的情况下,公平、有效地共享无线信道,这也是我们日常无线网络能够顺畅运行的基础。

102:4.2 Wi-Fi DCF CSMA-CA(第3部分)📡

在本节课中,我们将学习Wi-Fi分布式协调功能(DCF)中,使用RTS/CTS机制来避免隐藏节点问题的具体操作流程。我们将通过时序图,详细解析一次完整的数据交换过程。

上一节我们介绍了RTS/CTS的基本概念,本节中我们来看看这个机制在实际通信中是如何一步步运行的。

操作流程详解

现在,让我们通过下面的示意图来观察这个机制的实际运作。

在通信会话开始时,分布式帧间间隔(DIFS)计时器被启动。这意味着,在前一个会话结束后,设备需要等待一个基本的DIFS时间段。

随后,发起通信的设备会发送一个“请求发送”(RTS)信号。自然地,处在该设备附近的其他设备会侦听到这个RTS信号。

以下是RTS信号触发的一系列动作:

  • 设置网络分配向量(NAV):侦听到RTS信号的设备会设置自己的NAV计时器。NAV是一个虚拟的载波侦听机制,它告诉设备在NAV计时结束前不要发送任何数据,从而避免与即将发生的通信产生碰撞。
  • 保护通信窗口:这样做的目的是保护即将在这台设备与目标设备之间交换的数据包。

RTS信号的传输时间会被计入总耗时。紧接着,在一个短帧间间隔(SIFS)之后,通信的另一端——即目标接收设备——会立即回复一个“允许发送”(CTS)信号。

这个CTS信号是对收到的RTS请求的回复。同样地,处在这个目标设备周围(图中蓝色虚线范围内)的设备也会侦听到CTS信号。

以下是CTS信号带来的影响:

  • 扩展保护范围:这些设备也会设置自己的NAV计时器,从而抑制自身的数据发送,避免与正在进行RTS/CTS握手的两台设备发生碰撞。

CTS信号的传输时间也被加入总耗时。再经过一个SIFS短间隔后,数据包才会被正式发送。

此时,数据包是受到保护的,因为周围设备由于设置了NAV而处于静默状态。数据包发送完毕后,会再经过一个非常短的SIFS间隔。

然后,接收方会发送一个确认(ACK)包,回传给发送数据包的站点,以确认数据包已无误接收。ACK包的传输时间也会被计入。

在ACK包交换完成后,整个数据交换过程结束。之后,再经过一个DIFS时间段,下一个通信会话便可以开始。

时序图分析

为了更好地从时间维度理解,我们来看一个时序流程图。图中时间轴向下延伸,我们选取了三个有代表性的节点:

  • 节点A:代表靠近接收端的邻居节点。
  • 节点B:代表远离通信双方的另一个邻居节点。
  • 节点C:代表靠近即将发送RTS的发送端的邻居节点。

让我们看看这个操作在时间上是如何工作的:

  1. 等待与发起:在前一个会话结束后,发送端等待一个DIFS时间,然后发送RTS信号。这个信号会到达它想要通信的目标节点。
  2. 首次NAV设置:基于这个时刻,发送端周围的设备(如节点C)会设置一个NAV持续时间,在此期间它们不会发送任何信息。
  3. 回复与二次保护:经过一个SIFS持续时间后,目标节点回复CTS信号。这将触发它周围的设备(如节点A)也设置NAV,以确保不会发生碰撞,从而保护整个通信会话。这也是为什么节点A会在这个NAV期间抑制发送。
  4. 安全传输数据:此时信道已确保安全,不会发生碰撞,因此可以继续发送数据包。数据包在一个SIFS周期后发出。
  5. 确认与结束:数据包被接收后,再经过一个SIFS周期,接收方会发回确认(ACK)包。
  6. 释放信道:此后,会话完成。发送方安全地发送了数据包,并且通过返回的ACK确认包知道数据已被安全接收。然后,经过一个DIFS周期,其他设备就可以使用这个信道了。

总结

本节课中我们一起学习了Wi-Fi中RTS/CTS机制的具体工作流程。通过DIFS等待、RTS/CTS握手交换、NAV设置、数据安全传输以及ACK确认这一系列步骤,有效解决了隐藏节点问题,保障了在竞争信道环境下的可靠通信。整个流程的核心在于利用控制帧(RTS/CTS)为后续的数据传输预先预约并保护信道资源。

这些是我使用的参考资料,也推荐给你。谢谢。

103:Wi-Fi标准(第1部分)📡

在本节课中,我们将学习Wi-Fi技术的基础标准,即基于IEEE 802.11系列的标准。我们将了解不同Wi-Fi标准的发展历程、核心技术特点、支持的数据速率以及它们如何满足各种应用需求。课程内容涵盖从最初的802.11标准到后续的关键修订版,如802.11a、b、e、g等,并解释它们如何共同构成了现代Wi-Fi网络的基石。


Wi-Fi标准概述

Wi-Fi标准是基于IEEE 802.11系列的技术规范。这些标准规定了构建一个无线系统需要满足的协议和要求,包括数据包结构、介质访问控制、信道、调制方式以及数据速率等。

数据速率方面,我们已经知道:

  • 802.11a最高可达 54 Mbps
  • 802.11b最高可达 11 Mbps
  • 802.11g最高可达 54 Mbps
  • 802.11n最高可达 150 Mbps
  • 802.11ad最高可达 7 Gbps

原始标准:802.11-1997

上一节我们概述了Wi-Fi标准,现在让我们从最初的版本开始深入了解。802.11-1997标准于1997年6月发布,是IEEE 802.11 Wi-Fi标准的原始版本。

该标准支持 1 Mbps2 Mbps 的数据速率。它使用CSMA/CA(载波侦听多路访问/冲突避免)协议,并在2.4 GHz ISM(工业、科学和医疗)频段或红外频段上工作。

以下是其物理层调制方案:

  • 在2.4 GHz频段使用跳频扩频
  • 在2.4 GHz频段使用直接序列扩频
  • 在红外频率范围使用红外通信

802.11a标准

接下来,我们看看802.11a标准。它于1999年9月发布,是对原始标准的一项修订。

该标准支持前向纠错编码,并定义了OFDM通信的要求。OFDM(正交频分复用)是当时新兴的宽带、高数据速率通信技术,至今仍保持着重要性和普及度。

OFDM的使用将数据速率提升至 54 Mbps。这种增强的数据速率使得支持多种多样的多媒体应用成为可能,因此极具吸引力。该标准在 5 GHz ISM频段 工作,这一点很重要,因为后续我们将讨论能同时支持5 GHz和2.4 GHz频段的协议。


802.11b标准

现在,我们来看802.11b标准。它同样于1999年9月发布,在调制技术方面是对原始标准的直接扩展。

它使用了HR-DSSS(高速直接序列扩频)和CCK(互补码键控)调制技术。与之前1或2 Mbps的数据速率相比,802.11b的数据速率最高可达 11 Mbps。它像原始的802.11-1997标准一样,在 2.4 GHz频段 工作。


802.11e标准与服务质量

在了解了基础的数据速率标准后,我们转向一个关键的功能性标准:802.11e。这个协议支持EDCA(增强型分布式信道接入),你可以将其视为对原始DCF协议的增强,旨在支持需要服务质量的应用。

区分服务是一种技术支持优先级处理。对于更重要的应用,必须有一种方法来支持更高级别的可靠性,以确保服务质量。

典型的服务优先级设置如下:

  • 语音
  • 视频
  • 尽力而为的数据
  • 后台数据

802.11e协议中引入的EDCA技术,后来被纳入了802.11-2007标准汇总版,并用于包含802.11n、11p、11ac等标准中。因此,虽然你可能不常直接看到“802.11e”这个名称,但它正是让你频繁使用的这些协议能够提供优秀服务质量支持的原因。

让我们看看它是如何工作的。观察EDCA,优先级类型有哪些?最高优先级是语音,对应访问类别 AC_VO。其次是视频,对应访问类别 AC_VI。第三是尽力而为的数据支持,对应访问类别 AC_BE。最低优先级是后台数据流量,对应访问类别 AC_BK

优先级数字是3、2、1、0,但访问类别索引号是3、2、0、1。总体而言,优先级顺序是语音最高,其次是视频,然后是尽力而为,最后是后台。记住这一点很重要,尽管查看AC索引时可能会因为1和0与实际优先级顺序相反而感到些许困惑。

这对于延迟敏感的应用(如IP语音、多媒体)至关重要。当我们说多媒体时,它包括语音和视频,这就是为什么它如此重要,因为这两个类别在服务质量支持中享有最高的优先级。


EDCA系统结构

EDCA定义了四个具有访问类别的优先级。系统结构如下:当应用程序发送数据时,会识别它是语音、视频、尽力而为还是后台数据,并据此进入不同的队列。进入哪个队列决定了你获得的服务优先级。

在拥有这些访问类别之前,在使用802.11e之前,我们用什么?在以前的情况下,只有一个队列,所有数据都进入那个队列,采用先到先服务的原则。这里我们进行了区分,使得如果你在更高优先级的队列中,下方的调度器会优先发送你的数据。

调度器会查看每个队列中的内容,如果你在更高优先级的队列中,就会被优先发送。这就是EDCA调度器的作用,它决定使用哪个队列。如果在同一访问类别内部需要解决冲突或优先级控制,这些单元也会进行内部冲突解决。

因此,调度器有双重目的:一是区分不同的队列以服务不同的访问类别;二是在同一类别内解决内部冲突。这就是调度器执行的双重操作。


802.11g标准

接下来是802.11g标准。它于2003年6月发布,是对802.11b的修订。

它在 2.4 GHz ISM频段 工作,与802.11b类似,并且支持硬件兼容性,这一点很好。它使用了OFDM调制技术。制定11g技术的目的之一,就是因为我们在11a中使用OFDM取得了巨大成功,达到了54 Mbps。所有开发者都在想,这很酷,让我们把5 GHz频段(即11a)的技术也搬到2.4 GHz频段,在这个频段也实现54 Mbps的数据速率。

他们确实做到了。但为了实现这一点,他们必须非常明智地选择信道,因为在802.11g中,通过信道选择以智能的方式进行干扰预防。这是什么意思?有14个信道,它们像这样重叠。在这些信道中,哪些是不重叠的?让我们使用它们,因为共同使用该协议频率的用户之间的干扰会更小。

结果证明是信道 1、6和11,就是这些信道。你可以看到它们并不重叠。需要说明的是,这里绘制的是主瓣(频谱中能量最集中的主要低频带)。当然,这些频谱主瓣还有较低的旁瓣,它们向两侧延伸得很广。

这就是为什么我说这些是基于主瓣不重叠的“非重叠信道”。当然,经过滤波和掩蔽抑制的旁瓣确实会相互重叠,相互干扰。但再次强调,当我说非重叠信道时,我指的是它们的主瓣。


802.11-2007汇总标准

最后,我们来看IEEE 802.11-2007,这是第一个于2007年3月发布的汇总标准。

“汇总”是什么意思?汇总意味着我们将原始标准的八个修订版合并在一起。也就是说,我们将802.11a、b、d、g、h、i、j、e这些标准合并成了一个标准,即802.11-2007协议。

你可能在想,我听说过a、b、g和e,但d、h、i、j是什么?让我们解释一下:

  • 802.11d(2001年发布):在数据包中添加了国家信息。
  • 802.11h(2003年发布):提供了DFS(动态频率选择)和TPC(发射功率控制)技术。这指的是扫描整个频段选择无人使用的信道进行传输,以及根据情况使用合适的功率水平,而非固定功率。
  • 802.11i:包含了安全性增强。
  • 802.11j:为日本4.9 GHz频段提供支持。
  • 802.11e:我们已经解释过,用于支持服务质量的访问类别优先级。

所有这些都被合并到了这个标准中,这很酷,也是为什么这个标准如此重要。


总结

本节课中,我们一起学习了Wi-Fi技术的基础——IEEE 802.11系列标准的第一部分。我们从最初的802.11-1997标准开始,了解了其基本速率和调制方式。随后,我们探讨了提升数据速率的802.11a(使用OFDM,5 GHz频段)和802.11b(2.4 GHz频段)标准。接着,我们深入学习了关键的802.11e标准,它通过EDCA和访问类别(AC_VO, AC_VI, AC_BE, AC_BK)为语音、视频等应用提供了服务质量保障。然后,我们看到了结合两者优点的802.11g标准(在2.4 GHz频段使用OFDM达到54 Mbps)及其智能信道选择(1,6,11信道)。最后,我们了解了802.11-2007作为第一个汇总标准,如何将a、b、d、g、h、i、j、e等多个重要修订版整合为一体,奠定了现代Wi-Fi协议的基础。

104:32_4.3 Wi-Fi标准(第2部分)📡

在本节课中,我们将继续学习一系列重要的Wi-Fi标准。我们将了解这些标准如何通过引入新技术(如MIMO和OFDM)来提升数据传输速率、扩展应用场景,并特别关注为物联网和车联网设计的协议。

上一节我们介绍了早期的Wi-Fi标准,本节中我们来看看后续发展出的更先进、更快速的标准。


802.11N标准

802.11N标准于2009年10月发布。它通过使用MIMO技术(多输入多输出技术)来提升网络吞吐量。该技术使用多根天线进行发送和接收,从而实现了更高的数据速率和扩展的数据服务。此标准在2.4 GHz和5 GHz频段均可运行,是支持双频操作的最合适标准之一,最高数据速率可达150 Mbps

802.11P标准

802.11P协议于2010年7月发布,旨在支持WAVE(车载环境无线接入)。因此,它主要应用于各种智能汽车、智能交通系统和自动驾驶车辆。该标准在5.9 GHz信道运行,采用OFDM(正交频分复用)技术和源自802.11E的EDCA(增强分布式信道访问)机制来提供基于优先级的服务质量。其最大数据速率为54 Mbps,并支持V2X(车联万物)通信。

以下是V2X通信中“X”所代表的几种可能:

  • V2V:车辆到车辆通信,车辆通过车载智能设备(如车载单元)进行通信。
  • V2I:车辆到基础设施通信,基础设施可以是基站或接入点(即路边单元RSU)。
  • V2P:车辆到行人通信,行人通过智能手机、智能手表等设备与车辆连接。

802.11AC标准

802.11AC标准于2013年12月发布,是在802.11N基础上的修订版,专注于更高的吞吐量和数据速率。其新特性包括支持更宽的5 GHz信道带宽(从11N的40 MHz提升至80或160 MHz),并采用了多用户MIMO技术和高密度调制技术。因此,其数据速率可以非常高,在使用160 MHz带宽时最高可达866.7 Mbps

802.11AD标准

802.11AD标准于2012年发布,基于WiGig规范,并于2013年3月被Wi-Fi联盟吸纳。它使用60 GHz的ISM频段,结合传统Wi-Fi网络,可支持高达7 Gbps的数据速率。为了实现如此高的速率,必须使用60 GHz的高频段,因为高频段能提供更宽的带宽。其速率是802.11N的10倍,支持需要宽带服务的无线互联家庭应用。

802.11AH标准

802.11AH协议专为支持物联网技术而设计,于2016年12月发布。它在900 MHz频段运行,带宽较窄,通常为1至16 MHz,也可使用低于1 GHz的替代频谱来分流流量。作为物联网技术,低功耗自然是其必备特性。

以下是其低功耗模式的一些关键特性:

  • 中继功能:用于扩展服务范围。
  • 唤醒与休眠周期协议:在不需要访问信道时节省能量。

802.11AH协议能使用单个接入点为数千个物联网设备提供连接。其目标应用是在1平方公里区域内支持多达100万台设备。它支持M2M(机器对机器)通信以及智能电表、智能家居等物联网市场设备,数据速率最高可达347 Mbps,足以同时支持多种不同类型的物联网应用。


本节课中我们一起学习了从802.11N到802.11AH的一系列关键Wi-Fi标准。我们看到了它们如何通过MIMO、更宽带宽和专用频段来大幅提升速度,也了解了为特定场景(如车联网的802.11P和物联网的802.11AH)设计的协议如何优化功耗和连接规模。这些标准共同构成了现代无线通信多样化和高性能的基础。

105:33_4.3 Wi-Fi标准(第3部分)📡

在本节课中,我们将继续深入学习Wi-Fi标准,重点回顾不同协议的发展历程、关键参数(如频率、带宽和数据速率),并探讨双频段技术、Wi-Fi Direct和网络共享等高级功能。我们将通过清晰的表格和对比,帮助你理解这些标准如何演变以满足不同的应用需求。


Wi-Fi标准演进概览

上一节我们介绍了Wi-Fi的基本概念,本节中我们来看看其具体的技术标准是如何随着时间演进的。以下是主要Wi-Fi协议的关键参数汇总,包括发布日期、工作频率、带宽和最大数据速率。

协议标准 发布日期 频率 最大数据速率
802.11 1997 2.4 GHz 1-2 Mbps
802.11a 1999 5 GHz / 3.7 GHz 54 Mbps
802.11b 1999 2.4 GHz 11 Mbps
802.11g 2003 2.4 GHz 54 Mbps
802.11-2007 2007 2.4 GHz & 5 GHz 54 Mbps
802.11n 2009 2.4 GHz & 5 GHz 72.2 - 150 Mbps
802.11p 2010 5.9 GHz 54 Mbps
802.11ac 2013 5 GHz 高达数百Mbps
802.11ad 2012 60 GHz 高达 7 Gbps
802.11ah 2016 低于 1 GHz 较低速率,针对IoT优化

关键点解析:

  • 802.11a/b/g:奠定了Wi-Fi在2.4GHz和5GHz频段的基础,数据速率提升至54Mbps。
  • 802.11n:是一个重要里程碑,引入了MIMO技术,支持双频段(2.4GHz和5GHz),数据速率首次突破百兆大关。
  • 802.11p:专为智能交通系统设计,牺牲了数据速率以换取更远的通信距离(车辆间可达数百米,车与基础设施间可达公里级),用于车辆防撞和自动驾驶。
  • 802.11ac/ad:追求极高的数据速率(可达Gbps级别),其中802.11ad使用60GHz频段,但信号穿透力极差,范围很短。
  • 802.11ah:为物联网设备设计,以低功耗和广连接为核心,牺牲数据速率以支持海量设备接入。

通信范围对比

了解不同标准的通信范围对于规划网络覆盖、避免信号盲区至关重要。以下是各协议在室内和室外环境下的典型通信距离。

协议标准 室内范围(约) 室外范围(约) 备注
802.11 20 米 100 米 原始标准
802.11a 35 米 视频率而定 5GHz频段
802.11b 35 米 140 米 2.4GHz频段
802.11g 35 米 140 米 同11b范围,但速率更高
802.11n 70 米 250 米 MIMO技术,双频段优势
802.11p 不适用 300米 - 1公里以上 专为车外通信设计
802.11ac 35 米 - 主要使用5GHz
802.11ad 极短(约房间内) - 60GHz,易被障碍物阻挡
802.11ah 视具体应用而定 视具体应用而定 针对IoT,范围可变

关键点解析:

  • 802.11n 凭借MIMO技术,显著提升了有效通信范围。
  • 802.11p 的室外长距离特性是其应用于车联网的关键。
  • 802.11ad 虽然速率极高,但60GHz信号几乎无法穿透墙壁,通信范围非常有限,类似于无线个域网技术。

双频段技术详解

在了解了各个独立的标准后,我们来看看一个重要的实践特性:双频段。普通Wi-Fi设备通常只支持单一频段(2.4GHz或5GHz),而双频段设备则能同时支持两者。

支持双频段的关键协议是 802.11n(以及之后的802.11ac等)。它像一个共同的桥梁:

  • 2.4 GHz 频段协议:802.11b, 802.11g, 802.11n
  • 5 GHz 频段协议:802.11a, 802.11n, 802.11ac

一个支持802.11n的双频接入点可以同时为工作在2.4GHz的老设备(如旧手机、IoT设备)和工作在5GHz的新设备(如新款笔记本、平板)提供服务,并通过扩展服务集连接到互联网。这使得网络部署更加灵活高效,能更好地支持多种设备,这也是为什么支持双频段的路由器通常更受欢迎且价格稍高的原因。


Wi-Fi Direct 与 网络共享

除了通过接入点连接,Wi-Fi还支持设备间直接通信和共享网络连接。

1. Wi-Fi Direct
Wi-Fi Direct 允许设备在没有传统无线接入点的情况下,直接与其他设备建立点对点连接。你可以将其视为对早期“Ad-hoc”模式的增强和标准化。
以下是Wi-Fi Direct的主要连接类型:

  • 一对一:两台设备直接连接,如手机直接连接打印机进行打印。
  • 群组:多台设备同时连接形成一个群组,共享文件或进行游戏。

2. 网络共享
网络共享是一种关键的技术,你可能已经在智能手机上使用过它,即 “开启个人热点”
这项技术允许你将设备(通常是手机)的移动网络连接(如4G/5G)或已有的Wi-Fi连接,通过Wi-Fi信号共享给其他设备使用。这样,没有蜂窝数据功能的设备(如平板、笔记本电脑)就可以通过你的手机连接到互联网。

典型流程:智能手机(开启热点) -> 作为虚拟路由器 -> 其他Wi-Fi设备连接 -> 访问互联网

本节课中我们一起学习了Wi-Fi标准的演进历程,从早期低速协议到现代高速、双频及专用协议。我们对比了不同标准的速率和范围,理解了802.11n在双频支持上的关键作用,802.11p为车联网做出的距离优化,以及802.11ah面向物联网的低功耗设计。最后,我们还探讨了Wi-Fi Direct网络共享这两种实用的直接连接与网络扩展功能。掌握这些知识,有助于你根据实际应用场景选择和部署合适的Wi-Fi技术。

106:4.4 蓝牙技术详解 📶

在本节课中,我们将学习蓝牙技术。蓝牙是一种重要的无线个人区域网络协议,广泛应用于连接手机、耳机、医疗设备等多种设备。我们将从蓝牙的基本概念、发展历史、网络结构、技术特点以及低功耗蓝牙的工作原理等方面进行详细介绍。


蓝牙概述

蓝牙是一种无线个人区域网络协议,由蓝牙技术联盟设计和标准化。它主要用于替代有线连接,连接不同类型的设备。典型的应用场景包括将手机连接到耳机或无线音箱。此外,心率监测仪或医疗设备也使用蓝牙技术。

蓝牙的标准化工作由蓝牙技术联盟负责。该联盟成立于1998年,蓝牙的第一个规范版本1.0于1999年发布。最新的版本是2016年发布的蓝牙5.0。早期的标准,如蓝牙1.1和1.2,被批准为IEEE 802.15.1标准,即基于802.15系列的无线个人区域网络标准,其中.1代表蓝牙技术。然而,它不再作为IEEE标准维护,所有标准现在仅来自蓝牙技术联盟。


蓝牙技术特点

蓝牙工作在2.4 GHz免许可的ISM频段。它采用自适应跳频技术,更具体地说,是跳频扩频技术。这有助于避免与使用Wi-Fi或ZigBee等其他非跳频通信网络设备产生干扰,并提高了在ISM频段内的共存性。

蓝牙网络的形成基于一种称为微微网的结构,它采用星型网络拓扑。该网络有一个主节点作为网络的中心,以及多个从节点。

微微网的组成部分包括主节点和从节点。每个微微网只有一个主节点,它负责提供数据包交换、参考时钟和跳频扩频模式。主节点是微微网的形成中心,所有通信,即使是相邻从节点之间的通信,也必须通过主节点进行。从节点只能与主节点通信,并同步到主节点的时钟和跳频扩频模式。


微微网与散射网结构

让我们深入了解一下网络结构。下图展示了多个微微网尝试形成的场景。

图中,黄色椭圆形区域,以及绿色、红色和浅紫色的区域,都表示正在尝试形成的微微网。

  • 以节点A为中心的微微网,我们称之为微微网A,因为A是该星型网络的主节点。
  • 类似地,我们有以节点C为主的微微网C。
  • 以及以节点F为主的微微网F。
  • 节点G的范围内没有其他节点,因此它尚未形成一个微微网;必须形成一个星型连接才能被称为微微网。

进一步观察细节:

  • 在黄色的微微网A中,A是主节点,节点B、C和D以星型方式连接到它,因此B、C、D是从节点。
  • 节点C在微微网A中是从节点,但它同时是微微网C的主节点,连接着节点E。当一个节点在一个微微网中担任从节点,在另一个微微网中担任主节点时,它可以作为两个微微网之间的通信连接点。
  • 作为主节点,节点F向节点D和微微网F中的其他从节点广播信息。图中显示了广播信号被发送出去。
  • 节点D既是微微网F的从节点,也是上方微微网A的从节点。因此,一个节点可以在两个或更多不同的微微网中担任多个从节点角色。
  • 节点G在此结构中范围内没有其他节点,因此它持续扫描以查看未来是否有其他设备进入其范围,从而形成一个微微网。

蓝牙操作类型

蓝牙主要包括两种主要的操作类型:经典蓝牙和低功耗蓝牙技术。

  • 经典蓝牙:指蓝牙4.0标准之前的版本(即最高到3.x版本)。它包括基本速率和增强数据速率。
    • 基本速率:表示为 BR
    • 增强数据速率:表示为 EDR。自然,EDR具有更高的数据速率。
  • 低功耗蓝牙:这是在蓝牙4.0标准中新引入的,您也会看到其代号为 BLE。有些地方将其标记为LE或BLE。

经典蓝牙技术细节

上一节我们区分了蓝牙的类型,本节中我们来看看经典蓝牙的具体技术参数。

观察BR和EDR模式的整体信道规格,可以看到总共有79个信道,每个信道宽度为1 MHz。总带宽范围在ISM频段的2.4 GHz频率范围内,具体从2.4 GHz到2.4835 GHz。

在其结构内部,它使用时分双工方案以及跳频通信模式。

以下是其调制方式和数据速率规格:

  • 调制方式:它使用GFSK,其中FSK是频移键控,G代表高斯脉冲整形。因此,使用的是结合了高斯脉冲整形的频移键控跳频扩频技术。在EDR中,使用DPSK技术,具体是π/4或8DPSK,作为调制模式。
  • 数据速率:BR可提供1 Mbps的数据速率,而EDR可达2-3 Mbps,这也是它被称为EDR的原因。
  • 连接数量:一个主节点最多可以与七个从节点互连。因此,当您观察一个星型结构的微微网时,会看到最多八个节点相互连接并通信。

低功耗蓝牙技术细节

BLE蓝牙低功耗操作的频谱格式如下:它使用2.402至2.480 GHz范围,总共有40个信道。

其中有三个信道(图中橙色标记),编号为37、38和39,它们用于主要广播。其余的37个信道(图中蓝色部分)用于数据传输,并且在蓝牙5中也用于次要广播

BLE操作基于TDMA和FDMA多址方案。调制使用GFSK。在蓝牙5.0之前,其数据速率可达1 Mbps;蓝牙5.0之后,提升到2 Mbps。蓝牙5在物理层编码上的典型差异是支持前向纠错编码,这导致数据速率降低,但更安全、更可靠,对信道错误和各种其他干扰信号更具弹性。

数据传输被放置在称为“事件”的时间段内。在BLE蓝牙低功耗中,有两种类型的事件:一种是广播事件,另一种是连接事件。广播是一种无需连接的广播机制。连接事件则在主从设备之间建立连接以发送数据。


BLE广播与连接机制

广播信道的目的包括在设备之间建立连接,以及在未连接的设备之间通信信息。

设备类型包括:

  • 广播器:发送广播数据包的设备。
  • 扫描器:无意连接、仅扫描信道的接收设备。
  • 发起器:监听来自广播器的可连接广播数据包以发起连接的设备。

观察操作的时间序列,其中有广播事件,以及后续的事件,在时间间隔内可以看到广播消息。

广播事件发生在广播信道(信道37、38和39)上。它们可以进行广播或执行单向通信。在上图红色框内的事件中,扫描器节点可能会发回一个响应消息,该扫描器消息位于两个广播消息之间。


BLE连接事件详解

BLE连接事件是在同一物理信道上,主设备和从设备之间发送的一系列一个或多个交错数据包对。发起器监听来自广播器的可连接广播数据包。

一旦从广播器接收到该数据包,它就会请求发起连接。请注意,发起器是发送连接发起请求的一方,这使其成为主设备。而发出可连接广播数据包的广播器,则以某种被动方式查看是否有人连接,因此广播器设备成为从设备。

观察上图,您可以看到一个广播和整体连接机制,其中发起器在广播事件期间在广播信道上检测到来自广播器的可连接消息。广播器(从设备)和发起器(主设备)在连接事件期间操作。连接事件发生在数据信道内。

尽管我们按顺序观察,但操作发生在不同的信道上。您需要结合前面的频谱图来理解:所有蓝色信道以及其间橙色的信道被分别用于此处进行的操作。必须仔细区分广播信道的使用和数据信道的使用。


总结与参考资料

本节课中,我们一起学习了蓝牙技术。我们从蓝牙的基本定义和发展历史开始,了解了其工作在ISM频段并采用跳频扩频的技术特点。我们深入探讨了蓝牙的网络结构——微微网和散射网,以及主从节点的角色。接着,我们区分了经典蓝牙和低功耗蓝牙,并分别介绍了它们的关键技术参数,如调制方式、数据速率和信道使用。最后,我们详细解析了BLE中的广播与连接事件机制。

这些是我使用的参考资料,推荐给您。

107:35_4.5 蓝牙标准(第1部分)📶

在本节课中,我们将学习蓝牙技术的发展历程,重点关注其核心标准的演进。我们将区分经典蓝牙与低功耗蓝牙标准,并详细解析增强数据速率和高速蓝牙等关键技术。

蓝牙标准的演进过程如图所示,主要协议根据其发展时间线,用不同颜色的圆圈标注。

首先,我们需要区分位于左侧的经典蓝牙标准,即基本速率系统。以演进序列中的4.0标准为分界点,中间部分则是蓝牙低功耗标准。蓝牙低功耗标准持续发展,并连接至5.0及未来的标准。

以下是蓝牙标准的主要演进阶段:

  • 1.0:首个被采纳的规范,于1999年发布。
  • 1.1 与 1.2:修复了主要漏洞并使其稳定。其中,基于2002年的1.1版本发布时,IEEE 802.15.1标准也随之发布,该标准包含了蓝牙特别兴趣小组的1.1标准。
  • 2.0:增加了EDR
  • 2.1:增加了简单配对和NFC支持。NFC是一项非常重要的技术,被添加到蓝牙规范中,因此2.1版本虽然图示圆圈较小,但非常重要。
  • 3.0:为支持高速传输增强了功耗控制,并即将在后续页面介绍HS支持。
  • 4.0:这是一次重大革新,于2010年将BLE技术纳入规范。
  • 4.1:实现了与第四代移动通信LTE的共存。
  • 4.2:提供了更高的吞吐量和增强的安全性。
  • 5.0:于2016年发布,速度翻倍,意味着数据速率变得更高。

接下来,我们将更详细地了解EDR标准及其部分规范。

增强数据速率 📈

上一节我们概述了蓝牙标准的整体演进,本节中我们来看看EDR的具体含义。

EDR代表增强数据速率。它在蓝牙2.0版本中被引入,旨在实现更快的数据传输。它支持高达3 Mbps的数据速率。EDR还提供了低功耗特性,这对于许多无线、电池供电的蓝牙设备来说非常必要。它通过使用减少的占空比来降低功耗。这意味着在占空比开启期间完成所有数据通信,之后设备进入休息模式以最大限度地节省能量。

蓝牙高速技术 🚀

了解了EDR后,我们再来看看蓝牙高速技术。

蓝牙高速技术于2009年发布,并被包含在标有“+HS”的3.0版本中。这里的“+HS”意味着它并非3.0标准的强制组成部分。

那么,这具体是什么意思呢?标为 3.0 + HS 的版本可提供高达24 Mbps的数据传输速度。然而,它并非纯粹使用蓝牙技术。蓝牙链路被用于协商和建立连接,类似于一个控制信道,而高速数据流量则通过共存的Wi-Fi链路,使用802.11技术来承载。

正如你所知,Wi-Fi 802.11技术传输距离更远,且数据速率远高于蓝牙,因为它是无线局域网协议,而蓝牙是无线个域网协议。蓝牙是一种WPAN技术,而Wi-Fi是一种WLAN协议,它们的设计目的和用途不同。

因此,当你看到 3.0 + HS 时,你就知道它需要使用共存的Wi-Fi支持。

回想一下,大约在2009年,正是智能手机蓬勃发展的时期。第一代智能手机大约在2007年出现,到2009年时,基于Android和Apple的智能手机已非常普及。此外,平板电脑和iPad也已出现。这些智能设备上同时具备Wi-Fi、蓝牙和移动通信功能。这意味着你可以在同一设备上交互使用Wi-Fi和蓝牙,这些技术由一个控制单元统一管理。既然如此,何不让蓝牙借助Wi-Fi系统来提升性能呢?这正是2009年这一概念得以实现的原因。

以下是关于蓝牙高速技术“+HS”的要点:

  • 它是规范的一部分,但在3.0标准中并非强制要求
  • 使用时需要标注为 + HS,以区别于标准的3.0。
  • 它再次利用Wi-Fi进行高速数据通信。

本节课中,我们一起学习了蓝牙标准的演进脉络。我们区分了经典蓝牙与低功耗蓝牙,并深入探讨了增强数据速率和蓝牙高速技术的工作原理。关键点在于,EDR提升了经典蓝牙的数据速率,而高速蓝牙则通过借助共存的Wi-Fi链路来实现更高的传输速度。理解这些标准的发展,有助于我们更好地认识现代无线通信设备的连接能力。

108:36_4.5 蓝牙标准(第2部分)📡

在本节课中,我们将继续学习蓝牙标准的发展,重点介绍从蓝牙4.0开始引入的关键技术,特别是蓝牙低功耗(BLE)及其带来的变革。我们还将了解蓝牙信标(Beacon)的工作原理,以及后续4.1和4.2版本如何为物联网时代做好准备。

上一节我们介绍了蓝牙标准的早期版本,本节中我们来看看蓝牙4.0及以后版本带来的重大革新。

蓝牙4.0:智能蓝牙的诞生 🚀

蓝牙4.0标准于2010年发布,其整体标准被称为“蓝牙智能”。这是一个包含重大技术飞跃的版本。

它包含了之前版本的模式,即基本速率(BR)和增强数据速率(EDR),以确保向后兼容性。这意味着一个搭载蓝牙4.0芯片的设备,能够与所有旧版蓝牙标准(如3.0、2.0)的设备进行通信。兼容性是通过在新技术中集成旧模式的技术来实现的。

当然,蓝牙4.0最重要的新成员是蓝牙低功耗。顾名思义,它定义了一系列配置文件,使设备能够以极低的能耗运行,从而服务于大量动态应用。

它在保持相似通信范围的同时,显著降低了功耗和成本。这听起来像是双赢:你获得了与无线个域网相同的通信范围,但电池消耗却少得多,而且成本更低。

制造商可以为产品实现定制化的规格。此外,一个设备可以支持多个BLE配置文件,这使其功能更加强大。

以下是设备可以支持的一些配置文件示例:

  • 蓝牙健康配置文件
  • 运动与健身配置文件
  • 互联网协议支持配置文件
  • 环境传感配置文件

蓝牙信标技术 📍

蓝牙信标是一种发射技术,它发送一个可以被蓝牙接收器读取的唯一ID号,该ID号可用于智能手机上的各种应用。

你可以这样理解:当你进入一个体育场,场内有各种自动售货机、入口、洗手间等信息,还有寻找座位和获取周边优惠券的可能。你可以在特定位置部署蓝牙信标设备,当有人进入其信号覆盖范围时,他们的设备就会接收到信标信号,从而看到周边的服务和支持设施信息。这正是蓝牙信标的作用。

蓝牙信标通常部署为非常小巧的设备,由电池供电,并通过BLE技术广播信号。由于使用BLE技术,它们处于极低能耗的模式,同时所有蓝牙4.0及更高版本的设备都能检测到这些信号。

智能手机上的应用程序可以识别蓝牙信标的位置,并在手机上激活基于特定位置的信息。例如,当我进入某个范围,接收到一个标识特殊服务或优惠券的信标信号,我的手机上就会弹出相应的优惠券,指引我找到附近的摊位。

以下是蓝牙信标的一些主要应用场景:

  • 基于位置的广告
  • 优惠券分发
  • 家庭自动化
  • 交通系统
  • 体育场馆与商店

蓝牙4.1与4.2:面向未来的演进 🔮

上一部分我们看到了蓝牙4.0和信标技术的强大功能,现在我们来了解后续版本如何进一步优化和扩展这些能力。

蓝牙4.1规范于2013年发布,它主要包含了对蓝牙的增量软件更新,无需硬件升级。

其改进包括:改善了与LTE(第四代移动通信)技术的共存能力,因为当时LTE正变得越来越普及;包含了批量数据交换速率支持;以及设备多角色同时支持。

蓝牙4.2于2014年发布,它主要处理了新兴物联网设备的配对问题,为物联网技术的需求和各种产品的出现做好了准备。

蓝牙4.2引入的关键特性包括:

  • 低功耗安全连接
  • 链路层隐私增强
  • 扩展扫描器过滤策略
  • 互联网协议支持配置文件(IPSP)的第6版,用于支持连接家庭应用


本节课中我们一起学习了蓝牙4.0标准带来的“蓝牙智能”和低功耗革命,了解了蓝牙信标技术如何实现基于位置的服务,并探讨了蓝牙4.1和4.2版本如何通过软件改进为物联网时代的设备互联做好准备。这些演进使得蓝牙技术从简单的文件传输工具,发展成为支撑智能设备、可穿戴设备和物联网生态系统的关键无线通信标准。

109:37_4.5 蓝牙标准(第3部分)📶

在本节课中,我们将学习蓝牙5.0标准的新特性,并通过一个详细的对比表格,系统地回顾从蓝牙1.1到5.0各版本的核心技术规格与演进历程。


蓝牙5.0标准概述

蓝牙5.0于2016年发布,其新特性主要聚焦于对物联网(IoT)的支持。

在低功耗蓝牙(BLE)技术中,其传输速度提升至2 Mbps,是之前的两倍。同时,其广播消息大小扩展能力也提升了两倍。

蓝牙5.0的广播范围增加了四倍,有效距离可达约240米。其广播容量也提升了八倍。

此外,新标准增加了支持纠错的新编码方案,并将最高输出功率等级提升至100 mW


蓝牙标准演进对比

上一节我们介绍了蓝牙5.0的新特性,本节中我们来看看如何通过表格对比,清晰地理解各代蓝牙标准之间的差异。

以下是各蓝牙版本核心规格的对比表格,我们将从采用时间、最大传输速率、服务范围、安全性等关键维度进行分析。

蓝牙版本 采用年份 最大传输速率 (BR/EDR) 最大传输速率 (BLE) 标准无线个域网范围 改进的无PIN配对 改进的安全性 NFC支持
1.1 2002 723.1 kbps 不适用 10 米
2.0 + EDR 2004 > 2.0 Mbps (可达 2.1 Mbps) 不适用 10 米
2.1 + EDR 2007 3 Mbps 不适用 10 米
3.0 + HS 2009 25 Mbps (需设备支持 +HS) 不适用 10 米
4.0 2010 25 Mbps 1 Mbps 50 米
5.0 2016 25 Mbps 2 Mbps 50 米

其他关键特性分析

除了上述表格中的基本规格,各代蓝牙标准在其他特性上也存在重要区别。

以下是关于语音控制、功耗等特性的补充说明。

  • 语音拨号与通话静音:从蓝牙1.1开始,所有版本均支持语音拨号和通话静音功能。
  • 802.11 协传输(+HS):此特性始于蓝牙3.0 + HS,允许设备在需要高速传输时,借助Wi-Fi(802.11)通道进行数据传输。
  • 低功耗:低功耗特性在蓝牙3.0 + HS中引入,但直到蓝牙4.0引入低功耗蓝牙(BLE) 技术后才真正成熟。
  • 物理层编码纠错与高输出功率:这是蓝牙5.0独有的特性,包括物理层的空中纠错编码和高达100mW的高输出功率传输能力。

总结与参考资料

本节课中,我们一起学习了蓝牙5.0标准为物联网应用带来的关键增强,包括更快的速度、更远的距离和更大的容量。同时,我们通过系统性的表格对比,回顾了蓝牙技术从1.1到5.0的完整演进路径,明确了各版本在速率、范围、功耗和功能上的主要差异。

本课程内容参考了以下资料,推荐给希望深入学习的同学。


110:38_5.1 云市场分析 5.2 顶级云公司和服务 📊☁️

在本节课中,我们将要学习云计算的市场格局以及主要的服务提供商。我们将从分析云市场的三个主要服务类别开始,然后了解哪些公司在市场中占据主导地位,以及它们各自的特点。


5.1 云市场分析 📈

本节我们将对云计算市场进行分析。我们将从三个维度来审视市场:软件即服务、平台即服务和基础设施即服务。

以下是2014年的市场数据,它展示了云计算的三个主要类别:

  • SaaS (Software as a Service):软件即服务。
  • PaaS (Platform as a Service):平台即服务。
  • IaaS (Infrastructure as a Service):基础设施即服务。

软件、平台和基础设施即服务是云计算能够提供的三大类支持。它们的定义和具体功能将在本讲稍后的幻灯片中详细解释。首先,让我们进行市场分析。

观察图表,我们可以从三个层面进行分析:

  1. SaaS(软件):在图表顶部,纵轴的单位是 $Bn,代表十亿美元。可以看到,基于软件的云技术正在快速增长。
  2. PaaS(平台):在图表中部,纵轴的单位是 $Mn,代表百万美元。其市场规模相对较小,但同样在增长。
  3. IaaS(基础设施):在图表底部,纵轴的单位也是 $Bn,代表十亿美元。其市场规模巨大且增长迅速。

从这些数据可以明显看出,无论软件、平台还是基础设施,各类云服务的需求和消费都非常旺盛,并且正在以极高的速度增长。因此,学习云计算这一模块非常重要。

上一节我们分析了市场的基本构成,本节中我们来看看基于2016年数据集的增长率对比。

此图比较了三大类服务的复合年增长率百分比。以下是关键发现:

  • SaaS(软件即服务) 在整体CAGR百分比方面是最具主导地位的类别。这也解释了本部分标题“企业利用SaaS的十大理由”的含义,即采用基于SaaS的产品来支持云计算技术,对企业业务增长至关重要。
  • IaaS(基础设施即服务) 的规模小于SaaS,但仍然非常显著。从2013年到2018年的预测数据来看,它也在持续增长。
  • PaaS(平台即服务) 的规模最小,但同样在显著增长。通过对比三者,可以看到它达到的整体份额。

接下来,我们将目光转向具体的公司。亚马逊在云计算竞赛中处于领先地位。

基于2017年的数据,亚马逊网络服务的市场份额达到了 40%。而其他主要竞争者——微软、谷歌和IBM——加起来占 23%。这显示了亚马逊在该领域的卓越表现。

此外,排除这四大巨头,排名第5到第14的公司加起来,以及其他所有公司加起来,其市场份额如图所示。这进一步表明,亚马逊、微软、谷歌和IBM这四大巨头主导着云市场。

为了更深入地了解2017年第二季度的服务细节,我们来看下一张图表。

此图将微软、IBM和谷歌的市场份额分开显示,并与亚马逊进行对比。可以清楚地看到亚马逊目前的主导地位。这也正是我们需要更详细研究亚马逊网络服务系统的原因。

图表上方列出了四大公司,接着是排名第5到第14的公司组合及其支持者,剩余的市场份额则显示在下方。

我们还观察到过去一年的增长情况。在过去四个季度(即一年)中,直到2017年第二季度:

  • 亚马逊增长了 1%。在其已经很大的基数上,1%的增长是显著的。
  • 微软、IBM、谷歌以及排名第5到第14的公司组合也显示了各自的增长。
  • 从2017年第二季度开始,过去一年中发生的整体变化导致了图中所示的市场份额分布。

5.2 顶级云公司和服务 🏆

我们刚刚看到了四大顶级公司的表现,它们是:亚马逊(AWS)微软IBM谷歌

因此,值得更仔细地观察这四大巨头为何表现如此出色,它们的服务有何特点,以及是什么让它们与众不同。


总结

本节课中我们一起学习了云计算的市场分析。我们了解到云服务主要分为 SaaSPaaSIaaS 三大类,并且市场对它们的需求都在高速增长。同时,我们也认识到云市场由 亚马逊(AWS)微软IBM谷歌 这四大公司主导,其中亚马逊处于明显的领先地位。理解这些市场格局和主要参与者,是深入学习具体云技术的基础。

111:AWS与微软云服务概述 🚀

在本节课中,我们将学习两大主要的云服务提供商:亚马逊AWS和微软。我们将了解它们的发展历程、核心服务以及各自的特点。


AWS:亚马逊网络服务 ☁️

我们将从AWS开始。亚马逊网络服务是排名第一的云服务公司。有趣的是,将排名第二、第三和第四的公司的市场份额相加,其总和仍然小于AWS。AWS于2006年推出,相对较新,但其增长迅速并主导了未来市场,这也是学习云计算技术这门课程的重要原因。

AWS是一家全球性的基于云的产品与服务提供商,它提供计算、存储、数据库、分析、网络、移动、物联网、管理与安全服务,此外还包括开发者管理工具和企业应用。

AWS的核心组件

以下是AWS套餐中的一些主要组成部分。

  • Amazon EC2:亚马逊弹性计算云。它提供安全的、可调整大小的云计算能力。这是一个非常好的特性,意味着如果你初始预设的规模过大,可以缩小;反之,如果初始规模过小,也可以在运行中扩展你的系统,而无需从头开始。
  • 开发者工具:AWS提供了强大的开发者工具,可以轻松控制整体设置,使开发过程更便捷。这些工具还具有可管理性、稳定性、可靠性和快速支持的特点。
  • 容错应用开发:AWS支持构建具有故障恢复能力的应用程序,有助于消除常见的故障场景。
  • Amazon S3:亚马逊简单存储服务。它提供了安全与访问管理机制,可以控制和监控谁可以访问你的数据。你可以轻松控制数据在何时、何地以及如何被访问,并支持使用虚拟私有云技术在端点建立安全连接,无需网关或网络实例即可使用此服务。

Amazon S3的更多细节

上一节我们介绍了S3的基本功能,现在来看看它的一些历史细节。S3的公开Web服务最初于2006年在美国发布,2007年在欧洲发布。它是AWS早期的核心产品之一,通过REST、SOAP和BitTorrent等Web服务接口提供存储。

此外,亚马逊在2011年发布了Amazon Cloud Drive,这是一个Web存储应用程序。其存储空间特性允许最多8台设备连接并使用这个统一的存储空间。这意味着多部移动设备和不同的电脑都可以使用它,非常实用。在同一台电脑上使用不同的浏览器访问也是被允许的。

Cloud Player最初是捆绑的服务,它使用户能够从任何电脑或安卓设备播放其云盘中的音乐。音乐浏览功能支持按歌曲、标题、专辑、艺术家、流派和播放列表进行选择。

Amazon Cloud Drive还提供了不同的选项。这些选项包括无限照片存储。如果你存储视频,它会提供多达数GB的空间。还有一个“无限一切”的选项,为照片、视频、文档和各种文件类型提供无限存储。


微软云服务 💻

接下来,我们看看排名第二的云服务公司:微软。微软公司成立于1975年,但最初并未涉足云计算技术,因为当时这个概念尚未出现。微软以其计算机软件、消费电子产品、个人电脑和服务而闻名,在操作系统和办公应用软件领域是巨头公司。

2014年是一个重要时期,公司开始缩减硬件开发规模,转而更加专注于云技术。从那时起,微软开始成为该领域的主要竞争者。因此,总体来看其云业务也是相对较新的。然而,由于微软拥有大量使用其操作系统(如基于Windows的体验系统)的用户,这使得微软能够如此动态快速地扩张。

此外,已经在使用微软产品的用户可以无缝对接微软提供的云技术。

微软的核心云服务

以下是微软提供的两项核心云服务。

  • Microsoft Office 365:这是一种基于云的订阅服务。它将Excel、Outlook、Microsoft Word、PowerPoint等应用程序与OneDrive和Microsoft Teams等云服务相结合,使用户能够在任何设备上随时随地创建和共享内容。
  • Microsoft Azure:它提供计算、网络、存储、Web、移动、数据库和数据分析等功能。用户可以随时随地访问、构建和部署云技术,并且它基于混合云技术。混合云的具体含义我们稍后会详细解释。Azure有助于开发数据驱动的智能应用程序。其优势在于微软的安全性、隐私性、透明度和计算机合规性,因为它是一个可与微软其他产品互操作的产品。


总结 📝

本节课中,我们一起学习了云计算领域的两大领导者:亚马逊AWS和微软。我们了解了AWS作为市场领导者的地位、其核心服务(如EC2和S3)以及便捷的开发者工具。同时,我们也探讨了微软如何凭借其庞大的用户基础和产品生态(如Office 365和Azure)迅速在云市场占据重要位置。理解这些服务是掌握现代云计算技术的基础。

112:5.4 IBM 与 5.5 Google 云服务详解 ☁️

在本节课中,我们将学习两家领先的云服务提供商:IBM 和 Google。我们将了解它们各自在云计算领域的排名、核心服务、技术特点以及关键产品。课程内容将涵盖从基础设施到应用服务的完整云技术栈。


IBM 云服务概述

上一节我们介绍了云计算的基本模型,本节中我们来看看排名第三的云服务公司——IBM。IBM 云支持多种部署模式,并提供广泛的服务。

IBM 在云公司排名中位列第三。它支持公有云私有云混合云。关于这些云类型的详细定义,我们将在几分钟后具体说明。

它提供超过 130 项独特的服务,覆盖了基础设施即服务 (IaaS)平台即服务 (PaaS)软件即服务 (SaaS),即 IaaS、PaaS 和 SaaS 全部涵盖。

以下是 IBM 云的一些核心服务:

  • IBM Cloud Object Storage:支持数据存储、管理和受控访问。它允许应用程序直接连接到对象存储,并与 IBM 云服务集成。
  • 自助服务门户和 REST API:提供支持。REST 代表表述性状态转移,API 是应用程序编程接口,它们使你能够访问特定的服务和功能。
  • IBM Cloud Private:这是一个用于构建或现代化云应用程序的变革性平台。它包含预打包的企业级解决方案,使其易于使用且功能强大。它提供了增强的安全性、速度和控制力。
  • IBM Cloud Streaming Video Technology:提供简化工作流管理和视频流的解决方案。其B2B(企业对企业) 视频服务支持对 IBM 云流媒体视频客户尤为重要,因为它可以支持基于 IBM 云技术以特定方式进行视频流传输的公司。这是一个更侧重于企业间支持、实现业务目标的平台。

Google 云平台详解

了解了 IBM 的云生态后,我们转向排名第四的云公司——Google。Google 不仅是搜索引擎巨头,也在云计算领域有着重要布局。

Google 是排名第四的云公司。该公司成立于 1998 年,是全球最大的搜索引擎技术公司。

在云计算技术方面,2011 年是一个非常重要的转折点,这是 Google 启动 Google Cloud Platform 的时间。

以下是 Google 云平台的一系列关键产品与服务:

  • Google Compute Engine (2011年):提供基于虚拟机的基础设施即服务 (IaaS)。这些虚拟机运行在 Google 的数据中心。它提供云工具和工作流支持,并支持基于事件、负载均衡的全球可扩展服务。
  • Google App Engine (2008年):这是一个用于支持 Web 应用程序的平台即服务 (PaaS)。它根据资源需求和服务器负载提供自动扩展。
  • Google Cloud Storage (2010年):这是一个在线文件存储服务。
  • Google BigQuery (2012年):这是一个数据分析工具,使用类似 SQL 的查询在几秒钟内处理大数据集。正如其名,这是支持大数据分析的云计算技术。
  • Google Compute Engine (2012年):这是一个基于虚拟机技术的基础设施即服务 (IaaS) 支持,以分布式方式在各种场景中使用。
  • Google Cloud Endpoints (2013年):这是一个在 App Engine 内创建服务并轻松从 Android、iOS 和 JavaScript 客户端连接的工具,使各种移动设备能够轻松使用 Google 云端点。
  • Google Cloud DNS:这是一个由 Google 云技术支持的域名系统服务。
  • Google Cloud Datastore:提供 NoSQL 数据存储。
  • Cloud SQL (2014年全面上市):提供基于 SQL 的存储和处理能力,完全托管 MySQL 数据库。

扩展了解:Apple iCloud

虽然不在前四名,但鉴于苹果产品的普及,其 iCloud 服务也值得了解。它于 2011 年公开发布,包含云存储和云计算技术。

其操作系统基础是 OS X 或 Microsoft Windows 7 及更高版本,或 iOS 5 及更高版本。iCloud 取代了之前的 MobileMe 服务。

以下是 iCloud 的一些主要功能:

  • 邮件、通讯录和日历:基础的个人信息管理服务。
  • 查找我的朋友:社交定位功能。
  • 备份与恢复:为设备设置和数据提供备份功能,由 iOS 5 或更高版本支持。
  • 查找我的 iPhone:使用户能够跟踪 iOS 设备或 Mac 的位置。这曾是 MobileMe 的功能。
  • 回到我的 Mac:支持远程登录到其他安装了此功能的电脑。
  • iWork for iCloud:苹果的 iWork 套件(包括 Pages、Numbers 和 Keynote)的网页版界面。
  • 照片流与 iCloud 照片图库:用于存储照片。照片图库以原始分辨率存储所有照片及其元数据(包括位置信息)。
  • iCloud 存储空间:于 2011 年首次推出,为每个账户提供免费存储空间。
  • iCloud 云盘:可以保存照片、视频、文档和应用程序。
  • iCloud 钥匙串:用于网站和 Wi-Fi 密码的安全数据库,以及用于快速访问和自动填充的信用卡、借记卡安全管理。
  • iTunes Match:扫描和匹配音乐库曲目的功能,可服务于从 CD 或其他来源复制的曲目。

课程总结

本节课中,我们一起学习了 IBM 和 Google 这两家主要云服务提供商的核心产品与服务。我们了解到 IBM 提供全面的 IaaS、PaaS、SaaS 服务,并专注于企业级混合云与流媒体解决方案;而 Google 云平台则以其强大的数据分析工具(如 BigQuery)、自动扩展的应用引擎和广泛的基础设施服务著称。此外,我们还简要了解了 Apple iCloud 的主要功能。这些知识为我们理解当今多元化的云计算生态系统奠定了基础。

113:5.6 云计算 ☁️

在本节课中,我们将要学习云计算的核心概念、服务模型及其主要特征。云计算是支撑现代智能手机、物联网和大数据应用的关键技术。


云计算提供在线数据存储服务。它支持在线应用程序的配置与访问。此外,云计算还提供多种软件、计算平台和计算基础设施。

从以上描述中可以注意到,软件、平台和基础设施是云计算提供的三大核心内容。进一步分类其特征,在线数据存储可被视为基于平台或基础设施的存储机制。数据存储本身通过数据库(平台)或存储服务器(基础设施)实现。

上一节我们介绍了云计算的基本功能,本节中我们来看看一个具体的云应用示例。

云应用示例
此示例基于在智能手机上使用Gmail查看邮件,特别是查看邮件中包含的附件文件,该附件是一个Microsoft PowerPoint文件。

我思考了智能手机上有什么,以及个人电脑或笔记本电脑上需要什么才能打开一个Microsoft PowerPoint文件。

要在笔记本电脑或个人电脑上打开Microsoft PowerPoint文件,首先需要安装包含操作系统的Microsoft Windows。安装好Windows后,才能在其上安装Microsoft Office套件,之后才能打开PowerPoint、Excel、Word等文件。

然而,在智能手机上,并没有Microsoft Windows操作系统,也没有安装Microsoft Office。但是,当你收到带有此类附件的邮件时,仍然可以在智能手机上打开它。是什么使我能够做到这一点?这正是我们所说的云服务的本质。

我们不具备的平台技术、基础设施技术或任何软件,都可以按需从云端即时获取并使用。这基本上就是云计算使你的智能手机能够做到的事情。

Google Drive服务提供了Google Docs、Sheets和Slides,可用于打开文件。当你需要时,它可以立即交付。这就是我们所说的云计算。仅从这一点看,其应用潜力就非常强大。

不仅限于智能手机,当我们观察物联网时,这些物联网设备本身当然不包含其所需的所有软件、数据库、基础设施、计算和存储支持。许多设备体积小、结构简单、运算能力有限。因此,仅有物联网可能无法完成很多任务,但当物联网设备连接到云端时,你能做的事情自然就变得无限可能。这就是我们在这门课程中将云计算与物联网技术一起学习的原因。


云计算能为我们做什么?云计算可以通过公共或私有网络或互联网提供服务,而服务托管系统位于远程位置。

云计算可以支持各种应用,例如:
以下是云计算支持的部分应用类型:

  • 电子邮件
  • 网络会议
  • 客户关系管理
  • 游戏
  • 数据库管理
  • 以及其他各种应用

云计算模型主要包括以下几种:
以下是主要的云计算部署模型:

  • 公共云:使公共系统和服务能够成功运行。它基于开放架构,因此可以收发电子邮件和浏览网站。由于其开放性和公共可访问性,安全性可能较低。
  • 私有云:使服务能在组织内部成功运行。由于其私有性质,它更安全,也更难访问。
  • 社区云:可供一组组织访问,这些组织共享一个云。
  • 混合云:是公共云和私有云的结合。私有云支持关键活动,公共云支持非关键活动。

这意味着,如果是需要保护的机密信息,或涉及公司数据或公司本身的详细信息,则需要使用私有云,以便在更高程度上保护这些信息。而公共云可用于普通用户发送邮件、接收邮件、访问网站和执行其他操作。因此,私有云和公共云都是必需的,将它们结合在一个云上,就是我们所说的混合云。


上一节我们了解了云的部署模型,现在我们来深入探讨云的服务模型。

云服务模型如下图所示,我们有云客户端,以及SaaSPaaSIaaS

  • SaaS 是软件即服务。
  • PaaS 是平台即服务。
  • IaaS 是基础设施即服务。

它们的功能如下:
以下是各服务模型提供的具体内容:

  • 观察SaaS,它提供客户关系管理、电子邮件、游戏、虚拟桌面等技术,这些都基于SaaS(软件即服务)云计算技术。
  • 然后是PaaS,它提供数据库、Web服务器、部署工具和开发工具等。这些是平台技术所支持的内容。
  • 接着是IaaS,即基础设施即服务,它提供虚拟机、服务器、存储能力和网络支持。

较低层的服务模型支持较高层的管理、计算能力和安全性。这意味着,如果有人要使用IaaS,那么除了获得支持的IaaS基础设施外,他们还需要添加平台和软件,以便能够充分利用他们所接收的特定IaaS云技术。因此,当你观察这个结构的上下层时,可以清楚地看到这些服务是如何相互支持、关联的。


现在,让我们详细看看这三大主要分类。

软件即服务:向最终用户提供各种软件应用程序作为服务。可以这样理解:我使用过云计算技术吗?我什么时候会用到云计算技术?我会用到SaaS吗?事实证明,如果你有智能手机或平板电脑,那么你已经使用过它了。例如,你在智能手机上下载的应用程序就是SaaS技术。你已经使用了很长时间。

平台即服务:为应用程序提供程序可执行平台、开发工具。

基础设施即服务:为整个云提供基础计算和安全资源。它包括备份存储、计算能力和虚拟机。

云服务模型还包括其他类型的模型,可以归类为 XaaS,其中X可以是任何你想要的字母。例如,有人用N代表网络,形成网络即服务;有人用D代表数据库,形成数据库即服务;有人用B代表业务,形成业务即服务等等。

这些分类是基于人们如何希望使用XaaS分类来满足其需求,使其服务或整体方案独特且易于表达。然而,所有这些以及其他模型,根本上都可以归入三大类:SaaS(软件即服务)、PaaS(平台即服务)和IaaS(基础设施即服务)。所有这些也都属于SaaS、PaaS、IaaS的范畴,但人们确实会这样细分,你也可以这样做。


从云计算技术中你能获得哪些好处?
以下是云计算的主要优势:

  • 高效率和高可靠性
  • 通过互联网提供灵活的应用程序即实用工具
  • 在线操作和配置应用程序
  • 在线开发和部署工具
  • 无需预装软件,因为你可以按需获取所需的一切
  • 成本效益高
  • 按需自助服务,资源可通过网络获取

当我们谈到成本效益时,你会发现,与购买软件包、获取DVD并在电脑上安装相比,使用云计算,首先你可以在需要时下载各种不同的应用程序,无需为可能不用的东西投资。当需要时,你去下载并使用它,因此当你下载某物时,你会知道“我肯定会使用它”,所以在资金投入上没有浪费。

其特性还包括,基本特征是按需自助服务,这正是我前面谈到的。我将进行自助服务,在我需要时获取它,所以是自助服务,按需获取。这是使云计算技术如此有吸引力的基本特征。

共同特征包括:
以下是云计算的共同特征:

  • 宽带网络接入:我必须拥有良好的有线或无线网络,以便在我想要的时候立即下载所需内容。
  • 快速弹性:这意味着存在各种智能手机、智能设备、智能平板。当我下载云服务时,它需要适配我的电脑或智能手机,匹配适量的内存、内部总线、显示方式等,以便能在我的设备上运行。为了实现这一点,它需要具备此特性。
  • 资源池化:自然,你可以在需要时调用资源并一起使用它们。
  • 可度量的服务
  • 大规模
  • 弹性计算
  • 同质性
  • 地理分布
  • 虚拟化
  • 面向服务
  • 低成本软件
  • 高级安全性

所有这些特性正是云计算如此重要的原因。


本节课中我们一起学习了云计算的核心概念。我们探讨了云计算提供的三大核心服务(IaaS、PaaS、SaaS)及其关系,分析了不同的部署模型(公共云、私有云、混合云、社区云),并详细阐述了云计算的关键特征和优势,特别是其按需自助服务和成本效益。理解这些基础知识对于把握智能手机、物联网和大数据背后的技术支撑至关重要。

114:42_5.7 IaaS、PaaS、SaaS 🚀

概述

在本节课中,我们将深入学习云计算的三种核心服务模型:基础设施即服务(IaaS)、平台即服务(PaaS)和软件即服务(SaaS)。我们将详细探讨每种模型的定义、构成、运作方式及其带来的优势。

上一讲我们对云技术有了概览,现在我们将深入探讨IaaS、PaaS和SaaS的细节。

服务模型概览

再次回顾整体的服务模型,我们有这三种类型。需要明确的是,上层的服务依赖于下层提供的功能支持。同时,当你获得下层的服务时,通常也需要上层的服务一同提供,以便更有效地使用下层的基础设施。

例如,当你获得IaaS支持时,通常也会以虚拟机包的形式获得PaaS和SaaS服务。同样,当你接收PaaS服务(例如一个数据库)时,数据库将通过PaaS服务提供,但你仍然需要SaaS技术来支持数据库的使用。这就是我们所说的:如果你接收了较低层的服务,通常需要上层的支持以打包形式交付给你。

然而,如果你接收的是SaaS,你拿到就能直接使用,因为你的智能手机或其他移动智能设备已经具备了运行软件所需的平台和基础设施,软件只需适配配置即可使用。

基础设施即服务 (IaaS) 💻

IaaS指的是通过互联网提供基础设施支持。它主要关乎云计算资源和存储资源。

IaaS的构成

IaaS包含以下核心要素:

  • 计算能力
  • 存储服务
  • 软件包和捆绑服务
  • 虚拟局域网技术
  • 虚拟机功能

虚拟机的核心作用

在云计算技术中,虚拟机是关键特性之一。IaaS通过对虚拟机的管理访问,实现了对计算资源的控制。服务器虚拟化功能至关重要。对计算资源的访问正是通过管理虚拟机来实现的。

以下是虚拟机管理命令的示例:

  • Save data on Cloud server
  • Start web server
  • Install new application

IaaS的交付与运作

让我们看看IaaS是如何交付以及虚拟机如何运作的。软件所有者(即虚拟机的设计者)会将其放置在存储区域网络(SAN)的存储设备上。云服务器就位于这里。如图所示,虚拟机包含一个独特的包,其中集成了自己的操作系统和应用软件,并作为一个整体交付。

当用户(如用户一和用户二)请求时,他们会联系虚拟交换机(V-Switch)。V-Switch会从存储和SAN中提取信息,并将其交付给用户。这样,应用和操作系统作为一个包就被交付到了用户的设备上,例如你的智能手机。

IaaS的优势

IaaS的主要特点是灵活高效地租用计算机和服务器硬件。

以下是可租用的资源示例:

  • 虚拟机
  • 存储空间
  • 带宽
  • 防火墙
  • IP地址
  • 监控服务

其付费结构基于资源类型、使用时间和服务包来确定费用。

IaaS的优势还包括可移植性以及与遗留应用程序的互操作性。这一点非常重要,因为你的设备可能无法运行所有旧的软件或操作系统。然而,如果你在一个大型云平台上寻找,很可能找到旧的软件包和旧版本的操作系统,这意味着你可以打开旧的文件和文档。

它实现了基于互联网连接使用基础设施资源的可移植性。它提供了一种方法,以维持IaaS云之间遗留应用程序和工作负载的互操作性。

平台即服务 (PaaS) 🛠️

PaaS为应用开发提供开发和部署工具。

PaaS的主要类型

典型的PaaS类型包括以下四种:

  1. 仅应用交付环境:提供按需扩展和应用程序安全性。
  2. 独立开发环境:为特定功能提供独立的平台。
  3. 附加开发设施:允许用户定制并以各种方式使用现有的SaaS平台,以构建和扩展新的服务。
  4. 开放平台即服务:提供运行应用程序的开源软件。

PaaS的运行时环境

PaaS应用的运行时环境基于一种结构,其中云服务器通过集成开发环境(IDE)与用户交互。

在IDE中,有四个主要组件作为用户使用的平台接口:

  • 可扩展的基础设施
  • 应用托管
  • 备份与恢复
  • 数据安全

我们通过集成开发环境(IDE)与这些组件交互,从而使用云服务器的计算资源。

PaaS的优势

PaaS的优势包括:

  • 更低的管理开销:用户无需参与平台的任何管理工作。
  • 更低的总拥有成本:用户无需购买任何硬件、内存或服务器,只需租用。他们只需购买一段时间的租约,使用完毕后即可终止。
  • 可扩展的解决方案:包括基于应用程序资源需求的自动资源规模控制,意味着你只会下载你真正需要的部分。此外,在大型开发团队协作时,能够以同质化的方式整合不同的设计。当多个程序员共同开发解决方案时,无需担心不同计算机上软件版本不匹配的问题,因为它们都从云端访问。如果有一个软件开发工具包包含测试环境,可以测试你的程序、功能、包或库是否与主框架系统兼容,那么通过测试就意味着你的系统能与主框架协同工作,并且其他开发者也使用相同的测试环境。显然,对于大规模软件开发项目,可扩展的解决方案至关重要。
  • 更现代的系统软件:这是PaaS的一个重要组成部分。

关于软件版本兼容性:如果你在电脑上打开一个程序,可能发生三种情况:1)该程序基于的软件版本比你电脑上的高;2)版本相同;3)版本比你电脑上的低。当然,如果版本相同且设计正确,它能完美运行。但如果来自更高版本,某些功能可能无法工作;反之,如果来自更低版本,则可能无法充分利用本应使用的新库函数来使程序更高效、更强大。避免这些问题的一个方法就是使用云计算技术。

软件即服务 (SaaS) 📱

SaaS以服务形式向用户提供软件应用程序,这些软件部署在云服务器上,可通过互联网访问。

SaaS的特点

SaaS包含以下特点:

  • 按需可用:需要时下载,这正是我们在智能手机上的操作方式。
  • 易于维护:无需用户进行软件升级或维护,全部由云支持,这也是我们正在享受的。
  • 灵活扩展或缩减:集中管理和数据。这意味着如果你需要调整,通常不需要你亲自进行所有调整。云管理员可以控制下载到你电脑上的内容,如果需要发送补丁或修复某个模块中的错误,他们可以直接操作。
  • 支持共享数据模型:多个用户可以共享单一的数据模型和数据库。
  • 成本效益:按使用付费,没有买错软件的风险。
  • 多租户编程解决方案:确保多个程序员使用相同的软件版本,不存在版本不匹配问题。

这些特点在PaaS中也有体现,在SaaS中同样存在。

SaaS应用结构

开放的SaaS应用结构如图所示,与云服务器交互。我们主要使用的单元包括:

  • SaaS目录网络服务
  • SaaS消息网络服务
  • SaaS协作网络服务
  • SaaS内容网络服务

这些服务通过一个SaaS编排层提供给我们。这个编排层位于中间,与客户端用户界面层交互。它负责协调对这些核心SaaS功能的访问,这些功能再与云服务器交互。因此,在控制单元的重要性方面,编排无疑非常关键。

总结

本节课我们一起学习了云计算的三种核心服务模型:IaaS、PaaS和SaaS。我们详细探讨了每种模型如何提供不同层次的服务,从底层的基础设施到开发平台,再到顶层的应用软件,以及它们各自的特点、运作方式和为开发者和用户带来的主要优势。理解这些模型有助于我们更好地利用云技术来构建和部署应用程序。

115:5.8 物联网移动云技术 & 5.9 移动云计算 (MCC) 📡☁️

概述

在本节课中,我们将要学习物联网与移动云技术的关系,并深入探讨移动云计算的概念、架构及其优缺点。我们将了解到,为了满足智能设备对快速、可靠服务的需求,仅仅依赖远程的云计算是不够的,因此催生了边缘计算等新技术。


物联网与移动云技术

当前存在的各种物联网和移动智能设备,都需要云计算的支持,以满足我们对这些设备功能的多样化需求。

因此,云计算的支持是必要的。然而,云计算支持通常位于互联网上某个远程服务器中。

如果我们希望获得快速、可靠的服务,那么我们就需要在云计算中引入一些额外的技术,这就是被归类为边缘计算的技术。换句话说,边缘计算旨在将云资源带到网络边缘,即用户所在的位置,以便我们能够有效地使用它们。


边缘计算的三种技术类别

为了基于边缘计算技术将云技术尽可能地带到我们身边,主要存在三类技术组。

以下是这三类技术的简要介绍:

  • 雾计算:如图所示,我们可以通过Wi-Fi、蓝牙和ZigBee等通信方式(例如无线局域网和无线个域网技术)访问它。它支持存储计算、设备管理、资源供应和雾提取技术。
  • 移动边缘计算:这个类别除了包含部分Wi-Fi技术外,还使用移动通信。它基于MEC(移动边缘计算),其中的MEC主机承载着交付给我们使用的应用程序。从名称中的“移动”一词自然可知,它使用移动通信网络。
  • 云朵:在云朵主机上,我们可以看到存在的虚拟机,它们通常通过Wi-Fi技术被带到离我们更近的地方,供我们使用。

深入理解移动云计算

上一节我们介绍了边缘计算的三种形式,本节中我们来看看其中一种核心概念:移动云计算。

什么是移动云计算?

云计算的趋势是这样的:用户对高数据速率和服务质量的需求正在呈指数级增长。

此外,智能手机、物联网设备以及各种其他传感器和执行器的技术演进正变得高度先进。

许多智能设备和物联网设备都拥有非常强大的中央处理器、图形处理器和片上系统单元。

然而,CPU本身并不足以计算所有信息并提供准确、智能的结果。

另一个问题是,在很多情况下,即使设备足够强大能够进行计算,其结果也可能不够理想。因为当我们想要做出决策时,我们不希望仅基于一个本地设备进行决策,而是希望基于环境、观察周围环境和所有选项,并结合情境感知(即我知道正在发生什么以及什么对我有影响)来做出最优决策。

为了实现这一点,即使你能在一个节点上进行计算,你仍然无法获得全部范围的数据。这就是为什么我们说并非所有数据都可在单个节点上获得,这是不可能的。因此,即使你的计算能力足够强大,但由于你没有收集到所有数据,你的结果仍然不是最优的。

但是,如果我要收集周围的数据以获得准确的情境感知,那将是一个巨大的数据量,让智能设备或移动设备将所有数据都存入内存同样是不可能的。

此外,当我们谈论物联网设备和智能手机、智能手表等智能设备时,可使用的总能量非常有限。这就是为什么你不能要求它始终以最高速度运行以提供快速结果。另外,就物联网和智能手机而言,我们使用的设备体积很小。

因此,由于这些小型设备受限于电池,如果你要求你的设备始终快速计算,会耗尽电池,设备将变得无用。此外,如果你要求它计算所有收集到的周围信息,它将持续不断地进行处理和计算,同样会耗尽电池。

所以,无论如何,由于这些是电池受限的设备,并且有如此多的计算任务,总会存在局限性。这就是移动云计算变得非常有吸引力的原因。它允许云计算来支持移动和物联网设备。

移动云计算如何工作?

其工作方式是这样的:当我们观察在第四代和第五代移动系统以及物联网系统中被称为用户设备的智能设备时,你可以通过核心网络(可以是互联网或移动通信网络)使用远程集中式云,并向移动运营商寻求帮助,从而通过网络连接到云,请求云保存信息或计算结果,并将结果交付给我。

观察我们所讨论的,云在远端,然后是互联网,接着是移动通信结构的核心网络,再往下是我们称之为无线接入网络的部分,它有连接着的基站(我们称之为eNodeB),并连接到用户设备。

这是一个第四代移动通信网络,LTE或LTE-A网络看起来就是这样。当智能手机上的用户需要服务时,它将连接到基站,基站连接到核心网络,核心网络连接到互联网,互联网再连接到云,然后服务将被交付给使用智能手机的用户。

这就是移动云计算如何支持我们智能手机服务的过程。自然地,你可以看到存在距离。而且,操作需要经过移动通信核心网络以及互联网,然后一路到达云端,这将产生较大的时间延迟。


移动云计算的优缺点

因此,当我们审视原始的移动云计算基础设施时,它存在优点和缺点。

以下是其优缺点分析:

优点:

  • 节能:显然,如果你不在你的智能设备上进行计算,你就不会使用它的计算资源。你只需要收集信息,将其发送到云端,并请求云端收集更多信息、进行计算,然后只将结果发送给你。因此,你将节省能源。
  • 强大的计算与存储能力:此外,云端设备拥有非常快速的高计算能力和大内存。因此,当你使用它们时,它们会快速计算结果并发送给你。
  • 节省本地存储:你可以不断地保存数据,这使得它非常有吸引力,因为智能手机和物联网设备的内存非常有限。

缺点:

  • 延迟问题:主要的缺点在于,由于云端距离较远,数据传输需要经过多个网络节点,会导致显著的延迟,这对于需要实时响应的应用(如自动驾驶、增强现实)来说是一个挑战。


总结

本节课中,我们一起学习了物联网对移动云技术的依赖,并深入探讨了移动云计算的概念。我们了解到,为了克服远程云计算带来的延迟问题,边缘计算技术(如雾计算、移动边缘计算和云朵)应运而生,旨在将计算和存储资源推向网络边缘。移动云计算通过将繁重的计算任务卸载到云端,帮助解决了移动和物联网设备在计算能力、存储空间和电池续航方面的根本限制,但其固有的延迟问题也催生了更靠近用户的边缘计算解决方案。

116:44_5.10 边缘计算 🖥️

在本节课中,我们将学习边缘计算的概念,并将其与传统的移动云计算进行比较。我们将探讨边缘计算如何通过将计算资源靠近用户来解决延迟和网络资源消耗等问题。


上一节我们介绍了边缘计算的基本概念,本节中我们来看看传统的移动云计算。

在传统的移动云计算中,移动用户通过移动通信核心网络和互联网连接到云服务器。移动设备通过互联网连接访问云服务。

以下是传统移动云计算的一些特点:

  • 延迟长,服务质量性能成为问题。
  • 网络资源使用率高,因为每个请求都需要经过移动通信网络和互联网,然后必须接收返回信息。
  • 物联网和智能设备电池消耗高,因为它们需要将数据发送到本地基站或连接到有线区域网络的设备,以便访问互联网。
  • 数据包到达时间抖动显著。这是一个问题,因为数据包在发送时可能具有均匀的时间间隔,但当它们经过复杂的网络、逐跳传输到达服务器,再由云服务器计算并返回结果时,数据包和帧之间的间隔会变得混乱。这可能导致数据包密集堆积或相隔甚远。

这种时间抖动会增加延迟边界违规的总体概率,对于视频游戏、视频流等实时多媒体服务尤为重要。例如,在接收视频文件时,典型的数据速率基于每秒接收的帧数。如果一帧的数据包没有在特定的时间间隔内到达,该帧将无法重建,导致延迟边界违规,从而显著降低整体服务质量。


上一节我们讨论了传统移动云计算的挑战,本节中我们来看看边缘计算作为解决方案。

边缘计算将计算和存储资源移动到更靠近用户、更靠近网络边缘的位置,例如基站或接入点。

以下是边缘计算的特点:

  • 延迟非常短,服务质量支持高,因为资源距离用户很近。
  • 网络资源使用率低
  • 物联网和智能设备电池消耗低,因为设备只需与近距离的边缘计算设备进行短程通信以快速获取结果。

但另一方面,边缘计算也更复杂。需要能够预测用户将使用什么内容,并提前将其预取到边缘计算设备中。虽然这样做可以实现请求时的最大速度交付,但也带来了如何正确进行预测和预取的挑战。


上一节我们分别介绍了两种计算模式的特点,本节中我们来对它们进行系统比较。

以下是传统移动云计算与边缘计算在几个关键维度的对比:

  • 部署方式:MCC是集中式的,而边缘计算是分布式的。
  • 与用户设备的距离:MCC的云服务器距离远,边缘计算设备距离近
  • 延迟:MCC,边缘计算
  • 数据包到达时间抖动:MCC,边缘计算
  • 计算能力:MCC使用位于数据中心的高性能云服务器,能力强;边缘计算设备通常是小型、便携且常由电池供电的,能力有限
  • 存储能力:MCC在大型云服务器上,存储容量大;边缘计算设备存储容量有限

因此,在研究边缘计算时,我们将重点关注以下三种主要形式:雾计算、移动边缘计算和云微数据中心。


本节课中我们一起学习了边缘计算。我们首先了解了传统移动云计算在延迟、资源消耗和服务质量方面面临的挑战。接着,我们探讨了边缘计算如何通过将计算和存储资源部署在靠近用户的网络边缘来解决这些问题。最后,我们系统比较了两种计算模式在部署、距离、延迟、抖动、计算和存储能力等方面的差异。理解边缘计算是把握物联网和实时应用发展趋势的关键。

117:5.11 雾计算 🌫️

在本节课中,我们将要学习雾计算的核心概念。雾计算是一种分布式计算架构,它将数据、计算、存储和应用从集中的云数据中心,扩展到网络边缘的设备附近。我们将了解其工作原理、关键特性以及它在物联网架构中的重要作用。


上一节我们介绍了云计算在物联网中的中心化角色,本节中我们来看看它的一个重要补充——雾计算。

雾计算基于一种特定的结构,它利用Wi-Fi、蓝牙或Zigbee、6LoWPAN等各种无线个域网技术。其目的是为本地各种物联网和智能设备提供存储计算设备管理以及雾抽象资源供给服务。


观察整体的网络结构,引入一个雾节点接入移动网络后,它就成为了本地设备新的连接中心。这意味着,如果本地设备需要彼此通信,它们无需访问整个骨干网络,而是可以在本地直接共享和访问彼此。

此外,如果这些设备需要连接到互联网或主云,它们可以请求雾节点建立连接,并通过该雾节点来使用网络连接。这就是我们所说的雾计算。

正如之前提到的,从存储到资源供给和计算支持等一系列功能,都通过雾计算技术得以实现。


定义与关键特性

雾计算有时也被称为雾网络或雾化。其定义核心在于,它利用一个或多个协作的终端用户客户端靠近用户的边缘设备来提供服务。

以下是雾计算支持的主要服务:

  • 存储服务:提供大量的本地存储,而非将所有数据存储在云端数据中心。
  • 通信支持:设备通过雾设备进行通信,而非通过互联网骨干网路由。
  • 控制与管理:通过雾设备提供控制、配置、测量和管理功能,替代由互联网网关进行控制的方式。

在之前学习的LTE网络结构中,有服务网关和PDN网关。雾网络结构可以与之交互、协同工作和通信,使我们也能通过雾节点被集中控制和管理。


雾计算的特点

雾计算具有以下几个显著特点:

  • 去中心化:虽然之前的图示中只画了一个雾计算设备,但实际上可以根据特定需求部署许多个。
  • 协作式基础设施:整体基础设施基于多个雾计算节点协同工作。
  • 位置灵活:FCN可以部署在终端设备和云之间的任何位置。
  • 异构性:雾节点在本质上具有异构性。这意味着它们不必采用单一的形式、协议或网络类型,可以在结构、模式和协议上多样化,并包含各种功能元素。并非所有雾设备都需要相同,也并非都需要提供相同的服务(例如,一些提供存储,另一些提供交互通信)。
  • 典型设备:典型的雾计算设备可以包括路由器、交换机、接入点、物联网网关、机顶盒等。反过来,这些设备内部也可以集成雾模块,使其在部署时就能自动支持雾网络。
  • 协议支持:FN的异构性使其能够支持不同的协议,以及基于IP和非IP的云服务访问。

上一部分我们了解了雾计算的架构特点,接下来我们看看其核心的抽象层。

统一的雾抽象层

统一的雾抽象层包含一系列功能,用于为各种类型的终端设备提供资源分配监控安全设备管理存储计算服务。这一层是雾计算能够灵活服务多样化设备的关键。


本节课中我们一起学习了雾计算。我们了解到,雾计算通过将计算和存储能力下沉到网络边缘,有效弥补了云计算的延迟和带宽限制。其去中心化异构性协作式的特点,使其特别适合物联网场景,能够实现本地设备的快速通信、高效管理和灵活的资源供给。统一的雾抽象层则确保了服务的多样性和可管理性。

118:46_5.12 MEC移动边缘计算 📡

在本节课中,我们将要学习移动边缘计算。移动边缘计算是边缘计算在移动通信网络中的具体应用。

MEC的结构位于中间位置,其基础是移动通信网络。它也可以使用基于Wi-Fi的接入点。

在MEC架构中,存在内部运行着应用程序的MEC主机设备。一个典型场景是在移动通信环境中,将一台MEC服务器添加到移动通信网络中。这台服务器有其特定的部署位置,它将与基站协作,并与移动通信基础设施的无线接入网和核心网协同工作。

MEC是移动边缘计算的缩写,指利用移动通信网络进行的边缘计算。典型的网络通常是3G及更高版本,虽然某些情况下包括3G,但最典型的是像LTE和LTE-A这样的4G网络,以及即将到来的5G标准。5G标准预计将在2019年和2020年发布,这些标准期望在其基础设施上部署和使用各种MEC技术。

MEC主机上运行着应用程序支持。

MEC的定义是:在移动蜂窝网络的边缘实现云计算和IT服务。当我们提到MEC时,我们考虑的是移动通信网络,例如LTE。在基站或核心路由器之外,部署着MEC设备,即小型云设备。这些设备将与互联网另一端的主云进行交互,获取所需内容,并直接交付给智能手机、智能平板、智能手表和其他物联网设备。MEC从根本上基于移动蜂窝网络。

使用MEC的原因如下:

  • 为移动用户设备提供更快的云服务。
  • 减少网络拥塞。 如果一个MEC设备能观察多个用户并预测他们的需求,它就可以预先获取正确的资源并快速交付。当本地其他设备也需要相同资源时,MEC已经拥有副本,可以直接重新分发。在传统的移动云计算模式下,每个设备都需要直接与互联网另一端的服务器通信并下载信息,用户数量将与互联网和移动核心网络的流量成正比,这不是我们期望的。MEC的可扩展性特征因此极具吸引力。
  • 提供更可靠的应用程序支持。 如果我从MEC下载内容,由于距离很近,当数据包出现错误时,我可以直接请求重传,恢复非常容易。如果没有MEC,我需要连接互联网另一端的主服务器,每个数据包错误都需要等待通过互联网重新传输,这效率不高。

MEC的特性还包括:MEC使蜂窝网络运营商能够向授权的第三方开放其无线接入网络,这样应用程序开发商和内容提供商可以更积极地共享移动通信网络的资源,这就像开辟了一个新的服务领域。基于MEC技术,这非常有吸引力,尤其是在结合云计算技术时。

MEC服务器提供实时信息。信息类型包括网络负载和容量、连接到服务器的终端设备信息、位置信息。这对于基于位置的服务尤为重要。随着技术发展,位置服务变得越来越重要,例如智能汽车、无人机以及各种基于我们位置的应用。这些LBS类型的服务可以通过MEC的云计算技术得到有效支持。

此外,MEC基于移动通信网络。当使用MEC时,除了移动通信网络本身提供的精确时钟时间外,还可以支持辅助GPS信息等基于位置的信息。因此,即使在卫星GPS信号不足、难以确定位置的阴影区域,我也可以借助移动通信基础设施获得AGPS支持,从而找到位置并获得所需的高级服务。

其他特性包括:MEC节点通常与无线网络控制器或宏基站共址部署。这意味着数据通信模式和其他信令技术与云计算技术紧密结合,这是MEC的优势之一。在4G LTE-A网络中,基站是eNodeB;在5G移动网络中,基站是gNB。了解这些术语有助于确定MEC云的部署位置。

服务器可以运行多个MEC主机,这是一个优点。云中的一台服务器可以支持多个MEC主机,这些主机可以根据其支持的具体服务或特定用户进行划分。MEC主机可以通过虚拟化接口执行计算和存储任务,这正是该技术力量的来源。虚拟接口、虚拟连接、虚拟机等都以动态方式使用,并被带到足够近的位置,从而实现快速可靠的服务,这正是边缘技术的作用。当我们在移动网络中使用时,这就是MEC为我们所做的。

其中关键的控制器单元是移动边缘编排器。它管理MEC主机,控制每个MEC主机所提供服务的信息流。

同时,它还控制资源和网络拓扑,并管理移动边缘应用程序。

本节课中,我们一起学习了移动边缘计算的核心概念、架构、优势及其在移动网络中的关键作用。MEC通过在网络边缘部署计算资源,显著提升了移动服务的速度、可靠性并降低了核心网络压力,是支撑未来5G和物联网应用的重要技术。

119:47_5.13 云朵(Cloudlet) 🏢

在本节课中,我们将要学习一个重要的边缘计算概念——云朵(Cloudlet)。我们将了解它的定义、架构、工作原理,并将其与雾计算、移动边缘计算等其他边缘计算范式进行比较。


概述

云朵是一种位于网络边缘、靠近移动设备的小型云计算数据中心。它的核心目标是为移动设备提供低延迟、高可靠的计算资源,以支持资源密集型和交互式的移动应用。简单来说,它就像一个“盒子里的数据中心”,将云的能力带到离用户更近的地方。


什么是云朵? 🤔

云朵的定义基于移动增强型小规模云数据中心技术。它们位于互联网的边缘,靠近移动设备。在某些情况下,一些移动设备甚至可以被编程为云朵。

云朵支持资源密集型和交互式的移动应用,并以低延迟为移动设备提供强大的计算资源。云朵位于用户设备(UE)和云端设备之间的某个中间位置。

核心概念:云朵是一个“盒子里的数据中心”概念。它将云拉近到用户设备,因此它就像一个微型云设备,虽然不具备完整云的所有功能和容量。


云朵的架构与工作原理 ⚙️

上一节我们介绍了云朵的基本概念,本节中我们来看看它的具体架构和工作方式。

云朵通常通过Wi-Fi连接进行访问。其内部运行着虚拟机,这是云计算技术的核心特征。

以下是一个示例,展示了云朵的工作方式:我们有一个云服务器(即本地服务器)和一个调制解调设备。它们可能是相互连接的独立设备,也可能集成在一个单元中。它们共同作为本地云支持系统接入网络。当然,它们不具备主云的全部容量和存储内存,因此我们称其为“云朵”。在内部,它们可以支持为本地请求服务的各种设备的虚拟机。

云朵使用虚拟机通过Wi-Fi网络为用户设备实时提供资源。因此,它实现了直接的“一跳”云访问,这正是延迟变得非常小且可靠性大大提高的原因。

云朵的架构基于三层模型:

以下是云朵的三层架构:

  1. 云朵层:这是一组协同定位的节点,由云朵代理管理。
  2. 节点层:这是在操作系统之上运行的多个执行环境,由节点代理管理。
  3. 组件层:这包括一组与上层接口的服务,具体体现在其执行环境中。

与其他边缘计算范式的比较 🔄

我们已经了解了云朵的独立架构,现在将其与雾计算移动边缘计算进行比较,以便更清晰地理解它们之间的区别。

以下是雾计算、移动边缘计算和云朵计算在多个维度上的对比:

  • 设备/节点
    • 雾计算:路由器、交换机、接入点、网关。
    • 移动边缘计算:运行在基站(如eNodeB或未来的gNodeB)中的服务器。
    • 云朵计算:“盒子里的数据中心”概念。
  • 节点位置
    • 雾计算:在终端设备和云之间变化。
    • 移动边缘计算:位于无线网络控制器和基站。
    • 云朵计算:本地或户外安装。
  • 软件架构
    • 雾计算:基于雾抽象层。
    • 移动边缘计算:由移动通信网络中的移动协调器控制。
    • 云朵计算:由云朵代理控制,节点代理辅助。
  • 上下文感知能力
    • 雾计算:中等。
    • 移动边缘计算:高(能获取更多知识、预测和获取相关内容)。
    • 云朵计算:相对较低(因为要分发的必要虚拟机已预先准备和交付)。
  • 邻近性
    • 雾计算:一跳或多跳。
    • 移动边缘计算:一跳(智能手机到基站)。
    • 云朵计算:一跳(基于无线局域网,如Wi-Fi,通常比移动基站更近)。
  • 接入机制
    • 雾计算:蓝牙、Wi-Fi、移动网络或其他无线个域网技术(如Zigbee)。
    • 移动边缘计算:主要是移动网络,也可使用Wi-Fi。
    • 云朵计算:Wi-Fi是主要接入类型,也可使用其他组件连接。
  • 节点间通信支持
    • 雾计算:支持。
    • 移动边缘计算:部分支持。
    • 云朵计算:部分支持。

特性总结 📊

基于以上比较,我们可以总结出这些范式的关键特性:

以下是雾计算、移动边缘计算和云朵计算的关键特性对比:

  • 物理邻近性
    • 雾计算和云朵计算:
    • 移动边缘计算:相对较低
  • 功耗
    • 移动边缘计算消耗更多功率(因为信号需要发送到基站)。
    • 雾计算或云朵计算功耗较低(设备非常接近)。
  • 计算时间
    • 雾计算预计耗时较长
    • 移动边缘计算和云朵计算预计更快
  • 上下文感知
    • 移动边缘计算
    • 雾计算和云朵计算相对较低
  • 逻辑邻近性
    • 云朵计算有保障
    • 雾计算和移动边缘计算可能
  • 非IP协议支持
    • 雾计算:
    • 移动边缘计算和云朵计算:(但可以通过特殊设计来支持非IP设备和服务)。

总结

本节课中,我们一起学习了云朵(Cloudlet) 这一边缘计算技术。我们明确了它是位于网络边缘的小型云数据中心,通过Wi-Fi等近距离连接为移动设备提供低延迟、高可靠的计算服务。我们深入分析了其三层架构,并通过与雾计算、移动边缘计算的详细对比,理解了云朵在物理邻近性、功耗、接入方式等方面的独特优势和适用场景。云朵作为“盒子里的数据中心”,是连接移动设备与广阔云端的重要桥梁。


参考文献:(课程中使用的参考资料,建议读者查阅)

120:48_6.1 蓝牙扫描项目 📶

在本节课中,我们将学习蓝牙扫描项目。我们将通过具体的应用程序,实践如何扫描经典蓝牙和低功耗蓝牙设备,并解读扫描结果中的关键信息,如信号强度、设备版本和连接状态。


在物联网与云计算技术课程中,我们已经涵盖了无线通信的多个方面。现在,我们将进入直接支持物联网系统的无线通信实验环节。首先从蓝牙技术开始。我将与您一起完成蓝牙扫描项目。

项目包含一个安卓版本,您可以在图中看到两个应用:BLE Scanner App 1Bluetooth 4.0 Scanner App 2。这些应用可在谷歌应用商店下载。

这些应用的主要功能是:

  • 扫描经典蓝牙和低功耗蓝牙数据包。
  • 根据扫描信息估算设备的蓝牙版本(通常以蓝牙4.0为分界点)。
  • 基于接收信号强度指示估算距离。

蓝牙扫描一:低功耗蓝牙扫描器 📱

上一节我们介绍了项目概览,本节中我们来看看第一个具体的扫描应用:低功耗蓝牙扫描器。

此应用用于扫描配备蓝牙4.0及以上版本设备的BLE广播消息。

应用的界面如图所示。以下是界面中提供的信息解读:

  1. 框1:显示数值 -78,这是RSSI。RSSI代表接收信号强度指示,显示了接收端的功率电平。其值越接近 0 dBm,信号越好。当前的 -78 dBm 远低于 0 dBm,表明信号相对较弱。
  2. 框2:显示设备名称为 Gear S3
  3. 框3:显示连接状态和原始数据。

以下是关于数据包的详细信息:

  • 设备名称Gear S3(如框2所示)。
  • 设备MAC地址:可供参考的唯一标识。
  • 连接状态:显示设备是否已绑定。
  • 连接按钮:尝试通过发送连接请求与设备建立绑定。
  • 原始数据:以十六进制数字显示接收到的原始数据包内容。图中下方区域展示了实际的报文内容。

此外,该应用能根据RSSI估算设备与您的距离,并提供便捷的显示。RSSI值越大(即负得越少),表示设备离得越近,因为检测到的信号更强。


蓝牙扫描二:多版本蓝牙扫描器 🔍

了解了低功耗蓝牙扫描后,我们接下来看看能区分蓝牙版本的扫描应用。

蓝牙扫描二是项目的下一部分。此应用可以扫描不同蓝牙版本的数据包。

应用主要区分两种扫描模式:

  • 经典扫描:针对蓝牙4.0之前的经典蓝牙版本。
  • 低能耗扫描:针对蓝牙4.0及之后的低功耗蓝牙。

点击“开始扫描”按钮后,会显示如图界面。查看详细信息,可以看到:

  • 设备标识旁会注明 L(代表低功耗蓝牙)或 Classic(代表经典模式)。
  • 功率电平(RSSI)也会列在旁边。

从接收到的数据包中还能获取其他信息,包括供应商、描述和设备名称,这些信息都显示在列表中。接收端的RSSI功率值即为图中显示的数字。


iPhone蓝牙扫描项目 📱

对于iPhone的蓝牙扫描项目,我推荐使用苹果应用商店中的 BLE Discovery 应用。

此应用可以将RSSI和平均RSSI以图表形式可视化显示,我们马上会看到。

该应用的功能包括:

  • 显示广播数据包是否可连接。
  • 显示数据包使用的是哪个物理层信道。

让我们用BLE Discovery应用来查看一下。如图所示,您可以扫描BLE广播消息。

在此部分,您可以获取的信息有:RSSI广播数据本地名称设备名称。数据信道可能是第37、38或39信道。如果消息是可连接的,则会显示“是”;否则显示“否”,表示它只是一个广播消息,不支持数据通信。

可连接消息意味着该设备也支持后续的数据通信。

蓝牙扫描应用的RSSI图表会实时显示RSSI和平均RSSI值。


参考资料 📚


以上是我使用并推荐给您的参考资料。


总结

本节课中,我们一起学习了蓝牙扫描项目。我们实践了如何使用安卓和iOS平台上的特定应用(如BLE Scanner和BLE Discovery)来扫描经典蓝牙与低功耗蓝牙设备。我们重点解读了扫描结果中的关键参数:RSSI(接收信号强度指示) 用于估算距离,设备名称、MAC地址用于识别设备,以及数据包是否可连接、使用何种信道等信息。通过这个项目,您能够直观地理解蓝牙设备发现与广播的基本机制。

121:49_6.2 Wi-Fi分析项目 📶

在本节课中,我们将学习如何使用一款名为“网络分析器”的移动应用程序进行Wi-Fi网络分析。这款工具可以帮助我们查看详细的网络连接信息、扫描附近的接入点并分析信号质量。


应用获取与基础信息

“网络分析器”应用可在Google Play商店和Apple App Store下载。它能够提供丰富的Wi-Fi连接信息。

以下是该应用提供的基础网络信息:

  • 默认网关的IP地址
  • DNS服务器地址
  • 设备IP地址
  • 子网掩码
  • MAC地址


网络连接详情

上一节我们介绍了应用提供的基础信息,本节中我们来看看更详细的网络连接状态。

在“网络连接”部分,你可以查看网络IP和设备IP。如下图所示,你可以看到:

  • 默认网关(IPv4)
  • DNS服务器(IPv4)
  • 外部IP(IPv4)
  • 默认网关(IPv6,当前未启用)
  • DNS服务器(IPv6,当前未启用)
  • 外部IP(IPv6)
  • HTTP代理设置

此外,你还可以查看连接模式的详细信息。


Wi-Fi信息详解

接下来,我们将深入查看当前连接的Wi-Fi接入点的具体信息。应用会在这里提供更详细的数据。

我将信息整理并放大以便查看。例如,SSID显示为“CNL_5GHz”。“CNL”代表延世大学的通信网络实验室,这是我们实验室接入点的命名。
你可以看到以下信息:

  • Wi-Fi名称(SSID)
  • 正在使用的信道
  • 内部IP地址
  • 连接速度(链路数据速率)
  • 信号强度(RSSI),单位为 dBm

局域网扫描功能

使用应用中的“扫描”按钮,我们可以对局域网进行扫描,获取网络内各种设备的信息。

扫描结果右侧的彩色方块字母代表不同的设备或服务类型,其含义如下:

  • G: 网关
  • W: 网络服务器(端口80或443开放)
  • U: 设备提供UPnP或DLNA服务
    • UPnP 代表通用即插即用
    • DLNA 代表数字生活网络联盟,这是一项用于共享多媒体服务的高级功能
  • P: 设备可响应ICMP Ping请求
  • 6: 设备存在IPv6地址
  • B: 设备提供Bonjour服务(由苹果公司开发,用于发现打印机和文件共享服务器)
  • S: 正在执行扫描的设备(即你的设备)

在顶部区域,你可以向网关发送Ping请求。如图所示,扫描检测到了我们实验室使用的“IP Time”品牌接入点(由EFM Networks公司生产),并显示了Ping机制的反馈信息,包括时间戳和返回结果。


Wi-Fi信号扫描与分析

现在,让我们进入Wi-Fi信号扫描的细节部分。这里可以查看在信号范围内检测到的不同接入点和其他信号。

你可以看到每个信号的dBm值,即其信号强度。界面主要分为几个部分:

  1. 频率波段指示:显示当前查看的是5 GHz还是2.4 GHz频段。
  2. 频段切换按钮:按下此按钮可在5 GHz和2.4 GHz频段之间切换。
  3. 选定接入点信息:显示所选接入点的详细信息,包括使用的安全协议类型、带宽等特性。

此区域以列表形式展示了扫描到的所有接入点信息,包括:

  • RSSI(信号强度)
  • SSID(网络名称)
  • MAC地址
  • 带宽
  • 物理层信道
  • 加密方案

下方还列出了加密方式、物理信道及其映射机制的对应关系。


信道图表可视化

最后,我们来看看一个非常实用的功能——信道图表。通过点击“Wi-Fi扫描”部分的“信道列表图表切换器”,你可以选择不同的视图选项。

现在,你可以看到5 GHz频段和2.4 GHz频段的信道使用情况图表。观察这些信道被使用的密集程度,这是一个非常好的可视化工具。尽管信号可能重叠,但图表通过颜色协调清晰地展示了所有信息,非常直观。


本节课中我们一起学习了如何使用“网络分析器”应用进行全面的Wi-Fi网络分析。我们从获取应用开始,逐步探索了如何查看基础网络信息、分析当前Wi-Fi连接详情、执行局域网设备扫描、解读扫描结果中的各种标识,以及利用信号扫描和信道图表功能来评估无线网络环境。这些技能对于理解网络构成、诊断连接问题以及优化无线信号覆盖都非常有帮助。

122:50_6.3 AWS EC2项目 🚀

在本节课中,我们将学习如何在亚马逊云服务中创建一个AWS EC2实例。EC2代表弹性计算云。我们将创建一个虚拟计算环境,即一个基于云的虚拟机系统。

概述

本节教程将指导你完成AWS EC2实例的创建过程。我们将使用预配置的亚马逊机器镜像来设置服务器,并配置计算资源。整个过程从注册账户开始,到成功登录你创建的虚拟机结束。

第一步:创建AWS账户并开始免费试用

为了创建EC2实例,你需要一个AWS账户。注册账户需要一张信用卡和一个电话号码。

以下是创建账户的步骤:

  1. 访问AWS官网,点击注册按钮开始创建账户。
  2. 设置你的AWS账户名称。
  3. 账户类型选择“个人”模式。建议初学者从个人模式开始,以便熟悉系统,待熟练后再切换到专业模式。
  4. 在指定区域填写你的信用卡或借记卡信息。
  5. 提供一个电话号码以完成验证流程。
  6. 在提供的套餐选项中,选择免费的“基础套餐”模式。

完成注册后,使用你的AWS账户邮箱地址登录控制台。

第二步:登录控制台并启动虚拟机

登录后,你将看到AWS控制台选项。在“构建解决方案”区域,我们将专注于启动一个虚拟机。

以下是具体操作:

  1. 在“构建解决方案”选项中,选择“启动虚拟机”。
  2. 系统会提示你选择一个亚马逊机器镜像。AMI是一个预配置的模板,包含了操作系统、服务器和应用程序。
  3. 选择服务器所在的地理区域。例如,可以选择“首尔”区域。
  4. 接下来,选择AMI的操作系统类型。AWS提供了多种选择,如Windows、Linux等。
  5. 在本教程中,我们选择 Windows Server 2012 作为示例操作系统。
  6. 选择实例类型。实例类型决定了CPU、内存、存储和网络容量等配置。建议点击查看详情,了解不同选项后再做选择。

第三步:配置实例并启动

上一节我们选择了实例的操作系统和类型,本节中我们来完成剩余的配置并启动实例。

以下是配置和启动流程:

  1. 点击“下一步:配置实例详细信息”。
  2. 在“添加存储”页面,设置所需的存储大小。在个人模式下,最大容量通常为30GB。我们可以选择使用30GB,然后点击“下一步:添加标签”。
  3. 在标签页面,点击“添加标签”并为实例设置一个名称。标签由“键”和“值”组成。
  4. 点击“下一步:配置安全组”。安全组充当虚拟防火墙。
  5. 配置安全组名称和类型。请注意名为 RDP 的规则,它使用 TCP 协议,这是Windows远程桌面连接所必需的。
  6. 检查所有启动设置,确认无误后,点击“启动”按钮。这个操作将为你创建并启动虚拟机。

第四步:创建密钥对并连接实例

启动实例后,系统会提示你选择或创建一个密钥对。密钥对用于安全地连接到你的实例。

以下是操作步骤:

  1. 如果你没有现成的密钥对,选择“创建新密钥对”。
  2. 在“密钥对名称”字段中输入一个名称。
  3. 点击“下载密钥对”按钮。这将生成一个 .pem 格式的私钥文件,请妥善保存。
  4. 完成设置后,点击“启动实例”。
  5. 查看启动状态信息,并点击“查看实例”以监控实例的创建进度。

实例状态显示为“运行中”后,即可进行连接。

第五步:获取密码并登录EC2实例

要登录到我们创建的Windows实例,需要先获取解密密码。

以下是获取并登录的步骤:

  1. 在实例列表中,选中你的实例,然后点击“连接”按钮。
  2. 在连接对话框中,点击“下载远程桌面文件”。
  3. 接着,点击“获取密码”功能。
  4. 要生成密码,你需要使用在第三步中下载的密钥对文件(.pem 文件)。点击“浏览”上传该文件。
  5. 系统会使用 RSA加密私钥 来解密并生成你的登录密码。生成的密码将显示在窗口中。
  6. 重要:请务必记录此密码。建议将其写下或用手机拍照保存,后续登录时需要用到。

现在,使用下载的远程桌面文件和刚刚获取的密码,即可登录到你的AWS EC2虚拟计算机。

第六步:探索你的EC2虚拟机

欢迎使用你的EC2虚拟计算机!你现在登录的是位于AWS云上的Windows Server 2012系统。你可以看到IP地址等详细信息。

AWS EC2的强大之处在于它提供了多种操作系统选择。使用云技术,你不再受限于单一操作系统的物理计算机,可以根据需要轻松创建基于不同操作系统的实例,并尝试各种服务。

项目任务与总结

本节课中我们一起学习了如何从零开始创建并连接一个AWS EC2实例。

作为课后练习,请尝试以下操作:

  • 基于另一种操作系统(如Ubuntu Linux)创建一个新的EC2实例。
  • 探索AWS的其他服务,例如在“计算”类别下的EC2,以及在“存储”类别下的S3服务。
  • 创建这些服务,并了解它们的功能。

通过动手实践,你将更深入地理解云计算虚拟机的灵活性和强大功能。

123:增强现实与视频服务导论 🚀

在本课程中,我们将学习增强现实(AR)与视频服务这两大新兴技术。课程内容涵盖AR的应用、技术原理、关键算法,以及以Skype和YouTube为代表的视频通信与流媒体技术。我们将深入探讨这些技术如何工作,并了解支撑其运行的网络架构。


欢迎来到“增强现实与视频服务新兴技术”课程。

本课程是“从智能手机到物联网再到大数据”专项课程的一部分。我是延世大学的钟文钟教授,欢迎大家。

本课程的模块包括:AR应用、产品与商业;AR技术;SIFT、SURF、FAST、BRIEF、ORB和BRISK等特征提取算法。之后,我们将深入研究Skype和YouTube及其所使用的视频技术,特别是H.264/MPEG-4 AVC。接着,我们会探讨视频流媒体及MPEG-DASH技术。我们将仔细研究基于CDN(内容分发网络)的视频流媒体技术,这项技术目前非常流行。最后,我们将进行一个增强现实智能手机项目。


上一节我们概述了课程框架,本节中我们来看看增强现实与虚拟现实(VR)的市场概况。

根据2017年的数据,我们可以看到整体的市场份额。此外,还有基于VR和AR技术的头戴式设备市场份额。在分析现状的同时,我们也将展望未来,预测这些技术将如何在新设备中发展和扩张,包括设备的销售数量以及以美元计的整体市场份额。


了解了市场前景后,接下来我们聚焦于正在迅猛增长的市场细分领域。

我们将研究AR设备类型,重点关注智能手机、基于眼镜的系统、头戴式显示器系统,以及实验室设置(例如我实验室中的配置)。


在介绍了AR设备类型后,下一讲我们将聚焦于AR技术的核心组件。

紧随其后的是实际的增强现实处理技术。它是如何工作的?我们将了解其细节。此外,如果我们使用云卸载技术来减轻AR眼镜、头戴式显示器或其他支持AR服务的智能手机设备的负担,情况会如何?让我们将大部分计算负担转移到云端来协助处理。这将有助于节省智能设备或AR设备的能量,同时基于更强大的计算能力和更大的数据库提供额外服务。


深入探究增强现实处理过程,最具挑战性的部分之一是特征提取

我们将聚焦于其具体实现方式,并了解一些最常用的技术。这些是增强现实在特征检测与描述中使用的技术。由于这些技术几乎用于所有AR设备,我们将更仔细地研究它们。

以下是几种关键的特征提取算法:

  • SIFT:尺度不变特征变换。
  • SURF:加速稳健特征。
  • FAST:角点检测算法。
  • BRIEF:二进制鲁棒独立基本特征。
  • ORB:Oriented FAST and Rotated BRIEF。
  • BRISK:二进制稳健不变可扩展关键点。

在掌握了AR的核心技术后,我们将转向视频通信领域,深入研究Skype的视频会议技术。

我们将仔细审视Skype视频和音频编解码器的演进历程,但会更侧重于微软自2011年收购Skype以来所使用的视频编解码器,特别是H.264/AVC


接下来,我们将探讨YouTube的视频技术。

我们将了解YouTube所使用的HTML5和MPEG-DASH技术,并研究各种视频分辨率以及MPEG-DASH在YouTube中的应用方式。


为了理解自适应媒体流技术的工作原理,我们需要看看MPEG-DASH如何支持YouTube等视频流媒体系统的服务。

我们将深入了解服务器与客户端如何交互和协作。此外,我们还会研究分片MP4文件格式的细节。


然后,我们将聚焦于HTTP技术,并举例说明所有这些技术如何协同工作。我们还将深入研究MPD的细节,这非常重要,因为许多信息以及各种内容的结构提供方式,都隐藏在此规范中。我们也会探讨T模式,这是您在使用YouTube时经常用到的一项服务,例如用手指按住并拖动以查看视频的不同部分。

为了解释这一点,我们将深入了解I帧、P帧和B帧以及整体的视频服务技术。此外,我们将了解最流行的视频流媒体系统如何通过CDN技术获得支持。我们将研究其运行方式的优势。


以下是主要服务提供商及其特点:

  • 全球及区域性的CDN服务商。
  • 它们各自的技术特点与覆盖范围。

随后是实际的网络架构,了解这些功能块的作用以及集群是如何形成的。


以及它们按时间顺序的操作流程,以确保在您需要时能为您找到所需的视频服务信息。


最后,我们将进行一个与IKA Catalogta相关的项目,下载一个应用程序并进行一些实验,重点关注各种类型的应用。然后,我们将进行一个与Google Translate相关的项目,查看各种模式并进行测试。我们将通过这两个增强现实应用程序,来了解最先进的AR支持系统的功能极限与潜力。


我欢迎大家学习所有这些基于以上模块的讲座。

我邀请大家与我一同完成“增强现实与视频服务新兴技术”这门课程。欢迎大家,并期待在讲座中与大家相见。谢谢。


在本节课中,我们一起学习了“增强现实与视频服务新兴技术”课程的总体框架。课程从AR与VR的市场分析入手,逐步深入到AR设备类型、核心技术(特别是特征提取算法),然后转向视频服务技术,涵盖了Skype的编解码器、YouTube的流媒体技术(MPEG-DASH)、CDN架构,最后以两个AR实践项目收尾。这门课程旨在为大家构建一个从理论到实践的完整知识体系。

124:1_1.1 增强现实(AR)介绍 👓

在本节课中,我们将学习增强现实(AR)的基本概念。课程将从AR的应用、产品和商业领域的第一部分开始,首先介绍增强现实的定义、类型、发展历史以及其当前变得重要的原因。


增强现实的定义

增强现实是一种技术,它能够将计算机生成的虚拟文本或图像实时叠加到用户对现实世界的视野之上。

公式AR = 真实世界视图 + 计算机生成的虚拟信息


增强现实的用户界面类型

增强现实可以使用的用户界面类型多种多样。以下是主要的几种:

  • 屏幕与显示器:例如智能手机、平板电脑或电脑屏幕。
  • 头戴式设备:包括头盔、面罩、眼镜、护目镜和头戴式显示器。
  • 其他表面:例如车窗或汽车挡风玻璃。从实践角度讲,任何可用于现实世界视图的表面基本上都可以作为增强现实的显示界面。

手持式增强现实显示设备

在手持设备中,智能手机是实现增强现实的最佳选择。

智能手机是增强现实模型取得初步商业成功的原因。这是因为智能手机拥有强大的处理能力、优质的摄像头和显示屏。同时,这些设备的便携性使其成为增强现实的完美平台。

例如,下图展示了在智能手机上使用增强现实的一个模型。


增强现实眼镜

对于个人用户而言,增强现实眼镜是实施增强现实的第二佳平台。

谷歌眼镜是最早展示出在眼镜上实现增强现实潜力的产品之一。从外部看,其他人可能看不到投射给个人用户的内容,这带来了信息隐私方面的真正好处。此外,可以看到它配备了一个摄像头模块,摄像头捕捉到的信息被检测后,各种信息和字符会被投射到镜片内侧,仅供用户查看。


头戴式显示器

头戴式显示器比眼镜稍大一些,其功能和性能当然也更强大。

如下图所示,这是一种能够提供沉浸式增强现实体验的移动增强现实设备。

这里展示了一个飞机维护和航空领域的应用示例。


增强现实的描述

接下来,我们将讨论增强现实的描述方式。

虚拟文本或图像可以叠加在用户现实世界视图中的选定对象上。增强现实生成的叠加虚拟文本或图像是关于该选定对象或其周围相关对象的含义,其选择方式旨在增强为用户定制的信息。

因此,增强现实基于情境感知计算,这意味着显示的内容是经过选择并为用户定制的。如果你使用增强现实,显示在设备上的信息将根据你想看到的内容进行定制。

对于增强现实用户而言,现实世界和虚拟对象共存于同一视点。例如,当用智能手机观看博物馆中的一幅画时,增强现实设备可以叠加关于这幅画或艺术杰作的信息,你可以看到信息覆盖在原画之上。请注意,这只是一个演示;在实际的增强现实设备中,通常不会如此大面积地覆盖对象,以免妨碍对原始对象的观看。


增强现实开发环境

这是一个曾在我实验室与研究生们一起使用的增强现实开发环境。它基于我们早期测试和开发增强现实的模型之一。如图所示,我们的测试环境集成了测量系统功率和响应时间的所有单元。当然,也存在更大的单元。目前,我们正在更多平台上进行开发,包括头戴式显示器、眼镜以及智能手机。


增强现实与虚拟现实的简史

由于增强现实和虚拟现实共存且有一些相似之处,但也存在许多差异,我们需要了解两者。

  • 1901年:作家弗兰克·鲍姆首次提出了“角色标记器”的概念,即一种覆盖在现实生活(尤其是人)之上的电子显示器。例如,一个人上方或附近会显示其姓名、年龄或其他对观看者有用或需要的信息。这是最初的概念。
  • 1989年:杰伦·拉尼尔创造了“虚拟现实”一词及其概念模型。虚拟现实与增强现实不同。在虚拟现实中,你拥有一个虚拟的、动画化的环境,而非真实世界。其优点在于,这个世界可以是你想要的任何样子,可以被完全设计和动画化。此外,你在那个虚拟世界中互动的角色将是一个化身或某个对象,由你的动作控制。因此,虚拟现实世界中的一切都是虚构的,包括你自己,你可以被转化为某个对象、角色或化身。
  • 1990年:增强现实的概念被整合提出。增强现实与虚拟现实之间的区别需要进一步审视,我们将在接下来的几页内容中进行探讨。

为何现在学习增强现实?

增强现实听起来像是一项相当古老的技术,因为其术语在1990年就已提出。那么,为什么我们现在要学习它?它为何现在变得重要?

探究其原因如下:

  • 高分辨率摄像头:智能设备(包括头戴式显示器、智能手机和眼镜)上的高分辨率摄像头能够实现精确的图像和物体识别。
  • 强大的处理能力:随着功能强大的CPU、GPU的发展以及各种其他软件技术的进步,使得捕捉到的图像能够被非常快速地处理,这是增强现实现在有用的另一个原因。
  • 快速且充足的内存:这涉及图像处理,需要保存图像然后进行处理。这意味着我们必须拥有快速且充足的内存,这是现代技术的真正优势之一。
  • 高清显示屏:我们的智能设备、各种头戴式显示器以及眼镜上的高清显示屏,使我们能够准确地显示附加对象或文本脚本,从而用信息增强现实。
  • 网络连接:我们无法在设备本身完成所有处理,因为智能设备、眼镜类增强现实设备或头戴式显示器大多是便携式的。便携设备设计轻巧且电池能量有限。因此,当我们拥有可用的网络连接时,我们就不必在那些设备(如智能手机、眼镜或头戴式显示器)上完成所有的处理、信息检索和字符生成。我们可以依赖服务器、云端或增强现实计算机来协助我们,但这意味着我们需要通过网络(无线和有线网络)连接到它。随着这些技术的进步,增强现实正发挥其真正潜力,成为一种真正的服务和产品。
  • 多样化的新平台:正如前面幻灯片所解释的,我们现在拥有非常强大的智能手机、智能设备、智能眼镜、智能手表、可穿戴物联网设备,所有这些技术都可以作为增强现实的平台。

因此,增强现实只会变得更好、更广泛,在从汽车到驾驶设备、无人机控制等各个领域得到更频繁的应用。正因为如此,技术将不断演进,使其更快、更准确、信息更丰富。此外,功耗将下降,并将出现新的节能方法,从而延长设备的使用寿命。它将更易于使用、更便携、更便宜,拥有更多功能和特性,并且更可靠、更耐用。增强现实的所有这些特性正在成为可能。我个人也正在与我的研究生进行研究以实现这些目标。因此,可以预见增强现实将以更强大的姿态、更丰富的形式出现在几乎每一种产品和每一个方面。这就是我推荐你深入学习本课程后续内容的原因,它将详细解释增强现实是如何实现的。


本节课中,我们一起学习了增强现实的基本定义、主要设备类型(如智能手机、眼镜和头戴式显示器)、其发展简史,以及推动其在当今时代蓬勃发展的关键技术因素(如处理能力、显示技术和网络连接)。增强现实作为一项融合现实与数字信息的技术,正随着硬件和软件的进步而不断演进,拥有广阔的应用前景。

125:2_1.2 AR与VR的比较 🎮👓

在本节课中,我们将比较增强现实与虚拟现实,检查它们的定义、相似之处与不同之处。


概述

我们将从定义出发,探讨虚拟现实与增强现实的核心区别,并介绍增强现实所依赖的关键技术。理解这些概念是掌握后续更深入技术内容的基础。


AR与VR的定义与核心区别

上一节我们介绍了新兴技术的背景,本节中我们来看看增强现实与虚拟现实的具体含义。

虚拟现实 的用户会完全沉浸在一个人工构建的、非真实的环境中。这个环境完全是虚构的。这非常适合游戏场景,因为你想让游戏玩家体验一个完全不同的世界。用户(玩家)通常会使用一个虚拟化身在虚拟现实空间中存在和互动。

用户在虚拟现实中的视野与现实环境不同。因此,幻想和错觉在虚拟世界中很容易创造。

增强现实 是现实生活与虚拟现实的混合。增强现实用户能够获取关于位置、物体的有用信息,并且可以与虚拟内容进行交互。增强现实基于现实世界的视角,其中特定的物体或项目通过添加信息、某种描述或象征性符号得到增强,以帮助用户完成特定任务。

而虚拟现实则完全是一个由虚构角色构成的、可以与之互动的虚构环境。

增强现实用户可以区分叠加的虚拟物体,这一点很重要。这样你可以识别出哪些部分被增强、添加或提升了。

增强现实用户可能能够开启或关闭特定功能。这是必要的,以便你可以选择处于何种模式以及需要哪些信息。此外,在某些情况下,增强现实显示器上可能有过多信息,遮挡了现实世界的视野,你可能不希望如此。在这种情况下,你需要选择显示何种模式与内容,增强现实技术应能让你正确地做到这一点。


现实-虚拟连续体与混合现实

与虚拟现实相比,增强现实用户通常感觉与现实世界的分离感较小。这是因为他们看到的是现实世界,只是世界被增强了。

虚拟角色或文本被添加到现实世界中,使得现实世界在信息层面得到增强。幻想和错觉可以被创造并叠加在现实世界视角上,这是增强现实的真正优势。

从定义的角度看,可以这样理解:一边是真实环境,一切都是真实的,没有虚构;另一边是虚拟环境,即虚拟现实领域。在虚拟现实领域,一切都是虚构的。此外,你在虚拟现实环境中存在的角色也是一个虚构角色,尽管它可能以某种方式被动画化,看起来像你,但总体上那不是你。

在真实环境与虚拟环境之间的这个混合现实领域,就是增强现实领域。我们可以这样看待:该领域包含基于现实的虚拟合成,而基于虚拟的现实合成则被称为“增强虚拟性”。

这意味着什么?可以这样想:增强现实是一个现实世界视角,其中添加了虚拟物体或虚拟文本。那么,什么是“增强虚拟性”?可以这样理解:你可能有一个虚拟现实领域,一切都是完全动画的。但当你打开某扇门或某个盒子时,你实际上可以看到一部分基于某个真实摄像头的现实世界景象。这就像在虚拟现实领域中拥有一个现实世界视角,那就是增强虚拟性。而增强现实是在现实世界中,只有部分文本、特定物体或特定角色被添加到现实世界视角中。这就是我们所说的区别。


增强现实的另一种定义与技术基础

另一种定义基于此:如果存在一个结合了现实世界和虚拟现实的领域,同时结合了一个我们可以共存于其中的三维图像/空间,并且因为我们在现实世界中而能够实现实时交互。那么,这三个领域交叉的区域,就是增强现实真正特性得以体现的地方,基于这个定义。

那么,基于增强现实的支撑技术有哪些?以下是主要类别:

  • 传感器基础:例如全球定位系统用于告知你的经纬度位置;陀螺仪传感器显示设备的运动状态;加速度计告诉你沿某个方向加速或减速的快慢。这些传感器采集的数据可用于各种设备,使增强现实更真实、更精确。
  • 视觉基础:这是我们本课程后续讲座中将深入研究的领域。其中会用到计算机视觉技术,例如OpenGL等开源图形库工具。我们使用这些工具来创建增强现实技术,以检测场景中的物体,识别我们感兴趣的对象,然后找到恰当的特征描述或信息显示在其附近或之上。
  • 混合追踪基础:这就像是传感器基础与视觉基础的结合。对于典型的应用,如户外增强现实,你需要两者兼具:既需要传感器,也需要视觉基础的增强现实技术支持。

总结

本节课中,我们一起学习了增强现实与虚拟现实的核心区别。我们明确了VR构建完全虚构的沉浸环境,而AR则在现实世界基础上叠加虚拟信息。我们还探讨了“现实-虚拟连续体”的概念,区分了增强现实与增强虚拟性。最后,我们介绍了实现增强现实的三大技术支柱:传感器基础、视觉基础和混合追踪基础,为后续深入学习奠定了基础。


参考资料:(课程中提及的参考文献,建议进一步阅读)

126:3_1.3 AR应用与商业模式(第1部分)📱➡️🌐➡️📊

在本节课中,我们将学习增强现实(AR)技术在不同领域的具体应用及其潜在的商业模式。AR不仅仅是游戏和滤镜,它在建筑、考古、商业、教育、医疗乃至军事等多个严肃领域都发挥着重要作用。

🏗️ 建筑与规划

上一节我们介绍了AR的基础概念,本节中我们来看看它在建筑与规划领域的应用。建筑与景观的规划设计绝对可以从增强现实技术中受益。

以下是AR在建筑领域的具体应用方向:

  • 建筑与景观规划:利用AR技术,设计师可以将虚拟建筑模型叠加到真实环境中,直观地评估设计效果。
  • 遗址重建:通过将考古信息叠加到对地形的扫描结果上,AR可以帮助我们可视化地重建历史遗迹的原貌。

当然,你可以看到增强现实技术如何真正地为这些领域做出贡献。

🎨 艺术与表演

从建筑规划转向创意领域,AR同样大有可为。在艺术与表演方面,全息与3D设计、动画设计辅助、乐谱辅助、声音协调服务以及图像与声音协调服务,这些都是增强现实技术可以发挥巨大作用的地方。

🛒 商业应用

在商业领域,AR的应用正变得越来越普遍。它可以帮助用户在商品目录中选择产品,查找关于某个产品或物体的详细信息,以及获取实时库存和销售信息。目前已经有一些技术支持上述功能。

我将在后续课程中深入讲解这些技术,但显然,你可以看到增强现实在哪些方面可以如此有效。对于杂志上只是一张图片的商品目录,它并不能给你带来良好的感受。但如果应用了增强现实技术,你可以将产品提升到一个新的层次:看到正在销售的实际物体,可以旋转它,从不同角度和光照条件下观察,甚至放大以看清表面的纹理。

这些功能,以及产品的操作方式,都可以基于AR服务提供商提供的信息来展示。这类功能使产品更具吸引力。此外,还有各种方法可以为客户创造额外的销售亮点,这些亮点是简单的图片和目录无法清晰展示的产品特性。

🏫 教育领域

接下来,我们看看AR如何变革教育。AR可以为学生提供定制化的辅助文本、图形、视频和音频支持。它还能创造对历史事件的交互式计算机模拟体验,并用于探索。

你可以看到它在这里的应用潜力:让学生和老师“回到”过去,前往他们无法亲身到访的地点。通过增强现实技术,他们可以看到如果没有这项技术支持就无法看到的事物。显然,AR有无数种方式可以提升教育体验。

🏥 医学科学与工程

从教育转向更专业的医学领域,AR的应用同样关键。这包括对患者生命体征的健康扫描。换句话说,当观察某个图像或扫描某个特征时,医生或护士可能无法捕捉到每一个微小而准确的细微迹象,然而机器可能能够以非常精确的方式捕捉到这些信息。

此外,在医学图像处理方面,例如查看CT扫描、MRI或X光片时,分析整体图像的人可能不易察觉某些细节,但增强现实设备或许能够发现医生或护士未能发现的东西。

机器人手术支持方面,目前有许多机器人手术技术,它们不是进行大切口的大型手术,而是让小型机械臂进入并执行手术程序,从而显著缩短恢复时间。为了进行这种进入非常狭窄空间并对患者进行极其精确治疗的机器人手术,医生无法进入并打开那个部位进行观察。因此,增强现实的视觉呈现,以及精确定位摄像头所见的特定事物,可能会极大地帮助机器人手术。

麻醉程序支持方面,当然,当你进行这类使特定区域麻木的程序时,针头需要进入特定位置,例如神经流经的地方,必须在非常精确的水平上释放一定量的麻醉药物。那么针头进入多深?它是否到达了正确的神经细胞?它在脊髓中的位置是否正确,以便安全地释放适量的药物?所有这些类型的程序都可以通过增强现实来增强,以指导医生和护士以正确的方式进行操作。

⚔️ 军事与灾难管理

最后,我们探讨AR在军事与灾难管理领域的应用。在这方面我们可以做很多事情,我也在这一领域进行大量研究。

这包括军事战斗训练态势感知辅助信息。什么是态势感知?这是一项技术,通过它我们可以获得整个战场的全景视图,并想弄清楚正在发生什么、我们的防御状况如何、应该将军队部署在哪里、潜在的攻击可能如何发生以及敌人现在的位置。所有这些都可以通过态势感知辅助增强现实设备来提供。

因为军事应用大量使用伪装技术,使得即使敌人在野外,你也无法看到发生了什么。他们总是处于某种隐蔽位置或使用特殊覆盖物,以至于无法被轻易用人眼检测到。然而,增强现实设备或许能够通过特定模块检测到非常微小、不规则的运动或热辐射,从而发现那里存在的东西,比如军事敌人或恐怖袭击的迹象,而这些可能不易被人眼察觉。

特别是在战斗情况下,或者已经发生恐怖袭击威胁之后,参与灾难恢复或军事防御行动的人员会进入一个非常混乱、压力巨大的情境,他们必须立即做出反应和行动。因此,他们可能无法发现那些隐蔽的小细节,而增强现实在这方面可以提供真正的帮助。

这一切都是战场C2技术的一部分,它可以支持指挥与控制,包括规划与评估。所有这些结合起来构成了军事应用的整体范畴。

此外,对于灾难管理程序和位置引导,当你进入灾区时,很难判断发生了什么。而且,当你匆忙进行灾难管理时,你可能不知道该区域原来有什么或预设了什么。因此,在灾难发生后去查看时,你可能无法识别这个区域原本有什么。这时增强现实就能真正发挥作用,告诉你原始位置在哪里、那里曾经有什么,以及建筑物下方或某个设施内部需要小心注意的东西。此外,寻找人员、发现可能有人被困的特定房间,所有这些都可以通过增强现实技术得到极大帮助。


本节课中,我们一起学习了增强现实(AR)技术在建筑、艺术、商业、教育、医疗以及军事与灾难管理等六大核心领域的广泛应用。可以看到,AR技术正通过提供沉浸式、交互式和信息叠加的体验,深刻改变着我们规划、学习、购物、治疗乃至应对危机的方式。这些具体的应用场景,也为AR技术未来的商业模式创新奠定了坚实的基础。

127:4_1.3 AR应用和商业模式(第2部分)📱➡️🌐➡️📊

在本节课中,我们将继续探讨增强现实(AR)在体育娱乐、旅游观光和交通运输等领域的应用,并深入了解AR相关的商业模式和平台。我们将看到AR技术如何从多个维度改变我们的体验和商业运作方式。

🏈 体育与娱乐应用

上一节我们介绍了AR在游戏和基础信息展示中的应用,本节中我们来看看AR在专业体育和娱乐中的具体场景。

比赛辅助信息是AR在体育领域的重要应用。例如,在美式足球比赛中,有时很难判断“首攻线”的位置,因为标记物位于场地两侧。当观众注意力集中在赛场中央时,可能看不到这些标记。通过增强现实技术,可以在电视屏幕上绘制出这条线,使观众能清晰地看到球队需要到达的目标区域。这项技术已在足球比赛中应用,使观赛体验更有趣、更易懂。

此外,在网球比赛中,有“鹰眼”等系统。网球速度极快,裁判很难判断球是否压线、在线内还是线外。因此,利用增强现实技术来识别球的落点位置。这类系统已被广泛使用,并且会变得越来越好、越来越普及。

除了辅助判罚,AR还能提供比赛规则与指导信息。在观看比赛时,将特定、易懂的比赛规则显示在屏幕一侧的特定位置,有助于观众理解裁判的判罚。

团队目标与战术指导信息则可用于场边教练指导球队,或队员自身使用。如果队员佩戴增强现实眼镜,他们可以实时看到特定时刻需要移动到的位置,或团队执行特定行动(如自行车队形或其他团队协作)时需要保持的阵型。他们的位置和战略部署可以通过AR设备得到辅助。

💰 商业广告与赞助

从纯粹的比赛角度,这可能不那么重要。然而,无论是职业还是业余比赛,通常都需要赞助资金。商业广告实时叠加到用户视野中是另一个非常重要的方面。广告可能是获得比赛资金、装备、以及租用所需场馆的资源。因此,尽管这不直接关乎运动本身,但它具有明确的商业价值,能让你在特定地点使用合适的设备进行比赛。

🗺️ 旅游与观光应用

旅游观光无疑是增强现实技术大展身手的绝佳领域。

以下是AR在旅游中的主要应用方向:

  • 历史事件、地点与物品的导览展示:AR可以将历史信息叠加在实景上。
  • 旅游路线展示:显示酒店、汽车旅馆、餐厅和洗手间的位置。
  • 导航工具:这在身处异国、无法读懂所有标识时尤其有帮助。

🗣️ 翻译与口译支持

翻译与口译是AR的典型应用。在后续课程中,我将展示一些已经存在的支持此类功能的应用。

以下是AR在语言支持方面的具体表现:

  • 外语翻译:文本、标识和菜单的翻译都能得到AR应用的支持,未来此类应用会越来越多。
  • 增强现实语音翻译支持:将声音输出翻译成外语。因此,AR可用于显示语音信息(作为声学系统)。此外,就像观看外语电影时,演员的台词以字幕形式显示在画面上一样,AR也能实现类似功能,将翻译文本直接叠加在你的视野中。

🚗 交通运输应用

在交通运输领域,AR同样发挥着重要作用。

导航信息显示在汽车挡风玻璃上已经实现。此外,敌方目标获取信息也早已显示在包括喷气式飞机在内的军事载具和其他作战系统上。

对于民用汽车而言,这无疑是极具吸引力的领域,可以辅助驾驶导航和预防事故。

接下来是事故预防信息警报本身。换句话说,在挡风玻璃上,如果有物体进入特定区域并可能对驾驶员造成事故风险,该物体可以被标记特定颜色,以引起驾驶员的特别注意,从而避免事故,保障所有人的安全。

🏢 AR平台与商业模式

了解了广泛的应用场景后,我们来看看支撑这些应用的AR平台和相关的商业模式。

在增强现实领域,存在一些AR平台,它们提供增强现实基础框架和工具箱,帮助提供定制服务。下图列出了一些提供此类服务的公司产品。

增强现实产品与游戏领域则有巨大的开发空间,公司可以开发和销售自己专属的AR产品。产品类型包括书籍、游戏等等。

然后是定制品牌应用开发,直接与品牌营销人员和代理商合作。这将使营销人员能够结合独一无二的定制增强现实体验、3D建模服务以及与其他软件或平台的集成。提供相关技术的公司如下图所示。

此外,还有行业特定的垂直增强现实解决方案,服务于利基商业垂直领域。例如奢侈品零售、医疗服务、制药和化妆品公司。

最后是DIY(自己动手) 模式。因为许多人希望开发产品,他们不想完全依赖其他公司,而是希望自己完成概念验证,测试产品性能,并添加功能。之后,他们可能就此完成,或者将最终设计(包括所有硬件和软件组件)交给其他公司的工厂进行大规模生产。无论哪种方式,你都希望能够使用DIY AR系统自行进行研发。支持此模式的公司列在下图中,它们提供内容管理工具、提供简单的体验(如启动单个视频或简单动画)、提供测试或创建简单AR体验的环境、提供AR查看器、定制服务和白标选项。

📚 课程总结

本节课中,我们一起深入学习了增强现实(AR)技术在体育娱乐、旅游观光、交通运输等多个领域的实际应用案例,从辅助判罚、战术指导到商业广告、语言翻译和行车安全。我们还探讨了AR产业的生态系统,包括提供基础工具的平台、开发专属产品的公司、定制化服务以及支持自主研发的DIY模式。这些内容展示了AR技术如何从概念走向实践,并正在塑造未来的交互方式和商业模式。

以下是本讲使用的参考文献,推荐给大家。

128:5_1.4 AR市场分析 📊

在本节课中,我们将学习增强现实(AR)的市场分析,包括其历史市场份额、未来增长预测、主要应用领域以及影响市场发展的关键技术考量。


市场现状与历史份额 📈

上一节我们介绍了AR的基本概念,本节中我们来看看其市场表现。首先观察2011年第二季度AR与VR(虚拟现实)头戴式显示设备的市场份额情况。

全球主要厂商包括三星、索尼、Facebook、TCL、HTC等。从服务类型看,AR设备主要分为以下几类:

以下是AR设备的主要分类:

  • AR有线头戴式显示器:需要连接主机设备。
  • AR独立头戴式显示器:具备独立运算能力。
  • AR无屏查看器系统:依赖智能手机等外部屏幕。

当时,AR市场整体份额仅占10.1%。然而,展望2022年,AR市场预计将显著增长至38.1%。这并不意味着VR市场在萎缩,而是表明AR市场将呈指数级增长。

未来市场规模预测 🚀

了解了当前份额后,我们进一步展望未来。从整体市场规模预测图可以看出,AR和VR的市场总值都在持续上升。

预计到2021年,市场规模将达到数百亿美元。这种增长趋势令人振奋,也是推动AR领域研究的重要动力。

主要应用领域 🎮

那么,AR和VR设备的主要市场将集中在哪些领域呢?以下是预计将显著增长的应用领域:

以下是AR/VR的主要应用市场:

  • 视频游戏:预计将爆发式增长。
  • 医疗保健
  • 工程
  • 现场活动
  • 视频娱乐

在商业领域,房地产、零售以及军事和教育应用也将大幅增长。

关键技术考量与情景分析 ⚙️

由于AR和VR是尖端技术系统,其发展高度依赖技术的演进。因此,我们需要考虑不同的技术发展情景。

以下是三种可能的市场发展情景:

  1. 延迟采用情景:AR/VR用户体验改善缓慢,无缝移动支持、电池续航、延迟、显示、安全与隐私等问题阻碍市场增长。
  2. 基本情景:头戴式显示器更受欢迎,AR/VR技术逐步改进,虽然在移动性和电池寿命上存在限制,但技术得到相对良好的应用。
  3. 加速采用情景:到2025年,头戴式设备从利基市场发展为通用计算平台,用户体验显著改善,蜂窝网络和电池技术的突破实现了可扩展的移动性和超长续航。

对比这三种情景,差异显著。基于当前技术发展趋势,加速采用情景很可能实现,甚至可能超越预期。

总结 📝

本节课中我们一起学习了AR市场的分析。我们回顾了其历史市场份额,展望了未来的巨大增长潜力和主要应用领域,并分析了影响市场发展的关键技术路径。作为该领域的专家,我相信通过持续开发服务、系统和设备,我们将共同推动加速采用情景成为现实。


参考图表:


129:AR系统组件与工作流程 📱➡️🌐➡️📊

在本节课中,我们将学习增强现实(AR)技术,首先探讨AR系统的核心组件及其工作流程。

概述

我们将从AR系统的构成部分入手,了解内容提供方、服务器、通信协议以及用户端软件框架等关键元素。接着,我们会详细解析AR系统的工作流程,包括检测、跟踪、渲染和交互等环节如何协同运作。

AR技术组件

AR系统主要由内容提供方和基于服务器的系统构成。

内容提供方负责存储AR应用所需的数据。部分内容可以经过精简,存储在便携移动设备上,例如智能手机、头戴式显示器或AR眼镜。然而,原始数据库的主体部分通常位于内容提供方的服务器上。

内容文件的数据格式多样,主要包括:

  • 3D图形资源
  • 地理信息
  • 文本
  • 图像
  • 视频
  • AR内容容器
  • 兴趣点信息

这些构成了我们研究的核心数据领域。

通信协议

在服务器与用户设备之间,需要通过通信协议进行交互。

协议部分包含了视频传输协议和网络协议。关于这些协议的更多细节,将在本课程后续的讲座模块中详细讨论。

用户端软件

现在,我们来看看用户端。用户端主要包括软件框架、应用程序以及浏览器。

软件框架单元集成了运行AR应用所必需的软件,包括固件、操作系统和用户应用软件。这里也包含大量的视频处理软件,本课程后续讲座会详细解释。

应用程序和浏览器单元则负责支持具体的AR应用设备。它们决定了当完整的增强现实信息被提供后,如何被用来服务于特定的应用场景。浏览器则用于在更广泛的领域中查找信息,以便准确地检索定制化应用或用户设计、所需的信息。

核心处理模块

在用户端,需要执行几个核心的处理模块。以下是这些模块的详细介绍:

检测与跟踪技术:此模块专注于识别单元,涉及计算机视觉、标记与特征识别、跟踪传感器以及摄像头API的执行。

渲染过程:此过程负责支持可视化,由支持计算机图形API、视频合成和深度合成的技术构成。

交互技术:此部分需要设计用户界面(UI),确保其易于使用且功能高效。此外,还包括手势识别、语音交互和触觉反馈技术

触觉技术是指在虚拟或增强现实领域中,虽然你并未实际触摸到物体(例如在空中按下按钮),但设备会通过产生特定的震动或脉冲,让你获得仿佛触摸或推动真实物体的触感。简而言之,它是一种为虚拟动作提供真实触感的虚拟技术。

AR系统工作流程

上一节我们介绍了各个核心模块,现在来看看它们如何在AR系统中协同工作。

检测模块将信息传递给AR系统中的跟踪单元。同时,AR系统的交互部分会与跟踪信息结合,并一同发送给渲染单元。

接着,这些信息将与来自用户的任何形式的输入相结合。用户的输入会通过用户界面或触觉界面等单元纳入系统,并汇入渲染单元。

最终,所有输入信息经过渲染处理,生成视觉反馈呈现给用户。用户可以通过多种设备查看这些信息,例如:

  • AR眼镜
  • 头戴式显示器
  • 车窗(作为显示屏)
  • 电脑显示器
  • 笔记本或笔记本电脑显示器
  • 平板电脑显示器
  • 智能手机

总结

本节课中,我们一起学习了增强现实(AR)系统的基本构成。我们了解了从内容服务器到用户设备的数据流,认识了软件框架、应用程序和浏览器在用户端的作用,并详细探讨了检测跟踪、渲染和交互(包括触觉技术)等核心处理模块。最后,我们梳理了这些模块如何协同工作,最终将增强后的视觉信息呈现给用户。掌握这些组件和工作流程是理解更复杂AR应用的基础。


以上是我所使用的参考资料,推荐给你。谢谢。

130:7_2.2 AR特征检测与描述技术 📱➡️🌐➡️📊

在本节课中,我们将学习增强现实(AR)的核心技术之一:特征检测与描述。我们将探讨如何识别现实世界中的物体,以便在其上叠加数字信息或物体,并了解实现这一过程所需的技术要求与算法。


增强现实特征检测

为了在现实世界视图中的特定实体上显示信息或放置物体,首先必须检测到该物体。你需要决定在现实世界视图中选择哪个部分来叠加文本、图像或角色。这需要特征检测与描述技术。

增强现实特征检测是指识别图像的特征基元。这一过程通过突出显示独特的视觉线索来完成。目前存在多种特征检测技术,其目标是高效、有效地提取稳定的视觉特征。

这意味着,如果计算处理任务过于繁重,或者计算方式不正确导致结果出错,那么增强现实就无法实现。正因如此,早期的设备无法支持增强现实。如今,增强现实之所以变得强大,是因为我们能够高效、快速地进行处理,同时降低计算量,从而节省AR设备的电池消耗。此外,检测结果非常可靠、准确,叠加的信息也非常有效。因此,整体效果和效率的提升使得增强现实应用成为可能,这也是AR如今如此流行并将在未来更加普及的原因。


增强现实特征检测器的要求

上一节我们介绍了特征检测的基本概念,本节中我们来看看一个合格的AR特征检测器需要满足哪些要求。

首先,它必须对变化的成像条件具有鲁棒性。增强现实不同于虚拟现实,后者的环境和角色都是虚构的。增强现实是在你当前使用的眼镜等设备上,看到真实世界的视图。你不可能固定在一个位置盯着一个物体看,你会在日常活动、工作或娱乐中移动并从不同角度观察物体。

因此,你对特定物体或环境的视图会持续变化。光线、角度以及周围环境都会不断改变。基于这些变化的成像条件,增强现实特征检测技术必须保持鲁棒和可靠。即使你在不同光线、环境或角度下观察同一物体,它也应该能以相同的方式检测到该物体,并正确提供你所需的信息。

其次,它需要满足应用的服务质量要求。服务质量包括设备续航时间,因为无论设备多好,如果只能使用五分钟,它就没有市场价值。此外,信息显示的准确性也至关重要。使用AR眼镜的用户不会一直盯着同一个物体等待信息弹出。他们需要立即看到叠加在现实视图上的增强信息或物体,延迟可能需要低至10到50毫秒甚至更快。

因此,设备必须在用户视线移开、新视图进入视野范围之前,快速、准确且低功耗地完成整个AR处理过程。这些服务质量要求对于以特定方式使用的产品来说必须得到满足。


AR特征检测的影响因素

了解了检测器的要求后,我们来看看哪些因素会影响AR特征检测的效果。

影响因素包括环境,因为环境会持续变化。视点变化也很重要,即使在相同环境下,从不同角度观察也会得到物体不同的视图。

图像尺度是另一个关键因素。当你靠近或远离物体时,物体会显得更大或更小。无论是通过放大镜观察细节,还是宏观地看整体景观,物体的尺寸和图像分辨率都会发生显著变化。你的AR设备需要能在放大和缩小的尺度下正常工作。

分辨率也会产生影响。你的摄像头可能具有不同的分辨率,分辨率可能根据光线设置、设备剩余电量或网络连接状况而改变。如果网络变慢、吞吐量降低、数据速率变小、排队延迟增加,但你又需要网络支持来获取AR服务,那么摄入图像的视频分辨率可能会降低。

光线同样是一个重要因素。环境是明亮还是黑暗?在非常黑暗的情况下,如果设备配备红外功能,可能会切换到红外模式。此时,摄入图像的红外摄像头分辨率可能与白天的普通摄像头不同,分辨率可能会下降。

我们将在本课程最后一个模块的“增强现实智能手机测试项目”中观察这类现象。请坚持学习,我们将在一些有趣的应用程序上进行测试。


兴趣点与特征描述符

在兴趣点检测过程中检测到的兴趣点,可用于获取特征描述符。其基本方法是以检测到的兴趣点为中心,划定一个圆形或方形区域。

如下图所示,图像中有许多圆圈,圆圈的大小根据区域的尺度进行匹配,因此有大圆也有小圆。图中使用了圆圈,有时也会使用正方形来表示被识别的物体。

特征检测是指检测具有独特兴趣点的图像特征。特征描述符则使用一个采样区域来表征这些图像特征。具体是如何实现的呢?我们将在本课程及后续课程中详细讨论。

基于检测到的兴趣点周围的图像块进行采样,是特征检测引擎最主要的工作区域。


特征检测与描述方法

以下是两种主要的特征检测与描述方法。

方法一:使用频谱描述符
这种方法通过考虑局部图像区域的梯度来生成频谱描述符。支持此技术的一些算法包括SIFT和SURF,我们后续会详细学习。

  • 梯度是什么?在特征检测的方法一中,梯度用于局部图像区域处理。你可以这样理解:梯度是导数的多变量推广。导数是单变量(通常是标量)的导数,而梯度作用于多个变量,通常用向量表示。使用方法一中的梯度,将使我们能够生成频谱描述符。

方法二:使用局部二值特征
这种方法通过简单的点对像素强度比较来识别局部二值特征。这里所说的点对像素强度比较,就是基于局部二值特征。我们试图做的是,不使用涉及微分过程的梯度,而是采用更简单、计算负担更轻的方法。因此,你可以更快地执行它们,并且设备的能耗显著降低。这就是这些技术的目的。

  • 能够在特征检测中使用此方法的算法包括BRIEF、ORB和BRISK,我们当然也会详细学习。

特征检测与描述方案

以下是一些特征检测与描述方案。

  • 同时进行检测与描述的方案:SIFT、SURF、ORB、BRISK。
  • 仅进行特征描述的方案:BRIEF。
  • 特征检测器方案:FAST。

我们将详细研究这些算法。


AR方案混合匹配

什么是混合匹配?特征检测的结果是在特定尺度下被识别为兴趣点的一组特定像素。可以将不同的特征描述方案应用于不同的兴趣点,以生成特征描述。这是因为某些方案在处理特定类型数据时具有独特的优势。因此,你可能会希望混合匹配特定的方案序列,以实现特定的功能,同时达到一定的可靠性、鲁棒性、准确性,并且足够快速和低功耗。

基于应用和兴趣点特性进行方案选择是可能的,你会看到一些混合匹配来创建特定算法,例如ORB,我很快会详细解释。

这些是我使用的参考文献,也推荐给你,谢谢。


总结

本节课中我们一起学习了增强现实特征检测与描述技术。我们了解了AR特征检测的基本概念、检测器需要满足的鲁棒性和服务质量要求,以及环境、视点、尺度、分辨率、光线等因素对检测的影响。我们还介绍了兴趣点、特征描述符的概念,并概述了两种主要的特征检测方法(频谱描述符和局部二值特征)以及相关的算法方案(如SIFT、SURF、ORB、BRIEF等)。最后,我们提到了可以根据需求混合匹配不同方案来优化AR应用性能。掌握这些基础知识是理解后续具体算法和实际应用的关键。

131:8_2.3 AR系统流程(第1部分)📱➡️🌐

概述

在本节课中,我们将要学习增强现实(AR)系统的基本工作流程。我们将以一个智能手机AR应用为例,详细拆解从捕捉图像到最终信息叠加显示的五个核心步骤。请注意,虽然示例使用智能手机,但该流程同样适用于眼镜、头戴显示器等多种设备。


AR系统流程详解 🛠️

上一节我们概述了AR技术,本节中我们来看看一个完整的AR系统是如何运作的。整个过程始于设备摄像头捕捉的现实世界画面。

1. 图像采集 📸

流程的第一步是图像采集。这是从设备的摄像头获取实时视频图像或静态照片的过程。获取的图像将作为整个AR处理的输入源。

2. 特征提取 🔍

图像进入系统后,下一步是特征提取。此步骤基于初始的测量数据,生成具有信息性且非冗余的特征值,以便于后续的特征学习和泛化。

以下是该过程的核心:

  • 兴趣点检测:算法会找出图像中所有独特的“兴趣点”。
  • 特征生成:将选定的兴趣点组合起来,形成能够唯一标识某个物体或场景的“特征”。

需要特别注意:特征提取是整个AR流程中计算最复杂、最耗资源的步骤。它会显著消耗设备电量,并且需要对图像进行多方面的渲染、处理和分析。我们将在后续的专门模块中深入讲解其流行技术。

3. 特征匹配 🧩

提取特征后,需要进行特征匹配。此步骤需要数据库的支持,因为系统需要将刚提取的特征与数据库中预存的特征及其相关信息进行比对,以识别出当前看到的物体是什么。

此过程涉及对图像信息进行抽象计算,并对所有图像点进行判断,以确定是否存在匹配的图像特征。

4. 几何验证 📐

匹配成功后,系统会进行几何验证。这是一个在数据库的图像数据中,确认所找到的特征在几何关系上是否一致的过程,以确保匹配的准确性,避免误识别。

5. 关联信息检索与显示 💡

最后一步是关联信息检索。系统根据识别出的物体,搜索并检索与之相关的元数据、文本或基于内容的索引信息。

检索到的信息将用于在AR屏幕上显示。通常,这些信息会以文字、符号或虚拟形象(Avatar)的形式,叠加在真实世界视野中对应物体或图像的附近。

以下是设计显示方式时需要考虑的关键点:

  • 显示形式:是叠加虚拟形象,还是显示简单文字?
  • 信息量:显示多少信息?信息过少可能无法满足用户需求,信息过多则会遮挡真实视野,引起用户反感。
  • 布局原则:在实际产品中,信息通常不会完全覆盖原物体(如示例图中所示的大块文字),而是以不阻碍用户观察真实世界的方式进行巧妙叠加。示例中的方式仅用于直观演示“信息被添加”这一概念。

总结

本节课中,我们一起学习了AR系统的核心五步流程:图像采集特征提取特征匹配几何验证以及关联信息检索与显示。我们了解到,特征提取是计算负担最重的环节,而最终的信息叠加需要精心设计以平衡信息量与用户体验。理解这个流程是深入掌握AR技术如何“增强”现实世界的基础。

132:从智能手机到物联网再到大数据 - 2.3 AR系统流程(第二部分)☁️➡️📱

在本节课中,我们将学习增强现实(AR)系统中的云端协同计算概念。我们将探讨为何需要将部分计算任务从AR设备转移到云端,以及如何根据网络和设备状况自适应地做出决策,以实现高效、节能的AR体验。


上一节我们介绍了AR系统的基本流程。本节中,我们来看看如何通过云端协同计算来优化这个流程,解决AR设备在计算能力、存储空间和电池续航方面的限制。

云端协同计算概述

所有物体信息无法全部存储在AR设备上。AR需要一个大型数据库,这一点我们已经讨论过。AR需要大量计算来处理任务,这非常消耗能量。此外,设备本身可能无法以足够快的速度计算所有信息并快速检索。因此,除了能耗问题,还存在速度问题。

AR处理量直接影响AR设备的电池功耗。许多AR设备由电池供电,因此能源供应有限。为了减轻AR设备上的处理负载,并克服使用小型AR数据库的限制(因为我们需要一个大型AR数据库),可以采用AR云端计算卸载

什么是计算卸载?🔄

计算卸载是指将部分计算任务从本地设备转移到云端服务器执行。具体来说,可以这样理解:

设想一个完全在智能手机上运行的增强现实应用。那么,智能手机将拥有一个小型数据库,并且需要完成所有处理流程才能给出响应。此外,特征提取过程非常耗能且负担沉重。

那么,是否有办法从其他地方获得帮助,替我完成部分工作?例如,让特征匹配、几何验证和相关信息检索从一个拥有海量数据的大型数据库中进行,而我只需要选择所需的部分。如果数据库足够大,这将是可能的。但在智能手机上,你不可能存放一个庞大的数据库。

为何需要云端数据库?🗄️

你需要思考:你将在智能手机、眼镜或头戴式显示器上查看什么?实际上,可能进入你视野的物体种类是极其多样,甚至是无限的。如果你长时间使用头戴式显示器或AR眼镜,你将会接触到近乎无限数量的物体。将所有信息都存储在智能手机或AR眼镜上的概率为零,你必须依赖一个庞大的数据库支持。

这正是云端卸载的作用。在这个例子中,图像采集和特征提取在智能手机上完成,其余流程则通过有线或无线网络发送到云端。云端完成剩余处理后,只将最终信息发送回AR设备(本例中是智能手机)。

在某些情况下,借助云端卸载的支持,你甚至可以将特征提取也放到云端进行。这样,你的智能手机只需进行图像采集,其余一切都可以在云端完成。在本例中,我展示了特征提取在智能手机上进行的情况,但这一步同样可以在云端完成。

云端卸载的优势与挑战⚡

这就是云端卸载所做的事情。换句话说,它减轻了设备承载大型数据库以及执行所有这三个流程(特征提取、特征匹配、几何验证与信息检索)的负担。如果你希望将非常耗能和消耗计算资源的特征提取过程也交由处理能力充足的云端完成,那么你可以将这项工作卸载到云端,待全部完成后接收返回结果。

然而,尽管这听起来很好,但存在一个要求:当你将信息发送到云端时,它需要传输到别处,通常是一段距离之外。此外,信息(如图像)需要通过网络传输。因此,在使用云端卸载时,AR面临的挑战是:

你只有在网络速度非常快的情况下才应使用云端卸载。这个过程必须保证非常迅速,信息能够快速返回,因为你需要发送数据、等待云端处理、再接收结果。你必须确保整个流程足够快,比在本地设备上处理更高效。

因此,尽管这听起来很有吸引力,但并非在所有情况下都可用。换句话说,如果网络拥堵且速度很慢,那么你不如在智能手机上完成整个处理流程,而不是使用卸载。因为如果你尝试卸载,可能什么也做不了。

云端卸载虚拟化💻

云端卸载虚拟化允许云服务器供应商在虚拟机上运行各种应用。在云计算中,这类似于基础设施即服务的运作模式。

云服务器供应商提供计算周期,AR设备可以利用这些计算周期来减轻自身的计算负载。云计算卸载单元有助于节省能源并提升AR服务的响应速度。再次强调,在云服务中,这必须快速且准确,你需要快速云服务和快速网络的支持。

边缘计算与自适应卸载🎯

现在我需要提一下,在本课程的同一系列中,我另一门关于物联网和云计算的课程。在云计算讲座中,我将讨论边缘计算技术。该技术将云部署在更靠近无线设备的位置,这将减少网络访问时间。

一些设备可能没有主云那样庞大的数据库。然而,它们的规模可以做得足够大,使其比你的眼镜、头戴式显示器或智能手机装备更完善。同时,它们部署在足够近的设备上,使得快速的无线网络支持可以让你立即访问。这类技术包括基于移动边缘计算的云计算、云微簇和雾计算技术。如果你了解这些技术如何运作以及它们如何支持增强现实,那么云端卸载选项将变得更容易使用。因此,请查阅物联网和云计算的新兴技术讲座,以了解更多关于如何使用该技术的信息。

因此,自适应云端卸载是我们希望使用的一个选项。无条件的卸载可能导致过度的延迟,所以我们需要更智能。我们需要审视网络、云端以及自身设备的状况,并找出处理此AR应用的最佳方式。

然后,我们根据设备、网络和云端的环境状况,找出最佳方式,并决定以何种模式进行处理。这就是我们在此提到的自适应组件

以下是自适应云端卸载决策所依赖的关键参数:

  • 网络状况:网络延迟和带宽直接影响数据传输速度。
  • 云服务器状态:云端可能因工作负载过重而变得缓慢。即使它能支持你,但如果速度慢,对于通常要求快速响应的AR应用服务质量而言,可能无法使用。
  • AR设备的能量状态:你的设备可能有充足的能量在本地计算,也可能剩余能量极少,无法持续在设备上进行特征提取处理。在后一种情况下,你可能需要在图像采集后,直接将其发送到云端,并期望快速获得正确的信息返回以进行显示。
  • 目标体验质量水平:这个AR设备用于什么用途?是用于交通引导、导航吗?你的应用能允许一点延迟吗?或者,如果它用于自动驾驶汽车,一点延迟会对自动行驶车辆的安全性产生关键影响吗?你需要弄清楚这些,而这类要求正是影响目标体验质量的因素。这是基于特定应用的服务质量需求。

本节课中,我们一起学习了增强现实中的云端协同计算自适应卸载。我们了解到,为了克服AR设备在计算、存储和能耗上的限制,可以将部分任务卸载到云端。但这一过程高度依赖于网络速度云端负载设备状态。通过自适应决策,根据实时条件选择本地处理或云端卸载,才能实现高效、流畅的AR体验。理解这些概念是构建鲁棒、实用AR系统的重要基础。

133:增强现实特征提取 🎯

在本节课中,我们将学习增强现实(AR)中的特征提取技术。特征提取是AR流程中的关键步骤,它负责从捕获的图像中识别出我们感兴趣的关键点,以便后续进行对象识别和跟踪。


概述

特征提取过程将输入的图像转换为一种形式,使我们能够检测到兴趣点并提取特征。例如,图像上标记的红色圆圈就围绕着我们感兴趣对象的特定区域。这个过程要求严格且复杂,因此我们需要深入理解。

上一节我们介绍了AR的整体流程,本节中我们来看看特征提取的具体步骤。


基于SURF技术的特征提取步骤

以下是特征提取涉及的六个核心步骤:

  1. 灰度图像生成
  2. 积分图像生成
  3. 响应图生成
  4. 兴趣点检测
  5. 方向分配
  6. 描述符提取

接下来,我们将逐一详细探讨每个步骤。


1. 灰度图像生成

这是第一步。AR设备捕获的原始图像被转换为灰度值。这样做的目的是增强算法对颜色变化的鲁棒性。

因为光照颜色会改变物体呈现的颜色。例如,如果房间里的灯光变成蓝色,我看起来就会是蓝色的;如果变成绿色或红色,我也会相应地变色。因此,为了减少光源引起的颜色变化的巨大影响,我们选择使用灰度图像技术。


2. 积分图像生成

这是一个从灰度图像构建积分图像的过程。这个过程使得快速计算图像子区域的和成为可能。

积分图像的公式有助于加速后续计算:
I(x, y) = i(x, y) + I(x-1, y) + I(x, y-1) - I(x-1, y-1)
其中 I 是积分图像,i 是原始灰度图像。


3. 响应图生成

为了检测兴趣点,我们需要先进行这一步。响应图生成是兴趣点检测前的一个阶段,它通过计算图像Hessian矩阵的行列式来为检测做准备。

响应图生成过程构建了图像的尺度空间。利用这个尺度空间,我们才能进入下一步的兴趣点检测。


4. 兴趣点检测

基于生成的尺度响应图,检测其中的极大值和极小值(即极值点),并将这些点作为兴趣点。

检测到兴趣点本身就是一个重大成果,但这还不够完整。


5. 方向分配

每个检测到的兴趣点都会被分配一个可重现的方向,以提供旋转不变性。

为什么这是必要的?因为AR处理的是实时的视觉画面,不是静态图像或固定视频。当用户移动头部或改变视角时,视野中的对象方向会不断变化。如果检测机制不具备旋转不变性,就可能出现视角轻微移动后无法识别同一物体的情况。因此,我们需要将旋转不变性纳入检测机制。


6. 描述符提取

这是一个唯一标识兴趣点的过程,使其能与其他兴趣点区分开来。

在进行兴趣点检测时,会出现大量兴趣点。其中一些可能与视野中某个特定对象无关,因为视野中可能包含多个物体。因此,我们需要聚焦于围绕某个特定对象周围的那些兴趣点,并将它们关联起来,以识别并提取该对象的特征。


特征提取流程总结

整个特征提取的流程可以概括为:找到图像或视频中的兴趣点,从兴趣点中检测描述符,然后将这些描述符与数据库中的数据进行比较。

例如,从原始图像开始,先转换为灰度图,然后检测兴趣点,最后提取描述符。将它们组合起来,我们就能识别出一个对象。


描述符的要求与类型

描述符需要具备一定的鲁棒性,即使在有噪声干扰的情况下也能正常工作。这些干扰因素包括:

  • 尺度变化:物体远近不同导致的大小变化。
  • 旋转变化:视角改变导致物体像在旋转。
  • 视角变化:观察角度的不同。

理想的描述符应能不受这些因素影响。

我们可以使用哪些类型的描述符呢?主要有以下三种:

  • 角点
  • 斑点
  • 区域

在后续关于各种特征提取技术的细节中,我们将看到斑点、角点或区域描述符的应用实例。


斑点检测示例

我们已经看过基于斑点检测结果的图像。斑点检测是检测图像中斑点的过程。

什么是斑点?斑点是图像中具有恒定图像属性的区域。在某些情况下,可能不是完全恒定,而是近似恒定,会有一个阈值范围。如果区域属性落在该范围内,它就符合斑点的条件,可以用于增强现实。

斑点中的所有点都被认为是彼此相似的,因此我们将它们分组。在我们之前看到的花朵示例中,用圆圈来表示它们。当然,有时也会使用正方形或矩形。

在比较过程中,会利用与亮度、颜色等相关的图像属性,与周围区域进行比较,从而识别出作为斑点的特定属性。


常见的特征提取技术

一些典型的特征提取技术包括:

  • Harris角点检测
  • SIFT(尺度不变特征变换)
  • SURF(加速稳健特征)
  • ORB(定向FAST和旋转BRIEF)

在接下来的课程模块中,我将更详细地介绍和比较六种最流行且被所有AR设备使用的特征提取与描述技术。


总结

本节课中,我们一起学习了增强现实中特征提取的核心概念与完整流程。我们从灰度转换开始,逐步了解了积分图像、响应图生成、兴趣点检测、方向分配,直到最后的描述符提取。我们还探讨了描述符需要满足的鲁棒性要求(如对尺度、旋转的不变性)以及常见的描述符类型(如角点、斑点)。理解这些步骤是构建高效、准确AR应用的基础。在接下来的课程中,我们将深入更多技术细节。

134:增强现实特征检测与描述方法比较 🧐

在本节课中,我们将学习增强现实(AR)中几种核心的特征检测与描述方法,包括SIFT、SURF、FAST、BRIEF、ORB和BRISK。我们将比较它们的技术特点、优缺点以及演进关系,帮助你理解为何会从一种方法发展到另一种。


概述 📋

本模块介绍SIFT、SURF、FAST、BRIEF、ORB和BRISK。这些是增强现实领域中用于特征检测和描述的最著名方法。如果你在智能手机、头戴式显示器、笔记本电脑或任何设备上使用过增强现实,那么很可能已经接触过这些技术。因此,了解它们的工作原理和区别是非常有价值的。


技术演进与比较 🔄

上一节我们介绍了这些方法的重要性,本节中我们来看看它们的具体比较和演进历程。

以下是六种最流行方法的对比,我们还将探讨它们为何会从一种演进到另一种。如果最初开发的方法在各方面都完美,就没有必要创造更多。但显然,最初的方法并非完美无缺,这正是技术演进的起点。

从下图可以看出,这些方法按创建年份排列:SIFT(1999年)、SURF(2006年)、FAST(2006年)、BRIEF(2010年)、ORB(2011年)和BRISK(2011年)。

首先谈谈SIFT。SIFT具有非常优秀的特性,其特点备受青睐。然而,它的计算负担非常高。即使在1999年它被创建时,计算负担也极大。

考虑到现代智能手机摄像头分辨率越来越高,并且每年都在提升,处理SIFT特征的负担变得更加沉重。因此,我们需要找到一种方法,既能保留SIFT的优点,又能大幅降低计算负担,从而节省能源、提高速度,使其适用于增强现实设备。

我们将聚焦于SIFT的一些优缺点,并观察技术演进的趋势。


详细技术对比表 📊

以下是各项技术的核心参数对比:

特性 SIFT SURF FAST BRIEF ORB BRISK
特征检测器 高斯差分 (DoG) 快速Hessian 二进制比较 不适用 FAST FAST或AGAST
描述符 局部梯度幅值 积分盒滤波 不适用 局部二进制 局部二进制 局部二进制
方向性
特征形状 正方形 矩形 不适用 不适用 正方形 正方形
特征模式 正方形 密集技术 不适用 随机点对像素 训练点对像素 训练点对像素
距离函数 欧几里得距离 欧几里得距离 不适用 汉明距离 汉明距离 汉明距离
鲁棒性 6(亮度、旋转、对比度、仿射变换、尺度、噪声) 4(尺度、旋转、光照、噪声) 2(亮度、对比度) 3(亮度、对比度、旋转) 4(亮度、对比度、旋转、有限尺度) 4(亮度、对比度、旋转、尺度)

核心概念详解 🧠

上一节我们通过表格快速对比了各项技术,本节我们来深入理解其中的关键概念。

高斯差分 (DoG) 是SIFT使用的特征检测方法,其公式可表示为:
DoG(x, y, σ) = (G(x, y, kσ) - G(x, y, σ)) * I(x, y)
其中 G 是高斯函数,I 是图像,σ 是尺度参数。

汉明距离 用于BRIEF、ORB和BRISK等二进制描述符的比较。它计算两个等长二进制字符串在相同位置上值不同的数量。例如,字符串“10101”和“00110”的汉明距离为3。

欧几里得距离 用于SIFT和SURF,计算两个特征向量在空间中的直线距离,公式为:
distance = √((x₂ - x₁)² + (y₂ - y₁)²)


优缺点分析 ⚖️

了解技术细节后,我们来看看每种方法的优缺点,这对于选择合适的技术至关重要。

以下是各种方法的优缺点列表:

  • SIFT & SURF

    • 优点: 非常准确。
    • 缺点: 计算量大,速度慢;两者均受专利保护,使用时需要许可并支付费用。
  • FAST

    • 优点: 速度快,适用于实时应用。
    • 缺点: 可能生成过多的兴趣点。
  • BRIEF

    • 优点: 速度快,适用于实时应用。
    • 缺点: 不具备尺度和旋转不变性。
  • ORB & BRISK

    • 优点: 速度快,适用于实时应用;ORB是FAST和BRIEF的结合与改进。
    • 缺点: 尺度不变性较差。

对于增强现实系统来说,快速适用于实时处理是至关重要的优势,这也是FAST、BRIEF、ORB和BRISK等方法被创建的主要原因。真正的增强现实技术正是在实时应用和设备中展现其魅力的。


总结 🎯

本节课中,我们一起学习了增强现实领域六种核心的特征检测与描述方法:SIFT、SURF、FAST、BRIEF、ORB和BRISK。

我们了解到SIFT虽然功能强大、鲁棒性高,但计算成本高昂。为了满足实时增强现实应用的需求,后续的技术(如SURF、FAST、BRIEF、ORB、BRISK)在保证一定性能的同时,通过使用近似计算(如局部二进制模式)、更高效的距离度量(汉明距离)以及改进的检测器(如FAST及其变体AGAST)来大幅提升速度。

选择哪种技术取决于具体的应用场景,需要在准确性计算速度鲁棒性(如对尺度、旋转、光照的适应性)以及专利限制之间进行权衡。对于大多数实时移动端增强现实应用,ORB和BRISK因其良好的平衡性而成为流行选择。

本概述为我们后续深入探讨每一种具体方法奠定了坚实的基础。

135:SIFT 算法详解 🧩

在本节课中,我们将学习 SIFT(尺度不变特征变换)算法。这是一种经典的特征检测与匹配方法,广泛应用于计算机视觉领域。我们将了解其核心原理、处理步骤以及优缺点。


概述

SIFT 是 Scale Invariant Feature Transform 的缩写。它是最早被提出的特征检测方案之一,在特征检测与匹配过程中使用了图像变换技术。

SIFT 的特点是精度高,但计算复杂度也高,这限制了其在实时应用中的使用。

上一节我们介绍了特征检测的基本概念,本节中我们来看看 SIFT 这一具体算法的实现细节。


SIFT 的整体流程

下图展示了 SIFT 特征提取的整体流程:

流程始于顶部的 DOG(高斯差分)生成。DOG 基于高斯技术,我们提取其差异。之后,流程进入关键点检测机制。

关键点检测基于图像在不同尺度下产生的不同层级,寻找极值点(最大值或最小值点)。随后是方向分配技术,最后是描述符生成技术。

图像会进行下采样,并观察其“八度”(octaves)。我们将在下页详述这些细节。


高斯差分(DOG)生成

DOG 生成使用基于 DOG 技术的近似方法构建尺度空间。

在 SIFT 及其后续的 SURF 算法中,尺度空间被用作启动增强现实过程的核心技术。

以下是 DOG 生成的核心步骤:

  1. 构建尺度空间与高斯金字塔:在尺度空间中,我们从抽象尺度空间到完整尺度空间,将它们堆叠起来,形成一个图像金字塔。这个过程基于高斯处理,涉及卷积或模糊技术。这些高斯图像根据八度的数量,在每次迭代后进行下采样。
  2. 选择兴趣点:在不同尺度下的 DOG 图像中,选择局部极值点作为兴趣点。局部极值是指在图像的局部范围内,基于图像特性划分出的区域中的极值点(最大值或最小值)。

为何使用 DOG?

DOG 是拉普拉斯高斯(LOG)的一种近似方法。我们本希望使用 LOG,但为了降低计算负担,采用了更简单、计算复杂度更低的 DOG 技术。

以下是 DOG 与 LOG 的对比:

  • LOG(拉普拉斯高斯):这是一个基于二阶高斯尺度空间导数的过程。它对噪声敏感且需要大量计算。LOG 在应用于多图像尺度时具有尺度不变性,这是其流行的重要原因。
  • DOG(高斯差分):与 LOG 相比,DOG 计算复杂度低。此外,DOG 不需要像 LOG 那样进行偏导数计算。DOG 通过高斯差分技术获取图像的局部极值。

因此,在 SIFT 中,我们使用 DOG 技术来代替 LOG 技术。


SIFT 处理步骤详解

SIFT 的处理主要包括三个步骤:关键点检测、方向分配和描述符生成。

1. 关键点检测与定位

此步骤进行关键点定位。DOG 图像中的每个像素都会与其相邻像素进行比较。

比较过程在当前尺度以及其上方两个尺度和下方两个尺度上进行,目的是寻找关键点。

以下是关键点筛选过程:

  • 候选关键点是局部最大值或最小值的像素(即极值点)。
  • 最终的关键点集合将排除低对比度的点。因为即使一个值在其局部范围内是极值,如果对比度低,也可能不准确或存在误差,因此不予采用。

2. 方向分配

此步骤旨在确定关键点的方向。关键点的方向由其邻域内局部图像梯度直方图决定。

梯度显示了变化率。直方图是一种图形技术,显示了变化量最大和最小的位置。

因此,通过观察梯度直方图,我们可以找到关键点的方向。具体方法是:

  • 选择梯度直方图中的峰值作为主导方向,因为那里检测到的变化最多。

3. SIFT 描述符生成

此步骤为每个关键点计算特征描述符。

特征描述符由 128 个方向直方图组成。在下图中,您可以看到图像梯度、关键点描述符以及作为一个关键点的 128 维特征序列。


总结

本节课中,我们一起学习了 SIFT 算法。我们了解到 SIFT 是一种高精度的尺度不变特征变换方法,它通过构建高斯金字塔和 DOG 尺度空间来检测稳定的关键点,并为每个关键点分配方向和生成 128 维的描述符。尽管其计算复杂度较高,不利于实时应用,但 SIFT 为许多现代特征检测算法奠定了基础。


参考文献

(以上图表来自延世大学 Park 博士的毕业论文,特此说明并致谢。)

136:从智能手机到物联网再到大数据 - 3.3 SURF算法 🚀

在本节课中,我们将要学习SURF算法。SURF是SIFT算法的一种快速近似技术,旨在保持相似准确度的同时,显著提升兴趣点检测的处理速度。我们将了解其核心原理、关键步骤以及它与SIFT的区别。


上一节我们介绍了SIFT算法,本节中我们来看看它的加速版本——SURF算法。

SURF是“Speeded Up Robust Features”的缩写。这是一种近似技术,用于在兴趣点检测中获得比SIFT更快且精度相近的处理效果。SIFT性能良好,但因其繁重的计算而速度较慢。SURF的目标是以更快的速度获得接近SIFT的性能。

SURF在其处理过程中会使用Hessian矩阵的行列式。这被用于兴趣点检测机制。同时,SURF会使用盒式滤波器来近似计算Hessian矩阵行列式。换句话说,Hessian矩阵的计算过程将通过盒式滤波来近似。

那么,Hessian矩阵是什么?这是一个包含二阶偏导数元素的方阵,因此在该矩阵中需要进行偏导数计算。它表征了图像表面的曲率程度,因此在SURF的关键点检测中非常重要。


在上一讲中,我们已经基于SURF的整体框架介绍了特征提取和检测机制。现在,我们将进一步深入其细节。

以下是SURF操作的主要步骤:

  1. 积分图像生成
  2. 响应图生成
  3. 兴趣点检测
  4. 方向分配
  5. 描述符提取

首先从近似处理开始。SURF使用盒式滤波来近似SIFT中的高斯差分。

这里使用方形盒式滤波器进行近似,而不是对图像进行高斯平均。你可以在此看到X方向、Y方向以及XY方向的机制示例。图中展示了SURF中使用的积分图像的盒式滤波器,这实现了快速近似。

为了生成积分图像,需要进行盒区域计算。积分图像用于快速卷积计算。SURF在不同尺度的图像上使用多并行处理的盒式滤波技术来近似拉普拉斯高斯过程。

兴趣点检测过程将基于斑点检测使用Hessian矩阵。特征描述符方案基于兴趣点,其中兴趣点的邻域像素被划分为多个子区域。SURF描述符基于尺度无关的邻域来描述像素强度分布,其中每个子区域的小波响应会被使用。


本节课中我们一起学习了SURF算法。我们了解到SURF通过使用Hessian矩阵行列式和盒式滤波器近似,在保持鲁棒性的同时大幅提升了计算速度。其流程包括积分图像生成、兴趣点检测和特征描述符提取等关键步骤,是计算机视觉中一项高效的特征检测技术。

137:14_3.4 FAST算法 🚀

在本节课中,我们将要学习FAST算法。FAST是一种用于检测图像中关键点(兴趣点)的技术,以其快速和高效的计算特性而闻名。我们将了解其基本概念、工作原理以及它与其他检测技术的区别。


FAST算法概述

FAST是“Features from Accelerated Segment Test”的缩写。它是一种基于模板的角点检测方案,因此主要用于检测角点。角点可以被理解为在固定尺度下的兴趣点。

上一节我们介绍了其他特征检测技术,本节中我们来看看FAST算法如何实现快速匹配和低计算量。


FAST算法的优势

与SIFT和SURF等尺度空间检测技术相比,FAST算法能够在给定尺度下检测出更多的兴趣点。这主要得益于其高效的计算方法。


FAST特征检测流程

FAST特征检测过程主要包含以下几个步骤:像素选择、Bresenham圆计算和阈值比较。以下是具体步骤:

  1. 像素选择:算法首先选择一个中心像素点。
  2. Bresenham圆计算:围绕中心像素,在一个圆形模板(基于Bresenham圆)上选取一系列像素进行比较。
  3. 阈值比较:将圆形模板上的像素与中心像素的强度值进行比较。


角点检测与圆形模板

Bresenham圆的计算基于这样一个事实:每个角点都有一个具有两个主导且不同梯度方向的点。通过圆形模板进行强度比较来检测角点。

通常,我们使用16个可能的像素点,并关注其中连续像素区域的大小。以下是常见的两种配置:

  • 当使用9个连续像素时,称为FAST-9。
  • 当使用10个连续像素时,称为FAST-10。

阈值比较与决策树

在FAST算法中,阈值比较是关键步骤。每个像素都与一个预设的阈值进行比较,目的是确定该像素值是否大于或小于中心像素值。

为了加速这个过程,算法采用了决策树,使得像素比较能够更快完成。


FAST描述符输出

FAST描述符的输出是一个相邻的位向量形式。需要再次强调的是,FAST算法主要基于位操作,这进一步提升了其计算效率。


总结

本节课中我们一起学习了FAST算法。我们了解到FAST是一种快速、高效的角点检测算法,它通过圆形模板和阈值比较来识别兴趣点,并利用决策树和位操作来优化计算速度。与SIFT等方法相比,FAST在保持良好检测能力的同时,显著降低了计算复杂度。


参考资料 📚

以下是我使用并推荐给您的参考资料。

138:15_3.5 BRIEF算法 🧠

在本节课中,我们将要学习BRIEF算法。BRIEF是一种在机器人视觉等领域广泛应用的二进制特征描述技术。我们将了解其核心概念、工作原理以及关键特性。


BRIEF技术。BRIEF代表二进制鲁棒独立基本特征。从名称中可以看到,除了“鲁棒独立基本特征”外,它还包含“二进制”一词。鲁棒性是我们将要探讨的另一个特性。

这是一种在机器人应用(如机器人视觉)中非常流行且功能强大的二进制特征描述技术。


上一节我们介绍了BRIEF的基本概念,本节中我们来看看它的工作原理。

它使用随机生成的分布模式,这与许多其他方法有很大不同。

以下是其工作流程的关键组成部分:

  • 分布模式:由256个像素点对组成。
  • 描述符生成:通过对这些点对进行二进制比较来生成描述符。

BRIEF的整体特征描述过程如下:

  1. 生成图像块。
  2. 对图像块进行平滑处理。
  3. 生成点对(如下图所示,使用像素对的随机采样)。
  4. 进行强度比较。
  5. 生成比特字符串。

这就是BRIEF的描述过程。


了解了整体流程后,现在我们来深入探讨其细节部分,特别是二进制描述符的构成。

以下是BRIEF算法的几个关键细节:

  • 采样模式:这是重要的部分。采样模式用于在描述符周围的区域中采样点。
  • 方向补偿:关键点的方向由所需的方向补偿大小决定,这是为了补偿图像中的旋转变化。这一点至关重要,因为我们处理的是现实世界或增强现实设备中的实时图像,而非静态图像或固定录制的视频,因此旋转变化必然会发生。
  • 采样点对:最终的描述符是通过比较采样点对生成的。BRIEF没有复杂的采样模式或方向补偿机制,它比较随机点对,这是其一个关键特点,正如在处理流程图中所示。
  • 噪声敏感性:BRIEF描述符使用基于单个像素位置的信息,这使其对噪声敏感。因此,通常会使用高斯滤波器来减轻噪声敏感性,使其更加鲁棒。

本节课中我们一起学习了BRIEF算法。我们了解到BRIEF是一种高效的二进制特征描述符,它通过随机比较像素点对来生成特征描述,具有计算速度快的特点。同时,我们也认识到它对噪声敏感,通常需要配合高斯滤波等预处理步骤来提升鲁棒性。这些知识对于理解现代计算机视觉和机器人感知系统至关重要。

139:16_3.6 ORB算法 🎯

在本节课中,我们将要学习ORB算法。ORB算法是一种结合了FAST特征点检测与BRIEF描述子的特征提取与描述技术,因其高效性在实时应用中非常流行。

概述

ORB代表Oriented FAST and Rotated BRIEF。该算法是FAST特征检测技术与BRIEF描述子技术的结合体,主要用于从图像中提取和描述关键特征点。

ORB算法的核心优势

上一节我们介绍了ORB的基本概念,本节中我们来看看它为何如此有吸引力。ORB算法具有以下几个显著优点:

  • 计算速度快:其机制设计旨在实现快速计算。
  • 内存使用高效:这种结合使其在内存使用上非常高效。
  • 匹配精度高:这在增强现实等应用中至关重要。
  • 基于二进制运算:由于FAST和BRIEF都基于汉明距离和二进制运算,这使得ORB速度更快,计算负担更小,更适合实时应用。

因此,在许多场景下,ORB可以替代SIFT和SURF算法进行特征提取,并成为一种流行的应用机制。

ORB算法流程

了解了ORB的优势后,我们来看看它的具体工作流程。ORB的处理过程遵循一个清晰的步骤序列。

以下是ORB算法的主要步骤:

  1. 构建尺度金字塔:使用多尺度图像金字塔来处理不同尺度的特征。
  2. FAST特征检测:在金字塔的每一层应用FAST角点检测器来寻找关键点。
  3. Harris角点度量:对FAST检测出的点应用Harris角点响应值进行度量。
  4. 非极大值抑制:基于Harris响应值,抑制非极大值点,筛选出最强的角点。
  5. 方向计算:为每个关键点计算主方向,以实现旋转不变性。
  6. 旋转BRIEF描述:使用计算出的方向信息,生成旋转不变的BRIEF描述子。

关键技术细节详解

接下来,我们将对流程中的几个关键技术环节进行深入说明。

1. 多尺度图像金字塔

ORB使用基于尺度的图像金字塔来检测不同尺度下的特征。FAST和旋转BRIEF(R-BRIEF)被应用于金字塔的每一层。

2. FAST特征检测与Harris筛选

FAST特征检测使用FAST角点检测器来定位关键点。因为采用了FAST,所以自然引入了角点检测机制。这个过程展示了特征检测与描述子技术是可以混合匹配的,ORB本身就是一个优化后的混合匹配结果。

随后,对检测出的关键点应用Harris角点度量,以筛选出FAST响应最强的顶级点。这些点将成为候选关键点。

3. 方向计算与旋转BRIEF

为了实现旋转不变性,ORB为每个关键点计算了一个方向。

  • 质心:首先计算图像块的质心 G(重心),这通过图像矩来改善旋转不变性。
  • 方向向量:关键点的方向基于从该关键点指向质心 G 的向量方向来确定。
  • 旋转BRIEF:BRIEF描述子利用上述方向信息进行调整,从而成为旋转不变的描述子。这就是ORB中“旋转”BRIEF(Rotated BRIEF)发挥作用的地方,它作为二进制描述子被使用。

注意:在文献中,旋转BRIEF可能被写作“R-BRIEF”(大写R)或“rBRIEF”(小写r),两者均指代ORB中使用的旋转版本BRIEF描述子。

搜索与匹配过程

最后,我们来看ORB如何匹配特征点。ORB在特征匹配阶段采用了高效的搜索策略。

对应的搜索过程使用MPLSH(多探针局部敏感哈希)技术。当匹配失败时,算法会搜索相邻的哈希桶以寻找匹配。MPLSH使用更少的哈希表来节省内存消耗,并且与原始的BRIEF技术相比,它使用了更一致的哈希桶大小。

总结

本节课中,我们一起学习了ORB算法。ORB是一种高效的特征点检测与描述算法,它通过结合FAST的快速检测和BRIEF的简洁描述,并引入方向性实现旋转不变性,在速度、内存和精度之间取得了良好平衡,使其成为实时计算机视觉应用(如增强现实)中的热门选择。

140:17_3.7 BRISK算法 🧠

在本节课中,我们将学习BRISK算法。BRISK是一种低计算量的特征检测方案,以其在保持相当准确性的同时,提供优于SURF算法的性能而闻名。我们将逐步解析其工作机制,从关键点检测到最终描述符的生成。


候选兴趣点检测机制

BRISK算法始于候选兴趣点检测机制。该机制使用AGAST检测器。

AGAST是一种基于加速分段测试的自适应通用角点检测器。简单来说,AGAST是一种角点检测机制。它是FAST算法的扩展,因此是一种改进的FAST机制。AGAST使用具有60个点对的圆形对称模式区域形状,并将这些点对线分配安排在四个同心圆环中。


尺度空间关键点检测

上一节我们介绍了兴趣点检测,本节中我们来看看尺度空间关键点检测。该步骤基于使用八度和层内八度的尺度空间。

以下是创建尺度空间的过程:

  • 首先创建八度和层内八度。
  • 每个八度从前一个八度进行半采样得到。
  • 层内八度则通过下采样,放置在两个八度之间。

随后,尺度空间关键点检测会在每个八度和层内八度上应用非极大值抑制。

  • 在图像块内计算亚像素级最大值。
  • 跨尺度计算连续最大值。

这就是BRISK算法中使用的尺度空间关键点检测机制。


采样点与高斯平滑

在确定了关键点后,需要对关键点周围的区域进行处理。采样点高斯平滑随即被应用。

高斯平滑被应用于每个采样点周围的图像块区域。图像中的红色圆圈代表了高斯滤波器标准偏差的大小,直观地显示了平滑的范围。


点对生成

处理完平滑后,接下来是生成用于计算的特征点对。点对生成步骤将像素点对分离成两组。

以下是点对的分组方式:

  • 长距离点对:用于粗略分辨率。
  • 短距离点对:用于精细分辨率。

这种长短点对的分离处理,旨在实现算法的尺度不变性。


梯度计算

生成了点对,我们就可以计算梯度信息了。梯度计算首先在长距离点对上进行。

因为算法需要先确定特征的主方向。随后,轮到短距离点对。

在短距离点对上计算梯度,是为了确定相对于由长距离点对梯度处理所确定的主方向,图像发生了多少旋转。


二进制描述符生成

最后,基于旋转后的短距离点对,生成二进制描述符。这些描述符构成了图像特征的最终表示。


本节课中,我们一起学习了BRISK算法。我们从其高效的AGAST角点检测开始,逐步了解了尺度空间构建、高斯平滑、长短点对生成、梯度计算以确定方向和旋转,最终生成了用于特征匹配的二进制描述符。这个过程体现了BRISK在平衡计算效率和特征鲁棒性方面的设计思路。

141:Skype 📞

在本节课中,我们将学习 Skype 及其相关技术。我们将探讨 Skype 的基本概念、架构、支持的编解码器、应用平台以及其发展历史。


概述

本节我们将从 Skype 开始讨论。Skype 是一项支持视频聊天和语音通话服务的应用程序,其标志广为人知。

Skype 这一术语源自“天空”(sky)和“点对点”(peer-to-peer)两个词的组合,形成了一个非常酷的名字。Skype 通过互联网,利用麦克风、扬声器和网络摄像头进行语音和视频通信,这些模块共同协作,实现了 Skype 的交互功能。


Skype 的架构与技术

上一节我们介绍了 Skype 的基本概念,本节中我们来看看其技术架构。

Skype 的架构基于混合点对点机制,同时也采用了客户端-服务器机制

以下是 Skype 支持的核心技术:

  • 音频编解码器:包括 G.729SFOPCSilkOpus
  • 视频编解码器:包括 H.264,我们将在本讲座中进一步详细讨论。
  • 支持的应用:包括网络电话(VoIP)、视频会议、即时消息和文件传输。

所有这些技术都非常重要,因此我们需要更详细地研究它们。


支持的平台与设备

了解了技术基础后,我们来看看 Skype 可以在哪些平台上运行。

Skype 视频会议通话可以通过智能手机、平板电脑、个人电脑和各种其他设备在各种平台上进行。

以下是支持 Skype 的客户端操作系统:

  • 桌面操作系统
    • 支持一系列 Windows 产品。
    • 通用 Windows 平台客户端操作系统包括 Windows 10Windows 10 Mobile 以及 HoloLens。HoloLens 是一种增强现实设备,它支持视频等多种技术,是进行 Skype 视频会议以及其他增强现实应用的绝佳平台。
    • 其他桌面操作系统包括 OS XLinux(包括 UbuntuLinux Alpha 等版本)。
  • 移动设备操作系统
    • 包括苹果 iPhone 和 iPad 的 iOSAndroidBlackberry 10Fire OSNokia X
    • 过去也曾为选定的 SymbianBlackberry 操作系统设备提供支持。

服务模式与类似技术

Skype 在 Skype 服务内对其他 Skype 用户的通话是免费的。然而,Skype 也可以用于拨打传统电话(固定电话和手机),这需要通过 Skype 信用点或订阅的方式,基于用户账户扣费。

支持网络电话(VoIP)和视频会议(Videoconferencing)的类似技术包括基于 SIPH.323 协议的服务,例如由 LinphoneGoogle Hangouts 等公司使用的技术。


Skype 发展历史

现在,让我们回顾一下 Skype 的发展历程,这有助于理解其如何成为今天广泛使用的服务。

  • 2003年:Skype 由来自瑞典、丹麦和爱沙尼亚的专家和开发者创立。同年8月,Skype 的第一个公开测试版发布。
  • 2005年:Skype 与波兰门户网站达成协议,成功进入波兰市场。同年9月,eBay 同意以约 25亿美元 收购 Skype Technologies S.A.。
  • 2009年9月:基于 Skype 被评估为 27.5亿美元 的价值,eBay 宣布出售其65%的股份,价值 19亿美元
  • 2010年:Skype 拥有 6.63亿 注册用户,可见这款新创建的酷炫应用获得了巨大的增长和依赖。
  • 2011年:这是一个重要的转折点,微软以 85亿美元 收购了 Skype,并开始将 Skype 服务整合到各种微软产品中。
  • 2013年2月:微软推出了 Office 2013,在 Office 365 消费者计划(针对家庭、个人和大学使用)中包含了每月60分钟的 Skype 通话时长,这使其变得极其流行,并有助于推广该产品本身以及微软的技术产品。
  • 2013年4月:Windows Live Messenger 即时消息服务被逐步淘汰,以推广 Skype。
  • 2014年11月:微软宣布将在2015年用 Skype for Business 取代 Lync。后续版本结合了 Lync 和消费者版 Skype 软件的功能,组织可以选择将其用户从默认的 Lync 界面切换到 Skype for Business 界面。

总结

本节课中,我们一起学习了关于 Skype 的各个方面。我们从 Skype 的基本定义和其名称由来开始,深入探讨了其基于混合点对点和客户端-服务器机制的架构,了解了其支持的音频(如 Opus)和视频(如 H.264)编解码器,以及 VoIP、视频会议等核心功能。我们还查看了 Skype 广泛支持的平台,从桌面系统到移动设备,甚至包括增强现实设备 HoloLens。最后,我们回顾了 Skype 从创立到被微软收购的重要发展历程,理解了它如何成长为一项全球性的通信服务。

142:19_4.2 Skype编解码器 📞

在本节课中,我们将学习Skype所使用的音频与视频编解码器技术。我们将从Skype最初采用的音频编解码器开始,逐步了解其发展历程,并深入探讨其核心的Silk、Opus以及视频编解码器的工作原理与规格。


音频编解码器:从G.729到Silk

上一节我们介绍了VoIP的基本概念,本节中我们来看看Skype具体使用的音频编解码器。

最初,Skype在其VoIP应用中使用的是G.729SVOPC编解码器。从Skype 4.0 for Windows及其他客户端版本开始,Skype引入了Silk编解码器。

Silk是由Skype公司开发的一款轻量级、可嵌入的音频编解码器。它是一个音频压缩格式与编解码器,于2009年3月首次发布,其最新的SDK发布于2012年。

以下是Silk的主要技术规格:

  • 音频采样频率:8、12、16或24千赫兹。
  • 比特率范围:6至40千比特每秒。
  • 低算法延迟:基于25毫秒,其中帧大小为20毫秒,并包含5毫秒的前瞻部分。
  • 参考编程语言:C语言。
  • 编解码基础:基于线性预测编码
  • 可用性:提供Silk二进制SDK(软件开发工具包),便于新技术的开发。

音频编解码器:Opus

了解了专有的Silk编解码器后,我们再来看看Skype后来采用的开放标准——Opus编解码器。

Skype音频编解码器Opus被设计为一种有损音频编码格式,旨在高效地将语音和通用音频编码为单一格式。Opus的设计目标是结合Silk和CELT技术,根据需要在其间切换或组合,以实现最高效率。

Opus同样保持了低延迟特性,足以满足实时交互通信的需求。它的设计具有低复杂度,可以在低端的ARM处理器上运行,这意味着即使不是最先进的移动设备也能轻松支持运行Skype所需的Opus操作。

Opus已在IETF RFC 6716文件中标准化。CELT是“约束能量Lapped变换”的缩写,这是一种开放、免版税的有损音频压缩技术。它具有极低的算法延迟以支持低延迟音频通信,其设计采用了低延迟的MDCT技术,即“改进的离散余弦变换”。


视频编解码器:从VP7到H.264

在了解了音频编解码器之后,本节我们将目光转向Skype的视频编解码器发展历程。

Skype的视频编解码始于VP7,在Skype 5.5版本之前,它被用作视频编解码器。2005年后,Skype使用了TrueMotion VP7编解码器,这是原始VP7的演进版本。2011年初,Skype 5.5转向了更先进的VP8版本。

TrueMotion VP7和VP8是由On2 Technologies为Google开发的。Skype 5.7版本在群组和一对一标准清晰度视频聊天中均使用了VP8。

一个重大的变化发生在2011年Skype被微软收购之后。随后,视频编解码器更改为H.264,这是一种功能非常强大的协议,我们将在本讲座模块中详细解释。


Skype视频通话质量规格

最后,我们来具体看一下Skype不同模式下的视频通话质量参数。

以下是Skype视频通话的几种质量模式及其规格:

  • 标准模式:视频分辨率为320 x 240像素,帧率为15帧每秒
  • 高质量模式:视频分辨率为640 x 480像素,帧率为30帧每秒
  • 高清模式:最高分辨率达1280 x 720像素,帧率为30帧每秒

此外,其他H.264编解码器也用于群组和点对点(一对一)视频聊天中。


本节课中我们一起学习了Skype编解码器的演进与技术细节。我们从最初的G.729音频编解码器开始,探讨了轻量级的Silk和高效的Opus音频编解码器。接着,我们回顾了视频编解码器从VP7、VP8到行业标准H.264的发展过程,并了解了不同通话模式下的具体视频质量参数。这些编解码器技术是保障Skype实现高质量、低延迟实时通信的核心基础。

参考资料:本讲所提及的技术规格与历史信息。

143:20_4.3 YouTube 🎬

在本节课中,我们将学习全球最大的视频分享平台——YouTube。我们将了解它的历史、核心技术以及它在互联网视频服务中的分类和地位。

YouTube简介与历史 📜

YouTube是一个全球性的视频分享网站,它使用H.264、MPEG-4 AVC、WebM以及Adobe Flash Video等技术。

现在,让我们回顾一下YouTube的发展历程。

以下是YouTube发展过程中的关键节点:

  • 2005年2月:三名前PayPal员工创立了YouTube。创始人查德·赫尔利和陈士骏的灵感来源于难以在线找到2004年超级碗中场表演视频的经历,以及分享2004年印度洋海啸视频的需求。另一位创始人贾韦德·卡里姆的动机则是希望创建一个使用视频的在线交友服务。
  • 2005年2月14日:域名 www.youtube.com 被激活。
  • 2005年4月:首个视频《我在动物园》在圣地亚哥动物园被上传,内容展示了联合创始人贾韦德·卡里姆。
  • 2005年9月:一则耐克广告首次达到100万次观看。
  • 2005年11月至2006年4月:YouTube获得了1150万美元的风险投资。
  • 2005年12月:YouTube官方网站正式上线。
  • 2006年7月:YouTube宣布每天有超过6.5万个新视频被上传。
  • 2006年11月:谷歌收购了YouTube。
  • 2010年:总部迁至加利福尼亚州圣布鲁诺。
  • 2011年4月:数据显示,30%的视频占据了YouTube总观看次数的99%,这表明少数视频主导了大部分流量。
  • 2014年:YouTube宣布每分钟有300小时的新视频被上传。
  • 2015年:YouTube成为全球访问量第三大的网站,每月吸引超过150亿访客,成为世界顶级的电视和视频网站。
  • 2016年1月:圣布鲁诺总部扩建,可容纳2800名员工,总投资达2.15亿美元。

互联网视频服务分类 📺

上一节我们回顾了YouTube的成长史,本节中我们来看看互联网视频技术基于服务的分类。

互联网视频服务主要分为以下几类:

  1. 用户生成内容:这是YouTube的核心内容类型,主要由业余用户创建和生成。
  2. 专业生成内容:这是我们通常观看的传统视频内容,由工作室或广播公司制作,用于推广商业产品和服务,也包括广告。例如ABC.comHulu等平台的内容。
  3. 直接电影销售:指通过互联网直接向消费者销售电子版电影,即EST。流行的服务包括NetflixApple TVUltraviolet等。

什么是OTT技术? 📡

了解了视频内容的来源后,我们来看看承载这些内容的关键技术——OTT。

在媒体广播中,OTT指的是通过互联网直接向终端用户提供的媒体内容。互联网服务提供商仅负责传输IP数据包,即提供网络连接。

这与传统方式不同:传统上,媒体内容通常通过ISP购买;而在OTT模式中,ISP只提供网络和服务,内容通过其他方式购买。

消费者可以通过以下联网设备访问OTT媒体内容:有线或卫星电视机顶盒、智能电视、智能手机、个人电脑、笔记本电脑、平板电脑、游戏机等。

“Over The Top”这个术语最初来源于“在电视机顶盒之上”的概念,意指内容绕过传统有线电视网,通过互联网传输。如今,OTT的概念已经大大扩展。

YouTube的视频技术演进 🔧

前面提到YouTube使用多种技术,其视频播放技术也经历了一次重要演进。

YouTube早期的视频技术基于Adobe Flash Player插件。用户需要在个人电脑的浏览器中安装此插件才能观看YouTube视频。

2010年1月,YouTube实验站点开始利用HTML5内置的多媒体功能,使用户无需安装Flash Player即可观看视频。

由于HTML5的成功及其特性,2015年1月,HTML5被宣布为YouTube默认的播放方式。

需要注意的是,HTML5视频流使用MPEG-DASH技术。MPEG-DASH是基于HTTP的动态自适应流媒体技术。它不仅是YouTube使用的核心技术,也是当今世界上几乎所有视频系统主导的视频流技术。因此,后续课程将单独重点讲解MPEG-DASH。

MPEG-DASH通过根据网络状况控制视频和音频质量,支持基于HTTP的自适应比特率流媒体传输。

总结 📝

本节课中,我们一起学习了YouTube的发展历程,了解了它从创立到成为全球视频巨头的关键节点。我们探讨了互联网视频服务的三大分类:用户生成内容、专业生成内容和直接电影销售。我们还学习了OTT技术的概念及其与传统媒体分发的区别。最后,我们回顾了YouTube视频技术的演进,从早期的Adobe Flash Player过渡到如今基于HTML5和MPEG-DASH标准的自适应流媒体技术,这为其提供高质量、流畅的视频体验奠定了坚实基础。

这些是我使用的参考资料,推荐给你。

144:21_4.4 H.264/MPEG-4 AVC 🎬

在本节课中,我们将要学习H.264/MPEG-4 AVC视频编码技术。这项技术极其重要,因此本讲将重点介绍它。

概述:什么是H.264/MPEG-4 AVC?

H.264,即MPEG-4第10部分高级视频编码协议。当我们提到AVC时,我们指的是高级视频编码技术。

它是目前用于视频录制、压缩和分发最流行的标准。因此,它被广泛应用于Skype和YouTube等平台。了解这项技术至关重要。

技术背景与发展组织

从整体规范来看,H.264是由联合视频工作组开发的。JVT是ITU-T VCEG和ISO/IEC MPEG组成的联合视频团队。

深入了解细节,会发现其中涉及许多缩写和强大的国际标准化组织。以下是ITU-T和ISO/IEC JTC1等组织的描述。

该标准旨在以最低的比特率实现高质量视频。

核心技术原理

H.264是一种采用基于块的运动补偿压缩的视频标准。

它是一种基于运动补偿的压缩技术,其补偿单元是面向块的、经过选择的块单元。

这项压缩技术非常出色,因为它能在保证足够分辨率和画质的前提下,将文件体积压缩得非常小。这使得视频易于存储,也便于在网络中传输。

正是这两个特性使其如此流行,以至于Skype、YouTube以及几乎所有的视频流媒体和应用都使用它。

性能优势与特点

因此,我们需要进一步了解细节。H.264的设计目标是与MPEG-2、H.263或MPEG-4第2部分相比,比特率减半或更低。

实现比特率减半或更低,意味着在网络中传输更容易,或在内存中保存时文件体积更小。

这一目标的实现并未过多增加编码复杂性。然而,计算复杂度确实有所增加,但增幅不大。

考虑到现代设备拥有更强大的GPU和CPU,它们能够在相同的有限时间内完成这些计算任务。

H.264标准家族与编码配置

H.264是一个标准家族,并非单一类型,其内部包含多个不同的视频编码配置。

H.264解码器可能无法解码所有配置,因此需要告知可解码的配置。

H.264压缩可实现低比特率和较低分辨率。

H.264无损编码是可能的,但很少使用,因为它会导致文件体积变大。

后续发展与主要应用

H.265是MPEG-H第2部分,即高效视频编码,它是H.264/MPEG-4 AVC的继任者。

H.264的应用范围包括蓝光光盘、互联网流媒体源,这也是YouTube、Skype、iTunes Store和Vimeo都采用它的原因。

网络软件方面,Adobe Flash Player、Microsoft Silverlight等也包含在内。

高清电视广播公司同样使用它。此外,有线电视服务以及基于DVB-S和DVB-S2的卫星服务也采用该标准。

H.264的专利由多方持有,其许可由位于美国科罗拉多州丹佛市的专利池管理机构MPEG LA管理。

主要编码配置详解

以下是H.264的主要编码配置。

非可扩展2D视频应用配置包括:

  • CBP:受限基线配置,用于视频会议和移动应用等低成本场景。
  • BP:基线配置,用于需要额外数据丢失鲁棒性的低成本应用,同样用于视频会议和移动应用。
  • XP:扩展配置,用于流媒体视频,具有较高的压缩能力和增强的鲁棒性,以支持数据丢失和服务器流切换。

MP:主配置,用于采用MPEG-4标准的标清数字电视广播。MP也曾用于高清电视,但在2004年高级配置开发出来后已很少使用。

HP:高级配置,用于高清电视广播和光盘存储应用。它被用作蓝光光盘存储格式和高清电视广播服务。

ProHiP:逐行扫描高级配置,与HP类似,但不包含场编码功能。

CHiP:受限高级配置,与ProHiP类似,但不包含B条带。

High 10P:在HP基础上构建,增加了对解码图像精度高达每样本10比特的支持。

High 4:2:2P:用于使用隔行视频的专业应用。在High 10P基础上构建,增加了对4:2:2色度二次采样格式的支持,同时使用高达每样本10比特的解码图像精度。

High 4:4:4P:在High 4:2:2P之上构建,支持高达4:4:4的色度采样和每样本高达14比特的精度。

其他专业配置

H.264配置还包括仅帧内编码配置、编辑和专业应用配置。

以下是四个主要用于涉及摄像和编辑系统的专业应用的仅帧内配置。

可伸缩视频编码配置包括:

  • 可伸缩受限基线配置:主要用于实时通信应用。
  • 可伸缩高级配置:主要用于广播和流媒体应用。
  • 可伸缩受限高级配置:主要用于实时通信应用。
  • 可伸缩高级仅帧内配置:用于仅限于全帧内使用的制作应用。

多视点视频编码配置包括:

  • 立体高级配置:用于双视点立体3D视频的配置。
  • 多视点高级配置:用于两个或更多视点,同时使用基于时间的帧间预测和MVC帧间预测。
  • 多视点深度高级配置

以上是我使用的参考文献,我推荐给你们。谢谢。

总结

本节课中,我们一起学习了H.264/MPEG-4 AVC视频编码标准。我们了解了它的定义、开发组织、核心的基于块的运动补偿压缩原理,以及其低比特率、高画质、小体积的核心优势。我们还详细介绍了其庞大的标准家族,包括面向不同应用场景的各种编码配置,如用于移动和视频会议的基线配置,用于广播和蓝光的高级配置,以及面向专业制作和3D视频的可伸缩与多视点配置。理解H.264是理解当今主流视频技术应用的基础。

145:22_5.1 流媒体网络与技术(第1部分)📺

在本节课中,我们将学习流媒体网络与技术的基础知识。我们将从流媒体服务的网络类型开始,然后探讨不同的流媒体方法,包括渐进式下载和自适应流媒体,并分析它们各自的优缺点。

网络类型:管理式与非管理式网络 🏗️

首先,我们来了解两种主要的流媒体网络类型:管理式网络和非管理式网络。

管理式网络

管理式网络包括有线电视和IPTV服务。这类服务的特点是经过精心规划。

以下是管理式网络的主要特征:

  • 节目表会提前公布。
  • 在电影、电视剧、电视节目和新闻广播之间,会插入适量的广告。
  • 这些服务之所以可靠,是因为它们管理完善、预先排期,并且到您家中的传输机制也经过周密规划。
  • 它们使用组播传输技术,并具备受控的服务质量功能,从而提供非常可靠的服务。

非管理式网络

另一方面,非管理式网络使用单播连接向观众传输内容。

常见的传输方式是从服务器或内容分发网络进行交付。

  • 服务器可以是像YouTube服务器这样的广播服务器。
  • CDN指的是内容分发网络,这是一种用于在各种广域网络(包括可能跨越洲际的互联网)上进行视频流媒体和内容分发的网络。

因此,我们需要研究CDN技术,这将是本课程下一个模块的主题。

流媒体方法 📡

上一节我们介绍了流媒体网络的基础类型,本节中我们来看看具体的流媒体方法。流媒体方法主要分为专有流媒体协议和基于HTTP的流媒体。

流媒体协议包括运行在TCP或UDP上的专有协议。此外,还有基于TCP的HTTP流媒体,这在渐进式下载技术中很流行。

我们还需要关注传统流媒体与自适应流媒体技术,尤其是因为自适应流媒体是当前的主流,并且未来网络也将依赖它。我们将在本课程中学习其技术原理。

传统流媒体服务

传统流媒体服务包括微软的Windows Media、苹果的QuickTime、Adobe Flash等,这些都是您可能已经使用过的流行媒体服务技术。

渐进式下载

渐进式下载使用基于TCP的HTTP协议。只要下载并缓冲了必要数量的数据(大约2到10秒的视频信息),视频就可以开始播放。

当然,由于视频被缓冲并存储在内存中,您可以决定何时开始播放、暂停,或者快进、快退观看视频的不同部分。您不能快进到尚未接收到的部分,但可以稍微快进,查看设备是否已经下载并接收了那部分视频。

渐进式下载有其优点和缺点。

以下是渐进式下载的优点:

  • 轻松支持暂停和重新缓冲。
  • 轻松支持特技模式,使您能够执行快进、定位播放、倒带等功能。

以下是渐进式下载的缺点:

  • 服务器必须存储同一视频的多个分辨率版本,这会占用服务器更多空间。

关于特技模式的更多细节

特技模式的一个例子是,当您在YouTube上观看视频时,您观看到了某个点,想要跳到后面或倒回到某个位置查看视频的不同部分。您所做的就是按住进度条上的红点并移动它,旁边出现的小窗口会显示如果您在那个位置重新开始播放,视频将从何处开始。这就是我们所说的特技模式,它使视频观看变得非常方便。

自适应流媒体技术 🔄

传统流媒体技术依赖于固定的传输速率,而自适应流媒体则是一项更高级的技术。在这种技术中,观看设备会监控其回放缓冲区和网络状况。

网络状况与带宽、误码率、吞吐量、各种延迟组件有关。设备将选择最合适的视频版本(即视频分辨率),并使用渐进式下载来决定显示哪个级别的视频。

例如,可能存在普通模式,但如果网络状况良好且缓冲区有一定空间,您或许可以切换到高清模式。高清模式下每秒帧数会增加,同时每幅图像的分辨率也会提高,这将增加接收的数据速率。只有当您的网络状况和回放缓冲区有足够空间时,才能这样做。

一些自适应流媒体服务示例包括:

  • MPEG-DASH:DASH代表基于HTTP的动态自适应流媒体,这是全球最流行的网络技术。
  • 微软平滑流媒体。
  • 苹果HTTP直播流媒体。
  • Adobe HTTP动态流媒体。

其中,MPEG-DASH是最流行的。

基于HTTP的自适应流媒体优势 🌐

使用基于HTTP的自适应流媒体的优势基于以下事实:HTTP具有无处不在的连接性,意味着几乎所有设备都支持HTTP连接。

HTTP是一种拉取协议。拉取协议与推送协议相反。基于HTTP的自适应流媒体之所以具有优势,是因为拉取流媒体具有以下好处。

以下是拉取流媒体的主要优势:

  • 易于穿越中间设备:中间设备包括防火墙、网关、网络地址转换设备等。这是因为它是拉取服务,设备会发出请求,要求发送特定数量的视频信息。这样,中间设备就能看到设备请求了多少,然后看到服务器发送了相应数量。因此,它可以信任发送到网络给用户的量是合适的。
  • 服务器仅需维护最少的设备状态信息:如果使用推送服务,服务器需要跟踪它向移动设备发送了多少数据、网络状况、是否有错误以及是否需要重传。如果您同时控制许多移动用户,这需要跟踪大量信息,使服务器需要跟踪的控制机制变得非常复杂。另一方面,在拉取服务中,您的智能手机会根据它看到的网络状况、拥有的内存量以及当前显示的视频状态来请求所需的数据量。因此,服务器需要跟踪的工作量在拉取服务中是最小的。
  • 可扩展性更强:与推送流媒体服务器相比,拉取服务的可扩展性更强。这意味着,一台支持多个用户的服务器,在使用拉取模式时,可以支持比推送模式多得多的用户。可扩展性的好处正源于此。

总结 📝

本节课中,我们一起学习了流媒体网络与技术的基础。我们从管理式和非管理式网络入手,了解了有线电视、IPTV与互联网流媒体的区别。接着,我们探讨了不同的流媒体方法,包括传统流媒体、支持特技模式的渐进式下载,以及更先进的自适应流媒体技术。我们重点分析了基于HTTP的自适应流媒体(如MPEG-DASH)的工作原理和核心优势,特别是其拉取协议的特性如何带来穿越防火墙能力强、服务器负担轻和可扩展性高等好处。理解这些基础概念是掌握现代视频传输服务的关键。

146:流媒体网络与技术(第二部分)📡

在本节课中,我们将深入探讨流媒体技术的两种核心传输模式:基于推送(Push-based)和基于拉取(Pull-based)的自适应流媒体。我们将了解它们的工作原理、优缺点以及相关的技术标准。


基于推送的流媒体技术

上一节我们介绍了流媒体的基本概念,本节中我们来看看基于推送的流媒体技术。

在这种模式下,服务器持续向客户端发送数据包,直到客户端停止或中断会话。其形式是服务器不断发送数据,直到接收设备发出停止信号。服务器维护与客户端的会话状态,并监听客户端关于会话状态变化的指令。

以下是两种流行的基于推送的流媒体服务协议:

  • RTSP:实时流协议,是一个基于RFC 2326的IETF标准。通常使用TCP作为会话控制协议。
  • RTP:实时传输协议,是一个基于RFC 3550的IETF标准。通常使用UDP。RTP over UDP 允许服务器向客户端推送数据包。

服务器的比特率由应用的服务质量要求以及客户端和服务器的特性决定。比特率指的是以比特每秒为单位测量的数据流量,可以表示为 bits/second 或简写为 bps

基于推送流媒体的缺点

以下是基于推送流媒体技术的主要缺点:

  • 服务器负担过重:服务器需要处理太多任务。
  • 设备状态难以追踪:由于服务器与移动设备距离遥远,当设备经历某种状态并报告回服务器时存在时间差,因此服务器总是试图追赶你设备上正在发生的当前状态。
  • 防火墙可能阻挡RTP数据包:许多防火墙会阻挡RTP数据包,因为它们无法判断发送到移动设备的数据包是基于设备请求还是一种安全攻击。
  • 网络支持有限:许多已被CDN替代的互联网服务网络不支持RTP,因为RTP可能具有危险性并可用于网络攻击。

内容分发网络是视频流服务中使用的核心技术之一,我们将在下一个模块中学习CDN。


基于拉取的自适应流媒体技术

了解了推送模式的局限性后,现在我们转向更主流的基于拉取的自适应流媒体技术。

在这种模式下,媒体客户端(如你的智能手机或个人电脑)向服务器发送HTTP请求,以突发模式快速拉取内容数据包。这意味着当你请求内容时,你希望它能被非常快速地发送,以便你按顺序接收数据包,将其存入内存,然后在移动设备上回放。

当所需的最小缓冲水平被填满后,媒体客户端就能够播放并在媒体播放器上显示内容。服务器以匹配媒体消费速率的媒体编码比特率进行传输。视频以特定速率显示,使得内存中的视频数据包被消耗,而媒体编码比特率的设置方式将与该速率匹配。

此外,如果客户端缓冲水平大致稳定在某个固定水平,网络资源将被高效利用。为了让客户端设备的缓冲水平保持稳定,意味着视频数据包在显示器上被消耗和显示的速度,与数据包到达缓冲区(内存)的速度大致相同,这样整体缓冲水平才能保持稳定。在这种情况下,网络资源的使用效率很高。

如果网络数据包丢失或遇到传输延迟,则会发生缓冲区欠载,缓冲区会变空,因为数据包无法正常到达。因此,播放可能会中断,视频会在中途停止。服务器会动态切换到较低的比特率流以防止缓冲区欠载。这意味着传入的视频数据包将以支持较低分辨率视频的方式制作,从而减少发送的数据包数量和大小。因此,整体流媒体速度可以维持,因为你发送的数据量匹配了较小的网络吞吐量。当然,你损失的是视频的分辨率。

为了避免明显的视频质量下降,会采用渐进的比特率流降低。这意味着如果网络条件恶化,则逐渐降低视频质量,从而需要更少的数据包和吞吐量。如果网络条件改善,则服务器切换到更高的比特率,直到恢复媒体编码比特率。如果错误条件改善,你会希望恢复到之前使用的高质量,这需要网络吞吐量和网络中的其他条件能够支持这种更高的分辨率和吞吐量。

基于拉取的自适应媒体流工作方式如下:存在各种电影比特率和片段。细节将在后续幻灯片中解释。

首先,让我们看一个例子,它始于对电影A的清单请求。服务器回复一个清单给将要播放视频的设备。收到这个清单意味着服务器将支持你对电影A的请求。然后,拉取过程开始。客户端将请求每秒200千比特的数据速率,这是视频流发送给自身的数据速率,参考时间为零。随着视频数据包的到来,客户端会看到网络条件相当好,因此它会请求更高的分辨率,数据速率在2秒时上升到每秒400千比特。然后它要求更高质量升级,在4秒时请求每秒800千比特,随后接收到更高的数据速率。但是,当我们以每秒800千比特的更高速率接收时,遇到了一些数据包丢失和延迟,因此客户端决定降低速率,在6秒时请求每秒400千比特的速率。之后网络条件改善,它又回到更高的速率,在视频服务开始8秒时请求此服务。这就是我们达到这个范围的方式,也是自适应媒体流媒体的实现方式,你可以看到它基于拉取机制,请求什么就得到什么。


媒体流结构解析

现在我们来剖析一下媒体流的结构。基于MP4技术的文件格式,首先你会看到开头是文件类型。然后我们有电影元数据部分。接着我们进入片段部分,在片段部分,你可以看到音视频数据位于MDAT框中。MDAT代表媒体数据。MDAT框和元数据形成一个片段。此外,片段通过HTTP GET请求消息检索。

观察片段内部,我们有整体的MOOF(电影片段部分),然后是我们解释过的媒体数据部分。这就是一个片段中包含的内容。然后我们有电影片段随机访问部分,我们将使用这部分。

查看HTTP请求消息的例子,你可以看到这是一个GET消息。每个片段基于唯一的HTTP请求-响应对进行下载。此外,HTTP请求消息头包含两条重要信息:一是比特率,二是请求片段的时间偏移量。你可以从这里估计这些信息。


客户端自适应流媒体实现

最后,我们来看看基于拉取的自适应媒体流结构与服务器交互的细节。顶部有一个GET请求,底部是响应。客户端管理这些组件,客户端监视和测量这些因素,然后客户端将根据网络及其自身缓冲区条件执行一定程度的自适应。

现在我们将看到一个通用的客户端侧、基于拉取的自适应流媒体实现示例。客户端根据播放缓冲区状态和其他条件(包括网络状态),从一个或多个连接获取文件的片段媒体。GET请求和响应部分是关键组件。至少,服务器提供对HTTP GET请求的标准响应,意味着它可以提供至少标准响应或更多信息。

客户端获取一个清单文件,该文件标识整体媒体呈现和替代比特率。这些替代比特率用于更高或更低分辨率的视频和音频。

然后是客户端管理组件。客户端需要一个客户端侧清单或播放列表文件,以将片段请求映射到特定文件,或将字节范围或时间偏移映射到文件。此外,在一些自适应流媒体技术中,服务器上的类似文件会转换客户端请求。

接着是客户端监视和测量组件,其中播放缓冲区管理根据缓冲区状态和其他变量,从特定比特率的文件中选择片段。你可以看到实际测量和监视的组件。此外,客户端基于这些监视值执行自适应。

自适应流媒体客户端保存几秒钟的播放缓冲区,并希望以稳定的方式维持这个水平,因为如果保持稳定,网络将被高效利用。它试图保持大约5到30秒的视频播放时间。


总结

本节课中,我们一起学习了流媒体网络的两种关键技术。我们探讨了基于推送的流媒体(如RTSP/RTP)的工作原理及其在服务器负担和网络兼容性方面的缺点。接着,我们深入研究了基于拉取的自适应流媒体技术,了解了客户端如何根据网络条件和缓冲区状态,通过HTTP请求动态调整视频质量(比特率)以实现平滑播放。我们还分析了媒体流的结构(如基于MP4的片段格式)以及客户端实现自适应的关键组件。理解这些机制是掌握现代视频流服务(如YouTube、Netflix)如何高效运作的基础。

147:24_5.2 视频帧和HTTP(第1部分)📹

在本节课中,我们将要学习视频压缩中的关键帧类型,以及基于HTTP的渐进式下载流媒体技术。理解这些概念对于掌握现代视频传输和存储至关重要。

视频帧类型解析 🎞️

视频片段由不同类型的帧组成,它们共同协作以实现高效压缩。

以下是三种主要的视频帧类型:

  • I帧(帧内编码帧):这是一个独立编码的图像。如果你获得一个I帧并尝试在显示器上呈现,它可以正常工作,因为它包含了图像的全部信息。
  • P帧(预测帧):为了提升压缩率,我们使用P帧。一个P帧依赖于一个先前解码的I帧或P帧。与I帧相比,P帧的尺寸更小,因为它只编码相对于前一帧发生变化的部分,这显著提高了压缩率。
  • B帧(双向预测帧):B帧依赖于多个先前解码的图像。这意味着它可以从前后的参考帧中获取信息来构建自身。通过结合少量来自多个帧的图像信息,可以用非常低的数据率创建新图像,从而使压缩非常高效,生成的文件非常小。

P帧和B帧具有更高的压缩率,这使得视频流文件非常小,这是非常理想的。它们编码的是运动补偿差异,即仅包含相对于其他帧的相对信息,这就是它们能保持小尺寸并实现高压缩率的原因。

图像组(GOP)的概念 🔄

视频帧基于视频片段,这些片段由一个或多个GOP组成。GOP代表图像组。

每个图像组以一个I帧开始,后面跟着P帧或B帧。与全部使用I帧相比,这导致了更小的视频文件尺寸,因为I帧由于包含图像的完整信息而体积较大。

在GOP中使用P帧和B帧可以实现非常高的数据压缩率。

GOP有两种类型:

  • 封闭式GOP:其中的P帧和B帧的解码仅依赖于该GOP内的帧。
  • 开放式GOP:其中的P帧或B帧会依赖于超出其所在GOP范围的帧。

当你使用开放式GOP时,需要将其他一些GOP打开并保存在内存中,因为开放式GOP中的一些P帧和B帧需要从那些先前已打开并在视频中播放过的GOP中获取信息。然而,当你使用封闭式GOP时,为视频流播放分配的内存缓冲区总体大小可以更小,因为一切都是自包含的。你打开一个GOP,所有的关联都在那个GOP内部。因此,基于封闭式和开放式,你可以实现不同级别的缓冲区管理,视频回放的方式也取决于你使用的GOP类型。

HTTP渐进式下载 📥

上一节我们介绍了视频压缩的基础,本节中我们来看看一种广泛应用的流媒体传输方法。

HTTP渐进式下载是最广泛使用的基于拉取的媒体流方法之一。这是因为它具有普遍存在的连接性。几乎所有的移动设备、个人电脑、笔记本电脑、平板电脑都使用这项技术,这就是它如此流行以及你需要了解它的原因。

它被用于互联网上几乎所有的应用程序和网络服务。YouTube使用基于TCP的HTTP,各种其他视频流技术也使用它。

TCP支持错误恢复、数据段重排序。错误和丢失的数据包由TCP协议恢复。

YouTube需要提供自适应传输控制以避免视频卡顿,而这正是MPEG-DASH所做的事情。

以下是基于HTTP的拉取式媒体流的特点:

  • 这是用于视频服务交付和各种媒体流交付的最常见协议。
  • 媒体客户端是主动向媒体服务器请求内容的实体。
  • 服务器的响应取决于客户端的请求,因此你可以看到这是一种直接的拉取机制,除非被请求,否则服务器不会将内容发送到你的智能手机。
  • 此外,客户端决定接收媒体数据包的比特率。

比特率的决定因素基于客户端的缓冲区状态以及可用的网络数据传输速率和延迟。

本节课中我们一起学习了视频压缩中的I帧、P帧和B帧,理解了它们如何通过图像组(GOP)协作以实现高效压缩。我们还探讨了HTTP渐进式下载作为主流流媒体传输协议的工作原理,包括其拉取机制和自适应比特率选择。这些知识是理解现代视频技术从存储到传输全过程的基础。

148:25_5.2 视频帧和HTTP(第2部分)📡

在本节课中,我们将要学习超文本传输协议(HTTP)的基本概念、发展历史、工作原理及其在视频流媒体中的应用。我们将了解HTTP如何作为万维网数据通信的基石,并探讨其与TCP协议的结合如何支持稳定的视频传输。


HTTP概述 🌐

HTTP是一种应用层协议,它实现了万维网的数据通信。HTTP非常流行,它支持分布式、协作式的超媒体信息系统。此外,HTTP是用于交换或传输超文本的协议。

超文本是一种结构化的文本,用于个人电脑、智能手机和服务器之间的超链接。网站地址就是通过具有特殊格式的文本来使用和请求的,这些格式支持网站和各种超文本服务。因此,HTTP是必需的,并且基于其“拉取”机制的特性,它自然变得非常流行。

HTTP的历史与发展 📜

HTTP的历史相当有趣。它于1989年由欧洲核子研究组织(CERN)创建,并由互联网工程任务组(IETF)和万维网联盟(W3C)标准化。从一开始,它就是被设计用作网络互联网支持机制的,并且无疑实现了其最初的目的。

以下是HTTP的主要版本演进:

  • HTTP 1.0:原始版本。它为接收到的每个资源请求都与同一服务器建立单独的连接。
  • HTTP 1.1:升级版本,于1997年发布(RFC 2068)。这种机制可以多次复用同一个连接来下载视频、音频和数据,显著提高了支持多连接的效率。1999年发布的RFC 2616修订并取代了RFC 2068,这是现今互联网上常用的版本。
  • HTTP/2:于2015年标准化,目前已被主流网络服务器支持。

HTTP的工作原理 ⚙️

HTTP作为一种基于客户端-服务器计算模型的请求-响应协议运行。客户端发出请求,服务器发送响应。这是一种典型的基于拉取的机制:客户端发出拉取请求,服务器进行响应。

一个例子是:客户端是网络浏览器,服务器是托管网站的计算上运行的应用程序。

上图展示了一个示例:客户端向服务器发送HTTP请求消息。你可以看到请求消息基于GET方法、URL和HTTP版本1.1。服务器会发回一个包含OK状态码的响应消息,资源数据随之返回给客户端。当然,数据也可以从服务器流向客户端,正如前一页示例中所讨论的。

服务器向客户端提供资源(如HTML文件、视频内容)或功能。服务器向客户端发回响应消息,该响应包含请求处理的状态信息。

HTTP允许中间网络元素来改善或促成客户端与服务器之间的通信。

HTTP与传输层协议的结合 🔗

HTTP是一种需要可靠传输层协议的应用层协议。这就是HTTP与TCP配合良好的原因,因为TCP提供会话控制和基于窗口的流量控制,这使得通信非常可靠。因此,HTTP over TCP是一个良好的组合,这也是YouTube视频使用它的原因。

HTTP也可以使用不可靠的协议,例如在HTTPU和简单服务发现协议(SSDP)中。

HTTP的关键特性与优势 ✨

HTTP资源在互联网上使用统一资源定位符(URL)进行标识。URL使用http://https://的URI方案。URL是超文本标记语言(HTML)文档中的超链接,这些文档相互链接形成超文本文档。

HTTP通常受到防火墙的支持,因此由于安全问题导致的连接阻塞很少发生。这再次归功于其基于拉取的机制。

以下是HTTP的一些核心优势:

  • 客户端控制:客户端设备控制流媒体,因为它基于拉取机制。
  • 无状态:服务器无需维护客户端设备的会话状态信息,再次因为它基于拉取机制。
  • 连接复用:HTTP 1.1可以多次复用同一个连接,这是1.1版本的优势之一,可用于下载视频、音频和数据。
  • 缓存优势:热门网站可以从网络缓存服务器中受益。这些服务器可以代表上游服务器发送先前存储的内容,以减少响应时间。这不仅能加快响应速度,还能防止不必要的流量在互联网上交换,从而有助于提高互联网质量。
  • 代理支持:位于私有网络边界的HTTP代理服务器可以通过中继与外部服务器的消息,来促进没有全局路由地址的客户端进行通信。

自适应HTTP流媒体技术 🎥

上一节我们介绍了HTTP的基础,本节中我们来看看它在现代视频流媒体中的关键应用:自适应HTTP流媒体。

自适应视频码率控制与渐进式下载相结合,是使用自适应HTTP流媒体的典型技术。

在专有服务中包括:

  • 微软平滑流式处理
  • Adobe HTTP动态流
  • 苹果HTTP实时流

它是一种自适应视频码率控制与渐进式下载的结合。

以下是其工作原理:
服务器上存储着同一视频的多种不同质量的版本(表述)以供下载。你会在MPEG-DASH标准中看到这一点。

视频通常被分割成长度为2到10秒的片段。客户端设备基于片段长度,每2到10秒定期检查一次网络状况,并可能做出调整。这些调整是基于片段单元的。因此,在一个片段内,你观看正在播放的内容;对于下一个片段,我可能想要不同的数据速率或不同的视频质量。因此,控制单元是基于片段段的,这就是为什么每2到10秒(基于片段大小)也是进行定期检查的参考依据。

客户端缓冲策略与码率选择 🎯

客户端设备试图避免视频卡顿,因为我们希望视频流畅播放,因此我们希望避免缓冲区被清空。我们不希望发生缓冲区饥饿。我们希望缓冲区维持在一个稳定、良好的水平,使得视频播放和视频数据包到达的速率相同或几乎相同,从而以稳定的方式维持缓冲区水平。

一个常用的选择方案是:我们希望选择的视频播放器质量等级略低于网络所能支持的比特率。因为如果你使用了网络的全部容量,那么网络吞吐量的微小变化都会对正在接收的视频流产生波动影响。我们不希望那样,我们希望它尽可能稳定。这就是为什么我们不使用吞吐量所能支持的全部容量,而是希望将其降低一点,并以稳定、平稳的方式使用该水平。

这样做还有节省网络带宽的效果,同时使视频播放非常稳定,从而避免缓冲区清空(缓冲区饥饿)的发生。

自适应流媒体的两阶段过程 🔄

自适应HTTP流媒体的下载过程通常分为两个阶段:

  1. 突发下载阶段:实现非常快速的客户端缓冲区填充,并尝试快速启动视频播放。
  2. 节流下载阶段:维持缓冲区填充水平,以避免视频卡顿。

首先,我们为了尽快开始播放视频而进入突发模式,大量下载数据并快速开始播放。然后,我们希望维持一个稳定的水平。



本节课中我们一起学习了HTTP协议的核心概念、发展历程及其作为视频流媒体传输基础的关键作用。我们探讨了HTTP与TCP协议的可靠结合、其基于客户端拉取的无状态特性带来的优势,并深入分析了自适应HTTP流媒体技术如何通过分段、码率自适应和两阶段缓冲策略来确保视频流畅播放,避免卡顿。理解这些原理是掌握现代网络视频传输技术的基础。

149:26_5.3 YouTube的MPEG-DASH(第1部分)📺

在本节课中,我们将要学习YouTube如何利用MPEG-DASH和自适应HTTP流媒体技术来传输视频。我们将了解视频分辨率的概念、不同类型的HTTP流媒体技术,并详细解析MPEG-DASH的工作流程。

YouTube的MPEG-DASH示例 🎬

YouTube使用MPEG-DASH和自适应HTTP流媒体技术。在这个例子中,可以看到YouTube使用了八种视频分辨率。

以下是YouTube使用的八种视频分辨率:

  • 144p
  • 240p
  • 360p
  • 480p
  • 720p
  • 1080p
  • 1440p
  • 2160p

这里的“p”代表像素。它显示了图像的高度像素数,并以此定义分辨率。例如,144p对应一个256x144像素的图像。

与最低的144p分辨率相比,其他分辨率的像素数量更高。例如,240p的分辨率大约是144p的1.6倍,360p则大约是2.5倍。随着分辨率提高,像素数量显著增加。

HTTP流媒体类型 📡

互联网上的视频流媒体最常用的是基于TCP的HTTP流媒体,YouTube就使用这种技术。Netflix和Hulu等其他流行服务也使用它。

以下是三种主要的HTTP视频流媒体类型:

  • 常规HTTP流媒体:将整个视频完全下载到客户端设备。
  • 渐进式下载:以固定质量逐步下载视频。
  • 自适应流媒体:这是基于HTTP的自适应流媒体,它结合了自适应视频质量、自适应码率控制和渐进式下载技术。YouTube使用的MPEG-DASH就是典型技术。

渐进式下载的优势 💾

上一节我们介绍了流媒体类型,本节中我们来看看渐进式下载的具体优势。

对于内存空间有限的移动设备,可能无法存储整个视频文件。渐进式下载技术非常有用,因为它不需要完全下载整个视频。

以下是渐进式下载的两个主要优势:

  • 节省设备存储空间:该技术允许设备只下载并缓冲几秒到几十秒的视频内容进行播放,已观看的部分可以被清除,因此无需保存整个文件。这对于内存有限的设备或播放超大视频文件时是极佳的解决方案。
  • 节省数据与带宽:许多用户不会观看整个视频。分析发现,在YouTube等服务中,很多人只观看约20%的视频内容。如果下载整个视频,未观看的80%将浪费个人数据流量和互联网带宽。渐进式下载避免了这种浪费。

这些优势使得MPEG-DASH技术极具吸引力,这也是YouTube采用它的原因。

YouTube DASH服务示例 🔄

这是一个基于YouTube MPEG-DASH视频服务的示例。请注意,视频和音频包含多种质量等级,数据速率更高的等级对应更高的分辨率。

让我们详细解析这个过程:

  1. 从参考点1开始,视频和音频处于初始质量。
  2. 随着网络条件变差(吞吐量下降、延迟增加、出现数据包错误),服务会降低到较低的数据速率。在此例中,视频质量从5 Mbps降至2 Mbps,而音频质量保持不变。这是因为降低视频质量能节省更多带宽。
  3. 网络条件继续恶化,我们从2 Mbps降至“特技模式”。此时,音频质量也从128 Kbps降至更低的模式。
  4. 在“特技模式”下,如果你用手指拖动视频进度条回退到某个已观看的位置(即执行回放操作),视频和音频需要同步跳转到该时间点,这个效果会同时体现在音视频上。
  5. 从点4重新开始播放后,随着网络条件改善,音视频质量会一同提升到更高级别。

这就是YouTube和DASH控制流媒体的方式。此例中只展示了三种视频分辨率和特技模式,但实际的YouTube视频可以包含更多分辨率等级,如前所述,最多可达八级。

MPEG-DASH技术规范 ⚙️

上一节我们通过示例了解了DASH的运作,本节中我们来看看其技术规范。MPEG-DASH规范基于ISO/IEC 23009-1标准。

MPEG-DASH标准主要定义了媒体呈现描述(MPD)媒体段格式。MPD描述了媒体编码的交付格式,包括视频段、自适应下载和码率控制等,这些由客户端设备上的应用程序决定。

在HTTP服务器上,存储着MPD文件以及视频和音频数据段。

DASH客户端播放流程 🖥️

DASH客户端的播放基于以下步骤,这是一个典型的“拉取”机制:

  1. 请求MPD:DASH客户端向服务器请求MPD文件。
  2. 交付MPD:MPD通过HTTP、电子邮件、U盘、广播或其他机制交付给客户端。
  3. 解析MPD:客户端解析MPD文件。
  4. 读取信息:客户端MPEG-DASH应用程序读取MPD中的信息,包括节目时间、媒体内容可用性、媒体类型、分辨率、最小和最大带宽、可用多媒体分辨率类型等。
  5. 选择并开始流媒体:客户端选择合适的编码版本,并通过发送HTTP GET请求获取媒体段来开始流媒体播放。
  6. 缓冲与监控:使用适当的缓冲来补偿网络吞吐量的变化。客户端持续获取后续段,并监控网络带宽波动。
  7. 自适应调整:客户端通过获取更低或更高比特率的段来适应可用带宽,以维持充足的缓冲区。

系统架构概览 🏗️

在HTTP服务器端,存有媒体段、片段和MPD。在DASH客户端,包含以下组件:

  • MPD解析器
  • 媒体段解析器(用于视频流数据)
  • 媒体播放器单元
  • HTTP客户端(此例基于HTTP/1.1,也可以是HTTP/2.0)
  • 控制启发式引擎

所有这些组件在DASH客户端内协同工作,使得在服务器的帮助下,MPEG-DASH视频可以在你的设备上播放。这正是YouTube MPEG-DASH所使用的技术。

总结 📝

本节课中我们一起学习了YouTube视频流媒体的核心技术MPEG-DASH。我们了解了从144p到2160p的各种视频分辨率,认识了常规HTTP流媒体、渐进式下载和自适应流媒体(如DASH)的区别,并重点剖析了渐进式下载在节省存储和带宽方面的优势。通过一个生动的示例,我们看到了DASH如何根据网络条件动态调整音视频质量。最后,我们深入探讨了MPEG-DASH的技术规范、基于客户端“拉取”机制的完整工作流程,以及服务器和客户端各自的关键组件。这些知识帮助我们理解了像YouTube这样的大型平台如何高效、自适应地向全球用户交付视频内容。

150:27_5.3 YouTube的MPEG-DASH(第2部分)📺

在本节课中,我们将深入学习MPEG-DASH媒体呈现描述(MPD)的详细结构与核心功能。我们将解析MPD的层级构成,并探讨其如何支持自适应流媒体中的各种高级特性,如码率切换、广告插入和多语言支持等。


解析MPD的整体结构 🏗️

上一节我们介绍了MPEG-DASH的基本概念,本节中我们来看看MPD文件的具体内容与结构。

MPD是媒体呈现描述文件。如图所示,一个MPD包含多个Period(时段)。每个Period都有其ID、起始时间等信息。如果我们展开其中一个Period,例如Period ID 2,可以看到它的起始时间是60秒。此外,Period内部还包含多个Adaptation Set(自适应集)。

那么Adaptation Set里有什么呢?让我们打开Adaptation Set 1。里面包含了多个Representation(表示),例如:

  • Representation 1:码率为5 Mbps
  • Representation 2:码率为2 Mbps
  • Representation 3:码率为500 Kbps
  • Representation 4:支持特技模式

接下来,我们深入查看Representation 2。它标明了码率为2 Mbps,并且包含了Segment(分片)信息。在Segment信息中,列出了分片的时长,以及初始化分片和多个媒体分片(如Media Segment 1, 2, 3, 4)。

综上所述,你现在了解了MPD内部包含什么,以及为什么MPD对于支持像YouTube这样使用MPEG-DASH的客户端至关重要。


MPD的核心层级与概念 🔍

MPD采用层级结构来组织流媒体内容。

  1. Period:这是一个节目时间区间,包含了起始时间和持续时长信息。一个MPD可以包含多个Period。
  2. Adaptation Set:每个Period内包含多个Adaptation Set。一个Adaptation Set包含同一内容(如视频、音频、字幕)的不同Representation
  3. Representation:这是同一多媒体内容的不同编码版本,通常具有不同的码率。码率基于分辨率、声道数等信息决定。Representation也可以包含用于特技模式的版本。对于YouTube等服务,支持特技模式是必需的。

特技模式是指用户可以快速前进、后退或跳转到视频特定位置的应用。我们之前学习过一些帧信息,如I帧、P帧和B帧。通常,I帧会用于特技模式。因为当你拖动进度条时,视频和音频的参考点会一起移动,此时你通常会看到一张静态图像作为起始画面。I帧包含完整的独立图像信息,因此非常适合用于表示特技模式中的预览画面。在开发此类流媒体服务时,特技模式中的小窗口可以是低分辨率的I帧。

  1. Segment:Representation由多个媒体分片信息组成。分片是按时间顺序从媒体流中切分出来的数据块。每个分片都有一个URI(统一资源标识符),这对于基于Web的应用至关重要。URI指明了多媒体内容可以从哪个服务地址位置下载。下载使用HTTP GET请求,可能包含字节范围。

  2. Segment信息:包含初始化分片和多个媒体分片的信息。


MPEG-DASH的关键特性 ✨

MPEG-DASH规范包含许多强大特性,这些特性被用于自适应视频流技术中。

以下是其主要特性:

  • 切换与可选流:支持在不同流之间进行选择和切换。
  • 广告插入:这看似简单,但对于运营服务器和视频流服务的公司而言,广告插入可能是最重要的收入来源。
  • 紧凑型清单与分片清单:提供不同的清单格式。
  • 可变时长分片:分片的持续时间可以变化。

切换与可选流

如图所示,在Period 1中,你可以看到:

  • 视频:5 Mbps, 2 Mbps 及更低码率
  • 英语音频:128 Kbps, 48 Kbps
  • 法语音频:128 Kbps, 48 Kbps
  • 英语和法语字幕

MPD为客户端提供了充分的信息,使其能够在基于时段分段的单元中进行选择和切换。

具体切换选项包括:

  • 从不同语言中选择一个音频流。
  • 在不同摄像机角度之间选择视频流。
  • 从提供的语言中选择字幕。
  • 动态切换同一摄像机视频的不同码率。

正是这些多样化的切换和可选项目支持,使得MPEG-DASH如此强大和高效。

广告插入

广告可以作为一段独立的Period插入到其他Period之间,或者作为Segment插入到其他Segment之间。这同时支持点播和直播场景。这种灵活性对服务提供商极为有利。再次强调,插入广告可能是负责视频流或服务器的公司最重要的收入来源。

紧凑型清单与分片清单

紧凑型清单意味着分片地址URL可以通过模板方案来指示,从而生成紧凑的MPD。MPD也可以被分成多个部分,其中一些元素可以被外部引用,这使得MPD可以分步下载。每种方式都有其优缺点。

可变时长分片

如下例所示,分片的持续时间可以变化。在直播流中,下一个分片的时长信息可以随着当前分片的交付,通过事件提供给客户端。特别是在进行直播时,分片时长的这种灵活性非常有益。


高级功能与未来展望 🚀

MPEG-DASH还包含一系列高级功能,确保其适用于现在和未来的复杂应用场景。

以下是这些高级功能:

  • 多源与CDN支持:如图所示,内容可以存放在不同的服务器或CDN上。多个基础URL可以被使用,同一内容可以在多个URL上可用,客户端可以从任何提供的URL进行流式传输。CDN选项的反复出现,正是我们将在下一模块中学习CDN的原因。
  • 直播会话的时钟漂移控制:每个分片可以包含UTC时间。UTC时间使客户端能够控制其时钟漂移并重新同步,从而确保通过互联网、广域网和局域网技术进行的视频流过程完美协调。
  • 支持SVC与MVCSVC(可伸缩视频编码)和MVC(多视点视频编码)都很重要。MPD提供了关于这些表示之间解码依赖关系的充分信息,可用于流式传输任何SVC或MVC多层编码的流。
  • 灵活的描述符集:描述符用于描述内容分级、组件角色、辅助功能特性、摄像机视角、帧封装、音频声道配置等。这为你提供了控制和切换显示内容的能力。
  • 自适应集分组:可以根据内容作者的指导将自适应集分组为子集,使内容的呈现方式符合原始创作者的意图。
  • 用于报告会话体验的质量指标:MPEG-DASH标准定义了一组质量指标。客户端使用这些指标进行测量并报告给服务器,从而使服务器能获得关于会话体验质量的反馈。这些信息可用于改进网络管理和控制方式,并据此规划、调度和部署各种其他特性。

这些特性大多以灵活和可扩展的方式提供,并非强制要求。你可以选择想要使用的选项,并决定如何使用它们。这使得MPEG-DASH能够以灵活的方式用于各种未来的应用中。这也是我如此详细讲解的原因——MPEG-DASH不仅是当今的技术,也将是未来的技术。如果你理解了我刚才解释的内容,将来你将能在自己的应用中以各种方式使用它。


本节课中,我们一起学习了MPEG-DASH MPD的详细结构,包括Period、Adaptation Set、Representation和Segment的层级关系。我们还深入探讨了其关键特性,如流切换、广告插入、可变分片、CDN支持、时钟同步以及面向未来的可扩展设计。理解这些核心概念,是掌握现代自适应流媒体技术的基础。

151:28_6.1 CDN介绍 🚀

在本节课中,我们将学习关于内容分发网络(CDN)的视频流技术。我们将从CDN的介绍开始,涵盖其动机、结构、工作流程、分层内容交付模型、市场与主要服务提供商,以及CDN中的先进技术。

动机:为什么需要CDN?🤔

上一节我们介绍了本课程的主题,本节中我们来看看CDN的动机。

CDN是一个由一组战略部署且地理上分散的缓存服务器构成的网络。所谓地理分散,可以指全球范围或跨大洲的连接。对于内容提供商而言,CDN是为大量用户设备提供服务的最有效解决方案之一,旨在减少内容下载时间和网络流量。

减少内容下载时间至关重要,如果下载速度过慢,用户将不会使用你的服务。此外,减少网络流量也很重要。以YouTube为例,它拥有数百万乃至数十亿用户。如果每个用户的请求都直接连接到主服务器,主服务器将无法承受。因此,CDN技术的作用是预测最需要或最受欢迎的内容,并将其放置在本地服务器中。这样,当用户请求到来时,本地服务器就能直接提供视频流服务。

因此,CDN技术对于视频流至关重要,特别是在强大的、基于互联网的跨洲连接中。所有主流的视频流服务技术都需要CDN的支持,这也是本讲内容如此重要的原因。

移动用户和智能设备访问的网络流量正在迅速增长。移动网络性能高度依赖于多媒体数据和应用程序的内容下载。此外,由于移动设备使用量的大幅增加,一些移动网络运营商曾遭遇服务中断或性能下降的问题。网络在扩容,但速度赶不上用户增长的速度。当用户数量超过网络承载能力时,服务就会降级、停止或变得极其缓慢,甚至无法使用。

如何减轻这种影响?CDN技术是关键。例如,内容提供商可能位于美国,而用户遍布全球各地。如果每个人都连接到美国去下载谷歌或YouTube的内容,那么连接这些内容的国际链路将不堪重负,许多服务都会受到严重影响。使用CDN技术可以同时减少内容下载时间和网络流量,实现双赢。

CDN与移动网络 📱

上一节我们了解了CDN的总体动机,本节中我们聚焦于CDN在移动网络中的特殊重要性。

与自治系统内的宽带骨干网相比,移动通信网络对降低流量负载和内容交付时间有着更强烈的需求。

移动通信网络服务商需要为用户提供服务,这些用户并非固定连接在千兆以太网上的笔记本或台式机用户。他们是移动的,会移动到不同的小区,需要支持切换;他们会移动到小区边缘,那里信号质量差,需要进行切换。在这些条件下,如何提供服务?此外,还需要通过无线连接提供服务,而无线连接的带宽和吞吐量有限,且容易出错。

在这些情况下,需要以减少网络资源占用的方式,满足用户需求。在提供所有交换和漫游服务的移动通信蜂窝网络中,资源非常有限,支持这些服务非常复杂,网络也非常敏感。因此,CDN技术的支持更为关键。

国际和跨洲骨干网对CDN支持也有迫切需求。它们希望跨洲链路的流量最小化,因为这些链路成本高昂,并且需要优先满足具有关键高优先级服务需求的用户。因此,CDN使一切变得更加高效。

你会看到BGP4(边界网关协议4)被用于自治系统网络之间,该协议在流量使用成本计费上可能有不同的策略。因此,使用CDN将特定内容传送到某个区域,供该区域内所有请求该内容的用户重复使用,可以节省单次传输,实现多次复用,从而节省长途骨干连接上的网络流量。

CDN的结构 🏗️

上一节我们讨论了CDN的应用场景,本节中我们来剖析CDN的结构。

CDN通常由内容提供商和缓存服务器组成。

内容提供商拥有所有要服务的内容。以YouTube为例,同一部电影可能有不同质量的多个视频版本,音频也可能有高质量和低质量之分。因此,内容提供商需要拥有所有这些内容。

缓存服务器分布在网络中,存储着内容提供商所存内容的选定副本。内容提供商和缓存服务器(更靠近用户)共同工作。

当用户向其最近的缓存服务器请求内容时,如果请求的内容在其缓存中,服务器可以直接交付。否则,缓存服务器会将用户的请求重定向到远程的内容提供商。

以下是缓存命中和未命中两种情况下的工作流程:

情况一:缓存命中(快速交付)

  1. 用户发送会话请求。
  2. 本地缓存服务器检查其缓存中是否有该内容。
  3. 服务器发送会话响应,确认拥有该内容。
  4. 用户设备进行资源分配(如内存分配),为存储视频数据包创建空间。
  5. 用户发送内容请求。
  6. 服务器进行内容交付,数据包被保存在用户分配的资源区域。

情况二:缓存未命中

  1. 用户发送会话请求。
  2. 本地缓存服务器检查其缓存,发现没有该内容。
  3. 服务器为从内容提供商处下载该内容进行资源分配。
  4. 服务器向内容提供商发送内容请求。
  5. 内容提供商交付内容,内容被保存在缓存服务器的资源分配区。
  6. 缓存服务器向用户发送会话响应。
  7. 用户设备进行资源分配。
  8. 用户向本地缓存服务器发送内容请求。
  9. 本地缓存服务器进行内容交付,数据包被保存在用户分配的资源区域。

内容老化与更新策略 🔄

上一节我们介绍了CDN的基本工作流程,本节中我们来看看一个重要的管理策略:内容老化。

内容老化策略的重点是以最有效的方式向用户交付最受欢迎的内容。换句话说,我们希望发送那些会被反复请求、在本地被重复使用的内容。因此,内容老化是指丢弃旧内容,为新近更受欢迎的内容腾出空间。

其决策取决于多个因素,包括缓存服务器的位置、数量以及有限的缓存服务器内存大小。如果内存容量小,则需要更频繁地丢弃旧内容。

以下是内容老化与更新的基本操作:

  • 内容老化:从缓存服务器中删除过期的内容。
  • 内容更新:从内容提供商处下载更新的内容。

需要在这两者之间取得良好的平衡:丢弃旧内容,并下载更受欢迎的新内容。

每种内容都有一个内容更新周期,这是一种基于生存时间的操作。例如:

  • 在线交易信息:几秒钟。
  • 拍卖信息:几秒钟。
  • 电影:24小时或更长。

总结 📝

本节课中,我们一起学习了内容分发网络(CDN)的基础知识。我们首先探讨了CDN的动机,理解了它在减少内容下载时间和网络流量、特别是在支持海量用户和移动网络方面的重要性。接着,我们剖析了CDN的基本结构,包括内容提供商和分布式缓存服务器的角色,并通过流程图详细说明了缓存命中与未命中时的工作流程。最后,我们介绍了内容老化与更新策略,这是CDN高效运行的关键管理机制,它确保最受欢迎的内容能够被快速访问。CDN是现代互联网内容高效分发的核心技术。

152:29_6.2 CDN分层内容分发 🚀

在本节课中,我们将要学习内容分发网络中的分层内容分发机制。我们将探讨为什么需要分层结构,其核心功能模块如何工作,以及内容在不同场景下的具体分发流程。

概述

缓存服务器不可能保存内容提供商提供的所有内容。

从远程内容提供商处检索内容可能导致较长的内容下载时间。因为内容提供商连接着大量用户,同时进行下载。此外,内容提供商很可能距离遥远,缓存服务器与内容提供商之间存在很长的网络路径。因此,当请求内容时,请求需要经过很长的路径,返回的视频数据包也需要经过很长的路径。链路越长,发生错误的频率可能越高,这些错误需要通过TCP过程来恢复。

典型的情况是,每个服务器为支持内容数据包的路由会产生大量流量。

对于每个服务器给定的缓存容量,最大化命中率至关重要。本地缓存服务器的高命中率意味着请求的内容无需从内容提供商处获取。这意味着你需要将最受欢迎、最常被请求的内容,即具有高命中率的内容,预存到最可能被请求区域的本地缓存服务器中。

因此,某些内容在特定区域可能更受欢迎,而其他内容在其他区域更受欢迎。这与命中率密切相关。所以,并非所有本地部署的缓存服务器都会保存相同的信息。它们将根据本地服务器用户请求的服务类型,接收所有不同的请求。

分层CDN以可扩展的方式在互联网中实现了这一目标。这意味着即使用户数量增加,它仍能保持良好的性能。分层协作内容分发技术用于向本地缓存服务器提供内容分发。

接下来,我们将更深入地研究它。以下是分层内容分发中使用的主要功能模块。

核心功能模块

我们将从CDN LCCF开始。它控制整个内容分发过程,并拥有CDN的所有内容ID。

  • CDN LCCF: 控制整个内容分发过程,并拥有CDN的所有内容ID。
  • CCF: 集群控制功能,控制多个CDPF,并保存集群的内容ID。
  • CDPF: 内容分发处理功能,存储内容并将其分发给用户。

因此,我们有CDN LCCF、CCF、CDPF和用户。它们以类似下图的结构连接。

在这些集群的底部,可以认为有多个用户,但图中未画出。可以看到C(用户)连接到CDN LCCF,CDN LCCF连接到每个集群的CCF。每个集群有一个CCF。CCF连接到集群内的CDPF,每个CCF连接多个CDPF。

上一节我们介绍了分层CDN的架构和核心模块,本节中我们来看看内容分发的三种具体流程。

内容分发流程

情况一:请求内容在本地集群

请求的内容位于本地集群内。内容请求消息被发送到CCF。CCF向CDPF发送会话请求消息,以将内容分发给用户,然后CDPF将内容发送给用户。非常简单。

这是最简单的情况,工作流程如下:

  1. 用户发起会话请求。
  2. 本地集群的CCF接收此请求。
  3. CCF检查请求的内容是否在本地集群内。
  4. 进行会话建立,将目标CDPF连接起来。
  5. 会话响应发送回用户。
  6. 用户现在通过资源分配(内存分配)来准备下载,为视频流数据包腾出存储空间。
  7. 发起内容请求(第6步从用户到CCF,第7步在本地集群内从CCF到目标CDPF)。
  8. CDPF将内容发送给用户。

情况二:请求内容不在本地集群,但在另一个目标集群

请求的内容不在本地集群,但另一个本地集群(目标集群)拥有该内容。流程是什么?

流程是:内容请求消息从本地集群重定向到CDN LCCF。这个阶段需要使用CDN LCCF,然后CDN LCCF检查请求的内容是否在其他集群。接着,请求的内容可以直接从目标集群发送给用户,或者可以通过本地集群中转,再由本地集群发送给用户。本地集群也可以存储请求的内容并发送给用户。

流程如下,更为复杂,这是因为本地集群没有该内容。

  1. 用户向其本地CCF发起会话请求。
  2. CCF检查本地集群内部的内容可用性(在其多个CDPF中检查)。
  3. 如果没有找到,则向CDN LCCF发送重定向请求消息。
  4. CDN LCCF拥有其他本地集群的信息,因此开始在其他集群中查找和搜索。
  5. CDN LCCF将分配拥有该内容的集群。
  6. CDN LCCF发送响应告知CCF连接到何处。
  7. CCF通过向目标集群的CCF发送会话请求来建立连接。
  8. 在目标集群内进行会话建立,将CCF与该目标集群内适当的CDPF连接起来。
  9. 目标集群的CCF发回会话响应,该响应返回到本地集群的CCF。
  10. 本地集群的CCF将会话响应发回给用户。
  11. 用户随后准备资源分配部分以下载和保存接收到的数据包。
  12. 用户直接向目标集群的CCF发送内容请求。
  13. 内容请求直接发送到目标集群内的CDPF。
  14. 在本示例中,CDPF直接将内容发送给用户。

情况三:请求内容不在CDN内

当请求的内容不在CDN内时。内容请求消息从CDN LCCF发送到内容提供商。在这种情况下,需要联系内容提供商,因为该内容不在任何缓存范围内。内容提供商通过本地集群将内容发送给用户。请求的内容可以存储在本地集群中。

机制简述如下:

  1. 用户连接到本地集群。
  2. 本地集群连接到CDN LCCF。
  3. 由于在此范围内未发现该内容,CDN LCCF将向内容提供商发出请求。
  4. 内容提供商将信息发送回CDN LCCF。
  5. CDN LCCF将联系本地集群。
  6. 经过这些过程交换后,内容提供商将把信息发送到本地集群的CDPF。
  7. 信息再发送到本地集群的CCF。
  8. CCF联系用户。
  9. 用户分配内存以接收未来的数据包(资源分配机制,参见第15步)。
  10. 用户向本地CDPF发起内容请求。
  11. 内容在第17步发送给用户。

总结

本节课中我们一起学习了CDN分层内容分发。我们了解到单一的缓存服务器无法存储所有内容,因此需要通过分层和协作的方式来提高内容分发的效率和命中率。核心系统由CDN LCCF、CCF和CDPF等功能模块构成,它们协同工作以管理内容。我们详细分析了三种典型的内容请求场景:内容在本地集群、内容在远程集群以及内容需要从原始提供商获取。每种场景都对应着不同的信令交互和内容传输路径,其核心目标都是尽可能快速、高效地将内容送达用户,同时减轻源站压力和网络拥塞。

这些是我使用的参考文献,我推荐给你,谢谢。

153:6.3 CDN市场 📊

在本节课中,我们将要学习内容分发网络市场的评估方式、主要参与者、市场规模以及全球领先的服务提供商。我们将了解CDN如何为不同行业创造价值,并探讨其未来的增长趋势。


评估CDN市场价值

衡量CDN网络的价值有多种方式。这种评估与CDN行业内多样化的参与者相关。例如,游戏行业、视频流媒体行业,以及不同类型应用所支持的内容类型,这些因素都各不相同。因此,评估CDN所支持的内容及其价值并非易事。

以下是行业参与者的一些例子:

  • 通信服务提供商
  • 行业制造商
  • CDN服务提供商
  • 内容提供商(其中还包括广告和其他可支持的交互式应用)

总而言之,这是一项复杂的任务。然而,让我们更深入地探讨一下。

上一节我们介绍了CDN市场的复杂性,本节中我们来看看不同参与者如何从CDN中获取价值。

对于通信服务提供商而言,CDN的价值在于改善零售服务交付,并支持他们赢得和留住客户的努力。

对于行业制造商而言,其市场价值与电信公司、内容提供商及其他相关业务的需求相关。


CDN市场规模与构成

了解了不同参与者的价值定位后,现在我们来具体看看CDN市场的规模和组成部分。

2016年,CDN整体市场规模为60.5亿美元。

CDN市场的组成部分包括:

  • 内容分发技术
  • 硬件分析
  • 监控
  • 编码
  • 透明缓存
  • 数字版权管理(这与视频、游戏及各类多媒体信息相关,因此至关重要)
  • 内容管理系统
  • 在线视频平台,以及其他更多组件。

预计到2021年,CDN市场规模将增长至232.2亿美元。预计从2016年到2021年的年复合增长率将达到30.9%,这是一个巨大的增长。CAGR代表年复合增长率


主要CDN服务提供商

在了解了市场的规模和构成后,接下来我们认识一下全球主要的CDN服务提供商。

以下是主要的服务提供商:

  • Akamai:在全球拥有约11万台服务器,其服务包括云计算、高清视频交付等,这些数字还在不断增长。
  • Amazon CloudFront:提供静态和流媒体内容分发。其整体机制与亚马逊网络服务和云服务解决方案协同工作,例如S3简单存储服务以及EC2弹性计算云技术。我们在本专业的另一门关于物联网和云计算的课程中学习并实践过这些技术。
  • CDN Networks:在六大洲设有存在点,你可以看到CDN网络支持着真正的洲际连接网络。这包括在中国的20个存在点,使其成为世界第三大、亚洲第一大全服务CDN提供商。
  • Level 3:为视频数据提供全面的编码套件,以及用于负载均衡功能的智能流量管理器服务等。
  • Limelight:在美国、欧洲和亚洲拥有6,000台服务器,分布于75个存在点和超过30个区域内容分发中心。
  • China Cache:这是中国CDN市场的领导者,在中国拥有127个存在点和11,000台服务器。其CDN服务包括热链保护、SSL自定义CNAME以及基于清除的全部服务。

总结

本节课中我们一起学习了CDN市场的评估维度、关键参与者及其价值主张。我们探讨了CDN市场的规模、构成组件以及未来的高速增长预期。最后,我们介绍了包括Akamai、Amazon CloudFront、China Cache在内的全球主要CDN服务提供商及其特点。

以下是我使用的参考资料,也推荐给你:

  • Akamai
  • CDN networks
  • China Cache
  • Edgecast
  • Jet stream
  • Level 3
  • Limelight network

154:31_6.4 CDN先进技术(第1部分)📡

在本节课中,我们将学习内容分发网络的一些先进技术。我们将重点关注研发领域中的几个关键主题,包括内容管理、系统优化以及缓存与路由策略。课程将介绍如何基于内容类型进行差异化支持,并探讨用于预测内容流行度和管理缓存的数学模型与算法。


内容层面的先进技术 🔍

上一节我们了解了CDN的基本概念,本节中我们来看看在内容管理方面有哪些先进技术。这些技术旨在更智能地处理和分发不同类型的内容。

以下是研发中涉及的一些关键内容技术方向:

  • 基于内容类型的差异化支持:根据数据、多媒体、移动应用等内容类型的不同特性,提供定制化的分发策略。
  • 内容老化控制:监控内容的“年龄”和流行度,自动淘汰不再受欢迎或过时的内容,将其从CDN中移除。
  • 内容选择与删除:基于内容类型和访问模式预测,智能决定哪些内容应被缓存或删除。
  • 内容复制检测:识别并管理CDN网络中的重复内容,以优化存储效率。
  • 动态页面发布:支持包含动态生成内容的网页的高效分发。
  • 数字版权管理:在分发过程中保护内容的知识产权。
  • 直播事件管理:优化大型实时活动(如体育赛事、音乐会直播)的内容分发。

系统层面的先进技术 ⚙️

了解了内容管理技术后,我们转向支撑CDN运行的系统层面。这些技术关注如何衡量和优化CDN的整体性能与市场价值。

以下是系统层面研发的关键方向:

  • 代理服务器动态部署:根据实时需求,动态调整缓存服务器的地理位置。
  • 存储与内存大小的动态管理:根据流量模式,弹性分配存储资源。
  • 内容交付方法优化:改进将内容从源站或缓存服务器传送到用户的机制。
  • 移动设备特性与位置感知:针对移动设备的网络条件和地理位置,优化内容交付。
  • 网络延迟控制:最小化用户请求的响应时间。
  • 安全与信息保障:基于异常检测、用户身份验证和内容认证等技术,确保分发过程的安全。

协作缓存与内容路由策略 🤝

系统优化离不开高效的缓存与路由机制。本节我们探讨几种使CDN服务器能够协作,以更高效地定位和提供内容的策略。

以下是几种常见的协作缓存与内容路由方案:

  • 基于查询的方案:当某个CDN服务器没有请求的内容时,它会向同一集群内的其他服务器广播查询请求。
  • 基于摘要的方案:每个CDN服务器维护一个内容摘要,其中包含同一集群内其他服务器所缓存内容的信息。
  • 基于目录的方案:由一个目录服务器集中维护集群内所有CDN服务器的内容信息。
  • 基于哈希的方案:所有CDN服务器使用相同的哈希函数。内容的分配基于其URL、服务器的唯一ID和哈希函数来计算。
  • 混合哈希方案:CDN服务器将其部分存储空间用于缓存最流行的内容,其余部分则通过哈希函数与其他服务器共享使用。

内容流行度预测与缓存算法 📊

要实现智能缓存,必须能够预测内容的流行度。本节介绍用于建模内容流行度的经典分布,以及一个广泛使用的缓存替换算法。

齐夫分布

CDN内容流行度预测通常基于齐夫分布。该分布通过现实世界内容访问的统计模型验证,能很好地描述内容流行度的偏态分布。

i 热门内容的流行度 P_i 可以用以下公式描述:

P_i = ω / i^α

其中:

  • i 是内容的排名(1为最热门)。
  • ω 是一个归一化常数,确保所有流行度之和为1。ω = 1 / (∑_{k=1}^n (1/k^α))n 是内容总数。
  • α 是齐夫参数,它决定了内容流行度的偏斜程度。α 值越大,流行度越集中在头部内容。

这个公式用于预测应该保存哪些内容以及可以删除哪些内容。例如,当 α=1n=10 时,排名第一的内容流行度最高,随后内容的流行度急剧下降。

LRU缓存算法

在众多基于流行度预测的模型中,一个最常用的算法是 LRU

LRU 代表“最近最少使用”。该策略基于一个观察:最近被请求过的内容在不久的将来更有可能再次被请求。

其工作原理是:持续监控在特定时间窗口内(例如,当前时刻 T 对比 T-1)的内容请求。当缓存空间已满且需要存入新内容时,算法会替换掉最近最少被使用的内容,即为最近被使用的内容赋予更高的缓存优先级。

以下是一个LRU算法的工作示例,假设缓存容量为3:

请求序列:2, 3, 1, 2, 1, 4, 4, 3

步骤  请求  缓存状态(左为最近最少使用,右为最近最多使用)  操作
1     2     [空, 空, 空] -> [空, 空, 2]                插入2
2     3     [空, 空, 2] -> [空, 2, 3]                 插入3,2左移
3     1     [空, 2, 3] -> [2, 3, 1]                  插入1,2和3左移
4     2     [2, 3, 1] -> [3, 1, 2]                   命中2,将其移至最右,其他左移
5     1     [3, 1, 2] -> [3, 2, 1]                   命中1,将其移至最右,其他左移
6     4     [3, 2, 1] -> [2, 1, 4]                   插入4,淘汰最左的3,其他左移
7     4     [2, 1, 4] -> [2, 1, 4]                   命中4,状态不变(已在最右)
8     3     [2, 1, 4] -> [1, 4, 3]                   插入3,淘汰最左的2,其他左移

通过这个例子可以看到,LRU算法通过动态调整缓存中内容的位置,确保最可能被再次访问的内容保留在缓存中。


本节课中,我们一起学习了CDN的先进技术。我们从内容管理系统优化两个层面了解了研发方向,探讨了协作缓存与路由的几种策略,并深入学习了用于内容流行度预测的齐夫分布模型以及实际管理中常用的LRU缓存替换算法。这些技术共同作用,使得现代CDN能够更智能、更高效地分发海量网络内容。

155:32_6.4 CDN先进技术(第2部分)🚀

在本节课中,我们将继续学习内容分发网络(CDN)的先进技术。我们将深入探讨一种重要的缓存替换算法——最不经常使用(LFU)算法,并了解移动无线网络环境为CDN服务带来的独特挑战与机遇。

📊 LFU(最不经常使用)缓存算法

上一节我们介绍了缓存的基本概念,本节中我们来看看一种基于内容请求频率的缓存管理策略:LFU算法。

LFU算法的核心思想是预测内容的受欢迎程度。它通过观察特定时间窗口内的请求记录来实现。算法会统计在给定时间段内(例如直到时间 t-1),每个内容被请求的次数。请求频率最低的内容将被从CDN缓存中移除。

公式描述: 对于缓存中的每个内容项 i,在时间窗口 [t-W, t-1] 内,统计其请求频率 F(i)。当缓存已满且需要插入新内容时,移除 F(i) 值最小的项。

该算法基于一个假设:近期被频繁请求的内容,在不久的将来再次被请求的可能性更高。

如果多个内容项具有相同的请求频率,算法则会采用LRU(最近最少使用)策略作为辅助决策。换句话说,在频率相同的情况下,会检查哪个内容被请求的时间更近,保留较新的那个,丢弃较旧的。

以下是LFU算法的一个运行示例,假设缓存容量为3:

我们有一个按时间顺序排列的请求序列:内容2, 内容3, 内容1, 内容2, 内容1, 内容4, 内容4, 内容3。我们将逐步观察缓存状态的变化。

  • 步骤1: 请求内容2。缓存记录内容2,请求次数为1。
  • 步骤2: 请求内容3。缓存记录内容3,请求次数为1。
  • 步骤3: 请求内容1。缓存记录内容1,请求次数为1。此时缓存已满(包含2,3,1)。
  • 步骤4: 再次请求内容2。内容2的请求次数增加为2。
  • 步骤5: 再次请求内容1。内容1的请求次数增加为2。此时,内容3的请求次数仍为1,是“最不经常使用”的项。
  • 步骤6: 请求新内容4。缓存已满,需要替换。内容3和内容4的请求次数都是1(内容4是首次请求)。根据辅助的LRU规则,内容3是较旧的项,因此被移除,内容4加入缓存,请求次数记为1。
  • 步骤7: 再次请求内容4。内容4的请求次数增加为2。
  • 步骤8: 请求内容3。缓存已满,且内容2、4、1的请求次数均为2。内容2是这三个中最早被请求的(根据步骤4、7、5),因此被移除。内容3加入缓存,请求次数记为1。

以上便是LFU算法结合LRU辅助策略的工作机制。

📱 移动CDN(M-CDN)的挑战

在讨论了固定网络的缓存策略后,我们转向一个更具动态性的环境:移动无线网络。在此环境中支持CDN服务面临着额外的挑战。

诸如GPS导航、移动电视、智能交通系统(ITS)、基于位置的服务(LBS)等技术,在智能手机、智能汽车等移动设备上非常有效。因此,如何让CDN技术适应移动环境并高效地提供内容,是当前面临的一大挑战。

移动CDN需要在覆盖广泛的区域提供可扩展的控制,同时利用有限的资源保证高质量的服务水平。这比传统的互联网CDN服务挑战更大。

以下是移动CDN面临的主要挑战:

  • 移动节点限制: 由于移动设备便携性的要求,其存储空间、处理能力、输入能力等资源通常有限。
  • 频繁的网络断开: 移动用户经历网络切换(Handover)时,可能导致连接中断。
  • 用户移动性: 需要考虑与用户位置和移动轨迹相关的服务。
  • 实时监控: 获取移动用户的实时状态(如位置、网络质量)是一大挑战。

为了更清晰地理解移动CDN与传统CDN的区别,我们可以从以下几个维度进行比较:

  • 内容类型: 传统CDN主要处理静态内容,而移动CDN需要更多地处理动态内容和流媒体。
  • 用户位置: 传统CDN用户位置通常是固定的(如台式机),而移动CDN用户位置是可变的。
  • 代理服务器位置: 传统CDN的代理服务器部署相对固定,而移动CDN的代理需要考虑基站、无线接入网等移动网络因素
  • 拓扑与服务中心: 传统CDN基于互联网服务提供商(ISP) 网络,有明确的服务中心;移动CDN则基于移动通信网络,其中心是基站和无线接入网。
  • 维护复杂度: 传统CDN的维护复杂度为低到中,而移动CDN的复杂度为中到高
  • 服务类型: 传统CDN提供多媒体和数据服务;移动CDN则在此基础上,将广泛支持移动应用基于位置的服务(LBS)云接入

🎯 总结

本节课中我们一起学习了CDN的两项关键技术。首先,我们深入分析了LFU缓存替换算法,它根据内容在特定时间窗口内的请求频率来决定缓存内容的去留,并在频率相同时辅以LRU策略。接着,我们探讨了移动CDN(M-CDN)所面临的独特挑战,包括设备资源限制、网络不稳定性、用户移动性等,并通过与传统CDN的对比,理解了移动环境对内容分发技术提出的新要求。这些知识对于构建高效、适应性强的内容分发系统至关重要。

156:33_7.1 宜家目录AR应用教程 🛋️

在本节课中,我们将学习如何使用宜家(IKEA)目录应用程序,这是一个增强现实(AR)项目,它允许你在智能手机的摄像头视图中虚拟放置3D家具模型。我们将通过实际操作,探索该应用的功能并测试其在不同环境下的表现。


应用下载与介绍 📱

首先,你需要下载宜家目录应用程序。如果你使用的是安卓智能手机,请前往Google Play商店下载;如果你使用的是iPhone,请前往苹果App商店下载。

该应用的核心功能是:通过智能手机的摄像头视图,以增强现实技术放置3D家具模型。

探索应用模式与基础操作 🧐

上一节我们介绍了如何下载应用,本节中我们来看看它的基本操作模式。你可以在应用中看到不同的模式选项。

接下来,我们尝试放置一个家具模型。例如,在我的实验室里有一张清理过的桌子,我们可以用它作为示例。

你可以调整家具模型的高度,观察3D AR图像如何随之变化。调整选项通常位于屏幕上的特定位置。

我建议你回看应用内的教程,以获取更多操作细节。

在教程中,你可以回顾所有选项,了解如何改变3D增强现实家具图像。请仔细观察,因为我们将基于这些选项进行实验。

进行AR家具放置实验 🧪

现在,请在你自己的办公室、家中或其他区域尝试放置3D增强现实家具图像。

以下是实验的具体步骤列表,请逐一尝试:

首先,对于每个家具类别,尽可能多地尝试不同选项。观察是否存在因空间或其他限制而无法应用的选项。

例如,在下方的桌子上,可以添加一个3D增强现实的黑色台灯模型。

其次,使用屏幕下方的选项。查看所选家具的加载信息被添加在何处。此外,尝试将选中的家具替换为其他更大的家具,观察增强现实系统是否会根据家具尺寸和实际可放置空间识别出限制。

请仔细查看并使用这些选项。

检查这些选项的功能。例如,尝试使用 “i” 按钮 来加载家具的详细信息。

此外,你可以使用 相机快门按钮 进行截图。

实验目标与问题发现 🔍

以上是我们希望你使用各种选项进行的实验。在实验过程中,请留意并记录以下情况:

  1. 性能不佳的情况:即使空间充足,应用也无法放置某件家具。
  2. 放置不合理的情况:应用将一件家具放置在一个对它而言小得不切实际的空间里。
  3. 信息错误的情况:某件物品的信息放置不正确或不恰当。

你需要逐一测试选项,找出应用可能无法正常运行的情况,并记录是在何种环境下发生的。

分享与协作 🤝

除了独立实验,我还希望你能够帮助你的同伴。

以下是你可以做的事情:

  • 提供有用的操作技巧。
  • 告知他人你在使用宜家目录AR应用时发现的令人兴奋的功能。
  • 向同伴推荐其他你认为有趣且实用的优秀AR应用。

通过互相帮助,大家可以更好地理解增强现实系统。

课程总结与参考资料 📚

本节课中,我们一起学习了宜家目录AR应用的基本操作,并通过一系列实验探索了其功能与局限性。我们练习了虚拟放置家具、调整属性、识别系统限制,并强调了在社群中分享发现的重要性。

这些是我使用的参考资料,也推荐给你参考。

请注意,本课程还有另一个项目,请继续学习。

感谢学习。

157:谷歌翻译增强现实项目 📱➡️🌍

在本节课中,我们将学习谷歌翻译的增强现实功能。我们将了解如何利用智能手机的摄像头和增强现实技术进行实时翻译,并动手进行一项实验,测试不同环境因素对翻译效果的影响。


项目概述:谷歌翻译增强现实

现在,我们进入谷歌翻译增强现实智能手机项目。这是第二个项目。

首先,需要下载谷歌翻译应用。你可以从安卓的 Play 商店或苹果的 App Store 下载。

谷歌翻译利用智能手机的摄像头和增强现实显示,提供实时翻译。即使不连接网络,也能使用离线翻译数据进行实时增强现实翻译。

应用功能详解

上一节我们介绍了项目的基本情况,本节中我们来看看应用的具体功能。

应用支持的语言种类繁多,列在列表中。

查看应用主页面,中间有多个功能按钮。以下是主要选项:

首先,需要选择翻译的源语言和目标语言。此外,还有“检测语言”选项,但此选项不支持实时AR翻译,仅用于检测语言。

我们还可以使用智能手机摄像头进行翻译,即实时增强现实模式,以及照片翻译模式。

此外,可以使用此功能翻译手写文字,下方会显示整体翻译结果。

使用那个模式,可以翻译两种语言之间的对话,对话翻译会显示在此区域。目前我设置的是从韩语翻译到英语。

另一个选项是语音翻译。

现在,进入实时AR翻译模式。你可以使用顶部的按钮切换语言。此外,使用这个选项可以开启或关闭实时AR翻译模式。

使用这个模式可以打开或关闭智能手机摄像头的闪光灯。另外,使用那个按钮可以在照片模式下进行翻译。你也可以用手指高亮文本。此外,可以使用那边的按钮加载图像进行翻译。

你可以使用这个按钮暂停实时AR翻译。

实验:测试环境因素对翻译的影响

了解了基本功能后,本节我们将进行一项实验,测试不同环境下的翻译效果。

准备包含你想要翻译语言的文档、书籍或图像。

然后,在谷歌翻译应用中使用实时AR翻译模式进行翻译,就像你在此过程中看到的那样。

接着,尝试在改变环境因素的情况下进行翻译,例如亮度、距离、智能手机摄像头分辨率等选项。

我特别希望你们进行的一项实验是测试不同黑暗等级下的效果,就像这个例子中,让环境变得更暗甚至更暗。

亮度的测量并非易事。基本单位是勒克斯,它是衡量光源产生的光量的单位。

一个代表性的勒克斯单位定义如下:距离蜡烛一米远,照射在一平方米表面上的光量为一勒克斯。

基于这个单位,你可以看到勒克斯值的例子:无月晴夜的天空范围从0.002勒克斯,一直到直射阳光,可达100,000勒克斯。

我知道这些亮度等级难以使用,所以我会让它更简单。

我们将基于我们的标准来测量亮度。

以下是亮度等级定义:

  • 等级0:几乎看不见,因为太暗。
  • 等级2:稍微亮一点。

我们也会使用中间阶段,即等级1,介于这两者之间,你可以想象等级1的样子。

然后是等级4,看起来更亮但不是完全明亮。再上一级是等级6。当然,它变得越来越亮,但我也希望你们考虑等级3等级5这些中间等级,尽管我这里只展示了主要等级。

最后是最高等级等级8,完全明亮。因此,我们有从等级0到等级8共九个等级。

使用这些等级,我们将测试基于亮度性能的实时增强现实翻译,等级从0到8。

让房间变暗,然后根据我刚才展示的图片比较黑暗等级。

我希望你们考虑在不同亮度等级下的性能。考虑文本大小、距离以及字体类型,因为基于字体,一些检测结果会大不相同。

同时考虑语言翻译类型。然后考虑光线从不同角度、以不同亮度照射时的性能。

总的来说,找出谷歌翻译应用可能无法正常运行的几种情况。

协作与分享

除了我刚才为这个项目解释的内容,我还希望你们帮助同伴。

以下是你可以做的事情:

  • 提供有用的提示。
  • 告知他人你从使用谷歌翻译增强现实应用中发现的有趣发现。
  • 向同伴介绍其他优秀的AR应用。
  • 帮助他人,让他们更熟练地使用增强现实系统。

谢谢。

这些是我使用的参考资料,我推荐给你们。



课程总结

本节课中,我们一起学习了谷歌翻译的增强现实功能。我们详细了解了其操作界面和多种翻译模式,并通过一个系统的实验,探索了环境亮度等因素对实时AR翻译效果的影响。最后,我们强调了在实践中分享发现、互相帮助的重要性。

posted @ 2026-03-26 13:20  布客飞龙V  阅读(1)  评论(0)    收藏  举报