科技改變生活 · 科技引領(lǐng)未來
編輯導語:路由器我們一定都不陌生,那么你了解什么是路由器嗎?本篇文章中,作者從路由器的上下游關(guān)系、核心系統(tǒng)架構(gòu)、分組規(guī)則、篩選規(guī)則、算法模型、管理后臺等方面為我們做了詳細地分析。
路由器,一個神秘的系統(tǒng),一套偉大的算法;太神秘,以至于這個世界只剩他的傳說,太偉大,因為我們知道他總能為你挑選出最好的;他就是史上最強“通道挑選官”—— 路由器 !
可大可小,可弱可強;可有可無,對他就是這么隨性瀟灑;今天我們就聊聊路由算法模型,以及與他關(guān)系最親密的2個小伙伴!
基于支付通道的屬性特點和業(yè)務(wù)系統(tǒng)的要求,為支付交易篩選出符合業(yè)務(wù)要求的最優(yōu)的通道;簡單的說就是業(yè)務(wù)系統(tǒng)要收款,你路由器幫我選一條最好的通道吧!這就是路由的職能,為通道選擇做決策。
例如:我們?nèi)ゴ笈d機場,怎么去呢?問問同事吧;同事告訴你,如果省錢就做地鐵轉(zhuǎn)公交,但是比較耗時,而且折騰;如果圖省事和快就打車,直接就到,就是貴一點;選哪條呢?這個過程中你的同事就是個路由器,給你多個選擇。
如果你增加條件,比如“選擇一個既便宜又不折騰的”,那你的同事可能告訴你“哪就用花小豬,優(yōu)惠大,打車一樣的體驗,卻是做公交的價格”;那么既便宜又不折騰就是你對交通方式的要求;你的同事就會基于這些要求為你綜合反饋一條道路。
剛才說了,為了選擇一條最優(yōu)的通道,那么作用其實就是:
路由的評價指標有以下幾個方面:
路由作為最強通道挑選官,那么他與上下游什么關(guān)系呢,我們分三層來看:
業(yè)務(wù)系統(tǒng)請求路由進行支付或者鑒權(quán),路由選擇出了最優(yōu)的通道;封裝好支付請求參數(shù)請求訂單系統(tǒng)初始化支付訂單,訂單系統(tǒng)請求通道完成支付,并返回支付結(jié)果(具體的位置和流程我覺得每家公司不一樣,因公司而異,因人而異,你讓路由直接調(diào)通道也可以,核心目的就是確保支付能夠成功,至于系統(tǒng)職能劃分,這個不做過多探討)。
從系統(tǒng)功能層面我們來看一個常見的路由系統(tǒng)架構(gòu)圖以及在支付架構(gòu)中的上下游位置:
在介紹路由器規(guī)則設(shè)計之前,我們先了解下通道屬性;如果把通道類比成一個人,那么通道的屬性就像人的屬性一樣,有基本信息、學歷信息、婚姻信息、工作信息等。
那么對于通道來說,他的屬性更多是哪個銀行的,支付通道還是打款通道,可不可用,需不需要商家報備等等。
通道屬性的一個關(guān)鍵用途就是路由選擇的依據(jù),路由的規(guī)則配置其實就是根據(jù)通道屬性去配置的,什么屬性的通道能用,什么類型的通道屬性不能用。
路由器最核心的是規(guī)則以及篩選模型;什么是路由器規(guī)則;路由規(guī)則就是支付請求來了篩選通道的條件;比如那個銀行的,什么卡等,路由器規(guī)則主要分兩類:
為了提升篩選效率,我們先對通道按照組合規(guī)則進行分組,分組規(guī)則需要的參數(shù)是上游請求方必填的、離散的,比如按照以下屬性進行分組:
經(jīng)過通道的分組篩選,最后確定了一個通道列表,然后再通過篩選規(guī)則篩選出需要的通道,比如以下篩選規(guī)則:
通過組合規(guī)則和篩選規(guī)則的配置,我們就會得到一個通道篩選的規(guī)則樹:
列如上游系統(tǒng)請求系統(tǒng)時傳了:支付-個人-借記卡-招行,那么就可以快速定位到一個通道組了:通道A、通道B、通道C。
通過分組規(guī)則我們得到了一個通道組,如上面我們選出3條通道“通道A,通道B,通道C”,最終我們要選擇一條通道,所以還需要進一步做篩選,這時候我們就用到了篩選規(guī)則;假如我們設(shè)定了3個屬性做篩選“狀態(tài),商家報備,成本優(yōu)先”,這3條通道屬性如下:
我們知道案例中入?yún)?yīng)該是3條通道:通道A、通道B、通道C。
因為商家已經(jīng)報備了A通道,B通道不需要報備,所以,經(jīng)過這個篩選,我們依然得到兩條通道通道A,通道B,因為有下一條規(guī)則,所以我們繼續(xù)往下走。
經(jīng)過這個篩選,在A和B通道對比中,B的成本最低,所以最終我們得到了一條最優(yōu)的通道:通道B。
通過上面的說明,我們可以得到一個路由器的算法流程和模型可以抽象成4字模型:流·樹·篩·查。
當上游系統(tǒng)沒有傳參,但是在通道篩選時需要的參數(shù),路由需要去相關(guān)系統(tǒng)進行查詢,比如商家白名單要到白名單系統(tǒng)查詢等。
知道了路由的原理,上下游關(guān)系,以及算法模型,我們還需要一個配置化后臺對規(guī)則等進行管理,這里不具體介紹;按照業(yè)務(wù)需要設(shè)計即可。另外,通道管理系統(tǒng),訂單系統(tǒng)后續(xù)會有單獨的文章介紹,這里不再贅述了。
我們知道系統(tǒng)設(shè)計和建設(shè)要因公司而已,因業(yè)務(wù)發(fā)展而已,上面介紹的是一個完整的成型的路由系統(tǒng)。
但是路由系統(tǒng)是否需要建設(shè)也是非必須的,比如普通的商戶就接了一個微信和支付寶,開了2個商戶號,這個其實就不需要路由系統(tǒng),業(yè)務(wù)系統(tǒng)寫死要調(diào)用哪個通道即可。
對于哪些接了幾十條通道,每一類通道又開設(shè)了多條時,比如微信開了10個商戶號,分別為各業(yè)務(wù)線收款,那么就需要按照業(yè)務(wù)類型進行路由選擇微信通道了。
作者:陳曉光,一個會彈吉他會算命的產(chǎn)品經(jīng)理老司機,微信公眾號:陳曉光
本文由 @陳天宇宙 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)許可,禁止轉(zhuǎn)載
題圖來自Unsplash,基于CC0協(xié)議