本发明涉及存储,特别是涉及一种数据迁移方法、系统、设备及计算机可读存储介质。
背景技术:
1、在海量小文件场景中,通过给存储系统配置少量的高速存储介质,例如普通ssd(solid state disk,固态硬盘)或者nvme(non-volatile memory express,非易失性内存存储器标准)ssd,通过文件分级能实现使用较低的硬件成本实现系统的高性能。
2、文件分级基于的是数据生命周期管理理论,文件分级特性要求实现在用户无感知的情况下,数据在多种存储介质之间流转,也即数据的迁移。数据迁移可以支持用户多种策略,对于符合迁移要求的数据,在不影响系统内正常业务的条件下,进行无感知的文件数据搬迁处理。
3、目前,通常采用的存储方案是数据冷热分层,即采用高速存储介质来存储热数据,采用低速存储介质来存储冷数据,数据在高速存储介质以及低速存储介质中的存储形式是相同的。
4、目前还有少部分方案设计了迁移聚合的方案,即多个小文件数据实际存放在一个新的大文件中,数据读写时直接操作聚合大文件,有利于提高数据恢复速度,聚合之后的小文件可以称为大文件中的各个聚合小文件。在基于文件分级进行迁移聚合时,小文件在迁移时从高速存储介质迁移写入低速存储介质的聚合大文件中,通过迁移过程中实现小文件聚合。但是,目前的这种迁移聚合的方案,只实现了小文件从高速存储介质迁移写入低速存储介质,应用场景较窄,灵活性较低。
5、综上所述,如何在保障数据恢复速度的情况下,提高数据迁移的灵活性,是目前本领域技术人员急需解决的技术问题。
技术实现思路
1、本发明的目的是提供一种数据迁移方法、系统、设备及计算机可读存储介质,以在保障数据恢复速度的情况下,提高数据迁移的灵活性。
2、为解决上述技术问题,本发明提供如下技术方案:
3、一种数据迁移方法,包括:
4、接收反聚合任务;
5、针对所述反聚合任务所指向的任意1个文件,获取所述文件的元数据,通过所述元数据读取第二存储介质中的所述文件,并以反迁移聚合的形式将读取的所述文件写入第一存储介质中;
6、在将任一所述文件写入所述第一存储介质之后,更新所述文件的元数据,并删除所述第二存储介质中存储的所述文件;
7、其中,所述第二存储介质中以聚合文件的形式存储文件数据,所述第一存储介质中以非聚合文件的形式存储文件数据,所述第一存储介质的数据存取速度高于所述第二存储介质的数据存取速度。
8、优选的,所述反聚合任务所指向的任意1个文件均为满足预设的第一分级规则的文件;
9、所述第一分级规则包括:
10、当所述文件在第一时长内的访问次数大于等于预设的第一阈值时,所述第一分级规则成立。
11、优选的,所述第一分级规则还包括:
12、当所述文件的文件名与第一数据库匹配时,所述第一分级规则成立。
13、优选的,所述第一分级规则还包括:
14、当所述文件的文件大小小于预设的第一数值时,所述第一分级规则成立。
15、优选的,所述第一分级规则还包括:
16、当所述文件为第一用户指令所指定的文件时,所述第一分级规则成立。
17、优选的,将任一所述文件写入所述第一存储介质之后,更新所述文件的元数据,包括:
18、在将任一所述文件写入所述第一存储介质之后,更新所述文件的元数据中的位置信息,并清除聚合属性。
19、优选的,还包括:
20、在删除所述第二存储介质中存储的所述文件之前,当数据迁移过程出错时,保留所述第二存储介质中存储的所述文件,并且删除相应的迁移数据。
21、优选的,还包括:
22、接收第一再聚合任务;
23、针对所述第一再聚合任务所指向的任意1个文件,获取所述文件的元数据,通过所述元数据读取第二存储介质中的所述文件并写入所述第二存储介质的聚合缓存中;
24、每当所述聚合缓存写满时,以聚合文件再次迁移聚合的形式将所述聚合缓存中的各个文件写入第三存储介质中;
25、针对由所述聚合缓存中写入所述第三存储介质的任一文件,更新所述文件的元数据,并删除所述第二存储介质中存储的所述文件;
26、其中,所述第三存储介质中以聚合文件的形式存储文件数据,第二存储介质的数据存取速度高于所述第三存储介质的数据存取速度。
27、优选的,所述第一再聚合任务所指向的任意1个文件均为满足预设的第三分级规则的文件;
28、所述第三分级规则包括:
29、当所述文件在第一时长内的访问次数大于等于预设的第三阈值且小于预设的第二阈值时,所述第三分级规则成立;
30、其中,所述第二阈值大于所述第三阈值。
31、优选的,针对由所述聚合缓存中写入所述第三存储介质的任一文件,更新所述文件的元数据,包括:
32、针对由所述聚合缓存中写入所述第三存储介质的任一文件,更新所述文件的元数据中的位置信息,并更新聚合属性。
33、优选的,还包括:
34、所述第一存储介质中的分级迁移服务接收迁移聚合任务;
35、针对所述迁移聚合任务所指向的任意1个文件,所述第一存储介质中的分级迁移服务获取所述文件的元数据,通过所述元数据读取所述第一存储介质中的所述文件,并以迁移聚合的形式将读取的所述文件写入所述第二存储介质中;
36、在将任一所述文件写入所述第二存储介质之后,所述第一存储介质中的分级迁移服务更新所述文件的元数据,并删除所述第一存储介质中存储的所述文件。
37、优选的,所述迁移聚合任务所指向的任意1个文件均为满足预设的第二分级规则的文件;
38、所述第二分级规则包括:
39、当所述文件在第一时长内的访问次数大于等于预设的第二阈值且小于预设的第一阈值时,所述第二分级规则成立;
40、其中,所述第二阈值小于所述第一阈值。
41、优选的,还包括:
42、第三存储介质中的分级迁移服务接收第二再聚合任务;
43、针对所述第二再聚合任务所指向的任意1个文件,所述第三存储介质中的分级迁移服务获取所述文件的元数据,通过所述元数据读取所述第三存储介质中的所述文件并写入所述第三存储介质的聚合缓存中;
44、每当所述聚合缓存写满时,所述第三存储介质中的分级迁移服务以聚合文件再次迁移聚合的形式将所述聚合缓存中的各个文件写入第四存储介质中;
45、针对由所述聚合缓存中写入所述第四存储介质的任一文件,更新所述文件的元数据,并删除所述第三存储介质中存储的所述文件;
46、其中,所述第四存储介质中以聚合文件的形式存储文件数据,所述第三存储介质的数据存取速度高于所述第四存储介质的数据存取速度。
47、优选的,所述第二再聚合任务所指向的任意1个文件均为满足预设的第四分级规则的文件;
48、所述第四分级规则包括:
49、当所述文件在第一时长内的访问次数小于预设的第三阈值时,所述第四分级规则成立。
50、优选的,还包括:
51、所述第四存储介质中的分级迁移服务接收第三再聚合任务;
52、针对所述第三再聚合任务所指向的任意1个文件,所述第四存储介质中的分级迁移服务获取所述文件的元数据,通过所述元数据读取所述第四存储介质中的所述文件并写入所述第四存储介质的聚合缓存中;
53、每当所述聚合缓存写满时,所述第四存储介质中的分级迁移服务以聚合文件再次迁移聚合的形式将所述聚合缓存中的各个文件写入所述第三存储介质中;
54、针对由所述聚合缓存中写入所述第三存储介质的任一文件,更新所述文件的元数据,并删除所述第四存储介质中存储的所述文件。
55、优选的,还包括:
56、所述第三存储介质中的分级迁移服务接收第四再聚合任务;
57、针对所述第四再聚合任务所指向的任意1个文件,所述第三存储介质中的分级迁移服务获取所述文件的元数据,通过所述元数据读取所述第三存储介质中的所述文件并写入所述第三存储介质的聚合缓存中;
58、每当所述聚合缓存写满时,所述第三存储介质中的分级迁移服务以聚合文件再次迁移聚合的形式将所述聚合缓存中的各个文件写入所述第二存储介质中;
59、针对由所述聚合缓存中写入所述第二存储介质的任一文件,更新所述文件的元数据,并删除所述第三存储介质中存储的所述文件。
60、优选的,所述第一存储介质为由ssd构成的存储介质,所述第二存储介质为由ssd和hdd构成的存储介质,所述第三存储介质为由hdd构成的存储介质,所述第四存储介质为由磁带库和/或光盘构成的存储介质。
61、一种数据迁移方法,包括:
62、生成反聚合任务并发送至分级迁移服务;
63、针对所述反聚合任务所指向的任意1个文件,将所述文件的元数据发送至所述分级迁移服务,以使得所述分级迁移服务通过所述元数据读取第二存储介质中的所述文件,并以反迁移聚合的形式将读取的所述文件写入第一存储介质中;
64、在所述分级迁移服务将任一所述文件写入所述第一存储介质之后,更新所述文件的元数据,并在更新完成之后由所述分级迁移服务删除所述第二存储介质中存储的所述文件;
65、其中,所述第二存储介质中以聚合文件的形式存储文件数据,所述第一存储介质中以非聚合文件的形式存储文件数据,所述第一存储介质的数据存取速度高于所述第二存储介质的数据存取速度。
66、一种数据迁移系统,包括:
67、任务接收模块,用于接收反聚合任务;
68、反迁移聚合模块,用于针对所述反聚合任务所指向的任意1个文件,获取所述文件的元数据,通过所述元数据读取第二存储介质中的所述文件,并以反迁移聚合的形式将读取的所述文件写入第一存储介质中;
69、更新删除模块,用于在将任一所述文件写入所述第一存储介质之后,更新所述文件的元数据,并删除所述第二存储介质中存储的所述文件;
70、其中,所述第二存储介质中以聚合文件的形式存储文件数据,所述第一存储介质中以非聚合文件的形式存储文件数据,所述第一存储介质的数据存取速度高于所述第二存储介质的数据存取速度。
71、一种数据迁移设备,包括:
72、存储器,用于存储计算机程序;
73、处理器,用于执行所述计算机程序以实现如上述所述的数据迁移方法的步骤。
74、一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述所述的数据迁移方法的步骤。
75、应用本发明实施例所提供的技术方案,第一存储介质的数据存取速度高于第二存储介质的数据存取速度,即第一存储介质是高速存储介质,有利于实现数据的高速存取,相较于第一存储介质,第二存储介质是低速存储介质,有利于在保障成本的情况下,实现大量数据的存储。第二存储介质中以聚合文件的形式存储文件数据,也就有利于保障数据恢复速度。并且本技术的方案中,支持数据从第二存储介质迁移至第一存储介质。具体的,可以由第二存储介质的分级迁移服务接收反聚合任务,针对反聚合任务所指向的任意1个文件,说明需要上拉至第一存储介质,因此,可以获取所该述文件的元数据,从而通过元数据读取第二存储介质中的文件。由于第一存储介质未进行文件的聚合,第二存储介质进行了文件的聚合,因此,是以反迁移聚合的形式将读取的文件写入第一存储介质中。在将任一文件写入第一存储介质之后,需要更新文件的元数据,并删除第二存储介质中存储的文件。可以看出,本技术实现了文件的反聚合,即,从进行了文件聚合的第二存储介质中,读取数据存储至未进行文件聚合的第一存储介质中,因此本技术的方案在保障了数据恢复速度的情况下,提高了数据迁移的灵活性。