新一代流式計算框架在金融行業的應用

新一代流式計算框架在金融行業的應用

大數據時代,數據計算已經滲透到了各行各業。業務沉澱數據,數據計算產生新的業務價值,數據計算正不斷地用這種方式推動業務向前發展。

大數據的計算模式主要分為批量計算(batch computing)、流式計算(stream computing)等,分別適用於不同的大數據應用場景。對於先存儲後計算,實時性要求不高,同時數據規模大、計算模型複雜的應用場景,更適合使用批量計算。對於無需先存儲,可以直接進行數據計算,實時性要求嚴格,但單次計算涉及數據量相對較小的應用場景,流式計算具有明顯優勢。

與傳統批量計算相比,流式計算的特點主要有以下幾方面:

無邊界:數據到達、處理和向後傳遞均是持續不斷的。

瞬時性和有限持久性:通常情況下,原始數據單遍掃描,只有計算結果和部分中間數據在有限時間內被保存和向後傳遞。

價值的時間偏倚性:隨著時間的流逝,數據中所蘊含的知識價值往往也在衰減,即流中數據項的重要程度是不同的,最近到達的數據往往比早先到達的數據更有價值。

金融行業是一種典型的流式計算應用領域,涵蓋了包括用戶行為分析、實時營銷、個性化推薦、實時風控、實時反欺詐等多個計算場景。以實時金融風控場景為例,需要流式計算系統實時分析海量的用戶行為數據,根據既定的規則計算出相應的指標,並與風險模型進行匹配,第一時間判斷風險等級、發現異常事件,並作出相應的風險控制措施,自動告警通知、改變業務流程。

流式計算框架的技術選型

目前主流的流式計算框架有Storm、Spark Streaming、Flink三種,其基本原理如下:

Apache Storm:以單事件來處理數據流(所有記錄一個接一個處理),延遲性低(毫秒級),但消息保障能力弱,消息傳輸可能重複但不會丟失。

Storm在運行中可分為spout與bolt兩個組件,Spout是Stream的消息產生源,Bolt類接收由Spout或者其他上游Bolt類發來的消息,對其進行處理,以實現業務邏輯。Storm運行的應用程序叫做拓撲(Topology),拓撲中定義了Spout和Bolt的組合關係。

Apache Spark Streaming:屬於Spark API的擴展,以設定的時間間隔(如幾秒種)處理一段段的批處理作業(即「微批處理」)。這種框架的延遲性較高(秒級),但能夠保證消息傳輸既不會丟失也不會重複。

spark程序是使用一個spark應用實例一次性對一批歷史數據進行處理,spark streaming是將持續不斷輸入的數據流轉換成多個batch分片,使用一批spark應用實例進行處理。

Apache Flink:針對流數據+批數據的計算框架。把批數據看作流數據的一種特例,延遲性較低(毫秒級),且能夠保證消息傳輸不丟失不重複。

Flink創造性的統一了流處理和批處理,作為流處理看待時輸入數據流是無界的,而批處理被作為一種特殊的流處理,只是它的輸入數據流被定義為有界的。Flink程序由Stream和Transformation這兩個基本構建塊組成,其中Stream是一個中間結果數據,而Transformation是一個操作,它對一個或多個輸入Stream進行計算處理,輸出一個或多個結果Stream。

從上述指標對比可以看出,Flink作為流式處理框架中的新興之秀,兼具了storm的低延遲和spark的高吞吐、高消息保障特性。隨著框架成熟度和社區活躍度越來越高,目前Flink已在國內外各大企業中有很多成功應用,很多企業紛紛將原有基於storm、spark streaming框架的流式計算系統轉投為基於Flink,Flink成為當下流式計算框架的首選。

流式計算在金融行業的應用架構

頂象技術目前已為多個銀行及互聯網金融客戶設計並搭建了基於Flink流式計算框架的一站式實時計算平台,滿足金融客戶實時風控、實時反欺詐等多個場景下的計算需求。

金融行業的數據具有來源廣泛、實時性要求高、吞吐量大、計算模型複雜等特性,頂象技術基於Flink引擎,進行了大量的功能及可用性設計,設計了一套可支持風控、反欺詐,流式計算和同步計算的一站式實時計算平台,滿足金融行業實時風控、實時反欺詐等多個場景下的計算需求。

頂象一站式實時計算平台的概要架構及特點:

多數據源支持:支持從多種類型的消息中間件中獲取消息流,以及從關係資料庫或NoSql資料庫中抽取全量/增量數據,並提供服務介面供其他系統實時推送數據。保證了計算數據的完整性和多樣性。

統一的非同步/同步計算服務:基於Flink的流式計算僅能滿足客戶的實時非同步計算需求,而無法滿足需要實時返回計算結果的計算場景。因此,頂象一站式實時計算平台包含了高性能的同步計算框架,可滿足同步返回計算結果的應用場景。該框架與非同步流式計算框架結合,提供統一的計算服務,完美覆蓋所有實時計算需求。

可視化的計算配置和實時分析:為提高系統的易用性,使沒有編程經驗的業務人員也可通過流式計算快速實現業務目標,平台提供了可視化計算規則配置引擎,可針對各類應用場景,定義相應的計算規則。如針對風控場景,可定義各類風控事件的指標計算規則。同時,平台提供實時在線分析功能,業務人員在線選擇數據源,設置報表統計規則,自動生成並實時刷新各種維度的圖表,達到了數據的實時可視化分析。

目前,頂象技術的一站式實時計算平台已在多個知名銀行及互聯網金融企業中部署上線,結合頂象實時決策引擎,實現了毫秒級風控指標計算與風控預警,同時為行內其他系統提供了統一實時數據計算服務,達到了很好的應用效果。

金融機構在應用大數據的過程中,不僅需要看到其對於海量數據的存儲、查詢和分析類場景的需要,更需要探索如何運用多種大數據技術範式為業務提供解決方案。在應用較多的領域如用戶畫像、精準營銷、實時反欺詐等領域,實時流計算的運用已經成為事實標準,未來在量化交易、風險檢測、實時機器學習、實時決策引擎、設備異常分析等領域,相信還有更多用武之地。


推薦閱讀:

TAG:金融 | 金融業 | 科技 |