CN111666338B - 数据复制方法、控制节点及电子设备 - Google Patents

数据复制方法、控制节点及电子设备 Download PDF

Info

Publication number
CN111666338B
CN111666338B CN202010452847.9A CN202010452847A CN111666338B CN 111666338 B CN111666338 B CN 111666338B CN 202010452847 A CN202010452847 A CN 202010452847A CN 111666338 B CN111666338 B CN 111666338B
Authority
CN
China
Prior art keywords
node
job
target data
data replication
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
CN202010452847.9A
Other languages
English (en)
Other versions
CN111666338A (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.)
Industrial and Commercial Bank of China Ltd ICBC
Original Assignee
Industrial and Commercial Bank of China Ltd ICBC
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 Industrial and Commercial Bank of China Ltd ICBC filed Critical Industrial and Commercial Bank of China Ltd ICBC
Priority to CN202010452847.9A priority Critical patent/CN111666338B/zh
Publication of CN111666338A publication Critical patent/CN111666338A/zh
Application granted granted Critical
Publication of CN111666338B publication Critical patent/CN111666338B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5038Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5021Priority
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请实施例提供一种数据复制方法、控制节点及电子设备,方法包括:实时或定时获取目标数据复制作业对应的作业优先级、作业任务量、源数据库和目标数据库;根据目标数据复制作业的作业优先级及作业任务量在分布式的多个处于可用状态的中转节点中选取至少一个作为用于提取源数据库中数据的第一中转节点,并在处于可用状态的中转节点中选取至少一个作为用于将数据存储至目标数据库的第二中转接点;基于导出节点自第一中转节点中获取源数据库中的与目标数据复制作业对应的目标数据;应用导入接点自第二中转节点将目标数据存储至目标数据库。本申请能够有效提高数据复制的灵活性、适用广泛性及高效性,使得数据能够在不同的数据系统之间高效的流转。

Description

