一种数据同步方法、装置、系统及存储介质制造方法及图纸

技术编号:28558589 阅读:11 留言:0更新日期:2021-05-25 17:52
本公开提供了一种数据同步的方法、装置、系统及存储介质,应用于同步服务器,所述方法包括:读取分布式应用程序协调系统中的多个同步任务,每个所述同步任务包含任务分配对象,同步数据的源地址及目的地址;当存在多个所述同步任务的任务分配对象为所述同步服务器时,针对每个所述同步任务建立多组消费者线程和生产者线程;根据每个所述同步数据的源地址,启动对应的消费者线程连接源同步对象进行同步数据读取;根据每个所述同步数据的目的地址,启动对应的生产者线程连接目的同步对象进行同步数据的写入,以至少解决目前uReplicator集群无法实现多个集群之间数据同步的问题。

【技术实现步骤摘要】
一种数据同步方法、装置、系统及存储介质
本公开涉及信息处理
,特别是涉及一种数据同步方法、装置、系统及存储介质。
技术介绍
Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者在网站中的所有动作流数据,是在现代网络上的许多社会功能的一个关键因素。在实际应用中,当一个消息系统Kafka集群将topic数据镜像到另外一个Kafka集群时,需要借助Kafka集群中的MirroMaker的工具实现,由于MirroMaker工具不是集群化的服务,因此上述工具无法解决大量数据镜像任务的场景。为了实现大量数据镜像任务,通常采用uReplicator集群实现,具体的,在uReplicator集群中的Worker启动之前,预先在配置文件中写入一个源Kafka集群地址和一个目的Kafka集群地址,并且一个uReplicator集群配置文件中只会配置一个源Kafka集群地址和一个目的集群地址,因此当该集群启动后,只能执行从固定源Kafka集群到固定目的Kafka集群的数据同步任务,由于在配置文件中不存在其他源Kafka集群地址和目的Kafka集群地址,因此不能连接到配置文件中不存在的源Kafka集群地址和目的Kafka集群地址,当然也就无法执行对应的数据镜像任务,也就是说,对于配置文件中不存在的源Kafka集群地址和目的Kafka集群地址的数据镜像任务,由于不知道集群地址,因此无法连接源集群进行消费,以及无法连接目的集群进行写入。此外,由于数据同步任务的源集群和目的集群是固定不变的:当搭建一个uReplicator集群后,那么该同步服务集群就只能负责从一个Kafka源集群镜像到另外一个Kafka目的集群,无法进行大量数据同步,如果此时存在另外的源集群和目的集群的数据同步任务,那么需要重新搭建一个uReplicator集群。
技术实现思路
本公开提供了一种数据同步方法、装置、系统及存储介质,以至少解决目前uReplicator集群无法实现大量数据同步的问题。为了解决上述问题,本公开公开了一种数据同步方法,应用于同步服务器,所述方法包括:读取分布式应用程序协调系统中的多个同步任务,每个所述同步任务包含任务分配对象,同步数据的源地址及目的地址;当存在多个所述同步任务的任务分配对象为所述同步服务器时,针对每个所述同步任务建立多组消费者线程和生产者线程;根据每个所述同步数据的源地址,启动对应的消费者线程连接源同步对象进行同步数据读取;根据每个所述同步数据的目的地址,启动对应的生产者线程连接目的同步对象进行同步数据的写入。进一步的,在所述根据每个所述同步数据的源地址,启动对应的消费者线程连接源同步对象进行同步数据读取之后,还包括;将读取的同步数据放入同步队列中;根据每个所述同步数据的目的地址,启动对应的生产者线程连接目的同步对象进行同步数据的写入,包括:读取所述同步队列中的同步数据,根据所述同步数据对应的生产者线程,连接目的同步对象进行同步数据的写入。进一步的,所述同步任务中还包括所述同步数据对应的所述源地址中的源主题,以及所述同步数据对应的所述目的地址中的目的主题;所述根据每个所述同步数据的源地址,启动对应的消费者线程连接源同步对象进行同步数据读取,包括:根据每个所述同步数据的源地址,启动对应的消费者线程连接源同步对象,读取所述源主题下的所述同步数据;所述根据每个所述同步数据的目的地址,启动对应的生产者线程连接目的同步对象进行同步数据的写入,包括:根据每个所述同步数据的目的地址,启动对应的生产者线程连接目的同步对象,将所述同步数据写入所述目的主题。进一步的,所述根据每个所述同步数据的目的地址,启动对应的生产者线程连接目的同步对象进行同步数据的写入,包括:当所述同步数据的目的地址为分布式文件系统HDFS地址时,调用分布式文件系统接口,启动对应的生产者线程,通过所述分布式文件系统接口连接目的同步对象进行同步数据的写入。为了解决上述问题,本公开还公开了一种数据同步方法,应用于控制服务器,所述方法包括:接收数据同步请求,所述数据同步请求包括:同步数据的源地址和目的地址;根据所述同步请求对同步服务器进行任务分配,生成同步任务;将所述同步任务写入到分布式应用程序协调系统,以使所述同步服务器根据所述分布式应用程序协调系统中的同步任务进行数据同步,其中,每个所述同步任务包含任务分配对象,同步数据的源地址及目的地址。进一步的,所述根据所述同步请求对同步服务器进行任务分配,生成同步任务,包括;获取各所述同步服务器当前正在执行的同步任务;根据所述同步请求,选择同步任务数量小于设定阈值的同步服务器进行任务分配,生成同步任务。进一步的,所述同步请求中还包括:所述同步数据对应的所述源地址中的源主题,以及所述同步数据对应的所述目的地址中的目的主题;相应地,所述每个所述同步任务中包含任务分配对象,同步数据的源地址及目的地址,以及所述源地址中的源主题,所述目的地址中的目的主题。进一步的,所述同步请求中包含的源地址为消息系统集群地址,所述同步请求还包括所述同步数据对应的所述源地址中的源主题;所述同步请求中包含的所述目的地址为分布式文件系统HDFS地址,所述同步请求中还包含所述HDFS地址对应的HDFS目录;相应地,所述每个所述同步任务中包含任务分配对象,同步数据的所述消息系统集群地址及HDFS地址,以及所述源主题,所述HDFS目录。为了解决上述问题,本公开还公开了一种数据同步装置,应用于同步服务器,包括:读取模块,被配置为读取分布式应用程序协调系统中的多个同步任务,每个所述同步任务包含任务分配对象,同步数据的源地址及目的地址;线程模块,被配置为当存在多个所述同步任务的任务分配对象为所述同步服务器时,针对每个所述同步任务建立多组消费者线程和生产者线程;消费模块,被配置为根据每个所述同步数据的源地址,启动对应的消费者线程连接源同步对象进行同步数据读取;生产模块,被配置为根据每个所述同步数据的目的地址,启动对应的生产者线程连接目的同步对象进行同步数据的写入。进一步的,在所述消费模块根据每个所述同步数据的源地址,启动对应的消费者线程连接源同步对象进行同步数据读取之后,所述数据同步装置还包括;同步队列模块,被配置为将读取的同步数据放入同步队列中;所述生产模块,包括:第一写入模块,被配置为读取所述同步队列中的同步数据,根据所述同步数据对应的生产者线程,连接目的同步对象进行同步数据的写入。进一步的,所述同步任务中还包括所述同步数据对应的所述源地址中的源主题,以及所述同步数据对应的所述目的地址中的目的主题;所述消费模块,包括:第一连接模块,被配置为根据每个所述同步数据的源地址,启动对应的消费者线程连接源同步对象,读取所述源主题下的所述同步数据;<本文档来自技高网
...

