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