0
在Windows移动设备上,我正在使用的软件依赖于sdf文件,因为它是数据库。 软件针对的平台“不够理想”,每隔一段时间都会进行硬复位。在遥远的过去,我们失去了数据。现在我们关闭数据库,并将SDF文件复制到SD卡。如果设备硬重置,我们恢复应用程序(也在SD卡上)和数据库。备份我的数据库花费的时间太长了
我不关心恢复(只是)。我们现在面临的问题是,执行“备份”需要花费大量的时间,因为SDF为7+ megs,写入SD卡的速度缓慢。
我的老板建议我们创建文件的“块”散列,然后只在散列比较!=时写入目标文件。
所以这里的问题。
如果只能有一个文件副本,并且无法将其与原始文件进行比较,您将如何测试文件是否发生更改。
我只是拍摄了一些头脑风暴。
没有。这可能是我见过的最不有组织的数据库(不是故意没有完成的)。主键是字符串(ugg),很少被标准化。任何东西都没有日期时间戳。这只是丑陋的。 散列思想的问题(以及我为什么来到这里)就是你所说的,如果文件只是在前面改变了一点,并将所有数据移动了一个偏移量,那么散列将会不匹配,所有的性能收益都没有了。 – baash05 2009-12-10 23:23:47
如果你对系统有合理的控制(我对winmo开发一无所知),我会说你最好的选择可能是看看做这种差异备份的第三方工具。从头开始解决这个难题。你可以看看DAR的灵感。 http://dar.linux.free.fr/ – 2009-12-10 23:45:26
我认为tar和rsync也实现了某种形式的差分/增量文件复制/备份。 – 2009-12-10 23:47:37