CN114238052A - 压测数据过滤方法、装置、存储介质及计算机设备 - Google Patents
压测数据过滤方法、装置、存储介质及计算机设备 Download PDFInfo
- Publication number
- CN114238052A CN114238052A CN202111534954.7A CN202111534954A CN114238052A CN 114238052 A CN114238052 A CN 114238052A CN 202111534954 A CN202111534954 A CN 202111534954A CN 114238052 A CN114238052 A CN 114238052A
- Authority
- CN
- China
- Prior art keywords
- data
- request
- service data
- current test
- pressure measurement
- 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
- 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
- G06F11/3414—Workload generation, e.g. scripts, playback
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/215—Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- 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/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Quality & Reliability (AREA)
- Computer Security & Cryptography (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Measuring Fluid Pressure (AREA)
Abstract
本发明公开了一种压测数据过滤方法、装置、存储介质及计算机设备该方法包括步骤:接收当前测试数据请求,并判断所述当前测试数据请求的数据标识是否存储在布隆过滤器中;若是,确定所述当前测试数据请求为性能压力测试请求,并生成唯一标识符;将所述当前测试数据请求发送至请求的通信接口,并获取所述通信接口基于所述当前测试数据请求生成的业务数据;将生成的业务数据和所述唯一标识符对应存储至业务数据表中;定时根据所述唯一标识符查询所述业务数据表中对应的业务数据,并删除查询到的所述业务数据。本发明可以自动清理性能压力测试造成的脏数据,以减少对常规测试的影响。同时,本发明还涉及区块链技术。
Description
技术领域
本发明涉及数据处理技术领域,尤其涉及一种压测数据过滤方法、装置、存储介质及计算机设备。
背景技术
随着互联网的快速发展,微服务架构的流行,越来越多的公司的系统面向服务化设计,而服务化设计中各服务之间主要通过接口进行交互,接口成为了各系统间通信的通道。
在互联网蓬勃发展的今天,系统的用户量剧增,接口面临压力也剧增,所以,接口的性能压测也变得越来越重要。通过上线前的接口性能压测,可以提前发现系统的性能瓶颈,也可以发现数据库的性能瓶颈。
为了使得压测的效果更真实,一般都会在某个时间点对接口进行大量的压测请求,以推测出接口的性能瓶颈,这样就会产生大量的脏数据存储在数据库中。如果这些脏数据不清理就会一直保存在数据库中,导致数据库表中的数据越来越多,数据表越大,查询效率就越低,从而影响常规测试的进行。
发明内容
基于此,本发明针对现有技术中由于性能压力测试产生大量的脏数据,造成对常规测试的影响的问题,提供了一种压测数据过滤方法、装置、存储介质及计算机设备。
为实现上述目的,本发明提供一种压测数据过滤方法,包括步骤:
接收当前测试数据请求,并判断所述当前测试数据请求的数据标识是否存储在布隆过滤器中;
若是,确定所述当前测试数据请求为性能压力测试请求,并生成唯一标识符;
将所述当前测试数据请求发送至请求的通信接口,并获取所述通信接口基于所述当前测试数据请求生成的业务数据;
将生成的业务数据和所述唯一标识符对应存储至业务数据表中;
定时根据所述唯一标识符查询所述业务数据表中对应的业务数据,并删除查询到的所述业务数据。
进一步的,上述压测数据过滤方法,其中,所述生成唯一标识符的步骤之前还包括:
判断请求的通信接口是否在预设的白名单中;
若否,执行生成唯一标识符的步骤。
进一步的,上述压测数据过滤方法,其中,所述判断所述当前测试数据请求的数据标识是否存储在布隆过滤器中的步骤之前还包括:
获取测试过程中当前测试时间段内性能测试数据请求的数据标识,所述测试过程根据预设的时间划分为多个测试时间段;
根据当前测试时间段内获取的数据标识建立布隆过滤器。
进一步的,上述压测数据过滤方法,其中,所述生成唯一标识符的步骤之后还包括:
将所述唯一标识符存储在压测请求数据表中;
所述定时根据所述唯一标识符查询所述业务数据表中对应的业务数据的步骤包括:
定时根据压测请求数据表中的各个所述唯一标识符查询业务数据表中对应的业务数据。
进一步的,上述压测数据过滤方法,其中,所述删除查询到的所述业务数据的步骤之后还包括:
删除所述压测请求数据表中的数据。
进一步的,上述压测数据过滤方法,其中,判断所述当前测试数据请求的数据标识是否存储在布隆过滤器中的步骤之后还包括:
当所述当前测试数据请求的数据标识未存储在所述布隆过滤器中时,将所述当前测试数据请求发送至请求的通信接口;
获取所述通信接口基于所述当前测试数据请求生成的业务数据,并将生成的业务数据存储至业务数据表中。
优选的,可以将上述压测数据过滤方法的结果上传至区块链中,以使得所述区块链对所述压测数据过滤方法的结果进行加密存储。
为实现上述目的,本发明还公开了一种压测数据过滤装置,包括:
第一判断模块,用于接收当前测试数据请求,并判断所述当前测试数据请求的数据标识是否存储在布隆过滤器中;
标识符生成模块,用于当所述当前测试数据请求的数据标识存储在布隆过滤器中时,确定所述当前测试数据请求为性能压力测试请求,并生成唯一标识符;
第一获取模块,用于将所述当前测试数据请求发送至请求的通信接口,并获取所述通信接口基于所述当前测试数据请求生成的业务数据;
第一存储模块,用于将生成的业务数据和所述唯一标识符对应存储至业务数据表中;
第一删除模块,用于定时根据所述唯一标识符查询所述业务数据表中对应的业务数据,并删除查询到的所述业务数据。
进一步的,上述压测数据过滤装置,还包括:
第二判断模块判断模块,用于判断请求的通信接口是否在预设的白名单中,若否,标识符生成模块执行生成唯一标识符的步骤。
进一步的,上述压测数据过滤装置,还包括:
第二获取模块,用于获取测试过程中当前测试时间段内性能测试数据请求的数据标识,所述测试过程根据预设的时间划分为多个测试时间段;
建立模块,用于根据当前测试时间段内获取的数据标识建立布隆过滤器。
进一步的,上述压测数据过滤装置,还包括:
第二存储模块,用于将所述唯一标识符存储在压测请求数据表中;
所述删除模块具体用于:
定时根据压测请求数据表中的各个所述唯一标识符查询业务数据表中对应的业务数据。
进一步的,上述压测数据过滤装置,还包括:
第二删除模块,用于删除所述压测请求数据表中的数据。
进一步的,上述压测数据过滤装置,还包括:
发送模块,用于当所述当前测试数据请求的数据标识未存储在所述布隆过滤器中时,将所述当前测试数据请求发送至请求的通信接口;
第三存储模块,用于获取所述通信接口基于所述当前测试数据请求生成的业务数据,并将生成的业务数据存储至业务数据表中。
为实现上述目的,本发明还提供了一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任一项所述压测数据过滤方法的步骤。
为实现上述目的,本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述压测数据过滤方法的步骤。
本发明提供的一种压测数据过滤方法、装置、存储介质及计算机设备,可以自动定时的清理业务数据表中性能压力测试造成的脏数据,及时清理业务数据表中无用的数据,以减少对常规测试的影响;并且,通过布隆过滤器来识别来是否是性能压力测试请求,隔离了对非性能压力测试请求的影响,保证了接口的非性能压力测试不受影响。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例中压测数据过滤方法的一应用环境示意图;
图2是本发明一实施例中压测数据过滤方法的流程图;
图3是本发明另一实施例中压测数据过滤方法的流程图;
图4是本发明又一实施例中压测数据过滤方法的流程图;
图5是本发明一实施例中压测数据过滤装置的结构示意图;
图6是本发明一实施例中计算机设备的一示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本申请提供的压测数据过滤方法,可应用在如图1的计算机设备中,其中,该计算机设备可通过网络与服务器进行通信。其中,该计算机设备包括但不限于各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备。服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一实施例中,如图2所示,提供一种压测数据过滤方法,以该方法应用在图1中的计算机设备为例进行说明,包括如下步骤S11至S16。
步骤S11,接收当前测试数据请求,并判断所述当前测试数据请求的数据标识是否存储在布隆过滤器中。
通信接口是各个系统之间的通信通道,系统上线前需要对各个通信进行通信接口测试,包括性能压力测试和一些常规的测试。该常规的测试例如为,测试接口参数传递的正确性,测试接口功能实现的正确性,测试输出结果的正确性,以及对各种异常情况的容错处理的完整性和合理性等测试。通信接口在进行性能压力测试时,大量的性能压力测试请求会发送至服务端,该服务端该压力测试请求对应发送至各个通信端口。
可以理解的,在进行通信接口测试时,除了发送压力测试请求至该服务端外,常规的测试请求也会发送至服务端。通常,该性能压力测试请求和常规的测试请求发送至通信端口后,产生的业务数据从特征上看是一致的,且均会保存在通讯断开的业务数据表中,造成业务数据表较大,运行较慢,从而影响常规测试的进行,因此需要将该业务数据表中性能压力测试产生的大量脏数据进行删除,保障常规测试的正常进行。
为了区分当前接收到的测试数据请求是正常的测试请求还是性能压力测试请求,本实施例中引入了布隆过滤器,布隆过滤器(Bloom Filter),类似一个hash set(哈希表),是一种快速判断某个元素(key)是否存在于集合中的算法。和一般的hash set不同的是,这个算法无需存储key的值,对于每个key,只需要k个比特位,每个存储一个标志,用来判断key是否在集合中。布隆过滤器插入、查询效率非常高,占用内存很小。
本实施例中,在服务端预先创建一个布隆过滤器,并预先该布隆过滤器中写入本次测试所需要的所有性能压力测试请求的数据标识,该数据标识例如为申请单号,根据当前的测试数据请求的数据标识是否存在于布隆过滤器中,来判断出当前的测试数据请求是否为性能压力测试数据。在整个测试阶段,所有的测试数据请求均会经过该布隆过滤器进行筛选,以实时识别出各个性能压力测试数据请求。
该数据标识可以为测试数据请求携带的申请单号,即每个测试数据请求对应设置有一个申请单号,根据该申请单号来识别是性能压力测试请求还是常规的测试请求。
步骤S12,若是,确定所述当前测试数据请求为性能压力测试请求。
步骤S13,生成唯一标识符。
当判断出当前接收到的测试数据请求为性能要求测试请求时,系统生成唯一标识符。具体实施时,该唯一标识符可以为自动生成的唯一流水号,具体实施时,可以根据当前测试数据请求对应的请求内容以及数据标识来生成唯一对应该数据请求的唯一流水号。
步骤S14,将所述当前测试数据请求发送至请求的通信接口,并获取所述通信接口基于所述当前测试数据请求生成的业务数据。
步骤S15,将生成的业务数据和所述唯一标识符对应存储至业务数据表中。
具体实施时,该测试数据请求可用于对一个或多个通信接口进行测试,将测试数据请求发送至对应待测试的通信接口。该通信接口基于该测试数据请求生成对应的业务数据,每个通信接口的业务数据均存储在该通信接口对应的业务数据表中。
针对性能压力测试请求至具体的通信接口时,在实际的压测的接口中涉及的业务数据表中,除了保存自身业务处理的业务数据,还要额外保存前面生成的唯一标识符,这样就把本次压测请求的记录跟实际业务处理的业务数据表中业务数据关联起来。性能压力测试结束后,所有的压力测试请求都可以跟实际业务表的业务数据关联起来。
需要说明的是,该唯一标识符和对应业务数据存储在该业务数据表中时,可以根据映射关系将该唯一标识符和业务数据存储在业务数据表不同的两栏中,也可以将该唯一标识符和该业务数据以特殊的符合连接后形成一新的数据存储在该业务数据表中。
步骤S16,定时根据所述唯一标识符查询所述业务数据表中对应的业务数据,并删除查询到的所述业务数据。
通信接口测试过程中,产生的业务数据实时存储在业务数据表中,为了减少对测试环境的影响,可以定时对业务数据表中的性能压力测试相关的脏数据进行清理,即规定在一个特定的时间统一对业务数据表进行清理,以保证在通讯接口测试的正常进行。可以理解的,业务数据表的清理时间可根据用户的实际需要进行设置,可以每天清理一次,也可以三天或一周清理一次,具体清理时间根据具体的测试情况来定。例如,可建立定时任务,在每天0点的时刻对业务数据表进行清理。
进行脏数据清理时,根据系统生成的唯一标识符在该业务数据表中查询对应的业务数据,若查询到对应的业务数据后,将其从该业务数据表中删除。从而可以将该业务数据表中经性能压力测试产生的业务数据删除,实现自动清除性能压测造成的脏数据,减少对常规测试的影响,而且由于常规的测试数据不在布隆过滤器中,可以隔离对非性能压测请求的影响。
本发明实施例提供的压测数据过滤方法,可以自动定时的清理业务数据表中性能压力测试造成的脏数据,及时清理业务数据表中无用的数据,以减少对常规测试的影响;并且,通过布隆过滤器来识别来是否是性能压力测试请求,隔离了对非性能压力测试请求的影响,保证了接口的非性能压力测试不受影响。
进一步的,在本发明的一实施例中,生成唯一标识符的步骤之后还包括如下步骤:
将所述唯一标识符存储在压测请求数据表中;
所述定时根据所述唯一标识符查询所述业务数据表中对应的业务数据的步骤包括:
定时扫描所述压测请求数据表,并根据当前扫描到的唯一标识符查询所述业务数据表中对应的业务数据。
即在服务端的系统中预先建立一个压测请求数据表,当生产唯一标识符后将该唯一标识符保存在该压测数据请求表中。系统预先建立有定时任务,定时扫描压测请求数据表中的唯一标识符,扫描到结果后,根据压测请求数据表中所有的唯一标识符查询业务数据表中的记录,业务表中查到记录后,就把对应的记录删除掉。
进一步的,判断所述当前测试数据请求的数据标识是否存储在布隆过滤器中的步骤之后还包括如下步骤:
当所述当前测试数据请求的数据标识未存储在所述布隆过滤器中时,将所述当前测试数据请求发送至请求的通信接口;
获取所述通信接口基于所述当前测试数据请求生成的业务数据,并将生成的业务数据存储至业务数据表中。
常规测试的测试数据请求至具体的通信接口时,其对应的业务数据也存储在该通信接口涉及的业务数据表中。与性能压力测试不同的是,常规测试对应的业务数据无需存储唯一标识符。可以理解的,正常时间的业务数据也会存储在该业务数据表中。
进一步的,上述删除查询到的所述业务数据的步骤之后还包括如下步骤:
删除所述压测请求数据表中的数据。
业务数据表中的脏数据删除后,压测请求数据表中的记录就没有保存意义,需要清除压测请求数据表中的所有记录,以释放内存,便于后续性能压力测试的进行。
本实施例中,在发起性能压力测试时,事先把性能压力测试的数据标识如(单号)放入到布隆过滤器中,服务端收到测试数据请求时,根据数据标识是否在布隆过滤器中来判断是否是性能压力测试请求,如果是性能压力测试请求,则生成一个唯一标识符,保存在压测请求数据表A中。服务端事先建立一张压测请求数据表,用来保存性能压测请求的唯一标识符。性能压力测试请求具体的通信接口时,在实际的压测的通信接口中涉及的业务数据中,除了保存自身业务处理的业务数据,还要额外保存前面生成的唯一标识符,这样就把本次性能压力测试请求的记录跟实际业务处理的业务表中业务数据关联起来。性能压测结束后,所有的性能压力测试请求都可以跟实际业务表的数据关联起来。建立定时任务,为了减少对测试环境的影响,每天预设时间点扫描压测请求数据表中的结果,扫描到结果后,根据压测请求数据表中所有的唯一标识符查询业务数据表中的记录,业务数据表中查到记录后,就把对应的记录删除掉,从而达到及时清理脏数据的目的。并且,需要说明的是,压测请求数据表只保存了性能压测请求的记录,因此不会对实际压测接口的业务数据造成任何影响。
进一步的,如图3所示,在本发明的另一实施例中,生成唯一标识符的步骤之前还包括:
步骤S21,判断请求的通信接口是否在预设的白名单中,若否,执行生成唯一标识符的步骤。
在进行业务数据表的脏数据清理时,通常会影响通信端口测试的正常进行,甚至需要中断通道端口的测试。并且,在实际应用时,并非每个通信接口的业务数据表都需要进行脏数据的处理,例如有的通信接口测试涉及的性能压力测试较少,或者有些重要的通信接口,其在进行测试时需保证测试连续、正常进行,针对这些通信接口则不适宜进行脏数据的处理,因此,也无需生成唯一标识符。
为了解决这一问题,可预先建立一白名单,将不需要进行脏数据处理的通信接口添加至预设的报名单中,具体实施时,需要将通信端口的端口标识存储在该白名单中。当判断到该测试数据请求为性能压力测试请求时,将该测试数据请求的通信端口的端口标识与该白名单中的记录的各个端口标识进行比对,若该请求的通信端口的标识在该白名单中,则按照常规的测试请求进行;若该请求的通信端口的标识不在该白名单中,则执行生成唯一标识符的步骤。
本实施例中,不仅可以实现自动清除性能压测造成的脏数据,减少对常规测试的影响,而且,如果某个压测接口的数据不需要清除,也可以配置白名单的形式,单独配置不需要清除数据的接口。
本实施例提供的压测数据过滤方法,可以通过配置白名单的形式,对不需要清除压力测试数据进行单独配置,新增不需要清除压测数据的接口时,通过设置白名单的方式,快速方便灵活。
进一步的,如图4所示,在本发明的又一实施例中,判断所述当前测试数据请求的数据标识是否存储在布隆过滤器中的步骤之前还包括:
步骤S31,获取测试过程中当前测试时间段内性能测试数据请求的数据标识,所述测试过程根据预设的时间划分为多个测试时间段;
步骤S32,根据当前测试时间段内获取的数据标识建立布隆过滤器。
布隆过滤器可以有效的判断出当前测试请求是否为性能压力测试请求,由于布隆过滤器本身的特性不支持删除操作,事先放入至布隆过滤器中的数据标识无法删除。因此,大量的数据标识放入布隆过滤器中,降低了布隆过滤器空间效率和查询效率。
为了提高布隆过滤器的数据筛选效率,在整个测试阶段,可以每间隔一定时间段建立一个布隆过滤器,定期定期更换布隆过滤器,保证布隆过滤器的工作效率。
可以理解的,该实施例中,当完成当前测试时间段内的脏数据的清理后,则进入下一测试时间段,获取下一测试阶段性能测试数据请求的数据标识,并返回执行步骤S32,即根据下一时间段内性能测试数据请求的数据标识建立布隆过滤器,并进行脏数据过滤。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
在一个可选的实施方式中,还可以:将上述压测数据过滤方法的结果上传至区块链中。
具体地,基于所述压测数据过滤方法的结果得到对应的摘要信息,具体来说,摘要信息由所述压测数据过滤方法的结果进行散列处理得到,比如利用sha256s算法处理得到。将摘要信息上传至区块链可保证其安全性和对用户的公正透明性。用户可以从区块链中下载得该摘要信息,以便查证所述压测数据过滤方法的结果是否被篡改。本示例所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
如图5所示,在一实施例中,提供一种压测数据过滤装置,包括:
第一判断模块10,用于接收当前测试数据请求,并判断所述当前测试数据请求的数据标识是否存储在布隆过滤器中;
标识符生成模块20,用于当所述当前测试数据请求的数据标识存储在布隆过滤器中时,确定所述当前测试数据请求为性能压力测试请求,并生成唯一标识符;
第一获取模块30,用于将所述当前测试数据请求发送至请求的通信接口,并获取所述通信接口基于所述当前测试数据请求生成的业务数据;
第一存储模块40,用于将生成的业务数据和所述唯一标识符对应存储至业务数据表中;
第一删除模块50,用于定时根据所述唯一标识符查询所述业务数据表中对应的业务数据,并删除查询到的所述业务数据。
进一步的,上述压测数据过滤装置,还包括:
第二判断模块判断模块,用于判断请求的通信接口是否在预设的白名单中,若否,标识符生成模块执行生成唯一标识符的步骤。
进一步的,上述压测数据过滤装置,还包括:
第二获取模块,用于获取测试过程中当前测试时间段内性能测试数据请求的数据标识,所述测试过程根据预设的时间划分为多个测试时间段;
建立模块,用于根据当前测试时间段内获取的数据标识建立布隆过滤器。
进一步的,上述压测数据过滤装置,还包括:
第二存储模块,用于将所述唯一标识符存储在压测请求数据表中;
所述删除模块具体用于:
定时根据压测请求数据表中的各个所述唯一标识符查询业务数据表中对应的业务数据。
进一步的,上述压测数据过滤装置,还包括:
第二删除模块,用于删除所述压测请求数据表中的数据。
进一步的,上述压测数据过滤装置,还包括:
发送模块,用于当所述当前测试数据请求的数据标识未存储在所述布隆过滤器中时,将所述当前测试数据请求发送至请求的通信接口;
第三存储模块,用于获取所述通信接口基于所述当前测试数据请求生成的业务数据,并将生成的业务数据存储至业务数据表中。
本发明实施例所提供的压测数据过滤装置,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。
本发明实施例提供的压测数据过滤装置,可以自动定时的清理业务数据表性能压力测试造成的脏数据,及时清理业务数据表中无用的数据,以减少对常规测试的影响;并且,通过布隆过滤器来识别来是否是性能压力测试请求,隔离了对非性能压力测试请求的影响,保证了接口的非性能压力测试不受影响。
其中上述模块/单元中的“第一”和“第二”的意义仅在于将不同的模块/单元加以区分,并不用于限定哪个模块/单元的优先级更高或者其它的限定意义。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或模块的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或模块,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或模块,本申请中所出现的模块的划分,仅仅是一种逻辑上的划分,实际应用中实现时可以有另外的划分方式。
关于压测数据过滤装置的具体限定可以参见上文中对于压测数据过滤方法的限定,在此不再赘述。上述压测数据过滤装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图6所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部服务器通过网络连接通信。该计算机程序被处理器执行时以实现一种压测数据过滤方法。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述实施例中压测数据过滤方法的步骤,例如图2所示的步骤S11至步骤S16及该方法的其它扩展和相关步骤的延伸。或者,处理器执行计算机程序时实现上述实施例中压测数据过滤装置的各模块/单元的功能,例如图5所示模块10至模块50的功能。为避免重复,这里不再赘述。
所述处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器是所述计算机装置的控制中心,利用各种接口和线路连接整个计算机装置的各个部分。
所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现所述计算机装置的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、视频数据等)等。
所述存储器可以集成在所述处理器中,也可以与所述处理器分开设置。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述实施例中压测数据过滤方法的步骤,例如图2所示的步骤S11至步骤S16及该方法的其它扩展和相关步骤的延伸。或者,计算机程序被处理器执行时实现上述实施例中压测数据过滤装置的各模块/单元的功能,例如图5所示模块10至模块50的功能。为避免重复,这里不再赘述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
Claims (10)
1.一种压测数据过滤方法,其特征在于,包括步骤:
接收当前测试数据请求,并判断所述当前测试数据请求的数据标识是否存储在布隆过滤器中;
若是,确定所述当前测试数据请求为性能压力测试请求,并生成唯一标识符;
将所述当前测试数据请求发送至请求的通信接口,并获取所述通信接口基于所述当前测试数据请求生成的业务数据;
将生成的业务数据和所述唯一标识符对应存储至业务数据表中;
定时根据所述唯一标识符查询所述业务数据表中对应的业务数据,并删除查询到的所述业务数据。
2.如权利要求1所述的压测数据过滤方法,其特征在于,所述生成唯一标识符的步骤之前还包括:
判断请求的通信接口是否在预设的白名单中;
若否,执行生成唯一标识符的步骤。
3.如权利要求1所述的压测数据过滤方法,其特征在于,所述判断所述当前测试数据请求的数据标识是否存储在布隆过滤器中的步骤之前还包括:
获取测试过程中当前测试时间段内性能测试数据请求的数据标识,所述测试过程根据预设的时间划分为多个测试时间段;
根据当前测试时间段内获取的数据标识建立布隆过滤器。
4.如权利要求1所述的压测数据过滤方法,其特征在于,所述生成唯一标识符的步骤之后还包括:
将所述唯一标识符存储在压测请求数据表中;
所述定时根据所述唯一标识符查询所述业务数据表中对应的业务数据的步骤包括:
定时根据压测请求数据表中的各个所述唯一标识符查询业务数据表中对应的业务数据。
5.如权利要求4所述的压测数据过滤方法,其特征在于,所述删除查询到的所述业务数据的步骤之后还包括:
删除所述压测请求数据表中的数据。
6.如权利要求1所述的压测数据过滤方法,其特征在于,判断所述当前测试数据请求的数据标识是否存储在布隆过滤器中的步骤之后还包括:
当所述当前测试数据请求的数据标识未存储在所述布隆过滤器中时,将所述当前测试数据请求发送至请求的通信接口;
获取所述通信接口基于所述当前测试数据请求生成的业务数据,并将生成的业务数据存储至业务数据表中。
7.一种压测数据过滤装置,其特征在于,包括:
第一判断模块,用于接收当前测试数据请求,并判断所述当前测试数据请求的数据标识是否存储在布隆过滤器中;
标识符生成模块,用于当所述当前测试数据请求的数据标识存储在布隆过滤器中时,确定所述当前测试数据请求为性能压力测试请求,并生成唯一标识符;
第一获取模块,用于将所述当前测试数据请求发送至请求的通信接口,并获取所述通信接口基于所述当前测试数据请求生成的业务数据;
第一存储模块,用于将生成的业务数据和所述唯一标识符对应存储至业务数据表中;
第一删除模块,用于定时根据所述唯一标识符查询所述业务数据表中对应的业务数据,并删除查询到的所述业务数据。
8.如权利要求7所述的压测数据过滤装置,其特征在于,还包括:
第二判断模块判断模块,用于判断请求的通信接口是否在预设的白名单中,若否,标识符生成模块执行生成唯一标识符的步骤。
9.一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至6中任一项所述压测数据过滤方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6中任一项所述压测数据过滤方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111534954.7A CN114238052A (zh) | 2021-12-15 | 2021-12-15 | 压测数据过滤方法、装置、存储介质及计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111534954.7A CN114238052A (zh) | 2021-12-15 | 2021-12-15 | 压测数据过滤方法、装置、存储介质及计算机设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114238052A true CN114238052A (zh) | 2022-03-25 |
Family
ID=80756377
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111534954.7A Pending CN114238052A (zh) | 2021-12-15 | 2021-12-15 | 压测数据过滤方法、装置、存储介质及计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114238052A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116781591A (zh) * | 2023-08-23 | 2023-09-19 | 国网信息通信产业集团有限公司 | 一种基于流量染色和透传技术的压力测试系统、压测终端及存储介质 |
-
2021
- 2021-12-15 CN CN202111534954.7A patent/CN114238052A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116781591A (zh) * | 2023-08-23 | 2023-09-19 | 国网信息通信产业集团有限公司 | 一种基于流量染色和透传技术的压力测试系统、压测终端及存储介质 |
CN116781591B (zh) * | 2023-08-23 | 2024-01-02 | 国网信息通信产业集团有限公司 | 一种基于流量染色和透传技术的压力测试系统、压测终端及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110033244B (zh) | 基于区块链的智能合约执行方法及装置和电子设备 | |
CN108897638B (zh) | 数据备份方法、装置、计算机设备和存储介质 | |
CN111026767B (zh) | 区块链的数据存储方法、装置及硬件设备 | |
CN110266763B (zh) | 跨网段互连的区块链网络实现方法、系统及存储介质 | |
CN110555041A (zh) | 数据处理方法、装置、计算机设备和存储介质 | |
CN110597918A (zh) | 一种账户管理方法、装置及计算机可读存储介质 | |
CN111475376A (zh) | 处理测试数据的方法、装置、计算机设备和存储介质 | |
CN110990415A (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN114238052A (zh) | 压测数据过滤方法、装置、存储介质及计算机设备 | |
CN112527835A (zh) | 基于缓存的认证请求处理方法、装置及相关设备 | |
CN114064780A (zh) | 会话信息的处理方法、系统、装置、存储介质及电子设备 | |
CN110597820A (zh) | 基于区块链的信息处理方法、装置、存储介质和设备 | |
WO2024139739A1 (zh) | 一种处理跨链请求的方法及装置 | |
CN113691631B (zh) | 一种数据清理的方法、装置及电子设备 | |
CN104679794A (zh) | 数据差异分析方法及装置 | |
CN113742681B (zh) | 一种账户管理方法、装置、计算机设备和存储介质 | |
CN115391703A (zh) | 一种界面信息处理方法及装置 | |
CN112583606B (zh) | 安全校验方法及服务器、终端、存储介质 | |
CN114301715A (zh) | 联盟链数据安全审计方法、装置、计算机设备及存储介质 | |
CN110569231B (zh) | 数据迁移方法、装置、设备和介质 | |
CN113760519B (zh) | 分布式事务处理方法、装置、系统和电子设备 | |
CN114185920A (zh) | 日志数据处理方法、装置、计算机设备和存储介质 | |
CN114124524A (zh) | 一种云平台权限设置方法、装置、终端设备及存储介质 | |
CN114157662A (zh) | 一种云平台参数适配方法、装置、终端设备及储存介质 | |
CN112398849B (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 |