系统相关
首页 > 系统相关> > linux-黑盒类型数据记录

linux-黑盒类型数据记录

作者:互联网

在我正在开发的Linux嵌入式应用程序中,需要记录一些不时发生的事件.这些记录将保存在MTD闪存设备上,并且一旦写入就无需更改它们或进行有效的搜索,但是需要进行读取访问才能将数据显示给用户.
一个大问题是,没有适当的关机顺序,电源可能随时消失.
这些事件的发生频率可能​​很慢(几天/几周),但是其中一些会同时发生.
每个事件要保存的数据都是强类型的:日期,时间,几个短文本字符串和几个整数.

目前,我继承了基于jffs2和SQLite的解决方案,该解决方案远非最佳方案,因为DB文件有时会损坏.发生这种情况时,整个文件将变得不可读,并且无法了解它是由jffs2或SQLite中的错误引起的,还是Flash扇区损坏,或者是否在错误的时间断电.

是否有一个库或文件系统/库的组合可以更好地帮助我解决此类问题?还是应该只使用类似CSV格式的文本文件?

解决方法:

我们正在使用普通的旧syslogd到NAND闪存上的YAFFS2分区,它似乎运行良好:当消息发送到记录器并且在消息出现后(<100ms)立即断电时,日志似乎从未损坏. 这是建立在观察基础上的,而不是我明确地知道一切都会通过设计保持一致.

标签:logging,embedded,filesystems,linux,corruption
来源: https://codeday.me/bug/20191024/1922059.html