两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

一種數(shù)據(jù)遷移的方法和裝置與流程

文檔序號(hào):12612270閱讀:282來源:國(guó)知局
一種數(shù)據(jù)遷移的方法和裝置與流程

本申請(qǐng)涉及通信技術(shù)領(lǐng)域,尤其涉及一種數(shù)據(jù)遷移的方法和裝置。



背景技術(shù):

相關(guān)技術(shù)中,存儲(chǔ)在數(shù)據(jù)庫(kù)中的各種數(shù)據(jù)由于業(yè)務(wù)需要等原因,可能需要進(jìn)行遷移,比如:將某些數(shù)據(jù)從原始數(shù)據(jù)庫(kù)遷移到目標(biāo)數(shù)據(jù)庫(kù)。目前,為確保數(shù)據(jù)遷移前后的一致性,通常會(huì)先停機(jī),然后進(jìn)行數(shù)據(jù)的遷移。然而,在這樣的實(shí)現(xiàn)方式中,數(shù)據(jù)遷移期間只能讀不能寫,無法提供寫相關(guān)的業(yè)務(wù)服務(wù),會(huì)導(dǎo)致相關(guān)業(yè)務(wù)中斷。當(dāng)待遷移的數(shù)據(jù)量較大時(shí),可能會(huì)導(dǎo)致業(yè)務(wù)長(zhǎng)時(shí)間中斷,影響用戶的業(yè)務(wù)使用體驗(yàn)。



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

有鑒于此,本申請(qǐng)?zhí)峁┮环N數(shù)據(jù)遷移的方法和裝置,以解決相關(guān)技術(shù)中數(shù)據(jù)遷移導(dǎo)致業(yè)務(wù)中斷的問題。

具體地,本申請(qǐng)是通過如下技術(shù)方案實(shí)現(xiàn)的:

一種數(shù)據(jù)遷移的方法,所述方法包括:

獲取原始庫(kù)中目標(biāo)數(shù)據(jù)的遷移標(biāo)識(shí);

當(dāng)所述遷移標(biāo)識(shí)為未遷移時(shí),鎖定所述目標(biāo)數(shù)據(jù);

將所述目標(biāo)數(shù)據(jù)遷移至目標(biāo)庫(kù),并在遷移完畢后將原始庫(kù)中所述目標(biāo)數(shù)據(jù)的遷移標(biāo)識(shí)置為已遷移。

可選的,所述方法還包括:

在接收到針對(duì)目標(biāo)數(shù)據(jù)的業(yè)務(wù)訪問時(shí),獲取原始庫(kù)中所述目標(biāo)數(shù)據(jù)的遷 移標(biāo)識(shí);

當(dāng)所述遷移標(biāo)識(shí)為已遷移時(shí),基于目標(biāo)庫(kù)中的所述目標(biāo)數(shù)據(jù)執(zhí)行所述業(yè)務(wù)訪問。

可選的,所述方法還包括:

當(dāng)所述遷移標(biāo)識(shí)為未遷移時(shí),鎖定原始庫(kù)中所述目標(biāo)數(shù)據(jù);

再次獲取原始庫(kù)中所述目標(biāo)數(shù)據(jù)的遷移標(biāo)識(shí);

當(dāng)所述遷移標(biāo)識(shí)仍為未遷移時(shí),基于原始庫(kù)中的所述目標(biāo)數(shù)據(jù)執(zhí)行所述業(yè)務(wù)訪問。

可選的,所述方法還包括:

當(dāng)所述遷移標(biāo)識(shí)變?yōu)橐堰w移時(shí),異常退出。

可選的,所述鎖定所述目標(biāo)數(shù)據(jù),包括:

在所述目標(biāo)數(shù)據(jù)的當(dāng)前狀態(tài)為未鎖定時(shí),鎖定所述目標(biāo)數(shù)據(jù);

所述方法還包括:

在遷移完畢后解鎖所述目標(biāo)數(shù)據(jù)。

一種數(shù)據(jù)遷移的裝置,所述裝置包括:

