本發(fā)明從屬于數(shù)據(jù)庫同步技術(shù)領(lǐng)域,特別是關(guān)系型數(shù)據(jù)庫應(yīng)用領(lǐng)域。
技術(shù)背景
出于系統(tǒng)安全性的考慮,數(shù)據(jù)庫系統(tǒng)通常都會(huì)采用備份或者容災(zāi)策略,以供在生產(chǎn)數(shù)據(jù)庫因?yàn)楦鞣N原因出現(xiàn)異常不能正常提供服務(wù)時(shí)自動(dòng)接管業(yè)務(wù),繼續(xù)對(duì)外提供正常服務(wù)。
目前業(yè)界的數(shù)據(jù)庫同步工具已經(jīng)有很多,基本都是由日志監(jiān)控模塊、同步配置模塊和日志重做模塊組成,實(shí)現(xiàn)機(jī)制大都是根據(jù)數(shù)據(jù)庫提供的日志訪問接口,從日志中提取出對(duì)數(shù)據(jù)庫進(jìn)行操作的修改語句,然后將提取出的語句施加到備用庫中進(jìn)行動(dòng)作重放,從而達(dá)到主庫和備用庫數(shù)據(jù)一致的目的。
目前主流同步工具的實(shí)現(xiàn)方式從一定程度上解決了數(shù)據(jù)庫數(shù)據(jù)同步的問題,但不同數(shù)據(jù)庫的日志格式、類型各不相同,所以數(shù)據(jù)同步解決方案都和具體數(shù)據(jù)庫密切關(guān)聯(lián),一旦出現(xiàn)新類型的數(shù)據(jù)庫,或者現(xiàn)有數(shù)據(jù)庫的日志格式、類型發(fā)生變化,都會(huì)導(dǎo)致數(shù)據(jù)同步工具無法正常工作,導(dǎo)致備用庫的數(shù)據(jù)無法及時(shí)得到同步,起不到應(yīng)有的備庫作用。
本發(fā)明針對(duì)上述數(shù)據(jù)庫同步工具的困境,從通用性的角度入手提出了解決思路。本發(fā)明不涉及現(xiàn)有生產(chǎn)程序的改造,通過在生產(chǎn)數(shù)據(jù)庫增加通用數(shù)據(jù)變化捕捉模塊的做法獲取到針對(duì)數(shù)據(jù)庫發(fā)起的修改操作,通過該捕獲模塊就可以獲取到所有的數(shù)據(jù)庫操作,從而達(dá)到數(shù)據(jù)同步解決方案通用、穩(wěn)定的目的。
目前尚未檢索到與本發(fā)明相同的解決方案及系統(tǒng)實(shí)現(xiàn)。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明包含三部分,一是在生產(chǎn)數(shù)據(jù)庫中增加的捕捉模塊,該模塊采用數(shù)據(jù)庫支持的通用方式進(jìn)行日志捕捉,可以采用觸發(fā)器或者數(shù)據(jù)庫審計(jì)日志等通用方式,對(duì)這些方式的支持是商用數(shù)據(jù)庫的基本要求,并且須符合通用的sql標(biāo)準(zhǔn),這種采用從sql標(biāo)準(zhǔn)入手捕捉變化操作的方式獨(dú)立于具體數(shù)據(jù)庫,達(dá)到了通用的目的;二是數(shù)據(jù)過濾模塊,該模塊是可選項(xiàng),可以對(duì)從捕捉模塊獲取到的數(shù)據(jù)做過濾、分揀、匯總等數(shù)據(jù)的二次加工;三是數(shù)據(jù)同步模塊,將數(shù)據(jù)過濾模塊產(chǎn)生的數(shù)據(jù)發(fā)送的目標(biāo)端執(zhí)行,最終達(dá)到數(shù)據(jù)同步的目的。
本發(fā)明中提及的數(shù)據(jù)庫同步系統(tǒng)的主要功能特點(diǎn)是:
(1)、采用從sql標(biāo)準(zhǔn)著手捕捉原始數(shù)據(jù)的方式,可以滿足數(shù)據(jù)庫同步解決方案的通用性要求,不會(huì)因?yàn)樾滦蛿?shù)據(jù)庫的出現(xiàn)或者現(xiàn)有商用數(shù)據(jù)庫日志格式、類型變化導(dǎo)致同步工具不可用的問題,該問題是目前市面上大多數(shù)同步工具普遍面臨的問題。
(2)、可選的數(shù)據(jù)過濾模塊,支持對(duì)原始修改操作的二次加工,功能支持范圍更廣。
附圖說明
圖1是本發(fā)明示意圖。
具體實(shí)施方式
本發(fā)明所述系統(tǒng)的基本框可見附圖1:圖中各模塊功能介紹如下:
◆101是數(shù)據(jù)捕捉模塊,主要完成源數(shù)據(jù)庫的修改操作捕捉功能。具體功能是通過商用數(shù)據(jù)庫通用接口訪問方式獲取對(duì)數(shù)據(jù)庫的修改操作,該模塊部署在源數(shù)據(jù)庫中,且為獨(dú)立模塊,不涉及現(xiàn)有生產(chǎn)模塊的配合改動(dòng)。數(shù)據(jù)捕捉模塊的實(shí)現(xiàn)基于數(shù)據(jù)庫通用接口,包括但不限于如觸發(fā)器、數(shù)據(jù)庫審計(jì)等功能,該模塊的產(chǎn)出形式自由,可以是保存在數(shù)據(jù)庫中,也 可以是文件等方式。
◆102是數(shù)據(jù)加工模塊,該模塊是可選模塊。該模塊的主要功能是支持將101模塊的產(chǎn)出進(jìn)行二次加工,包括但不限于數(shù)據(jù)過濾、數(shù)據(jù)分揀、數(shù)據(jù)分發(fā)、數(shù)據(jù)匯總統(tǒng)計(jì)等功能。
◆103是數(shù)據(jù)同步模塊,用來執(zhí)行數(shù)據(jù)加工模塊轉(zhuǎn)發(fā)過來的同步操作命令,從而達(dá)到備用數(shù)據(jù)庫數(shù)據(jù)按要求同步的目的。備用數(shù)據(jù)庫個(gè)數(shù)、類型不受限制,支持多個(gè)備用數(shù)據(jù)庫,也支持異構(gòu)數(shù)據(jù)庫。
綜上所述:本發(fā)明提出了一種通用的數(shù)據(jù)庫同步系統(tǒng)的實(shí)施方案,并且通過本方案,可以在不需要生產(chǎn)程序修改的基礎(chǔ)上,獨(dú)立部署數(shù)據(jù)同步模塊,達(dá)到數(shù)據(jù)同步的目的;同時(shí),基于數(shù)據(jù)庫通用接口的方式捕獲數(shù)據(jù)庫的修改操作,使得本同步系統(tǒng)支持同步的范圍更廣,與基于日志挖掘的同步系統(tǒng)相比,有獨(dú)特的兼容性優(yōu)勢(shì),不受數(shù)據(jù)庫廠家獨(dú)特實(shí)現(xiàn)的限制,是一項(xiàng)極具特色的亮點(diǎn)功能,對(duì)數(shù)據(jù)庫同步系統(tǒng)產(chǎn)品市場(chǎng)起到很大的完善作用。