一种问题定位方法及装置与流程

文档序号:15777893发布日期:2018-10-30 15:47阅读:143来源:国知局
一种问题定位方法及装置与流程

本发明涉及网络通信技术领域,尤其涉及一种问题定位方法及装置。



背景技术:

在运营商和数据中心等关键业务使用场景的网络中,要求网络设备具备极高的业务不间断服务能力,具有高可靠性。

目前,网络设备的软件代码规模大,典型网络操作系统的代码大约在1000万~2000万行,业务和逻辑复杂度也高,从统计学的角度看,软件不同程度存在bug(漏洞)是一个客观事实。当软件有bug时,很多情况下系统日志不足以分析定位问题根因,而离开场景所在环境又难以复现,给设备提供商和客户业务带来诸多挑战。



技术实现要素:

本发明提供一种问题定位方法及装置,以解决网络设备上的业务强相关问题定位难的问题。

根据本发明实施例的第一方面,提供一种问题定位方法,应用于网络设备,所述网络设备上搭建有至少一个第一类型容器,所述第一类型容器用于业务实际运行,该方法包括:

当检测到所述至少一个第一类型容器中的目标第一类型容器中运行的业务出现问题时,确定所述问题的触发条件;

启动对应所述目标第一类型容器的目标第二类型容器,并在所述目标第二类型容器中模拟所述问题的触发条件,由所述目标第二类型容器进行问题定位;其中,所述目标第二类型容器和所述目标第一类型容器中相同的应用具有相同的业务状态和处理过程。

根据本发明实施例的第二方面,提供一种问题定位装置,应用于网络设备,所述网络设备上搭建有至少一个第一类型容器,所述第一类型容器用于业务实际运行,该装置包括:

检测单元,用于检测所述至少一个第一类型容器中运行的业务是否出现问题;

确定单元,用于当所述检测单元检测到所述至少一个第一类型容器中的目标第一类型容器中运行的业务出现问题时,确定所述问题的触发条件;

启动单元,用于启动对应所述目标第一类型容器的目标第二类型容器;

定位单元,用于在所述目标第二类型容器中模拟所述问题的触发条件,由所述目标第二类型容器进行问题定位;其中,所述目标第二类型容器和所述目标第一类型容器中相同的应用具有相同的业务状态和处理过程。

应用本发明实施例,当检测到目标第一类型容器中运行的业务出现问题时,确定问题的触发条件,启动对应目标第一类型容器的目标第二类型容器,并在目标第二类型容器中模拟问题的触发条件,由目标第二类型容器进行问题定位,在不影响实际业务运行的情况下,提高了业务强相关问题定位的准确性。

附图说明

图1是本发明实施例提供的一种问题定位方法的流程示意图;

图2是本发明实施例提供的一种应用场景的示意图;

图3是本发明实施例提供的一种图2所示应用场景下的问题定位方法的流程示意图;

图4是本发明实施例提供的另一种图2所示应用场景下的问题定位方法的流程示意图;

图5是本发明实施例提供的另一种图2所示应用场景下的问题定位方法的流程示意图;

图6是本发明实施例提供的一种问题定位装置的结构示意图;

图7是本发明实施例提供的另一种问题定位装置的结构示意图;

图8是本发明实施例提供的另一种问题定位装置的结构示意图。

具体实施方式

为了使本技术领域的人员更好地理解本发明实施例中的技术方案,并使本发明实施例的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明实施例中技术方案作进一步详细的说明。

请参见图1,为本发明实施例提供的一种问题定位方法的流程示意图,其中,该问题定位方法可以应用于网络设备,该网络设备上搭建有至少一个用于业务实际运行的容器(本文中称为第一类型容器,也可以称为业务容器),如图1所示,该问题定位方法可以包括以下步骤:

步骤101、当检测到目标第一类型容器中运行的业务出现问题时,确定该问题的触发条件。

本发明实施例中,目标第一类型容器并不特指某一固定的第一类型容器,而是可以指代网络设备上搭建的至少一个第一类型容器中的任一第一类型容器,本发明实施例后续不再复述。

