【技术实现步骤摘要】
文件操作方法、装置、计算机设备和存储介质
[0001]本申请涉及云计算
,特别是涉及一种文件操作方法、装置、计算机设备和存储介质。
技术介绍
[0002]随着计算机存储能力的提升和复杂算法的发展,近年来的数据量成指数型增长,一些分布式计算平台应运而生,以便实现在大量计算机组成的集群中对海量数据进行分布式计算,为大数据的分布式存储和计算提供了有效支撑。
[0003]对于分布式计算平台中的数据操作,传统方案中,分布式计算平台内部存在一把针对目录节点树的全局锁,对属于目录节点树中数据的所有数据操作均需先获取该全局锁,然后才能进行后续的数据操作。然而,若有其它数据操作请求获取该全局锁,则该其它数据操作请求的数据操作会被阻塞,直到该全局锁释放才能进行数据操作,严重制约了分布式计算平台中数据的操作效率。
技术实现思路
[0004]基于此,有必要针对上述技术问题,提供一种能够提高分布式计算平台中数据的操作效率的文件操作方法、装置、计算机设备和存储介质。
[0005]一种文件操作方法,所述方法包括:
[0006]响应于文件操作请求,确定所述文件操作请求指定的目标文件的文件路径;
[0007]沿所述文件路径的起点向终点逐级查找所述目标文件所属的文件目录;
[0008]在逐级查找所述目标文件所属的文件目录的过程中,依次对逐级查找到的所述文件目录进行加锁处理,以及对所述目标文件进行加锁处理;
[0009]对所述目标文件进行文件操作;其中,在对所述目标文件进行写操作的过程 ...
【技术保护点】
【技术特征摘要】
1.一种文件操作方法,其特征在于,所述方法包括:响应于文件操作请求,确定所述文件操作请求指定的目标文件的文件路径;沿所述文件路径的起点向终点逐级查找所述目标文件所属的文件目录;在逐级查找所述目标文件所属的文件目录的过程中,依次对逐级查找到的所述文件目录进行加锁处理,以及对所述目标文件进行加锁处理;对所述目标文件进行文件操作;其中,在对所述目标文件进行写操作的过程中,所述目标文件的其它文件操作请求处于等待状态。2.根据权利要求1所述的方法,其特征在于,所述确定所述文件操作请求指定的目标文件的文件路径包括:从所述文件操作请求中读取目标文件的文件路径;或者,从所述文件操作请求中读取目标文件的文件标识,基于所述文件标识查找所述目标文件的文件路径。3.根据权利要求1所述的方法,其特征在于,所述沿所述文件路径的起点向终点逐级查找所述目标文件所属的文件目录包括:获取所述文件操作请求对应的目录节点树;所述文件路径是所述目录节点树中以根目录对应的节点为起点、以所述目标文件对应的节点为终点的分支;在所述目录节点树中,以所述根目录对应的节点为查找的起点沿所述文件路径进行文件目录逐级查找,得到每个层级下的包括所述目标文件的文件目录;所述依次对逐级查找到的所述文件目录进行加锁处理包括:依次对逐级查找到的包括所述目标文件的文件目录进行加锁处理。4.根据权利要求1所述的方法,其特征在于,所述文件操作请求包括文件读请求;所述依次对逐级查找到的所述文件目录进行加锁处理,以及对所述目标文件进行加锁处理包括:从锁资源池中分别获取共享锁,或创建所述共享锁;基于不同的所述共享锁依次对逐级查找到的所述文件目录进行加锁处理;依据不同的所述共享锁对所述目标文件进行加锁处理。5.根据权利要求1所述的方法,其特征在于,所述文件操作请求包括文件写请求;所述依次对逐级查找到的所述文件目录进行加锁处理,以及对所述目标文件进行加锁处理包括:从锁资源池中分别获取共享锁和排斥锁,或创建所述共享锁和所述排斥锁;基于不同的所述共享锁依次对逐级查找到的所述文件目录进行加锁处理;依据所述排斥锁对所述目标文件进行加锁处理。6.根据权利要求1所述的方法,其特征在于,所述文件操作请求包括文件创建请求;所述依次对逐级查找到的所述文件目录进行加锁处理,以及对所述目标文件进行加锁处理包括:从锁资源池中分别获取共享锁和排斥锁,或创建所述共享锁和所述排斥锁;当逐级查找到的所述文件目录不是所述目标文件的父节点时,基于不同的所述共享锁分别对查找到的所述文件目录进行加锁处理;当逐级查找到的所述文件目录是所述目标文件的父节点时,基于所述排斥锁对查找到
的所述文件目录进行加锁处理;基于不同的所述排斥锁对所述目标文件进行加锁处理。7.根据权利要求4至6中的任一项所述的方法,其特征在于,所述共享锁和排斥锁均为不同的且包括引用计数器的锁对象;所述对所述目标文件进行文件操作之后,所述方法还包括:当所述共享锁和所述排斥锁被释放时,分别将被释放的所述共享锁和所述排斥锁中的引用计数器进行计数调整,以使调整后的所述引用计数器中的计数用于表示被释放的所述共享锁和所述排斥锁未被占用;将调整后的所述引用计数...
【专利技术属性】
技术研发人员:赵明超,蒋杰,毛宝龙,陈怡,邵赛赛,王杰,
申请(专利权)人:腾讯科技深圳有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。