掌桥专利:专业的专利平台
掌桥专利
首页

一种基于离线同步工具的数据采集方法、装置及储存介质

文献发布时间:2023-06-19 18:37:28


一种基于离线同步工具的数据采集方法、装置及储存介质

技术领域

本申请涉及数据采集技术领域,尤其涉及一种基于离线同步工具的数据采集方法、装置及储存介质。

背景技术

数字化转型是指建立在数字化转换、数字化升级基础上,进一步触及公司核心业务,以新建一种商业模式为目标的高层次转型。数字化转型是开发数字化技术及支持能力以新建一个富有活力的数字化商业模式;企业在数字化转型过程中,通常面临着最直接的问题-数据采集难,即数据分散在各业务系统中,短期无法实现集中整合汇聚,数据采集汇聚过程中,通常会面对大量异构数据源,包括存储在关系型数据库、HDFS、FTP、国产数据库、云原生数据库、消息队列Kafka等数据以及通过API提供的数据。

为实现数据整合汇聚,现有技术通过大量的脚本去适配这些异构数据源达到数据的集成使用,针对每个异构数据源都配置一个或多个对应的脚本,从而通过脚本来实现多个异构数据源的汇聚,这就导致在脚本开发上需要花费大量的工作量,数据采集效率低下。

发明内容

为了解决上述技术问题,本申请提供了一种基于离线同步工具的数据采集方法、装置及储存介质,使得异构数据源的数据采集效率得到提高。

本申请第一方面提供了一种基于离线同步工具的数据采集方法,包括:

平台通过离线同步工具确定待采集数据的源数据库,并建立与所述源数据库的数据传输通道,所述离线同步工具集成在所述平台内部,所述平台还集成有任务调度器;

所述平台根据所述源数据库的类型获取任务调度模板;

所述平台根据所述任务调度模板及所述源数据库构建采集任务;

所述平台通过所述离线同步工具及所述任务调度器执行所述采集任务;

所述平台根据所述采集任务在所述数据传输通道上将所述待采集数据采集到目标数据库中。

可选的,所述平台根据所述任务调度模板及所述源数据库构建采集任务包括:

所述平台根据所述目标数据库获取数据转化规则;

所述平台根据所述任务调度模板、所述源数据库及所述数据转化规则构建采集任务。

可选的,在所述平台通过所述离线同步工具及所述任务调度器执行所述采集任务之前,在所述建立与所述源数据库的数据传输通道之后,所述数据采集方法还包括:

所述平台根据所述源数据库设置格式转化规则,所述格式转化规则用于将所述采集数据的数据格式转化为所述离线同步工具所支持的格式;

所述平台根据所述采集任务在所述数据传输通道上将所述待采集数据采集到目标数据库中包括:

所述平台根据所述采集任务及所述格式转化规则在所述数据传输通道上将所述待采集数据采集到目标数据库中。

可选的,所述平台根据所述采集任务在所述数据传输通道上将所述待采集数据采集到目标数据库中包括:

所述平台在所述数据传输通道上对所述待采集数据进行数据监控及数据检验,并形成日志记录。

可选的,所述平台根据所述采集任务在所述数据传输通道上将所述待采集数据采集到目标数据库中包括:

所述平台根据所述采集任务确定目标采集数据;

所述平台在所述数据传输通道上将所述目标采集数据到所述目标数据库中。

可选的,所述建立与所述源数据库的数据传输通道包括:

所述平台获取所述源数据库对应的类型连接器;

所述平台将所述类型连接器集成到所述离线同步工具中。

本申请第二方面提供了一种基于离线同步工具的数据采集装置,包括:

确定单元,用于平台通过离线同步工具确定待采集数据的源数据库,并建立与所述源数据库的数据传输通道,所述离线同步工具集成在所述平台内部,所述平台还集成有任务调度器;

获取单元,用于所述平台根据所述源数据库的类型获取任务调度模板;

构建单元,用于所述平台根据所述任务调度模板及所述源数据库构建采集任务;

执行单元,用于所述平台通过所述离线同步工具及所述任务调度器执行所述采集任务;

采集单元,用于所述平台根据所述采集任务在所述数据传输通道上将所述待采集数据采集到目标数据库中。

可选的,所述构建单元包括:

第一获取模块,用于所述平台根据所述目标数据库获取数据转化规则;

构建模块,用于所述平台根据所述任务调度模板、所述源数据库及所述数据转化规则构建采集任务。

可选的,所述数据采集装置还包括:

设置单元,用于所述平台根据所述源数据库设置格式转化规则,所述格式转化规则用于将所述采集数据的数据格式转化为所述离线同步工具所支持的格式;

所述采集单元包括:

第一采集模块,用于所述平台根据所述采集任务及所述格式转化规则在所述数据传输通道上将所述待采集数据采集到目标数据库中。

可选的,所述采集单元包括:

处理模块,用于所述平台在所述数据传输通道上对所述待采集数据进行数据监控及数据检验,并形成日志记录。

可选的,所述采集单元包括:

确定模块,用于所述平台根据所述采集任务确定目标采集数据;

第二采集模块,用于所述平台在所述数据传输通道上将所述目标采集数据到所述目标数据库中。

可选的,所述确定单元包括:

第二获取模块,用于所述平台获取所述源数据库对应的类型连接器;

集成模块,用于所述平台将所述类型连接器集成到所述离线同步工具中。

本申请第三方面提供了一种基于离线同步工具的数据采集的装置,包括:

中央处理器,存储器,输入输出接口,有线或无线网络接口以及电源;

所述存储器为短暂存储存储器或持久存储存储器;

所述中央处理器配置为与所述存储器通信,并执行所述存储器中的指令操作以执行第一方面以及第一方面的可选方式中的任意一种所述的方式。

本申请第四方面提供了一种计算机可读存储介质,包括指令,当所述指令在计算机上运行时,使得计算机执行第一方面以及第一方面的可选方式中的任意一种所述的方式。

从以上技术方案可以看出,本申请具有以下效果:

通过在平台上集成离线同步工具及任务调度器,然后平台通过该离线同步工具确定待抽取数据的源数据库,并建立与源数据库之间的数据传输通道,接着平台根据该源数据库的类型获取任务调度模板,再根据任务调度模板及源数据库构建采集任务,最后平台通过离线同步工具及任务调度器执行该采集任务,平台根据采集任务在数据传输通道上将待采集数据采集到目标数据库中,实现对源数据库的数据采集,这样,不需要针对每个源数据库都进行脚本的构建,减少了构建脚本的开发工作量,提高了数据采集的采集效率。

附图说明

为了更清楚地说明本申请中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本申请一种基于离线同步工具的数据采集方法的一个流程示意图;

图2为本申请一种基于离线同步工具的数据采集方法的另一个流程示意图;

图3为本申请一种基于离线同步工具的数据采集装置的一个示意图;

图4为本申请一种基于离线同步工具的数据采集装置的另一个示意图;

图5为本申请一种基于离线同步工具的数据采集装置的另一个示意图。

具体实施方式

本申请提供了一种基于离线同步工具的数据采集方法、装置及储存介质,用于提高数据采集效率。

需要说明的是,本申请提供的基于离线同步工具的数据采集方法,可以应用于平台、终端也可以应用于系统,还可以应用于服务器上,例如终端可以是智能手机或电脑、平板电脑、智能电视、智能手表、便携计算机终端也可以是台式计算机等固定终端。为方便阐述,本申请中以平台为执行主体进行举例说明。

请参阅图1,图1是本申请提供的一种基于离线同步工具的数据采集方法中一个实施例的一个流程示意图,该数据采集方法包括:

101、平台通过离线同步工具确定待采集数据的源数据库,并建立与源数据库的数据传输通道,离线同步工具集成在平台内部,平台还集成有任务调度器。

本申请中的离线同步工具为dataX,dataX集成在平台中,且平台上还集成有任务调度器,任务调度器在执行采集任务时使用;待采集的数据存储在各个源数据库中,源数据库包括关系型数据库、HDFS、FTP、国产数据库、云原生数据库等,不同的企业所使用的源数据库不同,在本实施例中,平台通过dataX确定企业所使用的源数据库,在明确企业所使用的源数据库为哪些之后,平台建立与这些源数据库之间的数据传输通道,当平台采集数据时,数据通过数据传输通道传输至目标数据库。

可选的,在平台建立与源数据库之间的数据传输通道的过程中,平台首先获取源数据库对应的类型连接器,然后平台将类型连接器集成到离线同步工具dataX中,实际的,dataX设置有读写插件,将源数据库的类型连接器集成到DataX的读写插件中,当类型连接器集成到dataX上时,则表示数据传输通道建立完成。

102、平台根据源数据库的类型获取任务调度模板。

针对每个源数据库都配置有一个任务调度模板,每个源数据库的数据类型存在不同,在平台采集数据过程中,平台首先确定源数据库的类型,并根据源数据库及其类型选用合适的任务调度模板,任务调度模板为人工配置,在数据采集之前,通过人工针对不同的源数据库类型进行配置不同的任务调度模板,任务调度模板中包括调度周期、调度策略等,即在平台采集数据时,多长时间采集一次,采集的策略等。在本实施例中,平台在确定源数据库后,再确定源数据库所对应的数据类型,并根据这些数据类型获取预先配置好的任务调度模板,任务调度模板在构建采集任务时使用。

