产品数据导出一致性校验解决方案

产品数据导出一致性校验解决方案

需求与背景
背景

当前互联网产品的部分场景通常存在导出功能,而针对于这部分功能通常没有比较理想的校验方案,更多的是以人工、硬编码的方式针对于特殊场景进行临时校验,当数据量偏大例如:1000+条测试数据采用人工的方式进行校验显的极为不合理,而硬编码的方式校验显的极为冗余以及适用性狭窄,所以需要针对于这部分场景给予通用的解决方案

技术调研
  • 大多数产品数据导出都是Excel的方式,所以这里我们需要赋予Excel解析能力

  • 由于需要针对于Excel标题栏进行模板匹配,需要提供标题元数据,这部分元数据可以采用常用类型配置文件进行管理YAMLProperties,这里我们选用YAML,所以我们需要赋予YAML解析能力

  • 针对于数据量校验,我们采用:1、解析导出文件,获取实际数据量 2、拉取DB数据量 3、一致性校验

    • 需要引入的技术:ORM FrmaeworkDB Connector
  • 数据规范校验:由于导出后的实际数据与DB原始数据存在一定程度偏差(中间存在一定量的Hander),所以这部分校验功能我们拆分为两种:强一致性校验、格式匹配性校验

    • 这部分功能由受基础能力支持
校验方案
架构设计
文件名称及格式校验
  • 文件名称采用正则表达式进行匹配
  • 文件类型判断是否为:xlsxlsx

在这里插入图片描述

模板字段校验

在定义元数据的过程中,满足模板字段校验至少需要将这些字段枚举至配置文件中以及给出所在的单元格位置(如果不给出我们默认只能从第一行开始),在校验过程中,我们每次拿出一个枚举值和表格中的标题进行强一致校验,直到所有枚举字段校验完成

例如:

user_data:
	columns:
		- {
    title: '用户名'
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

冰点契约丶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值