掌桥专利:专业的专利平台
掌桥专利
首页

一种数据迁移方法、系统、设备及计算机可读存储介质

文献发布时间:2023-06-19 10:41:48


一种数据迁移方法、系统、设备及计算机可读存储介质

技术领域

本申请涉及数据迁移技术领域,更具体地说,涉及一种数据迁移方法、系统、设备及计算机可读存储介质。

背景技术

随着大数据时代的到来及数据量的激增,HDFS(Hadoop Distributed FileSystem,Hadoop分布式文件系统)应用越来越广,海量数据存储在HDFS系统中。但随着业务的扩展或数据量的增加,原有的HDFS系统面临升级、扩容等问题,这时需要进行HDFS数据迁移。比如使用DistCp(Distributed Copy,分布式拷贝)命令进行HDFS系统间的数据迁移。

虽然DistCp利用Map/Reduce技术将文件传输任务提交到Yarn上,具有较高的效率和容错性,但需要用户手动执行DistCp命令,且不能正确传输所需传输的数据,适用性差。

综上所述,如何提高HDFS中数据迁移的适用性是目前本领域技术人员亟待解决的问题。

发明内容

本申请的目的是提供一种数据迁移方法,其能在一定程度上解决如何提高HDFS中数据迁移的适用性的技术问题。本申请还提供了一种数据迁移系统、设备及计算机可读存储介质。

为了实现上述目的,本申请提供如下技术方案:

一种数据迁移方法,应用于HDFS,包括:

基于扫描线程在目标文件夹中扫描出满足预设传输规则的目标文件,获取所述目标文件的目标校验信息,并将所述目标文件加入至传输队列;

基于传输线程向Yarn传输所述传输队列中的所述目标文件,并将所述目标文件加入至任务队列;

基于监控线程判断所述任务队列中的所述目标文件是否传输成功,若是,则将所述目标文件加入至校验队列;

基于校验线程及所述目标校验信息对所述校验队列中的所述目标文件进行校验,若校验通过,则完成所述目标文件的迁移。

优选的,所述获取所述目标文件的校验信息,包括:

判断所述目标文件是否在已扫描文件列表中;

若所述目标文件不在所述已扫描文件列表中,则将所述目标文件添加至所述已扫描文件列表中,并执行所述获取所述目标文件的校验信息的步骤。

优选的,所述基于校验线程及所述目标校验信息对所述校验队列中的所述目标文件进行校验,包括:

获取所述Yarn接收的所述目标文件的实时校验信息;

判断所述实时校验信息与所述目标校验信息是否一致;

若所述实时校验信息与所述目标校验信息一致,则校验通过;

若所述实时校验信息与所述目标校验信息不一致,则校验未通过。

优选的,所述基于监控线程判断所述任务队列中的所述目标文件是否传输成功之后,还包括:

若传输失败,则将所述目标文件添加至任务失败队列中。

优选的,将所述目标文件添加至任务失败队列中之后,还包括:

基于异常处理线程对所述任务失败队列中的所述目标文件进行处理。

优选的,所述基于校验线程及所述目标校验信息对所述校验队列中的所述目标文件进行校验之后,还包括:

若校验未通过,则将所述目标文件加入至文件校验失败队列;

基于所述异常处理线程对所述文件校验失败队列中的所述目标文件进行处理。

优选的,所述完成所述目标文件的迁移之后,还包括:

对所述目标文件的传输过程进行统计,生成相应的统计信息并公布。

一种数据迁移系统,应用于HDFS,包括:

扫描模块,用于基于扫描线程在目标文件夹中扫描出满足预设传输规则的目标文件,获取所述目标文件的目标校验信息,并将所述目标文件加入至传输队列;

传输模块,用于基于传输线程向Yarn传输所述传输队列中的所述目标文件,并将所述目标文件加入至任务队列;

监控模块,用于基于监控线程判断所述任务队列中的所述目标文件是否传输成功,若是,则将所述目标文件加入至校验队列;

校验模块,用于基于校验线程及所述目标校验信息对所述校验队列中的所述目标文件进行校验,若校验通过,则完成所述目标文件的迁移。

