
# 应用同步概述
应用同步是指在不同应用之间实现数据一致性与模型复用的能力。为了支撑工业企业在产品全生命周期管理、制造执行、供应链协同等场景下的数据治理需求，工业数字模型驱动引擎-数据建模引擎（xDM Foundation，简称xDM-F）分别支持应用设计态和应用运行态的同步。
本章节重点阐述应用运行态下的同步机制。应用完成发布并部署运行后，通过安全可控的离线方式，对其运行环境中的基础数据、数据模型、服务编排、生命周期等生产运行核心资产进行跨应用、跨租户、跨环境的完整同步。该能力可保障生产环节模型一致、业务标准统一、部署高效，支撑企业生产环境平滑升级、灾备切换及多区域业务部署，满足高可用性、高业务连续性的工业场景需求。
#### 同步机制与规则
在创建应用同步任务时，系统遵循以下核心原则以确保目标端数据的准确性与完整性：
- **状态过滤**：仅同步符合指定状态要求的源数据，不符合条件的数据将被自动过滤。
- **唯一性校验**：同步至目标端时，系统根据所选模块自动匹配唯一的标识字段进行校验，防止数据冲突。
- **冲突处理策略** ：如果目标端已存在匹配的唯一标识数据，系统将严格按照同步任务配置的"处理方式"执行操作。
  - 版本覆盖：基于唯一标识字段匹配。如果目标端存在相同标识数据，则执行覆盖或更新；如果不存在，则自动创建。
  
  - 重复则跳过：基于唯一标识字段校验。如果目标端已存在相同标识的数据，则自动跳过该条数据，不进行任何修改；如果不存在，则正常创建。
   
 
 #### 同步模块详细规则
下表列出了各同步模块的具体内容、源应用状态约束、同步后的目标端状态、唯一性匹配依据以及具体的覆盖逻辑。
| **同步模块** | **同步内容**项     | 源应用状态要求 | 同步后目标端状态 | 唯一性匹配依据 | "版本覆盖"策略详细说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
|:---|:---|:---|:---|:---|:---|
| 基础数据     | 属性库           | 生效      | 生效       | 英文名称    | - 存在同名数据：直接覆盖，状态重置为"生效"。  - 不存在：自动创建。                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| 基础数据     | 合法值           | 生效      | 生效       | 英文名称    | - 存在同名数据：直接覆盖，状态重置为"生效"。  - 不存在：自动创建。                                                                                                                                                                                                                                                                                                                                                                                                                               |
| 基础数据     | 分类            | 生效      | 生效       | 英文名称    | - 存在同名数据：直接覆盖，状态重置为"生效"。  - 不存在：自动创建。                                                                                                                                                                                                                                                                                                                                                                                                                              |
| 基础数据     | 文件夹           | -       | -        | 中文名称    | - 存在同名数据：直接覆盖。  - 不存在：自动创建。                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| 基础数据     | 计量单位          | 生效      | 生效       | 英文名称    | - 存在同名数据：直接覆盖，状态重置为"生效"。  - 不存在：自动创建。                                                                                                                                                                                                                                                                                                                                                                                                                                |
| 生命周期     | 业务操作          | 生效      | 生效       | 英文名称    | - 存在同名数据：直接覆盖，状态重置为"生效"。  - 不存在：自动创建。                                                                                                                                                                                                                                                                                                                                                                                                                                |
| 生命周期     | 状态            | 生效      | 生效       | 内部名称    | - 存在同名数据：直接覆盖，状态重置为"生效"。  - 不存在：自动创建。                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| 生命周期     | 生命周期模板        | 生效      | 生效       | 英文名称    | - 存在同名数据：直接覆盖，状态重置为"生效"。  - 不存在：自动创建。                                                                                                                                                                                                                                                                                                                                                                                                                              |
| 数据模型     | 数据实体          | -       | -        | 英文名称    | - 存在同名数据：直接覆盖。  - 不存在：自动创建。                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| 数据模型     | 关系实体          | -       | -        | 英文名称    | - 存在同名数据：直接覆盖。  - 不存在：自动创建。                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| 数据模型     | 视图模型          | 已发布     | 正在工作     | 英文名称    | - 存在同名且状态为"正在工作"：直接覆盖。  - 存在同名且状态为"已发布"：直接覆盖，状态重置为"正在工作"。  - 不存在：自动创建。                                                                                                                                                                                                                                                                                                  |
| 服务编排     | 高代码编排（修订号为A）  | 已发布     | 已发布      | 英文名称    | - 存在同名且状态为"正在工作"：直接覆盖。  - 存在同名且状态为"已发布"：直接覆盖，状态保持"已发布"。  - 不存在：自动创建并保持"已发布"。                                                                                                                                                                                                                                                                                                |
| 服务编排     | 高代码编排（修订号不为A） | 已发布     | 正在工作     | 英文名称    | - 存在同名且状态为"正在工作"：直接覆盖。  - 存在同名且状态为"已发布"：直接覆盖，状态更新为"正在工作"。  - 不存在：自动创建，并将状态设置为"正在工作"。                                                                                                                                                                                                                                                                         |
| 流程       | 流程元模板         | 已发布     | 工作中      | 英文名称    | - 存在同名且模板状态为"工作中"、工作状态为"已检入"：直接覆盖，生成子版本。  - 存在同名且模板状态为"已发布"：同步失败。  - 存在同名且模板状态为"工作中"、工作状态为"已检出"：同步失败（防止冲突）。                                                                                                                                                                                                                                                                       |
| 流程       | 流程服务编排        | 已发布     | 草稿       | 服务编号    | - 存在同编号且服务状态为"草稿"：直接覆盖。  - 存在同编号且服务状态为"发布"：自动创建一个新的"草稿"版本（保留原发布版）。  - 不存在：自动创建，并将状态设置为"草稿"。                                                                                                                                                                                                                                                                 |
| 规则       | 规则列表          | 已发布     | 工作中      | 规则编码    | - 存在同编码且规则状态为"工作中"： - 如果数据已检入：直接覆盖。  - 如果数据已检出：同步失败（防止冲突）。    - 存在同编码且规则状态为"已发布"：直接覆盖，状态更新为"工作中"。  - 不存在：自动创建，并将状态设置为"工作中"。   |
| UI       | 前端项目          | -       | -        | 唯一标识    | - 存在同标识且状态为"正在工作"：直接覆盖。  - 存在同标识且状态为"已发布"：直接覆盖，状态更新为"正在工作"。  - 不存在：自动创建。                                                                                                                                                                                                                                                                                              |
   
#### 约束与限制
- 应用同步仅支持在iDME已适配的数据库类型之间执行。如果源应用和目标应用均属于iDME应用，则支持在不同类型数据库间进行应用同步。
- 系统每天凌晨02:00自动清理"状态"为"已完成"且创建时间超过1年的应用同步任务及相关离线文件。为避免重要数据丢失，请及时备份关键的应用同步任务，并将所需的离线文件下载至本地。
 
