本发明涉及压力测试,尤其涉及一种应用于压测场景下的数据写入方法及装置、影子路由组件。
背景技术:
1、为了减少系统在接收到高并发请求时发生报错以及进程中断的情况,以及预估系统承载能力以便为后续的系统运维提供扩容依据,通常需要对系统进行压力测试,也即通过长时间或超大负荷地运行系统,来测试系统性能、可靠性和稳定性,简称压测。然而,实践发现,当前在对系统进行压测时通常会将压测数据写入业务数据对应的业务数据库中,对业务数据造成了数据污染,降低了业务数据的准确性。可见,如何减少系统压测过程对业务数据的污染显得尤为重要。
技术实现思路
1、本发明所要解决的技术问题在于,提供一种应用于压测场景下的数据写入方法及装置、影子路由组件,能够实现压测数据与业务数据之间的隔离,减少系统压测处理对业务数据的污染,提高了业务数据的准确性。
2、为了解决上述技术问题,本发明第一方面公开了一种应用于压测场景下的数据写入方法,所述方法包括:
3、当获取到系统的某一链路上的某一请求时,根据所述某一请求的请求标识,判断所述某一请求是否为压测请求,其中,所述压测请求的请求标识为压测标识;
4、当判断出所述某一请求为所述压测请求时,将所述某一请求的待写入数据写入所述某一请求对应的压测数据写入位置。
5、作为一种可选的实施方式,在本发明第一方面中,在判断出所述某一请求为所述压测请求之后,所述方法还包括:
6、根据所述某一请求的请求内容,确定所述某一请求对应的目标业务类型,所述目标业务类型用于表示所述系统的所有业务类型中由所述某一请求进行压测处理的业务类型;
7、根据所述目标业务类型,从所述系统的数据写入对象中确定所述某一请求对应的压测数据写入位置,并触发执行所述的将所述某一请求的待写入数据写入所述某一请求对应的压测数据写入位置中的操作。
8、作为一种可选的实施方式,在本发明第一方面中,所述根据所述目标业务类型,从所述系统的数据写入对象中确定所述某一请求对应的压测数据写入位置,包括:
9、确定所述系统的数据写入对象中所述目标业务类型对应的业务数据写入对象,并将所述业务数据写入对象中的影子子写入对象确定为所述某一请求对应的压测数据写入位置,其中,所述业务数据写入对象包括所述影子子写入对象和所述目标业务类型对应的业务子写入对象,所述影子子写入对象用于写入所述目标业务类型的压测数据,所述业务子写入对象用于写入所述目标业务类型的业务数据;或者,
10、确定所述系统的数据写入对象中所述目标业务类型对应的影子数据写入对象,作为所述某一请求对应的压测数据写入位置,其中,所述影子数据写入对象用于写入所述目标业务类型的压测数据。
11、作为一种可选的实施方式,在本发明第一方面中,所述根据所述某一请求的请求内容,确定所述某一请求对应的目标业务类型,包括:
12、对所述某一请求的请求内容进行解析,得到所述某一请求对应的解析结果,所述解析结果至少包括所述某一请求对应的原始路由信息,所述原始路由信息用于指引所述某一请求的待写入数据写入业务数据写入位置;
13、根据所述原始路由信息,确定所述某一请求对应的目标业务类型;
14、以及,在所述将所述某一请求的待写入数据写入所述某一请求对应的压测数据写入位置之前,所述方法还包括:
15、根据所述压测数据写入位置,对所述原始路由信息进行更改,得到目标路由信息,所述目标路由信息用于指引所述某一请求的待写入数据写入所述压测数据写入位置;
16、所述将所述某一请求的待写入数据写入所述某一请求对应的压测数据写入位置,包括:
17、基于所述目标路由信息,将所述某一请求的待写入数据写入所述压测数据写入位置。
18、作为一种可选的实施方式,在本发明第一方面中,当所述系统为消息队列系统时,所述根据所述压测数据写入位置,对所述原始路由信息进行更改,得到目标路由信息,包括:
19、若所述压侧数据写入位置为所述影子子写入对象,将所述压测标识写入所述某一请求的待写入数据的原始消息属性中,得到影子消息属性,作为目标路由信息,其中,所述原始路由信息包括所述原始消息属性;
20、若所述压侧数据写入位置为所述影子数据写入对象,将所述压测标识写入所述某一请求的待写入数据的原始消息标识中,得到影子消息标识,作为目标路由信息,其中,所述原始路由信息包括所述原始消息标识;
21、以及,所述基于所述目标路由信息,将所述某一请求的待写入数据写入所述某一请求对应的压测数据写入位置,包括:
22、若所述压侧数据写入位置为所述影子子写入对象,基于所述目标路由信息,将所述某一请求的待写入数据写入所述业务数据写入对象,以使所述业务数据写入对象根据所述影子消息属性将所述待写入数据写入所述影子子写入对象,所述业务数据写入对象包括所述待写入数据的原始消息标识对应的业务消息消费者;
23、若所述压侧数据写入位置为所述影子数据写入对象,基于所述目标路由信息,将所述某一请求的待写入数据写入所述影子数据写入对象,所述影子数据写入对象包括所述影子消息标识对应的影子消息消费者。
24、作为一种可选的实施方式,在本发明第一方面中,当所述系统为非消息队列系统时,所述根据所述压测数据写入位置,对所述原始路由信息进行更改,得到目标路由信息,包括:
25、确定所述原始路由信息的每个信息层级中与所述压侧数据写入位置相匹配的待更改信息层级;
26、将所述原始路由信息中所述待更改信息层级中的子路由信息更改成影子路由信息,得到目标路由信息;
27、其中,所述影子数据写入对象包括影子数据库,当所述压测数据写入位置为所述影子数据库时,所述待更改层级中的子路由信息包括所述待写入数据的数据源名称和/或所述待写入数据的数据库名称;所述影子子写入对象包括影子数据表,当所述压测数据写入位置为所述影子数据表时,所述待更改层级中的子路由信息包括所述待写入数据的数据表名称。
28、作为一种可选的实施方式,在本发明第一方面中,所述方法还包括:
29、当接收到针对系统的压测触发请求时,确定与所述压测触发请求相匹配的压测用例,所述压测触发请求用于请求对所述系统进行压测处理;
30、基于所述压测用例,确定与所述系统相匹配的一个或多个链路的待执行压测请求,所述待执行压测请求的请求标识为压测标识;
31、向所述系统发送每个所述链路对应的待执行压测请求,以便对所述某一系统进行压测处理;
32、对所述系统的每个链路上的每个请求进行拦截,当获取到所述系统的某一链路上的某一请求时,触发执行所述的根据所述某一请求的请求标识,判断所述某一请求是否为压测请求的操作。
33、本发明第二方面公开了一种应用于压测场景下的数据写入装置,所述装置包括:
34、判断模块,用于当获取到系统的某一链路上的某一请求时,根据所述某一请求的请求标识,判断所述某一请求是否为压测请求,其中,所述压测请求的请求标识为压测标识;
35、写入模块,用于当所述判断模块判断出所述某一请求为所述压测请求时,将所述某一请求的待写入数据写入所述某一请求对应的压测数据写入位置。
36、作为一种可选的实施方式,在本发明第二方面中,所述装置还包括:
37、第一确定模块,用于当所述判断模块判断出所述某一请求为所述压测请求时,根据所述某一请求的请求内容,确定所述某一请求对应的目标业务类型,所述目标业务类型用于表示所述系统的所有业务类型中由所述某一请求进行压测处理的业务类型;根据所述目标业务类型,从所述系统的数据写入对象中确定所述某一请求对应的压测数据写入位置,并触发所述写入模块执行所述的将所述某一请求的待写入数据写入所述某一请求对应的压测数据写入位置中的操作。
38、作为一种可选的实施方式,在本发明第二方面中,所述第一确定模块根据所述目标业务类型,从所述系统的数据写入对象中确定所述某一请求对应的压测数据写入位置的具体方式,包括:
39、确定所述系统的数据写入对象中所述目标业务类型对应的业务数据写入对象,并将所述业务数据写入对象中的影子子写入对象确定为所述某一请求对应的压测数据写入位置,其中,所述业务数据写入对象包括所述影子子写入对象和所述目标业务类型对应的业务子写入对象,所述影子子写入对象用于写入所述目标业务类型的压测数据,所述业务子写入对象用于写入所述目标业务类型的业务数据;或者,
40、确定所述系统的数据写入对象中所述目标业务类型对应的影子数据写入对象,作为所述某一请求对应的压测数据写入位置,其中,所述影子数据写入对象用于写入所述目标业务类型的压测数据。
41、作为一种可选的实施方式,在本发明第二方面中,所述第一确定模块根据所述某一请求的请求内容,确定所述某一请求对应的目标业务类型的具体方式,包括:
42、对所述某一请求的请求内容进行解析,得到所述某一请求对应的解析结果,所述解析结果至少包括所述某一请求对应的原始路由信息,所述原始路由信息用于指引所述某一请求的待写入数据写入业务数据写入位置;
43、根据所述原始路由信息,确定所述某一请求对应的目标业务类型;
44、以及,所述装置还包括:
45、路由更改信息,用于在所述写入模块将所述某一请求的待写入数据写入所述某一请求对应的压测数据写入位置之前,根据所述压测数据写入位置,对所述原始路由信息进行更改,得到目标路由信息,所述目标路由信息用于指引所述某一请求的待写入数据写入所述压测数据写入位置;
46、所述写入模块将所述某一请求的待写入数据写入所述某一请求对应的压测数据写入位置的具体方式,包括:
47、基于所述目标路由信息,将所述某一请求的待写入数据写入所述压测数据写入位置。
48、作为一种可选的实施方式,在本发明第二方面中,当所述系统为消息队列系统时,所述路由更改模块根据所述压测数据写入位置,对所述原始路由信息进行更改,得到目标路由信息的具体方式,包括:
49、若所述压侧数据写入位置为所述影子子写入对象,将所述压测标识写入所述某一请求的待写入数据的原始消息属性中,得到影子消息属性,作为目标路由信息,其中,所述原始路由信息包括所述原始消息属性;
50、若所述压侧数据写入位置为所述影子数据写入对象,将所述压测标识写入所述某一请求的待写入数据的原始消息标识中,得到影子消息标识,作为目标路由信息,其中,所述原始路由信息包括所述原始消息标识;
51、以及,所述写入模块基于所述目标路由信息,将所述某一请求的待写入数据写入所述某一请求对应的压测数据写入位置的具体方式,包括:
52、若所述压侧数据写入位置为所述影子子写入对象,基于所述目标路由信息,将所述某一请求的待写入数据写入所述业务数据写入对象,以使所述业务数据写入对象根据所述影子消息属性将所述待写入数据写入所述影子子写入对象,所述业务数据写入对象包括所述待写入数据的原始消息标识对应的业务消息消费者;
53、若所述压侧数据写入位置为所述影子数据写入对象,基于所述目标路由信息,将所述某一请求的待写入数据写入所述影子数据写入对象,所述影子数据写入对象包括所述影子消息标识对应的影子消息消费者。
54、作为一种可选的实施方式,在本发明第二方面中,当所述系统为非消息队列系统时,所述路由更改模块根据所述压测数据写入位置,对所述原始路由信息进行更改,得到目标路由信息的具体方式,包括:
55、确定所述原始路由信息的每个信息层级中与所述压侧数据写入位置相匹配的待更改信息层级;
56、将所述原始路由信息中所述待更改信息层级中的子路由信息更改成影子路由信息,得到目标路由信息;
57、其中,所述影子数据写入对象包括影子数据库,当所述压测数据写入位置为所述影子数据库时,所述待更改层级中的子路由信息包括所述待写入数据的数据源名称和/或所述待写入数据的数据库名称;所述影子子写入对象包括影子数据表,当所述压测数据写入位置为所述影子数据表时,所述待更改层级中的子路由信息包括所述待写入数据的数据表名称。
58、作为一种可选的实施方式,在本发明第二方面中,所述装置还包括:
59、第二确定模块,用于当接收到针对系统的压测触发请求时,确定与所述压测触发请求相匹配的压测用例,所述压测触发请求用于请求对所述系统进行压测处理;并基于所述压测用例,确定与所述系统相匹配的一个或多个链路的待执行压测请求,所述待执行压测请求的请求标识为压测标识;
60、压测模块,用于向所述系统发送每个所述链路对应的待执行压测请求,以便对所述某一系统进行压测处理;
61、拦截模块,用于对所述系统的每个链路上的每个请求进行拦截,当获取到所述系统的某一链路上的某一请求时,触发所述判断模块执行所述的根据所述某一请求的请求标识,判断所述某一请求是否为压测请求的操作。
62、本发明第三方面公开了另一种应用于压测场景下的数据写入装置,所述装置包括:
63、存储有可执行程序代码的存储器;
64、与所述存储器耦合的处理器;
65、所述处理器调用所述存储器中存储的所述可执行程序代码,执行本发明第一方面公开的应用于压测场景下的数据写入方法。
66、本发明第四方面公开了一种计算机存储介质,所述计算机存储介质存储有计算机指令,所述计算机指令被调用时,用于执行本发明第一方面公开的应用于压测场景下的数据写入方法。
67、本发明第五方面公开了一种影子路由组件,所述影子路由组件包括本发明第二方面公开的应用于压测场景下的数据写入装置,所述影子路由组件用于执行本发明第一方面公开的应用于压测场景下的数据写入方法。
68、与现有技术相比,本发明实施例具有以下有益效果:
69、本发明实施例中,当获取到系统的某一链路上的某一请求时,根据某一请求的请求标识,判断某一请求是否为压测请求,其中,压测请求的请求标识为压测标识;当判断出某一请求为压测请求时,将某一请求的待写入数据写入某一请求对应的压测数据写入位置。可见,实施本发明能够在系统链路上的请求为压测请求时将该请求的待写入数据写入相应的压测数据写入位置中,从而实现压测数据与业务数据之间的隔离,减少系统压测处理对业务数据的污染,提高了业务数据的准确性。
1.一种应用于压测场景下的数据写入方法,其特征在于,所述方法包括:
2.根据权利要求1所述的应用于压测场景下的数据写入方法,其特征在于,在判断出所述某一请求为所述压测请求之后,所述方法还包括:
3.根据权利要求2所述的应用于压测场景下的数据写入方法,其特征在于,所述根据所述目标业务类型,从所述系统的数据写入对象中确定所述某一请求对应的压测数据写入位置,包括:
4.根据权利要求3所述的应用于压测场景下的数据写入方法,其特征在于,所述根据所述某一请求的请求内容,确定所述某一请求对应的目标业务类型,包括:
5.根据权利要求4所述的应用于压测场景下的数据写入方法,其特征在于,当所述系统为消息队列系统时,所述根据所述压测数据写入位置,对所述原始路由信息进行更改,得到目标路由信息,包括:
6.根据权利要求4所述的应用于压测场景下的数据写入方法,其特征在于,当所述系统为非消息队列系统时,所述根据所述压测数据写入位置,对所述原始路由信息进行更改,得到目标路由信息,包括:
7.根据权利要求1-6中任一项所述的应用于压测场景下的数据写入方法,其特征在于,所述方法还包括:
8.一种应用于压测场景下的数据写入装置,其特征在于,所述装置包括:
9.一种应用于压测场景下的数据写入装置,其特征在于,所述装置包括:
10.一种影子路由组件,其特征在于,所述影子路由组件包括权利要求8所述的应用于压测场景下的数据写入装置,所述影子路由组件用于执行如权利要求1-7任一项所述的应用于压测场景下的数据写入方法。
