掌桥专利:专业的专利平台
掌桥专利
首页

一种基于云原生的网络故障自我修复方法和系统

文献发布时间:2024-01-17 01:13:28


一种基于云原生的网络故障自我修复方法和系统

技术领域

本申请涉及基于云原生的网络故障自我修复技术领域,特别是涉及一种基于云原生的网络故障自我修复方法和系统。

背景技术

随着云原生技术的发展和普及,使用云原生的企业不断增多,企业对于网络的要求也愈加复杂。当集群的业务量不断扩大,业务对于网络稳定的要求更高,当集群的网络出口发生故障时,能够做到自我修复的系统才能够满足当前的要求。目前为了保障集群的网络稳定一般使用负载均衡,来保证所有的请求都能访问到服务上。

负载均衡就是将负载进行平衡、分摊到多个操作单元上进行运行,例如FTP服务器、Web服务器、企业核心应用服务器和其它主要任务服务器等,从而协同完成工作任务。

现有负载均衡常见的硬件有比较昂贵的F5和Array等商用的负载均衡器,软件有ngi nx,LVS和HAProxy,但是硬件的很昂贵,不适合小型项目使用,软件的负载均衡有各自的优缺点,而且这些现有的负载均衡只能够保证集群入口网络稳定,不能保证集群出口网络可达。

发明内容

基于此,针对上述技术问题,提供一种基于云原生的网络故障自我修复方法和系统,并且本发明控制程序部分运行在云原生环境,本身具有高可靠性,从而保证系统生命心跳高可靠,在系统本身高可靠和保证网络出口高可靠的双重保证下解决现有的负载均衡只能够保证集群入口网络稳定,不能保证集群出口网络可达的问题,从而保证集群稳定可靠的运行

第一方面,一种基于云原生的网络故障自我修复方法,所述方法包括:

启动探测器对目标网络设备进行探测;

启动网络探测器探测,若所述网络探测器持续阻塞,则所述网络探测器持续探测;若所述网络探测器阻塞结束,则重新选择连接并切换,结束本次探测;

在所述启动网络探测器探测的同时,检测当前探测器是否在默认网关设备,若否,则启动恢复探测器探测,判断所述默认网关设备网络是否可达,若是,则切换连接为所述默认网关设备,结束本次探测;

在结束本次探测后重新启动下次探测。

上述方案中,可选地,所述启动探测器对目标网络设备进行探测之前包括:检测所述目标网络设备的所有连接,若所述所有连接大于两个,则启动探测器;

并记录探针所在的当前位置,所述探针默认初始位置为所述默认网关设备连接,其中,所述探针记录当前连接所在的位置,默认初始位置在所述默认网关设备连接上。

上述方案中,进一步可选地,所述启动网络探测器探测,若所述网络探测器持续阻塞,则所述网络探测器持续探测包括:

所述启动网络探测器探测之后,所述网络探测器连接到当前记录所述探针位置上;其中,所述网络探测器连接到当前记录的探针位置所在的服务上;

所述网络探测器持续探测主要的探测工作为在连接的目标服务上,所述目标服务持续探测当前的网络出口网络是否正常,若所述当前的网络出口网络不正常,则解除阻塞,所述网络探测器阻塞结束。

上述方案中,进一步可选地,所述若所述网络探测器阻塞结束,则重新选择连接并切换,结束本次探测包括:

所述网络探测器阻塞结束具体包括:当前连接出现错误时、所述恢复探测器检测到主要连接的网络已恢复时或网络探测器探测到当前连接的服务网络不可达。

上述方案中,进一步可选地,所述重新选择连接并切换,结束本次探测,具体为:在所述目标网络设备的所有连接内选出网络最快新连接,切换并记录所述探针位置。

上述方案中,进一步可选地,所述启动恢复探测器探测,判断所述默认网关设备网络是否可达,若是,则切换连接为所述默认网关设备,结束本次探测包括:

若所述恢复探测器持续阻塞,则所述恢复探测器持续探测;若所述恢复探测器阻塞结束,判断所述默认网关设备网络是否可达为是,则切换连接为所述默认网关设备,结束本次探测。

上述方案中,进一步可选地,所述在结束本次探测后重新启动下次探测包括:

所述下次探测为启动探测器对目标网络设备进行探测;

启动网络探测器探测,若所述网络探测器持续阻塞,则所述网络探测器持续探测;若所述网络探测器阻塞结束,则重新选择连接并切换,结束本次探测;

在所述启动网络探测器探测的同时,检测当前探测器是否在默认网关设备,若否,则启动恢复探测器探测,判断所述默认网关设备网络是否可达,若是,则切换连接为所述默认网关设备,结束本次探测;

在结束本次探测后重新启动下次探测。

第二方面,一种基于云原生的网络故障自我修复系统,所述系统包括:

启动模块:用于启动探测器对目标网络设备进行探测;

第一探测模块:用于启动网络探测器探测,若所述网络探测器持续阻塞,则所述网络探测器持续探测;若所述网络探测器阻塞结束,则重新选择连接并切换,结束本次探测;

第二探测模块:用于在所述启动网络探测器探测的同时,检测当前探测器是否在默认网关设备,若否,则启动恢复探测器探测,判断所述默认网关设备网络是否可达,若是,则切换连接为所述默认网关设备,结束本次探测;

循环模块:用于在结束本次探测后重新启动下次探测。

第三方面,一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:

启动探测器对目标网络设备进行探测;

启动网络探测器探测,若所述网络探测器持续阻塞,则所述网络探测器持续探测;若所述网络探测器阻塞结束,则重新选择连接并切换,结束本次探测;

在所述启动网络探测器探测的同时,检测当前探测器是否在默认网关设备,若否,则启动恢复探测器探测,判断所述默认网关设备网络是否可达,若是,则切换连接为所述默认网关设备,结束本次探测;

在结束本次探测后重新启动下次探测。

第四方面,一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:

启动探测器对目标网络设备进行探测;

启动网络探测器探测,若所述网络探测器持续阻塞,则所述网络探测器持续探测;若所述网络探测器阻塞结束,则重新选择连接并切换,结束本次探测;

在所述启动网络探测器探测的同时,检测当前探测器是否在默认网关设备,若否,则启动恢复探测器探测,判断所述默认网关设备网络是否可达,若是,则切换连接为所述默认网关设备,结束本次探测;

在结束本次探测后重新启动下次探测。

本发明至少具有以下有益效果:

本发明基于对现有技术问题的进一步分析和研究,认识到现有的负载均衡只能够保证集群入口网络稳定,不能保证集群出口网络可达的问题,本发明通过启动探测器对目标网络设备进行探测,启动网络探测器探测,若所述网络探测器持续阻塞,则所述网络探测器持续探测;若所述网络探测器阻塞结束,则重新选择连接并切换,结束本次探测,并且在所述启动网络探测器探测的同时,检测当前探测器是否在默认网关设备,若否,则启动恢复探测器探测,判断所述默认网关设备网络是否可达,若是,则切换连接为所述默认网关设备,结束本次探测。通过本发明方案,当集群默认的网络出口一旦发生故障,集群对外的访问中断,选取最优网络出口,保证集群的对外访问正常;当默认网络出口故障解除后,需要将网络出口恢复成初始状态,不再占用其他出口带宽,达到一种网络故障自我修复的功能。

当集群正常运行过程中,一旦发现集群的网络出口发生故障,立刻做出响应,将网络出口漂移到最优的网络出口上。当默认网络出口故障解除后,恢复到初始配置状态。本发明不仅能够兼容外部负载均衡,还能保证本身业务的高可靠,以及网络故障的自我纠错。

再有,本申请探针程序运行在云原生环境,本身具有高可靠性,从而保证目标系统生命心跳高可靠。

附图说明

图1为本发明一个实施例提供的基于云原生的网络故障自我修复方法的流程示意图;

图2为本发明一个实施例提供的基于云原生的网络故障自我修复方法的处理过程示意图;

图3为一个实施例中计算机设备的内部结构图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

本申请提供的基于云原生的网络故障自我修复方法,如图1和图2所示,包括以下步骤:

启动探测器对目标网络设备进行探测;

启动网络探测器探测,若所述网络探测器持续阻塞,则所述网络探测器持续探测;若所述网络探测器阻塞结束,则重新选择连接并切换,结束本次探测;

在所述启动网络探测器探测的同时,检测当前探测器是否在默认网关设备,若否,则启动恢复探测器探测,判断所述默认网关设备网络是否可达,若是,则切换连接为所述默认网关设备,结束本次探测;

在结束本次探测后重新启动下次探测。

本实施例主要的功能是基于云原生的网络故障自我修复系统。采用容器化自动部署,确保可用性,弹性伸缩,支持持续交付,遵循云原生的理念。网络可用性是保证业务高效稳定运行的关键,本发明就是为了解决默认网关网络不通这一痛点而提出的,集群内的业务必须进得来出的去才能更好的完成工作。

在一个实施例中,所述启动探测器对目标网络设备进行探测之前包括:检测所述目标网络设备的所有连接,若所述所有连接大于两个,则启动探测器;

并记录探针所在的当前位置,所述探针默认初始位置为所述默认网关设备连接,其中,所述探针记录当前连接所在的位置,默认初始位置在所述默认网关设备连接上。

在一个实施例中,所述启动网络探测器探测,若所述网络探测器持续阻塞,则所述网络探测器持续探测包括:

所述启动网络探测器探测之后,所述网络探测器连接到当前记录所述探针位置上;其中,所述网络探测器连接到当前记录的探针位置所在的服务上;

所述网络探测器持续探测主要的探测工作为在连接的目标服务上,所述目标服务持续探测当前的网络出口网络是否正常,若所述当前的网络出口网络不正常,则解除阻塞,所述网络探测器阻塞结束。

在一个实施例中,所述若所述网络探测器阻塞结束,则重新选择连接并切换,结束本次探测包括:

所述网络探测器阻塞结束具体包括:当前连接出现错误时、所述恢复探测器检测到主要连接的网络已恢复时或网络探测器探测到当前连接的服务网络不可达。

在一个实施例中,所述重新选择连接并切换,结束本次探测,具体为:在所述目标网络设备的所有连接内选出网络最快新连接,切换并记录所述探针位置。

在一个实施例中,所述启动恢复探测器探测,判断所述默认网关设备网络是否可达,若是,则切换连接为所述默认网关设备,结束本次探测包括:

若所述恢复探测器持续阻塞,则所述恢复探测器持续探测;若所述恢复探测器阻塞结束,判断所述默认网关设备网络是否可达为是,则切换连接为所述默认网关设备,结束本次探测。

在一个实施例中,所述在结束本次探测后重新启动下次探测包括:

所述下次探测为启动探测器对目标网络设备进行探测;

启动网络探测器探测,若所述网络探测器持续阻塞,则所述网络探测器持续探测;若所述网络探测器阻塞结束,则重新选择连接并切换,结束本次探测;

在所述启动网络探测器探测的同时,检测当前探测器是否在默认网关设备,若否,则启动恢复探测器探测,判断所述默认网关设备网络是否可达,若是,则切换连接为所述默认网关设备,结束本次探测;

在结束本次探测后重新启动下次探测。

通过本实施例方案,当集群默认的网络出口一旦发生故障,集群对外的访问中断,选取最优网络出口,保证集群的对外访问正常;当默认网络出口故障解除后,需要将网络出口恢复成初始状态,不再占用其他出口带宽,达到一种网络故障自我修复的功能。当集群正常运行过程中,一旦发现集群的网络出口发生故障,立刻做出响应,将网络出口漂移到最优的网络出口上。当默认网络出口故障解除后,恢复到初始配置状态。本发明不仅能够兼容外部负载均衡,还能保证本身业务的高可靠,以及网络故障的自我纠错。

在一个实施例中,提供一种支持云原生的网络故障自我修复的方法,在集群中,集群默认的网络出口一旦发生故障,那么集群对外的访问就中断了,这时需要选取最优网络出口,保证集群的对外访问正常。当默认网络出口故障解除后,需要将网络出口恢复成初始状态,不再占用其他出口带宽,达到一种网络故障自我修复的功能。

本实施例所描述的支持云原生的网络故障自我修复方法,其中有几个必要的名词需要说明一下:

主要连接:当前服务所处的位置是核心位置所在,其他的连接都以它为入口。

探针位置:记录当前连接所在的位置,默认初始位置在主要连接上

网络探测器:连接到当前记录的探针位置所在的服务上

恢复探测器:启动恢复探测器的前提是探针位置不在主要连接上,当启动恢复探测器后,每三十秒探测一次主要连接网络是否恢复

如图2所示,本发明的多WAN口故障转移方法的处理流程,需要网络探测器和恢复探测器配合工作。

恢复探测器的主要工作:检测主要连接网络是否恢复。

恢复:将默认网关恢复成默认状态,并结束当前阻塞。

未恢复:结束本次探测,继续下一次探测。

此方法的包含以下几个步骤

步骤一:启动探测器

探测器启动前会做一些准备工作,检测通过,则启动探测器,准备工作如下:

检测有多少个连接,如果连接大于两个,就会启动探测器,检测的目的是保证,当发生故障时,有可以转移的目标。

记录探针所在的当前的位置,默认初始位置是第一个连接,也是最主要的连接。

判断当前探针是否在初始位置上,如果不在初始位置上就需要启动一个恢复探测器,这样就能保证当主要连接恢复时,可以恢复到默认的状态

步骤二:启动网络可达探测器,这个探测器会连接到当前记录探针位置上。

步骤三:开启探测,阻塞中,网络探测器开启后,会一直阻塞住,这个时候主要的探测工作就是在连接的服务上,此服务会一直探测当前的网络出口网络是否正常,一旦发现不正常后,就回立刻解除阻塞。

步骤四:阻塞结束,阻塞结束的情况主要有三种:

当当前连接出现错误时,就会结束阻塞;

恢复探测器检测到主要连接的网络已经恢复时,就会主动结束阻塞;

网络探测器探测到当前连接的服务网络不可达时,也会结束阻塞。

步骤五:切换记录探针位置,当网络探测器结束阻塞后,会选举出网络最快的新连接,切换记录探针位置;

恢复网络探测器结束阻塞后,会将记录探针位置还原为初始值。

步骤六:结束本次探测;结束探测后,会进行下一次的探测,一次类推,保证整个网络可用。

应该理解的是,虽然图1的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。

在一个实施例中,提供了一种基于云原生的网络故障自我修复系统,包括以下程序模块:

启动模块:用于启动探测器对目标网络设备进行探测;

第一探测模块:用于启动网络探测器探测,若所述网络探测器持续阻塞,则所述网络探测器持续探测;若所述网络探测器阻塞结束,则重新选择连接并切换,结束本次探测;

第二探测模块:用于在所述启动网络探测器探测的同时,检测当前探测器是否在默认网关设备,若否,则启动恢复探测器探测,判断所述默认网关设备网络是否可达,若是,则切换连接为所述默认网关设备,结束本次探测;

循环模块:用于在结束本次探测后重新启动下次探测。

关于基于云原生的网络故障自我修复系统的具体限定可以参见上文中对于基于云原生的网络故障自我修复方法的限定,在此不再赘述。上述基于云原生的网络故障自我修复系统中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。

在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图3所示。该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入系统。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WI FI、运营商网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种基于云原生的网络故障自我修复方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入系统可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。

本领域技术人员可以理解,图3中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,涉及上述实施例方法中的全部或部分流程。

在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,涉及上述实施例方法中的全部或部分流程。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Onl y Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Stat i c Random Access Memory,SRAM)或动态随机存取存储器(Dynami c Random Access Memory,DRAM)等。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

相关技术
  • 一种基于云日志分析的云上用户行为审计系统及方法
  • 基于梯度扩散机制的多机器人网络故障修复方法
  • 一种基于Contiki系统的智能云锁通信方法、通信系统
  • 一种基于云原生平台Kubernetes的云原生大数据组件管理系统
  • 一种基于云原生架构的智能设备控制系统及云原生服务器
技术分类

06120116062364