• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      大數(shù)據(jù)流式計(jì)算系統(tǒng)綜述

      2017-01-17 08:02:01祝錫永龐培培
      關(guān)鍵詞:流式數(shù)據(jù)流架構(gòu)

      祝錫永,龐培培

      (浙江理工大學(xué) 管理科學(xué)與工程研究所, 浙江 杭州 310018)

      大數(shù)據(jù)流式計(jì)算系統(tǒng)綜述

      祝錫永,龐培培

      (浙江理工大學(xué) 管理科學(xué)與工程研究所, 浙江 杭州 310018)

      在闡述流式大數(shù)據(jù)特征及計(jì)算模式的基礎(chǔ)上,介紹了大數(shù)據(jù)流式計(jì)算的3種典型平臺(tái),分析了它們的系統(tǒng)架構(gòu)、特征及應(yīng)用場(chǎng)景,并對(duì)其進(jìn)行比較.總結(jié)并展望了大數(shù)據(jù)流式計(jì)算的發(fā)展前景.

      大數(shù)據(jù);大數(shù)據(jù)技術(shù);流式計(jì)算;流式大數(shù)據(jù)

      在大數(shù)據(jù)時(shí)代,數(shù)據(jù)的實(shí)時(shí)性日益突出,數(shù)據(jù)的流式特征更加明顯,越來越多的應(yīng)用場(chǎng)景需要部署在流式計(jì)算平臺(tái)中.傳統(tǒng)批量處理技術(shù)已難以滿足數(shù)據(jù)處理實(shí)時(shí)性的需求,因此,構(gòu)建大數(shù)據(jù)流式計(jì)算系統(tǒng)的重要性日漸突出.

      大數(shù)據(jù)是從不同類型的數(shù)據(jù)中快速獲得有價(jià)值信息的技術(shù),是提升企業(yè)和國家競(jìng)爭(zhēng)優(yōu)勢(shì)的重要方式[1].現(xiàn)有大數(shù)據(jù)技術(shù)的計(jì)算模式主要有批量計(jì)算和流式計(jì)算.其中,批量計(jì)算采用先存儲(chǔ)再處理的模式,是對(duì)靜態(tài)數(shù)據(jù)進(jìn)行的計(jì)算和價(jià)值發(fā)現(xiàn),實(shí)時(shí)性要求不高;流式計(jì)算采用先處理再存儲(chǔ)的方式,避免了數(shù)據(jù)存儲(chǔ)產(chǎn)生的延遲,可以對(duì)數(shù)據(jù)實(shí)時(shí)地分析和處理.

      隨著云計(jì)算、物聯(lián)網(wǎng)等信息技術(shù)的應(yīng)用和發(fā)展,數(shù)據(jù)量飛速增長.大數(shù)據(jù)時(shí)代的到來對(duì)數(shù)據(jù)的實(shí)時(shí)性有了更高的要求,越來越多的應(yīng)用場(chǎng)景需要采用流式計(jì)算平臺(tái),如金融行業(yè)、互聯(lián)網(wǎng)等領(lǐng)域.然而關(guān)于流式計(jì)算的研究尚處于初級(jí)階段.盡管 Twitter、IBM及Yahoo等企業(yè)開發(fā)的流式計(jì)算平臺(tái),在一定程度上推動(dòng)了大數(shù)據(jù)流式計(jì)算的發(fā)展[2],但仍存在很多限制,如系統(tǒng)的擴(kuò)展性、負(fù)載均衡、系統(tǒng)容錯(cuò)、數(shù)據(jù)吞吐量等[3].如何構(gòu)建低延遲、高吞吐并穩(wěn)定運(yùn)行的流式處理系統(tǒng)顯得尤為重要.

      1 流式大數(shù)據(jù)特征及計(jì)算模式

      流式大數(shù)據(jù)重點(diǎn)關(guān)注數(shù)據(jù)的實(shí)時(shí)分析和處理,對(duì)數(shù)據(jù)流的時(shí)效性往往要求很高,數(shù)據(jù)的時(shí)間價(jià)值非常重要.在數(shù)據(jù)流到來后,不僅需要實(shí)時(shí)處理數(shù)據(jù),實(shí)時(shí)產(chǎn)生相應(yīng)結(jié)果,還需要及時(shí)反饋處理結(jié)果.

      1.1 流式計(jì)算特征

      (1)無限性.在流式計(jì)算中,數(shù)據(jù)的單位為元組,數(shù)據(jù)以增量的方式、連續(xù)數(shù)據(jù)流的形態(tài),持續(xù)到達(dá)計(jì)算平臺(tái)[4].

      (2)無序性.數(shù)據(jù)源不唯一,在數(shù)據(jù)流重放的過程中,數(shù)據(jù)流中各元組間的順序無法控制,要得到完全相同的數(shù)據(jù)流是很困難的,甚至是不可能的[5].

      (3)實(shí)時(shí)性.數(shù)據(jù)流中元組在線到達(dá)后需要實(shí)時(shí)進(jìn)行處理.

      (4)突發(fā)性.數(shù)據(jù)流流速高,且隨著時(shí)間推移而動(dòng)態(tài)變化.這一方面要求系統(tǒng)能夠根據(jù)數(shù)據(jù)流流速的變化彈性、動(dòng)態(tài)地適應(yīng),實(shí)現(xiàn)資源、能耗的高效利用;另一方面,當(dāng)數(shù)據(jù)流中各元組語義在不同時(shí)刻變化時(shí),處理數(shù)據(jù)流的有向任務(wù)圖不僅需要及時(shí)地識(shí)別這種語義變化,并且需要有效地適應(yīng)語義變化,動(dòng)態(tài)地更新數(shù)據(jù).

      (5)易失性.數(shù)據(jù)一旦經(jīng)過處理,不被歸檔存儲(chǔ),則會(huì)直接丟失.因此,未被存到內(nèi)存的數(shù)據(jù)將很難被檢索[4].

      1.2 流式計(jì)算模式

      1.2.1 數(shù)據(jù)接入及系統(tǒng)架構(gòu)

      在流式計(jì)算系統(tǒng)中,數(shù)據(jù)有多種接入方式,如使用消息隊(duì)列(MetaQ)、通過網(wǎng)絡(luò)Socket傳輸數(shù)據(jù)、通過API接口采集前端業(yè)務(wù)系統(tǒng)數(shù)據(jù)以及對(duì)日志文件的監(jiān)控等.在Storm系統(tǒng)中,Spout必須監(jiān)控日志文件的編號(hào),并及時(shí)將變化的數(shù)據(jù)寫入系統(tǒng).

      系統(tǒng)架構(gòu)是系統(tǒng)中各子系統(tǒng)之間的組合方式.當(dāng)前,流式計(jì)算系統(tǒng)采用的系統(tǒng)架構(gòu)可分為兩種:對(duì)稱式架構(gòu)(S4、Puma等系統(tǒng))和主從式架構(gòu)(Storm系統(tǒng)).對(duì)稱式架構(gòu)無中心節(jié)點(diǎn),各節(jié)點(diǎn)功能相同,具有良好的伸縮性.主從式系統(tǒng)架構(gòu)存在一個(gè)主節(jié)點(diǎn)和若干個(gè)從節(jié)點(diǎn),主節(jié)點(diǎn)主要用于系統(tǒng)資源管理和任務(wù)調(diào)配,從節(jié)點(diǎn)主要負(fù)責(zé)接收主節(jié)點(diǎn)的任務(wù),并進(jìn)行計(jì)算與反饋,其整個(gè)系統(tǒng)完全依賴主節(jié)點(diǎn)控制[6].

      1.2.2 數(shù)據(jù)實(shí)時(shí)處理

      數(shù)據(jù)的實(shí)時(shí)處理即數(shù)據(jù)流到達(dá)后進(jìn)行實(shí)時(shí)處理、傳輸?shù)炔僮?,主要包括?shù)據(jù)傳輸、高可用技術(shù)(狀態(tài)備份和故障恢復(fù)策略)實(shí)現(xiàn)、資源調(diào)度和負(fù)載均衡策略實(shí)現(xiàn)等.

      (1)數(shù)據(jù)傳輸是指各個(gè)計(jì)算節(jié)點(diǎn)直接的數(shù)據(jù)傳輸方式.在流式計(jì)算中,數(shù)據(jù)的傳輸方式分為主動(dòng)推送和被動(dòng)拉取兩種.主動(dòng)推送方式是指上游節(jié)點(diǎn)計(jì)算后的數(shù)據(jù)主動(dòng)發(fā)送到相應(yīng)的下游節(jié)點(diǎn).它具有主動(dòng)性和及時(shí)性的優(yōu)點(diǎn),但不考慮下游節(jié)點(diǎn)的負(fù)載狀態(tài),可能導(dǎo)致下游部分節(jié)點(diǎn)負(fù)載不均衡.被動(dòng)拉取方式是指下游節(jié)點(diǎn)進(jìn)行數(shù)據(jù)請(qǐng)求時(shí),上游節(jié)點(diǎn)才會(huì)將數(shù)據(jù)傳輸下來.這一數(shù)據(jù)傳輸方式使下游節(jié)點(diǎn)可以根據(jù)自身負(fù)載狀況進(jìn)行工作,但上游節(jié)點(diǎn)的數(shù)據(jù)可能得不到及時(shí)計(jì)算.

      (2)狀態(tài)備份用于備份節(jié)點(diǎn)的計(jì)算狀態(tài),確保數(shù)據(jù)在計(jì)算過程中出現(xiàn)問題時(shí)能夠從備份數(shù)據(jù)中快速恢復(fù).故障恢復(fù)功能要求系統(tǒng)能夠快速地實(shí)現(xiàn)從故障狀態(tài)到正常狀態(tài)的恢復(fù),以確保系統(tǒng)的高效運(yùn)行.

      流式計(jì)算系統(tǒng)高可用技術(shù)的實(shí)現(xiàn)有3種備份策略,分別為主動(dòng)等待、被動(dòng)等待和上游備份,如圖1所示.主動(dòng)等待策略為系統(tǒng)同時(shí)給主節(jié)點(diǎn)和副節(jié)點(diǎn)(用于備份)傳輸數(shù)據(jù),當(dāng)主節(jié)點(diǎn)出現(xiàn)故障時(shí),副節(jié)點(diǎn)接管主節(jié)點(diǎn)的工作.該策略雖然恢復(fù)時(shí)間短,但浪費(fèi)系統(tǒng)資源.被動(dòng)等待策略為系統(tǒng)定期地向副節(jié)點(diǎn)傳輸主節(jié)點(diǎn)的狀態(tài),當(dāng)傳輸過程出現(xiàn)故障時(shí),系統(tǒng)能夠從備份數(shù)據(jù)中查找并恢復(fù)相應(yīng)狀態(tài).該策略吞吐量大,負(fù)載高,但恢復(fù)時(shí)間較長[2].上游備份策略為各主節(jié)點(diǎn)將自身狀態(tài)和輸出數(shù)據(jù)記錄在日志文件中,當(dāng)某節(jié)點(diǎn)出現(xiàn)故障后,上游節(jié)點(diǎn)將日志文件發(fā)送到相應(yīng)副節(jié)點(diǎn),并可通過副節(jié)點(diǎn)重新計(jì)算數(shù)據(jù).該策略資源占用少,效率高,但恢復(fù)時(shí)間相對(duì)長些,比較適用于資源稀缺、算子較少的系統(tǒng)[7-10].

      圖1 備份策略及對(duì)比

      (3)系統(tǒng)資源調(diào)度策略可實(shí)現(xiàn)系統(tǒng)資源的最佳利用,保障任務(wù)完成及能耗節(jié)省.負(fù)載均衡策略實(shí)現(xiàn)對(duì)系統(tǒng)任務(wù)的動(dòng)態(tài)及合理分配,以適應(yīng)系統(tǒng)的負(fù)載變化,使系統(tǒng)均衡穩(wěn)定地運(yùn)行.為了系統(tǒng)均衡策略的高效率實(shí)現(xiàn)、數(shù)據(jù)穩(wěn)定合理流動(dòng)并被迅速處理,在任務(wù)拓?fù)渲袑?shí)現(xiàn)完善的路由策略尤為重要[11].

      2 流式計(jì)算系統(tǒng)平臺(tái)

      目前,國內(nèi)外存在的大數(shù)據(jù)流式計(jì)算技術(shù)平臺(tái)有Twitter的Strom系統(tǒng)、IBM的StreamBase系統(tǒng)(多用于商業(yè)計(jì)算)、Yahoo的Simple Scalable Streaming System(即S4)、Microsoft的TimeStream系統(tǒng)、Berkeley的Spark系統(tǒng)(多用于交互式實(shí)時(shí)計(jì)算)、Facebook的Data Freeway and Puma系統(tǒng)、Linkedin的Kafka系統(tǒng)和Esper系統(tǒng)(Espar系統(tǒng)專門進(jìn)行復(fù)雜事件處理)等[2].本文只介紹比較典型且廣泛應(yīng)用的3種系統(tǒng).

      2.1 Storm系統(tǒng)

      Storm系統(tǒng)是一款開源的分布式實(shí)時(shí)計(jì)算系統(tǒng)[5].它能夠處理持續(xù)流數(shù)據(jù),支持任何編程語言開發(fā)及水平擴(kuò)展,容錯(cuò)性高,能夠確保所有信息被處理,主要應(yīng)用于在線實(shí)時(shí)分析、機(jī)器學(xué)習(xí)、連續(xù)計(jì)算、分布式RPC、ETL等.此外,Storm系統(tǒng)部署便捷,易于操作[12-15].

      2.1.1 拓?fù)浣Y(jié)構(gòu)

      拓?fù)浣Y(jié)構(gòu)(Topology)是Storm系統(tǒng)的一個(gè)任務(wù)單元.它將任務(wù)拓樸委托給不同類型的組件,每個(gè)組件負(fù)責(zé)處理一項(xiàng)簡(jiǎn)單特定的任務(wù).一個(gè)拓?fù)涞妮斎肓饔梢粋€(gè)Spout組件管理,Spout將數(shù)據(jù)以Tuple元組的形式傳遞給Bolt組件,Bolt組件不僅可以對(duì)數(shù)據(jù)流進(jìn)行計(jì)算,將結(jié)果存儲(chǔ)到某個(gè)存儲(chǔ)器,也可以將數(shù)據(jù)傳遞給其他的Bolt來進(jìn)一步計(jì)算.一個(gè)Storm拓?fù)湎喈?dāng)于由一連串的Bolt組件協(xié)調(diào)處理Spout傳過來的數(shù)據(jù).

      Storm系統(tǒng)對(duì)數(shù)據(jù)流中每個(gè)數(shù)據(jù)分組編號(hào),通過系統(tǒng)組件Acker實(shí)現(xiàn)對(duì)數(shù)據(jù)流計(jì)算路徑的跟蹤,確保數(shù)據(jù)流被完全執(zhí)行.圖2所示的數(shù)據(jù)流A和B被分配在一個(gè)Spout中,當(dāng)且僅當(dāng)兩個(gè)數(shù)據(jù)流分別通過Bolt1和Bolt2,最終都到達(dá)Bolt3,直到完全處理后,才表示數(shù)據(jù)流被完全執(zhí)行.

      圖2 Acker數(shù)據(jù)流監(jiān)控示意

      2.1.2 系統(tǒng)架構(gòu)

      Storm系統(tǒng)采用主從式系統(tǒng)架構(gòu),由一個(gè)連續(xù)的、運(yùn)行的主節(jié)點(diǎn)(master node)組織若干個(gè)從節(jié)點(diǎn)(worker nodes)進(jìn)行工作.主節(jié)點(diǎn)運(yùn)行著一個(gè)守護(hù)進(jìn)程(Nimbus).守護(hù)進(jìn)程用于集群中代碼的分發(fā),為工作節(jié)點(diǎn)(Supervisor)分配任務(wù),并監(jiān)控系統(tǒng)故障.Storm系統(tǒng)眾多工作節(jié)點(diǎn)分布運(yùn)行在不同的設(shè)備上,以此提高容錯(cuò),保證系統(tǒng)正常運(yùn)行.

      Zookeeper主要應(yīng)用于大型分布式系統(tǒng),是一個(gè)協(xié)調(diào)服務(wù)和元數(shù)據(jù)的存儲(chǔ)系統(tǒng),具有很高的可靠性.將Zookeeper引入Storm系統(tǒng),簡(jiǎn)化了主從節(jié)點(diǎn)及工作進(jìn)行(Worker)之間的設(shè)計(jì),提高了系統(tǒng)的穩(wěn)定性.Nimbus在master環(huán)境中運(yùn)行,無狀態(tài),進(jìn)行全局資源分配、任務(wù)調(diào)度、狀態(tài)監(jiān)控和故障檢測(cè).Supervisor在slaves中運(yùn)行,無狀態(tài),進(jìn)行任務(wù)監(jiān)聽并接受主節(jié)點(diǎn)所分配的任務(wù).當(dāng)任務(wù)到達(dá)Nimbus后,主節(jié)點(diǎn)一方面驗(yàn)證任務(wù)并分配給從節(jié)點(diǎn),另一方面將任務(wù)的元信息寫入Zookeeper中,通過Zookeeper實(shí)時(shí)監(jiān)控任務(wù)執(zhí)行.Supervisor接到Nimbus分配的任務(wù)后,由Worker來協(xié)調(diào)執(zhí)行,一個(gè)Worker有多個(gè)Executor,每個(gè)Executor對(duì)應(yīng)一個(gè)或多個(gè)Task,進(jìn)行數(shù)據(jù)的具體計(jì)算.

      Storm系統(tǒng)具有以下主要特征:簡(jiǎn)化編程,降低計(jì)算復(fù)雜性;容錯(cuò)性高,能夠保證每個(gè)數(shù)據(jù)流均被執(zhí)行;速度快,采用ZeroMQ作為底層消息隊(duì)列,使數(shù)據(jù)得到快速計(jì)算.

      目前,使用Strom系統(tǒng)的公司有Twitter和The Weather Channel等.Strom系統(tǒng)的應(yīng)用場(chǎng)景主要有3類:①信息流處理:Strom系統(tǒng)可用于實(shí)時(shí)新數(shù)據(jù)處理和數(shù)據(jù)庫更新,兼顧容錯(cuò)性和可擴(kuò)展性;②持續(xù)計(jì)算:Storm系統(tǒng)可進(jìn)行持續(xù)Query并把查詢結(jié)果及時(shí)反饋給客戶端,比如把Twitter的熱門話題發(fā)送到瀏覽器中;③分布式遠(yuǎn)程程序調(diào)用:Storm系統(tǒng)可用來并行處理密集查詢,例如,Distributed RPC可以進(jìn)行并行搜索或者處理大集合的數(shù)據(jù)[4].

      Storm系統(tǒng)作為流式計(jì)算,在很大程度上解決了許多現(xiàn)實(shí)問題,但其集中的作業(yè)級(jí)容錯(cuò)機(jī)制限制了系統(tǒng)的擴(kuò)展,在資源分配時(shí)忽略了任務(wù)拓?fù)涞慕Y(jié)構(gòu)特征,當(dāng)數(shù)據(jù)負(fù)載動(dòng)態(tài)變化時(shí),無法作出及時(shí)調(diào)整并適應(yīng).

      2.2 StreamBase系統(tǒng)

      StreamBase是由IBM開發(fā),主要應(yīng)用于商業(yè)的流式計(jì)算系統(tǒng),如金融、政府部門等.StreamBase系統(tǒng)采用Java語言,其環(huán)境是基于Eclipse的二次開發(fā),同時(shí)采用StreamSQL(一種類SQL語言)進(jìn)行計(jì)算過程的描述.

      2.2.1 技術(shù)要點(diǎn)

      StreamBase系統(tǒng)提供了大量的功能模塊.這些功能模塊可劃分為3類:Operators和Adapters、Data Constructs、Streams.

      (1)Operators和Adapters模塊主要用于數(shù)據(jù)流的處理和加工.其中,具有代表性的Operators模塊為Query、Map、Filter和Iterate,用于提供邏輯控制和數(shù)據(jù)的增刪改查.Adapter模塊提供與外界信息傳輸?shù)墓δ?,分為輸入適配器和輸出適配器.StreamBase系統(tǒng)提供了上百個(gè)適配器,可用于不同應(yīng)用場(chǎng)景,如證券市場(chǎng)的行情協(xié)議(FIX、UBS等)、讀取文件(位文件、CSV文件等)、網(wǎng)絡(luò)通信協(xié)議(Socket、JMS)等.

      (2)Data Constructs模塊提供數(shù)據(jù)流的存儲(chǔ),主要由查詢表、數(shù)據(jù)庫表、滑動(dòng)窗口和鎖構(gòu)成.

      (3)Streams模塊是數(shù)據(jù)流輸入和輸出的接口,當(dāng)StreamBase系統(tǒng)出錯(cuò)時(shí),通過錯(cuò)誤輸入接口和錯(cuò)誤輸出接口進(jìn)行數(shù)據(jù)信息的操作.

      2.2.2 系統(tǒng)架構(gòu)

      StreamBase的系統(tǒng)架構(gòu)如圖3所示.它通過StreamBase Server在節(jié)點(diǎn)上啟動(dòng)管理進(jìn)程,負(fù)責(zé)管理節(jié)點(diǎn)的Container.每個(gè)Container通過輸入適配器將數(shù)據(jù)流交給應(yīng)用邏輯進(jìn)行計(jì)算,然后通過輸出適配器完成輸出.進(jìn)行容錯(cuò)恢復(fù)的HA Container包括Heartbeat和HA Events兩個(gè)部分.在容錯(cuò)過程中,HA Container監(jiān)控應(yīng)用邏輯的活動(dòng)情況,將這些信息換成HA Events后交由Monitor處理.Monitor從System Container和HA Container中獲取數(shù)據(jù)并進(jìn)行處理.

      圖3 StreamBase系統(tǒng)架構(gòu)

      StreamBase系統(tǒng)可以進(jìn)行大量數(shù)據(jù)的實(shí)時(shí)計(jì)算.一般數(shù)據(jù)都會(huì)存到內(nèi)存或者內(nèi)存數(shù)據(jù)庫里,以提高運(yùn)算速度.StreamBase系統(tǒng)被廣泛應(yīng)用于金融行業(yè),如量化交易,通過它可以快速高效地形成交易訂單,快速進(jìn)行訂單管理.目前,國內(nèi)已經(jīng)有券商基于StreamBase系統(tǒng)進(jìn)行量化交易平臺(tái)部署[16].

      2.3 S4系統(tǒng)

      S4系統(tǒng)是由Yahoo開發(fā)的一款分布式流處理系統(tǒng),具有可擴(kuò)展、可插拔、對(duì)稱的典型特征.

      2.3.1 任務(wù)拓?fù)?/p>

      (1)處理單元(Processing Elements,PE),是S4系統(tǒng)的基本計(jì)算單元.一個(gè)PE可由函數(shù)、事件類型、主鍵和鍵值4個(gè)組件來表示:①函數(shù),用于實(shí)現(xiàn)PE的類和相關(guān)配置;②事件類型,用于處理EventType;③主鍵,規(guī)定了該處理單元的事件主鍵;④鍵值,規(guī)定了PE所匹配的鍵值.PE只處理與其事件類型相匹配的事件,即只有事件類型、主鍵及鍵值全部匹配才會(huì)處理該類事件[17].

      (2)處理節(jié)點(diǎn)(Processing Node,PN),主要用于監(jiān)聽事件.PN都是對(duì)等的,進(jìn)而簡(jiǎn)化了集群的部署和后期維護(hù).通訊層用來提供集群管理、將故障恢復(fù)到相應(yīng)的備用節(jié)點(diǎn),以及邏輯節(jié)點(diǎn)到物理節(jié)點(diǎn)的映射(圖4).Event Listener用來監(jiān)聽事件并交由PE容器(PEC),當(dāng)事件到達(dá)時(shí),由PEC交由合適的PE處理,如果PE有輸出,則需與通訊層合作進(jìn)行事件的分發(fā)和輸出.

      圖4 處理節(jié)點(diǎn)PE

      2.3.2 系統(tǒng)架構(gòu)

      S4系統(tǒng)采用插件式架構(gòu)進(jìn)行傳輸協(xié)議的選擇.它主要有兩種:可靠方式(如TCP),用來保障控制信息傳輸?shù)目煽啃?;不可靠方?如UDP),用來確保數(shù)據(jù)信息的高吞吐量.S4系統(tǒng)采用Zookeeper進(jìn)行任務(wù)創(chuàng)建和銷毀集群等操作.

      S4系統(tǒng)采用對(duì)等式架構(gòu),它由用戶空間、處理節(jié)點(diǎn)和集群管理組成(圖5),可由多個(gè)用戶通過客戶端驅(qū)動(dòng)實(shí)現(xiàn)服務(wù)的請(qǐng)求.S4系統(tǒng)處理節(jié)點(diǎn)中有多個(gè)PN進(jìn)行用戶服務(wù)的計(jì)算,各節(jié)點(diǎn)間保持著獨(dú)立、對(duì)等和高并發(fā),極大地提高了系統(tǒng)的性能.其集群管理模塊進(jìn)行性能監(jiān)控,資源調(diào)配,為用戶提供客戶適配器,多個(gè)用戶可以并發(fā)地通過適配器處理服務(wù)請(qǐng)求.

      S4系統(tǒng)主要用于個(gè)性化搜索廣告,系統(tǒng)實(shí)時(shí)處理來自幾百萬用戶每秒成千上萬次的查詢,并及時(shí)分析用戶的會(huì)話特征,提高廣告相關(guān)性預(yù)測(cè)模型的準(zhǔn)確度.

      圖5 S4系統(tǒng)的對(duì)等式架構(gòu)

      S4系統(tǒng)中數(shù)據(jù)的傳輸穩(wěn)定性不高,容易丟失數(shù)據(jù).一旦節(jié)點(diǎn)出現(xiàn)故障,將會(huì)丟失所有數(shù)據(jù),容錯(cuò)性不高;對(duì)于其擴(kuò)展性,在對(duì)節(jié)點(diǎn)進(jìn)行調(diào)整時(shí),需要停下正在進(jìn)行的工作,不能做到無縫調(diào)整;當(dāng)數(shù)據(jù)量達(dá)到一定程度時(shí),數(shù)據(jù)處理的錯(cuò)誤率較高.

      2.4 3種典型流式計(jì)算系統(tǒng)的對(duì)比

      表1所示為Twitter的Storm系統(tǒng)、IBM的StreamBase系統(tǒng)和Yahoo的S4系統(tǒng),3種典型的流式計(jì)算系統(tǒng)的性能及應(yīng)用對(duì)比.

      表1 流式系統(tǒng)平臺(tái)對(duì)比

      由表1可以看出:Strom系統(tǒng)和StreamBase系統(tǒng)均采用主從式系統(tǒng)架構(gòu),S4系統(tǒng)采用對(duì)稱式系統(tǒng)架構(gòu);不同系統(tǒng)的主要應(yīng)用領(lǐng)域不同;Storm系統(tǒng)和S4系統(tǒng)均采用MapReduce(簡(jiǎn)稱MR)接口,可簡(jiǎn)化編程,而StreamBase系統(tǒng)采用的是StreamSQL接口和可拖拽的可視化接口;Java語言已被這3種系統(tǒng)所使用開發(fā),Storm系統(tǒng)的核心語言為Clojure;除StreamBase系統(tǒng)外,其他流式計(jì)算系統(tǒng)均不支持精確恢復(fù).

      3 總結(jié)與展望

      大數(shù)據(jù)流式計(jì)算在大數(shù)據(jù)處理中占有重要地位,在互聯(lián)網(wǎng)、物聯(lián)網(wǎng)、金融業(yè)等領(lǐng)域的應(yīng)用中取得了顯著成效.但流式數(shù)據(jù)無限性、突發(fā)性、無序性、實(shí)時(shí)性、易失性等特征使其與傳統(tǒng)批量處理相比,在計(jì)算要求及方式等方面存在顯著差異,使得當(dāng)前流式計(jì)算系統(tǒng)平臺(tái)難以應(yīng)對(duì)流式大數(shù)據(jù)帶來的諸多挑戰(zhàn).其主要表現(xiàn)在系統(tǒng)的伸縮性、在線資源調(diào)度、節(jié)點(diǎn)依賴環(huán)境下的容錯(cuò)策略、數(shù)據(jù)吞吐量、節(jié)點(diǎn)狀態(tài)的一致性和系統(tǒng)的負(fù)載均衡等方面.

      在廣泛的應(yīng)用市場(chǎng)前景下,大數(shù)據(jù)流式計(jì)算尚未能滿足需求.為了促進(jìn)大數(shù)據(jù)流式計(jì)算穩(wěn)健發(fā)展,需進(jìn)一步開展相關(guān)理論與實(shí)踐的研究,在未來的研究中,可通過深化流式計(jì)算系統(tǒng)的框架及關(guān)鍵技術(shù)研究,對(duì)系統(tǒng)性能進(jìn)行整體優(yōu)化,來滿足復(fù)雜的應(yīng)用需求,進(jìn)一步推動(dòng)大數(shù)據(jù)流式計(jì)算的發(fā)展.

      [1] 中華人民共和國國務(wù)院.促進(jìn)大數(shù)據(jù)發(fā)展行動(dòng)綱要[J].成組技術(shù)與生產(chǎn)現(xiàn)代化,2015,32(3):51-58.

      [2] 孫大為, 張廣艷,鄭緯民. 大數(shù)據(jù)流式計(jì)算: 關(guān)鍵技術(shù)及系統(tǒng)實(shí)例[J]. 軟件學(xué)報(bào), 2014,25(4):839-862.

      [3] 亓開元,趙卓峰,房 俊,等. 針對(duì)高速數(shù)據(jù)流的大規(guī)模數(shù)據(jù)實(shí)時(shí)處理方法[J]. 計(jì)算機(jī)學(xué)報(bào), 2012,35(3):477-490.

      [4] 李 圣, 黃永忠,陳海勇.大數(shù)據(jù)流式計(jì)算系統(tǒng)研究綜述[J]. 信息工程大學(xué)學(xué)報(bào), 2016,17(1):88-92.

      [5] 佚 名.剖析大數(shù)據(jù)流式計(jì)算場(chǎng)景特征[EB/OL].[2016-06-12].http://mt.sohu.com/20160305/n439484116.shtml.

      [6] 王春凱,孟小峰. 分布式數(shù)據(jù)流關(guān)系查詢技術(shù)研究[J]. 計(jì)算機(jī)學(xué)報(bào), 2016,39(1):80-96.

      [7] 鄒志勇. 分布式流計(jì)算框架容錯(cuò)功能的設(shè)計(jì)與實(shí)現(xiàn)[D].北京:北京郵電大學(xué),2013.

      [8] 劉子英,唐宏建,肖嘉耀,等, 基于流式計(jì)算的Web實(shí)時(shí)故障診斷分析與設(shè)計(jì)[J]. 華東交通大學(xué)學(xué)報(bào), 2014,31(1):119-123.

      [9] 董 斌,楊 迪,王 錚,等, 流計(jì)算大數(shù)據(jù)技術(shù)在運(yùn)營商實(shí)時(shí)信令處理中的應(yīng)用[J]. 電信科學(xué), 2015(10): 172-178.

      [10] Sharma S. Expanded cloud plumes hiding Big Data ecosystem[J]. Future Generation Computer Systems, 2016, 59: 63-92.

      [11] Kshetri N. Big Data's role in expanding access to financial services in China[J]. International Journal of Information Management, 2016,36(3): 297-308.

      [12] 李 川, 鄂海紅,宋美娜. 基于Storm的實(shí)時(shí)計(jì)算框架的研究與應(yīng)用[J]. 軟件, 2014(10):16-20.

      [13] 王潤華, 毋建軍,侯佳路. 分布式實(shí)時(shí)計(jì)算引擎—Storm研究[J]. 中國科技信息, 2015(6):68-69.

      [14] 彭明喜. 基于Storm的實(shí)時(shí)數(shù)據(jù)平臺(tái)研究[J]. 電信快報(bào), 2015(7):24-28.

      [15] 趙 菲, 林 穗,高西剛. 面向大數(shù)據(jù)的Storm框架研究與應(yīng)用[J]. 微型機(jī)與應(yīng)用, 2016(6):12-14.

      [16] 陳 智. 基于StreamBase的量化交易平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn)[D]. 上海:東華大學(xué),2014.

      [17] Neumeger L,Robbins B,Nair A,et al.S4:Distributed stream computing platform[C]//IEEE International Conference on Icdmw.Washington:IEEE,2010:170-177.

      Review of Big Data Stream Computing System

      ZHU Xi-yong, PANG Pei-pei

      (Institute of Management Science and Engineering,Zhejiang Sci-Tech University, Hangzhou 310018,China)

      This paper elaborates the characteristics of Big Data stream and calculation model, and furtherly introduced three typical platforms of Big Data stream computing, analyzes their system architecture, features and application scenarios, and compares them. Finally, it summarizes and introduces the prospects of the development of the Big Data stream computing.

      Big Data; Big Data technology; stream computing; stream Big Data

      2016-09-20

      祝錫永(1964-),男,浙江紹興人,碩士,教授,研究方向?yàn)樾畔⑾到y(tǒng)開發(fā)技術(shù)、知識(shí)管理、數(shù)據(jù)分析與挖掘技術(shù).

      1006-3269(2016)04-0049-06

      TP311

      A

      10.3969/j.issn.1006-3269.2016.04.012

      猜你喜歡
      流式數(shù)據(jù)流架構(gòu)
      基于FPGA的RNN硬件加速架構(gòu)
      功能架構(gòu)在電子電氣架構(gòu)開發(fā)中的應(yīng)用和實(shí)踐
      汽車工程(2021年12期)2021-03-08 02:34:30
      汽車維修數(shù)據(jù)流基礎(chǔ)(下)
      輻流式二沉池的結(jié)構(gòu)優(yōu)化研究
      一種提高TCP與UDP數(shù)據(jù)流公平性的擁塞控制機(jī)制
      LSN DCI EVPN VxLAN組網(wǎng)架構(gòu)研究及實(shí)現(xiàn)
      微球測(cè)速聚類分析的流式液路穩(wěn)定性評(píng)估
      基于數(shù)據(jù)流聚類的多目標(biāo)跟蹤算法
      自調(diào)流式噴管型ICD的設(shè)計(jì)與數(shù)值驗(yàn)證
      一種基于FPGA+ARM架構(gòu)的μPMU實(shí)現(xiàn)
      彭州市| 拉孜县| 体育| 西乌珠穆沁旗| 马龙县| 沙湾县| 大兴区| 筠连县| 黄龙县| 遂溪县| 肇州县| 永春县| 都昌县| 象州县| 浮梁县| 南郑县| 双辽市| 嘉荫县| 河北省| 博野县| 满城县| 涟源市| 太仆寺旗| 扎鲁特旗| 潍坊市| 乃东县| 鹤山市| 乌兰察布市| 衡南县| 石阡县| 霍林郭勒市| 阳西县| 肃南| 安平县| 清原| 肥城市| 正宁县| 英吉沙县| 合山市| 繁昌县| 龙山县|