CN110297860A - 数据交换方法、装置及相关设备 - Google Patents

数据交换方法、装置及相关设备 Download PDF

Info

Publication number
CN110297860A
CN110297860A CN201910528162.5A CN201910528162A CN110297860A CN 110297860 A CN110297860 A CN 110297860A CN 201910528162 A CN201910528162 A CN 201910528162A CN 110297860 A CN110297860 A CN 110297860A
Authority
CN
China
Prior art keywords
exchange
line number
batches
data
exchanged
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.)
Granted
Application number
CN201910528162.5A
Other languages
English (en)
Other versions
CN110297860B (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.)
Hangzhou Dt Dream Technology Co Ltd
Original Assignee
Hangzhou Dt Dream 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 Hangzhou Dt Dream Technology Co Ltd filed Critical Hangzhou Dt Dream Technology Co Ltd
Priority to CN201910528162.5A priority Critical patent/CN110297860B/zh
Publication of CN110297860A publication Critical patent/CN110297860A/zh
Application granted granted Critical
Publication of CN110297860B publication Critical patent/CN110297860B/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/25Integrating or interfacing systems involving database management systems
    • G06F16/254Extract, transform and load [ETL] procedures, e.g. ETL data flows in data warehouses
    • 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
    • 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)
  • 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)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明实施例提供一种数据交换方法、装置及相关设备。本发明实施例中,工作节点将数据交换作业通过多次的分批交换完成,每次按照该批次对应的分批交换行数进行数据交换,且在每次分批交换完成后,根据该次的分批交换行数和交换用时更新并记录下一次的分批交换行数,以及记录该次分批交换后的已交换行数;首次分批交换前的已交换行数为0,首次分批交换的分批交换行数为预设值;工作节点通过在满足续传条件时,获取被中断的数据交换作业中断时的已交换行数和分批交换行数,根据已交换行数和分批交换行数,确定本次数据交换的目标数据行,对目标数据行进行数据交换,实现了断点续传,减小了总体的交换数据量,减少了耗时,节省了资源。

Description