【技术保护点】
1.一种数据同步方法,其特征在于,应用于同步服务器,所述方法包括:/n读取分布式应用程序协调系统中的多个同步任务,每个所述同步任务包含任务分配对象,同步数据的源地址及目的地址;/n当存在多个所述同步任务的任务分配对象为所述同步服务器时,针对每个所述同步任务建立多组消费者线程和生产者线程;/n根据每个所述同步数据的源地址,启动对应的消费者线程连接源同步对象进行同步数据读取;/n根据每个所述同步数据的目的地址,启动对应的生产者线程连接目的同步对象进行同步数据的写入。/n

【技术特征摘要】
1.一种数据同步方法,其特征在于,应用于同步服务器,所述方法包括:
读取分布式应用程序协调系统中的多个同步任务,每个所述同步任务包含任务分配对象,同步数据的源地址及目的地址;
当存在多个所述同步任务的任务分配对象为所述同步服务器时,针对每个所述同步任务建立多组消费者线程和生产者线程;
根据每个所述同步数据的源地址,启动对应的消费者线程连接源同步对象进行同步数据读取;
根据每个所述同步数据的目的地址,启动对应的生产者线程连接目的同步对象进行同步数据的写入。


2.根据权利要求1所述的数据同步方法,其特征在于,在所述根据每个所述同步数据的源地址,启动对应的消费者线程连接源同步对象进行同步数据读取之后,还包括;
将读取的同步数据放入同步队列中;
根据每个所述同步数据的目的地址,启动对应的生产者线程连接目的同步对象进行同步数据的写入,包括:
读取所述同步队列中的同步数据,根据所述同步数据对应的生产者线程,连接目的同步对象进行同步数据的写入。


3.根据权利要求1所述的数据同步方法,其特征在于,所述同步任务中还包括所述同步数据对应的所述源地址中的源主题,以及所述同步数据对应的所述目的地址中的目的主题;
所述根据每个所述同步数据的源地址,启动对应的消费者线程连接源同步对象进行同步数据读取,包括:
根据每个所述同步数据的源地址,启动对应的消费者线程连接源同步对象,读取所述源主题下的所述同步数据;
所述根据每个所述同步数据的目的地址,启动对应的生产者线程连接目的同步对象进行同步数据的写入,包括:
根据每个所述同步数据的目的地址,启动对应的生产者线程连接目的同步对象,将所述同步数据写入所述目的主题。


4.根据权利要求1所述的数据同步方法,其特征在于,所述根据每个所述同步数据的目的地址,启动对应的生产者线程连接目的同步对象进行同步数据的写入,包括:
当所述同步数据的目的地址为分布式文件系统HDFS地址时,调用分布式文件系统接口,启动对应的生产者线程,通过所述分布式文件系统接口连接目的同步对象进行同步数据的写入。


5.一种数据同步方法,其特征在于,应用于控制服务器,所述方法包括:
接收数据同步请求,所述数据同步请求包括:同步数据的源地址和目的地址;
根据所述同步请求对同步服务器进行任务分配,生成同步任务;
将所述同步任务写入到分布式应用程序协调系统,以使所述同步服务器根据所述分布式应用程序协调系统...

【专利技术属性】
技术研发人员:洪亮赵健博陈林赵博于海洋
申请(专利权)人:北京达佳互联信息技术有限公司
类型:发明
国别省市:北京;11

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

1