CN113347038A - 一种旁路流量处理的循环互备高可用系统 - Google Patents

一种旁路流量处理的循环互备高可用系统 Download PDF

Info

Publication number
CN113347038A
CN113347038A CN202110639460.9A CN202110639460A CN113347038A CN 113347038 A CN113347038 A CN 113347038A CN 202110639460 A CN202110639460 A CN 202110639460A CN 113347038 A CN113347038 A CN 113347038A
Authority
CN
China
Prior art keywords
partition
processor
packet
data packet
data
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.)
Granted
Application number
CN202110639460.9A
Other languages
English (en)
Other versions
CN113347038B (zh
Inventor
周奕庆
蔡晓华
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Netis Technologies Co ltd
Original Assignee
Shanghai Netis Technologies Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shanghai Netis Technologies Co ltd filed Critical Shanghai Netis Technologies Co ltd
Priority to CN202110639460.9A priority Critical patent/CN113347038B/zh
Publication of CN113347038A publication Critical patent/CN113347038A/zh
Application granted granted Critical
Publication of CN113347038B publication Critical patent/CN113347038B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0654Management of faults, events, alarms or notifications using network fault recovery
    • H04L41/0663Performing the actions predefined by failover planning, e.g. switching to standby network elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提供了一种旁路流量处理的循环互备高可用系统,模块M1:数据包网关集群接收来自多个Tap分光器的网络数据包;模块M2:数据包网关集群中主数据包网关对网络数据包进行分区,根据流量中的分区信息,将每个分区流量发送至数据包处理器集群中对应的数据包处理器内部的主分区处理器;模块M3:主分区处理器处理数据包流量存储结果数据,并将结果数据同步发送至位于其他数据包处理器内部相同分区的备用分区处理器;模块M4:备用分区处理器将结果数据进行备份存储。本发明将数据源发送系统和数据处理系统集群化,实现了处理流自动故障转移,以及历史数据的备份,整体实现高可用。

Description

一种旁路流量处理的循环互备高可用系统
技术领域
本发明涉及网络通信技术领域,具体地,涉及一种旁路流量处理的循环互备高可用系统。
背景技术
旁路流量处理指将业务网络流量镜像复制到处理系统。经过对数据包的捕获、解码、过滤、统计、关联等处理,获得对监控业务状态有价值的信息。
旁路流量处理往往需要7x24小时稳定运行,以达到监控业务系统的目的。传统的旁路流量处理缺乏高可用设计。一般用单独的Tap分光器将数据包从网络设备镜像复制出来,设备故障会导致数据源中断导致不可用。多个数据包处理器一般只从Tap分光器接收数据,彼此之间没有联系,所以缺乏一种故障感知并自动切换数据包处理的机制。同时,各数据处理器存储的历史数据包也彼此独立,导致数据包处理器一旦发生故障,其保存的历史数据将不可用。
专利文献CN102255770B(申请号:201110156766.5)公开了一种复合网络监测数据包的方法和用途,在服务器和服务器连接的IP交换机或路由器间串联一个TAP分路器,TAP分路器的分路连接数据采集设备,所述的数据采集设备与后续处理机连接;经过TAP分路器实时复制由服务器发送的各种数据包并发送到数据采集设备,数据采集设备采集到的数据包为原始数据包;数据采集设备对原始数据包进行帧格式的定义;通过操作系统对原始数据包进行保存;在数据采集装置上对采集到的原始数据包进行的组合和合并,形成复合网络监测数据包;发送到后续处理机上进行后续处理。
针对上述现有技术中的缺陷,本发明要解决的技术问题体现在以下几点:
1)本系统将将数据处理网关组成集群,实现了数据源的高可用性;
2)将多个数据包处理器组成集群,实现了数据处理高可用性;
3)对旁路流量进行分区和复制,并循环分配到多个数据包处理器,实现了数据存储的高可用性,也实现了负载均衡;
4)通过对数据包网关和数据处理器的集群规模控制,实现对整体处理性能的可伸缩性。
发明内容
针对现有技术中的缺陷,本发明的目的是提供一种旁路流量处理的循环互备高可用系统。
根据本发明提供的一种旁路流量处理的循环互备高可用系统,包括:
模块M1:数据包网关集群接收来自多个Tap分光器的网络数据包;
模块M2:数据包网关集群中主数据包网关对网络数据包进行分区,根据流量中的分区信息,将每个分区流量发送至数据包处理器集群中对应的数据包处理器内部的主分区处理器;
模块M3:主分区处理器处理数据包流量存储结果数据,并将结果数据同步发送至位于其他数据包处理器内部相同分区的备用分区处理器;
模块M4:备用分区处理器将结果数据进行备份存储。
优选地,还包括:数据包网关集群接收来自数据包处理器集群的分区状态同步信息,当数据包处理器集群的分区状态变化为不可用后,数据包网关集群中主数据包网关调整分区流量发送方向。
优选地,所述数据包网关集群还包括备用数据包网关,备用数据包网关通过心跳感知主数据包网关状态,当主数据包网关预设时间内未响应心跳,则判定主数据包网关不可用,将当前备用数据包网关转换为主数据包网关对网络数据包进行分区。
优选地,所述数据包网关集群包括:主数据网关和/或备用数据网关;
所述主数据网关和/或备用数据网关包括:网卡采集器、协议解码器、分区计算器、分区发送器以及集群管理器;
所述网卡采集器持续不断的读取网络适配器缓冲区捕获数据包,并将数据包流量发送至协议解码器;
所述协议解码器读取来自网卡采集器的数据包流量,根据预设协议规范,解析数据包中的IP以及端口五元组信息,并附加在数据包上发送至分区计算器;
所述分区计算器接收来自协议解码器的网络数据包流量和五元组信息,计算五元组哈希值,利用哈希值根据当前数据包处理器集群配置的分区数量计算确定分区号,将确定的分区号附加在数据包上发送至分区发送器;
所述分区发送器接收来自分区计算器的附带分区号的数据包流量,并将附带分区号的数据包流量发送至数据包处理器集群中包含对应主分区处理器的数据包处理器;
所述集群管理器用于数据包网关相互通信,组成集群;集群管理器通过共识协议确定自身网关的主备角色,并选举出主数据包网关,并根据当前主备角色控制当前网关的运行模型。
优选地,所述分区计算器还包括:分区计算器接收来自数据包处理器集群的分区状态同步信息,更新分区号计算确定过程。
优选地,所述分区发送器还包括:分区发送器接收来自数据包处理器集群的分区状态同步信息,更新分区对数据包处理器的发送方向。
优选地,所述根据当前主备角色控制当前网关的运行模型包括:主数据包网关负责向数据包处理器集群发送数据包流量,同时集群管理器接收来自其它备用数据包网关的可用性感知心跳请求,并返回响应信息;备用数据包网关需停止向数据包处理器集群发送数据包流量,并以预设频率向当前主数据包网关发送可用性心跳信息,当主数据包网关做出响应,则等待进行下一次心跳请求;当主数据包网关没有响应,则通过共识协议和其它备用数据包网关确定每个网关新的主备角色并选举出新的主数据包网关,并切换到主备角色对应的运行模式。
优选地,所述数据包处理器包括数据包路由器、分区同步器、分区处理器、分区管理器以及集群管理器;
所述数据包路由器接收来自主数据包网关的网络数据包流量,并根据数据包中附带的分区号将流量路由到对应的分区处理器;
所述分区处理器接收和处理来自于数据包路由器的数据包流量并存储结果数据;
所述分区同步器用于同步各数据包处理器之间的分区历史存储数据;
所述分区管理器接收来自集群管理器的当前分区处理器状态信息,对分区进行创建和销毁;
所述集群管理器用于数据包处理器相互通信,组成集群;集群管理器通过共识协议确定处理器主备角色以及通过分区数、备份数、数据包处理器集群规模计算确定分区分配状态。
优选地,所述分区处理器包括流处理器和存储器;
所述流处理器根据分区处理器角色决定工作模式,当分区处理器为备用分区处理器,则不参与工作;当分区处理器为主分区处理器,当前的主分区处理器处理数据包流量,得到结果数据,并将结果数据输出至存储器进行存储,同时将结果数据复制发送到分区同步器,利用分区同步器发送到相对应的备用分区处理器进行备份存储;
所述存储器接收来自流处理器的结果数据并进行存储,当当前分区处理器为备用分区处理器,则接收来自分区同步器的结果数据进行存储。
优选地,所述集群管理器通过共识协议确定处理器主备角色包括:主数据包处理器负责向数据包网关更新当前分区处理器状态信息,备用数据包处理器感知主数据包处理器可用性状态,并在主数据包处理器不可用时,重新和其它备用数据包处理器通过共识协议协商确定新的主备角色。
与现有技术相比,本发明具有如下的有益效果:
1、本发明将数据源发送系统和数据处理系统集群化,实现了处理流自动故障转移,以及历史数据的备份,整体实现高可用;
2、本发明将全量网络流量按五元组进行分区,并分散发送给多个数据包处理器处理;当遇到性能问题时,可以进一步添加数据包处理器,以减少单台数据包处理器的处理量,实现整体性能可扩展;
3、本发明引入循环互备分区分配方法,充分利用数据包处理集群规模,将旁路流量均匀分摊到多个数据包处理器。循环备份方案使每个分区至少有两台数据处理器保存相同的分区历史数据,保证单台数据包处理器故障时,所有历史数据仍旧可以访问。
附图说明
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1为旁路流量处理的循环互备高可用系统模块示意图;
图2为数据包网关示意图;
图3为数据包处理器示意图;
图4为分区分配图。
具体实施方式
下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改进。这些都属于本发明的保护范围。
实施例1
根据本发明提供的一种旁路流量处理的循环互备高可用系统,包括:
模块M1:数据包网关集群接收来自多个Tap分光器的网络数据包;
模块M2:数据包网关集群中主数据包网关对网络数据包进行分区,根据流量中的分区信息,将每个分区流量发送至数据包处理器集群中对应的数据包处理器内部的主分区处理器;
模块M3:主分区处理器处理数据包流量存储结果数据,并将结果数据同步发送至位于其他数据包处理器内部相同分区的备用分区处理器;
模块M4:备用分区处理器将结果数据进行备份存储。
具体地,还包括:数据包网关集群接收来自数据包处理器集群的分区状态同步信息,当数据包处理器集群的分区状态变化为不可用后,数据包网关集群中主数据包网关调整分区流量发送方向。
具体地,所述数据包网关集群还包括备用数据包网关,备用数据包网关通过心跳感知主数据包网关状态,当主数据包网关预设时间内未响应心跳,则判定主数据包网关不可用,将当前备用数据包网关转换为主数据包网关对网络数据包进行分区。
具体地,所述数据包网关集群包括:主数据网关和/或备用数据网关;
所述主数据网关和/或备用数据网关包括:网卡采集器、协议解码器、分区计算器、分区发送器以及集群管理器;
所述网卡采集器持续不断的读取网络适配器缓冲区捕获数据包,并将数据包流量发送至协议解码器;
所述协议解码器读取来自网卡采集器的数据包流量,根据预设协议规范,解析数据包中的IP以及端口五元组信息,并附加在数据包上发送至分区计算器;
所述分区计算器接收来自协议解码器的网络数据包流量和五元组信息,计算五元组哈希值,利用哈希值根据当前数据包处理器集群配置的分区数量计算确定分区号,将确定的分区号附加在数据包上发送至分区发送器;
所述分区发送器接收来自分区计算器的附带分区号的数据包流量,并将附带分区号的数据包流量发送至数据包处理器集群中包含对应主分区处理器的数据包处理器;
所述集群管理器用于数据包网关相互通信,组成集群;集群管理器通过共识协议确定自身网关的主备角色,并选举出主数据包网关,并根据当前主备角色控制当前网关的运行模型。
具体地,所述分区计算器还包括:分区计算器接收来自数据包处理器集群的分区状态同步信息,分区状态包括分区数量,是数据包处理器集群配置的,当数据包处理器配置发生变化时,则通知网管集群更新分区号计算确定过程。
具体地,所述分区发送器还包括:分区发送器接收来自数据包处理器集群的分区状态同步信息,更新分区对数据包处理器的发送方向。
具体地,所述根据当前主备角色控制当前网关的运行模型包括:主数据包网关负责向数据包处理器集群发送数据包流量,同时集群管理器接收来自其它备用数据包网关的可用性感知心跳请求,并返回响应信息;备用数据包网关需停止向数据包处理器集群发送数据包流量,并以预设频率向当前主数据包网关发送可用性心跳信息,当主数据包网关做出响应,则等待进行下一次心跳请求;当主数据包网关没有响应,则通过共识协议和其它备用数据包网关确定每个网关新的主备角色并选举出新的主数据包网关,并切换到主备角色对应的运行模式。
具体地,所述数据包处理器包括数据包路由器、分区同步器、分区处理器、分区管理器以及集群管理器;
所述数据包路由器接收来自主数据包网关的网络数据包流量,并根据数据包中附带的分区号将流量路由到对应的分区处理器;
所述分区处理器接收和处理来自于数据包路由器的数据包流量并存储结果数据;
所述分区同步器用于同步各数据包处理器之间的分区历史存储数据;
所述分区管理器接收来自集群管理器的当前分区处理器状态信息,对分区进行创建和销毁;
所述集群管理器用于数据包处理器相互通信,组成集群;集群管理器通过共识协议确定处理器主备角色以及通过分区数、备份数、数据包处理器集群规模计算确定分区分配状态。
具体地,所述分区处理器包括流处理器和存储器;
所述流处理器根据分区处理器角色决定工作模式,当分区处理器为备用分区处理器,则不参与工作;当分区处理器为主分区处理器,当前的主分区处理器处理数据包流量,得到结果数据,并将结果数据输出至存储器进行存储,同时将结果数据复制发送到分区同步器,利用分区同步器发送到相对应的备用分区处理器进行备份存储;
所述存储器接收来自流处理器的结果数据并进行存储,当当前分区处理器为备用分区处理器,则接收来自分区同步器的结果数据进行存储。
具体地,所述集群管理器通过共识协议确定处理器主备角色包括:主数据包处理器负责向数据包网关更新当前分区处理器状态信息,备用数据包处理器感知主数据包处理器可用性状态,并在主数据包处理器不可用时,重新和其它备用数据包处理器通过共识协议协商确定新的主备角色。
传统方案没有数据源和历史数据备份机制,发生故障后会造成处理中断或历史数据不可访问。本发明将数据源发送系统和数据处理系统集群化,实现了处理流自动故障转移,以及历史数据的备份,整体实现高可用;
传统方案由单台机器处理全量旁路流量,处理性能难以扩展。本发明将全量网络流量按五元组进行分区,并分散发送给多个数据包处理器处理;当遇到性能问题时,可以进一步添加数据包处理器,以减少单台数据包处理器的处理量,实现整体性能可扩展。
实施例2
实施例2是实施例1的优选例
本发明将现有系统中利用单台服务器完成旁路流量采集和处理的工作模式扩展到集群以实现高可用和性能可伸缩性。
一种旁路流量处理的循环互备高可用系统将网络流量旁路到数据包网关集群,数据包网关集群再将网络流量复制发送到数据包处理集群。
在数据包网关集群中,始终由主网关负责发送数据包。备用网关负责感知主网关状态。
主网关对数据包进行分区,每个分区预分配到数据包处理器集群中的一组数据包处理器。主网关仅将分区流量发送到该组数据包处理器中包含主分区处理器的数据包处理器。主分区处理器负责处理数据和存储结果数据,并将处理结果数据同步到其它包含该分区备用处理器的数据包处理器。备用分区处理器负责接收并存储来自主分区处理器的结果数据。
数据包处理器相互感知状态,在感知到其它数据包处理器发生故障后,自动将其它与故障数据包处理器中主分区处理器分区相同的备用分区处理器切换为主分区处理器,并通知数据包网关。
参考图1,本系统包括如下模块:
输入,网络,其被用于旁路流量的业务通信网络。
处理模块1,数据包网关集群,其用于接收来自于多个Tap分光器的网络数据包。由主数据包网关对数据包进行分区,将每个分区流量发送到数据包处理器集群中对应包含主分区处理器的数据包处理器。另外,数据包网关集群还会接收来自于数据包处理器集群的分区状态同步信息,并在发现分区状态变化后调整分区流量发送方向。数据包网关集群内备用网关通过心跳感知主数据包网关状态,当发现主数据包网关长时间未响应心跳,则判定为不可用,然后自动将自己转换为主数据包网关以继续为数据包处理器集群服务。
处理模块2,数据包处理器集群,其用于接收来自于主数据包网关的网络数据包。数据包处理器在收到来自数据包网关的数据包流量后,根据流量中的分区信息,将流量转发到位于自身内部的对应主分区处理器。主分区处理器一方面处理数据包流量,并存储结果数据,另一方面还要将结果数据同步发送到位于其它数据包处理器中相同分区的备用分区处理器。数据包处理器同时还要接受来自其它数据包处理器的结果数据,数据包处理器在收到结果数据后,根据结果数据中的分区信息,将数据转发到位于自身内部的对应备用分区处理器。备用分区处理器将结果数据进行备份存储。
参考图2,数据包网关包含如下模块:
模块2.1,网卡采集器,其用于持续不断读取网络适配器缓冲区,捕获数据包,并将数据包流量发送至协议解码器。
模块2.2,协议解码器,其用于读取来自网卡采集器的数据包流量,根据协议规范,解析数据包中的IP、端口五元组信息,并附加在数据包上发送至分区计算器。
模块2.3,分区计算器,其用于接收来自协议解码器的网络数据包流量和五元组信息,计算五元组哈希值,根据当前分区状态计算确定分区号,并附加在数据包上发送至分区发送器。分区计算器还要接收来自数据包处理器集群的分区状态同步消息,以更新分区号计算确定过程。
模块2.4,分区发送器,其用于接收来自分区计算器的附带分区号的数据包流量。为每个数据包寻找数据包处理器集群中包含对应主分区处理器的数据包处理器,并附带分区号进行发送。分区发送器还要接收来自数据包处理器集群的分区状态同步消息,以更新各分区对数据包处理器的发送方向。
模块2.5,集群管理器,其用于数据包网关相互通信,组成集群。其作用是:1)通过共识协议确定自身网关的主备角色,并选举出主数据包网关。2)根据当前自身的主备角色,控制当前网关的运行模式;具体是:对于主数据包网关,需负责向数据包处理器集群发送数据包流量,同时集群管理器接收来自其它备用数据包网关的可用性感知心跳请求,并返回响应信息。对于备用数据包网关,需停止向数据包处理器集群发送数据包流量,并以一定频率向当前主数据包网关发送可用性心跳信息,并根据可用性状态决定下一步操作。具体是,若主数据包网关做出响应,则等待进行下一次心跳请求。若主数据包网关没有响应,则通过共识协议和其它备用数据包网关确定每个网关新的主备角色并选举出新的主数据包网关,并切换到主备角色对应的运行模式。
参考图3,数据包处理器包含如下模块:
模块3.1,数据包路由器,其用于接收来自于主数据包网关的网络数据包流量,并根据数据包中附带的分区号将流量路由到其内部对应的分区处理器。数据包路由器同时还要接收来自于其内部集群管理发送过来的分区状态同步信息,以更新分区路由状态。
模块3.2,分区同步器,其用于同步各数据包处理器之间的分区历史存储数据。分区同步器有两个方向处理流。其中一个方向的处理流输入来自于自身内部主分区处理器的结果数据,根据结果数据所属分区号将结果数据输出到其它包含与结果数据相同分区的备用分区处理器的数据包处理器。例如,某个网段被划分到分区1处理,自身主分区1处理器处理了所有属于该网段的数据,将结果数据发送到分区同步器。分区同步器查找到所有位于其它数据包处理器上的备用分区1处理器,并将结果数据转发到备用分区1处理器所在的数据包处理器。另一个方向的处理流输入是来自于其它数据包处理器的结果数据,根据结果数据所属分区号将结果数据输出到位于自身内部与结果数据相同分区的备用分区处理器。
分区同步器同时还要接收来自于其内部集群管理发送过来的分区状态同步信息,以更新结果数据的发送路由方向。
模块3.3,分区处理器,其用于接收和处理来自于数据包路由器的数据包流量并存储结果数据。分区处理器由分区管理器根据当前分区状态来创建和销毁。其内部包含2个子模块,具体是:
模块3.3.1,流处理器,流处理器根据自身所在分区处理器角色决定工作模式。若是备用分区处理器,则不参与工作。若是主分区处理器,其用于处理数据包流量,得到结果数据。一方面将结果数据输出到存储器进行存储,另一方面将结果数据复制发送到分区同步器,交由分区同步器发送到其它数据包处理器进行备份存储。
模块3.3.2,存储器,流处理器根据自身所在分区处理器角色决定工作模式。若是主分区处理器,其用于接收来自于流处理器的结果数据,并进行存储。若是备用分区处理器,其用于接收来自于分区同步器的结果数据,并进行存储。
模块3.4,分区管理器,其用于接收来自于集群管理器的当前分区状态信息,对分区进行创建和销毁。一般在调整数据包处理器集群规模时参与工作。当集群规模变化时,分区分配状态发生变化,可能会有新的分区添加到分区管理器自身所在数据包处理器,这时执行创建操作。也可能会将现有分区转移到别的数据包处理器,这时执行销毁操作,销毁前需要将分区历史数据提前复制到转移目的数据包处理器,防止数据丢失。
模块3.5,集群管理器,其用于数据包处理器相互通信,组成集群。其作用是:1)通过共识协议确定自身处理器主备角色。主数据包处理器负责向数据包网关更新当前分区状态信息,备用数据包处理器负责感知主数据包处理器可用性状态,并在主数据包处理器不可用时重新和其它备用数据包处理器通过共识协议协商确定新的主备角色。2)通过分区数、备份数、数据包处理器集群规模计算确定分区分配状态。分区分配应充分利用集群规模,循环平均分配到所有数据包处理器。如图4,以分区数为3、备份数为1、集群规模为3为例,当一个分区分配到一个数据包处理器时,依次将备用分区分配到下一个数据包处理器,依次类推,直到每个数据包处理器都至少分配到一个主分区和不同分区号的备用分区,形成互备关系。
实施例2
实施例2是实施例1的优选例
参考图1,设立2个数据包网关:网关1和2,并组成数据包网关集群。并由集群管理器选取网关1为主数据包网关。设立3个数据包处理器:数据包处理1、2和3,并组成数据包处理器集群。设定备份数为2,分区数为3,所以创建了总共6个分区处理器,其中3个是主分区处理器,其余3个是备用分区处理器,并将这6个分区处理器均匀分摊到3个数据包处理器上,每个分区处理器均包含一个主分区处理器和另一个分区的备用分区处理器。
数据包网关工作模式如下。旁路流量由Tap分光器镜像复制输入到两台数据包网关上。此时由于数据包网关2是备用网关,所以不输出任何数据。而数据包网关1是主网关,所以对流量进行分区。根据数据包处理器集群分区信息,数据包网关将旁路流量分到3个分区,具体是,计算每个数据包的五元组的哈希值H,并模余3得到分区号P=H mod3,并将数据包发送到包含对应主分区处理器的数据包处理器上。由于分区1的主分区处理器(粗框)位于数据包处理器1上,所以数据包网关1将所有属于分区1的数据包流量转发到数据包处理器1。同理,将属于分区2的流量转发到数据包处理器2,将分区3流量转发到数据包处理器3。
数据包处理器工作方式,先以分区1流量为例,数据包处理器1在收到分区1流量后,将流量路由到位于其内部的主分区1处理器。主分区1处理器处理数据并得到结果数据,一方面将结果数据存储到分区处理器内部,另一方面将结果数据同步到备用分区1处理器。由于所有分区1的备用分区处理器都位于数据包处理器2上,所以主分区1处理器将分区1结果数据转发到数据包处理器2上。数据包处理器2在收到分区2结果数据后,将结果数据路由到位于其内部的备用分区1处理器上。最后备用分区1处理器将分区1结果数据进行存储。最终,分区1结果数据被备份到了2台数据包处理器上:数据包处理器1和2。同理分区2流量经处理获得的结果数据将被备份到数据包处理器2和3,分区3流量将被备份到数据包处理器3和1。
当数据包网关1发生故障,数据包网关1能通过心跳检测到,并将自身切换为主数据包网关,开始向3个分区流量转发到3台数据包处理器,保证了数据包处理器集群输入没有发生中断。
数据包处理器故障场景,先以数据包处理器1发生故障为例。此时,数据包处理2通过心跳感知到数据包处理器1变为不可用,所以将位于自身的备用分区1处理器切换为主分区1处理器,以顶替位于数据包处理器1的上的原主分区1处理器。然后和数据包网关集群进行分区状态同步,通知数据包网关集群将分区1流量由发送到数据包处理器1转为发送到数据包处理器2,最终保证了分区1流量实时处理没有发生中断。且由于储存在位于数据包处理器1上的原主分区1处理器中的分区1结果数据,之前也同步备份到了位于数据包处理器2上的新主分区1处理器中,所以保证了分区1历史数据始终可用。同理,当数据包处理2发生故障,数据包处理器3上的备用分区2处理器将切换为主分区2处理器。当数据包处理器3发生故障,数据包处理器1上的备用分区3处理器将切换为主分区3处理器。
本领域技术人员知道,除了以纯计算机可读程序代码方式实现本发明提供的系统、装置及其各个模块以外,完全可以通过将方法步骤进行逻辑编程来使得本发明提供的系统、装置及其各个模块以逻辑门、开关、专用集成电路、可编程逻辑控制器以及嵌入式微控制器等的形式来实现相同程序。所以,本发明提供的系统、装置及其各个模块可以被认为是一种硬件部件,而对其内包括的用于实现各种程序的模块也可以视为硬件部件内的结构;也可以将用于实现各种功能的模块视为既可以是实现方法的软件程序又可以是硬件部件内的结构。
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本申请的实施例和实施例中的特征可以任意相互组合。

