欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

大數(shù)據(jù)聯(lián)機分析處理方法及裝置與流程

文檔序號:11155435閱讀:753來源:國知局
大數(shù)據(jù)聯(lián)機分析處理方法及裝置與制造工藝

本發(fā)明涉及大數(shù)據(jù)處理技術(shù)領(lǐng)域,特別是涉及一種大數(shù)據(jù)聯(lián)機分析處理方法及裝置。



背景技術(shù):

互聯(lián)網(wǎng)行業(yè)一直是大數(shù)據(jù)的生產(chǎn)者和使用者,尤其是近年互聯(lián)網(wǎng)+概念的提出,極大的加快了互聯(lián)網(wǎng)行業(yè)的發(fā)展,機遇與挑戰(zhàn)往往是并存的,互聯(lián)網(wǎng)的快速發(fā)展,給我們帶來了寶貴的數(shù)據(jù),如果對這些數(shù)據(jù)進行分析,獲取重要的知識,幫助決策者進行決策是各大互聯(lián)網(wǎng)公司關(guān)注的主要問題。OLAP無疑是解決該類問題最好的方式,傳統(tǒng)互聯(lián)網(wǎng)公司針對OLAP,多是依賴MYSQL和HBASE實現(xiàn)。

基于MYSQL方式實現(xiàn),MYSQL是最好的開源關(guān)系型數(shù)據(jù)庫之一,該架構(gòu)下的OLAP,只需通過編寫SQL和存儲過程,便可以實現(xiàn)絕大多數(shù)的查詢分析需求,然而數(shù)據(jù)量大的時候,單臺MYSQL服務器往往無法滿足,需要對數(shù)據(jù)庫進行分庫分表,將數(shù)據(jù)按照一定的散列規(guī)則,分別存儲到多個庫表中,查詢時再進行組合匯總。

基于HBASE方式實現(xiàn),HBASE是HADOOP生態(tài)圈的重要組成部分,是目前最活躍的NOSQL型數(shù)據(jù)庫,自身具有列式存儲,分布式,高可靠性,高性能等特點,所以HBASE越來越受到大家的關(guān)注,也被應用在各種場景下,OLAP便是HBASE的一個重要應用領(lǐng)域?;贖BASE的OLAP解決方案,一般是按照維度,將分析可能用到的維度組合進行遍歷,然后把這些組合結(jié)果存放在HBASE中,查詢時只需要根據(jù)查詢條件構(gòu)建key,便可以快速獲取到結(jié)果。

基于MYSQL的OLAP解決方案,為了計算的高效,需要建立索引,這些索引一般比原始數(shù)據(jù)占用的磁盤空間還要大,當數(shù)據(jù)量大時,存儲會成為嚴重的問題,對于長期存放歷史數(shù)據(jù)進行大規(guī)模數(shù)據(jù)分析的需求,該方式很難應對。面對大數(shù)據(jù)計算,MYSQL集群的規(guī)模需要很龐大,集群的設(shè)計和部署、維護都需要很多的人力物力,對于任何互聯(lián)網(wǎng)公司這些問題都不會輕易解決?;贖BASE的OLAP,需要將所有維度進行組合存儲,在維度增長的時候,結(jié)果的增長量是指數(shù)級的,對這些結(jié)果進行入庫操作也需要很多的計算資源,同樣入庫以后需要占用大量的存儲資源,然而絕大多數(shù)維度組合在后期的統(tǒng)計分析中不會被用到,造成資源的浪費。



技術(shù)實現(xiàn)要素:

本發(fā)明的目的是針對現(xiàn)有技術(shù)中存在的技術(shù)缺陷,而提供一種大數(shù)據(jù)聯(lián)機分析處理方法及裝置。

為實現(xiàn)本發(fā)明的目的所采用的技術(shù)方案是:

一種大數(shù)據(jù)聯(lián)機分析處理方法,包括入庫步驟和查詢步驟,

所述的入庫步驟包括,

將經(jīng)ETL處理的數(shù)據(jù)讀入內(nèi)存并根據(jù)預先設(shè)定的時間粒度,按照維度加時間粒度做鍵值的方式進行累加計算,達到時間粒度上限時將內(nèi)存中的數(shù)據(jù)塊保存到本地磁盤;

