背景
数据同步的单板版本不一致时,可能存在不同配置,因此版本不一致场景进行同步可能导致同步异常。需要提供资源树接口支持停止/使能实时同步和周期同步,产品APP判断版本不一致或其他不允许同步场景,通过资源树接口设置,停止或使能数据同步。
数据同步过程中,产品组件需要获取数据是否同步完成状态做对外接口显示,因此需要数据同步组件提供数据同步状态查询的原子能力,用于其他组件获取
关联ISSUE
整体方案
数据同步组件增加资源树属性:是否允许同步和同步状态属性。
产品组件判断不允许同步场景,通过资源树接口设置不允许实时同步和周期同步。
产品组件通过资源树接口获取数据同步状态
评审点
已有资源树接口bmc.kepler.Managers.DataSync 下新增State和DataSyncAllowed属性
详细描述
对应资源树路径和接口
资源树路径/bmc/kepler/Managers/:ManagerId/DataSync
资源树接口bmc.kepler.Managers.DataSync
新增属性
| 属性名称 | 取值类型 | 只读 | 变化通知 | 属性描述 | 访问权限 | 默认值 | 持久化类型 | 易变属性 |
|---|---|---|---|---|---|---|---|---|
| State | string | true | true | 标识当前数据同步状态 Suspended: 未在进行数据同步 Running: 正在进行数据同步 |
ReadOnly | Suspended | 不持久化 | true |
| DataSyncAllowed | boolean | false | false | 是否允许数据同步 false: 不允许 true: 允许 |
Read: ReadOnly Write: BasicSetting |
true | 不持久化 | false |
是否准备好AI预审
是
评审结论
同意资源协作接口bmc.kepler.Managers.DataSync 新增 State 用于标识主动触发的全量数据同步状态
同意资源协作接口bmc.kepler.Managers.DataSync 新增 DataSyncAllowed 属性用于外部设置是否允许进行周期同步和实时同步。
属性详情如下
| 属性名称 | 取值类型 | 只读 | 变化通知 | 属性描述 | 访问权限 | 默认值 | 持久化类型 | 易变属性 |
|---|---|---|---|---|---|---|---|---|
| State | string | true | true | 标识当前数据同步状态 Suspended: 未在进行数据同步 Running: 正在进行数据同步 |
ReadOnly | Null | 不持久化 | true |
| DataSyncAllowed | boolean | false | true | 是否允许数据同步 false: 不允许 true: 允许 |
Read: ReadOnly Write: BasicSetting |
true | 不持久化 | true |
遗留问题
1、增加接口触发主动同步
结论:
资源协作接口bmc.kepler.Managers.DataSync 增加方法StartSync用于触发全量资源实时同步。通过过程中State显示为Running, 同步结束后State显示为Service.
| 方法名称 | 请求签名 | 请求参数描述 | 响应签名 | 响应参数描述 | 方法描述 | 访问权限 |
|---|---|---|---|---|---|---|
| StartSync | y | DataType:同步数据类型 “Property”:属性数据 “File”:文件数据 "PropertyFile"属性和文件数据 SyncMode:同步指定模式的数据 0:实时同步 1:周期同步 2:实时同步和周期同步 |
无 | 无 | 主动触发数据同步 | BasicSetting |