comcuter
V2EX  ›  问与答

类似 Evernote 的同步机制如何实现?

  •  
  •   comcuter · Nov 9, 2013 · 3356 views
    This topic created in 4577 days ago, the information mentioned may be changed or developed.
    现在在做的一个移动端的项目的新功能,遇到多终端同步的问题. 感觉和 Evernote 的同步机制有些类似,即用户有多个平行的条目,并且可以进行增删改操作.

    怎样同步机制,才能省流量,同步速度快,还能不会发生太多冲突?
    Supplement 1  ·  Nov 9, 2013
    好像说得太具体了.没人回复.

    呃,那么大家遇到这种多终端需要数据同步问题时,是怎么做的?有什么经验分享下?
    9 replies    1970-01-01 08:00:00 +08:00
    dongbeta
        1
    dongbeta  
       Nov 9, 2013
    多个平行的条目是什么意思?
    niseter
        2
    niseter  
       Nov 9, 2013
    原理类似于heartbeat吧,检测到变动,再加载内容。
    comcuter
        3
    comcuter  
    OP
       Nov 10, 2013
    @dongbeta 多个平行条目意思就是没有复杂的层级关系,像文件目录这种的.就是一系列条目的集合,这些条目每个都可以增,删,改.
    没有层级关系的话,问题复杂度应该会降低很多.
    comcuter
        4
    comcuter  
    OP
       Nov 10, 2013
    @niseter 目前就在想"变动"的形式是怎样的? 即如何对比出变动,如何表示?
    comcuter
        5
    comcuter  
    OP
       Nov 10, 2013
    @dongbeta 恩,应该和通讯录同步更相似.
    faceair
        6
    faceair  
       Nov 10, 2013
    对比服务器文件和本地文件修改时间,判断是上传还是下载 当然也要有history,能够找回
    dongbeta
        7
    dongbeta  
       Nov 10, 2013
    冲突是不可避免的。
    comcuter
        8
    comcuter  
    OP
       Nov 10, 2013
    @dongbeta 是的.

    就是想知道有没有很经典并且不是很复杂的设计可以参考下.
    像版本控制(git,svn)的设计,感觉有点太复杂了,用不上.
    dongbeta
        9
    dongbeta  
       Nov 10, 2013
    可以参考 iCloud,直接给两个版本,询问保存哪个。或者像 Dropbox,保存两个文件,让用户自己去解决。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   945 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 45ms · UTC 21:47 · PVG 05:47 · LAX 14:47 · JFK 17:47
    ♥ Do have faith in what you're doing.