# 同应用端云数据同步概述

## 场景介绍

端云数据同步功能（端云协同），指将端侧设备（如手机、PC、平板等）数据同步到云侧。常用于应用数据通过云侧实现多设备一致。

## 基本概念

在端云数据同步场景中，支持端侧设备与云侧数据的同步与存储功能。

在使用端云同步能力前，请先了解以下概念。

* [资产（Asset）](https://developer.huawei.com/consumer/cn/doc/harmonyos-references/arkts-apis-data-relationalstore-i#asset10)：记录资产附件（文件、图片、视频等类型文件）的相关信息（资产文件需要存放到[分布式文件路径](https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/app-sandbox-directory#应用文件目录与应用文件路径)下）。

## 同步方式

针对数据库的端云数据同步，目前支持两种同步方式：手动同步和自动同步。开发者可根据需要选择对应的同步方式实现端云数据同步。

**手动同步** ：由应用程序主动调用[cloudSync](https://developer.huawei.com/consumer/cn/doc/harmonyos-references/arkts-apis-data-relationalstore-rdbstore#cloudsync10)接口来触发，需要指定同步模式。其中，端云之间的数据同步有三种模式，分别为将数据从修改时间较近的一端同步到修改时间较远的一端、将数据从端侧设备同步到云侧以及将数据从云侧同步到端侧设备。

**自动同步**：由分布式数据库自动将端侧设备数据推送到云侧，同时也将云侧数据拉取到端侧来完成数据同步，这个同步时机由系统控制，应用不用（也无法）干预。

## 运作机制

### 端云同步机制

![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/52/v3/5N-ChkD0S_qdz548VB4u8A/zh-cn_image_0000002749331750.png?HW-CC-KV=V1&HW-CC-Date=20260929T121659Z&HW-CC-Expire=31536000000&HW-CC-Sign=B6094845416ECA3F3A95997F48FCD98CA0A47D664810E1E41164A054C3BBEBE0)

端云同步机制是以云为中心，采用中心化的数据同步模型，这意味着数据不是在端-端之间两两同步，而是端-云-端的方式进行数据同步。云端既是一个数据备份中心，也是一个数据中转中心。通过端-云-端的数据同步，来实现多端数据的一致性。

在端云同步的场景下，设备A有数据变更，数据会增量上传（Upload）到云侧。设备B在已订阅云侧数据变更的情况下，云侧会针对设备B发送数据变更通知，设备B即可从云侧拉取变更数据写入数据库内，从而实现设备A-云端-设备B的多端同步。

### 云端数据变化通知机制

增、删、改数据时，会给订阅者发送数据变化的通知。

**云端数据更改通知**：登录相同云端账号的其他设备增、删、改数据时，本设备会收到数据变更通知。

**云端数据更改详情通知**：登录同一云端账号的其他设备变化的详情通知，其他设备增、删、改数据时，本设备会收到端云同步过程的详情通知，包括发生变化的表的名称、发生变化的数据的类型，数据或资产附件插入、更新、删除数据的位置。

## 约束限制

* 端云同步功能依赖云服务，应用需要先完成云侧环境部署，才能使用端云同步功能。具体请见[端云数据同步云侧环境部署指导](https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/data-sync-with-cloud)。

* 端云功能依赖网络，未连接网络或网络质量差的状况下，端云同步会失败。

* 云侧配置更新后，要求端侧退出华为账号再重新登录，以便于获取最新的云侧配置。

