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

異構(gòu)數(shù)據(jù)庫的同步方法和應(yīng)用系統(tǒng)的制作方法

文檔序號(hào):8258546閱讀:521來源:國知局
異構(gòu)數(shù)據(jù)庫的同步方法和應(yīng)用系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及數(shù)據(jù)庫技術(shù),尤其涉及一種異構(gòu)數(shù)據(jù)庫的同步方法和應(yīng)用系統(tǒng)。
【背景技術(shù)】
[0002] 隨著計(jì)算機(jī)技術(shù)和網(wǎng)絡(luò)技術(shù)的不斷發(fā)展,數(shù)據(jù)庫也由集中式向分布式演變。
[0003] 在分布式環(huán)境下,數(shù)據(jù)庫同步技術(shù)作為維護(hù)各個(gè)數(shù)據(jù)庫節(jié)點(diǎn)之間數(shù)據(jù)一致性的 方法,成為保證系統(tǒng)性能和提高系統(tǒng)可靠性的關(guān)鍵技術(shù)。在現(xiàn)有技術(shù)中,針對(duì)同構(gòu)數(shù)據(jù)庫 來說,源數(shù)據(jù)庫可以檢測其存儲(chǔ)的數(shù)據(jù)是否發(fā)生變化,例如是否有數(shù)據(jù)更新,是否有數(shù)據(jù)刪 除,或者是否有數(shù)據(jù)增加。一旦發(fā)生變化,則源數(shù)據(jù)庫可以將發(fā)生變化部分同步到目標(biāo)數(shù)據(jù) 庫中。
[0004] 但是,在現(xiàn)有分布式環(huán)境下,還存在異構(gòu)數(shù)據(jù)庫之間需要進(jìn)行數(shù)據(jù)同步的需求。因 此,如何實(shí)現(xiàn)異構(gòu)數(shù)據(jù)庫之間的數(shù)據(jù)同步,成為亟待解決的問題。

【發(fā)明內(nèi)容】

