流式大數(shù)據(jù)實時處理技術(shù)、平臺及應(yīng)用
摘要:大數(shù)據(jù)處理系統(tǒng)根據(jù)其時效性可分為批式大數(shù)據(jù)和流式大數(shù)據(jù)兩類。上述兩類系統(tǒng)均無法滿足“事中”感知查詢分析處理模式的需求。為此,從分析大數(shù)據(jù)應(yīng)用場景入手,提出了“流立方”流式大數(shù)據(jù)實時處理技術(shù)和平臺,在完整大數(shù)據(jù)集上實現(xiàn)了低遲滯、高實時的即席查詢分析。目前基于“流立方”平臺開發(fā)的業(yè)務(wù)系統(tǒng)已應(yīng)用到金融風控反欺詐、機器防御等領(lǐng)域,具有廣闊的應(yīng)用前景。
1、引言
大數(shù)據(jù)技術(shù)的廣泛應(yīng)用使其成為引領(lǐng)眾多行業(yè)技術(shù)進步、促進效益增長的關(guān)鍵支撐技術(shù)。根據(jù)數(shù)據(jù)處理的時效性,大數(shù)據(jù)處理系統(tǒng)可分為批式(batch)大數(shù)據(jù)和流式(streaming)大數(shù)據(jù)兩類。其中,批式大數(shù)據(jù)又被稱為歷史大數(shù)據(jù),流式大數(shù)據(jù)又被稱為實時大數(shù)據(jù)。
目前主流的大數(shù)據(jù)處理技術(shù)體系主要包括Hadoop及其衍生系統(tǒng)。Hadoop技術(shù)體系實現(xiàn)并優(yōu)化了MapReduce框架。Hadoop技術(shù)體系主要由谷歌、推特、臉書等公司支持。自2006年首次發(fā)布以來, Hadoop技術(shù)體系已經(jīng)從傳統(tǒng)的“三駕馬車”(HDFS、MapReduce和HBase)發(fā)展成為包括60多個相關(guān)組件的龐大生態(tài)系統(tǒng)。在這一生態(tài)系統(tǒng)中,發(fā)展出了Tez、Spark Streaming等用于處理流式數(shù)據(jù)的組件。其中,Spark Streaming是構(gòu)建在Spark基礎(chǔ)之上的流式大數(shù)據(jù)處理框架。與Tez相比,其具有吞吐量高、容錯能力強等特點,同時支持多種數(shù)據(jù)輸入源和輸出格式。除了Spark開源流處理框架,目前應(yīng)用較為廣泛的流式大數(shù)據(jù)處理系統(tǒng)還有Storm、Flink等。這些開源的流處理框架已經(jīng)被應(yīng)用于部分時效性要求較高的領(lǐng)域,然而在面對各行各業(yè)實際而又差異化的需求時,這些開源技術(shù)存在著各自的瓶頸。
在互聯(lián)網(wǎng)/移動互聯(lián)網(wǎng)、物聯(lián)網(wǎng)等應(yīng)用場景中,個性化服務(wù)、用戶體驗提升、智能分析、事中決策等復雜的業(yè)務(wù)需求對大數(shù)據(jù)處理技術(shù)提出了更高的要求。為了滿足這些需求,大數(shù)據(jù)處理系統(tǒng)必須在毫秒級甚至微秒級的時間內(nèi)返回處理結(jié)果。以國內(nèi)最大的銀行卡收單機構(gòu)銀聯(lián)商務(wù)為例,其日交易量近億筆,需對旗下540多萬個商戶進行實時風險監(jiān)控,在確保這些商戶合規(guī)開展收單業(yè)務(wù)的同時,最大限度地保障個人用戶的合法權(quán)益。這樣的高并發(fā)、大數(shù)據(jù)、高實時應(yīng)用需求給大數(shù)據(jù)處理系統(tǒng)提出了嚴峻的挑戰(zhàn)。銀聯(lián)商務(wù)以前使用的T+1事后風控系統(tǒng)存在風險偵測遲滯高(次日才能發(fā)現(xiàn)風險,損害已經(jīng)造成)、處理時間長(十幾個小時之后才能完成風險識別)、無法處理長周期歷史數(shù)據(jù)(只能分析最近幾日的流水數(shù)據(jù))以及無法支持復雜規(guī)則(僅能支持累積求和等簡單規(guī)則)等重大缺陷。為此,亟須研發(fā)全新的事中風控系統(tǒng),以重點實現(xiàn)低遲滯(在1 min內(nèi)甄別突發(fā)風險)、高實時(100 ms內(nèi)返回處理結(jié)果)、長周期(可處理長達10年以上的歷史周期數(shù)據(jù))以及支持高復雜度規(guī)則(如方差、標準差、K階中心矩、最大連續(xù)統(tǒng)計等)等目標。這一目標可以抽象為一個大數(shù)據(jù)處理科學問題:如何在一個完整的大數(shù)據(jù)集上,實現(xiàn)低遲滯、高實時的即席(Ad-Hoc)查詢分析處理。
2、技術(shù)解析
現(xiàn)有的大數(shù)據(jù)處理系統(tǒng)可以分為兩類:批處理大數(shù)據(jù)系統(tǒng)與流處理大數(shù)據(jù)系統(tǒng)。以Hadoop為代表的批處理大數(shù)據(jù)系統(tǒng)需先將數(shù)據(jù)匯聚成批,經(jīng)批量預處理后加載至分析型數(shù)據(jù)倉庫中,以進行高性能實時查詢。這類系統(tǒng)雖然可對完整大數(shù)據(jù)集實現(xiàn)高效的即席查詢,但無法查詢到最新的實時數(shù)據(jù),存在數(shù)據(jù)遲滯高等問題。相較于批處理大數(shù)據(jù)系統(tǒng),以Spark Streaming、Storm、Flink為代表的流處理大數(shù)據(jù)系統(tǒng)將實時數(shù)據(jù)通過流處理,逐條加載至高性能內(nèi)存數(shù)據(jù)庫中進行查詢。此類系統(tǒng)可以對最新實時數(shù)據(jù)實現(xiàn)高效預設(shè)分析處理模型的查詢,數(shù)據(jù)遲滯低。然而受限于內(nèi)存容量,系統(tǒng)需丟棄原始歷史數(shù)據(jù),無法在完整大數(shù)據(jù)集上支持Ad-Hoc查詢分析處理。因此,研發(fā)具有快速、高效、智能且自主可控特點的流式大數(shù)據(jù)實時處理技術(shù)與平臺是當務(wù)之急。
實現(xiàn)一個融合批處理和流處理兩類系統(tǒng)且對應(yīng)用透明的系統(tǒng)級方案,需要攻克以下幾個技術(shù)難點。
(1)復雜指標的增量計算
盡管計數(shù)、求和、平均等指標能夠依靠查詢結(jié)果合并實現(xiàn),然而方差、標準差、熵等大部分復雜指標無法依靠簡單合并完成查詢結(jié)果的融合。再者,當查詢涉及熱點數(shù)據(jù)維度及長周期時間窗口的復雜指標時,多次重新計算會帶來巨大的計算開銷。
(2)基于分布式內(nèi)存的并行計算
采用粗放的調(diào)度策略(例如約定在每天的固定時間將流數(shù)據(jù)導入批處理系統(tǒng))會造成內(nèi)存資源的極大浪費,亟須研究實現(xiàn)一種細粒度的基于進度實時感知的融合存儲策略,以極大地優(yōu)化和提升融合系統(tǒng)的內(nèi)存使用效率。
(3)多尺度時間窗口漂移的動態(tài)數(shù)據(jù)處理
來自業(yè)務(wù)系統(tǒng)的數(shù)據(jù)查詢請求會涉及多種尺度的時間窗口,如“最近5筆刷卡交易的金額”“最近10 min內(nèi)密碼重試次數(shù)”“過去10年的月均交易額”等。每次查詢請求都重新計算結(jié)果會對系統(tǒng)性能造成極大的影響,亟須研究實現(xiàn)一種支持多種時間窗口尺度(數(shù)秒到數(shù)十年)、多種窗口漂移方式(數(shù)據(jù)驅(qū)動、系統(tǒng)時鐘驅(qū)動)的動態(tài)數(shù)據(jù)實時處理方法,以快速響應(yīng)來自業(yè)務(wù)系統(tǒng)的即席查詢請求。
(4)高可用、高可擴展的內(nèi)存計算
基于內(nèi)存介質(zhì)能夠大大提升數(shù)據(jù)分析及處理能力,然而由于其易揮發(fā)的特性,一般需要采用多副本的方式來實現(xiàn)基于內(nèi)存的高可用方案,這使得“如何確保不同副本的一致性”成為一個待解決的問題。此外,在集群內(nèi)存不足或者部分節(jié)點失效時,“如何讓集群在不間斷提供服務(wù)的同時重新平衡”同樣是一個待解決的技術(shù)難題。亟須研究分布式多副本一致性協(xié)議以及自平衡的智能分區(qū)算法,以進一步提升流處理集群的可用性以及可擴展性。
“流立方”流式大數(shù)據(jù)實時處理技術(shù)在上述領(lǐng)域取得了一系列突破,該技術(shù)提供基于時間窗口漂移的動態(tài)數(shù)據(jù)快速處理,支持計數(shù)、求和、平均、最大、最小、方差、標準差、K階中心矩、遞增/遞減、最大連續(xù)遞增/遞減、唯一性判別、采集、過濾等多種分布式統(tǒng)計計算模型,并且實現(xiàn)了復雜事件、上下文處理等實時分析處理模型集的高效管理技術(shù)。
3、平臺縱覽
基于“流立方”流式大數(shù)據(jù)實時處理技術(shù),研發(fā)了“流立方”流式大數(shù)據(jù)實時處理平臺。其應(yīng)用框架如圖1所示,具有良好的靈活性和適應(yīng)性。平臺的數(shù)據(jù)裝載模塊負責從具體業(yè)務(wù)系統(tǒng)中接入實時流數(shù)據(jù),數(shù)據(jù)抽取模塊負責批量抽取歷史數(shù)據(jù),模型裝載模塊負責將分析處理模型集中的計算模型和腳本加載到平臺中。當收到業(yè)務(wù)系統(tǒng)發(fā)出的實時查詢請求時,“流立方”平臺能夠根據(jù)分析處理模型在完整大數(shù)據(jù)集上實時計算出相應(yīng)的指標,并進行判斷,將結(jié)果反饋給業(yè)務(wù)系統(tǒng)。
在測試環(huán)境為8臺服務(wù)器(每臺服務(wù)器配置24核 CPU、256 GB內(nèi)存),同時計算16個統(tǒng)計指標(涉及4個維度,包含計數(shù)、求和、平衡、最大、最小、標準差、過濾、去重、排序、復雜事件處理等多種算法)的性能測試中,“流立方”平臺達到了單節(jié)點寫入大于43 000 TPS、8節(jié)點讀取大于100萬TPS、平均時延為1~2 ms的優(yōu)異性能,如圖2所示。
“流立方”平臺在解決批式大數(shù)據(jù)和流式大數(shù)據(jù)融合實時處理技術(shù)難題,實現(xiàn)優(yōu)異性能的同時,還解決了流式大數(shù)據(jù)處理平臺面臨的兩大工程化難題。一是作業(yè)的編排效率問題。大部分開源流處理平臺在完成一個流處理編排時,都需要經(jīng)過拓撲設(shè)計、代碼編寫、功能測試、打包部署等環(huán)節(jié),一般需要一周的時間才能完成。“流立方”平臺通過基于“所見即所得”的在線作業(yè)編排管理,將上線任務(wù)耗時降低到分鐘級,大大提升了流處理作業(yè)的編排效率。二是流處理作業(yè)的靈活變更問題。流處理平臺擅長進行邏輯預先定義的增量計算,盡管其計算效率極高,但計算靈活度受到限制。例如,某業(yè)務(wù)需要統(tǒng)計過去3個月的數(shù)據(jù),現(xiàn)有的流處理平臺在該業(yè)務(wù)上線3個月后才能完全生效,這樣的工作方式使流處理技術(shù)在實際應(yīng)用中受到很大的局限。“流立方”平臺創(chuàng)新性地引入流媒體播放器的錄制與重放思路,在原始數(shù)據(jù)進入流處理平臺時,通過順序?qū)懙姆绞匠志没环菰紨?shù)據(jù),在需要上線新的計算作業(yè)時,即刻重發(fā)指定時間窗口內(nèi)的原始數(shù)據(jù),從而實現(xiàn)快速(分鐘級甚至秒級)計算作業(yè)上線。
“流立方”平臺引入了一系列創(chuàng)新技術(shù),在性能、可用性、可擴展性等多個層面提升了流處理平臺的處理能力,滿足金融領(lǐng)域在內(nèi)的眾多領(lǐng)域的業(yè)務(wù)及運維需求。引入數(shù)據(jù)沖突智能規(guī)避技術(shù),解決了流式處理中的熱點數(shù)據(jù)處理問題,從而解決了大顆粒數(shù)據(jù)維度的處理效率問題;引入Paxos一致性協(xié)議,解決內(nèi)存存儲計算時多副本一致性問題,提供了面向運維人員透明的一致性解決方案;引入智能分區(qū)技術(shù),基于一致性散列技術(shù),進一步將散列值拆解為散列塊,通過散列塊的平滑遷移解決存儲集群的可伸縮性設(shè)計問題,確保對于運維人員的集群變更透明性;引入計算作業(yè)的動態(tài)運行時加載技術(shù),規(guī)避了作業(yè)手工打包部署的問題,進一步提升了開發(fā)人員的工作效率。
在國內(nèi)某大型銀行卡收單機構(gòu)組織的招標測試中,測試環(huán)節(jié)為兩臺低配置虛擬機,測試數(shù)據(jù)為該機構(gòu)的數(shù)千萬筆交易流水,計算邏輯包括50多條規(guī)則,涉及30多個統(tǒng)計指標。在該測試環(huán)節(jié)下,兩家國外著名廠商中,一家廠商的計算時間長達24 h,另一家老牌數(shù)據(jù)庫軟件提供商則未能在一天內(nèi)完成計算。相較于這些國外著名廠商的大數(shù)據(jù)處理平臺,“流立方”平臺能夠在3 h內(nèi)完成所有計算,且正確率為100%。
4、應(yīng)用場景
“流立方”流式大數(shù)據(jù)實時處理系統(tǒng)在金融、交通、電信、公安等行業(yè)具有廣泛的應(yīng)用場景。以金融風控反欺詐為例,部署“流立方”風控系統(tǒng)僅需在交易前端增加風控探頭,將實時交易數(shù)據(jù)旁路接入系統(tǒng)。“流立方”風控系統(tǒng)根據(jù)融合了專家知識和機器學習結(jié)果的數(shù)百條規(guī)則對每筆交易進行風險評估,判斷是否允許進行該筆交易,流程如圖3所示。該系統(tǒng)平均響應(yīng)時間在6 ms以下,并發(fā)數(shù)超過50 000筆/s。同時,實現(xiàn)這一性能僅需要4臺服務(wù)器。
基于“流立方”的金融風控反欺詐技術(shù)體系包含技術(shù)(如設(shè)備指紋、代理偵測、生物識別、關(guān)聯(lián)分析、機器學習等技術(shù))、知識(如盜卡反欺詐、偽卡反欺詐、信用卡套現(xiàn)、營銷反欺詐等規(guī)則與模型)、數(shù)據(jù)(如虛假手機數(shù)據(jù)、代理IP數(shù)據(jù)、P2P失信數(shù)據(jù)等標識數(shù)據(jù))三大板塊。技術(shù)部分中的設(shè)備指紋技術(shù)通過主被動混合的形式采集設(shè)備中軟硬相關(guān)要素,結(jié)合概率論等算法為每一個設(shè)備頒發(fā)一個全球唯一的指紋編碼,這些指紋編碼在反欺詐的整個過程中起到非常積極的作用;代理偵測技術(shù)通過短時間內(nèi)掃描IP相關(guān)端口來識別那些開啟代理的IP,并在這些IP訪問金融服務(wù)時進行識別;生物識別技術(shù)通過采集設(shè)備上用戶的鼠標點擊、觸摸、鍵盤敲擊等行為識別操作者是人還是機器以及是否操作者本人的問題;關(guān)聯(lián)分析技術(shù)在底層通過圖數(shù)據(jù)庫存儲不同節(jié)點以及關(guān)系信息,最終在界面上通過圖的形式進行欺詐者關(guān)聯(lián)分析及復雜網(wǎng)絡(luò)分析;機器學習技術(shù)通過有監(jiān)督、無監(jiān)督的機器學習算法提升欺詐識別的準確率及覆蓋率,并結(jié)合流立方技術(shù)提供模型的事中預測能力。
基于上述技術(shù)體系,研發(fā)了銀行業(yè)務(wù)風險實時監(jiān)控系統(tǒng)、互聯(lián)網(wǎng)支付業(yè)務(wù)風險實時監(jiān)控系統(tǒng)、電商業(yè)務(wù)風險實時監(jiān)控系統(tǒng)等金融風控反欺詐系列解決方案。這些方案已應(yīng)用到銀行、第三方支付機構(gòu)、互聯(lián)網(wǎng)金融等領(lǐng)域的上百家企業(yè)。目前50%以上的線下交易都在“流立方”的保護下進行,基于“流立方”的金融風控反欺詐解決方案每天為我國的金融機構(gòu)抵御上億次的攻擊。該技術(shù)已經(jīng)成為我國金融安全領(lǐng)域基礎(chǔ)設(shè)施必不可少的組成部分。
此外,在互聯(lián)網(wǎng)機器防御系統(tǒng)中,“流立方”同樣能發(fā)揮巨大作用。如今網(wǎng)絡(luò)機器人遍布票務(wù)、電商、招聘、銀行、政府、社交等各類網(wǎng)站,消耗了40%~60%的網(wǎng)絡(luò)流量。網(wǎng)絡(luò)機器人不僅消耗網(wǎng)絡(luò)資源、影響正??蛻粼L問、增加網(wǎng)站運營成本,還會爬取產(chǎn)品、價格信息,形成不正當競爭,甚至混淆網(wǎng)站用戶生態(tài),影響營銷分析。傳統(tǒng)的控制策略通過采取屏蔽頻繁訪問、設(shè)置驗證碼等方式防御網(wǎng)絡(luò)機器人,無法應(yīng)對日益智能化的新型網(wǎng)絡(luò)機器人?;?ldquo;流立方”的互聯(lián)網(wǎng)機器防御系統(tǒng)通過在Web服務(wù)器上嵌入插件或者獨立的嗅探器(sniffer)程序,將全流量的Web訪問請求旁路到獨立的機器防御集群,進行實時的流量分析及防御決策,并將決策后的結(jié)果實時回饋到Web服務(wù)器插件中。Web服務(wù)器插件在判定當前訪問的設(shè)備或者IP地址等是機器人時,能夠自動改寫響應(yīng)內(nèi)容,根據(jù)不同的風險級別自動拒絕交易或?qū)⒃L問者引導到第三方圖形驗證碼服務(wù)商進行機器人驗證。訪問者在通過驗證后可以繼續(xù)正常訪問Web服務(wù)。該系統(tǒng)還創(chuàng)新地將設(shè)備指紋以及人機識別服務(wù)運用到機器防御系統(tǒng)中,不僅增加了可分析維度,提升了控制顆粒度,同時能夠?qū)跒g覽器內(nèi)核的高級爬蟲進行防護。此外,將機器防御規(guī)則、數(shù)據(jù)服務(wù)、設(shè)備指紋、人機識別以及圖形驗證碼以軟件即服務(wù)(software as a service,SaaS)的形式提供服務(wù),進一步降低了互聯(lián)網(wǎng)網(wǎng)站客戶的運維門檻,提升了產(chǎn)品競爭力。該機器防御系統(tǒng)工作過程如圖4所示。
基于“流立方”的實時機器防御系統(tǒng)通過多服務(wù)器訪問流水關(guān)聯(lián)決策、長周期數(shù)據(jù)決策、復雜規(guī)則爬蟲識別、設(shè)備維度爬蟲識別、人機識別等技術(shù),實現(xiàn)了微秒級(400~800μs)的識別時延,同時具有機器人識別管控一體化、輕量級接入等優(yōu)點。根據(jù)已經(jīng)接入機器防御服務(wù)的幾十家客戶的反饋,基于“流立方”平臺的防御系統(tǒng)對機器人識別覆蓋率在95%以上,準確率為99.9%。該機器防御系統(tǒng)能夠攔截這些客戶業(yè)務(wù)系統(tǒng)中占原有訪問總流量80%~90%的來自網(wǎng)絡(luò)機器人的訪問流量,使得其業(yè)務(wù)系統(tǒng)服務(wù)器的壓力降為原來的10%。由于基于“流立方”的機器防御系統(tǒng)的卓越識別及控制機器人的能力,當前,全國最大的票務(wù)平臺正在對此服務(wù)進行全面的測試,希望能夠進一步提升其票務(wù)服務(wù)能力。
此外,基于“流立方”的流式大數(shù)據(jù)實時處理平臺在智慧交通領(lǐng)域也大有作為。通過實時分析從預埋在全國各地的攝像頭采集的車牌信息,配合地理位置信息服務(wù)以及基于地理信息系統(tǒng)(geographic information system,GIS)的最短交通距離計算,實現(xiàn)實時套牌車信息抓取,為進一步打擊違法犯罪服務(wù)提供幫助;通過實時分析交叉路口雙向的車流量信息,實時控制每個路口的紅綠燈、智能變換潮汐車道及可變車道,從而大大提升城市的通行效率。
“熱數(shù)據(jù)”帶來無與倫比的價值,數(shù)據(jù)從產(chǎn)生開始,其應(yīng)用價值隨時間的流逝呈現(xiàn)指數(shù)式下降,如何充分應(yīng)用“熱數(shù)據(jù)”是一個新生事務(wù),是一個長期任務(wù),也是流式大數(shù)據(jù)處理技術(shù)大有可為之處。“流立方”流式大數(shù)據(jù)實時處理技術(shù)和平臺在金融、電信、交通、公安、海關(guān)、網(wǎng)絡(luò)安全等需要引入“事中”感知分析決策模式的行業(yè)都具有廣闊的應(yīng)用前景。
5、結(jié)束語
基于批式大數(shù)據(jù),可以不斷學習新的知識,累積新的經(jīng)驗。然而,在應(yīng)用這些知識和經(jīng)驗時,流式大數(shù)據(jù)更能夠極大限度地挖掘“熱數(shù)據(jù)”的潛在價值。這使得流式大數(shù)據(jù)技術(shù)具備更有效的應(yīng)用推廣價值。
流式大數(shù)據(jù)實時處理是大數(shù)據(jù)時代信息化的重要抓手。采用“事中”甚至“事前”模式實現(xiàn)感知、分析、判斷、決策等功能的智能系統(tǒng)需要流式大數(shù)據(jù)實時處理平臺的支撐。此外,流式大數(shù)據(jù)實時處理可以為大數(shù)據(jù)驅(qū)動的深度學習提供計算框架支撐。“流立方”流式大數(shù)據(jù)實時處理平臺可為研制融合邏輯推理、概率統(tǒng)計、眾包、神經(jīng)網(wǎng)絡(luò)等多種形態(tài)的下一代人工智能統(tǒng)一計算框架提供支持。
作者:陳純(1955-),男,博士,浙江大學計算機科學與技術(shù)學院教授,中國工程院院士,計算機應(yīng)用專家,主要研究方向為大數(shù)據(jù)智能計算、計算機圖形圖像處理等。