ETL数据同步方法及装置、电子设备、存储介质与流程

文档序号:23763312发布日期:2021-01-29 19:27阅读:85来源:国知局
ETL数据同步方法及装置、电子设备、存储介质与流程
etl数据同步方法及装置、电子设备、存储介质
技术领域
[0001]
本申请涉及数据存储领域,特别涉及一种etl数据同步方法及装置、电子设备、存储介质。


背景技术:

[0002]
在数据存储领域中,为了满足不同网络中的用户对同一业务数据的访问需求,需要在不同网络的数据存储空间之间进行数据同步(又称,隔离网络间的数据同步)。
[0003]
在相关技术中,为了保证数据的安全性,通常采用线下传输的方式实现隔离网络间的数据同步。例如,可以通过网闸以及部署于其两侧的etl服务器实现。在该实现方式中,由于待同步数据无法直接在网闸中进行传输,因此,需要上游etl服务器将其转换为能够在网闸中传输的文件;相对应的,下游etl服务器还需要将接收到的文件还原为待同步数据,以实现上述数据同步。
[0004]
在该相关技术中,技术人员需要分别在网闸两侧的etl服务器中配置etl任务,以实现待同步数据与传输文件之间的相互转换,操作十分繁琐。


技术实现要素:

[0005]
有鉴于此,本申请提供一种etl数据同步方法及装置、电子设备、存储介质,能够避免相关技术中需要在网闸两侧的etl服务器中分别配置etl任务,而造成的操作繁琐的问题。
[0006]
为实现上述目的,本申请提供技术方案如下:
[0007]
根据本申请的第一方面,提出了一种etl数据同步方法,应用于下游etl服务器,包括:
[0008]
获取上游etl服务器发送的经由网闸转发的配置文件,所述配置文件由所述上游etl服务器根据预设转换规则对etl任务进行转换得到;
[0009]
获取所述上游etl服务器发送的经由网闸转发的传输文件,所述传输文件由所述上游etl服务器根据所述etl任务对待同步数据进行格式转换得到;
[0010]
通过所述预设转换规则将所述配置文件解析为etl任务,并通过解析得到的etl任务将所述传输文件还原为所述待同步数据。
[0011]
根据本申请的第二方面,提出了一种etl数据同步方法,应用于上游etl服务器,包括:
[0012]
基于etl任务将待同步数据转换为传输文件,并将所述传输文件发送至网闸,以由所述网闸将所述传输文件转发至下游etl服务器;
[0013]
根据预设转换规则将etl任务转换为配置文件,并将转换得到的配置文件发送至网闸,以由所述网闸将所述配置文件转发至下游etl服务器,所述配置文件被所述下游etl服务器基于所述预设转换规则解析为etl任务;
[0014]
其中,解析得到的etl任务被所述下游etl服务器用于将接收到的传输文件还原为
所述待同步数据。
[0015]
根据本申请的第三方面,提出了一种etl数据同步装置,应用于下游etl服务器,包括:
[0016]
第一获取单元,获取上游etl服务器发送的经由网闸转发的配置文件,所述配置文件由所述上游etl服务器根据预设转换规则对etl任务进行转换得到;
[0017]
第二获取单元,获取所述上游etl服务器发送的经由网闸转发的传输文件,所述传输文件由所述上游etl服务器根据所述etl任务对待同步数据进行格式转换得到;
[0018]
解析单元,通过所述预设转换规则将所述配置文件解析为etl任务,并通过解析得到的etl任务将所述传输文件还原为所述待同步数据。
[0019]
根据本申请的第四方面,提出了一种etl数据同步装置,应用于上游etl服务器,包括:
[0020]
第一转换单元,基于etl任务将待同步数据转换为传输文件,并将所述传输文件发送至网闸,以由所述网闸将所述传输文件转发至下游etl服务器;
[0021]
第二转换单元,根据预设转换规则将etl任务转换为配置文件,并将转换得到的配置文件发送至网闸,以由所述网闸将所述配置文件转发至下游etl服务器,所述配置文件被所述下游etl服务器基于所述预设转换规则解析为etl任务;
[0022]
其中,解析得到的etl任务被所述下游etl服务器用于将接收到的传输文件还原为所述待同步数据。
[0023]
根据本申请的第五方面,提供一种电子设备,包括:
[0024]
处理器;
[0025]
用于存储处理器可执行指令的存储器;
[0026]
其中,所述处理器通过运行所述可执行指令以实现如第一方面或第二方面所述的方法。
[0027]
根据本申请的第六方面,提供一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现如第一方面或第二方面所述方法的步骤。
[0028]
在本申请的技术方案中,上游etl服务器一方面可以将待同步数据转换为可以通过网闸传输的传输文件,进而通过网闸将基于待同步数据转换得到的传输文件传输至下游etl服务器;另一方面,可以根据预设转换规则将配置的etl任务转换为配置文件,进而通过网闸将转换得到的配置文件传输至下游etl服务器。在此基础上,下游etl服务器即可基于预设转换规则将接收到的配置文件解析为etl任务,进而根据解析得到的etl任务将接收到的传输文件还原为待同步数据,以完成隔离网络间的数据同步。换言之,本申请的技术方案可以通过部署预设转换规则将上游etl中配置的etl任务转换为了能够在网闸中传输的配置文件,使得下游etl服务器能够基于预设转换规则将接收到的配置文件直接解析为etl任务,而无需如相关技术中,技术人员在上游etl服务器中配置了etl任务的前提下,还需在下游etl服务器中配置etl任务,减少了技术人员的配置操作,降低了通过网闸实现隔离网络间的数据同步的人工成本。
附图说明
[0029]
图1是本申请一示例性实施例示出的一种用于实现隔离网络间的数据同步的系统
架构图。
[0030]
图2是本申请一示例性实施例示出的一种etl数据同步方法的流程图。
[0031]
图3是本申请一示例性实施例示出的另一种etl数据同步方法的流程图。
[0032]
图4是本申请一示例性实施例示出的一种电子设备的结构示意图。
[0033]
图5是本申请一示例性实施例示出的一种etl数据同步装置的框图。
[0034]
图6是本申请一示例性实施例示出的另一种etl数据同步装置的框图。
具体实施方式
[0035]
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
[0036]
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
[0037]
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在
……
时”或“当
……
时”或“响应于确定”。
[0038]
etl又名数据仓库技术,是extract-transform-load的缩写,用来描述数据从源端经过抽取(extract)、转换(transform)和加载(load)至目的端的过程。在通过etl实现隔离网络间的数据同步时,通常需要在网闸两侧分别布置etl服务器,以在网闸的一侧将待同步的数据转换为能够在网闸中传输的文件,而在另一侧将经由网闸传输的文件还原为待同步数据。
[0039]
图1为本申请一示例性实施例示出的一种用于实现隔离网络间的数据同步的系统架构图。如图1所示,在该系统架构中包括:上游数据库11、上游etl服务器12、网闸13、下游etl服务器14和下游数据库15。其中,上游数据库11、上游etl服务器12均属于第一网络;而下游数据库15、下游etl服务器14则属于第二网络。需要声明的是,本申请中的etl服务器指的是搭载有etl工具(用于实现待同步数据与传输文件之间的转换的程序)的设备,该etl服务器亦被称作etl系统,既可以如图1中的12或14所示为独立的设备,也可以通过将etl工具搭载于其他设备,如搭载于图1所示的数据库11或15,以在数据库所在的设备上实现etl服务器的功能,本申请对此不作限制。
[0040]
在相关技术中,由于网闸具有特定的传输协议,导致待同步数据无法直接经由网闸13进行传输,而需要首先将其转换为匹配于该传输协议的传输文件,才能够通过网闸13由第一网络传输至第二网络。为此,技术人员需要在第一网络的上游etl服务器12中配置“将待同步数据转换为传输文件”的etl任务,而在第二网络的下游etl服务器14中配置“将传输文件还原为待同步数据”的etl任务。
[0041]
在实际配置etl任务的过程中,由于待同步数据的数据量通常较大,且涉及参数众多,通常需要技术人员花费大量的时间和精力配置etl任务。除此之外,由于技术人员在两个etl服务器中配置的etl任务,为同一数据在不同格式上的相互转换,导致配置的任务参数相差不大,甚至几乎一致。可见,技术人员在下游etl服务器14中配置etl任务的过程几乎是重复劳动,耗费了技术人员大量的时间和精力。
[0042]
为此,本申请提出了一种etl数据同步方法,避免技术人员在上下游etl服务器14中重复配置etl任务的问题。
[0043]
图2为本申请一示例性实施例提出的一种etl数据同步方法,该方法应用于下游etl服务器,如图2所示,该方法可以包括以下步骤:
[0044]
步骤202,获取上游etl服务器发送的经由网闸转发的配置文件,所述配置文件由所述上游etl服务器根据预设转换规则对etl任务进行转换得到。
[0045]
在本申请中,与相关技术中类似的是,用于将待同步数据转换为传输文件的etl任务,仍需要由技术人员配置得到。在该技术人员配置得到的etl任务中记录了待同步数据的相关信息,以及具体如何将待同步数据转换为传输文件的操作方式,例如,可以记录有待同步数据的数据源、数据名称、目标数据库、写入规则、待同步数据与传输文件之间的转换逻辑等。在此基础上,上游etl服务器12即可基于配置的etl任务完成“待同步数据

