本技术涉及方法调用,尤其涉及一种本地部分方法异常的处理方法、装置、设备及存储介质。
背景技术:
1、相关技术中,同一套功能软件核心处理逻辑不变,但是由于部署环境不同,比如带宽、性能、延时和前端负载配置方式、后面可待处理资源差异等因素,会偶尔出现相似处理过程且绝大部分结果符合请求预期表现一致(比如成功率),但也存在处理的对象和运行环境有差异,造成结果存在失败的可能性。即存在某些部署节点可能发生某一项功能出现异常,而其他部署节点上相同功能正常运行的情况,此时若关闭此节点,则会造成资源的浪费。
技术实现思路
1、本技术提供一种本地部分方法异常的处理方法、装置、设备及存储介质,以至少解决相关技术中节点某功能出现异常时不用重启该节点或者直接停用该节点从而影响资源利用率的问题。本技术的技术方案如下:
2、根据本技术实施例的第一方面,提供一种本地部分方法异常的处理方法,包括:
3、响应于接收到第一系统请求,获取当前生效的处理模式;所述处理模式包括第一处理模式和第二处理模式,所述第一处理模式为先调用本地方法处理,发生异常后调用远程方法处理;所述第二处理模式为直接调用远程方法处理;
4、在所述当前生效的处理模式为第一处理模式时,调用本地的第一功能方法处理所述第一系统请求;
5、检测调用所述第一功能方法处理所述第一系统请求时是否出现异常;
6、在检测到所述第一功能方法处理所述第一系统请求时出现异常的情况下,根据配置信息,确定与所述第一功能方法关联的位于目标远程节点的目标处理方法;所述目标处理方法与所述第一功能方法属于相同版本的相同模块或者属于不同版本的相同模块;
7、远程调用所述目标远程节点的目标处理方法处理所述第一系统请求,返回远程调用结果。
8、在一些实现方式中,所述检测调用所述第一功能方法处理所述第一系统请求时是否出现异常,包括:
9、获取调用所述第一功能方法时的调用信息;
10、基于所述调用信息,检测调用所述第一功能方法处理所述第一系统请求时是否出现异常。
11、在一些实现方式中,所述检测调用所述第一功能方法处理所述第一系统请求时是否出现异常,包括:
12、获取所述第一功能方法处理所述第一系统请求时的返回状态信息;
13、基于所述返回状态信息,检测调用所述第一功能方法处理所述第一系统请求时是否出现异常。
14、在一些实现方式中,所述根据配置信息,确定与所述第一功能方法关联的位于目标远程节点的目标处理方法,包括:
15、获取远程处理方法配置表;所述远程处理方法配置表用于存储本地功能模块对应的远端方法调用方式的配置信息;
16、基于所述远程处理方法配置表中的配置信息,确定与所述第一功能方法关联的位于目标远程节点的目标处理方法。
17、在一些实现方式中,所述远程调用所述目标远程节点的目标处理方法处理所述第一系统请求,包括:
18、获取所述第一功能方法的远程调用执行开关的开关状态;
19、在所述开关状态指示开启远程调用时,远程调用所述目标远程节点的目标处理方法处理所述第一系统请求。
20、在一些实现方式中,所述远程调用所述目标远程节点的目标处理方法处理所述第一系统请求,返回远程调用结果之后,还包括:
21、基于所述远程调用结果,判断远程调用所述目标远程节点的目标处理方法处理所述第一系统请求时是否出现异常;
22、在远程调用所述目标远程节点的目标处理方法处理所述第一系统请求时出现异常的情况下,返回调用本地的第一功能方法处理所述第一系统请求。
23、在一些实现方式中,所述方法还包括:
24、在所述当前生效的处理模式为第二处理模式时,根据配置信息,确定与所述第一功能方法关联的位于目标远程节点的目标处理方法。
25、根据本技术实施例的第二方面,提供一种本地部分方法异常的处理装置,包括:
26、请求接收模块,用于响应于接收到第一系统请求,获取当前生效的处理模式;所述处理模式包括第一处理模式和第二处理模式,所述第一处理模式为先调用本地方法处理,发生异常后调用远程方法处理;所述第二处理模式为直接调用远程方法处理;
27、服务处理模块,用于在所述当前生效的处理模式为第一处理模式时,调用本地的第一功能方法处理所述第一系统请求;
28、异常检测模块,用于检测调用所述第一功能方法处理所述第一系统请求时是否出现异常;
29、调用定位模块,用于在检测到所述第一功能方法处理所述第一系统请求时出现异常的情况下,根据配置信息,确定与所述第一功能方法关联的位于目标远程节点的目标处理方法;所述目标处理方法与所述第一功能方法属于相同版本的相同模块或者属于不同版本的相同模块;
30、远程调用模块,用于远程调用所述目标远程节点的目标处理方法处理所述第一系统请求,返回远程调用结果。
31、在一些实现方式中,异常检测模块,具体用于:
32、获取调用所述第一功能方法时的调用信息;
33、基于所述调用信息,检测调用所述第一功能方法处理所述第一系统请求时是否出现异常。
34、在一些实现方式中,所述异常检测模块,还具体用于::
35、获取所述第一功能方法处理所述第一系统请求时的返回状态信息;
36、基于所述返回状态信息,检测调用所述第一功能方法处理所述第一系统请求时是否出现异常。
37、在一些实现方式中,所述调用定位模块,具体用于:
38、获取远程处理方法配置表;所述远程处理方法配置表用于存储本地功能模块对应的远端方法调用方式的配置信息;
39、基于所述远程处理方法配置表中的配置信息,确定与所述第一功能方法关联的位于目标远程节点的目标处理方法。
40、在一些实现方式中,所述远程调用模块,具体用于:
41、获取所述第一功能方法的远程调用执行开关的开关状态;
42、在所述开关状态指示开启远程调用时,远程调用所述目标远程节点的目标处理方法处理所述第一系统请求。
43、在一些实现方式中,所述调用定位模块,还用于:
44、基于所述远程调用结果,判断远程调用所述目标远程节点的目标处理方法处理所述第一系统请求时是否出现异常;
45、在远程调用所述目标远程节点的目标处理方法处理所述第一系统请求时出现异常的情况下,返回调用本地的第一功能方法处理所述第一系统请求。
46、在一些实现方式中,所述调用定位模块,还用于:
47、在所述当前生效的处理模式为第二处理模式时,根据配置信息,确定与所述第一功能方法关联的位于目标远程节点的目标处理方法。
48、根据本技术实施例的第三方面,提供一种电子设备,包括:处理器,以及与所述处理器通信连接的存储器;所述存储器存储计算机执行指令;所述处理器执行所述存储器存储的计算机执行指令,以实现第一方面所述的方法。
49、根据本技术实施例的第四方面,提供一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现第一方面所述的方法。
50、根据本技术实施例的第五方面,提供一种计算机程序产品,其特征在于,包括计算机程序,该计算机程序被处理器执行时实现第一方面所述的方法。
51、本技术的实施例提供的技术方案至少带来以下有益效果:
52、在检测到调用本地方法处理系统请求出现异常的情况下,通过远程调用其他节点的同模块或者不同版本的同模块去处理系统请求,在不关闭整个节点的情况下,异常节点的部分功能障碍下整体功能依然可以保持降级后的完整性,能够最大化实现计算能力,成本极低,最小影响业务。
53、应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本技术。
1.一种本地部分方法异常的处理方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述检测调用所述第一功能方法处理所述第一系统请求时是否出现异常,包括:
3.根据权利要求1所述的方法,其特征在于,所述检测调用所述第一功能方法处理所述第一系统请求时是否出现异常,包括:
4.根据权利要求1所述的方法,其特征在于,所述根据配置信息,确定与所述第一功能方法关联的位于目标远程节点的目标处理方法,包括:
5.根据权利要求1所述的方法,其特征在于,所述远程调用所述目标远程节点的目标处理方法处理所述第一系统请求,包括:
6.根据权利要求1所述的方法,其特征在于,所述远程调用所述目标远程节点的目标处理方法处理所述第一系统请求,返回远程调用结果之后,还包括:
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
8.一种本地部分方法异常的处理装置,其特征在于,包括:
9.一种电子设备,其特征在于,包括:处理器,以及与所述处理器通信连接的存储器;所述存储器存储计算机执行指令;所述处理器执行所述存储器存储的计算机执行指令,以实现如权利要求1-7中任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如权利要求1-7中任一项所述的方法。
11.一种计算机程序产品,其特征在于,包括计算机程序,该计算机程序被处理器执行时实现权利要求1-7中任一项所述的方法。