我正在设计一个系统,通过该系统,我将同步移动设备(具有嵌入式应用程序)中的业务数据,该数据会生成数据并将其发送回服务器。同步的每一行都会在数据库中生成特定的业务日志。
如果我同步的数据生成的日期(在同步数据内)晚于我的业务数据的最后修改日期,则我必须忽略它,而只需在数据库中添加日志即可。处理上载的数据后,将从数据库中获取数据并将其下载到设备。
由于写完后立即下载,同步必须是同步的。如果像这样的东西足以取代我现有的解决方案,那么仍然有可能采用读写器模式。更重要的是能够下载最新数据。该数据是整体获取的,目前没有实现差异(它可能会在以后出现,但这不会成为问题)。
我可能在同一个业务对象上运行多个同步,这不太可能,但是可能会发生,我希望能够处理它。除非使用嵌入式移动应用程序几天不重新同步,否则预计同步将持续几秒钟但不会持续几分钟。
同步处理的数据量预计不会很大。
因此,我最终在我的同步方法上使用了互斥,更确切地说,我正在使用Java,并且在写入方法上放置了同步,而不是整个同步过程都放在不阻止只读同步的位置。
我想知道 :
- 这样是否有意义?只要同步过程的数量和时间仍然可以接受。
- 一般来说,我应该看什么概念。奖励:Spring模块中是否有这些概念的实现。