数据交换方法、装置及相关设备制造方法及图纸

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

Data exchange methods, devices and related equipment

【技术实现步骤摘要】
数据交换方法、装置及相关设备
本专利技术涉及数据处理
,尤其涉及一种数据交换方法、装置及相关设备。
技术介绍
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行本文档来自技高网...

【技术保护点】
1.一种数据交换方法,其特征在于,应用于工作节点,所述工作节点将数据交换作业通过多次的分批交换完成,每次按照该批次对应的分批交换行数进行数据交换,且在每次分批交换完成后,根据该次的分批交换行数和交换用时更新并记录下一次的分批交换行数,以及记录该次分批交换后的已交换行数;首次分批交换前的已交换行数为0,首次分批交换的分批交换行数为预设值;所述方法包括:在满足续传条件时,获取被中断的数据交换作业中断时的已交换行数和分批交换行数;根据所述已交换行数和所述分批交换行数,确定本次数据交换的目标数据行;对所述目标数据行进行数据交换。

【技术特征摘要】
1.一种数据交换方法,其特征在于,应用于工作节点,所述工作节点将数据交换作业通过多次的分批交换完成,每次按照该批次对应的分批交换行数进行数据交换,且在每次分批交换完成后,根据该次的分批交换行数和交换用时更新并记录下一次的分批交换行数,以及记录该次分批交换后的已交换行数;首次分批交换前的已交换行数为0,首次分批交换的分批交换行数为预设值;所述方法包括:在满足续传条件时,获取被中断的数据交换作业中断时的已交换行数和分批交换行数;根据所述已交换行数和所述分批交换行数,确定本次数据交换的目标数据行;对所述目标数据行进行数据交换。2.根据权利要求1所述的方法,其特征在于,所述获取被中断的数据交换作业中断时的已交换行数和分批交换行数,包括:从本地获取被中断的数据交换作业中断时的已交换行数和分批交换行数。3.根据权利要求1所述的方法,其特征在于,所述方法还包括:接收控制节点下发的被中断的数据交换作业的作业信息,所述作业信息包括被中断的数据交换作业的已交换行数和分批交换行数;所述获取被中断的数据交换作业中断时的已交换行数和分批交换行数,包括:从所述作业信息中提取被中断的数据交换作业中断时的已交换行数和分批交换行数。4.根据权利要求3所述的方法,其特征在于,所述获取被中断的数据交换作业中断时的已交换行数和分批交换行数之后,还包括:从目的数据库读取数据交换作业的实际交换行数;若所述已交换行数与所述实际交换行数一致,执行根据所述已交换行数和所述分批交换行数确定本次数据交换的目标数据行的操作。5.根据权利要求4所述的方法,其特征在于,所述方法还包括:若所述已交换行数与所述实际交换行数不一致,且所述实际交换行数等于所述已交换行数与所述分批交换行数之和,将所述已交换行数更新为所述实际交换行数;所述根据所述已交换行数和所述分批交换行数,确定本次数据交换的目标数据行,包括:根据更新后的已交换行数和所述分批交换行数,确定本次数据交换的目标数据行。6.根据权利要求4所述的方法,其特征在于,所述方法还包括:若所述已交换行数与所述实际交换行数不一致,且所述实际交换行数不等于所述已交换行数与所述分批交换行数之和,从目的数据库中删除所述已交换行数之后的交换数据。7.根据权利要求1~6所述的方法,其特征在于,所述数据交换作业对应的源数据库支持根据偏移量顺序获取分批交换数据,所述偏移量等于所述已交换行数。8.一种数据交换方法,其特征在于,应用于控制节点,所述方法包括:在检测到第一工作节点工作异常时,根据第一工作节点上被中断的数据交换作业生成...

【专利技术属性】
技术研发人员:林鹏程
申请(专利权)人:杭州数梦工场科技有限公司
类型:发明
国别省市:浙江,33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1