首先橫向?qū)⑺龅臄?shù)據(jù)塊按照時間戳及切分規(guī)則,將數(shù)據(jù)塊切分成一個個的小文件;其次縱向根據(jù)維度列構(gòu)建維度詞典,并按照b i tmap進行壓縮使每列指標進行單獨存儲生成壓縮數(shù)據(jù);

按照LRU算法,根據(jù)數(shù)據(jù)入庫和使用情況將壓縮數(shù)據(jù)分為冷熱數(shù)據(jù)并分別存儲;

所述的查詢步驟包括,

查詢發(fā)起后根據(jù)散列規(guī)則將查詢?nèi)蝿障掳l(fā)到各個計算節(jié)點,計算節(jié)點準備數(shù)據(jù)并分別進行計算,各個計算節(jié)點將自身計算的結(jié)果數(shù)據(jù)發(fā)送給查詢代理機,查詢代理機對這些結(jié)果數(shù)據(jù)進行最后的匯總并返回。

經(jīng)ETL處理的數(shù)據(jù)調(diào)度分配至計算節(jié)點進行聚合計算。

還包括將查詢結(jié)果進行內(nèi)存緩存,當相同查詢再次發(fā)起可以實現(xiàn)毫秒返回。

熱數(shù)據(jù)為最近入庫數(shù)據(jù)或最近使用的數(shù)據(jù),冷數(shù)據(jù)為長期不用的數(shù)據(jù),將熱數(shù)據(jù)放入各個計算節(jié)點本地磁盤進行存儲,冷數(shù)據(jù)存儲在HDFS中。

計算節(jié)點準備數(shù)據(jù)并分別進行計算包括計算節(jié)點根據(jù)自身持有的數(shù)據(jù)和查詢需要的數(shù)據(jù),判斷是否需要從另行存儲的冷數(shù)據(jù)獲取數(shù)據(jù)。

一種大數(shù)據(jù)聯(lián)機分析處理裝置,包括,

入庫預計算模塊,用以將經(jīng)ETL處理的數(shù)據(jù)讀入內(nèi)存并根據(jù)預先設(shè)定的時間粒度,按照維度加時間粒度做鍵值的方式進行累加計算,達到時間粒度上限時將內(nèi)存中的數(shù)據(jù)塊保存到本地磁盤;

壓縮存儲模塊,用以首先橫向?qū)⑺龅臄?shù)據(jù)塊按照時間戳及切分規(guī)則,將數(shù)據(jù)塊切分成一個個的小文件;其次縱向根據(jù)維度列構(gòu)建維度詞典并按照bitmap進行壓縮,每列指標進行單獨存儲生成壓縮數(shù)據(jù);

冷熱分儲模塊,用以按照LRU算法,根據(jù)數(shù)據(jù)入庫和使用情況將壓縮數(shù)據(jù)分為冷熱數(shù)據(jù)并分別存儲。

查詢模塊,用以查詢發(fā)起時,根據(jù)散列規(guī)則將查詢?nèi)蝿障掳l(fā)到各個計算節(jié)點;計算節(jié)點準備數(shù)據(jù)并分別進行計算;然后各個計算節(jié)點將自身計算的結(jié)果數(shù)據(jù)發(fā)送給查詢代理機,查詢代理機對這些結(jié)果數(shù)據(jù)進行最后的匯總并返回。

還包括調(diào)度模塊,用以將經(jīng)ETL處理的數(shù)據(jù)分配至計算節(jié)點進行聚合計算,同時用以將查詢?nèi)蝿詹鸱殖啥鄠€子任務并分別派發(fā)至各個計算節(jié)點。

還包括緩存存儲模塊,用以將查詢結(jié)果進行內(nèi)存緩存,當相同查詢再次發(fā)起可以實現(xiàn)毫秒返回。

所述的冷熱分儲模塊控制方法為:熱數(shù)據(jù)為最近入庫數(shù)據(jù)或最近使用的數(shù)據(jù),冷數(shù)據(jù)為長期不用的數(shù)據(jù),將熱數(shù)據(jù)放入各個計算節(jié)點本地磁盤進行存儲,冷數(shù)據(jù)存儲在HDFS中。