数据交换方法、装置及相关设备
技术领域
本发明涉及数据处理技术领域,尤其涉及一种数据交换方法、装置及相关设备。
背景技术
ETL(Extract-Transform-Load,抽取-交互转换-加载)用来描述将数据从来源端经过抽取(extract)、交互转换(transform)、加载(load)至目的端的过程。为提高ETL交换的能力,支持更多的数据源接入,ETL工具会采用集群的方式进行部署,由控制节点统一管理多个工作节点,把交换作业分配给1个或多个工作节点进行数据交换。
控制节点通常会选择1个或者多个工作节点从源数据库进行全量数据的抽取和交换。在全量数据交换过程中出现网络故障或工作节点异常等情况时,会导致交换作业中断。
相关技术中,对于中断的数据交换作业的处理方式是,删除目的数据库中已交换的数据,重新根据数据交换作业进行数据交换。这种方式会导致总体的交换数据量增大,增加耗时和资源消耗。
发明内容
为克服相关技术中存在的问题,本发明提供了一种数据交换方法、装置及相关设备。
根据本发明实施例的第一方面,提供一种数据交换方法,应用于工作节点,所述工作节点将数据交换作业通过多次的分批交换完成,每次按照该批次对应的分批交换行数进行数据交换,且在每次分批交换完成后,根据该次的分批交换行数和交换用时更新并记录下一次的分批交换行数,以及记录该次分批交换后的已交换行数;首次分批交换前的已交换行数为0,首次分批交换的分批交换行数为预设值;所述方法包括:
在满足续传条件时,获取被中断的数据交换作业中断时的已交换行数和分批交换行数;
根据所述已交换行数和所述分批交换行数,确定本次数据交换的目标数据行;
对所述目标数据行进行数据交换。
根据本发明实施例的第二方面,提供一种数据交换方法,应用于控制节点,所述方法包括:
在检测到第一工作节点工作异常时,根据第一工作节点上被中断的数据交换作业生成作业信息,所述作业信息包括被中断的数据交换作业的已交换行数和分批交换行数;
将所述作业信息发送给工作正常的第二工作节点,以由所述第二工作节点对被中断的数据交换作业的数据进行交换。
根据本发明实施例的第三方面,提供一种数据交换装置,应用于工作节点,所述工作节点将数据交换作业通过多次的分批交换完成,每次按照该批次对应的分批交换行数进行数据交换,且在每次分批交换完成后,根据该次的分批交换行数和交换用时更新并记录下一次的分批交换行数,以及记录该次分批交换后的已交换行数;首次分批交换前的已交换行数为0,首次分批交换的分批交换行数为预设值;所述装置包括:
获取模块,用于在满足续传条件时,获取被中断的数据交换作业中断时的已交换行数和分批交换行数;
确定模块,用于根据已交换行数和分批交换行数,确定本次数据交换的目标数据行;
交换模块,用于对所述目标数据行进行数据交换。
根据本发明实施例的第四方面,提供一种数据交换装置,应用于控制节点,所述装置包括:
生成模块,用于在检测到第一工作节点工作异常时,根据第一工作节点上被中断的数据交换作业生成作业信息,所述作业信息包括被中断的数据交换作业的已交换行数和分批交换行数;
发送模块,用于将所述作业信息发送给工作正常的第二工作节点,以由所述第二工作节点对被中断的数据交换作业的数据进行交换。
根据本发明实施例的第五方面,提供一种节点设备,包括处理器以及用于存储所述处理器的可执行指令的存储器;
所述处理器被配置为:
将数据交换作业通过多次的分批交换完成,每次按照该批次对应的分批交换行数进行数据交换,且在每次分批交换完成后,根据该次的分批交换行数和交换用时更新并记录下一次的分批交换行数,以及记录该次分批交换后的已交换行数;首次分批交换前的已交换行数为0,首次分批交换的分批交换行数为预设值;
在满足续传条件时,获取被中断的数据交换作业中断时的已交换行数和分批交换行数;
根据所述已交换行数和所述分批交换行数,确定本次数据交换的目标数据行;
对所述目标数据行进行数据交换。
根据本发明实施例的第六方面,提供一种节点设备,包括处理器以及用于存储所述处理器的可执行指令的存储器;
所述处理器被配置为:
在检测到第一工作节点工作异常时,根据第一工作节点上被中断的数据交换作业生成作业信息,所述作业信息包括被中断的数据交换作业的已交换行数和分批交换行数;
将所述作业信息发送给工作正常的第二工作节点,以由所述第二工作节点对被中断的数据交换作业的数据进行交换。
本发明实施例提供的技术方案可以包括以下有益效果:
本发明实施例,通过在满足续传条件时,获取被中断的数据交换作业中断时的已交换行数和分批交换行数,根据已交换行数和分批交换行数,确定本次数据交换的目标数据行,对目标数据行进行数据交换,能够在数据交换作业中断后从断点处开始进行交换,实现了断点续传,减小了总体的交换数据量,减少了耗时,节省了资源。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本说明书。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本说明书的实施例,并与说明书一起用于解释本说明书的原理。
图1是本发明实施例提供的ETL集群的一个结构示例图。
图2是本发明实施例提供的数据交换方法的一个流程示例图。
图3是本发明实施例提供的数据交换方法的另一个流程示例图。
图4是本发明实施例提供的数据交换装置的功能方块图。
图5是本发明实施例提供的节点设备的一个硬件结构图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明实施例的一些方面相一致的装置和方法的例子。
在本发明实施例使用的术语是仅仅出于描述特定本发明实施例的目的,而非旨在限制本发明实施例。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本发明实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本发明实施例范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
图1是本发明实施例提供的ETL集群的一个结构示例图。请参见图1,一个ETL集群可以包括一个控制节点和至少一个工作节点。控制节点和各个工作节点可以部署于不同的服务器上。控制节点用于生成数据交换作业,并下发给工作节点。工作节点用于接收控制节点下发的数据交换作业,根据数据交换作业执行数据交换。
图1中,数据库1为源端数据库,数据库2为目的端数据库。工作节点根据控制节点下发的数据交换作业,将数据库1中的数据交换至数据库2。
在全量数据交换过程中,有时候会出现交换作业被中断的情况。例如,假设作业1是分批次交换作业,作业1的分批交换行数为100。在某次交换过程中,交换的目标数据行是第101~200行,在交换完第180行后,作业中断。根据相关技术,控制节点会删除目的数据库中已交换的第101~180行数据,在下一次分批次交换时,从第101行起开始交换。这样,第101~180行数据就会重复交换两次,增大了交换数据量,增加耗时和资源消耗
下面通过实施例对本发明提供的数据交换方法进行详细说明。
图2是本发明实施例提供的数据交换方法的一个流程示例图。该数据交换方法应用于工作节点,工作节点将数据交换作业通过多次的分批交换完成,每次按照该批次对应的分批交换行数进行数据交换,且在每次分批交换完成后,根据该次的分批交换行数和交换用时更新并记录下一次的分批交换行数,以及记录该次分批交换后的已交换行数;首次分批交换前的已交换行数为0,首次分批交换前的分批交换行数为预设值。如图2所示,数据交换方法可以包括:
S201,在满足续传条件时,获取被中断的数据交换作业中断时的已交换行数和分批交换行数。
S202,根据已交换行数和分批交换行数,确定本次数据交换的目标数据行。
S203,对目标数据行进行数据交换。
本实施例中,数据交换作业对应的源数据库支持根据偏移量顺序获取分批交换数据,偏移量等于已交换行数。
例如,源数据库可以是具有innerDB引擎的MySQL数据库。当然,源数据库也可以是其他支持根据偏移量顺序获取分批交换数据的数据库,此处仅为列举的示例,并不用于对本实施例进行限制。
其中,且在每次分批交换完成后,根据该次的分批交换行数和交换用时更新并记录下一次的分批交换行数,可以包括:
首先,根据该次的分批交换行数的数据量和交换用时计算更新后的数据传输速率:
更新后的数据传输速率=该次的分批交换行数的数据量÷交换用时
然后,根据更新后的数据传输速率和每行数据量重新计算每行耗时:
更新后的每行耗时=每行数据量÷更新后的数据传输速率
最后,根据分批交换周期和更新后的每行耗时计算更新后的分批交换行数:
更新后分批交换行数=分批交换周期÷更新后的每行耗时
由于通信状况处于不断的变化中,因此数据传输速率也在不断变化。本示例中,在每次分批交换之后,根据本次分批交换的分批交换行数的数据量和交换用时重新计算数据传输速率,并根据计算出的数据传输速率动态矫正下一次分批交换的每行耗时,从而更精确地计算出下一次分批交换的分批次交换行数并更新。
其中,分批交换周期是预先设置好的。
步骤S201中,已交换行数可以是工作节点在数据交换作业中断时记录在本地的,也可以是从控制节点获取的。
分批交换行数是指在数据的分批次交换过程中每一次分批交换的行数。例如,假设作业1在本次交换的分批交换行数是100,则说明在本次分批次交换过程中,交换的数据行数为100行。
设工作节点中,分批交换行数为x,已交换行数用偏移量y表示。x、y均为自然数,且y初始为0,即首次分批交换前的已交换行数为0,每完成一次交换,y更新为y+x。可见,每次分批交换后的已交换行数可以用该次分批交换及其以前的各次分批交换的分批次交换行数得到。
例如,首次分批交换的分批次交换行数为a1,第2次分批交换的分批次交换行数为a2,第3次分批交换的分批次交换行数为a3,……依次类推。那么假设在第3次分批交换时发生了中断,则中断时的已交换行数=a1+a2。
这样,不管数据交换作业涉及的数据表中存在不存在主键,都可以通过已交换行数或者中断前各次分批交换的分批次交换行数来确定断点的位置,并在此基础上实现断点续传。
在一个示例中,控制节点维护全量数据交换作业的任务信息表,记录全量数据交换作业所分配的各个工作节点的作业信息,包括已交换行数、偏移量y、以及分批交换行数x。
当工作节点发现数据源异常,导致交换作业失败时,工作节点记录已完成写入到目的数据源的交换行数,并暂停数据交换作业。同时把交换异常信息反馈给控制节点,交换异常信息中包括工作节点记录的数据交换作业在中断时的已交换行数和分批交换行数。
其中,当工作节点发现无法从数据源中抽取数据或者TCP连接中断时,判断出现了数据源异常。
在一个示例中,数据交换中断是由于数据源异常而导致的,此时,续传条件可以是:数据源恢复正常。
在另一个示例中,数据交换中断是由于网络故障而导致的,此时,续传条件可以是:网络恢复正常。
在另一个示例中,数据交换中断是由于工作节点异常而导致的,此时,续传条件可以是:接收到控制节点从异常工作节点上迁移的被中断的数据交换作业。
在一个示例中,步骤S202可以包括:
将已交换行数后的第一行确定为目标数据行的起始行,将已交换行数和分批交换行数之和所对应的数据行确定为目标数据行的终止行。
例如,仍以前述的作业1为例,中断时已交换行数为180行,分批交换行数为100,则目标数据行的起始行为第181行,终止行为280行。即数据交换从中断处开始,不需要对已经写入到目的数据源的交换数据进行删除和重新交换。
在一个示例性的实现过程中,获取被中断的数据交换作业中断时的已交换行数和分批交换行数,包括:
从本地获取被中断的数据交换作业中断时的已交换行数和分批交换行数。
在数据源异常导致数据交换中断的情形下,工作节点将中断时的已交换行数记录在本地,且为了进行分批次交换,工作节点本地还保存有分批交换行数。因此,在数据源恢复正常后,工作节点可以直接从本地获取被中断的数据交换作业中断时的已交换行数和分批交换行数,这样可以节省时间,提高处理效率。
当然,工作节点可以不在本地保存中断时的已交换行数,而是将中断时的已交换行数上报给控制节点。因此工作节点可以从控制节点中获取中断时的已交换行数和分批交换行数。
在一个示例性的实现过程中,所述方法还可以包括:
接收控制节点下发的被中断的数据交换作业的作业信息,所述作业信息包括被中断的数据交换作业的已交换行数和分批交换行数;
所述获取被中断的数据交换作业中断时的已交换行数和分批交换行数,包括:
从所述作业信息中提取被中断的数据交换作业中断时的已交换行数和分批交换行数。
在工作节点异常导致数据交换中断的情形下,控制节点需要将终端的数据交换作业迁移到其他工作节点上。此时,其他工作节点通过接收控制节点下发的被中断的数据交换作业的作业信息,获得被中断的数据交换作业中断时的已交换行数和分批交换行数。
在此基础上,在一个示例性的实现过程中,所述获取被中断的数据交换作业的已交换行数和分批交换行数之后,还可以包括:
从目的数据库读取数据交换作业的实际交换行数;
若所述已交换行数与所述实际交换行数一致,执行根据所述已交换行数和所述分批交换行数确定本次数据交换的目标数据行的操作。
在工作节点异常导致数据交换中断的情形下,由于工作节点异常,因此工作节点无法将中断时的准确的已交换行数上报给控制节点。此时,控制节点可以根据最近记录的已交换行数,以及目的数据库的实际交换行数,确定中断时的已交换行数。
例如,控制节点记录的最近一次的已交换行数为100,从目的数据库读取的实际交换行数也是100,此时可以确定作业中断时的已交换行数为100。
在一个示例性的实现过程中,还可以包括:
若所述已交换行数与所述实际交换行数不一致,且所述实际交换行数等于所述已交换行数与所述分批交换行数之和,将所述已交换行数更新为所述实际交换行数;
所述根据所述已交换行数和所述分批交换行数,确定本次数据交换的目标数据行,包括:
根据更新后的已交换行数和所述分批交换行数,确定本次数据交换的目标数据行。
例如,分批交换行数为100,控制节点记录的最近一次的已交换行数为100,从目的数据库读取的实际交换行数是200,此时可以确定作业中断时的已交换行数为200,再进行交换时从第201行开始进行交换。
在一个示例性的实现过程中,还可以包括:
若所述已交换行数与所述实际交换行数不一致,且所述实际交换行数不等于所述已交换行数与所述分批交换行数之和,从目的数据库中删除所述已交换行数之后的交换数据。
例如,分批交换行数为100,控制节点记录的最近一次的已交换行数为100,从目的数据库读取的实际交换行数是150,此时可以确定作业中断时的已交换行数为100,再进行交换时从第101行开始进行交换,并且从目的数据库中删除第101~150行已交换数据。
本发明实施例提供的数据交换方法,通过在满足续传条件时,获取被中断的数据交换作业中断时的已交换行数和分批交换行数,根据已交换行数和分批交换行数,确定本次数据交换的目标数据行,对目标数据行进行数据交换,能够在数据交换作业中断后从断点处开始进行交换,实现了断点续传,减小了总体的交换数据量,减少了耗时,节省了资源。
图3是本发明实施例提供的数据交换方法的另一个流程示例图。该数据交换方法应用于控制节点。如图3所示,数据交换方法可以包括:
S301,在检测到第一工作节点工作异常时,根据第一工作节点上被中断的数据交换作业生成作业信息,所述作业信息包括被中断的数据交换作业的已交换行数和分批交换行数。
S302,将所述作业信息发送给工作正常的第二工作节点,以由所述第二工作节点对被中断的数据交换作业的数据进行交换。
本实施例针对工作节点异常导致数据交换中断的情形,提出了由控制节点将中断的数据交换作业迁移到正常工作节点的方式,使得中断的数据交换作业能够在正常工作节点上进行断点续传。
在一个示例性的实现过程中,所述方法还可以包括:
在检测到交换环境的稳定性能低于预设性能值时,减少所述数据交换作业的分批交换行数。
本实施例可以提高每批次交换数据的成功率。
在交换环境不稳定的情形下,例如一定时间内数据源多次交换异常,通过减少分批交换行数,可以保障在比较少的稳定时间内,分批交换行数的全部数据得以交换完成,从而提高了每批次交换数据的成功率。
基于上述的方法实施例,本发明实施例还提供了相应的装置、设备及存储介质实施例。关于本发明实施例的装置、设备及存储介质实施例的详细实现方式,请参见前述方法实施例部分的相应说明。
图4是本发明实施例提供的数据交换装置的功能方块图。如图4所示,本实施例中,数据交换装置应用于工作节点,所述工作节点将数据交换作业通过多次的分批交换完成,每次按照该批次对应的分批交换行数进行数据交换,且在每次分批交换完成后,根据该次的分批交换行数和交换用时更新并记录下一次的分批交换行数,以及记录该次分批交换后的已交换行数;首次分批交换前的已交换行数为0,首次分批交换的分批交换行数为预设值;所述装置可以包括:
获取模块410,用于在满足续传条件时,获取被中断的数据交换作业中断时的已交换行数和分批交换行数;
确定模块420,用于根据所述已交换行数和所述分批交换行数,确定本次数据交换的目标数据行;
交换模块430,用于对所述目标数据行进行数据交换。
在一个示例性的实现过程中,获取模块410具体用于:
从本地获取被中断的数据交换作业中断时的已交换行数和分批交换行数。
在一个示例性的实现过程中,还包括:
接收模块,用于接收控制节点下发的被中断的数据交换作业的作业信息,所述作业信息包括被中断的数据交换作业的已交换行数和分批交换行数;
所述获取模块410具体用于:
从所述作业信息中提取被中断的数据交换作业中断时的已交换行数和分批交换行数。
在一个示例性的实现过程中,所述装置还包括:
读取模块,用于从目的数据库读取数据交换作业的实际交换行数;
执行模块,用于若所述已交换行数与所述实际交换行数一致,执行根据所述已交换行数和所述分批交换行数确定本次数据交换的目标数据行的操作。
在一个示例性的实现过程中,所述装置还包括:
更新模块,用于若所述已交换行数与所述实际交换行数不一致,且所述实际交换行数等于所述已交换行数与所述分批交换行数之和,将所述已交换行数更新为所述实际交换行数;
所述确定模块420具体用于:
根据更新后的已交换行数和所述分批交换行数,确定本次数据交换的目标数据行。
在一个示例性的实现过程中,所述装置还包括:
删除模块,用于若所述已交换行数与所述实际交换行数不一致,且所述实际交换行数不等于所述已交换行数与所述分批交换行数之和,从目的数据库中删除所述已交换行数之后的交换数据。
本发明实施例还提供一种数据交换装置,应用于控制节点,所述装置可以包括:
生成模块,用于在检测到第一工作节点工作异常时,根据第一工作节点上被中断的数据交换作业生成作业信息,所述作业信息包括被中断的数据交换作业的已交换行数和分批交换行数;
发送模块,用于将所述作业信息发送给工作正常的第二工作节点,以由所述第二工作节点对被中断的数据交换作业的数据进行交换。
在一个示例性的实现过程中,所述装置还可以包括:
减少模块,用于在检测到交换环境的稳定性能低于预设性能值时,减少所述数据交换作业的分批交换行数。
在一个示例性的实现过程中,所述数据交换作业对应的源数据库支持根据偏移量顺序获取分批交换数据,所述偏移量等于所述已交换行数。
本发明实施例还提供了一种节点设备。图5是本发明实施例提供的节点设备的一个硬件结构图。如图5所示,节点设备包括:内部总线501,以及通过内部总线连接的存储器502,处理器503和外部接口504。
当节点设备作为工作节点时,所述处理器503,用于读取存储器502上的机器可读指令,并执行所述指令以实现如下操作:
在满足续传条件时,获取被中断的数据交换作业中断时的已交换行数和分批交换行数;
根据所述已交换行数和所述分批交换行数,确定本次数据交换的目标数据行;
对所述目标数据行进行数据交换。
在一个示例性的实现过程中,所述获取被中断的数据交换作业中断时的已交换行数和分批交换行数,包括:
从本地获取被中断的数据交换作业中断时的已交换行数和分批交换行数。
在一个示例性的实现过程中,所述处理器503还执行所述指令以实现如下操作:
接收控制节点下发的被中断的数据交换作业的作业信息,所述作业信息包括被中断的数据交换作业的已交换行数和分批交换行数;
所述获取被中断的数据交换作业中断时的已交换行数和分批交换行数,包括:
从所述作业信息中提取被中断的数据交换作业中断时的已交换行数和分批交换行数。
在一个示例性的实现过程中,所述处理器503还执行所述指令以实现如下操作:
从目的数据库读取数据交换作业的实际交换行数;
若所述已交换行数与所述实际交换行数一致,执行根据所述已交换行数和所述分批交换行数确定本次数据交换的目标数据行的操作。
在一个示例性的实现过程中,所述处理器503还执行所述指令以实现如下操作:
若所述已交换行数与所述实际交换行数不一致,且所述实际交换行数等于所述已交换行数与所述分批交换行数之和,将所述已交换行数更新为所述实际交换行数;
所述根据所述已交换行数和所述分批交换行数,确定本次数据交换的目标数据行,包括:
根据更新后的已交换行数和所述分批交换行数,确定本次数据交换的目标数据行。
在一个示例性的实现过程中,所述处理器503还执行所述指令以实现如下操作:
若所述已交换行数与所述实际交换行数不一致,且所述实际交换行数不等于所述已交换行数与所述分批交换行数之和,从目的数据库中删除所述已交换行数之后的交换数据。
在一个示例性的实现过程中,所述数据交换作业对应的源数据库支持根据偏移量顺序获取分批交换数据,所述偏移量等于所述已交换行数。
当节点设备作为控制节点时,所述处理器503,用于读取存储器502上的机器可读指令,并执行所述指令以实现如下操作:
在检测到第一工作节点工作异常时,根据第一工作节点上被中断的数据交换作业生成作业信息,所述作业信息包括被中断的数据交换作业的已交换行数和分批交换行数;
将所述作业信息发送给工作正常的第二工作节点,以由所述第二工作节点对被中断的数据交换作业的数据进行交换。
在一个示例性的实现过程中,所述处理器503还执行所述指令以实现如下操作:
在检测到交换环境的稳定性能低于预设性能值时,减少所述数据交换作业的分批交换行数。
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有若干计算机指令,所述计算机指令被执行时进行如下处理:
将数据交换作业通过多次的分批交换完成,每次按照该批次对应的分批交换行数进行数据交换,且在每次分批交换完成后,根据该次的分批交换行数和交换用时更新并记录下一次的分批交换行数,以及记录该次分批交换后的已交换行数;首次分批交换前的已交换行数为0,首次分批交换的分批交换行数为预设值;
在满足续传条件时,获取被中断的数据交换作业中断时的已交换行数和分批交换行数;
根据所述已交换行数和所述分批交换行数,确定本次数据交换的目标数据行;
对所述目标数据行进行数据交换。
在一个示例性的实现过程中,所述获取被中断的数据交换作业中断时的已交换行数和分批交换行数,包括:
从本地获取被中断的数据交换作业中断时的已交换行数和分批交换行数。
在一个示例性的实现过程中,所述计算机指令被执行时还进行如下处理:
接收控制节点下发的被中断的数据交换作业的作业信息,所述作业信息包括被中断的数据交换作业的已交换行数和分批交换行数;
所述获取被中断的数据交换作业中断时的已交换行数和分批交换行数,包括:
从所述作业信息中提取被中断的数据交换作业中断时的已交换行数和分批交换行数。
在一个示例性的实现过程中,所述计算机指令被执行时还进行如下处理:
从目的数据库读取数据交换作业的实际交换行数;
若所述已交换行数与所述实际交换行数一致,执行根据所述已交换行数和所述分批交换行数确定本次数据交换的目标数据行的操作。
在一个示例性的实现过程中,所述计算机指令被执行时还进行如下处理:
若所述已交换行数与所述实际交换行数不一致,且所述实际交换行数等于所述已交换行数与所述分批交换行数之和,将所述已交换行数更新为所述实际交换行数;
所述根据所述已交换行数和所述分批交换行数,确定本次数据交换的目标数据行,包括:
根据更新后的已交换行数和所述分批交换行数,确定本次数据交换的目标数据行。
在一个示例性的实现过程中,所述计算机指令被执行时还进行如下处理:
若所述已交换行数与所述实际交换行数不一致,且所述实际交换行数不等于所述已交换行数与所述分批交换行数之和,从目的数据库中删除所述已交换行数之后的交换数据。
在一个示例性的实现过程中,所述数据交换作业对应的源数据库支持根据偏移量顺序获取分批交换数据,所述偏移量等于所述已交换行数。
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有若干计算机指令,所述计算机指令被执行时进行如下处理:
在检测到第一工作节点工作异常时,根据第一工作节点上被中断的数据交换作业生成作业信息,所述作业信息包括被中断的数据交换作业的已交换行数和分批交换行数;
将所述作业信息发送给工作正常的第二工作节点,以由所述第二工作节点对被中断的数据交换作业的数据进行交换。
在一个示例性的实现过程中,所述计算机指令被执行时还进行如下处理:
在检测到交换环境的稳定性能低于预设性能值时,减少所述数据交换作业的分批交换行数。
对于装置和设备实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本说明书方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本领域技术人员在考虑说明书及实践这里申请的发明后,将容易想到本说明书的其它实施方案。本说明书旨在涵盖本说明书的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本说明书的一般性原理并包括本说明书未申请的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本说明书的真正范围和精神由下面的权利要求指出。
应当理解的是,本说明书并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本说明书的范围仅由所附的权利要求来限制。
以上所述仅为本说明书的较佳实施例而已,并不用以限制本说明书,凡在本说明书的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书保护的范围之内。

