搜索
bottom↓
回复: 17

有没有人在stm32平台上做过数据管理

[复制链接]

出0入0汤圆

发表于 2022-1-12 20:06:17 | 显示全部楼层 |阅读模式
现在在stm32上做一个指纹考勤机,存在指纹删除和添加,有没有好的数据管理方法?

阿莫论坛20周年了!感谢大家的支持与爱护!!

月入3000的是反美的。收入3万是亲美的。收入30万是移民美国的。收入300万是取得绿卡后回国,教唆那些3000来反美的!

出0入8汤圆

发表于 2022-1-13 11:23:33 | 显示全部楼层
本坛大侠 sunnydragon 的 FlashDB 可以参考下~~

出0入0汤圆

发表于 2022-1-13 15:01:57 | 显示全部楼层
nic_911 发表于 2022-1-13 11:23
本坛大侠 sunnydragon 的 FlashDB 可以参考下~~

FLASHDB 2000个数据,查询就比较慢了吧

出0入0汤圆

 楼主| 发表于 2022-6-23 20:38:44 | 显示全部楼层
nic_911 发表于 2022-1-13 11:23
本坛大侠 sunnydragon 的 FlashDB 可以参考下~~
(引用自2楼)

代码是开源的吗?

出0入0汤圆

 楼主| 发表于 2022-6-23 20:39:20 | 显示全部楼层
gsq19920418 发表于 2022-1-13 15:01
FLASHDB 2000个数据,查询就比较慢了吧
(引用自3楼)

数据量对查询和写入影响有多大?有实际用过吗

出0入33汤圆

发表于 2022-6-23 20:54:44 来自手机 | 显示全部楼层
上日志型文件系统和sqlite

出0入90汤圆

发表于 2022-6-23 21:23:43 | 显示全部楼层
几个指纹,就别想那么复杂了。怎么简单怎么来吧,楼上说到的flashdb就对你来说绰绰有余了

出0入0汤圆

 楼主| 发表于 2022-6-29 09:48:09 | 显示全部楼层
honami520 发表于 2022-6-23 21:23
几个指纹,就别想那么复杂了。怎么简单怎么来吧,楼上说到的flashdb就对你来说绰绰有余了 ...
(引用自7楼)

2000个指纹,数据量还是挺大的。

出0入115汤圆

发表于 2022-6-29 10:36:47 来自手机 | 显示全部楼层
flash db稳定性有待验证,我最近一个项目使用了,大体还好,等长时间看了。

出0入0汤圆

 楼主| 发表于 2022-6-29 11:36:12 | 显示全部楼层
三年模拟 发表于 2022-6-29 10:36
flash db稳定性有待验证,我最近一个项目使用了,大体还好,等长时间看了。 ...
(引用自9楼)

flash db对二进制文件存储有优势不?

出0入4汤圆

发表于 2022-8-2 13:49:20 | 显示全部楼层
本帖最后由 SCREA 于 2022-8-2 14:05 编辑
ahwen2019 发表于 2022-6-29 11:36
flash db对二进制文件存储有优势不?
(引用自10楼)


当初苦于找不到合适的, 比如LFS数据量大了就卡,
所以自己造了个轮子,循环存储间隔可设定的日志:顺序存储,不当心磨损。
  1. 每一小节日志用一个小节结构头去存储当前节点的详细信息,如后面跟随该日志主体的数据结构。
  2. 小节之间用链表链接
  3. 再用个固定扇区存储最后一次的节点在Flash的地址,方便重启后快速定位最后一次的节点。不用担心此扇区磨损厉害,扇区通常比较大,如4K,每次追加最新节点的地址。追加完再擦除从头再来(如4K / 4 = 1024个地址头, 一个头管理的20K数据, 这样就能存储20MB 日志, 而一个扇区标准10万次寿命,就算一天写满一次,也够10万天了)。

  4. 优点:磨损均衡、掉电可恢复、手动恢复
  5. 缺点:自己写,自己测
复制代码

出90入4汤圆

发表于 2022-8-2 14:06:07 | 显示全部楼层
gsq19920418 发表于 2022-1-13 15:01
FLASHDB 2000个数据,查询就比较慢了吧
(引用自3楼)

sqlite 更慢               

出0入0汤圆

发表于 2022-8-2 14:36:58 | 显示全部楼层
ahwen2019 发表于 2022-6-23 20:39
数据量对查询和写入影响有多大?有实际用过吗
(引用自5楼)

大概2000 左右 查询 读写 都在秒级了

出0入4汤圆

发表于 2022-8-8 09:36:48 | 显示全部楼层
gsq19920418 发表于 2022-8-2 14:36
大概2000 左右 查询 读写 都在秒级了
(引用自13楼)


时间消耗都花费在查询链表与读Flash上了。

外扩内存的话,比如我用H7 + 32MB Flash + 32MB SDRAM(SDRAM total is 64MB), 查询都是ns级别(同步读),SDRAM 最后使用Sync函数刷入到Flash(异步写)。
自己造轮子的好处体现出来了,缺点就是内存消耗大,不能省电。要做到内存消耗小,读写时间腾的一下上来了。

出0入59汤圆

发表于 2022-8-8 09:53:25 | 显示全部楼层
SCREA 发表于 2022-8-8 09:36
时间消耗都花费在查询链表与读Flash上了。

外扩内存的话,比如我用H7 + 32MB Flash + 32MB SDRAM(SDRAM ...
(引用自14楼)

通用和专用的区别,数据库的查找和插入、数据回滚,数据完整性功能不是 自己读写FLASH 可比拟的;

我数据管理一路这样走来:
直接读写FLASH  -->  文件系统 --> 数据库

出0入4汤圆

发表于 2022-8-8 10:51:01 | 显示全部楼层
本帖最后由 SCREA 于 2022-8-8 11:16 编辑
polarbear 发表于 2022-8-8 09:53
通用和专用的区别,数据库的查找和插入、数据回滚,数据完整性功能不是 自己读写FLASH 可比拟的;

我数 ...
(引用自15楼)


哈哈,刚开始是这样想的的。
初生牛犊不怕虎,做了几天思想工作就写上了,好在通过了时间长久性等各种测试,性能也满足指标。

出0入115汤圆

发表于 2022-8-8 12:04:31 来自手机 | 显示全部楼层
sqlite3嵌入式数据库,百万级插入读都是秒级别的,现在国产能跑linux芯片的一抓一大把,搞个emmc性能稳定性都不错,干嘛非得用stm32

出0入0汤圆

发表于 2022-8-8 16:43:24 | 显示全部楼层
三年模拟 发表于 2022-8-8 12:04
sqlite3嵌入式数据库,百万级插入读都是秒级别的,现在国产能跑linux芯片的一抓一大把,搞个emmc性能稳定性 ...
(引用自17楼)

熟悉,出产品快
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-27 11:21

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表