CN115589365A - 一种基于Canal的网络拓扑同步方法 - Google Patents
一种基于Canal的网络拓扑同步方法 Download PDFInfo
- Publication number
- CN115589365A CN115589365A CN202211030025.7A CN202211030025A CN115589365A CN 115589365 A CN115589365 A CN 115589365A CN 202211030025 A CN202211030025 A CN 202211030025A CN 115589365 A CN115589365 A CN 115589365A
- Authority
- CN
- China
- Prior art keywords
- cvk
- data
- cluster
- canal
- agent service
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/12—Discovery or management of network topologies
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明提供了一种基于Canal的网络拓扑同步方法,包括:响应于Canal集群的正常运行,CVK配置下发层Agent服务启动,链接Canal集群,与Canal集群建立连接;Agent服务向Canal集群订阅数据库表信息;响应于Agent服务的订阅请求,当数据库表信息发生变化,CVK集群将变化后的数据库表信息回传给CVK;CVK将变化后的数据库表信息下发到Agent服务。本发明所述的基于Canal的网络拓扑同步方法采用增量方式进行数据同步,降低全量拓扑同步数据量,减轻CVK上Agent进程的计算压力,提高拓扑同步效率。
Description
技术领域
本发明属于云服务技术领域,尤其是涉及一种基于Canal的网络拓扑同步方法。
背景技术
在云计算系统中,通过跨云网络管理、传统网络架构与基础设施的互联互通、边缘集群落地等复杂应用场景的能力支持,解除硬件通信设备的限制,绝大多数通信方案都是用虚拟的网络拓扑实现,网络拓扑的同步速度、网络协议的收敛方案决定虚机等资源的通信。由于用户使用虚机的数量增加、CVK集群纳管的CVK数量陡增,如何快速即时的同步网络拓扑影响网络流量的通信。因此需要一个安全性、可运维性、管理性和性能兼备的方法进行网络拓扑同步。
发明内容
有鉴于此,为克服上述缺陷,本发明旨在提出一种基于Canal的网络拓扑同步方法。
为达到上述目的,本发明的技术方案是这样实现的:
第一方面,本发明提供了一种基于Canal的网络拓扑同步方法,包括:
响应于Canal集群的正常运行,CVK配置下发层Agent服务启动,链接Canal集群,与Canal集群建立连接;
Agent服务向Canal集群订阅数据库表信息;
响应于Agent服务的订阅请求,当数据库表信息发生变化,CVK集群将变化后的数据库表信息回传给CVK;
CVK将变化后的数据库表信息下发到Agent服务。
进一步的,响应于Canal集群的正常运行,CVK配置下发层Agent服务启动,链接Canal集群,与Canal集群建立连接,还包括:
Agent服务链接于Canal集群后,还需缓存链接信息,并进行周期性检测,探测链接是否异常。
进一步的,响应于Agent服务的订阅请求,当数据库表信息发生变化,CVK集群将变化后的数据库表信息回传给CVK,包括:
获取上线的虚拟网卡的相关信息,并写入到指定的Mysql数据表中;
Canal集群根据Mysql数据表筛选出变化的数据;
将变化的数据转化成指定格式、指定协议EntryProtocol.proto的数据,并发送通知,同步运维数据到Redis;
CVK过滤出订阅的数据库表信息中的相关数据,并进行转换,下发到Agent服务。
进一步的,CVK集群将变化后的数据库表信息回传给CVK,还包括:
CVK上配置控制层检测缓存的Agent服务与Canal集群之间的链接是否可用,如果可用,则获取Binlog消息,过滤出订阅的数据库表信息的数据、过滤本CVK上相关VPC的相关数据,转换成配置相关数据下发到Agent服务,否则删除缓存的链接信息替换成新建立的Canal集群服务链接。
进一步的,CVK上配置控制层每个周期性比对CVK上信息与运维数据的Redis数据是否相同,如果不同,上报差异数据,并发出告警信息。
第二方面,本发明提供了一种电子设备/服务器,包括处理器,以及与处理器通信连接,且用于存储所述处理器可执行指令的存储器,所述处理器在执行所述指令时,实现上述第一方面所述的基于Canal的网络拓扑同步方法。
第三方面,本发明提供了一种可读取存储介质,用于存储计算机程序,所述计算机程序在被处理器执行时,实现上述第一方面所述的基于Canal的网络拓扑同步方法。
相对于现有技术,本发明所述的基于Canal的网络拓扑同步方法具有以下优势:
1、采用增量方式进行数据同步,降低全量拓扑同步数据量,减轻CVK上Agent进程的计算压力,提高拓扑同步效率。
2、采用Binlog订阅的方式进行配置下发,减少数据层与配置层交互,提高配置数据下发的性能。
3、直接订阅Mysql的数据文件,可以保证数据层与配置层的数据源一直,无需进行数据比对,保证配置的可靠性,无需对比相关数据。
4、通过异常操作的告警邮件,即时进行告警上报和邮件发送,提早通知运维人员进入处理故障。
5、定期同步数据到Redis,每天继续数据比对,对比出差异数据,发邮件进行告警。
附图说明
构成本发明的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为本发明所述的基于Canal的网络拓扑同步方法流程图。
具体实施方式
需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
下面将参考附图并结合实施例来详细说明本发明。
本实施例提供了一种基于Canal的网络拓扑同步方法,具体步骤包括:
1、部署搭建Canal集群,并保证其正常运行。
2、CVK配置下发层Agent服务启动,链接Canal集群,与Canal集群建立连接,并缓存链接信息,启动1分钟的周期探测链接异常的探测任务。
3、CVK上Agent服务订阅配置相关表结构信息,并同步给Canal集群。
4、数据控制层虚拟网卡上线,组装相关信息(如网卡所属VPC的L3vni、网卡MAC地址、子网L2vni、CVK相关信息等),并写入到指定的Mysql数据表中,根据虚机上线的虚拟网卡信息Canal集群收到数据库表结构变化的数据,转化成指定格式、指定协议EntryProtocol.proto的数据,并发送通知,同步运维数据到Redis。
EntryProtocol.proto数据相关内容如下:
5、CVK上配置控制层服务Agent检测缓存的链接是否可用,如果可用,获取Binlog消息,过滤出订阅的表结构的数据、过滤本CVK上相关VPC的相关数据,转换成配置相关数据下发到Agent服务,否则删除缓存的链接信息替换成新建立的Canal集群服务链接。
6、发送回调,通知数据控制层网卡信息数据同步成功。
7、CVK上配置控制层服务Agent每个周期性比对CVK上信息与运维数据的Redis数据是否相同,如果不同,上报差异数据,并发出告警信息。
本发明相较于现有技术,在技术上存在以下创新点:
1、采用增量方式进行数据同步
通过增量拓扑的方式进行数据同步,降低CVK上Agent进程的计算时间。
2、采用Binlog订阅的方式进行配置下发
基于Canal的Binlog数据订阅的方式,直接同步指定配置的数据,减少数据控制层与配置控制层交互,提高数据性能。
3、有序订阅,保证配置可靠到达
由于Binlog数据最终数据,数据的写入按照数据层写入数据的顺序进行的,可以保证CVK上的配置层数据层的业务顺序一直,保证配置下发的顺序性。
4、提高数据可靠性
直接订阅Mysql的数据文件,可以保证数据层与配置层的数据源一直,无需进行数据比对,保证配置的可靠性,无需对比相关数据。
5、提高运维能力
定期同步数据到Redis,每天继续数据比对,对比出差异数据,发邮件进行告警。
本实施例提供了一种服务器,包括处理器,以及与处理器通信连接,且用于存储所述处理器可执行指令的存储器,所述处理器在执行所述指令时,实现上述实施例所述的基于Canal的网络拓扑同步方法。
本实施例提供了一种可读取存储介质,用于存储计算机程序,所述计算机程序在被处理器执行时,实现上述实施例所述的基于Canal的网络拓扑同步方法。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及方法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本申请所提供的几个实施例中,应该理解到,所揭露的方法和系统,可以通过其它的方式实现。例如,以上所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。上述单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围,其均应涵盖在本发明的权利要求和说明书的范围当中。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (7)
1.一种基于Canal的网络拓扑同步方法,其特征在于,包括:
响应于Canal集群的正常运行,CVK配置下发层Agent服务启动,链接Canal集群,与Canal集群建立连接;
Agent服务向Canal集群订阅数据库表信息;
响应于Agent服务的订阅请求,当数据库表信息发生变化,CVK集群将变化后的数据库表信息回传给CVK;
CVK将变化后的数据库表信息下发到Agent服务。
2.根据权利要求1所述的基于Canal的网络拓扑同步方法,其特征在于,响应于Canal集群的正常运行,CVK配置下发层Agent服务启动,链接Canal集群,与Canal集群建立连接,还包括:
Agent服务链接于Canal集群后,还需缓存链接信息,并进行周期性检测,探测链接是否异常。
3.根据权利要求1所述的基于Canal的网络拓扑同步方法,其特征在于,响应于Agent服务的订阅请求,当数据库表信息发生变化,CVK集群将变化后的数据库表信息回传给CVK,包括:
获取上线的虚拟网卡的相关信息,并写入到指定的Mysql数据表中;
Canal集群根据Mysql数据表筛选出变化的数据;
将变化的数据转化成指定格式、指定协议EntryProtocol.proto的数据,并发送通知,同步运维数据到Redis;
CVK过滤出订阅的数据库表信息中的相关数据,并进行转换,下发到Agent服务。
4.根据权利要求3所述的基于Canal的网络拓扑同步方法,其特征在于,CVK集群将变化后的数据库表信息回传给CVK,还包括:
CVK上配置控制层检测缓存的Agent服务与Canal集群之间的链接是否可用,如果可用,则获取Binlog消息,过滤出订阅的数据库表信息的数据、过滤本CVK上相关VPC的相关数据,转换成配置相关数据下发到Agent服务,否则删除缓存的链接信息替换成新建立的Canal集群服务链接。
5.根据权利要求3所述的基于Canal的网络拓扑同步方法,其特征在于,CVK上配置控制层每个周期性比对CVK上信息与运维数据的Redis数据是否相同,如果不同,上报差异数据,并发出告警信息。
6.一种服务器,包括处理器,以及与处理器通信连接,且用于存储所述处理器可执行指令的存储器,其特征在于,所述处理器在执行所述指令时,实现权利要求1-5任一所述的基于Canal的网络拓扑同步方法。
7.一种可读取存储介质,用于存储计算机程序,其特征在于,所述计算机程序在被处理器执行时,实现权利要求1-5任一所述的基于Canal的网络拓扑同步方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211030025.7A CN115589365A (zh) | 2022-08-26 | 2022-08-26 | 一种基于Canal的网络拓扑同步方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211030025.7A CN115589365A (zh) | 2022-08-26 | 2022-08-26 | 一种基于Canal的网络拓扑同步方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115589365A true CN115589365A (zh) | 2023-01-10 |
Family
ID=84771122
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211030025.7A Pending CN115589365A (zh) | 2022-08-26 | 2022-08-26 | 一种基于Canal的网络拓扑同步方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115589365A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116527507A (zh) * | 2023-01-16 | 2023-08-01 | 紫光云技术有限公司 | 基于kafka的网络拓扑同步方法 |
-
2022
- 2022-08-26 CN CN202211030025.7A patent/CN115589365A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116527507A (zh) * | 2023-01-16 | 2023-08-01 | 紫光云技术有限公司 | 基于kafka的网络拓扑同步方法 |
CN116527507B (zh) * | 2023-01-16 | 2024-05-24 | 紫光云技术有限公司 | 基于kafka的网络拓扑同步方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8892936B2 (en) | Cluster wide consistent detection of interconnect failures | |
CN101719841B (zh) | 分布式集群监控系统及方法 | |
US20190363934A1 (en) | Network operation support system and network device management method | |
CN112565415B (zh) | 一种基于云边协同的跨地域资源纳管系统和纳管方法 | |
US11888933B2 (en) | Cloud service processing method and device, cloud server, cloud service system and storage medium | |
CN104243185B (zh) | 一种体验式业务监控系统 | |
US9152441B2 (en) | Systems and methods involving virtual machine host isolation over a network via a federated downstream cluster | |
US8891403B2 (en) | Inter-cluster communications technique for event and health status communications | |
CN109274557A (zh) | 一种云环境下的智能cmdb管理及云主机监控方法 | |
CN110445697B (zh) | 视频大数据云平台设备接入服务方法 | |
CN109240891A (zh) | 一种sr整机柜服务器的监控方法及装置 | |
CN103856354A (zh) | 一种集群存储系统日志统一管理实现方法 | |
CN115589365A (zh) | 一种基于Canal的网络拓扑同步方法 | |
CN104796283A (zh) | 一种监控报警的方法 | |
US20170302533A1 (en) | Method for the exchange of data between nodes of a server cluster, and server cluster implementing said method | |
CN103297477B (zh) | 一种数据采集上报系统及数据处理方法和代理服务器 | |
CN102104490B (zh) | 用于铁路通信网的综合网络管理系统 | |
CN110290163A (zh) | 一种数据处理方法及装置 | |
JP4673532B2 (ja) | マルチマネージャ環境における包括アライメントプロセス | |
CN114172821B (zh) | 服务状态的同步方法、装置及服务器 | |
CN109951313A (zh) | 一种Hadoop云平台的监控装置及方法 | |
EP1927239A2 (en) | Endpoint transparent independent messaging scheme system and method | |
CN112260984A (zh) | 一种带Wi-Fi功能的5G终端云管控方法 | |
CN112866200B (zh) | 一种复杂网络环境下的网络设备规则管理系统 | |
CN116094938B (zh) | 基于kafka的网络拓扑同步方法、设备、服务器及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |