專利名稱:磁盤設(shè)備的持續(xù)數(shù)據(jù)保護(hù)方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及磁盤設(shè)備,尤其涉及磁盤設(shè)備的持續(xù)數(shù)據(jù)保護(hù)方法和系統(tǒng)。
背景技術(shù):
隨著信息化水平的不斷提高,數(shù)據(jù)信息逐漸成為企業(yè)賴以生存的基礎(chǔ),
數(shù)據(jù)丟失所造成的損失也日益嚴(yán)重,9.11事件所造成的災(zāi)難性的后果使人們 更加深刻地認(rèn)識(shí)到數(shù)據(jù)信息的價(jià)值和意義。最近的研究調(diào)査發(fā)現(xiàn)在很多行業(yè) 中,數(shù)據(jù)丟失或者不可用造成的損失往往達(dá)到每個(gè)小時(shí)上百萬(wàn)美元。傳統(tǒng)的 數(shù)據(jù)復(fù)制、備份、恢復(fù)等數(shù)據(jù)保護(hù)技術(shù)雖然能夠?qū)?shù)據(jù)實(shí)現(xiàn)一定程度的保護(hù), 但是這些方法的恢復(fù)點(diǎn)目標(biāo)和恢復(fù)時(shí)間目標(biāo)就顯得太長(zhǎng),對(duì)于一些關(guān)鍵的信 息系統(tǒng)是無(wú)法接受的。因此,就需要將數(shù)據(jù)備份的"固定時(shí)間間隔"盡可能 地縮小,甚至縮為零,持續(xù)數(shù)據(jù)保護(hù)(CDP, Continuous Data Protection)就 是為了滿足這樣的需求而出現(xiàn)的數(shù)據(jù)保護(hù)技術(shù)。
持續(xù)數(shù)據(jù)保護(hù)技術(shù)的關(guān)鍵詞是持續(xù),其主要功能是實(shí)現(xiàn)故障瞬間完成對(duì) 任何時(shí)間點(diǎn)數(shù)據(jù)的快速恢復(fù),保證業(yè)務(wù)的連續(xù)性。因此,能夠從根本上解決 傳統(tǒng)備份中恢復(fù)能力低和非精確時(shí)間策略(如按照天的備份)的先天弱點(diǎn)。 就給定的數(shù)據(jù)集而言,持續(xù)數(shù)據(jù)保護(hù)提供連續(xù)的恢復(fù)點(diǎn),能夠存取任何時(shí)間 點(diǎn)上的數(shù)據(jù),允許應(yīng)用恢復(fù)到任意的時(shí)間點(diǎn)之前,而不僅僅針對(duì)那些由備份 流程預(yù)先確定的特殊時(shí)刻,且恢復(fù)點(diǎn)在時(shí)間發(fā)生后選定并動(dòng)態(tài)重建。因此持 續(xù)數(shù)據(jù)保護(hù)能夠提供無(wú)限密集的恢復(fù)點(diǎn),有些情況下可以提供接近即時(shí)的恢 復(fù)。
持續(xù)數(shù)據(jù)保護(hù)技術(shù)可以在不同的層次實(shí)現(xiàn),具體來(lái)說(shuō),可以分為如下幾
類基于應(yīng)用的持續(xù)數(shù)據(jù)保護(hù),基于文件的持續(xù)數(shù)據(jù)保護(hù)和基于數(shù)據(jù)塊的持 續(xù)數(shù)據(jù)保護(hù)。目前的持續(xù)數(shù)據(jù)保護(hù)方法存在如下問(wèn)題1.應(yīng)用相關(guān)性太強(qiáng); 2.持續(xù)數(shù)據(jù)保護(hù)產(chǎn)生的數(shù)據(jù)量非常大,極大地限制了該方法的應(yīng)用范圍。為 此,本發(fā)明提出了一種基于磁盤設(shè)備的持續(xù)數(shù)據(jù)保護(hù)方法,能夠在磁盤設(shè)備
5層次進(jìn)行數(shù)據(jù)保護(hù),并且通過(guò)持續(xù)數(shù)據(jù)保護(hù)日志的多級(jí)保護(hù)機(jī)制,有效解決 了數(shù)據(jù)量大、應(yīng)用范圍有限的問(wèn)題。
發(fā)明內(nèi)容
為了解決上述的技術(shù)問(wèn)題,提供了一種磁盤設(shè)備的持續(xù)數(shù)據(jù)保護(hù)方法和 系統(tǒng),其目的在于,提出一種與應(yīng)用相關(guān)性較小的持續(xù)數(shù)據(jù)保護(hù)方案,并且 有效解決持續(xù)數(shù)據(jù)保護(hù)技術(shù)對(duì)存儲(chǔ)空間要求比較大的問(wèn)題,擴(kuò)大其應(yīng)用范圍, 增強(qiáng)實(shí)用性。
本發(fā)明提供了一種磁盤設(shè)備的持續(xù)數(shù)據(jù)保護(hù)系統(tǒng),包括
控制裝置,用于向數(shù)據(jù)獲取裝置和/或存儲(chǔ)管理裝置下發(fā)指令,以實(shí)現(xiàn)對(duì)
該持續(xù)數(shù)據(jù)保護(hù)系統(tǒng)進(jìn)行管理和控制;
數(shù)據(jù)獲取裝置,用于獲取數(shù)據(jù)并生成歷史操作信息存放到存儲(chǔ)裝置; 磁盤監(jiān)控裝置,用于監(jiān)控和截獲磁盤I/O操作,并生成歷史操作信息存
放到存儲(chǔ)裝置;
存儲(chǔ)裝置,該存儲(chǔ)裝置包含分層次的多個(gè)磁盤設(shè)備;存儲(chǔ)裝置,用于存 儲(chǔ)數(shù)據(jù)以及磁盤歷史操作信息;
存儲(chǔ)管理裝置,用于管理存儲(chǔ)裝置上存儲(chǔ)的數(shù)據(jù)。
存儲(chǔ)管理裝置,用于根據(jù)時(shí)間先后將歷史操作數(shù)據(jù)存儲(chǔ)到位于不同層次 的存儲(chǔ)裝置上。
存儲(chǔ)管理裝置,還用于在滿足預(yù)設(shè)條件時(shí),將歷史操作數(shù)據(jù)合并并且將 合并后的數(shù)據(jù)逐漸從較高層次的存儲(chǔ)設(shè)備移動(dòng)到較低層次的存儲(chǔ)設(shè)備上。
位于最高層次的磁盤設(shè)備上存放所有歷史操作數(shù)據(jù)的元數(shù)據(jù)信息以及最 近時(shí)間段的數(shù)據(jù);元數(shù)據(jù)信息包括時(shí)間戳、起始扇區(qū)號(hào)、截止扇區(qū)號(hào)、扇區(qū) 數(shù)據(jù)以及存放位置;時(shí)間戳用于描述該數(shù)據(jù)的時(shí)間點(diǎn)信息,起始扇區(qū)號(hào)用于 描述數(shù)據(jù)在磁盤設(shè)備上的起始位置,截止扇區(qū)號(hào)用于描述數(shù)據(jù)在磁盤設(shè)備上 的結(jié)束位置,存放位置用于描述數(shù)據(jù)在磁盤設(shè)備上的存放位置。
控制裝置,還用于向磁盤監(jiān)控裝置下發(fā)過(guò)濾規(guī)則,該過(guò)濾規(guī)則用于描述 需要保護(hù)的分區(qū);磁盤監(jiān)控裝置,還用于獲取磁盤I/0操作的目的分區(qū),如 果該目的分區(qū)需要保護(hù)并且該操作是寫(xiě)操作,則為該操作設(shè)置完成例程,在 完成例程中根據(jù)執(zhí)行結(jié)果確定是否記錄該操作。磁盤監(jiān)控裝置,用于支持I/0觸發(fā)方式、時(shí)間點(diǎn)觸發(fā)、和/或事件觸發(fā)方
式生成歷史操作信息;歷史操作信息包括時(shí)間戳、起始扇區(qū)號(hào)、截止扇區(qū)號(hào) 以及扇區(qū)數(shù)據(jù)信息。
磁盤監(jiān)控裝置,還用于在時(shí)間點(diǎn)觸發(fā)方式或事件觸發(fā)方式下,生成監(jiān)控 快照表,該監(jiān)控快照表用于描述對(duì)應(yīng)扇區(qū)的內(nèi)容是否改變。
數(shù)據(jù)獲取裝置,還用于在時(shí)間點(diǎn)觸發(fā)方式或事件觸發(fā)方式下創(chuàng)建分區(qū)的 快照巻,并向磁盤監(jiān)控裝置發(fā)送請(qǐng)求獲取監(jiān)控快照表,根據(jù)監(jiān)控快照表從快 照巻讀取磁盤數(shù)據(jù),生成元數(shù)據(jù)信息,將元數(shù)據(jù)信息和數(shù)據(jù)同時(shí)寫(xiě)到位于最 高層次的磁盤設(shè)備。
存儲(chǔ)管理裝置,還用于在滿足預(yù)設(shè)條件時(shí),將位于在最低層次的磁盤設(shè) 備上的數(shù)據(jù)刪除。
本發(fā)明提供了一種磁盤設(shè)備的持續(xù)數(shù)據(jù)保護(hù)方法,包括-.
步驟l,控制裝置向數(shù)據(jù)獲取裝置和/或存儲(chǔ)管理裝置下發(fā)指令,以實(shí)現(xiàn) 對(duì)磁盤設(shè)備的持續(xù)數(shù)據(jù)保護(hù)系統(tǒng)進(jìn)行管理和控制;
步驟2,磁盤監(jiān)控裝置監(jiān)控和截獲磁盤I/O操作,并生成歷史操作信息 存放到存儲(chǔ)裝置;或者磁盤監(jiān)控裝置監(jiān)控和截獲磁盤I/O操作,數(shù)據(jù)獲取裝 置獲取數(shù)據(jù)并生成歷史操作信息存放到存儲(chǔ)裝置;其中,存儲(chǔ)裝置包含具有 層次的多個(gè)磁盤設(shè)備,用于存儲(chǔ)數(shù)據(jù)以及磁盤歷史操作信息;
步驟3,存儲(chǔ)管理裝置對(duì)在存儲(chǔ)裝置上存儲(chǔ)的數(shù)據(jù)進(jìn)行管理。
步驟3中,存儲(chǔ)管理裝置根據(jù)時(shí)間先后將歷史操作數(shù)據(jù)存儲(chǔ)到位于不同 層次的存儲(chǔ)裝置上。
步驟3中,在滿足預(yù)設(shè)條件時(shí),存儲(chǔ)管理裝置還將歷史操作數(shù)據(jù)合并并 且將合并后的數(shù)據(jù)逐漸從較高層次的存儲(chǔ)設(shè)備移動(dòng)到較低層次的存儲(chǔ)設(shè)備 上。
位于最高層次的磁盤設(shè)備上存放所有歷史操作數(shù)據(jù)的元數(shù)據(jù)信息以及最 近時(shí)間段的數(shù)據(jù);元數(shù)據(jù)信息包括時(shí)間戳、起始扇區(qū)號(hào)、截止扇區(qū)號(hào)、扇區(qū) 數(shù)據(jù)以及存放位置;時(shí)間戳用于描述該數(shù)據(jù)的時(shí)間點(diǎn)信息,起始扇區(qū)號(hào)用于 描述數(shù)據(jù)在磁盤設(shè)備上的起始位置,截止扇區(qū)號(hào)用于描述數(shù)據(jù)在磁盤設(shè)備上 的結(jié)束位置,存放位置用于描述數(shù)據(jù)在磁盤設(shè)備上的存放位置。
步驟1中,控制裝置還向磁盤監(jiān)控裝置下發(fā)過(guò)濾規(guī)則,該過(guò)濾規(guī)則用于描述需要保護(hù)的分區(qū);步驟2中,磁盤監(jiān)控裝置還獲取磁盤I/0操作的目的 分區(qū),如果該目的分區(qū)需要保護(hù)并且該操作是寫(xiě)操作,則為該操作設(shè)置完成 例程,在完成例程中根據(jù)執(zhí)行結(jié)果確定是否記錄該操作。
步驟2中,磁盤監(jiān)控裝置支持I/0觸發(fā)方式、時(shí)間點(diǎn)觸發(fā)、和/或事件觸 發(fā)方式生成歷史操作信息;歷史操作信息包括時(shí)間戳、起始扇區(qū)號(hào)、截止扇 區(qū)號(hào)以及扇區(qū)數(shù)據(jù)信息。
步驟2中,在時(shí)間點(diǎn)觸發(fā)方式或事件觸發(fā)方式下,磁盤監(jiān)控裝置生成監(jiān) 控快照表,該監(jiān)控快照表用于描述對(duì)應(yīng)扇區(qū)的內(nèi)容是否改變。
步驟2中,在時(shí)間點(diǎn)觸發(fā)方式或事件觸發(fā)方式下,數(shù)據(jù)獲取裝置創(chuàng)建分 區(qū)的快照巻,并向磁盤監(jiān)控裝置發(fā)送請(qǐng)求獲取監(jiān)控快照表,根據(jù)監(jiān)控快照表 從快照巻讀取磁盤數(shù)據(jù),生成元數(shù)據(jù)信息,將元數(shù)據(jù)信息和數(shù)據(jù)同時(shí)寫(xiě)到位 于最高層次的磁盤設(shè)備。
步驟3中,在滿足預(yù)設(shè)條件時(shí),存儲(chǔ)管理裝置將位于在最低層次的磁盤 設(shè)備上的數(shù)據(jù)刪除。
本發(fā)明能夠透明的支持上層的多種應(yīng)用系統(tǒng),提高了系統(tǒng)的通用性;另 外,本發(fā)明提供了一種對(duì)歷史操作信息的存儲(chǔ)管理方法,有效解決了歷史操 作信息數(shù)據(jù)量巨大所導(dǎo)致的持續(xù)數(shù)據(jù)保護(hù)系統(tǒng)實(shí)用性較差的問(wèn)題;本發(fā)明能 夠增加持續(xù)數(shù)據(jù)保護(hù)技術(shù)的通用性和實(shí)用性,降低系統(tǒng)的應(yīng)用難度,增加系 統(tǒng)的應(yīng)用范圍。
圖1為本發(fā)明的磁盤級(jí)持續(xù)數(shù)據(jù)保護(hù)系統(tǒng)結(jié)構(gòu)圖2為本發(fā)明的磁盤監(jiān)控裝置事件分發(fā)例程的流程圖3為本發(fā)明的磁盤監(jiān)控裝置完成例程的處理流程圖4為本發(fā)明的數(shù)據(jù)獲取裝置的處理流程圖5為本發(fā)明的存儲(chǔ)管理裝置的操作流程圖6為本發(fā)明的文件備份的方法流程圖。
具體實(shí)施例方式
本發(fā)明的主要目的是提供一種通用性和實(shí)用性強(qiáng)的持續(xù)數(shù)據(jù)保護(hù)方法和
8系統(tǒng)。 一方面,提出一種面向持續(xù)數(shù)據(jù)保護(hù)系統(tǒng)的歷史數(shù)據(jù)信息存儲(chǔ)管理機(jī) 制,解決數(shù)據(jù)量巨大所導(dǎo)致的實(shí)用性不強(qiáng)的問(wèn)題,增加該方法和系統(tǒng)的應(yīng)用
范圍;另一方面,提供一種磁盤設(shè)備層次的持續(xù)數(shù)據(jù)保護(hù)方法,降低與上層 應(yīng)用的相關(guān)性,增加該方法和系統(tǒng)的通用性和應(yīng)用范圍。
根據(jù)本發(fā)明的第一個(gè)方面,本發(fā)明提供了一種在包含著一個(gè)指令存儲(chǔ)器、 一個(gè)中央處理器以及一個(gè)存儲(chǔ)裝置的計(jì)算機(jī)系統(tǒng)上的磁盤級(jí)持續(xù)數(shù)據(jù)保護(hù)方 法和系統(tǒng),該系統(tǒng)包括控制裝置、數(shù)據(jù)獲取裝置、磁盤監(jiān)控裝置、存儲(chǔ)裝置 和存儲(chǔ)管理裝置??刂蒲b置提供了配置系統(tǒng)參數(shù)所需要的接口,操作員可以 通過(guò)控制裝置對(duì)系統(tǒng)進(jìn)行統(tǒng)一的管理和控制,控制裝置自身也可以根據(jù)預(yù)定 的參數(shù)對(duì)系統(tǒng)進(jìn)行控制和管理,例如向磁盤監(jiān)控裝置下發(fā)過(guò)濾規(guī)則,向數(shù)據(jù) 獲取裝置下發(fā)指令,向存儲(chǔ)管理裝置下發(fā)指令。磁盤監(jiān)控裝置負(fù)責(zé)監(jiān)控磁盤 的I/0操作,根據(jù)預(yù)定條件,生成歷史操作記錄信息,存放到存儲(chǔ)裝置;存 儲(chǔ)裝置用于存放系統(tǒng)的磁盤歷史操作信息;存儲(chǔ)管理裝置用于管理存儲(chǔ)裝置 上存儲(chǔ)的數(shù)據(jù)。
根據(jù)本發(fā)明的第二個(gè)方面,存儲(chǔ)裝置是分層次的,按時(shí)間早晚將歷史操 作數(shù)據(jù)存儲(chǔ)到不同層次的存儲(chǔ)裝置上,越早的歷史操作數(shù)據(jù)存放到越低層次 的存儲(chǔ)設(shè)備上,越晚的歷史操作數(shù)據(jù)存放到越高層的存儲(chǔ)設(shè)備上,隨著時(shí)間 的推移,歷史操作數(shù)據(jù)會(huì)被合并并且逐漸從較高層次的存儲(chǔ)設(shè)備移動(dòng)到較低 層次的存儲(chǔ)設(shè)備上去。另外,不同時(shí)間段的歷史操作數(shù)據(jù)的時(shí)間粒度也不相 同,越早的歷史操作數(shù)據(jù)的時(shí)間粒度越大,越晚的歷史操作數(shù)據(jù)的時(shí)間粒度 越小。
根據(jù)本發(fā)明的第三個(gè)方面,最高層存儲(chǔ)設(shè)備上存放所有歷史操作數(shù)據(jù)的 元數(shù)據(jù)信息以及最近時(shí)間段的數(shù)據(jù),元數(shù)據(jù)信息包括時(shí)間戳、起始扇區(qū)號(hào)、 截止扇區(qū)號(hào)、扇區(qū)數(shù)據(jù)以及存放位置,時(shí)間戳信息用于描述該數(shù)據(jù)的時(shí)間點(diǎn) 信息,起始扇區(qū)號(hào)用于描述數(shù)據(jù)在磁盤上的起始位置,截止扇區(qū)號(hào)用于描述 數(shù)據(jù)在磁盤上的結(jié)束位置,存放位置用于描述數(shù)據(jù)在存儲(chǔ)設(shè)備上的存放位置。
根據(jù)本發(fā)明的第四個(gè)方面,磁盤監(jiān)控裝置監(jiān)控所有的磁盤I/O操作,獲 取磁盤I/0操作的目的分區(qū),與過(guò)濾規(guī)則進(jìn)行匹配,如果滿足條件,并且該 操作是寫(xiě)操作,為該操作設(shè)置完成例程,在完成例程中根據(jù)執(zhí)行結(jié)果確定是 否記錄該操作;對(duì)于不滿足過(guò)濾條件的操作,則不設(shè)置完成處理例程。在完成處理例程中,對(duì)于執(zhí)行成功的磁盤I/O操作,根據(jù)預(yù)定的條件和格式,生 成歷史操作信息,放入最高層的存儲(chǔ)裝置,或者更新監(jiān)控快照表。
根據(jù)本發(fā)明的第五個(gè)方面,磁盤監(jiān)控裝置的歷史操作信息生成支持I/O 觸發(fā)方式、時(shí)間點(diǎn)觸發(fā)以及事件觸發(fā)方式。1/0觸發(fā)方式即每次I/0操作都觸 發(fā)磁盤過(guò)濾驅(qū)動(dòng)裝置生成歷史操作信息;時(shí)間點(diǎn)觸發(fā)方式即在預(yù)定時(shí)間點(diǎn)觸 發(fā)磁盤過(guò)濾驅(qū)動(dòng)裝置生成歷史操作信息;事件觸發(fā)方式即在滿足預(yù)定事件條 件時(shí),觸發(fā)磁盤過(guò)濾驅(qū)動(dòng)裝置生成歷史操作信息。每項(xiàng)歷史操作信息包括時(shí) 間戳、起始扇區(qū)號(hào)、截止扇區(qū)號(hào)以及扇區(qū)數(shù)據(jù)信息。
根據(jù)本發(fā)明的第六個(gè)方面,在時(shí)間點(diǎn)觸發(fā)方式和事件觸發(fā)方式下,磁盤 過(guò)濾驅(qū)動(dòng)裝置包含一個(gè)監(jiān)控快照表,快照表中的每一位可以取"0"或者"1" 兩個(gè)值,"0"表示對(duì)應(yīng)扇區(qū)的內(nèi)容沒(méi)有改變,"1"表示對(duì)應(yīng)扇區(qū)的數(shù)據(jù)內(nèi)容 發(fā)生過(guò)改變。磁盤過(guò)濾驅(qū)動(dòng)裝置在截獲到滿足條件的寫(xiě)I/O操作時(shí),將相應(yīng) 的位置"1"。
根據(jù)本發(fā)明的第七個(gè)方面,在滿足時(shí)間點(diǎn)/事件條件時(shí),數(shù)據(jù)獲取裝置會(huì) 創(chuàng)建分區(qū)的快照巻,同時(shí)向磁盤監(jiān)控裝置發(fā)送請(qǐng)求,獲取監(jiān)控快照表,然后 根據(jù)監(jiān)控快照表從快照巻讀取磁盤數(shù)據(jù),生成元數(shù)據(jù)項(xiàng),將元數(shù)據(jù)項(xiàng)和數(shù)據(jù) 同時(shí)寫(xiě)到最高層的存儲(chǔ)設(shè)備。
根據(jù)本發(fā)明的第八個(gè)方面,存儲(chǔ)管理裝置用于管理存儲(chǔ)設(shè)備上的數(shù)據(jù)。 當(dāng)?shù)竭_(dá)預(yù)定時(shí)間點(diǎn)或者存儲(chǔ)設(shè)備的剩余存儲(chǔ)空間少于門限值時(shí),就會(huì)對(duì)早期 時(shí)間段的數(shù)據(jù)進(jìn)行合并并轉(zhuǎn)存到低層次的存儲(chǔ)設(shè)備上去,如果不存在更低層 次的存儲(chǔ)設(shè)備,就將數(shù)據(jù)直接刪除。通過(guò)這種方式,既保證了近期關(guān)鍵的數(shù) 據(jù),又保證了不占用過(guò)高的存儲(chǔ)空間。
使用本發(fā)明,可以在磁盤設(shè)備層次對(duì)關(guān)鍵數(shù)據(jù)實(shí)現(xiàn)持續(xù)數(shù)據(jù)保護(hù),與上 層業(yè)務(wù)應(yīng)用無(wú)關(guān),通用性比較強(qiáng);將時(shí)間較近的磁盤寫(xiě)操作日志信息采用細(xì) 粒度的保存機(jī)制,對(duì)于超過(guò)預(yù)定期限的磁盤寫(xiě)操作日志信息進(jìn)行合并,減少 數(shù)據(jù)量,降低對(duì)數(shù)據(jù)存儲(chǔ)空間的需求,并將合并后的數(shù)據(jù)轉(zhuǎn)存到二級(jí)存儲(chǔ)介 質(zhì)。
請(qǐng)參閱圖1所示,是本發(fā)明提供的磁盤級(jí)持續(xù)數(shù)據(jù)保護(hù)系統(tǒng)結(jié)構(gòu)示意圖。 本備份系統(tǒng)包括控制裝置A、數(shù)據(jù)獲取裝置B、磁盤監(jiān)控裝置C、存儲(chǔ)裝置 D以及存儲(chǔ)管理裝置E (存儲(chǔ)管理裝置主要用來(lái)管理存儲(chǔ)裝置上的數(shù)據(jù),而控制裝置負(fù)責(zé)對(duì)整個(gè)系統(tǒng)的各個(gè)部件進(jìn)行管理)。控制裝置提供了用戶配置系 統(tǒng)參數(shù)的接口,并根據(jù)配置參數(shù)管理系統(tǒng)中其它裝置的運(yùn)行。磁盤監(jiān)控裝置 用于監(jiān)控和截獲系統(tǒng)中的磁盤I/O操作,根據(jù)預(yù)定的方式生成歷史操作信息, 存放到存儲(chǔ)設(shè)備。當(dāng)采用時(shí)間點(diǎn)驅(qū)動(dòng)或者事件驅(qū)動(dòng)時(shí),當(dāng)滿足時(shí)間/事件條件
時(shí),控制裝置會(huì)向數(shù)據(jù)獲取指令發(fā)送指令A(yù)101;磁盤監(jiān)控裝置需要的過(guò)濾規(guī) 則也是由控制裝置下發(fā)A102;另外,控制裝置還會(huì)配置或者更新存儲(chǔ)裝置的 相關(guān)參數(shù)A103;存儲(chǔ)管理裝置運(yùn)行指令也是由控制裝置下發(fā)A104。在使用 時(shí)間/事件方式驅(qū)動(dòng)時(shí),數(shù)據(jù)獲取裝置收到控制裝置的指令后,會(huì)向磁盤監(jiān)控 裝置發(fā)送請(qǐng)求,獲取監(jiān)控快照表B102;并且會(huì)將生成的元數(shù)據(jù)和讀取的數(shù)據(jù) 存放到存儲(chǔ)裝置BIOI。當(dāng)采用磁盤I/0觸發(fā)方式時(shí),磁盤監(jiān)控裝置也會(huì)生成 歷史操作信息,寫(xiě)入到存儲(chǔ)裝置CIOI。存儲(chǔ)管理裝置會(huì)對(duì)存儲(chǔ)裝置上的歷史 操作數(shù)據(jù)進(jìn)行管理,定時(shí)的對(duì)指定時(shí)間段的數(shù)據(jù)進(jìn)行合并,并將數(shù)據(jù)在不同 層次的存儲(chǔ)設(shè)備之間進(jìn)行移動(dòng)或者清除。存儲(chǔ)管理裝置收到指令后,會(huì)對(duì)存 儲(chǔ)裝置上的數(shù)據(jù)進(jìn)行合并和轉(zhuǎn)存處理E101 。存儲(chǔ)裝置用于存放持續(xù)數(shù)據(jù)保護(hù) 系統(tǒng)生成的歷史操作信息。
本發(fā)明提供的磁盤設(shè)備的持續(xù)數(shù)據(jù)保護(hù)方法,包括
步驟l,控制裝置向數(shù)據(jù)獲取裝置和/或存儲(chǔ)管理裝置下發(fā)指令,以實(shí)現(xiàn) 對(duì)磁盤設(shè)備的持續(xù)數(shù)據(jù)保護(hù)系統(tǒng)進(jìn)行管理和控制;
步驟2,磁盤監(jiān)控裝置監(jiān)控和截獲磁盤I/O操作,并生成歷史操作信息 存放到存儲(chǔ)裝置;或者磁盤監(jiān)控裝置監(jiān)控和截獲磁盤I/O操作,數(shù)據(jù)獲取裝 置獲取數(shù)據(jù)并生成歷史操作信息存放到存儲(chǔ)裝置;其中,存儲(chǔ)裝置包含具有 層次的多個(gè)磁盤設(shè)備,用于存儲(chǔ)數(shù)據(jù)以及磁盤歷史操作信息;
步驟3,存儲(chǔ)管理裝置對(duì)在存儲(chǔ)裝置上存儲(chǔ)的數(shù)據(jù)進(jìn)行管理。
圖2和圖3示出了磁盤監(jiān)控裝置的工作流程。磁盤監(jiān)控裝置包括兩個(gè)部 分分發(fā)例程和完成例程。在事件分發(fā)例程中,截獲所有的磁盤操作事件, 進(jìn)行過(guò)濾,對(duì)符合條件的磁盤操作,設(shè)置完成例程,在完成例程中再對(duì)其進(jìn) 行進(jìn)一步處理。
圖2示出了磁盤監(jiān)控裝置分發(fā)例程的執(zhí)行流程,具體描述如下 步驟C201:判斷磁盤操作的目的分區(qū)是否是需要保護(hù)的分區(qū),如果是,
執(zhí)行步驟C202,如果不是,執(zhí)行步驟C203;
ii步驟C202:設(shè)置完成例程; 步驟D203:將事件轉(zhuǎn)發(fā)到下層。
圖3示出了磁盤監(jiān)控裝置完成例程的執(zhí)行流程,具體描述如下
步驟C30h判斷該磁盤操作是否執(zhí)行成功,如果執(zhí)行成功,執(zhí)行步驟 C302;
步驟C302:判斷歷史記錄方式,如果是I/0驅(qū)動(dòng)方式,執(zhí)行步驟C303; 如果是時(shí)間/事件驅(qū)動(dòng)方式,執(zhí)行步驟C304;
步驟C303:形成歷史操作信息,寫(xiě)到存儲(chǔ)裝置; 步驟C304:設(shè)置監(jiān)控快照表。
磁盤監(jiān)控裝置可以完成i/o觸發(fā)的磁盤操作,時(shí)間/事件觸發(fā)的i/o操作
還需要數(shù)據(jù)獲取裝置支持完成。圖4示出了數(shù)據(jù)獲取裝置的執(zhí)行流程,具體
描述如下
步驟B401:等待接收觸發(fā)消息; 步驟B402:建立目標(biāo)分區(qū)的快照; 步驟B403:從磁盤監(jiān)控裝置獲取監(jiān)控快照表;
步驟B404:根據(jù)監(jiān)控快照表從快照巻讀取數(shù)據(jù),生成歷史操作記錄,寫(xiě) 到存儲(chǔ)裝置;
步驟B405:刪除目標(biāo)分區(qū)的快照。
存儲(chǔ)裝置是分層次的,為了便于下面描述,定義&為第/層次的存儲(chǔ)設(shè) 備,^是最高層的存儲(chǔ)設(shè)備,該存儲(chǔ)設(shè)備上存放元數(shù)據(jù)信息以及最近時(shí)間段 的數(shù)據(jù)。用T14表示時(shí)刻u到時(shí)刻6之間歷史數(shù)據(jù)信息的元數(shù)據(jù),用/,,表示
存儲(chǔ)設(shè)備支持的時(shí)間粒度,當(dāng)/5,=0時(shí),表示每次磁盤i/o都產(chǎn)生一條歷史操
作信息,/,產(chǎn)1小時(shí),就是指每l小時(shí)內(nèi)的磁盤操作合并在一起生成歷史操作
{曰息集合。
圖5示出了對(duì)存儲(chǔ)設(shè)備&上存儲(chǔ)數(shù)據(jù)和并清理的過(guò)程,假設(shè)在該存儲(chǔ)裝
置上存放了從時(shí)刻,,.到時(shí)刻tj的歷史操作信息,具體描述如下
步驟E501:搜索時(shí)間點(diǎn)A到^找出比6+(^)/2大的最近的時(shí)間點(diǎn)^步驟E502:判斷該存儲(chǔ)裝置是否是最底層的存儲(chǔ)裝置,如果是,執(zhí)行步 驟E503,否則執(zhí)行步驟E504;
步驟E503:將A到^之間的數(shù)據(jù)刪除; 步驟E504:令^1;
步驟E505:從時(shí)間點(diǎn)開(kāi)始搜索,査找比4+/^大的最近的時(shí)間點(diǎn)& 步驟E506:判斷Q是否大于&,如果大于,執(zhí)行步驟E507,否則,執(zhí)行 步驟E508;
歩驟E507:令^=&;
步驟E508:將^和^之間的數(shù)據(jù)進(jìn)行合并; 步驟E509:令4等于^; 步驟E510:判斷^是否等于^
步驟E511:判斷下一層存儲(chǔ)設(shè)備是否能夠存放^和 〃之間合并的數(shù)據(jù), 如果是,執(zhí)行步驟E513,否則,執(zhí)行歩驟E512;
步驟E512:對(duì)底層存儲(chǔ)設(shè)備的數(shù)據(jù)進(jìn)行合并移動(dòng); 步驟E513:將數(shù)據(jù)移動(dòng)到底層存儲(chǔ)設(shè)備。
圖6示出了數(shù)據(jù)合并的流程圖,這里描述了時(shí)間點(diǎn)^和 〃之間的數(shù)據(jù)合 并過(guò)程,具體描述如下
步驟E601:將7l4和A^.中的元數(shù)據(jù)項(xiàng)按起始扇區(qū)號(hào)進(jìn)行排序;
步驟E602: ^4中是否有未處理的元數(shù)據(jù)項(xiàng),如果有,執(zhí)行步驟E603, 否則,執(zhí)行步驟E607;
步驟E603:從中取出一個(gè)元數(shù)據(jù)項(xiàng)7kf,a;
步驟E604:判斷元數(shù)據(jù)項(xiàng)Mfa包含的扇區(qū)范圍是否被中扇區(qū)范圍所
包含,如果是,則執(zhí)行步驟E606;否則,執(zhí)行步驟E605;
步驟E605:將元數(shù)據(jù)項(xiàng)T^a直接放到新的元數(shù)據(jù)集合if/中; 步驟E607:將元數(shù)據(jù)項(xiàng)7^a中沒(méi)有被包含的部分形成新的元數(shù)據(jù)項(xiàng),放
到新的元數(shù)據(jù)集合^/'中;將元數(shù)據(jù)項(xiàng)Af,a被包含扇區(qū)范圍部分的數(shù)據(jù)刪除。 步驟E608:將71^中的元數(shù)據(jù)項(xiàng)依次存放到新的元數(shù)據(jù)集合71//中。 本領(lǐng)域的技術(shù)人員在不脫離權(quán)利要求書(shū)確定的本發(fā)明的精神和范圍的條
件下,還可以對(duì)以上內(nèi)容進(jìn)行各種各樣的修改。因此本發(fā)明的范圍并不僅限
于以上的說(shuō)明,而是由權(quán)利要求書(shū)的范圍來(lái)確定的。
1權(quán)利要求
1. 一種磁盤設(shè)備的持續(xù)數(shù)據(jù)保護(hù)系統(tǒng),其特征在于,包括控制裝置、數(shù)據(jù)獲取裝置、磁盤監(jiān)控裝置、存儲(chǔ)裝置以及存儲(chǔ)管理裝置;控制裝置,用于向數(shù)據(jù)獲取裝置和/或存儲(chǔ)管理裝置下發(fā)指令,以實(shí)現(xiàn)對(duì)該持續(xù)數(shù)據(jù)保護(hù)系統(tǒng)進(jìn)行管理和控制;數(shù)據(jù)獲取裝置,用于獲取數(shù)據(jù)并生成歷史操作信息存放到存儲(chǔ)裝置;磁盤監(jiān)控裝置,用于監(jiān)控和截獲磁盤I/O操作,并生成歷史操作信息存放到存儲(chǔ)裝置;存儲(chǔ)裝置,該存儲(chǔ)裝置包含分層次的多個(gè)磁盤設(shè)備,用于存儲(chǔ)數(shù)據(jù)以及磁盤歷史操作信息;存儲(chǔ)管理裝置,用于管理存儲(chǔ)裝置上存儲(chǔ)的數(shù)據(jù)。
2. 如權(quán)利要求1所述的磁盤設(shè)備的持續(xù)數(shù)據(jù)保護(hù)系統(tǒng),其特征在于,存儲(chǔ)管理裝置,用于根據(jù)時(shí)間先后將歷史操作數(shù)據(jù)存儲(chǔ)到位于不同層次的存儲(chǔ)裝置上。
3. 如權(quán)利要求1所述的磁盤設(shè)備的持續(xù)數(shù)據(jù)保護(hù)系統(tǒng),其特征在于,存儲(chǔ)管理裝置,還用于在滿足預(yù)設(shè)條件時(shí),將歷史操作數(shù)據(jù)合并并且將合并后的數(shù)據(jù)逐漸從較高層次的存儲(chǔ)設(shè)備移動(dòng)到較低層次的存儲(chǔ)設(shè)備上。
4. 如權(quán)利要求1所述的磁盤設(shè)備的持續(xù)數(shù)據(jù)保護(hù)系統(tǒng),其特征在于,位于最高層次的磁盤設(shè)備上存放所有歷史操作數(shù)據(jù)的元數(shù)據(jù)信息以及最近時(shí)間段的數(shù)據(jù);元數(shù)據(jù)信息包括時(shí)間戳、起始扇區(qū)號(hào)、截止扇區(qū)號(hào)、扇區(qū)數(shù)據(jù)以及存放位置;時(shí)間戳用于描述該數(shù)據(jù)的時(shí)間點(diǎn)信息,起始扇區(qū)號(hào)用于描述數(shù)據(jù)在磁盤設(shè)備上的起始位置,截止扇區(qū)號(hào)用于描述數(shù)據(jù)在磁盤設(shè)備上的結(jié)束位置,存放位置用于描述數(shù)據(jù)在磁盤設(shè)備上的存放位置。
5. 如權(quán)利要求1所述的磁盤設(shè)備的持續(xù)數(shù)據(jù)保護(hù)系統(tǒng),其特征在于,控制裝置,還用于向磁盤監(jiān)控裝置下發(fā)過(guò)濾規(guī)則,該過(guò)濾規(guī)則用于描述需要保護(hù)的分區(qū);磁盤監(jiān)控裝置,還用于獲取磁盤I/0操作的目的分區(qū),如果該目的分區(qū)需要保護(hù)并且該操作是寫(xiě)操作,則為該操作設(shè)置完成例程,在完成例程中根據(jù)執(zhí)行結(jié)果確定是否記錄該操作。
6. 如權(quán)利要求1所述的磁盤設(shè)備的持續(xù)數(shù)據(jù)保護(hù)系統(tǒng),其特征在于,磁盤監(jiān)控裝置,用于支持I/0觸發(fā)方式、時(shí)間點(diǎn)觸發(fā)、和/或事件觸發(fā)方式生成歷史操作信息;歷史操作信息包括時(shí)間戳、起始扇區(qū)號(hào)、截止扇區(qū)號(hào)以及扇區(qū)數(shù)據(jù)信息。
7. 如權(quán)利要求4所述的磁盤設(shè)備的持續(xù)數(shù)據(jù)保護(hù)系統(tǒng),其特征在于,磁盤監(jiān)控裝置,還用于在時(shí)間點(diǎn)觸發(fā)方式或事件觸發(fā)方式下,生成監(jiān)控快照表,該監(jiān)控快照表用于描述對(duì)應(yīng)扇區(qū)的內(nèi)容是否改變。
8. 如權(quán)利要求7所述的磁盤設(shè)備的持續(xù)數(shù)據(jù)保護(hù)系統(tǒng),其特征在于,數(shù)據(jù)獲取裝置,還用于在時(shí)間點(diǎn)觸發(fā)方式或事件觸發(fā)方式下創(chuàng)建分區(qū)的快照巻,并向磁盤監(jiān)控裝置發(fā)送請(qǐng)求獲取監(jiān)控快照表,根據(jù)監(jiān)控快照表從快照巻讀取磁盤數(shù)據(jù),生成元數(shù)據(jù)信息,將元數(shù)據(jù)信息和數(shù)據(jù)同時(shí)寫(xiě)到位于最高層次的磁盤設(shè)備。
9. 如權(quán)利要求1所述的磁盤設(shè)備的持續(xù)數(shù)據(jù)保護(hù)系統(tǒng),其特征在于,存儲(chǔ)管理裝置,還用于在滿足預(yù)設(shè)條件時(shí),將位于在最低層次的磁盤設(shè)備上的數(shù)據(jù)刪除。
10. —種磁盤設(shè)備的持續(xù)數(shù)據(jù)保護(hù)方法,其特征在于,包括步驟l,控制裝置向數(shù)據(jù)獲取裝置和/或存儲(chǔ)管理裝置下發(fā)指令,以實(shí)現(xiàn)對(duì)磁盤設(shè)備的持續(xù)數(shù)據(jù)保護(hù)系統(tǒng)進(jìn)行管理和控制;歩驟2,磁盤監(jiān)控裝置監(jiān)控和截獲磁盤I/O操作,并生成歷史操作信息存放到存儲(chǔ)裝置;或者磁盤監(jiān)控裝置監(jiān)控和截獲磁盤I/O操作,數(shù)據(jù)獲取裝置獲取數(shù)據(jù)并生成歷史操作信息存放到存儲(chǔ)裝置;其中,存儲(chǔ)裝置包含具有層次的多個(gè)磁盤設(shè)備,用于存儲(chǔ)數(shù)據(jù)以及磁盤歷史操作信息;步驟3,存儲(chǔ)管理裝置對(duì)在存儲(chǔ)裝置上存儲(chǔ)的數(shù)據(jù)進(jìn)行管理。
11. 如權(quán)利要求10所述的磁盤設(shè)備的持續(xù)數(shù)據(jù)保護(hù)方法,其特征在于,步驟3中,存儲(chǔ)管理裝置根據(jù)時(shí)間先后將歷史操作數(shù)據(jù)存儲(chǔ)到位于不同層次的存儲(chǔ)裝置上。
12. 如權(quán)利要求10所述的磁盤設(shè)備的持續(xù)數(shù)據(jù)保護(hù)方法,其特征在于,步驟3中,在滿足預(yù)設(shè)條件時(shí),存儲(chǔ)管理裝置還將歷史操作數(shù)據(jù)合并并且將合并后的數(shù)據(jù)逐漸從較高層次的存儲(chǔ)設(shè)備移動(dòng)到較低層次的存儲(chǔ)設(shè)備上。
13. 如權(quán)利要求10所述的磁盤設(shè)備的持續(xù)數(shù)據(jù)保護(hù)方法,其特征在于,位于最高層次的磁盤設(shè)備上存放所有歷史操作數(shù)據(jù)的元數(shù)據(jù)信息以及最近時(shí)間段的數(shù)據(jù);元數(shù)據(jù)信息包括時(shí)間戳、起始扇區(qū)號(hào)、截止扇區(qū)號(hào)、扇區(qū)數(shù)據(jù)以及存放位置;時(shí)間戳用于描述該數(shù)據(jù)的時(shí)間點(diǎn)信息,起始扇區(qū)號(hào)用于描述數(shù)據(jù)在磁盤設(shè)備上的起始位置,截止扇區(qū)號(hào)用于描述數(shù)據(jù)在磁盤設(shè)備上的結(jié)束位置,存放位置用于描述數(shù)據(jù)在磁盤設(shè)備上的存放位置。
14. 如權(quán)利要求10所述的磁盤設(shè)備的持續(xù)數(shù)據(jù)保護(hù)方法,其特征在于,步驟1中,控制裝置還向磁盤監(jiān)控裝置下發(fā)過(guò)濾規(guī)則,該過(guò)濾規(guī)則用于描述需要保護(hù)的分區(qū);步驟2中,磁盤監(jiān)控裝置還獲取磁盤I/0操作的目的分區(qū),如果該目的分區(qū)需要保護(hù)并且該操作是寫(xiě)操作,則為該操作設(shè)置完成例程,在完成例程中根據(jù)執(zhí)行結(jié)果確定是否記錄該操作。
15. 如權(quán)利要求10所述的磁盤設(shè)備的持續(xù)數(shù)據(jù)保護(hù)方法,其特征在于,步驟2中,磁盤監(jiān)控裝置支持I/0觸發(fā)方式、時(shí)間點(diǎn)觸發(fā)、和/或事件觸發(fā)方式生成歷史操作信息;歷史操作信息包括時(shí)間戳、起始扇區(qū)號(hào)、截止扇區(qū)號(hào)以及扇區(qū)數(shù)據(jù)信息。
16. 如權(quán)利要求13所述的磁盤設(shè)備的持續(xù)數(shù)據(jù)保護(hù)方法,其特征在于,步驟2中,在時(shí)間點(diǎn)觸發(fā)方式或事件觸發(fā)方式下,磁盤監(jiān)控裝置生成監(jiān)控快照表,該監(jiān)控快照表用于描述對(duì)應(yīng)扇區(qū)的內(nèi)容是否改變。
17. 如權(quán)利要求16所述的磁盤設(shè)備的持續(xù)數(shù)據(jù)保護(hù)方法,其特征在于,歩驟2中,在時(shí)間點(diǎn)觸發(fā)方式或事件觸發(fā)方式下,數(shù)據(jù)獲取裝置創(chuàng)建分區(qū)的快照巻,并向磁盤監(jiān)控裝置發(fā)送請(qǐng)求獲取監(jiān)控快照表,根據(jù)監(jiān)控快照表從快照巻讀取磁盤數(shù)據(jù),生成元數(shù)據(jù)信息,將元數(shù)據(jù)信息和數(shù)據(jù)同時(shí)寫(xiě)到位于最高層次的磁盤設(shè)備。
18. 如權(quán)利要求10所述的磁盤設(shè)備的持續(xù)數(shù)據(jù)保護(hù)方法,其特征在于,步驟3中,在滿足預(yù)設(shè)條件時(shí),存儲(chǔ)管理裝置將位于在最低層次的磁盤設(shè)備上的數(shù)據(jù)刪除。
全文摘要
本發(fā)明涉及磁盤設(shè)備的持續(xù)數(shù)據(jù)保護(hù)方法和系統(tǒng)。該系統(tǒng)包括控制裝置,用于向數(shù)據(jù)獲取裝置和/或存儲(chǔ)管理裝置下發(fā)指令,以實(shí)現(xiàn)對(duì)該持續(xù)數(shù)據(jù)保護(hù)系統(tǒng)進(jìn)行管理和控制;數(shù)據(jù)獲取裝置,用于獲取數(shù)據(jù)并生成歷史操作信息存放到存儲(chǔ)裝置;磁盤監(jiān)控裝置,用于監(jiān)控和截獲磁盤I/O操作,并生成歷史操作信息存放到存儲(chǔ)裝置;存儲(chǔ)裝置,該存儲(chǔ)裝置包含分層次的多個(gè)磁盤設(shè)備;存儲(chǔ)裝置,用于存儲(chǔ)數(shù)據(jù)以及磁盤歷史操作信息;存儲(chǔ)管理裝置,用于管理存儲(chǔ)裝置上存儲(chǔ)的數(shù)據(jù)。本發(fā)明有效解決了歷史操作信息數(shù)據(jù)量巨大所導(dǎo)致的持續(xù)數(shù)據(jù)保護(hù)系統(tǒng)實(shí)用性較差的問(wèn)題,能夠增加持續(xù)數(shù)據(jù)保護(hù)技術(shù)的通用性和實(shí)用性,降低系統(tǒng)的應(yīng)用難度,增加系統(tǒng)的應(yīng)用范圍。
文檔編號(hào)G06F11/14GK101464820SQ200910077029
公開(kāi)日2009年6月24日 申請(qǐng)日期2009年1月16日 優(yōu)先權(quán)日2009年1月16日
發(fā)明者云曉春, 吳志剛, 祥 崔, 王樹(shù)鵬, 浩 羅, 莉 郭 申請(qǐng)人:中國(guó)科學(xué)院計(jì)算技術(shù)研究所