Files
cobol-java-v3/benchmark-programs/docs/DATA-FLOW.md
T
NB-076 94400d50d4 feat: add benchmark-programs — 58 telecom COBOL test programs
作为子目录纳入系统,与核心测试管道协同

Co-Authored-By: Claude <noreply@anthropic.com>
2026-06-25 09:53:21 +08:00

10 KiB
Raw Blame History

电信请求书系统 — 数据流

端到端批处理流程

月次请求书发行流程

外部系统(BSS/OCS)
     │
     ▼  CSV格式CDR
┌─────────────────────────────────────────────────────────────┐
│  1. CDR取込                                               │
│  ┌─────────────────┐   ┌─────────────────┐                │
│  │ 15-csv-fb-nolf  │   │ 21-csv-fb-lf    │                │
│  │ 无LF CSV→固定长  │   │ 含LF CSV→固定长 │                │
│  └────────┬────────┘   └────────┬────────┘                │
│           │                     │                         │
│           └──────────┬──────────┘                         │
│                      ▼                                    │
│  2. CDR前処理                                            │
│  ┌─────────────────┐   ┌─────────────────┐                │
│  │ 29 ascii-ebcdic │   │ 35 MERGE        │                │
│  │ 编码转换(主机)   │   │ 多源CDR合并     │                │
│  └────────┬────────┘   └────────┬────────┘                │
│           │                     │                         │
│           └──────────┬──────────┘                         │
│                      ▼                                    │
│  3. CDR校验 & 排序                                       │
│  ┌─────────────────┐   ┌─────────────────┐                │
│  │ 13 字段校验      │   │ 31 重複检测     │                │
│  │ 27 电话号码格式   │   │ 30 状态变化检测  │                │
│  └────────┬────────┘   └────────┬────────┘                │
│           │                     │                         │
│           └──────────┬──────────┘                         │
│                      ▼                                    │
│  4. CDR排序                                              │
│  ┌──────────────────────────────────────────────────┐     │
│  │ 34 SORT CDR按客户/时间排序                       │     │
│  └──────────────────────┬───────────────────────────┘     │
│                         ▼                                 │
│  5. 合同匹配 & 计费                                       │
│  ┌─────────────────┐   ┌─────────────────┐                │
│  │ 02 合同↔CDR(1:N) │   │ 03 线路汇集(N:1)│               │
│  └────────┬────────┘   └────────┬────────┘                │
│           │                     │                         │
│           └──────────┬──────────┘                         │
│                      ▼                                    │
│  ┌─────────────────┐   ┌─────────────────┐                │
│  │ 24 资费表检索    │   │ 25 计费子程序    │               │
│  │ (SEARCH ALL)    │   │ (CALL d×rate)   │               │
│  └────────┬────────┘   └────────┬────────┘                │
│           │                     │                         │
│           └──────────┬──────────┘                         │
│                      ▼                                    │
│  ┌─────────────────┐   ┌─────────────────┐                │
│  │ 05 IF条件判定    │   │ 06 EVALUATE套餐  │               │
│  │ (料金阈值分支)   │   │ (套餐类型判定)   │               │
│  └────────┬────────┘   └────────┬────────┘                │
│           │                     │                         │
│           └──────────┬──────────┘                         │
│                      ▼                                    │
│  6. 费用汇总                                             │
│  ┌─────────────────┐   ┌─────────────────┐                │
│  │ 07 加入者月汇总   │   │ 08 套餐统计      │              │
│  │ (key切 ADD累加)  │   │ (COUNT/MIN/MAX) │               │
│  └────────┬────────┘   └────────┬────────┘                │
│           │                     │                         │
│           └──────────┬──────────┘                         │
│                      ▼                                    │
│  ┌──────────────────────────────────────────────────┐     │
│  │ 32/33 混合处理(1:N+key切)                       │     │
│  └──────────────────────┬───────────────────────────┘     │
│                         ▼                                 │
│  7. 请求书生成 & 输出                                     │
│  ┌─────────────────┐   ┌─────────────────┐                │
│  │ 04 请求书编辑     │   │ 10/11/12 分割   │               │
│  │ (报表/HEADING)   │   │ (50/25/100分割) │               │
│  └────────┬────────┘   └────────┬────────┘                │
│           │                     │                         │
│           └──────────┬──────────┘                         │
│                      ▼                                    │
│  8. 事后处理                                             │
│  ┌─────────────────┐   ┌─────────────────┐                │
│  │ 01 请求书对账    │   │ 09/23/26 DB更新 │               │
│  │ (1:1 Invoice↔Pay)│  │ (客户DB更新检索) │               │
│  └─────────────────┘   └─────────────────┘                │
│                                                           │
│  9. 辅助                                                │
│  ┌─────────────────┐   ┌─────────────────┐                │
│  │ 14 在线照会      │   │ 28 SYSIN参数     │              │
│  │ (CICS模拟)       │   │ (批量参数设定)   │               │
│  └─────────────────┘   └─────────────────┘                │
└─────────────────────────────────────────────────────────────┘
                                                                
                          ▼                                     
                   请求书文件(印刷/PDF/Web)

文件间关联

以下程序直接读取前段程序的输出文件:

程序 输入来源 说明
34-sort ← 15-csv-fb-nolf 或 21-csv-fb-lf CDR排序需要先取込
02-matching-1-N ← 34-sort 合同匹配需要已排序CDR
07-keybreak-summary ← 02-matching-1-N 汇总需要已匹配的合同↔CDR
04-edit-getput ← 07-keybreak-summary 请求书输出需要汇总数据
10-divide-50 ← 04-edit-getput 分割需要已生成的请求书
16-matching-2stage-1-1 ← 01-matching-1-1 中间文件 二级对账
17-matching-2stage-N-1 ← 03-matching-N-1 中间文件 二级聚合
22-matching-2stage-MN ← 18~20 中间文件 二级套餐匹配
32-mix-1N-samekeybreak ← 02-matching-1-N 输出 混合匹配+key切
33-mix-1N-diffkeybreak ← 02-matching-1-N 输出 混合匹配+key切

数据示例

CDR 数据 (CSV)

CDR0000001,8613800138001,8613900999001,20250601083000,000000120,01
CDR0000002,8613800138001,8613700777001,20250601084500,000000045,01
CDR0000003,8613900999001,8613800138001,20250601090000,000000300,02

请求书数据

INV2025001 CUST000001 202506 000050000 0
INV2025002 CUST000002 202506 000120000 1
INV2025003 CUST000003 202506 000030000 2

合同数据

CTR000001 CUST000001 P01 20240101 20261231
CTR000002 CUST000002 P02 20240601 20261231
CTR000003 CUST000003 P03 20250101 20261231