批文件集成是什么
按周期交换文件是企业间最古老也最稳的集成形态:双方约定目录、命名与格式,通过 SFTP 或对象存储投递数据文件,配合校验文件说明完整性,接收方做幂等装载。它的优化目标是可靠性与可审计性而非时延,因此适合结算对账、批量发薪、监管报送这类允许小时级延迟、但绝不能丢数或重复的业务。
一条文件链路的完整形态
发送方先生成数据文件,再生成含行数、金额合计与哈希值的校验文件,最后投递一个完成标记文件;接收方轮询到标记文件后才开始处理,按批次号幂等入库,处理完毕后按同样机制回传回执。链路上任一步失败都能按文件粒度重跑,重跑不会产生重复数据,人工只需处理回执对账后的差异,这就是批文件模式长期存活的原因。
基本信息
| 传输方式 | SFTP 传文件,或对象存储分片上传配合服务端校验 |
|---|---|
| 完整性 | 随单校验文件(笔数或行数、金额合计、哈希)与完成标记文件 |
| 装载要求 | 按文件号与批次号幂等,失败重跑不产生重复数据 |
| 时间约束 | 约定交换窗口与截止时间,超时未达即触发异常流程 |
| 格式约定 | 字符集、换行符、日期格式与小数精度需在样例文件上对齐 |
断链排查顺序
| 环节 | 检查方法 |
|---|---|
| 投递 | 查看对端目录是否出现完成标记文件,判断是否根本没发出去 |
| 完整性 | 比对校验文件中的笔数与哈希值是否与数据文件一致 |
| 解析 | 字段错位多由分隔符与转义引起,需核对字符集与换行符 |
| 装载 | 查批次号是否已入库,区分重复投递与漏处理两种情况 |
| 回执 | 核对回执记录与本地处理结果,差异转入人工队列 |
典型使用场景
- 与银行、税务、监管机构做周期性对账与数据报送
- 与上下游交换结算明细、库存流水与运单数据
- 大批量历史数据迁移,一次性投递比逐条调用接口更省时
- 对方不具备稳定的实时接口能力,只能提供目录交换
文件命名与投递约定
文件命名与投递约定
ORD_20261013_001.dat # 数据文件:业务_日期_序号
ORD_20261013_001.chk # 校验文件:笔数、金额合计与哈希
ORD_20261013_001.done # 完成标记:对端见到才允许处理
# 装载按批次号幂等:重复投递只覆盖不追加批文件联调的返工多数来自格式约定不清:字符集、换行符、日期格式、金额小数位与空值表示,要在样例文件上逐项确认后再开发。
重跑能力必须提前设计:装载按文件号与批次号幂等、回执按同机制回传,否则一次中断就留下重复或缺失数据,人工修复成本远高于开发投入。