CN110413595B - 一种应用于分布式数据库的数据迁移方法和相关装置 - Google Patents

一种应用于分布式数据库的数据迁移方法和相关装置 Download PDF

Info

Publication number
CN110413595B
CN110413595B CN201910588284.3A CN201910588284A CN110413595B CN 110413595 B CN110413595 B CN 110413595B CN 201910588284 A CN201910588284 A CN 201910588284A CN 110413595 B CN110413595 B CN 110413595B
Authority
CN
China
Prior art keywords
data
database
target
source
source database
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.)
Active
Application number
CN201910588284.3A
Other languages
English (en)
Other versions
CN110413595A (zh
Inventor
石康
唐小珍
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wanyi Technology Co Ltd
Original Assignee
Wanyi Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Wanyi Technology Co Ltd filed Critical Wanyi Technology Co Ltd
Priority to CN201910588284.3A priority Critical patent/CN110413595B/zh
Publication of CN110413595A publication Critical patent/CN110413595A/zh
Application granted granted Critical
Publication of CN110413595B publication Critical patent/CN110413595B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/214Database migration support
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, 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)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请公开了一种应用于分布式数据库的数据迁移方法和相关装置,所述方法包括:从源数据库中获取待迁移数据,其中,所述待迁移数据属于N个源数据表,N为正整数;建立所述源数据库与目标数据库之间的第一数据迁移映射信息,其中,所述第一数据迁移映射信息用于表示所述N个源数据表与所述目标数据库的N个目标数据表之间的映射关系,所述N个目标数据表中的每个目标数据表属于N个目标数据子库中的每个目标数据子库,所述N个目标数据子库属于所述目标数据库;按照所述第一数据迁移映射信息将所述待迁移数据迁移至所述目标数据库。实施本发明实施例,有利于实现将数据从源数据库迁移至目标数据库,满足未来场景中的多样化的存储需求。

Description

一种应用于分布式数据库的数据迁移方法和相关装置
技术领域
本发明涉及计算机技术领域,尤其涉及一种应用于分布式数据库的数据迁移方法和相关装置。
背景技术
随着大数据时代的到来,对存储的要求也越来越高。随着日益增长的数据量,一个数据库往往无法满足存储的需求。因此,企业希望可以将存储在数据库中的数据迁移至另一个数据库时,以此来满足海量数据的存储。
在现有技术中,从一个数据库迁移至另一个数据库时,由于数据库与数据库之间的表结构不同而无法将数据从源数据库迁移至目标数据库,难以满足未来场景中的多样化的存储需求。
发明内容
本发明实施例提供了一种应用于分布式数据库的数据迁移方法和相关装置,实施本发明实施例,实现将数据从源数据库迁移至目标数据库,满足未来场景中的多样化的存储需求。
本发明第一方面提供了一种应用于分布式数据库的数据迁移方法,包括:
从源数据库中获取待迁移数据,其中,所述待迁移数据属于N个源数据表,N为正整数;
建立所述源数据库与目标数据库之间的第一数据迁移映射信息,其中,所述第一数据迁移映射信息用于表示所述N个源数据表与所述目标数据库的N个目标数据表之间的映射关系,所述N个目标数据表中的每个目标数据表属于N个目标数据子库中的每个目标数据子库,所述N个目标数据子库属于所述目标数据库;
按照所述第一数据迁移映射信息将所述待迁移数据迁移至所述目标数据库。
本发明第二方面提供了一种服务器,包括:
获取模块,用于从源数据库中获取待迁移数据,其中,所述待迁移数据属于N个源数据表,N为正整数;
建立模块,用于建立所述源数据库与目标数据库之间的第一数据迁移映射信息,其中,所述第一数据迁移映射信息用于表示所述N个源数据表与所述目标数据库的N个目标数据表之间的映射关系,所述N个目标数据表中的每个目标数据表属于N个目标数据子库中的每个目标数据子库,所述N个目标数据子库属于所述目标数据库;
迁移模块,用于按照所述第一数据迁移映射信息将所述待迁移数据迁移至所述目标数据库。
本发明第三方面提供了一种计算机可读存储介质,所述计算机可读存储介质用于存储计算机程序,所述存储计算机程序被所述处理器执行,以实现数据迁移方法任一项所述的方法。
可以看出,上述技术方案中,先从源数据库中获取待迁移数据,其中,所述待迁移数据属于N个源数据表,为后续将待迁移数据迁移至目标数据库做准备,同时,可以看出,待迁移数据可属于不同的源数据表,也可以属于同一源数据表;
接着,建立所述源数据库与目标数据库之间的第一数据迁移映射信息,其中,所述第一数据迁移映射信息用于表示所述N个源数据表与所述目标数据库的N个目标数据表之间的映射关系,所述N个目标数据表中的每个目标数据表属于N个目标数据子库中的每个目标数据子库,所述N个目标数据子库属于所述目标数据库,从这里可以看出,通过建立第一数据迁移映射信息实现确定待迁移数据即将迁移到目标数据库的位置,这里的位置可以是多个的源数据表对应不同目标数据子库的不同目标数据表,也可以是一个的源数据表对应一个目标数据子库的一个目标数据表;最后,按照所述第一数据迁移映射信息将所述待迁移数据迁移至所述目标数据库,实现了将数据从源数据库迁移至目标数据库,也实现了在目标数据库的分库分表,满足了未来场景中的多样化的存储需求。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
其中:
图1-a为本发明一个实施例提供的一种应用于分布式数据库的数据迁移方法的流程示意图;
图1-b为本发明又一个实施例提供的一种服务器的架构示意图;
图2为本发明又一个实施例提供的一种应用于分布式数据库的数据迁移方法的流程示意图;
图3为本发明一个实施例提供的一种服务器的示意图;
图4为本申请的实施例涉及的硬件运行环境的服务器结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
以下分别进行详细说明。
本发明的说明书和权利要求书及所述附图中的术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、***、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
首先,参见图1-a和图1-b,图1-a为本发明的一个实施例提供的一种应用于分布式数据库的数据迁移方法的流程示意图。图1-a所示方案可在图1-b所示架构的***中来具体的实施例。其中,如图1-a所示,本发明的一个实施例提供的一种应用于分布式数据库的数据迁移方法可以包括:
101、服务器从源数据库中获取待迁移数据。
其中,所述待迁移数据属于N个源数据表,N为正整数。
其中,N例如可等于1、2、3、5、6、11、13、20或其他值。
其中,源数据库例如可以包括:分布式数据库。
其中,源数据表是对所有的数据软件抽象出来的数据结构,包括字段、索引和键等信息。
102、服务器建立所述源数据库与目标数据库之间的第一数据迁移映射信息。
其中,所述第一数据迁移映射信息用于表示所述N个源数据表与所述目标数据库的N个目标数据表之间的映射关系,所述N个目标数据表中的每个目标数据表属于N个目标数据子库中的每个目标数据子库,所述N个目标数据子库属于所述目标数据库。
其中,目标数据库例如可以包括:分布式数据库。
其中,目标数据表是对所有的数据软件抽象出来的数据结构,包括字段、索引和键等信息。
103、服务器按照所述第一数据迁移映射信息将所述待迁移数据迁移至所述目标数据库。
参见图2,图2为本发明的又一个实施例提供的一种应用于分布式数据库的数据迁移方法的流程示意图。其中,如图2所示,本发明的又一个实施例提供的一种应用于分布式数据库的数据迁移方法可以包括:
201、服务器获取配置信息。
其中,所述配置信息包括源数据库地址、源数据库用户名、源数据库密码。
这里的源数据库地址例如可以包括:域名、IP地址(Internet Protocol,互联网协议)、IP地址+端口号。
202、服务器根据所述源数据库地址向所述源数据库发送第一登录请求,其中,所述第一登录请求携带所述源数据库用户名和所述源数据库密码,所述第一登录请求用于指示所述源数据库根据所述源数据库用户名和所述源数据库密码进行身份验证,在身份验证通过时向服务器发送第一登录响应。
在本申请中,源数据库通过源数据库用户名和源数据库密码验证服务器具备对源数据库进行读写操作的权限。
203、服务器根据所述第一登录响应与所述源数据库建立连接。
204、服务器从源数据库中获取待迁移数据。
其中,所述待迁移数据属于N个源数据表,N为正整数。
其中,N例如可等于1、2、3、5、6、11、13、20或其他值。
其中,源数据库例如可以包括:分布式数据库。
其中,源数据表是对所有的数据软件抽象出来的数据结构,包括字段、索引和键等信息。
可选的,在本申请一种可能的实施方式中,所述配置信息还包括目标数据库地址、目标数据库用户名和目标数据库密码,在所述从源数据库中获取待迁移数据之前,所述方法还包括:
根据所述目标数据库地址向所述目标数据库发送第二登录请求,其中,所述第二登录请求携带所述目标数据库用户名和所述目标数据库密码,所述第二登录请求用于指示所述目标数据库根据所述目标数据库用户名和所述目标数据库密码进行身份验证,在身份验证通过时向服务器发送第二登录响应;
根据所述第二登录响应与所述目标数据库建立连接。
这里的目标数据库地址例如可以包括:域名、IP地址(Internet Protocol,互联网协议)、IP地址+端口号。
在本申请中,目标数据库通过目标数据库用户名和目标数据库密码验证服务器具备对目标数据库进行读写操作的权限。
可选的,在本申请一种可能的实施方式中,所述从源数据库中获取待迁移数据,包括:
从所述源数据库中获取所有源数据表的数据,以得到M条数据,其中,M为正整数;
从所述M条数据中将不属于所述N个源数据表的数据删除,以得到所述待迁移数据。
其中,M例如可等于1、2、3、5、6、11、13、20或其他值。
进一步的,服务器通过命令行式shell(Command Line Interface shell,即CLIshell)从源数据库中获取源数据库中所有源数据表的数据。
具体的,该命令行式shell例如可以包括:mysqldump,其中,mysqldump是mysql(关系型数据库管理***)用于转存储数据库的实用程序。
进一步的,服务器通过mysqldump从源数据库的关系型数据库服务(RelationalDatabase Service,RDS)中得到源数据库中所有源数据表的数据,接着,服务器通过SED将所有源数据表的数据中不属于N个源数据表的数据删除,以得到所述待迁移数据。
其中,SED是一项Linux指令。
205、服务器建立所述源数据库与目标数据库之间的第一数据迁移映射信息。
其中,所述第一数据迁移映射信息用于表示所述N个源数据表与所述目标数据库的N个目标数据表之间的映射关系,所述N个目标数据表中的每个目标数据表属于N个目标数据子库中的每个目标数据子库,所述N个目标数据子库属于所述目标数据库。
其中,目标数据库例如可以包括:分布式数据库。
其中,目标数据表是对所有的数据软件抽象出来的数据结构,包括字段、索引和键等信息。
可选的,源数据库与目标数据库的分片策略相同,该分片策略为取模的方式分配。
206、服务器按照所述第一数据迁移映射信息将所述待迁移数据迁移至所述目标数据库。
可选的,第一方面,在本申请的一种可能实施方式,在所述按照所述第一数据迁移映射信息将所述待迁移数据迁移至所述目标数据库之后,所述方法还包括:
检测所述N个目标数据表中是否存在所述待迁移数据;
若所述N个目标数据表中不存在所述待迁移数据,则检测所述源数据库与所述目标数据库的分片策略是否相同;
若所述源数据库与所述目标数据库的分片策略不同,则将所述目标数据库的分片策略调整为所述源数据库的分片策略。
可选的,基于第一方面,在本申请的第一种可能实施方式,所述方法还包括:
若所述N个目标数据表中存在所述待迁移数据,则确定与所述N个目标数据表包含的所述待迁移数据对应的重要等级;
按照所述重要等级对所述待迁移数据设置存储期限;
获取与所述重要等级对应的预设存储期限;
在所述存储期限超过预设存储期限时,将所述N个目标数据表包含的所述待迁移数据删除。
可选的,基于第一方面或第一方面的第一种可能的实施方式,在本申请的第二种可能实施方式,所述确定与所述N个目标数据表包含的所述待迁移数据对应的重要等级,包括:
提取所述待迁移数据中包含的H个关键字段,其中,H为正整数;
将所述H个关键字段与G个预设关键字段进行对比,以确定所述H个关键字段中是否存在与所述G个预设关键字段相同的J个关键字段,其中,G为大于或等于H的整数,J为小于或等于H的正整数;
若所述H个关键字段中存在与所述G个预设关键字段相同的J个关键字段,则获取与J个关键字段对应的关键字段权重,以得到J个关键字段权重;
确定所述J个关键字段权重中关键字段权重最大的第一关键字段权重;
从重要等级函数库中获取与所述第一关键字段权重对应的重要等级函数;
将所述J个关键字段权重分别输入所述重要等级函数,得到所述重要等级。
其中,H例如可等于1、2、3、5、6、11、13、20或其他值。
其中,G例如可等于1、2、3、5、6、11、13、20或其他值。
其中,J例如可等于1、2、3、5、6、11、13、20或其他值。
其中,不同关键字段权重对应与不同的重要等级函数。
可选的,在本申请的一种可能实施方式,所述方法还包括:
获取第一位点信息;
按照所述第一位点信息获取所述源数据库的日志,其中,所述源数据库的日志用于记录所述源数据库的数据变更时对应的结构化查询语言;
根据所述源数据库的日志获取所述源数据库中的变更数据,其中,所述源数据库中的变更数据属于L个源数据表,L为正整数;
建立所述源数据库与所述目标数据库之间的第二数据迁移映射信息,其中,所述第二数据迁移映射信息用于表示所述L个源数据表与所述目标数据库的L个目标数据表之间的映射关系,所述L个目标数据表中的每个目标数据表属于L个目标数据子库中的每个目标数据子库,所述L个目标数据子库属于所述目标数据库;
按照所述第二数据迁移映射信息将所述源数据库中的变更数据迁移至所述目标数据库。
其中,结构化查询语言不包括数据查询语言。
其中,L例如可等于1、2、3、5、6、11、13、20或其他值。
其中,所述第一位点信息至少包括第一起始位点信息和第一结束位点信息的任意一种。
可选的,第一位点信息用于指示服务器从与第一位点信息匹配的位置点获取所述源数据库的日志。
进一步的,第一起始位点信息包含在日志中。该日志为binlog,binlog是一个二进制格式的文件,用于记录用户对数据库更新的SQL语句信息,例如更改数据库、更改数据表的语句都会记录到binlog里,但对数据库或者数据表的查询语句不会记录到binlog里。
举例来说,当第一位点信息是第一起始位点信息时,服务器则从第一起始位点信息开始,获取日志。当第一位点信息包括第一起始位点信息和第一结束位点信息时,服务器则获取第一起始位点信息至第一结束位点信息之间的日志。当第一位点信息是第一结束位点信息时,服务器则从第一起始结束信息开始,获取日志。
具体的,服务器通过分布式数据库同步***按照所述第一位点信息获取所述源数据库的日志。
可以看出,上述技术方案中,通过获取第一位点信息,以按照第一位点信息获取源数据库的日志,从而实现根据源数据库的日志获取源数据库中的变更数据,以按照第二数据迁移映射信息将源数据库中的变更数据迁移至目标数据库,从而在源数据库有数据变动时,将源数据库中的变更数据迁移至目标数据库,换句话来说,实现对源数据库中实时数据的迁移,确保源数据库与目标数据库的实时同步。
可选的,在本申请的一种可能实施方式,所述方法还包括:
获取第二位点信息;
按照所述第二位点信息获取所述目标数据库的日志,其中,所述目标数据库的日志用于记录所述目标数据库的数据变更时对应的结构化查询语言;
根据所述目标数据库的日志获取所述目标数据库中的变更数据,其中,所述目标数据库中的变更数据属于K个目标数据表,K为正整数;
建立所述源数据库与所述目标数据库之间的第三数据迁移映射信息,其中,所述第三数据迁移映射信息用于表示所述K个目标数据表与所述源数据库的K个源数据表之间的映射关系,所述K个源数据表中的每个源数据表属于K个源数据子库中的每个目标数据子库,所述K个源数据子库属于所述源数据库;
按照所述第三数据迁移映射信息将所述目标数据库中的变更数据迁移至所述源数据库。
其中,结构化查询语言不包括数据查询语言。
其中,K例如可等于1、2、3、5、6、11、13、20或其他值。
其中,所述第二位点信息至少包括第二起始位点信息和第二结束位点信息的任意一种。
可选的,第二位点信息用于指示服务器从与第二位点信息匹配的位置点获取所述目标数据库的日志。
进一步的,第第二起始位点信息包含在日志中。该日志为binlog,binlog是一个二进制格式的文件,用于记录用户对数据库更新的SQL语句信息,例如更改数据库、更改数据表的语句都会记录到binlog里,但对数据库或者数据表的查询语句不会记录到binlog里。
举例来说,当第二位点信息是第二起始位点信息时,服务器则从第二起始位点信息开始,获取日志。当第二位点信息包括第二起始位点信息和第二结束位点信息时,服务器则获取第二起始位点信息至第二结束位点信息之间的日志。当第二位点信息是第二结束位点信息时,服务器则从第二起始结束信息开始,获取日志。
具体的,服务器通过分布式数据库同步***按照所述第二位点信息获取所述目标数据库的日志。
可以看出,上述技术方案中,通过获取第二位点信息,以按照第二位点信息获取目标数据库的日志,从而实现根据目标数据库的日志获取目标数据库中的变更数据,以按照第三数据迁移映射信息将目标数据库中的变更数据迁移至源数据库,从而在目标数据库有数据变动时,将目标数据库中的变更数据迁移至源数据库,换句话来说,实现对目标数据库中实时数据的迁移,确保目标数据库与源数据库的实时同步。
参见图3,图3为本发明的一个实施例提供的一种服务器的示意图。其中,如图3所示,本发明的一个实施例提供的一种服务器300可以包括:
获取模块301,用于从源数据库中获取待迁移数据。
其中,所述待迁移数据属于N个源数据表,N为正整数。
其中,N例如可等于1、2、3、5、6、11、13、20或其他值。
其中,源数据库例如可以包括:分布式数据库。
其中,源数据表是对所有的数据软件抽象出来的数据结构,包括字段、索引和键等信息。
建立模块302,用于建立所述源数据库与目标数据库之间的第一数据迁移映射信息。
其中,所述第一数据迁移映射信息用于表示所述N个源数据表与所述目标数据库的N个目标数据表之间的映射关系,所述N个目标数据表中的每个目标数据表属于N个目标数据子库中的每个目标数据子库,所述N个目标数据子库属于所述目标数据库。
其中,目标数据库例如可以包括:分布式数据库。
其中,目标数据表是对所有的数据软件抽象出来的数据结构,包括字段、索引和键等信息。
迁移模块303,用于按照所述第一数据迁移映射信息将所述待迁移数据迁移至所述目标数据库。
参见图4,图4为本申请的实施例涉及的硬件运行环境的服务器结构示意图。其中,如图4所示,本申请的实施例涉及的硬件运行环境的服务器可以包括:
处理器401,例如CPU。
存储器402,可选的,存储器可以为高速RAM存储器,也可以是稳定的存储器,例如磁盘存储器。
通信接口403,用于实现处理器401和存储器402之间的连接通信。
本领域技术人员可以理解,图4中示出的服务器的结构并不构成对其的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图4所示,存储器402中可以包括操作***、网络通信模块以及数据处理的程序。操作***是管理和控制服务器硬件和软件资源的程序,支持人员管理的程序以及其他软件或程序的运行。网络通信模块用于实现存储器402内部各组件之间的通信,以及与服务器内部其他硬件和软件之间通信。
在图4所示的服务器中,处理器401用于执行存储器402中存储的数据迁移的程序,实现以下步骤:
从源数据库中获取待迁移数据,其中,所述待迁移数据属于N个源数据表,N为正整数;
建立所述源数据库与目标数据库之间的第一数据迁移映射信息,其中,所述第一数据迁移映射信息用于表示所述N个源数据表与所述目标数据库的N个目标数据表之间的映射关系,所述N个目标数据表中的每个目标数据表属于N个目标数据子库中的每个目标数据子库,所述N个目标数据子库属于所述目标数据库;
按照所述第一数据迁移映射信息将所述待迁移数据迁移至所述目标数据库。
本申请涉及的服务器的具体实施可参见上述数据迁移方法的各实施例,在此不做赘述。
本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质用于存储计算机程序,所述存储计算机程序被所述处理器执行,以实现以下步骤:
从源数据库中获取待迁移数据,其中,所述待迁移数据属于N个源数据表,N为正整数;
建立所述源数据库与目标数据库之间的第一数据迁移映射信息,其中,所述第一数据迁移映射信息用于表示所述N个源数据表与所述目标数据库的N个目标数据表之间的映射关系,所述N个目标数据表中的每个目标数据表属于N个目标数据子库中的每个目标数据子库,所述N个目标数据子库属于所述目标数据库;
按照所述第一数据迁移映射信息将所述待迁移数据迁移至所述目标数据库。
本申请涉及的计算机可读存储介质的具体实施可参见上述数据迁移方法的各实施例,在此不做赘述。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应所述知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应所述知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (10)

