一种文件管理方法、过期文件删除方法及装置与流程

文档序号:16146749发布日期:2018-12-05 16:33阅读:330来源:国知局
一种文件管理方法、过期文件删除方法及装置与流程

本发明涉及云存储技术领域,特别是涉及一种文件管理方法、过期文件删除方法及装置。

背景技术

云存储系统是一个以数据存储和管理为核心的云计算系统。当前,许多类型的数据通常都不需要永久存储在云存储系统中,因此,这些类型的数据一般都对应一个有效期,这样,一旦数据过期,则可以删除数据,从而释放存储资源。举例而言,视频监控类数据中的每个视频文件都对应一个有效期(通常为几天),假设为7天,对于距离创建时间超过7天的过期视频文件需要及时删除,以防止数据堆积,占用大量的存储资源。

由于各个用户申请的云存储空间有限,各个用户需要删除已上传至云存储系统的过期文件从而释放云存储空间。现有技术中,一般由用户对每天上传的文件进行统计记录,然后根据记录的文件上传日期以及对应的有效期等属性信息,定期删除过期的文件。可以看出,应用上述方法,用户需要记录上传的所有文件的属性信息,对于某些业务,如视频监控,每天会产生数亿个甚至数十亿个视频文件,使得用户需要记录的文件数量将非常庞大,而且从这些文件中确定出过期文件也比较繁杂,使得用户负担过重且过期文件删除的效率较低。



技术实现要素:

本发明实施例的目的在于提供一种文件管理方法、过期文件删除方法及装置,以降低用户负担,提高过期文件删除效率。具体技术方案如下:

第一方面,本发明实施例提供了一种文件管理方法,方法包括:

获得云存储系统所存储的文件的元信息,所述元信息中至少包括文件创建时间、用户id和文件名称,所述文件创建时间属于精确到预定时间精度的时间;

将所述元信息保存至第一数据表中,所述第一数据表设置有主键,所述主键包括第一目标列和第二目标列,所述第一目标列用于存储文件创建时间,所述第二目标列用于存储文件标识,所述文件标识基于所述用户id和文件名称所确定;

以先按照第一目标列排序再按照第二目标列排序的数据排列顺序,对当前的第一数据表进行排序。

可选的,该方法还包括:

当获得文件更新指令时,确定所述文件更新指令所对应的目标文件和更新类型,根据所述更新类型,更新所述第一数据表中的所述目标文件的文件信息。

可选的,所述文件创建时间属于精确到天的时间。

可选的,所述文件标识为用户id和文件名称所构成的字符串。

第二方面,本发明实施例提供了一种过期文件删除方法,方法包括:

加载目标用户设置的预设过期规则;其中,所述预设过期规则的内容至少包括有效期,所述有效期属于精确到预定时间精度的时间,所述预设过期规则所针对的文件为按照上述文件管理方法所管理的文件;

按照以预定时间精度递增的方式扫描第一数据表,得到所述第一数据表中符合第一预定条件的目标文件标识;其中,所述第一预定条件至少包括:所对应文件创建时间与当前时间的时间差值不小于所述有效期且基于所述目标用户的用户id所确定;

将所述目标文件标识发送至分布式存储集群,以使所述分布式存储集群删除所存储的所述目标文件标识所对应的文件。

可选的,所述按照以预定时间精度递增的方式扫描第一数据表,得到所述第一数据表中符合第一预定条件的目标文件标识的步骤,包括:

确定所述预设过期规则所对应的起始文件标识;

以所述起始文件标识为扫描起点,按照以预定时间精度递增的方式扫描第一数据表,得到所述第一数据表中符合第一预定条件的目标文件标识。

可选的,所述确定所述预设过期规则所对应的起始文件标识的步骤,包括:

将所述第一数据表中第一个文件标识确定为所述预设过期规则所对应的起始文件标识。

可选的,所述确定所述预设过期规则所对应的起始文件标识的步骤,包括:

从第二数据表中读取所述预设过期规则所对应的参考标识的数据内容,判断所读取到的数据内容是否为空;其中,所述第二数据表中存储有所述参考标识;所述参考标识为用于表征所述第一数据表中第一文件标识的下一文件标识的标识,所述第一文件标识为:每次确定出的所有过期文件所对应的文件标识中,按照所述第一数据表中的数据排列顺序进行排列后的最后一个文件标识;

若否,将所读取到的数据内容确定为所述预设过期规则所对应的起始文件标识;

若是,将所述第一数据表中第一个文件标识确定为所述预设过期规则所对应的起始文件标识。

可选的,在将所述目标文件标识发送至分布式存储集群之后,所述方法还包括:

从所述第一数据表中确定当前的第一文件标识;

以所述第一数据表中当前的第一文件标识的下一文件标识,更新所述第二数据表中记录的所述预设过期规则对应的参考标识的数据内容。

可选的,所述以所述起始文件标识为扫描起点,按照以预定时间精度递增的方式扫描第一数据表,得到所述第一数据表中符合第一预定条件的目标文件标识的步骤,包括:

确定所述起始文件标识对应的目标文件创建时间;

判断当前时间与所述目标文件创建时间的时间差值是否不小于所述预设过期规则设置的有效期;

若是,从所述起始文件标识开始,利用所述第一数据表中主键对应的索引,获得所述第一数据表中的符合所述第一预定条件、且所对应文件创建时间为所述目标文件创建时间的目标文件标识;

将所述目标文件创建时间增加所述预定时间精度对应的时间单位值,得到新的目标文件创建时间,并返回判断当前时间与所述目标文件创建时间的时间差值是否不小于所述预设过期规则设置的有效期的步骤。

可选的,所述将所述目标文件标识发送至分布式存储集群的步骤,包括:

每当获得所述第一数据表中的符合所述第一预定条件、且所对应文件创建时间为所述目标文件创建时间的目标文件标识之后,将当前所获得的目标文件标识发送给用于存储文件的分布式存储集群。

可选的,所述预设过期规则的内容还包括:预设文件名前缀;

所述第一预定条件还包括:与所述预设文件名前缀相匹配。

第三方面,本发明实施例还提供了一种文件管理装置,装置包括:

获得模块,用于获得云存储系统所存储的文件的元信息,所述元信息中至少包括文件创建时间、用户id和文件名称,所述文件创建时间属于精确到预定时间精度的时间;

保存模块,用于将所述元信息保存至第一数据表中,所述第一数据表设置有主键,所述主键包括第一目标列和第二目标列,所述第一目标列用于存储文件创建时间,所述第二目标列用于存储文件标识,所述文件标识基于所述用户id和文件名称所确定;

排序模块,用于以先按照第一目标列排序再按照第二目标列排序的数据排列顺序,对当前的第一数据表进行排序。

可选的,该装置还包括:

第一确定模块,用于当获得文件更新指令时,确定所述文件更新指令所对应的目标文件和更新类型,根据所述更新类型,更新所述第一数据表中的所述目标文件的文件信息。

可选的,所述文件创建时间属于精确到天的时间。

可选的,所述文件标识为用户id和文件名称所构成的字符串。

第四方面,本发明实施例还提供了一种过期文件删除装置,该装置包括:

加载模块,用于加载目标用户设置的预设过期规则;其中,所述预设过期规则的内容至少包括有效期,所述有效期属于精确到预定时间精度的时间,所述预设过期规则所针对的文件为按照上述文件管理方法所管理的文件;

扫描模块,用于按照以预定时间精度递增的方式扫描第一数据表,得到所述第一数据表中符合第一预定条件的目标文件标识;其中,所述第一预定条件至少包括:所对应文件创建时间与当前时间的时间差值不小于所述有效期且基于所述目标用户的用户id所确定;

发送模块,用于将所述目标文件标识发送至分布式存储集群,以使所述分布式存储集群删除所存储的所述目标文件标识所对应的文件。

可选的,所述扫描模块,包括:

确定子模块,用于确定所述预设过期规则所对应的起始文件标识;

扫描子模块,用于以所述起始文件标识为扫描起点,按照以预定时间精度递增的方式扫描第一数据表,得到所述第一数据表中符合第一预定条件的目标文件标识。

可选的,所述确定子模块,包括:

第一确定单元,用于将所述第一数据表中第一个文件标识确定为所述预设过期规则所对应的起始文件标识。

可选的,所述确定子模块,包括:

第一判断单元,用于从第二数据表中读取所述预设过期规则所对应的参考标识的数据内容,判断所读取到的数据内容是否为空;其中,所述第二数据表中存储有所述参考标识;所述参考标识为用于表征所述第一数据表中第一文件标识的下一文件标识的标识,所述第一文件标识为:每次确定出的所有过期文件所对应的文件标识中,按照所述第一数据表中的数据排列顺序进行排列后的最后一个文件标识;

第二确定单元,用于在所述判断单元的判断结果为否时,将所读取到的数据内容确定为所述预设过期规则所对应的起始文件标识;

第三确定单元,用于在所述判断单元的判断结果为是时,将所述第一数据表中第一个文件标识确定为所述预设过期规则所对应的起始文件标识。

可选的,该装置还包括:

第二确定模块,用于在将所述目标文件标识发送至分布式存储集群之后,从所述第一数据表中确定当前的第一文件标识;

更新模块,用于以所述第一数据表中当前的第一文件标识的下一文件标识,更新所述第二数据表中记录的所述预设过期规则对应的参考标识的数据内容。

可选的,所述扫描子模块,包括:

第四确定单元,用于确定所述起始文件标识对应的目标文件创建时间;

第二判断单元,用于判断当前时间与所述目标文件创建时间的时间差值是否不小于所述预设过期规则设置的有效期;

获得单元,用于在所述第二判断单元的判断结果为是时,从所述起始文件标识开始,利用所述第一数据表中主键对应的索引,获得所述第一数据表中的符合所述第一预定条件、且所对应文件创建时间为所述目标文件创建时间的目标文件标识;

返回单元,用于将所述目标文件创建时间增加所述预定时间精度对应的时间单位值,得到新的目标文件创建时间,并返回判断当前时间与所述目标文件创建时间的时间差值是否不小于所述预设过期规则设置的有效期的步骤。

可选的,所述发送模块,包括:

发送单元,用于每当获得所述第一数据表中的符合所述第一预定条件、且所对应文件创建时间为所述目标文件创建时间的目标文件标识之后,将当前所获得的目标文件标识发送给用于存储文件的分布式存储集群。

可选的,所述预设过期规则的内容还包括:预设文件名前缀;

所述第一预定条件还包括:与所述预设文件名前缀相匹配。

第五方面,本发明实施例还提供了一种电子设备,该电子设备包括:处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;

存储器,用于存放计算机程序;

处理器,用于执行存储器上所存放的程序时,实现本发明实施例所提供的文件管理方法的步骤。

第六方面,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现本发明实施例所提供的文件管理方法的步骤。

第七方面,本发明实施例还提供了一种电子设备,所述电子设备包括:处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;

存储器,用于存放计算机程序;

处理器,用于执行存储器上所存放的程序时,实现本发明实施例所提供的过期文件删除方法的步骤。

第八方面,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现本发明实施例所提供的过期文件删除方法的步骤。

本发明实施例所提供的文件管理方法中,利用设置有主键的第一数据表,对云存储系统所存储的文件的元信息进行存储,该主键包括第一目标列和第二目标列,该第一目标列用于存储文件创建时间,该第二目标列用于存储文件标识,该文件标识基于所述用户id和文件名称所确定;进而,以先按照第一目标列排序再按照第二目标列排序的数据排列顺序,对当前的第一数据表进行排序。通过该文件管理方法,关于同一用户的同一创建时间的文件的文件信息,可以在数据库中物理聚合,从而为过期文件的确定提供了较好的存储基础。

本发明实施例所提供的过期文件删除方法中,当需要删除过期文件时,加载用户设置的预设过期规则,该预设过期规则所针对的文件按照上述的文件管理方法所管理,并且,按照以预定时间精度递增的方式扫描第一数据表,将扫描确定出的过期文件的文件标识发送给分布式集群系统以删除过期文件。相对于现有技术,用户仅仅需要设置过期规则,过期文件的确定和删除无需用户手动参与,另外,由于文件信息具有较高的聚合性且按照以预定时间精度递增的方式扫描第一数据表,使得过期文件的确定效率较高,因此,通过本方案,降低了用户的负担,提高了过期文件删除效率。

附图说明

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

图1为本发明实施例提供的文件管理方法的一种流程示意图;

图2为本发明实施例提供的过期文件删除方法的一种流程示意图;

图3为基于图2所示发明实施例的一种具体实现的系统架构图;

图4为本发明实施例提供的文件管理装置的一种结构示意图;

图5为本发明实施例提供的过期文件删除装置的一种结构示意图;

图6为本发明实施例提供的一种电子设备的结构示意图;

图7为本发明实施例提供的另一种电子设备的结构示意图。

具体实施方式

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

为降低用户负担,提高过期文件删除效率,本发明实施例提供了一种文件管理方法、过期文件删除方法及装置。

下面首先对本发明实施例提供的一种文件管理方法进行介绍。

需要说明的是,本发明实施例提供的文件管理方法的执行主体,可以为一种文件管理装置,具体的,该文件管理装置可以位于云存储系统中现有的一个存储节点或管理节点中,当然,还可以为位于云存储系统中新增的一个节点等,此处不作限定。

参见图1所示,本发明实施例提供的一种文件管理方法,包括如下步骤:

s101,获得云存储系统所存储的文件的元信息。

其中,该元信息中至少包括文件创建时间、用户id和文件名称,文件创建时间属于精确到预定时间精度的时间。

可以理解的是,文件创建时间是指文件被上传到云存储系统的时间,本发明实施例对具体的文件上传方式不做限定。例如:文件可以是由云存储系统的用户手动上传来进行存储的;也可以是由云存储系统的用户所管理的设备上传来进行存储的,例如,可以设置视频监控设备周期性地将视频监控文件上传到所属用户的云存储空间。

每一个被上传到云存储系统的文件,其元信息都存储于该云存储系统中。具体的获得该云存储系统所存储的文件的元信息的方式可以根据用户需求设定,例如,可以为:直接从该元存储系统中下载文件的元信息。可以理解的是,元信息除了包括文件创建时间、用户id和文件名称以外,还可以包含其他信息,本发明实施例对元信息可以包含的其他信息不做限定。例如,文件大小、文件格式等等,其中,文件格式(或文件类型)是指电脑为了存储信息而使用的对信息的特殊编码方式,是用于识别内部储存的资料,例如exe(可执行文件)、db(数据库文件)、avi(视频文件)等等。

实际应用中,预定时间精度可以根据用户需求进行设定,本发明实施例对此不做限定。例如,预定时间精度可以为:月、天、小时等等。可以理解的是,时间精度越高,元信息的文件创建时间会越精确,存储的元信息更准确,但是,相应的,系统也就越复杂,成本费用也会相应地增加,因此,为了合理的协调准确度与成本费用,在一种具体的实施方式中,预定时间精度可以为:天,即文件创建时间属于精确到天的时间。

s102,将该元信息保存至第一数据表中。

其中,第一数据表设置有主键,该主键包括第一目标列和第二目标列,该第一目标列用于存储文件创建时间,该第二目标列用于存储文件标识,该文件标识基于用户id和文件名称所确定。

主键,也称为主关键字(primarykey),是第一数据表中的一列或多个列组合,它的值用于唯一地标识第一数据表中的某一条记录。主键是一种唯一性索引,通过在第一数据表中设置主键,可以加快对第一数据表的操作速度,例如,加快在第一数据表中查找、更新、删除元信息的速度。

由于主键包括第一目标列和第二目标列,因此,可以快速的通过第一目标列的列值(文件创建时间)即以及第二目标列的列值(文件标识),定位到某个元信息,例如,第一数据表中存储有元信息a的记录,该条记录中的文件创建时间为2017.05.30,文件标识为m,则当输入的主键值为:文件创建时间为2017.05.30,文件标识为m时,可以快速的定位到元信息a的记录,从而可以加快对该元信息a的操作速度。

本发明实施例对第一目标列和第二目标列列名不做限定。例如,第一列和第二列的列名可以分别为:createday和fileid,也可以分别称为:文件创建时间和文件标识,也可以为其他不会引起歧义的合理名称。

需要说明的是,在云存储系统中,一般会有多个用户,针对一个用户来说,该用户存储的文件名都是不重复的,对于云存储系统中用户存储的每一个文件来说,用户标识信息结合文件名便可以唯一标识该文件。因此,在本发明实施例的一种具体实现方式中,文件标识可以为:基于用户id和文件名称所确定。

较佳的,为了简化文件标识的生成方式,文件标识可以为:用户id和文件名称所构成的字符串。实际应用中,用户也可以设计其他生成文件标识的方式,例如,文件标识也可以为:用户id和文件名按照一定规则组合或者变换后得到的字符串,其中,关于按照何种规则进行拼接、组合或者变换,此处不作限定。

需要说明的是,第一数据表可以是创建于nosql数据库中的某个数据表,该数据表用于存储元信息。nosql数据库,即非关系型数据库,常见的nosql数据库包括:hbase数据库、redis数据库、riak数据库等等。本发明实施例对具体使用的nosql数据库不做限定。例如,由于hbase数据库是目前安全特性最完善的nosql数据库产品之一,而其他的nosql数据库多数没有提供内建的安全机制,因此,实际应用中,可以选择在hbase数据库中创建第一数据表,并将该元信息保存至该第一数据表中。

s103,以先按照第一目标列排序再按照第二目标列排序的数据排列顺序,对当前的第一数据表进行排序。

可以理解的是,对当前的第一数据表的排序即为对该第一数据表当前记录的文件的元信息的排序。

具体的,先按照第一目标列排序再按照第二目标列排序的数据排列顺序,对当前的第一数据表进行排序,可以为:先按照第一目标列升序排序,再按照第二目标列排序。其中,第二目标列可以是按照字典排序方法进行排序,字典排序方法是:按照字母顺序,或者数字小大顺序,由小到大的形成序列,例如,第二目标列中的列值依次为:dog,dear,eye,bed,则按照字典排序方法进行排序后依次为:bed,dear,dog,eye。当然,第二目标列可以不局限于字典排序方法。

由于第一目标列用于存储文件创建时间,该第二目标列用于存储文件标识,该文件标识基于用户id和文件名称所确定。因此,第一数据表中,针对每一个用户,该用户每天或者每小时上传的文件名称相近的文件,将被物理聚合在一起,以便后续进行扫描和确定目标文件标识时,不会扫描其他无效的数据,扫描效率极高。

可见,应用本发明实施例提供的文件管理方法,关于同一用户的同一创建时间的文件的文件信息,可以在数据库中物理聚合,从而为过期文件的确定提供了较好的存储基础。

为了更好的实现对文件的管理,实际应用中,该方法还可以包括:

当获得文件更新指令时,确定文件更新指令所对应的目标文件和更新类型,根据该更新类型,更新该第一数据表中的该目标文件的文件信息。其中,该文件更新指令可以为用于存储目标文件的分布式存储集群所发送的,也可以为云存储系统中的管理节点所发送的,并且,该文件更新指令中可以携带有能够唯一确定出该目标文件的元信息,进而可以通过该文件更新指令确定出待处理的目标文件。

具体的,更新类型可以包括:删除、修改、增加等类型。

例如,当确定文件更新指令所对应的目标文件为:a,更新类型为:删除时,则更新该第一数据表中的该目标文件的文件信息为:将该第一数据表中的文件a的文件信息删除。

为了降低用户负担,提高过期文件删除效率,基于上述的文件管理方法,本发明实施例还提供了一种过期文件删除方法,下面对本发明实施例提供的一种过期文件删除方法进行介绍。

需要说明的是,本发明实施例提供的过期文件删除方法的执行主体,可以为一种过期文件删除装置,该过期文件删除装置可以位于云存储系统中现有的一个服务节点或管理节点,当然,还可以位于云存储系统中新增的一个节点等,此处不作限定。

参见图2所示,本发明实施例提供的一种过期文件删除方法,包括如下步骤:

s201,加载目标用户设置的预设过期规则。

其中,目标用户可以为云存储系统的任一用户,也可以为按照需求指定的用户,在此不作限定。预设过期规则的内容至少包括有效期,该有效期属于精确到预定时间精度的时间,该预设过期规则所针对的文件为按照上述文件管理的方法所管理的文件。

需要说明的是,在本发明实施例的一种具体实现方式中,预设过期规则可以为按照以下方式配置的:

接收目标用户发送的过期规则配置请求;根据该过期规则配置请求中携带的有效期,生成目标用户的过期规则,并将所生成的过期规则保存到指定位置。

需要说明的是,有效期是指文件能够被存储的有效时长,超过有效期的文件即为过期文件,需要被删除。有效期的精确度可以与第一数据表中记录的文件创建时间的精确度相同,例如,文件创建时间和有效期的精确度都为天,或者小时。并且,实际应用中,有效期可以为具体时长的形式,例如,有效期为7天,那么,若文件1的创建时间为2017年3月1日,当前时间为2017年3月10日,便表明文件1已过期。当然,有效期也可以为其他合理的形式,此处不做限定,例如有效期为起始时间至终止时间的形式,例如:2017年3月1日至2017年3月7日。

可选地,由于本发明实施例所提供的文件管理方法中以文件标识所在的列为主键,即文件标识存在物理聚合,因此,预设过期规则在包括有效期的基础上,还可以包括文件名前缀,这样能够快速地删除符合特定命名规则的某些文件。例如,目标用户u配置的过期规则a的内容可以为:文件名前缀=logs,有效期=2天,该预设过期规则表明:目标用户u上传的每一个文件名前缀为“logs”的文件,均在存储两天后予以删除。可以理解的是,文件名前缀由文件名称开头的一个或多个字符组成,举例而言,设定文件名前缀为:文件名称开头的一个字符,则文件名称为abc、aa的文件名前缀均为“a”。当然,在具体应用中,除了文件名前缀和有效期以外,预设过期规则还可以包括其他内容,本发明实施例对预设过期规则包含的其他内容不做限定。

s202,按照以预定时间精度递增的方式扫描第一数据表,得到该第一数据表中符合第一预定条件的目标文件标识。

其中,该第一预定条件至少包括:所对应文件创建时间与当前时间的时间差值不小于有效期且基于目标用户的用户id所确定。

可以理解的是,对于一个文件而言,文件创建时间与当前时间的时间差值不小于有效期,即为:文件已被存储的时间不小于有效期,此时,从时间维度上表明该文件符合删除条件;而如果该文件的文件标识基于目标用户的用户id所确定,即该文件为目标用户所对应的文件,此时,从用户维度上,表明该文件符合删除条件。而由于预设过期规则为用户设置的独享的规则,因此,文件在时间维度和用户维度均符合删除条件时,才需要被删除,基于该思想,第一预定条件可以至少包括:所对应文件创建时间与当前时间的时间差值不小于有效期且基于目标用户的用户id所确定。其中,有效期由预设过期规则确定,目标用户为配置预设过期规则的用户。例如,目标用户配置的预设过期规则中包含的有效期为:2天,目标用户的用户id为:a,则第一预定条件可以为:所对应文件创建时间与当前时间的时间差值不小于2天,并且用户id=a。

另外,由于为了快速地删除符合特定命名规则的某些文件,预设过期规则的内容还包括:预设文件名前缀;相应的,该第一预定条件还包括:与该预设文件名前缀相匹配。

例如,目标用户u配置的过期规则a的内容为:文件名前缀=logs,有效期=2天,则第一预定条件可以为:文件名前缀=logs,所对应文件创建时间与当前时间的时间差值不小于2天,并且目标用户的用户id=u。

具体的,按照以预定时间精度递增的方式扫描第一数据表,得到该第一数据表中符合第一预定条件的目标文件标识的步骤,可以包括以下两步:

第一步,确定该预设过期规则所对应的起始文件标识;

第二步,以该起始文件标识为扫描起点,按照以预定时间精度递增的方式扫描第一数据表,得到该第一数据表中符合第一预定条件的目标文件标识。

可以理解的是,起始文件标识为:扫描起始点对应的文件标识,即从起始文件标识的位置开始,对第一数据表进行扫描。由于采用的过期规则不同,起始文件标识可能不同,因此,需要确定该预设过期规则所对应的起始文件标识。

可以采用以下两种方式确定起始文件标识。

方式一:将该第一数据表中第一个文件标识确定为:该预设过期规则所对应的起始文件标识。

方式二:从第二数据表中读取预设过期规则所对应的参考标识的数据内容,判断所读取到的数据内容是否为空;若否,将所读取到的数据内容确定为该预设过期规则所对应的起始文件标识;若是,将该第一数据表中第一个文件标识确定为:该预设过期规则所对应的起始文件标识。

其中,为了更加快速地删除过期文件,可以设置第二数据表,以记录任一预设过期规则所对应的上一次删除过程中的过期文件的相关信息。具体的,第二数据表中存储有参考标识;参考标识为用于表征该第一数据表中第一文件标识的下一文件标识的标识,该第一文件标识为:每次确定出的所有过期文件所对应的文件标识中,按照该第一数据表中的数据排列顺序进行排列后的最后一个文件标识。

可以理解的是,如果所读取到的数据内容为空,则表明该过期规则是配置后第一次加载使用,因此,可以将该第一数据表中第一个文件标识确定为:该预设过期规则所对应的起始文件标识,即从第一数据表中第一个文件标识开始扫描。

如果所读取到的数据内容不为空,则表明预设过期规则不是配置后第一次加载使用,并且,上次加载该预设过期规则后,就会基于该第一预定条件进行扫描,当扫到不满足该第一预定条件的文件标识时,就结束扫描过程,故扫描到的最后一个文件标识对应的文件为:非过期文件;如果第一数据表是按照文件创建时间进行升序排列的,则排列在该最后一个文件标识后面的文件标识对应的文件均为:非过期文件,也就是第一数据表中在本次处理过程中可能过期的文件。该参考标识的数据内容为:上次加载该预设过期规则进行扫描处理时的最后一个文件标识的下一文件标识的标识,因此,可以将该参考标识的数据内容确定为起始文件标识,并从该起始文件标识开始扫描。

举例而言,第一次在加载预设过期规则后,对第一数据表中的数据进行扫描,一个小时后,从第1条扫描到了2001条,第2001条数据不符合第一预定条件而使得扫描终止,那么,第一文件标识为:第2000条数据,参考标识为:第2001条数据对应的文件标识,因此,便可以将第2001条数据对应的文件标识记录在第二数据表中,作为第二次加载预设过期规则进行过期文件删除处理时起始文件标识,而不需从第1条开始进行扫描,从而节省了时间成本,提高了过期文件删除效率。

可以看出,针对预设过期规则不是配置后第一次加载使用的情况,采用方式二确定起始文件标识,相较于方式一而言,不必每次从第一数据表中第一个文件标识开始扫描,节省了时间成本,从而进一步提高了过期文件删除效率。

实际应用中,可以在第二数据表中创建4个数据列,分别用以存储标识信息(用户id)、过期规则标识信息(规则id)、参考标识以及参考标识的数据内容对应的文件创建时间;具体地,可以将用户标识信息列和过期规则标识信息列作为第二数据表的主键,以便在查找过程中利用主键索引,快速查找到过期规则对应的参考标识。其中,过期规则标识信息可以为对应的规则id和创建时间拼成的一个字符串。本发明实施例对具体的列名不做限定。例如:4个数据列的列名分别为:userid、ruleid、lastprocessedfilecreateday以及lastprocessedfilename。

具体的,以该起始文件标识为扫描起点,按照以预定时间精度递增的方式扫描第一数据表,得到该第一数据表中符合第一预定条件的目标文件标识的步骤,可以包括以下几步:

步骤a,确定该起始文件标识对应的目标文件创建时间;

实际应用中,可以在确定起始文件标识后,获取对应的目标文件创建时间,然后再执行后续步骤;具体地,可以从第一数据表中根据起始文件标识获取;也可以预先在将该起始文件标识存储到第二数据表中时,将对应的文件创建时间一起存储到第二数据表中,然后此时,直接从第二数据表中获取到目标文件创建时间。

步骤b,判断当前时间与该目标文件创建时间的时间差值是否不小于该预设过期规则设置的有效期;若是,则执行步骤c;

可以理解的是,若当前时间与目标文件创建时间的差值不小于该预设过期规则设置的有效期,表明该文件是超过有效期的目标文件,可以执行步骤c,作进一步处理。

由于第一数据表中的数据为基于文件创建时间排序,再基于文件标识排序的,因此,同一用户同天上传的具有相同文件名前缀的文件,在第一数据表中被物理聚合在一起。例如,第一数据表中的数据是基于文件创建时间升序排序,则排列在起始文件标识后的文件标识,其对应的文件创建时间均大于等于目标文件创建时间,若当前时间与目标文件创建时间的差值小于该有效期,则当前时间与排列在起始文件标识信息后的文件标识对应的文件创建时间的差值也均小于该有效期,表明当前第一数据表中没有超过该预设过期规则设定的有效期的文件,也就是说没有待删除的文件,无需再进行后续处理。

步骤c,从该起始文件标识开始,利用该第一数据表中主键对应的索引,获得该第一数据表中的符合该第一预定条件、且所对应文件创建时间为该目标文件创建时间的目标文件标识;将该目标文件创建时间增加预定时间精度对应的时间单位值,得到新的目标文件创建时间,并返回判断当前时间与该目标文件创建时间的时间差值是否不小于该预设过期规则设置的有效期的步骤。

可以理解的是,每个主键对应唯一一个索引,利用主键对应的索引,可以快速地定位目标文件标识,从而加快获得目标文件标识信息的速度。具体地,利用主键对应的索引可以直接查找到文件创建时间为目标创建时间的数据行,然后在查找到的数据行中确定出符合第一预定条件的目标文件标识,不需要查找第一数据表中起始文件标识信息对应数据行后的所有数据行,减小了算法的时间复杂度。此外,利用索引在对第一数据表中的数据进行排序,可以减少排序的时间。

为了提高方法的灵活度,从而更好的适应规则的动态增加、删除、修改等场景,可以将该目标文件创建时间增加预定时间精度对应的时间单位值,得到新的目标文件创建时间,再返回判断当前时间与该目标文件创建时间的时间差值是否不小于该预设过期规则设置的有效期的步骤。例如,预定时间精度为天,则预定时间精度对应的时间单位值可以为1天,以天为时间单位的值,从而可以实现按天递增的方式获得目标文件标识,进一步加快目标文件标识的确定速度。

s203,将该目标文件标识发送至分布式存储集群,以使该分布式存储集群删除所存储的该目标文件标识所对应的文件。

其中,该分布式存储集群为云存储系统中用于存储用户文件的原始内容的若干存储节点所构成的集群,其中,分布式存储集群中的任一存储节点可以根据目标文件标识确定自身所存储的过期文件,进而删除所确定出的过期文件。

可选地,在一种具体实现方式中,将该目标文件标识发送至分布式存储集群的步骤,可以为:在确定出所有的目标文件标识之后,将所获得的目标文件标识发送至分布式存储集群。

可选地,在一种具体实现方式中,为了进一步提高删除效率,将该目标文件标识发送至分布式存储集群的步骤,可以为:

每当获得该第一数据表中的符合该第一预定条件、且所对应文件创建时间为该目标文件创建时间的目标文件标识之后,将当前所获得的目标文件标识发送给用于存储文件的分布式存储集群。

可以理解的是,在获得出目标文件标识后,便可以将目标文件标识发送给分布式存储集群,以在分布式存储集群中删除目标文件标识对应的文件;具体地,可以由本发明实施例的执行主体向分布式存储集群发送一个约定的文件删除指令,该指令中携带着目标文件标识,分布式存储集群在接收到该指令后,便执行将目标文件标识对应的文件删除的操作。

可以看出,应用本发明实施例提供的过期文件删除方法,相对于现有技术,用户仅仅需要设置过期规则,过期文件的确定和删除无需用户手动参与,另外,由于文件信息具有较高的聚合性且按照以预定时间精度递增的方式扫描第一数据表,使得过期文件的确定效率较高,因此,通过本方案,降低了用户的负担,提高了过期文件删除效率。

为了在下次加载该预设过期规则时,加快过期文件的确定速度,一种具体的实施方式中,在将该目标文件标识发送至分布式存储集群之后,该方法还可以包括:

从该第一数据表中确定当前的第一文件标识;以该第一数据表中当前的第一文件标识的下一文件标识,更新该第二数据表中记录的该预设过期规则对应的参考标识的数据内容。

其中,当前的第一文件标识为:该第一数据表中的本次所有目标文件标识中,按照该第一数据表中的数据排列顺序进行排列后的最后一个文件标识。

此外,在将目标文件标识发送给分布式存储集群的步骤后,本发明实施例提供的过期文件删除方法,还可以包括:

从第一数据表中将目标文件标识对应的数据删除。

可以理解的是,目标文件标识为过期待删除的文件对应的标识,因此在每次将目标文件标识发送给分布式存储集群执行删除对应的文件的操作之后,便可以从第一数据表中将目标文件标识对应的数据删除,以减小第一数据表的数据规模,提高数据查询速度。

下面通过一个具体实例来对本发明实施例进行简单介绍。

将本发明实施例提供的过期文件删除方法应用于某个终端设备,如图3所示,预先在nosql数据库(如hbase)中创建第一数据表和第二数据表,然后,编写相关程序,假设该程序名为expiredscan程序,将expiredscan程序搭建在执行主体上,可以每天启动expiredscan程序进行扫描处理,如每天凌晨0点准时启动对第一数据表中的数据进行扫描处理,然后将扫描的结果发送给分布式存储集群删除对应的文件。

具体地,由expiredscan程序加载所有用户配置的规则,开始扫描第一数据表(假设表名为objects)表中的文件;然后,对每一条预设过期规则执行如下逻辑:

设置expiredscan程序中预先定义的扫描起点startscanpoint的主键值。其中,如果当前是第一次加载该预设过期规则r进行过期文件处理,那么便从objects表的第一条数据开始扫描,设置startscanpoint.createday=objects表的第一数据对应的文件创建时间(精确到天),可以理解的是,当objects表中是objects表创建后存储的文件时,可以设置startscanpoint.createday=objects表的创建时间(精确到天),设置expiredscan程序中用以定义第一预定条件的startscanpoint.fileid=用户标识信息+r配置的预设文件名前缀,用以进行匹配查找属于目标用户且文件名前缀为预设文件名前缀的文件标识如果当前不是第一次加载该预设过期规则r进行过期文件处理,则从第二数据表(假设表名为ruleprogress)读r对应的参考标识内容,即上次扫描到的最后一个文件标识,并进一步确定出该文件标识对应的创建时间,设置startscanpoint.createday=该文件标识对应的文件创建时间(精确到天),设置startscanpoint.fileid=用户id+从第二数据表中读出的参考标识(即上次扫描到的最后一个文件标识);

设置好startscanpoint.createday和startscanpoint.fileid后,执行如下循环:

其中,currentday是当前时间(精确到天),expireddays是r配置的有效期,即文件的有效天数。

可以理解的是,while循环扫描的是createday对应的一天中满足第一预定条件的文件,而该循环终止条件为:a.扫描到表尾;b.扫描出的文件的创建时间大于startscanpoint.createday;c.扫描出的文件名和用户标识信息不匹配,或者扫描出的文件名的前缀和r配置的预设文件名前缀不匹配。

可见,应用本发明实施例提供的过期文件删除方法,相对于现有技术,用户仅仅需要设置过期规则,过期文件的确定和删除无需用户手动参与,另外,由于文件信息具有较高的聚合性且按照以预定时间精度递增的方式扫描第一数据表,使得过期文件的确定效率较高,因此,通过本方案,降低了用户的负担,提高了过期文件删除效率。

相应于上述文件管理方法实施例,本发明实施例提供了一种文件管理装置,参见图4所示,与图1所示流程相对应,所述装置包括:

获得模块401,用于获得云存储系统所存储的文件的元信息,所述元信息中至少包括文件创建时间、用户id和文件名称,所述文件创建时间属于精确到预定时间精度的时间;

保存模块402,用于将所述元信息保存至第一数据表中,所述第一数据表设置有主键,所述主键包括第一目标列和第二目标列,所述第一目标列用于存储文件创建时间,所述第二目标列用于存储文件标识,所述文件标识基于所述用户id和文件名称所确定;

排序模块403,用于以先按照第一目标列排序再按照第二目标列排序的数据排列顺序,对当前的第一数据表进行排序。

可选的,该装置还包括:

第一确定模块,用于当获得文件更新指令时,确定所述文件更新指令所对应的目标文件和更新类型,根据所述更新类型,更新所述第一数据表中的所述目标文件的文件信息。

可选的,所述文件创建时间属于精确到天的时间。

可选的,所述文件标识为用户id和文件名称所构成的字符串。

相应于上述过期文件删除方法实施例,本发明实施例提供了一种过期文件删除装置,参见图5所示,与图2所示流程相对应,所述装置包括:

加载模块501,用于加载目标用户设置的预设过期规则;其中,所述预设过期规则的内容至少包括有效期,所述有效期属于精确到预定时间精度的时间,所述预设过期规则所针对的文件为按照上述文件管理方法所管理的文件;

扫描模块502,用于按照以预定时间精度递增的方式扫描第一数据表,得到所述第一数据表中符合第一预定条件的目标文件标识;其中,所述第一预定条件至少包括:所对应文件创建时间与当前时间的时间差值不小于所述有效期且基于所述目标用户的用户id所确定;

发送模块503,用于将所述目标文件标识发送至分布式存储集群,以使所述分布式存储集群删除所存储的所述目标文件标识所对应的文件。

可选的,所述扫描模块502,包括:

确定子模块,用于确定所述预设过期规则所对应的起始文件标识;

扫描子模块,用于以所述起始文件标识为扫描起点,按照以预定时间精度递增的方式扫描第一数据表,得到所述第一数据表中符合第一预定条件的目标文件标识。

可选的,所述确定子模块,包括:

第一确定单元,用于将所述第一数据表中第一个文件标识确定为所述预设过期规则所对应的起始文件标识。

可选的,所述确定子模块,包括:

第一判断单元,用于从第二数据表中读取所述预设过期规则所对应的参考标识的数据内容,判断所读取到的数据内容是否为空;其中,所述第二数据表中存储有所述参考标识;所述参考标识为用于表征所述第一数据表中第一文件标识的下一文件标识的标识,所述第一文件标识为:每次确定出的所有过期文件所对应的文件标识中,按照所述第一数据表中的数据排列顺序进行排列后的最后一个文件标识;

第二确定单元,用于在所述判断单元的判断结果为否时,将所读取到的数据内容确定为所述预设过期规则所对应的起始文件标识;

第三确定单元,用于在所述判断单元的判断结果为是时,将所述第一数据表中第一个文件标识确定为所述预设过期规则所对应的起始文件标识。

可选的,该装置还包括:

第二确定模块,用于在将所述目标文件标识发送至分布式存储集群之后,从所述第一数据表中确定当前的第一文件标识;

更新模块,用于以所述第一数据表中当前的第一文件标识的下一文件标识,更新所述第二数据表中记录的所述预设过期规则对应的参考标识的数据内容。

可选的,所述扫描子模块,包括:

第四确定单元,用于确定所述起始文件标识对应的目标文件创建时间;

第二判断单元,用于判断当前时间与所述目标文件创建时间的时间差值是否不小于所述预设过期规则设置的有效期;

获得单元,用于在所述第二判断单元的判断结果为是时,从所述起始文件标识开始,利用所述第一数据表中主键对应的索引,获得所述第一数据表中的符合所述第一预定条件、且所对应文件创建时间为所述目标文件创建时间的目标文件标识;

返回单元,用于将所述目标文件创建时间增加所述预定时间精度对应的时间单位值,得到新的目标文件创建时间,并返回判断当前时间与所述目标文件创建时间的时间差值是否不小于所述预设过期规则设置的有效期的步骤。

可选的,所述发送模块503,包括:

发送单元,用于每当获得所述第一数据表中的符合所述第一预定条件、且所对应文件创建时间为所述目标文件创建时间的目标文件标识之后,将当前所获得的目标文件标识发送给用于存储文件的分布式存储集群。

可选的,所述预设过期规则的内容还包括:预设文件名前缀;

所述第一预定条件还包括:与所述预设文件名前缀相匹配。

本发明实施例还提供了一种电子设备,如图6所示,包括处理器601、通信接口602、存储器603和通信总线604,其中,处理器601,通信接口602,存储器603通过通信总线604完成相互间的通信,

存储器603,用于存放计算机程序;

处理器601,用于执行存储器603上所存放的程序时,实现本发明实施例所提供的文件管理方法,其中,该文件管理方法包括如下步骤:

获得云存储系统所存储的文件的元信息,所述元信息中至少包括文件创建时间、用户id和文件名称,所述文件创建时间属于精确到预定时间精度的时间;

将所述元信息保存至第一数据表中,所述第一数据表设置有主键,所述主键包括第一目标列和第二目标列,所述第一目标列用于存储文件创建时间,所述第二目标列用于存储文件标识,所述文件标识基于所述用户id和文件名称所确定;

以先按照第一目标列排序再按照第二目标列排序的数据排列顺序,对当前的第一数据表进行排序。

可选的,该方法还包括:

当获得文件更新指令时,确定所述文件更新指令所对应的目标文件和更新类型,根据所述更新类型,更新所述第一数据表中的所述目标文件的文件信息。

可选的,所述文件创建时间属于精确到天的时间。

可选的,所述文件标识为用户id和文件名称所构成的字符串。

本发明实施例还提供了一种电子设备,如图7所示,包括处理器701、通信接口702、存储器703和通信总线704,其中,处理器701,通信接口702,存储器703通过通信总线704完成相互间的通信,

存储器703,用于存放计算机程序;

处理器701,用于执行存储器703上所存放的程序时,实现本发明实施例所提供的过期文件删除方法,具体的,该过期文件删除方法包括如下步骤:

加载目标用户设置的预设过期规则;其中,所述预设过期规则的内容至少包括有效期,所述有效期属于精确到预定时间精度的时间,所述预设过期规则所针对的文件为按照上述文件管理方法所管理的文件;

按照以预定时间精度递增的方式扫描第一数据表,得到所述第一数据表中符合第一预定条件的目标文件标识;其中,所述第一预定条件至少包括:所对应文件创建时间与当前时间的时间差值不小于所述有效期且基于所述目标用户的用户id所确定;

将所述目标文件标识发送至分布式存储集群,以使所述分布式存储集群删除所存储的所述目标文件标识所对应的文件。

可选的,所述按照以预定时间精度递增的方式扫描第一数据表,得到所述第一数据表中符合第一预定条件的目标文件标识的步骤,包括:

确定所述预设过期规则所对应的起始文件标识;

以所述起始文件标识为扫描起点,按照以预定时间精度递增的方式扫描第一数据表,得到所述第一数据表中符合第一预定条件的目标文件标识。

可选的,所述确定所述预设过期规则所对应的起始文件标识的步骤,包括:

将所述第一数据表中第一个文件标识确定为所述预设过期规则所对应的起始文件标识。

可选的,所述确定所述预设过期规则所对应的起始文件标识的步骤,包括:

从第二数据表中读取所述预设过期规则所对应的参考标识的数据内容,判断所读取到的数据内容是否为空;其中,所述第二数据表中存储有所述参考标识;所述参考标识为用于表征所述第一数据表中第一文件标识的下一文件标识的标识,所述第一文件标识为:每次确定出的所有过期文件所对应的文件标识中,按照所述第一数据表中的数据排列顺序进行排列后的最后一个文件标识;

若否,将所读取到的数据内容确定为所述预设过期规则所对应的起始文件标识;

若是,将所述第一数据表中第一个文件标识确定为所述预设过期规则所对应的起始文件标识。

可选的,在将所述目标文件标识发送至分布式存储集群之后,所述方法还包括:

从所述第一数据表中确定当前的第一文件标识;

以所述第一数据表中当前的第一文件标识的下一文件标识,更新所述第二数据表中记录的所述预设过期规则对应的参考标识的数据内容。

可选的,所述以所述起始文件标识为扫描起点,按照以预定时间精度递增的方式扫描第一数据表,得到所述第一数据表中符合第一预定条件的目标文件标识的步骤,包括:

确定所述起始文件标识对应的目标文件创建时间;

判断当前时间与所述目标文件创建时间的时间差值是否不小于所述预设过期规则设置的有效期;

若是,从所述起始文件标识开始,利用所述第一数据表中主键对应的索引,获得所述第一数据表中的符合所述第一预定条件、且所对应文件创建时间为所述目标文件创建时间的目标文件标识;

将所述目标文件创建时间增加所述预定时间精度对应的时间单位值,得到新的目标文件创建时间,并返回判断当前时间与所述目标文件创建时间的时间差值是否不小于所述预设过期规则设置的有效期的步骤。

可选的,所述将所述目标文件标识发送至分布式存储集群的步骤,包括:

每当获得所述第一数据表中的符合所述第一预定条件、且所对应文件创建时间为所述目标文件创建时间的目标文件标识之后,将当前所获得的目标文件标识发送给用于存储文件的分布式存储集群。

可选的,所述预设过期规则的内容还包括:预设文件名前缀;

所述第一预定条件还包括:与所述预设文件名前缀相匹配。

上述电子设备提到的通信总线可以是外设部件互连标准(peripheralpomponentinterconnect,简称pci)总线或扩展工业标准结构(extendedindustrystandardarchitecture,简称eisa)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

通信接口用于上述电子设备与其他设备之间的通信。

存储器可以包括随机存取存储器(randomaccessmemory,简称ram),也可以包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。

上述的处理器可以是通用处理器,包括中央处理器(centralprocessingunit,简称cpu)、网络处理器(networkprocessor,简称np)等;还可以是数字信号处理器(digitalsignalprocessing,简称dsp)、专用集成电路(applicationspecificintegratedcircuit,简称asic)、现场可编程门阵列(field-programmablegatearray,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。

本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现本发明实施例所提供的文件管理方法的步骤。

本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现本发明实施例所提供的过期文件删除方法的步骤。

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

本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

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