多终端同步方案

一、多终端同步的含义

1指用户在多个终端切换时可获得一致性体验,不丢失上下文,

2 如果用户多个终端同时在线要能做到实时同步。

案例:apple的Handoff;qq消息多终端自动同步;有道云的同步等

二、系统目标

1实时性,服务端数据变更,在<1s 时间内推送至各个端。

2实现消息的多终端增量同步,然后通过同步机制确保不丢消息。同步机制必须避免流量浪费,所以需要做增量。

3客户端数据能自修复达到最终一致性。(离线-->在线)

三、实现原理

类似于:Git版本管理系统

可以说,相当于实现一个服务器和客户端实时同步的轻型数据库。

四、设计

1、数据模型

 

2、数据模型说明

    服务端:

       数据集合,为原有的数据集合;

       数据变更序列,记录每次数据发生变更,其中包含操作类型和数据;

       数据最新变更,记录某数据的最后一次变更。

    客户端:

       数据集合,在原数据基础上,增加lastOptId(本地数据,最后变更一次变更对应的操作序列)

3、业务场景说明

场景1:client端第一次获取数据,调用接口,返回数据(数据内容+最后一次操作序列)。

场景2:client 断网 重连后,调用接口获取数据时,传入本地的lastOptId,服务端比较 请求中的lastOptId和服务端的lastOptId,如果两者相同,则返回 “数据未发生变化”的响应。如果lastOptId不同,则返回最新数据。

场景3:数据发生改变,服务端记录操作序列、修改数据的最新变更,将相应的变更push到各个client端。client端比较lastOptId,如果与推送的optId连续,则根据操作序列 进行数据重放。如果optId不连续 或 重做失败,则调用http接口,重新获取数据(同场景1)。重做完成后,可再次调用请求接口(同场景2),以确保未丢失变更。

4、技术点

APP   长连接保持:

     1、借助第三方推送服务,推送数据;特点:实现简单,但实时性 及 到达率 依赖第三方服务。

     2、自研基于Netty的TCP长连接保持框架。研发周期较长,可靠性 需经实践考验。

web端:

      1、使用WebSocket,低版本浏览器使用socketjs。

 

五、相关文档:

如何设计类似微信的多终端数据同步协议 | Grouk实践分享:

http://chuansong.me/n/1718596

http://lock522.b0.upaiyun.com/wym.pdf

微信通讯协议的学习:

http://www.xodn.com/forum.php?mod=viewthread&tid=7055

四种多终端事务同步需求和目前的方法:

http://chuansong.me/n/571502132351



作者:peng66cheng
链接:https://www.jianshu.com/p/a6a9d934f1fd
来源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Microhard同步是一种同步网络的技术方案,可以将各种设备、终端和系统连接在一起,实现精准的数据同步和通信。使用Microhard同步技术,可以提高数据传输的效率和速度,降低数据丢失和错误率,保证数据的完整性和安全性。同时,它还可以实现跨网络和跨平台的数据同步,满足不同需求和应用场景的需求。Microhard同步技术广泛应用于工业自动化、智能家居、物联网、移动通讯等领域,为技术发展和社会进步做出了重要贡献。 ### 回答2: microhard同步是指利用微硬件技术实现系统内部各个组件的同步操作。微硬件技术是一种将硬件设计和同步算法相结合的创新方法,能够在更小的尺寸和更低的功耗下实现高效的同步。 microhard同步的实现主要包括两个方面:硬件设计和同步算法。硬件设计方面,通过使用微硬件的设计方法,减少了电路的延迟和功耗,提高了系统的响应速度和能效。同时,微硬件还能够更好地适应不同的同步需求,提供更加灵活和定制化的解决方案同步算法方面,microhard同步采用了一系列高效的算法,使得系统内部各个组件能够按照既定的时钟频率和时序进行工作。这些算法能够保证系统的正确性和稳定性,同时最大程度地减少同步的开销和延迟。 microhard同步在很多领域都有广泛的应用。例如,在嵌入式系统中,通过微硬件同步可以实现多个处理器核心之间的协同工作,提高系统的并行性和效率。在通信领域,microhard同步可以确保数据的准确传输和接收,提高通信系统的稳定性和可靠性。在计算机网络中,microhard同步可以同步网络设备之间的时钟,保证数据的同步传输。 总之,microhard同步是一种利用微硬件技术实现的系统同步方法,可以提高系统的性能和稳定性,在多个领域具有广泛的应用前景。 ### 回答3: Microhard同步是一种指在计算机领域中使用的同步技术。同步是指协调不同的操作或事件,使它们按照既定的顺序进行执行。在多线程和并发编程中,同步是非常重要的,可以防止不同线程之间的数据竞争和错误的结果。 Microhard同步是一种精确的时序同步技术,已经广泛应用于各种计算机系统和软件中。它的主要原理是通过时钟和相关的硬件电路来实现同步。在Microhard同步中,时钟信号被用来同步不同的操作和事件,确保它们按照设定的顺序进行。这种同步技术可以确保计算机系统中的数据操作正确有序地执行,避免由于并发导致的数据访问冲突和不一致性。 Microhard同步是一种高效且可靠的同步技术,能够满足复杂的计算需求。通过精确的时序同步,可以在多个计算资源上并行执行任务,提高计算效率和性能。它还可以在不同设备之间进行数据传输和通信,确保数据的准确性和可靠性。 总之,Microhard同步是一种在计算机领域中应用广泛的同步技术,通过时钟和相关硬件电路实现精确的时序同步。它可以确保计算机系统中的多个操作和事件按照既定顺序执行,避免数据访问冲突和不一致性,提高计算效率和性能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值