1. MSS容灾管理-ZCBUS对接
1.1. 链路启停控制
根据资源池、系统、节点 实现同步链路的启停,其中系统、节点为可选项
1.1.1. 对接系统
接口调用方:MSS容灾管理平台
接口提供方:ZCBUS
1.1.2. 接入方式
启停接口通过MSS-EOP对接,具体接入地址待定,由ZCBUS提供
DCOOS
1.1.3. 接口规范
请求地址:/api/zbomc/common/project/sync/link/operation
报文格式: JSON
请求方式:POST
待定:ZCBUS在DCOOS平台提供链路启停控制接口,接入方签约API服务,并在调用时header头填写自身应用的X-APP-ID和X-APP-KEY
请求参数(JSON)
字段名称 | 参数 | 类型 | 必填 | 校验 | 字段说明 |
---|---|---|---|---|---|
链路ID集合 | syncLinkIds | Integer集合 | 必传 | 非空 | 通过查询接口返回结果中获取。 |
系统编码 | systemCode | String | 必传 | 非空 | 系统编码,160506,该编码有校验,如有变动请告知并同步 |
系统名称 | systemName | String | 非必传 | 系统名称,采用统一标识 | |
链路操作 | operationType | String | 必传 | 非空 | 链路操作方式,1:开启;2:停止,3:切换 |
响应结果
字段名称 | 参数 | 类型 | 默认值 | 字段说明 |
---|---|---|---|---|
返回状态码 | code | Integer | 200:成功;其他失败 {“code”:200,”data”:null,”msg”:null} | |
返回结果 | data | Object | Null | 每个接口返回类型不一定,这个接口只有正确返回true,意义不大,只看code状态也行,只有需要获取返回结果的接口才获取这个值。 |
返回信息 | msg | String | Null | 执行结果,执行失败后都会有原因,在此显示{“code”:10000,”data”:null,”msg”:”XXXXX异常”} |
报文样例:
1、请求参数
2、返回数据
1.2. 链路信息查询
根据资源池、系统、节点 查询链路状态,其中系统、节点为可选项
1.2.1. 对接系统
接口调用方:MSS容灾管理平台
接口提供方:ZCBUS
1.2.2. 接入方式
待定:启停接口通过MSS-EOP对接,具体接入地址待定,由ZCBUS提供
1.2.3. 接口规范
请求地址:/api/zbomc/common/project/sync/link/query
报文格式: JSON
请求方式:POST
待定:ZCBUS在DCOOS平台提供链路启停控制接口,接入方签约API服务,并在调用时header头填写自身应用的X-APP-ID和X-APP-KEY
请求参数
字段名称 | 参数 | 类型 | 必填 | 校验 | 字段说明 |
---|---|---|---|---|---|
省份编码 | provinceCode | String | 必传 | 非空 | 省份编码表里对应的code |
资源池源端 | sourceResourceCode | String | 非必传 | 资源池,1:内蒙;2:贵州;0:默认值,未规划机房 | |
资源池目标端 | targetResourceCode | String | 非必传 | 资源池,1:内蒙;2:贵州;0:默认值,未规划机房 | |
系统编码 | systemCode | String | 必传 | 非空 | 系统编码,160506,该编码有校验,如有变动请告知并同步 |
系统名称 | systemName | String | 非必传 | 系统名称,采用统一标识 |
响应参数
字段名称 | 参数 | 类型 | 默认值 | 字段说明 |
---|---|---|---|---|
返回状态码 | code | Integer | 200:成功;其他失败。{“code”:200,”data”:[],”msg”:null} | |
返回结果 | data | Object | Null | 这里返回的是个数据组合{“code”:200,”data”:[],”msg”:null} |
返回信息 | msg | String | Null | 执行结果,执行失败后都会有原因,在此显示{“code”:10000,”data”:[],”msg”:”XXXXX异常”} |
报文样例:
1、请求参数
{
"provinceCode": "0",
"sourceResourceCode": "1",
"targetResourceCode": "2",
"systemCode": "160506"
}
2、返回数据
{
"code": 200,
"data": [
{
"syncLinkId": "107",
"syncLinkName": "pg_test12345611111",
"nodeId": 12084,
"customerId": 12085,
"delaySeconds": 0,
"pushRealStatus": 2,
"clientStatus": 2,
"ctlNormalPercent": "100.00",
"ctlAbnormalPercent": "0.00",
"ctlGreyPercent": "0.00",
"objNormalPercent": "80.00",
"objAbnormalPercent": "20.00",
"objGreyPercent": "0.00"
}
]
}
返回数据说明:
syncLinkId 链路ID
syncLinkName 链路名
nodeId:源端节点ID
customerId:目标端节点ID
delaySeconds:源端延迟时间(单位:秒)
pushRealStatus:源端增量进程状态
clientStatus:目标端进程状态
ctlNormalPercent:目标端通道进程正常状态百分比
ctlAbnormalPercent:目标端通道进程异常状态百分比
ctlGreyPercent: 处理过程中或者暂停,重置不处理的(当成灰度空间了)
objNormalPercent:目标端正常状态的通道进程百分比
objAbnormalPercent:目标端异常状态的通道进程百分比
objGreyPercent:处理过程中或者暂停,重置不处理的(当成灰度空间了)
1.3. 链路数据比对
1.3.1. 对接系统
接口调用方:MSS容灾管理平台
接口提供方:ZCBUS
1.3.2. 接口规范
请求地址:/api/zbomc/common/project/sync/link/query/diffRate
报文格式: JSON
请求方式:POST
请求参数
字段名称 | 参数 | 类型 | 必填 | 校验 | 字段说明 |
---|---|---|---|---|---|
系统编码 | systemCode | String | 必传 | 非空 | 系统编码,160506,该编码有校验,如有变动请告知并同步 |
目标节点ID | customerId | Integer | 必传 | 非空 | |
目标库名 | targetTableSchema | String | 非必传 | 可空 | 条件筛选字段 |
目标表名 | targetTableName | String | 非必传 | 可空 | 条件筛选字段 |
页码 | current | Integer | 非必传 | 可空 | 默认1 |
每页条数 | size | Integer | 非必传 | 可空 | 默认20条数据 |
响应参数
字段名称 | 参数 | 类型 | 默认值 | 字段说明 |
---|---|---|---|---|
返回状态码 | code | Integer | 200:成功;其他失败。{“code”:200,”data”:[],”msg”:null} | |
返回结果 | data | Object | Null | 这里返回的是个数据组合{“code”:200,”data”:[],”msg”:null} |
返回信息 | msg | String | Null | 执行结果,执行失败后都会有原因,在此显示{“code”:10000,”data”:[],”msg”:”XXXXX异常”} |
报文样例:
1、请求参数
{
"customerId": 12085
}
2、返回数据
{
"code": 200,
"data": {
"records": [
{
"customerId": 10105,
"tableId": 434259,
"objectId": 1202630,
"nodeId": 11399,
"sourceTableSchema": "ZFL",
"sourceTableName": "0",
"targetTableSchema": "public",
"targetTableName": "iot",
"checkMethod": 1
"scnt": "0",
"tcnt": "70704",
"sccnt": "0",
"tccnt": "70704",
"diffcnt": "0",
"loadCount": 70704,
"diffRate": "100",
"status": 4,
"listStatus": "6",
"errMsg": "ZCBUS-1000: OCI ret -1 at file oracle/oralib.c:560, 47.95.36.93:3000/orcl.\nORA-12170: TNS:Connect timeout occurred\nOCI Error - OCI_ERROR",
"errText": "ZCBUS-200: open file /data/zl/zcbus/2.0.1/cache/compare/10105/child1/repair_10105_public_iot_20231218.bsd failed: No such file or directory",
"dayTime": "2023-12-18 00:00:00",
"sourceUpdateTime": null
"targetUpdateTime": "2023-12-18 14:30:30"
}
]
}
返回数据说明:
customerid:目标端节点id
tableId:源端表id
objectId:目标端表id
nodeId:源端节点id
sourceTableSchema:源端表Schema名
sourceTableName:源端表名
targetTableSchema:目标端Schema名
targetTableName:目标端表名
checkMethod:
scnt:源表记录数
tcnt:目标表记录数
sccnt:内容比对,源表多出来的记录数
tccnt:内容比对,目标表多出来的记录数
diffcnt:内容比对,pk相同,内容不一致的记录数。
loadCount:误差值
diffRate:误差率
status: 修复状态,0 - 不需要修复 1 - 需要修复 2 -修复中 3 - 修复完成
4 - 修复失败
listStatus:比对状态,0-不需要比对 1-允许发起比对 2-数据比对过程中 3-客户端导出数据过程中 4-云端比对过程中 5-数据比对完成 6-数据比对异常
errMsg: 比对错误信息
errText: 修复错误信息
dayTime:更新日期
sourceUpdateTime:
targetUpdateTime:更新时间
1.4. 链路实时比对(指定数据表比对)
1.4.1. 对接系统
接口调用方:MSS容灾管理平台
接口提供方:ZCBUS
1.4.2. 接口规范
请求地址:/api/zbomc/common/project/sync/link/comparison
报文格式: JSON
请求方式:POST
请求参数
字段名称 | 参数 | 类型 | 必填 | 校验 | 字段说明 |
---|---|---|---|---|---|
系统编码 | systemCode | String | 必传 | 非空 | 系统编码,160506,该编码有校验,如有变动请告知并同步 |
目标节点ID | customerId | Integer | 必传 | 非空 | |
比对方式 | checkMethod | Integer | 必传 | 非空 | 0: 记录数比对 1: 内容比对 |
目标库名 | targetTableSchema | String | 必传 | 非空 | |
目标表名 | targetTableName | String | 必传 | 非空 |
响应参数
字段名称 | 参数 | 类型 | 默认值 | 字段说明 |
---|---|---|---|---|
返回状态码 | code | Integer | 200:成功;其他失败。{“code”:200,”data”:null,”msg”:null} | |
返回结果 | data | Object | Null | 每个接口返回类型不一定,这个接口只有正确返回true,意义不大,只看code状态也行,只有需要获取返回结果的接口才获取这个值。 |
返回信息 | msg | String | Null | 执行结果,执行失败后都会有原因,在此显示{“code”:10000,”data”:null,”msg”:”XXXXX异常”} |
报文样例:
1、请求参数
{
"customerId": 12085
}
2、返回数据
{
"code": 200,
"data": true
}
返回数据说明:
code:200表示成功,其他表示失败
data:true表示有这个库名、表名,false表示没这个库名、表名
2、关联关系表
bus_sync_link
bus_sync_link中记录了节点相关信息,其中的信息由软件自动生成,也可手动插入记录
注意:
bus_sync_link中的id 列为主键自增,关联 bus_rel_resource_link 中的 sync_link_id列
bus_sync_link中的group_id列的值,正向和反向的值要保持一致,可手动生成
bus_sync_link中的policy_id,关联bus_client_product中的id列
bus_rel_resource_link
该表中的记录一般需要手动生成,根据现场的情况来设置
province_code一般在两两成功的链路当中是保持一致的,参考链路查询接口参数
sourceResourceCode和targetResourceCode 一般需要写不同的值,以区分不同的资源池,参考链路查询接口参数
status字段保持一个关闭,一个开启