我在多个电脑上使用Maye Nano,通过第三方软件来同步数据,但是在同步MDB.json时遇到了一些问题。
我猜测,Maye运行时,会把MDB.json读取到内存,不锁定硬盘上的MDB.json文件。当在Maye内进行了操作后,才把内存中的MDB.json写入到硬盘。基于这个猜测,以下是对我遇到的问题的描述:
1.电脑A和电脑B都运行着Maye
2.电脑A修改了MDB.json,这个文件被正常同步到电脑B
3.电脑B的Maye此时仍使用内存中的MDB.json,因此项目布局没有更新
4.电脑B的Maye进行了操作,则会把内存中的MDB.json写入硬盘。但这个MDB.json是旧版的,因此两台电脑上的MDB.json出现了冲突
5.如果想解决这个问题,需要在电脑A的MDB.json同步到电脑B后,重启电脑B的Maye,让其重新从硬盘读取MDB.json。
能否新增功能,来解决第三方软件同步MDB.json时遇到的冲突问题?以下是我想到的解决方案。
解决方案1:
Maye监测NTFS日志,或者只监测MDB.json文件。当文件被修改时,Maye立即重新读取文件,更新项目布局。
解决方案2:
Maye启动时,把MDB.json读取到内存时,保存一个时间戳,注明此时硬盘上的MDB.json的最后修改时间。当Maye内进行操作后,想要把内存中的MDB.json写入到硬盘时,先对比时间戳。如果硬盘上的MDB.json更新,则放弃这次写入,从硬盘重新读取MDB.json,更新项目布局。