一种文件写入方法、装置、计算机设备及存储介质制造方法及图纸

技术编号:38927186 阅读:14 留言:0更新日期:2023-09-25 09:34
本公开提供了一种文件写入方法、装置、计算机设备及存储介质,应用于文件系统,其中,该方法包括:接收携带有待写入文件和所述待写入文件的写入位置的文件写入请求,基于所述待写入文件的写入位置确定所述待写入文件的写入类型;在所述待写入文件的写入类型为覆盖写的情况下,将所述待写入文件的写入类型转换为追加写;按照与追加写匹配的文件写入方式,将所述待写入文件写入所述文件系统。述待写入文件写入所述文件系统。述待写入文件写入所述文件系统。

【技术实现步骤摘要】
一种文件写入方法、装置、计算机设备及存储介质


[0001]本公开涉及计算机
,具体而言,涉及一种文件写入方法、装置、计算机设备及存储介质。

技术介绍

[0002]文件系统是一种数据存储系统,允许客户以文件的形式通过网络访问存储于后端存储服务器上的数据。
[0003]相关技术中,文件系统按照提供写数据的方式可以分为覆盖写文件系统和追加写文件系统,覆盖写和追加写在实现中需要使用到不同的文件系统协议,而且在不同应用场景下对覆盖写和追加写的使用需求也是不同的,因此如何设计文件系统的文件写入逻辑,以使得文件系统能够在同时支持覆盖写和追加写的情况下实现高效率的文件写入,成为了该领域内亟待解决的问题。

技术实现思路

