The traditional data synchronization algorithm is based on the file status. Although it is simple to understand and implement, it does not support incremental update and lacks flexibility. So it does not meet the user's requirements. An operation logs based on synchronization algorithm is proposed, which records operation logs both at the server side and at the client side, and generates synchronization operation sequences by merging these logs. In contrast with the traditional method, the log based algorithm is more effective and has fewer loads to the cloud-side server. What is more, this algorithm supports failure recover, which is especially suitable for applying to the limited bandwidth and network instability scenario.