CN113179228B - 一种提高交换机堆叠可靠性的方法、装置、设备及介质 - Google Patents
一种提高交换机堆叠可靠性的方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN113179228B CN113179228B CN202110407694.0A CN202110407694A CN113179228B CN 113179228 B CN113179228 B CN 113179228B CN 202110407694 A CN202110407694 A CN 202110407694A CN 113179228 B CN113179228 B CN 113179228B
- Authority
- CN
- China
- Prior art keywords
- message
- interactive
- switch
- stacking system
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 44
- 230000002452 interceptive effect Effects 0.000 claims abstract description 139
- 238000012163 sequencing technique Methods 0.000 claims abstract description 15
- OHKOGUYZJXTSFX-KZFFXBSXSA-N ticarcillin Chemical compound C=1([C@@H](C(O)=O)C(=O)N[C@H]2[C@H]3SC([C@@H](N3C2=O)C(O)=O)(C)C)C=CSC=1 OHKOGUYZJXTSFX-KZFFXBSXSA-N 0.000 claims abstract 14
- 230000008569 process Effects 0.000 claims description 16
- 230000007246 mechanism Effects 0.000 claims description 14
- 238000013500 data storage Methods 0.000 claims description 11
- 230000003993 interaction Effects 0.000 claims description 10
- 230000003139 buffering effect Effects 0.000 claims description 9
- 238000005538 encapsulation Methods 0.000 claims description 3
- 230000006854 communication Effects 0.000 description 19
- 238000004891 communication Methods 0.000 description 18
- 230000002159 abnormal effect Effects 0.000 description 13
- 238000007726 management method Methods 0.000 description 10
- 230000008878 coupling Effects 0.000 description 5
- 238000010168 coupling process Methods 0.000 description 5
- 238000005859 coupling reaction Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 238000005192 partition Methods 0.000 description 4
- 230000004044 response Effects 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 239000000126 substance Substances 0.000 description 2
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000010355 oscillation Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/15—Interconnection of switching modules
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/544—Buffers; Shared memory; Pipes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/55—Prevention, detection or correction of errors
- H04L49/552—Prevention, detection or correction of errors by ensuring the integrity of packets received through redundant connections
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/548—Queue
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Quality & Reliability (AREA)
- Computer And Data Communications (AREA)
Abstract
本说明书实施例公开了一种可以提高交换机堆叠可靠性的方法,用以提高现有技术中堆叠系统整体的可用性。方法包括:在堆叠系统中,基于redis中的streams组件形成消息队列,以接收上层业务的交互消息,并对交互消息进行缓存排序;所述消息队列根据交互消息的缓存排序,在堆叠系统中基于主交换机与成员交换机的编号进行异步缓存处理;其中,与主交换机关联的交互信息进行处理时,消息队列将其他交互消息的数据进行缓存,以等待处理;采用基于TIPC协议的网络层封装交互消息,并调用相应的接口发送交互消息到相对应设备,其中,TIPC协议应用于高可用集群环境和动态集群环境中。
Description
技术领域
本说明书涉及网络通信领域,尤其涉及一种提高交换机堆叠可靠性的方法、装置、设备及介质。
背景技术
堆叠是指将一台以上的交换机组合起来共同工作,以便在有限的空间内提供尽可能多的端口。多台交换机经过堆叠形成一个堆叠单元,以提供更高端口密度和提供更容易的管理界面,避免单点使用时的故障。但是,由于交换机堆叠涉及到分布式转发和管理,使得系统内部的通信复杂度和业务的处理复杂度提升,难以保证系统的稳定性。
现有技术方案中,堆叠系统的内部通过独立的堆叠口进行交换机的级联,交换机系统之间通过自定义的数据帧进行交互消息的封装,容易造成消息发送或者读取卡顿,丢包等异常现象,使得堆叠系统稳定性的下降。而且现有技术中针对各种异常场景,通常没有对堆叠系统整体交互可靠性的考虑,导致整个系统出现可用性问题。
因此,现需要一种可以提高堆叠系统可靠性、稳定性的方法。
发明内容
本说明书一个或多个实施例提供了一种提高交换机堆叠可靠性的实现方法及系统,用于解决如下技术问题:现需要一种可以提高堆叠系统可靠性和稳定性的方法。
本说明书一个或多个实施例采用下述技术方案:
本说明书一个或多个实施例提供一种提高交换机堆叠可靠性的方法,方法包括:
在所述堆叠系统中,通过消息队列接收上层业务的交互消息,并对所述交互消息进行缓存排序;
所述消息队列根据所述交互消息的缓存排序,在所述堆叠系统中基于主交换机与成员交换机的编号进行异步缓存处理;其中,所述与主交换机关联的交互信息进行处理时,所述消息队列将其他交互消息的数据进行缓存,以等待处理;
采用基于TIPC协议的网络层封装所述交互消息,并调用相应的接口发送所述交互消息到相对应设备,其中,TIPC协议应用于高可用集群环境和动态集群环境中。
可选地,在本说明书一个或多个实施例中,所述消息队列根据所述消息数据的缓存排序,在所述堆叠系统中基于主交换机与成员交换机的编号进行异步缓存处理之前,还包括:
根据所述堆叠系统中预先设置的初始交换机优先级,结合交换机的运行时间以及交换机负载,获得所述交换机的实际优先级;
根据所述交换机的实际优先级对所述交换机进行编号;
根据所述的编号确定所述堆叠系统的所述主交换机和所述成员交换机。
可选地,在本说明书一个或多个实施例中,所述消息队列根据所述消息数据的缓存排序,在所述堆叠系统中基于主交换机与成员交换机的编号进行异步缓存处理,具体包括:
通过消息队列预先设定的所述交互消息的处理顺序,对所述交互消息已经关联的数据进行缓存;
基于所述交互消息的处理顺序,依次对于所述主交换机关联的交互消息进行数据处理,并将等待处理的交互消息已关联的数据缓存到成员交换机中。
可选地,在本说明书一个或多个实施例中,所述采用基于TIPC协议的网络层封装所述交互消息,并调用相应的接口发送所述交互消息到对应的设备,具体包括:
所述堆叠系统的上层业务发送交互消息,通过消息队列、HA及数据存储对交互消息进行处理,并通过调用相应的接口发送到网络层;
通过调用底层TIPC协议封装处理后的所述交互消息,基于TIPC的相应接口发送处理后的所述交互消息到对应的设备中。
可选地,在本说明书一个或多个实施例中,所述方法还包括:
基于CAP原理采用高性能的存储机制,缓存所述堆叠系统的业务数据,以实现所述堆叠系统不同进程之间的数据同步;
通过HA将所述堆叠系统的上层业务数据,缓存到所述存储机制,并根据预先设置的备份通道,将所述上层业务数据备份到备用交换机中。
可选地,在本说明书一个或多个实施例中,所述通过HA将所述堆叠系统的上层业务数据,缓存到所述存储机制,并根据预先设置的备份通道,将所述上层业务数据备份到备用交换机中,之后还包括:
若所述堆叠系统中的主交换机出现错误,所述成员交换机根据所述编号选择优先级高的作为备用交换机,并通过所述备用交换机进行业务处理。
本说明书的一个或多个实施例提供的一种提高交换机堆叠可靠性的系统,所述系统由上层到下层依次包括:管理层、控制层、基本组件层、网络层及硬件层;所述管理层用于实现用户配置;所述控制层包括以下任意一项或多项业务模块:邻居管理模块、堆叠选举模块、主备切换模块、其他功能模块,以适用多场景的业务应用;所述基本组件层包括消息队列模块、HA模块、数据存储模块,以满足上层业务的需求;所述网络层包括基于TIPC协议的数据通信模块,用以封装上层交互信息;所述硬件层包括交换机芯片,用以写入上层模块处理的操作过程。
可选地,在本说明书一个或多个实施例中,所述基本组件层包括消息队列模块、HA模块、数据存储模块,以满足上层业务的需求,具体包括:
所述消息队列模块,用于在堆叠系统中通过消息队列接收上层业务的交互消息,并对所述交互消息进行缓存排序;所述消息队列根据所述交互消息的缓存排序,在所述堆叠系统中基于主交换机与成员交换机的编号进行异步缓存处理;其中,所述与主交换机关联的交互数据进行处理时,所述消息队列将其他交互消息的数据进行缓存,以等待处理;
所述HA模块,用于将所述堆叠系统的上层业务数据,缓存到所述数据存储模块,并根据预先设置的备份通道,将所述上层业务数据备份到备用交换机中;
所述数据存储模块选用内存数据库Redis进行存储,并基于CAP理论,将所述堆叠系统的基础数据进行缓存,以实现所述堆叠系统不同进程之间的数据同步。
本说明书一个或多个实施例提供一种提高交换机堆叠可靠性的装置,所述装置包括:
缓存排序单元,用于在所述堆叠系统中,通过消息队列接收上层业务的交互消息,并对所述交互消息进行缓存排序;
异步处理单元,用于所述消息队列根据所述交互消息的缓存排序,在所述堆叠系统中基于主交换机与成员交换机的编号进行异步缓存处理;其中,所述与主交换机关联的交互信息进行处理时,所述消息队列将其他交互消息的数据进行缓存,以等待处理;
消息封装单元,用于采用基于TIPC协议的网络层封装所述交互消息,并调用相应的接口发送所述交互消息到相对应设备,其中,TIPC协议应用于高可用集群环境和动态集群环境中。
本说明书的一个或多个实施例提供的一种提高交换机堆叠可靠性的设备,所述设备包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:
在所述堆叠系统中,通过消息队列接收上层业务的交互消息,并对所述交互消息进行缓存排序;
所述消息队列根据所述交互消息的缓存排序,在所述堆叠系统中基于主交换机与成员交换机的编号进行异步缓存处理;其中,与主交换机关联的交互信息进行处理时,所述消息队列将其他交互消息的数据进行缓存,以等待处理;
采用基于TIPC协议的网络层封装所述消息数据,并调用相应的接口发送所述消息数据,其中,TIPC协议应用于高可用集群环境和动态集群环境中。
本说明书的一个或多个实施例提供一种提高交换机堆叠可靠性的介质,所述介质存储有可执行指令以被计算机执行,所述可执行指令包括:
在所述堆叠系统中,通过消息队列接收上层业务的交互消息,并对所述交互消息进行缓存排序;
所述消息队列根据所述交互消息的缓存排序,在所述堆叠系统中基于主交换机与成员交换机的编号进行异步缓存处理;其中,与主交换机关联的交互信息进行处理时,所述消息队列将其他交互消息的数据进行缓存,以等待处理;
采用基于TIPC协议的网络层封装所述消息数据,并调用相应的接口发送所述消息数据,其中,TIPC协议应用于高可用集群环境和动态集群环境中。
本说明书实施例采用的上述至少一个技术方案能够达到以下有益效果:
通过基本组件层中消息队列对数据交互消息的异步处理操作,缓解了传统直接远程调用方式导致堆叠通信出现抖动、中断的问题,提高了堆叠链路的可靠性。通过缓存机制使得消息与消息之间,进程与进程之间都处于非强一致性的状态,使得主交换机和成员交换机的数据出现中间状态,在经过一段时间后出现数据的一致,缓解了传统交互方式要求数据强一致性,所造成的数据丢包等问题。从堆叠系统的整体出发进行设计和规划,采用TIPC作为底层通信协议,上层采用消息队列组件传递消息,且使用内存数据库作为实时数据缓存,在堆叠系统的整体上提高了内部通信的可靠性。
附图说明
为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
在附图中:
图1为本说明书实施例提供的一种提高交换机堆叠可靠性的方法的方法流程图;
图2为本说明书实施例提供的一种提高交换机堆叠可靠性的系统的内部层次模块结构示意图;
图3为本说明书实施例提供的一种提高交换机堆叠可靠性的装置的内部结构示意图;
图4为本说明书实施例提供的一种提高交换机堆叠可靠性的设备的内部结构示意图;
图5为本说明书实施例提供的一种非易失性存储介质内部结构示意图。
具体实施方式
本说明书实施例提供一种提高交换机堆叠可靠性的方法、装置、设备及介质。
为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书保护的范围。
交换机堆叠是将多台独立交换机互联组合起来,共同进行工作的一种方式。交换机堆叠系统可以提供更高的端口密度、提供更容易的管理界面,并且还可以避免单点故障的问题。本说明书中对交换机堆叠系统,均以堆叠系统进行简称。堆叠系统由于是多台独立交换机组合起来工作的,因此会涉及到分布式转发和管理的问题,使得堆叠系统内部通信的复杂度和业务处理的复杂度都较高,很难保证系统的稳定性。
现有技术中的堆叠系统,内部通过独立的堆叠口进行交换机的级联,交换机系统之间通过自定义的数据帧进行交互消息的封装。当出现链路震荡,或者堆叠系统的消息处理速度不一致时,会出现消息发送或者读取卡顿、数据丢包的异常现象,从而导致整个堆叠系统稳定性的下降。
虽然针对异常场景,现有技术在堆叠系统中设置有局部容错,使得堆叠系统在一定的场景范围内,即使出现异常现象也可以使用。但是,按照传统堆叠系统的内部通信模式,很难保证不丢失消息也无法减少不同交换机处理时序的问题,从而导致堆叠系统的整体可靠性都较低。
针对堆叠系统内部通信不可靠、堆叠系统整体可靠性低的问题,本发明从堆叠系统的整体考虑,构建高性能、高可用的分布式堆叠系统内部通信方法,以提高堆叠系统的可靠性。通过上层消息队列对消息的异步处理,使得堆叠系统的内部交互消息可以按顺序在消息队列中进行缓存和处理。消息队列的缓存功能,使得堆叠系统相对于传统的直接远程调用方式,减少了堆叠系统内部通信出现抖动和中断的状况。并且通过消息队列对交互消息已经关联的数据进行缓存,使得进程与进程之间、设备与设备之间的耦合性降低。使得数据可以进行有序处理,降低了业务中断需要等待消息响应的现象,以及数据丢包的异常现象。同时本发明在底层通信,上层消息交互,缓存各方面从整体可靠性出发,提升了堆叠系统整体的可用性和可靠性。
以下结合附图,详细说明本说明书提供的技术方案。
本说明书实施例中各步骤的执行主体可以为堆叠系统,也可以为构成堆叠系统的内部组成模块,以下根据附图对说明书进行详细说明。
如图1所示,为本说明书一个或多个实施例提供的一种提高交换机堆叠可靠性的方法的方法流程示意图。
由图1可知,在本说明书一个或多个实施例中,一种提高交换机堆叠可靠性的方法,包括以下步骤:
S101:在所述堆叠系统中,通过消息队列接收上层业务的交互消息,并对所述交互消息进行缓存排序。
堆叠系统中堆叠系统的不可靠,会导致堆叠通信出现抖动、中断等问题。所以不适合采用直接远程调用的方式,阻塞式的对成员交换机进行控制。本发明实施例,采用消息队列对上层业务的交互消息相关联的数据,进行异步处理。
由于消息队列进行异步处理,所以需要对交互消息已经关联的数据进行缓存。因为堆叠系统中每台设备的负载,以及每台设备当前任务复杂度都不相同。由CAP理论可知,堆叠系统的内部通信无法保证远程获取数据并及时进行处理。所以,消息队列将上层交互消息根据消息的缓急程度,消息的流量大小在消息队列中进行排序。使得排序靠后的交互消息暂时缓存到消息队列中,以避免消息的丢包问题。
需要说明的是,CAP理论是针对分布式系统提出的。CAP理论的主要思想是在任何一个分布式系统中都无法同时满足CAP。C代表Consistency:表示一致性,所有的节点同一时间看到的是相同的数据;A代表Avaliablity:表示可用性,不管是否成功,确保一个请求最终都可以接收到响应;P代表Partion Tolerance:表示分区容错性,系统任意分区后,在网络故障时,仍能操作。在堆叠系统中,系统时分区的,业务的转发是在各个芯片上,并且堆叠连接可能出现中断的异常现象,所以分区容错一定存在。本说明书中一个或多个实施例,通过牺牲数据的一致性来满足系统的高可用性,当系统中一部分数据不可用或者不一致时,依然可以保持系统整体的主要可用。
S102:所述消息队列根据所述交互消息的缓存排序,在所述堆叠系统中基于主交换机与成员交换机的编号进行异步缓存处理;其中,所述与主交换机关联的交互信息进行处理时,所述消息队列将其他交互消息的数据进行缓存,以等待处理。
在本说明书一个或多个实施例中,所述消息队列根据所述消息数据的缓存排序,在所述堆叠系统中基于主交换机与成员交换机的编号进行异步缓存处理之前,还包括:
根据所述堆叠系统中预先设置的初始交换机优先级,结合交换机的运行时间以及交换机负载,获得所述交换机的实际优先级;
根据所述交换机的实际优先级对所述交换机进行编号;
根据所述的编号确定所述堆叠系统的所述主交换机和所述成员交换机。
堆叠系统是由多台独立交换机互联构成的,其中构成堆叠系统的交换机由主交换机和成员交换机构成。主交换机负责管理整个堆叠系统,一个堆叠系统中有且只有一个主交换机可以用active进行表示,除此之外所述堆叠系统的其他交换机,都是成员交换机可以用member来表示。
在交换机互联形成堆叠系统之前,交换机预置有初始的优先级,若无其他情况,在所述堆叠系统中根据所述交换机预置的初始优先级,选择优先级最高的作为主交换机,其他交换机作为备用交换机,而当主交换机出现故障如设备断电、设备宕机等异常情况时,在成员交换机中选择优先级最高的作为备用交换机接替主交换机的工作。
在本说明书一个或多个实施例中,若所述堆叠系统对系统的流量、负载有需求,则根据所述交换机的初始优先级、交换机的流量以及将换季的负载进行综合评估,获取所述交换机的实际优先级,以适应当前堆叠系统的需求。
对交换机的实际优先级从高到低进行编号,例如:优先级从高到低分别为交换机1、交换机2、交换机3、交换机4,则选择优先级最高的交换机1作为主交换机。交换机2、交换机3和交换机4作为成员交换机。
在本说明书一个或多个实施例中,所述消息队列根据所述消息数据的缓存排序,在所述堆叠系统中基于主交换机与成员交换机的编号进行异步缓存处理,具体包括:
通过消息队列预先设定的所述交互消息的处理顺序,对所述交互消息已经关联的数据进行缓存;
基于所述交互消息的处理顺序,依次对于所述主交换机关联的交互消息进行数据处理,并将等待处理的交互消息已关联的数据缓存到成员交换机中。
需要说明的是,消息队列(Message Queuing,简称MQ)是分布式系统中重要的组件,使用消息队列主要是为了通过异步处理提高系统性能和降低系统的耦合性,使得交互消息可以在消息队列中进行缓存,按照顺序等待被处理时再进行调用。在本说明书的一个或多个实施例中,所述消息队列通过redis的streams组件实现交互消息及相关联的数据在消息队列中的缓存。其中,Stream是Redis的数据类型中最复杂的,实现了额外的非强制性的特性。
在堆叠系统中,消息队列可以按照消息的缓急程度、处理消息预计花费的流量与所述消息关联的数据所在的设备的负载情况,设置划分消息处理顺序的规则。根据消息处理顺序,将待处理的消息及其关联的数据信息缓存到消息队列中,等待处理。使用缓存可能导致active和member上的数据在某个点出现不一致出现中间状态,但是并不影响数据面的业务转发,并且经过一段时等到消息被处理后,两设备中间出现数据一致的稳态。该过程避免了传统堆叠系统进行内部通信过程时,由设备1发出的消息必须要等到设备2响应并返回设备1,使得设备1和设备2的数据信息同步后,再进行下一步操作的问题。避免了需要保持进程之间或者设备之间的数据的强一致性的问题,降低了系统的耦合性,提高了堆叠系统的可靠性。
在本说明书一个或多个实施例中,消息队列进行缓存异步处理主要是基于Redis数据库中的Streams组件实现的。所述Streams组件为堆叠系统提供了更加复杂强大的API,使得堆叠系统的功能性更加完善。通过缓存使得设备之间的耦合性降低,使得堆叠系统的可靠性得到相应的提升。
需要说明的是,Redis是一个高性能的key-value数据库,有C语言实现,占用内存小,速度快,支持的数据类型也很丰富,这对分布式交换机系统来说,非常方便的实现了数据的缓存。同时Redis支持主从同步。使得数据可以从主交换机向任意数量的成员交换机上同步,使得不同进程之间的数据同步等功能。基于CAP理论,在堆叠系统无法保证分布式系统强一致性的时候,可以通过数据缓存提高系统的可靠性。Stream是Redis中引入的一种新的数据类型,Redis Streams是一种在内存中表示的抽象数据类型,它们实现了更强大的操作,克服了传统数据库组件对文件、信息的限制,实现了额外的非强制性的特性。
在本说明书一个或多个实施例中,所述消息队列根据所述交互消息的缓存排序,在所述堆叠系统中基于主交换机与成员交换机的编号进行异步缓存处理,之后还包括:
若所述等待处理的交互消息需要进行处理,则将所述等待处理的交互消息已关联的数据从缓存中调出;
通过所述消息队列对调出的消息数据进行处理,获得所述消息数据的结果格式,并调用相应的底层TIPC接口完成发送。
堆叠系统的消息队列对上层业务的交互消息进行排序后,将等待处理的消息缓存在消息队列中,当等待处理的交互消息需要进行处理时,再从消息队列的缓存中调出对应的交互消息。避免了进程之间的紧耦合性,为消息处理提供的缓存的场所,避免了消息丢失,以及相关设备需要等待消息响应所导致的利用率低的问题。
S103:采用基于TIPC协议的网络层封装所述交互消息,并调用相应的接口发送所述交互消息到相对应设备,其中,TIPC协议应用于高可用集群环境和动态集群环境中。
在本说明书一个或多个实施例中,所述采用基于TIPC协议的网络层封装所述交互消息,并调用相应的接口发送所述交互消息到对应的设备,具体包括:
所述堆叠系统的上层业务发送交互消息,通过消息队列、HA及数据存储对交互消息进行处理,并通过调用相应的接口发送到网络层;
通过调用底层TIPC协议封装处理后的所述交互消息,基于TIPC的相应接口发送处理后的所述交互消息到对应的设备中。
在本说明书一个或多个实施例中,所述堆叠系统的下层组件提供API,上层应用调用所述下层组件提供的API,以完成上层业务的转发。
交换机堆叠系统中,其上层业务会依赖下层组件进行相应的处理。例如:当上层堆叠选举需要向相应的设备通过自己的信息,将信息发送到对应的设备时,需要调用下层的消息队列组件的API,使得堆叠选举的信息在消息队列中缓存并等待处理。按照消息队列中的消息排序,当依次排到堆叠选举的消息时,消息队列会调用底层的TIPC的相关接口将堆叠选举的信息进行封装,以发送到相应的设备中。
其中,需要说明的是,透明进程间协议(Transparent InterprocessCommunication,简称TIPC),主要适用于高可用金额动态集群环境。TIPC针对可信网络环境,减少了建立通信连接的步骤和寻址目标地址的操作。如果在TCP/IP协议里完成这些操作,节点间最少也需要9次包交换,而使用TIPC则可以减少到2次。这可以提高节点间信息交换的频率以及减少节点间等待的时间。应用程序接口(Application Program Interface,简称API)就是操作系统留给应用程序的一个调用接口,应用程序通过调用操作系统的API而使操作系统去执行应用程序的命令。
在本说明书一个或多个实施例中,所述方法还包括:
基于CAP原理采用高性能的存储机制,缓存所述堆叠系统的业务数据,以实现所述堆叠系统不同进程之间的数据同步;
通过HA将所述堆叠系统的上层业务数据,缓存到所述存储机制,并根据预先设置的备份通道,将所述上层业务数据备份到备用交换机中。
在本说明书一个或多个实施例中,所述存储机制为高性能Redis数据库。
在堆叠系统中,当单台设备出现大量的MAC学习,路由学习或者端口进行频繁的上传下载操作是,就会导致上层逻辑产生大量的配置转化芯片的数据。这样就会出现堆叠系统中链路的拥塞导致上层业务无法服务。通过基于CAP原理引入的高性能存储机制,可以缓解减缓堆叠系统中上下速度不匹配所导致的性能低下,系统异常的问题。例如:当堆叠系统,需要查询节点上的信息时,如果存在本地缓存,就可以直接调用缓存中的数据,提高了信息调用的速度也降低了带宽的占用,提升了堆叠系统的整体性能。
在堆叠系统主设备出现异常的时候,会切换到备用设备。为了实现这种切换选择HA模块,为数据迁徙提供基础。在异常状况出现之前,HA会根据预置周期将各个业务模块的数据缓存到内存数据库中,然后通过统一的备份通道,将数据备份到备用设备中。以保证出现异常状况后,堆叠系统可以实现主备切换的平滑过渡,保证业务的正常进行,提高堆叠系统的可用性和可靠性。
在本说明书一个或多个实施例中,所述通过HA将所述堆叠系统的上层业务数据,缓存到所述存储机制,并根据预先设置的备份通道,将所述上层业务数据备份到备用交换机中,之后还包括:
若所述堆叠系统中的主交换机出现错误,所述成员交换机根据所述编号选择优先级高的作为备用交换机,并通过所述备用交换机进行业务处理。
根据步骤S102中的交换机优先级编号,如果优先级最高的交换机1出现异常状况也就是主交换机出现异常状况时,例如:断电,宕机等。那么在成员交换机2、交换机3、交换机4中,选择优先级最高的交换机2作为主交换机,接替交换机1进行工作,从而保证堆叠系统中业务处理的正常进行。
如图2所示,为本说明书一个或多个实施例提供的一种提高堆叠交换机可靠性的系统的内部层次结构的示意图。
如图2所示,在本说明书一个或多个实施例提供一种提高交换机堆叠可靠性的系统,其特征在于,所述系统,由上层到下层依次包括:管理层、控制层、基本组件层、网络层及硬件层;所述管理层用于实现用户配置;所述控制层包括以下任意一项或多项业务模块:邻居管理模块、堆叠选举模块、主备切换模块、其他功能模块,已使用多场景的业务应用;所述基本组件层包括消息队列模块、HA模块、数据存储模块,以满足上层业务的需求;所述网络层包括基于TIPC协议的数据通信模块,用以封装上层交互消息;所述硬件层包括交换机芯片,用以写入上层模块处理的操作过程。
在本说明一个或多个实施例中,所述基本组件层包括消息队列模块、HA模块、数据存储模块,以满足上层业务的需求,具体包括:
所述消息队列模块,用于在堆叠系统中通过消息队列接收上层业务的交互消息,并对所述交互消息进行缓存排序;所述消息队列根据所述交互消息的缓存排序,在所述堆叠系统中基于主交换机与成员交换机的编号进行异步缓存处理;其中,所述与主交换机关联的交互数据进行处理时,所述消息队列将其他交互消息的数据进行缓存,以等待处理;
所述HA模块,用于将所述堆叠系统的上层业务数据,缓存到所述数据存储模块,并根据预先设置的备份通道,将所述上层业务数据备份到备用交换机中;
所述数据存储模块基于CAP原理采用高性能的存储机制,将所述堆叠系统的基础数据进行缓存,以实现所述堆叠系统不同进程之间的数据同步。
通过将TIPC作为堆叠系统的底层通信协议提高了节点间信息交换的频率也减少了节点间的消息等待时间,提高了堆叠系统的整体效率。基于消息队列组件传递消息且实用内存数据库作为实施的数据缓存机制,从堆叠系统的整体出发,提高了系统的整体可用性及可靠性。
如图3所示,在本说明书的一个或多个实施例中提供了一种提高交换机堆叠可靠性的装置,所述装置包括:
缓存排序单元301,用于在所述堆叠系统中,通过消息队列接收上层业务的交互消息,并对所述交互消息进行缓存排序;
异步处理单元302,用于所述消息队列根据所述交互消息的缓存排序,在所述堆叠系统中基于主交换机与成员交换机的编号进行异步缓存处理;其中,所述与主交换机关联的交互信息进行处理时,所述消息队列将其他交互消息的数据进行缓存,以等待处理;
消息封装单元303,用于采用基于TIPC协议的网络层封装所述交互消息,并调用相应的接口发送所述交互消息到相对应设备,其中,TIPC协议应用于高可用集群环境和动态集群环境中。
如图4所示,在本说明书的一个或多个实施例中提供了一种提高交换机堆叠可靠性的设备,所述设备包括:
至少一个处理器401;以及,
与所述至少一个处理器401通信连接的存储器402;其中,
所述存储器402存储有可被所述至少一个处理器401执行的指令,所述指令被所述至少一个处理器401执行,以使所述至少一个处理器401能够:
在所述堆叠系统中,通过消息队列接收上层业务的交互消息,并对所述交互消息进行缓存排序;
所述消息队列根据所述交互消息的缓存排序,在所述堆叠系统中基于主交换机与成员交换机的编号进行异步缓存处理;其中,与主交换机关联的交互信息进行处理时,所述消息队列将其他交互消息的数据进行缓存,以等待处理;
采用基于TIPC协议的网络层封装所述消息数据,并调用相应的接口发送所述消息数据,其中,TIPC协议应用于高可用集群环境和动态集群环境中。
如图5所示,在本说明书的一个或多个实施例中提供了一种非易失性存储介质,所述介质存储有可执行指令501以被计算机执行,所述可执行指令501包括:
在所述堆叠系统中,通过消息队列接收上层业务的交互消息,并对所述交互消息进行缓存排序;
所述消息队列根据所述交互消息的缓存排序,在所述堆叠系统中基于主交换机与成员交换机的编号进行异步缓存处理;其中,与主交换机关联的交互信息进行处理时,所述消息队列将其他交互消息的数据进行缓存,以等待处理;
采用基于TIPC协议的网络层封装所述消息数据,并调用相应的接口发送所述消息数据,其中,TIPC协议应用于高可用集群环境和动态集群环境中。
Claims (10)
1.一种提高交换机堆叠可靠性的方法,其特征在于,所述方法包括:
在所述堆叠系统中,通过消息队列接收上层业务的交互消息,并对所述交互消息进行缓存排序;
所述消息队列根据所述交互消息的缓存排序,在所述堆叠系统中基于主交换机与成员交换机的编号进行异步缓存处理;其中,所述与主交换机关联的交互信息进行处理时,所述消息队列将其他待处理的交互消息进行缓存,以等待处理;
采用基于TIPC协议的网络层封装所述交互消息,并调用相应的接口发送所述交互消息到相对应设备,其中,TIPC协议应用于高可用集群环境和动态集群环境中。
2.根据权利要求1所述的一种提高交换机堆叠可靠性的方法,其特征在于,所述消息队列根据所述消息数据的缓存排序,在所述堆叠系统中基于主交换机与成员交换机的编号进行异步缓存处理之前,还包括:
根据所述堆叠系统中预先设置的初始交换机优先级,结合交换机的运行时间以及交换机负载,获得所述交换机的实际优先级;
根据所述交换机的实际优先级对所述交换机进行编号;
根据所述的编号确定所述堆叠系统的所述主交换机和所述成员交换机。
3.根据权利要求1所述的一种提高交换机堆叠可靠性的方法,其特征在于,所述消息队列根据所述消息数据的缓存排序,在所述堆叠系统中基于主交换机与成员交换机的编号进行异步缓存处理,具体包括:
通过消息队列预先设定的所述交互消息的处理顺序,对所述交互消息已经关联的数据进行缓存;
基于所述交互消息的处理顺序,依次对于所述主交换机关联的交互消息进行数据处理,并将等待处理的交互消息已关联的数据缓存到成员交换机中。
4.根据权利要求1所述的一种提高交换机堆叠可靠性的方法,其特征在于,所述消息队列根据所述消息数据的缓存排序,在所述堆叠系统中基于主交换机与成员交换机的编号进行异步缓存处理,之后还包括:
若所述等待处理的交互消息需要进行处理,则将所述等待处理的交互消息已关联的数据从缓存中调出;
通过所述消息队列对调出的消息数据进行处理,获得所述消息数据的结果格式,并调用相应的底层TIPC接口完成发送。
5.根据权利要求3所述的一种提高交换机堆叠可靠性的方法,其特征在于,所述采用基于TIPC协议的网络层封装所述交互消息,并调用相应的接口发送所述交互消息到对应的设备,具体包括:
所述堆叠系统的上层业务发送交互消息,通过消息队列、HA模块及数据存储对交互消息进行处理,并通过调用相应的接口发送到网络层;其中,所述HA模块用于所述主交换机与备用交换机的切换;
通过调用底层TIPC协议封装处理后的所述交互消息,基于TIPC的相应接口发送处理后的所述交互消息到对应的设备中。
6.根据权利要求1所述的一种提高交换机堆叠可靠性的方法,其特征在于,所述方法还包括:
基于CAP原理采用高性能的存储机制,缓存所述堆叠系统的业务数据,以实现所述堆叠系统不同进程之间的数据同步;
通过HA模块将所述堆叠系统的上层业务数据,缓存到所述存储机制,并根据预先设置的备份通道,将所述上层业务数据备份到备用交换机中。
7.根据权利要求6所述的一种提高交换机堆叠可靠性的方法,其特征在于,所述通过HA将所述堆叠系统的上层业务数据,缓存到所述存储机制,并根据预先设置的备份通道,将所述上层业务数据备份到备用交换机中,之后还包括:
若所述堆叠系统中的主交换机出现错误,所述成员交换机根据所述编号选择优先级高的作为备用交换机,并通过所述备用交换机进行业务处理。
8.一种提高交换机堆叠可靠性的装置,其特征在于,所述装置包括:
缓存排序单元,用于在所述堆叠系统中,通过消息队列接收上层业务的交互消息,并对所述交互消息进行缓存排序;
异步处理单元,用于所述消息队列根据所述交互消息的缓存排序,在所述堆叠系统中基于主交换机与成员交换机的编号进行异步缓存处理;其中,所述与主交换机关联的交互信息进行处理时,所述消息队列将其他待处理的交互消息进行缓存,以等待处理;
消息封装单元,用于采用基于TIPC协议的网络层封装所述交互消息,并调用相应的接口发送所述交互消息到相对应设备,其中,TIPC协议应用于高可用集群环境和动态集群环境中。
9.一种提高交换机堆叠可靠性的设备,其特征在于,所述设备包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被至少一个处理器的执行指令,所述执行指令被所述至少一个处理器执行,以使所述至少一个处理器能够:
在所述堆叠系统中,通过消息队列接收上层业务的交互消息,并对所述交互消息进行缓存排序;
所述消息队列根据所述交互消息的缓存排序,在所述堆叠系统中基于主交换机与成员交换机的编号进行异步缓存处理;其中,与主交换机关联的交互信息进行处理时,所述消息队列将其他待处理的交互消息进行缓存,以等待处理;
采用基于TIPC协议的网络层封装所述消息数据,并调用相应的接口发送所述消息数据,其中,TIPC协议应用于高可用集群环境和动态集群环境中。
10.一种非易失性存储介质,存储有计算机的可执行指令,其特征在于,所述可执行指令包括:
在所述堆叠系统中,通过消息队列接收上层业务的交互消息,并对所述交互消息进行缓存排序;
所述消息队列根据所述交互消息的缓存排序,在所述堆叠系统中基于主交换机与成员交换机的编号进行异步缓存处理;其中,与主交换机关联的交互信息进行处理时,所述消息队列将其他待处理的交互消息进行缓存,以等待处理;
采用基于TIPC协议的网络层封装所述消息数据,并调用相应的接口发送所述消息数据,其中,TIPC协议应用于高可用集群环境和动态集群环境中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110407694.0A CN113179228B (zh) | 2021-04-15 | 2021-04-15 | 一种提高交换机堆叠可靠性的方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110407694.0A CN113179228B (zh) | 2021-04-15 | 2021-04-15 | 一种提高交换机堆叠可靠性的方法、装置、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113179228A CN113179228A (zh) | 2021-07-27 |
CN113179228B true CN113179228B (zh) | 2022-12-23 |
Family
ID=76923460
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110407694.0A Active CN113179228B (zh) | 2021-04-15 | 2021-04-15 | 一种提高交换机堆叠可靠性的方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113179228B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115118682A (zh) * | 2022-06-06 | 2022-09-27 | 上海华信长安网络科技有限公司 | 一种堆叠交换机与外接设备通信的方法和装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN2669500Y (zh) * | 2003-12-31 | 2005-01-05 | 港湾网络有限公司 | 环形交换机堆叠装置 |
CN1791064A (zh) * | 2004-10-28 | 2006-06-21 | 阿尔卡特公司 | 具备自动建立机制的堆叠管理器协议 |
WO2009059476A1 (fr) * | 2007-11-09 | 2009-05-14 | Zte Corporation | Procédé pour distribuer le numéro de dispositif dans un système d'empilage |
CN102664750A (zh) * | 2012-04-09 | 2012-09-12 | 北京星网锐捷网络技术有限公司 | 多机热备份的方法、系统及设备 |
CN106789157A (zh) * | 2016-11-11 | 2017-05-31 | 武汉烽火网络有限责任公司 | 堆叠系统及堆叠交换机的硬件资源管理方法 |
CN107222530A (zh) * | 2017-05-23 | 2017-09-29 | 努比亚技术有限公司 | 服务异步交互方法、设备、系统和可读介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2000072533A1 (en) * | 1999-05-21 | 2000-11-30 | Broadcom Corporation | Stacked network switch configuration |
US8289977B2 (en) * | 2009-06-10 | 2012-10-16 | International Business Machines Corporation | Two-layer switch apparatus avoiding first layer inter-switch traffic in steering packets through the apparatus |
US8243618B2 (en) * | 2010-04-26 | 2012-08-14 | International Business Machines Corporation | Steering fragmented IP packets using 5-tuple based rules |
CN105634986B (zh) * | 2014-11-30 | 2019-04-23 | 中国科学院沈阳自动化研究所 | 一种交换机实现方法与系统 |
-
2021
- 2021-04-15 CN CN202110407694.0A patent/CN113179228B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN2669500Y (zh) * | 2003-12-31 | 2005-01-05 | 港湾网络有限公司 | 环形交换机堆叠装置 |
CN1791064A (zh) * | 2004-10-28 | 2006-06-21 | 阿尔卡特公司 | 具备自动建立机制的堆叠管理器协议 |
WO2009059476A1 (fr) * | 2007-11-09 | 2009-05-14 | Zte Corporation | Procédé pour distribuer le numéro de dispositif dans un système d'empilage |
CN102664750A (zh) * | 2012-04-09 | 2012-09-12 | 北京星网锐捷网络技术有限公司 | 多机热备份的方法、系统及设备 |
CN106789157A (zh) * | 2016-11-11 | 2017-05-31 | 武汉烽火网络有限责任公司 | 堆叠系统及堆叠交换机的硬件资源管理方法 |
CN107222530A (zh) * | 2017-05-23 | 2017-09-29 | 努比亚技术有限公司 | 服务异步交互方法、设备、系统和可读介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113179228A (zh) | 2021-07-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10204070B2 (en) | Method, device, system and storage medium for implementing packet transmission in PCIE switching network | |
CN102857494B (zh) | 通用网络接口控制器 | |
US6044418A (en) | Method and apparatus for dynamically resizing queues utilizing programmable partition pointers | |
US5491690A (en) | Method and apparatus to speed up the path selection in a packet switching network | |
JPH07288546A (ja) | 回線アダプタおよび経路指定方法 | |
JP4561800B2 (ja) | データ同期システム及び方法 | |
US20230275832A1 (en) | Networking processor and network device | |
CN108616376B (zh) | 一种fc网络系统故障动态重构方法 | |
CN111682927A (zh) | 一种基于mlag环境的报文同步方法、装置、设备及介质 | |
US11997024B2 (en) | Mapping NVMe-over-fabric packets using virtual output queues | |
US11924024B2 (en) | Switching method and apparatus, device, and storage medium | |
CN110519079B (zh) | 一种数据转发方法、装置、网板、网络设备和存储介质 | |
JP2009157680A (ja) | メモリ制御装置 | |
US11050655B2 (en) | Route information distribution through cloud controller | |
CN113179228B (zh) | 一种提高交换机堆叠可靠性的方法、装置、设备及介质 | |
WO2015043679A1 (en) | Moving stateful applications | |
CN113259408B (zh) | 数据传输方法和系统 | |
CN114650255B (zh) | 报文处理方法及网络设备 | |
CN107995315B (zh) | 业务板间信息的同步方法、装置、存储介质及计算机设备 | |
CN114884878A (zh) | 一种硬件学习模式下多交换芯片堆叠的mac地址同步方法 | |
CN114500400A (zh) | 基于容器技术的大规模网络实时仿真方法 | |
CN115297065B (zh) | 处理设备通信互连方法、装置、计算机设备和存储介质 | |
CN214480674U (zh) | 桥接器及组合式网络 | |
WO2023061134A1 (zh) | 灵活以太的时隙资源配置方法、终端及存储介质 | |
US11336592B2 (en) | Flexible link level retry for shared memory switches |
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 |