一种数据迁移设备,应用于HDFS,包括:

存储器,用于存储计算机程序;

处理器,用于执行所述计算机程序时实现如上任一所述数据迁移方法的步骤。

一种计算机可读存储介质,应用于HDFS,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时实现如上任一所述数据迁移方法的步骤。

本申请提供的一种数据迁移方法,应用于HDFS,基于扫描线程在目标文件夹中扫描出满足预设传输规则的目标文件,获取目标文件的目标校验信息,并将目标文件加入至传输队列;基于传输线程向Yarn传输传输队列中的目标文件,并将目标文件加入至任务队列;基于监控线程判断任务队列中的目标文件是否传输成功,若是,则将目标文件加入至校验队列;基于校验线程及目标校验信息对校验队列中的目标文件进行校验,若校验通过,则完成目标文件的迁移。本申请中,HDFS可以借助扫描线程、传输线程、监控线程及校验线程自动将目标文件迁移至Yarn,并且可以借助校验信息来保证目标文件的完整性迁移,迁移效率及准确性高,适用性好。本申请提供的一种数据迁移系统、设备及计算机可读存储介质也解决了相应技术问题。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本申请实施例提供的一种数据迁移方法的流程图;

图2为本申请中HDFS数据迁移的线程示意图;

图3为本申请中一种数据迁移系统的结构示意图;

图4为本申请实施例提供的一种数据迁移设备的结构示意图;

图5为本申请实施例提供的一种数据迁移设备的另一结构示意图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

随着大数据时代的到来及数据量的激增,HDFS(Hadoop Distributed FileSystem,Hadoop分布式文件系统)应用越来越广,海量数据存储在HDFS系统中。但随着业务的扩展或数据量的增加,原有的HDFS系统面临升级、扩容等问题,这时需要进行HDFS数据迁移。比如使用DistCp(Distributed Copy,分布式拷贝)命令进行HDFS系统间的数据迁移。虽然DistCp利用Map/Reduce技术将文件传输任务提交到Yarn上,具有较高的效率和容错性,但需要用户手动执行DistCp命令,且不能正确传输所需传输的数据,适用性差。而本申请提供的数据迁移方案可以提高HDFS中数据迁移的适用性。

请参阅图1和图2,图1为本申请实施例提供的一种数据迁移方法的流程图,图2为本申请中HDFS数据迁移的线程示意图。

本申请实施例提供的一种数据迁移方法,应用于HDFS,可以包括以下步骤:

步骤S101:基于扫描线程在目标文件夹中扫描出满足预设传输规则的目标文件,获取目标文件的目标校验信息,并将目标文件加入至传输队列。

实际应用中,因为HDFS的数据量巨大,这给数据迁移工作带来巨大挑战,且传统方法使用DistCp命令进行HDFS系统间的数据迁移,需要手动执行DistCp命令,且不能自动发现新文件,为了解决此问题,本申请中,在HDFS中设置扫描线程,使得HDFS可以基于扫描线程自动在目标文件夹中扫描出满足预设传输规则的目标文件,将目标文件加入至传输队列,以便后续对目标文件进行传输,且HDFS可以基于扫描线程获取目标文件的目标校验信息,以便后续基于目标校验信息判断目标文件的完整性,

应当指出,预设传输规则用于判定文件是否可以被迁移,预设传输规则的类型可以根据实际需要确定,比如预设传输规则可以为数据量大于预设值的文件需要被传输、类型与用户设定类型一致的文件需要被传输等,本申请在此不做具体限定。

步骤S102:基于传输线程向Yarn传输传输队列中的目标文件,并将目标文件加入至任务队列。

实际应用中,可以在HDFS中创建传输线程,使得HDFS可以基于传输线程将传输队列中的目标文件传输至Yarn,在此过程中,为了便于控制和减少网络波动对传输带来的影响,可以基于传输线程分批次向Yarn传输传输队列中的目标文件等。

步骤S103:基于监控线程判断任务队列中的目标文件是否传输成功,若是,则将目标文件加入至校验队列。

