System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及计算机,特别是涉及一种服务调用方法、装置、电子设备及存储介质。
技术介绍
1、在目前的网络架构体系中,服务间的调用是常见的一种场景,它涉及不同服务之间的通信和协作。服务间调用的超时时长是一个重要的配置,超时时长是指在服务间调用过程中,等待响应的最长时间,通过设置超时时长可以保护服务并确保系统的稳定性和可预测性。
2、目前,对于服务间调用的超时时长的设置,通常是根据经验设置,或者根据历史数据分析设置。但是,通过上述方式设置的超时时长在某些情况下并不合理,比如,由于网络原因导致服务间耗时增加进而导致超时,或者多个服务间串行调用导致在请求到达中间链路时已经超时等。在这些情况下服务并不会停止调用下游服务,直至到达超时时长,然而这些情况下的调用是无效调用,从而导致等待时间的浪费,增加服务的无效负载。
技术实现思路
1、本专利技术实施例的目的在于提供一种服务调用方法、装置、电子设备及存储介质,以实现避免无效调用,降低服务的无效负载。具体技术方案如下:
2、在本专利技术实施的第一方面,首先提供了一种服务调用方法,包括:
3、在拦截到调用服务向被调用服务发送的调用请求后,获取所述调用请求的超时时长,判断所述超时时长是否满足第一条件;
4、在所述超时时长不满足所述第一条件时,控制所述调用服务进行请求超时处理;
5、在所述超时时长满足所述第一条件时,控制所述调用服务向所述被调用服务发送所述调用请求。
6、可选地,所述
7、在拦截到所述被调用服务接收的所述调用请求后,获取所述调用请求的超时时长,判断所述超时时长是否满足第二条件;
8、在所述超时时长不满足所述第二条件时,控制所述被调用服务向所述调用服务返回请求超时响应;
9、在所述超时时长满足所述第二条件时,控制所述被调用服务处理所述调用请求。
10、可选地,判断所述超时时长是否满足第一条件,包括:
11、在所述调用服务为第一类型调用服务时,获取所述被调用服务的历史请求响应时长;所述第一类型调用服务是指起始发送所述调用请求的调用服务;
12、在所述历史请求响应时长小于等于所述超时时长时,确定所述超时时长满足所述第一条件;
13、在所述历史请求响应时长大于所述超时时长时,确定所述超时时长不满足所述第一条件。
14、可选地,判断所述超时时长是否满足第一条件,包括:
15、在所述调用服务为第二类型调用服务时,获取所述被调用服务的历史请求响应时长、所述调用请求的起始发送时间点、以及所述调用服务发送所述调用请求的转发发送时间点;所述第二类型调用服务是指接收并转发所述调用请求的调用服务;
16、计算所述转发发送时间点与所述起始发送时间点相减得到的第一时长,计算所述第一时长与所述历史请求响应时长相加得到的第二时长;
17、在所述第二时长小于等于所述超时时长时,确定所述超时时长满足所述第一条件;
18、在所述第二时长大于所述超时时长时,确定所述超时时长不满足所述第一条件。
19、可选地,获取所述被调用服务的历史请求响应时长,包括:
20、获取所述被调用服务在最近预设时间段内的多个请求响应时长;
21、对所述多个请求响应时长按照从小到大的顺序进行排序,将排序后的第n个请求响应时长作为所述被调用服务的历史请求响应时长,n为预设的正整数。
22、可选地,判断所述超时时长是否满足第二条件,包括:
23、获取所述被调用服务的历史请求处理时长、所述被调用服务接收所述调用请求的接收时间点、以及所述调用请求的起始发送时间点;
24、计算所述接收时间点与所述起始发送时间点相减得到的第三时长,计算所述第三时长与所述历史请求处理时长相加得到的第四时长;
25、在所述第四时长小于等于所述超时时长时,确定所述超时时长满足所述第二条件;
26、在所述第四时长大于所述超时时长时,确定所述超时时长不满足所述第二条件。
27、可选地,控制所述调用服务进行请求超时处理,包括:
28、在所述调用服务为第一类型调用服务时,控制所述调用服务向指定用户发出超时时长调整通知;所述第一类型调用服务是指起始发送所述调用请求的调用服务;
29、在所述调用服务为第二类型调用服务时,控制所述调用服务向自身的上游调用服务返回请求超时响应;所述第二类型调用服务是指接收并转发所述调用请求的调用服务。
30、在本专利技术实施的第二方面,还提供了一种服务调用装置,包括:
31、第一判断模块,用于在拦截到调用服务向被调用服务发送的调用请求后,获取所述调用请求的超时时长,判断所述超时时长是否满足第一条件;
32、第一控制模块,用于在所述超时时长不满足所述第一条件时,控制所述调用服务进行请求超时处理;
33、第二控制模块,用于在所述超时时长满足所述第一条件时,控制所述调用服务向所述被调用服务发送所述调用请求。
34、可选地,所述装置还包括:
35、第二判断模块,用于在拦截到所述被调用服务接收的所述调用请求后,获取所述调用请求的超时时长,判断所述超时时长是否满足第二条件;
36、第三控制模块,用于在所述超时时长不满足所述第二条件时,控制所述被调用服务向所述调用服务返回请求超时响应;
37、第四控制模块,用于在所述超时时长满足所述第二条件时,控制所述被调用服务处理所述调用请求。
38、可选地,所述第一判断模块包括:
39、第一获取单元,用于在所述调用服务为第一类型调用服务时,获取所述被调用服务的历史请求响应时长;所述第一类型调用服务是指起始发送所述调用请求的调用服务;
40、第一确定单元,用于在所述历史请求响应时长小于等于所述超时时长时,确定所述超时时长满足所述第一条件;在所述历史请求响应时长大于所述超时时长时,确定所述超时时长不满足所述第一条件。
41、可选地,所述第一判断模块包括:
42、第二获取单元,用于在所述调用服务为第二类型调用服务时,获取所述被调用服务的历史请求响应时长、所述调用请求的起始发送时间点、以及所述调用服务发送所述调用请求的转发发送时间点;所述第二类型调用服务是指接收并转发所述调用请求的调用服务;
43、第一计算单元,用于计算所述转发发送时间点与所述起始发送时间点相减得到的第一时长,计算所述第一时长与所述历史请求响应时长相加得到的第二时长;
44、第二确定单元,用于在所述第二时长小于等于所述超时时长时,确定所述超时时长满足所述第一条件;在所述第二时长大于所述超时时长时,确定所述超时时长不满足所述第一条件。
45、可选地,所述第一获取单元,具体用于获取所述被调用服务在最近预设时间段内的多个请求响应时长;对所述多个本文档来自技高网...
【技术保护点】
1.一种服务调用方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
3.根据权利要求1所述的方法,其特征在于,判断所述超时时长是否满足第一条件,包括:
4.根据权利要求1所述的方法,其特征在于,判断所述超时时长是否满足第一条件,包括:
5.根据权利要求3或4所述的方法,其特征在于,获取所述被调用服务的历史请求响应时长,包括:
6.根据权利要求2所述的方法,其特征在于,判断所述超时时长是否满足第二条件,包括:
7.根据权利要求1所述的方法,其特征在于,控制所述调用服务进行请求超时处理,包括:
8.一种服务调用装置,其特征在于,包括:
9.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-7任一所述的方法。
【技术特征摘要】
1.一种服务调用方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
3.根据权利要求1所述的方法,其特征在于,判断所述超时时长是否满足第一条件,包括:
4.根据权利要求1所述的方法,其特征在于,判断所述超时时长是否满足第一条件,包括:
5.根据权利要求3或4所述的方法,其特征在于,获取所述被调用服务的历史请求响应时长,包括:
6.根据权利要求2所述的方法,其特征在于,判...
【专利技术属性】
技术研发人员:程伟刚,
申请(专利权)人:北京奇艺世纪科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。