异常捕获方法、装置、设备及存储介质制造方法及图纸

技术编号:35897050 阅读:17 留言:0更新日期:2022-12-10 10:31
本发明专利技术涉及微服务领域,公开了一种异常捕获方法、装置、设备及存储介质,应用于微服务系统,包括网关层和至少一个微服务模块,该方法包括:通过网关层获取请求方发出的业务请求,并根据业务请求确定需调用的至少一个微服务模块和对应的接口;通过接口依次调用对应的微服务模块,并在每次调用微服务模块时判断是否满足业务请求对应的业务需求;当不满足时,则通过当前微服务模块的上层调用者对当前微服务模块抛出的异常依次上抛,并对异常进行处理,得到异常处理结果集;当满足时,则通过网关层向请求方返回调用成功的消息。本方法通过每个微服务模块对上抛的异常数据处理的方式,确保在每个环节都能明确得知异常所在,提升研发人员的效率。人员的效率。人员的效率。

【技术实现步骤摘要】
异常捕获方法、装置、设备及存储介质


[0001]本专利技术涉及微服务领域,尤其涉及一种异常捕获方法、装置、设备及存储介质。

技术介绍

[0002]许多云平台分为网关层和为服务于整个云平台的各个业务模块,而各个业务模块存在微服务接口的互相调用,而现微服务接口大多数只提供了简单与数据库交互的过程,而业务逻辑则大多数编写在了管理层,导致了及大部分业务逻辑重复,也有部分业务逻辑是编写在各自微服务的,或后续开发的crm模块等等,它们又做一些参数校验,指定性异常的抛出,从而提供界面的用户体验,但存在被调用者异常抛出后,调用者无法捕获微服务异常,而是只能捕捉到特定的异常,导致现有系统无法精准定位微服务异常,客户体验不友好。

技术实现思路

[0003]本专利技术的主要目的在于解决现有的系统无法精准定位微服务异常的技术问题。
[0004]本专利技术第一方面提供了一种异常捕获方法,应用于微服务系统,所述微服务系统包括一个网关层和至少一个微服务模块,包括:通过所述网关层获取请求方发出的业务请求,并根据所述业务请求确定需调用的至少一个微服务模块和对应的接口;通过所述接口依次调用对应的微服务模块,并在每次调用微服务模块时判断是否满足所述业务请求对应的业务需求;当存在不满足业务需求的微服务模块时,则通过当前微服务模块的上层调用者对当前微服务模块抛出的异常依次上抛,并对所述异常进行处理,得到异常处理结果集,通过所述网关层向所述请求方返回所述异常处理结果集和调用异常的消息;当不存在不满足业务需求的微服务模块时,则通过所述网关层向所述请求方返回调用成功的消息。
[0005]可选的,在本专利技术第一方面的第一种实现方式中,在所述通过所述网关层获取请求方发出的业务请求之前,还包括:在所述网关层封装异常基类实体,基于所述异常基类实体构建全局捕获机制;在各所述微服务模块进行自定义异常封装,得到对应的自定义封装类,其中,所述自定义封装类继承至所述异常基类实体。
[0006]可选的,在本专利技术第一方面的第二种实现方式中,所述通过当前微服务模块的上层调用者对当前微服务模块抛出的异常依次上抛,并对所述异常进行处理,得到异常处理结果集包括:通过当前微服务模块继承自网关层的自定义异常封装类抛出异常;通过所述网关层的全局捕获机制对当前微服务模块抛出的异常进行捕获,并对所述异常进行响应信息改造,通过当前微服务模块的上层调用者对改造后的所述异常依次上抛,直至上抛至所述网关层;通过所述网管层的异常处理机制对所述异常进行处理,得到异常处理结果集。
[0007]可选的,在本专利技术第一方面的第三种实现方式中,所述通过所述网关层的全局捕获机制对当前微服务模块抛出的异常进行捕获包括:通过所述网关层的全局捕获机制获取当前微服务模块抛出的信息;判断当前微服务模块抛出的信息是否为异常基类实体或者自定义异常封装类;若是,则将当前微服务模块抛出的信息识别为异常进行捕获。
[0008]可选的,在本专利技术第一方面的第四种实现方式中,所述对所述异常进行响应信息改造,通过当前微服务模块的上层调用者对改造后的所述异常依次上抛,直至上抛至所述网关层包括:对所述异常进行响应信息改造,对所述异常封装响应框架,并将所述异常的响应状态修改为errorMsgCode;通过调用当前微服务模块的上一微服务模块的异常拦截机制对响应信息改造后的异常进行拦截;通过上一微服务模块的自定义异常封装类将所述异常抛出,并被再上一微服务模块的异常拦截机制进行拦截,直至上抛至所述网关层。
[0009]可选的,在本专利技术第一方面的第五种实现方式中,在所述当前微服务模块继承自网关层的自定义异常封装类抛出异常之后,还包括:获取当前微服务模块的国际化识别码;解析所述异常,得到所述异常的异常key键,并基于所述异常key键从预设的数据库获取对应的国际化异常信息;通过当前微服务模块的国际化识别码响应所述国际化异常信息。
[0010]可选的,在本专利技术第一方面的第六种实现方式中,所述通过所述网管层的异常处理机制对所述异常进行处理,得到异常处理结果集包括:通过所述网管层的异常处理机制根据所述响应信息确定所述异常的异常类型;根据所述异常类型获取对应的异常处理脚本;通过所述异常处理脚本处理所述异常,得到异常处理结果集。
[0011]本专利技术第二方面提供了一种异常捕获装置,所述异常捕获装置应用于微服务系统,所述微服务系统包括一个网关层和至少一个微服务模块,所述异常捕获装置包括:接口确定模块,用于通过所述网关层获取请求方发出的业务请求,并根据所述业务请求确定需调用的至少一个微服务模块和对应的接口;判断模块,用于通过所述接口依次调用对应的微服务模块,并在每次调用微服务模块时判断是否满足所述业务请求对应的业务需求;异常处理模块,用于当存在不满足业务需求的微服务模块时,则通过当前微服务模块的上层调用者对当前微服务模块抛出的异常依次上抛,并对所述异常进行处理,得到异常处理结果集,通过所述网关层向所述请求方返回所述异常处理结果集和调用异常的消息;成功通知模块,用于当不存在不满足业务需求的微服务模块时,则通过所述网关层向所述请求方返回调用成功的消息。
[0012]可选的,在本专利技术第二方面的第一种实现方式中,所述异常捕获装置还包括封装模块,所述封装模块具体用于:在所述网关层封装异常基类实体,基于所述异常基类实体构建全局捕获机制;在各所述微服务模块进行自定义异常封装,得到对应的自定义封装类,其中,所述自定义封装类继承至所述异常基类实体。
[0013]可选的,在本专利技术第二方面的第二种实现方式中,所述异常处理模块具体包括:异常抛出单元,用于当前微服务模块继承自网关层的自定义异常封装类抛出异常;改造单元,用于通过所述网关层的全局捕获机制对当前微服务模块抛出的异常进行捕获,并对所述异常进行响应信息改造,通过当前微服务模块的上层调用者对改造后的所述异常依次上抛,直至上抛至所述网关层;处理单元,用于通过所述网管层的异常处理机制对所述异常进行处理,得到异常处理结果集。
[0014]可选的,在本专利技术第二方面的第三种实现方式中,所述改造单元具体用于:通过所述网关层的全局捕获机制获取当前微服务模块抛出的信息;判断当前微服务模块抛出的信息是否为异常基类实体或者自定义异常封装类;若是,则将当前微服务模块抛出的信息识别为异常进行捕获。
[0015]可选的,在本专利技术第二方面的第四种实现方式中,所述改造单元具体还用于:对所
述异常进行响应信息改造,对所述异常封装响应框架,并将所述异常的响应状态修改为errorMsgCode;通过调用当前微服务模块的上一微服务模块的异常拦截机制对响应信息改造后的异常进行拦截;通过上一微服务模块的自定义异常封装类将所述异常抛出,并被再上一微服务模块的异常拦截机制进行拦截,直至上抛至所述网关层。
[0016]可选的,在本专利技术第二方面的第五种实现方式中,所述异常捕获装置还包括国际化模块,所述国际化模块具体用于:获取当前微服务模块的国际化识别码;解析所述异常,得到所述异常的异常key键,并基于所述异常key键从预设的数本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种异常捕获方法,其特征在于,所述异常捕获方法应用于微服务系统,所述微服务系统包括一个网关层和至少一个微服务模块,所述异常捕获方法包括:通过所述网关层获取请求方发出的业务请求,并根据所述业务请求确定需调用的至少一个微服务模块和对应的接口;通过所述接口依次调用对应的微服务模块,并在每次调用微服务模块时判断是否满足所述业务请求对应的业务需求;当存在不满足业务需求的微服务模块时,则通过当前微服务模块的上层调用者对当前微服务模块抛出的异常依次上抛,并对所述异常进行处理,得到异常处理结果集,通过所述网关层向所述请求方返回所述异常处理结果集和调用异常的消息;当不存在不满足业务需求的微服务模块时,则通过所述网关层向所述请求方返回调用成功的消息。2.根据权利要求1所述的异常捕获方法,其特征在于,在所述通过所述网关层获取请求方发出的业务请求之前,还包括:在所述网关层封装异常基类实体,基于所述异常基类实体构建全局捕获机制;在各所述微服务模块进行自定义异常封装,得到对应的自定义封装类,其中,所述自定义封装类继承至所述异常基类实体。3.根据权利要求2所述的异常捕获方法,其特征在于,所述通过当前微服务模块的上层调用者对当前微服务模块抛出的异常依次上抛,并对所述异常进行处理,得到异常处理结果集包括:通过当前微服务模块继承自网关层的自定义异常封装类抛出异常;通过所述网关层的全局捕获机制对当前微服务模块抛出的异常进行捕获,并对所述异常进行响应信息改造,通过当前微服务模块的上层调用者对改造后的所述异常依次上抛,直至上抛至所述网关层;通过所述网管层的异常处理机制对所述异常进行处理,得到异常处理结果集。4.根据权利要求3所述的异常捕获方法,其特征在于,所述通过所述网关层的全局捕获机制对当前微服务模块抛出的异常进行捕获包括:通过所述网关层的全局捕获机制获取当前微服务模块抛出的信息;判断当前微服务模块抛出的信息是否为异常基类实体或者自定义异常封装类;若是,则将当前微服务模块抛出的信息识别为异常进行捕获。5.根据权利要求3所述的异常捕获方法,其特征在于,所述对所述异常进行响应信息改造,通过当前微服务模块的上层调用者对改造后的所述异常依次上抛,直至上抛至所述网关层包括:对所述异常进行响应信息改造,对所述异常封装响应框架,并将所述异常的响应状态修改为errorMsgCode;通过调用当前微服务模块的上一微服务模块的异常拦截机制对响应信息改造后的异...

【专利技术属性】
技术研发人员:谢斌谢卓锐雷朋飞宗毅穆凯彤黄福全
申请(专利权)人:广东芬尼克兹节能设备有限公司
类型:发明
国别省市:

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

1