CN111858703B - 一种benchmarkSQL性能测试数据统计方法及装置 - Google Patents
一种benchmarkSQL性能测试数据统计方法及装置 Download PDFInfo
- Publication number
- CN111858703B CN111858703B CN202010601846.6A CN202010601846A CN111858703B CN 111858703 B CN111858703 B CN 111858703B CN 202010601846 A CN202010601846 A CN 202010601846A CN 111858703 B CN111858703 B CN 111858703B
- Authority
- CN
- China
- Prior art keywords
- integer
- variable
- time data
- data
- array
- 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.)
- Active
Links
- 238000011056 performance test Methods 0.000 title claims abstract description 31
- 238000000034 method Methods 0.000 title claims description 18
- 238000012360 testing method Methods 0.000 claims abstract description 179
- 238000007619 statistical method Methods 0.000 claims abstract description 12
- 238000012545 processing Methods 0.000 claims description 8
- 238000003491 array Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Classifications
-
- 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/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2462—Approximate or statistical queries
-
- 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/217—Database tuning
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Probability & Statistics with Applications (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Fuzzy Systems (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明提出了一种benchmarkSQL性能测试数据统计方法,包括:逐行获取性能测试明细数据;对时间数据按秒进行取整处理;创建第一整数数组A、第二整数数组B、第三整数数组C以及第一整数变量X、第二整数变量Y、第三整数变量Z;将不同时间数据以及对应的测试数据存储至第一整数数组A、第二整数数组B、第三整数数组C,并输出到统计文件中,本发明还提出了一种benchmarkSQL性能测试数据统计装置,有效解决由于现有测试数据统计造成耗时、内存占用内存大的问题,有效的提高了benchmarkSQL性能测试数据的高效便利统计。
Description
技术领域
本发明涉及数据统计领域,尤其是涉及一种benchmarkSQL性能测试数据统计方法及装置。
背景技术
TPCC是TPC(事务处理性能委员会:Transaction Processing PerformanceCouncil)专门针对联机交易处理系统(OLTP系统)制定的规范。
目前BenchmarkSQL(是基于标准TPCC的开源的、经典测试工具,内嵌了TPCC测试脚本)在对数据库进行性能测试时,先将测试结果的明细数据保存到文件中,然后通过R语言将明细数据进行排序,生成折线图表以图表的方式进行展示。
benchmarkSQL的统计方法一方面存在折现图表对数据展示不够详细的问题,另一方面统计中使用数组,当测试结果较多时,统计花费的时间以及占用的内存都将大大增加,不利于benchmarkSQL性能测试数据的高效便利地统计。
发明内容
本发明为了解决现有技术中存在的问题,创新提出了一种benchmarkSQL性能测试数据统计方法及装置,有效解决由于现有测试数据统计造成耗时、内存占用内存大的问题,有效的提高了benchmarkSQL性能测试数据的高效便利统计。
本发明第一方面提供了一种benchmarkSQL性能测试数据统计方法,包括:
逐行获取性能测试明细数据;所述明细数据包括时间数据、测试数据,测试数据还包括重要测试数据,其中,重要测试数据为用户根据需求自主选择的测试数据;
对时间数据按秒进行取整处理;
创建第一整数数组A、第二整数数组B、第三整数数组C以及第一整数变量X、第二整数变量Y、第三整数变量Z;其中,第一整数数组A用于存储记录明细数据中的时间数据,第二整数数组B用于存储记录明细数据中的重要测试数据,第三整数数组C用于存储记录全部测试数据;第一整数变量X为最小时间变量,用于记录存储准备输出到统计文件中的测试数据的变量序号;第二整数变量Y用于存储记录当前读取的时间数据,第三整数变量Z用于存储记录当前读取的测试数据是否是重要测试数据;
根据第二整数变量Y中的当前读取的时间数据与第一整数数组A中的与当前读取的时间数据差值最小的两个时间数据是否相同、第一整数数组A中是否存在空闲变量、第二整数变量Y中当前时间数据与第一整数数组A中与当前时间数据最接近的时间数据的差值,将不同时间数据以及对应的测试数据存储至第一整数数组A、第二整数数组B、第三整数数组C,并输出到统计文件中。
可选地,第一整数数组A、第二整数数组B、第三整数数组C均包括N个变量,其中,N为正整数。
可选地,所述第一整数变量X取值范围为0~(N-1)的整数。
进一步地,根据第二整数变量Y中的当前读取的时间数据与第一整数数组A中的与当前读取的时间数据差值最小的两个时间数据是否相同、第一整数数组A中是否存在空闲变量、第二整数变量Y中当前时间数据与第一整数数组A中与当前时间数据最接近的时间数据的差值,将不同时间数据以及对应的测试数据存储至第一整数数组A、第二整数数组B、第三整数数组C,并输出到统计文件中具体包括:
判断第二整数变量Y中的当前读取的时间数据与第一整数数组A中的与当前读取的时间数据差值最小的两个时间数据是否相同,如果相同,将当前读取的时间数据以及对应的测试数据同步到时间相同的第一整数数组A、第三整数数组C和/或第二整数数组B;如果不同,将当前读取的时间数据以及对应的测试数据存储到第一整数数组A、第三整数数组C和/或第二整数数组B的当前可用的最小空闲变量中;
判断第一整数数组A中是否存在空闲变量,如果存在,将第一时间变量设为1,将第二整数变量Y中的时间数据存储至第一整数数组A中的当前可用的最小空闲变量中,第三整数数组C存储第二整数变量Y中时间数据对应的测试数据;
如果不存在,判断第二整数变量Y中当前时间数据与第一整数数组A中与当前时间数据最接近的时间数据的差值,如果差值等于1,将第一整数变量X对应的测试数据A[X]、B[X]、C[X]输出到统计文件中,将第二整数变量Y中的时间数据存储至第一整数数组A中的输出到统计文件中的第一整数变量X中;如果差值为2,将第一整数变量X对应的测试数据A[X]、B[X]、C[X]以及与第一整数变量X序号相差为1的变量X+1对应的测试数据A[X+1]、B[X+1]、C[X+1]均输出到统计文件中,将第二整数变量Y中的时间数据存储至第一整数数组A中输出到统计文件中的与第一整数变量X序号相差为1的变量X+1中;如果差值为-1,将第二整数变量Y中的时间数据存储至第一整数数组A中与第一整数变量X序号相差为-2的变量X-2中。
进一步地,如果差值为2,将第一整数变量X对应的测试数据A[X]、B[X]、C[X]与第一整数变量X序号相差为1的变量X+1对应的测试数据A[X+1]、B[X+1]、C[X+1]均输出到统计文件中,将第二整数变量Y中的时间数据存储至第一整数数组A中输出到统计文件中的与第一整数变量X序号相差为1的变量X+1中具体包括:
如果第一整数变量X小于N-2,将第一整数变量X对应的测试数据A[X]、B[X]、C[X]以及与第一整数变量X序号相差为1的变量对应的测试数据A[X+1]、B[X+1]、C[X+1]均输出到统计文件中,将第二整数变量Y中的时间数据存储至第一整数数组A中输出到统计文件中的与第一整数变量X序号相差为1的变量X+1中;第一整数变量X=X+2;
如果第一整数变量X等于N-1,将第一整数变量X对应的测试数据A[N-1]、B[N-1]、C[N-1]以及与第一整数变量X序号相差为1的变量对应的测试数据A[0]、B[0]、C[0]输出到统计文件中;将第二整数变量Y中的时间数据存储至第一整数数组A中输出到统计文件中的与第一整数变量X序号相差为1的变量0中;X设为1;
如果第一整数变量X等于N-2,将第一整数变量X对应的测试数据A[N-2]、B[N-2]、C[N-2]以及与第一整数变量X序号相差为1的变量对应的测试数据A[N-1]、B[N-1]、C[N-1]输出到统计文件中;将第二整数变量Y中的时间数据存储至第一整数数组A中输出到统计文件中的与第一整数变量X序号相差为1的变量N-1中;X设为0。
可选地,如果差值为-1,将第二整数变量Y中的时间数据存储至第一整数数组A中与第一整数变量X序号相差为-2的变量X-2中具体包括:
如果第一整数变量X大于1,将第二整数变量Y中的时间数据存储至第一整数数组A中与第一整数变量X序号相差为-2的变量X-2中;
如果第一整数变量X等于1,将第二整数变量Y中的时间数据存储至第一整数数组A中与第一整数变量X序号相差为-2的变量N-1中;
如果第一整数变量X等于0,将第二整数变量Y中的时间数据存储至第一整数数组A中与第一整数变量X序号相差为-2的变量N-2中。
可选地,所述N的取值范围为5-10。
本发明第二方面提供了一种benchmarkSQL性能测试数据统计装置,包括:
获取模块,逐行获取性能测试明细数据;所述明细数据包括时间数据、测试数据,测试数据还包括重要测试数据,其中,重要测试数据为用户根据需求自主选择的测试数据;
处理模块,对时间数据按秒进行取整处理;
创建模块,创建第一整数数组A、第二整数数组B、第三整数数组C以及第一整数变量X、第二整数变量Y、第三整数变量Z;其中,第一整数数组A用于存储记录明细数据中的时间数据,第二整数数组B用于存储记录明细数据中的重要测试数据,第三整数数组C用于存储记录全部测试数据;第一整数变量X为最小时间变量,用于记录存储准备输出到统计文件中的测试数据的变量序号;第二整数变量Y用于存储记录当前读取的时间数据,第三整数变量Z用于存储记录当前读取的测试数据是否是重要测试数据;
存储输出模块,根据第二整数变量Y中的当前读取的时间数据与第一整数数组A中的与当前读取的时间数据差值最小的两个时间数据是否相同、第一整数数组A中是否存在空闲变量、第二整数变量Y中当前时间数据与第一整数数组A中与当前时间数据最接近的时间数据的差值,将不同时间数据以及对应的测试数据存储至第一整数数组A、第二整数数组B、第三整数数组C,并输出到统计文件中。
可选地,存储输出模块中具体包括:
第一判断子模块,判断第二整数变量Y中的当前读取的时间数据与第一整数数组A中的与当前读取的时间数据差值最小的两个时间数据是否相同,如果相同,将当前读取的时间数据以及对应的测试数据同步到时间相同的第一整数数组A、第三整数数组C和/或第二整数数组B;如果不同,将当前读取的时间数据以及对应的测试数据存储到第一整数数组A、第三整数数组C和/或第二整数数组B的当前可用的最小空闲变量中;
第二判断子模块,判断第一整数数组A中是否存在空闲变量,如果存在,将第一时间变量设为1,将第二整数变量Y中的时间数据存储至第一整数数组A中的当前可用的最小空闲变量中,第三整数数组C存储第二整数变量Y中时间数据对应的测试数据;
第三判断子模块,如果不存在,判断第二整数变量Y中当前时间数据与第一整数数组A中与当前时间数据最接近的时间数据的差值,如果差值等于1,将第一整数变量X对应的测试数据A[X]、B[X]、C[X]输出到统计文件中,将第二整数变量Y中的时间数据存储至第一整数数组A中的输出到统计文件中的第一整数变量X中;如果差值为2,将第一整数变量X对应的测试数据A[X]、B[X]、C[X]以及与第一整数变量X序号相差为1的变量X+1对应的测试数据A[X+1]、B[X+1]、C[X+1]均输出到统计文件中,将第二整数变量Y中的时间数据存储至第一整数数组A中输出到统计文件中的与第一整数变量X序号相差为1的变量X+1中;如果差值为-1,将第二整数变量Y中的时间数据存储至第一整数数组A中与第一整数变量X序号相差为-2的变量X-2中。
本发明采用的技术方案包括以下技术效果:
1、本发明有效解决由于现有测试数据统计造成耗时、内存占用内存大的问题,有效的提高了benchmarkSQL性能测试数据的高效便利统计。
2、本发明技术方案仅将当前的时间数据与第一整数数组A中的与当前读取的时间数据差值最小的两个时间数据进行对比,不仅提高了对比统计效率,而且对于统计结果的准确率影响也较小;本发明技术方案通过3个数组(每个数组N个变量)以及3个整数变量即可实现,降低空间复杂度(空间复杂度为数组数量*数组中变量数目N+整数变量),降低存储空间。
3、本发明技术方案可以提供按时间排序的、可阅读的数据,方便对测试结果进行更为直观的统计分析。
应当理解的是以上的一般描述以及后文的细节描述仅是示例性和解释性的,并不能限制本发明。
附图说明
为了更清楚说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单介绍,显而易见的,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明方案中实施例一方法的流程示意图;
图2为本发明方案中实施例一方法中步骤S4的流程示意图;
图3为本发明方案中实施例一方法中步骤S48的流程示意图;
图4为本发明方案中实施例一方法中步骤S49的流程示意图;
图5为本发明方案中实施例二装置的结构示意图;
图6为本发明方案中实施例二装置存储输出模块104的结构示意图。
具体实施方式
为能清楚说明本方案的技术特点,下面通过具体实施方式,并结合其附图,对本发明进行详细阐述。下文的公开提供了许多不同的实施例或例子用来实现本发明的不同结构。为了简化本发明的公开,下文中对特定例子的部件和设置进行描述。此外,本发明可以在不同例子中重复参考数字和/或字母。这种重复是为了简化和清楚的目的,其本身不指示所讨论各种实施例和/或设置之间的关系。应当注意,在附图中所图示的部件不一定按比例绘制。本发明省略了对公知组件和处理技术及工艺的描述以避免不必要地限制本发明。
实施例一
如图1所示,本发明提供了一种benchmarkSQL性能测试数据统计方法,包括:
S1,逐行获取性能测试明细数据;所述明细数据包括时间数据、测试数据,测试数据还包括重要测试数据,其中,重要测试数据为用户根据需求自主选择的测试数据;
S2,对时间数据按秒进行取整处理;
S3,创建第一整数数组A、第二整数数组B、第三整数数组C以及第一整数变量X、第二整数变量Y、第三整数变量Z;其中,第一整数数组A用于存储记录明细数据中的时间数据,第二整数数组B用于存储记录明细数据中的重要测试数据,第三整数数组C用于存储记录全部测试数据;第一整数变量X为最小时间变量,用于记录存储准备输出到统计文件中的测试数据的变量序号;第二整数变量Y用于存储记录当前读取的时间数据,第三整数变量Z用于存储记录当前读取的测试数据是否是重要测试数据;
S4,根据第二整数变量Y中的当前读取的时间数据与第一整数数组A中的与当前读取的时间数据差值最小的两个时间数据是否相同、第一整数数组A中是否存在空闲变量、第二整数变量Y中当前时间数据与第一整数数组A中与当前时间数据最接近的时间数据的差值,将不同时间数据以及对应的测试数据存储至第一整数数组A、第二整数数组B、第三整数数组C,并输出到统计文件中。
在步骤S1中,由于测试是在多线程并发的情况下进行的,因此明细数据并不是严格的按照时间进行排序,但是所有线程所做操作基本一致,都是围绕测试表进行的,因此,同一测试表中相邻明细数据相差不会超过3秒。将明细数据包括时间数据、测试数据,测试数据还包括重要测试数据,其中,重要测试数据为用户根据需求自主选择的需要特别关注的测试数据。
在步骤S2中,对时间数据按秒进行取整处理具体是:如果时间数据换算为秒,并对秒级数据采用进一法进行取整处理。例如,换算后时间为7s,则通过进一法取整处理后为7s;如果换算时间为7.2s,则通过进一法取整处理后为8s。
在步骤S3中,第一整数数组A、第二整数数组B、第三整数数组C均包括N个变量,其中,N为正整数。第一整数变量X取值范围为0~(N-1)的整数;具体地,N的取值范围为5-10,也可以根据实际情况进行灵活选择,本发明在此不做限制。第一整数变量X为最小时间变量,用于记录存储准备输出到统计文件中的测试数据的变量序号,即记录数组中第几个变量中记录的数据是准备输出到统计文件中、从数组中剔除的数据。
如图2所示,步骤S4中具体包括:
S41,判断第二整数变量Y中的当前读取的时间数据与第一整数数组A中的与当前读取的时间数据差值最小的两个时间数据是否相同,如果判断结果为是,则执行步骤S42,如果判断结果为否,则执行步骤S43;
S42,将当前读取的时间数据以及对应的测试数据同步到时间相同的第一整数数组A、第三整数数组C和/或第二整数数组B;
S43,将当前读取的时间数据以及对应的测试数据存储到第一整数数组A、第三整数数组C和/或第二整数数组B的当前可用的最小空闲变量中;
S44,判断第一整数数组A中是否存在空闲变量,如果判断结果为是,则执行步骤S45,如果判断结果为否,则执行步骤S46;
S45,将第一时间变量设为1,将第二整数变量Y中的时间数据存储至第一整数数组A中的当前可用的最小空闲变量中,第三整数数组C存储第二整数变量Y中时间数据对应的测试数据;
S46,判断第二整数变量Y中当前时间数据与第一整数数组A中与当前时间数据最接近的时间数据的差值情况;
S47,如果差值等于1,将第一整数变量X对应的测试数据A[X]、B[X]、C[X]输出到统计文件中,将第二整数变量Y中的时间数据存储至第一整数数组A中的输出到统计文件中的第一整数变量X中;
S48,如果差值为2,将第一整数变量X对应的测试数据A[X]、B[X]、C[X]以及与第一整数变量X序号相差为1的变量X+1对应的测试数据A[X+1]、B[X+1]、C[X+1]均输出到统计文件中,将第二整数变量Y中的时间数据存储至第一整数数组A中输出到统计文件中的与第一整数变量X序号相差为1的变量X+1中;
S49,如果差值为-1,将第二整数变量Y中的时间数据存储至第一整数数组A中与第一整数变量X序号相差为-2的变量X-2中。
在步骤S41-S43中,以N=10为例进行说明,如果第一整数变量X大于1,判断第二整数变量的时间数据与第一整数数组A中的与当前读取的时间数据差值最小的两个时间数据A[X-1]和A[X-2]是否相同;如果相同,第三整数数组中C[X-1]或C[X-2]数据+1;如果第三整数变量Z中的数据是重点测试数据,则第二整数数组B[X-1]或B[X-2]数据+1;如果不同,第二整数变量的当前时间数据存储至第一整数数组A的当前可用的最小空闲变量中,对应的测试数据同步至中第三整数数组C当前可用的最小空闲变量中,和/或,如果第三整数变量Z中的数据是重点测试数据,则第二整数数组当前可用的最小空闲变量中的数据+1;
如果第一整数变量X等于1,判断第二整数变量的时间数据与第一整数数组A中的与当前读取的时间数据差值最小的两个时间数据A[0]和A[9]是否相同;如果相同,第三整数数组中C[0]或C[9]数据+1;如果第三整数变量Z的数据是新订单数据则B[0]或B[9]数据+1。如果不同,第二整数变量的当前时间数据存储至第一整数数组A的当前可用的最小空闲变量中,对应的测试数据同步至中第三整数数组C当前可用的最小空闲变量中,和/或,如果第三整数变量Z中的数据是重点测试数据,则第二整数数组当前可用的最小空闲变量中的数据+1;
如果第一整数变量X等于0,判断第二整数变量的时间数据与第一整数数组A中的与当前读取的时间数据差值最小的两个时间数据A[8]和A[9]是否相同;如果相同,第三整数数组中C[8]或C[9]数据+1;如果第三整数变量Z的数据是新订单数据则B[8]或B[9]数据+1。如果不同,第二整数变量的当前时间数据存储至第一整数数组A的当前可用的最小空闲变量中,对应的测试数据同步至中第三整数数组C当前可用的最小空闲变量中,和/或,如果第三整数变量Z中的数据是重点测试数据,则第二整数数组当前可用的最小空闲变量中的数据+1。
在步骤S44中,判断条件既可以是第一整数数组A中是否存在空闲变量,也可以是第一整数数组A中统计到的时间数据已经达到N个。
在步骤S47中,以N为10举例说明,如果差值等于1,只需要输出并剔除一组时间数据即可,将第一整数变量X对应的测试数据A[X]、B[X]、C[X]输出到统计文件中,将第二整数变量Y中的时间数据存储至第一整数数组A中的输出到统计文件中的第一整数变量X中;C[X]改为1,如果第三整数变量Z中为重点测试数据,则第二整数数组B[X]设为1,如果第三整数变量Z中不是重点测试数据,则第二整数数组B[X]设为0。
进一步地,如图3所示,步骤S48具体是:
S481,如果第一整数变量X小于N-2,将第一整数变量X对应的测试数据A[X]、B[X]、C[X]以及与第一整数变量X序号相差为1的变量对应的测试数据A[X+1]、B[X+1]、C[X+1]均输出到统计文件中,将第二整数变量Y中的时间数据存储至第一整数数组A中输出到统计文件中的与第一整数变量X序号相差为1的变量X+1中;第一整数变量X=X+2;
S482,如果第一整数变量X等于N-1,将第一整数变量X对应的测试数据A[N-1]、B[N-1]、C[N-1]以及与第一整数变量X序号相差为1的变量对应的测试数据A[0]、B[0]、C[0]输出到统计文件中;将第二整数变量Y中的时间数据存储至第一整数数组A中输出到统计文件中的与第一整数变量X序号相差为1的变量0中;X设为1;
S483,如果第一整数变量X等于N-2,将第一整数变量X对应的测试数据A[N-2]、B[N-2]、C[N-2]以及与第一整数变量X序号相差为1的变量对应的测试数据A[N-1]、B[N-1]、C[N-1]输出到统计文件中;将第二整数变量Y中的时间数据存储至第一整数数组A中输出到统计文件中的与第一整数变量X序号相差为1的变量N-1中;X设为0。
在步骤S481-S483中,以N为10举例说明,如果第一整数变量X小于8,将第一整数变量X对应的测试数据A[X]、B[X]、C[X]以及与第一整数变量X序号相差为1的变量对应的测试数据A[X+1]、B[X+1]、C[X+1]均输出到统计文件中,将第二整数变量Y中的时间数据存储至第一整数数组A中输出到统计文件中的与第一整数变量X序号相差为1的变量X+1中;C[X+1]改为1;如果第三整数变量Z中为重点测试数据,则第二整数数组B[X]设为1,如果第三整数变量Z中不是重点测试数据,则第二整数数组B[X]设为0;第一整数变量X=X+2;
如果第一整数变量X等于9,将第一整数变量X对应的测试数据A[9]、B[9]、C[9]以及与第一整数变量X序号相差为1的变量对应的测试数据A[0]、B[0]、C[0]输出到统计文件中;将第二整数变量Y中的时间数据存储至第一整数数组A中输出到统计文件中的与第一整数变量X序号相差为1的变量0中;C[0]改为1;如果第三整数变量Z中为重点测试数据,则第二整数数组B[0]设为1,如果第三整数变量Z中不是重点测试数据,则第二整数数组B[0]设为0;X设为1;
如果第一整数变量X等于8,将第一整数变量X对应的测试数据A[8]、B[8]、C[8]以及与第一整数变量X序号相差为1的变量对应的测试数据A[9]、B[9]、C[9]输出到统计文件中;将第二整数变量Y中的时间数据存储至第一整数数组A中输出到统计文件中的与第一整数变量X序号相差为1的变量9中;C[9]改为1;如果第三整数变量Z中为重点测试数据,则第二整数数组B[9]设为1,如果第三整数变量Z中不是重点测试数据,则第二整数数组B[9]设为0;X设为0。
进一步地,如图4所示,步骤S49具体是:
S491,如果第一整数变量X大于1,将第二整数变量Y中的时间数据存储至第一整数数组A中与第一整数变量X序号相差为-2的变量X-2中;
S492,如果第一整数变量X等于1,将第二整数变量Y中的时间数据存储至第一整数数组A中与第一整数变量X序号相差为-2的变量N-1中;
S493,如果第一整数变量X等于0,将第二整数变量Y中的时间数据存储至第一整数数组A中与第一整数变量X序号相差为-2的变量N-2中。
在步骤S491-S493中,以N为10为例进行说明,如果第一整数变量X大于1,将第二整数变量Y中的时间数据存储至第一整数数组A[X-2]中;C[X-2]改为1;如果第三整数变量Z中为重点测试数据,则第二整数数组B[X-2]设为1,如果第三整数变量Z中不是重点测试数据,则第二整数数组B[X-2]设为0。
如果第一整数变量X等于1,将第二整数变量Y中的时间数据存储至第一整数数组A[9]中;C[9]改为1;如果第三整数变量Z中为重点测试数据,则第二整数数组B[9]设为1,如果第三整数变量Z中不是重点测试数据,则第二整数数组B[9]设为0。
如果第一整数变量X等于0,将第二整数变量Y中的时间数据存储至第一整数数组A[8]中,C[8]改为1;如果第三整数变量Z中为重点测试数据,则第二整数数组B[8]设为1,如果第三整数变量Z中不是重点测试数据,则第二整数数组B[8]设为0。
需要说明的是,本发明技术方案中步骤可以通过程序编程实现,其实现思路于本发明技术方案步骤相对应,程序编程不仅可以使用C++、Java等语言实现,甚至可以通过Windows操作系统bat批处理或是Linux系统Shell实现,本发明在此不做限制。
本发明有效解决由于现有测试数据统计造成耗时、内存占用内存大的问题,有效的提高了benchmarkSQL性能测试数据的高效便利统计。
本发明技术方案仅将当前的时间数据与第一整数数组A中的与当前读取的时间数据差值最小的两个时间数据进行对比,不仅提高了对比统计效率,而且对于统计结果的准确率影响也较小;本发明技术方案通过3个数组(每个数组N个变量)以及3个整数变量即可实现,降低空间复杂度(空间复杂度为数组数量*数组中变量数目N+整数变量),降低存储空间。
本发明技术方案可以提供按时间排序的、可阅读的数据,方便对测试结果进行更为直观的统计分析。
实施例二
如图5所示,本发明技术方案还提供了一种benchmarkSQL性能测试数据统计装置,包括:
获取模块101,逐行获取性能测试明细数据;所述明细数据包括时间数据、测试数据,测试数据还包括重要测试数据,其中,重要测试数据为用户根据需求自主选择的测试数据;
处理模块102,对时间数据按秒进行取整处理;
创建模块103,创建第一整数数组A、第二整数数组B、第三整数数组C以及第一整数变量X、第二整数变量Y、第三整数变量Z;其中,第一整数数组A用于存储记录明细数据中的时间数据,第二整数数组B用于存储记录明细数据中的重要测试数据,第三整数数组C用于存储记录全部测试数据;第一整数变量X为最小时间变量,用于记录存储准备输出到统计文件中的测试数据的变量序号;第二整数变量Y用于存储记录当前读取的时间数据,第三整数变量Z用于存储记录当前读取的测试数据是否是重要测试数据;
存储输出模块104,根据第二整数变量Y中的当前读取的时间数据与第一整数数组A中的与当前读取的时间数据差值最小的两个时间数据是否相同、第一整数数组A中是否存在空闲变量、第二整数变量Y中当前时间数据与第一整数数组A中与当前时间数据最接近的时间数据的差值,将不同时间数据以及对应的测试数据存储至第一整数数组A、第二整数数组B、第三整数数组C,并输出到统计文件中。
进一步地,如图6所示,存储输出模块中具体包括:
第一判断子模块1041,判断第二整数变量Y中的当前读取的时间数据与第一整数数组A中的与当前读取的时间数据差值最小的两个时间数据是否相同,如果相同,将当前读取的时间数据以及对应的测试数据同步到时间相同的第一整数数组A、第三整数数组C和/或第二整数数组B;如果不同,将当前读取的时间数据以及对应的测试数据存储到第一整数数组A、第三整数数组C和/或第二整数数组B的当前可用的最小空闲变量中;
第二判断子模块1042,判断第一整数数组A中是否存在空闲变量,如果存在,将第一时间变量设为1,将第二整数变量Y中的时间数据存储至第一整数数组A中的当前可用的最小空闲变量中,第三整数数组C存储第二整数变量Y中时间数据对应的测试数据;
第三判断子模块1043,如果不存在,判断第二整数变量Y中当前时间数据与第一整数数组A中与当前时间数据最接近的时间数据的差值,如果差值等于1,将第一整数变量X对应的测试数据A[X]、B[X]、C[X]输出到统计文件中,将第二整数变量Y中的时间数据存储至第一整数数组A中的输出到统计文件中的第一整数变量X中;如果差值为2,将第一整数变量X对应的测试数据A[X]、B[X]、C[X]以及与第一整数变量X序号相差为1的变量X+1对应的测试数据A[X+1]、B[X+1]、C[X+1]均输出到统计文件中,将第二整数变量Y中的时间数据存储至第一整数数组A中输出到统计文件中的与第一整数变量X序号相差为1的变量X+1中;如果差值为-1,将第二整数变量Y中的时间数据存储至第一整数数组A中与第一整数变量X序号相差为-2的变量X-2中。
本发明有效解决由于现有测试数据统计造成耗时、内存占用内存大的问题,有效的提高了benchmarkSQL性能测试数据的高效便利统计。
本发明技术方案仅将当前的时间数据与第一整数数组A中的与当前读取的时间数据差值最小的两个时间数据进行对比,不仅提高了对比统计效率,而且对于统计结果的准确率影响也较小;本发明技术方案通过3个数组(每个数组N个变量)以及3个整数变量即可实现,降低空间复杂度(空间复杂度为数组数量*数组中变量数目N+整数变量),降低存储空间。
本发明技术方案可以提供按时间排序的、可阅读的数据,方便对测试结果进行更为直观的统计分析。
上述虽然结合附图对本发明的具体实施方式进行了描述,但并非对本发明保护范围的限制,所属领域技术人员应该明白,在本发明的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。
Claims (8)
1.一种benchmarkSQL性能测试数据统计方法,其特征是,包括:
逐行获取性能测试明细数据;所述明细数据包括时间数据、测试数据,测试数据还包括重要测试数据,其中,重要测试数据为用户根据需求自主选择的测试数据;
对时间数据按秒进行取整处理;
创建第一整数数组A、第二整数数组B、第三整数数组C以及第一整数变量X、第二整数变量Y、第三整数变量Z;其中,第一整数数组A用于存储记录明细数据中的时间数据,第二整数数组B用于存储记录明细数据中的重要测试数据,第三整数数组C用于存储记录全部测试数据;第一整数变量X为最小时间变量,用于记录存储准备输出到统计文件中的测试数据的变量序号;第二整数变量Y用于存储记录当前读取的时间数据,第三整数变量Z用于存储记录当前读取的测试数据是否是重要测试数据;
根据第二整数变量Y中的当前读取的时间数据与第一整数数组A中的与当前读取的时间数据差值最小的两个时间数据是否相同、第一整数数组A中是否存在空闲变量、第二整数变量Y中当前时间数据与第一整数数组A中与当前时间数据最接近的时间数据的差值,将不同时间数据以及对应的测试数据存储至第一整数数组A、第二整数数组B、第三整数数组C,并输出到统计文件中;其中,根据第二整数变量Y中的当前读取的时间数据与第一整数数组A中的与当前读取的时间数据差值最小的两个时间数据是否相同、第一整数数组A中是否存在空闲变量、第二整数变量Y中当前时间数据与第一整数数组A中与当前时间数据最接近的时间数据的差值,将不同时间数据以及对应的测试数据存储至第一整数数组A、第二整数数组B、第三整数数组C,并输出到统计文件中具体包括:
判断第二整数变量Y中的当前读取的时间数据与第一整数数组A中的与当前读取的时间数据差值最小的两个时间数据是否相同,如果相同,将当前读取的时间数据以及对应的测试数据同步到时间相同的第一整数数组A、第三整数数组C和/或第二整数数组B;如果不同,将当前读取的时间数据以及对应的测试数据存储到第一整数数组A、第三整数数组C和/或第二整数数组B的当前可用的最小空闲变量中;
判断第一整数数组A中是否存在空闲变量,如果存在,将第一时间变量设为1,将第二整数变量Y中的时间数据存储至第一整数数组A中的当前可用的最小空闲变量中,第三整数数组C存储第二整数变量Y中时间数据对应的测试数据;
如果不存在,判断第二整数变量Y中当前时间数据与第一整数数组A中与当前时间数据最接近的时间数据的差值,如果差值等于1,将第一整数变量X对应的测试数据A[X]、B[X]、C[X]输出到统计文件中,将第二整数变量Y中的时间数据存储至第一整数数组A中的输出到统计文件中的第一整数变量X中;如果差值为2,将第一整数变量X对应的测试数据A[X]、B[X]、C[X]以及与第一整数变量X序号相差为1的变量X+1对应的测试数据A[X+1]、B[X+1]、C[X+1]均输出到统计文件中,将第二整数变量Y中的时间数据存储至第一整数数组A中输出到统计文件中的与第一整数变量X序号相差为1的变量X+1中;如果差值为-1,将第二整数变量Y中的时间数据存储至第一整数数组A中与第一整数变量X序号相差为-2的变量X-2中。
2.根据权利要求1所述的benchmarkSQL性能测试数据统计方法,其特征是,对时间数据按秒进行取整处理具体是:如果时间数据换算为秒,并对秒级数据采用进一法进行取整处理。
3.根据权利要求1所述的benchmarkSQL性能测试数据统计方法,其特征是,第一整数数组A、第二整数数组B、第三整数数组C均包括N个变量,其中,N为正整数。
4.根据权利要求3所述的benchmarkSQL性能测试数据统计方法,其特征是,所述第一整数变量X取值范围为0~(N-1)的整数。
5.根据权利要求4所述的benchmarkSQL性能测试数据统计方法,其特征是,如果差值为2,将第一整数变量X对应的测试数据A[X]、B[X]、C[X]与第一整数变量X序号相差为1的变量X+1对应的测试数据A[X+1]、B[X+1]、C[X+1]均输出到统计文件中,将第二整数变量Y中的时间数据存储至第一整数数组A中输出到统计文件中的与第一整数变量X序号相差为1的变量X+1中具体包括:
如果第一整数变量X小于N-2,将第一整数变量X对应的测试数据A[X]、B[X]、C[X]以及与第一整数变量X序号相差为1的变量对应的测试数据A[X+1]、B[X+1]、C[X+1]均输出到统计文件中,将第二整数变量Y中的时间数据存储至第一整数数组A中输出到统计文件中的与第一整数变量X序号相差为1的变量X+1中;第一整数变量X=X+2;
如果第一整数变量X等于N-1,将第一整数变量X对应的测试数据A[N-1]、B[N-1]、C[N-1]以及与第一整数变量X序号相差为1的变量对应的测试数据A[0]、B[0]、C[0]输出到统计文件中;将第二整数变量Y中的时间数据存储至第一整数数组A中输出到统计文件中的与第一整数变量X序号相差为1的变量0中;X设为1;
如果第一整数变量X等于N-2,将第一整数变量X对应的测试数据A[N-2]、B[N-2]、C[N-2]以及与第一整数变量X序号相差为1的变量对应的测试数据A[N-1]、B[N-1]、C[N-1]输出到统计文件中;将第二整数变量Y中的时间数据存储至第一整数数组A中输出到统计文件中的与第一整数变量X序号相差为1的变量N-1中;X设为0。
6.根据权利要求4所述的benchmarkSQL性能测试数据统计方法,其特征是,如果差值为-1,将第二整数变量Y中的时间数据存储至第一整数数组A中与第一整数变量X序号相差为-2的变量X-2中具体包括:
如果第一整数变量X大于1,将第二整数变量Y中的时间数据存储至第一整数数组A中与第一整数变量X序号相差为-2的变量X-2中;
如果第一整数变量X等于1,将第二整数变量Y中的时间数据存储至第一整数数组A中与第一整数变量X序号相差为-2的变量N-1中;
如果第一整数变量X等于0,将第二整数变量Y中的时间数据存储至第一整数数组A中与第一整数变量X序号相差为-2的变量N-2中。
7.根据权利要求3-6任一所述的benchmarkSQL性能测试数据统计方法,其特征是,所述N的取值范围为5-10。
8.一种benchmarkSQL性能测试数据统计装置,其特征是,包括:
获取模块,逐行获取性能测试明细数据;所述明细数据包括时间数据、测试数据,测试数据还包括重要测试数据,其中,重要测试数据为用户根据需求自主选择的测试数据;
处理模块,对时间数据按秒进行取整处理;
创建模块,创建第一整数数组A、第二整数数组B、第三整数数组C以及第一整数变量X、第二整数变量Y、第三整数变量Z;其中,第一整数数组A用于存储记录明细数据中的时间数据,第二整数数组B用于存储记录明细数据中的重要测试数据,第三整数数组C用于存储记录全部测试数据;第一整数变量X为最小时间变量,用于记录存储准备输出到统计文件中的测试数据的变量序号;第二整数变量Y用于存储记录当前读取的时间数据,第三整数变量Z用于存储记录当前读取的测试数据是否是重要测试数据;
存储输出模块,根据第二整数变量Y中的当前读取的时间数据与第一整数数组A中的与当前读取的时间数据差值最小的两个时间数据是否相同、第一整数数组A中是否存在空闲变量、第二整数变量Y中当前时间数据与第一整数数组A中与当前时间数据最接近的时间数据的差值,将不同时间数据以及对应的测试数据存储至第一整数数组A、第二整数数组B、第三整数数组C,并输出到统计文件中;其中,存储输出模块中具体包括:
第一判断子模块,判断第二整数变量Y中的当前读取的时间数据与第一整数数组A中的与当前读取的时间数据差值最小的两个时间数据是否相同,如果相同,将当前读取的时间数据以及对应的测试数据同步到时间相同的第一整数数组A、第三整数数组C和/或第二整数数组B;如果不同,将当前读取的时间数据以及对应的测试数据存储到第一整数数组A、第三整数数组C和/或第二整数数组B的当前可用的最小空闲变量中;
第二判断子模块,判断第一整数数组A中是否存在空闲变量,如果存在,将第一时间变量设为1,将第二整数变量Y中的时间数据存储至第一整数数组A中的当前可用的最小空闲变量中,第三整数数组C存储第二整数变量Y中时间数据对应的测试数据;
第三判断子模块,如果不存在,判断第二整数变量Y中当前时间数据与第一整数数组A中与当前时间数据最接近的时间数据的差值,如果差值等于1,将第一整数变量X对应的测试数据A[X]、B[X]、C[X]输出到统计文件中,将第二整数变量Y中的时间数据存储至第一整数数组A中的输出到统计文件中的第一整数变量X中;如果差值为2,将第一整数变量X对应的测试数据A[X]、B[X]、C[X]以及与第一整数变量X序号相差为1的变量X+1对应的测试数据A[X+1]、B[X+1]、C[X+1]均输出到统计文件中,将第二整数变量Y中的时间数据存储至第一整数数组A中输出到统计文件中的与第一整数变量X序号相差为1的变量X+1中;如果差值为-1,将第二整数变量Y中的时间数据存储至第一整数数组A中与第一整数变量X序号相差为-2的变量X-2中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010601846.6A CN111858703B (zh) | 2020-06-29 | 2020-06-29 | 一种benchmarkSQL性能测试数据统计方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010601846.6A CN111858703B (zh) | 2020-06-29 | 2020-06-29 | 一种benchmarkSQL性能测试数据统计方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111858703A CN111858703A (zh) | 2020-10-30 |
CN111858703B true CN111858703B (zh) | 2022-06-14 |
Family
ID=72988653
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010601846.6A Active CN111858703B (zh) | 2020-06-29 | 2020-06-29 | 一种benchmarkSQL性能测试数据统计方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111858703B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114924562B (zh) * | 2022-05-17 | 2023-07-07 | 厦门金龙联合汽车工业有限公司 | 一种用于车辆编队的轨迹目标点的计算方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2003051076A1 (en) * | 2001-12-10 | 2003-06-19 | Qualcomm, Incorporated | Method and apparatus for testing traffic and auxiliary channels in a wireless data communication system |
CN104679856A (zh) * | 2015-02-15 | 2015-06-03 | 北京空间飞行器总体设计部 | 一种基于组合规则约束的航天器测试数据提取方法 |
CN105306151A (zh) * | 2014-07-04 | 2016-02-03 | 京信通信系统(中国)有限公司 | 一种射频功放的测试数据管理方法及系统 |
CN107643983A (zh) * | 2017-09-22 | 2018-01-30 | 北京蓝海讯通科技股份有限公司 | 一种测试数据处理方法及系统 |
CN111177222A (zh) * | 2019-12-26 | 2020-05-19 | 腾讯云计算(北京)有限责任公司 | 模型测试方法、装置及计算设备、存储介质 |
-
2020
- 2020-06-29 CN CN202010601846.6A patent/CN111858703B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2003051076A1 (en) * | 2001-12-10 | 2003-06-19 | Qualcomm, Incorporated | Method and apparatus for testing traffic and auxiliary channels in a wireless data communication system |
CN105306151A (zh) * | 2014-07-04 | 2016-02-03 | 京信通信系统(中国)有限公司 | 一种射频功放的测试数据管理方法及系统 |
CN104679856A (zh) * | 2015-02-15 | 2015-06-03 | 北京空间飞行器总体设计部 | 一种基于组合规则约束的航天器测试数据提取方法 |
CN107643983A (zh) * | 2017-09-22 | 2018-01-30 | 北京蓝海讯通科技股份有限公司 | 一种测试数据处理方法及系统 |
CN111177222A (zh) * | 2019-12-26 | 2020-05-19 | 腾讯云计算(北京)有限责任公司 | 模型测试方法、装置及计算设备、存储介质 |
Non-Patent Citations (1)
Title |
---|
多路径覆盖测试数据生成适应度函数设计方法;伊丹丹等;《计算机工程与应用》;20120801(第22期);第79-83页 * |
Also Published As
Publication number | Publication date |
---|---|
CN111858703A (zh) | 2020-10-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9996594B2 (en) | Method, article and system for time dependent search | |
CN103150362B (zh) | 一种视频搜索方法及系统 | |
US10140285B2 (en) | System and method for generating phrase based categories of interactions | |
CN103559880B (zh) | 语音输入系统和方法 | |
CN104182548A (zh) | 网页更新处理方法及装置 | |
CN111858703B (zh) | 一种benchmarkSQL性能测试数据统计方法及装置 | |
CN111680085A (zh) | 数据处理任务分析方法、装置、电子设备和可读存储介质 | |
CN114116762A (zh) | 一种离线数据模糊搜索方法、装置、设备和介质 | |
CN112052154A (zh) | 一种测试用例的处理方法、装置 | |
CN115599973A (zh) | 一种用户人群标签筛分方法、系统、设备及存储介质 | |
CN115576834A (zh) | 支撑故障还原的软件测试复用方法、系统、终端及介质 | |
CN115544975A (zh) | 一种日志格式转换方法及设备 | |
CN114116811A (zh) | 日志处理方法、装置、设备及存储介质 | |
CN113312054A (zh) | 针对嵌入式软件架构的软件栈消耗分析方法及分析装置 | |
CN111752814B (zh) | 一种rmt数据批量处理方法和系统 | |
CN110780867A (zh) | 面向开发工具的图形化日志呈现方法 | |
CN114741434B (zh) | 一种海量es搜索数据的预统计方法及系统 | |
CN116187299B (zh) | 一种科技项目文本数据检定评价方法、系统及介质 | |
CN102479222B (zh) | 推荐字生成的方法和装置 | |
CN110209567B (zh) | 一种性能测试方法及装置 | |
CN107391666B (zh) | 一种复合索引键值的生成方法及装置 | |
CN111723067A (zh) | 一种非结构化数据文件解析方法及工具 | |
CN111597203A (zh) | 语句查询方法、装置、设备、介质 | |
CN116756485A (zh) | 一种化学反应数据清洗方法、装置及终端 | |
CN115203499A (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 | ||
GR01 | Patent grant |