CN106020959A - 一种数据迁移方法和装置 - Google Patents
一种数据迁移方法和装置 Download PDFInfo
- Publication number
- CN106020959A CN106020959A CN201610347104.9A CN201610347104A CN106020959A CN 106020959 A CN106020959 A CN 106020959A CN 201610347104 A CN201610347104 A CN 201610347104A CN 106020959 A CN106020959 A CN 106020959A
- Authority
- CN
- China
- Prior art keywords
- subprocess
- data segment
- predetermined number
- migration
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/485—Task life-cycle, e.g. stopping, restarting, resuming execution
- G06F9/4856—Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
- G06F9/4862—Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration the task being a mobile agent, i.e. specifically designed to migrate
- G06F9/4875—Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration the task being a mobile agent, i.e. specifically designed to migrate with migration policy, e.g. auction, contract negotiation
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供了一种数据迁移方法和装置,该方法包括:确定用户当前待迁移的至少一个目标数据表;将该目标数据表分成待迁移的至少一个数据段,其中,每个数据段包括该目标数据表中的至少一条数据记录;按照该目标数据表当前所需子进程的预设数量,从主进程维护的多个空闲子进程中,并行调用预设数量个子进程执行预设数量个该数据段的迁移任务,直至该至少一个数据段均被迁移。该方法和装置可以提高数据迁移的效率,并降低数据迁移的复杂度。
Description
技术领域
本申请涉及数据处理技术领域,更具体的说是涉及一种数据迁移方法和装置。
背景技术
数据迁移主要适用于一套旧系统切换到另一套新系统,或者多套旧系统切换到同一套新系统的情况下,数据迁移就是指将旧系统中的数据转换到新系统中。如,银行、电信以及电商销售等领域发生系统切换时,均需要进行数据迁移。
在进行数据迁移时,一般通过人工手动配置迁移数据表的进程,进而通过一个进程对该数据表进行迁移。然而当需要迁移的数据表数量较多时,用户需要启动多个进程来对该多个数据表进行迁移,使得启动进程处理数据表的过程较为复杂,且用户需要同时维护多个进程也使得数据表迁移过程复杂度较高。同时,现有的数据表迁移过程的耗时较长,迁移速度较慢。
发明内容
有鉴于此,本申请提供了一种数据迁移方法和装置,以提高数据迁移的效率,并降低数据迁移的复杂度。
为实现上述目的,本申请提供如下技术方案:
一种数据迁移方法,包括:
确定当前待迁移的至少一个目标数据表;
将所述目标数据表分成待迁移的至少一个数据段,其中,每个所述数据段包括所述目标数据表中的至少一条数据记录;
按照所述目标数据表当前所需子进程的预设数量,从主进程维护的多个空闲子进程中,并行调用预设数量个子进程执行预设数量个所述数据段的迁移任务,直至所述至少一个数据段均被迁移,其中,所述预设数量大于或等于一。
优选的,所述从主进程维护的多个空闲子进程中,并行调用预设数量个子进程执行预设数量个所述数据段的迁移任务,包括:
从所述主进程维护的多个空闲子进程中,确定当前待调用的预设数量个子进程;
调用所述预设数量个子进程分别执行预设数量个数据段对应的迁移任务,其中,每个所述子进程执行一个所述数据段对应的迁移任务;
当所述预设数量个子进程中任意一个子进程完成迁移任务时,从所述至少一个数据段中当前未被迁移的数据段中,选取出一个目标数据段,并为所述完成迁移任务的子进程分配所述目标数据段的迁移任务,直至所述至少一个数据段均被迁移。
优选的,在所述并行调用预设数量个子进程执行预设数量个所述数据段的迁移任务之后,还包括:
接收所述子进程反馈的执行状态信息,所述执行状态信息用于表征所述子进程负责迁移的数据段对应迁移任务是否完成。
优选的,在所述接收所述子进程反馈的执行状态信息之后,还包括:
将所述执行状态信息发送给所述用户所在的客户端,以在所述客户端上展现所述目标数据表中所述至少一个数据段各自对应所述执行状态信息。
优选的,在所述将所述执行状态信息发送给所述用户所在的客户端之后,还包括:
接收用户通过所述客户端调整所述目标数据表所需子进程的数量;
依据用户调整的所述目标数据表所需子进程的数量,调整当前并行调用的所述子进程的数量。
优选的,在所述接收所述子进程反馈的执行状态信息之后,还包括:
存储所述执行状态信息;
当所述目标数据表出现迁移中断而重新迁移时,依据存储的所述执行状态信息,确定所述至少一个数据段中当前未被迁移的数据段。
另一方面,本申请实施例还提供了一种数据迁移装置,包括:
表确定单元,用于确定当前待迁移的至少一个目标数据表;
表拆分单元,用于将所述目标数据表分成待迁移的至少一个数据段,其中,每个所述数据段包括所述目标数据表中的至少一条数据记录;
并行迁移单元,用于按照所述目标数据表当前所需子进程的预设数量,从主进程维护的多个空闲子进程中,并行调用预设数量个子进程执行预设数量个所述数据段的迁移任务,直至所述至少一个数据段均被迁移,其中,所述预设数量大于或等于一。
优选的,所述并行迁移单元,包括:
进程确定单元,用于从所述主进程维护的多个空闲子进程中,确定当前待调用的预设数量个子进程;
进程调用单元,用于调用所述预设数量个子进程分别执行预设数量个数据段对应的迁移任务,其中,每个所述子进程执行一个所述数据段对应的迁移任务;
进程重利用单元,用于当所述预设数量个子进程中任意一个子进程完成迁移任务时,从所述至少一个数据段中当前未被迁移的数据段中,选取出一个目标数据段,并为所述完成迁移任务的子进程分配所述目标数据段的迁移任务,直至所述至少一个数据段均被迁移。
优选的,还包括:
状态反馈单元,用于在所述并行迁移单元并行调用预设数量个子进程执行预设数量个所述数据段的迁移任务之后,接收所述子进程反馈的执行状态信息,所述执行状态信息用于表征所述子进程负责迁移的数据段对应迁移任务是否完成。
优选的,还包括:
状态发送单元,用于在所述状态反馈单元接收所述子进程反馈的执行状态信息之后,将所述执行状态信息发送给所述用户所在的客户端,以在所述客户端上展现所述目标数据表中所述至少一个数据段各自对应所述执行状态信息;
数量调整单元,用于接收用户通过所述客户端调整所述目标数据表所需子进程的数量;
进程调整单元,用于依据用户调整的所述目标数据表所需子进程的数量,调整当前并行调用的所述子进程的数量。
经由上述的技术方案可知,本申请在确定出待迁移的目标数据表之后,主进程可以自动将目标数据表划分为至少一个数据段,使得而每个数据段内至少包括一条数据记录,并且通过调用预设数量个子进程并行执行对预设数量个数据段的迁移任务,这样,同一时刻可以存在多个子进程对一个待迁移的数据表进行数据迁移,有利于提高迁移效率。而且由于数据迁移过程中由主进程来调用子进程对数据表进行迁移,无需用户手动启动进程,从而可以降低数据迁移的复杂度。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1示出了本申请一种数据迁移方法一个实施例的流程示意图;
图2示出了本申请一种数据迁移方法又一个实施例的流程示意图;
图3示出了本申请一种数据迁移方法又一个实施例的流程示意图;
图4示出了本申请一种数据迁移装置一个实施例的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
参见图1,其示出了本申请一种数据迁移方法一个实施例的流程示意图,本实施例的方法可以应用于服务器,本实施例的方法可以包括:
101,确定当前待迁移的至少一个目标数据表。
其中,数据表为数据库中存储的数据表。为了便于区分,将当前需要迁移的数据表称为目标数据表。
其中,待迁移的目标数据表可以预先设定,也可以是由用户实时指定。
102,将目标数据表分成待迁移的至少一个数据段。
其中,每个数据段包括该目标数据表中的至少一条数据记录。
在本申请实施例中,对于任意目标数据表的处理过程都是相同的。对于任意一个目标数据表,将该目标数据表划分为多个数据段,以数据段为单位进行迁移。
在本申请实施例的尤其适用于数据表包含多条数据记录的情况,因此,该目标数据表划分出的数据段中至少有一个数据段包含多条数据记录。可选的,可以按照目标数据表中数据记录的顺序,将每指定数量条数据记录划分为一个数据段,并将最后不足该指定数量的数据记录作为一个数据段。例如,目标数据表中包括1020条数据记录,那么可以每100条数据记录构成一个数据段,这样,该目标数据表被划分为11个数据段,其中,前10个数据段均包括100条数据记录;而第11个数据段仅包括20条数据记录。
103,按照该目标数据表当前所需子进程的预设数量,从主进程维护的多个空闲子进程中,并行调用预设数量个子进程执行预设数量个数据段的迁移任务,直至该至少一个数据段均被迁移。
其中,该预设数量大于或等于一。
该预设数量可以由用户根据实际需要设定;当然,该预设数量也可以是服务器根据当前运行状态来确定。
本申请实施例中主进程可以维护多个子进程,在需要对该目标数据表进行迁移时,主进程可以从维护的多个空闲子进程中,确定当前需要调用预设数量个子进程,实现通过该预设数量个子进程并向对预设数量个数据段进行迁移。可以理解的是,每个子进程每次仅仅处理一个数据段,但是同时至少一个子进程并行处理至少一个数据段,这样,同时有一个或多个子进程对该目标数据表进行迁移,这样,可以提高目标数据表中数据被迁移的速度,进而提高了迁移效率。
需要说明的是,在本申请实施例中,主进程维护多个子进程,主进程负责将待迁移的目标数据表拆分成至少一个数据段,并为子进程分配需要迁移的数据段,并控制子进程对数据段内的数据记录进行迁移,整个过程均由主进程来处理,无需人为手动启动进程来进程数据迁移。
可见,在本申请实施例中,在确定出待迁移的目标数据表之后,主进程可以自动将目标数据表划分为至少一个数据段,使得而每个数据段内至少包括一条数据记录,并且通过调用预设数量个子进程并行执行对预设数量个数据段的迁移任务,这样,同一时刻可以存在多个子进程对一个待迁移的数据表进行数据迁移,有利于提高迁移效率。而且由于数据迁移过程中由主进程来调用子进程对数据表进行迁移,无需用户手动启动进程,从而可以降低数据迁移的复杂度。
可以理解的是,在本申请实施例中,在对目标数据表进行迁移的过程中,在主进程确定出待调用的子进程之后,可以为子进程分配对数据段的迁移任务。由于目标数据表中的数据格式与目的数据表中的数据格式不同,因此,在主进程为子进程分配迁移任务时,该迁移任务除了包括所需迁移的数据段,还可以包括:配置文件,该配置文件中可以包括目标数据表的属性信息,例如,目标数据表的表类别,用户标识等等。该配置文件还可以包括数据转换关系,该数据转换关系为目标数据表中数据形式到目的数据表中数据形式的转换关系。如,字段对应关系,例如,目标数据表中字段A1对应着目的数据表中字段A2;例如,目标数据表中图形转换为目的数据表中图形的转换方式。
可以理解的是,在本申请实施例中,主进程控制预设数量个子进程并行执行预设数量个数据段的具体方式可以有多种。
在一种可能的实现方式中,该过程就可以包括:
主进程可以从维护的多个空闲子进程中确定出预设数量个子进程,并通过该预设数量个子进程并行执行该预设数量个数据段的迁移任务;
当该预设数量个子进程完成该预设数量个数据段的迁移任务之后,主进程可以按照该目标数据表当前所需子进程的预设数量,重新从空闲的子进程中确定出预设数量个子进程,并利用当前确定出的该预设数量个子进程对目标数据表中未被迁移的预设数量个数据段进行迁移,重复该步骤,直至该目标数据表的数据被全部迁移。
在该种可能的实现方式中,主进程每次都需要确定需要对目标数据表进行迁移的子进程。这样,由于子进程迁移过程中需要加载数据表迁移该目标数据表所需的配置文件,如果主进程每次调用不同的子进程来迁移该目标数据表,那么就会导致每次子进程均需要加载该配置文件,从而使得迁移延迟。
可选的,在另一种可能的实现方式中,主进程确定出当前需要调用的预设数量个子进程之后,后续可以通过该预设数量个子进程持续对该目标数据表中至少一个数据段进行迁移,直至所有数据段均被迁移。
在该种实现方式中,子进程完成迁移任务之后,如果该子进程所迁移的目标数据表中仍存在未被迁移的数据段,则主进程仍会该子进程分配该目标数据表中未被迁移的数据段对应的迁移任务。
下面结合图2对该种实现方式进行详细介绍。参见图2,其示出了本申请一种数据迁移方法又一个实施例的流程示意图,本实施例的方法可以包括:
201,确定用户当前待迁移的至少一个目标数据表。
202,将目标数据表分成待迁移的至少一个数据段。
其中,每个数据段包括该目标数据表中的至少一条数据记录。
203,从该主进程维护的多个空闲子进程中,确定当前待调用的预设数量个子进程。
以上步骤201至步骤203可以参见前面实施例的相关介绍,在此不再赘述。
204,调用该预设数量个子进程分别执行预设数量个数据段对应的迁移任务。
其中,该预设数量大于或等于一。
其中,每个子进程执行一个所述数据段对应的迁移任务。在主进程确定出当前待调用的子进程之后,会为该子进程分配迁移任务,每个子进程对应着迁移一个数据段的迁移任务,使得同时由该预设数量个子进程并行执行数据迁移。
205,当预设数量个子进程中任意一个子进程完成迁移任务时,从至少一个数据段中当前未被迁移的数据段中,选取出一个目标数据段,并为该完成迁移任务的子进程分配该目标数据段的迁移任务,直至该至少一个数据段均被迁移。
在本申请实施例中,在该步骤204调用该预设数量个子进程之后,如果某个子进程完成该子进程负责的迁移任务之后,如果该目标数据表中仍存在未被迁移的数据段,则该主进程会从该目标数据表中确定需要分配给该子进程进行迁移的数据段,使得子进程继续对该目标数据表进行迁移,而由于该子进程在首次接收到对该目标数据表的迁移任务时,该子进程已经加载了迁移该目标数据表所需的配置文件,从而在再次接收到对该目标数据表的迁移任务时,无需再次加载配置文件,有利于进一步提高迁移速度。
可以理解的是,在本申请以上任意一个实施例中,在主进程为子进程分配迁移任务之后,子进程执行该迁移任务之后,还可以为主进程反馈执行状态信息,该执行状态信息可以用于表征该子进程负责迁移的数据段对应迁移任务是否完成。
主进程根据该执行状态信息可以了解到该子进程对该迁移任务的执行状态之后,可以便于确定该子进程是否需要可以继续接收迁移任务。
同时,主进程根据各个子进程反馈的执行状态信息,可以了解到目标数据表被迁移的进度。
另外,主进程还可以将子进程反馈的执行状态信息发送给用户所在的客户端,以便用户根据执行状态信息实时调整迁移该目标数据表的子进程的数量。如,参见图3,其示出了本申请一种数据迁移方法又一个实施例的流程示意图,本实施例的方法可以包括:
301,确定用户当前待迁移的至少一个目标数据表。
302,将目标数据表分成待迁移的至少一个数据段。
其中,每个数据段包括该目标数据表中的至少一条数据记录。
303,按照该目标数据表当前所需子进程的预设数量,从主进程维护的多个空闲子进程中,并行调用预设数量个子进程执行预设数量个数据段的迁移任务。
其中,该预设数量大于或等于一。
可以理解的是,该步骤303的具体实现过程可以为前面实施例中任意一种实现方式,在此不再赘述。
304,接收该子进程反馈的执行状态信息。
该执行状态信息用于表征该子进程负责迁移的数据段对应迁移任务是否完成。如,该子进程完成该主进程分配的迁移任务时,可以向主进程上报迁移任务完成。
305,将执行状态信息发送给用户所在的客户端,以在该客户端上展现该目标数据表中至少一个数据段各自对应执行状态信息。
在本实施例中,主进程会将子进程反馈的执行状态信息发送给客户端,这样,客户端上可以展现出所有子进程的执行状态信息,根据该执行状态信息可以了解到目标数据表中被迁移的速度,以及该目标数据表中当前哪些数据已经被迁移等信息。
306,接收用户通过该客户端调整该目标数据表所需子进程的数量。
可以理解的是,用户根据迁移该目标数据表的各个子进程反馈的执行状态信息,可以了解到目标数据表的迁移进度,从而可以判断出处理该目标数据表的子进程的数量是否过多或者不足。
如果用户判断出处理该目标数据表的子进程的数量过多或不足时,可以通过客户端向主进程发送调整指令,以请求调整该目标数据表所需的数量。例如,用户在调整指令中携带处理该目标数据表所需子进程的目标数量,主进程接收到该目标数量后,可以将该目标数据表当前所需子进程的预设数量修改为该目标数量。
307,依据用户调整的该目标数据表所需子进程的数量,调整当前并行调用的子进程的数量,以通过按照调整后的数量,并行调用子进行执行调整后的数量个数据段的迁移任务,直至该至少一个数据段均被迁移。
如,如果用户增加迁移该目标数据表所需的子进程的数量,主进程会从空闲的子进程中,调用子进程,以使得当前并行迁移该目标数据表的子进程数量与用户调整后的数量相符。如果用户减少迁移该目标数据表所需子进程的数量,那么主进程在确定出某些子进程完成当前分配的迁移任务之后,可以不再为部分子进程分配迁移任务,以减少并行迁移该目标数据表的子进程的数量。
可选的,在本申请中,在接收到子进程反馈的执行状态信息之后,主进程还可以存储子进程反馈的执行状态信息。一旦由于设备断电等原因导致该目标数据表的迁移出现中断之后,后续如果重新启动对该目标数据表的迁移,则可以依据存储的执行状态信息,确定该目标数据表的迁移进度,进而确定出目标数据表的至少一个数据段中未被迁移的数据段,以便对未被迁移的数据段进行数据迁移。
对应本申请的一种数据迁移方法,本申请实施例还提供了一种数据迁移装置。
参见图4,其示出了本申请一种数据迁移装置一个实施例的结构示意图,本实施例的装置可以应用于服务器,该装置可以包括:
表确定单元401,用于确定当前待迁移的至少一个目标数据表;
表拆分单元402,用于将所述目标数据表分成待迁移的至少一个数据段,其中,每个所述数据段包括所述目标数据表中的至少一条数据记录;
并行迁移单元403,用于按照所述目标数据表当前所需子进程的预设数量,从主进程维护的多个空闲子进程中,并行调用预设数量个子进程执行预设数量个所述数据段的迁移任务,直至所述至少一个数据段均被迁移,其中,所述预设数量大于或等于一。
可选的,所述并行迁移单元可以包括:
进程确定单元,用于从所述主进程维护的多个空闲子进程中,确定当前待调用的预设数量个子进程;
进程调用单元,用于调用所述预设数量个子进程分别执行预设数量个数据段对应的迁移任务,其中,每个所述子进程执行一个所述数据段对应的迁移任务;
进程重利用单元,用于当所述预设数量个子进程中任意一个子进程完成迁移任务时,从所述至少一个数据段中当前未被迁移的数据段中,选取出一个目标数据段,并为所述完成迁移任务的子进程分配所述目标数据段的迁移任务,直至所述至少一个数据段均被迁移。
可选的,在以上任意一个装置的实施例中,所述装置还可以包括:
状态反馈单元,用于在所述并行迁移单元并行调用预设数量个子进程执行预设数量个所述数据段的迁移任务之后,接收所述子进程反馈的执行状态信息,所述执行状态信息用于表征所述子进程负责迁移的数据段对应迁移任务是否完成。
进一步的,所述装置还可以包括:
状态发送单元,用于在所述状态反馈单元接收所述子进程反馈的执行状态信息之后,将所述执行状态信息发送给所述用户所在的客户端,以在所述客户端上展现所述目标数据表中所述至少一个数据段各自对应所述执行状态信息;
数量调整单元,用于接收用户通过所述客户端调整所述目标数据表所需子进程的数量;
进程调整单元,用于依据用户调整的所述目标数据表所需子进程的数量,调整当前并行调用的所述子进程的数量。
进一步的,所述装置还可以包括:
存储单元,用于存储所述执行状态信息;
迁移恢复单元,用于当所述目标数据表出现迁移中断而重新迁移时,依据存储的所述执行状态信息,确定所述至少一个数据段中当前未被迁移的数据段。
对于装置实施例而言,由于其基本相应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,在没有超过本申请的精神和范围内,可以通过其他的方式实现。当前的实施例只是一种示范性的例子,不应该作为限制,所给出的具体内容不应该限制本申请的目的。例如,所述单元或子单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或多个子单元结合一起。另外,多个单元可以或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
另外,所描述系统和方法以及不同实施例的示意图,在不超出本申请的范围内,可以与其它系统,模块,技术或方法结合或集成。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
以上所述仅是本发明的具体实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (10)
1.一种数据迁移方法,其特征在于,包括:
确定当前待迁移的至少一个目标数据表;
将所述目标数据表分成待迁移的至少一个数据段,其中,每个所述数据段包括所述目标数据表中的至少一条数据记录;
按照所述目标数据表当前所需子进程的预设数量,从主进程维护的多个空闲子进程中,并行调用预设数量个子进程执行预设数量个所述数据段的迁移任务,直至所述至少一个数据段均被迁移,其中,所述预设数量大于或等于一。
2.根据权利要求1所述的方法,其特征在于,所述从主进程维护的多个空闲子进程中,并行调用预设数量个子进程执行预设数量个所述数据段的迁移任务,包括:
从所述主进程维护的多个空闲子进程中,确定当前待调用的预设数量个子进程;
调用所述预设数量个子进程分别执行预设数量个数据段对应的迁移任务,其中,每个所述子进程执行一个所述数据段对应的迁移任务;
当所述预设数量个子进程中任意一个子进程完成迁移任务时,从所述至少一个数据段中当前未被迁移的数据段中,选取出一个目标数据段,并为所述完成迁移任务的子进程分配所述目标数据段的迁移任务,直至所述至少一个数据段均被迁移。
3.根据权利要求1或2所述的方法,其特征在于,在所述并行调用预设数量个子进程执行预设数量个所述数据段的迁移任务之后,还包括:
接收所述子进程反馈的执行状态信息,所述执行状态信息用于表征所述子进程负责迁移的数据段对应迁移任务是否完成。
4.根据权利要求3所述的方法,其特征在于,在所述接收所述子进程反馈的执行状态信息之后,还包括:
将所述执行状态信息发送给所述用户所在的客户端,以在所述客户端上展现所述目标数据表中所述至少一个数据段各自对应所述执行状态信息。
5.根据权利要求4所述的方法,其特征在于,在所述将所述执行状态信息发送给所述用户所在的客户端之后,还包括:
接收用户通过所述客户端调整所述目标数据表所需子进程的数量;
依据用户调整的所述目标数据表所需子进程的数量,调整当前并行调用的所述子进程的数量。
6.根据权利要求3所述的方法,其特征在于,在所述接收所述子进程反馈的执行状态信息之后,还包括:
存储所述执行状态信息;
当所述目标数据表出现迁移中断而重新迁移时,依据存储的所述执行状态信息,确定所述至少一个数据段中当前未被迁移的数据段。
7.一种数据迁移装置,其特征在于,包括:
表确定单元,用于确定当前待迁移的至少一个目标数据表;
表拆分单元,用于将所述目标数据表分成待迁移的至少一个数据段,其中,每个所述数据段包括所述目标数据表中的至少一条数据记录;
并行迁移单元,用于按照所述目标数据表当前所需子进程的预设数量,从主进程维护的多个空闲子进程中,并行调用预设数量个子进程执行预设数量个所述数据段的迁移任务,直至所述至少一个数据段均被迁移,其中,所述预设数量大于或等于一。
8.根据权利要求7所述的装置,其特征在于,所述并行迁移单元,包括:
进程确定单元,用于从所述主进程维护的多个空闲子进程中,确定当前待调用的预设数量个子进程;
进程调用单元,用于调用所述预设数量个子进程分别执行预设数量个数据段对应的迁移任务,其中,每个所述子进程执行一个所述数据段对应的迁移任务;
进程重利用单元,用于当所述预设数量个子进程中任意一个子进程完成迁移任务时,从所述至少一个数据段中当前未被迁移的数据段中,选取出一个目标数据段,并为所述完成迁移任务的子进程分配所述目标数据段的迁移任务,直至所述至少一个数据段均被迁移。
9.根据权利要求1或2所述的方法,其特征在于,还包括:
状态反馈单元,用于在所述并行迁移单元并行调用预设数量个子进程执行预设数量个所述数据段的迁移任务之后,接收所述子进程反馈的执行状态信息,所述执行状态信息用于表征所述子进程负责迁移的数据段对应迁移任务是否完成。
10.根据权利要求9所述的方法,其特征在于,还包括:
状态发送单元,用于在所述状态反馈单元接收所述子进程反馈的执行状态信息之后,将所述执行状态信息发送给所述用户所在的客户端,以在所述客户端上展现所述目标数据表中所述至少一个数据段各自对应所述执行状态信息;
数量调整单元,用于接收用户通过所述客户端调整所述目标数据表所需子进程的数量;
进程调整单元,用于依据用户调整的所述目标数据表所需子进程的数量,调整当前并行调用的所述子进程的数量。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610347104.9A CN106020959A (zh) | 2016-05-24 | 2016-05-24 | 一种数据迁移方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610347104.9A CN106020959A (zh) | 2016-05-24 | 2016-05-24 | 一种数据迁移方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106020959A true CN106020959A (zh) | 2016-10-12 |
Family
ID=57093373
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610347104.9A Pending CN106020959A (zh) | 2016-05-24 | 2016-05-24 | 一种数据迁移方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106020959A (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106658753A (zh) * | 2016-09-14 | 2017-05-10 | 广东欧珀移动通信有限公司 | 一种数据迁移方法及终端设备 |
CN107122489A (zh) * | 2017-05-11 | 2017-09-01 | 郑州云海信息技术有限公司 | 一种数据对比方法及装置 |
CN107688634A (zh) * | 2017-08-22 | 2018-02-13 | 阿里巴巴集团控股有限公司 | 数据写入方法及装置、电子设备 |
WO2018113533A1 (zh) * | 2016-12-22 | 2018-06-28 | 阿里巴巴集团控股有限公司 | 一种元数据迁移方法、装置、系统及设备 |
CN110659259A (zh) * | 2019-09-03 | 2020-01-07 | 平安科技(深圳)有限公司 | 数据库迁移方法、服务器以及计算机存储介质 |
CN111125058A (zh) * | 2019-12-06 | 2020-05-08 | 浪潮电子信息产业股份有限公司 | 一种数据迁移方法、装置和系统 |
CN111641266A (zh) * | 2020-06-03 | 2020-09-08 | 贵州电网有限责任公司 | 一种数据处理方法、rdss通信终端和存储介质 |
CN111858041A (zh) * | 2020-07-10 | 2020-10-30 | 中国联合网络通信集团有限公司 | 一种数据处理方法及服务器 |
CN111967960A (zh) * | 2020-08-17 | 2020-11-20 | 中国银行股份有限公司 | 账户数据的批量调整方法及装置 |
WO2023197674A1 (zh) * | 2022-04-11 | 2023-10-19 | 苏州浪潮智能科技有限公司 | 一种下载控制方法、装置、设备及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104991821A (zh) * | 2015-06-29 | 2015-10-21 | 北京奇虎科技有限公司 | 批量处理监控任务的方法及装置 |
CN105426231A (zh) * | 2014-09-04 | 2016-03-23 | 腾讯科技(深圳)有限公司 | 多进程处理装置和多进程处理方法 |
-
2016
- 2016-05-24 CN CN201610347104.9A patent/CN106020959A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105426231A (zh) * | 2014-09-04 | 2016-03-23 | 腾讯科技(深圳)有限公司 | 多进程处理装置和多进程处理方法 |
CN104991821A (zh) * | 2015-06-29 | 2015-10-21 | 北京奇虎科技有限公司 | 批量处理监控任务的方法及装置 |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106658753A (zh) * | 2016-09-14 | 2017-05-10 | 广东欧珀移动通信有限公司 | 一种数据迁移方法及终端设备 |
US10880728B2 (en) | 2016-09-14 | 2020-12-29 | Guangdong Oppo Mobile Telecommuncations Corp., Ltd. | Method for data migration and terminal device |
CN106658753B (zh) * | 2016-09-14 | 2020-01-17 | Oppo广东移动通信有限公司 | 一种数据迁移方法及终端设备 |
WO2018113533A1 (zh) * | 2016-12-22 | 2018-06-28 | 阿里巴巴集团控股有限公司 | 一种元数据迁移方法、装置、系统及设备 |
CN108228672A (zh) * | 2016-12-22 | 2018-06-29 | 阿里巴巴集团控股有限公司 | 一种元数据迁移方法、装置、系统及设备 |
CN107122489A (zh) * | 2017-05-11 | 2017-09-01 | 郑州云海信息技术有限公司 | 一种数据对比方法及装置 |
CN107688634A (zh) * | 2017-08-22 | 2018-02-13 | 阿里巴巴集团控股有限公司 | 数据写入方法及装置、电子设备 |
CN110659259A (zh) * | 2019-09-03 | 2020-01-07 | 平安科技(深圳)有限公司 | 数据库迁移方法、服务器以及计算机存储介质 |
CN111125058A (zh) * | 2019-12-06 | 2020-05-08 | 浪潮电子信息产业股份有限公司 | 一种数据迁移方法、装置和系统 |
CN111641266A (zh) * | 2020-06-03 | 2020-09-08 | 贵州电网有限责任公司 | 一种数据处理方法、rdss通信终端和存储介质 |
CN111858041A (zh) * | 2020-07-10 | 2020-10-30 | 中国联合网络通信集团有限公司 | 一种数据处理方法及服务器 |
CN111858041B (zh) * | 2020-07-10 | 2023-06-30 | 中国联合网络通信集团有限公司 | 一种数据处理方法及服务器 |
CN111967960A (zh) * | 2020-08-17 | 2020-11-20 | 中国银行股份有限公司 | 账户数据的批量调整方法及装置 |
CN111967960B (zh) * | 2020-08-17 | 2024-04-16 | 中国银行股份有限公司 | 账户数据的批量调整方法及装置 |
WO2023197674A1 (zh) * | 2022-04-11 | 2023-10-19 | 苏州浪潮智能科技有限公司 | 一种下载控制方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106020959A (zh) | 一种数据迁移方法和装置 | |
CN105975274B (zh) | 一种应用于Android平台的显示窗口的方法和装置 | |
CN103235725A (zh) | 一种基于linux的Oracle数据库在云计算中的快速部署方法 | |
CN103873534B (zh) | 一种应用集群迁移方法及装置 | |
CN110162388A (zh) | 一种任务调度方法、系统及终端设备 | |
CN105991478B (zh) | 服务器资源分配方法及其系统 | |
CN105988858A (zh) | 一种虚拟机资源调度方法、装置及系统 | |
CN103246549B (zh) | 一种数据转存的方法及系统 | |
CN110209728A (zh) | 一种分布式异构数据库同步方法、电子设备及存储介质 | |
CN111143331B (zh) | 数据迁移方法、装置及计算机存储介质 | |
CN106557366B (zh) | 任务分发方法、装置及系统 | |
CN105094972A (zh) | 数据库操作任务的处理方法和装置 | |
CN108762729A (zh) | 一种页面构建的方法、装置、计算机设备及存储介质 | |
CN107742066B (zh) | 账号权限配置方法、装置、终端设备与计算机存储介质 | |
CN107864211A (zh) | 集群资源调度方法及系统 | |
CN105871580A (zh) | 跨集群自动化部署运维系统及方法 | |
CN102595184A (zh) | 智能电视自动化测试方法及系统 | |
CN110311965A (zh) | 一种云计算环境下的任务调度方法及系统 | |
CN105450684A (zh) | 云计算资源调度方法和系统 | |
CN104702691A (zh) | 分布式负载均衡方法和装置 | |
CN103294494A (zh) | 一种虚拟系统自动化部署的方法和系统 | |
CN105528381A (zh) | 数据库数据迁移方法及系统 | |
CN107493184A (zh) | 虚拟化网络功能部署方法及系统 | |
CN108037929A (zh) | 一种消息处理方法及系统 | |
CN104794000B (zh) | 一种作业调度方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20161012 |