亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種設(shè)備安全格式化的方法

文檔序號(hào):6638591閱讀:320來源:國知局
一種設(shè)備安全格式化的方法
【專利摘要】本發(fā)明公開了一種設(shè)備安全格式化的方法,包括:獲取格式化類型;主線程開啟第一子線程和第二子線程;第一子線程讀取應(yīng)用程序列表,獲取應(yīng)用程序列表中子文件的存儲(chǔ)路徑;第二子線程判斷是否存在記憶存儲(chǔ)器,如果存在記憶存儲(chǔ)器,則獲取記憶存儲(chǔ)器中子文件的存儲(chǔ)路徑;根據(jù)格式化類型的指示按照應(yīng)用程序列表中子文件的存儲(chǔ)路徑以及記憶存儲(chǔ)器中子文件的存儲(chǔ)路徑進(jìn)行格式化。格式化過程只涉及到框架層,不需要對(duì)系統(tǒng)進(jìn)行重啟,實(shí)現(xiàn)對(duì)用戶數(shù)據(jù)的徹底格式化,防止用戶隱私泄露。在不重啟系統(tǒng)、不影響設(shè)備正常使用的情況下,對(duì)設(shè)備進(jìn)行安全格式化,可以不刪除設(shè)備已安裝的應(yīng)用程序,系統(tǒng)程序仍然運(yùn)行,不會(huì)造成遺漏來電等問題。
【專利說明】_種設(shè)備安全格式化的方法

【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及信息安全【技術(shù)領(lǐng)域】,特別涉及一種設(shè)備安全格式化的方法。

【背景技術(shù)】
[0002]隨著智能手機(jī)的快速發(fā)展,智能手機(jī)的功能日益強(qiáng)大,應(yīng)用也越來越廣泛,不僅僅作為非常重要的通訊工具,還由于安裝各種便于生活、學(xué)習(xí)、工作以及娛樂的應(yīng)用軟件,使其成為人們生活必不可少的一部分。不過隨著便利的同時(shí),隨之而來的手機(jī)安全問題也日益突出,手機(jī)上存儲(chǔ)著大量的用戶個(gè)人隱私信息,因此,對(duì)于用戶個(gè)人隱私信息及秘密文件的保護(hù)也越來越受到重視。
[0003]Android系統(tǒng)(Google公司推出的手機(jī)操作系統(tǒng))對(duì)設(shè)備上存儲(chǔ)的用書數(shù)據(jù)進(jìn)行格式化過程是:由Android系統(tǒng)級(jí)應(yīng)用Setting中deviceinfo包中的Memory, java向系統(tǒng)發(fā)送命令 ExternalStorageFormatter.F0RMAT_AND_FACT0RY_RESET,然后判斷initializeMbr函數(shù)的初始化工作:Android系統(tǒng)在格式化SD卡(Secure Digital MemoryCard,安全數(shù)碼卡,一種基于半導(dǎo)體快閃記憶器的記憶設(shè)備)的時(shí)候,首先判斷SD卡是否存在分區(qū),如果SD卡不存在分區(qū),則需要重新初始化MBR區(qū)域,其中MBR為Master BootRecord的簡(jiǎn)稱,即硬盤的主引導(dǎo)記錄。MBR是不屬于任何一個(gè)操作系統(tǒng),也不能用操作系統(tǒng)提供的磁盤操作命令來讀取它,但可以通過命令來修改和重寫。之后再由initializeMbr和Fat:: format函數(shù)重建MBR,然后重新開機(jī)恢復(fù)出廠設(shè)置。接收到Android命令格式化后,啟動(dòng)Android系統(tǒng)的重啟(recovery)模式,將原有的文件系統(tǒng)的文件指針刪除,重新構(gòu)建文件系統(tǒng),再將系統(tǒng)鏡像重新寫入系統(tǒng),完成初始化系統(tǒng)。
[0004]在格式化過程中,用戶數(shù)據(jù)的文件并未被真正的刪除而只是刪除了文件指針,因此整個(gè)過程中并未對(duì)用戶數(shù)據(jù)進(jìn)行處理和刪除,這些用戶數(shù)據(jù)依然存在手機(jī)里。如果手機(jī)丟失即便可以通過遠(yuǎn)程指令進(jìn)行格式化,但是由于格式化不徹底,個(gè)人數(shù)據(jù)極容易被恢復(fù),造成隱私泄露,如果被人惡意恢復(fù)并加以利用會(huì)對(duì)用戶產(chǎn)生非常不利的影響。


【發(fā)明內(nèi)容】

[0005]為了解決現(xiàn)有格式化過程中存在格式化不徹底,容易造成用戶數(shù)據(jù)泄露的技術(shù)問題,本發(fā)明提供了一種設(shè)備安全格式化的方法,包括:
[0006]獲取格式化類型;
[0007]主線程開啟第一子線程和第二子線程;
[0008]所述第一子線程讀取應(yīng)用程序列表,獲取所述應(yīng)用程序列表中子文件的存儲(chǔ)路徑;
[0009]所述第二子線程判斷是否存在記憶存儲(chǔ)器,如果存在所述記憶存儲(chǔ)器,則獲取所述記憶存儲(chǔ)器中子文件的存儲(chǔ)路徑;
[0010]根據(jù)所述格式化類型的指示按照所述應(yīng)用程序列表中子文件的存儲(chǔ)路徑以及所述記憶存儲(chǔ)器中子文件的存儲(chǔ)路徑進(jìn)行格式化。
[0011]可選的,所述格式化類型包括僅用戶數(shù)據(jù)格式化和完全格式化,其中所述僅用戶數(shù)據(jù)格式化是指不刪除應(yīng)用程序,僅刪除應(yīng)用程序中的用戶數(shù)據(jù),所述完全格式化是指對(duì)應(yīng)用程序以及應(yīng)用程序中的用戶數(shù)據(jù)全部進(jìn)行刪除。
[0012]可選的,獲取格式化類型之后,主線程開啟第一子線程和第二子線程之前,還包括:
[0013]設(shè)置喚醒標(biāo)志并進(jìn)行初始化,所述喚醒標(biāo)記用于對(duì)第一子線程和第二子線程的工作狀態(tài)進(jìn)行標(biāo)記。
[0014]可選的,所述第二子線程判斷是否存在記憶存儲(chǔ)器時(shí),如果不存在所述記憶存儲(chǔ)器,則所述第二子線程結(jié)束。
[0015]可選的,所述第一子線程讀取應(yīng)用程序列表,獲取所述應(yīng)用程序列表中文件夾以及所述文件夾中子文件的存儲(chǔ)路徑包括:
[0016]所述第一子線程通過數(shù)據(jù)包管理器獲取設(shè)備上所有應(yīng)用程序的數(shù)據(jù)包信息,通過所述應(yīng)用程序的數(shù)據(jù)包信息得到所有應(yīng)用程序的存儲(chǔ)路徑構(gòu)成應(yīng)用程序列表;
[0017]獲取應(yīng)用程序數(shù)據(jù)包的絕對(duì)路徑,且每個(gè)應(yīng)用程序具有一個(gè)指定的數(shù)據(jù)空間用于存儲(chǔ)與所述應(yīng)用程序相對(duì)應(yīng)的用戶數(shù)據(jù)。
[0018]可選的,所述根據(jù)所述格式化類型的指示按照所述應(yīng)用程序列表中子文件的存儲(chǔ)路徑進(jìn)行格式化包括:
[0019]所述第一子線程逐個(gè)判斷所述應(yīng)用程序列表中的子文件中是否還包含有文件夾,如果包含文件夾,則按照所述存儲(chǔ)路徑繼續(xù)對(duì)下一個(gè)子文件進(jìn)行判斷;
[0020]如果不包含文件夾,則對(duì)所述子文件進(jìn)行格式化;
[0021]格式化完成之后判斷所述子文件是否屬于所述應(yīng)用程序列表中的最后一個(gè)子文件,如果不是最后一個(gè)子文件,則將指針指向下一個(gè)子文件繼續(xù)判斷所述子文是否包含文件夾;如果是最后一個(gè)子文件,則對(duì)喚醒標(biāo)記進(jìn)行更新。
[0022]可選的,所述根據(jù)所述格式化類型的指示按照所述記憶存儲(chǔ)器中子文件的存儲(chǔ)路徑進(jìn)行格式化包括:
[0023]所述第二子線程逐個(gè)判斷所述應(yīng)用程序列表中的子文件中是否還包含有文件夾,如果包含文件夾,則按照所述存儲(chǔ)路徑繼續(xù)對(duì)下一個(gè)子文件進(jìn)行判斷;
[0024]如果不包含文件夾,則對(duì)所述子文件進(jìn)行格式化;
[0025]格式化完成之后判斷所述子文件是否屬于所述記憶存儲(chǔ)器中的最后一個(gè)子文件,如果不是最后一個(gè)子文件,則將指針指向下一個(gè)子文件繼續(xù)判斷所述子文是否包含文件夾;如果是最后一個(gè)子文件,則對(duì)喚醒標(biāo)記進(jìn)行更新。
[0026]可選的,對(duì)所述子文件進(jìn)行格式化具體包括:
[0027]如果所述格式化類型為僅用戶數(shù)據(jù)格式化,則直接讀取所述子文件并獲取所述子文件的大小,對(duì)所述應(yīng)用程序中存儲(chǔ)用戶數(shù)據(jù)的子文件進(jìn)行覆寫刪除;
[0028]如果所述格式化類型為完全格式化,則對(duì)所述應(yīng)用程序中存儲(chǔ)用戶數(shù)據(jù)的子文件以及所述應(yīng)用程序安裝包的源文件進(jìn)行覆寫刪除。
[0029]可選的,進(jìn)行覆寫刪除時(shí),利用文件類源文件指針進(jìn)行刪除。
[0030]可選的,如果所述喚醒標(biāo)記達(dá)到預(yù)設(shè)值則對(duì)所述喚醒標(biāo)記重新進(jìn)行初始化。
[0031]本發(fā)明提供的設(shè)備格式化的方法,用戶可以自行選擇兩種格式化類型,一種是完全格式化,另一種是僅用戶數(shù)據(jù)格式化,利用一個(gè)系統(tǒng)級(jí)的格式化管理應(yīng)用程序?qū)Υ嬖谟脩魯?shù)據(jù)的空間進(jìn)行格式化,可以對(duì)用戶數(shù)據(jù)進(jìn)行徹底格式化,而不僅僅是刪除指針,他人不可能恢復(fù)出已經(jīng)刪除的用戶數(shù)據(jù)。在系統(tǒng)不用重啟,同時(shí)不影響設(shè)備正常使用的情況下對(duì)設(shè)備進(jìn)行安全格式化,而且格式化系統(tǒng)的速度遠(yuǎn)快于傳統(tǒng)的格式化方法。格式化過程只涉及到框架層,不需要對(duì)系統(tǒng)進(jìn)行重啟,同時(shí)可以不刪除設(shè)備上已安裝的應(yīng)用程序。同時(shí)在格式化過程中設(shè)備上的系統(tǒng)程序仍然運(yùn)行,不會(huì)造成遺漏來電等問題。

【專利附圖】

【附圖說明】
[0032]圖1為本發(fā)明提供的一種設(shè)備安全格式化的方法的步驟流程圖;
[0033]圖2為本發(fā)明步驟S5第一子線程格式化的步驟流程圖;
[0034]圖3為本發(fā)明步驟S5第二子線程格式化的步驟流程圖;
[0035]圖4為本發(fā)明實(shí)施例對(duì)Android設(shè)備進(jìn)行格式化過程的流程示意圖;
[0036]圖5為本發(fā)明實(shí)施例進(jìn)行覆蓋刪除過程的流程示意圖。

【具體實(shí)施方式】
[0037]下面結(jié)合附圖和實(shí)施例,對(duì)本發(fā)明的【具體實(shí)施方式】作進(jìn)一步詳細(xì)描述。以下實(shí)施例用于說明本發(fā)明,但不用來限制本發(fā)明的范圍。
[0038]本發(fā)明提供了一種設(shè)備安全格式化的方法,步驟流程圖如圖1所示,包括以下步驟:
[0039]步驟S1、獲取格式化類型。
[0040]步驟S2、主線程開啟第一子線程和第二子線程。
[0041]步驟S3、第一子線程讀取應(yīng)用程序列表,獲取應(yīng)用程序列表中子文件的存儲(chǔ)路徑。
[0042]步驟S4、第二子線程判斷是否存在記憶存儲(chǔ)器,如果存在記憶存儲(chǔ)器,則獲取記憶存儲(chǔ)器中子文件的存儲(chǔ)路徑。
[0043]步驟S5、根據(jù)格式化類型的指示按照應(yīng)用程序列表中子文件的存儲(chǔ)路徑以及記憶存儲(chǔ)器中子文件的存儲(chǔ)路徑進(jìn)行格式化。
[0044]可選的,格式化類型包括僅用戶數(shù)據(jù)格式化和完全格式化,其中僅用戶數(shù)據(jù)格式化是指不刪除應(yīng)用程序,僅刪除應(yīng)用程序中的用戶數(shù)據(jù),完全格式化是指對(duì)應(yīng)用程序以及應(yīng)用程序中的用戶數(shù)據(jù)全部進(jìn)行刪除。
[0045]可選的,步驟SI獲取格式化類型之后,步驟S2主線程開啟第一子線程和第二子線程之前,還包括:
[0046]設(shè)置喚醒標(biāo)志并進(jìn)行初始化,喚醒標(biāo)記用于對(duì)第一子線程和第二子線程的工作狀態(tài)進(jìn)行標(biāo)記。
[0047]可選的,步驟S4中第二子線程判斷是否存在記憶存儲(chǔ)器時(shí),如果不存在記憶存儲(chǔ)器,則第二子線程結(jié)束。
[0048]可選的,步驟S3中第一子線程讀取應(yīng)用程序列表,獲取應(yīng)用程序列表中文件夾以及文件夾中子文件的存儲(chǔ)路徑包括:
[0049]第一子線程通過數(shù)據(jù)包管理器獲取設(shè)備上所有應(yīng)用程序的數(shù)據(jù)包信息,通過應(yīng)用程序的數(shù)據(jù)包信息得到所有應(yīng)用程序的存儲(chǔ)路徑構(gòu)成應(yīng)用程序列表;
[0050]獲取應(yīng)用程序數(shù)據(jù)包的絕對(duì)路徑,且每個(gè)應(yīng)用程序具有一個(gè)指定的數(shù)據(jù)空間用于存儲(chǔ)與應(yīng)用程序相對(duì)應(yīng)的用戶數(shù)據(jù)。
[0051]可選的,步驟S5根據(jù)格式化類型的指示按照應(yīng)用程序列表中子文件的存儲(chǔ)路徑進(jìn)行格式化的步驟流程圖如圖2所示,包括以下步驟:
[0052]步驟S51、第一子線程逐個(gè)判斷應(yīng)用程序列表中的子文件中是否還包含有文件夾,如果包含文件夾,則按照存儲(chǔ)路徑繼續(xù)對(duì)下一個(gè)子文件進(jìn)行判斷;
[0053]步驟S52、如果不包含文件夾,則對(duì)子文件進(jìn)行格式化;
[0054]步驟S53、格式化完成之后判斷子文件是否屬于應(yīng)用程序列表中的最后一個(gè)子文件,如果不是最后一個(gè)子文件,則將指針指向下一個(gè)子文件繼續(xù)判斷子文是否包含文件夾;如果是最后一個(gè)子文件,則對(duì)喚醒標(biāo)記進(jìn)行更新。
[0055]可選的,步驟S5根據(jù)格式化類型的指示按照記憶存儲(chǔ)器中子文件的存儲(chǔ)路徑進(jìn)行格式化的步驟流程圖如圖3所示,包括以下步驟:
[0056]步驟S54、第二子線程逐個(gè)判斷應(yīng)用程序列表中的子文件中是否還包含有文件夾,如果包含文件夾,則按照存儲(chǔ)路徑繼續(xù)對(duì)下一個(gè)子文件進(jìn)行判斷;
[0057]步驟S55、如果不包含文件夾,則對(duì)子文件進(jìn)行格式化;
[0058]步驟S56、格式化完成之后判斷子文件是否屬于記憶存儲(chǔ)器中的最后一個(gè)子文件,如果不是最后一個(gè)子文件,則將指針指向下一個(gè)子文件繼續(xù)判斷子文是否包含文件夾;如果是最后一個(gè)子文件,則對(duì)喚醒標(biāo)記進(jìn)行更新。
[0059]可選的,對(duì)子文件進(jìn)行格式化具體包括:
[0060]如果格式化類型為僅用戶數(shù)據(jù)格式化,則直接讀取子文件并獲取子文件的大小,對(duì)應(yīng)用程序中存儲(chǔ)用戶數(shù)據(jù)的子文件進(jìn)行覆寫刪除;
[0061]如果格式化類型為完全格式化,則對(duì)應(yīng)用程序中存儲(chǔ)用戶數(shù)據(jù)的子文件以及應(yīng)用程序安裝包的源文件進(jìn)行覆寫刪除。
[0062]可選的,進(jìn)行覆寫刪除時(shí),利用文件類源文件指針進(jìn)行刪除。
[0063]可選的,步驟S3和步驟S6之后對(duì)喚醒標(biāo)記進(jìn)行判斷,如果喚醒標(biāo)記達(dá)到預(yù)設(shè)值則對(duì)喚醒標(biāo)記重新進(jìn)行初始化。
[0064]本發(fā)明提供的設(shè)備格式化的方法,用戶可以自行選擇兩種格式化類型,一種是完全格式化,另一種是僅用戶數(shù)據(jù)格式化,利用一個(gè)系統(tǒng)級(jí)的格式化管理應(yīng)用程序?qū)Υ嬖谟脩魯?shù)據(jù)的空間進(jìn)行格式化,可以對(duì)用戶數(shù)據(jù)進(jìn)行徹底格式化,而不僅僅是刪除指針,他人不可能恢復(fù)出已經(jīng)刪除的用戶數(shù)據(jù)。在系統(tǒng)不用重啟,同時(shí)不影響設(shè)備正常使用的情況下對(duì)設(shè)備進(jìn)行安全格式化,而且格式化系統(tǒng)的速度遠(yuǎn)快于傳統(tǒng)的格式化方法。格式化過程只涉及到框架層,不需要對(duì)系統(tǒng)進(jìn)行重啟,同時(shí)可以不刪除設(shè)備上已安裝的應(yīng)用程序。同時(shí)在格式化過程中設(shè)備上的系統(tǒng)程序仍然運(yùn)行,不會(huì)造成遺漏來電等問題。
[0065]現(xiàn)有的Android手機(jī)格式化過程中需要重啟設(shè)備進(jìn)入recovery模式,初始化系統(tǒng),不能在系統(tǒng)運(yùn)行過程中直接格式化,格式化過程耗時(shí)非常長。系統(tǒng)的所有信息都將被刪除,包括用戶下載的應(yīng)用,以及對(duì)手機(jī)系統(tǒng)進(jìn)行的一些基本設(shè)置都將被重置。
[0066]本發(fā)明提供的Android設(shè)備安全格式化方法需要在Android應(yīng)用框架層完成,能夠解決上述技術(shù)問題,以下對(duì)本發(fā)明中的Android設(shè)備以目前常用的Android手機(jī)為例對(duì)上述方法進(jìn)行說明:
[0067]步驟S101、用戶輸入格式化命令,判斷該格式化命令是否為了完全格式化(刪除應(yīng)用程序和用戶數(shù)據(jù)),同時(shí)初始化靜態(tài)變量Mode,NotiCode = O。其中Mode是保存用戶的格式化類型,NotiCode是一個(gè)喚醒標(biāo)志,為了在子線程工作完成后喚醒主線程以便進(jìn)行下一個(gè)步驟。
[0068]步驟S102、初始化數(shù)據(jù)后,由主線程開啟兩個(gè)子線程同時(shí)格式化不同的數(shù)據(jù)空間。子線程I負(fù)責(zé)格式化用戶應(yīng)用程序中的個(gè)人數(shù)據(jù),線程2負(fù)責(zé)格式化SD卡中的個(gè)人數(shù)據(jù)。
[0069]步驟S103、線程I先通過PackageManager獲取手機(jī)已安裝的所有應(yīng)用package的信息,然后通過PackageInfo得出所有程序的包名存入ArrayList〈string>userPac中,并初始化局部變量i = O。
[0070]步驟S104、線程I獲取應(yīng)用程序userPac[i]的數(shù)據(jù)空間的文件的絕對(duì)路徑,并將其傳送給函數(shù)EraseO。因?yàn)樵贏ndroid系統(tǒng)中所有應(yīng)用程序,都要一個(gè)指定的內(nèi)部數(shù)據(jù)空間來存儲(chǔ)其相關(guān)的數(shù)據(jù),或者存在外部?jī)?chǔ)存器(SD卡)中,由線程I將內(nèi)存數(shù)據(jù)空間進(jìn)行清除,線程2將外部空間清除。
[0071]步驟S105、Erase函數(shù)的執(zhí)行過程包括:首先列出該目錄下的所有子文件(包括文件夾),然后判斷第i個(gè)子文件是否是文件夾。如果是則將此文件夾的路徑再次傳給Erase函數(shù)重復(fù)此過程。如果不是則進(jìn)行覆寫刪除操作,當(dāng)覆寫刪除完成后,判斷該子文件是否為該目錄下的最后一個(gè)文件,如果不是則指向下一個(gè)子文件,重復(fù)從上一次判斷開始的工作,如果是就返回true。
[0072]步驟S106、線程I接收到Erase函數(shù)到的返回值true后,使全局變量NotiCode++,利用NotiCode的值來喚醒主線程進(jìn)行下一個(gè)步驟。
[0073]步驟S107、線程2:當(dāng)線程被啟動(dòng)時(shí),判定是否存在SD卡,如果不存在線程結(jié)束,如果存在SD卡,接下來獲取SD卡的絕對(duì)路徑。
[0074]步驟S108、線程2將SD卡的絕對(duì)路徑傳送給函數(shù)Erase O,同樣列出該目錄下的所有子文件(包括文件夾),然后判斷第i個(gè)子文件是否是文件夾。如果是就將此文件夾的路徑再次傳給Erase重復(fù)此過程。如果不是就進(jìn)行覆寫刪除操作,當(dāng)覆寫刪除完成后,判斷該文件是否為該目錄下的最后一個(gè)文件,如果不是就指向下一個(gè)文件,重復(fù)從上一次判斷開始的工作,如果是就返回true。
[0075]當(dāng)線程2收到Erase返回值true后,使NotiCode++,使得環(huán)形標(biāo)志達(dá)到預(yù)設(shè)值2。
[0076]步驟S109、當(dāng)主線程收到NotiCode = =2的結(jié)果時(shí),喚醒主線程,由主線程進(jìn)行下一個(gè)步驟。判斷格式化模式,是否需要格式化應(yīng)用程序(即格式化類型是否為完全格式化),如果結(jié)果為否,程序結(jié)束,提示用戶格式化過程完成。如果結(jié)果為真,使用File刪除源文件/data/app下的所有應(yīng)用程序的apk,然后主進(jìn)程結(jié)束。此時(shí)使用File是因?yàn)榇藭r(shí)應(yīng)用程序中已經(jīng)沒有用戶數(shù)據(jù),與剛從互聯(lián)網(wǎng)上安裝的時(shí)候狀態(tài)一樣。那么就只需要?jiǎng)h除其文件的指針就可以滿足要求,沒有必要去花費(fèi)更長的時(shí)間去覆蓋刪除,這樣就可以節(jié)約時(shí)間給提供一個(gè)更好的用戶體驗(yàn),加快格式化速度。
[0077]步驟110、覆寫刪除操作:因?yàn)樾枰苯硬僮魑募诘膬?chǔ)存單元,首先使用RandomAccessFile讀取文件,然后獲取文件大小并存儲(chǔ)。定義局部變量i = 0,RandomAccessFile向源文件的第i*1024?(i+1)*1024Bytes中寫入無意義數(shù)據(jù)。使用這樣的方式寫入數(shù)據(jù)的目的是為了能夠直接覆蓋源文件的位置,但是同時(shí)減少在手機(jī)運(yùn)存中緩存的無意義的數(shù)據(jù)。這種方式使得在運(yùn)行空間中的無意義數(shù)據(jù)消耗僅為1024Bytes,同時(shí)可以保證超大的文件可以被操作。
[0078]步驟S111、判斷文件大小是否大于(i+l)*1024ByteS。如果是,說明文件沒有完全被覆蓋此時(shí)執(zhí)行i = i+1重復(fù)步驟S110-111,直到判斷結(jié)果為否。如果結(jié)果為否,文件已經(jīng)完全被覆蓋,執(zhí)行下一個(gè)步驟。
[0079]步驟S112、使用File類將源文件刪除,由于上述兩個(gè)過程中已經(jīng)將源文件指向的儲(chǔ)存器物理地址填入無意義數(shù)據(jù),可以直接被刪除,此時(shí)刪除指針可以保證源文件不會(huì)被恢復(fù)。即便是給適配一個(gè)文件指向該物理地址,此時(shí)物理地址的數(shù)據(jù)已經(jīng)是無意義的數(shù)據(jù),無法被恢復(fù)。
[0080]上述步驟S101-S109對(duì)Android設(shè)備進(jìn)行格式化過程的流程示意圖如圖4所示,步驟S110-S112進(jìn)行覆蓋刪除過程的流程示意圖如圖5所示。
[0081]直到此時(shí),用戶數(shù)據(jù)已經(jīng)完全被深入格式化。這個(gè)過程只涉及到Androidframework(即框架層),不需要對(duì)系統(tǒng)進(jìn)行重啟,同時(shí)根據(jù)用戶選擇刪除用戶下載安裝的應(yīng)用程序。同時(shí)在這個(gè)過程中手機(jī)的系統(tǒng)程序仍然運(yùn)行,不會(huì)造成遺漏來電等問題。
[0082]綜上所述,本發(fā)明提供的設(shè)備安全格式化方法一方面讓用戶能夠快速安全的格式化系統(tǒng),同時(shí)不刪除用戶的應(yīng)用程序,對(duì)應(yīng)用程序數(shù)據(jù)文件進(jìn)行徹底粉碎,在整個(gè)格式化過程中不重啟設(shè)備。同時(shí)保留用戶對(duì)手機(jī)的設(shè)置,旨在給用戶提供一種更加安全、快速粉碎系統(tǒng)中所有個(gè)人數(shù)據(jù)的一種方法。
[0083]以上實(shí)施方式僅用于說明本發(fā)明,而并非對(duì)本發(fā)明的限制,有關(guān)【技術(shù)領(lǐng)域】的普通技術(shù)人員,在不脫離本發(fā)明的精神和范圍的情況下,還可以做出各種變化和變型,因此所有等同的技術(shù)方案也屬于本發(fā)明的范疇,本發(fā)明的專利保護(hù)范圍應(yīng)由權(quán)利要求限定。
【權(quán)利要求】
1.一種設(shè)備安全格式化的方法,其特征在于,包括: 獲取格式化類型; 主線程開啟第一子線程和第二子線程; 所述第一子線程讀取應(yīng)用程序列表,獲取所述應(yīng)用程序列表中子文件的存儲(chǔ)路徑; 所述第二子線程判斷是否存在記憶存儲(chǔ)器,如果存在所述記憶存儲(chǔ)器,則獲取所述記憶存儲(chǔ)器中子文件的存儲(chǔ)路徑; 根據(jù)所述格式化類型的指示按照所述應(yīng)用程序列表中子文件的存儲(chǔ)路徑以及所述記憶存儲(chǔ)器中子文件的存儲(chǔ)路徑進(jìn)行格式化。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述格式化類型包括僅用戶數(shù)據(jù)格式化和完全格式化,其中所述僅用戶數(shù)據(jù)格式化是指不刪除應(yīng)用程序,僅刪除應(yīng)用程序中的用戶數(shù)據(jù),所述完全格式化是指對(duì)應(yīng)用程序以及應(yīng)用程序中的用戶數(shù)據(jù)全部進(jìn)行刪除。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,獲取格式化類型之后,主線程開啟第一子線程和第二子線程之前,還包括: 設(shè)置喚醒標(biāo)志并進(jìn)行初始化,所述喚醒標(biāo)記用于對(duì)第一子線程和第二子線程的工作狀態(tài)進(jìn)行標(biāo)記。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述第二子線程判斷是否存在記憶存儲(chǔ)器時(shí),如果不存在所述記憶存儲(chǔ)器,則所述第二子線程結(jié)束。
5.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述第一子線程讀取應(yīng)用程序列表,獲取所述應(yīng)用程序列表中文件夾以及所述文件夾中子文件的存儲(chǔ)路徑包括: 所述第一子線程通過數(shù)據(jù)包管理器獲取設(shè)備上所有應(yīng)用程序的數(shù)據(jù)包信息,通過所述應(yīng)用程序的數(shù)據(jù)包信息得到所有應(yīng)用程序的存儲(chǔ)路徑構(gòu)成應(yīng)用程序列表; 獲取應(yīng)用程序數(shù)據(jù)包的絕對(duì)路徑,且每個(gè)應(yīng)用程序具有一個(gè)指定的數(shù)據(jù)空間用于存儲(chǔ)與所述應(yīng)用程序相對(duì)應(yīng)的用戶數(shù)據(jù)。
6.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述根據(jù)所述格式化類型的指示按照所述應(yīng)用程序列表中子文件的存儲(chǔ)路徑進(jìn)行格式化包括: 所述第一子線程逐個(gè)判斷所述應(yīng)用程序列表中的子文件中是否還包含有文件夾,如果包含文件夾,則按照所述存儲(chǔ)路徑繼續(xù)對(duì)下一個(gè)子文件進(jìn)行判斷; 如果不包含文件夾,則對(duì)所述子文件進(jìn)行格式化; 格式化完成之后判斷所述子文件是否屬于所述應(yīng)用程序列表中的最后一個(gè)子文件,如果不是最后一個(gè)子文件,則將指針指向下一個(gè)子文件繼續(xù)判斷所述子文是否包含文件夾;如果是最后一個(gè)子文件,則對(duì)喚醒標(biāo)記進(jìn)行更新。
7.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述根據(jù)所述格式化類型的指示按照所述記憶存儲(chǔ)器中子文件的存儲(chǔ)路徑進(jìn)行格式化包括: 所述第二子線程逐個(gè)判斷所述應(yīng)用程序列表中的子文件中是否還包含有文件夾,如果包含文件夾,則按照所述存儲(chǔ)路徑繼續(xù)對(duì)下一個(gè)子文件進(jìn)行判斷; 如果不包含文件夾,則對(duì)所述子文件進(jìn)行格式化; 格式化完成之后判斷所述子文件是否屬于所述記憶存儲(chǔ)器中的最后一個(gè)子文件,如果不是最后一個(gè)子文件,則將指針指向下一個(gè)子文件繼續(xù)判斷所述子文是否包含文件夾;如果是最后一個(gè)子文件,則對(duì)喚醒標(biāo)記進(jìn)行更新。
8.根據(jù)權(quán)利要求6或7所述的方法,其特征在于,對(duì)所述子文件進(jìn)行格式化具體包括: 如果所述格式化類型為僅用戶數(shù)據(jù)格式化,則直接讀取所述子文件并獲取所述子文件的大小,對(duì)所述應(yīng)用程序中存儲(chǔ)用戶數(shù)據(jù)的子文件進(jìn)行覆寫刪除; 如果所述格式化類型為完全格式化,則對(duì)所述應(yīng)用程序中存儲(chǔ)用戶數(shù)據(jù)的子文件以及所述應(yīng)用程序安裝包的源文件進(jìn)行覆寫刪除。
9.根據(jù)權(quán)利要求8所述的方法,其特征在于,進(jìn)行覆寫刪除時(shí),利用文件類源文件指針進(jìn)行刪除。
10.根據(jù)權(quán)利要求6或7所述的方法,其特征在于,如果所述喚醒標(biāo)記達(dá)到預(yù)設(shè)值則對(duì)所述喚醒標(biāo)記重新進(jìn)行初始化。
【文檔編號(hào)】G06F3/06GK104503702SQ201410769292
【公開日】2015年4月8日 申請(qǐng)日期:2014年12月12日 優(yōu)先權(quán)日:2014年12月12日
【發(fā)明者】朱大立, 范哲銘, 龐娜 申請(qǐng)人:中國科學(xué)院信息工程研究所
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1