传输文件”的转换过程。当然,该举例仅是示意性的,技术人员具体如何配置etl任务,可由本领域技术人员根据实际需求确定,在此不作限制。
[0046]
除了根据技术人员配置的etl任务将待同步数据转换为传输文件以外,本申请与相关技术不同的是,上游etl服务器12还需将技术人员配置的etl任务转换为配置文件,以使转换得到的配置文件也可以经由网闸13被传输至下游etl服务器14。应当理解的是,配置文件中所包含的内容与etl任务所包含的内容基本一致,仅在格式上将etl任务转换为了能够通过网闸13进行传输的文件,配置文件可以采用任何一种匹配于网闸13所采用传输协议的文件格式,本申请对此不作限制。在此基础上,下游etl服务器14在接收到配置文件后,即可将该配置文件解析为etl任务,以使技术人员无需在下游etl服务器14处再次配置etl任务,减少了配置etl任务对技术人员时间和精力的占用。
[0047]
在上述过程中,上游etl服务器12用于将etl任务转换为配置文件,以及下游etl服务器14用于将接收到的配置文件解析为etl任务采用的均为预设转换规则,由于两者采用了统一的预设转换规则,保证了etl任务与配置文件之间的顺利转换。
[0048]
在实际应用中,上游etl服务器12可以通过网闸13向下游etl服务器14发送多种不同类型的文件。因此,下游etl服务器14需要从中识别出上述传输文件和配置文件,以进行相应的操作,例如,可以在获取到上游etl服务器12发送的经由网闸13转发的所有文件后,对获取到的所有文件进行解析,以将包含配置文件标识的文件确定为配置文件、将包含传输文件标识的文件确定为传输文件。在此基础上,即可基于预设转换规则将配置文件解析为etl任务,并基于解析得到的etl任务将传输文件还原为待同步数据。
[0049]
举例而言,配置文件标识可以为文件名称的名称格式。例如,该格式可以为task[$num].conf格式,其中:task为名称前缀,num为任务编号,.conf为后缀;该格式还可以为etl[$num].cfg,其中:etl为名称前缀,num为任务编号,.cfg为后缀。当确定接收到的文件的名称格式符合上述名称格式时,即可将该文件确定为配置文件。当然,上述举例仅是示意性
的,除了将文件格式整体作为配置文件标识以外,还可以将文件格式中的任一部分作为配置文件标识,例如,还可以将上述“task”这一前缀或.conf这一后缀作为配置文件标识。配置文件具体采用何种格式进行命名,以及将哪一部分作为配置文件标识可由本领域技术人员根据实际情况确定,本申请对此不作限制。
[0050]
在一实施例中,下游etl服务器14基于配置文件解析得到的etl任务,可以与技术人员在上游etl服务器12中配置的etl任务完全一致。在该情况下,下游etl服务器14根据预设转换规则将配置文件解析为etl任务的过程,为上游etl服务器12根据预设转换规则将技术人员配置的etl任务转换为配置文件的逆过程。
[0051]
在该实施例中,下游etl服务器14解析得到的etl任务所记录的也应当为“待同步数据