1.一种应用于分布式数据库的数据迁移方法,其特征在于,包括:
从源数据库中获取待迁移数据,其中,所述待迁移数据属于N个源数据表,N为正整数,所述源数据表是对所有的数据软件抽象出来的数据结构,该数据结构包括以下至少一项:字段、索引、键;
建立所述源数据库与目标数据库之间的第一数据迁移映射信息,其中,所述第一数据迁移映射信息用于表示所述N个源数据表与所述目标数据库的N个目标数据表之间的映射关系,所述N个目标数据表中的每个目标数据表属于N个目标数据子库中的每个目标数据子库,所述N个目标数据子库属于所述目标数据库;
按照所述第一数据迁移映射信息将所述待迁移数据迁移至所述目标数据库;
其中,所述方法还包括:
若所述N个目标数据表中存在所述待迁移数据,则确定与所述N个目标数据表包含的所述待迁移数据对应的重要等级;
按照所述重要等级对所述待迁移数据设置存储期限;
获取与所述重要等级对应的预设存储期限;
在所述存储期限超过预设存储期限时,将所述N个目标数据表包含的所述待迁移数据删除;
其中,所述确定与所述N个目标数据表包含的所述待迁移数据对应的重要等级,包括:
提取所述待迁移数据中包含的H个关键字段,其中,H为正整数;
将所述H个关键字段与G个预设关键字段进行对比,以确定所述H个关键字段中是否存在与所述G个预设关键字段相同的J个关键字段,其中,G为大于或等于H的整数,J为小于或等于H的正整数;
若所述H个关键字段中存在与所述G个预设关键字段相同的J个关键字段,则获取与J个关键字段对应的关键字段权重,以得到J个关键字段权重;
确定所述J个关键字段权重中关键字段权重最大的第一关键字段权重;
从重要等级函数库中获取与所述第一关键字段权重对应的重要等级函数;
将所述J个关键字段权重分别输入所述重要等级函数,得到所述重要等级。
2.根据权利要求1所述的方法,其特征在于,在所述从源数据库中获取待迁移数据之前,所述方法还包括:
获取配置信息,其中,所述配置信息包括源数据库地址、源数据库用户名和源数据库密码;
根据所述源数据库地址向所述源数据库发送第一登录请求,其中,所述第一登录请求携带所述源数据库用户名和所述源数据库密码,所述第一登录请求用于指示所述源数据库根据所述源数据库用户名和所述源数据库密码进行身份验证,在身份验证通过时向服务器发送第一登录响应;
根据所述第一登录响应与所述源数据库建立连接。
3.根据权利要求1所述的方法,其特征在于,所述从源数据库中获取待迁移数据,包括:
从所述源数据库中获取所有源数据表的数据,以得到M条数据,其中,M为正整数;
从所述M条数据中将不属于所述N个源数据表的数据删除,以得到所述待迁移数据。
4.根据权利要求1-3任意一项所述的方法,其特征在于,所述方法还包括:
获取第一位点信息;
按照所述第一位点信息获取所述源数据库的日志,其中,所述源数据库的日志用于记录所述源数据库的数据变更时对应的结构化查询语言;
根据所述源数据库的日志获取所述源数据库中的变更数据,其中,所述源数据库中的变更数据属于L个源数据表,L为正整数;
建立所述源数据库与所述目标数据库之间的第二数据迁移映射信息,其中,所述第二数据迁移映射信息用于表示所述L个源数据表与所述目标数据库的L个目标数据表之间的映射关系,所述L个目标数据表中的每个目标数据表属于L个目标数据子库中的每个目标数据子库,所述L个目标数据子库属于所述目标数据库;
按照所述第二数据迁移映射信息将所述源数据库中的变更数据迁移至所述目标数据库。
5.根据权利要求1-3任意一项所述的方法,其特征在于,所述方法还包括:
获取第二位点信息;
按照所述第二位点信息获取所述目标数据库的日志,其中,所述目标数据库的日志用于记录所述目标数据库的数据变更时对应的结构化查询语言;
根据所述目标数据库的日志获取所述目标数据库中的变更数据,其中,所述目标数据库中的变更数据属于K个目标数据表,K为正整数;
建立所述源数据库与所述目标数据库之间的第三数据迁移映射信息,其中,所述第三数据迁移映射信息用于表示所述K个目标数据表与所述源数据库的K个源数据表之间的映射关系,所述K个源数据表中的每个源数据表属于K个源数据子库中的每个目标数据子库,所述K个源数据子库属于所述源数据库;
按照所述第三数据迁移映射信息将所述目标数据库中的变更数据迁移至所述源数据库。
6.一种服务器,其特征在于,包括:
获取模块,用于从源数据库中获取待迁移数据,其中,所述待迁移数据属于N个源数据表,N为正整数,所述源数据表是对所有的数据软件抽象出来的数据结构,该数据结构包括以下至少一项:字段、索引、键;
建立模块,用于建立所述源数据库与目标数据库之间的第一数据迁移映射信息,其中,所述第一数据迁移映射信息用于表示所述N个源数据表与所述目标数据库的N个目标数据表之间的映射关系,所述N个目标数据表中的每个目标数据表属于N个目标数据子库中的每个目标数据子库,所述N个目标数据子库属于所述目标数据库;
迁移模块,用于按照所述第一数据迁移映射信息将所述待迁移数据迁移至所述目标数据库;
其中,所述服务器还具体用于:
若所述N个目标数据表中存在所述待迁移数据,则确定与所述N个目标数据表包含的所述待迁移数据对应的重要等级;
按照所述重要等级对所述待迁移数据设置存储期限;
获取与所述重要等级对应的预设存储期限;
在所述存储期限超过预设存储期限时,将所述N个目标数据表包含的所述待迁移数据删除;
其中,所述确定与所述N个目标数据表包含的所述待迁移数据对应的重要等级,包括:
提取所述待迁移数据中包含的H个关键字段,其中,H为正整数;
将所述H个关键字段与G个预设关键字段进行对比,以确定所述H个关键字段中是否存在与所述G个预设关键字段相同的J个关键字段,其中,G为大于或等于H的整数,J为小于或等于H的正整数;
若所述H个关键字段中存在与所述G个预设关键字段相同的J个关键字段,则获取与J个关键字段对应的关键字段权重,以得到J个关键字段权重;
确定所述J个关键字段权重中关键字段权重最大的第一关键字段权重;
从重要等级函数库中获取与所述第一关键字段权重对应的重要等级函数;
将所述J个关键字段权重分别输入所述重要等级函数,得到所述重要等级。
7.根据权利要求6所述的服务器,其特征在于,所述建立模块,还用于
获取配置信息,其中,所述配置信息包括源数据库地址、源数据库用户名和源数据库密码;
根据所述源数据库地址向所述源数据库发送第一登录请求,其中,所述第一登录请求携带所述源数据库用户名和所述源数据库密码,所述第一登录请求用于指示所述源数据库根据所述源数据库用户名和所述源数据库密码进行身份验证,在身份验证通过时向服务器发送第一登录响应;
根据所述第一登录响应与所述源数据库建立连接。
8.根据权利要求6所述的服务器,其特征在于,所述获取模块,具体用于
从所述源数据库中获取所有源数据表的数据,以得到M条数据,其中,M为正整数;
从所述M条数据中将不属于所述N个源数据表的数据删除,以得到所述待迁移数据。
9.根据权利要求6-8任意一项所述的服务器,其特征在于,所述迁移模块,还用于
获取第一位点信息;
按照所述第一位点信息获取所述源数据库的日志,其中,所述源数据库的日志用于记录所述源数据库的数据变更时对应的结构化查询语言;
根据所述源数据库的日志获取所述源数据库中的变更数据,其中,所述源数据库中的变更数据属于L个源数据表,L为正整数;
建立所述源数据库与所述目标数据库之间的第二数据迁移映射信息,其中,所述第二数据迁移映射信息用于表示所述L个源数据表与所述目标数据库的L个目标数据表之间的映射关系,所述L个目标数据表中的每个目标数据表属于L个目标数据子库中的每个目标数据子库,所述L个目标数据子库属于所述目标数据库;
按照所述第二数据迁移映射信息将所述源数据库中的变更数据迁移至所述目标数据库。
10.根据权利要求6-8任意一项所述的服务器,其特征在于,所述迁移模块,还用于
获取第二位点信息;
按照所述第二位点信息获取所述目标数据库的日志,其中,所述目标数据库的日志用于记录所述目标数据库的数据变更时对应的结构化查询语言;
根据所述目标数据库的日志获取所述目标数据库中的变更数据,其中,所述目标数据库中的变更数据属于K个目标数据表,K为正整数;
建立所述源数据库与所述目标数据库之间的第三数据迁移映射信息,其中,所述第三数据迁移映射信息用于表示所述K个目标数据表与所述源数据库的K个源数据表之间的映射关系,所述K个源数据表中的每个源数据表属于K个源数据子库中的每个目标数据子库,所述K个源数据子库属于所述源数据库;
按照所述第三数据迁移映射信息将所述目标数据库中的变更数据迁移至所述源数据库。
CN201910588284.3A 2019-06-28 2019-06-28 一种应用于分布式数据库的数据迁移方法和相关装置 Active CN110413595B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910588284.3A CN110413595B (zh) 2019-06-28 2019-06-28 一种应用于分布式数据库的数据迁移方法和相关装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910588284.3A CN110413595B (zh) 2019-06-28 2019-06-28 一种应用于分布式数据库的数据迁移方法和相关装置

