[发明专利]一种故障注入方法、装置及设备有效
申请号: | 201810573924.9 | 申请日: | 2018-06-06 |
公开(公告)号: | CN109032825B | 公开(公告)日: | 2021-09-14 |
发明(设计)人: | 邱硕 | 申请(专利权)人: | 创新先进技术有限公司 |
主分类号: | G06F11/07 | 分类号: | G06F11/07;G06F8/30 |
代理公司: | 北京国昊天诚知识产权代理有限公司 11315 | 代理人: | 许志勇 |
地址: | 英属开曼群岛大开曼*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 故障 注入 方法 装置 设备 | ||
1.一种故障注入方法,包括:
拦截目标服务方法的调用请求,所述调用请求中包括所述目标服务方法的标识和调用参数的数值;
如果预定的目标故障描述信息与所述目标服务方法的标识和调用参数的数值相匹配,则对所述目标服务方法注入所述目标故障描述信息对应的目标故障注入逻辑,以确定执行所述目标故障注入逻辑产生的故障结果,所述目标故障描述信息包括进行故障注入的服务方法的标识和所述服务方法对应的调用参数的数值,所述目标故障注入逻辑对应的故障类型包括前置类,所述目标故障描述信息是通过领域专用语言DSL编写。
2.根据权利要求1所述的方法,所述对所述目标服务方法注入所述目标故障描述信息对应的目标故障注入逻辑,包括:
获取所述目标故障注入逻辑对应的故障类型,所述故障类型包括前置类和非前置类;
如果所述故障类型为前置类,则对所述目标服务方法注入所述目标故障描述信息对应的目标故障注入逻辑。
3.根据权利要求2所述的方法,所述前置类包括抛错、延迟和篡改参数数值,
所述如果所述故障类型为前置类,则对所述目标服务方法注入所述目标故障描述信息对应的目标故障注入逻辑,包括:
如果所述故障类型为前置类中的第一子类,则根据所述第一子类,判断是否在调用所述目标服务方法前,对所述目标服务方法注入所述目标故障描述信息对应的目标故障注入逻辑,其中,所述第一子类为抛错、延迟或篡改参数数值。
4.根据权利要求1所述的方法,所述目标故障描述信息中包括多个关键字段,所述多个关键字段分别用于表征进行故障注入的服务方法的标识和调用参数的数值,以及注入的故障逻辑的内容。
5.根据权利要求4所述的方法,所述目标故障描述信息的多个关键字段分别为FROM、WHERE和UPDATE。
6.根据权利要求4或5所述的方法,所述方法还包括:
对所述目标故障描述信息的内容进行分析,分别得到每个关键字段对应的内容;
如果预定的目标故障描述信息与所述目标服务方法的标识和调用参数的数值相匹配,则对所述目标服务方法注入所述目标故障描述信息对应的目标故障注入逻辑,包括:
如果得到的所述关键字段对应的内容与所述目标服务方法的标识和调用参数的数值相匹配,则对所述目标服务方法注入所述目标故障描述信息对应的目标故障注入逻辑。
7.根据权利要求1所述的方法,所述对所述目标服务方法注入所述目标故障描述信息对应的目标故障注入逻辑之后,所述方法还包括:
利用Java工具Java Instrument或面向切面编程AOP机制,对所述目标故障注入逻辑对应的调用参数的数值或所述调用参数的返回值进行修改,以更新所述目标故障注入逻辑。
8.一种故障注入装置,包括:
请求拦截模块,用于拦截目标服务方法的调用请求,所述调用请求中包括所述目标服务方法的标识和调用参数的数值;
注入模块,用于如果预定的目标故障描述信息与所述目标服务方法的标识和调用参数的数值相匹配,则对所述目标服务方法注入所述目标故障描述信息对应的目标故障注入逻辑,以确定执行所述目标故障注入逻辑产生的故障结果,所述目标故障描述信息包括进行故障注入的服务方法的标识和所述服务方法对应的调用参数的数值,所述目标故障注入逻辑对应的故障类型包括前置类,所述目标故障描述信息是通过领域专用语言DSL编写。
9.根据权利要求8所述的装置,所述装置通过面向切面编程AOP机制确定。
10.根据权利要求9所述的装置,所述注入模块,包括:
类型获取单元,用于获取所述目标故障注入逻辑对应的故障类型,所述故障类型包括前置类和非前置类;
注入单元,用于如果所述故障类型为前置类,则对所述目标服务方法注入所述目标故障描述信息对应的目标故障注入逻辑。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于创新先进技术有限公司,未经创新先进技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810573924.9/1.html,转载请声明来源钻瓜专利网。