邢黎聞
“從時(shí)間角度來看,大數(shù)據(jù)可以分成兩類,一類是歷史的大數(shù)據(jù),即批式大數(shù)據(jù);另一類是實(shí)時(shí)的大數(shù)據(jù),即流式大數(shù)據(jù)。作個(gè)通俗的比喻,大數(shù)據(jù)等同于水庫,那么存在水庫里的水就是批式大數(shù)據(jù),而隨時(shí)流進(jìn)水庫的水就是流式大數(shù)據(jù)?!币婚_場,計(jì)算機(jī)應(yīng)用專家、浙江大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院教授、中國工程院院士陳純就用一個(gè)通俗易懂的比喻把晦澀難懂的專業(yè)術(shù)語闡述得簡單明了。也真是因?yàn)橛辛诉@個(gè)比喻,讓距離這個(gè)專業(yè)十萬八千里的筆者,聽起他的主題演講來也并非想象中的那么云里霧里。
迫切需要研發(fā)具有快速、高效、智能且自主可控特點(diǎn)的流式大數(shù)據(jù)實(shí)時(shí)智能處理平臺(tái)
目前主流的大數(shù)據(jù)處理技術(shù)體系是Hadoop及其衍生系統(tǒng),主要由Yahoo、Facebook等公司支持,實(shí)現(xiàn)并優(yōu)化了MapReduce框架。2006年首次發(fā)布以來,Hadoop技術(shù)體系已經(jīng)從傳統(tǒng)的三架馬車——HDFS、MapReduce和Hbase發(fā)展為60多個(gè)相關(guān)組建的龐大生態(tài)。值得一提的是,從2012年開始,才有了專門流式大數(shù)據(jù)的組件,如Tez、Spark Streaming。也就是說,在2012年之前,所有的大數(shù)據(jù)算法和系統(tǒng)只關(guān)注批式大數(shù)據(jù)。Spark Streaming是建立在Spark基礎(chǔ)之上的流式大數(shù)據(jù)處理框架。與Tez相比,具有吞吐量高、容錯(cuò)能力強(qiáng)等特點(diǎn),并支持多種數(shù)據(jù)輸入源和輸出格式。
2017年1月,Apache基金會(huì)發(fā)布了Beam項(xiàng)目。其前身是Google Dataflow數(shù)據(jù)處理服務(wù),本身不是一個(gè)流式大數(shù)據(jù)處理平臺(tái),而是支持批式大數(shù)據(jù)和流式大數(shù)據(jù)融合處理的統(tǒng)一編程處理框架,可集成多種大數(shù)據(jù)處理平臺(tái),包括Spark、SQL、Hadoop、Flink、Spark Streaming、Apache Storm、Stream Cube……。
數(shù)據(jù)流處理的應(yīng)用場景主要兩類,第一類是互聯(lián)網(wǎng)和移動(dòng)互聯(lián)網(wǎng),通過提供個(gè)性化服務(wù)來不斷提升用戶體驗(yàn),它對實(shí)時(shí)性的要求是達(dá)到亞秒級(jí)的響應(yīng);第二類是物聯(lián)網(wǎng)的傳感數(shù)據(jù),通過對實(shí)時(shí)數(shù)據(jù)和歷史數(shù)據(jù)的智能分析,在事中作出決策和處理,它對實(shí)時(shí)性的要求是達(dá)到毫秒級(jí)的響應(yīng)。
現(xiàn)有的解決方案在做實(shí)時(shí)處理上都有困難,不管是Hadoop技術(shù)體系,還是流式大數(shù)據(jù)組件。Hadoop技術(shù)體系是分布式、集群式的架構(gòu),它的好處是數(shù)據(jù)量大,但是難以實(shí)時(shí)響應(yīng);而學(xué)過計(jì)算機(jī)的人都知道,要想計(jì)算的快的化,數(shù)據(jù)一定要存在內(nèi)存里,但是內(nèi)存再怎么大,也是有限的,這也就是流式大數(shù)據(jù)組件的短處——雖然其計(jì)算很快,但數(shù)據(jù)規(guī)模受限。所以,我們迫切需要研發(fā)具有快速、高效、智能且自主可控特點(diǎn)的流式大數(shù)據(jù)實(shí)時(shí)智能處理平臺(tái)。
“流立方”實(shí)時(shí)智能處理平臺(tái)提供基于時(shí)間窗口漂移的動(dòng)態(tài)數(shù)據(jù)快速處理技術(shù)
“流立方”提供基于時(shí)間窗口漂移的動(dòng)態(tài)數(shù)據(jù)快速處理技術(shù),支持計(jì)數(shù)、求和、平均、最大、最小、方差、標(biāo)準(zhǔn)差、K階中心矩、遞增/遞減、最大連續(xù)遞增/遞減、唯一性判別、采集、過濾等多種分布式統(tǒng)計(jì)計(jì)算模型。
“流立方”平臺(tái)+實(shí)時(shí)智能處理分析模型(規(guī)則)集把處理引擎和計(jì)算邏輯分開,避免計(jì)算邏輯變化造成二次開發(fā)。
批式大數(shù)據(jù)處理性能以排序作為公認(rèn)的評(píng)測基準(zhǔn),但是流式大數(shù)據(jù)實(shí)時(shí)處理性能尚未無公認(rèn)的評(píng)測基準(zhǔn)。在8臺(tái)PC Serve、單臺(tái)服務(wù)器配置為12核CPU、256G內(nèi)存的測試環(huán)境下,“流立方”實(shí)時(shí)處理系統(tǒng)性能指標(biāo)達(dá)到單節(jié)點(diǎn)寫入43000+TPS,8節(jié)點(diǎn)讀取100萬+TPS,平均延時(shí)10-20毫秒?!傲髁⒎健逼脚_(tái)在銀聯(lián)商務(wù)招標(biāo)測試中綜合性能排名第一,打敗了IMB、Oracle、CFCA。在當(dāng)前的電子支付上,除了螞蟻金服和微信支付是自己做的風(fēng)控以外,基本上所有的銀聯(lián)系統(tǒng)的風(fēng)控都是基于流立方來做的。
此外,還可以利用“流立方”平臺(tái)來反爬蟲。當(dāng)前,40%~60%的流量由爬蟲貢獻(xiàn),且日漸趨于智能化發(fā)展,遍布了包括銀行類、政府類、社交類、票務(wù)類、電商類等在內(nèi)的各類網(wǎng)站,正在消耗網(wǎng)站內(nèi)資源、影響正常分訪問、增加網(wǎng)站運(yùn)營成本、混淆網(wǎng)站用戶生態(tài)、爬取產(chǎn)品和價(jià)格信息進(jìn)行不正當(dāng)競爭。而現(xiàn)在的“流立方”實(shí)時(shí)反爬蟲系統(tǒng),可以增加數(shù)據(jù)服務(wù),把數(shù)據(jù)的指南、人機(jī)的識(shí)別、爬蟲的行為分析都用安全專家、網(wǎng)絡(luò)專家規(guī)則的形式考慮進(jìn)去,在微秒級(jí)延時(shí)中識(shí)別爬蟲和作出反擊,達(dá)到積極主動(dòng)的實(shí)時(shí)爬蟲修補(bǔ)。
總而言之,大數(shù)據(jù)實(shí)時(shí)智能處理是大數(shù)據(jù)時(shí)代信息化的重要抓手,采用“事中”甚至“事前”模式實(shí)現(xiàn)分析、判斷、決策等功能的智能系統(tǒng)需要流式大數(shù)據(jù)實(shí)時(shí)處理平臺(tái)的支撐。物聯(lián)網(wǎng)實(shí)時(shí)傳感數(shù)據(jù)需要與歷史數(shù)據(jù)相結(jié)合,進(jìn)行實(shí)時(shí)處理、分析和決策;互聯(lián)網(wǎng)/移動(dòng)互聯(lián)網(wǎng)上的各類應(yīng)用(App)需要將流式數(shù)據(jù)與歷史數(shù)據(jù)相結(jié)合,進(jìn)行實(shí)時(shí)的個(gè)性化服務(wù)。同時(shí),大數(shù)據(jù)實(shí)時(shí)智能處理可以為大數(shù)據(jù)驅(qū)動(dòng)的深度學(xué)習(xí)提供計(jì)算框架的支撐平臺(tái),基于大數(shù)據(jù)實(shí)時(shí)智能處理平臺(tái),研制能融合傳統(tǒng)符號(hào)人工智能、眾包人工智能、神經(jīng)網(wǎng)絡(luò)人工智能等多種形態(tài)的統(tǒng)一計(jì)算框架,為下一代數(shù)據(jù)驅(qū)動(dòng)和知識(shí)引導(dǎo)相結(jié)合的人工智能技術(shù)研究和產(chǎn)品研發(fā)提供高效可靠的基礎(chǔ)設(shè)施。