Publications (2)

Publication Number Publication Date
CN110413595A CN110413595A (zh) 2019-11-05
CN110413595B true CN110413595B (zh) 2022-07-12

Family

ID=68360052

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910588284.3A Active CN110413595B (zh) 2019-06-28 2019-06-28 一种应用于分布式数据库的数据迁移方法和相关装置

Country Status (1)

Country Link
CN (1) CN110413595B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113051245A (zh) * 2019-12-26 2021-06-29 云丁网络技术(北京)有限公司 用于迁移数据的方法、装置及***
CN111258990B (zh) * 2020-02-17 2023-04-07 同盾控股有限公司 索引库数据迁移方法、装置、设备及存储介质
CN111708763B (zh) * 2020-06-18 2023-12-01 北京金山云网络技术有限公司 分片集群的数据迁移方法、装置和分片集群***
CN111930715A (zh) * 2020-07-16 2020-11-13 北京金山云网络技术有限公司 数据迁移方法、装置、计算机设备和存储介质
CN111831752B (zh) * 2020-07-20 2024-06-04 北京百度网讯科技有限公司 分布式数据库的空间整理方法、装置、设备以及存储介质
CN112948477A (zh) * 2021-03-31 2021-06-11 北京金山云网络技术有限公司 数据下档方法和装置、电子设备和存储介质
CN113590594A (zh) * 2021-08-25 2021-11-02 中国银行股份有限公司 银行数据库迁移方法及装置
CN114116681B (zh) * 2022-01-21 2022-07-15 阿里巴巴(中国)有限公司 数据迁移方法及装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106201354A (zh) * 2016-07-12 2016-12-07 乐视控股(北京)有限公司 数据存储方法及***
CN109299063A (zh) * 2018-07-02 2019-02-01 北京市天元网络技术股份有限公司 一种跨平台数据库迁移方法及***

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101674233B (zh) * 2008-09-12 2011-09-14 中国科学院声学研究所 基于彼得森图的存储网络***及数据读写方法
CN105243067B (zh) * 2014-07-07 2019-06-28 北京明略软件***有限公司 一种实现实时增量同步数据的方法及装置
CN105630778A (zh) * 2014-10-27 2016-06-01 青岛金讯网络工程有限公司 数据库数据迁移方法及***
CN107122355B (zh) * 2016-02-24 2021-07-06 阿里巴巴集团控股有限公司 数据迁移***和方法
CN107122360B (zh) * 2016-02-24 2021-06-15 阿里巴巴集团控股有限公司 数据迁移***和方法
CN106874389B (zh) * 2017-01-11 2023-04-07 腾讯科技(深圳)有限公司 数据的迁移方法和装置
US10241865B2 (en) * 2017-02-15 2019-03-26 International Business Machines Corporation Handling storage unit failure in a dispersed storage network
CN107357883A (zh) * 2017-06-30 2017-11-17 北京奇虎科技有限公司 数据迁移方法及装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106201354A (zh) * 2016-07-12 2016-12-07 乐视控股(北京)有限公司 数据存储方法及***
CN109299063A (zh) * 2018-07-02 2019-02-01 北京市天元网络技术股份有限公司 一种跨平台数据库迁移方法及***

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
面向大数据分布式存储的动态负载均衡算法;张栗粽,等;《计算机科学》;20170531;第44卷(第5期);第178-183页 *

