CN114640574B - 一种主备设备的切换方法及装置 - Google Patents

一种主备设备的切换方法及装置 Download PDF

Info

Publication number
CN114640574B
CN114640574B CN202210188129.4A CN202210188129A CN114640574B CN 114640574 B CN114640574 B CN 114640574B CN 202210188129 A CN202210188129 A CN 202210188129A CN 114640574 B CN114640574 B CN 114640574B
Authority
CN
China
Prior art keywords
data packets
packet
equipment
main
packets
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
Application number
CN202210188129.4A
Other languages
English (en)
Other versions
CN114640574A (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.)
Tianyi Safety Technology Co Ltd
Original Assignee
Tianyi Safety Technology 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 Tianyi Safety Technology Co Ltd filed Critical Tianyi Safety Technology Co Ltd
Priority to CN202210188129.4A priority Critical patent/CN114640574B/zh
Publication of CN114640574A publication Critical patent/CN114640574A/zh
Application granted granted Critical
Publication of CN114640574B publication Critical patent/CN114640574B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • H04L43/0817Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking functioning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2212/00Encapsulation of packets

Landscapes

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

Abstract

本申请公开了一种主备设备的切换方法及装置,用以降低主备设备切换的时延,以及解决主备设备切换过程中数据丢失的问题。该方法包括:将接收到的来自客户端设备的数据包发送给主设备,并将主设备返回的响应包发送给客户端设备;若发送给主设备数据包的数量与主设备返回的响应包的数量差值大于设定阈值,且无响应包的数据包中的第一个无响应包的数据包与最后一个无响应包的数据包的时间差小于预设时间,则将后续接收到的数据包发送至主设备对应的备用设备,并将备用设备返回的响应包发送给客户端设备。

Description

