一种批量文件访问权限异步处理方法、装置、设备、介质制造方法及图纸

技术编号:38275405 阅读:15 留言:0更新日期:2023-07-27 10:27
本申请公开了一种批量文件访问权限异步处理方法、装置、设备、介质,涉及文件异步设置技术领域,包括:当接收到批量文件访问权限设置操作请求时,根据线程的当前线程资源将批量文件访问权限设置操作请求添加至对应线程的任务队列中;启动用于处理异步文件访问权限设置操作请求应答的目标定时器;监听目标定时器,当接收到目标定时器发送的表征异步挂起应答状态码时,对当前文件访问权限设置操作请求进行处理,并发送下一文件访问权限设置操作请求的设置指令;基于设置指令从任务队列中获取下一访问权限设置操作请求并处理,重新跳转执行监听目标定时器步骤,直至批量文件访问权限设置操作请求设置完成,减少每个文件访问权限请求的处理时间。请求的处理时间。请求的处理时间。

【技术实现步骤摘要】
一种批量文件访问权限异步处理方法、装置、设备、介质


[0001]本专利技术涉及文件异步设置
,特别涉及一种批量文件访问权限异步处理方法、装置、设备、介质。

技术介绍

[0002]SMB(Server Message Block,共享传输协议)协议包含了一组对NTFS文件系统的操作接口,主要功能包括文件数据读写、文件属性设置等。文件的ACL(Access Control Lists,文件访问权限控制列表)信息是文件属性的一种,在SMB协议中同样得到支持。当Windows SMB网络映射盘上针对文件设置一组ACL之后,文件的整个ACL信息就会封装在单独的SMB消息数据包传送至SMB服务端。单个文件的ACL设置过程相对简单,处理步骤包括文件打开、ACL信息获取、ACL信息更改、文件关闭。批量文件的ACL设置过程相对复杂,需要递归遍历各级子目录,然后逐条去设置。Linux环境SMB ACL设置过程默认是一个串行处理步骤,一个文件的ACL设置完成并给客户端应答之后,客户端才能发出下一个文件的ACL设置命令。对于企业环境百万或千万级别的子目录和子文件,整个设置过程作为一个串行处理的流程,总体处理结果相对缓慢。
[0003]综上,如何实现批量文件访问权限请求的快速处理,减少每个文件访问权限请求的处理时间,提升批量文件访问权限请求的设置速度是本领域有待解决的技术问题。

技术实现思路

[0004]有鉴于此,本专利技术的目的在于提供一种批量文件访问权限异步处理方法、装置、设备、介质,能够实现批量文件访问权限请求的快速处理,减少每个文件访问权限请求的处理时间,提升批量文件访问权限请求的设置速度。其具体方案如下:
[0005]第一方面,本申请公开了一种批量文件访问权限异步处理方法,应用于客户端,包括:
[0006]当接收到批量文件访问权限设置操作请求时,根据线程的当前线程资源将所述批量文件访问权限设置操作请求添加至对应线程的任务队列中;
[0007]启动用于处理异步文件访问权限设置操作请求应答的目标定时器;
[0008]监听所述目标定时器,当接收到所述目标定时器发送的表征异步挂起应答状态码时,对当前文件访问权限设置操作请求进行处理,并发送下一文件访问权限设置操作请求的设置指令;
[0009]基于所述设置指令从所述任务队列中获取下一访问权限设置操作请求并处理,重新跳转执行监听所述目标定时器步骤,直至所述批量文件访问权限设置操作请求设置完成。
[0010]可选的,所述根据线程的当前线程资源将所述批量文件访问权限设置操作请求添加至对应线程的任务队列中,包括:
[0011]判断是否存在空闲线程任务;
[0012]若不存在空闲线程任务且当前线程数量等于预设阈值时,则将所述批量文件访问权限设置操作请求添加至当前请求最少的目标线程的任务队列中,并触发所述目标线程的目标信号量;
[0013]若不存在空闲线程任务且当前线程数量小于预设阈值时,则创建新线程,并将所述批量文件访问权限设置操作请求添加至所述新线程的新任务队列中,然后触发所述新线程的新信号量。
[0014]可选的,所述的批量文件访问权限异步处理方法,还包括:
[0015]检测所述目标信号量或所述新信号量的等待时间,若所述等待时间大于预设等待时间且任务队列为空时,销毁对应的待销毁线程并回收所述待销毁线程的线程资源。
[0016]可选的,所述监听所述目标定时器,当接收到所述目标定时器发送的表征异步挂起应答状态码时,对当前文件访问权限设置操作请求进行处理,包括:
[0017]当接收到所述目标定时器发送的表征异步挂起应答状态码时,从所述任务队列中提取文件访问设置操作请求,并解析文件访问权限数据的NTFS格式的安全描述符数据结构;
[0018]对所述安全描述符数据结构依次进行拆解、提取操作,以获取不同格式的文件访问权限列表项。
[0019]可选的,所述对当前文件访问权限设置操作请求进行处理之后,还包括:
[0020]通过异步线程将处理所述当前文件访问权限设置操作请求生成的处理结果写入预设读写通道,以便将所述处理结果发送至主线程。
[0021]可选的,所述基于所述设置指令从所述任务队列中获取下一访问权限设置操作请求并处理,包括:
[0022]触发并下发信号量操作指令,以便所述异步线程接收到所述信号量操作指令后,触发单独异步线程执行指令从所述任务队列中获取下一访问权限设置操作请求并处理。
[0023]可选的,所述的批量文件访问权限异步处理方法,还包括:
[0024]触发服务进程退出流程,若异步线程执行当前文件访问权限设置操作请求,则等待所述异步线程执行当前文件访问权限设置操作请求处理完成;
[0025]发送相应的处理结果至主线程,以便所述主线程进入服务进程退出流程。
[0026]第二方面,本申请公开了一种批量文件访问权限异步处理装置,应用于客户端,包括:
[0027]请求添加模块,用于当接收到批量文件访问权限设置操作请求时,根据线程的当前线程资源将所述批量文件访问权限设置操作请求添加至对应线程的任务队列中;
[0028]定时器启动模块,用于启动用于处理异步文件访问权限设置操作请求应答的目标定时器;
[0029]异步处理模块,用于监听所述目标定时器,当接收到所述目标定时器发送的表征异步挂起应答状态码时,对当前文件访问权限设置操作请求进行处理,并发送下一文件访问权限设置操作请求的设置指令;
[0030]请求处理模块,用于基于所述设置指令从所述任务队列中获取下一访问权限设置操作请求并处理,重新跳转执行监听所述目标定时器步骤,直至所述批量文件访问权限设置操作请求设置完成。
[0031]第三方面,本申请公开了一种电子设备,包括:
[0032]存储器,用于保存计算机程序;
[0033]处理器,用于执行所述计算机程序,以实现前述公开的批量文件访问权限异步处理方法的步骤。
[0034]第四方面,本申请公开了一种计算机可读存储介质,用于存储计算机程序;其中,所述计算机程序被处理器执行时实现前述公开的批量文件访问权限异步处理方法的步骤。
[0035]由此可见,本申请公开了一种批量文件访问权限异步处理方法,应用于客户端,包括:当接收到批量文件访问权限设置操作请求时,根据线程的当前线程资源将所述批量文件访问权限设置操作请求添加至对应线程的任务队列中;启动用于处理异步文件访问权限设置操作请求应答的目标定时器;监听所述目标定时器,当接收到所述目标定时器发送的表征异步挂起应答状态码时,对当前文件访问权限设置操作请求进行处理,并发送下一文件访问权限设置操作请求的设置指令;基于所述设置指令从所述任务队列中获取下一访问权限设置操作请求并处理,重新跳转执行监听所述目标定时器步骤,直至所述批量文件访问权限设置操作请求设置完成。可见,通过将各个文件访问权限设置操作请求设置过程划分到一组不同的异步任务队列中,并提前对客户端本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种批量文件访问权限异步处理方法,其特征在于,应用于客户端,包括:当接收到批量文件访问权限设置操作请求时,根据线程的当前线程资源将所述批量文件访问权限设置操作请求添加至对应线程的任务队列中;启动用于处理异步文件访问权限设置操作请求应答的目标定时器;监听所述目标定时器,当接收到所述目标定时器发送的表征异步挂起应答状态码时,对当前文件访问权限设置操作请求进行处理,并发送下一文件访问权限设置操作请求的设置指令;基于所述设置指令从所述任务队列中获取下一访问权限设置操作请求并处理,重新跳转执行监听所述目标定时器步骤,直至所述批量文件访问权限设置操作请求设置完成。2.根据权利要求1所述的批量文件访问权限异步处理方法,其特征在于,所述根据线程的当前线程资源将所述批量文件访问权限设置操作请求添加至对应线程的任务队列中,包括:判断是否存在空闲线程任务;若不存在空闲线程任务且当前线程数量等于预设阈值时,则将所述批量文件访问权限设置操作请求添加至当前请求最少的目标线程的任务队列中,并触发所述目标线程的目标信号量;若不存在空闲线程任务且当前线程数量小于预设阈值时,则创建新线程,并将所述批量文件访问权限设置操作请求添加至所述新线程的新任务队列中,然后触发所述新线程的新信号量。3.根据权利要求2所述的批量文件访问权限异步处理方法,其特征在于,还包括:检测所述目标信号量或所述新信号量的等待时间,若所述等待时间大于预设等待时间且任务队列为空时,销毁对应的待销毁线程并回收所述待销毁线程的线程资源。4.根据权利要求1所述的批量文件访问权限异步处理方法,其特征在于,所述监听所述目标定时器,当接收到所述目标定时器发送的表征异步挂起应答状态码时,对当前文件访问权限设置操作请求进行处理,包括:当接收到所述目标定时器发送的表征异步挂起应答状态码时,从所述任务队列中提取文件访问设置操作请求,并解析文件访问权限数据的NTFS格式的安全描述符数据结构;对所述安全描述符数据结构依次进行拆解、提取操作,以获取不同格式的文件访问权限列表项。5.根据权利要求1所述的批量文件访问权...

【专利技术属性】
技术研发人员:李世杰
申请(专利权)人:济南浪潮数据技术有限公司
类型:发明
国别省市:

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

1