與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果是:

本發(fā)明采用預計算結(jié)合壓縮的方式解決大數(shù)據(jù)給OLAP帶來的存儲壓力;通過冷熱數(shù)據(jù)分離的方式,長期有效的存儲歷史數(shù)據(jù);另外采用分布式計算,將計算壓力分離,快速響應查詢需求。

附圖說明

圖1所示為本發(fā)明的大數(shù)據(jù)聯(lián)機分析處理方法及裝置的流程示意圖。

具體實施方式

以下結(jié)合附圖和具體實施例對本發(fā)明作進一步詳細說明。應當理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。

術(shù)語解釋:

OLAP:聯(lián)機分析處理(Online Analytical Processing),是使分析人員、管理人員或執(zhí)行人員能夠從多種角度對從原始數(shù)據(jù)中轉(zhuǎn)化出來的、能夠真正為用戶所理解的、并真實反映企業(yè)維特性的信息進行快速、一致、交互地存取,從而獲得對數(shù)據(jù)的更深入了解的一類軟件技術(shù)。

維度:dimension,維度是一組屬性,表示與多維數(shù)據(jù)集中度量值相關(guān)的領(lǐng)域,并且用于分析多維數(shù)據(jù)集中的度量值。

HADOOP:Apache開源頂級項目,分布式計算框架,主要包括分布式存儲和分布式計算。HDFS:是HADOOP軟件框架的核心部分,適合運行在通用硬件上的分布式文件系統(tǒng),具有高容錯性。

如圖1所示,本發(fā)明的大數(shù)據(jù)聯(lián)機分析處理方法,包括入庫步驟和查詢步驟,

所述的入庫步驟如圖1實線標示的子步驟1-4所示,其包括,

步驟101,將經(jīng)ETL處理的數(shù)據(jù)讀入內(nèi)存并根據(jù)預先設(shè)定的時間粒度,按照維度加時間粒度做鍵值(key)的方式進行累加計算,達到時間粒度上限時將內(nèi)存中的數(shù)據(jù)塊保存到本地磁盤;

該子步驟中,經(jīng)過ETL處理的數(shù)據(jù)在進入OLAP系統(tǒng)時,已經(jīng)被轉(zhuǎn)化為維度、度量值和時間戳構(gòu)成的結(jié)構(gòu)化數(shù)據(jù),將這些數(shù)據(jù)讀入內(nèi)存,并根據(jù)預先設(shè)定的時間粒度,按照維度加時間粒度做鍵值(key)的方式進行累加計算,達到時間粒度上限時將內(nèi)存中的計算結(jié)果保存到本地磁盤,累加計算的過程往往跟業(yè)務密切相關(guān),計算過程一般比較簡單,例如累加求和,具體計算過程可以根據(jù)業(yè)務需求設(shè)定,并無固定算法。系統(tǒng)將業(yè)務進行了封裝,對外用戶只需要配置哪些列需要進行預計算,和進行哪種預計算即可。將數(shù)據(jù)按照時間粒度進行聚合,有效減少數(shù)據(jù)塊的大小,

步驟102,首先橫向?qū)⑺龅臄?shù)據(jù)塊按照時間戳,設(shè)定切分規(guī)則,可以設(shè)定按分鐘、小時、天等,將數(shù)據(jù)塊切分成一個個的小文件;其次縱向根據(jù)維度列構(gòu)建維度詞典,維度列轉(zhuǎn)化為詞典編號,并按照bitmap進行壓縮,每列指標進行單獨存儲生成壓縮數(shù)據(jù);

數(shù)據(jù)壓縮時采用橫縱雙向切分的策略,因為統(tǒng)計分析類需求往往與時間序列緊密聯(lián)系,先按照時間對數(shù)據(jù)進行切分,既可以縮小數(shù)據(jù)規(guī)模,又方便承接查詢請求,然后bitmap結(jié)合列式存儲,兩者相結(jié)合,可以輕松應對海量數(shù)據(jù),并且磁盤占用量很小。

