迁移文件的方法、装置及存储介质制造方法及图纸

技术编号:36329623 阅读:31 留言:0更新日期:2023-01-14 17:39
本申请公开了一种迁移文件的方法、装置及存储介质,属于通信领域。所述方法包括:获取源文件系统包括的每个文件目录的句柄,所述每个文件目录包括至少一个文件,所述至少一个文件位于所述源文件系统;基于所述每个文件目录的句柄,获取所述源文件系统中的每个文件的元数据;基于所述每个文件的元数据,将第一文件迁移到目的文件系统,所述第一文件是在第一时间后所述源文件系统上发生变化的文件或新增加的文件,所述第一时间为上一次向所述目的文件系统迁移文件的时间。本申请能够提高迁移文件的效率。的效率。的效率。

【技术实现步骤摘要】
迁移文件的方法、装置及存储介质
[0001]本申请要求于2021年7月8日提交的申请号为202110773762.5、专利技术名称为“一种海量文件的快速增量迁移方法”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。


[0002]本申请涉及通信领域,特别涉及一种迁移文件的方法、装置及存储介质。

技术介绍

[0003]在文件存储领域常常需要迁移文件,即需要将源文件系统中的文件迁移到目的文件系统上。
[0004]目前在迁移文件时,获取源文件系统中的每个文件的文件路径,基于任一个文件的文件路径,通过与源文件系统交互多次可移植操作系统接口(portable operating system interface,POSIX)接口调用消息,才能从源文件系统中获取该文件的元数据,按上述相同方式获取源文件系统中的每个文件的元数据,以及从目的文件系统中获取目的文件系统中的每个文件的元数据。
[0005]基于源文件系统中的每个文件的元数据和目的文件系统中的每个文件的元数据,得出相比目的文件系统,源文件系统中发生变化的文件或新增加的文件,将发生变化的文件或新增加的文件,从源文件系统迁移到目的文件系统。
[0006]无论从源文件系统中获取文件的元数据,还是从目的文件系统中获取文件的元数据,每个文件都需要通过交互多次POSIX接口调用消息才获取到每个文件的元数据,交互的消息过多,导致获取元数据的效率低,进而降低迁移文件的效率。

技术实现思路

