能严格对账的对账数据,
将数据分类:
步骤对账数据预处理
严格条件对账的集合数据存放,可以存放在内存,也可以放在redis,或者是其他可以提供集合运算的中间件内,建议存放在redis中
涉及对账的集合运算基本上就是差集为单边,交集为平账,需要注意单边方向。
例两个文件的数据按照唯一流水号对账,由于流水号有唯一性,条件设置简单,在进行此条件对账时
步骤对账
特殊数据处理,关键对账字段缺失的数据一般需要按照业务功能要求另行处理。
建议增加冗余条件对账,比如增加卡号,金额等字段,关键字段数据拼成字符串,置于集合中对账备用
例两个文件的数据按照交易日期,卡号,金额,该中条件数据常常因为数据关键字相同,导致存在多对多的情况,此种数据可以直接入库
非严格条件对账对账时
碰到大交易量数据对账,通常是两种对账思路结合起来,在数据入库是按照流水号,或者其他字段将交易均匀分布切片,然后进行严格条件对账,尽量减少非严格条件对账的数据。
通常数据是以文件方式提供给对账系统,不太建议通过接口,或者kafka等异步队列接收,不可靠
关键字段提取,数据库表设计必须要包含关键对账字段。
不能严格对账的对账数据
步骤结果导出
数据分区,尽量避免对所有数据进行一次行对账,应该在数据读取时就按照统一规则将数据进行分区,
可以按照比较简单的思路,查出数据后一条一条对账,并更新结果,
也可以在步骤一入库时直接做好标记,关键字段相同的数据在入库完成后,统计并增加序列号。使用类似于严格对账条件的方法。
步骤数据解析,数据文件读取需要注意
文章为作者独立观点,不代表观点