步驟103,按照LRU算法,根據(jù)數(shù)據(jù)入庫和使用情況將壓縮數(shù)據(jù)分為冷熱數(shù)據(jù)并分別存儲;

LRU由負責調(diào)度的管理節(jié)點發(fā)起,管理節(jié)點記錄了數(shù)據(jù)塊的具體分布,并標記了數(shù)據(jù)塊的創(chuàng)建和訪問時間,根據(jù)入庫、訪問時間和頻度等使用情況,將壓縮數(shù)據(jù)分為冷熱數(shù)據(jù),熱數(shù)據(jù)為最近入庫數(shù)據(jù)或最近使用的數(shù)據(jù),冷數(shù)據(jù)為長期不用的數(shù)據(jù)。將熱數(shù)據(jù)放入各個計算節(jié)點本地磁盤進行存儲,冷數(shù)據(jù)存儲在HDFS中,這樣既可以快速響應絕大多數(shù)的查詢請求,又可以儲存長時間的歷史數(shù)據(jù)。

所述的查詢步驟如圖1所示的虛線標示的子步驟1-8所示,其包括,

查詢發(fā)起時,將查詢?nèi)蝿詹鸱譃槎鄠€子任務,分別派發(fā)給各個計算節(jié)點,采用分布式計算,計算速度大大提升,計算節(jié)點準備數(shù)據(jù)并分別進行計算;基于上述冷熱數(shù)據(jù)的分別存儲,在計算節(jié)點準備數(shù)據(jù)時計算節(jié)點根據(jù)自身持有的數(shù)據(jù)和查詢需要的數(shù)據(jù),判斷是否需要從另行存儲的冷數(shù)據(jù)獲取數(shù)據(jù),當需要讀取時則從冷數(shù)據(jù)存儲,如hdfs中讀取,各個計算節(jié)點將自身計算的結(jié)果數(shù)據(jù)發(fā)送給查詢代理機,查詢代理機對這些結(jié)果數(shù)據(jù)進行最后的匯總并返回,如果節(jié)點執(zhí)行失敗,該節(jié)點的任務會重新派發(fā)給別的機器,保證任務的健壯性。

同時,還包括將將查詢結(jié)果進行內(nèi)存緩存,當相同查詢再次發(fā)起可以實現(xiàn)毫秒返回。將查詢結(jié)果進行內(nèi)存緩存,能有效針對網(wǎng)絡頻發(fā),如熱點事件的查詢,從緩存中快速命中,極速返回分析結(jié)果,提高使用感受。

本發(fā)明利用OLAP時間粒度較大的特點,通過對數(shù)據(jù)進行預計算,來減小大數(shù)據(jù)量對后期查詢造成的壓力,用戶查詢請求只需基于預計算的結(jié)果進行匯總就可以實現(xiàn)。另外本發(fā)明采用冷熱數(shù)據(jù)交互的方式,解決大數(shù)據(jù)帶來的資源緊張的問題,近期熱點數(shù)據(jù)放入內(nèi)存中快速查詢,歷史數(shù)據(jù)經(jīng)過壓縮放入HDFS,長期海量存儲;其次本發(fā)明還借鑒HADOOP分布式計算的特點,將海量數(shù)據(jù)進行計算拆分,多臺機器協(xié)調(diào)工作,再將計算結(jié)果進行匯總,得到最終結(jié)果,這樣能夠平滑的進行擴容,隨著數(shù)據(jù)量的增大,只需增加機器便可以解決。

本發(fā)明還同時公開了一種大數(shù)據(jù)聯(lián)機分析處理裝置,包括,

入庫預計算模塊,用以將經(jīng)ETL處理的數(shù)據(jù)讀入內(nèi)存并根據(jù)預先設(shè)定的時間粒度,按照維度加時間粒度做鍵值的方式進行累加計算,達到時間粒度上限時將內(nèi)存中的數(shù)據(jù)塊保存到本地磁盤;本發(fā)明采用的預計算放在內(nèi)存中進行,根據(jù)使用者設(shè)定的時間粒度進行提前聚合,實現(xiàn)縮小數(shù)據(jù)量的目的。

