一种数据迁移方法和装置的制造方法

文档序号:10654318阅读:435来源:国知局
一种数据迁移方法和装置的制造方法
【专利摘要】本申请提供了一种数据迁移方法和装置,该方法包括:确定用户当前待迁移的至少一个目标数据表;将该目标数据表分成待迁移的至少一个数据段,其中,每个数据段包括该目标数据表中的至少一条数据记录;按照该目标数据表当前所需子进程的预设数量,从主进程维护的多个空闲子进程中,并行调用预设数量个子进程执行预设数量个该数据段的迁移任务,直至该至少一个数据段均被迁移。该方法和装置可以提高数据迁移的效率,并降低数据迁移的复杂度。
【专利说明】
一种数据迁移方法和装置
技术领域
[0001]本申请涉及数据处理技术领域,更具体的说是涉及一种数据迀移方法和装置。
【背景技术】
[0002]数据迀移主要适用于一套旧系统切换到另一套新系统,或者多套旧系统切换到同一套新系统的情况下,数据迀移就是指将旧系统中的数据转换到新系统中。如,银行、电信以及电商销售等领域发生系统切换时,均需要进行数据迀移。
[0003]在进行数据迀移时,一般通过人工手动配置迀移数据表的进程,进而通过一个进程对该数据表进行迀移。然而当需要迀移的数据表数量较多时,用户需要启动多个进程来对该多个数据表进行迀移,使得启动进程处理数据表的过程较为复杂,且用户需要同时维护多个进程也使得数据表迀移过程复杂度较高。同时,现有的数据表迀移过程的耗时较长,迀移速度较慢。

【发明内容】

