專利名稱:基于寫時(shí)拷貝的數(shù)據(jù)存儲(chǔ)方法、系統(tǒng)及設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計(jì)算機(jī)技術(shù)領(lǐng)域,尤其涉及一種基于寫時(shí)拷貝的數(shù)據(jù)存儲(chǔ)方 法、系統(tǒng)及設(shè)備。
背景技術(shù):
伴隨著基于TCP (Transmission Control Protocol,傳輸控制協(xié)議)/IP (Internet Protocol,互4關(guān)網(wǎng)協(xié)i義)的iSCSI (Internet Small Computer Systems Interface,互聯(lián)網(wǎng)小型計(jì)算機(jī)系統(tǒng)接口 )協(xié)議的出現(xiàn)和發(fā)展,存儲(chǔ)設(shè)備已經(jīng)不 僅可以存儲(chǔ)與之直接相連的主機(jī)發(fā)來的寫請(qǐng)求數(shù)據(jù),也可以存儲(chǔ)外部設(shè)備通 過IP網(wǎng)絡(luò)發(fā)送的寫請(qǐng)求數(shù)據(jù),從而實(shí)現(xiàn)數(shù)據(jù)的異地在線備份??煺占夹g(shù)是一種有效的保證備份數(shù)據(jù)安全性的方法,快照技術(shù)的原理是 在存儲(chǔ)設(shè)備的存儲(chǔ)空間中虛擬出源數(shù)據(jù)區(qū)和快照空間,源數(shù)據(jù)區(qū)用于存儲(chǔ)來 自外部設(shè)備的寫請(qǐng)求數(shù)據(jù),當(dāng)快照條件被觸發(fā)時(shí),根據(jù)設(shè)定的規(guī)則創(chuàng)建源數(shù) 據(jù)區(qū)中存儲(chǔ)的數(shù)據(jù)在快照時(shí)間點(diǎn)的 一個(gè)瞬時(shí)映像,然后將該瞬時(shí)映像存儲(chǔ)在 快照空間中,當(dāng)源數(shù)據(jù)區(qū)中的數(shù)據(jù)由于軟故障而需要恢復(fù)時(shí),即可根據(jù)快照 空間中存儲(chǔ)的瞬時(shí)映像將源數(shù)據(jù)區(qū)中的數(shù)據(jù)恢復(fù)到快照時(shí)間點(diǎn)的狀態(tài)??煺?技術(shù)按實(shí)現(xiàn)方法劃分,主要有三種方式分離鏡像(Split Mirror)、寫時(shí)拷貝 (Copy-On-Write )和寫重定向(Redirect-On-Write )。其中寫時(shí)拷貝方法因占 用空間小,創(chuàng)建快照時(shí)間短等優(yōu)點(diǎn),廣泛地應(yīng)用在各種存儲(chǔ)設(shè)備中?,F(xiàn)有的基于寫時(shí)拷貝的數(shù)據(jù)存儲(chǔ)方法,寫時(shí)拷貝功能啟動(dòng)后,存儲(chǔ)設(shè)備 會(huì)每隔設(shè)定的時(shí)間段重新啟動(dòng)一次快照進(jìn)程,可以將這個(gè)時(shí)間段定義為快照 周期,存儲(chǔ)設(shè)備會(huì)分別存儲(chǔ)在各個(gè)快照周期中獲取的快照信息。寫時(shí)拷貝功 能啟動(dòng)后,存儲(chǔ)設(shè)備會(huì)對(duì)源數(shù)據(jù)區(qū)中的所有數(shù)據(jù)塊進(jìn)行監(jiān)控,在接收來自外 部設(shè)備的寫請(qǐng)求命令后,首先根據(jù)寫請(qǐng)求命令在源數(shù)據(jù)區(qū)中為寫請(qǐng)求數(shù)據(jù)分 配數(shù)據(jù)塊,寫請(qǐng)求命令中包含起始邏輯地址信息和寫請(qǐng)求數(shù)據(jù)的數(shù)據(jù)量信息,具體的,存儲(chǔ)設(shè)備根據(jù)寫請(qǐng)求數(shù)據(jù)的數(shù)據(jù)量為寫請(qǐng)求數(shù)據(jù)分配以寫請(qǐng)求命令 中的起始邏輯地址為首地址的數(shù)據(jù)塊組。然后,若需要對(duì)分配的數(shù)據(jù)塊組進(jìn) 行快照,存儲(chǔ)設(shè)備則需要將分配的數(shù)據(jù)塊組對(duì)應(yīng)的監(jiān)控?cái)?shù)據(jù)寫入快照空間。 最后將來自外部設(shè)備的寫請(qǐng)求數(shù)據(jù)寫入到源數(shù)據(jù)區(qū)分配數(shù)據(jù)塊組中替換其中 的原有數(shù)據(jù)。數(shù)據(jù)塊是存儲(chǔ)設(shè)備對(duì)數(shù)據(jù)進(jìn)行存儲(chǔ)的最小單位,每個(gè)數(shù)據(jù)塊的固定容量為512B。若寫請(qǐng)求數(shù)據(jù)的數(shù)據(jù)量為8KB,則需要在源數(shù)據(jù)區(qū)中為該 寫請(qǐng)求數(shù)據(jù)分配16個(gè)數(shù)據(jù)塊,若請(qǐng)求數(shù)據(jù)的數(shù)據(jù)量為512KB,則需要在源數(shù) 據(jù)區(qū)中為該寫請(qǐng)求數(shù)據(jù)分配1000個(gè)數(shù)據(jù)塊?,F(xiàn)有技術(shù)中,在快照功能啟用后,采用如圖1所示的監(jiān)控地址區(qū)間對(duì)源 數(shù)據(jù)區(qū)中的數(shù)據(jù)塊進(jìn)行監(jiān)控,即以512KB的數(shù)據(jù)量(即1000個(gè)數(shù)據(jù)塊)為單 位對(duì)源數(shù)據(jù)區(qū)進(jìn)行監(jiān)控。每一個(gè)監(jiān)控地址(Adjust—address )區(qū)間對(duì)應(yīng)一個(gè)虛 擬邏輯塊地址組的起始地址和結(jié)尾地址,例如,第一監(jiān)控地址區(qū)間(0, 999) 對(duì)應(yīng)的虛擬邏輯塊地址組的起始地址為0、結(jié)尾地址為999。第二監(jiān)控地址區(qū) 間(1000, 1999)對(duì)應(yīng)的虛擬邏輯塊地址組的起始地址為1000、結(jié)尾地址為 1999。若某個(gè)監(jiān)控地址區(qū)間范圍中的任意一個(gè)數(shù)據(jù)塊發(fā)生變化,則需要將該 監(jiān)控地址區(qū)間范圍中所有的數(shù)據(jù)塊都復(fù)制到快照空間中。這就產(chǎn)生了快照空 間過程中的增量復(fù)制問題。例如,寫請(qǐng)求數(shù)據(jù)的數(shù)據(jù)量為8KB,需要占用源 數(shù)據(jù)區(qū)中16個(gè)數(shù)據(jù)塊的存儲(chǔ)空間,若寫請(qǐng)求數(shù)據(jù)在源數(shù)據(jù)區(qū)中對(duì)應(yīng)的起始邏 輯地址為10、則相應(yīng)的結(jié)尾邏輯地址為25。由于邏輯地址為10到25的數(shù)據(jù) 塊對(duì)應(yīng)的監(jiān)控地址區(qū)間為(0, 999),所以,存儲(chǔ)設(shè)備在將寫請(qǐng)求數(shù)據(jù)寫入到 邏輯地址為10到25的數(shù)據(jù)塊之前,需要將源數(shù)據(jù)區(qū)中邏輯地址為0到999 的數(shù)據(jù)塊中的原有數(shù)據(jù)全部復(fù)制到快照空間中,過多占用了快照空間的存儲(chǔ) 資源。發(fā)明內(nèi)容本發(fā)明提供了一種基于寫時(shí)拷貝的數(shù)據(jù)存儲(chǔ)方法、系統(tǒng)及設(shè)備,節(jié)省了 快照空間的存儲(chǔ)資源。本發(fā)明提供了 一種基于寫時(shí)拷貝的數(shù)據(jù)存儲(chǔ)方法,應(yīng)用于包括存儲(chǔ)設(shè)備和外部設(shè)備的系統(tǒng)中,所述存儲(chǔ)設(shè)備包括源數(shù)據(jù)區(qū)和快照空間,所述方法包括以下步驟所述存儲(chǔ)設(shè)備接收來自所述外部設(shè)備的寫請(qǐng)求數(shù)據(jù)和寫請(qǐng)求命令,所述 寫請(qǐng)求命令中包括所述寫請(qǐng)求數(shù)據(jù)的起始邏輯地址和所述寫請(qǐng)求數(shù)據(jù)的數(shù)據(jù)量信息;所述存儲(chǔ)設(shè)備根據(jù)所述寫請(qǐng)求數(shù)據(jù)的數(shù)據(jù)量調(diào)整單位監(jiān)控?cái)?shù)據(jù)量; 所述存儲(chǔ)設(shè)備根據(jù)所述寫請(qǐng)求數(shù)據(jù)的起始邏輯地址和所述寫請(qǐng)求數(shù)據(jù)的數(shù)據(jù)量信息確定所述寫請(qǐng)求數(shù)據(jù)在所述源數(shù)據(jù)區(qū)中對(duì)應(yīng)的數(shù)據(jù)塊;所述存儲(chǔ)設(shè)備判斷是否對(duì)所述寫請(qǐng)求數(shù)據(jù)對(duì)應(yīng)的數(shù)據(jù)塊進(jìn)行快照,若判斷結(jié)果為是,根據(jù)調(diào)整后的單位監(jiān)控?cái)?shù)據(jù)量將所述寫請(qǐng)求數(shù)據(jù)對(duì)應(yīng)的監(jiān)控?cái)?shù)據(jù)復(fù)制到所述快照空間,將所述寫請(qǐng)求數(shù)據(jù)寫入所述寫請(qǐng)求數(shù)據(jù)對(duì)應(yīng)的數(shù)據(jù)塊。其中,所述存儲(chǔ)設(shè)備根據(jù)所述寫請(qǐng)求數(shù)據(jù)的數(shù)據(jù)量調(diào)整單位監(jiān)控?cái)?shù)據(jù)量 包括所述存儲(chǔ)設(shè)備將所述單位監(jiān)控?cái)?shù)據(jù)量調(diào)整為所述寫請(qǐng)求數(shù)據(jù)的數(shù)據(jù)量。 其中,所述存儲(chǔ)設(shè)備根據(jù)所述寫請(qǐng)求數(shù)據(jù)的數(shù)據(jù)量調(diào)整單位監(jiān)控?cái)?shù)據(jù)量 包括所述存儲(chǔ)設(shè)備計(jì)算所述寫請(qǐng)求數(shù)據(jù)的數(shù)據(jù)量與已處理的寫請(qǐng)求數(shù)據(jù)的數(shù) 據(jù)量的平均值;所述存儲(chǔ)設(shè)備將所述單位監(jiān)控?cái)?shù)據(jù)量調(diào)整為所述平均值。 其中,還包括在寫時(shí)拷貝功能啟動(dòng)后,所述存儲(chǔ)設(shè)備設(shè)置標(biāo)準(zhǔn)單位監(jiān)控?cái)?shù)據(jù)量集合, 所述標(biāo)準(zhǔn)單位監(jiān)控?cái)?shù)據(jù)量集合中包括至少一個(gè)標(biāo)準(zhǔn)單位監(jiān)控?cái)?shù)據(jù)量;則所述存儲(chǔ)設(shè)備根據(jù)所述寫請(qǐng)求數(shù)據(jù)的數(shù)據(jù)量調(diào)整單位監(jiān)控?cái)?shù)據(jù)量包括所述存儲(chǔ)設(shè)備將所述單位監(jiān)控?cái)?shù)據(jù)量調(diào)整為所述標(biāo)準(zhǔn)單位監(jiān)控?cái)?shù)據(jù)量集 合中與所述寫請(qǐng)求數(shù)據(jù)的數(shù)據(jù)量的差的絕對(duì)值最小的標(biāo)準(zhǔn)單位監(jiān)控?cái)?shù)據(jù)量。 其中,還包括在寫時(shí)拷貝功能啟動(dòng)后,所述存儲(chǔ)設(shè)備設(shè)置標(biāo)準(zhǔn)單位監(jiān)控?cái)?shù)據(jù)量集合,所述標(biāo)準(zhǔn)單位監(jiān)控?cái)?shù)據(jù)量集合中包括至少一個(gè)標(biāo)準(zhǔn)單位監(jiān)控?cái)?shù)據(jù)量;則所述存儲(chǔ)設(shè)備根據(jù)所述寫請(qǐng)求數(shù)據(jù)的數(shù)據(jù)量調(diào)整單位監(jiān)控?cái)?shù)據(jù)量包括所述存儲(chǔ)設(shè)備計(jì)算所述寫請(qǐng)求數(shù)據(jù)的數(shù)據(jù)量與已處理的寫請(qǐng)求數(shù)據(jù)的數(shù) 據(jù)量的平均值;所述存儲(chǔ)設(shè)備將所述單位監(jiān)控?cái)?shù)據(jù)量調(diào)整為所述標(biāo)準(zhǔn)單位監(jiān)控?cái)?shù)據(jù)量集 合中與所述平均值的差的絕對(duì)值最小的標(biāo)準(zhǔn)單位監(jiān)控?cái)?shù)據(jù)量。 其中,還包括在一個(gè)快照周期開始時(shí),所述存儲(chǔ)設(shè)備將所述源教:據(jù)區(qū)中所有數(shù)據(jù)塊對(duì) 應(yīng)的位圖的比特位設(shè)置為無效;則所述存儲(chǔ)設(shè)備判斷是否對(duì)所述寫請(qǐng)求數(shù)據(jù)對(duì)應(yīng)的數(shù)據(jù)塊進(jìn)行快照包括所述存儲(chǔ)設(shè)備根據(jù)所述寫請(qǐng)求數(shù)據(jù)對(duì)應(yīng)的數(shù)據(jù)塊的比特位判斷是否對(duì)所 述寫請(qǐng)求數(shù)據(jù)對(duì)應(yīng)的數(shù)據(jù)塊進(jìn)行快照,若所述比特位為無效,則判斷對(duì)所述 寫請(qǐng)求數(shù)據(jù)對(duì)應(yīng)的數(shù)據(jù)塊進(jìn)行快照,若所述比特位為有效,則判斷不對(duì)所述 寫請(qǐng)求數(shù)據(jù)對(duì)應(yīng)的數(shù)據(jù)塊進(jìn)行快照;則所述存儲(chǔ)設(shè)備將所述寫請(qǐng)求數(shù)據(jù)寫入所述寫請(qǐng)求數(shù)據(jù)對(duì)應(yīng)的數(shù)據(jù)塊之 后,還包括所述存儲(chǔ)設(shè)備將所述寫請(qǐng)求數(shù)據(jù)對(duì)應(yīng)的數(shù)據(jù)塊的比特位設(shè)置為有效。本發(fā)明提供了一種存儲(chǔ)設(shè)備,所述設(shè)備包括源數(shù)據(jù)區(qū)和快照空間,所述 設(shè)備包括接收模塊,用于接收來自外部設(shè)備的寫請(qǐng)求數(shù)據(jù)和寫請(qǐng)求命令,所述寫 請(qǐng)求命令中包括所述寫請(qǐng)求數(shù)據(jù)的起始邏輯地址和所述寫請(qǐng)求數(shù)據(jù)的數(shù)據(jù)量 信息;調(diào)整模塊,用于根據(jù)所述接收模塊接收的寫請(qǐng)求數(shù)據(jù)的數(shù)據(jù)量調(diào)整單位 監(jiān)控?cái)?shù)據(jù)量;數(shù)據(jù)塊確定模塊,用于根據(jù)所述接收模塊接收的所述寫請(qǐng)求數(shù)據(jù)的起始 邏輯地址和所述寫請(qǐng)求數(shù)據(jù)的數(shù)據(jù)量信息確定所述寫請(qǐng)求數(shù)據(jù)在所述源數(shù)據(jù)
區(qū)中對(duì)應(yīng)的數(shù)據(jù)塊;
判斷模塊,用于判斷是否對(duì)所述數(shù)據(jù)塊確定模塊確定的所述寫請(qǐng)求數(shù)據(jù) 對(duì)應(yīng)的數(shù)據(jù)塊進(jìn)行快照;
處理模塊,用于若所述判斷模塊的判斷結(jié)果為是,根據(jù)所述調(diào)整模塊調(diào) 整后的單位監(jiān)控?cái)?shù)據(jù)量將所述寫請(qǐng)求數(shù)據(jù)對(duì)應(yīng)的監(jiān)控?cái)?shù)據(jù)復(fù)制到所述快照空 間,將所述接收模塊接收的寫請(qǐng)求數(shù)據(jù)寫入所述數(shù)據(jù)塊確定模塊確定的所述 寫請(qǐng)求數(shù)據(jù)對(duì)應(yīng)的數(shù)據(jù)塊。
其中,所述調(diào)整模塊具體用于,
將所述單位監(jiān)控?cái)?shù)據(jù)量調(diào)整為所述寫請(qǐng)求數(shù)據(jù)的數(shù)據(jù)量。 其中,所述調(diào)整模塊具體用于,
計(jì)算所述寫請(qǐng)求數(shù)據(jù)的數(shù)據(jù)量與已處理的寫請(qǐng)求數(shù)據(jù)的數(shù)據(jù)量的平均
值;
將所述單位監(jiān)控?cái)?shù)據(jù)量調(diào)整為所述平均值。 其中,所述設(shè)備還包括監(jiān)控集合設(shè)置模塊和監(jiān)控集合記錄模塊, 所述監(jiān)控集合設(shè)置模塊,用于在寫時(shí)拷貝功能啟動(dòng)后,設(shè)置標(biāo)準(zhǔn)單位監(jiān) 控?cái)?shù)據(jù)量集合,并將設(shè)置的標(biāo)準(zhǔn)單位監(jiān)控?cái)?shù)據(jù)量集合傳送到所述監(jiān)控集合記 錄模塊存儲(chǔ),所述標(biāo)準(zhǔn)單位監(jiān)控?cái)?shù)據(jù)量集合中包括至少一個(gè)標(biāo)準(zhǔn)單位監(jiān)控?cái)?shù) 據(jù)量;
所述監(jiān)控集合記錄模塊,用于存儲(chǔ)來自所述監(jiān)控集合設(shè)置模塊的標(biāo)準(zhǔn)單 位監(jiān)控?cái)?shù)據(jù)量集合;
則所述調(diào)整模塊,具體用于將所述單位監(jiān)控?cái)?shù)據(jù)量調(diào)整為所述監(jiān)控集合 記錄模塊存儲(chǔ)的標(biāo)準(zhǔn)單位監(jiān)控?cái)?shù)據(jù)量集合中與所述寫請(qǐng)求數(shù)據(jù)的數(shù)據(jù)量的差 的絕對(duì)值最小的標(biāo)準(zhǔn)單位監(jiān)控?cái)?shù)據(jù)量;或計(jì)算所述寫請(qǐng)求數(shù)據(jù)的數(shù)據(jù)量與已 處理的寫請(qǐng)求數(shù)據(jù)的數(shù)據(jù)量的平均值,將所述單位監(jiān)控?cái)?shù)據(jù)量調(diào)整為所述監(jiān) 控集合記錄模塊存儲(chǔ)的標(biāo)準(zhǔn)單位監(jiān)控?cái)?shù)據(jù)量集合中與所述平均值的差的絕對(duì) 值最小的標(biāo)準(zhǔn)單位監(jiān)控?cái)?shù)據(jù)量。其中,所述設(shè)備還包括位圖設(shè)置模塊和位圖記錄模塊,
所述位圖記錄模塊,用于存儲(chǔ)與所述源數(shù)據(jù)區(qū)中所有數(shù)據(jù)塊對(duì)應(yīng)的位圖; 所述位圖設(shè)置模塊,用于在一個(gè)快照周期開始時(shí),將所述位圖記錄模塊 存儲(chǔ)的位圖的所有比特位設(shè)置為無效;在所述處理模塊將所述寫請(qǐng)求數(shù)據(jù)寫 入所述數(shù)據(jù)塊確定模塊確定的所述寫請(qǐng)求數(shù)據(jù)對(duì)應(yīng)的數(shù)據(jù)塊之后,將所述位 圖記錄模塊存儲(chǔ)的位圖中所述數(shù)據(jù)塊確定模塊確定的數(shù)據(jù)塊的比特位設(shè)置為 有效;
則所述判斷模塊,具體用于根據(jù)所述位圖記錄模塊存儲(chǔ)的位圖的比特位 判斷是否對(duì)所述數(shù)據(jù)塊確定模塊確定的所述寫請(qǐng)求數(shù)據(jù)對(duì)應(yīng)的數(shù)據(jù)塊進(jìn)行快 照,若所述寫請(qǐng)求數(shù)據(jù)對(duì)應(yīng)的數(shù)據(jù)塊的比特位為無效,則判斷對(duì)所述寫請(qǐng)求 數(shù)據(jù)對(duì)應(yīng)的數(shù)據(jù)塊進(jìn)行快照,若所述寫請(qǐng)求數(shù)據(jù)對(duì)應(yīng)的數(shù)據(jù)塊的比特位為有 效,則判斷不對(duì)所述寫請(qǐng)求數(shù)據(jù)對(duì)應(yīng)的數(shù)據(jù)塊進(jìn)行快照。
本發(fā)明中,根據(jù)寫請(qǐng)求數(shù)據(jù)的數(shù)據(jù)量調(diào)整單位監(jiān)控?cái)?shù)據(jù)量,并根據(jù)調(diào)整 后的單位監(jiān)控?cái)?shù)據(jù)量將寫請(qǐng)求數(shù)據(jù)對(duì)應(yīng)的監(jiān)控?cái)?shù)據(jù)復(fù)制到快照空間,保持了 寫入快照空間的監(jiān)控?cái)?shù)據(jù)的數(shù)據(jù)量與寫請(qǐng)求數(shù)據(jù)的數(shù)據(jù)量的一致性,節(jié)省了 快照空間的存儲(chǔ)資源。
圖1是現(xiàn)有技術(shù)中 一種監(jiān)控地址區(qū)間示意圖2是本發(fā)明中一種基于寫時(shí)拷貝的數(shù)據(jù)存儲(chǔ)方法流程圖3是本發(fā)明中一種基于寫時(shí)拷貝的數(shù)據(jù)存儲(chǔ)方法流程圖4是本發(fā)明中一種寫請(qǐng)求命令示意圖5是本發(fā)明中 一種監(jiān)控地址區(qū)間示意圖6是本發(fā)明中一種基于寫時(shí)拷貝的數(shù)據(jù)存儲(chǔ)方法流程圖7是本發(fā)明中一種基于寫時(shí)拷貝的數(shù)據(jù)存儲(chǔ)方法流程圖8是本發(fā)明中一種基于寫時(shí)拷貝的數(shù)據(jù)存儲(chǔ)方法流程圖9是本發(fā)明中一種基于寫時(shí)拷貝的數(shù)據(jù)存儲(chǔ)方法流程圖10是本發(fā)明中 一種基于寫時(shí)拷貝的數(shù)據(jù)存儲(chǔ)系統(tǒng)結(jié)構(gòu)圖;圖11是本發(fā)明中 一種存儲(chǔ)設(shè)備結(jié)構(gòu)圖; 圖12是本發(fā)明中 一種存儲(chǔ)設(shè)備結(jié)構(gòu)圖; 圖13是本發(fā)明中 一種存儲(chǔ)設(shè)備結(jié)構(gòu)圖; 圖14是本發(fā)明中 一種存儲(chǔ)設(shè)備結(jié)構(gòu)圖。
具體實(shí)施例方式
本發(fā)明主要提供了一種基于寫時(shí)拷貝的數(shù)據(jù)存儲(chǔ)方法,主要思路是根 據(jù)寫請(qǐng)求數(shù)據(jù)的數(shù)據(jù)量調(diào)整單位監(jiān)控?cái)?shù)據(jù)量,并根據(jù)調(diào)整后的單位監(jiān)控?cái)?shù)據(jù) 量將寫請(qǐng)求數(shù)據(jù)對(duì)應(yīng)的監(jiān)控?cái)?shù)據(jù)復(fù)制到所述快照空間,保持了寫入快照空間
的監(jiān)控?cái)?shù)據(jù)的數(shù)據(jù)量與寫請(qǐng)求數(shù)據(jù)的數(shù)據(jù)量的一致性,節(jié)省了快照空間的存 儲(chǔ)資源。
本發(fā)明提出了一種基于寫時(shí)拷貝的數(shù)據(jù)存儲(chǔ)方法,應(yīng)用于包括存儲(chǔ)設(shè)備 和外部設(shè)備的系統(tǒng)中,存儲(chǔ)設(shè)備的存儲(chǔ)空間虛擬劃分為源數(shù)據(jù)區(qū)和快照空間, 所述方法如圖2所示,包括以下步驟
步驟201,存儲(chǔ)設(shè)備接收來自外部設(shè)備的寫請(qǐng)求數(shù)據(jù)和寫請(qǐng)求命令,寫請(qǐng) 求命令中包括寫請(qǐng)求數(shù)據(jù)的起始邏輯地址和寫請(qǐng)求數(shù)據(jù)的數(shù)據(jù)量信息。
步驟202,存儲(chǔ)設(shè)備根據(jù)寫請(qǐng)求數(shù)據(jù)的數(shù)據(jù)量調(diào)整單位監(jiān)控?cái)?shù)據(jù)量。具體 的,可以根據(jù)以下四種方式調(diào)整單位監(jiān)控?cái)?shù)據(jù)量
1. 將單位監(jiān)控?cái)?shù)據(jù)量調(diào)整為寫請(qǐng)求數(shù)據(jù)的數(shù)據(jù)量。
2. 計(jì)算寫請(qǐng)求數(shù)據(jù)的數(shù)據(jù)量與已處理的寫請(qǐng)求數(shù)據(jù)的數(shù)據(jù)量的平均值, 并將單位監(jiān)控?cái)?shù)據(jù)量調(diào)整為該平均值。
3. 在寫時(shí)拷貝功能啟動(dòng)后,首先設(shè)置標(biāo)準(zhǔn)單位監(jiān)控?cái)?shù)據(jù)量集合,標(biāo)準(zhǔn)單 位監(jiān)控?cái)?shù)據(jù)量集合中包括至少一個(gè)標(biāo)準(zhǔn)單位監(jiān)控?cái)?shù)據(jù)量。在接收到寫請(qǐng)求數(shù) 據(jù)后,將單位監(jiān)控?cái)?shù)據(jù)量調(diào)整為標(biāo)準(zhǔn)單位監(jiān)控?cái)?shù)據(jù)量集合中與寫請(qǐng)求數(shù)據(jù)的
數(shù)據(jù)量的差的絕對(duì)值最小的標(biāo)準(zhǔn)單位監(jiān)控?cái)?shù)據(jù)量。
4. 在寫時(shí)拷貝功能啟動(dòng)后,首先設(shè)置標(biāo)準(zhǔn)單位監(jiān)控?cái)?shù)據(jù)量集合,標(biāo)準(zhǔn)單 位監(jiān)控?cái)?shù)據(jù)量集合中包括至少一個(gè)標(biāo)準(zhǔn)單位監(jiān)控?cái)?shù)據(jù)量。在接收到寫請(qǐng)求數(shù) 據(jù)后,計(jì)算寫請(qǐng)求數(shù)據(jù)的數(shù)據(jù)量與已處理的寫請(qǐng)求數(shù)據(jù)的數(shù)據(jù)量的平均值,并將單位監(jiān)控?cái)?shù)據(jù)量調(diào)整為標(biāo)準(zhǔn)單位監(jiān)控?cái)?shù)據(jù)量集合中與該平均值的差的絕 對(duì)值最小的標(biāo)準(zhǔn)單位監(jiān)控?cái)?shù)據(jù)量。
步驟203,存儲(chǔ)設(shè)備根據(jù)寫請(qǐng)求數(shù)據(jù)的起始邏輯地址和寫請(qǐng)求數(shù)據(jù)的數(shù)據(jù)
量確定寫請(qǐng)求數(shù)據(jù)對(duì)應(yīng)的源數(shù)據(jù)區(qū)中的數(shù)據(jù)塊。
步驟204,存儲(chǔ)設(shè)備判斷是否需要對(duì)寫請(qǐng)求數(shù)據(jù)對(duì)應(yīng)的數(shù)據(jù)塊進(jìn)行快照, 若判斷結(jié)果為是,根據(jù)調(diào)整后的單位監(jiān)控?cái)?shù)據(jù)量將寫請(qǐng)求數(shù)據(jù)對(duì)應(yīng)的監(jiān)控?cái)?shù) 據(jù)復(fù)制到快照空間,將寫請(qǐng)求數(shù)據(jù)寫入對(duì)應(yīng)的數(shù)據(jù)塊。
具體的,本發(fā)明的存儲(chǔ)設(shè)備可以在接收到來自外部設(shè)備的寫請(qǐng)求后直接 將源數(shù)據(jù)區(qū)的單位監(jiān)控?cái)?shù)據(jù)量調(diào)整為寫請(qǐng)求數(shù)據(jù)的數(shù)據(jù)量,基于該原理本發(fā) 明提出了一種基于寫時(shí)拷貝的數(shù)據(jù)存儲(chǔ)方法,應(yīng)用于包括存儲(chǔ)設(shè)備和外部設(shè) 備的系統(tǒng)中,存儲(chǔ)設(shè)備和外部設(shè)備通過IP網(wǎng)相連,存儲(chǔ)設(shè)備的存儲(chǔ)空間虛擬 劃分為源數(shù)據(jù)區(qū)和快照空間,所述方法如圖3所示,包括以下步驟
步驟301,存儲(chǔ)設(shè)備接收來自外部設(shè)備的寫請(qǐng)求,寫請(qǐng)求中包括寫請(qǐng)求數(shù) 據(jù)和寫請(qǐng)求命令。
具體的,外部設(shè)備可以是客戶端主機(jī),客戶端主機(jī)可以根據(jù)iSCSI協(xié)議的 規(guī)定向存儲(chǔ)設(shè)備發(fā)送寫請(qǐng)求,寫請(qǐng)求中包括寫請(qǐng)求數(shù)據(jù)和寫請(qǐng)求命令,寫請(qǐng) 求命令中包括寫請(qǐng)求數(shù)據(jù)的起始邏輯地址和寫請(qǐng)求數(shù)據(jù)的數(shù)據(jù)量信息。
例如,圖4為一個(gè)具體的寫請(qǐng)求命令,該寫請(qǐng)求命令中的主要內(nèi)包括如
下內(nèi)容
Logical Block Address: 0;表示寫請(qǐng)求數(shù)據(jù)對(duì)應(yīng)的起始邏輯地址為0; Transfer length: 16;表示寫請(qǐng)求數(shù)據(jù)的數(shù)據(jù)量為16KB。 步驟302,存儲(chǔ)設(shè)備將單位監(jiān)控?cái)?shù)據(jù)量調(diào)整為寫請(qǐng)求數(shù)據(jù)的數(shù)據(jù)量。 繼續(xù)以圖4所示的寫請(qǐng)求命令為例,由于圖4中寫請(qǐng)求數(shù)據(jù)的數(shù)據(jù)量為 16KB,所以需要將單位監(jiān)控?cái)?shù)據(jù)量調(diào)整為16KB。調(diào)整后的監(jiān)控地址區(qū)間如 圖5所示,第一監(jiān)控地址區(qū)間(0, 15)對(duì)應(yīng)的虛擬邏輯塊地址組的起始地址 為0、結(jié)尾地址為15;第二監(jiān)控地址區(qū)間(16, 31)對(duì)應(yīng)的虛擬邏輯塊地址 組的起始地址為16、結(jié)尾地址為31。步驟303 ,存儲(chǔ)設(shè)備根據(jù)寫請(qǐng)求確定寫請(qǐng)求數(shù)據(jù)對(duì)應(yīng)的源數(shù)據(jù)區(qū)中的數(shù)據(jù)塊。
繼續(xù)以圖4所示的寫請(qǐng)求命令為例,根據(jù)該寫請(qǐng)求命令確定寫請(qǐng)求數(shù)據(jù) 對(duì)應(yīng)的源數(shù)據(jù)區(qū)中的數(shù)據(jù)塊為起始邏輯地址為0、結(jié)尾邏輯地址為15的連續(xù) 數(shù)據(jù)塊組成的數(shù)據(jù)塊組。
步驟304,存儲(chǔ)設(shè)備判斷是否需要對(duì)寫請(qǐng)求數(shù)據(jù)對(duì)應(yīng)的源數(shù)據(jù)區(qū)中的數(shù)據(jù) 塊進(jìn)行快照,若判斷結(jié)果為是,轉(zhuǎn)步驟305,若判斷結(jié)果為否,轉(zhuǎn)步驟306。
步驟305,存儲(chǔ)設(shè)備根據(jù)調(diào)整后的單位監(jiān)控?cái)?shù)據(jù)量將寫請(qǐng)求數(shù)據(jù)對(duì)應(yīng)的監(jiān) 控?cái)?shù)據(jù)復(fù)制到快照空間。
繼續(xù)以圖4所示的寫請(qǐng)求命令為例,由于步驟303中確定出寫請(qǐng)求數(shù)據(jù) 對(duì)應(yīng)的源數(shù)據(jù)區(qū)中的數(shù)據(jù)塊為起始邏輯地址為0、結(jié)尾邏輯地址為15的連續(xù) 數(shù)據(jù)塊組成的數(shù)據(jù)塊組,該數(shù)據(jù)塊組對(duì)應(yīng)第一監(jiān)控地址區(qū)間(0, 15),所以, 需要將第一監(jiān)控地址區(qū)間(0, 15)范圍內(nèi)的數(shù)據(jù)塊中的原有數(shù)據(jù)復(fù)制到快照 空間中。
在實(shí)際情況中,還有可能出現(xiàn)寫請(qǐng)求數(shù)據(jù)對(duì)應(yīng)的監(jiān)控?cái)?shù)據(jù)位于兩個(gè)監(jiān)控 區(qū)間的情況。例如,若寫請(qǐng)求數(shù)據(jù)的數(shù)據(jù)量16,起始邏輯地址為10,則對(duì)應(yīng) 源數(shù)據(jù)區(qū)中起始邏輯地址為10、結(jié)尾邏輯地址為25的數(shù)據(jù)塊組。該數(shù)據(jù)塊組 分別包含在第一監(jiān)控地址區(qū)間(0, 15)和第二監(jiān)控地址區(qū)間(16, 31)范圍 內(nèi),則需要將第 一監(jiān)控地址區(qū)間和第二監(jiān)控地址區(qū)間范圍內(nèi)的所有數(shù)據(jù)塊中 的原有數(shù)據(jù)都復(fù)制到快照空間。
步驟306,存儲(chǔ)設(shè)備將寫請(qǐng)求數(shù)據(jù)寫入寫請(qǐng)求數(shù)據(jù)對(duì)應(yīng)的源數(shù)據(jù)區(qū)中的數(shù) 據(jù)塊。
繼續(xù)以圖4所示的寫請(qǐng)求命令為例,則需要將寫請(qǐng)求數(shù)據(jù)寫入到源數(shù)據(jù) 區(qū)中起始邏輯地址為0、結(jié)尾邏輯地址為15的連續(xù)數(shù)據(jù)塊組成的數(shù)據(jù)塊組。
具體的,本發(fā)明的存儲(chǔ)設(shè)備可以在接收到來自外部設(shè)備的寫請(qǐng)求后計(jì)算 寫請(qǐng)求數(shù)據(jù)的數(shù)據(jù)量與之前已經(jīng)處理的寫請(qǐng)求數(shù)據(jù)的數(shù)據(jù)量的平均值,并將 源數(shù)據(jù)區(qū)的單位監(jiān)控?cái)?shù)據(jù)量調(diào)整為該平均值?;谠撛肀景l(fā)明提出了一種基于寫時(shí)拷貝的數(shù)據(jù)存儲(chǔ)方法,應(yīng)用于包括存儲(chǔ)設(shè)備和外部設(shè)備的系統(tǒng)中, 存儲(chǔ)設(shè)備和外部設(shè)備通過IP網(wǎng)相連,存儲(chǔ)設(shè)備的存儲(chǔ)空間虛擬劃分為源數(shù)據(jù)
區(qū)和快照空間,所述方法如圖6所示,包括以下步驟 步驟600,存儲(chǔ)設(shè)備啟動(dòng)寫時(shí)拷貝功能。
步驟601,存儲(chǔ)設(shè)備接收來自外部設(shè)備的寫請(qǐng)求,寫請(qǐng)求中包括寫請(qǐng)求數(shù) 據(jù)和寫請(qǐng)求命令。
具體的,寫請(qǐng)求命令中包括寫請(qǐng)求數(shù)據(jù)的起始邏輯地址和寫請(qǐng)求數(shù)據(jù)的 數(shù)據(jù)量信息。
步驟602,存儲(chǔ)設(shè)備計(jì)算該寫請(qǐng)求數(shù)據(jù)的數(shù)據(jù)量與之前已經(jīng)處理的寫請(qǐng)求 數(shù)據(jù)的數(shù)據(jù)量的平均值。
例如,若步驟601中接收到的寫請(qǐng)求數(shù)據(jù)的數(shù)據(jù)量為IOKB。存儲(chǔ)設(shè)備在 啟動(dòng)寫時(shí)拷貝功能后還處理過l個(gè)寫請(qǐng)求數(shù)據(jù),該處理過的寫請(qǐng)求數(shù)據(jù)的數(shù) 據(jù)量為18KB。則存儲(chǔ)設(shè)備計(jì)算并獲得的平均值為14KB。若步驟601中接收 到的寫請(qǐng)求數(shù)據(jù)的數(shù)據(jù)量為8KB。存儲(chǔ)設(shè)備在啟動(dòng)寫時(shí)拷貝功能后還處理過2 個(gè)寫請(qǐng)求數(shù)據(jù),該處理過的寫請(qǐng)求數(shù)據(jù)的數(shù)據(jù)量分別為IOKB、 14KB。則存 儲(chǔ)設(shè)備計(jì)算并獲得的平均值為10.7KB。另外,還可以設(shè)定已經(jīng)處理的寫請(qǐng)求 數(shù)據(jù)的個(gè)數(shù)閾值,例如將該閾值設(shè)定為2,若已經(jīng)處理的寫請(qǐng)求數(shù)據(jù)的個(gè)數(shù)大 于2,則只計(jì)算新收到的寫請(qǐng)求數(shù)據(jù)的數(shù)據(jù)量與已經(jīng)處理的最后2個(gè)寫請(qǐng)求數(shù) 據(jù)的數(shù)據(jù)量的平均值。
步驟603,存儲(chǔ)設(shè)備將單位監(jiān)控?cái)?shù)據(jù)量調(diào)整為步驟602中得到的平均值。
例如,若步驟602中獲得的平均值為14KB,則將單位監(jiān)控?cái)?shù)據(jù)量調(diào)整為 14KB;若步驟602中獲得的平均值為10.7KB,由于存儲(chǔ)設(shè)備是以0.5 KB (即 1個(gè)數(shù)據(jù)塊的數(shù)據(jù)容量)為最小單位進(jìn)行數(shù)據(jù)監(jiān)控的,所以需要將單位監(jiān)控?cái)?shù) 據(jù)量調(diào)整為10.5KB。
步驟604,存儲(chǔ)設(shè)備根據(jù)寫請(qǐng)求確定寫請(qǐng)求數(shù)據(jù)對(duì)應(yīng)的源數(shù)據(jù)區(qū)中的數(shù)據(jù)塊。
步驟605 ,存儲(chǔ)設(shè)備判斷是否需要對(duì)寫請(qǐng)求數(shù)據(jù)對(duì)應(yīng)的源數(shù)據(jù)區(qū)中的數(shù)據(jù) 塊進(jìn)行快照,若判斷結(jié)果為是,轉(zhuǎn)步驟606,若判斷結(jié)果為否,轉(zhuǎn)步驟607。步驟606,存儲(chǔ)設(shè)備根據(jù)調(diào)整后的單位監(jiān)控?cái)?shù)據(jù)量將寫請(qǐng)求數(shù)據(jù)對(duì)應(yīng)的監(jiān) 控?cái)?shù)據(jù)復(fù)制到快照空間。
步驟607,存儲(chǔ)設(shè)備將寫請(qǐng)求數(shù)據(jù)寫入寫請(qǐng)求數(shù)據(jù)對(duì)應(yīng)的源數(shù)據(jù)區(qū)中的數(shù) 據(jù)塊。
具體的,本發(fā)明的存儲(chǔ)設(shè)備可以在寫時(shí)拷貝功能啟動(dòng)后設(shè)置標(biāo)準(zhǔn)單位監(jiān) 控?cái)?shù)據(jù)量集合,該標(biāo)準(zhǔn)單位監(jiān)控?cái)?shù)據(jù)量集合中包括至少一個(gè)標(biāo)準(zhǔn)單位監(jiān)控?cái)?shù) 據(jù)量,存儲(chǔ)設(shè)備可以根據(jù)寫請(qǐng)求將源數(shù)據(jù)區(qū)的單位監(jiān)控?cái)?shù)據(jù)量調(diào)整為與寫請(qǐng) 求數(shù)據(jù)的數(shù)據(jù)量的差的絕對(duì)值最小的標(biāo)準(zhǔn)單位監(jiān)控?cái)?shù)據(jù)量,基于該原理本發(fā) 明提出了一種基于寫時(shí)拷貝的數(shù)據(jù)存儲(chǔ)方法,應(yīng)用于包括存儲(chǔ)設(shè)備和外部設(shè) 備的系統(tǒng)中,存儲(chǔ)設(shè)備和外部設(shè)備通過IP網(wǎng)相連,存儲(chǔ)設(shè)備的存儲(chǔ)空間虛擬 劃分為源數(shù)據(jù)區(qū)和快照空間,所述方法如圖7所示,包括以下步驟
步驟700,存儲(chǔ)設(shè)備啟動(dòng)寫時(shí)拷貝功能。
步驟701,存儲(chǔ)設(shè)備設(shè)置標(biāo)準(zhǔn)單位監(jiān)控?cái)?shù)據(jù)量集合,標(biāo)準(zhǔn)單位監(jiān)控?cái)?shù)據(jù)量 集合中包括至少一個(gè)標(biāo)準(zhǔn)單位監(jiān)控?cái)?shù)據(jù)量。本實(shí)施例中,存儲(chǔ)設(shè)備設(shè)置的標(biāo) 準(zhǔn)單位監(jiān)控?cái)?shù)據(jù)量集合為(8KB、 16KB、 32KB、 64KB、 128KB、 512KB}。
步驟702,存儲(chǔ)設(shè)備接收來自外部設(shè)備的寫請(qǐng)求,寫請(qǐng)求中包括寫請(qǐng)求數(shù) 據(jù)和寫請(qǐng)求命令。
具體的,寫請(qǐng)求命令中包括寫請(qǐng)求數(shù)據(jù)的起始邏輯地址和寫請(qǐng)求數(shù)據(jù)的 數(shù)據(jù)量信息。
步驟703,存儲(chǔ)設(shè)備將單位監(jiān)控?cái)?shù)據(jù)量調(diào)整為標(biāo)準(zhǔn)單位監(jiān)控?cái)?shù)據(jù)量集合中 與寫請(qǐng)求數(shù)據(jù)的數(shù)據(jù)量的差的絕對(duì)值最小的標(biāo)準(zhǔn)單位監(jiān)控?cái)?shù)據(jù)量。
例如,若寫請(qǐng)求數(shù)據(jù)的數(shù)據(jù)量為14KB,則將單位監(jiān)控?cái)?shù)據(jù)量調(diào)整為 16KB。若寫請(qǐng)求數(shù)據(jù)的數(shù)據(jù)量為10KB,則將單位監(jiān)控?cái)?shù)據(jù)量調(diào)整為8KB。 若寫請(qǐng)求數(shù)據(jù)的數(shù)據(jù)量為12KB,由于標(biāo)準(zhǔn)單位監(jiān)控?cái)?shù)據(jù)量集合中的8KB和 16KB都與寫請(qǐng)求數(shù)據(jù)的數(shù)據(jù)量相差4KB,所以可以將單位監(jiān)控?cái)?shù)據(jù)量調(diào)整為 8KB或12KB任意一個(gè), 一般的,可以將單位監(jiān)控?cái)?shù)據(jù)量調(diào)整為取值相對(duì)較 大的數(shù)據(jù)量。步驟704,存儲(chǔ)設(shè)備根據(jù)寫請(qǐng)求確定寫請(qǐng)求數(shù)據(jù)對(duì)應(yīng)的源數(shù)據(jù)區(qū)中的數(shù)據(jù)塊。
步驟705,存儲(chǔ)設(shè)備判斷是否需要對(duì)寫請(qǐng)求數(shù)據(jù)對(duì)應(yīng)的源數(shù)據(jù)區(qū)中的數(shù)據(jù) 塊進(jìn)行快照,若判斷結(jié)果為是,轉(zhuǎn)步驟706,若判斷結(jié)果為否,轉(zhuǎn)步驟707。
步驟706,存儲(chǔ)設(shè)備根據(jù)調(diào)整后的單位監(jiān)控?cái)?shù)據(jù)量將寫請(qǐng)求數(shù)據(jù)對(duì)應(yīng)的監(jiān) 控?cái)?shù)據(jù)復(fù)制到快照空間。
步驟707,存儲(chǔ)設(shè)備將寫請(qǐng)求數(shù)據(jù)寫入寫請(qǐng)求數(shù)據(jù)對(duì)應(yīng)的源數(shù)據(jù)區(qū)中的數(shù) 據(jù)塊。
具體的,本發(fā)明的存儲(chǔ)設(shè)備可以在寫時(shí)拷貝功能啟動(dòng)后設(shè)置標(biāo)準(zhǔn)單位監(jiān) 控?cái)?shù)據(jù)量集合,在接收到來自外部設(shè)備的寫請(qǐng)求后,計(jì)算該寫請(qǐng)求數(shù)據(jù)的數(shù) 據(jù)量與之前已經(jīng)處理的寫請(qǐng)求數(shù)據(jù)的數(shù)據(jù)量的平均值,并將源數(shù)據(jù)區(qū)的單位
監(jiān)控?cái)?shù)據(jù)量調(diào)整為與該平均值的差的絕對(duì)值最小的標(biāo)準(zhǔn)單位監(jiān)控?cái)?shù)據(jù)量,基 于該原理本發(fā)明提出了一種基于寫時(shí)拷貝的數(shù)據(jù)存儲(chǔ)方法,應(yīng)用于包括存儲(chǔ) 設(shè)備和外部設(shè)備的系統(tǒng)中,存儲(chǔ)設(shè)備和外部設(shè)備通過IP網(wǎng)相連,存儲(chǔ)設(shè)備的 存儲(chǔ)空間虛擬劃分為源數(shù)據(jù)區(qū)和快照空間,所述方法如圖8所示,包括以下 步驟
步驟800,存儲(chǔ)設(shè)備啟動(dòng)寫時(shí)拷貝功能。
步驟801,存儲(chǔ)設(shè)備設(shè)置的標(biāo)準(zhǔn)單位監(jiān)控?cái)?shù)據(jù)量集合。本實(shí)施例中,存儲(chǔ) 設(shè)備設(shè)置的標(biāo)準(zhǔn)單位監(jiān)控?cái)?shù)據(jù)量集合為(8KB、 16KB、 32KB、 64KB、 128KB、 512KB}。
步驟802,存儲(chǔ)設(shè)備接收來自外部設(shè)備的寫請(qǐng)求,寫請(qǐng)求中包括寫請(qǐng)求數(shù) 據(jù)和寫請(qǐng)求命令。
具體的,寫請(qǐng)求命令中包括寫請(qǐng)求數(shù)據(jù)的起始邏輯地址和寫請(qǐng)求數(shù)據(jù)的 數(shù)據(jù)量信息。
步驟803,存儲(chǔ)設(shè)備計(jì)算該寫請(qǐng)求數(shù)據(jù)的數(shù)據(jù)量與之前已經(jīng)處理的寫請(qǐng)求 數(shù)據(jù)的數(shù)據(jù)量的平均值。
例如,若步驟802中接收到的寫請(qǐng)求數(shù)據(jù)的數(shù)據(jù)量為IOKB。存儲(chǔ)設(shè)備在啟動(dòng)寫時(shí)拷貝功能后還處理過1個(gè)寫請(qǐng)求數(shù)據(jù),該處理過的寫請(qǐng)求數(shù)據(jù)的數(shù)
據(jù)量為18KB。則存儲(chǔ)設(shè)備計(jì)算并獲得的平均值為14KB。若步驟801中接收 到的寫請(qǐng)求數(shù)據(jù)的數(shù)據(jù)量為8KB。存儲(chǔ)設(shè)備在啟動(dòng)寫時(shí)拷貝功能后還處理過2 個(gè)寫請(qǐng)求數(shù)據(jù),該處理過的寫請(qǐng)求數(shù)據(jù)的數(shù)據(jù)量分別為IOKB和14KB。則存 儲(chǔ)設(shè)備計(jì)算并獲得的平均值為10.7KB。
步驟804,存儲(chǔ)設(shè)備將單位監(jiān)控?cái)?shù)據(jù)量調(diào)整為標(biāo)準(zhǔn)單位監(jiān)控?cái)?shù)據(jù)量集合中 與步驟803中得到的平均值的差的絕對(duì)值最小的標(biāo)準(zhǔn)單位監(jiān)控?cái)?shù)據(jù)量。
例如,若步驟803中獲得的平均值為14KB,則將單位監(jiān)控?cái)?shù)據(jù)量調(diào)整為 16KB;若步驟803中獲得的平均值為10.7KB,則將單位監(jiān)控?cái)?shù)據(jù)量調(diào)整為 8KB。
步驟805,存儲(chǔ)設(shè)備根據(jù)寫請(qǐng)求確定寫請(qǐng)求數(shù)據(jù)對(duì)應(yīng)的源數(shù)據(jù)區(qū)中的數(shù)據(jù)塊。
步驟806,存儲(chǔ)設(shè)備判斷是否需要對(duì)寫請(qǐng)求數(shù)據(jù)對(duì)應(yīng)的源數(shù)據(jù)區(qū)中的數(shù)據(jù) 塊進(jìn)行快照,若判斷結(jié)果為是,轉(zhuǎn)步驟807,若判斷結(jié)果為否,轉(zhuǎn)步驟808。
步驟807,存儲(chǔ)設(shè)備根據(jù)調(diào)整后的單位監(jiān)控?cái)?shù)據(jù)量將寫請(qǐng)求數(shù)據(jù)對(duì)應(yīng)的監(jiān) 控?cái)?shù)據(jù)復(fù)制到快照空間。
步驟808,存儲(chǔ)設(shè)備將寫請(qǐng)求數(shù)據(jù)寫入寫請(qǐng)求數(shù)據(jù)對(duì)應(yīng)的源數(shù)據(jù)區(qū)中的數(shù) 據(jù)塊。
具體的,本發(fā)明的存儲(chǔ)設(shè)備可以在寫時(shí)拷貝功能啟動(dòng)后在內(nèi)存中建立并 維護(hù)一個(gè)位圖,該位圖的每個(gè)比特位對(duì)應(yīng)于源數(shù)據(jù)區(qū)中的一個(gè)數(shù)據(jù)塊,在每 個(gè)快照周期開始時(shí)將位圖所有比特位設(shè)置為無效,存儲(chǔ)設(shè)備可以根據(jù)該位圖 的比特位信息判斷是否需要對(duì)寫請(qǐng)求數(shù)據(jù)對(duì)應(yīng)的源數(shù)據(jù)區(qū)中的數(shù)據(jù)塊進(jìn)行快 照?;谠撛肀景l(fā)明提出了一種基于寫時(shí)拷貝的數(shù)據(jù)存儲(chǔ)方法,應(yīng)用于包 括存儲(chǔ)設(shè)備和外部設(shè)備的系統(tǒng)中,存儲(chǔ)設(shè)備和外部設(shè)備通過IP網(wǎng)相連,存儲(chǔ) 設(shè)備的存儲(chǔ)空間通過RAID技術(shù)虛擬劃分為源數(shù)據(jù)區(qū)和快照空間,所述方法 如圖9所示,包括以下步驟
步驟900,存儲(chǔ)設(shè)備啟動(dòng)一個(gè)快照周期。步驟901,存儲(chǔ)設(shè)備將源數(shù)據(jù)區(qū)中的數(shù)據(jù)塊對(duì)應(yīng)的位圖的所有比特位設(shè)置 為無效。
具體的,可以將位圖的所有比特位都初始化設(shè)置為0或都設(shè)置為1,以o
或1作為無效標(biāo)記。
步驟902,存儲(chǔ)設(shè)備接收來自外部設(shè)備的寫請(qǐng)求,寫請(qǐng)求中包括寫請(qǐng)求數(shù) 據(jù)和寫請(qǐng)求命令。
步驟903 ,存儲(chǔ)設(shè)備根據(jù)寫請(qǐng)求確定寫請(qǐng)求數(shù)據(jù)對(duì)應(yīng)的源數(shù)據(jù)區(qū)中的數(shù)據(jù)塊。
步驟904,存儲(chǔ)設(shè)備根據(jù)位圖的比特位判斷是否需要對(duì)寫請(qǐng)求數(shù)據(jù)對(duì)應(yīng)的 源數(shù)據(jù)區(qū)中的數(shù)據(jù)塊進(jìn)行快照,若判斷結(jié)果為是,轉(zhuǎn)步驟905,若判斷結(jié)果為 否,轉(zhuǎn)步驟906。
具體的,存儲(chǔ)設(shè)備根據(jù)位圖的比特位為有效標(biāo)記或者無效標(biāo)記判斷對(duì)應(yīng) 的數(shù)據(jù)塊是否需要進(jìn)行快照,若寫請(qǐng)求數(shù)據(jù)對(duì)應(yīng)的數(shù)據(jù)塊的位圖的比特位為 無效,則判斷需要對(duì)該數(shù)據(jù)塊進(jìn)行快照,若寫請(qǐng)求數(shù)據(jù)對(duì)應(yīng)的數(shù)據(jù)塊的位圖 的比特位為有效,則判斷不需要對(duì)該數(shù)據(jù)塊進(jìn)行快照。
步驟905,存儲(chǔ)設(shè)備才艮據(jù)調(diào)整后的單位監(jiān)控?cái)?shù)據(jù)量將寫請(qǐng)求數(shù)據(jù)對(duì)應(yīng)的監(jiān) 控?cái)?shù)據(jù)復(fù)制到快照空間。
步驟卯6,存儲(chǔ)設(shè)備將寫請(qǐng)求數(shù)據(jù)寫入寫請(qǐng)求數(shù)據(jù)對(duì)應(yīng)的源數(shù)據(jù)區(qū)中的數(shù) 據(jù)塊。
在步驟906之后,若步驟904中的判斷結(jié)果為是,存儲(chǔ)設(shè)備還需要將寫 請(qǐng)求數(shù)據(jù)對(duì)應(yīng)的數(shù)據(jù)塊的位圖的比特位設(shè)置為有效。
具體的,如果位圖的比特位以0作為無效標(biāo)記,則將該凄t據(jù)塊對(duì)應(yīng)的位 圖的比特位設(shè)置為1;如果位圖的比特位以l作為無效標(biāo)記,則將該數(shù)據(jù)塊對(duì) 應(yīng)的位圖的比特位設(shè)置為0。
本發(fā)明提供了一種基于寫時(shí)拷貝的數(shù)據(jù)存儲(chǔ)系統(tǒng),如圖10所示,包括外 部設(shè)備1001和存儲(chǔ)設(shè)備1002,存儲(chǔ)設(shè)備1002包括源數(shù)據(jù)區(qū)和快照空間 外部設(shè)備IOOI,用于向存儲(chǔ)設(shè)備1002發(fā)送寫請(qǐng)求數(shù)據(jù)和寫請(qǐng)求命令,寫請(qǐng)求命令中包括寫請(qǐng)求數(shù)據(jù)的起始邏輯地址和寫請(qǐng)求數(shù)據(jù)的數(shù)據(jù)量信息;
存儲(chǔ)設(shè)備1002,用于接收來自外部設(shè)備1001的寫請(qǐng)求數(shù)據(jù)和寫請(qǐng)求命令。 根據(jù)寫請(qǐng)求數(shù)據(jù)的數(shù)據(jù)量調(diào)整單位監(jiān)控?cái)?shù)據(jù)量。;f艮據(jù)寫請(qǐng)求數(shù)據(jù)的起始邏輯 地址和寫請(qǐng)求數(shù)據(jù)的數(shù)據(jù)量確定寫請(qǐng)求數(shù)據(jù)在源數(shù)據(jù)區(qū)中對(duì)應(yīng)的數(shù)據(jù)塊。判 斷是否需要對(duì)寫請(qǐng)求數(shù)據(jù)對(duì)應(yīng)的數(shù)據(jù)塊進(jìn)行快照,若判斷結(jié)果為是,根據(jù)調(diào) 整后的單位監(jiān)控?cái)?shù)據(jù)量將寫請(qǐng)求數(shù)據(jù)對(duì)應(yīng)的監(jiān)控?cái)?shù)據(jù)復(fù)制到快照空間,將寫 請(qǐng)求數(shù)據(jù)寫入對(duì)應(yīng)的數(shù)據(jù)塊。
具體的,存儲(chǔ)設(shè)備1002可以采用以下方式調(diào)整單位監(jiān)控?cái)?shù)據(jù)量將單位 監(jiān)控?cái)?shù)據(jù)量調(diào)整為寫請(qǐng)求數(shù)據(jù)的數(shù)據(jù)量;或者計(jì)算寫請(qǐng)求數(shù)據(jù)的數(shù)據(jù)量與已 處理的寫請(qǐng)求數(shù)據(jù)的數(shù)據(jù)量的平均值,并將所述單位監(jiān)控?cái)?shù)據(jù)量調(diào)整為該平 均值;或者在寫時(shí)拷貝功能啟動(dòng)后,設(shè)置標(biāo)準(zhǔn)單位監(jiān)控?cái)?shù)據(jù)量集合,該標(biāo)準(zhǔn) 單位監(jiān)控?cái)?shù)據(jù)量集合中包括至少一個(gè)標(biāo)準(zhǔn)單位監(jiān)控?cái)?shù)據(jù)量,在接收到寫請(qǐng)求 數(shù)據(jù)后,將單位監(jiān)控?cái)?shù)據(jù)量調(diào)整為標(biāo)準(zhǔn)單位監(jiān)控?cái)?shù)據(jù)量集合中與寫請(qǐng)求數(shù)據(jù) 的數(shù)據(jù)量的差的絕對(duì)值最小的標(biāo)準(zhǔn)單位監(jiān)控?cái)?shù)據(jù)量;或者在寫時(shí)拷貝功能啟 動(dòng)后,設(shè)置標(biāo)準(zhǔn)單位監(jiān)控?cái)?shù)據(jù)量集合,該標(biāo)準(zhǔn)單位監(jiān)控?cái)?shù)據(jù)量集合中包括至 少一個(gè)標(biāo)準(zhǔn)單位監(jiān)控?cái)?shù)據(jù)量,在接收到寫請(qǐng)求數(shù)據(jù)后,計(jì)算寫請(qǐng)求數(shù)據(jù)的數(shù) 據(jù)量與已處理的寫請(qǐng)求數(shù)據(jù)的數(shù)據(jù)量的平均值,將單位監(jiān)控?cái)?shù)據(jù)量調(diào)整為標(biāo) 準(zhǔn)單位監(jiān)控?cái)?shù)據(jù)量集合中與該平均值的差的絕對(duì)值最小的標(biāo)準(zhǔn)單位監(jiān)控?cái)?shù)據(jù) 量。
進(jìn)一步的,存儲(chǔ)設(shè)備1002還可以在寫時(shí)拷貝功能啟動(dòng)后,建立并維護(hù)一 個(gè)位圖,該位圖的每個(gè)比特位對(duì)應(yīng)于源數(shù)據(jù)區(qū)中的一個(gè)數(shù)據(jù)塊,在一個(gè)快照 周期開始時(shí),將該位圖的所有比特位設(shè)置為無效。之后,根據(jù)寫請(qǐng)求數(shù)據(jù)對(duì) 應(yīng)的數(shù)據(jù)塊的比特位判斷是否需要對(duì)寫請(qǐng)求數(shù)據(jù)對(duì)應(yīng)的源數(shù)據(jù)區(qū)中的數(shù)據(jù)塊 進(jìn)行快照,若比特位為無效,則判斷需要對(duì)寫請(qǐng)求數(shù)據(jù)對(duì)應(yīng)的數(shù)據(jù)塊進(jìn)行快 照,若比特位為有效,則判斷不需要對(duì)寫請(qǐng)求數(shù)據(jù)對(duì)應(yīng)的數(shù)據(jù)塊進(jìn)行快照。 并且,將寫請(qǐng)求數(shù)據(jù)寫入對(duì)應(yīng)的數(shù)據(jù)塊之后,將寫請(qǐng)求數(shù)據(jù)對(duì)應(yīng)的數(shù)據(jù)塊的 比特位設(shè)置為有效。本發(fā)明提供了一種存儲(chǔ)設(shè)備,如圖ll所示,包括接收模塊1101、調(diào)整模
塊U02、數(shù)據(jù)塊確定模塊1103、判斷模塊1104和處理模塊1105:
接收模塊1101,用于接收來自外部設(shè)備的寫請(qǐng)求數(shù)據(jù)和寫請(qǐng)求命令,寫 請(qǐng)求命令中包括寫請(qǐng)求數(shù)據(jù)的起始邏輯地址和所述寫請(qǐng)求數(shù)據(jù)的數(shù)據(jù)量信 自
調(diào)整模塊1102,用于根據(jù)接收模塊1101接收的寫請(qǐng)求數(shù)據(jù)的數(shù)據(jù)量調(diào)整 單位監(jiān)控?cái)?shù)據(jù)量。具體的,調(diào)整模塊1102可以將單位監(jiān)控?cái)?shù)據(jù)量調(diào)整為寫請(qǐng) 求數(shù)據(jù)的數(shù)據(jù)量,也可以計(jì)算該寫請(qǐng)求數(shù)據(jù)的數(shù)據(jù)量與已處理的寫請(qǐng)求數(shù)據(jù) 的數(shù)據(jù)量的平均值,并將單位監(jiān)控?cái)?shù)據(jù)量調(diào)整為該平均值。
數(shù)據(jù)塊確定模塊1103,用于根據(jù)接收模塊1101接收的寫請(qǐng)求數(shù)據(jù)的起始 邏輯地址和寫請(qǐng)求數(shù)據(jù)的數(shù)據(jù)量確定寫請(qǐng)求數(shù)據(jù)在源數(shù)據(jù)區(qū)中對(duì)應(yīng)的數(shù)據(jù) 塊。
判斷模塊1104,用于判斷是否需要對(duì)數(shù)據(jù)塊確定模塊1103確定的寫請(qǐng)求 數(shù)據(jù)對(duì)應(yīng)的數(shù)據(jù)塊進(jìn)行快照。
處理模塊1105,用于若判斷模塊1104的判斷結(jié)果為是,根據(jù)調(diào)整模塊1102 調(diào)整后的單位監(jiān)控?cái)?shù)據(jù)量將寫請(qǐng)求數(shù)據(jù)對(duì)應(yīng)的監(jiān)控?cái)?shù)據(jù)復(fù)制到快照空間,將 接收模塊1101接收的寫請(qǐng)求數(shù)據(jù)寫入數(shù)據(jù)塊確定才莫塊1103確定的寫請(qǐng)求數(shù) 據(jù)對(duì)應(yīng)的數(shù)據(jù)塊。
在圖11所示的存儲(chǔ)設(shè)備的基礎(chǔ)上,該存儲(chǔ)設(shè)備還可以包括監(jiān)控集合設(shè)置 模塊1106和監(jiān)控集合記錄模塊1107,構(gòu)成如圖12所示的存儲(chǔ)設(shè)備
監(jiān)控集合記錄模塊1106,用于存儲(chǔ)來自監(jiān)控集合設(shè)置模塊1107的標(biāo)準(zhǔn)單 位監(jiān)控?cái)?shù)據(jù)量集合。
監(jiān)控集合設(shè)置模塊1107,用于在寫時(shí)拷貝功能啟動(dòng)后,設(shè)置標(biāo)準(zhǔn)單位監(jiān) 控?cái)?shù)據(jù)量集合,并將設(shè)置的標(biāo)準(zhǔn)單位監(jiān)控?cái)?shù)據(jù)量集合傳送到監(jiān)控集合記錄模 塊1106存儲(chǔ),標(biāo)準(zhǔn)單位監(jiān)控?cái)?shù)據(jù)量集合中包括至少一個(gè)標(biāo)準(zhǔn)單位監(jiān)控?cái)?shù)據(jù)量。
則調(diào)整模塊1102,具體用于將單位監(jiān)控?cái)?shù)據(jù)量調(diào)整為監(jiān)控集合記錄模塊 1106存儲(chǔ)的標(biāo)準(zhǔn)單位監(jiān)控?cái)?shù)據(jù)量集合中與寫請(qǐng)求數(shù)據(jù)的數(shù)據(jù)量的差的絕對(duì)值 最小的標(biāo)準(zhǔn)單位監(jiān)控?cái)?shù)據(jù)量;或計(jì)算寫請(qǐng)求數(shù)據(jù)的數(shù)據(jù)量與已處理的寫請(qǐng)求數(shù)據(jù)的數(shù)據(jù)量的平均值,將單位監(jiān)控?cái)?shù)據(jù)量調(diào)整為監(jiān)控集合記錄模塊1106存 儲(chǔ)的標(biāo)準(zhǔn)單位監(jiān)控?cái)?shù)據(jù)量集合中與平均值的差的絕對(duì)值最小的標(biāo)準(zhǔn)單位監(jiān)控 數(shù)據(jù)量。
在圖11所示的存儲(chǔ)設(shè)備的基礎(chǔ)上,該存儲(chǔ)設(shè)備還可以包括位圖記錄模塊
1108和位圖設(shè)置模塊1109,構(gòu)成如圖13所示的存儲(chǔ)設(shè)備
位圖記錄模塊1108,用于存儲(chǔ)與源數(shù)據(jù)區(qū)中所有數(shù)據(jù)塊對(duì)應(yīng)的位圖。 位圖設(shè)置模塊1109,用于在一個(gè)快照周期開始時(shí),將位圖記錄模塊1108 存儲(chǔ)的位圖的所有比特位設(shè)置為無效;若判斷模塊的判斷結(jié)果為是,在將寫 請(qǐng)求數(shù)據(jù)寫入數(shù)據(jù)塊確定模塊1103確定的所述寫請(qǐng)求數(shù)據(jù)對(duì)應(yīng)的數(shù)據(jù)塊之 后,將位圖記錄模塊1108存儲(chǔ)的位圖中數(shù)據(jù)塊確定模塊1103確定的數(shù)據(jù)塊 的比特位設(shè)置為有效。
則判斷模塊1104,具體用于根據(jù)位圖記錄模塊1108存儲(chǔ)的位圖的比特位 判斷是否需要對(duì)數(shù)據(jù)塊確定模塊1103確定的寫請(qǐng)求數(shù)據(jù)對(duì)應(yīng)的數(shù)據(jù)塊進(jìn)行快 照,若所述寫請(qǐng)求數(shù)據(jù)對(duì)應(yīng)的數(shù)據(jù)塊的比特位為無效,則判斷需要對(duì)所述寫 請(qǐng)求數(shù)據(jù)對(duì)應(yīng)的數(shù)據(jù)塊進(jìn)行快照,若所述寫請(qǐng)求數(shù)據(jù)對(duì)應(yīng)的數(shù)據(jù)塊的比特位 為有效,則判斷不需要對(duì)所述寫請(qǐng)求數(shù)據(jù)對(duì)應(yīng)的數(shù)據(jù)塊進(jìn)行快照。
在圖11所示的存儲(chǔ)設(shè)備的基礎(chǔ)上,該存儲(chǔ)設(shè)備還可以同時(shí)包括監(jiān)控集合 記錄模塊1106、監(jiān)控集合設(shè)置模塊1107、位圖記錄模塊1108和位圖設(shè)置模塊 1109,構(gòu)成如圖14所示的存儲(chǔ)設(shè)備。
本發(fā)明中,根據(jù)寫請(qǐng)求數(shù)據(jù)的數(shù)據(jù)量調(diào)整單位監(jiān)控?cái)?shù)據(jù)量,并根據(jù)調(diào)整 后的單位監(jiān)控?cái)?shù)據(jù)量將寫請(qǐng)求數(shù)據(jù)對(duì)應(yīng)的監(jiān)控?cái)?shù)據(jù)復(fù)制到所述快照空間,保 持了寫入快照空間的監(jiān)控?cái)?shù)據(jù)的數(shù)據(jù)量與寫請(qǐng)求數(shù)據(jù)的數(shù)據(jù)量的 一致性,節(jié) 省了快照空間的存儲(chǔ)資源。
通過以上的實(shí)施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到本 發(fā)明可借助軟件加必需的通用硬件平臺(tái)的方式來實(shí)現(xiàn),當(dāng)然也可以通過硬 件,但很多情況下前者是更佳的實(shí)施方式。基于這樣的理解,本發(fā)明的技 術(shù)方案本質(zhì)上或者說對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計(jì)算機(jī)軟件產(chǎn)品存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)中,包括若干指令用以使 得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行 本發(fā)明所述的方法。
本領(lǐng)域技術(shù)人員可以理解附圖只是一個(gè)優(yōu)選實(shí)施例的示意圖,附圖中 的模塊或流程并不 一 定是實(shí)施本發(fā)明所必須的。
本領(lǐng)域技術(shù)人員可以理解本發(fā)明中的裝置中的模塊可以按照實(shí)施例描 述進(jìn)行分布于實(shí)施例的裝置中,也可以進(jìn)行相應(yīng)變化位于不同于本實(shí)施例 的一個(gè)或多個(gè)裝置中。上述實(shí)施例的模塊可以合并為一個(gè)模塊,也可以進(jìn) 一步拆分成多個(gè)子模塊。
以上公開的僅為本發(fā)明的幾個(gè)具體實(shí)施例,但是,本發(fā)明并非局限于 此,任何本領(lǐng)域的技術(shù)人員能思之的變化都應(yīng)落入本發(fā)明的保護(hù)范圍。
權(quán)利要求
1、一種基于寫時(shí)拷貝的數(shù)據(jù)存儲(chǔ)方法,應(yīng)用于包括存儲(chǔ)設(shè)備和外部設(shè)備的系統(tǒng)中,所述存儲(chǔ)設(shè)備包括源數(shù)據(jù)區(qū)和快照空間,其特征在于,所述方法包括以下步驟所述存儲(chǔ)設(shè)備接收來自所述外部設(shè)備的寫請(qǐng)求數(shù)據(jù)和寫請(qǐng)求命令,所述寫請(qǐng)求命令中包括所述寫請(qǐng)求數(shù)據(jù)的起始邏輯地址和所述寫請(qǐng)求數(shù)據(jù)的數(shù)據(jù)量信息;所述存儲(chǔ)設(shè)備根據(jù)所述寫請(qǐng)求數(shù)據(jù)的數(shù)據(jù)量調(diào)整單位監(jiān)控?cái)?shù)據(jù)量;所述存儲(chǔ)設(shè)備根據(jù)所述寫請(qǐng)求數(shù)據(jù)的起始邏輯地址和所述寫請(qǐng)求數(shù)據(jù)的數(shù)據(jù)量信息確定所述寫請(qǐng)求數(shù)據(jù)在所述源數(shù)據(jù)區(qū)中對(duì)應(yīng)的數(shù)據(jù)塊;所述存儲(chǔ)設(shè)備判斷是否對(duì)所述寫請(qǐng)求數(shù)據(jù)對(duì)應(yīng)的數(shù)據(jù)塊進(jìn)行快照,若判斷結(jié)果為是,根據(jù)調(diào)整后的單位監(jiān)控?cái)?shù)據(jù)量將所述寫請(qǐng)求數(shù)據(jù)對(duì)應(yīng)的監(jiān)控?cái)?shù)據(jù)復(fù)制到所述快照空間,將所述寫請(qǐng)求數(shù)據(jù)寫入所述寫請(qǐng)求數(shù)據(jù)對(duì)應(yīng)的數(shù)據(jù)塊。
2、 如權(quán)利要求l所述的方法,其特征在于,所述存儲(chǔ)設(shè)備根據(jù)所述寫請(qǐng) 求數(shù)據(jù)的數(shù)據(jù)量調(diào)整單位監(jiān)控?cái)?shù)據(jù)量包括所述存儲(chǔ)設(shè)備將所述單位監(jiān)控?cái)?shù)據(jù)量調(diào)整為所述寫請(qǐng)求數(shù)據(jù)的數(shù)據(jù)量。
3、 如權(quán)利要求l所述的方法,其特征在于,所述存儲(chǔ)設(shè)備根據(jù)所述寫請(qǐng) 求數(shù)據(jù)的數(shù)據(jù)量調(diào)整單位監(jiān)控?cái)?shù)據(jù)量包括所述存儲(chǔ)設(shè)備計(jì)算所述寫請(qǐng)求數(shù)據(jù)的數(shù)據(jù)量與已處理的寫請(qǐng)求數(shù)據(jù)的數(shù) 據(jù)量的平均值;所述存儲(chǔ)設(shè)備將所述單位監(jiān)控?cái)?shù)據(jù)量調(diào)整為所述平均值。
4、 如權(quán)利要求l所述的方法,其特征在于,還包括在寫時(shí)拷貝功能啟動(dòng)后,所述存儲(chǔ)設(shè)備設(shè)置標(biāo)準(zhǔn)單位監(jiān)控?cái)?shù)據(jù)量集合, 所述標(biāo)準(zhǔn)單位監(jiān)控?cái)?shù)據(jù)量集合中包括至少一個(gè)標(biāo)準(zhǔn)單位監(jiān)控?cái)?shù)據(jù)量;所述存儲(chǔ)設(shè)備根據(jù)所述寫請(qǐng)求數(shù)據(jù)的數(shù)據(jù)量調(diào)整單位監(jiān)控?cái)?shù)據(jù)量包括 所述存儲(chǔ)設(shè)備將所述單位監(jiān)控?cái)?shù)據(jù)量調(diào)整為所述標(biāo)準(zhǔn)單位監(jiān)控?cái)?shù)據(jù)量集 合中與所述寫請(qǐng)求凄y居的數(shù)據(jù)量的差的絕對(duì)值最小的標(biāo)準(zhǔn)單位監(jiān)控?cái)?shù)據(jù)量。
5、 如權(quán)利要求l所述的方法,其特征在于,還包括在寫時(shí)拷貝功能啟動(dòng)后,所述存儲(chǔ)設(shè)備設(shè)置標(biāo)準(zhǔn)單位監(jiān)控?cái)?shù)據(jù)量集合, 所述標(biāo)準(zhǔn)單位監(jiān)控?cái)?shù)據(jù)量集合中包括至少一個(gè)標(biāo)準(zhǔn)單位監(jiān)控?cái)?shù)據(jù)量;所述存儲(chǔ)設(shè)備根據(jù)所述寫請(qǐng)求數(shù)據(jù)的數(shù)據(jù)量調(diào)整單位監(jiān)控?cái)?shù)據(jù)量包括 所述存儲(chǔ)設(shè)備計(jì)算所述寫請(qǐng)求數(shù)據(jù)的數(shù)據(jù)量與已處理的寫請(qǐng)求數(shù)據(jù)的數(shù) 據(jù)量的平均值;所述存儲(chǔ)設(shè)備將所述單位監(jiān)控?cái)?shù)據(jù)量調(diào)整為所述標(biāo)準(zhǔn)單位監(jiān)控?cái)?shù)據(jù)量集 合中與所述平均值的差的絕對(duì)值最小的標(biāo)準(zhǔn)單位監(jiān)控?cái)?shù)據(jù)量。
6、 如權(quán)利要求1至5中任一項(xiàng)所述的方法,其特征在于,還包括 在一個(gè)快照周期開始時(shí),所述存儲(chǔ)設(shè)備將所述源數(shù)據(jù)區(qū)中所有數(shù)據(jù)塊對(duì)應(yīng)的位圖的比特位設(shè)置為無效;所述存儲(chǔ)設(shè)備判斷是否對(duì)所述寫請(qǐng)求數(shù)據(jù)對(duì)應(yīng)的數(shù)據(jù)塊進(jìn)行快照包括 所述存儲(chǔ)設(shè)備根據(jù)所述寫請(qǐng)求數(shù)據(jù)對(duì)應(yīng)的數(shù)據(jù)塊的比特位判斷是否對(duì)所述寫請(qǐng)求數(shù)據(jù)對(duì)應(yīng)的數(shù)據(jù)塊進(jìn)行快照,若所述比特位為無效,則判斷對(duì)所述寫請(qǐng)求數(shù)據(jù)對(duì)應(yīng)的數(shù)據(jù)塊進(jìn)行快照,若所述比特位為有效,則判斷不對(duì)所述寫請(qǐng)求數(shù)據(jù)對(duì)應(yīng)的數(shù)據(jù)塊進(jìn)行快照;所述存儲(chǔ)設(shè)備將所述寫請(qǐng)求數(shù)據(jù)寫入所述寫請(qǐng)求數(shù)據(jù)對(duì)應(yīng)的數(shù)據(jù)塊之后,還包括所述存儲(chǔ)設(shè)備將所述寫請(qǐng)求數(shù)據(jù)對(duì)應(yīng)的數(shù)據(jù)塊的比特位設(shè)置為有效。
7、 一種存儲(chǔ)設(shè)備,所述設(shè)備包括源數(shù)據(jù)區(qū)和快照空間,其特征在于,包括接收模塊,用于接收來自外部設(shè)備的寫請(qǐng)求數(shù)據(jù)和寫請(qǐng)求命令,所述寫 請(qǐng)求命令中包括所述寫請(qǐng)求數(shù)據(jù)的起始邏輯地址和所述寫請(qǐng)求數(shù)據(jù)的數(shù)據(jù)量 信息;調(diào)整模塊,用于根據(jù)所述接收模塊接收的寫請(qǐng)求數(shù)據(jù)的數(shù)據(jù)量調(diào)整單位 監(jiān)控?cái)?shù)據(jù)量;數(shù)據(jù)塊確定模塊,用于根據(jù)所述接收模塊接收的所述寫請(qǐng)求數(shù)據(jù)的起始邏輯地址和所述寫請(qǐng)求數(shù)據(jù)的數(shù)據(jù)量信息確定所述寫請(qǐng)求數(shù)據(jù)在所述源數(shù)據(jù)區(qū)中對(duì)應(yīng)的數(shù)據(jù)塊;判斷模塊,用于判斷是否對(duì)所述數(shù)據(jù)塊確定模塊確定的所述寫請(qǐng)求數(shù)據(jù) 對(duì)應(yīng)的數(shù)據(jù)塊進(jìn)行快照;處理模塊,用于若所述判斷模塊的判斷結(jié)果為是,根據(jù)所述調(diào)整模塊調(diào) 整后的單位監(jiān)控?cái)?shù)據(jù)量將所述寫請(qǐng)求數(shù)據(jù)對(duì)應(yīng)的監(jiān)控?cái)?shù)據(jù)復(fù)制到所述快照空 間,將所述接收模塊接收的寫請(qǐng)求數(shù)據(jù)寫入所述數(shù)據(jù)塊確定模塊確定的所述 寫請(qǐng)求數(shù)據(jù)對(duì)應(yīng)的數(shù)據(jù)塊。
8、 如權(quán)利要求7所述的存儲(chǔ)設(shè)備,其特征在于,所述調(diào)整模塊具體用于, 將所述單位監(jiān)控?cái)?shù)據(jù)量調(diào)整為所述寫請(qǐng)求數(shù)據(jù)的數(shù)據(jù)量。
9、 如權(quán)利要求7所述的存儲(chǔ)設(shè)備,其特征在于,所述調(diào)整模塊具體用于, 計(jì)算所述寫請(qǐng)求數(shù)據(jù)的數(shù)據(jù)量與已處理的寫請(qǐng)求數(shù)據(jù)的數(shù)據(jù)量的平均值;將所述單位監(jiān)控?cái)?shù)據(jù)量調(diào)整為所述平均值。
10、 如權(quán)利要求7所述的存儲(chǔ)設(shè)備,其特征在于,所述設(shè)備還包括監(jiān)控 集合設(shè)置模塊和監(jiān)控集合記錄模塊,所述監(jiān)控集合設(shè)置模塊,用于在寫時(shí)拷貝功能啟動(dòng)后,設(shè)置標(biāo)準(zhǔn)單位監(jiān) 控?cái)?shù)據(jù)量集合,并將設(shè)置的標(biāo)準(zhǔn)單位監(jiān)控?cái)?shù)據(jù)量集合傳送到所述監(jiān)控集合記 錄模塊存儲(chǔ),所述標(biāo)準(zhǔn)單位監(jiān)控?cái)?shù)據(jù)量集合中包括至少一個(gè)標(biāo)準(zhǔn)單位監(jiān)控?cái)?shù)據(jù)量;所述監(jiān)控集合記錄模塊,用于存儲(chǔ)來自所述監(jiān)控集合設(shè)置模塊的標(biāo)準(zhǔn)單 位監(jiān)控?cái)?shù)據(jù)量集合;則所述調(diào)整模塊,具體用于將所述單位監(jiān)控?cái)?shù)據(jù)量調(diào)整為所述監(jiān)控集合 記錄模塊存儲(chǔ)的標(biāo)準(zhǔn)單位監(jiān)控?cái)?shù)據(jù)量集合中與所述寫請(qǐng)求數(shù)據(jù)的數(shù)據(jù)量的差 的絕對(duì)值最小的標(biāo)準(zhǔn)單位監(jiān)控?cái)?shù)據(jù)量;或計(jì)算所述寫請(qǐng)求數(shù)據(jù)的數(shù)據(jù)量與已 處理的寫請(qǐng)求數(shù)據(jù)的數(shù)據(jù)量的平均值,將所述單位監(jiān)控?cái)?shù)據(jù)量調(diào)整為所述監(jiān) 控集合記錄模塊存儲(chǔ)的標(biāo)準(zhǔn)單位監(jiān)控?cái)?shù)據(jù)量集合中與所述平均值的差的絕對(duì) 值最小的標(biāo)準(zhǔn)單位監(jiān)控?cái)?shù)據(jù)量。
11、如權(quán)利要求7至10中任一項(xiàng)所述的存儲(chǔ)設(shè)備,其特征在于,所述設(shè) 備還包括位圖設(shè)置模塊和位圖記錄模塊,所述位圖記錄模塊,用于存儲(chǔ)與所述源數(shù)據(jù)區(qū)中所有數(shù)據(jù)塊對(duì)應(yīng)的位圖; 所述位圖設(shè)置模塊,用于在一個(gè)快照周期開始時(shí),將所述位圖記錄模塊 存儲(chǔ)的位圖的所有比特位設(shè)置為無效;在所述處理模塊將所述寫請(qǐng)求數(shù)據(jù)寫 入所述數(shù)據(jù)塊確定^f莫塊確定的所述寫請(qǐng)求數(shù)據(jù)對(duì)應(yīng)的數(shù)據(jù)塊之后,將所述位 圖記錄模塊存儲(chǔ)的位圖中所述數(shù)據(jù)塊確定模塊確定的數(shù)據(jù)塊的比特位設(shè)置為 有效;則所述判斷模塊,具體用于根據(jù)所述位圖記錄模塊存儲(chǔ)的位圖的比特位 判斷是否對(duì)所述數(shù)據(jù)塊確定模塊確定的所述寫請(qǐng)求數(shù)據(jù)對(duì)應(yīng)的數(shù)據(jù)塊進(jìn)行快 照,若所述寫請(qǐng)求數(shù)據(jù)對(duì)應(yīng)的數(shù)據(jù)塊的比特位為無效,則判斷對(duì)所述寫請(qǐng)求 數(shù)據(jù)對(duì)應(yīng)的數(shù)據(jù)塊進(jìn)行快照,若所述寫請(qǐng)求數(shù)據(jù)對(duì)應(yīng)的數(shù)據(jù)塊的比特位為有 效,則判斷不對(duì)所述寫請(qǐng)求數(shù)據(jù)對(duì)應(yīng)的數(shù)據(jù)塊進(jìn)行快照。
全文摘要
本發(fā)明公開了一種基于寫時(shí)拷貝的數(shù)據(jù)存儲(chǔ)方法、系統(tǒng)及設(shè)備,所述方法包括以下步驟存儲(chǔ)設(shè)備接收來自外部設(shè)備的寫請(qǐng)求數(shù)據(jù)和寫請(qǐng)求命令;根據(jù)所述寫請(qǐng)求數(shù)據(jù)的數(shù)據(jù)量調(diào)整單位監(jiān)控?cái)?shù)據(jù)量;根據(jù)所述寫請(qǐng)求數(shù)據(jù)的起始邏輯地址和所述寫請(qǐng)求數(shù)據(jù)的數(shù)據(jù)量信息確定所述寫請(qǐng)求數(shù)據(jù)在所述源數(shù)據(jù)區(qū)中對(duì)應(yīng)的數(shù)據(jù)塊;判斷是否對(duì)所述寫請(qǐng)求數(shù)據(jù)對(duì)應(yīng)的數(shù)據(jù)塊進(jìn)行快照,若判斷結(jié)果為是,根據(jù)調(diào)整后的單位監(jiān)控?cái)?shù)據(jù)量將所述寫請(qǐng)求數(shù)據(jù)對(duì)應(yīng)的監(jiān)控?cái)?shù)據(jù)復(fù)制到所述快照空間,將所述寫請(qǐng)求數(shù)據(jù)寫入所述寫請(qǐng)求數(shù)據(jù)對(duì)應(yīng)的數(shù)據(jù)塊。本發(fā)明中,保持了寫入快照空間的監(jiān)控?cái)?shù)據(jù)的數(shù)據(jù)量與寫請(qǐng)求數(shù)據(jù)的數(shù)據(jù)量的一致性,節(jié)省了快照空間的存儲(chǔ)資源。
文檔編號(hào)G06F12/08GK101520743SQ20091013550
公開日2009年9月2日 申請(qǐng)日期2009年4月17日 優(yōu)先權(quán)日2009年4月17日
發(fā)明者輝 朱 申請(qǐng)人:杭州華三通信技術(shù)有限公司