CN115150310A - 请求生成方法、处理方法、装置、电子设备及存储介质 - Google Patents
请求生成方法、处理方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN115150310A CN115150310A CN202210773886.8A CN202210773886A CN115150310A CN 115150310 A CN115150310 A CN 115150310A CN 202210773886 A CN202210773886 A CN 202210773886A CN 115150310 A CN115150310 A CN 115150310A
- Authority
- CN
- China
- Prior art keywords
- test
- information
- request
- communication protocol
- micro service
- 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 78
- 238000003672 processing method Methods 0.000 title claims description 15
- 238000012360 testing method Methods 0.000 claims abstract description 630
- 238000012545 processing Methods 0.000 claims abstract description 66
- 238000004891 communication Methods 0.000 claims description 107
- 238000004590 computer program Methods 0.000 claims description 11
- 238000004806 packaging method and process Methods 0.000 claims description 6
- 238000000605 extraction Methods 0.000 claims description 3
- 230000008569 process Effects 0.000 description 33
- 238000010586 diagram Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 8
- 238000004364 calculation method Methods 0.000 description 6
- 230000010365 information processing Effects 0.000 description 6
- 230000008859 change Effects 0.000 description 5
- 239000003795 chemical substances by application Substances 0.000 description 5
- 238000011144 upstream manufacturing Methods 0.000 description 5
- FFBHFFJDDLITSX-UHFFFAOYSA-N benzyl N-[2-hydroxy-4-(3-oxomorpholin-4-yl)phenyl]carbamate Chemical compound OC1=C(NC(=O)OCC2=CC=CC=C2)C=CC(=C1)N1CCOCC1=O FFBHFFJDDLITSX-UHFFFAOYSA-N 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 230000003993 interaction Effects 0.000 description 3
- 230000002452 interceptive effect Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 238000007792 addition Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003631 expected effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 239000000178 monomer Substances 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
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/50—Testing arrangements
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本公开提供了一种请求生成方法、处理方法、装置、电子设备及存储介质,涉及计算机技术领域,尤其涉及云计算领域。具体实现方案为:接收第一网络请求;在确定所述第一网络请求用于测试的情况下,确定所述第一网络请求对应的一个或多个目标测试配置信息;基于所述一个或多个目标测试配置信息,生成一个或多个测试信息;基于所述一个或多个测试信息生成测试请求,并发送所述测试请求。本公开实施例的技术方案,能够保证测试处理的正确性以及效率。
Description
技术领域
本公开涉及计算机技术领域,尤其涉及云计算领域。具体涉及一种请求生成方法、处理方法、装置、电子设备即存储介质。
背景技术
目前业务迭代升级过程中,对于商业类业务,为了验证业务变更效果,几乎任何改动都需要进行测试,并且目前互联网软件架构朝云原生微服务方向演进,大单体系统逐步划分成多个微服务,因此在不少业务场景里,存在着对多个微服务进行测试需求。然而,如何保证测试处理的正确性以及效率,就成为需要解决的问题。
发明内容
本公开提供了一种请求生成方法、处理方法、装置、电子设备即存储介质。
根据本公开的第一方面,提供了一种请求生成方法,包括:
接收第一网络请求;
在确定所述第一网络请求用于测试的情况下,确定所述第一网络请求对应的一个或多个目标测试配置信息;
基于所述一个或多个目标测试配置信息,生成一个或多个测试信息;
基于所述一个或多个测试信息生成测试请求,并发送所述测试请求。
根据本公开的第二方面,提供了一种请求处理方法,包括:
接收测试请求;
从所述测试请求中获取一个或多个测试信息;
在所述一个或多个测试信息中存在自身匹配的目标测试信息的情况下,获取所述目标测试信息;
基于所述目标测试信息进行处理,得到测试处理结果。
根据本公开的第三方面,提供了一种请求生成装置,包括:
第一接收模块,用于接收第一网络请求;
测试配置模块,用于在确定所述第一网络请求用于测试的情况下,确定所述第一网络请求对应的一个或多个目标测试配置信息;
信息生成模块,用于基于所述一个或多个目标测试配置信息,生成一个或多个测试信息;以及基于所述一个或多个测试信息生成测试请求;
第一发送模块,用于发送所述测试请求。
根据本公开的第四方面,提供了一种请求处理装置,包括:
第二接收模块,用于接收测试请求;
信息提取模块,用于从所述测试请求中获取一个或多个测试信息;在所述一个或多个测试信息中存在自身匹配的目标测试信息的情况下,获取所述目标测试信息;
测试处理模块,用于基于所述目标测试信息进行处理,得到测试处理结果。
根据本公开的第五方面,提供了一种电子设备,包括:
至少一个处理器;以及
与该至少一个处理器通信连接的存储器;其中,
该存储器存储有可被该至少一个处理器执行的指令,该指令被该至少一个处理器执行,以使该至少一个处理器能够执行前述第一方面的请求生成方法或执行前述第二方面的请求处理方法。
根据本公开的第六方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,该计算机指令用于使该计算机执行前述方法。
根据本公开的第七方面,提供了一种计算机程序产品,包括计算机程序,该计算机程序在被处理器执行时实现前述方法。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
本实施例提供的方案,可以在接收到第一网络请求时,若根据目标测试配置信息确定该第一网络请求用于测试,则直接基于目标测试配置信息确定一个或多个测试信息,并根据该一个或多个测试信息生成测试请求并发送至微服务节点。如此,可以在收到网络请求时直接完成测试信息的生成,这样可以避免各个微服务节点单独生成自身所要使用的测试信息所带来的测试冲突问题,并且还可以避免跨网调用测试服务所带来的资源消耗问题,从而实现统一的测试信息处理,保证了测试处理的正确性以及效率。
附图说明
附图用于更好地理解本方案,不构成对本公开的限定。其中:
图1是根据本公开一实施例的请求生成方法的一种流程示意图;
图2是根据本公开一实施例的请求处理方法的一种流程示意图;
图3是根据本公开一实施例的请求生成方法以及请求处理方法的一种示例流程图;
图4是根据本公开一实施例的请求生成装置的一种组成结构示意图;
图5是根据本公开一实施例的请求生成装置的另一种组成结构示意图;
图6是根据本公开一实施例的请求处理装置的一种组成结构示意图;
图7是根据本公开一实施例的请求处理装置的另一种组成结构示意图;
图8是用来实现本公开实施例的电子设备的框图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
本公开第一方面实施例提供一种请求生成方法,如图1所示,包括:
S101:接收第一网络请求;
S102:在确定所述第一网络请求用于测试的情况下,确定所述第一网络请求对应的一个或多个目标测试配置信息;
S103:基于所述一个或多个目标测试配置信息,生成一个或多个测试信息;
S104:基于所述一个或多个测试信息生成测试请求,并发送所述测试请求。
上述第一方面实施例提供的请求生成方法,可以应用于网络设备;该网络设备具体可以为网络侧的网关,或者还可以为其他网络设备,本实施例不进行穷举。
该第一网络请求可以为该网络设备获取到的一个或多个网络请求中任意之一,针对每个接收到的网络请求均可以执行本实施例提供的请求生成方法,只是不做一一赘述。
前述测试指的是对新版本应用进行测试,该测试用于评估新版本应用是否可以达到预期效果或预期目的。比如,在网络中同时部署了新版本应用和旧版本应用的情况下,通过部分网络请求对新版本应用进行测试。随着软件架构演进至微服务架构,一个应用逐步划分为多个微服务,相应的,前述测试具体可以是对新版本应用对应的一个或多个微服务节点进行测试,以评估新版本应用是否可以达到预期效果或预期目的。
所述一个或多个目标测试配置信息,可以是从多个候选测试配置信息中选取得到的,所述多个候选测试配置信息可以是由管理人员在其使用的管理平台中预先设置的。
可见,通过采用上述方案,就可以在接收到第一网络请求时,若根据目标测试配置信息确定该第一网络请求用于测试,则直接基于目标测试配置信息确定一个或多个测试信息,并根据该一个或多个测试信息生成测试请求并发送至微服务节点。如此,可以在收到网络请求时直接完成测试信息的生成,这样可以避免各个微服务节点单独生成自身所要使用的测试信息所带来的测试冲突问题,并且还可以避免跨网调用测试服务所带来的资源消耗问题,从而实现统一的测试信息处理,保证了测试处理的正确性以及效率。
在一种实施方式中,还可以包括:获取预设流量分配信息,以及基于一个或多个候选测试标识获取一个或多个候选测试配置信息;其中,所述一个或多个候选测试标识包括关联的N个微服务节点分别支持的预设测试标识,N为正整数。
前述获取预设流量分配信息,以及基于一个或多个候选测试标识获取所述一个或多个候选测试配置信息的触发方式可以是:在当前时刻达到获取配置的周期时长的情况下,触发执行的;或者,可以是接收到获取配置指令的情况下,触发执行的;或者,可以是确定N个微服务节点发生改变的情况下,触发执行的。
其中,所述获取配置的周期时长可以根据实际情况设置,比如,可以为1小时、12小时,或更长或更短。
所述获取配置指令可以是管理人员在自身使用的电子设备生成、并发送至前述网络设备(比如网关)的;管理人员生成该获取配置指令,可以是在管理人员确定预设流量分配信息,和/或,预设测试配置信息发生改变的情况下生成该获取配置指令。
确定N个微服务节点发生改变的方式,可以包括:可以是管理人员向网络设备(比如网关)发送微服务节点改变指令;或者可以是网络设备(比如网关)周期性轮询检测到自身关联的微服务节点中至少之一,发生删除、修改、添加等处理的情况下,确定N个微服务节点发生改变。应理解,还可能存在更多确定N个微服务节点发生改变的方式,本实施例不对其进行穷举。
所述预设流量分配信息,用于确定任意一个网络请求是否用于测试,以及在确定任意一个网络请求用于测试的情况下,该网络请求命中的测试标识。
所述N个微服务节点为前述网络设备(比如网关)直接或间接关联的全部微服务节点;所述N个微服务节点中,每个微服务节点支持的预设测试标识可以指的是在每个微服务节点中预配置的;在所述N个微服务节点中,不同的微服务节点支持的预设测试标识,可以相同也可以不同。
所述获取预设流量分配信息,可以是:从配置平台获取所述预设流量分配信息。其中,所述配置平台具体可以是具备交互界面的电子设备,用于生成并保存所述预设流量分配信息以及所述多个预设测试配置信息。再具体的,该配置平台负责提供测试配置界面,用户或管理人员通过在该测试配置界面中进行测试管理、测试流量分配、测试变量管理等处理,生成并保存所述预设流量分配信息以及所述多个预设测试配置信息;进一步地,还可以对所述预设流量分配信息以及所述多个预设测试配置信息进行标准化的审批等管理流程,这里不对其进行穷举。前述测试管理,可以指的是开始进行测试配置的管理,比如在测试配置界面可以有虚拟按键,当检测到点击该虚拟按键时,可以确定用户或管理人员需要开始进行测试配置;前述测试流量分配,可以指的是在测试流量分配界面,对一个或多个候选测试标识分别进行相关配置,得到前述预设流量分配信息;前述测试变量管理,可以指的是在测试变量管理界面,对每一个候选测试标识对应的测试参数及其变量值进行配置,得到前述多个预设测试配置信息。
获取一个或多个候选测试标识的方式,可以是:从所述N个微服务节点中分别获取每个微服务节点支持的预设测试标识;将所述N个微服务节点分别支持的预设测试标识进行去重后,得到所述一个或多个候选测试标识。举例来说,N等于3,也就是前述网络设备(比如网关)直接或间接关联3个微服务节点;其中,微服务节点1支持的测试标识为测试1,微服务节点2支持的测试标识为测试2,微服务节点3支持的测试标识为测试1;在执行本实施例的请求生成方法的前述网络设备(比如网关)获取到微服务节点1~微服务节点3分别支持的预设测试标识后进行去重处理,最终可以得到测试1和测试2作为2个候选测试标识。应理解的是,前述网络设备(比如网关)直接或间接关联的微服务节点,可以根据实际情况不同而有所改变,因此,可以在前述网络设备(比如网关)直接或间接关联的微服务节点发生改变的情况下,重新执行前述处理以获取一个或多个候选测试标识。
所述基于一个或多个候选测试标识,从预设测试配置信息中获取所述一个或多个候选测试配置信息,可以指的是:从配置平台保存的多个预设测试配置信息中,获取与所述一个或多个候选测试标识匹配的所述一个或多个候选测试配置信息。
所述从配置平台保存的多个预设测试配置信息中,获取与所述一个或多个候选测试标识匹配的所述一个或多个候选测试配置信息,具体可以指的是:
将所述一个或多个候选测试标识中的第i个候选测试标识,与所述配置平台保存的所述多个预设测试配置信息所分别对应的预设测试标识进行比对;
将与所述第i个候选测试标识匹配的预设测试配置信息,添加至所述一个或多个候选测试配置信息中。其中,i为正整数。
这里,该第i个候选测试标识,为所述一个或多个候选测试标识中任意之一。也就是,针对全部候选测试标识可以分别采用上述处理方式,最终可以得到全部候选测试标识分别匹配的候选测试配置信息,只是不做一一赘述。
所述一个或多个候选测试配置信息中,任意一个候选测试配置信息与一个候选测试标识相关联。
还需要指出,执行该第一方面实施例的网络设备(比如网关)与前述配置平台之间可以基于预设的交互协议进行通信;另外,执行该第一方面实施例的网络设备(比如网关)可以是通过其内部配置的功能(比如配置代理功能),从前述配置平台获取预设流量分配信息以及多个预设测试配置信息。也就是,网络设备(比如网关)中的内部配置的功能(比如配置代理功能)可以通过与前述配置平台之间的交互协议,定时同步配置平台中用户配置的预设流量分配信息以及多个预设测试配置信息。
可见,通过采用上述方案,就可以获取到预设流量分配信息,并可以根据实际关联的N个微服务节点所支持的测试标识确定一个或多个候选测试标识,进而基于一个或多个候选测试标识拉取一个或多个候选测试配置信息。如此,可以使得本地保存与自身关联的微服务节点所要使用的候选测试配置信息,从而保证本地无需获取并保存多余的无用信息,并且保证更加准确的为关联的微服务节点配置准确的测试信息,最终保证了整个测试的正确性以及效率。
在一些实施方式中,所述在确定所述第一网络请求用于测试的情况下,确定所述第一网络请求对应的一个或多个目标测试配置信息,包括:
在基于预设流量分配信息确定所述第一网络请求用于测试的情况下,基于所述预设流量分配信息,确定所述第一网络请求对应的一个或多个测试标识;
基于所述一个或多个测试标识,从一个或多个候选测试配置信息中,确定所述第一网络请求对应的所述一个或多个目标测试配置信息。
另外,还可以包括:在基于所述预设流量分配信息确定所述第一网络请求不用于测试的情况下,将所述第一网络请求作为正常请求发送至前述N个微服务节点。所述N个微服务节点分别基于该第一网络请求进行处理,具体的处理流程以及处理方式与正常网络请求相同,不对其进行赘述。
所述预设流量分配信息,用于确定任意一个网络请求是否用于测试,以及在确定任意一个网络请求用于测试的情况下,该网络请求命中的测试标识。具体来说,所述预设流量分配信息可以包括:一个或多个预配置测试标识;该一个或多个预配置测试标识中,每一个预配置测试标识关联的候选匹配信息。相应的,所述基于所述预设流量分配信息确定所述第一网络请求是否用于测试的方式,可以包括:基于所述第一网络请求中包含的标识相关信息,确定所述第一网络请求的待匹配信息;在所述待匹配信息,与所述预设流量分配信息中的一个或多个候选匹配信息中任意之一相同的情况下,确定所述第一网络请求用于测试。
另外,还可以包括:在所述待匹配信息,与所述预设流量分配信息中的各个候选匹配信息均不相同的情况下,确定所述第一网络请求不用于测试。
这里,所述测试标识,可以包括以下之一:测试号、测试标签。
其中,所述第一网络请求中包含的标识相关信息,可以指的是所述第一网络请求中包含的唯一标识信息;比如,该标识相关信息可以为用户标识、设备标识等等任意之一。
所述基于所述第一网络请求中包含的标识相关信息,确定所述第一网络请求的待匹配信息,可以为以下之一:
将所述第一网络请求中包含的标识相关信息,直接作为所述第一网络请求的待匹配信息;
对所述第一网络请求中包含的标识相关信息进行计算,得到第一数值,将所述第一数值作为所述第一网络请求的待匹配信息。
其中,所述对所述第一网络请求中包含的标识相关信息进行计算,得到第一数值,可以为:对所述第一网络请求中包含的标识相关信息进行取模计算,得到第一数值。需要指出的是,上述计算的方式除了取模计算,还可以为其他预设的计算方式,比如,随机算法,或者可以是可以跟预设的第二数值进行其他预设方式的计算等等,本实施例不对全部可能的计算方式做穷举。
前述基于所述预设流量分配信息,确定所述第一网络请求对应的一个或多个测试标识,可以包括:将所述预设流量分配信息包含的所述一个或多个候选匹配信息中,与所述待匹配信息相同的候选匹配信息,作为目标匹配信息;将所述预设流量分配信息中该目标匹配信息关联的一个或多个预配置测试标识,作为所述第一网络请求对应的一个或多个测试标识。
需要说明的是,所述预设流量分配信息中,不同的候选匹配信息关联的预配置测试标识不同;但是不同的预配置测试标识关联的候选匹配信息可以不同也可以相同,也就是说,一个候选匹配信息可以关联一个或多个预配置测试标识。
所述一个或多个候选测试配置信息中,任意一个候选测试配置信息与一个候选测试标识相关联。相应的,前述基于所述一个或多个测试标识,从所述一个或多个候选测试配置信息中,确定所述第一网络请求对应的一个或多个目标测试配置信息,可以指的是:根据所述一个或多个候选测试配置信息分别关联的候选测试标识,从所述一个或多个候选测试配置信息中,选取所述一个或多个测试标识中的第j个测试标识关联的目标测试配置信息,将该第j个测试标识关联的目标测试配置信息,添加至所述第一网络请求对应的一个或多个目标测试配置信息中;其中,j为正整数。
这里,所述第j个测试标识,指的是所述一个或多个测试标识中的任意之一;也就是说,针对一个或多个测试标识中的每个测试标识,均从所述一个或多个候选测试配置信息中选取关联的目标测试配置信息,进而将得到的全部目标测试配置信息,作为该第一网络请求对应的一个或多个目标测试配置信息。
所述一个或多个候选测试配置信息中,任意一个候选测试配置信息与一个候选测试标识相关联。该任意一个候选测试配置信息的具体内容可以包括:一个或多个测试参数及其分别配置的变量值。需要理解的是,不同的候选测试配置信息中包含的测试参数不同,和/或,不同的候选测试配置信息中对测试参数配置的变量值不同。比如,一个候选测试配置信息A与候选测试标识1相关联,该候选测试配置信息A中包含测试参数a1、测试参数a2,以及测试参数a1的变量值a11,测试参数a2的变量值a21;一个候选测试配置信息B与候选测试标识2相关联,该候选测试配置信息B中包含测试参数a1、测试参数b1,以及测试参数a1的变量值a12,测试参数b1的变量值b11。
在一些实施方式中,所述基于所述一个或多个目标测试配置信息,生成一个或多个测试信息,包括:将所述一个或多个目标测试配置信息中,每个目标测试配置信息中包含的测试参数及其变量值,直接作为一个或多个测试信息。
通过采用上述处理,可以在确定第一网络请求用于测试的情况下,基于该第一网络请求对应的一个或多个测试标识,确定该第一网络请求命中的一个或多个目标测试配置信息。如此,可以通过对一个网络请求的一次处理,得到适用于自身关联的N个微服务节点的全部目标测试配置信息,从而保证了处理效率,并且还可以保证处理的准确性。
在一些实施方式中,所述基于所述一个或多个测试信息生成测试请求,包括:基于第一通信协议下的测试请求的头信息的格式,对所述一个或多个测试信息及其分别对应的测试标识进行封装,得到所述第一通信协议下所述测试请求的头信息;其中,所述第一通信协议为与N个微服务节点中第一微服务节点之间的通信协议;
基于所述第一通信协议下所述测试请求的头信息,生成所述第一通信协议下的所述测试请求。
其中,所述第一通信协议可以为多种通信协议中之一;所述多种通信协议可以包括以下至少之一:超文本传输协议(HyperText Transfer Protocol,HTTP),套接字(Socket)协议等等。这里不对全部可能的通信协议进行穷举。
所述基于所述第一通信协议下所述测试请求的头信息,生成所述第一通信协议下的所述测试请求,可以包括:基于所述第一通信协议下的测试请求的格式,将所述第一通信协议下所述测试请求的头信息以及所述第一网络请求,封装为所述第一通信协议下的所述测试请求。
这里,所述第一微服务节点指的是执行本实施例的方案的网络设备(比如网关)所直接关联或直接连接的一个微服务节点。即该第一微服务节点为直接接收所述网络设备(比如网关)发送的第一网络请求或测试请求的微服务节点。
所述方法还可以包括:确定与所述N个微服务节点中第一微服务节点之间的第一通信协议;基于所述第一通信协议,确定所述第一通信协议下的所述测试请求的头信息的格式,并确定所述第一通信协议下的所述测试请求的格式。
前述发送测试请求,具体可以指的是将所述测试请求发送至微服务架构。所述微服务架构可以是本次待发布的新版本应用对应的微服务架构,可以是由前述N个微服务节点组成的,每个微服务节点可以用于运行一个微服务进程;相应的,所述将所述测试请求发送至微服务架构,可以指的是:将所述测试请求发送至微服务架构中的第一微服务节点,该第一微服务节点为所述微服务架构中与所述网络设备直接通信(或直接连接)的节点。
可见,通过采用上述方案,就可以基于微服务节点支持的第一通信协议,对测试请求进行封装,得到第一通信协议下的测试请求。如此,可以保证接收方可以正常接收并解析测试请求中包含的一个或多个测试信息,从而保证接收方准确且高效的执行测试处理,保证了整体的处理效率和准确性。
本公开第二方面实施例提供一种请求处理方法,如图2所示,包括:
S201:接收测试请求;
S202:从所述测试请求中获取一个或多个测试信息;
S203:在所述一个或多个测试信息中存在自身匹配的目标测试信息的情况下,获取所述目标测试信息;
S204:基于所述目标测试信息进行处理,得到测试处理结果。
本实施例提供的方法可以应用于微服务节点,该微服务节点可以为前述第一方面实施例中的N个微服务节点中任意之一。该N个微服务节点可以构成微服务架构;其中每个微服务节点可以用于运行一个微服务进程。
前述接收测试请求,可以指的是:从前一个设备处接收所述测试请求。这里,所述前一个设备可以为前述第一方面实施例中的网络设备(比如网关),或者,所述前一个设备可以为前述N个微服务节点中任意一个微服务节点的上游微服务节点。
所述从所述测试请求中包含的一个或多个测试信息中,获取目标测试信息,可以指的是,从所述测试请求中包含的一个或多个测试信息中,获取自身需要的测试信息作为目标测试信息。进而所述基于所述目标测试信息进行处理,得到测试处理结果,可以为:基于该目标测试信息中包含的测试参数及其变量值执行测试处理,得到测试处理结果。
可见,通过采用上述方案,在获取到一个测试请求时,从该测试请求中获取自身需要的目标测试信息,进而完成测试处理。如此,可以避免各个微服务节点单独生成自身所要使用的测试信息所带来的测试冲突问题,并且还可以避免跨网调用测试服务所带来的资源消耗问题,从而实现统一的测试信息处理,保证了测试处理的正确性以及效率。
在一种实施方式中,所述从所述测试请求中获取一个或多个测试信息,包括:获取所述测试请求的头信息中包含的所述一个或多个测试信息分别对应的测试标识;
所述在所述一个或多个测试信息中存在自身匹配的目标测试信息的情况下,获取所述目标测试信息,包括:在所述一个或多个测试信息分别对应的测试标识中,存在与自身的预设测试标识匹配的测试标识的情况下,从所述一个或多个测试信息中,获取与所述预设测试标识匹配的目标测试信息。
在前述第一方面实施例已经说明,所述一个或多个测试信息及其分别对应的测试标识,是封装在所述测试请求的头信息中的,关于其具体的处理方式,本实施例不做重复说明。
前述已经说明,第二方面实施例是由任意一个微服务节点执行的,而每一个微服务节点所支持的预设测试标识,可以为预先配置在各个微服务节点中的;相应的,所述方法还可以包括:基于自身的所述预设测试标识,与所述一个或多个测试信息分别对应的测试标识进行匹配,在自身的所述预设测试标识与所述一个或多个测试信息中任意之一匹配的情况下,则可以确定所述一个或多个测试信息分别对应的测试标识中包含自身的所述预设测试标识。
另外,还可以包括:在自身的所述预设测试标识与所述一个或多个测试信息均不匹配的情况下,则可以确定所述一个或多个测试信息分别对应的测试标识中不包含自身的所述预设测试标识。进一步地,在确定所述一个或多个测试信息分别对应的测试标识中不包含自身的所述预设测试标识的情况下,可以不执行测试处理,将该测试请求发送至下游微服务节点。
由于前述一个或多个测试信息中,每个测试信息均有关联的测试标识,因此,在确定所述一个或多个测试信息分别对应的测试标识中包含自身的所述预设测试标识的情况下,可以直接基于该预设测试标识,从一个或多个测试信息中提取对应的目标测试信息。
该目标测试信息中至少可以包括:一个或多个目标测试参数,以及一个或多个目标测试参数中每个目标测试参数的变量值。相应的,所述基于所述目标测试信息进行处理,得到测试处理结果,可以指的是:基于所述目标测试信息中包含的一个或多个目标测试参数及其分别对应的变量值,进行测试处理,得到测试处理结果。
可见,通过采用上述方案,就可以基于自身的预设测试标识从测试请求中获取目标测试信息,从而可以避免微服务自身生成测试信息以及避免微服务调用其他服务生成测试信息,所带来的效率较低、准确性较差以及与其他微服务之间存在冲突等问题,保证了处理效率以及准确性。
所述方法还可以包括:确定与自身存在依赖关系的下游微服务节点;将所述测试请求发送至所述下游微服务节点。
前述N个微服务节点,可以是网关直接或间接连接的(或直接或间接管理)的N个微服务节点;所述N个微服务节点的任意一个微服务节点可以用于运行一个微服务进程;所述N个微服务节点中,不同的微服务节点可以部署在同一个服务器中,或者可以部署在不同的服务器中,本实施例不对其进行限定。
所述N个微服务节点之间存在依赖关系,所述N个微服务节点之间的依赖关系可以为预先设置在每个微服务节点中的。比如,所述N个微服务节点包含微服务节点1、微服务节点2、微服务节点3、微服务节点4,微服务节点2和微服务节点3可以依赖与微服务节点1,微服务节点4可以依赖与微服务节点2;相应的,在微服务节点1中可以预先设置N个微服务节点之间的依赖关系为:微服务节点1为微服务节点2和微服务节点3依赖的上游节点;在微服务节点2中可以预先设置N个微服务节点之间的依赖关系为:微服务节点2为微服务节点1的下游节点,微服务节点2为微服务节点4依赖的上游节点。
所述确定与自身存在依赖关系的下游微服务节点,可以包括:基于自身标识以及N个微服务节点之间的依赖关系,从所述N个微服务节点中确定与自身存在依赖关系的下游微服务节点。
如此,在任意一个微服务处均可以将接收到的测试请求发送至与其具备依赖关系的下游微服务,从而实现了在网络设备侧一次生成测试请求,将该测试请求传输至其关联的全部微服务中,可以避免各个微服务节点单独生成自身所要使用的测试信息所带来的测试冲突问题,并且还可以避免跨网调用测试服务所带来的资源消耗问题,从而实现统一的测试信息处理,保证了测试处理的正确性以及效率。
在一种实施方式中,前述接收测试请求,可以指的是:从前一个设备处接收所述测试请求。
这里,所述前一个设备可以为前述第一方面实施例中的网络设备(比如网关),此时第二方面实施例可以是由N个微服务节点中的第一微服务节点执行的,该第一微服务节点即与所述网络设备直接通信(或直接连接)的节点;相应的,所述接收测试请求,具体为:基于第一通信协议,接收所述网络设备发送的所述测试请求。关于该第一通信协议的说明与前述第一方面实施例相同,不做赘述。
或者,所述前一个设备可以为前述N个微服务节点中任意一个微服务节点的上游微服务节点,此时第二方面实施例可以是由N个微服务节点中的第一微服务节点之外的任意一个微服务节点执行的;相应的,所述接收测试请求,具体为:基于第三通信协议,接收上游微服务节点发送的所述测试请求。其中,所述第三通信协议可以指的是,当前微服务节点所支持的通信协议;该第三通信协议与前述第一通信协议,可以相同也可以不同,均在本实施例保护范围内。所述第三通信协议可以为多种通信协议中之一;所述多种通信协议可以包括以下至少之一:HTTP、Socket协议等等。这里不对全部可能的通信协议进行穷举。
在一种实施方式中,所述将所述测试请求发送至所述下游微服务节点,包括:
基于第二通信协议下的测试请求的头信息的格式,将所述测试请求的头信息中包含的所述一个或多个测试信息及其分别对应的测试标识,封装为第二通信协议下的测试请求的信息头;其中,所述第二通信协议为所述下游微服务节点支持的通信协议;
基于所述第二通信协议下的测试请求的信息头,生成所述第二通信协议下的测试请求;
将所述第二通信协议下的测试请求发送至所述下游微服务节点。
这里,在当前微服务节点存在多个下游微服务节点的情况下,不同的下游微服务节点所支持的第二通信协议可以相同也可以不同;不论下游微服务节点的数量为多少个,所述当前微服务节点可以将一个或多个下游微服务节点中,第k个下游服务节点所支持的通信协议作为第k个第二通信协议;k为正整数。
其中,所述第二通信协议与前述第一通信协议,可以相同也可以不同;另外,该第二通信协议与前述第一通信协议,可以相同也可以不同,均在本实施例保护范围内。所述第二通信协议可以为多种通信协议中之一;所述多种通信协议可以包括以下至少之一:HTTP、Socket协议等等。这里不对全部可能的通信协议进行穷举。
在所述测试请求中,除了封装在所述测试请求的头信息中的一个或多个测试信息及其分别对应的测试标识之外,还可以包含封装在测试请求内容中的第一网络请求。相应的,在每一个微服务节点处,还可以继续将该第一网络请求封装在第二通信协议下的测试请求中;具体的,所述基于所述第二通信协议下的测试请求的信息头,生成所述第二通信协议下的测试请求,可以包括:基于所述第二通信协议下的测试请求的格式,将所述第二通信协议下所述测试请求的头信息以及所述第一网络请求,封装为所述第二通信协议下的所述测试请求。
或者,可以不对除了测试请求的头信息之外的其他部分所需要携带的内容进行限制,以上两种处理方式均在本实施例保护范围内。
可见,通过采用上述方案,就可以基于下游微服务节点支持的第二通信协议,对测试请求进行封装,得到第二通信协议下的测试请求。如此,可以保证接收方可以正常接收并解析测试请求中包含的一个或多个测试信息,从而保证接收方准确且高效的执行测试处理,保证了整体的处理效率和准确性。
结合图3,以执行第一方面实施例提供的请求生成方法的设备为网关,执行第二方面实施例的请求处理方法的为第一微服务进程为例,对前述第一方面实施例以及第二方面实施例进行详细说明:
S301:在配置平台生成并保存预设流量分配信息以及多个预设测试配置信息。
在执行S302之前,网关中的内部配置的功能(比如图3中示意出的配置代理)可以通过与前述配置平台之间的交互协议,定时同步配置平台中用户配置的预设流量分配信息以及多个预设测试配置信息。
S302:网关接收第一网络请求。
S303:网关在确定所述第一网络请求用于测试的情况下,确定所述第一网络请求对应的一个或多个目标测试配置信息。
具体的,在基于所述预设流量分配信息确定所述第一网络请求用于测试的情况下,基于所述预设流量分配信息,确定所述第一网络请求对应的一个或多个测试标识;这里,所述预设流量分配信息可以保存在配置代理中;
基于所述一个或多个测试标识,从所述一个或多个候选测试配置信息中,确定所述第一网络请求对应的一个或多个目标测试配置信息。这里,所述一个或多个候选测试配置信息可以保存在配置代理中。
S304:网关基于所述一个或多个目标测试配置信息,生成一个或多个测试信息。
S305:网关基于所述一个或多个测试信息生成测试请求,并发送所述测试请求至第一微服务进程。
其中,该第一微服务进程为前述第一方面实施例以及第二方面实施例中所述的第一微服务节点中运行的微服务进程;该第一微服务节点为与所述网关直接通信(或直接连接)的节点。
S306:第一微服务进程接收测试请求。
进一步地,在第一微服务进程接收到测试请求后,可以从所述测试请求中获取一个或多个测试信息;在所述一个或多个测试信息中存在自身匹配的目标测试信息的情况下,获取所述目标测试信息;基于所述目标测试信息进行处理,得到测试处理结果。
S307:第一微服务进程确定与自身存在依赖关系的第二微服务进程;将所述测试请求发送至第二微服务进程。
其中,第二微服务进程可以为与第一微服务进程存在依赖关系的下游微服务节点中运行的微服务进程。比如,在图3中,第一微服务进程可以存在两个下游微服务进程,将该两个下游微服务进行均作为第二微服务进程,在图3中分别将两个微服务进程表示为第二微服务进程1和第二微服务进程2。
在微服务架构中,前述任意一个第二微服务进程均可以存在下游微服务进程,比如,在图3中,将该第二微服务进程1的下游微服务进程表示为第三微服务进程,在第二微服务进程1中的处理与前述S306和S307的处理类似,只是将前述第一微服务进程替换为第二微服务进程1即可,这里不做重复说明。
应理解,前述S302~S307的处理,可以是多次执行,也就是并非每次执行S302之前都需要执行S301。
本公开实施例第三方面还提供了一种请求生成装置,如图4所示,包括:
第一接收模块401,用于接收第一网络请求;
测试配置模块402,用于在确定所述第一网络请求用于测试的情况下,确定所述第一网络请求对应的一个或多个目标测试配置信息;
信息生成模块403,用于基于所述一个或多个目标测试配置信息,生成一个或多个测试信息;以及基于所述一个或多个测试信息生成测试请求;
第一发送模块404,用于发送所述测试请求。
所述测试配置模块402,用于在基于预设流量分配信息确定所述第一网络请求用于测试的情况下,基于所述预设流量分配信息,确定所述第一网络请求对应的一个或多个测试标识;基于所述一个或多个测试标识,从一个或多个候选测试配置信息中,确定所述第一网络请求对应的所述一个或多个目标测试配置信息。
在图4的基础上,如图5所示,所述装置,还包括:
配置获取模块501,用于获取预设流量分配信息,以及基于一个或多个候选测试标识获取所述一个或多个候选测试配置信息;其中,所述一个或多个候选测试标识包括关联的N个微服务节点分别支持的预设测试标识,N为正整数。
所述信息生成模块403,用于基于第一通信协议下的测试请求的头信息的格式,对所述一个或多个测试信息及其分别对应的测试标识进行封装,得到所述第一通信协议下所述测试请求的头信息;其中,所述第一通信协议为与N个微服务节点中第一微服务节点之间的通信协议;基于所述第一通信协议下所述测试请求的头信息,生成所述第一通信协议下的所述测试请求。
前述第三方面实施例提供的测试请求处理装置,可以设置在网络设备中,具体可以设置在网络侧的网关中。
可见,通过采用上述方案,就可以在接收到第一网络请求时,若根据目标测试配置信息确定该第一网络请求用于测试,则直接基于目标测试配置信息确定一个或多个测试信息,并根据该一个或多个测试信息生成测试请求并发送至微服务节点。如此,可以在收到网络请求时直接完成测试信息的生成,这样可以避免各个微服务节点单独生成自身所要使用的测试信息所带来的测试冲突问题,并且还可以避免跨网调用测试服务所带来的资源消耗问题,从而实现统一的测试信息处理,保证了测试处理的正确性以及效率。
本公开实施例第四方面还提供了一种请求处理装置,如图6所示,包括:
第二接收模块601,用于接收测试请求;
信息提取模块602,用于从所述测试请求中获取一个或多个测试信息;在所述一个或多个测试信息中存在自身匹配的目标测试信息的情况下,获取所述目标测试信息;
测试处理模块603,用于基于所述目标测试信息进行处理,得到测试处理结果。
所述信息提取模块602,用于获取所述测试请求的头信息中包含的所述一个或多个测试信息分别对应的测试标识;在所述一个或多个测试信息分别对应的测试标识中,存在与自身的预设测试标识匹配的测试标识的情况下,从所述一个或多个测试信息中,获取与所述预设测试标识匹配的目标测试信息。
在图6的基础上,如图7所示,所述装置,还包括:
第二发送模块701,用于确定与自身存在依赖关系的下游微服务节点;将所述测试请求发送至所述下游微服务节点。
封装模块702,用于基于第二通信协议下的测试请求的头信息的格式,将所述测试请求的头信息中包含的所述一个或多个测试信息及其分别对应的测试标识,封装为第二通信协议下的测试请求的信息头;其中,所述第二通信协议为所述下游微服务节点支持的通信协议;基于所述第二通信协议下的测试请求的信息头,生成所述第二通信协议下的测试请求;
所述第二发送模块701,用于将所述第二通信协议下的测试请求发送至所述下游微服务节点。
前述第四方面实施例提供的测试请求处理装置,可以设置在微服务中,具体可以设置在微服务节点或微服务进程中。
可见,通过采用上述方案,在获取到一个测试请求时,从该测试请求中获取自身需要的目标测试信息,进而完成测试处理。如此,可以避免各个微服务节点单独生成自身所要使用的测试信息所带来的测试冲突问题,并且还可以避免跨网调用测试服务所带来的资源消耗问题,从而实现统一的测试信息处理,保证了测试处理的正确性以及效率。
本公开的技术方案中,所涉及的用户个人信息的获取,存储和应用等,均符合相关法律法规的规定,且不违背公序良俗。
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
图8示出了可以用来实施本公开的实施例的示例电子设备800的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图8所示,电子设备800包括计算单元801,其可以根据存储在只读存储器(ROM)802中的计算机程序或者从存储单元808加载到随机访问存储器(RAM)803中的计算机程序,来执行各种适当的动作和处理。在RAM 803中,还可存储电子设备800操作所需的各种程序和数据。计算单元801、ROM 802以及RAM 803通过总线804彼此相连。输入/输出(I/O)接口805也连接至总线804。
电子设备800中的多个部件连接至I/O接口805,包括:输入单元806,例如键盘、鼠标等;输出单元807,例如各种类型的显示器、扬声器等;存储单元808,例如磁盘、光盘等;以及通信单元809,例如网卡、调制解调器、无线通信收发机等。通信单元809允许电子设备800通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元801可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元801的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元801执行上文所描述的请求处理方法或请求生成方法。例如,在一些实施例中,上文所描述的请求处理方法或请求生成方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元808。在一些实施例中,计算机程序的部分或者全部可以经由ROM 802和/或通信单元809而被载入和/或安装到电子设备800上。当计算机程序加载到RAM 803并由计算单元801执行时,可以执行上文所描述的请求处理方法或请求生成方法的一个或多个步骤。备选地,在其他实施例中,计算单元801可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行上文所描述的请求处理方法或请求生成方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入、或者触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以为分布式系统的服务器,或者是结合了区块链的服务器。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
Claims (20)
1.一种请求生成方法,包括:
接收第一网络请求;
在确定所述第一网络请求用于测试的情况下,确定所述第一网络请求对应的一个或多个目标测试配置信息;
基于所述一个或多个目标测试配置信息,生成一个或多个测试信息;
基于所述一个或多个测试信息生成测试请求,并发送所述测试请求。
2.根据权利要求1所述的方法,其中,所述在确定所述第一网络请求用于测试的情况下,确定所述第一网络请求对应的一个或多个目标测试配置信息,包括:
在基于预设流量分配信息确定所述第一网络请求用于测试的情况下,基于所述预设流量分配信息,确定所述第一网络请求对应的一个或多个测试标识;
基于所述一个或多个测试标识,从一个或多个候选测试配置信息中,确定所述第一网络请求对应的所述一个或多个目标测试配置信息。
3.根据权利要求2所述的方法,还包括:
获取所述预设流量分配信息,以及基于一个或多个候选测试标识获取所述一个或多个候选测试配置信息;其中,所述一个或多个候选测试标识包括关联的N个微服务节点分别支持的预设测试标识,N为正整数。
4.根据权利要求1-3任一项所述的方法,其中,所述基于所述一个或多个测试信息生成测试请求,包括:
基于第一通信协议下的测试请求的头信息的格式,对所述一个或多个测试信息及其分别对应的测试标识进行封装,得到所述第一通信协议下所述测试请求的头信息;其中,所述第一通信协议为与N个微服务节点中第一微服务节点之间的通信协议;
基于所述第一通信协议下所述测试请求的头信息,生成所述第一通信协议下的所述测试请求。
5.一种请求处理方法,包括:
接收测试请求;
从所述测试请求中获取一个或多个测试信息;
在所述一个或多个测试信息中存在自身匹配的目标测试信息的情况下,获取所述目标测试信息;
基于所述目标测试信息进行处理,得到测试处理结果。
6.根据权利要求5所述的方法,其中,所述从所述测试请求中获取一个或多个测试信息,包括:获取所述测试请求的头信息中包含的所述一个或多个测试信息分别对应的测试标识;
所述在所述一个或多个测试信息中存在自身匹配的目标测试信息的情况下,获取所述目标测试信息,包括:在所述一个或多个测试信息分别对应的测试标识中,存在与自身的预设测试标识匹配的测试标识的情况下,从所述一个或多个测试信息中,获取与所述预设测试标识匹配的目标测试信息。
7.根据权利要求5所述的方法,还包括:
确定与自身存在依赖关系的下游微服务节点;将所述测试请求发送至所述下游微服务节点。
8.根据权利要求7所述的方法,其中,所述将所述测试请求发送至所述下游微服务节点,包括:
基于第二通信协议下的测试请求的头信息的格式,将所述测试请求的头信息中包含的所述一个或多个测试信息及其分别对应的测试标识,封装为第二通信协议下的测试请求的信息头;其中,所述第二通信协议为所述下游微服务节点支持的通信协议;
基于所述第二通信协议下的测试请求的信息头,生成所述第二通信协议下的测试请求;
将所述第二通信协议下的测试请求发送至所述下游微服务节点。
9.一种请求生成装置,包括:
第一接收模块,用于接收第一网络请求;
测试配置模块,用于在确定所述第一网络请求用于测试的情况下,确定所述第一网络请求对应的一个或多个目标测试配置信息;
信息生成模块,用于基于所述一个或多个目标测试配置信息,生成一个或多个测试信息;以及基于所述一个或多个测试信息生成测试请求;
第一发送模块,用于发送所述测试请求。
10.根据权利要求9所述的装置,其中,所述测试配置模块,用于在基于预设流量分配信息确定所述第一网络请求用于测试的情况下,基于所述预设流量分配信息,确定所述第一网络请求对应的一个或多个测试标识;基于所述一个或多个测试标识,从一个或多个候选测试配置信息中,确定所述第一网络请求对应的所述一个或多个目标测试配置信息。
11.根据权利要求10所述的装置,还包括:
配置获取模块,用于获取所述预设流量分配信息,以及基于一个或多个候选测试标识获取所述一个或多个候选测试配置信息;其中,所述一个或多个候选测试标识包括关联的N个微服务节点分别支持的预设测试标识,N为正整数。
12.根据权利要求9-11任一项所述的装置,其中,所述信息生成模块,用于基于第一通信协议下的测试请求的头信息的格式,对所述一个或多个测试信息及其分别对应的测试标识进行封装,得到所述第一通信协议下所述测试请求的头信息;其中,所述第一通信协议为与N个微服务节点中第一微服务节点之间的通信协议;基于所述第一通信协议下所述测试请求的头信息,生成所述第一通信协议下的所述测试请求。
13.一种请求处理装置,包括:
第二接收模块,用于接收测试请求;
信息提取模块,用于从所述测试请求中获取一个或多个测试信息;在所述一个或多个测试信息中存在自身匹配的目标测试信息的情况下,获取所述目标测试信息;
测试处理模块,用于基于所述目标测试信息进行处理,得到测试处理结果。
14.根据权利要求13所述的装置,其中,所述信息提取模块,用于获取所述测试请求的头信息中包含的所述一个或多个测试信息分别对应的测试标识;在所述一个或多个测试信息分别对应的测试标识中,存在与自身的预设测试标识匹配的测试标识的情况下,从所述一个或多个测试信息中,获取与所述预设测试标识匹配的目标测试信息。
15.根据权利要求13所述的装置,还包括:
第二发送模块,用于确定与自身存在依赖关系的下游微服务节点;将所述测试请求发送至所述下游微服务节点。
16.根据权利要求15所述的装置,还包括:
封装模块,用于基于第二通信协议下的测试请求的头信息的格式,将所述测试请求的头信息中包含的所述一个或多个测试信息及其分别对应的测试标识,封装为第二通信协议下的测试请求的信息头;其中,所述第二通信协议为所述下游微服务节点支持的通信协议;基于所述第二通信协议下的测试请求的信息头,生成所述第二通信协议下的测试请求;
所述第二发送模块,用于将所述第二通信协议下的测试请求发送至所述下游微服务节点。
17.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-4中任一项所述的方法。
18.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求5-8中任一项所述的方法。
19.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1-4或5-8中任一项所述的方法。
20.一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据权利要求1-4或5-8中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210773886.8A CN115150310B (zh) | 2022-07-01 | 2022-07-01 | 请求生成方法、处理方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210773886.8A CN115150310B (zh) | 2022-07-01 | 2022-07-01 | 请求生成方法、处理方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115150310A true CN115150310A (zh) | 2022-10-04 |
CN115150310B CN115150310B (zh) | 2024-09-17 |
Family
ID=83411184
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210773886.8A Active CN115150310B (zh) | 2022-07-01 | 2022-07-01 | 请求生成方法、处理方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115150310B (zh) |
Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107832221A (zh) * | 2017-11-15 | 2018-03-23 | 杭州安恒信息技术有限公司 | 基于Burpsuit插件的平台半自动化功能测试方法、装置及系统 |
CN108108297A (zh) * | 2016-11-25 | 2018-06-01 | 腾讯科技(深圳)有限公司 | 自动化测试的方法和装置 |
CN111625473A (zh) * | 2020-07-01 | 2020-09-04 | 北京字节跳动网络技术有限公司 | 接口测试用例生成方法、装置、存储介质和电子设备 |
CN111782519A (zh) * | 2020-06-29 | 2020-10-16 | 中国工商银行股份有限公司 | 测试方法、装置和电子设备 |
US20200364127A1 (en) * | 2019-05-17 | 2020-11-19 | Citrix Systems, Inc. | Dependency api controlled experiment dashboard |
CN112148623A (zh) * | 2020-10-19 | 2020-12-29 | 青岛鹏海软件有限公司 | 基于lims 的智能成套场景测试方法 |
CN112306864A (zh) * | 2020-10-19 | 2021-02-02 | 北京健康之家科技有限公司 | 基于微服务的Mock测试方法和系统、存储介质、计算设备 |
CN112882948A (zh) * | 2021-03-15 | 2021-06-01 | 数字广东网络建设有限公司 | 一种应用的稳定性测试方法、装置、系统及存储介质 |
CN113391992A (zh) * | 2020-12-03 | 2021-09-14 | 腾讯科技(深圳)有限公司 | 测试数据的生成方法和装置、存储介质及电子设备 |
CN113535571A (zh) * | 2021-07-23 | 2021-10-22 | 广联达科技股份有限公司 | 基于沙盒的微服务测试方法、装置、设备和存储介质 |
US20210365357A1 (en) * | 2020-05-21 | 2021-11-25 | EMC IP Holding Company LLC | Creating an intelligent testing queue for improved quality assurance testing of microservices |
CN113849361A (zh) * | 2021-09-28 | 2021-12-28 | 北京百度网讯科技有限公司 | 测试服务节点的方法、装置、设备以及存储介质 |
US20220019520A1 (en) * | 2020-07-15 | 2022-01-20 | Jpmorgan Chase Bank, N.A. | Method and system for automatically testing event-driven microservices |
CN114157701A (zh) * | 2021-11-19 | 2022-03-08 | 北京百度网讯科技有限公司 | 一种任务测试方法、装置、设备以及存储介质 |
CN114448857A (zh) * | 2022-01-29 | 2022-05-06 | 北京字节跳动网络技术有限公司 | Mock服务处理方法、装置、存储介质和系统 |
-
2022
- 2022-07-01 CN CN202210773886.8A patent/CN115150310B/zh active Active
Patent Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108108297A (zh) * | 2016-11-25 | 2018-06-01 | 腾讯科技(深圳)有限公司 | 自动化测试的方法和装置 |
CN107832221A (zh) * | 2017-11-15 | 2018-03-23 | 杭州安恒信息技术有限公司 | 基于Burpsuit插件的平台半自动化功能测试方法、装置及系统 |
US20200364127A1 (en) * | 2019-05-17 | 2020-11-19 | Citrix Systems, Inc. | Dependency api controlled experiment dashboard |
US20210365357A1 (en) * | 2020-05-21 | 2021-11-25 | EMC IP Holding Company LLC | Creating an intelligent testing queue for improved quality assurance testing of microservices |
CN111782519A (zh) * | 2020-06-29 | 2020-10-16 | 中国工商银行股份有限公司 | 测试方法、装置和电子设备 |
CN111625473A (zh) * | 2020-07-01 | 2020-09-04 | 北京字节跳动网络技术有限公司 | 接口测试用例生成方法、装置、存储介质和电子设备 |
US20220019520A1 (en) * | 2020-07-15 | 2022-01-20 | Jpmorgan Chase Bank, N.A. | Method and system for automatically testing event-driven microservices |
CN112306864A (zh) * | 2020-10-19 | 2021-02-02 | 北京健康之家科技有限公司 | 基于微服务的Mock测试方法和系统、存储介质、计算设备 |
CN112148623A (zh) * | 2020-10-19 | 2020-12-29 | 青岛鹏海软件有限公司 | 基于lims 的智能成套场景测试方法 |
CN113391992A (zh) * | 2020-12-03 | 2021-09-14 | 腾讯科技(深圳)有限公司 | 测试数据的生成方法和装置、存储介质及电子设备 |
CN112882948A (zh) * | 2021-03-15 | 2021-06-01 | 数字广东网络建设有限公司 | 一种应用的稳定性测试方法、装置、系统及存储介质 |
CN113535571A (zh) * | 2021-07-23 | 2021-10-22 | 广联达科技股份有限公司 | 基于沙盒的微服务测试方法、装置、设备和存储介质 |
CN113849361A (zh) * | 2021-09-28 | 2021-12-28 | 北京百度网讯科技有限公司 | 测试服务节点的方法、装置、设备以及存储介质 |
CN114157701A (zh) * | 2021-11-19 | 2022-03-08 | 北京百度网讯科技有限公司 | 一种任务测试方法、装置、设备以及存储介质 |
CN114448857A (zh) * | 2022-01-29 | 2022-05-06 | 北京字节跳动网络技术有限公司 | Mock服务处理方法、装置、存储介质和系统 |
Non-Patent Citations (3)
Title |
---|
SARAH M. NAGY;等: "An Enhanced Parallel Automation Testing Architecture for Test Case Execution", 《2022 5TH INTERNATIONAL CONFERENCE ON COMPUTING AND INFORMATICS (ICCI)》 * |
沈凯华;周宇;刘侃;: "基于综合测试云平台下的接口测试实现", 科学技术创新, no. 32 * |
王清培: ""微服务架构—自动化测试全链路设计"", 《博客园,HTTPS://WWW.CNBLOGS.COM/WANGQINGPEI557/P/9279984.HTML》, 8 July 2018 (2018-07-08), pages 1 - 5 * |
Also Published As
Publication number | Publication date |
---|---|
CN115150310B (zh) | 2024-09-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107800565B (zh) | 巡检方法、装置、系统、计算机设备和存储介质 | |
CN112866391A (zh) | 消息推送方法、装置、电子设备及存储介质 | |
CN113220367B (zh) | 小程序的运行方法、装置、电子设备及存储介质 | |
CN114389969A (zh) | 客户端的测试方法、装置、电子设备和存储介质 | |
CN114968286A (zh) | 微服务发布方法、装置、存储介质及电子设备 | |
CN114430366A (zh) | 信息采集应用下发方法、相关装置及计算机程序产品 | |
CN113609027A (zh) | 一种arm云服务器的测试方法、装置、电子设备和存储介质 | |
CN116701053B (zh) | 生产环境数据库的数据备份恢复方法、装置、设备及介质 | |
CN115150310B (zh) | 请求生成方法、处理方法、装置、电子设备及存储介质 | |
CN110825538A (zh) | 一种基于mq可自定义数据类型动态进行数据交互的方法 | |
CN112994976A (zh) | 一种网关测试方法、装置、电子设备及存储介质 | |
CN114049065A (zh) | 一种数据处理方法、装置及系统 | |
CN113535020A (zh) | 用于生成应用图标的方法、装置、设备、介质和产品 | |
CN112926822A (zh) | 一种资源分配方法和装置 | |
CN113595870B (zh) | 推送消息的处理方法、装置、电子设备及存储介质 | |
CN115080205B (zh) | 任务执行方法、装置、电子设备和可读存储介质 | |
CN114610511B (zh) | 一种输入校验方法、装置、电子设备及存储介质 | |
CN113656268B (zh) | 业务服务的性能测试方法、装置、电子设备和存储介质 | |
CN111953506B (zh) | 消息处理方法和处理系统 | |
CN115964243A (zh) | 接口模拟方法、装置、电子设备及存储介质 | |
CN115993983A (zh) | 软件的更新方法、装置、电子设备和介质 | |
CN114281436A (zh) | 小程序通讯方法、装置、设备和存储介质 | |
CN115757275A (zh) | 一种资产信息管理方法、装置、电子设备及存储介质 | |
CN114860614A (zh) | 数据处理方法、装置、设备、介质和产品 | |
CN113760765A (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 |