CN113630283B - 一种服务链路测试方法及系统 - Google Patents
一种服务链路测试方法及系统 Download PDFInfo
- Publication number
- CN113630283B CN113630283B CN202010382388.1A CN202010382388A CN113630283B CN 113630283 B CN113630283 B CN 113630283B CN 202010382388 A CN202010382388 A CN 202010382388A CN 113630283 B CN113630283 B CN 113630283B
- Authority
- CN
- China
- Prior art keywords
- service
- calling
- request
- test agent
- return information
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/562—Brokering proxy services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
- H04L67/63—Routing a service request depending on the request content or context
Abstract
本发明公开了一种服务链路测试方法及系统,测试方法包括:测试代理服务接收调用端服务发送的服务调用请求;测试代理服务依据特征调用入参对服务调用请求进行验证;在服务调用请求的验证结果为通过的情况下,向被调端服务发送服务调用请求;测试代理服务接收被调端服务发送的返回信息,并对返回信息进行验证;在返回信息的验证结果为通过的情况下,向调用端服务发送返回信息。本发明通过在各个服务调用之间增加测试代理服务,保证在全链路上的服务得到直接的验证,并且对服务调用请求进行验证,保证了服务请求的准确性与可靠性,在调用的链路上面进行验证,起到同步验证的作用,能够快速反馈测试结果,同时避免了大量的垃圾数据上报的问题。
Description
技术领域
本发明涉及信息安全领域,具体涉及一种服务链路测试方法及系统。
背景技术
对于分布式系统,大部分情况下,对各个系统的测试都只在系统的内部进行,只在系统内部做单元或者逻辑测试时往往只能测试本系统内是否存在问题,并不能知道整个服务链路是否有功能或者性能上的问题。而且,基于发起端收到的信息进行验证的方式,仅能验证最外层服务的返回结果,而无法直接验证链路上的每个服务,因此无法验证在链路中各个微服务的返回结果的正确性。
发明内容
有鉴于此,本发明实施例提供了一种服务链路测试方法及系统,解决现有技术中由于无法验证在链路中各个微服务的返回结果的正确性的问题。
为达到上述目的,本发明提供如下技术方案:
第一方面,本发明实施例提供一种服务链路测试方法,所述服务链路为微服务链路,所述服务链路中相邻两个服务之间设置有测试代理服务,所述测试方法包括:所述测试代理服务接收调用端服务发送的服务调用请求,所述服务调用请求中包括:请求内容和特征调用入参;所述测试代理服务依据所述特征调用入参对所述服务调用请求进行验证;在所述服务调用请求的验证结果为通过的情况下,向被调端服务发送所述服务调用请求,供所述被调端服务执行所述请求内容,并生成返回信息;所述测试代理服务接收所述被调端服务发送的所述返回信息,并对所述返回信息进行验证;在所述返回信息的验证结果为通过的情况下,向所述调用端服务发送所述返回信息。
在一实施例中,所述测试代理服务依据所述特征调用入参对所述服务调用请求进行验证,包括:所述测试代理服务将所述特征调用入参与预设的期望信息进行对比;在所述特征调用入参与所述期望信息一致的情况下,则所述测试代理服务对所述服务调用请求的验证结果为通过。
在一实施例中,在所述特征调用入参与所述期望信息不一致的情况下,则所述测试代理服务对所述服务调用请求的验证结果为不通过,并记录所述特征调用入参不准确的原因。
在一实施例中,在所述测试代理服务接收调用端服务发送的服务调用请求之后,在所述测试代理服务依据所述特征调用入参对所述服务调用请求进行验证之前,包括:测试代理服务根据接收的服务调用请求,将调用端服务的配置文件进行修改;根据修改后的配置文件,调用对应的被调端服务。
在一实施例中,所述测试代理服务根据接收的服务调用请求,将调用端服务的配置文件进行修改,包括:根据所述服务调用请求,修改调用端服务的所述配置文件中的IP地址及版本号;根据修改后的配置文件,调用对应的被调端服务包括:根据修改后的IP地址及版本号调用对应的被调端服务。
在一实施例中,所述测试代理服务对所述返回信息进行验证,包括:所述测试代理服务将所述返回信息与预设的期望结果进行对比;在所述返回信息与预设的期望结果一致的情况下,则所述测试代理服务对所述返回信息的验证结果为通过。
在一实施例中,在所述返回信息与预设的期望结果不一致的情况下,则所述测试代理服务对所述返回信息的验证结果为不通过,并且记录所述特征调用入参不准确的原因。
第二方面,本发明实施例提供服务链路测试系统,包括:调用端请求获取模块,用于测试代理服务接收调用端服务发送的服务调用请求,所述服务调用请求中包括:请求内容和特征调用入参;服务调用请求验证模块,用于所述测试代理服务依据所述特征调用入参对所述服务调用请求进行验证;服务调用请求发送模块,用于在所述服务调用请求的验证结果为通过的情况下,向被调端服务发送所述服务调用请求,供所述被调端服务执行所述请求内容,并生成返回信息;返回信息验证模块,用于所述测试代理服务接收所述被调端服务发送的所述返回信息,并对所述测试代理服务对所述返回信息进行验证;返回信息发送模块,用于在所述返回信息的验证结果为通过的情况下,向所述调用端服务发送所述返回信息。
第三方面,本发明实施例提供一种电子设备,包括:至少一个处理器,以及与至少一个处理器通信连接的存储器,其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器执行本发明实施例第一方面的服务链路测试方法。
第四方面,本发明实施例提供一种计算机可读存储介质,计算机可读存储介质存储有计算机指令,计算机指令用于使计算机执行本发明实施例第一方面的服务链路测试方法。
本申请实施例采用的上述至少一个技术方案能够达到以下有益效果:
本发明提供的服务链路测试方法及系统,通过在各个服务调用之间增加测试代理服务,测试代理服务首先获取调用端服务发送的服务调用请求,保证在全链路上的服务得到直接的验证,增强服务调用的准确性;并且对服务调用请求进行验证,当服务调用请求验证通过后,向被调端服务发送服务调用请求,进而通过对服务调用请求的验证,保证了服务请求的准确性与可靠性;测试代理服务接收到服务调用请求的返回信息后,对返回信息进行验证,返回信息验证通过后,向调用端服务发送返回信息,通过对返回信息的验证,保证服务请求的准确性,并且对测试对象无侵入,不会污染服务的调用,在调用的链路上面进行验证,起到同步验证的作用,能够快速反馈测试结果并保证结果的准确性,同时避免了大量的垃圾数据上报的问题。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的服务链路测试方法的一个具体示例的流程图;
图2为本发明实施例提供的测试代理服务对服务调用请求进行验证的一个具体示例的流程图;
图3为本发明实施例提供的测试代理服务对返回信息进行验证的一个具体示例的流程图;
图4为本发明实施例提供的服务链路测试系统的示意图;
图5为本发明实施例提供的电子设备一个具体示例的组成图。
具体实施方式
下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,还可以是两个元件内部的连通,可以是无线连接,也可以是有线连接。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
此外,下面所描述的本发明不同实施方式中所涉及的技术特征只要彼此之间未构成冲突就可以相互结合。
实施例1
本发明实施例提供一种服务链路测试方法,应用在微服务链路,微服务链路中相邻两个服务之间设置有测试代理服务。上述测试方法可以通过测试代理服务来执行。本发明实施例中的服务,包括测试代理服务以及微服务链路中的服务均可以是指服务器,也即是,在微服务链路中的节点,可以是单个服务器节点,也可以是集群服务器。在微服务日渐完善的时代,由于绝大部分项目只是一味地增加服务,并没有对其妥善管理,当接口出现问题时,很难从错综复杂的服务调用网络中找到问题根源,从而错失了止损的黄金时机。本发明实施例中,在调用端服务和被调端服务中间增加中间的测试代理服务,这样就解决了基于发起端收到的信息进行验证的方式,仅验证最外层服务的返回结果,链路上的服务并没有得到直接的验证,因此无法验证在链路中各个微服务的返回结果的正确性的问题,同时因为微服务的核心是解耦,因此每个服务处理的内容都是相对独立,具备其原子性。
如图1所示,本发明实施例的服务链路测试方法包括如下步骤:
步骤S1:测试代理服务接收调用端服务发送的服务调用请求,其中,服务调用请求中包括:请求内容和特征调用入参。
调用端服务向被调端服务发送调用请求时,通过增加的测试代理服务,使得测试代理服务先获取调用端服务发送的服务调用请求。例如,通常情况下服务调用请求中一般包含服务的三个要素:地址、协议格式和协议名称,其中,调用方根据地址访问到网络接口,地址包括以下要素:IP地址、服务端口、服务协议(TCP、UDP,etc);协议格式指的是该协议都有哪些字段,由接口提供者与协议调用者协商之后确定下来;协议名称或者叫协议类型,因为在同一个服务监听端口上面,可能同时提供多种接口服务于调用方,这时候需要协议类型(名称)来区分不同的网络接口。需要说明的是,本发明实施例中,服务调用请求包含的方式仅仅通过举例说明,在实际应用中也可以是其他方式,根据实际的系统需求进行设定与调整,本发明并不以此为限。本发明实施例中的调用端服务和被调端服务可以是指微服务链路中的任何两个相邻的并且存在调用与被调用关系的服务。当存在多节点级联的调用时,相邻的两个服务之间均设置有对应的一个或多个测试代理服务。当然,不同的两个相邻的服务之间也可以共用一个测试代理服务。
步骤S3:测试代理服务依据特征调用入参对服务调用请求进行验证。
本发明实施例中,当测试代理服务获取到调用端服务发送的服务调用请求时,测试代理服务就会对服务调用请求进行验证,验证的过程中就会确定此服务调用请求的对象是谁,并且确定此服务调用请求是否满足被调端服务的特定要求。也就是说,测试代理服务不是接收到调用端的服务调用请求后,立刻作出服务链接操作,而是需要先进行匹配与验证。需要说明的是,本发明实施例中的验证服务调用请求的方式是根据实际系统的安全性及准确性的要求可以进行相应的调整的,本发明并不以此为限。
步骤S5:在服务调用请求的验证结果为通过的情况下,向被调端服务发送服务调用请求,供被调端服务执行请求内容,并生成返回信息。
本发明实施例中,在服务调用请求的验证结果为通过时,测试代理服务就会向被调端服务发送服务调用请求,以便被调端服务执行请求内容,并生成返回信息,最终完成服务的调用。例如当服务A需要调用服务B时,为了能够在全链路服务中得到安全性与准确性的保障,在服务A与服务B之间增加一个测试代理服务,服务A作为调用端服务,服务B作为被调端服务。当服务A要调用服务B时,服务A就会先把本来要直接发送到服务B的服务调用请求发送到测试代理服务端,测试代理服务端会根据服务调用请求及服务B的特定规范对服务调用请求进行验证,当验证通过后,测试代理服务才会将服务A的服务调用请求发送给服务B。需要说明的是,本发明实施例仅举例说明了一次服务调用的过程,并且服务A和服务B可以使相应的服务器也可以是相应的服务进程,本发明并不以此为限。
步骤S7:测试代理服务接收被调端服务发送的返回信息,并对返回信息进行验证。
本发明实施例中,被调端接收到测试代理服务发送的服务调用请求后,会发送相应的一个返回信息给测试代理服务,以便于调用端对服务进行进一步的验证与确认。还以上述示例为例进行说明,服务B接收到测试代理服务发送过来的服务调用请求,然后服务B会根据服务调用请求生成相应的返回结果。例如在财会的记账科目中,分为:资产类、负债类、成本类和损益类等,各个科目都有其独特性,被调用后返回的结果也是不同的,服务B会根据对应服务调用请求生成相应的返回结果,并将此返回结果发送给测试代理服务;测试代理服务接收到被调端服务发送的返回信息后,会针对返回信息进行相应的验证,验证此返回信息是不是满足预设的返回条件,进一步的确保了链路服务的准确性与安全性,防止调用过程中出现错误,避免一些重要的用户信息,尤其敏感数据容易遭受攻击的问题,同时也避免了造成大量的垃圾数据上报。需要说明的是,本发明实施例中通过举例说明不同服务调用请求对应不同的返回结果,在实际应用中,本发明并不以此为限。
步骤S9:在返回信息的验证结果为通过的情况下,向调用端服务发送返回信息。
本发明实施例中,测试代理服务对返回信息的验证通过时,会向调用端服务发送返回信息,完成服务的调用。例如,当测试代理服务对返回信息验证通过后,测试代理服务就会将服务B发送过来并且验证通过的返回结果发送至服务A,服务A接收到需要的返回结果后,就完成一次服务的调用,这个整体过程对全链路服务进行了相应的验证,保证了服务的准确性及数据的安全性。
本发明提供的服务链路测试方法,通过在各个服务调用之间增加测试代理服务,测试代理服务首先获取调用端服务发送的服务调用请求,保证在全链路上的服务得到直接的验证,增强服务调用的准确性;并且对服务调用请求进行验证,当服务调用请求验证通过后,向被调端服务发送服务调用请求,进而通过对服务调用请求的验证,保证了服务请求的准确性与可靠性;测试代理服务接收到服务调用请求的返回信息后,对返回信息进行验证,返回信息验证通过后,向调用端服务发送返回信息,通过对返回信息的验证,保证服务请求的准确性,并且对测试对象无侵入,不会污染服务的调用,在调用的链路上面进行验证,起到同步验证的作用,能够快速反馈测试结果并保证结果的准确性,同时避免了大量的垃圾数据上报的问题。
在一具体实施例中,测试代理服务依据特征调用入参对服务调用请求进行验证,包括如下步骤:
步骤S31:测试代理服务将特征调用入参与预设的期望信息进行对比。
本发明实施例中,测试代理服务对服务调用请求进行验证,验证的方法就是需要测试代理服务将特征调用入参与预设的期望信息进行对比。其中,特征调用入参表示服务调用请求中特定字段处满足被调端服务相应的调用规范要求的特征字段或者验证码,预设的期望信息就是被调端服务的调用规范中的相应特征字段等。例如,假设被调端服务接收到的服务调用请求为财会账目中的损益类科目的请求时,实际系统的损益类的调用规范中的损益类科目中特定字段包括主营业务收入的特征,如果这个服务调用请求对应的字段同样是主营业务收入的特征,那么就可以判定服务调用请求的特征调用入参与预设的期望信息一致。
需要说明的是,本发明实施例仅仅通过举例进行说明特征调用入参的验证部分是特定字段或验证码,在实际应用中,只要服务调用请求相应位置与被调端调用规范相应位置是一样的就可以,本发明并不以此为限。
步骤S33:在特征调用入参与期望信息一致的情况下,则测试代理服务对服务调用请求的验证结果为通过。
本发明实施例中,当特征调用入参与期望信息一致时,则通过测试代理服务对服务调用请求的验证。也就是当被调端服务B接收到的服务调用请求中的特征调用入参与服务B的调用规范中的相应信息(期望信息)一致时,测试代理服务就可以通过对服务调用请求的验证。
在一具体实施例中,如图2所示,测试代理服务依据特征调用入参对服务调用请求进行验证,还包括如下步骤:
步骤S35:在特征调用入参与期望信息不一致的情况下,则测试代理服务对服务调用请求的验证结果为不通过,并记录特征调用入参不准确的原因。
本发明实施例中,当特征调用入参与期望信息不一致时,则不通过测试代理服务对服务调用请求的验证,并且为了后续排除错误,解决对应的问题,测试代理服务会记录对应的特征调用入参不准确的原因。
在一具体实施例中,在测试代理服务接收调用端服务发送的服务调用请求之后,在测试代理服务依据特征调用入参对服务调用请求进行验证之前,包括如下步骤:
在实际应用中,测试代理服务接收调用端服务发送的服务调用请求之后,在测试代理服务依据特征调用入参对服务调用请求进行验证之前,因为本来调用过程中,调用端服务的配置文件中是直接记录被调端服务的相应信息,在增加测试代理服务后,还需要将调用端原本的配置文件进行相应的修改。
步骤S113:测试代理服务根据接收的服务调用请求,将调用端服务的配置文件进行修改。
本发明实施例中,测试代理服务根据获取的服务调用请求,将调用端服务的配置文件进行修改,进而断开了服务A直接调用服务B的路径,将服务A发送的服务调用请求先发送给测试代理服务,也就是将服务A的配置文件中原先直接调用服务B的信息修改为测试代理服务的相关信息,测试代理服务调用被调端服务的信息不变。
步骤S133:根据修改后的配置文件,调用对应的被调端服务。
本发明实施例中,根据修改后的配置文件中的相应位置的信息,测试代理服务调用对应的被调端服务,进而保证了调用过程的准确性。
在一具体实施例中,测试代理服务根据接收的服务调用请求,将调用端服务的配置文件进行修改,包括如下步骤:
步骤S1131:根据服务调用请求,修改调用端服务的配置文件中的IP地址及版本号。
本发明实施例中,对配置文件进行修改的过程,可以根据实际需要修改调用端服务的配置文件中的IP地址及版本号,IP地址提供了在互联网上找到这台机器的凭证,最初的网络服务,通过原始的IP地址暴露给调用端服务;版本号是版本的标识号,每一个操作系统(或广义的讲,每一个软件)都有一个版本号,版本号能使用户了解所使用的操作系统是否为最新的版本以及它所提供的功能与设施。需要说明的是,本发明实施例仅举例说明可以修改配置文件中的IP地址及版本号,在实际应用中也可以是其他对被调端进行唯一标识的信息,本发明并不以此为限。
在一具体实施例中,根据修改后的配置文件,调用对应的被调端服务,包括如下步骤:
步骤S1331:根据修改后的IP地址及版本号调用对应的被调端服务。
在一具体实施例中,测试代理服务对返回信息进行验证,包括如下步骤:
步骤S91:测试代理服务将返回信息与预设的期望结果进行对比。
本发明实施例中,测试代理服务将返回信息与预设的期望结果进行对比,还以上述财会科目中损益类科目为例进行说明,当调用损益类科目时,按照实际的调用规范应该返回一个特定信息,这个特定信息就是预设的期望结果,然后将调用过程中的返回信息与预设的期望结果进行对比,就可以判断返回信息是否正确。需要说明的是,本发明实施例中仅举例说明了对比过程,在实际应用中,期望结果是根据实际服务调用请求及调研规范确定的,本发明并不以此为限。
步骤S93:在返回信息与预设的期望结果一致的情况下,则测试代理服务对返回信息的验证结果为通过。
本发明实施例中,当返回信息与预设的期望结果一致时,就可以通过测试代理服务对返回信息的验证,就完成一次调用服务,并且得到相应的输出信息。
在一具体实施例中,如图3所示,测试代理服务对返回信息进行验证,还包括如下步骤:
步骤S95:在返回信息与预设的期望结果不一致的情况下,则测试代理服务对返回信息的验证结果为不通过,并且记录特征调用入参不准确的原因。
本发明实施例中,当返回信息与预设的期望结果不一致时,就不通过测试代理服务对返回信息的验证,证明调用服务过程中出现了错误或者被攻击,然后测试代理服务记录特征调用入参不准确的原因,为后续错误排查奠定基础。
本发明提供的服务链路测试方法,通过修改调用端服务的配置文件实现通过测试代理服务调用被调服务,并且通过对比特征调用入参与预设的期望信息实现对服务调用请求的验证,对比返回信息与预设的期望结果实现对返回信息的验证,验证不通过时就记录特征调用入参不准确的原因,以便后续对问题进行排查,保证了服务调用请求的准确性,并且对调用结果进行同步验证,保证了整个调用过程的安全性与完整性。
实施例2
本发明实施例提供一种服务链路测试系统,如图4所示,包括:
调用端请求获取模块1,用于测试代理服务获取调用端服务发送的服务调用请求,服务调用请求中包括:请求内容和特征调用入参;此模块执行实施例1中的步骤S1所描述的方法,在此不再赘述。
服务调用请求验证模块2,用于测试代理服务依据特征调用入参对服务调用请求进行验证;此模块执行实施例1中的步骤S3所描述的方法,在此不再赘述。
服务调用请求发送模块3,用于在服务调用请求的验证结果为通过的情况下,向被调端服务发送服务调用请求,供被调端服务执行请求内容,并生成返回信息;此模块执行实施例1中的步骤S5所描述的方法,在此不再赘述。
返回信息验证模块4,用于测试代理服务接收被调端服务发送的返回信息,并对返回信息进行验证;此模块执行实施例1中的步骤S7所描述的方法,在此不再赘述。
返回信息发送模块5,用于在返回信息的验证结果为通过的情况下,向调用端服务发送返回信息;此模块执行实施例1中的步骤S9所描述的方法,在此不再赘述。
本发明提供的服务链路测试系统,通过在各个服务调用之间增加测试代理服务,测试代理服务首先获取调用端服务发送的服务调用请求,保证在全链路上的服务得到直接的验证,增强服务调用的准确性;并且对服务调用请求进行验证,当服务调用请求验证通过后,向被调端服务发送服务调用请求,进而通过对服务调用请求的验证,保证了服务请求的准确性与可靠性;测试代理服务接收到服务调用请求的返回信息后,对返回信息进行验证,返回信息验证通过后,向调用端服务发送返回信息,通过对返回信息的验证,保证服务请求的准确性,并且对测试对象无侵入,不会污染服务的调用,在调用的链路上面进行验证,起到同步验证的作用,能够快速反馈测试结果并保证结果的准确性,同时避免了大量的垃圾数据上报的问题;通过修改调用端服务的配置文件实现通过测试代理服务调用被调服务,并且通过对比特征调用入参与预设的期望信息实现对服务调用请求的验证,对比返回信息与预设的期望结果实现对返回信息的验证,验证不通过时就记录特征调用入参不准确的原因,以便后续对问题进行排查,保证了服务调用请求的准确性,并且对调用结果进行同步验证,保证了整个调用过程的安全性与完整性。
实施例3
本发明实施例提供一种电子设备,如图5所示,包括:至少一个处理器401,例如CPU(Central Processing Unit,中央处理器),至少一个通信接口403,存储器404,至少一个通信总线402。其中,通信总线402用于实现这些组件之间的连接通信。其中,通信接口403可以包括显示屏(Display)、键盘(Keyboard),可选通信接口403还可以包括标准的有线接口、无线接口。存储器404可以是高速RAM存储器(Ramdom Access Memory,易挥发性随机存取存储器),也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器404可选的还可以是至少一个位于远离前述处理器401的存储装置。其中处理器401可以执行实施例1的服务链路测试方法。存储器404中存储一组程序代码,且处理器401调用存储器404中存储的程序代码,以用于执行实施例1的服务链路测试方法。
其中,通信总线402可以是外设部件互连标准(perIPheral componentinterconnect,简称PCI)总线或扩展工业标准结构(extended industry standardarchitecture,简称EISA)总线等。通信总线402可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一条线表示,但并不表示仅有一根总线或一种类型的总线。
其中,存储器404可以包括易失性存储器(英文:volatile memory),例如随机存取存储器(英文:random-access memory,缩写:RAM);存储器也可以包括非易失性存储器(英文:non-volatile memory),例如快闪存储器(英文:flash memory),硬盘(英文:hard diskdrive,缩写:HDD)或固降硬盘(英文:solid-state drive,缩写:SSD);存储器404还可以包括上述种类的存储器的组合。
其中,处理器401可以是中央处理器(英文:central processing unit,缩写:CPU),网络处理器(英文:network processor,缩写:NP)或者CPU和NP的组合。
其中,处理器401还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路(英文:application-specific integrated circuit,缩写:ASIC),可编程逻辑器件(英文:programmable logic device,缩写:PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(英文:complex programmable logic device,缩写:CPLD),现场可编程逻辑门阵列(英文:field-programmable gate array,缩写:FPGA),通用阵列逻辑(英文:generic arraylogic,缩写:GAL)或其任意组合。
可选地,存储器404还用于存储程序指令。处理器401可以调用程序指令,实现如本申请执行实施例1中的服务链路测试方法。
本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机可执行指令,该计算机可执行指令可执行实施例1的服务链路测试方法。其中,存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)、随机存储记忆体(RandomAccess Memory,RAM)、快闪存储器(Flash Memory)、硬盘(Hard Disk Drive,缩写:HDD)或固降硬盘(Solid-State Drive,SSD)等;存储介质还可以包括上述种类的存储器的组合。
显然,上述实施例仅仅是为清楚地说明所作的举例,而并非对实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引申出的显而易见的变化或变动仍处于本发明创造的保护范围之中。
Claims (10)
1.一种服务链路测试方法,其特征在于,所述服务链路为微服务链路,所述服务链路中相邻两个服务之间设置有测试代理服务,所述测试方法包括:
所述测试代理服务接收调用端服务发送的服务调用请求,所述服务调用请求中包括:请求内容和特征调用入参;
所述测试代理服务依据所述特征调用入参对所述服务调用请求进行验证;
在所述服务调用请求的验证结果为通过的情况下,向被调端服务发送所述服务调用请求,供所述被调端服务执行所述请求内容,并生成返回信息;
所述测试代理服务接收所述被调端服务发送的所述返回信息,并对所述返回信息进行验证;
在所述返回信息的验证结果为通过的情况下,向所述调用端服务发送所述返回信息。
2.根据权利要求1所述的方法,其特征在于,所述测试代理服务依据所述特征调用入参对所述服务调用请求进行验证,包括:
所述测试代理服务将所述特征调用入参与预设的期望信息进行对比;
在所述特征调用入参与所述期望信息一致的情况下,则所述测试代理服务对所述服务调用请求的验证结果为通过。
3.根据权利要求2所述的方法,其特征在于,在所述特征调用入参与所述期望信息不一致的情况下,则所述测试代理服务对所述服务调用请求的验证结果为不通过,并记录所述特征调用入参不准确的原因。
4.根据权利要求1所述的方法,其特征在于,在所述测试代理服务接收调用端服务发送的服务调用请求之后,在所述测试代理服务依据所述特征调用入参对所述服务调用请求进行验证之前,包括:
测试代理服务根据接收的服务调用请求,将调用端服务的配置文件进行修改;
根据修改后的配置文件,调用对应的被调端服务。
5.根据权利要求4所述的方法,其特征在于,
所述测试代理服务根据接收的服务调用请求,将调用端服务的配置文件进行修改,包括:根据所述服务调用请求,修改调用端服务的所述配置文件中的IP地址及版本号;
根据修改后的配置文件,调用对应的被调端服务包括:根据修改后的IP地址及版本号调用对应的被调端服务。
6.根据权利要求2所述的方法,其特征在于,所述测试代理服务对所述返回信息进行验证,包括:
所述测试代理服务将所述返回信息与预设的期望结果进行对比;
在所述返回信息与预设的期望结果一致的情况下,则所述测试代理服务对所述返回信息的验证结果为通过。
7.根据权利要求6所述的方法,其特征在于,在所述返回信息与预设的期望结果不一致的情况下,则所述测试代理服务对所述返回信息的验证结果为不通过,并且记录所述特征调用入参不准确的原因。
8.一种服务链路测试系统,其特征在于,包括:
调用端请求获取模块,用于测试代理服务接收调用端服务发送的服务调用请求,所述服务调用请求中包括:请求内容和特征调用入参;
服务调用请求验证模块,用于所述测试代理服务依据所述特征调用入参对所述服务调用请求进行验证;
服务调用请求发送模块,用于在所述服务调用请求的验证结果为通过的情况下,向被调端服务发送所述服务调用请求,供所述被调端服务执行所述请求内容,并生成返回信息;
返回信息验证模块,用于所述测试代理服务接收所述被调端服务发送的所述返回信息,并对所述测试代理服务对所述返回信息进行验证;
返回信息发送模块,用于在所述返回信息的验证结果为通过的情况下,向所述调用端服务发送所述返回信息。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储计算机指令,所述计算机指令被处理器执行时实现如权利要求1-7中任一项所述的方法。
10.一种电子设备,其特征在于,包括:
存储器和处理器,所述存储器和所述处理器之间互相通信连接,所述存储器中存储有计算机指令,所述处理器通过执行所述计算机指令,从而执行如权利要求1-7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010382388.1A CN113630283B (zh) | 2020-05-08 | 2020-05-08 | 一种服务链路测试方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010382388.1A CN113630283B (zh) | 2020-05-08 | 2020-05-08 | 一种服务链路测试方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113630283A CN113630283A (zh) | 2021-11-09 |
CN113630283B true CN113630283B (zh) | 2022-07-05 |
Family
ID=78377188
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010382388.1A Active CN113630283B (zh) | 2020-05-08 | 2020-05-08 | 一种服务链路测试方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113630283B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105262717A (zh) * | 2015-08-31 | 2016-01-20 | 福建天晴数码有限公司 | 一种网络服务安全管理方法及装置 |
CN106453519A (zh) * | 2016-09-21 | 2017-02-22 | 合网络技术(北京)有限公司 | 接口调用方法及装置 |
CN108959902A (zh) * | 2018-06-07 | 2018-12-07 | 北京百悟科技有限公司 | 一种多系统集成平台和方法、计算机可读存储介质 |
CN109104491A (zh) * | 2018-08-30 | 2018-12-28 | 郑州云海信息技术有限公司 | 一种微服务调用方法、装置、服务器及存储介质 |
CN110225131A (zh) * | 2019-06-19 | 2019-09-10 | 广州小鹏汽车科技有限公司 | 一种服务调用方法和装置 |
CN110401696A (zh) * | 2019-06-18 | 2019-11-01 | 华为技术有限公司 | 一种去中心化处理的方法、通信代理、主机以及存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10592402B2 (en) * | 2017-11-20 | 2020-03-17 | International Business Machines Corporation | Automated integration testing with mock microservices |
-
2020
- 2020-05-08 CN CN202010382388.1A patent/CN113630283B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105262717A (zh) * | 2015-08-31 | 2016-01-20 | 福建天晴数码有限公司 | 一种网络服务安全管理方法及装置 |
CN106453519A (zh) * | 2016-09-21 | 2017-02-22 | 合网络技术(北京)有限公司 | 接口调用方法及装置 |
CN108959902A (zh) * | 2018-06-07 | 2018-12-07 | 北京百悟科技有限公司 | 一种多系统集成平台和方法、计算机可读存储介质 |
CN109104491A (zh) * | 2018-08-30 | 2018-12-28 | 郑州云海信息技术有限公司 | 一种微服务调用方法、装置、服务器及存储介质 |
CN110401696A (zh) * | 2019-06-18 | 2019-11-01 | 华为技术有限公司 | 一种去中心化处理的方法、通信代理、主机以及存储介质 |
CN110225131A (zh) * | 2019-06-19 | 2019-09-10 | 广州小鹏汽车科技有限公司 | 一种服务调用方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN113630283A (zh) | 2021-11-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9578027B1 (en) | Multiple data store authentication | |
US10476833B2 (en) | Warning method and apparatus, and processing server | |
EP2632199A1 (en) | Service deliver platform based application test method and service deliver platform | |
CN111045921A (zh) | 自动化接口测试方法、装置、计算机设备及存储介质 | |
CN111290742A (zh) | 参数验证方法、装置、电子设备及可读存储介质 | |
CN110908909A (zh) | 自动化测试方法、装置、存储介质及设备 | |
CN108650244A (zh) | 一种域名解析方法、终端及递归dns服务器 | |
CN112383402B (zh) | 双重幂等验证方法及服务器 | |
CN108990047A (zh) | 签约关系管理数据准备平台的测试方法、装置及介质 | |
CN111405006A (zh) | 一种远程登录失败的处理方法、装置及远程登录系统 | |
CN112115049A (zh) | 应用程序测试方法、装置、设备和计算机可读存储介质 | |
CN114860613A (zh) | 一种自动化测试方法及装置 | |
CN113630283B (zh) | 一种服务链路测试方法及系统 | |
CN112632495A (zh) | 微信公众号的管理方法、装置和电子设备 | |
CN112732463A (zh) | 一种基于大数据的消息订阅方法和装置 | |
CN111340635A (zh) | 一种数据核查方法、设备、服务器及可读存储介质 | |
CN110647439A (zh) | 确认区块链系统部署方法、装置、计算机设备及存储介质 | |
CN115408298A (zh) | 测试方法、装置、系统 | |
CN114238927A (zh) | 业务系统登录方法、系统、装置、计算机设备及存储介质 | |
CN114172714A (zh) | 账号访问权限的控制方法、装置和电子设备 | |
CN114254991A (zh) | 目标对象的提报方法、装置及设备 | |
CN112181448A (zh) | 一种应用程序远程安装方法、装置及计算机设备 | |
CN111475400A (zh) | 一种业务平台的验证方法及相关设备 | |
US11909909B2 (en) | Method for determining an originating telephone number | |
CN109348473B (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 |