本发明实施例中,当网络设备检测到目标第一类型容器中运行的业务出现问题时,网络设备可以根据系统日志进行问题预分析,以确定该问题的触发条件。

其中,问题的触发条件可以包括但不限于流量或/和配置信息等。

步骤102、启动对应目标第一类型容器的目标第二类型容器,并在目标第二类型容器中模拟该问题的触发条件,由目标第二类型容器进行问题定位;其中,目标第二类型容器和目标第一类型容器中相同的应用具有相同的业务状态和处理过程。

本发明实施例中,考虑到业务运行过程中出现问题,尤其是业务强相关问题时,仅仅根据系统日志,网络设备通常无法定位问题的根因,而在实际运行业务的环境中进行问题定位会影响其它业务的正常运行,在实际环境(如实验室)中复现业务实际运行环境实现较为复杂,且难度较大,因而,网络设备可以通过在本地搭建专用于分析问题的容器(本文中称为第二类型容器,也可以称为问题分析容器),当业务运行过程中出现问题时,可以在第二类型容器中模拟相应的业务运行环境,并运行相应的业务,以实现问题定位。

其中,第二类型容器中可以包括用于进行问题分析的调试工具和策略。

相应地,在本发明实施例中,当网络设备检测到目标第一类型容器中运行的业务出现问题时,网络设备可以启动对应该目标第一类型容器对应的第二类型容器(本文中称为目标第二类型容器),并在目标第二类型容器中模拟问题的触发条件。

例如,假设目标第一类型容器出现问题的业务的触发条件为流量,则网络设备启动目标第二类型容器之后,可以通过业务镜像等方式将目标第一类型容器的流量以1+1的方式发送一份给目标第二类型容器,由目标第二类型容器模拟业务运行,以实现问题定位。

本发明实施例中,为了实现对业务运行环境的模拟,目标第二类型容器和目标第一类型容器中相同的应用需要具有相同的业务状态和处理过程。

由于目标第二类型容器和目标第一类型容器有相同的业务运行环境,当目标第二类型容器中出现相同的问题触发条件时,目标第二类型容器也会出现目标第一类型容器中出现的问题,此时,目标第二类型容器可以利用预设的用于进行问题分析的调试工具和策略对进行调试,从而可以在不影响目标第一类型容器中业务实际运行的情况下,实现问题定位。

可见,在图1所示方法流程中,通过在检测到目标第一类型容器中运行的业务出现问题时,启动对应的目标第二类型容器,通过目标第二类型容器模拟该业务在目标第一类型容器中的业务运行环境,并在目标第二类型容器中模拟该问题的触发条件,以实现问题的定位,由于容器之间彼此逻辑独立和隔离,因而可以在不影响实际业务运行的情况下,提高了业务强相关问题定位的准确性。

为了使本领域技术人员更好地理解本发明实施例提供的技术方案,下面结合具体实例对本发明实施例提供的技术方案进行说明。

请参见图2,为本发明实施例提供的一种应用场景的示意图,如图2所示,网络设备200上搭建有多个第一类型容器(在该实施例中以业务容器210、业务容器220和业务容器230为例),其中,业务容器210中运行单个应用(假设为应用a1),业务容器220和业务容器230均运行多个应用(假设分别为应用b1~bn和应用c1~cn)。

基于图2所示的应用场景,本发明实施例提供的问题定位方案实现如下:

实施例一、

在该实施例中,以业务容器210中运行的业务出现问题为例,其问题定位实现流程可以如图3所示,可以包括以下步骤:

步骤301、当网络设备200检测到业务容器210中运行的业务出现问题时,确定问题的触发条件。

在该实施例中,当网络设备200检测到业务容器210中运行的业务出现问题时,网络设备200可以通过分析系统日志,确定问题的触发条件。

为便于理解和描述,下文中以问题的触发条件为流量为例。

步骤302、网络设备200启动问题分析容器240;其中,该问题分析容器240中运行有应用a1,且问题分析容器240和业务容器210中应用a1的业务状态和数据相同。