数据复制方法、控制节点及电子设备
技术领域
本申请涉及数据处理技术领域,具体涉及数据复制方法、控制节点及电子设备。
背景技术
随着科技的飞速进步,数据复制技术的发展也呈现出日益强盛之势,这其中,有基于数据库层面的数据复制技术,例如Oracle公司的Active Data Gurad、IBM公司的db2HADR等;有基于系统层面的数据复制技术,例如赛门铁克的vxvm、传统的逻辑卷管理(LVM)、Oracle公司的自动存储管理(ASM)冗余技术、IBM公司的GPFS等;有基于存储虚拟化实现的数据复制技术,例如EMC公司VplexStretch Cluster、IBM公司SVC Split Cl uster、NetAPP公司Metro Cluster等;也有基于存储底层实现的数据复制技术,例如IBM公司的DS8000PPRC技术、EMC公司的SRDF技术、HP公司的CA技术等等。
目前,上述现有的数据复制技术往往需要在进行数据更新之前,根据数量复制的双方数据库的类型搭建一套同步的复制装备,无法灵活的解决应用的数据复制需求,如,定期准实时的备份数据库内某些表,某些表的某些字段,也无法解决异构数据库中的数据同步的需求,如一个批量系统到一个分析系统,从分析系统同步到批量系统,从mysql数据库到oracle数据库,从hadoop到mpp集群,集群与集群之间,数据库与数据库之间,灵活的复制数据。
也就是说,现有的数据复制方式因不支持定时复制和异构数据库之间的数据复制,而存在复制过程灵活性及适用性差的问题。
发明内容
针对现有技术中的问题,本申请提供一种数据复制方法、控制节点及电子设备,能够有效提高数据复制的灵活性、适用广泛性及高效性,使得数据能够在不同的数据系统之间高效的流转。
为解决上述技术问题,本申请提供以下技术方案:
第一方面,本申请提供一种数据复制方法,包括:
实时或定时获取目标数据复制作业对应的作业优先级、作业任务量、源数据库和目标数据库,其中,所述源数据库和目标数据库属于同源或者异构的数据库集群;
根据所述目标数据复制作业的作业优先级及作业任务量,在分布式设置的多个当前处于可用状态的中转节点中选取至少一个作为用于提取所述源数据库中数据的第一中转节点,并在当前处于可用状态的中转节点中选取至少一个作为用于将数据存储至所述目标数据库的第二中转接点,其中,各个所述中转节点分别设置在各个数据库中;
基于预设的导出节点自所述第一中转节点中获取所述源数据库中的与所述目标数据复制作业对应的目标数据;
应用预设的导入接点自所述第二中转节点将所述目标数据存储至所述目标数据库。
进一步地,在所述实时或定时获取目标数据复制作业对应的作业优先级、作业任务量、源数据库和目标数据库之前,还包括:
接收目标数据复制指令,其中,该目标数据复制指令中包含有用户配置信息;
基于所述用户配置信息生成包含有唯一标识的目标数据复制作业;
将所述目标数据复制作业加入预设的作业运行表中;
根据所述用户配置信息中的指令执行方式,实时或定时自所述作业运行表中提取所述目标数据复制作业。
进一步地,在所述实时或定时自所述作业运行表中提取所述目标数据复制作业之后,还包括:
基于所述目标数据复制作业的唯一标识,实时监测所述目标数据复制作业的执行情况,其中,所述执行情况包括目标数据复制作业的开始时间、结束时间、运行时长、运行状态以及对中转接点的占用情况;
若接收到针对所述目标数据复制作业的中断指令,则根据当前的所述目标数据复制作业的执行情况,控制该目标数据复制作业中止执行。
进一步地,还包括:
周期性接收各个所述中转节点分别发送的心跳包信息,其中,所述心跳包信息包括对应的中转节点的自身健康状态、网络状态、磁盘占用率和CPU利用率;
基于各个所述心跳包信息判断各个所述中转节点是否均处于可用状态,若存在处于不可用状态的中转节点,则将处于不可用状态的中转节点从预设的节点可用性列表中删除。
进一步地,若当前获取的目标数据复制作业的数量为多个,则在执行所述实时或定时获取目标数据复制作业对应的作业优先级、作业任务量、源数据库和目标数据库时,还包括:
获取各个所述目标数据复制作业之间的依赖关系及触发条件;
确定各个所述目标数据复制作业的并发数量,以基于该并发数量控制对应的目标数据复制作业并发执行。
进一步地,所述基于预设的导出节点自所述第一中转节点中获取所述源数据库中的与所述目标数据复制作业对应的目标数据,包括:
向所述导出节点发送针对所述目标数据复制作业的导出作业请求,以使所述导出节点在对该目标数据复制作业进行预查询及预处理后,应用所述第一中转节点提取所述源数据库中的与所述目标数据复制作业对应的目标数据;
接收所述导出节点发送的所述目标数据。
进一步地,所述应用预设的导入接点自所述第二中转节点将所述目标数据存储至所述目标数据库,包括:
向所述导入节点发送针对所述目标数据复制作业的导入作业请求,以使所述导入节点在对该目标数据复制作业进行预查询及预处理后,应用所述第二中转节点将所述目标数据存储至所述目标数据库,并生成对应的数据存储结果;
接收所述导入节点发送的所述数据存储结果。
进一步地,还包括:
应用预设的清理节点周期性删除各个所述数据库中在数据复制过程中出现的中间表、中转表和临时表,并周期性删除各个所述中转节点上的数据文件。
第二方面,本申请提供一种控制节点,包括:
作业执行信息获取模块,用于实时或定时获取目标数据复制作业对应的作业优先级、作业任务量、源数据库和目标数据库,其中,所述源数据库和目标数据库属于同源或者异构的数据库集群;
中转节点选取模块,用于根据所述目标数据复制作业的作业优先级及作业任务量,在分布式设置的多个当前处于可用状态的中转节点中选取至少一个作为用于提取所述源数据库中数据的第一中转节点,并在当前处于可用状态的中转节点中选取至少一个作为用于将数据存储至所述目标数据库的第二中转接点,其中,各个所述中转节点分别设置在各个数据库中;
数据导出模块,用于基于预设的导出节点自所述第一中转节点中获取所述源数据库中的与所述目标数据复制作业对应的目标数据;
数据导入模块,用于应用预设的导入接点自所述第二中转节点将所述目标数据存储至所述目标数据库。
进一步地,还包括:作业生成模块,该作业生成模块用于执行下述内容:
接收目标数据复制指令,其中,该目标数据复制指令中包含有用户配置信息;
基于所述用户配置信息生成包含有唯一标识的目标数据复制作业;
将所述目标数据复制作业加入预设的作业运行表中;
根据所述用户配置信息中的指令执行方式,实时或定时自所述作业运行表中提取所述目标数据复制作业。
进一步地,还包括:作业状态管理模块,该作业状态管理模块用于执行下述内容:
基于所述目标数据复制作业的唯一标识,实时监测所述目标数据复制作业的执行情况,其中,所述执行情况包括目标数据复制作业的开始时间、结束时间、运行时长、运行状态以及对中转接点的占用情况;
若接收到针对所述目标数据复制作业的中断指令,则根据当前的所述目标数据复制作业的执行情况,控制该目标数据复制作业中止执行。
进一步地,还包括:中转节点管理模块,该中转节点管理模块用于执行下述内容:
周期性接收各个所述中转节点分别发送的心跳包信息,其中,所述心跳包信息包括对应的中转节点的自身健康状态、网络状态、磁盘占用率和CPU利用率;
基于各个所述心跳包信息判断各个所述中转节点是否均处于可用状态,若存在处于不可用状态的中转节点,则将处于不可用状态的中转节点从预设的节点可用性列表中删除。
进一步地,若当前获取的目标数据复制作业的数量为多个,则所述控制节点还包括:
作业调度模块,用于获取各个所述目标数据复制作业之间的依赖关系及触发条件;
并发控制模块,用于确定各个所述目标数据复制作业的并发数量,以基于该并发数量控制对应的目标数据复制作业并发执行。
进一步地,所述数据导出模块包括:
导出请求发送单元,用于向所述导出节点发送针对所述目标数据复制作业的导出作业请求,以使所述导出节点在对该目标数据复制作业进行预查询及预处理后,应用所述第一中转节点提取所述源数据库中的与所述目标数据复制作业对应的目标数据;
目标数据接收单元,用于接收所述导出节点发送的所述目标数据。
进一步地,所述数据导入模块包括:
导入请求发送单元,用于向所述导入节点发送针对所述目标数据复制作业的导入作业请求,以使所述导入节点在对该目标数据复制作业进行预查询及预处理后,应用所述第二中转节点将所述目标数据存储至所述目标数据库,并生成对应的数据存储结果;
存储结果接收单元,用于接收所述导入节点发送的所述数据存储结果。
进一步地,还包括:
数据清理模块,用于应用预设的清理节点周期性删除各个所述数据库中在数据复制过程中出现的中间表、中转表和临时表,并周期性删除各个所述中转节点上的数据文件。
第三方面,本申请提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现所述的数据复制方法。
第四方面,本申请提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现所述的数据复制方法。
由上述技术方案可知,本申请提供的一种数据复制方法、控制节点及电子设备,方法包括:实时或定时获取目标数据复制作业对应的作业优先级、作业任务量、源数据库和目标数据库,其中,所述源数据库和目标数据库属于同源或者异构的数据库集群;根据所述目标数据复制作业的作业优先级及作业任务量,在分布式设置的多个当前处于可用状态的中转节点中选取至少一个作为用于提取所述源数据库中数据的第一中转节点,并在当前处于可用状态的中转节点中选取至少一个作为用于将数据存储至所述目标数据库的第二中转接点,其中,各个所述中转节点分别设置在各个数据库中;基于预设的导出节点自所述第一中转节点中获取所述源数据库中的与所述目标数据复制作业对应的目标数据;应用预设的导入接点自所述第二中转节点将所述目标数据存储至所述目标数据库,能够有效针对实时或定时复制指令进行数据复制,并能够有效实现同源和异构数据库之间的数据复制,无需在每次进行数据更新之前针对异构的数据库重新搭建复制系统,能够有效提高数据复制的灵活性、适用广泛性及高效性,使得数据能够在不同的数据系统之间高效的流转。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例中的数据复制方法的流程示意图。
图2是本申请实施例中的包含有步骤010至步骤040的数据复制方法的流程示意图。
图3是本申请实施例中的数据复制方法中步骤050和步骤060的流程示意图。
图4是本申请实施例中的数据复制方法中步骤070和步骤080的流程示意图。
图5是本申请实施例中的数据复制方法中步骤110和步骤120的流程示意图。
图6是本申请实施例中的数据复制方法中步骤300的具体流程示意图。
图7是本申请实施例中的数据复制方法中步骤400的具体流程示意图。
图8是本申请实施例中的包含有步骤090的数据复制方法的流程示意图。
图9是本申请实施例中的控制节点的第一种结构示意图。
图10是本申请实施例中的控制节点的第二种结构示意图。
图11是本申请实施例中的控制节点中数据导出模块的结构示意图。
图12是本申请实施例中的控制节点中数据导入模块的结构示意图。
图13是本申请应用实例中的数据复制系统的结构示意图。
图14是本申请应用实例中的数据复制系统中控制节点的运行流程示意图。
图15是本申请应用实例中的数据复制系统中导出节点的运行流程示意图。
图16是本申请应用实例中的数据复制系统中导入节点的运行流程示意图。
图17是本申请应用实例中的数据复制系统中的中转节点的运行流程示意图。
图18是本申请应用实例中的数据复制系统中的清理节点的运行流程示意图。
图19是本申请实施例中的电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
针对现有的数据复制方式因不支持定时复制和异构数据库之间的数据复制,而存在复制过程灵活性及适用性差的问题,本申请提供一种数据复制方法、用于执行所述数据复制方法的控制节点、电子设备和计算机可读存储介质,通过实时或定时获取目标数据复制作业对应的作业优先级、作业任务量、源数据库和目标数据库,其中,所述源数据库和目标数据库属于同源或者异构的数据库集群;根据所述目标数据复制作业的作业优先级及作业任务量,在分布式设置的多个当前处于可用状态的中转节点中选取至少一个作为用于提取所述源数据库中数据的第一中转节点,并在当前处于可用状态的中转节点中选取至少一个作为用于将数据存储至所述目标数据库的第二中转接点,其中,各个所述中转节点分别设置在各个数据库中;基于预设的导出节点自所述第一中转节点中获取所述源数据库中的与所述目标数据复制作业对应的目标数据;应用预设的导入接点自所述第二中转节点将所述目标数据存储至所述目标数据库,即通过控制节点、导出节点、导入节点和分布式设置的多个中转接点的协调应用,能够针对定时复制指令进行数据复制,且能够适用于异构数据库之间的数据复制,进而无需在每次进行数据更新之前针对异构的数据库重新搭建复制系统,能够有效提高数据复制的灵活性、适用广泛性及高效性,使得数据能够在不同的数据系统之间高效的流转。
可以理解的是,本申请的一个或多个实施例中提及的控制节点、导出节点、导入节点、中转接点和清理节点均可以采用服务器或客户端设备实现,具体根据实际应用情形设置。
具体通过下述多个实施例分别进行说明。
为了解决现有的数据复制方式存在因不支持定时复制和异构复制而造成的复制过程灵活性差的问题,本申请实施例提供一种应用控制节点实现的数据复制方法,参见图1,所述数据复制方法具体包含有如下内容:
步骤100:实时或定时获取目标数据复制作业对应的作业优先级、作业任务量、源数据库和目标数据库,其中,所述源数据库和目标数据库属于同源或者异构的数据库集群。
可以理解的是,所述源数据库和目标数据库是指当前的目标数据复制作业所涉及的数据库,其中的源数据库是指需要将待复制数据提取出来的数据库,其中的目标数据库是指用于存储自源数据库提取出来的带复制数据的数据库。
步骤200:根据所述目标数据复制作业的作业优先级及作业任务量,在分布式设置的多个当前处于可用状态的中转节点中选取至少一个作为用于提取所述源数据库中数据的第一中转节点,并在当前处于可用状态的中转节点中选取至少一个作为用于将数据存储至所述目标数据库的第二中转接点,其中,各个所述中转节点分别设置在各个数据库中。
在本申请的一个或多个实施例中,各个所述中转节点分别设置在各个数据库中,具体设置方式可以为中转节点部署在数据库客户端工具,用于存储落地的数据文件。其中,每个数据库均可以为源数据库或目标数据库,具体根据目标数据复制作业的指定内容来确定。
步骤300:基于预设的导出节点自所述第一中转节点中获取所述源数据库中的与所述目标数据复制作业对应的目标数据。
步骤400:应用预设的导入接点自所述第二中转节点将所述目标数据存储至所述目标数据库。
从上述描述可知,本申请实施例提供的数据复制方法,能够有效针对实时或定时复制指令进行数据复制,并能够有效实现同源和异构数据库之间的数据复制,有效提高数据复制的灵活性及高效性,使得数据能够在不同的数据系统之间高效的流转。
针对现有的数据复制方式存在的针对全量的数据库份,有的方法不支持断点续传的问题,在本申请提供的数据复制方法的一个实施例中,参见图2,所述数据复制方法的步骤100之前还具体包含有如下内容:
步骤010:接收目标数据复制指令,其中,该目标数据复制指令中包含有用户配置信息。
步骤020:基于所述用户配置信息生成包含有唯一标识的目标数据复制作业。
步骤030:将所述目标数据复制作业加入预设的作业运行表中。
步骤040:根据所述用户配置信息中的指令执行方式,实时或定时自所述作业运行表中提取所述目标数据复制作业。
从上述描述可知,本申请实施例提供的数据复制方法,根据用户的配置自动执行数据复制过程,能够进一步根据用户的配置灵活且自适应地执行数据复制过程,且自动化程度高,并能够有效提高用户体验。
针对现有的数据复制方式存在的复制任务无法根据需求停止数据的复制需求,以及缺乏有效的调度管理,无法了解作业提交历史,作业运行状态的问题,在本申请提供的数据复制方法的一个实施例中,参见图3,所述数据复制方法的步骤040之后还具体包含有如下内容:
步骤050:基于所述目标数据复制作业的唯一标识,实时监测所述目标数据复制作业的执行情况,其中,所述执行情况包括目标数据复制作业的开始时间、结束时间、运行时长、运行状态以及对中转接点的占用情况。
步骤060:若接收到针对所述目标数据复制作业的中断指令,则根据当前的所述目标数据复制作业的执行情况,控制该目标数据复制作业中止执行。
从上述描述可知,本申请实施例提供的数据复制方法,能够实现对数据复制作业的实时监控,且能够有效根据中断指令中止数据复制作业,进而满足用户停止数据复制的需求,进一步提高数据复制过程的灵活性,并能够有效提高用户体验。
为了实现对中转节点运行状态的实时监控,在本申请提供的数据复制方法的一个实施例中,参见图4,所述数据复制方法还具体包含有如下内容:
步骤070:周期性接收各个所述中转节点分别发送的心跳包信息,其中,所述心跳包信息包括对应的中转节点的自身健康状态、网络状态、磁盘占用率和CPU利用率。
步骤080:基于各个所述心跳包信息判断各个所述中转节点是否均处于可用状态,若存在处于不可用状态的中转节点,则将处于不可用状态的中转节点从预设的节点可用性列表中删除。
从上述描述可知,本申请实施例提供的数据复制方法,能够实现对中转节点运行状态的实时监控,且能够有效根据中转节点运行状态实时更新节点可用性列表,进而有效提高可用中转节点的选取效率及可靠性,进一步提高数据复制过程的效率。
为了实现多个作业之间的并发控制和调度,在本申请提供的数据复制方法的一个实施例中,参见图5,若当前获取的目标数据复制作业的数量为多个,则所述数据复制方法的步骤100在执行时,所述数据复制方法还具体包含有如下内容:
步骤110:获取各个所述目标数据复制作业之间的依赖关系及触发条件。
步骤120:确定各个所述目标数据复制作业的并发数量,以基于该并发数量控制对应的目标数据复制作业并发执行。
从上述描述可知,本申请实施例提供的数据复制方法,能够有效实现多个作业之间的并发控制和调度,进而进一步提高数据复制过程的效率。
为了提高数据自源数据库导出的可靠性及效率,在本申请提供的数据复制方法的一个实施例中,参见图6,所述数据复制方法的步骤300具体包含有如下内容:
步骤310:向所述导出节点发送针对所述目标数据复制作业的导出作业请求,以使所述导出节点在对该目标数据复制作业进行预查询及预处理后,应用所述第一中转节点提取所述源数据库中的与所述目标数据复制作业对应的目标数据。
步骤320:接收所述导出节点发送的所述目标数据。
从上述描述可知,本申请实施例提供的数据复制方法,能够有效提高数据自源数据库导出的可靠性及效率,以进一步提高数据复制过程的效率。
为了提高数据自源数据库导入的可靠性及效率,在本申请提供的数据复制方法的一个实施例中,参见图7,所述数据复制方法的步骤400具体包含有如下内容:
步骤410:向所述导入节点发送针对所述目标数据复制作业的导入作业请求,以使所述导入节点在对该目标数据复制作业进行预查询及预处理后,应用所述第二中转节点将所述目标数据存储至所述目标数据库,并生成对应的数据存储结果。
步骤420:接收所述导入节点发送的所述数据存储结果。
从上述描述可知,本申请实施例提供的数据复制方法,能够有效提高将数据导入到目标数据库的可靠性及效率,以进一步提高数据复制过程的效率。
为了防止数据过多导致中转节点处理不可用的状态,在本申请提供的数据复制方法的一个实施例中,参见图8,所述数据复制方法还具体包含有如下内容:
步骤090:应用预设的清理节点周期性删除各个所述数据库中在数据复制过程中出现的中间表、中转表和临时表,并周期性删除各个所述中转节点上的数据文件。
从上述描述可知,本申请实施例提供的数据复制方法,能够在数据成功从原数据库复制到目的数据库后,将对应的数据文件从指定的目录清除,防止数据过多导致中转节点处理不可用的状态,有效避免数据冗余,进一步提高数据复制过程的效率。
从软件层面来说,为了解决现有的数据复制方式存在因不支持定时复制和异构复制而造成的复制过程灵活性差的问题,本申请实施例提供一种用于实现所述数据复制方法中全部或部分内容的控制节点,参见图9,所述控制节点具体包含有如下内容:
作业执行信息获取模块10,用于实时或定时获取目标数据复制作业对应的作业优先级、作业任务量、源数据库和目标数据库,其中,所述源数据库和目标数据库属于同源或者异构的数据库集群。
中转节点选取模块20,用于根据所述目标数据复制作业的作业优先级及作业任务量,在分布式设置的多个当前处于可用状态的中转节点中选取至少一个作为用于提取所述源数据库中数据的第一中转节点,并在当前处于可用状态的中转节点中选取至少一个作为用于将数据存储至所述目标数据库的第二中转接点,其中,各个所述中转节点分别设置在各个数据库中。
数据导出模块30,用于基于预设的导出节点自所述第一中转节点中获取所述源数据库中的与所述目标数据复制作业对应的目标数据。
数据导入模块40,用于应用预设的导入接点自所述第二中转节点将所述目标数据存储至所述目标数据库。
从上述描述可知,本申请实施例提供的控制节点,能够有效针对实时或定时复制指令进行数据复制,并能够有效实现同源和异构数据库之间的数据复制,有效提高数据复制的灵活性及高效性,使得数据能够在不同的数据系统之间高效的流转。
针对现有的数据复制方式存在的复制任务无法根据需求停止数据的复制需求,以及缺乏有效的调度管理,无法了解作业提交历史,作业运行状态的问题,在本申请提供的控制节点的一个实施例中,参见图10,所述控制节点中还具体包含有如下内容:
作业生成模块01,该作业生成模块01用于执行下述内容:
步骤010:接收目标数据复制指令,其中,该目标数据复制指令中包含有用户配置信息。
步骤020:基于所述用户配置信息生成包含有唯一标识的目标数据复制作业。
步骤030:将所述目标数据复制作业加入预设的作业运行表中。
步骤040:根据所述用户配置信息中的指令执行方式,实时或定时自所述作业运行表中提取所述目标数据复制作业。
从上述描述可知,本申请实施例提供的控制节点,能够实现对数据复制作业的实时监控,且能够有效根据中断指令中止数据复制作业,进而满足用户停止数据复制的需求,进一步提高数据复制过程的灵活性,并能够有效提高用户体验。
为了实现对中转节点运行状态的实时监控,在本申请提供的控制节点的一个实施例中,参见图10,所述控制节点还具体包含有如下内容:
作业状态管理模块02,该作业状态管理模块02用于执行下述内容:
步骤050:基于所述目标数据复制作业的唯一标识,实时监测所述目标数据复制作业的执行情况,其中,所述执行情况包括目标数据复制作业的开始时间、结束时间、运行时长、运行状态以及对中转接点的占用情况。
步骤060:若接收到针对所述目标数据复制作业的中断指令,则根据当前的所述目标数据复制作业的执行情况,控制该目标数据复制作业中止执行。
从上述描述可知,本申请实施例提供的控制节点,能够实现对中转节点运行状态的实时监控,且能够有效根据中转节点运行状态实时更新节点可用性列表,进而有效提高可用中转节点的选取效率及可靠性,进一步提高数据复制过程的效率。
为了实现多个作业之间的并发控制和调度,在本申请提供的控制节点的一个实施例中,参见图10,若当前获取的目标数据复制作业的数量为多个,则所述控制节点还具体包含有如下内容:
中转节点管理模块03,该中转节点管理模块03用于执行下述内容:
步骤070:周期性接收各个所述中转节点分别发送的心跳包信息,其中,所述心跳包信息包括对应的中转节点的自身健康状态、网络状态、磁盘占用率和CPU利用率。
步骤080:基于各个所述心跳包信息判断各个所述中转节点是否均处于可用状态,若存在处于不可用状态的中转节点,则将处于不可用状态的中转节点从预设的节点可用性列表中删除。
从上述描述可知,本申请实施例提供的控制节点,能够实现对中转节点运行状态的实时监控,且能够有效根据中转节点运行状态实时更新节点可用性列表,进而有效提高可用中转节点的选取效率及可靠性,进一步提高数据复制过程的效率。
为了实现多个作业之间的并发控制和调度,在本申请提供的数据复制方法的一个实施例中,参见图10,若当前获取的目标数据复制作业的数量为多个,则所述控制节点还具体包含有如下内容:
作业调度模块04,用于获取各个所述目标数据复制作业之间的依赖关系及触发条件。
并发控制模块05,用于确定各个所述目标数据复制作业的并发数量,以基于该并发数量控制对应的目标数据复制作业并发执行。
从上述描述可知,本申请实施例提供的控制节点,能够有效实现多个作业之间的并发控制和调度,进而进一步提高数据复制过程的效率。
为了提高数据自源数据库导出的可靠性及效率,在本申请提供的控制节点的一个实施例中,参见图11,所述控制节点的数据导出模块30具体包含有如下内容:
导出请求发送单元31,用于向所述导出节点发送针对所述目标数据复制作业的导出作业请求,以使所述导出节点在对该目标数据复制作业进行预查询及预处理后,应用所述第一中转节点提取所述源数据库中的与所述目标数据复制作业对应的目标数据。
目标数据接收单元32,用于接收所述导出节点发送的所述目标数据。
从上述描述可知,本申请实施例提供的控制节点,能够有效提高数据自源数据库导出的可靠性及效率,以进一步提高数据复制过程的效率。
为了提高数据自源数据库导入的可靠性及效率,在本申请提供的控制节点的一个实施例中,参见图12,所述控制节点的数据导入模块40具体包含有如下内容:
导入请求发送单元41,用于向所述导入节点发送针对所述目标数据复制作业的导入作业请求,以使所述导入节点在对该目标数据复制作业进行预查询及预处理后,应用所述第二中转节点将所述目标数据存储至所述目标数据库,并生成对应的数据存储结果。
存储结果接收单元42,用于接收所述导入节点发送的所述数据存储结果。
从上述描述可知,本申请实施例提供的控制节点,能够有效提高将数据导入到目标数据库的可靠性及效率,以进一步提高数据复制过程的效率。
为了防止数据过多导致中转节点处理不可用的状态,在本申请提供的控制节点的一个实施例中,参见图10,所述控制节点还具体包含有如下内容:
数据清理模块50,用于应用预设的清理节点周期性删除各个所述数据库中在数据复制过程中出现的中间表、中转表和临时表,并周期性删除各个所述中转节点上的数据文件。
从上述描述可知,本申请实施例提供的控制节点,能够在数据成功从原数据库复制到目的数据库后,将对应的数据文件从指定的目录清除,防止数据过多导致中转节点处理不可用的状态,有效避免数据冗余,进一步提高数据复制过程的效率。
为进一步说明本方案,本申请还提供一种应用控制节点实现所述数据复制方法的具体应用实例,在该应用实例中,所述控制节点与导出节点、导入节点、中转节点以及清理节点之间协同作用,形成一种数据复制系统,具体来说,所述数据复制系统一共有五类节点:控制节点、导出节点、导入节点、中转节点以及清理节点。
(1)参见图13,控制节点t01为主,t02为备,主备节点数据同步,保证控制模块的高可用。控制节点负责作业的分发,作业状态的记录。
(2)中转节点n01、n02、n03和n04这四个节点相互独立,中转节点部署数据库客户端工具,存储落地的数据文件。接受导出节点或者导入节点的请求来导出或者导入数据文件。
(3)导出节点d01负责数据的导出过程,包括三个阶段导出预查询,导出预处理以及导出。
(4)导入节点d02负责数据的导入过程,包括三个阶段,导入预查询,导入预处理以及导入。
(5)清理节点c01负责数据文件的清理过程,当数据成功从原数据库复制到目的数据库后,将对应的数据文件从指定的目录清除,防止数据过多导致中转节点处理不可用的状态。
其中,控制节点的功能有:作业状态管理,中转节点管理,作业的调度,并发控制。为了对作业的运行状态进行有效的监控,设置了作业状态管理模块,记录作业的运行开始时间,结束时间,运行时长,状态的运行状态(待运行,运行,成功,失败),作业的唯一标示,对资源的占用情况(中转节点)。中转节点是相互独立的个体,存放落盘数据的节点,可以有效的扩展,根据落地数据量的大小来分配节点个数,它们形成了一个分布式的数据盘,为了更有效的管理它们,设置了中转节点管理模块。中转节点模块需要定期的和控制节点保持通讯,向控制节点发送心跳包,汇报自身的健康状态,网络状况,磁盘繁忙度,cpu利用率等信息,控制节点根据心跳包的信息来判断中转节点是否可用,对于不可用的节点,从节点可用性列表中剔除,重新加入可用节点,加入可用性列表。控制节点为了有效的利用中转节点的资源,设置了资源单元组,即将一组固定数量(可配置)的节点合并为一个单元,资源分配的最小单位为一个单元。当单元被分配给了复制作业,该单元就被锁定,直到作业成功或者失败才会被释放。这种单元的分配方式可以有效的分配资源,控制节点根据数据量的大小分配合适的资源,有效的控制数据传输量,有效的控制网络带宽。为短作业提供少的单元,为长作业分配多的单元,按需分配,从而提高整体的复制效率,提高并发量。作业的调度模块负责依赖解析,计算作业之间的依赖关系,谁先谁后;触发条件,满足触发条件的作业被调起;并发控制,作业的并发数;优先级,作业的优先程度,优先级高的作业先运行,优先级低的作业后运行。
具体来说,当控制节点收到应用程序的请求后,首先会为该作业生成唯一一个ID,然后将该作业记录在作业运行表中,并异步的从表中选取一条待运行的作业,参见图14。
S201,获取一个待运行的作业。
S202,计算作业的优先级别,任务量,分配合适的计算单元节点。
S203,将上述的作业提交给导出节点。
S204,导出成功后,将作业提交给导入节点。
S205,导入成功后,释放中转节点资源。
导出节点在控制节点计算好资源,分配好优先级后,开始导出。该模块支持多种的数据库导出,只需配置好对应的数据库客户端工具,利用数据库自带的客户端将文件落地,比如,oracle数据库的sqlplus和sqlloader,mpp数据库的gsql和gds。客户端和数据库建立连接后,查询导出表的结构信息,表的数据量,建立外表,建立临时表等,为导出做准备,参见图15。
S301,获取一个运行作业请求。
S302,导出预查询,在sql文本中加入唯一的运行标记,查询数据库。
S303,导出预处理,生成外表,临时表。
S304,开始导出。
S305,根据作业运行的返回结果,解析出是否需要重试,该装置定义了需要重试的多种场景,对满足场景的情况才重试,否则不重试。这在一定程度上可以有效的屏蔽集群的短暂故障,减少人为的重试次数。
S306,导出结束,将计算结果返回控制节点。
导入节点在导出成功后,接受到控制节点的导入请求,经过导入预查询,导入预处理导入这三个过程将数据导入到数据库中,参见图16。
S401,导入预查询会分析导入数据库中的表信息。
S402,导入预处理,建立导入的临时表,外表。判断视图做特殊处理。
S403,数据导入开始。
S404,根据作业运行的返回结果,解析出是否需要重试,该装置定义了需要重试的多种场景,对满足场景的情况才重试,否则不重试。这在一定程度上可以有效的屏蔽集群的短暂故障,减少人为的重试次数。
S405,导入执行结束,将计算结果返回控制节点。
中转节点接受导入节点或者导出节点的请求实施具体的数据的中转操作,先将数据从源集群导出,落地成文件,然后将本地数据文件导入到目标集群。中转节点相互之间是无状态的,分布式部署,根据数据量的大小自由扩展。数据文件根据分片导出到多台节点的多个目录中,有效的利用分布式的特性,共同协作,提高大数据的处理能力。中转节点在本地部署对应集群的数据同步工具,如oracle数据库的sqlplus,hadoop集群自带的客户端工具,通过客户端工具能集群交换数据,参见图17。
S501,建立和数据库的连接。通过外表的方式将集群的数据文件落地到本地的目录。
S502,将数据导出到对应节点的指定目录。
S503,待数据导出成功后将数据导入指定集群。
清理节点会定期的清理在数据同步过程中出现的中间数据,中间表,临时表。释放空间和资源,参见图18。
S601,从待删列表中取出一条记录。
S602,删除数据库中在数据同步过程中出现的中间表,中转表,临时表。
S603,删除中转节点上的数据文件。
从上述描述可知,本申请应用实例提供的数据复制系统,能够分布式部署,根据用户的定义和配置复制数据,复制方向可以自由选择。能自动屏蔽集群故障,做到高可用,高性能和高可靠。
从硬件层面来说,为了解决现有的数据复制方式存在因不支持定时复制和异构复制而造成的复制过程灵活性差的问题,本申请提供一种用于实现所述数据复制方法中的全部或部分内容的电子设备的实施例,所述电子设备具体包含有如下内容:
处理器(processor)、存储器(memory)、通信接口(Communications Interface)和总线;其中,所述处理器、存储器、通信接口通过所述总线完成相互间的通信;所述通信接口用于实现电子设备与用户终端以及相关数据库等相关设备之间的信息传输;该电子设备可以是台式计算机、平板电脑及移动终端等,本实施例不限于此。在本实施例中,该电子设备可以参照实施例中的数据复制方法的实施例,以及,控制节点的实施例进行实施,其内容被合并于此,重复之处不再赘述。
处理器(processor)、存储器(memory)、通信接口(Communications Interface)和总线;其中,所述处理器、存储器、通信接口通过所述总线完成相互间的通信;所述通信接口用于实现电子设备与用户终端以及相关数据库等相关设备之间的信息传输;该电子设备可以是台式计算机、平板电脑及移动终端等,本实施例不限于此。在本实施例中,该电子设备可以参照实施例中的数据复制方法的实施例,以及,控制节点的实施例进行实施,其内容被合并于此,重复之处不再赘述。
图19为本申请实施例的电子设备9600的系统构成的示意框图。如图19所示,该电子设备9600可以包括中央处理器9100和存储器9140;存储器9140耦合到中央处理器9100。值得注意的是,该图19是示例性的;还可以使用其他类型的结构,来补充或代替该结构,以实现电信功能或其他功能。
在一实施例中,数据复制功能可以被集成到中央处理器中。其中,中央处理器可以被配置为进行如下控制:
步骤100:实时或定时获取目标数据复制作业对应的作业优先级、作业任务量、源数据库和目标数据库,其中,所述源数据库和目标数据库属于同源或者异构的数据库集群。
可以理解的是,所述源数据库和目标数据库是指当前的目标数据复制作业所涉及的数据库,其中的源数据库是指需要将待复制数据提取出来的数据库,其中的目标数据库是指用于存储自源数据库提取出来的带复制数据的数据库。
步骤200:根据所述目标数据复制作业的作业优先级及作业任务量,在分布式设置的多个当前处于可用状态的中转节点中选取至少一个作为用于提取所述源数据库中数据的第一中转节点,并在当前处于可用状态的中转节点中选取至少一个作为用于将数据存储至所述目标数据库的第二中转接点,其中,各个所述中转节点分别设置在各个数据库中。
在本申请的一个或多个实施例中,各个所述中转节点分别设置在各个数据库中,具体设置方式可以为中转节点部署在数据库客户端工具,用于存储落地的数据文件。其中,每个数据库均可以为源数据库或目标数据库,具体根据目标数据复制作业的指定内容来确定。
步骤300:基于预设的导出节点自所述第一中转节点中获取所述源数据库中的与所述目标数据复制作业对应的目标数据。
步骤400:应用预设的导入接点自所述第二中转节点将所述目标数据存储至所述目标数据库。
从上述描述可知,本申请实施例提供的电子设备,能够有效针对实时或定时复制指令进行数据复制,并能够有效实现同源和异构数据库之间的数据复制,有效提高数据复制的灵活性及高效性,使得数据能够在不同的数据系统之间高效的流转。
在另一个实施方式中,控制节点可以与中央处理器9100分开配置,例如可以将控制节点配置为与中央处理器9100连接的芯片,通过中央处理器的控制来实现数据复制功能。
如图19所示,该电子设备9600还可以包括:通信模块9110、输入单元9120、音频处理器9130、显示器9160、电源9170。值得注意的是,电子设备9600也并不是必须要包括图19中所示的所有部件;此外,电子设备9600还可以包括图19中没有示出的部件,可以参考现有技术。
如图19所示,中央处理器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来播放本机上存储的声音。
本申请的实施例还提供能够实现上述实施例中的数据复制方法中全部步骤的一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中的执行主体为服务器或客户端的数据复制方法的全部步骤,例如,所述处理器执行所述计算机程序时实现下述步骤:
步骤100:实时或定时获取目标数据复制作业对应的作业优先级、作业任务量、源数据库和目标数据库,其中,所述源数据库和目标数据库属于同源或者异构的数据库集群。
可以理解的是,所述源数据库和目标数据库是指当前的目标数据复制作业所涉及的数据库,其中的源数据库是指需要将待复制数据提取出来的数据库,其中的目标数据库是指用于存储自源数据库提取出来的带复制数据的数据库。
步骤200:根据所述目标数据复制作业的作业优先级及作业任务量,在分布式设置的多个当前处于可用状态的中转节点中选取至少一个作为用于提取所述源数据库中数据的第一中转节点,并在当前处于可用状态的中转节点中选取至少一个作为用于将数据存储至所述目标数据库的第二中转接点,其中,各个所述中转节点分别设置在各个数据库中。
在本申请的一个或多个实施例中,各个所述中转节点分别设置在各个数据库中,具体设置方式可以为中转节点部署在数据库客户端工具,用于存储落地的数据文件。其中,每个数据库均可以为源数据库或目标数据库,具体根据目标数据复制作业的指定内容来确定。
步骤300:基于预设的导出节点自所述第一中转节点中获取所述源数据库中的与所述目标数据复制作业对应的目标数据。
步骤400:应用预设的导入接点自所述第二中转节点将所述目标数据存储至所述目标数据库。
从上述描述可知,本申请实施例提供的计算机可读存储介质,能够有效针对实时或定时复制指令进行数据复制,并能够有效实现同源和异构数据库之间的数据复制,有效提高数据复制的灵活性及高效性,使得数据能够在不同的数据系统之间高效的流转。
本领域内的技术人员应明白,本发明的实施例可提供为方法、装置、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(装置)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
本发明中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (18)

