欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種磁盤(pán)保護(hù)方法及裝置的制作方法

文檔序號(hào):6370242閱讀:132來(lái)源:國(guó)知局
專利名稱:一種磁盤(pán)保護(hù)方法及裝置的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及磁盤(pán)索引文件結(jié)構(gòu)技術(shù),尤其涉及一種通過(guò)二級(jí)索引結(jié)構(gòu)來(lái)實(shí)現(xiàn)磁盤(pán)保護(hù)的方法及裝置。
背景技術(shù)
在IP監(jiān)控存儲(chǔ)領(lǐng)域,由前端攝像機(jī)通過(guò)iSCSI掛載遠(yuǎn)端的IPSAN設(shè)備是常見(jiàn)的組網(wǎng)方式。如果中間的網(wǎng)絡(luò)發(fā)生異常,容易導(dǎo)致本地掛載的節(jié)點(diǎn)發(fā)生只讀等情況,也很容易導(dǎo)致文件系統(tǒng)損壞、或者出現(xiàn)磁盤(pán)壞道等。針對(duì)這樣的問(wèn)題,現(xiàn)有的解決方案大多是從如何避免磁盤(pán)或者文件系統(tǒng)發(fā)生異常著手的。比如說(shuō),在文件系統(tǒng)基礎(chǔ)上先建立固定文件,然后在文件系統(tǒng)的開(kāi)始位置建立這些固定文件的索引信息。由于一開(kāi)始建立了固定文件,所以在文件更新時(shí),文件系統(tǒng)不需要過(guò)多更新系統(tǒng)索引區(qū),因此減少了因索引區(qū)更新錯(cuò)誤而導(dǎo)致 的文件系統(tǒng)異常。然而在開(kāi)始位置建立索引區(qū),容易出現(xiàn)索引區(qū)所在磁道成為訪問(wèn)的熱點(diǎn),增大了磁盤(pán)故障風(fēng)險(xiǎn)。而且一旦文件索引區(qū)或者數(shù)據(jù)區(qū)發(fā)生異常,現(xiàn)有技術(shù)沒(méi)有恢復(fù)或者剔除損壞磁道的機(jī)制。

發(fā)明內(nèi)容
有鑒于此,本發(fā)明提供一種磁盤(pán)保護(hù)裝置,應(yīng)用于計(jì)算機(jī)系統(tǒng)上,該裝置包括格式化單元,用于根據(jù)用戶的規(guī)劃將磁盤(pán)的存儲(chǔ)空間格式化為二級(jí)索引結(jié)構(gòu),其中格式化后的存儲(chǔ)空間包括多個(gè)一級(jí)索引區(qū),每個(gè)一級(jí)索引區(qū)的索引記錄指向一個(gè)數(shù)據(jù)區(qū),每個(gè)數(shù)據(jù)區(qū)包括二級(jí)索引區(qū);列表加載單元,用于將每個(gè)一級(jí)索引區(qū)的地址信息保存到內(nèi)存的索引列表中;索引更新單元,用于在每次需要將內(nèi)存中的索引記錄更新到一級(jí)索引區(qū)時(shí),以循環(huán)的方式選取下一個(gè)一級(jí)索引區(qū)作為當(dāng)前一級(jí)索引區(qū),根據(jù)索引列表中的地址信息找到當(dāng)前一級(jí)索引區(qū)并對(duì)當(dāng)前一級(jí)索引區(qū)的索引記錄進(jìn)行更新,以將對(duì)一級(jí)索引區(qū)的更新分散到多個(gè)磁盤(pán)區(qū)域。本發(fā)明還提供一種磁盤(pán)保護(hù)方法,應(yīng)用于計(jì)算機(jī)系統(tǒng)上,該方法包括A、根據(jù)用戶的規(guī)劃將磁盤(pán)的存儲(chǔ)空間格式化為二級(jí)索引結(jié)構(gòu),其中格式化后的存儲(chǔ)空間包括多個(gè)一級(jí)索引區(qū),每個(gè)一級(jí)索引區(qū)的索引記錄指向一個(gè)數(shù)據(jù)區(qū),每個(gè)數(shù)據(jù)區(qū)包括二級(jí)索引區(qū);B、將每個(gè)一級(jí)索引區(qū)的地址信息保存到內(nèi)存的索引列表中;C、在每次需要將內(nèi)存中的索引記錄更新到一級(jí)索引區(qū)時(shí),以循環(huán)的方式選取下一個(gè)一級(jí)索引區(qū)作為當(dāng)前一級(jí)索引區(qū),根據(jù)索引列表中的地址信息找到當(dāng)前一級(jí)索引區(qū)并對(duì)當(dāng)前一級(jí)索引區(qū)的索引記錄進(jìn)行更新,以將對(duì)一級(jí)索引區(qū)的更新分散到多個(gè)磁盤(pán)區(qū)域。本發(fā)明通過(guò)二級(jí)索引結(jié)構(gòu)下循環(huán)更新的方式有效避免了一級(jí)索引區(qū)因?yàn)轭l繁更新而容易引發(fā)磁盤(pán)或磁道故障的問(wèn)題;并能在發(fā)生磁道故障時(shí)有效減小磁道故障引發(fā)的問(wèn)題,即便磁道故障發(fā)生在一級(jí)索引區(qū),本發(fā)明還有其他一級(jí)索引區(qū)作為備份,由于本發(fā)明可以將發(fā)生磁道故障的一級(jí)索引區(qū)剔除,因此也不會(huì)因?yàn)槟硞€(gè)一級(jí)索引區(qū)發(fā)生磁道故障而影響前述的一級(jí)索引區(qū)循環(huán)更新的機(jī)制。