在该实施例中,为了对业务容器210中的业务运行环境进行模拟,网络设备200可以按照软件环境1:1的原则在本地搭建一个用于分析问题的第二类型容器(在该实施例中称为问题分析容器240),在问题分析容器240中运行应用a1,并保持问题分析容器240中应用a1的业务状态和数据与业务容器210中应用a1的业务状态和处理过程一致。

步骤303、网络设备200通过业务镜像方式将业务容器210的流量以1+1的方式发送给问题分析容器240,由问题分析容器240进行问题定位。

在该实施例中,网络设备200启动问题分析容器240之后,可以通过业务镜像方式将业务容器210的流量以1+1的方式发送给问题分析容器240;问题分析容器240接收该流量之后,可以模拟业务容器210中的业务运行,以进行问题定位。

需要说明的是,在本发明实施例中,当网络设备在问题分析容器中模拟业务容器中的业务运行时,对于决策或配置等动作,问题分析容器需要以软件模拟的方式实现,而不能在硬件上实现(即不能执行决策或配置等动作)。例如,当问题分析容器模拟业务容器中的业务运行的过程中需要向转发芯片下发转发表项时,问题分析容器不能真实地向转发芯片下发转发表项,而只能通过软件模拟的方式实现。

实施例二、

在该实施例中,以业务容器220中运行的业务出现问题为例,其问题定位实现流程可以如图4所示,可以包括以下步骤:

步骤401、当网络设备200检测到业务容器220中运行的业务出现问题时,确定问题的触发条件。

在该实施例中,当网络设备200检测到业务容器220中运行的业务出现问题时,网络设备200可以通过分析系统日志,确定问题的触发条件。

步骤402、网络设备200启动问题分析容器250;其中,该问题分析容器250中运行有应用b1~bn,且问题分析容器250和业务容器220中应用b1~bn的业务状态和处理过程相同。

在该实施例中,当网络设备200的可用资源比较充足时,为了更好地对业务容器220中的业务运行环境进行模拟,网络设备200可以按照软件环境1:1的原则在本地搭建一个用于分析问题的第二类型容器(在该实施例中称为问题分析容器250),在问题分析容器250中运行应用b1~bn,并保持问题分析容器250中应用b1~bn的业务状态和处理过程与业务容器220中应用b1~bn的业务状态和处理过程一致。

步骤403、网络设备200通过业务镜像方式将业务容器220的流量以1+1的方式发送给问题分析容器250,由问题分析容器250进行问题定位。

在该实施例中,网络设备200启动问题分析容器250之后,可以通过业务镜像方式将业务容器220的流量以1+1的方式发送给问题分析容器250;问题分析容器250接收该流量之后,可以模拟业务容器220中的业务运行,以进行问题定位。

实施例三、

在该实施例中,以业务容器230中运行的业务出现问题为例,其问题定位实现流程可以如图5所示,可以包括以下步骤:

步骤501、当网络设备200检测到业务容器230中运行的业务出现问题时,确定问题的触发条件。

在该实施例中,当网络设备200检测到业务容器230中运行的业务出现问题时,网络设备200可以通过分析系统日志,确定问题的触发条件。

步骤502、网络设备200确定问题关联的目标应用。

在该实施例中,考虑到当业务容器230中运行有多个应用时,若按照软件1:1原则搭建问题分析容器,则消耗的资源会比较多。

因此,为了减少资源消耗,如当网络设备200的可用资源较少时,当业务容器230中运行有多个应用时,网络设备200在启动问题分析容器之前,可以先确定问题关联的应用(本文中称为目标应用)。

例如,网络设备200可以根据问题发生时的系统日志确定出现问题的应用,此外,网络设备200还可以根据该系统日志确定问题发生的时间,并确定该问题发生的时间前后预设时间内产生系统日志的应用,并将这些应用均确定为问题关联的目标应用。