实际应用中,当传输任务提交到Yarn后,只能通过Yarn获取当前任务状态,如果单纯使用DistCp命令,则需要在Yarn的监控界面查看任务状态,由于传输数据量大,耗时久,不可能时刻监视任务状态,所以为了能及时发现任务的执行结果,可以在HDFS中创建监控线程,使得HDFS可以基于监控线程判断任务队列中的目标任务是否传输成功,若是,则可以将目标文件加入至校验队列,以便后续对传输成功的目标文件进行完整性校验。

步骤S104:基于校验线程及目标校验信息对校验队列中的目标文件进行校验,若校验通过,则完成目标文件的迁移。

实际应用中,为了保证目标文件的完整可用,可以在HDFS中创建校验线程,使得HDFS可以基于校验线程及目标校验信息对校验队列中的目标文件进行校验,并在校验通过的情况下才完成目标文件的迁移,具体的,若校验未通过,则可以重新对目标文件进行迁移等,本申请在此不做具体限定。

本申请提供的一种数据迁移方法,应用于HDFS,基于扫描线程在目标文件夹中扫描出满足预设传输规则的目标文件,获取目标文件的目标校验信息,并将目标文件加入至传输队列;基于传输线程向Yarn传输传输队列中的目标文件,并将目标文件加入至任务队列;基于监控线程判断任务队列中的目标文件是否传输成功,若是,则将目标文件加入至校验队列;基于校验线程及目标校验信息对校验队列中的目标文件进行校验,若校验通过,则完成目标文件的迁移。本申请中,HDFS可以借助扫描线程、传输线程、监控线程及校验线程自动将目标文件迁移至Yarn,并且可以借助校验信息来保证目标文件的完整性迁移,迁移效率及准确性高,适用性好。

本申请实施例提供的一种数据迁移方法中,HDFS在获取目标文件的校验信息的过程中,为了避免重复对一个文件进行迁移,可以借助已扫描文件列表来存储待迁移的目标文件的信息,也即HDFS可以判断目标文件是否在已扫描文件列表中;若目标文件不在已扫描文件列表中,则将目标文件添加至已扫描文件列表中,并执行获取目标文件的校验信息的步骤。

本申请实施例提供的一种数据迁移方法中,HDFS在基于校验线程及目标校验信息对校验队列中的目标文件进行校验的过程中,为了快速对目标文件进行校验,可以获取Yarn接收的目标文件的实时校验信息;判断实时校验信息与目标校验信息是否一致;若实时校验信息与目标校验信息一致,则校验通过;若实时校验信息与目标校验信息不一致,则校验未通过。

本申请实施例提供的一种数据迁移方法中,HDFS在基于监控线程判断任务队列中的目标文件是否传输成功之后,若传输失败,则可以将目标文件添加至任务失败队列中。以便后续对任务失败队列中的目标文件进行后续处理,比如进行记录或重传等。

具体应用场景中,为了快速对迁移过程中出现异常的目标文件进行处理,HDFS在将目标文件添加至任务失败队列中之后,还可以基于异常处理线程对任务失败队列中的目标文件进行处理。

具体应用场景中,HDFS在基于校验线程及目标校验信息对校验队列中的目标文件进行校验之后,若校验未通过,则可以将目标文件加入至文件校验失败队列;并基于异常处理线程对文件校验失败队列中的目标文件进行处理。

本申请实施例提供的一种数据迁移方法中,HDFS在完成目标文件的迁移之后,为了便于用户等获知数据迁移的过程信息,还可以对目标文件的传输过程进行统计,生成相应的统计信息并公布。

请参阅图3,图3为本申请中一种数据迁移系统的结构示意图。

本申请实施例提供的一种数据迁移系统,应用于HDFS,可以包括:

扫描模块101,用于基于扫描线程在目标文件夹中扫描出满足预设传输规则的目标文件,获取目标文件的目标校验信息,并将目标文件加入至传输队列;

传输模块102,用于基于传输线程向Yarn传输传输队列中的目标文件,并将目标文件加入至任务队列;

