CN112416907A - 一种数据库表数据导入导出方法、终端设备及存储介质 - Google Patents
一种数据库表数据导入导出方法、终端设备及存储介质 Download PDFInfo
- Publication number
- CN112416907A CN112416907A CN202011397804.1A CN202011397804A CN112416907A CN 112416907 A CN112416907 A CN 112416907A CN 202011397804 A CN202011397804 A CN 202011397804A CN 112416907 A CN112416907 A CN 112416907A
- Authority
- CN
- China
- Prior art keywords
- data
- file
- database
- incremental
- imported
- 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
- 238000000034 method Methods 0.000 title claims abstract description 71
- 230000008569 process Effects 0.000 claims abstract description 26
- 238000004806 packaging method and process Methods 0.000 claims abstract description 4
- 238000004590 computer program Methods 0.000 claims description 17
- 230000008676 import Effects 0.000 claims description 17
- 238000003780 insertion Methods 0.000 claims description 17
- 230000037431 insertion Effects 0.000 claims description 17
- 238000000605 extraction Methods 0.000 claims description 15
- 238000004364 calculation method Methods 0.000 claims description 6
- 238000009795 derivation Methods 0.000 claims description 5
- 238000012217 deletion Methods 0.000 claims description 3
- 230000037430 deletion Effects 0.000 claims description 3
- 238000013508 migration Methods 0.000 abstract description 11
- 230000005012 migration Effects 0.000 abstract description 11
- 238000012800 visualization Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000001360 synchronised 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/21—Design, administration or maintenance of databases
- G06F16/219—Managing data history or versioning
-
- 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
- G06F16/2282—Tablespace storage structures; Management thereof
-
- 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)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及一种数据库表数据导入导出方法、终端设备及存储介质,其中导入方法中包括:S11:根据需要导出数据的第一数据库构建数据库连接配置文件、第一数据库中的数据表信息配置文件和文件导出格式的配置文件,设置导出过程中的并发线程数和导出文件的目录地址;S12:从第一数据库中导出数据,并将导出的数据的转换为统一的编码格式;在导出过程中每隔额定数目条记录生成一个.data数据文件;如果同时导出了索引文件,则每个.data数据文件对应生成一个.index索引文件;将导出的表结构生成.table文件;S13:将导出的所有文件打包为一个文件并压缩后存储。本发明可以同时支持多类主流数据库及其不同版本之间的数据迁移,并且可以进行数据的自动并行操作。
Description
技术领域
本发明涉及数据处理领域,尤其涉及一种数据库表数据导入导出方法、终端设备及存储介质。
背景技术
目前主流的数据库包括关系数据库、非关系数据库、面向文档型数据库、图数据库等,而在实际业务开发中,因为业务应用的要求,时常需要将数据在不同存储终端上进行迁移,也就需要执行对数据库的导入导出操作。
当前对数据库导入导出的方法主要分为两种,其一为通过命令导入导出,其二为使用可视化工具导入导出。采用命令行的方法,需要注意所使用的用户及其权限等细节,在目标数据库上需要手动创建相应的数据库表,操作较为繁琐,效率不高;采用可视化工具的方法,目前的可视化工具一般只支持几类常见数据库的导入导出,不一定能满足实际业务中数据迁移的需要,而且不同可视化工具的数据格式可能存在差异,都有限制使用场景和限制数据库导入导出版本。
如果单纯依靠命令行的方式,在迁移过程中往往需要大量人工执行建表、建索引的操作。人工参与度较高,操作复杂繁琐,需要学习特定的语法以满足字符集不通用、数据的时效性、完整性以及准确性等要求。而单纯采用可视化工具的方法,受限于数据库系统的限制,一方面不同数据库支持的可直接访问的可视化工具不同,另一方面,同类型的数据库不同版本之间,对可视化工具的访问方式和数据格式也可能存在差异,导致可视化工具导出的数据不能够直接导入另一类型数据库或同一类型不同版本的数据库。现有业务迁移随着跨网段内外网的情况下,数据同步会应为网段不同的情况下变得繁琐。
发明内容
为了解决上述问题,本发明提出了一种数据库表数据导入导出方法、终端设备及存储介质。
具体方案如下:
一种数据库表数据导出方法,包括以下步骤:
S11:根据需要导出数据的第一数据库构建数据库连接配置文件、第一数据库中的数据表信息配置文件和文件导出格式的配置文件,设置导出过程中的并发线程数和导出文件的目录地址;
S12:从第一数据库中导出数据,并将导出的数据的转换为统一的编码格式;
在导出过程中每隔额定数目条记录生成一个.data数据文件;如果同时导出了索引文件,则每个.data数据文件对应生成一个.index索引文件;将导出的表结构生成.table文件;
S13:将导出的所有文件打包为一个文件并压缩后,存入导出文件的目录地址内。
进一步的,并发线程数根据以下公式计算:
Nthreads=Ncpu*Ucpu*(1+W/C)
其中,Nthreads表示并发线程数,Ncpu表示CPU的数量,Ucpu表示目标CPU的使用率,0≤Ucpu≤1,W表示计算等待时间,C表示实际计算时间。
进一步的,当需要导出的数据为增量数据时,通过增量提取方式提取增量数据,同时生成记录本次增量数据的增量范围的.inc增量文件。
进一步的,增量提取方式包括以下四种中的任一种,分别对应.inc增量文件的四个不同类型:
(1)当待提取的数据表中包含时间戳字段时,提取时间戳字段对应的时间戳大于上一次提取的时间戳的所有数据,.inc增量文件的类型为增量时间戳字段,其内容中记录提取数据时的时间戳;
(2)当待提取的数据表中包含序号时,提取序号大于上一次提取的序号的所有数据,.inc增量文件的类型为增量序号,其内容中记录提取的数据中的最大序号;
(3)当待提取的数据表中没有包含时间戳字段和序号时,当第一次提取时全部提取,并在第一数据库的数据表新增用于记录提取时间的时间戳字段,之后提取时,提取新增时间戳字段对应的时间戳大于上一次提取的时间戳的所有数据,.inc增量文件的类型为自动生成时间戳字段,其内容中记录提取数据时的时间戳;
(4)为第一数据库的数据表新增校验字段,校验字段的内容为根据每条数据生成的唯一编码,提取校验字段不同于上一次提取的所有数据的校验字段所对应的数据,.inc增量文件的类型为唯一编码。
一种数据库表数据导入方法,包括以下步骤:
S21:根据需要导入数据的第二数据库构建数据库连接配置文件,并设置导入过程中的并发线程数;
S22:根据构建的数据库连接配置文件与第二数据库进行连接,根据权利要求1所述方法生成的压缩文件进行数据导入。
进一步的,当需要导入的数据为全局数据时,采用如下导入过程:
S301:判断压缩文件中是否包含.table文件,如果包含,则删除需要导入的第二数据库中的与.table文件同名的数据表后,自动执行数据表创建语句,创建以该.table文件的文件名为名称的新数据表,进入S302;否则,直接进入302;
S302:判断压缩文件中是否包含.index索引文件,如果包含,则删除需要导入的第二数据库中的与.index索引文件同名的索引后,自动执行索引创建语句,创建以该.index索引文件的文件名为名称的新索引,进入S303;否则,直接进入S303;
S303:判断压缩文件中是否包含.data数据文件,如果包含,则直接插入.data文件中的数据到第二数据库的指定数据表内。
进一步的,当需要导入的数据为增量数据时,采用如下导入过程:
S401:判断压缩文件中是否包含.index索引文件,如果包含,则比对.index索引文件中的索引与需要导入的第二数据库中的索引是否有具有差异,如果有差异,则新增.index索引文件中具有差异的索引于第二数据库中,并使新增的索引与第二数据库的索引的类型相同;如果没有差异,进入S402;如果不包含,直接进入S402;
S402:判断压缩文件中是否包含.data数据文件,如果包含,则通过增量插入方式将.data数据文件中的数据插入第二数据库的指定数据表内。
进一步的,增量插入方式根据.inc增量文件的类型的不同包括以下四种中的任一种:
(1)当.inc增量文件的类型为增量时间戳字段时,进行待导入数据的最小时间戳与待导入数据表中数据的最大时间戳的比对,当导入数据的最小时间戳大于待导入数据表中数据的最大时间戳时,执行数据插入操作;否则将每一条待导入数据的主键与待导入数据表中数据的主键进行一一比对,如果相同,执行数据删除插入操作,如果不同,执行数据插入操作;
(2)当.inc增量文件的类型为增量序号时,对待导入数据中序号大于待导入数据表中数据的最大序号的数据执行数据插入操作,对待导入数据中序号小于或等于待导入数据表中数据的最大序号的数据执行数据删除插入操作;
(3)当.inc增量文件的类型为自动生成时间戳字段时,将每一条待导入数据的主键与待导入数据表中数据的主键进行一一比对,如果相同,执行数据删除插入操作,如果不同,执行数据插入操作;
(4)当.inc增量文件的类型为唯一编码时,将每一条待导入数据的唯一编码与待导入数据表中数据的唯一编码进行一一比对,如果相同,执行数据删除插入操作,如果不同,执行数据插入操作。
一种终端设备,包括处理器、存储器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现本发明实施例上述的方法的步骤。
一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现本发明实施例上述的方法的步骤。
本发明采用如上技术方案,并具有有益效果:
1.相较于命令行方法,避免了大量的命令行操作,减少了人为因素导致的错误,提高了工作效率。相对于可视化工具方法,可以同时支持不同主流数据库,同一数据库不同版本的使用,有更好的工程适应性。
2.同时可以支持多类主流数据库及其不同版本之间的数据迁移,并且可以进行数据的自动并行操作,极大提升了数据迁移的效率。
附图说明
图1所示为本发明实施例一中的导出过程的流程图。
图2所示为本发明实施例一中的导入过程的流程图。
具体实施方式
为进一步说明各实施例,本发明提供有附图。这些附图为本发明揭露内容的一部分,其主要用以说明实施例,并可配合说明书的相关描述来解释实施例的运作原理。配合参考这些内容,本领域普通技术人员应能理解其他可能的实施方式以及本发明的优点。
现结合附图和具体实施方式对本发明进一步说明。
实施例一:
本发明实施例提供了一种数据库表数据导入导出方法,包括导出过程和导入过程。
1.如图1所示,导出过程包括以下步骤:
S11:根据需要导出数据的第一数据库构建数据库连接配置文件、第一数据库中的数据表信息配置文件和文件导出格式的配置文件,设置导出过程中的并发线程数和导出文件的目录地址。
该实施例中数据库的连接配置文件包括用户名,密码,端口,ip,数据库名称等配置项;数据表信息配置文件包括需要导出的表名及相应的表字段、表索引,并可选择是否导出表字段、表索引;文件导出格式的配置文件支持导出的数据格式包括json、xls、xlsx、bjson、csv、text、parquet、xml、orcfile等。在其他实施例中本领域技术人员可以根据需求对上述三个配置文件进行设定,在此不做限制。
并发线程数可以手动设置,如不设置,则默认采用下列公式计算的结果:
Nthreads=Ncpu*Ucpu*(1+W/C)
其中,Nthreads表示并发线程数,Ncpu表示CPU的数量,Ucpu表示目标CPU的使用率,0≤Ucpu≤1,W表示计算等待时间,C表示实际计算时间。
导出文件的目录地址可以自行选择本地电脑中的地址,如不选择,则根据规则生成默认地址,具体的规则中包含如下参数:
DB=数据库名称,或者命名空间
Table=表名称
Index=索引
ALL=全量数据
INC=增量数据
REAL_TIME=当前时间
BLOCK_START=区间开始数量
BLOCK_END=区间结束数量
YYYYMMDDHHMMSS=表示生成时间格式YYYYMMDDHHMMSS
.data表示数据文件
.index表示索引文件
.table表示表文件
.inc表示增量文件,其为json结构
生成的目录地址如:file/DB_Table_ALL_YYYYMMDDHHMMSS/DB_Table_ALL_BLOCK_START_BLOCK_END_YYYYMMDDHHMMSS.data
file/DB_Table_ALL_BLOCK_YYYYMMDDHHMMSS/DB_Table_YYYYMMDDHHMMSS.index
file/DB_Table_ALL_YYYYMMDDHHMMSS/DB_Table_YYYYMMDDHHMMSS.table
file/DB_Table_ALL_YYYYMMDDHHMMSS/DB_Table_YYYYMMDDHHMMSS.inc
S12:从第一数据库中导出数据,并将导出的数据的转换为统一的编码格式;
由于不同数据库中数据的编码格式不相同,因此在进行转移时需要进行格式的统一,该实施例中采用的统一编码格式为UTF-8编码格式。
在导出过程中每隔额定数目条(10000条)记录生成一个.data数据文件;如果同时导出了索引文件,则每个.data数据文件对应生成一个.index索引文件;将导出的表结构生成.table文件。
需要说明的是,此处的一条记录为数据表中的一行。
进一步的,当需要导出的数据为增量数据时,通过增量提取方式提取增量数据,同时生成记录本次增量数据的增量范围的.inc增量文件。
通过不同的增量提取方式提取数据时对应生成不同类型的.inc增量文件,该实施例中主要有四种类型,对应的有如下四种增量提取方式:
(1)当待提取的数据表中包含时间戳字段时,提取时间戳字段对应的时间戳大于上一次提取的时间戳的所有数据。此时,.inc增量文件的类型为增量时间戳字段(TIME),其内容中记录提取数据时的时间戳;
(2)当待提取的数据表中包含序号时,提取序号大于上一次提取的序号的所有数据。此时,.inc增量文件的类型为增量序号(ID),其内容中记录提取的数据中的最大序号;
(3)当待提取的数据表中没有包含时间戳字段和序号时,当第一次提取时全部提取,并在第一数据库的数据表新增用于记录提取时间的时间戳字段,之后提取时,提取新增时间戳字段对应的时间戳大于上一次提取的时间戳的所有数据。此时,.inc增量文件的类型为自动生成时间戳字段(AUTO_TIME),其内容中记录提取数据时的时间戳;
(4)为第一数据库的数据表新增校验字段,校验字段的内容为根据每条数据生成的唯一编码(MD5),提取校验字段不同于上一次提取的所有数据的校验字段所对应的数据。此时,.inc增量文件的类型为唯一编码。
该实施例中采用的唯一编码为MD5编码,在其他实施例中也可以采用其他编码方式,在此不做限制。
S13:将导出的所有文件打包为一个文件并压缩后,存入导出文件的目录地址内。
该实施例中压缩文件为zip格式的文件。
2.如图2所示,导入过程包括以下步骤:
S21:根据需要导入数据的第二数据库构建数据库连接配置文件,并设置导入过程中的并发线程数。
配置文件和并发线程数采用如导出过程相同的方式进行设定。
S22:根据构建的数据库连接配置文件与第二数据库进行连接,根据导出过程中生成的压缩文件进行数据导入。
根据需要导入的数据为全局数据还是增量数据的不同,采用不同的导入过程,下面分别进行介绍。
当需要导入的数据为全局数据时,采用如下导入过程:
S301:判断压缩文件中是否包含.table文件,如果包含,则删除需要导入的第二数据库中的与.table文件同名的数据表后,自动执行数据表创建语句,创建以该.table文件的文件名为名称的新数据表,进入S302;否则,直接进入302。
S302:判断压缩文件中是否包含.index索引文件,如果包含,则删除需要导入的第二数据库中的与.index索引文件同名的索引后,自动执行索引创建语句,创建以该.index索引文件的文件名为名称的新索引,进入S303;否则,直接进入S303。
S303:判断压缩文件中是否包含.data数据文件,如果包含,则直接插入.data文件中的数据到第二数据库的指定数据表内。
当需要导入的数据为增量数据时,采用如下导入过程:
S401:判断压缩文件中是否包含.index索引文件,如果包含,则比对.index索引文件中的索引与需要导入的第二数据库中的索引是否有具有差异,如果有差异,则新增.index索引文件中具有差异的索引于第二数据库中,并使新增的索引与第二数据库的索引的类型相同;如果没有差异,进入S402;如果不包含,直接进入S402。
S402:判断压缩文件中是否包含.data数据文件,如果包含,则通过增量插入方式将.data数据文件中的数据插入第二数据库的指定数据表内。
增量插入方式根据.inc增量文件的类型的不同包括以下四种中的任一种:
(1)当.inc增量文件的类型为增量时间戳字段时,进行待导入数据的最小时间戳与待导入数据表中数据的最大时间戳的比对,当导入数据的最小时间戳大于待导入数据表中数据的最大时间戳时,执行数据插入操作;否则将每一条待导入数据的主键与待导入数据表中数据的主键进行一一比对,如果相同,执行数据删除插入操作,如果不同,执行数据插入操作;
(2)当.inc增量文件的类型为增量序号时,对待导入数据中序号大于待导入数据表中数据的最大序号的数据执行数据插入操作,对待导入数据中序号小于或等于待导入数据表中数据的最大序号的数据执行数据删除插入操作;
(3)当.inc增量文件的类型为自动生成时间戳字段时,将每一条待导入数据的主键与待导入数据表中数据的主键进行一一比对,如果相同,执行数据删除插入操作,如果不同,执行数据插入操作;
(4)当.inc增量文件的类型为唯一编码时,将每一条待导入数据的唯一编码与待导入数据表中数据的唯一编码进行一一比对,如果相同,执行数据删除插入操作,如果不同,执行数据插入操作。
本发明实施例一提出的方法可以应用于海量数据业务的迁移中,在手工配置基本的数据库连接文件后,可以自动适配包含关系数据库、非关系数据库、面向文件型数据库,图数据库间的快速数据迁移及同步表结构及索引,同时支持跨网段数据同步。较目前市场主流数据迁移方法,在迁移效率和适配性上都有明显提升。
本发明实施例一提出的方法适合对大量数据的并行操作,同时也适合应用于业务系统中同时存在多种数据库,多种数据库版本的情形,同时也适用跨网段之间数据同步。通过本实施例方法的使用,可以提高大数据迁移的效率,同步表结构及索引,减少人为因素的影响。
实施例二:
本发明还提供一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现本发明实施例一的上述方法实施例中的步骤。
进一步地,作为一个可执行方案,所述终端设备可以是桌上型计算机、笔记本、掌上电脑等计算设备。所述终端设备可包括,但不仅限于,处理器、存储器。本领域技术人员可以理解,上述终端设备的组成结构仅仅是终端设备的示例,并不构成对终端设备的限定,可以包括比上述更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述终端设备还可以包括输入输出设备、网络接入设备、总线等,本发明实施例对此不做限定。
进一步地,作为一个可执行方案,所称处理器可以是中央处理单元(CentralProcessing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital SignalProcessor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器是所述终端设备的控制中心,利用各种接口和线路连接整个终端设备的各个部分。
所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现所述终端设备的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据手机的使用所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(SecureDigital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
本发明还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现本发明实施例上述方法的步骤。
所述终端设备集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)以及软件分发介质等。
尽管结合优选实施方案具体展示和介绍了本发明,但所属领域的技术人员应该明白,在不脱离所附权利要求书所限定的本发明的精神和范围内,在形式上和细节上可以对本发明做出各种变化,均为本发明的保护范围。
Claims (10)
1.一种数据库表数据导出方法,其特征在于,包括以下步骤:
S11:根据需要导出数据的第一数据库构建数据库连接配置文件、第一数据库中的数据表信息配置文件和文件导出格式的配置文件,设置导出过程中的并发线程数和导出文件的目录地址;
S12:从第一数据库中导出数据,并将导出的数据的转换为统一的编码格式;
在导出过程中每隔额定数目条记录生成一个.data数据文件;如果同时导出了索引文件,则每个.data数据文件对应生成一个.index索引文件;将导出的表结构生成.table文件;
S13:将导出的所有文件打包为一个文件并压缩后,存入导出文件的目录地址内。
2.根据权利要求1所述的数据库表数据导出方法,其特征在于:并发线程数根据以下公式计算:
Nthreads=Ncpu*Ucpu*(1+W/C)
其中,Nthreads表示并发线程数,Ncpu表示CPU的数量,Ucpu表示目标CPU的使用率,0≤Ucpu≤1,W表示计算等待时间,C表示实际计算时间。
3.根据权利要求1所述的数据库表数据导出方法,其特征在于:当需要导出的数据为增量数据时,通过增量提取方式提取增量数据,同时生成记录本次增量数据的增量范围的.inc增量文件。
4.根据权利要求3所述的数据库表数据导出方法,其特征在于:增量提取方式包括以下四种中的任一种,分别对应.inc增量文件的四个不同类型:
(1)当待提取的数据表中包含时间戳字段时,提取时间戳字段对应的时间戳大于上一次提取的时间戳的所有数据,.inc增量文件的类型为增量时间戳字段,其内容中记录提取数据时的时间戳;
(2)当待提取的数据表中包含序号时,提取序号大于上一次提取的序号的所有数据,.inc增量文件的类型为增量序号,其内容中记录提取的数据中的最大序号;
(3)当待提取的数据表中没有包含时间戳字段和序号时,当第一次提取时全部提取,并在第一数据库的数据表新增用于记录提取时间的时间戳字段,之后提取时,提取新增时间戳字段对应的时间戳大于上一次提取的时间戳的所有数据,.inc增量文件的类型为自动生成时间戳字段,其内容中记录提取数据时的时间戳;
(4)为第一数据库的数据表新增校验字段,校验字段的内容为根据每条数据生成的唯一编码,提取校验字段不同于上一次提取的所有数据的校验字段所对应的数据,.inc增量文件的类型为唯一编码。
5.一种数据库表数据导入方法,其特征在于,包括以下步骤:
S21:根据需要导入数据的第二数据库构建数据库连接配置文件,并设置导入过程中的并发线程数;
S22:根据构建的数据库连接配置文件与第二数据库进行连接,根据权利要求1所述方法生成的压缩文件进行数据导入。
6.根据权利要求5所述的数据库表数据导入方法,其特征在于:当需要导入的数据为全局数据时,采用如下导入过程:
S301:判断压缩文件中是否包含.table文件,如果包含,则删除需要导入的第二数据库中的与.table文件同名的数据表后,自动执行数据表创建语句,创建以该.table文件的文件名为名称的新数据表,进入S302;否则,直接进入302;
S302:判断压缩文件中是否包含.index索引文件,如果包含,则删除需要导入的第二数据库中的与.index索引文件同名的索引后,自动执行索引创建语句,创建以该.index索引文件的文件名为名称的新索引,进入S303;否则,直接进入S303;
S303:判断压缩文件中是否包含.data数据文件,如果包含,则直接插入.data文件中的数据到第二数据库的指定数据表内。
7.根据权利要求5所述的数据库表数据导入方法,其特征在于:当需要导入的数据为增量数据时,采用如下导入过程:
S401:判断压缩文件中是否包含.index索引文件,如果包含,则比对.index索引文件中的索引与需要导入的第二数据库中的索引是否有具有差异,如果有差异,则新增.index索引文件中具有差异的索引于第二数据库中,并使新增的索引与第二数据库的索引的类型相同;如果没有差异,进入S402;如果不包含,直接进入S402;
S402:判断压缩文件中是否包含.data数据文件,如果包含,则通过增量插入方式将.data数据文件中的数据插入第二数据库的指定数据表内。
8.根据权利要求7所述的数据库表数据导入方法,其特征在于:增量插入方式根据.inc增量文件的类型的不同包括以下四种中的任一种:
(1)当.inc增量文件的类型为增量时间戳字段时,进行待导入数据的最小时间戳与待导入数据表中数据的最大时间戳的比对,当导入数据的最小时间戳大于待导入数据表中数据的最大时间戳时,执行数据插入操作;否则将每一条待导入数据的主键与待导入数据表中数据的主键进行一一比对,如果相同,执行数据删除插入操作,如果不同,执行数据插入操作;
(2)当.inc增量文件的类型为增量序号时,对待导入数据中序号大于待导入数据表中数据的最大序号的数据执行数据插入操作,对待导入数据中序号小于或等于待导入数据表中数据的最大序号的数据执行数据删除插入操作;
(3)当.inc增量文件的类型为自动生成时间戳字段时,将每一条待导入数据的主键与待导入数据表中数据的主键进行一一比对,如果相同,执行数据删除插入操作,如果不同,执行数据插入操作;
(4)当.inc增量文件的类型为唯一编码时,将每一条待导入数据的唯一编码与待导入数据表中数据的唯一编码进行一一比对,如果相同,执行数据删除插入操作,如果不同,执行数据插入操作。
9.一种终端设备,其特征在于:包括处理器、存储器以及存储在所述存储器中并在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1~8中任一所述方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于:所述计算机程序被处理器执行时实现如权利要求1~8中任一所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011397804.1A CN112416907A (zh) | 2020-12-03 | 2020-12-03 | 一种数据库表数据导入导出方法、终端设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011397804.1A CN112416907A (zh) | 2020-12-03 | 2020-12-03 | 一种数据库表数据导入导出方法、终端设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112416907A true CN112416907A (zh) | 2021-02-26 |
Family
ID=74829816
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011397804.1A Pending CN112416907A (zh) | 2020-12-03 | 2020-12-03 | 一种数据库表数据导入导出方法、终端设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112416907A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112948389A (zh) * | 2021-03-05 | 2021-06-11 | 上海上讯信息技术股份有限公司 | 基于md5的数据库表数据比对方法及设备 |
CN113127268A (zh) * | 2021-05-18 | 2021-07-16 | 中国银行股份有限公司 | 银行数据库的数据传输方法及装置 |
CN113515563A (zh) * | 2021-03-31 | 2021-10-19 | 浙江大华技术股份有限公司 | 一种数据对接方法、数据库、系统及计算机可读存储介质 |
CN113886482A (zh) * | 2021-12-07 | 2022-01-04 | 北京华云安信息技术有限公司 | 面向图数据库的数据自动入库方法、装置和设备 |
CN114443771A (zh) * | 2022-01-28 | 2022-05-06 | 中睿信数字技术有限公司 | 一种基于流计算的跨网段数据同步的构建系统和方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104462119A (zh) * | 2013-09-18 | 2015-03-25 | 腾讯科技(深圳)有限公司 | 数据迁移方法及装置 |
CN105069149A (zh) * | 2015-08-24 | 2015-11-18 | 电子科技大学 | 一种面向结构化列式数据的分布式并行数据导入方法 |
CN108052681A (zh) * | 2018-01-12 | 2018-05-18 | 毛彬 | 一种关系型数据库间结构化数据的同步方法及系统 |
US20200117745A1 (en) * | 2018-10-11 | 2020-04-16 | Ca, Inc. | Dynamic data movement using application relationships with encryption keys in different environments |
CN111339041A (zh) * | 2020-03-10 | 2020-06-26 | 中国建设银行股份有限公司 | 文件解析入库、文件生成方法及装置 |
-
2020
- 2020-12-03 CN CN202011397804.1A patent/CN112416907A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104462119A (zh) * | 2013-09-18 | 2015-03-25 | 腾讯科技(深圳)有限公司 | 数据迁移方法及装置 |
CN105069149A (zh) * | 2015-08-24 | 2015-11-18 | 电子科技大学 | 一种面向结构化列式数据的分布式并行数据导入方法 |
CN108052681A (zh) * | 2018-01-12 | 2018-05-18 | 毛彬 | 一种关系型数据库间结构化数据的同步方法及系统 |
US20200117745A1 (en) * | 2018-10-11 | 2020-04-16 | Ca, Inc. | Dynamic data movement using application relationships with encryption keys in different environments |
CN111339041A (zh) * | 2020-03-10 | 2020-06-26 | 中国建设银行股份有限公司 | 文件解析入库、文件生成方法及装置 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112948389A (zh) * | 2021-03-05 | 2021-06-11 | 上海上讯信息技术股份有限公司 | 基于md5的数据库表数据比对方法及设备 |
CN112948389B (zh) * | 2021-03-05 | 2023-07-25 | 上海上讯信息技术股份有限公司 | 基于md5的数据库表数据比对方法及设备 |
CN113515563A (zh) * | 2021-03-31 | 2021-10-19 | 浙江大华技术股份有限公司 | 一种数据对接方法、数据库、系统及计算机可读存储介质 |
CN113515563B (zh) * | 2021-03-31 | 2024-10-15 | 浙江大华技术股份有限公司 | 一种数据对接方法、数据库、系统及计算机可读存储介质 |
CN113127268A (zh) * | 2021-05-18 | 2021-07-16 | 中国银行股份有限公司 | 银行数据库的数据传输方法及装置 |
CN113886482A (zh) * | 2021-12-07 | 2022-01-04 | 北京华云安信息技术有限公司 | 面向图数据库的数据自动入库方法、装置和设备 |
CN113886482B (zh) * | 2021-12-07 | 2022-03-08 | 北京华云安信息技术有限公司 | 面向图数据库的数据自动入库方法、装置和设备 |
CN114443771A (zh) * | 2022-01-28 | 2022-05-06 | 中睿信数字技术有限公司 | 一种基于流计算的跨网段数据同步的构建系统和方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112416907A (zh) | 一种数据库表数据导入导出方法、终端设备及存储介质 | |
CN110147411B (zh) | 数据同步方法、装置、计算机设备及存储介质 | |
CN107807982B (zh) | 一种异构数据库的一致性校验方法及装置 | |
CN109542907B (zh) | 数据库缓存构建方法、装置、计算机设备以及存储介质 | |
CN107315814B (zh) | 一种kdb数据库数据迁移后数据一致性验证方法及系统 | |
CN110704398A (zh) | 从MySQL到Oracle的数据库迁移方法、装置及计算机设备 | |
CN110737594B (zh) | 自动生成测试用例的数据库标准符合性测试方法及装置 | |
CN113297182B (zh) | 数据迁移方法、设备、存储介质及程序产品 | |
CN107463706B (zh) | 一种基于Hadoop的海量录波数据存储和解析方法及系统 | |
CN110688305B (zh) | 测试环境同步方法、装置、介质、电子设备 | |
CN109376142B (zh) | 数据迁移方法及终端设备 | |
CN111737227B (zh) | 数据修改方法及系统 | |
CN108628898A (zh) | 数据入库的方法、装置和设备 | |
CN113312338A (zh) | 数据一致性的校验方法、装置、设备、介质及程序产品 | |
CN111414362A (zh) | 数据读取方法、装置、设备及存储介质 | |
CN111651519A (zh) | 数据同步方法、数据同步装置、电子设备及存储介质 | |
CN111177119A (zh) | 基于数据库的全量数据比对方法、装置、设备及存储介质 | |
CN111858730A (zh) | 一种图数据库的数据导入导出装置、方法、设备及介质 | |
CN113177090A (zh) | 数据处理方法及装置 | |
CN111447265A (zh) | 文件存储方法、文件下载方法和文件处理方法及相关组件 | |
CN117349267A (zh) | 一种数据库迁移处理方法及系统 | |
CN115757174A (zh) | 一种数据库的差异检测方法及装置 | |
CN106326310B (zh) | 一种手机客户端软件的资源加密更新方法 | |
CN110727726B (zh) | 一种文档型数据库中数据抽取到关系数据库的方法和系统 | |
CN108334621B (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210226 |