一种网关设备故障处理方法及装置与流程

本申请涉及通信技术领域,特别涉及一种网关设备故障处理方法。本申请同时还涉及一种网关设备故障处理装置。

背景技术:

情形1、网关设备发生宕机

在该情况下,网关设备将进行重启,由计算任务分发主控机进行Failover处理。

情形2、网关设备与系统断开网络,但是网关设备本身的进程尚存活:

在该情况下,网关设备需要保证结束已经启动的进程,随后由计算任务分发主控机进行Failover处理。

情形3、网关设备的进程发生崩溃

这种情况下,需要使用一种机制保证能够结束网关设备上的进程,计算任务分发主控机进行Failover处理。

针对上述若干种故障情形,现有技术中所采取的Failover处理方案如图1所示,包括以下步骤:

S101,网关设备发生故障(包括宕机、断网、进程崩溃等);

S102,触发Failover处理;

S103,结束当前网关设备上的计算任务;

S104,结束当前网关设备提交到计算集群的作业;

S105,将计算任务重新调度到另一台网关设备;

S106,计算任务重新运行。

技术实现要素:

本发明提供了一种网关设备故障处理方法,用以在网关设备发生故障时保证已运行计算任务的正常运行,从而节省计算资源以及提高计算任务处理效率。该方法包括以下步骤:

当检测到网关设备发生故障时,获取发生故障的网关设备当前正在执行的计算任务;

根据下发所述计算任务时的参数筛选待分配计算任务,所述参数用于指示所述计算任务是否需要进行失效转移Failover处理;

结束发生故障的网关设备当前正在运行的计算任务,并根据预设的调度策略将所述待分配计算任务调度至当前状态为正常的其他网关设备;

恢复所述待分配计算任务的任务状态,并通过所述其他网关设备执行所述待分配计算任务。

优选地,当检测到网关设备发生故障时,获取发生故障的网关设备正在执行的计算任务,具体为:

对当前各网关设备在启动时注册的临时文件进行检测;

当有临时文件被删除时,将与被删除临时文件对应的网关设备作为所述网关设备,并获取所述网关设备当前正在执行的计算任务。

优选地,根据下发所述计算任务时的参数筛选待分配计算任务,具体为:

确定所述参数的Failover处理取值是否为有效状态;

若所述Failover处理取值为有效状态,将所述计算任务作为所述待分配计算任务置于优先级最高的队列;

若所述Failover处理取值为无效状态,将所述计算任务置错。

优选地,结束发生故障的网关设备当前正在运行的计算任务,具体为:

若所述网关设备当前的故障类型为断网,遍历所述网关设备当前所有的进程,并结束所述网关设备的长驻进程;

若所述网关设备当前的故障类型为进程崩溃,将所述网关设备启动的长驻进程结束。

优选地,在通过所述其他网关设备执行所述待分配计算任务之后,还包括:

查询所述待分配计算任务的任务状态,以及所述待分配计算任务是否在所述其他网关设备运行;

若所述待分配计算任务处于运行状态,获取所述待分配计算任务的任务状态和计算任务日志;

若所述待分配计算任务运行失败,重新提交所述待分配计算任务,并获取所述待分配计算任务的任务状态和计算任务日志;

若所述待分配计算任务已运行结束,提交在所述待分配计算任务之后的其他计算任务,并获取所述其他计算任务的任务状态和计算任务日志。

相应地,本申请还提出了一种网关设备故障处理装置,包括:

获取模块,当检测到网关设备发生故障时,获取发生故障的网关设备当前正在执行的计算任务;

筛选模块,根据下发所述计算任务时的参数筛选待分配计算任务,所述参数用于指示所述计算任务是否需要进行Failover处理;

结束模块,结束发生故障的网关设备当前正在运行的计算任务,并根据预设的调度策略将所述待分配计算任务调度至当前状态为正常的其他网关设备;

恢复模块,恢复所述待分配计算任务的任务状态,并通过所述其他网关设备执行所述待分配计算任务。

优选地,所述获取模块具体用于:

优选地,所述筛选模块具体用于:

优选地,所述结束模块具体用于:

优选地,还包括:

查询模块,查询所述待分配计算任务的任务状态,以及所述待分配计算任务是否在所述其他网关设备运行;

若所述待分配计算任务处于运行状态,所述查询模块获取所述待分配计算任务的任务状态和计算任务日志;

若所述待分配计算任务运行失败,所述查询模块重新提交所述待分配计算任务,并获取所述待分配计算任务的任务状态和计算任务日志;

若所述待分配计算任务已运行结束,所述查询模块提交在所述待分配计算任务之后的其他计算任务,并获取所述其他计算任务的任务状态和计算任务日志。

由此可见,通过应用本申请的技术方案,当检测到网关设备发生故障时,获取发生故障的网关设备当前正在执行的计算任务,根据下发计算任务时的参数筛选待分配计算任务,结束发生故障的网关设备当前正在运行的计算任务,并根据预设的调度策略将待分配计算任务调度至当前状态为正常的其他网关设备,最后恢复待分配计算任务的任务状态,并通过其他网关设备执行待分配计算任务。从而避免了由于网关设备发生故障而导致的计算任务失败问题,提高了整体的计算任务执行效率以及保障了系统的稳定性。

附图说明

图1为现有技术中针对网关设备进行Failover处理的方案示意图;

图2为本申请提出的一种网关设备故障处理方法的流程示意图;

图3为本申请具体实施例中进行Failover和续跑的总体流程图;

图4为本申请具体实施例中进行Failover的状态图;

图5为本申请具体实施例提出的一种网关设备故障处理装置的结构示意图。

具体实施方式

如背景技术所述,现有技术中的数据处理/调度平台往往会因为单台的网关设备发生宕机、断网、进程崩溃等故障而导致计算任务失败的情况发生,此时需要重启计算任务,极大地降低了数据处理效率。为此本申请提出了一种网关设备故障处理方法。该方法可以应用在由网关设备运行数据计算任务的数据处理/调度平台中,具体计算任务类型或是平台类型的不同并不影响本申请的保护范围。

如图2所示,为本申请提出的一种网关设备故障处理方法的流程示意图,包括如下步骤:

S201,当检测到网关设备发生故障时,获取发生故障的网关设备当前正在执行的计算任务。

基于网关设备运行计算任务的特性,在本申请的优选实施例中,将实时地对当前各网关设备在启动时注册的临时文件进行检测;当有临时文件被删除时,将与被删除临时文件对应的网关设备作为所述网关设备,并获取所述网关设备当前正在执行的计算任务。

需要说明的是,以上判断网关设备发生故障的方式仅为本申请提出的一种优选事实方案,技术人员也可以通过额外地设置其他的检测设备或是检测方法对网关设备进行实时检测,在此基础上的其他变型或是改进均属于本申请的保护范围。

S202,根据下发所述计算任务时的参数筛选待分配计算任务,所述参数用于指示所述计算任务是否需要进行失效转移Failover处理。

由于本申请旨在当网络设备发生故障时保证其中的计算任务不发生失败重启。因此本申请预先在向网关设备下发各个计算任务时,将为其配置一额外的参数,该参数与各个计算任务一一对应,用于指示该计算任务在面临网关设备故障的情况时是否需要进行Failover处理。因此在本申请的一个优选实施例中,当需要基于参数筛选待分配计算任务时,可确定参数的Failover处理取值是否为有效状态;若所述Failover处理取值为有效状态,将所述计算任务作为所述待分配计算任务置于优先级最高的队列;若所述Failover处理取值为无效状态,将所述计算任务置错,即针对该计算任务不再进行后续处理。

S203,结束发生故障的网关设备当前正在运行的计算任务,并根据预设的调度策略将所述待分配计算任务调度至当前状态为正常的其他网关设备。

在某些故障情况下,网关设备并非是出于完全不能运行的状态,此时其中的某些计算任务尚在运行,因此为了保证后续重新分配任务后不会发生冲突,需要将发生故障的网关设备当前正在运行的计算任务全部进行关闭处理。

在本申请的优选实施例中,基于网关设备故障类型的不同,关闭的方式亦存在以下区别:

(1)若所述网关设备当前的故障类型为断网,遍历所述网关设备当前所有的进程,并结束所述网关设备的长驻进程;

(2)若所述网关设备当前的故障类型为进程崩溃,将所述网关设备启动的长驻进程结束。

以上尽管仅以两种故障情况进行了说明,技术人员可以根据实际的具体故障类型采取相应的进程结束方式。此外调度策略也可以按照实际的情况进行设置,例如通过负载均衡选择其他网关设备,或者是选择备份的正常网关设备,这些都属于本申请的保护范围。

S204,恢复所述待分配计算任务的任务状态,并通过所述其他网关设备执行所述待分配计算任务。

在确定了用于处理待分配计算任务的其他网关设备且将计算任务分配完成后,即恢复待分配计算任务的任务状态以及令其重新运行。该过程可以通过其他网关设备之间的指示信令实现,也可由网关设备自发运行,这些均属于本申请的保护范围。

此外,为了确保待分配计算任务能够正常完成,本申请优选实施例在该步骤之后,主动或是按照周期查询所述待分配计算任务的任务状态,以及所述待分配计算任务是否在所述其他网关设备运行,并基于以下查询结果处理:

(1)若所述待分配计算任务处于运行状态,获取所述待分配计算任务的任务状态和计算任务日志;

(2)若所述待分配计算任务运行失败,重新提交所述待分配计算任务,并获取所述待分配计算任务的任务状态和计算任务日志;

(3)若所述待分配计算任务已运行结束,提交在所述待分配计算任务之后的其他计算任务,并获取所述其他计算任务的任务状态和计算任务日志。

通过采用上述技术方案,可在网关设备出现宕机、断网、进程崩溃等故障后及时的恢复发生故障时的任务状态,避免任务失败,从而提高任务处理效率以及保证系统稳定性。

为了进一步阐述本发明的技术思想,现结合具体的应用场景,对本发明的技术方案进行说明。在目前的大型数据仓库中,一个典型的Etl任务会包含多条sql(任务),当作业正在运行sql2的时候若网关设备发生宕机将会触发failover机制。如图3所示,为本申请具体实施例在进行failover后续跑任务的总体流程图,包括如下流程:

一、网关设备发生故障(宕机、断网、进程崩溃)

二、Failover机制触发

任务分发平台一直在监控/nodes目录,会感知到临时文件的消失,进而触发网关设备的failover机制。任务分发平台从程序协调平台获取被Failover的网关设备上的所有正在执行的任务。

针对每个任务是否要执行failover操作,是由下发任务的参数决定的:当failover=0,任务分发平台直接把任务置错,并回调给上游系统。当failover=1,任务分发平台把任务重新放到优先级最高的队列(priority=1),等待调度器重新分配。

三、关闭当前网关设备的任务

1)、网关设备宕机,网关设备上的任务自然全部被kill,不需要额外kill

2)、网关设备断网,网关设备上的长驻进程通过程序协调平台感知,然后遍历机器上的所有进程,并且逐个关闭。

3)、网关设备长驻进程crash,长驻进程启动的时候,通过一个脚本杀掉网关设备启动的任务。

四、任务重新调度到新的网关设备

该具体实施例中,根据cpu、内存、带宽等综合情况把任务调度到负载最低的机器。

五、任务状态恢复、续跑

当任务被重新调度到新的网关设备后,新的任务进程被启动。

1)、任务启动后,从程序协调平台查询任务状态,后续以当前正在运行sql2进行说明。

2)、查询sql2是否还在服务器集群运行

从服务器集群获取某个sql的执行状态,从返回结果中可以获取提交sql的网关设备的标识以及sql的运行状态,基于状态不同进行不同的处理:

a)、如果sql2还在继续运行,持续获取任务状态和日志

b)、如果sql2运行失败,重新提交sql2,并获取任务状态和日志

c)、如果sql2已经运行结束(成功结束),提交sql3,并获取任务状态和日志。

通过上述具体实施例的方案,当触发failover机制时,整个任务被迁移到另外一台网关设备时,能够从sql2开始接着运行,保证了重要任务不因设备故障而失败。

为达到以上技术目的,本申请还提出了一种网关设备故障处理装置,如图5所示,包括:

获取模块510,当检测到网关设备发生故障时,获取发生故障的网关设备当前正在执行的计算任务;

筛选模块520,根据下发所述计算任务时的参数筛选待分配计算任务,所述参数用于指示所述计算任务是否需要进行Failover处理;

结束模块530,结束发生故障的网关设备当前正在运行的计算任务,并根据预设的调度策略将所述待分配计算任务调度至当前状态为正常的其他网关设备;

恢复模块540,恢复所述待分配计算任务的任务状态,并通过所述其他网关设备执行所述待分配计算任务。

在具体的应用场景中,所述获取模块具体用于:

在具体的应用场景中,所述筛选模块具体用于:

在具体的应用场景中,所述结束模块具体用于:

在具体的应用场景中,还包括:

通过应用本申请的技术方案,当检测到网关设备发生故障时,获取发生故障的网关设备当前正在执行的计算任务,根据下发计算任务时的参数筛选待分配计算任务,结束发生故障的网关设备当前正在运行的计算任务,并根据预设的调度策略将待分配计算任务调度至当前状态为正常的其他网关设备,最后恢复待分配计算任务的任务状态,并通过其他网关设备执行待分配计算任务。从而避免了由于网关设备发生故障而导致的计算任务失败问题,提高了整体的计算任务执行效率以及保障了系统的稳定性。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施场景所述的方法。

本领域技术人员可以理解附图只是一个优选实施场景的示意图,附图中的模块或流程并不一定是实施本发明所必须的。

本领域技术人员可以理解实施场景中的装置中的模块可以按照实施场景描述进行分布于实施场景的装置中,也可以进行相应变化位于不同于本实施场景的一个或多个装置中。上述实施场景的模块可以合并为一个模块,也可以进一步拆分成多个子模块。

上述本发明序号仅仅为了描述,不代表实施场景的优劣。

以上公开的仅为本发明的几个具体实施场景,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。

THE END
1.吐血经历分享!异常断链——拯救Air780EP模块紧急项目不知道各位在用Cat.1模块的时候,会不会遇到收不到网络数据的问题呢?别担心,本教程将带你轻松搞定! 一、相关背景简介 "用TCP做长链接,在进入休眠场景后进行保活,但时常出现丢包的现象,应该怎么分析呢"、"MQTT服务器下行数据,模块有概率接收不到,服务器也有遇到收不到模块的上行数据,到底是什么情况"等等类似的问题https://blog.csdn.net/m0_57476762/article/details/144400044
2.常见故障处理例行维护 常见故障处理 升级指导 联系华为技术支持常见故障处理 网络故障往往会引发设备告警,华为针对每款设备均提供了“告警处理”文档,详细描述了该告警的含义、可能原因、处理步骤等。您可下载该类文档,当遇到设备异常告警时可进行快速检索和参考。 华为还提供“维护宝典”文档来描述常见故障的处理思路和故障案例集,您https://support.huawei.com/enterprise/zh/doc/EDOC1100350416/1254fb00
3.网管交换机设置了vlan后不能上网karen的技术博客网络层故障:一个交换机里面是在一个网段,15网段,如果电脑配置16网段那么网就不通了。地址配错了是网络层故障。网关是出口地址,电脑没有配网关就无法到其他网段。 应用层故障:应用程序出的错误。浏览器配置了不存在的代理。 1. 2. 网络安全:物理层安全,数据连裤层安全,网络层安全,应用层安全。 https://blog.51cto.com/u_12187/12781642
4.存储设备的故障预测与管理天翼云开发者社区存储设备的故障预测与管理 一、存储设备故障的原因 存储设备故障的原因多种多样,既包括硬件层面的因素,也涉及软件层面的问题。以下是一些常见的故障原因: 硬件老化:存储设备中的电子元件、机械部件等随着使用时间的增长会逐渐老化,导致性能下降和故障率上升。https://www.ctyun.cn/developer/article/620856554958917
5.故障诊断二、常见故障排查 1.查看线路是否正常: 用户自己查看门外信息化管理中心端口和水晶头是否接触正常,用户家中的线路中间是否有损坏(特别中间有直接头的用户,请检查接触是否正常),计算机网卡端口和水晶头是否接触正常。在线路有问题时,计算机的'网络连接'将会出现'叉号',如图: 2.查看网卡是否工作正常: 网卡正常工作时http://ic.gzu.edu.cn/_s44/1809/list.psp
6.服务器网关超时是什么原因导致的?建立完善的备份和恢复机制:确保在发生故障时能够迅速恢复服务。 加强安全防护:防止DDoS攻击等恶意行为导致的服务器过载或网络拥塞。 五、相关问题与解答栏目 1. 为什么会出现服务器网关超时? 答:服务器网关超时可能由多种原因引起,包括但不限于服务器负载过高、网络延迟或拥塞、客户端设置不当、CDN或代理问题等,具体https://www.kdun.cn/ask/712623.html
7.代维安全考试试题4篇(全文)二、多项选择题(每题2分,10道题共20分)UPS供电给整流模块,零火线接反,这时UPS的输入端零火线都断,由UPS电池逆变供电,整流模块会出现什么情况()A、整流模块无法工作 B、整流模块输出电压极性改变 >C、UPS输入端零线带电 >D、UPS输出端零火倒置 柴油机工作时,润滑系统工作状况分别用()等进行监视。A、油温表https://www.99xueshu.com/w/fileg43y7s6t.html
8.Linux2.2.18环境下实现多网卡Bonding网管专栏,防火墙和路由对应于加载的一个模块,就可以拥有一个bonding设备,参考模块参数部分来了解如何实现。 4. 一个bonding设备可以有多少个salve网卡? 受限于linux可以支持的网卡数量和系统可以插接的网卡数量。 5. 当一个slave链路出现故障,会发生什么问题? 如果你的以太网卡支持mii状态监控,并且mii监测已经在驱动中被使用(参考模块参数部https://www.west.cn/www/info/18377-1.htm
9.深入理解TCP三次握手四次挥手TCP三次握手四次挥手问题十:如果已经建立了连接,但是客户端的进程崩溃会发生什么 问题十一:如果已经建立了连接,但是客户端突然出现故障了怎么办 总结 我们在编写tcp网络的时候,经常会遇到各种问题而头疼,但我们还是那么的喜欢它,哈哈哈~ 正像那句话“纵你虐我千百遍,我仍待君如初恋”啊。好了我就不废话了,搞起来吧! https://www.coonote.com/tcpip/tcp-three-handshakes-four-waves.html
10.比亚迪E5仪表盘上偶然提示不能正常“上电”仔细查找动力CAN网络通讯模块的供电,是经一条低压“双路电”的电路供电的(图2)。在这条电源电路中,除了向动力网关模块供电外,还向BMS高压电池管理系统供电。一旦电路出现故障,显然会使高压动力电池不能正常工作,也会导致车辆动力系统报警。本车在发生此故障时,会同时出现动力电池过热、动力电池故障和动力系统故障等多https://www.yoojia.com/ask/7-11577228705918751512.html
11.路由器问题故障排除大全接口和线路协议都运行的状况下,虽然串口链路的基本通信建立起来了,但仍然可能由于信息包丢失和信息包错误时会出现许多潜在的故障问题。正常通信时接口输入或输出信息包不应该丢失,或者丢失的量非常小,而且不会增加。如果信息包丢失有规律性增加,表明通过该接口传输的通信量超过接口所能处理的通信量。解决的办法是增加线路http://www.360doc.com/content/16/0719/12/35204088_576739586.shtml
12.5.Gateway之限流熔断如果一个服务出现了问题,调用这个服务就会出现线程阻塞的情况,此时若有大量的请求涌入,就会出现多条线程阻塞等待,进而导致服务瘫痪。由于服务与服务之间的依赖性,故障会传播,会对整个微服务系统造成灾难性的严重后果,这就是服务故障的 “雪崩效应” 。 雪崩发生的原因多种多样,有不合理的容量设计,或者是高并发下某一https://developer.aliyun.com/article/1546596
13.光模块故障会产生LOSi/LOBi告警男孩,3岁。经常反复呼吸道感染,体格检查发现胸骨左缘第2肋间有Ⅱ-Ⅲ级收缩期杂音,无震颤,P2亢进伴固定分裂。胸透示肺门血管增粗,搏动强烈,右心室饱满。EKG示电轴右偏,V1呈rsR’型,RVl15mm。根据其血液动力学改变,主要表现为()https://www.shuashuati.com/ti/b11f564e006c4bfc8472126417361c8e.html?fm=bd94675e3428c250a9d9b3f0bba2775111
14.电力二次系统安全防护应急预案(通用9篇)3.3整流模块常见故障处理方法 整流模块常见故障比较多, 比如模块当中经常会出现一些没有输出情况, 还有热度过高, 或者风扇受到损害, 还有电压过大, 功率控制板受到严重损害等等。发现这些问题之后, 模块模板指示灯就会出现不不在显示, 我们此时就要做到的是检查交流电源是否与外界输入, 在检查交流屏开关位置, 在确定了https://www.360wenmi.com/f/filegsty2mn8.html
15.中通API网关实践4.弱依赖第三方服务:我们对所有的API配置、以及Session信息做了本地缓存,在数据库、Redis出现异常时也不影响接口的访问,由此来降低因第三方服务、中间件不稳定导致的网关故障 网关模块 1. Gateway Web:网关API入口; 2. Gateway Portal:统一的管理界面,开发人员可以在此创建配置API。 https://www.secrss.com/articles/10546