CN115242866B - 微服务调用方法、装置、电子设备及存储介质 - Google Patents
微服务调用方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN115242866B CN115242866B CN202210900908.2A CN202210900908A CN115242866B CN 115242866 B CN115242866 B CN 115242866B CN 202210900908 A CN202210900908 A CN 202210900908A CN 115242866 B CN115242866 B CN 115242866B
- Authority
- CN
- China
- Prior art keywords
- service
- target
- calling
- micro
- request
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 54
- 230000009471 action Effects 0.000 claims abstract description 154
- 230000004044 response Effects 0.000 claims abstract description 88
- 238000004590 computer program Methods 0.000 claims description 12
- 238000006243 chemical reaction Methods 0.000 claims description 9
- 230000000977 initiatory effect Effects 0.000 claims description 9
- 238000010586 diagram Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 7
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000008571 general function Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000002620 method output Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Landscapes
- Stored Programmes (AREA)
Abstract
本发明公开了一种微服务调用方法、装置、电子设备及存储介质。其中,该方法通过获取业务方发送的请求消息,进而根据请求消息,确定目标微服务对应的目标配置数据,再而按照目标配置数据,执行待执行调用动作,得到目标微服务对应的目标调用结果,使得基于目标调用结果,向业务方返回响应消息,达到了业务方基于通用调用接口通过代理方实现模块化功能进而实现对微服务方调用微服务的目的。本发明解决了相关技术中由于业务方通过引入与微服务对应的软件开发包以调用微服务,导致业务方调用微服务操作复杂度较高,进而导致微服务方维护各软件开发包难度和成本较高的技术问题。
Description
技术领域
本发明涉及互联网领域,具体而言,涉及一种微服务调用方法、装置、电子设备及存储介质。
背景技术
在互联网领域的相关技术中,微服务调用方法主要是:业务方调用一个微服务时,需要在业务方引入该微服务对应的软件开发包,不同的微服务对应不同的软件开发包。类似地,业务方使用如加解密和鉴权等通用功能时,业务方同样需要引入与通用功能对应的通用模块。
然而,这种方法的缺陷在于:由于软件开发包对应一个微服务且业务方调用不同微服务时使用的软件开发包版本众多,导致业务方中存储大量不同的软件开发包;由于业务方存储有大量的软件开发包,导致微服务方维护各软件开发包的难度较高以及维护成本较高。
因此,如何降低业务方调用微服务的流程复杂度,进而降低微服务方维护各软件开发包的难度和成本成为相关技术领域中的重要问题之一。针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种微服务调用方法、装置、电子设备及存储介质,以至少解决相关技术中由于业务方通过引入与微服务对应的软件开发包以调用微服务,导致业务方调用微服务操作复杂度较高,进而导致微服务方维护各软件开发包难度和成本较高的技术问题。
根据本发明实施例的一个方面,提供了一种微服务调用方法,包括:
获取业务方发送的请求消息,其中,请求消息用于请求调用目标微服务;根据请求消息,确定目标微服务对应的目标配置数据,其中,目标配置数据用于确定请求消息对应的待执行调用动作;按照目标配置数据,执行待执行调用动作,得到目标微服务对应的目标调用结果;基于目标调用结果,向业务方返回响应消息,其中,响应消息与请求消息相对应。
可选地,业务方包含通用调用接口,获取业务方发送的请求消息包括:获取业务方的通用调用接口发送的请求消息。
可选地,请求消息携带信息包括:业务方标识信息、调用阶段信息、第一请求列表、第二请求列表和第三请求列表,其中,业务方标识信息用于确定发起微服务调用请求的目标业务,调用阶段信息用于确定待执行调用阶段,第一请求列表用于确定请求参数信息,第二请求列表用于确定请求头数据信息,第三请求列表用于确定身份认证缓存数据。
可选地,根据请求消息,确定目标微服务对应的目标配置数据包括:对请求消息进行解析,得到业务方标识信息、调用阶段信息、第一请求列表、第二请求列表和第三请求列表;根据业务方标识信息,确定目标业务对应的目标配置文件;根据调用阶段信息、第一请求列表、第二请求列表和第三请求列表,从目标配置文件中确定目标微服务对应的目标配置数据,其中,目标配置数据用于确定待执行调用阶段对应的待执行调用动作。
可选地,待执行调用动作包括多个调用动作,按照目标配置数据,执行待执行调用动作,得到目标微服务对应的目标调用结果包括:按照目标配置数据,依次执行待执行调用动作对应的多个调用动作,得到目标执行结果;响应于多个调用动作中每个调用动作均执行完成,将目标执行结果确定为目标调用结果。
可选地,按照目标配置数据,依次执行待执行调用动作对应的多个调用动作,得到目标执行结果包括:基于目标配置数据,确定初始输入参数;根据初始输入参数,执行多个调用动作中的第一个调用动作,得到目标执行结果;将多个调用动作中前一个执行动作对应的目标执行结果作为当前执行动作的目标输入参数,依次执行多个调用动作中除第一个调用动作外的其他调用动作,更新目标执行结果。
可选地,基于目标调用结果,向业务方返回响应消息包括:按照预设数据格式,对目标调用结果进行格式转换,得到响应数据;利用响应数据,生成响应消息;将响应消息发送至业务方。
根据本发明实施例的另一个方面,还提供了一种微服务调用装置,包括:获取模块,获取业务方发送的请求消息,其中,请求消息用于请求调用目标微服务;确定模块,根据请求消息,确定目标微服务对应的目标配置数据,其中,目标配置数据用于确定请求消息对应的待执行调用动作;执行模块,按照目标配置数据,执行待执行调用动作,得到目标微服务对应的目标调用结果;响应模块,基于目标调用结果,向业务方返回响应消息,其中,响应消息与请求消息相对应。
可选地,在微服务调用装置中,业务方包含通用调用接口,获取业务方发送的请求消息包括:获取业务方的通用调用接口发送的请求消息。
可选地,在微服务调用装置中,请求消息携带信息包括:业务方标识信息、调用阶段信息、第一请求列表、第二请求列表和第三请求列表,其中,业务方标识信息用于确定发起微服务调用请求的目标业务,调用阶段信息用于确定待执行调用阶段,第一请求列表用于确定请求参数信息,第二请求列表用于确定请求头数据信息,第三请求列表用于确定身份认证缓存数据。
可选地,确定模块还用于:对请求消息进行解析,得到业务方标识信息、调用阶段信息、第一请求列表、第二请求列表和第三请求列表;根据业务方标识信息,确定目标业务对应的目标配置文件;根据调用阶段信息、第一请求列表、第二请求列表和第三请求列表,从目标配置文件中确定目标微服务对应的目标配置数据,其中,目标配置数据用于确定待执行调用阶段对应的待执行调用动作。
可选地,执行模块还用于:按照目标配置数据,依次执行待执行调用动作对应的多个调用动作,得到目标执行结果;响应于多个调用动作中每个调用动作均执行完成,将目标执行结果确定为目标调用结果。
可选地,执行模块还用于:基于目标配置数据,确定初始输入参数;根据初始输入参数,执行多个调用动作中的第一个调用动作,得到目标执行结果;将多个调用动作中前一个执行动作对应的目标执行结果作为当前执行动作的目标输入参数,依次执行多个调用动作中除第一个调用动作外的其他调用动作,更新目标执行结果。
可选地,响应模块还用于:按照预设数据格式,对目标调用结果进行格式转换,得到响应数据;利用响应数据,生成响应消息;将响应消息发送至业务方。
根据本发明实施例的另一个方面,还提供了一种电子设备,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行上述任一项中的微服务调用方法。
根据本发明实施例的另一个方面,还提供了一种存储有计算机指令的计算机可读存储介质,其中,计算机指令用于使计算机执行上述任一项中的微服务调用方法。
根据本发明实施例的另一个方面,还提供了一种计算机程序产品,包括计算机程序,计算机程序在被处理器执行时实现上述任一项中的微服务调用方法。
在本发明实施例中,通过获取业务方发送的请求消息,进而根据请求消息,确定目标微服务对应的目标配置数据,再而按照目标配置数据,执行待执行调用动作,得到目标微服务对应的目标调用结果,使得基于目标调用结果,向业务方返回响应消息,达到了业务方基于通用调用接口再通过代理方实现对微服务方调用微服务的目的,从而实现了降低业务方调用微服务的流程复杂度,进一步降低微服务方维护各软件开发包的难度和成本的技术效果,进而解决了相关技术中由于业务方通过引入与微服务对应的软件开发包以调用微服务,导致业务方调用微服务流程复杂度较高,进而导致微服务方维护各软件开发包难度和成本较高技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据相关技术的业务方调用微服务过程的示意图;
图2是根据本发明其中一实施例的微服务调用方法的流程图;
图3是根据本发明其中一实施例业务方通过代理方调用微服务过程的示意图;
图4是根据本发明其中一实施例代理方内部执行逻辑示意图;
图5是根据本发明其中一实施例的微服务调用装置的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
图1是根据相关技术的业务方调用微服务过程的示意图,如图1所示,业务方通过引入微服务方对应的软件开发包,使得业务方通过软件开发包向微服务方调用微服务。业务方A引入微服务C对应的软件开发包C,使得业务方A通过软件开发包C调用微服务C。不同的软件开发包调用不同的微服务,业务方A通过软件开发包D调用微服务D。同理,业务方B引入微服务C对应的软件开发包C,使得业务方B通过软件开发包C调用微服务C;业务方B引入微服务D对应的软件开发包D,通过软件开发包D调用微服务D。当微服务方对微服务升级时,微服务方提供升级的软件开发包供业务方引入。业务方对同一个微服务,引入多个版本的软件开发包,微服务方维护需要维护多个版本的软件开发包。
根据本发明实施例,提供了一种微服务调用方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机***中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图2是根据本发明其中一实施例的微服务调用方法的流程图,如图2所示,该方法包括如下步骤:
步骤S1,获取业务方发送的请求消息,其中,请求消息用于请求调用目标微服务;
步骤S2,根据请求消息,确定目标微服务对应的目标配置数据,其中,目标配置数据用于确定请求消息对应的待执行调用动作;
步骤S3,按照目标配置数据,执行待执行调用动作,得到目标微服务对应的目标调用结果;
步骤S4,基于目标调用结果,向业务方返回响应消息,其中,响应消息与请求消息相对应。
可选地,业务方基于通用调用接口与代理方连接,并通过代理方获取目标微服务。业务方基于通用调用接口向代理方发送请求消息,代理方基于通用调用接口向业务方返回响应消息。通用调用接口可以包括请求参数和返回参数。请求消息包括有通用调用接口的请求参数和返回参数。
业务方基于通用调用接口,向代理方发送请求消息,请求调用目标微服务。代理方可通过与目标微服务对应的软件开发包调用目标微服务,使得业务方只需向代理方发送调用微服务的请求消息即可获取调用目标微服务的调用结果。
在步骤S1中,代理方获取业务方基于通用调用接口发送的请求消息,其中请求消息用于请求微服务方调用目标微服务。
微服务方向业务方提供服务。请求消息,包括有通用调用接口的请求参数与返回参数。
在步骤S2中,代理方根据请求消息,确定目标微服务对应的目标配置数据,其中目标配置数据用于确定请求消息对应的待执行调用动作。
代理方根据请求消息,通过解析请求消息得到请求参数,根据请求参数确定目标微服务对应的目标配置数据。
可选地,业务方包含通用调用接口,获取业务方发送的请求消息包括:获取业务方的通用调用接口发送的请求消息。代理方获取业务方基于通用调用接口发送的请求消息。
可选地,请求消息携带信息包括:业务方标识信息、调用阶段信息、第一请求列表、第二请求列表和第三请求列表,其中,业务方标识信息用于确定发起微服务调用请求的目标业务,调用阶段信息用于确定待执行调用阶段,第一请求列表用于确定请求参数信息,第二请求列表用于确定请求头数据信息,第三请求列表用于确定身份认证缓存数据。业务方标识信息标识表示向目标微服务发起微服务调用请求的业务方相关信息,业务方相关信息中包括业务方里向目标微服务发起微服务调用请求的服务的标识信息。调用阶段信息表示业务方向目标微服务发起服务调用时,在业务方的哪一个处理阶段。
请求参数,可包括业务方标识信息、调用阶段信息、第一请求列表、第二请求列表和第三请求列表。
例如,请求参数可包括服务标识字段、调用阶段字段(可以记为phase)、参数列表、请求头数据列表和身份认证数据缓存列表。
服务标识字段为上述业务方标识信息,可表示业务方向目标微服务方发起调用的服务标识信息。调用阶段字段为上述调用阶段信息,表示业务方向目标微服务的调用中,在业务方的哪一个执行阶段。参数列表为上述第一请求列表,表示业务方向目标微服务调用的请求参数信息。请求头数据列表为上述第二请求列表,表示业务方向目标微服务调用的请求头数据信息。身份认证数据缓存列表为上述第三请求列表,表示业务方向目标微服务调用所对应的身份认证缓存数据。参数列表可包括发起服务标识字段(可以记为from_bns)和目标微服务标识字段(可以记为to_bns),其中发起服务标识字段的值与服务标识字段的值相同表示业务方哪个服务发起调用,目标微服务标识字段表示业务方向哪个微服务发起调用即表示目标微服务。
代理方根据请求消息,通过解析请求消息得到请求参数,根据请求参数进一步确定目标微服务对应的目标配置数据。
在步骤S3中,代理方根据请求消息中的业务方标识信息确定目标配置数据;根据请求消息中的调用阶段信息确定业务方待执行调用阶段,进一步根据调用阶段信息确定待执行调用动作。代理方执行待执行调用动作,得到目标微服务对应的目标调用结果。
例如,目标配置数据中可包括:执行阶段:可以定义多个阶段;执行阶段参数列表:执行阶段的请求参数列表;执行阶段请求参数字段名:请求参数的字段名;执行阶段请求参数的类型:请求参数的类型,比如字符串、布尔值;确认参数是否必填:执行阶段请求参数是否是必填的,真代表必填;假代表非必填;字段位置:字段在执行阶段请求参数的位置;执行方法列表:执行阶段需要执行的方法列表;执行方法:执行阶段执行方法的名字;执行方法输入参数列表:执行方法对应的输入参数列表;执行方法外部参数信息:执行方法输入参数与外部输入参数对应的字段名;执行方法输出参数列表:执行方法对应的输出参数列表;执行阶段返回参数信息:执行阶段返回的参数信息;执行阶段输出数据格式:执行阶段输出数据的格式,比如json、xml等;执行阶段输出字段列表:执行阶段输出字段列表。
在步骤S4中,代理方将对目标微服务的目标调用结果,基于通用调用接口向业务方返回响应消息。代理方可根据请求消息中的返回参数以确定向业务方返回的响应消息。
通过步骤S1至步骤S4,通过获取业务方发送的请求消息,进而根据请求消息,确定目标微服务对应的目标配置数据,再而按照目标配置数据,执行待执行调用动作,得到目标微服务对应的目标调用结果,使得基于目标调用结果,向业务方返回响应消息,达到了业务方基于通用调用接口再通过代理方实现对微服务方调用微服务的目的,从而实现了降低业务方调用微服务的流程复杂度,进一步降低微服务方维护各软件开发包的难度和成本的技术效果,进而解决了相关技术中由于业务方通过引入与微服务对应的软件开发包以调用微服务,导致业务方调用微服务流程复杂度较高,进而导致微服务方维护各软件开发包难度和成本较高技术问题。
可选地,在步骤S2中,根据请求消息,确定目标微服务对应的目标配置数据还包括如下方法步骤:
步骤S21,对请求消息进行解析,得到业务方标识信息、调用阶段信息、第一请求列表、第二请求列表和第三请求列表;
步骤S22,根据业务方标识信息,确定目标业务对应的目标配置文件;
步骤S23,根据调用阶段信息、第一请求列表、第二请求列表和第三请求列表,从目标配置文件中确定目标微服务对应的目标配置数据,其中,目标配置数据用于确定待执行调用阶段对应的待执行调用动作。
在步骤S21中,代理方对请求消息进行解析,得到请求消息中的请求参数,请求参数中包括业务方标识信息、调用阶段信息、第一请求列表、第二请求列表和第三请求列表。
在步骤S22中,代理方根据业务表示信息,确定目标业务对应的目标配置文件。例如,代理方解析请求消息,得到请求参数中的服务标识字段。代理方根据服务标识字段的值,确定该值所对应的目标配置文件。比如,服务标识字段值为服务A时,代理方确定与该服务A所对应的目标业务,并进一步确定与目标业务对应的目标配置文件。
在步骤S23中,代理方通过调用阶段信息、第一请求列表、第二请求列表和第三请求列表,从目标配置文件中确定目标微服务对应的目标配置数据。目标配置数据用于确定待执行调用阶段对应的待执行调用动作。
代理方通过调用阶段信息确定待执行调用阶段。例如,代理方解析请求消息,得到请求参数中的调用阶段字段的值。调用阶段字段可有多个值,表示不同的待执行调用阶段。调用阶段字段值为业务执行前阶段时,业务执行前阶段表示业务方向目标微服务发起调用的阶段为业务方执行业务逻辑的前一阶段。
代理方进一步根据待执行调用阶段确定与待执行调用阶段对应的待执行调用动作。代理方可根据待执行调用阶段确定该阶段所对应的执行方法,进一步根据执行方法确定待执行调用阶段对应的待执行调用动作。待执行调用动作包括一个或多个调用动作。例如,根据调用阶段字段的值为业务执行前阶段时,确定与业务执行前阶段对应的加解密执行方法,进一步确定待执行的加解密动作。当调用阶段字段的值为表示调用目标微服务时,确定与该调用阶段字段取值对应的调用目标微服务的执行方法,进一步确定调用目标微服务的待执行调用动作。比如,调用阶段字段的值为调用目标微服务,根据请求参数确定目标微服务为微服务C,则待执行调用动作中需要代理方通过与微服务C对应的软件开发包C对微服务C进行调用。
通过步骤S21至步骤S23,通过对请求消息进行解析,得到业务方标识信息、调用阶段信息、第一请求列表、第二请求列表和第三请求列表,进而根据业务方标识信息,确定目标业务对应的目标配置文件,再而根据调用阶段信息、第一请求列表、第二请求列表和第三请求列表,从目标配置文件中确定目标微服务对应的目标配置数据,使得代理方基于业务方的请求消息得到与业务方对应的目标配置数据。
可选地,在步骤S3中,待执行调用动作包括多个调用动作,按照目标配置数据,执行待执行调用动作,得到目标微服务对应的目标调用结果还包括如下方法步骤:
步骤S31,按照目标配置数据,依次执行待执行调用动作对应的多个调用动作,得到目标执行结果;
步骤S32,响应于多个调用动作中每个调用动作均执行完成,将目标执行结果确定为目标调用结果。
在步骤S31中,代理方基于请求消息和目标配置数据,确定依次执行的待执行调用动作所对应的一个或多个调用动作,得到每执行一个调用动作对应的目标执行结果。
在步骤S32中,代理方响应于依次执行的多个调用动作执行完成,将执行最后一个调用动作得到的目标执行结果确定为目标调用结果。
通过步骤S31至步骤S32,通过按照目标配置数据,依次执行待执行调用动作对应的多个调用动作,得到目标执行结果,进而响应于多个调用动作中每个调用动作均执行完成,将目标执行结果确定为目标调用结果,使得代理方基于待执行调用动作得到业务方对目标微服务调用所对应的目标调用结果。
可选地,在步骤S31中,按照目标配置数据,依次执行待执行调用动作对应的多个调用动作,得到目标执行结果还包括如下执行步骤:
步骤S311,基于目标配置数据,确定初始输入参数;
步骤S312,根据初始输入参数,执行多个调用动作中的第一个调用动作,得到目标执行结果;将多个调用动作中前一个执行动作对应的目标执行结果作为当前执行动作的目标输入参数,依次执行多个调用动作中除第一个调用动作外的其他调用动作,更新目标执行结果。
在步骤S311中,代理方基于请求消息中请求参数的信息,对目标配置数据中待执行调用阶段对应的待执行调用动作中一个或多个调用动作的第一个调用动作传参,传入的参数为初始输入参数。
在不住S312中,代理方基于初始输入参数,执行一个或多个调用动作中的第一个调用动作,得到目标执行结果。待执行调用动作对应的调用动作为多个时,将执行第一个调用动作得到的目标执行结果作为下一个动作的目标输入参数,依次执行多个调用动作,更新目标执行结果。
通过步骤S311至步骤S312,通过基于目标配置数据,确定初始输入参数,进而根据初始输入参数,执行多个调用动作中的第一个调用动作,得到目标执行结果,并将多个调用动作中前一个执行动作对应的目标执行结果作为当前执行动作的目标输入参数,依次执行多个调用动作中除第一个调用动作外的其他调用动作,更新目标执行结果,使得代理方执行目标配置数据中的待执行调用动作得到目标执行结果。
可选地,在步骤S4中,基于目标调用结果,向业务方返回响应消息还包括如下执行步骤:
步骤S41,按照预设数据格式,对目标调用结果进行格式转换,得到响应数据;
步骤S42,利用响应数据,生成响应消息;
步骤S43,将响应消息发送至业务方。
在步骤S41中,代理方按照预设数据格式,对目标调用结果进行格式转换,得到响应数据。预设数据格式在目标配置数据中设置。例如,目标配置数据中有返回参数列表,返回参数列表中包括有输出格式信息,输出格式信息表示该与待执行调用阶段对应的输出数据的格式。输出格式信息为上述预设数据格式。代理方根据输出格式信息对目标调用结果进行格式转换,得到格式转换后的响应数据。
在步骤S42中,代理方根据响应数据,生成响应消息。例如,将响应数据赋值给请求消息中的返回参数,将返回参数封装成响应消息。例如,通用调用接口中的返回参数包括有响应码信息、响应错误信息、响应头数据列表、响应身份认证缓存数据列表和响应参数列表。响应码信息表示代理方对业务方向目标微服务进行调用的响应码,响应错误信息表示代理方对业务方向目标微服务进行调用的响应错误信息,响应头数据列表表示代理方对业务方向目标微服务进行调用的响应头数据列表,响应身份认证缓存数据列表表示代理方对业务方向目标微服务进行调用响应的身份认证缓存数据,响应参数列表表示代理方对业务方向目标微服务进行调用的响应参数列表。
在步骤S43中,代理方将响应消息基于通用调用接口发送至业务方。
通过步骤S41至步骤S43,通过按照预设数据格式,对目标调用结果进行格式转换,得到响应数据,进而利用响应数据,生成响应消息,再而将响应消息发送至业务方,使得代理方基于目标调用结果,向业务方返回业务方向目标微服务进行调用所对应的响应消息。
图3是根据本发明其中一实施例业务方通过代理方调用微服务过程的示意图,如图3所示,该方法包括如下步骤:
步骤E1,业务方基于通用调用接口,通过代理方向微服务方调用微服务;
步骤E2,代理方基于与微服务方对应的软件开发包向微服务方调用微服务。
例如,如图3所示,业务方A基于通用调用接口,通过代理方向微服务方C和D调用微服务。一个软件开发包对应一个微服务。比如,业务方A基于通用调用接口,通过代理方软件开发包C调用微服务C;业务方A基于通用调用接口,通过代理方软件开发包D调用微服务D;业务方A基于通用调用接口,通过代理方调用通用模块,比如加解密和鉴权功能。同理,业务方也基于通用调用接口,通过代理方向微服务方C和D调用微服务。
图4是根据本发明其中一实施例代理方内部执行逻辑示意图,如图4所示,包括如下步骤:
步骤T1,代理方根据业务方请求消息获取目标配置数据;
步骤T2,代理方根据业务方请求消息获取目标配置数据中的待执行调用动作;
步骤T3,待执行调用动作对应的调用动作是否执行完成,已完成跳至步骤T5,未完成跳至步骤T4;
步骤T4,代理方输入调用动作的参数,依次执行各调用动作;
步骤T5,代理方基于执行完各调用动作得到的目标调用结果,生成响应消息并返回给业务方。
在步骤T1中,业务方基于通用调用接口,向代理方发送调用目标微服务的请求消息。请求消息中可包括请求参数和返回参数。代理方根据请求消息中的请求参数获取目标配置数据。
在步骤T2中,代理方根据请求消息中的请求参数获取目标配置数据中与请求消息对应的待执行调用动作。待执行调用动作包括一个或多个调用动作。
在步骤T3中,判断待执行调用动作对应的调用动作是否执行完成,执行完成则跳至步骤T5,未执行完成则跳至步骤T4。
在步骤T4中,代理方输入调用动作的参数,依次执行各调用动作。第一个调用动作的参数通过请求消息中的请求参数确定,其余调用动作的请求参数为上一个调用动作执行完的输出结果,该输出结果称为目标执行结果。目标执行结果随着调用动作的执行而更新。
在步骤T5中,待执行调用动作对应的调用动作依次执行完成后得到的目标执行结果作为目标调用结果。代理方基于目标调用结果,根据目标配置数据中的预设数据格式与请求消息中的返回参数生成响应消息。代理方将业务方调用目标微服务的响应消息返回给业务方。
图5是根据本发明其中一实施例的微服务调用装置的结构框图,如图5所示,该微服务调用装置500包括:
获取模块501,获取业务方发送的请求消息,其中,请求消息用于请求调用目标微服务;
确定模块502,根据请求消息,确定目标微服务对应的目标配置数据,其中,目标配置数据用于确定请求消息对应的待执行调用动作;
执行模块503,按照目标配置数据,执行待执行调用动作,得到目标微服务对应的目标调用结果;
响应模块504,基于目标调用结果,向业务方返回响应消息,其中,响应消息与请求消息相对应。
可选地,在微服务调用装置500中,业务方包含通用调用接口,获取业务方发送的请求消息包括:获取业务方的通用调用接口发送的请求消息。
可选地,在微服务调用装置500中,请求消息携带信息包括:业务方标识信息、调用阶段信息、第一请求列表、第二请求列表和第三请求列表,其中,业务方标识信息用于确定发起微服务调用请求的目标业务,调用阶段信息用于确定待执行调用阶段,第一请求列表用于确定请求参数信息,第二请求列表用于确定请求头数据信息,第三请求列表用于确定身份认证缓存数据。
可选地,确定模块502还用于:对请求消息进行解析,得到业务方标识信息、调用阶段信息、第一请求列表、第二请求列表和第三请求列表;根据业务方标识信息,确定目标业务对应的目标配置文件;根据调用阶段信息、第一请求列表、第二请求列表和第三请求列表,从目标配置文件中确定目标微服务对应的目标配置数据,其中,目标配置数据用于确定待执行调用阶段对应的待执行调用动作。
可选地,执行模块503还用于:按照目标配置数据,依次执行待执行调用动作对应的多个调用动作,得到目标执行结果;响应于多个调用动作中每个调用动作均执行完成,将目标执行结果确定为目标调用结果。
可选地,执行模块503还用于:基于目标配置数据,确定初始输入参数;根据初始输入参数,执行多个调用动作中的第一个调用动作,得到目标执行结果;将多个调用动作中前一个执行动作对应的目标执行结果作为当前执行动作的目标输入参数,依次执行多个调用动作中除第一个调用动作外的其他调用动作,更新目标执行结果。
可选地,响应模块504还用于:按照预设数据格式,对目标调用结果进行格式转换,得到响应数据;利用响应数据,生成响应消息;将响应消息发送至业务方。
本发明的实施例还提供了一种电子设备,包括至少一个处理器以及与至少一个处理器通信连接的存储器,其特征在于,存储器中存储有计算机程序,处理器被设置为运行计算机程序以执行上述任一实施例中的步骤。
本发明的实施例还提供了一种存储有计算机指令的计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一实施例中的步骤。
可选地,在本实施例中,上述计算机可读存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,获取业务方发送的请求消息,其中,请求消息用于请求调用目标微服务;
S2,根据请求消息,确定目标微服务对应的目标配置数据,其中,目标配置数据用于确定请求消息对应的待执行调用动作;
S3,按照目标配置数据,执行待执行调用动作,得到目标微服务对应的目标调用结果;
S4,基于目标调用结果,向业务方返回响应消息,其中,响应消息与请求消息相对应。
本发明的实施例还提供了一种计算机程序产品,包括计算机程序,计算机程序在被处理器执行时实现上述任一方法实施例中的步骤。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,获取业务方发送的请求消息,其中,请求消息用于请求调用目标微服务;
S2,根据请求消息,确定目标微服务对应的目标配置数据,其中,目标配置数据用于确定请求消息对应的待执行调用动作;
S3,按照目标配置数据,执行待执行调用动作,得到目标微服务对应的目标调用结果;
S4,基于目标调用结果,向业务方返回响应消息,其中,响应消息与请求消息相对应。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本发明所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (10)
1.一种微服务调用方法,包括:
获取业务方发送的请求消息,其中,所述请求消息用于请求调用目标微服务,所述请求消息携带信息包括:业务方标识信息、调用阶段信息、第一请求列表、第二请求列表和第三请求列表,所述业务方标识信息用于确定发起微服务调用请求的目标业务,所述调用阶段信息用于确定待执行调用阶段,所述第一请求列表用于确定请求参数信息,所述第二请求列表用于确定请求头数据信息,所述第三请求列表用于确定身份认证缓存数据;
根据所述请求消息,确定所述目标微服务对应的目标配置数据,其中,所述目标配置数据用于确定所述请求消息对应的待执行调用动作;
按照所述目标配置数据,执行所述待执行调用动作,得到所述目标微服务对应的目标调用结果;
基于所述目标调用结果,向所述业务方返回响应消息,其中,所述响应消息与所述请求消息相对应。
2.根据权利要求1所述的微服务调用方法,其特征在于,所述业务方包含通用调用接口,获取所述业务方发送的所述请求消息包括:
获取所述业务方的所述通用调用接口发送的所述请求消息。
3.根据权利要求1所述的微服务调用方法,其特征在于,根据所述请求消息,确定所述目标微服务对应的所述目标配置数据包括:
对所述请求消息进行解析,得到所述业务方标识信息、所述调用阶段信息、所述第一请求列表、所述第二请求列表和所述第三请求列表;
根据所述业务方标识信息,确定所述目标业务对应的目标配置文件;
根据所述调用阶段信息、所述第一请求列表、所述第二请求列表和所述第三请求列表,从所述目标配置文件中确定所述目标微服务对应的所述目标配置数据,其中,所述目标配置数据用于确定所述待执行调用阶段对应的待执行调用动作。
4.根据权利要求3所述的微服务调用方法,其特征在于,所述待执行调用动作包括多个调用动作,按照所述目标配置数据,执行所述待执行调用动作,得到所述目标微服务对应的所述目标调用结果包括:
按照所述目标配置数据,依次执行所述待执行调用动作对应的所述多个调用动作,得到目标执行结果;
响应于所述多个调用动作中每个调用动作均执行完成,将所述目标执行结果确定为所述目标调用结果。
5.根据权利要求4所述的微服务调用方法,其特征在于,按照所述目标配置数据,依次执行所述待执行调用动作对应的所述多个调用动作,得到所述目标执行结果包括:
基于所述目标配置数据,确定初始输入参数;
根据所述初始输入参数,执行所述多个调用动作中的第一个调用动作,得到所述目标执行结果;将所述多个调用动作中前一个执行动作对应的所述目标执行结果作为当前执行动作的目标输入参数,依次执行所述多个调用动作中除第一个调用动作外的其他调用动作,更新所述目标执行结果。
6.根据权利要求1所述的微服务调用方法,其特征在于,基于所述目标调用结果,向所述业务方返回所述响应消息包括:
按照预设数据格式,对所述目标调用结果进行格式转换,得到响应数据;
利用所述响应数据,生成所述响应消息;
将所述响应消息发送至所述业务方。
7.一种微服务调用装置,包括:
获取模块,用于获取业务方发送的请求消息,其中,所述请求消息用于请求调用目标微服务,所述请求消息携带信息包括:业务方标识信息、调用阶段信息、第一请求列表、第二请求列表和第三请求列表,所述业务方标识信息用于确定发起微服务调用请求的目标业务,所述调用阶段信息用于确定待执行调用阶段,所述第一请求列表用于确定请求参数信息,所述第二请求列表用于确定请求头数据信息,所述第三请求列表用于确定身份认证缓存数据;
确定模块,用于根据所述请求消息,确定所述目标微服务对应的目标配置数据,其中,所述目标配置数据用于确定所述请求消息对应的待执行调用动作;
执行模块,用于按照所述目标配置数据,执行所述待执行调用动作,得到所述目标微服务对应的目标调用结果;
响应模块,用于基于所述目标调用结果,向所述业务方返回响应消息,其中,所述响应消息与所述请求消息相对应。
8.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-6中任一项所述的方法。
9.一种存储有计算机指令的计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1-6中任一项所述的方法。
10.一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据权利要求1-6中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210900908.2A CN115242866B (zh) | 2022-07-28 | 2022-07-28 | 微服务调用方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210900908.2A CN115242866B (zh) | 2022-07-28 | 2022-07-28 | 微服务调用方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115242866A CN115242866A (zh) | 2022-10-25 |
CN115242866B true CN115242866B (zh) | 2024-06-18 |
Family
ID=83676427
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210900908.2A Active CN115242866B (zh) | 2022-07-28 | 2022-07-28 | 微服务调用方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115242866B (zh) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113472889A (zh) * | 2021-07-08 | 2021-10-01 | 上海浦东发展银行股份有限公司 | 微服务的调度***及方法 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109981716B (zh) * | 2017-12-28 | 2023-11-03 | 北京奇虎科技有限公司 | 一种微服务调用方法及装置 |
US11057487B2 (en) * | 2019-05-17 | 2021-07-06 | Citrix Systems, Inc. | Systems and methods for recording metadata about microservices for requests to the microservices |
CN113132434B (zh) * | 2019-12-31 | 2023-03-24 | 亿咖通(湖北)技术有限公司 | 一种分布式业务处理方法、装置、设备及存储介质 |
US11349909B2 (en) * | 2020-07-06 | 2022-05-31 | Cisco Technology, Inc. | Microservice manager and optimizer |
CN114721842A (zh) * | 2021-01-05 | 2022-07-08 | ***通信有限公司研究院 | 服务调用方法、装置及电子设备 |
CN113301166B (zh) * | 2021-06-16 | 2023-04-07 | 杭州华橙软件技术有限公司 | 服务的调用方法及装置、存储介质、电子装置 |
CN113900941A (zh) * | 2021-09-30 | 2022-01-07 | 深圳市金蝶天燕云计算股份有限公司 | 一种微服务处理方法、微服务***及电子设备和存储介质 |
CN114338763B (zh) * | 2021-12-20 | 2024-01-19 | 深圳Tcl新技术有限公司 | 微服务调用方法、装置、服务器与计算机可读存储介质 |
CN114422602A (zh) * | 2021-12-29 | 2022-04-29 | 中国电信股份有限公司 | 基于k8s集群微服务调用方法及装置、电子设备、存储介质 |
CN114756306A (zh) * | 2022-03-30 | 2022-07-15 | Oppo广东移动通信有限公司 | 服务调用方法、装置、设备及存储介质 |
-
2022
- 2022-07-28 CN CN202210900908.2A patent/CN115242866B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113472889A (zh) * | 2021-07-08 | 2021-10-01 | 上海浦东发展银行股份有限公司 | 微服务的调度***及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN115242866A (zh) | 2022-10-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108510389B (zh) | 基于区块链的智能合约调用方法、设备及可读存储介质 | |
US11343103B2 (en) | Sending cross-chain authenticatable messages | |
CN109922158A (zh) | 基于微服务的数据处理方法、装置、介质及电子设备 | |
CN110032454B (zh) | 远程调用方法、***和相关设备及计算机可读存储介质 | |
CN111221630A (zh) | 业务流程处理方法、装置、设备、可读存储介质及*** | |
CN114416075A (zh) | 业务处理方法及装置 | |
CN111988418B (zh) | 数据处理方法、装置、设备及计算机可读存储介质 | |
CN107637052A (zh) | 一种业务数据处理方法、客户端、服务端及*** | |
CN111367690A (zh) | 一种支持组合api服务调用方法及装置 | |
CN115242866B (zh) | 微服务调用方法、装置、电子设备及存储介质 | |
CN117119078A (zh) | 基于Kubernetes集群互联互通调度框架的隐私任务调度方法及装置 | |
CN109388770B (zh) | Web页面生成方法及装置 | |
CN116668520A (zh) | 一种基于网关的服务编排方法、***、设备及存储介质 | |
CN115454878A (zh) | 一种应用于微服务的接口调用测试方法及相关装置 | |
CN110399161B (zh) | 一种映射关系的生成方法、调用方法及装置 | |
CN109086145B (zh) | 数据生成方法、装置及计算机存储介质 | |
CN108170536B (zh) | Web程序的拓展方法和装置 | |
CN105939227B (zh) | 一种基于cmdb的服务配置的方法、***及服务器 | |
CN112597175B (zh) | 一种数据对接的方法、***、装置及存储介质 | |
CN113177080B (zh) | 区块链共识引擎***和区块链共识处理流程方法 | |
Sigwart et al. | Towards cross-blockchain smart contracts | |
CN114398082B (zh) | 一种框架式区块链应用的兼容运行方法及装置 | |
CN110659033B (zh) | 协议注册分发方法、存储介质、电子设备及*** | |
CN115437704A (zh) | 业务流程编排方法、装置、设备和存储介质 | |
CN115629799A (zh) | 基于Feign接口的数据兼容配置方法、设备及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |