一種分層數(shù)據(jù)復(fù)制的大數(shù)據(jù)一致性維護(hù)方法
【專利摘要】本發(fā)明公開了一種分層數(shù)據(jù)復(fù)制的大數(shù)據(jù)一致性維護(hù)方法,基于索引的復(fù)制控制方法,所述方法將數(shù)據(jù)備份和索引信息分別存儲(chǔ),服務(wù)器被分為備份數(shù)據(jù)中心和索引數(shù)據(jù)中心,分別存儲(chǔ)數(shù)據(jù)的備份與備份的位置信息。針對(duì)大數(shù)據(jù)一致性維護(hù)的實(shí)現(xiàn),本發(fā)明提出一種基于索引的復(fù)制控制算法,將數(shù)據(jù)備份和備份的位置,即索引信息分別存儲(chǔ),使算法適合大規(guī)模數(shù)據(jù)讀寫操作,且代價(jià)較低。
【專利說明】一種分層數(shù)據(jù)復(fù)制的大數(shù)據(jù)一致性維護(hù)方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種分層數(shù)據(jù)復(fù)制的大數(shù)據(jù)一致性維護(hù)方法,屬于計(jì)算機(jī)大數(shù)據(jù)管理領(lǐng)域。
【背景技術(shù)】
[0002]數(shù)據(jù)一致性通常指關(guān)聯(lián)數(shù)據(jù)之間的邏輯關(guān)系是否正確和完整。而數(shù)據(jù)存儲(chǔ)的一致性模型則可以認(rèn)為是存儲(chǔ)系統(tǒng)和數(shù)據(jù)使用者之間的一種約定。如果使用者遵循這種約定,則可以得到系統(tǒng)所承諾的訪問結(jié)果。
[0003]常用的一致性模型有:
a、嚴(yán)格一致性(linearizability, strict/atomic Consistency):讀出的數(shù)據(jù)始終為最近寫入的數(shù)據(jù)。這種一致性只有全局時(shí)鐘存在時(shí)才有可能,在分布式網(wǎng)絡(luò)環(huán)境不可能實(shí)現(xiàn)。
[0004]b、順序一致性(sequential consistency):所有使用者以同樣的順序看到對(duì)同一數(shù)據(jù)的操作,但是該順序不一定是實(shí)時(shí)的。
[0005]C、因果一致性(causal consistency):只有存在因果關(guān)系的寫操作才要求所有使用者以相同的次序看到,對(duì)于無因果關(guān)系的寫入則并行進(jìn)行,無次序保證。因果一致性可以看做對(duì)順序一致性性能的一種優(yōu)化,但在實(shí)現(xiàn)時(shí)必須建立與維護(hù)因果依賴圖,是相當(dāng)困難的。
[0006]d、管道一致性(PRAM/FIFO consistency):在因果一致性模型上的進(jìn)一步弱化,要求由某一個(gè)使用者完成的寫操作可以被其他所有的使用者按照順序的感知到,而從不同使用者中來的寫操作則無需保證順序,就像一個(gè)一個(gè)的管道一樣。相對(duì)來說比較容易實(shí)現(xiàn)。
[0007]e、弱一致性(weak consistency):只要求對(duì)共享數(shù)據(jù)結(jié)構(gòu)的訪問保證順序一致性。對(duì)于同步變量的操作具有順序一致性,是全局可見的,且只有當(dāng)沒有寫操作等待處理時(shí)才可進(jìn)行,以保證對(duì)于臨界區(qū)域的訪問順序進(jìn)行。在同步時(shí)點(diǎn),所有使用者可以看到相同的數(shù)據(jù)。
[0008]f、釋放一致性(release consistency):弱一致性無法區(qū)分使用者是要進(jìn)入臨界區(qū)還是要出臨界區(qū),釋放一致性使用兩個(gè)不同的操作語句進(jìn)行了區(qū)分。需要寫入時(shí)使用者acquire該對(duì)象,寫完后release, acquire-release之間形成了一個(gè)臨界區(qū),提供釋放一致性也就意味著當(dāng)release操作發(fā)生后,所有使用者應(yīng)該可以看到該操作。
[0009]g、最終一致性(eventual consistency):當(dāng)沒有新更新的情況下,更新最終會(huì)通過網(wǎng)絡(luò)傳播到所有副本點(diǎn),所有副本點(diǎn)最終會(huì)一致,也就是說使用者在最終某個(gè)時(shí)間點(diǎn)前的中間過程中無法保證看到的是新寫入的數(shù)據(jù)??梢圆捎米罱K一致性模型有一個(gè)關(guān)鍵要求:讀出陳舊數(shù)據(jù)是可以接受的。
[0010]h、delta consistency:系統(tǒng)會(huì)在delta時(shí)間內(nèi)達(dá)到一致。這段時(shí)間內(nèi)會(huì)存在一個(gè)不一致的窗口,該窗口可能是因?yàn)閘og shipping的過程導(dǎo)致。數(shù)據(jù)一致性(DatabaseConsistency)是指事務(wù)執(zhí)行的結(jié)果必須是使數(shù)據(jù)從一個(gè)一致性狀態(tài)變到另一個(gè)一致性狀態(tài)。
[0011]保證數(shù)據(jù)一致性是指當(dāng)事務(wù)完成時(shí),必須使所有數(shù)據(jù)都具有一致的狀態(tài)。在關(guān)系型數(shù)據(jù)中,所有的規(guī)則必須應(yīng)用到事務(wù)的修改上,以便維護(hù)所有數(shù)據(jù)的完整性。
[0012]讀一致性也是數(shù)據(jù)一致性的一個(gè)重要方面,對(duì)一個(gè)表中的某些數(shù)據(jù)進(jìn)行了更新操作,但是還沒有進(jìn)行提交,這時(shí)另外一個(gè)用戶讀取表中數(shù)據(jù),就出現(xiàn)了讀一致性的問題。
【發(fā)明內(nèi)容】
[0013]本發(fā)明要解決的技術(shù)問題是:一種分層數(shù)據(jù)復(fù)制的大數(shù)據(jù)一致性維護(hù)方法。
[0014]本發(fā)明所采用的技術(shù)方案為:
一種分層數(shù)據(jù)復(fù)制的大數(shù)據(jù)一致性維護(hù)方法,基于索引的復(fù)制控制方法,所述方法將數(shù)據(jù)備份和備份的位置(即:索引)信息分別存儲(chǔ),服務(wù)器被分為備份數(shù)據(jù)中心和索引數(shù)據(jù)中心,分別存儲(chǔ)數(shù)據(jù)的備份與備份的位置信息。
[0015]為了提高檢索速度,將索引拷貝為兩個(gè),分別為讀和寫操作提供檢索服務(wù)。
[0016]兩個(gè)索引隊(duì)列間隔一定時(shí)間后進(jìn)行通信以便保持一致性,加入日志表用于記錄執(zhí)行過的寫操作,定時(shí)更新兩列索引加入時(shí)間戳,當(dāng)數(shù)據(jù)可靠值相同時(shí),根據(jù)時(shí)間戳讀取數(shù)據(jù)。
[0017]本發(fā)明的有益效果為:針對(duì)大數(shù)據(jù)一致性維護(hù)的實(shí)現(xiàn),本發(fā)明提出一種基于索引的復(fù)制控制算法,將數(shù)據(jù)備份和備份的位置,即索引信息分別存儲(chǔ),使算法適合大規(guī)模數(shù)據(jù)讀寫操作,且代價(jià)較低。
【專利附圖】
【附圖說明】
[0018]圖1為本發(fā)明大數(shù)據(jù)一致性維護(hù)方法的示意圖。
【具體實(shí)施方式】
[0019]下面通過附圖,結(jié)合【具體實(shí)施方式】對(duì)本發(fā)明進(jìn)一步說明:
實(shí)施例1:
一種分層數(shù)據(jù)復(fù)制的大數(shù)據(jù)一致性維護(hù)方法,基于索引的復(fù)制控制方法,所述方法將數(shù)據(jù)備份和備份的位置(即:索引)信息分別存儲(chǔ),服務(wù)器被分為備份數(shù)據(jù)中心和索引數(shù)據(jù)中心,分別存儲(chǔ)數(shù)據(jù)的備份與備份的位置信息。
[0020]實(shí)施例2:
在實(shí)施I的基礎(chǔ)上,為了提高檢索速度,將索引拷貝為兩個(gè),分別為讀和寫操作提供檢索服務(wù)。
[0021]實(shí)施例3:
在實(shí)施例2的基礎(chǔ)上,兩個(gè)索引隊(duì)列間隔一定時(shí)間后進(jìn)行通信以便保持一致性,加入日志表用于記錄執(zhí)行過的寫操作,定時(shí)更新兩列索引加入時(shí)間戳,當(dāng)數(shù)據(jù)可靠值相同時(shí),根據(jù)時(shí)間戳讀取數(shù)據(jù)。
【權(quán)利要求】
1.一種分層數(shù)據(jù)復(fù)制的大數(shù)據(jù)一致性維護(hù)方法,其特征在于:所述方法將數(shù)據(jù)備份和索引信息分別存儲(chǔ),服務(wù)器被分為備份數(shù)據(jù)中心和索引數(shù)據(jù)中心,分別存儲(chǔ)數(shù)據(jù)的備份與備份的位置信息。
2.根據(jù)權(quán)利要求1所述的一種分層數(shù)據(jù)復(fù)制的大數(shù)據(jù)一致性維護(hù)方法,其特征在于:將索引拷貝為兩個(gè),分別為讀和寫操作提供檢索服務(wù)。
3.根據(jù)權(quán)利要求2所述的一種分層數(shù)據(jù)復(fù)制的大數(shù)據(jù)一致性維護(hù)方法,其特征在于:兩個(gè)索引隊(duì)列間隔一定時(shí)間后進(jìn)行通信以便保持一致性,加入日志表用于記錄執(zhí)行過的寫操作,定時(shí)更新兩列索引加入時(shí)間戳,當(dāng)數(shù)據(jù)可靠值相同時(shí),根據(jù)時(shí)間戳讀取數(shù)據(jù)。
【文檔編號(hào)】G06F17/30GK104133886SQ201410367869
【公開日】2014年11月5日 申請(qǐng)日期:2014年7月30日 優(yōu)先權(quán)日:2014年7月30日
【發(fā)明者】戴鴻君, 于治樓 申請(qǐng)人:浪潮集團(tuán)有限公司