采用 亚马逊云科技 和 MongoDB 的数字孪生数据中间件

据估计,当今全球有1亿辆联网汽车在路上 ,预计到2025年将达到4亿 辆 。客户对联网汽车的购买决定现在和将来都越来越依赖于软件功能以及如何融入个人的数字生活方式。这将使客户能够获得更高水平的信息和控制,远远超出物理驾驶体验的范围。

最终,自动驾驶等功能将通过软件应用程序按需启用,旅行计划将完全自动化,从而开启各种新的按使用量付费业务模式。汽车公司对这些趋势和客户期望了如指掌,但要实现这一目标相当困难。速度对于保持竞争力以及确保在车辆销售点之外创造收入至关重要。汽车制造商想要解决这个问题,但他们发现自己在开发双向集成等非差异化任务上花费了太多时间。这段时间最好花在竞争差异化和创新上,而不是用在这样的 “技术管道” 上。

开发人员效率是MongoDB价值主张的核心,在过去的几年中,该功能集的发展已经远远超出了众所周知的数据库技术。作为一家公司,MongoDB 已经从最受欢迎的数据库技术提供商之一发展成为亚马逊云科技上领先的开发人员数据平台之一。这篇博文将演示如何使用 MongoDB Atlas 作为 亚马逊云科技 上的云后端,配备 Realm 和 Atlas Device Sync,以消除车辆、云和移动应用程序之间的非差异化集成或 “技术管道” 工作,加速构建下一代数字双胞胎用例和应用程序。

数字双胞胎挑战赛

可以将 “数字双胞胎” 描述为物理机和虚拟机之间毫不费力的双向数据集成。启用数字双胞胎环境可以提供实时见解和决策,并支持跨车队的分析用例。

这篇博客的重点是车辆数字双胞胎。如图 1 所示,这意味着在不同环境中构建和使用车辆的数字数据模型,并在车辆、亚马逊云科技 云和移动设备之间进行双向同步,以帮助实现各种用例。

Figure 1-High Level Overview

Figure 1- High Level Overview

此类用例的一个简单示例是利用状态信息以及行程和天气数据来预测电动汽车续航里程并自动规划充电停靠点。

创建数字双胞胎需要三个核心组件:

  • 创建车辆的数字模型
  • 使用移动和云应用程序将这些数字模型变为现实
  • 尽管网络不可靠,但仍能确保有效的双向数据同步机制

乍一看听起来很简单的事情变成了汽车制造商目前面临的一项极其复杂和耗时的任务。创建数字模型本身需要汽车制造商及其供应商之间多年的工作和合作。为了解决这个问题,领先的汽车制造商、供应商和技术合作伙伴已开始定义 车辆信号规范 (VSS ) 等标准。但是,将这些树状结构与传统数据库技术相结合时,你会发现开发人员仅仅将结构映射到关系数据模型上就浪费了宝贵的时间。
数字模型还必须存在于不同环境的应用程序中,无论是在车辆中、云端还是移动/网络应用程序中。所有这些环境都有自己的特定要求。结果是大量不同的技术和框架。

而且,如果这似乎还不够具有挑战性,那么利用这些数字模型的车辆和移动应用程序也有望在离线和不稳定的网络上无缝运行。离线优先应用程序与无缝数据同步相结合是未来。但是,如果汽车制造商继续将大量的开发时间浪费在维护此类集成功能上,他们就有可能被抛在后面,而竞争会加速下一代数字孪生应用的创新。

让我们更详细地看一下这三个组成部分。

车辆:资源有限的嵌入式环境

据估计,汽车 每天 能够生成 25 千兆字节的数据 。换句话说,25 千兆字节的数据相当于 直播 8 小时 Netflix! 仍然高度关注资源效率,因为每增加一兆字节的内存,就必须成倍增加数百万辆车,因此能够使用超低占用空间的技术至关重要。

MongoDB 的 Realm 是一种嵌入式数据库技术 ,已作为移动应用程序和信息娱乐等系统的一部分在数百万部手机上使用,在设计时就考虑到了这些确切的要求。有了 Realm,你可以使用惯用的轻量级文件系统 API 来收集、存储和处理数据,同时最大限度地减少资源消耗。您不必担心连接不稳定,因为您的应用程序所需的所有数据都可以在车辆离线时存储和处理。

此外,Realm 的对象导向使得整个软件开发体验既习惯又自然,无需额外的抽象层,例如对象关系映射框架。
而且,由于移动应用程序与嵌入式世界有许多共同之处,你会发现还有支持最流行的移动应用程序框架和编程语言的 Realm SDK,允许你在首选环境中习惯性地利用同样的优势。

云:来自 亚马逊云科技 的后端力量

将来,每辆车产生的数据量不仅会呈指数级增长,而且结构和数据模型也将不断发展。MongoDB 是一个建立在文档模型之上的多模型数据平台,它可以通过单一查询语言和 API 高效地处理不断演变的不同数据模型。这使您能够降低复杂性和数据重复,节省成本并加快软件开发。

