1 persistency 概念介绍
percistency持久化,上一集我们介绍过 从一个应用程序的角度来看 它能使用的API可以分为三类,ara::per的API就属于这里的第二类direct API,只需要编译链接相应的库就可以直接使用了。我们先来了解ara::per的主要功能,ara::per提供持久化存储相关的,它提供两类存储能力:
- file storage文件存储
- key-value storage键值对存储
一个file storage就类似于文件系统中的一个目录,它是文件的集合。ara::per在文件存储上提供流式的API,风格类似于c++标准库的std::iostream;而一个key-value storage是键值对的集合,AUTOSAR 没有规范其具体实现方式,所以不同的供应商可以有不同的实现(例如,有不同的数据库格式)。
2 ara::per建模常用元素介绍
2.1 ara::per设计特点
ara::per在设计上有什么特点呢?首先是数据的并行访问,ara::per认为一份持久化的数据一定是属于某个进程的local的数据,也就是说,一份持久化的数据不会在两个进程之间直接共享,之所以这样设计是因为我们不希望在ara::com之外再提供一个可能的进程间通信方式,如果进程a依赖于进程b的持久化数据,那么进程b应当利用ara::com向外提供一