System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 文件复制方法、终端设备及芯片系统技术方案_技高网

文件复制方法、终端设备及芯片系统技术方案

技术编号:40674251 阅读:4 留言:0更新日期:2024-03-18 19:11
本申请实施例公开了一种文件复制方法、终端设备及芯片系统,适用于计算机技术领域,该方法包括:在检测到对目标文件系统中的源文件的reflink复制操作时,生成源文件的副本文件,副本文件包括副本索引节点;在源索引节点的扩展属性区域写入副本索引节点的副本索引标识,以及在副本索引节点的扩展属性区域写入源索引节点的源索引标识,其中,源索引节点指向源文件的文件地址。本申请实施例可以实现原本不支持reflink的文件系统能够支持reflink功能,有助于提高终端设备上的存储空间的利用率和复制效率。

【技术实现步骤摘要】

本申请涉及计算机,尤其涉及一种文件复制方法、终端设备及芯片系统


技术介绍

1、引用链接技术(reflink)是文件系统提供的基于写时复制(copy on write,cow)原理的轻量级数据复制方法,通过reflink复制得到的副本文件可以与源文件共享文件数据,可以减少存储空间的消耗,有助于提高终端设备上的存储空间的利用率和复制效率。

2、但实际应用中发现,有些文件系统,比如,闪存友好型文件系统(flash-friendlyfile system,f2fs),并不支持reflink功能,不支持reflink功能的文件系统在处理文件复制操作时,通常需要针对每种复制场景都对文件数据进行复制,需要消耗非常多的存储空间,且容易降低文件复制效率。

3、因此,需要在不支持reflink功能的文件系统中实现reflink功能,以提高终端设备上的存储空间的利用率和复制效率。


技术实现思路

1、有鉴于此,本申请实施例提供了文件复制方法、终端设备及芯片系统,可以在不支持reflink功能的文件系统中实现reflink功能,以提高终端设备上的存储空间的利用率和复制效率。

2、本申请实施例的第一方面提供了一种文件复制方法,应用于终端设备,包括:

3、在检测到对目标文件系统中的源文件的reflink复制操作时,生成源文件的副本文件,副本文件包括副本索引节点;在源索引节点的扩展属性区域写入副本索引节点的副本索引标识,以及在副本索引节点的扩展属性区域写入源索引节点的源索引标识,其中,源索引节点指向源文件的文件地址。

4、上述目标文件系统通常是原本不支持reflink功能的文件系统,比如,f2fs文件系统。不支持reflink功能的文件系统的索引节点中,通常不具有专门用于存放reflink功能相关数据的区域。

5、上述源索引节点为源文件的索引节点,上述副本索引节点为副本文件的索引节点。

6、上述源索引标识为用于标识源索引节点的信息。副本索引标识为用于标识副本索引节点的信息。

7、在本申请实施例中,由于每个索引节点中通常具有扩展属性区域,终端设备通过将副本索引标识写入源索引节点的扩展属性区域,以及将源索引标识写入副本索引节点的扩展属性区域,以此来建立源文件与副本文件之间的reflink关联关系,实现过程简单且较为巧妙,可以有效降低计算复杂度,有助于进一步提高复制效率。另外,终端设备在检测到对目标文件系统中的源文件的reflink复制操作时,生成源文件的副本文件,以及通过所建立的源文件与副本文件之间的reflink关联关系,实现副本文件与源文件共享文件数据,可以实现对目标文件系统中的源文件执行reflink复制操作时,无需对文件数据进行复制,有助于提高终端设备上存储空间的利用率文件和复制效率。另外,在对目标文件系统中的源文件执行reflink复制的过程中,终端设备通过将副本索引标识写入源索引节点的扩展属性区域,以及将源索引标识写入副本索引节点的扩展属性区域,来建立源文件与副本文件之间的reflink关联关系,从而实现执行reflink复制时无需对源文件的文件数据进行复制,可以实现原本不支持reflink的文件系统能够支持reflink功能,有助于提高终端设备上的存储空间的利用率和复制效率。

8、作为本申请的一个可选实施例,源文件可以是普通文件,也可以是副本文件。

9、在本申请实施例中,源文件既可以为普通文件也可以为副本文件,可以满足多种应用场景下的reflink复制需求,有助于提升终端设备的性能。

10、作为本申请的一个可选实施例,在源文件为副本文件时,被操作的副本文件与新生成的副本文件对应同一源文件。

11、在本申请实施例中,在被操作的源文件为副本文件时,新生成的副本文件与被操作的副本文件共享同一源文件,可以简化计算复杂度,有助于提高终端设备的数据处理效率。

12、作为本申请的一个可选实施例,终端设备在检测到对副本文件的读操作时,根据副本索引节点中记录的源索引标识,确定源索引节点,从源索引节点指向的文件地址读取文件数据。

13、作为本申请的一个可选实施例,终端设备在检测到对源文件的读操作时,从源索引节点指向的文件地址读取文件数据。

14、作为本申请的一个可选实施例,源文件具有读写锁,副本文件具有读写锁。

15、在本申请实施例中,源文件和副本文件都具有读写锁,可以保障源文件和副本文件被执行多种并发操作时的数据安全性。

