CN112287410A - 压测数据存储隔离的方法、装置、计算机设备及存储介质 - Google Patents
压测数据存储隔离的方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN112287410A CN112287410A CN202011223208.1A CN202011223208A CN112287410A CN 112287410 A CN112287410 A CN 112287410A CN 202011223208 A CN202011223208 A CN 202011223208A CN 112287410 A CN112287410 A CN 112287410A
- Authority
- CN
- China
- Prior art keywords
- pressure measurement
- measurement data
- storage
- terminal
- preset
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/78—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3409—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Quality & Reliability (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种压测数据存储隔离的方法、装置、计算机设备及存储介质,该方法包括:接收终端处并发的业务请求,其中,终端处并发的业务请求包括用户终端的业务请求和压测终端的业务请求;根据中间件对终端处并发的业务请求进行业务逻辑处理以得到压测数据;判断压测数据的存储类型;若存储类型为DB存储,将所述压测数据存储至预设的影子数据库中;若存储类型为Redis存储,对所述压测数据的Key进行标识并设置标识后的Key的过期时间;若存储类型为MQ存储,将所述压测数据存储至预设的消息队列中,同时对所述消息队列中的所述压测数据进行标识并设置过期时间。本发明基于数据处理技术,易于将存储隔离后的压测数据进行清理且降低了清理成本。
Description
技术领域
本发明涉及数据存储技术领域,尤其涉及一种压测数据存储隔离的方法、装置、计算机设备及存储介质。
背景技术
在对系统性能的稳定性进行测试的过程中,为了能更加真实评估整个系统的真实性能,需要基于线上真实环境和实际的业务场景来进行压力测试。当涉及到对相应的数据进行存储时,需要对存储时相应的代码进行逻辑处理以确保生产的压测数据影响客户的正常使用。由于对相应的业务逻辑代码进行改造的步骤繁杂,并且在压测完成后需要进行手动清理相应的压测数据,存在较高的安全隐患。
发明内容
本发明实施例提供了一种压测数据存储隔离的方法、装置、计算机设备及存储介质,旨在解决现有技术中压测完成后在相应的压测数据时步骤繁琐的问题。
第一方面,本发明实施例提供了一种压测数据存储隔离的方法,其包括:
接收终端处并发的业务请求,其中,所述终端处并发的业务请求包括用户终端处发送的业务请求和压测终端处发送的业务请求;
根据预置的中间件对所述终端处并发的业务请求进行业务逻辑处理以得到压测数据;
判断所述压测数据的存储类型;
若所述存储类型为DB存储,将所述压测数据存储至预设的影子数据库中;
若所述存储类型为Redis存储,对所述压测数据的Key进行标识并设置标识后的Key的过期时间;
若所述存储类型为MQ存储,将所述压测数据存储至预设的消息队列中,同时对所述消息队列中的所述压测数据进行标识并设置过期时间。
第二方面,本发明实施例提供了一种压测数据存储隔离的装置,其包括:
接收单元,用于接收终端处并发的业务请求,其中,所述终端处并发的业务请求包括用户终端处发送的业务请求和压测终端处发送的业务请求;
第一获取单元,用于根据预置的中间件对所述终端处并发的业务请求进行业务逻辑处理以得到压测数据;
判断单元,用于判断所述压测数据的存储类型;
第一隔离单元,用于若所述存储类型为DB存储,将所述压测数据存储至预设的影子数据库中;
第二隔离单元,用于若所述存储类型为Redis存储,对所述压测数据的Key进行标识并设置标识后的Key的过期时间;
第三隔离单元,用于若所述存储类型为MQ存储,将所述压测数据存储至预设的消息队列中并对所述消息队列进行标识并设置标识后的消息队列的过期时间。
第三方面,本发明实施例又提供了一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如上述第一方面所述的压测数据存储隔离的方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其中所述计算机可读存储介质存储有计算机程序,所述计算机程序当被处理器执行时使所述处理器执行上述第一方面所述的压测数据存储隔离的方法。
本发明实施例提供了一种压测数据存储隔离的方法、装置、计算机设备及存储介质,该方法包括:接收终端处并发的业务请求,其中,所述终端处并发的业务请求包括用户终端处发送的业务请求和压测终端处发送的业务请求;根据预置的中间件对所述终端处并发的业务请求进行业务逻辑处理以得到压测数据;判断所述压测数据的存储类型;若所述存储类型为DB存储,将所述压测数据存储至预设的影子数据库中;若所述存储类型为Redis存储,对所述压测数据的Key进行标识并设置标识后的Key的过期时间;若所述存储类型为MQ存储,将所述压测数据存储至预设的消息队列中,同时对所述消息队列中的所述压测数据进行标识并设置过期时间。通过上述方法不仅无需对业务系统中相应的业务逻辑代码进行改造,而且易于将存储隔离后的压测数据进行清理且降低了清理成本,提高了对压测过程中产生的压测数据的清理效率。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的压测数据存储隔离的方法的流程示意图;
图2为本发明实施例提供的压测数据存储隔离的方法的应用场景示意图;
图3为本发明实施例提供的压测数据存储隔离的方法的子流程示意图;
图4为本发明实施例提供的压测数据存储隔离的方法的另一子流程示意图;
图5为本发明实施例提供的压测数据存储隔离的装置的示意性框图;
图6为本发明实施例提供的压测数据存储隔离的装置的子单元示意性框图;
图7为本发明实施例提供的压测数据存储隔离的装置的子单元示意性框图;
图8为本发明实施例提供的计算机设备的示意性框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
请参阅图1-图2,图1为本发明实施例提供的压测数据存储隔离的方法的流程示意图;图2为本发明实施例提供的压测数据存储隔离的方法的应用场景示意图。本发明实施例的所述的压测数据存储隔离的方法应用于服务器中,在对服务器进行性能压测的过程中,接收终端处并发的业务处理请求,所述终端处并发的业务处理请求既有真实用户发送的正常业务处理请求,也有测试人员发送的业务处理请求,所述终端包括至少一个用户终端和至少一个压测终端。所述终端可以为如手提电脑、平板电脑等智能终端设备。服务器在接收到终端处并发的业务处理请求后,进行相应的业务逻辑处理,业务处理完成后,需将业务产生的压测数据与正常数据进行隔离存储,以防止压测数据对正常数据的污染。
下面对所述的压测数据存储隔离的方法进行详细说明。如图1所示,该方法包括以下步骤S110~S160。
S110、接收终端处并发的业务请求,其中,所述终端处并发的业务请求包括用户终端处发送的业务请求和压测终端处发送的业务请求。
接收终端处并发的业务请求,其中,所述终端处并发的业务请求包括用户终端处发送的业务请求和压测终端处发送的业务请求。为了更加评估业务系统的真实性能水平,需要基于线上真实业务场景来对业务系统进行性能测试评估,而在真是业务场景中对业务系统进行性能测试评估时,服务器必然会在同一时间同时接收到大量线上真实用户在用户终端处发送的正常业务请求和测试人员在压测终端处发送的大量的业务请求,因此,所述业务请求包括用户终端发送的正常业务请求和压测终端发送的业务请求。其中,服务器在接收到压测终端发送的业务请求后,服务器根据该业务请求进行正常的业务逻辑处理。
S120、根据预置的中间件对所述终端处并发的业务请求进行业务逻辑处理以得到压测数据。
根据预置的中间件对所述终端处并发的业务请求进行业务逻辑处理以得到压测数据。具体的,服务器在接收到终端处并发的业务请求后,通常是通过设置在服务器中的中间件来对所述终端处并发的业务请求进行业务逻辑处理。所述中间件是一种独立的系统软件服务程序,位于客户机服务器的操作系统之上,管理计算资源和网络通信,所述中间件使用系统软件所提供的基础服务衔接网络上应用系统的各个部分或不同的应用,能够达到资源共享、功能共享的目的。通常压测终端处发送的业务请求中设置有相应的压测标识以便于对用户终端发送的正常业务请求和压测终端的业务请求进行区分,所述中间件在接收到终端处并发的业务请求后,所述中间件可对压测终端处发送的业务请求中设置的标识进行识别以识别出该业务请求为压测终端处发送的业务请求,该业务请求中的标识信息仅仅用于识别,所述中间件在对压测终端处发送的业务请求进行业务逻辑处理时,仍然按照正常的业务请求的业务逻辑进行业务处理。所述中间件在对压测终端发送的业务请求进行正常的业务逻辑处理后,产生与压测终端处发送的业务请求相关的压测数据仍然通过该业务请求中的标识来进行识别。其中,所述业务逻辑指是指一个实体单元为了向另一个实体单元提供服务,应该具备的规则与流程,所述业务逻辑处理具体含义为:接收来自负责界面和交互层的数据请求,然后进行逻辑判断,最后向数据访问层提交请求,并传递数据访问结果。
在另一实施例中,如图3所示,步骤S120包括子步骤S121和S122。
S121、根据所述中间件从所述终端处并发的业务请求中识别出所述压测终端处发送的业务请求的标识信息。
根据所述中间件从所述终端处并发的业务请求中识别出所述压测终端处发送的业务请求的标识信息。具体的,所述标识信息为压测终端在发送业务请求至服务器中时,压测终端对发送的业务请求设置的与用户终端发送的正常业务请求进行区分的标记。服务器在接收到压测终端处发送的业务请求后,所述中间件对该业务请求进行识别以识别出该业务请求的标识信息,然后便可对该业务请求进行相应的业务逻辑处理。
S122、根据所述标识信息从所述中间件对所述终端处并发的业务请求进行业务逻辑处理后得到的数据中获取所述压测数据。
根据所述标识信息从所述中间件对所述终端处并发的业务请求进行业务逻辑处理后得到的数据中获取所述压测数据。具体的,所述中间件在对所述终端处并发的业务请求进行业务逻辑处理时,先对所述业务请求中的每一条业务请求进行识别以得到每一条业务请求中是否含有压测终端处在发送业务请求至服务器时在业务请求中设置的标识信息,若包含有该标识信息,则所述中间件便可识别出该条业务请求为压测终端处在发送的一条业务请求,同时在对该条业务请求进行业务逻辑处理时产生的数据通过该条业务请求的标识信息来进行识别,即基于所述标识信息从所述数据中获取所述压测数据。
在另一实施例中,步骤S120之前还包括:根据预置的Nginx模型对所述终端处并发的业务请求进行过滤处理并将过滤后的业务请求发送至所述中间件中进行业务逻辑处理。
根据预置的Nginx模型对所述终端处并发的业务请求进行过滤处理并将过滤后的业务请求发送至所述中间件中进行业务逻辑处理。具体的,所述Nginx模型为用于对终端处并发的业务请求进行过滤处理以过滤出终端处并发的业务请求中含有不安全的信息的模型。通常终端处发送业务请求至服务器中时,服务器中的业务接入层首先接收到该业务请求后,对该业务请求进行拦截,然后通过所述预处理模型对该业务请求进行预处理以过滤出不安全的信息,防止业务请求中含有不安全的信息对服务器进行攻击。在本发明实施例中,服务器的业务接入层中采用Nginx实现反向代理以对终端处并发的业务请求进行过滤处理。Nginx(engine x)是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务,Nginx作为负载均衡服务,既可以在内部直接支持Rails和PHP程序对外进行服务,也可以支持作为HTTP代理服务对外进行服务,另外Nginx采用C进行编写,不论是系统资源开销还是CPU使用效率强于Perlbal。通常测试终端处发送的业务请求中基本不会包含有害信息,因此,本发明实施例中的Nginx只是对用户终端处发送的业务请求进行过滤处理。
S130、判断所述压测数据的存储类型。
判断所述压测数据的存储类型。具体的,在对服务器进行性能压测时,需要对服务器进行全方位的测试,因此所述中间件根据压测终端处发送的业务请求进行业务逻辑处理后产生的所述压测数据需要进行相应类型的存储。通过对所述压测数据进行相应的存储便可获得所述压测数据的存储类型。例如,所述中间件根据测试终端发送的业务请求进行业务逻辑处理产生的缓存数据时,该缓存数据需要存储至Redis数据库中。通常所述存储类型包括DB存储、Redis存储和MQ存储。其中,DB(data base数据库)是依照某种数据模型组织起来并存放二级存储器中的数据集合;Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API;MQ(MessageQueue消息队列)是基础数据结构中“先进先出”的一种数据结构,一般用来解决应用解耦,异步消息,流量削锋等问题,实现高性能,高可用,可伸缩和最终一致性架构。
S140、若所述存储类型为DB存储,将所述压测数据存储至预设的影子数据库中。
若所述存储类型为DB存储,将所述压测数据存储至预设的影子数据库中。具体的,所述影子数据库为在原始DB数据库的基础上创建的一个与原始DB数据库的库表结构、存量数据、DB参数、性能参数等完全相同且影子数据库中的数据删除后对原始DB数据库不产生任何影响的数据库。所述压测数据存储至所述影子数据库中时,与所述压测数据同步产生的正常数据不仅存储在原始DB数据库中,而且也同步存储在所述影子数据库中,进而保证了所述影子数据库的数据为全部流量数据的总和,即所述影子数据库中不仅包含了正常用户产生的数据,而且还包含了压测时产生的压测数据。所述影子数据库中库表的数据量是最完整的,不仅保证了压测出来的指标不会因为所述影子数据库中的数据太少而导致性能结果不准确的问题,而且在后续对压测数据进行删除时,只需删除所述影子数据库中的所有的数据便可删除压测数据,而正常用户产生的数据完整的存储在原始DB数据库中,无需担心正常用户产生的数据被删除。
在另一实施例中,步骤S140之前还包括:基于预设的DB数据库创建所述影子数据库并设置所述影子数据库与所述DB数据库同步。
基于预设的DB数据库创建所述影子数据库并设置所述影子数据库与所述DB数据库同步。具体的,所述影子数据库与所述DB数据库的库表结构、存量数据、DB参数、性能参数等完全相同,即构建所述影子数据库时只需在所述DB数据库的基础上拷贝一个与所述DB数据库一模一样的数据库便可,同时设置所述DB数据与所述影子数据库同步。通常DB数据库与其对应的影子数据库不仅操作同步,而且DB数据库与影子数据库之间可以随意切换,但是本发明主要的目的是在清理压测数据的同时不会影响到正常用户产生的数据,因此,在本发明实施例中,所述影子数据库与所述DB数据库虽然库表结构、存量数据、DB参数、性能参数等完全相同,且所述影子数据库与所述DB数据库同步,但所述影子数据库与所述DB数据无法进行随意切换,从而保证了正常用户产生的数据同时存储到所述DB数据库和所述影子数据库中,而压测数据只能存储到所述影子数据库中。
S150、若所述存储类型为Redis存储,对所述压测数据的Key进行标识并设置标识后的Key的过期时间。
若所述存储类型为Redis存储,对所述压测数据的Key进行标识并设置标识后的Key的过期时间。具体的,当所述压测数据缓存至Redis数据库中时,需首先判断Redis数据库中是否存在与所述压测数据相匹配的Key,若Redis数据库中不存在与所述压测数据相匹配的Key,则需要设置所述压测数据的Key,将所述压测数据以键值对(Key-Value)的形式缓存在Redis数据库中,其中,Key-Value根据关键字取值,Key为关键字,即与所述压测数据相对应的关键字,Value为值,即所述压测数据,在设置所述压测数据的Key时,需对所述压测数据的Key进行标识,以便于将正常数据与压测数据进行区分,然后设置标识后的Key的过期时间,当超过过期时间后,便可自动删除该Key,进而所述压测数据便可自动删除,无需人为的参与和清理,不仅不会对现有的业务和逻辑造成影响,而且不会对线上正常用户造成影响。
在另一实施例中,步骤S150之前还包括:根据所述中间件修改Redis数据库的Redis模板和所述Redis模板中的Key的序列化工具。
根据所述中间件修改Redis数据库的Redis模板和所述Redis模板中的Key的序列化工具。其中,所述Redis模板为RedisTemplate,所述Redis模板中的Key的序列化工具为RedisTemplate的KeySerializer,所述RedisTemplate为SpringDataRedis中对JedisApi的高度封装的类,所述RedisTemplate使用的是JdkSerializationRedisSerializer存入数据会将数据先序列化成字节数组然后在存入Redis数据库。在将所述压测数据缓存至Redis数据库中之前,预先通过中间件对所述RedisTemplate以及所述RedisTemplate的KeySerializer进行特定的改造,然后进行封装,当所述压测数据操作所述Redis数据库时,调用所述RedisTemplate的KeySerializer便可对所述压测数据的Key增加前后缀,以便于对所述Redis数据库中的压测数据进行识别。
S160、若所述存储类型为MQ存储,将所述压测数据存储至预设的消息队列中,同时对所述消息队列中的所述压测数据进行标识并设置过期时间。
若所述存储类型为MQ存储,将所述压测数据存储至预设的消息队列中,同时对所述消息队列中的所述压测数据进行标识并设置过期时间。具体的,所述将所述压测数据存储至所诉消息队列中为将要传输的数据放在队列中,即所述压测数据为将要传输的数据。所述压测数据存储至所述消息队列中后,需对所述消息队列中的所述压测数据进行标识,以便于消费者在消费所述消息队列中的消息时,能够区分正常用户产生的消息和压测数据产生的消息,同时所述压测数据存储在所述消息队列中时,需对所述消息队列中的所述压测数据设置过期时间,以便于后续超过该过期时间后,能自动删除所述压测数据。
在另一实施例中,如图4所示,步骤S160包括子步骤S161和S162。
S161、将所述压测数据以Topic的模式存储在所述消息队列中,同时对与所述压测数据相对应的Topic进行标识以得到标识后的Topic。
将所述压测数据以Topic的模式存储在所述消息队列中,同时对与所述压测数据相对应的Topic进行标识以得到标识后的Topic。具体的,通过在与所述压测数据相对应的Topic上增加前后缀以得到标识后的Topic,进而将正常用户产生的消息和压测数据产生的消息进行区分。
S162、设置所述标识后的Topic的过期时间并将所述标识后的Topic发送至订阅终端处以使得所述订阅终端订阅所述标识后的Topic。
设置所述标识后的Topic的过期时间并将所述标识后的Topic发送至订阅终端处以使得所述订阅终端订阅所述标识后的Topic。具体的,通过设置所述标识后的Topic的过期时间以便于后续超过该过期时间后,能自动删除所述消息队列中的所述标识后的Topic,同时将所述标识后的Topic发送给订阅终端以使得所述订阅终端订阅所述标识后的Topic。不仅不会对现有的业务以及线上正常用户造成影响,而且不存在由于环境差异影响性能指标的问题。
在本发明实施例所提供的压测数据存储隔离的方法中,通过接收终端处并发的业务请求,其中,所述终端处并发的业务请求包括用户终端处发送的业务请求和压测终端处发送的业务请求;根据预置的中间件对所述终端处并发的业务请求进行业务逻辑处理以得到压测数据;判断所述压测数据的存储类型;若所述存储类型为DB存储,将所述压测数据存储至预设的影子数据库中;若所述存储类型为Redis存储,对所述压测数据的Key进行标识并设置标识后的Key的过期时间;若所述存储类型为MQ存储,将所述压测数据存储至预设的消息队列中,同时对所述消息队列中的所述压测数据进行标识并设置过期时间。通过上述方法不仅无需对业务系统中相应的业务逻辑代码进行改造,而且易于将存储隔离后的压测数据进行清理且降低了清理成本,提高了对压测过程中产生的压测数据的清理效率。
本发明实施例还提供了一种压测数据存储隔离的装置100,该装置用于执行前述压测数据存储隔离的方法的任一实施例。具体地,请参阅图5,图5是本发明实施例提供的压测数据存储隔离的装置100的示意性框图。
如图5所示,所述压测数据存储隔离的装置100,该装置包括接收单元110、第一获取单元120、判断单元130、第一隔离单元140、第二隔离单元150和第三隔离单元160。
接收单元110,用于接收终端处并发的业务请求,其中,所述终端处并发的业务请求包括用户终端处发送的业务请求和压测终端处发送的业务请求。
第一获取单元120,用于根据预置的中间件对所述终端处并发的业务请求进行业务逻辑处理以得到压测数据。
在其他发明实施例中,如图6所示,所述第一获取单元120包括:识别单元121和第二获取单元122。
识别单元121,用于根据所述中间件从所述终端处并发的业务请求中识别出所述压测终端处发送的业务请求的标识信息。
第二获取单元122,用于根据所述标识信息从所述中间件对所述终端处并发的业务请求进行业务逻辑处理后得到的数据中获取所述压测数据。
在其他发明实施例中,所述时间序列数据的检测装置100还包括:处理单元120a。
处理单元120a,用于根据预置的Nginx模型对所述终端处并发的业务请求进行过滤处理并将过滤后的业务请求发送至所述中间件中进行业务逻辑处理。
判断单元130,用于判断所述压测数据的存储类型。
第一隔离单元140,用于若所述存储类型为DB存储,将所述压测数据存储至预设的影子数据库中。
在其他发明实施例中,所述时间序列数据的检测装置100还包括:创建单元140a。
创建单元140a,用于基于预设的DB数据库创建所述影子数据库并设置所述影子数据库与所述DB数据库同步。
第二隔离单元150,用于若所述存储类型为Redis存储,对所述压测数据的Key进行标识并设置标识后的Key的过期时间。
在其他发明实施例中,所述时间序列数据的检测装置100还包括:修改单元150a。
修改单元150a,用于根据所述中间件修改Redis数据库的Redis模板和所述Redis模板中的Key的序列化工具。
第三隔离单元160,用于若所述存储类型为MQ存储,将所述压测数据存储至预设的消息队列中,同时对所述消息队列中的所述压测数据进行标识并设置过期时间。
在其他发明实施例中,如图7所示,所述第三隔离单元160包括:Topic标识单元161和发送单元162。
Topic标识单元161,用于将所述压测数据以Topic的模式存储在所述消息队列中,同时对与所述压测数据相对应的Topic进行标识以得到标识后的Topic。
发送单元162,用于设置所述标识后的Topic的过期时间并将所述标识后的Topic发送至订阅终端处以使得所述订阅终端订阅所述标识后的Topic。
本发明实施例所提供的压测数据存储隔离的装置100用于执行上述用于接收终端处并发的业务请求,其中,所述终端处并发的业务请求包括用户终端处发送的业务请求和压测终端处发送的业务请求;根据预置的中间件对所述终端处并发的业务请求进行业务逻辑处理以得到压测数据;判断所述压测数据的存储类型;若所述存储类型为DB存储,将所述压测数据存储至预设的影子数据库中;若所述存储类型为Redis存储,对所述压测数据的Key进行标识并设置标识后的Key的过期时间;若所述存储类型为MQ存储,将所述压测数据存储至预设的消息队列中,同时对所述消息队列中的所述压测数据进行标识并设置过期时间。
请参阅图8,图8是本发明实施例提供的计算机设备的示意性框图。
参阅图8,该设备500包括通过系统总线501连接的处理器502、存储器和网络接口505,其中,存储器可以包括非易失性存储介质503和内存储器504。
该非易失性存储介质503可存储操作系统5031和计算机程序5032。该计算机程序5032被执行时,可使得处理器502执行压测数据存储隔离的方法。
该处理器502用于提供计算和控制能力,支撑整个设备500的运行。
该内存储器504为非易失性存储介质503中的计算机程序5032的运行提供环境,该计算机程序5032被处理器502执行时,可使得处理器502执行压测数据存储隔离的方法。
该网络接口505用于进行网络通信,如提供数据信息的传输等。本领域技术人员可以理解,图8中示出的结构,仅仅是与本发明方案相关的部分结构的框图,并不构成对本发明方案所应用于其上的设备500的限定,具体的设备500可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
其中,所述处理器502用于运行存储在存储器中的计算机程序5032,以实现如下功能:接收终端处并发的业务请求,其中,所述终端处并发的业务请求包括用户终端处发送的业务请求和压测终端处发送的业务请求;根据预置的中间件对所述终端处并发的业务请求进行业务逻辑处理以得到压测数据;判断所述压测数据的存储类型;若所述存储类型为DB存储,将所述压测数据存储至预设的影子数据库中;若所述存储类型为Redis存储,对所述压测数据的Key进行标识并设置标识后的Key的过期时间;若所述存储类型为MQ存储,将所述压测数据存储至预设的消息队列中,同时对所述消息队列中的所述压测数据进行标识并设置过期时间。
本领域技术人员可以理解,图8中示出的设备500的实施例并不构成对设备500具体构成的限定,在其他实施例中,设备500可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。例如,在一些实施例中,设备500可以仅包括存储器及处理器502,在这样的实施例中,存储器及处理器502的结构及功能与图8所示实施例一致,在此不再赘述。
应当理解,在本发明实施例中,处理器502可以是中央处理单元(CentralProcessing Unit,CPU),该处理器502还可以是其他通用处理器502、数字信号处理器502(Digital Signal Processor,DSP)、专用集成电路(Application Specific IntegratedCircuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器502可以是微处理器502或者该处理器502也可以是任何常规的处理器502等。
在本发明的另一实施例中提供计算机存储介质。该存储介质可以为非易失性的计算机可读存储介质。该存储介质存储有计算机程序5032,其中计算机程序5032被处理器502执行时实现以下步骤:接收终端处并发的业务请求,其中,所述终端处并发的业务请求包括用户终端处发送的业务请求和压测终端处发送的业务请求;根据预置的中间件对所述终端处并发的业务请求进行业务逻辑处理以得到压测数据;判断所述压测数据的存储类型;若所述存储类型为DB存储,将所述压测数据存储至预设的影子数据库中;若所述存储类型为Redis存储,对所述压测数据的Key进行标识并设置标识后的Key的过期时间;若所述存储类型为MQ存储,将所述压测数据存储至预设的消息队列中,同时对所述消息队列中的所述压测数据进行标识并设置过期时间。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的设备、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的几个实施例中,应该理解到,所揭露的设备、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为逻辑功能划分,实际实现时可以有另外的划分方式,也可以将具有相同功能的单元集合成一个单元,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台设备500(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种压测数据存储隔离的方法,其特征在于,包括以下步骤:
接收终端处并发的业务请求,其中,所述终端处并发的业务请求包括用户终端处发送的业务请求和压测终端处发送的业务请求;
根据预置的中间件对所述终端处并发的业务请求进行业务逻辑处理以得到压测数据;
判断所述压测数据的存储类型;
若所述存储类型为DB存储,将所述压测数据存储至预设的影子数据库中;
若所述存储类型为Redis存储,对所述压测数据的Key进行标识并设置标识后的Key的过期时间;
若所述存储类型为MQ存储,将所述压测数据存储至预设的消息队列中,同时对所述消息队列中的所述压测数据进行标识并设置过期时间。
2.根据权利要求1所述的压测数据存储隔离的方法,其特征在于,所述根据预置的中间件对所述终端处并发的业务请求进行业务逻辑处理以得到压测数据,包括:
根据所述中间件从所述终端处并发的业务请求中识别出所述压测终端处发送的业务请求的标识信息;
根据所述标识信息从所述中间件对所述终端处并发的业务请求进行业务逻辑处理后得到的数据中获取所述压测数据。
3.根据权利要求1所述的压测数据存储隔离的方法,其特征在于,所述根据预置的中间件对所述终端处并发的业务请求进行业务逻辑处理以得到压测数据之前,还包括:
根据预置的Nginx模型对所述终端处并发的业务请求进行过滤处理并将过滤后的业务请求发送至所述中间件中进行业务逻辑处理。
4.根据权利要求1所述的压测数据存储隔离的方法,其特征在于,所述若所述存储类型为DB存储,将所述压测数据存储至预设的影子数据库中之前,还包括:
基于预设的DB数据库创建所述影子数据库并设置所述影子数据库与所述DB数据库同步。
5.根据权利要求1所述的压测数据存储隔离的方法,其特征在于,所述若所述存储类型为Redis存储,对所述压测数据的Key进行标识并设置标识后的Key的过期时间之前,还包括:
根据所述中间件修改Redis数据库的Redis模板和所述Redis模板中的Key的序列化工具。
6.根据权利要求1所述的压测数据存储隔离的方法,其特征在于,所述将所述压测数据存储至预设的消息队列中,同时对所述消息队列中的所述压测数据进行标识并设置过期时间,包括:
将所述压测数据以Topic的模式存储在所述消息队列中,同时对与所述压测数据相对应的Topic进行标识以得到标识后的Topic;
设置所述标识后的Topic的过期时间并将所述标识后的Topic发送至订阅终端处以使得所述订阅终端订阅所述标识后的Topic。
7.一种压测数据存储隔离的装置,其特征在于,包括:
接收单元,用于接收终端处并发的业务请求,其中,所述终端处并发的业务请求包括用户终端处发送的业务请求和压测终端处发送的业务请求;
第一获取单元,用于根据预置的中间件对所述终端处并发的业务请求进行业务逻辑处理以得到压测数据;
判断单元,用于判断所述压测数据的存储类型;
第一隔离单元,用于若所述存储类型为DB存储,将所述压测数据存储至预设的影子数据库中;
第二隔离单元,用于若所述存储类型为Redis存储,对所述压测数据的Key进行标识并设置标识后的Key的过期时间;
第三隔离单元,用于若所述存储类型为MQ存储,将所述压测数据存储至预设的消息队列中并对所述消息队列进行标识并设置标识后的消息队列的过期时间。
8.根据权利要求7所述的压测数据存储隔离的装置,其特征在于,所述第一获取单元,包括:
识别单元,用于根据所述中间件从所述终端处并发的业务请求中识别出所述压测终端处发送的业务请求的标识信息;
第二获取单元,用于根据所述标识信息从所述中间件对所述终端处并发的业务请求进行业务逻辑处理后得到的数据中获取所述压测数据。
9.一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至6中任一项所述的压测数据存储隔离的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序当被处理器执行时使所述处理器执行如权利要求1至6任一项所述的压测数据存储隔离的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011223208.1A CN112287410A (zh) | 2020-11-05 | 2020-11-05 | 压测数据存储隔离的方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011223208.1A CN112287410A (zh) | 2020-11-05 | 2020-11-05 | 压测数据存储隔离的方法、装置、计算机设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112287410A true CN112287410A (zh) | 2021-01-29 |
Family
ID=74352278
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011223208.1A Pending CN112287410A (zh) | 2020-11-05 | 2020-11-05 | 压测数据存储隔离的方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112287410A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112835643A (zh) * | 2021-02-02 | 2021-05-25 | 睿云联(厦门)网络通讯技术有限公司 | 基于设备影子服务对云对讲设备的管理方法和装置及设备 |
CN115373654A (zh) * | 2022-10-08 | 2022-11-22 | 天津华来科技股份有限公司 | Locust中间件代码架构方法、电子设备、存储介质 |
CN116781591A (zh) * | 2023-08-23 | 2023-09-19 | 国网信息通信产业集团有限公司 | 一种基于流量染色和透传技术的压力测试系统、压测终端及存储介质 |
-
2020
- 2020-11-05 CN CN202011223208.1A patent/CN112287410A/zh active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112835643A (zh) * | 2021-02-02 | 2021-05-25 | 睿云联(厦门)网络通讯技术有限公司 | 基于设备影子服务对云对讲设备的管理方法和装置及设备 |
CN112835643B (zh) * | 2021-02-02 | 2022-05-17 | 睿云联(厦门)网络通讯技术有限公司 | 基于设备影子服务对云对讲设备的管理方法和装置及设备 |
CN115373654A (zh) * | 2022-10-08 | 2022-11-22 | 天津华来科技股份有限公司 | Locust中间件代码架构方法、电子设备、存储介质 |
CN115373654B (zh) * | 2022-10-08 | 2023-01-10 | 天津华来科技股份有限公司 | Locust中间件代码架构方法、电子设备、存储介质 |
CN116781591A (zh) * | 2023-08-23 | 2023-09-19 | 国网信息通信产业集团有限公司 | 一种基于流量染色和透传技术的压力测试系统、压测终端及存储介质 |
CN116781591B (zh) * | 2023-08-23 | 2024-01-02 | 国网信息通信产业集团有限公司 | 一种基于流量染色和透传技术的压力测试系统、压测终端及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112287410A (zh) | 压测数据存储隔离的方法、装置、计算机设备及存储介质 | |
JP6521403B2 (ja) | サービスとしての効率的なデータ圧縮及び分析 | |
CN106899680B (zh) | 多区块链的分片处理方法和装置 | |
CN108829581B (zh) | 应用程序测试方法、装置、计算机设备及存储介质 | |
CN109684188B (zh) | 测试方法和装置 | |
CN110737726B (zh) | 一种确定待测试接口的测试数据的方法和装置 | |
CN103428042A (zh) | 对服务器进行压力测试的方法及系统 | |
CN110928934A (zh) | 一种用于业务分析的数据处理方法和装置 | |
CN113268761B (zh) | 信息加密方法、装置、电子设备和计算机可读介质 | |
CN112363879A (zh) | 缓存服务器性能测试方法、装置、设备和介质 | |
US20160224635A1 (en) | Analysis of data utilization | |
CN110177024B (zh) | 热点设备的监控方法及客户端、服务端、系统 | |
CN107315672B (zh) | 用于监控服务器的方法和装置 | |
CN107766224B (zh) | 测试方法和测试装置 | |
CN112181832B (zh) | 测试数据生成方法、装置、计算机设备及存储介质 | |
CN104967667A (zh) | 一种基于云服务的软件稳定性测试远程监控系统 | |
JP5961471B2 (ja) | 複数の情報システムおける出力比較方法 | |
CN114465919B (zh) | 一种网络服务测试方法、系统、电子设备及存储介质 | |
CN109214189B (zh) | 识别程序漏洞的方法、装置、存储介质和电子设备 | |
CN113094272B (zh) | 应用测试方法、装置、电子设备和计算机可读介质 | |
CN112527453B (zh) | 虚拟化信息仿真系统、方法及计算机可读存储介质 | |
US20210248255A1 (en) | File management system and non-transitory computer readable medium | |
CN113626869A (zh) | 数据处理方法、系统、电子设备以及存储介质 | |
CN112988560A (zh) | 测试系统健壮性的方法和装置 | |
CN113760680A (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 |