CN110659259A - 数据库迁移方法、服务器以及计算机存储介质 - Google Patents

数据库迁移方法、服务器以及计算机存储介质 Download PDF

Info

Publication number
CN110659259A
CN110659259A CN201910826448.1A CN201910826448A CN110659259A CN 110659259 A CN110659259 A CN 110659259A CN 201910826448 A CN201910826448 A CN 201910826448A CN 110659259 A CN110659259 A CN 110659259A
Authority
CN
China
Prior art keywords
server
database
data
migrated
partition
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
Application number
CN201910826448.1A
Other languages
English (en)
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.)
Ping An Technology Shenzhen Co Ltd
Original Assignee
Ping An Technology Shenzhen 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 Ping An Technology Shenzhen Co Ltd filed Critical Ping An Technology Shenzhen Co Ltd
Priority to CN201910826448.1A priority Critical patent/CN110659259A/zh
Publication of CN110659259A publication Critical patent/CN110659259A/zh
Pending legal-status Critical Current

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/22Indexing; Data structures therefor; Storage structures
    • G06F16/2282Tablespace storage structures; Management thereof

Abstract

本申请提供了数据库迁移方法、服务器以及计算机存储介质,用于缩短表数据导入目标数据库所需的时间,提高移数据库待迁任务的迁移效率。方法包括:第一服务器接收第二服务器发送的指示信息,指示信息用于指示待迁移数据库的数据表结构,待迁移数据库为设于第二服务器并等待迁移至第一服务器的数据库;第一服务器新建与待迁移数据库的数据表结构相同的同构表;第一服务器将第二服务器发送的待迁移数据库的表数据导入同构表中;第一服务器在临时文件存放区中,将已导入表数据的同构表进行分区处理,得到分区表;第一服务器将分区表并行导入本地的目标数据库,完成待迁移数据库的迁移。

Description

