專利名稱:一種磁盤操作的保護(hù)方法及磁盤控制器的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及電子技術(shù)領(lǐng)域,尤其涉及一種磁盤操作保護(hù)技術(shù)。
背景技術(shù):
在電子設(shè)備中經(jīng)常需要將數(shù)據(jù)保存于磁盤中,例如,需要將視頻監(jiān)視設(shè) 備獲得的視頻信號(hào)錄制存儲(chǔ)于磁盤中,或者,記錄一些股市數(shù)據(jù)、天氣預(yù) 報(bào)、新聞播放等日志信息,等等。這些需要保存的數(shù)據(jù)需要真實(shí)記錄以反映 記錄的實(shí)際情形,也就是說這些保存記錄的數(shù)據(jù)不允許被修改,為此,需要 對(duì)保存記錄的數(shù)據(jù)提供相應(yīng)的保護(hù)機(jī)制。
在上述數(shù)據(jù)存儲(chǔ)過程中,為了滿足數(shù)據(jù)所有者對(duì)所生產(chǎn)的數(shù)據(jù)進(jìn)行實(shí)時(shí) 保護(hù),目前主要可以采用以下兩種實(shí)現(xiàn)方案。
一種實(shí)現(xiàn)方案是利用上層應(yīng)用軟件或者操作系統(tǒng)對(duì)存儲(chǔ)記錄于磁盤中 的數(shù)據(jù)進(jìn)行操作保存,例如,使用Unix操作系統(tǒng)、Windows操作系統(tǒng)的文件 權(quán)限管理機(jī)制,通過權(quán)限不同實(shí)現(xiàn)對(duì)文件的操作控制。
另一種實(shí)現(xiàn)方案則是在數(shù)據(jù)產(chǎn)生后,在存儲(chǔ)設(shè)備上通過對(duì)邏輯單元 (LUN)設(shè)置權(quán)限的方式來對(duì)整個(gè)LUN進(jìn)行保護(hù),以限制數(shù)據(jù)生產(chǎn)和使用者 對(duì)磁盤保存的數(shù)據(jù)的訪問。
在實(shí)現(xiàn)本發(fā)明過程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術(shù)中至少存在如下問題
上述第一種實(shí)現(xiàn)方案中,由于數(shù)據(jù)生產(chǎn)者和使用者與數(shù)據(jù)所有者共用同 一管理系統(tǒng),相應(yīng)的安全機(jī)制很容易被繞開,導(dǎo)致保護(hù)失效;例如,可以通 過非法獲得超級(jí)用戶權(quán)限、利用操作系統(tǒng)漏洞或修改系統(tǒng)時(shí)間等方法避開相 應(yīng)的安全機(jī)制。上述第二種實(shí)現(xiàn)方案中,只能在數(shù)據(jù)產(chǎn)生后實(shí)現(xiàn)相應(yīng)的保存,卻無法在 數(shù)據(jù)生產(chǎn)過程中實(shí)施保護(hù)。
發(fā)明內(nèi)容
本發(fā)明的實(shí)施例提供了 一種磁盤操作的保護(hù)方法及磁盤控制器,以便于 對(duì)磁盤中記錄的數(shù)據(jù)實(shí)現(xiàn)有效的操作保護(hù)。
一種磁盤操作的保護(hù)方法,包括
接收磁盤操作請(qǐng)求,磁盤控制器獲取待操作的當(dāng)前磁盤區(qū)域?qū)?yīng)的操作 控制參數(shù),根據(jù)所述操作控制參數(shù)判斷是否允許操作當(dāng)前磁盤區(qū)域;
當(dāng)根據(jù)所述操作控制參數(shù)確定允許對(duì)所述當(dāng)前磁盤區(qū)域進(jìn)行操作時(shí),則 執(zhí)行所述磁盤操作。
一種磁盤控制器,包括
參數(shù)獲取單元,用于在接收磁盤操作請(qǐng)求后,獲取待操作的當(dāng)前磁盤區(qū) 域?qū)?yīng)的操作控制參數(shù),所述操作控制參數(shù)用于表示是否允許操作當(dāng)前磁盤 區(qū)域;
磁盤操作控制處理單元,用于根據(jù)所述參數(shù)獲取單元獲取的操作控制參 數(shù)判斷是否允許操作當(dāng)前磁盤區(qū)域,并在確定允許對(duì)所述當(dāng)前磁盤區(qū)域進(jìn)行 操作時(shí),執(zhí)行所述磁盤操作。
由上述本發(fā)明的實(shí)施例提供的技術(shù)方案可以看出,其可以針對(duì)磁盤中存 儲(chǔ)的數(shù)據(jù)進(jìn)行相應(yīng)的操作保護(hù),以有效防范非法意圖的修改等非法磁盤操 作,并可以在數(shù)據(jù)產(chǎn)生過程中實(shí)施相應(yīng)的磁盤保護(hù),克服現(xiàn)有技術(shù)中提供的 磁盤保護(hù)機(jī)制存在的缺陷。
圖1為本發(fā)明實(shí)施例的實(shí)現(xiàn)原理示意圖;圖2為本發(fā)明實(shí)施例提供的操作控制參數(shù)的設(shè)置原理示意圖3為本發(fā)明實(shí)施例提供的操作控制時(shí)間參數(shù)的統(tǒng)計(jì)方式示意圖;
圖4為本發(fā)明實(shí)施例才是供的刷新表記錄方式示意圖5為本發(fā)明實(shí)施例提供的處理過程示意圖一;
圖6為本發(fā)明實(shí)施例提供的處理過程示意圖二;
圖7為本發(fā)明實(shí)施例提供的磁盤控制器的結(jié)構(gòu)示意圖。
具體實(shí)施例方式
本發(fā)明實(shí)施例提供的磁盤操作的保護(hù)方案,是在磁盤控制器層次上實(shí)現(xiàn) 針對(duì)磁盤的讀寫等操作的控制,具體可以在接收磁盤操作請(qǐng)求后,由磁盤控 制器獲取待操作的當(dāng)前磁盤區(qū)域?qū)?yīng)的操作控制參數(shù),該操作控制參數(shù)用于 表示是否允許操作當(dāng)前磁盤區(qū)域,當(dāng)根據(jù)獲取的操作控制參數(shù)確定允許對(duì)所 述當(dāng)前磁盤區(qū)域進(jìn)行操作時(shí),則執(zhí)行所述磁盤操作。
可見上述處理方式不再基于應(yīng)用軟件和操作系統(tǒng)實(shí)現(xiàn)相應(yīng)的磁盤搡作保 護(hù)(如讀寫保護(hù)等),進(jìn)而實(shí)現(xiàn)了數(shù)據(jù)生產(chǎn)者、使用者和數(shù)據(jù)所有者權(quán)限分
離,使得數(shù)據(jù)所有者對(duì)生產(chǎn)出來的數(shù)據(jù)能夠進(jìn)行實(shí)時(shí)保護(hù)。
參照?qǐng)D1所示,相應(yīng)的應(yīng)用軟件為數(shù)據(jù)生產(chǎn)者,其產(chǎn)生的數(shù)據(jù)可以通過操 作系統(tǒng)寫于磁盤陣列,數(shù)據(jù)使用者也可以通過操作系統(tǒng)讀取磁盤陣列中的相 應(yīng)數(shù)據(jù)。磁盤陣列通過相應(yīng)的磁盤控制器提供對(duì)外接口,磁盤控制器有獨(dú)立 的CPU系統(tǒng),RAM和總線接口,并用于控制針對(duì)磁盤的讀寫操作,即所有 針對(duì)磁盤的操作只能通過磁盤控制器實(shí)現(xiàn),磁盤控制器將磁盤和操作系統(tǒng)及 應(yīng)用軟件等隔離。本發(fā)明實(shí)施例便可以通過在磁盤控制器運(yùn)行相應(yīng)的控制程 序以實(shí)現(xiàn)針對(duì)磁盤操作的控制,如寫保護(hù)等。
在磁盤陣列中,通常是以扇區(qū)作為最小的記錄單位,且操作系統(tǒng)層對(duì)磁 盤的最小尋址單位通常也是扇區(qū)。因此,在上述處理過程中,相應(yīng)的磁盤區(qū)域可以為磁盤中的一個(gè)或多個(gè)扇區(qū)對(duì)應(yīng)的存儲(chǔ)區(qū)域,或者,也可以為以其他 方式劃分確定的^茲盤中的相應(yīng)區(qū)域,例如,若《茲盤的最小尋址單位不再為扇 區(qū)時(shí),則可以相應(yīng)的新的最小尋址單位作為相應(yīng)的磁盤區(qū)域(即最小的操作 控制區(qū)域)進(jìn)行操作控制。
本發(fā)明實(shí)施例中,相應(yīng)的操作控制參數(shù)可以包括操作控制時(shí)間參數(shù)或 操作控制事件參數(shù)中的至少一項(xiàng),例如,相應(yīng)的操作控制時(shí)間參數(shù)可以為具 體的可以為允許寫操作的時(shí)間段或不允許寫操作的時(shí)間段等參數(shù)中的至少一 項(xiàng),操作控制事件參數(shù)則可以為允許寫操作的事件參數(shù)或不允許寫操作的觸 發(fā)事件等參數(shù)中的至少一項(xiàng),等等。
進(jìn)一步地,可以在預(yù)定的時(shí)間段內(nèi)設(shè)置允許符合操作間隔要求的寫操作 執(zhí)行,例如,以操作的磁盤區(qū)域?yàn)樯葏^(qū)為例,則可以為磁盤的扇區(qū)設(shè)置時(shí)間 索引,該時(shí)間索引可以用于記錄最后一次磁盤操作與當(dāng)前時(shí)間之間的間隔時(shí) 長(zhǎng),也可以用于記錄最后一次磁盤操作時(shí)間,或者,也可以記錄其他可以體 現(xiàn)出最后一次磁盤操作時(shí)間的信息,以便于基于磁盤操作之間的間隔時(shí)長(zhǎng)實(shí) 現(xiàn)對(duì)磁盤扇區(qū)的保護(hù)。
相應(yīng)的時(shí)間索引可以采用非線型的記錄方式來擴(kuò)大記錄時(shí)間范圍,或 者,也可以采用其他實(shí)現(xiàn)方式進(jìn)行時(shí)間索引的統(tǒng)計(jì)記錄。
為便于對(duì)本發(fā)明實(shí)施例的理解,下面將結(jié)合附圖對(duì)本發(fā)明實(shí)施例的具體 實(shí)施過程進(jìn)4亍詳細(xì)i兌明。
在該具體說明過程中,以寫操作作為磁盤操作、以扇區(qū)作為當(dāng)前需要操 作的磁盤區(qū)域,并以采用操作控制時(shí)間參數(shù)作為相應(yīng)的操作控制參數(shù)為例, 參照?qǐng)D2所示,相應(yīng)的可以設(shè)置兩個(gè)參數(shù)作為操作控制時(shí)間參數(shù)
(1 )寫操作允許間隔時(shí)間T1,即寫操作時(shí)間窗,作為允許磁盤操作間隔 時(shí)間,若針對(duì)某扇區(qū)的本次寫操作時(shí)間與上次寫操作時(shí)間之間的差值未超過 該寫操作允許間隔時(shí)間,則確認(rèn)符合寫操作允許間隔時(shí)間要求,否則,認(rèn)為本次寫操作不符合寫操作允許間隔時(shí)間要求;
該寫操作允許間隔時(shí)間T1作為一個(gè)時(shí)間窗可以針對(duì)整個(gè)磁盤設(shè)置(即針 對(duì)一個(gè)磁盤設(shè)置寫操作允許間隔時(shí)間作為磁盤的寫操作時(shí)間窗),也可以針 對(duì)磁盤中的一個(gè)或多個(gè)扇區(qū)進(jìn)行設(shè)置,或者,也可以針對(duì)整個(gè)存儲(chǔ)系統(tǒng)設(shè) 置;
該參數(shù)T1的設(shè)置是考慮到某些應(yīng)用對(duì)于磁盤中的一個(gè)扇區(qū)的寫操作不是 一次性寫滿,而是由多個(gè)寫操作組成,各個(gè)寫操作之間的間隔時(shí)長(zhǎng)不超過 T1,則認(rèn)為相應(yīng)的寫操作為合法;即每次針對(duì)一個(gè)扇區(qū)的成功寫操作后的T1 時(shí)間段內(nèi)允許用戶繼續(xù)寫入,且T1的取值單位可以是分鐘、小時(shí)、日或月 等,相應(yīng)的T1具體可以根據(jù)不同應(yīng)用設(shè)置不同的值;
(2)數(shù)據(jù)保護(hù)有效時(shí)間T2,作為相應(yīng)磁盤的數(shù)據(jù)保護(hù)期,若針對(duì)某扇區(qū) 的本次寫操作時(shí)間與上次寫操作時(shí)間之間的差值未超過該數(shù)據(jù)保護(hù)有效時(shí) 間,則確認(rèn)符合該數(shù)據(jù)保護(hù)有效時(shí)間要求,即不允許執(zhí)行本次寫操作,否 則,認(rèn)為本次寫操作不符合該數(shù)據(jù)保護(hù)有效時(shí)間,即允許執(zhí)行本次寫操作;
該數(shù)據(jù)保護(hù)有效時(shí)間T2可以基于整個(gè)存儲(chǔ)系統(tǒng)設(shè)置,也可以基于每個(gè)磁 盤設(shè)置,或者也可以針對(duì)》茲盤中的一個(gè)或多個(gè)扇區(qū)進(jìn)行設(shè)置。
該數(shù)據(jù)保護(hù)有效時(shí)間T2在應(yīng)用過程中為可選設(shè)置,該T2的設(shè)置可以滿足 數(shù)據(jù)所有者的要求,使得相應(yīng)的數(shù)據(jù)可以在保留一定期限(即T2時(shí)間)后才 允許解除寫保護(hù),該數(shù)據(jù)保護(hù)有效時(shí)間T2的取值通常可以大于1天,其取值單 位可以為日或月等。
其中,若設(shè)置數(shù)據(jù)保護(hù)有效時(shí)間T2,則具體可以設(shè)置為T2大于T1。
在具體實(shí)現(xiàn)過程中,可以為每個(gè)扇區(qū)建立一個(gè)時(shí)間標(biāo)簽,用于記錄下每
個(gè)扇區(qū)最后一次寫操作的時(shí)間(作為上述上一次寫操作時(shí)間),則基于上述 操作控制時(shí)間參數(shù),相應(yīng)的磁盤操作保護(hù)方式包括從每個(gè)扇區(qū)最后一次寫 操作開始計(jì)時(shí),在該扇區(qū)對(duì)應(yīng)的寫操作時(shí)間窗(即寫操作允許間隔時(shí)間)內(nèi),則允許繼續(xù)進(jìn)行寫操作,并完成寫操作后更新該扇區(qū)的時(shí)間標(biāo)簽;在超
過該扇區(qū)對(duì)應(yīng)的寫操作時(shí)間窗后,則該扇區(qū)將被寫保護(hù),即不允許對(duì)該扇區(qū)
進(jìn)行寫操作;之后,在從每個(gè)扇區(qū)最后一次寫操作開始經(jīng)過了數(shù)據(jù)保護(hù)有效
時(shí)間后,即相應(yīng)的寫保護(hù)期結(jié)束,則繼續(xù)允許針對(duì)該扇區(qū)進(jìn)行相應(yīng)的寫操 作。
本發(fā)明實(shí)施例在應(yīng)用過程中,具體可以針對(duì)每個(gè)扇區(qū)采用一個(gè)字節(jié)記錄 相應(yīng)的時(shí)間索引,根據(jù)該時(shí)間索引值可以計(jì)算出該扇區(qū)最后一次寫操作時(shí) 間,具體地,該時(shí)間索引可以記錄當(dāng)前時(shí)間與上一次寫操作時(shí)間之間的間隔 時(shí)長(zhǎng),或者,也可以直接記錄相應(yīng)的最后一次寫操作時(shí)間(作為上一次寫操 作時(shí)間),例如,可以通過該最后一次寫操作時(shí)間與當(dāng)前時(shí)間的比較,并根
據(jù)所述圖2確定是否允許針對(duì)該扇區(qū)的本次寫操:作。
為了避免浪費(fèi)存儲(chǔ)空間,本發(fā)明實(shí)施例采用精確度逐漸降低的非線性時(shí) 間統(tǒng)計(jì)方式進(jìn)行時(shí)間索引值的記錄,以便于利用 一 個(gè)字節(jié)記錄較長(zhǎng)的存儲(chǔ)時(shí) 間,即可以記錄較長(zhǎng)的當(dāng)前時(shí)間與上一次寫操作時(shí)間之間的間隔時(shí)長(zhǎng),或 者,記錄最后一次寫操作時(shí)間?;蛘?,本發(fā)明實(shí)施例中也可以采用較多的存 儲(chǔ)空間精確記錄相應(yīng)的時(shí)間索引值。
其中,相應(yīng)的非線性時(shí)間統(tǒng)計(jì)方式具體可以包括若所述當(dāng)前時(shí)間與上 一次磁盤操作時(shí)間之間的間隔時(shí)長(zhǎng)小于60分鐘,則采用分鐘作為計(jì)時(shí)單位進(jìn) 行間隔時(shí)長(zhǎng)或最后 一 次磁盤操作時(shí)間的統(tǒng)計(jì);若所述當(dāng)前時(shí)間與上 一次磁盤 操作時(shí)間之間的間隔時(shí)長(zhǎng)大于60分鐘小于24小時(shí),則采用小時(shí)作為計(jì)時(shí)單位 進(jìn)行間隔時(shí)長(zhǎng)或最后一次磁盤操作時(shí)間的統(tǒng)計(jì);若所述當(dāng)前時(shí)間與上一次磁 盤操作時(shí)間之間的間隔時(shí)長(zhǎng)大于24小時(shí)小于1個(gè)月,則采用天作為計(jì)時(shí)單位進(jìn) 行間隔時(shí)長(zhǎng)或最后一次》茲盤操作時(shí)間的統(tǒng)計(jì);若所述當(dāng)前時(shí)間與上一次磁盤 操作時(shí)間之間的間隔時(shí)長(zhǎng)大于1個(gè)月,則采用月作為計(jì)時(shí)單位進(jìn)行間隔時(shí)長(zhǎng)或 最后一次磁盤操作時(shí)間的統(tǒng)計(jì);參照?qǐng)D3所示,fli殳某扇區(qū)最后 一 次寫#:作的時(shí)間為YY-MM2-DD HH:MM1, YY表示年,MM2表示月,DD表示日期,HH表示小時(shí),MM1表示 分鐘,則相應(yīng)的非線性時(shí)間統(tǒng)計(jì)方式具體可以采用以下方式進(jìn)行時(shí)間索引值 的記錄,即相應(yīng)的時(shí)間索引的記錄規(guī)則具體可以為
如果當(dāng)前時(shí)間和最后一次寫操作時(shí)間差小于60分鐘,則相應(yīng)的時(shí)間索引 可以采用最后一次寫操作時(shí)間的分鐘值MM1表示,值為MM1,或者,也可以
以分鐘為單位統(tǒng)計(jì)相應(yīng)的當(dāng)前時(shí)間和最后一次寫#:作時(shí)間差,此時(shí),MM1為
以分鐘為單位的實(shí)際間隔時(shí)長(zhǎng);
如果當(dāng)前時(shí)間和最后 一次寫操作時(shí)間差大于60分鐘且'J、于24小時(shí),則相 應(yīng)的時(shí)間索引可以采用最后一次寫操作時(shí)間的小時(shí)值HH表示,值為HH + 60,或者,也可以以小時(shí)為單位統(tǒng)計(jì)相應(yīng)的當(dāng)前時(shí)間和最后一次寫操作時(shí)間 差,此時(shí),相應(yīng)的HH表示以小時(shí)為單位的實(shí)際的間隔時(shí)長(zhǎng);
如果當(dāng)前時(shí)間和最后一次寫操作時(shí)間差大于24小時(shí)且小于1月,則相應(yīng)的 時(shí)間索引可以采用最后一次寫操作時(shí)間的日期值DD表示,值為DD + 83,其 中,83 = 60 + 24- 1 (因?yàn)槿掌趶?開始計(jì)算),或者,也可以以天為單位統(tǒng) 計(jì)相應(yīng)的當(dāng)前時(shí)間和最后一次寫操作時(shí)間差,此時(shí),相應(yīng)的DD為以天為單位 的實(shí)際間隔時(shí)長(zhǎng);
如果當(dāng)前時(shí)間和最后一次寫操作時(shí)間差大于1月,則相應(yīng)的時(shí)間索引可以 采用當(dāng)前時(shí)間月份MM2和最后一次寫操作時(shí)間的月MM2之間的差表示,值為 差值+ 114,其中,114 = 60 + 24 + 31 - 1,或者,也可以直接記錄最后一次 寫操作的MM2值(MM2最大值為12)。若采用前一種時(shí)間索引記錄方式,則 具體可以表示最多255-114=141個(gè)月的間隔時(shí)間,即可以記錄大于11年的當(dāng) 前時(shí)間與上一次磁盤操作時(shí)間之間的間隔時(shí)長(zhǎng),增加了存儲(chǔ)空間的利用效 率。
基于上述時(shí)間索引的記錄規(guī)則,若相應(yīng)的時(shí)間索引值具體記錄的為當(dāng)前扇區(qū)的上 一 次磁盤操作時(shí)間(即在當(dāng)前時(shí)間之前的最后 一 次磁盤操作時(shí)
間),例如,假設(shè)當(dāng)前時(shí)間為2007-4-16 11: 46 ,則不同的時(shí)間索引值對(duì)應(yīng) 的當(dāng)前扇區(qū)對(duì)應(yīng)的最后 一次寫才喿作時(shí)間可以為
若某一扇區(qū)的時(shí)間索引值記錄為30,則表示該扇區(qū)使用分鐘表示,其對(duì) 應(yīng)的最后一次寫操作時(shí)間的分鐘值為30,則該扇區(qū)的最后一次寫操作時(shí)間為 2007-4-16 11: 30,該記錄的時(shí)間索引值可以精確到分鐘;
若某一扇區(qū)的時(shí)間索引值記錄為62,表示該扇區(qū)使用小時(shí)表示,其對(duì)應(yīng) 的最后 一 次寫操作時(shí)間的小時(shí)值為2 ,則該扇區(qū)的最后 一 次寫操作時(shí)間為 2007-4-16 2: 00,該記錄的時(shí)間索引值可以精確到小時(shí);
若某一扇區(qū)的時(shí)間索引值記錄為85,表示該扇區(qū)使用天表示,其對(duì)應(yīng)的 最后 一次寫操作時(shí)間的日期值為2 ,則該扇區(qū)的最后 一次寫操作時(shí)間為2007-4-2 0: 00,該記錄的時(shí)間索引值可以精確到天;
若某一扇區(qū)的時(shí)間索引值記錄為116,表示該扇區(qū)使用月表示,其對(duì)應(yīng)的 最后一次寫操作時(shí)間的月和當(dāng)前月份的差為2,則該扇區(qū)的最后一次寫操作時(shí) 間為2007-2-0 0: 00,該記錄的時(shí)間索引值可以精確到月。
在采用上述記錄規(guī)則記錄相應(yīng)的時(shí)間索引時(shí),當(dāng)時(shí)間索引無法以小的單 位表示時(shí),則需要使用更大一些的單位表示,例如,在分鐘計(jì)時(shí)超過60分鐘 時(shí),則需要修改為用小時(shí)計(jì)數(shù),為此,具體可以在磁盤控制器上啟動(dòng)定時(shí) 器,對(duì)時(shí)間索引做周期性的刷新,進(jìn)一步地,參照?qǐng)D4所示,相應(yīng)的時(shí)間索引 值的更新過程具體可以采用以下處理方式實(shí)現(xiàn)
(1 )磁盤控制器采用分鐘刷新機(jī)制,即每分鐘定時(shí)刷新扇區(qū)對(duì)應(yīng)的時(shí)間 索引值,在超過60分鐘后針對(duì)該扇區(qū)改為采用小時(shí)刷新機(jī)制
具體地,每分鐘查詢處于分鐘刷新表中的各個(gè)扇區(qū)對(duì)應(yīng)的時(shí)間索引,該 時(shí)間索引用于記錄最后一次寫操作時(shí)間,若當(dāng)前時(shí)間的分鐘數(shù)值與該時(shí)間索 引值一致,則改為采用小時(shí)刷新機(jī)制更新相應(yīng)的時(shí)間索引,并將相應(yīng)的時(shí)間索引對(duì)應(yīng)扇區(qū)的編號(hào)記錄到小時(shí)刷新表中;例如,若最后一次寫操作時(shí)間為
2007-4-11 16: 27,則在每分鐘更新的處理過程中,需要將分鐘刷新表中所 有時(shí)間索引為27的扇區(qū)修改為其對(duì)應(yīng)的時(shí)間索引為76 (即60+16),并更新 到小時(shí)刷新表中;
(2) 磁盤控制器采用小時(shí)刷新機(jī)制,即每小時(shí)定時(shí)刷新扇區(qū)對(duì)應(yīng)的時(shí)間 索引值,在超過24小時(shí)后針對(duì)該扇區(qū)改為采用曰刷新機(jī)制
具體地,每小時(shí)查詢處于小時(shí)刷新表中的各個(gè)扇區(qū)對(duì)應(yīng)的時(shí)間索引,該 時(shí)間索引用于記錄最后一次寫操作時(shí)間,若當(dāng)前時(shí)間的小時(shí)數(shù)值加上60后的 值與扇區(qū)對(duì)應(yīng)的時(shí)間索引 一致,則改為采用日刷新機(jī)制更新相應(yīng)的時(shí)間索 引,并將相應(yīng)的時(shí)間索引對(duì)應(yīng)的扇區(qū)的編號(hào)記錄到日刷新表中,例如,若最 后一次寫操作時(shí)間為2007-4-11 16: 00,則在每小時(shí)更新中,需要將所有時(shí) 間索引為76的扇區(qū)修改為其對(duì)應(yīng)的時(shí)間索引為94 (即83 +11 ),并更新到是 刷新表中;
(3) 磁盤控制器采用日刷新機(jī)制,即每天定時(shí)刷新扇區(qū)對(duì)應(yīng)的時(shí)間索引 值,在超過1個(gè)月后針對(duì)該扇區(qū)改為采用月刷新機(jī)制
具體地,每天查詢處于天刷新表中的各個(gè)扇區(qū)對(duì)應(yīng)的時(shí)間索引,該時(shí)間 索引用于記錄最后一次寫操作時(shí)間,若當(dāng)前時(shí)間的日期值加上83后的值與扇 區(qū)對(duì)應(yīng)的時(shí)間索引一致,則將相應(yīng)扇區(qū)對(duì)應(yīng)的時(shí)間索引修改為月表示(即采 用月刷新機(jī)制對(duì)相應(yīng)的時(shí)間索引進(jìn)行更新),其值為115,表示一個(gè)月;
需要說明的是,由于每個(gè)月包含的天數(shù)不同,因此,需要在每個(gè)月的最 后一天,將本月沒有而上個(gè)月有的日期也執(zhí)行相應(yīng)的更新處理,以使得不足 31天的月份的刷新處理也可以正常進(jìn)行;例如,在4月30日的每日定時(shí)刷新 中,將時(shí)間索引為113的扇區(qū)修改其時(shí)間索引為115,也將時(shí)間索引為114的 扇區(qū)修改其時(shí)間索引為115;
(4) 磁盤控制器采用月刷新機(jī)制,即每月定時(shí)刷新扇區(qū)對(duì)應(yīng)的時(shí)間索引值,增加扇區(qū)對(duì)應(yīng)的時(shí)間索引值
具體地,每月查詢所有扇區(qū)對(duì)應(yīng)的時(shí)間索引,該時(shí)間索引用于記錄當(dāng)前 時(shí)間與最后 一 次寫操作時(shí)間之間的間隔時(shí)長(zhǎng),若相應(yīng)的時(shí)間索引是采用月計(jì) 數(shù)方式記錄,則時(shí)間索引對(duì)應(yīng)的計(jì)數(shù)值加1,并重新寫回該扇區(qū)對(duì)應(yīng)的時(shí)間索 引值中,以實(shí)現(xiàn)針對(duì)扇區(qū)的時(shí)間索引的更新。
在上述處理過程中,在相應(yīng)的分鐘刷新表、小時(shí)刷新表和日刷新表中保 存著要刷新扇區(qū)的扇區(qū)號(hào)和對(duì)應(yīng)的時(shí)間索引值,使用扇區(qū)號(hào)可以直接定位到 相應(yīng)的扇區(qū)以進(jìn)行讀寫操作;通過各個(gè)刷新表的設(shè)置,可以有效減少定時(shí)刷
新時(shí)需要讀取的扇區(qū)的數(shù)量,進(jìn)而可以減少定時(shí)刷新過程所占用的CPU的資源。
需要說明的是,若使用月計(jì)數(shù)的扇區(qū)占全部扇區(qū)的比例較小,則還可以 建立相應(yīng)的月刷新表,以節(jié)省刷新時(shí)間。
在掉電后,本發(fā)明實(shí)施例采用的恢復(fù)各個(gè)刷新表的方式可以為查詢所 有扇區(qū)對(duì)應(yīng)的時(shí)間索引,如果用分鐘表示則記錄在分鐘刷新表中,如果用小 時(shí)表示則記錄在小時(shí)刷新表中,如果用日期表示則記錄在日刷新表中。
基于上述時(shí)間索引的記錄規(guī)則,當(dāng)操作系統(tǒng)對(duì)某一扇區(qū)執(zhí)行寫操作時(shí), 則先讀取該扇區(qū)的時(shí)間索引,并根據(jù)相應(yīng)的時(shí)間索引判斷該扇區(qū)是否在不允 許寫的時(shí)間范圍內(nèi),若在不允許寫的時(shí)間范圍內(nèi)則禁止執(zhí)行本次寫操作,以 實(shí)現(xiàn)針對(duì)磁盤中的文件的保護(hù)。
下面將結(jié)合具體的處理流程圖對(duì)本發(fā)明實(shí)施例提供的針對(duì)磁盤的寫操作 的保存處理過程進(jìn)行說明。
實(shí)施處理過程一
如圖5所示,針對(duì)磁盤執(zhí)行寫操作的處理過程可以包括
步驟1,磁盤控制器接收到針對(duì)磁盤中的某個(gè)扇區(qū)的寫操作;
步驟2,讀取該扇區(qū)的時(shí)間索引,以便于根據(jù)該時(shí)間索引確定上一次磁盤操作(該過程中指的是寫操作)時(shí)間,進(jìn)而確定本次寫操作的合法性;
步驟3,根據(jù)所述時(shí)間索引判斷是否允許本次寫搡作的執(zhí)行,若允許,則
執(zhí)行步驟4,否則,執(zhí)行步驟6;
具體可以采用的判斷方式可以包括根據(jù)時(shí)間索引確定上一次磁盤操作
時(shí)間與當(dāng)前時(shí)間之間的差值是否超過預(yù)先設(shè)置的允許磁盤操作間隔時(shí)間,若
未超過,則確認(rèn)允許本次寫操作,否則,確認(rèn)不允許本次操作;
步驟4,執(zhí)行相應(yīng)的寫操作,即向磁盤中相應(yīng)扇區(qū)寫入數(shù)據(jù),修改該扇區(qū)
對(duì)應(yīng)的時(shí)間索引,即以當(dāng)前時(shí)間的分鐘數(shù)作為修改后的扇區(qū)的時(shí)間索引,并
執(zhí)行步驟5;
步驟5,將該執(zhí)行了寫操作的扇區(qū)對(duì)應(yīng)的扇區(qū)號(hào)(即扇區(qū)的編號(hào))寫入到 分鐘刷新表中,相應(yīng)的本次寫操作過程結(jié)束。
步驟6,拒絕本次寫操作,且本次寫操作過程結(jié)束。 實(shí)施處理過程二
如圖6所示,相應(yīng)的根據(jù)時(shí)間索引判斷當(dāng)前扇區(qū)是否允許寫操作的處理過 程具體可以包括
步驟1,當(dāng)需要執(zhí)行針對(duì)磁盤的寫操作時(shí),判斷當(dāng)前時(shí)間與系統(tǒng)保存的最 后一次寫操作時(shí)間差是否大于預(yù)定的值(如5分鐘或其他預(yù)定時(shí)間等),若 是,則認(rèn)為系統(tǒng)時(shí)間被非法修改,并執(zhí)行步驟5,否則,執(zhí)行步驟2;
步驟2,根據(jù)當(dāng)前待執(zhí)行寫操作的扇區(qū)對(duì)應(yīng)的時(shí)間索引值確定當(dāng)前時(shí)間與 上一次磁盤操作時(shí)間之間的差值(即間隔時(shí)長(zhǎng)),并判斷相應(yīng)的間隔時(shí)長(zhǎng)是 否大于預(yù)先設(shè)置的允許磁盤操作間隔時(shí)間T1,若是,則執(zhí)行步驟3,否則,執(zhí) 行步驟4;
在該步驟中,若時(shí)間索引值記錄的是當(dāng)前時(shí)間與上一次磁盤操作時(shí)間之 間的差值,則可以直接確定相應(yīng)的間隔時(shí)長(zhǎng);若時(shí)間索引值記錄的是上一次 磁盤操作時(shí)間,則需要根據(jù)時(shí)間索引值記錄的上 一 次磁盤操作時(shí)間及當(dāng)前時(shí)間確定相應(yīng)的間隔時(shí)長(zhǎng),例如,時(shí)間索引值為62,則上一次磁盤操作時(shí)間為
2: 00,若當(dāng)前時(shí)間為6: 00,則相應(yīng)的間隔時(shí)長(zhǎng)記錄為4小時(shí);
步驟3,判斷所述間隔時(shí)長(zhǎng)是否大于數(shù)據(jù)保護(hù)有效時(shí)間T2,若是,則執(zhí)行 步驟4,否則,執(zhí)行步驟6;
步驟4,允許執(zhí)行本次寫操作,并針對(duì)磁盤中的相應(yīng)扇區(qū)執(zhí)行本次寫操 作,在相應(yīng)扇區(qū)寫入相應(yīng)的信息。
步驟5,上報(bào)告警信息,并執(zhí)行步驟6;
步驟6,不允許執(zhí)行本次寫操作。
可見,在上述圖6所示的處理過程中,磁盤控制器為防止系統(tǒng)時(shí)間被非法
修改,進(jìn)而非法更改石茲盤中保存的相應(yīng)文件,增加了相應(yīng)的步驟1的操:作,該
操作具體可以為存儲(chǔ)系統(tǒng)將每次讀寫操作的時(shí)間都更新在一個(gè)非易失的內(nèi) 存中,以保存針對(duì)存儲(chǔ)系統(tǒng)的磁盤的一個(gè)最后修改時(shí)間;之后,當(dāng)存儲(chǔ)系統(tǒng) 判斷當(dāng)前時(shí)間和保存的最后修改時(shí)間之間的差值大于預(yù)定的時(shí)間值(如5分鐘 等),則認(rèn)為存儲(chǔ)系統(tǒng)的時(shí)間遭到非法修改,此時(shí),可以上報(bào)相應(yīng)的告警信 息并拒絕相應(yīng)的磁盤操作。
本發(fā)明實(shí)施例還提供了一種磁盤控制器,其具體實(shí)現(xiàn)結(jié)構(gòu)如圖7所示,主 要可以包括以下處理單元
(1 )參數(shù)獲取單元701 ,用于在執(zhí)行磁盤操作前,獲取待操作的當(dāng)前磁 盤區(qū)域?qū)?yīng)的操作控制參數(shù),所述操作控制參數(shù)用于表示是否允許操作當(dāng)前 磁盤區(qū)域,如是否允許對(duì)當(dāng)前待操作的扇區(qū)進(jìn)行寫操作等;
可選地,相應(yīng)的操作控制參數(shù)包括操作控制時(shí)間參數(shù)或操作控制事件 參數(shù)中的至少一項(xiàng);
(2)磁盤操作控制處理單元702,用于在根據(jù)所述參數(shù)獲取單元701獲 取的操作控制參數(shù)確定允許對(duì)所述當(dāng)前磁盤區(qū)域進(jìn)行操作時(shí),執(zhí)行所述磁盤 操作;其中,根據(jù)采用的操作控制參數(shù)的不同,該磁盤操作控制處理單元702具 體可以但不限于采用以下任一處理方式進(jìn)行磁盤操作控制 處理方式一
若所述的操作控制時(shí)間參數(shù)包括允許磁盤操作間隔時(shí)間,則所述磁盤操
作控制處理單元具體包括判斷當(dāng)前時(shí)間與上一次》茲盤操作時(shí)間之間的間隔
時(shí)長(zhǎng)是否符合所述允許磁盤操作間隔時(shí)間要求,若符合,則允許本次磁盤操 作,否則,禁止本次磁盤操作;
處理方式二
若所述的操作控制時(shí)間參數(shù)包括允許磁盤操作間隔時(shí)間和數(shù)據(jù)保護(hù)有效 時(shí)間,則所述磁盤操作控制處理單元具體包括判斷當(dāng)前時(shí)間與上一次磁盤 操作時(shí)間之間的間隔時(shí)長(zhǎng)是否符合所述允許磁盤操作間隔時(shí)間要求,若符 合,則允許本次磁盤操作,否則,判斷當(dāng)前時(shí)間與上一次磁盤操作時(shí)間之間 的間隔時(shí)長(zhǎng)是否符合所述數(shù)據(jù)保護(hù)有效時(shí)間要求,若符合,則禁止本次磁盤 操作,否則,允許本次磁盤操作。
可選地,該磁盤控制器還可以包括時(shí)間信息記錄單元703,用于通過時(shí)間 索引值記錄所述當(dāng)前時(shí)間與上一次磁盤操作時(shí)間之間的間隔時(shí)長(zhǎng)或上一次磁
方式記錄所述當(dāng)前時(shí)間與上一次磁盤操作時(shí)間之間的間隔時(shí)長(zhǎng);其中,該時(shí) 間信息記錄單元具體可以采用以下任一記錄方式進(jìn)行時(shí)間信息的記錄 記錄方式一
若所述當(dāng)前時(shí)間與上 一次磁盤4喿作時(shí)間之間的間隔時(shí)長(zhǎng)小于60分鐘,則 采用分鐘作為計(jì)時(shí)單位進(jìn)行間隔時(shí)長(zhǎng)或上一次磁盤操作時(shí)間的統(tǒng)計(jì);若所述 當(dāng)前時(shí)間與上一次磁盤操作時(shí)間之間的間隔時(shí)長(zhǎng)大于60分鐘小于24小時(shí),則 采用小時(shí)作為計(jì)時(shí)單位進(jìn)行間隔時(shí)長(zhǎng)或上一次磁盤操作時(shí)間的統(tǒng)計(jì);若所述 當(dāng)前時(shí)間與上一次磁盤操作時(shí)間之間的間隔時(shí)長(zhǎng)大于24小時(shí)小于1個(gè)月,則采用天作為計(jì)時(shí)單位進(jìn)行間隔時(shí)長(zhǎng)或上一次磁盤操作時(shí)間的統(tǒng)計(jì);若所述當(dāng)前 時(shí)間與上一次磁盤搡作時(shí)間之間的間隔時(shí)長(zhǎng)大于1個(gè)月,則采用月作為計(jì)時(shí)單 位進(jìn)4亍間隔時(shí)長(zhǎng)或上一次》茲盤才喿作時(shí)間的統(tǒng)計(jì); 記錄方式二
若所述當(dāng)前時(shí)間與上 一 次磁盤操作時(shí)間之間的間隔時(shí)長(zhǎng)小于60分鐘,則 以分鐘為單位記錄所述間隔時(shí)長(zhǎng)或上一次磁盤操作時(shí)間的分鐘值,取值范圍 為0 - 60;若所述當(dāng)前時(shí)間與上一次磁盤操作時(shí)間之間的間隔時(shí)長(zhǎng)大于60分鐘 小于24小時(shí),則采用HH + 60記錄所述間隔時(shí)長(zhǎng)或上一次磁盤操作時(shí)間,其 中,HH表示實(shí)際間隔時(shí)長(zhǎng)或上一次磁盤操作時(shí)間的小時(shí)值,單位為小時(shí),取 值范圍為0 - 24;若所述當(dāng)前時(shí)間與上一次磁盤操作時(shí)間之間的間隔時(shí)長(zhǎng)大于 24小時(shí)小于1個(gè)月,則采用DD + 83記錄所述間隔時(shí)長(zhǎng)或上一次磁盤操作時(shí) 間,其中,DD表示實(shí)際間隔時(shí)長(zhǎng)或上一次磁盤操作時(shí)間中的日期值,單位為 天,取值范圍為O-31;若所述當(dāng)前時(shí)間與上一次磁盤操作時(shí)間之間的間隔時(shí) 長(zhǎng)大于1個(gè)月,則采用1\^1/1 + 114記錄所述間隔時(shí)長(zhǎng)或上一次磁盤操作時(shí)間, 其中,MM表示實(shí)際間隔時(shí)長(zhǎng)或上一次磁盤操作時(shí)間的月份值,單位為月,取 值范圍為0-141。
基于上述時(shí)間信息記錄方式,在該磁盤控制器中還可以包括刷新表記錄 單元704,用于采用分鐘刷新表、小時(shí)刷新表、日刷新表或月刷新表中的至少 一種表,分別記錄采用對(duì)應(yīng)的分鐘、小時(shí)、日或月作為時(shí)間索引統(tǒng)計(jì)單位的 扇區(qū),并記錄扇區(qū)對(duì)應(yīng)的時(shí)間索引值。
可選地,在該磁盤控制器中還可以包括非法修改時(shí)間識(shí)別單元705,用于 識(shí)別當(dāng)前系統(tǒng)時(shí)間與存儲(chǔ)系統(tǒng)的最后一次磁盤操作時(shí)間之間的間隔是否大于 預(yù)定的時(shí)間值,若大于,則拒絕針對(duì)存儲(chǔ)系統(tǒng)的磁盤操作,否則,通知所述 參數(shù)獲取單元執(zhí)行相應(yīng)的操作。
綜上所述,本發(fā)明實(shí)施例采用了一種簡(jiǎn)單的、未基于應(yīng)用和操作系統(tǒng)的磁盤寫保護(hù)方式,從而可以針對(duì)磁盤中存儲(chǔ)數(shù)據(jù)的有效保護(hù),例如,可以滿 足塞班斯法案對(duì)于文件在一定時(shí)間內(nèi)不允許被改寫的要求,等等。本發(fā)明實(shí) 施例提供的實(shí)現(xiàn)方案具有易于實(shí)現(xiàn)、物理上安全可靠及能夠有效防范非法意 圖的修改、控制方式靈活等優(yōu)點(diǎn)。
以上所述,僅為本發(fā)明較佳的具體實(shí)施方式
,但本發(fā)明的保護(hù)范圍并不 局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可 輕易想到的變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明 的保護(hù)范圍應(yīng)該以權(quán)利要求的保護(hù)范圍為準(zhǔn)。
權(quán)利要求
1. 一種磁盤操作的保護(hù)方法,其特征在于,包括接收磁盤操作請(qǐng)求,磁盤控制器獲取待操作的當(dāng)前磁盤區(qū)域?qū)?yīng)的操作控制參數(shù),根據(jù)所述操作控制參數(shù)判斷是否允許操作當(dāng)前磁盤區(qū)域;當(dāng)根據(jù)所述操作控制參數(shù)確定允許對(duì)所述當(dāng)前磁盤區(qū)域進(jìn)行操作時(shí),則執(zhí)行所述磁盤操作。
2、 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述的操作控制參數(shù)包 括操作控制時(shí)間參數(shù)或操作控制事件參數(shù)中的至少 一項(xiàng)。
3、 根據(jù)權(quán)利要求2所述的方法,其特征在于,所述的操作控制時(shí)間參數(shù)包括允許磁盤操作間隔時(shí)間,且判斷是否允許 操作當(dāng)前磁盤區(qū)域的過程具體包括判斷當(dāng)前時(shí)間與上一次磁盤操作時(shí)間之 間的間隔時(shí)長(zhǎng)是否符合所述允許磁盤操作間隔時(shí)間要求,若符合,則允許本 次磁盤操作,否則,禁止本次磁盤操作;或者,所述的操作控制時(shí)間參數(shù)包括允許磁盤操作間隔時(shí)間和數(shù)據(jù)保護(hù)有效時(shí) 間,且判斷是否允許操作當(dāng)前磁盤區(qū)域的過程具體包括判斷當(dāng)前時(shí)間與上 一次磁盤操作時(shí)間之間的間隔時(shí)長(zhǎng)是否符合所述允許磁盤操作間隔時(shí)間要 求,若符合,則允許本次磁盤操作,否則,判斷當(dāng)前時(shí)間與上一次磁盤操作 時(shí)間之間的間隔時(shí)長(zhǎng)是否符合所述數(shù)據(jù)保護(hù)有效時(shí)間要求,若符合,則禁止 本次磁盤操作,否則,允許本次磁盤操作。
4、 根據(jù)權(quán)利要求3所述的方法,其特征在于,該方法還包括通過時(shí)間索引值記錄所述當(dāng)前時(shí)間與上一次磁盤操作時(shí)間之間的間隔時(shí) 長(zhǎng),且所述的時(shí)間索引值為采用精確度逐漸降低的非線性時(shí)間統(tǒng)計(jì)方式記錄 所述當(dāng)前時(shí)間與上 一 次石茲盤操作時(shí)間之間的間隔時(shí)長(zhǎng)。
5、 根據(jù)權(quán)利要求4所述的方法,其特征在于,所述的非線性時(shí)間統(tǒng)計(jì)方式具體包括若所述當(dāng)前時(shí)間與上 一 次磁盤操作時(shí)間之間的間隔時(shí)長(zhǎng)小于60分鐘,則 采用分鐘作為計(jì)時(shí)單位進(jìn)行間隔時(shí)長(zhǎng)或上一次磁盤操作時(shí)間的統(tǒng)計(jì);若所述 當(dāng)前時(shí)間與上一次磁盤操作時(shí)間之間的間隔時(shí)長(zhǎng)大于60分鐘小于24小時(shí),則 采用小時(shí)作為計(jì)時(shí)單位進(jìn)行間隔時(shí)長(zhǎng)或上一次磁盤操作時(shí)間的統(tǒng)計(jì);若所述 當(dāng)前時(shí)間與上一次磁盤操作時(shí)間之間的間隔時(shí)長(zhǎng)大于24小時(shí)小于1個(gè)月,則采 用天作為計(jì)時(shí)單位進(jìn)行間隔時(shí)長(zhǎng)或上一次磁盤操作時(shí)間的統(tǒng)計(jì);若所述當(dāng)前 時(shí)間與上一次磁盤操作時(shí)間之間的間隔時(shí)長(zhǎng)大于1個(gè)月,則采用月作為計(jì)時(shí)單 位進(jìn)行間隔時(shí)長(zhǎng)或上一次i茲盤才乘作時(shí)間的統(tǒng)計(jì);或者,若所述當(dāng)前時(shí)間與上 一次磁盤操作時(shí)間之間的間隔時(shí)長(zhǎng)小于60分鐘,則 以分鐘為單位記錄所述間隔時(shí)長(zhǎng)或上一次磁盤操作時(shí)間的分鐘值,取值范圍 為0 - 60;若所述當(dāng)前時(shí)間與上一次磁盤操作時(shí)間之間的間隔時(shí)長(zhǎng)大于60分鐘 小于24小時(shí),則采用HH + 60記錄所述間隔時(shí)長(zhǎng)或上一次磁盤操作時(shí)間,其 中,HH表示實(shí)際間隔時(shí)長(zhǎng)或上一次磁盤操作時(shí)間的小時(shí)值,單位為小時(shí),取 值范圍為0-24;若所述當(dāng)前時(shí)間與上一次磁盤操作時(shí)間之間的間隔時(shí)長(zhǎng)大于 24小時(shí)小于1個(gè)月,則采用00 + 83記錄所述間隔時(shí)長(zhǎng)或上一次磁盤操作時(shí) 間,其中,DD表示實(shí)際間隔時(shí)長(zhǎng)或上一次磁盤操作時(shí)間中的日期值,單位為 天,取值范圍為0-31;若所述當(dāng)前時(shí)間與上一次磁盤操作時(shí)間之間的間隔時(shí) 長(zhǎng)大于1個(gè)月,則采用1^1!/1 + 114記錄所述間隔時(shí)長(zhǎng)或上一次磁盤操作時(shí)間, 其中,MM表示實(shí)際間隔時(shí)長(zhǎng)或上一次磁盤操作時(shí)間的月份值,單位為月,取 值范圍為O- 141。
6、 根據(jù)權(quán)利要求5所述的方法,其特征在于,該方法還包括 采用分鐘刷新表、小時(shí)刷新表、日刷新表或月刷新表中的至少一種表,分別記錄采用對(duì)應(yīng)的分鐘、小時(shí)、日或月作為時(shí)間索引統(tǒng)計(jì)單位的扇區(qū)信 息,并記錄扇區(qū)對(duì)應(yīng)的時(shí)間索引值。
7、 根據(jù)權(quán)利要求1至6任一項(xiàng)所述的方法,其特征在于,在獲取所述磁盤操作控制參數(shù)之前,該方法還包括判斷當(dāng)前系統(tǒng)時(shí)間與存儲(chǔ)系統(tǒng)的最后 一次磁盤操作時(shí)間之間的間隔是否 大于預(yù)定的時(shí)間值,若判斷為是,則拒絕針對(duì)存儲(chǔ)系統(tǒng)的磁盤操作,若判斷 為否則執(zhí)行獲取所述磁盤操作控制參數(shù)的步驟。
8、 一種磁盤控制器,其特征在于,包括參數(shù)獲取單元,用于在接收磁盤操作請(qǐng)求后,獲取待操作的當(dāng)前磁盤區(qū) 域?qū)?yīng)的操作控制參數(shù),所述操作控制參數(shù)用于表示是否允許操作當(dāng)前磁盤 區(qū)域;磁盤操作控制處理單元,用于根據(jù)所述參數(shù)獲取單元獲取的操作控制參 數(shù)判斷是否允許操作當(dāng)前磁盤區(qū)域,并在確定允許對(duì)所述當(dāng)前磁盤區(qū)域進(jìn)行 操作時(shí),執(zhí)行所述磁盤操作。
9、 根據(jù)權(quán)利要求8所述的磁盤控制器,其特征在于,所述的操作控制參 數(shù)包括操作控制時(shí)間參數(shù)或操作控制事件參數(shù)中的至少一項(xiàng)。
10、 根據(jù)權(quán)利要求9所述的磁盤控制器,其特征在于, 若所述的操作控制時(shí)間參數(shù)包括允許磁盤操作間隔時(shí)間,則所述磁盤操作控制處理單元具體包括判斷當(dāng)前時(shí)間與上一次磁盤操作時(shí)間之間的間隔 時(shí)長(zhǎng)是否符合所述允許磁盤操作間隔時(shí)間要求,若符合,則允許本次磁盤操 作,否則,禁止本次磁盤操作; 或者,若所述的操作控制時(shí)間參數(shù)包括允許磁盤操作間隔時(shí)間和數(shù)據(jù)保護(hù)有效 時(shí)間,則所述磁盤操作控制處理單元具體包括判斷當(dāng)前時(shí)間與上一次磁盤 操作時(shí)間之間的間隔時(shí)長(zhǎng)是否符合所述允許磁盤操作間隔時(shí)間要求,若符合,則允許本次磁盤操作,否則,判斷當(dāng)前時(shí)間與上一次磁盤操作時(shí)間之間 的間隔時(shí)長(zhǎng)是否符合所述數(shù)據(jù)保護(hù)有效時(shí)間要求,若符合,則禁止本次磁盤 4乘作,否則,允許本次磁盤操作。
11、 根據(jù)權(quán)利要求10所述的磁盤控制器,其特征在于,該磁盤控制器還 包括時(shí)間信息記錄單元,用于通過時(shí)間索引值記錄所述當(dāng)前時(shí)間與上一次磁 盤操作時(shí)間之間的間隔時(shí)長(zhǎng)或上一次磁盤操作時(shí)間,且所述的時(shí)間索引值為 采用精確度逐漸降低的非線性時(shí)間統(tǒng)計(jì)方式記錄所述當(dāng)前時(shí)間與上一次磁盤 操作時(shí)間之間的間隔時(shí)長(zhǎng)或上一次磁盤操作時(shí)間。
12、 根據(jù)權(quán)利要求11所述的磁盤控制器,其特征在于,所述的間隔時(shí)長(zhǎng)記錄單元具體包括若所述當(dāng)前時(shí)間與上一次磁盤操作時(shí)間之間的間隔時(shí)長(zhǎng)小于60分鐘,則 采用分鐘作為計(jì)時(shí)單位進(jìn)行間隔時(shí)長(zhǎng)或上一次磁盤操作時(shí)間的統(tǒng)計(jì);若所述 當(dāng)前時(shí)間與上一次石茲盤操作時(shí)間之間的間隔時(shí)長(zhǎng)大于60分鐘小于24小時(shí),則 采用小時(shí)作為計(jì)時(shí)單位進(jìn)行間隔時(shí)長(zhǎng)或上一次磁盤操作時(shí)間的統(tǒng)計(jì);若所述 當(dāng)前時(shí)間與上一次磁盤操作時(shí)間之間的間隔時(shí)長(zhǎng)大于24小時(shí)小于1個(gè)月,則采 用天作為計(jì)時(shí)單位進(jìn)行間隔時(shí)長(zhǎng)或上一次磁盤操作時(shí)間的統(tǒng)計(jì);若所述當(dāng)前 時(shí)間與上一次磁盤操作時(shí)間之間的間隔時(shí)長(zhǎng)大于1個(gè)月,則采用月作為計(jì)時(shí)單 位進(jìn)行間隔時(shí)長(zhǎng)或上一次>磁盤#:作時(shí)間的統(tǒng)計(jì);或者,若所述當(dāng)前時(shí)間與上 一次-磁盤#:作時(shí)間之間的間隔時(shí)長(zhǎng)小于60分鐘,則 以分鐘為單位記錄所述間隔時(shí)長(zhǎng)或上一次磁盤操作時(shí)間的分鐘值,取值范圍為0-60;若所述當(dāng)前時(shí)間與上一次磁盤操作時(shí)間之間的間隔時(shí)長(zhǎng)大于60分鐘 小于24小時(shí),則采用HH + 60記錄所述間隔時(shí)長(zhǎng)或上一次磁盤操作時(shí)間,其 中,HH表示實(shí)際間隔時(shí)長(zhǎng)或上一次磁盤操作時(shí)間的小時(shí)值,單位為小時(shí),取 值范圍為0 - 24;若所述當(dāng)前時(shí)間與上一次磁盤操作時(shí)間之間的間隔時(shí)長(zhǎng)大于24小時(shí)小于1個(gè)月,則采用00 +83記錄所述間隔時(shí)長(zhǎng)或上一次磁盤操作時(shí) 間,其中,DD表示實(shí)際間隔時(shí)長(zhǎng)或上一次磁盤操作時(shí)間中的日期值,單位為 天,取值范圍為0 - 31;若所述當(dāng)前時(shí)間與上一次磁盤操作時(shí)間之間的間隔時(shí) 長(zhǎng)大于1個(gè)月,則釆用MM + 114記錄所述間隔時(shí)長(zhǎng)或上一次磁盤操作時(shí)間, 其中,MM表示實(shí)際間隔時(shí)長(zhǎng)或上一次磁盤操作時(shí)間的月份值,單位為月,取 值范圍為O- 141。
13、 根據(jù)權(quán)利要求12所述的磁盤控制器,其特征在于,該磁盤控制器還 包括刷新表記錄單元,用于采用分鐘刷新表、小時(shí)刷新表、日刷新表或月刷 新表中的至少一種表,分別記錄采用對(duì)應(yīng)的分鐘、小時(shí)、日或月作為時(shí)間索 引統(tǒng)計(jì)單位的扇區(qū)信息,并記錄扇區(qū)對(duì)應(yīng)的時(shí)間索引值。
14、 根據(jù)權(quán)利要求8至13任一項(xiàng)所述的磁盤控制器,其特征在于,該磁盤 控制器還包括非法修改時(shí)間識(shí)別單元,用于識(shí)別當(dāng)前系統(tǒng)時(shí)間與存儲(chǔ)系統(tǒng)的 最后一次磁盤操作時(shí)間之間的間隔是否大于預(yù)定的時(shí)間值,若大于,則拒絕 針對(duì)存儲(chǔ)系統(tǒng)的磁盤操作,否則,通知所述參數(shù)獲取單元。
全文摘要
一種磁盤操作的保護(hù)方法及磁盤控制器,其主要包括接收磁盤操作請(qǐng)求,磁盤控制器獲取待操作的當(dāng)前磁盤區(qū)域?qū)?yīng)的操作控制參數(shù),根據(jù)所述操作控制參數(shù)判斷是否允許操作當(dāng)前磁盤區(qū)域;當(dāng)根據(jù)所述操作控制參數(shù)確定允許對(duì)所述當(dāng)前磁盤區(qū)域進(jìn)行操作時(shí),則執(zhí)行所述磁盤操作。本發(fā)明實(shí)施例的實(shí)現(xiàn)可以針對(duì)磁盤中存儲(chǔ)的數(shù)據(jù)進(jìn)行相應(yīng)的操作保護(hù),以有效防范非法意圖的修改等非法磁盤操作,并可以在數(shù)據(jù)產(chǎn)生過程中實(shí)施相應(yīng)的磁盤保護(hù),克服現(xiàn)有技術(shù)中提供的磁盤保護(hù)機(jī)制存在的缺陷。
文檔編號(hào)G06F12/14GK101286142SQ20081009814
公開日2008年10月15日 申請(qǐng)日期2008年5月19日 優(yōu)先權(quán)日2008年5月19日
發(fā)明者徐明軍, 帥 肖 申請(qǐng)人:華為技術(shù)有限公司