一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

测试请求的处理方法、装置和系统与流程

2022-04-06 22:04:44 来源:中国专利 TAG:


1.本发明涉及互联网领域,具体而言,涉及一种测试请求的处理方法、装置和系统。


背景技术:

2.在测试联调场景中,经常会遇到有多版本并行测试的状况,测试环境的复用场景就会频繁出现,又比如在自动化测试中,也经常需要在测试某种场景时通过访问下游mock服务来模拟下游返回指定的结果。目前的方案通常是通过手动修改服务配置信息并通过服务重启的方式,来实现配置的切换,导致多人共同使用一套环境进行测试时,测试环境的服务稳定性下降。
3.针对上述的问题,目前尚未提出有效的解决方案。


技术实现要素:

4.本发明实施例提供了一种测试请求的处理方法、装置和系统,以至少解决相关技术中在测试联调过程中需要频繁修改配置并重启服务,导致测试环境的稳定性下降的技术问题。
5.根据本发明实施例的一个方面,提供了一种测试请求的处理方法,包括:接收上游模块发送的多个测试请求,其中,不同测试请求用于访问不同的测试场景;确定每个测试请求对应的第一地址信息,其中,第一地址信息用于表征每个测试请求所访问的测试场景的地址信息;基于每个测试请求对应的第一地址信息,将每个测试请求转发给第一地址信息对应的下游模块;接收第一地址信息对应的下游模块返回的测试结果,并将测试结果转发给上游模块。
6.进一步地,确定每个测试请求对应的第一地址信息包括:对每个测试请求进行解析,得到每个测试请求的第一标识信息;基于每个测试请求的第一标识信息,从多个转发规则中确定每个测试请求对应的第一转发规则,其中,每个转发规则用于表征不同标识信息和地址信息的对应关系;对每个测试请求对应的第一转发规则进行解析,得到每个测试请求对应的第一地址信息。
7.进一步地,该方法还包括:接收第二转发规则,其中,第二转发规则至少包括:第二标识信息和第二地址信息;将第二转发规则存储至多个转发规则中。
8.进一步地,该方法还包括:输出多个转发规则;接收第三转发规则,其中,第三转发规则通过对多个转发规则中的目标转发规则进行更新得到;将目标转发规则替换为第三转发规则。
9.根据本发明实施例的另一方面,还提供了一种测试请求的处理装置,包括:接收模块,用于接收上游模块发送的多个测试请求,其中,不同测试请求用于访问不同的测试场景;确定模块,用于确定每个测试请求对应的第一地址信息,其中,第一地址信息用于表征每个测试请求所访问的测试场景的地址信息;转发模块,用于基于每个测试请求对应的第一地址信息,将每个测试请求转发给第一地址信息对应的下游模块;接收模块,用于接收第
一地址信息对应的下游模块返回的测试结果,并将测试结果转发给上游模块。
10.根据本发明实施例的另一方面,还提供了一种测试请求的处理系统,包括:代理服务器,用于接收上游模块发送的多个测试请求,其中,不同测试请求用于访问不同的测试场景;规则解析服务器,与代理服务器通信连接,用于确定每个测试请求对应的第一地址信息,其中,第一地址信息用于表征每个测试请求所访问的测试场景的地址信息;代理服务器还用于基于规则解析服务器发送的每个测试请求对应的第一地址信息,将每个测试请求转发给第一地址信息对应的下游模块,并将第一地址信息对应的下游模块返回的测试结果转发给上游模块。
11.进一步地,该系统还包括:规则存储服务器,用于存储多个转发规则,其中,每个转发规则用于表征不同标识信息和地址信息的对应关系;规则解析服务器还用于对每个测试请求进行解析,得到每个测试请求的第一标识信息,基于每个测试请求的第一标识信息,从规则存储服务器获取每个测试请求对应的第一转发规则,并对每个测试请求对应的第一转发规则进行解析,得到每个测试请求对应的第一地址信息。
12.进一步地,该系统还包括:配置平台,与规则存储服务器通信连接,用于接收第二转发规则,并将第二转发规则存储至规则存储服务器,其中,第二转发规则至少包括:第二标识信息和第二地址信息。
13.根据本发明实施例的另一方面,还提供了一种计算机可读存储介质,计算机可读存储介质包括存储的程序,其中,在程序运行时控制计算机可读存储介质所在设备执行上述的测试请求的处理方法。
14.根据本发明实施例的另一方面,还提供了一种处理器,处理器用于运行程序,其中,程序运行时执行上述的测试请求的处理方法。
15.在本发明实施例中,在接收到上游模块发送的多个测试请求之后,通过确定每个测试请求对应的第一地址信息,基于每个测试请求对应的第一地址信息,将每个测试请求转发给第一地址信息对应的下游模块,接收第一地址信息对应的下游模块返回的测试结果,并将测试结果转发给上游模块,实现请求转发控制的目的。容易注意到的是,可以通过统一的代理转发服务确定每个测试请求对应的第一地址信息,并将每个测试请求进行转发,无需频繁修改服务配置,从而减少了非必要重启次数,提升了测试环境的服务稳定性,进而解决了相关技术中在测试联调过程中需要频繁修改配置并重启服务,导致测试环境的稳定性下降的技术问题。
附图说明
16.此处所说明的附图用来提供对本发明的进一步理解,构成本技术的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
17.图1a是根据现有技术的一种多版本并行测试的示意图;
18.图1b是根据现有技术的一种自动化测试的示意图;
19.图2是根据本发明实施例的测试请求的处理方法的流程图;
20.图3是根据本发明实施例的一种可选的服务转发装置的示意图;
21.图4是根据本发明实施例的一种可选的转发规则的示意图;
22.图5是根据本发明实施例的一种可选的测试请求的处理方法的流程图;
23.图6是根据本发明实施例的测试请求的处理装置的示意图;
24.图7是根据本发明实施例的测试请求的处理系统的示意图。
具体实施方式
25.为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
26.需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
27.首先,对本发明实施例中出现的技术名词或技术术语进行如下解释说明:
28.mock服务:在测试过程中,对于某些不容易构造或者获取的场景,使用一个模拟服务进行特定结果的模拟,从而帮助覆盖相应的测试场景(如:超时、下游无响应等场景)。
29.基准环境:与线上版本保持同步更新的测试环境,相对于其他环境版本稳定性更高。
30.代理转发:客户端发送请求到代理服务器,代理服务转发请求到目标服务器;目标网站服务器返回信息到代理服务,代理服务将信息转发给客户端。
31.在日常线下测试过程中,通常会遇到联调不同版本需求需要访问不同的下游服务环境的场景。如图1a所示,在测试需求1时,上游模块a需要访问下游模块b的基准环境,但在测试需求2时又需要访问下游模块b的联调环境;如图1b所示,在自动化测试时在模拟构造某种特定的下游返回时需要访问mock服务。通常在这种场景下,上游a模块需要手动去修改访问下游的配置信息,并进行服务的重启,以保证新配置地址可以生效,在多人共同使用一套环境进行测试时,就会出现配置频繁修改以及服务本身的频繁重启,也就导致测试环境的稳定性下降;在多版本并行使用环境时也会遇到配置冲突的问题,导致环境无法被复用,需要部署多套环境,导致对机器资源占用增加,成本上升。
32.为了解决上述问题,本发明提供了一种测试请求的处理方法,从而实现以下功能:
33.上游模块配置一个统一的转发服务地址,降低配置维护成本,减少因服务配置修改带来的非必要重启次数,提升测试环境的服务稳定性;
34.通过代理转发方式将上游服务的请求信息发送给目标下游服务方,并将下游相应报告同步回传;
35.可以通过预先设置代理转发规则的方式,根据请求报文的特定标识(如header中携带环境标识信息)信息灵活指定目标下游请求地址。
36.根据本发明实施例,提供了一种测试请求的处理方法,需要说明的是,在附图的流
程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
37.图2是根据本发明实施例的测试请求的处理方法的流程图,如图1所示,该方法包括如下步骤:
38.步骤s202,接收上游模块发送的多个测试请求,其中,不同测试请求用于访问不同的测试场景。
39.上述步骤中的多个测试请求可以是测试联调场景中,针对不同测试需求所生成的测试请求,不同测试需求需要访问同一个下游模块的不同测试场景,或者访问不同的下游模块。例如,对于如图1a所示的场景,多个测试请求可以包括针对测试需求1生成的测试请求1和针对测试需求2生成的测试请求2;对于如图1b所示的场景,多个测试请求可以包括针对测试需求1的测试请求1和针对自动化测试需求生成的测试请求3。
40.在一种可选的实施例中,可以通过服务转发装置实现上述处理方法,如图3所示,服务转发装置包含如下4个部分:代理转发服务、规则解析服务、规则存储服务以及可视化前端规则配置平台。其中,可以为上游模块配置一个统一的转发服务地址,通过代理转发服务统一接收上游模块发送的所有测试请求,并将不同的测试请求按照不同的地址转发给下游模块。
41.步骤s204,确定每个测试请求对应的第一地址信息,其中,第一地址信息用于表征每个测试请求所访问的测试场景的地址信息。
42.上述步骤中的第一地址信息可以是下游模块实际服务地址,也即,测试场景的地址。
43.在一种可选的实施例中,测试人员可以预先针对不同的测试请求进行规则配置,指定好转发规则以及相应的下游实际服务地址。如图3所示,代理转发服务在接收到测试请求之后,可以将测试请求转发给规则解析服务,规则解析服务根据预先配置好的转发贵,获取到预设的下游实际服务地址,并将下游实际服务地址返回给代理转发服务。例如,对于如图1a所示的场景,可以获取到测试请求1对应的模块b的基准环境地址,以及测试请求2对应的模块b的联调环境地址;对于如图1b所示的场景,可以获取到测试请求1对应的模块b的基准环境地址,以及测试请求3对应的mock地址。
44.步骤s206,基于每个测试请求对应的第一地址信息,将每个测试请求转发给第一地址信息对应的下游模块。
45.在一种可选的实施例中,如图3所示,代理转发服务可以根据第一地址信息,将原始测试请求发送给相应的下游模块。例如,对于如图1a所示的场景,可以基于模块b的基准环境地址,将测试请求1发送给模块b,并基于模块b的联调环境地址,将测试请求2发送给模块b;对于如图1b所示的场景,可以将测试请求1发送给模块b,并基于mock地址,将测试请求3发送给mock。
46.步骤s208,接收第一地址信息对应的下游模块返回的测试结果,并将测试结果转发给上游模块。
47.在一种可选的实施例中,下游模块在接收到测试请求之后,可以通过第一地址信息对应的测试环境进行测试,生成相应的测试结果,并通过代理转发服务将测试结果返回
给上游模块,完成一次请求的交互流程。
48.通过本发明上述实施例,在接收到上游模块发送的多个测试请求之后,通过确定每个测试请求对应的第一地址信息,基于每个测试请求对应的第一地址信息,将每个测试请求转发给第一地址信息对应的下游模块,接收第一地址信息对应的下游模块返回的测试结果,并将测试结果转发给上游模块,实现请求转发控制的目的。容易注意到的是,可以通过统一的代理转发服务确定每个测试请求对应的第一地址信息,并将每个测试请求进行转发,无需频繁修改服务配置,从而减少了非必要重启次数,提升了测试环境的服务稳定性,进而解决了相关技术中在测试联调过程中需要频繁修改配置并重启服务,导致测试环境的稳定性下降的技术问题。
49.本发明上述实施例中,确定每个测试请求对应的第一地址信息包括:对每个测试请求进行解析,得到每个测试请求的第一标识信息;基于每个测试请求的第一标识信息,从多个转发规则中确定每个测试请求对应的第一转发规则,其中,每个转发规则用于表征不同标识信息和地址信息的对应关系;对每个测试请求对应的第一转发规则进行解析,得到每个测试请求对应的第一地址信息。
50.上述步骤中的第一标识信息可以是测试请求中的特定标识,例如,header字段中携带的环境标识信息,也即请求uri(uniform resource identifier,统一资源标识符)。多个转发规则可以是测试人员在测试之前,以uri维度对测试请求进行划分,并针对不同测试请求所配置的转发规则。例如,如图4所示,转发规则可以包括:使用请求uri区分规则,指定测试环境的地址实现目标地址管理,支持脚本配置对入参进行灵活解析。
51.在一种可选的实施例中,如图3所示,测试人员在测试发起前,可以通过可视化前端规则配置平台针对本次需要进行代理转发的测试请求(以uri维度)进行规则配置,规则配置方式也支持多种,比如针对请求头信息中携带的标识字段进行提取解析,也可以更细粒度的支持用户id维度的规则转发,从而应对在实际测试场景中的不同需求。配置好的多个转发规则存储在规则存储服务中。规则解析服务在接收到测试请求之后,可以通过规则解析服务对测试请求进行解析,提取出请求uri,然后通过模糊匹配(如/service/*可以匹配/service/query及/service/do等uri请求)从规则存储服务中查询匹配转发规则,也即,确定第一转发规则,进一步执行预先配置好的执行脚本对第一转发规则进行解析,读取出第一转发规则中配置的第一地址信息,并返回给代理转发服务。
52.需要说明的是,解析规则支持动态热加载,可以随时通过可视化前端规则配置平台进行动态调整已达到想要的结果。
53.本发明上述实施例中,该方法还包括:接收第二转发规则,其中,第二转发规则至少包括:第二标识信息和第二地址信息;将第二转发规则存储至多个转发规则中。
54.上述步骤中的第二转发规则可以是测试人员在测试之前新增加的转发规则。
55.在一种可选的实施例中,如图3所示,测试人员可以通过可视化前端规则配置平台新增第二转发规则,测试人员需要针对第二标识信息配置第二地址信息,从而可视化前端规则配置平台可以将第二转发规则存储至规则存储服务中。
56.本发明上述实施例中,该方法还包括:输出多个转发规则;接收第三转发规则,其中,第三转发规则通过对多个转发规则中的目标转发规则进行更新得到;将目标转发规则替换为第三转发规则。
57.在一种可选的实施例中,如图3所示,测试人员可以通过可视化前端规则配置平台读取规则存储服务中存储的所有转发规则,并进行前端展示,然后测试人员可以对目标转发规则进行更新,此处的更新包括:目标标识信息更新、目标地址信息更新、目标标识信息和目标地址信息同时更新,更新后得到第三转发规则,最后将规则存储服务中存储的目标转发规则替换为第三转发规则。
58.下面结合图5对本发明一种优选的实施例进行详细说明,如图5所示,该方法包括:测试人员在测试发起前,可以通过可视化前端规则配置平台针对本次需要进行代理转发的请求(以uri维度)进行规则配置(指定好转发规则以及相应的测试环境的地址)。在上游模块发起测试请求(uri=/demo/query)后,上游模块会将请求直接发送给代理转发服务,通过规则解析服务实时从规则存储服务获取到预先写好的转发规则(匹配满足/demo/query的转发规则)并执行预先配置好的规则脚本,获取到预设的下游实际服务地址(ip:port)并返回给代理转发服务,然后代理转发服务将测试请求发送给目标下游模块,并将下游模块的测试结果同步返回给上游模块,至此完成了一次请求的转发。
59.根据本发明实施例,还提供了一种测试请求的处理装置,该装置可以执行上述实施例中的测试请求的处理方法,具体实现方案和应用场景与上述实施例相同,在此不做赘述。
60.图6是根据本发明实施例的测试请求的处理装置的示意图,如图6所示,该装置包括:
61.接收模块62,用于接收上游模块发送的多个测试请求,其中,不同测试请求用于访问不同的测试场景;
62.确定模块64,用于确定每个测试请求对应的第一地址信息,其中,第一地址信息用于表征每个测试请求所访问的测试场景的地址信息;
63.转发模块66,用于基于每个测试请求对应的第一地址信息,将每个测试请求转发给第一地址信息对应的下游模块;
64.接收模块68,用于接收第一地址信息对应的下游模块返回的测试结果,并将测试结果转发给上游模块。
65.本发明上述实施例中,确定模块包括:第一解析单元,用于对每个测试请求进行解析,得到每个测试请求的第一标识信息;确定单元,用于基于每个测试请求的第一标识信息,从多个转发规则中确定每个测试请求对应的第一转发规则,其中,每个转发规则用于表征不同标识信息和地址信息的对应关系;第二解析单元,用于对每个测试请求对应的第一转发规则进行解析,得到每个测试请求对应的第一地址信息。
66.本发明上述实施例中,该装置还包括:接收模块,用于接收第二转发规则,其中,第二转发规则至少包括:第二标识信息和第二地址信息;存储模块,用于将第二转发规则存储至多个转发规则中。
67.本发明上述实施例中,该装置还包括:输出模块,用于输出多个转发规则;接收模块,用于接收第三转发规则,其中,第三转发规则通过对多个转发规则中的目标转发规则进行更新得到;存储模块,用于将目标转发规则替换为第三转发规则。
68.根据本发明实施例,还提供了一种测试请求的处理系统,该系统可以执行上述实施例中的测试请求的处理方法,具体实现方案和应用场景与上述实施例相同,在此不做赘
述。
69.图7是根据本发明实施例的测试请求的处理系统的示意图,如图7所示,该系统包括:
70.代理服务器72,用于接收上游模块发送的多个测试请求,其中,不同测试请求用于访问不同的测试场景;规则解析服务器74,与代理服务器通信连接,用于确定每个测试请求对应的第一地址信息,其中,第一地址信息用于表征每个测试请求所访问的测试场景的地址信息;代理服务器还用于基于规则解析服务器发送的每个测试请求对应的第一地址信息,将每个测试请求转发给第一地址信息对应的下游模块,并将第一地址信息对应的下游模块返回的测试结果转发给上游模块。
71.上述的代理服务器可以是部署有如图3所示的代理转发服务的服务器,规则解析服务器可以是部署有如图3所示的规则解析服务的服务器。
72.本发明上述实施例中,该系统还包括:规则存储服务器,用于存储多个转发规则,其中,每个转发规则用于表征不同标识信息和地址信息的对应关系;规则解析服务器还用于对每个测试请求进行解析,得到每个测试请求的第一标识信息,基于每个测试请求的第一标识信息,从规则存储服务器获取每个测试请求对应的第一转发规则,并对每个测试请求对应的第一转发规则进行解析,得到每个测试请求对应的第一地址信息。
73.上述的规则存储服务器可以是部署有如图3所示的规则存储服务的服务器。
74.本发明上述实施例中,该系统还包括:配置平台,与规则存储服务器通信连接,用于接收第二转发规则,并将第二转发规则存储至规则存储服务器,其中,第二转发规则至少包括:第二标识信息和第二地址信息。
75.上述的配置平台可以是如图3所示的可视化前端规则配置平台。
76.根据本发明实施例,还提供了一种计算机可读存储介质,计算机可读存储介质包括存储的程序,其中,在程序运行时控制计算机可读存储介质所在设备执行上述实施例中的测试请求的处理方法。
77.根据本发明实施例,还提供了一种处理器,处理器用于运行程序,其中,程序运行时执行上述实施例中的测试请求的处理方法。
78.在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
79.在本技术所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
80.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
81.另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单
元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
82.所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
83.以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献