Claims (13)

1.一种数据交换方法,其特征在于,应用于工作节点,所述工作节点将数据交换作业通过多次的分批交换完成,每次按照该批次对应的分批交换行数进行数据交换,且在每次分批交换完成后,根据该次的分批交换行数和交换用时更新并记录下一次的分批交换行数,以及记录该次分批交换后的已交换行数;首次分批交换前的已交换行数为0,首次分批交换的分批交换行数为预设值;所述方法包括:
在满足续传条件时,获取被中断的数据交换作业中断时的已交换行数和分批交换行数;
根据所述已交换行数和所述分批交换行数,确定本次数据交换的目标数据行;
对所述目标数据行进行数据交换。
2.根据权利要求1所述的方法,其特征在于,所述获取被中断的数据交换作业中断时的已交换行数和分批交换行数,包括:
从本地获取被中断的数据交换作业中断时的已交换行数和分批交换行数。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
接收控制节点下发的被中断的数据交换作业的作业信息,所述作业信息包括被中断的数据交换作业的已交换行数和分批交换行数;
所述获取被中断的数据交换作业中断时的已交换行数和分批交换行数,包括:
从所述作业信息中提取被中断的数据交换作业中断时的已交换行数和分批交换行数。
4.根据权利要求3所述的方法,其特征在于,所述获取被中断的数据交换作业中断时的已交换行数和分批交换行数之后,还包括:
从目的数据库读取数据交换作业的实际交换行数;
若所述已交换行数与所述实际交换行数一致,执行根据所述已交换行数和所述分批交换行数确定本次数据交换的目标数据行的操作。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
若所述已交换行数与所述实际交换行数不一致,且所述实际交换行数等于所述已交换行数与所述分批交换行数之和,将所述已交换行数更新为所述实际交换行数;
所述根据所述已交换行数和所述分批交换行数,确定本次数据交换的目标数据行,包括:
根据更新后的已交换行数和所述分批交换行数,确定本次数据交换的目标数据行。
6.根据权利要求4所述的方法,其特征在于,所述方法还包括:
若所述已交换行数与所述实际交换行数不一致,且所述实际交换行数不等于所述已交换行数与所述分批交换行数之和,从目的数据库中删除所述已交换行数之后的交换数据。
7.根据权利要求1~6所述的方法,其特征在于,所述数据交换作业对应的源数据库支持根据偏移量顺序获取分批交换数据,所述偏移量等于所述已交换行数。
8.一种数据交换方法,其特征在于,应用于控制节点,所述方法包括:
在检测到第一工作节点工作异常时,根据第一工作节点上被中断的数据交换作业生成作业信息,所述作业信息包括被中断的数据交换作业的已交换行数和分批交换行数;
将所述作业信息发送给工作正常的第二工作节点,以由所述第二工作节点对被中断的数据交换作业的数据进行交换。
9.根据权利要求8所述的方法,其特征在于,所述方法包括:
在检测到交换环境的稳定性能低于预设性能值时,减少所述数据交换作业的分批交换行数。
10.一种数据交换装置,其特征在于,应用于工作节点,所述工作节点将数据交换作业通过多次的分批交换完成,每次按照该批次对应的分批交换行数进行数据交换,且在每次分批交换完成后,根据该次的分批交换行数和交换用时更新并记录下一次的分批交换行数,以及记录该次分批交换后的已交换行数;首次分批交换前的已交换行数为0,首次分批交换的分批交换行数为预设值;所述装置包括:
获取模块,用于在满足续传条件时,获取被中断的数据交换作业中断时的已交换行数和分批交换行数;
确定模块,用于根据已交换行数和分批交换行数,确定本次数据交换的目标数据行;
交换模块,用于对所述目标数据行进行数据交换。
11.一种数据交换装置,其特征在于,应用于控制节点,所述装置包括:
生成模块,用于在检测到第一工作节点工作异常时,根据第一工作节点上被中断的数据交换作业生成作业信息,所述作业信息包括被中断的数据交换作业的已交换行数和分批交换行数;
发送模块,用于将所述作业信息发送给工作正常的第二工作节点,以由所述第二工作节点对被中断的数据交换作业的数据进行交换。
12.一种节点设备,其特征在于,包括处理器以及用于存储所述处理器的可执行指令的存储器;
所述处理器被配置为:
将数据交换作业通过多次的分批交换完成,每次按照该批次对应的分批交换行数进行数据交换,且在每次分批交换完成后,根据该次的分批交换行数和交换用时更新并记录下一次的分批交换行数,以及记录该次分批交换后的已交换行数;首次分批交换前的已交换行数为0,首次分批交换的分批交换行数为预设值;
在满足续传条件时,获取被中断的数据交换作业中断时的已交换行数和分批交换行数;
根据所述已交换行数和所述分批交换行数,确定本次数据交换的目标数据行;
对所述目标数据行进行数据交换。
13.一种节点设备,其特征在于,包括处理器以及用于存储所述处理器的可执行指令的存储器;
所述处理器被配置为:
在检测到第一工作节点工作异常时,根据第一工作节点上被中断的数据交换作业生成作业信息,所述作业信息包括被中断的数据交换作业的已交换行数和分批交换行数;
将所述作业信息发送给工作正常的第二工作节点,以由所述第二工作节点对被中断的数据交换作业的数据进行交换。
CN201910528162.5A 2019-06-18 2019-06-18 数据交换方法、装置及相关设备 Active CN110297860B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910528162.5A CN110297860B (zh) 2019-06-18 2019-06-18 数据交换方法、装置及相关设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910528162.5A CN110297860B (zh) 2019-06-18 2019-06-18 数据交换方法、装置及相关设备

