一種基于數(shù)據(jù)庫的異構(gòu)型數(shù)據(jù)批量同步方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬信息系統(tǒng)構(gòu)建方法,尤其是一種基于數(shù)據(jù)庫的異構(gòu)型數(shù)據(jù)批量同步方法。
技術(shù)背景
[0002]隨著信息化建設(shè)程度不斷提升,各業(yè)務(wù)領(lǐng)域系統(tǒng)之間要求實(shí)現(xiàn)數(shù)據(jù)共享,消除信息孤單,以到達(dá)信息數(shù)據(jù)的最大化應(yīng)用,統(tǒng)一構(gòu)成分布式部署的綜合系統(tǒng),不同子系統(tǒng)之間數(shù)據(jù)結(jié)構(gòu)各異,要保證子系統(tǒng)間數(shù)據(jù)的一致性和正確性,實(shí)現(xiàn)同構(gòu)數(shù)據(jù)的批量同步成為了綜合系統(tǒng)建設(shè)的技術(shù)。
[0003]成熟的ETL工具,更多的關(guān)注與數(shù)據(jù)同步過程,能夠快速有效的實(shí)現(xiàn)數(shù)據(jù)同步的圖形定制化配置,多線程同步的管理機(jī)制,但是不能嵌入數(shù)據(jù)所在的平臺本身,通過分析系統(tǒng)前后臺任務(wù)執(zhí)行所需的資源利用率,實(shí)現(xiàn)系統(tǒng)自身資源利用率的平衡,而本發(fā)明正好是這一缺陷的補(bǔ)充。
[0004]在綜合系統(tǒng)計算資源投入有限的情況下,充分的利用數(shù)據(jù)庫管理軟件自身技術(shù)機(jī)制,實(shí)現(xiàn)異構(gòu)數(shù)據(jù)大批量的高效同步,滿足綜合系統(tǒng)應(yīng)用的需求,能有效減少系統(tǒng)技術(shù)的復(fù)雜度,同時也具有非常良好的經(jīng)濟(jì)效益。
【發(fā)明內(nèi)容】
[0005]本發(fā)明的目的正是為了克服上述現(xiàn)有技術(shù)存在的缺陷而提供一種基于數(shù)據(jù)庫的異構(gòu)型數(shù)據(jù)批量同步方法,本發(fā)明方法是在信息系統(tǒng)計算資源有限的情況下,充分利用數(shù)據(jù)庫管理軟件的自身技術(shù),利用操作系統(tǒng)先來先服務(wù)調(diào)度算法(FCFS),實(shí)現(xiàn)異構(gòu)類型數(shù)據(jù)的批量并行同步方式。
[0006]本發(fā)明方法是通過如下技術(shù)方案來實(shí)現(xiàn)的:
[0007]—種基于數(shù)據(jù)庫的異構(gòu)型數(shù)據(jù)批量同步方法,其特征在于,在系統(tǒng)計算資源有限的情況下,充分利用數(shù)據(jù)庫管理軟件的自身技術(shù)與接口,原子化實(shí)現(xiàn)異構(gòu)類型數(shù)據(jù)同步單元,借助操作先來先服務(wù)調(diào)度算法(FCFS)執(zhí)行批量并行同步,主要采用以下步驟和技術(shù)、算法實(shí)現(xiàn):
[0008](1)、建立子系統(tǒng)底層數(shù)據(jù)庫之間的連接
[0009]建立網(wǎng)絡(luò)鏈路,實(shí)現(xiàn)子系統(tǒng)數(shù)據(jù)庫服務(wù)器之間的通信鏈路;利用數(shù)據(jù)庫Databaselink技術(shù),實(shí)現(xiàn)數(shù)據(jù)庫之間相互訪問連接;在此通過數(shù)據(jù)庫權(quán)限的授予和限制,實(shí)現(xiàn)子系統(tǒng)內(nèi)私有數(shù)據(jù)和公有數(shù)據(jù)的安全保護(hù)。
[0010](2)、封裝元子級的數(shù)據(jù)轉(zhuǎn)換同步過程
[0011]結(jié)合子系統(tǒng)間異構(gòu)數(shù)據(jù)同步的需求,按照數(shù)據(jù)轉(zhuǎn)換同步的業(yè)務(wù)邏輯,封裝出用于異構(gòu)數(shù)據(jù)轉(zhuǎn)換同步的最小元子級(Metadata)的同步存儲過程;最小元子級同步過程需要充分的考慮異構(gòu)數(shù)據(jù)對應(yīng)的差異,利用數(shù)據(jù)庫自身的臨時表與緩存機(jī)制,降低內(nèi)存的壓力;按照數(shù)據(jù)庫數(shù)據(jù)存儲的原理,設(shè)計最小步驟的轉(zhuǎn)換過程與轉(zhuǎn)化的算法,提高數(shù)據(jù)同步過程中增、刪、改、查等操作的性能,從而達(dá)到整體提高同步性能的目的。
[0012](3)、建立作業(yè)任務(wù)調(diào)度控制過程
[0013]基于數(shù)據(jù)庫自身的JOB任務(wù)管理機(jī)制,和數(shù)據(jù)庫運(yùn)行狀態(tài)監(jiān)控技術(shù),采用先進(jìn)先出的作業(yè)調(diào)度算法,建立同步作業(yè)調(diào)度控制過程;實(shí)現(xiàn)調(diào)度過程能夠?qū)崟r的根據(jù)數(shù)據(jù)庫運(yùn)行的狀態(tài)和資源利用率,動態(tài)的設(shè)置負(fù)責(zé)執(zhí)行元子同步過程的JOB數(shù)量,從而保證系統(tǒng)前端應(yīng)用的應(yīng)用性能,亦保證異構(gòu)數(shù)據(jù)批量高效的同步,達(dá)到重復(fù)利用數(shù)據(jù)庫硬件資源的目的;異構(gòu)數(shù)據(jù)批量同步的控制流程:
[0014]步驟一:創(chuàng)建用于任務(wù)調(diào)度分配的主J0B,采用蟻群研究中“秩序即是高效”規(guī)律設(shè)計JOB的控制機(jī)制,通過分析系統(tǒng)的資源的利用率,達(dá)到控制子JOB數(shù)量和執(zhí)行頻率的目的,從而充分提高同步作業(yè)的整體效率;此步驟中為了能夠在后面的執(zhí)行過程中有限的監(jiān)管數(shù)據(jù)同步過程,在此處還需加入數(shù)據(jù)同步監(jiān)督管理邏輯,用于監(jiān)控數(shù)據(jù)庫軟硬件負(fù)載情況,及元子的同步過程運(yùn)行的詳細(xì)信息。
[0015]步驟二:按照異構(gòu)數(shù)據(jù)同步需求及數(shù)據(jù)規(guī)模設(shè)計元子同步過程,元子同步過程之間要消除前后的依賴,保證能夠并發(fā)運(yùn)行而不影響數(shù)據(jù)同步的目標(biāo)。并將元子同步過程,注冊進(jìn)入調(diào)度列表中;
[0016]步驟三:主JOB按照設(shè)計好的調(diào)度機(jī)制,啟動創(chuàng)建子J0B,執(zhí)行最小元子同步過程。按照同步頻率的需求,調(diào)整循環(huán)同步的周期,從而實(shí)現(xiàn)異構(gòu)型數(shù)據(jù)的高效同步;
[0017](4)注冊元子同步過程進(jìn)入調(diào)度控制過程
[0018]完成以上三個步驟,將元子同步過程注冊進(jìn)入調(diào)度控制過程,完成調(diào)度控制過程對元子同步過程的動態(tài)管理和執(zhí)行。元子同步過程的執(zhí)行,并不一定完全按照既定的邏輯執(zhí)行,而是由主JOB根據(jù)當(dāng)前的系統(tǒng)資源利用率相關(guān)信息動態(tài)分配,達(dá)到控制子JOB數(shù)量和執(zhí)行頻率的目的,從而充分提高同步作業(yè)的整體效率。
[0019](5)監(jiān)管異構(gòu)數(shù)據(jù)同步過程
[0020]本階段加入獨(dú)立于同步過程的分析控制邏輯,通過分析“作業(yè)任務(wù)調(diào)度控制過程”記錄系統(tǒng)運(yùn)行數(shù)據(jù)、及元子的同步過程運(yùn)行的詳細(xì)數(shù)據(jù),明確的指導(dǎo)調(diào)整數(shù)據(jù)庫系統(tǒng)配置參數(shù),結(jié)合系統(tǒng)服務(wù)應(yīng)用的時間周期規(guī)律,及時的調(diào)整子過程調(diào)度的頻率、數(shù)量、資源配額等參數(shù),實(shí)現(xiàn)同步過程最高效的同步,同時不影響系統(tǒng)前端服務(wù)運(yùn)用的效率與并發(fā)量。
[0021]本發(fā)明的有益效果是:本發(fā)明是在信息系統(tǒng)計算資源有限的情況下,充分利用數(shù)據(jù)庫管理軟件的自身技術(shù),利用操作系統(tǒng)先來先服務(wù)調(diào)度算法(FCFS),實(shí)現(xiàn)異構(gòu)類型數(shù)據(jù)的批量并行同步方式。本發(fā)明是利用數(shù)據(jù)庫自身的Databaselink機(jī)制,升級JOB作業(yè)管理機(jī)制,實(shí)現(xiàn)動態(tài)批量的管理元子級的異構(gòu)類型的數(shù)據(jù)同步過程執(zhí)行數(shù)據(jù)同步,保證整個異構(gòu)數(shù)據(jù)類型系統(tǒng)的數(shù)據(jù)一致性和完整性。
【附圖說明】
[0022]圖1為本發(fā)明異構(gòu)數(shù)據(jù)批量同步的控制流程圖;
[0023]圖2為JOB控制調(diào)度作業(yè)執(zhí)行效果圖。
【具體實(shí)施方式】
[0024]見圖1,圖2,一種基于數(shù)據(jù)庫的異構(gòu)型數(shù)據(jù)批量同步方法,本發(fā)明特征在于,通過采用以下技術(shù)和算法實(shí)現(xiàn):
[0025](1)、建立子系統(tǒng)底層數(shù)據(jù)庫之間的連接
[0026]建立網(wǎng)絡(luò)鏈路,實(shí)現(xiàn)子系統(tǒng)數(shù)據(jù)庫服務(wù)器之間的通信鏈路;利用數(shù)據(jù)庫Databaselink技術(shù),實(shí)現(xiàn)數(shù)據(jù)庫之間相互訪問連接;在此通過數(shù)據(jù)庫權(quán)限的授予和限制,實(shí)現(xiàn)子系統(tǒng)內(nèi)私有數(shù)據(jù)和公有數(shù)據(jù)的安全保護(hù);
[0027](2)、封裝元子級的數(shù)據(jù)轉(zhuǎn)換同步過程
[0028]結(jié)合子系統(tǒng)間異構(gòu)數(shù)據(jù)同步的需求,按照