數(shù)據(jù)實時同步系統(tǒng)及方法
【專利摘要】本發(fā)明公開了一種數(shù)據(jù)實時同步系統(tǒng)及方法。該系統(tǒng)包括:同步內(nèi)容管理器,用于根據(jù)用戶配置的數(shù)據(jù)庫標(biāo)簽點之間的映射關(guān)系獲取同步配置信息;數(shù)據(jù)訂閱管理器,用于根據(jù)所述同步配置信息生成訂閱請求并發(fā)送到源端數(shù)據(jù)庫,還用于接收源端數(shù)據(jù)庫根據(jù)所述訂閱請求生成的訂閱結(jié)果;多路任務(wù)調(diào)度器,用于接收所述同步內(nèi)容管理器接收到的訂閱結(jié)果,并對其中的數(shù)據(jù)進行整理和調(diào)度處理;數(shù)據(jù)篩選器,用于對所述多路任務(wù)調(diào)度器整理和調(diào)度處理后的數(shù)據(jù)進行壓縮處理、濾波處理或條件篩選處理;實時通信中間件,用于將所述數(shù)據(jù)篩選器處理后的數(shù)據(jù)發(fā)送到相應(yīng)的目的端數(shù)據(jù)庫,完成同步。本發(fā)明解決了全量和增量同步需求帶來的數(shù)據(jù)冗余問題。
【專利說明】數(shù)據(jù)實時同步系統(tǒng)及方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及數(shù)據(jù)同步【技術(shù)領(lǐng)域】,具體地說,是一種數(shù)據(jù)實時同步的系統(tǒng)及方法。
【背景技術(shù)】
[0002]本發(fā)明針對多個數(shù)據(jù)庫之間同步部分數(shù)據(jù)源的需求,提出多路數(shù)據(jù)同步方法和實現(xiàn)這一方法的系統(tǒng),解決了全量和增量同步需求帶來的數(shù)據(jù)冗余問題,系統(tǒng)通過采用通用數(shù)據(jù)緩存機制,降低了一次同步不成功帶來的源端數(shù)據(jù)庫節(jié)點的壓力,系統(tǒng)通過采用雙機制的數(shù)據(jù)傳輸方式,解決了高吞吐實時數(shù)據(jù)的同步問題。
[0003]基于網(wǎng)絡(luò)的數(shù)據(jù)共享已成為人們獲得最新數(shù)據(jù)資源不可或缺的方式,而數(shù)據(jù)同步是主要的資源共享手段之一。數(shù)據(jù)同步方式有以下優(yōu)點:高冗余,提高了數(shù)據(jù)的抗災(zāi)容災(zāi)能力;遠程數(shù)據(jù)本地化,減少了訪問數(shù)據(jù)時的網(wǎng)絡(luò)開銷,提高了數(shù)據(jù)訪問效率;可以充分利用每個節(jié)點的CPU和I/O資源,提高整體的數(shù)據(jù)訪問效率。
[0004]然而,現(xiàn)有的數(shù)據(jù)同步方法實現(xiàn)簡單但存在很多問題,無法滿足日益增長的數(shù)據(jù)共享需求。主要表現(xiàn)在:
(I)傳統(tǒng)的同步方式為簡單的復(fù)制式同步,缺乏對各種資源的有機整合,造成各共享節(jié)點大量冗余數(shù)據(jù)。
[0005](2)傳統(tǒng)的同步方式基本上是基于掃描的數(shù)據(jù)共享,實時性差,并且在數(shù)據(jù)沒有發(fā)生變化時往往會耗用無謂的網(wǎng)絡(luò)帶寬和CPU資源去監(jiān)視數(shù)據(jù)的變化以便及時同步。當(dāng)對數(shù)據(jù)同步實時性要求增高時,造成的系統(tǒng)開銷是指數(shù)增長的。
[0006](3)現(xiàn)有的同步方式,要求同步的節(jié)點同時保持在線,一旦有節(jié)點不在線情況,需要訪問數(shù)據(jù)源節(jié)點獲取差異部分數(shù)據(jù),有的甚至要對全部數(shù)據(jù)進行重新同步,大大增加數(shù)據(jù)源節(jié)點的工作負擔(dān)。
[0007](4)傳統(tǒng)的同步方式基本是針對傳統(tǒng)的關(guān)系數(shù)據(jù)或文件系統(tǒng)數(shù)據(jù)的,沒有考慮針對高吞吐實時數(shù)據(jù)的同步方案。
【發(fā)明內(nèi)容】
[0008]本發(fā)明要解決的技術(shù)問題是提供一種數(shù)據(jù)實時同步系統(tǒng)及方法,可以實現(xiàn)多個數(shù)據(jù)庫之間任意標(biāo)簽點數(shù)據(jù)的同步,提高同步的靈活性,并可以降低系統(tǒng)的負擔(dān)。
[0009]為了解決上述技術(shù)問題,本發(fā)明提供了一種數(shù)據(jù)實時同步系統(tǒng),包括:
同步內(nèi)容管理器,用于根據(jù)用戶配置的數(shù)據(jù)庫標(biāo)簽點之間的映射關(guān)系獲取同步配置信
息;
數(shù)據(jù)訂閱管理器,用于根據(jù)所述同步配置信息生成訂閱請求并發(fā)送到源端數(shù)據(jù)庫,還用于接收源端數(shù)據(jù)庫根據(jù)所述訂閱請求生成的訂閱結(jié)果,并將訂閱結(jié)果發(fā)送給所述同步內(nèi)
容管理器;
多路任務(wù)調(diào)度器,用于接收所述同步內(nèi)容管理器接收到的訂閱結(jié)果,并對其中的數(shù)據(jù)進行整理和調(diào)度處理; 數(shù)據(jù)篩選器,用于對所述多路任務(wù)調(diào)度器整理和調(diào)度處理后的數(shù)據(jù)進行壓縮處理、濾波處理或條件篩選處理;
實時通信中間件,用于將所述數(shù)據(jù)篩選器處理后的數(shù)據(jù)發(fā)送到相應(yīng)的目的端數(shù)據(jù)庫,完成冋步。
[0010]進一步地,還包括:
通用文件緩存器,用于在無法與目的端數(shù)據(jù)庫建立連接時,對需要同步的數(shù)據(jù)進行緩存;并在與目的端數(shù)據(jù)庫建立連接后,將緩存的數(shù)據(jù)發(fā)送到目的端數(shù)據(jù)庫。
[0011]進一步地,所述實時通信中間件在將高頻的小包數(shù)據(jù)發(fā)送到目的端數(shù)據(jù)庫之前,先將高頻的小包數(shù)據(jù)緩存到內(nèi)存,待緩存的數(shù)據(jù)達到一定閾值或緩存時間超出設(shè)定的時間時,再將緩存的數(shù)據(jù)發(fā)送到對應(yīng)目的端數(shù)據(jù)庫。
[0012]進一步地,所述數(shù)據(jù)篩選器對數(shù)據(jù)進行條件篩選所依據(jù)的條件由用戶配置或預(yù)先設(shè)置。
[0013]進一步地,所述實時通信中間件根據(jù)所述多路任務(wù)調(diào)度器的調(diào)度也采用多個通路將同步數(shù)據(jù)發(fā)送到對應(yīng)的目的端數(shù)據(jù)庫。
[0014]本發(fā)明還提供了一種數(shù)據(jù)實時同步方法,包括:
A、根據(jù)用戶配置的數(shù)據(jù)庫標(biāo)簽點之間的映射關(guān)系獲取同步配置信息;
B、根據(jù)所述同步配置信息生成訂閱請求并發(fā)送到源端數(shù)據(jù)庫,所述源端數(shù)據(jù)庫根據(jù)所述訂閱請求生成訂閱結(jié)果;
C、根據(jù)訂閱結(jié)果,對其中的數(shù)據(jù)進行整理和調(diào)度處理;
D、對整理和調(diào)度處理后的數(shù)據(jù)進行壓縮處理、濾波處理或條件篩選處理;
E、將所述壓縮處理、濾波處理或條件篩選處理后的數(shù)據(jù)發(fā)送到相應(yīng)的目的端數(shù)據(jù)庫,完成冋步。
[0015]進一步地,所述步驟E中,在無法與目的端數(shù)據(jù)庫建立連接時,對需要同步的數(shù)據(jù)進行緩存;并在與目的端數(shù)據(jù)庫建立連接后,將緩存的數(shù)據(jù)發(fā)送到目的端數(shù)據(jù)庫。、
進一步地,所述步驟E中,在將所述壓縮處理、濾波處理或條件篩選處理后的數(shù)據(jù)發(fā)送到相應(yīng)的目的端數(shù)據(jù)庫前,先緩存高頻的小包數(shù)據(jù),待緩存的數(shù)據(jù)達到一定閾值或緩存時間超出設(shè)定的時間時,將緩存的數(shù)據(jù)發(fā)送到對應(yīng)目的端數(shù)據(jù)庫。
[0016]進一步地,所述步驟E中,對數(shù)據(jù)進行條件篩選所依據(jù)的條件由用戶配置或預(yù)先設(shè)置。
[0017]進一步地,所述步驟E中,根據(jù)所述多路任務(wù)調(diào)度器的調(diào)度采用多個通路將同步數(shù)據(jù)發(fā)送到對應(yīng)的目的端數(shù)據(jù)庫。
[0018]本發(fā)明針對多個數(shù)據(jù)庫之間同步部分數(shù)據(jù)源的需求,解決了全量和增量同步需求帶來的數(shù)據(jù)冗余問題,通過采用通用數(shù)據(jù)緩存機制,降低了一次同步不成功帶來的源端數(shù)據(jù)庫節(jié)點的壓力,系統(tǒng)通過采用雙機制的數(shù)據(jù)傳輸方式,解決了高吞吐實時數(shù)據(jù)的同步問題。
【專利附圖】
【附圖說明】
[0019]圖1是本發(fā)明的數(shù)據(jù)實時同步系統(tǒng)的原理框圖。
[0020]圖2是本發(fā)明的數(shù)據(jù)實時同步方法的流程圖。[0021]圖3是利用本發(fā)明的數(shù)據(jù)實時同步系統(tǒng)進行同步的流程圖。
【具體實施方式】
[0022]下面結(jié)合附圖和具體實施例對本發(fā)明作進一步說明,以使本領(lǐng)域的技術(shù)人員可以更好地理解本發(fā)明并能予以實施,但所舉實施例不作為對本發(fā)明的限定。
[0023]如圖1所示,本發(fā)明的數(shù)據(jù)實時同步系統(tǒng)用于將源端數(shù)據(jù)庫中的數(shù)據(jù)同步到目的端數(shù)據(jù)庫,其中,源端數(shù)據(jù)庫和目的端數(shù)據(jù)庫均可以是多個實時數(shù)據(jù)庫系統(tǒng),且源端數(shù)據(jù)庫和目的端數(shù)據(jù)庫不是固定的。例如某數(shù)據(jù)庫在一次同步中是作為源端數(shù)據(jù)庫的,而在另一次同步中則可能作為目的端數(shù)據(jù)庫,本發(fā)明對此不作限定。本發(fā)明的多路實時數(shù)據(jù)同步系統(tǒng)可以獨立部署在一臺服務(wù)器上,也可以在多臺服務(wù)器上部署多路實時數(shù)據(jù)同步系統(tǒng)。其包括:
同步內(nèi)容管理器,用于根據(jù)用戶配置的數(shù)據(jù)庫標(biāo)簽點之間的映射關(guān)系獲取同步配置信
息;
數(shù)據(jù)訂閱管理器,用于根據(jù)所述同步配置信息生成訂閱請求并發(fā)送到源端數(shù)據(jù)庫,還用于接收源端數(shù)據(jù)庫根據(jù)所述訂閱請求生成的訂閱結(jié)果,并將訂閱結(jié)果發(fā)送給所述同步內(nèi)
容管理器;
多路任務(wù)調(diào)度器,用于接收所述同步內(nèi)容管理器接收到的訂閱結(jié)果,并對其中的數(shù)據(jù)進行整理和調(diào)度處理;
數(shù)據(jù)篩選器,用于對所述多路任務(wù)調(diào)度器整理和調(diào)度處理后的數(shù)據(jù)進行壓縮處理、濾波處理或條件篩選處理;
實時通信中間件,用于將所述數(shù)據(jù)篩選器處理后的數(shù)據(jù)發(fā)送到相應(yīng)的目的端數(shù)據(jù)庫,完成冋步。
[0024]其中,多路任務(wù)調(diào)度器所執(zhí)行的整理是根據(jù)用戶配置的每條映射關(guān)系將數(shù)據(jù)進行整理。調(diào)度處理是將每條映射看成一個任務(wù),根據(jù)優(yōu)先級將數(shù)據(jù)下發(fā)給數(shù)據(jù)篩選器。數(shù)據(jù)篩選器處理的是流數(shù)據(jù),其個數(shù)的確定方法為:有多少個通路或目的端,就會生成多少個數(shù)據(jù)篩選器實例,即每個通路對應(yīng)一個數(shù)據(jù)篩選器實例。一個數(shù)據(jù)篩選器對一個通路里的數(shù)據(jù)進行壓縮、濾波或條件篩選處理。
[0025]本發(fā)明使用基于訂閱機制的數(shù)據(jù)共享,提高了同步的實時性,可以滿足更高級的應(yīng)用需求,并可用于傳統(tǒng)的關(guān)系數(shù)據(jù)或文件系統(tǒng)數(shù)據(jù)。
[0026]另外,本發(fā)明的數(shù)據(jù)實時同步系統(tǒng)還包括通用文件緩存器,用于在無法與目的端數(shù)據(jù)庫建立連接時,對需要同步的數(shù)據(jù)進行緩存;并在與目的端數(shù)據(jù)庫建立連接后,將緩存的數(shù)據(jù)發(fā)送到目的端數(shù)據(jù)庫。實時通信中間件在將高頻的小包數(shù)據(jù)發(fā)送到目的端數(shù)據(jù)庫之前,先將高頻的小包數(shù)據(jù)緩存到內(nèi)存,待緩存的數(shù)據(jù)達到一定閾值或緩存時間超出設(shè)定的時間時,將緩存的數(shù)據(jù)發(fā)送到對應(yīng)目的端數(shù)據(jù)庫。本發(fā)明使用多路緩存機制,通過添加通用的實時數(shù)據(jù)緩存模塊,實時數(shù)據(jù)緩存模塊根據(jù)通路的個數(shù)生成多個實例。針對每個通路或目的端的通信情況,確定是否調(diào)用實時數(shù)據(jù)緩存功能。當(dāng)目的端不在線時可以把數(shù)據(jù)緩存到本地,待目的端在線時會將緩存數(shù)據(jù)順序地發(fā)送到目的端,以實現(xiàn)實時數(shù)據(jù)的同步需求,又不增加數(shù)據(jù)源節(jié)點的負擔(dān)。
[0027]其中,數(shù)據(jù)篩選器對數(shù)據(jù)壓縮處理和濾波處理是系統(tǒng)預(yù)先設(shè)定的方法;條件篩選可以是系統(tǒng)預(yù)先設(shè)定的方法,也可以根據(jù)用戶的需求設(shè)定。本發(fā)使用實時數(shù)據(jù)壓縮、濾波和條件篩選機制,將大量無參考意義的采集數(shù)據(jù)過濾掉,降低系統(tǒng)吞吐壓力的同時,又不會丟失任何關(guān)鍵信息。
[0028]實時通信中間件根據(jù)所述多路任務(wù)調(diào)度器的調(diào)度采用多個通路將同步數(shù)據(jù)發(fā)送到對應(yīng)的目的端數(shù)據(jù)庫,其中一個通路負責(zé)一個目的端數(shù)據(jù)庫的數(shù)據(jù)同步,多路任務(wù)調(diào)度器根據(jù)優(yōu)先級別對每個通路中的多個任務(wù)進行任務(wù)調(diào)度。在多路模式下,數(shù)據(jù)訂閱管理器需要識別收到的實時訂閱結(jié)果分別屬于源端的哪個數(shù)據(jù)庫的哪個標(biāo)簽點。本發(fā)明使用多路設(shè)計機制來實現(xiàn)N對N的數(shù)據(jù)同步方式,方便資源靈活有機整合。
[0029]在本發(fā)明中,同步內(nèi)容管理器實現(xiàn)了對同步數(shù)據(jù)進行配置和管理的功能。為了實現(xiàn)靈活的資源整合功能,用戶可以使用同步內(nèi)容管理器按目的端數(shù)據(jù)標(biāo)簽點的需求,靈活在源端數(shù)據(jù)庫中配置關(guān)心的數(shù)據(jù)內(nèi)容,同步內(nèi)容管理器將配置信息進行管理和組織,在運行同步時,按照配置的需求將數(shù)據(jù)訂閱管理器發(fā)來的源端數(shù)據(jù)庫的數(shù)據(jù)進行整理分發(fā)到不同的目的端。多路任務(wù)調(diào)度器在多路模式下負責(zé)對多路任務(wù)進行上下文管理和基于訂閱機制的實時任務(wù)調(diào)度。當(dāng)多路任務(wù)調(diào)度器接收到實時訂閱結(jié)果后,則激活相應(yīng)任務(wù)進行數(shù)據(jù)整理、數(shù)據(jù)調(diào)度、實時數(shù)據(jù)發(fā)送等一系列操作,最終完成一次完整的任務(wù)調(diào)度。數(shù)據(jù)篩選器負責(zé)每個目的端標(biāo)簽點對數(shù)據(jù)的篩選的需求,對數(shù)據(jù)進行壓縮處理、濾波處理、條件篩選等處理,形成最終目的端標(biāo)簽點想要得到的有意義的數(shù)據(jù),達到降低網(wǎng)絡(luò)資源消耗的目的,又不影響目的端應(yīng)用的效果。該數(shù)據(jù)篩選器根據(jù)每個不同目的端配置有獨立數(shù)據(jù)處理上下文問題,滿足各目的端靈活又差異化的數(shù)據(jù)同步需求。另外,當(dāng)配置好的目的端與同步系統(tǒng)出現(xiàn)網(wǎng)絡(luò)通信問題,或目的端由于宕機或維護等原因沒有即時啟動,通用文件緩存器負責(zé)在此時針對每個目的端網(wǎng)絡(luò)滯留數(shù)據(jù)進行文件級的緩存,以避免數(shù)據(jù)丟失。待目的端再次在線時,實時通信中間件會把緩存數(shù)據(jù)順序發(fā)送到目的端,實現(xiàn)一種離線數(shù)據(jù)的同步。增強數(shù)據(jù)同步部署的易用性和易維護性。而實時通信中間件是一個高效又不失實時性的特殊通信模塊,通過數(shù)據(jù)緩存和數(shù)據(jù)超時雙機制配合,來完成實時數(shù)據(jù)的高效且實時的發(fā)送。在普通網(wǎng)絡(luò)通信模塊下,沒有數(shù)據(jù)緩存機制的話,高頻的小包數(shù)據(jù)會對網(wǎng)絡(luò)造成比較大的傳輸壓力。而普通的數(shù)據(jù)緩存機制又會影響數(shù)據(jù)傳輸實時性。所以通過緩存和超時雙機制來實現(xiàn)實時且高效的通信。
[0030]本發(fā)明的一種數(shù)據(jù)實時同步方法,包括:
A、根據(jù)用戶配置的數(shù)據(jù)庫標(biāo)簽點之間的映射關(guān)系獲取同步配置信息;
B、根據(jù)所述同步配置信息生成訂閱請求并發(fā)送到源端數(shù)據(jù)庫,所述源端數(shù)據(jù)庫根據(jù)所述訂閱請求生成訂閱結(jié)果;
C、根據(jù)訂閱結(jié)果,對其中的數(shù)據(jù)進行整理和調(diào)度處理;
D、對整理和調(diào)度處理后的數(shù)據(jù)進行壓縮處理、濾波處理或條件篩選處理;
E、將所述壓縮處理、濾波處理或條件篩選處理后的數(shù)據(jù)發(fā)送到相應(yīng)的目的端數(shù)據(jù)庫,完成冋步。
[0031]其中,所述步驟E中,在無法與目的端數(shù)據(jù)庫建立連接時,對需要同步的數(shù)據(jù)進行緩存;并在與目的端數(shù)據(jù)庫建立連接后,將緩存的數(shù)據(jù)發(fā)送到目的端數(shù)據(jù)庫。
[0032]所述步驟E中,在將所述壓縮處理、濾波處理或條件篩選處理后的數(shù)據(jù)發(fā)送到相應(yīng)的目的端數(shù)據(jù)庫前,先緩存高頻的小包數(shù)據(jù),待緩存的數(shù)據(jù)達到一定閾值或緩存時間超出設(shè)定的時間時,將緩存的數(shù)據(jù)發(fā)送到對應(yīng)目的端數(shù)據(jù)庫。
[0033] 所述步驟E中,對數(shù)據(jù)進行條件篩選所依據(jù)的條件由用戶配置或預(yù)先設(shè)置。
[0034]所述步驟E中,根據(jù)所述多路任務(wù)調(diào)度器的調(diào)度采用多路將同步數(shù)據(jù)發(fā)送到對應(yīng)的目的端數(shù)據(jù)庫。
[0035]參見圖2所示,并結(jié)合圖1,數(shù)據(jù)實時同步系統(tǒng)工作流程如圖2所示:
(1)通過數(shù)據(jù)實時同步系統(tǒng)配置標(biāo)簽點映射關(guān)系,即目的端數(shù)據(jù)庫中的某個標(biāo)簽點需要同步源端數(shù)據(jù)庫中的哪一個標(biāo)簽點,得到同步配置信息,同步配置信息中包含有源端數(shù)據(jù)庫標(biāo)簽點標(biāo)識及目的端數(shù)據(jù)庫標(biāo)簽點標(biāo)識等,比如,目的端數(shù)據(jù)庫A中的標(biāo)簽點Al、A2、A3分別需要同步需要同步源端數(shù)據(jù)庫b中的標(biāo)簽點bl、源端數(shù)據(jù)庫c中的標(biāo)簽點Cl、源端數(shù)據(jù)庫η中的標(biāo)簽點nl,即需要將標(biāo)簽點bl、cl、nl源端數(shù)據(jù)分別同步到A中的標(biāo)簽點Al、A2、A3 ;
(2)根據(jù)同步配置信息生成訂閱請求,并發(fā)送到源端數(shù)據(jù)庫;源端數(shù)據(jù)庫根據(jù)訂閱請求生成訂閱結(jié)果,即目的端數(shù)據(jù)庫所請求的數(shù)據(jù),該數(shù)據(jù)到達系統(tǒng)的數(shù)據(jù)訂閱管理器,訂閱管理器接收到訂閱數(shù)據(jù),連同源端標(biāo)識一起交給同步內(nèi)容管理器;
(3)同步內(nèi)容管理器根據(jù)源端標(biāo)識和訂閱數(shù)據(jù)內(nèi)容,對數(shù)據(jù)進行按目的端的整理,同時通知多路任務(wù)調(diào)度器進行任務(wù)調(diào)度,將目的端標(biāo)識和訂閱數(shù)據(jù)交給對應(yīng)的任務(wù)進行數(shù)據(jù)處理;
(4)任務(wù)被喚醒后,根據(jù)自身上下文和數(shù)據(jù)篩選需求,對數(shù)據(jù)進行濾波、壓縮、條件篩選等流程,最終將篩選后的數(shù)據(jù)交予實時通信中間件;
(5)實時通信中間件將數(shù)據(jù)實時發(fā)出,這里采用雙機制進行數(shù)據(jù)發(fā)送,首先對高頻的小包數(shù)據(jù)進行緩存,待緩存的數(shù)據(jù)達到一定閾值或緩存時間超出設(shè)定的時間,進行數(shù)據(jù)發(fā)送。如果發(fā)送失敗,則將數(shù)據(jù)交給通用文件緩存器進行文件緩存處理。一旦發(fā)現(xiàn)網(wǎng)絡(luò)通暢,實時通信中間件會主動從文件緩存器獲取緩存數(shù)據(jù),將數(shù)據(jù)發(fā)給對應(yīng)的目的端。其中,對高頻的小包數(shù)據(jù)進行緩存的操作是由實時通信中間件來完成的。
[0036]再結(jié)合圖3所示進一步具體說明。根據(jù)配置的數(shù)據(jù)庫標(biāo)簽點之間的映射關(guān)系,需要將bl、cl、dl源端數(shù)據(jù)同步到實時數(shù)據(jù)庫系統(tǒng)A中的Al、A2、A3,將a2、c2、d2源端數(shù)據(jù)同步到實時數(shù)據(jù)庫系統(tǒng)B中的B1、B2、B3,將a3、b3、d3源端數(shù)據(jù)同步到實時數(shù)據(jù)庫C中的
C1、C2、C3,.......源端數(shù)據(jù)131、。1、(11、&2、。2、(12、&343、(13、......連同源端標(biāo)識發(fā)送給
同步內(nèi)容管理器;同步內(nèi)容管理器按目的端數(shù)據(jù)庫A、B、C、……整理這些源端數(shù)據(jù)和源端標(biāo)識,交予多路任務(wù)調(diào)度器;多路任務(wù)調(diào)度器根據(jù)目的端數(shù)據(jù)庫不同將任務(wù)劃分給不同的通路,即每一路處理一個目的端的多個任務(wù),多路任務(wù)調(diào)度器根據(jù)每個通路的上不同任務(wù)的優(yōu)先級別對每一路任務(wù)進行處理,每個通路或目的端對應(yīng)的數(shù)據(jù)篩選器根據(jù)任務(wù)需求對數(shù)據(jù)進行壓縮、濾波或篩選處理后,將數(shù)據(jù)交予實時通信中間件;實時通信中間件根據(jù)源端標(biāo)簽點和目的端數(shù)據(jù)庫標(biāo)簽點的對應(yīng)關(guān)系,利用數(shù)據(jù)緩存和超時機制將數(shù)據(jù)同步到相應(yīng)的目的端,否則對發(fā)送失敗的數(shù)據(jù)緩存,直至發(fā)送成功。
[0037]本發(fā)明區(qū)別于以往全量式或增量式同步方式,采用靈活配置同步數(shù)據(jù)源的方式,提高了同步的實時性;本發(fā)明采用多路任務(wù)調(diào)度機制,支持多個數(shù)據(jù)庫之間任意數(shù)據(jù)源點的同步,提高了同步的靈活性;本發(fā)明提供數(shù)據(jù)緩存機制,降低了因同步不成功導(dǎo)致的源端數(shù)據(jù)庫的工作負擔(dān);本發(fā)明采用數(shù)據(jù)緩沖和數(shù)據(jù)超時機制的數(shù)據(jù)傳輸方式,解決了高吞吐實時數(shù)據(jù)的同步問題。
[0038]以上所述實施例僅是為充分說明本發(fā)明而所舉的較佳的實施例,本發(fā)明的保護范圍不限于此。本【技術(shù)領(lǐng)域】的技術(shù)人員在本發(fā)明基礎(chǔ)上所作的等同替代或變換,均在本發(fā)明的保護范圍之內(nèi)。本發(fā)明的保護范圍以權(quán)利要求書為準(zhǔn)。
【權(quán)利要求】
1.一種數(shù)據(jù)實時同步系統(tǒng),其特征在于,包括: 同步內(nèi)容管理器,用于根據(jù)用戶配置的數(shù)據(jù)庫標(biāo)簽點之間的映射關(guān)系獲取同步配置信息; 數(shù)據(jù)訂閱管理器,用于根據(jù)所述同步配置信息生成訂閱請求并發(fā)送到源端數(shù)據(jù)庫,還用于接收源端數(shù)據(jù)庫根據(jù)所述訂閱請求生成的訂閱結(jié)果,并將訂閱結(jié)果發(fā)送給所述同步內(nèi)容管理器; 多路任務(wù)調(diào)度器,用于接收所述同步內(nèi)容管理器接收到的訂閱結(jié)果,并對其中的數(shù)據(jù)進行整理和調(diào)度處理; 數(shù)據(jù)篩選器,用于對所述多路任務(wù)調(diào)度器整理和調(diào)度處理后的數(shù)據(jù)進行壓縮處理、濾波處理或條件篩選處理; 實時通信中間件,用于將所述數(shù)據(jù)篩選器處理后的數(shù)據(jù)發(fā)送到相應(yīng)的目的端數(shù)據(jù)庫,完成冋步。
2.根據(jù)權(quán)利要求1所述的數(shù)據(jù)實時同步系統(tǒng),其特征在于,還包括: 通用文件緩存器,用于在無法與目的端數(shù)據(jù)庫建立連接時,對需要同步的數(shù)據(jù)進行緩存;并在與目的端數(shù)據(jù)庫建立連接 后,將緩存的數(shù)據(jù)發(fā)送到目的端數(shù)據(jù)庫。
3.根據(jù)權(quán)利要求2所述的數(shù)據(jù)實時同步系統(tǒng),其特征在于,所述實時通信中間件在將高頻的小包數(shù)據(jù)發(fā)送到目的端數(shù)據(jù)庫之前,先將高頻的小包數(shù)據(jù)緩存到內(nèi)存,待緩存的數(shù)據(jù)達到一定閾值或緩存時間超出設(shè)定的時間時,再將緩存的數(shù)據(jù)發(fā)送到對應(yīng)目的端數(shù)據(jù)庫。
4.根據(jù)權(quán)利要求1所述的數(shù)據(jù)實時同步系統(tǒng),其特征在于,所述數(shù)據(jù)篩選器對數(shù)據(jù)進行條件篩選所依據(jù)的條件由用戶配置或預(yù)先設(shè)置。
5.根據(jù)權(quán)利要求1所述的數(shù)據(jù)實時同步系統(tǒng),其特征在于,所述實時通信中間件根據(jù)所述多路任務(wù)調(diào)度器的調(diào)度也采用多個通路將同步數(shù)據(jù)發(fā)送到對應(yīng)的目的端數(shù)據(jù)庫。
6.一種數(shù)據(jù)實時同步方法,其特征在于,包括: A、根據(jù)用戶配置的數(shù)據(jù)庫標(biāo)簽點之間的映射關(guān)系獲取同步配置信息; B、根據(jù)所述同步配置信息生成訂閱請求并發(fā)送到源端數(shù)據(jù)庫,所述源端數(shù)據(jù)庫根據(jù)所述訂閱請求生成訂閱結(jié)果; C、根據(jù)訂閱結(jié)果,對其中的數(shù)據(jù)進行整理和調(diào)度處理; D、對整理和調(diào)度處理后的數(shù)據(jù)進行壓縮處理、濾波處理或條件篩選處理; E、將所述壓縮處理、濾波處理或條件篩選處理后的數(shù)據(jù)發(fā)送到相應(yīng)的目的端數(shù)據(jù)庫,完成冋步。
7.根據(jù)權(quán)利要求6所述的數(shù)據(jù)實時同步方法,其特征在于,所述步驟E中,在無法與目的端數(shù)據(jù)庫建立連接時,對需要同步的數(shù)據(jù)進行緩存;并在與目的端數(shù)據(jù)庫建立連接后,將緩存的數(shù)據(jù)發(fā)送到目的端數(shù)據(jù)庫。
8.根據(jù)權(quán)利要求6所述的數(shù)據(jù)實時同步方法,其特征在于,所述步驟E中,在將所述壓縮處理、濾波處理或條件篩選處理后的數(shù)據(jù)發(fā)送到相應(yīng)的目的端數(shù)據(jù)庫前,先緩存高頻的小包數(shù)據(jù),待緩存的數(shù)據(jù)達到一定閾值或緩存時間超出設(shè)定的時間時,將緩存的數(shù)據(jù)發(fā)送到對應(yīng)目的端數(shù)據(jù)庫。
9.根據(jù)權(quán)利要求6所述的數(shù)據(jù)實時同步方法,其特征在于,所述步驟E中,對數(shù)據(jù)進行條件篩選所依據(jù)的條件由用戶配置或預(yù)先設(shè)置。
10.根據(jù)權(quán)利要求6所述的數(shù)據(jù)實時同步方法,其特征在于,所述步驟E中,根據(jù)所述多路任務(wù)調(diào)度器的調(diào)度采用多個通路將同步數(shù)據(jù)發(fā)送到對應(yīng)的 目的端數(shù)據(jù)庫。
【文檔編號】H04L29/08GK103942324SQ201410176486
【公開日】2014年7月23日 申請日期:2014年4月29日 優(yōu)先權(quán)日:2014年4月29日
【發(fā)明者】王堃, 莫增文, 韓亞榮, 史麗坤, 孫浩宇, 王強 申請人:北京中科啟信軟件技術(shù)有限公司