一种文件数据迁移方法、装置、设备及存储介质与流程

文档序号:30307203发布日期:2022-06-05 07:02阅读:108来源:国知局
一种文件数据迁移方法、装置、设备及存储介质与流程

1.本发明涉及数据迁移技术领域,尤其涉及一种文件数据迁移方法、装置、设备及存储介质。


背景技术:

2.随着大数据时代的到来,企业的非结构化数据急剧增长,为了便于更好地管理数据,增强数据的可维护性,常常需要将原文件存储系统中的海量文件需要迁移到非结构化数据管理系统中进行统一管理。
3.由于在数据迁移的过程中,需要保证业务系统所需的存储服务不能中断,现有技术一般由nas网关系统一边承接业务io,一边进行文件数据的在线迁移。主要过程为:对原存储系统进行数据扫描,再根据扫描结果进行文件数据迁移,并同时记录增量日志。待历史数据迁移结束后,再根据日志按顺序执行进行增量文件数据迁移。
4.由于历史数据可能是海量的,而扫描一般采用深度或者广度遍历的方式,逐步记录原存储系统中数据的全路径,因此扫描可能需要持续一段时间。若在扫描完全结束前,对已扫描的历史文件数据有重命名或移动等操作,根据扫描结果进行迁移时有可能在原存储将找不到扫描项。一旦遇到这种情况,就需要对原存储系统进行多次的全扫描对比,来保证目标迁移设备和原存储设备中文件数据的一致性、导致迁移复杂度高、效率低、占用大量计算资源,甚至可能影响到业务系统的性能。


技术实现要素:

