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

<span id="rgjdh"><pre id="rgjdh"></pre></span>
<span id="rgjdh"><big id="rgjdh"><dfn id="rgjdh"></dfn></big></span>
  • <menuitem id="rgjdh"></menuitem>
  • <var id="rgjdh"><pre id="rgjdh"></pre></var>

    一種數(shù)據(jù)備份方法、裝置和系統(tǒng)與流程

    文檔序號:12612185閱讀:297來源:國知局
    一種數(shù)據(jù)備份方法、裝置和系統(tǒng)與流程

    本發(fā)明實施例涉及計算機領(lǐng)域,尤其涉及一種數(shù)據(jù)備份方法、裝置和系統(tǒng)。



    背景技術(shù):

    數(shù)據(jù)容災(zāi),是指建立一個異地的數(shù)據(jù)系統(tǒng),該系統(tǒng)是本地關(guān)鍵應(yīng)用數(shù)據(jù)的一個可用復(fù)制。在本地數(shù)據(jù)及整個應(yīng)用系統(tǒng)出現(xiàn)災(zāi)難時,系統(tǒng)至少在異地保存有一份可用的關(guān)鍵業(yè)務(wù)的數(shù)據(jù)。其采用的主要技術(shù)是數(shù)據(jù)備份和數(shù)據(jù)復(fù)制技術(shù),數(shù)據(jù)容災(zāi)的處理,實際上是異地數(shù)據(jù)復(fù)制的處理。該異地數(shù)據(jù)可以是與本地生產(chǎn)數(shù)據(jù)的完全實時復(fù)制(同步復(fù)制),也可以比本地數(shù)據(jù)略微落后(異步復(fù)制)。

    以O(shè)racle數(shù)據(jù)庫的數(shù)據(jù)容災(zāi)為例,Oracle數(shù)據(jù)庫為保證高可用性,高可靠性,在同城的兩個機房內(nèi)分別部署主存儲庫和備存儲庫,其中,備存儲庫是主存儲庫的備份,并使用數(shù)據(jù)保護技術(shù)進(jìn)行主存儲庫和備存儲庫間的數(shù)據(jù)同步。

    數(shù)據(jù)同步的基本流程是當(dāng)主存儲庫產(chǎn)生日志時,通過事先配置的傳送方式,以同步復(fù)制或者異步復(fù)制的方式傳送到備存儲庫,以實現(xiàn)主存儲庫備存儲庫間的數(shù)據(jù)復(fù)制。

    對于同步復(fù)制,當(dāng)主存儲庫的數(shù)據(jù)產(chǎn)生變化時,主存儲庫在確保備存儲庫完全接收變化的數(shù)據(jù)前,是不會進(jìn)行后續(xù)數(shù)據(jù)處理的。對于異步復(fù)制,當(dāng)主存儲庫的數(shù)據(jù)產(chǎn)生變化時,主存儲庫在保證本地數(shù)據(jù)更新完畢后,不會等待遠(yuǎn)端備存儲庫正確、完整地接收到變化后的數(shù)據(jù),就會繼續(xù)完成后續(xù)的數(shù)據(jù)更新請求。

    不管對于同步復(fù)制還是異步復(fù)制,現(xiàn)有技術(shù)中,當(dāng)主存儲庫的數(shù)據(jù)發(fā)生變化時,都要通過實現(xiàn)配置的傳送方式,將主存儲庫變化后的數(shù)據(jù)通過網(wǎng)絡(luò)傳送至備存儲庫,如果主存儲庫的數(shù)據(jù)變化較大,則進(jìn)行數(shù)據(jù)的網(wǎng)絡(luò)傳輸時,會消耗大量的網(wǎng)絡(luò)資源。



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

    有鑒于此,本發(fā)明公開了一種數(shù)據(jù)備份的方法、裝置和系統(tǒng),以減少數(shù)據(jù)備份過程中消耗的網(wǎng)絡(luò)資源。

    第一方面,本申請?zhí)峁┝艘环N數(shù)據(jù)備份系統(tǒng),系統(tǒng)包含主存儲庫和備存儲庫,其中,第一存儲控制器用于管理主存儲庫,第二存儲控制器用于管理備存儲庫,主存儲庫包含第一存儲節(jié)點和第二存儲節(jié)點,備存儲庫包含第三存儲節(jié)點和第四存儲節(jié)點,第三存儲節(jié)點保存有第一存儲節(jié)點的備份數(shù)據(jù),第四存儲節(jié)點保存有第二存儲節(jié)點的備份數(shù)據(jù),第一存儲控制器 用于接收第一遷移指令,第一遷移指令中攜帶第一數(shù)據(jù)在第一存儲節(jié)點的第一地址的指示信息和待將第一數(shù)據(jù)遷移至第二存儲節(jié)點的第二地址的指示信息,根據(jù)第一遷移指令,將第一存儲節(jié)點中第一地址上存儲的第一數(shù)據(jù)遷移至第二存儲節(jié)點的第二地址,并向第二存儲控制器發(fā)送第二遷移指令,第二遷移指令用于指示第二存儲控制器將第一數(shù)據(jù)從第三存儲節(jié)點遷移至第四存儲節(jié)點,第二遷移指令中攜帶第一數(shù)據(jù)在第三存儲節(jié)點中的第三地址的指示信息和待將第一數(shù)據(jù)遷移至第四存儲節(jié)點的第四地址的指示信息;第二存儲控制器用于接收來自第一存儲控制器的第二遷移指令,并根據(jù)所述第二遷移指令,將第三存儲節(jié)點中第三地址上存儲的第一數(shù)據(jù)遷移至第四存儲節(jié)點的第四地址。

    因為第二存儲節(jié)點內(nèi)部有數(shù)據(jù)的更新,需要對第四存儲節(jié)點進(jìn)行同樣的數(shù)據(jù)更新,因為第三存儲節(jié)點中保存有第一存儲節(jié)點的備份數(shù)據(jù),可以根據(jù)該數(shù)據(jù)遷移指令對備存儲庫進(jìn)行數(shù)據(jù)同步的更新,指示第二存儲控制器將第一數(shù)據(jù)從第三存儲節(jié)點遷移至第四存儲節(jié)點,從而避免了第二存儲節(jié)點向第四存儲節(jié)點的大量數(shù)據(jù)傳送,降低了網(wǎng)絡(luò)消耗。

    結(jié)合第一方面,在第一方面第一種可能的實現(xiàn)方式中,第一存儲控制器將第一存儲節(jié)點中第一地址上存儲的第一數(shù)據(jù)遷移至第二存儲節(jié)點的第二地址之后,還用于:確定第二存儲節(jié)點用于保存第一數(shù)據(jù)的第二地址上數(shù)據(jù)發(fā)生變化的第五地址,并向第二存儲控制器發(fā)送數(shù)據(jù)更新指令,數(shù)據(jù)更新指令包含第六地址的指示信息和第五地址上存儲的第二數(shù)據(jù),數(shù)據(jù)更新指令用于指示第二存儲控制器將第二數(shù)據(jù)寫入第四存儲節(jié)點的第六地址;第二存儲控制器還用于根據(jù)數(shù)據(jù)更新指令,將第二數(shù)據(jù)寫入第四存儲節(jié)點的第六地址。

    當(dāng)系統(tǒng)采用異步復(fù)制方法時,第二存儲控制器將第一數(shù)據(jù)從第三存儲節(jié)點遷移至第四存儲節(jié)點之前,可能客戶端又對第二存儲節(jié)點中的第一數(shù)據(jù)進(jìn)行了更改操作,第二存儲控制器進(jìn)行數(shù)據(jù)遷移時,第二存儲節(jié)點中的第一數(shù)據(jù)已經(jīng)發(fā)生了變化,從而造成了第二存儲節(jié)點與第四存儲節(jié)點之間的數(shù)據(jù)不一致,通過跟蹤第一數(shù)據(jù)在第二存儲節(jié)點中第一數(shù)據(jù)的變化,并將該變化更新至第四存儲節(jié)點,從而使第四存儲節(jié)點與第二存儲節(jié)點中的數(shù)據(jù)保持一致。

    結(jié)合第一方面或第一方面以上任一種可能的實現(xiàn)方式,在第一方面第二種可能的實現(xiàn)方式中,第一存儲控制器用于確定第二存儲節(jié)點用于保存第一數(shù)據(jù)的第二地址上數(shù)據(jù)發(fā)生變化的第五地址,包括:第一存儲控制器用于使用第一標(biāo)記標(biāo)識第二地址,并在第一標(biāo)記標(biāo)識的地址上的數(shù)據(jù)發(fā)生變化時,使用第二標(biāo)記標(biāo)識數(shù)據(jù)發(fā)生變化的地址;第一存儲控制器用于根據(jù)第二標(biāo)記確定第五地址。

    通過使用第一標(biāo)記標(biāo)識第一數(shù)據(jù),并使用第二標(biāo)記標(biāo)識第一數(shù)據(jù)的發(fā)生變化的位置信息,從而使第一存儲控制器快速的確定數(shù)據(jù)發(fā)生變化的位置信息,并進(jìn)行第二存儲節(jié)點和第四存 儲節(jié)點的同步更新。

    結(jié)合第一方面或第一方面以上任一種可能的實現(xiàn)方式,在第一方面第三種可能的實現(xiàn)方式中,第二存儲控制器將第三存儲節(jié)點中第三地址上存儲的第一數(shù)據(jù)遷移至第四存儲節(jié)點的第四地址之后,還用于向第一存儲控制器發(fā)送反饋消息,反饋消息用于指示完成第一數(shù)據(jù)從第三存儲節(jié)點至第四存儲節(jié)點的遷移操作。

    第二方面,本申請?zhí)峁┝艘环N數(shù)據(jù)備份的方法,數(shù)據(jù)存儲系統(tǒng)包含主存儲庫和備存儲庫,其中,第一存儲控制器用于管理主存儲庫,第二存儲控制器用于管理備存儲庫,主存儲庫包含第一存儲節(jié)點和第二存儲節(jié)點,備存儲庫包含第三存儲節(jié)點和第四存儲節(jié)點,第三存儲節(jié)點保存有第一存儲節(jié)點的備份數(shù)據(jù),第四存儲節(jié)點保存有第二存儲節(jié)點的備份數(shù)據(jù),方法包括:第一存儲控制器接收第一遷移指令,第一遷移指令中攜帶第一數(shù)據(jù)在第一存儲節(jié)點的第一地址的指示信息和待將第一數(shù)據(jù)遷移至第二存儲節(jié)點的第二地址的指示信息;第一存儲控制器根據(jù)第一遷移指令,將第一存儲節(jié)點中第一地址上存儲的第一數(shù)據(jù)遷移至第二存儲節(jié)點的第二地址;第一存儲控制器向第二存儲控制器發(fā)送第二遷移指令,第二遷移指令用于指示第二存儲控制器將第一數(shù)據(jù)從第三存儲節(jié)點遷移至第四存儲節(jié)點,第二遷移指令中攜帶第一數(shù)據(jù)在第三存儲節(jié)點中的第三地址的指示信息和待將第一數(shù)據(jù)遷移至第四存儲節(jié)點的第四地址的指示信息。

    因為第二存儲節(jié)點內(nèi)部有數(shù)據(jù)的更新,需要對第四存儲節(jié)點進(jìn)行同樣的數(shù)據(jù)更新,因為第三存儲節(jié)點中保存有第一存儲節(jié)點的備份數(shù)據(jù),可以根據(jù)該數(shù)據(jù)遷移指令對備存儲庫進(jìn)行數(shù)據(jù)同步的更新,指示第二存儲控制器將第一數(shù)據(jù)從第三存儲節(jié)點遷移至第四存儲節(jié)點,從而避免了第二存儲節(jié)點向第四存儲節(jié)點的大量數(shù)據(jù)傳送,降低了網(wǎng)絡(luò)消耗。

    結(jié)合第二方面,在第二方面第一種可能的實現(xiàn)方式中,第一存儲控制器將第一存儲節(jié)點中第一地址上存儲的第一數(shù)據(jù)遷移至第二存儲節(jié)點的第二地址之后,進(jìn)一步包括:第一存儲控制器確定第二存儲節(jié)點用于保存第一數(shù)據(jù)的第二地址上數(shù)據(jù)發(fā)生變化的第五地址;第一存儲控制器向第二存儲控制器發(fā)送數(shù)據(jù)更新指令,數(shù)據(jù)更新指令包含第六地址的指示信息和第五地址上存儲的第二數(shù)據(jù),數(shù)據(jù)更新指令用于指示第二存儲控制器將第二數(shù)據(jù)寫入第四存儲節(jié)點的第六地址。

    系統(tǒng)采用異步復(fù)制方法時,第二存儲控制器將第一數(shù)據(jù)從第三存儲節(jié)點遷移至第四存儲節(jié)點之前,可能客戶端又對第二存儲節(jié)點中的第一數(shù)據(jù)進(jìn)行了更改操作,第二存儲控制器進(jìn)行數(shù)據(jù)遷移時,第二存儲節(jié)點中的第一數(shù)據(jù)已經(jīng)發(fā)生了變化,從而造成了第二存儲節(jié)點與第四存儲節(jié)點之間的數(shù)據(jù)不一致,通過跟蹤第一數(shù)據(jù)在第二存儲節(jié)點中第一數(shù)據(jù)的變化,并將 該變化更新至第四存儲節(jié)點,從而使第四存儲節(jié)點與第二存儲節(jié)點中的數(shù)據(jù)保持一致。

    結(jié)合第二方面或第二方面以上任一種可能的實現(xiàn)方式,在第二方面第二種可能的實現(xiàn)方式中,第一存儲控制器確定第二存儲節(jié)點用于保存第一數(shù)據(jù)的第二地址上數(shù)據(jù)發(fā)生變化的第五地址,包括:第一存儲控制器使用第一標(biāo)記標(biāo)識第二地址,并在第一標(biāo)記標(biāo)識的地址上的數(shù)據(jù)發(fā)生變化時,使用第二標(biāo)記標(biāo)識數(shù)據(jù)發(fā)生變化的地址;第一存儲控制器根據(jù)第二標(biāo)記確定第五地址。

    通過使用第一標(biāo)記標(biāo)識第一數(shù)據(jù),并使用第二標(biāo)記標(biāo)識第一數(shù)據(jù)的發(fā)生變化的位置信息,從而使第一存儲控制器快速的確定數(shù)據(jù)發(fā)生變化的位置信息,并進(jìn)行第二存儲節(jié)點和第四存儲節(jié)點的同步更新。

    結(jié)合第二方面或第二方面以上任一種可能的實現(xiàn)方式,在第二方面第二種可能的實現(xiàn)方式中,第一存儲控制器向第二存儲控制器發(fā)送第二遷移指令之后,還包括:第一存儲控制器接收來自第二存儲控制器的反饋消息,反饋消息用于指示完成第一數(shù)據(jù)從第三存儲節(jié)點至第四存儲節(jié)點的遷移操作。

    第三方面,本申請?zhí)峁┝艘环N計算機可讀介質(zhì),包括計算機執(zhí)行指令,當(dāng)計算機的處理器執(zhí)行該計算機執(zhí)行指令時,該計算機執(zhí)行第二方面或第二方面任一種可能的實現(xiàn)方式中的方法。

    第四方面,本申請?zhí)峁┝艘环N計算設(shè)備,包括:處理器、存儲器、總線和通信接口;該存儲器用于存儲執(zhí)行指令,該處理器與該存儲器通過該總線連接,當(dāng)該計算設(shè)備運行時,該處理器執(zhí)行該存儲器存儲的該執(zhí)行指令,以使該計算設(shè)備執(zhí)行第二方面或第二方面任一種可能的實現(xiàn)方式中的方法。

    第五方面,本申請?zhí)峁┝艘环N數(shù)據(jù)備份的裝置,數(shù)據(jù)存儲系統(tǒng)包含主存儲庫和備存儲庫,其中,裝置用于管理主存儲庫,存儲控制器用于管理備存儲庫,主存儲庫包含第一存儲節(jié)點和第二存儲節(jié)點,備存儲庫包含第三存儲節(jié)點和第四存儲節(jié)點,第三存儲節(jié)點保存有第一存儲節(jié)點的備份數(shù)據(jù),第四存儲節(jié)點保存有第二存儲節(jié)點的備份數(shù)據(jù),裝置包括:接收單元,用于接收第一遷移指令,第一遷移指令中攜帶第一數(shù)據(jù)在第一存儲節(jié)點的第一地址的指示信息和待將第一數(shù)據(jù)遷移至第二存儲節(jié)點的第二地址的指示信息;遷移單元,用于根據(jù)第一遷移指令,將第一存儲節(jié)點中第一地址上存儲的第一數(shù)據(jù)遷移至第二存儲節(jié)點的第二地址;發(fā)送單元,用于向存儲控制器發(fā)送第二遷移指令,第二遷移指令用于指示存儲控制器將第一數(shù)據(jù)從第三存儲節(jié)點遷移至第四存儲節(jié)點,第二遷移指令中攜帶第一數(shù)據(jù)在第三存儲節(jié)點中的第三地址的指示信息和待將第一數(shù)據(jù)遷移至第四存儲節(jié)點的第四地址的指示信息。

    因為第二存儲節(jié)點內(nèi)部有數(shù)據(jù)的更新,需要對第四存儲節(jié)點進(jìn)行同樣的數(shù)據(jù)更新,因為第三存儲節(jié)點中保存有第一存儲節(jié)點的備份數(shù)據(jù),可以根據(jù)該數(shù)據(jù)遷移指令對備存儲庫進(jìn)行數(shù)據(jù)同步的更新,指示第二存儲控制器將第一數(shù)據(jù)從第三存儲節(jié)點遷移至第四存儲節(jié)點,從而避免了第二存儲節(jié)點向第四存儲節(jié)點的大量數(shù)據(jù)傳送,降低了網(wǎng)絡(luò)消耗。

    結(jié)合第五方面,在第五方面第一種可能的實現(xiàn)方式中,裝置還包括確定單元,遷移單元將第一存儲節(jié)點中第一地址上存儲的第一數(shù)據(jù)遷移至第二存儲節(jié)點的第二地址之后,確定單元用于確定第二存儲節(jié)點用于保存第一數(shù)據(jù)的第二地址上數(shù)據(jù)發(fā)生變化的第五地址;發(fā)送單元還用于向存儲控制器發(fā)送數(shù)據(jù)更新指令,數(shù)據(jù)更新指令包含第六地址的指示信息和第五地址上存儲的第二數(shù)據(jù),數(shù)據(jù)更新指令用于指示存儲控制器將第二數(shù)據(jù)寫入第四存儲節(jié)點的第六地址。

    當(dāng)系統(tǒng)采用異步復(fù)制方法時,第二存儲控制器將第一數(shù)據(jù)從第三存儲節(jié)點遷移至第四存儲節(jié)點之前,可能客戶端又對第二存儲節(jié)點中的第一數(shù)據(jù)進(jìn)行了更改操作,第二存儲控制器進(jìn)行數(shù)據(jù)遷移時,第二存儲節(jié)點中的第一數(shù)據(jù)已經(jīng)發(fā)生了變化,從而造成了第二存儲節(jié)點與第四存儲節(jié)點之間的數(shù)據(jù)不一致,通過跟蹤第一數(shù)據(jù)在第二存儲節(jié)點中第一數(shù)據(jù)的變化,并將該變化更新至第四存儲節(jié)點,從而使第四存儲節(jié)點與第二存儲節(jié)點中的數(shù)據(jù)保持一致。

    結(jié)合第五方面或第五方面以上任一種可能的實現(xiàn)方式,在第五方面第二種可能的實現(xiàn)方式中,確定單元用于確定第二存儲節(jié)點用于保存第一數(shù)據(jù)的第二地址上數(shù)據(jù)發(fā)生變化的第五地址,包括:確定單元用于使用第一標(biāo)記標(biāo)識第二地址,并在第一標(biāo)記標(biāo)識的地址上的數(shù)據(jù)發(fā)生變化時,使用第二標(biāo)記標(biāo)識數(shù)據(jù)發(fā)生變化的地址;確定單元用于根據(jù)第二標(biāo)記確定第五地址。

    通過使用第一標(biāo)記標(biāo)識第一數(shù)據(jù),并使用第二標(biāo)記標(biāo)識第一數(shù)據(jù)的發(fā)生變化的位置信息,從而使第一存儲控制器快速的確定數(shù)據(jù)發(fā)生變化的位置信息,并進(jìn)行第二存儲節(jié)點和第四存儲節(jié)點的同步更新。

    結(jié)合第五方面或第五方面以上任一種可能的實現(xiàn)方式,在第五方面第三種可能的實現(xiàn)方式中,發(fā)送單元向存儲控制器發(fā)送第二遷移指令之后,接收單元還用于接收來自存儲控制器的反饋消息,反饋消息用于指示完成第一數(shù)據(jù)從第三存儲節(jié)點至第四存儲節(jié)點的遷移操作。

    根據(jù)本發(fā)明實施例公開的技術(shù)方案,當(dāng)主存儲庫內(nèi)部的第一存儲節(jié)點和第二存儲節(jié)點之間發(fā)生數(shù)據(jù)遷移操作時,只需要將數(shù)據(jù)遷移指令從主存儲庫發(fā)送至備存儲庫,避免了第二存儲節(jié)點和第四存儲節(jié)點之間大量數(shù)據(jù)的傳送操作,從而節(jié)省了網(wǎng)絡(luò)傳輸?shù)南模⑶夜?jié)省了數(shù)據(jù)更新的時間。

    附圖說明

    為了更清楚地說明本發(fā)明實施例的技術(shù)方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。

    圖1為本發(fā)明一個數(shù)據(jù)備份的系統(tǒng)邏輯結(jié)構(gòu)示意圖;

    圖2為依據(jù)本發(fā)明一實施例的計算設(shè)備硬件結(jié)構(gòu)示意圖;

    圖3為依據(jù)本發(fā)明一實施例的數(shù)據(jù)備份方法的信令圖;

    圖4為依據(jù)本發(fā)明一實施例的數(shù)據(jù)備份裝置的邏輯結(jié)構(gòu)示意圖。

    具體實施方式

    下面將結(jié)合附圖,對本發(fā)明實施例進(jìn)行描述。

    根據(jù)本發(fā)明實施例,為了增加用戶數(shù)據(jù)的容災(zāi)性能,一個客戶端配置有一個主存儲庫和一個備存儲庫,其中備存儲庫是主存儲庫的容災(zāi)備份,備存儲庫中保存有主存儲庫的備份數(shù)據(jù),當(dāng)主存儲庫的數(shù)據(jù)發(fā)生錯誤時,可以使用備存儲庫中的數(shù)據(jù)對客戶端的數(shù)據(jù)進(jìn)行恢復(fù),從而增加了用戶數(shù)據(jù)的容災(zāi)性能。為了保證備存儲庫的數(shù)據(jù)是有效的,當(dāng)主存儲庫的數(shù)據(jù)發(fā)生變化時,需要對備存儲庫做出與主存儲庫同樣的更新。

    圖1為依據(jù)本發(fā)明的一個數(shù)據(jù)備份系統(tǒng)100的系統(tǒng)邏輯結(jié)構(gòu)示意圖,如圖1所示,系統(tǒng)100包含客戶端102、主存儲庫104和備存儲庫106,其中,主存儲庫104中包含第一存儲控制器108、第一存儲節(jié)點112和第二存儲節(jié)點114,第一存儲控制器104用于管理主存儲庫104,備存儲庫106中包含第二存儲控制器110、第三存儲節(jié)點116和第四存儲節(jié)點118,第二存儲控制器106用于管理備存儲庫106。

    第三存儲節(jié)點116中保存有第一存儲節(jié)點112的備份數(shù)據(jù),即第三存儲節(jié)點116是第一存儲節(jié)點112的備份存儲節(jié)點;第四存儲節(jié)點118中保存有第二存儲節(jié)點114的備份數(shù)據(jù),即第四存儲節(jié)點118是第二存儲節(jié)點114的備份存儲節(jié)點。

    其中,主存儲庫104或備存儲庫106可以分別是一個存儲陣列或網(wǎng)絡(luò)接入存儲(Network Attached Storage,NAS)或存儲區(qū)域網(wǎng)絡(luò)(Storage Area Network,SAN)等網(wǎng)絡(luò)存儲架構(gòu)。每一個存儲節(jié)點可以為一個邏輯單元號(Logical Unit Number,LUN)或一個文件系統(tǒng)。應(yīng)理解,本發(fā)明實施例并不對存儲庫和存儲節(jié)點的表現(xiàn)形式進(jìn)行限定。

    其中,客戶端102和第一存儲控制器108,第一存儲控制器108和第二存儲控制器110之間可以通過網(wǎng)絡(luò)連接,其中網(wǎng)絡(luò)可以為因特網(wǎng),內(nèi)聯(lián)網(wǎng),局域網(wǎng)(Local Area Networks, 簡稱LANs),廣域網(wǎng)絡(luò)(Wireless Local Area Networks,簡稱WLANs),存儲區(qū)域網(wǎng)絡(luò)(Storage Area Networks,簡稱SANs)等,或者以上網(wǎng)絡(luò)的組合。

    圖1所示的第一存儲控制器108和第二存儲控制器110可以由圖2所示的計算設(shè)備200來實現(xiàn)。

    圖2為計算設(shè)備200的簡化的邏輯結(jié)構(gòu)示意圖,如圖2所示,計算設(shè)備200包括處理器202、內(nèi)存單元204、輸入/輸出接口206、通信接口208、總線210和存儲設(shè)備212。其中,處理器202、內(nèi)存單元204、輸入/輸出接口206、通信接口208和存儲設(shè)備212,通過總線210實現(xiàn)彼此之間的通信連接。

    處理器202是計算設(shè)備200的控制中心,用于執(zhí)行相關(guān)程序,以實現(xiàn)本發(fā)明實施例所提供的技術(shù)方案。可選的,處理器202包含一個或多個中央處理器單元(Central Processing Unit,CPU),例如,圖2所示的中央處理器單元1和中央處理器單元2??蛇x的,計算設(shè)備200還可以包含多個處理器202,每一個處理器202可以是一個單核處理器(包含一個CPU)或多核處理器(包含多個CPU)。除非另有說明,在本發(fā)明中,一個用于執(zhí)行特定功能的組件,例如,處理器202或內(nèi)存單元204,可以通過配置一個通用的組件來執(zhí)行相應(yīng)功能來實現(xiàn),也可以通過一個專門執(zhí)行特定功能的專用組件來實現(xiàn),本申請并不對此進(jìn)行限定。處理器202可以采用通用的中央處理器,微處理器,應(yīng)用專用集成電路(Application Specific Integrated Circuit,ASIC),或者一個或多個集成電路,用于執(zhí)行相關(guān)程序,以實現(xiàn)本申請所提供的技術(shù)方案。

    處理器202可以通過總線210與一個或多個存儲方案相連接。存儲方案可以包含內(nèi)存單元204和存儲設(shè)備212。其中,存儲設(shè)備212可以為只讀存儲器(Read Only Memory,ROM),靜態(tài)存儲設(shè)備,動態(tài)存儲設(shè)備或者隨機存取存儲器(Random Access Memory,RAM)。內(nèi)存單元204可以為隨機存取存儲器。內(nèi)存單元204可以與處理器202集成在一起或集成在處理器202的內(nèi)部,也可以是獨立于處理器202的一個或多個存儲單元。

    供處理器202或處理器202內(nèi)部的CPU執(zhí)行的程序代碼可以存儲在存儲設(shè)備212或內(nèi)存單元204中??蛇x的,存儲在存儲設(shè)備212內(nèi)部的程序代碼(例如,操作系統(tǒng)、應(yīng)用軟件、備份模塊、通信模塊或存儲控制模塊等)被拷貝到內(nèi)存單元204中,以供處理器202執(zhí)行。

    存儲設(shè)備212可以為物理硬盤或其分區(qū)(包括小型計算設(shè)備系統(tǒng)接口存儲或全局網(wǎng)絡(luò)塊設(shè)備卷)、網(wǎng)絡(luò)存儲協(xié)議(包括網(wǎng)絡(luò)文件系統(tǒng)NFS等網(wǎng)絡(luò)或機群文件系統(tǒng))、基于文件的虛擬存儲設(shè)備(虛擬磁盤鏡像)、基于邏輯卷的存儲設(shè)備。可以包含高速隨機存儲器(RAM),也可以包含非易失性存儲器,例如一個或者多個磁盤存儲器,閃速存儲器,或者其他非易失性存 儲器。在一些實施例中,存儲設(shè)備還可能進(jìn)一步包含與所述一個和多個處理器202分離的遠(yuǎn)程存儲器,例如通過通信接口208與通信網(wǎng)絡(luò)進(jìn)行訪問的網(wǎng)盤,該通信網(wǎng)絡(luò)可以為因特網(wǎng),內(nèi)聯(lián)網(wǎng),局域網(wǎng)(LANs),廣域網(wǎng)絡(luò)(WLANs),存儲區(qū)域網(wǎng)絡(luò)(SANs)等,或者以上網(wǎng)絡(luò)的組合。

    操作系統(tǒng)(例如Darwin、RTXC、LINUX、UNIX、OS X、WINDOWS或是諸如Vxworks之類的嵌入式操作系統(tǒng))包括用于控制和管理常規(guī)系統(tǒng)任務(wù)(例如內(nèi)存管理、存儲設(shè)備控制、電源管理等等)以及有助于各種軟硬件組件之間通信的各種軟件組件和/或驅(qū)動器。

    輸入/輸出接口206用于接收輸入的數(shù)據(jù)和信息,輸出操作結(jié)果等數(shù)據(jù)。

    通信接口208使用例如但不限于收發(fā)器一類的收發(fā)裝置,來實現(xiàn)計算設(shè)備200與其他設(shè)備或通信網(wǎng)絡(luò)之間的通信。

    總線210可包括一通路,在計算設(shè)備200各個部件(例如處理器202、內(nèi)存單元204、輸入/輸出接口206、通信接口208和存儲設(shè)備212)之間傳送信息??蛇x的,總線210可以使用有線的連接方式或采用無線的通訊方式,本申請并不對此進(jìn)行限定。

    應(yīng)注意,盡管圖2所示的計算設(shè)備200僅僅示出了處理器202、內(nèi)存單元204、輸入/輸出接口206、通信接口208、總線210以及存儲設(shè)備212,但是在具體實現(xiàn)過程中,本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)明白,計算設(shè)備200還包含實現(xiàn)正常運行所必須的其他器件。

    計算設(shè)備200可以為一般的通用計算設(shè)備或?qū)iT用途的計算設(shè)備,包括但不限于便攜計算設(shè)備,個人臺式計算設(shè)備,網(wǎng)絡(luò)服務(wù)器,平板電腦,手機,個人數(shù)字助理(PDA)等任何電子設(shè)備,或者以上兩種或者多種的組合設(shè)備,本申請并不對計算設(shè)備200的具體實現(xiàn)形式進(jìn)行任何限定。

    此外,圖2的計算設(shè)備200僅僅是一個計算設(shè)備200的例子,計算設(shè)備200可能包含相比于圖2展示的更多或者更少的組件,或者有不同的組件配置方式。根據(jù)具體需要,本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)明白,計算設(shè)備200還可包含實現(xiàn)其他附加功能的硬件器件。本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)明白,計算設(shè)備200也可僅僅包含實現(xiàn)本發(fā)明實施例所必須的器件,而不必包含圖2中所示的全部器件。同時,圖2中展示的各種組件可以用硬件、軟件或者硬件與軟件的結(jié)合方式實施。

    圖2所示的硬件結(jié)構(gòu)以及上述描述適用于本發(fā)明實施例所提供的各種計算設(shè)備,適用于執(zhí)行本發(fā)明實施例所提供的各種數(shù)據(jù)備份方法。

    如圖2所示,計算設(shè)備200的內(nèi)存單元204中包含備份模塊,處理器202執(zhí)行該備份模塊的程序代碼,實現(xiàn)數(shù)據(jù)的備份操作。

    備份模塊可以由一個或者多個操作指令構(gòu)成,以使計算設(shè)備200根據(jù)以上描述執(zhí)行一個或多個方法步驟。具體的方法步驟在本申請的以下部分進(jìn)行詳細(xì)描述。

    圖3為依據(jù)本發(fā)明一實施例的數(shù)據(jù)備份方法的信令圖,數(shù)據(jù)備份系統(tǒng)100包含主存儲庫104和備存儲庫106,主存儲庫104用于保存客戶端102的數(shù)據(jù),備存儲庫106是主存儲庫104的備份存儲庫,用于保存主存儲庫104的備份數(shù)據(jù),其中,第一存儲控制器108用于管理該主存儲庫104,第二存儲控制器110用于管理該備存儲庫106,主存儲庫104包含第一存儲節(jié)點112和第二存儲節(jié)點114,備存儲庫106包含第三存儲節(jié)點116和第四存儲節(jié)點118,第三存儲節(jié)點116是第一存儲節(jié)點112的備份節(jié)點,保存有第一存儲節(jié)點112的備份數(shù)據(jù),第四存儲節(jié)點118是第二存儲節(jié)點114的備份節(jié)點,保存有第二存儲節(jié)點114的備份數(shù)據(jù),當(dāng)主存儲庫104內(nèi)部發(fā)生數(shù)據(jù)遷移操作時,本發(fā)明實施例用于實現(xiàn)備存儲庫106內(nèi)部同樣的數(shù)據(jù)更新,如圖3所示,該數(shù)據(jù)備份方法包括:

    302:主存儲庫104接收第一遷移指令。

    更具體的,主存儲庫104的第一存儲控制器108接收到來自客戶端102的第一遷移指令。其中,客戶端102可以是任意形態(tài)的計算設(shè)備,主存儲庫104保存有該客戶端102的數(shù)據(jù),例如,客戶端102可以為一個數(shù)據(jù)中心的云管理平臺,當(dāng)發(fā)生虛擬機遷移等操作時,客戶端102要進(jìn)行數(shù)據(jù)卷的遷移,即將數(shù)據(jù)從一個存儲節(jié)點遷移至另外一個存儲節(jié)點,則客戶端102會向主存儲庫104發(fā)送第一遷移指令。

    該數(shù)據(jù)遷移指令用于指示主存儲庫104(第一存儲控制器108)將第一存儲節(jié)點112中的第一數(shù)據(jù)遷移至第二存儲節(jié)點114,第一遷移指令中攜帶第一數(shù)據(jù)在第一存儲節(jié)點110的第一地址的指示信息和待將該第一數(shù)據(jù)遷移至所述第二存儲節(jié)點的第二地址的指示信息。具體實現(xiàn)過程中,第一數(shù)據(jù)在第一存儲節(jié)點112的第一地址的指示信息可以第一數(shù)據(jù)在第一存儲節(jié)點112的起始地址和地址長度,第一數(shù)據(jù)遷移至第二存儲節(jié)點114的第二地址的指示信息可以為第一數(shù)據(jù)遷移至第二存儲節(jié)點114的起始地址。

    在具體實現(xiàn)過程中,第一數(shù)據(jù)在第一存儲節(jié)點112的第一地址的指示信息可以為該第一數(shù)據(jù)的起始地址在第一存儲節(jié)點112中相對于段首地址的偏移量,第一數(shù)據(jù)遷移至第二存儲節(jié)點114的第二地址的指示信息也可以為第一數(shù)據(jù)遷移至第二存儲節(jié)點114的起始地址相對于段首地址的偏移量。

    具體的,第一遷移指令中還可以攜帶第一存儲節(jié)點112的標(biāo)識信息和第二存儲節(jié)點114的標(biāo)識信息。

    應(yīng)理解,該第一地址的指示信息和第一地址的指示信息分別用于指示第一數(shù)據(jù)在第一存 儲節(jié)點112的原始位置和遷移至第二存儲節(jié)點114的目的位置,本發(fā)明實施例并不對指示信息的具體實現(xiàn)方式進(jìn)行限定。

    304:主存儲庫104根據(jù)該第一遷移指令將第一數(shù)據(jù)從第一存儲節(jié)點112遷移至第二存儲節(jié)點114。

    更具體的,主存儲庫104的第一存儲控制器108將第一存儲節(jié)點112中的第一地址上存儲的第一數(shù)據(jù)遷移至第二存儲節(jié)點的第二地址上。

    306:主存儲庫104向備存儲庫106發(fā)送第二遷移指令。

    更具體的,主存儲庫104的第一存儲控制器108向備存儲庫106的第二備份控制器110發(fā)送該第二遷移指令。第二遷移指令用于指示第二存儲控制110器將第一數(shù)據(jù)從第三存儲節(jié)點116遷移至第四存儲節(jié)點118,第二遷移指令中攜帶第一數(shù)據(jù)在第三存儲節(jié)點116中的第三地址的指示信息和待將第一數(shù)據(jù)遷移至第四存儲節(jié)點118的第四地址的指示信息。

    備存儲庫106為主存儲庫104的備份存儲庫,第三存儲節(jié)點116為第一存儲節(jié)點112的備份節(jié)點,第四存儲節(jié)點118為第一存儲節(jié)點114的備份節(jié)點。第二存儲節(jié)點112內(nèi)部有數(shù)據(jù)的更新時,需要對第四存儲節(jié)點118進(jìn)行同樣的數(shù)據(jù)更新,因為第三存儲節(jié)點116中保存有第一存儲節(jié)點112的備份數(shù)據(jù),為了避免第二存儲節(jié)點114向第四存儲節(jié)點118的大量數(shù)據(jù)傳送,可以根據(jù)該第二遷移指令對備存儲庫106進(jìn)行數(shù)據(jù)同步的更新,指示第二存儲控制器110將第一數(shù)據(jù)從第三存儲節(jié)點116遷移至第四存儲節(jié)點118。

    308:備存儲庫106根據(jù)該第二遷移指令將第一數(shù)據(jù)從第三存儲節(jié)點116遷移至第四存儲節(jié)點118。

    更具體的,第二存儲控制器110接收來自第一存儲控制器108的第二遷移指令后,根據(jù)該第二遷移指令,將第三存儲節(jié)點116中第三地址上存儲的第一數(shù)據(jù)遷移至第四存儲節(jié)點118的第四地址。

    在具體實現(xiàn)過程中,因為第三存儲節(jié)點116為第一存儲節(jié)點112的備份節(jié)點,二者的存儲地址存在映射關(guān)系,可以使用第一地址的指示信息充當(dāng)?shù)谌刂返闹甘拘畔?,第二存儲控制?10維護有第一存儲節(jié)點112和第三存儲節(jié)點116的地址映射關(guān)系。第二存儲控制器110可以使用第一地址的指示信息,確定第一數(shù)據(jù)在第三存儲節(jié)點116中的第三地址,從而從第三存儲節(jié)點116中取出第一數(shù)據(jù)。

    同理,第四存儲節(jié)點118為第二存儲節(jié)點114的備份節(jié)點,二者的存儲地址存在映射關(guān)系,可以使用第二地址的指示信息充當(dāng)?shù)谒牡刂返闹甘拘畔?,第二存儲控制?10維護有第二存儲節(jié)點114和第四存儲節(jié)點118的地址映射關(guān)系。第二存儲控制器110可以使用第二地 址的指示信息,確定第一數(shù)據(jù)遷移至第四存儲節(jié)點118中的第四地址,從而將第一數(shù)據(jù)從第三存儲節(jié)點116中遷移至第四存儲節(jié)點118。

    在另外一種可能的實現(xiàn)方式中,第一存儲節(jié)控制器108維護有第一存儲節(jié)點112和第三存儲節(jié)點116的地址映射關(guān)系,第一存儲控制器108可以根據(jù)第一地址的指示信息確定第三地址,并在第二遷移指令中攜帶該第三地址的指示信息,第三地址的指示信息可以為第一數(shù)據(jù)在第三存儲節(jié)點116的起始地址和地址長度,更具體的,可以為第一數(shù)據(jù)在第三存儲節(jié)點116的起始地址相對于段首地址的偏移量和地址長度。

    同理,第一存儲節(jié)控制器108可以維護有第二存儲節(jié)點114和第四存儲節(jié)點118的地址映射關(guān)系,第一存儲控制器108可以根據(jù)第二地址的指示信息確定第四地址,并在第二遷移指令中攜帶該第四地址的指示信息,第四地址的指示信息可以為將第一數(shù)據(jù)遷移至第四存儲節(jié)點118的起始地址,更具體的,可以為將第一數(shù)據(jù)遷移至第四存儲節(jié)點118的起始地址相對于段首地址的偏移量。

    310:備存儲庫106向主存儲庫104發(fā)送反饋消息。

    更具體的,備存儲庫106的第二存儲控制器110向主存儲庫104的第一存儲控制器108發(fā)送反饋消息,反饋消息用于指示完成了第一數(shù)據(jù)從第三存儲節(jié)點116向第四存儲節(jié)點118中的遷移。

    如果數(shù)據(jù)備份系統(tǒng)采用同步復(fù)制的方法,則主存儲庫104在步驟304之后,并不會立即向客戶端102發(fā)送指示遷移完成的回執(zhí)消息,而是在等待步驟306-310執(zhí)行完畢后,即主存儲庫104接收到備存儲庫106發(fā)送的反饋消息后,才向客戶端102發(fā)送該回執(zhí)消息,以指示完成了第一數(shù)據(jù)的遷移操作。

    使用同步復(fù)制的方法,當(dāng)主存儲庫104的數(shù)據(jù)產(chǎn)生變化時,主存儲庫104在確保備存儲庫106完成與主存儲庫104的數(shù)據(jù)同步之前,是不會進(jìn)行后續(xù)數(shù)據(jù)處理的,從而保證備存儲庫106與主存儲庫104的嚴(yán)格的數(shù)據(jù)一致性。但是采用同步復(fù)制的方法,在進(jìn)行備存儲庫106與主存儲庫104之間的數(shù)據(jù)同步操作的時間區(qū)間內(nèi),主存儲庫104的數(shù)據(jù)是不可用的,從而造成客戶端102對主存儲庫104內(nèi)后續(xù)數(shù)據(jù)操作的延時。

    如果數(shù)據(jù)備份系統(tǒng)采用異步復(fù)制的方法,主存儲庫104在根據(jù)數(shù)據(jù)遷移指令,將第一數(shù)據(jù)從第一存儲節(jié)點112遷移至第二存儲節(jié)點114后,即執(zhí)行完步驟304之后,不等待備存儲庫104完成同樣的數(shù)據(jù)遷移,就向客戶端102發(fā)送回執(zhí)消息,用于指示完成了第一數(shù)據(jù)的遷移,后續(xù)再進(jìn)行步驟306-310的數(shù)據(jù)同步操作。

    使用異步復(fù)制的方法,由于主存儲庫104不等待備存儲庫106的數(shù)據(jù)同步完成,就向客 戶端102發(fā)送回執(zhí)消息,從而可以減少同步復(fù)制方法中客戶端102對數(shù)據(jù)同步的等待時間,使主存儲庫104中的數(shù)據(jù)快速變?yōu)閷?02可用的狀態(tài)。但是采用異步復(fù)制方法,在執(zhí)行步驟306和308的時間區(qū)間內(nèi),可能客戶端102又對第二存儲節(jié)點114中的第一數(shù)據(jù)進(jìn)行了更改操作,而步驟310中的同步更新操作,仍然是將第一數(shù)據(jù)從第三存儲節(jié)點116遷移至第四存儲節(jié)點118,而此時第二存儲節(jié)點114中的第一數(shù)據(jù)已經(jīng)發(fā)生了變化,從而造成了第二存儲節(jié)點114與第四存儲節(jié)點118之間的數(shù)據(jù)不一致。

    為了解決這一問題,在步驟304后,該第一存儲控制器108還用于確定該第二存儲節(jié)點114用于保存該第一數(shù)據(jù)的存儲區(qū)域中數(shù)據(jù)發(fā)生變化的地址信息;并向該第二存儲控制器110發(fā)送數(shù)據(jù)更新指令,該數(shù)據(jù)更新指令包含該數(shù)據(jù)發(fā)生變化的地址信息和該地址信息上數(shù)據(jù)發(fā)生變化后的第二數(shù)據(jù),該數(shù)據(jù)更新指令用于指示該第二存儲控制器110將該第二數(shù)據(jù)寫入該第四存儲節(jié)點。即第一存儲控制器108還用于確定第二存儲節(jié)點114用于保存第一數(shù)據(jù)的第二地址上數(shù)據(jù)發(fā)生變化的第五地址,并向第二存儲控制器110發(fā)送數(shù)據(jù)更新指令,數(shù)據(jù)更新指令包含第六地址的指示信息和第五地址上存儲的第二數(shù)據(jù),該數(shù)據(jù)更新指令用于指示第二存儲控制器110將第二數(shù)據(jù)寫入第四存儲節(jié)點118的第六地址。第二存儲控制器根據(jù)該數(shù)據(jù)更新指令,將第二數(shù)據(jù)寫入第四存儲節(jié)點的第六地址。

    具體的,該第一存儲控制器108在執(zhí)行步驟304后,使用第一標(biāo)記標(biāo)識該第二存儲節(jié)點用于保存該第一數(shù)據(jù)的存儲區(qū)域的地址,例如,使用“0”標(biāo)記保存第一數(shù)據(jù)的存儲區(qū)域,并在該第一標(biāo)記標(biāo)識的地址上的數(shù)據(jù)發(fā)生變化時,使用第二標(biāo)記標(biāo)識數(shù)據(jù)發(fā)生變化的地址,例如,使用“1”標(biāo)記數(shù)據(jù)發(fā)生變化的地址。即第一存儲控制器108在執(zhí)行步驟304后,使用第一標(biāo)記標(biāo)識第二地址,并在第一標(biāo)記標(biāo)識的地址上的數(shù)據(jù)發(fā)生變化時,使用第二標(biāo)記標(biāo)識數(shù)據(jù)發(fā)生變化的地址,第一存儲控制器根據(jù)第二標(biāo)記確定該第五地址。

    第二存儲控制器110可以根據(jù)接收到第二遷移指令和數(shù)據(jù)更新指令的先后順序,分別根據(jù)該第二遷移指令將第一數(shù)據(jù)從第三存儲節(jié)點116遷移至第四存儲節(jié)點118,并根據(jù)該數(shù)據(jù)更新請求,將第二數(shù)據(jù)更新至第四存儲節(jié)點。

    第二存儲節(jié)點110在接收到該第二遷移指令和該數(shù)據(jù)更新指令之后,還可以將該第二遷移指令和數(shù)據(jù)更新指令進(jìn)行合并,從而將第二數(shù)據(jù)寫入第四存儲節(jié)點118,并將第一數(shù)據(jù)中與第二數(shù)據(jù)中地址不重復(fù)的數(shù)據(jù)遷移至第四存儲節(jié)點118。

    具體實現(xiàn)過程中,第一存儲控制器108可以在接收到來自第二存儲控制器110的反饋消息后,向第二存儲控制器110發(fā)送該數(shù)據(jù)更新指令,從而實現(xiàn)第二存儲節(jié)點114與第四存儲節(jié)點118之間的數(shù)據(jù)同步。

    根據(jù)本發(fā)明實施例公開的技術(shù)方案,當(dāng)主存儲庫內(nèi)部的第一存儲節(jié)點和第二存儲節(jié)點之間發(fā)生數(shù)據(jù)遷移操作時,只需要將數(shù)據(jù)遷移指令從主存儲庫發(fā)送至備存儲庫,避免了第二存儲節(jié)點和第四存儲節(jié)點之間大量數(shù)據(jù)的傳送操作,從而節(jié)省了網(wǎng)絡(luò)傳輸?shù)南?,并且?jié)省了數(shù)據(jù)更新的時間。

    圖4為依據(jù)本發(fā)明一實施例的數(shù)據(jù)備份裝置400的邏輯結(jié)構(gòu)示意圖,數(shù)據(jù)備份系統(tǒng)包含主存儲庫和備存儲庫,主存儲庫用于保存客戶端的數(shù)據(jù),備存儲庫是主存儲庫的備份存儲庫,用于保存主存儲庫的備份數(shù)據(jù),其中,裝置400用于管理該主存儲庫,存儲控制器用于管理該備存儲庫,主存儲庫包含第一存儲節(jié)點和第二存儲節(jié)點,備存儲庫包含第三存儲節(jié)點和第四存儲節(jié)點,第三存儲節(jié)點是第一存儲節(jié)點的備份節(jié)點,保存有第一存儲節(jié)點的備份數(shù)據(jù),第四存儲節(jié)點是第二存儲節(jié)點的備份節(jié)點,保存有第二存儲節(jié)點的備份數(shù)據(jù),當(dāng)主存儲庫內(nèi)部發(fā)生數(shù)據(jù)遷移操作時,本發(fā)明實施例用于實現(xiàn)備存儲庫內(nèi)部同樣的數(shù)據(jù)更新,如圖4所示,裝置400包含接收單元402、遷移單元404和發(fā)送單元406,其中,

    接收單元402,用于接收第一遷移指令,該第一遷移指令中攜帶第一數(shù)據(jù)在該第一存儲節(jié)點的第一地址的指示信息和待將該第一數(shù)據(jù)遷移至該第二存儲節(jié)點的第二地址的指示信息。

    在具體實現(xiàn)過程中,接收單元402可以由圖2所示的處理器202,內(nèi)存單元204和通信接口208來實現(xiàn)。更具體的,可以由處理器202執(zhí)行內(nèi)存單元204中的通信模塊,以使通信接口208接收接收來自備份服務(wù)器的備份信息遷移消息。

    遷移單元404,用于根據(jù)該第一遷移指令,將該第一存儲節(jié)點中該第一地址上存儲的該第一數(shù)據(jù)遷移至該第二存儲節(jié)點的第二地址。

    在具體實現(xiàn)過程中,遷移單元404可以由圖2所示的處理器202和內(nèi)存單元204來實現(xiàn)。更具體的,可以由處理器202執(zhí)行內(nèi)存單元204中的存儲控制模塊,以實現(xiàn)第一數(shù)據(jù)從第一存儲節(jié)點到第二存儲節(jié)點的遷移操作。

    發(fā)送單元406,用于向該存儲控制器發(fā)送第二遷移指令,該第二遷移指令用于指示該存儲控制器將該第一數(shù)據(jù)從該第三存儲節(jié)點遷移至該第四存儲節(jié)點,該第二遷移指令中攜帶該第一數(shù)據(jù)在該第三存儲節(jié)點中的第三地址的指示信息和待將該第一數(shù)據(jù)遷移至該第四存儲節(jié)點的第四地址的指示信息。

    在具體實現(xiàn)過程中,發(fā)送單元406可以由圖2所示的處理器202,內(nèi)存單元204和通信接口208來實現(xiàn)。更具體的,可以由處理器202執(zhí)行內(nèi)存單元204中的通信模塊和備份模塊,以使通信接口208向該存儲控制器發(fā)送該數(shù)據(jù)遷移指令。

    在本發(fā)明實施例的一種實現(xiàn)方式中,備份系統(tǒng)使用異步復(fù)制的方法實現(xiàn)主存儲庫和備存 儲庫的數(shù)據(jù)復(fù)制,該遷移單元404將該第一存儲節(jié)點中該第一地址上存儲的該第一數(shù)據(jù)遷移至該第二存儲節(jié)點的第二地址之后,該確定單元用于確定該第二存儲節(jié)點用于保存該第一數(shù)據(jù)的第二地址上數(shù)據(jù)發(fā)生變化的第五地址;該發(fā)送單元406還用于向該存儲控制器發(fā)送數(shù)據(jù)更新指令,該數(shù)據(jù)更新指令包含第六地址的指示信息和該第五地址上存儲的第二數(shù)據(jù),該數(shù)據(jù)更新指令用于指示該存儲控制器將該第二數(shù)據(jù)寫入該第四存儲節(jié)點的第六地址。

    具體的,該確定單元用于確定該第二存儲節(jié)點用于保存該第一數(shù)據(jù)的第二地址上數(shù)據(jù)發(fā)生變化的第五地址,包括:該確定單元用于使用第一標(biāo)記標(biāo)識該第二地址,例如,可以使用“0”對第一數(shù)據(jù)在第二存儲節(jié)點中的第二地址進(jìn)行標(biāo)記,并在該第一標(biāo)記標(biāo)識的地址上的數(shù)據(jù)發(fā)生變化時,使用第二標(biāo)記標(biāo)識數(shù)據(jù)發(fā)生變化的地址,例如,可以使用“1”對數(shù)據(jù)發(fā)生變化的位置進(jìn)行標(biāo)識,該確定單元用于根據(jù)該第二標(biāo)記確定該第五地址。

    該發(fā)送單元406向該存儲控制器發(fā)送第二遷移指令之后,該接收單元402還用于接收來自該存儲控制器的反饋消息,該反饋消息用于指示完成該第一數(shù)據(jù)從該第三存儲節(jié)點至該第四存儲節(jié)點的遷移操作。

    本發(fā)明實施例是圖1中第一存儲控制器108的裝置實施例,圖1至圖3實施例部分的特征描述,適用于本發(fā)明實施例,在此不再贅述。

    在本申請所提供的幾個實施例中,應(yīng)該理解到,所揭露的系統(tǒng),設(shè)備和方法,可以通過其它的方式實現(xiàn)。例如,以上所描述的裝置實施例僅僅是示意性的,例如,所述模塊的劃分,僅僅為一種邏輯功能劃分,實現(xiàn)時可以有另外的劃分方式,例如多個模塊或組件可以結(jié)合或者可以集成到另一個系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點,所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,裝置或模塊的間接耦合或通信連接,可以是電性,機械或其它的形式。

    所述作為分離部件說明的模塊可以是或者也可以不是物理上分開的,作為模塊顯示的部件可以是或者也可以不是物理模塊,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡(luò)模塊上??梢愿鶕?jù)實際的需要選擇其中的部分或者全部模塊來實現(xiàn)本實施例方案的目的。

    另外,在本發(fā)明各個實施例中的各功能模塊可以集成在一個處理模塊中,也可以是各個模塊單獨物理存在,也可以兩個或兩個以上模塊集成在一個模塊中。上述集成的模塊既可以采用硬件的形式實現(xiàn),也可以采用硬件加軟件功能模塊的形式實現(xiàn)。

    上述以軟件功能模塊的形式實現(xiàn)的集成的模塊,可以存儲在一個計算機可讀取存儲介質(zhì)中。上述軟件功能模塊存儲在一個存儲介質(zhì)中,包括若干指令用以使得一臺計算機設(shè)備(可以是個人計算機,服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個實施例所述方法的部分步驟。 而前述的存儲介質(zhì)包括:移動硬盤、只讀存儲器(英文:Read-Only Memory,簡稱ROM)、隨機存取存儲器(英文:Random Access Memory,簡稱RAM)、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。

    最后應(yīng)說明的是:以上實施例僅用以說明本發(fā)明的技術(shù)方案,而非對其限制;盡管參照前述實施例對本發(fā)明進(jìn)行了詳細(xì)的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對前述各實施例所記載的技術(shù)方案進(jìn)行修改,或者對其中部分技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實施例技術(shù)方案的保護范圍。

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