壓縮存儲模塊,用以首先橫向?qū)⑺龅臄?shù)據(jù)塊按照時間戳及切分規(guī)則,將數(shù)據(jù)塊切分成一個個的小文件;其次縱向根據(jù)維度列構(gòu)建維度詞典并按照bitmap進行壓縮,每列指標進行單獨存儲生成壓縮數(shù)據(jù);本發(fā)明壓縮存儲模塊采用了橫縱雙向切分,雙向壓縮的方式,基于這種設(shè)計方式,可以輕松應對海量數(shù)據(jù),并且磁盤占用量很小。本發(fā)明通過預計算和壓縮,在不影響查詢需求的前提下,盡可能小的減少數(shù)據(jù)的規(guī)模,節(jié)省磁盤資源,相對MYSQL方案,本發(fā)明的磁盤空間要節(jié)省80%。

冷熱分儲模塊,用以按照LRU算法,根據(jù)數(shù)據(jù)入庫和使用情況將壓縮數(shù)據(jù)分為冷熱數(shù)據(jù)并分別存儲。其控制方法為:熱數(shù)據(jù)為最近入庫數(shù)據(jù)或最近使用的數(shù)據(jù),冷數(shù)據(jù)為長期不用的數(shù)據(jù),將熱數(shù)據(jù)放入各個計算節(jié)點本地磁盤進行存儲,冷數(shù)據(jù)存儲在HDFS中。本發(fā)明冷熱分存模塊的設(shè)計使得保留海量數(shù)據(jù)進行OLAP變成現(xiàn)實,在現(xiàn)代大數(shù)據(jù)分析時代具有重要的意義。

查詢模塊,用以查詢發(fā)起時,根據(jù)散列規(guī)則將查詢?nèi)蝿障掳l(fā)到各個計算節(jié)點;計算節(jié)點準備數(shù)據(jù)并分別進行計算;然后各個計算節(jié)點將自身計算的結(jié)果數(shù)據(jù)發(fā)送給查詢代理機,查詢代理機對這些結(jié)果數(shù)據(jù)進行最后的匯總并返回。緩存存儲模塊,用以將查詢結(jié)果進行內(nèi)存緩存,當相同查詢再次發(fā)起可以實現(xiàn)毫秒返回。本發(fā)明分布式計算查詢和緩存模塊的設(shè)計,使得查詢請求速度得以提升,90%的查詢請求可以實現(xiàn)秒級響應,相對傳統(tǒng)OLAP而言,這個速度的提升非常明顯。

還包括調(diào)度模塊,用以將經(jīng)ETL處理的數(shù)據(jù)分配至計算節(jié)點進行聚合計算,同時用以將查詢?nèi)蝿詹鸱殖啥鄠€子任務并分別派發(fā)至各個計算節(jié)點。LRU由負責調(diào)度的管理節(jié)點發(fā)起,管理節(jié)點記錄了數(shù)據(jù)塊的具體分布,并標記了數(shù)據(jù)塊的創(chuàng)建和訪問時間。調(diào)度是基于ZOOKEEPER來實現(xiàn)的,類似于mas ter管理節(jié)點的角色,負責記錄數(shù)據(jù)塊的位置,負責入庫數(shù)據(jù)的拆分,查詢請求的路由等。

以上所述僅是本發(fā)明的優(yōu)選實施方式,應當指出的是,對于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以做出若干改進和潤飾,這些改進和潤飾也應視為本發(fā)明的保護范圍。

當前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
永修县| 普洱| 蓝山县| 百色市| 双牌县| 沙洋县| 容城县| 嘉峪关市| 双辽市| 隆回县| 富川| 清水县| 保康县| 潜山县| 防城港市| 霍城县| 济南市| 班戈县| 蓬莱市| 汝阳县| 巴彦县| 岚皋县| 昌宁县| 尚义县| 北安市| 东乡县| 平安县| 竹溪县| 永善县| 志丹县| 湘乡市| 集安市| 仙居县| 汤阴县| 丰宁| 黔南| 射洪县| 鹤山市| 元江| 秦皇岛市| 连城县|