一種完成異構(gòu)數(shù)據(jù)庫歸集的方法
【專利摘要】本發(fā)明公開了一種完成異構(gòu)數(shù)據(jù)庫歸集的方法,所述方法包括:步驟1,啟動JAVA中間件程序,使用JAVA中間件程序根據(jù)配置文件初始化數(shù)據(jù)庫連接池;步驟2,調(diào)用JDBC接口通過所述數(shù)據(jù)庫連接池連接多個源數(shù)據(jù)庫;步驟3,判斷是否已通過JAVA多線程連接目標(biāo)數(shù)據(jù)庫,如果是,執(zhí)行下一步,否則啟動JAVA多線程;步驟4,判斷所述源數(shù)據(jù)庫的日志文件中數(shù)據(jù)表和/或字段的內(nèi)容是否有更新,如果有,以JAVA多線程的方式將所述數(shù)據(jù)表和/或所述字段的內(nèi)容寫入至所述目標(biāo)數(shù)據(jù)庫。本發(fā)明提高了貿(mào)易企業(yè)運(yùn)營中不同部門的大量數(shù)據(jù)的有效管理,同時有效提高數(shù)據(jù)庫的連接效率,為數(shù)據(jù)挖掘提供良好易用的數(shù)據(jù)基礎(chǔ)。
【專利說明】一種完成異構(gòu)數(shù)據(jù)庫歸集的方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及數(shù)據(jù)庫信息處理技術(shù),尤其涉及一種完成異構(gòu)數(shù)據(jù)庫歸集的方法。
【背景技術(shù)】
[0002]針對貿(mào)易企業(yè)生產(chǎn)要求的復(fù)雜性和特殊性,需使用到供應(yīng)鏈管理(311卯17 0118111?。?!冊#61116社,簡稱300、財務(wù)、預(yù)算、電子人力資源等多套信息信息系統(tǒng)以及信息數(shù)據(jù)庫。目前上述各系統(tǒng)的數(shù)據(jù)庫的版本和類型均不一致,數(shù)據(jù)庫類型包括133亂、鮮3亂、0狀0^2等類型。各數(shù)據(jù)庫產(chǎn)生的日志都需要被記錄,隨著時間的推移,數(shù)量越來越大,大量不同類型的日志文件需要進(jìn)行處理,從而產(chǎn)生很多讀寫操作,對系統(tǒng)整體性能造成影響。
【發(fā)明內(nèi)容】
[0003]本發(fā)明旨在解決上面描述的問題,本發(fā)明提供了一種完成異構(gòu)數(shù)據(jù)庫歸集的方法,解決貿(mào)易企業(yè)中不同類型及不同版本的數(shù)據(jù)庫的日志數(shù)據(jù)難于管理的問題。
[0004]本發(fā)明提供了一種完成異構(gòu)數(shù)據(jù)庫歸集的方法,所述方法包括:
[0005]步驟1,啟動中間件程序,使用中間件程序根據(jù)配置文件初始化數(shù)據(jù)庫連接池,所述配置文件至少包含以下配置項:源數(shù)據(jù)庫地址、目標(biāo)數(shù)據(jù)庫地址、數(shù)據(jù)庫實(shí)例、帳號、密碼、數(shù)據(jù)表、字段;
[0006]步驟2,調(diào)用108(:接口通過所述數(shù)據(jù)庫連接池連接多個源數(shù)據(jù)庫;
[0007]步驟3,判斷是否已通過扉多線程連接目標(biāo)數(shù)據(jù)庫,如果是,執(zhí)行下一步,否則啟動扉多線程;
[0008]步驟4,判斷所述源數(shù)據(jù)庫的日志文件中數(shù)據(jù)表和/或字段的內(nèi)容是否有更新,如果有,以扉多線程的方式將所述數(shù)據(jù)表和/或所述字段的內(nèi)容寫入至所述目標(biāo)數(shù)據(jù)庫。
[0009]其中,所述步驟1中還包括:確定各個源數(shù)據(jù)庫中需監(jiān)測的數(shù)據(jù)表和/或字段;所述步驟3中以從多線程的方式判斷所述源數(shù)據(jù)庫的日志文件中數(shù)據(jù)表和丨或字段的內(nèi)容是否有更新具體是指:以扉多線程的方式判斷所述源數(shù)據(jù)庫的日志文件中需監(jiān)測的數(shù)據(jù)表和/或字段的內(nèi)容是否有更新。
[0010]其中,所述步驟3中還包括根據(jù)所述源數(shù)據(jù)庫的類型和版本以及所述目標(biāo)數(shù)據(jù)庫的類型和版本生成3嘰語句。
[0011]其中,以先入先出的方式維護(hù)所述從乂八多線程的隊列。
[0012]其中,所述步驟3中還包括所述目標(biāo)數(shù)據(jù)庫將接收到的所述數(shù)據(jù)表和/或所述字段的內(nèi)容寫入日志文件。
[0013]本發(fā)明通過批量的、異步的方式實(shí)現(xiàn)了不同類型及不同版本的數(shù)據(jù)庫的日志數(shù)據(jù)的管理,提高了貿(mào)易企業(yè)運(yùn)營中不同部門的大量數(shù)據(jù)的有效管理,同時有效提高數(shù)據(jù)庫的連接效率,為數(shù)據(jù)挖掘提供良好易用的數(shù)據(jù)基礎(chǔ)。
【專利附圖】
【附圖說明】
[0014]并入到說明書中并且構(gòu)成說明書的一部分的附圖示出了本發(fā)明的實(shí)施例,并且與描述一起用于解釋本發(fā)明的原理。在這些附圖中,類似的附圖標(biāo)記用于表示類似的要素。下面描述中的附圖是本發(fā)明的一些實(shí)施例,而不是全部實(shí)施例。對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,可以根據(jù)這些附圖獲得其他的附圖。
[0015]圖1是本發(fā)明中完成異構(gòu)數(shù)據(jù)庫歸集的方法的流程圖。
具體實(shí)施例
[0016]為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。需要說明的是,在不沖突的情況下,本申請中的實(shí)施例及實(shí)施例中的特征可以相互任意組合。
[0017]數(shù)據(jù)庫連接是一種關(guān)鍵的有限的昂貴的資源,對數(shù)據(jù)庫連接的管理能顯著影響到整個應(yīng)用程序的伸縮性和健壯性。本發(fā)明中采用了數(shù)據(jù)庫連接池,數(shù)據(jù)庫連接池負(fù)責(zé)分配、管理和釋放數(shù)據(jù)庫連接,允許應(yīng)用程序重復(fù)使用一個現(xiàn)有的數(shù)據(jù)庫連接,而再不是重新建立一個;釋放空閑時間超過最大空閑時間的數(shù)據(jù)庫連接來避免因為沒有釋放數(shù)據(jù)庫連接而引起的數(shù)據(jù)庫連接遺漏。
[0018]圖1是本發(fā)明中完成異構(gòu)數(shù)據(jù)庫歸集的方法的流程圖。如圖1所示,完成異構(gòu)數(shù)據(jù)庫歸集的方法包括:
[0019]步驟1,啟動中間件程序,使用中間件程序根據(jù)配置文件初始化數(shù)據(jù)庫連接池,配置文件至少包含以下配置項:源數(shù)據(jù)庫地址、目標(biāo)數(shù)據(jù)庫地址、數(shù)據(jù)庫實(shí)例、帳號、密碼、數(shù)據(jù)表、字段。
[0020]步驟2,調(diào)用了―八數(shù)據(jù)庫連接(]跳0社£1 0886 00111160^1^1^7, 1080接口通過數(shù)據(jù)庫連接池連接多個源數(shù)據(jù)庫。
[0021]步驟3,判斷是否已通過扉多線程連接目標(biāo)數(shù)據(jù)庫,如果是,執(zhí)行下一步,否則啟動興多線程。
[0022]步驟4,判斷源數(shù)據(jù)庫的日志文件中數(shù)據(jù)表和/或字段的內(nèi)容是否有更新,如果有,以扉多線程的方式將上述數(shù)據(jù)表和/或所述字段的內(nèi)容寫入至目標(biāo)數(shù)據(jù)庫。
[0023]本方法中采用的了08(:接口是一種用于執(zhí)行3嘰語句的從#八?I,可以為多種關(guān)系數(shù)據(jù)庫提供統(tǒng)一訪問,它由一組用扉語言編寫的類和接口組成。
[0024]本方法中,本方法中了^八多線程中的隊列以先入先出的方式進(jìn)行維護(hù)。了^八多線程包括多個扉線程。扉線程指利用扉中與線程相關(guān)的八?I啟動的線程,包括對線程的管理,比如阻塞、喚醒、鎖機(jī)制等。
[0025]本方法中,不同的源數(shù)據(jù)庫中需監(jiān)測的數(shù)據(jù)表和/或字段均不同。本方法的步驟1中還包括:確定各個源數(shù)據(jù)庫中需監(jiān)測的數(shù)據(jù)表和/或字段。步驟3中以從V八多線程的方式判斷所述源數(shù)據(jù)庫的日志文件中數(shù)據(jù)表和/或字段的內(nèi)容是否有更新具體是指:以扉多線程的方式判斷源數(shù)據(jù)庫的日志文件中需監(jiān)測的數(shù)據(jù)表和/或字段的內(nèi)容是否有更新。
[0026]上述步驟3中還包括根據(jù)源數(shù)據(jù)庫的類型和版本以及目標(biāo)數(shù)據(jù)庫的類型和版本生成3嘰語句,并執(zhí)行此3嘰語句。
[0027]上述步驟3中還包括目標(biāo)數(shù)據(jù)庫將接收到的數(shù)據(jù)表和丨或所述字段的內(nèi)容寫入日志文件,從而為數(shù)據(jù)挖掘提供格式一致的良好易用的數(shù)據(jù)基礎(chǔ)。
[0028]本發(fā)明通過批量的、異步的方式實(shí)現(xiàn)了不同類型及不同版本的數(shù)據(jù)庫的日志數(shù)據(jù)的管理,提高了貿(mào)易企業(yè)運(yùn)營中不同部門的大量數(shù)據(jù)的有效管理,同時有效提高數(shù)據(jù)庫的連接效率,。
[0029]本扉中間件基于異步方式、批量的進(jìn)行數(shù)據(jù)比對和存儲。且此扉中間件可以提高開發(fā)效率,參數(shù)可配置化程度高。
[0030]上面描述的內(nèi)容可以單獨(dú)地或者以各種方式組合起來實(shí)施,而這些變型方式都在本發(fā)明的保護(hù)范圍之內(nèi)。
[0031]最后應(yīng)說明的是:以上實(shí)施例僅用以說明本發(fā)明的技術(shù)方案,而非對其限制。盡管參照前述實(shí)施例對本發(fā)明進(jìn)行了詳細(xì)的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對其中部分技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實(shí)施例技術(shù)方案的精神和范圍。
【權(quán)利要求】
1.一種完成異構(gòu)數(shù)據(jù)庫歸集的方法,其特征在于,所述方法包括: 步驟1,啟動JAVA中間件程序,使用JAVA中間件程序根據(jù)配置文件初始化數(shù)據(jù)庫連接池,所述配置文件至少包含以下配置項:源數(shù)據(jù)庫地址、目標(biāo)數(shù)據(jù)庫地址、數(shù)據(jù)庫實(shí)例、帳號、密碼、數(shù)據(jù)表、字段; 步驟2,調(diào)用JDBC接口通過所述數(shù)據(jù)庫連接池連接多個源數(shù)據(jù)庫; 步驟3,判斷是否已通過JAVA多線程連接目標(biāo)數(shù)據(jù)庫,如果是,執(zhí)行下一步,否則啟動JAVA多線程; 步驟4,判斷所述源數(shù)據(jù)庫的日志文件中數(shù)據(jù)表和/或字段的內(nèi)容是否有更新,如果有,以JAVA多線程的方式將所述數(shù)據(jù)表和/或所述字段的內(nèi)容寫入至所述目標(biāo)數(shù)據(jù)庫。
2.如權(quán)利要求1所述的完成異構(gòu)數(shù)據(jù)庫歸集的方法,其特征在于, 所述步驟1中還包括:確定各個源數(shù)據(jù)庫中需監(jiān)測的數(shù)據(jù)表和/或字段;所述步驟3中以JAVA多線程的方式判斷所述源數(shù)據(jù)庫的日志文件中數(shù)據(jù)表和/或字段的內(nèi)容是否有更新具體是指:以JAVA多線程的方式判斷所述源數(shù)據(jù)庫的日志文件中需監(jiān)測的數(shù)據(jù)表和/或字段的內(nèi)容是否有更新。
3.如權(quán)利要求1所述的完成異構(gòu)數(shù)據(jù)庫歸集的方法,其特征在于, 所述步驟3中還包括根據(jù)所述源數(shù)據(jù)庫的類型和版本以及所述目標(biāo)數(shù)據(jù)庫的類型和版本生成SQL語句。
4.如權(quán)利要求1所述的完成異構(gòu)數(shù)據(jù)庫歸集的方法,其特征在于, 以先入先出的方式維護(hù)所述JAVA多線程的隊列。
5.如權(quán)利要求1所述的完成異構(gòu)數(shù)據(jù)庫歸集的方法,其特征在于, 所述步驟3中還包括所述目標(biāo)數(shù)據(jù)庫將接收到的所述數(shù)據(jù)表和/或所述字段的內(nèi)容寫入日志文件。
【文檔編號】G06F17/30GK104503989SQ201410725871
【公開日】2015年4月8日 申請日期:2014年12月3日 優(yōu)先權(quán)日:2014年12月3日
【發(fā)明者】張勁松, 樸超美, 王云飛, 王新華, 師繼鋒, 許文超, 門慶平, 楊燕明, 羅振立, 李曉川, 于晶京, 彭琳, 劉軍, 郅天奇 申請人:中建材國際貿(mào)易有限公司