1.一种数据复制方法,其特征在于,应用于控制节点,包括:
实时或定时获取目标数据复制作业对应的作业优先级、作业任务量、源数据库和目标数据库,其中,所述源数据库和目标数据库属于同源或者异构的数据库集群,所述目标数据复制作业是所述控制节点收到应用程序的请求后生成的;
根据所述目标数据复制作业的作业优先级及作业任务量,在分布式设置的多个当前处于可用状态的中转节点中选取至少一个作为用于提取所述源数据库中数据的第一中转节点,并在当前处于可用状态的中转节点中选取至少一个作为用于将数据存储至所述目标数据库的第二中转节点,其中,各个所述中转节点分别设置在各个数据库中,具体设置方式为中转节点部署在数据库客户端工具,用于存储落地的数据文件,其中,每个数据库均为源数据库或目标数据库,具体根据目标数据复制作业的指定内容来确定;
基于预设的导出节点自所述第一中转节点中获取所述源数据库中的与所述目标数据复制作业对应的目标数据;
应用预设的导入节点自所述第二中转节点将所述目标数据存储至所述目标数据库。
2.根据权利要求1所述的数据复制方法,其特征在于,在所述实时或定时获取目标数据复制作业对应的作业优先级、作业任务量、源数据库和目标数据库之前,还包括:
接收目标数据复制指令,其中,该目标数据复制指令中包含有用户配置信息;
基于所述用户配置信息生成包含有唯一标识的目标数据复制作业;
将所述目标数据复制作业加入预设的作业运行表中;
根据所述用户配置信息中的指令执行方式,实时或定时自所述作业运行表中提取所述目标数据复制作业。
3.根据权利要求2所述的数据复制方法,其特征在于,在所述实时或定时自所述作业运行表中提取所述目标数据复制作业之后,还包括:
基于所述目标数据复制作业的唯一标识,实时监测所述目标数据复制作业的执行情况,其中,所述执行情况包括目标数据复制作业的开始时间、结束时间、运行时长、运行状态以及对中转接点的占用情况;
若接收到针对所述目标数据复制作业的中断指令,则根据当前的所述目标数据复制作业的执行情况,控制该目标数据复制作业中止执行。
4.根据权利要求1所述的数据复制方法,其特征在于,还包括:
周期性接收各个所述中转节点分别发送的心跳包信息,其中,所述心跳包信息包括对应的中转节点的自身健康状态、网络状态、磁盘占用率和CPU利用率;
基于各个所述心跳包信息判断各个所述中转节点是否均处于可用状态,若存在处于不可用状态的中转节点,则将处于不可用状态的中转节点从预设的节点可用性列表中删除。
5.根据权利要求1所述的数据复制方法,其特征在于,若当前获取的目标数据复制作业的数量为多个,则在执行所述实时或定时获取目标数据复制作业对应的作业优先级、作业任务量、源数据库和目标数据库时,还包括:
获取各个所述目标数据复制作业之间的依赖关系及触发条件;
确定各个所述目标数据复制作业的并发数量,以基于该并发数量控制对应的目标数据复制作业并发执行。
6.根据权利要求1所述的数据复制方法,其特征在于,所述基于预设的导出节点自所述第一中转节点中获取所述源数据库中的与所述目标数据复制作业对应的目标数据,包括:
向所述导出节点发送针对所述目标数据复制作业的导出作业请求,以使所述导出节点在对该目标数据复制作业进行预查询及预处理后,应用所述第一中转节点提取所述源数据库中的与所述目标数据复制作业对应的目标数据;
接收所述导出节点发送的所述目标数据。
7.根据权利要求1所述的数据复制方法,其特征在于,所述应用预设的导入节点自所述第二中转节点将所述目标数据存储至所述目标数据库,包括:
向所述导入节点发送针对所述目标数据复制作业的导入作业请求,以使所述导入节点在对该目标数据复制作业进行预查询及预处理后,应用所述第二中转节点将所述目标数据存储至所述目标数据库,并生成对应的数据存储结果;
接收所述导入节点发送的所述数据存储结果。
8.根据权利要求1所述的数据复制方法,其特征在于,还包括:
应用预设的清理节点周期性删除各个所述数据库中在数据复制过程中出现的中间表、中转表和临时表,并周期性删除各个所述中转节点上的数据文件。
9.一种控制节点,其特征在于,包括:
作业执行信息获取模块,用于实时或定时获取目标数据复制作业对应的作业优先级、作业任务量、源数据库和目标数据库,其中,所述源数据库和目标数据库属于同源或者异构的数据库集群,所述目标数据复制作业是所述控制节点收到应用程序的请求后生成的;
中转节点选取模块,用于根据所述目标数据复制作业的作业优先级及作业任务量,在分布式设置的多个当前处于可用状态的中转节点中选取至少一个作为用于提取所述源数据库中数据的第一中转节点,并在当前处于可用状态的中转节点中选取至少一个作为用于将数据存储至所述目标数据库的第二中转节点,其中,各个所述中转节点分别设置在各个数据库中,具体设置方式为中转节点部署在数据库客户端工具,用于存储落地的数据文件,其中,每个数据库均为源数据库或目标数据库,具体根据目标数据复制作业的指定内容来确定;
数据导出模块,用于基于预设的导出节点自所述第一中转节点中获取所述源数据库中的与所述目标数据复制作业对应的目标数据;
数据导入模块,用于应用预设的导入节点自所述第二中转节点将所述目标数据存储至所述目标数据库。
10.根据权利要求9所述的控制节点,其特征在于,还包括:作业生成模块,该作业生成模块用于执行下述内容:
接收目标数据复制指令,其中,该目标数据复制指令中包含有用户配置信息;
基于所述用户配置信息生成包含有唯一标识的目标数据复制作业;
将所述目标数据复制作业加入预设的作业运行表中;
根据所述用户配置信息中的指令执行方式,实时或定时自所述作业运行表中提取所述目标数据复制作业。
11.根据权利要求10所述的控制节点,其特征在于,还包括:作业状态管理模块,该作业状态管理模块用于执行下述内容:
基于所述目标数据复制作业的唯一标识,实时监测所述目标数据复制作业的执行情况,其中,所述执行情况包括目标数据复制作业的开始时间、结束时间、运行时长、运行状态以及对中转接点的占用情况;
若接收到针对所述目标数据复制作业的中断指令,则根据当前的所述目标数据复制作业的执行情况,控制该目标数据复制作业中止执行。
12.根据权利要求9所述的控制节点,其特征在于,还包括:中转节点管理模块,该中转节点管理模块用于执行下述内容:
周期性接收各个所述中转节点分别发送的心跳包信息,其中,所述心跳包信息包括对应的中转节点的自身健康状态、网络状态、磁盘占用率和CPU利用率;
基于各个所述心跳包信息判断各个所述中转节点是否均处于可用状态,若存在处于不可用状态的中转节点,则将处于不可用状态的中转节点从预设的节点可用性列表中删除。
13.根据权利要求9所述的控制节点,其特征在于,若当前获取的目标数据复制作业的数量为多个,则所述控制节点还包括:
作业调度模块,用于获取各个所述目标数据复制作业之间的依赖关系及触发条件;
并发控制模块,用于确定各个所述目标数据复制作业的并发数量,以基于该并发数量控制对应的目标数据复制作业并发执行。
14.根据权利要求9所述的控制节点,其特征在于,所述数据导出模块包括:
导出请求发送单元,用于向所述导出节点发送针对所述目标数据复制作业的导出作业请求,以使所述导出节点在对该目标数据复制作业进行预查询及预处理后,应用所述第一中转节点提取所述源数据库中的与所述目标数据复制作业对应的目标数据;
目标数据接收单元,用于接收所述导出节点发送的所述目标数据。
15.根据权利要求9所述的控制节点,其特征在于,所述数据导入模块包括:
导入请求发送单元,用于向所述导入节点发送针对所述目标数据复制作业的导入作业请求,以使所述导入节点在对该目标数据复制作业进行预查询及预处理后,应用所述第二中转节点将所述目标数据存储至所述目标数据库,并生成对应的数据存储结果;
存储结果接收单元,用于接收所述导入节点发送的所述数据存储结果。
16.根据权利要求9所述的控制节点,其特征在于,还包括:
数据清理模块,用于应用预设的清理节点周期性删除各个所述数据库中在数据复制过程中出现的中间表、中转表和临时表,并周期性删除各个所述中转节点上的数据文件。
17.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1至8任一项所述的数据复制方法。
18.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至8任一项所述的数据复制方法。
CN202010452847.9A 2020-05-26 2020-05-26 数据复制方法、控制节点及电子设备 Active CN111666338B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010452847.9A CN111666338B (zh) 2020-05-26 2020-05-26 数据复制方法、控制节点及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010452847.9A CN111666338B (zh) 2020-05-26 2020-05-26 数据复制方法、控制节点及电子设备

