亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種數(shù)據(jù)增量合并的方法及其裝置制造方法

文檔序號:6489002閱讀:313來源:國知局
一種數(shù)據(jù)增量合并的方法及其裝置制造方法
【專利摘要】本申請公開了一種數(shù)據(jù)增量合并方法及其裝置,該方法通過設(shè)置分區(qū)字段,對抽取的增量數(shù)據(jù)的分區(qū)字段進行規(guī)整,確定具體的分區(qū)標(biāo)識,根據(jù)分區(qū)標(biāo)識,對全量表進行分區(qū)過濾,抽取出分區(qū)標(biāo)識對應(yīng)的分區(qū)數(shù)據(jù)表,然后將增量數(shù)據(jù)與分區(qū)數(shù)據(jù)表進行合并,最后將合并后的分區(qū)數(shù)據(jù)表插回到全量表,實現(xiàn)增量合并。本申請同時公開了實現(xiàn)上述數(shù)據(jù)增量合并方法的裝置。本申請的數(shù)據(jù)增量合并方法及其裝置減少了數(shù)據(jù)增量合并操作的數(shù)據(jù)量,節(jié)省了計算資源,同時提高了數(shù)據(jù)的準(zhǔn)確性。
【專利說明】一種數(shù)據(jù)增量合并的方法及其裝置
【技術(shù)領(lǐng)域】
[0001]本申請涉及數(shù)據(jù)庫【技術(shù)領(lǐng)域】,尤其涉及一種數(shù)據(jù)增量合并的方法及其裝置。
【背景技術(shù)】
[0002]隨著互聯(lián)網(wǎng)的普及和數(shù)字信息技術(shù)的飛速發(fā)展,幾乎每天都能產(chǎn)生海量的電子數(shù)據(jù),已經(jīng)很難衡量現(xiàn)今的社會中存儲的電子數(shù)據(jù)總量。如今不僅產(chǎn)生和存儲的電子數(shù)據(jù)數(shù)量龐大,而且數(shù)據(jù)本身也越來越趨于復(fù)雜化,對于海量數(shù)據(jù)的處理,已經(jīng)越來越受到關(guān)注。
[0003]在海量數(shù)據(jù)的處理中,海量數(shù)據(jù)增量合并技術(shù)是每個擁有大數(shù)據(jù)量企業(yè)都會采用的方法。海量數(shù)據(jù)增量合并技術(shù)是從生產(chǎn)系統(tǒng)數(shù)據(jù)庫中抓取當(dāng)天新增和更新的數(shù)據(jù),和截止到前一天的全量數(shù)據(jù)做合并的技術(shù),傳統(tǒng)的海量數(shù)據(jù)合并要么是通過全表和增量數(shù)據(jù)做合并,保證數(shù)據(jù)的精確性,但是消耗巨大的計算資源;要么通過截取一段周期的全量數(shù)據(jù)和增量數(shù)據(jù)合并,通過損失數(shù)據(jù)準(zhǔn)確性,保證性能可控。
[0004]但傳統(tǒng)的海量數(shù)據(jù)增量合并技術(shù)如果全量數(shù)據(jù)和增量做合并,因為數(shù)據(jù)量大,消耗計算資源多,任務(wù)運行時間長,而且大數(shù)據(jù)量合并容易引發(fā)系統(tǒng)內(nèi)存溢出等問題。如果截取固定時間(比如近三個月)和增量數(shù)據(jù)做合并,則影響數(shù)據(jù)的準(zhǔn)確性,影響下游應(yīng)用方對數(shù)據(jù)的使用。

【發(fā)明內(nèi)容】

[0005]本申請的目的是解決海量數(shù)據(jù)增量合并帶來的計算資源消耗和性能不可控的問題,提出一種海量數(shù)據(jù)增量合并的方法。
[0006]一種海量數(shù)據(jù)增量合并的方法,用于對擁有海量數(shù)據(jù)的數(shù)據(jù)倉庫全量表做增量合并,包括步驟:
[0007]設(shè)置分區(qū)字段;
[0008]抽取當(dāng)前的增量數(shù)據(jù);
[0009]對抽取的增量數(shù)據(jù)的分區(qū)字段進行規(guī)整,確定具體的分區(qū)標(biāo)識;
[0010]根據(jù)所述的分區(qū)標(biāo)識,對全量表進行分區(qū)過濾,抽取出所述分區(qū)對應(yīng)的分區(qū)數(shù)據(jù)表;
[0011]將所述增量數(shù)據(jù)與所述的分區(qū)數(shù)據(jù)表合并,得到更新后的分區(qū)數(shù)據(jù)表,并將更新后的分區(qū)數(shù)據(jù)表重新插回到全量表。
[0012]進一步地,所述的抽取當(dāng)前的增量數(shù)據(jù)的方法還包括步驟:
[0013]確定抽取規(guī)則,按照抽取規(guī)則抽取當(dāng)前的增量數(shù)據(jù)。常用的抽取規(guī)則包括按創(chuàng)建時間抽取,按修改時間抽取和按標(biāo)志字段抽取,具體采用何種抽取規(guī)則需要根據(jù)數(shù)據(jù)表的具體屬性來進行選擇,保證抽取的是增量數(shù)據(jù)即可。
[0014]進一步地,所述的分區(qū)字段為固定不變的日期字段。數(shù)據(jù)倉庫中的數(shù)據(jù)表包含一條條的記錄,每條記錄包含多個標(biāo)志字段,通常把記錄中固定不變的日期字段設(shè)置為分區(qū)字段,以便確定具體的分區(qū)。當(dāng)采用固定不變的日期字段時,所述的分區(qū)標(biāo)識為所述增量數(shù)據(jù)固定不變的日期字段對應(yīng)的日期,分區(qū)標(biāo)識也可以采用該日期字段對應(yīng)的月份,根據(jù)數(shù)據(jù)量的大小做不同的設(shè)置。
[0015]當(dāng)數(shù)據(jù)表是拉鏈表時,一種數(shù)據(jù)增量合并的方法的另一種實現(xiàn)方式,用于數(shù)據(jù)倉庫拉鏈表增量合并,所述的拉鏈表包括記錄生效時間字段和記錄失效時間字段,所述的拉鏈表分為拉鏈表當(dāng)前分區(qū)和拉鏈表歷史分區(qū),所述拉鏈表增量合并的方法包括步驟:
[0016]抽取增量數(shù)據(jù);
[0017]將抽取的增量數(shù)據(jù)與所述拉鏈表當(dāng)前分區(qū)進行比較;
[0018]將拉鏈表當(dāng)前分區(qū)和增量數(shù)據(jù)中,在增量數(shù)據(jù)中存在最新更新的非最新數(shù)據(jù),插入到拉鏈表歷史分區(qū)中;
[0019]將增量數(shù)據(jù)中新增和最新更新的數(shù)據(jù)插入到拉鏈表當(dāng)前分區(qū)中。
[0020]進一步地,所述的抽取增量數(shù)據(jù)的方法還包括步驟:確定抽取規(guī)則,按照抽取規(guī)則抽取增量數(shù)據(jù)。常用的抽取規(guī)則包括按創(chuàng)建時間抽取,按修改時間抽取和按標(biāo)志字段抽取,具體采用何種抽取規(guī)則需要根據(jù)數(shù)據(jù)表的具體屬性來進行選擇,保證抽取的是增量數(shù)據(jù)即可。
[0021]進一步地,所述將拉鏈表當(dāng)前分區(qū)和增量數(shù)據(jù)中,在增量數(shù)據(jù)中存在最新更新的非最新數(shù)據(jù),插入到拉鏈表歷史分區(qū)中,采用的是動態(tài)分區(qū)的更新方法,所述的動態(tài)分區(qū)的更新方法包括步驟:
[0022]根據(jù)所述非最新數(shù)據(jù)的記錄生效時間和記錄失效時間,將該非最新數(shù)據(jù)插入到所述記錄生效時間和記錄失效時間對應(yīng)的歷史分區(qū)中。動態(tài)分區(qū)更新方法能夠按照記錄生效時間和記錄失效時間的值動態(tài)的把記錄插入到相應(yīng)的分區(qū)中,同時更新多個分區(qū)。
[0023]進一步地,所述將拉鏈表當(dāng)前分區(qū)和增量數(shù)據(jù)中,在增量數(shù)據(jù)中存在最新更新的非最新數(shù)據(jù),插入到拉鏈表歷史分區(qū)中還包括步驟:將所述的非最新數(shù)據(jù)的記錄失效時間變更為該記錄的更新時間。
[0024]本申請還提出了一種數(shù)據(jù)增量合并裝置,用于對擁有海量數(shù)據(jù)的數(shù)據(jù)倉庫全量表做增量合并,包括:
[0025]設(shè)置模塊,用于設(shè)置分區(qū)字段;
[0026]增量數(shù)據(jù)抽取模塊,用于抽取當(dāng)前的增量數(shù)據(jù);
[0027]分區(qū)標(biāo)識模塊,用于根據(jù)增量數(shù)據(jù),確定具體的分區(qū)標(biāo)識;
[0028]分區(qū)數(shù)據(jù)抽取模塊,用于根據(jù)分區(qū)標(biāo)識,從全量表中抽取所述分區(qū)標(biāo)識對應(yīng)的分區(qū)數(shù)據(jù)表;
[0029]增量合并模塊,用于將增量數(shù)據(jù)與所述的分區(qū)數(shù)據(jù)表合并,并將更新后的分區(qū)數(shù)據(jù)表重新插回到全量表。
[0030]進一步地,所述增量數(shù)據(jù)抽取模塊還設(shè)置有抽取規(guī)則模塊,用于設(shè)定抽取規(guī)則。
[0031]進一步地,所述的分區(qū)字段為固定不變的日期字段,所述的分區(qū)標(biāo)識為所述增量數(shù)據(jù)固定不變的日期字段對應(yīng)的日期。
[0032]同樣地,當(dāng)數(shù)據(jù)表為拉鏈表時,本申請還提出一種數(shù)據(jù)增量合并的裝置的另一種實現(xiàn)方式,用于數(shù)據(jù)倉庫拉鏈表增量合并,所述的拉鏈表包括記錄生效時間字段和記錄失效時間字段,所述的拉鏈表分為拉鏈表當(dāng)前分區(qū)和拉鏈表歷史分區(qū),所述的拉鏈表增量合并的裝置包括:[0033]增量數(shù)據(jù)抽取模塊,用于抽取增量數(shù)據(jù);
[0034]比較模塊,用于將增量數(shù)據(jù)與拉鏈表當(dāng)前分區(qū)進行比對;
[0035]歷史分區(qū)合并模塊,用于將拉鏈表當(dāng)前分區(qū)和增量數(shù)據(jù)中,在增量數(shù)據(jù)中存在最新更新的非最新數(shù)據(jù),插入到拉鏈表歷史分區(qū)中;
[0036]當(dāng)前分區(qū)合并模塊,用于將增量數(shù)據(jù)中新增和最新更新的數(shù)據(jù)插入到拉鏈表當(dāng)前分區(qū)中。
[0037]進一步地,所述的增量數(shù)據(jù)抽取模塊還包括抽取規(guī)則設(shè)置單元,用于設(shè)定抽取規(guī)則。
[0038]進一步地,所述歷史分區(qū)合并模塊還包括動態(tài)分區(qū)更新單元,用于根據(jù)所述非最新數(shù)據(jù)的記錄生效時間和記錄失效時間,將該非最新數(shù)據(jù)插入到所述記錄生效時間和記錄失效時間對應(yīng)的歷史分區(qū)中。
[0039]進一步地,所述歷史分區(qū)合并模塊還包括記錄失效時間變更單元,用于將所述的非最新數(shù)據(jù)的記錄失效時間變更為該記錄的更新時間。
[0040]本申請?zhí)岢龅囊环N數(shù)據(jù)增量合并方法,通過對增量數(shù)據(jù)的分區(qū)字段規(guī)整,找到分區(qū)標(biāo)識,從而根據(jù)分區(qū)標(biāo)識從全量表中提取分區(qū)數(shù)據(jù),將分區(qū)數(shù)據(jù)與增量數(shù)據(jù)進行合并。減少了操作的數(shù)據(jù)量,節(jié)省了計算資源。同時提高了數(shù)據(jù)的準(zhǔn)確性,保證性能可控。同樣的,本申請?zhí)岢龅暮A繑?shù)據(jù)增量合并裝置,結(jié)構(gòu)簡單,利用分區(qū)標(biāo)識模塊找出增量數(shù)據(jù)中的分區(qū)標(biāo)識,從而利用分區(qū)數(shù)據(jù)抽取模塊從全量表中提取分區(qū)數(shù)據(jù),并通過增量合并模塊完成增量合并,消耗的計算資源少,性能可控。
【專利附圖】

【附圖說明】
[0041]圖1為本申請海量數(shù)據(jù)增量合并方法流程示意圖;
[0042]圖2為本申請海量數(shù)據(jù)增量合并裝置結(jié)構(gòu)圖;
[0043]圖3為本申請拉鏈表增量合并的方法流程示意圖;
[0044]圖4為本申請拉鏈表增量合并的裝置結(jié)構(gòu)示意圖。
【具體實施方式】
[0045]下面結(jié)合附圖和實施例對本申請技術(shù)方案做進一步詳細說明,以下實施例不構(gòu)成對本申請的限定。
[0046]本申請的一種海量數(shù)據(jù)增量合并的方法流程如圖1所示,用于對擁有海量數(shù)據(jù)的數(shù)據(jù)倉庫全量表做增量合并,包括步驟:
[0047]步驟101、設(shè)置分區(qū)字段。
[0048]數(shù)據(jù)倉庫中的數(shù)據(jù)表包含一條條的記錄,每條記錄包含多個標(biāo)志字段,例如一條付款記錄通常包括創(chuàng)建時間字段,付款時間字段,付款內(nèi)容,付款金額等等,通常把記錄中固定不變的日期字段設(shè)置為分區(qū)字段,也可以根據(jù)記錄的具體情況,將該記錄的某一字段設(shè)置為分區(qū)字段。分區(qū)字段主要用來對數(shù)據(jù)表進行分區(qū),選擇日期字段為區(qū)分字段,則某一日期對應(yīng)的數(shù)據(jù)就為一個分區(qū)。例如在一個付款的數(shù)據(jù)記錄中,包括該記錄的創(chuàng)建時間,和付款時間,就可以采用固定不變的付款時間來作為分區(qū)字段,付款時間相同的數(shù)據(jù)為一個分區(qū)。[0049]步驟102、抽取當(dāng)前的增量數(shù)據(jù)。
[0050]根據(jù)抽取規(guī)則從生產(chǎn)數(shù)據(jù)中抽取當(dāng)前的增量數(shù)據(jù),抽取的增量數(shù)據(jù)包括當(dāng)前新增、修改和刪除的數(shù)據(jù)。常用的抽取規(guī)則包括按創(chuàng)建時間抽取,按修改時間抽取和按標(biāo)志字段抽取,具體采用何種抽取規(guī)則需要根據(jù)數(shù)據(jù)表的具體屬性來進行選擇,保證抽取的是增量數(shù)據(jù)即可。例如對于日志數(shù)據(jù),增量數(shù)據(jù)就是按照創(chuàng)建時間來劃分的,所以采用按照創(chuàng)建時間來抽取的抽取規(guī)則進行抽取即可。
[0051]步驟103、對抽取的增量數(shù)據(jù)的分區(qū)字段進行規(guī)整,確定具體的分區(qū)標(biāo)識。
[0052]具體地,假設(shè)分區(qū)字段為日期字段,則對增量數(shù)據(jù)對應(yīng)的日期字段進行規(guī)整,例如將2012年8月24日O時至2012年8月24日24時的數(shù)據(jù)都看作為2012年8月24日的數(shù)據(jù),確定的分區(qū)標(biāo)識就是2012年8月24日,下文采用20120824來表示。
[0053]需要說明的是,上述是根據(jù)“天”來進行分區(qū),也可以根據(jù)“月”來進行分區(qū)。如果設(shè)定的分區(qū)字段是其他字段,則根據(jù)其對應(yīng)的變量來進行分區(qū),本申請不限于采用哪種具體的分區(qū)方法。
[0054]步驟104、根據(jù)確定的分區(qū)標(biāo)識,對全量表進行分區(qū)過濾,抽取出分區(qū)標(biāo)識對應(yīng)的分區(qū)數(shù)據(jù)表。
[0055]具體地,如果增量數(shù)據(jù)可能包含20120823,20120824,20120628三天的數(shù)據(jù),經(jīng)過步驟103確定出具體的分區(qū)標(biāo)識就是20120823、20120824和20120628,則對全量表進行過濾,將屬于這三天的分區(qū)數(shù)據(jù)全部抽取出來,形成分區(qū)數(shù)據(jù)表。
[0056]步驟105、將增量數(shù)據(jù)與分區(qū)數(shù)據(jù)表合并,得到更新后的分區(qū)數(shù)據(jù)表。
[0057]步驟106、將更新后的分區(qū)數(shù)據(jù)表重新插回到全量表。
[0058]通過以上步驟,僅僅根據(jù)增量數(shù)據(jù)確定的分區(qū)進行增量數(shù)據(jù)的合并,大大減少了實際操作的數(shù)據(jù)量,降低了計算資源的消耗,提高了海量數(shù)據(jù)合并的效率,并且保證了數(shù)據(jù)合并的精確性。
[0059]需要說明的是,本申請中的全量表是指數(shù)據(jù)倉庫的保留歷史記錄的全量數(shù)據(jù)表。
[0060]如圖2所示,本申請的海量數(shù)據(jù)增量合并裝置包括設(shè)置模塊201,增量數(shù)據(jù)抽取模塊202,分區(qū)標(biāo)識模塊203,分區(qū)數(shù)據(jù)抽取模塊204和增量合并模塊205。
[0061]其中設(shè)置模塊201用于設(shè)置分區(qū)字段;增量數(shù)據(jù)抽取模塊202用于抽取當(dāng)前的增量數(shù)據(jù);分區(qū)標(biāo)識模塊203用于根據(jù)增量數(shù)據(jù),確定具體的分區(qū)標(biāo)識;分區(qū)數(shù)據(jù)抽取模塊204,用于根據(jù)分區(qū)標(biāo)識,從全量表中抽取所述分區(qū)標(biāo)識對應(yīng)的分區(qū)數(shù)據(jù)表;增量合并模塊205,用于將增量數(shù)據(jù)與分區(qū)數(shù)據(jù)表合并,并將更新后的分區(qū)數(shù)據(jù)表重新插回到全量表。
[0062]具體地,增量數(shù)據(jù)抽取模塊202還包括抽取規(guī)則設(shè)置單元,用于設(shè)定抽取規(guī)則。增量數(shù)據(jù)抽取模塊202根據(jù)設(shè)定的抽取規(guī)則從生產(chǎn)數(shù)據(jù)中抽取增量數(shù)據(jù)。
[0063]作為本申請的一種特殊情況,當(dāng)全量表為拉鏈表時,本申請增量合并的方法流程如圖3所示,拉鏈表僅當(dāng)生產(chǎn)數(shù)據(jù)發(fā)生變更時,才相應(yīng)地發(fā)生變更,即能有效保留歷史數(shù)據(jù)的變動信息,又不浪費存儲空間。對于拉鏈表數(shù)據(jù),保存歷史時點數(shù)據(jù)幾乎是每個企業(yè)都需要的工作,在海量數(shù)據(jù)情況下,通常通過把每天的全量數(shù)據(jù)作為一個分區(qū)快照的方式,放到拉鏈表中作為一個分區(qū)來實現(xiàn)數(shù)據(jù)的更新。這種傳統(tǒng)的方式數(shù)據(jù)存儲消耗大,同時不易后續(xù)查詢記錄的變更情況,同時在進行拉鏈表數(shù)據(jù)更新過程中,常用的方法是先抽取原有記錄,保存在臨時表,然后刪除原來的記錄,在同時插入原有記錄和新記錄,在插入時修改記錄的生效和失效時間。但是傳統(tǒng)的拉鏈算法不適用分布式平臺,因為在分布式平臺下沒有刪除功能。因此,本申請還揭示了一種拉鏈表中增量合并的方法。拉鏈表包含全量表主鍵ID,關(guān)注字段列表,狀態(tài)合法性標(biāo)志字段,數(shù)據(jù)更新時間,以及記錄失效時間的字段和記錄生效時間的字段。拉鏈表包括當(dāng)前分區(qū)和歷史分區(qū),將最新更新和新增的記錄保存在拉鏈表當(dāng)前分區(qū),過期的記錄保存在拉鏈表歷史分區(qū)。對于當(dāng)前有效的一條最新記錄,失效時間可以為一個很大的值,例如29991231。
[0064]本申請拉鏈表增量合并的方法包括步驟:
[0065]步驟301、抽取增量數(shù)據(jù)。
[0066]增量數(shù)據(jù)是指相對于上次抽取數(shù)據(jù)時有更新的數(shù)據(jù),根據(jù)抽取規(guī)則從生產(chǎn)數(shù)據(jù)中抽取當(dāng)前的增量數(shù)據(jù),抽取的增量數(shù)據(jù)包括當(dāng)前新增、修改和刪除的數(shù)據(jù)。常用的抽取規(guī)則包括按創(chuàng)建時間抽取,按修改時間抽取和按標(biāo)志字段抽取,具體采用何種抽取規(guī)則需要根據(jù)數(shù)據(jù)表的具體屬性來進行選擇,保證抽取的是增量數(shù)據(jù)即可。例如對于日志數(shù)據(jù),增量數(shù)據(jù)就是按照創(chuàng)建時間來劃分的,所以采用按照創(chuàng)建時間來抽取的抽取規(guī)則進行抽取即可。
[0067]步驟302、將抽取的增量數(shù)據(jù)與拉鏈表當(dāng)前分區(qū)進行比較。
[0068]步驟303、將當(dāng)前分區(qū)和增量數(shù)據(jù)中,在增量數(shù)據(jù)中存在最新更新的非最新數(shù)據(jù),插入到拉鏈表的歷史分區(qū)中。
[0069]具體地,通過對比增量數(shù)據(jù)與拉鏈表的當(dāng)前分區(qū)數(shù)據(jù),從當(dāng)前分區(qū)數(shù)據(jù)中找出在增量數(shù)據(jù)中存在最新更新的非最新數(shù)據(jù),將這些數(shù)據(jù)從當(dāng)前分區(qū)數(shù)據(jù)中抽取出來,插入到拉鏈表的歷史分區(qū)數(shù)據(jù)中。同時,從增量數(shù)據(jù)中找出在增量數(shù)據(jù)中,存在最新更新的非最新數(shù)據(jù),將這些數(shù)據(jù)從當(dāng)增量數(shù)據(jù)中抽取出來,插入到拉鏈表的歷史分區(qū)數(shù)據(jù)中。在將數(shù)據(jù)插入到拉鏈表的歷史分區(qū)時,采用動態(tài)分區(qū)的更新方式。拉鏈表的歷史分區(qū)中按照記錄的生效時間和失效時間,存在多個區(qū)塊,將記錄插入到拉鏈表歷史分區(qū)時根據(jù)該記錄的有效時間和失效時間追加到相應(yīng)的區(qū)塊中。在插入過程中,將這些插入的非最新數(shù)據(jù)的失效時間變更為該記錄的更新時間,生效時間保持不變。
[0070]需要說明的是,這里的在增量表中存在最新更新的非最新數(shù)據(jù),是指如果增量數(shù)據(jù)中存在最新更新,則在拉鏈表當(dāng)前分區(qū)和增量數(shù)據(jù)中該最新更新對應(yīng)的非最新的老記錄,稱為非最新數(shù)據(jù)。在增量數(shù)據(jù)中,如果存在多條對同一件事情的更新記錄,則只保留最后一條更新記錄(即最新記錄),而其他的記錄則將其失效時間設(shè)置為業(yè)務(wù)更新的時間。例如抽取的增量數(shù)據(jù)是昨天的數(shù)據(jù),則將非最新數(shù)據(jù)的失效時間設(shè)定為昨天,相對于今天來說,已經(jīng)過期了,而最新更新的記錄的失效時間為29991231。
[0071]步驟304、將增量數(shù)據(jù)中新增的和最新更新的數(shù)據(jù)插入到拉鏈表當(dāng)前分區(qū)中。
[0072]具體地,增量數(shù)據(jù)中剩余的數(shù)據(jù)都是新增的和最新更新的數(shù)據(jù),將這些數(shù)據(jù)插入到當(dāng)前分區(qū)數(shù)據(jù)中,這些數(shù)據(jù)的失效時間均設(shè)為29991231。
[0073]通過以上步驟,對當(dāng)前分區(qū)數(shù)據(jù)和歷史分區(qū)數(shù)據(jù)都進行了更新,更新過程中涉及的分區(qū)少,更新成本非常低。
[0074]本申請同時還提出了一種拉鏈表增量合并的裝置,用于數(shù)據(jù)倉庫拉鏈表增量合并,拉鏈表增量合并的裝置如圖4所示,包括:
[0075]增量數(shù)據(jù)抽取模塊401,用于抽取增量數(shù)據(jù);
[0076]比較模塊402,用于將增量數(shù)據(jù)與拉鏈表當(dāng)前分區(qū)進行比對;[0077]歷史分區(qū)合并模塊403,用于將拉鏈表當(dāng)前分區(qū)和增量數(shù)據(jù)中,在增量數(shù)據(jù)中存在最新更新的非最新數(shù)據(jù),插入到拉鏈表歷史分區(qū)中;
[0078]當(dāng)前分區(qū)合并模塊404,用于將增量數(shù)據(jù)中新增和最新更新的數(shù)據(jù)插入到拉鏈表當(dāng)前分區(qū)中。
[0079]增量數(shù)據(jù)抽取模塊401還包括抽取規(guī)則設(shè)置單元,用于設(shè)定抽取規(guī)則。常用的抽取規(guī)則包括按創(chuàng)建時間抽取,按修改時間抽取和按標(biāo)志字段抽取,具體采用何種抽取規(guī)則需要根據(jù)數(shù)據(jù)表的具體屬性來進行選擇,保證抽取的是增量數(shù)據(jù)即可。
[0080]歷史分區(qū)合并模塊403還包括動態(tài)分區(qū)更新單元,用于根據(jù)非最新數(shù)據(jù)的記錄生效時間和記錄失效時間,將該非最新數(shù)據(jù)插入到其記錄生效時間和記錄失效時間對應(yīng)的歷史分區(qū)中。
[0081]歷史分區(qū)合并模塊403還包括記錄失效時間變更單元,用于將非最新數(shù)據(jù)的記錄失效時間變更為該記錄的更新時間。
[0082]以上實施例僅用以說明本申請的技術(shù)方案而非對其進行限制,在不背離本申請精神及其實質(zhì)的情況下,熟悉本領(lǐng)域的技術(shù)人員當(dāng)可根據(jù)本申請作出各種相應(yīng)的改變和變形,但這些相應(yīng)的改變和變形都應(yīng)屬于本申請所附的權(quán)利要求的保護范圍。
【權(quán)利要求】
1.一種數(shù)據(jù)增量合并的方法,用于對擁有海量數(shù)據(jù)的數(shù)據(jù)倉庫全量表做增量合并,包括步驟: 設(shè)置分區(qū)字段; 抽取當(dāng)前的增量數(shù)據(jù); 對抽取的增量數(shù)據(jù)的分區(qū)字段進行規(guī)整,確定具體的分區(qū)標(biāo)識; 根據(jù)所述的分區(qū)標(biāo)識,對全量表進行分區(qū)過濾,抽取出所述分區(qū)對應(yīng)的分區(qū)數(shù)據(jù)表; 將所述增量數(shù)據(jù)與所述的分區(qū)數(shù)據(jù)表合并,得到更新后的分區(qū)數(shù)據(jù)表,并將更新后的分區(qū)數(shù)據(jù)表重新插回到全量表。
2.根據(jù)權(quán)利要求1所述的數(shù)據(jù)增量合并的方法,其特征在于,所述的抽取當(dāng)前的增量數(shù)據(jù)的方法還包括步驟: 確定抽取規(guī)則,按照抽取規(guī)則抽取當(dāng)前的增量數(shù)據(jù)。
3.根據(jù)權(quán)利要求1所述的數(shù)據(jù)增量合并的方法,其特征在于,所述的分區(qū)字段為固定不變的日期字段。
4.根據(jù)權(quán)利要求3所述的數(shù)據(jù)增量合并的方法,其特征在于,所述的分區(qū)標(biāo)識為所述增量數(shù)據(jù)固定不變的日期字段對應(yīng)的日期。
5.一種數(shù)據(jù)增量合并的方法,用于數(shù)據(jù)倉庫拉鏈表增量合并,所述的拉鏈表包括記錄生效時間字段和記錄失效時間字段,其特征在于,所述的拉鏈表分為拉鏈表當(dāng)前分區(qū)和拉鏈表歷史分區(qū),所述拉鏈表增量合并的方法包括步驟: 抽取增量數(shù)據(jù); 將抽取的增量數(shù)據(jù)與所述拉鏈表當(dāng)前分區(qū)進行比較; 將拉鏈表當(dāng)前分區(qū)和增量數(shù)據(jù)中,在增量數(shù)據(jù)中存在最新更新的非最新數(shù)據(jù),插入到拉鏈表歷史分區(qū)中; 將增量數(shù)據(jù)中新增和最新更新的數(shù)據(jù)插入到拉鏈表當(dāng)前分區(qū)中。
6.根據(jù)權(quán)利要求5所述的數(shù)據(jù)增量合并的方法,其特征在于,所述的抽取增量數(shù)據(jù)的方法還包括步驟: 確定抽取規(guī)則,按照抽取規(guī)則抽取增量數(shù)據(jù)。
7. 一種數(shù)據(jù)增量合并裝置,用于對擁有海量數(shù)據(jù)的數(shù)據(jù)倉庫全量表做增量合并,包括: 設(shè)置模塊,用于設(shè)置分區(qū)字段; 增量數(shù)據(jù)抽取模塊,用于抽取當(dāng)前的增量數(shù)據(jù); 分區(qū)標(biāo)識模塊,用于根據(jù)增量數(shù)據(jù),確定具體的分區(qū)標(biāo)識; 分區(qū)數(shù)據(jù)抽取模塊,用于根據(jù)分區(qū)標(biāo)識,從全量表中抽取所述分區(qū)標(biāo)識對應(yīng)的分區(qū)數(shù)據(jù)表; 增量合并模塊,用于將增量數(shù)據(jù)與所述的分區(qū)數(shù)據(jù)表合并,并將更新后的分區(qū)數(shù)據(jù)表重新插回到全量表。
8.根據(jù)權(quán)利要求7所述的數(shù)據(jù)增量合并的裝置,其特征在于,所述增量數(shù)據(jù)抽取模塊還設(shè)置有抽取規(guī)則設(shè)置單元,用于設(shè)定抽取規(guī)則。
9.根據(jù)權(quán)利要求7所述的數(shù)據(jù)增量合并的裝置,其特征在于,所述的分區(qū)字段為固定不變的日期字段。
10.一種數(shù)據(jù)增量合并的裝置,用于數(shù)據(jù)倉庫拉鏈表增量合并,所述的拉鏈表包括記錄生效時間字段和記錄失效時間字段,其特征在于,所述的拉鏈表分為拉鏈表當(dāng)前分區(qū)和拉鏈表歷史分區(qū),所述的拉鏈表增量合并的裝置包括: 增量數(shù)據(jù)抽取模塊,用于抽取增量數(shù)據(jù); 比較模塊,用于將增量數(shù)據(jù)與拉鏈表當(dāng)前分區(qū)進行比對; 歷史分區(qū)合并模塊,用于將拉鏈表當(dāng)前分區(qū)和增量數(shù)據(jù)中,在增量數(shù)據(jù)中存在最新更新的非最新數(shù)據(jù),插入到拉鏈表歷史分區(qū)中; 當(dāng)前分區(qū)合 并模塊,用于將增量數(shù)據(jù)中新增和最新更新的數(shù)據(jù)插入到拉鏈表當(dāng)前分區(qū)中。
【文檔編號】G06F17/30GK103678392SQ201210350470
【公開日】2014年3月26日 申請日期:2012年9月20日 優(yōu)先權(quán)日:2012年9月20日
【發(fā)明者】朱曉克 申請人:阿里巴巴集團控股有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1