一种移动设备上基于增量更新的异构数据同步方案的制作方法

文档序号:9352890阅读:611来源:国知局
一种移动设备上基于增量更新的异构数据同步方案的制作方法
【技术领域】
[0001]本发明属于移动电子设备数据处理领域,可用于服务器与移动电子设备之间的高效数据同步。
技术背景
[0002]移动电子设备经常会有需要同服务器保持数据同步的需求,通常这是通过TCP或者HTTP协议来进行数据传递,并且在此之上实现一种业务层协议来达到目的。之前的一些解决方案以及本文的解决方案都是一种建立在网络、传输层或者应用层之上的业务层协议。与本发明最接近的现有技术有全量更新技术方案和简单的增量同步技术方案。
[0003]全量更新的解决方案是指每次同步都需要把全部数据从服务器拉下来,直接覆盖本地数据以达到数据同步的目的。此方案一般采取分页的方式来减少每次的等待时间和传输数据量,有一种变形的全量同步方案是每次分页拉取极少的核心数据,例如:数据的ID,这样来进一步减少等待时间和数据量。其优点是,容错性高。其缺点是:每次更新数据量大,等待时间长,服务器和移动设备计算压力都比较大。
[0004]简单的增量同步方案是指每次同步只是拉取变化了的数据,例如,增加的、删除的或变更的数据条目。该方法只作用于一种数据,无法同时进行多种数据的同步,并且在极端情况下会出现单次更新巨量数据以及数据错误无法恢复的情况。

【发明内容】

[0005]本发明要解决的技术问题是,建立在简单增量同步的方案之上,解决多种异构数据同时进行数据同步、每次更新数据规模可控、提供容错。
[0006]为解决上述技术问题,本发明提供一种移动设备上基于增量更新的异构数据同步方案设备端同步方法,主要包括以下几个步骤:
(11)在设备端取出待更新同步数据列表,并从中获取待同步数据;
(12)确定待同步数据的数据类型、更新方向,并在设备端本地数据库中的获取已同步数据的最早或最晚时间,构建待同步数据参数;
(13)将待同步数据参数按照协议要求发送至服务器端,并接收服务器端数据响应;
(14)根据服务器端数据响应判断是否有clear标识,若无则将待同步数据与已同步数据直接合并为同步数据,若有则需先清理已同步数据后在进行合并;
(15)根据服务器端数据响应判断是否有结束标识,若有则同步数据向前更新结束,若无则继续下一步判断;
(16)判断数据条数是否为0,若是则同步数据暂时更新结束,否则继续下一步判断;
(17)判断数据条数是否全部为0,若是同步数据更新结束,否则继续循环步骤(11)到步骤(17)。
[0007]进一步,步骤(13)主要包括以下几个步骤:
(21)服务器端收到设备端数据同步请求; (22)循环同步请求中的待同步数据参数;
(23)查找待同步数据更新方向;
若向前,判断是否已有传入时间,若无则返回步骤(22),若有则以待同步数据类型和传入时间向前查询100条数据,取出所查数据的最早同步时间,并告知设备端向前更新是否完成;
若向后,判断是否已有传入时间,若有则以待同步数据类型和传入时间向后查询100条数据,取出所查数据的最晚同步时间;若无则取一月前的时间作为传入时间以待同步数据类型和传入时间向后查询100条数据,取出所查数据的最晚同步时间;
(24)以最早同步时间及最晚同步时间对待同步数据进行查询,组成数据列表;
(25)获取外部clear指令同数据列表构建服务器端数据响应;
(26)将数据响应返回设备端。
[0008]进一步,服务器端仅记录数据最终的状态并不用记录待同步数据变化的过程,对于每条待同步数据,仅记录变化的时间。
[0009]进一步,服务器端的数据响应中clear标识,表明设备端受到数据响应后是否需要清理已同步数据。
[0010]进一步,服务器端传回clear标识情况包括:
服务器端时间进行了人为的修改,或导致时间异常的错误;
设备端上传的最早时间比服务器端当前时间至少早三个月。
[0011]进一步,步骤(14)中,设备端清理已同步数据情况包括:
用户手动清除数据缓存;
接收到服务器端的clear标识。
[0012]进一步,分别给服务器端和设备端一种清理数据的机制,即可达到容错的目的。
[0013]本方法与现有简单增量同步的方案相比,具有以下几点优势:采用数据完全独立的方式进行多数据同步,如果不进行独立,在服务器端必须构建一个时间索引,复杂程度过高;采用分页加补全的方式来保证数据量可控,并且保证数据完整;采用两端皆可进行数据清空的方式,来避免增量更新中数据错误无法纠正的情况。完善地解决了增量更新在异构数据同步中的应用,并且带来了容错性和交互中的数据量可控。可以应用于多种需要数据同步的场景。
[0014]结合附图阅读本发明实施方式的详细描述后,本发明的其他特点和优点将变得更加清楚。
【附图说明】
[0015]下面结合附图与【具体实施方式】对本发明作进一步详细的说明:
图1为一种移动设备上基于增量更新的异构数据同步方案设备端数据同步方法的流程图;
图2为一种移动设备上基于增量更新的异构数据同步方案服务器端数据同步方法的流程图。
【具体实施方式】
[0016]为了使本发明的目的、技术方案和优点更加清楚,下面将对本发明的【具体实施方式】作进一步的详细描述。
[0017]参见图1,本实施例的适用于一种移动设备上基于增量更新的异构数据同步方案设备端数据同步方法的流程图。流程图包括以下几个步骤:
(11)在设备端取出待更新同步数据列表,并从中获取待同步数据;
例如:有A,B, C三种数据需要同步,取出待更新同步数据列表得到A,B, C三种待同步数据。
[0018](12)确定待同步数据的数据类型、更新方向,并在设备端本地数据库中的获取已同步数据的最早或最晚时间,构建待同步数据参数;
待同步数据参数可以定义为:[{数据:A,方向:向前,时间:1435455566},{数据:B,方向:向前,时间:14354644774},{数据:C,方向:向前,时间:1435455856},]。
[0019](13)将待同步数据参数按照协议要求发送至服务器端,并接收服务器端数据响应;
(14)根据服务器端数据响应判断是否有clear标识,若无则将待同步数据与已同步数据直接合并为同步数据,若有则需先清理已同步数据后在进行合并;
设备端清理已同步数据情况包括:
用户手动清除数据缓存;接收到服务器端的clear标识。
[0020](15)根据服务器端数据响应判断是否有结束标识,若有则同步数据
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1