16、作为本申请的一个可选实施例,终端设备在获取到副本文件的写锁以及获取到源文件的读锁时,在源索引节点的扩展属性区域写入副本索引节点的副本索引标识,以及在副本索引节点的扩展属性区域写入源索引节点的源索引标识。

17、在本申请实施例中,终端设备在建立源文件与副本文件之间的reflink关联关系的过程中,持副本文件的写锁,可以保障副本文件在建立reflink关联关系时不支持其它的诸如写入操作、删除操作等的操作,以保障副本文件的数据安全。另外,终端设备在建立源文件与副本文件之间的reflink关联关系的过程中,持源文件的读锁,可以保障同一源文件可以同时与多个副本文件建立reflink关联关系,从而提高终端设备建立reflink关联关系时的效率。

18、作为本申请的一个可选的实施例,目标文件系统为f2fs文件系统,扩展属性区域包括位于目标索引节点内的内部扩展区域和位于目标索引节点外的外部扩展区域,目标索引节点包括源索引节点和副本索引节点。

19、作为本申请的一个可选的实施例,在目标文件系统为f2fs文件系统时,终端设备在源索引节点的扩展属性区域写入副本索引节点的副本索引标识,以及在副本索引节点的扩展属性区域写入源索引节点的源索引标识,包括:终端设备在源索引节点的内部扩展区域写入副本索引标识,以及在副本索引节点的内部扩展区域写入源索引标识。

20、在本申请实施例中,由于f2fs文件系统中,索引节点内部的内部扩展区域与索引节点处于同一数据块,索引节点外部的外部扩展区域与索引节点分别处于相异的两个数据块,又由于文件系统在持久化过程中的数据保存粒度为一个数据块,且具体是先保存索引节点所在的数据块,再保存索引节点之外的外部扩展区域所在的数据块,将需要被写入的索引标识写入内部扩展区域,可以实现对被写入的索引标识进行及时保存,从而避免两次数据块保存期间发生的异常情况所导致的被写入索引标识保存失败,有助于保障数据安全。

21、在第一方面的第一种可能的实现方式中,目标文件系统为f2fs文件系统,扩展属性区域包括位于目标索引节点内的内部扩展区域和位于目标索引节点外的外部扩展区域,目标索引节点包括源索引节点和副本索引节点;

22、在源索引节点的扩展属性区域写入副本索引节点的副本索引标识,以及在副本索引节点的扩展属性区域写入源索引节点的源索引标识,包括:在源索引节点的内部扩展区域的头部写入本文档来自技高网...

【技术保护点】

1.一种文件复制方法,其特征在于,应用于终端设备,所述方法包括:

2.根据权利要求1所述的文件复制方法,其特征在于,所述目标文件系统为闪存友好型文件系统,所述扩展属性区域包括位于目标索引节点内的内部扩展区域和位于所述目标索引节点外的外部扩展区域,所述目标索引节点包括所述源索引节点和所述副本索引节点;

3.根据权利要求2所述的文件复制方法,其特征在于,所述在所述源索引节点的内部扩展区域的头部写入所述副本索引标识,包括:

4.根据权利要求2所述的文件复制方法,其特征在于,所述在所述副本索引节点的内部扩展区域的头部写入所述源索引标识,包括:

5.根据权利要求3所述的文件复制方法,其特征在于,所述将所述副本索引标识,写入副本键值对中的副本数组,包括:

6.根据权利要求1所述的文件复制方法,其特征在于,所述方法还包括:

7.根据权利要求1所述的文件复制方法,其特征在于,所述方法还包括:

8.根据权利要求1所述的文件复制方法,其特征在于,所述源文件具有读写锁,且所述副本文件具有读写锁,所述方法还包括:

9.根据权利要求1所述的文件复制方法,其特征在于,所述方法还包括:

10.根据权利要求9所述的文件复制方法,其特征在于,所述源文件具有读写锁,且所述副本文件具有读写锁;

11.一种终端设备,其特征在于,所述终端设备包括存储器、处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至10任一项所述的文件复制方法。

12.一种芯片系统,其特征在于,所述芯片系统包括处理器,所述处理器与存储器耦合,所述处理器执行存储器中存储的计算机程序,以实现如权利要求1至10任一项所述的文件复制方法。

...

【技术特征摘要】

1.一种文件复制方法,其特征在于,应用于终端设备,所述方法包括:

2.根据权利要求1所述的文件复制方法,其特征在于,所述目标文件系统为闪存友好型文件系统,所述扩展属性区域包括位于目标索引节点内的内部扩展区域和位于所述目标索引节点外的外部扩展区域,所述目标索引节点包括所述源索引节点和所述副本索引节点;

3.根据权利要求2所述的文件复制方法,其特征在于,所述在所述源索引节点的内部扩展区域的头部写入所述副本索引标识,包括:

4.根据权利要求2所述的文件复制方法,其特征在于,所述在所述副本索引节点的内部扩展区域的头部写入所述源索引标识,包括:

5.根据权利要求3所述的文件复制方法,其特征在于,所述将所述副本索引标识,写入副本键值对中的副本数组,包括:

6.根据权利要求1所述的文件复制方法,其特征在于,所述方法还包括:

...

【专利技术属性】
技术研发人员:王启
申请(专利权)人:荣耀终端有限公司
类型:发明
国别省市:

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

1