一种应用数据的同步方法和装置的制造方法
【技术领域】
[0001] 本申请涉及通讯技术领域,特别是涉及一种应用数据的同步方法和一种应用数据 的同步装置。
【背景技术】
[0002] 随着互联网技术不断发展以及互联网用户的不断增加,互联网领域得到了空前的 发展。
[0003] 基于互联网技术的应用程序已经被越来越多的人接受并在人们的工作、学习、日 常生活中等各方面的使用越来越普遍,例如,邮件、即时通讯工具、网络视频播放器等等,尤 其是随着智能设备的广泛普及,可以说,其已经成为人们生活中不可以缺少的一部分。
[0004] 在用户跨终端设备进行工作或娱乐的过程中,一般会产生应用数据,以记录用户 的操作、操作结果等信息,应用数据的同步是一类较为普遍的需求。例如,用户在两台不同 的终端设备上均处理过同一文档,当用户使用第三台终端设备处理该文档时,需要向其他 设备获取之前处理的应用数据,以便将该文档调整至最近的状态并继续处理。
[0005] 在一种情形中,应用程序只可以保持账号在一个终端设备登录。当用户在另外一 个终端设备登录该账号时,会强制退出前一个终端设备登录的账号,以使得同时只有一个 终端设备被保持账号在线。
[0006] 在另一种情形中,应用程序可以保持多个终端设备登录。同一个账号在多个终端 设备上操作时,终端设备需要通过主动拉取或定时拉取的方式,全量获取服务器中的所有 应用数据。
[0007] 在前一种情形中,服务器只能进行同账号单终端设备的应用数据推送及同步,同 步的应用数据会存在缺漏。在后一种方式中,若拉取太频繁会较大地耗费网络流量,而拉取 不频繁则又导致数据同步不及时,同步效率很低。
[0008] 因此,目前需要本领域技术人员迫切解决的一个技术问题就是:如何提出一种应 用数据的同步机制,以减少网络流量的耗费,提高同步效率。
【发明内容】
[0009] 本申请实施例所要解决的技术问题是提供一种应用数据的同步方法,用以减少网 络流量的耗费,提高同步效率。
[0010] 相应的,本申请实施例还提供了一种应用数据的同步装置,用以保证上述方法的 实现及应用。
[0011] 为了解决上述问题,本申请实施例公开了一种应用数据的同步方法,包括:
[0012] 接收终端发送的针对应用程序的应用数据的同步请求;所述同步请求中包括终端 标识和用户标识中的至少一个,所述应用数据包括终态数据和增量数据中的至少一种;
[0013] 根据所述终端标识和所述用户标识中的至少一个查找对应的同步进度节点;
[0014] 当查找到所述同步进度节点时,根据所述同步进度节点与预先记录的数据进度节 点推送对应的终态数据和增量数据中的至少一种至所述终端。
[0015] 优选地,所述终态数据为应用程序操作完成后的应用数据,所述增量数据为应用 程序操作过程所产生的应用数据。
[0016] 优选地,所述根据所述同步进度节点与预置的数据进度节点推送对应的终态数据 和增量数据中的至少一种至所述终端的步骤包括:
[0017] 计算所述同步进度节点与预置的数据进度节点之间的差异量;
[0018] 判断所述差异量是否大于或等于预设的差异量阈值;
[0019] 若是,则推送对应的终态数据至所述终端;
[0020] 若否,则推送对应的增量数据至所述终端;
[0021] 其中,所述同步进度节点为记录所述终端已同步的应用数据的节点信息,所述数 据进度节点为记录应用程序操作过程所产生的应用数据的节点信息,所述应用数据按照产 生时间顺序排序。
[0022] 优选地,所述差异量包括进度差异量,所述计算所述同步进度节点与预先记录的 数据进度节点之间的差异量的步骤包括:
[0023] 计算所述同步进度节点与预先记录的数据进度节点之间的进度差异量;
[0024] 所述差异量阈值包括进度阈值,所述判断所述差异量是否大于或等于预设的差异 量阈值的步骤包括:
[0025] 判断所述进度差异量是否大于或等于预设的进度阈值。
[0026] 优选地,所述差异量包括数据差异量,所述计算所述同步进度节点与预置的数据 进度节点之间的差异量的步骤包括:
[0027] 所述计算所述同步进度节点与预先记录的数据进度节点之间的应用数据的数据 差异量;
[0028] 所述差异量阈值包括数据量阈值,所述判断所述差异量是否大于或等于预设的差 异量阈值的步骤包括:
[0029] 判断所述数据差异量是否大于或等于预设的数据量阈值。
[0030] 优选地,还包括:
[0031] 当未查找到所述同步进度节点时,推送对应的终态数据至所述终端。
[0032] 优选地,所述应用数据包括终端系统类型、应用程序版本、业务类型中的至少一 种;
[0033] 所述推送对应的终态数据至所述终端的步骤包括:
[0034] 推送所述业务类型中,与所述终端系统类型、应用程序版本中的至少一种匹配的 终态数据至所述终端;
[0035] 所述推送对应的增量数据至所述终端的步骤包括:
[0036] 推送所述业务类型中,与所述终端系统类型、应用程序版本中的至少一种匹配的 增量数据至所述终端。
[0037] 本申请实施例还公开了一种应用数据的同步方法,包括:
[0038] 按照在当前终端产生的应用程序的应用数据更新对应的数据进度节点;
[0039] 判断其他终端是否符合预设的活跃条件;其他终端具有对应的同步进度节点;
[0040] 若是,则按照所述数据进度节点和所述同步进度节点计算增量数据;
[0041] 将所述增量数据推送至所述其他终端。
[0042] 优选地,所述同步进度节点为记录所述终端已同步的应用数据的节点信息,所述 数据进度节点为记录应用程序操作过程所产生的应用数据的节点信息,所述应用数据按照 产生时间顺序排序;所述增量数据为应用程序操作过程所产生的应用数据。
[0043] 优选地,判断其他终端是否符合预设的活跃条件的步骤包括:
[0044] 判断与其他客户端是否通过长连接进行通讯;若是,则判断所述其他客户端符合 预设的活跃条件。
[0045] 优选地,所述应用数据包括终端系统类型、应用程序版本、业务类型中的至少一 种;
[0046] 所述将所述增量数据推送至所述其他终端的步骤包括:
[0047] 推送所述业务类型中,与所述终端系统类型、应用程序版本中的至少一种匹配的 增量数据至所述其他终端。
[0048] 本申请实施例还公开了一种应用数据的同步装置,包括:
[0049] 同步请求接收模块,用于接收终端发送的针对应用程序的应用数据的同步请求; 所述同步请求中包括终端标识和用户标识中的至少一个,所述应用数据包括终态数据和增 量数据中的至少一种;
[0050] 同步进度节点查找模块,用于根据所述终端标识和所述用户标识中的至少一个查 找对应的同步进度节点;
[0051] 应用数据推送模块,用于查找到所述同步进度节点时,根据所述同步进度节点与 预先记录的数据进度节点推送对应的终态数据和增量数据中的至少一种至所述终端。
[0052] 优选地,所述终态数据为应用程序操作完成后的应用数据,所述增量数据为应用 程序操作过程所产生的应用数据。
[0053] 优选地,所述应用数据推送模块包括:
[0054] 差异量计算子模块,用于计算所述同步进度节点与预置的数据进度节点之间的差 巳 升里;
[0055] 差异量阈值判断子模块,用于判断所述差异量是否大于或等于预设的差异量阈 值;若是,则调用第一推送子模块,若否,则调用第二推送子模块;
[0056] 第一推送子模块,用于推送对应的终态数据至所述终端;
[0057] 第二推送子模块,用于推送对应的增量数据至所述终端;
[0058] 其中,所述同步进度节点为记录所述终端已同步的应用数据的节点信息,所述数 据进度节点为记录应用程序操作过程所产生的应用数据的节点信息,所述应用数据按照产 生时间顺序排序。
[0059] 优选地,所述差异量包括进度差异量,所述差异量计算子模块包括:
[0060] 进度差异量计算子模块,用于计算所述同步进度节点与预先记录的数据进度节点 之间的进度差异量;
[0061] 所述差异量阈值包括进度阈值,所述差异量阈值判断子模块包括:
[0062] 进度阈值判断子模块,用于判断所述进度差异量是否大于或等于预设的进度阈 值。
[0063] 优选地,所述差异量包括数据差异量,所述差异量计算子模块包括:
[0064] 数据差异量计算子模块,用于计算所述同步进度节点与预先记录的数据进度节点 之间的应用数据的数据差异量;
[0065] 所述差异量阈值包括数据量阈值,所述差异量阈值判断子模块包括:
[0066] 数据差异量阈值判断子模块,用于判断所述数据差异量是否大于或等于预设的数 据量阈值。
[0067] 优选地,还包括:
[0068] 终态数据推送模块,用于在未查找到所述同步进度节点时,推送对应的终态数据 至所述终端。
[0069] 优选地,所述应用数据包括终端系统类型、应用程序版本、业务类型中的至少一 种;
[0070] 所述第一推送子模块包括:
[0071] 第一适配推送子模块,用于推送所述业务类型中,与所述终端系统类型、应用程序 版本中的至少一种匹配的终态数据至所述终端;
[0072] 所述第二推送子模块包括:
[0073] 第二适配推送子模块,用于推送所述业务类型中,与所述终端系统类型、应用程序 版本中的至少一种匹配的增量数据至所述终端。
[0074] 本申请实施例还公开了一种应用数据的同步装置,包括:
[0075] 数据进度节点更新模块,用于按照在当前终端产生的应用程序的应用数据更新对 应的数据进度节点;
[0076] 活跃条件判断模块,用于判断其他终端是否符合预设的活跃条件;其他终端具有 对应的同步进度节点;若是,则调用增量数据计算模块;
[0077] 增量数据计算模块,用于按照所述数据进度节点和所述同步进度节点计算增量数 据;
[0078] 增量数据推送模块,用于将所述增量数据推送至所述其他终端。
[0079] 优选地,所述同步进度节点为记录所述终端已同步的应用数据的节点信息,所述 数据进度节点为记录应用程序操作过程所产生的应用数据的节点信息,所述应用数据按照 产生时间顺序排序;所述增量数据为应用程序操作过程所产生的应用数据。
[0080] 优选地,所述活跃条件判断模块包括:
[0081] 长连接判断子模块,用于判断与其他客户端是否通过长连接进行通讯;若是,则调 用符合判断子模块;
[0082] 符合判断子模块,用于判断所述其他客户端符合预设的活跃条件。
[0083] 优选地,所述应用数据包括终端系统类型、应用程序版本、业务类型中的至少一 种;
[0084] 所述增量数据推送模块包括:
[0085] 第三适配推送子模块,用于推送所述业务类型中,与所述终端系统类型、应用程序 版本中的至少一种匹配的增量数据至所述其他终端。
[0086] 与【背景技术】相比,本申请实施例包括以下优点:
[0087] 本申请实施例根据终端发送的针对应用程序的应用数据的同步请求,查找终端标 识和用户标识中的至少一个所对应的同步进度节点,在查找到同步进度节点时,根据同步 进度节点和数据进度节点推送对应的终态数据和增量数据中的至少一种至终端,可以根据 实际的同步差异灵活推送应