筛选流程的业务场景归纳总结

做了这么多年审计对接,我最大的体会就是:场景决定设计。别一上来就画表结构、定字段,那是本末倒置。你得先搞清楚——你对接的筛选流程,到底在什么业务场景下跑?

说白了,同样的审批逻辑,放在采购入库和放在客户授信里,审计追踪的侧重点完全不一样。我当初刚转岗做审计设计时,就栽过这个跟头。当时拿到需求就开干,结果上线第一周审计日志就被业务方投诉看不懂。后来才明白,场景归纳是地基,地基歪了,后面全白干。

业务场景的全景梳理

从我经手的十几个项目来看,筛选流程的业务场景可以归纳为三大类。我给你列个对照表,你一看就明白。

场景大类 典型业务环节 审计追踪核心
系统对接场景 接口调用、数据同步、消息队列消费 源系统标识、传输完整性、重试与幂等
数据过滤场景 字段清洗、规则匹配、黑白名单 过滤规则版本、原始值与结果值、抛弃原因
业务规则筛选场景 准入判断、额度校验、风控拦截 规则命中顺序、决策路径、人工干预记录

看到没有?场景不同,你记录的重点就不同。你想想看,如果做的是风控拦截场景,却只记录了系统对接的日志——那审计根本查不出这笔订单为什么被拒。这就是场景总结的意义。

核心业务场景深度剖析

下面我把每个场景拆开讲。我记得在给某银行做对接时,光系统对接场景就踩了三个坑,一个个说来。

场景一:系统对接筛选

这个场景最容易被低估。很多人觉得,不就是接口调来调去嘛,有什么好记的?错。

  • 接口来源必须可溯:是A系统推过来的,还是B网关转发的?要记录请求头里的X-Request-ID。
  • 数据行级标识:单条数据必须携带业务主键(比如order_no),不然对不上账。
  • 重试与去重日志:我曾经遇过一个系统,因为网络抖动,同一批订单发了两遍。没有去重日志,审计根本说不清是重复还是真实业务。

经典踩坑现场

我曾经接手过一个对接项目,上游系统发数据不排队,并发一高就乱序。审计日志记录的“接收时间”全是下游入库时间,跟业务发生时间差了三个小时。后面排查了整整两周,才把问题定位到。所以现在我对这种场景有执念——来源时间戳和接收时间戳必须分开记。

数据过滤场景,说白了就是“筛子”。

场景二:数据过滤筛选

  • 规则快照:不能光记录“通过了”,你得记“当时用的是哪一版规则”。规则一更新,历史记录就必须有快照。
  • 抛弃原因枚举化:不要记“被拒绝”,要记“拒绝原因代码:R003(手机号段不匹配)”。
  • 链式过滤路径:数据经过了几道筛?我建议记录每一步的过滤状态。比如:
    # 某条记录的过滤路径日志
    [2025-02-20 10:30:01] 规则组A: 通过
    [2025-02-20 10:30:02] 规则组B: 黑名单匹配 -> 拦截
    [2025-02-20 10:30:03] 人工白名单覆盖 -> 强制通过
    最终状态: 通过(人工干预)

这个场景我习惯用“流水账+状态机”的模式来审计。你想想看,如果一笔订单被过滤掉了,审计想要查“为什么被拦”、“是哪个规则拦的”、“当时规则有没有刚更新”——信息全在日志中,才能自证清白。

业务规则筛选场景,是复杂度最高的。我建议你把它当决策树来看。

我的个人习惯

处理这种场景时,我会额外记录“命中的规则ID列表”和“跳过规则ID列表”。别怕数据量大,审计场景下,数据多了可以归档,少了就是永久缺失。

审计追踪设计策略

归纳完场景,我们来聊设计策略。这里我提三个原则,都是项目实战后总结出来的。

  1. 一分一合原则:分场景记录原始数据,合场景输出审计视图。不要把对接日志和业务筛选日志混着写,后面查起来会疯。
  2. 关键字段三层捕获法:
    • 第一层:系统时间戳、请求ID、来源应用
    • 第二层:筛选规则快照、计算参数
    • 第三层:最终决策结果、人工干预记录
  3. 事件溯源式存储:只追加,不修改。不要用UPDATE,只用INSERT。一旦修改了历史记录,审计要么重做,要么报废。

下面我画了一张图,把整个流程的逻辑闭环展示给你。

筛选流程业务场景审计追踪核心逻辑 业务事件到达 场景归类判断 系统对接场景 来源/重试/去重 数据过滤场景 规则快照/抛弃原因 业务规则筛选场景 决策路径/人工干预 审计追踪日志中心 可自证清白

关于这张图我想多说两句

你看,业务事件进来,第一步不是直接记日志,而是做场景归类。归类完,每个分支都有自己独特的审计逻辑。最后再统一汇到日志中心。这个结构我用了很多项目,每次都能跟业务方快速对齐。

避坑指南

最后,我把这几个场景里最容易踩的坑列出来,每个都是我亲自摔过的。

  • 场景归类遗漏:曾经有一个项目,把系统对接和业务规则筛选写进了同一个日志表。结果数据量一大,查询性能崩了,审计报告都导不出来。
  • 忽视规则版本:我曾经见过一个项目,过滤规则每个月都更新,但日志里从来不记版本号。半年后被合规审计追责,谁也解释不清某笔订单用的是哪版规则。
  • 人工干预无痕:最致命的坑。业务人员手工改了筛选结果,系统没有留下任何记录。审计一看:“操作记录呢?” 答不上来。我的建议是:人工干预必须单独记一条日志,且不能修改或删除。

嗯,场景归纳这块,你先把这三种场景吃透。后面再讲具体的追踪字段设计时,你就知道哪些该记、哪些不该记了。