恢复通信终端内部文件系统的方法及通信终端的制作方法

文档序号:7801320阅读:112来源:国知局
专利名称:恢复通信终端内部文件系统的方法及通信终端的制作方法
技术领域
本发明涉及移动通信领域,尤其涉及一种恢复通信终端内部文件系统的方法及通信终端,适用于手机等嵌入式系统。
背景技术
随着通讯技术的发展,以手机为代表的移动终端在人们的生活中越来越重要。用户可以使用手机进行网络聊天,拍照,电子书阅读,观看电影等操作,手机的存储区域主要分为两部分,一是手机内部的存储区域,二是外部存储区域,如一些外部储存卡,像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日
发明者李敬来 申请人:希姆通信息技术(上海)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1