模拟消息中间件故障的测试的方法、系统及装置制造方法及图纸

技术编号:38907799 阅读:11 留言:0更新日期:2023-09-25 09:26
本申请涉及消息中间件故障测试技术领域,尤其涉及模拟消息中间件故障的测试的方法、系统及装置。本申请通过获取测试人员发布的相关测试指令;利用所述测试指令,通过代理进程对所述测试指令进行协议解析;对所述协议解析的结果进行故障匹配,若匹配到了故障注入配置信息,则进行故障注入,抛出故障信息;否则继续进行消息收发处理,将所述协议解析的结果发送到消息中间件集群。本申请通过加入代理进程,帮助实现对消息中间件进行故障测试时,将测试范围控制在最小半径且做到语言无关化,不论应用的开发使用的何种语言进行编程,都可以用相同的方式进行故障注入测试,操作简单,提升测试效率。效率。效率。

【技术实现步骤摘要】
模拟消息中间件故障的测试的方法、系统及装置


[0001]本申请涉及消息中间件故障测试
,尤其涉及模拟消息中间件故障的测试的方法、系统及装置。

技术介绍

[0002]在接入了消息中间件的计算机应用系统中,如果要测试消息中间件故障,即消息的发送与接收失败时,应用系统的反应,当前主要有两种方式:一种是对消息的发送与接收进行人工干预,比如进行代码断点引发发送接收的超时效应,或者人工进行网络设施及网络端口的屏蔽以达到消息发送接收的失败,第二种是引入混沌工程进行故障注入。第一种方式人工操作极为麻烦效率低下,且对一线测试技术要求较高,同时人工操作也容易引发测试环境不可用的风险,无法将测试范围控制在最小半径,第二种方式对一线测试人员的技术要求极高,且混沌工程的部署实施极其麻烦内容及概念复杂,不易理解,混沌工程故障注入的内容繁多,针对消息故障注入模块只有网络端口控制与字节码注入方式,要想精准控制测试目标消息,需要对目标应用字节码进行侵入,对不同语言开发的系统操作方式也不一样,这都需要有一定的代码功底,且需要对应用代码非常熟悉,这无疑提高了使用门槛。
[0003]即现有技术中,在对消息中间件进行故障测试时,无法将测试范围控制在最小半径且对不同语言开发的系统操作方式也不一样。

技术实现思路

[0004]为至少在一定程度上克服相关技术中对消息中间件进行故障测试时,无法将测试范围控制在最小半径且对不同语言开发的系统操作方式也不一样的问题,本申请提供涉及模拟消息中间件故障的测试的方法、系统及装置。
[0005]本申请的方案如下:
[0006]第一方面,本申请提供模拟消息中间件故障的测试的方法,所述方法包括:
[0007]获取测试人员发布的相关测试指令;
[0008]利用所述测试指令,通过代理进程对所述测试指令进行协议解析;
[0009]对所述协议解析的结果进行故障匹配,若匹配到了故障注入配置信息,则进行故障注入,抛出故障信息;
[0010]否则继续进行消息收发处理,将所述协议解析的结果发送到消息中间件集群。
[0011]进一步地,所述对所述协议解析的结果进行故障匹配,若匹配到了故障注入配置信息,则进行故障注入,抛出故障信息,包括:
[0012]搜索故障中心的所有配置规则,对所述协议解析的结果与故障中心的配置规则进行正则匹配,若所述协议解析的结果与所述故障中心的配置规则中的任一规则中的故障三要素匹配成功,则进行故障注入,抛出故障信息。
[0013]进一步地,所述利用所述测试指令,通过代理进程对所述测试指令进行协议解析
之前,包括:
[0014]代理进程启动后,需要相关应用进程将原来配置的对消息中间件集群的网络监听端口进行修改,修改为监听所述代理进程的网络端口。
[0015]进一步地,所述故障三要素,包括:匹配主题、匹配内容、指定故障类型。
[0016]第二方面,本申请提供模拟消息中间件故障的测试的系统,所述系统包括:
[0017]获取模块,用于获取测试人员发布的相关测试指令;
[0018]解析模块,用于利用所述测试指令,通过代理进程对所述测试指令进行协议解析;
[0019]故障判断模块,用于对所述协议解析的结果进行故障匹配,若匹配到了故障注入配置信息,则进行故障注入,抛出故障信息;
[0020]否则继续进行消息收发处理,将所述协议解析的结果发送到消息中间件集群。
[0021]第三方面,本申请提供模拟消息中间件故障的测试的装置,所述装置包括:
[0022]存储器,其上存储有可执行程序;
[0023]处理器,用于执行所述存储器中的所述可执行程序,以实现上述中任一项所述方法的步骤。
[0024]本申请提供的技术方案可以包括以下有益效果:
[0025]本申请通过获取测试人员发布的相关测试指令;利用所述测试指令,通过代理进程对所述测试指令进行协议解析;
[0026]对所述协议解析的结果进行故障匹配,若匹配到了故障注入配置信息,则进行故障注入,抛出故障信息;否则继续进行消息收发处理,将所述协议解析的结果发送到消息中间件集群。本申请通过加入代理进程,帮助实现对消息中间件进行故障测试时,将测试范围控制在最小半径且做到语言无关化,不论应用的开发使用的何种语言进行编程,都可以用相同的方式进行故障注入测试,操作简单,提升测试效率。
[0027]应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
[0028]此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
[0029]图1是本申请一个实施例提供的模拟消息中间件故障的测试的方法流程示意图;
[0030]图2是本申请另一个实施例提供的模拟消息中间件故障的测试的代理进程配置修改流程图;
[0031]图3是本申请又一个实施例提供的通过代理进程模拟消息中间件故障的测试的方法流程示意图;
[0032]图4是本申请一个实施例提供的模拟消息中间件故障的测试的系统组成示意图;
[0033]图5是本申请一个实施例提供的模拟消息中间件故障的测试的装置组成示意图。
具体实施方式
[0034]这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例
中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
[0035]实施例一
[0036]请参阅图1,图1是本申请一个实施例提供的模拟消息中间件故障的测试的方法流程示意图,所述方法包括:
[0037]S1.获取测试人员发布的相关测试指令;
[0038]S2.利用所述测试指令,通过代理进程对所述测试指令进行协议解析;
[0039]S3.对所述协议解析的结果进行故障匹配,若匹配到了故障注入配置信息,则进行故障注入,抛出故障信息;
[0040]S4.否则继续进行消息收发处理,将所述协议解析的结果发送到消息中间件集群。
[0041]在一个实施例中,所述获取测试人员发布的相关测试指令,包括:
[0042]测试人员通过故障配置控制台发布相关测试指令,后台获取测试人员发布的相关测试指令。
[0043]在一个实施例中,所述代理进程,作为应用与消息中间件集群之间的桥梁,发当有消息的发送与接收时,都会先通过代理进程进行消息代理,对于无故障注入需要的消息,代理进程直接中转消息给应用或者消息中间件集群,对有故障流入要求的消息,则按要求抛出故障。
[0044]在一个实施例中,如步骤S3所示,所述对所述协议解析的结果进行故障匹配,若匹配到了故障注入配置信息,则进行故障注入,抛出故障信息,包括:
...

【技术保护点】

【技术特征摘要】
1.模拟消息中间件故障的测试的方法,其特征在于,所述方法包括:获取测试人员发布的相关测试指令;利用所述测试指令,通过代理进程对所述测试指令进行协议解析;对所述协议解析的结果进行故障匹配,若匹配到了故障注入配置信息,则进行故障注入,抛出故障信息;否则继续进行消息收发处理,将所述协议解析的结果发送到消息中间件集群。2.根据权利要求1所述的方法,其特征在于,所述对所述协议解析的结果进行故障匹配,若匹配到了故障注入配置信息,则进行故障注入,抛出故障信息,包括:搜索故障中心的所有配置规则,对所述协议解析的结果与故障中心的配置规则进行正则匹配,若所述协议解析的结果与所述故障中心的配置规则中的任一规则中的故障三要素匹配成功,则进行故障注入,抛出故障信息。3.根据权利要求1所述的方法,其特征在于,所述利用所述测试指令,通过代理进程对所述测试指令进行协议解析之前,包括:代理进程启动后,需...

【专利技术属性】
技术研发人员:曾一迅
申请(专利权)人:上海中通吉网络技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1