支付寶架構圖

1 背景

因爲要準備支付相關的產品經理的面試,遂在週末找了些資料,學習了一下。然後深刻感受到支付的基礎框架是多麼的複雜,目前只瞭解了表層,其各系統之間的聯繫以及實現的技術還有待之後更進一步去了解。

學習的資料來源:

  1. 一份不知道從哪裏流出的PPT《與阿里金融交流——支付寶架構與技術》,署名是支付寶(中國)網絡技術有限公司,時間是2010年3月3日。
    地址:http://wenku.baidu.com/view/c141e65465ce05087732131e
  2. 還有來自知乎的一些解答,推薦知乎上一位大牛“樑川”,描述是一位互聯網金融從業者。
    地址:https://www.zhihu.com/people/chuanliang

所以由於資料年限的限制以及資料來源的分散性,只能作爲大致的參考。但也相信,一些基本架構還是變化不大的。

2 支付流程的典型處理模式

先從整體上講講我的理解(學習ppt之後):支付是怎樣一個流程。

  1. 互聯網商戶通過API平臺訪問到支付平臺。
  2. 連接成功後,將訂單信息傳給支付平臺,進行訂單處理。
  3. 訂單在收銀臺進行支付方式的選擇,或者直接進入支付環節。
  4. 進入支付環節就主要是後端的工作,進行支付處理。
  5. 支付處理後,要分別進行清算處理和財務會計。
  6. 清算處理會通過通信前置連接到銀行的支付清算網絡。同時,清算處理和財務會計處理之後會進入到覈算處理。

簡單來說,支付流程的關鍵環節就是以上幾步。如下圖:


來自PPT

3 關鍵業務系統

在支付架構裏最爲關鍵系統是公共服務中的交易系統和基礎業務當中的資金處理平臺。其中交易系統對不同屬性的訂單進行處理,並且對接到不同的後續系統(如支付、紅包、產品賬、收費等);而資金處理平臺,我的理解是對產品內外的資金流通進行處理的一個平臺。

3.1 交易系統

交易系統也是一個複雜的系統。這塊對於我(技術小白)來說理解上有些複雜。其能力是規定了交易的流程以及規則,從而對交易的情況進行處理,並能將交易的結果反饋到其他地方。其中重要的就是資金的處理。如下圖:


交易系統(對着ppt重畫版)

概念解釋:
1. 流程引擎
流程引擎是工作流引擎的核心,是關係到流程如何正常運轉的核心組件,一個流程運行的效率、功能以及正確性均由工作流引擎實現。
2. 規則引擎
規則引擎是網關節點的規則實現與人工節點的任務分配規則的實現。

3.2 支付清算

在交易系統中進行處理之後,產生支付請求就進入到支付系統。支付系統內有各種支付場景的協議,對應協議發出支付指令就進入到財務系統和清算系統。支付指令進入到清算系統就產生清算指令,進行兩種方式的處理:文件處理和實時處理。實時處理就對應着各種與銀行接入方式,常見的有網銀接入、卡通接入以及銀企直連。如下圖:


支付清算系統(對着ppt重畫版)

一個疑問
1. 爲什麼從支付指令到清算指令之間同時存在着同步清算處理和異步清算處理?
期待大牛來答答疑。

3.3 財務會計系統

財務系統主要是一個記賬子系統,實時記錄每一條財務交易流水信息。而且這裏所使用的賬戶是分戶賬戶(外),方便用戶的財務實時查詢,有完整的信息。而會計系統則分爲分錄子系統和日終子系統。分戶賬戶(外)的流水信息通過消息系統異步準實時登記到分錄子系統中的會計分錄流水信息。然後同步到分戶賬戶(內)中。日終子系統就根據分戶日餘額,在日切時間進行日結,對所有進行科目彙總。


財務會計系統(對着ppt重畫版)

一些疑問和概念:
1. 爲什麼要設置分戶賬戶(內)與分戶賬戶(外)?
在知乎上查了相關資料,知乎大牛樑川如是說:
分戶賬戶(外)是外圍業務系統的賬戶系統,採用單式記賬法。
分戶賬戶(內)是最核心的賬戶系統,採用複式記賬法。
這樣做的優勢:
1)業務需要,可以保證用戶實時查賬,也能保證對創新業務進行定製。
2)系統性能及擴展性需要,分戶賬戶(內)由於涉及會計分錄等過程,在併發量大的情況下,採用實時記賬會造成數據庫資源的鎖等待、熱點賬戶等問題。
3)財務平衡檢查需要。

也有比較簡單的解釋:
分戶賬戶(外)是信息流同步;分戶賬戶(內)是資金流同步。
分戶賬戶(外)是權責發生制;分戶賬戶(內)是收付實現制。

知乎原題目和回答鏈接:https://www.zhihu.com/question/34246970
2. 會計分錄
會計分錄指根據經濟業務的內容指明應借、應貸賬戶的方向、賬戶名稱及其金額的一種會計分錄。
3. 鎖等待
指的是程序在執行的過程中,點擊確定或保存按鈕,程序沒有響應,也沒有出現報錯的現象。
4. 熱點賬戶
熱點賬戶即系統中,被高頻繁地進行資金的進出操作,頻繁出現加鎖解鎖操作的賬戶。

3.4 覈算系統

經過會計系統的分錄以及彙總等操作之後,將這些數據通過消息系統異步準實時登記到流水登記子系統中的入賬流水登記表裏。此外,銀行流水登記系統內有關銀行流水的數據也登記到流水登記子系統內銀行流水登記表裏。兩者一起進入到覈算處理子系統內,進行流水覈算處理,然後進行歸檔,最後進行銀存待結轉統計。


覈算系統(對着ppt重畫版)

一些問題和概念:
1. 會計系統裏哪一部分的信息與流水登記子系統裏的入賬流水登記相對應?
詳細說明下問題,會計系統中存在會計分錄流水,是這部分信息直接異步準實時登記到入賬流水嗎?還是說在日終子系統中科目彙總後所形成的報表內容異步準實時登記到入賬流水?如果是後者,那是否說明覈算中心是以日爲單位進行得?
也期待某大牛能夠答答疑。

2. 結轉
或稱爲期末結轉,指期末結賬時將某一賬戶的餘額或差額轉入另一賬戶。

3.5 關鍵業務系統大圖

將上述4個關鍵業務結構進行了整合,但裏面的銀行和消息系統仍然各自分離在外。還有待進一步探究其結構。圖如下:


關鍵業務系統大圖

4 小結

初步接觸支付產品,已經感受到其複雜性撲面而來。其後端所涉及的各模塊內容都需要時間去好好深究,特別是技術層面,需要多多去接觸和了解。期待有朝一日能夠入門。
後續,準備閱讀知乎大牛樑川所推薦的一本爲數不多的介紹第三方支付的書籍《第三方電子支付探索與實踐》。

以上,
請多多指點。
謝謝~



文/祭酒1990(簡書作者)
原文鏈接:http://www.jianshu.com/p/35801616edd4
著作權歸作者所有,轉載請聯繫作者獲得授權,並標註“簡書作者”。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章