【.com快译】数字孪生(DigitalTwin)可以理解为现实中的某些事物(包括流程或服务)在数字虚拟环境中的表征。在本文中,您将了解数字孪生在各个行业的优势,以及ApacheKafka、IoT架构和机器学习之间的关系。在实际应用中,Kafka通常用作中央事件流平台,以使用来自这些实时流传感器的数据构建可靠且可扩展的数字孪生和数字线程。我们将从数字孪生和数字主线三个方面探讨如何构建开放、可扩展的数字孪生基础设施。事件流、数字孪生和AI(机器学习)之间的关系。使用ApacheKafka和其他物联网平台的数字孪生物联网架构。构建数字孪生的关键要点让我们从四个基本要点开始:事件流是对物联网平台和其他后端应用程序/数据库的补充。大多数数字孪生架构使用机器学习(ML)和统计模型进行模拟、预测和推荐。“数字孪生”一词通常是指单一资产的副本。在现实世界中,各种各样的数字孪生比比皆是。“数字线程”一词涵盖了一个或多个数字孪生的整个生命周期(如下图所示)。数字孪生可以应用于很多行业和领域,包括:减少停机时间库存管理车队管理假设模拟运营规划服务产品开发医疗保健客户体验事实上,数字孪生带来的不仅仅是各行各业的自动化,还有附加值和创新到不同的企业。事件流、数字孪生和AI(机器学习)之间的关系开发人员需要使用机器学习并使用数字孪生来做出准确的预测。两者之间存在着互补的关系。下图展示了不同的数字孪生如何使用统计方法和分析模型:这个例子包括各种基于物理模型模拟的假设场景,以及数据模型来估计剩余使用寿命(RemainingUsefulLife,RUL)。可以看出,数字孪生和机器学习有以下共同点:持续学习、监控和行动的能力。良好的数据源是成功的关键。数据集越多越好。实时性、可扩展性和可靠性是关键要求。将ApacheKafka用于数字孪生、机器学习和事件流ApacheKafka开源生态系统为机器学习提供了基础设施。下图展示了Kafka的机器学习架构。该架构为模型训练、部署、评分和监控提供开放、可扩展和可靠的实时处理。以下是数字孪生在实际应用中的五个共同特征:Connectivity各种物理资产、企业软件和客户。用于命令和控制的双向通信。同质化脱钩和标准化。信息虚拟化。可以与多个代理共享,无论物理位置或时间如何。成本更低,易于测试、开发和预测。可重新编程和智能通过调整和改进功能来开发新版本的产品。数字跟踪使能够及时返回(回溯)并分析历史事件以诊断问题。模块化设计和定制产品和生产模块的能力。调整不同的模型和机器模块。为了实现以上特点,我们可以选择不同的物联网平台。根据IoTAnalyticsResearch的统计数据:截至2019年,市场上有600多个物联网平台(参见:https://iot-analytics.com/iot-platform-companies-landscape-2020/)。同时,他们的许多工具和解决方案可以结合起来协同工作。下面,我们来讨论几种典型的物联网平台:以西门子S7和Modbus为主导的工业物联网(IIoT)相关协议,以及与OPC-UA等标准的深度集成:它们往往不是一个单一的产品(往往是不同的代码库各种原始设备制造商)。尽管价格昂贵,但它们暴露了特定的接口并且它们的可扩展性是有限的。此类平台的典型代表包括:SiemensMindSphere、CiscoKinetic、GEDigital和Predix。云提供商的物联网产品:他们提供完整的物联网管理工具,可以与其他云服务(如:存储、分析等)实现良好的集成。但是,它们通常与云提供商的平台绑定,无法支持混合计算和边缘计算。此外,它们不仅在可扩展性方面受到限制,而且价格昂贵。此类平台的典型代表包括:AWS、GCP、Azure和阿里巴巴等。基于开放标准(如MQTT)的开源物联网平台:可以开放核心业务模型,与基础设施无关。但是,它们在遗留和专有协议的连接方面可能不太成熟。此类平台的典型代表包括:EclipseIoT、ApachePLC4X、Node-RED等开源框架,以及符合MQTT等标准的HiveMQ相关产品。使用ApacheKafka和其他物联网平台的数字孪生架构接下来,我们将根据数字孪生的上述五个特征来讨论Kafka在实时消息传递、集成和处理关键事件流中的作用:连通性:KafkaConnect可以针对物联网接口、大数据解决方案和云服务提供免费和实时的大规模连接。同态:Kafka实现了生产者和消费者真正的解耦。Schema管理和实现可以使用JSONSchema、Avro、Profobuf等不同技术实现数据感知和标准化。可重编程和智能化:作为微服务架构的事实标准,Kafka支持:关注点分离、领域驱动设计、DDD,参见:https://www.confluent.io/blog/microservices-apache-kafka-domain-driven-design/),部署新的解耦应用程序,实施版本控制,A/B测试和发布。数字跟踪:Kafka作为分布式提交日志,会按需将事件永久追加存储到你的时间点(永久保留时间可以=-1)。这是为数字双胞胎构建数字痕迹的理想选择。模块化:Kafka基础设施本身是模块化和可扩展的,包括Kafkabroker、Connect、SchemaRegistry、RESTProxy等组件,使用Java、Scala、Python、Go、.NET、C++客户端应用等不同语言.通过这种模块化,您可以轻松地在边缘、混合或全球场景中构建合适的数字孪生架构,并能够将Kafka组件与任何其他物联网解决方案相结合。以下是适合数字孪生的五种物联网架构。您可以根据自身的优缺点,从整体的企业架构、项目情况等方面做出合理的选择。场景一:DigitalTwinsMonolith直接使用物联网平台集成构建数字孪生体,无需额??外的数据库或其他组件。场景2:将数字孪生作为外部数据库物联网平台与其端点集成,数字孪生的数据存储在外部数据库中,例如:MongoDB、Elastic、InfluxDB或CloudStorage。此类数据库仅用于存储、处理和仪表板分析等任务。同时,Tableau、Qlik或PowerBI等商业智能(BI)工具也可以利用数据库的SQL接口实现交互式查询和报表。场景3:Kafka仍然与其端点集成,作为数字孪生和企业其他部分的骨干物联网平台。Kafka充当中央事件流平台,提供与其他组件的解耦。这里的中央层是开放的、可扩展的和可靠的。这里的数据库还用于数字孪生存储和仪表板分析。其他应用程序也以实时、批处理、请求-响应通信等方式使用来自Kafka的一些数据。场景4:Kafka作为物联网平台作为一个中央事件流平台,Kafka提供了一个关键任务实时架构和IoT端点和其他应用程序的集成层。在这个场景中,数字孪生体并没有使用上面场景中提到的数据库,而是使用了云物联网服务,比如AzureIoTTwinTwins。场景五:Kafka作为物联网平台,直接用于实现数字孪生,不涉及其他组件或数据库。同时,其他消费者会直接消费原始数据和数字孪生的数据。该方案的主要问题是Kafka是否可以替代数据库以及如何查询数据(参见:https://www.kai-waehner.de/blog/2020/03/12/can-apache-kafka-replace-数据库-acid-storage-transactions-sql-nosql-data-lake/)。在实践中,由于Kafka可以作为数据库使用,它不会取代其他数据库,如Oracle、MongoDB或Elasticsearch。当然,Kafka的多次部署也可以应用于数字孪生架构,在永久存储等方面发挥巨大的作用。原标题:IoTArchitecturesforDigitalTwinWithApacheKafka,作者:KaiW?hner
