亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

一種基于高速緩存的數(shù)據(jù)中心間廣域數(shù)據(jù)同步方法

文檔序號(hào):7866503閱讀:214來源:國(guó)知局
專利名稱:一種基于高速緩存的數(shù)據(jù)中心間廣域數(shù)據(jù)同步方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種基于高速緩存的數(shù)據(jù)中心間廣域數(shù)據(jù)同步方法,屬于通信技術(shù)領(lǐng)域。
背景技術(shù)
現(xiàn)有的實(shí)時(shí)數(shù)據(jù)管理系統(tǒng),一般是以一個(gè)數(shù)據(jù)中心為單位,進(jìn)行數(shù)據(jù)的分布式管理。即使有遠(yuǎn)程數(shù)據(jù)中心的同步功能,也有同步時(shí)間長(zhǎng),帶寬占用大等缺點(diǎn),而且往往系統(tǒng)非常龐雜,給用戶帶來的投入成本大。

發(fā)明內(nèi)容
為解決現(xiàn)有技術(shù)上的不足,本發(fā)明目的是在于是提供一種同步效率高、占用帶寬 小、可靠性高、可移植性好、部署簡(jiǎn)單的數(shù)據(jù)中心間廣域數(shù)據(jù)同步方法。為實(shí)現(xiàn)上述目的,本發(fā)明的技術(shù)方案為
一種基于高速緩存的數(shù)據(jù)中心間廣域數(shù)據(jù)同步方法。本發(fā)明以遠(yuǎn)程數(shù)據(jù)中心同步為主要目的,提高本地?cái)?shù)據(jù)訪問效率為次要目的,以增量更新、增量同步和文件備份為方法,提供了一種本地和遠(yuǎn)程訪問效率高,同步傳輸?shù)臄?shù)據(jù)量小,在遠(yuǎn)程服務(wù)器離線一段時(shí)間的條件下也能保證系統(tǒng)一致性的數(shù)據(jù)中心間廣域數(shù)據(jù)同步方法。本發(fā)明采用以下的技術(shù)方案來實(shí)現(xiàn)
本發(fā)明的一種基于高速緩存的數(shù)據(jù)中心間廣域數(shù)據(jù)同步方法,其特征在于包括以下步

(1)同步系統(tǒng)的初始化服務(wù)程序啟動(dòng)后,根據(jù)配置將系統(tǒng)訪問頻繁的數(shù)據(jù)預(yù)先裝入內(nèi)存。并與需要同步的數(shù)據(jù)中心進(jìn)行通信,比較正本與副本的差別,或有無副本,然后進(jìn)行同步。比較前首先對(duì)正本和副本按照同樣的策略進(jìn)行分片,比較每個(gè)分片的差別,然后對(duì)有差別的分片進(jìn)行同步;
(2)數(shù)據(jù)的讀寫訪問對(duì)數(shù)據(jù)的訪問皆通過系統(tǒng)提供的接口直接對(duì)內(nèi)存中的緩存進(jìn)行讀寫,后臺(tái)的服務(wù)程序有一個(gè)或多個(gè)獨(dú)立線程將內(nèi)存中的緩存寫入硬盤。后臺(tái)的服務(wù)線程采取周期性將通過接口修改的內(nèi)容批量寫入硬盤,保證數(shù)據(jù)的持久性,不是每次修改立刻寫入,也不是周期性的將所有數(shù)據(jù)寫入硬盤。(3)數(shù)據(jù)的遠(yuǎn)程同步周期性將通過接口修改的內(nèi)容從內(nèi)存中直接同步到遠(yuǎn)程數(shù)據(jù)中心,不是每次修改立刻同步,也不是周期性的同步所有數(shù)據(jù)。若遠(yuǎn)程接收的服務(wù)器離線,本地服務(wù)器會(huì)將此期間的大量?jī)?nèi)存修改保存在本地文件中。待網(wǎng)絡(luò)恢復(fù)時(shí)將文件發(fā)送到遠(yuǎn)程數(shù)據(jù)中心進(jìn)行更新,保證系統(tǒng)的可靠性。(4)數(shù)據(jù)服務(wù)器的雙機(jī)互備備機(jī)搭建并初始化完成后,高速緩存也與主機(jī)一致。此時(shí)開始接收數(shù)據(jù)的同步更新,通過網(wǎng)絡(luò)從主機(jī)接收修改的內(nèi)容同步到內(nèi)存和硬盤。當(dāng)主機(jī)宕機(jī)后備機(jī)立即接替承擔(dān)服務(wù)任務(wù)即升為主機(jī),并繼續(xù)與遠(yuǎn)程數(shù)據(jù)中心的服務(wù)器進(jìn)行同步。待故障服務(wù)器修復(fù)后可人工選擇繼續(xù)擔(dān)任主機(jī)角色執(zhí)行遠(yuǎn)程同步任務(wù)或恢復(fù)到備機(jī)狀態(tài)。上述功能均由計(jì)算機(jī)程序?qū)崿F(xiàn),能夠運(yùn)行在各種UNIX和Linux、Windows操作系統(tǒng)上,且不依賴操作系統(tǒng)自帶的軟件。5法的自動(dòng)切換和主備競(jìng)爭(zhēng)機(jī)制,自動(dòng)判斷是否進(jìn)行應(yīng)用狀態(tài)的切換。流本發(fā)明通過以上步驟,可達(dá)以下技術(shù)效果
1、同步效率高,只針對(duì)數(shù)據(jù)的修改部分進(jìn)行同步;
2、占用帶寬小,采用數(shù)據(jù)的分片比較方式,避免了初始化、正常同步或異?;謴?fù)時(shí)傳送所有數(shù)據(jù);
3、可靠性高,若遠(yuǎn)程主機(jī)離線可將修改存在本地,待網(wǎng)絡(luò)恢復(fù)繼續(xù)同步。且采用雙機(jī)互備技術(shù); 4、可移植性好,所有功能完全是有計(jì)算機(jī)程序?qū)崿F(xiàn),可運(yùn)行在各種UNIX和Linux、Windows操作系統(tǒng)上,不需要借助任何操作系統(tǒng)自帶的軟件;
5、具有跨平臺(tái)能力,源端和目的端可部署在不同操作系統(tǒng)的服務(wù)器上;
6、需預(yù)加載的數(shù)據(jù),高速緩存的上限,分片的大小等參數(shù)編程可調(diào);
7、部署簡(jiǎn)單,只需部署一個(gè)服務(wù)程序、一個(gè)動(dòng)態(tài)庫(kù)、一個(gè)配置文件即可運(yùn)行。