数据库迁移方法、服务器以及计算机存储介质
技术领域
本申请涉及数据库领域,尤其涉及数据库迁移方法、服务器以及计算机存储介质。
背景技术
数据库(Database,DB)是按照数据结构来组织、存储和管理数据的仓库。数据库有很多种类型,从最简单的存储有各种数据的表格到能够进行海量数据存储的大型数据库系统都在各个方面得到了广泛的应用。在信息化社会,充分有效地管理和利用各类信息资源,是进行科学研究和决策管理的前提条件。数据库技术是管理信息系统、办公自动化系统、决策支持系统等各类信息系统的核心部分,是进行科学研究和决策管理的重要技术手段。显然,数据库的应用极其重要。
数据库维护为数据库管理工作中重要的一环,在数据库维护中,可备份系统数据,以便在系统瘫痪、故障等异常情况时进行系统恢复,保障数据安全。在实际的数据库维护中,可采取迁移数据库的方式,在异地服务器备份本地数据库的数据,进一步避免了本地数据库所属服务器出现硬件问题的不良影响。
而在企业级的数据库中,表数据的数据量往往是以TB为单位的,数据量较大,服务器在执行数据库迁移任务时,将其他服务器发送过来的表数据导入至本地的目标数据库中,需要耗费较长的导入时间以完成数据库迁移任务,这又为数据库迁移的应用带来了不便。
发明内容
本申请提供了数据库迁移方法、服务器以及计算机存储介质,用于缩短表数据导入目标数据库所需的时间,提高移数据库待迁任务的迁移效率。
本申请在第一方面,提供了数据库迁移方法,方法包括:
第一服务器接收第二服务器发送的指示信息,指示信息用于指示待迁移数据库的数据表结构,待迁移数据库为设于第二服务器并等待迁移至第一服务器的数据库;
第一服务器新建与待迁移数据库的数据表结构相同的同构表;
第一服务器将第二服务器发送的待迁移数据库的表数据导入同构表中;
第一服务器在临时文件存放区中,将已导入表数据的同构表进行分区处理,得到分区表;
第一服务器将分区表并行导入本地的目标数据库,完成待迁移数据库的迁移。
结合本申请第一方面,在本申请第一方面第一种可能的实现方式中,方法还包括:
第一服务器分别获取待迁移数据库的数据类型以及目标数据库的数据类型;
第一服务器检测待迁移数据库的数据类型以及目标数据库的数据类型是否相同;
若不同,则第一服务器在临时文件存放区中,将分区表的数据类型转换为目标数据库的数据类型。
结合本申请第一方面,在本申请第一方面第二种可能的实现方式中,第一服务器将分区表导入目标数据库具体包括:
第一服务器检测分区表是否存在具有依赖关系的表数据;
若存在,则第一服务器在将具有依赖关系的表数据导入目标数据库的过程中,根据预设检测周期检测具有依赖关系的表数据是否已完全导入目标数据库;
若未完全导入目标数据库,则第一服务器等待至具有依赖关系的表数据已完全导入目标数据库时,再将分区表中剩余的表数据导入目标数据库。
结合本申请第一方面,在本申请第一方面第三种可能的实现方式中,方法还包括:
第一服务器接收第二数据库发送的数据库迁移请求;
第一服务器根据数据库迁移请求,建立第一服务器与第二服务器的临时数据传输连接;
在第一服务器根据临时数据传输连接接收完第二服务器发送的待迁移数据库的表数据后,第一服务器关闭临时数据传输连接。
结合本申请第一方面第三种可能的实现方式,在本申请第一方面第四种可能的实现方式中,第一服务器在临时文件存放区中,将导入表数据的同构表进行分区处理,得到分区表包括:
第一服务器获取数据库迁移请求中携带的分区规则;
第一服务器在临时文件存放区中,将导入表数据的同构表根据分区规则进行分区处理,得到分区表。
结合本申请第一方面第四种可能的实现方式,在本申请第一方面第五种可能的实现方式中,分区规则包括事件信息、实体对象信息、虚拟对象信息以及日期信息。
结合本申请第一方面,在本申请第一方面第六种可能的实现方式中,方法还包括:
当第一服务器将分区表导入目标数据库时,第一服务器向第二服务器发送反馈信息,反馈信息用于指示第一服务器已完成待迁移数据库的数据库迁移任务。
本申请在第二方面,提供了第一服务器,第一服务器包括:
接收单元,用于接收第二服务器发送的指示信息,指示信息用于指示待迁移数据库的数据表结构,待迁移数据库为设于第二服务器并等待迁移至第一服务器的数据库;
构建单元,构建与待迁移数据库的数据表结构对应的同构表;
导入单元,用于将第二服务器发送的待迁移数据库的表数据导入同构表中;
分区单元,用于在临时文件存放区中,将已导入表数据的同构表进行分区处理,得到分区表;
导入单元,还用于将分区表并行导入本地的目标数据库,完成待迁移数据库的迁移。
结合本申请第二方面,在本申请第二方面第一种可能的实现方式中,第一服务器还包括:
获取单元,用于分别获取待迁移数据库的数据类型以及目标数据库的数据类型;
检测单元,用于检测待迁移数据库的数据类型以及目标数据库的数据类型是否相同,若不同,则触发转换单元;
转换单元,用于在临时文件存放区中,将分区表的数据类型转换为目标数据库的数据类型。
结合本申请第二方面,在本申请第二方面第二种可能的实现方式中,导入单元,具体用于:
检测分区表是否存在具有依赖关系的表数据;
若存在,则将具有依赖关系的表数据导入目标数据库的过程中,根据预设检测周期检测具有依赖关系的表数据是否已完全导入目标数据库;
若未完全导入目标数据库,则等待至具有依赖关系的表数据已完全导入目标数据库时,再将分区表中剩余的表数据导入目标数据库。
结合本申请第二方面,在本申请第二方面第三种可能的实现方式中,接收单元,还用于:
接收第二数据库发送的数据库迁移请求;
第一服务器还包括:
建立单元,用于根据数据库迁移请求,建立第一服务器与第二服务器之间的临时数据传输连接;
关闭单元,用于在第一服务器根据临时数据传输连接接收完第二服务器发送的待迁移数据库的表数据后,关闭临时数据传输连接。
结合本申请第二方面第三种可能的实现方式,在本申请第二方面第四种可能的实现方式中,分区单元,具体用于:
获取数据库迁移请求中携带的分区规则;
在临时文件存放区中,将导入表数据的同构表根据分区规则进行分区处理,得到分区表。
结合本申请第二方面第四种可能的实现方式,在本申请第二方面第五种可能的实现方式中,分区规则包括事件信息、实体对象信息、虚拟对象信息以及日期信息。
结合本申请第二方面,在本申请第二方面第六种可能的实现方式中,第一服务器还包括:
发送单元,用于当导入单元将分区表导入目标数据库时,向第二服务器发送反馈信息,反馈信息用于指示第一服务器已完成待迁移数据库的数据库迁移任务。
本申请在第三方面,提供了服务器,服务器包括处理器以及存储器,存储器用于存储程序代码,处理器用于调用存储器中存储的程序代码来执行如第一方面所述的数据库迁移方法。
本申请在第四方面,提供了计算机存储介质,其包括指令,当其在计算机上运行时,使得计算机执行如第一方面所述的数据库迁移方法。
从以上可看出,本申请所能实现的有益效果包括:
第一服务器在获取到待迁移数据库的同构表以及将待迁移数据库的表数据导入该同构表后,第一服务器先在临时文件存放区中,将该同构表进行分区处理,得到分区表,从而可将分区表并行导入目标数据库中完成待迁移数据库的迁移任务,其中,由于实现了多并发方式,因此可大大缩短数据导入目标数据库所需的时间,提高移数据库待迁任务的迁移效率。
附图说明
图1为本申请数据库迁移方法的一种流程示意图;
图2为本申请数据库迁移方法的又一种流程示意图;
图3为本申请数据库迁移方法的又一种流程示意图;
图4为本申请数据库迁移方法的又一种流程示意图;
图5为本申请数据库迁移方法的又一种流程示意图;
图6为本申请数服务器的一种结构示意图;
图7为本申请数服务器的又一种结构示意图。
具体实施方式
本申请提供了数据库迁移方法、服务器以及计算机存储介质,用于缩短表数据导入目标数据库所需的时间,提高移数据库待迁任务的迁移效率。
首先,介绍本申请涉及的服务器(包括第一服务器以及第二服务器),以及数据库(包括待迁移数据库以及目标数据库)。
在本申请中,服务器为用于提供计算服务器,具有高速的运算处理能力,在工作人员的设置下配置了相关的数据库,服务器可以为独立运行的服务器设备,或者也可以为服务器设备集群。
数据库通过程序代码配置于服务器中,用于提供数据库的数据存储服务,数据库中的数据,通过表的数据结构进行管理,工作人员可对数据库进行新增、截取、更新或者删除等操作,数据库的数据存储结构可以分为关系型以及非关系型,具体可以为Oracle、MySQL、SQL Server、DB2或者Sybas等数据库产品。
在本申请中,第一服务器在将待迁移数据库从第二服务器迁移至本地时,通过应用本申请的数据库迁移方法,采用多并发方式,可提高待迁移数据库的迁移效率。
下面,开始详细介绍本申请的具体内容。
参阅图1,图1示出了本申请数据库迁移方法的一种流程示意图,具体的,本申请数据库迁移方法,可包括如下步骤:
步骤S101,第一服务器接收第二服务器发送的指示信息;
指示信息用于指示待迁移数据库的数据表结构,待迁移数据库为设于第二服务器并等待迁移至第一服务器的数据库。
在本申请中,待迁移数据库的迁移任务,可以由第一服务器触发,或者也可由第二服务器触发,该迁移任务的任务信息中,标识了待迁移数据库的原地址(第二服务器)以及目标迁移地址(第一服务器)。
在触发或者说确定待迁移数据库的迁移任务后,第二服务器可根据该任务指向的第一服务器的地址,向其发送上述的指示信息,以指示第二服务器本地的待迁移数据库的数据表结构,并触发第一服务器执行本申请数据库迁移方法的后续处理。
步骤S102,第一服务器新建与待迁移数据库的数据表结构相同的同构表;
在接收到第二服务器发送的指示信息后,第一服务器可从该指示信息中的预留字段中,提取用指示待迁移数据库的数据表结构的标识信息。
可以理解,同一数据库产品,在实际应用中,由于其存储信息、管理方式等条件的不同,在具体的数据存储过程中,也会导致数据表结构的不同,一适应实际的数据存储需求。
因此,在本申请中,第一服务器先在本地新建一与待迁移数据库的数据表结构相同的同构表。
应当注意的是,此时的同构表为新建的表,即,为未写入具体数据的新表。
步骤S103,第一服务器将第二服务器发送的待迁移数据库的表数据导入同构表中;
第二服务器在数据库迁移过程中,除了向第一服务器发送上述的指示信息,还想第一服务器发送待迁移数据库的表数据。
可以理解,数据库迁移的实质本地是为了迁移数据库中的表数据,而上述同构表的建立,则是为了容纳、存储以及封装这些表数据。
因此,在接收到第二服务器发送的待迁移数据库的表数据后,第一服务器即可将待迁移数据库的表数据导入上述步骤S102新建的同构表中。
步骤S104,第一服务器在临时文件存放区中,将已导入表数据的同构表进行分区处理,得到分区表;
在本申请中,可以理解,在得到已导入表数据的同构表时,仍未完成本次的数据库迁移迁移本任务,同构表还需导入数据库迁移任务的目标数据库。
在现有技术中,第一服务器在执行数据库迁移任务时,直接将第二服务器发送的表数据导入至本地的目标数据库中,在该导入过程中,若表数据的数据量较大,则意味着较长的导入时间,而在企业级的数据库中,往往表数据的数据量是以TB为单位的,因此,现有技术中的数据库迁移方式,需要较长的导入时间,业务服务以及相关的工作人员需付出较长的等待时间,且这对于重要的数据来说,较长的导入时间往往会伴随着较大的变数,例如停电、宕机或者人员误触等突发事件,这也导一定程度上存在数据库迁移失败的风险。
而在本申请中,则先将第二服务器发送的表数据,导入新建的同构表中,再将该同构表,在为本次数据库迁移任务配置的临时文件存放区,进行分区处理,得到区分表。
可以理解,分区表中包括不同的表分区,分散在不连续的物理存储位置上,可提供多个不同的输入/输出(Input/Output,I/O)接口,因此,第一服务器可在同一时间,对不同的表分区分别进行读写,提高同构表的访问性能上限。
数据库在进行分区处理时,可添加标识,以便检索不同区的数据,定位到对应的物理存储位置。
步骤S105,第一服务器将分区表并行导入本地的目标数据库,完成待迁移数据库的迁移。
在得到同构表对应的分区表后,此时,第一服务器即可利用上述分区表的优势,访问不同表分区的I/O接口,并向将不同的表分区的表数据,在较短的时间内并行导入本次数据库迁移任务的目标数据库中,完成待迁移数据库的迁移。
在并行将分区表导入至目标数据库后,第一服务器即可通过目标数据库的运行,进行数据读写或者更新维护等操作。
从上述可看出,第一服务器在获取到待迁移数据库的同构表以及将待迁移数据库的表数据导入该同构表后,第一服务器先在临时文件存放区中,将该同构表进行分区处理,得到分区表,从而可将分区表并行导入目标数据库中完成待迁移数据库的迁移任务,其中,由于实现了多并发方式,因此可大大缩短表数据导入目标数据库所需的时间,提高移数据库待迁任务的迁移效率。
在一种可选的实施例中,为提高本申请数据库迁移方法的兼容性,参阅图2示出的本申请数据库迁移方法的又一种流程示意图,图1对应实施例中,还可包括如下步骤:
步骤S201,第一服务器分别获取待迁移数据库的数据类型以及目标数据库的数据类型;
具体的,第一服务器在待迁移数据库以及目标数据库中的数据检索数据库名称,例如,若大量检索出“oralce”关键字,则可将该数据库识别为oracle数据库;或者,也可调取数据库的属性信息,可以理解,数据库部署在服务器上时,会配置注册表、版本信息等配置文件,这些配置文件中包含了数据库的属性信息,该属性信息中可携带数据库的数据库类型的信息。
步骤S202,第一服务器检测待迁移数据库的数据类型以及目标数据库的数据类型是否相同,若不同,则触发步骤S203;
在得到待迁移数据库以及目标数据库的数据库类型后,第一服务器即可进行比对,在两者属于不同类型的数据库后,执行后续的步骤S203。
步骤S203,第一服务器在临时文件存放区中,将分区表的数据类型转换为目标数据库的数据类型。
第一服务器可按照数据库类型的不同,更换表结构,并进行关键字的替换、增减等操作,将分区表的数据类型转换为目标数据库的数据类型,以适配目标数据库的数据存储结构。
可以理解,第一服务器可直接将第二服务器发送过来的表数据进行数据类型的转换,但是,在本申请中由于还对该表数据进行了分区处理,在上文已提及,多个的分区表可提供多个的I/O接口,为此,也可并行进行一个并行处理的数据类型转换,这也大大提高了数据转换的转换效率,从而,在待迁移数据库与目标数据库的数据库类型不同时,分区表的设置,不仅提高了兼容性,还可缩短数据转换所需的转换时间,提高迁移效率,该设置较为适用于实际应用中进行数据库系统升级的应用场景。
在又一种可选的实施例中,参阅图3,图3示出了本申请数据库迁移方法的又一种流程示意图,在上述图1对应实施例步骤S105中,具体可还包括如下优化设置:
步骤S301,第一服务器检测分区表是否存在具有依赖关系的表数据,若存在,则触发步骤S302;
可以理解,在一些表数据中,表数据之间具有依赖关系,该依赖关系需保持完整以实现使用效果。
为保证这些表数据的依赖关系的留存,保护依赖关系的完整性,在将分区表并行导入目标数据库的过程中,第一服务器还可定时监测这些表数据的导入状态。
首先,第一服务器先识别出分区表中的表数据是否存在具有依赖关系的表数据,可以理解,具有依赖关系的表数据,可通过依赖标识、映射关系信息等方式识别得到。
步骤S302,第一服务器在将具有依赖关系的表数据导入目标数据库的过程中,根据预设检测周期检测具有依赖关系的表数据是否已完全导入目标数据库,若未完全导入目标数据库,则触发步骤S303;
在识别出具有依赖关系的表数据后,在将这些表数据开始导入目标数据库时,第一服务器即可定时监控他们的导入进度,若未完成,则执行步骤S303;若完成,则继续导入分区表中剩余的表数据。
步骤S303,第一服务器等待至具有依赖关系的表数据已完全导入目标数据库时,再将分区表中剩余的表数据导入目标数据库。
为保证具有依赖关系的表数据的完整性,在本申请中,第一服务器则将这些表数据与其他表数据区分开,在导入这些具有依赖关系的表数据时,不再同时导入新的表数据,待这些具有依赖关系的表数据导入完,再继续导入分区表中剩余的表数据,以完成待迁移数据库的迁移。
由此,在导入这些具有依赖关系的表数据时,避免其他表数据的干扰,保证了其依赖关系的完整性。
在实际应用中,上述的监测周期,或者说扫描周期,可设置为2分钟、3分钟或者5分钟不等,具体不做限定。
在又一种实施例中,参阅图4,图4示出了本申请数据库迁移方法的又一种流程示意图,在图1对应实施例中,具体还可包括如下步骤:
步骤S401,第一服务器接收第二数据库发送的数据库迁移请求;
可以理解,在该场景下,由第二服务器根据数据库迁移请求触发本次的数据库迁移任务。
进一步的,该数据库迁移请求还可携带有上述图1对应实施例中步骤S101提及的指示信息,以便节省信令消息的发送成本。
步骤S402,第一服务器根据数据库迁移请求,建立第一服务器与第二服务器的临时数据传输连接;
接着,第一服务器在触发本次的数据库迁移任务后,第一服务器可建立本次数据库迁移任务的专用连接。
可以理解,第一服务器与第二服务器之间,原本可存在一些连接,用于正常工作的信令交互,为避免占用过多原有连接的网络资源,或者影响到原有连接涉及的正常工作,以及便于将本次数据库迁移任务与服务器原有工作任务进行划分,则可采用本次数据库迁移任务的专用连接,该专用连接还可配置较大的带宽,保证表数据可在第一时间内完成传输,节省计算压力以及处理事件。
步骤S403,在第一服务器根据临时数据传输连接接收完第二服务器发送的待迁移数据库的表数据后,第一服务器关闭临时数据传输连接。
在通过本次数据库迁移人物的专用连接-临时数据传输连接,传输完待迁移数据库的表数据后,第一服务器即可将其关闭,释放网络资源。
其中,由于第一服务器与第二服务器之间的数据传输连接为临时设置的,针对于本次数据库迁移任务具有较高的时效性,因此,不仅可节约第一服务器与第二服务器之间的数据传输连接的维持成本,且还可促进数据的安全保密性。
此外,该临时数据传输连接,还可引入加密设置,以进一步提高数据的安全保密性。
在又一种实施例中,参阅图5,图5示出了本申请数据库迁移方法的又一种流程示意图,在图1对应实施例中,步骤S104具体可包括如下步骤:
步骤S501,第一服务器获取数据库迁移请求中携带的分区规则;
可以理解,在图4对应实施例中,第二服务器发过来的数据库迁移请求,预留字段中还可携带待迁移数据库对应的分区规则,该分区规则用于指示将同构表分成何种不同区块的数据表。
具体的,以一存储业务信息的数据库为例,分区规则可根据业务信息的具体特性,包括事件信息、实体对象信息、虚拟对象信息以及日期信息,根据这4个不同的信息类型,进行分区处理。
对应的,在目标数据库的数据库应用中,初步检索时,目标数据库也可先根据事件、实体对象、虚拟对象或者日期的区分,简化检索范围;再根据具体的不同事件、不同实体对象、不同虚拟对象或者不同日期,继续简化检索范围,从而快速且精准地定位至目标表数据。
步骤S502,第一服务器在临时文件存放区中,将导入表数据的同构表根据分区规则进行分区处理,得到分区表。
在从数据库迁移请求中提取出分区规则后,第一服务器即按照该分区规则,对同构表进行分区处理,得到分区表。
在又一种实施例中,图1对应实施例中执行完步骤S105之后,第一服务器还可向第二服务器发送反馈信息,以指示第一服务器已完成待迁移数据库的数据库迁移任务,如此第二服务器侧可对待迁移数据库进行数据库的更新、卸载、维护等操作。
以上是本申请数据库迁移方法的说明,下面则开始介绍本申请的服务器。
参阅图6,图6示出了本申请服务器的一种结构示意图,具体的,第一服务器可包括:
接收单元601,用于接收第二服务器发送的指示信息,指示信息用于指示待迁移数据库的数据表结构,待迁移数据库为设于第二服务器并等待迁移至第一服务器的数据库;
构建单元602,构建与待迁移数据库的数据表结构对应的同构表;
导入单元603,用于将第二服务器发送的待迁移数据库的表数据导入同构表中;
分区单元604,用于在临时文件存放区中,将已导入表数据的同构表进行分区处理,得到分区表;
导入单元603,还用于将分区表并行导入本地的目标数据库,完成待迁移数据库的迁移。
在一种可能的实施例中,第一服务器还可包括:
获取单元605,用于分别获取待迁移数据库的数据类型以及目标数据库的数据类型;
检测单元606,用于检测待迁移数据库的数据类型以及目标数据库的数据类型是否相同,若不同,则触发转换单元607;
转换单元607,用于在临时文件存放区中,将分区表的数据类型转换为目标数据库的数据类型。
在又一种可能的实施例中,导入单元603,具体可用于:
检测分区表是否存在具有依赖关系的表数据;
若存在,则将具有依赖关系的表数据导入目标数据库的过程中,根据预设检测周期检测具有依赖关系的表数据是否已完全导入目标数据库;
若未完全导入目标数据库,则等待至具有依赖关系的表数据已完全导入目标数据库时,再将分区表中剩余的表数据导入目标数据库。
在又一种可能的实施例中,接收单元601,还用于:
接收第二数据库发送的数据库迁移请求;
第一服务器还可包括:
建立单元608,用于根据数据库迁移请求,建立第一服务器与第二服务器之间的临时数据传输连接;
关闭单元609,用于在第一服务器根据临时数据传输连接接收完第二服务器发送的待迁移数据库的表数据后,关闭临时数据传输连接。
在又一种可能的实施例中,分区单元604,具体可用于:
获取数据库迁移请求中携带的分区规则;
在临时文件存放区中,将导入表数据的同构表根据分区规则进行分区处理,得到分区表。
在又一种可能的实施例中,分区规则可包括事件信息、实体对象信息、虚拟对象信息以及日期信息。
在又一种可能的实施例中,第一服务器还可包括:
发送单元610,用于当导入单元将分区表导入目标数据库时,向第二服务器发送反馈信息,反馈信息用于指示第一服务器已完成待迁移数据库的数据库迁移任务。
上面是从模块化功能实体的角度介绍了本申请中的服务器,以下则从硬件结构角度介绍本申请的服务器。
参阅图7,图7示出了本申请服务器的一种结构示意图,服务器包括:处理器701、存储器702,存储器702用于存储程序代码,处理器701用于调用存储器702中存储的程序代码来执行如图1至图5对应实施例中数据库迁移方法;或者,处理器701调用存储器702中存储的程序代码来执行上述图6对应实施例中各单元的功能。
处理器701可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,处理器是服务器的控制中心,利用各种接口和线路连接整个服务器的各个部分。
存储器702可用于存储计算机程序和/或模块,处理器701通过运行或执行存储在存储器702内的计算机程序和/或模块,以及调用存储在存储器702内的数据,实现服务器的各种功能。存储器702可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据服务器的使用所创建的数据(比如音频数据、视频数据等)等。此外,存储器702可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(FlashCard)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
服务器还可包括输入输出单元,处理器701、存储器702以及输入输出单元可通过总线连接。
输入输出单元也可以用输入单元和输出单元代替,可以为相同或者不同的物理实体。为相同的物理实体时,可以统称为输入输出单元。该输入输出单元可以为收发器。
存储器702可以集成在处理器701中,也可以与处理器701分开设置。
本申请还提供一种计算机存储介质,其上存储有计算机程序,当其在计算机上运行时,使得计算机执行如图1至图5对应实施例中的数据库迁移方法。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器或者网络设备等)执行本发申请各个实施例所述的方法。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的服务器及其单元的具体工作过程,可以参考图1至图5对应实施例中数据库迁移方法的说明,具体在此不再赘述。
综上所述,本申请提供的数据库迁移方法、服务器以及计算机存储介质,第一服务器在获取到待迁移数据库的同构表以及将待迁移数据库的表数据导入该同构表后,第一服务器先在临时文件存放区中,将该同构表进行分区处理,得到分区表,从而可将分区表并行导入目标数据库中完成待迁移数据库的迁移任务,其中,由于实现了多并发方式,因此可大大缩短数据导入目标数据库所需的时间,提高移数据库待迁任务的迁移效率。
上面结合附图对本申请的实施例进行了描述,但是本申请并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本申请的启示下,在不脱离本申请宗旨和权利要求所保护的范围情况下,还可做出很多形式,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,这些均属于本申请的保护之内。

