返回全部项目
INDEPENDENT BUILD/ 2023

金融数据管道

解析多源 CSV,校验字段和金额,隔离问题行后生成标准输出

RESULT / FIXED SAMPLE / 2026-07-17
可以装载

2 行混合格式 CSV

2/2 行通过质量门,日期、金额和币种共修复 4 个单元格;无错误、无隔离行。

建议决策

输出可重复生成的清洁 CSV,并标记为可装载。

接受行
2/2

100% 清洁

单元格修复
4

保留逐格血缘

隔离行
0

无静默丢弃

数据质量维度通过率
完整性100%
有效性100%
唯一性100%
确定性导出PASS

结果边界在内存中处理有界 CSV 文本,不持久化输入数据。

LIVE RUN / COMPLETE FLOWRUN / baselineDOES NOT WRITE TO EXTERNAL SYSTEMS

每一行如何被规范化、隔离或接受,目标库为什么仍未连接?

页面先自动运行基准样本;也可以在下方编辑完整输入或执行项目专属压力场景。状态、指标、视觉和回执都来自当前 API 输出。

当前引擎状态

可以装载

loadingcritical riskrate/
输入行
校验中

内存 CSV

output.stats.rowsIn
接受行
校验中

仅生成 cleaned CSV

output.stats.rowsOut
隔离行
校验中

Fail-closed

output.stats.quarantined
单元格修复
校验中

可追溯 diff

output.stats.cellsChanged
RESULT VISUAL

行级处置传送带

verified fixed sample / timeline
  1. 01输入行校验中
  2. 02接受行校验中
  3. 03隔离行校验中
  4. 04单元格修复校验中
LATEST RUN

业务决策、执行健康与发布回执

执行检查通过,只表示输出有效、未超预算且可以重放;是否发布仍由业务状态和发布检查决定。

正在加载合同并执行固定样本;超时会自动取消且不会产生外部副作用。
EDIT INPUT / RUN AGAIN

换一组输入,重新运行项目引擎

基准输入和压力输入都提交给同一版本 API。压力输入用于触发项目特定的拒绝、降级或复核规则,结果可以重复运行。

编辑完整 JSON 输入
REVIEW QUEUE / READ ONLY

下一步不是一个按钮

  1. P0
    EXECUTED
    可以装载

    输出可重复生成的清洁 CSV,并标记为可装载。

    负责人 / 数据平台主管 / 财务数据工程师

  2. P1
    CONTROL
    FD-Q01

    隔离来源

    负责人 / 金融公共数据平台主管

  3. P1
    DRILL
    上游 schema 破坏

    隔离新批次,旧版继续

    负责人 / 平台 SRE / 安全

DATA SOURCES / THIS RUN

公开预览与本次运行分轨

  1. SOURCE 01disconnected preview

    ECB Data Portal EXR exchange rates

    findata.ecb_exr.raw.v1
  2. SOURCE 02disconnected preview

    Debt to the Penny API

    findata.treasury_debt.raw.v1
  3. VALUES RETURNED BY THE ENGINE

    2 行混合格式 CSV

    本次计算只使用上方标明的数据版本;公开来源目前仅提供预览,尚未接入引擎。

FAILURE TEST / DESIGN ONLY

故障必须有检测和恢复路径

症状
字段顺序或类型变化
检测
contract registry 和 parser errors
隔离
隔离新批次,旧版继续
恢复
owner 批准迁移后重放
SYSTEM / FROM INPUT TO DECISION

信息从哪里来、怎样处理、何时调用工具,以及谁负责最后确认。

内存 CSV 解析、规范化、验证、隔离和可追溯导出。

AI 能力边界
不是 AI 模型,也不是持久化生产管道;ECB/Treasury 公开数据尚无 source adapter。
人工责任
数据负责人复核隔离行后决定装载;可装载状态(ready-for-load)不会自动写入数据库。
01 / EXECUTED TRACE

信息处理顺序

source → context → intelligence → harness → decision → feedback
  1. 01
    信息进入

    读取最多 32KB 的 CSV 文本。

    输入
    FinDataPipelineInput
    输出
    parsed cells
    • bounded CSV parser
    • fixed schema
    转换控制

    列名、宽度和必填列先校验。

  2. 02
    上下文构造

    全角转半角,统一空值、日期、金额和 OCR 字符。

    输入
    parsed cells
    输出
    normalized rows
    • normalization
    • calendar validation
    转换控制

    真实日历与有限数字 fail closed。

  3. 03
    模型处理

    按 ref_id 去重并将问题分类到 accepted/quarantine。

    输入
    normalized rows
    输出
    rows + quarantined
    • schema rules
    • dedupe
    转换控制

    错误行不会混入 accepted。

  4. 04
    运行约束

    生成逐行/逐单元 lineage 并执行 load gate。

    输入
    classified rows
    输出
    lineage + gate
    • lineage
    • fail-closed split
    转换控制

    quarantine 存在时决定 quarantine-errors。

  5. 05
    决策产物

    输出 cleaned CSV 与 ready-for-load/quarantine-errors。

    输入
    gate
    输出
    cleanedCsv + stats
    • deterministic export
    • quality decision
    转换控制

    ready 不代表已写入目标库。

  6. 06
    反馈回路

    暴露 cellsChanged、duplicatesRemoved、issues 和 lineage。

    输入
    pipeline output
    输出
    quality receipt
    • change telemetry
    • issue catalog
    转换控制

    当前无持久 DLQ 或重放 worker。

