一种删除文件的方法及系统与流程

文档序号:11276577阅读:294来源:国知局
一种删除文件的方法及系统与流程

本发明涉及文件删除技术领域,更具体的说,涉及一种删除文件的方法及系统。



背景技术:

通常被删除文件中也会包含一些重要信息,因此为保证被删除文件中数据的安全性,在一些应用场景中,需保证被删除文件中的数据不可再被读取出来,也即,要实现被删除文件中数据的彻底删除。

然而,对于很多文件系统,文件删除的操作仅仅是将文件的元数据或者部分元数据进行删除,而文件的数据部分仍完好的保存在磁盘中,在这种情况下,通过特殊的扫描工具,就可以从磁盘的文件数据位置,直接读取被删除文件包含的数据,从而导致被删除文件中数据的隐私性和安全性受到威胁。



技术实现要素:

有鉴于此,本发明公开一种删除文件的方法及系统,以实现在文件系统中执行删除文件的操作后,被删除文件的元数据和数据能够同时被删除,从而使被删除文件所涉及到的数据块内容无法再被读取,保证被删除文件的安全性和隐私性。

一种删除文件的方法,包括:

当确定待删除文件设置有安全删除标志位时,则将所述待删除文件的文件节点从文件系统的目录树中删除;

查找所述待删除文件的元数据,并删除所述元数据;

将所述待删除文件的相关信息记录到所述文件系统预先设置的一个数据结构中,得到一个已记录数据结构,其中,所述相关信息至少包括:所述待删除文件所在的块设备描述符、文件所属的用户id和用户组id、执行删除操作时的系统时间、以及文件所占用的磁盘扇区;

将所述已记录数据结构传送至设置在文件系统内核的数据覆写模块,由所述数据覆写模块对所述已记录数据结构中记录的磁盘扇区执行清零操作,实现对所述待删除文件的数据的删除。

优选的,在对所述待删除文件的数据删除之后,还包括:

释放已执行清零操作的磁盘扇区;

通过所述数据覆写模块调用所述文件系统的回调函数,将释放的磁盘扇区信息发送给所述文件系统;

根据所述已记录数据结构中记录的用户id和用户组id,更改所述文件系统相应的配额大小。

优选的,所述由所述数据覆写模块对所述已记录数据结构中记录的磁盘扇区执行清零操作,实现对所述待删除文件的数据删除的过程,具体包括:

通过所述数据覆写模块接收所述已记录数据结构;

将所述已记录数据结构插入到第一链表中,其中,所述第一链表用于记录未执行清零操作的已记录数据结构;

判断所述第一链表和第二链表的扇区数目总和是否大于扇区数目阈值,其中,所述第二链表用于记录已执行一次清零操作的已记录数据结构;

若所述扇区数目总和不大于所述扇区数目阈值,则对所述第二链表中所有的磁盘扇区执行清零操作,实现对所述待删除文件的数据的删除;

若所述扇区数目总和大于所述扇区数目阈值,则继续判断所述第一链表的扇区数目是否大于所述扇区数目阈值;

若所述第一链表的扇区数目不大于所述扇区数目阈值,则对所述第二链表中所有的磁盘扇区执行清零操作,实现对所述待删除文件的数据的删除。

优选的,若所述第一链表的扇区数目大于所述扇区数目阈值,则所述方法还包括:

遍历所述第一链表,查找文件删除时间最久的已记录数据结构;

对查找到的文件删除时间最久的已记录数据结构中的磁盘扇区,执行清零操作;

将执行完清零操作的已记录数据结构从所述第一链表移入所述第二链表;

如此反复,直至所述第一链表的扇区数目小于所述扇区数目阈值,对所述第二链表中所有的磁盘扇区执行清零操作,实现对所述待删除文件的数据的删除。

优选的,还包括:

遍历所述第一链表,检测所述第一链表中是否有文件删除周期超过文件删除周期阈值的已记录数据结构,其中,所述文件删除周期指的是从执行文件删除操作开始到文件数据块被清零所需时间;

