CN116319421A - 基于云平台的故障检测方法、装置、故障检测系统及介质 - Google Patents
基于云平台的故障检测方法、装置、故障检测系统及介质 Download PDFInfo
- Publication number
- CN116319421A CN116319421A CN202310266139.XA CN202310266139A CN116319421A CN 116319421 A CN116319421 A CN 116319421A CN 202310266139 A CN202310266139 A CN 202310266139A CN 116319421 A CN116319421 A CN 116319421A
- Authority
- CN
- China
- Prior art keywords
- node
- fault
- cloud platform
- container
- nodes
- 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.)
- Pending
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 155
- 230000005540 biological transmission Effects 0.000 claims abstract description 53
- 238000000034 method Methods 0.000 claims abstract description 39
- 238000011144 upstream manufacturing Methods 0.000 claims abstract description 16
- 230000006870 function Effects 0.000 claims description 95
- 238000012423 maintenance Methods 0.000 claims description 87
- 238000012360 testing method Methods 0.000 claims description 82
- 230000002159 abnormal effect Effects 0.000 claims description 72
- 230000005856 abnormality Effects 0.000 claims description 26
- 230000004044 response Effects 0.000 claims description 18
- 238000004590 computer program Methods 0.000 claims description 5
- 238000010586 diagram Methods 0.000 description 6
- 230000001960 triggered effect Effects 0.000 description 4
- 238000013459 approach Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011022 operating instruction Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0823—Errors, e.g. transmission errors
-
- 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
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
技术领域
本申请涉及故障检测技术,尤其涉及一种基于云平台的故障检测方法、装置、故障检测系统及介质。
背景技术
随着故障检测技术的发展,以及金融机构业务的不断增长,为了使业务正常进行,需要采取故障检测方法以及时监测到这些节点和容器的使用状态。
目前,将故障检测系统整合到PaaS云平台中,通过故障检测系统逐个识别银行PaaS云平台中的各节点和容器的状态,当节点、容器和应用无法正常访问时,确定该节点和容器为异常,标记为不可用状态并输出,以供运维人员进行检修。
然而,银行PaaS云平台的节点、容器数量通常非常多,逐个检测节点、容器状态的检测方式,检测故障效率较低。
发明内容
本申请提供一种基于云平台的故障检测方法、装置、故障检测系统及介质,用以解决现有技术中,检测故障效率较低的技术问题。
第一方面,本申请提供一种基于云平台的故障检测方法,包括:
在接收到检测指令时,获取所述云平台的节点信息和接口信息,所述云平台的节点信息包括每级节点的名称和标识,以及最后一级节点下每个容器的名称和标识,所述云平台的接口信息包括所述云平台的各级节点之间、以及最后一级各节点与最后一级节点下各容器之间进行数据传输时的上下游关系;
根据所述云平台的节点信息和接口信息,生成节点树;所述节点树是以树的层级结构表示的云平台的多级节点以及最后一级节点下所对应的多个容器,所述节点树的层级结构表征所述云平台的各级节点之间、以及最后一级各节点与最后一级节点下各容器之间进行数据传输时的上下游关系;
根据所述节点树的层级结构,逐层级的对所述节点树进行遍历,以确定所述云平台的故障节点和故障容器。
在一个实施例中,所述在接收到检测指令时,获取云平台的节点信息和接口信息,包括:
在接收到检测指令时,向所述云平台发送部署信息获取指令;
获取所述云平台响应于所述部署信息获取指令所返回的部署信息;
根据所述部署信息,获取所述云平台的节点信息和接口信息。
在一个实施例中,所述根据所述节点树的层级结构,逐层级的对所述节点树进行遍历,以确定所述云平台的故障节点和故障容器,包括:
根据所述节点树的层级结构以及按照自下而上的遍历方式,从所述节点树的最底层开始逐层级的对所述节点树的各层级进行遍历,以确定所述云平台的故障节点和故障容器。
在一个实施例中,所述根据所述节点树的层级结构以及按照自下而上的遍历方式,从所述节点树的最底层开始逐层级的对所述节点树的各层级进行遍历,以确定所述云平台的故障节点和故障容器,包括:
根据所述节点树的层级结构,触发所述节点树最底层的多个容器的数据获取请求,以获取各容器的返回数据;
将各容器的返回数据不符合预设返回数据条件的容器,均确定为故障容器,并触发各所述故障容器的上一级节点的数据获取请求,以获取各所述故障容器的上一级节点的返回数据;
若确定各所述故障容器的上一级节点的返回数据符合所述预设返回数据条件,则终止对所述故障容器所在的数据传输链路进行遍历。
在一个实施例中,在所述对所述节点树进行遍历,以确定所述云平台的故障节点和故障容器之后,还包括:
根据所述故障节点和所述故障容器,确定对应的预先设置的状态测试用例;
通过各所述状态测试用例分别对所述故障节点和所述故障容器进行测试,获得对应的测试结果,所述测试结果为故障节点或故障容器的状态;
基于预先存储的节点状态表与各所述测试结果,确定所述故障节点和所述故障容器的状态标识,所述节点状态表中存储有节点和容器的状态及对应的状态标识;
根据预先存储的第一维护表,确定所述故障节点和所述故障容器的状态标识所对应的运维方式并输出,所述第一维护表中存储有故障节点和故障容器的状态标识及各状态标识所对应的运维方式。
在一个实施例中,所述在接收到检测指令时,获取云平台的节点信息和接口信息之后,还包括:
将所述云平台的节点信息和接口信息,存储于功能接口数据库;
则在所述对所述节点树进行遍历,以确定所述云平台的故障节点和故障容器之后,所述方法还包括:
调用所述功能接口数据库中存储的所述故障节点和所述故障容器的关键功能,使用预先封装好的功能测试用例发送第三数据获取请求访问所述故障节点和所述故障容器的关键功能的接口,获得通过所述故障节点和所述故障容器的关键功能返回的测试数据,所述第三数据获取请求包括预期返回的数据结构,所述关键功能是容器和节点最频繁用于进行数据传输时的功能;
将各所述测试数据的数据结构,与所述预期返回的数据结构进行对比,以确定故障节点和所述故障容器的关键功能是否出现异常;
响应于所述故障节点和所述故障容器的关键功能出现异常,确定对应的异常原因;
基于所预先存储的第二维护表和所述异常原因确定对应的运维方式并输出,所述第二维护表中存储有节点和容器的关键功能发生异常时的异常原因,及各异常原因所对应的运维方式。
在一个实施例中,所述将各所述测试数据的数据结构,与所述预期返回的数据结构进行对比,以确定故障节点和所述故障容器的关键功能是否出现异常,包括:
将各所述测试数据的数据结构,与所述预期返回的数据结构进行对比;
判断各所述测试数据的数据结构,与所述预期返回的数据结构的对比结果是否相同;
响应于所述对比结果不相同,确定所述故障节点和所述故障容器的关键功能出现异常;
响应于所述对比结果相同,确定所述故障节点和所述故障容器的关键功能未出现异常。
在一个实施例中,在所述在接收到检测指令时,获取云平台的节点信息和接口信息之后,所述方法还包括:
将返回码不为预设值的节点和容器,分别确定为异常节点和异常容器;
通过预设的检测工具对所述异常节点和所述异常容器进行检测,确定所述异常节点和异常容器的网络和/或软硬件的故障原因;
基于预先存储的第三维护表和所述故障原因确定对应的运维方式并输出,所述第三维护表中存储有节点和容器的网络和/或软硬件出现故障时的故障原因,各所述故障原因所属的故障类别,以及各所述故障类别所对应的运维方式。
第二方面,本申请提供一种基于云平台的故障检测装置,位于故障检测系统,所述装置包括:
信息获取模块,用于在接收到检测指令时,获取所述云平台的节点信息和接口信息,所述云平台的节点信息包括每级节点的名称和标识,以及最后一级节点下每个容器的名称和标识,所述云平台的接口信息包括所述云平台的各级节点之间、以及最后一级各节点与最后一级节点下各容器之间进行数据传输时的上下游关系;
节点树生成模块,用于根据所述云平台的节点信息和接口信息,生成节点树;所述节点树是以树的层级结构表示的云平台的多级节点以及最后一级节点下所对应的多个容器,所述节点树的层级结构表征所述云平台的各级节点之间、以及最后一级各节点与最后一级节点下各容器之间进行数据传输时的上下游关系;
节点树遍历模块,用于根据所述节点树的层级结构,逐层级的对所述节点树进行遍历,以确定所述云平台的故障节点和故障容器。
第三方面,本申请提供一种故障检测系统,包括:处理器,以及与所述处理器通信连接的存储器;
所述存储器存储计算机执行指令;
所述处理器执行所述存储器存储的计算机执行指令,以实现如第一方面所述的方法。
第四方面,本申请提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如第一方面所述的方法。
第五方面,本申请提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现如第一方面所述的方法。
本申请提供的基于云平台的故障检测方法、装置、故障检测系统及介质,在接收到检测指令时,获取所述云平台的节点信息和接口信息,所述云平台的节点信息包括每级节点的名称和标识,以及最后一级节点下每个容器的名称和标识,所述云平台的接口信息包括所述云平台的各级节点之间、以及最后一级各节点与最后一级节点下各容器之间进行数据传输时的上下游关系;根据所述云平台的节点信息和接口信息,生成节点树;所述节点树是以树的层级结构表示的云平台的多级节点以及最后一级节点下所对应的多个容器,所述节点树的层级结构表征所述云平台的各级节点之间、以及最后一级各节点与最后一级节点下各容器之间进行数据传输时的上下游关系;根据所述节点树的层级结构,逐层级的对所述节点树进行遍历,以确定所述云平台的故障节点和故障容器。本申请在接收到检测指令时,基于云平台的节点信息和接口信息生成节点树,并通过逐层级的遍历节点树,以确定云平台的故障节点和故障容器。由于逐层级遍历可以同时遍历多个容器或多个节点,因此,相比于传统方式中逐个遍历节点或容器的状态,本申请能够明显提升检测效率,从而更快地确定云平台的故障节点和故障容器。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1为实现本申请实施例的基于云平台的故障检测方法的一种应用场景图;
图2为本申请一实施例的实现基于云平台的故障检测方法的流程示意图;
图3为本申请另一实施例的实现基于云平台的故障检测方法的流程示意图;
图4为本申请实现基于云平台的故障检测方法的结构示意图;
图5为用来实现基于云平台的故障检测方法中的故障检测系统的结构示意图。
通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本申请构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
为了清楚理解本申请的技术方案,首先对现有技术的方案进行详细介绍。
传统方式中,将故障检测系统整合到PaaS云平台中,通过故障检测系统逐个识别银行PaaS云平台中的各节点和容器的状态,当节点、容器和应用无法正常访问时,确定该节点和容器为异常,标记为不可用状态并输出,以供运维人员进行检修。
然而,银行PaaS云平台的节点、容器数量通常非常多,逐个检测节点、容器状态的检测方式,检测故障效率较低。
所以在面对现有技术的技术问题时,发明人通过创造性的研究后发现,为了提高故障检测效率,设计了一种检测效率更高的故障检测方法。该方法主要是依据云平台的节点部署情况,构造了可以用于检测故障的节点树。该节点树是以层级结构表示的云平台的多级节点以及最后一级节点下所对应的多个容器,且节点树的层级结构即各级节点之间、以及最后一级各节点与最后一级节点下各容器之间进行数据传输时的上下游关系。在接收到检测指令时,通过逐层级地对节点树进行遍历,以确定云平台的故障节点和故障容器。由于每一级包括多个容器或包括多个节点,因此这种逐层遍历的方式相比逐个遍历的方式,检测效率更高,即可以更快地确定故障节点和故障容器。
如图1所示,本申请实施例提供的基于云平台的故障检测方法的应用场景,在该应用场景中对应的网络架构中包括故障检测系统10和云平台20,故障检测系统10和云平台20之间进行通信连接。当故障检测系统10接收到检测指令时,从云平台20获取节点信息和接口信息,在故障检测系统10中生成节点树。之后,故障检测系统10再根据节点树的层级结构,逐层级地对节点树进行遍历,以确定云平台20的故障节点和故障容器。
下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。
图2是本申请一实施例提供的基于云平台的故障检测方法,如图2所示,本实施例提供的基于云平台的故障检测方法的执行主体是故障检测系统。则本实施例提供的基于云平台的故障检测方法包括以下步骤:
步骤101,在接收到检测指令时,获取所述云平台的节点信息和接口信息。
其中,检测指令是用于指示故障检测系统对云平台进行故障检测的指令。触发检测指令的时机,可以是故障检测系统按照设定的触发时间,自动对云平台进行故障检测;也可以是云平台在确定自身业务系统的交易量与历史平均交易量,和/或交易成功率与历史平均成功率相差分别达到对应的预设阈值时,向故障检测系统发送检测指令,或者向运维人员终端发送检测需求通知,以使运维人员触发故障检测系统对云平台进行故障检测。
云平台的节点信息包括云平台的每级节点的名称和标识,以及最后一级节点下每个容器的名称和标识。云平台的接口信息包括云平台的各级节点之间、以及最后一级各节点与最后一级节点下各容器之间进行数据传输时的上下游关系。
可选地,在接收到检测指令时,获取云平台的节点信息和接口信息,具体包括:在接收到检测指令时,向云平台发送部署信息获取指令;获取云平台响应于部署信息获取指令所返回的部署信息;根据部署信息,获取云平台的节点信息和接口信息。其中,部署信息是在正式部署云平台前的规划架构信息。因此,故障检测系统从云平台中获取到部署信息,即可确定云平台的节点信息和接口信息。
此处,本实施例可以是针对第一次采用故障检测系统对云平台进行故障检测,在获取到检测指令时,需要从云平台获取其节点信息和接口信息。对于第二次及之后的第N次(N为大于1的正整数)再对该云平台进行故障检测,则均不需要再从该同一云平台重新获取其节点信息和接口信息。故障检测系统可以对多个云平台进行故障检测,但在对各云平台进行首次故障检测时,均需获取对应云平台的节点信息和接口信息。
对于同一云平台,若该云平台的节点和容器有更新,则故障检测系统需重新获取该云平台的节点信息和接口信息。此处,本实施例也可以理解为,是云平台的节点和/或容器发生更新,通知故障检测系统,使故障检测系统获取云平台当前的节点信息和接口信息。则,步骤101中的云平台的节点信息和接口信息可理解为云平台发生更新后的节点信息和接口信息。
步骤102,根据所述云平台的节点信息和接口信息,生成节点树。
其中,由于云平台的节点信息包括每级节点的名称和标识,以及最后一级节点下每个容器的名称和标识,云平台的接口信息包括云平台的各级节点之间、以及最后一级各节点与最后一级节点下各容器之间进行数据传输时的上下游关系。因此根据云平台的节点信息和接口信息可以确定云平台的多个节点、容器之间是如何架构的。
在获得云平台的节点信息和接口信息之后,将云平台的多级节点以及最后一级节点下的多个容器,通过节点树的层级结构进行表示,即生成得到节点树。
故障检测系统从云平台获取其节点信息和接口信息,生成节点树,并可以基于该节点树对云平台进行故障检测的原理是:故障检测系统基于云平台的节点信息和接口信息生成节点树,使故障检测系统获得了云平台各级节点、最后一级节点下多个容器的布局,以及云平台的多条数据传输链路,因此可以通过控制触发该云平台的任一容器、节点对应的数据获取请求,该数据获取请求可以用于从云平台对应的容器和节点中获取数据,并根据返回的数据以及返回码确定该任一容器或节点所在数据传输链路的哪里出了故障,例如是容器或某级节点。
步骤103,根据所述节点树的层级结构,逐层级的对所述节点树进行遍历,以确定所述云平台的故障节点和故障容器。
由于云平台与业务系统之间依靠各节点和容器的正常数据传输,来高效准确地实现业务,因此与云平台连接的业务系统的交易量与历史平均交易量,和/或交易成功率与历史平均成功率相差分别达到对应的预设阈值时,可以确定云平台中某些节点和/或容器存在故障,需要故障检测系统对云平台进行检测。
其中,故障节点是指云平台中发生故障,导致业务出现问题的节点。故障容器是指云平台中发生故障,导致业务出现问题的容器。
故障检测系统由于预先进行了负载均衡负载设置,因此可以并发地向节点树中同层级的多个容器/节点发起数据获取请求,逐层级的对节点树进行遍历。
在逐层级的对节点树进行遍历,由于逐层级遍历是一层层的遍历,可以同时遍历多个容器或多个节点,因此,相比于现有技术中逐个遍历节点或容器的状态的方式,逐层级遍历节点树的方式能够明显提升检测效率,从而可以更快地确定云平台的故障节点和故障容器。
本申请中,在接收到检测指令时,获取所述云平台的节点信息和接口信息,所述云平台的节点信息包括每级节点的名称和标识,以及最后一级节点下每个容器的名称和标识,所述云平台的接口信息包括所述云平台的各级节点之间、以及最后一级各节点与最后一级节点下各容器之间进行数据传输时的上下游关系;根据所述云平台的节点信息和接口信息,生成节点树;所述节点树是以树的层级结构表示的云平台的多级节点以及最后一级节点下所对应的多个容器,所述节点树的层级结构表征所述云平台的各级节点之间、以及最后一级各节点与最后一级节点下各容器之间进行数据传输时的上下游关系;根据所述节点树的层级结构,逐层级的对所述节点树进行遍历,以确定所述云平台的故障节点和故障容器。本申请在接收到检测指令时,基于云平台的节点信息和接口信息生成节点树,并通过逐层级的遍历节点树,以确定云平台的故障节点和故障容器。由于逐层级遍历可以同时遍历多个容器或多个节点,因此,相比于传统方式中逐个遍历节点或容器的状态,本申请能够明显提升检测效率,从而更快地确定云平台的故障节点和故障容器。
作为一种可选实施方式,本实施例中,步骤103,具体包括步骤201:根据所述节点树的层级结构以及按照自下而上的遍历方式,从所述节点树的最底层开始逐层级的对所述节点树的各层级进行遍历,以确定所述云平台的故障节点和故障容器。
其中,根据节点树的层级结构以及按照自下而上的遍历方式,从节点树的最底层开始进行遍历,节点树的最底层即节点树最后一级节点下多个容器所在的层级。在最底层遍历完之后,再往上一层级逐层级的对节点树进行遍历,以确定云平台的故障节点和故障容器。
由于故障检测系统向容器或某级节点发送数据获取请求,以从中获取数据时,所获取的数据不一定是从该容器或该级节点中获取的,而是从其所在传输链路中其他级节点获得的。因此在数据传输过程出错时,有可能出现返回数据出错的容器或某级节点并非真实的故障容器或故障节点。以图3所示的节点树为例,该节点树有4个层级,最底层是与各容器,上一层级是各二级节点,再上一层级是各一级节点,最顶层是总节点。以图3中容器A1-二级节点1-一级节点1-总节点这一分支的数据传输链路进行分析,假设故障检测系统请求从容器A1获取数据,但从容器A1返回的数据不一定是容器A1中的,例如在容器A1不具有故障检测系统请求获取的数据时,容器A1会从二级节点1中去请求获取。同样地,如果二级节点1中也不存在该数据,二级节点1会从一级节点1中去请求获取,如果一级节点1也不存在该数据,一级节点1会从总节点中去请求获取。
云平台的可用性和容器、节点的关键功能密切相关,容器、节点的关键功能是指容器、节点分别最频繁用于进行数据传输时的功能。容器、节点的关键功能正常才能保证云平台可用。只有自下而上进行遍历的方式,可以确定容器、节点的关键功能是否正常,所以为了保证云平台的可用性,对节点树自下而上进行遍历。
除此之外,采用自上而下对节点树进行遍历的方式,成本较高且检测效率很低,需要像现有技术一样逐个对容器和节点进行检测。需要逐个检测,例如若确定总节点的数据传输过程存在问题,则需进一步检测是一级节点1、一级节点2、一级节点3....一级节点n中哪一个或哪几个出的问题,若确定是一级节点2出的问题,则还需确定是二级节点1、二级节点2...二级节点n出的问题,其他以此类推。
采用自下而上进行逐层遍历的方式,能够准确确定故障容器和故障节点,是因为,如前述下一层级的节点在没有数据的情况下,会从上一层级的节点中获取,因此在确定下一层级的节点为异常时,即对上一层级的节点进行检测,其他依次类推,即可准确判断异常的源头节点并将其确定为故障节点。并且,若还未检测到总节点之前,例如检测到二级节点1为正常,则可确定容器A1为异常,无需再对一级节点1和总节点进行检测,因此在检测效率上也相比自上而下的方式更快。
本实施例中,根据所述节点树的层级结构以及按照自下而上的遍历方式,从所述节点树的最底层开始逐层级的对所述节点树的各层级进行遍历,以确定所述云平台的故障节点和故障容器。
作为一种可选实施方式,本实施例中,步骤201,包括以下步骤:
步骤301,根据所述节点树的层级结构,触发所述节点树最底层的多个容器的数据获取请求,以获取各容器的返回数据。
其中,容器的数据获取请求中包括容器返回数据的预期数据结构,容器返回数据的预期数据结构是对容器返回的数据所期望的数据结构。理论上,容器的返回数据的数据结构与容器的数据获取请求中对应容器的返回数据的预期数据结构一致的情况下,才说明从容器返回的数据是准确的,容器所在的数据传输链路没有出现数据传输错误。
云平台中各节点和容器的数据获取请求作为节点信息已存储于故障检测系统中。故障检测系统可以触发节点树最底层的各容器的数据获取请求,以从各容器中获取数据,从容器中获取到的数据称为容器的返回数据。此处,各容器的数据获取请求,与一般的数据获取请求稍作区别,一般的数据获取请求会是容器从其他地方,例如容器的上级节点处获取数据,但此处各容器的数据获取请求是指从各容器中取数的获取请求。
从容器中获取的返回数据,在容器的数据库中存储有对应数据的情况下,从容器中获取返回即可。在容器的数据库中未存储有对应数据的情况下,该容器可以从它的上一级节点中获取。
步骤302,将各容器的返回数据不符合预设返回数据条件的容器,均确定为故障容器,并触发各所述故障容器的上一级节点的数据获取请求,以获取各所述故障容器的上一级节点的返回数据。
此处故障容器的上一级节点的数据获取请求是指从故障容器的上一级节点中取数的获取请求,可以用于从故障容器的上一级节点中获取数据。
其中,故障容器的上一级节点的数据获取请求中包括故障容器的上一级节点的返回数据的预期数据结构,故障容器的上一级节点的返回数据的预期数据结构是对故障容器的上一级节点返回的数据所期望的数据结构。
容器的返回数据不符合预设返回数据条件,是指容器的返回数据与容器的数据获取请求中对应容器的返回数据的预期数据结构不一致。
从故障容器的上一级节点中获取的返回数据,在故障容器的上一级节点的数据库中存储有对应数据的情况下,从故障容器的上一级节点中获取返回即可。在故障容器的上一级节点的数据库中未存储有对应数据的情况下,该故障容器的上一级节点可以再从它的上一级节点中获取。
步骤303,若确定各所述故障容器的上一级节点的返回数据符合所述预设返回数据条件,则终止对所述故障容器所在的数据传输链路进行遍历。
此处,假设各故障容器的上一级节点的返回数据符合预设返回数据条件,在此情况下,终止对故障容器所在的数据传输链路进行遍历。
故障容器的上一级节点的返回数据符合预设返回数据条件,是指故障容器的上一级节点的返回数据与故障容器的上一级节点的返回数据的预期数据结构一致。
若确定各故障容器的上一节点的返回数据不符合预设返回数据条件的节点,则均确定为第一故障节点,并触发各第一故障节点的上一级节点的数据获取请求,以获取各第一故障节点的上一级节点的返回数据。再,针对各第一故障节点的上一级节点,将各第一故障节点的上一级节点的返回数据不符合预设返回数据条件的节点,均确定为第二故障节点,并触发各第二故障节点的上一级节点的数据获取请求,以获取各第二故障节点的上一级节点的返回数据。对于节点树中任一条数据传输链路,结束遍历的标志是从第N级节点获取的数据符合预设返回数据条件,如果不符合预设返回数据条件,则会再触发上一级节点的数据获取请求,继续进行遍历。若节点树中某一条或多条数据传输链路,其最底层的容器的返回数据符合预设返回数据条件,则不再往上遍历。
本实施例中,通过预设返回数据条件对各容器、节点的返回数据进行判断,从而可以准确判断是否出现数据传输错误。
以一个具体实例说明遍历节点树,确定故障容器和故障节点的过程:仍以图3中容器A1-二级节点1-一级节点1-总节点这一分支的数据传输链路进行分析,先是触发容器A1的数据获取请求,以从容器A1获取数据。如果容器A1返回的数据结构和容器A1返回数据的预期的数据结构一致,则确定容器A1所在的数据传输链路不存在数据传输错误,后续不再对该分支的数据传输链路进行检测。
同时,假设另一分支的数据传输链路容器A2-二级节点2-一级节点2-总节点这一分支的数据传输链路中,容器A2返回的数据结构与容器A2返回数据的预期的数据结构不一致,则确定容器A2所在的数据传输链路存在数据传输错误。但是,如前述导致出现数据传输错误的源头,可能是其上n级节点引起的,该上n级节点才是真正的故障节点。因此为了进一步确定哪一级节点是故障节点,后续需要再对该分支的数据传输链路进行检测。
本方法利用节点树的层级结构,通过利用数据的流转关系,以下层数据的状态判断是否需要再继续对上层进行检测,若下层正常,则上层同枝全正常,下层异常则上层同枝可能异常。可以有效减少遍历的节点数量,降低了工作量,提升了检测效率。
为了进一步确定导致故障节点和故障容器的故障原因,因此再通过状态测试用例对各故障节点和故障容器的状态进行检测。作为一种可选实施方式,本实施例中,在步骤103之后,还包括以下步骤:
步骤401,根据所述故障节点和所述故障容器,确定对应的预先设置的状态测试用例。
其中,状态测试用例,是故障检测系统预设的一段测试程序,可以用于对节点和容器的状态进行检测,以确定节点和容器的状态是否为处于故障中。状态测试用例包括专门用于对节点的状态进行检测的状态测试用例(后续称为节点状态测试用例),以及专门用于对容器的状态进行检测的状态测试用例(后续称为容器状态测试用例)。
需要注意的是,此处故障节点可以为一个或多个,故障容器也可以为一个或多个。
假设,前面故障检测系统确定云平台中既有故障节点,又有故障容器,则此时分别用节点状态测试用例对至少一个故障节点的状态进行检测,并用容器状态测试用例对至少一个故障容器的状态进行检测。
如果故障检测系统仅确定云平台具有故障节点,则只需采用节点状态测试用例对至少一个故障节点的状态进行检测即可。同样地,如果故障检测系统仅确定云平台具有故障容器,则只需采用容器状态测试用例对至少一个故障容器进行检测即可。
步骤402,通过各所述状态测试用例分别对所述故障节点和所述故障容器进行测试,获得对应的测试结果,所述测试结果为故障节点或故障容器的状态。
其中,通过节点状态测试用例对至少一个故障节点进行测试,是指将至少一个故障节点的IP信息输入到节点状态测试用例中。测试之后,可以得到故障节点的状态。通过容器状态测试用例对至少一个故障容器进行测试,是指将至少一个故障容器的IP信息和/或名称输入到容器状态测试用例中。测试之后,可以得到故障容器的状态。
故障节点的状态是导致节点被故障检测系统检测为故障节点时所处的状态。故障容器的状态是导致容器被故障检测系统检测为故障容器时所处的状态。
故障节点和故障容器的状态,可以是如表1的节点状态表所示,例如,故障节点的状态可以是pending(等待被调度)、Waiting(等待启动)、CrashLoopBackOff(容器退出)等。若故障检测系统检测到节点处于pending状态时,则可以确定该节点为故障节点。
故障容器的状态,可以是故障容器为Restarting(重启中)、Removing(迁移中)、Paused(暂停)等状态。例如,若故障检测系统检测到容器的状态处于Restarting时,则可以确定该容器为故障容器。
表1中的数据库是指节点、容器的数据库,所有的节点和容器都有数据库。若节点、容器的数据库处于表1所示的各种状态,将被故障检测系统确定该节点、容器为故障节点、故障容器。
表1
应用和节点、容器之间的关系,可以理解为:一个应用是由多个节点和/或多个容器组成的,用以完成某一种或某一类业务功能。因此,在确定故障节点、故障容器之后,可以推测由该故障节点、故障容器组成的应用可能存在问题,可将其称为故障应用。确定故障应用之后,可以指示相关人员进行运维。如表2所示,是故障应用可能存在问题时的状态。
表2
步骤403,基于预先存储的节点状态表与各所述测试结果,确定所述故障节点和所述故障容器的状态标识。
其中,节点状态表中存储有节点的状态、容器的状态,以及节点的状态标识、容器的状态标识。如表1所示,表1中第三列各行表示的是节点的状态以及容器的状态,表1中第二列各行表示的是节点的状态标识以及容器的状态标识。
基于预先存储的节点状态表、故障节点的状态和故障容器的状态,可以确定故障节点的状态标识和故障容器的状态标识。
步骤404,根据预先存储的第一维护表,确定所述故障节点和所述故障容器的状态标识所对应的运维方式并输出。
其中,第一维护表中存储有故障节点的状态标识、故障容器的状态标识,以及故障节点的状态标识所对应的运维方式、故障容器的状态标识所对应的运维方式。如表3所示,表3中第三列各行表示的是故障节点的状态标识所对应的运维方式,以及故障容器的状态标识所对应的运维方式。
表3
基于预先存储的第一维护表、故障节点的状态标识和故障容器的状态标识,可以确定故障节点的状态标识所对应的运维方式,以及确定故障容器的状态标识所对应的运维方式。之后,故障检测系统再将故障节点的状态标识所对应的运维方式,以及故障容器的状态标识所对应的运维方式输出。
本实施例中,根据所述故障节点和所述故障容器,确定对应的预先设置的状态测试用例;通过各所述状态测试用例分别对所述故障节点和所述故障容器进行测试,获得对应的测试结果,所述测试结果为故障节点或故障容器的状态;基于预先存储的节点状态表与各所述测试结果,确定所述故障节点和所述故障容器的状态标识,所述节点状态表中存储有节点和容器的状态及对应的状态标识;根据预先存储的第一维护表,确定所述故障节点和所述故障容器的状态标识所对应的运维方式并输出,所述第一维护表中存储有故障节点和故障容器的状态标识及各状态标识所对应的运维方式。由于在确定云平台的故障节点和故障容器之后,采用各状态测试用例分别对故障节点和故障容器进行测试,以确定故障节点的状态和故障容器的状态,再基于节点状态表确定故障节点的状态标识和故障容器的状态标识,并基于第一维护表确定故障节点的状态标识对应的运维方式,以及故障容器的状态标识对应的运维方式,从而可以对故障节点和故障容器准确地进行运维。
作为一种可选实施方式,本实施例中,步骤101之后,还包括以下步骤:将所述云平台的节点信息和接口信息,存储于功能接口数据库。
其中,功能接口数据库位于故障检测系统中,可以存储云平台的节点信息和接口信息的数据库。故障检测系统在接收到检测指令,从云平台获取其节点信息和接口信息之后,可以将云平台的节点信息和接口信息存储于功能接口数据库中,从而使故障检测系统可以控制各节点、容器触发数据获取请求。
则在步骤102之后,基于云平台的故障检测方法,还包括以下步骤:
步骤501,调用所述功能接口数据库中存储的所述故障节点和所述故障容器的关键功能,使用预先封装好的功能测试用例发送第三数据获取请求访问所述故障节点和所述故障容器的关键功能的接口,获得通过所述故障节点和所述故障容器的关键功能返回的测试数据。
其中,第三数据获取请求包括预期返回的数据结构,关键功能是容器和节点最频繁用于进行数据传输时的功能。
云平台的节点信息还包括各节点和容器的多个功能,在各节点和容器的多个功能中最频繁被使用的一个功能,称为关键功能。其中,功能可以用于将容器和节点的特定的数据传输至目标对象。以容器A1为例说明,容器A1中假设有3个功能B1、B2、B3,B1功能可以用于将数据X1传输至二级节点1,B2功能可以用于将数据X2传输至二级节点1,B3功能可以用于将数据X3传输至二级节点1。若其中B1功能传输数据X1的频次最高,则B1功能为关键功能。
可知,故障节点的关键功能是指故障节点最频繁用于进行数据传输时的功能。故障容器的关键功能是指故障容器最频繁用于进行数据传输时的功能。
调用功能接口数据库中存储的故障节点和故障容器的关键功能,运行预先封装好的功能测试用例,即可触发第三数据获取请求访问故障节点的关键功能的接口,以及故障容器的关键功能的接口,从而获得故障节点通过故障节点的关键功能返回的测试数据,以及获得故障容器通过故障容器的关键功能返回的测试数据。其中,第三数据获取请求包括预期返回的数据结构。
步骤502,将各所述测试数据的数据结构,与所述预期返回的数据结构进行对比,以确定故障节点和所述故障容器的关键功能是否出现异常。
其中,根据故障节点返回的测试数据的数据结构与预期返回的数据结构进行对比,可以确定故障节点的关键功能是否出现异常。
具体的,判断故障节点返回的测试数据结构与预期返回的数据结构的对比结果是否相同;响应于对比结果不相同,确定故障节点的关键功能出现异常;响应于对比结果相同,确定故障节点的关键功能未出现异常。
同理,根据故障容器返回的测试数据的数据结构与预期返回的数据结构进行对比,可以确定故障容器的关键功能是否出现异常。
具体的,判断故障容器回的测试数据结构与预期返回的数据结构的对比结果是否相同;响应于对比结果不相同,确定故障容器的关键功能出现异常;响应于对比结果相同,确定故障容器的关键功能未出现异常。
步骤503,响应于所述故障节点和所述故障容器的关键功能出现异常,确定对应的异常原因。
步骤504,基于预先存储的第二维护表和所述异常原因确定对应的运维方式并输出。
其中,第二维护表中还存储有节点和容器的关键功能发生异常时的异常原因,及各异常原因所对应的运维方式。第二维护表如表4所示,异常原因为返回字段不合法时,对应的运维方式为自动回切上一版本并邮件/短信通知维护人员。
表4
本实施例中,将所述云平台的节点信息和接口信息,存储于功能接口数据库;则在所述对所述节点树进行遍历,以确定所述云平台的故障节点和故障容器之后,所述方法还包括:调用所述功能接口数据库中存储的所述故障节点和所述故障容器的关键功能,使用预先封装好的功能测试用例发送第三数据获取请求访问所述故障节点和所述故障容器的关键功能的接口,获得通过所述故障节点和所述故障容器的关键功能返回的测试数据,所述第三数据获取请求包括预期返回的数据结构,所述关键功能是容器和节点最频繁用于进行数据传输时的功能;将各所述测试数据的数据结构,与所述预期返回的数据结构进行对比,以确定故障节点和所述故障容器的关键功能是否出现异常;响应于所述故障节点和所述故障容器的关键功能出现异常,确定对应的异常原因;基于所预先存储的第二维护表和所述异常原因确定对应的运维方式并输出,所述第二维护表中还存储有节点和容器的关键功能发生异常时的异常原因,及各异常原因所对应的运维方式。由于基于故障节点和故障容器的关键功能确定对应的异常原因,因此基于第二维护表确定该异常原因所对应的运维方式是准确的,可以高效准确地对故障节点和故障容器进行运维。
作为一种可选实施方式,本实施例中,在步骤101之后,还包括:
步骤601,将返回码不为预设值的节点和容器,分别确定为异常节点和异常容器。
其中,容器返回的返回码,是故障检测系统在触发容器的数据获取请求时,容器基于触发数据获取请求的时延确定的,若时延超过预设时延,容器的返回码可以表征容器的网络和/或软硬件所处的状态是否异常。容器的返回码不为预设值(即非200),表明容器的网络和/或软硬件处于故障状态,将该容器确定为异常容器。节点返回的返回码的确定与容器的方式相同,节点的返回码表征节点的网络和/或软硬件所处的状态是否异常。节点的返回码不为预设值,表明节点的网络和/或软硬件处于故障状态,将该节点确定为异常节点。
步骤602,通过预设的检测工具对所述异常节点和所述异常容器进行检测,确定所述异常节点和异常容器的网络和/或软硬件的故障原因。
其中,预设的检测工具可以是LoadRunner、Jmeter等第三方开源测试工具,可以用于获取节点和容器的网络和/或软硬件状态。预设的检测工具是软件代码,通过故障检测系统控制其运行,即可实现确定异常节点和异常容器的网络和/或软硬件的故障原因。
步骤603,基于预先存储的第三维护表和所述故障原因确定对应的运维方式并输出。
其中,第三维护表中存储有节点和容器的网络和/或软硬件出现故障时的故障原因,各故障原因所属的故障类别,以及各故障类别所对应的运维方式。例如,故障节点的网络和/或软硬件的故障原因是CPU利用率超标时,对应的故障类别是资源不足,对应的运维方式是紧急资源扩容并邮件/短信通知维护人员。
表5
本实施例中,将返回码不为预设值的节点和容器,分别确定为异常节点和异常容器;通过预设的检测工具对所述异常节点和所述异常容器进行检测,确定所述异常节点和异常容器的网络和/或软硬件的故障原因;基于预先存储的第三维护表和所述故障原因确定对应的运维方式并输出,所述第三维护表中存储有节点和容器的网络和/或软硬件出现故障时的故障原因,各所述故障原因所属的故障类别,以及各所述故障类别所对应的运维方式。由于通过预设的检测工具可以很准确地确定异常节点和异常容器对应的故障原因,因此可以保证基于第三维护表确定运维方式的准确性,从而准确地对异常节点和异常容器进行运维。
图4是本申请一实施例提供的基于云平台的故障检测装置的结构示意图,如图4所示,本实施例提供的基于云平台的故障检测装置40位于故障检测系统中,则本实施例提供的基于云平台的故障检测装置40,包括:
信息获取模块,用于在接收到检测指令时,获取所述云平台的节点信息和接口信息,所述云平台的节点信息包括每级节点的名称和标识,以及最后一级节点下每个容器的名称和标识,所述云平台的接口信息包括所述云平台的各级节点之间、以及最后一级各节点与最后一级节点下各容器之间进行数据传输时的上下游关系;
节点树生成模块,用于根据所述云平台的节点信息和接口信息,生成节点树;所述节点树是以树的层级结构表示的云平台的多级节点以及最后一级节点下所对应的多个容器,所述节点树的层级结构表征所述云平台的各级节点之间、以及最后一级各节点与最后一级节点下各容器之间进行数据传输时的上下游关系;
节点树遍历模块,用于根据所述节点树的层级结构,逐层级的对所述节点树进行遍历,以确定所述云平台的故障节点和故障容器。
可选地,信息获取模块,具体用于:在接收到检测指令时,向所述云平台发送部署信息获取指令;获取所述云平台响应于所述部署信息获取指令所返回的部署信息;根据所述部署信息,获取所述云平台的节点信息和接口信息。
可选地,节点树遍历模块,在根据所述节点树的层级结构,逐层级的对所述节点树进行遍历,以确定所述云平台的故障节点和故障容器时,具体用于:根据所述节点树的层级结构以及按照自下而上的遍历方式,从所述节点树的最底层开始逐层级的对所述节点树的各层级进行遍历,以确定所述云平台的故障节点和故障容器。
可选地,根据所述节点树的层级结构,触发所述节点树最底层的多个容器的数据获取请求,以获取各容器的返回数据;将各容器的返回数据不符合预设返回数据条件的容器,均确定为故障容器,并触发各所述故障容器的上一级节点的数据获取请求,以获取各所述故障容器的上一级节点的返回数据;若确定各所述故障容器的上一级节点的返回数据符合所述预设返回数据条件,则终止对所述故障容器所在的数据传输链路进行遍历。
可选地,基于云平台的故障检测装置,还包括第一运维模块,在所述对所述节点树进行遍历,以确定所述云平台的故障节点和故障容器之后,用于:根据所述故障节点和所述故障容器,确定对应的预先设置的状态测试用例;通过各所述状态测试用例分别对所述故障节点和所述故障容器进行测试,获得对应的测试结果,所述测试结果为故障节点或故障容器的状态;基于预先存储的节点状态表与各所述测试结果,确定所述故障节点和所述故障容器的状态标识,所述节点状态表中存储有节点和容器的状态及对应的状态标识;根据预先存储的第一维护表,确定所述故障节点和所述故障容器的状态标识所对应的运维方式并输出,所述第一维护表中存储有故障节点和故障容器的状态标识及各状态标识所对应的运维方式。
可选地,基于云平台的故障检测装置,还包括第二运维模块,在所述对所述节点树进行遍历,以确定所述云平台的故障节点和故障容器之后,用于:调用所述功能接口数据库中存储的所述故障节点和所述故障容器的关键功能,使用预先封装好的功能测试用例发送第三数据获取请求访问所述故障节点和所述故障容器的关键功能的接口,获得通过所述故障节点和所述故障容器的关键功能返回的测试数据,所述第三数据获取请求包括预期返回的数据结构,所述关键功能是容器和节点最频繁用于进行数据传输时的功能;将各所述测试数据的数据结构,与所述预期返回的数据结构进行对比,以确定故障节点和所述故障容器的关键功能是否出现异常;响应于所述故障节点和所述故障容器的关键功能出现异常,确定对应的异常原因;基于所预先存储的第二维护表和所述异常原因确定对应的运维方式并输出,所述第二维护表中存储有节点和容器的关键功能发生异常时的异常原因,及各异常原因所对应的运维方式。
可选地,第二运维模块,在将各所述测试数据的数据结构,与所述预期返回的数据结构进行对比,以确定故障节点和所述故障容器的关键功能是否出现异常时,具体用于:将各所述测试数据的数据结构,与所述预期返回的数据结构进行对比;判断各所述测试数据的数据结构,与所述预期返回的数据结构的对比结果是否相同;响应于所述对比结果不相同,确定所述故障节点和所述故障容器的关键功能出现异常;响应于所述对比结果相同,确定所述故障节点和所述故障容器的关键功能未出现异常。
可选地,基于云平台的故障检测装置,还包括第三运维模块,用于:将返回码不为预设值的故障节点和故障容器,分别确定为异常节点和异常容器;通过预设的检测工具对所述异常节点和所述异常容器进行检测,确定所述异常节点和异常容器的网络和/或软硬件的故障原因;基于预先存储的第三维护表和所述故障原因确定对应的运维方式并输出,所述第三维护表中存储有节点和容器的网络和/或软硬件出现故障时的故障原因,各所述故障原因所属的故障类别,以及各所述故障类别所对应的运维方式。
图5是根据一示例性实施例示出的一种故障检测系统的框图,该设备可以是如图5所示,故障检测系统,包括:存储器51,处理器52;存储器51用于存储处理器可执行指令的存储器;处理器52用于运行计算机程序或指令,以实现如上任意一个实施例提供的基于云平台的故障检测方法。
其中,存储器51,用于存放程序。具体地,程序可以包括程序代码,程序代码包括计算机操作指令。存储器51可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
其中,处理器52可能是一个中央处理器(Central Processing Unit,简称为CPU),或者是特定集成电路(Application Specific Integrated Circuit,简称为ASIC),或者是被配置成实施本公开实施例的一个或多个集成电路。
可选的,在具体实现上,如果存储器51和处理器52独立实现,则存储器51和处理器52可以通过总线53相互连接并完成相互间的通信。总线53可以是工业标准体系结构(Industry Standard Architecture,简称为ISA)总线53、外部设备互连(PeripheralComponent,简称为PCI)总线53或扩展工业标准体系结构(Extended Industry StandardArchitecture,简称为EISA)总线53等。总线53可以分为地址总线53、数据总线53、控制总线53等。为便于表示,图5中仅用一条粗线表示,但并不表示仅有一根总线53或一种类型的总线53。
可选的,在具体实现上,如果存储器51和处理器52集成在一块芯片上实现,则存储器51和处理器52可以通过内部接口完成相同间的通信。
一种非临时性计算机可读存储介质,当该存储介质中的指令由故障检测系统的处理器执行时,使得故障检测系统能够执行上述故障检测系统的基于云平台的故障检测方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求书指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求书来限制。
Claims (12)
1.一种基于云平台的故障检测方法,其特征在于,应用于故障检测系统,所述方法包括:
在接收到检测指令时,获取所述云平台的节点信息和接口信息,所述云平台的节点信息包括每级节点的名称和标识,以及最后一级节点下每个容器的名称和标识,所述云平台的接口信息包括所述云平台的各级节点之间、以及最后一级各节点与最后一级节点下各容器之间进行数据传输时的上下游关系;
根据所述云平台的节点信息和接口信息,生成节点树;所述节点树是以树的层级结构表示的云平台的多级节点以及最后一级节点下所对应的多个容器,所述节点树的层级结构表征所述云平台的各级节点之间、以及最后一级各节点与最后一级节点下各容器之间进行数据传输时的上下游关系;
根据所述节点树的层级结构,逐层级的对所述节点树进行遍历,以确定所述云平台的故障节点和故障容器。
2.根据权利要求1所述的方法,其特征在于,所述在接收到检测指令时,获取云平台的节点信息和接口信息,包括:
在接收到检测指令时,向所述云平台发送部署信息获取指令;
获取所述云平台响应于所述部署信息获取指令所返回的部署信息;
根据所述部署信息,获取所述云平台的节点信息和接口信息。
3.根据权利要求1所述的方法,其特征在于,所述根据所述节点树的层级结构,逐层级的对所述节点树进行遍历,以确定所述云平台的故障节点和故障容器,包括:
根据所述节点树的层级结构以及按照自下而上的遍历方式,从所述节点树的最底层开始逐层级的对所述节点树的各层级进行遍历,以确定所述云平台的故障节点和故障容器。
4.根据权利要求3所述的方法,其特征在于,所述根据所述节点树的层级结构以及按照自下而上的遍历方式,从所述节点树的最底层开始逐层级的对所述节点树的各层级进行遍历,以确定所述云平台的故障节点和故障容器,包括:
根据所述节点树的层级结构,触发所述节点树最底层的多个容器的数据获取请求,以获取各容器的返回数据;
将各容器的返回数据不符合预设返回数据条件的容器,均确定为故障容器,并触发各所述故障容器的上一级节点的数据获取请求,以获取各所述故障容器的上一级节点的返回数据;
若确定各所述故障容器的上一级节点的返回数据符合所述预设返回数据条件,则终止对所述故障容器所在的数据传输链路进行遍历。
5.根据权利要求1-4中任一项所述的方法,其特征在于,在所述对所述节点树进行遍历,以确定所述云平台的故障节点和故障容器之后,还包括:
根据所述故障节点和所述故障容器,确定对应的预先设置的状态测试用例;
通过各所述状态测试用例分别对所述故障节点和所述故障容器进行测试,获得对应的测试结果,所述测试结果为故障节点或故障容器的状态;
基于预先存储的节点状态表与各所述测试结果,确定所述故障节点和所述故障容器的状态标识,所述节点状态表中存储有节点和容器的状态及对应的状态标识;
根据预先存储的第一维护表,确定所述故障节点和所述故障容器的状态标识所对应的运维方式并输出,所述第一维护表中存储有故障节点和故障容器的状态标识及各状态标识所对应的运维方式。
6.根据权利要求5所述的方法,其特征在于,所述在接收到检测指令时,获取云平台的节点信息和接口信息之后,还包括:
将所述云平台的节点信息和接口信息,存储于功能接口数据库;
则在所述对所述节点树进行遍历,以确定所述云平台的故障节点和故障容器之后,所述方法还包括:
调用所述功能接口数据库中存储的所述故障节点和所述故障容器的关键功能,使用预先封装好的功能测试用例发送第三数据获取请求访问所述故障节点和所述故障容器的关键功能的接口,获得通过所述故障节点和所述故障容器的关键功能返回的测试数据,所述第三数据获取请求包括预期返回的数据结构,所述关键功能是容器和节点最频繁用于进行数据传输时的功能;
将各所述测试数据的数据结构,与所述预期返回的数据结构进行对比,以确定故障节点和所述故障容器的关键功能是否出现异常;
响应于所述故障节点和所述故障容器的关键功能出现异常,确定对应的异常原因;
基于所预先存储的第二维护表和所述异常原因确定对应的运维方式并输出,所述第二维护表中存储有节点和容器的关键功能发生异常时的异常原因,及各异常原因所对应的运维方式。
7.根据权利要求6所述的方法,其特征在于,所述将各所述测试数据的数据结构,与所述预期返回的数据结构进行对比,以确定故障节点和所述故障容器的关键功能是否出现异常,包括:
将各所述测试数据的数据结构,与所述预期返回的数据结构进行对比;
判断各所述测试数据的数据结构,与所述预期返回的数据结构的对比结果是否相同;
响应于所述对比结果不相同,确定所述故障节点和所述故障容器的关键功能出现异常;
响应于所述对比结果相同,确定所述故障节点和所述故障容器的关键功能未出现异常。
8.根据权利要求6所述的方法,其特征在于,在所述在接收到检测指令时,获取云平台的节点信息和接口信息之后,所述方法还包括:
将返回码不为预设值的节点和容器,分别确定为异常节点和异常容器;
通过预设的检测工具对所述异常节点和所述异常容器进行检测,确定所述异常节点和异常容器的网络和/或软硬件的故障原因;
基于预先存储的第三维护表和所述故障原因确定对应的运维方式并输出,所述第三维护表中存储有节点和容器的网络和/或软硬件出现故障时的故障原因,各所述故障原因所属的故障类别,以及各所述故障类别所对应的运维方式。
9.一种基于云平台的故障检测装置,其特征在于,位于故障检测系统,所述装置包括:
信息获取模块,用于在接收到检测指令时,获取所述云平台的节点信息和接口信息,所述云平台的节点信息包括每级节点的名称和标识,以及最后一级节点下每个容器的名称和标识,所述云平台的接口信息包括所述云平台的各级节点之间、以及最后一级各节点与最后一级节点下各容器之间进行数据传输时的上下游关系;
节点树生成模块,用于根据所述云平台的节点信息和接口信息,生成节点树;所述节点树是以树的层级结构表示的云平台的多级节点以及最后一级节点下所对应的多个容器,所述节点树的层级结构表征所述云平台的各级节点之间、以及最后一级各节点与最后一级节点下各容器之间进行数据传输时的上下游关系;
节点树遍历模块,用于根据所述节点树的层级结构,逐层级的对所述节点树进行遍历,以确定所述云平台的故障节点和故障容器。
10.一种故障检测系统,包括:处理器,以及与所述处理器通信连接的存储器;
所述存储器存储计算机执行指令;
所述处理器执行所述存储器存储的计算机执行指令,以实现如权利要求1-8中任一项所述的方法。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如权利要求1-8任一项所述的方法。
12.一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现权利要求1-8中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310266139.XA CN116319421A (zh) | 2023-03-17 | 2023-03-17 | 基于云平台的故障检测方法、装置、故障检测系统及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310266139.XA CN116319421A (zh) | 2023-03-17 | 2023-03-17 | 基于云平台的故障检测方法、装置、故障检测系统及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116319421A true CN116319421A (zh) | 2023-06-23 |
Family
ID=86835662
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310266139.XA Pending CN116319421A (zh) | 2023-03-17 | 2023-03-17 | 基于云平台的故障检测方法、装置、故障检测系统及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116319421A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116647572A (zh) * | 2023-07-26 | 2023-08-25 | 腾讯科技(深圳)有限公司 | 访问端点切换方法、装置、电子设备及存储介质 |
-
2023
- 2023-03-17 CN CN202310266139.XA patent/CN116319421A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116647572A (zh) * | 2023-07-26 | 2023-08-25 | 腾讯科技(深圳)有限公司 | 访问端点切换方法、装置、电子设备及存储介质 |
CN116647572B (zh) * | 2023-07-26 | 2023-11-14 | 腾讯科技(深圳)有限公司 | 访问端点切换方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111708650B (zh) | 一种业务应用系统高可用性分析方法及系统 | |
CN110618890B (zh) | 故障处理方法、装置、电子设备及计算机可读存储介质 | |
CN108287769B (zh) | 一种信息处理方法及装置 | |
CN112527484B (zh) | 工作流断点续跑方法、装置、计算机设备及可读存储介质 | |
US9892019B2 (en) | Use case driven stepping component automation framework | |
CN116319421A (zh) | 基于云平台的故障检测方法、装置、故障检测系统及介质 | |
CN113656252B (zh) | 故障定位方法、装置、电子设备以及存储介质 | |
CN111782456A (zh) | 异常检测方法、装置、计算机设备和存储介质 | |
CN111813872B (zh) | 一种故障排查模型的生成方法、装置、设备 | |
JP6802764B2 (ja) | 演算装置 | |
CN115037653B (zh) | 业务流量监控方法、装置、电子设备和存储介质 | |
CN113778763B (zh) | 一种三方接口服务故障智能切换方法及系统 | |
CN111104266A (zh) | 访问资源的分配方法、装置、存储介质和电子设备 | |
CN111752819A (zh) | 一种异常监控方法、装置、系统、设备和存储介质 | |
CN112286797B (zh) | 一种服务监控方法、装置、电子设备及存储介质 | |
CN113656003A (zh) | 一种软件包管理方法及相关设备 | |
CN111475400A (zh) | 一种业务平台的验证方法及相关设备 | |
CN108845932B (zh) | 一种网络库的单元测试方法、装置、存储介质及终端 | |
CN112527473A (zh) | 一种分布式事务处理方法及装置 | |
CN113868007B (zh) | 确定组件故障影响范围的方法、系统及相关设备 | |
CN116846741B (zh) | 一种告警收敛方法、装置、设备及存储介质 | |
CN111866130B (zh) | 基于zookeeper的日志处理方法、装置、计算机设备和存储介质 | |
CN111708649B (zh) | 一种业务应用系统攻击检测方法及系统 | |
CN114020399A (zh) | 一种交换机操作系统服务故障侦测方法及装置 | |
US11392444B1 (en) | Method and apparatus for analysis of runtime behavior |
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 |