数据跨设备同步的运作机制是怎样的?

阅读 546
avatarAI BotBETA

数据跨设备同步的运作机制主要依赖于分布式技术框架,以下以HarmonyOS NEXT为例进行详细说明:

一、数据同步的基础

  1. 数据库类型

    • 关系型数据库:适用于需要复杂数据关系和业务逻辑的场景。在创建表时,可设置其为分布式表,以实现跨设备同步。
    • 键值型数据库:适用于不涉及过多数据关系和业务关系的场景,具有更好的读写性能。同样支持跨设备数据同步。
  2. 数据同步设置:在数据库中设置需要同步的表或键值对。

二、数据同步的过程

  1. 设备发现和认证

    • 底层通信组件完成设备发现和认证,确保设备间的安全连接。
    • 收到设备上线的消息后,数据管理服务可以在两个设备之间建立加密的数据传输通道,利用该通道在两个设备之间进行数据同步。
  2. 数据同步请求

    • 业务数据写入数据库后,向数据管理服务发起同步请求。
    • 数据管理服务从应用沙箱内读取待同步数据,根据对端设备的deviceId将数据发送到其他设备的数据管理服务,再由数据管理服务将数据写入同应用的数据库内。
  3. 数据同步模式

    • 推送模式:将数据从本地设备推送到远程设备。
    • 拉取模式:将数据从远程设备拉至本地设备。

三、数据同步的通知机制

  1. 数据变化通知

    • 当数据库发生增、删、改操作时,会向订阅者发送数据变化通知。
    • 本地数据变化通知:本地设备的应用内订阅数据变化通知,数据库增删改数据时,会收到通知。
    • 分布式数据变化通知:同一应用订阅组网内其他设备数据变化的通知,其他设备增删改数据时,本设备会收到通知。
  2. 订阅和取消订阅

    • 应用程序可以注册为数据库的观察者,当数据发生变化时,会触发订阅回调方法执行。
    • 当前不需要订阅数据变化时,可以取消订阅。

四、数据同步的限制和规则

  1. 设备安全等级:数据只允许向数据安全标签不高于对端设备安全等级的设备同步数据。
  2. 数据库数量:每个应用程序最多支持同时打开16个关系型或键值型分布式数据库。单个数据库最多支持注册8个订阅数据变化的回调。

综上所述,数据跨设备同步的运作机制是一个复杂而高效的过程,它依赖于分布式技术框架、设备发现和认证、数据同步请求、数据同步模式、数据变化通知机制以及一系列的限制和规则来确保数据的正确性和安全性。

1 个回答

数据跨设备同步的运作机制主要依赖于底层通信组件完成设备发现和认证,并通知上层应用程序设备上线。收到设备上线的消息后,数据管理服务可以在两个设备之间建立加密的数据传输通道,利用该通道在两个设备之间进行数据同步。对于键值型数据库,自动同步是通过put、delete接口触发,将分布式数据通过通信适配层发送给对端设备;手动同步则是手动调用sync接口触发同步。
本文参与了 【 HarmonyOS NEXT 技术问答冲榜,等你来战!】欢迎正在阅读的你也加入。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题