传输文件”的转换过程,而下游etl服务器14所要做的是将传输文件还原为待同步数据。因此,在解析得到etl任务后,还需进一步将“待同步数据

传输文件”的etl任务,转换为“传输文件

待同步数据”的etl任务;或者,下游etl服务器14可以预先配置数据还原规则,以直接基于“待同步数据

传输文件”的etl任务实现“传输文件

待同步数据”的还原。
[0052]
在另一实施例中,下游etl服务器14基于配置文件解析得到的etl任务,可以与技术人员在上游etl服务器12中配置的etl任务不一致,例如,技术人员在上游etl服务器12配置的etl任务记录的为“待同步数据

传输文件”转换过程,而下游etl服务器14基于配置文件解析得到的etl任务记录的为“传输文件

待同步数据”的转换过程。
[0053]
在该实施例中,下游etl服务器14可以改变预设转换规则的执行逻辑,以实现将配置文件转换为记录有“传输文件

待同步数据”的etl任务;也可以预先对预设转换规则进行变形,以得到可以用于实现“将配置文件转换为记录有

传输文件

待同步数据

的转换过程的etl任务”的变形后转换规则,在此基础上,下游etl服务器14可以直接基于该变形后转换规则,将接收到的配置文件转换为记录有“传输文件

待同步数据”转换过程的etl任务。
[0054]
在本申请中,上游etl服务器12和下游etl服务器14可以通过唯一确定的预设转换规则实现配置文件与etl任务之间的相互转换,例如,上游etl服务器12和下游etl服务器14可以通过交互预先约定一特定格式的配置文件,并基于该特定格式的配置文件生成唯一确定的预设转换规则。在后续数据同步过程中,上游etl服务器12即可通过该唯一确定的预设转换规则将技术人员配置的etl任务转换为上述特定格式的配置文件,下游etl服务器14同样可以基于该唯一确定的预设转换规则将接收到的该特定格式的配置文件解析为elt任务。
[0055]
通过唯一确定的预设转换规则实现配置文件和etl任务之间的相互转化的优势在于:预设转换规则占用的存储空间较小,且由于规则唯一确定,无需额外的处理资源确定所需的预设转换规则。
[0056]
然而,在实际应用中,对于不同的应用场景、不同的etl任务,可能存在不同的转换需求,例如,对于针对大规模待同步数据配置的etl任务,由于需要转换的待同步数据的数据量较大,导致etl任务本身数据量也较大,此时,应当简化etl任务与配置文件之间的转换逻辑,以适当提高“etl任务与配置文件”之间的转换效率;相应的,对于针对小规模待同步数据配置的etl任务,则应当在保证转换效率的前提下,尽可能地保证传输过程的安全性,即采用相对复杂的转换逻辑。当然,该举例仅是示意性的,在实际的转换过程中,随着转换
场景的变化,转换需求也会随之不断变化。
[0057]
为此,本申请还可以在etl服务器中预先配置若干用于满足不同转换需求的预设转换规则。在此基础上,上游etl服务器12可以根据本次转换的转换需求确定相应的预设转换规则,进而根据确定的预设转换规则将技术人员配置的etl任务转换为配置文件。例如,上游etl服务器12可以在检测到技术人员完成etl任务的配置的情况下,向该技术人员展示可选的若干预设转换规则,以由其直接选取本次转换所采用的预设转换规则;再例如,还可以由技术人员输入待同步数据或所配置etl任务的相关信息,如数据量大小、数据类型、数据格式等,以由上游etl服务器12根据技术人员输入的相关信息从若干预设转换规则中确定出适合本次转换的预设转换规则。当然,该举例仅是示意性的,具体如何确定所采用的预设转换规则,可由本领域技术人员根据实际情况确定,在此不作限制。
[0058]
与上游etl服务器12根据转换需求确定所采用的预设转换规则相对应的,下游etl服务器14在接收到上游etl服务器12发送的经由网闸13转发的配置文件之后,需要从若干预设转换规则中确定出目标转换规则(即上游etl服务器12所采用的预设转换规则)。具体的,下游etl服务器14可以优先确定配置文件的相关信息,并获取已记录的若干预设转换规则,以从获取的若干预设转换规则中确定出与确定的相关信息相对应的目标转换规则。在此基础上,即可基于确定的目标转换规则将配置文件解析为etl任务。
[0059]
在一实施例中,上述配置文件的相关信息可以为该配置文件的名称信息。在该实施例中,各个预设转换规则可以对应于不同的名称格式,上游etl服务器12在将技术人员配置的etl任务转换为配置文件的情况下,可以根据与所采用的预设转换规则对应的名称格式对得到的配置文件进行命名。在此基础上,下游etl服务器14在确定接收到配置文件的名称信息后,可以在若干预设转换规则中匹配与该名称信息的名称格式相对应的预设转换规则,并将匹配得到的转换规则确定为上述目标转换规则。通过名称格式确定目标转换规则的方式,无需确定配置文件的具体内容,即可完成目标转换规则的匹配,使得匹配目标转换规则的操作,占用的处理资源较小。
[0060]
在另一实施例中,上述配置文件的相关信息可以为配置文件所包含的文件内容的内容格式。在该实施例中,各个预设转换规则可以对应于不同的内容格式,上游etl服务器12在将技术人员配置的etl任务转换为配置文件的过程中,可以按照所采用预设转换规则对应的内容格式对配置文件所包含的文件内容进行排版。相应的,下游etl服务器14可以通过解析接收到配置文件,得到其文件内容,并确定该文件内容的内容格式。在此基础上,即可在若干预设转换规则中匹配与该内容格式相对应的预设转换规则,并将匹配得到的转换规则确定为上述目标转换规则。应当理解的是,相较于名称信息,文件内容的数据量较大,其所对应的内容格式所包含的信息也相对较多,而在下游etl服务器14中,配置文件的文件内容必须严格符合内容格式的规定,相应的预设转换规则才会被确定为目标转换规则。可见,通过内容格式确定目标转换规则的方式,能够大幅提高从若干预设转换规则中确定出的目标转换规则的准确率。
[0061]
步骤204,获取所述上游etl服务器发送的经由网闸转发的传输文件,所述传输文件由所述上游etl服务器根据所述etl任务对待同步数据进行格式转换得到。
[0062]
为了保证数据的安全性,网闸13只允许数据的单向传输,即只允许从上游传输至下游。在本申请中,网闸13可以包含如图1所示的两个模块,即上游传输模块131和下游传输
模块132。其中,上游传输模块131用于接收上游etl服务器12发送的文件,而下游传输模块132用于向下游etl服务器14发送从上游传输模块131接收到的文件,两者均无法实现反向的传输,从而保证了网闸13的单向传输。
[0063]
为了提高文件在网闸13中传输的成功率,可以对同一时间段内上游传输模块131和下游传输模块132所执行的传输任务进行限制。
[0064]
在一实施例中,在上游传输模块131接收上游etl服务器12发送的文件的过程中,上游传输模块131不执行向下游传输模块132传输文件的操作,下游传输模块132也不执行向下游etl服务器14发送文件的操作;相应的,在上游传输模块131执行向下游传输模块132传输文件的过程中,上游传输模块131不执行接收上游etl服务器12发送的文件的操作,下游传输模块132也不执行向下游etl服务器14发送文件的操作;再相应的,在下游传输模块132向下游etl服务器14发送文件的过程中,上游传输模块131不执行接收上游etl服务器12发送的文件的操作,上游传输模块131也不执行向下游传输模块132传输文件的操作。换言之,在本实施例中,“上游etl服务器12

