本發(fā)明屬于計算機(jī)領(lǐng)域,尤其涉及一種數(shù)據(jù)處理方法及裝置。
背景技術(shù):
::隨著云計算技術(shù)的不斷發(fā)展,云計算技術(shù)不斷落地成為支撐各行業(yè)信息技術(shù)發(fā)展的重要支柱?;趆adoop和hbase的分布式集群,如今已成為國內(nèi)外云計算熱門研究對象。hadoop的hdfs分布式存儲為云平臺提供了存儲方式,hbase則為云平臺提供數(shù)據(jù)庫服務(wù)。企業(yè)或政府各部門數(shù)據(jù)越來越多,要對數(shù)據(jù)做深層次的關(guān)聯(lián)分析、數(shù)據(jù)挖掘就要把數(shù)據(jù)整合起來,放在統(tǒng)一的數(shù)據(jù)平臺上。大數(shù)據(jù)處理技術(shù)的出現(xiàn),能夠很好的應(yīng)對這個問題。然而各業(yè)務(wù)系統(tǒng)的數(shù)據(jù)源種類多且繁雜,數(shù)據(jù)標(biāo)準(zhǔn)不統(tǒng)一,那么如何將各業(yè)務(wù)庫中的數(shù)據(jù)采集到大數(shù)據(jù)平臺中,并進(jìn)行預(yù)處理,轉(zhuǎn)換成為統(tǒng)一的數(shù)據(jù)格式或標(biāo)準(zhǔn),成為對大數(shù)據(jù)進(jìn)行處理的首要問題。因此,迫切需要提供一種高效的數(shù)據(jù)處理方案,來解決大數(shù)據(jù)平臺中數(shù)據(jù)處理復(fù)雜的問題。技術(shù)實現(xiàn)要素:本發(fā)明提供一種數(shù)據(jù)處理方法及裝置,以解決上述問題。本發(fā)明提供一種數(shù)據(jù)處理方法。上述方法包括以下步驟:通過消息中間件傳輸來自不同數(shù)據(jù)源的數(shù)據(jù);對所述數(shù)據(jù)進(jìn)行流式處理,并將經(jīng)過處理的數(shù)據(jù)保存至數(shù)據(jù)庫。本發(fā)明還提供一種數(shù)據(jù)處理裝置,包括:數(shù)據(jù)傳輸模塊、數(shù)據(jù)處理模塊,其中,所述數(shù)據(jù)傳輸模塊與所述數(shù)據(jù)處理模塊連接;數(shù)據(jù)傳輸模塊,用于通過消息中間件傳輸來自不同數(shù)據(jù)源的數(shù)據(jù);數(shù)據(jù)處理模塊,用于對所述數(shù)據(jù)進(jìn)行流式處理,并將經(jīng)過處理的數(shù)據(jù)保存至數(shù)據(jù)庫。通過以下方案:通過消息中間件傳輸來自不同數(shù)據(jù)源的數(shù)據(jù),實現(xiàn)了數(shù)據(jù)一次收取,多出分發(fā),不必將數(shù)據(jù)進(jìn)行多次抽取,減輕了源頭數(shù)據(jù)庫的壓力。通過以下方案:對數(shù)據(jù)進(jìn)行流式處理,并將經(jīng)過處理的數(shù)據(jù)保存至數(shù)據(jù)庫,實現(xiàn)了對數(shù)據(jù)的實時計算,提高了數(shù)據(jù)處理效率,并且對數(shù)據(jù)進(jìn)行預(yù)處理,為后續(xù)離線計算做準(zhǔn)備。附圖說明此處所說明的附圖用來提供對本發(fā)明的進(jìn)一步理解,構(gòu)成本申請的一部分,本發(fā)明的示意性實施例及其說明用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明的不當(dāng)限定。在附圖中:圖1所示為本發(fā)明實施例1的數(shù)據(jù)處理方法處理流程圖;圖2所示為本發(fā)明實施例2的數(shù)據(jù)處理方法的架構(gòu)圖;圖3所示為本發(fā)明實施例3的數(shù)據(jù)處理方法時序圖;圖4所示為本發(fā)明實施例4的數(shù)據(jù)處理裝置結(jié)構(gòu)圖。具體實施方式下文中將參考附圖并結(jié)合實施例來詳細(xì)說明本發(fā)明。需要說明的是,在不沖突的情況下,本申請中的實施例及實施例中的特征可以相互組合。圖1所示為本發(fā)明實施例1的數(shù)據(jù)處理方法處理流程圖,包括以下步驟:步驟102:通過消息中間件傳輸來自不同數(shù)據(jù)源的數(shù)據(jù)。所述消息中間件是mq數(shù)據(jù)總線。mq作為數(shù)據(jù)總線使用,起到數(shù)據(jù)分發(fā)的功能,對mq來說數(shù)據(jù)都是通過etl(extract-transform-load,描述將數(shù)據(jù)從來源端經(jīng)過抽取、轉(zhuǎn)換、加載至目的端的過程)推送來的。通過json方式將所述數(shù)據(jù)推送至所述消息中間件。步驟104:對所述數(shù)據(jù)進(jìn)行流式處理,并將經(jīng)過處理的數(shù)據(jù)保存至數(shù)據(jù)庫。進(jìn)一步地,在對所述數(shù)據(jù)進(jìn)行流式處理包括:監(jiān)控所述數(shù)據(jù),根據(jù)監(jiān)控結(jié)果對所述數(shù)據(jù)的資源進(jìn)行統(tǒng)計;創(chuàng)建所述數(shù)據(jù)的索引。其中,采用storm進(jìn)行流式計算。許多分布式計算系統(tǒng)都可以實時或接近實時地處理大數(shù)據(jù)流,流式大數(shù)據(jù)處理的框架,例如storm,spark和samza。所述數(shù)據(jù)庫是hbase數(shù)據(jù)庫或hadoop數(shù)據(jù)庫。使用消息中間件作為數(shù)據(jù)總線,可應(yīng)對數(shù)據(jù)洪峰,實現(xiàn)消息的一次生產(chǎn)多次消費(fèi)。通過storm進(jìn)行流式計算,能夠?qū)?shù)據(jù)進(jìn)行實時處理。數(shù)據(jù)實時處理過程中可以對數(shù)據(jù)進(jìn)行預(yù)處理和數(shù)據(jù)的分發(fā)、建索引等過程,實時性高,節(jié)省計算、網(wǎng)絡(luò)資源。圖2所示為本發(fā)明實施例2的數(shù)據(jù)處理方法的架構(gòu)圖。如圖2所示,來自各數(shù)據(jù)源的數(shù)據(jù)推送至消息中間件mq。該數(shù)據(jù)源可以是關(guān)系型數(shù)據(jù)庫,通過etl方式處理抽取出的數(shù)據(jù),并將最終數(shù)據(jù)以json格式推送至mq,格式為{‘tablename’:’表名’,‘rowkey’:‘組織的rowkey’,‘source’:‘來源’}。該數(shù)據(jù)源也可以是第三方數(shù)據(jù)庫。mq將數(shù)據(jù)推送給storm,storm負(fù)責(zé)將數(shù)據(jù)寫入hbase數(shù)據(jù)庫以及數(shù)據(jù)的實時處理,創(chuàng)建索引、資源監(jiān)控以及其他業(yè)務(wù)處理。解決了從關(guān)系型數(shù)據(jù)庫及其它數(shù)據(jù)源采集數(shù)據(jù)到hadoop大數(shù)據(jù)平臺的數(shù)據(jù)處理問題。數(shù)據(jù)一次收取,多出分發(fā),不必將數(shù)據(jù)進(jìn)行多次抽取,減輕了源頭數(shù)據(jù)庫的壓力;對數(shù)據(jù)可以進(jìn)行實時計算;可以對數(shù)據(jù)進(jìn)行預(yù)處理,為后續(xù)離線計算做準(zhǔn)備。圖3所示為本發(fā)明實施例3的數(shù)據(jù)處理方法時序圖。從數(shù)據(jù)源抽取數(shù)據(jù),并經(jīng)過etl處理,經(jīng)過處理的數(shù)據(jù)發(fā)送至數(shù)據(jù)總線(mq),數(shù)據(jù)總線將數(shù)據(jù)分發(fā)給hbase數(shù)據(jù)庫以及第三方數(shù)據(jù)庫。同時,strom對數(shù)據(jù)進(jìn)行實時處理,進(jìn)行全文索引,資源統(tǒng)計,并將處理后的數(shù)據(jù)存儲至hbase數(shù)據(jù)庫。消息中間件技術(shù)有兩個核心功能:異步和解耦。這兩個核心功能整體上提高了應(yīng)用系統(tǒng)的工作效率,增強(qiáng)了系統(tǒng)的可用性、穩(wěn)定性和可擴(kuò)展性,提升了用戶體驗。使用onemm消息中間件系統(tǒng)可以實現(xiàn)應(yīng)用系統(tǒng)各模塊間或應(yīng)用系統(tǒng)與其他系統(tǒng)(如erp系統(tǒng)、支付系統(tǒng))之間的解耦與異步消息傳輸,改變直接通過數(shù)據(jù)庫共享方式交換數(shù)據(jù),造成系統(tǒng)之間底層數(shù)據(jù)耦合度過高問題以及遠(yuǎn)程跨地域應(yīng)用系統(tǒng)的數(shù)據(jù)交換問題。通過消息中間件及流式計算,可以實現(xiàn)傳統(tǒng)關(guān)系數(shù)據(jù)庫及其它數(shù)據(jù)源到大數(shù)據(jù)平臺的數(shù)據(jù)采集、處理問題。數(shù)據(jù)一次收取,多次分發(fā),不必將數(shù)據(jù)進(jìn)行多次抽取,減輕了源頭數(shù)據(jù)庫的壓力;對數(shù)據(jù)可以進(jìn)行實時計算;可以對數(shù)據(jù)進(jìn)行預(yù)處理,為后續(xù)離線計算做準(zhǔn)備。圖4所示為本發(fā)明實施例4的數(shù)據(jù)處理裝置結(jié)構(gòu)圖。如圖4所示,根據(jù)本發(fā)明的實施例的一種數(shù)據(jù)處理裝置,包括:數(shù)據(jù)傳輸模塊402、數(shù)據(jù)處理模塊404,其中,所述數(shù)據(jù)傳輸模塊402與所述數(shù)據(jù)處理模塊404連接;數(shù)據(jù)傳輸模塊402,用于通過消息中間件傳輸來自不同數(shù)據(jù)源的數(shù)據(jù);數(shù)據(jù)處理模塊404,用于對所述數(shù)據(jù)進(jìn)行流式處理,并將經(jīng)過處理的數(shù)據(jù)保存至數(shù)據(jù)庫。進(jìn)一步地,所述數(shù)據(jù)處理模塊404包括:統(tǒng)計單元4042,用于監(jiān)控所述數(shù)據(jù),根據(jù)監(jiān)控結(jié)果對所述數(shù)據(jù)的資源進(jìn)行統(tǒng)計;索引創(chuàng)建單元4044,用于創(chuàng)建所述數(shù)據(jù)的索引。所述消息中間件是mq數(shù)據(jù)總線。其中,數(shù)據(jù)處理模塊404采用storm進(jìn)行流式計算;所述數(shù)據(jù)庫是hbase數(shù)據(jù)庫或hadoop數(shù)據(jù)庫。數(shù)據(jù)傳輸模塊402通過json方式將所述數(shù)據(jù)推送至所述消息中間件。通過以下方案:通過消息中間件傳輸來自不同數(shù)據(jù)源的數(shù)據(jù),實現(xiàn)了數(shù)據(jù)一次收取,多次分發(fā),不必將數(shù)據(jù)進(jìn)行多次抽取,減輕了源頭數(shù)據(jù)庫的壓力。通過以下方案:對數(shù)據(jù)進(jìn)行流式處理,并將經(jīng)過處理的數(shù)據(jù)保存至數(shù)據(jù)庫,實現(xiàn)了對數(shù)據(jù)的實時計算,提高了數(shù)據(jù)處理效率,并且對數(shù)據(jù)進(jìn)行預(yù)處理,為后續(xù)離線計算做準(zhǔn)備。以上所述僅為本發(fā)明的優(yōu)選實施例而已,并不用于限制本發(fā)明,對于本領(lǐng)域的技術(shù)人員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。當(dāng)前第1頁12當(dāng)前第1頁12