一种文件删除方法及装置制造方法及图纸

技术编号:15840908 阅读:72 留言:0更新日期:2017-07-18 16:53
本发明专利技术公开了一种文件删除方法及装置,其中该方法包括:按照预设原则由待删除目录队列中获取一待删除目录作为当前目录;判断当前目录是否为空,如果是,则删除该目录,如果否,则遍历读取当前目录下的元数据,并在每读取到一个元数据时,如果确定出该元数据对应文件,则删除该文件,如果确定出该元数据对应目录,则将该目录作为当前目录返回执行所述判断当前目录是否为空的步骤。本申请公开的技术方案中,通过对待删除目录的判断及删除对应相关步骤,以通过这种非递归循环处理机制实现对待删除目录及对应海量文件的删除,从而能够避免现有技术中存在的问题,保证了系统正常工作的同时实现海量文件的删除操作。

File deletion method and device

The invention discloses a file deletion method and device, wherein the method comprises: according to the principle of obtaining a preset by delete to delete directory as the current directory in the queue; judging whether the current directory is empty, if it is, then delete the directory, if not, then the traversal read metadata in the current directory, and in each read a metadata, if it is determined the corresponding metadata file, delete the file, if it is determined the corresponding metadata directory, the directory as the current directory is returned to execute the judgment of the current directory is empty step. The technical proposal disclosed, by treating delete directory judgement and delete the corresponding steps to the processing mechanism of non cyclic recursive delete delete the directory and the corresponding to mass file, so as to avoid the problems in the prior art, to ensure the normal operation of the system while achieving massive file deletion.

【技术实现步骤摘要】
一种文件删除方法及装置
本专利技术涉及分布式文件系统
,更具体地说,涉及一种文件删除方法及装置。
技术介绍
当前分布式文件系统已经被应用到各行各业之中,如:视频监控、石油勘探、海洋监控、广电媒资等等;石油勘探和海洋监控这种高性能场景中,会产生海量的小文件数据,动辄百万千万级别,当这些数据被使用之后,就需要进行数据清理操作,而如此海量文件的删除动作,使用linux系统自带的删除指令通过递归循环调用实现上述删除动作,很有可能会撑爆函数调用栈,最终导致系统崩溃。综上所述,如何提供一种能够在保证分布式文件系统正常工作的同时实现海量文件删除操作的技术方案,是目前本领域技术人员亟待解决的问题。
技术实现思路
本专利技术的目的是提供一种文件删除方法及装置,以在在保证分布式文件系统正常工作的同时实现海量文件删除操作。为了实现上述目的,本专利技术提供如下技术方案:一种文件删除方法,包括:按照预设原则由待删除目录队列中获取一待删除目录作为当前目录;判断当前目录是否为空,如果是,则删除该目录,如果否,则遍历读取当前目录下的元数据,并在每读取到一个元数据时,如果确定出该元数据对应文件,则删除该文件,如果确定出该元数据对应目录,则将该目录作为当前目录返回执行所述判断当前目录是否为空的步骤。优选的,按照预设原则由待删除目录队列中获取一待删除目录作为当前目录之前,还包括:接收删除请求,并在该请求的触发下由等待状态转换至激活状态,以在该激活状态下执行所述按照预设原则由待删除目录队列中获取一待删除目录作为当前目录的步骤。优选的,由等待状态转换至激活状态之后,还包括:每保持第一预设时间段的激活状态则由激活状态转换至等待状态,并保持第二预设时间段的等待状态。优选的,按照预设原则由待删除目录队列中获取一待删除目录作为当前目录,包括:按照先入先出原则由待删除目录队列中获取一待删除目录作为当前目录。优选的,按照预设原则由待删除目录队列中获取一待删除目录作为当前目录之前,还包括:判断所述待删除目录队列是否为空,如果是,则经过第三预设时间段后重新执行所述判断所述待删除目录队列是否为空的步骤,如果否,则执行所述按照预设原则由待删除目录队列中获取一待删除目录作为当前目录的步骤。一种文件删除装置,包括:获取模块,用于:按照预设原则由待删除目录队列中获取一待删除目录作为当前目录;删除模块,用于:判断当前目录是否为空,如果是,则删除该目录,如果否,则遍历读取当前目录下的元数据,并在每读取到一个元数据时,如果确定出该元数据对应文件,则删除该文件,如果确定出该元数据对应目录,则将该目录作为当前目录返回执行所述判断当前目录是否为空的步骤。优选的,还包括:转换模块,用于:按照预设原则由待删除目录队列中获取一待删除目录作为当前目录之前,接收删除请求,并在该请求的触发下由等待状态转换至激活状态,以在该激活状态下执行所述按照预设原则由待删除目录队列中获取一待删除目录作为当前目录的步骤。优选的,还包括:释放模块,用于:由等待状态转换至激活状态之后,每保持第一预设时间段的激活状态则由激活状态转换至等待状态,并保持第二预设时间段的等待状态。优选的,所述获取模块包括:获取单元,用于:按照先入先出原则由待删除目录队列中获取一待删除目录作为当前目录。优选的,还包括:判断模块,用于:按照预设原则由待删除目录队列中获取一待删除目录作为当前目录之前,判断所述待删除目录队列是否为空,如果是,则经过第三预设时间段后重新执行所述判断所述待删除目录队列是否为空的步骤,如果否,则执行所述按照预设原则由待删除目录队列中获取一待删除目录作为当前目录的步骤。本专利技术提供了一种文件删除方法及装置,其中该方法包括:按照预设原则由待删除目录队列中获取一待删除目录作为当前目录;判断当前目录是否为空,如果是,则删除该目录,如果否,则遍历读取当前目录下的元数据,并在每读取到一个元数据时,如果确定出该元数据对应文件,则删除该文件,如果确定出该元数据对应目录,则将该目录作为当前目录返回执行所述判断当前目录是否为空的步骤。本申请公开的技术方案中,通过对待删除目录的判断及删除对应相关步骤,以通过这种非递归循环处理机制实现对待删除目录及对应海量文件的删除,从而能够避免现有技术中存在的问题,保证了系统正常工作的同时实现海量文件的删除操作。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。图1为本专利技术实施例提供的一种文件删除方法的流程图;图2为本专利技术实施例提供的一种文件删除方法的结构示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。请参阅图1,其示出了本专利技术实施例提供的一种文件删除方法的流程图,可以包括以下步骤:S11:按照预设原则由待删除目录队列中获取一待删除目录作为当前目录。需要说明的是,可以维护一待删除目录队列,当需要删除目录时,则将需要删除的目录压入待删除目录队列中,由此,由待删除目录队列中获取该目录,从而实现对其删除的操作。S12:判断当前目录是否为空,如果是,则删除该目录,如果否,则遍历读取当前目录下的元数据,并在每读取到一个元数据时,如果确定出该元数据对应文件,则删除该文件,如果确定出该元数据对应目录,则将该目录作为当前目录返回执行判断当前目录是否为空的步骤。如果当前目录为空,也即当前目录下没有任何其他文件或者目录,此时只需要将该当前目录进行删除即可,如果当前目录不为空,则说明该目录下存在其他的文件或者目录,此时遍历读取当前目录下的元数据,并在每读取到一个元数据后实现上述操作,从而在遍历读取完成全部元数据及对应删除操作后,即可实现对获取的待删除目录及包含的全部子目录、文件等的删除。本申请公开的技术方案中,通过对待删除目录的判断及删除对应相关步骤,以通过这种非递归循环处理机制实现对待删除目录及对应海量文件的删除,从而能够避免现有技术中存在的问题,保证了系统正常工作的同时实现海量文件的删除操作。另外本申请公开的上述方案能够快速响应用户的删除操作,不影响系统正常业务的进行,进一步提升了用户体验。本专利技术实施例提供的一种文件删除方法,按照预设原则由待删除目录队列中获取一待删除目录作为当前目录之前,还可以包括:接收删除请求,并在该请求的触发下由等待状态转换至激活状态,以在该激活状态下执行按照预设原则由待删除目录队列中获取一待删除目录作为当前目录的步骤。需要说明的是,本专利技术实施例提供的上述技术方案可以由预先设置的一个删除线程实现,该删除线程可以由信号量和锁进行控制,当系统启动时创建删除线程,并将该线程置为信号等待状态,也即上述等待状态,当接收到删除请求时,激活删除线程(也即使之处于激活状态)以使之实现上述文件删除的相关步骤。从而能够在不需要进行删除操作时避免了资源的浪费。本专利技术实施例提供的一种文本文档来自技高网...
一种文件删除方法及装置

【技术保护点】
一种文件删除方法,其特征在于,包括:按照预设原则由待删除目录队列中获取一待删除目录作为当前目录;判断当前目录是否为空,如果是,则删除该目录,如果否,则遍历读取当前目录下的元数据,并在每读取到一个元数据时,如果确定出该元数据对应文件,则删除该文件,如果确定出该元数据对应目录,则将该目录作为当前目录返回执行所述判断当前目录是否为空的步骤。

【技术特征摘要】
1.一种文件删除方法,其特征在于,包括:按照预设原则由待删除目录队列中获取一待删除目录作为当前目录;判断当前目录是否为空,如果是,则删除该目录,如果否,则遍历读取当前目录下的元数据,并在每读取到一个元数据时,如果确定出该元数据对应文件,则删除该文件,如果确定出该元数据对应目录,则将该目录作为当前目录返回执行所述判断当前目录是否为空的步骤。2.根据权利要求1所述的方法,其特征在于,按照预设原则由待删除目录队列中获取一待删除目录作为当前目录之前,还包括:接收删除请求,并在该请求的触发下由等待状态转换至激活状态,以在该激活状态下执行所述按照预设原则由待删除目录队列中获取一待删除目录作为当前目录的步骤。3.根据权利要求2所述的方法,其特征在于,由等待状态转换至激活状态之后,还包括:每保持第一预设时间段的激活状态则由激活状态转换至等待状态,并保持第二预设时间段的等待状态。4.根据权利要求2所述的方法,其特征在于,按照预设原则由待删除目录队列中获取一待删除目录作为当前目录,包括:按照先入先出原则由待删除目录队列中获取一待删除目录作为当前目录。5.根据权利要求2所述的方法,其特征在于,按照预设原则由待删除目录队列中获取一待删除目录作为当前目录之前,还包括:判断所述待删除目录队列是否为空,如果是,则经过第三预设时间段后重新执行所述判断所述待删除目录队列是否为空的步骤,如果否,则执行所述按照预设原则由待删除目录队列中获取一待删除目录作为当前目录的步骤。6.一种文件删除装置,其...

【专利技术属性】
技术研发人员:吕强于鲁宪
申请(专利权)人:广东浪潮大数据研究有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1