一种主备设备的切换方法及装置
技术领域
本申请涉及通信技术领域,尤其涉及一种主备设备的切换方法及装置。
背景技术
相关技术中,为了保护各类服务器(例如各种应用服务器)的安全性,一般采用设置防火墙设备的方式来抵御各类攻击。因此,防火墙设备的可用性就变得尤为重要了。设置单一的防火墙设备可能会由于处理资源有限导致时延大的问题,并且若该单一的防火墙设备出现故障时,将无法抵御攻击,使得服务器的安全受到威胁。
因此,目前提出了设置备用的防火墙设备的方式来解决上述问题。在主设备和备用设备均无故障时,两个设备会均分流量,避免由于处理资源有限导致的时延为题。在主设备发生故障时,会由备用设备来替代主设备进行工作。现有技术中的主备设备切换方案是以发送心跳包的方式来检测主设备是否发生故障,当备用设备一段时间内没有接收到来自主设备的心跳包时,会调用自身的接管程序,接管主设备的流量,实现主备设备的切换。但是由于心跳包是周期性发送的,所以备用设备并不能够及时的发现主设备的故障。并且接管流量的过程也需要耗费一定的时间。所以现有的主备设备的切换方案会存在一定的时延,从而导致一些数据包因超时而失效,造成数据丢失的问题。
发明内容
本申请示例性的实施方式中提供一种主备设备的切换方法及装置,用于解决现有的主备切换方案中时延大和数据丢失等问题。
第一方面,本申请实施例提供了一种主备设备的切换方法,包括:
将接收到的来自客户端设备的数据包发送给主设备,并将所述主设备返回的响应包发送给客户端设备;
若所述发送给所述主设备数据包的数量与所述主设备返回的响应包的数量差值大于设定阈值,且无响应包的数据包中的第一个无响应包的数据包与最后一个无响应包的数据包的时间差小于预设时间,则将后续接收到的数据包发送至所述主设备对应的备用设备,并将所述备用设备返回的响应包发送给客户端设备。
基于上述方案,本申请提出的主备设备切换方法不再采用检测心跳包的方式,而是通过路由设备记录主设备未返回响应包的数量来确定主设备是否出现故障,从而实现主备设备的切换。本申请的方案可以减少主备设备切换的时延,从而减少服务中断的时间,实现无感知地准备切换。另外,本申请的方案不再需要备用设备在主设备故障时获取主设备中的数据包,路由设备会直接将接收到的数据包发送至备用设备,以此解决接管数据包过程中出现的数据丢失的问题。
在一些实施例中,所述方法还包括:
若所述发送给所述主设备数据包的数量与所述主设备返回的响应包的数量差值小于或者等于设定阈值,或者第一个无响应包的数据包与最后一个无响应包的数据包的时间差大于或者等于预设时间,则按照预设的流量分发算法将所述后续接收到的数据包发送至所述主设备和所述备用设备。
基于上述方案,在主备设备均无故障时,由主备设备共同承接流量,避免大流量拥塞问题。
在一些实施例中,所述方法还包括:
在所述发送给所述主设备数据包的数量与所述主设备返回的响应包的数量差值大于设定阈值,且第一个无响应包的数据包与最后一个无响应包的数据包的时间差小于预设时间时,确定所述主设备故障;
存储所述主设备故障的信息。
基于上述方案,路由设备存储主设备故障的信息,在后续需要转发数据包的时候,可以直接根据存储的信息确定主设备故障,从而将数据包发送给备用设备。
在一些实施例中,来自客户端设备的数据包采用基于无连接传输协议的低时延传输层协议QUIC协议封装,所述来自客户端设备的数据包所包含的连接ID均相同,所述连接ID和所述来自客户端设备的数据包的序列号用于服务器重组所述来自客户端设备的数据包。
第二方面,本申请实施例提供了一种主备设备的切换装置,包括:
通信单元,用于将接收到的来自客户端设备的数据包发送给主设备,并将所述主设备返回的响应包发送给客户端设备;
处理单元,用于在所述发送给所述主设备数据包的数量与所述主设备返回的响应包的数量差值大于设定阈值,且无响应包的数据包中的第一个无响应包的数据包与最后一个无响应包的数据包的时间差小于预设时间是,指示所述通信单元将后续接收到的数据包发送至所述主设备对应的备用设备,以及将所述备用设备返回的响应包发送给客户端设备。
在一些实施例中,所述处理单元,还用于:
在所述发送给所述主设备数据包的数量与所述主设备返回的响应包的数量差值小于或者等于设定阈值时,或者在第一个无响应包的数据包与最后一个无响应包的数据包的时间差大于或者等于预设时间时,按照预设的流量分发算法指示所述通信单元将所述后续接收到的数据包发送至所述主设备和所述备用设备。
在一些实施例中,所述处理单元,还用于:
在所述发送给所述主设备数据包的数量与所述主设备返回的响应包的数量差值大于设定阈值,且第一个无响应包的数据包与最后一个无响应包的数据包的时间差小于预设时间时,确定所述主设备故障;
将所述主设备故障的信息进行存储。
在一些实施例中,来自客户端设备的数据包采用基于无连接传输协议的低时延传输层协议QUIC协议封装,所述来自客户端设备的数据包所包含的连接ID均相同,所述连接ID和所述来自客户端设备的数据包的序列号用于服务器重组所述来自客户端设备的数据包。
第三方面,本申请实施例提供了一种电子设备,所述电子设备包括控制器和存储器。存储器用于存储计算机执行指令,控制器执行存储器中的计算机执行指令以利用控制器中的硬件资源执行第一方面任一种可能实现的方法的操作步骤。
第四方面,本申请提供一种计算机可读存储介质,计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各方面的方法。
另外,第二方面至第四方面的有益效果可以参见如第一方面所述的有益效果,此处不再赘述。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例。
图1为本申请实施例提供的一种通信系统架构示意图;
图2为本申请实施例提供的一种主备设备的切换方法流程图;
图3为本申请实施例提供的另一种主备设备的切换方法流程图;
图4为本申请实施例提供的一种用于实现主备设备切换方法的各模块示意图;
图5为本申请实施例提供的一种主备设备的切换装置的结构示意图;
图6为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请技术方案的一部分实施例,而不是全部的实施例。基于本申请文件中记载的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请技术方案保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”和“第二”是用于区别不同对象,而非用于描述特定顺序。此外,术语“包括”以及它们任何变形,意图在于覆盖不排他的保护。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。本申请中的“多个”可以表示至少两个,例如可以是两个、三个或者更多个,本申请实施例不做限制。
另外,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,在不做特别说明的情况下,一般表示前后关联对象是一种“或”的关系。
为了便于理解本申请提出的方案,下面首先对本申请涉及的技术用语进行介绍:
(1)WAF:网页应用防火墙(Web Application Firewall,WAF),是一种部署在web应用服务器之前的,用于抵御攻击的防护设备。WAF的主要是通过内置一些安全规则来实现防御,可抵御的攻击包括网页篡改、中间件漏洞、结构化查询语言(Structured QueryLanguage,SQL)注入等。还可以通过集中度和速率双重检测算法防止CC攻击。WAF在发现攻击之后,可以将IP进行锁定,IP锁定之后,被锁定的IP将无法访问网站业务。
(2)基于无连接传输协议的低时延传输层(Quick UDP Internet Connections,QUIC)协议:QUIC协议是谷歌公司推出的一种基于用户数据报(User Datagram Protocol,UDP)协议的传输协议,QUIC协议在保证网络传输的可靠性的同时也能够降低网络时延。因为,UDP协议是一个简单的无连接传输协议,基于UDP协议可以避免类似于传输控制协议(Transmission Control Protocol,TCP)握手建立连接和重传机制导致的网络时延,采用QUIC建立安全连接只需要一次握手。另外,QUIC协议还实现了多路复用和头部压缩等功能。传统的TCP协议是通过IP和端口四元组的标识来建立的连接,因此,如果IP或者端口号发生改变,那么就需要重新建立连接。但是QUIC协议是以一个随机生成的连接ID来进行标识,在IP或者端口号发生改变的时候,由于连接ID不会发生改变,因此不需要进行重连。
本申请提出的主备设备的切换方案是应用于路由设备的,由路由设备来执行设备切换的操作,为了便于理解,首先对本申请涉及的通信系统进行介绍。参见图1,为本申请实施例提供的一种通信系统架构图。应理解,本申请实施例并不限于图1所示的系统中,此外,图1中的装置可以是硬件,也可以是从功能上划分的软件或者以上二者结合后的结构。如图1所示,本申请实施例提供的系统架构包括客户端设备、路由设备、主设备、备用设备和应用服务器。需要说明的是,本申请对于主设备的备用设备的数量不作具体限定,主设备可以有很多个备用设备,在图1中,仅以主设备对应一个备用设备为例进行介绍。可选地,主设备也可以称为主节点,备用设备也可以称为备节点。
其中,图1系统中包括的客户端设备,也可以称为终端(User Equipment,UE),或者终端设备、移动台(Mobile Station,MS)、移动终端(Mobile Terminal,MT)等,是一种向用户提供语音和/或数据连通性的设备,例如,具有无线连接功能的手持式设备、车载设备等。目前,一些用户设备的举例为:手机(mobile phone)、平板电脑、笔记本电脑、掌上电脑、移动互联网设备(Mobile Internet Device,MID)、可穿戴设备,虚拟现实(Virtual Reality,VR)设备、增强现实(Augmented Reality,AR)设备、工业控制(Industrial Control)中的无线终端、无人驾驶(self driving)中的无线终端、远程手术(remote medical surgery)中的无线终端、智能电网(smart grid)中的无线终端、运输安全(transportation safety)中的无线终端、智慧城市(smart city)中的无线终端、智慧家庭(smart home)中的无线终端等。一些实施例中,本申请涉及的用户设备可以包括显示屏,用于显示各种应用程序所提供的显示界面。
图1中所示的路由设备,也可以称之为路由器(Router),是连接两个或多个网络的硬件设备,在网络间起网关的作用,是一种读取每一个数据包中的地址然后决定如何传送的专用智能性的网络设备。路由设备可以分析各种不同类型网络传来的数据包的目的地址,根据选定的路由算法把各数据包按最佳路线传送到指定位置。在图1中,路由设备可以为接收来自客户端设备的数据包,并将数据包通过主设备或者备用设备发送到应用服务器,应用服务器在接收到数据包后会进行数据包的重组,并通过主设备或者备用设备向路由设备返回响应包。路由设备可以将接收到的响应包原路返回至客户端设备。可选地,图1中所示的主设备和备用设备可以为防火墙设备,配置在应用服务器之前,用于检查发往应用服务器的数据包,通过内置的安全规则抵御各类网络攻击。可选地,当应用服务器为web应用服务器时,图1中所示的主设备和备用设备可以为WAF设备。
可选地,图1所示的应用服务器的功能可以由一个服务器或者多个服务器构成的服务器集群来实现。应用服务器可以理解为一个计算机应用程序(Application,APP)的后台服务器,其中可以包括处理器、硬盘、内存、系统总线等,用以响应来自客户端设备的请求,提供相应的业务服务。例如,可以接收来自客户端设备的数据包,重组接收到的数据包,解析数据包确定客户端设备的请求,为客户端设备提供服务。需要说明的是,图1仅作为一种示例,本申请对于通信系统中包括的客户端设备、路由设备以及备用设备的数量不作具体限定。
在相关技术中,若主设备和备用设备均无故障可以正常通信的情况下,路由设备在接收到来自客户端设备的数据包之后,可以根据流量均分原则向主设备和备用设备分发数据包。主、备设备在确定数据包无误后将数据包转发至应用服务器,并接收应用服务器返回的响应包,将接收到的响应包发送至路由设备。若主设备出现故障,则路由设备会将后续接收到的来自客户端设备的数据包全部发送至备用设备。目前的确定主设备出现故障的方式是采用检测心跳包的方式,若备用设备在一段时间内均没有接收到来自主设备的心跳包,则可以确定主设备出现故障。备用设备会启动接管程序,获取主设备中的数据包(主设备中的数据包是路由设备在确定主设备故障之前发送给主设备的),代替主设备提供服务。但是现有的这种以发送心跳包来检测主设备是否有故障的方式存在一些问题,由于心跳包是周期性发送的,所以备用设备并不能够及时发现主设备的故障,并且路由设备在确定主设备故障之后还需要一定的时间来更换路由,因此主备切换存在一定的时延。另外,时延大也会导致主设备中的数据包因为超时而失效,从而造成服务中断的问题。
有鉴于此,本申请实施例提供了一种主备设备的切换方法及装置,不再采用检测心跳包的方式来检测主设备的故障,而是通过路由设备记录一定时间内接收到的来自主设备的响应包的数量,通过这段时间内接收到的响应包的数量与发送给主设备的差值是否大于设定阈值来确定主设备是否出现故障。若大于,则路由设备可以直接将后续接收到数据包发送给备用设备,减少时延,实现无感知地主备设备的切换。
为了便于理解,下面结合实施例对本申请的方案进行介绍。参见图2,为本申请实施例提供的一种主备设备的切换方法流程图,该方法流程可以由图1所示的系统中的路由设备来执行,该方法流程具体包括:
201,将接收到的来自客户端设备的数据包发送给主设备,并将主设备返回的响应包发送给客户端设备。
可选地,主设备在接收到来自路由设备的数据包之后,可以根据自身内置的一些安全规则对数据包进行检测,确定无误后可以将数据包发送至应用服务器,并接收应用服务器返回的响应包,将响应包发送至路由设备。
202,若发送给主设备的数据包的数量与主设备返回的响应包的数量的差值大于设定阈值,且第一个无响应包的数据包与最后一个无响应包的数据包的时间差小于预设时间,则路由设备将后续接收到的数据包发送给备用设备。
可选地,路由设备可以记录主设备返回的响应包的数量,在确定发送的数据包和返回的响应包的差值大于设定阈值,以及第一个无响应包的数据包与最后一个无响应包的数据包的时间差小于预设时间时,可以停止向主设备发送数据包,将后续接收到的数据包发送至备用设备。
举例来说,若设定阈值为10,路由设备接收到来自客户端设备的13个数据包,将13个数据包发送至主设备,并记录到主设备返回的响应包的数量为2,则可以确定发送的数据包和返回的响应包的差值大于设定阈值。进一步地,路由设备可以确定13个数据包中第一个无响应包的数据包与最后一个无响应包的数据包的时间差是否小于预设时间,例如,预设时间为2秒,若10个无响应包的数据包中第一个无响应包的数据包的时间戳为10:31,最后一个无响应包的数据包的时间戳为11:32,这两个包的时间差大于预设时间,则不会确定为主设备故障。反之,若最后一个无响应包的数据包的时间戳为10:32,则可以确定主设备故障。
上述举例中计算时间差的方式是采用数据包中自带的时间戳来计算的,作为另一种可选的方式,路由设备还可以采用向主设备发送数据包的时间来计算时间差。因为计算的是两个数据包之间的时间差,所以计算该时间差所采用的时间还可以采用其他的时间,例如还可以是接收到数据包的时间。
基于上述方案,本申请提出的主备设备切换方法不再采用检测心跳包的方式,而是通过路由设备记录主设备未返回响应包的数量来确定主设备是否出现故障,从而实现主备设备的切换。本申请的方案可以减少主备设备切换的时延,从而减少服务中断的时间,实现无感知地准备切换。另外,本申请的方案不再需要备用设备在主设备故障时获取主设备中的数据包,路由设备会直接将接收到的数据包发送至备用设备,以此解决接管数据包过程中出现的数据丢失的问题。
在一种可能实现的方式中,路由设备如果确定发送给主设备的数据包的数量和主设备返回的响应包的数量的差值小于或者等于设定阈值,或者,路由设备确定无响应包的数据包中第一个包和最后一个包之间的时间差大于或者等于预设时间时,则可以确定主设备无故障。在主设备无故障时,路由设备可以采用流量均分原则将后续接收到的数据包发送给主设备和备用设备。例如,路由设备接收到来自客户端设备的四个数据包,可以将第一个和第三个数据包发送给主设备,将第二个和第四个数据包发送给备用设备。可选地,主设备和备用设备在确定这四个数据包均无问题后,将这四个数据包发送至应用服务器,应用服务器可以根据数据包的序列号将数据包进行重组和解析,并根据数据包中请求的信息为客户端设备提供相应的业务服务。在另一种可能实现的方式中,路由设备在确定主设备和备用设备均无故障时,还可以根据主设备和备用设备的处理资源来向主设备和备用设备转发接收到的数据包。
在一些实施例中,路由设备在根据发送给主设备的数据包和接收到来自主设备的响应包的数量以及无响应包的数据包的时间差,确定主设备发生故障之后,还可以存储主设备故障的信息。在后续接收到来自客户端设备的数据包时,可以直接根据存储的主设备故障的信息,将数据包全部发送给备用设备。可选地,存储主设备故障的信息可以是为主设备添加用于指示其出现故障不可用的设定标识,路由设备可以在转发数据包时根据主设备的标识来进行转发。
下面,为了更进一步理解本申请提出的主备设备的切换方法,结合具体的实施例进行介绍。参见图3,为本申请实施例提供的一种主备设备的切换流程示意图,具体包括:
301,客户端设备向路由设备发送数据包。
可选地,该数据包还可以成为请求包,用于请求某一项业务服务。
302,路由设备接收来自客户端设备的数据包,向主设备和备用设备转发数据包。
可选地,可以采用流量均分原则转发数据包,或者也可以根据主设备和备用设备的处理资源来进行数据包的转发,本申请对此不作具体限定。
303,路由设备判断目标数据包的数量是否大于设定阈值。
其中,目标数据包为路由设备发送给主设备的数据包中未接收到响应包的数据包。可选地,路由设备可以计算发送给主设备的数据包的数量和主设备返回的响应包的数量之间的差值,该差值即为目标数据包的数量。
若大于,则继续步骤304。
若不大于,则继续步骤306。
304,路由设备判断第一个目标数据包与最后一个目标数据包的时间差是否小于预设时间。
举例来说,路由设备统计到目标数据包为10个,则可以计算这10个目标数据包中发送的第一个目标数据包的时间戳与发送的最后一个目标数据包的时间戳之间的差值,并判断该差值是否小于预设时间。
若小于,则继续步骤305。
若不小于,则继续步骤306。
305,路由设备确定主设备故障,将后续接收到的数据包均发送至备用设备。
306,路由设备确定主设备无故障,将后续接收到的数据包发送给主设备和备用设备。
可选地,可以采用设定的流量分发算法为主设备和备用设备分配数据包。例如,可以根据流量均分原则为主设备和备用设备分配数据包。
在一些场景中,客户端设备与应用服务器之间可以采用QUIC协议进行通信。即,客户端设备在与应用服务器建立通信连接时,可以通过一次握手来与应用服务器建立连接,并采用QUIC协议对待发送的数据包进行封装,每一个数据包中都包含一个连接ID、一个流ID和一个序列号。作为一种示例,采用QUIC协议封装的数据包的包头所包含的各项字段及描述可以参见下方表1所示。
表1
字段 长度(byte) 描述
Public Flags 1 公共标志位
Connection ID 0,8 连接ID
Version 4 版本号
Packet Number 1,2,4,6 包序号
Message Authentication Hash 12 握手信息摘要
Frame Type 1 帧类型
Stream ID 1-4 流ID
Offset 0,2-8 偏移
Data Length 2 数据长度
Tag 2 标签
对于任意一个通信连接来说,该通信连接中,每一个数据包所包含的连接ID均相同,连接ID、流ID和序列号是应用服务器用于重组数据包的。在一些情况下,若主设备无故障,主备设备会一同承接流量,不同的数据流会发送给不同的设备。也就是说,主设备无故障时,主备设备所接收到的数据包的流ID是不相同的。那么,应用服务器在接收到主备设备转发的数据包之后,会解析出数据包中的连接ID、流ID和序列号,并根据这三者进行数据包的重组。
在另一些情况下,若主设备出现故障,现有技术的方案是由备用设备接管主设备的流量,那么应用服务器在进行数据包的重组时,依然需要将数据包中的连接ID、流ID和序列号均解析出来。而本申请提出的方案中,由于备用设备用不是从主设备接管流量,而是在主设备发生故障时,流量自动迁移到备用设备,因此,应用服务器在进行数据包的重组时,只需要解析出数据包中的连接ID和序列号就可以进行数据包的重组。
需要说明的是,上述采用QUIC协议进行通信仅作为一种举例,本申请对于实施例中所采用的通信协议不作具体限定,例如,还可以采用多路传输控制协议(MultiPath TCP,MPTCP)进行通信。下面继续以采用QUIC协议进行通信为例进行介绍,为了更进一步地理解本申请的方案,可以示例性地将方案的实现由几个模块完成。例如,参见图4,可以将模块划分为:QUIC通信模块、QUIC协议解析模块、多路径传输模块、连接迁移模块和QUIC重组模块。当然,上述模块划分仅作为一种示例,还可以采用其他的形式划分各个功能模块,本申请对于划分模块的方式不作限定。下面,结合各个模块对本申请的方案进行介绍:
QUIC通信模块:该模块可以位于客户端设备中,用于将数据包采用QUIC协议进行封装,根据具体的路由配置生成一个连接ID,根据流量分发算法为一个通信连接中的每一个子流生成一个流ID,以及为每一个数据包分配一个序列号。
QUIC协议解析模块:该模块可以位于路由设备或者应用服务器中,用于识别和解析数据包,提取包中的信息。其中,位于路由设备中的QUIC协议解析模块主要用于解析出数据包的包头中包含的连接ID、流ID和序列号进行路由分发。位于应用服务器中的QUIC协议解析模块主要用于解析数据包的内容以实现数据包的重组以及为客户端设备提供相应的业务服务。
多路径传输模块和连接迁移模块:这两个模块均位于路由设备中,用于在主设备发生故障时,根据QUIC协议解析模块解析出的数据包的连接ID、流ID和序列号等信息对数据包进行路由转发。在主设备故障时,将连接迁移到备用设备上,并且由于连接未中断,因此连接ID不会发生改变。
QUIC重组模块:该模块位于应用服务器中,用于对接收到的数据包进行重组。客户端设备在发送数据包时虽然是按照顺序发送的,但是在传输过程中,数据包的顺序可能会发生改变,因此需要进行数据包的重组,以便于应用服务器准确地为客户端设备提供相应的业务服务。在主设备无故障时,该模块可以根据QUIC协议解析模块解析出的数据包的连接ID、流ID和序列号进行数据包的重组。例如通过如下代码实现重组:
R(Array(pckts),Cid,Sid,seq)=Sorted_Array(pckts)
在主设备有故障时,所有的数据包均由备用设备转发,因此该模块可以根据QUIC协议解析模块解析出的数据包的连接ID和序列号进行重组。
基于与上述方法的同一构思,参见图5,为本申请实施例提供的一种主备设备的切换装置500。装置500用于执行上述方法中的各个步骤,为了避免重复,此处不再进行赘述。装置500包括:通信单元501和处理单元502。
通信单元501,用于将接收到的来自客户端设备的数据包发送给主设备,并将所述主设备返回的响应包发送给客户端设备;
处理单元502,用于在所述发送给所述主设备数据包的数量与所述主设备返回的响应包的数量差值大于设定阈值,且无响应包的数据包中的第一个无响应包的数据包与最后一个无响应包的数据包的时间差小于预设时间是,指示所述通信单元501将后续接收到的数据包发送至所述主设备对应的备用设备,以及将所述备用设备返回的响应包发送给客户端设备。
在一些实施例中,所述处理单元502,还用于:
在所述发送给所述主设备数据包的数量与所述主设备返回的响应包的数量差值小于或者等于设定阈值时,或者在第一个无响应包的数据包与最后一个无响应包的数据包的时间差大于或者等于预设时间时,按照预设的流量分发算法指示所述通信单元501将所述后续接收到的数据包发送至所述主设备和所述备用设备。
在一些实施例中,所述处理单元502,还用于:
在所述发送给所述主设备数据包的数量与所述主设备返回的响应包的数量差值大于设定阈值,且第一个无响应包的数据包与最后一个无响应包的数据包的时间差小于预设时间时,确定所述主设备故障;
将所述主设备故障的信息进行存储。
在一些实施例中,来自客户端设备的数据包采用基于无连接传输协议的低时延传输层协议QUIC协议封装,所述来自客户端设备的数据包所包含的连接ID均相同,所述连接ID和所述来自客户端设备的数据包的序列号用于服务器重组所述来自客户端设备的数据包。
图6示出了本申请实施例提供的电子设备600结构示意图。本申请实施例中的电子设备600还可以包括通信接口603,该通信接口603例如是网口,电子设备可以通过该通信接口603传输数据,例如通信接口603可以实现上述图5中的通信单元501的功能。
在本申请实施例中,存储器602存储有可被至少一个控制器601执行的指令,至少一个控制器601通过执行存储器602存储的指令,可以用于执行上述方法中的各个步骤,例如,控制器601可以实现上述图5中的处理单元501功能。
其中,控制器601是电子设备的控制中心,可以利用各种接口和线路连接整个电子设备的各个部分,通过运行或执行存储在存储器602内的指令以及调用存储在存储器602内的数据。可选的,控制器601可包括一个或多个处理单元,控制器601可集成应用控制器和调制解调控制器,其中,应用控制器主要处理操作系统和应用程序等,调制解调控制器主要处理无线通信。可以理解的是,上述调制解调控制器也可以不集成到控制器601中。在一些实施例中,控制器601和存储器602可以在同一芯片上实现,在一些实施例中,它们也可以在独立的芯片上分别实现。
控制器601可以是通用控制器,例如中央控制器(CPU)、数字信号控制器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本申请实施例中公开的各方法、步骤及逻辑框图。通用控制器可以是微控制器或者任何常规的控制器等。结合本申请实施例所公开的数据统计平台所执行的步骤可以直接由硬件控制器执行完成,或者用控制器中的硬件及软件模块组合执行完成。
存储器602作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块。存储器602可以包括至少一种类型的存储介质,例如可以包括闪存、硬盘、多媒体卡、卡型存储器、随机访问存储器(Random AccessMemory,RAM)、静态随机访问存储器(Static Random Access Memory,SRAM)、可编程只读存储器(Programmable Read Only Memory,PROM)、只读存储器(Read Only Memory,ROM)、带电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、磁性存储器、磁盘、光盘等等。存储器602是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。本申请实施例中的存储器602还可以是电路或者其它任意能够实现存储功能的装置,用于存储程序指令和/或数据。
通过对控制器601进行设计编程,例如,可以将前述实施例中介绍的神经网络模型的训练方法所对应的代码固化到芯片内,从而使芯片在运行时能够执行前述的神经网络模型训练方法的步骤,如何对控制器601进行设计编程为本领域技术人员所公知的技术,这里不再赘述。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其它可编程数据处理设备的控制器以产生一个机器,使得通过计算机或其它可编程数据处理设备的控制器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其它可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其它可编程数据处理设备上,使得在计算机或其它可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其它可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (8)

