服务调用方法、装置、电子设备和存储介质制造方法及图纸

技术编号:37176414 阅读:9 留言:0更新日期:2023-04-20 22:45
本发明专利技术提供了服务调用方法、装置、电子设备和存储介质,所述方法包括:服务调用方获取服务提供方的状态信息,所述状态信息包括所述服务调用方调用所述服务提供方提供的第三方服务的耗时数据;所述服务调用方根据所述耗时数据确定所述服务提供方的负载;所述服务调用方在所述负载超过第一预设值的情况下,减少调用所述第三方服务的重试次数。这样,可以根据负载情况积极的调整调用策略,以满足服务调用方的业务需求的同时,减少了频繁调用第三方服务未响应而出现熔断的情况,进而减少了业务流程异常或数据丢失的情况,提升了调用第三方服务时的可靠性。务时的可靠性。务时的可靠性。

【技术实现步骤摘要】
服务调用方法、装置、电子设备和存储介质


[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]确定模块,用于所述服务调用方根据所述耗时数据确定所述服务提供方的负载;
[0030]第一执行模块,用于所述服务调用方在所述负载超过第一预设值的情况下,减少调用所述第三方服务的重试次数。
[0031]可选地,所述确定模块包括:
[0032]选取子模块,用于所述服务调用方将所述耗时数据以递增的顺序排列后,选取的位于预设百分比位置的值作为分位数;
[0033]确定子模块,用于所述服务调用方基于所述分位数确定第三方服务的负载。
[0034]可选地,所述装置还包括:
[0035]第二执行模块,用于所述服务调用方在所述负载超过第二预设值的情况下,增加调用所述第三方服务的重试间隔时间,所述第二预设值与所述第一预设值相同或不同。
[0036]可选地,所述装置还包括:
[0037]第三执行模块,用于所述服务调用方在所述负载超过第三预设值的情况下,关闭调用所述第三方服务的重试,所述第三预设值大于所述第一预设值。
[0038]可选地,所述装置还包括:
[0039]第二获取模块,用于所述服务调用方获取所述第三方服务的执行情况;
[0040]存储模块,用于所述服务调用方将所述执行情况和所述状态信息持久化至存储设备;
[0041]其中,所述状态信息还包括第三方服务的接口数据、状态码数据和时间戳数据。
[0042]可选地,所述第一获取模块包括:
[0043]发送子模块,用于服务调用方发送第三方服务请求至服务提供方,所述服务提供方用于提供所述第三方服务;
[0044]获取子模块,用于所述服务调用方获取所述服务提供方根据所述第三方服务请求生成的反馈结果,所述反馈结果包括所述第三方服务请求的响应时间;
[0045]计算子模块,用于根据所述反馈结果,得到所述服务提供方的状态信息。
[0046]可选地,所述计算子模块包括:
[0047]计算单元,用于计算至少两个所述第三方服务请求的响应时间的平均值,得到所述服务提供方的状态信息。
[0048]第三方面,本专利技术实施例还提供了一种电子设备,包括处理器和存储器,所述存储器存储可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如第一方面所述的方法的步骤。
[0049]第四方面,本专利技术实施例还提供了一种可读存储介质,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现如第一方面所述的方法的步骤。
[0050]本专利技术实施例中,服务调用方在调用第三方服务的时候,通过获取服务提供方提供的第三方服务的耗时数据,以确定服务提供方的负载情况,在服务提供方负载超过第一预设值时,减少调用第三方服务的重试次数,这样,可以根据负载情况积极的调整调用策略,以满足服务调用方的业务需求的同时,减少了频繁调用第三方服务未响应而出现熔断的情况,进而减少了业务流程异常或数据丢失的情况,提升了调用第三方服务时的可靠性。
附图说明
[0051]为了更清楚地说明本专利技术实施例的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0052]图1是本专利技术实施例本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种服务调用方法,其特征在于,所述方法包括:服务调用方获取服务提供方的状态信息,所述状态信息包括所述服务调用方调用所述服务提供方提供的第三方服务的耗时数据;所述服务调用方根据所述耗时数据确定所述服务提供方的负载;所述服务调用方在所述负载超过第一预设值的情况下,减少调用所述第三方服务的重试次数。2.根据权利要求1所述的方法,其特征在于,所述服务调用方根据所述耗时数据确定所述服务提供方的负载,包括:所述服务调用方将所述耗时数据以递增的顺序排列后,选取的位于预设百分比位置的值作为分位数;所述服务调用方基于所述分位数确定第三方服务的负载。3.根据权利要求1所述的方法,其特征在于,在所述服务调用方根据所述耗时数据确定所述服务提供方的负载之后,所述方法还包括:所述服务调用方在所述负载超过第二预设值的情况下,增加调用所述第三方服务的重试间隔时间,所述第二预设值与所述第一预设值相同或不同。4.根据权利要求1所述的方法,其特征在于,在所述服务调用方根据所述耗时数据确定所述服务提供方的负载之后,所述方法还包括:所述服务调用方在所述负载超过第三预设值的情况下,关闭调用所述第三方服务的重试,所述第三预设值大于所述第一预设值。5.根据权利要求1所述的方法,其特征在于,在所述减少调用所述第三方服务的重试次数之后,所述方法还包括:所述服务调用方获取所述第三方服务的执行情况;所述服务调用方将所述执行情况和所述状态信息持久化至存储设备;其中,所述状态信息还包括...

【专利技术属性】
技术研发人员:韩海文
申请(专利权)人:北京奇艺世纪科技有限公司
类型:发明
国别省市:

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

1