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