CN115525631A - 数据库数据迁移方法、装置、设备、存储介质 - Google Patents
数据库数据迁移方法、装置、设备、存储介质 Download PDFInfo
- Publication number
- CN115525631A CN115525631A CN202211366054.0A CN202211366054A CN115525631A CN 115525631 A CN115525631 A CN 115525631A CN 202211366054 A CN202211366054 A CN 202211366054A CN 115525631 A CN115525631 A CN 115525631A
- Authority
- CN
- China
- Prior art keywords
- target
- data
- write
- data set
- thread
- 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.)
- Granted
Links
- 230000005012 migration Effects 0.000 title claims abstract description 66
- 238000013508 migration Methods 0.000 title claims abstract description 66
- 238000000034 method Methods 0.000 title claims abstract description 56
- 238000013467 fragmentation Methods 0.000 claims abstract description 98
- 238000006062 fragmentation reaction Methods 0.000 claims abstract description 98
- 230000000903 blocking effect Effects 0.000 claims abstract description 76
- 230000015654 memory Effects 0.000 claims description 17
- 238000004590 computer program Methods 0.000 claims description 11
- 238000012545 processing Methods 0.000 abstract description 20
- 238000004891 communication Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 9
- 230000006870 function Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000012790 confirmation Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000013499 data model Methods 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000000638 solvent extraction Methods 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
- 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/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
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)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请实施例提供了一种数据库数据迁移方法、装置、设备、存储介质,该方法包括:基于预设的切片策略对源数据库的源数据表的数据进行任务切片,得到多个数据分片任务;每隔预设时间确定目标数据分片任务,每个目标数据分片任务配置目标读线程,将目标数据分片任务所对应的目标数据集保存至环形阻塞队列;通过目标写线程分别从环形阻塞队列中读取待写入数据集,并写入目标数据库,待写入数据集归属于目标数据集,写线程的数量多于读线程池中读线程的数量。根据本实施例的技术方案,目标数据集通过环形阻塞队列保存,使得写线程和读线程能够分开运行,能够分配更多的资源给写线程,并且能够多线程并行处理,提高资源的利用率和数据迁移的效率。
Description
技术领域
本申请涉及数据库技术领域,尤其涉及一种数据库数据迁移方法、装置、设备、存储介质。
背景技术
目前,数据库产品越来越多,若用户选择更换数据库产品,此时则需要做数据库的整库切换,而数据迁移时必不可少的一项内容,将源数据库的数据准确快速地迁移至目标数据库,才能确保现有应用的业务功能正常运行。
在相关技术中,可采用目标数据库自带的迁移工具进行数据迁移,即在执行数据库迁移任务时,会把对应的源数据库中的数据一并迁移到目标数据库,但上述方式通常以串行的方式进行数据传输,即一边读取一边写入,由于写入速率通常低于读取速率,在数据表的数据量较大或者存在大字段的情况下,不仅运行慢,而且可能出现错误,需要人工手动调整批量参数并重新尝试,降低迁移效率,增加迁移成本。
发明内容
本申请实施例的主要目的在于提出一种数据库数据迁移方法、装置、设备、存储介质,旨在实现提高数据迁移的效率,提高用户体验。
为实现上述目的,本申请实施例的第一方面提出了一种数据库数据迁移方法,所述方法包括:
确定源数据库的源数据表,并基于预设的切片策略,对所述源数据表的数据进行任务切片以得到多个待处理的数据分片任务;
每隔预设时间从所述待处理的数据分片任务中确定若干目标数据分片任务;
从读线程池中为每个目标数据分片任务配置一个相应的目标读线程,以通过所述目标读线程将相应的目标数据分片任务所对应的目标数据集保存至环形阻塞队列;
若检测到所述环形阻塞队列包括有目标数据集,从写线程池中确定若干目标写线程,以使每个目标写线程分别从所述环形阻塞队列中读取与其相应的目标数据分片任务所对应的目标数据集中的待写入数据集,并写入目标数据库,其中,所述待写入数据集归属于所述目标数据集,所述写线程池中写线程的数量多于读线程池中读线程的数量。
在一些实施例中,所述从读线程池中为每个目标数据分片任务配置一个相应的目标读线程,以通过所述目标读线程将相应的目标数据分片任务所对应的目标数据集保存至环形阻塞队列,包括:
若检测到读线程池中有空闲的读线程,确定所述空闲的读线程的数量以及待处理的目标数据分片任务的数量;
若所述待处理的目标数据分片任务的数量大于或等于所述空闲的读线程的数量,将所述空闲的读线程确定为目标读线程,并为每个目标读线程锁定一个相应的待处理的目标数据分片任务,以将锁定的目标数据分片任务所对应的目标数据集保存至环形阻塞队列。
在一些实施例中,所述方法还包括:
若所述待处理的目标数据分片任务的数量小于所述空闲的读线程的数量,锁定每个待处理的目标数据分片任务并为其配置一个相应的空闲的读线程,并将被配置的读线程确定为目标读线程,以将锁定的目标数据分片任务所对应的目标数据集保存至环形阻塞队列。
在一些实施例中,所述通过所述目标读线程将相应的目标数据分片任务所对应的目标数据集保存至环形阻塞队列,包括:
通过所述目标读线程读取相应的目标数据分片任务所对应的目标数据集时,若检测到所述目标数据集包括有目标字段,将所述目标字段保存至目标字节数组,其中,所述目标字段的数据量大于预设阈值;
将目标数据集中除目标字段外的数据保存至环形阻塞队列;
其中,所述目标数据分片任务相应的目标写线程用于从环形阻塞队列或目标字节数组中读取与所述目标数据分片任务所对应的目标数据集中的待写入数据集,并写入目标数据库。
在一些实施例中,所述从写线程池中确定若干目标写线程,以使每个目标写线程分别从所述环形阻塞队列中读取与其相应的目标数据分片任务所对应的目标数据集中的待写入数据集,并写入目标数据库,包括:
若检测到写线程池中有空闲的写线程,将所述有空闲的写线程均确定为目标写线程;
控制每个目标写线程分别从所述环形阻塞队列锁定一个相应的目标数据分片任务所对应的目标数据集,其中,所有的目标写线程均配置有一预设的单次写入阈值;
控制所述目标写线程从所对应的目标数据集中依次获取若干个待写入数据集,并依次写入目标数据库,其中,除最后一个待写入数据集的数据量小于或等于所述单次写入阈值,其余所有的待写入数据集中的数据量等于所述单次写入阈值。
在一些实施例中,所述控制所述目标写线程从相应的目标数据集中获取依次获取若干个待写入数据集,并依次写入目标数据库,包括:
获取每个所述待写入数据集对应的起始位置信息,根据全部的所述起始位置信息生成写入任务表;
将所述写入任务表的首个所述起始位置信息确定为目标位置信息;
通过所述写线程根据所述目标位置信息获取对应的所述待写入数据集并写入所述目标数据库,在所述写入任务表中记录本次写入的写入数据量和写入结果。
在一些实施例中,所述在所述写入任务表中记录本次写入的写入数据量和写入结果之后,所述方法还包括:
当所述写入记录表所记载的所述写入数据量之和等于所述目标数据集的数据量,且所述写入结果表征写入成功,确定所述目标数据集完成迁移;
或者,
当所述写入记录表所记载的所述写入数据量之和小于所述目标数据集的数据量,且所述写入结果表征写入成功,将位于所述目标位置信息下一位的所述起始位置信息确定为下一次写入操作的目标位置信息;
或者,
当所述写入结果表征写入失败,将所述待写入数据集停止写入的位置信息确定为下一次写入操作的目标位置信息。
为实现上述目的,本申请实施例的第二方面提出了一种数据库数据迁移装置,所述装置包括:
切片模块,用于确定源数据库的源数据表,并基于预设的切片策略,对所述源数据表的数据进行任务切片以得到多个待处理的数据分片任务;
任务确定模块,用于每隔预设时间从所述待处理的数据分片任务中确定若干目标数据分片任务;
读数据模块,用于从读线程池中为每个目标数据分片任务配置一个相应的目标读线程,以通过所述目标读线程将相应的目标数据分片任务所对应的目标数据集保存至环形阻塞队列;
写数据模块,用于若检测到所述环形阻塞队列包括有目标数据集,从写线程池中确定若干目标写线程,以使每个目标写线程分别从所述环形阻塞队列中读取与其相应的目标数据分片任务所对应的目标数据集中的待写入数据集,并写入目标数据库,其中,所述待写入数据集归属于所述目标数据集,所述写线程池中写线程的数量多于读线程池中读线程的数量。
为实现上述目的,本申请实施例的第三方面提出了一种电子设备,所述电子设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述第一方面所述的方法。
为实现上述目的,本申请实施例的第四方面提出了一种存储介质,所述存储介质为计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面所述的方法。
本申请提出的数据库数据迁移方法、装置、设备、存储介质,方法包括:确定源数据库的源数据表,并基于预设的切片策略,对所述源数据表的数据进行任务切片以得到多个待处理的数据分片任务;每隔预设时间从所述待处理的数据分片任务中确定若干目标数据分片任务;从读线程池中为每个目标数据分片任务配置一个相应的目标读线程,以通过所述目标读线程将相应的目标数据分片任务所对应的目标数据集保存至环形阻塞队列;若检测到所述环形阻塞队列包括有目标数据集,从写线程池中确定若干目标写线程,以使每个目标写线程分别从所述环形阻塞队列中读取与其相应的目标数据分片任务所对应的目标数据集中的待写入数据集,并写入目标数据库,其中,所述待写入数据集归属于所述目标数据集,所述写线程池中写线程的数量多于读线程池中读线程的数量。根据本实施例的技术方案,由于目标数据集通过环形阻塞队列保存,使得写线程和读线程能够分开运行,从而能够分配更多的资源给写线程,并且能够多线程并行处理,有效提高资源的利用率和数据迁移的效率。
附图说明
图1是本申请一个实施例提供的实施环境的示意图;
图2是本申请另一个实施例提供的数据库数据迁移方法的流程图;
图3是图2中的步骤S203的流程图;
图4是执行完图3中的步骤S301或者S302之后的流程图;
图5是图2中的步骤S203的流程图;
图6是图2中的步骤S204的流程图;
图7是执行完图6中的步骤S603之后的流程图;
图8是执行完图7中的步骤S703之后的流程图;
图9是本申请实施例提供的数据库数据迁移装置的结构示意图;
图10是本申请实施例提供的电子设备的硬件结构示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。
需要说明的是,虽然在装置示意图中进行了功能模块划分,在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于装置中的模块划分,或流程图中的顺序执行所示出或描述的步骤。说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
需要说明的是,在本申请的各个具体实施方式中,当涉及到需要根据用户信息、用户行为数据,用户历史数据以及用户位置信息等与用户身份或特性相关的数据进行相关处理时,都会先获得用户的许可或者同意,而且,对这些数据的收集、使用和处理等,都会遵守相关国家和地区的相关法律法规和标准。此外,当本申请实施例需要获取用户的敏感个人信息时,会通过弹窗或者跳转到确认页面等方式获得用户的单独许可或者单独同意,在明确获得用户的单独许可或者单独同意之后,再获取用于使本申请实施例能够正常运行的必要的用户相关数据。
首先,对本申请中涉及的若干名词进行解析:
数据库操作语句:是用来对数据库中的数据进行操作的编程语言。比如,数据库操作语句可以是但不限于用来对数据库中的数据进行增加、删除、修改、查询的编程语言等,数据库操作语句也可以是但不限于mysql数据库中的SQL语句,oracle数据库中的SQL语句等等。在线数据处理请求是用户在某一业务场景下用于请求对应的服务的请求,其中在线数据处理请求可根据在线数据处理请求的内容来确定数据库操作语句的请求类型等等,其中,数据库操作语句的请求类型包括但不限于增加、删除、修改以及查询等。具体根据在线数据处理请求确定数据库操作语句的方式可以是根据在线数据处理请求的内容来确定数据库操作语句。比如,在线数据处理请求是用于请求对数据库中的数据进行增加的数据处理请求,或者是用于请求对数据库中的数据进行查询的数据处理请求,或者是用于请求对数据库中的数据进行删除或者修改的数据处理请求。
数据库:是储存在计算机内、有组织的、可共享的数据集合。数据库中的数据指的是一定的数据模型组织。
环形阻塞队列:一种环形的阻塞队列,是在普通队列基础上实现了阻塞线程的功能,当队列为空时,获取元素的线程阻塞,直到队列变为非空;当队列满时,存储元素的线程阻塞,直到队列可用(非满)。
基于此,本申请实施例提供了一种数据库数据迁移方法、装置、设备、存储介质,旨在实现提高数据迁移的效率,提高用户体验。
本申请实施例提供的数据库数据迁移方法、装置、设备、存储介质,具体通过如下实施例进行说明,首先描述本申请实施例中的数据库数据迁移方法。
本申请实施例提供的数据库数据迁移方法,涉及数据库技术领域。参照图1,图1为本发明实施例提供的一种实施环境的示意图,该实施环境包括控制终端101、源数据库102和目标数据库103,其中,控制终端101、源数据库102和目标数据库103相互之间通过通信网络连接。控制终端101可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。源数据库102和目标数据库103可以是不同的数据库,例如源数据库102可以是Oracle数据库,目标数据库103可以是达梦8数据库。
图2是本申请实施例提供的数据库数据迁移方法的一个可选的流程,图2中的方法可以包括但不限于包括步骤S201至步骤S204。
步骤S201,确定源数据库的源数据表,并基于预设的切片策略,对源数据表的数据进行任务切片以得到多个待处理的数据分片任务;
步骤S202,每隔预设时间从待处理的数据分片任务中确定若干目标数据分片任务;
步骤S203,从读线程池中为每个目标数据分片任务配置一个相应的目标读线程,以通过目标读线程将相应的目标数据分片任务所对应的目标数据集保存至环形阻塞队列;
步骤S204,若检测到环形阻塞队列包括有目标数据集,从写线程池中确定若干目标写线程,以使每个目标写线程分别从环形阻塞队列中读取与其相应的目标数据分片任务所对应的目标数据集中的待写入数据集,并写入目标数据库,其中,待写入数据集归属于目标数据集,写线程池中写线程的数量多于读线程池中读线程的数量。;
需要说明的是,源数据表为源数据库中待迁移的数据表,源数据表可以是源数据库需要迁移到目标数据库的所有数据表的集合,本实施例对数据表中的对象类型和数据类型不做限定,具体迁移的数据表可以根据源数据库和目标数据库的数据库类型确定,既可以是所有符合迁移标准的数据表,也可以通过控制终端从源数据库中选取部分数据表作为迁移的源数据表,在此不多作赘述。
需要说明的是,切片策略可以根据源数据库和目标数据库的处理性能预先设置,例如针对不同版本间的源数据库和目标数据库设置不同的切片策略,在确定源数据库的版本信息和目标数据库的版本信息后,从预设的切片策略中获取目标切片策略。切片策略可以是每个数据分片的数据量,例如预先设置好每个数据分片包括20000位的数据,则以此为单位,在确定源数据表之后,先确定源数据表的数据量,若源数据表的数据量大于数据分片的数据量,以20000为单位将源数据表切分为多个数据分片,针对每个数据分片创建一个待处理的数据分片任务,进行后续操作,在源数据表数据量较大的情况下,通过切片的方式得到多个分片,能够减少单次处理的数据量,提高数据处理的灵活度和效率。
需要说明的是,可以通过在控制终端配置数据迁移处理器进行定时扫描,当扫描得到迁移任务,并且迁移任务包括多个待处理的数据分片任务,可以从迁移任务中获取多个待处理的数据分片任务,并每隔预设时间从中锁定一个作为目标数据分片任务,从读线程池中分配一个目标读线程后,将该目标数据分片任务交由目标读线程进行数据读取,将读取得到的目标数据集写入环形阻塞队列,并向写线程的控制器发送通知,使得该控制器从写线程池中确定若干个目标写线程,目标写线程从环形阻塞队列获取对应的目标数据集写入目标服务器,由于引入环形阻塞队列,使得目标读线程和目标写线程能够协同工作,互不造成干扰,基于此,可以配置更多的目标写线程,即一个目标读线程保存至环形阻塞队列的目标数据集,可以拆分为多个待写入数据集,通过多个目标写线程并行处理多个待写入数据集,通过更多的硬件资源执行写操作,使得目标读操作和目标写操作的速率实现协同,提高数据迁移的效率。
需要说明的是,在得到目标数据集后,环形阻塞队列的存储空间可能无法满足目标数据集的存储需求,在这种情况下,可以先确定环形阻塞队列的存储空间与目标数据集的数据量之间的大小关系,若环形阻塞队列能够完成目标数据集的存储,则将目标数据集存储环形阻塞队列,并向写线程发送操作触发指令,使其执行对应的写操作;同理,若环形阻塞队列满,或者存储空间小于目标数据集的数据量,则保持阻塞,避免下一个目标数据集的写入,并且进行写操作,直至队列可用再进行保持阻塞,一直进行当前的目标数据集的读写,直到环形阻塞队列可用。
需要说明的是,环形阻塞队列为本领域技术人员熟知的技术,即一个环形的阻塞队列,当读线程将目标数据集写入环形阻塞队里之后,阻塞读线程,将更多的资源分配给写线程,从而提高数据迁移的效率。
需要说明的是,待写入数据集可以是目标数据集的子集,既可以通过一个写线程依次执行多个待写入数据集的写操作,也可以通过多个目标写进行对不同的待写入数据集进行并行写入,提高数据迁移的效率。
根据本实施例的步骤S201至步骤S204,确定源数据库的源数据表,并基于预设的切片策略,对源数据表的数据进行任务切片以得到多个待处理的数据分片任务;每隔预设时间从待处理的数据分片任务中确定若干目标数据分片任务;从读线程池中为每个目标数据分片任务配置一个相应的目标读线程,以通过目标读线程将相应的目标数据分片任务所对应的目标数据集保存至环形阻塞队列;若检测到环形阻塞队列包括有目标数据集,从写线程池中确定若干目标写线程,以使每个目标写线程分别从环形阻塞队列中读取与其相应的目标数据分片任务所对应的目标数据集中的待写入数据集,并写入目标数据库,其中,待写入数据集归属于目标数据集,写线程池中写线程的数量多于读线程池中读线程的数量。根据本实施例的技术方案,由于目标数据集通过环形阻塞队列保存,使得写线程和读线程能够分开运行,从而能够分配更多的资源给写线程,并且能够多线程并行处理,有效提高资源的利用率和数据迁移的效率。
另外,在一实施例中,参照图3,图2所示实施例的步骤S203还包括但不限于有以下步骤:
步骤S301,若检测到读线程池中有空闲的读线程,确定空闲的读线程的数量以及待处理的目标数据分片任务的数量;
步骤S302,若待处理的目标数据分片任务的数量大于或等于空闲的读线程的数量,将空闲的读线程确定为目标读线程,并为每个目标读线程锁定一个相应的待处理的目标数据分片任务,以将锁定的目标数据分片任务所对应的目标数据集保存至环形阻塞队列。
需要说明的是,得到目标数据分片任务之后,当读线程池有空闲的读线程,可以为目标数据分片任务分配对应的目标读线程,在此之前,可以先确定空闲的读线程的数量和待处理的目标数据分片任务的数量,根据二者的数量关系确定读线程的分配方式。
需要说明的是,待处理的目标数据分片任务的数量大于或等于空闲的读线程的数量,按照目标数据分片任务与读线程一一对应的关系,并非每个待处理的目标数据分片任务都可以分配到读线程,因此可以将全部的读线程确定为目标读线程,并确定每个目标读线程对应的待处理的目标数据分片任务,在确定目标数据分片任务对应的目标读线程之后,为了避免目标读线程误读其他待处理的目标数据分片任务的目标数据集,导致数据迁移出错,可以将对应的目标读线程和目标数据分片任务进行锁定,使得一个目标数据分片任务的目标数据集只能由对应的目标读线程进行读取,确保数据迁移的准确性。
示例性地,每个目标数据分片任务的读处理由对应的一个目标读线程完成,因此,当待处理的目标数据分片的数量大于或等于空闲的读线程的数量,则每个读线程都可以分配到一个目标数据分片任务,可以将全部的读线程都确定为目标读线程,并为每个目标读线程锁定一个目标数据分片任务,各自隔离地执行读数据操作,从而将锁定的目标数据分片任务对应的目标数据集保存至环形阻塞队列。
需要说明的是,在确定目标数据分片任务后,可以对其进行锁定,使得数据迁移处理器、读线程和写线程仅用于处理该目标数据分片任务,在完成各自的职能之后再处理下一个目标数据分片任务,例如,数据迁移处理器进行扫描确定目标数据分片任务并锁定之后,交由读线程进行读操作,此时数据迁移处理器开始确定下一个目标数据分片任务,读线程将目标数据集写入环形阻塞队列之后,通知写线程进行目标数据库的写操作,读线程开始处理数据迁移处理器分配的下一个目标数据分片任务,写线程完成当前目标数据集的写入后,响应读线程发送的下一个任务通知以执行下一个目标数据集的写入操作。通过上述方式,使得数据迁移处理器、读线程和写线程能够独立并且协同处理同一个目标数据分片任务,并在完成职能后执行下一个分片的操作,在读写操作速率不统一的情况下更加合理地利用硬件资源,省去了低效的等待流程。
另外,在一实施例中,参照图4,还包括但不限于有以下步骤:
步骤S401,若待处理的目标数据分片任务的数量小于空闲的读线程的数量,锁定每个待处理的目标数据分片任务并为其配置一个相应的空闲的读线程,并将被配置的读线程确定为目标读线程,以将锁定的目标数据分片任务所对应的目标数据集保存至环形阻塞队列。
需要说明的是,在步骤S302中,由于读线程的数量小于或等于目标数据分片任务的数量,因此以读线程为基础,确定与目标读线程对应的目标数据分片任务,以充分利用读线程资源,而在本步骤中,由于目标数据分片任务的数量小于空闲的读线程的数量,每个目标数据分片任务都可以确保分配到一个读线程,可以以目标数据分片任务为基础,直接锁定每个待处理的目标数据分片任务,并从空闲的读线程中为每个待处理的目标数据分片任务分配一个目标读线程,从而实现目标数据集写入到环形阻塞队列中。
另外,在一实施例中,参照图5,图2所示实施例的步骤S203还包括但不限于有以下步骤:
步骤S501,通过目标读线程读取相应的目标数据分片任务所对应的目标数据集时,若检测到目标数据集包括有目标字段,将目标字段保存至目标字节数组,其中,目标字段的数据量大于预设阈值;
步骤S502,将目标数据集中除目标字段外的数据保存至环形阻塞队列;
其中,目标数据分片任务相应的目标写线程用于从环形阻塞队列或目标字节数组中读取与目标数据分片任务所对应的目标数据集中的待写入数据集,并写入目标数据库。
需要说明的是,本实施例得到多个待处理的目标数据分片任务,实际上是对数据表进行切片,而一些数据表中记载有数据量较大的单个字段,即本实施例的目标字段,在这种情况下,在目标读线程将其写入环形阻塞队列之后,目标写线程需要耗费大量的时间从源数据库获取该目标字段,长时间占用写线程资源,读写效率非常低,因此,本实施例通过预设阈值对字段的数据量进行判断,当字段的数据量大于预设阈值,则将其确定为目标字段,在内存中设置目标字节数组,将目标字段保存该目标字节数组,将目标字段以外的数据保存至环形阻塞队列,使得目标写线程以目标字节数组作为索引,从内存获取目标字段并写入目标数据库,从环形阻塞队列获取目标字段以外的待写入数据集并写入目标数据库,能够有效提高数据迁移的效率。
另外,在一实施例中,参照图6,图2所示实施例的步骤S204还包括但不限于有以下步骤:
步骤S601,若检测到写线程池中有空闲的写线程,将有空闲的写线程均确定为目标写线程;
步骤S602,控制每个目标写线程分别从环形阻塞队列锁定一个相应的目标数据分片任务所对应的目标数据集,其中,所有的目标写线程均配置有一预设的单次写入阈值;
步骤S603,控制目标写线程从所对应的目标数据集中依次获取若干个待写入数据集,并依次写入目标数据库,其中,除最后一个待写入数据集的数据量小于或等于单次写入阈值,其余所有的待写入数据集中的数据量等于单次写入阈值。
需要说明的是,根据上述实施例的描述,目标读线程和目标数据分片任务可以是一一对应的关系,由于写线程的处理速率小于读线程,为了提高数据读写效率,可以将更多的系统资源分配给写线程,因此,与读线程不同,写线程与目标数据分片任务可以是多对一的关系,即多个目标写线程锁定同一个目标数据分片任务,能够有效提高目标数据集的写入效率,提高数据迁移的效率。
需要说明的是,单次写入阈值可以是目标数据库一次可写入的数据量,对于硬件设备,读写的性能是不同的,例如上述实施例所述,读线程的操作可以一次读取20000字节的数据,但是写操作可能只能写入5000字节的数据,基于此,可以以5000为单词写入阈值,将20000字节的目标数据集分为4个待写入数据集,通过目标写线程执行4次写操作完成写入,当然,在资源允许的情况下,也可以分配4个目标写线程依次执行写操作,在此不多作限定。
需要说明的是,为了提高写入效率,目标写线程可以以单次写入阈值作为每次写入的数据量,即在获取到多个待写入数据集之后,除最后一个待写入数据集的数据量小于或等于单次写入阈值,其余所有的待写入数据集中的数据量等于单次写入阈值。示例性地,目标写线程每次处理的待写入数据集的数据量可以通过取模的方式进行确定,例如继续参考上述实施例,以5000进行取模等于0则提交一次写操作,当取模的数据不为0,例如取模等于2000,则目标写线程从环形阻塞队列中获取2000字节的数据进行写入,以确保目标数据集的数据全部写入目标数据库。
值得注意的是,在写线程进行写操作时,若出现错误,可以记录出现错误的位置,在恢复处理后根据出现错误的位置继续执行,以提高数据迁移的效率。
另外,在一实施例中,参照图7,在执行完图6所示实施例的步骤S603之后,还包括但不限于有以下步骤:
步骤S701,获取每个待写入数据集对应的起始位置信息,根据全部的起始位置信息生成写入任务表;
步骤S702,将写入任务表的首个起始位置信息确定为目标位置信息;
步骤S703,通过写线程根据目标位置信息获取对应的待写入数据集并写入目标数据库,在写入任务表中记录本次写入的写入数据量和写入结果。
需要说明的是,由于写线程和读线程归属于不同的数据库,为了便于协同,可以生成写入任务表,例如在读线程将目标数据集写入环形阻塞队列后,向目标数据库告知每个待写入数据集在环形阻塞队列的起始位置信息,使得写线程能够根据起始位置信息确定每一个待写入数据集的起始读取位置,使得源数据库和目标数据库能够独立操作,提高数据迁移的效率。
值得注意的是,首次执行时以首个起始位置信息为目标位置信息进行写操作,为了对写入进度进行监控,可以在写线程的工作过程中获取对应的写入数据量和写入结果,记录在写入任务表中,以及,上述实施例提及的出现错误时,将出现错误的位置记载在写入任务表,使得下次执行时写线程能够快速确定数据读取的位置,提高效率。
需要说明的是,每个待写入数据集的起始位置信息可以按读线程的写入顺序记录在写入任务表,确保写线程能够按顺序执行写操作,确保数据迁移的准确性。
需要说明的是,还可以在写入任务表中记载线程出错的原因和错误状态,例如错误代码等,本实施例对此不多作限定。。
另外,在一实施例中,参照图8,在执行完图7所示实施例的步骤S703之后,还包括但不限于有以下步骤:
步骤S801,当写入记录表所记载的写入数据量之和等于目标数据集的数据量,且写入结果表征写入成功,确定目标数据集完成迁移;
或者,
步骤S802,当写入记录表所记载的写入数据量之和小于目标数据集的数据量,且写入结果表征写入成功,将位于目标位置信息下一位的起始位置信息确定为下一次写入操作的目标位置信息;
或者,
步骤S803,当写入结果表征写入失败,将待写入数据集停止写入的位置信息确定为下一次写入操作的目标位置信息。
需要说明的是,基于上述实施例的描述,读线程将目标数据集写入环形阻塞队列后,会在写入任务表记载其数据量,因此,当写线程写入的目标数据库的数据量之和写入任务表所记载的目标数据集的数据量相同,且写入结果为成功,则可以确定数据迁移完成,省去了两个数据库之间的确认过程,提高数据迁移的效率。
需要说明的是,在步骤S802中,当写入数据量之和小于目标数据集的数据量,则完成本次的待写入数据集的写入后,还有需要完成写入的待写入数据集,可以根据写入任务表中记载的下一个位置进行下一次写入,直至全部完成。
需要说明的是,在步骤S803中,当写入结果失败,则可以确定本次待写入数据集的写入未完成,记录当前停止写入的位置作为下一次开始的位置,有效提高数据迁移恢复后的处理效率。
请参阅图9,本申请实施例还提供一种数据库数据迁移装置,可以实现上述数据库数据迁移方法,数据库数据迁移装置900包括:
切片模块901,用于确定源数据库的源数据表,并基于预设的切片策略,对源数据表的数据进行任务切片以得到多个待处理的数据分片任务;
任务确定模块902,用于每隔预设时间从待处理的数据分片任务中确定若干目标数据分片任务;
读数据模块903,用于从读线程池中为每个目标数据分片任务配置一个相应的目标读线程,以通过目标读线程将相应的目标数据分片任务所对应的目标数据集保存至环形阻塞队列;
写数据模块904,用于若检测到环形阻塞队列包括有目标数据集,从写线程池中确定若干目标写线程,以使每个目标写线程分别从环形阻塞队列中读取与其相应的目标数据分片任务所对应的目标数据集中的待写入数据集,并写入目标数据库,其中,待写入数据集归属于目标数据集,写线程池中写线程的数量多于读线程池中读线程的数量。
该数据库数据迁移装置的具体实施方式与上述数据库数据迁移方法的具体实施例基本相同,在此不再赘述。
本申请实施例还提供了一种电子设备,电子设备包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现上述数据库数据迁移方法。该电子设备可以为包括平板电脑、车载电脑等任意智能终端。
请参阅图10,图10示意了另一实施例的电子设备的硬件结构,电子设备包括:
处理器1001,可以采用通用的中央处理器(Central Processing Unit,CPU)、微处理器、应用专用集成电路(Application Specific Integrated Circuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本申请实施例所提供的技术方案;
存储器1002,可以采用只读存储器(Read Only Memory,ROM)、静态存储设备、动态存储设备或者随机存取存储器(Random Access Memory,RAM)等形式实现。存储器1002可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器1002中,并由处理器1001来调用执行本申请实施例的数据库数据迁移方法;
输入/输出接口1003,用于实现信息输入及输出;
通信接口1004,用于实现本设备与其他设备的通信交互,可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信;
总线1005,在设备的各个组件(例如处理器1001、存储器1002、输入/输出接口1003和通信接口1004)之间传输信息;
其中处理器1001、存储器1002、输入/输出接口1003和通信接口1004通过总线1005实现彼此之间在设备内部的通信连接。
本申请实施例还提供了一种存储介质,存储介质为计算机可读存储介质,该存储介质存储有计算机程序,该计算机程序被处理器执行时实现上述数据库数据迁移方法。
存储器作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序以及非暂态性计算机可执行程序。此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施方式中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至该处理器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
本申请实施例提供的数据库数据迁移方法、装置、设备、存储介质,其确定源数据库的源数据表,并基于预设的切片策略,对源数据表的数据进行任务切片以得到多个待处理的数据分片任务;每隔预设时间从待处理的数据分片任务中确定若干目标数据分片任务;从读线程池中为每个目标数据分片任务配置一个相应的目标读线程,以通过目标读线程将相应的目标数据分片任务所对应的目标数据集保存至环形阻塞队列;若检测到环形阻塞队列包括有目标数据集,从写线程池中确定若干目标写线程,以使每个目标写线程分别从环形阻塞队列中读取与其相应的目标数据分片任务所对应的目标数据集中的待写入数据集,并写入目标数据库,其中,待写入数据集归属于目标数据集,写线程池中写线程的数量多于读线程池中读线程的数量。根据本实施例的技术方案,由于目标数据集通过环形阻塞队列保存,使得写线程和读线程能够分开运行,从而能够分配更多的资源给写线程,并且能够多线程并行处理,有效提高资源的利用率和数据迁移的效率。
本申请实施例描述的实施例是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域技术人员可知,随着技术的演变和新应用场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
本领域技术人员可以理解的是,图中示出的技术方案并不构成对本申请实施例的限定,可以包括比图示更多或更少的步骤,或者组合某些步骤,或者不同的步骤。
以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统电子设备中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。
本申请的说明书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
应当理解,在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:只存在A,只存在B以及同时存在A和B三种情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,上述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括多指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例的方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序的介质。
描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的单元也可以设置在处理器中。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本申请实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算电子设备(可以是个人计算机、服务器、触控终端、或者网络电子设备等)执行根据本申请实施方式的方法。
本领域技术人员在考虑说明书及实践这里公开的实施方式后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。
以上是对本发明的较佳实施进行了具体说明,但本发明并不局限于上述实施方式,熟悉本领域的技术人员在不违背本发明精神的前提下还可作出种种的等同变形或替换,这些等同的变形或替换均包含在本发明权利要求所限定的范围内。
Claims (10)
1.一种数据库数据迁移方法,其特征在于,所述方法包括:
确定源数据库的源数据表,并基于预设的切片策略,对所述源数据表的数据进行任务切片以得到多个待处理的数据分片任务;
每隔预设时间从所述待处理的数据分片任务中确定若干目标数据分片任务;
从读线程池中为每个目标数据分片任务配置一个相应的目标读线程,以通过所述目标读线程将相应的目标数据分片任务所对应的目标数据集保存至环形阻塞队列;
若检测到所述环形阻塞队列包括有目标数据集,从写线程池中确定若干目标写线程,以使每个目标写线程分别从所述环形阻塞队列中读取与其相应的目标数据分片任务所对应的目标数据集中的待写入数据集,并写入目标数据库,其中,所述待写入数据集归属于所述目标数据集,所述写线程池中写线程的数量多于读线程池中读线程的数量。
2.根据权利要求1所述的数据库数据迁移方法,其特征在于,所述从读线程池中为每个目标数据分片任务配置一个相应的目标读线程,以通过所述目标读线程将相应的目标数据分片任务所对应的目标数据集保存至环形阻塞队列,包括:
若检测到读线程池中有空闲的读线程,确定所述空闲的读线程的数量以及待处理的目标数据分片任务的数量;
若所述待处理的目标数据分片任务的数量大于或等于所述空闲的读线程的数量,将所述空闲的读线程确定为目标读线程,并为每个目标读线程锁定一个相应的待处理的目标数据分片任务,以将锁定的目标数据分片任务所对应的目标数据集保存至环形阻塞队列。
3.根据权利要求2所述的数据库数据迁移方法,其特征在于,所述方法还包括:
若所述待处理的目标数据分片任务的数量小于所述空闲的读线程的数量,锁定每个待处理的目标数据分片任务并为其配置一个相应的空闲的读线程,并将被配置的读线程确定为目标读线程,以将锁定的目标数据分片任务所对应的目标数据集保存至环形阻塞队列。
4.根据权利要求1所述的数据库数据迁移方法,其特征在于,所述通过所述目标读线程将相应的目标数据分片任务所对应的目标数据集保存至环形阻塞队列,包括:
通过所述目标读线程读取相应的目标数据分片任务所对应的目标数据集时,若检测到所述目标数据集包括有目标字段,将所述目标字段保存至目标字节数组,其中,所述目标字段的数据量大于预设阈值;
将目标数据集中除目标字段外的数据保存至环形阻塞队列;
其中,所述目标数据分片任务相应的目标写线程用于从环形阻塞队列或目标字节数组中读取与所述目标数据分片任务所对应的目标数据集中的待写入数据集,并写入目标数据库。
5.根据权利要求1所述的数据库数据迁移方法,其特征在于,所述从写线程池中确定若干目标写线程,以使每个目标写线程分别从所述环形阻塞队列中读取与其相应的目标数据分片任务所对应的目标数据集中的待写入数据集,并写入目标数据库,包括:
若检测到写线程池中有空闲的写线程,将所述有空闲的写线程均确定为目标写线程;
控制每个目标写线程分别从所述环形阻塞队列锁定一个相应的目标数据分片任务所对应的目标数据集,其中,所有的目标写线程均配置有一预设的单次写入阈值;
控制所述目标写线程从所对应的目标数据集中依次获取若干个待写入数据集,并依次写入目标数据库,其中,除最后一个待写入数据集的数据量小于或等于所述单次写入阈值,其余所有的待写入数据集中的数据量等于所述单次写入阈值。
6.根据权利要求5所述的数据库数据迁移方法,其特征在于,所述控制所述目标写线程从相应的目标数据集中获取依次获取若干个待写入数据集,并依次写入目标数据库,包括:
获取每个所述待写入数据集对应的起始位置信息,根据全部的所述起始位置信息生成写入任务表;
将所述写入任务表的首个所述起始位置信息确定为目标位置信息;
通过所述写线程根据所述目标位置信息获取对应的所述待写入数据集并写入所述目标数据库,在所述写入任务表中记录本次写入的写入数据量和写入结果。
7.根据权利要求6所述的数据库数据迁移方法,其特征在于,所述在所述写入任务表中记录本次写入的写入数据量和写入结果之后,所述方法还包括:
当所述写入记录表所记载的所述写入数据量之和等于所述目标数据集的数据量,且所述写入结果表征写入成功,确定所述目标数据集完成迁移;
或者,
当所述写入记录表所记载的所述写入数据量之和小于所述目标数据集的数据量,且所述写入结果表征写入成功,将位于所述目标位置信息下一位的所述起始位置信息确定为下一次写入操作的目标位置信息;
或者,
当所述写入结果表征写入失败,将所述待写入数据集停止写入的位置信息确定为下一次写入操作的目标位置信息。
8.一种数据库数据迁移装置,其特征在于,所述装置包括:
切片模块,用于确定源数据库的源数据表,并基于预设的切片策略,对所述源数据表的数据进行任务切片以得到多个待处理的数据分片任务;
任务确定模块,用于每隔预设时间从所述待处理的数据分片任务中确定若干目标数据分片任务;
读数据模块,用于从读线程池中为每个目标数据分片任务配置一个相应的目标读线程,以通过所述目标读线程将相应的目标数据分片任务所对应的目标数据集保存至环形阻塞队列;
写数据模块,用于若检测到所述环形阻塞队列包括有目标数据集,从写线程池中确定若干目标写线程,以使每个目标写线程分别从所述环形阻塞队列中读取与其相应的目标数据分片任务所对应的目标数据集中的待写入数据集,并写入目标数据库,其中,所述待写入数据集归属于所述目标数据集,所述写线程池中写线程的数量多于读线程池中读线程的数量。
9.一种电子设备,其特征在于,所述电子设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现权利要求1至7任一项所述的数据库数据迁移方法。
10.一种计算机可读存储介质,所述存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的数据库数据迁移方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211366054.0A CN115525631B (zh) | 2022-10-31 | 2022-10-31 | 数据库数据迁移方法、装置、设备、存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211366054.0A CN115525631B (zh) | 2022-10-31 | 2022-10-31 | 数据库数据迁移方法、装置、设备、存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115525631A true CN115525631A (zh) | 2022-12-27 |
CN115525631B CN115525631B (zh) | 2023-09-05 |
Family
ID=84704158
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211366054.0A Active CN115525631B (zh) | 2022-10-31 | 2022-10-31 | 数据库数据迁移方法、装置、设备、存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115525631B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116089414A (zh) * | 2023-04-10 | 2023-05-09 | 之江实验室 | 基于海量数据场景的时序数据库写入性能优化方法及装置 |
CN116501789A (zh) * | 2023-06-28 | 2023-07-28 | 本原数据(北京)信息技术有限公司 | 数据库数据写入方法和装置、电子设备及存储介质 |
CN117093640A (zh) * | 2023-10-18 | 2023-11-21 | 上海柯林布瑞信息技术有限公司 | 基于池化技术的数据抽取方法及装置 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102999537A (zh) * | 2011-09-19 | 2013-03-27 | 阿里巴巴集团控股有限公司 | 一种数据迁移系统和方法 |
CN103440279A (zh) * | 2013-08-13 | 2013-12-11 | 江苏华大天益电力科技有限公司 | 一种数据采集过程中的数据适配器及其数据适配方法 |
CN112131208A (zh) * | 2020-10-09 | 2020-12-25 | 腾讯科技(深圳)有限公司 | 全量数据迁移方法、装置、设备及计算机可读存储介质 |
CN112699098A (zh) * | 2020-12-31 | 2021-04-23 | 中国农业银行股份有限公司 | 一种索引数据迁移方法、装置及设备 |
CN113672406A (zh) * | 2021-08-24 | 2021-11-19 | 北京天融信网络安全技术有限公司 | 数据传输处理方法、装置、电子设备及存储介质 |
WO2022063284A1 (zh) * | 2020-09-28 | 2022-03-31 | 京东科技控股股份有限公司 | 数据同步方法、装置、设备及计算机可读介质 |
CN114398346A (zh) * | 2022-01-21 | 2022-04-26 | 平安科技(深圳)有限公司 | 数据迁移方法、装置、设备及存储介质 |
-
2022
- 2022-10-31 CN CN202211366054.0A patent/CN115525631B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102999537A (zh) * | 2011-09-19 | 2013-03-27 | 阿里巴巴集团控股有限公司 | 一种数据迁移系统和方法 |
CN103440279A (zh) * | 2013-08-13 | 2013-12-11 | 江苏华大天益电力科技有限公司 | 一种数据采集过程中的数据适配器及其数据适配方法 |
WO2022063284A1 (zh) * | 2020-09-28 | 2022-03-31 | 京东科技控股股份有限公司 | 数据同步方法、装置、设备及计算机可读介质 |
CN112131208A (zh) * | 2020-10-09 | 2020-12-25 | 腾讯科技(深圳)有限公司 | 全量数据迁移方法、装置、设备及计算机可读存储介质 |
CN112699098A (zh) * | 2020-12-31 | 2021-04-23 | 中国农业银行股份有限公司 | 一种索引数据迁移方法、装置及设备 |
CN113672406A (zh) * | 2021-08-24 | 2021-11-19 | 北京天融信网络安全技术有限公司 | 数据传输处理方法、装置、电子设备及存储介质 |
CN114398346A (zh) * | 2022-01-21 | 2022-04-26 | 平安科技(深圳)有限公司 | 数据迁移方法、装置、设备及存储介质 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116089414A (zh) * | 2023-04-10 | 2023-05-09 | 之江实验室 | 基于海量数据场景的时序数据库写入性能优化方法及装置 |
CN116089414B (zh) * | 2023-04-10 | 2023-09-08 | 之江实验室 | 基于海量数据场景的时序数据库写入性能优化方法及装置 |
CN116501789A (zh) * | 2023-06-28 | 2023-07-28 | 本原数据(北京)信息技术有限公司 | 数据库数据写入方法和装置、电子设备及存储介质 |
CN117093640A (zh) * | 2023-10-18 | 2023-11-21 | 上海柯林布瑞信息技术有限公司 | 基于池化技术的数据抽取方法及装置 |
CN117093640B (zh) * | 2023-10-18 | 2024-01-23 | 上海柯林布瑞信息技术有限公司 | 基于池化技术的数据抽取方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN115525631B (zh) | 2023-09-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115525631B (zh) | 数据库数据迁移方法、装置、设备、存储介质 | |
CN107622091B (zh) | 一种数据库查询方法和装置 | |
US9563426B1 (en) | Partitioned key-value store with atomic memory operations | |
CN106682215B (zh) | 一种数据处理方法和管理节点 | |
KR20150042876A (ko) | 쿼리 관리 | |
CN111475506B (zh) | 数据存储、查询的方法、装置、系统、设备、存储介质 | |
US9684684B2 (en) | Index updates using parallel and hybrid execution | |
CN109492024A (zh) | 数据处理方法、装置、计算机设备以及存储介质 | |
CN109359060B (zh) | 数据抽取方法、装置、计算设备及计算机存储介质 | |
CN109684270A (zh) | 数据库归档方法、装置、系统、设备及可读存储介质 | |
CN109343859A (zh) | 一种信息处理方法、装置及存储介质 | |
CN115039091A (zh) | 多键值命令的处理方法、装置、电子设备及存储介质 | |
US10402370B2 (en) | Information processing method and electronic apparatus | |
JP6418419B2 (ja) | ハードディスクがアプリケーションコードを実行するための方法および装置 | |
CN112433669A (zh) | 一种分布式存储卷在线迁移的方法、系统、设备及介质 | |
CN109478151B (zh) | 网络可访问数据卷修改 | |
US9659041B2 (en) | Model for capturing audit trail data with reduced probability of loss of critical data | |
CN115756549A (zh) | 一种大数据中台数据的下载方法、装置及存储介质 | |
US20160232166A1 (en) | Method and Apparatus for Accessing File | |
US10824640B1 (en) | Framework for scheduling concurrent replication cycles | |
JP6506773B2 (ja) | 情報処理装置、方法およびプログラム | |
EP3657331B1 (en) | Module assignment management | |
CN108345431B (zh) | 一种数据读取的方法及装置 | |
WO2017001900A1 (en) | A data processing method | |
CN117762336B (zh) | 针对Ceph对象的定期删除方法、装置及设备 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |