服务端数据库:MySQL 。
手机端数据库:SQLite 。
软件本地有一份数据,云端数据是本地数据的备份,没什么区别。
我初步的想法,就是挨个比较它们的字段 id ,但是有点担心性能问题。
1
v2hh 319 天前
md5 比对?
|
2
linauror 319 天前
后一条依次存前一条的特征,这样直接对比最后一条数据就可以了
|
3
johnnyyeen 319 天前
按一定规则做数字摘要
|
4
siweipancc 319 天前 via iPhone
楼上说的,id 跟数据 md5 的表,数据变动主动维护,传递这个表就行,记得加 audit 时间列
|
5
815979670 319 天前
通过 crc32 / md5 生成校验码
|
6
kuituosi 319 天前
分段比较 hash 或者 id
如果只比较行数 id 就够了,如果担心内容不一样就比较 hash |
7
tool2d 319 天前
既然说了"云端数据是本地数据的备份",那就是走主从备份流程。完全不担心内容数据是否一致,这个是备份协议考虑的。
你只需要把修改过的 row 同步过去就可以了。 一般 row 都会有最后修改日期,如果你每天同步一次,那么所有提交 row 对象就是 24 小时内变动过的。 |
11
tool2d 319 天前
@nnegier 比如有三条记录需要更新,你客户端用 websocket 发了三条数据,最后服务器只收到一条半数据,那么服务器的最后修改时间,就只写到第一条的时间。
下次客户端再更新,后两条在修改时间以外,都要重新上传的。 |
12
Beats 319 天前
md5 crc 啥的
|
13
nnegier OP |