IMPLEMENTATION DETAILS / OPTIONAL

展开 8 个运行步骤、API 边界与实现状态

02 / RUNTIME CHECKS

运行时怎样限制模型和工具

运行图同时列出状态、预算、权限、失败处理、评测和人工审批。

编排H01
parse → normalize → validate → dedupe → quarantine → export。
可检查证据runPipeline + runFinDataPipeline
状态与记忆H02
全部状态仅存在一次请求内;lineage 保留 source/output row。
可检查证据lineage
预算H03
CSV 32KB、固定列集和 API 150ms 执行预算。
可检查证据contracts + production profile
权限H04
只返回 cleanedCsv,不连接目标数据库。
可检查证据sideEffects=none
护栏H05
schema、日期、金额、必填、去重和公式转义联动。
可检查证据issues + security
失败与恢复H06
问题行进入 quarantine;不以部分成功冒充完整装载。
可检查证据quarantined + gate
评测H07
accepted/quarantined/changed/duplicate 计数可复算。
可检查证据stats
最终权限H08
数据负责人决定修复、重放和正式装载。
可检查证据ready-for-load
03 / API EXECUTION ENVELOPE

所有项目共享的运行边界

POST /api/labs/fin-data-pipeline

这里说明 API 当前做到哪一步。页面演示可以观察底层函数,但不等同于已接入真实业务数据或外部写入。

运行姿态
DETERMINISTIC SANDBOX

18 个 API 引擎只读取请求并返回结果,不写入外部系统。当前未接入登录、审计数据库或线上业务数据。

入口契约
STRICT ZOD + 32KB

API 输入先经过严格 schema/default 标准化;HTTP JSON 请求上限 32KB。

执行预算
100–150MS / 256KB

每个项目单独设置耗时预算和 256KB 输出上限;超时会标记降级,非有限数和超大输出会被阻断。

回执与重放
CONTENT-ADDRESSED

回执包含输入/输出/idempotency hash、耗时和质量;尚无持久幂等存储或重复请求短路。

流量与身份
100/MIN / NO AUTH

当前使用进程内 IP 限流和公开 CORS;尚无登录、租户、角色或复核人身份。

页面与 API
TWO EXECUTION SURFACES

站内 Demo 多为底层引擎的直接交互;/api/labs 才增加完整输入校验、通用质量门与执行回执。

公开数据
LIVE PREVIEW / DISCONNECTED

页面可以预览官方端点的数据,但这些数据尚未保存、统一字段或通过质量校验,也不会送入项目引擎。

上线阻塞
OWNER + AUDIT + DATA + OPS

上线前还需要负责人签字、持久审计、全局限流、代表性数据验证、值班安排和回滚演练。

04 / IMPLEMENTATION STATUS

用了什么、解决什么、现在能否运行

每一项都写明它在当前引擎中的作用,以及属于实际执行、固定样本还是待实现设计。

当前项目技术证据矩阵
技术系统作用当前证据姿态
Bounded CSV parserData规范化输入并生成可追溯的数据产物。手写状态机支持引号和换行。当前执行
Unicode / OCR normalizationData规范化输入并生成可追溯的数据产物。全角、空值和常见 OCR 金额字符被规范。当前执行
Schema validationControl限制权限、风险、发布或人工责任。固定 date/counterparty/amount/currency/ref_id 契约。当前执行
Calendar and numeric validationControl限制权限、风险、发布或人工责任。非法日期和非有限金额隔离。当前执行
Deterministic dedupeData规范化输入并生成可追溯的数据产物。ref_id 决定重复行。当前执行
Cell / row lineageObservability暴露版本、轨迹、原因和可复现证据。sourceRow、outputRow、refId 和 status 可见。当前执行
Spreadsheet formula escapingControl限制权限、风险、发布或人工责任。导出前转义公式前缀。当前执行
Quarantine gateAgent / Harness编排步骤、工具、状态和退出条件。accepted 与 error rows 强制分流。当前执行
DIRECT ENGINE / OPTIONAL

检查底层函数,而不是重复主控制台。

完整 API 工作台已在上方;这里保留直接函数交互用于调试。

RUN THE ENGINE

直接观察项目的本地引擎。

页面 Demo 侧重底层函数交互;完整 /api/labs 包装另含严格输入校验、通用质量门和执行回执。

这是站内运行的工程沙箱:使用公开或合成样本执行真实算法;存在公开仓库时可继续查看源码。

RUNfin-data-pipeline · 清洗 / 校验(可编辑)
7
输入
2
输出
1
去重
13
规范化
8
错误
日期对手方金额币种流水号
2023-05-01某某贸易1200CNYTX001
2023-05-06Trailing Co1500CNYTX006
修正1·date规范化:「2023/05/01」→「2023-05-01」
修正1·counterparty规范化:「某某贸易」→「某某贸易」
修正1·amount规范化:「¥1200.00」→「1200」
修正1·currency规范化:「cny」→「CNY」
修正2·date规范化:「2023.5.2」→「2023-05-02」
错误2·amount无法解析金额 ¥2,400
21
CASE DETAILS / OPTIONAL

继续查看项目背景、架构和交付记录。

详细案例仍完整保留,但不再与运行结果争夺注意力。

职责
独立数据工程重建
年份
2023
交付方式
独立实现
运行定位
独立设计 / 可运行沙箱
CASE / 01

项目概述

一个可在浏览器和 API 中复现的金融 CSV 清洗管道:统一日期、金额、币种与空值,删除重复流水,并把解析错误行隔离后导出清洁 CSV。公开构建只处理有界内存输入,不冒充生产 ETL。

CASE / 02

问题

P01

日期、金额、币种与空值格式不一,人工清洗难以复现。

P02

重复流水与必填字段错误需要在装载前明确隔离,而不是静默吞掉。

CASE / 03

架构与流程

architecture.diagram
STEP 01
解析

读取有界 CSV 文本与表头

STEP 02
规范化

日期、金额、文本与币种

STEP 03
校验

必填字段与解析错误

STEP 04
去重

按流水号移除重复记录

STEP 05
导出

输出清洁 CSV 与问题清单

CASE / 04

核心功能

VIEW 01

全角字符处理

全角数字与标点转为标准格式。

VIEW 02

变更追踪

逐单元格记录规范化位置。

VIEW 03

错误隔离

只要存在错误行,批次就不能进入可装载状态。

VIEW 04

确定性导出

同一输入产生可复现 CSV。

CASE / 05

沙箱验证证据

7
示例输入行

覆盖日期、金额、空值与重复场景。

1
重复流水

示例运行中被确定性移除。

32KiB
API 输入上限

超限请求失败关闭。

CASE / 06

使用的技术

TypeScriptCSVSchema ValidationDeduplicationQuarantine GateVitest
IMPLEMENTATION DETAILS / OPTIONAL

展开数据、管道与生产控制。

SLO、权限、灰度、数据来源与故障恢复作为工程附录保留。

IMPLEMENTATION DETAILS

数据、管道与生产控制。

以下保留数据来源、运行限制和工程实现,不占用项目首屏。

DELIVERY / RESPONSIBILITIES·CRITICAL RISK

金融数据接入、质量与交付平台

让每一行数据有 schema、血缘、隔离和可重放的交付结果。

RESPONSIBLE ROLE

数据平台主管 / 财务数据工程师

PIPELINE
5 STAGES
CONTRACTS
5 SPECS
QUALITY
4 RULES
PUBLIC DATA
2 FEEDS
架构和运行目标;容量与 SLO 是设计指标,不是线上实绩
日接入量
TARGET
5 TB/day

批流统一

行处理峰值
TARGET
50k/s

背压和分区

死信保留
TARGET
30 days

可检索重放

沙箱 CSV
MEASURED
3 rows

引号、非法日期、公式防护

WORKFLOW

从接入到签署的责任链

  1. 01

    文件登记

    数据接入

    来源、checksum 和 schema

  2. 02

    解析规范化

    处理集群

    RFC CSV、单位和日期

  3. 03

    质量校验

    数据质量

    完整性、唯一性和有效性

  4. 04

    隔离与修复

    数据运营

    原因码、owner 和重放

  5. 05

    事务交付

    目标端

    exactly-once 和对账

TOPOLOGY

可替换服务与控制边界

EDGE
ingest-registry

文件、来源和 checksum

SERVICE
parser-workers

有界解析和规范化

CONTROL
quality-engine

规则、维度和阈值

STORE
dead-letter-store

原始行、原因和重放

STORE
delivery-outbox

事务交付和对账

下一个项目

高校数据看板