快照處理方法及裝置的制造方法【專利摘要】本發(fā)明公開(kāi)了一種快照處理方法及裝置,其中,該方法包括:創(chuàng)建可寫(xiě)快照,其中包括:分配快照數(shù)據(jù)區(qū)和可寫(xiě)數(shù)據(jù)區(qū),快照數(shù)據(jù)區(qū)與可寫(xiě)數(shù)據(jù)區(qū)相互獨(dú)立,快照數(shù)據(jù)區(qū)用于保存快照數(shù)據(jù),可寫(xiě)數(shù)據(jù)區(qū)用于保存快照寫(xiě)入數(shù)據(jù);根據(jù)快照數(shù)據(jù)區(qū)和可寫(xiě)數(shù)據(jù)區(qū)進(jìn)行快照處理。通過(guò)本發(fā)明解決了相關(guān)技術(shù)中不能實(shí)現(xiàn)對(duì)快照的可寫(xiě)功能以及靈活的數(shù)據(jù)回滾功能的問(wèn)題,進(jìn)而實(shí)現(xiàn)了快照的可寫(xiě)功能以及靈活的數(shù)據(jù)回滾功能。【專利說(shuō)明】快照處理方法及裝置
技術(shù)領(lǐng)域:
[0001]本發(fā)明涉及數(shù)據(jù)存儲(chǔ)領(lǐng)域,具體而言,涉及快照處理方法及裝置?!?br>背景技術(shù):
】[0002]隨著互聯(lián)網(wǎng)信息的迅速發(fā)展,數(shù)據(jù)安全以及備份越顯得重要,許多廠家紛紛尋找合適的備份軟件。在實(shí)際使用中,大多數(shù)廠商要求備份過(guò)程不中斷業(yè)務(wù),盡量減小對(duì)原有業(yè)務(wù)的影響。由于快照具有快速生效,對(duì)業(yè)務(wù)影響小,占用空間小等優(yōu)點(diǎn),因此,快照技術(shù)成了首選的備份技術(shù)。[0003]存儲(chǔ)網(wǎng)絡(luò)行業(yè)協(xié)會(huì)(StorageNetworkingIndustryAssociat1n,簡(jiǎn)稱為SNIA)對(duì)快照(Snapshot)的定義是:關(guān)于指定數(shù)據(jù)集合的一個(gè)完全可用拷貝,該拷貝包括相應(yīng)數(shù)據(jù)在某個(gè)時(shí)間點(diǎn)(拷貝開(kāi)始的時(shí)間點(diǎn))的映像。快照可以是其所表示的數(shù)據(jù)的一個(gè)副本,也可以是數(shù)據(jù)的一個(gè)復(fù)制品。[0004]目前,大多數(shù)快照實(shí)現(xiàn)的是只讀快照,即快照一旦被創(chuàng)建,只能對(duì)快照進(jìn)行讀取,不能寫(xiě)入,即便少數(shù)廠商實(shí)現(xiàn)了可寫(xiě)快照,但是由于破壞了快照原有數(shù)據(jù),在源卷數(shù)據(jù)破壞時(shí),數(shù)據(jù)不能恢復(fù)。針對(duì)相關(guān)技術(shù)中,不能實(shí)現(xiàn)對(duì)快照的可寫(xiě)功能以及靈活的數(shù)據(jù)回滾功能的問(wèn)題,還未提出有效的解決方案?!?br/>發(fā)明內(nèi)容】[0005]本發(fā)明提供了一種快照處理方法及裝置,以至少解決相關(guān)技術(shù)中不能實(shí)現(xiàn)對(duì)快照的可寫(xiě)功能以及靈活的數(shù)據(jù)回滾功能的問(wèn)題。[0006]根據(jù)本發(fā)明的一個(gè)方面,提供了一種快照處理方法,包括:創(chuàng)建可寫(xiě)快照,其中包括:分配快照數(shù)據(jù)區(qū)和可寫(xiě)數(shù)據(jù)區(qū),所述快照數(shù)據(jù)區(qū)與所述可寫(xiě)數(shù)據(jù)區(qū)相互獨(dú)立,所述快照數(shù)據(jù)區(qū)用于保存快照數(shù)據(jù),所述可寫(xiě)數(shù)據(jù)區(qū)用于保存快照寫(xiě)入數(shù)據(jù);根據(jù)所述快照數(shù)據(jù)區(qū)和所述可寫(xiě)數(shù)據(jù)區(qū)進(jìn)行快照處理。[0007]進(jìn)一步地,創(chuàng)建所述可寫(xiě)快照還包括:創(chuàng)建快照數(shù)據(jù)區(qū)映射表和可寫(xiě)數(shù)據(jù)區(qū)映射表,其中,所述快照數(shù)據(jù)區(qū)映射表用于保存快照數(shù)據(jù)在源卷上的位置和所述快照數(shù)據(jù)在所述快照數(shù)據(jù)區(qū)的位置的對(duì)應(yīng)關(guān)系,所述可寫(xiě)數(shù)據(jù)區(qū)映射表用于保存所述快照數(shù)據(jù)在所述可寫(xiě)數(shù)據(jù)區(qū)上的位置以及所述快照數(shù)據(jù)對(duì)應(yīng)的標(biāo)記信息;創(chuàng)建全量同步進(jìn)度表,該全量同步進(jìn)度表用于保存對(duì)快照進(jìn)行全量同步時(shí)的當(dāng)前位置信息。[0008]進(jìn)一步地,根據(jù)所述快照數(shù)據(jù)區(qū)和所述可寫(xiě)數(shù)據(jù)區(qū)進(jìn)行快照處理包括:對(duì)所述可寫(xiě)快照進(jìn)行寫(xiě)入,其中,在快照寫(xiě)入位置信息不大于所述全量同步進(jìn)度表的所述當(dāng)前位置信息的情況下,將所述數(shù)據(jù)直接寫(xiě)入所述可寫(xiě)數(shù)據(jù)區(qū);或者,在快照寫(xiě)入位置信息大于所述全量同步進(jìn)度表的所述當(dāng)前位置信息的情況下,并且在所述可寫(xiě)數(shù)據(jù)區(qū)映射表中查找到所述快照寫(xiě)入位置信息時(shí),將所述數(shù)據(jù)直接寫(xiě)入所述可寫(xiě)數(shù)據(jù)區(qū);或者,在快照寫(xiě)入位置信息大于所述全量同步進(jìn)度表的所述當(dāng)前位置信息的情況下,并且第一次在所述快照寫(xiě)入位置信息寫(xiě)入數(shù)據(jù)時(shí),將所述快照寫(xiě)入位置信息的數(shù)據(jù)從源卷拷貝到所述可寫(xiě)數(shù)據(jù)區(qū),再將所述快照數(shù)據(jù)直接寫(xiě)入所述可寫(xiě)數(shù)據(jù)區(qū)。[0009]進(jìn)一步地,在第一次在所述快照寫(xiě)入位置信息寫(xiě)入數(shù)據(jù)時(shí),將所述快照寫(xiě)入位置信息更新至所述可寫(xiě)數(shù)據(jù)區(qū)映射表。[0010]進(jìn)一步地,對(duì)可寫(xiě)快照進(jìn)行寫(xiě)入后包括:啟動(dòng)對(duì)快照的全量同步,并根據(jù)同步的進(jìn)度,將同步的位置信息更新到所述全量同步進(jìn)度表中。[0011]進(jìn)一步地,對(duì)所述可寫(xiě)快照進(jìn)行寫(xiě)入之后包括:獲取快照待讀取數(shù)據(jù)的位置信息;根據(jù)所述位置信息對(duì)所述快照待讀取數(shù)據(jù)進(jìn)行讀取。[0012]進(jìn)一步地,根據(jù)所述位置信息對(duì)所述快照待讀取數(shù)據(jù)進(jìn)行讀取包括:在所述位置信息不大于所述全量同步進(jìn)度表中記錄的位置信息的情況下,直接從所述可寫(xiě)數(shù)據(jù)區(qū)讀取所述快照待讀取數(shù)據(jù);或者,在所述位置信息大于所述全量同步進(jìn)度表中記錄的位置信息的情況下,并且在所述可寫(xiě)數(shù)據(jù)區(qū)映射表中查找到所述快照寫(xiě)入位置信息時(shí),從所述可寫(xiě)數(shù)據(jù)區(qū)讀取所述快照待讀取數(shù)據(jù);或者,在所述位置信息大于所述全量同步進(jìn)度表中記錄的位置信息的情況下,并且在所述快照數(shù)據(jù)區(qū)映射表中查找到所述快照寫(xiě)入位置信息時(shí),從所述快照數(shù)據(jù)區(qū)讀取所述快照待讀取數(shù)據(jù);或者,在所述位置信息大于所述全量同步進(jìn)度表中記錄的位置信息的情況下,并且在所述快照數(shù)據(jù)區(qū)映射表中不能查找到所述快照寫(xiě)入位置信息時(shí),從源卷中讀取所述快照待讀取數(shù)據(jù)。[0013]進(jìn)一步地,對(duì)所述可寫(xiě)快照進(jìn)行寫(xiě)入之后包括:在所述源卷數(shù)據(jù)出現(xiàn)丟失的情況下,從所述快照數(shù)據(jù)區(qū)進(jìn)行數(shù)據(jù)回滾或者從所述可寫(xiě)數(shù)據(jù)區(qū)進(jìn)行數(shù)據(jù)回滾。[0014]進(jìn)一步地,從所述快照數(shù)據(jù)區(qū)進(jìn)行數(shù)據(jù)回滾包括:獲取所述快照數(shù)據(jù)區(qū)映射表的第一個(gè)位置,根據(jù)所述第一位置信息逐一將所述快照數(shù)據(jù)區(qū)上的數(shù)據(jù)寫(xiě)到所述源卷相應(yīng)位置上。[0015]進(jìn)一步地,從所述可寫(xiě)數(shù)據(jù)區(qū)進(jìn)行數(shù)據(jù)回滾包括:在全量同步完成的情況下,將從所述可寫(xiě)數(shù)據(jù)區(qū)讀取的數(shù)據(jù)回寫(xiě)至所述源卷;或者,獲取所述可寫(xiě)數(shù)據(jù)區(qū)映射表的第一個(gè)位置信息,根據(jù)所述第一位置信息逐一將所述快照可寫(xiě)數(shù)據(jù)區(qū)上的數(shù)據(jù)寫(xiě)到所述源卷相應(yīng)位置上。[0016]進(jìn)一步地,根據(jù)所述快照數(shù)據(jù)區(qū)和所述可寫(xiě)數(shù)據(jù)區(qū)進(jìn)行快照處理包括:在將所述可寫(xiě)快照轉(zhuǎn)化為只讀快照的情況下,保留所述可寫(xiě)數(shù)據(jù)區(qū);或者,刪除所述可寫(xiě)數(shù)據(jù)區(qū)、所述可寫(xiě)數(shù)據(jù)區(qū)映射表和所述全量同步進(jìn)度表。[0017]進(jìn)一步地,根據(jù)所述快照數(shù)據(jù)區(qū)和所述可寫(xiě)數(shù)據(jù)區(qū)進(jìn)行快照處理包括:在將只讀快照轉(zhuǎn)換為所述可寫(xiě)快照的情況下,判斷所述可寫(xiě)數(shù)據(jù)區(qū)是否存在,在判斷結(jié)果為否的情況下,分配所述可寫(xiě)數(shù)據(jù)區(qū)、所述可寫(xiě)數(shù)據(jù)區(qū)映射表和所述全量同步進(jìn)度表,發(fā)起全量同步。[0018]根據(jù)本發(fā)明的另一個(gè)方面,還提供了一種快照處理裝置,包括:創(chuàng)建模塊,用于創(chuàng)建可寫(xiě)快照,其中包括:分配快照數(shù)據(jù)區(qū)和可寫(xiě)數(shù)據(jù)區(qū),所述快照數(shù)據(jù)區(qū)與所述可寫(xiě)數(shù)據(jù)區(qū)相互獨(dú)立,所述快照數(shù)據(jù)區(qū)用于保存快照數(shù)據(jù),所述可寫(xiě)數(shù)據(jù)區(qū)用于保存快照寫(xiě)入數(shù)據(jù);處理模塊,用于根據(jù)所述快照數(shù)據(jù)區(qū)和所述可寫(xiě)數(shù)據(jù)區(qū)進(jìn)行快照處理。[0019]進(jìn)一步地,所述創(chuàng)建模塊還包括:第一創(chuàng)建單元,用于創(chuàng)建快照數(shù)據(jù)區(qū)映射表和可寫(xiě)數(shù)據(jù)區(qū)映射表,其中,所述快照數(shù)據(jù)區(qū)映射表用于保存快照數(shù)據(jù)在源卷上的位置和所述快照數(shù)據(jù)在所述快照數(shù)據(jù)區(qū)的位置的對(duì)應(yīng)關(guān)系,所述可寫(xiě)數(shù)據(jù)區(qū)映射表用于保存所述快照數(shù)據(jù)在所述可寫(xiě)數(shù)據(jù)區(qū)上的位置以及所述快照數(shù)據(jù)對(duì)應(yīng)的標(biāo)記信息;第二創(chuàng)建單元,用于創(chuàng)建全量同步進(jìn)度表,該全量同步進(jìn)度表用于保存對(duì)快照進(jìn)行全量同步時(shí)的當(dāng)前位置信息。[0020]進(jìn)一步地,所述處理模塊包括:第一寫(xiě)入單元,用于對(duì)所述可寫(xiě)快照進(jìn)行寫(xiě)入,其中,所述第一寫(xiě)入單元用于:在快照寫(xiě)入位置信息不大于所述全量同步進(jìn)度表的所述當(dāng)前位置信息的情況下,將所述數(shù)據(jù)直接寫(xiě)入所述可寫(xiě)數(shù)據(jù)區(qū);或者,在快照寫(xiě)入位置信息大于所述全量同步進(jìn)度表的所述當(dāng)前位置信息的情況下,并且在所述可寫(xiě)數(shù)據(jù)區(qū)映射表中查找到所述快照寫(xiě)入位置信息時(shí),將所述數(shù)據(jù)直接寫(xiě)入所述可寫(xiě)數(shù)據(jù)區(qū);或者,在快照寫(xiě)入位置信息大于所述全量同步進(jìn)度表的所述當(dāng)前位置信息的情況下,并且第一次在所述快照寫(xiě)入位置信息寫(xiě)入數(shù)據(jù)時(shí),將所述快照寫(xiě)入位置的數(shù)據(jù)從源卷拷貝到所述可寫(xiě)數(shù)據(jù)區(qū),再將所述快照數(shù)據(jù)直接寫(xiě)入所述可寫(xiě)數(shù)據(jù)區(qū)。[0021]進(jìn)一步地,所述處理模塊還包括:第二寫(xiě)入模塊,用于在第一次在所述快照寫(xiě)入位置信息寫(xiě)入數(shù)據(jù)時(shí),將所述快照寫(xiě)入位置信息更新至所述可寫(xiě)數(shù)據(jù)區(qū)映射表。[0022]進(jìn)一步地,所述處理模塊還包括:更新單元,用于啟動(dòng)對(duì)快照的全量同步,并根據(jù)同步的進(jìn)度,將同步的位置信息更新到所述全量同步進(jìn)度表中。[0023]進(jìn)一步地,所述處理模塊還包括:獲取單元,用于獲取快照待讀取數(shù)據(jù)的位置信息;讀取單元,用于根據(jù)所述位置信息對(duì)所述快照待讀取數(shù)據(jù)進(jìn)行讀取。[0024]進(jìn)一步地,所述讀取單元還用于:在所述位置信息不大于所述全量同步進(jìn)度表中記錄的位置信息的情況下,直接從所述可寫(xiě)數(shù)據(jù)區(qū)讀取所述快照待讀取數(shù)據(jù);或者,在所述位置信息大于所述全量同步進(jìn)度表中記錄的位置信息的情況下,并且在所述可寫(xiě)數(shù)據(jù)區(qū)映射表中查找到所述快照寫(xiě)入位置信息時(shí),從所述可寫(xiě)數(shù)據(jù)區(qū)讀取所述快照待讀取數(shù)據(jù);或者,在所述位置信息大于所述全量同步進(jìn)度表中記錄的位置信息的情況下,并且在所述快照數(shù)據(jù)區(qū)映射表中查找到所述快照寫(xiě)入位置信息時(shí),從所述快照數(shù)據(jù)區(qū)讀取所述快照待讀取數(shù)據(jù);或者,在所述位置信息大于所述全量同步進(jìn)度表中記錄的位置信息的情況下,并且在所述快照數(shù)據(jù)區(qū)映射表中不能查找到所述快照寫(xiě)入位置信息時(shí),從源卷中讀取所述快照待讀取數(shù)據(jù)。[0025]進(jìn)一步地,所述處理模塊還包括:回滾單元,用于在所述源卷數(shù)據(jù)出現(xiàn)丟失的情況下,從所述快照數(shù)據(jù)區(qū)進(jìn)行數(shù)據(jù)回滾或者從所述可寫(xiě)數(shù)據(jù)區(qū)進(jìn)行數(shù)據(jù)回滾。[0026]進(jìn)一步地,所述回滾單元還用于:獲取所述快照數(shù)據(jù)區(qū)映射表的第一個(gè)位置,根據(jù)所述第一位置信息逐一將所述快照數(shù)據(jù)區(qū)上的數(shù)據(jù)寫(xiě)到所述源卷相應(yīng)位置上。[0027]進(jìn)一步地,所述回滾單元還用于:在全量同步完成的情況下,將從所述可寫(xiě)數(shù)據(jù)區(qū)讀取的數(shù)據(jù)回寫(xiě)至所述源卷;或者,獲取所述可寫(xiě)數(shù)據(jù)區(qū)映射表的第一個(gè)位置,根據(jù)所述第一位置信息逐一將所述快照數(shù)據(jù)區(qū)上的數(shù)據(jù)寫(xiě)到所述源卷相應(yīng)位置上。[0028]進(jìn)一步地,所述處理模塊還包括:第一轉(zhuǎn)化單元,用于在將所述可寫(xiě)快照轉(zhuǎn)化為只讀快照的情況下,保留所述可寫(xiě)數(shù)據(jù)區(qū);或者,刪除所述可寫(xiě)數(shù)據(jù)區(qū)、所述可寫(xiě)數(shù)據(jù)區(qū)映射表和所述全量同步進(jìn)度表。[0029]進(jìn)一步地,所述處理模塊還包括:[0030]第二轉(zhuǎn)化單元,用于在將只讀快照轉(zhuǎn)換為所述可寫(xiě)快照的情況下,判斷所述可寫(xiě)數(shù)據(jù)區(qū)是否存在,在判斷結(jié)果為否的情況下,分配所述可寫(xiě)數(shù)據(jù)區(qū)、所述可寫(xiě)數(shù)據(jù)區(qū)映射表和所述全量同步進(jìn)度表,發(fā)起全量同步。[0031]通過(guò)本發(fā)明,采用創(chuàng)建可寫(xiě)快照,其中包括:分配快照數(shù)據(jù)區(qū)和可寫(xiě)數(shù)據(jù)區(qū),快照數(shù)據(jù)區(qū)與可寫(xiě)數(shù)據(jù)區(qū)相互獨(dú)立,快照數(shù)據(jù)區(qū)用于保存快照數(shù)據(jù),可寫(xiě)數(shù)據(jù)區(qū)用于保存快照寫(xiě)入數(shù)據(jù);根據(jù)快照數(shù)據(jù)區(qū)和可寫(xiě)數(shù)據(jù)區(qū)進(jìn)行快照處理。解決了相關(guān)技術(shù)中不能實(shí)現(xiàn)對(duì)快照的可寫(xiě)功能以及靈活的數(shù)據(jù)回滾功能的問(wèn)題,進(jìn)而實(shí)現(xiàn)了快照的可寫(xiě)功能以及靈活的數(shù)據(jù)回滾功能?!靖綀D說(shuō)明】[0032]此處所說(shuō)明的附圖用來(lái)提供對(duì)本發(fā)明的進(jìn)一步理解,構(gòu)成本申請(qǐng)的一部分,本發(fā)明的示意性實(shí)施例及其說(shuō)明用于解釋本發(fā)明,并不構(gòu)成對(duì)本發(fā)明的不當(dāng)限定。在附圖中:[0033]圖1是根據(jù)本發(fā)明實(shí)施例的快照處理方法的流程圖;[0034]圖2是根據(jù)本發(fā)明實(shí)施例的快照處理裝置的結(jié)構(gòu)框圖;[0035]圖3是根據(jù)本發(fā)明實(shí)施例的快照處理裝置的結(jié)構(gòu)框圖(一);[0036]圖4是根據(jù)本發(fā)明實(shí)施例的快照處理裝置的結(jié)構(gòu)框圖(二);[0037]圖5是根據(jù)本發(fā)明實(shí)施例的快照處理裝置的結(jié)構(gòu)框圖(三);[0038]圖6是根據(jù)本發(fā)明實(shí)施例的快照處理裝置的結(jié)構(gòu)框圖(四);[0039]圖7是根據(jù)本發(fā)明實(shí)施例的快照處理裝置的結(jié)構(gòu)框圖(五);[0040]圖8是根據(jù)本發(fā)明實(shí)施例的快照處理裝置的結(jié)構(gòu)框圖(六);[0041]圖9是根據(jù)本發(fā)明實(shí)施例的快照處理裝置的結(jié)構(gòu)框圖(七);[0042]圖10是根據(jù)本發(fā)明實(shí)施例的快照處理裝置的結(jié)構(gòu)框圖(八);[0043]圖11是根據(jù)本發(fā)明實(shí)施例的快照COW數(shù)據(jù)區(qū)和可寫(xiě)數(shù)據(jù)區(qū)分布示意圖;[0044]圖12是根據(jù)本發(fā)明實(shí)施例的源卷寫(xiě)入后的數(shù)據(jù)空間分布示意圖;[0045]圖13是根據(jù)本發(fā)明實(shí)施例的快照寫(xiě)入后的數(shù)據(jù)空間分布示意圖;[0046]圖14是根據(jù)本發(fā)明實(shí)施例的從快照COW數(shù)據(jù)區(qū)回滾數(shù)據(jù)示意圖;[0047]圖15是根據(jù)本發(fā)明實(shí)施例的從快照可寫(xiě)數(shù)據(jù)區(qū)回滾數(shù)據(jù)示意圖;[0048]圖16是根據(jù)本發(fā)明實(shí)施例的對(duì)快照寫(xiě)入數(shù)據(jù)流程圖;[0049]圖17是根據(jù)本發(fā)明實(shí)施例的從快照讀取數(shù)據(jù)流程圖;[0050]圖18是根據(jù)本發(fā)明實(shí)施例的可寫(xiě)快照全量復(fù)制流程圖?!揪唧w實(shí)施方式】[0051]下文中將參考附圖并結(jié)合實(shí)施例來(lái)詳細(xì)說(shuō)明本發(fā)明。需要說(shuō)明的是,在不沖突的情況下,本申請(qǐng)中的實(shí)施例及實(shí)施例中的特征可以相互組合。[0052]在本實(shí)施例中提供了一種快照處理方法,圖1是根據(jù)本發(fā)明實(shí)施例的快照處理方法的流程圖,如圖1所示,該流程包括如下步驟:[0053]步驟S102,創(chuàng)建可寫(xiě)快照,其中包括:分配快照數(shù)據(jù)區(qū)和可寫(xiě)數(shù)據(jù)區(qū),快照數(shù)據(jù)區(qū)與可寫(xiě)數(shù)據(jù)區(qū)相互獨(dú)立,快照數(shù)據(jù)區(qū)用于保存快照數(shù)據(jù),可寫(xiě)數(shù)據(jù)區(qū)用于保存快照寫(xiě)入數(shù)據(jù);[0054]步驟S104,根據(jù)快照數(shù)據(jù)區(qū)和可寫(xiě)數(shù)據(jù)區(qū)進(jìn)行快照處理。[0055]通過(guò)上述步驟,分配了相互獨(dú)立的快照數(shù)據(jù)區(qū)和可寫(xiě)數(shù)據(jù)區(qū),可以在可寫(xiě)數(shù)據(jù)區(qū)寫(xiě)入數(shù)據(jù),能夠完成對(duì)快照的寫(xiě)入操作,相比于相技術(shù)中快照只能讀取,不能寫(xiě)入,或者在源卷數(shù)據(jù)破壞時(shí),數(shù)據(jù)不能恢復(fù),上述步驟解決了相關(guān)技術(shù)中不能實(shí)現(xiàn)對(duì)快照的可寫(xiě)功能以及靈活的數(shù)據(jù)回滾功能的問(wèn)題,進(jìn)而實(shí)現(xiàn)了快照的可寫(xiě)功能以及靈活的數(shù)據(jù)回滾功能。[0056]上述步驟S102涉及到創(chuàng)建可寫(xiě)快照,在一個(gè)可選實(shí)施例中,創(chuàng)建可寫(xiě)快照包括:創(chuàng)建快照數(shù)據(jù)區(qū)映射表和可寫(xiě)數(shù)據(jù)區(qū)映射表,其中,快照數(shù)據(jù)區(qū)映射表用于保存快照數(shù)據(jù)在源卷上的位置和快照數(shù)據(jù)在快照數(shù)據(jù)區(qū)的位置的對(duì)應(yīng)關(guān)系,可寫(xiě)數(shù)據(jù)區(qū)映射表用于保存快照數(shù)據(jù)在可寫(xiě)數(shù)據(jù)區(qū)上的位置以及快照數(shù)據(jù)對(duì)應(yīng)的標(biāo)記信息;創(chuàng)建全量同步進(jìn)度表,全量同步進(jìn)度表用于保存對(duì)快照進(jìn)行全量同步時(shí)的當(dāng)前位置信息。從而可以通過(guò)快照數(shù)據(jù)區(qū)映射表、可寫(xiě)數(shù)據(jù)區(qū)映射表和全量同步進(jìn)度表進(jìn)行快照處理。[0057]在一個(gè)可選實(shí)施例中,根據(jù)快照數(shù)據(jù)區(qū)和該可寫(xiě)數(shù)據(jù)區(qū)進(jìn)行快照處理包括,對(duì)可寫(xiě)快照進(jìn)行寫(xiě)入,在另一個(gè)可選實(shí)施例中,在快照寫(xiě)入位置信息不大于該當(dāng)前位置信息的情況下,將該數(shù)據(jù)直接寫(xiě)入可寫(xiě)數(shù)據(jù)區(qū);或者,在快照寫(xiě)入位置信息大于該當(dāng)前位置信息的情況下,并且在可寫(xiě)數(shù)據(jù)區(qū)映射表中查找到快照寫(xiě)入位置信息時(shí),將數(shù)據(jù)直接寫(xiě)入可寫(xiě)數(shù)據(jù)區(qū);或者,在快照寫(xiě)入位置信息大于該當(dāng)前位置信息的情況下,并且第一次在快照寫(xiě)入位置信息寫(xiě)入數(shù)據(jù)時(shí),將快照寫(xiě)入位置信息拷貝到可寫(xiě)數(shù)據(jù)區(qū),再將數(shù)據(jù)直接寫(xiě)入可寫(xiě)數(shù)據(jù)區(qū)。從而根據(jù)快照寫(xiě)入位置信息完成了對(duì)數(shù)據(jù)的寫(xiě)入過(guò)程。[0058]在一個(gè)可選實(shí)施例中,在第一次在快照寫(xiě)入位置信息寫(xiě)入數(shù)據(jù)時(shí),將快照寫(xiě)入位置信息更新至可寫(xiě)數(shù)據(jù)區(qū)映射表。在一個(gè)可選實(shí)施例中,對(duì)可寫(xiě)快照進(jìn)行寫(xiě)入后,啟動(dòng)對(duì)快照的全量同步,并根據(jù)同步的進(jìn)度,將同步的位置信息更新到全量同步進(jìn)度表中。[0059]對(duì)可寫(xiě)快照進(jìn)行寫(xiě)入之后,還可以對(duì)數(shù)據(jù)進(jìn)行讀取,在一個(gè)可選實(shí)施例中,獲取快照待讀取數(shù)據(jù)的位置信息,根據(jù)快照位置信息對(duì)快照待讀取數(shù)據(jù)進(jìn)行讀取。[0060]對(duì)于上述對(duì)數(shù)據(jù)進(jìn)行讀取的過(guò)程,在一個(gè)可選實(shí)施例中,在快照位置信息不大于全量同步進(jìn)度表中記錄的位置信息的情況下,直接從可寫(xiě)數(shù)據(jù)區(qū)讀取待讀取數(shù)據(jù);或者,在快照位置信息大于該全量同步進(jìn)度表中記錄的位置信息的情況下,并且在可寫(xiě)數(shù)據(jù)區(qū)映射表中查找到該快照寫(xiě)入位置信息時(shí),從可寫(xiě)數(shù)據(jù)區(qū)讀取待讀取數(shù)據(jù);或者,在快照位置信息大于全量同步進(jìn)度表中記錄的位置信息的情況下,并且在快照數(shù)據(jù)區(qū)映射表中查找到快照寫(xiě)入位置信息時(shí),從快照數(shù)據(jù)區(qū)讀取該待讀取數(shù)據(jù);或者,在快照位置信息大于全量同步進(jìn)度表中記錄的位置信息的情況下,并且在快照數(shù)據(jù)區(qū)映射表中不能查找到快照寫(xiě)入位置信息時(shí),從源卷中讀取待讀取數(shù)據(jù)。[0061]在源卷數(shù)據(jù)出現(xiàn)丟失的情況下,在一個(gè)可選實(shí)施例中,從快照數(shù)據(jù)區(qū)進(jìn)行數(shù)據(jù)回滾或者從可寫(xiě)數(shù)據(jù)區(qū)進(jìn)行數(shù)據(jù)回滾。因此,即使源卷數(shù)據(jù)破壞的情況下,通過(guò)數(shù)據(jù)的回滾可以對(duì)數(shù)據(jù)進(jìn)行恢復(fù)。[0062]上述步驟涉及到從該快照數(shù)據(jù)區(qū)進(jìn)行數(shù)據(jù)回滾,在一個(gè)可選實(shí)施例中,獲取快照數(shù)據(jù)區(qū)映射表的第一個(gè)位置,根據(jù)第一位置信息逐一將快照可寫(xiě)數(shù)據(jù)區(qū)上的數(shù)據(jù)寫(xiě)到源卷相應(yīng)位置上。在另一個(gè)可選實(shí)施例中,在全量同步完成的情況下,將從可寫(xiě)數(shù)據(jù)區(qū)讀取的數(shù)據(jù)回寫(xiě)至源卷;或者,獲取可寫(xiě)數(shù)據(jù)區(qū)映射表的第一個(gè)位置,根據(jù)第一位置信息逐一將快照可寫(xiě)數(shù)據(jù)區(qū)上的數(shù)據(jù)寫(xiě)到源卷相應(yīng)位置上。從而從快照數(shù)據(jù)區(qū)或者可寫(xiě)數(shù)據(jù)區(qū)完成了對(duì)數(shù)據(jù)的回滾。[0063]在根據(jù)快照數(shù)據(jù)區(qū)和可寫(xiě)數(shù)據(jù)區(qū)進(jìn)行快照處理中包括快照讀寫(xiě)轉(zhuǎn)換的處理,在一個(gè)可選實(shí)施例中,在將可寫(xiě)快照轉(zhuǎn)化為只讀快照的情況下,保留可寫(xiě)數(shù)據(jù)區(qū);或者,刪除可寫(xiě)數(shù)據(jù)區(qū)、可寫(xiě)數(shù)據(jù)區(qū)映射表和全量同步進(jìn)度表。在另一個(gè)可選實(shí)施例中,在將只讀快照轉(zhuǎn)換為該可寫(xiě)快照的情況下,判斷可寫(xiě)數(shù)據(jù)區(qū)是否存在,在判斷結(jié)果為否的情況下,分配可寫(xiě)數(shù)據(jù)區(qū)、可寫(xiě)數(shù)據(jù)區(qū)映射表和全量同步進(jìn)度表,發(fā)起全量同步。[0064]在本實(shí)施例中還提供了一種快照處理裝置,該裝置用于實(shí)現(xiàn)上述實(shí)施例及優(yōu)選實(shí)施方式,已經(jīng)進(jìn)行過(guò)說(shuō)明的不再贅述。如以下所使用的,術(shù)語(yǔ)“模塊”可以實(shí)現(xiàn)預(yù)定功能的軟件和/或硬件的組合。盡管以下實(shí)施例所描述的裝置較佳地以軟件來(lái)實(shí)現(xiàn),但是硬件,或者軟件和硬件的組合的實(shí)現(xiàn)也是可能并被構(gòu)想的。[0065]圖2是根據(jù)本發(fā)明實(shí)施例的快照處理裝置的結(jié)構(gòu)框圖,如圖2所示,還裝置包括:創(chuàng)建模塊22,用于創(chuàng)建可寫(xiě)快照,其中包括:分配快照數(shù)據(jù)區(qū)和可寫(xiě)數(shù)據(jù)區(qū),快照數(shù)據(jù)區(qū)與可寫(xiě)數(shù)據(jù)區(qū)相互獨(dú)立,快照數(shù)據(jù)區(qū)用于保存快照數(shù)據(jù),可寫(xiě)數(shù)據(jù)區(qū)用于保存快照寫(xiě)入數(shù)據(jù);處理模塊24,用于根據(jù)快照數(shù)據(jù)區(qū)和可寫(xiě)數(shù)據(jù)區(qū)進(jìn)行快照處理。[0066]圖3是根據(jù)本發(fā)明實(shí)施例的快照處理裝置的結(jié)構(gòu)框圖(一),如圖3所示,創(chuàng)建模塊22還包括:第一創(chuàng)建單元222,用于創(chuàng)建快照數(shù)據(jù)區(qū)映射表和可寫(xiě)數(shù)據(jù)區(qū)映射表,其中,快照數(shù)據(jù)區(qū)映射表用于保存快照數(shù)據(jù)在源卷上的位置和源卷數(shù)據(jù)在該快照數(shù)據(jù)區(qū)的位置的對(duì)應(yīng)關(guān)系,可寫(xiě)數(shù)據(jù)區(qū)映射表用于保存快照數(shù)據(jù)在該可寫(xiě)數(shù)據(jù)區(qū)上的位置以及該快照數(shù)據(jù)對(duì)應(yīng)的標(biāo)記信息;第二創(chuàng)建單元224,用于創(chuàng)建全量同步進(jìn)度表,全量同步進(jìn)度表用于保存對(duì)快照進(jìn)行全量同步時(shí)的當(dāng)前位置信息。[0067]圖4是根據(jù)本發(fā)明實(shí)施例的快照處理裝置的結(jié)構(gòu)框圖(二),如圖4所示,處理模塊24包括:第一寫(xiě)入單元242,用于對(duì)該可寫(xiě)快照進(jìn)行寫(xiě)入,其中,第一寫(xiě)入單元242用于:在快照寫(xiě)入位置信息不大于全量同步進(jìn)度表的當(dāng)前位置信息的情況下,將該數(shù)據(jù)直接寫(xiě)入該可寫(xiě)數(shù)據(jù)區(qū);或者,在該快照寫(xiě)入位置信息大于全量同步進(jìn)度表的當(dāng)前位置信息的情況下,并且在該可寫(xiě)數(shù)據(jù)區(qū)映射表中查找到該快照寫(xiě)入位置信息時(shí),將數(shù)據(jù)直接寫(xiě)入該可寫(xiě)數(shù)據(jù)區(qū);或者,在該快照寫(xiě)入位置信息大于全量同步進(jìn)度表的當(dāng)前位置信息的情況下,并且第一次在該快照寫(xiě)入位置信息寫(xiě)入數(shù)據(jù)時(shí),將該快照寫(xiě)入位置信息拷貝到該可寫(xiě)數(shù)據(jù)區(qū),再將該數(shù)據(jù)直接寫(xiě)入該可寫(xiě)數(shù)據(jù)區(qū)。[0068]圖5是根據(jù)本發(fā)明實(shí)施例的快照處理裝置的結(jié)構(gòu)框圖(三),如圖5所示,處理模塊24還包括:第二寫(xiě)入單元244,用于在第一次在該快照寫(xiě)入位置信息寫(xiě)入數(shù)據(jù)時(shí),將快照寫(xiě)入位置信息更新至該可寫(xiě)數(shù)據(jù)區(qū)映射表。[0069]圖6是根據(jù)本發(fā)明實(shí)施例的快照處理裝置的結(jié)構(gòu)框圖(四),如圖6所示,處理模塊24還包括:更新單元246,用于啟動(dòng)對(duì)快照的全量同步,并根據(jù)同步的進(jìn)度,將同步的位置信息更新到所述全量同步進(jìn)度表中。[0070]圖7是根據(jù)本發(fā)明實(shí)施例的快照處理裝置的結(jié)構(gòu)框圖(五),如圖7所示,處理模塊24還包括:獲取單元248,用于獲取待讀取數(shù)據(jù)的快照位置信息;讀取單元250,用于根據(jù)該快照位置信息對(duì)該待讀取數(shù)據(jù)進(jìn)行讀取。[0071]可選地,讀取單元250還用于:在該快照位置信息不大于該全量同步進(jìn)度表中記錄的位置信息的情況下,直接從該可寫(xiě)數(shù)據(jù)區(qū)讀取該待讀取數(shù)據(jù);或者,在快照位置信息大于該全量同步進(jìn)度表中記錄的位置信息的情況下,并且在該可寫(xiě)數(shù)據(jù)區(qū)映射表中查找到該快照寫(xiě)入位置信息時(shí),從可寫(xiě)數(shù)據(jù)區(qū)讀取該待讀取數(shù)據(jù);或者,在快照位置信息大于全量同步進(jìn)度表中記錄的位置信息的情況下,并且在該快照數(shù)據(jù)區(qū)映射表中查找到該快照寫(xiě)入位置信息時(shí),從該快照數(shù)據(jù)區(qū)讀取該待讀取數(shù)據(jù);或者,在快照位置信息大于全量同步進(jìn)度表中記錄的位置信息的情況下,并且在快照數(shù)據(jù)區(qū)映射表中不能查找到快照寫(xiě)入位置信息時(shí),從源卷中讀取該待讀取數(shù)據(jù)。[0072]圖8是根據(jù)本發(fā)明實(shí)施例的快照處理裝置的結(jié)構(gòu)框圖(六),如圖8所示,處理模塊24還包括:回滾單元252,用于在該源卷數(shù)據(jù)出現(xiàn)丟失的情況下,從快照數(shù)據(jù)區(qū)進(jìn)行數(shù)據(jù)回滾或者從可寫(xiě)數(shù)據(jù)區(qū)進(jìn)行數(shù)據(jù)回滾。[0073]可選地,回滾單元252還用于:獲取該快照數(shù)據(jù)區(qū)映射表的第一個(gè)位置,根據(jù)該第一位置信息逐一將快照可寫(xiě)數(shù)據(jù)區(qū)上的數(shù)據(jù)寫(xiě)到該源卷相應(yīng)位置上[0074]可選地,回滾單元252還用于:在全量同步完成的情況下,將從該可寫(xiě)數(shù)據(jù)區(qū)讀取的數(shù)據(jù)回寫(xiě)至該源卷;或者,獲取該可寫(xiě)數(shù)據(jù)區(qū)映射表的第一個(gè)位置,根據(jù)該第一位置信息逐一將快照可寫(xiě)數(shù)據(jù)區(qū)上的數(shù)據(jù)寫(xiě)到源卷相應(yīng)位置上[0075]圖9是根據(jù)本發(fā)明實(shí)施例的快照處理裝置的結(jié)構(gòu)框圖(七),如圖9所示,處理模塊24還包括:第一轉(zhuǎn)化單元254,用于在將可寫(xiě)快照轉(zhuǎn)化為只讀快照的情況下,保留可寫(xiě)數(shù)據(jù)區(qū);或者,刪除可寫(xiě)數(shù)據(jù)區(qū)、可寫(xiě)數(shù)據(jù)區(qū)映射表和該全量同步進(jìn)度表。[0076]圖10是根據(jù)本發(fā)明實(shí)施例的快照處理裝置的結(jié)構(gòu)框圖(八),如圖10所示,處理模塊24還包括:第二轉(zhuǎn)化單元256,用于在將只讀快照轉(zhuǎn)換為該可寫(xiě)快照的情況下,判斷該可寫(xiě)數(shù)據(jù)區(qū)是否存在,在判斷結(jié)果為否的情況下,分配該可寫(xiě)數(shù)據(jù)區(qū)、可寫(xiě)數(shù)據(jù)區(qū)映射表和全量同步進(jìn)度表,發(fā)起全量同步。[0077]需要說(shuō)明的是,上述各個(gè)模塊是可以通過(guò)軟件或硬件來(lái)實(shí)現(xiàn)的,對(duì)于后者,可以通過(guò)以下方式實(shí)現(xiàn),但不限于此:上述各個(gè)模塊均位于同一處理器中;或者,上述各個(gè)模塊分別位于第一處理器、第二處理器和第三處理器…中。[0078]針對(duì)相關(guān)技術(shù)中存在的上述問(wèn)題,下面結(jié)合可選實(shí)施例進(jìn)行說(shuō)明,在本可選實(shí)施例中結(jié)合了上述可選實(shí)施例及其可選實(shí)施方式。[0079]本可選實(shí)施例涉及到的術(shù)語(yǔ)包括:[0080]快照:英文翻譯為:snapshot,對(duì)數(shù)據(jù)進(jìn)行快速備份和恢復(fù)的一種技術(shù);[0081]COff:全稱為Copy-On-Write,即寫(xiě)時(shí)拷貝,快照的一種技術(shù),只在第一次寫(xiě)入時(shí)才會(huì)進(jìn)行數(shù)據(jù)拷貝;[0082]CK:全稱為chunk,數(shù)據(jù)按照一定的大小分塊,每一個(gè)數(shù)據(jù)塊就是一個(gè)chunk;[0083]全量復(fù)制:將一個(gè)卷上的數(shù)據(jù)按照順序全部復(fù)制到另外一個(gè)卷上的數(shù)據(jù)復(fù)制方式。[0084]本可選實(shí)施例采用以下技術(shù)方案,本可選實(shí)施例所采用的技術(shù)特征包括:[0085]1.存儲(chǔ)空間獨(dú)立。快照COW數(shù)據(jù)和快照寫(xiě)入數(shù)據(jù)獨(dú)立存放,互不影響,便于擴(kuò)展,也保證了數(shù)據(jù)的安全性,確??煺詹粫?huì)因?yàn)镃OW數(shù)據(jù)或者快照寫(xiě)入數(shù)據(jù)任一個(gè)損壞導(dǎo)致整個(gè)快照不可用;[0086]2.空間智能分配。快照支持可寫(xiě)時(shí)才會(huì)真正分配可寫(xiě)數(shù)據(jù)區(qū),保證空間按需分配,節(jié)約存儲(chǔ)空間;[0087]3.靈活回滾??煺赵淳頂?shù)據(jù)被破壞時(shí),可以由快照進(jìn)行回滾,快速恢復(fù)源卷數(shù)據(jù),保證源卷盡快提供數(shù)據(jù)服務(wù),由于快照COW數(shù)據(jù)區(qū)和寫(xiě)入數(shù)據(jù)區(qū)獨(dú)立,回滾時(shí),可以靈活的選擇回滾數(shù)據(jù)源;[0088]4.快速回滾。由于COW數(shù)據(jù)和寫(xiě)入數(shù)據(jù)空間獨(dú)立性,在進(jìn)行數(shù)據(jù)回滾時(shí),可以快速定位回滾數(shù)據(jù)源的位置,保證源卷快速提供數(shù)據(jù)服務(wù);[0089]5.快速寫(xiě)入。快照寫(xiě)入時(shí),先將快照當(dāng)前位置數(shù)據(jù)拷貝到寫(xiě)入數(shù)據(jù)空間,然后將快照數(shù)據(jù)快速寫(xiě)入,快照寫(xiě)入即可用;[0090]6.快速讀取。由于快照寫(xiě)入后立即可用,根據(jù)快照數(shù)據(jù)分布位圖,能夠快速找到快照數(shù)據(jù)分布,立即可以提供快照數(shù)據(jù)訪問(wèn);[0091]7.布局簡(jiǎn)單。可以完全在已有只讀快照的基礎(chǔ)上實(shí)現(xiàn)可寫(xiě),保證可寫(xiě)快照實(shí)現(xiàn)后,不會(huì)影響到已有的快照;[0092]8.快照讀寫(xiě)轉(zhuǎn)換??梢灾С种蛔x快照和可寫(xiě)快照之間自由轉(zhuǎn)換,保證轉(zhuǎn)換后的快照正??捎?,可以做到快照空間的按需分配和及時(shí)回收;[0093]9.全量復(fù)制??蓪?xiě)快照的可寫(xiě)數(shù)據(jù)數(shù)據(jù)空間分配后,系統(tǒng)立即啟動(dòng)從快照到可寫(xiě)數(shù)據(jù)區(qū)的全量復(fù)制。[0094]在本可選實(shí)施例涉及到的技術(shù)方案包括:[0095]新建快照處理方法:[0096]步驟A.選擇對(duì)一個(gè)普通卷創(chuàng)建快照,用戶填寫(xiě)相關(guān)參數(shù),創(chuàng)建快照,如果創(chuàng)建只讀快照,轉(zhuǎn)步驟B;如果創(chuàng)建可寫(xiě)快照,則轉(zhuǎn)步驟C。[0097]步驟B.快照分配COW數(shù)據(jù)區(qū)和COW數(shù)據(jù)區(qū)映射表(保存源卷數(shù)據(jù)源卷上的位置和其在COW數(shù)據(jù)區(qū)的位置的對(duì)應(yīng)關(guān)系),完成只讀快照創(chuàng)建流程。[0098]步驟C.快照分配COW數(shù)據(jù)區(qū)和可寫(xiě)數(shù)據(jù)區(qū),COff數(shù)據(jù)區(qū)和可寫(xiě)數(shù)據(jù)區(qū)獨(dú)立,同時(shí)創(chuàng)建COW數(shù)據(jù)區(qū)映射表和可寫(xiě)數(shù)據(jù)區(qū)映射表(保存快照數(shù)據(jù)在可寫(xiě)數(shù)據(jù)區(qū)上的位置以及對(duì)應(yīng)的標(biāo)記信息),以及全量同步進(jìn)度表(只保存對(duì)快照進(jìn)行全量同步時(shí)的當(dāng)前位置),同時(shí)啟動(dòng)全量復(fù)制,完成可寫(xiě)快照創(chuàng)建流程。[0099]快照寫(xiě)入處理方法:[0100]步驟A.主機(jī)對(duì)快照的寫(xiě)入,先取快照寫(xiě)入位置和同步進(jìn)度表中保存的位置比對(duì),如果快照寫(xiě)入位置小于等于同步進(jìn)度表保存的位置,則將待寫(xiě)入快照的數(shù)據(jù)直接寫(xiě)入可寫(xiě)數(shù)據(jù)區(qū),如果該位置是第一次寫(xiě)入,還需要將寫(xiě)入位置更新到可寫(xiě)數(shù)據(jù)區(qū)映射表,然后向主機(jī)回應(yīng)快照寫(xiě)入完成,結(jié)束快照寫(xiě)入流程。如果寫(xiě)入位置大于同步進(jìn)度表保存的位置,則轉(zhuǎn)步驟B。[0101]步驟B.查找可寫(xiě)數(shù)據(jù)區(qū)映射表,如果找到該寫(xiě)入位置,則將快照待寫(xiě)的數(shù)據(jù)直接寫(xiě)入可寫(xiě)數(shù)據(jù)區(qū),然后向主機(jī)回應(yīng)快照寫(xiě)入完成,結(jié)束快照寫(xiě)入流程。否則轉(zhuǎn)步驟C。[0102]步驟C.快照該位置是第一次寫(xiě)入,先將快照該位置數(shù)據(jù)拷貝到可寫(xiě)數(shù)據(jù)區(qū),然后將待寫(xiě)入快照的數(shù)據(jù)寫(xiě)入快照可寫(xiě)數(shù)據(jù)區(qū),同時(shí)將寫(xiě)入位置更新到可寫(xiě)數(shù)據(jù)區(qū)映射表,最后向主機(jī)回應(yīng)快照寫(xiě)入完成,結(jié)束快照寫(xiě)入流程。[0103]全量同步處理方法:[0104]步驟A.全量同步依次按照順序?qū)⒖煺諗?shù)據(jù)復(fù)制到快照可寫(xiě)數(shù)據(jù)區(qū),同步過(guò)程中,先檢查可寫(xiě)數(shù)據(jù)區(qū)映射表,如果沒(méi)有快照該位置的數(shù)據(jù)記錄,則從快照讀取數(shù)據(jù),寫(xiě)入可寫(xiě)數(shù)據(jù)區(qū),同時(shí)寫(xiě)入位置更新到全量同步進(jìn)度表。否則轉(zhuǎn)步驟B。[0105]步驟B.快照該位置上寫(xiě)過(guò)數(shù)據(jù),說(shuō)明快照該位置上數(shù)據(jù)不能被覆蓋,需要將該位置更新到全量同步進(jìn)度表,繼續(xù)判斷快照下一個(gè)位置上是否寫(xiě)過(guò)數(shù)據(jù),如果寫(xiě)過(guò),繼續(xù)步驟B,否則轉(zhuǎn)步驟A,直到全量同步結(jié)束。[0106]快照讀取處理方法:[0107]步驟A.主機(jī)對(duì)快照讀取時(shí),取主機(jī)讀取快照數(shù)據(jù)位置,和全量同步進(jìn)度表相比,如果讀取位置小于等于進(jìn)度表中記錄位置,那么直接從可寫(xiě)數(shù)據(jù)區(qū)讀取數(shù)據(jù),向主機(jī)返回讀取的數(shù)據(jù),結(jié)束快照讀取流程。如果讀取位置大于進(jìn)度表記錄位置,則轉(zhuǎn)步驟B。[0108]步驟B.查找可寫(xiě)數(shù)據(jù)區(qū)映射表,如果找到讀取位置,那么根據(jù)可寫(xiě)數(shù)據(jù)區(qū)映射表中的位置,讀取可寫(xiě)數(shù)據(jù)區(qū)該位置上的數(shù)據(jù),向主機(jī)返回讀取的數(shù)據(jù),結(jié)束快照讀取流程。如果可寫(xiě)數(shù)據(jù)區(qū)映射表沒(méi)有找到讀取位置,則轉(zhuǎn)步驟C。[0109]步驟C.查找COW數(shù)據(jù)區(qū)映射表,根據(jù)COW數(shù)據(jù)區(qū)映射表查找讀取位置,如果找到,那么根據(jù)COW數(shù)據(jù)區(qū)映射表保存的位置,讀取COW數(shù)據(jù)區(qū)該位置上的數(shù)據(jù),向主機(jī)返回?cái)?shù)據(jù),結(jié)束快照讀取流程。否則轉(zhuǎn)步驟D。[0110]步驟D.數(shù)據(jù)存放在源卷,讀取源卷該位置上的數(shù)據(jù),向主機(jī)返回讀取的數(shù)據(jù),結(jié)束快照讀取流程。[0111]快照數(shù)據(jù)回滾處理方法:[0112]步驟A.如果源卷出現(xiàn)故障,或者數(shù)據(jù)被誤刪或者非法修改時(shí),需要從快照進(jìn)行數(shù)據(jù)回滾,將快照數(shù)據(jù)恢復(fù)到源卷。根據(jù)用戶指定的數(shù)據(jù)源,可以選擇從COW數(shù)據(jù)區(qū)回滾,也可以選擇從可寫(xiě)數(shù)據(jù)區(qū)回滾。如果選擇從COW數(shù)據(jù)區(qū)回滾數(shù)據(jù),設(shè)置讀取COW數(shù)據(jù)區(qū)映射表當(dāng)前位置為1,轉(zhuǎn)步驟B;如果選擇從可寫(xiě)數(shù)據(jù)區(qū)回滾數(shù)據(jù),設(shè)置讀取可寫(xiě)數(shù)據(jù)區(qū)映射表當(dāng)前位置為1,轉(zhuǎn)步驟D。[0113]步驟B.先遍歷COW數(shù)據(jù)區(qū)映射表,映射表當(dāng)前位置保存信息是否為空,如果為空,回滾完成。否則轉(zhuǎn)步驟C。[0114]步驟C.取出COW數(shù)據(jù)區(qū)映射表當(dāng)前位置保存的位置信息(包括COW數(shù)據(jù)位置和源卷數(shù)據(jù)位置),根據(jù)該COW數(shù)據(jù)位置在COW數(shù)據(jù)區(qū)相應(yīng)位置上讀取數(shù)據(jù),數(shù)據(jù)寫(xiě)入快照源卷相應(yīng)位置上。設(shè)置當(dāng)前位置加1,轉(zhuǎn)步驟B。[0115]步驟D.如果全量同步已經(jīng)完成,依次從頭開(kāi)始讀取可寫(xiě)數(shù)據(jù)區(qū)數(shù)據(jù),寫(xiě)入快照源卷,直到最后一個(gè)數(shù)據(jù),然后完成回滾。否則轉(zhuǎn)步驟E。[0116]步驟E.取出可寫(xiě)數(shù)據(jù)區(qū)映射表當(dāng)前位置保存的位置信息,根據(jù)取出的位置讀取可寫(xiě)數(shù)據(jù)區(qū)該位置上的數(shù)據(jù),數(shù)據(jù)隨即寫(xiě)入源卷該位置上,直到遍歷完整個(gè)可寫(xiě)空間映射表,然后完成數(shù)據(jù)回滾。[0117]快照讀寫(xiě)轉(zhuǎn)換處理方法:[0118]步驟A.用戶根據(jù)實(shí)際應(yīng)用場(chǎng)景,可以選擇在快照的只讀和讀寫(xiě)之間自由轉(zhuǎn)換,減少用戶的重復(fù)投入以及對(duì)主機(jī)的停機(jī)影響。如果將只讀快照轉(zhuǎn)換為可寫(xiě)快照,轉(zhuǎn)步驟B。如果可寫(xiě)快照轉(zhuǎn)換為只讀,轉(zhuǎn)步驟D。[0119]步驟B.只讀轉(zhuǎn)換為可寫(xiě)快照時(shí),判斷快照的可寫(xiě)數(shù)據(jù)區(qū)是否存在,如果不存在,創(chuàng)建可寫(xiě)數(shù)據(jù)區(qū),建立可寫(xiě)數(shù)據(jù)區(qū)映射表和全量同步進(jìn)度表。隨即發(fā)起對(duì)快照的全量同步,完成只讀快照轉(zhuǎn)換為可寫(xiě)快照的流程。否則可寫(xiě)數(shù)據(jù)區(qū)存在,則轉(zhuǎn)步驟C。[0120]步驟C.完成只讀快照轉(zhuǎn)換為可寫(xiě)快照的流程。[0121]步驟D.可寫(xiě)轉(zhuǎn)換為只讀快照時(shí)。根據(jù)用戶設(shè)置,決定是否需要保留可寫(xiě)數(shù)據(jù)區(qū),如果保留,完成可寫(xiě)快照轉(zhuǎn)換為只讀快照的流程。否則轉(zhuǎn)步驟E。[0122]步驟E.刪除可寫(xiě)數(shù)據(jù)區(qū)以及可寫(xiě)數(shù)據(jù)區(qū)映射表和全量進(jìn)度表,完成可寫(xiě)快照轉(zhuǎn)換為只讀快照的流程。[0123]快照寫(xiě)入處理流程如下:[0124]步驟1:用戶創(chuàng)建可寫(xiě)快照或者將只讀快照修改為可寫(xiě)快照,快照創(chuàng)建COW數(shù)據(jù)區(qū)和可寫(xiě)數(shù)據(jù)區(qū),圖11是根據(jù)本發(fā)明實(shí)施例的快照COW數(shù)據(jù)區(qū)和可寫(xiě)數(shù)據(jù)區(qū)分布示意圖,如圖11所示為創(chuàng)建后的數(shù)據(jù)空間分布圖。圖12是根據(jù)本發(fā)明實(shí)施例的源卷寫(xiě)入后的數(shù)據(jù)空間分布示意圖。[0125]步驟2:圖13是根據(jù)本發(fā)明實(shí)施例的快照寫(xiě)入后的數(shù)據(jù)空間分布示意圖,圖16是根據(jù)本發(fā)明實(shí)施例的對(duì)快照寫(xiě)入數(shù)據(jù)流程圖,如圖13和圖16所示,主機(jī)對(duì)快照寫(xiě)入數(shù)據(jù)A2,取數(shù)據(jù)A2寫(xiě)入的位置Ld和進(jìn)度表proc_table中的位置Li進(jìn)行比對(duì),如果Ld小于等于Li,將數(shù)據(jù)A2寫(xiě)入可寫(xiě)數(shù)據(jù)區(qū),如果Ld是第一次寫(xiě)入,將Ld更新到映射表map2中,然后向主機(jī)回應(yīng)快照寫(xiě)入完成,結(jié)束對(duì)快照寫(xiě)入流程。如果寫(xiě)入位置Ld大于進(jìn)度表procjable中的位置Li,則轉(zhuǎn)步驟3。[0126]步驟3:查找映射表map2,如果從map2中找到Ld,說(shuō)明之前已經(jīng)對(duì)該位置寫(xiě)過(guò),數(shù)據(jù)A2寫(xiě)入可寫(xiě)數(shù)據(jù)區(qū),然后向主機(jī)回應(yīng)快照寫(xiě)入完成,結(jié)束對(duì)快照寫(xiě)入流程。如果從map2中沒(méi)找到Ld,則轉(zhuǎn)步驟4。[0127]步驟4:將快照Ld上的數(shù)據(jù)A先拷貝到可寫(xiě)數(shù)據(jù)區(qū),然后新數(shù)據(jù)A2寫(xiě)入可寫(xiě)數(shù)據(jù)區(qū),Ld連同對(duì)應(yīng)的標(biāo)記更新到映射表map2,然后向主機(jī)回應(yīng)快照寫(xiě)入完成,結(jié)束對(duì)快照寫(xiě)入流程。[0128]從快照讀取數(shù)據(jù)處理流程如下:[0129]步驟1:圖17是根據(jù)本發(fā)明實(shí)施例的從快照讀取數(shù)據(jù)流程圖,如圖17所示,主機(jī)讀取快照Ld位置上的數(shù)據(jù),取進(jìn)度表procjable中的位置信息Li,如果Ld小于等于Li,從可寫(xiě)數(shù)據(jù)區(qū)讀取數(shù)據(jù),然后向主機(jī)返回讀取的數(shù)據(jù),結(jié)束快照讀取流程。如果Ld大于Li,則轉(zhuǎn)步驟2。[0130]步驟2:查找映射表map2中是否有Ld位置信息,如果找到,從可寫(xiě)數(shù)據(jù)區(qū)讀取數(shù)據(jù),然后向主機(jī)返回讀取的數(shù)據(jù),結(jié)束快照讀取流程。如果map2中沒(méi)有找到Ld,則轉(zhuǎn)步驟3。[0131]步驟3:查找映射表mapl中的old_ck是否有Ld位置信息,如果找到,從mapl對(duì)應(yīng)的new_ck位置讀取COW數(shù)據(jù)區(qū)的數(shù)據(jù),然后向主機(jī)返回讀取的數(shù)據(jù),結(jié)束快照讀取流程。如果mapl的old_ck也沒(méi)有找到Ld位置,則轉(zhuǎn)步驟4。[0132]步驟4:從快照源卷Ld位置上讀取數(shù)據(jù),然后向主機(jī)返回讀取的數(shù)據(jù),結(jié)束快照讀取流程。[0133]快照全量同步處理流程如下:[0134]步驟1:圖18是根據(jù)本發(fā)明實(shí)施例的可寫(xiě)快照全量復(fù)制流程圖,如圖18,在創(chuàng)建可寫(xiě)快照或者只讀快照修改為可寫(xiě)快照時(shí),可寫(xiě)數(shù)據(jù)區(qū)創(chuàng)建后,快照會(huì)啟動(dòng)全量復(fù)制機(jī)制,將快照數(shù)據(jù)全量復(fù)制到可寫(xiě)數(shù)據(jù)區(qū),設(shè)置初始復(fù)制位置Li等于O。[0135]步驟2:取當(dāng)前的位置Li,檢查L(zhǎng)i是否已經(jīng)是快照最后一個(gè)位置Max,如果是,結(jié)束全量復(fù)制。否則轉(zhuǎn)步驟3。[0136]步驟3:根據(jù)Li查找映射表map2中是否有等于Li的信息,如果有,用當(dāng)前的Li更新進(jìn)度表proc_table中已有的Li,Li加1,轉(zhuǎn)步驟2;否則轉(zhuǎn)步驟4。[0137]步驟4:讀取快照Li位置上的數(shù)據(jù),將讀取到的數(shù)據(jù)寫(xiě)入可寫(xiě)數(shù)據(jù)區(qū),用當(dāng)前的Li更新進(jìn)度表proc_table中已有的Li,Li加1,轉(zhuǎn)步驟2。[0138]快照數(shù)據(jù)回滾處理流程如下:[0139]步驟1:圖14是根據(jù)本發(fā)明實(shí)施例的從快照COW數(shù)據(jù)區(qū)回滾數(shù)據(jù)示意圖,圖15是根據(jù)本發(fā)明實(shí)施例的從快照可寫(xiě)數(shù)據(jù)區(qū)回滾數(shù)據(jù)示意圖,如圖14和如圖15,當(dāng)源卷數(shù)據(jù)Al丟失或者用戶想恢復(fù)到某個(gè)時(shí)刻的數(shù)據(jù),需要從快照進(jìn)行數(shù)據(jù)回滾,將快照數(shù)據(jù)恢復(fù)到源卷。根據(jù)用戶指定的數(shù)據(jù)源,及時(shí)恢復(fù)源卷的數(shù)據(jù),保證源卷盡快提供數(shù)據(jù)服務(wù)。如果從COW數(shù)據(jù)區(qū)進(jìn)行回滾,轉(zhuǎn)步驟2;否則轉(zhuǎn)步驟3。[0140]步驟2:如圖14所示,從COW數(shù)據(jù)區(qū)映射表mapl的new_ck獲取Al位置對(duì)應(yīng)的COff數(shù)據(jù)區(qū)位置Lp,讀取快照COW數(shù)據(jù)區(qū)Lp位置上的數(shù)據(jù)A,然后數(shù)據(jù)A寫(xiě)入源卷Al對(duì)應(yīng)Ld的位置,如果源卷還有其他快照,該快照之后創(chuàng)建的快照還需要對(duì)源卷對(duì)應(yīng)Ld位置上的數(shù)據(jù)做C0W,保證該快照創(chuàng)建時(shí)刻的數(shù)據(jù)一致性。[0141]步驟3:如圖15所示,從可寫(xiě)數(shù)據(jù)區(qū)映射表map2的ck獲取Al位置對(duì)應(yīng)的可寫(xiě)數(shù)據(jù)區(qū)位置Ld,讀取可寫(xiě)數(shù)據(jù)區(qū)Ld位置上的數(shù)據(jù)A2,然后數(shù)據(jù)A2寫(xiě)入源卷Al對(duì)應(yīng)Ld的位置,如果源卷還有其他快照,除該快照外的其他快照還需要對(duì)源卷對(duì)應(yīng)Ld位置上的數(shù)據(jù)做COff,保證該快照創(chuàng)建時(shí)刻的數(shù)據(jù)一致性。[0142]快照讀寫(xiě)轉(zhuǎn)換處理流程如下:[0143]步驟1:用戶根據(jù)實(shí)際應(yīng)用場(chǎng)景,可以選擇在快照的只讀和讀寫(xiě)之間自由轉(zhuǎn)換,減少用戶的重復(fù)投入以及對(duì)主機(jī)的停機(jī)影響。如果用戶將現(xiàn)有的只讀快照轉(zhuǎn)換為可寫(xiě)快照,轉(zhuǎn)步驟2;否則,如果將現(xiàn)有可寫(xiě)快照轉(zhuǎn)換為只讀快照時(shí),轉(zhuǎn)步驟4。[0144]步驟2:快照檢查可寫(xiě)數(shù)據(jù)區(qū)是否存在,如果存在,修改快照屬性為可讀寫(xiě),完成只讀快照轉(zhuǎn)換為可寫(xiě)快照的流程。否則轉(zhuǎn)步驟3。[0145]步驟3:快照創(chuàng)建可寫(xiě)數(shù)據(jù)區(qū),修改快照屬性為可讀寫(xiě),建立可寫(xiě)數(shù)據(jù)區(qū)映射表和全量同步進(jìn)度表。隨即發(fā)起對(duì)快照的全量同步,完成只讀快照轉(zhuǎn)換為可寫(xiě)快照的流程。[0146]步驟4:根據(jù)用戶設(shè)置,檢查是否需要保留可寫(xiě)數(shù)據(jù)區(qū),如果保留,則修改快照屬性為只讀,完成可寫(xiě)快照轉(zhuǎn)換為只讀快照的流程。如果不保留可寫(xiě)數(shù)據(jù)區(qū),則轉(zhuǎn)步驟5。[0147]步驟5:刪除可寫(xiě)數(shù)據(jù)區(qū)以及可寫(xiě)數(shù)據(jù)區(qū)映射表和全量進(jìn)度表,修改快照屬性為只讀,完成可寫(xiě)快照轉(zhuǎn)換為只讀快照的流程。[0148]綜上所述,通過(guò)本發(fā)明的技術(shù)方案解決了傳統(tǒng)快照只能讀取的問(wèn)題,實(shí)現(xiàn)對(duì)快照的寫(xiě)入功能,同時(shí)不破壞快照原有的數(shù)據(jù),在快照源卷故障或者數(shù)據(jù)損壞時(shí),可以對(duì)快照進(jìn)行靈活回滾,快速恢復(fù)源卷數(shù)據(jù),保證源卷盡快提供數(shù)據(jù)服務(wù)。幫助學(xué)校和培訓(xùn)機(jī)構(gòu)在部署虛擬機(jī)后能夠快速用于教學(xué)等工作。也可以用于企業(yè)的版本升級(jí),在臨時(shí)版本可用后,能夠快速應(yīng)用到正式版本中,減少用戶的重復(fù)投入,同時(shí)最大可能降低對(duì)主機(jī)的影響,保證部署時(shí)主機(jī)不停機(jī),可以隨時(shí)提供服務(wù)。與現(xiàn)有技術(shù)相比較,現(xiàn)在快照大都只能讀取,不能提供對(duì)快照的寫(xiě)入功能。也有些廠商實(shí)現(xiàn)了可寫(xiě),但是實(shí)現(xiàn)可寫(xiě)后就會(huì)破壞快照已有的數(shù)據(jù),導(dǎo)致數(shù)據(jù)無(wú)法回滾,或者COW數(shù)據(jù)和可寫(xiě)數(shù)據(jù)區(qū)耦合在一起,導(dǎo)致數(shù)據(jù)安全性降低,特別是不能滿足高性能的讀取。所以本發(fā)明實(shí)現(xiàn)了對(duì)快照的可寫(xiě)功能,也保證了可寫(xiě)后讀取效率更高,同時(shí)支持用戶靈活選擇數(shù)據(jù)回滾,也實(shí)現(xiàn)了只讀快照和可寫(xiě)快照之間的自由轉(zhuǎn)換。[0149]在另外一個(gè)實(shí)施例中,還提供了一種軟件,該軟件用于執(zhí)行上述實(shí)施例及優(yōu)選實(shí)施方式中描述的技術(shù)方案。[0150]在另外一個(gè)實(shí)施例中,還提供了一種存儲(chǔ)介質(zhì),該存儲(chǔ)介質(zhì)中存儲(chǔ)有上述軟件,該存儲(chǔ)介質(zhì)包括但不限于:光盤(pán)、軟盤(pán)、硬盤(pán)、可擦寫(xiě)存儲(chǔ)器等。[0151]顯然,本領(lǐng)域的技術(shù)人員應(yīng)該明白,上述的本發(fā)明的各模塊或各步驟可以用通用的計(jì)算裝置來(lái)實(shí)現(xiàn),它們可以集中在單個(gè)的計(jì)算裝置上,或者分布在多個(gè)計(jì)算裝置所組成的網(wǎng)絡(luò)上,可選地,它們可以用計(jì)算裝置可執(zhí)行的程序代碼來(lái)實(shí)現(xiàn),從而,可以將它們存儲(chǔ)在存儲(chǔ)裝置中由計(jì)算裝置來(lái)執(zhí)行,并且在某些情況下,可以以不同于此處的順序執(zhí)行所示出或描述的步驟,或者將它們分別制作成各個(gè)集成電路模塊,或者將它們中的多個(gè)模塊或步驟制作成單個(gè)集成電路模塊來(lái)實(shí)現(xiàn)。這樣,本發(fā)明不限制于任何特定的硬件和軟件結(jié)合。[0152]以上所述僅為本發(fā)明的優(yōu)選實(shí)施例而已,并不用于限制本發(fā)明,對(duì)于本領(lǐng)域的技術(shù)人員來(lái)說(shuō),本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)?!局鳈?quán)項(xiàng)】1.一種快照處理方法,其特征在于,包括:創(chuàng)建可寫(xiě)快照,其中包括:分配快照數(shù)據(jù)區(qū)和可寫(xiě)數(shù)據(jù)區(qū),所述快照數(shù)據(jù)區(qū)與所述可寫(xiě)數(shù)據(jù)區(qū)相互獨(dú)立,所述快照數(shù)據(jù)區(qū)用于保存快照數(shù)據(jù),所述可寫(xiě)數(shù)據(jù)區(qū)用于保存快照寫(xiě)入數(shù)據(jù);根據(jù)所述快照數(shù)據(jù)區(qū)和所述可寫(xiě)數(shù)據(jù)區(qū)進(jìn)行快照處理。2.根據(jù)權(quán)利要求1所述的方法,其特征在于,創(chuàng)建所述可寫(xiě)快照還包括:創(chuàng)建快照數(shù)據(jù)區(qū)映射表和可寫(xiě)數(shù)據(jù)區(qū)映射表,其中,所述快照數(shù)據(jù)區(qū)映射表用于保存快照數(shù)據(jù)在源卷上的位置和所述快照數(shù)據(jù)在所述快照數(shù)據(jù)區(qū)的位置的對(duì)應(yīng)關(guān)系,所述可寫(xiě)數(shù)據(jù)區(qū)映射表用于保存所述快照數(shù)據(jù)在所述可寫(xiě)數(shù)據(jù)區(qū)上的位置以及所述快照數(shù)據(jù)對(duì)應(yīng)的標(biāo)記信息;創(chuàng)建全量同步進(jìn)度表,該全量同步進(jìn)度表用于保存對(duì)快照進(jìn)行全量同步時(shí)的當(dāng)前位置?目息O3.根據(jù)權(quán)利要求2所述的方法,其特征在于,根據(jù)所述快照數(shù)據(jù)區(qū)和所述可寫(xiě)數(shù)據(jù)區(qū)進(jìn)行快照處理包括:對(duì)所述可寫(xiě)快照進(jìn)行寫(xiě)入,其中,在快照寫(xiě)入位置信息不大于所述全量同步進(jìn)度表的所述當(dāng)前位置信息的情況下,將所述數(shù)據(jù)直接寫(xiě)入所述可寫(xiě)數(shù)據(jù)區(qū);或者,在快照寫(xiě)入位置信息大于所述全量同步進(jìn)度表的所述當(dāng)前位置信息的情況下,并且在所述可寫(xiě)數(shù)據(jù)區(qū)映射表中查找到所述快照寫(xiě)入位置信息時(shí),將所述數(shù)據(jù)直接寫(xiě)入所述可寫(xiě)數(shù)據(jù)區(qū);或者,在快照寫(xiě)入位置信息大于所述全量同步進(jìn)度表的所述當(dāng)前位置信息的情況下,并且第一次在所述快照寫(xiě)入位置信息寫(xiě)入數(shù)據(jù)時(shí),將所述快照寫(xiě)入位置信息的數(shù)據(jù)從源卷拷貝到所述可寫(xiě)數(shù)據(jù)區(qū),再將所述快照數(shù)據(jù)直接寫(xiě)入所述可寫(xiě)數(shù)據(jù)區(qū)。4.根據(jù)權(quán)利要求3所述的方法,其特征在于,在第一次在所述快照寫(xiě)入位置信息寫(xiě)入數(shù)據(jù)時(shí),將所述快照寫(xiě)入位置信息更新至所述可寫(xiě)數(shù)據(jù)區(qū)映射表。5.根據(jù)權(quán)利要求2所述的方法,其特征在于,對(duì)可寫(xiě)快照進(jìn)行寫(xiě)入后包括:啟動(dòng)對(duì)快照的全量同步,并根據(jù)同步的進(jìn)度,將同步的位置信息更新到所述全量同步進(jìn)度表中。6.根據(jù)權(quán)利要求3所述的方法,其特征在于,對(duì)所述可寫(xiě)快照進(jìn)行寫(xiě)入之后包括:獲取快照待讀取數(shù)據(jù)的位置信息;根據(jù)所述位置信息對(duì)所述快照待讀取數(shù)據(jù)進(jìn)行讀取。7.根據(jù)權(quán)利要求6所述的方法,其特征在于,根據(jù)所述位置信息對(duì)所述快照待讀取數(shù)據(jù)進(jìn)行讀取包括:在所述位置信息不大于所述全量同步進(jìn)度表中記錄的位置信息的情況下,直接從所述可寫(xiě)數(shù)據(jù)區(qū)讀取所述快照待讀取數(shù)據(jù);或者,在所述位置信息大于所述全量同步進(jìn)度表中記錄的位置信息的情況下,并且在所述可寫(xiě)數(shù)據(jù)區(qū)映射表中查找到所述快照寫(xiě)入位置信息時(shí),從所述可寫(xiě)數(shù)據(jù)區(qū)讀取所述快照待讀取數(shù)據(jù);或者,在所述位置信息大于所述全量同步進(jìn)度表中記錄的位置信息的情況下,并且在所述快照數(shù)據(jù)區(qū)映射表中查找到所述快照寫(xiě)入位置信息時(shí),從所述快照數(shù)據(jù)區(qū)讀取所述快照待讀取數(shù)據(jù);或者,在所述位置信息大于所述全量同步進(jìn)度表中記錄的位置信息的情況下,并且在所述快照數(shù)據(jù)區(qū)映射表中不能查找到所述快照寫(xiě)入位置信息時(shí),從源卷中讀取所述快照待讀取數(shù)據(jù)。8.根據(jù)權(quán)利要求3所述的方法,其特征在于,對(duì)所述可寫(xiě)快照進(jìn)行寫(xiě)入之后包括:在所述源卷數(shù)據(jù)出現(xiàn)丟失的情況下,從所述快照數(shù)據(jù)區(qū)進(jìn)行數(shù)據(jù)回滾或者從所述可寫(xiě)數(shù)據(jù)區(qū)進(jìn)行數(shù)據(jù)回滾。9.根據(jù)權(quán)利要求8所述的方法,其特征在于,從所述快照數(shù)據(jù)區(qū)進(jìn)行數(shù)據(jù)回滾包括:獲取所述快照數(shù)據(jù)區(qū)映射表的第一個(gè)位置信息,根據(jù)所述第一位置信息逐一將所述快照數(shù)據(jù)區(qū)上的數(shù)據(jù)寫(xiě)到所述源卷相應(yīng)位置上。10.根據(jù)權(quán)利要求8所述的方法,其特征在于,從所述可寫(xiě)數(shù)據(jù)區(qū)進(jìn)行數(shù)據(jù)回滾包括:在全量同步完成的情況下,將從所述可寫(xiě)數(shù)據(jù)區(qū)讀取的數(shù)據(jù)回寫(xiě)至所述源卷;或者,獲取所述可寫(xiě)數(shù)據(jù)區(qū)映射表的第一個(gè)位置信息,根據(jù)所述第一位置信息逐一將所述快照可寫(xiě)數(shù)據(jù)區(qū)上的數(shù)據(jù)寫(xiě)到所述源卷相應(yīng)位置上。11.根據(jù)權(quán)利要求2所述的方法,其特征在于,根據(jù)所述快照數(shù)據(jù)區(qū)和所述可寫(xiě)數(shù)據(jù)區(qū)進(jìn)行快照處理包括:在將所述可寫(xiě)快照轉(zhuǎn)化為只讀快照的情況下,保留所述可寫(xiě)數(shù)據(jù)區(qū);或者,刪除所述可寫(xiě)數(shù)據(jù)區(qū)、所述可寫(xiě)數(shù)據(jù)區(qū)映射表和所述全量同步進(jìn)度表。12.根據(jù)權(quán)利要求1所述的方法,其特征在于,根據(jù)所述快照數(shù)據(jù)區(qū)和所述可寫(xiě)數(shù)據(jù)區(qū)進(jìn)行快照處理包括:在將只讀快照轉(zhuǎn)換為所述可寫(xiě)快照的情況下,判斷所述可寫(xiě)數(shù)據(jù)區(qū)是否存在,在判斷結(jié)果為否的情況下,分配所述可寫(xiě)數(shù)據(jù)區(qū)、所述可寫(xiě)數(shù)據(jù)區(qū)映射表和所述全量同步進(jìn)度表,發(fā)起全量同步。13.一種快照處理裝置,其特征在于,包括:創(chuàng)建模塊,用于創(chuàng)建可寫(xiě)快照,其中包括:分配快照數(shù)據(jù)區(qū)和可寫(xiě)數(shù)據(jù)區(qū),所述快照數(shù)據(jù)區(qū)與所述可寫(xiě)數(shù)據(jù)區(qū)相互獨(dú)立,所述快照數(shù)據(jù)區(qū)用于保存快照數(shù)據(jù),所述可寫(xiě)數(shù)據(jù)區(qū)用于保存快照寫(xiě)入數(shù)據(jù);處理模塊,用于根據(jù)所述快照數(shù)據(jù)區(qū)和所述可寫(xiě)數(shù)據(jù)區(qū)進(jìn)行快照處理。14.根據(jù)權(quán)利要求13所述的裝置,其特征在于,所述創(chuàng)建模塊還包括:第一創(chuàng)建單元,用于創(chuàng)建快照數(shù)據(jù)區(qū)映射表和可寫(xiě)數(shù)據(jù)區(qū)映射表,其中,所述快照數(shù)據(jù)區(qū)映射表用于保存快照數(shù)據(jù)在源卷上的位置和所述快照數(shù)據(jù)在所述快照數(shù)據(jù)區(qū)的位置的對(duì)應(yīng)關(guān)系,所述可寫(xiě)數(shù)據(jù)區(qū)映射表用于保存所述快照數(shù)據(jù)在所述可寫(xiě)數(shù)據(jù)區(qū)上的位置以及所述快照數(shù)據(jù)對(duì)應(yīng)的標(biāo)記信息;第二創(chuàng)建單元,用于創(chuàng)建全量同步進(jìn)度表,該全量同步進(jìn)度表用于保存對(duì)快照進(jìn)行全量同步時(shí)的當(dāng)前位置信息。15.根據(jù)權(quán)利要求14所述的裝置,其特征在于,所述處理模塊包括:第一寫(xiě)入單元,用于對(duì)所述可寫(xiě)快照進(jìn)行寫(xiě)入,其中,所述第一寫(xiě)入單元用于:在快照寫(xiě)入位置信息不大于所述全量同步進(jìn)度表的所述當(dāng)前位置信息的情況下,將所述數(shù)據(jù)直接寫(xiě)入所述可寫(xiě)數(shù)據(jù)區(qū);或者,在快照寫(xiě)入位置信息大于所述全量同步進(jìn)度表的所述當(dāng)前位置信息的情況下,并且在所述可寫(xiě)數(shù)據(jù)區(qū)映射表中查找到所述快照寫(xiě)入位置信息時(shí),將所述數(shù)據(jù)直接寫(xiě)入所述可寫(xiě)數(shù)據(jù)區(qū);或者,在快照寫(xiě)入位置信息大于所述全量同步進(jìn)度表的所述當(dāng)前位置信息的情況下,并且第一次在所述快照寫(xiě)入位置信息寫(xiě)入數(shù)據(jù)時(shí),將所述快照寫(xiě)入位置的數(shù)據(jù)從源卷拷貝到所述可寫(xiě)數(shù)據(jù)區(qū),再將所述快照數(shù)據(jù)直接寫(xiě)入所述可寫(xiě)數(shù)據(jù)區(qū)。16.根據(jù)權(quán)利要求15所述的裝置,其特征在于,所述處理模塊還包括:第二寫(xiě)入模塊,用于在第一次在所述快照寫(xiě)入位置信息寫(xiě)入數(shù)據(jù)時(shí),將所述快照寫(xiě)入位置信息更新至所述可寫(xiě)數(shù)據(jù)區(qū)映射表。17.根據(jù)權(quán)利要求15所述的裝置,其特征在于,所述處理模塊還包括:更新單元,用于啟動(dòng)對(duì)快照的全量同步,并根據(jù)同步的進(jìn)度,將同步的位置信息更新到所述全量同步進(jìn)度表中。18.根據(jù)權(quán)利要求15所述的裝置,其特征在于,所述處理模塊還包括:獲取單元,用于獲取快照待讀取數(shù)據(jù)的位置信息;讀取單元,用于根據(jù)所述位置信息對(duì)所述快照待讀取數(shù)據(jù)進(jìn)行讀取。19.根據(jù)權(quán)利要求18所述的裝置,其特征在于,所述讀取單元還用于:在所述位置信息不大于所述全量同步進(jìn)度表中記錄的位置信息的情況下,直接從所述可寫(xiě)數(shù)據(jù)區(qū)讀取所述快照待讀取數(shù)據(jù);或者,在所述位置信息大于所述全量同步進(jìn)度表中記錄的位置信息的情況下,并且在所述可寫(xiě)數(shù)據(jù)區(qū)映射表中查找到所述快照寫(xiě)入位置信息時(shí),從所述可寫(xiě)數(shù)據(jù)區(qū)讀取所述快照待讀取數(shù)據(jù);或者,在所述位置信息大于所述全量同步進(jìn)度表中記錄的位置信息的情況下,并且在所述快照數(shù)據(jù)區(qū)映射表中查找到所述快照寫(xiě)入位置信息時(shí),從所述快照數(shù)據(jù)區(qū)讀取所述快照待讀取數(shù)據(jù);或者,在所述位置信息大于所述全量同步進(jìn)度表中記錄的位置信息的情況下,并且在所述快照數(shù)據(jù)區(qū)映射表中不能查找到所述快照寫(xiě)入位置信息時(shí),從源卷中讀取所述快照待讀取數(shù)據(jù)。20.根據(jù)權(quán)利要求15所述的裝置,其特征在于,所述處理模塊還包括:回滾單元,用于在所述源卷數(shù)據(jù)出現(xiàn)丟失的情況下,從所述快照數(shù)據(jù)區(qū)進(jìn)行數(shù)據(jù)回滾或者從所述可寫(xiě)數(shù)據(jù)區(qū)進(jìn)行數(shù)據(jù)回滾。21.根據(jù)權(quán)利要求20所述的裝置,其特征在于,所述回滾單元還用于:獲取所述快照數(shù)據(jù)區(qū)映射表的第一個(gè)位置,根據(jù)所述第一位置信息逐一將所述快照數(shù)據(jù)區(qū)上的數(shù)據(jù)寫(xiě)到所述源卷相應(yīng)位置上。22.根據(jù)權(quán)利要求20所述的裝置,其特征在于,所述回滾單元還用于:在全量同步完成的情況下,將從所述可寫(xiě)數(shù)據(jù)區(qū)讀取的數(shù)據(jù)回寫(xiě)至所述源卷;或者,獲取所述可寫(xiě)數(shù)據(jù)區(qū)映射表的第一個(gè)位置,根據(jù)所述第一位置信息逐一將所述快照可寫(xiě)數(shù)據(jù)區(qū)上的數(shù)據(jù)寫(xiě)到所述源卷相應(yīng)位置上。23.根據(jù)權(quán)利要求13所述的裝置,其特征在于,所述處理模塊還包括:第一轉(zhuǎn)化單元,用于在將所述可寫(xiě)快照轉(zhuǎn)化為只讀快照的情況下,保留所述可寫(xiě)數(shù)據(jù)區(qū);或者,刪除所述可寫(xiě)數(shù)據(jù)區(qū)、所述可寫(xiě)數(shù)據(jù)區(qū)映射表和所述全量同步進(jìn)度表。24.根據(jù)權(quán)利要求13所述的裝置,其特征在于,所述處理模塊還包括:第二轉(zhuǎn)化單元,用于在將只讀快照轉(zhuǎn)換為所述可寫(xiě)快照的情況下,判斷所述可寫(xiě)數(shù)據(jù)區(qū)是否存在,在判斷結(jié)果為否的情況下,分配所述可寫(xiě)數(shù)據(jù)區(qū)、所述可寫(xiě)數(shù)據(jù)區(qū)映射表和所述全量同步進(jìn)度表,發(fā)起全量同步?!疚臋n編號(hào)】G06F11/14GK105988895SQ201510069966【公開(kāi)日】2016年10月5日【申請(qǐng)日】2015年2月10日【發(fā)明人】張坤左【申請(qǐng)人】中興通訊股份有限公司