清理文件系统的方法和装置转让专利

申请号 : CN201110208944.4

文献号 : CN102902672B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 王永鑫

申请人 : 腾讯科技(深圳)有限公司

摘要 :

本发明公开了一种清理文件系统的方法和装置,属于文件系统领域。该方法包括:根据接收到的清理指令,打开并锁定指定卷;所述清理指令用于指示待清理的指定卷;清理所述指定卷的卷空闲空间,并在清理结束后解锁所述指定卷。该装置包括:锁定模块和清理模块。本发明实施例通过在接收到清理指令时,对指定卷的卷空闲空间进行清理,达到彻底清理文件系统中残留的用户隐私的目的,避免用户隐私的泄露,提高文件系统的安全性。

权利要求 :

1.一种清理文件系统的方法,其特征在于,包括:根据接收到的清理指令,打开并锁定指定卷;所述清理指令用于指示待清理的指定卷;

在所述指定卷的卷空闲空间上持续创建临时文件直到失败为止;

清除所述创建的临时文件;

在清理结束后解锁所述指定卷。

2.根据权利要求1所述的方法,其特征在于,当所述指定卷为系统盘时,所述方法还包括:清理所述指定卷的pagefile.sys。

3.根据权利要求2所述的方法,其特征在于,清理所述指定卷的pagefile.sys包括:在解锁所述指定卷之前,清理所述指定卷的pagefile.sys;或,在解锁所述指定卷之后,清理所述指定卷的pagefile.sys。

4.根据权利要求2所述的方法,其特征在于,清理所述指定卷的pagefile.sys包括:设置注册表键值HKLM\SYSTEM\CurrentControlSet\Control\SessionManager\Memory Management\ClearPageFileAtShutdow为1;

重启系统,再将键值删除。

5.根据权利要求1所述的方法,其特征在于,根据接收到的清理指令,打开并锁定指定卷之前,所述方法还包括:当接收到所述清理指令时,对所述指定卷进行格式化。

6.一种清理文件系统的装置,其特征在于,包括:锁定模块,用于根据接收到的清理指令,打开并锁定指定卷;所述清理指令用于指示待清理的指定卷;

临时文件创建模块,用于在所述指定卷的卷空闲空间上持续创建临时文件直到失败为止;

清理模块,用于清除所述创建的临时文件;

解锁模块,用于在清理结束后解锁所述指定卷。

7.根据权利要求6所述的装置,其特征在于,当所述指定卷为系统盘时,所述清理模块还包括:第四清理单元,用于清理所述指定卷的pagefile.sys。

8.根据权利要求7所述的装置,其特征在于,所述第四清理单元用于在解锁所述指定卷之前,清理所述指定卷的pagefile.sys;或,所述第四清理单元还用于在解锁所述指定卷之后,清理所述指定卷的pagefile.sys。

9.根据权利要求7所述的装置,其特征在于,所述第四清理单元用于设置注册表键值 HKLM\SYSTEM\CurrentControlSet\Control\SessionManager\Memory Management\ClearPageFileAtShutdow为1;重启系统,再将键值删除。

10.根据权利要求6所述的装置,其特征在于,所述装置还包括:格式化模块,用于当接收到所述清理指令时,对所述指定卷进行格式化。

说明书 :

清理文件系统的方法和装置

技术领域

[0001] 本发明涉及文件系统领域,特别涉及一种清理文件系统的方法和装置。

背景技术

[0002] windows运行时,会产生的各种临时文件,包括网页浏览器保留的用户信息、办公类软件的使用痕迹等各种和用户隐私相关的记录。现有技术中主要针对网页浏览器或各种软件使用过程中留下的用户隐私进行清理,但是由于现有技术中在清理时会残留大量的用户隐私信息,使得残留在系统中的有可能会造成用户隐私的泄露。

发明内容

[0003] 本发明实施例提供了一种清理文件系统的方法和装置。所述技术方案如下:
[0004] 一方面,一种清理文件系统的方法,包括:
[0005] 根据接收到的清理指令,打开并锁定指定卷;所述清理指令用于指示待清理的指定卷;
[0006] 清理所述指定卷的卷空闲空间,并在清理结束后解锁所述指定卷。
[0007] 其中,清理所述指定卷的卷空闲空间,具体包括:
[0008] 清除所述指定卷的卷空闲空间中已删除文件占用的信息。
[0009] 具体地,在NTFS文件系统下,清除所述指定卷的卷空闲空间中已删除文件占用的信息,具体包括:
[0010] 遍历所述指定卷的主文件表,将所述主文件表中已删除文件占用的信息清0;
[0011] 在FAT下文件系统下,清除所述指定卷的卷空闲空间中已删除文件占用的信息,具体包括:
[0012] 遍历所述指定卷的目录登记项,将所述目录登记项中除了0xE5外,其他都清0。
[0013] 具体地,清除所述指定卷的卷空闲空间中已删除文件占用的信息,具体包括:
[0014] 在所述指定卷的卷空闲空间上持续创建临时文件直到失败为止;
[0015] 清除所述创建的临时文件。
[0016] 进一步地,当所述指定卷为系统盘时,所述方法还包括:
[0017] 清理所述指定卷的pagefile.sys。
[0018] 另一方面,一种清理文件系统的装置,包括:
[0019] 锁定模块,用于根据接收到的清理指令,打开并锁定指定卷;所述清理指令用于指示待清理的指定卷;
[0020] 清理模块,用于清理所述指定卷的卷空闲空间,并在清理结束后解锁所述指定卷。
[0021] 所述清理模块具体用于清除所述指定卷的卷空闲空间中已删除文件占用的信息。
[0022] 在NTFS文件系统下,所述清理模块包括:
[0023] 第一清理单元,用于遍历所述指定卷的主文件表,将所述主文件表中已删除文件占用的信息清0;
[0024] 在FAT下文件系统下,所述清理模块包括:
[0025] 第二清理单元,用于遍历所述指定卷的目录登记项,将所述目录登记项中除了0xE5外,其他都清0。
[0026] 所述清理模块包括:
[0027] 临时文件创建单元,用于在所述指定卷的卷空闲空间上持续创建临时文件直到失败为止;
[0028] 第三清理单元,用于清除所述创建的临时文件。
[0029] 当所述指定卷为系统盘时,所述清理模块还包括:
[0030] 第四清理单元,用于清理所述指定卷的pagefile.sys。
[0031] 本发明实施例提供的技术方案的有益效果是:
[0032] 通过在接收到清理指令时,对指定卷的卷空闲空间进行清理,达到彻底清理文件系统中残留的用户隐私的目的,避免用户隐私的泄露,提高文件系统的安全性。

附图说明

[0033] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0034] 图1是现有技术中NTFS文件系统的结构图;
[0035] 图2是现有技术中FAT文件系统的结构图;
[0036] 图3是本发明实施例提供的一种清理文件系统的方法的流程图;
[0037] 图4是本发明实施例提供的一种清理文件系统的方法的流程图;
[0038] 图5是本发明实施例提供的一种清理文件系统的装置的结构示意图;
[0039] 图6是本发明实施例提供的一种清理文件系统的装置的结构示意图;
[0040] 图7是本发明实施例提供的一种清理文件系统的装置的结构示意图;
[0041] 图8是本发明实施例提供的一种清理文件系统的装置的结构示意图;
[0042] 图9是本发明实施例提供的一种清理文件系统的装置的结构示意图。

具体实施方式

[0043] 为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
[0044] 在介绍本发明提供的清理文件系统的方法之前,首先对本发明的基础知识进行简要的介绍:
[0045] 图1为现有技术中NTFS(New Technology File System,新技术文件系统)文件系统的结构图。参见图1,其中,DBR(Dos Boot Record,DOS引导记录)为NTFS卷引导扇区,包含NTFS卷的引导信息。DATA为数据区,包含各种文件、文件夹的数据。MFT为NTFS元数据,用于保存NTFS卷信息、文件、文件夹的属性等重要的信息。NTFS下每个文件都有一个或多个MFT对应。当文件数据很小时,NTFS会将文件数据保存在MFT中。当windows删除一个NTFS下的文件时,主要进行如下的操作:
[0046] (1)标记MFT中某个字节,以表明此文件已经删除,同时释放此MFT空间。
[0047] (2)清除父文件夹中的索引。
[0048] (3)从位图表中释放此文件数据占用的磁盘空间。
[0049] 从上面可以看出,在NTFS文件系统中,windows未清除的用户数据主要包含:文件名、文件时间、文件大小等保存在MFT下的数据,文件数据,包含DATA区域,以及保持在MFT中的文件数据。
[0050] 图2为现有技术中FAT(File Allocation Table,文档分配表)文件系统的结构图。参见图2,其中DBR为FAT卷引导扇区,包含FAT卷的引导信息。ReservedSectors为FAT保留扇区;FAT(s)为FAT表;RootDirectory为根目录,只存在于FAT12/FAT16中;DATA为数据区。当windows删除一个FAT文件时,主要进行如下的操作:
[0051] (1)将文件的目录登记项、长文件名首字节标为E5,以表明此文件释放。
[0052] (2)将文件数据占用的空间从FAT表中清除。
[0053] 从上面可以看出,在FAT文件系统中,windows未清除的用户数据主要包含:文件名,文件时间,文件大小等保存在FAT目录登记项中的数据和文件数据。
[0054] 实施例1
[0055] 为了彻底清理使用痕迹,避免用户隐私的泄露,本发明实施例提供了一种清理文件系统的方法,参见图3,该方法包括:
[0056] 301、根据接收到的清理指令,打开并锁定指定卷;所述清理指令用于指示待清理的指定卷;
[0057] 302、清理所述指定卷的卷空闲空间,并在清理结束后解锁所述指定卷。
[0058] 其中,清理所述指定卷的卷空闲空间,具体包括:
[0059] 清除所述指定卷的卷空闲空间中已删除文件占用的信息。
[0060] 具体地,在NTFS文件系统下,清除所述指定卷的卷空闲空间中已删除文件占用的信息,具体包括:
[0061] 遍历所述指定卷的主文件表,将所述主文件表中已删除文件占用的信息清0;
[0062] 在FAT下文件系统下,清除所述指定卷的卷空闲空间中已删除文件占用的信息,具体包括:
[0063] 遍历所述指定卷的目录登记项,将所述目录登记项中除了0xE5外,其他都清0。
[0064] 具体地,清除所述指定卷的卷空闲空间中已删除文件占用的信息,具体包括:
[0065] 在所述指定卷的卷空闲空间上持续创建临时文件直到失败为止;
[0066] 清除所述创建的临时文件。
[0067] 进一步地,当所述指定卷为系统盘时,所述方法还包括:清理所述指定卷的pagefile.sys。
[0068] 本发明实施例提供的方法,通过在接收到清理指令时,对指定卷的卷空闲空间进行清理,达到彻底清理文件系统中残留的用户隐私的目的,避免用户隐私的泄露,提高文件系统的安全性。
[0069] 实施例2
[0070] 为了彻底清理使用痕迹,避免用户隐私的泄露,本发明实施例提供了一种清理文件系统的方法,参见图4,该方法包括:
[0071] 401、接收清理指令;该清理指令用于指示待清理的指定卷;
[0072] 该清理的指令可以为用户点击触发,也可以是在应用程序操作时每隔预设时间由文件系统触发。
[0073] 402、打开清理指令的指定卷;
[0074] 该指定卷即为待清理的卷,如果卷打开失败,结束。
[0075] 本领域技术人员可以获知,如果卷已经被单独打开,此时,再对卷进行打开操作时,会出现卷打开失败的情况。
[0076] 403、锁定该指定卷;
[0077] 需要说明的是,由于本发明实施例在文件系统上做了改变,因此,在执行后续的删除之前,需要先将卷锁定,以确保没有其他文件操作在该卷上进行,避免破坏文件系统。
[0078] 本领域技术人员可以获知,优选地,对文件所在的卷进行锁定或解锁可以通过使用FSCTL_LOCK_VOLUME/FSCTL_UNLOCK_VOLUME控制码来实现。
[0079] 404、清理指定卷的卷空闲空间;
[0080] 具体地,该步骤404包括:清除指定卷的卷空闲空间中已删除文件占用的信息。该已删除文件占用的信息可能包含用户隐私或用户使用痕迹,为了提高安全性,需对该信息进行清理。
[0081] 在本实施例中,在NTFS文件系统下,已删除文件占用的信息存储于MFT(主文件表)中,清除MFT(主文件表),其中,MFT是这个卷上每一个文件的索引,MFT为每一个文件保存着一组称为“属性”的记录,每个属性存储了不同类型的信息,该信息包括:文件名、文件时间、文件内容等,其中,文件时间包括创建时间、修改时间和最后访问时间。相应地,该步骤404具体包括:遍历该指定卷的主文件表,将该主文件表中已删除文件占用的信息清0;
[0082] 在另一实施例中,在FAT下文件系统下,已删除文件占用的信息存储于目录登记项中,相应地,该步骤404具体包括:遍历该指定卷的目录登记项,将该目录登记项中除了0xE5外,其他都清0。
[0083] 本领域技术人员可以获知,FAT文件系统在删除文件的时候,会将这个文件所对的目录登记项首字节写成0xE5。另外,获知卷空闲空间的方法包括:查询卷的位图表,位图表中标明为空闲的空间为卷空闲空间。其中,位图表用来标识卷的剩余空间。
[0084] 在又一实施例中,该步骤404具体包括:该步骤405具体包括:在该指定卷的卷空闲空间上持续创建临时文件直到失败为止;清除该创建的临时文件。需要注意的是,在FAT32下,最大文件为4G,因此写入失败时并不代表磁盘剩余空间为0。写完后,将临时文件删除即可达到效果。
[0085] 在另一实施例中,该清除隐私的方法还可以在格式化磁盘后进行,需要清理的卷空间主要为磁盘空闲空间。
[0086] 405、解锁指定卷。
[0087] 当清理结束后,可对指定卷进行解锁,以便后续操作。
[0088] 进一步地,当指定卷为系统盘时,该方法还包括:清理pagefile.sys;具体地,设置注册表键值HKLM\SYSTEM\CurrentControlSet\Control\SessionManager\Memory Management\ClearPageFileAtShutdow为1;重启系统,再将键值删除。本领域技术人员可以获知,pagefile.sys即安装过程中创建的虚拟内存页面文件。这个文件的大小是自己系统虚拟内存设置的最小值的大小。假如虚拟内存的设置为800MB-1600MB那么你在自己的设定驱动盘下面就可看到大小为800MB的pagefile.sys文件。
[0089] 需要说明的是,该清理pagefile.sys的过程可以在解锁卷之前进行,也可以在解锁卷之后进行,不受卷锁定的影响。
[0090] 本发明实施例提供的方法,通过在接收到清理指令时,对指定卷的卷空闲空间进行清理,达到彻底清理文件系统中残留的用户隐私的目的,避免用户隐私的泄露,提高文件系统的安全性。
[0091] 实施例3
[0092] 为了彻底清理使用痕迹,避免用户隐私的泄露,本发明实施例提供了一种清理文件系统的装置,参见图5,该装置包括:
[0093] 锁定模块501,用于根据接收到的清理指令,打开并锁定指定卷;所述清理指令用于指示待清理的指定卷;
[0094] 清理模块502,用于清理所述指定卷的卷空闲空间,并在清理结束后解锁所述指定卷。
[0095] 所述清理模块502具体用于清除所述指定卷的卷空闲空间中已删除文件占用的信息。
[0096] 参见图6,在NTFS文件系统下,所述清理模块502包括:
[0097] 第一清理单元502a,用于遍历所述指定卷的主文件表,将所述主文件表中已删除文件占用的信息清0;
[0098] 参见图7,在FAT下文件系统下,所述清理模块包括:
[0099] 第二清理单元502b,用于遍历所述指定卷的目录登记项,将所述目录登记项中除了0xE5外,其他都清0。
[0100] 参见图8,所述清理模块502包括:
[0101] 临时文件创建单元502c,用于在所述指定卷的卷空闲空间上持续创建临时文件直到失败为止;
[0102] 第三清理单元502d,用于清除所述创建的临时文件。
[0103] 参见图9,当所述指定卷为系统盘时,所述清理模块502还包括:
[0104] 第四清理单元502e,用于清理所述指定卷的pagefile.sys。
[0105] 本实施例提供的装置,与方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
[0106] 本发明实施例提供的装置,通过在接收到清理指令时,对指定卷的卷空闲空间进行清理,达到彻底清理文件系统中残留的用户隐私的目的,避免用户隐私的泄露,提高文件系统的安全性。
[0107] 本发明实施例提供的上述技术方案的全部或部分可以通过程序指令相关的硬件来完成,所述程序可以存储在可读取的存储介质中,该存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
[0108] 以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。