圖1是本發(fā)明中數(shù)據(jù)中心間廣域數(shù)據(jù)同步流程 圖2是本發(fā)明中數(shù)據(jù)讀寫訪問流程 圖3本發(fā)明中系統(tǒng)初始化流程圖。
具體實(shí)施例方式下面結(jié)合附圖對(duì)本發(fā)明的基于高速緩存的數(shù)據(jù)中心間廣域數(shù)據(jù)同步方法作進(jìn)一步的說明。參見圖1和圖2,本發(fā)明一種基于高速緩存的數(shù)據(jù)中心間廣域數(shù)據(jù)同步方法,其以遠(yuǎn)程數(shù)據(jù)中心同步為主要目的,提高本地?cái)?shù)據(jù)訪問效率為次要目的,以增量更新、增量同步和文件備份為方法,而提供了一種本地和遠(yuǎn)程訪問效率高,同步傳輸?shù)臄?shù)據(jù)量小,在遠(yuǎn)程服務(wù)器離線一段時(shí)間的條件下也能保證系統(tǒng)一致性的數(shù)據(jù)中心間廣域數(shù)據(jù)同步方法,其包括以下步驟
(O同步的對(duì)象全部為內(nèi)存中的實(shí)時(shí)數(shù)據(jù),對(duì)磁盤上的文件進(jìn)行同步需先讀入內(nèi)存;
(2)對(duì)內(nèi)存數(shù)據(jù)的同步采用增量同步與全同步結(jié)合的方式,數(shù)據(jù)同步系統(tǒng)提供數(shù)據(jù)訪問接口給上層應(yīng)用程序使用,上層應(yīng)用程序通過此接口修改內(nèi)存中的實(shí)時(shí)數(shù)據(jù),同步系統(tǒng)將接口調(diào)用修改的內(nèi)容同步到遠(yuǎn)程數(shù)據(jù)中心,遠(yuǎn)程數(shù)據(jù)中心執(zhí)行同樣的接口調(diào)用即完成數(shù)據(jù)同步;
(3)遠(yuǎn)程數(shù)據(jù)中心的接收服務(wù)器離線后,本地?cái)?shù)據(jù)中心的服務(wù)器會(huì)將此期間的內(nèi)存修改保存在本地文件中形成備份。待網(wǎng)絡(luò)恢復(fù)時(shí)將此文件發(fā)送到遠(yuǎn)程數(shù)據(jù)進(jìn)行更新,保證系統(tǒng)的可靠性;
(4)內(nèi)存中的數(shù)據(jù)采用增量更新的方式寫入硬盤,保證數(shù)據(jù)的持久性。只將通過接口修改的內(nèi)容寫入硬盤,而不是周期性的將數(shù)據(jù)全部寫入硬盤;(5)遠(yuǎn)程數(shù)據(jù)中心采用增量更新到硬盤的方式,將接收到的修改數(shù)據(jù)調(diào)用接口寫入硬盤,而不是周期性的將所有數(shù)據(jù)寫入硬盤;
(6)初始化數(shù)據(jù)同步系統(tǒng)時(shí),本地和遠(yuǎn)程的數(shù)據(jù)中心將數(shù)據(jù)分片計(jì)算出MD5散列值,通過分片的計(jì)算結(jié)果比較兩地的數(shù)據(jù)是否一致。若不一致則立即將分片的同步到遠(yuǎn)程,解決上次系統(tǒng)運(yùn)行時(shí)其他異常產(chǎn)生的不一致問題。為更加進(jìn)一步的闡述本發(fā)明,現(xiàn)具體實(shí)施例如下
圖1是本發(fā)明中數(shù)據(jù)中心間廣域數(shù)據(jù)同步流程圖。對(duì)于某個(gè)功能模塊的數(shù)據(jù)集Di,在同步周期未到來時(shí)接收了一系列修改操作Mi (j),操作都被保存在待同步隊(duì)列Ls(i)中。此時(shí)服務(wù)程序檢查與遠(yuǎn)程數(shù)據(jù)中心的網(wǎng)絡(luò)狀態(tài),若中 斷則直接將隊(duì)列Ls(i)的內(nèi)容保存到文件匕(10中。若狀態(tài)正常且同步周期到達(dá)則將隊(duì)列內(nèi)容發(fā)送到遠(yuǎn)程數(shù)據(jù)中心。遠(yuǎn)程數(shù)據(jù)中心全部接收完畢則發(fā)送回同步成功的確認(rèn)消息。若沒有收到確認(rèn)則同樣將隊(duì)列Ls (i)的內(nèi)容保存到文件Fi (k)中。多個(gè)同步周期過去后網(wǎng)絡(luò)均不正常則會(huì)產(chǎn)生多個(gè)備份文件F”若同步成功遠(yuǎn)程數(shù)據(jù)中心通過調(diào)用接口將修改操作Mi (j)同樣作用于數(shù)據(jù)集D,⑴。圖2是本發(fā)明中數(shù)據(jù)讀寫訪問流程圖。對(duì)于某個(gè)功能模塊的數(shù)據(jù)集Di,接收到修改操作Mi (j),立刻更新高速緩存。且在回寫周期未到來時(shí),這些操作都被保存在待回寫隊(duì)列Lw(i)中。在回寫周期到達(dá)時(shí)將隊(duì)列Lw(i)中的修改內(nèi)容全部寫入硬盤。若是只讀操作則不會(huì)操作回寫隊(duì)列,直接讀取高速緩存中的數(shù)據(jù)。圖3本發(fā)明中系統(tǒng)初始化流程圖。系統(tǒng)初始化時(shí)某個(gè)功能模塊的數(shù)據(jù)集Di被載入高速緩存,并被分為η片進(jìn)行MD5值計(jì)算。然后將η個(gè)分片的MD5值傳輸?shù)竭h(yuǎn)程數(shù)據(jù)中心。假設(shè)遠(yuǎn)程數(shù)據(jù)中心收到后發(fā)現(xiàn)其中第p、q、m塊兩地不一致,則將編號(hào)p、q、m發(fā)回源數(shù)據(jù)中心。本地源數(shù)據(jù)中心隨后將第P、q、m塊的數(shù)據(jù)傳輸?shù)竭h(yuǎn)程數(shù)據(jù)中心。遠(yuǎn)程數(shù)據(jù)中心調(diào)用接口寫入高速緩存。每個(gè)數(shù)據(jù)塊都完成對(duì)比后系統(tǒng)初始化完成。本發(fā)明只針對(duì)數(shù)據(jù)的修改部分進(jìn)行同步,提高了同步效率;并占用帶寬小,采用數(shù)據(jù)的分片比較方式,避免了初始化、正常同步或異?;謴?fù)時(shí)傳送所有數(shù)據(jù);若遠(yuǎn)程主機(jī)離線可將修改存在本地,待網(wǎng)絡(luò)恢復(fù)繼續(xù)同步,增加了可靠性。且采用雙機(jī)互備技術(shù);其具有可移植性好和跨平臺(tái)能力,所有功能完全是有計(jì)算機(jī)程序?qū)崿F(xiàn),可運(yùn)行在各種UNIX和Linux、Windows操作系統(tǒng)上,不需要借助任何操作系統(tǒng)自帶的軟件;源端和目的端可部署在不同操作系統(tǒng)的服務(wù)器上。此外,本發(fā)明可預(yù)加載的數(shù)據(jù),高速緩存的上限,分片的大小等參數(shù)編程可調(diào);而且部署簡(jiǎn)單,只需部署一個(gè)服務(wù)程序、一個(gè)動(dòng)態(tài)庫(kù)、一個(gè)配置文件即可運(yùn)行。綜上所述,本發(fā)明是一種同步效率高、占用帶寬小、可靠性高、可移植性好、部署簡(jiǎn)單。本發(fā)明按照優(yōu)選實(shí)施例進(jìn)行了說明,應(yīng)當(dāng)理解,但上述實(shí)施例不以任何形式限定本發(fā)明,凡采用等同替換或等效變換的形式所獲得的技術(shù)方案,均落在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種基于高速緩存的數(shù)據(jù)中心間廣域數(shù)據(jù)同步方法,其特征在于,其包括以下步驟 (1)同步系統(tǒng)的初始化;本地?cái)?shù)據(jù)中心的服務(wù)器根據(jù)配置將系統(tǒng)訪問頻繁的數(shù)據(jù)裝入內(nèi)存,并與需要同步的各個(gè)遠(yuǎn)程數(shù)據(jù)中心通信,比較數(shù)據(jù)的差異,然后進(jìn)行同步; (2)數(shù)據(jù)的讀寫訪問;對(duì)數(shù)據(jù)的訪問均通過接口直接對(duì)內(nèi)存中的緩存進(jìn)行讀寫,后臺(tái)的服務(wù)程序有一個(gè)或多個(gè)獨(dú)立線程將內(nèi)存中的數(shù)據(jù)寫入硬盤; (3)數(shù)據(jù)的遠(yuǎn)程同步;周期性的將接口調(diào)用修改的內(nèi)容從內(nèi)存中直接同步到遠(yuǎn)程數(shù)據(jù)中心,遠(yuǎn)程數(shù)據(jù)中心執(zhí)行同樣的接口調(diào)用即完成數(shù)據(jù)同步。
2.根據(jù)權(quán)利要求1所述的基于高速緩存的數(shù)據(jù)中心間廣域數(shù)據(jù)同步方法,其特征在于在所述步驟(I)中,所述比較數(shù)據(jù)的差異是正本與副本的數(shù)據(jù)比較,并通過MD5散列值進(jìn)行比較;若數(shù)據(jù)的MD5值與遠(yuǎn)程不一致則立即從數(shù)據(jù)正本同步到副本。
3.根據(jù)權(quán)利要求1所述的基于高速緩存的數(shù)據(jù)中心間廣域數(shù)據(jù)同步方法,其特征在于在所述步驟(2)中,所述數(shù)據(jù)寫入磁盤采用的是增量更新的方式,數(shù)據(jù)同步系統(tǒng)提供數(shù)據(jù)訪問接口給上層應(yīng)用程序使用,上層應(yīng)用程序通過此接口修改內(nèi)存中的實(shí)時(shí)數(shù)據(jù);后臺(tái)的服務(wù)程序有一個(gè)或多個(gè)獨(dú)立線程周期性將通過接口修改的內(nèi)容批量寫入硬盤,用于保證數(shù)據(jù)的持久性。
4.根據(jù)權(quán)利要求1所述的基于高速緩存的數(shù)據(jù)中心間廣域數(shù)據(jù)同步方法,其特征在于在所述步驟(3)中,所述遠(yuǎn)程數(shù)據(jù)中心采用增量更新到硬盤的方式將接收到的修改內(nèi)容調(diào)用接口批量寫入硬盤。
5.根據(jù)權(quán)利要求2所述的基于高速緩存的數(shù)據(jù)中心間廣域數(shù)據(jù)同步方法,其特征在于所述正本與副本的數(shù)據(jù)比較是將數(shù)據(jù)的正本與副本進(jìn)行一定粒度的分片,將不同的分片分別產(chǎn)生MD5值進(jìn)行比較;將比較后不一致的分片進(jìn)行正本到副本的同步。
6.根據(jù)權(quán)利要求3或4所述的基于高速緩存的數(shù)據(jù)中心間廣域數(shù)據(jù)同步方法,其特征在于本地?cái)?shù)據(jù)中心的高速緩存同時(shí)在一臺(tái)備機(jī)中產(chǎn)生備份,當(dāng)主機(jī)宕機(jī)后備機(jī)立即接替承擔(dān)服務(wù)任務(wù),并繼續(xù)與遠(yuǎn)程數(shù)據(jù)中心進(jìn)行同步。
7.根據(jù)權(quán)利要求4所述的基于高速緩存的數(shù)據(jù)中心間廣域數(shù)據(jù)同步方法,其特征在于所述遠(yuǎn)程數(shù)據(jù)中心的接收服務(wù)器離線后,本地?cái)?shù)據(jù)中心的服務(wù)器會(huì)將此期間的大量?jī)?nèi)存修改保存在本地文件中形成備份;待網(wǎng)絡(luò)恢復(fù)時(shí)將此文件發(fā)送到遠(yuǎn)程數(shù)據(jù)進(jìn)行更新。
8.根據(jù)權(quán)利要求4或5所述的基于高速緩存的數(shù)據(jù)中心間廣域數(shù)據(jù)同步方法,其特征在于所述遠(yuǎn)程數(shù)據(jù)中心的高速緩存同時(shí)在一臺(tái)備機(jī)中產(chǎn)生數(shù)據(jù)的備份;當(dāng)主機(jī)宕機(jī)后備機(jī)立即接替承擔(dān)服務(wù)任務(wù),并繼續(xù)接收正本所在的源服務(wù)器的同步。
9.根據(jù)權(quán)利要求1或2所述的基于高速緩存的數(shù)據(jù)中心間廣域數(shù)據(jù)同步方法,其特征在于所述步驟(I)中,對(duì)內(nèi)存數(shù)據(jù)的同步采用增量同步與全同步結(jié)合的方式,數(shù)據(jù)同步系統(tǒng)提供數(shù)據(jù)訪問接口給上層應(yīng)用程序使用,上層應(yīng)用程序通過此接口修改內(nèi)存中的實(shí)時(shí)數(shù)據(jù),同步系統(tǒng)將接口調(diào)用修改的內(nèi)容同步到遠(yuǎn)程數(shù)據(jù)中心,遠(yuǎn)程數(shù)據(jù)中心執(zhí)行同樣的接口調(diào)用即完成數(shù)據(jù)同步。
全文摘要
本發(fā)明公開了一種基于高速緩存的數(shù)據(jù)中心間廣域數(shù)據(jù)同步方法,其特征在于包括以下步驟(1)同步系統(tǒng)的初始化;本地?cái)?shù)據(jù)中心的服務(wù)器根據(jù)配置將系統(tǒng)訪問頻繁的數(shù)據(jù)裝入內(nèi)存,并與需要同步的各個(gè)遠(yuǎn)程數(shù)據(jù)中心通信,比較數(shù)據(jù)的差異,然后進(jìn)行同步;(2)數(shù)據(jù)的讀寫訪問;對(duì)數(shù)據(jù)的訪問均通過接口直接對(duì)內(nèi)存中的緩存進(jìn)行讀寫,后臺(tái)的服務(wù)程序有一個(gè)或多個(gè)獨(dú)立線程將內(nèi)存中的數(shù)據(jù)寫入硬盤;(3)數(shù)據(jù)的遠(yuǎn)程同步;周期性的將接口調(diào)用修改的內(nèi)容從內(nèi)存中直接同步到遠(yuǎn)程數(shù)據(jù)中心,遠(yuǎn)程數(shù)據(jù)中心執(zhí)行同樣的接口調(diào)用即完成數(shù)據(jù)同步。本發(fā)明具有同步效率高、占用帶寬小、可靠性高、可移植性好、部署簡(jiǎn)單的優(yōu)點(diǎn),解決了系統(tǒng)運(yùn)行時(shí)其他異常產(chǎn)生的不一致問題。
文檔編號(hào)H04L29/06GK103023879SQ20121048620
公開日2013年4月3日 申請(qǐng)日期2012年11月26日 優(yōu)先權(quán)日2012年11月26日
發(fā)明者高原, 顧文杰, 任升, 沙一川 申請(qǐng)人:國(guó)電南瑞科技股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1