监控模块103,用于基于监控线程判断任务队列中的目标文件是否传输成功,若是,则将目标文件加入至校验队列;

校验模块104,用于基于校验线程及目标校验信息对校验队列中的目标文件进行校验,若校验通过,则完成目标文件的迁移。

本申请实施例提供的一种数据迁移系统,应用于HDFS,扫描模块可以包括:

第一判断单元,用于判断目标文件是否在已扫描文件列表中;若目标文件不在已扫描文件列表中,则将目标文件添加至已扫描文件列表中,并执行获取目标文件的校验信息的步骤。

本申请实施例提供的一种数据迁移系统,应用于HDFS,校验模块可以包括:

第一获取单元,用于获取Yarn接收的目标文件的实时校验信息;

第二判断单元,用于判断实时校验信息与目标校验信息是否一致;若实时校验信息与目标校验信息一致,则校验通过;若实时校验信息与目标校验信息不一致,则校验未通过。

本申请实施例提供的一种数据迁移系统,应用于HDFS,还可以包括:

第一添加单元,用于监控模块基于监控线程判断任务队列中的目标文件是否传输成功之后,若传输失败,则将目标文件添加至任务失败队列中。

本申请实施例提供的一种数据迁移系统,应用于HDFS,还可以包括:

异常处理模块,用于第一添加单元将目标文件添加至任务失败队列中之后,基于异常处理线程对任务失败队列中的目标文件进行处理。

本申请实施例提供的一种数据迁移系统,应用于HDFS,还可以包括:

第二添加单元,用于校验模块基于校验线程及目标校验信息对校验队列中的目标文件进行校验之后,若校验未通过,则将目标文件加入至文件校验失败队列;

相应的,异常处理模块还用于基于异常处理线程对文件校验失败队列中的目标文件进行处理。

本申请实施例提供的一种数据迁移系统,应用于HDFS,还可以包括统计模块,用于校验模块完成目标文件的迁移之后,对目标文件的传输过程进行统计,生成相应的统计信息并公布。

本申请还提供了一种数据迁移设备及计算机可读存储介质,其均具有本申请实施例提供的一种风扇转速处理方法具有的对应效果。请参阅图4,图4为本申请实施例提供的一种数据迁移设备的结构示意图。

本申请实施例提供的一种数据迁移设备,包括存储器201和处理器202,存储器201中存储有计算机程序,处理器202执行计算机程序时实现如下步骤:

基于扫描线程在目标文件夹中扫描出满足预设传输规则的目标文件,获取目标文件的目标校验信息,并将目标文件加入至传输队列;

基于传输线程向Yarn传输传输队列中的目标文件,并将目标文件加入至任务队列;

基于监控线程判断任务队列中的目标文件是否传输成功,若是,则将目标文件加入至校验队列;

基于校验线程及目标校验信息对校验队列中的目标文件进行校验,若校验通过,则完成目标文件的迁移。

本申请实施例提供的一种数据迁移设备,包括存储器201和处理器202,存储器201中存储有计算机程序,处理器202执行计算机程序时实现如下步骤:判断目标文件是否在已扫描文件列表中;若目标文件不在已扫描文件列表中,则将目标文件添加至已扫描文件列表中,并执行获取目标文件的校验信息的步骤。

本申请实施例提供的一种数据迁移设备,包括存储器201和处理器202,存储器201中存储有计算机程序,处理器202执行计算机程序时实现如下步骤:获取Yarn接收的目标文件的实时校验信息;判断实时校验信息与目标校验信息是否一致;若实时校验信息与目标校验信息一致,则校验通过;若实时校验信息与目标校验信息不一致,则校验未通过。

本申请实施例提供的一种数据迁移设备,包括存储器201和处理器202,存储器201中存储有计算机程序,处理器202执行计算机程序时实现如下步骤:基于监控线程判断任务队列中的目标文件是否传输成功之后,若传输失败,则将目标文件添加至任务失败队列中。

本申请实施例提供的一种数据迁移设备,包括存储器201和处理器202,存储器201中存储有计算机程序,处理器202执行计算机程序时实现如下步骤:将目标文件添加至任务失败队列中之后,基于异常处理线程对任务失败队列中的目标文件进行处理。

