用Kafka实现数字孪生的物联网架构

译文
云计算 物联网 Kafka
在本文中,你将先后了解到数字孪生在各个行业中的优势,Kafka与物联网架构之间的关系,以及五种适用于数字孪生的物联网架构。

【51CTO.com快译】数字孪生(Digital Twin)可以被理解为现实中某些事物(也包括过程或服务)在数字虚拟环境中的表现。在本文中,你将了解到数字孪生在各个行业中所处的优势,以及Apache Kafka、物联网架构和机器学习之间的关系。在实际应用中,Kafka通常被用作中央事件流平台,以那些实时流传感器的数据,构建可靠、且可扩展的数字孪生和数字线程。

我们将从如下三个方面来讨论如何构建开放、且可扩展的数字孪生基础架构:

  • 数字孪生与数字线程。
  • 事件流、数字孪生与AI(机器学习)之间的关系。
  • 使用Apache Kafka和其他物联网平台的数字孪生物联网架构。

建立数字孪生的关键要点

我们首先来了解四个基础性的要点:

  • 事件流是物联网平台和其他后端应用程序/数据库的补充。
  • 大多数数字孪生架构都使用机器学习(ML)和统计模型来进行仿真、预测和推荐。
  • “数字孪生”一词通常是指单个资产的副本。在现实世界中,各种数字孪生比比皆是。
  • “数字线程”一词涵盖了一到多个数字孪生的整个生命周期(如下图所示)。

数字孪生可以被运用到许多行业和领域,其中包括:

  • 减少宕机时间
  • 库存管理
  • 车队管理
  • 假设(what-if)模拟
  • 运营计划
  • 服务化
  • 产品开发
  • 卫生保健
  • 客户体验

实际上,数字孪生不仅为各个行业带来了自动化,而且增加了不同业务的价值和创新。

事件流、数字孪生与AI(机器学习)之间的关系

开发者需要通过机器学习,并运用数字孪生,来进行准确的预测。这两者存在着互补的关系。下图展示了不同的数字孪生如何利用统计方法和分析的模型:

该示例包括了基于物理模型来模拟的各种假设情景,以及基于数据模型来估计剩余使用寿命(Remaining Useful Life,RUL)。可见,数字孪生和机器学习有着以下共同点:

  • 能够持续学习、监控与行动。
  • 良好的数据源是成功的关键。
  • 数据集越多越好。
  • 实时性、可扩展性和可靠性是关键的需求。

使用Apache Kafka来实现数字孪生,机器学习和事件流

Apache Kafka开源生态系统为机器学习提供了基础架构。下图展示了Kafka针对机器学习的架构。该架构为模型的训练、部署、评分和监视,提供了开放、可扩展、以及可靠性的实时处理。

以下是数字孪生在实际应用过程中的五大常见特征:

连接性

  • 各类实物资产、企业软件与客户。
  • 通过双向通信,以获取命令和控制。

同态化(Homogenization)

  • 解耦和标准化。
  • 信息虚拟化。
  • 能与多个代理共享,且不受物理位置或时间的限制。
  • 成本更低,且能够轻松地开展测试、开发和预测。

可重新编程与智能化

  • 通过调整和改善特征,以开发出产品的新版本。

数字跟踪

  • 能够实现时光倒流(回溯),并通过分析历史事件,以诊断问题。

模块化

  • 能够对产品和生产模块进行设计和定制。
  • 调整不同的模型和机器模块。