Claims (10)

1.一种数据库迁移方法,其特征在于,所述方法包括:
第一服务器接收第二服务器发送的指示信息,所述指示信息用于指示待迁移数据库的数据表结构,所述待迁移数据库为设于第二服务器并等待迁移至所述第一服务器的数据库;
所述第一服务器新建与所述待迁移数据库的数据表结构相同的同构表;
所述第一服务器将所述第二服务器发送的所述待迁移数据库的表数据导入所述同构表中;
所述第一服务器在临时文件存放区中,将已导入所述表数据的所述同构表进行分区处理,得到分区表;
所述第一服务器将所述分区表并行导入本地的目标数据库,完成所述待迁移数据库的迁移。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述第一服务器分别获取所述待迁移数据库的数据类型以及所述目标数据库的数据类型;
所述第一服务器检测所述待迁移数据库的数据类型以及所述目标数据库的数据类型是否相同;
若不同,则所述第一服务器在所述临时文件存放区中,将所述分区表的数据类型转换为所述目标数据库的数据类型。
3.根据权利要求1所述的方法,其特征在于,所述第一服务器将所述分区表并行导入本地的目标数据库包括:
第一服务器检测所述分区表是否存在具有依赖关系的表数据;
若存在,则所述第一服务器在将所述具有依赖关系的表数据导入所述目标数据库的过程中,根据预设检测周期检测所述具有依赖关系的表数据是否已完全导入所述目标数据库;
若未完全导入所述目标数据库,则所述第一服务器等待至所述具有依赖关系的表数据已完全导入所述目标数据库时,再将所述分区表中剩余的表数据导入所述目标数据库。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述第一服务器接收所述第二数据库发送的数据库迁移请求;
所述第一服务器根据所述数据库迁移请求,建立所述第一服务器与所述第二服务器的临时数据传输连接;
在所述第一服务器根据所述临时数据传输连接接收完所述第二服务器发送的所述待迁移数据库的表数据后,所述第一服务器关闭是临时数据传输连接。
5.根据权利要求4所述的方法,其特征在于,所述第一服务器在临时文件存放区中,将导入所述表数据的所述同构表进行分区处理,得到分区表包括:
所述第一服务器获取所述数据库迁移请求中携带的分区规则;
所述第一服务器在所述临时文件存放区中,将导入所述表数据的所述同构表根据所述分区规则进行分区处理,得到所述分区表。
6.根据权利要求5所述的方法,其特征在于,所述分区规则包括事件信息、实体对象信息、虚拟对象信息以及日期信息。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当所述第一服务器将所述分区表导入目标数据库时,所述第一服务器向所述第二服务器发送反馈信息,所述反馈信息用于指示所述第一服务器已完成所述待迁移数据库的数据库迁移任务。
8.一种第一服务器,其特征在于,所述第一服务器包括:
接收单元,用于接收第二服务器发送的指示信息,所述指示信息用于指示待迁移数据库的数据表结构,所述待迁移数据库为设于第二服务器并等待迁移至所述第一服务器的数据库;
构建单元,构建与所述待迁移数据库的数据表结构对应的同构表;
导入单元,用于将所述第二服务器发送的所述待迁移数据库的表数据导入所述同构表中;
分区单元,用于在临时文件存放区中,将已导入所述表数据的所述同构表进行分区处理,得到分区表;
所述导入单元,还用于将所述分区表并行导入本地的目标数据库,完成所述待迁移数据库的迁移。
9.一种服务器,其特征在于,所述服务器包括处理器以及存储器,所述存储器用于存储程序代码,所述处理器用于调用所述存储器中存储的程序代码来执行如权利要求1至7中任一项所述的方法。
10.一种计算机存储介质,其特征在于,其包括指令,当其在计算机上运行时,使得计算机执行如权利要求1至7中任一项所述的方法。
CN201910826448.1A 2019-09-03 2019-09-03 数据库迁移方法、服务器以及计算机存储介质 Pending CN110659259A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910826448.1A CN110659259A (zh) 2019-09-03 2019-09-03 数据库迁移方法、服务器以及计算机存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910826448.1A CN110659259A (zh) 2019-09-03 2019-09-03 数据库迁移方法、服务器以及计算机存储介质

