[发明专利]文件访问方法、装置、电子设备及存储介质有效
申请号: | 201910854500.4 | 申请日: | 2019-09-10 |
公开(公告)号: | CN112559450B | 公开(公告)日: | 2022-04-29 |
发明(设计)人: | 张振 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
主分类号: | G06F16/13 | 分类号: | G06F16/13;G06F16/182;G06F16/176 |
代理公司: | 北京智信四方知识产权代理有限公司 11519 | 代理人: | 钟文芳;宋海龙 |
地址: | 英属开曼群岛大开*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 文件 访问 方法 装置 电子设备 存储 介质 | ||
本公开实施例公开了一种文件访问方法、装置、电子设备及存储介质,所述方法包括:接收对目标文件的重试写请求;其中,所述重试写请求中包括所述目标文件的第一写锁及待写内容;释放所述目标文件的第一写锁,并重新打开所述目标文件;根据重新打开的所述目标文件以及所述重试写请求确定所述重试写请求中的待写内容是否已经被写入所述目标文件。该技术方案能够获得操作该目标文件的相关信息,执行写请求及后续的重试写请求的服务器由于不必使用同一服务器,因此在分布式文件系统中的服务器发生故障时,能够通过重试的策略选择无故障的服务器保证业务的连续性和可用性。
技术领域
本公开涉及计算机技术领域,具体涉及一种文件访问方法、装置、电子设备及存储介质。
背景技术
分布式文件系统中,客户端通常通过负载均衡方式访问分布式文件系统中的后端服务器;在当用户通过客户端发送文件的写请求时,如果由于网络、软件、硬件等原因长时间没有收到回应,则客户端会进行重试写请求;但是这种情况下,后端服务器可能会收到多次相同的重试写请求,由于分布式文件系统只支持追加写的方式,因此如何确保只有一次的写入成功,并保障数据的正确性成为了分布式文件系统需要解决的一项技术问题。
发明内容
本公开实施例提供一种文件访问方法、装置、电子设备及计算机可读存储介质。
第一方面,本公开实施例中提供了一种文件访问方法。
具体的,所述文件访问方法,包括:
接收对目标文件的重试写请求;其中,所述重试写请求中包括所述目标文件的第一写锁及待写内容;
释放所述目标文件的第一写锁,并重新打开所述目标文件;
根据重新打开的所述目标文件以及所述重试写请求确定所述重试写请求中的待写内容是否已经被写入所述目标文件。
进一步地,所述重试写请求中还包括所述目标文件的第一唯一标识。
进一步地,所述重新打开所述目标文件之后,所述重新打开所述目标文件之后,所述方法还包括以下至少之一:
获得分配给重新打开的所述目标文件的第二唯一标识;
获得分配给重新打开所述目标文件的第二写锁。
进一步地,获得分配给重新打开的所述目标文件的第二唯一标识之后,所述方法还包括:
在所述第一唯一标识和所述第二唯一标识不一致时,向客户端返回重试写请求执行失败的结果。
进一步地,根据重新打开的所述目标文件以及所述重试写请求确定所述重试写请求中的待写内容是否已经被写入所述目标文件,包括:
确定所述目标文件的当前长度;
根据所述待写内容待写入至所述目标文件中的起始位置以及所述当前长度确定所述待写内容是否已被写入所述目标文件。
进一步地,所述方法还包括:
在确定所述待写内容未被写入所述目标文件后,根据所述待写内容的起始位置将所述待写内容写入所述目标文件中。
进一步地,根据所述待写内容待写入至所述目标文件中的起始位置以及所述当前长度确定所述待写内容是否已被写入所述目标文件,包括:
在所述当前长度等于所述目标文件在所述起始位置处的长度加上所述待写内容的长度时,确定所述待写入内容与已有内容是否一致;其中,所述已有内容为所述目标文件中所述起始位置开始且长度与所述待写内容相等的内容;
在所述待写内容与所述已有内容一致时,确定所述待写内容已被写入所述目标文件。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910854500.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种锁螺丝方法及锁螺丝装置
- 下一篇:一种经络疏通仪