Intro

如果您没有看上一篇文章,建议您先移步到这里查看第一部分 上一次主要解决了基本的数据增量同步的问题,但仍然存在一些问题。 可能存在的主要问题:

  1. 大数据量传输时,数据在传输过程出现部分丢失,数据不完整

  2. 超大数据量需要同步,导致响应时间过长而导致连接超时

针对以上可能出现的这两个问题,需要对数据进行校验并且数据量超过一定量时进行分批量传输, 本文将着手解决 数据校验 和 数据分批次传输 这两个问题。

同步流程概览

结合之前的同步流程,加上数据校验和分批次传输数据,大概流程如下: 客户端调用服务器端的 Pull 接口从服务器端拉取数据, 如果本地版本号等于服务器端最新版本号,则已更新的最新版本, 如果本地版本小于服务器端最新的版本号,则拉取需要更新的数据,服务器端返回数据的同时会返回本地传输的数据的一个校验值, 客户端获取到服务器端响应时先根据接收到的数据计算校验值,计算出来之后与服务器端返回的校验值进行比较, 如果本地计算的校验值与服务器端返回的校验值一致则进行更新客户端本地数据,不一致则视为无效