第一獲取單元,獲取原始庫(kù)中目標(biāo)數(shù)據(jù)的遷移標(biāo)識(shí);

第一鎖定單元,在所述遷移標(biāo)識(shí)為未遷移時(shí),鎖定所述目標(biāo)數(shù)據(jù);

數(shù)據(jù)遷移單元,將所述目標(biāo)數(shù)據(jù)遷移至目標(biāo)庫(kù),并在遷移完畢后將原始庫(kù)中所述目標(biāo)數(shù)據(jù)的遷移標(biāo)識(shí)置為已遷移。

可選的,所述裝置還包括:

第二獲取單元,在接收到針對(duì)目標(biāo)數(shù)據(jù)的業(yè)務(wù)訪問時(shí),獲取原始庫(kù)中所述目標(biāo)數(shù)據(jù)的遷移標(biāo)識(shí);

第一執(zhí)行單元,在所述遷移標(biāo)識(shí)為已遷移時(shí),基于目標(biāo)庫(kù)中的所述目標(biāo)數(shù)據(jù)執(zhí)行所述業(yè)務(wù)訪問。

可選的,所述裝置還包括:

第二鎖定單元,在所述遷移標(biāo)識(shí)為未遷移時(shí),鎖定原始庫(kù)中所述目標(biāo)數(shù)據(jù);

第三獲取單元,再次獲取原始庫(kù)中所述目標(biāo)數(shù)據(jù)的遷移標(biāo)識(shí);

第二執(zhí)行單元,在所述遷移標(biāo)識(shí)仍為未遷移時(shí),基于原始庫(kù)中的所述目標(biāo)數(shù)據(jù)執(zhí)行所述業(yè)務(wù)訪問。

可選的,所述裝置還包括:

異常退出單元,在所述遷移標(biāo)識(shí)變?yōu)橐堰w移時(shí),異常退出。

可選的,所述第一鎖定單元,具體在所述目標(biāo)數(shù)據(jù)的當(dāng)前狀態(tài)為未鎖定時(shí),鎖定所述目標(biāo)數(shù)據(jù);

所述裝置還包括:

數(shù)據(jù)解鎖單元,在遷移完畢后解鎖所述目標(biāo)數(shù)據(jù)。

由以上描述可以看出,本申請(qǐng)可以在目標(biāo)數(shù)據(jù)的遷移標(biāo)識(shí)為未遷移時(shí),鎖定所述目標(biāo)數(shù)據(jù),將所述目標(biāo)數(shù)據(jù)遷移至目標(biāo)庫(kù),并在遷移完畢后將原始庫(kù)中所述目標(biāo)數(shù)據(jù)的遷移標(biāo)識(shí)置為已遷移。本申請(qǐng)通過遷移標(biāo)識(shí)實(shí)現(xiàn)不停機(jī)的數(shù)據(jù)遷移,在不中斷業(yè)務(wù)的同時(shí)確保遷移前后數(shù)據(jù)的高一致性,提高用戶的業(yè)務(wù)使用體驗(yàn)。

附圖說明

圖1是本申請(qǐng)一示例性實(shí)施例示出的一種數(shù)據(jù)遷移的方法的流程示意圖。

圖2是本申請(qǐng)一示例性實(shí)施例示出的一種業(yè)務(wù)訪問的處理方法的流程示意圖。

圖3是本申請(qǐng)一示例性實(shí)施例示出的一種用于數(shù)據(jù)遷移的裝置的一結(jié)構(gòu)示意圖。

圖4是本申請(qǐng)一示例性實(shí)施例示出的一種數(shù)據(jù)遷移的裝置的結(jié)構(gòu)示意圖。

具體實(shí)施方式

這里將詳細(xì)地對(duì)示例性實(shí)施例進(jìn)行說明,其示例表示在附圖中。下面的描述涉及附圖時(shí),除非另有表示,不同附圖中的相同數(shù)字表示相同或相似的要素。以下示例性實(shí)施例中所描述的實(shí)施方式并不代表與本申請(qǐng)相一致的所 有實(shí)施方式。相反,它們僅是與如所附權(quán)利要求書中所詳述的、本申請(qǐng)的一些方面相一致的裝置和方法的例子。