5.本发明提供了一种文件数据迁移方法、装置、设备及存储介质,以解决现有技术中在扫描过程中文件数据发生变化,需要多次全扫描对比的问题,能够实时获取和记录文件数据在扫描过程中的增量变化,无需反复多次扫描,即可保证文件数据迁移的一致性,降低了迁移复杂度,提高迁移效率。
6.根据本发明的一方面,提供了一种文件数据迁移方法,应用于原文件存储系统,所述方法包括:
7.获取待迁移任务,扫描所述待迁移任务中的各文件项得到存量扫描信息,将所述存量扫描信息写入到扫描列表中;
8.获取在扫描开始之后对所述待迁移任务执行的目标文件项操作,根据所述目标文件项操作确定增量扫描信息,将所述增量扫描信息写入到扫描列表中;
9.将所述扫描列表中的各扫描信息分别对应的待迁移文件项迁移到目标文件存储系统,所述扫描信息包括:所述存量扫描信息和所述增量扫描信息。
10.根据本发明的另一方面,提供了一种文件数据迁移装置,其特征在于,配置于原文件存储系统,所述装置包括:
11.存量扫描模块,用于获取待迁移任务,扫描所述待迁移任务中的各文件项得到存量扫描信息,将所述存量扫描信息写入到扫描列表中;
12.增量扫描模块,用于获取在扫描开始之后对所述待迁移任务执行的目标文件项操作,根据所述目标文件项操作确定增量扫描信息,将所述增量扫描信息写入到扫描列表中;
13.迁移模块,用于将所述扫描列表中的各扫描信息分别对应的待迁移文件项迁移到目标文件存储系统,所述扫描信息包括:所述存量扫描信息和所述增量扫描信息。
14.根据本发明的另一方面,提供了一种计算机设备,所述计算机设备包括:
15.至少一个处理器;以及
16.与所述至少一个处理器通信连接的存储器;其中,
17.所述存储器存储有可被所述至少一个处理器执行的计算机程序和原文件存储系统,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行本发明任一实施例所述的文件数据迁移方法。
18.根据本发明的另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现本发明任一实施例所述的文件数据迁移方法。
19.本发明实施例的技术方案,通过获取待迁移任务,扫描待迁移任务中的各文件项得到存量扫描信息,将存量扫描信息写入到扫描列表中;获取在扫描开始之后对待迁移任务执行的目标文件项操作,根据目标文件项操作确定增量扫描信息,将增量扫描信息写入到扫描列表中;将扫描列表中的各扫描信息分别对应的待迁移文件项迁移到目标文件存储系统,扫描信息包括:存量扫描信息和增量扫描信息,解决现有技术中在扫描过程中对文件项进行目标操作导致迁移时在原存储将找不到扫描项,需要反复多次的全扫描对比的问题,能够实时获取和记录文件数据在扫描过程中的增量变化并修改扫描列表,无需反复多次扫描,即可保证文件数据迁移的一致性,降低了迁移复杂度,提高迁移效率。
20.应当理解,本部分所描述的内容并非旨在标识本发明的实施例的关键或重要特征,也不用于限制本发明的范围。本发明的其它特征将通过以下的说明书而变得容易理解。
附图说明
21.为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
22.图1是根据本发明实施例一提供的一种文件数据迁移方法的流程图;
23.图2是根据本发明实施例二提供的一种文件数据迁移方法的流程图;
24.图3是根据本发明实施例三提供的一种文件数据迁移方法的流程图;
25.图4是根据本发明实施例四提供的一种文件数据迁移方法的流程图;
26.图5是根据本发明实施例五提供的一种文件数据迁移方法的流程图;
27.图6是根据本发明实施例六提供的一种文件数据迁移装置的结构示意图;
28.图7是实现本发明实施例的文件数据迁移方法的计算机设备的结构示意图。
具体实施方式
29.为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的
附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
30.需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
31.实施例一
32.图1为本发明实施例一提供了一种文件数据迁移方法的流程图,本实施例可适用于将原文件存储系统中的文件数据迁移到目标文件存储系统的情况,该方法可以由文件数据迁移装置来执行,该装置可以集成于原文件存储系统中,该原文件存储系统和目标文件存储系统可配置于同一个计算机设备,也可以分别配置在不同的两个计算机设备中。如图1所示,该方法包括:
33.s110、获取待迁移任务,扫描待迁移任务中的各文件项得到存量扫描信息,将存量扫描信息写入到扫描列表中。
34.其中,待迁移任务是指原文件存储系统中需要迁移至目标文件存储系统的所有文件项的总和。文件项可以是文件和目录的总称,目录可以认为是文件夹,在目录下还可以包括多级目录和文件;文件中包含文件数据,但文件下不再包含任何文件或目录。
35.由于在扫描过程中文件项的属性信息可能随时会发生变化,对原文件存储系统中存储的待迁移任务的各文件项对应的扫描信息称之为存量扫描信息;相应的,在扫描开始之后属性信息发生改变或新增的文件项对应的扫描信息称之为增量扫描信息。扫描信息可以是文件项的名称、索引号和路径等信息。扫描列表是用于存储扫描信息的列表,依据扫描列表将原存储系统中扫描得到的文件数据迁移到目标文件存储系统,本发明实施例对扫描列表的形式不作限制。
36.示例性的,原文件存储系统获取待迁移任务的方式可以是接收用户在原文件存储系统中输入的迁移指令,根据迁移指令确定待迁移任务。迁移指令可以包括迁移任务和迁移任务所迁移到的目标文件存储系统等信息。
37.s120、获取在扫描开始之后对待迁移任务执行的目标文件项操作,根据目标文件项操作确定增量扫描信息,将增量扫描信息写入到扫描列表中。
38.其中,增量扫描信息是指在扫描开始以后待迁移任务中由于目标文件项操作使属性信息发生变化或新增的各文件项对应的扫描信息。目标文件项操作例如可以是文件项创建操作或者文件项重命名操作等。
39.具体的,在扫描开始之前对待迁移任务中执行的目标文件项操作所改变或新增的文件项的属性信息,会在扫描过程中扫描得到并包含在存量扫描信息,即不会产生增量扫描信息。而在扫描开始之后对待迁移任务执行的目标文件项操作所改变或新增的属性信息
未包含在存量扫描信息中,即会产生增量扫描信息,该增量扫描信息可以根据对待迁移任务执行的目标文件项操作所确定。将增量扫描信息写入到扫描列表中,从而该扫描列表中包括存量扫描信息和增量扫描信息。
40.s130、将扫描列表中的各扫描信息分别对应的待迁移文件项迁移到目标文件存储系统,扫描信息包括:存量扫描信息和增量扫描信息。
41.其中,所述目标文件存储系统可以包括:非结构化数据管理系统。
42.具体的,根据扫描列表中的各扫描信息确定待迁移文件项存储路径,根据存储路径将待迁移文件项迁移到目标文件存储系统,其中,扫描信息包括:扫描待迁移任务中各文件项得到的存量扫描信息,也包括:根据扫描开始之后执行的目标文件项操作所确定的增量扫描信息。将扫描列表中各扫描信息对应的待迁移文件项迁移到目标文件存储系统,可以将属性信息改变后的文件项迁移到目标存储文件系统中,无需对原存储文件系统中的文件项进行多次扫描对比,即可保证迁移数据的一致性,大大缩短了迁移时间以及迁移复杂度。
43.本发明实施例的技术方案,通过获取待迁移任务,扫描待迁移任务中的各文件项得到存量扫描信息,将存量扫描信息写入到扫描列表中;获取在扫描开始之后对待迁移任务执行的目标文件项操作,根据目标文件项操作确定增量扫描信息,将增量扫描信息写入到扫描列表中;将扫描列表中的各扫描信息分别对应的待迁移文件项迁移到目标文件存储系统,扫描信息包括:存量扫描信息和增量扫描信息,能够实时获取和记录文件数据在扫描过程中的增量变化,无需反复多次扫描,即可保证文件数据迁移的一致性,降低了迁移复杂度,提高迁移效率。
44.实施例二
45.图2为本发明实施例二提供的一种文件数据迁移方法的流程图,本实施例在上述实施例的基础上,对步骤s110中的技术特征“扫描待迁移任务中的各文件项得到存量扫描信息”进一步细化。如图2所示,该方法包括:
46.s210、获取待迁移任务,将待迁移任务的各级目录的索引号分别写入存量待扫描队列,通过扫描线程读取存量待扫描队列中的各当前级目录。
47.其中,待迁移任务的各级目录可能包含一个或多个,存量待扫描队列是用于写入存量扫描过程中各级目录的索引号的队列,队列是一种特殊的线性表,和栈类似,只允许在队列的前端进行删除操作,而在队列的后端进行插入操作。
48.存量待扫描队列中的当前级目录是指写入存量待扫描队列的所有目录,这些目录属于待迁移任务的同一级目录。通过扫描线程可以并行执行读取存量待扫描队列中当前级目录的任务,每条扫描线程执行任务的最大数量可以根据实际需求和硬件资源状态配置。
49.具体的,待迁移任务中包含多级文件项,每个文件项对应一个索引号,其中,若文件项的类型为文件,则该文件内不会包含其他文件项,无需对文件进行扫描;若文件项的类型为目录,则该目录内可能包含文件或下一级目录,需要对目录进行扫描以获取目录的下一级文件项。因此,对于类型为目录的各级文件项,将每一级目录分别写入存量扫描队列。通过扫描线程并发执行读取存量待扫描队列中的各当前级目录。
50.示例性的,具体的写入方式可以是将待迁移任务的各级目录的索引号分别写入存量待扫描队列的方式可以是将同一级目录分别写入一个存量扫描队列;也可以依据待迁移
任务的目录对应的树形结构从上至下将同一级目录的索引号写入存量扫描队列,具体的实现过程是将待迁移任务的一级目录的索引号写入存量扫描队列,等待存量扫描队列中的一级目录索引号完成读取后,在将下一级目录的索引号写入存量扫描队列,直到对待迁移任务的目录对应的树形结构完成遍历。
51.s220、针对各当前级目录,扫描当前级目录得到当前级目录所包含的当前存量文件项的属性信息。
52.其中,当前存量文件项是指在扫描开始前原文件存储系统中待迁移任务的当前级目录所包含的各文件项。当前存量文件项包括当前级目录下的当前存量文件和/或当前级目录的下一级目录。示例性的,若当前级目录为一级目录,则一级目录所包含的文件项为一级存量文件项。
53.具体的,对当前级目录进行扫描,可以得到当前级目录所包含的所有当前存量文件项,获取各当前存量文件项的属性信息。
54.可选的,当前存量文件项的属性信息至少包括:文件项的索引号、文件项的名称和文件项的父目录索引号。
55.在文件存储系统中,文件数据存储在数据块中,描述数据属性的元数据信息存储在索引节点中,每个索引节点都有一个全局唯一的索引号,使用文件项的索引号作为标识文件项的唯一标识码。待迁移任务中各文件项的存储结构可以采用树形结构,因此,对于每个文件项可以通过自身的索引号查询树形结构中的父文件项(即父目录),从而得到文件项在原文件存储系统中的存储路径。文件项的属性信息还包括文件项的名称,一般地同一个目录下的文件项不允许采用相同的名称。
56.s230、若当前级目录是一级目录,则根据一级目录所包含的一级存量文件项的属性信息确定一级目录的存量扫描信息。
57.其中,一级目录所包含的一级存量文件项包括:一级目录的下一目录(即二级存量目录)和一级目录下存储的存量文件。
58.具体的,一级目录是存放待迁移任务的最顶层存储位置,因此,需要在目标文件存储系统中预建立或选择存储位置存放待迁移任务,即在目标文件存储系统中已经存在待迁移任务的一级目录。只需根据一级目录所包含的一级存量文件项的属性信息确定一级目录的存量扫描信息,以完成待迁移任务,一级目录的存量扫描信息具体可以包括:一级目录所包含的一级存量文件项的索引号和路径。
59.示例性的,根据一级存量文件项的属性信息确定一级目录的存量扫描信息的方式可以为:根据一级存量文件项的索引号和名称,以及一级存量文件项的父目录的索引号(即一级目录的索引号),确定一级目录所包含的存量文件项的名称和路径。一级目录所包含的存量文件项的路径为:一级目录索引号-一级目录所包含存量文件项的索引号。
60.示例性的,确定存量文件项的路径可以方式为:根据该存量文件项的索引号沿迁移任务的目录树形结构向上查找直到得到一级目录的索引号,根据查找得到的各级目录的索引号和存量文件项的索引号,即可确定存量文件项的路径。
61.s240、若当前级目录不是一级目录,则判断当前级目录的路径是否存在于目标文件存储系统中,根据判断结果和当前存量文件项的属性信息得到当前级目录的存量扫描信息。
62.具体的,若当前级目录不是一级目录,即不确定在目标文件存储系统中是否存在当前目录,因此,需要先判断当前级目录的路径是否存在于目标文件存储系统中。判断结果可能是存在或者不存在,基于判断结果,根据当前存量文件项的属性信息得到当前级目录的存量扫描信息。
63.示例性的,若判断结果是前级目录的路径存在于目标文件存储系统中,则目标文件存储系统中已经存在当前级目录,则无需对当前级目录进行迁移,存量扫描信息不需要包括当前级目录的扫描信息,只包括当前级目录下的当前存量文件项的扫描信息;若判断结果是不存在,则目标文件存储系统中不存在当前级目录,需要对当前级目录进行迁移,则存量扫描信息需要包括当前级目录的扫描信息和当前级目录下的当前存量文件项的扫描信息。
64.示例性的,当前级目录的路径可以方式为:根据当前级目录的索引号沿迁移任务的目录树形结构向上查找路径直到得到一级目录的索引号,根据查找得到的各级目录的索引号,即可确定当前级目录的路径。
65.在一个具体的示例中,若当前级目录为三级目录,当前级目录的索引号为第三索引号,则向上查找父路径得到当前级目录对应的二级父目录的第二索引号,再向上查找得到二级父目录对应的三级父目录的索引号,则当前级目录的路径可以为:第三索引号-第二索引号-第一索引号。
66.s250、将存量扫描信息写入到扫描列表中。
67.具体的,将各级目录对应的存量扫描信息均写入到扫描列表中,从而扫描列表包括了需要进行迁移的各级目录和各级目录下的文件项的扫描信息,根据扫描列表中的存量扫描信息可以对需要迁移的文件项进行迁移。
68.s260、获取在扫描开始之后对待迁移任务执行的目标文件项操作,根据目标文件项操作确定增量扫描信息,将增量扫描信息写入到扫描列表中。
69.s270、将扫描列表中的各扫描信息分别对应的待迁移文件项迁移到目标文件存储系统,扫描信息包括:存量扫描信息和增量扫描信息。
70.本发明实施例的技术方案,通过获取待迁移任务,扫描待迁移任务中的各文件项得到存量扫描信息,将存量扫描信息写入到扫描列表中;获取在扫描开始之后对待迁移任务执行的目标文件项操作,根据目标文件项操作确定增量扫描信息,将增量扫描信息写入到扫描列表中;将扫描列表中的各扫描信息分别对应的待迁移文件项迁移到目标文件存储系统,扫描信息包括:存量扫描信息和增量扫描信息,解决现有技术中在扫描过程中对文件项进行操作导致迁移时在原存储将找不到扫描项,需要反复多次的全扫描对比的问题,能够实时获取和记录文件数据在扫描过程中的增量变化并修改扫描列表,无需反复多次扫描,即可保证文件数据迁移的一致性,降低了迁移复杂度,提高迁移效率。
71.在上述实施例的基础上,步骤s240:根据判断结果扫描当前级目录所包含的当前存量文件项的属性信息得到当前级目录的存量扫描信息,包括:
72.若判断结果为所述当前级目录的路径存在于所述目标文件存储系统中,则根据满足第一预设条件的当前存量文件项的属性信息确定所述当前级目录的存量扫描信息;
73.若判断结果为所述当前级目录的路径不存在于所述目标文件存储系统中,则根据所述当前级目录的属性信息确定所述当前级目录的存量扫描信息。
74.具体的,若判断结果是前级目录的路径存在于目标文件存储系统中,则目标文件存储系统中已经存在当前级目录,则无需对当前级目录进行迁移,存量扫描信息只需要包括当前级目录下的当前存量文件项的扫描信息;但是目标存储系统中可能存在与当前存量文件项冲突的文件项,导致当前存量文件项无法迁移到目标存储系统中,因此,当前存量文件项还需满足第一预设条件,才能将当前存量文件项的扫描信息确定为当前级目录的存量扫描信息。
75.若判断结果是不存在,则目标文件存储系统中不存在当前级目录,需要对当前级目录所包含的文件项进行迁移,则存量扫描信息需要包括当前级目录下的当前文件项的扫描信息。因此,根据当前级目录所包含的当前存量文件项的属性信息确定当前级目录的存量扫描信息。
76.可以理解的是,根据当前存量文件项(包括当前存量文件或下一级目录)的属性信息确定当前存量文件项的扫描信息的方式,和在本实施例中“根据一级存量文件项的属性信息确定一级目录的存量扫描信息”的方式相同,本发明实施例对此不再赘述。
77.可选的,当前存量文件项的类型可以包括:目录或文件。
78.若所述当前存量文件项的类型为目录,则所述第一预设条件包括:所述目标文件存储系统中所述当前存量文件项的路径的对应的第一目标目录的名称与所述当前存量文件项的名称不同;
79.若所述当前存量文件项的类型为文件,则所述第一预设条件包括:所述目标文件存储系统中所述当前存量文件项的路径对应的目标文件的名称与所述当前存量文件项的名称不同,或者所述当前存量文件项的更新时间晚于目标文件的更新时间。
80.具体的,若当前存量文件项的类型为目录,若目标文件存储系统中存在名称和路径均与当前存量文件项相同的目标目录,则会发生冲突。因此,当前存量文件项的类型为目录时,需满足的第一预设条件包括:目标文件存储系统中当前存量文件项的路径的对应的第一目标目录的名称与当前存量文件项的名称不同。
81.若当前存量文件项的文件为文件,目标文件存储系统中存在名称和路径均与当前存量文件项相同的目标文件,且当前存量文件项的更新时间早于或等于目标文件的更新时间,则会发生冲突。因此,当前存量文件项的类型为文件时,需满足的第一预设条件包括:目标文件存储系统中当前存量文件项的路径对应的目标文件的名称与当前存量文件项的名称不同,或者当前存量文件项的更新时间晚于目标文件的更新时间。
82.在上述实施例的基础上,步骤s210:将待迁移任务的各级目录的索引号分别写入存量待扫描队列,通过扫描线程读取存量待扫描队列中的各当前级目录,包括:
83.s211、将所述待迁移任务的一级目录的索引号写入所述存量待扫描队列,通过扫描线程读取所述存量待扫描队列中写入的目录的索引号。
84.具体的,将待迁移任务的一级目录的索引号写入存量待扫描队列,存量待扫描队列的初始状态可以为空队列,通过扫描线程对存量待扫描队列中写入的目录的索引号进行读取。
85.s212、确定所述扫描线程读取的存量待扫描队列中的目录的各下一级存量文件项。
86.在存量待扫描队列完成读取后,存量待扫描队列恢复为空队列,确定扫描线程读
取的存量待扫描队列中的目录的下一级存量文件项(若扫描线程读取的存量待扫描队列中的目录为一级目录,下一级存量文件项为二级存量文件项)。
87.s213、对于各所述下一级存量文件项,若所述下一级存量文件项的类型为目录,则将所述下一级存量文件项的索引号写入所述存量待扫描队列。
88.具体的,对于每个下一级存量文件项,判断下一级存量文件项的类型,若下一级存量文件项的类型为目录(若扫描线程读取存量待扫描队列中的目录为一级目录,类型为目录的下一级存量文件项为二级目录),类型为目录的下一级存量文件项中可能还会包含再下一级的存量文件项(若下一级存量文件项为二级目录,再下一级的存量文件项为三级存量文件项),因此,需要将类型为目录的下一级存量文件项的索引号写入所述存量待扫描队列,以实现根据存量待扫描队列对下一级目录进行扫描获取下一级目录所包含的再下一级的存量文件项。
89.若下一级存量文件项的类型为文件(若扫描线程读取存量待扫描队列中的目录为一级目录,类型为文件的下一级存量文件项为二级文件),类型为文件的下一级存量文件项中不会再包含任何文件项,因此,不需要将类型为文件的下一级存量文件项的索引号写入存量待扫描队列。
90.s214、通过所述扫描线程读取所述存量待扫描队列中写入的目录的索引号。
91.具体的,在存量待扫描队列中完成目录的索引号的写入后,通过扫描线程读取存量待扫描队列中写入的目录的索引号。
92.s215、返回执行各所述下一级存量文件项的确定操作,直到完成对所述待迁移任务所包含的各级存量文件项的遍历。
93.具体的,在存量待扫描队列完成读取后,存量待扫描队列再次恢复空队列的初始状态,返回执行步骤s212至步骤s215,直到完成对所述待迁移任务所包含的各级存量文件项的遍历,则完成对待迁移任务中各级文件项的存量扫描过程。
94.本实施例的技术方案,通过对待迁移任务中的各级文件项从上至下依次进行遍历,可以获取待迁移任务中的各级目录,从而扫描待迁移任务中的各级目录得到存量扫描信息,保证扫描信息不遗漏,并且通过扫描线程并发执行读取待迁移任务中的各级目录的任务,可以提高扫描效率。
95.实施例三
96.图3为本发明实施例三提供的一种文件数据迁移方法的流程图,本实施例在上述实施例的基础上,对步骤s120中的技术特征“根据目标文件项操作确定增量扫描信息”进一步细化,其中,目标文件项操作包括:文件项创建操作和文件项重命名操作,所述文件项重命名操作包括:目录重命名操作和文件重命名操作。如图3所示,该方法包括:
97.s310、获取待迁移任务,扫描待迁移任务中的各文件项得到存量扫描信息,将存量扫描信息写入到扫描列表中。
98.s320、获取在扫描开始之后对待迁移任务执行的目标文件项操作。
99.s330、若目标文件项操作为目录重命名操作,且目录重命名操作对应的目标目录不存在于扫描列表中,则将重命名的目录确定为增量目录,将增量目录的索引号写入增量待扫描列表;对于增量待扫描列表中的各增量目录分别进行扫描得到增量目录的增量扫描信息。
100.其中,增量待扫描列表是用于写入待扫描的增量文件项,增量文件项可以包括增量目录。
101.具体的,若目标文件项操作为目录重命名操作且目录重命名操作对应的目标目录不存在于扫描列表中,即对目录进行重命名操作则将重命名的目录确定为增量目录;进一步判断被执行目录重命名操作的目标目录是否存在于扫描列表中,若不存在,则说明目标目录未被扫描,可以在后续的扫描过程中写入到扫描列表中。但是扫描过程和目录重命名操作过程可能同时发生,导致目标目录在重命名之前和之后都未被扫描,因此,若目录重命名操作对应的目标目录不存在于扫描列表中,仍需要将增量目录的索引号写入增量待扫描列表,避免遗漏扫描。对增量扫描列表中写入索引号的增量目录,需要进行增量扫描得到索引号对应的增量目录的属性信息,根据增量目录的属性信息确定增量目录的增量扫描信息。若重命名目录已被写入到扫描列表中,则将增量扫描信息写入到扫描列表时可覆盖原扫描信息。
102.若重命名的文件项的类型为文件,则该文件内只包括文件数据不包括任何文件项,不需要对该文件进一步扫描。因此,无需将被执行重命名操作的文件的索引号加入扫描列表或者增量待扫描列表。
103.需要说明的是,由于原文件存储系统中存放待迁移任务的一级目录无需迁移到目标文件存储系统中,即目标文件存储系统中存放待迁移任务的一级目录不受目录重命名操作的限制,因此,根据目录重命名操作所确定的增量目录不包括一级目录。
104.s340、若目标文件项操作为文件重命名操作,且文件重命名操作对应的目标文件不存在于扫描列表中,则根据目标文件的属性信息确定增量扫描信息。
105.具体的,若目标文件项操作为文件重命名操作,且文件重命名操作对应的目标文件不存在于扫描列表中,则说明目标文件未被扫描可以在后续的扫描过程中写入到扫描列表中。但是扫描过程和文件重命名操作过程可能同时发生,导致目标文件在重命名之前和之后都未被扫描,因此,若文件重命名操作对应的目标文件不存在于扫描列表中,则根据目标文件的属性信息确定增量扫描信息。若重命名文件已被写入到扫描列表中,则将增量扫描信息写入到扫描列表时可覆盖原扫描信息。
106.s350、若目标文件项操作为文件项创建操作,则根据创建的文件项的属性信息确定增量扫描信息。
107.具体的,若目标文件项操作为文件项创建操作,即在扫描开始之后在待迁移任务中创建文件或创建目录,则扫描列表中不包括创建的文件项,因此,需要根据创建的文件项的属性信息和创建操作的操作信息确定增量扫描信息。
108.示例性的,创建的文件项的属性信息同样可以包括:创建的文件项的索引号、名称以及创建的文件项的父目录的索引号。当然还可以包括:创建时间和创建类型等属性信息。
109.s360、将增量扫描信息写入到扫描列表中。
110.具体的,将步骤s330至步骤s350中,根据文件项重命名操作和/或文件项创建操作所确定的文件项的增量扫描信息写入到扫描列表中。
111.s370、将扫描列表中的各扫描信息分别对应的待迁移文件项迁移到目标文件存储系统,扫描信息包括:存量扫描信息和增量扫描信息。
112.本发明实施例的技术方案,通过获取待迁移任务,扫描待迁移任务中的各文件项
得到存量扫描信息,将存量扫描信息写入到扫描列表中;获取在扫描开始之后对待迁移任务执行的目标文件项操作,若目标文件项操作为目录重命名操作,则将重命名的目录确定为增量目录,将增量目录的索引号写入增量待扫描列表;对于增量待扫描列表中的各增量目录分别进行扫描得到增量目录的增量扫描信息;若目标文件项操作为文件项创建操作,则根据创建的文件项的属性信息确定增量扫描信息;将增量扫描信息写入到扫描列表中;将扫描列表中的各扫描信息分别对应的待迁移文件项迁移到目标文件存储系统,扫描信息包括:存量扫描信息和增量扫描信息,解决现有技术中在扫描过程中对文件项进行操作导致迁移时在原存储将找不到扫描项,需要反复多次的全扫描对比的问题,能够实时获取和记录文件数据在扫描过程中的增量变化并同步到扫描列表中,无需反复多次扫描,即可保证文件数据迁移的一致性,降低了迁移复杂度,提高迁移效率。
113.在上述实施例的基础上,步骤s330中对于所述增量待扫描列表中的各所述增量目录分别进行扫描得到所述增量目录的增量扫描信息的步骤具体可以包括:
114.步骤s331、将各所述增量目录的索引号分别写入增量待扫描队列,通过扫描线程读取所述增量待扫描队列中写入的各增量目录。
115.其中,存量待扫描队列是用于写入增量扫描过程中产生的增量目录的索引号的队列。通过扫描线程可以并行执行读取增量待扫描队列中增量目录的任务,每条扫描线程执行任务的最大数量可以根据实际需求和硬件资源状态配置。由于增量扫描过程需要在存量扫描过程完成后才会执行,因此,增量扫描过程的存量扫描过程采用一个扫描线程即可完成。
116.步骤s332、对于各所述增量目录,扫描所述增量目录得到所述增量目录所包含的各当前增量文件项的属性信息。
117.其中,当前增量文件项是指在扫描开始之后原文件存储系统中待迁移任务新增的增量目录所包含的各文件项。当前增量文件项包括增量目录下的当前增量文件和/或增量目录的下一级目录。示例性的,若增量目录为一级目录,则一级目录所包含的文件项为一级增量文件项。
118.具体的,对增量目录进行扫描,可以得到增量目录所包含的所有当前增量文件项,获取各当前增量文件项的属性信息。
119.示例性的,当前增量文件项的属性信息至少包括:文件项的索引号、文件项的名称和文件项的父目录索引号(即增量目录的索引号)。
120.步骤s333、对于各所述当前增量文件项,根据所述当前增量文件项的属性信息确定所述增量目录的增量扫描信息。
121.具体的,根据当前增量文件项的属性信息确定增量目录的增量扫描信息的实现方式和上述实施例中根据当前存量文件项的属性信息确定当前级目录的存量扫描信息的实现过程基本相同,本发明实施例对此不再赘述。
122.实施例四
123.图4为本发明实施例四提供的一种文件数据迁移方法的流程图,本实施例在上述任一实施例的基础上,对步骤s120中的技术特征“将所述扫描列表中的各扫描信息分别对应的待迁移文件项迁移到目标文件存储系统”进一步细化。如图4所示,该方法包括:
124.s410、获取待迁移任务,扫描待迁移任务中的各文件项得到存量扫描信息,将存量
扫描信息写入到扫描列表中。
125.s420、获取在扫描开始之后对待迁移任务执行的目标文件项操作,根据目标文件项操作确定增量扫描信息,将增量扫描信息写入到扫描列表中。
126.s430、从扫描列表的各扫描信息中读取第一预设数量的目标待迁移扫描信息。
127.其中,扫描列表中的各扫描信息可能包含待迁移文件项和已迁移文件项的扫描信息,目标待迁移扫描信息是从扫描列表的各扫描信息中所读取的待迁移文件项的扫描信息,每次读取目标待迁移扫描信息的数量可以为第一预设数量,第一预设数量可以根据实际需求和硬件资源的使用情况配置。
128.具体的,从扫描列表的各扫描信息中确定待迁移文件项的扫描信息,从待迁移文件项的扫描信息读取第一预设数量的目标待迁移扫描信息。为了便于将文件项迁移到目标文件存储系统进行存储,读取第一预设数量的目标待迁移扫描信息的方式可以是根据扫描列表中扫描信息的写入顺序依次读取。
129.需要说明的是,扫描列表中的各扫描信息可能包含待迁移文件项和已迁移文件项的扫描信息,可以设置标志位区分文件项的迁移状态,例如未迁移的文件项的标志位为1,已迁移的文件项的标志位为0,获取标志位为1的文件项的扫描信息即可得到待迁移文件项的扫描信息。
130.s440、根据各目标待迁移扫描信息,将各目标待迁移扫描信息对应的各目标待迁移文件项通过预设迁移方式迁移到目标文件存储系统。
131.具体的,可以将目标待迁移扫描信息对应的文件项确定为目标待迁移文件项,根据目标待迁移扫描信息确定目标待迁移文件项对应的类型和目标存储路径,将通过预设迁移方式迁移到目标文件存储系统。
132.示例性的,确定目标待迁移文件项的目标存储路径的方式可以为获取目标文件存储系统的目标存储位置,即目标文件存储系统中存储待迁移任务的第一目录的位置,根据目标待迁移扫描信息确定目标待迁移文件项在原文件存储系统中的原存储路径,根据原存储路径和目标存储位置确定目标待迁移文件项的目标存储路径。
133.示例性的,目标待迁移文件项对应的类型可以为文件或目录。文件可以进行批量迁移操作,目录只能进行依次迁移操作,因此,根据各目标待迁移扫描信息对应的目标待迁移文件项的类型和第一目标存储路径,将各目标待迁移文件项通过预设迁移方式迁移到目标文件存储系统中。
134.s450、返回执行目标待迁移扫描信息的获取操作,直到扫描列表中的所有扫描信息对应的待迁移文件项均迁移到目标文件存储系统。
135.具体的,在第一数量的目标待迁移扫描信息对应的目标待迁移文件项完成迁移后,返回执行步骤s430目标待迁移扫描信息的获取操作,从所述扫描列表的各扫描信息中读取第一预设数量的目标待迁移扫描信息,直到扫描列表中的所有扫描信息对应的待迁移文件项均迁移到目标文件存储系统。
136.本发明实施例的技术方案,通过获取待迁移任务,扫描待迁移任务中的各文件项得到存量扫描信息,将存量扫描信息写入到扫描列表中;获取在扫描开始之后对待迁移任务执行的目标文件项操作,根据目标文件项操作确定增量扫描信息,将增量扫描信息写入到扫描列表中;从扫描列表的各扫描信息中读取第一预设数量的目标待迁移扫描信息;对
于各目标待迁移扫描信息分别对应的目标待迁移文件项,根据目标待迁移扫描信息确定目标待迁移文件项的第一初始存储路径和第一目标存储位置,根据第一初始存储路径和第一目标存储位置确定目标待迁移文件项的第一目标存储路径;根据各目标待迁移文件项分别对应的类型和第一目标存储路径,将各目标待迁移文件项通过预设迁移方式迁移到目标文件存储系统;返回执行目标待迁移扫描信息的获取操作,直到扫描列表中的所有扫描信息对应的待迁移文件项均迁移到目标文件存储系统,解决现有技术中在扫描过程中对文件项进行目标操作导致迁移时在原存储将找不到扫描项,需要反复多次的全扫描对比的问题,能够实时获取和记录文件数据在扫描过程中的增量变化并修改扫描列表,无需反复多次扫描,即可保证文件数据迁移的一致性,降低了迁移复杂度,提高迁移效率。
137.在上述实施例的基础上,步骤s450:将各目标待迁移扫描信息对应的各目标待迁移文件项通过预设迁移方式迁移到目标文件存储系统,包括:
138.s451、将类型为文件的各所述目标待迁移文件项对应的目标待迁移扫描信息添加到存量待迁移队列中;将所述存量待迁移队列中各目标待迁移扫描信息对应的目标待迁移文件项通过迁移线程并行迁移到所述目标文件存储系统。
139.具体的,对于类型为文件的各目标待迁移文件项可以采用并行迁移的方式迁移目标待迁移文件项对应的目标待迁移扫描信息,因此,将第一预设数量的目标待迁移文件项中类型为文件的各目标待迁移文件项对应的目标待迁移扫描信息添加到存量待迁移队列中,将存量待迁移队列中各目标待迁移扫描信息对应的目标待迁移文件项通过迁移线程并行迁移到目标文件存储系统。
140.s452、将类型为目录的各目标待迁移文件项串行迁移到所述目标文件存储系统。
141.具体的,对于类型为目录的目标待迁移文件不能并行迁移,采用串行方式依次迁移到目标文件存储系统。
142.本发明实施例通过目标待迁移文件项的类型,对目标待迁移文件项采用并行或串行的方式迁移到目标文件存储系统中,可以提高迁移速率。
143.实施例五
144.图5为本发明实施例五提供的一种文件数据迁移方法的流程图,本实施例在实施例一的基础上,所述目标文件项操作包括:文件项修改操作、文件项删除操作和文件重命名操作;在步骤s120获取在扫描开始之后对所述待迁移任务执行的目标文件项操作之后还包括:
145.若所述目标文件项操作为文件项修改操作,则根据修改后的文件项修改所述扫描列表中的所述文件项的属性信息;
146.若所述目标文件项操作为文件项删除操作,且所述文件项在所述扫描列表中,则判断所述文件项是否已迁移;若否,则从所述扫描列表中删除所述文件项的属性信息;若是,则从所述扫描列表中删除所述文件项的属性信息并将所述删除操作的操作信息写入所述目标文件存储系统的增量操作列表;
147.若所述目标文件项操作为文件重命名操作,且所述文件项在所述扫描列表中,则判断所述文件项是否已迁移;若否,则根据所述重命名操作修改所述扫描列表中的所述文件项的属性信息;若是,则将所述重命名操作的操作信息写入所述目标文件存储系统的增量操作列表。
148.如图5所示,该方法包括:
149.s510、获取待迁移任务,扫描所述待迁移任务中的各文件项得到存量扫描信息,将存量扫描信息写入到扫描列表中。
150.s520、获取在扫描开始之后对待迁移任务执行的目标文件项操作;目标文件项操作包括:文件项修改操作、文件项删除操作和文件重命名操作。
151.s530、若目标文件项操作为文件项修改操作,则根据修改后的文件项修改扫描列表中的文件项的属性信息。
152.其中,文件项修改操作是指对文件项包含的内容或文件项格式等进行修改,不包括对应文件项的名称进行修改;文件项修改操作包括文件修改操作和目录修改操作。
153.具体的,若在扫描开始之后获取到对待迁移任务中的文件执行的文件项修改操作,则根据修改后的文件项直接对扫描列表中对应的被执行文件项修改操作的文件项的扫描信息进行修改。
154.需要说明的是,对文件项进行文件项修改操作并不会改变文件项的存储路径等扫描信息,可能改变的扫描信息例如可以是文件大小、文件格式、文件内容或者目录内容等信息。
155.s540、若目标文件项操作为文件项删除操作,且被删除文件项的扫描信息在扫描列表中,则判断文件项是否已迁移;若否,则从扫描列表中删除被删除文件项的扫描信息;若是,则从扫描列表中删除被删除文件项的属性信息并将删除操作的操作信息写入目标文件存储系统的增量操作列表。
156.其中,文件项删除操作包括文件删除操作和目录删除操作。删除操作的操作信息包括被删除的文件项的扫描信息和删除文件项操作的操作标识等信息。
157.具体的,若在扫描开始之后获取到对待迁移任务中的文件项执行的文件项删除操作,且被删除文件项不在扫描列表中,则说明被删除的文件项的扫描信息还没有被扫描到扫描列表中,无需执行任何操作;若被删除的文件项在扫描列表中,则说明被删除的文件项已经完成扫描,需要判断被删除的文件项是否已迁移;若未迁移,则从扫描列表中删除被删除文件项的扫描信息,避免根据扫描列表中的扫描信息进行数据迁移时发生找不到文件的错误。若被删除文件项在扫描列表中;若已迁移,则被删除文件项依然存在于目标文件存储系统,因此,需要从扫描列表中删除被删除文件项的扫描信息并将删除操作的操作信息写入目标文件存储系统的增量操作列表,该增量操作列表用于指示目标文件存储系统对存储的文件项执行相应的操作。
158.示例性的,该将删除操作的操作信息写入目标文件存储系统的增量操作列表的方式是将删除操作的操作信息以操作日志的形式写入增量操作列表,本发明实施例对此不设限制。
159.s550、若目标文件项操作为文件重命名操作,且重命名文件的扫描信息在所述扫描列表中,则判断重命名文件是否已迁移;若否,则修改扫描列表中重命名文件的扫描信息;若是,则修改扫描列表中重命名文件的扫描信息,并将重命名操作的操作信息写入目标文件存储系统的增量操作列表。
160.其中,文件重命名操作的操作信息包括被重命名的文件项的扫描信息和重命名文件操作的操作标识等信息。
161.具体的,若在扫描开始之后获取到对待迁移任务中的文件项执行的文件重命名操作,且重命名文件在扫描列表中,则说明重命名文件已经完成扫描,需要判断重命名文件是否已迁移;若未迁移,则修改扫描列表中重命名文件的扫描信息,即对扫描列表中对被执行重命名操作的文件项对应的扫描信息中的名称修改为重命名后的名称,避免根据扫描列表中的扫描信息进行数据迁移时发生找不到文件的错误。若重命名的文件项在扫描列表中;若已迁移,则目标文件存储系统中存储已迁移文件的名称依然为文件重命名之前的名称,因此需要修改扫描列表中重命名文件的扫描信息,以免出现扫描列表中的扫描信息和迁移文件的信息不一致的情况,并将重命名操作的操作信息写入标文件存储系统的增量操作列表,该增量操作列表用于指示目标文件存储系统对存储的文件项执行相应的操作。
162.s560、依据文件项的最新操作时间顺序,从增量操作列表的操作信息中获取第二预设数量的目标待同步操作信息。
163.其中,增量操作列表中的各操作信息可能包含待同步文件项和已同步文件项的操作信息,目标待同步操作信息是从增量操作列表的各操作信息中所读取的待同步文件项的操作信息,每次读取目标待同步操作信息的数量可以为第二预设数量,第二预设数量可以根据实际需求和硬件资源的使用情况配置。
164.具体的,从增量操作列表的各操作信息中确定待同步文件项的操作信息,从待同步文件项的操作信息读取第二预设数量的目标待同步操作信息。为了便于将文件项同步到目标文件存储系统,读取第二预设数量的目标待同步操作信息的方式可以是根据依据文件项的最新操作时间顺序依次读取。
165.需要说明的是,操作列表中的各操作信息可能包含待同步文件项和已同步文件项的操作信息,可以设置标志位区分文件项的同步状态,例如未同步的文件项的标志位为1,已同步的文件项的标志位为0,获取标志位为1的文件项的操作信息即可得到待同步文件项的操作信息。
166.s570、根据各目标待同步操作信息对目标文件存储系统中各目标待同步操作信息对应的目标待同步文件项执行同步操作。
167.具体的,根据目标待同步操作信息确定目标待同步文件项的目标存储路径和索引号,从而定位目标文件存储系统中的目标待同步文件项,对目标待同步文件项执行同步操作。
168.示例性的,确定目标待迁移文件项的目标存储路径的方式可以为获取目标文件存储系统的目标存储位置,即目标文件存储系统中存储待迁移任务的第一目录的位置,根据目标待迁移扫描信息确定目标待迁移文件项在原文件存储系统中的原存储路径,根据原存储路径和目标存储位置确定目标待迁移文件项的目标存储路径。
169.s580、返回执行目标待同步扫描信息的获取操作,直到增量操作列表中所有操作信息对应的待同步文件项均执行同步操作。
170.具体的,在第二数量的目标待同步操作信息对应的目标待同步文件项完成同步操作后,返回执行步骤s560目标待同步操作信息的获取操作,增量操作列表中的操作信息中读取第二预设数量的目标待同步操作信息,直到增量操作列表中所有操作信息对应的待同步文件项均执行同步操作。
171.本发明实施例的技术方案,通过获取待迁移任务,扫描待迁移任务中的各文件项
得到存量扫描信息,将存量扫描信息写入到扫描列表中;获取在扫描开始之后对待迁移任务执行的目标文件项操作;目标文件项操作包括:文件项修改操作、文件项删除操作和文件重命名操作;若目标文件项操作为文件项修改操作,则根据修改后的文件项修改扫描列表中的文件项的属性信息;若目标文件项操作为文件项删除操作,且被删除文件项的扫描信息在扫描列表中,则判断文件项是否已迁移;若否,则从扫描列表中删除被删除文件项的扫描信息;若是,则从扫描列表中删除被删除文件项的属性信息并将删除操作的操作信息写入目标文件存储系统的增量操作列表;若目标文件项操作为文件重命名操作,且重命名文件的扫描信息在扫描列表中,则判断重命名文件是否已迁移;若否,则修改扫描列表中重命名文件的扫描信息;若是,则修改扫描列表中重命名文件的扫描信息,并将重命名操作的操作信息写入目标文件存储系统的增量操作列表;依据文件项的最新操作时间顺序,从增量操作列表的操作信息中获取第二预设数量的目标待同步操作信息;根据各目标待同步操作信息,对目标文件存储系统中各目标待同步操作信息对应的目标待同步文件项执行同步操作;返回执行目标待同步扫描信息的获取操作,直到增量操作列表中所有操作信息对应的待同步文件项均执行同步操作,能够实时获取和记录文件数据在扫描过程中的增量变化,无需反复多次扫描,即可保证文件数据迁移的一致性,降低了迁移复杂度,提高迁移效率。
172.实施例六
173.图6为本发明实施例六提供的一种文件数据迁移装置的结构示意图。如图6所示,该装置包括:存量扫描模块610、增量扫描模块620和迁移模块630;
174.存量扫描模块610,用于获取待迁移任务,扫描所述待迁移任务中的各文件项得到存量扫描信息,将所述存量扫描信息写入到扫描列表中;
175.增量扫描模块620,用于获取在扫描开始之后对所述待迁移任务执行的目标文件项操作,根据所述目标文件项操作确定增量扫描信息,将所述增量扫描信息写入到扫描列表中;
176.迁移模块630,用于将所述扫描列表中的各扫描信息分别对应的待迁移文件项迁移到目标文件存储系统,所述扫描信息包括:所述存量扫描信息和所述增量扫描信息。
177.可选的,所述存量扫描模块610包括:
178.第一存量读取单元,用于将所述待迁移任务的各级目录的索引号分别写入存量待扫描队列,通过扫描线程读取所述存量待扫描队列中的各当前级目录;
179.当前级目录扫描单元,用于针对各所述当前级目录,扫描所述当前级目录得到所述当前级目录所包含的当前存量文件项的属性信息;
180.第一存量扫描信息确定单元,用于若所述当前级目录是一级目录,则根据所述一级目录所包含的一级存量文件项的属性信息确定所述一级目录的存量扫描信息;
181.第二存量扫描信息确定单元,用于若所述当前级目录不是一级目录,则判断所述当前级目录的路径是否存在于所述目标文件存储系统中,根据判断结果和所述当前存量文件项的属性信息确定所述当前级目录的存量扫描信息。
182.可选的,所述第二存量扫描信息确定单元,具体用于:
183.若判断结果为所述当前级目录的路径存在于所述目标文件存储系统中,则根据满足第一预设条件的当前存量文件项的属性信息确定所述当前级目录的存量扫描信息;
184.若判断结果为所述当前级目录的路径不存在于所述目标文件存储系统中,则根据
所述当前级目录所包含的当前存量文件项的属性信息确定所述当前级目录的存量扫描信息。
185.可选的,若所述当前存量文件项的类型为目录,则所述第一预设条件包括:所述目标文件存储系统中所述当前存量文件项的路径的对应的第一目标目录的名称与所述当前存量文件项的名称不同;
186.若所述当前存量文件项的类型为文件,则所述第一预设条件包括:所述目标文件存储系统中所述当前存量文件项的路径对应的目标文件的名称与所述当前存量文件项的名称不同,或者所述当前存量文件项的更新时间晚于目标文件的更新时间。
187.可选的,所述第一存量读取单元,包括:
188.将所述待迁移任务的一级目录的索引号写入所述存量待扫描队列,通过扫描线程读取所述存量待扫描队列中写入的目录的索引号;
189.确定所述扫描线程读取的存量待扫描队列中的目录的各下一级存量文件项;
190.对于各所述下一级存量文件项,若所述下一级存量文件项的类型为目录,则将所述下一级存量文件项的索引号写入所述存量待扫描队列;
191.通过所述扫描线程读取所述存量待扫描队列中写入的目录的索引号;
192.返回执行各所述下一级存量文件项的确定操作,直到完成对所述待迁移任务所包含的各级存量文件项的遍历。
193.可选的,所述目标文件项操作包括:文件项创建操作和文件项重命名操作,所述文件项重命名操作包括:目录重命名操作和文件重命名操作,所述增量扫描模块620,包括:
194.第一增量扫描信息确定单元,用于若所述目标文件项操作为目录重命名操作且所述目标文件项操作对应的目标目录不存在于所述扫描列表中,则将重命名的目录确定为增量目录,将所述增量目录的索引号写入增量待扫描列表;对于所述增量待扫描列表中的各所述增量目录分别进行扫描得到所述增量目录的增量扫描信息;
195.第二增量扫描信息确定单元,用于若所述目标文件项操作为文件重命名操作,且所述文件重命名操作对应的目标文件不存在于所述扫描列表中,则根据目标文件的属性信息确定增量扫描信息;
196.第三增量扫描信息确定单元,用于若所述目标文件项操作为文件项创建操作,则根据创建的文件项的属性信息确定增量扫描信息。
197.可选的,所述第一增量扫描信息确定单元,具体用于:
198.将各所述增量目录的索引号分别写入增量待扫描队列,通过扫描线程读取所述增量待扫描队列中写入的各增量目录;
199.对于各所述增量目录,扫描所述增量目录得到所述增量目录所包含的各当前增量文件项的属性信息;
200.对于各所述当前增量文件项,根据各所述当前增量文件项的属性信息确定各所述增量目录的增量扫描信息。
201.可选的,所述迁移模块630,包括:
202.读取单元,用于从所述扫描列表的各扫描信息中读取第一预设数量的目标待迁移扫描信息;
203.存储路径确定单元,用于根据各所述目标待迁移扫描信息,将各所述目标待迁移
扫描信息对应的各目标待迁移文件项通过预设迁移方式迁移到目标文件存储系统;
204.返回执行单元,用于返回执行所述目标待迁移扫描信息的获取操作,直到所述扫描列表中的所有扫描信息对应的待迁移文件项均迁移到所述目标文件存储系统。
205.可选的,所述迁移单元,具体用于:
206.将类型为文件的各所述目标待迁移文件项对应的目标待迁移扫描信息添加到存量待迁移队列中;将所述存量待迁移队列中各目标待迁移扫描信息对应的目标待迁移文件项通过迁移线程并行迁移到所述目标文件存储系统;
207.将类型为目录的各目标待迁移文件项串行迁移到所述目标文件存储系统。
208.可选的,所述目标文件项操作包括:文件项修改操作、文件项删除操作和文件重命名操作,相应的,所述文件数据迁移还包括:
209.第一修改模块,用于若所述目标文件项操作为文件项修改操作,则根据修改后的文件项修改所述扫描列表中的所述文件项的扫描信息;
210.删除模块,用于若所述目标文件项操作为文件项删除操作,且被删除文件项的扫描信息在所述扫描列表中,则判断所述文件项是否已迁移;若否,则从所述扫描列表中删除所述被删除文件项的扫描信息;若是,则从所述扫描列表中删除所述被删除文件项的扫描信息,并将所述文件项删除操作的操作信息写入所述目标文件存储系统的增量操作列表;
211.第二修改模块,用于若所述目标文件项操作为文件重命名操作,且重命名文件的扫描信息在所述扫描列表中,则判断所述重命名文件是否已迁移;若否,则修改所述扫描列表中所述重命名文件的扫描信息;若是,则修改所述扫描列表中所述重命名文件的扫描信息,并将所述文件重命名操作的操作信息写入所述目标文件存储系统的增量操作列表;
212.其中,所述操作信息包括被执行所述目标文件项操作的文件项的扫描信息和目标文件项操作的标识。
213.可选的,还包括:
214.读取模块,用于依据文件项的最新操作时间顺序,从所述增量操作列表中的操作信息中读取第二预设数量的目标待同步操作信息;
215.同步模块,用于根据各所述目标待同步操作信息对目标文件存储系统中各所述目标待同步操作信息对应的目标待同步文件项执行同步操作;
216.返回执行模块,用于返回执行所述目标待同步扫描信息的获取操作,直到所述增量操作列表中所有操作信息对应的待同步文件项均执行同步操作。
217.可选的,所述文件项的属性信息至少包括:所述文件项的索引号、所述文件项的名称、所述文件项的父目录索引号和所述文件项的类型。
218.可选的,所述目标文件存储系统包括:非结构化数据管理系统。
219.本发明实施例所提供的文件数据迁移装置可执行本发明任意实施例所提供的文件数据迁移方法,具备执行方法相应的功能模块和有益效果。
220.实施例七
221.图7示出了可以用来实施本发明的实施例的计算机设备10的结构示意图。计算机设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。计算机设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备(如头盔、眼镜、
手表等)和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本发明的实现。
222.如图7所示,计算机设备10包括至少一个处理器11,以及与至少一个处理器11通信连接的存储器,如只读存储器(rom)12、随机访问存储器(ram)13等,其中,存储器存储有可被至少一个处理器执行的计算机程序,处理器11可以根据存储在只读存储器(rom)12中的计算机程序或者从存储单元18加载到随机访问存储器(ram)13中的计算机程序,来执行各种适当的动作和处理。在ram 13中,还可存储计算机设备10操作所需的各种程序和数据。处理器11、rom 12以及ram 13通过总线14彼此相连。输入/输出(i/o)接口15也连接至总线14。在存储单元18中还配置有原文件存储系统。
223.计算机设备10中的多个部件连接至i/o接口15,包括:输入单元16,例如键盘、鼠标等;输出单元17,例如各种类型的显示器、扬声器等;存储单元18,例如磁盘、光盘等;以及通信单元19,例如网卡、调制解调器、无线通信收发机等。通信单元19允许计算机设备10通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
224.处理器11可以是各种具有处理和计算能力的通用和/或专用处理组件。处理器11的一些示例包括但不限于中央处理单元(cpu)、图形处理单元(gpu)、各种专用的人工智能(ai)计算芯片、各种运行机器学习模型算法的处理器、数字信号处理器(dsp)、以及任何适当的处理器、控制器、微控制器等。处理器11执行上文所描述的各个方法和处理,例如文件数据迁移方法。
225.在一些实施例中,文件数据迁移方法可被实现为计算机程序,其被有形地包含于计算机可读存储介质,例如存储单元18。在一些实施例中,计算机程序的部分或者全部可以经由rom 12和/或通信单元19而被载入和/或安装到计算机设备10上。当计算机程序加载到ram 13并由处理器11执行时,可以执行上文描述的文件数据迁移方法的一个或多个步骤。备选地,在其他实施例中,处理器11可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行文件数据迁移方法。
226.本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统的系统(soc)、负载可编程逻辑设备(cpld)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
227.用于实施本发明的方法的计算机程序可以采用一个或多个编程语言的任何组合来编写。这些计算机程序可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,使得计算机程序当由处理器执行时使流程图和/或框图中所规定的功能/操作被实施。计算机程序可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
228.在本发明的上下文中,计算机可读存储介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的计算
机程序。计算机可读存储介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。备选地,计算机可读存储介质可以是机器可读信号介质。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
229.为了提供与用户的交互,可以在计算机设备上实施此处描述的系统和技术,该计算机设备具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机设备。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
230.可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)、区块链网络和互联网。
231.计算系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与vps服务中,存在的管理难度大,业务扩展性弱的缺陷。
232.应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发明中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本发明的技术方案所期望的结果,本文在此不进行限制。
233.上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1