像專家壓縮標(biāo)準(zhǔn)音頻層面4)播放器、膝上型便攜計(jì)算機(jī)和臺(tái)式計(jì)算機(jī)等等。
[0032]服務(wù)器105可以是提供各種服務(wù)的服務(wù)器,例如對(duì)終端設(shè)備101、102、103上的文件管理類應(yīng)用等提供支持的數(shù)據(jù)庫(kù)服務(wù)器或文件系統(tǒng)服務(wù)器。服務(wù)器可以對(duì)接收到的數(shù)據(jù)進(jìn)行存儲(chǔ)、分析等處理,并將處理結(jié)果反饋給終端設(shè)備。
[0033]需要說(shuō)明的是,除了借助于終端設(shè)備101、102、103對(duì)服務(wù)器105進(jìn)行操作以執(zhí)行文件管理之外,本申請(qǐng)實(shí)施例所提供的文件管理方法也可以由終端設(shè)備101、102、103單獨(dú)執(zhí)行(這時(shí)終端設(shè)備上通常已經(jīng)具備了文件系統(tǒng)),或者也可以由服務(wù)器105單獨(dú)執(zhí)行。相應(yīng)地,文件管理裝置可以設(shè)置于終端設(shè)備101、102、103中,也可以設(shè)置于服務(wù)器105中。
[0034]應(yīng)該理解,圖1中的終端設(shè)備、網(wǎng)絡(luò)和服務(wù)器的數(shù)目?jī)H僅是示意性的。根據(jù)實(shí)現(xiàn)需要,可以具有任意數(shù)目的終端設(shè)備、網(wǎng)絡(luò)和服務(wù)器。
[0035]繼續(xù)參考圖2,示出了根據(jù)本申請(qǐng)的文件管理方法的一個(gè)實(shí)施例的流程200。所述的文件管理方法,包括以下步驟:
[0036]步驟201,攔截文件系統(tǒng)的、用于文件句柄清理的操作。
[0037]在本實(shí)施例中,文件管理方法運(yùn)行于其上的電子設(shè)備可以對(duì)文件系統(tǒng)的、用于文件句柄清理的操作進(jìn)行攔截。
[0038]其中,文件系統(tǒng)是操作系統(tǒng)中負(fù)責(zé)管理和存儲(chǔ)文件信息的軟件機(jī)構(gòu),其可以由三部分組成:文件系統(tǒng)的接口,對(duì)對(duì)象操縱和管理的軟件集合,對(duì)象及屬性。從系統(tǒng)的角度來(lái)看,文件系統(tǒng)是對(duì)文件存儲(chǔ)設(shè)備(例如磁盤)的空間進(jìn)行組織和分配,負(fù)責(zé)文件存儲(chǔ)并對(duì)存入的文件進(jìn)行保護(hù)和檢索的系統(tǒng)。具體地說(shuō),文件系統(tǒng)的功能可以包括:管理和調(diào)度文件的存儲(chǔ)空間;提供文件的邏輯結(jié)構(gòu)、物理結(jié)構(gòu)和存儲(chǔ)方法;實(shí)現(xiàn)文件從標(biāo)識(shí)到實(shí)際地址的映射;實(shí)現(xiàn)文件的控制操作和存取操作;實(shí)現(xiàn)文件信息的共享并提供可靠的文件保密和保護(hù)措施;提供文件的安全措施。
[0039]其中,句柄(handle)是一種指針。當(dāng)一個(gè)應(yīng)用程序要引用其他系統(tǒng)(如文件系統(tǒng)、數(shù)據(jù)庫(kù))所管理的內(nèi)存塊或?qū)ο髸r(shí),就要使用句柄。在內(nèi)存管理中,句柄被廣泛應(yīng)用,例如,Windows 操作系統(tǒng)的應(yīng)用程序編程接口(Applicat1n Programming Interface,API)就大量使用句柄來(lái)標(biāo)識(shí)系統(tǒng)中的對(duì)象,并建立操作系統(tǒng)與用戶空間之間的通信渠道。例如,桌面上的一個(gè)窗體由一個(gè)HWND類型的句柄來(lái)標(biāo)識(shí)。
[0040]在文件系統(tǒng)中,要從一個(gè)文件讀取數(shù)據(jù),應(yīng)用程序首先要調(diào)用操作系統(tǒng)函數(shù)并傳送文件名,并選一個(gè)到該文件的路徑來(lái)打開(kāi)文件。該操作系統(tǒng)函數(shù)會(huì)取回一個(gè)順序號(hào),即文件句柄(file handle),該文件句柄對(duì)于打開(kāi)的文件是唯一的識(shí)別依據(jù)。對(duì)于打開(kāi)的文件句柄,文件系統(tǒng)需要在適當(dāng)?shù)臅r(shí)間進(jìn)行清理操作以便釋放資源。而這種文件句柄清理的操作可以由文件系統(tǒng)調(diào)用相應(yīng)的文件句柄清理函數(shù)來(lái)進(jìn)行。相應(yīng)地,對(duì)文件句柄清理的操作的攔截則可以通過(guò)對(duì)上述文件句柄清理函數(shù)的攔截來(lái)進(jìn)行。例如,可以自定義一個(gè)攔截處理函數(shù),再將上述文件句柄清理函數(shù)的地址重定向到自定義的攔截處理函數(shù),即可實(shí)現(xiàn)對(duì)文件句柄清理的操作的攔截。
[0041]步驟202,獲取上述操作所針對(duì)的目標(biāo)文件的文件特征。
[0042]在本實(shí)施例中,用于文件句柄清理的操作可以由文件系統(tǒng)調(diào)用相應(yīng)的文件句柄清理函數(shù)來(lái)進(jìn)行。通過(guò)上述步驟201對(duì)文件句柄清理函數(shù)進(jìn)行攔截之后,可以從上述文件句柄清理函數(shù)中獲取文件句柄清理操作所針對(duì)的目標(biāo)文件的文件特征。其中,文件特征是可以用來(lái)唯一地標(biāo)識(shí)出一個(gè)文件的特征,例如文件路徑、文件特征碼等等。
[0043]步驟203,根據(jù)文件特征,獲取目標(biāo)文件的管理方式信息。
[0044]在本實(shí)施例中,管理方式信息是對(duì)上述目標(biāo)文件的處理方式進(jìn)行描述的信息,更具體而言,其可以指示是要?jiǎng)h除上述目標(biāo)文件還是要防止刪除上述目標(biāo)文件。
[0045]上述管理方式信息可以是由用戶臨時(shí)提供的,例如,文件管理方法運(yùn)行于其上的電子設(shè)備可以直接請(qǐng)求用戶指示對(duì)于目標(biāo)文件的管理方式(即處理方式),以此得到具體的管理方式信息。
[0046]在本實(shí)施例的一些可選的實(shí)現(xiàn)方式中,上述管理方式信息還可以是預(yù)先提供或預(yù)先設(shè)置的。例如,預(yù)先提供用于存儲(chǔ)各個(gè)文件的相應(yīng)管理方式信息的文件管理方式表。這時(shí),可以根據(jù)文件特征,對(duì)該文件管理方式表進(jìn)行檢索,以獲取與上述文件特征對(duì)應(yīng)的目標(biāo)文件的管理方式信息。
[0047]步驟204,根據(jù)管理方式信息,對(duì)文件系統(tǒng)中目標(biāo)文件所對(duì)應(yīng)的文件對(duì)象的文件標(biāo)志進(jìn)行處理,并恢復(fù)用于文件句柄清理的操作。
[0048]在本實(shí)施例中,基于在上述步驟203獲取的管理方式信息,文件管理方法運(yùn)行于其上的電子設(shè)備可以首先對(duì)文件系統(tǒng)中目標(biāo)文件所對(duì)應(yīng)的文件對(duì)象的文件標(biāo)志進(jìn)行處理。之后,再恢復(fù)步驟201中被攔截的用于文件句柄清理的操作。
[0049]具體而言,當(dāng)上述管理方式信息是用于指示要?jiǎng)h除上述目標(biāo)文件的信息時(shí),則對(duì)文件系統(tǒng)中上述目標(biāo)文件所對(duì)應(yīng)的文件對(duì)象的文件標(biāo)志進(jìn)行處理可以是在上述文件對(duì)象的文件控制塊(File Control Block,FCB)的標(biāo)志字段中設(shè)置刪除文件標(biāo)志。其中,文件控制塊是操作系統(tǒng)為管理文件而設(shè)置的一組具有固定格式的數(shù)據(jù)結(jié)構(gòu),存放了為管理文件所需的所有屬性信息(例如文件標(biāo)志和控制信息)。以Windows操作系統(tǒng)為例,可以在文件控制塊的標(biāo)志字段中設(shè)置刪除文件標(biāo)志“FILE_FLAG_DELETE_ON_CLOSE”,這樣,在恢復(fù)用于文件句柄清理的操作之后(具體地在上述目標(biāo)文件的文件句柄被清理之后),上述目標(biāo)文件將被刪除。
[0050]具體而言,當(dāng)上述管理方式信息是用于指示要防止刪除上述目標(biāo)文件的信息時(shí),則對(duì)文件系統(tǒng)中上述目標(biāo)文件所對(duì)應(yīng)的文件對(duì)象的文件標(biāo)志進(jìn)行處理可以如下進(jìn)行:首先,判斷上述文件對(duì)象的文件控制塊中是否設(shè)置有刪除文件標(biāo)志;如果是,則清除上述刪除文件標(biāo)志。
[0051]對(duì)于本申請(qǐng)的上述實(shí)施例,應(yīng)用的場(chǎng)景可以為:用戶針對(duì)一些文件,預(yù)先設(shè)置了管理方式信息。之后,文件系統(tǒng)的用于文件句柄清理的操作將被攔截,并進(jìn)行如下處理:基于管理方式信息,判斷文件句柄清理操作所針對(duì)的目標(biāo)文件是需要被刪除還是需要被保護(hù)(防止刪除);接下來(lái),基于刪除或保護(hù)這兩種不同的文件管理方式來(lái)相應(yīng)地設(shè)置文件標(biāo)志;在恢復(fù)用于文件句柄清理的操作之后,目標(biāo)文件將相應(yīng)地被刪除或未被刪除。
[0052]本申請(qǐng)的上述實(shí)施例提供的方法通過(guò)攔截文件系統(tǒng)的文件句柄清理操作,再具體分析該操作所針對(duì)的目標(biāo)文件的管理方式并據(jù)此相應(yīng)地處理,實(shí)現(xiàn)了對(duì)文件安全、可靠的刪除或防刪除。
[0053]進(jìn)一步參考圖3,其示出了文件管理方法的又一個(gè)實(shí)施例的流程300。該文件管理方法的流程300,包括以下步驟:
[0054]步驟301,攔截文件系統(tǒng)的、用于文件句柄清理的操作。
[0055]在本實(shí)施例中,文件管理方法運(yùn)行于其上的電子設(shè)備可以對(duì)文件系統(tǒng)的、用于文件句柄清理的操作進(jìn)行攔截。文件句柄清理的操作可以由文件系統(tǒng)調(diào)用相應(yīng)的文件句柄清理函數(shù)來(lái)進(jìn)行。相應(yīng)地,對(duì)文件句柄清理的操作的攔截則可以通過(guò)對(duì)上述文件句柄清理函數(shù)的攔截來(lái)進(jìn)行。
[0056]步驟302,獲取上述操作所針對(duì)的目標(biāo)文件的文件特征。
[0057]在本實(shí)施例中,借助于上述步驟301對(duì)文件句柄清理函數(shù)進(jìn)行攔截之后,可以從上述文件句柄清理函數(shù)中獲取文件句柄清理操作所針對(duì)的目標(biāo)文件的文件特征。其中,文件特征是可以用來(lái)唯一地標(biāo)識(shí)出一個(gè)文件的特征,例如文件路徑、文件特征碼等等。
[0058]步驟303,根據(jù)文件特征,