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