如何做网站的充值功能,医疗网站开发ppt,亚马逊关键词优化怎么做,wordpress插件漏洞本次实验的程序链接stm32f103FlashDB嵌入式数据库程序资源-CSDN文库
一、介绍
FlashDB 是一款超轻量级的嵌入式数据库#xff0c;专注于提供嵌入式产品的数据存储方案。与传统的基于文件系统的数据库不同#xff0c;FlashDB 结合了 Flash 的特性#xff0c;具有较强的性能…本次实验的程序链接stm32f103FlashDB嵌入式数据库程序资源-CSDN文库
一、介绍
FlashDB 是一款超轻量级的嵌入式数据库专注于提供嵌入式产品的数据存储方案。与传统的基于文件系统的数据库不同FlashDB 结合了 Flash 的特性具有较强的性能及可靠性。并在保证极低的资源占用前提下尽可能延长 Flash 使用寿命。
FlashDB 提供两种数据库模式
键值数据库 是一种非关系数据库它将数据存储为键值Key-Value对集合其中键作为唯一标识符。KVDB 操作简洁可扩展性强。 时序数据库 时间序列数据库 Time Series Database , 简称 TSDB它将数据按照 时间顺序存储 。TSDB 数据具有时间戳数据存储量大插入及查询性能高。
二、作用
键值数据库 产品参数 存储用户配置信息 存储小文件管理时序数据库 存储动态产生的结构化数据如 温湿度传感器采集的环境监测信息智能手环实时记录的人体健康信息等 记录运行日志存储产品历史的运行日志异常告警的记录等
三、移植
FlashDB 底层的 Flash 管理及操作依赖于 RT-Thread 的 FAL Flash 抽象层开源软件包 该开源库也支持运行在 裸机平台 。所以只需要将所用到的 Flash 对接到 FAL 即可完成整个移植工作。 FAL 底层将不同的 Flash 存储介质进行了统一封装并提供了分区表机制暴露给上层用户。
FlashDB 的每个数据库就是基于 FAL 提供的分区机制每个数据库都坐落在某个 FAL 的分区上相当于一个分区对应一个数据库。 在定义 Flash 设备表前需要先定义 Flash 设备。可以是片内 flash, 也可以是片外基于 SFUD 的 spi flash。
本次使用的是stm32f103c8t6单片机上的片内Flash。当然也可以在扩展的spi-flash上也能在linux系统上扩展使用。
四、使用
注移植后的代码必须在fdb_cfg.h文件中选择使用键值数据库和时序数据库
1、键值数据库
如下图所示系统每次启动一次boot_count就会加一保存参数到片上Flash上。 2、时序数据库
修改状态每条 TSL 在被追加到 TSDB 后都可以修改其状态状态共有 4 种 FDB_TSL_WRITE已写入状态TSL 被追加到 TSDB 中后的默认状态 FDB_TSL_USER_STATUS1 该状态介于写入与删除之间用户可自定义其状态含义比如数据已被同步至云端 FDB_TSL_DELETED 已删除状态当 TSL 需要删除时修改 TSL 的状态为该状态即可 提示在 FlashDB 中为了提升 Flash 寿命删除动作并不会真正的将数据从 Flash 从擦除而是将其标记为删除状态用户可以通过状态对不同的数据记录进行区分。 FDB_TSL_USER_STATUS2删除状态之后的自定义状态预留给用户使用
注修改状态时只能按照 FDB_TSL_WRITE - FDB_TSL_USER_STATUS1 - FDB_TSL_DELETED - FDB_TSL_USER_STATUS2 顺序进行修改不能逆序修改。也可以跳过中间状态例如从 FDB_TSL_WRITE 直接修改为FDB_TSL_DELETED 状态跳过 FDB_TSL_USER_STATUS1 状态。
例如下面图片中虽然每次只添加了一个数据但是查询时会把所有的数据打印出来每次增加1个。 本次实验的程序链接stm32f103FlashDB嵌入式数据库程序资源-CSDN文库
参考官网链接快速开始 (gitee.io)