[0004]有鉴于此,本申请提供了一种数据迀移方法和装置,以提高数据迀移的效率,并降低数据迀移的复杂度。
[0005]为实现上述目的,本申请提供如下技术方案:
[0006]—种数据迀移方法,包括:
[0007]确定当前待迀移的至少一个目标数据表;
[0008]将所述目标数据表分成待迀移的至少一个数据段,其中,每个所述数据段包括所述目标数据表中的至少一条数据记录;
[0009]按照所述目标数据表当前所需子进程的预设数量,从主进程维护的多个空闲子进程中,并行调用预设数量个子进程执行预设数量个所述数据段的迀移任务,直至所述至少一个数据段均被迀移,其中,所述预设数量大于或等于一。
[0010]优选的,所述从主进程维护的多个空闲子进程中,并行调用预设数量个子进程执行预设数量个所述数据段的迀移任务,包括:
[0011]从所述主进程维护的多个空闲子进程中,确定当前待调用的预设数量个子进程;
[0012]调用所述预设数量个子进程分别执行预设数量个数据段对应的迀移任务,其中,每个所述子进程执行一个所述数据段对应的迀移任务;
[0013]当所述预设数量个子进程中任意一个子进程完成迀移任务时,从所述至少一个数据段中当前未被迀移的数据段中,选取出一个目标数据段,并为所述完成迀移任务的子进程分配所述目标数据段的迀移任务,直至所述至少一个数据段均被迀移。
[0014]优选的,在所述并行调用预设数量个子进程执行预设数量个所述数据段的迀移任务之后,还包括:
[0015]接收所述子进程反馈的执行状态信息,所述执行状态信息用于表征所述子进程负责迀移的数据段对应迀移任务是否完成。
[0016]优选的,在所述接收所述子进程反馈的执行状态信息之后,还包括:
[0017]将所述执行状态信息发送给所述用户所在的客户端,以在所述客户端上展现所述目标数据表中所述至少一个数据段各自对应所述执行状态信息。
[0018]优选的,在所述将所述执行状态信息发送给所述用户所在的客户端之后,还包括:
[0019]接收用户通过所述客户端调整所述目标数据表所需子进程的数量;
[0020]依据用户调整的所述目标数据表所需子进程的数量,调整当前并行调用的所述子进程的数量。
[0021]优选的,在所述接收所述子进程反馈的执行状态信息之后,还包括:
[0022]存储所述执行状态信息;
[0023]当所述目标数据表出现迀移中断而重新迀移时,依据存储的所述执行状态信息,确定所述至少一个数据段中当前未被迀移的数据段。
[0024]另一方面,本申请实施例还提供了一种数据迀移装置,包括:
[0025]表确定单元,用于确定当前待迀移的至少一个目标数据表;
[0026]表拆分单元,用于将所述目标数据表分成待迀移的至少一个数据段,其中,每个所述数据段包括所述目标数据表中的至少一条数据记录;
[0027]并行迀移单元,用于按照所述目标数据表当前所需子进程的预设数量,从主进程维护的多个空闲子进程中,并行调用预设数量个子进程执行预设数量个所述数据段的迀移任务,直至所述至少一个数据段均被迀移,其中,所述预设数量大于或等于一。
[0028]优选的,所述并行迀移单元,包括:
[0029]进程确定单元,用于从所述主进程维护的多个空闲子进程中,确定当前待调用的预设数量个子进程;
[0030]进程调用单元,用于调用所述预设数量个子进程分别执行预设数量个数据段对应的迀移任务,其中,每个所述子进程执行一个所述数据段对应的迀移任务;
[0031]进程重利用单元,用于当所述预设数量个子进程中任意一个子进程完成迀移任务时,从所述至少一个数据段中当前未被迀移的数据段中,选取出一个目标数据段,并为所述完成迀移任务的子进程分配所述目标数据段的迀移任务,直至所述至少一个数据段均被迀移。
[0032]优选的,还包括:
[0033]状态反馈单元,用于在所述并行迀移单元并行调用预设数量个子进程执行预设数量个所述数据段的迀移任务之后,接收所述子进程反馈的执行状态信息,所述执行状态信息用于表征所述子进程负责迀移的数据段对应迀移任务是否完成。
[0034]优选的,还包括:
[0035]状态发送单元,用于在所述状态反馈单元接收所述子进程反馈的执行状态信息之后,将所述执行状态信息发送给所述用户所在的客户端,以在所述客户端上展现所述目标数据表中所述至少一个数据段各自对应所述执行状态信息;
[0036]数量调整单元,用于接收用户通过所述客户端调整所述目标数据表所需子进程的数量;
[0037]进程调整单元,用于依据用户调整的所述目标数据表所需子进程的数量,调整当前并行调用的所述子进程的数量。
[0038]经由上述的技术方案可知,本申请在确定出待迀移的目标数据表之后,主进程可以自动将目标数据表划分为至少一个数据段,使得而每个数据段内至少包括一条数据记录,并且通过调用预设数量个子进程并行执行对预设数量个数据段的迀移任务,这样,同一时刻可以存在多个子进程对一个待迀移的数据表进行数据迀移,有利于提高迀移效率。而且由于数据迀移过程中由主进程来调用子进程对数据表进行迀移,无需用户手动启动进程,从而可以降低数据迀移的复杂度。
【附图说明】
[0039]为了更清楚地说明本申请实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
[0040]图1示出了本申请一种数据迀移方法一个实施例的流程示意图;
[0041]图2示出了本申请一种数据迀移方法又一个实施例的流程示意图;
[0042]图3示出了本申请一种数据迀移方法又一个实施例的流程示意图;
[0043]图4示出了本申请一种数据迀移装置一个实施例的结构示意图。
【具体实施方式】
[0044]下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0045]参见图1,其示出了本申请一种数据迀移方法一个实施例的流程示意图,本实施例的方法可以应用于服务器,本实施例的方法可以包括:
[0046]101,确定当前待迀移的至少一个目标数据表。
[0047]其中,数据表为数据库中存储的数据表。为了便于区分,将当前需要迀移的数据表称为目标数据表。
[0048]其中,待迀移的目标数据表可以预先设定,也可以是由用户实时指定。
[0049]102,将目标数据表分成待迀移的至少一个数据段。
[0050]其中,每个数据段包括该目标数据表中的至少一条数据记录。
[0051]在本申请实施例中,对于任意目标数据表的处理过程都是相同的。对于任意一个目标数据表,将该目标数据表划分为多个数据段,以数据段为单位进行迀移。
[0052]在本申请实施例的尤其适用于数据表包含多条数据记录的情况,因此,该目标数据表划分出的数据段中至少有一个数据段包含多条数据记录。可选的,可以按照目标数据表中数据记录的顺序,将每指定数量条数据记录划分为一个数据段,并将最后不足该指定数量的数据记录作为一个数据段。例如,目标数据表中包括1020条数据记录,那么可以每100条数据记录构成一个数据段,这样,该目标数据表被划分为11个数据段,其中,前10个数据段均包括100条数据记录;而第11个数据段仅包括20条数据记录。
[0053]103,按照该目标数据表当前所需子进程的预设数量,从主进程维护的多个空闲子进程中,并行调用预设数量个子进程执行预设数量个数据段的迀移任务,直至该至少一个数据段均被迀移。
[0054]其中,该预设数量大于或等于一。
[0055]该预设数量可以由用户根据实际需要设定;当然,该预设数量也可以是服务器根据当前运行状态来确定。
[0056]本申请实施例中主进程可以维护多个子进程,在需要对该目标数据表进行迀移时,主进程可以从维护的多个空闲子进程中,确定当前需要调用预设数量个子进程,实现通过该预设数量个子进程并向对预设数量个数据段进行迀移。可以理解的是,每个子进程每次仅仅处理一个数据段,但是同时至少一个子进程并行处理至少一个数据段,这样,同时有一个或多个子进程对该目标数据表进行迀移,这样,可以提高目标数据表中数据被迀移的速度,进而提高了迀移效率。
[0057]需要说明的是,在本申请实施例中,主进程维护多个子进程,主进程负责将待迀移的目标数据表拆分成至少一个数据段,并为子进程分配需要迀移的数据段,并控制子进程对数据段内的数据记录进行迀移,整个过程均由主进程来处理,无需人为手动启动进程来进程数据迀移。
[0058]可见,在本申请实施例中,在确定出待迀移的目标数据表之后,主进程可以自动将目标数据表划分为至少一个数据段,使得而每个数据段内至少包括一条数据记录,并且通过调用预设数量个子进程并行执行对预设数量个数据段的迀移任务,这样,同一时刻可以存在多个子进程对一个待迀移的数据表进行数据迀移,有利于提高迀移效率。而且由于数据迀移过程中由主进程来调用子进程对数据表进行迀移,无需用户手动启动进程,从而可以降低数据迀移的复杂度。
[0059]可以理解的是,在本申请实施例中,在对目标数据表进行迀移的过程中,在主进程确定出待调用的子进程之后,可以为子进程分配对数据段的迀移任务。由于目标数据表中的数据格式与目的数据表中的数据格式不同,因此,在主进程为子进程分配迀移任务时,该迀移任务除了包括所需迀移的数据段,还可以包括:配置文件,该配置文件中可以包括目标数据表的属性信息,例如,目标数据表的表类别,用户标识等等。该配置文件还可以包括数据转换关系,该数据转换关系为目标数据表中数据形式到目的数据表中数据形式的转换关系。如,字段对应关系,例如,目标数据表中字段Al对应着目的数据表中字段A2;例如,目标数据表中图形转换为目的数据表中图形的转换方式。
[0060]可以理解的是,在本申请实施例中,主进程控制预设数量个子进程并行执行预设数量个数据段的具体方式可以有多种。
[0061 ]在一种可能的实现方式中,该过程就可以包括:
[0062]主进程可以从维护的多个空闲子进程中确定出预设数量个子进程,并通过该预设数量个子进程并行执行该预设数量个数据段的迀移任务;
[0063]当该预设数量个子进程完成该预设数量个数据段的迀移任务之后,主进程可以按照该目标数据表当前所需子进程的预设数量,重新从空闲的子进程中确定出预设数量个子进程,并利用当前确定出的该预设数量个子进程对目标数据表中未被迀移的预设数量个数据段进行迀移,重复该步骤,直至该目标数据表的数据被全部迀移。
[0064]在该种可能的实现方式中,主进程每次都需要确定需要对目标数据表进行迀移的子进程。这样,由于子进程迀移过程中需要加载数据表迀移该目标数据表所需的配置文件,如果主进程每次调用不同的子进程来迀移该目标数据表,那么就会导致每次子进程均需要加载该配置文件,从而使得迀移延迟。
[0065]可选的,在另一种可能的实现方式中,主进程确定出当前需要调用的预设数量个子进程之后,后续可以通过该预设数量个子进程持续对该目标数据表中至少一个数据段进行迀移,直至所有数据段均被迀移。
[0066]在该种实现方式中,子进程完成迀移任务之后,如果该子进程所迀移的目标数据表中仍存在未被迀移的数据段,则主进程仍会该子进程分配该目标数据表中未被迀移的数据段对应的迀移任务。
[0067]下面结合图2对该种实现方式进行详细介绍。参见图2,其示出了本申请一种数据迀移方法又一个实施例的流程示意图,本实施例的方法可以包括:
[0068]201,确定用户当前待迀移的至少一个目标数据表。
[0069]202,将目标数据表分成待迀移的至少一个数据段。
[0070]其中,每个数据段包括该目标数据表中的至少一条数据记录。
[0071]203,从该主进程维护的多个空闲子进程中,确定当前待调用的预设数量个子进程。
[0072]以上步骤201至步骤203可以参见前面实施例的相关介绍,在此不再赘述。
[0073]204,调用该预设数量个子进程分别执行预设数量个数据段对应的迀移任务。
[0074]其中,该预设数量大于或等于一。
[0075]其中,每个子进程执行一个所述数据段对应的迀移任务。在主进程确定出当前待调用的子进程之后,会为该子进程分配迀移任务,每个子进程对应着迀移一个数据段的迀移任务,使得同时由该预设数量个子进程并行执行数据迀移。
[0076]205,当预设数量个子进程中任意一个子进程完成迀移任务时,从至少一个数据段中当前未被迀移的数据段中,选取出一个目标数据段,并为该完成迀移任务的子进程分配该目标数据段的迀移任务,直至该至少一个数据段均被迀移。
[0077]在本申请实施例中,在该步骤204调用该预设数量个子进程之后,如果某个子进程完成该子进程负责的迀移任务之后,如果该目标数据表中仍存在未被迀移的数据段,则该主进程会从该目标数据表中确定需要分配给该子进程进行迀移的数据段,使得子进程继续对该目标数据表进行迀移,而由于该子进程在首次接收到对该目标数据表的迀移任务时,该子进程已经加载了迀移该目标数据表所需的配置文件,从而在再次接收到对该目标数据表的迀移任务时,无需再次加载配置文件,有利于进一步提高迀移速度。
[0078]可以理解的是,在本申请以上任意一个实施例中,在主进程为子进程分配迀移任务之后,子进程执行该迀移任务之后,还可以为主进程反馈执行状态信息,该执行状态信息可以用于表征该子进程负责迀移的数据段对应迀移任务是否完成。
[0079]主进程根据该执行状态信息可以了解到该子进程对该迀移任务的执行状态之后,可以便于确定该子进程是否需要可以继续接收迀移任务。
[0080]同时,主进程根据各个子进程反馈的执行状态信息,可以了解到目标数据表被迀移的进度。
[0081]另外,主进程还可以将子进程反馈的执行状态信息发送给用户所在的客户端,以便用户根据执行状态信息实时调整迀移该目标数据表的子进程的数量。如,参见图3,其示出了本申请一种数据迀移方法又一个实施例的流程示意图,本实施例的方法可以包括:
[0082]301,确定用户当前待迀移的至少一个目标数据表。
[0083]302,将目标数据表分成待迀移的至少一个数据段。
[0084]其中,每个数据段包括该目标数据表中的至少一条数据记录。
[0085]303,按照该目标数据表当前所需子进程的预设数量,从主进程维护的多个空闲子进程中,并行调用预设数量个子进程执行预设数量个数据段的迀移任务。
[0086]其中,该预设数量大于或等于一。
[0087]可以理解的是,该步骤303的具体实现过程可以为前面实施例中任意一种实现方式,在此不再赘述。
[0088]304,接收该子进程反馈的执行状态信息。
[0089]该执行状态信息用于表征该子进程负责迀移的数据段对应迀移任务是否完成。如,该子进程完成该主进程分配的迀移任务时,可以向主进程上报迀移任务完成。
[0090]305,将执行状态信息发送给用户所在的客户端,以在该客户端上展现该目标数据表中至少一个数据段各自对应执行状态信息。
[0091 ]在本实施例中,主进程会将子进程反馈的执行状态信息发送给客户端,这样,客户端上可以展现出所有子进程的执行状态信息,根据该执行状态信息可以了解到目标数据表中被迀移的速度,以及该目标数据表中当前哪些数据已经被迀移等信息。
[0092]306,接收用户通过该客户端调整该目标数据表所需子进程的数量。
[0093]可以理解的是,用户根据迀移该目标数据表的各个子进程反馈的执行状态信息,可以了解到目标数据表的迀移进度,从而可以判断出处理该目标数据表的子进程的数量是否过多或者不足。
[0094]如果用户判断出处理该目标数据表的子进程的数量过多或不足时,可以通过客户端向主进程发送调整指令,以请求调整该目标数据表所需的数量。例如,用户在调整指令中携带处理该目标数据表所需子进程的目标数量,主进程接收到该目标数量后,可以将该目标数据表当前所需子进程的预设数量修改为该目标数量。
[0095]307,依据用户调整的该目标数据表所需子进程的数量,调整当前并行调用的子进程的数量,以通过按照调整后的数量,并行调用子进行执行调整后的数量个数据段的迀移任务,直至该至少一个数据段均被迀移。
[0096]如,如果用户增加迀移该目标数据表所需的子进程的数量,主进程会从空闲的子进程中,调用子进程,以使得当前并行迀移该目标数据表的子进程数量与用户调整后的数量相符。如果用户减少迀移该目标数据表所需子进程的数量,那么主进程在确定出某些子进程完成当前分配的迀移任务之后,可以不再为部分子进程分配迀移任务,以减少并行迀移该目标数据表的子进程的数量。
[0097]可选的,在本申请中,在接收到子进程反馈的执行状态信息之后,主进程还可以存储子进程反馈的执行状态信息。一旦由于设备断电等原因导致该目标数据表的迀移出现中断之后,后续如果重新启动对该目标数据表的迀移,则可以依据存储的执行状态信息,确定该目标数据表的迀移进度,进而确定出目标数据表的至少一个数据段中未被迀移的数据段,以便对未被迀移的数据段进行数据迀移。
[0098]对应本申请的一种数据迀移方法,本申请实施例还提供了一种数据迀移装置。
[0099]参见图4,其示出了本申请一种数据迀移装置一个实施例的结构示意图,本实施例的装置可以应用于服务器,该装置可以包括:
[0?00]表确定单元401,用于确定当前待迀移的至少一个目标数据表;
[0101]表拆分单元402,用于将所述目标数据表分成待迀移的至少一个数据段,其中,每个所述数据段包括所述目标数据表中的至少一条数据记录;
[0102]并行迀移单元403,用于按照所述目标数据表当前所需子进程的预设数量,从主进程维护的多个空闲子进程中,并行调用预设数量个子进程执行预设数量个所述数据段的迀移任务,直至所述至少一个数据段均被迀移,其中,所述预设数量大于或等于一。
[0103]可选的,所述并行迀移单元可以包括:
[0104]进程确定单元,用于从所述主进程维护的多个空闲子进程中,确定当前待调用的预设数量个子进程;
[0105]进程调用单元,用于调用所述预设数量个子进程分别执行预设数量个数据段对应的迀移任务,其中,每个所述子进程执行一个所述数据段对应的迀移任务;
[0106]进程重利用单元,用于当所述预设数量个子进程中任意一个子进程完成迀移任务时,从所述至少一个数据段中当前未被迀移的数据段中,选取出一个目标数据段,并为所述完成迀移任务的子进程分配所述目标数据段的迀移任务,直至所述至少一个数据段均被迀移。
[0107]可选的,在以上任意一个装置的实施例中,所述装置还可以包括:
[0108]状态反馈单元,用于在所述并行迀移单元并行调用预设数量个子进程执行预设数量个所述数据段的迀移任务之后,接收所述子进程反馈的执行状态信息,所述执行状态信息用于表征所述子进程负责迀移的数据段对应迀移任务是否完成。
[0109]进一步的,所述装置还可以包括:
[0110]状态发送单元,用于在所述状态反馈单元接收所述子进程反馈的执行状态信息之后,将所述执行状态信息发送给所述用户所在的客户端,以在所述客户端上展现所述目标数据表中所述至少一个数据段各自对应所述执行状态信息;
[0111]数量调整单元,用于接收用户通过所述客户端调整所述目标数据表所需子进程的数量;
[0112]进程调整单元,用于依据用户调整的所述目标数据表所需子进程的数量,调整当前并行调用的所述子进程的数量。
[0113]进一步的,所述装置还可以包括:
[0114]存储单元,用于存储所述执行状态信息;
[0115]迀移恢复单元,用于当所述目标数据表出现迀移中断而重新迀移时,依据存储的所述执行状态信息,确定所述至少一个数据段中当前未被迀移的数据段。
[0116]对于装置实施例而言,由于其基本相应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
[0117]在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,在没有超过本申请的精神和范围内,可以通过其他的方式实现。当前的实施例只是一种示范性的例子,不应该作为限制,所给出的具体内容不应该限制本申请的目的。例如,所述单元或子单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或多个子单元结合一起。另外,多个单元可以或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
[0118]另外,所描述系统和方法以及不同实施例的示意图,在不超出本申请的范围内,可以与其它系统,模块,技术或方法结合或集成。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0119]以上所述仅是本发明的【具体实施方式】,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
【主权项】
1.一种数据迀移方法,其特征在于,包括: 确定当前待迀移的至少一个目标数据表; 将所述目标数据表分成待迀移的至少一个数据段,其中,每个所述数据段包括所述目标数据表中的至少一条数据记录; 按照所述目标数据表当前所需子进程的预设数量,从主进程维护的多个空闲子进程中,并行调用预设数量个子进程执行预设数量个所述数据段的迀移任务,直至所述至少一个数据段均被迀移,其中,所述预设数量大于或等于一。2.根据权利要求1所述的方法,其特征在于,所述从主进程维护的多个空闲子进程中,并行调用预设数量个子进程执行预设数量个所述数据段的迀移任务,包括: 从所述主进程维护的多个空闲子进程中,确定当前待调用的预设数量个子进程; 调用所述预设数量个子进程分别执行预设数量个数据段对应的迀移任务,其中,每个所述子进程执行一个所述数据段对应的迀移任务; 当所述预设数量个子进程中任意一个子进程完成迀移任务时,从所述至少一个数据段中当前未被迀移的数据段中,选取出一个目标数据段,并为所述完成迀移任务的子进程分配所述目标数据段的迀移任务,直至所述至少一个数据段均被迀移。3.根据权利要求1或2所述的方法,其特征在于,在所述并行调用预设数量个子进程执行预设数量个所述数据段的迀移任务之后,还包括: 接收所述子进程反馈的执行状态信息,所述执行状态信息用于表征所述子进程负责迀移的数据段对应迀移任务是否完成。4.根据权利要求3所述的方法,其特征在于,在所述接收所述子进程反馈的执行状态信息之后,还包括: 将所述执行状态信息发送给所述用户所在的客户端,以在所述客户端上展现所述目标数据表中所述至少一个数据段各自对应所述执行状态信息。5.根据权利要求4所述的方法,其特征在于,在所述将所述执行状态信息发送给所述用户所在的客户端之后,还包括: 接收用户通过所述客户端调整所述目标数据表所需子进程的数量; 依据用户调整的所述目标数据表所需子进程的数量,调整当前并行调用的所述子进程的数量。6.根据权利要求3所述的方法,其特征在于,在所述接收所述子进程反馈的执行状态信息之后,还包括: 存储所述执行状态信息; 当所述目标数据表出现迀移中断而重新迀移时,依据存储的所述执行状态信息,确定所述至少一个数据段中当前未被迀移的数据段。7.一种数据迀移装置,其特征在于,包括: 表确定单元,用于确定当前待迀移的至少一个目标数据表; 表拆分单元,用于将所述目标数据表分成待迀移的至少一个数据段,其中,每个所述数据段包括所述目标数据表中的至少一条数据记录; 并行迀移单元,用于按照所述目标数据表当前所需子进程的预设数量,从主进程维护的多个空闲子进程中,并行调用预设数量个子进程执行预设数量个所述数据段的迀移任务,直至所述至少一个数据段均被迀移,其中,所述预设数量大于或等于一。8.根据权利要求7所述的装置,其特征在于,所述并行迀移单元,包括: 进程确定单元,用于从所述主进程维护的多个空闲子进程中,确定当前待调用的预设数量个子进程; 进程调用单元,用于调用所述预设数量个子进程分别执行预设数量个数据段对应的迀移任务,其中,每个所述子进程执行一个所述数据段对应的迀移任务; 进程重利用单元,用于当所述预设数量个子进程中任意一个子进程完成迀移任务时,从所述至少一个数据段中当前未被迀移的数据段中,选取出一个目标数据段,并为所述完成迀移任务的子进程分配所述目标数据段的迀移任务,直至所述至少一个数据段均被迀移。9.根据权利要求1或2所述的方法,其特征在于,还包括: 状态反馈单元,用于在所述并行迀移单元并行调用预设数量个子进程执行预设数量个所述数据段的迀移任务之后,接收所述子进程反馈的执行状态信息,所述执行状态信息用于表征所述子进程负责迀移的数据段对应迀移任务是否完成。10.根据权利要求9所述的方法,其特征在于,还包括: 状态发送单元,用于在所述状态反馈单元接收所述子进程反馈的执行状态信息之后,将所述执行状态信息发送给所述用户所在的客户端,以在所述客户端上展现所述目标数据表中所述至少一个数据段各自对应所述执行状态信息; 数量调整单元,用于接收用户通过所述客户端调整所述目标数据表所需子进程的数量; 进程调整单元,用于依据用户调整的所述目标数据表所需子进程的数量,调整当前并行调用的所述子进程的数量。
【文档编号】G06F9/48GK106020959SQ201610347104
【公开日】2016年10月12日
【申请日】2016年5月24日
【发明人】文帅营, 刘建辉, 孟伟, 闫艳利, 王路, 陈拓, 陈敏锐, 骆超锋, 彭东江, 杨碧天
【申请人】郑州悉知信息科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1