[0004]本公开实施例至少提供一种文件写入方法、装置、计算机设备及存储介质。
[0005]第一方面,本公开实施例提供了一种文件写入方法,应用于文件系统,包括:
[0006]接收携带有待写入文件和所述待写入文件的写入位置的文件写入请求,基于所述待写入文件的写入位置确定所述待写入文件的写入类型;
[0007]在所述待写入文件的写入类型为覆盖写的情况下,将所述待写入文件的写入类型转换为追加写;
[0008]按照与追加写匹配的文件写入方式,将所述待写入文件写入所述文件系统。
[0009]一种可能的实施方式中,在接收针对待写入文件的文件写入请求后,所述方法还包括:
[0010]对所述待写入文件进行文件分段处理,得到多个待写入子文件;
[0011]所述基于所述待写入文件的写入位置确定所述待写入文件的写入类型,包括:
[0012]基于各待写入子文件在所述文件系统中分别对应的写入位置,确定各所述待写入子文件分别对应的写入类型。
[0013]一种可能的实施方式中,所述在所述待写入文件的写入类型为覆盖写的情况下,将所述待写入文件的写入类型转换为追加写,包括:
[0014]在所述待写入文件中包含的任一待写入子文件对应的写入类型为覆盖写的情况下,将该待写入子文件对应的写入类型转换为追加写。
[0015]一种可能的实施方式中,所述按照与追加写匹配的文件写入方式,将所述待写入文件写入所述文件系统,包括:
[0016]按照与追加写匹配的文件写入方式,将所述待写入文件写入所述文件系统;以及,
[0017]针对所述待写入文件中写入类型为覆盖写的任一待写入子文件,存储该待写入子文件的文件标识与该待写入文件按照与追加写匹配的文件写入方式,写入所述文件系统的
子文件写入位置之间的映射关系,以基于该写入子文件对应的映射关系,对该待写入子文件对应的写入内容进行查询。
[0018]一种可能的实施方式中,所述按照与追加写匹配的文件写入方式,将所述待写入文件写入所述文件系统,包括:
[0019]确定所述待写入文件按照与追加写匹配的文件写入方式写入所述文件系统的第一写入位置,并将所述待写入文件写入至所述第一写入位置;以及,
[0020]确定所述待写入文件按照与覆盖写匹配的文件写入方式写入所述文件系统的第二写入位置,并将所述第二写入位置对应的数据删除。
[0021]一种可能的实施方式中,所述方法还包括根据以下步骤读取文件:
[0022]接收针对目标文件的文件读取请求,确定请求写入所述目标文件时的写入类型;
[0023]在检测到请求写入所述目标文件时的写入类型为覆盖写的情况下,根据预先存储的目标映射关系,从目标文件对应的写入位置处读取所述目标文件;以及,在检测到请求写入所述目标文件时的写入类型为追加写的情况下,从所述文件读取请求对应的文件读取位置读取的所述目标文件;
[0024]其中,所述目标映射关系为,所述目标文件的文件标识与所述目标文件在所述文件系统中的写入位置之间的映射关系,所述目标文件在所述文件系统中的写入位置与请求写入所述目标文件时对应的写入位置不同。
[0025]一种可能的实施方式中,所述方法还包括:
[0026]在所述待写入文件的写入类型为追加写的情况下,按照与追加写匹配的文件写入方式,将所述待写入文件写入所述文件系统。
[0027]第二方面,本公开实施例还提供一种文件写入装置,应用于文件系统,包括:
[0028]确定模块,用于接收携带有待写入文件的文件写入请求,确定所述文件写入请求对应的写入类型;其中,所述文件写入请求中还包括所述待写入文件的写入类型;
[0029]转换模块,用于在所述文件写入请求中所述待写入文件的写入类型为覆盖写的情况下,将所述文件写入请求中的写入类型转换为追加写;
[0030]写入模块,用于按照与追加写匹配的文件写入方式,将所述待写入文件写入所述文件系统。
[0031]一种可能的实施方式中,在接收针对待写入文件的文件写入请求后,所述确定模块还用于:
[0032]对所述待写入文件进行文件分段处理,得到多个待写入子文件;
[0033]所述确定模块,在基于所述待写入文件的写入位置确定所述待写入文件的写入类型时,用于:
[0034]基于各待写入子文件在所述文件系统中分别对应的写入位置,确定各所述待写入子文件分别对应的写入类型。
[0035]一种可能的实施方式中,所述转换模块,在所述待写入文件的写入类型为覆盖写的情况下,将所述待写入文件的写入类型转换为追加写时,用于:
[0036]在所述待写入文件中包含的任一待写入子文件对应的写入类型为覆盖写的情况下,将该待写入子文件对应的写入类型转换为追加写。
[0037]一种可能的实施方式中,所述写入模块,在按照与追加写匹配的文件写入方式,将
所述待写入文件写入所述文件系统时,用于:
[0038]按照与追加写匹配的文件写入方式,将所述待写入文件写入所述文件系统;以及,
[0039]针对所述待写入文件中写入类型为覆盖写的任一待写入子文件,存储该待写入子文件的文件标识与该待写入文件按照与追加写匹配的文件写入方式,写入所述文件系统的子文件写入位置之间的映射关系,以基于该写入子文件对应的映射关系,对该待写入子文件对应的写入内容进行查询。
[0040]一种可能的实施方式中,所述写入模块,在按照与追加写匹配的文件写入方式,将所述待写入文件写入所述文件系统时,用于:
[0041]确定所述待写入文件按照与追加写匹配的文件写入方式写入所述文件系统的第一写入位置,并将所述待写入文件写入至所述第一写入位置;以及,
[0042]确定所述待写入文件按照与覆盖写匹配的文件写入方式写入所述文件系统的第二写入位置,并将所述第二写入位置对应的数据删除。
[0043]一种可能的实施方式中,所述确定模块还用于根据以下步骤读取文件:
[0044]接收针对目标文件的文件读取请求,确定请求写入所述目标文件时的写入类型;
[0045]在检测到请求写入所述目标文件时的写入类型为覆盖写的情况下,根据预先存储的目标映射关系,本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种文件写入方法,其特征在于,应用于文件系统,包括:接收携带有待写入文件和所述待写入文件的写入位置的文件写入请求,基于所述待写入文件的写入位置确定所述待写入文件的写入类型;在所述待写入文件的写入类型为覆盖写的情况下,将所述待写入文件的写入类型转换为追加写;按照与追加写匹配的文件写入方式,将所述待写入文件写入所述文件系统。2.根据权利要求1所述的方法,其特征在于,在接收针对待写入文件的文件写入请求后,所述方法还包括:对所述待写入文件进行文件分段处理,得到多个待写入子文件;所述基于所述待写入文件的写入位置确定所述待写入文件的写入类型,包括:基于各待写入子文件在所述文件系统中分别对应的写入位置,确定各所述待写入子文件分别对应的写入类型。3.根据权利要求2所述的方法,其特征在于,所述在所述待写入文件的写入类型为覆盖写的情况下,将所述待写入文件的写入类型转换为追加写,包括:在所述待写入文件中包含的任一待写入子文件对应的写入类型为覆盖写的情况下,将该待写入子文件对应的写入类型转换为追加写。4.根据权利要求3所述的方法,其特征在于,所述按照与追加写匹配的文件写入方式,将所述待写入文件写入所述文件系统,包括:按照与追加写匹配的文件写入方式,将所述待写入文件写入所述文件系统;以及,针对所述待写入文件中写入类型为覆盖写的任一待写入子文件,存储该待写入子文件的文件标识与该待写入文件按照与追加写匹配的文件写入方式,写入所述文件系统的子文件写入位置之间的映射关系,以基于该写入子文件对应的映射关系,对该待写入子文件对应的写入内容进行查询。5.根据权利要求1所述的方法,其特征在于,所述按照与追加写匹配的文件写入方式,将所述待写入文件写入所述文件系统,包括:确定所述待写入文件按照与追加写匹配的文件写入方式写入所述文件系统的第一写入位置,并将所述待写入文件写入至所述第一写入位置;以及,确定所述待写入文件按照与覆盖写匹配的文件写入方式写入所述文件...

【专利技术属性】
技术研发人员:刘昌闫鹏飞孙浩吕宝虹罗霄
申请(专利权)人:北京市商汤科技开发有限公司
类型:发明
国别省市:

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

1