• 
    

    
    

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

      基于Storm的大數(shù)據(jù)在線學(xué)習(xí)平臺(tái)數(shù)據(jù)處理的設(shè)計(jì)與實(shí)現(xiàn)

      2018-11-20 06:05:00劉引濤
      物聯(lián)網(wǎng)技術(shù) 2018年10期
      關(guān)鍵詞:進(jìn)程數(shù)據(jù)處理架構(gòu)

      劉引濤

      (陜西工業(yè)職業(yè)技術(shù)學(xué)院,陜西 咸陽 712000)

      0 引 言

      由于“互聯(lián)網(wǎng)+”的飛速發(fā)展,移動(dòng)互聯(lián)網(wǎng)在線學(xué)習(xí)平臺(tái)成為一種新型學(xué)習(xí)方式,教育信息化開啟了互聯(lián)網(wǎng)在線學(xué)習(xí)的信息化[1],催生了各種在線學(xué)習(xí)平臺(tái)的普及與應(yīng)用,因此需要一種新技術(shù)解決消息請(qǐng)求響應(yīng),實(shí)時(shí)交叉、吞吐等過程中數(shù)據(jù)不完整的問題[2]。

      在數(shù)據(jù)處理方式上,一般開發(fā)平臺(tái)會(huì)選擇Batch或Storm模型。傳統(tǒng)的Batch形式已無法完全滿足多途徑多部門管理的數(shù)據(jù)處理,尤其是在對(duì)各業(yè)的務(wù)數(shù)據(jù)的獲取和分析上,目前需要一種實(shí)時(shí)分析的數(shù)據(jù)處理方法,而Storm對(duì)實(shí)時(shí)流數(shù)據(jù)的處理具有實(shí)時(shí)性、可靠性、完整性及可擴(kuò)展性的優(yōu)勢(shì);對(duì)于大數(shù)據(jù)分析平臺(tái)而言,技術(shù)選擇一般使用Spark-streaming,部分技術(shù)實(shí)力雄厚的公司會(huì)進(jìn)行專門程序的開發(fā)與信息處理。平臺(tái)開發(fā)主要是對(duì)業(yè)務(wù)需求的實(shí)現(xiàn),而對(duì)于實(shí)時(shí)數(shù)據(jù)引用的穩(wěn)定性、數(shù)據(jù)和信息的共享性及分析處理系統(tǒng)無法達(dá)到統(tǒng)一。從系統(tǒng)開發(fā)的穩(wěn)定性和成熟度出發(fā),選擇Storm作為實(shí)時(shí)平臺(tái)的開發(fā)數(shù)據(jù)處理方案是一種較為理想的做法。本文的研究探索主要將Storm技術(shù)應(yīng)用于移動(dòng)互聯(lián)網(wǎng)在線學(xué)習(xí)平臺(tái),可促進(jìn)該系統(tǒng)的優(yōu)化改進(jìn)。

      1 系統(tǒng)業(yè)務(wù)需求

      移動(dòng)互聯(lián)在線學(xué)習(xí)平臺(tái)在“互聯(lián)網(wǎng)+”背景下得到了快速響應(yīng)與發(fā)展,并在教育教學(xué)中得到了推廣與應(yīng)用,因?qū)W習(xí)平臺(tái)在運(yùn)行過程中會(huì)產(chǎn)生大量數(shù)據(jù),如學(xué)習(xí)者登錄學(xué)習(xí)平臺(tái)后點(diǎn)擊的文檔、視頻、音頻會(huì)讓平臺(tái)在任意時(shí)間面臨多種數(shù)據(jù)查詢的請(qǐng)求,該運(yùn)行數(shù)據(jù)具有類型多樣、規(guī)模繁雜等特點(diǎn),傳統(tǒng)的分散性業(yè)務(wù)系統(tǒng)與平臺(tái)已難以滿足當(dāng)前移動(dòng)互聯(lián)網(wǎng)大數(shù)據(jù)平臺(tái)的要求[3]。

      移動(dòng)互聯(lián)網(wǎng)在線學(xué)習(xí)平臺(tái)的數(shù)據(jù)來源主要是學(xué)習(xí)者學(xué)習(xí)、瀏覽、討論、留言、答疑、測(cè)試等全部學(xué)習(xí)活動(dòng)的記錄軌跡,并將活動(dòng)記錄傳遞到學(xué)習(xí)功能服務(wù)器。由功能服務(wù)器收集、計(jì)算、處理、存儲(chǔ)學(xué)習(xí)者的學(xué)習(xí)情況。學(xué)習(xí)功能服務(wù)器通過使用Storm對(duì)實(shí)時(shí)數(shù)據(jù)進(jìn)行快速清洗、格式轉(zhuǎn)換、數(shù)據(jù)分析,設(shè)計(jì)實(shí)現(xiàn)可降低請(qǐng)求響應(yīng)時(shí)間,解決數(shù)據(jù)庫因連接限制而丟失數(shù)據(jù)的問題。重點(diǎn)在于集成多種數(shù)據(jù),分析挖掘數(shù)據(jù)的可視化等方面。

      數(shù)據(jù)讀取、處理環(huán)節(jié)主要通過Storm的Topology編程模型中的Spout組件和Bolt組件完成,其中Spout組件主要完成數(shù)據(jù)讀取,Bolt組件主要完成任務(wù)處理,使用Topology編程模型的目的在于降低處理延遲[4-5]。

      2 總體方案設(shè)計(jì)

      在線學(xué)習(xí)平臺(tái)為學(xué)習(xí)者提供了專屬的學(xué)習(xí)環(huán)境,學(xué)習(xí)者可多終端學(xué)習(xí),授課教師、助教、企業(yè)導(dǎo)師等完成學(xué)習(xí)討論,通過隨堂練習(xí)及時(shí)檢驗(yàn)學(xué)習(xí)成果。

      移動(dòng)互聯(lián)網(wǎng)在線學(xué)習(xí)平臺(tái)要應(yīng)對(duì)突發(fā)的大數(shù)據(jù)量請(qǐng)求,提出數(shù)據(jù)源、大數(shù)據(jù)平臺(tái)和業(yè)務(wù)應(yīng)用三層數(shù)據(jù)處理結(jié)構(gòu),根據(jù)數(shù)據(jù)來源不同,將數(shù)據(jù)分為內(nèi)部和外部兩種,在線學(xué)習(xí)平臺(tái)的內(nèi)部數(shù)據(jù)主要來源于后臺(tái)管理平臺(tái)、課程管理平臺(tái)和資源管理系統(tǒng)平臺(tái),外部數(shù)據(jù)主要來源于創(chuàng)建者的專屬課程搭建平臺(tái)、在線學(xué)習(xí)系統(tǒng)平臺(tái)和互動(dòng)管理平臺(tái)[6]。

      在線學(xué)習(xí)平臺(tái)的優(yōu)化架構(gòu)中每個(gè)模塊的功能實(shí)現(xiàn)主要通過Memcached,F(xiàn)lume,Storm,Kafka技術(shù)實(shí)現(xiàn)數(shù)據(jù)收集、數(shù)據(jù)緩沖、數(shù)據(jù)處理與數(shù)據(jù)存儲(chǔ)[7]。這里將優(yōu)化方案應(yīng)用到網(wǎng)絡(luò)學(xué)習(xí)平臺(tái)中進(jìn)行分析對(duì)比,對(duì)總體架構(gòu)的環(huán)境進(jìn)行搭建和部署。學(xué)習(xí)者通過課程學(xué)習(xí)、討論、測(cè)試等形成數(shù)據(jù)流,由互動(dòng)管理實(shí)現(xiàn)多維度統(tǒng)計(jì),并通過Storm架構(gòu)進(jìn)行流數(shù)據(jù)處理。在線學(xué)習(xí)平臺(tái)大數(shù)據(jù)框架如圖1所示。

      圖1 在線學(xué)習(xí)平臺(tái)構(gòu)架

      3 Storm平臺(tái)框架的分析與整合

      Storm架構(gòu)采用一個(gè)主進(jìn)程和多個(gè)從進(jìn)程的主從架構(gòu)模式,對(duì)該進(jìn)程配置時(shí),主要依靠ZooKeeper進(jìn)程完成主進(jìn)程和多個(gè)從進(jìn)程之間的協(xié)調(diào),需將ZooKeeper進(jìn)程同時(shí)配置到集群的每個(gè)節(jié)點(diǎn)上。ZooKeeper進(jìn)程主要保證各服務(wù)器之間的流數(shù)據(jù)同步。ZooKeeper角色分析見表1所列。

      表1 ZooKeeper角色分析一覽表

      運(yùn)用Storm完成數(shù)據(jù)的接收與邏輯運(yùn)算,Storm在進(jìn)行數(shù)據(jù)處理時(shí)主要通過Spout讀取逐條記錄,并通過Bolt1對(duì)不符合要求的數(shù)據(jù)進(jìn)行篩查,Bolt2將統(tǒng)計(jì)結(jié)果存儲(chǔ)或更新至數(shù)據(jù)庫,拓?fù)銽opology完成數(shù)據(jù)處理。在集群狀態(tài)下,運(yùn)用ZooKeeper進(jìn)程保證數(shù)據(jù)的完整性和一致性。

      4 平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn)

      4.1 平臺(tái)環(huán)境搭建

      通過安裝Storm系統(tǒng)依賴包與工具包,在若干個(gè)節(jié)點(diǎn)機(jī)構(gòu)集群上搭建Storm開發(fā)環(huán)境,依賴安裝包主要包括python,jdk,gcc_c++,libuuid,uuid,libtool,libuuid-devel等;在安裝所需工具上使用ZooKeeper封裝關(guān)鍵服務(wù),防止協(xié)調(diào)系統(tǒng)出錯(cuò),將簡(jiǎn)單易用、性能高效、穩(wěn)定的接口提供給用戶;使用ZerMQ屏蔽網(wǎng)絡(luò)編程,安裝ZerMQ用于處理一個(gè)消息隊(duì)列,實(shí)現(xiàn)多個(gè)線程、內(nèi)核和主機(jī)盒之間的靈活伸縮[8]。

      Storm主要實(shí)現(xiàn)主程序設(shè)計(jì),可方便在任一計(jì)算機(jī)集群中編寫與擴(kuò)展復(fù)雜的實(shí)時(shí)計(jì)算,保證每個(gè)消息都能被及時(shí)處理并集中在一個(gè)小集群中,實(shí)現(xiàn)每秒處理百萬消息。

      環(huán)境搭建主要步驟(以4個(gè)集群為例):

      步驟一:修改文件用戶屬性:#chow -r root:root/home/local/storm

      步驟二:編輯prof i le文件:# vi/etc/prof i le

      Export storm_home=/home/local/storm

      Export PATH=$PATH:$STORM_HOME/bin;

      步驟三:修改環(huán)境變量:#source/etc/prof i le;

      步驟四:修改storm參數(shù):# vi/home/local/ storm/conf/storm.yaml

      步驟五:添加如下內(nèi)容:

      Storm.zookeeper.servers:

      -“node1”

      -“node2”

      -“node3”

      -“node4”

      Nimbus.host:“node1”

      Storm. Local.dir:” home/local/ storm/temp”

      Storm.zookeeper.port:2181

      Supervisor.slots.ports:

      -6700

      -6701

      -6702

      -6703

      步驟六:新建temp:#mkdir/home/local/storm/temp

      Storm開發(fā)環(huán)境需要在若干個(gè)節(jié)點(diǎn)機(jī)上分別安裝相同的工具包,可從node1節(jié)點(diǎn)機(jī)上復(fù)制軟件到其他節(jié)點(diǎn)機(jī)上,并分別修改環(huán)境變量和配置文件,主要通過如下兩個(gè)步驟實(shí)現(xiàn):

      (1)使用scp-r復(fù)制文件到其他節(jié)點(diǎn)機(jī)上(# scp-r /home/local root@node n :/home/local);

      (2)分別登錄節(jié)點(diǎn)機(jī)修改環(huán)境變量,環(huán)境變量生效(#source/ect/prof i le)后根據(jù)zoo.cfg中server.id的ID值修改各節(jié)點(diǎn)機(jī)ZooKeeper_home/data/myid的內(nèi)容。

      4.2 平臺(tái)中Storm的流數(shù)據(jù)處理

      移動(dòng)互聯(lián)在線學(xué)習(xí)平臺(tái)中的流數(shù)據(jù)處理是對(duì)在線學(xué)習(xí)平臺(tái)的管理、運(yùn)行、監(jiān)控過程中產(chǎn)生的實(shí)時(shí)數(shù)據(jù)流提供有效數(shù)據(jù)的一種處理機(jī)制。筆者選擇Storm作為計(jì)算系統(tǒng),該系統(tǒng)具備高效的數(shù)據(jù)實(shí)時(shí)分析功能[9]。在線課程平臺(tái)流數(shù)據(jù)處理架構(gòu)如圖2所示。

      系統(tǒng)從數(shù)據(jù)來源、Storm計(jì)算平臺(tái)及流處理三個(gè)環(huán)節(jié)入手,分析在線學(xué)習(xí)平臺(tái)中所獲取、處理及存儲(chǔ)的數(shù)據(jù)。系統(tǒng)在完成數(shù)據(jù)收集及預(yù)處理后,將收集的完整、正確的數(shù)據(jù)提供給實(shí)時(shí)應(yīng)用系統(tǒng),并將不完整的數(shù)據(jù)處理成為標(biāo)準(zhǔn)化數(shù)據(jù),通過業(yè)務(wù)邏輯對(duì)數(shù)據(jù)進(jìn)行分析,最后將處理結(jié)果存儲(chǔ)在數(shù)據(jù)庫中。

      圖2 在線課程平臺(tái)流數(shù)據(jù)處理架構(gòu)

      4.3 數(shù)據(jù)存儲(chǔ)處理

      數(shù)據(jù)存儲(chǔ)主要采用關(guān)系型數(shù)據(jù)庫存儲(chǔ)數(shù)據(jù),在關(guān)系型數(shù)據(jù)庫前加上Memcached暫存數(shù)據(jù),保證數(shù)據(jù)連接池中數(shù)據(jù)的完整性并解決數(shù)據(jù)存儲(chǔ)和處理速度不一致問題,所有存儲(chǔ)過程由Storm中的Bolt組件完成[10]。為保證數(shù)據(jù)的完整性和一致性,系統(tǒng)運(yùn)用ZooKeeper的鎖機(jī)制來解決這一問題。

      解決方法的核心代碼如下:

      interprocessMuter lock=

      new interprocessMutex(LockCuratorSrc.getCF(),Constant.

      LOCKS_ORDER);

      try{while(lock.acquire(5,timeUnit.Minutes))

      BREAK;

      LOCK.RELEASE();

      5 結(jié) 語

      在移動(dòng)互聯(lián)在線學(xué)習(xí)平臺(tái)開發(fā)應(yīng)用的背景下,通過對(duì)學(xué)習(xí)者行為數(shù)據(jù)的深入研究,在線學(xué)習(xí)系統(tǒng)服務(wù)的大數(shù)據(jù)平臺(tái)管理成為一種發(fā)展新趨勢(shì)。在理論研究的基礎(chǔ)上,根據(jù)在線學(xué)習(xí)平臺(tái)的特點(diǎn)及需求,提出大數(shù)據(jù)平臺(tái)架構(gòu),針對(duì)在線學(xué)習(xí)平臺(tái)的流數(shù)據(jù)處理,將流數(shù)據(jù)處理技術(shù)Storm與在線學(xué)習(xí)平臺(tái)開發(fā)相結(jié)合,提出實(shí)時(shí)數(shù)據(jù)的處理方案。

      猜你喜歡
      進(jìn)程數(shù)據(jù)處理架構(gòu)
      基于FPGA的RNN硬件加速架構(gòu)
      認(rèn)知診斷缺失數(shù)據(jù)處理方法的比較:零替換、多重插補(bǔ)與極大似然估計(jì)法*
      ILWT-EEMD數(shù)據(jù)處理的ELM滾動(dòng)軸承故障診斷
      功能架構(gòu)在電子電氣架構(gòu)開發(fā)中的應(yīng)用和實(shí)踐
      汽車工程(2021年12期)2021-03-08 02:34:30
      債券市場(chǎng)對(duì)外開放的進(jìn)程與展望
      中國外匯(2019年20期)2019-11-25 09:54:58
      LSN DCI EVPN VxLAN組網(wǎng)架構(gòu)研究及實(shí)現(xiàn)
      基于希爾伯特- 黃變換的去噪法在外測(cè)數(shù)據(jù)處理中的應(yīng)用
      一種基于FPGA+ARM架構(gòu)的μPMU實(shí)現(xiàn)
      社會(huì)進(jìn)程中的新聞學(xué)探尋
      我國高等教育改革進(jìn)程與反思
      白城市| 瑞昌市| 财经| 弥勒县| 墨脱县| 饶平县| 新密市| 贵阳市| 莱西市| 敦煌市| 波密县| 调兵山市| 新营市| 溆浦县| 思茅市| 绥棱县| 武宣县| 蕲春县| 十堰市| 永丰县| 会同县| 定陶县| 古田县| 防城港市| 奉新县| 公安县| 喀喇沁旗| 万年县| 廉江市| 青田县| 丽江市| 库尔勒市| 定兴县| 东乌珠穆沁旗| 钟山县| 察雅县| 府谷县| 基隆市| 白朗县| 昭通市| 商水县|