Publications (1)

Publication Number Publication Date
CN110659259A true CN110659259A (zh) 2020-01-07

Family

ID=69036665

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910826448.1A Pending CN110659259A (zh) 2019-09-03 2019-09-03 数据库迁移方法、服务器以及计算机存储介质

Country Status (1)

Country Link
CN (1) CN110659259A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111930721A (zh) * 2020-09-11 2020-11-13 山东钢铁集团日照有限公司 一种多属性连续性工业生产数据的整合方法
CN112148713A (zh) * 2020-09-29 2020-12-29 中国银行股份有限公司 异构数据库之间数据迁移方法及装置
CN112540969A (zh) * 2020-11-26 2021-03-23 南京纯白矩阵科技有限公司 一种异构区块链间智能合约的数据迁移方法
CN112579569A (zh) * 2020-12-15 2021-03-30 中国建设银行股份有限公司 一种数据迁移方法和装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080263001A1 (en) * 2002-12-19 2008-10-23 International Business Machines Corporation System and method for automating data partitioning in a parallel database
CN106020959A (zh) * 2016-05-24 2016-10-12 郑州悉知信息科技股份有限公司 一种数据迁移方法和装置
CN106874389A (zh) * 2017-01-11 2017-06-20 腾讯科技(深圳)有限公司 数据的迁移方法和装置
CN110019140A (zh) * 2017-12-29 2019-07-16 华为技术有限公司 数据迁移方法、装置、设备以及计算机可读存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080263001A1 (en) * 2002-12-19 2008-10-23 International Business Machines Corporation System and method for automating data partitioning in a parallel database
CN106020959A (zh) * 2016-05-24 2016-10-12 郑州悉知信息科技股份有限公司 一种数据迁移方法和装置
CN106874389A (zh) * 2017-01-11 2017-06-20 腾讯科技(深圳)有限公司 数据的迁移方法和装置
CN110019140A (zh) * 2017-12-29 2019-07-16 华为技术有限公司 数据迁移方法、装置、设备以及计算机可读存储介质

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111930721A (zh) * 2020-09-11 2020-11-13 山东钢铁集团日照有限公司 一种多属性连续性工业生产数据的整合方法
CN112148713A (zh) * 2020-09-29 2020-12-29 中国银行股份有限公司 异构数据库之间数据迁移方法及装置
CN112148713B (zh) * 2020-09-29 2024-04-16 中国银行股份有限公司 异构数据库之间数据迁移方法及装置
CN112540969A (zh) * 2020-11-26 2021-03-23 南京纯白矩阵科技有限公司 一种异构区块链间智能合约的数据迁移方法
CN112540969B (zh) * 2020-11-26 2023-07-14 南京纯白矩阵科技有限公司 一种异构区块链间智能合约的数据迁移方法
CN112579569A (zh) * 2020-12-15 2021-03-30 中国建设银行股份有限公司 一种数据迁移方法和装置

