本发明专利技术公开了一种数据同步的方法,包括以下步骤:在Azkaban中封装自定义任务类型;配置数据的同步信息,同步信息包括原始数据源、数据名称、目标数据源;根据同步信息和自定义任务类型生成调度任务;执行调度任务完成数据同步。本发明专利技术公开的数据同步的方法,可实现数据同步的分布式计算、高效稳定,适用于高吞吐、大并发的数据场景。本发明专利技术还提供了一种数据同步的的系统、计算设备及存储介质。
A method, system, computing equipment and storage medium of data synchronization
【技术实现步骤摘要】
一种数据同步的方法、系统、计算设备及存储介质
本专利技术涉及大数据处理领域,特别涉及一种数据同步的方法、系统、计算设备及存储介质。
技术介绍
目前,在大数据时代,数据具有海量、高增长、多样化等特点,在实际的大数据处理中,常常需要将一个系统中的数据变化及时的同步到另一个系统,或将一个数据库的数据变化同步到另一个数据库,即进行数据同步。现有的数据同步的方法,如使用DataX进行数据同步时,往往存在单机内存不足、CPU处理性能不足以及网络吞吐能力不足等问题,从而无法有效应用于高吞吐、大并发的数据场景。因此,急需一种能实现分布式计算、高效稳定,适用于高吞吐、大并发的数据场景中的数据同步的方法。
技术实现思路
本专利技术的目的在于提供一种数据同步的方法,以解决现有技术中数据同步时网络吞吐能力不足的问题。为解决上述技术问题,本专利技术的实施方式公开了一种数据同步的方法,包括以下步骤:在Azkaban中封装自定义任务类型;配置数据的同步信息,同步信息包括原始数据源、数据名称、目标数据源;根据同步信息和自定义任务类型生成调度任务;执行调度任务完成数据同步。采用上述技术方案,可实现数据同步的分布式计算、高效稳定,适用于高吞吐、大并发的数据场景。可选地,自定义任务类型为Kubernetes任务,数据同步的方法还包括以下步骤:在Kubernetes中封装同步容器。可选地,执行调度任务完成数据同步的步骤,包括:调用Kubernetes,生成对应于调度任务的KubernetesJob任务;执行KubernetesJob任务完成数据同步。可选地,同步容器为DataX同步容器,执行KubernetesJob任务完成数据同步的步骤,包括:根据同步信息获取原始数据表及对应于原始数据表的元信息;根据原始数据表和元信息生成配置信息;调用DataX读取配置信息完成数据同步。可选地,同步信息还包括限速信息。可选地,数据同步的方法还包括以下步骤:当调度任务执行失败时,重试调度任务。本专利技术的实施方式还公开了一种数据同步的系统,包括:配置模块,用于配置数据的同步信息,同步信息包括原始数据源、数据名称、目标数据源;Azkaban模块,Azkaban模块包括第一封装单元、调度单元和执行单元,第一封装单元用于封装自定义任务类型,调度单元用于生成调度任务,执行单元用于执行调度任务;对应于自定义任务类型的自定义模块,自定义模块用于被执行单元调用以执行调度任务。采用上述技术方案的数据同步的系统,可实现数据同步的分布式计算、高效稳定,适用于高吞吐、大并发的数据场景。可选地,还包括DataX模块,自定义模块为Kubernetes模块,自定义任务类型为Kubernetes任务,执行单元包括Kubernetes接口,Kubernetes接口用于调用Kubernetes模块生成KubernetesJob任务,Kubernetes模块包括第二封装单元,第二封装单元用于封装DataX同步容器,DataX模块用于被Kubernetes模块调用以完成数据同步。可选地,同步信息还包括限速信息。可选地,Azkaban模块还包括监测单元,监测单元用于监测调度任务的完成情况,并发送信号给执行单元。本专利技术的实施方式还公开了一种计算设备,包括:处理器,适于实现各种指令;存储器,适于存储多条指令,指令适于由处理器加载并前述的任一数据同步的方法。采用上述技术方案的计算设备,使用时可实现数据同步的分布式计算、高效稳定,适用于高吞吐、大并发的数据场景。本专利技术的实施方式还公开了一种存储介质,存储介质存储有多条指令,指令适于由处理器加载并执行前述的任一数据同步的方法。采用上述技术方案的存储介质,应用时可实现数据同步的分布式计算、高效稳定,适用于高吞吐、大并发的数据场景。附图说明图1示出本专利技术一实施例的数据同步的方法的流程图;图2示出本专利技术又一实施例的数据同步的方法的流程图;图3示出本专利技术一实施例中步骤S4的流程图;图4示出本专利技术一实施例中步骤S42的流程图;图5示出本专利技术另一实施例的数据同步的方法的流程图;图6示出本专利技术一实施例的数据同步的系统的示意框图;图7示出本专利技术又一实施例的数据同步的系统的示意框图;图8示出本专利技术一实施例的Azkaban模块的示意框图。具体实施方式以下由特定的具体实施例说明本专利技术的实施方式,本领域技术人员可由本说明书所揭示的内容轻易地了解本专利技术的其他优点及功效。虽然本专利技术的描述将结合较佳实施例一起介绍,但这并不代表此专利技术的特征仅限于该实施方式。恰恰相反,结合实施方式作专利技术介绍的目的是为了覆盖基于本专利技术的权利要求而有可能延伸出的其它选择或改造。为了提供对本专利技术的深度了解,以下描述中将包含许多具体的细节。本专利技术也可以不使用这些细节实施。此外,为了避免混乱或模糊本专利技术的重点,有些具体细节将在描述中被省略。需要说明的是,在不冲突的情况下,本专利技术中的实施例及实施例中的特征可以相互组合。应注意的是,在本说明书中,相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。为使本专利技术的目的、技术方案和优点更加清楚,下面将结合附图对本专利技术的实施方式作进一步地详细描述。参照图1所示,本专利技术的实施方式公开了一种数据同步的方法,包括以下步骤,S1:在Azkaban中封装自定义任务类型;S2:配置数据的同步信息,同步信息包括原始数据源、数据名称、目标数据源;S3:根据同步信息和自定义任务类型生成调度任务;S4:执行调度任务完成数据同步。在S1中,因为Azkaban具有很强的兼容性,因此用户可根据数据同步的需求,例如原始数据源、使用软件等信息的不同,在Azkaban上封装自定义任务类型。例如,当用户侧多使用Hadoop系统时,可在Azkaban封装对应Hadoop的自定义任务类型,则在后续的数据同步过程中,在选择自定义任务类型为Hadoop任务时,可调用Hadoop进行数据同步。又例如,当用户侧多使用Kubernetes时,可在Azkaban封装对应的Kubernetes任务,则在后续的数据同步过程中,在选择自定义任务类型为Kubernetes任务时,可调用Kubernetes进行数据同步。本专利技术不对自定义任务类型的数量和具体内容进行限制,可根据实际需要进行选择,只要可实现在Azkaban中使用对应的接口,调用对应的模块即可。可以理解的是,S1并非在每次数据同步过程中都需进行,即完成一次封装之后,在后续的多次数据同步过程中均能进行调用,当有需要时,可对应增加、删除或修改的自定义任务类型。在S2中,用户可根据数据同步的需要,通过Web端的UI界面配置相应的同步信息。例如,需要同步的原始数据源、数据名称、目标数据源、同步时间、本文档来自技高网...
【技术保护点】
1.一种数据同步的方法,其特征在于,包括以下步骤:/n在Azkaban中封装自定义任务类型;/n配置数据的同步信息,所述同步信息包括原始数据源、数据名称、目标数据源;/n根据所述同步信息和所述自定义任务类型生成调度任务;/n执行所述调度任务完成数据同步。/n
【技术特征摘要】
1.一种数据同步的方法,其特征在于,包括以下步骤:
在Azkaban中封装自定义任务类型;
配置数据的同步信息,所述同步信息包括原始数据源、数据名称、目标数据源;
根据所述同步信息和所述自定义任务类型生成调度任务;
执行所述调度任务完成数据同步。
2.如权利要求1所述的数据同步的方法,其特征在于,所述自定义任务类型为Kubernetes任务,所述数据同步的方法还包括以下步骤:
在Kubernetes中封装同步容器。
3.如权利要求2所述的数据同步的方法,其特征在于,所述执行所述调度任务完成数据同步的步骤,包括:
调用所述Kubernetes,生成对应于所述调度任务的KubernetesJob任务;
执行所述KubernetesJob任务完成数据同步。
4.如权利要求3所述的数据同步的方法,其特征在于,所述同步容器为DataX同步容器,所述执行所述KubernetesJob任务完成数据同步的步骤,包括:
根据所述同步信息获取原始数据表及对应于所述原始数据表的元信息;
根据所述原始数据表和所述元信息生成配置信息;
调用DataX读取所述配置信息完成数据同步。
5.如权利要求4所述的数据同步的方法,其特征在于,所述同步信息还包括限速信息。
6.如权利要求1所述的数据同步的方法,还包括以下步骤:
当所述调度任务执行失败时,重试所述调度任务。
7.一种数据同步的系统,其特征在于,包括:
配置模块,用于配置数据的同步信息,所述同步信息包括原始数...
【专利技术属性】
技术研发人员:郑永升,石磊,汤昭荣,
申请(专利权)人:杭州依图医疗技术有限公司,
类型:发明
国别省市:浙江;33
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。