103、平台根据任务调度模板及源数据库构建采集任务。

在平台根据源数据库的类型获取到对应的任务调度模板后,平台根据该任务调度模板及对应得到源数据库构建采集任务,在本实施例中,采集任务中包括需要采集的数据、数据类型、在哪个源数据库中采集哪些数据等,例如:采集任务为在第一源数据库中采集全部数据,在第二源数据库中采集数据类型为a的数据。

可选的,在构建采集任务的过程中包括:首先平台根据目标数据库获取数据转化规则,然后平台则根据数据转化规则、任务调度模板及源数据库构建采集任务。实际的,源数据库中的数据不需要全部采集,此时,平台根据目标数据库获取数据转化规则,数据转化规则预先由人工配置,数据转化规则中包括数据过滤,在采集数据时,通过数据转化规则将目标数据库不需要的数据进行过滤,使得采集过程中不将多余的数据采集,仅采集目标数据库中需要的数据。例如:目标数据库中的目标表中共有5个数据,分别为1、2、3、4及5,而实际需要采集的数据为1和2,那么数据转化规则则是仅采集数据1和数据2,在数据采集过程中,平台通过数据转化规则将数据3、4及5过滤掉,仅采集数据1与数据2到目标数据库中。

104、平台通过离线同步工具及任务调度器执行采集任务。

在步骤103中构建好采集任务后,平台通过离线同步工具及任务调度器执行该采集任务,在执行采集任务后,平台开始根据采集任务对源数据库中的数据进行采集,其中,任务调度器调度该采集任务对应的任务调度模板,离线同步工具dataX与任务调度器配合执行该采集任务,执行之后,平台便根据该采集任务进行数据采集工作。采集任务是根据任务调度模板构建的,所以在采集任务中还包括有任务调度模板中的调度周期,调度策略等。

105、平台根据采集任务在数据传输通道上将待采集数据采集到目标数据库中。

在数据采集过程中,采集到的数据从步骤101中建立的数据传输通道中传输,实际的,平台还与目标数据库连接,从源数据库中采集到的数据从数据传输通道传输至目标数据库中,进一步的,数据采集之后,通过数据加载的方式加载到目标数据库中。

可选的,具体的采集过程为:平台首先根据采集任务确定目标数据,然后平台在将目标数据采集,并通过数据传输通道采集到目标数据库中。源数据库具有多个,平台需要从采集任务中确定本次采集的对象的哪些源数据库,所以,平台根据采集任务确定目标数据,再根据目标数据确定目标源数据库,然后再目标源数据库中将待采集数据采集到目标数据库中。

可选的,平台在数据传输通道上对待采集数据进行数据监控、数据检验,并形成日志记录,实际的,数据在数据传输通道上传输的过程为数据采集过程,平台在数据采集的过程中进行数据监控、数据检验,并形成日志的操作,数据监控用于监控数据传输速度、数据传输流量,还监控采集任务的执行状态等,该数据监控过程为实时监控;数据检验用于对数据的质量进行检验,对脏数据的监测,脏数据为目标数据库中不需要的数据,在监测到脏数据后,平台对脏数据进行过滤;日志记录记载数据监控及数据检验的过程,通过日志记录反映数据传输过程中的状态,能够及时了解数据监控的过程。

本实施例中,平台上集成有离线同步工具及任务调度器,平台通过离线同步工具确定待采集数据的源数据库,并与源数据库建立数据传输通道,接着平台根据源数据库的类型获取任务调度模板,再接着平台根据该任务调度模板及源数据库构建采集任务,然后平台通过离线同步平台与任务调度器执行该采集任务,最后平台则根据该采集任务在数据传输通道上将源数据库中的待采集数据采集到目标数据库中,实现数据的采集,这样,不需要针对各个源数据都开发一个或者多个脚本,能够减少脚本的开发工作量,提高数据采集的效率。

请参阅图2,图2是本申请提供的一种基于离线同步工具的数据采集方法另一个实施例的一个流程示意图,该数据采集方法包括:

201、平台通过离线同步工具确定待采集数据的源数据库,并建立与源数据库的数据传输通道,离线同步工具集成在平台内部,平台还集成有任务调度器。

202、平台根据源数据库的类型获取任务调度模板。

203、平台根据任务调度模板及源数据库构建采集任务。

本实施例中的步骤201至203与前述图1实施例中的步骤101至103类似,此处不再赘述。

204、平台根据源数据库设置格式转化规则,格式转化规则用于将采集数据的数据格式转化为离线同步工具所支持的格式。

