网站建设好多钱,上海网站seo招聘,网站编程设计心得体会,wordpress 新增选项一种多终端设备上的数据同步方法【技术领域】[0001] 属于移动通信技术领域#xff0c;特别是涉及基于离网环境下多种移动终端设备之间的数 据同步的方法。 技术背景[0002] 90年代未#xff0c;数据同步始于有线连接#xff0c;如MAC机作为数据中心#xff0c;与终端设备(iP…一种多终端设备上的数据同步方法【技术领域】[0001] 属于移动通信技术领域特别是涉及基于离网环境下多种移动终端设备之间的数 据同步的方法。 技术背景[0002] 90年代未数据同步始于有线连接如MAC机作为数据中心与终端设备(iPod)通 过FireWire进行同步。2000年以后云服务迅速发展以PC/MAC机为代表的数据中心逐渐 转向了云端只要设备有网络就可以使用如通讯录微信的消息备份与恢复AppStore。[0003] 近年来伴随着互联网和芯片技术的高速发展移动终端设备的种类也越来越多。 移动终端设备是指可以在移动中使用的计算机设备例如手机、笔记本、平板电脑、POS机甚 至包括车载电脑都属于移动终端设备这些设备的出现极大的方便和丰富了人们的工作 和生活显著的优点促使人们根据自己的需求选择适合自己的智能终端设备。[0004] 然而人们在使用中经常需要对各种信息进行修改导致在设备中的所储存的 数据信息需要比定期改变而且同一种类型的数据需要存储在多种终端设备中这样就产 生了一个需要保持各种终端中同类型数据的一致性和完整性问题。由于无线网络通信能力 自身存在的局限性不能随时连接网络进行数据交换使得离线应用的需求逐渐普及。[0005] 在现有的技术中解决此问题的方法主要是同步式的云服务访问方式虽然这种 方法比较方便但现有的大部分云服务并没有充分考虑移动客户端的特性传输数据量很 大为移动设备带来较大的计算资源消耗和网络带宽占用使其响应并不流畅无法高效便 捷地访问云服务。[0006] 因此为满足人们于同时使用多种移动终端设备时各终端设备间对于数据同步的 要求以及在访问数据过程中更加流畅、高效的体验要求需要找到一种新型的数据同步方 法以实现多种移动终端设备之间数据同步的一致性和用户体验的流畅性。该类应用不再 同步地与云交互而是直接访问本地文件系统交换数据取而代之的是数据在后台与云端 进行通信数据访问与同步两个过程是异步执行的。【发明内容】[0007] 针对现有技术的缺点的基础上本发明的目的在于提供一种能够满足在离网环境 下多终端设备间的保持数据最终一致性的解决方式。[0008] 为实现上述目的本发明提供一种多终端设备上的数据同步方法主要包括以下 几个步骤 (1) 在终端设备中识别出相应的变化对象并将其进行标注 (2) 将标注的变化对象写入到本地数据库 (3) 在本地数据库中调取标注的变化对象将其打上时间戳抽象为事务日志 (4) 将事务日志写入本地同步表中 (5) 终端设备后台启动同步服务循环读取本地同步表中的事务日志并将其批量提交 到服务器端存入服务器端数据库中 (6) 提交成功的日志将事务日志从本地同步表中删除 (7) 服务器端循环读取事务日志逐条进行解析还原变化对象 (8) 另一终端设备接入后从服务器端获取最新的事务日志 (9) 将获取的事务日志在本地数据库中回放 (10) 通过访问本地数据库中新的事务日志记录事务日志的当前时间戳 (11) 数据同步工作完成后即可通知上层界面去更新数据。[0009] 进一步所述步骤(1)中根据业务逻辑划分变化对象变化对象通过全局描述符 ⑶ID标识变化对象之间的关系通过变化对象ID关联。[0010] 进一步所述步骤(2)中本地数据库使用Sqlite数据库。[0011] 进一步所述步骤(3)中设定变化对象的一次变化打上时间戳封装为一条事务日[0012] 进一步所述步骤(4)中本地同步表是终端设备中维护的一个增量更新表用于 记录事务日志。[0013] 进一步所述步骤(5 )中服务器端数据库为MySQL或MongoDB等非关系型数据库。[0014] 进一步所述步骤(7)中若服务器端在对象变化时做其它处理仅需设置一系列 数据处理器将事件分开处理。[0015] 进一步所设置的数据处理器还包括以下几个步骤 将读取的事务日志提交到处理器 处理完成的事务日志存储到本地数据库中 等待其它终端设备获取并同步到本地。[0016] 进一步所述步骤(10)中记录当前时间戳用于下一次获取事务日志时服务器 端计算这段时间内的增量日志列表。[0017] 结合附图阅读本发明实施方式的详细描述后本发明的其他特点和优点将变得更 加清楚。[0018] 本方法与现有数据同步方案相比具有以下几点优势数据访问与数据同步分离 用户信息的展示与用户的修改操作可以离线完成本地操作快速体验好服务器端不需要 提供若干的变化对象读写接口仅需要维护一个数据同步接口和一系列注册后的任务处理 器业务扩展仅增加任务处理器体现了软件设计中的开闭原则事务日志抽象成变化对象 的事务日志而不是SQL语句事务日志可以在客户端对接sqlite在服务器端对接MySQL 或MongoDB等非关系型数据库服务器端主要功能为事务日志透传与数据备份能够在多 个应用中复用节省了后台开发成本与开发时间。【附图说明】[0019] 下面结合附图与【具体实施方式】对本发明作进一步详细的说明 图1为本发明的用于多终端设备上数据同步方法的流程图 图2为服务器端事务日志处理流程图。【具体实施方式】[0020] 为了使本发明的目的、技术方案和优点更加清楚下面将对本发明的具体实施方 式作进一步的详细描述。[0021] 参见图1本实施例的适用于多终端设备上的数据同步方法包括以下步骤 (1)在终端设备中识别出相应的变化对象并将其进行标注 具体根据业务逻辑划分变化对象变化对象通过全局描述符GUID标识变化对象之间 的关系通过变化对象ID关联。[0022] (2)将标注的变化对象写入到本地数据库 本地数据库使用Sql