上游传输模块131”、“上游传输模块131

下游传输模块132”、“下游传输模块132

下游etl服务器14”三个文件传输过程在同一时间仅执行其中之一。通过该方式,实现了三个文件传输过程的完全隔离,最大程度地保证了传输文件的安全性。
[0065]
在另一实施例中,在上游传输模块131接收上游etl服务器12发送的文件的过程中,上游传输模块131不执行向下游传输模块132传输文件的操作,但下游传输模块132可以执行向下游etl服务器14发送文件的操作;在上游传输模块131执行向下游传输模块132传输文件的过程中,与上一实施例相类似,上游传输模块131不执行接收上游etl服务器12发送的文件的操作,下游传输模块132也不执行向下游etl服务器14发送文件的操作;而在下游传输模块132向下游etl服务器14发送文件的过程中,上游传输模块131可以执行接收上游etl服务器12发送的文件的操作,但上游传输模块131不执行向下游传输模块132传输文件的操作。换言之,对于“上游etl服务器12

上游传输模块131”、“上游传输模块131

下游传输模块132”、“下游传输模块132

下游etl服务器14”这三个文件传输过程,不允许相邻的两个传输过程同时执行。应当理解的是,相邻两个传输过程很可能涉及同一文件,若同时执行,很可能导致文件传输出错;而非相邻传输过程涉及同一文件的可能性较小,同时执行导致文件出错的概率较低,因此,通过避免两个相邻传输过程的同时执行,能大幅降低文件传输出错的概率,且由于非相邻传输过程可以同时执行,提高了文件传输的效率。
[0066]
在实际应用中,网闸13中包含的上述两个传输模块可以为两个文件服务器,即上游文件服务器和下游文件服务器。当然,该举例仅是示意性的,两个模块具体为何种部件可由本领域技术人员根据实际情况确定,在此不作限制。
[0067]
在本申请中,网闸13向下游etl发送配置文件和/或传输文件的操作可以由网闸13主动执行,即在检测到存在配置文件和/或传输文件时,便将检测到的配置文件和/或传输文件发送至下游etl服务器14;网闸13也可以先将从上游etl服务器12接收到的配置文件和/或传输文件保存在本地,且在接收到下游etl服务器14发送的查询消息的情况下,将配置文件和/或传输文件发送至下游etl服务器14,例如,下游etl服务器14可以采用轮询的方式监测网闸13中是否存在配置文件和/或传输文件,即按照预设周期向网闸13发送查询消息的方式,检测是否存在配置文件和/或传输文件。具体的,下游etl服务器14可以将网闸13
作为一个整体,向网闸13发送上述查询消息;也可以将网闸13中的下游传输模块132作为一个单独对象,向下游传输模块132发送上述查询消息。在实际操作中,具体如何发送查询消息可以根据实际需求确定,在本申请中不做限制。
[0068]
步骤206,通过所述预设转换规则将所述配置文件解析为etl任务,并通过解析得到的etl任务将所述传输文件还原为所述待同步数据。
[0069]
在本申请中,技术人员可以在上游数据库11中的数据发生变化时配置etl任务,以对下游数据库15中的数据进行数据同步,例如,该变化可以为数据的新增、更新和删除。在上游数据库11中的数据发生新增时,上述待同步数据即为新增的数据,为此配置的etl任务可以称为新增型etl任务;在上述数据发生更新时,上述待同步数据即为完成更新后的数据,为此配置的etl任务可以称为更新型etl任务,更新型etl任务中除了记录“待同步数据

