[发明专利]一种基于磁盘队列实现Kafka集群同步的方法及系统在审
申请号: | 201910631206.7 | 申请日: | 2019-07-12 |
公开(公告)号: | CN110347342A | 公开(公告)日: | 2019-10-18 |
发明(设计)人: | 杨彬;季国庆;王城;胡军擎;陈勇铨 | 申请(专利权)人: | 上海英方软件股份有限公司 |
主分类号: | G06F3/06 | 分类号: | G06F3/06;H04L29/08 |
代理公司: | 上海国智知识产权代理事务所(普通合伙) 31274 | 代理人: | 潘建玲 |
地址: | 201112 上海*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 磁盘队列 源端 写入 集群同步 集群 读取 接收数据 消息压缩 压缩算法 数据发 解压 线程 调用 还原 取出 网络 | ||
1.一种基于磁盘队列实现Kafka集群同步的方法,包括如下步骤:
步骤S1,从源端kafka集群中根据指定主题完整消费每一条消息,并把消息写入到源端本地磁盘队列中;
步骤S2,利用其他线程从所述源端本地磁盘队列中逐条取出消息,并调用压缩算法将消息压缩后,将数据发送到网络中;
步骤S3,所述网络另一侧备端接收数据,将消息解压还原后写入备端本地磁盘队列中;
步骤S4,从所述备端本地磁盘队列读取消息写入备端kafka集群中。
2.如权利要求1所述的一种基于磁盘队列实现Kafka集群同步的方法,其特征在于:于步骤S1中,源端消费者通过所述源端kafka集群提供的生产者应用程序接口,逐条将完整的消息从所述源端kafka集群上消费到本地,将消息逐条写入预先生成的所述源端本地磁盘队列中。
3.如权利要求2所述的一种基于磁盘队列实现Kafka集群同步的方法,其特征在于:于步骤S1中将各条消息编写序号逐条写入预先生成的所述源端本地磁盘队列中。
4.如权利要求3所述的一种基于磁盘队列实现Kafka集群同步的方法,其特征在于:于步骤S4中,备端生产者从所述备端本地磁盘队列中读取消息写入所述备端kafka集群中。
5.如权利要求4所述的一种基于磁盘队列实现Kafka集群同步的方法,其特征在于,所述方法还包括如下步骤:
当网络出现异常时,源端根据其网络异常前发送的消息的序号,于所述源端本地磁盘队列中获得下一条消息,将该序号后的消息重新发送给所述备端,实现断点续传。
6.如权利要求4所述一种基于磁盘队列实现Kafka集群同步的方法,其特征在于,所述方法还包括如下步骤:
当两侧系统出现异常或宕机时,系统重启进程运行后,两侧系统通过协议交互获得之前的传输状态,继续之前的数据传输工作。
7.如权利要求6所述一种基于磁盘队列实现Kafka集群同步的方法,其特征在于,当系统重启进程运行后,所述备端告诉源端其收到的最后一个消息的序号,所述源端根据该序号在所述源端本地磁盘队列中查找下一条消息,并将该序号之后的消息发送给所述源端继续之前的传输工作。
8.一种基于磁盘队列实现Kafka集群同步的系统,包括:
源端系统,包括源端kafka集群、源端消费者、源端本地磁盘队列、压缩模块以及发送模块,所述源端消费者从所述源端kafka集群中根据指定主题完整消费每一条消息,并把消息写入到所述源端本地磁盘队列,所述压缩模块利用其它线程从所述磁盘队列中逐条取出消息,调用压缩算法将消息压缩后,由所述发送模块将数据发送到数据网络中;
数据网络,用于所述源端系统与备端系统之间的数据传送交互;
备端系统,包括接收模块、解压模块、备端本地磁盘队列、备端生产者、备端kafka集群,所述接收模块通过所述数据网络接收所述源端系统发送的消息数据,所述解压模块将消息解压还原后写入所述备端本地磁盘队列,所述备端生产者从所述备端本地磁盘队列中读取消息写入所述备端kafka集群中。
9.如权利要求8所述的一种基于磁盘队列实现Kafka集群同步的系统,其特征在于:所述源端消费者将各条消息编写序号后逐条写入预先生成的所述源端本地磁盘队列中。
10.如权利要求9所述的一种基于磁盘队列实现Kafka集群同步的系统,其特征在于:当所述源端系统与/或备端系统出现异常或宕机时,系统重启进程运行后,两侧系统通过协议交互获得之前的传输状态,继续之前的数据传输工作。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海英方软件股份有限公司,未经上海英方软件股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910631206.7/1.html,转载请声明来源钻瓜专利网。
- 上一篇:数据清除方法及控制设备
- 下一篇:数据管理方法和装置