[发明专利]修改文件的方法和装置在审
申请号: | 202110385320.3 | 申请日: | 2021-04-09 |
公开(公告)号: | CN115203148A | 公开(公告)日: | 2022-10-18 |
发明(设计)人: | 邱歌;王夏阳;李志鹏;钱璟;姜俊超;谷德贺;纪程;薛春 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | G06F16/174 | 分类号: | G06F16/174;G06F12/1009;G06F3/06 |
代理公司: | 北京同立钧成知识产权代理有限公司 11205 | 代理人: | 宋兴;黄健 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 修改 文件 方法 装置 | ||
本申请提供了一种修改文件的方法和装置,有利于减少读写操作对存储介质的读写次数,进而降低读写操作对存储设备的寿命损耗。该方法包括:基于文件修改请求,确定文件的待修改数据;在待修改数据的数据量小于或等于第一阈值的情况下,基于待修改数据和文件的基准数据,得到差分数据;对差分数据进行压缩,得到差分压缩数据;在差分压缩数据的数据量小于或等于第二阈值的情况下,将该差分压缩数据存储至第一存储空间。
技术领域
本申请涉及计算机存储领域,尤其涉及一种修改文件的方法和装置。
背景技术
许多文件系统提供了压缩特性,将文件数据压缩后保存在存储设备中。这些文件系统针对用户数据进行全量压缩,即将完整的文件拆分成多个部分,每个部分压缩成为一个压缩单元。压缩单元和数据结构独立存放在存储设备的不同位置,文件系统在数据结构中记录了每个文件对应的全部压缩单元的索引。
当文件系统需要修改压缩文件内容时,会根据修改的具体的压缩单元的索引找到相应的压缩单元,解压缩整个压缩单元的内容,修改后重新压缩并写回存储设备。但是,全量压缩无法精确预测该用户下发的修改请求在压缩单元中的具体位置,而需要从存储设备读回整个压缩单元,修改后重新压缩写回,但在闪存等多种存储设备上,存储介质的写入寿命有限制,大量的文件读写操作会带来存储设备寿命的损耗,降低存储设备的使用寿命和使用体验。
因此,目前亟需提供一种文件存储的方法,以解决上述读写次数过多影响存储设备使用寿命的问题。
发明内容
本申请提供一种修改文件的方法,有利于减少读写操作对存储设备的读写次数,进而读写操作降低对存储设备的寿命损耗。
第一方面,提供了一种修改文件的方法,包括:基于文件修改请求,确定文件的待修改数据;在上述待修改数据的数据量小于或等于第一阈值的情况下,基于上述待修改数据和上述文件的基准数据,得到差分数据;对上述差分数据进行压缩,得到差分压缩数据;在上述差分压缩数据的数据量小于或等于第二阈值的情况下,将上述差分压缩数据存储至第一存储空间。
在本申请实施例中,存储设备通过文件的待修改数据和文件的基准数据,得到差分数据,并压缩该差分数据得到差分压缩数据,存储设备只需要将该差分压缩数据保存在第一存储空间,不需要立即对文件进行修改,后续可以按需基于差分压缩数据的文件偏移地址,准确定位解压数据需要修改的位置,对压缩数据进行更新。本申请实施例的修改文件的方法有利于减少读写操作对存储介质的读写次数,进而降低读写操作对存储设备的寿命损耗,且在修改过程中,存储设备可以避免文件读写放大的问题,降低了文件读写的延迟。
结合第一方面,在第一方面的某些实现方式中,基于上述待修改数据和上述文件的基准数据,得到差分数据之前,还包括:从缓存中的基准数据页链表获取上述文件的基准数据,上述基准数据页链表包括按照访问时间进行排序的多个基准数据页。
在本申请实施例中,存储设备在操作系统的页缓存中设置了基准数据页链表,将基准数据按照访问时间的顺序缓存在基准数据页链表,避免了每一次修改文件都需要从存储介质读取基准数据与待修改数据进行比对,得到差分数据,所以本申请实施例的修改文件的方法有利于减少读写操作对存储介质的读写次数,进而降低读写操作对存储设备的寿命损耗。
结合第一方面,在第一方面的某些实现方式中,上述方法还包括:确定上述差分数据的文件偏移地址和上述差分数据对应的原压缩数据的索引;将上述文件偏移地址和原压缩数据的索引存储至上述第一存储空间。
结合第一方面,在第一方面的某些实现方式中,上述方法包括:根据上述原压缩数据的索引,确定存储在第二存储空间中的上述文件的原压缩数据,上述第二存储空间和上述第一存储空间不同;对上述原压缩数据进行解压,获得解压数据;基于上述差分压缩数据和上述文件偏移地址,修改上述解压数据,获得更新数据;对上述更新数据进行压缩,并将新的压缩数据存储至上述第二存储空间。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110385320.3/2.html,转载请声明来源钻瓜专利网。