这里考虑的是本地数据不会被其它用户修改的情况,类似于微信,离线任务都是自己要发出的消息,不会和网络数据产生冲突
对于多个离线用户,同时修改同一份数据的情况,不适合使用此方案,大多时候也不允许离线使用

查询数据
有网的情况下,从网络下载数据
以网络作为最新版本的情形:清空本地数据,将网络数据存储到数据库
以本地作为最新版本的情形:本地不存在Id则插入到数据库,本地存在则跳过
对于实时性不高的数据,也可以放在后台定期查询

新增,修改,删除
只适合以本地作为最新版本,否则会造成数据同步混乱
如果要以网络作为最新版本,要强制在线使用,不能使用离线模式
不管有无网络,将数据变动直接提交到数据库,并按时间和任务类型保存到离线任务
开启后台服务,有网络时上传离线任务

数据库中应该包括Id和OfflineId两个字段,因为离线数据是没有Id的,在线数据是没有OfflineId的
将网络数据插入数据库时,分配一个OfflineId,这样OfflineId永远非空,就可以作为主键

总结来说,这个方案只需操作数据库,将离线操作保存到后台任务提交,必要时才将查询数据插入数据库
各个步骤之间都是独立的,不会出现混乱关系

【Android】【功能设计】离线数据同步方案相关推荐

  1. 基于文件的离线数据同步方案

    产品此前的数据备份方案,存在不少问题,所以需要设计一个新的方案.本文总结一下新旧方案的优劣 首先APP是一个支持离线的应用.本地数据保存在sqlite,在离线环境下,在本地数据库里读写记录,在有网络的 ...

  2. PostgreSQL与es的数据同步方案调研

    PostgreSQL与es的数据同步方案调研 1.logstash 基于时间戳,或者id增量同步,且不能实时同步暂不考虑 2.pg-es-fdw https://github.com/Mikulas/ ...

  3. “游戏数据同步方案”

    "游戏数据同步方案" 首先我们介绍实时对战手游中最难解决的技术问题--弱网络下的同步问题. 通过对玩家的游戏数据进行观察,发现玩家的游戏环境存在很大差异,不同玩家会使用不同的2G/ ...

  4. 离线数据同步神器:DataX,支持几乎所有异构数据源的离线同步到MaxCompute

    2019独角兽企业重金招聘Python工程师标准>>> 摘要: 概述 DataX 是阿里巴巴集团内被广泛使用的离线数据同步工具/平台,实现包括 MySQL.Oracle.SqlSer ...

  5. DataX离线数据同步工具/平台

    DataX离线数据同步工具/平台 DataX 是阿里巴巴集团内被广泛使用的离线数据同步工具/平台,实现包括 MySQL.SQL Server.Oracle.PostgreSQL.HDFS.Hive.O ...

  6. Android Learning:数据存储方案归纳与总结

    前言 最近在学习<第一行android代码>和<疯狂android讲义>,我的感触是Android应用的本质其实就是数据的处理,包括数据的接收,存储,处理以及显示,我想针对这几 ...

  7. 华为云严选上新啦!高效准确的数据同步方案来了

    摘要:英方软件i2Stream产品服务已上架华为云严选商城啦! 近期,上海英方软件股份有限公司(简称"英方软件")宣布加入华为云沃土云创计划,同时基于i2Stream(数据流复制管 ...

  8. 基于数据库数据增量同步_基于 Flink SQL CDC 的实时数据同步方案

    简介:Flink 1.11 引入了 Flink SQL CDC,CDC 能给我们数据和业务间能带来什么变化?本文由 Apache Flink PMC,阿里巴巴技术专家伍翀 (云邪)分享,内容将从传统的 ...

  9. Android时间与服务器同步方案

    转自: https://blog.csdn.net/qinci/article/details/70666631这个的吧?转发请注明来源吧?Android时间与服务器同步方法_飛舞的青春的博客-CSD ...

最新文章

  1. 【总结】使用Json4s实现Scala对象转Json
  2. 计算机模块考试注意事项,常考计算机模块考试操作注意事项.doc
  3. 国家开放大学2021春1098中学数学教学研究题目
  4. 八大排序算法的Python实现
  5. 怎么在Windows 11中为音频输出选择扬声器
  6. web.config中httpRunTime的属性
  7. 自动化测试学习笔记(一)HTML概念
  8. 阿里巴巴1582.73亿背后的持续交付如何玩
  9. python查询当前路径_python获取当前目录路径和上级路径的实例
  10. linux 新老软件切换,Linux下非常重要的软件切换命令
  11. dump文件 linux,Linux下快速分析DUMP文件
  12. MOSSE跟踪算法源码解析
  13. JSON 的 MIME 类型
  14. Jmeter IP欺骗
  15. 课程设计---族谱管理系统(c++)
  16. C++标准库——STL
  17. 转贴:求真功诚访大成名家--程立华 (2006-09-22 16:08:11)
  18. 南京大学计算机 吴迪,南京大学(共206人).doc
  19. Strerror函数和Perror函数的介绍及使用
  20. Bugku,Web:各种绕过哟

热门文章

  1. 【Sass-03】Sass官网文档
  2. 中国新型肥料市场现状分析与投资价值评估报告2022版
  3. unity3d 大地图接壤_如何使用Unity自带的TileMap做出六边形地图
  4. 神经网络结构设计指导原则
  5. 特斯拉Model S及Model X 2023上半年交付,1月6日公布售价
  6. 实验五 数据库完整性
  7. win10自动更新完全关闭
  8. 微信公众号开发-接收与回复消息
  9. 重典千枫.Net v1.0 正式发布 [2007.7.17]
  10. 央视播网友调侃委员周星驰:国家有任务给你了