Publications (2)

Publication Number Publication Date
CN111666338A CN111666338A (zh) 2020-09-15
CN111666338B true CN111666338B (zh) 2023-08-15

Family

ID=72384731

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010452847.9A Active CN111666338B (zh) 2020-05-26 2020-05-26 数据复制方法、控制节点及电子设备

Country Status (1)

Country Link
CN (1) CN111666338B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104376062A (zh) * 2014-11-11 2015-02-25 中国有色金属长沙勘察设计研究院有限公司 一种异构数据库平台数据的同步方法
CN110727709A (zh) * 2019-10-10 2020-01-24 北京优炫软件股份有限公司 一种集群数据库系统
CN110990482A (zh) * 2019-11-11 2020-04-10 中国建设银行股份有限公司 异步数据库之间的数据同步方法及装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3919303B2 (ja) * 1997-09-30 2007-05-23 キヤノン株式会社 データベースシステム及びその制御方法及び情報処理装置
CN102004743B (zh) * 2009-09-02 2013-08-14 中国银联股份有限公司 一种用于异构数据库之间数据复制的系统及方法
US10795881B2 (en) * 2015-12-18 2020-10-06 Sap Se Table replication in a database environment
KR101917806B1 (ko) * 2017-12-22 2018-11-12 주식회사 웨어밸리 Sql 패킷분석을 통한 이기종 데이터베이스의 데이터 복제 및 동기화 오류 탐지 방법 및 시스템

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104376062A (zh) * 2014-11-11 2015-02-25 中国有色金属长沙勘察设计研究院有限公司 一种异构数据库平台数据的同步方法
CN110727709A (zh) * 2019-10-10 2020-01-24 北京优炫软件股份有限公司 一种集群数据库系统
CN110990482A (zh) * 2019-11-11 2020-04-10 中国建设银行股份有限公司 异步数据库之间的数据同步方法及装置

