接收处理文件
文件交互
-
从上游服务器拉取文件
接口检查第三方服务器目录是否存在文件
通知中间业务平台下载文件
中间业务通过文服推送文件给拉取文件系统 -
上游系统推送文件给下游系统
通过文服推送给目标系统
文件检查和下载
-
检查第三方文件路径/文件名称/文件格式是否正确
-
批次检查第三方目录是否存在文件时要设置合理的等待时间,不可以查不到文件时立即断批或忽略掉
不存在则重复检索X次后跳过,如文件重要需要断批则要通知业务相关人员处理,第N次检索存在则继续处理文件 -
如下载文件失败或者不全,批次不会立即中断,而是要继续下载文件
-
数据文件下载成功后,要有结束标志文件
-
文件下载到本地后的检查
文件存放路径、名称、文件格式正确,目录赋权要正确(文件名非法、合法字符校验) -
检查文件存放路径、名称、编码格式
文件目录+文件名称不要太长,超长(100字符)后文服推送会失败 -
下载文件需要确认文件内容是否正确
-
接收上游推送的文件要检查本地服务器文件存放路径、名称、编码格式
文件内容异常
-
总分文件的数据量不一致,应有记录或提示,如涉及重要账务文件可设置批次中断短信提醒业务人员,人工介入处理
-
字段异常报错,跳过处理下一笔,或记录该笔异常数据后续处理
-
上线后第一个工作日,考虑空文件内容/无文件场景
-
文件中存在空行
首行、第一条数据行、中间行、最后一行 -
文件中存在空字段
首行、中间行、最后一行,同字段不同位置 -
文件中存在重复数据
-
文件数据量时1000的整数倍
-
文件数据量非1000的整数倍
-
系统批次容错性验证
如有异常数据批次能够完成对正常数据处理,对异常数据记录批次后有业务人员处理 -
文件内容格式错误导致数据落地时批次中断,删除文件错误信息后,可继续落地
文件落地
-
文件数据内容落地的正确性,各字段最大长度落地,文件与数据库表的数据量、字段值一致
-
文件大小的边界值验证
-
文件内容各字段落地时边界值检查
-
文件数据字段的类型转换,尤其是金额和利率的转换
-
第三方的数据库与我行数据库中文字段长度的一致性
数据库不一致,mysql5.0以上版本varchar/char(n),n代表字符,其他数据库n代表字节,一个字符可以存储一个汉字,2-3字节可存储一个汉字 -
全量入库:先删除后导入
-
增量入库:保留存量,数据累加
-
大数据量文件落地正常
文件对账
-
文件内数据对账时全部数据落地检查,初始化对账状态正确,对账成功、失败数据状态更新正确
-
异常数据的对账处理,记录对账差异,根据异常情况决定对账失败还是生成差异后继续对账
-
重复数据的对账处理,记录对账差异,根据异常情况决定对账失败还是生成差异后继续对账
-
重复运行对账批次后对账结果是否正确
-
对账批次断点发起后能否重新对账
-
不记账的能否对账成功
-
单边流水对账后要生成差异记录
-
对账不平数据可设置手工勾兑功能
-
对账程序修改时,要考虑历史对账的处理,程序包含或历史数据脚本初始化处理
-
大数据量的对账成功处理
生成文件
-
生成文件格式、文件大小、文件名称、存放服务器路径、文件目录深度正确
-
按业务规则生成文件的数据量正确,各字段取值正确
-
生成文件数据覆盖各关键字段的全部枚举值
-
汇总字段与明细累加一致
-
各字段是否存在超长、类型与表结构不符、为空
-
如数据量大需要生成多个相同类型文件时,各文件名称、文件内容正确,没有重复数据生成
-
针对允许同名上传的系统,短时间内上传同名文件,检查外围系统是否处理异常
-
生成或推送文件失败,重新起批后生成推送文件正常
-
推送给下游文件路径正确,下游系统解析文件成功
-
重复推送文件时,下游能否成功处理
-
生成空文件,批次运行正常,下游可处理空文件
-
文件下载时文件名:各种字符串是否支持
-
文件格式:下载/导出文件格式是否正确
-
文件会下载大数据量时消耗内存验证
-
多用户同时下载同一大文件所以消耗内存检查
文件清理
本地服务器文件的定时清理机制