Publications (2)

Publication Number Publication Date
CN110297860A true CN110297860A (zh) 2019-10-01
CN110297860B CN110297860B (zh) 2024-01-26

Family

ID=68028168

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910528162.5A Active CN110297860B (zh) 2019-06-18 2019-06-18 数据交换方法、装置及相关设备

Country Status (1)

Country Link
CN (1) CN110297860B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112347173A (zh) * 2020-11-09 2021-02-09 杭州数梦工场科技有限公司 数据交换控制方法及装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100296402A1 (en) * 2009-05-20 2010-11-25 Accenture Global Services Gmbh Network real time monitoring and control system
CN102495906A (zh) * 2011-12-23 2012-06-13 天津神舟通用数据技术有限公司 一种实现断点续传的增量式数据迁移方法
CN106685676A (zh) * 2015-11-06 2017-05-17 中国移动通信集团浙江有限公司 一种节点切换方法及装置
CN109116818A (zh) * 2018-08-08 2019-01-01 新智能源系统控制有限责任公司 一种scada系统升级时的实时数据转储方法和装置
CN109271435A (zh) * 2018-09-14 2019-01-25 南威软件股份有限公司 一种支持断点续传的数据抽取方法及系统
CN109408581A (zh) * 2018-11-13 2019-03-01 杭州数梦工场科技有限公司 一种数据交换方法、装置、设备及存储介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100296402A1 (en) * 2009-05-20 2010-11-25 Accenture Global Services Gmbh Network real time monitoring and control system
CN102495906A (zh) * 2011-12-23 2012-06-13 天津神舟通用数据技术有限公司 一种实现断点续传的增量式数据迁移方法
CN106685676A (zh) * 2015-11-06 2017-05-17 中国移动通信集团浙江有限公司 一种节点切换方法及装置
CN109116818A (zh) * 2018-08-08 2019-01-01 新智能源系统控制有限责任公司 一种scada系统升级时的实时数据转储方法和装置
CN109271435A (zh) * 2018-09-14 2019-01-25 南威软件股份有限公司 一种支持断点续传的数据抽取方法及系统
CN109408581A (zh) * 2018-11-13 2019-03-01 杭州数梦工场科技有限公司 一种数据交换方法、装置、设备及存储介质

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112347173A (zh) * 2020-11-09 2021-02-09 杭州数梦工场科技有限公司 数据交换控制方法及装置

