求解答,给个思路吧(哭泣)
1.数据对账规则生成
背景信息:
如电商购物过程中,某用户下了一笔订单,那么在整个业务操作中,会先后在不同系统的订单表、支付表、清算表中存储数据信息,为保证这些数据在不同系统的流转过程中都正确(比如单号、买家、卖家uid、订单金额、状态、币种等),需在不同的表中,校验这些字段的值是否一致。
如对上述场景,用户的完成了一次交易,则应该检验:
order表的order_amount 字段值 == pay表的pay_amount字段值;
pay表的pay_amount字段值 == settlement表的pay_amount字段值;
order表的seller_uid字段值 == pay表的seller_uid字段值;
pay表的pay_no字段值 == settlement表的pay_no字段值;
若以上校验都通过,则说明信息流在整个业务流转过程中正常,若校验不通过,则大概率说明某个系统的信息流转有问题,导致了信息不一致;
前提:
1)存在n条已经存在关系的表链,长度从2到m;
2)表字段之间的关系包括==,!=,>, <, 等,可能存在A表a字段经过简单的计算后与B表中的b字段产生一致性关系;
3)有历史存量表数据可供使用;
问题:
1)如何能在存量链找到哪些字段存在关联关系,有哪些关系;
2)如何针对新增表找到与原有链中的表字段有哪些关系;
并基于表字段之间的关系,生成一致性校验规则;