完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
一个项目上需要存储大量门禁卡数据并作检索(三万张卡) 谢谢 |
|
相关推荐
9个回答
|
|
1.SPI速度
2.SPI DMA + 双缓存 + 乒乓模式 3.找到数据中的一个属性( 比如开卡日期 用户名首字母)或者数据加入一个头 NorFlash按其分区 减少匹配的数据量 方式2 比较麻烦 依赖硬件 方式3 逻辑性强 数据分区 按你的需求 分4个区以上可以实现 不知道还有没有好的方法 这是我目前对于大数据量的处理方式 |
|
|
|
感谢,
1, spi速度, 已经跑50M了。。芯片最大值支持50M 2, 之前考虑用flashdb, 不过感觉超过2K的数据好像不适合,速度会变慢非常多。 我现在用的是littlefs,想利用一下lfs的掉电保护。。。 您指的卡数据加一个头是啥意思?能具体点嘛。 您指的是按照卡十位卡数据的某几位来做flash分区的索引吗? 十位的数据有一百亿条。。感觉有点大. 目前的一个想法,用哈希函数把卡均匀地分布在100个文件里,然后单独查每个文件,不过没想出来这个哈希函数怎么算.. 不知道各位过来人的经验。。 谢谢 |
|
|
|
你再看看 找到数据中的一个属性 比如开卡日期 用户名首字母 等等
|
|
|
|
你的目的是不是就是为了1秒钟之内匹配上数据?
|
|
|
|
|
|
|
|
把卡的物理ID按照区块划分范围,比如按照数字顺序,每256个划为一个区块(实际大小可以按照存储设备页来划分)。检索到卡ID时,按照物理ID先计算出所在区块,然后再区块中检索匹配的数据。这样会变得快一些。其实就是参照数据库中SQL检索语句的操作方式优化数据的组织。又比如,3万个卡,如果卡的ID是连续的,可以根据ID值,按照某个计算公式,直接定位到他所在的信息存储位置;如果ID不是连续的,那么也可以按照除以某个数值获得的余或者商来划分区块,可以快速定位所在区块。然后在区块里按照数值大小快速定位所在位置。
|
|
|
|
还有一种处理方式,就是把卡信息数据保存在其它计算机设备上。当嵌入设备扫描到卡号后,把卡号传递给计算机(上位机),上位机使用数据库方式保存所有的卡信息,利用SQL数据局库查询获取对应的数据。然后返给嵌入式设备。
|
|
|
|
具体处理时,最好参照卡的物理ID号来进行。对于有固定的范围、号码连续的是一种方式,这种完全可以使用嵌入式设备来处理。如果是随机不连续的,可以使用计算公式以区块方式存储、查找。或者直接由计算机数据库方式存储、查找。
|
|
|
|
如果设备能和上位计算机通讯的话,把卡的ID号传递给上位机,上位机上使用数据库检索方式查找对应的信息。,再返回给嵌入式设备。这样的处理速度应该也很快。
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
565 浏览 0 评论
AI模型部署边缘设备的奇妙之旅:如何在边缘端部署OpenCV
2147 浏览 0 评论
tms320280021 adc采样波形,为什么adc采样频率上来波形就不好了?
1211 浏览 0 评论
1741 浏览 0 评论
1454 浏览 0 评论
74780 浏览 21 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-22 09:59 , Processed in 0.846047 second(s), Total 85, Slave 69 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号