gpt4 book ai didi

linux - 在 Raspberry PI 中,如何实现对 SD 卡的最小写入周期并随时拔下 RPI?

转载 作者:太空宇宙 更新时间:2023-11-04 12:00:28 25 4
gpt4 key购买 nike

我在我的一个项目中使用树莓派,它从微型 SD 卡启动。该应用程序在 C++ 数据结构中记录交易,然后存储到 microSD 卡内的 sql 数据库中。我不能丢失该数据,因为它是金融交易。

这里的问题是备用电源只能使用 30 秒。我可以检测电源故障事件并启动关机。但是我不确定它是否会在将数据安全写入 sql db 后的 30 秒内关闭。

我也有兴趣尽量减少对微型 SD 卡的写入周期。

我见过使用 Linux 的互联网路由器,但可以随时安全地拔掉插头。我认为他们使用叠加层。

  1. 那么是否有可能为树莓派实现类似的文件系统?
  2. 我可以挂载 SD 卡,然后将完整的操作系统加载到内存中,然后从那里运行,这样我只担心写下 SD 卡数据分区中的数据,但如果它没有安全关闭,我的 SD 卡根文件系统不会损坏?

最佳答案

如果它是重要的信息,是不是可以给它一个互联网连接来备份它?如果无法上网,那么您不应该将操作系统和重要数据放在同一张 SD 卡上。您不知道哪种类型的崩溃可能会损坏数据。

解决方法:

有两个 SD 卡或两个数据存储单元。让操作系统在一个上运行,当交易开始时,让操作系统访问另一个 SD 卡以执行交易。只有当操作系统完成第二张 SD 卡时,它才会声明交易成功。如果操作系统检测到断电,则不应启动事务。我假设任何交易都不会花费接近 30 秒的时间(永远不会花那么长时间)。如果在断电期间发生交易,它应该完成交易然后声明它成功,但拒绝接受更多条目。如果确实需要 1 个 SD 卡,则将它们放在单独的分区中,但具有如上所述的交互性。

当然,这并不直接解决关机问题。现在,我想知道您的 Raspberry PI 实现发生了什么,但是关闭它并写入 SD 卡应该不会花费接近 30 秒的时间。如果是这样,那么就会发生另一个问题。计算机非常快。当我们不知道正在写入什么时,“最小化 SD 卡写入”是一个非常模糊的问题。

关于linux - 在 Raspberry PI 中,如何实现对 SD 卡的最小写入周期并随时拔下 RPI?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52617833/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com