CN113190534A - 数据库数据迁移方法及装置 - Google Patents
数据库数据迁移方法及装置 Download PDFInfo
- Publication number
- CN113190534A CN113190534A CN202110576785.7A CN202110576785A CN113190534A CN 113190534 A CN113190534 A CN 113190534A CN 202110576785 A CN202110576785 A CN 202110576785A CN 113190534 A CN113190534 A CN 113190534A
- Authority
- CN
- China
- Prior art keywords
- data
- database
- files
- file
- generated
- 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
- 238000013508 migration Methods 0.000 title claims abstract description 82
- 230000005012 migration Effects 0.000 title claims abstract description 82
- 238000000034 method Methods 0.000 title claims abstract description 45
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 41
- 230000015654 memory Effects 0.000 claims description 35
- 238000004590 computer program Methods 0.000 claims description 15
- 238000004364 calculation method Methods 0.000 claims description 6
- 238000012546 transfer Methods 0.000 abstract description 11
- 238000012545 processing Methods 0.000 description 16
- 230000006870 function Effects 0.000 description 14
- 238000010586 diagram Methods 0.000 description 13
- 238000004891 communication Methods 0.000 description 12
- 239000000872 buffer Substances 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000008676 import Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 238000013506 data mapping Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000013467 fragmentation Methods 0.000 description 1
- 238000006062 fragmentation reaction Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 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
- 230000000750 progressive effect Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000003936 working memory 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
- G06F16/2228—Indexing structures
- G06F16/2255—Hash tables
-
- 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/25—Integrating or interfacing systems involving database management systems
- G06F16/258—Data format conversion from or to a database
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)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种数据库数据迁移方法及装置,涉及大数据技术领域。方法包括:获取预先配置的配置文件,所述配置文件包含:源数据库地址、目标数据库地址、数据分配到不同文件的算法、导出生成文件的最大容量;根据所述源数据库地址确定原数据库,将所述原数据库中的数据按照所述数据分配到不同文件的算法分配到多个文件中得到多个导出生成的文件;其中,每个导出生成的文件的容量小于所述导出生成文件的最大容量;根据所述目标数据库地址确定目标数据库,将多个导出生成的文件迁移至所述目标数据库。本发明能够有效提高数据的迁移效率,降低了转存耗时。
Description
技术领域
本发明涉及大数据技术领域,具体涉及一种数据库数据迁移方法及装置。
背景技术
MySQL是一种关系型数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。MySQL所使用的SQL语言是用于访问数据库的最常用标准化语言。MySQL软件采用了双授权政策,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择MySQL作为网站数据库。
Sharding-Sphere是一套开源的分布式数据库中间件解决方案组成的生态圈,能够提供标准化的数据分片、读写分离、柔性事务和数据治理功能,可适用于如Java同构、异构语言、容器、云原生等各种多样化的应用场景。sharding-sphere的执行引擎对数据库的连接方式提供了两种:内存限制模式和连接限制模式,在内存限制模式中(也就是要使用流式查询的场景),对于每一张表的查询,需要创建一个数据库连接。流式查询中一个MySQL数据库连接同一时间只能为一个ResultSet对象服务,并且如果该ResultSet对象没有关闭,势必会影响其他查询对数据库连接的使用。
针对现有的MySQL流式查询,从Mysql,Oracle,H2等数据库操作数据时或从原有系统读取数据迁移到新数据系统,如果操作数据量过大,往往会导致内存占用过大,性能低下的问题,甚至造成内存溢出(OOM,Out of Memory)问题,从而造成服务崩溃的严重后果。
发明内容
针对现有技术中的问题,本发明提供一种数据库数据迁移方法及装置,能够有效提高数据迁移效率。
为解决上述技术问题,本发明提供以下技术方案:
第一方面,本发明提供一种数据库数据迁移方法,包括:
获取预先配置的配置文件,所述配置文件包含:源数据库地址、目标数据库地址、数据分配到不同文件的算法、导出生成文件的最大容量;
根据所述源数据库地址确定原数据库,将所述原数据库中的数据按照所述数据分配到不同文件的算法分配到多个文件中得到多个导出生成的文件;其中,每个导出生成的文件的容量小于所述导出生成文件的最大容量;
根据所述目标数据库地址确定目标数据库,将多个导出生成的文件迁移至所述目标数据库。
进一步地,在所述根据所述源数据库地址确定原数据库之后,还包括:
基于扫描线程扫描所述原数据库中的数据,确定符合预设的迁移规则的目标数据;
相对应的,将所述原数据库中的数据按照所述数据分配到不同文件的算法分配到多个文件中得到多个导出生成的文件,包括:
将所述原数据库中的目标数据按照所述数据分配到不同文件的算法分配到多个文件中得到多个导出生成的文件。
其中,所述预设的迁移规则包括:数据的标识字段为待处理或待查询。
其中,所述将所述原数据库中的数据按照所述数据分配到不同文件的算法分配到多个文件中得到多个导出生成的文件,包括:
确定所述原数据中数据对应的哈希值,基于所述哈希值将所述原数据中数据分配到多个文件中得到多个导出生成的文件。
其中,所述确定所述原数据中数据对应的哈希值,包括:
确定所述原数据库中数据的任意一个字段,根据确定的所述字段进行哈希计算得到对应的哈希值。
其中,所述导出生成的文件为CSV文件。
其中,所述将多个导出生成的文件迁移至所述目标数据库,包括:
将所述导出生成的文件中的数据填充到预设的报表模板文件中,生成目标报表文件;
将所述目标报表文件存储至目标数据库中。
第二方面,本发明提供一种数据库数据迁移装置,包括:
读取模块,用于获取预先配置的配置文件,所述配置文件包含:源数据库地址、目标数据库地址、数据分配到不同文件的算法、导出生成文件的最大容量;
迁移模块,用于根据所述源数据库地址确定原数据库,将所述原数据库中的数据按照所述数据分配到不同文件的算法分配到多个文件中得到多个导出生成的文件;其中,每个导出生成的文件的容量小于所述导出生成文件的最大容量;
存储模块,用于根据所述目标数据库地址确定目标数据库,将多个导出生成的文件迁移至所述目标数据库。
进一步地,还包括:
扫描模块,用于基于扫描线程扫描所述原数据库中的数据,确定符合预设的迁移规则的目标数据;
相对应的,迁移模块包括:
迁移子模块,用于将所述原数据库中的目标数据按照所述数据分配到不同文件的算法分配到多个文件中得到多个导出生成的文件。
其中,所述迁移模块包括:
迁移单元,用于确定所述原数据中数据对应的哈希值,基于所述哈希值将所述原数据中数据分配到多个文件中得到多个导出生成的文件。
其中,所述存储模块包括:
填充单元,用于将所述导出生成的文件中的数据填充到预设的报表模板文件中,生成目标报表文件;
存储单元,用于将所述目标报表文件存储至目标数据库中。
第三方面,本发明提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现所述的数据库数据迁移方法的步骤。
第四方面,本发明提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现所述的数据库数据迁移方法的步骤。
由上述技术方案可知,本发明提供一种数据库数据迁移方法及装置,通过获取预先配置的配置文件,所述配置文件包含:源数据库地址、目标数据库地址、数据分配到不同文件的算法、导出生成文件的最大容量;根据所述源数据库地址确定原数据库,将所述原数据库中的数据按照所述数据分配到不同文件的算法分配到多个文件中得到多个导出生成的文件;其中,每个导出生成的文件的容量小于所述导出生成文件的最大容量;根据所述目标数据库地址确定目标数据库,将多个导出生成的文件迁移至所述目标数据库。能够有效提高数据的迁移效率,降低了转存耗时。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中的数据库数据迁移方法的第一流程示意图。
图2为本发明实施例中的数据库数据迁移方法的第二流程示意图。
图3为本发明实施例中数据库数据迁移方法的系统流程图。
图4为本发明实施例中的数据库数据迁移装置的一种结构示意图。
图5为本发明实施例中的数据库数据迁移装置的第二种结构示意图。
图6为本发明实施例中的电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明提供一种数据库数据迁移方法的实施例,参见图1,所述数据库数据迁移方法具体包含有如下内容:
S101:获取预先配置的配置文件,所述配置文件包含:源数据库地址、目标数据库地址、数据分配到不同文件的算法、导出生成文件的最大容量;
在本步骤中,预先配置的配置文件还可以包含:源数据库或目标数据的账号以及密码、导出的串并行标志、导入的串并行标志。
其中,数据分配到不同文件的算法,是用于根据数据库中某个字段进行哈希计算,不同的值导出到不同的文件中。进一步地,可以将数据导出到多个文件中,将每个文件中数据加载到内存中进行处理时,能够避免内存泄露的问题。
串并行标志,是只对导出的多个文件进行串行处理或者并行处理。支持并行导出文件,能够大大提高效率。
S102:根据所述源数据库地址确定原数据库,将所述原数据库中的数据按照所述数据分配到不同文件的算法分配到多个文件中得到多个导出生成的文件;其中,每个导出生成的文件的容量小于所述导出生成文件的最大容量;
在本步骤中,确定所述原数据中数据对应的哈希值,基于所述哈希值将所述原数据中数据分配到多个文件中得到多个导出生成的文件。
其中,确定所述原数据中数据对应的哈希值,包括:
确定所述原数据库中数据的任意一个字段,根据确定的所述字段进行哈希计算得到对应的哈希值。
在本实施中,导出生成的文件为CSV文件,相对应的,基于所述哈希值将所述原数据中数据分配到多个文件中得到多个导出生成的文件,包括:
基于哈希值确定原数据中数据多个文件中的具体一个文件,可以是根据哈希值中某一位置的数值的范围进行划分多个文件,并根据该位置的具体数据进行分配。在将原数据中数据分配到具体的文件后,将原数据中数据写入该文件中得到该文件对应的导出生成的文件,具体包括:
将原数据中数据作为一个数据中间文件。该数据中间文件中已经包括了CSV文件中的所有源数据,将该数据中间文件再生成为表格数据的CSV文件。
从所述数据中间文件中分别获取所述各字段标签对应的各条字段内容。在数据中间文件中保存了从各个源文件获取到的目标源数据,因此,数据中间文件中就保存了CSV文件中的各个字段标签所对应的字段内容,所以可以按照各字段标签在配置信息中的配置顺序,来从数据中间文件中获取对应的各条字段内容。
将各字段标签及其对应的各条字段内容组合为表格数据,得到目标CSV文件。待CSV文件中的各个字段标签对应的各条字段内容都从数据中间文件中获取到以后,则将全部字段标签即对应的全部字段内容分别作为表格数据,存储至预设的EXCEL表格中,从而得到目标CSV文件,该CSV文件可以用EXCEL程序打开。
需要说明的是,在本步骤中,每个导出生成的文件的容量小于导出生成文件的最大容量,实现通过限制导出生成文件的最大容量来避免出现原大于其他导出生成文件的特大导出生成文件。进一步提高数据的迁移效率,降低了转存耗时。
S103:根据所述目标数据库地址确定目标数据库,将多个导出生成的文件迁移至所述目标数据库。
在本步骤中,将所述导出生成的文件中的数据填充到预设的报表模板文件中,生成目标报表文件;将所述目标报表文件存储至目标数据库中。
具体的,将导出的CSV文件中的数据导入至报表模板文件第一指定表中,并根据报表模板文件中定义的宏指令进行分列,比如,以逗号分隔符将CSV文件中的数据进行分列;然后,根据报表模板文件中定义的数据映射和内嵌的计算式,将第一指定表中的数据映射到第二指定表中;最后,向第二指定表中填充定义的数据生成目标报表文件,最终目标报表文件存储至目标数据库中。
从上述描述可知,本发明实施例提供的数据库数据迁移方法,通过获取预先配置的配置文件,所述配置文件包含:源数据库地址、目标数据库地址、数据分配到不同文件的算法、导出生成文件的最大容量;根据所述源数据库地址确定原数据库,将所述原数据库中的数据按照所述数据分配到不同文件的算法分配到多个文件中得到多个导出生成的文件;其中,每个导出生成的文件的容量小于所述导出生成文件的最大容量;根据所述目标数据库地址确定目标数据库,将多个导出生成的文件迁移至所述目标数据库。能够有效提高数据的迁移效率,降低了转存耗时。
在本发明的一实施例中,参见图2,所述数据库数据迁移方法的步骤S102之后,还包括:
S104:基于扫描线程扫描所述原数据库中的数据,确定符合预设的迁移规则的目标数据;
相对应的,将所述原数据库中的数据按照所述数据分配到不同文件的算法分配到多个文件中得到多个导出生成的文件,包括:
将所述原数据库中的目标数据按照所述数据分配到不同文件的算法分配到多个文件中得到多个导出生成的文件。
在本实施例中,通过设置扫描线程,可以基于扫描线程自动在原数据库中扫描出满足预设迁移规则的目标数据,将目标数据加入至传输队列,以便后续对目标数据进行迁移。
需要说明的是,预设的迁移规则包括:数据的标识字段为待处理或待查询。即,确定标识字段为待处理或待查询的数据为目标数据。
从上述描述可知,本实施例提供的数据迁移方法能够有效提高数据的迁移效率,降低了转存耗时。
为进一步地说明本方案,本发明提供一种数据库数据迁移方法的具体实施例,参见图3,具体包含有如下内容:
1、读取配置文件:
配置文件中包含源数据库地址和目标数据库地址、数据库账号密码、导出数据的逻辑、数据分配到不同文件的算法、导出的串并行标志,导入的串并行标志,导出生成文件的最大容量。
数据分配到不同文件中,可以根据某个字段进行哈希计算,不同的值导出到不同的文件中。将数据导出到多个文件中,将每个文件中数据加载到内存中进行处理时,能够避免内存泄露的问题。
串并行标志,是只对导出的多个文件进行串行处理或者并行处理。支持并行导出文件,能够大大提高效率。
2、适配到不同类型的数据库:
根据Mysql/H2等数据库的sql语言特点,适配器自动适配到不同的数据库。支持从一种数据库导出到文件中,处理文件后,将文件导入到另一种数据库中。例如从Mysql中将数据导出,处理完后将文件导入到H2中。
3、导出数据到文件:
根据配置的规则,将数据从数据库中并发导出到多个csv文件中作为数据中转,将数据以文件形式传递给应用侧供其对数据进行加工处理。
4、应用侧对数据文件加工处理:
配置中可以配置导出文件可以承载的最大值,将大量数据导出到多个数据文件中,方便应用侧将整个文件加载到内存中对数据进行加工和处理,不会出现内存泄露的问题。
5、应用侧将加工好的数据生成到数据文件中:
6、将数据文件导入数据库:
根据配置规则和适配器适配到对应的数据库并将数据导入数据库中。
基于上述技术方案,通过配置sql语句,将从数据源中的待处理或查询数据并发导出成若干个特定格式的csv文件,作为数据中转文件,再从应用系统侧以文件流的形式读取中转文件的数据。最终实现了加速大数据传输。由于文件媒介是底层隔离,所以在业务层是无感知文件系统的存在,可以兼容传统的jdbc的结果集操作模式,方便开发人员使用。数据以文件导入导出形式的性能对比传统的数据库数据操作具有质的提升,并且本系统的文件系统支持多文件并发导入导出,减少了文件转储耗时,性能进一步提升;整个过程数据是通过流的形式来作为数据读写接口,通过文件来作为数据存储媒介,无需占用java工作内存,所以不会对jvm造成压力。
本发明实施例提供一种能够实现所述数据库数据迁移方法中全部内容的数据库数据迁移装置的具体实施方式,参见图4,所述数据库数据迁移装置具体包括如下内容:
读取模块10,用于获取预先配置的配置文件,所述配置文件包含:源数据库地址、目标数据库地址、数据分配到不同文件的算法、导出生成文件的最大容量;
迁移模块20,用于根据所述源数据库地址确定原数据库,将所述原数据库中的数据按照所述数据分配到不同文件的算法分配到多个文件中得到多个导出生成的文件;其中,每个导出生成的文件的容量小于所述导出生成文件的最大容量;
存储模块30,用于根据所述目标数据库地址确定目标数据库,将多个导出生成的文件迁移至所述目标数据库。
其中,所述迁移模块包括:
迁移单元,用于确定所述原数据中数据对应的哈希值,基于所述哈希值将所述原数据中数据分配到多个文件中得到多个导出生成的文件。
其中,所述存储模块包括:
填充单元,用于将所述导出生成的文件中的数据填充到预设的报表模板文件中,生成目标报表文件;
存储单元,用于将所述目标报表文件存储至目标数据库中。
在本发明一实施例中,参见图5,数据库数据迁移装置还包括:
扫描模块40,用于基于扫描线程扫描所述原数据库中的数据,确定符合预设的迁移规则的目标数据;
相对应的,迁移模块包括:
迁移子模块,用于将所述原数据库中的目标数据按照所述数据分配到不同文件的算法分配到多个文件中得到多个导出生成的文件。
本发明提供的数据库数据迁移装置的实施例具体可以用于执行上述实施例中的数据库数据迁移方法的实施例的处理流程,其功能在此不再赘述,可以参照上述方法实施例的详细描述。
从上述描述可知,本发明实施例提供的数据库数据迁移装置,通过获取预先配置的配置文件,所述配置文件包含:源数据库地址、目标数据库地址、数据分配到不同文件的算法、导出生成文件的最大容量;根据所述源数据库地址确定原数据库,将所述原数据库中的数据按照所述数据分配到不同文件的算法分配到多个文件中得到多个导出生成的文件;其中,每个导出生成的文件的容量小于所述导出生成文件的最大容量;根据所述目标数据库地址确定目标数据库,将多个导出生成的文件迁移至所述目标数据库。能够有效提高数据的迁移效率,降低了转存耗时。
本申请提供一种用于实现所述数据库数据迁移方法中的全部或部分内容的电子设备的实施例所述电子设备具体包含有如下内容:
处理器(processor)、存储器(memory)、通信接口(Communications Interface)和总线;其中,所述处理器、存储器、通信接口通过所述总线完成相互间的通信;所述通信接口用于实现相关设备之间的信息传输;该电子设备可以是台式计算机、平板电脑及移动终端等,本实施例不限于此。在本实施例中,该电子设备可以参照实施例用于实现所述数据库数据迁移方法的实施例及用于实现所述数据库数据迁移装置的实施例进行实施,其内容被合并于此,重复之处不再赘述。
图6为本申请实施例的电子设备9600的系统构成的示意框图。如图6所示,该电子设备9600可以包括中央处理器9100和存储器9140;存储器9140耦合到中央处理器9100。值得注意的是,该图6是示例性的;还可以使用其他类型的结构,来补充或代替该结构,以实现电信功能或其他功能。
一实施例中,数据库数据迁移功能可以被集成到中央处理器9100中。其中,中央处理器9100可以被配置为进行如下控制:
获取预先配置的配置文件,所述配置文件包含:源数据库地址、目标数据库地址、数据分配到不同文件的算法、导出生成文件的最大容量;根据所述源数据库地址确定原数据库,将所述原数据库中的数据按照所述数据分配到不同文件的算法分配到多个文件中得到多个导出生成的文件;其中,每个导出生成的文件的容量小于所述导出生成文件的最大容量;根据所述目标数据库地址确定目标数据库,将多个导出生成的文件迁移至所述目标数据库。
从上述描述可知,本申请的实施例提供的电子设备,通过获取预先配置的配置文件,所述配置文件包含:源数据库地址、目标数据库地址、数据分配到不同文件的算法、导出生成文件的最大容量;根据所述源数据库地址确定原数据库,将所述原数据库中的数据按照所述数据分配到不同文件的算法分配到多个文件中得到多个导出生成的文件;其中,每个导出生成的文件的容量小于所述导出生成文件的最大容量;根据所述目标数据库地址确定目标数据库,将多个导出生成的文件迁移至所述目标数据库。能够有效提高数据的迁移效率,降低了转存耗时。
在另一个实施方式中,数据库数据迁移装置可以与中央处理器9100分开配置,例如可以将数据库数据迁移配置为与中央处理器9100连接的芯片,通过中央处理器的控制来实现数据库数据迁移功能。
如图6所示,该电子设备9600还可以包括:通信模块9110、输入单元9120、音频处理器9130、显示器9160、电源9170。值得注意的是,电子设备9600也并不是必须要包括图6中所示的所有部件;此外,电子设备9600还可以包括图6中没有示出的部件,可以参考现有技术。
如图6所示,中央处理器9100有时也称为控制器或操作控件,可以包括微处理器或其他处理器装置和/或逻辑装置,该中央处理器9100接收输入并控制电子设备9600的各个部件的操作。
其中,存储器9140,例如可以是缓存器、闪存、硬驱、可移动介质、易失性存储器、非易失性存储器或其它合适装置中的一种或更多种。可储存上述与失败有关的信息,此外还可存储执行有关信息的程序。并且中央处理器9100可执行该存储器9140存储的该程序,以实现信息存储或处理等。
输入单元9120向中央处理器9100提供输入。该输入单元9120例如为按键或触摸输入装置。电源9170用于向电子设备9600提供电力。显示器9160用于进行图像和文字等显示对象的显示。该显示器例如可为LCD显示器,但并不限于此。
该存储器9140可以是固态存储器,例如,只读存储器(ROM)、随机存取存储器(RAM)、SIM卡等。还可以是这样的存储器,其即使在断电时也保存信息,可被选择性地擦除且设有更多数据,该存储器的示例有时被称为EPROM等。存储器9140还可以是某种其它类型的装置。存储器9140包括缓冲存储器9141(有时被称为缓冲器)。存储器9140可以包括应用/功能存储部9142,该应用/功能存储部9142用于存储应用程序和功能程序或用于通过中央处理器9100执行电子设备9600的操作的流程。
存储器9140还可以包括数据存储部9143,该数据存储部9143用于存储数据,例如联系人、数字数据、图片、声音和/或任何其他由电子设备使用的数据。存储器9140的驱动程序存储部9144可以包括电子设备的用于通信功能和/或用于执行电子设备的其他功能(如消息传送应用、通讯录应用等)的各种驱动程序。
通信模块9110即为经由天线9111发送和接收信号的发送机/接收机9110。通信模块(发送机/接收机)9110耦合到中央处理器9100,以提供输入信号和接收输出信号,这可以和常规移动通信终端的情况相同。
基于不同的通信技术,在同一电子设备中,可以设置有多个通信模块9110,如蜂窝网络模块、蓝牙模块和/或无线局域网模块等。通信模块(发送机/接收机)9110还经由音频处理器9130耦合到扬声器9131和麦克风9132,以经由扬声器9131提供音频输出,并接收来自麦克风9132的音频输入,从而实现通常的电信功能。音频处理器9130可以包括任何合适的缓冲器、解码器、放大器等。另外,音频处理器9130还耦合到中央处理器9100,从而使得可以通过麦克风9132能够在本机上录音,且使得可以通过扬声器9131来播放本机上存储的声音。
本发明的实施例还提供能够实现上述实施例中的数据库数据迁移方法中全部步骤的一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中的数据库数据迁移方法的全部步骤,例如,所述处理器执行所述计算机程序时实现下述步骤:
获取预先配置的配置文件,所述配置文件包含:源数据库地址、目标数据库地址、数据分配到不同文件的算法、导出生成文件的最大容量;根据所述源数据库地址确定原数据库,将所述原数据库中的数据按照所述数据分配到不同文件的算法分配到多个文件中得到多个导出生成的文件;其中,每个导出生成的文件的容量小于所述导出生成文件的最大容量;根据所述目标数据库地址确定目标数据库,将多个导出生成的文件迁移至所述目标数据库。
从上述描述可知,本发明实施例提供的计算机可读存储介质,通过获取预先配置的配置文件,所述配置文件包含:源数据库地址、目标数据库地址、数据分配到不同文件的算法、导出生成文件的最大容量;根据所述源数据库地址确定原数据库,将所述原数据库中的数据按照所述数据分配到不同文件的算法分配到多个文件中得到多个导出生成的文件;其中,每个导出生成的文件的容量小于所述导出生成文件的最大容量;根据所述目标数据库地址确定目标数据库,将多个导出生成的文件迁移至所述目标数据库。能够有效提高数据的迁移效率,降低了转存耗时。
虽然本发明提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的装置或客户端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。
本领域技术人员应明白,本说明书的实施例可提供为方法、装置(系统)或计算机程序产品。因此,本说明书实施例可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。本发明并不局限于任何单一的方面,也不局限于任何单一的实施例,也不局限于这些方面和/或实施例的任意组合和/或置换。而且,可以单独使用本发明的每个方面和/或实施例或者与一个或更多其他方面和/或其实施例结合使用。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围,其均应涵盖在本发明的权利要求和说明书的范围当中。
Claims (13)
1.一种数据库数据迁移方法,其特征在于,包括:
获取预先配置的配置文件,所述配置文件包含:源数据库地址、目标数据库地址、数据分配到不同文件的算法、导出生成文件的最大容量;
根据所述源数据库地址确定原数据库,将所述原数据库中的数据按照所述数据分配到不同文件的算法分配到多个文件中得到多个导出生成的文件;其中,每个导出生成的文件的容量小于所述导出生成文件的最大容量;
根据所述目标数据库地址确定目标数据库,将多个导出生成的文件迁移至所述目标数据库。
2.根据权利要求1所述的数据库数据迁移方法,其特征在于,在所述根据所述源数据库地址确定原数据库之后,还包括:
基于扫描线程扫描所述原数据库中的数据,确定符合预设的迁移规则的目标数据;
相对应的,将所述原数据库中的数据按照所述数据分配到不同文件的算法分配到多个文件中得到多个导出生成的文件,包括:
将所述原数据库中的目标数据按照所述数据分配到不同文件的算法分配到多个文件中得到多个导出生成的文件。
3.根据权利要求2所述的数据库数据迁移方法,其特征在于,所述预设的迁移规则包括:数据的标识字段为待处理或待查询。
4.根据权利要求1所述的数据库数据迁移方法,其特征在于,所述将所述原数据库中的数据按照所述数据分配到不同文件的算法分配到多个文件中得到多个导出生成的文件,包括:
确定所述原数据中数据对应的哈希值,基于所述哈希值将所述原数据中数据分配到多个文件中得到多个导出生成的文件。
5.根据权利要求4所述的数据库数据迁移方法,其特征在于,所述确定所述原数据中数据对应的哈希值,包括:
确定所述原数据库中数据的任意一个字段,根据确定的所述字段进行哈希计算得到对应的哈希值。
6.根据权利要求4所述的数据库数据迁移方法,其特征在于,所述导出生成的文件为CSV文件。
7.根据权利要求1所述的数据库数据迁移方法,其特征在于,所述将多个导出生成的文件迁移至所述目标数据库,包括:
将所述导出生成的文件中的数据填充到预设的报表模板文件中,生成目标报表文件;
将所述目标报表文件存储至目标数据库中。
8.一种数据库数据迁移装置,其特征在于,包括:
读取模块,用于获取预先配置的配置文件,所述配置文件包含:源数据库地址、目标数据库地址、数据分配到不同文件的算法、导出生成文件的最大容量;
迁移模块,用于根据所述源数据库地址确定原数据库,将所述原数据库中的数据按照所述数据分配到不同文件的算法分配到多个文件中得到多个导出生成的文件;其中,每个导出生成的文件的容量小于所述导出生成文件的最大容量;
存储模块,用于根据所述目标数据库地址确定目标数据库,将多个导出生成的文件迁移至所述目标数据库。
9.根据权利要求8所述的数据库数据迁移装置,其特征在于,还包括:
扫描模块,用于基于扫描线程扫描所述原数据库中的数据,确定符合预设的迁移规则的目标数据;
相对应的,迁移模块包括:
迁移子模块,用于将所述原数据库中的目标数据按照所述数据分配到不同文件的算法分配到多个文件中得到多个导出生成的文件。
10.根据权利要求8所述的数据库数据迁移装置,其特征在于,所述迁移模块包括:
迁移单元,用于确定所述原数据中数据对应的哈希值,基于所述哈希值将所述原数据中数据分配到多个文件中得到多个导出生成的文件。
11.根据权利要求8所述的数据库数据迁移装置,其特征在于,所述存储模块包括:
填充单元,用于将所述导出生成的文件中的数据填充到预设的报表模板文件中,生成目标报表文件;
存储单元,用于将所述目标报表文件存储至目标数据库中。
12.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1至7任一项所述的数据库数据迁移方法的步骤。
13.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至7任一项所述的数据库数据迁移方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110576785.7A CN113190534A (zh) | 2021-05-26 | 2021-05-26 | 数据库数据迁移方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110576785.7A CN113190534A (zh) | 2021-05-26 | 2021-05-26 | 数据库数据迁移方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113190534A true CN113190534A (zh) | 2021-07-30 |
Family
ID=76985058
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110576785.7A Pending CN113190534A (zh) | 2021-05-26 | 2021-05-26 | 数据库数据迁移方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113190534A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113609226A (zh) * | 2021-08-09 | 2021-11-05 | 平安国际智慧城市科技股份有限公司 | 一种数据导出方法、装置、计算机设备及存储介质 |
CN114064118A (zh) * | 2021-11-24 | 2022-02-18 | 建信金融科技有限责任公司 | 代码迁移的方法、装置、设备、存储介质、程序产品 |
CN114077602A (zh) * | 2022-01-13 | 2022-02-22 | 中兴通讯股份有限公司 | 数据迁移方法和装置、电子设备、存储介质 |
CN114816578A (zh) * | 2022-05-11 | 2022-07-29 | 上海柯林布瑞信息技术有限公司 | 基于配置表的程序配置文件生成方法、装置及设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105205117A (zh) * | 2015-09-09 | 2015-12-30 | 郑州悉知信息科技股份有限公司 | 一种数据表迁移方法和装置 |
WO2019219010A1 (zh) * | 2018-05-14 | 2019-11-21 | 杭州海康威视数字技术股份有限公司 | 数据迁移方法、装置及计算机可读存储介质 |
CN110674108A (zh) * | 2019-08-30 | 2020-01-10 | 中国人民财产保险股份有限公司 | 数据处理方法及装置 |
CN111367895A (zh) * | 2020-03-31 | 2020-07-03 | 中国建设银行股份有限公司 | 数据迁移方法及装置 |
CN111666266A (zh) * | 2020-06-09 | 2020-09-15 | 金蝶软件(中国)有限公司 | 一种数据迁移方法及相关设备 |
CN112015716A (zh) * | 2020-08-04 | 2020-12-01 | 北京人大金仓信息技术股份有限公司 | 数据库数据迁移方法、装置、介质和电子设备 |
-
2021
- 2021-05-26 CN CN202110576785.7A patent/CN113190534A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105205117A (zh) * | 2015-09-09 | 2015-12-30 | 郑州悉知信息科技股份有限公司 | 一种数据表迁移方法和装置 |
WO2019219010A1 (zh) * | 2018-05-14 | 2019-11-21 | 杭州海康威视数字技术股份有限公司 | 数据迁移方法、装置及计算机可读存储介质 |
CN110674108A (zh) * | 2019-08-30 | 2020-01-10 | 中国人民财产保险股份有限公司 | 数据处理方法及装置 |
CN111367895A (zh) * | 2020-03-31 | 2020-07-03 | 中国建设银行股份有限公司 | 数据迁移方法及装置 |
CN111666266A (zh) * | 2020-06-09 | 2020-09-15 | 金蝶软件(中国)有限公司 | 一种数据迁移方法及相关设备 |
CN112015716A (zh) * | 2020-08-04 | 2020-12-01 | 北京人大金仓信息技术股份有限公司 | 数据库数据迁移方法、装置、介质和电子设备 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113609226A (zh) * | 2021-08-09 | 2021-11-05 | 平安国际智慧城市科技股份有限公司 | 一种数据导出方法、装置、计算机设备及存储介质 |
CN113609226B (zh) * | 2021-08-09 | 2024-05-14 | 深圳平安智慧医健科技有限公司 | 一种数据导出方法、装置、计算机设备及存储介质 |
CN114064118A (zh) * | 2021-11-24 | 2022-02-18 | 建信金融科技有限责任公司 | 代码迁移的方法、装置、设备、存储介质、程序产品 |
CN114077602A (zh) * | 2022-01-13 | 2022-02-22 | 中兴通讯股份有限公司 | 数据迁移方法和装置、电子设备、存储介质 |
CN114816578A (zh) * | 2022-05-11 | 2022-07-29 | 上海柯林布瑞信息技术有限公司 | 基于配置表的程序配置文件生成方法、装置及设备 |
CN114816578B (zh) * | 2022-05-11 | 2024-05-17 | 上海柯林布瑞信息技术有限公司 | 基于配置表的程序配置文件生成方法、装置及设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113190534A (zh) | 数据库数据迁移方法及装置 | |
US20180107725A1 (en) | Data Storage Method and Apparatus, and Data Read Method and Apparatus | |
KR101994021B1 (ko) | 파일 조작 방법 및 장치 | |
US10372383B2 (en) | Providing secure access to data in mobile devices | |
US10701154B2 (en) | Sharding over multi-link data channels | |
CN105824849A (zh) | 一种数据导入方法及适配器 | |
KR101856486B1 (ko) | 컴퓨팅 디바이스에서 수행되는 오픈 시스템과 메인프레임 시스템 사이의 양방향 호출 방법 | |
CN110851474A (zh) | 数据查询方法、数据库中间件、数据查询设备及存储介质 | |
CN110928935A (zh) | 数据的访问命令处理方法、装置和系统 | |
CN103229150A (zh) | 数据控制方法及系统 | |
CN109857553B (zh) | 内存管理方法及装置 | |
CN113051102A (zh) | 文件备份方法、装置、系统、存储介质和计算机设备 | |
EP4187877A1 (en) | Method and apparatus for establishing communication connection, and device, and computer readable storage medium | |
CN114328626A (zh) | 多数据源动态切换方法、系统及存储介质 | |
CN104156316A (zh) | 一种Hadoop集群批处理作业的方法及系统 | |
CN118312565A (zh) | 一种基于独立数据源的多租户数据隔离方法及系统 | |
CN107357853B (zh) | 一种redis控制台的操作方法、装置及计算机系统 | |
CN107451203A (zh) | 数据库访问方法及装置 | |
CN104572638A (zh) | 数据读写方法及装置 | |
CN113297267A (zh) | 数据缓存和任务处理方法、装置、设备以及存储介质 | |
CN112527792A (zh) | 一种数据存储方法、装置、设备和存储介质 | |
CN113434489B (zh) | 一种实时数据库在线扩容方法、系统、设备及存储介质 | |
CN112306675B (zh) | 数据处理方法、相关设备以及计算机可读存储介质 | |
CN109614089A (zh) | 数据访问代码的自动生成方法、装置、设备及存储介质 | |
US20170364293A1 (en) | Method and apparatus for data processing |
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 |