文件删除方法、系统、装置、处理器及电子设备制造方法及图纸

技术编号:35786408 阅读:10 留言:0更新日期:2022-12-01 14:33
本申请公开了一种文件删除方法、系统、装置、处理器及电子设备。该方法包括:主元数据系统接收客户端的至少一个删除请求;主元数据系统将回收站内的目标目录标记为已删除,并判断回收站的状态是否为无任务状态;在回收站的状态为无任务状态的情况下,主元数据系统控制目标线程执行每个删除请求对应的删除操作,将回收站的状态更新为任务处理状态,并记录删除操作的游标和操作标识;在主元数据系统检测到所有线程的游标指示目标目录中的文件全部删除完成的情况下,将回收站的状态更新为无任务状态。通过本申请,解决了相关技术中从回收站中删除文件时效率低的问题。删除文件时效率低的问题。删除文件时效率低的问题。

【技术实现步骤摘要】
文件删除方法、系统、装置、处理器及电子设备


[0001]本申请涉及文件删除领域,具体而言,涉及一种文件删除方法、系统、装置、处理器及电子设备。

技术介绍

[0002]相关技术中,回收站都是同步地执行删除、清空动作,例如前端界面上选择某个文件(目录)进行删除时或者执行清空回收站的操作时,必须等待这个文件(目录)下的所有文件和子目录都被删除时,或者回收站内的所有文件和子目录都被删除时,删除操作才能完成,删除操作执行的过程中前端界面会一直阻塞在该操作界面,无法进行其他操作,如果待删除的目录或者待清空的回收站内文件较多,前端界面会阻塞很久。
[0003]同时,删除操作执行时一般由客户端发送readdir(遍历目录)请求到mds(meta datasystem,元数据系统),然后mds返回部分遍历结果(目录可能很大,只能返回一部分)给客户端,客户端再对遍历文件逐一发送删除请求,mds再处理这些请求。因此需要多次的网络传输和mds处理,待删除目录内的文件越多或者回收站内的文件越多,上述操作的效率就越低。
[0004]另外,如果删除目录或者清空回收站的操作过程中,分布式文件系统的主mds进程意外退出,则主mds会切换到其他的mds上,删除目录和清空回收站的动作需要在新的mds上重新被执行;或者发起请求的客户端进程意外退出,也会导致删除目录和清空回收站的动作无法继续执行,从其他前端界面查看时,待删除的目录仍然存在、待清空的回收站仍然未被清空。
[0005]针对相关技术中从回收站中删除文件时效率低的问题,目前尚未提出有效的解决方案。

技术实现思路

[0006]本申请的主要目的在于提供一种文件删除方法、系统、装置、处理器及电子设备,以解决相关技术中从回收站中删除文件时效率低的问题。
[0007]为了实现上述目的,根据本申请的一个方面,提供了一种文件删除方法。该方法包括:主元数据系统接收客户端的至少一个删除请求,其中,删除请求用于指示删除回收站内的目标目录;主元数据系统将回收站内的目标目录标记为已删除,并判断回收站的状态是否为无任务状态,其中,无任务状态是指回收站中不存在删除操作;在回收站的状态为无任务状态的情况下,主元数据系统控制目标线程执行每个删除请求对应的删除操作,将回收站的状态更新为任务处理状态,并记录删除操作的游标和操作标识,其中,游标用于记录当前已删除的文件数量和字节数量,操作标识为客户端查询删除操作的删除进度的索引;在主元数据系统检测到所有线程的游标指示目标目录中的文件全部删除完成的情况下,将回收站的状态更新为无任务状态。
[0008]可选地,在主元数据系统将目标目录标记为已删除之前,该方法还包括:主元数据
系统将删除请求发送至多个备份元数据系统,并控制多个备份元数据系统存储删除请求;在主元数据系统检测到多个备份元数据系统已存储删除请求后,将目标目录的文件信息发送至客户端,其中,文件信息用于指示目标目录中的待删除文件的数量、待删除字节的数量和删除请求对应的操作标识。
[0009]可选地,在主元数据系统控制目标线程执行每个删除请求对应的删除操作的过程中,该方法还包括:若主元数据系统出现异常,将主元数据系统切换为多个备份元数据系统中的任意一个备份元数据系统,得到切换后的主元数据系统;切换后的主元数据系统读取各个删除操作的游标,分别按照游标中记录的当前已删除的文件数量、字节数量和正在删除的文件位置继续执行删除操作,其中,文件位置是指主元数据系统出现异常时正在删除的文件在目标目录中的位置。
[0010]可选地,主元数据系统控制目标线程执行每个删除请求对应的删除操作,并记录删除操作的游标包括:遍历目标目录中的所有文件,得到待删除文件集合;按照预设并行量批量删除待删除文件集合中的文件,其中,预设并行量是一个删除操作的并行量;根据待删除文件集合中的已删除文件数量的变化和已删除字节数量的变化实时更新游标。
[0011]可选地,在判断回收站的状态是否为无任务状态之后,该方法还包括:在回收站的状态为删除目录的状态的情况下,主元数据系统判断是否存在空闲线程;在存在空闲线程的情况下,控制空闲线程中的任意一个线程执行删除请求对应的删除操作;在回收站的状态为清空回收站的状态的情况下,主元数据系统拒绝执行删除请求对应的删除操作。
[0012]可选地,在记录删除操作的游标之后,该方法还包括:主元数据系统接收客户端的删除进度查询请求,并解析删除进度查询请求,得到目标删除操作的操作标识;依据目标删除操作的操作标识确定客户端需要查询的删除操作,得到目标删除操作;读取目标删除操作的目标游标,向客户端展示目标删除操作的当前删除文件数量和当前删除字节数量。
[0013]可选地,回收站关联有第一审计日志,第一审计日志中包含文件移入和移出回收站的记录,第一审计日志按照预设周期生成,在主元数据系统接收客户端的至少一个删除请求之后,该方法还包括:判断第一审计日志的占用空间是否大于等于空间阈值;在第一审计日志的占用空间大于等于空间阈值的情况下,建立第二审计日志,并将删除请求对应的删除操作记录至第二审计日志;在第一审计日志的占用空间小于空间阈值的情况下,将删除请求对应的删除操作记录至第一审计日志。
[0014]可选地,删除操作和审计日志均设置有级别,在将删除操作记录至审计日志之前,该方法还包括:判断删除操作的级别是否小于等于审计日志的级别;在删除操作的级别小于等于审计日志的级别的情况下,执行将删除操作记录至审计日志的步骤。
[0015]根据本申请的另一方面,提供了一种文件删除系统,该系统包括:文件系统,用于存储目标目录中的文件;回收站,用于存储从文件系统移入回收站的目标目录的文件;客户端,用于发出删除请求,其中,删除请求指示删除回收站中的目标目录中的文件;元数据集群,包括主元数据系统和备份元数据系统,主元数据系统用于接收删除请求,并控制目标线程基于删除请求执行将目标目录从回收站删除的操作,备份元数据系统用于存储主元数据系统发送的删除请求,并在主元数据系统出现异常时将备份元数据系统切换为主元数据系统。
[0016]为了实现上述目的,根据本申请的另一方面,提供了一种文件删除装置。该装置包
括:接收单元,用于通过主元数据系统接收客户端的至少一个删除请求,其中,删除请求用于指示删除回收站内的目标目录;判断单元,用于通过主元数据系统将回收站内的目标目录标记为已删除,并判断回收站的状态是否为无任务状态,其中,无任务状态是指回收站中不存在删除操作;执行单元,用于在回收站的状态为无任务状态的情况下,主元数据系统控制目标线程执行每个删除请求对应的删除操作,将回收站的状态更新为任务处理状态,并记录删除操作的游标和操作标识,其中,游标用于记录当前已删除的文件数量和字节数量,操作标识为客户端查询删除操作的删除进度的索引;更新单元,用于在主元数据系统检测到所有线程的游标指示目标目录中的文件全部删除完成的情况下,将回收站的状态更新为无任务状态。
[0017]通过本申请,采用以下步骤:主元数据系统接本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种文件删除方法,其特征在于,包括:主元数据系统接收客户端的至少一个删除请求,其中,所述删除请求用于指示删除回收站内的目标目录;所述主元数据系统将所述回收站内的所述目标目录标记为已删除,并判断所述回收站的状态是否为无任务状态,其中,所述无任务状态是指回收站中不存在删除操作;在所述回收站的状态为无任务状态的情况下,所述主元数据系统控制目标线程执行每个所述删除请求对应的删除操作,将所述回收站的状态更新为任务处理状态,并记录所述删除操作的游标和操作标识,其中,所述游标用于记录当前已删除的文件数量和字节数量,所述操作标识为所述客户端查询所述删除操作的删除进度的索引;在所述主元数据系统检测到所有线程的游标指示目标目录中的文件全部删除完成的情况下,将所述回收站的状态更新为无任务状态。2.根据权利要求1所述的方法,其特征在于,在所述主元数据系统将所述目标目录标记为已删除之前,所述方法还包括:所述主元数据系统将所述删除请求发送至多个备份元数据系统,并控制所述多个备份元数据系统存储所述删除请求;在所述主元数据系统检测到所述多个备份元数据系统已存储所述删除请求后,将所述目标目录的文件信息发送至所述客户端,其中,所述文件信息用于指示所述目标目录中的待删除文件的数量、待删除字节的数量和所述删除请求对应的操作标识。3.根据权利要求2所述的方法,其特征在于,在所述主元数据系统控制目标线程执行每个所述删除请求对应的删除操作的过程中,所述方法还包括:若所述主元数据系统出现异常,将所述主元数据系统切换为所述多个备份元数据系统中的任意一个备份元数据系统,得到切换后的主元数据系统;所述切换后的主元数据系统读取各个删除操作的游标,分别按照所述游标中记录的当前已删除的文件数量、字节数量和正在删除的文件位置继续执行所述删除操作,其中,所述文件位置是指所述主元数据系统出现异常时正在删除的文件在所述目标目录中的位置。4.根据权利要求1所述的方法,其特征在于,所述主元数据系统控制目标线程执行每个所述删除请求对应的删除操作,并记录所述删除操作的游标包括:遍历所述目标目录中的所有文件,得到待删除文件集合;按照预设并行量批量删除所述待删除文件集合中的文件,其中,预设并行量是一个删除操作的并行量;根据所述待删除文件集合中的已删除文件数量的变化和已删除字节数量的变化实时更新所述游标。5.根据权利要求1所述的方法,其特征在于,在判断所述回收站的状态是否为无任务状态之后,所述方法还包括:在所述回收站的状态为删除目录的状态的情况下,所述主元数据系统判断是否存在空闲线程;在存在所述空闲线程的情况下,控制所述空闲线程中的任意一个线程执行所述删除请求对应的删除操作;在所述回收站的状态为清空回收站的状态的情况下,所述主元数据系统拒绝执行所述
删除请求对应的删除操作。6.根据权利要求1所述的方法,其特征在于,在记录所述删除操作的游标之后,所述方法还包括:所述主元数据系统接收所述客户端的删除进度查询请求,并解析所述删除进度查询请求,得到目标删除操作的操作标识;依据所述目标删除操作的操作标识确定所述客户...

【专利技术属性】
技术研发人员:赵岩刘名欣瞿天善张旭明王豪迈胥昕
申请(专利权)人:北京星辰天合科技股份有限公司
类型:发明
国别省市:

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

1