[0005] 本發(fā)明提供一種異構(gòu)數(shù)據(jù)庫的同步方法和應(yīng)用系統(tǒng),以實(shí)現(xiàn)異構(gòu)數(shù)據(jù)庫之間的數(shù) 據(jù)同步。
[0006] 本發(fā)明提供一種異構(gòu)數(shù)據(jù)庫的同步方法,包括:
[0007] 同步處理器在確定源數(shù)據(jù)庫的源數(shù)據(jù)表中發(fā)生數(shù)據(jù)變化時(shí),將所述源數(shù)據(jù)表中發(fā) 生變化的數(shù)據(jù)的標(biāo)識(shí)信息存儲(chǔ)在同步變化表中,所述標(biāo)識(shí)信息至少包括所述源數(shù)據(jù)表的表 名、變化數(shù)據(jù)在所述源數(shù)據(jù)表中的主鍵值、變化類型值、變化時(shí)間;
[0008] 同步處理器在輪詢周期到達(dá)時(shí),根據(jù)所述同步變化表中的變化時(shí)間從所述同步變 化表中獲取當(dāng)前時(shí)間之前的標(biāo)識(shí)信息,并根據(jù)獲取的標(biāo)識(shí)信息中的表名、主鍵值和變化類 型值生成變化數(shù)據(jù);
[0009] 傳輸器采用預(yù)設(shè)的封裝格式將所述變化數(shù)據(jù)封裝為數(shù)據(jù)流,并發(fā)送給同步解析 器;
[0010] 所述同步解析器接收所述同步處理器通過所述傳輸器發(fā)送的數(shù)據(jù)流,采用所述預(yù) 設(shè)的封裝格式對(duì)所述數(shù)據(jù)流解封裝得到所述變化數(shù)據(jù),根據(jù)預(yù)設(shè)的映射文件將所述變化數(shù) 據(jù)映射為目標(biāo)數(shù)據(jù)庫中的目標(biāo)數(shù)據(jù)表的數(shù)據(jù)結(jié)構(gòu),并根據(jù)所述變化數(shù)據(jù)中的變化類型值進(jìn) 行目標(biāo)數(shù)據(jù)庫中目標(biāo)數(shù)據(jù)表的數(shù)據(jù)同步。
[0011] 相應(yīng)的,本發(fā)明提供一種應(yīng)用系統(tǒng),包括:
[0012] 依次連接的源數(shù)據(jù)庫、同步處理器、傳輸器、同步解析器以及目標(biāo)數(shù)據(jù)庫;
[0013] 所述同步處理器,用于在確定源數(shù)據(jù)庫的源數(shù)據(jù)表中發(fā)生數(shù)據(jù)變化時(shí),將所述源 數(shù)據(jù)表中發(fā)生變化的數(shù)據(jù)的標(biāo)識(shí)信息存儲(chǔ)在同步變化表中,所述標(biāo)識(shí)信息至少包括所述源 數(shù)據(jù)表的表名、變化數(shù)據(jù)在所述源數(shù)據(jù)表中的主鍵值、變化類型值、變化時(shí)間;在輪詢周期 到達(dá)時(shí),根據(jù)所述同步變化表中的變化時(shí)間從所述同步變化表中獲取當(dāng)前時(shí)間之前的標(biāo)識(shí) 信息,并根據(jù)獲取的標(biāo)識(shí)信息中的表名、主鍵值和變化類型值生成變化數(shù)據(jù);
[0014] 所述傳輸器,用于采用預(yù)設(shè)的封裝格式將所述變化數(shù)據(jù)封裝為數(shù)據(jù)流,并發(fā)送給 同步解析器;
[0015] 所述同步解析器,用于接收所述同步處理器通過所述傳輸器發(fā)送的數(shù)據(jù)流,采用 所述預(yù)設(shè)的封裝格式對(duì)所述數(shù)據(jù)流解封裝得到所述變化數(shù)據(jù),根據(jù)預(yù)設(shè)的映射文件將所述 變化數(shù)據(jù)映射為目標(biāo)數(shù)據(jù)庫中的目標(biāo)數(shù)據(jù)表的數(shù)據(jù)結(jié)構(gòu),并根據(jù)所述變化數(shù)據(jù)中的變化類 型值進(jìn)行目標(biāo)數(shù)據(jù)庫中目標(biāo)數(shù)據(jù)表的數(shù)據(jù)同步。
[0016] 本發(fā)明異構(gòu)數(shù)據(jù)庫的同步方法和應(yīng)用系統(tǒng),無需對(duì)異構(gòu)的源數(shù)據(jù)庫和目標(biāo)數(shù)據(jù)庫 進(jìn)行任何改變,而只需要在源數(shù)據(jù)庫和目標(biāo)數(shù)據(jù)庫之間部署同步處理器、傳輸器以及同步 解析器。部署在源數(shù)據(jù)庫側(cè)的同步處理器可以周期性地輪詢同步變化表中記錄的變化數(shù) 據(jù),且該變化數(shù)據(jù)中包含有異構(gòu)的目標(biāo)數(shù)據(jù)庫在進(jìn)行數(shù)據(jù)同步時(shí)所需的表名、主鍵值和變 化類型值,然后,同步處理器可以將變化數(shù)據(jù)封裝成數(shù)據(jù)流發(fā)送給部署在目標(biāo)數(shù)據(jù)庫側(cè)的 同步解析器。同步解析器可以預(yù)存一映射文件,該映射文件可以描述源數(shù)據(jù)表和目標(biāo)數(shù)據(jù) 表之間數(shù)據(jù)結(jié)構(gòu)差異的對(duì)應(yīng)關(guān)系,因此,該同步解析器在對(duì)該數(shù)據(jù)流進(jìn)行解封裝之后,可以 根據(jù)預(yù)設(shè)的映射文件將源數(shù)據(jù)表中的變化數(shù)據(jù)映射為目標(biāo)數(shù)據(jù)庫中的目標(biāo)數(shù)據(jù)表的數(shù)據(jù) 結(jié)構(gòu),并根據(jù)變化數(shù)據(jù)中的變化類型值進(jìn)行目標(biāo)數(shù)據(jù)表的數(shù)據(jù)同步,進(jìn)而可以完成異構(gòu)數(shù) 據(jù)庫之間的數(shù)據(jù)同步。本發(fā)明無需對(duì)現(xiàn)有異構(gòu)數(shù)據(jù)庫進(jìn)行改變,只需要在同步解析器上部 署不同的映射文件即可實(shí)現(xiàn)異構(gòu)數(shù)據(jù)庫之間的數(shù)據(jù)同步,實(shí)現(xiàn)簡單,且易于擴(kuò)展。
【附圖說明】
[0017] 圖1為本發(fā)明異構(gòu)數(shù)據(jù)庫的同步方法實(shí)施例一的流程圖;
[0018] 圖2為本發(fā)明異構(gòu)數(shù)據(jù)庫的同步方法實(shí)施例二的流程圖;
[0019] 圖3為本發(fā)明應(yīng)用系統(tǒng)實(shí)施例的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0020] 圖1為本發(fā)明異構(gòu)數(shù)據(jù)庫的同步方法實(shí)施例一的流程圖,如圖1所示,本實(shí)施例的 方法,可以包括:
[0021] 步驟101、同步處理器在確定源數(shù)據(jù)庫的源數(shù)據(jù)表中發(fā)生數(shù)據(jù)變化時(shí),將所述源數(shù) 據(jù)表中發(fā)生變化的數(shù)據(jù)的標(biāo)識(shí)信息存儲(chǔ)在同步變化表中,所述標(biāo)識(shí)信息至少包括所述源數(shù) 據(jù)表的表名、變化數(shù)據(jù)在所述源數(shù)據(jù)表中的主鍵值、變化類型值、變化時(shí)間;
[0022] 步驟102、同步處理器在輪詢周期到達(dá)時(shí),根據(jù)所述同步變化表中的變化時(shí)間從所 述同步變化表中獲取當(dāng)前時(shí)間之前的標(biāo)識(shí)信息,并根據(jù)獲取的標(biāo)識(shí)信息中的表名、主鍵值 和變化類型值生成變化數(shù)據(jù);
[0023] 步驟103、傳輸器采用預(yù)設(shè)的封裝格式將所述變化數(shù)據(jù)封裝為數(shù)據(jù)流,并發(fā)送給同 步解析器;
[0024] 步驟104、同步解析器接收所述同步處理器通過所述傳輸器發(fā)送的數(shù)據(jù)流,采用所 述預(yù)設(shè)的封裝格式對(duì)所述數(shù)據(jù)流解封裝得到所述變化數(shù)據(jù),根據(jù)預(yù)設(shè)的映射文件將所述變 化數(shù)據(jù)映射為目標(biāo)數(shù)據(jù)庫中的目標(biāo)數(shù)據(jù)表的數(shù)據(jù)結(jié)構(gòu),并根據(jù)所述變化數(shù)據(jù)中的變化類型 值進(jìn)行目標(biāo)數(shù)據(jù)庫中目標(biāo)數(shù)據(jù)表的數(shù)據(jù)同步。
[0025] 具體來說,本實(shí)施例在源數(shù)據(jù)庫和目標(biāo)數(shù)據(jù)庫之間部署了同步處理器、傳輸器以 及同步解析器,其中,同步處理器部署在源數(shù)據(jù)庫一側(cè),同步解析器部署在目標(biāo)數(shù)據(jù)庫一 偵牝傳輸器則用于傳輸同步處理器和同步解析器之間的數(shù)據(jù)。
[0026]同步處理器可以實(shí)時(shí)或者定時(shí)檢測源數(shù)據(jù)庫的源數(shù)據(jù)表中是否發(fā)生數(shù)據(jù)變化,所 述的數(shù)據(jù)變化,例如可以是數(shù)據(jù)刪除、數(shù)據(jù)更新、數(shù)據(jù)增加等。本實(shí)施例并不限定具體的檢 測方法。
[0027] 舉例來說,本實(shí)施例可以采用數(shù)據(jù)變化觸發(fā)器,來捕獲源數(shù)據(jù)表中發(fā)生變化的數(shù) 據(jù),該數(shù)據(jù)變化觸發(fā)器可以包括插入觸發(fā)器、刪除觸發(fā)器和更新觸發(fā)器。
[0028] 可以理解的,根據(jù)不同的需要,本領(lǐng)域技術(shù)人員還可以只部署其中的不同的觸發(fā) 器,或者擴(kuò)展出其它類型的觸發(fā)器以捕獲其它類型的數(shù)據(jù)變化。
[0029] 該同步處理器既可以單獨(dú)部署,也可以與源數(shù)據(jù)庫一同部署。
[0030] 當(dāng)同步處理器確定源數(shù)據(jù)表中發(fā)生數(shù)據(jù)變化時(shí),則可以將源數(shù)據(jù)表中發(fā)生變化的 數(shù)據(jù)的標(biāo)識(shí)信息存儲(chǔ)在同步變化表中。本實(shí)施例中,該同步變化表用于存儲(chǔ)源數(shù)據(jù)表中發(fā) 生變化的數(shù)據(jù)的標(biāo)識(shí)信息。該標(biāo)識(shí)信息至少可以包括源數(shù)據(jù)表的表名、變化數(shù)據(jù)在源數(shù)據(jù) 表中的主鍵值、變化類型值、變化時(shí)間。該標(biāo)識(shí)信息可以用于后續(xù)的異構(gòu)數(shù)據(jù)庫的同步。
[0031]同步處理器可以以一定的輪詢周期來定期地查看該同步變化表,該輪詢周期例如 可以采用一個(gè)定時(shí)器來實(shí)現(xiàn)。即,源數(shù)據(jù)庫在輪詢周期到達(dá)時(shí),可以根據(jù)同步變化表中的變 化時(shí)間從同步變化表中獲取當(dāng)前時(shí)間之前的標(biāo)識(shí)信息,該當(dāng)前時(shí)間即為系統(tǒng)時(shí)間。
[0032]同步處理器在獲取到變化時(shí)間在當(dāng)前時(shí)間之前的標(biāo)識(shí)信息之后,同步處理器即可 根據(jù)獲取的標(biāo)識(shí)信息中的表名、主鍵值和變化類型值生成變化數(shù)據(jù)。
[0033] 可選的,在輪詢周期內(nèi),對(duì)于具有相同主鍵值的數(shù)據(jù),可能發(fā)生多次數(shù)據(jù)變化,例 如先增加、再更新,或者先增加再刪除。
[0034]因此,為了更加準(zhǔn)確地定位到該輪詢周期內(nèi)最終的數(shù)據(jù)變化狀態(tài),以便將數(shù)據(jù)的 準(zhǔn)確狀態(tài)更新到目標(biāo)數(shù)據(jù)庫中,在同步處理器根據(jù)獲取的標(biāo)識(shí)信息中的表名、主鍵值和變 化類型值生成變化數(shù)據(jù)之前,可以按照變化時(shí)間的先后順序,對(duì)當(dāng)前時(shí)間之前的具有相同 的主鍵值的標(biāo)識(shí)信息進(jìn)行排序;保留具有相同的主鍵值的標(biāo)識(shí)彳目息中變化時(shí)間最晚的標(biāo)識(shí) 信息,并刪除該具有相同的主鍵值的標(biāo)
當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
惠东县| 泰安市| 大埔县| 安陆市| 得荣县| 苗栗县| 恭城| 克什克腾旗| 长宁区| 昂仁县| 武隆县| 信阳市| 沙湾县| 营口市| 兰坪| 新源县| 区。| 江西省| 大港区| 吴堡县| 新竹市| 遂川县| 乐山市| 法库县| 鄂州市| 钟山县| 成都市| 靖宇县| 长子县| 辽中县| 永靖县| 岳阳县| 石城县| 三明市| 涞水县| 永福县| 故城县| 尤溪县| 黑山县| 皮山县| 扎鲁特旗|