Also Published As

Publication number Publication date
CN110297860B (zh) 2024-01-26

Similar Documents

Publication Publication Date Title
CN106980582B (zh) 数据处理方法和装置
CN103684839A (zh) 一种用于双机热备的数据传输方法、系统及服务器
CN102609479A (zh) 一种内存数据库节点复制方法
CN110502572A (zh) 一种数据同步的方法及服务器
CN108958880A (zh) 数据处理方法、数据处理系统与计算机程序产品
CN107623703A (zh) 全局事务标识gtid的同步方法、装置及系统
CN108875035B (zh) 分布式文件系统的数据存储方法及相关设备
JP2016144169A (ja) 通信システム、キュー管理サーバ、及び、通信方法
CN110113406A (zh) 基于分布式的计算服务集群框架
CN114285695B (zh) 通信方法、装置、设备、系统和存储介质
CN110297860A (zh) 数据交换方法、装置及相关设备
CN113849127B (zh) 基于san存储双活网络的仲裁方法、装置及电子设备
CN105009006B (zh) 可编程控制器、可编程控制器系统及执行错误信息生成方法
CN112749147A (zh) 一种将数据库中数据表合并迁移的方法和装置
CN112087506A (zh) 一种集群节点管理方法、装置及计算机存储介质
JP6229684B2 (ja) ストレージ装置、ストレージ制御方法、及びストレージ制御プログラム
CN106547485A (zh) 数据迁移方法及装置
CN109240608B (zh) 一种配置信息同步方法及装置
CN118337846B (zh) 分布式网络的代理通信方法、装置、系统、设备及介质
CN110046199A (zh) 交易数据的同步方法、装置及电子设备
CN118503298B (zh) 基于双缓存的数据处理方法、装置、设备及存储介质
CN109634627A (zh) 基于OpenStack平台管理FPGA设备的方法
CN114116672B (zh) 数据同步方法及相关装置
CN115567459B (zh) 一种基于缓冲区的流量控制系统与方法
WO2022142173A1 (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