Similar Documents

Publication Publication Date Title
CN110659259A (zh) 数据库迁移方法、服务器以及计算机存储介质
CN107122360B (zh) 数据迁移系统和方法
CN107220142B (zh) 执行数据恢复操作的方法及装置
CN107122361B (zh) 数据迁移系统和方法
CN110795257A (zh) 处理多集群作业记录的方法、装置、设备及存储介质
CN108804253B (zh) 一种用于海量数据备份的并行作业备份方法
US20210081358A1 (en) Background dataset maintenance
CN110225078B (zh) 一种应用服务更新方法、系统及终端设备
CN109739828B (zh) 一种数据处理方法、设备及计算机可读存储介质
CN110825694A (zh) 数据处理方法、装置、设备和存储介质
CN104572394A (zh) 进程监控方法及装置
CN105446794A (zh) 一种基于虚拟机的磁盘操作方法、装置及系统
US20230259358A1 (en) Documentation enforcement during compilation
CN111737227A (zh) 数据修改方法及系统
CN111240892A (zh) 数据备份方法及装置
CN111611276A (zh) 数据查询方法、装置及存储介质
CN109857596B (zh) 时间一致性备份方法、设备、系统、装置及存储介质
CN114356504A (zh) 集群中数据迁移方法、装置、电子设备和存储介质
CN114356521A (zh) 任务调度方法、装置、电子设备及存储介质
CN110941629A (zh) 元数据处理方法、装置、设备及计算机可读存储介质
CN110209736A (zh) 区块链数据处理的装置、方法及存储介质
US20160170869A9 (en) Systems and methods for in-place reorganization of device storage
CN113296891A (zh) 基于平台的多场景知识图谱处理方法及装置
CN113836237A (zh) 对数据库的数据操作进行审计的方法及装置
CN104317660A (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