Claims (10)

1.一种旁路流量处理的循环互备高可用系统,其特征在于,包括:
模块M1:数据包网关集群接收来自多个Tap分光器的网络数据包;
模块M2:数据包网关集群中主数据包网关对网络数据包进行分区,根据流量中的分区信息,将每个分区流量发送至数据包处理器集群中对应的数据包处理器内部的主分区处理器;
模块M3:主分区处理器处理数据包流量存储结果数据,并将结果数据同步发送至位于其他数据包处理器内部相同分区的备用分区处理器;
模块M4:备用分区处理器将结果数据进行备份存储。
2.根据权利要求1所述的旁路流量处理的循环互备高可用系统,其特征在于,还包括:数据包网关集群接收来自数据包处理器集群的分区状态同步信息,当数据包处理器集群的分区状态变化为不可用后,数据包网关集群中主数据包网关调整分区流量发送方向。
3.根据权利要求1所述的旁路流量处理的循环互备高可用系统,其特征在于,所述数据包网关集群还包括备用数据包网关,备用数据包网关通过心跳感知主数据包网关状态,当主数据包网关预设时间内未响应心跳,则判定主数据包网关不可用,将当前备用数据包网关转换为主数据包网关对网络数据包进行分区。
4.根据权利要求1所述的旁路流量处理的循环互备高可用系统,其特征在于,所述数据包网关集群包括:主数据网关和/或备用数据网关;
所述主数据网关和/或备用数据网关包括:网卡采集器、协议解码器、分区计算器、分区发送器以及集群管理器;
所述网卡采集器持续不断的读取网络适配器缓冲区捕获数据包,并将数据包流量发送至协议解码器;
所述协议解码器读取来自网卡采集器的数据包流量,根据预设协议规范,解析数据包中的IP以及端口五元组信息,并附加在数据包上发送至分区计算器;
所述分区计算器接收来自协议解码器的网络数据包流量和五元组信息,计算五元组哈希值,利用哈希值根据当前数据包处理器集群配置的分区数量计算确定分区号,将确定的分区号附加在数据包上发送至分区发送器;
所述分区发送器接收来自分区计算器的附带分区号的数据包流量,并将附带分区号的数据包流量发送至数据包处理器集群中包含对应主分区处理器的数据包处理器;
所述集群管理器用于数据包网关相互通信,组成集群;集群管理器通过共识协议确定自身网关的主备角色,并选举出主数据包网关,并根据当前主备角色控制当前网关的运行模型。
5.根据权利要求4所述的旁路流量处理的循环互备高可用系统,其特征在于,所述分区计算器还包括:分区计算器接收来自数据包处理器集群的分区状态同步信息,更新分区号计算确定过程。
6.根据权利要求4所述的旁路流量处理的循环互备高可用系统,其特征在于,所述分区发送器还包括:分区发送器接收来自数据包处理器集群的分区状态同步信息,更新分区对数据包处理器的发送方向。
7.根据权利要求4所述的旁路流量处理的循环互备高可用系统,其特征在于,所述根据当前主备角色控制当前网关的运行模型包括:主数据包网关负责向数据包处理器集群发送数据包流量,同时集群管理器接收来自其它备用数据包网关的可用性感知心跳请求,并返回响应信息;备用数据包网关需停止向数据包处理器集群发送数据包流量,并以预设频率向当前主数据包网关发送可用性心跳信息,当主数据包网关做出响应,则等待进行下一次心跳请求;当主数据包网关没有响应,则通过共识协议和其它备用数据包网关确定每个网关新的主备角色并选举出新的主数据包网关,并切换到主备角色对应的运行模式。
8.根据权利要求1所述的旁路流量处理的循环互备高可用系统,其特征在于,所述数据包处理器包括数据包路由器、分区同步器、分区处理器、分区管理器以及集群管理器;
所述数据包路由器接收来自主数据包网关的网络数据包流量,并根据数据包中附带的分区号将流量路由到对应的分区处理器;
所述分区处理器接收和处理来自于数据包路由器的数据包流量并存储结果数据;
所述分区同步器用于同步各数据包处理器之间的分区历史存储数据;
所述分区管理器接收来自集群管理器的当前分区处理器状态信息,对分区进行创建和销毁;
所述集群管理器用于数据包处理器相互通信,组成集群;集群管理器通过共识协议确定处理器主备角色以及通过分区数、备份数、数据包处理器集群规模计算确定分区分配状态。
9.根据权利要求8所述的旁路流量处理的循环互备高可用系统,其特征在于,所述分区处理器包括流处理器和存储器;
所述流处理器根据分区处理器角色决定工作模式,当分区处理器为备用分区处理器,则不参与工作;当分区处理器为主分区处理器,当前的主分区处理器处理数据包流量,得到结果数据,并将结果数据输出至存储器进行存储,同时将结果数据复制发送到分区同步器,利用分区同步器发送到相对应的备用分区处理器进行备份存储;
所述存储器接收来自流处理器的结果数据并进行存储,当当前分区处理器为备用分区处理器,则接收来自分区同步器的结果数据进行存储。
10.根据权利要求8所述的旁路流量处理的循环互备高可用系统,其特征在于,所述集群管理器通过共识协议确定处理器主备角色包括:主数据包处理器负责向数据包网关更新当前分区处理器状态信息,备用数据包处理器感知主数据包处理器可用性状态,并在主数据包处理器不可用时,重新和其它备用数据包处理器通过共识协议协商确定新的主备角色。
CN202110639460.9A 2021-06-08 2021-06-08 一种旁路流量处理的循环互备高可用系统 Active CN113347038B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110639460.9A CN113347038B (zh) 2021-06-08 2021-06-08 一种旁路流量处理的循环互备高可用系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110639460.9A CN113347038B (zh) 2021-06-08 2021-06-08 一种旁路流量处理的循环互备高可用系统

Publications (2)

Publication Number Publication Date
CN113347038A true CN113347038A (zh) 2021-09-03
CN113347038B CN113347038B (zh) 2022-11-22

Family

ID=77475412

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110639460.9A Active CN113347038B (zh) 2021-06-08 2021-06-08 一种旁路流量处理的循环互备高可用系统

Country Status (1)

Country Link
CN (1) CN113347038B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023230993A1 (en) * 2022-06-02 2023-12-07 Telefonaktiebolaget Lm Ericsson (Publ) Method and apparatus for standby member and active member in cluster

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7197660B1 (en) * 2002-06-26 2007-03-27 Juniper Networks, Inc. High availability network security systems
US20100162383A1 (en) * 2008-12-19 2010-06-24 Watchguard Technologies, Inc. Cluster Architecture for Network Security Processing
WO2015101260A1 (zh) * 2013-12-30 2015-07-09 广州华多网络科技有限公司 对即时通讯业务进行处理的方法及系统
CN108365971A (zh) * 2018-01-10 2018-08-03 深圳市金立通信设备有限公司 日志解析方法、设备及计算机可读介质
CN109347655A (zh) * 2018-09-11 2019-02-15 上海天旦网络科技发展有限公司 基于网络数据的故障恢复系统和方法及存储介质
CN110113771A (zh) * 2019-03-22 2019-08-09 深圳市飞比电子科技有限公司 数据处理方法、装置、网关设备及存储介质
CN112507023A (zh) * 2014-12-19 2021-03-16 华为技术有限公司 用于在集群重新配置后的工作负载平衡的复制数据库分布

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7197660B1 (en) * 2002-06-26 2007-03-27 Juniper Networks, Inc. High availability network security systems
US20100162383A1 (en) * 2008-12-19 2010-06-24 Watchguard Technologies, Inc. Cluster Architecture for Network Security Processing
WO2015101260A1 (zh) * 2013-12-30 2015-07-09 广州华多网络科技有限公司 对即时通讯业务进行处理的方法及系统
CN112507023A (zh) * 2014-12-19 2021-03-16 华为技术有限公司 用于在集群重新配置后的工作负载平衡的复制数据库分布
CN108365971A (zh) * 2018-01-10 2018-08-03 深圳市金立通信设备有限公司 日志解析方法、设备及计算机可读介质
CN109347655A (zh) * 2018-09-11 2019-02-15 上海天旦网络科技发展有限公司 基于网络数据的故障恢复系统和方法及存储介质
CN110113771A (zh) * 2019-03-22 2019-08-09 深圳市飞比电子科技有限公司 数据处理方法、装置、网关设备及存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
孙学功等: "高超声速飞行器并行仿真方法研究", 《系统仿真学报》 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023230993A1 (en) * 2022-06-02 2023-12-07 Telefonaktiebolaget Lm Ericsson (Publ) Method and apparatus for standby member and active member in cluster