对文件删除周期超过所述文件删除周期阈值的已记录数据结构,所记录的磁盘扇区执行第一次清零操作;

当对所述第一链表中所有文件删除周期超过所述文件删除周期阈值的已记录数据结构,均执行第一次清零操作后,对所述第二链表中的所有磁盘扇区执行清零操作,实现对所述待删除文件的数据的删除。

优选的,所述将所述已记录数据结构插入到第一链表中具体包括:

当所述第一链表中的磁盘扇区包含有能够与所述已记录数据结构中的磁盘扇区相连的磁盘扇区,并且这两个相连的磁盘扇区所属文件对应的用户和用户组均相同时,对所述第一链表中和所述已记录数据结构中相连的磁盘扇区进行合并,实现将所述已记录数据结构插入到所述第一链表中;

当所述第一链表中的磁盘扇区没有包含有能够与所述已记录数据结构中的磁盘扇区相连的磁盘扇区时,将所述已记录数据结构直接插入到所述第一链表中。

一种删除文件的系统,包括:

删除单元,用于当确定待删除文件设置有安全删除标志位时,则将所述待删除文件的文件节点从文件系统的目录树中删除;

查找单元,用于查找所述待删除文件的元数据,并删除所述元数据;

记录单元,用于将所述待删除文件的相关信息记录到所述文件系统预先设置的一个数据结构中,得到一个已记录数据结构,其中,所述相关信息至少包括:所述待删除文件所在的块设备描述符、文件所属的用户id和用户组id、执行删除操作时的系统时间、以及文件所占用的磁盘扇区;

处理单元,用于将所述已记录数据结构传送至设置在文件系统内核的数据覆写模块,由所述数据覆写模块对所述已记录数据结构中记录的磁盘扇区执行清零操作,实现对所述待删除文件的数据的删除。

优选的,还包括:

释放单元,用于在对所述待删除文件的数据删除之后,释放已执行清零操作的磁盘扇区;

发送单元,用于通过所述数据覆写模块调用所述文件系统的回调函数,将释放的磁盘扇区信息发送给所述文件系统;

更改单元,用于根据所述已记录数据结构中记录的用户id和用户组id,更改所述文件系统相应的配额大小。

优选的,所述处理单元包括:

接收子单元,用于通过所述数据覆写模块接收所述已记录数据结构;

插入子单元,用于将所述已记录数据结构插入到第一链表中,其中,所述第一链表用于记录未执行清零操作的已记录数据结构;

第一判断子单元,用于判断所述第一链表和第二链表的扇区数目总和是否大于扇区数目阈值,其中,所述第二链表用于记录已执行一次清零操作的已记录数据结构;

第一清零子单元,用于在所述第一判断子单元判断为否的情况下,对所述第二链表中所有的磁盘扇区执行清零操作,实现对所述待删除文件的数据的删除;

第二判断子单元,用于在所述第一判断子单元判断为是的情况下,判断所述第一链表的扇区数目是否大于所述扇区数目阈值;

第二清零子单元,用于在所述第二判断子单元判断为否的情况下,对所述第二链表中所有的磁盘扇区执行清零操作,实现对所述待删除文件的数据的删除。

优选的,还包括:

查找子单元,用于在所述第二判断子单元判断为是的情况下,遍历所述第一链表,查找文件删除时间最久的已记录数据结构;

第三清零子单元,用于对查找到的文件删除时间最久的已记录数据结构中的磁盘扇区,执行清零操作;

移动子单元,用于将执行完清零操作的已记录数据结构从所述第一链表移入所述第二链表;

第四清零子单元,用于当所述第一链表的扇区数目小于所述扇区数目阈值时,对所述第二链表中所有的磁盘扇区执行清零操作,实现对所述待删除文件的数据的删除。

优选的,还包括:

检测子单元,用于遍历所述第一链表,检测所述第一链表中是否有文件删除周期超过文件删除周期阈值的已记录数据结构,其中,所述文件删除周期指的是从执行文件删除操作开始到文件数据块被清零所需时间;

第五清零子单元,用于对文件删除周期超过所述文件删除周期阈值的已记录数据结构,所记录的磁盘扇区执行第一次清零操作;

第六清零子单元,用于当对所述第一链表中所有文件删除周期超过所述文件删除周期阈值的已记录数据结构,均执行第一次清零操作后,对所述第二链表中的所有磁盘扇区执行清零操作,实现对所述待删除文件的数据的删除。

优选的,所述插入子单元包括:

合并子单元,用于当所述第一链表中的磁盘扇区包含有能够与所述已记录数据结构中的磁盘扇区相连的磁盘扇区,并且这两个相连的磁盘扇区所属文件对应的用户和用户组均相同时,对所述第一链表中和所述已记录数据结构中相连的磁盘扇区进行合并,实现将所述已记录数据结构插入到所述第一链表中;

直接插入子单元,用于当所述第一链表中的磁盘扇区没有包含有能够与所述已记录数据结构中的磁盘扇区相连的磁盘扇区时,将所述已记录数据结构直接插入到所述第一链表中。

从上述的技术方案可知,本发明公开了一种删除文件的方法及系统,当待删除文件上设置有安全删除标志位时,将待删除文件的文件节点从文件系统的目录树中删除,并将查找到的删除文件的元数据删除,通过将待删除文件的磁盘扇区信息记录到数据结构,将该数据结构传送至设置在文件系统内核的数据覆写模块,由数据覆写模块对待删除文件的磁盘扇区执行清零操作,实现对待删除文件的数据的删除。因此,本发明实现了在文件系统中执行删除文件的操作后,被删除文件的元数据和数据能够同时被删除,从而使被删除文件所涉及到的数据块内容无法再被读取,保证被删除文件的安全性和隐私性。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据公开的附图获得其他的附图。

图1为本发明实施例公开的一种删除文件的方法流程图;

图2为本发明实施例公开的一种由数据覆写模块对已记录数据结构中记录的磁盘扇区执行清零操作,实现对待删除文件的数据删除的方法流程图;

图3为本发明实施例公开的一种删除文件的系统的结构示意图;

图4为本发明实施例公开的一种处理单元的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明实施例公开了一种删除文件的方法及系统,以实现在文件系统中执行删除文件的操作后,被删除文件的元数据和数据能够同时被删除,从而使被删除文件所涉及到的数据块内容无法再被读取,保证被删除文件的安全性和隐私性。

其中,本发明所公开的删除文件的方法主要包括两部分,一个是对文件系统本身的改进,一个是在系统内核增加一个数据覆写模块。为满足安全删除文件的要求,本发明在文件系统中还增加了一个数据结构(file_desp_data),该数据结构描述了一个文件所在块设备描述符、用户id(可简称为uid)、用户组id(可简称为gid)、文件的删除时间以及文件所占用的磁盘扇区。

具体参见图1,本发明一实施例公开的一种删除文件的方法流程图,该删除文件方法适用于linux操作系统的文件系统,尤其适用于xfs文件系统的文件删除管理,该方法包括步骤:

步骤s101、当确定待删除文件设置有安全删除标志位时,则将所述待删除文件的文件节点从文件系统的目录树中删除;

具体的,在执行文件的删除命令或调用文件的删除接口之前,首先设置待删除文件属性的安全删除标志位,文件系统在删除文件时,首先检测待删除文件是否设置有安全删除标志位,若待删除文件没有设置安全删除标志位,则执行传统的删除操作,也即,将待删除文件的文件节点从文件系统的目录树中删除,同时将待删除文件的元数据所占用的磁盘空间标记为空,归还给空闲链表,并更改文件系统响应的配额大小;若待删除文件设置有安全删除标志位,则执行本发明公开的删除文件的方法。

步骤s102、查找所述待删除文件的元数据,并删除所述元数据;

本步骤中的元数据指的是文件系统中描述一个文件的名称、大小、创建时间等内容的数据,同时元数据还会记录该文件所占用的磁盘数据块的位置。

步骤s103、将所述待删除文件的相关信息记录到所述文件系统预先设置的一个数据结构中,得到一个已记录数据结构;

其中,所述相关信息至少包括:所述待删除文件所在的块设备描述符、文件所属的用户id和用户组id、执行删除操作时的系统时间、以及文件所占用的磁盘扇区。

相比传统方案而言,本发明在文件系统中增加了一个数据结构,该数据结构用于描述一个文件所在的块设备描述符、文件所属的用户id和用户组id、执行删除操作时的系统时间、以及文件所占用的磁盘扇区,以为后续删除待删除文件的数据做准备。

步骤s104、将所述已记录数据结构传送至设置在文件系统内核的数据覆写模块,由所述数据覆写模块对所述已记录数据结构中记录的磁盘扇区执行清零操作,实现对所述待删除文件的数据的删除。

其中,待删除文件的数据指的是实际存放文件内容的磁盘数据块,文件内容所占用的磁盘数据块位置在文件的元数据中的指定。

综上可知,本发明公开的删除文件的方法,实现了在文件系统中执行删除文件的操作后,被删除文件的元数据和数据能够同时被删除,从而使被删除文件所涉及到的数据块内容无法再被读取,保证被删除文件的安全性和隐私性。

需要说明的是,本发明公开的删除文件的方法,对于用户而言是透明的,安全删除在磁盘扇区的所执行的清零操作是异步进行的,用户感知不到所进行的安全操作和传统删除操作的不同,从而提高用户的体验。

基于上述论述可知,数据覆写模块的主要功能是对待删除文件的磁盘扇区执行清零操作。为保证待删除文件被删除后,其数据不可再被读取,本发明将清零操作的次数定为两次,因此在守护进程中定义了一个链表,第一链表(list1)和第二链表(list2),第一链表用于记录未执行清零操作的已记录数据结构,也即,刚刚发送至数据覆写模块的已记录数据结构;第二链表用于记录已执行一次清零操作的已记录数据结构。

为进一步优化上述实施例,参见图2,本发明一实施例公开的一种由数据覆写模块对已记录数据结构中记录的磁盘扇区执行清零操作,实现对待删除文件的数据删除的方法流程图,包括步骤:

步骤s201、通过数据覆写模块接收已记录数据结构;

其中,本步骤中已记录数据结构指的是:已记录待删除文件的相关信息的数据结构。

步骤s202、将所述已记录数据结构插入到第一链表中;

具体的,当数据覆写模块接收到已记录数据结构时,并不是立即对磁盘扇区执行清零操作,而是遍历第一链表,查找第一链表中的磁盘扇区是否有能够与已记录数据结构中的磁盘扇区相连的磁盘扇区,当第一链表中的磁盘扇区包含有能够与所述已记录数据结构中的磁盘扇区相连的磁盘扇区,并且这两个相连的磁盘扇区所属文件对应的用户和用户组均相同时,对所述第一链表中和所述已记录数据结构中相连的磁盘扇区进行合并,实现将所述已记录数据结构插入到所述第一链表中;

当所述第一链表中的磁盘扇区没有包含有能够与所述已记录数据结构中的磁盘扇区相连的磁盘扇区时,将所述已记录数据结构直接插入到所述第一链表中。

步骤s203、判断所述第一链表和第二链表的扇区数目总和是否大于扇区数目阈值,如果否,则执行步骤s209,否则,执行步骤s204;

步骤s204、判断所述第一链表的扇区数目是否大于所述扇区数目阈值,如果否,则执行步骤s209,如果是,则执行步骤s205;

步骤s205、遍历所述第一链表,查找文件删除时间最久的已记录数据结构;

具体的,在实际中,可以将第一链表中所有文件的删除时间按照从大到小的顺序进行排序,排名靠前的文件,表明该文件的删除时间越久。

步骤s206、对查找到的文件删除时间最久的已记录数据结构中的磁盘扇区,执行清零操作;

步骤s207、将执行完清零操作的已记录数据结构从所述第一链表移入所述第二链表;

步骤s208、判断第一链表的扇区数目是否小于所述扇区数目阈值,如果否,则返回执行步骤s205,否则继续执行步骤s209;

步骤s209、对所述第二链表中所有的磁盘扇区执行清零操作,实现对所述待删除文件的数据的删除。

需要说明的是,在对第二链表中所有的磁盘扇区执行清零操作之后,还会释放已执行清零操作的磁盘扇区。

因此,为进一步优化上述实施例,在步骤s104对待删除文件的数据删除之后,还包括:

释放已执行清零操作的磁盘扇区;

通过所述数据覆写模块调用所述文件系统的回调函数,将释放的磁盘扇区信息发送给所述文件系统;

根据所述已记录数据结构中记录的用户id和用户组id,更改所述文件系统相应的配额大小。

其中,在实际应用中,本发明对文件系统的用户和用户组的配额是透明后,在文件安全删除完成以后,通过文件的用户id和用户组id,改变相应的配额大小,以保证配额的准确性。

需要说明的是,本发明公开的数据覆写模块在执行清零操作时有两个判断条件,一个判断条件是第一链表和第二链表扇区数目总和是否大于扇区数目阈值,也即图2所示实施例,另一判断条件是第一链表中是否包含有文件删除周期超过文件删除周期阈值的已记录数据结构,其中,文件删除周期指的是从执行文件删除操作开始到文件数据块被清零所需时间。

因此,基于第二个判断条件,上述实施例还可以包括:

遍历第一链表,检测所述第一链表中是否有文件删除周期超过文件删除周期阈值的已记录数据结构;

具体的,在实际应用中,可以将第一链表中所有文件的删除周期按照从大到小的顺序进行排序,然后,通过将各文件的删除周期与文件删除周期阈值进行比较,确定第一链表中文件删除周期超过文件删除周期阈值的已记录数据结构。

对文件删除周期超过所述文件删除周期阈值的已记录数据结构,所记录的磁盘扇区执行第一次清零操作;

当对所述第一链表中所有文件删除周期超过所述文件删除周期阈值的已记录数据结构,均执行第一次清零操作后,对所述第二链表中的所有磁盘扇区执行清零操作,实现对所述待删除文件的数据的删除。

需要说明的是,在对第二链表中所有磁盘扇区执行清零操作之后,还需释放执行清零操作的磁盘扇区。

可以理解的是,第一链表中的已记录数据结构并不是固定不变的,因此,基于第二个判断的操作步骤,可以每隔预设时间(如60s)执行一次。

综上可知,本发明公开的删除文件的方法,实现了在文件系统中执行删除文件的操作后,被删除文件的元数据和数据能够同时被删除,从而使被删除文件所涉及到的数据块内容无法再被读取,保证被删除文件的安全性和隐私性。

与上述方法实施例相对应,本发明还公开了一种删除文件的系统。

参见图3,本发明一实施例公开的一种删除文件的系统的结构示意图,该系统包括:

删除单元301,用于当确定待删除文件设置有安全删除标志位时,则将所述待删除文件的文件节点从文件系统的目录树中删除;

具体的,在执行文件的删除命令或调用文件的删除接口之前,首先设置待删除文件属性的安全删除标志位,文件系统在删除文件时,首先检测待删除文件是否设置有安全删除标志位,若待删除文件没有设置安全删除标志位,则执行传统的删除操作,也即,将待删除文件的文件节点从文件系统的目录树中删除,同时将待删除文件的元数据所占用的磁盘空间标记为空,归还给空闲链表,并更改文件系统响应的配额大小;若待删除文件设置有安全删除标志位,则执行本发明公开的删除文件的方法。

查找单元302,用于查找所述待删除文件的元数据,并删除所述元数据;

其中,元数据指的是文件系统中描述一个文件的名称、大小、创建时间等内容的数据,同时元数据还会记录该文件所占用的磁盘数据块的位置。

记录单元303,用于将所述待删除文件的相关信息记录到所述文件系统预先设置的一个数据结构中,得到一个已记录数据结构,其中,所述相关信息至少包括:所述待删除文件所在的块设备描述符、文件所属的用户id和用户组id、执行删除操作时的系统时间、以及文件所占用的磁盘扇区;

处理单元304,用于将所述已记录数据结构传送至设置在文件系统内核的数据覆写模块,由所述数据覆写模块对所述已记录数据结构中记录的磁盘扇区执行清零操作,实现对所述待删除文件的数据的删除。

其中,待删除文件的数据指的是实际存放文件内容的磁盘数据块,文件内容所占用的磁盘数据块位置在文件的元数据中的指定。

综上可知,本发明公开的删除文件的系统,实现了在文件系统中执行删除文件的操作后,被删除文件的元数据和数据能够同时被删除,从而使被删除文件所涉及到的数据块内容无法再被读取,保证被删除文件的安全性和隐私性。

基于上述论述可知,数据覆写模块的主要功能是对待删除文件的磁盘扇区执行清零操作。为保证待删除文件被删除后,其数据不可再被读取,本发明将清零操作的次数定为两次,因此在守护进程中定义了一个链表,第一链表(list1)和第二链表(list2),第一链表用于记录未执行清零操作的已记录数据结构,也即,刚刚发送至数据覆写模块的已记录数据结构;第二链表用于记录已执行一次清零操作的已记录数据结构。

为进一步优化上述实施例,参见图4,本发明一实施例公开的一种处理单元的结构示意图,包括:

接收子单元401,用于通过所述数据覆写模块接收所述已记录数据结构;

已记录数据结构指的是:已记录待删除文件的相关信息的数据结构。

插入子单元402,用于将所述已记录数据结构插入到第一链表中,其中,所述第一链表用于记录未执行清零操作的已记录数据结构;

具体的,当数据覆写模块接收到已记录数据结构时,并不是立即对磁盘扇区执行清零操作,而是遍历第一链表,查找第一链表中的磁盘扇区是否有能够与已记录数据结构中的磁盘扇区相连的磁盘扇区,当第一链表中的磁盘扇区包含有能够与所述已记录数据结构中的磁盘扇区相连的磁盘扇区,并且这两个相连的磁盘扇区所属文件对应的用户和用户组均相同时,对所述第一链表中和所述已记录数据结构中相连的磁盘扇区进行合并,实现将所述已记录数据结构插入到所述第一链表中;

当所述第一链表中的磁盘扇区没有包含有能够与所述已记录数据结构中的磁盘扇区相连的磁盘扇区时,将所述已记录数据结构直接插入到所述第一链表中。

因此,插入子单元具体包括:

合并子单元,用于当所述第一链表中的磁盘扇区包含有能够与所述已记录数据结构中的磁盘扇区相连的磁盘扇区,并且这两个相连的磁盘扇区所属文件对应的用户和用户组均相同时,对所述第一链表中和所述已记录数据结构中相连的磁盘扇区进行合并,实现将所述已记录数据结构插入到所述第一链表中;

直接插入子单元,用于当所述第一链表中的磁盘扇区没有包含有能够与所述已记录数据结构中的磁盘扇区相连的磁盘扇区时,将所述已记录数据结构直接插入到所述第一链表中。

第一判断子单元403,用于判断所述第一链表和第二链表的扇区数目总和是否大于扇区数目阈值,其中,所述第二链表用于记录已执行一次清零操作的已记录数据结构;

第一清零子单元404,用于在所述第一判断子单元403判断为否的情况下,对所述第二链表中所有的磁盘扇区执行清零操作,实现对所述待删除文件的数据的删除;

第二判断子单元405,用于在所述第一判断子单元403判断为是的情况下,判断所述第一链表的扇区数目是否大于所述扇区数目阈值;

第二清零子单元406,用于在所述第二判断子单元405判断为否的情况下,对所述第二链表中所有的磁盘扇区执行清零操作,实现对所述待删除文件的数据的删除。

查找子单元407,用于在所述第二判断子单元405判断为是的情况下,遍历所述第一链表,查找文件删除时间最久的已记录数据结构;

第三清零子单元408,用于对查找到的文件删除时间最久的已记录数据结构中的磁盘扇区,执行清零操作;

移动子单元409,用于将执行完清零操作的已记录数据结构从所述第一链表移入所述第二链表;

第四清零子单元410,用于当所述第一链表的扇区数目小于所述扇区数目阈值时,对所述第二链表中所有的磁盘扇区执行清零操作,实现对所述待删除文件的数据的删除。

需要说明的是,在对第二链表中所有的磁盘扇区执行清零操作之后,还会释放已执行清零操作的磁盘扇区。

因此,为进一步优化上述实施例,删除文件的系统还包括:

释放单元,用于在对所述待删除文件的数据删除之后,释放已执行清零操作的磁盘扇区;

发送单元,用于通过所述数据覆写模块调用所述文件系统的回调函数,将释放的磁盘扇区信息发送给所述文件系统;

更改单元,用于根据所述已记录数据结构中记录的用户id和用户组id,更改所述文件系统相应的配额大小。

其中,在实际应用中,本发明对文件系统的用户和用户组的配额是透明后,在文件安全删除完成以后,通过文件的用户id和用户组id,改变相应的配额大小,以保证配额的准确性。

需要说明的是,本发明公开的数据覆写模块在执行清零操作时有两个判断条件,一个判断条件是第一链表和第二链表扇区数目总和是否大于扇区数目阈值,也即图4所示实施例,另一判断条件是第一链表中是否包含有文件删除周期超过文件删除周期阈值的已记录数据结构,其中,文件删除周期指的是从执行文件删除操作开始到文件数据块被清零所需时间。

因此,基于第二个判断条件,上述实施例还可以包括:

检测子单元,用于遍历所述第一链表,检测所述第一链表中是否有文件删除周期超过文件删除周期阈值的已记录数据结构,其中,所述文件删除周期指的是从执行文件删除操作开始到文件数据块被清零所需时间;

具体的,在实际应用中,可以将第一链表中所有文件的删除周期按照从大到小的顺序进行排序,然后,通过将各文件的删除周期与文件删除周期阈值进行比较,确定第一链表中文件删除周期超过文件删除周期阈值的已记录数据结构。

第五清零子单元,用于对文件删除周期超过所述文件删除周期阈值的已记录数据结构,所记录的磁盘扇区执行第一次清零操作;

第六清零子单元,用于当对所述第一链表中所有文件删除周期超过所述文件删除周期阈值的已记录数据结构,均执行第一次清零操作后,对所述第二链表中的所有磁盘扇区执行清零操作,实现对所述待删除文件的数据的删除。

需要说明的是,在对第二链表中所有磁盘扇区执行清零操作之后,还需释放执行清零操作的磁盘扇区。

可以理解的是,第一链表中的已记录数据结构并不是固定不变的,因此,基于第二个判断的操作步骤,可以每隔预设时间(如60s)执行一次。

综上可知,本发明公开的删除文件的系统,实现了在文件系统中执行删除文件的操作后,被删除文件的元数据和数据能够同时被删除,从而使被删除文件所涉及到的数据块内容无法再被读取,保证被删除文件的安全性和隐私性。

需要说明的是,系统实施例中,各组成部分的具体工作原理,请参见方法实施例对应部分,此处不再赘述。

最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1