Also Published As

Publication number Publication date
CN111666338A (zh) 2020-09-15

Similar Documents

Publication Publication Date Title
CN107391629B (zh) 集群间数据迁移方法、系统、服务器及计算机存储介质
WO2019154394A1 (zh) 分布式数据库集群系统、数据同步方法及存储介质
CN108664496B (zh) 数据迁移方法及装置
CN107402722B (zh) 一种数据迁移方法及存储设备
CN111182067B (zh) 一种基于星际文件系统ipfs的数据写入方法及设备
CN108804465B (zh) 一种分布式缓存数据库数据迁移的方法及系统
US11068499B2 (en) Method, device, and system for peer-to-peer data replication and method, device, and system for master node switching
CN110247984B (zh) 业务处理方法、装置及存储介质
CN106610876A (zh) 数据快照的恢复方法及装置
EP3786802A1 (en) Method and device for failover in hbase system
US20150112934A1 (en) Parallel scanners for log based replication
CN111177254B (zh) 一种异构关系型数据库之间数据同步的方法和装置
CN111930716A (zh) 一种数据库扩容方法、装置及系统
CN106095957A (zh) 分布式文件系统的跨域多副本文件同步方法及装置
US20190028420A1 (en) Message sending method and terminal device
CN113297159B (zh) 数据存储方法以及装置
WO2021082925A1 (zh) 一种交易处理的方法及装置
CN110113217B (zh) 微服务管理方法、装置、管理平台及存储介质
CN111666338B (zh) 数据复制方法、控制节点及电子设备
CN104468674B (zh) 数据迁移方法及装置
CN115858486A (zh) 数据处理方法以及相关设备
CN110677497B (zh) 一种网络介质分发方法及装置
CN112527760A (zh) 数据存储方法、装置、服务器及介质
CN109491838A (zh) 一种处理虚拟机数据的方法及装置
CN111147554A (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
GR01 Patent grant
GR01 Patent grant