CN111930715A - 数据迁移方法、装置、计算机设备和存储介质 - Google Patents
数据迁移方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN111930715A CN111930715A CN202010686922.8A CN202010686922A CN111930715A CN 111930715 A CN111930715 A CN 111930715A CN 202010686922 A CN202010686922 A CN 202010686922A CN 111930715 A CN111930715 A CN 111930715A
- Authority
- CN
- China
- Prior art keywords
- data
- current
- node
- thread
- logic
- 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
- 230000005012 migration Effects 0.000 title claims abstract description 89
- 238000013508 migration Methods 0.000 title claims abstract description 89
- 238000000034 method Methods 0.000 title claims abstract description 50
- 230000001360 synchronised effect Effects 0.000 claims abstract description 75
- 238000004590 computer program Methods 0.000 claims description 16
- 238000010586 diagram Methods 0.000 description 8
- 230000005540 biological transmission Effects 0.000 description 7
- 230000008569 process Effects 0.000 description 7
- 230000009471 action Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/214—Database migration support
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2462—Approximate or statistical queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Probability & Statistics with Applications (AREA)
- Software Systems (AREA)
- Fuzzy Systems (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及一种数据迁移方法、装置、计算机设备和存储介质,涉及云计算领域。所述方法包括:接收数据迁移请求,数据迁移请求包括源端服务器地址和目标端服务器地址;根据源端服务器地址获取源端数据信息,源端数据信息中包括逻辑数据库;统计源端数据信息中逻辑数据库的数量,得到第一数值;启动与第一数值相同数量的同步节点,每个同步节点对应一个逻辑数据库;各个同步节点根据目标端服务器地址,同步对应的逻辑数据库中的数据。通过在服务器上设置与源端服务器中的逻辑数据库相同数量的同步节点,且各个同步节点分布多个服务器上,在单个服务器磁盘空间有限的情况依旧可以启动多个同步节点,加快数据迁移速率。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种数据迁移方法、装置、计算机设备和存储介质。
背景技术
随着时间的积累,存储在MongoDB的数据不断增加,当需要对MongoDB内核进行升级操作,需要对MongoDB的数据进行数据迁移。目前数据迁移的方式主要包括物理迁移和逻辑迁移。物理迁移依赖服务器的存储空间,而服务器(源端服务器)的磁盘空间较为有限,当存量数据量级较高时,在执行数据迁移时,受到源端服务器磁盘空间的限制,数据迁移速度慢。
发明内容
为了解决上述技术问题,本申请提供了一种数据迁移方法、装置、计算机设备和存储介质。
第一方面,本申请提供了一种数据迁移方法,包括:
接收数据迁移请求,所述数据迁移请求包括源端服务器地址和目标端服务器地址;
根据所述源端服务器地址获取源端数据信息,所述源端数据信息中包括逻辑数据库;
统计所述源端数据信息中所述逻辑数据库的数量,得到第一数值;
启动与所述第一数值相同数量的同步节点,每个所述同步节点对应一个所述逻辑数据库;
各个所述同步节点根据所述目标端服务器地址,同步对应的所述逻辑数据库中的数据。
第二方面,本申请提供了一种数据迁移装置,包括:
请求接收模块,用于接收数据迁移请求,所述数据迁移请求包括源端服务器地址和目标端服务器地址;
数据获取模块,用于根据所述源端服务器地址获取源端数据信息,所述源端数据信息中包括逻辑数据库;
数值统计模块,用于统计所述源端数据信息中所述逻辑数据库的数量,得到第一数值;
同步节点启动模块,用于启动与所述第一数值相同数量的同步节点,每个所述同步节点对应一个所述逻辑数据库;
数据同步模块,用于各个所述同步节点根据所述目标端服务器地址,同步对应的所述逻辑数据库中的数据。
一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
接收数据迁移请求,所述数据迁移请求包括源端服务器地址和目标端服务器地址;
根据所述源端服务器地址获取源端数据信息,所述源端数据信息中包括逻辑数据库;
统计所述源端数据信息中所述逻辑数据库的数量,得到第一数值;
启动与所述第一数值相同数量的同步节点,每个所述同步节点对应一个所述逻辑数据库;
各个所述同步节点根据所述目标端服务器地址,同步对应的所述逻辑数据库中的数据。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
接收数据迁移请求,所述数据迁移请求包括源端服务器地址和目标端服务器地址;
根据所述源端服务器地址获取源端数据信息,所述源端数据信息中包括逻辑数据库;
统计所述源端数据信息中所述逻辑数据库的数量,得到第一数值;
启动与所述第一数值相同数量的同步节点,每个所述同步节点对应一个所述逻辑数据库;
各个所述同步节点根据所述目标端服务器地址,同步对应的所述逻辑数据库中的数据。
上述数据迁移方法、装置、计算机设备和存储介质,所述方法包括:接收数据迁移请求,数据迁移请求包括源端服务器地址和目标端服务器地址;根据源端服务器地址获取源端数据信息,源端数据信息中包括逻辑数据库;统计源端数据信息中逻辑数据库的数量,得到第一数值;启动与第一数值相同数量的同步节点,每个同步节点对应一个逻辑数据库;各个同步节点根据目标端服务器地址,同步对应的逻辑数据库中的数据。通过在服务器上设置与源端服务器中的逻辑数据库相同数量的同步节点,且各个同步节点分布多个服务器上,在单个服务器磁盘空间有限的情况依旧可以启动多个同步节点,加快数据迁移速率。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为一个实施例中数据迁移方法的应用环境图;
图2为一个实施例中数据迁移方法的流程示意图;
图3为一个实施例中数据迁移装置的结构框图;
图4为一个实施例中计算机设备的内部结构图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
图1为一个实施例中数据迁移方法的应用环境图。参照图1,该数据迁移方法应用于数据迁移系统。该数据迁移系统包括源端服务器集群110(包括源端服务器111、源端服务器112、源端服务器113)和目标端服务器集群120(包括目标端服务器121、目标端服务器122、目标端服务器123)。控制节点可以设置在源端服务器集群110中的任意一个源端服务器上,各个同步节点设置源端服务器集群110中的各个源端服务器中,每个源端服务器上设置的同步节点的数量可以自定义,如根据源端服务器的资源确定,其中,资源包括内存资源、计算资源和网络资源等等。不同的资源设置不同的同步节点数量。以控制节点设置在源端服务器111上为例,源端服务器111上的控制节点接收数据迁移请求,数据迁移请求包括源端服务器地址和目标端服务器地址;根据源端服务器地址获取源端数据信息,源端数据信息中包括逻辑数据库;统计源端数据信息中逻辑数据库的数量,得到第一数值;启动与第一数值相同数量的同步节点,每个同步节点对应一个逻辑数据库,同步节点位于源端服务器中;各个同步节点根据目标端服务器地址,同步对应的逻辑数据库中的数据。
上述控制节点和同步节点也可以设置在源端服务器集群110和目标端服务器集群120之外的其他服务器上。
如图2所示,在一个实施例中,提供了一种数据迁移方法。本实施例主要以该方法应用于上述图1中的源端服务器111(源端服务器112或源端服务器113),且控制节点和同步节点设置在源端服务器上举例说明。参照图2,该数据迁移方法具体包括如下步骤:
步骤S201,接收数据迁移请求。
在本具体实施例中,数据迁移请求包括源端服务器地址和目标端服务器地址。
步骤S202,根据源端服务器地址获取源端数据信息。
在本实施例中,源端数据信息中包括逻辑数据库。
步骤S203,统计源端数据信息中逻辑数据库的数量,得到第一数值。
步骤S204,启动与第一数值相同数量的同步节点,每个同步节点对应一个逻辑数据库。
步骤S205,各个同步节点根据目标端服务器地址,同步对应的逻辑数据库中的数据。
具体地,数据迁移请求是指用于执行数据迁移的请求。源端服务器地址用于唯一标识源端服务器,目标端服务器地址用于唯一标识目标端服务器。根据源端服务器地址从源端服务器中获取源端数据信息,源端数据信息包括数据元信息,数据元信息包括逻辑数据库的所有逻辑数据库信息。其中MongoDB数据库中还包括config,local和admin逻辑数据库,上述三个逻辑库为MongoDB数据库的系统库。本案中可以同步上述系统库也可以不同步上述系统库。
控制节点在接收数据元信息之后根据数据元信息统计逻辑数据库的数量,得到第一数值。根据逻辑数据库的数据量确定同步节点的数据,即每个同步节点对应一个逻辑数据库。如A公司业务中包括三个逻辑数据库,则第一数值为3。若包含四个逻辑数据库,则第一数值为4,需要4个同步节点执行数据同步过程。同步节点可以设置在源端服务器,如可以设置各个逻辑数据库表所在的源端服务器,也可以设置在其他的源端服务器,具体设置可以根据各个源端服务器的资源确定,源端服务器的资源包括但不限于磁盘空间、计算资源等等。同步节点也可以设置在源端服务器之外的其他服务器。
在一个实施例中,同步节点同步逻辑数据库中的数据时,可以采用单线程或多线的方式进行数据同步。逻辑数据库中可以包括一个或多个逻辑数据表,每个逻辑数据表可以对应一个线程,也可以多个逻辑数据表对应一个线程。
在一个实施例中,逻辑数据表中包括文档数据和索引数据。文档数据是指真实存储的数据,索引数据是用于便于查询文档数据。在同步逻辑表中的数据可以先同步文档数据,在同步索引数据,也可以先同步索引数据在同步文档。
在一个实施例中,同步逻辑数据表中的数据时可以采用源端服务器的驱动获取逻辑数据表中的数据,并将获取到的数据同步至目标端服务器中。
在一个实施例中,在同步索引数据时,可以前台建立索引方式或后台建立索引方式进行数据同步。后台建立索引的方式是让数据库去建则,在数据迁移之后,结束数据迁移任务,索引是否建立或是否建立完成无法得知。
在一个实施例中,当前同步节点的当前线程同步逻辑数据表中的索引数据,包括:通过当前同步节点的当前线程,采用前台建立索引的方式同步逻辑数据表中的索引数据。而采用前台建立索引方式可以逻辑数据表迁移结束时,对应的索引是已经建立完毕的,可以清楚的知道索引的建立情况。
在一个实施例中,在当前同步节点的当前线程同步完逻辑数据表中的索引数据之后,将当前同步节点的当前线程的任务完成的信息上报至当前同步节点,生成用于停止当前同步节点的当前线程的停止指令,执行停止指令。
具体地,当当前同步节点的当前线程同步完逻辑数据表中的索引数据,表示当前线程对应的逻辑数据表中的数据已经完成传输。数据传输已经完成,当前同步节点接收到该线程的任务完成的信息,则生成用于停止该线程的停止指令,执行该停止指令,停止该线程。
在一个实施例中,在当前同步节点的每个线程同步完逻辑数据表中的索引数据之后,将当前节点的任务完成的信息上报至控制节点,生成用于关闭当前同步节点的关闭指令,执行关闭指令。每个线程在完成任务之后直接停止该线程。
具体地,当当前同步节点的全部线程同步完逻辑数据表中的索引数据,表示当前同步节点对应的逻辑数据库中的数据已经完成同步,关闭该同步节点,控制节点在接收到当前同步节点上报的任务完成的信息时,生成关闭指令,并执行关闭指令,关闭该同步节点。
在一个实施例中,当控制节点接收到全部的同步节点上报的任务完成的信息时,将数据迁移请求的任务状态修改为已完成。
具体地,若控制节点接收到各个同步节点上报的任务完成的信息时,表示数据迁移已经完成,故在接收到每个同步节点上报的信息时,修改数据迁移请求对应的数据同步任务的任务状态为已完成。每个同步节点在完成对应的数据同步之后关闭该同步节点。
上述数据迁移方法,包括:接收数据迁移请求,数据迁移请求包括源端服务器地址和目标端服务器地址;根据源端服务器地址获取源端数据信息,源端数据信息中包括逻辑数据库;统计源端数据信息中逻辑数据库的数量,得到第一数值;启动与第一数值相同数量的同步节点,每个同步节点对应一个逻辑数据库;各个同步节点根据目标端服务器地址,同步对应的逻辑数据库中的数据。通过在源端服务器上设置与逻辑数据库相同数量的同步节点,且各个同步节点分布多个源端服务器上,在单个源端服务器磁盘空间有限的情况依旧可以启动部署在多个源端服务器中的多个同步节点,通过启动多个同步节点的多个线程提升数据迁移速率。
在一个实施例中,逻辑数据库中包括逻辑数据表,步骤S205,包括:当前同步节点的线程根据目标端服务器地址,同步对应的逻辑数据表,其中,每个逻辑数据表对应一个线程。
具体地,每个逻辑数据表中的数据采用对应的线程进行同步。当前同步节点可以为控制节点启动的同步节点中的任意一个同步节点,每个同步节点对应的逻辑数据表的数量根据业务确定,各个同步节点在进行数据传输时,启动的线程数量根据逻辑数据表的数量确定,即每个同步节点启动的线程数据与该同步节点对应的逻辑数据库中的逻辑数据表的数量相同。一个线程对应一个逻辑数据表可以较好的控制线程。且逻辑数据表多的同步节点采用的线程多,可以加快数据的传输效率,避免因为线程的传输效率影响整个数据传输任务的传输效率。
在一个实施例中,逻辑数据表中包括文档数据和索引数据,步骤S205,包括:当前同步节点的当前线程根据目标端服务器地址,同步逻辑数据表的文档数据;在当前同步节点的当前线程同步完成逻辑数据表的文档数据之后,当前同步节点的当前线程同步逻辑数据表中的索引数据。
具体地,当前线程可以是指当前同步节点中的任意一个线程。当前线程同步该线程对应的逻辑数据表中的数据时,优先同步文档数据,在同步完文档数据之后在同步索引数据。优先同步文档数据一是可以保证存储的数据能够优先传输,二是先传输文档数据效率更高,性能更优,因为优先同步索引数据时,在之后同步文档数据的过程中会针对同步的文档数据插入新的索引数据,从而影响数据的同步性能。故采用优先同步文档数据,再同步索引数据的方式同步的效率更佳。
在一个实施例中,当前同步节点的当前线程根据目标端服务器地址,同步逻辑数据表的文档数据,包括:通过当前同步节点的当前线程,根据源端服务器的驱动从源端获取的数据表的文档数据;通过当前同步节点的当前线程,驱动将数据表的文档数据写入目标端服务器地址对应的目标端服务器。具体地,驱动获取同步节点的文档数据,并将获取到的数据写入目标端服务器。
在一个具体地实施例中,上述数据迁移方法,包括:
针对源端MongoDB(源端服务器中存储的MongoDB数据库中的数据),启动控制节点,通过控制节点获取到源端MongoDB的数据元信息,包含除了config、local和admin逻辑数据库的所有逻辑数据库信息。
控制节点计算出来所有逻辑数据库的个数,启动同等个数的同步节点,并将对应的同步任务也就是对应的逻辑数据库名字发给对应的同步节点。如S公司业务有三个逻辑数据库,train(火车票业务),ticket(旅游门票业务)和hotel(酒店业务)。就需要三个同步节点去同步对应的业务线逻辑数据库。分别是同步节点a同步train逻辑数据库,同步节点b同步ticket逻辑数据库,同步节点c同步hotel逻辑数据库。
同步节点a获取到train下面的所有逻辑数据表,若包括2个表,且分别为collection1和collection2,此时,启动两个子线程,如thread1和thread2,thrad1同步collection1的文档数据和索引数据,与此同时thread2同步collection2的文档数据和索引数据。子线程thread1同步结束后上报同步节点a且自动退出。子线程thread2同步结束后上报同步节点a自动退出。同步节点a收到所有子线程结束后,上报给控制节点且自动退出。
上述thread1和thread2进行数据同步时,首先同步的是文档数据,其次同步的是索引数据。同步文档数据时,使用MongoDB对应的驱动,从源端MongoDB拉取数据,然后写入目标端MongoDB。同步索引数据时,使用的是前台建立索引方式,这样可以保证本逻辑数据表迁移结束时,对应的索引是已经建立完毕的。
同步节点b同步ticket逻辑数据库,同步节点c同步hotel逻辑数据库,与同步节点a同步train逻辑数据库采用统一的同步方法。
当控制节点收到所有同步节点的上报信息后,更新本次存量数据迁移任务的状态,本次存量数据迁移任务到此结束。
上述数据迁移方法,通过控制节点控制多个同步节点,每个同步节点控制多个线程,极大提高了数据同步的并行特性,避免了受物理迁移时源端本地磁盘的限制。
控制节点负责根据源端服务器中的数据库的数据分布构建启动同步节点。每一个逻辑数据库,启动一个同步节点,每个同步节点对应一个进程,每个同步节点负责同步对应的逻辑数据库。同时,同步节点会根据逻辑数据库包含的数据表分布情况,每个数据表启动一个线程同步对应的数据表,即一个数据表用一个线程同步。采用该方法在数据量比较大的情况下数据传输速率显著提升。
图2为一个实施例中数据迁移方法的流程示意图。应该理解的是,虽然图2的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图3所示,提供了一种数据迁移装置200,包括:
请求接收模块201,用于接收数据迁移请求,数据迁移请求包括源端服务器地址和目标端服务器地址;
数据获取模块202,用于根据源端服务器地址获取源端数据信息,源端数据信息中包括逻辑数据库;
数值统计模块203,用于统计源端数据信息中逻辑数据库的数量,得到第一数值;
同步节点启动模块204,用于启动与第一数值相同数量的同步节点,每个同步节点对应一个逻辑数据库;
数据同步模块205,用于各个同步节点根据目标端服务器地址,同步对应的逻辑数据库中的数据。
在一个实施例中,数据同步模块205具体用于采用当前同步节点的线程根据目标端服务器地址,同步逻辑数据表,其中,每个逻辑数据表对应一个线程。
在一个实施例中,逻辑数据表中包括文档数据和索引数据,数据同步模块205具体用于当前同步节点的当前线程根据目标端服务器地址,同步逻辑数据表的文档数据;在当前同步节点的当前线程同步完成逻辑数据表的文档数据之后,当前同步节点的当前线程同步逻辑数据表中的索引数据。
在一个实施例中,数据同步模块205具体用于通过当前同步节点的当前线程,采用前台建立索引的方式同步逻辑数据表中的索引数据。
在一个实施例中,数据同步模块205具体用于通过当前同步节点的当前线程,根据源端服务器的驱动从源端获取的数据表的文档数据;通过当前同步节点的当前线程,驱动将数据表的文档数据写入目标端服务器地址对应的目标端服务器。
在一个实施例中,上述数据迁移装置200,还包括:
线程停止模块,用于在当前同步节点的当前线程同步完逻辑数据表中的索引数据之后,将当前同步节点的当前线程的任务完成的信息上报至当前同步节点,生成用于停止当前同步节点的当前线程的停止指令,执行停止指令。
在一个实施例中,上述数据迁移装置200,还包括:
同步节点关闭模块,用于在当前同步节点的每个线程同步完逻辑数据表中的索引数据之后,将当前节点的任务完成的信息上报至控制节点,生成用于关闭当前同步节点的关闭指令,执行关闭指令。
在一个实施例中,上述数据迁移装置200,还包括:
任务状态更新模块,用于当控制节点接收到全部的同步节点上报的任务完成的信息时,将数据迁移请求的任务状态修改为已完成。
图4示出了一个实施例中计算机设备的内部结构图。该计算机设备具体可以是图1中的终端110(或服务器120)。如图4所示,该计算机设备通过系统总线连接的处理器、存储器、网络接口、输入装置和显示屏。其中,存储器包括非易失性存储介质和内存储器。该计算机设备的非易失性存储介质存储有操作系统,还可存储有计算机程序,该计算机程序被处理器执行时,可使得处理器实现数据迁移方法。该内存储器中也可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行数据迁移方法。计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图4中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,本申请提供的数据迁移装置可以实现为一种计算机程序的形式,计算机程序可在如图4所示的计算机设备上运行。计算机设备的存储器中可存储组成该数据迁移装置的各个程序模块,比如,图3所示的请求接收模块201、数据获取模块202、数值统计模块203、同步节点启动模块204和数据同步模块205。各个程序模块构成的计算机程序使得处理器执行本说明书中描述的本申请各个实施例的数据迁移方法中的步骤。
例如,图4所示的计算机设备可以通过如图3所示的数据迁移装置中的请求接收模块201执行接收数据迁移请求,数据迁移请求包括源端服务器地址和目标端服务器地址。计算机设备可以通过数据获取模块202执行根据源端服务器地址获取源端数据信息,源端数据信息中包括逻辑数据库。计算机设备可以通过数值统计模块203执行统计源端数据信息中逻辑数据库的数量,得到第一数值。计算机设备可以通过同步节点启动模块204执行启动与第一数值相同数量的同步节点,每个同步节点对应一个逻辑数据库,同步节点位于源端服务器中。计算机设备可以通过数据同步模块205执行各个同步节点根据目标端服务器地址,同步对应的逻辑数据库中的数据。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述数据迁移方法中的任一实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述数据迁移方法中的任一实施例中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本发明的具体实施方式,使本领域技术人员能够理解或实现本发明。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。
Claims (18)
1.一种数据迁移方法,其特征在于,所述方法包括:
接收数据迁移请求,所述数据迁移请求包括源端服务器地址和目标端服务器地址;
根据所述源端服务器地址获取源端数据信息,所述源端数据信息中包括逻辑数据库;
统计所述源端数据信息中所述逻辑数据库的数量,得到第一数值;
启动与所述第一数值相同数量的同步节点,每个所述同步节点对应一个所述逻辑数据库;
各个所述同步节点根据所述目标端服务器地址,同步对应的所述逻辑数据库中的数据。
2.根据权利要求1所述的方法,其特征在于,所述逻辑数据库中包括逻辑数据表,所述各个所述同步节点根据所述目标端服务器地址,同步所述逻辑数据库中的数据,包括:
当前同步节点的线程根据所述目标端服务器地址,同步所述逻辑数据表,其中,每个所述逻辑数据表对应一个所述线程。
3.根据权利要求2所述的方法,其特征在于,所述逻辑数据表中包括文档数据和索引数据,所述当前同步节点的线程根据所述目标端服务器地址,同步所述逻辑数据表,包括:
所述当前同步节点的当前线程根据所述目标端服务器地址,同步所述逻辑数据表的文档数据;
在所述当前同步节点的当前线程同步完成所述逻辑数据表的文档数据之后,通过所述当前同步节点的当前线程同步所述逻辑数据表中的所述索引数据。
4.根据权利要求3所述的方法,其特征在于,所述采用所述当前同步节点的当前线程同步所述逻辑数据表中的所述索引数据,包括:
通过所述当前同步节点的当前线程,采用前台建立索引的方式同步所述逻辑数据表中的所述索引数据。
5.根据权利要求3所述的方法,其特征在于,所述当前同步节点的当前线程根据目标端服务器地址,同步所述逻辑数据表的文档数据,包括:
通过所述当前同步节点的当前线程,根据所述源端服务器的驱动从所述源端获取数据表的文档数据;
通过所述当前同步节点的当前线程,所述驱动将所述数据表的文档数据写入所述目标端服务器地址对应的目标端服务器。
6.根据权利要求3所述的方法,其特征在于,所述方法还包括:
在所述当前同步节点的当前线程同步完所述逻辑数据表中的所述索引数据之后,将所述当前同步节点的当前线程的任务完成的信息上报至所述当前同步节点,生成用于停止所述当前同步节点的当前线程的停止指令,执行所述停止指令。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
在所述当前同步节点的每个线程同步完所述逻辑数据表中的所述索引数据之后,将所述当前节点的任务完成的信息上报至控制节点,生成用于关闭所述当前同步节点的关闭指令,执行所述关闭指令。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
当所述控制节点接收到全部的所述同步节点上报的任务完成的信息时,将所述数据迁移请求的任务状态修改为已完成。
9.一种数据迁移装置,其特征在于,所述装置包括:
请求接收模块,用于接收数据迁移请求,所述数据迁移请求包括源端服务器地址和目标端服务器地址;
数据获取模块,用于根据所述源端服务器地址获取源端数据信息,所述源端数据信息中包括逻辑数据库;
数值统计模块,用于统计所述源端数据信息中所述逻辑数据库的数量,得到第一数值;
同步节点启动模块,用于启动与所述第一数值相同数量的同步节点,每个所述同步节点对应一个所述逻辑数据库;
数据同步模块,用于各个所述同步节点根据所述目标端服务器地址,同步对应的所述逻辑数据库中的数据。
10.根据权利要求9所述的装置,其特征在于,所述数据同步模块用于当前同步节点的线程根据所述目标端服务器地址,同步所述逻辑数据表,其中,每个所述逻辑数据表对应一个所述线程。
11.根据权利要求10所述的装置,其特征在于,所述逻辑数据表中包括文档数据和索引数据,数据同步模块用于所述当前同步节点的当前线程根据所述目标端服务器地址,同步所述逻辑数据表的文档数据;在所述当前同步节点的当前线程同步完成所述逻辑数据表的文档数据之后,通过所述当前同步节点的当前线程同步所述逻辑数据表中的所述索引数据。
12.根据权利要求11所述的装置,其特征在于,所述数据同步模块用于通过所述当前同步节点的当前线程,采用前台建立索引的方式同步所述逻辑数据表中的所述索引数据。
13.根据权利要求11所述的装置,其特征在于,数据同步模块用于通过所述当前同步节点的当前线程,根据所述源端服务器的驱动从所述源端获取数据表的文档数据;通过所述当前同步节点的当前线程,所述驱动将所述数据表的文档数据写入所述目标端服务器地址对应的目标端服务器。
14.根据权利要求11所述的装置,其特征在于,所述装置还包括:
线程停止模块,用于在所述当前同步节点的当前线程同步完所述逻辑数据表中的所述索引数据之后,将所述当前同步节点的当前线程的任务完成的信息上报至所述当前同步节点,生成用于停止所述当前同步节点的当前线程的停止指令,执行所述停止指令。
15.根据权利要求14所述的装置,其特征在于,所述装置还包括:
同步节点关闭模块,用于在所述当前同步节点的每个线程同步完所述逻辑数据表中的所述索引数据之后,将所述当前节点的任务完成的信息上报至控制节点,生成用于关闭所述当前同步节点的关闭指令,执行所述关闭指令。
16.根据权利要求15所述的装置,其特征在于,所述装置还包括:
任务状态更新模块,用于当所述控制节点接收到全部的所述同步节点上报的任务完成的信息时,将所述数据迁移请求的任务状态修改为已完成。
17.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至8中任一项所述方法的步骤。
18.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至8中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010686922.8A CN111930715A (zh) | 2020-07-16 | 2020-07-16 | 数据迁移方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010686922.8A CN111930715A (zh) | 2020-07-16 | 2020-07-16 | 数据迁移方法、装置、计算机设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111930715A true CN111930715A (zh) | 2020-11-13 |
Family
ID=73313180
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010686922.8A Pending CN111930715A (zh) | 2020-07-16 | 2020-07-16 | 数据迁移方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111930715A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113986825A (zh) * | 2021-12-27 | 2022-01-28 | 北京星汉未来网络科技有限公司 | 数据迁移的系统、方法、装置、电子设备及可读存储介质 |
Citations (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060004876A1 (en) * | 2004-05-10 | 2006-01-05 | Naoto Matsunami | Data migration in storage system |
CN101079902A (zh) * | 2007-06-29 | 2007-11-28 | 清华大学 | 海量数据分级存储方法 |
CN102611724A (zh) * | 2011-01-25 | 2012-07-25 | 中国移动通信集团公司 | 服务器通知数据同步及同步服务器迁移方法、系统及装置 |
CN102737088A (zh) * | 2011-03-18 | 2012-10-17 | 微软公司 | 分布式数据库系统中的无缝升级 |
CN103885830A (zh) * | 2014-04-16 | 2014-06-25 | 中国科学院软件研究所 | 一种虚拟机跨数据中心动态迁移中的数据处理方法 |
CN106331160A (zh) * | 2016-09-28 | 2017-01-11 | 乐视控股(北京)有限公司 | 一种数据迁移方法及系统 |
CN106777164A (zh) * | 2016-12-20 | 2017-05-31 | 东软集团股份有限公司 | 一种数据迁移集群及数据迁移方法 |
CN106844510A (zh) * | 2016-12-28 | 2017-06-13 | 北京五八信息技术有限公司 | 一种分布式数据库集群的数据迁移方法和装置 |
CN108280148A (zh) * | 2018-01-02 | 2018-07-13 | 中国民生银行股份有限公司 | 一种数据迁移方法和数据迁移服务器 |
US20180260458A1 (en) * | 2017-03-09 | 2018-09-13 | Bank Of America Corporation | Transforming Data Structures and Data Objects for Migrating Data Between Databases Having Different Schemas |
CN109189756A (zh) * | 2018-06-29 | 2019-01-11 | 平安科技(深圳)有限公司 | 电子装置、数据迁移的方法及存储介质 |
CN109299063A (zh) * | 2018-07-02 | 2019-02-01 | 北京市天元网络技术股份有限公司 | 一种跨平台数据库迁移方法及系统 |
CN109766328A (zh) * | 2018-12-27 | 2019-05-17 | 北京奇艺世纪科技有限公司 | 数据库迁移方法、系统、数据处理设备、计算机介质 |
CN110245125A (zh) * | 2019-05-20 | 2019-09-17 | 中国平安人寿保险股份有限公司 | 数据迁移方法、装置、计算机设备和存储介质 |
CN110413595A (zh) * | 2019-06-28 | 2019-11-05 | 万翼科技有限公司 | 一种应用于分布式数据库的数据迁移方法和相关装置 |
CN110909079A (zh) * | 2019-11-20 | 2020-03-24 | 南方电网数字电网研究院有限公司 | 数据交换同步方法、系统、装置、服务器和存储介质 |
CN111125059A (zh) * | 2019-12-17 | 2020-05-08 | 南京甄视智能科技有限公司 | 数据迁移方法、装置、存储介质及服务器 |
CN111324596A (zh) * | 2020-03-06 | 2020-06-23 | 腾讯科技(深圳)有限公司 | 数据库集群的数据迁移方法、装置及电子设备 |
-
2020
- 2020-07-16 CN CN202010686922.8A patent/CN111930715A/zh active Pending
Patent Citations (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060004876A1 (en) * | 2004-05-10 | 2006-01-05 | Naoto Matsunami | Data migration in storage system |
CN101079902A (zh) * | 2007-06-29 | 2007-11-28 | 清华大学 | 海量数据分级存储方法 |
CN102611724A (zh) * | 2011-01-25 | 2012-07-25 | 中国移动通信集团公司 | 服务器通知数据同步及同步服务器迁移方法、系统及装置 |
CN102737088A (zh) * | 2011-03-18 | 2012-10-17 | 微软公司 | 分布式数据库系统中的无缝升级 |
CN103885830A (zh) * | 2014-04-16 | 2014-06-25 | 中国科学院软件研究所 | 一种虚拟机跨数据中心动态迁移中的数据处理方法 |
CN106331160A (zh) * | 2016-09-28 | 2017-01-11 | 乐视控股(北京)有限公司 | 一种数据迁移方法及系统 |
CN106777164A (zh) * | 2016-12-20 | 2017-05-31 | 东软集团股份有限公司 | 一种数据迁移集群及数据迁移方法 |
CN106844510A (zh) * | 2016-12-28 | 2017-06-13 | 北京五八信息技术有限公司 | 一种分布式数据库集群的数据迁移方法和装置 |
US20180260458A1 (en) * | 2017-03-09 | 2018-09-13 | Bank Of America Corporation | Transforming Data Structures and Data Objects for Migrating Data Between Databases Having Different Schemas |
CN108280148A (zh) * | 2018-01-02 | 2018-07-13 | 中国民生银行股份有限公司 | 一种数据迁移方法和数据迁移服务器 |
CN109189756A (zh) * | 2018-06-29 | 2019-01-11 | 平安科技(深圳)有限公司 | 电子装置、数据迁移的方法及存储介质 |
CN109299063A (zh) * | 2018-07-02 | 2019-02-01 | 北京市天元网络技术股份有限公司 | 一种跨平台数据库迁移方法及系统 |
CN109766328A (zh) * | 2018-12-27 | 2019-05-17 | 北京奇艺世纪科技有限公司 | 数据库迁移方法、系统、数据处理设备、计算机介质 |
CN110245125A (zh) * | 2019-05-20 | 2019-09-17 | 中国平安人寿保险股份有限公司 | 数据迁移方法、装置、计算机设备和存储介质 |
CN110413595A (zh) * | 2019-06-28 | 2019-11-05 | 万翼科技有限公司 | 一种应用于分布式数据库的数据迁移方法和相关装置 |
CN110909079A (zh) * | 2019-11-20 | 2020-03-24 | 南方电网数字电网研究院有限公司 | 数据交换同步方法、系统、装置、服务器和存储介质 |
CN111125059A (zh) * | 2019-12-17 | 2020-05-08 | 南京甄视智能科技有限公司 | 数据迁移方法、装置、存储介质及服务器 |
CN111324596A (zh) * | 2020-03-06 | 2020-06-23 | 腾讯科技(深圳)有限公司 | 数据库集群的数据迁移方法、装置及电子设备 |
Non-Patent Citations (1)
Title |
---|
谢长生,陈宁,万继光: "统一存储网数据迁移系统的设计与实现", 《华中科技大学学报》, no. 4, 30 April 2005 (2005-04-30), pages 26 - 29 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113986825A (zh) * | 2021-12-27 | 2022-01-28 | 北京星汉未来网络科技有限公司 | 数据迁移的系统、方法、装置、电子设备及可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106933508B (zh) | 应用容器的迁移方法及装置 | |
CN106506703B (zh) | 基于共享内存的服务发现方法、装置及系统、服务器 | |
CN110941481A (zh) | 资源调度方法、装置及系统 | |
US20190303028A1 (en) | Workload based storage optimization | |
CN105843819B (zh) | 一种数据导出方法及装置 | |
CN106708608B (zh) | 一种分布式锁服务方法、获取方法及相应装置 | |
CN110399227B (zh) | 一种数据访问方法、装置和存储介质 | |
CN111897558A (zh) | 容器集群管理系统Kubernetes升级方法和装置 | |
WO2021107988A1 (en) | Distributed processing of transactions in a network using timestamps | |
WO2017050064A1 (zh) | 共享内存数据库的内存管理方法及装置 | |
WO2022095366A1 (zh) | 基于Redis的数据读取方法、装置、设备及可读存储介质 | |
CN113094430B (zh) | 一种数据处理方法、装置、设备以及存储介质 | |
CN115587118A (zh) | 任务数据的维表关联处理方法及装置、电子设备 | |
CN110955672B (zh) | 面向乐观并发控制的多版本支持方法及系统 | |
CN111930715A (zh) | 数据迁移方法、装置、计算机设备和存储介质 | |
US11741081B2 (en) | Method and system for data handling | |
CN113342507B (zh) | 一种分布式锁服务实现方法、装置及计算机设备 | |
CN109271193B (zh) | 一种数据处理方法、装置、设备及存储介质 | |
CN110866011A (zh) | 数据表同步方法、装置、计算机设备和存储介质 | |
CN111383038A (zh) | 移动终端的广告展示方法、装置、移动终端和储存介质 | |
US11138231B2 (en) | Method and system for data handling | |
CN111126604A (zh) | 模型训练方法、装置、服务器及存储介质 | |
US20230195582A1 (en) | Rolling back a database transaction | |
CN109302314A (zh) | 一种被控节点模拟方法及相关装置 | |
CN111399753B (zh) | 写入图片的方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |