專利名稱:一種錯(cuò)誤文件處理方法、裝置和客戶端設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及網(wǎng)絡(luò)安全技術(shù)領(lǐng)域,具體涉及一種錯(cuò)誤文件處理方法、裝置和客戶端設(shè)備。
背景技術(shù):
應(yīng)用程序是指為了完成某項(xiàng)或某幾項(xiàng)特定任務(wù)而被開發(fā)運(yùn)行于操作系統(tǒng)之上的計(jì)算機(jī)程序。應(yīng)用程序通過人機(jī)交互,調(diào)用操作系統(tǒng)中的各種文件,經(jīng)過復(fù)雜的邏輯處理與運(yùn)算,輸出顯示結(jié)果,以實(shí)現(xiàn)其強(qiáng)大的功能。但是,當(dāng)應(yīng)用程序在運(yùn)行過程中,如果發(fā)生斷電現(xiàn)象,系統(tǒng)需要重新啟動(dòng),而斷電后應(yīng)用程序運(yùn)行時(shí)所調(diào)用的文件會(huì)產(chǎn)生錯(cuò)誤,因此,系統(tǒng)重啟后如果重 新運(yùn)行應(yīng)用程序,該應(yīng)用程序再次處理這些產(chǎn)生錯(cuò)誤的文件時(shí),將無法正常讀寫,從而導(dǎo)致應(yīng)用程序崩潰。
發(fā)明內(nèi)容
鑒于上述問題,提出了本發(fā)明以便提供一種克服上述問題或者至少部分地解決上述問題的錯(cuò)誤文件處理裝置和客戶端設(shè)備以及相應(yīng)的錯(cuò)誤文件處理方法。依據(jù)本發(fā)明的一個(gè)方面,提供了一種錯(cuò)誤文件處理方法,包括讀取系統(tǒng)事件日志;解析所述系統(tǒng)事件日志,獲取其中的文件錯(cuò)誤事件日志;獲取所述文件錯(cuò)誤事件日志中的錯(cuò)誤文件的文件路徑;對所述文件路徑對應(yīng)的錯(cuò)誤文件進(jìn)行重命名;當(dāng)應(yīng)用程序在調(diào)用所述錯(cuò)誤文件時(shí),建立一個(gè)與所述重命名前的錯(cuò)誤文件具有相同文件名的新文件,并調(diào)用所述新文件。本發(fā)明實(shí)施例中,對所述文件路徑對應(yīng)的錯(cuò)誤文件進(jìn)行重命名,包括在所述錯(cuò)誤文件的文件名后面增加一個(gè)文件擴(kuò)展名。本發(fā)明實(shí)施例中,文件擴(kuò)展名為隨機(jī)數(shù)。本發(fā)明實(shí)施例中,解析所述系統(tǒng)事件日志,獲取其中的文件錯(cuò)誤事件日志,包括獲取所述系統(tǒng)事件日志中特定的事件ID對應(yīng)的所有系統(tǒng)事件日志,所述特定的事件ID為包含文件錯(cuò)誤事件日志的一類系統(tǒng)事件日志對應(yīng)的事件ID ;獲取所述特定的事件ID對應(yīng)的所有系統(tǒng)事件日志的事件描述;查找所述事件描述為文件錯(cuò)誤描述的系統(tǒng)事件日志,將所查找到的系統(tǒng)事件日志確定為文件錯(cuò)誤事件日志。本發(fā)明實(shí)施例中,在獲取所述文件錯(cuò)誤事件日志中的錯(cuò)誤文件的文件路徑之前,還包括獲取所述文件錯(cuò)誤事件日志的記錄時(shí)間;檢測所述文件錯(cuò)誤事件日志的記錄時(shí)間是否滿足預(yù)設(shè)條件;若滿足,則執(zhí)行獲取所述文件錯(cuò)誤事件日志中的錯(cuò)誤文件的文件路徑的步驟;
否則,忽略所述文件錯(cuò)誤事件日志。本發(fā)明實(shí)施例中,預(yù)設(shè)條件為所述文件錯(cuò)誤事件日志的記錄時(shí)間晚于本次開機(jī)時(shí)間。本發(fā)明實(shí)施例中,檢測所述文件錯(cuò)誤事件日志的記錄時(shí)間是否滿足預(yù)設(shè)條件,包括獲取本次開機(jī)事件的事件ID ;查找與所述本次開機(jī)事件的事件ID相匹配的記錄時(shí)間,將所述相匹配的記錄時(shí)間作為本次開機(jī)時(shí)間;判斷所述文件錯(cuò)誤事件日志的記錄時(shí)間是否晚于所述本次開機(jī)時(shí)間;若是,則確定所述文件錯(cuò)誤事件日志的記錄時(shí)間滿足預(yù)設(shè)條件。
本發(fā)明實(shí)施例中,通過在文件掃描過程中調(diào)用動(dòng)態(tài)鏈接庫中的應(yīng)用程序編程接口API讀取所述系統(tǒng)事件日志。本發(fā)明實(shí)施例中,錯(cuò)誤文件為磁盤錯(cuò)誤文件。根據(jù)本發(fā)明的另一方面,提供了一種錯(cuò)誤文件處理裝置,包括讀取模塊,用于讀取系統(tǒng)事件日志;解析模塊,用于解析所述系統(tǒng)事件日志,獲取其中的文件錯(cuò)誤事件日志;文件路徑獲取模塊,用于獲取所述文件錯(cuò)誤事件日志中的錯(cuò)誤文件的文件路徑;重命名模塊,用于對所述文件路徑對應(yīng)的錯(cuò)誤文件進(jìn)行重命名;當(dāng)應(yīng)用程序通過在調(diào)用所述錯(cuò)誤文件時(shí),建立一個(gè)與所述重命名前的錯(cuò)誤文件具有相同文件名的新文件,并調(diào)用所述新文件。本發(fā)明實(shí)施例中,重命名模塊包括增加擴(kuò)展名單元,用于在所述錯(cuò)誤文件的文件名后面增加一個(gè)文件擴(kuò)展名。本發(fā)明實(shí)施例中,文件擴(kuò)展名為隨機(jī)數(shù)。本發(fā)明實(shí)施例中,解析模塊包括特定系統(tǒng)事件日志獲取單元,用于獲取所述系統(tǒng)事件日志中特定的事件ID對應(yīng)的所有系統(tǒng)事件日志,所述特定的事件ID為包含文件錯(cuò)誤事件日志的一類系統(tǒng)事件日志對應(yīng)的事件ID ;事件描述獲取單元,用于獲取所述特定的事件ID對應(yīng)的所有系統(tǒng)事件日志的事件描述;文件錯(cuò)誤事件日志查找單元,用于查找所述事件描述為文件錯(cuò)誤描述的系統(tǒng)事件日志,將所查找到的系統(tǒng)事件日志確定為文件錯(cuò)誤事件日志。本發(fā)明實(shí)施例中,錯(cuò)誤文件處理裝置還包括記錄時(shí)間獲取模塊,用于在獲取所述文件錯(cuò)誤事件日志中的錯(cuò)誤文件的文件路徑之前,獲取所述文件錯(cuò)誤事件日志的記錄時(shí)間;檢測模塊,用于檢測所述文件錯(cuò)誤事件日志的記錄時(shí)間是否滿足預(yù)設(shè)條件;所述文件路徑獲取模塊當(dāng)檢測模塊的檢測結(jié)果為是時(shí),獲取所述文件錯(cuò)誤事件日志中的錯(cuò)誤文件的文件路徑;忽略模塊,用于當(dāng)檢測模塊的檢測結(jié)果為否時(shí),忽略所述文件錯(cuò)誤事件日志。本發(fā)明實(shí)施例中,預(yù)設(shè)條件為所述文件錯(cuò)誤事件日志的記錄時(shí)間晚于本次開機(jī)時(shí)間。本發(fā)明實(shí)施例中,檢測模塊包括事件ID獲取單元,用于獲取本次開機(jī)事件的事件ID ;開機(jī)時(shí)間查找單元,用于查找與所述本次開機(jī)事件的事件ID相匹配的記錄時(shí)間,將所述相匹配的記錄時(shí)間作為本次開機(jī)時(shí)間;判斷單元,用于判斷所述文件錯(cuò)誤事件日志的記錄時(shí)間是否晚于所述本次開機(jī)時(shí)間;確定單元,用于當(dāng)判斷單元的判斷結(jié)果為是時(shí),確定所述文件錯(cuò)誤事件日志的記錄時(shí)間滿足預(yù)設(shè)條件。本發(fā)明實(shí)施例中,所述讀取模塊通過在文件掃描過程中調(diào)用動(dòng)態(tài)鏈接庫中的應(yīng)用 程序編程接口 API讀取所述系統(tǒng)事件日志。本發(fā)明實(shí)施例中,錯(cuò)誤文件為磁盤錯(cuò)誤文件。根據(jù)本發(fā)明的另一方面,提供了一種客戶端設(shè)備,包括如上所述的錯(cuò)誤文件處理
>J-U ρ α裝直。根據(jù)本發(fā)明的錯(cuò)誤文件處理方法、裝置和客戶端設(shè)備可以在文件掃描過程中讀取系統(tǒng)事件日志,然后解析所述系統(tǒng)事件日志,獲取其中的文件錯(cuò)誤事件日志,并獲取所述文件錯(cuò)誤事件日志中的錯(cuò)誤文件的文件路徑,最后對所述文件路徑對應(yīng)的錯(cuò)誤文件進(jìn)行重命名。由于對錯(cuò)誤文件進(jìn)行了重命名,因此當(dāng)應(yīng)用程序在調(diào)用所述錯(cuò)誤文件時(shí),不能找到原來的文件,此時(shí)應(yīng)用程序?qū)⒔⒁粋€(gè)與重命名前的錯(cuò)誤文件具有相同文件名的新文件,并成功調(diào)用所述可以正常讀寫的新文件。由此解決了由于突然斷電后應(yīng)用程序調(diào)用產(chǎn)生錯(cuò)誤的文件而導(dǎo)致應(yīng)用程序崩潰的問題,同時(shí)也解決了由于應(yīng)用程序崩潰而彈出錯(cuò)誤提示框,從而誤導(dǎo)用戶誤認(rèn)為電腦中病毒的問題,取得了計(jì)算機(jī)突然斷電并重啟之后,應(yīng)用程序仍然可以正常運(yùn)行的有益效果。上述說明僅是本發(fā)明技術(shù)方案的概述,為了能夠更清楚了解本發(fā)明的技術(shù)手段,而可依照說明書的內(nèi)容予以實(shí)施,并且為了讓本發(fā)明的上述和其它目的、特征和優(yōu)點(diǎn)能夠更明顯易懂,以下特舉本發(fā)明的具體實(shí)施方式
。
通過閱讀下文優(yōu)選實(shí)施方式的詳細(xì)描述,各種其他的優(yōu)點(diǎn)和益處對于本領(lǐng)域普通技術(shù)人員將變得清楚明了。附圖僅用于示出優(yōu)選實(shí)施方式的目的,而并不認(rèn)為是對本發(fā)明的限制。而且在整個(gè)附圖中,用相同的參考符號(hào)表示相同的部件。在附圖中圖I示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的一種錯(cuò)誤文件處理方法的流程圖;圖2示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的一種錯(cuò)誤文件處理方法的流程圖;以及圖3示出了根據(jù)本發(fā)明實(shí)施例所述的描述磁盤錯(cuò)誤文件的示意圖;圖4示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的一種錯(cuò)誤文件處理裝置的結(jié)構(gòu)框圖。
具體實(shí)施例方式下面將參照附圖更詳細(xì)地描述本公開的示例性實(shí)施例。雖然附圖中顯示了本公開的示例性實(shí)施例,然而應(yīng)當(dāng)理解,可以以各種形式實(shí)現(xiàn)本公開而不應(yīng)被這里闡述的實(shí)施例所限制。相反,提供這些實(shí)施例是為了能夠更透徹地理解本公開,并且能夠?qū)⒈竟_的范圍完整的傳達(dá)給本領(lǐng)域的技術(shù)人員。本發(fā)明可以應(yīng)用于計(jì)算機(jī)系統(tǒng)/服務(wù)器,其可與眾多其它通用或?qū)S糜?jì)算系統(tǒng)環(huán)境或配置一起操作。適于與計(jì)算機(jī)系統(tǒng)/服務(wù)器一起使用的眾所周知的計(jì)算系統(tǒng)、環(huán)境和/或配置的例子包括但不限于個(gè)人計(jì)算機(jī)系統(tǒng)、服務(wù)器計(jì)算機(jī)系統(tǒng)、瘦客戶機(jī)、厚客戶機(jī)、手持或膝上設(shè)備、基于微處理器的系統(tǒng)、機(jī)頂盒、可編程消費(fèi)電子產(chǎn)品、網(wǎng)絡(luò)個(gè)人電腦、小型計(jì)算機(jī)系統(tǒng)、大型計(jì)算機(jī)系統(tǒng)和包括上述任何系統(tǒng)的分布式云計(jì)算技術(shù)環(huán)境,等等。計(jì)算機(jī)系統(tǒng)/服務(wù)器可以在由計(jì)算機(jī)系統(tǒng)執(zhí)行的計(jì)算機(jī)系統(tǒng)可執(zhí)行指令(諸如程序模塊)的一般語境下描述。通常,程序模塊可以包括例程、程序、目標(biāo)程序、組件、邏輯、數(shù)據(jù)結(jié)構(gòu)等等,它們執(zhí)行特定的任務(wù)或者實(shí)現(xiàn)特定的抽象數(shù)據(jù)類型。計(jì)算機(jī)系統(tǒng)/服務(wù)器可以在分布式云計(jì)算環(huán)境中實(shí)施,分布式云計(jì)算環(huán)境中,任務(wù)是由通過通信網(wǎng)絡(luò)鏈接的遠(yuǎn)程處理設(shè)備執(zhí)行的。在分布式云計(jì)算環(huán)境中,程序模塊可以位于包括存儲(chǔ)設(shè)備的本地或遠(yuǎn)程 計(jì)算系統(tǒng)存儲(chǔ)介質(zhì)上。參照圖1,示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的一種錯(cuò)誤文件處理方法的流程圖。當(dāng)應(yīng)用程序在運(yùn)行過程中,如果計(jì)算機(jī)突然斷電,系統(tǒng)需要重新啟動(dòng),而斷電后應(yīng)用程序運(yùn)行時(shí)所調(diào)用的文件會(huì)產(chǎn)生錯(cuò)誤,因此,系統(tǒng)重啟后如果重新運(yùn)行應(yīng)用程序,該應(yīng)用程序再次處理這些產(chǎn)生錯(cuò)誤的文件時(shí),將無法正常讀寫,從而導(dǎo)致應(yīng)用程序崩潰。本發(fā)明實(shí)施例針對上述情況,首先找出這些產(chǎn)生錯(cuò)誤的文件,然后對相應(yīng)的文件進(jìn)行處理,從而使得應(yīng)用程序可以成功調(diào)用這些文件。在本實(shí)施例中,可以通過殺毒軟件的掃描過程獲取到這些產(chǎn)生錯(cuò)誤的文件?,F(xiàn)有殺毒軟件一般包括三種掃描模式全盤掃描模式,快速掃描模式和指定位置掃描模式。其中,全盤掃描模式是針對用戶設(shè)備中的每個(gè)程序和文件進(jìn)行掃描;快速掃描模式是針對系統(tǒng)內(nèi)一些關(guān)鍵的軟件和重要的目錄進(jìn)行掃描(例如內(nèi)存、IE、插件、注冊表等,重要的目錄如c:\windows\system32等);指定位置掃描模式是向用戶顯示出系統(tǒng)文件的樹形目錄,包括一層一層的文檔目錄,以供用戶逐層進(jìn)行選擇。由于用戶在管理電腦里的文件時(shí),有些用戶可能并不完全熟悉操作系統(tǒng)中的各個(gè)文件,也不清楚某些文件的用途,因此,本申請實(shí)施例設(shè)定在快速掃描或者全盤掃描過程中增加一項(xiàng)錯(cuò)誤文件掃描功能,從Windows的系統(tǒng)事件日志中收集錯(cuò)誤文件,并獲取所述錯(cuò)誤文件的文件路徑顯示給用戶,引導(dǎo)用戶重命名這些文件,從而處理所述錯(cuò)誤文件,使以后調(diào)用這些文件的應(yīng)用程序能正常運(yùn)行。當(dāng)然,本發(fā)明實(shí)施例中獲取錯(cuò)誤文件的過程并不限定于上述掃描方式,本領(lǐng)域技術(shù)人員可以根據(jù)實(shí)際情況進(jìn)行相應(yīng)的處理,例如通過獨(dú)立的錯(cuò)誤文件掃描軟件獲取,等等。具體的,如圖I所示,所述方法包括步驟S101,讀取系統(tǒng)事件日志;步驟S102,解析所述系統(tǒng)事件日志,獲取其中的文件錯(cuò)誤事件日志;步驟S103,獲取所述文件錯(cuò)誤事件日志中的錯(cuò)誤文件的文件路徑;首先,在掃描過程中讀取出所有的系統(tǒng)事件日志,然后對所述系統(tǒng)事件日志進(jìn)行解析,從而獲取所述系統(tǒng)事件日志中的文件錯(cuò)誤事件日志,其中,文件錯(cuò)誤事件日志中的文件即為產(chǎn)生錯(cuò)誤的文件,最后獲取到這些錯(cuò)誤文件的文件路徑。對于具體的過程,將在下面的實(shí)施例中詳細(xì)介紹。步驟S104,對所述文件路徑對應(yīng)的錯(cuò)誤文件進(jìn)行重命名;當(dāng)經(jīng)過上述步驟SlOl-步驟S103獲取到錯(cuò)誤文件的文件路徑之后,需要將所述文件路徑顯示給用戶,用戶得到這些文件路徑信息,就可以知道這些錯(cuò)誤文件在計(jì)算機(jī)中存儲(chǔ)的位置,也就可以找到這些錯(cuò)誤文件。用戶找到這些錯(cuò)誤文件之后,需要協(xié)助系統(tǒng)對這些錯(cuò)誤文件進(jìn)行重命名。具體的,用戶可以通過點(diǎn)擊“重命名”向系統(tǒng)發(fā)出命令,觸發(fā)系統(tǒng)的重命名功能,當(dāng)系統(tǒng)接收到用戶的重命名命令后,會(huì)自動(dòng)為對應(yīng)的文件建立一個(gè)新的文件名。步驟S105,當(dāng)應(yīng)用程序在調(diào)用所述錯(cuò)誤文件時(shí),建立一個(gè)與所述重命名前的錯(cuò)誤文件具有相同文件名的新文件,并調(diào)用所述新文件。由于這些錯(cuò)誤文件的文件名已經(jīng)發(fā)生了改變,因此當(dāng)系統(tǒng)重新啟動(dòng)后,應(yīng)用程序 在調(diào)用這些錯(cuò)誤文件時(shí),不能找到原來的文件,此時(shí)應(yīng)用程序?qū)⒆詣?dòng)新建一個(gè)與所述重命名前的錯(cuò)誤文件具有相同文件名的新文件,并調(diào)用所述新文件,由于新文件中沒有產(chǎn)生錯(cuò)誤,因此應(yīng)用程序可以成功調(diào)用這些新文件。但是,需要說明的是,新創(chuàng)建的文件是否還能恢復(fù)到產(chǎn)生磁盤錯(cuò)誤之前的正確文件,是由應(yīng)用程序去恢復(fù)的,可能新文件能夠恢復(fù)到之前正常的狀態(tài)(即新文件與原來的文件相同),也有可能不能恢復(fù)為原來的文件。而殺毒過程并不能將文件恢復(fù)正常,殺毒要解決的問題是在檢測出磁盤錯(cuò)誤文件之后,對該錯(cuò)誤文件進(jìn)行處理,使得應(yīng)用程序訪問的文件不存在錯(cuò)誤,以避免應(yīng)用程序訪問磁盤錯(cuò)誤文件而導(dǎo)致應(yīng)用程序出現(xiàn)異常。對于計(jì)算機(jī)中的應(yīng)用程序來說,其具有上述功能,即當(dāng)發(fā)現(xiàn)所調(diào)用的文件不存在的時(shí)候,會(huì)新建一個(gè)相同文件名的新文件。因此,本發(fā)明實(shí)施例通過對所述錯(cuò)誤文件重命名,即可以避免由于調(diào)用產(chǎn)生錯(cuò)誤的文件而導(dǎo)致的應(yīng)用程序崩潰的問題。本發(fā)明實(shí)施例可以在文件掃描過程中讀取系統(tǒng)事件日志,然后解析所述系統(tǒng)事件日志,獲取其中的文件錯(cuò)誤事件日志,并獲取所述文件錯(cuò)誤事件日志中的錯(cuò)誤文件的文件路徑,最后對所述文件路徑對應(yīng)的錯(cuò)誤文件進(jìn)行重命名。由于對錯(cuò)誤文件進(jìn)行了重命名,因此當(dāng)應(yīng)用程序在調(diào)用所述錯(cuò)誤文件時(shí),不能找到原來的文件,此時(shí)應(yīng)用程序?qū)⒔⒁粋€(gè)與重命名前的錯(cuò)誤文件具有相同文件名的新文件,并成功調(diào)用所述新文件。由此解決了由于突然斷電后應(yīng)用程序調(diào)用產(chǎn)生錯(cuò)誤的文件而導(dǎo)致應(yīng)用程序崩潰的問題,同時(shí)也解決了由于應(yīng)用程序崩潰而彈出錯(cuò)誤提示框,從而誤導(dǎo)用戶誤認(rèn)為電腦中病毒的問題,使得計(jì)算機(jī)突然斷電并重啟之后,應(yīng)用程序仍然可以正常運(yùn)行。參照圖2,示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的一種錯(cuò)誤文件處理方法的流程圖,步驟S201,讀取系統(tǒng)事件日志;在本發(fā)明實(shí)施例中,為了對由于突然斷電而產(chǎn)生的錯(cuò)誤文件進(jìn)行處理,首先,在系統(tǒng)重新啟動(dòng)之后,利用殺毒軟件進(jìn)行的掃描的過程中,讀取系統(tǒng)事件日志。本實(shí)施例可以通過在文件掃描過程中調(diào)用動(dòng)態(tài)鏈接庫(Dynamic LinkLibrary,DLL)中的應(yīng)用程序編程接口(Application Programming Interface, API)讀取所述系統(tǒng)事件日志。對于具體的讀取過程,本領(lǐng)域技術(shù)人員根據(jù)實(shí)際經(jīng)驗(yàn)進(jìn)行處理即可,本發(fā)明在此不再詳細(xì)論述。步驟S202,解析所述系統(tǒng)事件日志,獲取其中的文件錯(cuò)誤事件日志;
讀取到上述系統(tǒng)事件日志之后,進(jìn)一步對所述系統(tǒng)事件日志進(jìn)行解析,以獲取各個(gè)日志的詳細(xì)內(nèi)容,從而進(jìn)一步獲取其中的文件錯(cuò)誤事件日志。在本發(fā)明實(shí)施例中,對所述系統(tǒng)事件日志進(jìn)行了分類,其中,當(dāng)事件ID為某一特定的事件ID(26)的時(shí)候,該事件ID所對應(yīng)的系統(tǒng)事件日志為包含文件錯(cuò)誤事件日志的一類系統(tǒng)事件日志。因此,需要首先獲取該特定的事件ID對應(yīng)的系統(tǒng)事件日志,然后再從這些系統(tǒng)事件日志中找出文件錯(cuò)誤事件日志。該步驟S202具體包括以下子步驟子步驟1,獲取所述系統(tǒng)事件日志中特定的事件ID對應(yīng)的所有系統(tǒng)事件日志,所述特定的事件ID為包含文件錯(cuò)誤事件日志的一類系統(tǒng)事件日志對應(yīng)的事件ID ;子步驟2,獲取所述特定的事件ID對應(yīng)的所有系統(tǒng)事件日志的事件描述;子步驟3,查找所述事件描述為文件錯(cuò)誤描述的系統(tǒng)事件日志,將所查找到的系統(tǒng)·事件日志確定為文件錯(cuò)誤事件日志。如圖3所示,為一種描述磁盤錯(cuò)誤文件的示意圖,從圖中可以看出,通過對系統(tǒng)事件日志進(jìn)行解析,其中的一個(gè)系統(tǒng)事件日志的來源是“ApplicationPopup”,事件ID是“26”,其事件描述文字以“損壞文件文件或目錄”開始,以“已損壞且無法讀取,請運(yùn)行chkdsk工具”結(jié)束,該事件描述即為文件錯(cuò)誤描述,因此,將所查找到的該系統(tǒng)事件日志確定為文件錯(cuò)誤事件日志。當(dāng)然,除了上述的日志來源、事件ID、事件描述信息,還可以獲取到該文件錯(cuò)誤事件日志的其他信息,如級(jí)別、用戶、關(guān)鍵字、任務(wù)類別等,本發(fā)明對此不再詳細(xì)論述。步驟S203,獲取所述文件錯(cuò)誤事件日志的記錄時(shí)間;步驟S204,檢測所述文件錯(cuò)誤事件日志的記錄時(shí)間是否滿足預(yù)設(shè)條件;若滿足,則執(zhí)行步驟S205 ;否則,忽略所述文件錯(cuò)誤事件日志。優(yōu)選的,在本實(shí)施例中,只處理本次開機(jī)之后產(chǎn)生的錯(cuò)誤文件,對于本次開機(jī)之前的錯(cuò)誤文件將直接忽略,不對其進(jìn)行處理。因此,所述預(yù)設(shè)條件為所述文件錯(cuò)誤事件日志的記錄時(shí)間晚于本次開機(jī)時(shí)間。首先,在確定系統(tǒng)事件日志中的文件錯(cuò)誤事件日志之后,獲取該文件錯(cuò)誤事件日志的記錄時(shí)間。其中,所述記錄時(shí)間可以與所述文件錯(cuò)誤事件日志的事件描述、來源、事件ID等信息一同獲取。獲取到文件錯(cuò)誤事件日志的記錄時(shí)間之后,要檢測所述文件錯(cuò)誤事件日志的記錄時(shí)間是否滿足預(yù)設(shè)條件,具體包括以下子步驟子步驟i,獲取本次開機(jī)事件的事件ID ;子步驟ii,查找與所述本次開機(jī)事件的事件ID相匹配的記錄時(shí)間,將所述相匹配的記錄時(shí)間作為本次開機(jī)時(shí)間;例如,本次開機(jī)事件的事件ID為6005,在讀取系統(tǒng)事件日志時(shí),獲取其中的事件ID為6005對應(yīng)的事件日志的記錄時(shí)間,該記錄時(shí)間即為本次開機(jī)時(shí)間。子步驟iii,判斷所述文件錯(cuò)誤事件日志的記錄時(shí)間是否晚于所述本次開機(jī)時(shí)間;若是,則確定所述文件錯(cuò)誤事件日志的記錄時(shí)間滿足預(yù)設(shè)條件。例如,圖3中所獲取到的文件錯(cuò)誤事件日志的記錄時(shí)間為2012/8/2818:27:38,并且通過本次開機(jī)事件獲取到本次開機(jī)時(shí)間為2012/8/2818:20:38,因此,圖3中的文件錯(cuò)誤事件日志的記錄時(shí)間滿足預(yù)設(shè)條件,需要對該文件錯(cuò)誤事件日志中的錯(cuò)誤文件進(jìn)行處理。步驟S205,獲取所述文件錯(cuò)誤事件日志中的錯(cuò)誤文件的文件路徑;如果在步驟S204中檢測出所述文件錯(cuò)誤事件日志的記錄時(shí)間滿足預(yù)設(shè)條件,則獲取該文件錯(cuò)誤事件日志中的錯(cuò)誤文件的文件路徑,并將所述文件路徑顯示給用戶,用戶通過文件路徑即可找到相應(yīng)的錯(cuò)誤文件。例如,圖3中所示的文件錯(cuò)誤事件日志中的錯(cuò)誤文件的文件路徑被包含在該日志的事件描述文字“損壞文件文件或目錄”和“已損壞且無法讀取”之間,即為“Documentsand Settings'jianghonngxia\Local Settings\Temporary Internet Files\Content.IE5\LZLFL3ZV\101010100[1]. xml”,用戶通過文件路徑即可找到相應(yīng)的錯(cuò)誤文件“101010100[1]. xml”。步驟S206,對所述文件路徑對應(yīng)的錯(cuò)誤文件進(jìn)行重命名; 在找到上述錯(cuò)誤文件“101010100[l].xml”之后,用戶通過點(diǎn)擊“重命名”可以觸發(fā)系統(tǒng)自動(dòng)對該文件執(zhí)行重命名過程。本實(shí)施例中,可以通過系統(tǒng)的API進(jìn)行文件的重命名,對于具體的過程,本發(fā)明實(shí)施例在此不再詳細(xì)介紹。具體的,所述對所述文件路徑對應(yīng)的錯(cuò)誤文件進(jìn)行重命名,包括在所述錯(cuò)誤文件的文件名后面增加一個(gè)文件擴(kuò)展名,其中,所述文件擴(kuò)展名為隨機(jī)數(shù)。例如,經(jīng)過重命名后,系統(tǒng)將原來的錯(cuò)誤文件“101010100[l].xml”的文件名修改為“ 101010100 [I]. xml. 123”,即在原有的文件名后面增加了一組隨機(jī)數(shù)“ 123”。當(dāng)然,本發(fā)明實(shí)施例中的重命名方式并不限定上述增加隨機(jī)數(shù)的方法,任何其他的重命名方式都是可行的,只要保證新文件的文件名與產(chǎn)生錯(cuò)誤的文件的文件名不相同即可。例如,可以通過在原文件名的基礎(chǔ)上增加擴(kuò)展名的方式進(jìn)行重命名,增加擴(kuò)展名的重命名方式簡單且易于鑒別,常見的文件擴(kuò)展名包括exe”、“. dll”、“. com”、“. sys”、
vbs”等。對于上述錯(cuò)誤文件“101010100[1]. xml”,可以在其文件名后面增加擴(kuò)展名exe”,即將文件名修改為“101010100 [I] .xml. exe,,。當(dāng)然,還可以增加其他擴(kuò)展名,本實(shí)施例對此并不加以限制。步驟S207,當(dāng)應(yīng)用程序在調(diào)用所述錯(cuò)誤文件時(shí),建立一個(gè)與所述重命名前的錯(cuò)誤文件具有相同文件名的新文件,并調(diào)用所述新文件。當(dāng)應(yīng)用程序在調(diào)用所述錯(cuò)誤文件時(shí),由于系統(tǒng)將原有的錯(cuò)誤文件“101010100[1].xml”的文件名修改為“101010100[l].xml. 123”,因此,應(yīng)用程序?qū)⒉荒苷业皆械腻e(cuò)誤文件“101010100[l].xml”。此時(shí),應(yīng)用程序?qū)⒔⒁粋€(gè)與所述重命名前的錯(cuò)誤文件具有相同文件名的新文件,即重新建立一個(gè)文件名為“ 101010100 [I]. xml ”的新文件,這個(gè)新文件是可以被正常讀寫的,因此,應(yīng)用程序可以成功調(diào)用所述新文件。在本實(shí)施例中,所述錯(cuò)誤文件可以為磁盤錯(cuò)誤文件,當(dāng)然也可以為系統(tǒng)中的其他文件,本發(fā)明對此并不加以限制。本實(shí)施例相對于上述實(shí)施例的改進(jìn)之處在于,規(guī)定了處理錯(cuò)誤文件的條件,只對本次開機(jī)之后產(chǎn)生的錯(cuò)誤文件進(jìn)行處理,對于本次開機(jī)之前的錯(cuò)誤文件可能在系統(tǒng)重啟之后不會(huì)去關(guān)注,因此對于這些錯(cuò)誤文件不進(jìn)行處理,從而進(jìn)一步提高了錯(cuò)誤文件的處理效率。
需要說明的是,對于前述的方法實(shí)施例,為了簡單描述,故將其都表述為一系列的動(dòng)作組合,但是本領(lǐng)域技術(shù)人員應(yīng)該知悉,本申請并不受所描述的動(dòng)作順序的限制,因?yàn)橐罁?jù)本申請,某些步驟可以采用其他順序或者同時(shí)進(jìn)行。其次,本領(lǐng)域技術(shù)人員也應(yīng)該知悉,說明書中所描述的實(shí)施例均屬于優(yōu)選實(shí)施例,所涉及的動(dòng)作并不一定是本申請所必需的。參照圖4,示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的一種錯(cuò)誤文件處理裝置的結(jié)構(gòu)框圖,在本發(fā)明實(shí)施例中,所述錯(cuò)誤文件為磁盤錯(cuò)誤文件。所述裝置包括讀取模塊401、解析模塊402、記錄時(shí)間獲取模塊403、檢測模塊404、忽略模塊405、文件路徑獲取模塊406、重命名模塊 407。其中,讀取模塊401,用于讀取系統(tǒng)事件日志; 所述讀取模塊通過在文件掃描過程中調(diào)用動(dòng)態(tài)鏈接庫中的應(yīng)用程序編程接口 API讀取所述系統(tǒng)事件日志。解析模塊402,用于解析所述系統(tǒng)事件日志,獲取其中的文件錯(cuò)誤事件日志;所述解析模塊402包括特定系統(tǒng)事件日志獲取單元,用于獲取所述系統(tǒng)事件日志中特定的事件ID對應(yīng)的所有系統(tǒng)事件日志,所述特定的事件ID為包含文件錯(cuò)誤事件日志的一類系統(tǒng)事件日志對應(yīng)的事件ID ;事件描述獲取單元,用于獲取所述特定的事件ID對應(yīng)的所有系統(tǒng)事件日志的事件描述;文件錯(cuò)誤事件日志查找單元,用于查找所述事件描述為文件錯(cuò)誤描述的系統(tǒng)事件日志,將所查找到的系統(tǒng)事件日志確定為文件錯(cuò)誤事件日志。記錄時(shí)間獲取模塊403,用于在獲取所述文件錯(cuò)誤事件日志中的錯(cuò)誤文件的文件路徑之前,獲取所述文件錯(cuò)誤事件日志的記錄時(shí)間;檢測模塊404,用于檢測所述文件錯(cuò)誤事件日志的記錄時(shí)間是否滿足預(yù)設(shè)條件;當(dāng)檢測結(jié)果為是時(shí),所述文件路徑獲取模塊406獲取所述文件錯(cuò)誤事件日志中的錯(cuò)誤文件的文件路徑;當(dāng)檢測結(jié)果為否時(shí),所述忽略模塊405忽略所述文件錯(cuò)誤事件日志。其中,所述預(yù)設(shè)條件為所述文件錯(cuò)誤事件日志的記錄時(shí)間晚于本次開機(jī)時(shí)間,所述檢測模塊404包括事件ID獲取單元,用于獲取本次開機(jī)事件的事件ID ;開機(jī)時(shí)間查找單元,用于查找與所述本次開機(jī)事件的事件ID相匹配的記錄時(shí)間,將所述相匹配的記錄時(shí)間作為本次開機(jī)時(shí)間;判斷單元,用于判斷所述文件錯(cuò)誤事件日志的記錄時(shí)間是否晚于所述本次開機(jī)時(shí)間;確定單元,用于當(dāng)判斷單元的判斷結(jié)果為是時(shí),確定所述文件錯(cuò)誤事件日志的記錄時(shí)間滿足預(yù)設(shè)條件。忽略模塊405,用于當(dāng)檢測模塊的檢測結(jié)果為否時(shí),忽略所述文件錯(cuò)誤事件日志。文件路徑獲取模塊406,用于獲取所述文件錯(cuò)誤事件日志中的錯(cuò)誤文件的文件路徑;
重命名模塊407,用于對所述文件路徑對應(yīng)的錯(cuò)誤文件進(jìn)行重命名;所述重命名模塊407包括增加擴(kuò)展名單元,用于在所述錯(cuò)誤文件的文件名后面增加一個(gè)文件擴(kuò)展名。其中,所述文件擴(kuò)展名為隨機(jī)數(shù)。由于對所述錯(cuò)誤文件進(jìn)行了重命名,因此當(dāng)應(yīng)用程序在調(diào)用所述錯(cuò)誤文件時(shí),將不能找到原有的錯(cuò)誤文件,此時(shí)應(yīng)用程序利用其自動(dòng)新建文件功能建立一個(gè)與所述重 命名前的錯(cuò)誤文件具有相同文件名的新文件,并成功調(diào)用所述新文件。對于上述錯(cuò)誤文件處理裝置實(shí)施例而言,由于其與方法實(shí)施例基本相似,所以描述的比較簡單,相關(guān)之處參見圖I和圖2所示方法實(shí)施例的部分說明即可。本發(fā)明實(shí)施例可以在文件掃描過程中讀取系統(tǒng)事件日志,然后解析所述系統(tǒng)事件日志,獲取其中的文件錯(cuò)誤事件日志,并獲取所述文件錯(cuò)誤事件日志中的錯(cuò)誤文件的文件路徑,最后對所述文件路徑對應(yīng)的錯(cuò)誤文件進(jìn)行重命名。由于對錯(cuò)誤文件進(jìn)行了重命名,因此當(dāng)應(yīng)用程序在調(diào)用所述錯(cuò)誤文件時(shí),不能找到原來的文件,此時(shí)應(yīng)用程序?qū)⒔⒁粋€(gè)與重命名前的錯(cuò)誤文件具有相同文件名的新文件,并成功調(diào)用所述新文件。由此解決了由于突然斷電后應(yīng)用程序調(diào)用產(chǎn)生錯(cuò)誤的文件而導(dǎo)致應(yīng)用程序崩潰的問題,同時(shí)也解決了由于應(yīng)用程序崩潰而彈出錯(cuò)誤提示框,從而誤導(dǎo)用戶誤認(rèn)為電腦中病毒的問題,使得計(jì)算機(jī)突然斷電并重啟之后,應(yīng)用程序仍然可以正常運(yùn)行?;谏鲜鲥e(cuò)誤文件處理裝置實(shí)施例,本發(fā)明實(shí)施例還提供了一種包含該裝置的客戶端設(shè)備。所述客戶端設(shè)備通過讀取系統(tǒng)事件日志,并解析所述系統(tǒng)事件日志,獲取其中的文件錯(cuò)誤事件日志,然后獲取所述文件錯(cuò)誤事件日志中的錯(cuò)誤文件的文件路徑,最后對所述文件路徑對應(yīng)的錯(cuò)誤文件進(jìn)行重命名,當(dāng)應(yīng)用程序在調(diào)用所述錯(cuò)誤文件時(shí),由于不能找到原有的錯(cuò)誤文件,因此應(yīng)用程序會(huì)自動(dòng)建立一個(gè)與所述重命名前的錯(cuò)誤文件具有相同文件名的新文件,并成功調(diào)用所述新文件。從而解決了由于突然斷電后應(yīng)用程序調(diào)用產(chǎn)生錯(cuò)誤的文件而導(dǎo)致應(yīng)用程序崩潰的問題,同時(shí)也解決了由于應(yīng)用程序崩潰而彈出錯(cuò)誤提示框,從而誤導(dǎo)用戶誤認(rèn)為電腦中病毒的問題,使得計(jì)算機(jī)突然斷電并重啟之后,應(yīng)用程序仍然可以正常運(yùn)行。本說明書中的各個(gè)實(shí)施例均采用遞進(jìn)的方式描述,每個(gè)實(shí)施例重點(diǎn)說明的都是與其他實(shí)施例的不同之處,各個(gè)實(shí)施例之間相同相似的部分互相參見即可。本領(lǐng)域技術(shù)人員易于想到的是上述各個(gè)實(shí)施例的任意組合應(yīng)用都是可行的,故上述各個(gè)實(shí)施例之間的任意組合都是本申請的實(shí)施方案,但是由于篇幅限制,本說明書在此就不一一詳述了。在此提供的算法和顯示不與任何特定計(jì)算機(jī)、虛擬系統(tǒng)或者其它設(shè)備固有相關(guān)。各種通用系統(tǒng)也可以與基于在此的示教一起使用。根據(jù)上面的描述,構(gòu)造這類系統(tǒng)所要求的結(jié)構(gòu)是顯而易見的。此外,本發(fā)明也不針對任何特定編程語言。應(yīng)當(dāng)明白,可以利用各種編程語言實(shí)現(xiàn)在此描述的本發(fā)明的內(nèi)容,并且上面對特定語言所做的描述是為了披露本發(fā)明的最佳實(shí)施方式。在此處所提供的說明書中,說明了大量具體細(xì)節(jié)。然而,能夠理解,本發(fā)明的實(shí)施例可以在沒有這些具體細(xì)節(jié)的情況下實(shí)踐。在一些實(shí)例中,并未詳細(xì)示出公知的方法、結(jié)構(gòu)和技術(shù),以便不模糊對本說明書的理解。
類似地,應(yīng)當(dāng)理解,為了精簡本公開并幫助理解各個(gè)發(fā)明方面中的一個(gè)或多個(gè),在上面對本發(fā)明的示例性實(shí)施例的描述中,本發(fā)明的各個(gè)特征有時(shí)被一起分組到單個(gè)實(shí)施例、圖、或者對其的描述中。然而,并不應(yīng)將該公開的方法解釋成反映如下意圖即所要求保護(hù)的本發(fā)明要求比在每個(gè)權(quán)利要求中所明確記載的特征更多的特征。更確切地說,如下面的權(quán)利要求書所反映的那樣,發(fā)明方面在于少于前面公開的單個(gè)實(shí)施例的所有特征。因此,遵循具體實(shí)施方式
的權(quán)利要求書由此明確地并入該具體實(shí)施方式
,其中每個(gè)權(quán)利要求本身都作為本發(fā)明的單獨(dú)實(shí)施例。本領(lǐng)域那些技術(shù)人員可以理解,可以對實(shí)施例中的設(shè)備中的模塊進(jìn)行自適應(yīng)性地改變并且把它們設(shè)置在與該實(shí)施例不同的一個(gè)或多個(gè)設(shè)備中。可以把實(shí)施例中的模塊或單元或組件組合成一個(gè)模塊或單元或組件,以及此外可以把它們分成多個(gè)子模塊或子單元或子組件。除了這樣的特征和/或過程或者單元中的至少一些是相互排斥之外,可以采用任何組合對本說明書(包括伴隨的權(quán)利要求、摘要和附圖)中公開的所有特征以及如此公開的任何方法或者設(shè)備的所有過程或單元進(jìn)行組合。除非另外明確陳述,本說明書(包括伴隨的權(quán)利要求、摘要和附圖)中公開的每個(gè)特征可以由提供相同、等同或相似目的的替代特征來代替。 此外,本領(lǐng)域的技術(shù)人員能夠理解,盡管在此所述的一些實(shí)施例包括其它實(shí)施例中所包括的某些特征而不是其它特征,但是不同實(shí)施例的特征的組合意味著處于本發(fā)明的范圍之內(nèi)并且形成不同的實(shí)施例。例如,在下面的權(quán)利要求書中,所要求保護(hù)的實(shí)施例的任意之一都可以以任意的組合方式來使用。本發(fā)明的各個(gè)部件實(shí)施例可以以硬件實(shí)現(xiàn),或者以在一個(gè)或者多個(gè)處理器上運(yùn)行的軟件模塊實(shí)現(xiàn),或者以它們的組合實(shí)現(xiàn)。本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)理解,可以在實(shí)踐中使用微處理器或者數(shù)字信號(hào)處理器(DSP)來實(shí)現(xiàn)根據(jù)本發(fā)明實(shí)施例的錯(cuò)誤文件處理裝置和客戶端設(shè)備中的一些或者全部部件的一些或者全部功能。本發(fā)明還可以實(shí)現(xiàn)為用于執(zhí)行這里所描述的方法的一部分或者全部的設(shè)備或者裝置程序(例如,計(jì)算機(jī)程序和計(jì)算機(jī)程序產(chǎn)品)。這樣的實(shí)現(xiàn)本發(fā)明的程序可以存儲(chǔ)在計(jì)算機(jī)可讀介質(zhì)上,或者可以具有一個(gè)或者多個(gè)信號(hào)的形式。這樣的信號(hào)可以從因特網(wǎng)網(wǎng)站上下載得到,或者在載體信號(hào)上提供,或者以任何其他形式提供。應(yīng)該注意的是上述實(shí)施例對本發(fā)明進(jìn)行說明而不是對本發(fā)明進(jìn)行限制,并且本領(lǐng)域技術(shù)人員在不脫離所附權(quán)利要求的范圍的情況下可設(shè)計(jì)出替換實(shí)施例。在權(quán)利要求中,不應(yīng)將位于括號(hào)之間的任何參考符號(hào)構(gòu)造成對權(quán)利要求的限制。單詞“包含”不排除存在未列在權(quán)利要求中的元件或步驟。位于元件之前的單詞“一”或“一個(gè)”不排除存在多個(gè)這樣的元件。本發(fā)明可以借助于包括有若干不同元件的硬件以及借助于適當(dāng)編程的計(jì)算機(jī)來實(shí)現(xiàn)。在列舉了若干裝置的單元權(quán)利要求中,這些裝置中的若干個(gè)可以是通過同一個(gè)硬件項(xiàng)來具體體現(xiàn)。單詞第一、第二、以及第三等的使用不表示任何順序??蓪⑦@些單詞解釋為名稱。
權(quán)利要求
1.一種錯(cuò)誤文件處理方法,包括 讀取系統(tǒng)事件日志; 解析所述系統(tǒng)事件日志,獲取其中的文件錯(cuò)誤事件日志; 獲取所述文件錯(cuò)誤事件日志中的錯(cuò)誤文件的文件路徑; 對所述文件路徑對應(yīng)的錯(cuò)誤文件進(jìn)行重命名; 當(dāng)應(yīng)用程序在調(diào)用所述錯(cuò)誤文件時(shí),建立一個(gè)與所述重命名前的錯(cuò)誤文件具有相同文件名的新文件,并調(diào)用所述新文件。
2.如權(quán)利要求I所述的方法,所述對所述文件路徑對應(yīng)的錯(cuò)誤文件進(jìn)行重命名,包括 在所述錯(cuò)誤文件的文件名后面增加一個(gè)文件擴(kuò)展名。
3.如權(quán)利要求2所述的方法,所述文件擴(kuò)展名為隨機(jī)數(shù)。
4.如權(quán)利要求I所述的方法,所述解析所述系統(tǒng)事件日志,獲取其中的文件錯(cuò)誤事件日志,包括 獲取所述系統(tǒng)事件日志中特定的事件ID對應(yīng)的所有系統(tǒng)事件日志,所述特定的事件ID為包含文件錯(cuò)誤事件日志的一類系統(tǒng)事件日志對應(yīng)的事件ID ; 獲取所述特定的事件ID對應(yīng)的所有系統(tǒng)事件日志的事件描述; 查找所述事件描述為文件錯(cuò)誤描述的系統(tǒng)事件日志,將所查找到的系統(tǒng)事件日志確定為文件錯(cuò)誤事件日志。
5.如權(quán)利要求I或4所述的方法,在獲取所述文件錯(cuò)誤事件日志中的錯(cuò)誤文件的文件路徑之前,還包括 獲取所述文件錯(cuò)誤事件日志的記錄時(shí)間; 檢測所述文件錯(cuò)誤事件日志的記錄時(shí)間是否滿足預(yù)設(shè)條件; 若滿足,則執(zhí)行獲取所述文件錯(cuò)誤事件日志中的錯(cuò)誤文件的文件路徑的步驟; 否則,忽略所述文件錯(cuò)誤事件日志。
6.如權(quán)利要求5所述的方法,所述預(yù)設(shè)條件為所述文件錯(cuò)誤事件日志的記錄時(shí)間晚于本次開機(jī)時(shí)間。
7.如權(quán)利要求6所述的方法,所述檢測所述文件錯(cuò)誤事件日志的記錄時(shí)間是否滿足預(yù)設(shè)條件,包括 獲取本次開機(jī)事件的事件ID ; 查找與所述本次開機(jī)事件的事件ID相匹配的記錄時(shí)間,將所述相匹配的記錄時(shí)間作為本次開機(jī)時(shí)間; 判斷所述文件錯(cuò)誤事件日志的記錄時(shí)間是否晚于所述本次開機(jī)時(shí)間; 若是,則確定所述文件錯(cuò)誤事件日志的記錄時(shí)間滿足預(yù)設(shè)條件。
8.如權(quán)利要求I所述的方法, 通過在文件掃描過程中調(diào)用動(dòng)態(tài)鏈接庫中的應(yīng)用程序編程接口 API讀取所述系統(tǒng)事件日志。
9.如權(quán)利要求I所述的方法,所述錯(cuò)誤文件為磁盤錯(cuò)誤文件。
10.一種錯(cuò)誤文件處理裝置,包括 讀取模塊,用于讀取系統(tǒng)事件日志; 解析模塊,用于解析所述系統(tǒng)事件日志,獲取其中的文件錯(cuò)誤事件日志;文件路徑獲取模塊,用于獲取所述文件錯(cuò)誤事件日志中的錯(cuò)誤文件的文件路徑; 重命名模塊,用于對所述文件路徑對應(yīng)的錯(cuò)誤文件進(jìn)行重命名; 當(dāng)應(yīng)用程序通過在調(diào)用所述錯(cuò)誤文件時(shí),建立一個(gè)與所述重命名前的錯(cuò)誤文件具有相同文件名的新文件,并調(diào)用所述新文件。
11.如權(quán)利要求10所述的裝置,所述重命名模塊包括 增加擴(kuò)展名單元,用于在所述錯(cuò)誤文件的文件名后面增加一個(gè)文件擴(kuò)展名。
12.如權(quán)利要求11所述的裝置,所述文件擴(kuò)展名為隨機(jī)數(shù)。
13.如權(quán)利要求10所述的裝置,所述解析模塊包括 特定系統(tǒng)事件日志獲取單元,用于獲取所述系統(tǒng)事件日志中特定的事件ID對應(yīng)的所有系統(tǒng)事件日志,所述特定的事件ID為包含文件錯(cuò)誤事件日志的一類系統(tǒng)事件日志對應(yīng)的事件ID ; 事件描述獲取單元,用于獲取所述特定的事件ID對應(yīng)的所有系統(tǒng)事件日志的事件描述; 文件錯(cuò)誤事件日志查找單元,用于查找所述事件描述為文件錯(cuò)誤描述的系統(tǒng)事件日志,將所查找到的系統(tǒng)事件日志確定為文件錯(cuò)誤事件日志。
14.如權(quán)利要求10或13所述的裝置,還包括 記錄時(shí)間獲取模塊,用于在獲取所述文件錯(cuò)誤事件日志中的錯(cuò)誤文件的文件路徑之前,獲取所述文件錯(cuò)誤事件日志的記錄時(shí)間; 檢測模塊,用于檢測所述文件錯(cuò)誤事件日志的記錄時(shí)間是否滿足預(yù)設(shè)條件; 所述文件路徑獲取模塊當(dāng)檢測模塊的檢測結(jié)果為是時(shí),獲取所述文件錯(cuò)誤事件日志中的錯(cuò)誤文件的文件路徑; 忽略模塊,用于當(dāng)檢測模塊的檢測結(jié)果為否時(shí),忽略所述文件錯(cuò)誤事件日志。
15.如權(quán)利要求14所述的裝置,所述預(yù)設(shè)條件為所述文件錯(cuò)誤事件日志的記錄時(shí)間晚于本次開機(jī)時(shí)間。
16.如權(quán)利要求15所述的裝置,所述檢測模塊包括 事件ID獲取單元,用于獲取本次開機(jī)事件的事件ID ; 開機(jī)時(shí)間查找單元,用于查找與所述本次開機(jī)事件的事件ID相匹配的記錄時(shí)間,將所述相匹配的記錄時(shí)間作為本次開機(jī)時(shí)間; 判斷單元,用于判斷所述文件錯(cuò)誤事件日志的記錄時(shí)間是否晚于所述本次開機(jī)時(shí)間;確定單元,用于當(dāng)判斷單元的判斷結(jié)果為是時(shí),確定所述文件錯(cuò)誤事件日志的記錄時(shí)間滿足預(yù)設(shè)條件。
17.如權(quán)利要求10所述的裝置, 所述讀取模塊通過在文件掃描過程中調(diào)用動(dòng)態(tài)鏈接庫中的應(yīng)用程序編程接口 API讀取所述系統(tǒng)事件日志。
18.如權(quán)利要求10所述的裝置,所述錯(cuò)誤文件為磁盤錯(cuò)誤文件。
19.一種客戶端設(shè)備,包括如上述權(quán)利要求10至18任一所述的錯(cuò)誤文件處理裝置。
全文摘要
本發(fā)明公開了一種錯(cuò)誤文件處理方法、裝置和客戶端設(shè)備,以解決由于突然斷電后應(yīng)用程序調(diào)用產(chǎn)生錯(cuò)誤的文件而導(dǎo)致應(yīng)用程序崩潰的問題。其中,方法包括讀取系統(tǒng)事件日志;解析所述系統(tǒng)事件日志,獲取其中的文件錯(cuò)誤事件日志;獲取所述文件錯(cuò)誤事件日志中的錯(cuò)誤文件的文件路徑;對所述文件路徑對應(yīng)的錯(cuò)誤文件進(jìn)行重命名;當(dāng)應(yīng)用程序在調(diào)用所述錯(cuò)誤文件時(shí),建立一個(gè)與所述重命名前的錯(cuò)誤文件具有相同文件名的新文件,并調(diào)用所述新文件。本發(fā)明能夠在計(jì)算機(jī)突然斷電并重啟之后,對產(chǎn)生錯(cuò)誤的文件進(jìn)行處理,使得應(yīng)用程序仍然可以正常運(yùn)行。
文檔編號(hào)G06F11/07GK102929733SQ201210398240
公開日2013年2月13日 申請日期2012年10月18日 優(yōu)先權(quán)日2012年10月18日
發(fā)明者謝重陽 申請人:北京奇虎科技有限公司, 奇智軟件(北京)有限公司