1.一种主备设备的切换方法,其特征在于,应用于路由设备,包括:
将接收到的来自客户端设备的数据包发送给主设备,并将所述主设备返回的响应包发送给客户端设备;
若所述发送给所述主设备数据包的数量与所述主设备返回的响应包的数量差值大于设定阈值,且无响应包的数据包中的第一个无响应包的数据包与最后一个无响应包的数据包的时间差小于预设时间,则确定所述主设备故障,并存储所述主设备故障的信息;根据所述主设备故障的信息将后续接收到的数据包发送至所述主设备对应的备用设备,并将所述备用设备返回的响应包发送给客户端设备。
2.根据权利要求1所述的方法,其特征在于,还包括:
若所述发送给所述主设备数据包的数量与所述主设备返回的响应包的数量差值小于或者等于设定阈值,或者第一个无响应包的数据包与最后一个无响应包的数据包的时间差大于或者等于预设时间,则按照预设的流量分发算法将所述后续接收到的数据包发送至所述主设备和所述备用设备。
3.根据权利要求1或2所述的方法,其特征在于,来自客户端设备的数据包采用基于无连接传输协议的低时延传输层协议QUIC协议封装,所述来自客户端设备的数据包所包含的连接ID均相同,所述连接ID和所述来自客户端设备的数据包的序列号用于服务器重组所述来自客户端设备的数据包。
4.一种主备设备的切换装置,其特征在于,所述装置应用于路由设备,或者所述装置为所述路由设备,所述装置包括:
通信单元,用于将接收到的来自客户端设备的数据包发送给主设备,并将所述主设备返回的响应包发送给客户端设备;
处理单元,用于在所述发送给所述主设备数据包的数量与所述主设备返回的响应包的数量差值大于设定阈值,且无响应包的数据包中的第一个无响应包的数据包与最后一个无响应包的数据包的时间差小于预设时间时,确定所述主设备故障,并存储所述主设备故障的信息;根据所述主设备故障的信息指示所述通信单元将后续接收到的数据包发送至所述主设备对应的备用设备,以及将所述备用设备返回的响应包发送给客户端设备。
5.根据权利要求4所述的装置,其特征在于,所述处理单元,还用于:
在所述发送给所述主设备数据包的数量与所述主设备返回的响应包的数量差值小于或者等于设定阈值时,或者在第一个无响应包的数据包与最后一个无响应包的数据包的时间差大于或者等于预设时间时,按照预设的流量分发算法指示所述通信单元将所述后续接收到的数据包发送至所述主设备和所述备用设备。
6.根据权利要求4或5所述的装置,其特征在于,来自客户端设备的数据包采用基于无连接传输协议的低时延传输层协议QUIC协议封装,所述来自客户端设备的数据包所包含的连接ID均相同,所述连接ID和所述来自客户端设备的数据包的序列号用于服务器重组所述来自客户端设备的数据包。
7.一种电子设备,其特征在于,所述电子设备包括控制器和存储器,
所述存储器,用于存储计算机程序或指令;
所述控制器,用于执行存储器中的计算机程序或指令,使得权利要求1-3中任一项所述的方法被执行。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令在被计算机调用时,使所述计算机执行如权利要求1-3任一项所述的方法。
CN202210188129.4A 2022-02-28 2022-02-28 一种主备设备的切换方法及装置 Active CN114640574B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210188129.4A CN114640574B (zh) 2022-02-28 2022-02-28 一种主备设备的切换方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210188129.4A CN114640574B (zh) 2022-02-28 2022-02-28 一种主备设备的切换方法及装置

