專利名稱:一種大數(shù)據(jù)量的數(shù)據(jù)查詢方法
技術(shù)領(lǐng)域:
本發(fā)明屬于數(shù)據(jù)查詢統(tǒng)計(jì)技術(shù)領(lǐng)域,涉及一種大數(shù)據(jù)量的數(shù)據(jù)查詢方法。
背景技術(shù):
在集團(tuán)型企業(yè)或單位,其組織結(jié)構(gòu)非常復(fù)查,各機(jī)構(gòu)涉及各種各樣的業(yè)務(wù)數(shù)據(jù),所有機(jī)構(gòu)的業(yè)務(wù)數(shù)據(jù)匯總,整個(gè)集團(tuán)企業(yè)或者單位的業(yè)務(wù)數(shù)據(jù)量會(huì)非常龐大。當(dāng)月度或者季度需要出報(bào)表或者平時(shí)因?yàn)槠渌蛐枰獙?duì)某些業(yè)務(wù)數(shù)據(jù)進(jìn)行統(tǒng)計(jì)的時(shí)候,因?yàn)檎麄€(gè)業(yè)務(wù)數(shù)據(jù)量非常龐大,所以其每次進(jìn)行業(yè)務(wù)數(shù)據(jù)查詢或統(tǒng)計(jì)時(shí),持續(xù)時(shí)間比較長,需要消耗很大 的人力、物力,消耗資源會(huì)比較大。目前,傳統(tǒng)的查詢和統(tǒng)計(jì)方式,一般都是直接從業(yè)務(wù)數(shù)據(jù)表中進(jìn)行處理,然而直接從業(yè)務(wù)數(shù)據(jù)表中進(jìn)行處理不僅影響應(yīng)用系統(tǒng)的業(yè)務(wù)處理性能,數(shù)據(jù)查詢統(tǒng)計(jì)慢,需要花很長時(shí)間,而且其數(shù)據(jù)查詢和統(tǒng)計(jì)性能非常差,甚至出現(xiàn)數(shù)據(jù)查詢或者統(tǒng)計(jì)數(shù)據(jù)的偏差,最終導(dǎo)致數(shù)據(jù)查詢的結(jié)果受到影響,進(jìn)而對(duì)企業(yè)或者單位的工作造成不良影響。故,針對(duì)上述現(xiàn)有技術(shù)在大數(shù)據(jù)量的數(shù)據(jù)查詢方面存在的缺陷,實(shí)有必要進(jìn)行研究,以提供一種大數(shù)據(jù)量的數(shù)據(jù)查詢方法,減少查詢的時(shí)間,降低數(shù)據(jù)查詢的資源消耗,提升查詢的效率和統(tǒng)計(jì)性能。
發(fā)明內(nèi)容
為解決上述問題,本發(fā)明的目的在于提供一種大數(shù)據(jù)量的數(shù)據(jù)查詢方法。為實(shí)現(xiàn)上述目的,本發(fā)明的技術(shù)方案為
一種大數(shù)據(jù)量的數(shù)據(jù)查詢方法,包括如下步驟
510:定義增量數(shù)據(jù)捕獲方式;
511:定義增量捕獲調(diào)度執(zhí)行計(jì)劃;
512:執(zhí)行增量數(shù)據(jù)定期歸集;
513:執(zhí)行數(shù)據(jù)統(tǒng)計(jì)結(jié)果查詢。進(jìn)一步地,在步驟SlO中,具體又包括
5101:定義增量單元;
5102:定義增量包;
5103:啟用增量包并進(jìn)行增量初始準(zhǔn)備;
5104:增量訂閱。進(jìn)一步地,在步驟SlOl中,增量單元的結(jié)構(gòu)包括有增量單元對(duì)應(yīng)的數(shù)據(jù)表、增量的內(nèi)容字段、數(shù)據(jù)表的主鍵字段、數(shù)據(jù)表的時(shí)間戳字段。進(jìn)一步地,在步驟S102中,所述增量包中需要指定增量數(shù)據(jù)的捕獲模式以及增量單元集合。進(jìn)一步地,所述增量包捕獲模式包括快照表模式、時(shí)間戳模式、觸發(fā)器模式、以及數(shù)據(jù)庫日志模式。
進(jìn)一步地,在步驟S103中,根據(jù)增量單元的結(jié)構(gòu),創(chuàng)建增量數(shù)據(jù)表,增量數(shù)據(jù)表的結(jié)構(gòu)除了包括增量單元對(duì)應(yīng)的內(nèi)容字段和主鍵字段,還包括時(shí)間戳字段。進(jìn)一步地,在步驟Sll中,包括有定義調(diào)度計(jì)劃,設(shè)置調(diào)度自動(dòng)增量歸集的任務(wù),并設(shè)置任務(wù)執(zhí)行的頻率和時(shí)間周期以及相關(guān)的執(zhí)行方式。
進(jìn)一步地,在步驟S12中,定期執(zhí)行增量數(shù)據(jù)歸集,其具體包括以下的步驟
5120:根據(jù)步驟SlO中定義的增量捕獲方式捕獲增量數(shù)據(jù);
5121:把增量數(shù)據(jù)加載到步驟S103中創(chuàng)建的增量數(shù)據(jù)表中;
5122:根據(jù)步驟SlO中增量訂閱的信息,生成增量數(shù)據(jù)同步到查詢中間結(jié)果表中的存儲(chǔ)過程;
5123:執(zhí)行步驟S122中創(chuàng)建的存儲(chǔ)過程,創(chuàng)建查詢中間結(jié)果表,并把步驟S120中捕獲的增量數(shù)據(jù)同步到查詢中間結(jié)果表中。本發(fā)明把復(fù)雜的數(shù)據(jù)統(tǒng)計(jì)查詢過程包分解成兩個(gè)過程,統(tǒng)計(jì)計(jì)算歸集和實(shí)時(shí)查詢;將統(tǒng)計(jì)計(jì)算歸集過程放在后臺(tái)運(yùn)行,并且歸集過程只歸集增量數(shù)據(jù),從而大大提高了大數(shù)據(jù)量統(tǒng)計(jì)查詢的執(zhí)行效率。
圖I是本發(fā)明的數(shù)據(jù)查詢整體流程示意 圖2是本發(fā)明的增量單元實(shí)體結(jié)構(gòu) 圖3是本發(fā)明的增量包實(shí)體結(jié)構(gòu)示意 圖4是本發(fā)明的增量實(shí)體結(jié)構(gòu)關(guān)系示意 圖5是本發(fā)明的增量捕獲規(guī)則設(shè)計(jì)的流程示意 圖6是本發(fā)明的增量數(shù)據(jù)歸集的流程示意圖。
具體實(shí)施例方式為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例,對(duì)本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。本發(fā)明創(chuàng)作主要在于把復(fù)雜數(shù)據(jù)的統(tǒng)計(jì)查詢過程分解為統(tǒng)計(jì)計(jì)算歸集和實(shí)時(shí)查詢?yōu)榱颂嵘樵兓蚪y(tǒng)計(jì)性能,采用定期查詢,將查詢結(jié)果定期的增量歸集到中間數(shù)據(jù)表的方式,在歸集查詢結(jié)果時(shí),由于數(shù)據(jù)量比較大,為提升歸集效率,不能采用全量歸集的方式,而采用增量歸集的方式來處理。其中,統(tǒng)計(jì)計(jì)算歸集過程通過計(jì)劃任務(wù)調(diào)度在后臺(tái)執(zhí)行,中間數(shù)據(jù)結(jié)果的歸集進(jìn)行增量歸集,實(shí)時(shí)查詢只實(shí)現(xiàn)從中間結(jié)果表中分頁取出數(shù)據(jù)進(jìn)行展現(xiàn)。每次進(jìn)行查詢或統(tǒng)計(jì)時(shí),只需要從中間數(shù)據(jù)表中進(jìn)行展現(xiàn)即可,而不需要在查詢過程中進(jìn)行即時(shí)計(jì)算和歸集,大大減少了查詢的時(shí)間,降低了資源消耗,提高了查詢效率。請(qǐng)參照附圖I所示,本發(fā)明大數(shù)據(jù)量的數(shù)據(jù)查詢方法包括如下步驟
SlO:定義增量數(shù)據(jù)捕獲方式;
本發(fā)明實(shí)施例中,把基于單個(gè)數(shù)據(jù)表的增量結(jié)構(gòu)稱為增量單元(Increment Unit);把增量數(shù)據(jù)的捕獲規(guī)則稱為增量包(Increment Package)。一個(gè)增量包由一個(gè)或者多個(gè)增量單元組成。在步驟SlO中,具體又包括SlOl :定義增量單元,如附圖2所示,其為增量單元的實(shí)體結(jié)構(gòu),其中增量單元的結(jié)構(gòu)包括有增量單元對(duì)應(yīng)的數(shù)據(jù)表、增量的內(nèi)容字段、數(shù)據(jù)表的主鍵字段、數(shù)據(jù)表的時(shí)間戳字段。其中數(shù)據(jù)表的時(shí)間戳字段只用于時(shí)間戳模式的增量數(shù)據(jù)捕獲模式;
S102:定義增量包,如附圖3所示,其為增量包的實(shí)體結(jié)構(gòu),其中增量包中需要指定增量數(shù)據(jù)的捕獲模式 以及增量單元集合,本發(fā)明實(shí)施例中提供的增量包捕獲模式包括快照表模式、時(shí)間戳模式、觸發(fā)器模式、以及數(shù)據(jù)庫日志模式;
S103:啟用增量包并進(jìn)行增量初始準(zhǔn)備,在進(jìn)行增量初始過程中,要根據(jù)增量單元的結(jié)構(gòu),創(chuàng)建增量數(shù)據(jù)表,增量數(shù)據(jù)表的結(jié)構(gòu)除了包括增量單元對(duì)應(yīng)的內(nèi)容字段和主鍵字段,還包括時(shí)間戳字段;
S104:增量訂閱,其中,在訂閱處理中要指定訂閱的用途、訂閱的增量包、訂閱同步過程中需要生成的存儲(chǔ)過程的名稱及參數(shù)。參照?qǐng)D4所示,其為增量單元、增量包與增量包的實(shí)體結(jié)構(gòu)關(guān)系圖示。其中,一個(gè)增量包可以由一個(gè)或多個(gè)增量單元組成,一個(gè)增量包可被多次訂閱;
511:定義增量捕獲調(diào)度執(zhí)行計(jì)劃;
在步驟Sll中,定義調(diào)度計(jì)劃,設(shè)置調(diào)度自動(dòng)增量歸集的任務(wù),并設(shè)置任務(wù)執(zhí)行的頻率和時(shí)間周期以及相關(guān)的執(zhí)行方式;
512:執(zhí)行增量數(shù)據(jù)定期歸集;
在步驟S12中,定期執(zhí)行增量數(shù)據(jù)歸集,其具體包括以下的步驟
5120:根據(jù)步驟SlO中定義的增量捕獲方式捕獲增量數(shù)據(jù);
5121:把增量數(shù)據(jù)加載到步驟S103中創(chuàng)建的增量數(shù)據(jù)表中;
5122:根據(jù)步驟SlO中增量訂閱的信息,生成增量數(shù)據(jù)同步到查詢中間結(jié)果表中的存儲(chǔ)過程;
5123:執(zhí)行步驟S122中創(chuàng)建的存儲(chǔ)過程,創(chuàng)建查詢中間結(jié)果表,并把步驟S120中捕獲的增量數(shù)據(jù)同步到查詢中間結(jié)果表中;
513:執(zhí)行數(shù)據(jù)統(tǒng)計(jì)結(jié)果查詢;
在步驟S13中,輸入查詢統(tǒng)計(jì)的條件,從步驟S123中創(chuàng)建中查詢中間結(jié)果表中分頁取出數(shù)據(jù)進(jìn)行展現(xiàn)。下面具體以應(yīng)用系統(tǒng)A中對(duì)業(yè)務(wù)BizA的數(shù)據(jù)進(jìn)行統(tǒng)計(jì)查詢?yōu)槔M(jìn)行說明。實(shí)例中,BizA的結(jié)構(gòu)比較復(fù)雜,包括有A_MainTable、A_SubTable、A_DetaiITable三個(gè)表。其中,A_MainTable是主表,A_SubTable是I級(jí)從表,A_DetaiITable是2級(jí)從表,其統(tǒng)計(jì)查詢的數(shù)據(jù)量比較大。如下所示,BizA的數(shù)據(jù)結(jié)構(gòu)如下
BizA 的主表A_MainTable
I數(shù)據(jù)類型I說明 A—MainColID String 主鍵 AMainColI String A_MainCol2 String A_MainCol3 String A_MainCol4 String
BizA 的 I 級(jí)從表A—SubTable
I數(shù)據(jù)類型一 ASubColID String 主鍵
權(quán)利要求
1.一種大數(shù)據(jù)量的數(shù)據(jù)查詢方法,其特征在于,包括如下步驟 510:定義增量數(shù)據(jù)捕獲方式; 511:定義增量捕獲調(diào)度執(zhí)行計(jì)劃; 512:執(zhí)行增量數(shù)據(jù)定期歸集; 513:執(zhí)行數(shù)據(jù)統(tǒng)計(jì)結(jié)果查詢。
2.如權(quán)利要求I所述大數(shù)據(jù)量的數(shù)據(jù)查詢方法,其特征在于,在步驟SlO中,具體又包括 5101:定義增量單元; 5102:定義增量包; 5103:啟用增量包并進(jìn)行增量初始準(zhǔn)備; 5104:增量訂閱。
3.如權(quán)利要求2所述大數(shù)據(jù)量的數(shù)據(jù)查詢方法,其特征在于在步驟SlOl中,增量單元的結(jié)構(gòu)包括有增量單元對(duì)應(yīng)的數(shù)據(jù)表、增量的內(nèi)容字段、數(shù)據(jù)表的主鍵字段、數(shù)據(jù)表的時(shí)間戳字段。
4.如權(quán)利要求3所述大數(shù)據(jù)量的數(shù)據(jù)查詢方法,其特征在于在步驟S102中,所述增量包中需要指定增量數(shù)據(jù)的捕獲模式以及增量單元集合。
5.如權(quán)利要求4所述大數(shù)據(jù)量的數(shù)據(jù)查詢方法,其特征在于所述增量數(shù)據(jù)的捕獲模式包括快照表模式、時(shí)間戳模式、觸發(fā)器模式、以及數(shù)據(jù)庫日志模式。
6.如權(quán)利要求5所述大數(shù)據(jù)量的數(shù)據(jù)查詢方法,其特征在于在步驟S103中,根據(jù)增量單元的結(jié)構(gòu),創(chuàng)建增量數(shù)據(jù)表,增量數(shù)據(jù)表的結(jié)構(gòu)除了包括增量單元對(duì)應(yīng)的內(nèi)容字段和主鍵字段,還包括時(shí)間戳字段。
7.如權(quán)利要求6所述大數(shù)據(jù)量的數(shù)據(jù)查詢方法,其特征在于在步驟Sll中,包括有定義調(diào)度計(jì)劃,設(shè)置調(diào)度自動(dòng)增量歸集的任務(wù),并設(shè)置任務(wù)執(zhí)行的頻率和時(shí)間周期以及相關(guān)的執(zhí)行方式。
8.如權(quán)利要求7所述大數(shù)據(jù)量的數(shù)據(jù)查詢方法,其特征在于在步驟S12中,定期執(zhí)行增量數(shù)據(jù)歸集,其具體包括以下的步驟 5120:根據(jù)步驟SlO中定義的增量捕獲方式捕獲增量數(shù)據(jù); 5121:把增量數(shù)據(jù)加載到步驟S103中創(chuàng)建的增量數(shù)據(jù)表中; 5122:根據(jù)步驟SlO中增量訂閱的信息,生成增量數(shù)據(jù)同步到查詢中間結(jié)果表中的存儲(chǔ)過程; 5123:執(zhí)行步驟S122中創(chuàng)建的存儲(chǔ)過程,創(chuàng)建查詢中間結(jié)果表,并把步驟S120中捕獲的增量數(shù)據(jù)同步到查詢中間結(jié)果表中。
全文摘要
本發(fā)明公開了一種大數(shù)據(jù)量的數(shù)據(jù)查詢方法,包括如下步驟S10定義增量數(shù)據(jù)捕獲方式;S11定義增量捕獲調(diào)度執(zhí)行計(jì)劃;S12執(zhí)行增量數(shù)據(jù)定期歸集;S13執(zhí)行數(shù)據(jù)統(tǒng)計(jì)結(jié)果查詢。本發(fā)明把復(fù)雜的數(shù)據(jù)統(tǒng)計(jì)查詢過程包分解成兩個(gè)過程,統(tǒng)計(jì)計(jì)算歸集和實(shí)時(shí)查詢;將統(tǒng)計(jì)計(jì)算歸集過程放在后臺(tái)運(yùn)行,并且歸集過程只歸集增量數(shù)據(jù),從而大大提高了大數(shù)據(jù)量統(tǒng)計(jì)查詢的執(zhí)行效率。
文檔編號(hào)G06F17/30GK102637206SQ20121007551
公開日2012年8月15日 申請(qǐng)日期2012年3月21日 優(yōu)先權(quán)日2012年3月21日
發(fā)明者岳現(xiàn)國, 王興山 申請(qǐng)人:浪潮集團(tuán)山東通用軟件有限公司