一種數(shù)據(jù)統(tǒng)計(jì)方法及系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明設(shè)及大數(shù)據(jù)處理技術(shù)領(lǐng)域,特別設(shè)及一種數(shù)據(jù)統(tǒng)計(jì)方法及系統(tǒng)。
【背景技術(shù)】
[0002] 目前,分布式集群已經(jīng)成為國內(nèi)外云計(jì)算研究的熱點(diǎn)。分布式集群具有良好的讀 寫能力,能夠支持大數(shù)據(jù)量的表格,且適用于簡單業(yè)務(wù)、數(shù)據(jù)量巨大的在線數(shù)據(jù)庫及數(shù)據(jù)倉 庫。由于分布式集群不適合作業(yè)務(wù)數(shù)據(jù)庫,一般業(yè)務(wù)數(shù)據(jù)庫往往由關(guān)系型數(shù)據(jù)庫來擔(dān)任,分 布式集群負(fù)責(zé)匯集各個(gè)關(guān)系型數(shù)據(jù)庫中的數(shù)據(jù)。對(duì)于分布式集群運(yùn)樣的大數(shù)據(jù)平臺(tái),數(shù)據(jù) 量的情況是一項(xiàng)重要指標(biāo)。
[0003] 現(xiàn)有技術(shù)中,可W通過MapReduce程序,遍歷大數(shù)據(jù)平臺(tái)中存儲(chǔ)的所有數(shù)據(jù),并利 用時(shí)間戳字段對(duì)遍歷到的滿足該時(shí)間戳字段的數(shù)據(jù)進(jìn)行統(tǒng)計(jì),W實(shí)現(xiàn)對(duì)數(shù)據(jù)量或數(shù)據(jù)總量 的統(tǒng)計(jì)。
[0004] 然而,對(duì)于大數(shù)據(jù)平臺(tái)中存儲(chǔ)的數(shù)據(jù)量非常大,表格的數(shù)量也非常多,因此,統(tǒng)計(jì) 效率較低,且需要耗費(fèi)大量的計(jì)算、網(wǎng)絡(luò)資源。
【發(fā)明內(nèi)容】
[0005] 有鑒于此,本發(fā)明提供一種數(shù)據(jù)統(tǒng)計(jì)方法及系統(tǒng),W實(shí)現(xiàn)對(duì)大數(shù)據(jù)平臺(tái)中數(shù)據(jù)量 的統(tǒng)計(jì)。
[0006] 第一方面,本發(fā)明提供了一種數(shù)據(jù)統(tǒng)計(jì)方法,預(yù)先創(chuàng)建數(shù)據(jù)抽取記錄表,W及預(yù)先 設(shè)置目標(biāo)條件,包括:
[0007] 監(jiān)測(cè)與大數(shù)據(jù)平臺(tái)相連接的至少一個(gè)關(guān)系型數(shù)據(jù)庫;
[000引在滿足所述目標(biāo)條件時(shí),將具有增量數(shù)據(jù)的關(guān)系型數(shù)據(jù)庫中的增量數(shù)據(jù)抽取到大 數(shù)據(jù)平臺(tái)中;
[0009] 更新所述數(shù)據(jù)抽取記錄表;
[0010] 在獲取到統(tǒng)計(jì)指令時(shí),根據(jù)所述數(shù)據(jù)抽取記錄表響應(yīng)所述統(tǒng)計(jì)指令。
[0011] 優(yōu)選地,所述滿足所述目標(biāo)條件,包括:到達(dá)設(shè)定時(shí)間段,和/或,所述至少一個(gè)關(guān) 系型數(shù)據(jù)庫中任意一個(gè)或多個(gè)關(guān)系型數(shù)據(jù)庫中具有目標(biāo)數(shù)據(jù)量的增量數(shù)據(jù)。
[0012]優(yōu)選地,所述數(shù)據(jù)抽取記錄表包括:rowkey項(xiàng)W及該rowkey項(xiàng)對(duì)應(yīng)的數(shù)據(jù)量;其 中,所述rowkey項(xiàng)包括:{表名字}、{表名字}間隔符{時(shí)間}、{時(shí)間}間隔符{表名字忡的任 意一項(xiàng)或多項(xiàng)。
[0013] 優(yōu)選地,所述根據(jù)所述數(shù)據(jù)抽取記錄表響應(yīng)所述統(tǒng)計(jì)指令,包括:根據(jù)所述數(shù)據(jù)抽 取記錄表中的rowkey項(xiàng),統(tǒng)計(jì)至少一個(gè)表名字的數(shù)據(jù)量、至少一個(gè)表名字在第一時(shí)間段內(nèi) 的數(shù)據(jù)量、在第二時(shí)間段內(nèi)至少一個(gè)表名字的數(shù)據(jù)量,W實(shí)現(xiàn)對(duì)所述統(tǒng)計(jì)指令的響應(yīng)。
[0014] 優(yōu)選地,執(zhí)行所述將目標(biāo)關(guān)系型數(shù)據(jù)庫中的增量數(shù)據(jù)抽取到大數(shù)據(jù)平臺(tái)中的工具 包括:Sqoop工具、Kettle工具、Flume工具或Qiuwa工具。
[0015] 第二方面,本發(fā)明還提供了一種數(shù)據(jù)統(tǒng)計(jì)系統(tǒng),包括:
[0016] 創(chuàng)建單元,用于創(chuàng)建數(shù)據(jù)抽取記錄表,并將所述數(shù)據(jù)抽取記錄表發(fā)送給更新單元;
[0017] 存儲(chǔ)單元,用于存儲(chǔ)目標(biāo)條件,并將所述目標(biāo)條件發(fā)送給抽取工具;
[0018] 監(jiān)測(cè)單元,用于監(jiān)測(cè)與大數(shù)據(jù)平臺(tái)相連接的至少一個(gè)關(guān)系型數(shù)據(jù)庫,并將監(jiān)測(cè)信 息發(fā)送給所述抽取工具;
[0019] 所述抽取工具,用于在滿足所述目標(biāo)條件時(shí),將具有增量數(shù)據(jù)的關(guān)系型數(shù)據(jù)庫中 的增量數(shù)據(jù)抽取到大數(shù)據(jù)平臺(tái)中,并將抽取信息發(fā)送給所述更新單元;
[0020] 所述更新單元,用于更新所述數(shù)據(jù)抽取記錄表,并將更新后的所述數(shù)據(jù)抽取記錄 表發(fā)送給響應(yīng)單元;
[0021 ]所述響應(yīng)單元,用于在獲取到統(tǒng)計(jì)指令時(shí),根據(jù)所述數(shù)據(jù)抽取記錄表響應(yīng)所述統(tǒng) 計(jì)指令。
[0022] 優(yōu)選地,所述滿足所述目標(biāo)條件,包括:到達(dá)設(shè)定時(shí)間段,和/或,所述至少一個(gè)關(guān) 系型數(shù)據(jù)庫中任意一個(gè)或多個(gè)關(guān)系型數(shù)據(jù)庫中具有目標(biāo)數(shù)據(jù)量的增量數(shù)據(jù)。
[0023] 優(yōu)選地,所述數(shù)據(jù)抽取記錄表包括jowk巧項(xiàng)W及該rowkey項(xiàng)對(duì)應(yīng)的數(shù)據(jù)量;其 中,所述rowkey項(xiàng)包括:{表名字}、{表名字}間隔符{時(shí)間}、{時(shí)間}間隔符{表名字忡的任 意一項(xiàng)或多項(xiàng)。
[0024] 優(yōu)選地,所述響應(yīng)單元,具體用于根據(jù)所述數(shù)據(jù)抽取記錄表中的rowkey項(xiàng),統(tǒng)計(jì)至 少一個(gè)表名字的數(shù)據(jù)量、至少一個(gè)表名字在第一時(shí)間段內(nèi)的數(shù)據(jù)量、在第二時(shí)間段內(nèi)至少 一個(gè)表名字的數(shù)據(jù)量,W實(shí)現(xiàn)對(duì)所述統(tǒng)計(jì)指令的響應(yīng)。
[00巧]優(yōu)選地,所述抽取工具包括:Sqoop工具、Kettle工具、F1皿e工具或化uwa工具。
[0026] 本發(fā)明實(shí)施例提供了一種數(shù)據(jù)統(tǒng)計(jì)方法及系統(tǒng),在將關(guān)系型數(shù)據(jù)庫中的數(shù)據(jù)抽取 到大數(shù)據(jù)平臺(tái)之后,對(duì)數(shù)據(jù)抽取記錄表進(jìn)行更新,在對(duì)大數(shù)據(jù)平臺(tái)中的數(shù)據(jù)進(jìn)行統(tǒng)計(jì)時(shí),可 W利用該數(shù)據(jù)抽取記錄表進(jìn)行響應(yīng),無需對(duì)大數(shù)據(jù)平臺(tái)中所有數(shù)據(jù)進(jìn)行遍歷,從而可W提 高統(tǒng)計(jì)效率,節(jié)省了大量的計(jì)算、網(wǎng)絡(luò)資源。
【附圖說明】
[0027] 圖1是本發(fā)明實(shí)施例提供的方法流程圖;
[0028] 圖2是本發(fā)明實(shí)施例提供的另一方法流程圖;
[0029] 圖3是本發(fā)明實(shí)施例提供的數(shù)據(jù)統(tǒng)計(jì)系統(tǒng)硬件架構(gòu)圖;
[0030] 圖4是本發(fā)明實(shí)施例提供的數(shù)據(jù)統(tǒng)計(jì)系統(tǒng)結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0031] 下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完 整地描述。顯然,所描述的實(shí)施例僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒?發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí) 施例,都屬于本發(fā)明保護(hù)的范圍。
[0032] 如圖1所示,本發(fā)明實(shí)施例提供了一種數(shù)據(jù)統(tǒng)計(jì)方法,該方法可W包括W下步驟:
[0033] 步驟101:預(yù)先創(chuàng)建數(shù)據(jù)抽取記錄表,W及預(yù)先設(shè)置目標(biāo)條件。
[0034] 步驟102:監(jiān)測(cè)與大數(shù)據(jù)平臺(tái)相連接的至少一個(gè)關(guān)系型數(shù)據(jù)庫。
[0035] 步驟103:在滿足所述目標(biāo)條件時(shí),將具有增量數(shù)據(jù)的關(guān)系型數(shù)據(jù)庫中的增量數(shù)據(jù) 抽取到大數(shù)據(jù)平臺(tái)中。
[0036] 步驟104:更新所述數(shù)據(jù)抽取記錄表。
[0037] 步驟105:在獲取到統(tǒng)計(jì)指令時(shí),根據(jù)所述數(shù)據(jù)抽取記錄表響應(yīng)所述統(tǒng)計(jì)指令。
[0038] 根據(jù)本方案,在將關(guān)系型數(shù)據(jù)庫中的數(shù)據(jù)抽取到大數(shù)據(jù)平臺(tái)之后,對(duì)數(shù)據(jù)抽取記 錄表進(jìn)行更新,在對(duì)大數(shù)據(jù)平臺(tái)中的數(shù)據(jù)進(jìn)行統(tǒng)計(jì)時(shí),可W利用該數(shù)據(jù)抽取記錄表進(jìn)行響 應(yīng),無需對(duì)大數(shù)據(jù)平臺(tái)中所有數(shù)據(jù)進(jìn)行遍歷,從而可W提高統(tǒng)計(jì)效率,節(jié)省了大量的計(jì)算、 網(wǎng)絡(luò)資源。
[0039] 在本發(fā)明一個(gè)優(yōu)選實(shí)施例中,由于各個(gè)關(guān)系型數(shù)據(jù)庫幾乎每天都會(huì)產(chǎn)生增量數(shù) 據(jù),且需要將產(chǎn)生的增量數(shù)據(jù)抽取到大數(shù)據(jù)平臺(tái)中,可W通過如下目標(biāo)條件,來啟動(dòng)該抽取 操作,到達(dá)設(shè)定時(shí)間段,和/或,所述至少一個(gè)關(guān)系型數(shù)據(jù)庫中任意一個(gè)或多個(gè)關(guān)系型數(shù)據(jù) 庫中具有增量數(shù)據(jù)。
[0040] 在本發(fā)明一個(gè)優(yōu)選實(shí)施例中,為了能夠利用該數(shù)據(jù)抽取記錄表來實(shí)現(xiàn)對(duì)大數(shù)據(jù)平 臺(tái)中數(shù)據(jù)量的統(tǒng)計(jì),需要對(duì)數(shù)據(jù)抽取記錄表中所記錄的信息進(jìn)行設(shè)計(jì),由于大數(shù)據(jù)平臺(tái)是 皿ase數(shù)據(jù)庫,因此對(duì)于大數(shù)據(jù)平臺(tái)中該數(shù)據(jù)抽取記錄表的設(shè)計(jì)可W包括:rowk巧項(xiàng)W及該 rowkey項(xiàng)對(duì)應(yīng)的數(shù)據(jù)量。其中,對(duì)于rowkey(行主鍵)的設(shè)計(jì)可W包括:{表名字}、{表名字} 間隔符附間}、{時(shí)間}間隔符{表名字忡的任意一項(xiàng)或多項(xiàng)。
[0041] 為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面結(jié)合附圖及具體實(shí)施例對(duì)本 發(fā)明作進(jìn)一步地詳細(xì)描述。
[0042] 如圖2所示,本發(fā)明實(shí)施例提供了一種數(shù)據(jù)統(tǒng)計(jì)方法,該方法可W包括W下步驟:
[0043] 步驟201:確定數(shù)據(jù)抽取工具。
[0044] 由于數(shù)據(jù)量的不斷增長,傳統(tǒng)的關(guān)系型數(shù)據(jù)庫(例如mysql、oracle等)已經(jīng)不能夠 支撐龐大的統(tǒng)計(jì)分析工作,因此,大數(shù)據(jù)平臺(tái)(例如化ase)應(yīng)運(yùn)而生,但是大數(shù)據(jù)平臺(tái)也有 其局限性,不能很好的支持在線事務(wù)。傳統(tǒng)的關(guān)系型數(shù)據(jù)庫支撐