Also Published As

Publication number Publication date
CN113347038B (zh) 2022-11-22

Similar Documents

Publication Publication Date Title
CN110581782B (zh) 一种容灾数据的处理方法、装置及系统
CN109828868B (zh) 数据存储方法、装置、管理设备和双活数据存储系统
CN102355369B (zh) 虚拟化集群系统及其处理方法和设备
CN112463366B (zh) 面向云原生的微服务自动扩缩容和自动熔断方法及系统
EP2643771B1 (en) Real time database system
CA2938768A1 (en) Geographically-distributed file system using coordinated namespace replication
CN110971872B (zh) 一种基于分布式集群的视频图像信息采集方法
JP2017534133A (ja) 分散ストレージ及びレプリケーションシステム、並びに方法
CN111460039A (zh) 关系型数据库处理系统、客户端、服务器及方法
JP2013161251A (ja) コンピュータ障害監視プログラム、方法、及び装置
CN112272291A (zh) 视频存储方法、装置、管理设备及可读存储介质
CN113347038B (zh) 一种旁路流量处理的循环互备高可用系统
CN114124650A (zh) 一种sptn网络控制器主从部署方法
CN110247980B (zh) 一种局域网中的网关控制方法及网关
CN109347655B (zh) 基于网络数据的故障恢复系统和方法及存储介质
JP2013161252A (ja) 冗長コンピュータ制御プログラム、方法、及び装置
CN106855869B (zh) 一种实现数据库高可用的方法、装置和系统
CN117909136A (zh) 分布式日志存储备份方法、装置、设备及存储介质
CN113190620A (zh) Redis集群之间数据的同步方法、装置、设备及存储介质
JPH06274394A (ja) 分散データベース制御方法
CN115145782A (zh) 一种服务器切换方法,MooseFS系统及存储介质
CN115967611B (zh) 跨域的切换处理方法、装置、设备和存储介质
US7433939B2 (en) Fast reconfiguration of network elements
CN116346582A (zh) 一种实现主备双网冗余方法、装置、设备及存储介质
CN113923222B (zh) 数据处理方法及装置

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
GR01 Patent grant
GR01 Patent grant