美的支付-對賬系統實現


對賬,可以發現渠道方與我方交易中的差異。根據差異的不同,再做具體的操作。隨着美的支付接入的渠道增多,日交易量逐漸增大的情況下,人工對賬已經不能滿足財務的要求,系統對賬提上日程

 

待解決的問題

01

替代人工對賬,解放人工對賬的工作量,提升對賬效率,實現系統自動化

02

對賬差異可自動進行對應處理,輸出對賬結果

 

 1人工對賬

 

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、結語

經過對賬系統的逐步優化,對賬完全實現系統自動化

對賬的效率大幅提升

轉載:https://mp.weixin.qq.com/s/orSKCephD7qynp5tn32cKA


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM