數(shù)據(jù)集成系統(tǒng)和數(shù)據(jù)集成方法
【專利摘要】本發(fā)明提供了一種數(shù)據(jù)集成系統(tǒng)和數(shù)據(jù)集成方法,其中,該數(shù)據(jù)集成系統(tǒng)包括:日志挖掘單元,用于通過第一線程對源數(shù)據(jù)庫進行日志挖掘,將挖掘出的數(shù)據(jù)中符合第一預(yù)設(shè)條件的數(shù)據(jù)實例成對象,把對象存儲至緩存;處理單元,用于通過第二線程輪詢緩存,以從緩存中獲取符合第二預(yù)設(shè)條件的對象進行處理得到處理數(shù)據(jù),將處理數(shù)據(jù)發(fā)送至消息隊列;寫入單元,用于通過第三線程輪詢消息隊列,并在消息隊列中存在消息時獲取消息,對消息進行處理得到目標語句,將語句寫入目標數(shù)據(jù)庫。通過本申請的技術(shù)方案,可以有效地提高數(shù)據(jù)集成的穩(wěn)定性和數(shù)據(jù)集成的效率。
【專利說明】數(shù)據(jù)集成系統(tǒng)和數(shù)據(jù)集成方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及數(shù)據(jù)處理【技術(shù)領(lǐng)域】,具體而言,涉及一種數(shù)據(jù)集成系統(tǒng)和一種數(shù)據(jù)集成方法。
【背景技術(shù)】
[0002]目前在云計算環(huán)境下BI (商業(yè)智能)戰(zhàn)略變得越來越重要,而在商業(yè)智能中實時的數(shù)據(jù)集成在其中占有很重要的部分,需要一種完成數(shù)據(jù)抽取,轉(zhuǎn)換,加載,分析等一整套數(shù)據(jù)處理流程的方法。
[0003]目前現(xiàn)有的實時數(shù)據(jù)集成的方法穩(wěn)定性能比較差,對于列存儲的數(shù)據(jù)倉庫如gbase也沒有很好的支持,并且效率也不是很高,因此有必要對現(xiàn)有的增量實時數(shù)據(jù)集成進行優(yōu)化。
【發(fā)明內(nèi)容】
[0004]本發(fā)明正是基于上述問題,提出了一種數(shù)據(jù)集成技術(shù),能夠有效地提高數(shù)據(jù)集成的穩(wěn)定性和數(shù)據(jù)集成的效率。
[0005]有鑒于此,本發(fā)明提出了 一種數(shù)據(jù)集成系統(tǒng),包括:日志挖掘單元,用于通過第一線程對源數(shù)據(jù)庫進行日志挖掘,將挖掘出的數(shù)據(jù)中符合第一預(yù)設(shè)條件的數(shù)據(jù)實例成對象,把所述對象存儲至緩存;處理單元,用于通過第二線程輪詢所述緩存,以從所述緩存中獲取符合第二預(yù)設(shè)條件的對象進行處理得到處理數(shù)據(jù),將所述處理數(shù)據(jù)發(fā)送至消息隊列;寫入單元,用于通過第三線程輪詢所述消息隊列,并在所述消息隊列中存在消息時獲取所述消息,對所述消息進行處理得到目標語句,將所述語句寫入目標數(shù)據(jù)庫。
[0006]在上述技術(shù)方案中,優(yōu)選地,還包括:持久化單元,用于對所述挖掘出的數(shù)據(jù)進行持久化。
[0007]在上述技術(shù)方案中,優(yōu)選地,還包括:記錄單元,用于通過所述第二線程記錄所述處理數(shù)據(jù)的標識。
[0008]在上述技術(shù)方案中,優(yōu)選地,所述寫入單元還用于通過所述第三線程將所述目標語句批量寫入所述目標數(shù)據(jù)庫。
[0009]在上述技術(shù)方案中,優(yōu)選地,所述第一線程、所述第二線程和所述第三線程是異步執(zhí)行的。
[0010]本申請還提出了一種數(shù)據(jù)集成方法,包括:步驟202,通過第一線程對源數(shù)據(jù)庫進行日志挖掘,將挖掘出的數(shù)據(jù)中符合第一預(yù)設(shè)條件的數(shù)據(jù)實例成對象,把所述對象存儲至緩存;步驟204,通過第二線程輪詢所述緩存,以從所述緩存中獲取符合第二預(yù)設(shè)條件的對象進行處理得到處理數(shù)據(jù),將所述處理數(shù)據(jù)發(fā)送至消息隊列;步驟206,通過第三線程輪詢所述消息隊列,并在所述消息隊列中存在消息時獲取所述消息,對所述消息進行處理得到目標語句,將所述語句寫入目標數(shù)據(jù)庫。
[0011]在上述技術(shù)方案中,優(yōu)選地,所述步驟202還包括:對所述挖掘出的數(shù)據(jù)進行持久化。
[0012]在上述技術(shù)方案中,優(yōu)選地,所述步驟204還包括:通過所述第二線程記錄所述處理數(shù)據(jù)的標識。
[0013]在上述技術(shù)方案中,優(yōu)選地,所述步驟206還包括:通過所述第三線程將所述目標語句批量寫入所述目標數(shù)據(jù)庫。
[0014]在上述技術(shù)方案中,優(yōu)選地,所述第一線程、所述第二線程和所述第三線程是異步執(zhí)行的。
[0015]通過以上技術(shù)方案,可以有效地提高數(shù)據(jù)集成的穩(wěn)定性和數(shù)據(jù)集成的效率。
【專利附圖】
【附圖說明】
[0016]圖1示出了根據(jù)本發(fā)明的實施例的數(shù)據(jù)集成系統(tǒng)的示意框圖;
[0017]圖2示出了根據(jù)本發(fā)明的實施例的數(shù)據(jù)集成方法的示意流程圖;
[0018]圖3示出了根據(jù)本發(fā)明的實施例的數(shù)據(jù)集成系統(tǒng)的結(jié)構(gòu)示意圖;
[0019]圖4示出了根據(jù)本發(fā)明的實施例的數(shù)據(jù)流向示意圖;
[0020]圖5示出了根據(jù)本發(fā)明的實施例的數(shù)據(jù)挖掘和發(fā)送至消息隊列的示意流程;
[0021]圖6示出了根據(jù)本發(fā)明的實施例的數(shù)據(jù)寫入目標數(shù)據(jù)庫的示意流程圖。
【具體實施方式】
[0022]為了能夠更清楚地理解本發(fā)明的上述目的、特征和優(yōu)點,下面結(jié)合附圖和【具體實施方式】對本發(fā)明進行進一步的詳細描述。需要說明的是,在不沖突的情況下,本申請的實施例及實施例中的特征可以相互組合。
[0023]在下面的描述中闡述了很多具體細節(jié)以便于充分理解本發(fā)明,但是,本發(fā)明還可以采用其他不同于在此描述的其他方式來實施,因此,本發(fā)明的保護范圍并不受下面公開的具體實施例的限制。
[0024]圖1示出了根據(jù)本發(fā)明的實施例的數(shù)據(jù)集成系統(tǒng)的示意框圖。
[0025]如圖1所示,根據(jù)本發(fā)明的實施例的數(shù)據(jù)集成系統(tǒng)100包括:日志挖掘單元102,用于通過第一線程對源數(shù)據(jù)庫進行日志挖掘,將挖掘出的數(shù)據(jù)中符合第一預(yù)設(shè)條件的數(shù)據(jù)實例成對象,把對象存儲至緩存;處理單元104,用于通過第二線程輪詢緩存,以從緩存中獲取符合第二預(yù)設(shè)條件的對象進行處理得到處理數(shù)據(jù),將處理數(shù)據(jù)發(fā)送至消息隊列;寫入單元106,用于通過第三線程輪詢消息隊列,并在消息隊列中存在消息時獲取消息,對消息進行處理得到目標語句,將語句寫入目標數(shù)據(jù)庫。
[0026]從源端數(shù)據(jù)庫中挖掘出數(shù)據(jù),并將數(shù)據(jù)寫入目標數(shù)據(jù)庫,需要先對源端數(shù)據(jù)庫的進行日志挖掘,然后將挖掘出的數(shù)據(jù)放入緩存隊列,再將數(shù)據(jù)發(fā)送至消息隊列,最后寫入到目標數(shù)據(jù)庫,通過為日志挖掘操作、將數(shù)據(jù)發(fā)送至消息隊列操作和寫入目標數(shù)據(jù)庫三步操作分別設(shè)置線程,可以使得上述三個操作同時進行,比如通過對源端數(shù)據(jù)庫進行日志挖掘操作得到數(shù)據(jù)A,然后將數(shù)據(jù)A放入緩存隊列,在將緩存中的數(shù)據(jù)A發(fā)送至消息的隊列時,進行日志挖掘操作的線程(即第一線程)可以繼續(xù)對源端數(shù)據(jù)進行日志挖掘,并且將數(shù)據(jù)寫入目標數(shù)據(jù)庫的線程(即第三線程)也可以在此時將在數(shù)據(jù)A之前已經(jīng)存在于消息隊列中的其他數(shù)據(jù),繼續(xù)寫入目標數(shù)據(jù)庫,而無需等待數(shù)據(jù)A寫入目標數(shù)據(jù)庫之后才能再次對遠端數(shù)據(jù)庫進行日志挖掘,也無需等待數(shù)據(jù)A寫入目標數(shù)據(jù)庫之后才將消息隊列中的其他數(shù)據(jù)寫入目標數(shù)據(jù)庫,從整體上提高了數(shù)據(jù)獲取、處理和寫入的效率,提高了實時數(shù)據(jù)集成的效率。
[0027]其中的第一預(yù)設(shè)條件和第二預(yù)設(shè)條件,可以預(yù)先設(shè)置一張數(shù)據(jù)表來規(guī)定所需的業(yè)務(wù)數(shù)據(jù),對于即將實例化的數(shù)據(jù)和即將從緩存中發(fā)送至消息隊列的數(shù)據(jù),可以判斷其是否輸入預(yù)先設(shè)置的表格中所規(guī)定的內(nèi)容,若不屬于,說明該數(shù)據(jù)并不是用戶所需,則可以直接刪除,從而減少對無用數(shù)據(jù)的處理,提高了實時數(shù)據(jù)集成的效率。
[0028]優(yōu)選地,還包括:持久化單元108,用于對挖掘出的數(shù)據(jù)進行持久化。
[0029]由于進行日志挖掘得到的內(nèi)容都存在于緩存中,如果進行日志挖掘的線程(即第一線程)中斷或停止,那么存在于緩存中的內(nèi)容將全部丟失,進而導(dǎo)致進行需要同步的操作數(shù)據(jù)丟失,通過將挖掘出的數(shù)據(jù)進行持久化處理,比如持久化到本地日志中,從而可以在進行日志挖掘的線程中斷或停止的情況下,依然能夠通過查詢本地日志來調(diào)用挖掘出的數(shù)據(jù),提高了實時數(shù)據(jù)集成的穩(wěn)定性。
[0030]優(yōu)選地,還包括:記錄單元110,用于通過第二線程記錄處理數(shù)據(jù)的標識。
[0031]若第二線程發(fā)生中斷或停止,那么挖掘出的數(shù)據(jù)會由于沒有發(fā)送到消息隊列中而丟失,通過記錄處理數(shù)據(jù)設(shè)置標識,具體可以是在每一個處理數(shù)據(jù)發(fā)送到消息隊列之前,都記錄下該數(shù)據(jù)當前的SCN號,從而避免第二線程崩潰而導(dǎo)致處理數(shù)據(jù)丟失,提高了實時數(shù)據(jù)集成的穩(wěn)定性。
[0032]優(yōu)選地,寫入單元106還用于通過第三線程將目標語句批量寫入目標數(shù)據(jù)庫。
[0033]可以在目標語句積累到一定數(shù)量后,通過批量導(dǎo)入的方式,將目標語句寫入目標數(shù)據(jù)庫,從而避免逐條寫入語句而造成的頻繁交互,提高了實時數(shù)據(jù)集成的效率。
[0034]優(yōu)選地,還包括:所述第一線程、所述第二線程和所述第三線程是異步執(zhí)行的。從而提聞每步操作的同步率,進而提聞實時數(shù)據(jù)集成的效率。
[0035]圖2示出了根據(jù)本發(fā)明的實施例的數(shù)據(jù)集成方法的示意流程圖。
[0036]如圖2所示,根據(jù)本發(fā)明的實施例的數(shù)據(jù)集成方法包括:步驟202,通過第一線程對源數(shù)據(jù)庫進行日志挖掘,將挖掘出的數(shù)據(jù)中符合第一預(yù)設(shè)條件的數(shù)據(jù)實例成對象,把對象存儲至緩存;步驟204,通過第二線程輪詢緩存,以從緩存中獲取符合第二預(yù)設(shè)條件的對象進行處理得到處理數(shù)據(jù),將處理數(shù)據(jù)發(fā)送至消息隊列;步驟206,通過第三線程輪詢消息隊列,并在消息隊列中存在消息時獲取消息,對消息進行處理得到目標語句,將語句寫入目標數(shù)據(jù)庫。
[0037]從源端數(shù)據(jù)庫中挖掘出數(shù)據(jù),并將數(shù)據(jù)寫入目標數(shù)據(jù)庫,需要先對源端數(shù)據(jù)庫的進行日志挖掘,然后將挖掘出的數(shù)據(jù)放入緩存隊列,再將數(shù)據(jù)發(fā)送至消息隊列,最后寫入到目標數(shù)據(jù)庫,通過為日志挖掘操作、將數(shù)據(jù)發(fā)送至消息隊列操作和寫入目標數(shù)據(jù)庫三步操作分別設(shè)置線程,可以使得上述三個操作同時進行,比如通過對源端數(shù)據(jù)庫進行日志挖掘操作得到數(shù)據(jù)A,然后將數(shù)據(jù)A放入緩存隊列,在將緩存中的數(shù)據(jù)A發(fā)送至消息的隊列時,進行日志挖掘操作的線程(即第一線程)可以繼續(xù)對源端數(shù)據(jù)進行日志挖掘,并且將數(shù)據(jù)寫入目標數(shù)據(jù)庫的線程(即第三線程)也可以在此時將在數(shù)據(jù)A之前已經(jīng)存在于消息隊列中的其他數(shù)據(jù),繼續(xù)寫入目標數(shù)據(jù)庫,而無需等待數(shù)據(jù)A寫入目標數(shù)據(jù)庫之后才能再次對遠端數(shù)據(jù)庫進行日志挖掘,也無需等待數(shù)據(jù)A寫入目標數(shù)據(jù)庫之后才將消息隊列中的其他數(shù)據(jù)寫入目標數(shù)據(jù)庫,從整體上提高了數(shù)據(jù)獲取、處理和寫入的效率,提高了實時數(shù)據(jù)集成的效率。
[0038]在上述技術(shù)方案中,優(yōu)選地,步驟202還包括:對挖掘出的數(shù)據(jù)進行持久化。
[0039]由于進行日志挖掘得到的內(nèi)容都存在于緩存中,如果進行日志挖掘的線程(即第一線程)中斷或停止,那么存在于緩存中的內(nèi)容將全部丟失,進而導(dǎo)致進行需要同步的操作數(shù)據(jù)丟失,通過將挖掘出的數(shù)據(jù)進行持久化處理,比如持久化到本地日志中,從而可以在進行日志挖掘的線程中斷或停止的情況下,依然能夠通過查詢本地日志來調(diào)用挖掘出的數(shù)據(jù),提高了實時數(shù)據(jù)集成的穩(wěn)定性。
[0040]在上述技術(shù)方案中,優(yōu)選地,步驟204還包括:通過第二線程記錄處理數(shù)據(jù)的標識。
[0041]若第二線程發(fā)生中斷或停止,那么挖掘出的數(shù)據(jù)會由于沒有發(fā)送到消息隊列中而丟失,通過記錄處理數(shù)據(jù)設(shè)置標識,具體可以是在每一個處理數(shù)據(jù)發(fā)送到消息隊列之前,都記錄下該數(shù)據(jù)當前的SCN號,從而避免第二線程崩潰而導(dǎo)致處理數(shù)據(jù)丟失,提高了實時數(shù)據(jù)集成的穩(wěn)定性。
[0042]在上述技術(shù)方案中,優(yōu)選地,步驟206還包括:通過第三線程將目標語句批量寫入目標數(shù)據(jù)庫。
[0043]可以在目標語句積累到一定數(shù)量后,通過批量導(dǎo)入的方式,將目標語句寫入目標數(shù)據(jù)庫,從而避免逐條寫入語句而造成的頻繁交互,提高了實時數(shù)據(jù)集成的效率。
[0044]在上述技術(shù)方案中,優(yōu)選地,所述第一線程、所述第二線程和所述第三線程是異步執(zhí)行的。從而提聞每步操作的同步率,進而提聞實時數(shù)據(jù)集成的效率。
[0045]其中的第一預(yù)設(shè)條件和第二預(yù)設(shè)條件,可以預(yù)先設(shè)置一張數(shù)據(jù)表來規(guī)定所需的業(yè)務(wù)數(shù)據(jù),對于即將實例化的數(shù)據(jù)和即將從緩存中發(fā)送至消息隊列的數(shù)據(jù),可以判斷其是否輸入預(yù)先設(shè)置的表格中所規(guī)定的內(nèi)容,若不屬于,說明該數(shù)據(jù)并不是用戶所需,則可以直接刪除,從而減少對無用數(shù)據(jù)的處理,提高了實時數(shù)據(jù)集成的效率。
[0046]圖3示出了根據(jù)本發(fā)明的實施例的數(shù)據(jù)集成系統(tǒng)的結(jié)構(gòu)示意圖。
[0047]如圖3所示,根據(jù)本申請的實施例的數(shù)據(jù)集成系統(tǒng)是基于日志分析和消息中間件技術(shù)(數(shù)據(jù)集成,簡稱RDI),內(nèi)部具有高緩存,高并發(fā)的架構(gòu)??梢酝ㄟ^具體有以下功能的軟件和/或硬件來實現(xiàn):
[0048]Source DB:用于進行源端的日志挖掘,相當于日志挖掘單元;
[0049]RDI Source Agent:從源端數(shù)據(jù)庫分析日志得到事務(wù)并發(fā)送至消息中間件,相當于處理單元;
[0050]RDI Admin Console:用來管理數(shù)據(jù)集成的實例中的任務(wù)和資源;
[0051]Message Queue (簡稱MQ):消息隊列中間件用于傳遞消息;
[0052]RDI Target Agent:從消息中間件取得事務(wù)并應(yīng)用到目的端數(shù)據(jù)庫;
[0053]Target DB:用于寫入的目標數(shù)據(jù)庫,RDI Target Agent和Target DB相當于寫入單元。
[0054]其相應(yīng)的數(shù)據(jù)流向如圖4所示,對源端數(shù)據(jù)庫402進行日志挖掘得到的數(shù)據(jù)放入緩存隊列404,然后將緩存隊列404中的數(shù)據(jù)發(fā)送至消息隊列406,最后將消息隊列406中的數(shù)據(jù)寫入目標數(shù)據(jù)庫408。[0055]圖5示出了根據(jù)本發(fā)明的實施例的數(shù)據(jù)挖掘和發(fā)送至消息隊列的示意流程。
[0056]如圖5所示,數(shù)據(jù)集成引擎啟動時會開啟一個線程(相當于第一線程)專門用于進行日志挖掘,挖掘的對象是數(shù)據(jù)庫的歸檔日志,挖掘的工具使用的是oracle自帶的1gminer,主要是根據(jù)數(shù)據(jù)庫的系統(tǒng)變更號進行挖掘。線程啟動后首先會向1gminer里傳遞一個開始系統(tǒng)變更號和一個結(jié)束系統(tǒng)變更號,1gminer會根據(jù)挖掘的范圍對歸檔日志進行挖掘(當然,如果該挖掘操作發(fā)生在系統(tǒng)崩潰后,則可以根據(jù)記錄下的SCN號進行日志挖掘),挖掘出記錄后會選擇有效的字段內(nèi)容并實例成對象,最后把實例好的對象存入系統(tǒng)緩存中等待下一步處理。在這里所有發(fā)掘出來的內(nèi)容都存在于系統(tǒng)的緩存中因此如果發(fā)掘線程突然中斷或者停止,則存在與緩存中的內(nèi)容都會丟失,帶來的問題就是進行需要同步的操作數(shù)據(jù)丟失,因此提出的改進方案就是把挖掘出來的數(shù)據(jù)持久化到本地的日志中,這樣可以方便在出錯的時候?qū)Πl(fā)掘的數(shù)據(jù)進行查詢。
[0057]數(shù)據(jù)集成引擎在啟動后會開啟另一個線程(相當于第二線程)專門用于把存在于系統(tǒng)緩存中的數(shù)據(jù)發(fā)送到消息隊列中。它與日志挖掘的線程是異步執(zhí)行的,這樣可以增加同步的效率。線程啟動后會輪詢系統(tǒng)的緩存隊列,如果發(fā)現(xiàn)有有效的實例化對象,會把該對象放入一個事務(wù)處理的對象中,直到一個事務(wù)提交完畢后,線程會把該事務(wù)對象送入配置好的過濾器進行過濾操作,沒有被過濾掉的數(shù)據(jù)會通過發(fā)送通道發(fā)送到MQ (即MessageQueue)消息隊列中,等待下一步處理。在這里提出的改進方案是在每一個消息發(fā)送到隊列時都記錄下當前的SCN號以防止在系統(tǒng)崩潰時已發(fā)掘出來的但還沒有發(fā)送到消息隊列的數(shù)據(jù)丟失。
[0058]圖6示出了根據(jù)本發(fā)明的實施例的數(shù)據(jù)寫入目標數(shù)據(jù)庫的示意流程圖。
[0059]數(shù)據(jù)集成引擎在啟動后會開啟一個線程(相當于第三線程)用于獲取MQ消息隊列中的數(shù)據(jù)并把其寫入數(shù)據(jù)庫。線程啟動后會輪詢MQ消息隊列,如果發(fā)現(xiàn)有消息,會把消息中的事務(wù)對象提取出來,然后傳入事務(wù)攔截器進行處理,最后提取出處理好的事務(wù)對象中的SQL語句并寫入目標數(shù)據(jù)庫完成數(shù)據(jù)的同步過程。但目前數(shù)據(jù)導(dǎo)入的效率比較低,是因為數(shù)據(jù)采用的是逐行導(dǎo)入的方式,改進方案是提供一個批量導(dǎo)入的方法,這樣整體同步的效率會增加,寫入效率也會提升。
[0060]以上結(jié)合附圖詳細說明了本發(fā)明的技術(shù)方案,考慮到相關(guān)技術(shù)中,數(shù)據(jù)集成的方法穩(wěn)定性能比較差,并且效率也不是很高。通過本申請的技術(shù)方案,能夠有效地提高數(shù)據(jù)集成的穩(wěn)定性和數(shù)據(jù)集成的效率。
[0061]在本發(fā)明中,術(shù)語“第一”、“第二”僅用于描述目的,而不能理解為指示或暗示相對重要性。術(shù)語“多個”指兩個或兩個以上,除非另有明確的限定。
[0062]以上所述僅為本發(fā)明的優(yōu)選實施例而已,并不用于限制本發(fā)明,對于本領(lǐng)域的技術(shù)人員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。
【權(quán)利要求】
1.一種數(shù)據(jù)集成系統(tǒng),其特征在于,包括: 日志挖掘單元,用于通過第一線程對源數(shù)據(jù)庫進行日志挖掘,將挖掘出的數(shù)據(jù)中符合第一預(yù)設(shè)條件的數(shù)據(jù)實例成對象,把所述對象存儲至緩存; 處理單元,用于通過第二線程輪詢所述緩存,以從所述緩存中獲取符合第二預(yù)設(shè)條件的對象進行處理得到處理數(shù)據(jù),將所述處理數(shù)據(jù)發(fā)送至消息隊列; 寫入單元,用于通過第三線程輪詢所述消息隊列,并在所述消息隊列中存在消息時獲取所述消息,對所述消息進行處理得到目標語句,將所述語句寫入目標數(shù)據(jù)庫。
2.根據(jù)權(quán)利要求1所述的數(shù)據(jù)集成系統(tǒng),其特征在于,還包括: 持久化單元,用于對所述挖掘出的數(shù)據(jù)進行持久化。
3.根據(jù)權(quán)利要求1所述的數(shù)據(jù)集成系統(tǒng),其特征在于,還包括: 記錄單元,用于通過所述第二線程記錄所述處理數(shù)據(jù)的標識。
4.根據(jù)權(quán)利要求1所述的數(shù)據(jù)集成系統(tǒng),其特征在于,所述寫入單元還用于通過所述第三線程將所述目標語句批量寫入所述目標數(shù)據(jù)庫。
5.根據(jù)權(quán)利要求1至4中任一項所述的數(shù)據(jù)集成系統(tǒng),其特征在于,所述第一線程、所述第二線程和所述第三線程是異步執(zhí)行的。
6.一種數(shù)據(jù)集成方法,其特征在于,包括: 步驟202,通過第一線程對源數(shù)據(jù)庫進行日志挖掘,將挖掘出的數(shù)據(jù)中符合第一預(yù)設(shè)條件的數(shù)據(jù)實例成對象,把所述對象存儲至緩存; 步驟204,通過第二線程輪詢所述緩存,以從所述緩存中獲取符合第二預(yù)設(shè)條件的對象進行處理得到處理數(shù)據(jù),將所述處理數(shù)據(jù)發(fā)送至消息隊列; 步驟206,通過第三線程輪詢所述消息隊列,并在所述消息隊列中存在消息時獲取所述消息,對所述消息進行處理得到目標語句,將所述語句寫入目標數(shù)據(jù)庫。
7.根據(jù)權(quán)利要求6所述的數(shù)據(jù)集成方法,其特征在于,所述步驟202還包括:對所述挖掘出的數(shù)據(jù)進行持久化。
8.根據(jù)權(quán)利要求6所述的數(shù)據(jù)集成方法,其特征在于,所述步驟204還包括:通過所述第二線程記錄所述處理數(shù)據(jù)的標識。
9.根據(jù)權(quán)利要求6所述的數(shù)據(jù)集成方法,其特征在于,所述步驟206還包括:通過所述第三線程將所述目標語句批量寫入所述目標數(shù)據(jù)庫。
10.根據(jù)權(quán)利要求6至9中任一項所述的數(shù)據(jù)集成方法,其特征在于,所述第一線程、所述第二線程和所述第三線程是異步執(zhí)行的。
【文檔編號】G06F17/30GK103488690SQ201310392454
【公開日】2014年1月1日 申請日期:2013年9月2日 優(yōu)先權(quán)日:2013年9月2日
【發(fā)明者】衡駿 申請人:用友軟件股份有限公司