我正在开发JS和node-webkit中的独立编写器应用程序,该应用程序应该能够在离线时本地存储生产并与基于用户的云服务(如dropbox)同步。现在Rigth将这些着作保存在一个对象中并在本地写入文件。
现在,每个用户都在他的作品中独自一人,所以没有人同时编辑,所以我不需要从服务器到客户端实时同步。但我需要应用程序灵活的互联网连接(专为远程人员设计),这意味着有人可以离线启动,开始编辑,然后获得连接,然后再次松开它。有时几天没有互联网,并继续编辑。当连接进出时,所有这些都应该同步。
诀窍是,有时我的用户将在另一台终端上编辑 - 其他计算机,或者在未来的移动设备中,所有这些都应该以某种方式同步。
我认为使用Dropbox数据存储区,但它们无法处理离线启动,所以它会失去所有兴趣。
现在,这是我的逻辑:每个工作表都有一个“最后编辑”的时间戳和一个“最后编辑者”ID,我的程序的每个版本在首次启动时都会生成。因此,每当你获得网络后,我从网上下载完整的数据库,并比较每个本地存储的对象。如果它们具有相同的ID,则表示没有其他人触及它,并且此计算机上的本地版本仍然存在。另外,我需要面对解决冲突。
我的问题有点太大了:您是否有任何提示或想法,或者有关如何实施此类同步流程的链接,或者如何从我的领导中提高效率?