在本申請(qǐng)使用的術(shù)語是僅僅出于描述特定實(shí)施例的目的,而非旨在限制本申請(qǐng)。在本申請(qǐng)和所附權(quán)利要求書中所使用的單數(shù)形式的“一種”、“所述”和“該”也旨在包括多數(shù)形式,除非上下文清楚地表示其他含義。還應(yīng)當(dāng)理解,本文中使用的術(shù)語“和/或”是指并包含一個(gè)或多個(gè)相關(guān)聯(lián)的列出項(xiàng)目的任何或所有可能組合。

應(yīng)當(dāng)理解,盡管在本申請(qǐng)可能采用術(shù)語第一、第二、第三等來描述各種信息,但這些信息不應(yīng)限于這些術(shù)語。這些術(shù)語僅用來將同一類型的信息彼此區(qū)分開。例如,在不脫離本申請(qǐng)范圍的情況下,第一信息也可以被稱為第二信息,類似地,第二信息也可以被稱為第一信息。取決于語境,如在此所使用的詞語“如果”可以被解釋成為“在……時(shí)”或“當(dāng)……時(shí)”或“響應(yīng)于確定”。

相關(guān)技術(shù)中,在進(jìn)行數(shù)據(jù)遷移時(shí),根據(jù)實(shí)際需要,可能需要將原始庫(kù)中的數(shù)據(jù)遷移到一個(gè)目標(biāo)庫(kù)中,也可能需要將原始庫(kù)中的數(shù)據(jù)遷移到多個(gè)目標(biāo)庫(kù)中。其中,將原始庫(kù)中的數(shù)據(jù)遷移到多個(gè)目標(biāo)庫(kù)中的情況較為復(fù)雜,停機(jī)后可能會(huì)耗費(fèi)幾個(gè)小時(shí),甚至幾天才能完成遷移,這樣長(zhǎng)時(shí)間的業(yè)務(wù)中斷是不能被接受的。

針對(duì)目前數(shù)據(jù)遷移存在的上述問題,本申請(qǐng)?zhí)峁┮环N無需停機(jī)的數(shù)據(jù)遷移方案。

圖1是本申請(qǐng)一示例性實(shí)施例示出的一種數(shù)據(jù)遷移的方法的流程示意圖。

請(qǐng)參考圖1,所述數(shù)據(jù)遷移的方法可以應(yīng)用在服務(wù)端中,包括有以下步驟:

步驟101,獲取原始庫(kù)中目標(biāo)數(shù)據(jù)的遷移標(biāo)識(shí)。

在本實(shí)施例中,所述原始庫(kù)為目標(biāo)數(shù)據(jù)在遷移前的存儲(chǔ)位置,所述原始庫(kù)可以包括:原始分庫(kù)、原始分表等。所述原始庫(kù)中通常包括有多條目標(biāo)數(shù)據(jù)。與所述原始庫(kù)對(duì)應(yīng)的是目標(biāo)庫(kù),所述目標(biāo)庫(kù)為目標(biāo)數(shù)據(jù)在遷移后的存儲(chǔ) 位置,即在數(shù)據(jù)遷移時(shí)需要將所述目標(biāo)數(shù)據(jù)由原始庫(kù)遷移到目標(biāo)庫(kù)。所述目標(biāo)庫(kù)也可以包括:目標(biāo)分庫(kù)、目標(biāo)分表等。

在本實(shí)施例中,在進(jìn)行數(shù)據(jù)遷移之前,可以分別為所述原始庫(kù)中的每條目標(biāo)數(shù)據(jù)設(shè)置遷移標(biāo)識(shí),所述遷移標(biāo)識(shí)包括:已遷移和未遷移,所述遷移標(biāo)識(shí)的初始狀態(tài)為未遷移。在實(shí)際應(yīng)用中,較為簡(jiǎn)單的,可以采用預(yù)設(shè)的字符來表示所述遷移標(biāo)識(shí),比如:采用0表示未遷移,采用1表示已遷移等,本申請(qǐng)對(duì)此不作特殊限制。

在本實(shí)施例中,在進(jìn)行數(shù)據(jù)遷移時(shí),可以遍歷所述原始庫(kù)中的每條目標(biāo)數(shù)據(jù),以獲取所述目標(biāo)數(shù)據(jù)的遷移標(biāo)識(shí)。

步驟102,當(dāng)所述遷移標(biāo)識(shí)為未遷移時(shí),鎖定所述目標(biāo)數(shù)據(jù)。

在本實(shí)施例中,在獲取到所述目標(biāo)數(shù)據(jù)的遷移標(biāo)識(shí)時(shí),可以判斷所述遷移標(biāo)識(shí)是否為已遷移,如果所述遷移標(biāo)識(shí)為已遷移,可以說明所述目標(biāo)數(shù)據(jù)已被成功遷移到目標(biāo)庫(kù),可以繼續(xù)執(zhí)行步驟101,獲取下一條目標(biāo)數(shù)據(jù)的遷移標(biāo)識(shí)。如果所述遷移標(biāo)識(shí)為未遷移,則可以判斷所述目標(biāo)數(shù)據(jù)的當(dāng)前狀態(tài)是否為未鎖定,如果所述目標(biāo)數(shù)據(jù)的當(dāng)前狀態(tài)為未鎖定,可以說明當(dāng)前沒有針對(duì)所述目標(biāo)數(shù)據(jù)的寫業(yè)務(wù),可以鎖定所述目標(biāo)數(shù)據(jù),以便后續(xù)執(zhí)行遷移操作。如果所述目標(biāo)數(shù)據(jù)的當(dāng)前狀態(tài)為已鎖定,通常說明當(dāng)前存在針對(duì)所述目標(biāo)數(shù)據(jù)的寫業(yè)務(wù),為確保數(shù)據(jù)的一致性,還不能進(jìn)行遷移操作,此時(shí),也可以繼續(xù)執(zhí)行步驟101,獲取下一條目標(biāo)數(shù)據(jù)的遷移標(biāo)識(shí)。

步驟103,將所述目標(biāo)數(shù)據(jù)遷移至目標(biāo)庫(kù),并在遷移完畢后將原始庫(kù)中所述目標(biāo)數(shù)據(jù)的遷移標(biāo)識(shí)置為已遷移。

基于前述步驟102,在鎖定所述目標(biāo)數(shù)據(jù)之后,可以將所述目標(biāo)數(shù)據(jù)遷移至目標(biāo)庫(kù),比如:可以先復(fù)制所述目標(biāo)數(shù)據(jù),然后將所述目標(biāo)數(shù)據(jù)粘貼到目標(biāo)庫(kù)。

在本實(shí)施例中,在將所述目標(biāo)數(shù)據(jù)遷移到目標(biāo)庫(kù)之后,可以將原始庫(kù)中所述目標(biāo)數(shù)據(jù)的遷移標(biāo)識(shí)置為已遷移,并解鎖原始庫(kù)中的所述目標(biāo)數(shù)據(jù),即將原始庫(kù)中的所述目標(biāo)數(shù)據(jù)的當(dāng)前狀態(tài)置為未鎖定。

在本實(shí)施例中,服務(wù)端可以定期遍歷原始庫(kù)中的目標(biāo)數(shù)據(jù),直至原始庫(kù)中的所有目標(biāo)數(shù)據(jù)的遷移標(biāo)識(shí)均為已遷移時(shí),可以確定所述原始庫(kù)中所有的目標(biāo)數(shù)據(jù)已完全遷移至目標(biāo)庫(kù),本次遷移結(jié)束。

基于圖1所示的數(shù)據(jù)遷移的方法,下面介紹服務(wù)端在數(shù)據(jù)遷移過程中接收到針對(duì)目標(biāo)數(shù)據(jù)的業(yè)務(wù)訪問的處理流程。

