您的当前位置:首页系统间文本数据交互规范

系统间文本数据交互规范

2022-04-30 来源:乌哈旅游


系统间文本数据交互规范

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.系统添加表结构提前通知相关下游

提前一周通知,考虑到需要修改表结构,程序,进行相关测试分析,以及通知其他下游系统,以及连调测试

因篇幅问题不能全部显示,请点此查看更多更全内容