新四季網

一種通過事件觸發同步不同資料庫的方法

2023-07-16 22:38:06

專利名稱:一種通過事件觸發同步不同資料庫的方法
技術領域:
本發明涉及一種資料庫技術,尤其涉及一種通過事件觸發同步不同資料庫的方法。
背景技術:
目前關於在不同的資料庫間進行數據同步的技術方案較多,但能實現不同數據模型間並且實時同步的產品較少,而且其功能不能滿足一些場合下的使用需求,比如運營商的同一套IPTV系統可能由不同的供貨商承建,這樣在IPTV系統設計時就會將整個系統分割成不同的網元,每個網元都可以獨立運行,並與其他網元無縫連接。各個網元可能根據自己的需要,使用不同的資料庫,並設計出不同的庫表結構,這樣就產生了在各個網元之間的數據同步與交換,需要一個源資料庫同步到其他多個資料庫,而且有實時性要求,在這樣 的系統環境下進行數據同步,現有技術方案不能滿足要求或存在一些缺陷。比如
公開日為2011年05月18日、公開號為CN102063511A的專利文獻公開了這樣的技術方案一種數據同步系統,包括生成模塊,用於當存在對第一資料庫內的數據或者第一文件內的文件進行操作時,生成相應操作的類對象,並將該類對象序列化成二進位流,傳送模塊,用於將該二進位流按照順序傳送給第二伺服器,接收模塊,用於接收第一伺服器發送的二進位流,將該二進位流按照順序插入至操作隊列表中;及執行模塊,用於反序列化操作隊列表中的二進位流,並根據該反序列化後的操作數據對第二資料庫中的數據或第二文件中的文件進行相應操作。本發明可以實現對不同數據類型或文件類型的伺服器中的數據進行同步操作。但是該方案的不足之處一是不能實現資料庫間的一對多同步,二是由於未使用事件觸發方式,因此,數據同步不及時,三是不支持大批量數據一次同步等。

發明內容
本發明的目的在於提供一種通過事件觸發同步不同資料庫的方法,實現在不同種類資料庫、不同的數據模型環境下,一個源資料庫及時同步到多個目標資料庫,以及大批量數據快速同步,在一個源資料庫中的更改能夠實時地同步到多個目標資料庫中。本發明針對現有技術問題主要是通過下述技術方案得以解決的,包括
Ca)當源資料庫中的數據變更時,產生請求同步的變更事件;
(b)推送數據模塊掃描源資料庫中的變更事件,當有變更事件時,就觸發推送數據模塊將這次變更的數據按照接收數據模塊的數據結構組成數據包,發給接收數據模塊;
(C)接收數據模塊經過數據包解析後寫入目標資料庫。本發明包括一個源資料庫和多個目標資料庫,所述的目標資料庫可以是與源資料庫相同的資料庫,也可以是與源資料庫不同的資料庫。同時還包括一個將源資料庫中的變更數據推送給目標資料庫的推送數據模塊,和一個或多個接收推送過來的數據的接收數據模塊,推送數據模塊將源資料庫中變更的數據按照每個接收數據模塊各自要求的數據結構組成數據包,發送給相應的目標接收數據模塊,接收數據模塊將接收到的數據寫進相應的不同資料庫,實現了不同的資料庫間的數據同步。推送數據模塊連接源資料庫,接收數據模塊連接目標資料庫。當源資料庫中的數據變更時,產生請求同步的事件。推送數據模塊不停地掃描源資料庫中的變更事件,當有變更事件時,就觸發推送數據模塊,將這次變更的數據按照接收數據模塊要求的數據結構組成數據包,發給接收數據模塊,由接收數據模塊經過數據包解析後寫入目標資料庫。由推送數據模塊實現了數據的實時、準確同步,並可根據接收數據模塊的需要進行數據結構的變更。本方法運用源資料庫中的數據變更事件觸發同步數據模塊(推送數據模塊和接收數據模塊)工作,實現不同的資料庫(包括不同種類資料庫)間的數據同步,滿足了源資料庫對多個目標資料庫同步的需求,利用事件觸發方式進行及時同步,滿足了系統對數據同步的時效性要求。本方法可以應用於任何領域,源資料庫和目標資料庫不限,如Oracle、SQLServer、Mysql 等等。作為優選,每個目標資料庫對應與不同的接收數據模塊,接收數據模塊將接收到的數據寫進相應的目標資料庫。 作為優選,當通信出現中斷時,變更的數據自動重新下發,直到通信恢復數據同步成功。作為優選,當目標資料庫處理出錯時,通過修改數據變更事件的狀態標誌來觸發變更的數據重新下發。作為優選,當接收數據模塊處理出錯時,對源資料庫中的數據進行處理,在數據正確後,通過修改數據變更事件的狀態標誌實現再次下發。接收數據模塊處理出錯,應該是源資料庫中的數據錯誤,在重新下發前,人工處理源資料庫中的數據,在源數據正確後,通過修改事件的狀態標誌實現再次下發。作為優選,在源資料庫中當一次批量增加大量數據或修改大量數據時,不再每條數據產生一條數據變更事件,而是一批數據只產生一條數據變更事件去觸發推送數據模塊和接收數據模塊進行數據同步。源資料庫中可能存在某些表的數據量特別大,比如十萬、百萬級別的,如果通過Socket通訊逐條進行同步,則花費在通信交互上的時間就太多了,勢必影響數據同步的效率,影響用戶體驗。針對這種情況,採取當一次在源資料庫中批量增加大量數據或修改大量數據時,不再每條數據產生一條同步事件,而是一批數據只產生一個同步事件,比如100000條數據只產生一個同步事件,當推送數據模塊接收到這類大批量數據同步事件時,就會啟動特殊的同步處理模式將這大批量的數據按照規定的組織方式一次性寫到一個大的內存塊中,再發送給接收數據模塊,由接收數據模塊再根據協議分析其中的數據包,將數據寫入相應的目標資料庫。這樣節約了交互通信的時間,提高了效率。同時,也減少了頻繁地讀取源資料庫,導致影響源資料庫性能的問題。本發明帶來的有益效果是,實現了在不同種類資料庫、不同的數據模型環境下,一個源資料庫可以同步到多個目標資料庫,可以進行大批量數據快速同步,通過事件觸發方式實現了數據及時同步,數據實時性好。


