CN114301970B - 服务调用方法、装置、电子设备及存储介质 - Google Patents
服务调用方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN114301970B CN114301970B CN202111573420.5A CN202111573420A CN114301970B CN 114301970 B CN114301970 B CN 114301970B CN 202111573420 A CN202111573420 A CN 202111573420A CN 114301970 B CN114301970 B CN 114301970B
- Authority
- CN
- China
- Prior art keywords
- service
- identifier
- task
- executed
- interface identifier
- 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
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Stored Programmes (AREA)
Abstract
本公开关于一种服务调用方法、装置、电子设备及存储介质,涉及数据处理技术领域。该方法包括:获取待执行任务对应的目标服务接口标识;根据预先存储在Protobuf文件中的服务接口标识与服务标识的对应关系,确定与目标服务接口标识对应的目标服务标识;通过目标服务接口标识对应的接口,向目标服务标识对应的服务发送服务调用请求;服务调用请求包括待执行任务的信息,服务调用请求用于请求目标服务标识对应的服务执行待执行任务。
Description
技术领域
本公开涉及数据处理技术领域,尤其涉及一种服务调用方法、装置、电子设备及存储介质。
背景技术
远程过程调用(Remote Procedure Call,RPC)是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的思想。GRPC是一种跨语言平台的远程过程调用(Google Remote Procedure Call,GRPC)框架,可以实现多个语言平台之间的相互调用。电子设备在通过GRPC调用微服务时,微服务通常会提供多个不同的服务接口,以便电子设备通过与请求的服务对应的服务接口向微服务发送请求。
相关技术中,在通过GRPC调用微服务时,电子设备根据客户端请求的任务标识确定服务接口标识,并根据服务接口标识请求服务器确认对应的微服务标识,以决定本次请求的任务标识对应的微服务标识。然而,这种调用微服务的方式需要服务提供方单独维护一组代码,也即,需要服务提供方编写并维护服务接口标识和微服务标识对应关系的代码,这导致微服务的调用存在代码维护成本高的缺陷。
发明内容
本公开提供一种服务调用方法、装置、电子设备及存储介质,以至少解决相关技术中微服务的调用存在代码维护成本高的问题。本公开的技术方案如下:
根据本公开实施例的第一方面,提供一种服务调用方法,包括:获取待执行任务对应的目标服务接口标识;根据预先存储在Protobuf文件中的服务接口标识与服务标识的对应关系,确定与目标服务接口标识对应的目标服务标识;通过目标服务接口标识对应的接口,向目标服务标识对应的服务发送服务调用请求;服务调用请求包括待执行任务的信息,服务调用请求用于请求目标服务标识对应的服务执行待执行任务。
在一种可能的实施方式中,服务调用方法还包括:获取初始Protobuf文件,初始Protobuf文件包括服务接口标识;在初始Protobuf文件的扩展字段写入服务标识,并建立服务接口标识与服务标识的对应关系,以得到Protobuf文件。
另一种可能的实施方式中,服务调用方法还包括:获取Protobuf文件,Protobuf文件包括服务接口标识与服务标识的对应关系。
另一种可能的实施方式中,获取待执行任务对应的服务接口标识,包括:接收客户端发送的任务请求;任务请求包括任务标识;根据任务标识,确定待执行任务对应的目标服务接口标识。
另一种可能的实施方式中,获取待执行任务对应的服务接口标识,包括:确定待执行任务对应的任务标识;根据任务标识,确定待执行任务对应的目标服务接口标识。
另一种可能的实施方式中,确定待执行任务对应的任务标识,包括:获取待执行任务,待执行任务包括用户账户触发的任务或客户端触发的任务;确定待执行任务对应的任务标识。
另一种可能的实施方式中,根据预先存储在Protobuf文件中的服务接口标识与服务标识的对应关系,确定与目标服务接口标识对应的目标服务标识,包括:读取预先存储在Protobuf文件中的服务接口标识与服务标识的对应关系;基于对应关系,确定目标服务接口标识对应的目标服务标识。
根据本公开实施例的第二方面,提供一种服务调用装置,包括:获取模块,被配置为执行获取待执行任务对应的目标服务接口标识;确定模块,被配置为执行根据预先存储在Protobuf文件中的服务接口标识与服务标识的对应关系,确定与目标服务接口标识对应的目标服务标识;发生模块,被配置为执行通过目标服务接口标识对应的接口,向目标服务标识对应的服务发送服务调用请求;服务调用请求包括待执行任务的信息,服务调用请求用于请求目标服务标识对应的服务执行待执行任务。
在一种可能的实施方式中,获取模块被配置为执行:获取初始Protobuf文件,初始Protobuf文件包括服务接口标识;在初始Protobuf文件的扩展字段写入服务标识,并建立服务接口标识与服务标识的对应关系,以得到Protobuf文件。
另一种可能的实施方式中,获取模块还被配置为执行:获取Protobuf文件,Protobuf文件包括服务接口标识与服务标识的对应关系。
另一种可能的实施方式中,获取模块具体被配置为执行:接收客户端发送的任务请求;任务请求包括任务标识;根据任务标识,确定待执行任务对应服务接口标识。
另一种可能的实施方式中,获取模块具体被配置为执行:确定待执行任务对应的任务标识;根据任务标识,确定待执行任务对应的目标服务接口标识。
另一种可能的实施方式中,获取模块具体被配置为执行:获取待执行任务,待执行任务包括用户账户触发的任务或客户端触发的任务;确定待执行任务对应的目标任务标识。
另一种可能的实施方式中,确定模块具体被配置为执行:读取预先存储在Protobuf文件中的服务接口标识与服务标识的对应关系;基于对应关系,确定目标服务接口标识对应的目标服务标识。
根据本公开实施例的第三方面,提供一种电子设备,包括:处理器;用于存储处理器可执行指令的存储器;其中,处理器被配置为执行指令,以实现上述第一方面及其任一种可能的实施方式的服务调用方法。
根据本公开实施例的第四方面,提供一种计算机可读存储介质,当计算机可读存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行上述第一方面中及其任一种可能的实施方式的服务调用方法。
根据本公开实施例的第五方面,提供一种计算机程序产品,计算机程序产品包括计算机指令,当计算机指令在电子设备上运行时,使得电子设备执行上述第一方面及其任一种可能的实施方式的服务调用方法。
本公开的实施例提供的技术方案至少带来以下有益效果:通过在服务提供方分发共享的Protobuf文件中预先存储服务接口标识与服务标识的对应关系,以便在获取待执行任务对应的目标服务接口标识后,根据服务接口标识与服务标识的对应关系,确定目标服务接口标识对应的目标服务标识,从而通过目标服务接口标识对应的接口,向目标服务标识对应的服务发送服务调用请求,请求目标服务标识对应的服务执行待执行任务。由于目标服务标识直接存储在原先存储服务接口标识的Protobuf文件中,从而不必由服务提供方单独维护一组服务接口标识与服务标识对应关系的代码,相比于手工维护对应关系,进而降低代码维护成本和出现错误的概率,解决了现有技术中微服务的调用存在代码维护成本高的缺陷,并提高了准确性。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
图1是根据一示例性实施例示出的一种实施环境的示意图;
图2是根据一示例性实施例示出的一种服务调用方法的流程图;
图3是根据一示例性实施例示出的另一种服务调用方法的流程图;
图4是根据一示例性实施例示出的另一种服务调用方法的流程图;
图5是根据一示例性实施例示出的另一种服务调用方法的流程图;
图6是根据一示例性实施例示出的另一种服务调用方法的流程图;
图7是根据一示例性实施例示出的另一种服务调用方法的流程图;
图8是根据一示例性实施例示出的另一种服务调用方法的流程图;
图9是根据一示例性实施例示出的一种服务调用装置的框图;
图10是根据一示例性实施例示出的一种电子设备的框图。
具体实施方式
为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
在对本公开提供的服务调用方法进行详细介绍之前,先对本公开涉及的应用场景、实施环境和相关要素进行简单介绍。
首先,对本公开涉及的应用场景进行简单介绍。
远程过程调用(Remote Procedure Call,RPC)是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的思想。GRPC是一种跨语言平台的远程过程调用(Google Remote Procedure Call,GRPC)框架,可以实现多个语言平台之间的相互调用。电子设备在通过GRPC调用微服务时,微服务通常会提供多个不同的服务接口,以便电子设备通过与请求的服务对应的服务接口向微服务发送请求。
现有技术中,在通过GRPC调用微服务时,电子设备根据客户端请求的服务标识确定服务接口标识,并根据服务接口标识请求服务器确认对应的微服务标识,以决定本次请求的服务标识对应的微服务标识。然而,这种调用微服务的方式需要服务提供方单独维护一组代码,也即,需要服务提供方编写并维护服务接口标识和微服务标识对应关系的代码,这也就是导致微服务的调用存在代码维护成本高的缺陷。
针对上述问题,本公开提供了一种服务调用方法,通过在服务提供方分发共享的Protobuf文件中预先存储服务接口标识与服务标识的对应关系,以便在获取待执行任务对应的目标服务接口标识后,可以根据Protobuf预先存储的服务接口标识与服务标识的对应关系,确定目标服务接口标识对应的目标服务标识,从而通过目标服务接口标识对应的接口,向目标服务标识对应的服务发送服务调用请求,请求目标服务标识对应的服务执行待执行任务。由于目标服务标识直接存储在原先存储服务接口标识的Protobuf文件中,从而不必由服务提供方单独维护一组服务接口标识与服务标识对应关系的代码,相比于手工维护对应关系,进而降低代码维护成本和出现错误的概率,解决了现有技术中微服务的调用存在代码维护成本高的缺陷,并提高了准确性。
其次,下面对本公开涉及的实施环境(实施架构)进行简单介绍。
下面对本公开涉及的实施环境(实施架构)进行简单介绍,如图1所示,其示出了本公开适用的一种实施环境的示意图。该实施环境中可以包括终端设备110和电子设备120,该电子设备120可通过网络(有线网络或无线网络)与该终端设备110之间建立连接。
电子设备120可以是终端设备或服务器。其中,终端设备可以是智能手机、平板电脑、掌上电脑、车载终端、台式电脑、笔记本电脑以及可穿戴设备等。服务器可以是任意一个服务器或服务器集群。本公开对此不做限定。
再次,为了便于理解本申请,现对本申请涉及到的相关要素进行描述。
Google Protocol Buffer(简称Protobuf)是一种轻便高效的结构化数据存储格式,且平台无关、语言无关、可扩展,可用于通讯协议和数据存储等领域。例如,Protobuf文件可以应用于微服务调用领域。具体地,在服务调用方调用微服务前,微服务提供方会将Protobuf文件(用于存储服务接口标识)分发给服务调用方,与服务调用方共享Protobuf文件。
为了便于理解,以下结合附图对本公开提供的服务调用方法进行具体介绍。
图2是根据一示例性实施例示出的一种服务调用方法的流程图,该方法用于电子设备120。如图2所示,该方法包括S201-S203。
在S201中,获取待执行任务对应的目标服务接口标识。
可选地,待执行任务是用户账户触发的任务。
示例性的,用户账户购买商品时,使用客户端扫描二维码进行付款。此时,用户账户触发付款任务,待执行任务为用户账户触发的付款任务。
可选地,待执行任务是客户端触发的任务。
示例性的,客户端被配置为在预设时间点启动获取目标数据的任务,例如,目标数据可以是当前在线用户账户数量。此时,客户端触发当前在线用户账户数量的统计任务,待执行任务为客户端触发的当前在线用户账户数量的统计任务。
在一种实施方式中,待调用的服务会提供多个不同的服务接口,待执行任务与服务接口之间具有一一对应关系,也即,不同待执行任务的数据信息使用不同的服务接口发送。其中,每个待执行任务会对应一个目标服务接口,该目标服务接口具有唯一的目标服务接口标识,待执行任务的数据信息通过该目标服务接口标识对应的接口发送。
可以理解的,目标服务接口标识用于表征待执行任务对应的服务接口。
在S202中,根据预先存储在Protobuf文件中的服务接口标识与服务标识的对应关系,确定与目标服务接口标识对应的目标服务标识。
需要说明的,目标服务标识对应的服务,即为待调用的服务。一个目标服务标识对应一个目标服务。
可选地,S202包括:读取预先存储在Protobuf文件中的服务接口标识与服务标识的对应关系;基于服务接口标识与服务标识的对应关系,确定目标服务接口标识对应的目标服务标识。通过读取Protobuf文件中的对应关系,即可得到目标服务接口标识对应的目标服务标识,不必再通过代码文件维护对应关系,从而降低了代码维护成本,进而降低了获取目标服务标识的成本。
在一种实施方式中,Protobuf文件存储在电子设备的本地缓存。通过将Protobuf文件存储在电子设备的本地缓存,能够方便电子设备在获取到待执行任务对应的目标服务接口标识后,直接从本地缓存读取服务接口标识与服务标识的对应关系,提高服务调用流程的速度和稳定性。
在一种实施方式中,在Protobuf文件中预先写入服务接口标识。进一步地,并在Protobuf文件的扩展字段写入Protobuf元信息,即服务标识。Protobuf元信息用于表征Protobuf文件中预先写入服务接口标识对应的服务,或者说,Protobuf元信息用于表征,基于Protobuf文件调用服务时,服务调用请求的接收方。
需要说明的,元信息是关于信息的描述信息,用于描述信息的结构、语义、用途和用法等。在本公开中,Protobuf元信息用于表征服务调用请求的接收方。
可选地的,目标服务标识与目标服务具有一一对应对应关系。
在一些软件架构中,一个大型的单个应用程序和服务可以拆分为多个微服务。可选地,待调用服务可以是微服务,也即,目标服务可以是目标微服务。
在S203中,通过目标服务接口标识对应的接口,向目标服务标识对应的服务发送服务调用请求。
其中,服务调用请求包括待执行任务的信息,服务调用请求用于请求目标服务标识对应的服务执行待执行任务。
可选地,基于GRPC协议,通过目标服务接口标识对应的接口,向目标服务标识对应的服务发送服务调用请求。
需要说明的,GRPC是一个高性能、通用的开源RPC框架,基于HTTP/2协议标准和Protobuf序列化协议开发,支持众多的开发语言。此外,GRPC可以通过Protobuf来定义服务接口,从而可以有更加严格的接口约束条件。
在此基础上,本公开将目标服务标识写入Protobuf文件的扩展字段,作为Protobuf元信息,从而实现在在从Protobuf文件中获取目标服务接口标识后,可以从Protobuf文件的扩展字段获取目标服务接口标识对应的目标服务标识。
可选地,目标服务标识对应的服务根据待执行任务的信息,执行待执行任务。
示例性的,待执行任务为付款任务时,待执行任务的信息包括收款账户信息和付款金额信息。目标服务标识对应的服务将服务金额信息对应的金额,转账给收款账户信息对应的账户,已完成付款任务。
可选地,在目标服务标识对应的服务完成待执行任务后,可以向电子设备发送执行结果信息。
在一种实施方式中,执行结果信息可以是任务执行成功或任务执行失败等。
上述实施例中,通过在服务提供方分发共享的Protobuf文件中预先存储服务接口标识与服务标识的对应关系,以便在获取待执行任务对应的目标服务接口标识后,可以根据Protobuf预先存储的服务接口标识与服务标识的对应关系,确定目标服务接口标识对应的目标服务标识,从而通过目标服务接口标识对应的接口,向目标服务标识对应的服务发送服务调用请求,请求目标服务标识对应的服务执行待执行任务。由于目标服务标识直接存储在原先存储服务接口标识的Protobuf文件中,从而不必由服务提供方单独维护一组服务接口标识与服务标识对应关系的代码,相比于手工维护对应关系,进而降低代码维护成本和出现错误的概率,解决了现有技术中微服务的调用存在代码维护成本高的缺陷,并提高了准确性。
在一种可能的实施方式中,结合图2,如图3所示,服务调用方法还包括:S204-S205。S204-S205用于电子设备120。
在S204中,获取初始Protobuf文件,初始Protobuf文件包括服务接口标识。
在一种实施方式中,服务调用方在确定需要调用某个微服务时,从该微服务的提供方获取该微服务对应的初始Protobuf文件,该初始Protobuf文件包括服务接口标识,服务结构标识由服务提供方预先写入在该初始Protobuf文件。
在S205中,在初始Protobuf文件的扩展字段写入服务标识,并建立服务接口标识与服务标识的对应关系,以得到Protobuf文件。
在一种实施方式中,电子设备在获取到初始Protobuf文件后,在初始Protobuf文件的扩展字段写入服务标识,并建立服务接口标识与服务标识的对应关系。
可选地,通过Protobuf的消息扩展机制,对Protobuf文件进行扩展,得到扩展字段,并在扩展字段写入服务标识。
在一种实施方式中,在对Protobuf文件进行扩展时,可以扩展google.protobuf.ServiceOptions对应的字段,从而使得扩展后的google.protobuf.ServiceOptions可以携带服务标识。
示例性的,将google.protobuf.ServiceOptions对应的字段扩展一个字段,该扩展的一个字段用于携带服务标识,该扩展的一个字段可以称为服务标识字段。
上述实施例中,利用服务提供方分发共享的Protobuf文件,通过Protobuf文件的消息扩展机制,在Protobuf文件的扩展字段写入服务标识,并在Protobuf文件中建立服务接口标识与服务标识的对应关系,从而实现将服务接口标识与服务标识的对应关系存储在Protobuf文件中,不必在另外编写服务接口标识与服务标识的对应关系的代码文件,降低了代码维护成本。
另一种可能的实施方式中,结合图2,如图4所示,服务调用方法还包括:S206。
在S206中,获取Protobuf文件,Protobuf文件包括服务接口标识与服务标识的对应关系。
可选地,服务提供方在将Protobuf文件分发共享给服务调用方前,预先在Protobuf文件中写入服务接口标识与服务标识的对应关系。
在一种实施方式中,服务提供方在Protobuf文件中写入服务接口标识与服务标识的对应关系的步骤,包括:创建Protobuf文件;在Protobuf文件的扩展字段写入服务标识;在Protobuf文件中定义服务接口标识时,建立服务接口标识与服务标识的对应关系。
可选地,在Protobuf文件的扩展字段写入服务标识时,可以通过在Protobuf文件中定义消息类型,实现服务标识的写入。
可选地,在Protobuf文件中定义服务接口标识时,使用option指令指定定义的服务接口标识对应的服务标识。
可以理解的,定义的服务接口标识对应的服务标识,即为存储在Protobuf文件的扩展字段中的服务标识。
示例性的,option指令可以指定服务接口标识距离最近行的服务标识,作为该服务接口标识对应的服务标识。
需要说明的,服务提供方在Protobuf文件的扩展字段写入服务标识的方法,可以参考服务调用方在Protobuf文件的扩展字段写入服务标识的步骤,例如,S204-S205,二者原理相同,为避免重复,此处不再赘述。
可选地,创建Protobuf文件的步骤,包括:
步骤一:获取Protobuf文件的软件包。
可选地,Protobuf文件的软件包可以从网上下载。
示例性的,可以在浏览器的地址栏输入网址,进入Protobuf文件的软件包下载页面,并在下载页面上下载Protobuf文件的软件包。
可选地,Protobuf文件的软件包可以从电子设备的本地缓存中获取。
可选地,获取Protobuf文件的软件包可以是获取软件包的地址。
步骤二:对软件包进行编译解析,以创建Protobuf文件。
可选地,对软件包进行编译解析,可以是从网上下载软件后,对软件包进行编译解析。或者,可以是获取软件包的地址后,在线对软件包进行编译解析。
可选地,对软件包进行编译解析,可以是从电子设备的本地缓存中获取软件包后,对软件进行编译解析。
可选地,创建Protobuf文件,包括:创建Protobuf文件和.proto文件。
在一种实施方式中,先下载Protobuf软件包,安装Protobuf文件。再获取proto包,安装.proto文件。
在该实施例中,通过获取Protobuf文件的软件包,对软件包进行编译解析,实现创建Protobuf文件,以便用于存储服务接口标识和服务标识的对应关系,从而避免另外编写服务接口标识和服务标识的对应关系的代码文件,降低代码维护成本,并且还降低了人工开发成本。
上述实施例中,利用服务提供方分发和共享Protobuf文件的机制,从服务提供方获取预先存储有服务接口标识与服务标识对应关系的Protobuf文件,从而实现根据该服务接口标识与服务标识的对应关系确定目标服务接口标识对应的目标服务标识,不必在另外编写服务接口标识与服务标识的对应关系的代码文件,降低了代码维护成本。
另一种可能的实施方式中,结合图2,如图5所示,S201包括S201a-S201b。
在S201a中,接收客户端发送的任务请求;任务请求包括任务标识。
可选地,终端上的客户端在用户账户触发待执行任务或客户端自动触发待执行任务的情况下,向电子设备发送任务请求,任务请求包括待执行任务的任务标识。
示例性的,在用户账户触发付款任务的情况下,客户端向电子设备发送付款请求,付款请求包括付款任务对应的任务标识。
需要说明的,任务标识与待执行任务之间具有一一对应的关系,也即,每个待执行任务具有唯一的任务标识,每个任务标识表征唯一的待执行任务。
在S201b中,根据任务标识,确定待执行任务对应的目标服务接口标识。
可选地,电子设备在接收到客户端发送的任务请求后,根据任务标识确定待执行任务对应的服务接口标识。
可选地,电子设备通过读取Protobuf文件中任务标识与服务接口标识的对应关系,确定待执行任务对应的目标服务接口标识。
示例性的,电子设备接收到客户端发送的付款请求后,读取Protobuf文件中任务标识与服务接口标识的对应关系,从而根据付款请求中携带的付款任务标识,确定付款任务标识对应的服务接口标识。
上述实施例中,通过客户端发送任务请求中携带的任务标识,确定待执行任务对应的目标服务接口标识,从而根据目标服务接口标识,以及Protobuf文件中预先存储的服务接口标识与服务标识的对应关系,确定目标服务标识,并向目标服务标识对应的服务发送服务调用请求,以请求目标服务标识对应的服务执行待执行任务,进而实现执行客户端上的待执行任务。由于在确定目标服务标识,可以根据Protobuf文件中预先存储的服务接口标识与服务标识的对应关系进行确定,不必人工维护服务接口标识与服务标识的对应关系的代码文件,降低了错误率和人工成本,从而使得客户端上待执行任务的执行过程中的准确性提高,成本降低,进而降低了客户端的维护成本和用户体验。
需要说明的,S201a-S201b也可以与图3或图4所示的服务调用方法结合。在S201a-S201b与图3或图4所示的服务调用方法结合的情况下,与图5所示的服务调用方法具有相同的技术效果。本公开在此不再赘述。
另一种可能的实施方式中,结合图2,如图6所示,S201包括S201c-S201d。
在S201c中,确定待执行任务对应的任务标识。
可选地,待执行任务在电子设备上被触发后,电子设备确定待执行任务对应的任务标识。
示例性的,付款任务在电子设备上被触发后,电子设备确定付款任务对应的付款任务标识。
示例性的,预设时间点在线用户账号数量的统计任务被触发后,电子设备确定该统计任务对应的统计任务标识。
在S201d中,根据任务标识,确定待执行任务对应的目标服务接口标识。
可选地,电子设备根据待执行任务的任务标识,确定待执行任务对应的目标服务接口标识。
可选地,电子设备通过读取Protobuf文件中任务标识与服务接口标识的对应关系,确定待执行任务对应的目标服务接口标识。
示例性的,电子设备接收到客户端发送的付款请求后,读取Protobuf文件中任务标识与服务接口标识的对应关系,从而根据付款请求中携带的付款任务标识,确定付款任务标识对应的服务接口标识。
上述实施例中,通过电子设备确定待执行任务对应的任务标识,并根据任务标识确定待执行任务对应的目标服务接口标识,从而根据目标服务接口标识,以及Protobuf文件中预先存储的服务接口标识与服务标识的对应关系,确定目标服务标识,并向目标服务标识对应的服务发送服务调用请求,以请求目标服务标识对应的服务执行待执行任务,进而实现执行客户端上的待执行任务。由于在确定目标服务标识,可以根据Protobuf文件中预先存储的服务接口标识与服务标识的对应关系进行确定,不必人工维护服务接口标识与服务标识的对应关系的代码文件,降低了错误率和人工成本,从而使得电子设备上待执行任务的执行过程中的准确性提高,成本降低,进而降低了客户端的维护成本和用户体验。
需要说明的,S201c-S201d也可以与图3或图4所示的服务调用方法结合。在S201c-S201d与图3或图4所示的服务调用方法结合的情况下,与图6所示的服务调用方法具有相同的技术效果。本公开在此不再赘述。
另一种可能的实施方式中,结合图6,如图7所示,S201c包括S201c1-S201c2。
在S201c1中,获取待执行任务,待执行任务包括用户账户触发的任务或客户端触发的任务。
可选地,待执行任务是用户账户触发的任务。例如,用户账户购买商品时,使用客户端扫描二维码进行付款。此时,用户账户触发付款任务,待执行任务为用户账户触发的付款任务。
可选地,待执行任务是客户端触发的任务。例如,客户端被配置为在预设时间点启动获取目标数据的任务,例如,目标数据可以是当前在线用户账户数量。此时,客户端触发当前在线用户账户数量的统计任务,待执行任务为客户端触发当前在线用户账户数量的统计任务。
在S201c2中,确定待执行任务对应的任务标识。
可选地,电子设备在获取到待执行任务后,确定待执行任务对应的任务标识。
示例性的,每个待执行任务均配置任务标识,待执行任务与任务标识的对应关系存储在客户端的配置信息中。电子设备在获取到待执行任务后,读取配置信息中的对应关系,确定待执行任务对应的任务标识。
上述实施例中,通过获取用户账户触发或客户端触发的待执行任务,并确定待执行任务对应的任务标识,以便电子设备能够根据任务标识确定待执行任务对应的目标服务接口标识,从而实现根据目标服务接口标识,以及Protobuf文件中预先存储的服务接口标识与服务标识的对应关系,确定目标服务标识,并向目标服务标识对应的服务发送服务调用请求,以请求目标服务标识对应的服务执行待执行任务,进而实现执行客户端上的待执行任务。
另一种可能的实施方式中,结合图2,如图8所示,S203包括S203a-S203b。
在S203a中,对服务调用请求进行序列化,得到服务调用请求对应的二进制流数据。
可选地,可以通过Protobuf文件对服务调用请求进行序列化,将服务调用请求压缩编码转化为二进制流数据。通过Protobuf文件,对服务调用请求进行序列化,得到服务调用请求对应的二进制流数据,方便、快捷,并且成本低。
在S203b中,向服务标识对应的服务发送二进制流数据。
可选地,电子设备在得到服务调用请求对应的二进制流数据,向服务标识对应的服务发送二进制流数据,服务标识对应的服务在接收到二进制流数据后,对二进制流数据进行反序列化,得到服务服务请求对应的信息。
上述实施例中,通过对服务调用请求进行序列化,得到服务调用请求对应的二进制流数据,并向服务标识对应的服务发送二进制流数据,可以降低传输数据的数据量大小,从而降低数据传输时对性能的要求,并提高通信效率。
上述主要从方法的角度对本申请实施例提供的方案进行了介绍。为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本公开实施例还提供一种服务调用装置。
图9是根据一示例性实施例示出的一种服务调用装置框图。参照图9,该服务调用装置900包括获取模块901、确定模块902和发送模块903。
获取模块901,被配置为执行获取待执行任务对应的目标服务接口标识。例如,结合图2,获取模块901可以用于执行S201。
确定模块902,被配置为执行根据预先存储在Protobuf文件中的服务接口标识与服务标识的对应关系,确定与目标服务接口标识对应的目标服务标识。例如,结合图2,确定模块902可以用于执行S202。
发送模块903,被配置为执行通过目标服务接口标识对应的接口,向目标服务标识对应的服务发送服务调用请求;服务调用请求包括待执行任务的信息,服务调用请求用于请求目标服务标识对应的服务执行待执行任务。例如,结合图2,发送模块903可以用于执行S203。
在一种可能的实施方式中,获取模块还被配置为执行:获取初始Protobuf文件,初始Protobuf文件包括服务接口标识;在初始Protobuf文件的扩展字段写入服务标识,并建立服务接口标识与服务标识的对应关系,以得到Protobuf文件。例如,如图3所示,获取模块可以用于执行S04-S205。
另一种可能的实施方式中,获取模块还被配置为执行:获取Protobuf文件,Protobuf文件包括所述服务接口标识与所述服务标识的对应关系。例如,如图4所示,获取模块可以用于执行S206。
另一种可能的实施方式中,获取模块901具体被配置为执行:接收客户端发送的任务请求;任务请求包括任务标识;根据任务标识,确定待执行任务对应的目标服务接口标识。例如,如图5所示,获取模块901可以用于执行S201a-S201b。
另一种可能的实施方式中,获取模块901具体被配置为执行:确定待执行任务对应的任务标识;根据任务标识,确定待执行任务对应的目标服务接口标识。例如,如图6所示,获取模块901可以用于执行S201c-S201d。
另一种可能的实施方式中,获取模块901具体被配置为执行:获取待执行任务,待执行任务包括用户账户触发的任务或客户端触发的任务;确定待执行任务对应的任务标识。例如,如图7所示,获取模块901可以用于执行S201c1-S201c2。
另一种可能的实施方式中,确定模块902具体被配置为执行:读取预先存储在Protobuf文件中的服务接口标识与服务标识的对应关系;基于对应关系,确定目标服务接口标识对应的目标服务标识。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图10是根据一示例性实施例示出的一种电子设备的框图。如图10所示,电子设备1000包括但不限于:处理器1001和存储器1002。
其中,上述的存储器1002,用于存储上述处理器1001的可执行指令。可以理解的是,上述处理器1001被配置为执行指令,以实现上述实施例图2-图8中任一项所示的服务调用方法。
需要说明的是,本领域技术人员可以理解,图10中示出的电子设备结构并不构成对电子设备的限定,电子设备可以包括比图10所示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
处理器1001是电子设备的控制中心,利用各种接口和线路连接整个电子设备的各个部分,通过运行或执行存储在存储器1002内的软件程序和/或模块,以及调用存储在存储器1002内的数据,执行电子设备的各种功能和处理数据,从而对电子设备进行整体监控。处理器1001可包括一个或多个处理单元;可选的,处理器1001可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器1001中。
存储器1002可用于存储软件程序以及各种数据。存储器1002可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能模块所需的应用程序(比如图像获取模块、定位模块、隐变量获取模块或图像生成模块等)等。此外,存储器1002可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
在示例性实施例中,还提供了一种包括指令的计算机可读存储介质,例如包括指令的存储器1002,上述指令可由电子设备1000的处理器1001执行以实现上述实施例图5或图9所示的服务调用方法。
可选地,计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
在一个示例中,参见图9,上述获取模块901、确定模块902和发送模块903的处理功能均可以由图10中的处理器1001调用存储器1002中存储的计算机程序实现。
在示例性实施例中,本公开实施例还提供一种计算机程序产品,包括计算机指令,当计算机指令在电子设备上运行时,使得电子设备执行上述实施例图2-图8中任一项所示的服务调用方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
Claims (14)
1.一种服务调用方法,其特征在于,包括:
接收客户端发送的任务请求;所述任务请求包括任务标识;
确定所述任务标识对应的目标服务接口标识;
根据预先存储在Protobuf文件中的服务接口标识与服务标识的对应关系,确定与所述目标服务接口标识对应的目标服务标识;
通过所述目标服务接口标识对应的接口,向所述目标服务标识对应的服务发送服务调用请求;所述服务调用请求包括所述待执行任务的信息,所述服务调用请求用于请求所述目标服务标识对应的服务执行所述待执行任务。
2.根据权利要求1所述的服务调用方法,其特征在于,所述服务调用方法还包括:
获取初始Protobuf文件,所述初始Protobuf文件包括所述服务接口标识;
在所述初始Protobuf文件的扩展字段写入服务标识,并建立所述服务接口标识与所述服务标识的对应关系,以得到所述Protobuf文件。
3.根据权利要求1所述的服务调用方法,其特征在于,所述服务调用方法还包括:
获取所述Protobuf文件,所述Protobuf文件包括所述服务接口标识与所述服务标识的对应关系。
4.根据权利要求1-3中任一项所述的服务调用方法,其特征在于,所述获取待执行任务对应的服务接口标识,包括:
确定待执行任务对应的任务标识;
根据所述任务标识,确定所述待执行任务对应的目标服务接口标识。
5.根据权利要求4所述的服务调用方法,其特征在于,所述确定待执行任务对应的任务标识,包括:
获取待执行任务,所述待执行任务包括用户账户触发的任务或客户端触发的任务;
确定所述待执行任务对应的任务标识。
6.根据权利要求1所述的服务调用方法,其特征在于,所述根据预先存储在Protobuf文件中的服务接口标识与服务标识的对应关系,确定与所述目标服务接口标识对应的目标服务标识,包括:
读取预先存储在所述Protobuf文件中的服务接口标识与服务标识的对应关系;
基于所述对应关系,确定所述目标服务接口标识对应的目标服务标识。
7.一种服务调用装置,其特征在于,包括:
获取模块,被配置为执行接收客户端发送的任务请求;所述任务请求包括任务标识;确定所述任务标识对应的目标服务接口标识;
确定模块,被配置为执行根据预先存储在Protobuf文件中的服务接口标识与服务标识的对应关系,确定与所述目标服务接口标识对应的目标服务标识;
发送模块,被配置为执行通过所述目标服务接口标识对应的接口,向所述目标服务标识对应的服务发送服务调用请求;所述服务调用请求包括待执行任务的信息,所述服务调用请求用于请求所述目标服务标识对应的服务执行所述待执行任务。
8.根据权利要求7所述的服务调用装置,其特征在于,所述获取模块还被配置为执行:
获取初始Protobuf文件,所述初始Protobuf文件包括所述服务接口标识;
在所述初始Protobuf文件的扩展字段写入服务标识,并建立所述服务接口标识与所述服务标识的对应关系,以得到所述Protobuf文件。
9.根据权利要求8所述的服务调用装置,其特征在于,所述获取模块还被配置为执行:
获取所述Protobuf文件,所述Protobuf文件包括所述服务接口标识与所述服务标识的对应关系。
10.根据权利要求7-9中任一项所述的服务调用装置,其特征在于,所述获取模块具体被配置为执行:
确定待执行任务对应的任务标识;
根据所述任务标识,确定所述待执行任务对应的目标服务接口标识。
11.根据权利要求10所述的服务调用装置,其特征在于,所述获取模块具体被配置为执行:
获取待执行任务,所述待执行任务包括用户账户触发的任务或客户端触发的任务;
确定所述待执行任务对应的任务标识。
12.根据权利要求7所述的服务调用装置,其特征在于,所述确定模块具体被配置为执行:
读取预先存储在所述Protobuf文件中的服务接口标识与服务标识的对应关系;
基于所述对应关系,确定所述目标服务接口标识对应的目标服务标识。
13.一种电子设备,其特征在于,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如权利要求1至6中任一项所述的服务调用方法。
14.一种计算机可读存储介质,其特征在于,当所述计算机可读存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如权利要求1至6中任一项所述的服务调用方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111573420.5A CN114301970B (zh) | 2021-12-21 | 2021-12-21 | 服务调用方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111573420.5A CN114301970B (zh) | 2021-12-21 | 2021-12-21 | 服务调用方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114301970A CN114301970A (zh) | 2022-04-08 |
CN114301970B true CN114301970B (zh) | 2023-10-17 |
Family
ID=80970347
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111573420.5A Active CN114301970B (zh) | 2021-12-21 | 2021-12-21 | 服务调用方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114301970B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116149882B (zh) * | 2023-04-19 | 2023-08-08 | 北京轻松筹信息技术有限公司 | 一种生成接口描述文件的方法、装置、设备和存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109445968A (zh) * | 2018-11-09 | 2019-03-08 | 金瓜子科技发展(北京)有限公司 | 不同协议的服务请求处理方法、装置、设备及存储介质 |
CN109743390A (zh) * | 2019-01-04 | 2019-05-10 | 深圳壹账通智能科技有限公司 | 任务调度方法、装置、计算机设备和存储介质 |
CN111767095A (zh) * | 2020-06-30 | 2020-10-13 | 平安国际智慧城市科技股份有限公司 | 微服务生成方法、装置、终端设备及存储介质 |
CN113238868A (zh) * | 2021-05-26 | 2021-08-10 | 北京达佳互联信息技术有限公司 | 任务处理方法、装置、服务器、设备、系统及存储介质 |
CN113377465A (zh) * | 2021-06-07 | 2021-09-10 | 上海商汤智能科技有限公司 | 基于服务的sdk调用方法及装置、电子设备和存储介质 |
CN113515319A (zh) * | 2021-04-20 | 2021-10-19 | 北京科东电力控制系统有限责任公司 | 一种客户端通过grpc动态调用服务端的方法 |
-
2021
- 2021-12-21 CN CN202111573420.5A patent/CN114301970B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109445968A (zh) * | 2018-11-09 | 2019-03-08 | 金瓜子科技发展(北京)有限公司 | 不同协议的服务请求处理方法、装置、设备及存储介质 |
CN109743390A (zh) * | 2019-01-04 | 2019-05-10 | 深圳壹账通智能科技有限公司 | 任务调度方法、装置、计算机设备和存储介质 |
CN111767095A (zh) * | 2020-06-30 | 2020-10-13 | 平安国际智慧城市科技股份有限公司 | 微服务生成方法、装置、终端设备及存储介质 |
CN113515319A (zh) * | 2021-04-20 | 2021-10-19 | 北京科东电力控制系统有限责任公司 | 一种客户端通过grpc动态调用服务端的方法 |
CN113238868A (zh) * | 2021-05-26 | 2021-08-10 | 北京达佳互联信息技术有限公司 | 任务处理方法、装置、服务器、设备、系统及存储介质 |
CN113377465A (zh) * | 2021-06-07 | 2021-09-10 | 上海商汤智能科技有限公司 | 基于服务的sdk调用方法及装置、电子设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN114301970A (zh) | 2022-04-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107277153B (zh) | 用于提供语音服务的方法、装置和服务器 | |
CN101571809B (zh) | 一种插件注册的实现方法及其装置 | |
CN112329945A (zh) | 一种模型部署及推理的方法和装置 | |
CN114301970B (zh) | 服务调用方法、装置、电子设备及存储介质 | |
US9128886B2 (en) | Computer implemented method, computer system, electronic interface, mobile computing device and computer readable medium | |
CN112688915A (zh) | 跨协议通信方法、装置及服务器 | |
CN116204239A (zh) | 业务处理方法、装置和计算机可读存储介质 | |
CN109981546B (zh) | 获取应用模块间的远程调用关系的方法和装置 | |
CN111125503B (zh) | 用于生成信息的方法和装置 | |
CN109240673B (zh) | 一种基于react-native的视图动态加载更新方法及系统 | |
US8321535B2 (en) | Web services integration systems and methods | |
CN113094429B (zh) | 数据处理方法、数据查询方法、计算机设备和存储介质 | |
CN113315829B (zh) | 客户端离线化h5页面加载方法、装置、计算机设备及介质 | |
CN113691618B (zh) | 消息通知方法、装置、消息中心及存储介质 | |
CN111488286B (zh) | 一种Android模块独立开发的方法及装置 | |
CN111131354B (zh) | 用于生成信息的方法和装置 | |
CN113448578A (zh) | 页面数据处理方法、处理系统、电子设备和可读存储介质 | |
CN112954075B (zh) | 一种业务功能实现方法、系统、对应装置及存储介质 | |
CN110858240A (zh) | 一种前端模块加载方法和装置 | |
CN112988170B (zh) | 应用显示的方法及装置 | |
CN109005084B (zh) | 验证网络连接的方法、电子设备和计算机可读介质 | |
CN109376023B (zh) | 用于生成调用信息、发布返回码组的方法和设备 | |
CN116301746A (zh) | Gis资源管理系统、开发方法及gis信息的显示方法 | |
CN115134208A (zh) | 报文转换方法、装置、电子设备及存储介质 | |
CN116303087A (zh) | 应用调试方法、装置、电子设备及计算机可读存储介质 |
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 |