API数据自动入库
原文链接: https://blog.csdn.net/weixin_44723724/article/details/125600165
场景
将不同渠道的api日志入库,方便日后分析和检查系统行为
挑战
- api返回数据格式多样。需要确定以什么样的形式呈现数据,定义表结构.
- json格式的嵌套问题.通过额外定义表进行关联.
- 单表形式
- json字段就是表字段
- 多表详细存储
- 关联字段通过外层表名拼接内层表名
- 解析 json 的时候,需要把关联键和关联键的值传递进去,关联键的值传递的就是外层表当前行数据的 md5 值,这样就生成了多表之间行数据关联的依据
- 单表形式
- 本地多种数据源(不同种数据库).
- 通过md5值解决幂等问题,如果导入同一批数据就只是更新导入时间
代码设计
- 工厂模式 : 适配不同种数据源
- 抽象sql构建模型 : 将构建sql时公共的代码进行抽象,定义抽象类.
- 固定表名
- 列信息
- 关联键
- 数据集合