数据不一致问题排查1
新接手的一個項目,主要做統(tǒng)計分析,數(shù)據(jù)來源于另外一個系統(tǒng),我們系統(tǒng)的數(shù)據(jù)與對方系統(tǒng)的數(shù)據(jù)不一致,所以統(tǒng)計結(jié)果不準(zhǔn)確,客戶對此有很大意見。我接手這項目之前的項目團(tuán)隊檢查了好幾個月,仍未解決該問題,隨即領(lǐng)導(dǎo)就把這個任務(wù)交給我去解決。
我首先畫了個思維導(dǎo)圖,簡單梳理一般數(shù)據(jù)不一致常見的原因。
一、采集數(shù)據(jù)問題
1、采集的類型少導(dǎo)致漏采了一部分?jǐn)?shù)據(jù)。
2、采集范圍問題,對方有些字段不是必填項,但我們篩選特定字段導(dǎo)致漏采數(shù)據(jù)。
3、采集頻率問題,采集時間間隔長,期間有數(shù)據(jù)變動,年報數(shù)據(jù)基本上不是這個原因?qū)е聰?shù)據(jù)不一致。
4、更新機(jī)制問題,新增的合同采集過來了。但修改的合同,未采集或按照新增的合同采集過來,在對方系統(tǒng)中刪除的合同,我們中并沒有同步刪除
二、存儲數(shù)據(jù)問題
1、自己編輯產(chǎn)生了一些重復(fù)的垃圾數(shù)據(jù),導(dǎo)致數(shù)據(jù)不準(zhǔn)。通過數(shù)據(jù)量大小比對。
2、數(shù)據(jù)展示的SQL撰寫有問題,可能是撰寫思路不對,撰寫錯誤。
后面我經(jīng)過驗證后,果然不是這些簡單的原因?qū)е碌?#xff0c;數(shù)據(jù)字段差異和數(shù)據(jù)量差異沒辦法通過這些思路排查出來。隨即又畫了個思維導(dǎo)圖,往深一層思考。
一、對方同步給我們的數(shù)據(jù)有問題
1、對方系統(tǒng)同步給我們的數(shù)據(jù)是幾張表拼接的,拼接的唯一標(biāo)識并不是唯一的(編碼、名稱、編號等不唯一)。導(dǎo)致不同的時間點(diǎn)同步的同一個合同的數(shù)據(jù)內(nèi)容不同。
2、對方系統(tǒng)程序邏輯處理有問題,產(chǎn)生新數(shù)據(jù)后,卻沒更新對應(yīng)的歸屬字段(如最后更新時間未更新。注:最后發(fā)現(xiàn)果然是這個原因。)
二、同步策略失敗
1、同步失敗,如何觸發(fā)再次同步數(shù)據(jù)
2、同步失敗的原因,接口異常、超時、數(shù)據(jù)未觸發(fā)同步。
三、解決思路
1、驗證目前與對方系統(tǒng)存在的差異,并分析可能產(chǎn)生的原因。開展分析,選擇某一些小類,全量查詢相關(guān)數(shù)據(jù),并與對方系統(tǒng)一一核對。
2、讓對方系統(tǒng)去調(diào)整。對方系統(tǒng)調(diào)整后,驗證之前的數(shù)據(jù),并通過同樣的方法獲取新的數(shù)據(jù),看是否存在類似的問題。
3、組建溝通群,把雙方公司專家拉到一個群里,每天在專家群里同步下自己方的進(jìn)度,并讓對方也反饋進(jìn)度及計劃。
具體5月8日正式開始驗證問題,首先通過選取選取某一小類,比對雙方數(shù)據(jù)差異,數(shù)據(jù)量差異先不考慮,先解決數(shù)據(jù)字段差異。以對方的數(shù)據(jù)為基準(zhǔn),通過vlookup代入自己數(shù)據(jù)庫中查到的數(shù)據(jù),查看是否還存在數(shù)據(jù)量的差異。數(shù)據(jù)項的差異,登錄對方系統(tǒng)查看這條數(shù)據(jù)我方最后更新時間在對方系統(tǒng)屬于什么狀態(tài),通過比對發(fā)現(xiàn)駁回補(bǔ)正后,對方系統(tǒng)并未把重新提交之后的動態(tài)更新同步給我們,信息及更新時間停滯在駁回的狀態(tài)及時間上,隨即寫郵件建議對方系統(tǒng)檢查駁回補(bǔ)正流程。(并發(fā)送問題截圖)。注:這可能是造成數(shù)據(jù)不一致的其中一個原因,還需要繼續(xù)排查是否存在其他原因。
跟對方多次溝通后,梳理數(shù)據(jù)同步機(jī)制,發(fā)現(xiàn)對方存在兩種同步機(jī)制,一種是實(shí)時變更獲取,通過最后更新時間觸發(fā)。另外一種是廣播形式,對方系統(tǒng)某幾個字段變更時,會主動對外分發(fā)。(注:此處就能解決我方系統(tǒng)與對方數(shù)據(jù)字段由于最后更新時間未更新,而產(chǎn)生的數(shù)據(jù)不一致的問題)。
跟內(nèi)部的研發(fā)討論后,覺得這個接口確實(shí)能夠解決該問題,隨即又拉上對方產(chǎn)品和研發(fā)一起開會討論,最終決定在原有接口觸發(fā)基礎(chǔ)上,再添加一個廣播接口接收數(shù)據(jù)。另外讓對方提取全量數(shù)據(jù)的流水號,我們這邊比對差異,分析差異產(chǎn)生的原因。之前發(fā)現(xiàn)有一部分?jǐn)?shù)據(jù)是我們系統(tǒng)與對方UAT環(huán)境接口測試時,從對方UAT環(huán)境獲取了一批數(shù)據(jù)。其它數(shù)據(jù)需要根據(jù)差異進(jìn)行排查。
如果想繼續(xù)了解數(shù)據(jù)不一致性問題排查2,歡迎關(guān)注我的微信公眾號:項目管理的一些事。
總結(jié)
以上是生活随笔為你收集整理的数据不一致问题排查1的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 没有调查就没有发言权
- 下一篇: Caused by: org.xml.s