歡迎光臨
每天分享高質量文章

高併發風控技術解密(上)

(點選上方公眾號,可快速關註)


來源:笨狐狸,

blog.csdn.net/liweisnake/article/details/78786822

風控在任何一個公司都是比較神秘的存在,不僅線上很少分享,從安全形度講也很少對外披露它的架構及設計。本人將就參與的風控建設談談風控的技術。(本文來源於本人內部分享PPT,僅從技術角度探討風控體系建設,不涉及公司內部機密,限於篇幅,一些細節沒能交待完整)

風控架構演進

經過1年多風控系統的建設,已經將公司內部風控系統從業務程式碼為主的風控架構改造為了平臺化為主的2代架構,進而改造成為動態化及離線資料模型化的2.5代架構,正在向深度學習,線上資料模型的3代架構上演變。

不得不說,與阿裡,騰訊,京東等大廠相比,公司的風控體系還相對比較薄弱,但在有限的資源下將整個體系建設推進到目前的程度已經比較滿意。

技術架構

首先來看目前風控的技術架構,從業務及架構層面將風控劃分為五大體系:分別是儲存體系,識別體系,支撐體系,運營體系,資料計算體系。

其中儲存體系包括hbase,mysql,redis,es,hive,實際上都利用了現有的框架或開源專案。

識別體系包括控制平臺(控制系統,批處理系統,決策系統,匯流排系統),處罰平臺(處罰系統),分析平臺(規則系統,模型系統), 資料平臺(資料系統,運營資料系統)。

支撐體系主要是指後臺配置系統。

運營體系主要是指風控運營系統,kibana報表系統。

資料計算體系主要指大資料及離線計算平臺及基於其上的資料分析業務。

其呼叫關係如下圖:

  

業務架構

其次,來看整個系統的業務架構。目前已經初步具備的

業務能力有,營銷作弊,交易欺詐,登入註冊防控,內容防控

資料模型能力有,使用者畫像及風險評級,關聯反查,風險大盤,各類報表等

運營能力有,使用者預警,商戶預警,案件審核,綜合資訊查詢

並且基於現有的資料,分類整理並形成了自身的資料資產,分別為名單類,使用者類,裝置類,環境類,位置類。

風控系統的效能表現

下圖是生產環境壓測效果,採用12000使用者併發壓測得到約8w TPS,平均響應時間為141ms,錯誤率在萬分之五。

其中積累的有效請求達到1.7億,資料量達8TB

風控系統建設的難點

  • 靈活高效的接入:通常只有1周甚至更短時間,業務複雜多樣;如何減少發版失誤和事故

  • 極短的響應時間:業務通常只給100ms,最多200ms的超時

  • 併發吞吐要求高:接入業務較多,呼叫量大;有的業務用風控抵擋攻擊

  • 大量資料處理:資料量相對較大,如何有效利用;資料查詢回溯要求較高

  • 對抗升級:攻擊者不停猜測內部規則;資料如何為對抗服務

  • 大促穩定性:如何保證呼叫量增加後不宕機;如何在出問題情況下依然服務

下篇將針對這些難點一一詳細描述如何去解決。 

What else?

多租戶及開放平臺服務

由於公司內部有多個子公司都想透過風控系統去自行控制,因而將資料隔離的多租戶就尤為重要了,對於不同的租戶而言,使用的是同一個平臺同一套系統,但是所有的介面,資料計算,報表都只會看到本租戶下的資料,而不能越權到其他租戶,多租戶本質上是一種許可權控制,但是相比許可權,其隔離更深更徹底。

另外,由於風控積累資料及服務已經較多,許多外部系統都想共享風控的資料和服務,將風控的部分業務作為開放平臺提供服務也是深化風控改造的重要步驟。

規則效能分析

對於規則的設定只能憑經驗,規則到底定得好不好也需要有資料衡量,規則效能分析就是用來衡量規則有效性的手段。

基於神經網路的反欺詐

基於這篇論文,將每次session的點選序列輸入RNN,提供適當風險樣本,讓其識別風險session《Session Based Fraud Detection》。反欺詐這方面可以做得更多,但是神經網路在可解釋性方面太差,這種場合被控了申述時毫無反駁理由。不過不失為一個判斷依據。

智慧運維

對於線上系統,從智慧運維到智慧決策,從熔斷到自愈,寄往於系統可以做到自動決策,某些問題自動修複。

TimeWheel演演算法

對於風控這種時效要求較高的應用,需要在請求時控制超時。通常,這種控制超時的方式是新起一個執行緒,透過控制執行緒的執行時間來控制超時,在大壓力時,大量執行緒會給整個系統的CPU切換帶來負擔,能否只用一個執行緒控制所有超時的計算,這樣一來,將大大減小執行緒數量,將CPU負載降低。

如下是一種稱為Timewheel的演演算法,實際上是模仿TCP傳送包之後用來計算超時的演演算法,試想,如果作業系統底層對每個tcp包都新建一個執行緒來計時,那作業系統早掛了。

  

參考資料:

  • 美團點評業務風控系統構建經驗 https://zhuanlan.zhihu.com/p/24936694

  • 攜程線上風控系統架構 https://zhuanlan.zhihu.com/p/30152434

  • 乾貨 | 構建風控系統之排坑掃雷(一) https://zhuanlan.zhihu.com/p/24859431

  • 乾貨 | 構建風控系統之排坑掃雷(二) https://zhuanlan.zhihu.com/p/25110386

  • 搭建風控系統道路上踩過的坑(1)-資訊採集 https://zhuanlan.zhihu.com/p/31285366

  • 搭建風控系統道路上踩過的坑(2)-風險分析 https://zhuanlan.zhihu.com/p/31331140

  • 搭建風控系統道路上踩過的坑(3)-阻斷風險 https://zhuanlan.zhihu.com/p/31366714

  • 搭建風控系統道路上踩過的坑(4)-風險分析 https://zhuanlan.zhihu.com/p/31443357

  • 氪信資深資料科學家主講:如何構建基於AI的金融風控系統 | 硬創公開課 https://zhuanlan.zhihu.com/p/26500991

  • timewheel演演算法 http://blog.csdn.net/mindfloating/article/details/8033340

  • 細說延時任務的處理 http://www.jianshu.com/p/7beebbc61229

看完本文有收穫?請轉發分享給更多人

關註「ImportNew」,提升Java技能

贊(0)

分享創造快樂