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字段保持一个关闭,一个开启

文档更新时间: 2025-08-25 00:38   作者:操李红