【风控系统】风控中心—京东基于Spark的风控系统架构实践和技术细节
轉(zhuǎn)自:https://www.jianshu.com/p/9de45d2d16e6
感謝博主!
背景
互聯(lián)網(wǎng)的迅速發(fā)展,為電子商務興起提供了肥沃的土壤。2014年,中國電子商務市場交易規(guī)模達到13.4萬億元,同比增長31.4%。其中,B2B電子商務市場交易額達到10萬億元,同比增長21.9%。這一連串高速增長的數(shù)字背后,不法分子對互聯(lián)網(wǎng)資產(chǎn)的覬覦,針對電商行業(yè)的惡意行為也愈演愈烈,這其中,最典型的就是黃牛搶單囤貨和商家惡意刷單。黃牛囤貨讓廣大正常用戶失去了商家給予的優(yōu)惠讓利;而商家的刷單刷好評,不僅干擾了用戶的合理購物選擇,更是攪亂了整個市場秩序。
京東作為國內(nèi)電商的龍頭企業(yè),在今天遭受著嚴酷的風險威脅。機器注冊賬號、惡意下單、黃牛搶購、商家刷單等等問題如果不被有效阻止,會給京東和消費者帶來難以估量的損失
互聯(lián)網(wǎng)行業(yè)中,通常使用風控系統(tǒng)抵御這些惡意訪問。在技術層面上來講,風控領域已逐漸由傳統(tǒng)的“rule-base”(基于規(guī)則判斷)發(fā)展到今天的大數(shù)據(jù)為基礎的實時+離線雙層識別。Hadoop,Spark等大數(shù)據(jù)大集群分布式處理框架的不斷發(fā)展為風控技術提供了有效的支撐。
2.什么是“天網(wǎng)”
在此背景下,京東風控部門打造“天網(wǎng)”系統(tǒng),在經(jīng)歷了多年沉淀后,“天網(wǎng)”目前已全面覆蓋京東商城數(shù)十個業(yè)務節(jié)點并有效支撐了京東集團旗下的京東到家及海外購風控相關業(yè)務,有效保證了用戶利益和京東的業(yè)務流程。
“天網(wǎng)“作為京東風控的核心利器,目前搭建了風控專用的基于spark的圖計算平臺,主要分析維度主要包括:用戶畫像,用戶社交關系網(wǎng)絡,交易風險行為特性模型。
其系統(tǒng)內(nèi)部既包含了面向業(yè)務的交易訂單風控系統(tǒng)、爆品搶購風控系統(tǒng)、商家反刷單系統(tǒng),在其身后還有存儲用戶風險信用信息及規(guī)則識別引擎的風險信用中心(RCS)系統(tǒng),專注于打造用戶風險畫像的用戶風險評分等級系統(tǒng)。
下面,我們將從用戶可以直接感知的前端業(yè)務風控系統(tǒng)和后臺支撐系統(tǒng)兩部分對天網(wǎng)進行剖析:
3.前端業(yè)務風控系統(tǒng)
1交易訂單風控系統(tǒng)
交易訂單風控系統(tǒng)主要致力于控制下單環(huán)節(jié)的各種惡意行為。該系統(tǒng)根據(jù)用戶注冊手機,收貨地址等基本信息結合當前下單行為、歷史購買記錄等多種維度,對機器刷單、人工批量下單以及異常大額訂單等多種非正常訂單進行實時判別并實施攔截。
目前該系統(tǒng)針對圖書、日用百貨、3C產(chǎn)品、服飾家居等不同類型的商品制定了不同的識別規(guī)則,經(jīng)過多輪的迭代優(yōu)化,識別準確率已超過99%。對于系統(tǒng)無法精準判別的嫌疑訂單,系統(tǒng)會自動將他們推送到后臺風控運營團隊進行人工審核,運營團隊將根據(jù)賬戶的歷史訂單信息并結合當前訂單,判定是否為惡意訂單。從系統(tǒng)自動識別到背后人工識別輔助,能夠最大限度地保障訂單交易的真實有效性。
2 爆品搶購風控系統(tǒng)
在京東電商平臺,每天都會有定期推出的秒殺商品,這些商品多數(shù)來自一線品牌商家在京東平臺上進行產(chǎn)品首發(fā)或是爆品搶購,因此秒殺商品的價格會相對市場價格有很大的優(yōu)惠力度。
但這同時也給黃牛帶來了巨大的利益誘惑,他們會采用批量機器注冊賬號,機器搶購軟件等多種形式來搶購秒殺商品,數(shù)量有限的秒殺商品往往在一瞬間被一搶而空,一般消費者卻很難享受到秒殺商品的實惠。針對這樣的業(yè)務場景,秒殺風控系統(tǒng)這把利劍也就順勢而出。
在實際的秒殺場景中,其特點是瞬間流量巨大。即便如此,“爆品搶購風控系統(tǒng)”這把利劍對這種高并發(fā)、高流量的機器搶購行為顯示出無窮的威力。目前,京東的集群運算能力能夠到達每分鐘上億次并發(fā)請求處理和毫秒級實時計算的識別引擎能力,在秒殺行為中,可以阻攔98%以上的黃牛生成訂單,最大限度地為正常用戶提供公平的搶購機會。
3商家反刷單系統(tǒng)
隨著電商行業(yè)的不斷發(fā)展,很多不軌商家嘗試采用刷單、刷評價的方式來提升自己的搜索排名進而提高自家的商品銷量。隨著第三方賣家平臺在京東的引入,一些商家也試圖鉆這個空子,我們對此類行為提出了 “零容忍”原則,為了達到這個目標,商家反刷單系統(tǒng)也就應運而生。
商家反刷單系統(tǒng)利用京東自建的大數(shù)據(jù)平臺,從訂單、商品、用戶、物流等多個維度進行分析,分別計算每個維度下面的不同特征值。通過發(fā)現(xiàn)商品的歷史價格和訂單實際價格的差異、商品SKU銷量異常、物流配送異常、評價異常、用戶購買品類異常等上百個特性,結合貝葉斯學習、數(shù)據(jù)挖掘、神經(jīng)網(wǎng)絡等多種智能算法進行精準定位。
而被系統(tǒng)識別到的疑似刷單行為,系統(tǒng)會通過后臺離線算法,結合訂單和用戶的信息調(diào)用存儲在大數(shù)據(jù)集市中的數(shù)據(jù)進行離線的深度挖掘和計算,繼續(xù)進行識別,讓其無所遁形。而對于這些被識別到的刷單行為,商家反刷單系統(tǒng)將直接把關聯(lián)商家信息告知運營方做出嚴厲懲罰,以保證消費者良好的用戶體驗。
前端業(yè)務系統(tǒng)發(fā)展到今天,已經(jīng)基本覆蓋了交易環(huán)節(jié)的全流程,從各個維度打擊各種侵害消費者利益的惡意行為。
4.后臺支撐系統(tǒng)
天網(wǎng)作為京東的風控系統(tǒng),每天都在應對不同特性的風險場景。它可能是每分鐘數(shù)千萬的惡意秒殺請求,也可能是遍布全球的黃牛新的刷單手段。天網(wǎng)是如何通過底層系統(tǒng)建設來解決這一個又一個的難題的呢?讓我們來看一看天網(wǎng)的兩大核心系統(tǒng):風險信用服務(RCS)和風控數(shù)據(jù)支撐系統(tǒng)(RDSS)。
1風險信用服務
風險信用服務(RCS)是埋藏在各個業(yè)務系統(tǒng)下的風控核心引擎,它既支持動態(tài)規(guī)則引擎的高效在線識別,又是打通沉淀數(shù)據(jù)和業(yè)務系統(tǒng)的橋梁。它是風控數(shù)據(jù)層對外提供服務的唯一途徑,重要程度和性能壓力不言而喻。
1.1 RCS的服務框架
RCS作為天網(wǎng)對外提供風控服務的唯一出口,其調(diào)用方式依賴于京東自主研發(fā)的服務架構框架JSF,它幫助RCS在分布式架構下提供了高效RPC調(diào)用、高可用的注冊中心和完備的容災特性,同時支持黑白名單、負載均衡、Provider動態(tài)分組、動態(tài)切換調(diào)用分組等服務治理功能。
面對每分鐘千萬級別的調(diào)用量,RCS結合JSF的負載均衡、動態(tài)分組等功能,依據(jù)業(yè)務特性部署多個分布式集群,按分組提供服務。每個分組都做了跨機房部署,最大程度保障系統(tǒng)的高可用性。
1.2 RCS動態(tài)規(guī)則引擎的識別原理
RCS內(nèi)部實現(xiàn)了一套自主研發(fā)的規(guī)則動態(tài)配置和解析的引擎,用戶可以實時提交或者修改在線識別模型。當實時請求過來時,系統(tǒng)會將實時請求的數(shù)據(jù)依據(jù)模型里的核心特性按時間分片在一個高性能中間件中進行高性能統(tǒng)計,一旦模型中特性統(tǒng)計超過閥值時,前端風控系統(tǒng)將立刻進行攔截。
而前面我們所說的高性能中間件系統(tǒng)就是JIMDB,它同樣是自主研發(fā)的,主要功能是基于Redis的分布式緩存與高速Key/Value存儲服務,采用“Pre-Sharding”技術,將緩存數(shù)據(jù)分攤到多個分片(每個分片上具有相同的構成,比如:都是一主一從兩個節(jié)點)上,從而可以創(chuàng)建出大容量的緩存。支持讀寫分離、雙寫等I/O策略,支持動態(tài)擴容,還支持異步復制。在RCS的在線識別過程中起到了至關重要的作用
1.3 RCS的數(shù)據(jù)流轉(zhuǎn)步驟
風險庫是RCS的核心組件,其中保存有各種維度的基礎數(shù)據(jù),下圖是整個服務體系中的基本數(shù)據(jù)流轉(zhuǎn)示意圖:
1) 各個前端業(yè)務風控系統(tǒng)針對各個業(yè)務場景進行風險識別,其結果數(shù)據(jù)將回流至風險庫用戶后續(xù)離線分析及風險值判定。
2) 風險庫針對業(yè)務風控識別進過數(shù)據(jù)進行清洗,人工驗證,定義并抽取風控指標數(shù)據(jù),經(jīng)過此道工序風險庫的元數(shù)據(jù)可以做到基本可用。
3) 后臺數(shù)據(jù)挖掘工具對各來源數(shù)據(jù),依據(jù)算法對各類數(shù)據(jù)進行權重計算,計算結果將用于后續(xù)的風險值計算。
4) 風險信用服務一旦接收到風險值查詢調(diào)用,將通過在JIMDB緩存云中實時讀取用戶的風控指標數(shù)據(jù),結合權重配置,使用歐式距離計算得出風險等級值,為各業(yè)務風控系統(tǒng)提供實時服務。
1.4 RCS的技術革新與規(guī)劃
進入2015年以后,RCS系統(tǒng)面臨了巨大的挑戰(zhàn)。首先,隨著數(shù)據(jù)量的不斷增大,之前的處理框架已無法繼續(xù)滿足需求,與此同時不斷更新的惡意行為手段對風控的要求也越來越高,這也就要求風控系統(tǒng)不斷增加針對性規(guī)則,這同樣帶來不不小的業(yè)務壓力。
面對這樣的挑戰(zhàn),RCS更加密切地加強了和京東大數(shù)據(jù)平臺的合作。在實時識別數(shù)據(jù)的存儲方面,面對每天十幾億的識別流水信息,引入了Kafka+Presto的組合。通過Presto對緩存在Kafka一周之內(nèi)的識別數(shù)據(jù)進行實時查詢。超過1周的數(shù)據(jù)通過ETL寫入Presto的HDFS,支持歷史查詢。在RCS識別維度提升方面,目前已經(jīng)與京東用戶風險評分等級系統(tǒng)打通流程,目前已拿到超過1億的基于社交網(wǎng)絡維度計算的風險等級,用于風險信用識別。在風險等級的實時計算方面,已經(jīng)逐步切換到大數(shù)據(jù)部基于Strom打造的流式計算計算平臺JRC。
5.風控數(shù)據(jù)支撐系統(tǒng)
風控數(shù)據(jù)支撐系統(tǒng)是圍繞著京東用戶風險評分等級系統(tǒng)搭建起來的一整套風控數(shù)據(jù)挖掘體系。
1RDSS的核心架構
1) 數(shù)據(jù)層
如圖所示,數(shù)據(jù)層負責數(shù)據(jù)的抽取、清洗、預處理。目前ETL程序通過JMQ、Kafka、數(shù)據(jù)集市、基礎信息接口、日志接入了超過500個生產(chǎn)系統(tǒng)的業(yè)務數(shù)據(jù),其中包括大量的非結構化數(shù)據(jù)。通過對數(shù)據(jù)的多樣性、依賴性、不穩(wěn)定性進行處理,最終輸出完整的、一致性的風控指標數(shù)據(jù),并通過數(shù)據(jù)接口提供給算法引擎層調(diào)用。這一層最關鍵的部分是在對風控指標數(shù)據(jù)的整理。指標數(shù)據(jù)質(zhì)量的好壞直接關聯(lián)到系統(tǒng)的最終輸出結果。目前指標的整理主要從以下三個維度開展:
a) 基于用戶生命周期的指標數(shù)據(jù)整理
對于電商業(yè)務而言,一個普通用戶基本上都會存在以下幾種粘性狀態(tài),從嘗試注冊,到嘗試購買;從被深度吸引,到逐漸理性消費。每一種狀態(tài)總是伴隨著一定的消費特征,而這些特征也將成為我們捕獲用戶異常行為的有利數(shù)據(jù)。
b) 基于用戶購買流程的風控指標數(shù)據(jù)整理
對于一般用戶而說,其購買習慣具有相當?shù)墓残?#xff0c;例如,通常都會對自己需求的商品進行搜索,對搜索結果中自己感興趣的品牌進行瀏覽比較,幾經(jīng)反復才最終做出購買決定。在真正購買之前還要找一下相關的優(yōu)惠券,在支付過程中也會或多或少有些停頓。而對于黃牛來說,他們目標明確,登錄之后直奔主題,爽快支付,這些在瀏覽行為上的差異也是我們尋找惡意用戶的有利數(shù)據(jù)。
c) 基于用戶社交網(wǎng)絡的風控指標數(shù)據(jù)整理
基于用戶社交網(wǎng)絡的指標數(shù)據(jù)是建立在當前風控領域的黑色產(chǎn)業(yè)鏈已經(jīng)逐漸成體系的背景下的。往往那些不懷好意的用戶總會在某些特征上有所聚集,這背后也就是一家家黃牛,刷單公司,通過這種方式可以實現(xiàn)一個抓出一串,個別找到同伙的效果。
2) 算法引擎層
算法引擎層集合了各種數(shù)據(jù)挖掘算法,在系統(tǒng)內(nèi)被分門別類的封裝成各種常用的分類、聚類、關聯(lián)、推薦等算法集,提供給分析引擎層進行調(diào)用。
3) 分析引擎層
分析引擎層是風控數(shù)據(jù)分析師工作的主要平臺,數(shù)據(jù)分析師可以在分析引擎層依據(jù)業(yè)務設立項目,并且在平臺上開展數(shù)據(jù)挖掘全流程的工作,最終產(chǎn)出風控模型和識別規(guī)則。
4) 決策引擎層
決策引擎層負責模型和規(guī)則的管理,所有系統(tǒng)產(chǎn)出的模型及規(guī)則都集合在這里進行統(tǒng)一管理更新。
5) 應用層
應用層主要涵蓋了決策引擎層產(chǎn)出模型和規(guī)則的應用場景,這里最重要的就是風險信用服務(RCS),其主要職能是對接底層數(shù)據(jù),對外層業(yè)務風控系統(tǒng)提供風險識別服務。
而在模型和規(guī)則投入使用之前必須要經(jīng)過我們另外一個重要的系統(tǒng)也就是風控數(shù)據(jù)分析平臺(FBI),因為所有的模型和規(guī)則都先將在這個平臺中進行評估,其輸入就是所有規(guī)則和模型的產(chǎn)出數(shù)據(jù),輸出就是評估結果,評估結果也將反饋到?jīng)Q策引擎層來進行下一步的規(guī)則,模型優(yōu)化。
2RDSS之用戶風險評分等級系統(tǒng)
京東用戶風險評分等級系統(tǒng)是天網(wǎng)數(shù)據(jù)挖掘體系孵化出的第一個數(shù)據(jù)項目。其主要目的在于將所有的京東用戶進行分級,明確哪些是忠實用戶,哪些又是需要重點關注的惡意用戶。其實現(xiàn)原理是依賴前面所描述的社交關系網(wǎng)絡去識別京東用戶的風險程度。而這種方式在整個數(shù)據(jù)領域來說都是屬于領先的。京東用戶風險評分等級系統(tǒng)一期已經(jīng)產(chǎn)出1億數(shù)據(jù),目前已經(jīng)通過RCS系統(tǒng)對外提供服務。根據(jù)識別結果評估,識別忠實用戶較RCS風險庫增加37%,識別的惡意用戶較RCS風險庫增加10%。
目前,京東用戶風險評分等級系統(tǒng)已經(jīng)實現(xiàn):
1) 數(shù)據(jù)層基于社交網(wǎng)絡的維度產(chǎn)出50余個風險指標。
2) 通過PageRank、三角形計數(shù)、連通圖、社區(qū)發(fā)現(xiàn)等算法進行點、邊定義,并識別出數(shù)十萬個社區(qū)網(wǎng)絡。
3)通過經(jīng)典的加權網(wǎng)絡上的能量傳播思想,計算上億用戶的風險指數(shù)。
5.結語
凡是過去,皆為序曲,京東風控正在打造一套數(shù)據(jù)定義一切的超級風控計算框架。這套風控框架將統(tǒng)一風控模型管理(數(shù)據(jù)模型,識別模型,規(guī)則引擎)、統(tǒng)一風控服務管理(JRC,PRESTO,Streaming)、統(tǒng)一風控數(shù)據(jù)管理(HDFS,HBASE,Kafka),并將橫跨云計算、大數(shù)據(jù)、人工智能,針對瞬息萬變的電商交易風險智能調(diào)整風控策略實時處理。
說明:本文轉(zhuǎn)載自infoQ,原文鏈接:http://www.infoq.com/cn/articles/jingdong-risk-control-system-architecture-based-on-spark
總結
以上是生活随笔為你收集整理的【风控系统】风控中心—京东基于Spark的风控系统架构实践和技术细节的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【项目管理】敏捷开发项目管理流程
- 下一篇: 【风险管理】风控决策系统