亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種數(shù)據(jù)復(fù)制方法和設(shè)備與流程

文檔序號:12377042閱讀:189來源:國知局
一種數(shù)據(jù)復(fù)制方法和設(shè)備與流程

本申請涉及通信技術(shù)領(lǐng)域,尤其涉及一種應(yīng)用于分布式存儲系統(tǒng)的數(shù)據(jù)復(fù)制方法和設(shè)備。



背景技術(shù):

在分布式存儲系統(tǒng)中,會將數(shù)據(jù)塊存儲多個副本,每次數(shù)據(jù)塊的更新需要在多個副本之間達(dá)成一致,當(dāng)副本數(shù)存在不足,或者副本缺少一些版本的更新數(shù)據(jù)時,則需要從其它副本進(jìn)行數(shù)據(jù)復(fù)制。

目前,現(xiàn)有方案實現(xiàn)數(shù)據(jù)復(fù)制的前提是:源端服務(wù)器或者目的端服務(wù)器需要能夠根據(jù)本地維護(hù)的待復(fù)制數(shù)據(jù)的版本和對端維護(hù)的待復(fù)制數(shù)據(jù)的版本計算出數(shù)據(jù)增量或差量,進(jìn)而能夠進(jìn)行從對端獲得待復(fù)制數(shù)據(jù)的數(shù)據(jù)增量或差量進(jìn)行復(fù)制。

在支持隨機讀寫的分布式存儲系統(tǒng)中,現(xiàn)有技術(shù)中采用從源端服務(wù)器向目的端服務(wù)器推送數(shù)據(jù)的模式,源端服務(wù)器需要將已有的數(shù)據(jù)塊全量數(shù)據(jù)推送給目的端服務(wù)器,增加了復(fù)制的數(shù)據(jù)量,特別是在數(shù)據(jù)更新速度大于數(shù)據(jù)復(fù)制速度時,還會導(dǎo)致在預(yù)設(shè)值的數(shù)據(jù)復(fù)制時間內(nèi),數(shù)據(jù)復(fù)制過程無法完成的情況。

申請人在實現(xiàn)本發(fā)明的過程中發(fā)現(xiàn),在支持隨機讀寫的分布式存儲系統(tǒng)中,現(xiàn)有技術(shù)存在以下問題,無法直接根據(jù)版本號的差值計算出數(shù)據(jù)增量或差量,只能進(jìn)行數(shù)據(jù)的全量復(fù)制,增加了待復(fù)制的數(shù)據(jù)量及復(fù)制時間。



技術(shù)實現(xiàn)要素:

本申請?zhí)峁┝艘环N數(shù)據(jù)復(fù)制方法及設(shè)備,用以實現(xiàn)隨機讀寫的分布式存儲系統(tǒng)的數(shù)據(jù)復(fù)制的問題。

為達(dá)到上述目的,本發(fā)明提供了一種數(shù)據(jù)復(fù)制的方法,至少包括以下步驟:

目的端服務(wù)器獲得數(shù)據(jù)塊標(biāo)識、版本信息和空洞信息;

所述目的端服務(wù)器將所述數(shù)據(jù)塊標(biāo)識、版本信息和空洞信息發(fā)送給源端服務(wù)器,以使所述源端服務(wù)器根據(jù)所述數(shù)據(jù)塊標(biāo)識、版本信息和空洞信息查找到對應(yīng)的數(shù)據(jù);

所述目的端服務(wù)器接收所述源端服務(wù)器發(fā)送的攜帶所述數(shù)據(jù)的響應(yīng)消息,并根據(jù)所述響應(yīng)消息將所述數(shù)據(jù)復(fù)制到所述數(shù)據(jù)塊標(biāo)識、版本信息和空洞信息對應(yīng)的空洞。

其中,所述目的端服務(wù)器獲得數(shù)據(jù)塊標(biāo)識、版本信息和空洞信息,具體包括:

所述目的端服務(wù)器獲得數(shù)據(jù)復(fù)制請求,所述數(shù)據(jù)復(fù)制請求中包括:數(shù)據(jù)塊標(biāo)識、版本信息和空洞信息。

其中,所述數(shù)據(jù)復(fù)制請求還包括:數(shù)據(jù)塊復(fù)制起始版本號;

所述版本信息具體為:數(shù)據(jù)復(fù)制終止版本號;

所述目的端服務(wù)器獲得數(shù)據(jù)塊標(biāo)識、版本信息和空洞信息之后還包括:

所述目的端服務(wù)器在判斷所述數(shù)據(jù)塊標(biāo)識對應(yīng)的數(shù)據(jù)塊的數(shù)據(jù)復(fù)制終止版本號大于所述數(shù)據(jù)塊標(biāo)識對應(yīng)的數(shù)據(jù)塊的數(shù)據(jù)塊復(fù)制起始版本號,且所述數(shù)據(jù)塊標(biāo)識對應(yīng)的數(shù)據(jù)塊的數(shù)據(jù)塊復(fù)制起始版本號與目的端服務(wù)器的、所述數(shù)據(jù)塊標(biāo)識對應(yīng)的數(shù)據(jù)塊當(dāng)前的數(shù)據(jù)塊版本號一致時,執(zhí)行將所述數(shù)據(jù)塊標(biāo)識、版本信息和空洞信息發(fā)送給源端服務(wù)器的步驟。