[0007]本申请提供了一种迁移文件的方法、装置及存储介质,以提高迁移文件的效率。所述技术方案如下:
[0008]第一方面,本申请提供了一种迁移文件的方法,在所述方法中,获取源文件系统包括的每个文件目录的句柄,每个文件目录包括至少一个文件,该至少一个文件位于源文件系统。基于每个文件目录的句柄,获取源文件系统中的每个文件的元数据。基于每个文件的元数据,将第一文件迁移到目的文件系统,第一文件是在第一时间后源文件系统上发生变化的文件或新增加的文件,第一时间为上一次向目的文件系统迁移文件的时间。
[0009]其中,基于第一文件目录的句柄直接在源文件系统中定位到第一文件目录,批量获取第一文件目录中的每个一级文件的元数据,这样不需要对每个文件交互多次POSIX接口调用消息来获取每个文件的元数据,从而提高获取文件的元数据的效率,提高了迁移文件的效率。
[0010]在一种可能的实现方式中,向源文件系统发送查询请求消息,该查询请求消息包括源文件系统的根目录的目录标识。接收源文件系统发送的查询响应消息,该查询响应消
息包括根目录的句柄。这样通过根目录的目录标识,使源文件系统提供根目录的句柄,进而基于根目录的句柄获取到源文件系统中的每个文件的句柄。
[0011]在另一种可能的实现方式中,向源文件系统发送第一读取请求消息,第一读取请求消息包括第一文件目录的句柄,第一文件目录是已获取到句柄的文件目录,第一文件目录是源文件系统中的文件目录。接收源文件系统发送的第一读取响应消息,第一读取响应消息包括第一文件目录中的一级子文件目录的句柄,第一文件目录与该一级子文件目录之间没有间隔其他文件目录。如此,通过每级文件目录的句柄,使得源文件系统提供每级文件目录下的一级子文件目录的句柄,重复该过程从而得到源文件系统中的每个文件目录的句柄。
[0012]在另一种可能的实现方式中,向源文件系统发送第二读取请求消息,第二读取请求消息包括第二文件目录的句柄,第二文件目录是源文件系统中的文件目录。接收源文件系统发送的第二读取响应消息,第二读取响应消息包括第二文件目录中的一级文件的元数据,第二文件目录与该一级文件之间没有间隔其他文件目录。如此,通过第一文件目录的句柄,直接获取到第一文件目录下的一级文件的元数据,从而提高了获取文件的元数据的效率。
[0013]在另一种可能的实现方式中,第一文件的元数据包括第一文件的文件标识和文件属性。
[0014]在另一种可能的实现方式中,基于第一元数据序列和第二元数据序列,获取第一文件的文件标识,第一元数据序列包括所述每个文件的元数据,第二元数据序列包括在第一时间源文件系统中的每个文件的元数据。基于第一文件的文件标识,将第一文件从源文件系统迁移到目的文件系统上。其中,第二元数据序列中的元数据均是在第一时间获取的元数据,这样在迁移文件时,不需要从目的文件系统中获取文件的元数据,从而进一步提高迁移文件的效率。
[0015]在另一种可能的实现方式中,第一元数据序列中的每个文件的元数据按每个文件的文件标识顺序排列。
[0016]在另一种可能的实现方式中,获取第一指示信息指示的第一元数据,以及第二指示信息指示的第二元数据,第一指示信息指示的首个元数据为第一元数据序列中的第一个元数据,第二指示信息指示的首个元数据为第二元数据序列中的第一个元数据。在第一元数据包括的文件标识和第二元数据包括的文件标识相同以及第一元数据包括的文件属性和第二元数据包括的文件属性不同时,确定第一元数据包括的文件标识为第一文件的文件标识,第一元数据包括的文件标识对应的文件是在第一时间后源文件系统上发生变化的文件。如此通过比较两个指示信息指示的元数据,可以快速得出发生变化的第一文件,进而提高迁移第一文件的效率。
[0017]在另一种可能的实现方式中,在第一元数据包括的文件标识和第二元数据包括的文件标识相同以及第一元数据包括的文件属性和第二元数据包括的文件属性不同时,在第一元数据序列中设置第一指示信息指示第一元数据之后的下一个元数据,以及在第二元数据序列中设置第二指示信息指示第二元数据之后的下一个元数据。如此,通过移动第一指示信息和第二指示信息,来迁移其他发生变化的文件或新增加的文件。
[0018]在另一种可能的实现方式中,第一元数据序列中的每个文件的元数据按每个文件
的文件标识按从小到大的顺序排列,在第一元数据包括的文件标识小于第二元数据包括的文件标识时,确定第一元数据包括的文件标识为第一文件的文件标识,第一元数据中的文件标识对应的文件是在第一时间后源文件系统中新增加的文件。如此通过比较两个指示信息指示的元数据,可以快速得出新增加的第一文件,进而提高迁移第一文件的效率。
[0019]在另一种可能的实现方式中,在第一元数据包括的文件标识小于第二元数据包括的文件标识时,在第一元数据序列中设置第一指示信息指示第一元数据之后的下一个元数据。如此,通过移动第一指示信息,来迁移其他发生变化的文件或新增加的文件。
[0020]在另一种可能的实现方式中,将第二元数据序列更新为第一元数据序列,这样在下一次迁移文件时,直接使用更新后的第二元数据序列,不用从目的文件系统中获取文件的元数据,提高了迁移文件的效率。
[0021]第二方面,本申请提供了一种迁移文件的装置,用于执行第一方面或第一方面的任意一种可能的实现方式中的方法。具体地,所述装置包括用于执行第一方面或第一方面的任意一种可能的实现方式中的方法的单元。
[0022]第三方面,本本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种迁移文件的方法,其特征在于,所述方法包括:获取源文件系统包括的每个文件目录的句柄,所述每个文件目录包括至少一个文件,所述至少一个文件位于所述源文件系统;基于所述每个文件目录的句柄,获取所述源文件系统中的每个文件的元数据;基于所述每个文件的元数据,将第一文件迁移到目的文件系统,所述第一文件是在第一时间后所述源文件系统上发生变化的文件或新增加的文件,所述第一时间为上一次向所述目的文件系统迁移文件的时间。2.如权利要求1所述的方法,其特征在于,所述获取源文件系统包括的每个文件目录的句柄,包括:向所述源文件系统发送查询请求消息,所述查询请求消息包括所述源文件系统的根目录的目录标识;接收所述源文件系统发送的查询响应消息,所述查询响应消息包括所述根目录的句柄。3.如权利要求2所述的方法,其特征在于,所述获取源文件系统包括的每个文件目录的句柄,还包括:向所述源文件系统发送第一读取请求消息,所述第一读取请求消息包括第一文件目录的句柄,所述第一文件目录是已获取到句柄的文件目录,所述第一文件目录是所述源文件系统中的文件目录;接收所述源文件系统发送的第一读取响应消息,所述第一读取响应消息包括所述第一文件目录中的一级子文件目录的句柄,所述第一文件目录与所述一级子文件目录之间没有间隔其他文件目录。4.如权利要求1