本实施例中,离线同步工具为dataX,格式转化规则是将源数据库的数据格式转化为dataX所支持的格式,dataX所支持的格式包括Long、Double、Data、String等,在实际使用时,将源数据库中待采集数据的数据格式按照格式转化规则转化为dataX所支持的格式。例如,待采集数据所在的数据库为Mysql数据库,格式转化规则为int、tinyint及smallint格式转变为Double格式,即在Mysql数据库中格式为int、tinyint及smallint的待采集数据在采集过程中,数据格式按照格式转化规则转变为dataX所支持的Double格式。需要说明的是,格式转化规则在数据采集的过程中使用。

205、平台通过离线同步工具及任务调度器执行采集任务。

本实施例中的步骤205与前述图1实施例中的步骤104类似,此处不再赘述。

206、平台根据采集任务及格式转化规则在数据传输通道上将待采集数据采集到目标数据库中。

在设置好格式转化规则后,平台将数据采集到目标数据库的过程中,所采集到的数据则会先按照格式转化规则转变数据格式,然后才加载到目标数据库中。其中,格式转化规则在步骤204中已做详细描述,此处不再赘述;另外,具体数据采集的过程在步骤105中已做详细说明,此处不再赘述。

请参阅图3,图3是本申请提供的一种基于离线同步工具的数据采集装置的一个示意图,该数据采集装置包括:

确定单元301,用于平台通过离线同步工具确定待采集数据的源数据库,并建立与源数据库的数据传输通道,离线同步工具集成在平台内部,平台还集成有任务调度器;

获取单元302,用于平台根据源数据库的类型获取任务调度模板;

构建单元303,用于平台根据任务调度模板及源数据库构建采集任务;

执行单元304,用于平台通过离线同步工具及任务调度器执行采集任务;

采集单元305,用于平台根据采集任务在数据传输通道上将待采集数据采集到目标数据库中。

本实施例中,首先平台中的确定单元301通过离线同步工具确定待采集数据的源数据库,并建立与源数据库的数据传输通道,接着平台中的获取单元302则根据源数据库的类型获取调度模板,然后平台中的构建单元303则根据任务调度模板就源数据库构建采集任务,再然后平台中的执行单元304则通过离线同步工具及任务调度器执行采集任务,离线同步工具及任务调度器均集成在平台中,最后,平台中的采集单元305则根据采集任务在数据传输通道上将待采集数据采集到目标数据库中,实现数据采集,这样,不需要针对多个源数据库分别开发对应的脚本,从而能够减少脚本的开发工作量,提高数据的采集效率。

请参阅图4,图4是本申请提供的一种基于离线同步工具的数据采集装置的另一个示意图,该数据采集装置包括:

确定单元401,用于平台通过离线同步工具确定待采集数据的源数据库,并建立与源数据库的数据传输通道,离线同步工具集成在平台内部,平台还集成有任务调度器;

确定单元401包括:

第二获取模块4011,用于平台获取源数据库对应的类型连接器;

集成模块4012,用于平台将类型连接器集成到离线同步工具中;

获取单元402,用于平台根据源数据库的类型获取任务调度模板;

构建单元403,用于平台根据任务调度模板及源数据库构建采集任务;

构建单元403包括:

第一获取模块4031,用于平台根据目标数据库获取数据转化规则;

构建模块4032,用于平台根据任务调度模板、源数据库及数据转化规则构建采集任务;

执行单元404,用于平台通过离线同步工具及任务调度器执行采集任务;

设置单元405,用于平台根据源数据库设置格式转化规则,格式转化规则用于将采集数据的数据格式转化为离线同步工具所支持的格式;

采集单元406,用于平台根据采集任务在数据传输通道上将待采集数据采集到目标数据库中;

采集单元406包括:

第一采集模块4061,用于平台根据采集任务及格式转化规则在数据传输通道上将待采集数据采集到目标数据库中;

处理模块4062,用于平台在数据传输通道上对待采集数据进行数据监控及数据检验,并形成日志记录;

确定模块4063,用于平台根据采集任务确定目标采集数据;

第二采集模块4064,用于平台在数据传输通道上将目标采集数据到目标数据库中。

请参阅图5,图5是本申请提供的一种基于离线同步工具的数据采集装置的另一个示意图,该数据采集装置包括:

中央处理器502,存储器501,输入输出接口503,有线或无线网络接口504以及电源505;

存储器501为短暂存储存储器或持久存储存储器;

中央处理器502配置为与存储器501通信,并执行存储器501中的指令操作以执行前述图1至图2所示实施例中的步骤。

本申请提供了一种计算机可读存储介质,包括指令,当该指令在计算机上运行时,使得计算机执行前述图1至图2所示实施例中的步骤。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,read-onlymemory)、随机存取存储器(RAM,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。

技术分类

06120115635837