为了实现上述特征,我们可以选用不同的物联网平台。根据物联网分析研究(IoT Analytics Research)的统计:截止到2019年,市场上存在着600多个物联网平台(请参见:https://iot-analytics.com/iot-platform-companies-landscape-2020/)。与此同时,它们中的许多工具和解决方案都能够结合在一起,共同发挥作用。

下面,我们来讨论几种典型的物联网平台:

  • 以Siemens S7和Modbus为首的工业物联网(IIoT)相关协议,以及与诸如OPC-UA之类标准的深度集成:它们往往并非某个单一的产品(通常是各种OEM的不同代码库)。虽然价格不菲,但是它们开放特定的接口,而且其可扩展性也十分有限。此类平台的典型代表包括:西门子MindSphere、思科Kinetic、GE Digital和Predix。
  • 云提供商的物联网产品:它们提供了完备的物联网管理工具,能够与其他云服务(如:存储、分析等)实现良好的集成。不过,它们往往被云提供商的平台所绑定,且无法支持混合与边缘计算。另外,它们不但扩展性有限,而且售价也不菲。此类平台的典型代表包括:AWS、GCP、Azure和Alibaba等。
  • 基于开放标准(如:MQTT)、且开源的物联网平台:它们能够开放核心的业务模型,且与基础架构无关。不过,它们在针对旧协议和专有协议的连接方面,可能不太成熟。此类平台的典型代表包括:Eclipse IoT、Apache PLC4X、Node-RED等开源框架、以及符合MQTT等标准的HiveMQ相关产品。

使用Apache Kafka和其他物联网平台的数字孪生架构

下面,我们根据数字孪生的上述五大特征,来讨论Kafka针对实时消息传递、集成与处理关键任务事件流等方面的作用:

  • 连接性:Kafka Connect可以针对IoT接口、大数据解决方案、以及云服务,提供免费且实时的大规模连接。
  • 同态化:Kafka实现了生产者和消费者之间真正的解耦。模式(schema)管理和实施可利用JSON Schema、Avro、Profobuf等不同技术,来实现数据的感知和标准化。
  • 可重新编程与智能化:作为微服务架构的实际标准,Kafka支持:关注点分离(Separation of concerns),域驱动设计(domain-driven design,DDD,请参见:https://www.confluent.io/blog/microservices-apache-kafka-domain-driven-design/),部署新的已解耦应用,实施版本控制,A/B测试与发布。
  • 数字跟踪:作为分布式提交日志,Kafka会按需将事件永久地追加、存储到您的时间点(永久保留时间可 = -1)。这非常适合为数字孪生构建数字跟踪。
  • 模块化:Kafka基础架构本身就是模块化、且可扩展的,其中包括:Kafka brokers、Connect、Schema Registry、REST Proxy等组件、以及使用Java、Scala、Python、Go、.NET、以及C++等不同语言的客户端应用。通过这种模块化,您可以轻松地在边缘、混合或全局场景中,构建合适的数字孪生架构,并能够将Kafka组件与任何其他物联网方案结合起来。

下面是五种适用于数字孪生的物联网架构。您可以根据它们的优缺点,在自己的整体企业架构、项目情况、以及其他方面,做出合理的选择。

方案1:数字孪生Monolith

直接使用物联网平台来集成和构建数字孪生,无需其他数据库或其他组件。

方案2:将数字孪生作为外部数据库

物联网平台与其端点集成,数字孪生的数据被存储在诸如:MongoDB、Elastic、InfluxDB或Cloud Storage之类的外部数据库中。此类数据库仅用于存储,处理,以及仪表板分析等任务。

同时,Tableau、Qlik或Power BI之类的商业智能(BI)工具也可以使用数据库的SQL接口,来实现交互式的查询和报告。

方案3:Kafka作为数字孪生和企业其余部分的主干

物联网平台仍然与其端点集成。Kafka作为中央事件流平台,提供与其他组件之间的解耦。此处中央层是开放、可扩展且可靠的。而此处的数据库同样被用于数字孪生的存储、以及仪表板分析。其他应用也会以实时、批处理、请求-响应通信等方式,使用来自Kafka的部分数据。

方案4:Kafka作为物联网平台

作为中央事件流平台,Kafka可为物联网端点和其他应用提供关键任务的实时架构和集成层。在此方案中,数字孪生并未用到上述方案中提到的数据库,而是使用了Azure IoT Twin Twins之类的云端物联网服务。

场景5:Kafka作为物联网平台

Kafka直接被用于实现数字孪生,而并不涉及到其他组件或数据库。同时,其他消费者会直接使用原始数据和数字孪生的数据。

该方案的主要问题在于Kafka是否可以替换数据库、以及如何查询到数据(请参见:https://www.kai-waehner.de/blog/2020/03/12/can-apache-kafka-replace-database-acid-storage-transactions-sql-nosql-data-lake/)。在实际应用中,由于Kafka可以被用作数据库,因此它不会替代诸如:Oracle、MongoDB或Elasticsearch等其他数据库。

当然,Kafka的多次部署也可以被运用到数字孪生的架构中,在永久性存储等方面发挥巨大的作用。

原文标题:IoT Architectures for Digital Twin With Apache Kafka,作者:Kai Wähner

【51CTO译稿,合作站点转载请注明原文译者和出处为51CTO.com】

 

责任编辑:未丽燕 来源: 51CTO.com
相关推荐

2023-08-24 16:21:10

2019-10-22 08:00:04

物联网架构物联网IOT

2022-07-27 08:00:00

物联网架构连接设备

2022-09-14 10:24:54

物联网架构物联网

2023-09-18 18:52:22

2015-09-22 14:30:45

物联网网络架构

2021-01-12 21:20:38

物联网架构物联网IOT

2020-01-03 22:14:01

物联网大数据边缘计算

2020-03-14 08:02:06

物联网架构通讯协议IOT

2022-11-09 10:59:03

物联网数字孪生

2022-03-25 14:11:01

物联网数字孪生区块链

2021-01-21 09:00:00

物联网架构数据

2021-01-15 11:41:36

边缘物联网架构物联网网络物联网

2021-06-09 12:13:53

工业物联网物联网架构物联网

2017-11-08 05:53:07

物联网架构云计算云端

2020-08-22 11:01:05

数字孪生物联网IOT

2023-06-26 14:40:50

数字孪生物联网工业4.0

2020-09-15 15:04:49

物联网

2022-08-02 10:31:21

物联网架构智慧城市物联网

2023-11-16 14:44:04

物联网数字孪生
点赞
收藏

51CTO技术栈公众号