在一个示例中,网络设备200确定了问题关联的目标应用之后,还可以在指定界面中展示目标应用的信息,由用户(如网络工程师)根据该指定界面中展示的目标应用的信息对目标应用进行筛选,确定实际与问题相关的目标应用,并删除与问题无关的目标应用,进一步减少问题分析容器的资源消耗。

在该实施例中,以最终的目标应用为ck~ct(1≤k≤t≤n)为例。

步骤503、网络设备200启动问题分析容器260;其中,该问题分析容器240中运行有应用ck~ct,且问题分析容器260和业务容器230中应用ck~ct的业务状态和数据相同。

在该实施例中,网络设备200可以在本地搭建一个用于分析问题的第二类型容器(在该实施例中称为问题分析容器260),在问题分析容器260中运行应用ck~ct,并保持问题分析容器260中应用ck~ct的业务状态和处理过程与业务容器230中应用ck~ct的业务状态和处理过程一致。

步骤504、网络设备200通过业务镜像方式将业务容器230的流量以1+1的方式发送给问题分析容器260,由问题分析容器260进行问题定位。

在该实施例中,网络设备200启动问题分析容器260之后,可以通过业务镜像方式将业务容器230的流量以1+1的方式发送给问题分析容器260;问题分析容器260接收该流量之后,可以模拟业务容器230中的业务运行,以进行问题定位。

通过以上描述可以看出,在本发明实施例提供的技术方案中,当检测到目标第一类型容器中运行的业务出现问题时,确定问题的触发条件,启动对应目标第一类型容器的目标第二类型容器,并在目标第二类型容器中模拟问题的触发条件,由目标第二类型容器进行问题定位,在不影响实际业务运行的情况下,提高了业务强相关问题定位的准确性。

请参见图6,为本发明实施例提供的一种问题定位装置的结构示意图,其中,该问题定位装置可以应用于上述方法实施例中的网络设备,如图6所示,该问题定位装置可以包括:

检测单元610,用于检测上述至少一个第一类型容器中运行的业务是否出现问题;

确定单元620,用于当检测单元610检测到该至少一个第一类型容器中的目标第一类型容器中运行的业务出现问题时,确定问题的触发条件;

启动单元630,用于启动对应目标第一类型容器的目标第二类型容器;

定位单元640,用于在目标第二类型容器中模拟该问题的触发条件,由目标第二类型容器进行问题定位;其中,目标第二类型容器和目标第一类型容器中相同的应用具有相同的业务状态和处理过程。

在可选实施例中,启动单元630,具体用于按照软件环境1:1的原则搭建并启动目标第二类型容器,并保持目标第二类型容器中各应用的业务状态和处理过程与目标第一类型容器中相同业务的状态和处理过程一致。

请一并参见图7,为本发明实施例提供的另一种问题定位装置的结构示意图,如图7所示,在图6所示问题定位装置的基础上,图7所示的问题定位装置还可以包括:

判断单元650,用于判断目标第一类型容器中是否运行有多个应用;

启动单元630,具体用于若目标第一类型容器中未运行多个应用,则按照软件环境1:1的原则搭建并启动目标第二类型容器。

在可选实施例中,确定单元620,还用于若目标第一类型容器中运行有多个应用,则确定该问题关联的目标应用;

启动单元630,还用于搭建并启动运行目标应用的目标第二类型容器。

请一并参见图8,为本发明实施例提供的另一种问题定位装置的结构示意图,如图8所示,在图7所示问题定位装置的基础上,图8所示的问题定位装置还可以包括:

展示单元660,用于在指定界面中展示目标应用的信息;

接收单元670,用于接收通过该指定界面输出的目标应用选择指令;

启动单元630,具体用于搭建并启动运行目标应用选择指令对应的目标应用的目标第二类型容器。

上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。

对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本发明方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

由上述实施例可见,当检测到目标第一类型容器中运行的业务出现问题时,确定问题的触发条件,启动对应目标第一类型容器的目标第二类型容器,并在目标第二类型容器中模拟问题的触发条件,由目标第二类型容器进行问题定位,在不影响实际业务运行的情况下,提高了业务强相关问题定位的准确性。

本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。

应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1