本申请实施例提供的一种数据迁移设备,包括存储器201和处理器202,存储器201中存储有计算机程序,处理器202执行计算机程序时实现如下步骤:基于校验线程及目标校验信息对校验队列中的目标文件进行校验之后,若校验未通过,则将目标文件加入至文件校验失败队列;基于异常处理线程对文件校验失败队列中的目标文件进行处理。

本申请实施例提供的一种数据迁移设备,包括存储器201和处理器202,存储器201中存储有计算机程序,处理器202执行计算机程序时实现如下步骤:完成目标文件的迁移之后,对目标文件的传输过程进行统计,生成相应的统计信息并公布。

请参阅图5,本申请实施例提供的另一种数据迁移设备中还可以包括:与处理器202连接的输入端口203,用于传输外界输入的命令至处理器202;与处理器202连接的显示单元204,用于显示处理器202的处理结果至外界;与处理器202连接的通信模块205,用于实现数据迁移设备与外界的通信。显示单元204可以为显示面板、激光扫描使显示器等;通信模块205所采用的通信方式包括但不局限于移动高清链接技术(HML)、通用串行总线(USB)、高清多媒体接口(HDMI)、无线连接:无线保真技术(WiFi)、蓝牙通信技术、低功耗蓝牙通信技术、基于IEEE802.11s的通信技术。

本申请实施例提供的一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,计算机程序被处理器执行时实现如下步骤:

基于扫描线程在目标文件夹中扫描出满足预设传输规则的目标文件,获取目标文件的目标校验信息,并将目标文件加入至传输队列;

基于传输线程向Yarn传输传输队列中的目标文件,并将目标文件加入至任务队列;

基于监控线程判断任务队列中的目标文件是否传输成功,若是,则将目标文件加入至校验队列;

基于校验线程及目标校验信息对校验队列中的目标文件进行校验,若校验通过,则完成目标文件的迁移。

本申请实施例提供的一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,计算机程序被处理器执行时实现如下步骤:判断目标文件是否在已扫描文件列表中;若目标文件不在已扫描文件列表中,则将目标文件添加至已扫描文件列表中,并执行获取目标文件的校验信息的步骤。

本申请实施例提供的一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,计算机程序被处理器执行时实现如下步骤:获取Yarn接收的目标文件的实时校验信息;判断实时校验信息与目标校验信息是否一致;若实时校验信息与目标校验信息一致,则校验通过;若实时校验信息与目标校验信息不一致,则校验未通过。

本申请实施例提供的一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,计算机程序被处理器执行时实现如下步骤:基于监控线程判断任务队列中的目标文件是否传输成功之后,若传输失败,则将目标文件添加至任务失败队列中。

本申请实施例提供的一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,计算机程序被处理器执行时实现如下步骤:将目标文件添加至任务失败队列中之后,基于异常处理线程对任务失败队列中的目标文件进行处理。

本申请实施例提供的一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,计算机程序被处理器执行时实现如下步骤:基于校验线程及目标校验信息对校验队列中的目标文件进行校验之后,若校验未通过,则将目标文件加入至文件校验失败队列;基于异常处理线程对文件校验失败队列中的目标文件进行处理。

本申请实施例提供的一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,计算机程序被处理器执行时实现如下步骤:完成目标文件的迁移之后,对目标文件的传输过程进行统计,生成相应的统计信息并公布。

本申请所涉及的计算机可读存储介质包括随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质。

本申请实施例提供的数据迁移系统、设备及计算机可读存储介质中相关部分的说明请参见本申请实施例提供的数据迁移方法中对应部分的详细说明,在此不再赘述。另外,本申请实施例提供的上述技术方案中与现有技术中对应技术方案实现原理一致的部分并未详细说明,以免过多赘述。

还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

相关技术
  • 一种数据迁移方法、系统、设备及计算机可读存储介质
  • 一种数据迁移方法、系统、设备及计算机可读存储介质
技术分类

06120112641379