传输文件”的转换方式以外,还应当记录待同步数据对应的更新前数据的标识,以由下游etl服务器14在删除相应的更新前数据后,再将待同步数据同步至下游数据库15中,保证了上游数据库11与下游数据库15的完全同步;在上游数据库11的数据被删除时,为此配置的etl任务可以称为删除型etl任务,该删除型etl任务不用于实现待同步数据与传输文件之间的相互转换,而仅用于将下游数据库15中的相应数据进行删除。在实际操作中,可以在etl任务中添加相应的类型标识,以区分上述新增型etl任务、更新型etl任务以及删除型etl任务。
[0070]
需要声明的是,本申请中的上游数据库11指的是归属于第一网络的数据存储空间,下游数据库15则指的是归属于第二网络的数据存储空间,其可以为数据库形式、也可以为其他类型的存储空间,具体的,可由本领域技术人员根据实际情况确定,本申请对此不作限制。其中,在采用数据库形式时,其所包含的数据可以以数据表的形式存储,基于此配置的etl任务中还可以包括数据表的id、名称等。
[0071]
除此之外,还需强调的是,本申请中在上游etl服务器配置etl任务的技术人员只是示意性的,在上游etl服务器中配置etl任务的执行者既可以是技术人员,也可以是普通用户。应当理解的是,只需掌握了etl任务配置的专业知识,任何人员均可作为上述执行者,本申请对此不作限制。
[0072]
由上述技术方案可知,本申请通过网闸实现了隔离网络间的数据同步。其中,位于网闸上游的上游etl服务器能够基于技术人员配置的etl任务生成相应的配置文件,该配置文件可以经由网闸被传输至下游etl服务器,以由下游etl服务器将该配置文件解析为etl任务,进而根据解析得到的etl任务完成数据同步。换言之,相较于相关技术中需要分别在上游etl服务器和下游etl服务器中人为配置etl任务,本申请能够减少所需配置的任务数量。以图1所示的系统结构为例,在相关技术中,技术人员需要在上游etl服务器12和下游etl服务器14中分别配置etl任务,以实现第一网络与第二网络间的数据同步。而采用本申请的技术方案之后,技术人员只需在上游etl服务器12中配置etl任务,而无需在下游etl服务器14中配置etl任务。应当理解的是,etl任务用于实现传输文件与待同步数据的相互转换,通常涉及较多参数以及逻辑复杂的转换规则,耗费技术人员较多的时间和精力。可见,通过本申请的技术方案能够大幅减少技术人员在配置etl任务上耗费的时间和精力,进而提高了隔离网络间的数据同步效率。
[0073]
进一步的,本申请中的上游etl服务器和下游etl服务器中可以配置若干预设转换
规则,以满足不同etl任务的转换需求。例如,针对用于实现大规模待同步数据与配置文件之间的转换的etl任务,可以采用转换逻辑相对简单的预设转换规则,以提高转换效率;而针对用于实现小规模待同步数据与配置文件之间的转换的etl任务,可以采用转换逻辑相对复杂的预设转换规则,以提高其安全性。
[0074]
再进一步的,当上游etl服务器和下游etl服务器均保存有若干预设转换规则时,下游etl服务器既可以通过配置文件的名称格式确定上游etl服务器所采用的目标转换规则,也可以通过配置文件所对应文件内容的内容格式确定上游etl服务器所采用的目标转换规则。其中,前者的匹配效率更高,而后者的匹配准确率更高,使得本申请可以根据数据同步过程对准确性和效率的要求,采用相应的匹配规则,提高了本申请的兼容性。
[0075]
与上述应用于下游etl服务器14的数据同步方法相对应的,本申请还提出了一种应用于上游etl服务器12的数据同步方法。需要声明的是,在上一实施例的说明中,已详细介绍了上游etl服务器12所执行的操作,以及各个操作的注意事项。因此,在下一实施例中,不再赘述重复内容,相关之处均可参照上一实施例的介绍。
[0076]
图3为本申请一示例性实施例提出的另一种etl数据同步方法,该方法应用于上游etl服务器,如图3所示,该方法可以包括以下步骤:
[0077]
步骤302,基于etl任务将待同步数据转换为传输文件,并将所述传输文件发送至网闸,以由所述网闸将所述传输文件转发至下游etl服务器。
[0078]
如上所述,与相关技术中类似的是,用于将待同步数据转换为能够在网闸中传输的传输文件的etl任务,仍需要由技术人员配置得到。与相关技术不同的是,上游etl服务器12还需将技术人员配置的etl任务转换为配置文件,以使转换得到的配置文件也可以经由网闸13被传输至下游etl服务器14。在此基础上,下游etl服务器14在接收到配置文件后,即可将该配置文件解析为etl任务,以使技术人员无需在下游etl服务器14处再次配置etl任务,减少了配置etl任务对技术人员时间和精力的占用。
[0079]
如上所述,上游etl服务器12用于将etl任务转换为配置文件,以及下游etl服务器14用于将接收到的配置文件解析为etl任务采用的均为预设转换规则,由于两者采用了统一的预设转换规则,保证了etl任务与配置文件之间的顺利转换。
[0080]
如上所处,上游etl服务器12可以通过网闸13向下游etl服务器14发送多种不同类型的文件。因此,下游etl服务器14需要从中识别出上述传输文件和配置文件,以进行相应的操作,例如,可以在获取到上游etl服务器12发送的经由网闸13转发的所有文件后,对获取到的所有文件进行解析,并将包含配置文件标识的文件确定为配置文件、将包含传输文件标识的文件确定为传输文件。
[0081]
如上所述,下游etl服务器14基于配置文件解析得到的etl任务,可以与技术人员在上游etl服务器12中配置的etl任务完全一致,也可以与技术人员在上游etl服务器12中配置的etl任务不一致。其中,在一致的情况下,在解析得到etl任务后,还需进一步将“待同步数据

