本文介绍了汽车互联车队的参考体系结构,该体系结构使客户和合作伙伴能够构建以数据为中心的组合解决方案。 你可以管理互联车队的所有方面,生成数据驱动的见解,并将车队解决方案与关键业务流程相集成。 互联车队的参考体系结构适用于小型和新兴的汽车原始设备制造商 (OEM)、车队运营商、车队解决方案提供商和移动服务提供商。
体系结构
下载该体系结构中使用的关系图的 Visio 文件。
互联车队的参考体系结构通过以下方法支持可组合性、创新和可支持性:
- 应用通用消息传送架构和更新的汽车通用数据模型,使合作伙伴能够在车队运营的不同领域进行协调并增加价值。
- 采用模块化设计,通过管理车辆和业务的新功能来应对老城改造方面的挑战。 模块可以独立管理和集成,从而简化和加速来自不同相关方的功能的集成。 模块是可调整的,允许客户和合作伙伴根据需要自定义功能和扩展其运行范围。
- 基于正式版 Azure 服务。 随着新的 Azure 服务功能的引入,该体系结构也在不断发展。
该体系结构由以下方面组成:
- “车辆边缘”负责车辆内逻辑以及与云后端的连接。
- “远程信息处理”涵盖车辆遥测引入、消息处理和设备管理。
- “车队集成”涵盖从遥测层到业务和分析层的集成。
- “业务数据”包含数据模型以及车队通用数据模型与现有 Dynamics 365 模块之间的链接。
- “分析”集成各种大型数据源并以此为基础生成见解。
- “业务运营”提供车队管理和运营功能。
- “业务自动化”提供低代码或无代码扩展性,以基于业务数据实现用例。
- “可视化效果”提供报告和商业智能功能。
- “操作和安全性”为所有服务和设备提供监视和可观测性,保护网络连接,并为设备、应用程序和用户提供身份验证或授权。
以下部分将详细介绍体系结构和工作流。
遥测引入工作流
遥测引入层负责从车辆、授权、解码和扩充层接收消息,并将消息路由到车队集成层。
下载该体系结构中使用的关系图的 Visio 文件。
- 来自车辆的遥测消息包含标头或元数据,以及可以 protobuf 编码或采用 JSON 格式的有效负载。 这些消息通过 MQTT 发送到云中转站。 标头包括车辆 UUID、消息类型、供应商、关联标识符、消息版本、消息 UUID 和 UTC 标准时间戳等字段。 标头用于消息类型验证和路由。
- 消息在执行以下步骤的管道中进行处理:
- “元数据验证”将验证消息标头,包括活动,例如确认设备有权发送相应类型的消息和所需的标头字段。
- “解码”步骤会将输入架构转换为云使用的标准化格式。 “解码”步骤还将提供设备与云之间的抽象层(如果设备类型或年份之间有任何版本变更)。 解码实现可以是内联实现(作为函数的一部分,以提高性能),也可以是用于添加模块化的单独函数调用。
- “扩充”涉及操控数据值和添加新数据字段。 扩充工作负荷的示例包括单位转换(例如英里到公里)、反向地理编码、车辆诊断故障代码描述查找、使用更多数据进行扩充以及派生和计算额外值。 “扩充”步骤将根据消息类型进行调用。
- “路由”步骤根据消息类型将消息分发到车队集成层中的事件中心。 车队集成层是一个“暖”路径,对于需要对消息数据进行近实时访问的集成,这是必需的。
- “配置”将在 Azure Cosmos DB 中进行管理。 消息处理应用会读取已知消息类型、设备授权声明以及用于处理和路由传入的消息的步骤配置。
- 对于“数据分析和调试”,消息将存储在客户数据湖中的单独表中。 下面是示例消息和异常:
- 来自 Azure IoT 中心的原始消息,包括标头。
- 解码和扩充后的消息。
- 异常包括无法根据架构验证的消息、失败的解码活动以及与现有车辆不匹配的消息或失败的扩充案例。
- 外部系统可通过托管 API 访问“车辆和设备管理”。 消息处理函数使用存储在 Azure Cosmos DB 中的车辆数据来验证消息是否已注册到车辆。
Azure 事件网格提供支持版本 3.1.1 和 5.0 的符合行业标准的 MQTT 中转站。 有关详细信息,请参阅 Azure 事件网格中的 MQTT 支持概述(预览版)以及使用 CA 证书链的客户端身份验证。 通过使用 Azure 基于角色的访问控制 (RBAC),可以将客户端限制为发布或订阅特定主题。 有关详细信息,请参阅进行 Microsoft Entra ID JWT 身份验证和 Azure RBAC 授权,以发布或订阅 MQTT 消息。
还可以将 IoT 中心 用作 MQTT 中转站。 它提供对 MQTT 3.1.1 和 5.0 的有限支持,其中包含预定义的主题,以及设备和云应用之间的紧密耦合。 有关详细信息,请参阅比较 IoT 中心和事件网格中的 MQTT 支持。
可以通过专用链接配置设备和云之间的连接,以提高网络安全。
车队集成工作流
车队集成层使用远程信息处理层的标准化通信有效负载。 有效负载可在车队管理中为业务线和数据分析实现交钥匙方案。
支持车队操作所需的四种常见有效负载消息类型包括:
数据有效负载 | 说明 |
---|---|
车辆状态更新 | 车辆状态更新消息将在车辆操作期间定期发送,发送时间通常在数秒到数分钟范围内。 该消息包含车辆的位置和操作数据。 |
车辆警报和通知 | 车辆警报和通知是专用状态更新。 当达到特定条件时,该更新将由边缘设备触发或在远程信息处理层中计算和生成。 常见事件包括碰撞、超出地理围栏边界、粗暴驾驶和未经授权的移动。 |
车辆运行状况 | 车辆运行状况包含来自车载诊断系统的信息。 它包含已安装硬件和故障诊断代码的列表。 此消息类型的发送频率较低,通常每天发送几次、按需发送或在即将发生故障或实际故障时作为优先级消息的一部分发送。 |
Trips | 一些车队应用程序不传输恒定的车辆遥测流,而是在行程结束时发送一条包含路线和兴趣点的消息。 |
以下体系结构关系图显示了这些消息的数据流:
下载该体系结构中使用的关系图的 Visio 文件。
- 标准化消息将到达车队集成 Azure 事件中心命名空间。
- 定期状态消息将使用本机 Azure 数据资源管理器的数据引入进行处理并直接发送到分析层。
- 作为事件、警报和通知接收的消息会向相应的事件数据表添加行。
- 包含行程的消息将在行程表中创建条目。
业务自动化工作流
业务线集成是通过使用 Microsoft Power Platform 数据连接器实现的。 该连接器使在 Microsoft Power Automate 或 Azure 逻辑应用中创建工作流成为可能,从而为车辆功能启用低代码或无代码集成。
你可以使用数据连接器执行两项操作:
- “触发器”将发生特定事件时通知 Microsoft Power Platform。 触发器会启动业务工作流,作为对车辆状态变更消息的反应。
- 操作是由用户指示做出的更改。 操作允许从 Microsoft Power Platform 到车队集成层的交互。
下载该体系结构中使用的关系图的 Visio 文件。
以下触发器和操作对应于上图。
-
触发器
- 传入事件消息:基于事件消息类型在 Microsoft Power Apps 或 Microsoft Power Platform 上启动工作流。 消息的有效负载可以在 Microsoft Power Platform 中进行分析和访问。
- 生命周期管理预配:车辆预配状态变更通知。
-
操作
- 访问“车辆上次已知值”和“历史记录”:允许你读取最后一个已知值存储和消息历史记录。
- 预配:包含预配和取消预配车辆和设备的功能。
数据连接器可以独立于 Dynamics 365 集成使用。 连接器使商业应用程序能够通过使用 Microsoft Power Platform 与体系结构集成。
数据分析和可视化工作流
下载该体系结构中使用的关系图的 Visio 文件。
分析管道为车辆和业务数据提供暖可用性和冷存储。
数据湖将存储数据,包括:
- 来自车辆的原始消息。
- 来自连接的车队消息处理扩展的已解码和扩充的消息。
- 消息处理扩展中的失败消息。
- 通过 Azure Synapse Link 从 Microsoft Dataverse 推送的业务线信息。
- 从第三方系统推送的导出内容。
数据将在 Synapse 管道中分几个步骤进行处理:
- 原始“青铜”表中经过清理、解码和去重的数据。
- “白银”表中经过扩充、去重和验证的车队操作数据。
- “黄金”表中提供汇总数据和关键绩效指标的数据集,以及从多个数据源获得的见解。
可视化效果将通过访问湖屋中的数据实现。 Microsoft Power BI 使用 Parquet 连接器和 Azure 数据资源管理器群集通过 DirectQuery 为湖屋提供可视化功能。
组件
此汽车互联车队参考体系结构中提到了以下组件:
消息服务
通过以下消息传送服务,你可以响应相关事件、进行预配、引入和在连接设备之间实现通信。
- 事件网格是一种高度可扩缩的完全托管型发布-订阅消息分发服务,使用的是 MQTT 和 HTTP 协议。 此服务使远程信息处理设备能够与云通信。
- IoT 中心是一种托管服务,充当远程信息处理设备与云之间的消息中心。
- IoT 中心设备预配服务是一项帮助程序服务,可实现远程信息处理设备的零接触即时预配。
- 事件中心是一种可扩缩的事件处理服务,用于引入和处理大量事件和数据。 它将处理远程信息处理设备生成的大量事件。
存储和数据库服务
通过以下服务,可以优化数据存储。
- Azure Blob 存储是适用于云的对象存储解决方案。 它将存储来自远程信息处理设备的信息,例如消息、视频和高分辨率数据捕获内容。
- Azure Cosmos DB 是一种用于新式应用开发的完全托管的 NoSQL 数据库和关系数据库。 它将存储有关车辆、设备和用户的信息。
集成服务
以下服务允许进行大规模发布、创建和管理网关、使用更新的基础结构和资源、创建 Web 和移动应用以及使用地理空间功能。
- Azure API 管理是针对可简化数据和服务的集成的 API 的混合多云管理平台。
- Azure Functions 是一种无服务器解决方案,用于实现遥测消息和事件的实时流式传输和事件处理。 它还会管理文件上传,并使用机器学习模型执行推理。
- Azure 应用程序服务是一项基于 HTTP 的服务,用于托管 Web 应用程序、REST API 和移动后端。 它将为移动用户提供前端体验。
- Azure Maps 是一系列地理空间服务和 SDK,可为 Web 和移动应用程序提供地理上下文。
数据和分析服务
以下服务允许查询和分析大量数据。
- Azure Synapse Analytics 是一项企业分析服务,可以缩短在数据仓库和大数据系统中生成见解所需的时间。
- Azure 数据资源管理器是一个完全托管的高性能大数据分析平台,让你可轻松近实时分析大量车辆遥测数据。
安全服务
通过以下服务,可以管理虚拟网络和用户标识,以及控制对应用、数据和资源的访问。
- Azure 专用链接支持通过虚拟网络中的专用终结点访问 Azure 平台即服务 (Paas) 解决方案。 专用链接可避免向 Internet 公开服务。
- Microsoft Entra ID 是基于云的标识和访问管理服务。 它提供了跨所有应用程序、服务和用户的通用体验。
业务集成
通过以下服务,可以管理数据、应用、工作流、生成低代码应用并增加见解。
- Dataverse 是一个云规模的数据库,用于安全地存储基于 Power Apps 构建的商业应用程序的数据。
- Power Automate 是一项基于云的服务,允许用户使用低代码平台自动执行重复性任务并简化业务流程。
- Power Apps 是一种基于云的服务,使用户能够快速生成和共享低代码应用。
- Power BI 是用于提供数据可视化效果和见解的业务分析服务。
- Dynamics 365 是一套智能的商业应用程序,可帮助你运行整个业务,并通过 AI 驱动的预测性见解提供更大的结果。
- Dynamics 365 Field Service 可帮助组织向客户所在地提供现场服务。
方案详细信息
下载此图的 PowerPoint 文件。
独立软件供应商 (ISV) 可以使用互联车队的参考体系结构来构建独立于方案的功能,这对于整体车队管理活动至关重要。 上图中的功能层描述了两个类别的功能:车辆管理以及车队中的业务功能。 对功能进行分类的原因包括:
- 类别提供了描述性便利。
- ISV 可能会开发多个功能类别中的多个功能。
- 多个 ISV 提供相同功能的不同版本。
解决方案集成商 (SI) 将不同功能结合在一起,为特定客户开发特定于细分市场的方案。 上图中显示的场景是一个非穷尽示例列表。 某些方案适合车队数量较少的类型,包括交付中的最后一英里物流。 其他细分市场可能有不同的自定义项,例如用于城市拼车和远程采矿设备的移动现场服务。 一些 IS 会开发自己的车队功能,从而以可重用资产的形式对其进行维护。 这些 SI 可能会扮演 ISV 的一些角色和传统的 SI 角色。
可能的用例
- 移动现场服务支持在没有固定车间的农业和非公路用车等领域运营车队即服务的公司或提供全方位服务的 OEM。 如果出现问题,它可以派遣飞行医生(也称为技术人员)前往车辆所在地。 远程诊断可帮助你确定错误的原因,并提供正确的备用部件和维修手册。 集成服务体系结构可以将移动服务与静态车间中的服务结合起来。
- 工程自助分析使为汽车 OEM 工作的工程师能够使用汽车车队操作和任务中产生的数据来生成有价值的见解。 分析包括车辆性能、错误根本原因分析、机器学习模型训练和地理空间分析。 范围包括生产和预生产测试车队,其中的有效负载和分析将更具动态性。
- 共享车辆服务是出租车调度、自助租赁和汽车共享或拼车服务的集合。 对于出租车调度,用例包括请求上车点和下车点、根据可用性自动匹配乘客与司机,以及与司机的距离和下一次上车的时间表规划。 在自助模式下,该服务使用户能够预订车辆、支付车费,以及提高乘车的安全性。 在运营商方面,车队经理可以运行特定地点的车辆需求报告,以确保车辆的定位符合需求趋势。 拼车服务包括车辆或座位预订和支付服务。 在高度集成的智能交通系统中,这些功能可能在多个提供程序(如城市调度系统)中通用。
- “最后一英里”物流专门针对具有复杂调度要求的客户,需要在给定的一天内为许多路点优化驾驶员和车辆选择。 客户包括送杂货或包裹的人员。 理想情况下,“最后一英里”物流将与客户界面集成,以告知客户预期的送达时间。 通过提高货物交付的可见性、优化车队规模和缩短驾驶距离,客户可以从与最终客户的更紧密接触中受益。 此类功能可扩展到共享货运模型,其中由端点(而不是快递员)整理包裹,特别是为了遵守超低排放车辆 (ULEV) 以及零排放和低排放车辆 (ZLEV) 区域限制。
- 客户服务使车队运营商和所有者能够跟踪客户问题、记录所有交互活动、统一路线以高效地安排工作事项、创建和跟踪服务级别协议 (SLA),并通过报告和仪表板管理性能和生产效率。
注意事项
这些注意事项实施 Azure 架构良好的框架的支柱原则,即一套可用于改善工作负荷质量的指导原则。 有关详细信息,请参阅 Microsoft Azure 架构良好的框架。
可靠性
可靠性可确保应用程序符合你对客户的承诺。 有关详细信息,请参阅可靠性支柱概述。
- 需要额外的设计来处理与健康和安全相关的消息。 例如,将碰撞信号与 911 紧急呼叫相关联。
- 远程信息处理硬件提供商必须保证运行命令的功能安全性。
安全性
安全性针对蓄意攻击及滥用宝贵数据和系统提供保障措施。 有关详细信息,请参阅安全性支柱概述。
- 使用 Microsoft Defender 和 Microsoft Sentinel 识别和解决设备漏洞和威胁。 请考虑在设备中集成轻型安全代理。 有关详细信息,请参阅什么是适用于设备生成器的 Microsoft Defender for IoT?。
- 对设备执行监视和可观测性。 请以能够在透明度与成本之间取得平衡的速率收集指标、日志和跟踪信息。
- 使用专用终结点来保护不应向公共 Internet 公开的服务。
- 使用托管标识来为服务提供标识并省去凭据管理。
成本优化
成本优化是关于寻找减少不必要的费用和提高运营效率的方法。 有关详细信息,请参阅成本优化支柱概述。
- 互联车队的运营成本与每辆车的消息量直接相关。
- 考虑每个车辆所需的更新频率。 请考虑根据使用情况动态调整更新速度。
- 考虑通过使用压缩或编码技术(如 protobuf 和 gzip)来减小消息的大小。
- 考虑使用无线 LAN(而不是手机通信),从而限制视频或车辆数据捕获信息的传输。
- 考虑使用 Azure 现成虚拟机实例来延迟处理大型文件,例如视频和日志文件。
- 对于来自车辆的频繁 MQTT 消息,请使用主题别名来节省网络带宽。
- 必须尽可能减少进行解码和扩充的运行时间,以降低函数应用的大小和规模。
- 车辆运营通常在一天中具有高需求和低需求时段。 请考虑对需要降低成本的服务使用自动扩缩。
- 基于 IoT 的遥测系统(远程信息处理层)和操作层 (Dataverse) 在处理速度和成本上有很大的差异。 请确保只有需要业务操作的事件才会触发操作层的更新。
定价计算器可用于为使用此解决方案所需的 Azure 服务创建每月成本估算。
卓越运营
卓越运营涵盖了部署应用程序并使其在生产环境中保持运行的运营流程。 有关详细信息,请参阅卓越运营支柱概述。
- Azure Data Lake Analytics 中的死信消息可用于监视系统是否存在问题,并配置警报以检测车辆通信问题。
- 车辆软件中的 bug 可能会在系统中造成高负载。 车辆消息限制概念可能是必要的,以确保系统不会过载。
- 考虑为体系结构中的每个层创建一个资源组。 资源分组简化了管理和成本控制工作。
性能效率
性能效率是指工作负载能够扩展以满足用户对它的要求。 有关详细信息,请参阅性能效率支柱概述。
- 大容量消息(如定期状态更新)和延迟消息(如行程)将与警报和通知分开,以恰当调整事件中心的大小。
- 遥测与 Dataverse 之间与计时和错误处理相关的不匹配(例如推送和拉取之间的差异)将使用虚拟表来分离快速更新的数据。
- 汽车通用数据模型的当前结构要求每次车辆状态更新都有多个条目。 每个值都要求更新设备度量值和设备仪表。 有关传感器的信息应按需从车队集成层浮现。
- 垃圾消息警报和通知消息会在 Dataverse 中带来问题。 Dataverse 的更新频率必须可配置,并受到限制。
- 状态存储包含来自车辆的最新信息,并且可以作为业务自动化或 Power Apps 的一部分进行访问。
部署此方案
你可以按照互联车队参考体系结构的分步教程来在订阅中部署解决方案。
作者
本文由 Microsoft 维护, 它最初是由以下贡献者撰写的。
主要作者:
- Mario Ortegon-Cabrera | MCIGET SDV 与移动性首席项目经理
- David Peterson | 移动服务线首席架构师
其他参与者:
- Saivendra Kayal | 移动服务线高级项目架构师
- Ryan Matsumura| MCIGET SDV 与移动性高级项目经理
- John Stenlake | 车辆创新与移动性总监
要查看非公开的 LinkedIn 个人资料,请登录到 LinkedIn。
后续步骤
以下参考体系结构扩展了互联车队方案:
- 汽车消息传送、数据和分析参考体系结构涵盖了使用事件网格 MQTT 中转站的更多汽车和设备消息传送方案。
- 汽车测试车队的数据分析是一种专用方案,其中收集的数据用于工程验证和根本原因分析。
相关资源
以下参考体系结构与互联车队方案相关:
- 自动驾驶汽车操作 (AVOps) 设计指南包含自动驾驶车队的开发和模型训练方法。
- 自动引导式车队控制展示了一种控制自动引导车辆 (AGV) 的端到端方法,用于实现实时制造和自动化展厅物流。
实现此体系结构时,以下模式是相关的:
- 发布服务器-订阅服务器模式描述设备如何将事件报给多个感兴趣的应用程序。
- 事件溯源模式描述使用仅追加存储来记录对实体(如车辆、设备和用户)采取的一系列操作,而不仅仅是最后一个已知值。
- 限制模式用于控制资源消耗,以允许系统继续正常运行并满足 SLA。
- 云监视指南概述了实现监视和可观测性所需的概念。