数据不一致问题排查1

新接手的一个项目,主要做统计分析,数据来源于另外一个系统,我们系统的数据与对方系统的数据不一致,所以统计结果不准确,客户对此有很大意见。我接手这项目之前的项目团队检查了好几个月,仍未解决该问题,随即领导就把这个任务交给我去解决。
我首先画了个思维导图,简单梳理一般数据不一致常见的原因。
数据不一致问题排查1_第1张图片

一、采集数据问题
1、采集的类型少导致漏采了一部分数据。
2、采集范围问题,对方有些字段不是必填项,但我们筛选特定字段导致漏采数据。
3、采集频率问题,采集时间间隔长,期间有数据变动,年报数据基本上不是这个原因导致数据不一致。
4、更新机制问题,新增的合同采集过来了。但修改的合同,未采集或按照新增的合同采集过来,在对方系统中删除的合同,我们中并没有同步删除
二、存储数据问题
1、自己编辑产生了一些重复的垃圾数据,导致数据不准。通过数据量大小比对。
2、数据展示的SQL撰写有问题,可能是撰写思路不对,撰写错误。
后面我经过验证后,果然不是这些简单的原因导致的,数据字段差异和数据量差异没办法通过这些思路排查出来。随即又画了个思维导图,往深一层思考。
数据不一致问题排查1_第2张图片

一、对方同步给我们的数据有问题
1、对方系统同步给我们的数据是几张表拼接的,拼接的唯一标识并不是唯一的(编码、名称、编号等不唯一)。导致不同的时间点同步的同一个合同的数据内容不同。
2、对方系统程序逻辑处理有问题,产生新数据后,却没更新对应的归属字段(如最后更新时间未更新。注:最后发现果然是这个原因。)
二、同步策略失败
1、同步失败,如何触发再次同步数据
2、同步失败的原因,接口异常、超时、数据未触发同步。
三、解决思路
1、验证目前与对方系统存在的差异,并分析可能产生的原因。开展分析,选择某一些小类,全量查询相关数据,并与对方系统一一核对。
2、让对方系统去调整。对方系统调整后,验证之前的数据,并通过同样的方法获取新的数据,看是否存在类似的问题。
3、组建沟通群,把双方公司专家拉到一个群里,每天在专家群里同步下自己方的进度,并让对方也反馈进度及计划。
具体5月8日正式开始验证问题,首先通过选取选取某一小类,比对双方数据差异,数据量差异先不考虑,先解决数据字段差异。以对方的数据为基准,通过vlookup代入自己数据库中查到的数据,查看是否还存在数据量的差异。数据项的差异,登录对方系统查看这条数据我方最后更新时间在对方系统属于什么状态,通过比对发现驳回补正后,对方系统并未把重新提交之后的动态更新同步给我们,信息及更新时间停滞在驳回的状态及时间上,随即写邮件建议对方系统检查驳回补正流程。(并发送问题截图)。注:这可能是造成数据不一致的其中一个原因,还需要继续排查是否存在其他原因。
跟对方多次沟通后,梳理数据同步机制,发现对方存在两种同步机制,一种是实时变更获取,通过最后更新时间触发。另外一种是广播形式,对方系统某几个字段变更时,会主动对外分发。(注:此处就能解决我方系统与对方数据字段由于最后更新时间未更新,而产生的数据不一致的问题)。
跟内部的研发讨论后,觉得这个接口确实能够解决该问题,随即又拉上对方产品和研发一起开会讨论,最终决定在原有接口触发基础上,再添加一个广播接口接收数据。另外让对方提取全量数据的流水号,我们这边比对差异,分析差异产生的原因。之前发现有一部分数据是我们系统与对方UAT环境接口测试时,从对方UAT环境获取了一批数据。其它数据需要根据差异进行排查。
如果想继续了解数据不一致性问题排查2,欢迎关注我的微信公众号:项目管理的一些事。
数据不一致问题排查1_第3张图片

你可能感兴趣的:(项目管理的一些事,项目管理,工作常用)