本发明涉及系统架构,尤其涉及一种自适应结构的服务调用方法、装置、设备及计算机可读存储介质。
背景技术:
1、一些微服务,例如服务a和服务b,由于所使用的是同一个技术体系,同时两个服务之间的依赖比较多,为了方便服务间接口调用,减少重复代码编写,所以服务a和服务b之间的api通讯使用rpc的方式进行。然而当需要提供接口给到外部跨语言的第三方调用时,第三方一般都会期望服务a提供一个http协议的接口,而不是rpc形式的接口。
2、目前的解决方法为,系统框架中准备两套代码,除了自身rpc代码外,还要重新提供一套基于http协议的代码接口,这样就会带来很多重复工作量,和代码繁琐。
技术实现思路
1、本发明提供一种自适应结构的服务调用方法、装置、设备及存储介质,其主要目的在于在远程过程调用场景下通过服务注解,减少代码冗余,通过实现内外部服务之间调用接口的自动化生成,提高服务调用效率。
2、为实现上述目的,本发明提供的一种自适应结构的服务调用方法,包括:
3、获取目标调用服务的基本信息,并对所述基本信息进行结构化处理,得到服务声明注解表;
4、利用预构建的远程过程调用框架,解析所述服务声明注解表,生成所述目标调用服务的接口信息;
5、利用预构建的代理生成服务,配置所述接口信息,得到代理服务;
6、利用所述代理服务对所述目标调用服务进行调用请求,并将所述目标调用服务生成的响应结果反馈至预构建的客户端。
7、可选的,所述获取目标调用服务的基本信息,并对所述基本信息进行结构化处理,得到服务声明注解表,包括:
8、声明目标注解并定义所述目标注解的属性;
9、将所述目标注解标记至所述目标调用服务上,并利用反射机制获取所述目标调用服务的类中的基本信息;
10、根据所述所述目标注解的属性,对所述基本信息进行筛选填充操作,得到服务声明注解表。
11、可选的,所述利用预构建的远程过程调用框架,解析所述服务声明注解表,生成所述目标调用服务的接口信息,包括:
12、利用预构建的远程过程调用框架中的遍历查询服务,查询所述目标调用服务的各个类中是否含有注解标记;
13、当检测到所述注解标记时,获取所述目注解标记对应的服务声明注解表;
14、解析所述服务声明注解表中的各个字段信息填充至预设的数据结构中,分别得到接口路由信息及服务信息;
15、将所述接口路由信息及所述服务信息进行集合输出,得到所述目标调用服务的接口信息。
16、可选的,所述利用预构建的代理生成服务之前,所述方法还包括:
17、利用http协议,配置各个服务之间传递信息的通信方式;
18、利用json格式,配置所述通信方式中的数据传输类型;
19、根据所述通信方式、数据传输类型配置发送请求服务、接收响应服务,并构建接口路由信息配置服务;
20、将所述发送请求服务、接收响应服务及接口路由信息配置服务进行封装,得到代理生成服务。
21、可选的,所述利用预构建的代理生成服务,配置所述接口信息,得到代理服务,包括:
22、调用预构建的代理生成服务,自动生成代理服务类;
23、解析所述接口信息,并利用所述代理生成服务中的接口路由信息配置服务将解析结果填充至所述代理服务类中,得到代理服务。
24、可选的,所述利用所述代理服务对所述目标调用服务进行调用请求,包括:
25、利用所述代理服务,构建请求信息;
26、利用所述代理服务中的发送请求服务将所述请求信息发送至所述目标调用服务。
27、可选的,所述远程过程调用框架中还可以配置一个可自定义路径和参数的http接口。
28、为了解决上述问题,本发明还提供一种自适应结构的服务调用装置,所述装置包括:
29、服务信息获取模块,用于获取目标调用服务的基本信息,并对所述基本信息进行结构化处理,得到服务声明注解表;
30、注解表解析模块,用于利用预构建的远程过程调用框架,解析所述服务声明注解表,生成所述目标调用服务的接口信息;
31、代理服务构建模块,用于利用预构建的代理生成服务,配置所述接口信息,得到代理服务;
32、服务调用模块,用于利用所述代理服务对所述目标调用服务进行调用请求,并将所述目标调用服务生成的响应结果反馈至预构建的客户端。
33、为了解决上述问题,本发明还提供一种电子设备,所述电子设备包括:
34、至少一个处理器;以及,
35、与所述至少一个处理器通信连接的存储器;其中,
36、所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述所述的自适应结构的服务调用方法。
37、为了解决上述问题,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一个计算机程序,所述至少一个计算机程序被电子设备中的处理器执行以实现上述所述的自适应结构的服务调用方法。
38、本发明实施例通过在各个服务的service层添加服务声明注解表,从而支持系统内部各服务之间的远程过程调用;然后本发明通过配置代理服务,实现自动生成对应的http协议接口,其中,代理服务中包括接口路由信息配置服务、发送请求服务及接收响应服务,所述发送请求服务及接收响应服务负责与被调用服务之间进行连接通信,所述接口路由信息配置服务可以根据被调用服务注解中的关键信息自动化生成接口路由信息,因此,实现被调用服务调用的接口适应性变化。因此,本发明实施例提供的一种自适应结构的服务调用方法、装置、设备及存储介质,能够在于在远程过程调用场景下通过服务注解,减少代码冗余,通过实现内外部服务之间调用接口的自动化生成,提高服务调用效率。
1.一种自适应结构的服务调用方法,其特征在于,所述方法包括:
2.如权利要求1所述的自适应结构的服务调用方法,其特征在于,所述获取目标调用服务的基本信息,并对所述基本信息进行结构化处理,得到服务声明注解表,包括:
3.如权利要求1所述的自适应结构的服务调用方法,其特征在于,所述利用预构建的远程过程调用框架,解析所述服务声明注解表,生成所述目标调用服务的接口信息,包括:
4.如权利要求1所述的自适应结构的服务调用方法,其特征在于,所述利用预构建的代理生成服务之前,所述方法还包括:
5.如权利要求1所述的自适应结构的服务调用方法,其特征在于,所述利用预构建的代理生成服务,配置所述接口信息,得到代理服务,包括:
6.如权利要求1所述的自适应结构的服务调用方法,其特征在于,所述利用所述代理服务对所述目标调用服务进行调用请求,包括:
7.如权利要求1所述的自适应结构的服务调用方法,其特征在于,所述远程过程调用框架中还可以配置一个可自定义路径和参数的http接口。
8.一种自适应结构的服务调用装置,其特征在于,所述装置包括:
9.一种电子设备,其特征在于,所述电子设备包括:
10.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7中任意一项所述的自适应结构的服务调用方法。