美的支付-對賬系統實現
對賬,可以發現渠道方與我方交易中的差異。根據差異的不同,再做具體的操作。隨著美的支付接入的渠道增多,日交易量逐漸增大的情況下,人工對賬已經不能滿足財務的要求,系統對賬提上日程
待解決的問題
01
替代人工對賬,解放人工對賬的工作量,提升對賬效率,實現系統自動化
02
對賬差異可自動進行對應處理,輸出對賬結果
對賬系統演進過程
2016年12月
人工對賬
只能進行總筆數、總金額對賬,無法進行明細對賬
2017年3月
對賬系統V1.01
系統自動對賬,效率較低
2017年4月
對賬系統V1.02
在V1.01基礎上引入Redis,提升對賬效率
2018年4
對賬系統V2.0
重新設計對賬系統,各個系統拆分;進一步提升對賬效率
2018年5月
對賬系統V3.0(進行中)
基於對賬系統V2.0,完善差錯處理以及其他系統優化
1
人工對賬
★
從渠道下載對賬單
若渠道無對賬單,則以銀行回款單為對賬單
提取系統交易流水
對比總筆數、總金額。?
★
弊端
需要從不同渠道下載對賬單;日交易流水保持在30w左右,人工對賬工作量非常大;只能完成總賬對比,無法進行明細賬對比。
2
對賬系統V1.01
★
系統自動從渠道下載對賬單
查詢系統交易流水
以渠道對賬單為準,對比美的支付交易流水
以美的支付交易流水為準,對比渠道對賬單
獲得對賬差異、對賬結果?
★
系統架構
對賬流程
明細對賬
弊端
單線程分頁查詢渠道賬單資料庫中數據、分頁查詢銀行流水數據、分頁查詢支付流水數據;對賬速度慢,對賬5000筆交易需要耗時5小時以上;對賬不準確,漏單?
3
對賬系統V1.02
★
引入Redis,使用Redis的交集特性,可快速完成對賬處理
引入多線程
將所有歷史差異都查詢出來重新對賬,避免漏單
只需要查詢一次渠道賬單數據和我司交易流水
速度快,對賬2W筆,耗時15分鐘?
★
優化之後的對賬流程
弊端
對賬過程中所有鏈路都是同步調用,數據量過大的情況下導致RPC調用超時;渠道對賬單中的數據存儲至資料庫中,量大的情況下,會導致數據插入耗時較長,且有大量RPC調用;人工對賬時,需要回滾刪除歷史對賬數據,做一次回滾操作
4
對賬系統V2.0
★
系統拆分
引入MQ
非同步化
賬單數據不入庫?
★
拆分之後的架構
對賬前置系統
渠道賬單下載配置:按照下載配置,IT自動按時到各自渠道下載原始賬單
渠道賬單與標準賬單映射:按照映射關係,系統自動將渠道原始賬單,轉換為預先定義的標準賬單
內部轉換系統
對賬單下載配置:按照下載配置,系統自動執行SQL映射中的SQL語句,組織為原始賬單
對賬單SQL映射:獲取內部賬單的SQL語句映射,根據SQL語句,查詢資料庫
內部賬單與標準賬單映射:若配置的SQL映射非標準賬單,則配置與標準賬單的映射關係。系統自動按照映射關係,轉換為標準賬單
對賬核心系統
對賬主流程:
1:載入對賬左方的標準賬單,以訂單號為key,訂單金額等其他信息為value,存儲至Redis的Map對象中;載入所有訂單號存儲至Redis的Set對象中
2:載入對賬右方的標準賬單,以訂單號為key,訂單金額等其他信息為value,存儲至Redis的Map對象中;載入所有訂單號存儲至Redis的Set對象中
3:載入歷史差異數據,以訂單號為key,訂單金額等其他信息為value,存儲至Redis的Map對象中;載入所有訂單號存儲至Redis的Set對象中
4:對比對賬左方和對賬右方的訂單總金額、總筆數
5:獲得對賬結果,插入對賬結果
6:非同步調用明細對賬流程
7:主流程結束
明細對賬流程:
1:利用Redis的Set集合對象,取交集;獲得訂單號一致的數據集合
2:利用Redis的Set集合對象,取差集;獲得訂單號不一致的數據集合
3:訂單號一致的數據集合,取Redis中對應的Map對象中的訂單信息,對比訂單的金額是否一致。若一致,則賬平;否則為差異,差異類型:金額不一致
4:訂單號不一致的數據集合,與歷史差異數據集合再次進行取交集操作,獲得訂單號一致的數據集合和訂單號不一致的數據集合
5:訂單號一致的數據集合,取Redis中對應的Map對象中的訂單信息,對比訂單的金額是否一致。若一致,則賬平,類型為日切差賬平;否則為差異,不做更新操作
6:訂單號不一致的數據集合,判斷是否新增差異。若為新增差異,則差異類型為:左有右無、左無右有
7:根據明細對賬的最終結果,更新對賬結果數據
8:將差異數據信息發送MQ消息,進入差錯處理流程
對賬差異處理流程:
對賬差異數據發送至MQ之後,由對賬核心消費,將對賬差異數據存儲至資料庫
差錯處理系統(V2.0未實現)
對賬差異數據發送至MQ之後,由對賬核心消費,將對賬差異數據存儲至資料庫
成果
每日對賬流水近30w數據,對賬核心流程耗時不超過20秒
發薪日對賬流水近50w數據,對賬核心流程耗時不超過30秒
5
對賬系統V3.0(進行中)
★
實現差錯處理
賬平數據不入庫
實現其他優化?
★
6
結語
★
經過對賬系統的逐步優化,對賬完全實現系統自動化
對賬的效率大幅提升
★
對比
樂
在
分
享
美的金融科技
公眾號ID
MideaFintech


TAG:美的金融科技 |