产品架构与生命周期
HDMapSDK 访问本地地图数据和外部服务,并可通过通信模块接收导航系统提供的车辆上下文、路线上下文与交通数据。应用分别判断核心能力与导航支持能力是否可用。
产品架构
通信模块只表示导航系统与 HDMapSDK 之间传递导航系统输入的逻辑角色,不限定具体通信实现,也不默认包含在 HDMapSDK 交付包中。
架构按三个部署域表达:客户平台 / 车载运行环境承载 HDMapSDK、客户应用与本地地图数据;导航系统提供车辆上下文、路线上下文与交通数据,具体与客户平台同机、跨进程或跨设备随项目部署确定;外部服务位于车外服务环境。
系统与责任
| 系统 | 产品责任 | 集成重点 |
|---|---|---|
| 客户应用 | 使用地图、路线、前路与交通结果,并根据可用性决定展示和降级 | 统一管理生命周期、结果消费、降级和监控 |
| HDMapSDK | 提供车道级地图数据、地图版本、查询状态和导航关联结果 | 使用交付配置,检查每次查询结果,并综合判断能力可用性 |
| 导航系统 | 提供车辆上下文、路线上下文与交通数据 | 明确数据更新、可用性、恢复和时效性规则 |
| 通信模块 | 在导航系统部署域与 HDMapSDK 之间传递导航系统输入 | 项目交付清单指定提供方、部署位置、连接设置与运行责任;中断只影响导航支持能力 |
| 本地地图数据 | 保存当前区域可用的地图内容和版本信息 | 项目明确预置范围、在线数据条件和安装方式,并保证专用持久目录持续可写 |
| 地图数据服务 | 提供地图覆盖范围、地图版本和按需地图内容 | 满足项目安全、连接性和外部服务条件 |
连接与网络请求(数据与网络交互)
| 数据交互 | 边界 | 触发条件 | 客户可感知影响 |
|---|---|---|---|
| 客户应用 ↔ HDMapSDK | 本地产品交互 | 查询、可用性检查或生命周期变化 | 接口交互本身在本地完成;冷缓存、新区域或版本变化可能由 HDMapSDK 间接触发外部数据访问 |
| HDMapSDK ↔ 本地地图数据 | 本地数据访问 | 数据准备、版本变化或查询 | 增加本地读写和容量占用 |
| 导航系统 → 通信模块 → HDMapSDK | 项目通信 | 车辆上下文、路线上下文或交通数据变化 | 更新频率影响通信负载;中断只影响导航支持能力 |
| HDMapSDK ↔ 地图数据服务 | 外部服务访问 | 新区域、版本或覆盖范围更新 | 产生外部传输和本地数据写入 |
外部服务访问、项目通信及其安全与连接性要求随项目交付确认。交通数据来自导航系统,不由地图数据服务提供。
能力与导航支持
青绿色表示不依赖导航系统输入的核心高精地图能力,紫色表示需要导航系统输入的能力,蓝色表示导航系统提供的数据。
地图版本可用不表示任意区域都有数据;目标区域仍按本次静态查询状态判断。路线、前路和交通结果还分别依赖车辆上下文、路线上下文、交通数据和关联状态。字段与结果语义见导航关联数据。
外部可感知生命周期
客户应用根据数据与能力可用性、运行影响和停止完成状态管理生命周期,不需要了解 HDMapSDK 的内部执行阶段。
| 生命周期阶段 | 客户可见条件 | 客户动作 |
|---|---|---|
| 集成准备 | SDK、配置、本地数据、外部服务和可选通信条件已准备 | 确认平台、覆盖范围、资源与连接性 |
| 能力可用性 | 应用根据地图版本、目标区域查询及导航系统输入分别判断核心能力与导航支持能力 | 只使用满足区域、地图版本、通信、路线和时效性要求的能力 |
| 运行 | 客户应用使用当前可用结果 | 持续观察可用性;版本变化后重新获取相关数据 |
| 降级运行与恢复 | 出现准备中、无数据、不可用或已过期,或受影响能力恢复 | 降级受影响能力;恢复后重新确认可用性 |
| 停止 | HDMapSDK 完成客户可感知活动 | 停止新调用并释放应用持有的相关资源 |
可用、准备中、无数据、不可用与已过期是客户应用综合公开状态和项目策略后形成的业务判断分类,不表示额外的 HDMapSDK 内部状态,也不对应一个统一的能力可用性接口。
在线与离线数据策略不是生命周期阶段,也不等同于外部服务当前是否可访问。相关行为见数据与版本管理。
线程安全
HDMapSDK 公开接口是线程安全的,可以从多个线程并发调用。