
摘要:最近幾年,全球經濟形勢發生了很大的變化,中國的經濟形勢也異常復雜。在這種背景下,我國銀行的經營環境跟過去完全不同,自身的體制也發生了很大變化,在新形勢下涌現出了許多新的問題。面對新時代下的新環境,銀行業如何合理利用大數據的技術來推動、促進銀行業務的發展和優化,在國內商業銀行尚無成熟的實時流式數據處理平臺的樣板案例,基于開源軟件框架的企業級大數據分析平臺也無成功的開發和實施經驗借鑒。本文闡述了借鑒主流互聯網大數據生態圈技術,如flink、RTDB、CDH、AUTO ML,搭建大數據服務平臺,實現并滿足了客戶、業務、技術的要求,為改善經營決策,和管理層提供可靠的數據支撐,使經營決策更加高效、敏捷,精確度更高;改善與客戶之間的交互、增加用戶粘性,不斷增強銀行在多個業務方面的競爭力。
關鍵詞:大數據;流式數據;實時處理;模型開發
中圖分類號:TP311 文獻標識碼:A
文章編號:1009-3044(2020)18-0039-02
開放科學(資源服務)標識碼(OSID):
1 項目背景
按照新一代數據應用服務建設指引,大部分銀行已經建成了以數據倉庫、數據實驗室等為代表的數據應用服務平臺群,為銀行結構化數據的處理、查詢、分析和挖掘提供了強有力的支撐。但是伴隨數字化戰略的深入推進,通過信息化建設,進一步提升大數據獲取、整合和挖掘分析能力,已經勢在必行。亟待依托豐富的大數據互聯網生態圈,引入最新的大數據分析工具和處理手段,實現對PB及以上級別的海量的、結構化與非結構化相融合的、分鐘乃至秒級更新的數據進行高效加工、計算和處理,更敏捷、快速地響應業務創新需求。
本平臺將依托主流互聯網大數據生態圈,引入開源社區軟件框架,采取自主和合作研發相結合,完成銀行大數據服務平臺的搭建和基礎數據的準備,并選擇業務部門關注的場景開展應用試點,確保平臺即建即用,快速產生效益。
2 銀行大數據服務平臺的建設
2.1 平臺建設內容及項目目標
旨在依托主流大數據生態圈,以CDH社區版開源軟件框架為基礎,實現以下目標:
(1)搭建大數據應用支撐平臺,為各應用系統提供實時的流式數據和批量數據處理服務;
(2)搭建大數據洞察分析平臺,支持全行對海量數據的挖掘分析和模型研發;
(3)完成電子銀行客戶足跡分析、客服大數據分析、零售信貸風險實時預警、資金變動營銷等業務場景的應用試點;
(4)制定銀行大數據平臺的開發和管理規范。
2.2 大數據應用支撐架構方案
應用架構整體說明如圖1所示。
大數據應用支撐平臺整體包括存儲層、緩存層、計算層和應用層,同時包括輔助調度監控和工具類。
存儲層包括基于HDFS的文件存儲和基于HBase的數據持久化存儲。文件存儲用來保存歷史報文。數據持久化存儲用來保存報文數據,指標數據,預警歷史數據等。
緩存層的設計,一方面是為了加速流式引擎的處理,這里我們使用了緩存層基于高速的內存的分布式存儲Ignite.另一方面是為了處理引擎的前后層次的解耦,這里我們使用了Kaf-ka作為高吞吐的消息隊列,而且能提供一定程度的持久化能力。
在計算層,我們使用了開源社區非常活躍,成熟穩定的Spark,Flink,ElasticSearch. Flink作為流式引擎的計算主體,擁有高性能、特性豐富完整的有點;Spark作為批處理的計算引擎,具有高性能,高靈活性等特點;ElasticSearch是作為歷史報文的存儲、全文索引、搜索的重要組件。
在應用層,提供各個層次的處理邏輯。批量層,包含一組基于Spark實現的工具,實現了導人、導出、校對等功能。檢索層包含了對歷史報文庫的檢索,包含歷史報文、錯誤報文、亂序報文。
流式處理框架包含了一系列的處理邏輯:報文解析,報文抽取,報文配對,報文篩選,交易篩選,指標計算,規則計算。其中,報文解析、報文抽取、報文配對,數據報文預處理階段,目的是為了將合法的報文組成一個交易事件。指標計算是將一系列交易事件,組合計算成一個指標,為后面規則計算引擎提供數據支撐。規則計算則是基于Drools引擎而實現的。
整個計算框架涉及在線流計算平臺、批量計算和歷史庫分析三大核心部分。其中在線流計算平臺包括報文預處理、指標計算、規則處理和輸出聯動等功能;離線處理涉及旁路驗證、批量更新、數據分析、報文檢索等功能;歷史庫的管理涉及報文歷史庫、日志歷史庫、交易歷史庫、指標歷史庫、預警歷史庫等核心模塊。
在線流計算平臺被劃分為兩個部分,報文預處理部分和應用部分,它們是獨立運行的Flink任務,它們之間通過Kafka消息隊列連接。需要指出的是,可以有多個不同的應用同時運行。
2.3 大數據應用支撐平臺的技術創新
流計算引擎采用kafka+Spark Streaming+kafka+Flink的計算框架,有效避免單純Flink在有狀態的計算模型中帶來的數據傾斜問題。
采用目前業界領先的高性能的內存計算引擎RTDB.實現事務性和原子性緩存及內存內索引。
動態規則采用Drools規則引擎編寫,無硬編碼。將DroolsRules通過Zookeeper進行配置的分發無須重啟服務即可完成流式引擎的配置更新。
通過前端功能包裝,實現拖拉拽的方式,降低了使用門檻,提高了流作業開發效率,形成了統一的標準規范,便于統一管理和維護。
銀行生產系統建成并投入使用的集群規模是:50臺洞察分析平臺、30臺大數據應用支撐平臺,支持非保序160,000 rIPS實時處理性能;包保序40,OOOTPS實時處理性能。每天處理日志總量:10億條,近2TB,高峰值:50萬條/秒。
2.4 大數據洞察分析平臺架構方案
從大數據洞察分析平臺的總體架構上,主要分為幾個部分。第一是基礎數據平臺,使用CDH搭建,用作數據的存儲和計算,第二部分是探索分析平臺,通過五個通道:數據接口、統一權限、統一資源、統一調度、統一監控,對接到基礎數據平臺上,滿足用戶對于數據處理、探索、算法開發和工作流調度等功能的需求。
大數據洞察分析平臺提供統一監控運維功能,能實現對平臺集群端到端的管理,對平臺的每個部件都提供了細粒度的可視化和控制,從而設立了企業部署的標準。通過統一監控運維功能,運維人員得以提高集群的性能,提升服務質量,提高合規性并降低管理成本。統一監控運維功能設計的目的是為了使對企業數據中心的管理變得簡單和直觀。通過統一監控運維,可以方便地部署,并且集中式的操作完整的大數據軟件棧。統一監控運維功能提供自動化組件安裝過程,減少了集群部署的時間。提供集群范圍內的節點實時運行狀態視圖,可以方便地實時監控集群運行狀態。同時,還提供了一個中央控制臺,用于配置集群。
綜上所述,通過統一監控運維功能,為大數據洞察分析平臺提供以下的能力:
(1)自動化安裝過程,大幅縮短部署時間;
(2)集群概況的實時監控,例如節點、服務的運行狀況;
(3)通過集中的中央控制臺實現集群的配置更改;
(4)多方式、交互式的數據探索分析建模功能使用戶能夠方便直觀的進行數據探索,高效使用機器學習算法進行分析和建模;
2.5 大數據洞察分析平臺的技術創新
大數據洞察分析平臺采用容器化技術,在技術上對資源隔離、外部依賴控制、數據沙箱、算法版本控制、工作協同等方面具有獨特且明顯的優勢。
探索平臺支持基于Web控制臺方式的操作平臺,實現探索模型的快速投產,通過Web前端即可進行算法的封裝、打包和發布,構建成工作流框架。工作流支持共享、復制、修改等操作,新增應用能夠快速復用已有的探索成果。
同時,在ETL方案的實現上,也借助了平臺產品本身的數據處理模塊封裝、工作流管理和調度等功能,完美的統一在一套框架之下,能夠方便地進行復用和發布。 支持多種分析建模語言,Scala(使用Apache Spark)、Pvthon(Apache Spark)、Spark SQL、Hive、Markdown、Shell等。
支持運行soL語句,對數據進行查詢,處理,查看運行狀態,運行結果。并且支持結果數據的可視化。歷史soL可多次運行,使用已有soL提高代碼復用,減少開發成本。soL執行支持使用多種引擎。
3 應用效果
通過建設大數據服務平臺,包括應用支撐平臺和洞察分析平臺,為營銷、風控等業務應用提供完整的支撐。提供賬號安全服務,避免盜號盜卡后不能第一時間發現和銷戶,每天產生3000-5000次預警,準確率100%。
對信用卡用戶的某些交易進行監控,只要發生指定交易,則觸發營銷活動,增加銀行與信用卡客戶之間的互動。
實時監控銀行客戶的某些消費活動,對用于非個人消費的情況提供預警。
實時對滿足條件的客戶提供營銷增值服務。
4 結論
通過搭建大數據應服務平臺,為銀行各應用系統提供實時的流式數據和批量數據處理服務,包括但不限于數據采集、數據存儲、作業調度、數據處理、系統管理、快速擴展以及提供必要的外部數據接口。平臺使用先進的流式數框架,實現流數據接入、分流處理、指標計算、規則處理、接出聯動、批量調度和處理、運維和運行資源管理、組件合并部署、實時流處理的高可用機制、超時處理等。滿足實時性、穩定性、可靠性、易用性、安全性等非功能性需求,可擴展性高,易于維護,并在項目建設過程中,形成平臺的技術規范、設計規范、業務運營規范,完成了包括但不限于電子銀行客戶足跡分析、客服大數據分析、風險實時類預警、資金變動營銷等業務場景的應用。最終發揮了數據驅動作用,加快實現了數字化經營與風控的目標。
參考文獻:
[1]盛瀚,大數據在金融行業的應用與挑戰[J].科技創新導報,2017(9).
【通聯編輯:代影】
作者簡介:劉寶(1983-),男,安徽懷遠人,工程師,本科,研究方向:大數據人工智能。