Also Published As

Publication number Publication date
CN110413595A (zh) 2019-11-05

Similar Documents

Publication Publication Date Title
CN110413595B (zh) 一种应用于分布式数据库的数据迁移方法和相关装置
US11068449B2 (en) Data migration method, apparatus, and storage medium
CN106933854B (zh) 短链接处理方法、装置及服务器
JP4671332B2 (ja) ユーザ識別情報を変換するファイルサーバ
EP2922273A1 (en) Resource sharing method, apparatus, system, and terminal, and resource management center
CA3068345C (en) Witness blocks in blockchain applications
US10467424B2 (en) File system content based security
CN109063077B (zh) 一种基于弹性搜索的数据访问方法及装置
CN110990335B (zh) 日志归档方法、装置、设备及计算机可读存储介质
CN108563697B (zh) 一种数据处理方法、装置和存储介质
WO2017174013A1 (zh) 数据存储管理方法、装置及数据存储***
CN104410604A (zh) 实现大规模用户同时登录的SaaS服务***及其方法
US20220197913A1 (en) Tracking entity activity using computer generation of values for blockchain network entries
CN111274004B (zh) 进程实例管理方法、装置及计算机存储介质
EP3349416B1 (en) Relationship chain processing method and system, and storage medium
WO2020068680A1 (en) Identification of records for post-cloning tenant identifier translation
CN111752964A (zh) 基于数据接口的数据处理方法及装置
CN107526530B (zh) 数据处理方法和设备
CN114925044A (zh) 基于云存储的数据同步方法、装置、设备及存储介质
TW201629797A (zh) 用來進行檔案同步控制之方法與裝置
CN117009430A (zh) 数据管理方法、装置和存储介质及电子设备
CN109302446B (zh) 跨平台访问方法、装置、电子设备及存储介质
CN114422538B (zh) 多云存储***、多云数据读写方法及电子设备
US20170005895A1 (en) Information processing apparatus, failure management method, and computer-readable recording medium
US11709845B2 (en) Federation of data during query time in computing systems

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