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

一種數(shù)據(jù)采集方法以及etl組件的制作方法

文檔序號(hào):10489060閱讀:621來源:國知局
一種數(shù)據(jù)采集方法以及etl組件的制作方法
【專利摘要】本發(fā)明實(shí)施例公開了一種數(shù)據(jù)采集方法以及ETL組件,所述方法包括:數(shù)據(jù)采集周期到達(dá)時(shí),針對(duì)業(yè)務(wù)系統(tǒng)中的全量數(shù)據(jù)表,進(jìn)行一次躍進(jìn)式的增量數(shù)據(jù)采集:確定所述全量數(shù)據(jù)表已采集的次數(shù);根據(jù)所述全量數(shù)據(jù)表中的最小時(shí)間戳、預(yù)設(shè)的第一采集時(shí)長,以及確定的已采集的次數(shù),計(jì)算起始時(shí)間戳;根據(jù)所述起始時(shí)間戳,以及所述第一采集時(shí)長,計(jì)算終止時(shí)間戳;采集所述全量數(shù)據(jù)表中所述起始時(shí)間戳與終止時(shí)間戳所標(biāo)示的時(shí)間范圍內(nèi)的數(shù)據(jù)。應(yīng)用本發(fā)明,針對(duì)全量數(shù)據(jù)表進(jìn)行數(shù)據(jù)采集時(shí),可以減小對(duì)ETL組件所在的數(shù)據(jù)采集系統(tǒng)的性能影響,穩(wěn)定數(shù)據(jù)采集效率。
【專利說明】
一種數(shù)據(jù)采集方法以及ETL組件
技術(shù)領(lǐng)域
[0001]本發(fā)明實(shí)施例涉及數(shù)據(jù)采集技術(shù)領(lǐng)域,特別是涉及一種數(shù)據(jù)采集方法以及ETL組件。
【背景技術(shù)】
[0002]ETL(Extract1n-Transformat1n_Loading,數(shù)據(jù)抽取、轉(zhuǎn)換和加載)組件是構(gòu)建數(shù)據(jù)倉庫中極其重要的一部分。其按照預(yù)先設(shè)計(jì)的規(guī)則,提供對(duì)不同數(shù)據(jù)源的數(shù)據(jù)進(jìn)行抽取、轉(zhuǎn)換、清洗的功能,集成和凈化來自于多個(gè)不同系統(tǒng)的數(shù)據(jù),最后將轉(zhuǎn)換完的數(shù)據(jù)增量或全部載入目標(biāo)數(shù)據(jù)庫中。其從不同的異構(gòu)數(shù)據(jù)源流得到統(tǒng)一的目標(biāo)數(shù)據(jù),作為聯(lián)機(jī)分析處理、數(shù)據(jù)挖掘的基礎(chǔ)。
[0003]通常ETL組件進(jìn)行數(shù)據(jù)抽取的對(duì)象有全量數(shù)據(jù)表,或增量數(shù)據(jù)表。針對(duì)增量數(shù)據(jù)表,ETL組件只需導(dǎo)出上次抽取后的新數(shù)據(jù);針對(duì)全量數(shù)據(jù)表,ETL組件就需要將整個(gè)數(shù)據(jù)表中所有數(shù)據(jù)抽取出來。
[0004]在實(shí)際應(yīng)用中,本發(fā)明的發(fā)明人發(fā)現(xiàn),當(dāng)ETL組件抽取業(yè)務(wù)系統(tǒng)中數(shù)據(jù)量比較大的全量數(shù)據(jù)表中的數(shù)據(jù)時(shí),會(huì)對(duì)ETL組件所在的數(shù)據(jù)采集系統(tǒng)的內(nèi)存和1端口(輸入輸出端口)產(chǎn)生很大影響,導(dǎo)致內(nèi)存和1端口占用過多,系統(tǒng)出現(xiàn)卡頓現(xiàn)象,從而嚴(yán)重降低數(shù)據(jù)采集的效率,同時(shí)干擾其它數(shù)據(jù)采集任務(wù)。

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

[0005]有鑒于此,本發(fā)明的目的在于提出一種數(shù)據(jù)采集方法以及ETL組件,用以針對(duì)全量數(shù)據(jù)表進(jìn)行數(shù)據(jù)采集時(shí),減小對(duì)ETL組件所在的數(shù)據(jù)采集系統(tǒng)的性能影響,穩(wěn)定數(shù)據(jù)采集效率。
[0006]基于上述目的,本發(fā)明實(shí)施例提供的一種數(shù)據(jù)采集方法,包括:
[0007]數(shù)據(jù)采集周期到達(dá)時(shí),針對(duì)業(yè)務(wù)系統(tǒng)中的全量數(shù)據(jù)表,進(jìn)行一次躍進(jìn)式的增量數(shù)據(jù)采集:
[0008]確定所述全量數(shù)據(jù)表已采集的次數(shù);
[0009]根據(jù)所述全量數(shù)據(jù)表中的最小時(shí)間戳、預(yù)設(shè)的第一采集時(shí)長,以及確定的已采集的次數(shù),計(jì)算起始時(shí)間戳;
[0010]根據(jù)所述起始時(shí)間戳,以及所述第一采集時(shí)長,計(jì)算終止時(shí)間戳;
[0011]采集所述全量數(shù)據(jù)表中所述起始時(shí)間戳與終止時(shí)間戳所標(biāo)示的時(shí)間范圍內(nèi)的數(shù)據(jù)。
[0012]進(jìn)一步,所述方法還包括:
[0013]確定出所述業(yè)務(wù)系統(tǒng)中待采集的增量數(shù)據(jù)表。
[0014]進(jìn)一步,在所述數(shù)據(jù)采集周期到達(dá)后,還包括:
[0015]根據(jù)本系統(tǒng)的當(dāng)前系統(tǒng)時(shí)間,以及預(yù)設(shè)的延遲時(shí)長計(jì)算出時(shí)間戳上限;
[0016]根據(jù)計(jì)算出的時(shí)間戳上限,以及預(yù)設(shè)的第二采集時(shí)長計(jì)算時(shí)間戳下限;
[0017]采集所述增量數(shù)據(jù)表中所述時(shí)間戳上限與時(shí)間戳下限所標(biāo)示的時(shí)間范圍內(nèi)的數(shù)據(jù)。
[0018]較佳地,所述延遲時(shí)長與所述第二采集時(shí)長相等。
[0019]較佳地,所述第一采集時(shí)長大于第二采集時(shí)長。
[0020]在本發(fā)明實(shí)施例的另一方面,還提供了一種ETL組件,包括:
[0021 ]系統(tǒng)時(shí)間確定模塊,用于在數(shù)據(jù)采集周期到達(dá)時(shí),發(fā)送采集通知;
[0022]第一時(shí)間戳計(jì)算模塊,用于接收到所述采集通知后,針對(duì)業(yè)務(wù)系統(tǒng)中的全量數(shù)據(jù)表,根據(jù)所述全量數(shù)據(jù)表中的最小時(shí)間戳、預(yù)設(shè)的第一采集時(shí)長,以及確定的已采集的次數(shù),計(jì)算起始時(shí)間戳;根據(jù)所述起始時(shí)間戳,以及所述第一采集時(shí)長,計(jì)算終止時(shí)間戳;
[0023]第一數(shù)據(jù)采集模塊,用于采集所述全量數(shù)據(jù)表中所述起始時(shí)間戳與終止時(shí)間戳所標(biāo)示的時(shí)間范圍內(nèi)的數(shù)據(jù)。
[0024]進(jìn)一步,所述ETL組件還包括:
[0025]數(shù)據(jù)表確定模塊,用于確定出所述業(yè)務(wù)系統(tǒng)中待采集的數(shù)據(jù)表為全量數(shù)據(jù)表或增量數(shù)據(jù)表。
[0026]進(jìn)一步,所述系統(tǒng)時(shí)間確定模塊還用于在數(shù)據(jù)采集周期到達(dá)時(shí),確定本系統(tǒng)的當(dāng)前系統(tǒng)時(shí)間;以及
[0027]所述ETL組件還包括:
[0028]第二時(shí)間戳計(jì)算模塊,用于接收到所述采集通知后,根據(jù)所述當(dāng)前系統(tǒng)時(shí)間,以及預(yù)設(shè)的延遲時(shí)長計(jì)算出時(shí)間戳上限;根據(jù)計(jì)算出的時(shí)間戳上限,以及預(yù)設(shè)的第二采集時(shí)長計(jì)算時(shí)間戳下限;
[0029]第二數(shù)據(jù)采集模塊,用于根據(jù)所述數(shù)據(jù)表確定模塊的確定結(jié)果,采集所述增量數(shù)據(jù)表中所述時(shí)間戳上限與時(shí)間戳下限所標(biāo)示的時(shí)間范圍內(nèi)的數(shù)據(jù)。
[0030]本發(fā)明實(shí)施例的技術(shù)方案中,針對(duì)現(xiàn)有的全量數(shù)據(jù)表采集方法容易出現(xiàn)系統(tǒng)卡頓、死機(jī)的現(xiàn)象,對(duì)于全量數(shù)據(jù)表采用多次躍進(jìn)式的增量數(shù)據(jù)采集方式,從而在多個(gè)數(shù)據(jù)采集周期中完成對(duì)全量數(shù)據(jù)表中所有數(shù)據(jù)的采集;由于一個(gè)數(shù)據(jù)采集周期中,僅采集起始時(shí)間戳與終止時(shí)間戳之間的數(shù)據(jù),限制了采集的數(shù)據(jù)量,有效地控制了數(shù)據(jù)采集頻率,避免短時(shí)間內(nèi)因需要采集的數(shù)據(jù)量過大,而過多占用內(nèi)存、或1端口而出現(xiàn)系統(tǒng)卡頓、或死機(jī)的現(xiàn)象;減小對(duì)ETL組件所在的數(shù)據(jù)采集系統(tǒng)的性能影響,穩(wěn)定數(shù)據(jù)采集效率,也避免了由于對(duì)全量數(shù)據(jù)表的數(shù)據(jù)采集任務(wù)而影響、干擾對(duì)其它增量數(shù)據(jù)表的數(shù)據(jù)采集任務(wù)。
[0031]進(jìn)一步,本發(fā)明實(shí)施例的技術(shù)方案中,針對(duì)增量數(shù)據(jù)表將當(dāng)前系統(tǒng)時(shí)間延遲預(yù)設(shè)的延遲時(shí)長后作為時(shí)間戳上限,并依據(jù)此時(shí)間戳上限進(jìn)行數(shù)據(jù)采集;避免了業(yè)務(wù)系統(tǒng)因時(shí)間差或網(wǎng)絡(luò)延遲而沒有及時(shí)記錄當(dāng)前時(shí)間下的數(shù)據(jù)而使得采集的數(shù)據(jù)丟失一部分當(dāng)前時(shí)間的數(shù)據(jù)的情況;也就是說,當(dāng)前時(shí)間記錄的數(shù)據(jù)將延遲預(yù)設(shè)的延遲時(shí)長后才會(huì)被采集,從而提尚數(shù)據(jù)米集的完整性。
【附圖說明】
[0032]圖1為本發(fā)明實(shí)施例的ETL組件進(jìn)行數(shù)據(jù)采集的方法流程圖;
[0033]圖2為本發(fā)明實(shí)施例的ETL組件針對(duì)全量數(shù)據(jù)表進(jìn)行一次躍進(jìn)式的增量數(shù)據(jù)采集的方法流程圖;
[0034]圖3為本發(fā)明實(shí)施例的ETL組件針對(duì)增量數(shù)據(jù)表進(jìn)行延遲式的增量數(shù)據(jù)采集的方法流程圖;
[0035]圖4為本發(fā)明實(shí)施例的ETL組件內(nèi)部結(jié)構(gòu)框圖。
【具體實(shí)施方式】
[0036]為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚明白,以下結(jié)合具體實(shí)施例,并參照附圖,對(duì)本發(fā)明進(jìn)一步詳細(xì)說明。
[0037]下面詳細(xì)描述本發(fā)明的實(shí)施例,所述實(shí)施例的示例在附圖中示出,其中自始至終相同或類似的標(biāo)號(hào)表示相同或類似的元件或具有相同或類似功能的元件。下面通過參考附圖描述的實(shí)施例是示例性的,僅用于解釋本發(fā)明,而不能解釋為對(duì)本發(fā)明的限制。
[0038]本技術(shù)領(lǐng)域技術(shù)人員可以理解,除非特意聲明,這里使用的單數(shù)形式“一”、“一個(gè)”、“所述”和“該”也可包括復(fù)數(shù)形式。應(yīng)該進(jìn)一步理解的是,本發(fā)明的說明書中使用的措辭“包括”是指存在所述特征、整數(shù)、步驟、操作、元件和/或組件,但是并不排除存在或添加一個(gè)或多個(gè)其他特征、整數(shù)、步驟、操作、元件、組件和/或它們的組。應(yīng)該理解,當(dāng)我們稱元件被“連接”或“耦接”到另一元件時(shí),它可以直接連接或耦接到其他元件,或者也可以存在中間元件。此外,這里使用的“連接”或“親接”可以包括無線連接或無線耦接。這里使用的措辭“和/或”包括一個(gè)或更多個(gè)相關(guān)聯(lián)的列出項(xiàng)的全部或任一單元和全部組合。
[0039]需要說明的是,本發(fā)明實(shí)施例中所有使用“第一”和“第二”的表述均是為了區(qū)分兩個(gè)相同名稱非相同的實(shí)體或者非相同的參量,可見“第一” “第二”僅為了表述的方便,不應(yīng)理解為對(duì)本發(fā)明實(shí)施例的限定,后續(xù)實(shí)施例對(duì)此不再一一說明。
[0040]本發(fā)明實(shí)施例的技術(shù)方案中,針對(duì)全量數(shù)據(jù)表以多次的躍進(jìn)式的增量數(shù)據(jù)采集代替?zhèn)鹘y(tǒng)的一次性采集方案,每次數(shù)據(jù)采集周期觸發(fā)一次躍進(jìn)式的增量數(shù)據(jù)采集。具體地,數(shù)據(jù)采集周期到達(dá)時(shí),針對(duì)業(yè)務(wù)系統(tǒng)中的全量數(shù)據(jù)表,進(jìn)行一次躍進(jìn)式的增量數(shù)據(jù)采集:確定所述全量數(shù)據(jù)表已采集的次數(shù);根據(jù)所述全量數(shù)據(jù)表中的最小時(shí)間戳、預(yù)設(shè)的第一采集時(shí)長,以及確定的已采集的次數(shù),計(jì)算起始時(shí)間戳;根據(jù)所述起始時(shí)間戳,以及所述第一采集時(shí)長,計(jì)算終止時(shí)間戳;采集所述全量數(shù)據(jù)表中所述起始時(shí)間戳與終止時(shí)間戳所標(biāo)示的時(shí)間范圍內(nèi)的數(shù)據(jù)。
[0041]由于對(duì)于全量數(shù)據(jù)表采用多次躍進(jìn)式的增量數(shù)據(jù)采集方式,從而可以在多個(gè)數(shù)據(jù)采集周期中完成對(duì)全量數(shù)據(jù)表中所有數(shù)據(jù)的采集;由于一個(gè)數(shù)據(jù)采集周期中,僅采集起始時(shí)間戳與終止時(shí)間戳之間的數(shù)據(jù),限制了采集的數(shù)據(jù)量,有效地控制了數(shù)據(jù)采集頻率,從而避免短時(shí)間內(nèi)因需要采集的數(shù)據(jù)量過大,而過多占用內(nèi)存、或1端口而出現(xiàn)系統(tǒng)卡頓、或死機(jī)的現(xiàn)象;減小對(duì)ETL組件所在的數(shù)據(jù)采集系統(tǒng)的性能影響,穩(wěn)定數(shù)據(jù)采集效率,也避免了由于對(duì)全量數(shù)據(jù)表的數(shù)據(jù)采集任務(wù)而影響、干擾對(duì)其它增量數(shù)據(jù)表的數(shù)據(jù)采集任務(wù)。
[0042 ]下面結(jié)合附圖詳細(xì)說明本發(fā)明的技術(shù)方案。
[0043]基于上述的思路,本發(fā)明實(shí)施例提供的一種ETL組件的數(shù)據(jù)采集方法,具體流程如圖1所示,包括如下步驟:
[0044]步驟S101:ETL組件在每次數(shù)據(jù)采集周期到達(dá)時(shí),確定本ETL組件所在系統(tǒng)的當(dāng)前系統(tǒng)時(shí)間。
[0045]具體地,安裝有ETL組件的數(shù)據(jù)采集系統(tǒng)在每次數(shù)據(jù)采集周期到達(dá)時(shí),確定本系統(tǒng)的當(dāng)前系統(tǒng)時(shí)間。
[0046]步驟S102:ETL組件確定出各業(yè)務(wù)系統(tǒng)中待采集的數(shù)據(jù)表為全量數(shù)據(jù)表或增量數(shù)據(jù)表。
[0047]更優(yōu)地,本發(fā)明的發(fā)明人還考慮到目前各業(yè)務(wù)系統(tǒng)中大多數(shù)數(shù)據(jù)表均為增量數(shù)據(jù)表(或稱增量同步數(shù)據(jù)表),但有時(shí)也存在全量數(shù)據(jù)表(或稱全量同步數(shù)據(jù)表)的情況。對(duì)于增量數(shù)據(jù)表,本發(fā)明采用延遲式的增量數(shù)據(jù)采集方法,則可以盡量避免采集時(shí)漏掉數(shù)據(jù),提高數(shù)據(jù)采集的完整性;而對(duì)于全量數(shù)據(jù)表,則采用躍進(jìn)式的增量數(shù)據(jù)采集方法,從而解決采集全量數(shù)據(jù)表時(shí)系統(tǒng)卡頓、甚至死機(jī)的現(xiàn)象。
[0048]因此,本步驟中,對(duì)各業(yè)務(wù)系統(tǒng)中的每個(gè)待采集的數(shù)據(jù)表,確定該數(shù)據(jù)表為全量數(shù)據(jù)表,還是增量數(shù)據(jù)表,以便于進(jìn)一步?jīng)Q定針對(duì)該表是采取延遲式的增量數(shù)據(jù)采集方法,還是采取躍進(jìn)式的增量數(shù)據(jù)采集方法。
[0049]事實(shí)上,可以預(yù)先針對(duì)各業(yè)務(wù)系統(tǒng)中待采集的數(shù)據(jù)表逐一判斷其為全量數(shù)據(jù)表還是增量數(shù)據(jù)表,并進(jìn)行記錄;在本步驟中,可以根據(jù)預(yù)先的記錄,確定每個(gè)待采集的數(shù)據(jù)表為全量數(shù)據(jù)表還是增量數(shù)據(jù)表。如何判斷全量數(shù)據(jù)表,以及增量數(shù)據(jù)表為本領(lǐng)域技術(shù)人員所熟知,此次不再贅述。
[0050]步驟S103:ETL組件針對(duì)增量數(shù)據(jù)表進(jìn)行延遲式的增量數(shù)據(jù)采集。
[0051]步驟S104:ETL組件針對(duì)全量數(shù)據(jù)表進(jìn)行一次躍進(jìn)式的增量數(shù)據(jù)采集。
[0052]本發(fā)明實(shí)施例的技術(shù)方案中,針對(duì)全量數(shù)據(jù)表中的數(shù)據(jù)并不是一次性地進(jìn)行采集,而是進(jìn)行多次的躍進(jìn)式的增量數(shù)據(jù)采集;每次躍進(jìn)式的增量數(shù)據(jù)采集可以由數(shù)據(jù)采集周期的到達(dá)而觸發(fā)。也就是說,每次數(shù)據(jù)采集周期到達(dá)后,會(huì)對(duì)全量數(shù)據(jù)表進(jìn)行一次增量式采集,直到該全量數(shù)據(jù)表的數(shù)據(jù)完全被采集。
[0053]上述步驟S104中提到的ETL組件針對(duì)全量數(shù)據(jù)表進(jìn)行一次躍進(jìn)式的增量數(shù)據(jù)采集的具體方法,流程如圖2所示,包括如下步驟:
[0054]步驟S201:針對(duì)一個(gè)全量數(shù)據(jù)表,ETL組件在該次躍進(jìn)式的增量數(shù)據(jù)采集過程中,確定該全量數(shù)據(jù)表已采集的次數(shù)。
[0055]本步驟中,ETL組件針對(duì)一個(gè)全量數(shù)據(jù)表在當(dāng)前此次躍進(jìn)式的增量數(shù)據(jù)采集過程中,首先確定之前針對(duì)該全量數(shù)據(jù)表已采集的次數(shù)。
[0056]事實(shí)上,ETL組件針對(duì)該全量數(shù)據(jù)表每進(jìn)行一次躍進(jìn)式的增量數(shù)據(jù)采集時(shí),即可進(jìn)行采集計(jì)數(shù)的累加;ETL組件根據(jù)記錄的采集計(jì)數(shù),確定之前針對(duì)該全量數(shù)據(jù)表進(jìn)行躍進(jìn)式的增量數(shù)據(jù)采集的次數(shù)。
[0057]步驟S202:ETL組件根據(jù)該全量數(shù)據(jù)表中的最小時(shí)間戳、預(yù)設(shè)的第一采集時(shí)長,以及確定的已采集的次數(shù),計(jì)算起始時(shí)間戳。
[0058]本步驟中,ETL組件根據(jù)如下公式I計(jì)算起始時(shí)間戳:
[0059]Tstart = Tmin+ff Xm (公式 I)
[0060]其中,Tstart表示起始時(shí)間戳,Tmin表示最小時(shí)間戳,W表示第一采集時(shí)長,m表示已采集的次數(shù)。
[0061 ]例如,全量數(shù)據(jù)表中的最小時(shí)間戳為2014年I月I日O時(shí),第一采集時(shí)長為I小時(shí),確定的已采集的次數(shù)為10,則根據(jù)上述的公式,可以計(jì)算出本次采集的起始時(shí)間戳為2014年I月I日10時(shí)。
[0062]本領(lǐng)域技術(shù)人員可以根據(jù)經(jīng)驗(yàn)或?qū)嶋H情況設(shè)置第一采集時(shí)長;比如,可以設(shè)置第一采集時(shí)長為30分鐘或I小時(shí)。
[0063]步驟S203:ETL組件根據(jù)所述起始時(shí)間戳,以及所述第一采集時(shí)長,計(jì)算終止時(shí)間戳。
[0064]本步驟中,ETL組件將起始時(shí)間戳與第一采集時(shí)長相加,得到終止時(shí)間戳。
[0065]例如,起始時(shí)間戳為2014年I月I日10時(shí),第一采集時(shí)長為I小時(shí),則計(jì)算出終止時(shí)間戳為2014年I月I日11時(shí)。
[0066]步驟S204:ETL組件采集該全量數(shù)據(jù)表中所述起始時(shí)間戳與終止時(shí)間戳所標(biāo)示的時(shí)間范圍內(nèi)的數(shù)據(jù)。
[0067]本步驟中,ETL組件在本次數(shù)據(jù)采集周期中僅采集全量數(shù)據(jù)表中起始時(shí)間戳與終止時(shí)間戳所標(biāo)示的時(shí)間范圍內(nèi)的數(shù)據(jù)。例如,在本次的躍進(jìn)式的增量數(shù)據(jù)采集過程中,僅采集全量數(shù)據(jù)表中2014年I月I日10時(shí)至2014年I月I日11時(shí)記錄的數(shù)據(jù)。這樣,就限制了ETL組件在一次數(shù)據(jù)采集周期中采集的數(shù)據(jù)量,避免因?yàn)橐欢〞r(shí)間內(nèi)需要采集大量的數(shù)據(jù)而占用過多內(nèi)存和1端口導(dǎo)致系統(tǒng)的卡頓甚至死機(jī)。
[0068]此外,本發(fā)明的發(fā)明人還發(fā)現(xiàn),現(xiàn)有技術(shù)的ETL組件以時(shí)間戳方式針對(duì)增量數(shù)據(jù)表進(jìn)行增量數(shù)據(jù)采集時(shí),通常根據(jù)本系統(tǒng)的當(dāng)前系統(tǒng)時(shí)間,對(duì)各業(yè)務(wù)系統(tǒng)中相應(yīng)時(shí)間戳的數(shù)據(jù)進(jìn)行采集。比如,當(dāng)前系統(tǒng)時(shí)間為8:00,則采集各業(yè)務(wù)系統(tǒng)中7:59?8:00之間的數(shù)據(jù)。此時(shí),由于各業(yè)務(wù)系統(tǒng)的時(shí)間差,可能有的業(yè)務(wù)系統(tǒng)的當(dāng)前系統(tǒng)時(shí)間還未到8:00,或者由于網(wǎng)絡(luò)原因延遲了 8:00的數(shù)據(jù)記錄,那么ETL組件將無法獲取到這些業(yè)務(wù)系統(tǒng)的8:00所記錄的數(shù)據(jù),導(dǎo)致數(shù)據(jù)采集的不完整。
[0069]由此,本發(fā)明的技術(shù)方案中將采集數(shù)據(jù)的時(shí)間進(jìn)行一定的延遲;例如,將8:00的記錄數(shù)據(jù)延遲到8:01進(jìn)行采集;也就是說,將當(dāng)前系統(tǒng)時(shí)間減去一個(gè)延遲時(shí)長計(jì)算出一個(gè)采集數(shù)據(jù)的時(shí)間戳上限,進(jìn)而再計(jì)算時(shí)間戳下限,所述時(shí)間戳上限與時(shí)間戳下限所標(biāo)示的時(shí)間范圍進(jìn)行數(shù)據(jù)采集。例如,當(dāng)前系統(tǒng)時(shí)間為8:01,則采集各業(yè)務(wù)系統(tǒng)中7:59?8:00之間的數(shù)據(jù)。此時(shí),由于各業(yè)務(wù)系統(tǒng)8:00的記錄數(shù)據(jù)已延遲到8:01進(jìn)行采集;這樣,雖然業(yè)務(wù)系統(tǒng)有時(shí)間差,但適當(dāng)?shù)难舆t采集可以保證各業(yè)務(wù)系統(tǒng)均已記錄到8:00的數(shù)據(jù);同時(shí),雖然有的業(yè)務(wù)系統(tǒng)因網(wǎng)絡(luò)原因會(huì)延遲記錄數(shù)據(jù),而適當(dāng)?shù)难舆t采集也可以盡量保證在8:01時(shí),業(yè)務(wù)系統(tǒng)已記錄了延遲到達(dá)的8:00的數(shù)據(jù),從而盡量避免采集時(shí)漏掉數(shù)據(jù),提高數(shù)據(jù)采集的完整性。
[0070]也就是說,本發(fā)明的技術(shù)方案中采用延遲式的增量數(shù)據(jù)采集方案:ETL組件在數(shù)據(jù)采集周期到達(dá)時(shí),確定本ETL組件所在系統(tǒng)的當(dāng)前系統(tǒng)時(shí)間;根據(jù)確定的當(dāng)前系統(tǒng)時(shí)間,以及預(yù)設(shè)的延遲時(shí)長計(jì)算出時(shí)間戳上限;根據(jù)計(jì)算出的時(shí)間戳上限,以及預(yù)設(shè)的第二采集時(shí)長計(jì)算時(shí)間戳下限;進(jìn)而,采集各業(yè)務(wù)系統(tǒng)中所述時(shí)間戳上限與時(shí)間戳下限所標(biāo)示的時(shí)間范圍內(nèi)的數(shù)據(jù);從而盡量避免采集時(shí)漏掉數(shù)據(jù),提高數(shù)據(jù)采集的完整性。
[0071]基于上述分析,上述步驟S103中提到的ETL組件針對(duì)增量數(shù)據(jù)表進(jìn)行延遲式的增量數(shù)據(jù)采集的具體方法,流程如圖3所示,包括如下步驟:
[0072]步驟S301:ETL組件根據(jù)當(dāng)前系統(tǒng)時(shí)間,以及預(yù)設(shè)的延遲時(shí)長計(jì)算出時(shí)間戳上限。
[0073]本步驟中,ETL組件將當(dāng)前系統(tǒng)時(shí)間減去預(yù)設(shè)的延遲時(shí)長,得到時(shí)間戳上限。例如,預(yù)設(shè)的延遲時(shí)長為I分鐘,當(dāng)前系統(tǒng)時(shí)間為8:01,則計(jì)算得到時(shí)間戳上限為8:00。
[0074]本領(lǐng)域技術(shù)人員可以根據(jù)經(jīng)驗(yàn)或?qū)嶋H情況設(shè)置延遲時(shí)長;較佳地,可設(shè)置延遲時(shí)長等于或大于I分鐘。
[0075]步驟S302:ETL組件根據(jù)計(jì)算出的時(shí)間戳上限,以及預(yù)設(shè)的第二采集時(shí)長計(jì)算時(shí)間戳下限。
[0076]本步驟中,ETL組件將時(shí)間戳上限減去第二采集時(shí)長,計(jì)算得到時(shí)間戳下限。例如,計(jì)算的時(shí)間戳上限為8:00,預(yù)設(shè)的第二采集時(shí)長為I分鐘,則計(jì)算出時(shí)間戳下限為7:59。
[0077]本領(lǐng)域技術(shù)人員可以根據(jù)經(jīng)驗(yàn)或?qū)嶋H情況設(shè)置第二采集時(shí)長;較佳地,可以設(shè)置第二采集時(shí)長等于上述的延遲時(shí)長,設(shè)置上述的延遲時(shí)長等于數(shù)據(jù)采集周期。較佳地,上述的第一采集時(shí)長可以大于第二采集時(shí)長。
[0078]步驟S303:ETL組件采集各業(yè)務(wù)系統(tǒng)增量數(shù)據(jù)表中所述時(shí)間戳上限與時(shí)間戳下限所標(biāo)示的時(shí)間范圍內(nèi)的數(shù)據(jù)。
[0079]本步驟中,ETL組件根據(jù)計(jì)算的時(shí)間戳上、下限,針對(duì)各業(yè)務(wù)系統(tǒng)中的每個(gè)增量數(shù)據(jù)表,采集該增量數(shù)據(jù)表中時(shí)間戳上限與時(shí)間戳下限所標(biāo)示的時(shí)間范圍內(nèi)的數(shù)據(jù)。
[0080]本發(fā)明實(shí)施例的技術(shù)方案中,由于對(duì)于全量數(shù)據(jù)表采用多次躍進(jìn)式的增量數(shù)據(jù)采集方式,從而可以在多個(gè)數(shù)據(jù)采集周期中完成對(duì)全量數(shù)據(jù)表中所有數(shù)據(jù)的采集;由于一個(gè)數(shù)據(jù)采集周期中,僅采集起始時(shí)間戳與終止時(shí)間戳之間的數(shù)據(jù),限制了采集的數(shù)據(jù)量,有效地控制了數(shù)據(jù)采集頻率,從而避免短時(shí)間內(nèi)因需要采集的數(shù)據(jù)量過大,而過多占用內(nèi)存、或1端口而出現(xiàn)系統(tǒng)卡頓、或死機(jī)的現(xiàn)象;減小對(duì)ETL組件所在的數(shù)據(jù)采集系統(tǒng)的性能影響,穩(wěn)定數(shù)據(jù)采集效率,也避免了由于對(duì)全量數(shù)據(jù)表的數(shù)據(jù)采集任務(wù)而影響、干擾對(duì)其它增量數(shù)據(jù)表的數(shù)據(jù)采集任務(wù)。
[0081]進(jìn)一步,由于將當(dāng)前系統(tǒng)時(shí)間延遲預(yù)設(shè)的延遲時(shí)長后作為時(shí)間戳上限,并依據(jù)此時(shí)間戳上限進(jìn)行數(shù)據(jù)采集;避免了業(yè)務(wù)系統(tǒng)因時(shí)間差或網(wǎng)絡(luò)延遲而沒有及時(shí)記錄當(dāng)前時(shí)間下的數(shù)據(jù)而使得采集的數(shù)據(jù)丟失一部分當(dāng)前時(shí)間的數(shù)據(jù)的情況;也就是說,當(dāng)前時(shí)間記錄的數(shù)據(jù)將延遲預(yù)設(shè)的延遲時(shí)長后才會(huì)被采集,從而提高數(shù)據(jù)采集的完整性。
[0082]基于上述的方法,本發(fā)明實(shí)施例提供的一種ETL組件的內(nèi)部結(jié)構(gòu),如圖4所示,其數(shù)據(jù)采集裝置中包括如下模塊:系統(tǒng)時(shí)間確定模塊401、第一時(shí)間戳計(jì)算模塊402、第一數(shù)據(jù)采集豐旲塊403。
[0083]其中,系統(tǒng)時(shí)間確定模塊401用于在數(shù)據(jù)采集周期到達(dá)時(shí),發(fā)送采集通知;
[0084]第一時(shí)間戳計(jì)算模塊402用于接收到系統(tǒng)時(shí)間確定模塊401發(fā)送的采集通知后,針對(duì)業(yè)務(wù)系統(tǒng)中的全量數(shù)據(jù)表,根據(jù)所述全量數(shù)據(jù)表中的最小時(shí)間戳、預(yù)設(shè)的第一采集時(shí)長,以及確定的已采集的次數(shù),計(jì)算起始時(shí)間戳;根據(jù)所述起始時(shí)間戳,以及所述第一采集時(shí)長,計(jì)算終止時(shí)間戳。
[0085]第一數(shù)據(jù)采集模塊403用于根據(jù)第一時(shí)間戳計(jì)算模塊402的計(jì)算結(jié)果,采集所述全量數(shù)據(jù)表中所述起始時(shí)間戳與終止時(shí)間戳所標(biāo)示的時(shí)間范圍內(nèi)的數(shù)據(jù)。
[0086]更優(yōu)地,本發(fā)明實(shí)施例的ETL組件中還可以包括:數(shù)據(jù)表確定模塊404。
[0087]數(shù)據(jù)表確定模塊404可以確定出所述業(yè)務(wù)系統(tǒng)中待采集的數(shù)據(jù)表為全量數(shù)據(jù)表或增量數(shù)據(jù)表。
[0088]進(jìn)一步,上述系統(tǒng)時(shí)間確定模塊401還用于在數(shù)據(jù)采集周期到達(dá)時(shí),確定本系統(tǒng)的當(dāng)前系統(tǒng)時(shí)間。[0089 ]進(jìn)一步,本發(fā)明實(shí)施例的ETL組件中還可以包括:第二時(shí)間戳計(jì)算模塊405、第二數(shù)據(jù)采集模塊406。
[0090]第二時(shí)間戳計(jì)算模塊405用于接收到所述采集通知后,根據(jù)系統(tǒng)時(shí)間確定模塊401確定的當(dāng)前系統(tǒng)時(shí)間,以及預(yù)設(shè)的延遲時(shí)長計(jì)算出時(shí)間戳上限;根據(jù)計(jì)算出的時(shí)間戳上限,以及預(yù)設(shè)的第二采集時(shí)長計(jì)算時(shí)間戳下限;較佳地,所述延遲時(shí)長與所述采集時(shí)長相等;較佳地,所述第一采集時(shí)長大于第二采集時(shí)長。
[0091]第二數(shù)據(jù)采集模塊403用于根據(jù)第二時(shí)間戳計(jì)算模塊402計(jì)算的時(shí)間戳,采集數(shù)據(jù)表確定模塊404所確定的增量數(shù)據(jù)表中所述時(shí)間戳上限與時(shí)間戳下限所標(biāo)示的時(shí)間范圍內(nèi)的數(shù)據(jù)。
[0092]其中各模塊對(duì)時(shí)間戳上、下限,或者起始、終止時(shí)間戳的具體計(jì)算可參照上述如圖1-3所示的方法流程中的具體計(jì)算方法,此處不再贅述。
[0093]本發(fā)明實(shí)施例的技術(shù)方案中,由于對(duì)于全量數(shù)據(jù)表采用多次躍進(jìn)式的增量數(shù)據(jù)采集方式,從而可以在多個(gè)數(shù)據(jù)采集周期中完成對(duì)全量數(shù)據(jù)表中所有數(shù)據(jù)的采集;由于一個(gè)數(shù)據(jù)采集周期中,僅采集起始時(shí)間戳與終止時(shí)間戳之間的數(shù)據(jù),限制了采集的數(shù)據(jù)量,有效地控制了數(shù)據(jù)采集頻率,從而避免短時(shí)間內(nèi)因需要采集的數(shù)據(jù)量過大,而過多占用內(nèi)存、或1端口而出現(xiàn)系統(tǒng)卡頓、或死機(jī)的現(xiàn)象;減小對(duì)ETL組件所在的數(shù)據(jù)采集系統(tǒng)的性能影響,穩(wěn)定數(shù)據(jù)采集效率,也避免了由于對(duì)全量數(shù)據(jù)表的數(shù)據(jù)采集任務(wù)而影響、干擾對(duì)其它增量數(shù)據(jù)表的數(shù)據(jù)采集任務(wù)。
[0094]進(jìn)一步,由于將當(dāng)前系統(tǒng)時(shí)間延遲預(yù)設(shè)的延遲時(shí)長后作為時(shí)間戳上限,并依據(jù)此時(shí)間戳上限進(jìn)行數(shù)據(jù)采集;避免了業(yè)務(wù)系統(tǒng)因時(shí)間差或網(wǎng)絡(luò)延遲而沒有及時(shí)記錄當(dāng)前時(shí)間下的數(shù)據(jù)而使得采集的數(shù)據(jù)丟失一部分當(dāng)前時(shí)間的數(shù)據(jù)的情況;也就是說,當(dāng)前時(shí)間記錄的數(shù)據(jù)將延遲預(yù)設(shè)的延遲時(shí)長后才會(huì)被采集,從而提高數(shù)據(jù)采集的完整性。
[0095]本技術(shù)領(lǐng)域技術(shù)人員可以理解,本發(fā)明包括涉及用于執(zhí)行本申請(qǐng)中所述操作中的一項(xiàng)或多項(xiàng)的設(shè)備。這些設(shè)備可以為所需的目的而專門設(shè)計(jì)和制造,或者也可以包括通用計(jì)算機(jī)中的已知設(shè)備。這些設(shè)備具有存儲(chǔ)在其內(nèi)的計(jì)算機(jī)程序,這些計(jì)算機(jī)程序選擇性地激活或重構(gòu)。這樣的計(jì)算機(jī)程序可以被存儲(chǔ)在設(shè)備(例如,計(jì)算機(jī))可讀介質(zhì)中或者存儲(chǔ)在適于存儲(chǔ)電子指令并分別耦聯(lián)到總線的任何類型的介質(zhì)中,所述計(jì)算機(jī)可讀介質(zhì)包括但不限于任何類型的盤(包括軟盤、硬盤、光盤、CD-ROM、和磁光盤)、R0M(Read-0nly Memory,只讀存儲(chǔ)器)、RAM (Random Access Memory,隨即存儲(chǔ)器)、EPROM(Erasable ProgrammableRead-Only Memory,可擦寫可編程只讀存儲(chǔ)器)、EEPR0M(E1 ectricalIy ErasableProgrammable Read-Only Memory,電可擦可編程只讀存儲(chǔ)器)、閃存、磁性卡片或光線卡片。也就是,可讀介質(zhì)包括由設(shè)備(例如,計(jì)算機(jī))以能夠讀的形式存儲(chǔ)或傳輸信息的任何介質(zhì)。
[0096]本技術(shù)領(lǐng)域技術(shù)人員可以理解,可以用計(jì)算機(jī)程序指令來實(shí)現(xiàn)這些結(jié)構(gòu)圖和/或框圖和/或流圖中的每個(gè)框以及這些結(jié)構(gòu)圖和/或框圖和/或流圖中的框的組合。本技術(shù)領(lǐng)域技術(shù)人員可以理解,可以將這些計(jì)算機(jī)程序指令提供給通用計(jì)算機(jī)、專業(yè)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理方法的處理器來實(shí)現(xiàn),從而通過計(jì)算機(jī)或其他可編程數(shù)據(jù)處理方法的處理器來執(zhí)行本發(fā)明公開的結(jié)構(gòu)圖和/或框圖和/或流圖的框或多個(gè)框中指定的方案。
[0097]本技術(shù)領(lǐng)域技術(shù)人員可以理解,本發(fā)明中已經(jīng)討論過的各種操作、方法、流程中的步驟、措施、方案可以被交替、更改、組合或刪除。進(jìn)一步地,具有本發(fā)明中已經(jīng)討論過的各種操作、方法、流程中的其他步驟、措施、方案也可以被交替、更改、重排、分解、組合或刪除。進(jìn)一步地,現(xiàn)有技術(shù)中的具有與本發(fā)明中公開的各種操作、方法、流程中的步驟、措施、方案也可以被交替、更改、重排、分解、組合或刪除。
[0098]所屬領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:以上任何實(shí)施例的討論僅為示例性的,并非旨在暗示本公開的范圍(包括權(quán)利要求)被限于這些例子;在本發(fā)明的思路下,以上實(shí)施例或者不同實(shí)施例中的技術(shù)特征之間也可以進(jìn)行組合,步驟可以以任意順序?qū)崿F(xiàn),并存在如上所述的本發(fā)明的不同方面的許多其它變化,為了簡明它們沒有在細(xì)節(jié)中提供。因此,凡在本發(fā)明的精神和原則之內(nèi),所做的任何省略、修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
【主權(quán)項(xiàng)】
1.一種數(shù)據(jù)采集方法,其特征在于,包括: 數(shù)據(jù)采集周期到達(dá)時(shí),針對(duì)業(yè)務(wù)系統(tǒng)中的全量數(shù)據(jù)表,進(jìn)行一次躍進(jìn)式的增量數(shù)據(jù)采集: 確定所述全量數(shù)據(jù)表已采集的次數(shù); 根據(jù)所述全量數(shù)據(jù)表中的最小時(shí)間戳、預(yù)設(shè)的第一采集時(shí)長,以及確定的已采集的次數(shù),計(jì)算起始時(shí)間戳; 根據(jù)所述起始時(shí)間戳,以及所述第一采集時(shí)長,計(jì)算終止時(shí)間戳; 采集所述全量數(shù)據(jù)表中所述起始時(shí)間戳與終止時(shí)間戳所標(biāo)示的時(shí)間范圍內(nèi)的數(shù)據(jù)。2.根據(jù)權(quán)利要求1所述的方法,其特征在于,還包括: 確定出所述業(yè)務(wù)系統(tǒng)中待采集的增量數(shù)據(jù)表。3.根據(jù)權(quán)利要求2所述的方法,其特征在于,在所述數(shù)據(jù)采集周期到達(dá)后,還包括: 根據(jù)本系統(tǒng)的當(dāng)前系統(tǒng)時(shí)間,以及預(yù)設(shè)的延遲時(shí)長計(jì)算出時(shí)間戳上限; 根據(jù)計(jì)算出的時(shí)間戳上限,以及預(yù)設(shè)的第二采集時(shí)長計(jì)算時(shí)間戳下限; 采集所述增量數(shù)據(jù)表中所述時(shí)間戳上限與時(shí)間戳下限所標(biāo)示的時(shí)間范圍內(nèi)的數(shù)據(jù)。4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述延遲時(shí)長與所述第二采集時(shí)長相等。5.根據(jù)權(quán)利要求3或4所述的方法,其特征在于,所述第一采集時(shí)長大于第二采集時(shí)長。6.一種ETL組件,其特征在于,包括: 系統(tǒng)時(shí)間確定模塊,用于在數(shù)據(jù)采集周期到達(dá)時(shí),發(fā)送采集通知; 第一時(shí)間戳計(jì)算模塊,用于接收到所述采集通知后,針對(duì)業(yè)務(wù)系統(tǒng)中的全量數(shù)據(jù)表,根據(jù)所述全量數(shù)據(jù)表中的最小時(shí)間戳、預(yù)設(shè)的第一采集時(shí)長,以及確定的已采集的次數(shù),計(jì)算起始時(shí)間戳;根據(jù)所述起始時(shí)間戳,以及所述第一采集時(shí)長,計(jì)算終止時(shí)間戳; 第一數(shù)據(jù)采集模塊,用于采集所述全量數(shù)據(jù)表中所述起始時(shí)間戳與終止時(shí)間戳所標(biāo)示的時(shí)間范圍內(nèi)的數(shù)據(jù)。7.根據(jù)權(quán)利要求6所述的ETL組件,其特征在于,還包括: 數(shù)據(jù)表確定模塊,用于確定出所述業(yè)務(wù)系統(tǒng)中待采集的數(shù)據(jù)表為全量數(shù)據(jù)表或增量數(shù)據(jù)表。8.根據(jù)權(quán)利要求7所述的ETL組件,其特征在于, 所述系統(tǒng)時(shí)間確定模塊還用于在數(shù)據(jù)采集周期到達(dá)時(shí),確定本系統(tǒng)的當(dāng)前系統(tǒng)時(shí)間;以及 所述ETL組件還包括: 第二時(shí)間戳計(jì)算模塊,用于接收到所述采集通知后,根據(jù)所述當(dāng)前系統(tǒng)時(shí)間,以及預(yù)設(shè)的延遲時(shí)長計(jì)算出時(shí)間戳上限;根據(jù)計(jì)算出的時(shí)間戳上限,以及預(yù)設(shè)的第二采集時(shí)長計(jì)算時(shí)間戳下限; 第二數(shù)據(jù)采集模塊,用于根據(jù)所述數(shù)據(jù)表確定模塊的確定結(jié)果,采集所述增量數(shù)據(jù)表中所述時(shí)間戳上限與時(shí)間戳下限所標(biāo)示的時(shí)間范圍內(nèi)的數(shù)據(jù)。9.根據(jù)權(quán)利要求8所述的ETL組件,其特征在于,所述延遲時(shí)長與所述第二采集時(shí)長相等。10.根據(jù)權(quán)利要求8或9所述的ETL組件,其特征在于,所述第一采集時(shí)長大于第二采集時(shí)長。
【文檔編號(hào)】G06F17/30GK105843935SQ201610195431
【公開日】2016年8月10日
【申請(qǐng)日】2016年3月30日
【發(fā)明人】劉永華, 楊佳浩, 王孝慶
【申請(qǐng)人】樂視控股(北京)有限公司, 樂視云計(jì)算有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
光山县| 荃湾区| 孟津县| 宿松县| 新巴尔虎左旗| 子长县| 康马县| 哈尔滨市| 林芝县| 定襄县| 永丰县| 专栏| 扶风县| 始兴县| 锡林郭勒盟| 双流县| 文安县| 共和县| 云安县| 宜兰市| 包头市| 宁都县| 明溪县| 巴彦淖尔市| 兴安县| 闽清县| 酒泉市| 轮台县| 班戈县| 房产| 萝北县| 大竹县| 南雄市| 大宁县| 嵊州市| 金堂县| 兴宁市| 永定县| 新田县| 鸡泽县| 饶平县|