高级驾驶辅助系统应用
高级驾驶辅助系统(ADAS)的核心在于传感器数据的实时融合,需要性能强大的硬实时的数据库管理系统对所有数据进行实时的聚合、关联、分析和操作。
ADAS的汽车通常配备了多种类型的传感器如声纳,激光雷达,雷达,光学相机,GPS等。这些传感器通过获得的动态的数据,如交通数据、地图数据和道路工程数据,从而支持诸如交通标志识别、车道保持、车道偏离警告、自适应巡航控制、停车辅助、盲点检测、避免碰撞等功能。
SmartEDB RT 是一款专为硬实时应用设计的嵌入式数据库引擎。SmartEDB RT 针对ADAS进行了全面的优化:
- 实时事务时效性优化;
- 优先级调度优化;
- 一致性保证优化;
- 非对称多处理架构的传感器数据融合;
- 高度可配置的数据库内核优化;
- 广泛的RTOS支持;

实时事务时效性优化
SmartEDB RT 针对数据库所有事务按截止时间强制执行,保持时间有效性,确保数据在关键时刻被准确处理。
- 提供了将事务的截止日期和优先级传递给数据库调度器的方法。
- 对已确定截止日期的事务,事务管理器会会强制执行。
SmartEDB RT 对事务的时间约束和性能目标更严苛。
- 事务管理器可以确保所有数据库运行时,内部都处于“可恢复”状态。
- 在代码中设置验证点测试事务执行时间;
- 高频验证消除长时间执行风险;
- 当事务在截止日期内完成时,数据库操作等才被允许进行;
- 否则,达到截止时间,事务设为“中断”状态并回滚修改。

优先级调度优化
提供两种基于多读单写(MURSIW)策略的事务管理器,开发者可以根据应用程序的需要选择。
高优先级最早截止优先(EDF)算法
- 将事务请求按优先级首先排序,再以优先级内截止日期排序建立队列;
- 数据库内核组织队列并确定执行顺序。




优先级继承(PI)算法
- 依赖于底层实时操作系统RTOS的调度;
- 执行顺序基于操作系统任务优先级。
- 在大多数实时操作系统被使用。




一致性保证优化
SmartEDB RT 内核调度确保数据库在截止时间前完成操作或回滚状态,保证了内部逻辑一致性;同时,可为每个事务单独设定执行截止日期,保证数据与外部物理环境保持一致性。
实时操作系统(RTOS)通常预设截止时间,并会在到期时中断任务。例如:
- ASTERIOS®静态分配执行时间份额和CPU预算;
- DEOS™为线程静态分配了CPU预算,且不可超过预算;
- RTLinux可帮助实时任务在截止日期内执行完成;
但在实际运行中,多个逻辑相关但独立的操作序列的场景不能被满足。
例如:应用程序读取传感器数据并存储至数据库中,若分配给特定任务的截止日期在传感器数据完全提交前就已到期,那么,数据库的内部状态就会发生改变。
非实时数据库系统则不适合此类场景。
SmartEDB RT 的时效数据一致性调度可以根据操作系统动态调整事务截止日期。
例如:若线程CPU预算50毫秒,非数据库活动需10毫秒,只读事务回滚时间为0%,读写事务回滚时间约100%。因此,执行读写事务,截止时间估计为20毫秒。则超过此时间的事务将被中断,剩余20毫秒用于安全回滚,从而确保数据完整。
确保传感器数据访问与数据库更新操作全部成功完成,或者整体中止,从而,在任何情况下都维持了系统时效数据的一致性。
非对称多处理(AMP)架构的传感器数据融合
在AMP架构中:
- SmartEDB 是理想的传感器数据融合解决方案;
- 一个CPU用于实时侧,并有单独的数据库进行实时侧数据收集;
- 另一个用于分析侧,并有单独的数据库从分析端查询AI/ML;

高度可配置的数据库内核优化
具有紧凑和高度可配置的数据库内核:
- 数据库内核去除数据库管理代码,精简了数据库内核;
- 为实现可预测性事务执行,简化了数据库功能,特别是需要响应时间的嵌入式应用;
- 源代码级配置,默认仅包含必需特性,可按需设置运行时功能。

广泛的RTOS支持
SmartEDB RT为众多主流的实时操作系统(RTOS)提供了广泛的支持。
