一种服务调用方法、装置、设备及存储介质与流程

文档序号:40884127发布日期:2025-02-11 12:35阅读:14来源:国知局
一种服务调用方法、装置、设备及存储介质与流程

本发明涉及通信,特别涉及一种服务调用方法、装置、设备及存储介质。


背景技术:

1、目前,在dubbo(一种服务框架)路由规则配置文件中,指定根据企业员工数量的阈值,将请求路由到不同的服务集群上。然而,每个服务都需要进行单独配置,复杂度和维护成本极高,而且难以应对企业类型的变化,比如新增的企业类型。

2、由上可见,如何在服务调用过程中简化企业服务的配置是目前亟待解决的问题。


技术实现思路

1、有鉴于此,本发明的目的在于提供一种服务调用方法、装置、设备及存储介质,能够在服务调用过程中简化企业服务的配置。其具体方案如下:

2、第一方面,本技术提供了一种服务调用方法,包括:

3、利用预设aop拦截器获取企业服务请求中的目标方法,并基于所述目标方法中的参数列表确定与预设企业编号注解对应的企业编号;

4、基于所述企业编号以及预设企业服务工具确定对应的目标企业类型,并将所述目标企业类型存入目标上下文中;所述目标上下文为远程过程调用期间传递的上下文信息;

5、通过预设服务提供机制运行编写好的目标负载均衡策略,并利用所述目标负载均衡策略从所述目标上下文获取所述目标企业类型;

6、基于所述目标企业类型确定相应的目标服务调用地址,以通过所述目标服务调用地址调用相应的企业服务。

7、可选的,所述利用预设aop拦截器获取企业服务请求中的目标方法,包括:

8、利用预设aop拦截器获取企业服务请求;

9、获取企业服务请求中满足预设请求条件的目标方法,并对所述目标方法进行环绕处理。

10、可选的,所述基于所述目标方法中的参数列表确定与预设企业编号注解对应的企业编号,包括:

11、对所述目标方法中的参数列表进行遍历;

12、若所述参数列表中的参数对应的数据类型为数字类型且被预设企业编号注解标记,则将所述参数对应的参数值转换为整数类型,以得到企业编号;

13、若所述参数列表中的参数对应的数据类型为非数字类型且被所述预设企业编号注解标记,则将所述参数对应的注解值作为目标表达式,通过对所述目标表达式进行运行得到被所述预设企业编号注解标记的目标属性值,并将所述目标属性值对应的数据类型转换为整数类型以得到所述企业编号;

14、若所述参数列表中的参数对应的数据类型为对象类型且未被所述企业编号注解标记,则对所述参数中的各个属性进行遍历,基于遍历结果进行相应的递归操作,以得到所述企业编号。

15、可选的,所述基于所述企业编号以及预设企业服务工具确定对应的目标企业类型,并将所述目标企业类型存入目标上下文中,包括:

16、判断所述本地缓存中是否存在所述企业编号对应的目标企业类型;

17、若所述本地缓存中存在所述企业编号对应的所述目标企业类型,则从所述本地缓存中获取所述目标企业类型;

18、若所述本地缓存中不存在所述企业编号对应的所述目标企业类型,则利用所述企业编号调用相应的企业服务画像,并从所述企业服务画像中获取相应的所述目标企业类型,并将所述目标企业类型存储至所述本地缓存中,以得到更新后的本地缓存;

19、当获取到下一所述企业编号时,跳转至所述判断所述本地缓存中是否存在所述企业编号对应的目标企业类型的步骤。

20、可选的,所述通过预设服务提供机制运行编写好的目标负载均衡策略之前,还包括:

21、创建目标大企业服务地址列表、目标小企业服务地址列表以及可用服务地址列表,以得到相应的目标负载均衡策略;

22、其中,所述目标大企业服务地址列表为属于预设大企业类型的服务提供方的ip地址列表;所述目标小企业服务地址列表为属于预设小企业类型的服务提供方的ip地址列表。

23、可选的,所述基于所述目标企业类型确定相应的目标服务调用地址,包括:

24、若所述目标企业类型为空或满足预设企业类型条件,则将所述可用服务地址列表中的任一所述服务调用地址确定为目标服务调用地址;

25、若所述目标企业类型为预设大企业类型,则将所述目标大企业服务地址列表作为目标服务调用地址列表;

26、若所述目标企业类型为预设小企业类型,则将所述目标小企业服务地址列表作为所述目标服务调用地址列表;

27、基于所述目标服务调用地址列表和所述可用服务地址列表的交集确定目标服务调用地址;

28、其中,所述预设企业类型条件为企业类型与预设目标类型相一致,所述预设目标类型为除所述预设大企业类型和所述预设小企业类型以外的企业类型。

29、可选的,所述基于所述目标服务调用地址列表和所述可用服务地址列表的交集确定目标服务调用地址,包括:

30、若所述目标服务调用地址列表和所述可用服务地址列表的交集为空集,则将所述可用服务地址列表中的任一所述服务调用地址确定为目标服务调用地址;

31、若所述目标服务调用地址列表和所述可用服务地址列表的交集不是空集,则将所述交集中的任一所述服务调用地址确定为目标服务调用地址。

32、第二方面,本技术提供了一种服务调用装置,包括:

33、企业编号确定模块,用于利用预设aop拦截器获取企业服务请求中的目标方法,并基于所述目标方法中的参数列表确定与预设企业编号注解对应的企业编号;

34、目标类型确定模块,用于基于所述企业编号以及预设企业服务工具确定对应的目标企业类型,并将所述目标企业类型存入目标上下文中;所述目标上下文为远程过程调用期间传递的上下文信息;

35、负载均衡模块,用于通过预设服务提供机制运行编写好的目标负载均衡策略,并利用所述目标负载均衡策略从所述目标上下文获取所述目标企业类型;

36、服务地址调用模块,用于基于所述目标企业类型确定相应的目标服务调用地址,以通过所述目标服务调用地址调用相应的企业服务。

37、第三方面,本技术提供了一种电子设备,包括:

38、存储器,用于保存计算机程序;

39、处理器,用于执行所述计算机程序,以实现前述的服务调用方法。

40、第四方面,本技术提供了一种计算机可读存储介质,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现前述的服务调用方法。

41、本技术利用预设aop拦截器获取企业服务请求中的目标方法,并基于所述目标方法中的参数列表确定与预设企业编号注解对应的企业编号;基于所述企业编号以及预设企业服务工具确定对应的目标企业类型,并将所述目标企业类型存入目标上下文中;通过预设服务提供机制运行编写好的目标负载均衡策略,并利用所述目标负载均衡策略从所述目标上下文获取所述目标企业类型;基于所述目标企业类型确定相应的目标服务调用地址,以通过所述目标服务调用地址调用相应的企业服务,由上可见,本技术在利用预设aop拦截器获取到目标方法之后,基于所述目标方法中的参数列表确定与预设企业编号注解对应的企业编号,然后利用企业编号和预设企业服务工具确定目标企业类型,并将所述企业类型存入目标上下文中,接着利用编写好的目标负载均衡策略获取所述目标企业类型,基于所述目标企业类型确定相应的目标服务调用地址,通过所述目标服务调用地址调用相应的企业服务。这样一来,基于预设企业编号注解对应的企业编号确定目标企业类型,并利用目标负载均衡策略和所述目标企业类型确定目标服务调用地址,不需要配置大量的企业服务就可以完成服务调用,大大减少配置的复杂度和维护成本,灵活应对企业类型的变化,使得代码实现更加简洁。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1