国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      數(shù)據(jù)備份、恢復(fù)方法、虛擬機(jī)快照刪除、回滾方法及裝置的制作方法

      文檔序號(hào):7556901閱讀:552來(lái)源:國(guó)知局
      專利名稱:數(shù)據(jù)備份、恢復(fù)方法、虛擬機(jī)快照刪除、回滾方法及裝置的制作方法
      技術(shù)領(lǐng)域
      本申請(qǐng)涉及弾性計(jì)算云技術(shù)領(lǐng)域和塊設(shè)備存儲(chǔ)服務(wù)技術(shù)領(lǐng)域,尤其是涉及ー種基于塊設(shè)備存儲(chǔ)的數(shù)據(jù)備份方法及其裝置、數(shù)據(jù)恢復(fù)方法及其裝置,以及ー種虛擬機(jī)快照的創(chuàng)建、刪除、回滾方法及其裝置。
      背景技術(shù)
      弾性計(jì)算云(Elastic Computing Cloud)是ー種云計(jì)算服務(wù),即基于虛擬化技術(shù), 將本地的物理機(jī)虛擬化成多個(gè)虛擬機(jī)來(lái)使用,以此來(lái)提高資源的使用率,壓縮成本。其中, 基于彈性計(jì)算云技術(shù)虛擬出來(lái)的虛擬機(jī)的存儲(chǔ)服務(wù)一般都是基于塊設(shè)備的存儲(chǔ)服務(wù),業(yè)界稱之為彈性塊存儲(chǔ)服務(wù)(Elastic Block Storage)。塊設(shè)備存儲(chǔ)服務(wù),是基于塊設(shè)備驅(qū)動(dòng)(Block Device Driver)提供的ー種塊級(jí)別的存儲(chǔ)服務(wù)。本地的物理機(jī)和/或虛擬機(jī)可以將物理機(jī)的數(shù)據(jù)基于塊的方式存儲(chǔ)到遠(yuǎn)程的存儲(chǔ)資源池中,從而節(jié)約本地的存儲(chǔ)資源。簡(jiǎn)言之,塊設(shè)備存儲(chǔ)服務(wù)提供了一個(gè)類似物理裸硬盤的服務(wù)來(lái)存儲(chǔ)本地的物理機(jī)和/或虛擬機(jī)的數(shù)據(jù),且對(duì)數(shù)據(jù)的格式、文件系統(tǒng)的格式?jīng)]有任何限制。隨著彈性計(jì)算云技術(shù)的快速發(fā)展,弾性塊存儲(chǔ)服務(wù)對(duì)遠(yuǎn)程存儲(chǔ)服務(wù)的數(shù)據(jù)安全性提出了更高的要求。這些要求包括當(dāng)存儲(chǔ)的數(shù)據(jù)出現(xiàn)異常吋,塊存儲(chǔ)服務(wù)應(yīng)當(dāng)能夠?qū)崿F(xiàn)將出現(xiàn)異常的數(shù)據(jù)恢復(fù)到過去的某個(gè)安全的狀態(tài)下。而數(shù)據(jù)恢復(fù)方式一般分為兩種,ー種是對(duì)針對(duì)整個(gè)塊設(shè)備存儲(chǔ)的數(shù)據(jù)進(jìn)行全部恢復(fù),即將對(duì)應(yīng)某個(gè)塊設(shè)備的存儲(chǔ)數(shù)據(jù)恢復(fù)到過去的某個(gè)狀態(tài);一種是目錄級(jí)別的恢復(fù),即只將對(duì)應(yīng)某個(gè)塊設(shè)備的存儲(chǔ)數(shù)據(jù)中的某個(gè)或某些數(shù)據(jù)文件恢復(fù)到過去的某個(gè)狀態(tài)。現(xiàn)有技術(shù)中,對(duì)于目錄級(jí)的數(shù)據(jù)恢復(fù)方案,為了實(shí)現(xiàn)數(shù)據(jù)的安全存儲(chǔ),通常會(huì)在遠(yuǎn)程的存儲(chǔ)資源池中設(shè)置主集群存儲(chǔ)服務(wù)器,用于存儲(chǔ)各個(gè)塊設(shè)備對(duì)應(yīng)的數(shù)據(jù),并設(shè)置備份集群存儲(chǔ)服務(wù)器,用于對(duì)主集群存儲(chǔ)服務(wù)器中存儲(chǔ)的數(shù)據(jù)進(jìn)行備份存儲(chǔ),當(dāng)主集群存儲(chǔ)服務(wù)器中存儲(chǔ)的數(shù)據(jù)出現(xiàn)異常時(shí),可以將備份集群存儲(chǔ)服務(wù)器中存儲(chǔ)的數(shù)據(jù)恢復(fù)到主集群存儲(chǔ)服務(wù)器中,從而實(shí)現(xiàn)數(shù)據(jù)的安全恢復(fù)。但是,上述為了實(shí)現(xiàn)數(shù)據(jù)的安全恢復(fù),在遠(yuǎn)程的存儲(chǔ)資源池中需要同時(shí)設(shè)置主集群存儲(chǔ)服務(wù)器和備份集群存儲(chǔ)服務(wù)器,并需要將主集群存儲(chǔ)服務(wù)器中存儲(chǔ)的數(shù)據(jù)同步到備份集群存儲(chǔ)服務(wù)器中以實(shí)現(xiàn)數(shù)據(jù)的備份處理,這導(dǎo)致數(shù)據(jù)備份和恢復(fù)的效率比較低下。此外,在遠(yuǎn)程的存儲(chǔ)資源池中設(shè)置多臺(tái)存儲(chǔ)服務(wù)器分別作為主集群存儲(chǔ)服務(wù)器和備份集群存儲(chǔ)服務(wù)器,需要投入的硬件成本也比較高。此外,當(dāng)弾性計(jì)算云系統(tǒng)中的虛擬機(jī)出現(xiàn)宕機(jī)吋,能夠在虛擬機(jī)重啟后,正確恢復(fù)對(duì)應(yīng)其存儲(chǔ)的鏡像文件(即對(duì)應(yīng)該虛擬機(jī)存儲(chǔ)的原始數(shù)據(jù)),就需要對(duì)虛擬機(jī)的鏡像文件進(jìn)行備份存儲(chǔ),這樣當(dāng)虛擬機(jī)出現(xiàn)宕機(jī)并重啟吋,就能夠?qū)樵撳礄C(jī)的虛擬機(jī)備份存儲(chǔ)的鏡像文件恢復(fù)到原來(lái)的某個(gè)狀態(tài)。目前對(duì)于虛擬機(jī)的鏡像文件備份方式通??梢苑譃槿R像文件備份方式和増量文件備份方式。其中,全鏡像文件備份方式是指,在毎次備份時(shí),將虛擬機(jī)的鏡像文件作為ー個(gè)整體全部進(jìn)行備份;而増量文件備份方式是指,在每次備份時(shí), 僅將相對(duì)于原始鏡像文件修改的増量部分進(jìn)行備份?,F(xiàn)有技術(shù)中,對(duì)于全鏡像文件備份方式,如果物理機(jī)中的所有虛擬機(jī)同時(shí)都采用備份軟件對(duì)鏡像文件進(jìn)行全部備份存儲(chǔ),勢(shì)必會(huì)占用物理機(jī)的大量CPU資源、內(nèi)存資源和輸入輸出IO處理資源等,導(dǎo)致備份效率比較低下。而對(duì)于増量文件備份方式,其實(shí)施通常是基于網(wǎng)絡(luò)附加存儲(chǔ)(NAS,Network AttachedStorage)環(huán)境的,這樣就需要配置大量的網(wǎng)絡(luò)附加存儲(chǔ)設(shè)備,導(dǎo)致成本較高。

      發(fā)明內(nèi)容
      本申請(qǐng)實(shí)施例提供一種基于塊設(shè)備存儲(chǔ)的數(shù)據(jù)備份方法及其裝置、數(shù)據(jù)恢復(fù)方法及其裝置,以在節(jié)約硬件成本的同時(shí)提高數(shù)據(jù)備份、恢復(fù)的效率。本申請(qǐng)實(shí)施例還提供一種虛擬機(jī)快照的創(chuàng)建、刪除、回滾方法及其裝置,以在節(jié)約硬件成本的同時(shí)提高鏡像文件備份的效率。為此,本申請(qǐng)實(shí)施例提供一種基于塊設(shè)備存儲(chǔ)的數(shù)據(jù)備份方法,包括接收寫數(shù)據(jù)請(qǐng)求和請(qǐng)求寫入的數(shù)據(jù);根據(jù)所述寫數(shù)據(jù)請(qǐng)求中包含的用于確定扇區(qū)號(hào)的參數(shù),確定用于存儲(chǔ)請(qǐng)求寫入的數(shù)據(jù)的各扇區(qū)分別對(duì)應(yīng)的扇區(qū)號(hào);并確定當(dāng)前的時(shí)間信息;將確定的作為鍵值的扇區(qū)號(hào)、請(qǐng)求寫入的數(shù)據(jù)和確定的時(shí)間信息對(duì)應(yīng)存儲(chǔ)到遠(yuǎn)程Key-Value存儲(chǔ)資源池中。本申請(qǐng)實(shí)施例還提供一種基于上述數(shù)據(jù)備份方法的虛擬機(jī)快照創(chuàng)建方法,包括每次在接收到創(chuàng)建快照的指令后,對(duì)遠(yuǎn)程Key-Value存儲(chǔ)資源池中存儲(chǔ)的數(shù)據(jù)進(jìn)行快照處理,創(chuàng)建本次快照及其對(duì)應(yīng)的快照文件;并將本次創(chuàng)建快照的時(shí)間點(diǎn)至下一次創(chuàng)建快照的時(shí)間點(diǎn)之間的所有新存儲(chǔ)到遠(yuǎn)程Key-Value存儲(chǔ)資源池中的數(shù)據(jù)存儲(chǔ)到所述快照文件中; 將本次創(chuàng)建的快照與快照文件對(duì)應(yīng)存儲(chǔ)。本申請(qǐng)實(shí)施例還提供一種基于上述快照創(chuàng)建方法的虛擬機(jī)快照刪除方法,包括確定要?jiǎng)h除的快照、及要?jiǎng)h除的快照的前一快照;針對(duì)與確定的要?jiǎng)h除的快照對(duì)應(yīng)存儲(chǔ)的快照文件和與確定的前一快照對(duì)應(yīng)存儲(chǔ)的快照文件中包含的與同一鍵值對(duì)應(yīng)的數(shù)據(jù)中,保留離當(dāng)前時(shí)間點(diǎn)最近的一個(gè)時(shí)間信息及其對(duì)應(yīng)的數(shù)據(jù),并刪除其他時(shí)間信息及其分別對(duì)應(yīng)的數(shù)據(jù);刪除確定出的要?jiǎng)h除的快照。本申請(qǐng)實(shí)施例還提供一種基于上述快照創(chuàng)建方法的虛擬機(jī)快照回滾方法,包括確定要回滾到的快照、及要回滾到的快照之后的每ー快照;將確定出的回滾到的快照之后的每ー快照及其分別對(duì)應(yīng)存儲(chǔ)的快照文件刪除;將確定出的要回滾到的快照激活成當(dāng)前快照。本申請(qǐng)實(shí)施例還提供一種基于上述快照創(chuàng)建方法的基于塊設(shè)備存儲(chǔ)的數(shù)據(jù)恢復(fù)方法,包括確定需要將遠(yuǎn)程Key-Value存儲(chǔ)資源池存儲(chǔ)的數(shù)據(jù)恢復(fù)到的快照;按照存儲(chǔ)的各快照文件和快照的對(duì)應(yīng)關(guān)系,查詢確定的要恢復(fù)到的快照對(duì)應(yīng)的快照文件;將查詢到的快照文件中的數(shù)據(jù)由可讀可寫形式設(shè)置為只讀形式,并保持其他快照文件中的數(shù)據(jù)為可讀可寫形式;基于設(shè)置為只讀形式的快照文件進(jìn)行數(shù)據(jù)恢復(fù)。本申請(qǐng)實(shí)施例還提供一種基于塊設(shè)備存儲(chǔ)的數(shù)據(jù)備份裝置,包括數(shù)據(jù)接收単元, 用于接收寫數(shù)據(jù)請(qǐng)求和請(qǐng)求寫入的數(shù)據(jù);扇區(qū)號(hào)確定單元,用于根據(jù)數(shù)據(jù)接收単元接收到的所述寫數(shù)據(jù)請(qǐng)求中包含的用于確定扇區(qū)號(hào)的參數(shù),確定用于存儲(chǔ)請(qǐng)求寫入的數(shù)據(jù)的各扇區(qū)分別對(duì)應(yīng)的扇區(qū)號(hào);和當(dāng)前時(shí)間確定單元,用于確定當(dāng)前的時(shí)間信息;存儲(chǔ)単元,用于將扇區(qū)號(hào)確定單元確定的作為鍵值的扇區(qū)號(hào)、數(shù)據(jù)接收単元接收到的請(qǐng)求寫入的數(shù)據(jù)和當(dāng)前時(shí)間確定單元確定的時(shí)間信息對(duì)應(yīng)存儲(chǔ)到遠(yuǎn)程Key-Value存儲(chǔ)資源池中。本申請(qǐng)實(shí)施例還提供一種基于上述數(shù)據(jù)備份裝置的虛擬機(jī)快照創(chuàng)建裝置,包括快照文件創(chuàng)建單元,用于在每次在接收到創(chuàng)建快照的指令后,對(duì)遠(yuǎn)程Key-Value存儲(chǔ)資源池中存儲(chǔ)的數(shù)據(jù)進(jìn)行快照處理,創(chuàng)建本次快照對(duì)應(yīng)的快照文件;數(shù)據(jù)存儲(chǔ)単元,用于將本次創(chuàng)建快照的時(shí)間點(diǎn)至下一次創(chuàng)建快照的時(shí)間點(diǎn)之間的所有新存儲(chǔ)到遠(yuǎn)程Key-Value存儲(chǔ)資源池中的數(shù)據(jù)存儲(chǔ)到快照文件創(chuàng)建單元?jiǎng)?chuàng)建的所述快照文件中;對(duì)應(yīng)存儲(chǔ)單元,用于將快照文件創(chuàng)建單元本次處理得到的快照與得到的該快照文件對(duì)應(yīng)存儲(chǔ)。本申請(qǐng)實(shí)施例還提供一種基于上述快照創(chuàng)建裝置的虛擬機(jī)快照刪除裝置,包括刪除快照確定單元,用于確定要?jiǎng)h除的快照、及要?jiǎng)h除的快照的前一快照;數(shù)據(jù)刪除單元,用于針對(duì)與刪除快照確定單元確定的要?jiǎng)h除的快照對(duì)應(yīng)存儲(chǔ)的快照文件和與確定的前一快照對(duì)應(yīng)存儲(chǔ)的快照文件中包含的與同一鍵值對(duì)應(yīng)的數(shù)據(jù)中,保留離當(dāng)前時(shí)間點(diǎn)最近的ー個(gè)時(shí)間信息及其對(duì)應(yīng)的數(shù)據(jù),并刪除其他時(shí)間信息及其分別對(duì)應(yīng)的數(shù)據(jù);快照刪除單元,用于刪除刪除快照確定單元確定出的要?jiǎng)h除的快照。本申請(qǐng)實(shí)施例還提供一種基于上述快照創(chuàng)建裝置的虛擬機(jī)快照回滾裝置,包括回滾快照確定單元,用于確定要回滾到的快照、及要回滾到的快照之后的每ー快照;快照及快照文件刪除單元,用于將回滾快照確定單元確定出的要回滾到的快照之后的每ー快照及其分別對(duì)應(yīng)存儲(chǔ)的快照文件刪除;激活単元,用于將回滾快照確定單元確定出的要回滾到的快照激活成當(dāng)前快照。本申請(qǐng)實(shí)施例還提供一種基于上述快照創(chuàng)建裝置的數(shù)據(jù)恢復(fù)裝置,包括恢復(fù)快照確定單元,用于確定需要將遠(yuǎn)程Key-Value存儲(chǔ)資源池存儲(chǔ)的數(shù)據(jù)恢復(fù)到的快照;快照文件查詢單元,用于按照對(duì)應(yīng)存儲(chǔ)單元存儲(chǔ)的各快照文件和快照的對(duì)應(yīng)關(guān)系,查詢恢復(fù)快照確定單元確定的要恢復(fù)到的快照對(duì)應(yīng)的快照文件;只讀形式設(shè)置單元,用于將快照文件查詢單元查詢到的快照文件中的數(shù)據(jù)由可讀可寫形式設(shè)置為只讀形式;數(shù)據(jù)恢復(fù)単元,用于基于只讀形式設(shè)置單元設(shè)置后的只讀形式的快照文件進(jìn)行數(shù)據(jù)恢復(fù)。本申請(qǐng)實(shí)施例通過在遠(yuǎn)程Key-Value存儲(chǔ)資源池中,將存儲(chǔ)的數(shù)據(jù)基于Key值、存儲(chǔ)數(shù)據(jù)Value值和時(shí)間信息三者進(jìn)行對(duì)應(yīng)存儲(chǔ)備份,并進(jìn)而基于該數(shù)據(jù)存儲(chǔ)備份方式,提出新的虛擬機(jī)快照創(chuàng)建處理方式,使得后續(xù)的數(shù)據(jù)恢復(fù)過程不必再依賴于設(shè)置主備存儲(chǔ)服務(wù)器集群的方式進(jìn)行數(shù)據(jù)備份和恢復(fù),這解決了現(xiàn)有技術(shù)中數(shù)據(jù)備份恢復(fù)效率比較低及其成本較高的問題,在節(jié)約硬件成本的同時(shí)提高了數(shù)據(jù)備份、恢復(fù)的效率。相應(yīng)地,本申請(qǐng)實(shí)施例提出新的虛擬機(jī)快照刪除及其回滾方式,也解決了現(xiàn)有技術(shù)必須依賴于NAS環(huán)境進(jìn)行全鏡像文件備份及其恢復(fù)和目錄級(jí)別數(shù)據(jù)備份及其恢復(fù),所帯來(lái)的效率低下和成本較高的問題,在節(jié)約硬件成本的同時(shí)提高了鏡像文件備份的效率。


      圖1為本申請(qǐng)實(shí)施例提出的技術(shù)方案所應(yīng)用在的基于塊設(shè)備存儲(chǔ)服務(wù)實(shí)現(xiàn)數(shù)據(jù)存儲(chǔ)的弾性計(jì)算云系統(tǒng)的拓?fù)浣Y(jié)構(gòu)圖2為本申請(qǐng)實(shí)施例所應(yīng)用在的遠(yuǎn)程網(wǎng)絡(luò)存儲(chǔ)服務(wù)的架構(gòu)示意圖;圖3為基于本申請(qǐng)實(shí)施例提供的數(shù)據(jù)備份方案中,同一扇區(qū)中不同時(shí)間點(diǎn)對(duì)應(yīng)的不同Value值的示意圖;圖4為本申請(qǐng)實(shí)施例提出的快照刪除方案的一個(gè)實(shí)施例示意圖;圖5為本申請(qǐng)實(shí)施例提供的基于塊設(shè)備存儲(chǔ)的數(shù)據(jù)備份裝置的具體組成結(jié)構(gòu)框圖;圖6為本申請(qǐng)實(shí)施例提供的虛擬機(jī)快照創(chuàng)建裝置的具體組成結(jié)構(gòu)框圖;圖7為本申請(qǐng)實(shí)施例提出的快照刪除方案的一個(gè)實(shí)施例示意圖;圖8為本申請(qǐng)實(shí)施例提供的虛擬機(jī)快照刪除裝置的具體組成結(jié)構(gòu)框圖;圖9為本申請(qǐng)實(shí)施例提出的快照回滾方案的一個(gè)實(shí)施例示意圖;圖10為本申請(qǐng)實(shí)施例提供的虛擬機(jī)快照回滾裝置的具體組成結(jié)構(gòu)框圖;圖11為本申請(qǐng)實(shí)施例提出的目錄級(jí)別的數(shù)據(jù)恢復(fù)方案的一個(gè)實(shí)施例示意圖;圖12為本申請(qǐng)實(shí)施例提出的基于塊設(shè)備存儲(chǔ)的數(shù)據(jù)恢復(fù)裝置的具體組成結(jié)構(gòu)框圖。
      具體實(shí)施例方式如圖1所示,為本申請(qǐng)實(shí)施例提出的技術(shù)方案所應(yīng)用在的基于塊設(shè)備存儲(chǔ)服務(wù)實(shí)現(xiàn)數(shù)據(jù)存儲(chǔ)的弾性計(jì)算云系統(tǒng)的拓?fù)浣Y(jié)構(gòu)圖。其中,弾性計(jì)算云系統(tǒng)中包括若干基于彈性計(jì)算云技術(shù)將本地的物理機(jī)虛擬出來(lái)的虛擬機(jī)(圖中所示為虛擬機(jī)1、虛擬機(jī)2、虛擬機(jī)
      3.......虛擬機(jī)η),各個(gè)虛擬機(jī)會(huì)將本地提供的數(shù)據(jù)存儲(chǔ)服務(wù)基于塊設(shè)備存儲(chǔ)服務(wù)技術(shù)
      使用遠(yuǎn)程的存儲(chǔ)資源池或本地的存儲(chǔ)資源池來(lái)實(shí)現(xiàn),即各個(gè)虛擬機(jī)會(huì)將本地需要保存的數(shù)據(jù)存儲(chǔ)到遠(yuǎn)程的存儲(chǔ)資源池或本地設(shè)置的存儲(chǔ)資源池中存儲(chǔ),并在后續(xù)有讀取數(shù)據(jù)的需求吋,從遠(yuǎn)程的存儲(chǔ)資源池或本地設(shè)置的存儲(chǔ)資源池中讀取相關(guān)數(shù)據(jù)。這樣各個(gè)虛擬機(jī)就可以共享遠(yuǎn)程或本地設(shè)置的存儲(chǔ)資源池,而無(wú)需占用本地物理機(jī)本身的存儲(chǔ)資源,從而較好地提高了弾性計(jì)算云系統(tǒng)的資源利用率。如圖2所示,為本申請(qǐng)實(shí)施例所應(yīng)用在的遠(yuǎn)程網(wǎng)絡(luò)存儲(chǔ)服務(wù)的架構(gòu)示意圖,具體包括內(nèi)核態(tài)的塊設(shè)備驅(qū)動(dòng)20、至少ー個(gè)服務(wù)端21、以及遠(yuǎn)程Key-Value存儲(chǔ)資源池22,其中內(nèi)核態(tài)的塊設(shè)備驅(qū)動(dòng)20,其接收來(lái)自物理服務(wù)器底層的讀寫(R/W,Reading/ Writing)調(diào)度層的讀寫請(qǐng)求,并將讀寫請(qǐng)求通過與用戶態(tài)的服務(wù)端22之間預(yù)先定義的協(xié)議(例如TCP協(xié)議)等轉(zhuǎn)發(fā)到用戶態(tài)的服務(wù)端22。塊設(shè)備驅(qū)動(dòng)20在接收到的相應(yīng)的讀寫請(qǐng)求后,先對(duì)接收到的讀寫請(qǐng)求進(jìn)行封裝,再將封裝后的讀寫請(qǐng)求發(fā)送給用戶態(tài)的服務(wù)端22。塊設(shè)備驅(qū)動(dòng)20接收到的讀寫請(qǐng)求和封裝后的讀寫請(qǐng)求有兩個(gè)重要的信息,ー個(gè)是請(qǐng)求數(shù)據(jù)的起始地址偏移量(offset),表示請(qǐng)求的數(shù)據(jù)占用磁盤的起始位置相對(duì)于數(shù)據(jù)讀寫請(qǐng)求中包含的塊設(shè)備標(biāo)識(shí)標(biāo)志的塊設(shè)備起始位置的偏移量,一個(gè)是請(qǐng)求數(shù)據(jù)的長(zhǎng)度值 (length)ο用戶態(tài)的服務(wù)端21,其通過與內(nèi)核態(tài)的塊設(shè)備驅(qū)動(dòng)20預(yù)先約定的協(xié)議(例如TCP 協(xié)議)等接收來(lái)自內(nèi)核態(tài)的塊設(shè)備驅(qū)動(dòng)20轉(zhuǎn)發(fā)過來(lái)的讀寫請(qǐng)求。收到讀寫請(qǐng)求后,先對(duì)讀寫請(qǐng)求進(jìn)行解析,解析過程包括驗(yàn)證讀寫請(qǐng)求是否合法、具體是讀請(qǐng)求還是寫請(qǐng)求,請(qǐng)求數(shù)據(jù)的起始地址偏移量offset和請(qǐng)求數(shù)據(jù)的長(zhǎng)度值length等,并根據(jù)解析結(jié)果向遠(yuǎn)程 Key-Value存儲(chǔ)資源池進(jìn)行數(shù)據(jù)的讀寫操作。具體地,根據(jù)解析得到的offset值和length 值計(jì)算出本次請(qǐng)求對(duì)應(yīng)的扇區(qū)號(hào)信息,如果是讀請(qǐng)求,則從遠(yuǎn)程Key-Value存儲(chǔ)資源池22 的分布式Key-Value存儲(chǔ)系統(tǒng)中將計(jì)算出的扇區(qū)號(hào)標(biāo)志的扇區(qū)中存儲(chǔ)的數(shù)據(jù)讀取出來(lái),并將讀取到的數(shù)據(jù)及其處理結(jié)果通過TCP協(xié)議等返回給內(nèi)核態(tài)的塊設(shè)備驅(qū)動(dòng)20 ;如果是寫請(qǐng)求,則將請(qǐng)求寫入的數(shù)據(jù)存儲(chǔ)到遠(yuǎn)程Key-Value存儲(chǔ)資源池22的分布式Key-Value存儲(chǔ)系統(tǒng)中與計(jì)算出的扇區(qū)號(hào)對(duì)應(yīng)的扇區(qū)中,并通過TCP協(xié)議等將寫請(qǐng)求的處理結(jié)果返回給內(nèi)核態(tài)的塊設(shè)備驅(qū)動(dòng)20。遠(yuǎn)程Key-Value存儲(chǔ)資源池22,其具體為遠(yuǎn)程分布式鍵值對(duì)(Key-Value)存儲(chǔ)系統(tǒng),其通常包括多臺(tái)作為存儲(chǔ)服務(wù)器的PC機(jī),且每個(gè)數(shù)據(jù)都會(huì)有若干個(gè)備份(默認(rèn)為3個(gè)備份),且每個(gè)備份分別存儲(chǔ)在不同的存儲(chǔ)服務(wù)器上。在基于分布式的鍵值對(duì)(Key-Value) 存儲(chǔ)系統(tǒng)中,通常將磁盤扇區(qū)號(hào)作為鍵Key的值,磁盤扇區(qū)中的數(shù)據(jù)內(nèi)容作為值Value的值,這樣當(dāng)給定ー個(gè)Key值時(shí),就可以在磁盤空間中讀取該Key值對(duì)應(yīng)的Value值或者將對(duì)應(yīng)的Value值存儲(chǔ)到該Key值對(duì)應(yīng)的扇區(qū)中。從上面對(duì)本申請(qǐng)實(shí)施例所應(yīng)用在的遠(yuǎn)程網(wǎng)絡(luò)存儲(chǔ)服務(wù)的架構(gòu)進(jìn)行介紹后可以看出,本申請(qǐng)實(shí)施例中的遠(yuǎn)程Key-Value存儲(chǔ)資源池為遠(yuǎn)程分布式鍵值對(duì)(Key-Value) 存儲(chǔ)系統(tǒng),針對(duì)不同塊設(shè)備的數(shù)據(jù)都是以key-value的鍵值對(duì)形式存儲(chǔ)在遠(yuǎn)程分布式 key-value存儲(chǔ)系統(tǒng)中的,其中key用于標(biāo)識(shí)與其對(duì)應(yīng)存儲(chǔ)的數(shù)據(jù)具體是屬于哪個(gè)塊設(shè)備的哪個(gè)扇區(qū),value則是指具體存儲(chǔ)的數(shù)據(jù)內(nèi)容。下面將給出本申請(qǐng)實(shí)施例中根據(jù)數(shù)據(jù)讀寫請(qǐng)求,確定對(duì)應(yīng)數(shù)據(jù)讀寫請(qǐng)求的各個(gè)扇區(qū)號(hào)的具體實(shí)現(xiàn)方式基于上面已經(jīng)介紹的本申請(qǐng)實(shí)施例所應(yīng)用在的遠(yuǎn)程網(wǎng)絡(luò)存儲(chǔ)服務(wù)的架構(gòu),內(nèi)核態(tài)的塊設(shè)備驅(qū)動(dòng)20將物理服務(wù)器底層發(fā)來(lái)的數(shù)據(jù)讀寫請(qǐng)求轉(zhuǎn)發(fā)給用戶態(tài)的一個(gè)服務(wù)端21 吋,數(shù)據(jù)讀寫請(qǐng)求中會(huì)包含兩個(gè)重要的信息,一個(gè)是偏移量offset,即請(qǐng)求數(shù)據(jù)在磁盤的起始位置相對(duì)于對(duì)應(yīng)塊設(shè)備起始位置的偏移量;另一個(gè)是請(qǐng)求數(shù)據(jù)的長(zhǎng)度值length。具體地,根據(jù)數(shù)據(jù)讀寫請(qǐng)求中包含的offset信息,按照下述公式就可以計(jì)算出請(qǐng)求數(shù)據(jù)在對(duì)應(yīng)塊設(shè)備占用的磁盤空間中的起始扇區(qū)號(hào)start_sector_id start_sector_ia = offset/sector_size ;其中sect0r_siZe為單位扇區(qū)的存儲(chǔ)容量大小值,一般默認(rèn)情況下是512字節(jié);具體地,再根據(jù)length信息,按照下述公式就可以計(jì)算出本次請(qǐng)求數(shù)據(jù)在對(duì)應(yīng)塊設(shè)備占用的磁盤空間中所連續(xù)占用的扇區(qū)個(gè)數(shù)SeCt0r_num sector_num = length/sector_size ;根據(jù)上述已經(jīng)計(jì)算出的start_sector_id與sector_num,就可以計(jì)算出本次請(qǐng)求數(shù)據(jù)在對(duì)應(yīng)塊設(shè)備占用的磁盤空間中所連續(xù)占用的扇區(qū)對(duì)應(yīng)的扇區(qū)號(hào)集合SeCt0r_Set, 即sector—set = tstart—sector—ια,......,start—sector—id+sector—num_l_} 0進(jìn)而將計(jì)算出的扇區(qū)號(hào)集合SeCt0r_Set中包含的各個(gè)扇區(qū)號(hào)分別作為對(duì)應(yīng)相應(yīng)扇區(qū)的Key值。從上面對(duì)圖2所示的網(wǎng)絡(luò)存儲(chǔ)服務(wù)的架構(gòu)進(jìn)行介紹后可以看出,在塊設(shè)備的數(shù)據(jù)存儲(chǔ)過程中,存儲(chǔ)的粒度是扇區(qū)級(jí)別的。塊設(shè)備驅(qū)動(dòng)20將物理機(jī)底層發(fā)來(lái)的數(shù)據(jù)讀寫請(qǐng)求轉(zhuǎn)發(fā)到服務(wù)端21后,服務(wù)端21就會(huì)根據(jù)讀寫請(qǐng)求中包含的相關(guān)信息計(jì)算出若干個(gè)扇區(qū)號(hào), 如果是寫請(qǐng)求,則將這些計(jì)算得到的扇區(qū)號(hào)分別作為Key,要寫入的數(shù)據(jù)作為Value,然后以鍵值對(duì)的形式一一保存到遠(yuǎn)程的分布式Key-Value存儲(chǔ)系統(tǒng)中。實(shí)施例一,結(jié)合上述介紹,下面給出本申請(qǐng)實(shí)施例提出的基于塊設(shè)備存儲(chǔ)服務(wù)的數(shù)據(jù)備份方案的具體處理過程通過上述分析可見,在塊設(shè)備存儲(chǔ)服務(wù)中進(jìn)行數(shù)據(jù)備份就可以是增量備份,即只備份被修改的數(shù)據(jù)。因此,為了實(shí)現(xiàn)塊設(shè)備存儲(chǔ)服務(wù)中的基于扇區(qū)級(jí)別的増量備份,就需要像上述介紹的數(shù)據(jù)存儲(chǔ)過程ー樣將不同的key和對(duì)應(yīng)的value映射存儲(chǔ)到Key Value系統(tǒng)中。進(jìn)ー步地,為了實(shí)現(xiàn)基于扇區(qū)級(jí)別的増加備份,本申請(qǐng)實(shí)施例這里提出對(duì)應(yīng)每個(gè)Key都賦予時(shí)間戳timestamp屬性。即在遠(yuǎn)程的Key Value系統(tǒng)中是以Key、存儲(chǔ)數(shù)據(jù)和時(shí)間戳 timestamp來(lái)對(duì)應(yīng)存儲(chǔ)數(shù)據(jù)的。如圖3所示,為本申請(qǐng)實(shí)施例提出的基于塊設(shè)備存儲(chǔ)服務(wù)的數(shù)據(jù)備份方法的處理流程圖,其中具體過程包括步驟30,塊設(shè)備驅(qū)動(dòng)接收物理機(jī)底層發(fā)來(lái)的寫數(shù)據(jù)請(qǐng)求和請(qǐng)求寫入的數(shù)據(jù),然后轉(zhuǎn)發(fā)給服務(wù)端;步驟31,服務(wù)端按照上述介紹的計(jì)算的扇區(qū)號(hào)集合SeCt0r_Set的方式,根據(jù)接收到的寫數(shù)據(jù)請(qǐng)求中包含的用于確定扇區(qū)號(hào)的參數(shù)offset值和length值,確定用于存儲(chǔ)請(qǐng)求寫入的數(shù)據(jù)的各扇區(qū)分別對(duì)應(yīng)的扇區(qū)號(hào);步驟32,服務(wù)端確定當(dāng)前寫入數(shù)據(jù)的時(shí)間信息;步驟33,服務(wù)端將上述確定出的作為鍵值Key的扇區(qū)號(hào)、請(qǐng)求寫入的數(shù)據(jù)和確定的時(shí)間信息對(duì)應(yīng)地存儲(chǔ)到遠(yuǎn)程Key-Value存儲(chǔ)資源池中。當(dāng)從遠(yuǎn)程Key-Value存儲(chǔ)資源池中讀取各個(gè)Key中對(duì)應(yīng)存儲(chǔ)的數(shù)據(jù)時(shí),可以將離當(dāng)前時(shí)刻最近的時(shí)間戳timestamp對(duì)應(yīng)的Value值讀取出來(lái);當(dāng)更新ー個(gè)Key對(duì)應(yīng)存儲(chǔ)的 Value值時(shí),先將與該Key對(duì)應(yīng)的時(shí)間戳timestamp屬性信息設(shè)置為當(dāng)前時(shí)刻,然后將該 Key、更新的Value值和重新設(shè)置的時(shí)間戳timestamp對(duì)應(yīng)保存到存儲(chǔ)系統(tǒng)中。這樣就實(shí)現(xiàn)了將任意時(shí)刻對(duì)任一扇區(qū)的修改數(shù)據(jù)都存儲(chǔ)到存儲(chǔ)系統(tǒng)中,相應(yīng)地,也就能夠讀取到任意時(shí)刻任一扇區(qū)的Value值。如圖4所示,為基于本申請(qǐng)實(shí)施例提供的數(shù)據(jù)備份方案中,同一扇區(qū)中不同時(shí)間點(diǎn)對(duì)應(yīng)的不同Value值的示意圖,可見ー個(gè)給定的Key值對(duì)應(yīng)的扇區(qū)中存儲(chǔ)的Value值在時(shí)間軸上是分段連續(xù)的,這樣當(dāng)給定ー個(gè)扇區(qū)號(hào)(Key值)和時(shí)間戳信息吋,就可以讀取到相應(yīng)的Value值。相應(yīng)地,本申請(qǐng)實(shí)施例還提供了一種基于塊設(shè)備存儲(chǔ)的數(shù)據(jù)備份裝置,具體組成結(jié)構(gòu)如圖5所示,包括數(shù)據(jù)接收単元51,用于接收寫數(shù)據(jù)請(qǐng)求和請(qǐng)求寫入的數(shù)據(jù);扇區(qū)號(hào)確定單元52,用于根據(jù)數(shù)據(jù)接收単元51接收到的寫數(shù)據(jù)請(qǐng)求中包含的用于確定扇區(qū)號(hào)的參數(shù),確定用于存儲(chǔ)請(qǐng)求寫入的數(shù)據(jù)的各扇區(qū)分別對(duì)應(yīng)的扇區(qū)號(hào);當(dāng)前時(shí)間確定單元53,用于確定當(dāng)前的時(shí)間信息;存儲(chǔ)単元54,用于將扇區(qū)號(hào)確定單元52確定的作為鍵值的扇區(qū)號(hào)、數(shù)據(jù)接收単元51接收到的請(qǐng)求寫入的數(shù)據(jù)和當(dāng)前時(shí)間確定單元53確定的時(shí)間信息對(duì)應(yīng)存儲(chǔ)到遠(yuǎn)程Key-Value存儲(chǔ)資源池中。進(jìn)而,本申請(qǐng)實(shí)施例為了實(shí)現(xiàn)基于塊設(shè)備存儲(chǔ)服務(wù)的備份數(shù)據(jù)的恢復(fù)處理,需要使用到快照技木,其中快照的定義是關(guān)于指定數(shù)據(jù)集合的ー個(gè)完全可用的拷貝,該拷貝包括相應(yīng)數(shù)據(jù)在某個(gè)時(shí)間點(diǎn)(拷貝開始的時(shí)間點(diǎn))的映像。由此可見,快照是將磁盤中某個(gè)時(shí)間點(diǎn)的數(shù)據(jù)全部原封不動(dòng)地保存下來(lái),就如給數(shù)據(jù)照相一祥??煺湛梢允瞧渌硎镜臄?shù)據(jù)的ー個(gè)副本,也可以是數(shù)據(jù)的ー個(gè)復(fù)制品??煺盏哪康氖菫閿?shù)據(jù)創(chuàng)建ー個(gè)在特定時(shí)間點(diǎn)的狀態(tài)視圖,而通過該狀態(tài)視圖可以看到該數(shù)據(jù)在快照創(chuàng)建時(shí)刻的數(shù)據(jù),這樣當(dāng)存儲(chǔ)在塊設(shè)備中的數(shù)據(jù)丟失或者錯(cuò)亂吋,可以通過快照將最近安全可靠的數(shù)據(jù)恢復(fù)出來(lái),將用戶數(shù)據(jù)丟失的風(fēng)險(xiǎn)降低到最小。基于上述介紹的虛擬機(jī)中的數(shù)據(jù)都是以扇區(qū)為單位,基于Key-Value的形式存儲(chǔ)在遠(yuǎn)程的分布式Key-Value存儲(chǔ)系統(tǒng)中的,其中Key為扇區(qū)號(hào),Value為扇區(qū)中存儲(chǔ)的數(shù)據(jù), 而且每個(gè)扇區(qū)中存儲(chǔ)相應(yīng)數(shù)據(jù)的時(shí)刻值(若該扇區(qū)中存儲(chǔ)的數(shù)據(jù)值被修改過)都會(huì)保存在存儲(chǔ)系統(tǒng)中。基于這個(gè)數(shù)據(jù)存儲(chǔ)備份方案,本申請(qǐng)實(shí)施例提出下述新的快照創(chuàng)建方案、快照刪除方案及其快照回滾方案。實(shí)施例ニ,虛擬機(jī)快照的創(chuàng)建快照的創(chuàng)建基本上是零開銷的,是ー個(gè)輕量級(jí)的操作,快照的創(chuàng)建需要在快照列表中増加一個(gè)新的快照,并對(duì)照這個(gè)快照生成新的快照文件,并將增加的快照和生成的新的快照文件映射存儲(chǔ),其中快照中通常包含快照名稱、快照創(chuàng)建的時(shí)間信息、以及所包含的快照文件的標(biāo)識(shí)信息等。具體實(shí)施過程為毎次在接收到創(chuàng)建快照的指令后,對(duì)遠(yuǎn)程Key-Value存儲(chǔ)資源池中存儲(chǔ)的數(shù)據(jù)進(jìn)行快照處理,創(chuàng)建本次快照及其對(duì)應(yīng)的快照文件;并將本次創(chuàng)建快照的時(shí)間點(diǎn)至下一次創(chuàng)建快照的時(shí)間點(diǎn)之間的所有新存儲(chǔ)到遠(yuǎn)程Key-Value存儲(chǔ)資源池中的數(shù)據(jù)均存儲(chǔ)到這個(gè)創(chuàng)建的快照文件中;然后將本次創(chuàng)建的快照與該快照文件對(duì)應(yīng)存儲(chǔ)。相應(yīng)的,本申請(qǐng)實(shí)施例還提供了一種虛擬機(jī)快照創(chuàng)建裝置,具體組成結(jié)構(gòu)如圖6所示,包括快照文件創(chuàng)建單元61,用于在每次在接收到創(chuàng)建快照的指令后,對(duì)遠(yuǎn)程 Key-Value存儲(chǔ)資源池中存儲(chǔ)的數(shù)據(jù)進(jìn)行快照處理,創(chuàng)建本次快照對(duì)應(yīng)的快照文件;數(shù)據(jù)存儲(chǔ)單元62,用于將本次創(chuàng)建快照的時(shí)間點(diǎn)至下一次創(chuàng)建快照的時(shí)間點(diǎn)之間的所有新存儲(chǔ)到遠(yuǎn)程Key-Value存儲(chǔ)資源池中的數(shù)據(jù)存儲(chǔ)到快照文件創(chuàng)建單元61創(chuàng)建的快照文件中;對(duì)應(yīng)存儲(chǔ)単元63,用于將快照文件創(chuàng)建單元61本次處理得到的快照與得到的該快照文件對(duì)應(yīng)存儲(chǔ)。實(shí)施例三,虛擬機(jī)快照的刪除快照的刪除相對(duì)于快照的創(chuàng)建則是ー個(gè)重量級(jí)的操作,因?yàn)閯h除快照不僅要將該快照從已有的快照列表中刪除,此外,為了節(jié)省存儲(chǔ)各個(gè)快照文件的空間,還需要將快照文件中具有相同Key值的存儲(chǔ)數(shù)據(jù)進(jìn)行合并(Merge)處理。具體實(shí)施過程為確定要?jiǎng)h除的快照、及要?jiǎng)h除的快照的前一快照;針對(duì)與確定的要?jiǎng)h除的快照對(duì)應(yīng)存儲(chǔ)的快照文件和與確定的前一快照對(duì)應(yīng)存儲(chǔ)的快照文件中包含的與同一 Key值對(duì)應(yīng)的數(shù)據(jù)中,保留離當(dāng)前時(shí)間點(diǎn)最近的ー個(gè)時(shí)間戳timestamp及其對(duì)應(yīng)的數(shù)據(jù),并刪除其他時(shí)間戳timestamp及其分別對(duì)應(yīng)的數(shù)據(jù);然后刪除確定出的要?jiǎng)h除的快照即可。如圖7所示,為本申請(qǐng)實(shí)施例提出的快照刪除方案的一個(gè)實(shí)施例示意圖,圖中按照時(shí)間順序創(chuàng)建了 3個(gè)快照,即Tl時(shí)間創(chuàng)建的snapsh0tl、T2時(shí)間創(chuàng)建的snapsh0t2、以及 T3時(shí)間創(chuàng)建的snapshot3,若確定將在T2時(shí)刻創(chuàng)建的snapshot2刪除,需要將snapshot2
      10對(duì)應(yīng)的快照文件中和snapshotl對(duì)應(yīng)的快照文件中包含的與同一 Key值對(duì)應(yīng)的數(shù)據(jù)中, 保留離當(dāng)前時(shí)間點(diǎn)最近的ー個(gè)時(shí)間戳timestamp及其對(duì)應(yīng)的數(shù)據(jù),并刪除其他時(shí)間戳 timestamp及其分別對(duì)應(yīng)的數(shù)據(jù),即要將Tl至T2之間的時(shí)間段內(nèi)的快照文件中的有相同Key值的Value值進(jìn)行合并處理,也就是針對(duì)ー個(gè)Key而言,只需要保留最新時(shí)間戳 timestamp對(duì)應(yīng)的Value值,其他時(shí)間戳timestamp及其對(duì)應(yīng)的Value值均刪除即可,這樣不僅可以較好的節(jié)約存儲(chǔ)空間,而且也可以提高讀取Key的速度。相應(yīng)的,本申請(qǐng)實(shí)施例還提供了一種虛擬機(jī)快照刪除裝置,具體組成結(jié)構(gòu)如圖8 所示,包括刪除快照確定單元81,用于確定要?jiǎng)h除的快照、及要?jiǎng)h除的快照的前一快照;數(shù)據(jù)刪除単元82,用于針對(duì)與刪除快照確定單元81確定的要?jiǎng)h除的快照對(duì)應(yīng)存儲(chǔ)的快照文件和與確定的前一快照對(duì)應(yīng)存儲(chǔ)的快照文件中包含的與同一鍵值對(duì)應(yīng)的數(shù)據(jù)中,保留離當(dāng)前時(shí)間點(diǎn)最近的一個(gè)時(shí)間信息及其對(duì)應(yīng)的數(shù)據(jù),并刪除其他時(shí)間信息及其分別對(duì)應(yīng)的數(shù)據(jù);快照刪除單元83,用于刪除刪除快照確定單元81確定出的要?jiǎng)h除的快照。實(shí)施例四,虛擬機(jī)快照的回滾虛擬機(jī)快照的回滾即虛擬機(jī)快照的恢復(fù),快照回滾只需要將要回滾到的快照之后的各個(gè)快照及其分別對(duì)應(yīng)的快照文件一一刪除,并將要回滾到的快照作為當(dāng)前最新且有效的快照即可。具體實(shí)施過程為在已經(jīng)創(chuàng)建的各個(gè)快照中,確定要回滾到的快照、及要回滾到的快照之后的每ー 快照;將確定出的之后的每ー快照及其分別對(duì)應(yīng)存儲(chǔ)的快照文件一一刪除;并將確定出的要回滾到的快照激活成當(dāng)前最新且有效的快照。如圖9所示,為本申請(qǐng)實(shí)施例提出的快照回滾方案的一個(gè)實(shí)施例示意圖,圖中假設(shè)虛擬機(jī)已經(jīng)在Tl、T2(T1時(shí)刻早于Τ2時(shí)刻)時(shí)刻分別創(chuàng)建了快照Snapshotl和 Snapshot〗?,F(xiàn)需要將虛擬機(jī)存儲(chǔ)的數(shù)據(jù)回滾到快照snapshot〗狀態(tài),按照本申請(qǐng)實(shí)施例提出的方案,則先將快照snapshot〗以后創(chuàng)建的所有快照及其分別對(duì)應(yīng)的快照文件都刪除, 然后再設(shè)置成對(duì)該虛擬機(jī)數(shù)據(jù)的讀取都從T2時(shí)刻開始向前捜索?;谏鲜鼋榻B的數(shù)據(jù)存儲(chǔ)備份方案和快照創(chuàng)建方案,本申請(qǐng)實(shí)施例提出下述新的基于塊設(shè)備存儲(chǔ)服務(wù)的數(shù)據(jù)恢復(fù)方案。相應(yīng)的,本申請(qǐng)實(shí)施例還提供了一種虛擬機(jī)快照回滾裝置,具體組成結(jié)構(gòu)如圖10 所示,包括回滾快照確定單元101,用于確定要回滾到的快照、及要回滾到的快照之后的每一快照;快照及快照文件刪除單元102,用于將回滾快照確定單元101確定出的要回滾到的快照之后的每ー快照及其分別對(duì)應(yīng)存儲(chǔ)的快照文件刪除;激活単元103,用于將回滾快照確定單元101確定出的要回滾到的快照激活成當(dāng)前快照。實(shí)施例五,虛擬機(jī)數(shù)據(jù)恢復(fù)數(shù)據(jù)恢復(fù)分為兩種情況,一種是目錄級(jí)別的數(shù)據(jù)恢復(fù),ー種是全鏡像文件的數(shù)據(jù)恢復(fù),其中對(duì)于全鏡像文件的數(shù)據(jù)恢復(fù)過程,需要將對(duì)應(yīng)該虛擬機(jī)的所有數(shù)據(jù)都回滾到過去的某個(gè)快照狀態(tài),具體實(shí)現(xiàn)同上述已經(jīng)介紹的快照回滾處理方式,這里不再贅述。而目錄級(jí)別的數(shù)據(jù)恢復(fù),則需要在恢復(fù)數(shù)據(jù)的同時(shí)不能對(duì)其他數(shù)據(jù)產(chǎn)生任何影響,即只能對(duì)需要恢復(fù)的數(shù)據(jù)進(jìn)行恢復(fù)。為了支持目錄級(jí)別的數(shù)據(jù)恢復(fù),并避免先將數(shù)據(jù)備份到備份存儲(chǔ)服務(wù)器集群,恢復(fù)時(shí)再?gòu)膫浞荽鎯?chǔ)服務(wù)器集群中將數(shù)據(jù)恢復(fù)出來(lái),本申請(qǐng)實(shí)施例提出基于只讀快照的方式進(jìn)行數(shù)據(jù)的恢復(fù)處理。所謂只讀快照,即快照是只讀的,只能對(duì)只讀快照對(duì)應(yīng)的快照文件中的數(shù)據(jù)進(jìn)行只讀,不能進(jìn)行修改,而一般的快照對(duì)應(yīng)的快照文件是可讀寫的快照,既能對(duì)快照文件中的數(shù)據(jù)進(jìn)行讀取,也能對(duì)快照文件中的數(shù)據(jù)進(jìn)行修改。具體實(shí)施過程為在已經(jīng)創(chuàng)建的各個(gè)快照中,確定需要將遠(yuǎn)程Key-Value存儲(chǔ)資源池對(duì)應(yīng)某個(gè)虛擬機(jī)存儲(chǔ)的數(shù)據(jù)恢復(fù)到的快照;按照上述在創(chuàng)建快照時(shí)所存儲(chǔ)的各快照文件和快照的對(duì)應(yīng)關(guān)系,查詢確定的要恢復(fù)到的快照對(duì)應(yīng)的快照文件;將查詢到的快照文件中的數(shù)據(jù)由可讀可寫形式設(shè)置為只讀形式,并保持其他快照文件中的數(shù)據(jù)為可讀可寫形式;然后基于設(shè)置為只讀形式的快照文件進(jìn)行數(shù)據(jù)恢復(fù)處理?;谠O(shè)置為只讀形式的快照文件進(jìn)行數(shù)據(jù)恢復(fù)處理,在從只讀形式的快照文件中讀取數(shù)據(jù)時(shí),需要指定待讀取數(shù)據(jù)所在的Key值和需要從哪個(gè)只讀快照對(duì)應(yīng)的快照文件中讀取數(shù)據(jù),為此,可以將只讀快照的接ロ消息定義成如下形式reaaoniy—snapshot (Snapshotld,KeySet, ValueResponse;其中,該接ロ消息中包含三個(gè)參數(shù),第一個(gè)參數(shù)為Snap shot I d,指定需要從哪個(gè)快照進(jìn)行只讀;第二個(gè)參數(shù)為Ke於et,指定要對(duì)哪些Key進(jìn)行只讀;第三個(gè)參數(shù)為 ValueResponse,它是保存在SnapshotId標(biāo)識(shí)的快照文件中的KeySet對(duì)應(yīng)的扇區(qū)中存儲(chǔ)的數(shù)據(jù)value值。有了上述介紹的快照只讀功能,就可以實(shí)現(xiàn)目錄級(jí)別的數(shù)據(jù)恢復(fù),如圖11所示, 為本申請(qǐng)實(shí)施例提出的目錄級(jí)別的數(shù)據(jù)恢復(fù)方案的一個(gè)實(shí)施例示意圖,假設(shè)針對(duì)一個(gè)塊設(shè)
      備已經(jīng)創(chuàng)建了若干個(gè)快照,分別為snapshot 1,snapshot2,snapshot3,......,等等?,F(xiàn)在
      假設(shè)需要將針對(duì)該塊設(shè)備存儲(chǔ)的a. txt文件恢復(fù)到snapshotl時(shí)的數(shù)據(jù)狀態(tài)。具體流程如下將snapshotl設(shè)置成只讀快照,將設(shè)置成只讀形式的snapshotl掛載到hostl服
      務(wù)器中的塊設(shè)備VBD2上;并將其他快照snapsh0t2,snapsh0t3......等等保持為可讀寫形
      式,并將這些可讀寫形式的快照掛載到hostl服務(wù)器中的塊設(shè)備VBDl上;這樣,同一個(gè)host就可以實(shí)現(xiàn)以可讀寫方式和只讀方式這兩種方式同時(shí)讀取相應(yīng)快照對(duì)應(yīng)的快照文件中的數(shù)據(jù),當(dāng)其中的VBD2從snapshotl對(duì)應(yīng)的快照文件中以只讀方式讀取到對(duì)應(yīng)snapshotl狀態(tài)的a. txt文件后,進(jìn)而拷貝給其中的VBD1,這樣就實(shí)現(xiàn)了將 a. txt文件恢復(fù)到snapshotl時(shí)的數(shù)據(jù)狀態(tài),同時(shí)又不影響VBDl對(duì)其他snapshot對(duì)應(yīng)的快照文件進(jìn)行可讀可寫操作,通過上述只讀掛載快照的方式實(shí)現(xiàn)了目錄級(jí)別的數(shù)據(jù)恢復(fù)。相應(yīng)的,本申請(qǐng)實(shí)施例還提供了一種基于塊設(shè)備存儲(chǔ)的數(shù)據(jù)恢復(fù)裝置,具體組成結(jié)構(gòu)如圖12所示,包括恢復(fù)快照確定單元121,用于確定需要將遠(yuǎn)程Key-Value存儲(chǔ)資源池存儲(chǔ)的數(shù)據(jù)恢復(fù)到的快照;快照文件查詢單元122,用于按照對(duì)應(yīng)存儲(chǔ)單元存儲(chǔ)的各快照文件和快照的對(duì)應(yīng)關(guān)系,查詢恢復(fù)快照確定單元121確定的要恢復(fù)到的快照對(duì)應(yīng)的快照文件;只讀形式設(shè)置單元123,用于將快照文件查詢單元122查詢到的快照文件中的數(shù)據(jù)由可讀可寫形式設(shè)置為只讀形式;數(shù)據(jù)恢復(fù)単元124,用于基于只讀形式設(shè)置單元123設(shè)置后的只讀形式的快照文件進(jìn)行數(shù)據(jù)恢復(fù)。綜上論述可見,本申請(qǐng)實(shí)施例通過在遠(yuǎn)程Key-Value存儲(chǔ)資源池中,將存儲(chǔ)的數(shù)據(jù)基于Key值、存儲(chǔ)數(shù)據(jù)Value值和時(shí)間戳Timestamp三者進(jìn)行對(duì)應(yīng)存儲(chǔ)備份,并進(jìn)而基于該數(shù)據(jù)存儲(chǔ)備份方式,提出新的虛擬機(jī)快照創(chuàng)建處理方式,使得后續(xù)的數(shù)據(jù)恢復(fù)過程不必再依賴于設(shè)置主備存儲(chǔ)服務(wù)器集群的方式進(jìn)行數(shù)據(jù)備份和恢復(fù),進(jìn)而也就避免了現(xiàn)有技術(shù)中數(shù)據(jù)備份恢復(fù)效率比較低及其成本較高的問題。相應(yīng)地,本申請(qǐng)實(shí)施例提出的新的虛擬機(jī)快照刪除及其回滾方式,也避免了現(xiàn)有技術(shù)必須依賴于NAS環(huán)境進(jìn)行全鏡像文件備份及其恢復(fù)和目錄級(jí)別數(shù)據(jù)備份及其恢復(fù),所帯來(lái)的效率低下和成本較高的問題。本領(lǐng)域的技術(shù)人員應(yīng)明白,本申請(qǐng)的實(shí)施例可提供為方法、裝置(設(shè)備)、或計(jì)算機(jī)程序產(chǎn)品。因此,本申請(qǐng)可采用完全硬件實(shí)施例、完全軟件實(shí)施例、或結(jié)合軟件和硬件方面的實(shí)施例的形式。而且,本申請(qǐng)可采用在一個(gè)或多個(gè)其中包含有計(jì)算機(jī)可用程序代碼的計(jì)算機(jī)可用存儲(chǔ)介質(zhì)(包括但不限于磁盤存儲(chǔ)器、CD-ROM、光學(xué)存儲(chǔ)器等)上實(shí)施的計(jì)算機(jī)程序產(chǎn)品的形式。本申請(qǐng)是參照根據(jù)本申請(qǐng)實(shí)施例的方法、裝置(設(shè)備)和計(jì)算機(jī)程序產(chǎn)品的流程圖和/或方框圖來(lái)描述的。應(yīng)理解可由計(jì)算機(jī)程序指令實(shí)現(xiàn)流程圖和/或方框圖中的每ー 流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合。可提供這些計(jì)算機(jī)程序指令到通用計(jì)算機(jī)、專用計(jì)算機(jī)、嵌入式處理機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生ー個(gè)機(jī)器,使得通過計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實(shí)現(xiàn)在流程圖ー個(gè)流程或多個(gè)流程和/或方框圖ー個(gè)方框或多個(gè)方框中指定的功能的裝置。這些計(jì)算機(jī)程序指令也可存儲(chǔ)在能引導(dǎo)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備以特定方式工作的計(jì)算機(jī)可讀存儲(chǔ)器中,使得存儲(chǔ)在該計(jì)算機(jī)可讀存儲(chǔ)器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實(shí)現(xiàn)在流程圖ー個(gè)流程或多個(gè)流程和/或方框圖ー個(gè)方框或多個(gè)方框中指定的功能。這些計(jì)算機(jī)程序指令也可裝載到計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的處理,從而在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行的指令提供用于實(shí)現(xiàn)在流程圖ー個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的步驟。盡管已描述了本申請(qǐng)的優(yōu)選實(shí)施例,但本領(lǐng)域內(nèi)的技術(shù)人員一旦得知了基本創(chuàng)造性概念,則可對(duì)這些實(shí)施例作出另外的變更和修改。所以,所附權(quán)利要求意欲解釋為包括優(yōu)選實(shí)施例以及落入本申請(qǐng)范圍的所有變更和修改。顯然,本領(lǐng)域的技術(shù)人員可以對(duì)本申請(qǐng)進(jìn)行各種改動(dòng)和變型而不脫離本申請(qǐng)的精神和范圍。這樣,倘若本申請(qǐng)的這些修改和變型屬于本申請(qǐng)權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本申請(qǐng)也意圖包含這些改動(dòng)和變型在內(nèi)。
      權(quán)利要求
      1.一種基于塊設(shè)備存儲(chǔ)的數(shù)據(jù)備份方法,其特征在干,包括 接收寫數(shù)據(jù)請(qǐng)求和請(qǐng)求寫入的數(shù)據(jù);根據(jù)所述寫數(shù)據(jù)請(qǐng)求中包含的用于確定扇區(qū)號(hào)的參數(shù),確定用于存儲(chǔ)請(qǐng)求寫入的數(shù)據(jù)的各扇區(qū)分別對(duì)應(yīng)的扇區(qū)號(hào);并確定當(dāng)前的時(shí)間信息;將確定的作為鍵值的扇區(qū)號(hào)、請(qǐng)求寫入的數(shù)據(jù)和確定的時(shí)間信息對(duì)應(yīng)存儲(chǔ)到遠(yuǎn)程 Key-Value存儲(chǔ)資源池中。
      2.如權(quán)利要求1所述的方法,其特征在干,根據(jù)所述寫數(shù)據(jù)請(qǐng)求中包含的用于確定扇區(qū)號(hào)的參數(shù),確定用于存儲(chǔ)請(qǐng)求寫入的數(shù)據(jù)的各扇區(qū)分別對(duì)應(yīng)的扇區(qū)號(hào),包括;根據(jù)所述寫數(shù)據(jù)請(qǐng)求中包含的偏移量,以及單位磁盤扇區(qū)的存儲(chǔ)容量值,確定用于存儲(chǔ)請(qǐng)求寫入的數(shù)據(jù)的起始扇區(qū)號(hào),其中,所述偏移量為請(qǐng)求寫入的數(shù)據(jù)將寫入磁盤的起始位置相對(duì)于所述寫數(shù)據(jù)請(qǐng)求中包含的塊設(shè)備標(biāo)識(shí)標(biāo)志的塊設(shè)備起始位置的偏移量;根據(jù)所述請(qǐng)求寫入的數(shù)據(jù)的長(zhǎng)度值和單位磁盤扇區(qū)的存儲(chǔ)容量值,確定存儲(chǔ)請(qǐng)求寫入的數(shù)據(jù)將連續(xù)占用扇區(qū)的數(shù)目;根據(jù)確定出的起始扇區(qū)號(hào)和連續(xù)占用扇區(qū)的數(shù)目,確定用于存儲(chǔ)請(qǐng)求寫入的數(shù)據(jù)的各扇區(qū)分別對(duì)應(yīng)的扇區(qū)號(hào)。
      3.ー種基于權(quán)利要求1的數(shù)據(jù)備份方法的虛擬機(jī)快照創(chuàng)建方法,其特征在干,包括 毎次在接收到創(chuàng)建快照的指令后,對(duì)遠(yuǎn)程Key-Value存儲(chǔ)資源池中存儲(chǔ)的數(shù)據(jù)進(jìn)行快照處理,創(chuàng)建本次快照及其對(duì)應(yīng)的快照文件;并將本次創(chuàng)建快照的時(shí)間點(diǎn)至下一次創(chuàng)建快照的時(shí)間點(diǎn)之間的所有新存儲(chǔ)到遠(yuǎn)程 Key-Value存儲(chǔ)資源池中的數(shù)據(jù)存儲(chǔ)到所述快照文件中; 將本次創(chuàng)建的快照與快照文件對(duì)應(yīng)存儲(chǔ)。
      4.ー種基于權(quán)利要求3的快照創(chuàng)建方法的虛擬機(jī)快照刪除方法,其特征在干,包括 確定要?jiǎng)h除的快照、及要?jiǎng)h除的快照的前一快照;針對(duì)與確定的要?jiǎng)h除的快照對(duì)應(yīng)存儲(chǔ)的快照文件和與確定的前一快照對(duì)應(yīng)存儲(chǔ)的快照文件中包含的與同一鍵值對(duì)應(yīng)的數(shù)據(jù)中,保留離當(dāng)前時(shí)間點(diǎn)最近的一個(gè)時(shí)間信息及其對(duì)應(yīng)的數(shù)據(jù),并刪除其他時(shí)間信息及其分別對(duì)應(yīng)的數(shù)據(jù); 刪除確定出的要?jiǎng)h除的快照。
      5.ー種基于權(quán)利要求3的快照創(chuàng)建方法的虛擬機(jī)快照回滾方法,其特征在干,包括 確定要回滾到的快照、及要回滾到的快照之后的每ー快照;將確定出的回滾到的快照之后的每ー快照及其分別對(duì)應(yīng)存儲(chǔ)的快照文件刪除; 將確定出的要回滾到的快照激活成當(dāng)前快照。
      6.ー種基于權(quán)利要求3的快照創(chuàng)建方法的基于塊設(shè)備存儲(chǔ)的數(shù)據(jù)恢復(fù)方法,其特征在干,包括確定需要將遠(yuǎn)程Key-Value存儲(chǔ)資源池存儲(chǔ)的數(shù)據(jù)恢復(fù)到的快照;按照存儲(chǔ)的各快照文件和快照的對(duì)應(yīng)關(guān)系,查詢確定的要恢復(fù)到的快照對(duì)應(yīng)的快照文件;將查詢到的快照文件中的數(shù)據(jù)由可讀可寫形式設(shè)置為只讀形式,并保持其他快照文件中的數(shù)據(jù)為可讀可寫形式;基于設(shè)置為只讀形式的快照文件進(jìn)行數(shù)據(jù)恢復(fù)。
      7.一種基于塊設(shè)備存儲(chǔ)的數(shù)據(jù)備份裝置,其特征在干,包括 數(shù)據(jù)接收単元,用于接收寫數(shù)據(jù)請(qǐng)求和請(qǐng)求寫入的數(shù)據(jù);扇區(qū)號(hào)確定單元,用于根據(jù)數(shù)據(jù)接收単元接收到的所述寫數(shù)據(jù)請(qǐng)求中包含的用于確定扇區(qū)號(hào)的參數(shù),確定用于存儲(chǔ)請(qǐng)求寫入的數(shù)據(jù)的各扇區(qū)分別對(duì)應(yīng)的扇區(qū)號(hào);和當(dāng)前時(shí)間確定單元,用于確定當(dāng)前的時(shí)間信息;存儲(chǔ)單元,用于將扇區(qū)號(hào)確定單元確定的作為鍵值的扇區(qū)號(hào)、數(shù)據(jù)接收単元接收到的請(qǐng)求寫入的數(shù)據(jù)和當(dāng)前時(shí)間確定單元確定的時(shí)間信息對(duì)應(yīng)存儲(chǔ)到遠(yuǎn)程Key-Value存儲(chǔ)資源池中。
      8.ー種基于權(quán)利要求7的數(shù)據(jù)備份裝置的虛擬機(jī)快照創(chuàng)建裝置,其特征在干,包括 快照文件創(chuàng)建單元,用于在每次在接收到創(chuàng)建快照的指令后,對(duì)遠(yuǎn)程Key-Value存儲(chǔ)資源池中存儲(chǔ)的數(shù)據(jù)進(jìn)行快照處理,創(chuàng)建本次快照對(duì)應(yīng)的快照文件;數(shù)據(jù)存儲(chǔ)単元,用于將本次創(chuàng)建快照的時(shí)間點(diǎn)至下一次創(chuàng)建快照的時(shí)間點(diǎn)之間的所有新存儲(chǔ)到遠(yuǎn)程Key-Value存儲(chǔ)資源池中的數(shù)據(jù)存儲(chǔ)到快照文件創(chuàng)建單元?jiǎng)?chuàng)建的所述快照文件中;對(duì)應(yīng)存儲(chǔ)單元,用于將快照文件創(chuàng)建單元本次處理得到的快照與得到的該快照文件對(duì)應(yīng)存儲(chǔ)。
      9.ー種基于權(quán)利要求8的快照創(chuàng)建裝置的虛擬機(jī)快照刪除裝置,其特征在干,包括 刪除快照確定單元,用于確定要?jiǎng)h除的快照、及要?jiǎng)h除的快照的前一快照;數(shù)據(jù)刪除単元,用于針對(duì)與刪除快照確定單元確定的要?jiǎng)h除的快照對(duì)應(yīng)存儲(chǔ)的快照文件和與確定的前一快照對(duì)應(yīng)存儲(chǔ)的快照文件中包含的與同一鍵值對(duì)應(yīng)的數(shù)據(jù)中,保留離當(dāng)前時(shí)間點(diǎn)最近的一個(gè)時(shí)間信息及其對(duì)應(yīng)的數(shù)據(jù),并刪除其他時(shí)間信息及其分別對(duì)應(yīng)的數(shù)據(jù);快照刪除單元,用于刪除刪除快照確定單元確定出的要?jiǎng)h除的快照。
      10.ー種基于權(quán)利要求8的快照創(chuàng)建裝置的虛擬機(jī)快照回滾裝置,其特征在干,包括 回滾快照確定單元,用于確定要回滾到的快照、及要回滾到的快照之后的每ー快照; 快照及快照文件刪除單元,用于將回滾快照確定單元確定出的要回滾到的快照之后的每ー快照及其分別對(duì)應(yīng)存儲(chǔ)的快照文件刪除;激活單元,用于將回滾快照確定單元確定出的要回滾到的快照激活成當(dāng)前快照。
      11.ー種基于權(quán)利要求8的快照創(chuàng)建裝置的基于塊設(shè)備存儲(chǔ)的數(shù)據(jù)恢復(fù)裝置,其特征在干,包括恢復(fù)快照確定單元,用于確定需要將遠(yuǎn)程Key-Value存儲(chǔ)資源池存儲(chǔ)的數(shù)據(jù)恢復(fù)到的快照;快照文件查詢單元,用于按照對(duì)應(yīng)存儲(chǔ)單元存儲(chǔ)的各快照文件和快照的對(duì)應(yīng)關(guān)系,查詢恢復(fù)快照確定單元確定的要恢復(fù)到的快照對(duì)應(yīng)的快照文件;只讀形式設(shè)置單元,用于將快照文件查詢單元查詢到的快照文件中的數(shù)據(jù)由可讀可寫形式設(shè)置為只讀形式;數(shù)據(jù)恢復(fù)単元,用于基于只讀形式設(shè)置單元設(shè)置后的只讀形式的快照文件進(jìn)行數(shù)據(jù)恢復(fù)ο
      全文摘要
      本申請(qǐng)公開了一種基于塊設(shè)備存儲(chǔ)的數(shù)據(jù)備份方法,包括接收寫數(shù)據(jù)請(qǐng)求和請(qǐng)求寫入的數(shù)據(jù);根據(jù)所述寫數(shù)據(jù)請(qǐng)求中包含的用于確定扇區(qū)號(hào)的參數(shù),確定用于存儲(chǔ)請(qǐng)求寫入的數(shù)據(jù)的各扇區(qū)分別對(duì)應(yīng)的扇區(qū)號(hào);并確定當(dāng)前的時(shí)間信息;將確定的作為鍵值的扇區(qū)號(hào)、請(qǐng)求寫入的數(shù)據(jù)和確定的時(shí)間信息對(duì)應(yīng)存儲(chǔ)到遠(yuǎn)程Key-Value存儲(chǔ)資源池中。本申請(qǐng)還公開了基于該數(shù)據(jù)備份方法的虛擬機(jī)快照創(chuàng)建、刪除、回滾以及相應(yīng)的數(shù)據(jù)恢復(fù)方法。本申請(qǐng)可以在節(jié)約硬件成本的同時(shí)提高數(shù)據(jù)備份、恢復(fù)的效率。
      文檔編號(hào)H04L29/08GK102594849SQ201110001879
      公開日2012年7月18日 申請(qǐng)日期2011年1月6日 優(yōu)先權(quán)日2011年1月6日
      發(fā)明者吳崢濤, 孔祥云, 陳偉才, 陳波 申請(qǐng)人:阿里巴巴集團(tuán)控股有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1