圖2是本申請(qǐng)一示例性實(shí)施例示出的一種業(yè)務(wù)訪問的處理方法的流程示意圖。

請(qǐng)參考圖2,該實(shí)施例在前述圖1所示的實(shí)施例的基礎(chǔ)上,服務(wù)端在進(jìn)行數(shù)據(jù)遷移時(shí),如果接收到業(yè)務(wù)訪問,可以執(zhí)行以下步驟:

步驟201,在接收到針對(duì)目標(biāo)數(shù)據(jù)的業(yè)務(wù)訪問時(shí),獲取原始庫(kù)中所述目標(biāo)數(shù)據(jù)的遷移標(biāo)識(shí)。

在本實(shí)施例中,服務(wù)端在接收到針對(duì)正在遷移的原始庫(kù)中目標(biāo)數(shù)據(jù)的業(yè)務(wù)訪問時(shí),相關(guān)業(yè)務(wù)線程可以先獲取原始庫(kù)中所述目標(biāo)數(shù)據(jù)的遷移標(biāo)識(shí)。比如:業(yè)務(wù)線程可以根據(jù)所述業(yè)務(wù)訪問中攜帶的ID信息在原始庫(kù)中查找對(duì)應(yīng)是目標(biāo)數(shù)據(jù),然后獲取該目標(biāo)數(shù)據(jù)的遷移標(biāo)識(shí)。

舉例來說,假設(shè)所述目標(biāo)數(shù)據(jù)為余額寶的余額,則相關(guān)業(yè)務(wù)線程可以先從所述業(yè)務(wù)訪問中提取賬號(hào)信息,然后基于所述賬號(hào)信息在原始庫(kù)中查找到與所述賬號(hào)信息對(duì)應(yīng)的目標(biāo)數(shù)據(jù),即余額寶余額,然后獲取所述余額寶余額的遷移標(biāo)識(shí)。

步驟202,判斷所述遷移標(biāo)識(shí)是否為未遷移。當(dāng)所述遷移標(biāo)識(shí)為未遷移時(shí),執(zhí)行步驟203。當(dāng)所述遷移標(biāo)識(shí)為已遷移時(shí),執(zhí)行步驟208。

步驟203,鎖定原始庫(kù)中所述目標(biāo)數(shù)據(jù)。

基于前述標(biāo)識(shí)202的判斷結(jié)果,當(dāng)所述遷移標(biāo)識(shí)為未遷移時(shí),可以說明截至到獲取所述遷移標(biāo)識(shí)的時(shí)刻,所述目標(biāo)數(shù)據(jù)尚未遷移到目標(biāo)庫(kù),可以先判斷原始庫(kù)中的所述目標(biāo)數(shù)據(jù)的當(dāng)前狀態(tài)是否為未鎖定,如果為未鎖定,則可以鎖定原始庫(kù)中的所述目標(biāo)數(shù)據(jù),以便執(zhí)行后續(xù)流程。如果原始庫(kù)中的所述目標(biāo)數(shù)據(jù)的當(dāng)前狀態(tài)為已鎖定,則可以等待預(yù)設(shè)的時(shí)間后,再次進(jìn)行所述 目標(biāo)數(shù)據(jù)當(dāng)前狀態(tài)的判斷。

步驟204,再次獲取原始庫(kù)中所述目標(biāo)數(shù)據(jù)的遷移標(biāo)識(shí)。

基于前述步驟203,在鎖定原始庫(kù)中所述目標(biāo)數(shù)據(jù)之后,其他業(yè)務(wù)線程無法基于原始庫(kù)中所述目標(biāo)數(shù)據(jù)進(jìn)行業(yè)務(wù)訪問,比如:寫訪問,也無法對(duì)原始庫(kù)中所述目標(biāo)數(shù)據(jù)進(jìn)行遷移。此時(shí),可以再次獲取原始庫(kù)中所述目標(biāo)數(shù)據(jù)的遷移標(biāo)識(shí)。