Publications (2)

Publication Number Publication Date
CN114640574A CN114640574A (zh) 2022-06-17
CN114640574B true CN114640574B (zh) 2023-11-28

Family

ID=81948368

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210188129.4A Active CN114640574B (zh) 2022-02-28 2022-02-28 一种主备设备的切换方法及装置

Country Status (1)

Country Link
CN (1) CN114640574B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024000087A1 (en) * 2022-06-27 2024-01-04 Qualcomm Incorporated Techniques for voice call stall detection and mitigation

Citations (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101159669A (zh) * 2007-10-09 2008-04-09 华为技术有限公司 一种业务流量切换方法及装置
WO2009155871A1 (zh) * 2008-06-28 2009-12-30 华为技术有限公司 一种数据包处理方法、装置和系统
CN103780365A (zh) * 2014-01-26 2014-05-07 中国神华能源股份有限公司 动态的多链路冗余数据传输方法和系统
CN105515642A (zh) * 2015-11-30 2016-04-20 上海市共进通信技术有限公司 基于onu丢包率监控实现通道切换的系统及方法
WO2016150307A1 (zh) * 2015-03-23 2016-09-29 中兴通讯股份有限公司 一种防火墙双机热备方法、装置及系统
WO2017041577A1 (zh) * 2015-09-09 2017-03-16 中兴通讯股份有限公司 一种管理链路聚合成员端口丢包的方法和装置
CN107480014A (zh) * 2017-07-24 2017-12-15 北京奇安信科技有限公司 一种高可用设备切换方法及装置
CN107769943A (zh) * 2016-08-17 2018-03-06 阿里巴巴集团控股有限公司 一种主备集群切换的方法和设备
CN108512698A (zh) * 2018-03-15 2018-09-07 北京奇艺世纪科技有限公司 一种网络容灾方法、装置及电子设备
WO2019001197A1 (zh) * 2017-06-30 2019-01-03 中兴通讯股份有限公司 一种链路切换方法及装置
WO2019047855A1 (zh) * 2017-09-06 2019-03-14 新华三技术有限公司 一种bras转控分离的备份方法和装置
CN110890980A (zh) * 2019-11-15 2020-03-17 深圳明心科技有限公司 一种主备终端切换方法、装置、服务器和系统
CN111162952A (zh) * 2019-12-31 2020-05-15 中国银行股份有限公司 一种设备容错方法及装置
CN111190745A (zh) * 2019-11-05 2020-05-22 腾讯科技(深圳)有限公司 一种数据处理方法、装置及计算机可读存储介质
CN111865659A (zh) * 2020-06-10 2020-10-30 新华三信息安全技术有限公司 主备控制器的切换方法和装置、控制器、网络设备
CN111865688A (zh) * 2020-07-20 2020-10-30 北京百度网讯科技有限公司 网关监测方法、装置、电子设备及存储介质
WO2021197251A1 (zh) * 2020-03-30 2021-10-07 华为技术有限公司 一种通信方法及装置
WO2021227860A1 (zh) * 2020-05-12 2021-11-18 华为技术有限公司 一种数据同步的方法、装置、终端以及存储介质
CN113726573A (zh) * 2021-08-31 2021-11-30 通号城市轨道交通技术有限公司 冗余网络通信方法、装置、电子设备及存储介质
WO2022017099A1 (zh) * 2020-07-22 2022-01-27 华为技术有限公司 通信方法、cp设备及nat设备

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1674955A1 (de) * 2004-12-23 2006-06-28 Siemens Aktiengesellschaft Verfahren und Vorrichtung zur Überwachung der Funktionsweise eines Automatisierungssystems einer technischen Anlage
TW201421232A (zh) * 2012-11-19 2014-06-01 Ibm 在一冗餘群組中實施故障備援的方法、裝置與電腦程式產品
US9848019B2 (en) * 2013-05-30 2017-12-19 Verizon Patent And Licensing Inc. Failover for mobile devices
CN113411313B (zh) * 2018-01-25 2023-03-17 华为技术有限公司 数据传输方法、装置和系统
CN108965123B (zh) * 2018-07-24 2021-01-22 京东方科技集团股份有限公司 一种链路切换方法和网络通信系统

Patent Citations (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101159669A (zh) * 2007-10-09 2008-04-09 华为技术有限公司 一种业务流量切换方法及装置
WO2009155871A1 (zh) * 2008-06-28 2009-12-30 华为技术有限公司 一种数据包处理方法、装置和系统
CN103780365A (zh) * 2014-01-26 2014-05-07 中国神华能源股份有限公司 动态的多链路冗余数据传输方法和系统
WO2016150307A1 (zh) * 2015-03-23 2016-09-29 中兴通讯股份有限公司 一种防火墙双机热备方法、装置及系统
WO2017041577A1 (zh) * 2015-09-09 2017-03-16 中兴通讯股份有限公司 一种管理链路聚合成员端口丢包的方法和装置
CN105515642A (zh) * 2015-11-30 2016-04-20 上海市共进通信技术有限公司 基于onu丢包率监控实现通道切换的系统及方法
CN107769943A (zh) * 2016-08-17 2018-03-06 阿里巴巴集团控股有限公司 一种主备集群切换的方法和设备
WO2019001197A1 (zh) * 2017-06-30 2019-01-03 中兴通讯股份有限公司 一种链路切换方法及装置
CN107480014A (zh) * 2017-07-24 2017-12-15 北京奇安信科技有限公司 一种高可用设备切换方法及装置
WO2019047855A1 (zh) * 2017-09-06 2019-03-14 新华三技术有限公司 一种bras转控分离的备份方法和装置
CN108512698A (zh) * 2018-03-15 2018-09-07 北京奇艺世纪科技有限公司 一种网络容灾方法、装置及电子设备
CN111190745A (zh) * 2019-11-05 2020-05-22 腾讯科技(深圳)有限公司 一种数据处理方法、装置及计算机可读存储介质
CN110890980A (zh) * 2019-11-15 2020-03-17 深圳明心科技有限公司 一种主备终端切换方法、装置、服务器和系统
CN111162952A (zh) * 2019-12-31 2020-05-15 中国银行股份有限公司 一种设备容错方法及装置
WO2021197251A1 (zh) * 2020-03-30 2021-10-07 华为技术有限公司 一种通信方法及装置
WO2021227860A1 (zh) * 2020-05-12 2021-11-18 华为技术有限公司 一种数据同步的方法、装置、终端以及存储介质
CN111865659A (zh) * 2020-06-10 2020-10-30 新华三信息安全技术有限公司 主备控制器的切换方法和装置、控制器、网络设备
CN111865688A (zh) * 2020-07-20 2020-10-30 北京百度网讯科技有限公司 网关监测方法、装置、电子设备及存储介质
WO2022017099A1 (zh) * 2020-07-22 2022-01-27 华为技术有限公司 通信方法、cp设备及nat设备
CN113726573A (zh) * 2021-08-31 2021-11-30 通号城市轨道交通技术有限公司 冗余网络通信方法、装置、电子设备及存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
航天器热试验电源健康管理系统的设计与实现;刘泽元;文晶;张曦;朱琳;;计算机测量与控制(12);全文 *

Also Published As

Publication number Publication date
CN114640574A (zh) 2022-06-17

Similar Documents

Publication Publication Date Title
CN109391560B (zh) 网络拥塞的通告方法、代理节点及计算机设备
CN111556136B (zh) 一种电力边缘物联代理内部容器间的数据交互方法
CN100425025C (zh) 应用服务器安全法与网络安全法的安全系统与方法
US7386628B1 (en) Methods and systems for processing network data packets
CN113326228B (zh) 基于远程直接数据存储的报文转发方法、装置及设备
CN101009607B (zh) 用于检测并防止网络环境中的洪流攻击的系统和方法
CN112468518B (zh) 访问数据处理方法、装置、存储介质及计算机设备
CN109995746B (zh) 用于用户数据协议(udp)业务的分组丢失检测
US8045487B2 (en) Method for implementing multicast in rapid spanning tree protocol ring network
CN110290151B (zh) 报文发送方法、装置及可读取存储介质
CN114640574B (zh) 一种主备设备的切换方法及装置
CN102984175A (zh) 一种无ip监控前端设备和一种代理装置
CN112187609B (zh) 表项生成方法和装置
JP2003179647A (ja) パケット転送装置およびパケット転送方法
CN112583736A (zh) 一种信令报文分流方法、装置、设备及介质
US20220141153A1 (en) Server communication method, broadband access server, and system
CN102340511A (zh) 一种安全控制方法和设备
CN111654474B (zh) 一种安全检测的方法和装置
CN114884667A (zh) 一种通信鉴权方法、设备及存储介质
CN112152854A (zh) 一种信息处理方法及装置
CN114301960B (zh) 集群非对称流量的处理方法及装置、电子设备及存储介质
CN115190077B (zh) 控制方法、装置及计算设备
CN109462591A (zh) 一种数据传输方法、接收方法、装置及系统
CN115913824B (zh) 跨vpc的虚拟服务器通信方法及系统
CN118138539A (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