利用angular+cordova实现离线存储,上线同步的技术分析
2020-03-20 12:13
681 查看
采用angular+primeng+splite开源框架实现PC\移动\平板完全自适应的新系统。
- 实现目标:
- 多设备自适应功能:所有的功能点设计都要照顾到在PC/平板/手机上面展示的效果。
- 离线数据保存功能:
增加离线/在线状态提示:
离线状态:在网络不稳定的情况下,自动开启离线数据功能(前台提示已开启离线模式),关键数据在网络良好的提前同步保存到本地splite数据库,离线订单等信息保存到本地库。
在线状态:在网络状态良好的情况下,检测信号质量连续良好10秒以上,提示“网络状态正常”,数据自动同步,此时用户的实际操作涉及到的数据表正好正在同步操作时,提示“数据正在同步,请稍后再操作该功能”,后台开启多线程同步的表数据。
2、关键离线技术方案:
splite数据库
progress web app
用户首次登录且离线数据库没有数据时必须联网,通过接口认证通过后,服务端自动开启推送关键数据表到本地数据库(本地数据库记录上次数据推送时间);用户界面显示“数据更新中,请稍后”;用户不管联网还是断线保存的数据都是在本地,联网状态操作时,后台立即推送该数据到服务端,断网时,定时检测推送。(websocket或者MQ)
- 离线数据存储技术
SQLite是一款轻型的数据库,支持Windows/Linux/Unix等等主流的操作系统、CppSqLite对SQLite的API进行了一次封装,让开发人员更加方便的使用SQLite。
统一存储json数据。 -
自动重传
在联网的情况下定时器按时轮询检查SQLite数据库,如果存在数据则自动重发上传,避免传输失败后数据的丢失. -
数据上传
最好统一存储json数据,采用MQ中间件系统分离解耦客户端和服务端,数据先上传到MQ,避免客户端上传产生等待,提升客户端响应速度,已上传成功的信息本地更新上传时间。 -
数据同步
基础表数据自动同步到本地,如:用户表(离线登录验证)、基础档案表(离线选择货品)及其它涉及到离线的数据表。后台通过MQ自动同步这些表的数据,
3、增加APP离线数据管理后台
- 可以配置推送指定数据到APP离线数据库(如:用户登录表、货品档案、本次待定货档案等数据,也可以是自定义SQL数据),如果连接MQ的话,可以先推送到MQ队列;等待APP上线后自动更新数据。
- 可以配置APP离线数据需要推送哪些数据过来,插入到哪些表中
- 点赞
- 收藏
- 分享
- 文章举报
相关文章推荐
- 【转】C#利用反射技术实现winform界面动态存储
- [分享黑科技]纯js突破localstorage存储上线,远程抓取图片,并转码base64保存本地,最终实现整个网站所有静态资源离线到用户手机效果却不依赖浏览器的缓存机制,单页应用最新黑科技
- C#利用反射技术实现winform界面动态存储
- 揭开智能配置上网(微信Airkiss)的神秘面纱 本文介绍微信利用Airkiss技术对wifi设备进行智能配置上网的场景,并分析其实现的原理。这里再次说明,Airkiss只是用于配置上网,其跟微信
- 利用复制技术实现数据同步更新
- 通过快照技术实现SQL数据离线分析[10-4]
- 利用SQL Server复制技术实现数据同步更新
- 基于Hadoop技术实现的离线电商分析平台(Flume、Hadoop、Hbase、SpringMVC、highcharts)
- 利用SQL Server复制技术实现数据同步更新
- 利用SharedPreferences(持久化技术)实现密码的存储功能
- 基于Hadoop技术实现的离线电商分析平台(Flume、Hadoop、Hbase、SpringMVC、highcharts)
- 利用数据存储技术实现数据安全合理备份
- 利用SQL Server复制技术实现数据同步更新
- XenDesktop MCS技术在XenServe环境下的存储空间利用分析
- 一个利用客户端空间存储树形导航栏信息,从而实现ajax技术动态导航的雏形
- ASP.NET中利用存储过程实现模糊查询
- (原创)Linux内核内存池管理技术实现分析
- [原创]Asp.net2.0下利用Global.asax全局文件实现流量分析
- 利用橡皮筋技术实现的画图
- ASP.NET中利用存储过程实现模糊查询