步驟205,再次判斷所述遷移標(biāo)識(shí)是否為未遷移。如果所述遷移標(biāo)識(shí)仍為未遷移,則執(zhí)行步驟206。如果所述遷移標(biāo)識(shí)變?yōu)橐堰w移,則執(zhí)行步驟207。

步驟206,基于原始庫(kù)中的所述目標(biāo)數(shù)據(jù)執(zhí)行所述業(yè)務(wù)訪問。

基于前述步驟205的判斷結(jié)果,如果再次獲取到的原始庫(kù)中所述目標(biāo)數(shù)據(jù)的遷移標(biāo)識(shí)仍為未遷移,可以說明在鎖定所述目標(biāo)數(shù)據(jù)的過程中未發(fā)生遷移操作,此時(shí),可以基于原始庫(kù)中所述目標(biāo)數(shù)據(jù)執(zhí)行所述業(yè)務(wù)訪問,比如:對(duì)原始庫(kù)中所述目標(biāo)數(shù)據(jù)進(jìn)行覆蓋寫等。

步驟207,異常退出。

基于前述步驟205的判斷結(jié)果,如果再次獲取到的原始庫(kù)中所述目標(biāo)數(shù)據(jù)的遷移標(biāo)識(shí)由未遷移變?yōu)橐堰w移,可以說明在鎖定所述目標(biāo)數(shù)據(jù)的過程中所述目標(biāo)數(shù)據(jù)已成功遷移至目標(biāo)庫(kù),所以其遷移標(biāo)識(shí)變?yōu)橐堰w移,此時(shí),無法基于原始庫(kù)中所述目標(biāo)數(shù)據(jù)執(zhí)行所述業(yè)務(wù)訪問,可以異常退出,向用戶返回錯(cuò)誤的消息??蛇x的,如果再次獲取到的原始庫(kù)中所述目標(biāo)數(shù)據(jù)的遷移標(biāo)識(shí)由未遷移變?yōu)橐堰w移,也可以跳轉(zhuǎn)到目標(biāo)庫(kù),基于目標(biāo)庫(kù)中的所述目標(biāo)數(shù)據(jù)執(zhí)行所述業(yè)務(wù)訪問,本申請(qǐng)對(duì)此不作特殊限制。

步驟208,基于目標(biāo)庫(kù)中的所述目標(biāo)數(shù)據(jù)執(zhí)行所述業(yè)務(wù)訪問。

基于前述標(biāo)識(shí)202的判斷結(jié)果,當(dāng)所述遷移標(biāo)識(shí)為已遷移時(shí),可以說明所述目標(biāo)數(shù)據(jù)已成功遷移至目標(biāo)庫(kù),此時(shí),可以跳轉(zhuǎn)到目標(biāo)庫(kù),基于目標(biāo)庫(kù)中的所述目標(biāo)數(shù)據(jù)執(zhí)行所述業(yè)務(wù)訪問,以實(shí)現(xiàn)遷移過程中數(shù)據(jù)的高一致性。

由以上描述可以看出,本申請(qǐng)可以在目標(biāo)數(shù)據(jù)的遷移標(biāo)識(shí)為未遷移時(shí),鎖定所述目標(biāo)數(shù)據(jù),將所述目標(biāo)數(shù)據(jù)遷移至目標(biāo)庫(kù),并在遷移完畢后將原始 庫(kù)中所述目標(biāo)數(shù)據(jù)的遷移標(biāo)識(shí)置為已遷移。本申請(qǐng)通過遷移標(biāo)識(shí)實(shí)現(xiàn)不停機(jī)的數(shù)據(jù)遷移,在不中斷業(yè)務(wù)的同時(shí)確保遷移前后數(shù)據(jù)的高一致性,提高用戶的業(yè)務(wù)使用體驗(yàn)。

