ite数据库。
[0023] (3)在本地数据库中,调取标注的变化对象,并将其打上时间戳,从而抽象为事务 日志; 具体为,设定变化对象的一次变化打上时间戳封装为一条事务日志。
[0024] 例如:对象类型,对象ID,操作类型,对象属性1对象属性2......对象属性N,时间 戳。
[0025] (4)将事务日志写入本地同步表中; 具体本地同步表,是移动终端设备维护的一个增量更新表,用于记录事务日志。
[0026] 以照片同步为示例,若用户添加了一张照片,修改了已有两张照片的拍摄时间,并 删除了一张照片,则本地同步表中会保留4条事务日志,如下示: INSERTINTOT_Photo(VO,VI,VN); UPDATET_PhotoSETF_ExifTime=XXWHEREID=XX; UPDATET_PhotoSETF_ExifTime=XXWHEREID=X; DELETET_PhotoWHEREID=XXXX; 本地同步表的目的是保存变化的对象,其通用表结构如下:
(5)终端设备后台启动同步服务,循环读取本地同步表中的事务日志,并将其批量提交 到服务器端,存入服务器端数据库中; 具体服务器端数据库为MySQL或MongoDB等非关系型数据库。
[0027] (6)提交成功的日志,将事务日志从本地同步表中删除; (7)服务器端循环读取事务日志,逐条进行解析还原变化对象; 具体为若服务器端在事务日志变化时做其它处理(如用户添加照片后发送推送消息), 仅需设置一系列数据处理器,将各事务日志分开处理。
[0028] 如图2所示具体还包括以下几个步骤: 将读取的事务日志提交到处理器链表中; 处理完成的事务日志存储到本地数据库中; 等待其它终端设备获取并同步到本地同步表。
[0029] (8)另一终端设备接入后,从服务器端获取最新的事务日志; (9)将获取的事务日志在本地数据库中回放; (10) 通过访问本地数据库中新的事务日志,记录事务日志的当前时间戳; 具体记录当前时间戳,用于下一次获取同步事务日志时,服务器端计算这段时间内的 增量日志列表。
[0030] (11)数据同步工作完成后,即可通知上层界面去更新数据。
[0031] 最后说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较 佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技 术方案进行修改或者等同替换,而不脱离本发明技术方案的宗旨和范围,其均应涵盖在本 发明的权利要求范围当中。
【主权项】
1. 一种多终端设备上的数据同步方法,其特征在于包括以下几个步骤: 1) 在终端设备中识别出变化对象并将其进行标注; 2) 将标注的变化对象写入到本地数据库; 3) 在本地数据库中,调取标注的变化对象,将其打上时间戳抽象形成事务日志; 4) 将事务日志写入本地同步表中; 5) 终端设备后台启动同步服务,循环读取本地同步表中的事务日志,并将其批量提交 到服务器端,存入服务器端数据库中; 6) 在本地同步表中删除提交成功的事务日志; 7) 服务器端循环读取事务日志,逐条进行解析还原变化对象; 8) 另一终端设备接入后,从服务器端获取最新的事务日志; 9) 将获取的事务日志在本地数据库中回放; 10) 通过访问本地数据库中新的事务日志,记录事务日志的当前时间戳; 11) 通知上层界面更新数据。2. 根据权利要求1所述多终端设备上的数据同步方法,其特征在于,步骤(1)中,根据 业务逻辑划分变化对象,变化对象通过全局描述符GUID标识,变化对象之间的关系通过变 化对象ID关联。3. 根据权利要求1所述多终端设备上的数据同步方法,其特征在于,步骤(2)中,本地 数据库使用Sqlite数据库。4. 根据权利要求1所述多终端设备上的数据同步方法,其特征在于,步骤(3)中,设定 变化对象的一次变化打上时间戳封装为一条事务日志。5. 根据权利要求1所述多终端设备上的数据同步方法,其特征在于,步骤(4)中,本地 同步表是终端设备中维护的一个增量更新表,用于记录事务日志。6. 根据权利要求1所述多终端设备上的数据同步方法,其特征在于,步骤(5)中,服务 器端数据库为MySQL或MongoDB非关系型数据库。7. 根据权利要求1所述多终端设备上的数据同步方法,其特征在于,步骤(7)中,若服 务器端在读取事务日志时需要做额外的处理,则设置数据处理器,将事务日志分开处理。8. 根据权利要求7所述多终端设备上的数据同步方法,其特征在于:所述步骤(7)具体 步骤如下: 将读取的事务日志提交到数据处理器; 处理完成的事务日志存储到本地数据库中; 等待另一终端设备获取并同步到本地同步表。9. 根据权利要求1所述多终端设备上的数据同步方法,其特征在于,步骤(10)中,记录 当前时间戳,用于下一次获取事务日志时,服务器端计算本时间段内的增量日志列表。
【专利摘要】本发明提供了一种多终端设备上的数据同步方法,步骤包括:在终端设备中识别变化对象并进行标注;将标注的变化对象写入本地数据库,打上时间戳抽象为事务日志;事务日志写入本地同步表中;终端设备后台循环读取本地同步表中的事务日志,提交并存入服务器端数据库;从本地同步表中删除提交成功的事务日志;服务器端循环读取事务日志,逐条进行解析还原;其它终端设备从服务器端获取事务日志;将事务日志在本地数据库中回放;记录事务日志的当前时间戳;通知上层界面更新数据。发明适用于多种移动设备在无网环境下的数据同步,支持用户编辑后,在网络恢复后同步数据到后台。另外,本发明提高了网络利用率,数据访问更加高效流畅。
【IPC分类】G06F17/30, H04L29/08
【公开号】CN104967658
【申请号】CN201510229300
【发明人】殷宇
【申请人】成都品果科技有限公司
【公开日】2015年10月7日
【申请日】2015年5月8日