物联网资料整理

  1. 物模型是物理世界的实体东西的一个抽象,进行数字化描述后,用于数字世界的数字模型。这么说可能有点绕,更直接一点说就是,物模型是使用计算机可以理解的语言,说清楚这个产品是什么、能做什么事情,以及可以提供哪些信息。 定义了属性、事件和动作这三类功能,也就完成了物模型的定义。

  2. 物模型是物理世界中产品设备的数字化模型,它对设备的共同特征进行了抽象,同时规约了设备的设计。 物模型一般是使用 TSL 描述的 JSON 格式文件。 物模型包括属性、事件和动作三个功能元素。其中,属性可读可写;事件可以包括多个参数;动作包括应用下发的命令,和设备返回的响应信息

  3. 物模型是物理空间中的实体(如传感器、车载装置、楼宇、工厂等)在云端的数字化表示,从属性、服务和事件三个维度,分别描述了该实体是什么、能做什么、可以对外提供哪些信息。 物模型是指对物理实体的建模,在物联网中指对物理设备的建模。物模型由属性、服务和事件组成,用于描述物理设备的特征和行为。

    • 属性是设备的静态特征,如温度、湿度等;
    • 服务是设备的动态行为,如打开、关闭等;
    • 事件是设备发生的事件,如温度报警等。

设备影子用于缓存设备状态。应用程序可以通过设备影子直接获取设备最后一次更新的属性值,而无需每次都访问设备。设备在线时,可以直接获取应用指令;设备离线后,再次上线可以主动拉取应用指令。 我们可以再想象一个场景。如果设备网络稳定,很多应用程序请求获取设备状态,设备需要根据请求响应多次,即使响应的结果是一样的。但是可能设备本身处理能力有限,其实无法负载被请求多次的情况。 使用设备影子机制,设备只需要主动同步状态给设备影子一次,多个应用程序请求设备影子获取设备状态,即可获取设备最新状态,做到应用程序和设备的解耦。

数字孪生(Digital Twin) 物模型是物理实体的数字化模型,但主要针对的是物联网中应用的开发和设备的互操作。 这个模型如果更进一步,集成了物理实体的各类数据,那就是物理实体的忠实映射。同时,在物理实体的整个生命周期中,它会和实体一起进化,积累各种信息和知识,并且促进物理实体的优化。这样的模型就是物理实体的数字孪生。

EdgeX Foundry

批处理:Spark 流处理:Storm、Spark Streaming 和 Flink

Flink 将数据块作为一种特殊的数据流,通过从文件等持久存储系统中按照 Stream(流)的方式读入和处理,来提供批处理的能力。在这个基础之上,Flink 提供了统一的批处理和流处理框架,也就是所谓的“流批一体”的数据处理框架。 Flink 虽然出现的时间不长,但凭借着优秀的设计,性能非常强,延迟可以低到微秒级别,是对实时计算性能要求的高的场景的理想选择。行业内,阿里云和腾讯云对于 Flink 的支持都非常好;很多企业也在实践中逐渐尝试使用 Flink 来替代 Storm 框架。

  1. 批处理适合海量静态数据的非实时处理,延迟比较高,也叫离线计算,主要用于离线报表、历史数据汇总等场景。
  2. 流处理适合动态输入的流式数据的实时处理,延迟低,也叫实时计算,主要用于实时监控、趋势预测、实时推荐等场景。
  3. 批处理可以选择的开源框架有 Spark 和 Flink。至于 Hadoop MapReduce,你了解一下基本原理就可以了,它在应用中应该已经被放弃了。当然,如果你有遗留系统仍然使用 MapReduce,那就只能维护着,或者找机会迁移到新的框架。
  4. 流处理的开源框架可以选择 Storm、 Spark Streaming 和 Flink 等。

分布式数据库(newsql)的开源选择有 TiDB、CockroachDB 等,也有商业化的产品,比如阿里巴巴的 OceanBase 等。

从架构设计来说,负责设备接入的这一部分一般叫作设备接入层,也被称为 IoT Hub。设备接入层之后,才是和互联网系统类似的业务层。

iot