圖I是本發(fā)明一種實(shí)施方式的流程處理圖;圖2是本發(fā)明一種實(shí)施方式中磁盤(pán)保護(hù)裝置邏輯結(jié)構(gòu)圖;圖3是本發(fā)明一種實(shí)施方式中二級(jí)索引結(jié)構(gòu)示意圖;圖4是本發(fā)明另一種實(shí)施方式的流程處理圖。
具體實(shí)施例方式為了使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面結(jié)合附圖和具體實(shí)施例對(duì)本發(fā)明進(jìn)行詳細(xì)描述。請(qǐng)參考圖1,圖2以及圖3,在本發(fā)明一種通過(guò)計(jì)算機(jī)程序?qū)崿F(xiàn)的實(shí)施方式中,本發(fā)明磁盤(pán)保護(hù)裝置包括格式化處理單元、列表加載單元以及索引更新單元;相應(yīng)的處理流程包括以下步驟步驟101,格式化單元根據(jù)用戶的規(guī)劃將磁盤(pán)的存儲(chǔ)空間格式化為二級(jí)索引結(jié)構(gòu),其中格式化后的存儲(chǔ)空間包括多個(gè)一級(jí)索引區(qū),每個(gè)一級(jí)索引區(qū)的索引記錄指向一個(gè)數(shù)據(jù)區(qū),每個(gè)數(shù)據(jù)區(qū)包括二級(jí)索引區(qū);圖3是本發(fā)明對(duì)指定磁盤(pán)進(jìn)行格式化后呈現(xiàn)出的一種示例性的二級(jí)索引結(jié)構(gòu),其中包括多個(gè)相同大小的一級(jí)索引區(qū)(分別編號(hào)為I至m),且每個(gè)一級(jí)索引區(qū)相隔的存儲(chǔ)空間大小相同,也就是說(shuō)一級(jí)索引區(qū)在磁盤(pán)中是呈現(xiàn)出相對(duì)均勻分布。比如說(shuō)圖3中每個(gè)一級(jí)索引區(qū)的大小均為16M,二級(jí)索引區(qū)(分別編號(hào)為I至η)的大小均為64Μ。每個(gè)一級(jí)索引 區(qū)的索引記錄指向一個(gè)數(shù)據(jù)區(qū),這個(gè)數(shù)據(jù)區(qū)的大小在圖3中為64Μ的二級(jí)索引區(qū)的空間加上由多個(gè)數(shù)據(jù)塊組成的2G數(shù)據(jù)空間;每個(gè)二級(jí)索引區(qū)的索引記錄指向具體數(shù)據(jù)塊。其中一級(jí)索引記錄包括前一個(gè)和后一個(gè)一級(jí)索引記錄的位置、二級(jí)索引區(qū)的位置(也就是前述數(shù)據(jù)區(qū)的位置)以及引用計(jì)數(shù)等;而二級(jí)索引記錄包括所屬一級(jí)索引記錄的位置、本二級(jí)索引數(shù)據(jù)塊的位置以及引用計(jì)數(shù)等。本發(fā)明采用至少兩級(jí)的索引結(jié)構(gòu),這樣做的優(yōu)勢(shì)在于,一級(jí)索引區(qū)的可以占用較小的存儲(chǔ)空間,優(yōu)選的方式中一個(gè)一級(jí)索引區(qū)是比一個(gè)二級(jí)索引區(qū)占用的空間更小。若僅僅采用單級(jí)索引結(jié)構(gòu),那么查詢性能顯然不如二級(jí)索引,一級(jí)索引區(qū)所占用的空間將比較大,可能需要占用幾百M(fèi)甚至更多的空間,且不容易放入緩存,此時(shí)如果再向本發(fā)明那樣設(shè)置多個(gè)相同的索引區(qū),占用的空間將更大,難以被使用者所接受。步驟102,列表加載單元將每個(gè)一級(jí)索引區(qū)的地址信息保存到內(nèi)存的索引列表中;索引的作用是為了進(jìn)行更為快速的數(shù)據(jù)查詢,二級(jí)索引結(jié)構(gòu)中,通常先查詢一級(jí)索引區(qū)找到索引記錄后再查詢對(duì)應(yīng)的二級(jí)索引區(qū),然后根據(jù)二級(jí)索引區(qū)的索引記錄找到對(duì)應(yīng)的數(shù)據(jù)快?,F(xiàn)有技術(shù)中為了加快查詢和更新的速度,通常會(huì)將一級(jí)索引區(qū)的數(shù)據(jù)(也就是其中的索引記錄)加載到內(nèi)存中。在本發(fā)明中,除了可以將一級(jí)索引區(qū)的數(shù)據(jù)加載到內(nèi)存中,本發(fā)明還將各個(gè)一級(jí)索引區(qū)在磁盤(pán)中的地址信息保存在內(nèi)存中,比如說(shuō),先將第一個(gè)一級(jí)索引區(qū)的地址信息(相當(dāng)于一個(gè)起始位置)讀到內(nèi)存,然后根據(jù)每個(gè)索引區(qū)之間的間隔空間大小算出后面每一個(gè)一級(jí)索引區(qū)的地址信息;當(dāng)然這些地址信息也可以采用讀取的方式獲得,即所有的一級(jí)索引的地址信息都是事先保存好的。有了一級(jí)索引區(qū)的地址信息后,更新索引以及根據(jù)索引進(jìn)行數(shù)據(jù)查詢就有了依據(jù)。如前所述,在初始的時(shí)候各個(gè)一級(jí)索引區(qū)的數(shù)據(jù)都是一致的,隨便選擇一份加載到內(nèi)存中,進(jìn)行數(shù)據(jù)查詢和更新的時(shí)候以內(nèi)存中的索引數(shù)據(jù)為準(zhǔn)。 步驟103,索引更新單元在每次需要更新一級(jí)索引區(qū)時(shí),以循環(huán)的方式選取下一個(gè)一級(jí)索引區(qū)作為當(dāng)前一級(jí)索引區(qū),根據(jù)索引列表中的地址信息找到當(dāng)前一級(jí)索引區(qū)并對(duì)當(dāng)前一級(jí)索引區(qū)的索引記錄進(jìn)行更新,以將對(duì)一級(jí)索引區(qū)的更新分散到磁盤(pán)的多個(gè)區(qū)域。由于不斷有數(shù)據(jù)更新寫(xiě)入到磁盤(pán)上,相應(yīng)地一級(jí)索引區(qū)的索引記錄也可能需要更新,每次在內(nèi)存中對(duì)一級(jí)索引區(qū)的索引記錄進(jìn)行更新之后需要將更新下發(fā)到磁盤(pán)的一級(jí)索引區(qū)去;本發(fā)明每次更新的時(shí)候采用循環(huán)的方式選擇下一個(gè)一級(jí)索引區(qū)作為當(dāng)前一級(jí)索引區(qū)。當(dāng)前的一級(jí)索引區(qū)中的數(shù)據(jù)通常沒(méi)有內(nèi)存中對(duì)應(yīng)的數(shù)據(jù)完整,更新之前需要先確定哪些數(shù)據(jù)需要更新下去,然后將內(nèi)存中需要更新的索引記錄寫(xiě)入到當(dāng)前一級(jí)索引區(qū)中去,在這樣的更新規(guī)則下,由于內(nèi)存保存的一級(jí)索引區(qū)的索引記錄永遠(yuǎn)是最新的,因此當(dāng)前一級(jí)索引區(qū)在更新成功后與上一個(gè)一級(jí)索引區(qū)僅有一次更新的數(shù)據(jù)差別。假設(shè)任何一次對(duì)當(dāng)前一級(jí)索引區(qū)的更新操作沒(méi)有成功,那么上一個(gè)一級(jí)索引區(qū)保存著最新的一級(jí)索引區(qū)(因?yàn)楫?dāng)前更新沒(méi)成功,不能算作最新),所以一級(jí)索引區(qū)的數(shù)據(jù)并沒(méi)有因?yàn)楸景l(fā)明的循環(huán)更新的方式而出現(xiàn)誤差的情形。最為重要的是,由于采用了循環(huán)更新的方式,對(duì)一級(jí)索引區(qū)的更新將分散在磁盤(pán)的各個(gè)不同的區(qū)域,不會(huì)造成某個(gè)區(qū)域成為更新的熱點(diǎn),因此磁盤(pán)因?yàn)轭l繁更新操作而出現(xiàn)故障的概率將大幅度降低。此外,如果系統(tǒng)發(fā)生了重啟,如前所述系統(tǒng)需要將最完整一級(jí)索引區(qū)的數(shù)據(jù)加載到內(nèi)存中去,由于當(dāng)前存在多個(gè)一級(jí)索引區(qū),因此需要甄別出數(shù)據(jù)最完整的一級(jí)索引區(qū)。本發(fā)明可以在每個(gè)一級(jí)索引區(qū)更新成功時(shí)將更新時(shí)間寫(xiě)入一級(jí)索引區(qū)中預(yù)留的位置上,系統(tǒng)重啟的時(shí)候可以比較每個(gè)一級(jí)索引區(qū)的更新時(shí)間從而找到最后一次更新的一級(jí)索引區(qū),最后一次更新的一級(jí)索引區(qū)的數(shù)據(jù)顯然是最為完整的,因此系統(tǒng)此時(shí)可以將該一級(jí)索引區(qū)的數(shù)據(jù)加載到內(nèi)存中。請(qǐng)進(jìn)一步參考圖4,在本發(fā)明另一種實(shí)施方式中還在前述實(shí)施方式的基礎(chǔ)上提供了磁盤(pán)及磁道故障的檢測(cè)以及故障磁道的剔除機(jī)制。相應(yīng)地,本實(shí)施方式中,磁盤(pán)保護(hù)裝置還包括故障處理單元。本實(shí)施方式處理流程如下步驟201,在發(fā)生數(shù)據(jù)寫(xiě)入失敗時(shí),故障處理單元向多個(gè)選定的一級(jí)索引區(qū)的預(yù)留空間進(jìn)行寫(xiě)入測(cè)試,如果有多個(gè)寫(xiě)入測(cè)試失敗則確定磁盤(pán)為不可用狀態(tài);如果至少部分寫(xiě)入測(cè)試成功,則確定為磁道故障。在寫(xiě)入數(shù)據(jù)時(shí)發(fā)生IO錯(cuò)誤,本發(fā)明可以先判斷到底錯(cuò)誤可能是哪種原因引起的。本實(shí)施方式中可以先向任意多個(gè)選定(可以是預(yù)先選定也可以是隨機(jī)選定)的一級(jí)索引區(qū)預(yù)留空間分別嘗試進(jìn)行寫(xiě)入測(cè)試。所述預(yù)留空間的大小可以比較小,比如僅僅512或IK字節(jié),因?yàn)轭A(yù)留空間主要是用來(lái)進(jìn)行寫(xiě)入測(cè)試的。以兩個(gè)預(yù)留空間為例,如果兩個(gè)寫(xiě)入測(cè)試都不不成功,可以確定為磁盤(pán)處于不可用的狀態(tài),即磁盤(pán)故障。由于兩個(gè)一級(jí)索引區(qū)通常分布在磁盤(pán)不同的位置,當(dāng)兩個(gè)相距較遠(yuǎn)的位置的寫(xiě)入測(cè)試都失敗了則說(shuō)明磁盤(pán)故障的可能性非常高。如果僅僅有部分寫(xiě)入測(cè)試是失敗的,則說(shuō)明磁盤(pán)尚可以使用,可以暫時(shí)確定為正在寫(xiě)入的磁道發(fā)生故障。
步驟202,故障處理單元在確定磁道故障之前,嘗試重新寫(xiě)入數(shù)據(jù),如果重新寫(xiě)入成功則返回,否則確定為磁道故障,轉(zhuǎn)步驟203處理。如果經(jīng)過(guò)步驟201進(jìn)行寫(xiě)入測(cè)試后發(fā)現(xiàn)磁盤(pán)可以使用,此時(shí)為了保證判斷的正確性,可以嘗試寫(xiě)入失敗的數(shù)據(jù)重新寫(xiě)入一次,如果成功則說(shuō)明之前的失敗可能是因?yàn)槠渌蛩卦斐傻?,?shù)據(jù)如何寫(xiě)入以及寫(xiě)入成功之后的處理不再一一贅述;但如果重新寫(xiě)入還是失敗了,則說(shuō)明當(dāng)前被寫(xiě)入數(shù)據(jù)的磁道有極高的可能性是發(fā)生故障了,此時(shí)故障處理單元可以將該磁道確定為故障狀態(tài)。步驟202主要是為了對(duì)磁道故障進(jìn)行確認(rèn),并不是必須的步驟;可以根據(jù)實(shí)際需要決定是否實(shí)施,如果實(shí)施這一步驟可以避免磁道故障誤判引發(fā)的后續(xù)問(wèn)題,具體可以參考步驟203中的描述。需要說(shuō)明的是,步驟201以及202只是一種較佳的實(shí)現(xiàn)方式,并不是必須的步驟,因?yàn)樵谝恍?yīng)用場(chǎng)景中,寫(xiě)入數(shù)據(jù)失敗就可以被視為磁道故障,而本實(shí)施方式只是做了更為細(xì)致的甄別。步驟203,故障處理單元根據(jù)索引列表判斷磁道故障是否發(fā)生在一級(jí)索引區(qū),如果是,則通知索引更新單元將當(dāng)前一級(jí)索引區(qū)的上一個(gè)一級(jí)索引區(qū)作為當(dāng)前一級(jí)索引區(qū),并將索引列表中發(fā)生磁道故障的一級(jí)索引區(qū)的地址信息刪除;如果否,則在當(dāng)前一級(jí)索引區(qū) 中找到發(fā)生磁道故障的索引記錄,并將該索引記錄標(biāo)記為無(wú)效狀態(tài)。如果磁道故障發(fā)生在一級(jí)索引區(qū),這意味著寫(xiě)入失敗發(fā)生在更新一級(jí)索引區(qū)的過(guò)程中。在本實(shí)施方式中則將該一級(jí)索引區(qū)視為不可用,那么可以選擇上一個(gè)一級(jí)索引區(qū)作為當(dāng)前一級(jí)索引區(qū),索引更新單元收到通知后可以在循環(huán)的過(guò)程中回退一步進(jìn)行更新(請(qǐng)參考圖I以及圖4中的A切入點(diǎn)所示)。相應(yīng)地,此時(shí)可以從內(nèi)存的索引列表中將寫(xiě)入失敗的一級(jí)索引區(qū)剔除,這個(gè)被“踢掉”的一級(jí)索引區(qū)將不會(huì)成為循環(huán)更新的對(duì)象,否則下次更新時(shí)選擇到這個(gè)發(fā)生磁道故障的一級(jí)索引區(qū),索引更新單元又要回退一次,這樣循環(huán)更新就無(wú)法進(jìn)行下去了。 如果磁道故障不是發(fā)生在一級(jí)索引區(qū),這意味著磁道故障發(fā)生在某個(gè)一級(jí)索引記錄指向的數(shù)據(jù)區(qū)所在的位置,這個(gè)時(shí)候可以根據(jù)故障磁道的位置找到這個(gè)位置對(duì)應(yīng)的一級(jí)索引記錄,然后將該一級(jí)索引記錄標(biāo)記為無(wú)效,比如說(shuō),可以通過(guò)將引用計(jì)數(shù)置為一個(gè)特殊值來(lái)實(shí)現(xiàn),以表示這個(gè)索引記錄所指向的數(shù)據(jù)區(qū)是處于不可用的狀態(tài),這里所說(shuō)的不可用的狀態(tài)表示至少是不可寫(xiě)的狀態(tài),這樣可以避免再次向故障磁道寫(xiě)入數(shù)據(jù)而導(dǎo)致再次失敗,即可以將故障磁道排除出可寫(xiě)入的存儲(chǔ)空間。在某個(gè)索引記錄被置為無(wú)效以后,再后續(xù)的多次更新中,這個(gè)索引記錄在每個(gè)一級(jí)索引區(qū)中都會(huì)被相應(yīng)地置為無(wú)效,更新過(guò)程如前所述。本發(fā)明通過(guò)二級(jí)索引結(jié)構(gòu)下循環(huán)更新的方式有效避免了一級(jí)索引區(qū)因?yàn)轭l繁更新而容易引發(fā)磁盤(pán)或磁道故障的問(wèn)題;并能在發(fā)生磁道故障時(shí)有效減小磁道故障引發(fā)的問(wèn)題,即便磁道故障發(fā)生在一級(jí)索引區(qū),本發(fā)明還有其他一級(jí)索引區(qū)作為備份,由于本發(fā)明可以將發(fā)生磁道故障的一級(jí)索引區(qū)剔除,因此也不會(huì)因?yàn)槟硞€(gè)一級(jí)索引區(qū)發(fā)生磁道故障而影響前述的一級(jí)索引區(qū)循環(huán)更新的機(jī)制。以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明保護(hù)的范圍之內(nèi)。
權(quán)利要求
1.一種磁盤(pán)保護(hù)裝置,應(yīng)用于計(jì)算機(jī)系統(tǒng)上,其特征在于,該裝置包括 格式化單元,用于根據(jù)用戶的規(guī)劃將磁盤(pán)的存儲(chǔ)空間格式化為二級(jí)索引結(jié)構(gòu),其中格式化后的存儲(chǔ)空間包括多個(gè)一級(jí)索引區(qū),每個(gè)一級(jí)索引區(qū)的索引記錄指向一個(gè)數(shù)據(jù)區(qū),每個(gè)數(shù)據(jù)區(qū)包括二級(jí)索引區(qū); 列表加載單元,用于將每個(gè)一級(jí)索引區(qū)的地址信息保存到內(nèi)存的索引列表中; 索引更新單元,用于在每次需要將內(nèi)存中的索引記錄更新到一級(jí)索引區(qū)時(shí),以循環(huán)的方式選取下一個(gè)一級(jí)索引區(qū)作為當(dāng)前一級(jí)索引區(qū),根據(jù)索引列表中的地址信息找到當(dāng)前一級(jí)索引區(qū)并對(duì)當(dāng)前一級(jí)索引區(qū)的索引記錄進(jìn)行更新,以將對(duì)一級(jí)索引區(qū)的更新分散到多個(gè)磁盤(pán)區(qū)域。
2.根據(jù)權(quán)利要求I所述的裝置,其特征在于,所述每個(gè)一級(jí)索引區(qū)的大小相同,且小于二級(jí)索引區(qū)的大小。
3.根據(jù)權(quán)利要求I所述的裝置,其特征在于,所述每個(gè)一級(jí)索引區(qū)之間間隔的存儲(chǔ)空間大小相同。
4.根據(jù)權(quán)利要求I所述的裝置,其特征在于,該裝置還包括故障處理單元,用于在發(fā)生數(shù)據(jù)寫(xiě)入失敗時(shí),對(duì)向多個(gè)選定的一級(jí)索引區(qū)的預(yù)留空間進(jìn)行寫(xiě)入測(cè)試,如果有多個(gè)寫(xiě)入測(cè)試失敗則確定為磁盤(pán)為不可用狀態(tài);如果至少部分寫(xiě)入測(cè)試成功,則確定為磁道故障。
5.根據(jù)權(quán)利要求4所述的裝置,其特征在于,所述故障處理單元進(jìn)一步用于在確定為磁道故障之前,嘗試重新寫(xiě)入數(shù)據(jù),如果重新寫(xiě)入成功則返回,否則確定為磁道故障。
6.根據(jù)權(quán)利要求I或4或5所述的裝置,其特征在于,該裝置還包括故障處理單元,在發(fā)生磁道故障的情況下,所述故障處理單元用于根據(jù)索引列表判斷磁道故障是否發(fā)生在一級(jí)索引區(qū),如果是,則通知索引更新單元將當(dāng)前一級(jí)索引區(qū)的上一個(gè)一級(jí)索引區(qū)作為當(dāng)前一級(jí)索引區(qū),并將索引列表中發(fā)生磁道故障的一級(jí)索引區(qū)的地址信息刪除;如果否,則在當(dāng)前一級(jí)索引區(qū)中找到發(fā)生磁道故障的索引記錄,并將該索引記錄標(biāo)記為無(wú)效狀態(tài)。
7.根據(jù)權(quán)利要求I所述的裝置,其特征在于,所述索引更新單元在完成對(duì)當(dāng)前一級(jí)索引區(qū)更新后,將更新時(shí)間寫(xiě)入一級(jí)索引區(qū)預(yù)定的位置上,以使得系統(tǒng)能在重啟之后能夠根據(jù)更新時(shí)間找到最后一次更新的一級(jí)索引區(qū)。
8.—種磁盤(pán)保護(hù)方法,應(yīng)用于計(jì)算機(jī)系統(tǒng)上,其特征在于,該方法包括 A、根據(jù)用戶的規(guī)劃將磁盤(pán)的存儲(chǔ)空間格式化為二級(jí)索引結(jié)構(gòu),其中格式化后的存儲(chǔ)空間包括多個(gè)一級(jí)索引區(qū),每個(gè)一級(jí)索引區(qū)的索引記錄指向一個(gè)數(shù)據(jù)區(qū),每個(gè)數(shù)據(jù)區(qū)包括二級(jí)索引區(qū); B、將每個(gè)一級(jí)索弓I區(qū)的地址信息保存到內(nèi)存的索引列表中; C、在每次需要將內(nèi)存中的索引記錄更新到一級(jí)索引區(qū)時(shí),以循環(huán)的方式選取下一個(gè)一級(jí)索引區(qū)作為當(dāng)前一級(jí)索引區(qū),根據(jù)索引列表中的地址信息找到當(dāng)前一級(jí)索引區(qū)并對(duì)當(dāng)前一級(jí)索引區(qū)的索引記錄進(jìn)行更新,以將對(duì)一級(jí)索引區(qū)的更新分散到多個(gè)磁盤(pán)區(qū)域。
9.根據(jù)權(quán)利要求8所述的方法,其特征在于,所述每個(gè)一級(jí)索引區(qū)的大小相同,且小于二級(jí)索引區(qū)的大小。
10.根據(jù)權(quán)利要求8所述的方法,其特征在于,所述每個(gè)一級(jí)索引區(qū)之間間隔的存儲(chǔ)空間大小相同。
11.根據(jù)權(quán)利要求8所述的方法,其特征在于,D、在發(fā)生數(shù)據(jù)寫(xiě)入失敗時(shí),對(duì)向多個(gè)選定的一級(jí)索引區(qū)的預(yù)留空間進(jìn)行寫(xiě)入測(cè)試,如果有多個(gè)寫(xiě)入測(cè)試失敗則確定為磁盤(pán)為不可用狀態(tài);如果至少部分寫(xiě)入測(cè)試成功,則確定為磁道故障。
12.根據(jù)權(quán)利要求11所述的方法,其特征在于,步驟D進(jìn)一步包括在確定為磁道故障之前,嘗試重新寫(xiě)入數(shù)據(jù),如果重新寫(xiě)入成功則返回,否則確定為磁道故障。
13.根據(jù)權(quán)利要求8或11或12所述的方法,其特征在于,還包括 E、在發(fā)生磁道故障的情況下,根據(jù)索引列表判斷磁道故障是否發(fā)生在一級(jí)索引區(qū),如果是,則將當(dāng)前一級(jí)索引區(qū)的上一個(gè)一級(jí)索引區(qū)作為當(dāng)前一級(jí)索引區(qū),并將索引列表中發(fā)生磁道故障的一級(jí)索引區(qū)的地址信息刪除;如果否,則在當(dāng)前一級(jí)索引區(qū)中找到發(fā)生磁道故障的索引記錄,并將該索引記錄標(biāo)記為無(wú)效狀態(tài)。
14.根據(jù)權(quán)利要求8所述的方法,其特征在于,還包括 F、在完成對(duì)當(dāng)前一級(jí)索引區(qū)更新后,將更新時(shí)間寫(xiě)入一級(jí)索引區(qū)預(yù)定的位置上,以使得系統(tǒng)能在重啟之后能夠根據(jù)更新時(shí)間找到最后一次更新的一級(jí)索引區(qū)。
全文摘要
本發(fā)明提供一種磁盤(pán)保護(hù)裝置,應(yīng)用于計(jì)算機(jī)系統(tǒng)上,該裝置包括格式化單元,用于根據(jù)用戶的規(guī)劃將磁盤(pán)的存儲(chǔ)空間格式化為二級(jí)索引結(jié)構(gòu),其中格式化后的存儲(chǔ)空間包括多個(gè)一級(jí)索引區(qū);列表加載單元,用于將每個(gè)一級(jí)索引區(qū)的地址信息保存到內(nèi)存的索引列表中;索引更新單元,用于在每次需要將內(nèi)存中的索引記錄更新到一級(jí)索引區(qū)時(shí),以循環(huán)的方式選取下一個(gè)一級(jí)索引區(qū)作為當(dāng)前一級(jí)索引區(qū),根據(jù)索引列表中的地址信息找到當(dāng)前一級(jí)索引區(qū)并對(duì)當(dāng)前一級(jí)索引區(qū)的索引記錄進(jìn)行更新,以將對(duì)一級(jí)索引區(qū)的更新分散到多個(gè)磁盤(pán)區(qū)域。本發(fā)明通過(guò)二級(jí)索引結(jié)構(gòu)下循環(huán)更新的方式有效避免了一級(jí)索引區(qū)因?yàn)轭l繁更新而容易引發(fā)磁盤(pán)或磁道故障的問(wèn)題。
文檔編號(hào)G06F12/16GK102722454SQ20121016551
公開(kāi)日2012年10月10日 申請(qǐng)日期2012年5月22日 優(yōu)先權(quán)日2012年5月22日
發(fā)明者呂志明 申請(qǐng)人:浙江宇視科技有限公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
莱西市| 炎陵县| 仙游县| 翁源县| 吴江市| 曲松县| 寿宁县| 永清县| 象州县| 和政县| 辉县市| 安吉县| 江安县| 修武县| 锦屏县| 邵阳市| 阜城县| 大丰市| 米脂县| 育儿| 青神县| 宁安市| 黑水县| 湘潭县| 兰州市| 武乡县| 新乐市| 海安县| 治多县| 盐边县| 武穴市| 邳州市| 平遥县| 宁远县| 前郭尔| 宁城县| 陆良县| 安多县| 连南| 博爱县| 阿鲁科尔沁旗|