fao/docs/数据源上线清单.md
2026-04-23 19:24:46 +08:00

117 lines
5.9 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 数据源上线清单(上线环境持续采集)
> 版本1.0
> 关联文档:《架构设计》《产品设计-蔬菜价格指数平台》
> 适用:**生产环境长期、自动化**从外部网站或接口拉取价格类数据(非一次性演示快照)。
本文约定「能不能上」与「上了怎么运维」,**不**描述绕过风控或非授权抓取的技术细节。
---
## 1. 文档目的
-**合规边界、运行 SLA、观测告警、降级与对外话术** 固化成评审与上线门禁,避免「能跑」但不可持续。
- 与架构分层一致:**Python 仅写 raw****Java** 治理、指数与对外 API前台透传 **`source_code`** 与更新时间。
---
## 2. 上线前:合规与授权(必过项)
| 序号 | 检查项 | 说明 / 证据形式 |
|------|--------|------------------|
| 2.1 | **权利来源** | 官方 **API/数据产品合同**、**书面授权函**、或 **开放数据许可**(条款需可归档)。无书面依据的默认网页抓取,**不作为生产唯一依赖**。 |
| 2.2 | **授权范围** | 明确:用途(展示/指数/再加工)、字段、是否可缓存、**留存期限**、是否可向第三方披露、地域与账号限制。 |
| 2.3 | ** robots / 用户协议** | 已阅读并与法务或采购结论一致;若冲突以 **合同** 为准。 |
| 2.4 | **个人信息与敏感信息** | 采集字段清单评审;禁止纳入非必要个保;商户级敏感数据按组织脱敏与权限策略。 |
| 2.5 | **对外展示** | 产品文案:**数据来源、更新时间、免责声明**;多源时禁止无说明的 **静默混源**。 |
| 2.6 | **分包与外包** | 若采集由第三方实施,合同中约定 **安全、保密、删除与违约责任**。 |
---
## 3. SLA 与数据契约(产品 + 研发对齐)
建议在 OpenAPI / 内部契约中至少约定以下字段或等价物:
| 项 | 说明 |
|----|------|
| **更新频率** | 例如 T+1 日批、日内每 N 小时;**延迟上限**(超过则前台显示「延迟」态)。 |
| **业务日期** | 价格对应的 **交易日/发布日** 与时区。 |
| **缺失策略** | 节假日无盘、源故障时是否补数、是否允许空窗。 |
| **口径变更** | 指数/品种映射变更需带 **`config_version`**;变更 **提前通知期**(若有)。 |
| **`source_code`** | 枚举值写入维表;每条指标结果可追溯到源。 |
---
## 4. `source_code` 与多源规则
| 规则 | 说明 |
|------|------|
| **一源一码** | 每个授权通道对应稳定 `source_code`(如 `XFD`、`MOA_…`,以维表为准);**禁止**多源合并后丢失来源。 |
| **演示** | `DEMO` 仅用于非生产或明确标注的演示环境,**不得**与生产数据混写同一张对外事实表而不打标。 |
| **混排展示** | 若同一屏多源UI/API 须 **分行或分卡** 标明来源;算法侧「综合指数」须单独版本说明与评审。 |
---
## 5. 技术运行要求(采集层)
| 序号 | 要求 | 说明 |
|------|------|------|
| 5.1 | **频控与退避** | 固定 QPS 上限、失败退避、错峰;禁止故障时放大并发「刷数」。 |
| 5.2 | **Raw 只增与指纹** | 原始层追加;去重键/指纹与《架构设计》一致,支持审计与重放。 |
| 5.3 | **适配器版本** | 一源一包;对方页面/接口变更时 **仅升适配器版本**,不动核心业务表结构。 |
| 5.4 | **密钥与账号** | 凭据走配置中心或密钥管理,**禁止**入库或进镜像明文。 |
| 5.5 | **任务幂等** | 同一业务日重复跑不产生重复对外指标(由 Java 批算幂等保证,与架构一致)。 |
---
## 6. 观测与告警(建议阈值)
以下为初始建议,上线后按源实际调参。
| 指标 | 建议阈值(可调) | 动作 |
|------|------------------|------|
| 任务连续失败 | **≥ 3 次**(同任务同窗口) | 告警 + 暂停该源自动重试(可选)+ 通知负责人 |
| HTTP 5xx 比例 | **> 20%** 持续 15 分钟 | 告警 |
| 解析成功率 | **< 95%**日级 | 日报 + 评估对方改版 |
| 入库条数环比 | **±50%** 相对近 7 日均值排除已知节假日 | 数据质量工单防静默错抓 |
| 延迟 | 超过 SLA 约定 `max_lag` | 前台延迟 + 运营公告模板 |
日志与 trace架构设计 **结构化日志 + trace id** 一致便于与 Java 治理链路关联
---
## 7. 降级与用户可见话术
### 7.1 降级策略(内部)
1. **源不可用**停止写入该源 raw 或标记失败批次Java 侧不生成该源当日对外指标或沿用上一成功日**须产品事先约定**)。
2. **部分品种失败**单品种缺数榜单/详情显示缺数原因码不编造插值除非有明确业务规则与版本)。
3. **多源之一中断**仅隐藏该源数据或切换至备用源展示**界面须标明当前生效来源**。
### 7.2 用户侧话术(示例,需法务过目)
- **延迟**:「数据来源更新延迟所示价格为最近一次成功同步时间{updated_at}。」
- **维护/中断**:「{来源名称} 数据暂时无法更新正在处理中。」
- **免责声明**:「价格仅供参考以实际交易为准。」(与数据源声明对齐
---
## 8. 上线评审门禁Checklist
- [ ] 2.12.6 合规项已归档
- [ ] 3 SLA 已写入契约或附件
- [ ] `source_code` 已录入维表并与前台展示方案一致
- [ ] 5.15.5 技术项已实现或已排期
- [ ] 6 节告警已接入值班渠道
- [ ] 7 节降级策略与话术已产品/法务确认
**签字角色建议**产品负责人研发负责人运维/ SRE 或等价角色法务或授权审批人视组织要求)。
---
## 9. 修订记录
| 版本 | 日期 | 说明 |
|------|------|------|
| 1.0 | 2026-04-23 | 初稿上线持续采集门禁与运维基线 |