系统间文本数据交互规范
1.上游系统供数增变量标准要求
上游系统设计时,应充分考虑系统的增变量标识(时间戳),在大数据量情况下,尽量采用增量、增变量方式下发数据以减少数据量的传输。
以下对三种方式应用的场景和ODS入数方式进行说明。
1)增量
应用场景:流水类表,数据产生后不会被修改,同时存在增量条件字段,如日期。
2)全量
应用场景:参数类表。
3)增变量
应用场景:客户类表、账户类表等,按照主键进行更新,并记录账户的变化情况。
【注意:】修改数据表记录的时落时间戳,便于将该记录导出下发给下游。
2.系统数据核对标准
具有账务管理功能的系统供数时应提供明确的核对口径,确保账务核对平。ODS依据该口径进行数据质量检查,跟踪。
3.上游系统供数格式标准说明
如上游系统采用与ODS间采用文本方式交互,应通过通用文件传输平台。上游系统卸数成文本需要符合一定的标准。
a)数据包命名格式
【非AIX系统】数据包文件名称:【系统简称_两位序号_日期.tar.gz】
【AIX系统】数据包文件名称:【系统简称_两位序号_日期.tar.Z】
b)信号量命名格式(ok文件)
【数据包名.OK】,即【系统简称_两位序号_日期.tar.gz/Z.OK】(通用文件平台规定,主要OK要大写)。发送消息或者OK文件,需要保证包已生成完毕无误,避免通用文件平台传输时文件包不完整,下游无法解析装载入库。
建议OK文件中存放上游提供数据文件的记录数,以便下游装载时进行校验。
c)包内文件格式要求
文件命名格式:数据表名_日期.txt
1)分隔符建议采用|+|
2)数据包内各txt文件直接压缩打包,避免包内增加子目录。
3)日期皆为跑批日期,即交易日期
4)ORACLE数据库导出字符集格式
Export NLS_LANG=american_america.zhs16gbk,考虑到现在大部分数据库都是gbk的
5)存储大量空格的字段
数据导出时进行trim处理
6)回车符,换行符等特殊字符
考虑到导出时会造成同一条记录折成2行,从而导致数据入库失败或者丢失数据,对一些存在回车符,换行符的字段,数据导出时进行处理转换掉,比如replace(replace(字段,chr(10)),chr(13))。
7)若当天没有数据产生时,提供空文件。
【建议】为避免下发的文本中出现换行符或者空格符等情况,上游系统可以采取两种方式优化:
1)上游系统在卸数时,过滤换行符、空格符等特殊字符
2)上游系统在录入数据时,增加验证环节,避免用户输入换行符等特殊字符。
4.系统添加表结构提前通知相关下游
提前一周通知,考虑到需要修改表结构,程序,进行相关测试分析,以及通知其他下游系统,以及连调测试
因篇幅问题不能全部显示,请点此查看更多更全内容