CN114003428A - 用于分布式系统的故障预警方法和装置 - Google Patents

用于分布式系统的故障预警方法和装置 Download PDF

Info

Publication number
CN114003428A
CN114003428A CN202111301739.2A CN202111301739A CN114003428A CN 114003428 A CN114003428 A CN 114003428A CN 202111301739 A CN202111301739 A CN 202111301739A CN 114003428 A CN114003428 A CN 114003428A
Authority
CN
China
Prior art keywords
test
fault
distributed system
target
test task
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
Application number
CN202111301739.2A
Other languages
English (en)
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.)
Beijing Dajia Internet Information Technology Co Ltd
Original Assignee
Beijing Dajia Internet Information Technology 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 Beijing Dajia Internet Information Technology Co Ltd filed Critical Beijing Dajia Internet Information Technology Co Ltd
Priority to CN202111301739.2A priority Critical patent/CN114003428A/zh
Publication of CN114003428A publication Critical patent/CN114003428A/zh
Pending legal-status Critical Current

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)
  • Debugging And Monitoring (AREA)

Abstract

本公开提供一种用于分布式系统的故障预警方法和装置。所述故障预警方法可包括以下步骤:获取将对分布式系统执行的测试任务,其中,测试任务包括目标故障类型,目标故障类型用于分布式系统从多个测试计划中确定目标测试计划,其中,多个测试计划通过添加或替换另外的测试计划而被改变;获取分布式系统执行包括目标测试计划的测试任务的执行结果;输出与执行结果相关的数据,其中,与所述执行结果相关的数据用于对分布式系统的故障分析。

Description

用于分布式系统的故障预警方法和装置
技术领域
本公开涉及系统测试技术领域,尤其涉及一种用于诸如归因系统的分布式系统的故障预警方法和故障预警装置。
背景技术
随着系统架构从单体应用向分布式系统发展,开发效率和系统可扩展性逐步提高,但同时,系统的复杂性也随着增加,传统的服务测试方法已经无法全面覆盖系统的所有可能行为。随着微服务的不断发展,系统的规模不断增长,服务之间的依赖性也带来很多不确定性,在这样复杂的调用网中,任何一环出现异常,都有可能对其他的服务造成影响。又因服务节点的增加,出现故障的概率和随机性也变得更大了,如何提高分布式系统的稳定性和高可用能力,成为了急需解决的问题。
发明内容
本公开提供一种用于分布式系统的故障预警方法和故障预警装置,以至少解决上述提及的问题。
根据本公开实施例的第一方面,提供一种用于分布式系统的故障预警方法,可包括:获取将对分布式系统执行的测试任务,其中,所述测试任务包括目标故障类型,所述目标故障类型用于所述分布式系统从多个测试计划中确定目标测试计划,其中,所述多个测试计划通过添加或替换另外的测试计划而被改变;获取所述分布式系统执行包括所述目标测试计划的所述测试任务的执行结果;输出所述执行结果,其中,所述与所述执行结果相关的数据用于对所述分布式系统的故障分析。
可选地,获取所述分布式系统执行包括所述目标测试计划的所述测试任务的执行结果,可包括:当所述分布式系统执行包括所述目标测试计划的所述测试任务出现错误时,记录故障执行结果;当所述分布式系统执行包括所述目标测试计划的所述测试任务未出现错误并且在所述测试任务结束后,记录与执行所述测试任务对应的测试数据。
可选地,输出与所述执行结果相关的数据,可包括:将所述测试数据与由所述分布式系统执行不包括所述目标测试计划的所述测试任务而产出的运行数据进行对比校验;根据所述对比校验的结果输出数据匹配准确率。
可选地,所述方法还可包括:当所述执行结果的数据量不满足预定数据量时,确定再次执行包括所述目标测试计划的所述测试任务。
可选地,所述方法还可包括:当所述分布式系统执行包括所述目标测试计划的所述测试任务出现错误时,根据所述错误的重要性来确定是否发送故障报警信息。
可选地,所述分布式系统可以为归因系统。
可选地,所述测试计划可以是用于向所述分布式系统的正常程序中注入故障的代码。
根据本公开实施例的第二方面,提供一种用于分布式系统的故障预警装置,可包括:获取模块,被配置为获取将对分布式系统执行的测试任务,其中,所述测试任务包括目标故障类型,所述目标故障类型用于所述分布式系统从多个测试计划中确定目标测试计划,其中,所述多个测试计划通过添加或替换另外的测试计划而被改变;处理模块,被配置为获取所述分布式系统执行包括所述目标测试计划的所述测试任务的执行结果;输出模块,被配置为输出与所述执行结果相关的数据,其中,与所述执行结果相关的数据用于对所述分布式系统的故障分析。
可选地,处理模块可被配置为:当所述分布式系统执行包括所述目标测试计划的所述测试任务出现错误时,记录故障执行结果;当所述分布式系统执行包括所述目标测试计划的所述测试任务未出现错误并且在所述测试任务结束后,记录与执行所述测试任务对应的测试数据。
可选地,处理模块可被配置为将所述测试数据与由所述分布式系统执行不包括所述目标测试计划的所述测试任务而产出的运行数据进行对比校验,以得到数据匹配准确率。
可选地,处理模块可被配置为:当所述执行结果的数据量不满足预定数据量时,确定再次执行包括所述目标测试计划的所述测试任务。
可选地,处理模块可被配置为:当所述分布式系统执行包括所述目标测试计划的所述测试任务出现错误时,根据所述错误的重要性来确定是否发送故障报警信息。
可选地,所述分布式系统可以为归因系统。
可选地,所述测试计划可以是用于向所述分布式系统的正常程序中注入故障的代码。
根据本公开实施例的第三方面,提供一种电子设备,所述电子设备可包括:至少一个处理器;至少一个存储计算机可执行指令的存储器,其中,所述计算机可执行指令在被所述至少一个处理器运行时,促使所述至少一个处理器执行如上所述的故障预警方法。
根据本公开实施例的第四方面,提供一种计算机可读存储介质,存储有指令,当所述指令被至少一个处理器运行时,促使所述至少一个处理器执行如上所述的故障预警方法。
根据本公开实施例的第五方面,提供一种计算机程序产品,所述计算机程序产品中的指令被电子装置中的至少一个处理器运行以执行如上所述的故障预警方法。
本公开的实施例提供的技术方案至少带来以下有益效果:
本公开通过自动添加或替换测试计划来变更对分布式系统的测试任务,使测试任务具有不确定性,实现了自动对分布式系统执行不同形式的故障检测,使得测试过程更加符合实际生产环境,并且能够更好地发现分布式系统更多未知的问题,从而提高分布式系统的整体稳定性。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
图1是根据本公开的实施例的故障预警方法的流程图;
图2是根据本公开的实施例的通过故障预警平台执行的故障预警方法的流程示意图;
图3是根据本公开的实施例的故障预警装置的框图;
图4是根据本公开的实施例的故障预警设备的结构示意图;
图5是根据本公开的实施例的电子设备的框图。
在整个附图中,应注意,相同的参考标号用于表示相同或相似的元件、特征和结构。
具体实施方式
为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
提供参照附图的以下描述以帮助对由权利要求及其等同物限定的本公开的实施例的全面理解。包括各种特定细节以帮助理解,但这些细节仅被视为是示例性的。因此,本领域的普通技术人员将认识到在不脱离本公开的范围和精神的情况下,可对描述于此的实施例进行各种改变和修改。此外,为了清楚和简洁,省略对公知的功能和结构的描述。
以下描述和权利要求中使用的术语和词语不限于书面含义,而仅由发明人用来实现本公开的清楚且一致的理解。因此,本领域的技术人员应清楚,本公开的各种实施例的以下描述仅被提供用于说明目的而不用于限制由权利要求及其等同物限定的本公开的目的。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
在阐述本专利的技术方案前,首先解释几个术语。
混沌工程:在生产环境中实际运行分布式系统,难免会有各种不可预料的突发事件发生。同时,云原生的发展,不断推进着微服务的进一步解耦,海量的数据与用户规模也带来了基础设施的大规模分布式演进。分布式系统天生有着各种相互依赖,可以出错的地方数不胜数,处理不好就会导致业务受损,或者是其他各种无法预期的异常行为。在复杂的分布式系统中,虽然无法阻止这些故障的发生,但可致力于在这些异常行为被触发之前,尽可能多地识别风险。然后,针对性地进行加固、防范,从而避免故障发生时所带来的严重后果。混沌工程正是这样一套通过在生产分布式系统上进行实验,主动找出系统中的脆弱环节的方法学,目的是建立对系统抵御生产环境中失控条件的能力和信心。这种通过实证的验证方法显然可以向用户打造更具弹性的系统,同时让用户更透彻的掌握系统运行时的各种行为规律。用户能够在不断打造更具弹性(弹性:系统应对故障、从故障中恢复的能力)系统的同时,树立运行高可用分布式系统的信心。实践混沌工程可以简单如在生产环境中运行强制退出命令(如kill-9)来模拟一个服务节点的突然宕机,也可以复杂到在线上挑选一小部分(但足够代表性)的流量,按一定规则或频率自动运行一系列实验。因此,混沌工程在系统稳定领域有着重要意义。
归因系统:为了使得更多用户了解产品信息,以便服务更多用户,需要会对产品信息设置推广信息,但推广信息可能在通过多个平台呈现,便于用户最后下载安装,并使用该产品,归因就是希望通过技术手段判断出客户端应用通过哪种平台提供服务,进而能够更快捷的确认故障问题所在。因此实时、离线归因具有重要意义。
目前,离线任务计算在归因场景中的占比很大,主要的离线计算框架有spark、flink等,归因计算逻辑可在这些计算框架下执行。由于归因内部数据处理比较复杂,会有较多的洗牌(Shuffle)操作(需要Shuffle操作的关键性原因是某种具有共同特征的数据需要最终汇聚到一个计算节点上进行计算),这样就对框架计算节点的基础设施(诸如内存、CPU、带宽等)的稳定性有较高有求。
提高诸如归因系统的分布式系统稳定性的普遍做法就是测试,比如系统功能测试、系统压力测试和系统故障测试。然而,上述很多场景的测试是针对测试环境或者测试用例,而实际生产环境中可能出现的问题很可能是测试环境或者测试用例发现不了的。此外,上述测试都是使用特定方式对某一部分进行特定测试,如果测试结果不满足预期,则认为测试出错,这具有很明确的特性,即以某种预想的方式破坏系统,但是在实际生产环境中,有很多场景是难预测的,而这些难预测的场景往往可能会对系统和业务造成重大影响。
基于上述内容,本专利设计一种基于混沌工程的故障预警平台,来针对性地解决上述问题,从而更好地提高诸如归因系统的分布式系统的整体稳定性。例如,根据本公开的故障预警平台可具备以下能力:1、在生产环境中持续运行试验,并且具备试验爆炸半径控制能力;2、构建通用的自动化执行试验方式;3、建立能够描述服务稳定性的通用指标;4、自动检测稳定性指标的变化;5、自动终止试验的能力。例如,通过利用这样的故障预警平台对归因系统进行测试提前发现更多的问题,使得归因系统在出现上述可用性问题时,能够有很好的应对方式,避免产出错误的结果、影响业务使用。
在下文中,根据本公开的各种实施例,将参照附图对本公开的方法、装置和系统进行详细描述。
图1是根据本公开的实施例的故障预警方法的流程图。根据本公开的故障预警方法可应用于任何分布式系统,例如归因系统。
根据本公开的故障预警方法可由任意具有数据处理功能的电子设备执行。电子设备可以是用户所在终端,例如,用户测试系统时所使用的终端。电子设备可以是智能手机、平板电脑、便携式计算机和台式计算机。等中的至少一种。电子设备也可以是服务器。电子设备上安装有根据本公开的故障预警平台,用于对分布式系统进行测试。
参照图1,在步骤S101,获取将对分布式系统执行的测试任务。所述分布式系统可以为归因系统。例如,用户可通过电子设备上安装的故障预警平台来启动对某个分布式系统的测试任务。电子设备可通过调度测试任务使该分布式系统开始执行测试任务。
根据本公开的实施例,测试任务可包括目标故障类型,目标故障类型可用于分布式系统从多个测试计划中确定目标测试计划。这里,测试计划可以是用于向分布式系统的正常程序中注入故障的代码。用户可在测试任务中随机设置多个故障类型,或者可在测试任务中设置执行测试计划的顺序,使得分布式系统按照该顺序执行测试任务中的测试计划。
作为示例,测试任务可包括用于检测系统故障的多种故障类型,每种故障类型可对应于一个故障代码。故障类型可以以标号、数字或字母等的形式呈现,例如,1表示内存打满,2表示CPU不够,3表示带宽不够、4表示选择部分网络连接注入特定时间的延迟、5表示随机让一些内部函数抛异常等故障类型。在故障预警平台调度测试任务后,分布式系统可开始执行该测试任务并且根据测试任务中包括的故障类型,可从多个测试计划中与测试计划中的故障类型相关的目标测试计划,然后在执行测试任务的过程中,根据需要执行相应的测试计划。
假设测试任务包括第一、第二和第三故障类型,分布式系统在开始执行测试任务时查询测试任务中的故障类型,然后从故障注入代码集中找到分别与第一、第二和第三故障类型相对应的故障代码。在分布式系统执行测试的过程中,可根据预先设置的方式(例如随机地、或者顺序地)注入测试任务中指定的故障代码来完成测试任务。
根据本公开的实施例,多个测试计划能够被任意变更。作为示例,可通过添加或替换另外的测试计划来改变先前的测试计划。例如,故障预警平台可定期对故障注入代码集中的故障代码进行更新。这里,更新/变更可以指对故障注入代码集中的故障代码序号进行变更,这样在分布式系统以后再次执行测试任务时可根据故障代码类型从故障注入代码集中匹配到另外的故障代码。更新/变更可以指对向故障注入代码集中添加新的故障代码,或者也可以指将故障注入代码集中原来的故障代码全部或部分地替换为新的故障代码。更新/变更的目的在于使测试任务具有不确定性,以更加符合实际生产环境,这不同于现有的使用特定方式对某一故障进行特定测试。
根据本公开的故障预警平台可实现自动进行不同形式的故障演练。例如,可在调度的测试任务中设置既定执行顺序,使得分布式系统按照故障顺序执行测试计划,或者分布式系统可随机地执行与故障类型对应的故障代码。通过采用混沌工程的思想来设计故障预警平台,可发现分布式系统在生产环境中更多未知的弱点。
在步骤S102,获取分布式系统执行包括目标测试计划的测试任务的执行结果。
作为示例,当分布式系统执行包括目标测试计划的测试任务出现错误时,分布式系统可退出该测试任务,故障预警平台可从分布式系统回调故障执行结果并且对其进行记录。例如,在分布式系统遇到错误退出测试任务的情况下,故障预警平台可从分布式系统获得退出测试任务的消息以及分布式系统退出测试任务的故障原因、故障代码位置等数据。
当分布式系统执行包括目标测试计划的测试任务未出现错误时,在测试任务结束后,分布式系统可退出该测试任务,故障预警平台可从分布式系统回调与执行该测试任务对应的测试数据并对其进行记录。例如,在分布式系统成功执行完测试任务的情况下,故障预警平台可从分布式系统获得相应的测试数据。
在步骤S103,输出与执行结果相关的数据,以用于分析分布式系统的稳定性。与执行结果的相关数据可被用于对分布式系统的故障诊断,以分析分布式系统的稳定性。测试人员可根据相关数据确定分布式系统的故障类型、故障位置、故障原因等,然后找到对应的解决方案,这样开发人员可有针对性地对分布式系统程序进行修改调整,使得最终系统的稳定性提高。
作为示例,可在故障预警平台上显示用户界面,在用户界面中可显示分布式系统的执行结果。例如,在分布式系统遇到错误退出测试任务的情况下,可在用户界面中可显示退出测试任务的消息以及分布式系统退出测试任务的故障原因。在分布式系统成功执行完测试任务的情况下,在用户界面中可除了显示测试数据之外,还可显示测试数据与正常运行数据之间的对比校验结果。这里,测试数据可以是分布式系统执行包括目标测试计划的测试任务而产出的hive数据,正常运行数据可以是分布式系统在执行不包括目标测试计划的测试任务而产出的hive数据。
例如,故障预警平台可分别获取测试数据和正常运行数据,对测试数据和正常运行数据进行对比校验,然后在用户界面上显示数据匹配准确率。或者,数据的对比校验操作可由其他电子设备执行,然后故障预警平台可从该其他电子设备获取数据匹配准确率,然后显示在用户界面中以供用户对测试的分布式系统进行稳定性分析。上述用户界面显示的元素仅是示例性的,用户界面还可显示其他关于故障预警平台和测试的分布式系统的其他信息。此外,用户界面的布局可根据用户需求被不同地设置。
根据本公开的实施例,故障预警平台可建立能够描述服务稳定性的通用指标,通过对测试任务正常结束和非正常结束的执行结果数据进行严格校验,可自动检测稳定性指标的变化,以实际产出的数据准确性来评估分布式系统的稳定性。
此外,当执行结果的数据量不满足预定数据量时,故障预警平台可确定再次执行包括目标测试计划的测试任务。预定数据量可由测试人员针对每次的测试任务并根据测试要求预先设置在故障预警平台中。在分布式系统退出测试任务后,当测试结果的数据量未达到本次测试任务对应的预设数据量时,故障预警平台可自动调度该测试任务,使得分布式系统可再次执行相同的测试任务,直到该测试任务的执行结果数据量达到预设数据量。这样,不仅可实现故障预警平台能够自动执行和终止试验,而且可向用户呈现更多的数据,使得用户更好地分析系统的稳定性。
通过故障预警平台自动识别并记录故障数据并自动重复运行测试任务,不仅保证了有效的测试数据量,而且降低了人工试验的成本。
另外,当分布式系统执行包括目标测试计划的测试任务出现错误时,故障预警平台可根据错误的重要性来确定是否发送故障报警信息。例如,在分布式系统执行包括故障代码的测试任务出现错误时,分布式系统可退出测试任务,并且将故障信息发送给故障预警平台,故障预警平台可根据该故障的重要级别来确定是否向用户发送短息或语音来通知相关的测试任务。故障的重要级别可由测试人员预先设置在故障预警平台中。这样,可保证故障预警平台具有试验爆炸半径控制能力,从而避免由于重大故障等问题而损坏系统。
图2是根据本公开的实施例的通过故障预警平台执行的故障预警方法的流程示意图。
参照图2,故障预警平台可初始化一批用于注入故障的代码集,并且可自由变更该代码集中的故障代码。
故障预警平台可进行测试任务的执行调度,测试任务在分布式系统的执行过程中可根据故障注入类型来向分布式系统的正常代码中注入相应的故障代码。例如,故障预警平台可进行离线任务的执行调度,离线任务在执行过程中根据需要来注入指定的故障代码。
在分布式系统的运行过程中,如果遇到错误(诸如内存打满、CPU不足、系统内部未知错误等),则测试任务退出,同时分布式系统可将任务退出消息发送给故障预警平台,故障预警平台可记录故障执行记录。例如,参照图2,在使用离线计算框架(即分布式系统)执行测试任务的过程中,如果分布式系统运行出错,则分布式系统退出测试任务,故障预警平台可回调系统的任务退出通知,并且记录诸如系统的故障点、对应的故障代码等故障执行结果。
如果分布式系统成功执行完测试任务,则分布式系统可通知数据校验服务对测试任务产出的离线hive数据(诸如试验产出的离线hive表)与正常产出的离线hive数据(诸如正常产出的离线hive表)进行对比校验,然后输出结果匹配准确率,同时退出测试任务并且将匹配结果回调通知给故障预警平台,故障预警平台可记录故障执行记录。
作为另一示例,在分布式系统成功执行完测试任务的情况下,分布式系统可接收测试任务产出的离线hive数据,然后对测试任务产出的离线hive数据与正常产出的离线hive数据进行对比校验。也就是说,图2示出的数据校验服务可由故障预警平台实现,或者可由另外的设备完成并且将对比校验数据回调给故障预警平台。
故障预警平台可根据故障的执行结果判断是否进行新一轮测试。例如,当执行结果的数据量不满足本次测试所要求的数据量时,故障预警平台可再次调度相同的测试任务,进行新一轮测试。
故障预警平台可根据出现的故障的重要性来判断是否需要发出紧急故障预警,诸如,电话、短信通知相关开发人员。
图3是根据本公开的实施例的故障预警装置的框图。
参照图3,故障预警装置300可包括获取模块301、处理模块302和输出模块303。故障预警装置300中的每个模块可由一个或多个模块来实现,并且对应模块的名称可根据模块的类型而变化。在各种实施例中,可省略故障预警装置300中的一些模块,或者还可包括另外的模块。此外,根据本公开的各种实施例的模块/元件可被组合以形成单个实体,并且因此可等效地执行相应模块/元件在组合之前的功能。
故障预警装置300可以是单个设备、平台或系统的形式。
获取模块301可获取将对分布式系统执行的测试任务。例如,用户可通过获取模块301调度对分布式系统的测试任务。分布式系统诸如是归因系统。
测试任务可包括目标故障类型,目标故障类型可用于分布式系统从多个测试计划中确定目标测试计划。测试人员可在测试任务中随机设置故障类型,或者可在测试任务中设置执行测试计划的顺序,使得分布式系统按照该顺序执行测试任务中的测试计划。
作为示例,测试计划可以是用于向分布式系统的正常程序中注入故障的代码。故障代码集可被预先存储在故障预警装置300的存储装置(未示出)中,或者存储在与故障预警装置300通信连接的代码数据库中。
获取模块301可任意变更多个测试计划。获取模块301可添加新的测试计划或者将先前的测试计划替换为另外的测试计划。例如,获取模块301可对故障代码集进行自由变更,或者定期地向代码数据库中添加新的故障代码。这样,测试过程可具有不确定性,使得测试更加符合生产环境。
处理模块302可获取分布式系统执行包括目标测试计划的测试任务的执行结果。
输出模块303可输出与执行结果相关的数据,以用于分析分布式系统的稳定性。
可选地,当分布式系统执行包括目标测试计划的测试任务出现错误时,处理模块302可记录故障执行结果。当分布式系统执行包括目标测试计划的测试任务未出现错误并且在测试任务结束后,处理模块302可记录与执行测试任务对应的测试数据。
可选地,处理模块302可将测试数据与由分布式系统执行不包括目标测试计划的测试任务而产出的运行数据进行对比校验,以得到数据匹配准确率。输出模块303可输出数据匹配准确率。
可选地,当执行结果的数据量不满足预定数据量时,处理模块302可确定再次执行包括目标测试计划的测试任务。
可选地,当分布式系统执行包括目标测试计划的测试任务出现错误时,处理模块302可根据错误的重要性来确定是否发送故障报警信息。
上面已根据图1和图2详细描述了分布式系统的故障预警检测过程,这里不再进行描述。
图4是本公开实施例的硬件运行环境的故障预警设备的结构示意图。
如图4所示,故障预警设备400可包括:处理组件401、通信总线402、网络接口403、输入输出接口404、存储器405以及电源组件406。其中,通信总线402用于实现这些组件之间的连接通信。输入输出接口404可以包括视频显示器(诸如,液晶显示器)、麦克风和扬声器以及用户交互接口(诸如,键盘、鼠标、触摸输入装置等),可选地,输入输出接口404还可包括标准的有线接口、无线接口。网络接口403可选的可包括标准的有线接口、无线接口(如无线保真接口)。存储器405可以是高速的随机存取存储器,也可以是稳定的非易失性存储器。存储器405可选的还可以是独立于前述处理组件401的存储装置。
本领域技术人员可以理解,图4中示出的结构并不构成对故障预警设备400的限定,可包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图4所示,作为一种存储介质的存储器405中可包括操作系统(诸如MAC操作系统)、数据存储模块、网络通信模块、用户接口模块、与本公开的故障预警方法对应的故障预警程序以及数据库。
在图4所示的故障预警设备400中,网络接口403主要用于与外部电子设备/终端进行数据通信;输入输出接口404主要用于与用户进行数据交互;故障预警设备400中的处理组件401、存储器405可被设置在故障预警设备400中,故障预警设备400通过处理组件401调用存储器405中存储的故障预警程序以及由操作系统提供的各种API,执行本公开实施例提供的故障预警方法。
处理组件401可以包括至少一个处理器,存储器405中存储有计算机可执行指令集合,当计算机可执行指令集合被至少一个处理器执行时,执行根据本公开实施例的故障预警方法。然而,上述示例仅是示例性的,本公开不限于此。
例如,处理组件401可基于本公开的故障预警方法来测试分布式系统的稳定性。输入输出接口404可以以用户界面的形式显示测试结果,诸如故障点,对比校验数据等。
处理组件401可通过执行程序来实现对故障预警设备400所包括的组件的控制。
故障预警设备400可经由输入输出接口404接收或输出视频、音频和文档。例如,故障预警设备400可经由输入输出接口404输出用户界面,在用户界面中可显示测试结果。用户可经由用户界面对分布式系统的稳定性进行分析。
作为示例,故障预警设备400可以是PC计算机、平板装置、个人数字助理、智能手机、或其他能够执行上述指令集合的装置。这里,故障预警设备400并非必须是单个的电子设备,还可以是任何能够单独或联合执行上述指令(或指令集)的装置或电路的集合体。故障预警设备400还可以是集成控制系统或系统管理器的一部分,或者可以被配置为与本地或远程(例如,经由无线传输)以接口互联的便携式电子设备。
在故障预警设备400中,处理组件401可包括中央处理器(CPU)、图形处理器(GPU)、可编程逻辑装置、专用处理器系统、微控制器或微处理器。作为示例而非限制,处理组件401还可以包括模拟处理器、数字处理器、微处理器、多核处理器、处理器阵列、网络处理器等。
处理组件401可运行存储在存储器中的指令或代码,其中,存储器405还可以存储数据。指令和数据还可以经由网络接口403而通过网络被发送和接收,其中,网络接口403可以采用任何已知的传输协议。
存储器405可以与处理组件401集成为一体,例如,将RAM或闪存布置在集成电路微处理器等之内。此外,存储器405可包括独立的装置,诸如,外部盘驱动、存储阵列或任何数据库系统可以使用的其他存储装置。存储器和处理组件401可以在操作上进行耦合,或者可以例如通过I/O端口、网络连接等互相通信,使得处理组件401能够读取存储在存储器405中的数据。
根据本公开的实施例,可提供一种电子设备。图5是根据本公开实施例的电子设备的框图,该电子设备500可包括至少一个存储器502和至少一个处理器501,所述至少一个存储器502存储有计算机可执行指令集合,当计算机可执行指令集合被至少一个处理器501执行时,执行根据本公开实施例的故障预警方法。
处理器501可包括中央处理器(CPU)、图形处理器(GPU)、可编程逻辑装置、专用处理器系统、微控制器或微处理器。作为示例而非限制,处理器501还可包括模拟处理器、数字处理器、微处理器、多核处理器、处理器阵列、网络处理器等。
作为一种存储介质的存储器502可包括操作系统(例如,MAC操作系统)、数据存储模块、网络通信模块、用户接口模块、故障预警程序以及数据库。
存储器502可与处理器501集成为一体,例如,可将RAM或闪存布置在集成电路微处理器等之内。此外,存储器502可包括独立的装置,诸如,外部盘驱动、存储阵列或任何数据库系统可使用的其他存储装置。存储器502和处理器501可在操作上进行耦合,或者可例如通过I/O端口、网络连接等互相通信,使得处理器501能够读取存储在存储器502中的文件。
此外,电子设备500还可包括视频显示器(诸如,液晶显示器)和用户交互接口(诸如,键盘、鼠标、触摸输入装置等)。电子设备500的所有组件可经由总线和/或网络而彼此连接。
本领域技术人员可理解,图5中示出的结构并不构成对的限定,可包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
根据本公开的实施例,还可提供一种存储指令的计算机可读存储介质,其中,当指令被至少一个处理器运行时,促使至少一个处理器执行根据本公开的故障预警方法。这里的计算机可读存储介质的示例包括:只读存储器(ROM)、随机存取可编程只读存储器(PROM)、电可擦除可编程只读存储器(EEPROM)、随机存取存储器(RAM)、动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)、闪存、非易失性存储器、CD-ROM、CD-R、CD+R、CD-RW、CD+RW、DVD-ROM、DVD-R、DVD+R、DVD-RW、DVD+RW、DVD-RAM、BD-ROM、BD-R、BD-R LTH、BD-RE、蓝光或光盘存储器、硬盘驱动器(HDD)、固态硬盘(SSD)、卡式存储器(诸如,多媒体卡、安全数字(SD)卡或极速数字(XD)卡)、磁带、软盘、磁光数据存储装置、光学数据存储装置、硬盘、固态盘以及任何其他装置,所述任何其他装置被配置为以非暂时性方式存储计算机程序以及任何相关联的数据、数据文件和数据结构并将所述计算机程序以及任何相关联的数据、数据文件和数据结构提供给处理器或计算机使得处理器或计算机能执行所述计算机程序。上述计算机可读存储介质中的计算机程序可在诸如客户端、主机、代理装置、服务器等计算机设备中部署的环境中运行,此外,在一个示例中,计算机程序以及任何相关联的数据、数据文件和数据结构分布在联网的计算机系统上,使得计算机程序以及任何相关联的数据、数据文件和数据结构通过一个或多个处理器或计算机以分布式方式存储、访问和执行。
根据本公开的实施例中,还可提供一种计算机程序产品,该计算机程序产品中的指令可由计算机设备的处理器执行以完成上述故障预警方法。
需要说明的是,本公开所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等),均为经用户授权或者经过各方充分授权的信息。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

Claims (10)

1.一种用于分布式系统的故障预警方法,其特征在于,包括:
获取将对分布式系统执行的测试任务,其中,所述测试任务包括目标故障类型,所述目标故障类型用于所述分布式系统从多个测试计划中确定目标测试计划,其中,所述多个测试计划通过添加或替换另外的测试计划而被改变;
获取所述分布式系统执行包括所述目标测试计划的所述测试任务的执行结果;
输出与所述执行结果相关的数据,其中,所述与所述执行结果相关的数据用于对所述分布式系统的故障分析。
2.根据权利要求1所述的故障预警方法,其特征在于,获取所述分布式系统执行包括所述目标测试计划的所述测试任务的执行结果,包括:
当所述分布式系统执行包括所述目标测试计划的所述测试任务出现错误时,记录故障执行结果;
当所述分布式系统执行包括所述目标测试计划的所述测试任务未出现错误并且在所述测试任务结束后,记录与执行所述测试任务对应的测试数据。
3.根据权利要求2所述的故障预警方法,其特征在于,输出与所述执行结果相关的数据,包括:
将所述测试数据与由所述分布式系统执行不包括所述目标测试计划的所述测试任务而产出的运行数据进行对比校验;
根据所述对比校验的结果输出数据匹配准确率。
4.根据权利要求1所述的故障预警方法,其特征在于,所述方法还包括:
当所述执行结果的数据量不满足预定数据量时,确定再次执行包括所述目标测试计划的所述测试任务。
5.根据权利要求1所述的故障预警方法,其特征在于,所述方法还包括:
当所述分布式系统执行包括所述目标测试计划的所述测试任务出现错误时,根据所述错误的重要性来确定是否发送故障报警信息。
6.一种用于分布式系统的故障预警装置,其特征在于,包括:
获取模块,被配置为获取将对分布式系统执行的测试任务,其中,所述测试任务包括目标故障类型,所述目标故障类型用于所述分布式系统从多个测试计划中确定目标测试计划,其中,所述多个测试计划通过添加或替换另外的测试计划而被改变;
处理模块,被配置为获取所述分布式系统执行包括所述目标测试计划的所述测试任务的执行结果;
输出模块,被配置为输出与所述执行结果相关的数据,其中,所述与所述执行结果相关的数据用于对所述分布式系统的故障分析。
7.根据权利要求6所述的故障预警装置,其特征在于,处理模块被配置为:
当所述执行结果的数据量不满足预定数据量时,确定再次执行包括所述目标测试计划的所述测试任务。
8.根据权利要求6所述的故障预警装置,其特征在于,处理模块被配置为:
当所述分布式系统执行包括所述目标测试计划的所述测试任务出现错误时,根据所述错误的重要性来确定是否发送故障报警信息。
9.一种电子设备,其特征在于,包括:
至少一个处理器;
至少一个存储计算机可执行指令的存储器,
其中,所述计算机可执行指令在被所述至少一个处理器运行时,促使所述至少一个处理器执行如权利要求1到5中的任一项权利要求所述的故障预警方法。
10.一种计算机可读存储介质,其特征在于,存储指令,当所述指令被至少一个处理器运行时,促使所述至少一个处理器执行如权利要求1到5中的任一项权利要求所述的故障预警方法。
CN202111301739.2A 2021-11-04 2021-11-04 用于分布式系统的故障预警方法和装置 Pending CN114003428A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111301739.2A CN114003428A (zh) 2021-11-04 2021-11-04 用于分布式系统的故障预警方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111301739.2A CN114003428A (zh) 2021-11-04 2021-11-04 用于分布式系统的故障预警方法和装置

Publications (1)

Publication Number Publication Date
CN114003428A true CN114003428A (zh) 2022-02-01

Family

ID=79927456

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111301739.2A Pending CN114003428A (zh) 2021-11-04 2021-11-04 用于分布式系统的故障预警方法和装置

Country Status (1)

Country Link
CN (1) CN114003428A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114609995A (zh) * 2022-03-04 2022-06-10 亚信科技(南京)有限公司 故障控制方法、装置、系统、设备、介质及产品
CN115081410A (zh) * 2022-07-19 2022-09-20 中电金信软件有限公司 一种实验报告的自动生成方法及装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114609995A (zh) * 2022-03-04 2022-06-10 亚信科技(南京)有限公司 故障控制方法、装置、系统、设备、介质及产品
CN115081410A (zh) * 2022-07-19 2022-09-20 中电金信软件有限公司 一种实验报告的自动生成方法及装置

Similar Documents

Publication Publication Date Title
RU2571726C2 (ru) Система и способ проверки целесообразности установки обновлений
US9971674B2 (en) System and method for testing software in a multi-platform testing environment
CN114003428A (zh) 用于分布式系统的故障预警方法和装置
US11132284B2 (en) Probationary software tests
US11327742B2 (en) Affinity recommendation in software lifecycle management
CN110765018B (zh) 接口自动化测试方法及设备
CN109359020A (zh) 启动时间测试方法及装置、计算机装置及存储介质
CN111309734B (zh) 自动生成表数据的方法及系统
CN111767208A (zh) 一种自动测试方法及装置
WO2020096665A2 (en) System error detection
CN113297060A (zh) 一种数据测试方法及其装置
CN109284331B (zh) 基于业务数据资源的制证信息获取方法、终端设备及介质
CN110007921A (zh) 一种代码发布方法及装置
CN113227978A (zh) 计算机处理管线中的自动异常检测
CN112162761A (zh) 自动化部署项目至公有云容器化平台的方法、系统及设备
CN115774707B (zh) 基于对象属性数据处理方法和装置、电子设备和存储介质
CN116662197A (zh) 一种接口自动化测试方法、系统、计算机和可读存储介质
CN111381995A (zh) 用于还原用户操作的方法及装置、计算机
CN113821443B (zh) 应用程序的功能检测方法、装置、设备及存储介质
CN115733741A (zh) 一种针对待测系统的异常场景测试方法和装置
US20220066917A1 (en) Candidate program release evaluation
CN115509918A (zh) 一种软件测试方法、装置、电子设备及存储介质
CN113487186A (zh) 客户端故障演练方法、装置、计算机系统、可读存储介质
CN113126881A (zh) 系统配置方法、装置、设备、可读存储介质及分布式存储系统
CN112532747B (zh) 用于输出信息的方法、装置、设备以及存储介质

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