1.一種大數(shù)據(jù)的實時存儲、處理和查詢系統(tǒng),包括分布式支撐模塊、數(shù)據(jù)采集模塊、消息中間件模塊、數(shù)據(jù)清洗模塊、數(shù)據(jù)處理模塊、數(shù)據(jù)深度挖掘模塊、數(shù)據(jù)管理模塊、數(shù)據(jù)查詢模塊、系統(tǒng)調(diào)度模塊;各模塊在系統(tǒng)調(diào)度模塊的協(xié)調(diào)下運作,實現(xiàn)數(shù)據(jù)流在各模塊之間的調(diào)度、流轉(zhuǎn);分布式支撐模塊在物理結(jié)構(gòu)上能夠克服單節(jié)點限制,通過數(shù)據(jù)采集模塊將多形式、多規(guī)格傳輸類型的網(wǎng)絡(luò)應(yīng)用數(shù)據(jù)流采集,數(shù)據(jù)流通過消息中間件模塊完成消息信息的訂閱發(fā)布功能,數(shù)據(jù)流按照規(guī)則在數(shù)據(jù)清洗模塊進行數(shù)據(jù)清洗后,進入到流式引擎數(shù)據(jù)處理模塊,數(shù)據(jù)流采用數(shù)據(jù)管理模塊中分布式存儲系統(tǒng),完成實時數(shù)據(jù)的存儲過程,數(shù)據(jù)深度挖掘模塊還提供針對數(shù)據(jù)流的高級模型挖掘分析,數(shù)據(jù)查詢模塊對實時數(shù)據(jù)流信息的查詢;
其特征在于:
分布式支撐模塊,用于提供多種資源共享和協(xié)同計算的能力,其包括HDFS分布式文件系統(tǒng)和YRAN分布式計算框架;
數(shù)據(jù)采集模塊,其信息源為嵌入式設(shè)備、網(wǎng)絡(luò)協(xié)議數(shù)據(jù)、直連數(shù)據(jù)庫、WEB端信息采集系統(tǒng);
消息中間件模塊,采用分布式發(fā)布訂閱消息系統(tǒng),先接收發(fā)布客戶端發(fā)布的消息;查找訂閱的客戶端,其中,訂閱客戶端訂閱的消息的主題和所述發(fā)布的消息的主題一樣;檢測查找到的訂閱客戶端所設(shè)置的會話清理標識的數(shù)值;響應(yīng)于訂閱的客戶端上設(shè)置的會話清洗標識的值,將所述的消息存儲在分布式系統(tǒng)中,再將存儲在分布式系統(tǒng)中的消息發(fā)送給查找到的訂閱客戶端;
數(shù)據(jù)清洗模塊:用于發(fā)現(xiàn)并糾正數(shù)據(jù)文件中可識別的錯誤,包括檢查數(shù)據(jù)一致性,處理無效值和缺失值;
數(shù)據(jù)處理模塊:基于MapReduce的分布式計算框架,其核心是彈性分布式數(shù)據(jù)集,能夠快速在內(nèi)存中對數(shù)據(jù)集進行多次迭代,以支持復(fù)雜的數(shù)據(jù)挖掘算法和圖形計算算法;
數(shù)據(jù)深度挖掘模塊:用于從大量的數(shù)據(jù)中通過算法搜索隱藏于其中信息,其分析方法包括分類、估計、預(yù)測、相關(guān)性分組或關(guān)聯(lián)規(guī)則、聚類、復(fù)雜數(shù)據(jù)類型挖掘;
數(shù)據(jù)查詢模塊:查詢存儲在Hadoop的HDFS和HBase中的PB級大數(shù)據(jù),不需要把中間結(jié)果寫入磁盤,省掉了大量的I/O開銷,省掉了MapReduce作業(yè)啟動的開銷;
數(shù)據(jù)管理模塊:實現(xiàn)數(shù)據(jù)存儲及管理,數(shù)據(jù)存儲對象包括數(shù)據(jù)流在加工過程中產(chǎn)生的臨時文件或加工過程中需要查找的信息;利用Google BigTable技術(shù)搭建結(jié)構(gòu)化存儲集群;分布式存儲系統(tǒng)中的所有數(shù)據(jù)文件都存儲在Hadoop HDFS文件系統(tǒng)上。
2.如權(quán)利要求1所述的大數(shù)據(jù)的實時存儲、處理和查詢系統(tǒng),其特征在于:對于分布式支撐模塊,HDFS分布式文件系統(tǒng)采用master/slave架構(gòu);一個HDFS集群是由一個Namenode和一定數(shù)目的Datanodes組成;Namenode是一個中心服務(wù)器,負責管理文件系統(tǒng)的名字空間(namespace)以及客戶端對文件的訪問。集群中的Datanode一般是一個節(jié)點一個,負責管理它所在節(jié)點上的存儲;Namenode執(zhí)行文件系統(tǒng)的名字空間操作,比如打開、關(guān)閉、重命名文件或目錄,也負責確定數(shù)據(jù)塊到具體Datanode節(jié)點的映射;Datanode負責處理文件系統(tǒng)客戶端的讀寫請求,在Namenode的統(tǒng)一調(diào)度下進行數(shù)據(jù)塊的創(chuàng)建、刪除和復(fù)制;
YRAN分布式計算框架由ResourceManager、NodeManager、ApplicationMaster和Container組件構(gòu)成,ResourceManager為Master,NodeManager為Slave,ResourceManager負責對各個NodeManager上的資源進行統(tǒng)一管理和調(diào)度。
3.如權(quán)利要求1所述的大數(shù)據(jù)的實時存儲、處理和查詢系統(tǒng),其特征在于:對于數(shù)據(jù)采集模塊,通過嵌入式設(shè)備中的配備RS232、RS485串口,連接多個檢測儀器實現(xiàn)自動數(shù)據(jù)采集;通過配備USB接口采集網(wǎng)口設(shè)備,USB控制器設(shè)備采用OHCI,UHCI,EHCI,XHCI標準協(xié)議完成采集傳輸;還配置傳輸控制協(xié)議/網(wǎng)際協(xié)議、用戶數(shù)據(jù)報協(xié)議,采集其他網(wǎng)絡(luò)socket數(shù)據(jù)流;連接傳統(tǒng)關(guān)系型數(shù)據(jù)庫Mysql、Oracle,列式數(shù)據(jù)庫Nosql、MongoDB,進行傳統(tǒng)關(guān)系數(shù)據(jù)庫的數(shù)據(jù)存??;Web端采集系統(tǒng)通過Restful接口作為數(shù)據(jù)傳輸?shù)耐ǖ?,再通過Post請求方式,完成數(shù)據(jù)的錄入。
4.如權(quán)利要求1所述的大數(shù)據(jù)的實時存儲、處理和查詢系統(tǒng),其特征在于:消息中間件進一步實現(xiàn)解決網(wǎng)絡(luò)異構(gòu)平臺間的數(shù)據(jù)溝通,首先需要將數(shù)據(jù)通過標準的RestfulProxy代理來完成消息訂閱的發(fā)布功能,其主要的基本協(xié)議是Http協(xié)議封裝,在通過Partition分區(qū)功能指定消費客戶端完成消息流過程。
5.如權(quán)利要求1所述的大數(shù)據(jù)的實時存儲、處理和查詢系統(tǒng),其特征在于:對于數(shù)據(jù)清洗模塊,實現(xiàn)1)初步處理數(shù)據(jù),去除不需要的字段,填充缺失內(nèi)容以業(yè)務(wù)知識或經(jīng)驗推測填充缺失值;以同一指標的計算結(jié)果填充缺失值;以不同指標的計算結(jié)果填充缺失值;2)格式內(nèi)容清洗;3)邏輯錯誤清洗,數(shù)據(jù)去重,去除不合理值,修正矛盾內(nèi)容;4)非需求數(shù)據(jù)清洗,把不需要的字段刪除;5)關(guān)聯(lián)性驗證,數(shù)據(jù)有多個來源,進行關(guān)聯(lián)性驗證,將多個來源的數(shù)據(jù)整合。
6.如權(quán)利要求1所述的大數(shù)據(jù)的實時存儲、處理和查詢系統(tǒng),其特征在于:數(shù)據(jù)深度挖掘模塊具體包括如下:
基本統(tǒng)計:概括統(tǒng)計、相關(guān)性、分層取樣、假設(shè)檢驗、隨機數(shù)生成;
離散和連續(xù)性數(shù)據(jù)分析:分類針對離散型數(shù)據(jù),回歸針對連續(xù)性數(shù)據(jù),其中主要有線性模型,支持向量機,邏輯回歸,線性回歸,算法包含有貝葉斯算法,決策樹,多種樹,隨機森林;
協(xié)同過濾:使用交替最小二乘法;
聚類:K均值算法;
降維:奇異值分析,主成分分析PCA。
7.如權(quán)利要求1所述的大數(shù)據(jù)的實時存儲、處理和查詢系統(tǒng),其特征在于:對于數(shù)據(jù)查詢模塊,通過ODBC,JDBC發(fā)送SQL查詢給數(shù)據(jù)倉庫,數(shù)據(jù)倉庫底層由Hive構(gòu)建;應(yīng)用時連接到任何一個分布式數(shù)據(jù)倉庫節(jié)點,該分布式數(shù)據(jù)倉庫節(jié)點成為query的協(xié)調(diào)者;分布式數(shù)據(jù)倉庫解析query,分析并決定分布式數(shù)據(jù)倉庫實體需要執(zhí)行tasks,執(zhí)行會針對優(yōu)化效率進行plan;分布式數(shù)據(jù)倉庫實體訪問本地分布式數(shù)據(jù)庫,通過HDFS服務(wù)獲取數(shù)據(jù);每個分布式數(shù)據(jù)倉庫返回數(shù)據(jù)給作為協(xié)調(diào)者的分布式數(shù)據(jù)倉庫,協(xié)調(diào)者返回result給client。
8.如權(quán)利要求2所述的大數(shù)據(jù)的實時存儲、處理和查詢系統(tǒng),其特征在于:YRAN分布式計算框架應(yīng)用過程如下:
1)向YARN中提交應(yīng)用程序,其中包括ApplicationMaster程序、啟動ApplicationMaster的命令、用戶程序;
2)ResourceManager為該應(yīng)用程序分配第一個Container,并與對應(yīng)的Node-Manager通信,要求它在這個Container中啟動應(yīng)用程序的ApplicationMaster;
3)ApplicationMaster首先向ResourceManager注冊,直接通過ResourceManager查看應(yīng)用程序的運行狀態(tài),然后它將為各個任務(wù)申請資源,并監(jiān)控它的運行狀態(tài),直到運行結(jié)束,即重復(fù)過程4)~7);
4)ApplicationMaster采用輪詢的方式通過RPC協(xié)議向ResourceManager申請和領(lǐng)取資源;
5)一旦ApplicationMaster申請到資源后,便與對應(yīng)的NodeManager通信,要求它啟動任務(wù)。
6)NodeManager為任務(wù)設(shè)置好運行環(huán)境后,將任務(wù)啟動命令寫到一個腳本中,并通過運行該腳本啟動任務(wù);
7)各個任務(wù)通過某個RPC協(xié)議向ApplicationMaster匯報自己的狀態(tài)和進度,以讓ApplicationMaster隨時掌握各個任務(wù)的運行狀態(tài),從而可以在任務(wù)失敗時重新啟動任務(wù);在應(yīng)用程序運行過程中,通過RPC向ApplicationMaster查詢應(yīng)用程序的當前運行狀態(tài);
8)應(yīng)用程序運行完成后,ApplicationMaster向ResourceManager注銷并關(guān)閉自己。