本地数据与后台网络数据同步问题

项目记录模块之前依赖网络存储,导致无网络时用户体验不佳。解决方案包括:本地建立数据库,H5接口获取本地数据,抓取服务器历史数据,处理多设备间数据同步。本地数据库新增(id, net_Id, update_time, state)字段,服务器数据库保留(id, update_time, state)。首次同步时,客户端拉取服务器所有数据,之后每次操作后即时同步。在网络不稳定时,操作仅保存本地,待网络恢复再进行同步。" 119082775,9708796,Python实现聚类指标DBI,"['Python', '数据挖掘', '聚类算法', 'DBI指数']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天总结一下这两天的工作内容吧,项目有一个记录模块原来只做了网络存储,所有的增删改查都依赖于网络,同时还有几个H5的展示界面,也是在服务器抓取数据,就这样有些没有wifi的客户便开始吐槽了(就是做个记录自己看,还要用我流量),大概就是这个样子,下面开始进入正题。

我需要做的:本地要建立数据库,然后H5要在我这拿数据(这个后续会说到),要抓取服务器的历史数据,还要考虑到用户两个手机切换使用时的同步问题(这是这次重点)。

本地数据库需要字段(id , net_Id , update_time , state ) // net_id 为服务器id, state为数据现在状态(分为:0,已上传,1新添,2已修改,3已删除)

服务器数据库需要字段(id , updata_time , state)

首先,id问题,我们选择的是本地数据库与服务器数据库维护两套不同的id(本地同时要存在本地id与服务器id,服务器数据库只维护自己id即可),本地的本地id自增(作为本地数据库的主键),未上传时本地数据库的服务器id为空,上传后服务器返回服务器id(服务器的id也为自增)并赋给本条数据。

然后就是同步操作了,第一次同步,此时update_time默认为0(存储在sharedpreference中)客户端需要拉取后台服务器数据库中的所有数据,并自动添加本地id(自增),此时将update_time设置为当前系统时间。之后如果网络状态一直良好,则在每次对本地数据库进行操作之后都对服务器进行操作,其中如果新添数据,则在上传成功之后接收返回来的服务器id赋给当前数据存入本地。如果用户的网络状态一直不好则所有操作都在本地进行。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值