传输文件”的etl任务,转换为“传输文件

待同步数据”的etl任务;或者,下游etl服务器14可以预先配置数据还原规则,以直接基于“待同步数据

传输文件”的etl任务实现“传输文件

待同步数据”的还原。而在不一致的情况下,下游etl服务器14可以改变预设转换规则的执行逻辑,以实现将配置文件转换为记录有“传输文件

待同步数据”的etl任务;也可以预先对预设转换规则进行变形,以得到可以用于实现“将配置文件转换为记录有

传输文件

待同步数据

的转换过程的etl任务”的变形后转换规则,在此基础上,下游etl服务器14可以直接基于该变形后转换规则,将接收到的配置文件转换为记录有“传输文件

待同步数据”转换过程的etl任务。
[0082]
如上所述,上游etl服务器12和下游etl服务器14可以通过唯一确定的预设转换规则实现配置文件与etl任务之间的相互转换;也可以在etl服务器中预先配置若干用于满足不同需求的预设转换规则,以满足不同的转换需求。其中,在预先配置若干预设转换规则的情况下,下游etl服务器14可以采用不同的方式确定上游etl服务器12所采用的目标转换规则。在一种情况下,可以基于配置文件的文件名称的名称格式确定;在另一种情况下,可以基于配置文件所对应文件内容的内容格式确定。
[0083]
步骤304,根据预设转换规则将etl任务转换为配置文件,并将转换得到的配置文件发送至网闸13,以由所述网闸13将所述配置文件转发至下游etl服务器,所述配置文件被所述下游etl服务器基于所述预设转换规则解析为etl任务;其中,解析得到的etl任务被所述下游etl服务器用于将接收到的传输文件还原为所述待同步数据。
[0084]
如上所述,网闸13中可以包含两个模块,即上游传输模块131和下游传输模块132。其中,上游传输模块131用于接收上游etl服务器12发送的文件,而下游传输模块132用于向下游etl服务器14发送从上游传输模块131接收到的文件,两者均无法实现反向的传输,从而保证了网闸13的单向传输。在实际应用中,网闸13中包含的上述两个传输模块可以为两个文件服务器,即上游文件服务器和下游文件服务器。
[0085]
如上所述,为了提高文件在网闸13中传输的成功率,可以对同一时间段内上游传输模块131和下游传输模块132所执行的传输任务进行限制。在一种情况下,“上游etl服务器12

