恢復通信終端內部文件系統的方法及通信終端的製作方法
2023-06-11 20:26:06
專利名稱:恢復通信終端內部文件系統的方法及通信終端的製作方法
技術領域:
本發明涉及移動通信領域,尤其涉及一種恢復通信終端內部文件系統的方法及通信終端,適用於手機等嵌入式系統。
背景技術:
隨著通訊技術的發展,以手機為代表的移動終端在人們的生活中越來越重要。用戶可以使用手機進行網絡聊天,拍照,電子書閱讀,觀看電影等操作,手機的存儲區域主要分為兩部分,一是手機內部的存儲區域,二是外部存儲區域,如一些外部儲存卡,像SD卡,MMC卡等。外部存儲區域主要是存放一些比較大的文件,如視頻文件,電子書,mp3歌曲等;手機內部存儲區域主要存放手機常用的設置參數。手機啟動圖片,充電圖片,如果外部存儲空間已經使用完畢的情況下,也可以把一些電子書,圖片,歌曲,視頻放到手機的內部存儲空間中。現有技術的問題在於,嵌入式設備基本上都採用FAT文件系統,如果文件系統做的不好的話(FAT文件系統的安全性較差),在向手機內部存儲空間拷貝文件的時候,會把手機內部存儲空間的FAT表破壞掉,會導致手機內部的文件全部消失。這種情況下,其實文件仍然存儲在手機的內部存儲空間中,只是FAT表破壞掉了,不能讀出文件而已,這個時候需要有一種方法可以恢復手機內部的文件系統,可以使手機能正常啟動。
發明內容
本發明所要解決的技術問題是,提供一種管理通信終端文件系統的方法以及通信終端,能夠提高通信終端文件系統的安全性。為了解決上述問題,本發明提供了一種恢復通信終端內部文件系統的方法,包括如下步驟:在通信終端的外部存儲器中設立存儲空間,所述存儲空間的容量不小於通信終端中用於存儲文件分配表數據的空間容量;在外部存儲器的存儲空間中建立一同步文件,所述同步文件用於存儲通信終端中每一個內部文件所對應的存儲塊編號;在通信終端的內部文件發生改動時,對外部存儲空間中的同步文件做出對應修改。可選的,所述對外部存儲器中的同步文件做出對應修改的步驟進一步包括:在所述通信終端的文件系統讀寫函數中寫入一回調函數;在通信終端的內部文件發生改動時,同步調用回調函數,把當前所改動的文件在改動完畢後對應的存儲塊編號更新到外部存儲器的同步文件中去。可選的,所述對外部存儲器中的同步文件做出對應修改的步驟進一步包括:設定一掃描程序;在通信終端空閒時,啟動所述掃描程序,掃描通信終端內部的所有文件,把每一個文件所對應的存儲塊編號更新到外部存儲器的同步文件中去。可選的,所述掃描程序設定在通信終端內部,或者設定在外部存儲器中。本發明進一步提供了一種通信終端,包括通信終端的內部存儲器和一外部存儲器,所述內部存儲器中具有文件分配表,外部存儲器中具有一存儲空間,所述存儲空間的容量不小於通信終端中用於存儲文件分配表數據的空間容量;所述存儲空間中具有一同步文件,所述同步文件用於存儲通信終端中每一個內部文件所對應的存儲塊編號,所述同步文件根據通信終端內部存儲器中的每一個內部文件所對應的存儲塊編號的變化而更新。可選的,在所述通信終端的文件系統讀寫函數中進一步包括一回調函數,在通信終端的內部文件發生改動時,同步調用回調函數,把當前所改動的文件在改動完畢後對應的存儲塊編號更新到外部存儲器的同步文件中去。可選的,進一步包括一掃描單元,在通信終端空閒時,啟動所述掃描單元,掃描通信終端內部的所有文件,把每一個文件所對應的存儲塊編號更新到外部存儲器的同步文件中去。可選的,所述掃描單元設置在通信終端內部,或者設置在外部存儲器中。本發明的優點在於,通過在通信終端的外部存儲器中設置一同步文件,用來保存通信終端內部的文件分配表,在文件分配表發生故障是,可以通過調取外部的同步文件來恢復,從而增強了通信終端文件系統的安全性。
附圖1是本發明所述恢復通信終端內部文件系統的方法具體實施方式
的流程圖。附圖2是附圖1中提到的一種典型的文件分配表數據結構。附圖3是本發明所述通信終端具體實施方式
的結構示意圖。
具體實施例方式下面結合附圖對本發明提供的恢復通信終端內部文件系統的方法及通信終端的具體實施方式
做詳細說明。首先結合附圖給出本發明所述恢復通信終端內部文件系統的方法的具體實施方式
。附圖1所示是本具體實施方式
所述方法的流程圖,包括:步驟S110,在通信終端的外部存儲器中設立存儲空間,所述存儲空間的容量不小於通信終端中用於存儲文件分配表數據的空間容量;步驟S120,在外部存儲器的存儲空間中建立一同步文件,所述同步文件用於存儲通信終端中每一個內部文件所對應的存儲塊編號;步驟S130,在通信終端的內部文件發生改動時,對外部存儲空間中的同步文件做出對應修改。步驟S110,在通信終端的外部存儲器中設立存儲空間,所述存儲空間的容量不小於通信終端中用於存儲文件分配表數據的空間容量。開闢一存儲空間的目的在於保證後續建立的同步文件有相對獨立的區域,防止誤操作。由於該存儲空間是用來存儲文件分配表數據的,因此存儲空間的容量顯然不小於通信終端中用於存儲文件分配表數據的空間容量,否則容易造成數據溢出。所述通信終端可以但不限於是手機,所述外部存儲器例如但不限於是SD卡、MMC卡等。步驟S120,在外部存儲器的存儲空間中建立一同步文件,所述同步文件用於存儲通信終端中每一個內部文件所對應的存儲塊編號。FAT表(File Allocation Table)稱文件分配表,是一種微軟首先提出並採用的文檔系統。其原理大致是每一個內部文件所對應的存儲塊編號實質上即為文件分配表(FAT表)所記錄的內容。參考附圖2是一種典型的文件分配表數據結構,表示Test.1ogcat的文件內容存放到編號為0X123、0XFE、0X396、0XF5以及0x23的數據塊中。當文件系統內部更新Test.1ogcat的時候,上層註冊的回調數據會把這些數據塊的地址保存到FAT.log中去,如下面的形式:
Test.1ogcat: 0xl23->0xFE->0x396->0xF5->0x23o在手機出廠開機的時候便可以在外部存儲器的存儲空間中生成記錄上述文件分配表內容的同步文件,文件名例如可以是FAT.log。步驟S130,在通信終端的內部文件發生改動時,對外部存儲空間中的同步文件做出對應修改。本步驟有兩種實現方式,一種是同步更新的方式,一種是空閒時更新的方式。同步更新的方式包括如下步驟:在所述通信終端的文件系統讀寫函數中寫入一回調函數,例如可以命名為writefatlogCB(char *name, int *link);在通信終端的內部文件發生改動(如新建、刪除 或追加)時,底層讀寫函數同步調用回調函數writefatlogCB,把當前所改動的文件在改動完畢後對應的存儲塊編號更新到外部存儲器的同步文件中去。此方式的優點在於在改動內部文件時,實時更新同步文件,可以應對通信終端突然發生故障的情況。空閒時更新的方式包括:設定一掃描程序;在通信終端空閒時,啟動所述掃描程序,掃描通信終端內部的所有文件,把每一個文件所對應的存儲塊編號更新到外部存儲器的同步文件中去。所述掃描程序可以設定在通信終端內部,也可以設定在外部存儲器中。當手機不處於空閒狀態的時候可以停止更新。此種方式只會在手機空閒狀態的時候進行工作,不會對用戶的使用造成太大的影響,可以降低系統負荷。在手機內部文件系統被壞的時候,需要讀取同步文件,根據逆向軟體通過同步文件把丟失的文件找到。上述方法通過在通信終端的外部存儲器中設置一同步文件,用來保存通信終端內部的文件分配表,在文件分配表發生故障是,可以通過調取外部的同步文件來恢復,從而增強了通信終端文件系統的安全性。接下來結合附圖給出本發明所述通信終端的具體實施方式
。附圖3所示是本具體實施方式
所述通信終端的結構示意圖,包括通信終端的內部存儲器31和外部存儲器32。所述內部存儲器31中具有文件分配表311和數據區312,外部存儲器32中具有一存儲空間321和數據區322,所述存儲空間321的容量不小於通信終端中用於存儲文件分配表311數據的空間容量。所述存儲空間中具有一同步文件,文件名例如可以是FAT.log,所述同步文件用於存儲通信終端的內部存儲器31中每一個內部文件所對應的存儲塊編號,所述同步文件根據通信終端的每一個內部文件所對應的存儲塊編號的變化而更新。所述更新有兩種實現方式,一種是同步更新的方式,一種是空閒時更新的方式。同步更新的方式是在所述通信終端的文件系統讀寫函數中進一步設置一回調函數,在通信終端的內部文件發生改動時,同步調用回調函數,把當前所改動的文件在改動完畢後對應的存儲塊編號更新到外部存儲器的同步文件中去。空閒時更新的方式是進一步包括一掃描單元,在通信終端空閒時,啟動所述掃描單元,掃描通信終端內部的所有文件,把每一個文件所對應的存儲塊編號更新到外部存儲器的同步文件中去。所述掃描單元設置在通信終端內部,或者設置在外部存儲器中。關於以上兩種更新方式的內容請參考前一具體實施方式
中對步驟S130的解釋,此處不再贅述。以下給出本發明的一實施例。設定FAT表的空間大小為256kb,需要在外部存儲空間開闢一個大小為800kb的用來存放FAT.log的空間。在FAT.log文件中保存著如下三個文件的鍊表:
1111.txt 0x23665255->0x58452563->0xl4587632->0xFE5214362222.rvmb 0x23fd5255->0x58b52563->0x7d587632->0xF6B21436flow, jpeg 0x23f32545->0x89852125->0x6e367632->0xl2369652o如果對2222.rvmb進行刪除的動作,比如說把0xF6B21436上面的內容刪除,則2222.rvmb在FAT.log的鍊表變為:
2222.rvmb 0x23fd5255->0x58b52563->0x7d587632o在追加某個文件的時候,其原理是一樣的。在手機內部的文件系統壞掉的時候,通過讀取FAT.log,把每個文件對應的存儲數據塊依次讀取,併到相應的位置去讀取數據,在讀取完畢以後,文件就恢復了。
以上所述僅是本發明的優選實施方式,應當指出,對於本技術領域的普通技術人員,在不脫離本發明原理的前提下,還可以做出若干改進和潤飾,這些改進和潤飾也應視為本發明的保護範圍。
權利要求
1.一種恢復通信終端內部文件系統的方法,其特徵在於,包括如下步驟:在通信終端的外部存儲器中設立存儲空間,所述存儲空間的容量不小於通信終端中用於存儲文件分配表數據的空間容量;在外部存儲器的存儲空間中建立一同步文件,所述同步文件用於存儲通信終端中每一個內部文件所對應的存儲塊編號;在通信終端的內部文件發生改動時,對外部存儲空間中的同步文件做出對應修改。
2.根據權利要求1所述的恢復通信終端內部文件系統的方法,其特徵在於,所述對外部存儲器中的同步文件做出對應修改的步驟進一步包括:在所述通信終端的文件系統讀寫函數中寫入一回調函數;在通信終端的內部文件發生改動時,同步調用回調函數,把當前所改動的文件在改動完畢後對應的存儲塊編號更新到外部存儲器的同步文件中去。
3.根據權利要求1所述的恢復通信終端內部文件系統的方法,其特徵在於,所述對外部存儲器中的同步文件做出對應修改的步驟進一步包括:設定一掃描程序;在通信終端空閒時,啟動所述掃描程序,掃描通信終端內部的所有文件,把每一個文件所對應的存儲塊編號更新到外部存儲器的同步文件中去。
4.根據權利要求3所述的恢復通信終端內部文件系統的方法,其特徵在於,所述掃描程序設定在通信終端內部,或者設定在外部存儲器中。
5.一種通信終端,包括通信終端的內部存儲器和一外部存儲器,所述內部存儲器中具有文件分配表,其特徵在於,外部存儲器中具有一存儲空間,所述存儲空間的容量不小於通信終端中用於存儲文件分配表數據的空間容量;所述存儲空間中具有一同步文件,所述同步文件用於存儲通信終端中每一個內部文件所對應的存儲塊編號,所述同步文件根據通信終端內部存儲器中的每一個內部文件所對應的存儲塊編號的變化而更新。
6.根據權利要求5所述的通信終端,其特徵在於,在所述通信終端的文件系統讀寫函數中進一步包括一回調函數,在通信終端的內部文件發生改動時,同步調用回調函數,把當前所改動的文件在改動完畢後對應的存儲塊編號更新到外部存儲器的同步文件中去。
7.根據權利要求5所述的通信終端,其特徵在於,進一步包括一掃描單元,在通信終端空閒時,啟動所述掃描單元,掃描通信終端內部的所有文件,把每一個文件所對應的存儲塊編號更新到外部存儲器的同步文件中去。
8.根據權利要求7所述的通信終端,其特徵在於,所述掃描單元設置在通信終端內部,或者設置在外部存儲器中。
全文摘要
本發明提供了一種恢復通信終端內部文件系統的方法以及通信終端。所述方法包括如下步驟在通信終端的外部存儲器中設立存儲空間,所述存儲空間的容量不小於通信終端中用於存儲文件分配表數據的空間容量;在外部存儲器的存儲空間中建立一同步文件,所述同步文件用於存儲通信終端中每一個內部文件所對應的存儲塊編號;在通信終端的內部文件發生改動時,對外部存儲空間中的同步文件做出對應修改。本發明的優點在於,通過在通信終端的外部存儲器中設置一同步文件,用來保存通信終端內部的文件分配表,在文件分配表發生故障是,可以通過調取外部的同步文件來恢復,從而增強了通信終端文件系統的安全性。
文檔編號H04W8/30GK103188661SQ20111044564
公開日2013年7月3日 申請日期2011年12月28日 優先權日2011年12月28日
發明者李敬來 申請人:希姆通信息技術(上海)有限公司