如何将离线HTML5 webdatabase与集中式数据库同步

前端之家收集整理的这篇文章主要介绍了如何将离线HTML5 webdatabase与集中式数据库同步前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我希望能够在 HTML5(iPad)网络应用程序中执行以下操作:

>将数据上传到在线数据库(如果要在sqlite中构建在线数据库,那么大小可能<50Mb)
>将数据的子集或完整副本提取到脱机Web数据库
(旅游出3G网络覆盖范围)
>对下载的数据执行一系列分析型计算
>将我的计算参数保存到离线Web数据库
>重复,在多个不同的离线分析型计算会话中保存不同的参数集
(回到3G网络覆盖区域)
>将保存的参数从我的脱机Web数据库同步到中央在线数据库

我很舒服,直到最后一个…

我正在尝试找到有关是否可以将脱机Web数据库与中央数据库同步的信息,但找不到涵盖该主题的任何内容.有可能做到吗?如果是这样,你能否提供链接的信息,或描述它将如何工作足够的细节来实现它的特定应用程序?

提前致谢

解决方法

我没有专门与HTML5本地数据库进行过工作,但我已经与需要离线更新和重新同步到中央数据存储的移动设备合作.

无论数据集是在服务器还是在脱机客户端上创建,我确定其主键是UUID.我也确保每次更新记录的时间戳.

我也不会在最后一次脱机客户端同步时.

因此,当重新同步到中央数据库时,我首先查询离线客户端以获取自上次同步以来更改的记录.然后,我查询中央数据库,以确定自上次同步以来这些记录中是否有更改.

如果中央数据库没有更改,我将使用脱机客户端的数据进行更新.如果服务器上的记录自上次同步以来发生变化,我将其更新到客户端.

如果UUID不存在于中央服务器上,但在脱机客户端上,则插入它,反之亦然.

要清除记录,我创建一个“清除”列,当运行sysnc查询时,我从每个数据库删除记录(或者根据应用程序需求将其标记为非活动状态).

如果自上次更新以来,两个记录都发生变化,我必须依赖用户输入进行协调,或者依赖于指定哪个记录“获胜”的规则.

我通常不信任内置的数据库导入功能,除非我导入到一个完全空的数据库.

猜你在找的HTML5相关文章