上游传输模块131”、“上游传输模块131

下游传输模块132”、“下游传输模块132

下游etl服务器14”三个文件传输过程在同一时间仅执行其中之一。在另一种情况下,对于“上游etl服务器12

上游传输模块131”、“上游传输模块131

下游传输模块132”、“下游传输模块132

下游etl服务器14”这三个文件传输过程,不允许相邻的两个传输过程同时执行。
[0086]
如上所述,网闸13向下游etl发送配置文件和/或传输文件的操作可以由网闸13主动执行;网闸13也可以先将从上游etl服务器12接收到的配置文件和/或传输文件保存在本地,且在接收到下游etl服务器14发送的查询消息的情况下,将配置文件和/或传输文件发送至下游etl服务器14,
[0087]
如上所述,技术人员可以在上游数据库11中的数据发生变化时配置etl任务,以对下游数据库15中的数据进行数据同步,例如,该变化可以为数据的新增、更新和删除。
[0088]
如上所述,本申请中的上游数据库11指的是归属于第一网络的数据存储空间,下游数据库15则指的是归属于第二网络的数据存储空间,其可以为数据库形式、也可以为其他类型的存储空间,具体的,可由本领域技术人员根据实际情况确定,本申请对此不作限制。
[0089]
由上述技术方案可知,本申请中的上游etl服务器将技术人员配置的etl任务转换为配置文件,该配置文件经由网闸被转发至下游etl服务器,以由下游etl服务器解析得到etl任务,避免了相关技术中需要技术人员在上游etl服务器和下游etl服务器分别配置任务的问题,减少了etl任务配置过程对技术人员时间和精力的占用,提高了隔离网络间的数
据同步效率。
[0090]
图4为本申请的一示例性实施例示出一种电子设备的示意结构图。请参考图4,在硬件层面,该电子设备包括处理器402、内部总线404、网络接口406、内存408以及非易失性存储器410,当然还可能包括其他业务所需要的硬件。处理器402从非易失性存储器410中读取对应的计算机程序到内存408中然后运行,在逻辑层面上形成etl数据同步装置。当然,除了软件实现方式之外,本申请并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
[0091]
请参考图5,在软件实施方式中,下游etl服务器侧的etl数据同步装置可以包括:
[0092]
第一获取单元501,获取上游etl服务器发送的经由网闸转发的配置文件,所述配置文件由所述上游etl服务器根据预设转换规则对etl任务进行转换得到;
[0093]
第二获取单元502,获取所述上游etl服务器发送的经由网闸转发的传输文件,所述传输文件由所述上游etl服务器根据所述etl任务对待同步数据进行格式转换得到;
[0094]
解析单元503,通过所述预设转换规则将所述配置文件解析为etl任务,并通过解析得到的etl任务将所述传输文件还原为所述待同步数据。
[0095]
可选的,还包括:
[0096]
第三获取单元504,获取所述上游etl服务器发送的经由网闸转发的所有文件;
[0097]
第一确定单元505,将获取到的文件中包含配置文件标识的文件确定为所述配置文件、包含传输文件标识的文件确定为所述传输文件。
[0098]
可选的,还包括:
[0099]
第二确定单元506,确定所述配置文件的相关信息;
[0100]
解析单元503具体用于:获取所述下游etl服务器中记录的若干预设转换规则,从所述若干预设转换规则中确定出与所述相关信息相对应的目标转换规则;基于确定的目标转换规则将所述配置文件解析为etl任务。
[0101]
第二确定单元506具体用于:所述确定所述配置文件的相关信息,包括:确定所述配置文件的名称信息;
[0102]
解析单元503具体用于:在所述若干预设转换规则中匹配与所述名称信息的名称格式相对应的预设转换格式,将匹配得到的预设转换规则确定为所述目标转换规则。
[0103]
第二确定单元506具体用于:解析得到所述配置文件的文件内容,以确定所述文件内容的内容格式;
[0104]
解析单元503具体用于:在所述若干预设转换规则中匹配与所述内容格式相对应的预设转换规则,将匹配得到的预设转换规则确定为所述目标转换规则。
[0105]
请参考图6,在软件实施方式中,上游etl服务器侧的etl数据同步装置可以包括:
[0106]
第一转换单元601,基于etl任务将待同步数据转换为传输文件,并将所述传输文件发送至网闸,以由所述网闸将所述传输文件转发至下游etl服务器;
[0107]
第二转换单元602,根据预设转换规则将etl任务转换为配置文件,并将转换得到的配置文件发送至网闸,以由所述网闸将所述配置文件转发至下游etl服务器,所述配置文件被所述下游etl服务器基于所述预设转换规则解析为etl任务;
[0108]
其中,解析得到的etl任务被所述下游etl服务器用于将接收到的传输文件还原为
所述待同步数据。
[0109]
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
[0110]
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器,上述指令可由etl数据同步装置的处理器执行以实现如上述实施例中任一所述的方法,比如该方法可以包括:获取上游etl服务器发送的经由网闸转发的配置文件,所述配置文件由所述上游etl服务器根据预设转换规则对etl任务进行转换得到;获取所述上游etl服务器发送的经由网闸转发的传输文件,所述传输文件由所述上游etl服务器根据所述etl任务对待同步数据进行格式转换得到;通过所述预设转换规则将所述配置文件解析为etl任务,并通过解析得到的etl任务将所述传输文件还原为所述待同步数据。
[0111]
其中,所述非临时性计算机可读存储介质可以是rom、随机存取存储器(ram)、cd-rom、磁带、软盘和光数据存储设备等,本申请并不对此进行限制。
[0112]
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1