AP Autosar平台设计 10 Persistency持久性/可靠性存储

13 篇文章 9 订阅
本文档介绍了AP平台的持久性存储机制,包括概述、KEY值存储和文件存储。持久性存储提供非易失性内存中的数据存储,确保数据在重启后仍然可用,并支持并发访问和数据完整性。KEY值存储用于存储键值对,支持多种数据类型,而文件存储则适用于非键值结构的数据。此外,还讨论了在UCM过程中处理持久性数据的用例,如软件安装、更新和卸载时的数据处理策略。
摘要由CSDN通过智能技术生成

目录

10 Persistency持久性/可靠性存储

10.1概述

10.2 KEY值存储

10.3文件存储

10.4处理UCM  persistent数据的用例


10 Persistency持久性/可靠性存储

10.1概述

持久性存储为AP平台的应用程序和其他功能集群提供了将信息存储在AP机器Machine的非易失性内存中的机制。数据在引导和点火循环期间可用。持久性提供了访问非易失性内存的标准接口。

Persistency API将存储位置标识符作为应用程序的参数,以寻址不同的存储位置。可用存储位置分为两类:

•key值存储

•文件存储

每个应用程序都可以使用多种存储类型的组合。

持久数据始终是一个应用程序的一个进程的私有数据。不存在使用持久性存储在不同进程之间共享数据的机制。这样是为了防止在通信管理提供的功能下出现第二条通信路径。

持久性存储可以处理来自同一应用程序的多个线程的并发访问,这些线程在同一进程的环境下运行。要创建对KEY值存储或文件存储的共享访问,可以将Open Key Value Storage和Open File Storage返回的Shared Handle传递(即复制)到另一个线程,也可以分别在独立线程中为相同的KEY值存储或文件存储调用Open Key Value Storage和Open File Storage。

Persistency能够保证存储数据的完整性。它使用冗余信息检测数据损坏。冗余信息包括CRC码、哈希值和“M out of N”模式。这些机制可以一起使用,也可以单独使用。

Persistency还提供了安全的存储。这基本上是使用冗余实现的,但是还有一个附加功能,即让应用程序知道存储的数据是否有任何问题,即使可以使用冗余数据恢复数据。

Persistency提供有关已使用资源数量的应用程序统计信息。

Persistence为存储的数据提供加密,以确保在将敏感数据存储到物理设备上之前对其进行加密。

10.2 KEY值存储

KEY值存储提供了在一个存储位置存储和检索多个key值对的机制。key值存储直接支持以下三种数据类型:

•SWS_AP平台类型中定义的数据类型。

•应用程序中复杂类型流产生的简单字节数组。

•“Persistency Key Value Database Interface”通过“data Type For Serialization”引用的所有数据类型,或应用程序设计中专用于该接口的Persistency Data Elements的所有实现数据类型

对于每个key值数据库,key需要是唯一的,并且由应用程序使用Persistency提供的方法定义。

计划基于应用程序/平台特定的序列化代码,为应用程序设计中定义的AUTOSAR数据类型添加序列化/存储支持。

10.3文件存储

并非所有与持久性存储相关的数据都是以key值数据库构造的。

对于这类数据,引入了文件存储机制。文件存储端口允许应用程序访问存储位置并在其中创建一个或多个访问器。这些访问器是字符串格式的唯一键标识。

为了更好地了解这种机制,与文件系统进行比较会有所帮助:文件存储端口可以理解为文件系统目录,允许应用程序在其中创建多个文件(访问器)。

10.4处理UCM  persistent数据的用例

在UCM过程中,通过持久性处理UCM用例的持久性数据/持久性文件完全取决于persistency配置。

通常,UCM支持三种主要用例应用于用于在汽车ECU或AP机器的生命周期内处理自适应应用程序。

•在AP机器上安装新的应用软件

•将现有应用软件更新到AP机器

•从AP机卸载现有应用软件

在前两种方案中,UCM通过EM触发Persistency,以部署/更新应用程序的持久性数据。在第三种方案中,UCM可能使用URI从持久性配置中删除剩余的持久性数据。

持久性应支持以下提到的场景。

•Persistency应能够将持久性数据部署到由app设计人员在AP app安装期间定义的key值数据库或文件存储

•Persistency应能够将持久性数据部署到积分器integrator更改的key值数据库或文件存储中

•Persistency应能够将持久性数据部署到积分器integrator定义的key值数据库或文件存储中

•当安装新版本的应用程序时,持久性应能够根据为key值数据库或文件存储配置的更新策略覆盖或保留键值数据库或文件存储的持久性数据

一般来说,Persistency层是在应用程序设计和部署期间配置的。Persistency应能够使用部署阶段配置来覆盖应用程序设计配置。如果缺少部署阶段配置,则将考虑用应用程序设计中的配置来部署持久性数据。

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值