gpt4 book ai didi

python - 以 "Secure"方式更新磁盘上的两个相关文件?

转载 作者:可可西里 更新时间:2023-11-01 11:47:49 26 4
gpt4 key购买 nike

我有两个相互关联的二进制文件(意思是,当一个文件的记录更新时,另一个文件的匹配记录也应该更新)。这两个文件都是存储在磁盘上的二进制文件。

更新看起来像这样:

UpdateFirstFile() -- 更新第一个文件.....

UpdateSecondFile() -- 第二个文件已更新...

我应该使用什么方法来确保两个文件都更新或一个文件都没有更新?

两个文件都是平面文件(每个大小为 20[MB])。我知道数据库可以解决这个问题,但由于开销原因我注意到使用了一个数据库(每个表需要存储超过 20[MB] 的空间,而且我的空间不足并且有 1000 个这样的文件.. .).

有什么想法吗?

最佳答案

通用方法是实现 transactions带有某种回滚日志。

例如,您可以使用单独的文件来记录每个文件中将受更新影响的每个部分的当前内容。交易完成后,您删除日志文件。

在开始事务时仅存在日志文件就意味着另一个事务正在等待或已被中断。在这种情况下,您可以使用日志的内容来撤销中断前发生的任何文件更改。

这样你就可以确保 atomicity的更新操作。我将留下 ACID 的任何其他部分您需要将其作为读者的练习。

请记住,以正确的方式做这件事比听起来要难,尤其是当您有多个进程更新同一个文件时。

关于python - 以 "Secure"方式更新磁盘上的两个相关文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5453101/

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