银行转账功能(二)
銀行轉(zhuǎn)賬功能(二)
????? ? ??1、上一篇我們說過了同行轉(zhuǎn)賬,就是同庫轉(zhuǎn)賬。其原理無非是一個(gè)減錢,一個(gè)加錢。
????????? ?思考:既然原理都是一樣的,那么為什么還要說這個(gè)不同銀行(跨行)轉(zhuǎn)賬呢?
????? ??? ?2、跨行(跨地區(qū)和跨銀行)轉(zhuǎn)賬實(shí)質(zhì)上我們可以理解為跨數(shù)據(jù)庫轉(zhuǎn)賬。那么如果說是這樣的話:
????????? ? 轉(zhuǎn)出方:賬戶甲
????????? ? 轉(zhuǎn)入方:? ?賬戶乙
????????? ? (1) 獲取不到? 賬戶已? 的賬號(hào)信息
????????? ? (2)無法或者說沒有能力將給? 賬戶乙? 的加款這件事添加事務(wù)
? ? ? ? ? ?3、跨行轉(zhuǎn)賬的基本實(shí)現(xiàn)思路:
????????? ? 前提:每個(gè)銀行都會(huì)有一個(gè)公有賬號(hào)(PublicAccount),這個(gè)賬號(hào)存在的意義主要是用來處理跨行業(yè)務(wù)。
????????? ???(1)從賬戶甲扣款(新手看的時(shí)候括號(hào)內(nèi)的備注請(qǐng)忽略,真扣還是假扣我們不管,真扣(馬上減去轉(zhuǎn)賬金額),假扣(該賬戶會(huì)有一個(gè)字段記錄轉(zhuǎn)出金額,定時(shí)根據(jù)轉(zhuǎn)入方到賬或者銀行自己的條件對(duì)其進(jìn)行歸0處理))。
?????????????(2)給? 銀行甲? 的PublicAccount加錢。
?????????????(3)通知? 賬戶乙? 所在的? 銀行乙,按照? 銀行乙? 約定的方式傳遞數(shù)據(jù)給該行所提供的API 。
?????????????(4)銀行已處理完之后,會(huì)通過某種方式提醒? 賬戶甲所在的? 銀行甲。然后? 賬戶甲完成了向賬戶乙的轉(zhuǎn)賬操作。
?????????????(5)那么問題來了,銀行甲? 還欠著? 銀行乙? 的錢呢。它只是收? 賬戶甲? 的錢,讓? 銀行乙? 給? 賬戶乙? 加款。但是? 銀行甲? 沒給? 銀行乙 轉(zhuǎn)賬(此時(shí)? 賬戶乙? 加款成功)。
????????? ? ?(6)在夜深人靜的時(shí)候(在線用戶較少的時(shí)候),銀行甲的PublicAccount賬戶會(huì)向銀行乙的PublicAccount中轉(zhuǎn)賬。就是把當(dāng)天的銀行甲向銀行乙中所有轉(zhuǎn)賬金額加到銀行乙的PublicAccount賬戶中。當(dāng)銀行乙的反饋信息中是加款成功的時(shí)候,銀行甲減去向銀行乙的轉(zhuǎn)賬金額(不歸0的原因是這個(gè)操作過程中可能有用戶完成了一筆轉(zhuǎn)賬或別的操作)。
總結(jié)
- 上一篇: 机器视觉行业市场现状及发展前景分析
- 下一篇: 异步请求中jetty处理ServletR