CN111858083A - 一种远程服务的调用方法、装置、电子设备及存储介质 - Google Patents
一种远程服务的调用方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN111858083A CN111858083A CN201911400843.XA CN201911400843A CN111858083A CN 111858083 A CN111858083 A CN 111858083A CN 201911400843 A CN201911400843 A CN 201911400843A CN 111858083 A CN111858083 A CN 111858083A
- Authority
- CN
- China
- Prior art keywords
- service
- mock
- request
- target
- rule
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 140
- 238000004590 computer program Methods 0.000 claims description 10
- 238000013522 software testing Methods 0.000 abstract description 2
- 230000008569 process Effects 0.000 description 13
- 238000010586 diagram Methods 0.000 description 7
- 238000012360 testing method Methods 0.000 description 7
- 238000011161 development Methods 0.000 description 6
- 238000011144 upstream manufacturing Methods 0.000 description 5
- 230000014509 gene expression Effects 0.000 description 4
- 230000002159 abnormal effect Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000012905 input function Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请涉及软件测试技术领域,尤其涉及一种远程服务的调用方法、装置、电子设备及存储介质,其中,调用方法包括:接收服务请求端发送的服务调用请求,并在确定服务请求端关联mock服务系统后,根据服务调用请求中携带的请求参数,判断mock服务系统中是否存在与服务调用请求匹配的目标mock规则,进一步地,若mock服务系统中存在目标mock规则,可以获取目标mock规则对应的目标mock结果,并将目标mock结果发送至服务请求端。基于上述方式,根据不同服务请求端对应的请求参数,获取到不同mock规则对应的mock结果,服务请求端侧的用户可以得到期望的结果。
Description
技术领域
本申请涉及软件测试技术领域,尤其涉及一种远程服务的调用方法、装置、电子设备及存储介质。
背景技术
通常,在实际项目开发测试过程中,不同模块开发进度会有所不同,当下游模块开发完成时,要想实现对下游模块的测试,需要调用上游模块的功能,如果此时上游模块未开发完成、或者上游模块的功能不可用,会导致开发过程或者测试过程或者调用过程受阻,测试效率也会大大降低。
在上述场景下,衍生出对mock服务的强烈需求,mock可以模仿上游数据并返回给下游模块,实现对下游模块的测试。但是,在现有的mock服务系统中不能区分用户,而且规则匹配也很单一,不能根据实际参数不同返回不同的值。
发明内容
有鉴于此,本申请实施例至少提供一种远程服务的调用方法、装置、电子设备及存储介质,根据不同服务请求端对应的请求参数,获取到不同mock规则对应的mock结果,服务请求端侧的用户可以得到期望的结果。
本申请主要包括以下几个方面:
第一方面,本申请实施例提供一种远程服务的调用方法,所述调用方法包括:
接收服务请求端发送的服务调用请求;所述服务调用请求携带有请求参数;
在确定所述服务请求端关联mock服务系统后,根据所述请求参数,判断所述mock服务系统中是否存在与所述服务调用请求匹配的目标mock规则;
若所述mock服务系统中存在所述目标mock规则,从所述mock服务系统中获取所述目标mock规则对应的目标mock结果,并将所述目标mock结果发送至所述服务请求端。
在一种可能的实施方式中,在所述接收服务请求端发送的服务调用请求之后,所述调用方法还包括:
在确定所述服务请求端未关联所述mock服务系统后,将所述服务调用请求转发至提供与所述请求参数匹配的真实服务的服务提供端,并接收所述服务提供端发送的真实结果;
将所述真实结果发送至所述服务请求端。
在一种可能的实施方式中,在确定所述服务请求端关联mock服务系统后,在所述根据所述请求参数,判断所述mock服务系统中是否存在与所述服务调用请求匹配的目标mock规则之前,所述调用方法还包括:
从所述mock服务系统中获取各个mock服务对应的配置参数,并将所述配置参数存储至所述服务请求端的本地内存中;
其中,所述配置参数包括mock服务接口标识、mock服务版本标识、至少一个服务方法名称。
在一种可能的实施方式中,在所述从所述mock服务系统中获取各个mock服务对应的配置参数,并将所述配置参数存储至所述服务请求端的本地内存中之后,所述调用方法还包括:
根据所述请求参数,判断所述本地内存中是否存在与所述服务调用请求匹配的目标mock服务;
所述根据所述请求参数,判断所述mock服务系统中是否存在与所述服务调用请求匹配的目标mock规则,包括:
若所述本地内存中存在所述目标mock服务,则根据所述请求参数,判断所述mock服务系统中是否存在与所述服务调用请求匹配的目标mock规则。
在一种可能的实施方式中,在所述判断所述本地内存中是否存在与所述服务调用请求匹配的目标mock服务之后,所述调用方法还包括:
若所述本地内存中不存在所述目标mock服务,将所述服务调用请求转发至提供与所述请求参数匹配的真实服务的服务提供端,并接收所述服务提供端发送的真实结果;
将所述真实结果发送至所述服务请求端。
在一种可能的实施方式中,所述请求参数包括目标方法名称;根据以下步骤确定与所述服务调用请求匹配的目标mock服务:
从所述本地内存中获取服务方法名称列表;
判断所述服务方法名称列表中,是否存在所述目标方法名称;
若所述服务方法名称列表中存在所述目标方法名称,则将所述目标方法名称对应的mock服务,确定为与所述服务调用请求匹配的所述目标mock服务。
在一种可能的实施方式中,根据以下步骤判断所述mock服务系统中是否存在与所述服务调用请求匹配的目标mock规则:
从所述mock服务系统中获取mock规则列表;判断所述mock规则列表中是否存在所述目标mock规则。
在一种可能的实施方式中,所述若所述mock服务系统中存在所述目标mock规则,从所述mock服务系统中获取所述目标mock规则对应的目标mock结果,包括:
若所述mock规则列表中存在至少一个mock规则与所述服务调用请求相匹配,则将所述至少一个mock规则中优先级最高的mock规则,确定为所述目标mock规则,并从所述mock服务系统中获取所述目标mock规则对应的目标mock结果。
在一种可能的实施方式中,所述请求参数包括以下参数中的至少一种:
服务请求端标识、服务接口标识、目标方法名称,服务版本。
第二方面,本申请实施例还提供一种远程服务的调用装置,所述远程服务的调用装置包括:
接收模块,用于接收服务请求端发送的服务调用请求;所述服务调用请求携带有请求参数;
第一判断模块,用于在确定所述服务请求端关联mock服务系统后,根据所述请求参数,判断所述mock服务系统中是否存在与所述服务调用请求匹配的目标mock规则;
获取模块,用于若所述mock服务系统中存在所述目标mock规则,从所述mock服务系统中获取所述目标mock规则对应的目标mock结果,并将所述目标mock结果发送至所述服务请求端。
在一种可能的实施方式中,所述调用装置还包括第一发送模块;所述第一发送模块用于:
在确定所述服务请求端未关联所述mock服务系统后,将所述服务调用请求转发至提供与所述请求参数匹配的真实服务的服务提供端,并接收所述服务提供端发送的真实结果;
将所述真实结果发送至所述服务请求端。
在一种可能的实施方式中,所述调用装置还包括:
存储模块,用于从所述mock服务系统中获取各个mock服务对应的配置参数,并将所述配置参数存储至所述服务请求端的本地内存中;
其中,所述配置参数包括mock服务接口标识、mock服务版本标识、至少一个服务装置名称。
在一种可能的实施方式中,所述调用装置还包括:
第二判断模块,用于根据所述请求参数,判断所述本地内存中是否存在与所述服务调用请求匹配的目标mock服务;
所述第一判断模块,还用于若所述本地内存中存在所述目标mock服务,则根据所述请求参数,判断所述mock服务系统中是否存在与所述服务调用请求匹配的目标mock规则。
在一种可能的实施方式中,所述调用装置还包括第二发送模块;所述第二发送模块用于:
若所述本地内存中不存在所述目标mock服务,将所述服务调用请求转发至提供与所述请求参数匹配的真实服务的服务提供端,并接收所述服务提供端发送的真实结果;
将所述真实结果发送至所述服务请求端。
在一种可能的实施方式中,所述请求参数包括目标装置名称;所述第二判断模块,用于根据以下步骤确定与所述服务调用请求匹配的目标mock服务:
从所述本地内存中获取服务装置名称列表;
判断所述服务装置名称列表中,是否存在所述目标装置名称;
若所述服务装置名称列表中存在所述目标装置名称,则将所述目标装置名称对应的mock服务,确定为与所述服务调用请求匹配的所述目标mock服务。
在一种可能的实施方式中,所述第一判断模块,用于根据以下步骤判断是否存在所述目标mock规则:
从所述mock服务系统中获取mock规则列表;判断所述mock规则列表中是否存在所述目标mock规则。
在一种可能的实施方式中,所述获取模块,用于根据以下步骤获取所述目标mock结果:
若所述mock规则列表中存在至少一个mock规则与所述服务调用请求相匹配,则将所述至少一个mock规则中优先级最高的mock规则,确定为所述目标mock规则,并从所述mock服务系统中获取所述目标mock规则对应的目标mock结果。
在一种可能的实施方式中,所述请求参数包括以下参数中的至少一种:
服务请求端标识、服务接口标识、目标装置名称,服务版本。
第三方面,本申请实施例还提供一种电子设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过所述总线进行通信,所述机器可读指令被所述处理器运行时执行上述第一方面或第一方面中任一种可能的实施方式中所述的远程服务的调用方法的步骤。
第四方面,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行上述第一方面或第一方面中任一种可能的实施方式中所述的远程服务的调用方法的步骤。
本申请实施例中,通过接收服务请求端发送的服务调用请求,并在确定服务请求端关联mock服务系统后,根据服务调用请求中携带的请求参数,判断mock服务系统中是否存在与服务调用请求匹配的目标mock规则,进一步地,若mock服务系统中存在目标mock规则,可以获取目标mock规则对应的目标mock结果,并将目标mock结果发送至服务请求端。基于上述方式,根据不同服务请求端对应的请求参数,获取到不同mock规则对应的mock结果,服务请求端侧的用户可以得到期望的结果。
为使本申请的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本申请实施例所提供的一种远程服务的调用方法的流程图;
图2示出了本申请实施例所提供的另一种远程服务的调用方法的流程图;
图3示出了本申请实施例所提供的一种远程服务的调用装置的功能模块图之一;
图4示出了本申请实施例所提供的一种远程服务的调用装置的功能模块图之二;
图5示出了本申请实施例所提供的一种电子设备的结构示意图。
主要元件符号说明:
图中:300-远程服务的调用装置;310-接收模块;320-第一判断模块;330-获取模块;340-第一发送模块;350-存储模块;360-第二判断模块;370-第二发送模块;500-电子设备;510-处理器;520-存储器;530-总线。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,应当理解,本申请中的附图仅起到说明和描述的目的,并不用于限定本申请的保护范围。另外,应当理解,示意性的附图并未按实物比例绘制。本申请中使用的流程图示出了根据本申请的一些实施例实现的操作。应当理解,流程图的操作可以不按顺序实现,没有逻辑的上下文关系的步骤可以反转顺序或者同时实施。此外,本领域技术人员在本申请内容的指引下,可以向流程图添加一个或多个其他操作,也可以从流程图中移除一个或多个操作。
另外,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的全部其他实施例,都属于本申请保护的范围。
为了使得本领域技术人员能够使用本申请内容,结合特定应用场景“远程服务调用”,给出以下实施方式,对于本领域技术人员来说,在不脱离本申请的精神和范围的情况下,可以将这里定义的一般原理应用于其他实施例和应用场景。
本申请实施例下述方法、装置、电子设备或计算机可读存储介质可以应用于任何需要进行远程服务调用的场景,本申请实施例并不对具体的应用场景作限制,任何使用本申请实施例提供的远程服务的调用方法、装置、电子设备及存储介质的方案均在本申请保护范围内。
值得注意的是,在本申请提出之前,在现有的mock服务系统中不能区分用户,而且规则匹配也很单一,不能针对用户的需求返回期望的结果。例如,A用户由于测试需要希望返回成功(即,希望mock服务的返回值为成功),B用户希望返回失败(即,希望mock服务的返回值为失败),现有的Mock也无法做到。
针对上述问题,本申请实施例通过接收服务请求端发送的服务调用请求,并在确定服务请求端关联mock服务系统后,根据服务调用请求中携带的请求参数,判断mock服务系统中是否存在与服务调用请求匹配的目标mock规则,进一步地,若mock服务系统中存在目标mock规则,可以获取目标mock规则对应的目标mock结果,并将目标mock结果发送至服务请求端。基于上述方式,根据不同服务请求端对应的请求参数,获取到不同mock规则对应的mock结果,服务请求端侧的用户可以得到期望的结果。
需要说明的是,mock服务是指虚假的服务程序,其同样接收服务请求端的请求,并返回结果,对服务请求端程序来说,与真实服务是一样的,Mock服务与真实服务的唯一差别是Mock服务不执行具体的业务逻辑,只根据输入参数,返回事先已经准备好的结果数据。
这里,远程过程调用(Remote Procedure Call,RPC),可以通过网络从远程计算机程序上获取信息,而不需要了解底层网终技术,使得开发包括网络分布式多程序在内的应用程序更加容易。开源分布式服务框架(Dubbo)是一个高性能优秀的服务框架,使得应用可通过高性能的RPC实现服务的输出和输入功能,可以和Spring框架无缝集成;Dubbo是一款高性能、轻量级的开源Java RPC框架,它提供了三大核心能力:面向接口的远程方法调用,智能容错和负载均衡,以及服务自动注册和发现。
为便于对本申请进行理解,下面结合具体实施例对本申请提供的技术方案进行详细说明。
图1为本申请实施例所提供的一种远程服务的调用方法的流程图。如图1所示,本申请实施例提供的远程服务的调用方法,包括以下步骤:
S101:接收服务请求端发送的服务调用请求;所述服务调用请求携带有请求参数。
在具体实施中,可以实时接收来自各个服务请求端发送的调用不同服务的服务调用请求,这里,服务调用请求中携带有请求参数。
其中,请求参数包括以下参数中的至少一种:服务请求端标识、服务接口标识、目标方法名称,服务版本。
这里,请求参数包括服务请求端的身份信息、服务请求端请求调用服务的服务接口标识、服务请求端请求调用服务对应的方法名称,以及服务请求端请求调用服务的版本,服务请求端的身份信息比如服务请求端标识。
这里,服务请求端是相对于服务提供端来说的,服务请求端也即客户端,服务提供端也即服务端,其中,服务请求端为用于调用远程服务的装置,服务提供端可以是提供真实服务的装置,也可以是提供mock服务的装置。
S102:在确定所述服务请求端关联mock服务系统后,根据所述请求参数,判断所述mock服务系统中是否存在与所述服务调用请求匹配的目标mock规则。
在具体实施中,可以设置拦截器,通过拦截器对服务请求端发送的服务调用请求进行拦截处理,并确定提供给服务请求端的调用服务是来自真实服务还是mock服务,具体地,在检测到服务请求端关联mock服务系统后,说明服务请求端的需求是从mock服务系统调用mock服务来获取mock结果,这里,先判断服务调用请求是否可以匹配到mock服务系统中的任一条mock规则,只有在匹配到任一条mock规则时,才可以实现调用mock服务来获取mock结果。
这里,mock服务系统即作为服务提供端,用于给服务请求端提供mock服务,可以在mock服务系统中设置多个mock规则。
进一步地,服务请求端可能与mock服务系统关联,服务请求端也可能未与mock服务系统关联,这里,对于服务请求端与mock服务系统未关联的情况进行说明,也即,在步骤S101所述接收服务请求端发送的服务调用请求之后,所述调用方法还包括:
在确定所述服务请求端未关联所述mock服务系统后,将所述服务调用请求转发至提供与所述请求参数匹配的真实服务的服务提供端,并接收所述服务提供端发送的真实结果;将所述真实结果发送至所述服务请求端。
在具体实施中,可以设置拦截器,通过拦截器对服务请求端发送的服务调用请求进行拦截处理,并确定提供给服务请求端的调用服务是来自真实服务还是mock服务,具体地,在检测到服务请求端未关联mock服务系统后,说明服务请求端的需求是从真实服务来获取真实结果,进一步地,将该服务调用请求转发给提供与请求参数匹配的真实服务的服务提供端,并将从服务提供端获取真实结果发送给服务请求端。
需要说明的是,本申请可以提供真实服务和mock服务,这里,可以根据服务请求端的需求,返回给服务请求端对应类型的服务结果,具体地,服务请求端的用户可以通过配置动态开关来开启/关闭mock服务,这样,服务请求端的用户可以选择是否与mock服务系统进行关联,可以实现服务请求端自主确定使用mock服务还是真实服务,进而可以在需要使用真实服务时直接使用。
其中,动态开关支持多种配置方式,比如,kdiamond、disconf等,并且拦截器可以区分线上环境和线下环境。
进一步地,可以根据以下步骤判断所述mock服务系统中是否存在与所述服务调用请求匹配的目标mock规则:
从所述mock服务系统中获取mock规则列表;判断所述mock规则列表中是否存在所述目标mock规则。
在具体实施中,可以预先在mock服务系统中设置多个mock规则,具体地,通过规则引擎来自定义各个mock规则,进而,在接收到服务请求端发送的服务调用请求,以及确定服务请求端关联Mock服务系统后,可以从mock服务系统中获取mock规则列表,并判断mock规则列表中是否存在目标mock规则。
这里,规则匹配的实现方式包含但不限于自定义规则匹配、groovy动态适配、正则表达匹配等方式。
其中,Groovy是一种基于JVM(Java虚拟机)的敏捷开发语言,它结合了Python、Ruby和Smalltalk的许多强大的特性,Groovy代码能够与Java代码很好地结合,也能用于扩展现有代码。
S103:若所述mock服务系统中存在所述目标mock规则,从所述mock服务系统中获取所述目标mock规则对应的目标mock结果,并将所述目标mock结果发送至所述服务请求端。
在具体实施中,在调用mock服务过程中,需要满足mock规则才会返回相应的mock结果,这里,mock服务的返回值(mock结果)可以自由定义,对于需要使用mock服务的服务请求端,可以设置相应的参数匹配规则,即mock规则,当服务请求端发送的请求参数满足用户设置的mock规则时,返回对应的mock结果。这里,若确定出mock服务系统中存在与服务调用请求匹配的目标mock规则,可以从mock服务系统中获取与目标mock规则对应的目标mock结果,进而,将目标mock结果发送至服务请求端。
这里,不同服务请求端对应的用户准备的期望数据是相互独立的,可以满足不同的测试人员对不同测试场景的需求。
进一步地,mock规则列表中可能存在与服务调用请求相匹配的至少一个mock规则,在这种情况下,也即,步骤S103中若所述mock服务系统中存在所述目标mock规则,从所述mock服务系统中获取所述目标mock规则对应的目标mock结果,包括以下步骤:
若所述mock规则列表中存在至少一个mock规则与所述服务调用请求相匹配,则将所述至少一个mock规则中优先级最高的mock规则,确定为所述目标mock规则,并从所述mock服务系统中获取所述目标mock规则对应的目标mock结果。
在具体实施中,可以事先为mock服务系统中的各个mock规则设置优先级,这样,在确定mock规则列表中存在至少一个mock规则与服务调用请求相匹配时,将至少一个mock规则中优先级最高的mock规则,确定为目标mock规则,进而,获取与目标mock规则对应的目标mock结果。
这里,对mock规则列表中是否存在与服务调用请求匹配的目标mock规则的判断步骤进行举例说明,判断步骤如下:
步骤(1),获取mock规则列表中的一条mock规则。
步骤(2),将该mock规则的表达式按照“&”和“||”进行拆分,得到子规则列表。
步骤(3),初始化该mock规则下的子规则命中结果映射表,结构为Map<Integer,Boolean>map;其中,key为子规则id,Boolean为服务请求端的请求参数中子规则命中结果,为true则为命中,false为未命中。
例如,该mock规则为:when(arg[0]等于111111111&arg[1]<=20),则规则表达式为:arg[0]==111111111&arg[1]<=now()||arg[0]startwith 222;存在数据库中规则表达式为:1&2||3。其中,拆分后子规则列表为:
[{id:1,左值:arg[0],操作符:==,右值:“111111111”},
{id:2,左值:arg[1],操作符:<=,右值:20},
{id:3,左值:arg[0],操作符:startwith,右值:“222”}]。
其中,子规则的属性为:id,左值,操作符,右值;左值与右值按操作符进行计算,结果只能为真(true)或假(false)。
在本申请实施例中,接收服务请求端发送的服务调用请求,并在确定服务请求端关联mock服务系统后,根据服务调用请求中携带的请求参数,判断mock服务系统中是否存在与服务调用请求匹配的目标mock规则,进一步地,若mock服务系统中存在目标mock规则,可以获取目标mock规则对应的目标mock结果,并将目标mock结果发送至服务请求端。基于上述方式,根据不同服务请求端对应的请求参数,获取到不同mock规则对应的mock结果,服务请求端侧的用户可以得到期望的结果。
图2为本申请实施例所提供的另一种远程服务的调用方法的流程图。如图2所示,本申请实施例提供的远程服务的调用方法,包括以下步骤:
S201:接收服务请求端发送的服务调用请求;所述服务调用请求携带有请求参数。
其中,S201的描述可以参照S101的描述,并且能达到相同的技术效果,对此不做赘述。
S202:在确定所述服务请求端关联mock服务系统后,从所述mock服务系统中获取各个mock服务对应的配置参数,并将所述配置参数存储至所述服务请求端的本地内存中;其中,所述配置参数包括mock服务接口标识、mock服务版本标识、至少一个服务方法名称。
在具体实施中,可以在接收到服务请求端发送的服务调用请求,以及确定服务请求端关联mock服务系统后,从mock服务系统中获取各个mock服务对应的配置参数,这里,如果服务请求端多次发送服务调用请求,可以每隔预设时长判断服务请求端是否关联mock服务系统,并在每次确定出服务请求端关联mock服务系统后,从mock服务系统中获取已配置的各个mock服务对应的配置参数,并将获取到的配置参数存储至服务请求端的本地内存中。
这里,对从mock服务系统中获取各个mock服务对应的配置参数的实施步骤进行说明,具体地,可以采用分页形式拉取,比如,每次请求100条,并根据返回结果中的总条数判断是否最后一页,如果是最后一页,则不再获取配置参数,如果不是最后一页,则继续请求。其中,配置参数包括mock服务接口标识、mock服务版本标识、至少一个服务方法名称。
S203:根据所述请求参数,判断所述本地内存中是否存在与所述服务调用请求匹配的目标mock服务。
在具体实施中,根据服务请求端发送的服务调用请求中携带的请求参数,来判断服务请求端的本地内存中是否存在与服务请求匹配的配置参数,若存在,说明mock服务系统存在服务请求端需要的mock服务,进而,可以调用与请求参数匹配的mock服务,获取对应的mock结果。
进一步地,请求参数包括目标方法名称;这里,可以根据以下步骤确定与服务调用请求匹配的目标mock服务:
从所述本地内存中获取服务方法名称列表;判断所述服务方法名称列表中,是否存在所述目标方法名称;若所述服务方法名称列表中存在所述目标方法名称,则将所述目标方法名称对应的mock服务,确定为与所述服务调用请求匹配的所述目标mock服务。
在具体实施中,可以从服务请求端的本地内存中,获取各个mock服务对应的服务方法名称列表,其中,每个mock服务对应至少一个服务方法,若服务方法名称列表中存在目标方法名称,说明mock服务系统中存在服务请求端需求的mock服务,这样,可以将目标方法名称对应的mock服务,确定为与服务调用请求匹配的目标mock服务,进而,通过调用目标mock服务获取mock结果。
这里,本地内存中存储有mock服务系统中各个mock服务对应的配置参数。
需要说明的是,每个mock服务包括服务接口和服务版本,进而,根据服务接口标识和服务版本可以唯一确定一个mock服务。
S204:若所述本地内存中存在所述目标mock服务,则根据所述请求参数,判断所述mock服务系统中是否存在与所述服务调用请求匹配的目标mock规则。
在具体实施中,在确定出本地内存中存在目标mock服务后,说明mock服务系统存在服务请求端需要的mock服务,进而,可以调用与请求参数匹配的mock服务,获取对应的mock结果,具体地,先需要根据请求参数来确定服务调用请求匹配的目标mock规则,进而,根据目标mock规则来获取对应的目标mock结果,这里,不同mock规则关联不同的mock结果。
进一步地,对本地内存中不存在目标mock服务的情况进行说明,也即,在所述判断所述本地内存中是否存在与所述服务调用请求匹配的目标mock服务之后,所述调用方法还包括:
若所述本地内存中不存在所述目标mock服务,将所述服务调用请求转发至提供与所述请求参数匹配的真实服务的服务提供端,并接收所述服务提供端发送的真实结果;将所述真实结果发送至所述服务请求端。
在具体实施中,在检测到服务请求端的本地内存中不存在目标mock服务时,说明mock服务系统中不存在与服务请求端所需的mock服务,则需要获取真实服务,即为服务请求端调用真实服务,以来获取真实结果,具体地,将该服务调用请求转发给提供与请求参数匹配的真实服务的服务提供端,并将从服务提供端获取真实结果发送给服务请求端。
S205:若所述mock服务系统中存在所述目标mock规则,从所述mock服务系统中获取所述目标mock规则对应的目标mock结果,并将所述目标mock结果发送至所述服务请求端。
其中,S205的描述可以参照S103的描述,并且能达到相同的技术效果,对此不做赘述。
在本申请实施例中,接收服务请求端发送的服务调用请求,并在确定服务请求端关联mock服务系统后,根据服务调用请求中携带的请求参数,判断mock服务系统中是否存在与服务调用请求匹配的目标mock规则,进一步地,若mock服务系统中存在目标mock规则,可以获取目标mock规则对应的目标mock结果,并将目标mock结果发送至服务请求端。基于上述方式,根据不同服务请求端对应的请求参数,获取到不同mock规则对应的mock结果,服务请求端侧的用户可以得到期望的结果。
在一种具体的实施方式中,按照时序顺序对远程服务的调用方法的具体实施过程展开说明:
步骤(1):在执行远程服务的调用方法之前,服务请求端侧的用户可以预先在mock服务系统上配置需要的mock服务对应的业务线,业务线比如快车业务、顺风车业务、单车业务等。
步骤(2):在执行远程服务的调用方法之前,服务请求端侧的用户还可以预先在mock服务系统上配置多个服务方法信息和mock规则信息。
其中,服务方法信息包括服务环境信息、服务接口标识信息、服务方法名称、服务方法类型信息,服务环境包括mock服务环境、真实服务环境和服务请求端标识。
这里,通过预先配置mock规则,可以实现对于不同服务请求端的请求参数,获取到不同mock规则对应的mock结果,这样,服务请求端侧的用户可以得到自己期望的结果。
步骤(3):服务请求端侧的用户可以自由选择需求的服务类型,服务类型包括mock服务和真实服务,具体地,可以选择关联mock服务系统,来实现对mock服务的调用,可以选择不关联mock服务系统,来实现对真实服务的调用。这里,服务请求端的用户可以自主确定使用mock服务还是真实服务,可以提升用户选取服务的灵活性。
步骤(4):在接收服务请求端发送的服务调用请求后,可以从mock服务系统中获取各个mock服务对应的配置参数,具体地,会启动此次新增的异步定时任务,可以每隔预设时长判断一次是否与mock服务系统之间的连接状态,若此时确定与mock服务系统之间处于连接状态,则可以向mock服务系统请求拉取已配置的各个mock服务对应的配置参数并存储在服务请求端的本地内存中。
具体地,拉取配置的过程可以采用分页形式,每次请求预设条数,本次新增的异步定时任务可根据返回结果中的总条数判断是否为最后一页,如果为最后一页,则不再请求配置参数,如果不是最后一页,则继续请求。
其中,mock服务对应的配置参数包括各个mock服务方法的名称列表、mock服务接口标识、mock服务版本标识;预设时长可以根据业务实际需要进行设置,优选为3秒钟;预设条数可以根据业务实际需要进行设置,优选为100条;请求拉取配置的信息包括当前服务请求端的名称、当前页数、每页条数,返回的服务方法列表属性包含服务请求端的名称、接口类名、中心注册地址列表、服务方法名称、方法参数列表、服务版本,符合条件的方法总条数等。
这里,通过在本地内存中存储各个mock服务对应的配置参数,可以直接通过判断本地内存中是否存在与服务调用请求匹配的目标mock服务,来确定出mock服务系统中是否存在服务请求端侧的用户所需要的服务方法,进而,确定是使用mock服务还是真实服务。
步骤(5):获取与服务调用请求对应的服务结果的实施步骤包括:
步骤(5.1)在接收服务请求端发送的服务调用请求后,先判断服务请求端是否与mock服务系统相关联;
步骤(5.2):若没有关联,则通过Dubbo原生的invoder.invoke方法,直接执行下一逻辑,最终返回真实服务对应的真实结果;
步骤(5.3):若有关联,则与本地内存中已拉取的mock服务方法列表作匹配,如果匹配到对应的服务方法,会将服务调用请求发送至规则引擎,即执行步骤(5.4);如果没有匹配到对应的服务方法,则通过Dubbo原生的invoder.invoke方法,直接执行下一逻辑,最终返回真实服务对应的真实结果;
这里,匹配方法的逻辑为服务调用请求中的服务请求端的名称、接口类名、服务方法名、方法参数类型列表、注册中心地址、服务版本是否在本地内存的服务方法列表中。
步骤(5.4):判断mock服务系统中是否存在与服务调用请求匹配的目标mock规则;若匹配成功,从mock服务系统中获取目标mock规则对应的目标mock结果。
具体地,匹配规则的过程如下:
步骤(5.41):规则引擎首先根据服务调用请求中的以下条件匹配方法id、服务请求端名称、接口类名、服务版本、服务方法名、方法参数类型列表、方法参数值列表;若未获取到服务方法id,则返回未查到服务方法的异常码;若获取到方法id,则进入步骤(5.42);
步骤(5.42):根据服务方法id对应属性中的环境渠道来源来获取环境id的注册中心地址;其中,环境渠道来源指来自mock服务环境或者环境平台;环境id指环境渠道来源为mock服务环境时,记录mock服务环境的环境信息id;环境渠道来源为环境平台时,记录的环境平台的环境信息id;
这里,两种渠道下,获取注册中心地址方式包括:
若渠道为环境平台,规则引擎会根据环境id调用环境平台接口查询环境信息,解析出注册中心地址;
若渠道为mock服务环境,规则引擎会根据环境id调用规则配置模板查询出环境信息,并获取注册中心地址;
若获取的注册中心地址包含服务请求端请求中的注册中心地址,则进入步骤(5.43),否则返回不成功的异常码;
步骤(5.43):规则引擎调获取该服务方法下所有状态为“已开启”的规则列表,然后规则引擎模块把服务调用请求的参数与规则列表进行解析和匹配,并把匹配到的规则配置的mock结果返回给服务请求端;若规则引擎未匹配到mock规则和mock结果,则返回mock拦截器未查到方法的异常码;若规则引擎匹配到了mock规则和结果,则返回mock拦截器匹配到的mock结果。
步骤(5.44):mock拦截器接收到规则引擎返回的结果,对结果进行处理:
若返回码为成功且mock结果不为空,则对mock结果通过java反射机制进行处理后再返回给服务请求端;当规则引擎返回结果不满足时,mock拦截器会调用dubbo原生的invoker.invoke方法,直接执行下一逻辑,最终返回真实服务对应的真实结果。
其中,需要把mock结果进行处理的原因是规则引擎返回的mock结果只是json格式的字符串,但服务请求端需要的通常是服务提供端定义好的数据类型,只有把字符串转成这种定义好的数据类型,服务请求端才能解析返回结果。
需要说明的是,mock拦截器,可以对服务调用请求进行拦截处理,这里的拦截器是针对当前服务请求端的,是在服务提供端和服务请求端之间的一层过滤网,拦截请求并进行处理。
基于同一申请构思,本申请实施例中还提供了与上述实施例提供的远程服务的调用方法对应的远程服务的调用装置,由于本申请实施例中的装置解决问题的原理与本申请上述实施例的远程服务的调用方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
如图3、图4所示,图3示出了本申请实施例所提供的一种远程服务的调用装置300的功能模块图之一,图4示出了本申请实施例所提供的一种远程服务的调用装置300的功能模块图之二。
如图3所示,远程服务的调用装置300包括:
接收模块310,用于接收服务请求端发送的服务调用请求;所述服务调用请求携带有请求参数;
第一判断模块320,用于在确定所述服务请求端关联mock服务系统后,根据所述请求参数,判断所述mock服务系统中是否存在与所述服务调用请求匹配的目标mock规则;
获取模块330,用于若所述mock服务系统中存在所述目标mock规则,从所述mock服务系统中获取所述目标mock规则对应的目标mock结果,并将所述目标mock结果发送至所述服务请求端。
在一种可能的实施方式中,如图4所示,远程服务的调用装置300还包括第一发送模块340;所述第一发送模块340用于:
在确定所述服务请求端未关联所述mock服务系统后,将所述服务调用请求转发至提供与所述请求参数匹配的真实服务的服务提供端,并接收所述服务提供端发送的真实结果;
将所述真实结果发送至所述服务请求端。
在一种可能的实施方式中,如图4所示,远程服务的调用装置300还包括:
存储模块350,用于从所述mock服务系统中获取各个mock服务对应的配置参数,并将所述配置参数存储至所述服务请求端的本地内存中;
其中,所述配置参数包括mock服务接口标识、mock服务版本标识、至少一个服务装置名称。
在一种可能的实施方式中,如图4所示,远程服务的调用装置300还包括:
第二判断模块360,用于根据所述请求参数,判断所述本地内存中是否存在与所述服务调用请求匹配的目标mock服务;
所述第一判断模块320,还用于若所述本地内存中存在所述目标mock服务,则根据所述请求参数,判断所述mock服务系统中是否存在与所述服务调用请求匹配的目标mock规则。
在一种可能的实施方式中,如图4所示,远程服务的调用装置300还包括第二发送模块370;所述第二发送模块370用于:
若所述本地内存中不存在所述目标mock服务,将所述服务调用请求转发至提供与所述请求参数匹配的真实服务的服务提供端,并接收所述服务提供端发送的真实结果;
将所述真实结果发送至所述服务请求端。
在一种可能的实施方式中,如图4所示,所述请求参数包括目标装置名称;所述第二判断模块360,用于根据以下步骤确定与所述服务调用请求匹配的目标mock服务:
从所述本地内存中获取服务装置名称列表;
判断所述服务装置名称列表中,是否存在所述目标装置名称;
若所述服务装置名称列表中存在所述目标装置名称,则将所述目标装置名称对应的mock服务,确定为与所述服务调用请求匹配的所述目标mock服务。
在一种可能的实施方式中,如图3所示,所述第一判断模块320,用于根据以下步骤判断是否存在所述目标mock规则:
从所述mock服务系统中获取mock规则列表;判断所述mock规则列表中是否存在所述目标mock规则。
在一种可能的实施方式中,如图3所示,所述获取模块330,用于根据以下步骤获取所述目标mock结果:
若所述mock规则列表中存在至少一个mock规则与所述服务调用请求相匹配,则将所述至少一个mock规则中优先级最高的mock规则,确定为所述目标mock规则,并从所述mock服务系统中获取所述目标mock规则对应的目标mock结果。
在一种可能的实施方式中,所述请求参数包括以下参数中的至少一种:
服务请求端标识、服务接口标识、目标装置名称,服务版本。
基于同一申请构思,参见图5所示,为本申请实施例提供的一种电子设备500的结构示意图,包括:处理器510、存储器520和总线530,所述存储器520存储有所述处理器510可执行的机器可读指令,当电子设备500运行时,所述处理器510与所述存储器520之间通过所述总线530进行通信,所述机器可读指令被所述处理器510运行时执行如上述实施例中任一所述的远程服务的调用方法的步骤。
具体地,所述机器可读指令被所述处理器510执行时可以执行如下处理:
接收服务请求端发送的服务调用请求;所述服务调用请求携带有请求参数;
在确定所述服务请求端关联mock服务系统后,根据所述请求参数,判断所述mock服务系统中是否存在与所述服务调用请求匹配的目标mock规则;
若所述mock服务系统中存在所述目标mock规则,从所述mock服务系统中获取所述目标mock规则对应的目标mock结果,并将所述目标mock结果发送至所述服务请求端。
具体地,所述机器可读指令被所述处理器510执行时可以执行如下处理:
在确定所述服务请求端未关联所述mock服务系统后,将所述服务调用请求转发至提供与所述请求参数匹配的真实服务的服务提供端,并接收所述服务提供端发送的真实结果;
将所述真实结果发送至所述服务请求端。
具体地,所述机器可读指令被所述处理器510执行时可以执行如下处理:
从所述mock服务系统中获取各个mock服务对应的配置参数,并将所述配置参数存储至所述服务请求端的本地内存中;
其中,所述配置参数包括mock服务接口标识、mock服务版本标识、至少一个服务方法名称。
具体地,所述机器可读指令被所述处理器510执行时可以执行如下处理:
根据所述请求参数,判断所述本地内存中是否存在与所述服务调用请求匹配的目标mock服务;
所述根据所述请求参数,判断所述mock服务系统中是否存在与所述服务调用请求匹配的目标mock规则,包括:
若所述本地内存中存在所述目标mock服务,则根据所述请求参数,判断所述mock服务系统中是否存在与所述服务调用请求匹配的目标mock规则。
具体地,所述机器可读指令被所述处理器510执行时可以执行如下处理:
若所述本地内存中不存在所述目标mock服务,将所述服务调用请求转发至提供与所述请求参数匹配的真实服务的服务提供端,并接收所述服务提供端发送的真实结果;
将所述真实结果发送至所述服务请求端。
具体地,所述机器可读指令被所述处理器510执行时可以执行如下处理:
从所述本地内存中获取服务方法名称列表;
判断所述服务方法名称列表中,是否存在所述目标方法名称;
若所述服务方法名称列表中存在所述目标方法名称,则将所述目标方法名称对应的mock服务,确定为与所述服务调用请求匹配的所述目标mock服务。
具体地,所述机器可读指令被所述处理器510执行时可以执行如下处理:
从所述mock服务系统中获取mock规则列表;判断所述mock规则列表中是否存在所述目标mock规则。
具体地,所述机器可读指令被所述处理器510执行时可以执行如下处理:
若所述mock规则列表中存在至少一个mock规则与所述服务调用请求相匹配,则将所述至少一个mock规则中优先级最高的mock规则,确定为所述目标mock规则,并从所述mock服务系统中获取所述目标mock规则对应的目标mock结果。
具体地,所述机器可读指令被所述处理器510执行时可以执行如下处理:
服务请求端标识、服务接口标识、目标方法名称,服务版本。
在本申请实施例中,接收服务请求端发送的服务调用请求,并在确定服务请求端关联mock服务系统后,根据服务调用请求中携带的请求参数,判断mock服务系统中是否存在与服务调用请求匹配的目标mock规则,进一步地,若mock服务系统中存在目标mock规则,可以获取目标mock规则对应的目标mock结果,并将目标mock结果发送至服务请求端。基于上述方式,根据不同服务请求端对应的请求参数,获取到不同mock规则对应的mock结果,服务请求端侧的用户可以得到期望的结果。
基于同一申请构思,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行上述实施例提供的远程服务的调用方法的步骤。
具体地,所述存储介质能够为通用的存储介质,如移动磁盘、硬盘等,所述存储介质上的计算机程序被运行时,能够执行上述远程服务的调用方法,根据不同服务请求端对应的请求参数,获取到不同mock规则对应的mock结果,服务请求端侧的用户可以得到期望的结果。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本申请所提供的几个实施例中,应所述理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者所述技术方案的部分可以以软件产品的形式体现出来,所述计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (12)
1.一种远程服务的调用方法,其特征在于,所述调用方法包括:
接收服务请求端发送的服务调用请求;所述服务调用请求携带有请求参数;
在确定所述服务请求端关联mock服务系统后,根据所述请求参数,判断所述mock服务系统中是否存在与所述服务调用请求匹配的目标mock规则;
若所述mock服务系统中存在所述目标mock规则,从所述mock服务系统中获取所述目标mock规则对应的目标mock结果,并将所述目标mock结果发送至所述服务请求端。
2.根据权利要求1所述的调用方法,其特征在于,在所述接收服务请求端发送的服务调用请求之后,所述调用方法还包括:
在确定所述服务请求端未关联所述mock服务系统后,将所述服务调用请求转发至提供与所述请求参数匹配的真实服务的服务提供端,并接收所述服务提供端发送的真实结果;
将所述真实结果发送至所述服务请求端。
3.根据权利要求1所述的调用方法,其特征在于,在确定所述服务请求端关联mock服务系统后,在所述根据所述请求参数,判断所述mock服务系统中是否存在与所述服务调用请求匹配的目标mock规则之前,所述调用方法还包括:
从所述mock服务系统中获取各个mock服务对应的配置参数,并将所述配置参数存储至所述服务请求端的本地内存中;
其中,所述配置参数包括mock服务接口标识、mock服务版本标识、至少一个服务方法名称。
4.根据权利要求1所述的调用方法,其特征在于,在所述从所述mock服务系统中获取各个mock服务对应的配置参数,并将所述配置参数存储至所述服务请求端的本地内存中之后,所述调用方法还包括:
根据所述请求参数,判断所述本地内存中是否存在与所述服务调用请求匹配的目标mock服务;
所述根据所述请求参数,判断所述mock服务系统中是否存在与所述服务调用请求匹配的目标mock规则,包括:
若所述本地内存中存在所述目标mock服务,则根据所述请求参数,判断所述mock服务系统中是否存在与所述服务调用请求匹配的目标mock规则。
5.根据权利要求4所述的调用方法,其特征在于,在所述判断所述本地内存中是否存在与所述服务调用请求匹配的目标mock服务之后,所述调用方法还包括:
若所述本地内存中不存在所述目标mock服务,将所述服务调用请求转发至提供与所述请求参数匹配的真实服务的服务提供端,并接收所述服务提供端发送的真实结果;
将所述真实结果发送至所述服务请求端。
6.根据权利要求4所述的调用方法,其特征在于,所述请求参数包括目标方法名称;根据以下步骤确定与所述服务调用请求匹配的目标mock服务:
从所述本地内存中获取服务方法名称列表;
判断所述服务方法名称列表中,是否存在所述目标方法名称;
若所述服务方法名称列表中存在所述目标方法名称,则将所述目标方法名称对应的mock服务,确定为与所述服务调用请求匹配的所述目标mock服务。
7.根据权利要求1所述的调用方法,其特征在于,根据以下步骤判断所述mock服务系统中是否存在与所述服务调用请求匹配的目标mock规则:
从所述mock服务系统中获取mock规则列表;判断所述mock规则列表中是否存在所述目标mock规则。
8.根据权利要求7所述的调用方法,其特征在于,所述若所述mock服务系统中存在所述目标mock规则,从所述mock服务系统中获取所述目标mock规则对应的目标mock结果,包括:
若所述mock规则列表中存在至少一个mock规则与所述服务调用请求相匹配,则将所述至少一个mock规则中优先级最高的mock规则,确定为所述目标mock规则,并从所述mock服务系统中获取所述目标mock规则对应的目标mock结果。
9.根据权利要求1至8中任一所述的调用方法,其特征在于,所述请求参数包括以下参数中的至少一种:
服务请求端标识、服务接口标识、目标方法名称,服务版本。
10.一种远程服务的调用装置,其特征在于,所述调用装置包括:
接收模块,用于接收服务请求端发送的服务调用请求;所述服务调用请求携带有请求参数;
第一判断模块,用于在确定所述服务请求端关联mock服务系统后,根据所述请求参数,判断所述mock服务系统中是否存在与所述服务调用请求匹配的目标mock规则;
获取模块,用于若所述mock服务系统中存在所述目标mock规则,从所述mock服务系统中获取所述目标mock规则对应的目标mock结果,并将所述目标mock结果发送至所述服务请求端。
11.一种电子设备,其特征在于,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过所述总线进行通信,所述机器可读指令被所述处理器运行时执行如权利要求1至9任一所述的远程服务的调用方法的步骤。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如权利要求1至9任一所述的远程服务的调用方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911400843.XA CN111858083B (zh) | 2019-12-30 | 2019-12-30 | 一种远程服务的调用方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911400843.XA CN111858083B (zh) | 2019-12-30 | 2019-12-30 | 一种远程服务的调用方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111858083A true CN111858083A (zh) | 2020-10-30 |
CN111858083B CN111858083B (zh) | 2024-05-14 |
Family
ID=72970858
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911400843.XA Active CN111858083B (zh) | 2019-12-30 | 2019-12-30 | 一种远程服务的调用方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111858083B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112100079A (zh) * | 2020-11-02 | 2020-12-18 | 北京淇瑀信息科技有限公司 | 基于模拟数据调用的测试方法、系统和电子设备 |
CN112527637A (zh) * | 2020-12-02 | 2021-03-19 | 成都新希望金融信息有限公司 | 数据管理方法、装置、服务器及存储介质 |
CN112860463A (zh) * | 2021-03-22 | 2021-05-28 | 平安商业保理有限公司 | 业务请求转发方法、装置、计算机设备和可读存储介质 |
CN113641579A (zh) * | 2021-08-10 | 2021-11-12 | 中国平安人寿保险股份有限公司 | 数据处理方法、装置、设备及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103297475A (zh) * | 2012-03-01 | 2013-09-11 | 阿里巴巴集团控股有限公司 | Mock服务系统及Mock服务的处理方法 |
WO2016201995A1 (zh) * | 2015-06-16 | 2016-12-22 | 中兴通讯股份有限公司 | 实现构建测试对象的方法、装置及业务配置测试的装置 |
CN108347356A (zh) * | 2017-01-24 | 2018-07-31 | 北京京东尚科信息技术有限公司 | 一种多协议单元测试方法、装置、电子设备和存储介质 |
CN108427644A (zh) * | 2018-03-27 | 2018-08-21 | 深圳市买买提信息科技有限公司 | 服务测试方法、服务测试系统及服务测试装置 |
CN108897691A (zh) * | 2018-06-29 | 2018-11-27 | 百度在线网络技术(北京)有限公司 | 基于接口模拟服务的数据处理方法、装置、服务器和介质 |
WO2019052526A1 (zh) * | 2017-09-14 | 2019-03-21 | 北京金山云网络技术有限公司 | Api调用系统、方法、装置、电子设备及存储介质 |
-
2019
- 2019-12-30 CN CN201911400843.XA patent/CN111858083B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103297475A (zh) * | 2012-03-01 | 2013-09-11 | 阿里巴巴集团控股有限公司 | Mock服务系统及Mock服务的处理方法 |
WO2016201995A1 (zh) * | 2015-06-16 | 2016-12-22 | 中兴通讯股份有限公司 | 实现构建测试对象的方法、装置及业务配置测试的装置 |
CN108347356A (zh) * | 2017-01-24 | 2018-07-31 | 北京京东尚科信息技术有限公司 | 一种多协议单元测试方法、装置、电子设备和存储介质 |
WO2019052526A1 (zh) * | 2017-09-14 | 2019-03-21 | 北京金山云网络技术有限公司 | Api调用系统、方法、装置、电子设备及存储介质 |
CN108427644A (zh) * | 2018-03-27 | 2018-08-21 | 深圳市买买提信息科技有限公司 | 服务测试方法、服务测试系统及服务测试装置 |
CN108897691A (zh) * | 2018-06-29 | 2018-11-27 | 百度在线网络技术(北京)有限公司 | 基于接口模拟服务的数据处理方法、装置、服务器和介质 |
Non-Patent Citations (2)
Title |
---|
周洪岩;: "基于Dubbo微服务技术的应用与实现", 信息与电脑(理论版), no. 19 * |
秦子实;: "企业内网环境中基于Mock.js的前端应用独立调试方法", 电脑知识与技术, no. 17 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112100079A (zh) * | 2020-11-02 | 2020-12-18 | 北京淇瑀信息科技有限公司 | 基于模拟数据调用的测试方法、系统和电子设备 |
CN112527637A (zh) * | 2020-12-02 | 2021-03-19 | 成都新希望金融信息有限公司 | 数据管理方法、装置、服务器及存储介质 |
CN112860463A (zh) * | 2021-03-22 | 2021-05-28 | 平安商业保理有限公司 | 业务请求转发方法、装置、计算机设备和可读存储介质 |
CN113641579A (zh) * | 2021-08-10 | 2021-11-12 | 中国平安人寿保险股份有限公司 | 数据处理方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111858083B (zh) | 2024-05-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112118565B (zh) | 多租户服务灰度发布方法、装置、计算机设备和存储介质 | |
CN111858083B (zh) | 一种远程服务的调用方法、装置、电子设备及存储介质 | |
CN110765024B (zh) | 模拟测试方法、装置、电子设备和计算机可读存储介质 | |
CN106656650B (zh) | 业务测试环境的生成方法和系统、业务测试的方法、装置和系统 | |
US9251040B2 (en) | Remote debugging in a cloud computing environment | |
CN110289983B (zh) | 负载均衡应用创建方法、装置、计算机设备及存储介质 | |
CN112784989B (zh) | 推理系统、推理方法、电子设备及计算机存储介质 | |
CN112040013B (zh) | 用于页面路由的方法、计算设备和计算机存储介质 | |
CN109120794B (zh) | 一种消息显示方法及装置和电子设备 | |
CN110677475A (zh) | 一种微服务处理方法、装置、设备及存储介质 | |
CN113961332A (zh) | 一种工作流引擎实现的方法、装置、电子设备及存储介质 | |
KR20230065226A (ko) | 웹 어플리케이션 서버, 사용자 요청 처리 방법 및 통합 요청 처리 방법 | |
CN114726789A (zh) | 流量管理、配置流量管理策略的方法、装置、设备及介质 | |
CN116016209A (zh) | 一种网络自动化方法及装置 | |
CN110781001B (zh) | 一种基于Kubernetes的容器环境变量查看方法 | |
CN115269117A (zh) | 一种资源创建方法、装置、计算机设备及存储介质 | |
CN112860398A (zh) | 基于规则引擎的数据处理方法、装置、设备及介质 | |
CN114201293A (zh) | Kafka中间件集群参数的修改方法、装置以及存储介质 | |
US11546405B2 (en) | Methods for exposing mainframe data as a web service and devices thereof | |
CN111708646A (zh) | 前端服务平台实现方法、装置、系统和存储介质 | |
CN113901377B (zh) | 遗留系统的服务调用方法、装置、存储介质及设备 | |
CN113489848B (zh) | 一种终端设备测试方法、装置、电子设备及存储介质 | |
CN112615745B (zh) | 一种通过参数配置为物联网卡平台接入上游的方法及系统 | |
US8924403B2 (en) | Method and system for central data querying | |
CN115373638A (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 |