可選的,在本申請(qǐng)一個(gè)例子中,針對(duì)數(shù)據(jù)量較大的目標(biāo)數(shù)據(jù),比如:賬務(wù)余額等狀態(tài)數(shù)據(jù),本申請(qǐng)?zhí)峁┑纳鲜鲞w移方案能夠在不中斷相關(guān)業(yè)務(wù)的前提下進(jìn)行狀態(tài)數(shù)據(jù)的遷移,同時(shí)有效確保狀態(tài)數(shù)據(jù)的高一致性。舉例來說,假設(shè)所述目標(biāo)數(shù)據(jù)為余額寶的余額,與所述目標(biāo)數(shù)據(jù)相關(guān)的業(yè)務(wù)操作可以包括:轉(zhuǎn)入、轉(zhuǎn)出等業(yè)務(wù)操作。當(dāng)服務(wù)端將存儲(chǔ)在原始庫(kù)中大量賬號(hào)的余額寶余額遷移到目標(biāo)庫(kù)時(shí),基于上述遷移方案,可以確保在整個(gè)遷移的過程中,相關(guān)業(yè)務(wù)操作不中斷,用戶還可以無感知地進(jìn)行轉(zhuǎn)入、轉(zhuǎn)出等業(yè)務(wù)操作,同時(shí)遷移過程中余額寶余額可以保證高一致性,不論余額寶余額是否已經(jīng)成功從原始庫(kù)遷移至目標(biāo)庫(kù),用戶都能查詢到準(zhǔn)確的余額。

值得注意的是,本申請(qǐng)上述實(shí)施例中涉及的業(yè)務(wù)訪問均為寫訪問。當(dāng)業(yè)務(wù)訪問為讀訪問時(shí),無需對(duì)目標(biāo)數(shù)據(jù)進(jìn)行鎖定。此外,可選的,在本申請(qǐng)另一個(gè)例子中,在原始庫(kù)中的所有數(shù)據(jù)全部成功遷移后,可以相關(guān)業(yè)務(wù)訪問全部切換到目標(biāo)庫(kù)中,進(jìn)而在處理業(yè)務(wù)訪問時(shí),無需再獲取原始庫(kù)中相關(guān)目標(biāo)數(shù)據(jù)的遷移標(biāo)識(shí),業(yè)務(wù)線程可以基于目標(biāo)庫(kù)中的目標(biāo)數(shù)據(jù)執(zhí)行業(yè)務(wù)訪問。

與前述數(shù)據(jù)遷移的方法的實(shí)施例相對(duì)應(yīng),本申請(qǐng)還提供了數(shù)據(jù)遷移的裝置的實(shí)施例。

本申請(qǐng)數(shù)據(jù)遷移的裝置的實(shí)施例可以應(yīng)用在服務(wù)端上。裝置實(shí)施例可以通過軟件實(shí)現(xiàn),也可以通過硬件或者軟硬件結(jié)合的方式實(shí)現(xiàn)。以軟件實(shí)現(xiàn)為例,作為一個(gè)邏輯意義上的裝置,是通過其所在服務(wù)端的處理器將非易失性存儲(chǔ)器中對(duì)應(yīng)的計(jì)算機(jī)程序指令讀取到內(nèi)存中運(yùn)行形成的。從硬件層面而言,如圖3所示,為本申請(qǐng)數(shù)據(jù)遷移的裝置所在服務(wù)端的一種硬件結(jié)構(gòu)圖,除了圖3所示的處理器、內(nèi)存、網(wǎng)絡(luò)接口、以及非易失性存儲(chǔ)器之外,實(shí)施例中裝置所在的服務(wù)端通常根據(jù)該服務(wù)端的實(shí)際功能,還可以包括其他硬件,對(duì)此不再贅述。

圖4是本申請(qǐng)一示例性實(shí)施例示出的一種數(shù)據(jù)遷移的裝置的結(jié)構(gòu)示意圖。

請(qǐng)參考圖4,所述數(shù)據(jù)遷移的裝置300可以應(yīng)用在前述圖3所示的服務(wù)端中,包括有:第一獲取單元301、第一鎖定單元302、數(shù)據(jù)遷移單元303、第二獲取單元304、第一執(zhí)行單元305、第二鎖定單元306、第三獲取單元307、第二執(zhí)行單元308、異常退出單元309以及數(shù)據(jù)解鎖單元310。

所述第一獲取單元301,獲取原始庫(kù)中目標(biāo)數(shù)據(jù)的遷移標(biāo)識(shí);

所述第一鎖定單元302,在所述遷移標(biāo)識(shí)為未遷移時(shí),鎖定所述目標(biāo)數(shù)據(jù);

所述數(shù)據(jù)遷移單元303,將所述目標(biāo)數(shù)據(jù)遷移至目標(biāo)庫(kù),并在遷移完畢后將原始庫(kù)中所述目標(biāo)數(shù)據(jù)的遷移標(biāo)識(shí)置為已遷移。

所述第二獲取單元304,在接收到針對(duì)目標(biāo)數(shù)據(jù)的業(yè)務(wù)訪問時(shí),獲取原始庫(kù)中所述目標(biāo)數(shù)據(jù)的遷移標(biāo)識(shí);

所述第一執(zhí)行單元305,在所述遷移標(biāo)識(shí)為已遷移時(shí),基于目標(biāo)庫(kù)中的所述目標(biāo)數(shù)據(jù)執(zhí)行所述業(yè)務(wù)訪問。

所述第二鎖定單元306,在所述遷移標(biāo)識(shí)為未遷移時(shí),鎖定原始庫(kù)中所述目標(biāo)數(shù)據(jù);

所述第三獲取單元307,再次獲取原始庫(kù)中所述目標(biāo)數(shù)據(jù)的遷移標(biāo)識(shí);

所述第二執(zhí)行單元308,在所述遷移標(biāo)識(shí)仍為未遷移時(shí),基于原始庫(kù)中的所述目標(biāo)數(shù)據(jù)執(zhí)行所述業(yè)務(wù)訪問。

所述異常退出單元309,在所述遷移標(biāo)識(shí)變?yōu)橐堰w移時(shí),異常退出。

可選的,所述第一鎖定單元302,具體在所述目標(biāo)數(shù)據(jù)的當(dāng)前狀態(tài)為未鎖定時(shí),鎖定所述目標(biāo)數(shù)據(jù);

所述數(shù)據(jù)解鎖單元310,在遷移完畢后解鎖所述目標(biāo)數(shù)據(jù)。

上述裝置中各個(gè)單元的功能和作用的實(shí)現(xiàn)過程具體詳見上述方法中對(duì)應(yīng)步驟的實(shí)現(xiàn)過程,在此不再贅述。

對(duì)于裝置實(shí)施例而言,由于其基本對(duì)應(yīng)于方法實(shí)施例,所以相關(guān)之處參見方法實(shí)施例的部分說明即可。以上所描述的裝置實(shí)施例僅僅是示意性的, 其中所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)單元上??梢愿鶕?jù)實(shí)際的需要選擇其中的部分或者全部模塊來實(shí)現(xiàn)本申請(qǐng)方案的目的。本領(lǐng)域普通技術(shù)人員在不付出創(chuàng)造性勞動(dòng)的情況下,即可以理解并實(shí)施。

以上所述僅為本申請(qǐng)的較佳實(shí)施例而已,并不用以限制本申請(qǐng),凡在本申請(qǐng)的精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本申請(qǐng)保護(hù)的范圍之內(nèi)。

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
屯留县| 合肥市| 张家港市| 辽宁省| 兰州市| 仲巴县| 防城港市| 苍梧县| 额尔古纳市| 柘荣县| 益阳市| 枞阳县| 依安县| 岳池县| 砀山县| 秀山| 安泽县| 深州市| 岳普湖县| 桑日县| 隆回县| 天峨县| 江安县| 通山县| 荃湾区| 南昌市| 临猗县| 肇源县| 昌宁县| 惠水县| 科技| 栾川县| 龙海市| 那曲县| 霍林郭勒市| 霍邱县| 黄冈市| 崇明县| 闽清县| 泌阳县| 虞城县|