1 对文件的写入应采用创建临时文件、完成写入、替换原文件的模式
2 对关键数据写入后要fflush而且fsync,同时采用较小的粒度,保证在一个磁盘单元读写内肯定完成,例如64字节(还是512?),这样在掉电时会减少数据的不一致性
3 用文件header来记录文件的实际有效数据长度,必要时为文件头和记录中都添加crc
4 如果要在多个文件间保持一致性,最好分步进行,先各个文件写入实际数据,在全部完成时,统一更新他们的header
其它呢?
1 对文件的写入应采用创建临时文件、完成写入、替换原文件的模式
2 对关键数据写入后要fflush而且fsync,同时采用较小的粒度,保证在一个磁盘单元读写内肯定完成,例如64字节(还是512?),这样在掉电时会减少数据的不一致性
3 用文件header来记录文件的实际有效数据长度,必要时为文件头和记录中都添加crc
4 如果要在多个文件间保持一致性,最好分步进行,先各个文件写入实际数据,在全部完成时,统一更新他们的header
其它呢?