3任一项所述的方法,其特征在于,所述基于所述每个文件目录的句柄,获取所述源文件系统中的每个文件的元数据,包括:向所述源文件系统发送第二读取请求消息,所述第二读取请求消息包括第二文件目录的句柄,所述第二文件目录是所述源文件系统中的文件目录;接收所述源文件系统发送的第二读取响应消息,所述第二读取响应消息包括所述第二文件目录中的一级文件的元数据,所述第二文件目录与所述一级文件之间没有间隔其他文件目录。5.如权利要求1

4任一项所述的方法,其特征在于,所述第一文件的元数据包括所述第一文件的文件标识和文件属性。6.如权利要求5所述的方法,其特征在于,所述基于所述每个文件的元数据,将第一文件迁移到目的文件系统,包括:基于第一元数据序列和第二元数据序列,获取所述第一文件的文件标识,所述第一元数据序列包括所述每个文件的元数据,所述第二元数据序列包括在所述第一时间所述源文件系统中的每个文件的元数据;基于所述第一文件的文件标识,将所述第一文件从所述源文件系统迁移到所述目的文件系统上。7.如权利要求6所述的方法,其特征在于,所述第一元数据序列中的所述每个文件的元数据按所述每个文件的文件标识顺序排列。
8.如权利要求7所述的方法,其特征在于,所述基于第一元数据序列和第二元数据序列,获取所述第一文件的文件标识,包括:获取第一指示信息指示的第一元数据,以及第二指示信息指示的第二元数据,所述第一指示信息指示的首个元数据为所述第一元数据序列中的第一个元数据,所述第二指示信息指示的首个元数据为所述第二元数据序列中的第一个元数据;在所述第一元数据包括的文件标识和所述第二元数据包括的文件标识相同以及所述第一元数据包括的文件属性和所述第二元数据包括的文件属性不同时,确定所述第一元数据包括的文件标识为所述第一文件的文件标识,所述第一元数据包括的文件标识对应的文件是在所述第一时间后所述源文件系统上发生变化的文件。9.如权利要求8所述的方法,其特征在于,所述方法还包括:在所述第一元数据包括的文件标识和所述第二元数据包括的文件标识相同以及所述第一元数据包括的文件属性和所述第二元数据包括的文件属性不同时,在所述第一元数据序列中设置所述第一指示信息指示所述第一元数据之后的下一个元数据,以及在所述第二元数据序列中设置所述第二指示信息指示所述第二元数据之后的下一个元数据。10.如权利要求8或9所述的方法,其特征在于,所述第一元数据序列中的所述每个文件的元数据按所述每个文件的文件标识按从小到大的顺序排列,所述方法还包括:在所述第一元数据包括的文件标识小于所述第二元数据包括的文件标识时,确定所述第一元数据包括的文件标识为所述第一文件的文件标识,所述第一元数据中的文件标识对应的文件是在所述第一时间后所述源文件系统中新增加的文件。11.如权利要求10所述的方法,其特征在于,所述方法还包括:在第一元数据包括的文件标识小于所述第二元数据包括的文件标识时,在所述第一元数据序列中设置所述第一指示信息指示所述第一元数据之后的下一个元数据。12.如权利要求6至11任一项所述的方法,其特征在于,所述方法还包括:将所述第二元数据序列更新为所述第一元数据序列。13.一种迁移文件的装置,其特征在于,所述装置包括:处理单元,用于获取源文件系统包括的每个文件目录的句柄,所述每个文件目录包括至少一个文件,所述至少一个文件位于所述源文件系统;所述处理单元,还用...

【专利技术属性】
技术研发人员:王张平
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:

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

1