数据更新推送技术方案说明

1、整体流程

+------------------------------------------------------------------------------+
|              定时任务触发 --> 按 biz_code 读取待推送的企业                      |
+------------------------------------------------------------------------------+
                                       |
                                       | (正常推送流程)
                                       v
+==============================================================================+
|                                                                              |
|  +------------------------------------------------------------------------+  |
|  | 1. 调用第三方数据接收接口 (POST)                                         |  |
|  |    Headers: Content-Type: application/json                             |  |
|  |    Body: { bizCode, batchNo, meta, enterprises: [{pid, ...}] }         |  |
|  +------------------------------------------------------------------------+  |
|                        |                                |                    |
|                        | (HTTP 200 OK)                  | (网络超时/5xx/      |
|                        |                                |  第三方发现数据空缺) |
|                        v                                v                    |
|  +------------------------------------+  +--------------------------------+  |
|  | 2. 正常流程                         |  | 3. 异常处理流程 (补偿机制)       |  |
|  | - 第三方正常接收数据                 |  | - 触发: 第三方发现数据不完整     |  |
|  | - 自行判断是否需调用详情接口获取      |  | - 动作: 第三方主动调用我方接口   |  |
|  |   详情                              |  |   补全缺失数据                  |  |
|  +------------------------------------+  +--------------------------------+  |
|                                                |                             |
|                                                | (携带: pushTime, bizCode,    |
|                                                |         batchNo)            |
|                                                v                             |
|                          +----------------------------------------------+    |
|                          | 4. 第三方调用我方获取推送数据接口 (GET)         |    |
|                          | Path: /services/v4/rest/server/fetch_...     |    |
|                          | 响应: 返回该批次的完整推送企业信息              |    |
|                          +----------------------------------------------+    |
|                                                |                             |
|                                                v                             |
|                          +----------------------------------------------+    |
|                          | 5. 第三方重新获取完整数据,流程闭环             |    |
|                          +----------------------------------------------+    |
|                                                                              |
+==============================================================================+

2、补偿机制详细说明

2.1、推送接口请求参数说明

我方调用第三方数据接收接口 (POST) 时,请求 Body 采用以下结构。为保证大数据量推送的稳定性与可追溯性,数据组织遵循 “业务code -> 推送轮次 -> 具体批次” 的三层结构:

{
    "ruleCode": "fl-kt-fqt", // (非必需) 第三方定义的业务code码,唯一对应具体的数据更新规则
    "bizCode": "101", // (必需) skb推送业务code码,用于区分不同的数据更新规则
    "meta": { // (必需) 元数据信息,用于第三方校验数据完整性及补偿定位
        "push_time": 1774410892, // bizCode本轮推送的时间戳,作为bizCode本轮推送的唯一标识
        "total_count": 202, // bizCode本轮推送数据总量
        "total_batches": 2, // bizCode本轮需要推送的总批次数量
        "batch_index": 1, // bizCode本轮推送的当前批次索引,从1开始
        "batch_size": 100 // bizCode当前批次预期推送的数据量
    },
    "enterprises": [ // (必需) 企业数据明细列表
        {
            "pid": "fdafdsafdsfd", // skb企业唯一id
            "uncid": "914403xxxxxx", // 统一社会信用码
            "regProvinceCode": "51", // 注册地址省份 code码
            "regProvince": "四川", // 注册地址省份
            "regCityCode": "5101", // 注册地址城市 code码
            "regCity": "成都" // 注册地址城市
        }
    ]
}
2.2、补偿机制详细说明
  • 数据完整性校验规则
    第三方接收数据后,应优先通过 meta 字段校验当前批次的数据完整性。若满足以下任一条件,即视为数据不完整,需触发补偿机制:

    1. enterprises 数组的实际长度不等于 meta.batch_size
    2. total_count不等于本轮所有批次的 enterprises 数据量总和
    3. batch_index缺失,例如已经接收到 batch_index 为 1,3,4 的,缺失 batch_index 为2的数据
  • 补偿触发与动作
    当发现数据不完整时,第三方需主动调用我方 获取指定批次的推送数据接口 (GET),以补全缺失的该特定批次的数据。

  • 请求参数映射关系 (Query)
    第三方需从上一次 POST 请求的 Body 中提取对应字段,并严格按照以下映射关系传递给我方 GET 接口:

    • bizCode:缺失数据的业务 code(对应 POST 的 bizCode)。
    • pushTime:缺失数据所属的完整推送轮次标识(对应 POST 中的 meta.push_time)。
    • batchNo:缺失数据的具体批次序号(对应 POST 中的 meta.batch_index)。
  • 请求示例

    GET https://{host}/services/v4/rest/server/fetch_pushing_data?bizCode=101&pushTime=1774410892&batchNo=1
文档更新时间: 2026-08-19 22:09   作者:李星亮