圖I是本發明的一種數據同步處理流程圖;圖2是本發明在UTStarcom公司IPTV應用中數據同步處理流程圖。
具體實施例方式下面通過實施例,並結合附圖,對本發明的技術方案作進一步具體說明。實施例如圖I所示,本發明是一種通過事件觸發同步不同資料庫的方法,用於將一個源資料庫及時同步到多個不同種類資料庫不同數據模型的目標資料庫。步驟包括
1、在源資料庫A裡部署產生變更事件的資料庫腳本,當源資料庫A中有數據變更時就記錄一條事件到資料庫事件表中,當需要進行大量數據增加或修改時通過設置按批量產生一條事件記錄到資料庫事件表中,供推送數據模塊使用;
2、部署推送數據模塊,將推送數據模塊連接到源資料庫A; 3、部署接收數據模塊,並配置接收數據模塊的IP位址和埠號,可以是多個接收數據模塊,每個接收數據模塊連接需要同步的目標資料庫,比如連接到目標資料庫之一的資料庫B ;
4、推送數據模塊不停地掃描同步事件表,當發現有同步事件時,就啟動推送數據模塊進行處理,根據事件類型,讀取需要同步的數據,發送給接收數據模塊,由接收數據模塊根據目標資料庫要求的數據結構寫到目標資料庫中,供目標系統快速讀取。圖I的具體過程是
(1)部署資料庫A;
(2)部署推送數據模塊,該模塊連接到資料庫A;
(3)部署資料庫B;
(4)部署接收數據模塊,該模塊連接到資料庫B;
(5)源數據改變,產生同步數據請求事件;
(6)推送數據模塊接收到請求,向接收數據模塊請求握手;
(7)握手失敗,重複握手請求,直到握手成功;
(8)推送數據模塊組織數據,發送給接收數據模塊;
(9)接收數據模塊將接收到的數據寫入資料庫B;
(10)如果第(9)步處理成功,則數據同步成功,刪除並備份同步請求事件;
(11)如果第(9)步處理失敗,則更新同步請求事件的狀態標誌,以備手工重新同步用。圖2所示是本發明在UTStarcom公司IPTV (交互式網絡電視)的應用實例。在UTStarcom公司的IPTV系統中存在媒資管理系統MAM (媒資管理網元)與EPG(電子節目菜單系統),MAM使用的是Oracle資料庫,而EPG使用的是mysql資料庫,並且基於效率考慮兩個網元的數據結構差別很大。MAM是媒資數據的入口,EPG是出口,最終展現給終端用戶。這樣就產生了當MAM上錄入或者修改了媒資數據後,如何快速地反應到EPG中的問題,為了解決此問題,應用本發明開發出媒資數據同步的網元,該網元使用的技術就是利用資料庫中數據的變更產生變更事件,由此事件觸發同步網元工作,將數據同步給EPG網元。在該過程中,EPG不直接接收同步網元MAM2CM (媒資管理網元數據修改下發給電子節目菜單資料庫的網元)發過來的數據,而是通過中間接收網元CMM (電子節目菜單數據前端接收網元)接收,並處理後再寫入EPG (電子節目菜單)的資料庫MDDB中。圖2的具體步驟是(A)部署OSS資料庫Oracle(OSS :運營支持系統);
(B)部署推送數據模塊MAM2CM,MAM2CM模塊連接到OSS資料庫;
(C)部署EPG資料庫MDDB(Mysql資料庫);
(D)部署接收數據模塊CMM,CMM模塊連接到資料庫MDDB;
(E)OSS資料庫中的媒資元數據發生改變,產生同步數據請求事件;
(F)MAM2CM推送數據模塊接收到請求,向接收數據模塊CMM請求握手;
(G)握手失敗,重複握手請求,直到握手成功;
(H)推送數據模塊MAM2CM組織數據,發送給接收數據模塊CMM; (I)接收數據模塊CMM將接收到的數據寫入資料庫MDDB;
(J)如果第(I)步處理成功,則數據同步成功,刪除並備份同步請求事件;
(K)如果第(I)步處理失敗,則更新同步請求事件的狀態,以備手工重新同步用。所以本發明具有在不同的資料庫、不同的數據模型環境下,一個源資料庫可以同步到多個目標資料庫,可以進行大批量數據快速同步,通過事件觸發方式實現了數據及時同步,數據實時性好等特徵。
權利要求
1.一種通過事件觸發同步不同資料庫的方法,用於將一個源資料庫及時同步到多個不同種類、不同數據模型的目標資料庫,其特徵包括 (a)當源資料庫中的數據變更時,產生請求同步的變更事件; (b)推送數據模塊掃描源資料庫中的變更事件,當有變更事件時,就觸發推送數據模塊將這次變更的數據按照接收數據模塊的數據結構組成數據包,發給接收數據模塊; (C)接收數據模塊經過數據包解析後寫入目標資料庫。
2.根據權利要求I所述一種通過事件觸發同步不同資料庫的方法,其特徵在於在源資料庫裡部署產生變更事件的資料庫腳本,當源資料庫中有數據變更時就記錄一條事件到資料庫事件表中。
3.根據權利要求I所述一種通過事件觸發同步不同資料庫的方法,其特徵在於所述的接收數據模塊是多個接收數據模塊,每個接收數據模塊連接需要同步的目標資料庫,每個接收數據模塊將接收到的數據寫進相應的目標資料庫。
4.根據權利要求1,2或3所述一種通過事件觸發同步不同資料庫的方法,其特徵在於當通信出現中斷時,變更的數據自動重新下發,直到數據同步成功。
5.根據權利要求1,2或3所述一種通過事件觸發同步不同資料庫的方法,其特徵在於當目標資料庫處理出錯時,通過修改數據變更事件的狀態標誌來觸發變更的數據重新下發。
6.根據權利要求5所述一種通過事件觸發同步不同資料庫的方法,其特徵在於當接收數據模塊處理出錯時,對源資料庫中的數據進行處理,在數據正確後,通過修改數據變更事件的狀態標誌實現再次下發。
7.根據權利要求2所述一種通過事件觸發同步不同資料庫的方法,其特徵在於在源資料庫中當一次批量增加大量數據或修改大量數據時,不再每條數據產生一條數據變更事件,而是一批數據只產生一條數據變更事件去觸發推送數據模塊和接收數據模塊進行數據同步。
全文摘要
本發明公開了一種通過事件觸發同步不同資料庫的方法,實現在不同種類資料庫、不同的數據模型環境下,一個源資料庫及時同步到多個目標資料庫,以及大批量數據快速同步,它包括當源資料庫中的數據變更時,產生請求同步的變更事件;推送數據模塊掃描源資料庫中的變更事件,當有變更事件時,就觸發推送數據模塊將這次變更的數據按照接收數據模塊的數據結構組成數據包,發給接收數據模塊;接收數據模塊經過數據包解析後寫入目標資料庫。
文檔編號G06F17/30GK102945236SQ201110387829
公開日2013年2月27日 申請日期2011年11月29日 優先權日2011年11月29日
發明者高中虎 申請人:Ut斯達康通訊有限公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