專利名稱:一種數(shù)據(jù)傳輸方法
一種數(shù)據(jù)傳輸方法技術(shù)領(lǐng)域
本申請(qǐng)涉及數(shù)據(jù)集成中間件技術(shù)領(lǐng)域,特別涉及一種數(shù)據(jù)傳輸方法。
技術(shù)背景
信息是現(xiàn)代企業(yè)的重要資源,是企業(yè)運(yùn)用科學(xué)管理、決策分析的基礎(chǔ)。企業(yè)通過ET L (Extraction-Transformation-Loading,提取、轉(zhuǎn)換、加載)技術(shù)手段,把原始數(shù)據(jù)轉(zhuǎn)換為信息、知識(shí),最大化利用已存在的數(shù)據(jù)資源,形成蘊(yùn)含巨大商機(jī)的信息。
ETL工具負(fù)責(zé)將分布的、異構(gòu)數(shù)據(jù)源中的數(shù)據(jù)如關(guān)系數(shù)據(jù)、平面數(shù)據(jù)文件等抽取到臨時(shí)中間層后進(jìn)行清洗、轉(zhuǎn)換、集成,最后加載到數(shù)據(jù)倉庫或數(shù)據(jù)集市中,成為聯(lián)機(jī)分析處理、數(shù)據(jù)挖掘的基礎(chǔ)。
如圖1所示,ETL數(shù)據(jù)處理系統(tǒng)數(shù)據(jù)處理過程的數(shù)據(jù)流向通過ETL工具啟動(dòng)一個(gè) ETL數(shù)據(jù)處理任務(wù)將從源庫中分發(fā)至快照表中的數(shù)據(jù)記錄進(jìn)行抽取、轉(zhuǎn)換、加載,最終數(shù)據(jù)到達(dá)目的庫。其中,源庫中存儲(chǔ)有數(shù)據(jù)表,用于存儲(chǔ)多條數(shù)據(jù)記錄,目的庫用于存儲(chǔ)經(jīng)過抽取、轉(zhuǎn)換、加載處理的數(shù)據(jù)記錄,所述快照表中含有與曾經(jīng)寫入的數(shù)據(jù)記錄關(guān)鍵值相對(duì)應(yīng)的寫入記錄。
為提高ETL數(shù)據(jù)處理系統(tǒng)的性能,在數(shù)據(jù)處理過程中,啟動(dòng)多個(gè)ETL數(shù)據(jù)處理任務(wù)將快照表中的數(shù)據(jù)記錄進(jìn)行處理,簡單、無序的將數(shù)據(jù)進(jìn)行抽取、轉(zhuǎn)換、加載處理,但由于多個(gè)ETL數(shù)據(jù)處理任務(wù)的無序性,出現(xiàn)源庫與目的庫的數(shù)據(jù)記錄不一致情況,違背了數(shù)據(jù)同步的基本原則,也給后續(xù)目的庫的應(yīng)用帶來嚴(yán)重的影響。
因此在保證數(shù)據(jù)完整性、一致性、同步性的基礎(chǔ)上,實(shí)現(xiàn)數(shù)據(jù)并發(fā)傳輸,從而提升數(shù)據(jù)處理系統(tǒng)的性能顯得尤為重要,但現(xiàn)有技術(shù)中還未能實(shí)現(xiàn)數(shù)據(jù)的并發(fā)傳輸,提高系統(tǒng)性能。發(fā)明內(nèi)容
本申請(qǐng)所要解決的技術(shù)問題是提供一種數(shù)據(jù)傳輸方法,用以解決數(shù)據(jù)處理系統(tǒng)在數(shù)據(jù)傳輸過程中,在保證數(shù)據(jù)完整性、一致性、同步性的基礎(chǔ)上,實(shí)現(xiàn)數(shù)據(jù)并發(fā)傳輸?shù)募夹g(shù)問題。
本發(fā)明提供了一種數(shù)據(jù)傳輸方法,所述方法應(yīng)用于數(shù)據(jù)處理系統(tǒng),所述數(shù)據(jù)處理系統(tǒng)中設(shè)置有快照表集合,所述快照表集合包括至少兩個(gè)按次序排列的快照表,所述方法包括
判斷在所述快照表集合的快照表中是否含有與源庫數(shù)據(jù)表中的當(dāng)前準(zhǔn)備寫入快照表的數(shù)據(jù)記錄關(guān)鍵值相對(duì)應(yīng)的寫入記錄,如果是,將所述當(dāng)前準(zhǔn)備寫入快照表的數(shù)據(jù)記錄寫入所述含有與所述當(dāng)前準(zhǔn)備寫入快照表的數(shù)據(jù)記錄關(guān)鍵值相對(duì)應(yīng)的寫入記錄的快照表中,否則,將所述當(dāng)前準(zhǔn)備寫入快照表的數(shù)據(jù)記錄按輪詢方式寫入所述快照表集合的快照表中;
當(dāng)所述源庫數(shù)據(jù)表中的數(shù)據(jù)記錄全部寫入所述快照表集合的快照表中后,啟動(dòng)與所述快照表集合中寫入所述源庫數(shù)據(jù)表中的數(shù)據(jù)記錄的快照表相同數(shù)量的數(shù)據(jù)處理任務(wù)分別對(duì)所述快照表中的數(shù)據(jù)記錄同時(shí)進(jìn)行數(shù)據(jù)抽取、轉(zhuǎn)換、加載處理;
將所述經(jīng)過處理的數(shù)據(jù)記錄放入目的庫。
上述方法,優(yōu)選地,所述將所述數(shù)據(jù)記錄按照輪詢方式寫入所述快照表集合的快照表中包括
查找上一次被寫入記錄數(shù)據(jù)記錄的且在寫入數(shù)據(jù)記錄前沒有與所述寫入的數(shù)據(jù)記錄相對(duì)應(yīng)的寫入記錄的快照表,并判斷所述快照表在所述快照表集合中的位置;
當(dāng)所述快照表位置為所述快照表集合中的最后一個(gè)快照表時(shí),將所述當(dāng)前準(zhǔn)備寫入的數(shù)據(jù)記錄寫入所述快照表集合中的第一個(gè)快照表中,否則,將所述當(dāng)前準(zhǔn)備寫入的數(shù)據(jù)記錄寫入所述快照表集合中的所述快照表位置的下一個(gè)快照表中。
上述方法,優(yōu)選地,所述源庫數(shù)據(jù)表中的數(shù)據(jù)記錄包括數(shù)據(jù)記錄的增量數(shù)據(jù)記錄。
上述方法,優(yōu)選地,所述啟動(dòng)與所述快照表集合中寫入所述源庫數(shù)據(jù)表中的數(shù)據(jù)記錄的快照表相同數(shù)量的數(shù)據(jù)處理任務(wù)分別對(duì)所述快照表中的數(shù)據(jù)記錄同時(shí)進(jìn)行數(shù)據(jù)抽取、轉(zhuǎn)換、加載處理包括
啟動(dòng)與所述快照表集合中寫入所述源庫數(shù)據(jù)表中的數(shù)據(jù)記錄的的快照表相同數(shù)量的數(shù)據(jù)處理任務(wù)分別讀取所述快照表集合的快照表中的數(shù)據(jù)記錄,再對(duì)所述讀取的數(shù)據(jù)記錄同時(shí)進(jìn)行數(shù)據(jù)抽取、轉(zhuǎn)換、加載處理。
上述方法,優(yōu)選地,所述方法還包括
將由所述數(shù)據(jù)處理任務(wù)處理過的數(shù)據(jù)記錄的數(shù)據(jù)處理結(jié)果進(jìn)行存儲(chǔ)。
上述方法,優(yōu)選地,所述方法還包括
依據(jù)所述數(shù)據(jù)記錄的關(guān)鍵值將由所述數(shù)據(jù)處理任務(wù)處理數(shù)據(jù)記錄的處理結(jié)果寫入與所述數(shù)據(jù)記錄的關(guān)鍵值相對(duì)應(yīng)的快照表中。
綜上可知,本發(fā)明提供的一種數(shù)據(jù)傳輸方法,通過對(duì)含有同一數(shù)據(jù)記錄關(guān)鍵值的數(shù)據(jù)記錄放入同一快照表中,再通過啟動(dòng)多個(gè)數(shù)據(jù)處理任務(wù)實(shí)現(xiàn)數(shù)據(jù)的并發(fā)傳輸,在保證數(shù)據(jù)正確性、一致性、同步性的基礎(chǔ)上,大幅提高傳輸速率,從而提高了數(shù)據(jù)處理系統(tǒng)的性能。
當(dāng)然,實(shí)施本申請(qǐng)的任一產(chǎn)品并不一定需要同時(shí)達(dá)到以上所述的所有優(yōu)點(diǎn)。
為了更清楚地說明本申請(qǐng)實(shí)施例中的技術(shù)方案,下面將對(duì)實(shí)施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本申請(qǐng)的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為現(xiàn)有技術(shù)中ETL數(shù)據(jù)處理系統(tǒng)數(shù)據(jù)處理的數(shù)據(jù)流向圖2為本發(fā)明提供的一種數(shù)據(jù)傳輸方法實(shí)施例一的方法流程圖3為本發(fā)明提供的一種數(shù)據(jù)傳輸方法實(shí)施例二的方法流程圖4為本發(fā)明提供的一種數(shù)據(jù)傳輸方法實(shí)施例三的方法流程圖。
具體實(shí)施方式
下面將結(jié)合本申請(qǐng)實(shí)施例中的附圖,對(duì)本申請(qǐng)實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本申請(qǐng)一部分實(shí)施例,而不是全部的實(shí)施例。基于本申請(qǐng)中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本申請(qǐng)保護(hù)的范圍。
實(shí)施例一
參考圖2所示為本發(fā)明提供的一種數(shù)據(jù)傳輸方法實(shí)施例一的方法流程圖,所述方法應(yīng)用于數(shù)據(jù)處理系統(tǒng),所述數(shù)據(jù)處理系統(tǒng)中設(shè)置有快照表集合,所述快照表集合包括至少兩個(gè)按次序排列的快照表,所述方法包括
步驟201 判斷在所述快照表集合的快照表中是否含有與源庫數(shù)據(jù)表中的當(dāng)前準(zhǔn)備寫入快照表的數(shù)據(jù)記錄關(guān)鍵值相對(duì)應(yīng)的寫入記錄,如果是,將所述當(dāng)前準(zhǔn)備寫入快照表的數(shù)據(jù)記錄寫入所述含有與所述當(dāng)前準(zhǔn)備寫入快照表的數(shù)據(jù)記錄關(guān)鍵值相對(duì)應(yīng)的寫入記錄的快照表中,否則,將所述當(dāng)前準(zhǔn)備寫入快照表的數(shù)據(jù)記錄按輪詢方式寫入所述快照表集合的快照表中。
步驟202 當(dāng)所述源庫數(shù)據(jù)表中的數(shù)據(jù)記錄全部寫入所述快照表集合的快照表中后,啟動(dòng)與所述快照表集合中寫入所述源庫數(shù)據(jù)表中的數(shù)據(jù)記錄的快照表相同數(shù)量的數(shù)據(jù)處理任務(wù)分別對(duì)所述快照表中的數(shù)據(jù)記錄同時(shí)進(jìn)行數(shù)據(jù)抽取、轉(zhuǎn)換、加載處理;
步驟203 將所述經(jīng)過處理的數(shù)據(jù)記錄放入目的庫。
通過上述實(shí)施例方法,通過對(duì)含有同一數(shù)據(jù)記錄關(guān)鍵值的數(shù)據(jù)記錄放入同一快照表中,再啟動(dòng)多個(gè)數(shù)據(jù)處理任務(wù)對(duì)所有快照表同時(shí)進(jìn)行數(shù)據(jù)抽取、轉(zhuǎn)換、加載處理,由此在保證了數(shù)據(jù)正確性、一致性、同步性的基礎(chǔ)上,實(shí)現(xiàn)數(shù)據(jù)的并發(fā)傳輸,大幅提高傳輸速率,從而提高了數(shù)據(jù)處理系統(tǒng)的性能。
實(shí)施例二
參考圖3所示為本發(fā)明提供的一種數(shù)據(jù)傳輸方法實(shí)施例二的方法流程圖,所述方法應(yīng)用于數(shù)據(jù)處理系統(tǒng),所述數(shù)據(jù)處理系統(tǒng)中設(shè)置有快照表集合,所述快照表集合包括至少兩個(gè)按次序排列的快照表,所述方法包括
步驟301 判斷在所述快照表集合的快照表中是否含有與源庫數(shù)據(jù)表中的當(dāng)前準(zhǔn)備寫入快照表的數(shù)據(jù)記錄關(guān)鍵值相對(duì)應(yīng)的寫入記錄;如果是,進(jìn)入步驟302,如果否,進(jìn)入步驟303。
步驟302 將所述當(dāng)前準(zhǔn)備寫入快照表的數(shù)據(jù)記錄寫入所述含有與所述當(dāng)前準(zhǔn)備寫入快照表的數(shù)據(jù)記錄關(guān)鍵值相對(duì)應(yīng)的寫入記錄的快照表中。
步驟303 將所述當(dāng)前準(zhǔn)備寫入快照表的數(shù)據(jù)記錄按輪詢方式寫入所述快照表集合的快照表中。
其中,所述輪詢方式在數(shù)據(jù)通信領(lǐng)域?yàn)橐环N分配機(jī)制,例如假設(shè)現(xiàn)有多條數(shù)據(jù)記錄準(zhǔn)備寫入10個(gè)有序排列的快照表中,按照輪詢方式將所述數(shù)據(jù)記錄寫入所述快照表中過程如下
將所述第一條數(shù)據(jù)記錄寫入所述第一個(gè)快照表中,將所述第二條數(shù)據(jù)記錄寫入所述第二個(gè)快照表中,依次寫入,直到將所述第十條數(shù)據(jù)記錄寫入所述第十個(gè)快照表中,然后將第十一條數(shù)據(jù)記錄寫入第一個(gè)快照表中,將所述第十二條數(shù)據(jù)記錄寫入第二個(gè)快照表中,依據(jù)該寫入規(guī)則將所述多條數(shù)據(jù)記錄全部寫入所述快照表中,上述即為將所述數(shù)據(jù)記錄按照輪詢方式寫入所述快照表中。
在本發(fā)明中,步驟303包括
查找上一次被寫入記錄數(shù)據(jù)記錄的且在寫入數(shù)據(jù)記錄前沒有與所述寫入的數(shù)據(jù)記錄相對(duì)應(yīng)的寫入記錄的快照表,并判斷所述快照表在所述快照表集合中的位置;
當(dāng)所述快照表位置為所述快照表集合中的最后一個(gè)快照表時(shí),將所述當(dāng)前準(zhǔn)備寫入的數(shù)據(jù)記錄寫入所述快照表集合中的第一個(gè)快照表中,否則,將所述當(dāng)前準(zhǔn)備寫入的數(shù)據(jù)記錄寫入所述快照表集合中的所述快照表位置的下一個(gè)快照表中。
步驟304 當(dāng)所述源庫數(shù)據(jù)表中的數(shù)據(jù)記錄全部寫入所述快照表集合的快照表中后,啟動(dòng)與所述快照表集合中寫入所述源庫數(shù)據(jù)表中的數(shù)據(jù)記錄的快照表相同數(shù)量的數(shù)據(jù)處理任務(wù)分別對(duì)所述快照表中的數(shù)據(jù)記錄同時(shí)進(jìn)行數(shù)據(jù)抽取、轉(zhuǎn)換、加載處理。
其中,步驟304中啟動(dòng)與所述快照表集合中寫入所述源庫數(shù)據(jù)表中的數(shù)據(jù)記錄的快照表相同數(shù)量的數(shù)據(jù)處理任務(wù)分別對(duì)所述快照表中的數(shù)據(jù)記錄同時(shí)進(jìn)行數(shù)據(jù)抽取、轉(zhuǎn)換、加載處理包括
啟動(dòng)與所述快照表集合中寫入所述源庫數(shù)據(jù)表中的數(shù)據(jù)記錄的的快照表相同數(shù)量的數(shù)據(jù)處理任務(wù)分別讀取所述快照表集合的快照表中的數(shù)據(jù)記錄,再對(duì)所述讀取的數(shù)據(jù)記錄同時(shí)進(jìn)行數(shù)據(jù)抽取、轉(zhuǎn)換、加載處理。
其中,讀取所述快照表集合的快照表中的數(shù)據(jù)記錄后,還包括可以先寫入數(shù)據(jù)處理系統(tǒng)的內(nèi)存中,在對(duì)內(nèi)存中的數(shù)據(jù)記錄同時(shí)進(jìn)行數(shù)據(jù)抽取、轉(zhuǎn)換、加載處理。
步驟305 將所述經(jīng)過處理的數(shù)據(jù)記錄放入目的庫。
其中,將所述處理的數(shù)據(jù)放入目的庫后,所述方法還包括將處理數(shù)據(jù)后的處理結(jié)果進(jìn)行存儲(chǔ)至目的庫中,還可以依據(jù)所述數(shù)據(jù)記錄的關(guān)鍵值將所述處理數(shù)據(jù)后的處理結(jié)果寫入與所述被處理數(shù)據(jù)記錄關(guān)鍵值相對(duì)應(yīng)的快照表中。
通過上述實(shí)施例方法,通過對(duì)含有同一數(shù)據(jù)記錄關(guān)鍵值的數(shù)據(jù)記錄放入同一快照表中,再啟動(dòng)多個(gè)數(shù)據(jù)處理任務(wù)對(duì)所有快照表同時(shí)進(jìn)行數(shù)據(jù)抽取、轉(zhuǎn)換、加載處理,由此在保證了數(shù)據(jù)正確性、一致性、同步性的基礎(chǔ)上,實(shí)現(xiàn)數(shù)據(jù)的并發(fā)傳輸,并把傳輸處理結(jié)果進(jìn)行存儲(chǔ)或?qū)懭肱c其相對(duì)應(yīng)的快照表中,大幅提高傳輸速率的同時(shí)監(jiān)測(cè)數(shù)據(jù)處理任務(wù)的處理結(jié)果,從而提高了數(shù)據(jù)處理系統(tǒng)的性能。
實(shí)施例三
參考圖4所示為本發(fā)明提供的一種數(shù)據(jù)傳輸方法實(shí)施例三的方法流程圖,所述方法應(yīng)用于基于觸發(fā)器模式的數(shù)據(jù)處理系統(tǒng),所述基于觸發(fā)器的數(shù)據(jù)處理系統(tǒng)中設(shè)置有快照表集合,所述快照表集合包括至少兩個(gè)按次序排列的快照表,在源庫數(shù)據(jù)表中的數(shù)據(jù)記錄發(fā)生增量變化時(shí),所述方法包括
步驟401 感知所述源庫數(shù)據(jù)表中的數(shù)據(jù)記錄的增量變化,獲取發(fā)生變化的數(shù)據(jù)記錄的感知信息;
其中,由觸發(fā)器對(duì)所述源庫數(shù)據(jù)表中的數(shù)據(jù)記錄的增量變化信息進(jìn)行感知,并獲取發(fā)生變化的數(shù)據(jù)記錄的感知信息,即由觸發(fā)器將多條數(shù)據(jù)記錄的增量變化信息進(jìn)行獲取。
步驟402 判斷在所述快照表集合的快照表中是否含有與所述當(dāng)前準(zhǔn)備寫入快照表的感知信息關(guān)鍵值相對(duì)應(yīng)的寫入記錄,如果是,進(jìn)入步驟403,如果否,進(jìn)入步驟404。
步驟403 將所述當(dāng)前準(zhǔn)備寫入快照表的感知信息寫入所述含有與所述當(dāng)前準(zhǔn)備寫入的感知信息相對(duì)應(yīng)的寫入記錄的快照表中。
步驟404 將所述當(dāng)前準(zhǔn)備寫入快照表的感知信息按照輪詢方式寫入所述快照表集合的快照表中。
其中,當(dāng)觸發(fā)器獲取所述感知信息后準(zhǔn)備將所述感知信息寫入所述快照表集合的快照表時(shí),需要保證對(duì)同一數(shù)據(jù)記錄的感知信息的操作在同一快照表中完成,由此,觸發(fā)器在將所述感知信息寫入快照表前,判斷所述快照表集合的快照表中是否被寫入過與所述當(dāng)前準(zhǔn)備寫入的感知信息關(guān)鍵值相對(duì)應(yīng)的數(shù)據(jù)記錄,如果是,將所述當(dāng)前感知信息寫入所述與其對(duì)應(yīng)的快照表中,如果否,將所述當(dāng)前感知信息按照輪詢方式寫入所述快照表集合的快照表中。
其中,所述輪詢方式在數(shù)據(jù)通信領(lǐng)域?yàn)橐环N分配機(jī)制,例如假設(shè)現(xiàn)有多條數(shù)據(jù)記錄準(zhǔn)備寫入10個(gè)有序排列的快照表中,按照輪詢方式將所述數(shù)據(jù)記錄寫入所述快照表中過程如下
將所述第一條數(shù)據(jù)記錄寫入所述第一個(gè)快照表中,將所述第二條數(shù)據(jù)記錄寫入所述第二個(gè)快照表中,依次寫入,直到將所述第十條數(shù)據(jù)記錄寫入所述第十個(gè)快照表中,然后將第十一條數(shù)據(jù)記錄寫入第一個(gè)快照表中,將所述第十二條數(shù)據(jù)記錄寫入第二個(gè)快照表中,依據(jù)該寫入規(guī)則將所述多條數(shù)據(jù)記錄全部寫入所述快照表中,上述即為將所述數(shù)據(jù)記錄按照輪詢方式寫入所述快照表中。
在本發(fā)明中,步驟404中的將所述當(dāng)前準(zhǔn)備寫入快照表的感知信息按照輪詢方式寫入所述快照表集合的快照表中的過程具體包括
查找上一次被寫入記感知信息的且在寫入感知信息前沒有與所述寫入的感知信息相對(duì)應(yīng)的寫入記錄的快照表,并判斷所述快照表在所述快照表集合中的位置;
當(dāng)所述快照表位置為所述快照表集合中的最后一個(gè)快照表時(shí),將所述當(dāng)前準(zhǔn)備寫入的感知信息寫入所述快照表集合中的第一個(gè)快照表中,否則,將所述當(dāng)前準(zhǔn)備寫入的感知信息寫入所述快照表集合中的所述快照表位置的下一個(gè)快照表中。
步驟405 當(dāng)所述感知信息全部寫入所述快照表集合的快照表中后,啟動(dòng)與所述快照表集合中寫入所述感知信息的快照表相同數(shù)量的數(shù)據(jù)處理任務(wù)分別對(duì)所述快照表中的感知信息同時(shí)進(jìn)行數(shù)據(jù)抽取、轉(zhuǎn)換、加載處理。
其中,步驟405中啟動(dòng)與所述快照表集合中寫入所述感知信息的快照表相同數(shù)量的數(shù)據(jù)處理任務(wù)分別對(duì)所述快照表中的感知信息同時(shí)進(jìn)行數(shù)據(jù)抽取、轉(zhuǎn)換、加載處理包括
啟動(dòng)與所述快照表集合中寫入所述感知信息的快照表相同數(shù)量的數(shù)據(jù)處理任務(wù)分別讀取所述快照表集合的快照表中的感知信息,再對(duì)所述讀取的感知信息同時(shí)進(jìn)行數(shù)據(jù)抽取、轉(zhuǎn)換、加載處理。
其中,讀取所述快照表集合的快照表中的感知信息后,還包括可以先寫入數(shù)據(jù)處理系統(tǒng)的內(nèi)存中,在對(duì)內(nèi)存中的感知信息同時(shí)進(jìn)行數(shù)據(jù)抽取、轉(zhuǎn)換、加載處理。
步驟406 將所述經(jīng)過處理的數(shù)據(jù)記錄放入目的庫。
其中,將所述處理的數(shù)據(jù)放入目的庫后,所述方法還包括將處理數(shù)據(jù)后的處理結(jié)果進(jìn)行存儲(chǔ)至目的庫中,還可以依據(jù)所述感知信息的關(guān)鍵值將所述處理數(shù)據(jù)后的處理結(jié)果寫入與所述被處理感知信息關(guān)鍵值相對(duì)應(yīng)的快照表中。
通過上述實(shí)施例方法,通過對(duì)含有同一數(shù)據(jù)記錄關(guān)鍵值的感知信息放入同一快照表中,再啟動(dòng)多個(gè)數(shù)據(jù)處理任務(wù)對(duì)所有快照表同時(shí)進(jìn)行數(shù)據(jù)抽取、轉(zhuǎn)換、加載處理,由此在保證了數(shù)據(jù)正確性、一致性、同步性的基礎(chǔ)上,實(shí)現(xiàn)增量數(shù)據(jù)的并發(fā)傳輸,并把傳輸處理結(jié)果進(jìn)行存儲(chǔ)或?qū)懭肱c其相對(duì)應(yīng)的快照表中,大幅提高傳輸速率的同時(shí)監(jiān)測(cè)數(shù)據(jù)處理任務(wù)的處理結(jié)果,同時(shí)對(duì)現(xiàn)有的ETL工具的影響較小,在其工作過程中,只需將其初始化觸發(fā)器及快照表的開關(guān)關(guān)閉,使用ETL工具對(duì)數(shù)據(jù)處理的過程即可,本發(fā)明方法實(shí)施例使得數(shù)據(jù)處理系統(tǒng)有良好的擴(kuò)展性,可以隨著其設(shè)置的快照表及數(shù)據(jù)處理任務(wù)的增加而加快數(shù)據(jù)處理系統(tǒng)的傳輸速率,從而提高了數(shù)據(jù)處理系統(tǒng)的性能。
與此同時(shí),本發(fā)明實(shí)施例由于觸發(fā)器的腳本設(shè)計(jì)合理,使觸發(fā)器對(duì)源庫數(shù)據(jù)表的操作影響沒有較大增加,從而對(duì)數(shù)據(jù)庫系統(tǒng)的影響較小。
以上對(duì)本申請(qǐng)所提供的一種數(shù)據(jù)傳輸方法進(jìn)行了詳細(xì)介紹,本文中應(yīng)用了具體個(gè)例對(duì)本申請(qǐng)的原理及實(shí)施方式進(jìn)行了闡述,以上實(shí)施例的說明只是用于幫助理解本申請(qǐng)的方法及其核心思想;同時(shí),對(duì)于本領(lǐng)域的一般技術(shù)人員,依據(jù)本申請(qǐng)的思想,在具體實(shí)施方式
及應(yīng)用范圍上均會(huì)有改變之處,綜上所述,本說明書內(nèi)容不應(yīng)理解為對(duì)本申請(qǐng)的限制。
權(quán)利要求
1.一種數(shù)據(jù)傳輸方法,其特征在于,所述方法應(yīng)用于數(shù)據(jù)處理系統(tǒng),所述數(shù)據(jù)處理系統(tǒng)中設(shè)置有快照表集合,所述快照表集合包括至少兩個(gè)按次序排列的快照表,所述方法包括判斷在所述快照表集合的快照表中是否含有與源庫數(shù)據(jù)表中的當(dāng)前準(zhǔn)備寫入快照表的數(shù)據(jù)記錄關(guān)鍵值相對(duì)應(yīng)的寫入記錄,如果是,將所述當(dāng)前準(zhǔn)備寫入快照表的數(shù)據(jù)記錄寫入所述含有與所述當(dāng)前準(zhǔn)備寫入快照表的數(shù)據(jù)記錄關(guān)鍵值相對(duì)應(yīng)的寫入記錄的快照表中, 否則,將所述當(dāng)前準(zhǔn)備寫入快照表的數(shù)據(jù)記錄按輪詢方式寫入所述快照表集合的快照表中;當(dāng)所述源庫數(shù)據(jù)表中的數(shù)據(jù)記錄全部寫入所述快照表集合的快照表中后,啟動(dòng)與所述快照表集合中寫入所述源庫數(shù)據(jù)表中的數(shù)據(jù)記錄的快照表相同數(shù)量的數(shù)據(jù)處理任務(wù)分別對(duì)所述快照表中的數(shù)據(jù)記錄同時(shí)進(jìn)行數(shù)據(jù)抽取、轉(zhuǎn)換、加載處理;將所述經(jīng)過處理的數(shù)據(jù)記錄放入目的庫。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述將所述數(shù)據(jù)記錄按照輪詢方式寫入所述快照表集合的快照表中包括查找上一次被寫入記錄數(shù)據(jù)記錄的且在寫入數(shù)據(jù)記錄前沒有與所述寫入的數(shù)據(jù)記錄相對(duì)應(yīng)的寫入記錄的快照表,并判斷所述快照表在所述快照表集合中的位置;當(dāng)所述快照表位置為所述快照表集合中的最后一個(gè)快照表時(shí),將所述當(dāng)前準(zhǔn)備寫入的數(shù)據(jù)記錄寫入所述快照表集合中的第一個(gè)快照表中,否則,將所述當(dāng)前準(zhǔn)備寫入的數(shù)據(jù)記錄寫入所述快照表集合中的所述快照表位置的下一個(gè)快照表中。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述源庫數(shù)據(jù)表中的數(shù)據(jù)記錄包括數(shù)據(jù)記錄的增量數(shù)據(jù)記錄。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述啟動(dòng)與所述快照表集合中寫入所述源庫數(shù)據(jù)表中的數(shù)據(jù)記錄的快照表相同數(shù)量的數(shù)據(jù)處理任務(wù)分別對(duì)所述快照表中的數(shù)據(jù)記錄同時(shí)進(jìn)行數(shù)據(jù)抽取、轉(zhuǎn)換、加載處理包括啟動(dòng)與所述快照表集合中寫入所述源庫數(shù)據(jù)表中的數(shù)據(jù)記錄的的快照表相同數(shù)量的數(shù)據(jù)處理任務(wù)分別讀取所述快照表集合的快照表中的數(shù)據(jù)記錄,再對(duì)所述讀取的數(shù)據(jù)記錄同時(shí)進(jìn)行數(shù)據(jù)抽取、轉(zhuǎn)換、加載處理。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述方法還包括將由所述數(shù)據(jù)處理任務(wù)處理過的數(shù)據(jù)記錄的數(shù)據(jù)處理結(jié)果進(jìn)行存儲(chǔ)。
6.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括依據(jù)所述數(shù)據(jù)記錄的關(guān)鍵值將由所述數(shù)據(jù)處理任務(wù)處理數(shù)據(jù)記錄的處理結(jié)果寫入與所述數(shù)據(jù)記錄的關(guān)鍵值相對(duì)應(yīng)的快照表中。
全文摘要
本申請(qǐng)?zhí)峁┝艘环N數(shù)據(jù)傳輸方法,所述方法應(yīng)用于數(shù)據(jù)處理系統(tǒng),所述數(shù)據(jù)處理系統(tǒng)中設(shè)置有快照表集合,所述快照表集合包括至少兩個(gè)按次序排列的快照表,所述方法包括判斷在所述快照表中是否含有與當(dāng)前準(zhǔn)備寫入快照表的數(shù)據(jù)記錄關(guān)鍵值相對(duì)應(yīng)的寫入記錄,如果是,將所述當(dāng)前數(shù)據(jù)記錄寫入含有其寫入記錄的所述快照表中,否則,將所述當(dāng)前準(zhǔn)備寫入快照表的數(shù)據(jù)記錄按輪詢方式寫入所述快照表集合的快照表中;當(dāng)所述源庫數(shù)據(jù)表中的數(shù)據(jù)記錄全部寫入所述快照表中后,啟動(dòng)與所述快照表集合中被寫入數(shù)據(jù)記錄的快照表相同數(shù)量的數(shù)據(jù)處理任務(wù)分別對(duì)所述快照表中的數(shù)據(jù)記錄同時(shí)進(jìn)行數(shù)據(jù)抽取、轉(zhuǎn)換、加載處理;將所述經(jīng)過處理的數(shù)據(jù)記錄放入目的庫。
文檔編號(hào)G06F17/30GK102521397SQ20111043878
公開日2012年6月27日 申請(qǐng)日期2011年12月23日 優(yōu)先權(quán)日2011年12月23日
發(fā)明者劉春 , 皮開元, 閆鵬, 馬亮 申請(qǐng)人:山東中創(chuàng)軟件商用中間件股份有限公司, 山東中創(chuàng)軟件工程股份有限公司