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