MongoDB 的分布式横向扩展架构与 亚马逊云科技 区域、可用区和基础设施服务相结合,使您能够动态轻松地满足数据局部性和高可用性要求。

MongoDB 和 亚马逊云科技 之间的密切合作不仅仅是利用云基础设施。此次合作有助于为您提供与原生 亚马逊云科技 服务的深度技术集成,并进一步允许 亚马逊云科技 客户通过现有的 亚马逊云科技 合同使用 MongoDB Atlas 服务。

想了解有关 亚马逊云科技 上的 MongoDB Atlas 的更多信息吗?点击 这里

双向数据同步

MongoDB 通过 Atlas 设备同步 在客户端应用程序中嵌入的 Realm 数据库和 亚马逊云科技 上的后端数据平台 MongoDB Atlas 之间提供开箱即用的双向数据同步。

Atlas Device Sync 的独特之处在于,它将数据建模和实例化数据对象跨多个开发环境的同步无缝实时结合在一起。软件开发人员只需要在应用程序代码中创建或修改对象的实例。

虽然数据对象被定义为应用程序代码中的类/类型,但 MongoDB Atlas 后端使用 JSON 架构来定义属性、数据类型和关系。相同的架构也会自动转换为适用于不同编程环境和 Realm SDK 的类定义。开发人员只需复制并粘贴编程环境的数据模型,即可立即使用。

完全托管的 GraphQL API 端点还会自动利用 JSON 架构,并允许直接访问新数据,包括基于字段级角色的访问控制,通常通过 Web 和移动应用程序。无需额外的架构维护。

车辆并不总是在网络稳定的区域运行,会面临带宽突然下降或中断。为了适应这种不可预测的网络条件,Realm 遵循离线优先模式。这意味着对数据的更改将首先在本地保存。一旦建立连接,修改就会通过云后端与其他设备透明地实时同步。

Realm SDK 还可以自动透明地处理突然的网络中断,同时确保在不稳定的网络条件下重新连接不会导致设备电池电量耗尽。

为了适应低带宽和昂贵的数据传输成本,同步机制仅通过网络发送现场级别的变化/增量。这些所谓的变更集在传输之前会被进一步压缩,以将传输的数据量降至最低。

分布式架构和离线优先模式还意味着,数据更改可能会发生在多个应用程序中的相同数据对象上,这可能会导致冲突。处理诸如修改顺序之类的冲突需要复杂的应用程序逻辑。因此,Atlas Device Sync 协议内置了确定性冲突解决方案,删除了大量复杂的非差异化代码,从而让开发人员腾出时间来开发特性和功能。

亚马逊云科技 和 MongoDB 遥测反馈回路

现在,我们已经介绍了车辆中的数据管理、云端以及如何同步这些世界,让我们用一个示例用例和架构来演示如何在车辆内部收集车辆电池遥测数据,将其移至云端进行推断,以及如何与司机、车主和车间人员实时共享结果。

Figure 2: High Level Architecture

Figure 2: High Level Architecture

从上面的架构来看,联网汽车将 Realm SDK 用于车载应用程序,例如在信息娱乐系统中。该应用程序收集车辆遥测数据,只要车辆处于离线状态,就会将其保存在本地的 Realm 数据库文件中,一旦建立连接,就会通过 HTTPS Websocket 将其同步到云后端。在后端,数据存储在MongoDB数据库中,触发器通过亚马逊云科技 EventBridge将收集的遥测数据推送到亚马逊SageMaker。然后,Sagemaker 会分析这些数据。然后将推断结果写回MongoDB,Atlas Device Sync将在该数据库中立即将其提取并与所有联网的应用程序(例如手机或信息娱乐系统)同步,让所有感兴趣的人无论身在何处都能立即知道车辆的状况,具体取决于他们对这些数据的权限。

这只是如何利用 MongoDB Atlas 和 亚马逊云科技 轻松构建这种联网车辆反馈回路的一个简单示例。

想象一下您的组织将能够建立的所有出色的客户体验。只有几个想法:

  • 收集车辆遥测数据并将其与天气数据相结合,以实现自动路线规划。
  • 驾驶员与道路辅助和远程问题解决技术支持之间的双向通信。
  • 为降低保险费用的司机进行分析。

结论

签名、盖章并交付。借助 MongoDB 和 亚马逊云科技,您可以为数字双胞胎获得强大的数据中间件,让您可以专注于创新和增值用例,轻松创造新的收入来源。将更多时间花在差异化上,站在创造下一代汽车客户体验的最前沿。

如果您想了解更多信息,请继续关注本博客系列的第 2 部分。在那里,我们将深入探讨本博客中未涉及的技术注意事项(包括代码示例),同时还会演示如何利用 MongoDB 和 亚马逊云科技 实现数字双胞胎。