CN113326159B - 用于故障注入的方法、装置、系统及计算机可读存储介质 - Google Patents

用于故障注入的方法、装置、系统及计算机可读存储介质 Download PDF

Info

Publication number
CN113326159B
CN113326159B CN202010132853.6A CN202010132853A CN113326159B CN 113326159 B CN113326159 B CN 113326159B CN 202010132853 A CN202010132853 A CN 202010132853A CN 113326159 B CN113326159 B CN 113326159B
Authority
CN
China
Prior art keywords
fault
target
target network
injection
network device
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
CN202010132853.6A
Other languages
English (en)
Other versions
CN113326159A (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN202010132853.6A priority Critical patent/CN113326159B/zh
Publication of CN113326159A publication Critical patent/CN113326159A/zh
Application granted granted Critical
Publication of CN113326159B publication Critical patent/CN113326159B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/079Root cause analysis, i.e. error or fault diagnosis

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请公开了用于故障注入的方法、装置、系统及计算机可读存储介质,属于互联网技术领域。以分析器为例,该方法包括:分析器首先确定需要向目标网络设备注入的目标故障。之后,分析器确定目标故障的故障参数,以便于生成第一RPC指令。其中,该第一RPC指令包括上述确定的故障参数以及故障注入标识,该故障注入标识用于指示目标网络设备进行故障注入。之后,分析器向目标网络设备发送生成的第一RPC指令,从而通过该第一RPC指令指示目标网络设备注入目标故障。本申请无需依赖于SSH通道,通过RPC指令即可实现故障注入。该方法不仅适用于目标网络设备的开发阶段,还适用于目标网络设备接入运营商网络之后的运行阶段,适用性较强。

Description

用于故障注入的方法、装置、系统及计算机可读存储介质
技术领域
本申请涉及互联网技术领域,特别涉及一种用于故障注入的方法、装置、系统及计算机可读存储介质。
背景技术
随着互联网技术的发展,网络设备在人们生活中的应用也越来越多。在网络设备的应用过程中,往往通过人为地将故障注入网络设备来提高网络设备应对故障的能力,以期在故障真正发生时,网络设备能够及时正确地对故障进行处理,从而避免网络设备由于故障而发生失效。因此,如何进行故障注入,是保证网络设备具有故障应对能力的关键。
相关技术中,对于待注入故障的网络设备,执行测试机通过安全外壳协议(secureshell,SSH)通道向网络设备发送故障注入指令,以便于网络设备根据接收到得到故障注入指令注入故障,从而完成故障注入的过程。
然而,SSH通道往往仅存在于网络设备的开发阶段。在网络设备被接入运营商网络之后,则会出于安全性的考量关闭SSH通道。可以看出,相关技术所提供的方法仅适用于网络设备开发阶段,适用性较差,具有较大的局限性。
发明内容
本申请实施例提供了一种用于故障注入的方法、装置、系统及计算机可读存储介质,以解决相关技术提供的问题,技术方案如下:
第一方面,提供了一种用于故障注入的方法,以应用于分析器为例,该方法包括:分析器首先确定需要向目标网络设备注入的目标故障。之后,分析器确定目标故障的故障参数,以便于生成第一RPC指令。其中,该第一RPC指令包括上述确定的故障参数以及故障注入标识,该故障注入标识用于指示目标网络设备进行故障注入。之后,分析器向目标网络设备发送生成的第一RPC指令,从而通过该第一RPC指令指示目标网络设备注入目标故障。
本申请实施例通过确定待注入给目标网络设备的目标故障,根据该目标故障的故障参数以及用于指示进行故障注入的故障注入标识生成第一RPC指令。之后,通过发送生成的第一RPC指令即可指示目标网络设备进行故障注入,而无需依赖于SSH通道。该方法不仅适用于目标网络设备的开发阶段,还适用于目标网络设备接入运营商网络之后的运行阶段,适用性较强。
在示例性实施例中,确定需要向目标网络设备注入的目标故障,包括:从服务器获取故障集合,故障集合中包括至少一种类型的故障;从故障集合中确定需要向目标网络设备注入的目标故障。
在示例性实施例中,向目标网络设备发送第一RPC指令之后,该方法还包括:接收目标网络设备发送的运行信息,该运行信息用于指示目标网络设备在注入目标故障之后的运行情况;根据运行信息更新故障集合,得到更新后的故障集合;向服务器发送更新后的故障集合,更新后的故障集合用于服务器发送给其他分析器。
本实施例可实现多个分析器中的故障集合的批量更新,而无需对各个分析器进行单独更新,因而避免了单独更新每个分析器所导致的处理资源的浪费。
在示例性实施例中,确定需要向目标网络设备注入的目标故障之前,方法还包括:接收目标网络设备发送的能力信息,能力信息指示目标网络设备是否具有注入故障的能力;响应于能力信息指示目标网络设备具有注入故障的能力,执行确定需要向目标网络设备注入的目标故障的操作。
本实施例中分析器在确定目标网络设备具备注入故障的相关能力的情况下,才基于故障集合确定目标故障,以便于后续将所确定的目标故障注入目标网络设备之后,目标网络设备确实能够进行故障注入的相关操作,从而避免了由于目标网络设备无法进行故障注入而导致的处理资源的浪费。
在示例性实施例中,向目标网络设备发送第一RPC指令之后,该方法还包括:生成第二RPC指令,该第二RPC指令包括故障参数及故障撤销标识,故障撤销标识用于指示撤销故障注入;向目标网络设备发送第二RPC指令,通过第二RPC指令指示目标网络设备撤销目标故障的注入操作。
本实施例可对故障的注入操作进行撤销,便于后续注入其他故障或使得目标网络设备正常运行。
在示例性实施例中,第二RPC指令基于下一代建模语言YANG模型进行描述。
在示例性实施例中,第一RPC指令基于下一代建模语言YANG模型进行描述。
第二方面,提供了一种用于故障注入的方法,该方法应用于目标网络设备,该方法包括:接收分析器发送的第一RPC指令,第一RPC指令包括目标故障的故障参数以及故障注入标识;解析第一RPC指令,得到故障注入标识及故障参数;根据故障注入标识确定需要注入故障时,根据故障参数注入目标故障。
在示例性实施例中,根据故障参数注入目标故障之后,方法还包括:获取运行信息,运行信息用于指示目标网络设备注入目标故障之后的运行情况;将运行信息发送给分析器。
在示例性实施例中,接收分析器发送的第一RPC指令之前,方法还包括:获取能力信息,能力信息用于指示目标网络设备是否具有注入故障的能力;将能力信息发送给分析器。
在示例性实施例中,根据故障参数注入目标故障之后,方法还包括:接收分析器发送的第二RPC指令,第二RPC指令包括故障参数以及故障撤销标识;解析第二RPC指令,得到故障参数及故障撤销标识;根据故障撤销标识确定需要撤销故障的注入操作时,根据故障参数撤销目标故障的注入操作。
第三方面,提供了一种用于故障注入的方法,方法应用于服务器,方法包括:获取故障集合,故障集合中包括至少一种类型的故障;将故障集合发送给分析器。
在示例性实施例中,将故障集合发送给分析器之后,该方法还包括:接收分析器发送的更新后的故障集合;将更新后的故障集合发送给其他分析器。
第四方面,提供了一种用于故障注入的装置,装置包括:
第一确定模块,用于确定需要向目标网络设备注入的目标故障;
第二确定模块,用于确定目标故障的故障参数;
生成模块,用于生成第一RPC指令,第一RPC指令包括故障参数及故障注入标识,故障注入标识用于指示进行故障注入;
发送模块,用于向目标网络设备发送第一RPC指令,通过第一RPC指令指示目标网络设备注入目标故障。
在示例性实施例中,该装置还包括:获取模块,用于从服务器获取故障集合,故障集合中包括至少一种类型的故障;第三确定模块,用于从故障集合中确定需要向目标网络设备注入的目标故障。
在示例性实施例中,装置还包括:第一接收模块,用于接收目标网络设备发送的运行信息,运行信息用于指示目标网络设备在注入目标故障之后的运行情况;更新模块,用于根据运行信息更新故障集合,得到更新后的故障集合;发送模块,还用于将更新后的故障集合发送给服务器,更新后的故障集合用于服务器发送给其他分析器。
在示例性实施例中,装置还包括:第二接收模块,用于接收目标网络设备发送的能力信息,能力信息指示目标网络设备是否具有注入故障的能力;第一确定模块,用于响应于能力信息指示目标网络设备具有注入故障的能力,执行确定需要向目标网络设备注入的目标故障的操作。
在示例性实施例中,生成模块,还用于生成第二RPC指令,第二RPC指令包括故障参数及故障撤销标识,故障撤销标识用于指示撤销故障注入;发送模块,还用于向目标网络设备发送第二RPC指令,通过第二RPC指令指示目标网络设备撤销目标故障的注入操作。
在示例性实施例中,第二RPC指令基于YANG模型进行描述。
在示例性实施例中,第一RPC指令基于YANG模型进行描述。
第五方面,提供了一种用于故障注入的装置,装置包括:
接收模块,用于接收分析器发送的第一RPC指令,第一RPC指令包括目标故障的故障参数以及故障注入标识;
解析模块,用于解析第一RPC指令,得到故障注入标识及故障参数;
注入模块,用于根据故障注入标识确定需要注入故障时,根据故障参数注入目标故障。
在示例性实施例中,装置还包括:第一获取模块,用于获取运行信息,运行信息用于指示目标网络设备注入目标故障之后的运行情况;第一发送模块,用于将运行信息发送给分析器。
在示例性实施例中,装置还包括:第二获取模块,用于获取能力信息,能力信息用于指示目标网络设备是否具有注入故障的能力;第二发送模块,用于将能力信息发送给分析器。
在示例性实施例中,装置还包括:接收模块,还用于接收分析器发送的第二RPC指令,第二RPC指令包括故障参数以及故障撤销标识;解析模块,还用于解析第二RPC指令,得到故障参数及故障撤销标识;装置还包括:撤销模块,用于根据故障撤销标识确定需要撤销故障的注入操作时,根据故障参数撤销目标故障的注入操作。
第六方面,提供了一种用于故障注入的装置,装置包括:
获取模块,用于获取故障集合,故障集合中包括至少一种类型的故障;
发送模块,用于将故障集合发送给分析器。
在示例性实施例中,接收模块,用于接收分析器发送的更新后的故障集合;发送模块,还用于将更新后的故障集合发送给其他分析器。
第七方面,提供了一种分析器,分析器包括存储器及处理器;存储器中存储有至少一条指令,至少一条指令由处理器加载并执行,以实现本申请第一方面或第一方面的任一种示例性实施例所提供的方法。
第八方面,提供了一种网络设备,网络设备包括存储器及处理器;存储器中存储有至少一条指令,至少一条指令由处理器加载并执行,以实现本申请第二方面或第二方面的任一种示例性实施例所提供的方法。
第九方面,提供了一种服务器,服务器包括存储器及处理器;存储器中存储有至少一条指令,至少一条指令由处理器加载并执行,以实现本申请第三方面或第三方面的任一种示例性实施例所提供的方法。
第十方面,提供了一种通信装置,该装置包括:收发器、存储器和处理器。其中,该收发器、该存储器和该处理器通过内部连接通路互相通信,该存储器用于存储指令,该处理器用于执行该存储器存储的指令,以控制收发器接收信号,并控制收发器发送信号,并且当该处理器执行该存储器存储的指令时,使得该处理器执行第一方面或第一方面的任一种示例性实施例所提供的方法。
第十一方面,提供了一种通信装置,该装置包括:收发器、存储器和处理器。其中,该收发器、该存储器和该处理器通过内部连接通路互相通信,该存储器用于存储指令,该处理器用于执行该存储器存储的指令,以控制收发器接收信号,并控制收发器发送信号,并且当该处理器执行该存储器存储的指令时,使得该处理器执行第二方面或第二方面的任一种示例性实施例所提供的方法。
第十二方面,提供了一种通信装置,该装置包括:收发器、存储器和处理器。其中,该收发器、该存储器和该处理器通过内部连接通路互相通信,该存储器用于存储指令,该处理器用于执行该存储器存储的指令,以控制收发器接收信号,并控制收发器发送信号,并且当该处理器执行该存储器存储的指令时,使得该处理器执行第三方面或第三方面的任一种示例性实施例所提供的方法。
可选地,处理器为一个或多个,存储器为一个或多个。
可选地,存储器可以与处理器集成在一起,或者存储器与处理器分离设置。
在具体实现过程中,存储器可以为非瞬时性(non-transitory)存储器,例如只读存储器(read only memory,ROM),其可以与处理器集成在同一块芯片上,也可以分别设置在不同的芯片上,本申请实施例对存储器的类型以及存储器与处理器的设置方式不做限定。
第十三方面,提供了一种用于故障注入的系统,系统包括至少一个分析器及至少一个网络设备,该至少一个分析器与一个或多个网络设备通信连接。
分析器用于执行上述第一方面任一所述的用于故障注入的方法,网络设备用于执行上述第二方面任一所述的用于故障注入的方法。
在示例性实施例中,该用于故障注入的系统还包括服务器,该服务器与至少一个分析器通信连接,服务器用于执行第三方面任一所述的用于故障注入的方法。
第十四方面,提供了一种计算机程序(产品),所述计算机程序(产品)包括:计算机程序代码,当所述计算机程序代码被计算机运行时,使得所述计算机执行上述各方面中的方法。
第十五方面,提供了一种可读存储介质,可读存储介质存储程序或指令,当所述程序或指令在计算机上运行时,上述各方面中的方法被执行。
第十六方面,提供了一种芯片,包括处理器,用于从存储器中调用并运行所述存储器中存储的指令,使得安装有所述芯片的通信设备执行上述各方面中的方法。
第十七方面,提供一种芯片,包括:输入接口、输出接口、处理器和存储器,所述输入接口、输出接口、所述处理器以及所述存储器之间通过内部连接通路相连,所述处理器用于执行所述存储器中的代码,当所述代码被执行时,所述处理器用于执行上述各方面中的方法。
附图说明
图1为本申请实施例提供的相关技术中进行故障注入的结构示意图;
图2为本申请实施例提供的用于故障注入的系统的结构示意图;
图3为本申请实施例提供的用于故障注入的系统的结构示意图;
图4为本申请实施例提供的用于故障注入的方法的流程图;
图5为本申请实施例提供的用于故障注入的方法的流程图;
图6为本申请实施例提供的故障注入标识及故障参数示意图;
图7为本申请实施例提供的用于故障注入的方法的流程图;
图8为本申请实施例提供的用于故障注入的方法的流程图;
图9为本申请实施例提供的故障撤销标识及故障参数示意图;
图10为本申请实施例提供的用于故障注入的方法的流程图;
图11为本申请实施例提供的用于故障注入的装置的结构示意图;
图12为本申请实施例提供的用于故障注入的装置的结构示意图;
图13为本申请实施例提供的用于故障注入的装置的结构示意图;
图14为本申请实施例提供的用于故障注入的设备的结构示意图。
具体实施方式
本申请的实施方式部分使用的术语仅用于对本申请的具体实施例进行解释,而非旨在限定本申请。
随着互联网技术的发展,网络设备在人们生活中的应用也越来越多。在网络设备的应用过程中,往往会人为地将故障注入网络设备来提高网络设备应对故障的能力,以期在故障真正发生时,网络设备能够及时正确地对故障进行处理,从而避免网络设备由于故障而发生失效。因此,如何进行故障注入,是保证网络设备具有故障应对能力的关键。
相关技术中进行故障注入的过程可参见图1。在图1中,对于待注入故障的网络设备,首先在测试执行机上注册该网络设备的相关信息,再将用于实现一种或多种故障的代理程序部署至该网络设备。之后,测试执行机便可通过安全外壳协议(secure shell,SSH)通道以及远程终端协议(Telnet)向网络设备发送任一种故障的注入指令,网络设备可通过命令行界面(command line interface)将该注入指令转换为网络设备可理解的指令,以便于网络设备执行转换后的指令。在执行过程中,网络设备可根据转换后的指令调用代理程序,再运行所调用的代理程序来注入故障,从而完成故障注入的过程。
然而,上述SSH通道往往仅存在于网络设备的开发阶段。在网络设备被接入运营商网络之后,则会出于安全性的考量关闭SSH通道。也就是说,相关技术所提供的故障注入方法仅适用于网络设备的开发阶段。因此,相关技术的适用性较差,具有较大的局限性。
对此,本申请实施例提供了一种用于故障注入的方法,该方法可应用于图2所示的用于故障注入的系统中。由图2可知,用于故障注入的系统包括服务器、分析器及网络设备,分析器及网络设备的数量均为多个,一个分析器及一个或多个网络设备可以组成一个数据中心网络(data center network,DCN),DCN是数据中心(data center,DC)的网络部分。除DCN外,DC还可包括用于计算、存储的其他模块。如图2所示,以该用于故障注入的系统包括两个数据中心网络为例,一个分析器和一个或多个网络设备组成DCN存在于DC1,另一个分析器和另一个或多个网络设备组成DCN存在于DC2。服务器与每个分析器分别通信连接,每个分析器均与一个或多个网络设备通信连接。
其中,服务器部署有统一控制中心,统一控制中心用于对故障集合进行获取及管理。分析器部署有故障注入控制平台,网络设备部署有故障注入代理(agent),该故障注入控制平台与故障注入代理可建立网络配置协议(network configuration protocol,Netconf)会话,以便于通过Netconf进行故障注入。
示例性地,分析器可获取网络设备注入故障之后的运行情况,通过故障注入控制平台根据该运行情况来更新故障集合,得到更新后的故障集合,分析器可将该更新后的故障集合发送给服务器。服务器在接收到更新后的故障集合之后,通过统一控制中心将该更新后的故障集合发送给其他分析器,以便于实现各分析器中故障集合的批量更新。例如,在图2中,DC1中的分析器将更新后的故障集合发送给了服务器,则服务器将该更新后的故障集合再发送给DC2中的分析器,从而实现了DC1及DC2中分析器的同步更新。
参见图3,分析器除了部署有故障注入控制平台之外,还部署有Netconf客户端,故障注入控制台用于确定目标故障以及故障参数,Netconf客户端用于根据样(Yang)模型所定义的数据格式生成第一远程过程调用(remote procedure call,RPC)指令。网络设备除了部署有故障注入代理(agent)之外,还部署有Netconf服务器、业务模块以及操作系统。需要说明的是,业务模块是承载网络设备业务功能的应用软件,而操作系统是管理网络设备硬件及软件资源的系统软件,应用程序需在操作系统上运行。
其中,Netconf服务器用于接收Netconf客户端发送的第一RPC指令并进行解析,将解析得到的故障参数发送给故障注入代理。故障注入代理用于根据故障参数在业务模块及操作系统中注入不同类型的故障,从而完成故障注入。在完成故障注入之后,Netconf服务器还可以向Netconf客户端发送故障注入结果,该故障注入结果即为RPC的反馈信息(RPC-Reply)。
基于图2及图3所示的用于故障注入的系统,本申请实施例提供了一种用于故障注入的方法。如图4所示,该方法包括如下过程:
步骤401,分析器确定需要向目标网络设备注入的目标故障。
其中,目标故障可以是网络类故障、中央处理器(central processing unit,CPU)类故障、内存类故障、系统类故障、进程类故障、文件类故障以及业务类故障中任一类型的故障。例如,网络类故障可包括丢包、网络延时等,CPU类故障可包括CPU的使用率为100%(也称为CPU过载)、CPU持续处于等待状态而无法正常运行(也称为CPU挂死)等。内存类故障可包括内存的使用率为100%(也称为内存过载)、内存泄漏等,系统类故障可包括系统崩溃等,进程类故障可包括进程异常退出、进程僵尸状态等。文件类故障可包括文件无法访问、文件句柄耗尽等,文件句柄是指用于对文件进行唯一标识的顺序号。业务类故障可包括业务组件之间无法正常收发消息、业务中断等等。示例性地,分析器可以先确定需要向目标网络设备注入的目标故障的类型,再从该类型中选择出一个或多个故障作为目标故障。
在示例性实施例中,可以由服务器获取故障集合,将故障集合发送给分析器,该故障集合内包括至少一种类型的故障。相应地,分析器从服务器获取故障集合,从故障集合中确定需要向目标网络设备注入的目标故障。
对于服务器获取故障集合的方式,可以由工作人员根据经验或实际需要在服务器上进行配置,从而使得服务器获取到故障集合。或者,也可以通过该服务器从其他服务器调用已有的故障集合来进行获取,还可以在所调用的故障集合的基础上进行更新,从而实现故障集合的获取。无论通过何种方式获取到故障集合,在获取到故障集合之后,便可将获取到的故障集合发送给分析器。在传输过程中,服务器可根据传输协议将故障集合发送给分析器。本实施例不对服务器所使用的传输协议加以限定,该传输协议可例如为超文本传输协议(hyper text transfer protocol,HTTP)。
由于故障集合包括一种或多种类型的故障,因而分析器在基于故障集合确定目标故障的过程中,可以从故障集合中选择出待注入的故障,从而将选择出的故障作为目标故障。在分析器从故障集合中进行选择时,可以将故障集合所包括的每个故障依次选择为目标故障。由此,可以对所有类型的故障依次进行故障注入,以便于目标网络设备具有应对各种类型的故障的能力。或者,分析器也可以根据目标网络设备的实际情况,具有针对性的选择故障集合中任意一种或多种类型的故障或任意一个或多个故障作为目标故障。
对于后一种进行选择的情况,可以根据目标网络设备的软件版本及硬件性能来选择得到目标故障。目标网络设备的任一软件版本越高(或硬件性能越好),则说明目标网络设备应对该软件(硬件)所对应的类型的故障的能力越强。因此,在软件版本(或硬件性能)高于阈值的情况下,则可以不将该软件(硬件)所对应的类型的故障作为目标故障,或是仅将该软件(硬件)所对应的类型的故障中不大于参考数量的故障作为目标故障。其中,参考数量可以是一个、两个或更多个,本实施例不对参考数量加以限定。
以目标网络设备中的CPU为例,CPU的性能越好,则说明目标网络设备应对CPU类故障的能力就越强。因此,响应于CPU性能高于阈值,则可以不选择CPU类故障作为目标故障,或者从CPU类故障中选择不大于参考数量个的故障作为目标故障。以参考数量取1为例,CPU类故障包括CPU过载、CPU挂死等多个故障,则在进行选择的过程中,可以仅选择CPU类故障中的CPU过载或者CPU挂死作为目标故障,而不是将CPU类故障所包括的所有故障均作为目标故障。
除了根据目标网络设备的软件版本及硬件性能选择得到目标故障以外,分析器还可以根据目标网络设备的实际运行情况来选择得到目标故障。其中,目标网络设备在运行过程中针对何种类型的故障进行过报错,则说明目标网络设备应对该种类型故障的能力较弱。因此,可以将该种类型的故障作为目标故障,以便于提高目标网络设备应对该种类型故障的能力。在示例性实施例中,对于目标网络设备报错次数超过参考次数的故障,分析器还可以两次或多次选择该故障作为目标故障。
在示例性实施例中,分析器基于故障集合确定目标故障之前,本申请实施例提供的方法还包括:目标网络设备获取能力信息,能力信息用于指示目标网络设备是否具有注入故障的相关能力,该注入故障的相关能力包括注入故障的能力,或者,该注入故障的相关能力包括注入故障的能力和撤销故障注入的能力。目标网络设备将能力信息发送给分析器。分析器接收目标网络设备发送的能力信息,响应于该能力信息指示目标网络设备具有注入故障的相关能力,再执行确定需要向目标网络设备注入的目标故障的操作。
参见图5中的步骤501-503,目标网络设备中部署的Netconf服务器与分析器中部署的Netconf客户端通信连接之后,Netconf服务器可将能力信息发送给Netconf客户端,则Netconf客户端可根据能力信息来确定目标网络设备是否注入故障的相关能力。示例性地,注入故障的相关能力包括故障注入的能力,或者故障注入的能力及撤销故障的能力,能力信息可以通过不同标识来对目标网络设备的故障注入的能力及撤销故障的能力进行指示。例如,能力信息为1时,指示目标网络设备具有故障注入的能力及撤销故障的能力。能力信息为0时,指示目标网络设备不具有故障注入的能力及撤销故障的能力。或者,能力信息也可以对故障注入的能力及故障撤销的能力进行区分。例如,通过00指示目标网络设备不具有故障注入的能力及撤销故障的能力,通过01指示目标网络设备具有故障注入的能力而不具有撤销故障的能力,通过10指示目标网络设备具有故障注入的能力及撤销故障的能力。
在该实施例中,分析器在确定目标网络设备具备注入故障的相关能力的情况下,才基于故障集合确定目标故障,以便于后续将所确定的目标故障注入目标网络设备之后,目标网络设备确实能够执行注入故障的操作,避免由于目标网络设备无法执行注入故障的操作而导致的处理资源的浪费。
在该实施例中,而响应于目标网络设备不具备故障注入的能力,则说明目标网络设备不适用于注入目标故障,因此可不再基于故障集合确定目标故障,从而避免了处理资源的浪费。
步骤402,分析器确定目标故障的故障参数,生成第一RPC指令。
其中,故障参数是用于描述目标故障的数据。在示例性实施例中,故障参数至少包括目标故障的故障类型以及故障对象,故障对象是用于产生该目标故障的对象。例如,目标故障的类型为内存类故障,则相应的故障对象即为目标网络设备的内存。在确定出故障对象之后,响应于故障对象可进一步区分为多个子对象,则说明目标故障可由多个子对象中的任一个子对象产生。因此,还需要从多个子对象中确定出一个子对象。每个子对象可对应一个对象标识,以便于对不同子对象进行区分。因此,在确定出子对象之后,可将该子对象对应的对象标识也作为上述故障参数。例如,目标故障的类型为CPU类故障,则故障对象即为CPU。由于CPU可包括多个核,每个核都可作为一个子对象,任一个子对象均可以产生该CPU类故障,因而可从多个核中确定出一个核,将所确定核的对象标识作为故障参数。
另外,在示例性实施例中,分析器还可以针对目标故障确定故障程度,以便于对不同程度的故障进行注入,所确定的故障程度也可以作为上述故障参数。其中,对于不同的目标故障,用于指示故障程度的数据也有所不同。例如,目标故障为内存泄漏,则可通过内存泄漏大小来指示故障程度。内存泄漏的越大,说明故障越严重。而在目标故障为网络延时的情况下,则通过延时时长来指示故障程度。延时时长越长,则说明故障越严重。示例性地,对于同一目标故障,分析器可先对目标网络设备注入程度较轻的目标故障,再对目标网络设备注入程度较严重的目标故障,以起到较好的注入效果。
基于以上考量,针对不同类型的目标故障所确定的故障参数可以包括但不限于:
网络类故障:故障类型、故障对象、故障百分比、延时时间、网际互联协议(Internet protocol,IP)以及端口等。
进程类故障:故障类型、故障对象、对象标识、进程数以及线程数等。
CPU故障:故障类型、故障对象、对象标识、使用率等。
文件类故障:故障类型、故障对象、操作类型以及文件大小等。
内存类故障:故障类型、故障对象、泄露内存大小、内存空间大小等。
在确定故障参数之后,还需要生成第一RPC指令,该第一RPC指令中除了包括故障参数以外,还包括故障注入标识,该故障注入标识用于指示目标网络设备进行故障注入。故障注入标识是针对Netconf协议进行扩展得到的标识,本实施例不对故障注入标识加以限定。例如,故障注入标识可以为fault-inject(故障-注入),也可以是其他能够表示故障注入的标识。另外,参见图5中的步骤504,由于采用了Netconf协议,因此Netconf客户端需要按照Netconf协议选用的下一代建模语言(yet another next generation,Yang)模型对第一RPC指令进行描述。其中,YANG模型定义了一种数据格式,第一RPC指令即为符合YANG模型定义的数据格式的指令。
以目标故障为CPU中0核发生过载为例,涉及到的故障注入标识及故障参数可参见图6。按照Yang模型描述的第一RPC指令如下:
Figure BDA0002396266380000081
Figure BDA0002396266380000091
步骤403,分析器向目标网络设备发送第一RPC指令,通过第一RPC指令指示目标网络设备注入目标故障。
参见图5中的步骤505,在分析器得到第一RPC指令之后,便可以通过部署的Netconf客户端将所得到的第一RPC指令发送给目标网络设备,以便于目标网络设备根据接收到的第一RPC指令进行目标故障的注入,从而完成故障注入的过程。
步骤404,目标网络设备接收分析器发送的第一RPC指令。
由于分析器对第一RPC指令进行了发送,因而目标网络设备可相应地接收到第一RPC指令。如前所述,该第一RPC指令中包括故障参数以及故障注入标识,目标网络设备可根据第一RPC指令中的故障参数以及故障注入标识实现目标故障的注入,详见步骤405。
步骤405,目标网络设备解析第一RPC指令,得到故障注入标识及故障参数。
其中,参见图5中的步骤506及507,目标网络设备通过Netconf服务器对第一RPC指令进行解析,便可得到第一RPC指令所包括的故障注入标识及故障参数。在Netconf服务器通过解析得到故障参数之后,根据故障注入标识确定需要注入故障时,将故障参数发送给目标网络设备中部署的故障注入代理,以便于故障注入代理根据接收到的故障参数注入目标故障。
以步骤402中举例的第一RPC指令为例,目标网络设备在解析第一RPC指令的过程中,首先得到故障注入标识fault-inject,据此确定需要注入故障。之后,便可根据<fault-mode>cpu overload</fault-mode>确定故障类型为CPU过载,根据<target-name>cpu</target-name>确定故障对象为CPU,根据<cpuid>0</cpuid>确定对象标识为0,该对象标识所指示的是CPU的0核,再根据<usage>100</usage>确定CPU的使用率为100%。最后,目标网络设备还会根据读取到的</fault-inject>确定已得到所有的故障参数。因此,目标网络设备可进一步将上述故障类型、故障对象、对象标识以及使用率作为故障参数。可以理解的是,上述故障参数描述了CPU中0核发生过载这一目标故障,因而目标网络设备可根据故障注入确定需要注入故障时,根据故障参数注入CPU中0核发生过载这一目标故障。
步骤406,目标网络设备根据故障注入标识确定需要注入故障时,根据故障参数注入目标故障。
在目标网络设备读取到故障注入标识之后,便可确定需要进行目标故障的注入。因此,目标网络设备便可根据故障参数中的故障对象以及对象标识确定用于产生故障的对象,针对所确定的对象按照故障程度以及故障类型来进行目标故障的注入。参见图5中的步骤508,目标网络设备通过部署的故障注入代理来注入目标故障。另外,故障注入代理还可将故障注入结果返回给Netconf服务器,而Netconf服务器进一步将故障注入结果上报至分析器中的Netconf客户端,从而使得分析器可根据故障注入结果确定目标网络设备是否已注入目标故障。
仍以步骤402中举例的第一RPC指令为例,参见图7中的步骤701-705,根据故障类型为CPU过载,故障对象为CPU,对象标识为0以及使用率为100%的故障参数,故障注入代理可理解待注入的目标故障为CPU 0核过载。因此,故障注入代理通过不断申请占用0核的CPU资源注入0核过载的效果,从而完成目标故障的注入。
在示例性实施例中,参见目标网络设备根据故障参数注入目标故障之后,方法还包括:获取运行信息,运行信息用于指示目标网络设备注入目标故障之后的运行情况,将运行信息发送给分析器。相应地,分析器接收目标网络设备发送的运行信息,根据运行信息更新故障集合,得到更新后的故障集合。之后,分析器将更新后的故障集合发送给服务器。服务器则接收分析器发送的更新后的故障集合,将更新后的故障集合发送给其他分析器。
其中,分析器通过运行信息可以得知目标网络设备注入目标故障之后的运行情况,从而可根据运行情况判断故障注入后目标网络设备中的系统恢复能力及业务影响情况,进而确定目标网络设备应对目标故障的能力。示例性地,该运行信息也是基于YANG模型进行描述的信息之后,分析器可根据目标网络设备应对目标故障的能力来确定是否需要对故障集合进行更新,更新过程例如对故障集合所包括的故障进行增加、删除或者修改,或者加强对故障集合中某一故障的注入。示例性地,加强对故障集合中某一故障的注入是指:再次对该故障进行注入,以通过次数的积累增强目标网络设备应对该故障的能力。或者,在注入时增大该故障的故障程度,以通过难度的积累增强目标网络设备应对该故障的能力。
响应于故障集合需要进行更新,则分析器将更新后的故障集合发送给服务器。由于服务器与多个分析器通信连接,因而服务器可将更新后的故障集合发送给当前分析器以外的其他分析器。在服务器发送更新后的故障集合的过程中,服务器可向当前分析器以外的全部分析器均发送更新后的故障集合,也可以在全部分析器中选择一部分分析器发送更新后的故障集合。
示例性地,服务器可以根据与其他分析器通信连接的网络设备与目标网络设备的相似性来进行选择。若与其他分析器通信连接的网络设备与目标网络设备的相似性高于阈值,则说明与其他分析器通信连接的网络设备应对故障的能力也与目标网络设备较为相似。因此,基于目标网络设备得到的更新后的故障集合也适用于这些与目标网络设备的相似性高于阈值的网络设备。因此,服务器可以选择将更新后的故障集合发送给这些与目标网络设备的相似性高于阈值的网络设备。无论服务器通过何种方式发送更新后的故障集合,均可实现多个分析器中的故障集合的批量更新,而无需对各个分析器进行单独更新,因而避免了单独更新每个分析器所导致的处理资源的浪费。
在示例性实施例中,参见图8中的步骤509-513,分析器将第一RPC指令发送给目标网络设备之后,方法还包括:分析器生成第二RPC指令,第二RPC指令包括故障参数及故障撤销标识,向目标网络设备发送第二RPC指令,通过第二RPC指令指示目标网络设备撤销目标故障的注入操作。相应地,目标网络设备接收分析器发送的第二RPC指令。之后,目标网络设备,解析第二RPC指令,得到故障撤销标识得到故障参数,根据故障撤销标识确定需要撤销故障的注入操作时,根据故障参数撤销目标故障的注入操作。
第二RPC指令也是针对Netconf协议进行扩展得到的标识,本实施例不对故障注入标识加以限定。例如,故障注入标识可以为fault-clear(故障-撤销),也可以是其他能够表示故障撤销的形标识。示例性地,该第二RPC指令基于YANG模型进行描述,也就是说,第二RPC指令满足YANG模型定义的数据格式。仍以目标故障为CPU中0核发生过载为例,涉及到的故障撤销标识及故障参数可参见图9。按照Yang模型所定义的数据格式描述得到的第二RPC指令如下:
Figure BDA0002396266380000101
Figure BDA0002396266380000111
如图10中的步骤706-710所示,在目标网络设备接收到该第二RPC指令之后,通过Netconf服务器解析第二RPC指令得到故障参数,通过故障注入代理根据故障参数执行目标故障的撤销,故障注入代理可通过释放0核的CPU处理资源来实现故障的撤销。参见图6。在实现故障撤销之后,目标网络设备还可以将故障撤销结果返回至分析器,该故障撤销结果用于指示目标故障是否被成功撤销。
可以理解的是,目标网络设备对目标故障的撤销可以分为两种情况,第一种情况是目标网络在收到第一RPC指令之后,还未开始进行故障注入便接收到第二RPC指令,则目标网络可以终止故障注入操作的启动。第二种情况则是目标网络设备在收到第一RPC指令之后已开始进行故障注入,在注入故障期间或者已完成故障注入之后才接收到第二RPC指令,因而目标网络设备需要对已注入的部分或全部故障进行撤销。
综上所述,本申请实施例通过确定待注入给目标网络设备的目标故障,根据该目标故障的故障参数以及用于指示进行故障注入的故障注入标识生成第一RPC指令。之后,通过发送生成的第一RPC指令即可指示目标网络设备进行故障注入,而无需依赖于SSH通道。该方法不仅适用于目标网络设备的开发阶段,还适用于目标网络设备接入运营商网络之后的运行阶段,适用性较强。
如图11所示,本申请实施例提供了一种用于故障注入的装置。该装置应用于分析器,该分析器为图2-图4中任一附图所述的分析器,基于图11所示的如下多个模块,该图11所示的故障注入装置能够执行分析器所执行的全部或部分操作。参见图11,该装置包括:
第一确定模块1101,用于确定需要向目标网络设备注入的目标故障;
第二确定模块1102,用于确定目标故障的故障参数;
生成模块1103,用于生成第一RPC指令,第一RPC指令包括故障参数及故障注入标识,故障注入标识用于指示进行故障注入;
发送模块1104,用于向目标网络设备发送第一RPC指令,通过第一RPC指令指示目标网络设备注入目标故障。
在示例性实施例中,装置还包括:获取模块,用于从服务器获取故障集合,故障集合中包括至少一种类型的故障;第三确定模块,用于从故障集合中确定需要向目标网络设备注入的目标故障。
在示例性实施例中,装置还包括:第一接收模块,用于接收目标网络设备发送的运行信息,运行信息用于指示目标网络设备在注入目标故障之后的运行情况;更新模块,用于根据运行信息更新故障集合,得到更新后的故障集合;发送模块1104,还用于将更新后的故障集合发送给服务器,更新后的故障集合用于服务器发送给其他分析器。
在示例性实施例中,装置还包括:第二接收模块,用于接收目标网络设备发送的能力信息,能力信息指示目标网络设备是否具有注入故障的能力。第一确定模块1101,用于响应于能力信息指示目标网络设备具有注入故障的能力,执行确定需要向目标网络设备注入的目标故障的操作。
在示例性实施例中,生成模块1103,还用于生成第二RPC指令,第二RPC指令包括故障参数及故障撤销标识,故障撤销标识用于指示撤销故障注入;发送模块1104,还用于向目标网络设备发送第二RPC指令,通过第二RPC指令指示目标网络设备撤销目标故障的注入操作。
在示例性实施例中,第二RPC指令基于下一代建模语言YANG模型进行描述。
在示例性实施例中,第一RPC指令基于下一代建模语言YANG模型进行描述。
参见图12,本实施例提供了一种用于故障注入的装置。该装置应用于网络设备,该网络设备为图2-图4中任一附图所述的网络设备,基于图12所示的如下多个模块,该图12所示的故障注入装置能够执行网络设备所执行的全部或部分操作。装置包括:
接收模块1201,用于接收分析器发送的第一RPC指令,第一RPC指令包括目标故障的故障参数以及故障注入标识;
解析模块1202,用于解析第一RPC指令,得到故障注入标识及故障参数;
注入模块1203,用于根据故障注入标识确定需要注入故障时,根据故障参数注入目标故障。
在示例性实施例中,装置还包括:第一获取模块,用于获取运行信息,运行信息用于指示目标网络设备注入目标故障之后的运行情况;第一发送模块,用于将运行信息发送给分析器。
在示例性实施例中,装置还包括:第二获取模块,用于获取能力信息,能力信息用于指示目标网络设备是否具有注入故障的能力;第二发送模块,用于将能力信息发送给分析器。
在示例性实施例中,装置还包括:接收模块,还用于接收分析器发送的第二RPC指令,第二RPC指令包括故障参数以及故障撤销标识;解析模块1202,还用于解析第二RPC指令,得到故障参数及故障撤销标识;装置还包括:撤销模块,用于根据故障撤销标识确定需要撤销故障的注入操作时,根据故障参数撤销目标故障的注入操作。
参见图13,本实施例提供了一种用于故障注入的装置。该装置应用于服务器,该服务器为图2-图4中任一附图所述的服务器,基于图13所示的如下多个模块,该图13所示的故障注入装置能够执行服务器所执行的全部或部分操作。装置包括:
获取模块1301,用于获取故障集合,故障集合中包括至少一种类型的故障;
发送模块1302,用于将故障集合发送给分析器。
在示例性实施例中,接收模块,用于接收分析器发送的更新后的故障集合;发送模块,还用于将更新后的故障集合发送给其他分析器。
综上所述,本申请实施例通过确定待注入给目标网络设备的目标故障,根据该目标故障的故障参数以及用于指示进行故障注入的故障注入标识生成第一RPC指令。之后,通过发送生成的第一RPC指令即可指示目标网络设备进行故障注入,而无需依赖于SSH通道。该方法不仅适用于目标网络设备的开发阶段,还适用于目标网络设备接入运营商网络之后的运行阶段,适用性较强。
应理解的是,上述图11-13提供的装置在实现其功能时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的装置与方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
本申请实施例提供了一种分析器,分析器包括存储器及处理器;存储器中存储有至少一条指令,至少一条指令由处理器加载并执行,以实现本申请的任一种示例性实施例所提供的方法。
本申请实施例提供了一种网络设备,网络设备包括存储器及处理器;存储器中存储有至少一条指令,至少一条指令由处理器加载并执行,以实现本申请的任一种示例性实施例所提供的方法。
本申请实施例提供了一种服务器,服务器包括存储器及处理器;存储器中存储有至少一条指令,至少一条指令由处理器加载并执行,以实现本申请的任一种示例性实施例所提供的方法。
参见图14,本申请实施例还提供一种用于故障注入的设备1400,图14所示的用于故障注入的设备1400用于执行上述用于故障注入的方法所涉及的操作。该用于故障注入的设备1400包括:存储器1401、处理器1402及接口1403,存储器1401、处理器1402及接口1403之间通过总线1404连接。
其中,存储器1401中存储有至少一条指令,至少一条指令由处理器1402加载并执行,以实现上述任一所述的用于故障注入的方法。
接口1403用于与网络中的其他设备进行通信,该接口1403可以通过无线或有线的方式实现,示例性地,该接口1403可以是网卡。例如,用于故障注入的设备1400可通过该接口1403与其他设备进行通信。
例如,图14所示的用于故障注入的设备1400为图2-图4中的分析器,处理器1402读取存储器1401中的指令,使图14所示的用于故障注入的设备1400能够执行分析器所执行的全部或部分操作。
又例如,图14所示的用于故障注入的设备1400为图2-图4中的网络设备,处理器1402读取存储器1401中的指令,使图14所示的用于故障注入的设备1400能够执行网络设备所执行的全部或部分操作。
图14所示的用于故障注入的设备1400为图2-图4中的服务器,处理器1402读取存储器1401中的指令,使图14所示的用于故障注入的设备1400能够执行服务器所执行的全部或部分操作。
应理解的是,图14仅仅示出了用于故障注入的设备1400的简化设计。在实际应用中,用于故障注入的设备1400可以包含任意数量的接口,处理器或者存储器。此外,上述处理器可以是中央处理器(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(digital signal processing,DSP)、专用集成电路(application specificintegrated circuit,ASIC)、现场可编程门阵列(field-programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者是任何常规的处理器等。值得说明的是,处理器可以是支持进阶精简指令集机器(advanced RISC machines,ARM)架构的处理器。
进一步地,在一种可选的实施例中,上述存储器可以包括只读存储器和随机存取存储器,并向处理器提供指令和数据。存储器还可以包括非易失性随机存取存储器。例如,存储器还可以存储设备类型的信息。
本申请实施例提供了一种通信装置,该装置包括:收发器、存储器和处理器。其中,该收发器、该存储器和该处理器通过内部连接通路互相通信,该存储器用于存储指令,该处理器用于执行该存储器存储的指令,以控制收发器接收信号,并控制收发器发送信号,并且当该处理器执行该存储器存储的指令时,使得该处理器执行分析器所需执行的方法。
本申请实施例提供了一种通信装置,该装置包括:收发器、存储器和处理器。其中,该收发器、该存储器和该处理器通过内部连接通路互相通信,该存储器用于存储指令,该处理器用于执行该存储器存储的指令,以控制收发器接收信号,并控制收发器发送信号,并且当该处理器执行该存储器存储的指令时,使得该处理器执行目标网络设备所需执行的方法。
本申请实施例提供了一种通信装置,该装置包括:收发器、存储器和处理器。其中,该收发器、该存储器和该处理器通过内部连接通路互相通信,该存储器用于存储指令,该处理器用于执行该存储器存储的指令,以控制收发器接收信号,并控制收发器发送信号,并且当该处理器执行该存储器存储的指令时,使得该处理器执行服务器所需执行的方法。
可选地,处理器为一个或多个,存储器为一个或多个。
可选地,存储器可以与处理器集成在一起,或者存储器与处理器分离设置。
在具体实现过程中,存储器可以为非瞬时性(non-transitory)存储器,例如只读存储器(read only memory,ROM),其可以与处理器集成在同一块芯片上,也可以分别设置在不同的芯片上,本申请实施例对存储器的类型以及存储器与处理器的设置方式不做限定。
本申请实施例提供了一种用于故障注入的系统,该系统包括至少一个分析器及至少一个网络设备,该至少一个分析器与一个或多个网络设备通信连接。
在示例性实施例中,该用于故障注入的系统还包括服务器,该服务器与至少一个分析器通信连接。
其中,分析器、网络设备及服务器用于故障注入的方法可参见上述图2-图4所示实施例的相关描述,此处不再赘述。
本申请实施例提供了一种计算机程序(产品),计算机程序(产品)包括:计算机程序代码,当计算机程序代码被计算机运行时,使得计算机执行上述任一种示例性实施例所提供的方法。
本申请实施例提供了一种可读存储介质,可读存储介质存储程序或指令,当程序或指令在计算机上运行时,上述的任一种示例性实施例所提供的方法被执行。
本申请实施例供了一种芯片,包括处理器,用于从存储器中调用并运行存储器中存储的指令,使得安装有芯片的通信设备执行本申请的任一种示例性实施例所提供的方法。
本申请实施例提供一种芯片,包括:输入接口、输出接口、处理器和存储器,输入接口、输出接口、处理器以及存储器之间通过内部连接通路相连,处理器用于执行存储器中的代码,当代码被执行时,处理器用于执行本申请的任一种示例性实施例所提供的方法。
应理解的是,上述处理器可以是中央处理器(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(digital signal processing,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现场可编程门阵列(field-programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者是任何常规的处理器等。值得说明的是,处理器可以是支持进阶精简指令集机器(advanced RISC machines,ARM)架构的处理器。
进一步地,在一种可选的实施例中,上述存储器可以包括只读存储器和随机存取存储器,并向处理器提供指令和数据。存储器还可以包括非易失性随机存取存储器。例如,存储器还可以存储设备类型的信息。
该存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用。例如,静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(dynamic random access memory,DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data dateSDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(directrambus RAM,DR RAM)。
本申请提供了一种计算机程序,当计算机程序被计算机执行时,可以使得处理器或计算机执行上述方法实施例中对应的各个步骤和/或流程。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid StateDisk)等。
以上所述仅为本申请的实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (29)

1.一种用于故障注入的方法,其特征在于,所述方法应用于分析器,所述方法包括:
根据目标网络设备的软件版本和硬件性能,从故障集合中确定需要向所述目标网络设备注入的目标故障;
确定所述目标故障的故障参数,所述故障参数包括所述目标故障的故障类型、故障对象、对象标识和用于指示故障程度的数据,所述对象标识对应所述故障对象包括的子对象;
生成第一远程过程调用RPC指令,所述第一RPC指令包括所述故障参数及故障注入标识,所述故障注入标识用于指示进行故障注入;
向所述目标网络设备发送所述第一RPC指令,通过所述第一RPC指令指示所述目标网络设备注入所述目标故障。
2.根据权利要求1所述的方法,其特征在于,所述根据目标网络设备的软件版本和硬件性能,从故障集合中确定需要向所述目标网络设备注入的目标故障之前,所述方法还包括:
从服务器获取所述故障集合,所述故障集合中包括至少一种类型的故障。
3.根据权利要求2所述的方法,其特征在于,所述向所述目标网络设备发送所述第一RPC指令之后,所述方法还包括:
接收所述目标网络设备发送的运行信息,所述运行信息用于指示所述目标网络设备在注入所述目标故障之后的运行情况;
根据所述运行信息更新所述故障集合,得到更新后的故障集合;
向所述服务器发送所述更新后的故障集合,所述更新后的故障集合用于所述服务器发送给其他分析器。
4.根据权利要求1-3任一所述的方法,其特征在于,所述根据目标网络设备的软件版本和硬件性能,从故障集合中确定需要向所述目标网络设备注入的目标故障之前,所述方法还包括:
接收所述目标网络设备发送的能力信息,所述能力信息指示所述目标网络设备是否具有注入故障的能力;
响应于所述能力信息指示所述目标网络设备具有注入故障的能力,执行所述从故障集合中确定需要向所述目标网络设备注入的目标故障的操作。
5.根据权利要求1-3任一所述的方法,其特征在于,所述向所述目标网络设备发送所述第一RPC指令之后,所述方法还包括:
生成第二RPC指令,所述第二RPC指令包括所述故障参数及故障撤销标识,所述故障撤销标识用于指示撤销故障注入;
向所述目标网络设备发送所述第二RPC指令,通过所述第二RPC指令指示所述目标网络设备撤销所述目标故障的注入操作。
6.根据权利要求5所述的方法,其特征在于,所述第二RPC指令基于下一代建模语言YANG模型进行描述。
7.根据权利要求1-3、6任一所述的方法,其特征在于,所述第一RPC指令基于下一代建模语言YANG模型进行描述。
8.一种用于故障注入的方法,其特征在于,所述方法应用于目标网络设备,所述方法包括:
接收分析器发送的第一远程过程调用RPC指令,所述第一RPC指令包括目标故障的故障参数以及故障注入标识,所述目标故障由所述分析器根据所述目标网络设备的软件版本和硬件性能从故障集合中确定,所述故障参数包括所述目标故障的故障类型、故障对象、对象标识和用于指示故障程度的数据,所述对象标识对应所述故障对象包括的子对象;
解析所述第一RPC指令,得到所述故障注入标识及所述故障参数;
根据所述故障注入标识确定需要注入故障时,根据所述故障参数注入所述目标故障。
9.根据权利要求8所述的方法,其特征在于,所述根据所述故障参数注入所述目标故障之后,所述方法还包括:
获取运行信息,所述运行信息用于指示所述目标网络设备注入所述目标故障之后的运行情况;
将所述运行信息发送给所述分析器。
10.根据权利要求8或9所述的方法,其特征在于,所述接收分析器发送的第一远程过程调用RPC指令之前,所述方法还包括:
获取能力信息,所述能力信息用于指示所述目标网络设备是否具有注入故障的能力;
将所述能力信息发送给所述分析器。
11.根据权利要求8或9所述的方法,其特征在于,所述根据所述故障参数注入所述目标故障之后,所述方法还包括:
接收所述分析器发送的第二RPC指令,所述第二RPC指令包括所述故障参数以及故障撤销标识;
解析所述第二RPC指令,得到所述故障参数及所述故障撤销标识;
根据所述故障撤销标识确定需要撤销故障的注入操作时,根据所述故障参数撤销所述目标故障的注入操作。
12.一种用于故障注入的方法,其特征在于,所述方法应用于服务器,所述方法包括:
获取故障集合,所述故障集合中包括至少一种类型的故障;
将所述故障集合发送给分析器,所述分析器用于根据目标网络设备的软件版本和硬件性能,从故障集合中确定需要向所述目标网络设备注入的目标故障,确定所述目标故障的故障参数,所述故障参数包括所述目标故障的故障类型、故障对象、对象标识和用于指示故障程度的数据,所述对象标识对应所述故障对象包括的子对象,生成第一远程过程调用RPC指令,所述第一RPC指令包括所述故障参数及故障注入标识,所述故障注入标识用于指示进行故障注入,向所述目标网络设备发送所述第一RPC指令,通过所述第一RPC指令指示所述目标网络设备注入所述目标故障。
13.根据权利要求12所述的方法,其特征在于,所述将所述故障集合发送给分析器之后,所述方法还包括:
接收所述分析器发送的更新后的故障集合;
将所述更新后的故障集合发送给其他分析器。
14.一种用于故障注入的装置,其特征在于,所述装置应用于分析器,所述装置包括:
第一确定模块,用于根据目标网络设备的软件版本和硬件性能,从故障集合中确定需要向所述目标网络设备注入的目标故障;
第二确定模块,用于确定所述目标故障的故障参数,所述故障参数包括所述目标故障的故障类型、故障对象、对象标识和用于指示故障程度的数据,所述对象标识对应所述故障对象包括的子对象;
生成模块,用于生成第一远程过程调用RPC指令,所述第一RPC指令包括所述故障参数及故障注入标识,所述故障注入标识用于指示进行故障注入;
发送模块,用于向所述目标网络设备发送所述第一RPC指令,通过所述第一RPC指令指示所述目标网络设备注入所述目标故障。
15.根据权利要求14所述的装置,其特征在于,所述装置还包括:
获取模块,用于从服务器获取所述故障集合,所述故障集合中包括至少一种类型的故障。
16.根据权利要求15所述的装置,其特征在于,所述装置还包括:
第一接收模块,用于接收所述目标网络设备发送的运行信息,所述运行信息用于指示所述目标网络设备在注入所述目标故障之后的运行情况;
更新模块,用于根据所述运行信息更新所述故障集合,得到更新后的故障集合;
所述发送模块,还用于将所述更新后的故障集合发送给所述服务器,所述更新后的故障集合用于所述服务器发送给其他分析器。
17.根据权利要求14-16任一所述的装置,其特征在于,所述装置还包括:
第二接收模块,用于接收所述目标网络设备发送的能力信息,所述能力信息指示所述目标网络设备是否具有注入故障的能力;
所述第一确定模块,用于响应于所述能力信息指示所述目标网络设备具有注入故障的能力,执行所述从故障集合中确定需要向所述目标网络设备注入的目标故障的操作。
18.根据权利要求14-16任一所述的装置,其特征在于,所述生成模块,还用于生成第二RPC指令,所述第二RPC指令包括所述故障参数及故障撤销标识,所述故障撤销标识用于指示撤销故障注入;
所述发送模块,还用于向所述目标网络设备发送所述第二RPC指令,通过所述第二RPC指令指示所述目标网络设备撤销所述目标故障的注入操作。
19.根据权利要求18所述的装置,其特征在于,所述第二RPC指令基于下一代建模语言YANG模型进行描述。
20.根据权利要求14-16、19任一所述的装置,其特征在于,所述第一RPC指令基于下一代建模语言YANG模型进行描述。
21.一种用于故障注入的装置,其特征在于,所述装置应用于目标网络设备,所述装置包括:
接收模块,用于接收分析器发送的第一远程过程调用RPC指令,所述第一RPC指令包括目标故障的故障参数以及故障注入标识,所述目标故障由所述分析器根据所述目标网络设备的软件版本和硬件性能从故障集合中确定,所述故障参数包括所述目标故障的故障类型、故障对象、对象标识和用于指示故障程度的数据,所述对象标识对应所述故障对象包括的子对象;
解析模块,用于解析所述第一RPC指令,得到所述故障注入标识及所述故障参数;
注入模块,用于根据所述故障注入标识确定需要注入故障时,根据所述故障参数注入所述目标故障。
22.根据权利要求21所述的装置,其特征在于,所述装置还包括:
第一获取模块,用于获取运行信息,所述运行信息用于指示所述目标网络设备注入所述目标故障之后的运行情况;
第一发送模块,用于将所述运行信息发送给所述分析器。
23.根据权利要求21或22所述的装置,其特征在于,所述装置还包括:
第二获取模块,用于获取能力信息,所述能力信息用于指示所述目标网络设备是否具有注入故障的能力;
第二发送模块,用于将所述能力信息发送给所述分析器。
24.根据权利要求21或22所述的装置,其特征在于,所述接收模块,还用于接收所述分析器发送的第二RPC指令,所述第二RPC指令包括所述故障参数以及故障撤销标识;
所述解析模块,还用于解析所述第二RPC指令,得到所述故障参数及所述故障撤销标识;
所述装置还包括:撤销模块,用于根据所述故障撤销标识确定需要撤销故障的注入操作时,根据所述故障参数撤销所述目标故障的注入操作。
25.一种用于故障注入的装置,其特征在于,所述装置应用于服务器,所述装置包括:
获取模块,用于获取故障集合,所述故障集合中包括至少一种类型的故障;
发送模块,用于将所述故障集合发送给分析器,所述分析器用于根据目标网络设备的软件版本和硬件性能,从故障集合中确定需要向所述目标网络设备注入的目标故障,确定所述目标故障的故障参数,所述故障参数包括所述目标故障的故障类型、故障对象、对象标识和用于指示故障程度的数据,所述对象标识对应所述故障对象包括的子对象,生成第一远程过程调用RPC指令,所述第一RPC指令包括所述故障参数及故障注入标识,所述故障注入标识用于指示进行故障注入,向所述目标网络设备发送所述第一RPC指令,通过所述第一RPC指令指示所述目标网络设备注入所述目标故障。
26.根据权利要求25所述的装置,其特征在于,所述装置还包括:
接收模块,用于接收所述分析器发送的更新后的故障集合;
所述发送模块,还用于将所述更新后的故障集合发送给其他分析器。
27.一种用于故障注入的系统,其特征在于,所述系统包括:至少一个分析器及至少一个网络设备;所述至少一个分析器与一个或多个网络设备通信连接;
所述分析器用于执行所述权利要求1-7任一所述的用于故障注入的方法,所述网络设备用于执行所述权利要求8-11任一所述的用于故障注入的方法。
28.根据权利要求27所述的系统,其特征在于,所述系统还包括:服务器,所述服务器与所述至少一个分析器通信连接,所述服务器用于执行所述权利要求12或13所述的用于故障注入的方法。
29.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条指令,所述指令由处理器加载并执行以实现如权利要求1-13中任一所述的用于故障注入的方法。
CN202010132853.6A 2020-02-29 2020-02-29 用于故障注入的方法、装置、系统及计算机可读存储介质 Active CN113326159B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010132853.6A CN113326159B (zh) 2020-02-29 2020-02-29 用于故障注入的方法、装置、系统及计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010132853.6A CN113326159B (zh) 2020-02-29 2020-02-29 用于故障注入的方法、装置、系统及计算机可读存储介质

Publications (2)

Publication Number Publication Date
CN113326159A CN113326159A (zh) 2021-08-31
CN113326159B true CN113326159B (zh) 2023-02-03

Family

ID=77412904

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010132853.6A Active CN113326159B (zh) 2020-02-29 2020-02-29 用于故障注入的方法、装置、系统及计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN113326159B (zh)

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102929729A (zh) * 2012-09-11 2013-02-13 华为技术有限公司 故障跟踪的方法及装置
EP2565790A1 (en) * 2011-08-31 2013-03-06 Samsung Electronics Polska Spolka z organiczona odpowiedzialnoscia Method and system for injecting simulated errors
US8578076B2 (en) * 2009-05-01 2013-11-05 Citrix Systems, Inc. Systems and methods for establishing a cloud bridge between virtual storage resources
CN106452925A (zh) * 2016-12-02 2017-02-22 华为技术有限公司 在nfv系统中检测故障的方法、装置和系统
CN107247451A (zh) * 2017-05-19 2017-10-13 意昂神州(北京)科技有限公司 一种智能集成多路故障注入系统
CN107704392A (zh) * 2017-09-30 2018-02-16 华为技术有限公司 一种测试用例的处理方法及服务器
CN108683553A (zh) * 2018-03-30 2018-10-19 北京华为数字技术有限公司 故障注入的方法和装置
CN109032825A (zh) * 2018-06-06 2018-12-18 阿里巴巴集团控股有限公司 一种故障注入方法、装置及设备
CN109361550A (zh) * 2018-11-21 2019-02-19 国家计算机网络与信息安全管理中心 网络设备配置管理的方法、装置及设备
CN109582550A (zh) * 2018-09-29 2019-04-05 阿里巴巴集团控股有限公司 一种获取全量业务场景故障集合的方法、装置及服务器
CN109992454A (zh) * 2017-12-31 2019-07-09 中国移动通信集团江西有限公司 故障定位的方法、装置和存储介质
CN110489245A (zh) * 2019-08-07 2019-11-22 上海微小卫星工程中心 基于远程过程调用rpc的故障注入方法及系统

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101269549B1 (ko) * 2009-05-08 2013-06-04 한국전자통신연구원 오류 주입을 이용한 소프트웨어 신뢰성 테스트 시스템 및 방법
CN107438060B (zh) * 2016-05-28 2020-12-15 华为技术有限公司 一种网络设备中的远程过程调用方法及网络设备

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8578076B2 (en) * 2009-05-01 2013-11-05 Citrix Systems, Inc. Systems and methods for establishing a cloud bridge between virtual storage resources
EP2565790A1 (en) * 2011-08-31 2013-03-06 Samsung Electronics Polska Spolka z organiczona odpowiedzialnoscia Method and system for injecting simulated errors
CN102929729A (zh) * 2012-09-11 2013-02-13 华为技术有限公司 故障跟踪的方法及装置
CN106452925A (zh) * 2016-12-02 2017-02-22 华为技术有限公司 在nfv系统中检测故障的方法、装置和系统
CN107247451A (zh) * 2017-05-19 2017-10-13 意昂神州(北京)科技有限公司 一种智能集成多路故障注入系统
CN107704392A (zh) * 2017-09-30 2018-02-16 华为技术有限公司 一种测试用例的处理方法及服务器
CN109992454A (zh) * 2017-12-31 2019-07-09 中国移动通信集团江西有限公司 故障定位的方法、装置和存储介质
CN108683553A (zh) * 2018-03-30 2018-10-19 北京华为数字技术有限公司 故障注入的方法和装置
CN109032825A (zh) * 2018-06-06 2018-12-18 阿里巴巴集团控股有限公司 一种故障注入方法、装置及设备
CN109582550A (zh) * 2018-09-29 2019-04-05 阿里巴巴集团控股有限公司 一种获取全量业务场景故障集合的方法、装置及服务器
CN109361550A (zh) * 2018-11-21 2019-02-19 国家计算机网络与信息安全管理中心 网络设备配置管理的方法、装置及设备
CN110489245A (zh) * 2019-08-07 2019-11-22 上海微小卫星工程中心 基于远程过程调用rpc的故障注入方法及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于NETCONF的通用设备配置管理系统的设计与实现;陈春霖;《中国优秀博硕士学位论文全文数据库(硕士)》;20190515(第05期);I138-654 *

Also Published As

Publication number Publication date
CN113326159A (zh) 2021-08-31

Similar Documents

Publication Publication Date Title
AU2017404864B2 (en) Network slice management method, unit and system
CN114124451B (zh) 一种物联网设备数据处理方法、系统及计算机存储介质
CN107222324B (zh) 网络服务的业务配置方法和装置
CN109391498B (zh) 网络组件的管理方法和网络设备
CN105052076B (zh) 一种基于云计算的网元管理系统及网元管理方法
CN109284140B (zh) 配置方法及相关设备
EP3742786A1 (en) Network alarm method, device, system and terminal
CN110177010B (zh) 一种链路切换方法及装置
CN113360301B (zh) 一种消息传输系统及方法
WO2021057605A1 (zh) 设备管理方法、装置、系统、设备及存储介质
CN110618853B (zh) 一种僵尸容器的检测方法、装置及设备
CN110138753B (zh) 分布式消息服务系统、方法、设备及计算机可读存储介质
CN111832273A (zh) 目的报文的确定方法及装置、存储介质、电子装置
CN110768812A (zh) 一种服务器管理系统及方法
CN104104701A (zh) 在线服务的配置更新的方法和系统
CN113326159B (zh) 用于故障注入的方法、装置、系统及计算机可读存储介质
CN114826979B (zh) 网络链路质量获取方法、装置、系统、设备及存储介质
CN106713464B (zh) 一种企业服务总线的服务管理方法及装置
CN114338461A (zh) 一种网络连接监控方法及相关设备
CN114726809B (zh) 多租户路由方法、装置、设备、存储介质及程序产品
CN112533082B (zh) 链路资源发现方法、装置、设备及计算机可读存储介质
CN116743990B (zh) 嵌入式设备的视频流测试方法和视频流测试处理方法
CN105306238A (zh) 终端接入方法、装置和系统
US20230336964A1 (en) Triggering of device inventory discovery
US20230052757A1 (en) Some/ip-based debug system and method

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