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

Etl中數(shù)據(jù)主鍵號的生成方法及計數(shù)器的制作方法

文檔序號:6333030閱讀:292來源:國知局
專利名稱:Etl中數(shù)據(jù)主鍵號的生成方法及計數(shù)器的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及數(shù)據(jù)處理技術(shù)領(lǐng)域,尤其涉及一種ETL中數(shù)據(jù)主鍵號的生成方法及計數(shù)器。
背景技術(shù)
在數(shù)據(jù)采集過程中采用的ETL(Extraction-Transformation-Loading,數(shù)據(jù)提取、 轉(zhuǎn)換和加載)工具,均提供了數(shù)據(jù)轉(zhuǎn)換功能,即從一種格式的數(shù)據(jù)流轉(zhuǎn)為另一種格式的數(shù)據(jù)流,通過組裝一系列功能轉(zhuǎn)換節(jié)點流程,可完成一項從數(shù)據(jù)源至目標數(shù)據(jù)的數(shù)據(jù)轉(zhuǎn)換任務(wù),其中,計數(shù)器節(jié)點常用于數(shù)據(jù)庫表數(shù)據(jù)主鍵的生成,即將從上節(jié)點抽取的每條數(shù)據(jù)生成其對應(yīng)的主鍵號,以存儲在數(shù)據(jù)庫中。現(xiàn)有技術(shù)的ETL中數(shù)據(jù)主鍵號的生成方法為在抽取數(shù)據(jù)后,根據(jù)固定的起始值和增長根據(jù)對數(shù)據(jù)從起始值到最大值進行主鍵步增。如圖1所示,如果起始值和增長根據(jù)均為1,則抽取的第一條數(shù)據(jù)生成的主鍵號為1,第二條數(shù)據(jù)的主鍵號為2,一直到數(shù)據(jù)抽取完畢,最大主鍵號即為抽取數(shù)據(jù)的最大條數(shù)。然而,當上述主鍵號生成方法應(yīng)用于數(shù)據(jù)量十分巨大的情況時,必須對所有數(shù)據(jù)進行全量抽取,從第一條數(shù)據(jù)一直步增至最后一條數(shù)據(jù),該方法降低了數(shù)據(jù)抽取的性能。

發(fā)明內(nèi)容
本發(fā)明實施例提供一種ETL中數(shù)據(jù)主鍵號的生成方法及計數(shù)器,能夠?qū)崿F(xiàn)數(shù)據(jù)的增量抽取,增強數(shù)據(jù)抽取的性能。為了解決上述技術(shù)問題,本發(fā)明實施例的技術(shù)方案如下一種ETL中數(shù)據(jù)主鍵號的生成方法,包括根據(jù)第一次抽取數(shù)據(jù)生成的主鍵號,設(shè)定第二次抽取數(shù)據(jù)的主鍵號的起始值;根據(jù)所述第二次抽取數(shù)據(jù)的主鍵號的起始值和預(yù)設(shè)的增長根據(jù),進行主鍵步增生成第二次抽取數(shù)據(jù)的主鍵號。進一步,所述根據(jù)第一次抽取數(shù)據(jù)生成的主鍵號,設(shè)定第二次抽取數(shù)據(jù)的主鍵號的起始值,具體為根據(jù)第一次抽取數(shù)據(jù)生成的最大主鍵號,設(shè)定所述第二次抽取數(shù)據(jù)的主鍵號的起始值。進一步,所述根據(jù)第一次抽取數(shù)據(jù)生成的最大主鍵號,設(shè)定所述第二次抽取數(shù)據(jù)的主鍵號的起始值,具體為將所述第一次抽取數(shù)據(jù)生成的最大主鍵號加一,設(shè)定為所述第二次抽取數(shù)據(jù)的主鍵號的起始值。進一步,所述預(yù)設(shè)的增長根據(jù)為1。進一步,所述第二次抽取數(shù)據(jù)的主鍵號的最大值不大于999999999。一種計數(shù)器,包括
設(shè)定模塊,用于根據(jù)第一次抽取數(shù)據(jù)生成的主鍵號,設(shè)定第二次抽取數(shù)據(jù)的主鍵號的起始值;生成模塊,用于根據(jù)所述第二次抽取數(shù)據(jù)的主鍵號的起始值和預(yù)設(shè)的增長根據(jù), 進行主鍵步增生成第二次抽取數(shù)據(jù)的主鍵號。進一步,所述設(shè)定模塊,具體用于根據(jù)第一次抽取數(shù)據(jù)生成的最大主鍵號,設(shè)定所述第二次抽取數(shù)據(jù)的主鍵號的起始值。進一步,所述設(shè)定模塊,具體用于將所述第一次抽取數(shù)據(jù)生成的最大主鍵號加一, 設(shè)定為所述第二次抽取數(shù)據(jù)的主鍵號的起始值。進一步,所述預(yù)設(shè)的增長根據(jù)為1。進一步,所述第二次抽取數(shù)據(jù)的主鍵號的最大值不大于999999999?,F(xiàn)有技術(shù)的ETL中數(shù)據(jù)主鍵號生成方法,對于數(shù)據(jù)量十分巨大的情況,由于起始值的固定設(shè)置決定了對數(shù)據(jù)量的全量抽取方式,從而降低了數(shù)據(jù)抽取的性能。本發(fā)明實施例所提供的數(shù)據(jù)主鍵號的生成方法及計數(shù)器通過動態(tài)設(shè)置起始值,解決了主鍵沖突問題, 實現(xiàn)了對大量數(shù)據(jù)的增量抽取方式,增強了數(shù)據(jù)抽取的性能。


為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖1是本發(fā)明實施例一種ETL中數(shù)據(jù)主鍵號的生成方法流程圖;圖2是本發(fā)明實施例另一種ETL中數(shù)據(jù)主鍵號的生成方法流程圖;圖3是本發(fā)明實施例一種ETL中計數(shù)器的結(jié)構(gòu)示意圖。
具體實施例方式為了使本領(lǐng)域技術(shù)人員能進一步了解本發(fā)明的特征及技術(shù)內(nèi)容,請參閱以下有關(guān)本發(fā)明的詳細說明與附圖,附圖僅提供參考與說明,并非用來限制本發(fā)明。發(fā)明人研究發(fā)現(xiàn),現(xiàn)有技術(shù)的ETL中數(shù)據(jù)主鍵號的生成方法由于起始值是固定值,所以每次抽取的第一條數(shù)據(jù)的主鍵號是相同的也即起始值,對于數(shù)據(jù)量十分巨大的情況,如果采用增量抽取也即分多次抽取數(shù)據(jù),則每次抽取的第一條數(shù)據(jù)的主鍵號均是相同的,這樣會引起主鍵沖突,在后續(xù)應(yīng)用主鍵號處理該大量數(shù)據(jù)時就會出現(xiàn)運行錯誤。例如,2010年一月份進行第一次數(shù)據(jù)抽取,即抽取2010年一月份與所有的2010年一月份前的所有數(shù)據(jù),使用計數(shù)器生成所有數(shù)據(jù)的主鍵號,但當?shù)?010年二月份再次對數(shù)據(jù)進行抽取工作時,如果不對二月份以前的所有數(shù)據(jù)進行全量抽取,而只抽取2010年二月份的數(shù)據(jù),則在對二月份的數(shù)據(jù)生成主鍵號時,計數(shù)器又開始從“起始值”進行計算,二月份第一條數(shù)據(jù)的主鍵號與第一次抽取時第一條數(shù)據(jù)的主鍵號相同,發(fā)生了主鍵沖突。因此,現(xiàn)有ETL的數(shù)據(jù)主鍵號的生成方法,對于數(shù)據(jù)量十分巨大的情況,由于起始值的固定設(shè)置決定了對數(shù)據(jù)量的全量抽取方式,從而降低了數(shù)據(jù)抽取的性能。本發(fā)明實施例所提供的數(shù)據(jù)主鍵號的生成方式通過動態(tài)設(shè)置起始值,解決了主鍵沖突問題,實現(xiàn)了對大量數(shù)據(jù)的增量抽取方式,增強了數(shù)據(jù)抽取的性能。下面結(jié)合附圖和實施例,對本發(fā)明的技術(shù)方案進行描述。參照圖1,為本發(fā)明實施例一種ETL中數(shù)據(jù)主鍵號的生成方法流程圖。在不適于對所有數(shù)據(jù)進行一次性全量抽取的情況下,例如,數(shù)據(jù)量十分巨大的情況,應(yīng)用本實施例方法可以實現(xiàn)對數(shù)據(jù)的多次抽取也即增量抽取,避免主鍵沖突。該方法可以包括步驟101,根據(jù)第一次抽取數(shù)據(jù)生成的主鍵號,設(shè)定第二次抽取數(shù)據(jù)的主鍵號的起始值。其中,“第一次”和“第二次”僅是為了區(qū)別連續(xù)的兩次抽取,并非表示ETL進行的首次及第二次抽取,亦非特定的抽取順序。在本實施例中,計數(shù)器在生成第一次抽取數(shù)據(jù)的主鍵號后,對該主鍵號進行存儲。然后根據(jù)第一次抽取數(shù)據(jù)的主鍵號設(shè)定第二次抽取數(shù)據(jù)的主鍵號的起始值。該起始值需要設(shè)定為與第一次抽取數(shù)據(jù)的所有主鍵號不同,并且根據(jù)該起始值和增長根據(jù)進行主鍵步增后獲得的第二次抽取數(shù)據(jù)的主鍵號與第一次抽取數(shù)據(jù)的主鍵號不同。例如,第一次抽取數(shù)據(jù)生成的最大主鍵號為N,則第二次抽取數(shù)據(jù)的主鍵號的起始值設(shè)定為N+1,其具體設(shè)定過程請參照后續(xù)實施例的描述。步驟102,根據(jù)第二次抽取數(shù)據(jù)的主鍵號的起始值和預(yù)設(shè)的增長根據(jù)進行主鍵步增生成第二次抽取數(shù)據(jù)的主鍵號。在計數(shù)器設(shè)定起始值后,根據(jù)預(yù)設(shè)的增長根據(jù)對起始值進行主鍵步增,生成第二次抽取數(shù)據(jù)的主鍵號。例如,如果第二次抽取數(shù)據(jù)的主鍵號的起始值設(shè)定為N+1,則,第二次抽取的數(shù)據(jù)中的第一條數(shù)據(jù)的主鍵號即為N+1,主鍵步增后生成的第二條數(shù)據(jù)的主鍵號即為“N+1+增長根據(jù)”。以此類推,此處不再贅述。如果還存在第N次抽取數(shù)據(jù),則第N次抽取數(shù)據(jù)的主鍵號的生成仍然可以采用上述方法進行,其中,第N次抽取數(shù)據(jù)的主鍵號的起始值可以繼續(xù)采用步驟101的方法,即根據(jù)第N-I次抽取數(shù)據(jù)生成的主鍵號設(shè)定第N次抽取數(shù)據(jù)的主鍵號的起始值,主鍵步增后生成的第N次抽取數(shù)據(jù)的主鍵號即為根據(jù)增長根據(jù)對起始值進行迭代遞增所獲得的值。本發(fā)明實施例通過動態(tài)設(shè)置起始值,使得在增量抽取時每次獲得的數(shù)據(jù)的主鍵號均與其它次抽取時獲得的主鍵號不同,從而避免了主鍵沖突,因此在大數(shù)據(jù)量的情況下,可以通過增量抽取方式增強數(shù)據(jù)抽取的性能。參照圖2,為本發(fā)明實施例另一種ETL中數(shù)據(jù)主鍵號的生成方法流程圖。本實施例以2010年每月的數(shù)據(jù)抽取為例進行說明,該方法可以包括步驟201,第N次抽取上節(jié)點傳入的數(shù)據(jù)。該次抽取可以在2010年的第N個月進行,上節(jié)點傳入的數(shù)據(jù)可以是在一系列數(shù)據(jù)轉(zhuǎn)換節(jié)點流程中位于計數(shù)器上一節(jié)點所傳入的數(shù)據(jù)。該數(shù)據(jù)抽取過程與現(xiàn)有技術(shù)類似,此處不再贅述。步驟202,讀取第N-I次抽取數(shù)據(jù)的主鍵號的最大值。計數(shù)器可以在每次生成抽取數(shù)據(jù)的主鍵號后,存儲最近一次抽取數(shù)據(jù)的主鍵號的最大值,在本實施例中,計數(shù)器內(nèi)存儲有第N-I次抽取數(shù)據(jù)的主鍵號的最大值,假設(shè)為a。步驟203,設(shè)定第N次抽取數(shù)據(jù)的主鍵號的起始值。在本實施例中,可以將第N-I次抽取數(shù)據(jù)生成的最大主鍵號加一,設(shè)定為用于生成第N次抽取數(shù)據(jù)的主鍵號的起始值,也即將a+Ι作為生成第N次抽取數(shù)據(jù)的主鍵號的起始值。另外,若第N次抽取數(shù)據(jù)即為第一次抽取數(shù)據(jù),例如,步驟201中,第N次抽取數(shù)據(jù)為抽取2010年1月份的數(shù)據(jù),該情況下仍可以按步驟202 203的方法進行,計數(shù)器中并未存儲有1月份之前數(shù)據(jù)的主鍵號最大值,則可以預(yù)設(shè)該情況下最近一次抽取數(shù)據(jù)的主鍵號的最大值為“0”,則根據(jù)步驟203,生成1月份抽取數(shù)據(jù)的主鍵號的起始值即為“0+1”。以上步驟201與步驟202、203之間的順序可以根據(jù)需要調(diào)整,在此并不限定。步驟204,根據(jù)起始值和預(yù)設(shè)的增長根據(jù),對第N次抽取數(shù)據(jù)進行主鍵步增,生成第N次抽取數(shù)據(jù)的主鍵號。根據(jù)上步驟,起始值為a+Ι,預(yù)設(shè)的增長根據(jù)可以為1,當然也可以為其它數(shù)值,則主鍵步增即可獲得第N次抽取數(shù)據(jù)的主鍵號,也即根據(jù)增長根據(jù)對起始值進行迭代遞增。 第N次抽取的數(shù)據(jù)中第1條數(shù)據(jù)的主鍵號為a+Ι,第2條數(shù)據(jù)的主鍵號為a+1+l,第3條數(shù)據(jù)的主鍵號為a+1+l+l......,還可以設(shè)定主鍵號的最大值,一般不大于999999999。若第N+1次抽取上節(jié)點傳入的數(shù)據(jù),則按照步驟201 204所述的方法繼續(xù)執(zhí)行。本發(fā)明實施例通過根據(jù)上一次抽取數(shù)據(jù)的主鍵號的最大值動態(tài)設(shè)置生成本次抽取數(shù)據(jù)的主鍵號的起始值,使得在增量抽取時每次獲得的數(shù)據(jù)的主鍵號均與其它次抽取時獲得的主鍵號不同,從而避免了主鍵沖突,因此在大數(shù)據(jù)量的情況下,可以通過增量抽取方式增強數(shù)據(jù)抽取的性能。以上方法可以應(yīng)用于ETL工具中計數(shù)器生成數(shù)據(jù)主鍵號的方法中。以上是對本發(fā)明方法實施例的詳細描述,上述方法應(yīng)用于ETL中,對于源于不同數(shù)據(jù)庫中的數(shù)據(jù)均可以采用上述方法生成主鍵號,因此可以支持跨數(shù)據(jù)庫的應(yīng)用,數(shù)據(jù)源與目標數(shù)據(jù)庫類型的改動均無需更改本抽取數(shù)據(jù)主鍵號的生成流程。下面對實現(xiàn)上述方法的計數(shù)器進行簡單介紹。參見圖3,為本發(fā)明實施例一種計數(shù)器的結(jié)構(gòu)示意圖。本實施例中,計數(shù)器包括以下模塊設(shè)定模塊301,用于根據(jù)第一次抽取數(shù)據(jù)生成的主鍵號,設(shè)定第二次抽取數(shù)據(jù)的主鍵號的起始值。生成模塊302,用于根據(jù)所述第二次抽取數(shù)據(jù)的主鍵號的起始值和預(yù)設(shè)的增長根據(jù),進行主鍵步增生成第二次抽取數(shù)據(jù)的主鍵號。本實施例中,“第一次”和“第二次”也僅是為了區(qū)別連續(xù)兩次抽取的數(shù)據(jù),并非特指某一次。計數(shù)器在生成第一次抽取數(shù)據(jù)的主鍵號后,可以對該主鍵號進行存儲,然后在抽取第二次數(shù)據(jù)之前或之后,通過設(shè)定模塊301設(shè)定用于生成第二次抽取數(shù)據(jù)的主鍵號的起始值,該起始值需要設(shè)定為與第一次抽取數(shù)據(jù)的所有主鍵號不同,并且根據(jù)該起始值和增長根據(jù)進行主鍵步增后獲得的第二次抽取數(shù)據(jù)的主鍵號與第一次抽取數(shù)據(jù)的主鍵號不同。 在計數(shù)器設(shè)定起始值后,即可通過生成模塊302進行主鍵步增,即根據(jù)增長根據(jù)對起始值進行迭代遞增,生成第二次抽取數(shù)據(jù)的主鍵號。在本發(fā)明的另一實施例中,設(shè)定模塊301,可以用于根據(jù)第一次抽取數(shù)據(jù)生成的最大主鍵號,設(shè)定第二次抽取數(shù)據(jù)的主鍵號的起始值,具體的,可以用于將所述第一次抽取數(shù)據(jù)生成的最大主鍵號加一,設(shè)定為第二次抽取數(shù)據(jù)的主鍵號的起始值。
本發(fā)明實施例通過設(shè)定模塊301動態(tài)設(shè)置起始值,使得在增量抽取時生成模塊 302每次獲得的數(shù)據(jù)的主鍵號均與其它次抽取時獲得的主鍵號不同,從而避免了主鍵沖突, 因此,在大數(shù)據(jù)量的情況下,可以通過增量抽取方式增強數(shù)據(jù)抽取的性能。以上裝置可以應(yīng)用于ETL工具中的計數(shù)器轉(zhuǎn)換節(jié)點。以上計數(shù)器各模塊的具體實現(xiàn)過程是可以參照前述方法實施例部分的描述,此處不再贅述。上述方法、裝置實施例可支持跨數(shù)據(jù)庫的抽取,數(shù)據(jù)源與目標數(shù)據(jù)庫類型的改動均無需更改本抽取數(shù)據(jù)主鍵號的生成流程。以上所述的本發(fā)明實施方式,并不構(gòu)成對本發(fā)明保護范圍的限定。任何在本發(fā)明的精神和原則之內(nèi)所作的修改、等同替換和改進等,均應(yīng)包含在本發(fā)明的權(quán)利要求保護范圍之內(nèi)。
權(quán)利要求
1.一種ETL中數(shù)據(jù)主鍵號的生成方法,其特征在于,包括根據(jù)第一次抽取數(shù)據(jù)生成的主鍵號,設(shè)定第二次抽取數(shù)據(jù)的主鍵號的起始值; 根據(jù)所述第二次抽取數(shù)據(jù)的主鍵號的起始值和預(yù)設(shè)的增長根據(jù),進行主鍵步增生成第二次抽取數(shù)據(jù)的主鍵號。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述根據(jù)第一次抽取數(shù)據(jù)生成的主鍵號, 設(shè)定第二次抽取數(shù)據(jù)的主鍵號的起始值,具體為根據(jù)第一次抽取數(shù)據(jù)生成的最大主鍵號,設(shè)定所述第二次抽取數(shù)據(jù)的主鍵號的起始值。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述根據(jù)第一次抽取數(shù)據(jù)生成的最大主鍵號,設(shè)定所述第二次抽取數(shù)據(jù)的主鍵號的起始值,具體為將所述第一次抽取數(shù)據(jù)生成的最大主鍵號加一,設(shè)定為所述第二次抽取數(shù)據(jù)的主鍵號的起始值。
4.根據(jù)權(quán)利要求1至3中任意一項所述的方法,其特征在于,所述預(yù)設(shè)的增長根據(jù)為1。
5.根據(jù)權(quán)利要求1至3中任意一項所述的方法,其特征在于,所述第二次抽取數(shù)據(jù)的主鍵號的最大值不大于999999999。
6.一種計數(shù)器,其特征在于,包括設(shè)定模塊,用于根據(jù)第一次抽取數(shù)據(jù)生成的主鍵號,設(shè)定第二次抽取數(shù)據(jù)的主鍵號的起始值;生成模塊,用于根據(jù)所述第二次抽取數(shù)據(jù)的主鍵號的起始值和預(yù)設(shè)的增長根據(jù),進行主鍵步增生成第二次抽取數(shù)據(jù)的主鍵號。
7.根據(jù)權(quán)利要求6所述的計數(shù)器,其特征在于,所述設(shè)定模塊,具體用于根據(jù)第一次抽取數(shù)據(jù)生成的最大主鍵號,設(shè)定所述第二次抽取數(shù)據(jù)的主鍵號的起始值。
8.根據(jù)權(quán)利要求7所述的計數(shù)器,其特征在于,所述設(shè)定模塊,具體用于將所述第一次抽取數(shù)據(jù)生成的最大主鍵號加一,設(shè)定為所述第二次抽取數(shù)據(jù)的主鍵號的起始值。
9.根據(jù)權(quán)利要求6至8中任意一項所述的計數(shù)器,其特征在于,所述預(yù)設(shè)的增長根據(jù)為1。
10.根據(jù)權(quán)利要求6至8中任意一項所述的計數(shù)器,其特征在于,所述第二次抽取數(shù)據(jù)的主鍵號的最大值不大于999999999。
全文摘要
本發(fā)明實施例提供一種ETL中數(shù)據(jù)主鍵號的生成方法及計數(shù)器。該ETL中數(shù)據(jù)主鍵號的生成方法,包括根據(jù)第一次抽取數(shù)據(jù)生成的主鍵號,設(shè)定第二次抽取數(shù)據(jù)的主鍵號的起始值;根據(jù)所述第二次抽取數(shù)據(jù)的主鍵號的起始值和預(yù)設(shè)的增長根據(jù),進行主鍵步增生成第二次抽取數(shù)據(jù)的主鍵號。本發(fā)明實施例所提供的數(shù)據(jù)主鍵號的生成方法及計數(shù)器通過動態(tài)設(shè)置起始值,解決了主鍵沖突問題,實現(xiàn)了對大量數(shù)據(jù)的增量抽取方式,增強了數(shù)據(jù)抽取的性能。
文檔編號G06F17/30GK102419754SQ20101029686
公開日2012年4月18日 申請日期2010年9月27日 優(yōu)先權(quán)日2010年9月27日
發(fā)明者劉岳嘉 申請人:金蝶軟件(中國)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
宁海县| 长春市| 永济市| 嘉峪关市| 平顶山市| 大关县| 广丰县| 洞口县| 宁安市| 介休市| 时尚| 太原市| 四川省| 信丰县| 探索| 沁源县| 彩票| 稻城县| 乌苏市| 静安区| 余庆县| 吴江市| 雷山县| 喜德县| 恭城| 胶州市| 凤城市| 颍上县| 德令哈市| 丰顺县| 太原市| 阿尔山市| 安龙县| 青州市| 和顺县| 湘西| 四会市| 电白县| 绥滨县| 临朐县| 灌阳县|