其中,所述響應(yīng)消息還包括:所述源端服務(wù)器的、所述數(shù)據(jù)對應(yīng)的數(shù)據(jù)塊的當(dāng)前版本號;

所述目的端服務(wù)器在判斷目的端服務(wù)器的、當(dāng)前的數(shù)據(jù)塊版本號大于等于所述源端服務(wù)器的、所述數(shù)據(jù)對應(yīng)的數(shù)據(jù)塊的當(dāng)前版本號時,將目的端服務(wù)器的、所述數(shù)據(jù)塊標(biāo)識對應(yīng)的數(shù)據(jù)塊當(dāng)前的數(shù)據(jù)塊版本號更新為所述數(shù)據(jù)塊的最新版本號。

其中,所述目的端服務(wù)器獲得數(shù)據(jù)塊標(biāo)識、版本信息和空洞信息之后,所述方法還包括:

所述目的端服務(wù)器根據(jù)所述數(shù)據(jù)塊標(biāo)識、版本信息和空洞信息確定待復(fù)制數(shù)據(jù)的空洞,并在查詢到與所述空洞有重合的數(shù)據(jù)復(fù)制請求后,將有重合的空洞整合成一個新的空洞。

其中,所述根據(jù)所述響應(yīng)消息將所述數(shù)據(jù)復(fù)制到所述空洞信息對應(yīng)的空洞之后,所述方法還包括:

所述目的端服務(wù)器將所述數(shù)據(jù)塊標(biāo)識、版本信息和空洞信息刪除。

其中,所述空洞信息具體包括:數(shù)據(jù)偏移位置和數(shù)據(jù)偏移長度。

本申請實施例還提供了一種數(shù)據(jù)更新的方法,應(yīng)用于包含有源端服務(wù)器和目的端服務(wù)器的隨機讀寫的分布式存儲系統(tǒng)中,包括:

源端服務(wù)器接收到目的端服務(wù)器發(fā)送的數(shù)據(jù)塊標(biāo)識、版本信息和空洞信息;

所述源端服務(wù)器在判斷所述源端服務(wù)器的、所述數(shù)據(jù)塊標(biāo)識對應(yīng)的數(shù)據(jù)塊的當(dāng)前版本號大于等于所述版本信息時,根據(jù)數(shù)據(jù)塊標(biāo)識、版本信息和空洞信息,獲得所述數(shù)據(jù)塊標(biāo)識、版本信息和空洞信息對應(yīng)的空洞所對應(yīng)的數(shù)據(jù);

所述源端服務(wù)器向所述目的端服務(wù)器發(fā)送攜帶所述數(shù)據(jù)的響應(yīng)消息,以使所述目的端服務(wù)器根據(jù)所述響應(yīng)消息將所述數(shù)據(jù)復(fù)制到所述數(shù)據(jù)塊標(biāo)識、版本信息和空洞信息對應(yīng)的空洞。

其中,所述響應(yīng)消息還包括:所述源端服務(wù)器的、所述數(shù)據(jù)對應(yīng)的數(shù)據(jù)塊的當(dāng)前版本號,用于使所述目的端服務(wù)器在判斷目的端服務(wù)器的、當(dāng)前的數(shù)據(jù)塊版本號大于等于所述源端服務(wù)器的、所述數(shù)據(jù)對應(yīng)的數(shù)據(jù)塊的當(dāng)前版本號時,將目的端服務(wù)器的、所述數(shù)據(jù)塊標(biāo)識對應(yīng)的數(shù)據(jù)塊當(dāng)前的數(shù)據(jù)塊版本號更新為所述數(shù)據(jù)塊的最新版本號。

其中,所述空洞信息具體包括:數(shù)據(jù)偏移位置和數(shù)據(jù)偏移長度。

本申請實施例還提供了一種目的端服務(wù)器,應(yīng)用于包含目的端服務(wù)器和源端服務(wù)器的隨機讀寫的分布式存儲系統(tǒng)中,所述目的端服務(wù)器包括:

獲得模塊,用于獲得數(shù)據(jù)塊標(biāo)識、版本信息和空洞信息;

發(fā)送模塊,用于將所述數(shù)據(jù)塊標(biāo)識、版本信息和空洞信息發(fā)送給源端服務(wù)器,以使所述源端服務(wù)器根據(jù)所述數(shù)據(jù)塊標(biāo)識、版本信息和空洞信息查找到對應(yīng)的數(shù)據(jù);

復(fù)制模塊,用于接收所述源端服務(wù)器發(fā)送的攜帶所述數(shù)據(jù)的響應(yīng)消息,并根據(jù)所述響應(yīng)消息將所述數(shù)據(jù)復(fù)制到數(shù)據(jù)塊標(biāo)識對應(yīng)的數(shù)據(jù)塊。

其中,所述獲得模塊,具體用于獲得數(shù)據(jù)復(fù)制請求,所述數(shù)據(jù)復(fù)制請求中包括:數(shù)據(jù)塊標(biāo)識、版本信息和空洞信息。

其中,所述數(shù)據(jù)復(fù)制請求還包括:數(shù)據(jù)塊復(fù)制起始版本號;

所述版本信息具體為:數(shù)據(jù)復(fù)制終止版本號;

所述發(fā)送模塊還用于:在判斷所述數(shù)據(jù)塊標(biāo)識對應(yīng)的數(shù)據(jù)塊的數(shù)據(jù)復(fù)制終止版本號大于所述數(shù)據(jù)塊標(biāo)識對應(yīng)的數(shù)據(jù)塊的數(shù)據(jù)塊復(fù)制起始版本號,且所述數(shù)據(jù)塊標(biāo)識對應(yīng)的數(shù)據(jù)塊的數(shù)據(jù)塊復(fù)制起始版本號與目的端服務(wù)器的、所述數(shù)據(jù)塊標(biāo)識對應(yīng)的數(shù)據(jù)塊當(dāng)前的數(shù)據(jù)塊版本號一致時,將所述數(shù)據(jù)塊標(biāo)識、版本信息和空洞信息發(fā)送給源端服務(wù)器。

其中,所述響應(yīng)消息還包括:所述源端服務(wù)器的、所述數(shù)據(jù)對應(yīng)的數(shù)據(jù)塊的當(dāng)前版本號;

所述復(fù)制模塊還用于,在判斷目的端服務(wù)器的、當(dāng)前的數(shù)據(jù)塊版本號大于等于所述源端服務(wù)器的、所述數(shù)據(jù)對應(yīng)的數(shù)據(jù)塊的當(dāng)前版本號時,將目的端服務(wù)器的、所述數(shù)據(jù)塊標(biāo)識對應(yīng)的數(shù)據(jù)塊當(dāng)前的數(shù)據(jù)塊版本號更新為所述數(shù)據(jù)塊的最新版本號。

其中,所述獲得模塊還用于:根據(jù)所述數(shù)據(jù)塊標(biāo)識、版本信息和空洞信息確定待復(fù)制數(shù)據(jù)的空洞,并在查詢到與所述空洞有重合的數(shù)據(jù)復(fù)制請求后,將有重合的空洞整合成一個新的空洞。

其中,所述復(fù)制模塊還用于,將所述數(shù)據(jù)塊標(biāo)識、版本信息和空洞信息刪除。

其中,所述空洞信息具體包括:數(shù)據(jù)偏移位置和數(shù)據(jù)偏移長度。

本申請實施例還提供了一種源端服務(wù)器,應(yīng)用于包含目的端服務(wù)器和源端服務(wù)器的隨機讀寫的分布式存儲系統(tǒng)中,包括:

接收模塊,用于接收目的端服務(wù)器發(fā)送的數(shù)據(jù)塊標(biāo)識、版本信息和空洞信息;

獲得模塊,用于在判斷所述源端服務(wù)器的、所述數(shù)據(jù)對應(yīng)的數(shù)據(jù)塊的當(dāng)前版本號大于等于所述版本信息時,根據(jù)數(shù)據(jù)塊標(biāo)識、版本信息和空洞信息,獲得所述數(shù)據(jù)塊標(biāo)識、版本信息和空洞信息對應(yīng)空洞所對應(yīng)的數(shù)據(jù);

發(fā)送模塊,用于向所述目的端服務(wù)器發(fā)送攜帶所述數(shù)據(jù)的響應(yīng)消息,以使所述目的端服務(wù)器根據(jù)所述響應(yīng)消息將所述數(shù)據(jù)復(fù)制到所述數(shù)據(jù)塊標(biāo)識、版本信息和空洞信息對應(yīng)的空洞。

其中,所述響應(yīng)消息還包括:所述源端服務(wù)器的、所述數(shù)據(jù)對應(yīng)的數(shù)據(jù)塊的當(dāng)前版本號,用于使所述目的端服務(wù)器在判斷目的端服務(wù)器的、當(dāng)前的數(shù)據(jù)塊版本號大于等于所述源端服務(wù)器的、所述數(shù)據(jù)對應(yīng)的數(shù)據(jù)塊的當(dāng)前版本號時,將目的端服務(wù)器的、所述數(shù)據(jù)塊標(biāo)識對應(yīng)的數(shù)據(jù)塊當(dāng)前的數(shù)據(jù)塊版本號更新為所述數(shù)據(jù)塊的最新版本號。

其中,所述空洞信息具體包括:數(shù)據(jù)偏移位置和數(shù)據(jù)偏移長度。

與現(xiàn)有技術(shù)相比,本申請的上述實施例具有以下有益技術(shù)效果:

本申請實施例中,目的端服務(wù)器獲得數(shù)據(jù)塊標(biāo)識、版本信息和空洞信息;所述目的端服務(wù)器將所述數(shù)據(jù)塊標(biāo)識、版本信息和空洞信息發(fā)送給源端服務(wù)器,以使所述源端服務(wù)器根據(jù)所述數(shù)據(jù)塊標(biāo)識、版本信息和空洞信息查找到對應(yīng)的數(shù)據(jù);所述目的端服務(wù)器接收所述源端服務(wù)器發(fā)送的攜帶所述數(shù)據(jù)的響應(yīng)消息,并根據(jù)所述響應(yīng)消息將所述數(shù)據(jù)復(fù)制到所述數(shù)據(jù)塊標(biāo)識、版本信息和空洞信息對應(yīng)的空洞,從而實現(xiàn)了隨機讀寫方式下只對空洞進(jìn)行數(shù)據(jù)復(fù)制,不需要進(jìn)行數(shù)據(jù)的全量復(fù)制從而減少了待復(fù)制的數(shù)據(jù)量及復(fù)制時間,提高了數(shù)據(jù)復(fù)制效率。

附圖說明

圖1為本申請實施例提供一種數(shù)據(jù)復(fù)制的方法的流程示意圖;

圖2為本申請實施例提供的有重合空洞的整合示意圖;

圖3為本申請實施例提供的另一種數(shù)據(jù)復(fù)制的方法的流程示意圖;

圖4為本申請實施例提供的一種目的端服務(wù)器的結(jié)構(gòu)示意圖;

圖5為本申請實施例提供的一種源端服務(wù)器的結(jié)構(gòu)示意圖。

具體實施方式

下面將結(jié)合本發(fā)明的實施例中的附圖,對本發(fā)明的實施例中的技術(shù)方案進(jìn)行清楚、完整的描述,顯然,下面所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有付出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明的實施例保護(hù)的范圍。

如圖1所示,為實施例一所提出的一種數(shù)據(jù)復(fù)制的方法的流程示意圖,該方法應(yīng)用于包含有源端服務(wù)器和目的端服務(wù)器的隨機讀寫的分布式存儲系統(tǒng)中,下面將在目的端服務(wù)器側(cè)對該方法進(jìn)行詳細(xì)說明。

該方法,具體包括以下步驟:

步驟S101、目的端服務(wù)器獲得數(shù)據(jù)塊標(biāo)識、版本信息和空洞信息。

在發(fā)起數(shù)據(jù)復(fù)制時,目的端服務(wù)器會獲得數(shù)據(jù)復(fù)制發(fā)起端發(fā)送的數(shù)據(jù)復(fù)制請求,該數(shù)據(jù)復(fù)制請求中包含:數(shù)據(jù)塊標(biāo)識,版本信息,空洞信息以及數(shù)據(jù)塊復(fù)制起始版本號,其中,版本信息具體為數(shù)據(jù)復(fù)制終止版本號。

所述目的端服務(wù)器獲得數(shù)據(jù)塊標(biāo)識、版本信息和空洞信息之后,目的端服務(wù)器判斷數(shù)據(jù)塊標(biāo)識對應(yīng)的數(shù)據(jù)塊的數(shù)據(jù)復(fù)制終止版本號是否大于所述數(shù)據(jù)塊標(biāo)識對應(yīng)的數(shù)據(jù)塊的數(shù)據(jù)塊復(fù)制起始版本號,且所述數(shù)據(jù)塊標(biāo)識對應(yīng)的數(shù)據(jù)塊的數(shù)據(jù)塊復(fù)制起始版本號與目的端服務(wù)器的、所述數(shù)據(jù)塊標(biāo)識對應(yīng)的數(shù)據(jù)塊當(dāng)前的數(shù)據(jù)塊版本號是否一致。需要注意的是,如果目的端服務(wù)器不存在所述數(shù)據(jù)塊標(biāo)識對應(yīng)的信息,則判斷目的端服務(wù)器當(dāng)前不存在該數(shù)據(jù)塊標(biāo)識對應(yīng)的數(shù)據(jù)塊,則需要對該數(shù)據(jù)塊進(jìn)行全量復(fù)制。

如果判斷結(jié)果為是,則該數(shù)據(jù)塊標(biāo)識,版本信息,空洞信息為有效繼續(xù)執(zhí)行下面的步驟。

如果判斷結(jié)果為否,則該數(shù)據(jù)塊標(biāo)識,版本信息,空洞信息為無效,不再對該數(shù)據(jù)塊標(biāo)識,版本信息,空洞信息進(jìn)行處理,或者將其刪除。

進(jìn)一步的,空洞信息具體包括:數(shù)據(jù)偏移位置和數(shù)據(jù)偏移長度,所述目的端服務(wù)器根據(jù)所述數(shù)據(jù)塊標(biāo)識、版本信息和空洞信息確定待復(fù)制數(shù)據(jù)的空洞,并在查詢到與所述空洞有重合的數(shù)據(jù)復(fù)制請求后,將有重合的空洞整合成一個新的空洞。

目的端服務(wù)器獲得數(shù)據(jù)復(fù)制請求之后,所述目的端服務(wù)器根據(jù)所述數(shù)據(jù)復(fù)制請求中的數(shù)據(jù)塊標(biāo)識、版本信息和空洞信息確定待復(fù)制數(shù)據(jù)的空洞,查詢是否存在與所述空洞有重合的數(shù)據(jù)復(fù)制請求,就是查詢是否存在所述數(shù)據(jù)復(fù)制請求中的數(shù)據(jù)塊標(biāo)識相同、版本信息小于所述數(shù)據(jù)復(fù)制請求中的版本信息,且空洞信息中的數(shù)據(jù)偏移位置和數(shù)據(jù)偏移長度有重合區(qū)間的數(shù)據(jù)復(fù)制請求,如果存在,則將有重合的空洞整合成一個空洞,就是將有重合的空洞所對應(yīng)的數(shù)據(jù)塊標(biāo)識相同、版本信息和空洞信息合并成一個空洞所對應(yīng)的數(shù)據(jù)塊標(biāo)識相同、版本信息和空洞信息。其中,需要注意的是,合并成的空洞所對應(yīng)的版本信息為最后一個數(shù)據(jù)復(fù)制請求的版本信息對應(yīng)的版本號。

具體地,如圖2所示,將有重合的空洞整合成一個空洞,具體包括:部分覆蓋、中間覆蓋和全部覆蓋。根據(jù)數(shù)據(jù)偏移位置和數(shù)據(jù)偏移長度可以確定待復(fù)制數(shù)據(jù)的空洞,當(dāng)目的端服務(wù)器獲得的數(shù)據(jù)塊標(biāo)識為1,版本信息為16,空洞信息確定的空洞為V2,如果查詢到存在數(shù)據(jù)塊標(biāo)識為1,版本信息為13,空洞信息確定的空洞為V1,且V2和V1有重合時,則將V2和V1整合成一個空洞,并將該空洞對應(yīng)的空洞信息更新為原來空洞為V2的空洞信息,即將整合成的空洞更新為新收到的數(shù)據(jù)復(fù)制請求中的空洞。

具體地,如圖2所示,由于版本16所對應(yīng)的空洞比版本13所對應(yīng)的空洞數(shù)據(jù)更新,將V2和V1整合成一個空洞,就是“V2交V1”,具體如圖2中所述的三種合并方式。

步驟S102、目的端服務(wù)器將所述數(shù)據(jù)塊標(biāo)識、版本信息和空洞信息發(fā)送給源端服務(wù)器,以使所述源端服務(wù)器根據(jù)所述數(shù)據(jù)塊標(biāo)識、版本信息和空洞信息查找到對應(yīng)的數(shù)據(jù)。

目的端將所述數(shù)據(jù)塊標(biāo)識、版本信息和空洞信息發(fā)送給源端服務(wù)器后,所述源端服務(wù)器根據(jù)數(shù)據(jù)塊標(biāo)識、版本信息和空洞信息,可以查找到數(shù)據(jù)塊標(biāo)識對應(yīng)的數(shù)據(jù)塊在版本信息對應(yīng)的版本下的空洞信息所對應(yīng)的數(shù)據(jù)。

步驟S103、目的端服務(wù)器接收所述源端服務(wù)器發(fā)送的攜帶所述數(shù)據(jù)的響應(yīng)消息,并根據(jù)所述響應(yīng)消息將所述數(shù)據(jù)復(fù)制到所述數(shù)據(jù)塊標(biāo)識、版本信息和空洞信息對應(yīng)的空洞。

所述目的端服務(wù)器接收所述源端服務(wù)器發(fā)送的攜帶所述數(shù)據(jù)的響應(yīng)消息,所述響應(yīng)消息中包括:所述數(shù)據(jù)塊標(biāo)識、版本信息和空洞信息和所述數(shù)據(jù),目的端服務(wù)器根據(jù)所述數(shù)據(jù)塊標(biāo)識、版本信息和空洞信息將所述數(shù)據(jù)復(fù)制到所述空洞信息對應(yīng)的空洞。

當(dāng)根據(jù)所述響應(yīng)消息將所述數(shù)據(jù)復(fù)制到所述空洞信息對應(yīng)的空洞之后,所述目的端服務(wù)器將所述數(shù)據(jù)塊標(biāo)識、版本信息和空洞信息刪除。

其中,所述響應(yīng)消息還包括:所述源端服務(wù)器的、所述數(shù)據(jù)對應(yīng)的數(shù)據(jù)塊的當(dāng)前版本號;所述目的端服務(wù)器在判斷目的端服務(wù)器的、當(dāng)前的數(shù)據(jù)塊版本號大于等于所述源端服務(wù)器的、所述數(shù)據(jù)對應(yīng)的數(shù)據(jù)塊的當(dāng)前版本號時,將目的端服務(wù)器的、所述數(shù)據(jù)塊標(biāo)識對應(yīng)的數(shù)據(jù)塊當(dāng)前的數(shù)據(jù)塊版本號更新為所述數(shù)據(jù)塊的最新版本號。

具體地,響應(yīng)消息還包括:所述源端服務(wù)器的、所述數(shù)據(jù)對應(yīng)的數(shù)據(jù)塊的當(dāng)前版本號,例如源端服務(wù)器的、所述數(shù)據(jù)對應(yīng)的數(shù)據(jù)塊的當(dāng)前版本號為17,所述目的端服務(wù)器的、所述數(shù)據(jù)對應(yīng)的數(shù)據(jù)塊的當(dāng)前版本號為18,則將該數(shù)據(jù)塊的版本號更新為18,完成本次數(shù)據(jù)復(fù)制過程。如果所述目的端服務(wù)器的、所述數(shù)據(jù)對應(yīng)的數(shù)據(jù)塊的當(dāng)前版本號為16,則再次接收到數(shù)據(jù)復(fù)制請求,且經(jīng)判斷請求為有效后,還需要向所述源端服務(wù)器發(fā)送該數(shù)據(jù)復(fù)制請求的數(shù)據(jù)塊標(biāo)識、版本信息和空洞信息。

本申請實施例中,目的端服務(wù)器獲得數(shù)據(jù)塊標(biāo)識、版本信息和空洞信息;所述目的端服務(wù)器將所述數(shù)據(jù)塊標(biāo)識、版本信息和空洞信息發(fā)送給源端服務(wù)器, 以使所述源端服務(wù)器根據(jù)所述數(shù)據(jù)塊標(biāo)識、版本信息和空洞信息查找到對應(yīng)的數(shù)據(jù);所述目的端服務(wù)器接收所述源端服務(wù)器發(fā)送的攜帶所述數(shù)據(jù)的響應(yīng)消息,并根據(jù)所述響應(yīng)消息將所述數(shù)據(jù)復(fù)制到所述數(shù)據(jù)塊標(biāo)識、版本信息和空洞信息對應(yīng)的空洞,從而實現(xiàn)了隨機讀寫方式下只對空洞進(jìn)行數(shù)據(jù)復(fù)制,不需要進(jìn)行數(shù)據(jù)的全量復(fù)制從而減少了待復(fù)制的數(shù)據(jù)量及復(fù)制時間,提高了數(shù)據(jù)復(fù)制效率。

如圖3所示,為實施例二所提出另的一種數(shù)據(jù)更新的方法的流程示意圖,該方法應(yīng)用于包括包含有源端服務(wù)器和目的端服務(wù)器的隨機讀寫的分布式存儲系統(tǒng)中,下面將在源端服務(wù)器側(cè)對該方法進(jìn)行詳細(xì)說明。

該方法,具體包括以下步驟:

步驟S201、源端服務(wù)器接收到目的端服務(wù)器發(fā)送的數(shù)據(jù)塊標(biāo)識、版本信息和空洞信息。

其中,所述空洞信息具體包括:數(shù)據(jù)偏移位置和數(shù)據(jù)偏移長度。

步驟S202、所述源端服務(wù)器在判斷所述源端服務(wù)器的、所述數(shù)據(jù)對應(yīng)的數(shù)據(jù)塊的當(dāng)前版本號大于等于所述版本信息時,根據(jù)數(shù)據(jù)塊標(biāo)識、版本信息和空洞信息,獲得所述數(shù)據(jù)塊標(biāo)識、版本信息和空洞信息對應(yīng)的空洞所對應(yīng)的數(shù)據(jù)。

源端服務(wù)器判斷自身的、所述數(shù)據(jù)塊標(biāo)識對應(yīng)的數(shù)據(jù)塊的當(dāng)前版本號是否大于等于所述版本信息,當(dāng)判斷結(jié)果為是,則查找到所述數(shù)據(jù)塊標(biāo)識、版本信息和空洞信息對應(yīng)的數(shù)據(jù),并將所述數(shù)據(jù)攜帶在響應(yīng)請求中發(fā)送給所述目的端服務(wù)器,以使所述目的端服務(wù)器將該數(shù)據(jù)復(fù)制到對應(yīng)的空洞;當(dāng)判斷結(jié)果為否,則源端服務(wù)器并不存在待復(fù)制的數(shù)據(jù),則向所述目的端服務(wù)器發(fā)送失敗響應(yīng)。

其中,響應(yīng)消息還包括:所述源端服務(wù)器的、所述數(shù)據(jù)對應(yīng)的數(shù)據(jù)塊的當(dāng)前版本號,用于使所述目的端服務(wù)器在判斷目的端服務(wù)器的、當(dāng)前的數(shù)據(jù)塊版本號大于等于所述源端服務(wù)器的、所述數(shù)據(jù)對應(yīng)的數(shù)據(jù)塊的當(dāng)前版本號時,將目的端服務(wù)器的、所述數(shù)據(jù)塊標(biāo)識對應(yīng)的數(shù)據(jù)塊當(dāng)前的數(shù)據(jù)塊版本號更新為所述數(shù)據(jù)塊的最新版本號。

本申請實施例中,目的端服務(wù)器獲得數(shù)據(jù)塊標(biāo)識、版本信息和空洞信息;所述目的端服務(wù)器將所述數(shù)據(jù)塊標(biāo)識、版本信息和空洞信息發(fā)送給源端服務(wù)器,以使所述源端服務(wù)器根據(jù)所述數(shù)據(jù)塊標(biāo)識、版本信息和空洞信息查找到對應(yīng)的數(shù)據(jù);所述目的端服務(wù)器接收所述源端服務(wù)器發(fā)送的攜帶所述數(shù)據(jù)的響應(yīng)消息, 并根據(jù)所述響應(yīng)消息將所述數(shù)據(jù)復(fù)制到所述數(shù)據(jù)塊標(biāo)識、版本信息和空洞信息對應(yīng)的空洞,從而實現(xiàn)了隨機讀寫方式下只對空洞進(jìn)行數(shù)據(jù)復(fù)制,不需要進(jìn)行數(shù)據(jù)的全量復(fù)制從而減少了待復(fù)制的數(shù)據(jù)量及復(fù)制時間,提高了數(shù)據(jù)復(fù)制效率。

基于上述實施例一同樣的發(fā)明構(gòu)思,本發(fā)明實施例三中還提供了一種目的端服務(wù)器,應(yīng)用于包含有源端服務(wù)器和目的端服務(wù)器的隨機讀寫的分布式存儲系統(tǒng)中,如圖4所示,該目的端服務(wù)器包括:

獲得模塊41,用于獲得數(shù)據(jù)塊標(biāo)識、版本信息和空洞信息。

發(fā)送模塊42,用于將所述數(shù)據(jù)塊標(biāo)識、版本信息和空洞信息發(fā)送給源端服務(wù)器,以使所述源端服務(wù)器根據(jù)所述數(shù)據(jù)塊標(biāo)識、版本信息和空洞信息查找到對應(yīng)的數(shù)據(jù)。

復(fù)制模塊43,用于接收所述源端服務(wù)器發(fā)送的攜帶所述數(shù)據(jù)的響應(yīng)消息,并根據(jù)所述響應(yīng)消息將所述數(shù)據(jù)復(fù)制到數(shù)據(jù)塊標(biāo)識對應(yīng)的數(shù)據(jù)塊。

所述獲得模塊,具體用于獲得數(shù)據(jù)復(fù)制請求,所述數(shù)據(jù)復(fù)制請求中包括:數(shù)據(jù)塊標(biāo)識、版本信息和空洞信息。

所述數(shù)據(jù)復(fù)制請求還包括:數(shù)據(jù)塊復(fù)制起始版本號。

所述版本信息具體為:數(shù)據(jù)復(fù)制終止版本號。

所述發(fā)送模塊還用于:在判斷所述數(shù)據(jù)塊標(biāo)識對應(yīng)的數(shù)據(jù)塊的數(shù)據(jù)復(fù)制終止版本號大于所述數(shù)據(jù)塊標(biāo)識對應(yīng)的數(shù)據(jù)塊的數(shù)據(jù)塊復(fù)制起始版本號,且所述數(shù)據(jù)塊標(biāo)識對應(yīng)的數(shù)據(jù)塊的數(shù)據(jù)塊復(fù)制起始版本號與目的端服務(wù)器的、所述數(shù)據(jù)塊標(biāo)識對應(yīng)的數(shù)據(jù)塊當(dāng)前的數(shù)據(jù)塊版本號一致時,將所述數(shù)據(jù)塊標(biāo)識、版本信息和空洞信息發(fā)送給源端服務(wù)器。

所述響應(yīng)消息還包括:所述源端服務(wù)器的、所述數(shù)據(jù)對應(yīng)的數(shù)據(jù)塊的當(dāng)前版本號。

所述復(fù)制模塊還用于,在判斷目的端服務(wù)器的、當(dāng)前的數(shù)據(jù)塊版本號大于等于所述源端服務(wù)器的、所述數(shù)據(jù)對應(yīng)的數(shù)據(jù)塊的當(dāng)前版本號時,將目的端服務(wù)器的、所述數(shù)據(jù)塊標(biāo)識對應(yīng)的數(shù)據(jù)塊當(dāng)前的數(shù)據(jù)塊版本號更新為所述數(shù)據(jù)塊的最新版本號。

所述獲得模塊還用于:根據(jù)所述數(shù)據(jù)塊標(biāo)識、版本信息和空洞信息確定待復(fù)制數(shù)據(jù)的空洞,并在查詢到與所述空洞有重合的數(shù)據(jù)復(fù)制請求后,將有重合的空洞整合成一個新的空洞。

所述復(fù)制模塊還用于,將所述數(shù)據(jù)塊標(biāo)識、版本信息和空洞信息刪除。

所述空洞信息具體包括:數(shù)據(jù)偏移位置和數(shù)據(jù)偏移長度。

本申請實施例中,目的端服務(wù)器獲得數(shù)據(jù)塊標(biāo)識、版本信息和空洞信息;所述目的端服務(wù)器將所述數(shù)據(jù)塊標(biāo)識、版本信息和空洞信息發(fā)送給源端服務(wù)器,以使所述源端服務(wù)器根據(jù)所述數(shù)據(jù)塊標(biāo)識、版本信息和空洞信息查找到對應(yīng)的數(shù)據(jù);所述目的端服務(wù)器接收所述源端服務(wù)器發(fā)送的攜帶所述數(shù)據(jù)的響應(yīng)消息,并根據(jù)所述響應(yīng)消息將所述數(shù)據(jù)復(fù)制到所述數(shù)據(jù)塊標(biāo)識、版本信息和空洞信息對應(yīng)的空洞,從而實現(xiàn)了隨機讀寫方式下只對空洞進(jìn)行數(shù)據(jù)復(fù)制,不需要進(jìn)行數(shù)據(jù)的全量復(fù)制從而減少了待復(fù)制的數(shù)據(jù)量及復(fù)制時間,提高了數(shù)據(jù)復(fù)制效率。

基于上述實施例二同樣的發(fā)明構(gòu)思,本發(fā)明實施例四中還提供了一種目的端服務(wù)器,應(yīng)用于包含有源端服務(wù)器和目的端服務(wù)器的隨機讀寫的分布式存儲系統(tǒng)中,如圖5所示,該源端服務(wù)器包括:

接收模塊51,用于接收目的端服務(wù)器發(fā)送的數(shù)據(jù)塊標(biāo)識、版本信息和空洞信息。

獲得模塊52,用于在判斷所述源端服務(wù)器的、所述數(shù)據(jù)對應(yīng)的數(shù)據(jù)塊的當(dāng)前版本號大于等于所述版本信息時,根據(jù)數(shù)據(jù)塊標(biāo)識、版本信息和空洞信息,獲得所述數(shù)據(jù)塊標(biāo)識、版本信息和空洞信息對應(yīng)空洞所對應(yīng)的數(shù)據(jù)。

發(fā)送模塊53,用于向所述目的端服務(wù)器發(fā)送攜帶所述數(shù)據(jù)的響應(yīng)消息,以使所述目的端服務(wù)器根據(jù)所述響應(yīng)消息將所述數(shù)據(jù)復(fù)制到所述數(shù)據(jù)塊標(biāo)識、版本信息和空洞信息對應(yīng)的空洞。

所述響應(yīng)消息還包括:所述源端服務(wù)器的、所述數(shù)據(jù)對應(yīng)的數(shù)據(jù)塊的當(dāng)前版本號,用于使所述目的端服務(wù)器在判斷目的端服務(wù)器的、當(dāng)前的數(shù)據(jù)塊版本號大于等于所述源端服務(wù)器的、所述數(shù)據(jù)對應(yīng)的數(shù)據(jù)塊的當(dāng)前版本號時,將目的端服務(wù)器的、所述數(shù)據(jù)塊標(biāo)識對應(yīng)的數(shù)據(jù)塊當(dāng)前的數(shù)據(jù)塊版本號更新為所述數(shù)據(jù)塊的最新版本號。所述空洞信息具體包括:數(shù)據(jù)偏移位置和數(shù)據(jù)偏移長度。

本申請實施例中,目的端服務(wù)器獲得數(shù)據(jù)塊標(biāo)識、版本信息和空洞信息;所述目的端服務(wù)器將所述數(shù)據(jù)塊標(biāo)識、版本信息和空洞信息發(fā)送給源端服務(wù)器,以使所述源端服務(wù)器根據(jù)所述數(shù)據(jù)塊標(biāo)識、版本信息和空洞信息查找到對應(yīng)的數(shù)據(jù);所述目的端服務(wù)器接收所述源端服務(wù)器發(fā)送的攜帶所述數(shù)據(jù)的響應(yīng)消息,并根據(jù)所述響應(yīng)消息將所述數(shù)據(jù)復(fù)制到所述數(shù)據(jù)塊標(biāo)識、版本信息和空洞信息對應(yīng)的空洞,從而實現(xiàn)了隨機讀寫方式下只對空洞進(jìn)行數(shù)據(jù)復(fù)制,不需要進(jìn)行數(shù)據(jù)的全量復(fù)制從而減少了待復(fù)制的數(shù)據(jù)量及復(fù)制時間,提高了數(shù)據(jù)復(fù)制效率。

通過以上的實施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到本發(fā)明可以通過硬件實現(xiàn),也可以借助軟件加必要的通用硬件平臺的方式來實現(xiàn)?;谶@樣的理解,本發(fā)明的技術(shù)方案可以以軟件產(chǎn)品的形式體現(xiàn)出來,該軟件產(chǎn)品可以存儲在一個非易失性存儲介質(zhì)(可以是CD-ROM,U盤,移動硬盤等)中,包括若干指令用以使得一臺計算機設(shè)備(可以是個人計算機,服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個實施場景所述的方法。

本領(lǐng)域技術(shù)人員可以理解附圖只是一個優(yōu)選實施場景的示意圖,附圖中的模塊或流程并不一定是實施本發(fā)明所必須的。

本領(lǐng)域技術(shù)人員可以理解實施場景中的裝置中的模塊可以按照實施場景描述進(jìn)行分布于實施場景的裝置中,也可以進(jìn)行相應(yīng)變化位于不同于本實施場景的一個或多個裝置中。上述實施場景的模塊可以合并為一個模塊,也可以進(jìn)一步拆分成多個子模塊。

上述本發(fā)明序號僅僅為了描述,不代表實施場景的優(yōu)劣。

以上公開的僅為本發(fā)明的幾個具體實施場景,但是,本發(fā)明并非局限于此,任何本領(lǐng)域的技術(shù)人員能思之的變化都應(yīng)落入本發(fā)明的保護(hù)范圍。

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1