CN113656297A - 一种tpc-w测试方法、装置以及系统 - Google Patents
一种tpc-w测试方法、装置以及系统 Download PDFInfo
- Publication number
- CN113656297A CN113656297A CN202110915939.0A CN202110915939A CN113656297A CN 113656297 A CN113656297 A CN 113656297A CN 202110915939 A CN202110915939 A CN 202110915939A CN 113656297 A CN113656297 A CN 113656297A
- Authority
- CN
- China
- Prior art keywords
- test
- tpc
- target database
- task
- user
- 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
- 238000012360 testing method Methods 0.000 title claims abstract description 450
- 238000004088 simulation Methods 0.000 claims abstract description 51
- 230000004044 response Effects 0.000 claims abstract description 29
- 238000004458 analytical method Methods 0.000 claims abstract description 7
- 230000003993 interaction Effects 0.000 claims description 41
- 238000000034 method Methods 0.000 claims description 38
- 238000012545 processing Methods 0.000 claims description 23
- 239000002253 acid Substances 0.000 claims description 14
- 238000003860 storage Methods 0.000 claims description 14
- 230000000977 initiatory effect Effects 0.000 claims description 10
- 238000001514 detection method Methods 0.000 claims description 7
- 238000002955 isolation Methods 0.000 claims description 7
- 238000012216 screening Methods 0.000 claims description 5
- 239000000284 extract Substances 0.000 claims 1
- 238000010998 test method Methods 0.000 abstract description 10
- 230000006870 function Effects 0.000 description 11
- 238000010586 diagram Methods 0.000 description 10
- 238000004590 computer program Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 5
- 238000012790 confirmation Methods 0.000 description 4
- 238000009826 distribution Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 238000005259 measurement Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 238000002360 preparation method Methods 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 230000001960 triggered effect Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000008188 pellet Substances 0.000 description 1
- 238000011056 performance test Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
- 239000007787 solid Substances 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
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3696—Methods or tools to render software testable
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3664—Environments for testing or debugging software
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请提供了一种TPC‑W测试方法、装置以及系统,用于避免TPC‑W测试受到外界因素的干扰,进一步保障了TPC‑W测试的真实性、有效性。本申请提供的一种TPC‑W测试方法,方法包括:测试设备获取针对目标数据库的TPC‑W测试任务,TPC‑W测试任务用于在TPC‑W测试基准下,对目标数据库执行TPC‑W测试;测试设备通过用户模拟程序模拟目标数据库的用户,并以并发模式向目标数据库发起TPC‑W测试任务对应的TPC‑W模拟事务;测试设备采集目标数据库对于TPC‑W模拟事务的响应结果,并在预设的测试需求下根据TPC‑W模拟事务的响应结果分析得到目标数据库的TPC‑W测试结果;测试设备将TPC‑W测试结果上传至自身所属区块链平台中,进行数据上链。
Description
技术领域
本申请涉及测试领域,具体涉及一种TPC-W测试方法、装置以及系统。
背景技术
TPC-W测试基准,可以理解为针对如网上书店这类电子商务环境的数据库测试,或者,也可以称为针对web服务系统的系统测试,其规范了涉及的电子商务网络事务交易的类型以及性能指标。
可以理解,TPC-W测试基准是从理论层面上对测试进行规范的,而实际操作中,需要在其规范范围内做出相应的测试工具,符合其测试要求即可,因此,在测试工具的研发工作中,还可能碰到TPC-W测试基准在理论层面上未考虑到的实际问题。
而在现有的相关技术的研究过程中,发明人发现,现有的TPC-W测试工具,可能收到外界因素的干扰,从而影响了TPC-W测试结果的有效性。
发明内容
本申请提供了一种TPC-W测试方法、装置以及系统,用于避免TPC-W测试受到外界因素的干扰,进一步保障了TPC-W测试的真实性、有效性。
第一方面,本申请提供了一种TPC-W测试方法,方法包括:
测试设备获取针对目标数据库的TPC-W测试任务,TPC-W测试任务用于在TPC-W测试基准下,对目标数据库执行TPC-W测试;
测试设备通过用户模拟程序模拟目标数据库的用户,并以并发模式向目标数据库发起TPC-W测试任务对应的TPC-W模拟事务;
测试设备采集目标数据库对于TPC-W模拟事务的响应结果,并在预设的测试需求下根据TPC-W模拟事务的响应结果分析得到目标数据库的TPC-W测试结果;
测试设备将TPC-W测试结果上传至自身所属区块链平台中,进行数据上链。
结合本申请第一方面,在本申请第一方面第一种可能的实现方式中,测试设备获取针对目标数据库的TPC-W测试任务之前,方法还包括:
区块链平台接收用户通过区块链节点设备发起的TPC-W测试任务;
测试设备获取针对目标数据库的TPC-W测试任务,包括:
测试设备接收区块链平台分配的TPC-W测试任务。
结合本申请第一方面第一种可能的实现方式,在本申请第一方面第二种可能的实现方式中,测试设备接收区块链平台分配的TPC-W测试任务之前,方法还包括:
区块链平台提取TPC-W测试任务的任务信息中携带的目标数据库的数据库标识以及设备位置;
区块链平台从测试设备网络中筛选出与数据库标识以及设备位置两者相适配的测试设备。
结合本申请第一方面,在本申请第一方面第三种可能的实现方式中,测试设备获取针对目标数据库的TPC-W测试任务,包括:
测试设备接收用户通过用户设备UE发起的TPC-W测试任务;
或者,测试设备接收用户在自身录入的TPC-W测试任务。
结合本申请第一方面,在本申请第一方面第四种可能的实现方式中,测试设备将TPC-W测试结果上传至自身所属区块链平台中,进行数据上链之后,方法还包括:
区块链平台的任意区块链节点设备接收用户针对TPC-W测试任务的测试结果查询请求;
区块链平台的任意区块链节点设备向用户反馈完成数据上链的TPC-W测试结果。
结合本申请第一方面,在本申请第一方面第五种可能的实现方式中,测试设备通过用户模拟程序模拟目标数据库的用户,并以并发模式向目标数据库发起TPC-W测试任务对应的TPC-W模拟事务之前,方法还包括:
测试设备调用区块链平台的智能合约,以通过智能合约规范的任务检测策略,检测TPC-W测试任务是否有效;
若有效,则触发执行智能合约规范的测试程序,以执行TPC-W测试任务,通过用户模拟程序模拟目标数据库的用户,并以并发模式向目标数据库发起TPC-W测试任务对应的TPC-W模拟事务。
结合本申请第一方面,在本申请第一方面第六种可能的实现方式中,TPC-W测试结果包括交易吞吐率测试结果以及ACID特性测试结果,交易吞吐率测试结果包括选定测试的比例因子下每秒的web交互次数WIPS@SF、正常商务模式下每个web交互的代价$/WIPS@SF、浏览模式下每秒的web交互次数WIPSb、订购模式下每秒的web交互次数WIPSo,ACID特性测试结果包括原子性测试结果、一致性测试结果、隔离性测试结果以及耐久性测试结果。
第二方面,本申请提供了一种TPC-W测试装置,装置包括:
获取单元,用于获取针对目标数据库的TPC-W测试任务,TPC-W测试任务用于在TPC-W测试基准下,对目标数据库执行TPC-W测试;
发起单元,用于通过用户模拟程序模拟目标数据库的用户,并以并发模式向目标数据库发起TPC-W测试任务对应的TPC-W模拟事务;
采集单元,用于采集目标数据库对于TPC-W模拟事务的响应结果;
分析单元,用于在预设的测试需求下根据TPC-W模拟事务的响应结果分析得到目标数据库的TPC-W测试结果;
上链单元,用于将TPC-W测试结果上传至自身所属区块链平台中,进行数据上链。
结合本申请第二方面,在本申请第二方面第一种可能的实现方式中,装置还包括接收单元,用于:
接收用户通过区块链节点设备发起的TPC-W测试任务;
获取单元,用于:
接收区块链平台分配的TPC-W测试任务。
结合本申请第二方面第一种可能的实现方式,在本申请第二方面第二种可能的实现方式中,装置还包括分配单元,用于:
提取TPC-W测试任务的任务信息中携带的目标数据库的数据库标识以及设备位置;
从测试设备网络中筛选出与数据库标识以及设备位置两者相适配的测试设备。
结合本申请第二方面,在本申请第二方面第三种可能的实现方式中,获取单元,具体用于:
接收用户通过UE发起的TPC-W测试任务;
或者,接收用户在自身录入的TPC-W测试任务。
结合本申请第二方面,在本申请第二方面第四种可能的实现方式中,装置还包括查询单元,用于:
接收用户针对TPC-W测试任务的测试结果查询请求;
向用户反馈完成数据上链的TPC-W测试结果。
结合本申请第二方面,在本申请第二方面第五种可能的实现方式中,装置还包括触发单元,用于:
调用区块链平台的智能合约,以通过智能合约规范的任务检测策略,检测TPC-W测试任务是否有效;
若有效,则触发执行智能合约规范的测试程序,以执行TPC-W测试任务,通过用户模拟程序模拟目标数据库的用户,并以并发模式向目标数据库发起TPC-W测试任务对应的TPC-W模拟事务。
结合本申请第二方面,在本申请第二方面第六种可能的实现方式中,TPC-W测试结果包括交易吞吐率测试结果以及ACID特性测试结果,交易吞吐率测试结果包括选定测试的比例因子下每秒的web交互次数WIPS@SF、正常商务模式下每个web交互的代价$/WIPS@SF、浏览模式下每秒的web交互次数WIPSb、订购模式下每秒的web交互次数WIPSo,ACID特性测试结果包括原子性测试结果、一致性测试结果、隔离性测试结果以及耐久性测试结果。
第三方面,本申请提供了一种TPC-W测试系统,TPC-W测试系统包括测试设备以及区块链平台,测试设备以及区块链平台,用于执行本申请第一方面或者本申请第一方面任一种可能的实现方式提供的方法。
第四方面,本申请提供了一种计算机可读存储介质,计算机可读存储介质存储有多条指令,指令适于处理器进行加载,以执行本申请第一方面或者本申请第一方面任一种可能的实现方式提供的方法。
从以上内容可得出,本申请具有以下的有益效果:
针对TPC-W测试,本申请在基础的TPC-W测试的基础上,引入了区块链技术,当测试设备对目标数据库完成TPC-W测试,并得到TPC-W测试结果后,相比于现有技术中直接输出不同的是,本申请则将该TPC-W测试结果上链至区块链平台,凭借区块链平台保证平台上数据公开、真实的特点,可保障TPC-W测试结果不受到外界因素的干扰,例如数据篡改、数据丢失等,进一步保障了TPC-W测试的真实性、有效性。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请TPC-W测试方法的一种流程示意图;
图2为本申请TPC-W模拟事务的一种场景示意图;
图3为本申请目标数据库中不同数据表之间的一种关系示意图;
图4为本申请TPC-W测试的一种场景示意图;
图5为本申请TPC-W测试的又一种场景示意图;
图6为本申请TPC-W测试装置的一种结构示意图;
图7为本申请区块链节点设备的一种结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或模块的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或模块,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或模块。在本申请中出现的对步骤进行的命名或者编号,并不意味着必须按照命名或者编号所指示的时间/逻辑先后顺序执行方法流程中的步骤,已经命名或者编号的流程步骤可以根据要实现的技术目的变更执行次序,只要能达到相同或者相类似的技术效果即可。
本申请中所出现的模块的划分,是一种逻辑上的划分,实际应用中实现时可以有另外的划分方式,例如多个模块可以结合成或集成在另一个系统中,或一些特征可以忽略,或不执行,另外,所显示的或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,模块之间的间接耦合或通信连接可以是电性或其他类似的形式,本申请中均不作限定。并且,作为分离部件说明的模块或子模块可以是也可以不是物理上的分离,可以是也可以不是物理模块,或者可以分布到多个电路模块中,可以根据实际的需要选择其中的部分或全部模块来实现本申请方案的目的。
在介绍本申请提供的TPC-W测试方法之前,首先介绍本申请所涉及的背景内容。
本申请提供的TPC-W测试方法、装置以及计算机可读存储介质,可应用于TPC-W测试系统,用于避免TPC-W测试受到外界因素的干扰,进一步保障了TPC-W测试的真实性、有效性。
本申请提及的TPC-W测试方法,其执行主体可以为TPC-W测试装置,或者集成了该TPC-W测试的区块链节点设备,例如负责在本地执行TPC-W测试的测试设备,该测试设备可以为服务器、物理主机或者用户设备(User Equipment,UE)等不同类型的设备。其中,TPC-W测试装置可以采用硬件或者软件的方式实现,UE具体可以为智能手机、平板电脑、笔记本电脑、台式电脑或者个人数字助理(Personal Digital Assistant,PDA)等终端设备,区块链节点设备可以通过设备集群的方式设置。
下面,开始介绍本申请提供的TPC-W测试方法。
首先,参阅图1,图1示出了本申请TPC-W测试方法的一种流程示意图,本申请提供的TPC-W测试方法,具体可包括如下步骤S101至步骤S104:
步骤S101,测试设备获取针对目标数据库的TPC-W测试任务,TPC-W测试任务用于在TPC-W测试基准下,对目标数据库执行TPC-W测试;
可以理解,在对目标数据库具有TPC-W测试需求时,可触发测试设备对其执行TPC-W测试基准下的TPC-W测试。
其中,该数据库,在实际应用中,一般是以服务器的形式存在,因此,目标数据库,也可以称为目标服务器。
此时,可配置测试所需的用户模拟程序以及TPC-W模拟事务,对于TPC-W测试,可以理解为还原目标数据库的实际应用场景,来测试目标数据库的性能。具体的,可通过用户模拟程序模拟目标数据库的用户,并高并发模式向目标数据库发起TPC-W模拟事务。
对于用户模拟程序以及TPC-W模拟事务的配置处理,在实际应用中,既可以理解为从其他设备处或者本地的存储空间调取TPC-W测试所需的测试数据,并从该测试数据中提取所需的数据,运行用户模拟程序,抓取或者生成TPC-W模拟事务;也可以理解为继续运行原本运行的用户模拟程序,抓取或者生成TPC-W模拟事务。
也就是说,用户模拟程序以及TPC-W模拟事务,其两者的配置处理,可以是预先完成的,若当前触发了新的TPC-W测试,继续运行用户模拟程序或者抓取TPC-W模拟事务即可,或者也可以是实时完成的,若当前触发了新的TPC-W测试,可启动用户模拟程序或者生成TPC-W模拟事务。
其中,对于TPC-W模拟事务,其还原的是TPC-W测试基准下规范的电子商务环境中可涉及到的处理事务。
TPC-W测试基准规范了14种典型的电子商务网络事务交易,其中分为浏览和订单两大类,分别代表查询事务和数据更新事务。
浏览事务包括站点主页访问、新书介绍、畅销书浏览等类型的事务;
订单事务包括客户注册、购买申请、购买确认等类型的事务。
这些不同类型的事务,可结合图2示出的本申请TPC-W模拟事务的一种场景示意图进行理解。
图2所示场景,描述了TPC-W测试基准中所规定的14种事务之间的相互关联情况,以及通过何种方式在各个页面之间跳转。
例如,有些页面之间是通过点击页面上的按钮来实现跳转功能,有些页面是通过超链接来完成跳转功能,由此来模拟真实的网络书店等电子商务环境的工作流程。
另一方面,对于目标数据库,其在TPC-W测试基准中,以网络书店为例,其定义为一个采用三层架构的电子书店的参数包含14个页面和8张数据表,这8张表分别为CUSTOMER、COUNTRY、ADDRESS、ORDERS、ORDER_LINE、AUTHOR、CC_XACTS、ITEM,大小可以变,其具体描述可参考下表1:
表1-TPC-W数据库表
表名 | 描述 |
CUSTOMER | 客户信息表 |
ORDER | 订货信息表 |
ORDER_LINE | 定单表 |
ITEM | 货物信息表 |
ADDRESS | 客户地址信息表 |
COUNTRY | 客户国籍信息表 |
CC_XACTS | 信用卡事务信息表 |
AUTHOR | 作者信息表 |
除了COUNTRY的行数固定的92行外,其它表的行数分别是:
CUSTOMER=2880*(EB数量);
ADDRESS=2*CUSTOMER;
ORDERS=0.9*CUSTOMER;
ORDER_LINE=3*ORDERS;
AUTHOR=0.25*ITEM;
CC_XACTS=1*ORDERS;
另外,ITEM的行数在1k、10k、100k、1M、10M中选择。
各表之间的关系可参考图3示出的本申请目标数据库中不同数据表之间的一种关系示意图。
对于图3,存在以下定义:
1.虚线部分表示非键值属性通过使用商业规则进行关联的一对一关系。
2.箭头表示各个表中一对多关系的对应方向。
3.粗体表示主键和外键。
这8张数据表的表名及其长度定义如下表2:
表2-表名及其长度限制
回到测试设备侧,即本地侧,可以理解,TPC-W模拟事务的事务内容与上述目标数据库中的数据表的表内容相对应的。
此外,TPC-W测试基准规范的14种事务比例分布表如下表3:
表3-TPC-W事务比例分布表
对于目标数据库的架构,在TPC-W测试基准中,也对其进行了规范。
结合图4示出的本申请TPC-W测试的一种场景示意图,目标数据库(SUT)由Web服务器、交换机和数据库服务器组成;
其中,Web服务器是远程浏览器模拟器和目标数据库的连接点,本地的每个远程浏览器所发出的http请求都会发送到Web服务器上,由Web服务器对http请求进行排队处理,并以先进先出(First Input First Output,FIFO)的原则对http请求进行事务处理,并将结果返回到各个远程浏览器上。
Web服务器提供两种服务,一种是图像存储服务,一种是事务处理服务。
1.其中图像存储服务主要是按照特定的目录结构将各个事务处理页面所需的图像文件进行存储,并根据远程浏览器所发出的请求将对应的图像文件发送到远程浏览器上。
2.事务处理服务是根据远程浏览器所发送过来的http请求中的事务类型以及事务运行所需的初始数据通过与数据库服务器进行交互操作来完成事务处理,并将处理结果数据动态生成HTML页面返回给远程浏览器。
远程浏览器模拟器(Remote Browser Emulator,RBE)的功能是生产数据的产生和统计结果的收集。通过一系列的随机函数,产生用户名、货物号等数据,并在发送URL时和接收到最后一个字节的数据时采集时间点,从而计算出每个页面处理所需的时间。
此外,测试设备本地的TPC-W测试程序,除了包括远程浏览器模拟器(可以理解为上述提及的用户模拟程序),还包括一个数据上载模块,该模块主要功能是根据测试标准的要求,创建数据库表,并对数据表进行数据加载。在数据加载完毕后,需要对数据库进行一致性检查,以保证数据上载的完整性。
继续的,还可参考图5示出的本申请TPC-W测试的又一种场景示意图,对于TPC-W测试基准,其并未强制要求特定的网络拓扑或服务器配置规范,如图5所示TPC-W测试场景中的配置环境:
RBE与支付网关仿真器(Payment Gateway Emulator,PGE)一起位于左侧,PGE模拟购买确认web交互的信用卡授权。SUT本身在右侧描述,包括几个执行不同的功能,Web服务器是RBE的联系点,所有web交互从对Web服务器的请求开始,它是向数据库服务器发送请求的Web服务器和PGE,并指示RBE从Web缓存和图像中获取html帧和图像服务器。
数据库服务器响应来自Web的请求服务器,数据库包含客户信息和订单信息,SUT必须还包括一些类型的负载平衡软件或硬件,以负载平衡RBE连接到各种服务器。这可以是一个独立的服务器,运行在其中一个Web缓存或映像上服务器或交换机本身。
上述介绍了TPC-W测试场景的大概环境内容,回到本申请,配置用户模拟程序以及TPC-W模拟事务的过程,可以理解为处于TPC-W测试的准备阶段中,在准备阶段中,还可包括目标数据库的基础参数统计以及为准备TPC-W测试所执行的相关的优化配置,例如参数优化、系统重启等,准备阶段完成后,则可开始发起TPC-W模拟事务,进入TPC-W测试的动态测试阶段。
步骤S102,测试设备通过用户模拟程序模拟目标数据库的用户,并以并发模式向目标数据库发起TPC-W测试任务对应的TPC-W模拟事务;
在TPC-W测试中,测试设备则以并发模式,向目标数据库发起在先配置的TPC-W模式事务,还原实际应用中涉及到大量用户的高并发场景。
步骤S103,测试设备采集目标数据库对于TPC-W模拟事务的响应结果,并在预设的测试需求下根据TPC-W模拟事务的响应结果分析得到目标数据库的TPC-W测试结果;
当目标数据库接收到的TPC-W模拟事务后,可以产生相应的状态变化或者相应的数据,此时,测试设备可通过与目标系统之间的数据交互,接收目标数据库反馈的对于TPC-W模拟事务的响应结果,或者,还可直接通过配置在目标数据库的监控程序,监控目标数据库对于TPC-W模拟事务的响应结果。
而在获得目标数据库对于TPC-W模拟事务的响应结果后,则可对其进行分析,得到对应的TPC-W测试结果。
可以理解的是,TPC-W测试结果,是在TPC-W测试基准下预设的测试需求得到的。
在具体的性能分析处理中,是根据预设的性能指标进行的,例如可包括交易吞吐率测试结果以及ACID特性测试结果。
其中,交易吞吐率测试结果包括选定测试的比例因子下每秒的web交互次数WIPS@SF、正常商务模式下每个web交互的代价$/WIPS@SF、浏览模式下每秒的web交互次数WIPSb、订购模式下每秒的web交互次数WIPSo;
ACID特性测试结果包括原子性测试结果、一致性测试结果、隔离性测试结果以及耐久性测试结果。
1.交易吞吐率
WIPS@SF:选定测试的比例因子下每秒的web交互次数。在WIPS@SF中,比例因子是数据库基本中的书籍详细信息表(ITEM表)中条目数。
WIPS@SF简称为WIPS。(以下的WIPSb、WIPSo一样省略@SF。)
$/WIPS@SF:正常商务模式下每个web交互的代价。
WIPSb:浏览模式下每秒的web交互次数(顾客较少购买而且大多数只需要浏览的网页)。在这其中,95%的访问是网页浏览(主页、新产品、最佳销售、产品细目和查询),而仅5%的是订购网页访问。
前端web服务器、图像服务器和web缓冲对该衡量指标影响较大。
WIPSo:订购模式下每秒的web交互次数(访问该主页的顾客侧重于购买)。在这其中,约50%的是订购网页访问。
该衡量指标侧重于反映数据库服务器性能。
在上面四个指标中,前两个可以认为是主要的,后两个可以认为是次要的。
2.思考时长
思考时长(Think Time,TT)的定义,可如下列公式所示:
TT=T2-T1;
其中,时间戳必须至少精确到0.1秒;T1和T2在模拟浏览器端测得。
T1=在上一个页交互的最后一个字节被来目标系统的模拟浏览器收到后所测量出的时刻;
T2=在下一个web交互的第一个HTTP请求的第一个字节被模拟浏览器送到目标系统之前所测量的时刻。
每个思考时长必须单独地从一个指数分布的相反数中获得,思考时长T必须从以下公式中计算。
T=-ln(r)*μ;
其中,1n是以e为底的自然对数;r=随机数字,至少有31位精度,并且来自于平均分布中,(0<r≤1);μ在7到8秒之间,μ的同一个值必须在所有web交互中使用,且在度量期间μ的值不能改变。
在每个度量期间的思考时长的平均持续时长(在整个web交互中合计)不小于7秒而不大于8秒。
3.响应时长
响应时长,即web交互响应时间(Web Interaction Response Time,WIRT),可通过下列公式计算。
WIRT=T2-T1;
其中,T1和T2在模拟浏览器端测得;T1=在页交互的第一个HTTP请求的第一个字节被模拟浏览器送到目标系统的所测量出的时刻;且T2=在最后一个HTTP响应完成页交互的最后一个来自SUT的字节被模拟浏览器收到所测量的时刻。
WIRT的测试要求如下:
1)时间戳必须至少精确到0.1秒;
2)尽管基准的目的是作为一个实际用户的经验测试响应时间,浏览器所需要的显示web页和对象的时间不包括在WIRT中;
3)为计算WIRT期间,只有成功的web交互包含在里面;
4)如果web交互请求建立一个到web服务器的链接(如首次主页交互或首次安全web交互),T1必须在连接请求前获得。
在每个度量间隔,至少每种类型的90%页交互必须小于下面表4的页交互所规定的对应的WIRT限制。例如,所有90%主页交互的WIRT必须小于3秒。
表4-90%网络交易响应时间限制表
网络交易事务 | 90%网络交易响应时间上限(秒) |
主站点访问(Home) | 3 |
新产品(New Product) | 5 |
畅销品(Best Seller) | 5 |
产品细目(Product Detail) | 3 |
查询请求(Search Request) | 3 |
查询结果(Search Result) | 10 |
购物车(Shopping Cart) | 3 |
顾客注册(Customer Registration) | 3 |
购买请求(Buy Request) | 3 |
购买确认(Buy Confirm) | 5 |
订单查询(Order Inquiry) | 3 |
订单显示(Order Display) | 3 |
管理请求(Admin Request) | 3 |
管理确认(Admin Confirm) | 20 |
4.其他性能指标
1)CPU使用率
CPU忙的时间占系统运行总时间的比例,该项性能指标体现了web服务器和数据库服务器在运算处理能力方面的潜力。
2)内存使用率
由主操作系统分配和控制内存的方式,表明操作系统和/或数据库管理系统(Database Management System,DBMS)怎样有效的支持TPC-W的基准要求,并且满足下面三个方面:
①必须报告每个测试间隔对SUT可用的物理内存总量。
②必须报告数据库共享池的总量。
③报告操作系统页大小。
3)系统I/0活动
要求报告在每个测试期间的整个系统的I/0比率(包括网络I/0)和磁盘I/0,系统中的每个磁盘设备的平均I/0比率,数据传输大小和读取时间,映射到磁盘设备的逻辑结构。总的I/0比率不能通过单个I/0比率来计算,必须通过I/0总数除以测试间隔来计算。
4)web服务器统计
网络服务器统计(其中一些在web服务器访问日志)中要求报告以下指标。
①每秒连接数:由远程模拟竞争者请求和由SUT接收的连接数。目的是仅计算在产生基准负载时RBE的新的成功连接数。
②每秒HTTP请求数:每秒内收到的HTTP请求数。计算在产生基准负载时由远程浏览器竞争者(Remote Browser Emulator,RBE)产生的请求数。
③每秒HTTP错误数:每秒内导致错误的RBE请求数。
可以看出,TPC-W测试基准,其性能测试技术指标,主要包括交易吞吐率、思考时长、响应时长、其他性能衡量指标(CPU使用率、内存使用率、系统I/0活动、web服务器统计等)。
另一方面,对于ACID特性测试,其具体包括原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)以及耐久性(Durability)四项测试,
举例而言,对于目标系统涉及的数据库系统,一个事务是指由一系列数据库操作组成的一个完整的逻辑过程,例如银行转账,包括从原账户扣除金额以及向目标账户添加金额,这两个数据库操作的总和构成一个完整的逻辑过程,不可拆分,这个过程被称为一个事务,具有ACID特性。
对于ACID特性,其包括:
1)原子性
数据库的事务处理组件必须以要么全有,要么全无的方式执行。
例如,如果一个数据库的事务处理包括删除4个对象,虽然它们各自是独立的对象但也要一起被删除,三个被删除了,但是最后一个有些原因没有被删除是不允许的。
2)一致性
数据库上的操作从一个定义好的状态到下一个状态,中间状态是不可见的。
例如,如果用户向数据库里添加一个对象A,然后对用户来说好像没有办法得到一个部分的对象A,数据库不应该出现一种操作半完成的状态。
3)独立性
数据库的多事务处理彼此间是无法察觉的。所以如果两个用户想同时修改同一个对象,数据库必须有一种机制使他们可以顺序访问这个对象,以便于既妨碍不到用户工作,也让其他用户看不到对方。
4)耐久性
一旦一个事务处理应用到数据库,所做的工作便不会丢失,即使遇到硬件或者软件错误。所以在数据库上执行一个删除3个对象的操作,在执行到删除第二个对象的时候系统崩溃了,当系统重启后,数据库不仅可以自我恢复,连未完成的事务,也将得到恢复。
其中,本申请还认为,ACID特性测试可在TPC-W测试前与测试后各运行一遍,以保证数据库系统在经过复杂的并发事务操作后仍然满足ACID各项特性的要求。
步骤S104,测试设备将TPC-W测试结果上传至自身所属区块链平台中,进行数据上链。
在得到目标数据库的TPC-W测试结果后,可以理解的是,测试设备并不是在本地进行输出的,例如,在现有技术中,测试设备本地在完成TPC-W测试后,可以以文件的形式导出目标数据库的TPC-W测试结果,此时用户、工作人员可拷贝该文件,完成文件的转移,在其他设备进行查看。
在本申请中,测试设备则是避免了TPC-W的直接输出,而是在自身作为区块链平台的一个区块链节点设备的基础上,将该TPC-W测试结果作为一种待上链数据,上传至区块链平台中,完成数据上链的操作,在区块链平台中同步该TPC-W测试结果。
可以理解的是,当TPC-W测试结果在本地输出时,例如以文件的形式导出TPC-W测试结果,例如在本地导出文件、向其他设备发送文件等,则该文件可能因为某些利益驱使,导致受到数据的篡改、丢失、毁坏甚至整个文件的丢失等,其次,即使文件经过了数据加密,也可能存在破解加密的情况,进而仍可能继续受到数据的篡改、丢失、毁坏甚至整个文件的丢失等。
又例如,TPC-W测试结果还可能是以图表的形式直接在显示屏上展示,当界面关闭后可能又存在查看TPC-W测试结果的需求,若是以拍摄的方式浏览其展示界面,其保留下的图片、视频也存在上述以文件的形式导出TPC-W测试结果所存在的问题;其次,若不保留拍摄形式的图片、视频等文件,TPC-W测试结果的展示则是一种一次性展示方式,显然,其应用价值则较低。
由此可看出,现有技术中直接输出TPC-W测试结果,存在可能收到外界因素的干扰,例如数据篡改、数据丢失等问题。
而本申请,则将其直接上链至区块链平台中,可以理解,区块链平台,其可以理解为一种去中心化的共享数据库,存储于其中的数据或信息,通过分布式数据存储、点对点传输、共识机制、加密算法等计算机技术,可保证平台上的数据以及相应的数据处理,具有“不可伪造”、“全程留痕”、“可以追溯”、“公开透明”、“集体维护”等特征,因此由测试设备作为一种区块链节点设备,将TPC-W测试结果上链至区块链平台中,则可有效避免上述提及的现有技术中直接输出TPC-W测试结果所存在的问题,进一步保障了TPC-W测试的真实性、有效性。
其次,除了引入区块链技术,将TPC-W测试结果上链至区块链平台以保障TPC-W测试的真实性、有效性外,还可继续对其优化,使得更为灵活的、优化地结合TPC-W测试以及区块链技术两者。
作为又一种适于实用的实现方式,测试设备执行的TPC-W测试任务,可以是由区块链平台动态分配的。
对应的,在步骤S101之前,本申请TPC-W测试方法,还可包括:
区块链平台接收用户通过区块链节点设备发起的TPC-W测试任务。
可以理解,当存在对目标数据库存在TPC-W测试需求时,用户则可通过手头的UE,访问区块链平台中的区块链节点设备,通过人工操作发起TPC-W测试任务;或者,用户手头的UE,也可能就是区块链平台中的区块链节点设备。此时用户则可在UE本地,直接通过人工操作发起TPC-W测试任务。
当然,在一些应用场景中,也可能存在由机器根据触发条件,自动访问区块链平台上的区块链节点设备,发起TPC-W测试任务的情况;或者,机器也可能就是区块链平台中的区块链节点设备,此时根据触发条件,在本地直接通过人工操作发起TPC-W测试任务。
此外,在区块链平台动态分配区块链平台动态分配的情况下,测试设备还可以是平台针对性挑选出来的、适配本次TPC-W测试任务的。
对应的,作为又一种适于实用的实现方式,其动态分配还可包括如下处理:
区块链平台提取TPC-W测试任务的任务信息中携带的目标数据库的数据库标识以及网络位置;
区块链平台从测试设备网络中筛选出与数据库标识以及设备位置两者相适配的测试设备。
可以理解,对于本申请涉及的区块链平台,其中的多个区块链节点设备,都可作为测试设备,对不同的目标数据库进行TPC-W测试,因此,区块链平台当触发了TPC-W测试任务后,则可将其分配至某一测试设备执行。
与此同时,本申请还考虑现有的测试设备的位置和目标数据库所在位置之间存在着差异,两者之间,可能由于设备系统、适宜的数据库测试类型、地理位置距离、网络传输路径距离等因素,导致不同的测试设备与当前的TPC-W测试任务,存在不同的适配性,因此,本申请由区块链平台在测试设备之间动态分配TPC-W测试任务时,还可结合具体的数据库标识(用于标识目标数据库的具体信息,例如设备系统、适宜的测试设备类型等)以及设备位置(用于标识目标数据库的位置,例如网络位置、地理位置等),从测试设备之间(可以用测试设备集合、测试设备网络表示)挑选出适配的测试设备,用于执行本次的TPC-W测试任务。
当然,在一些应用方式中,测试设备在作为一种区块链节点设备的情况狭下,也可在本地生成针对目标数据库的TPC-W测试任务,与区块链平台触发针对目标数据库的TPC-W测试任务类似的,测试设备了接收用户通过UE发起的TPC-W测试任务,或者,测试设备直接接收用户在自身录入的TPC-W测试任务。
此时,直接触发了TPC-W测试任务的测试设备,则可在本地直接对目标数据库发起TPC-W测试。
进一步的,在TPC-W测试结果完成数据上链,同步至区块链平台各区块链节点设备,实现数据公证后,还可存在数据的查询场景。
例如,区块链平台的任意区块链节点设备可接收用户针对TPC-W测试任务的测试结果查询请求,区块链平台的任意区块链节点设备再向用户反馈完成数据上链的TPC-W测试结果。
可以理解,该数据查询场景,还可以理解为TPC-W测试结果的下载场景,由于TPC-W测试结果是在先测试设备完成TPC-W测试后直接上链至平台的,因此查询得到的TPC-W测试结果,可保障其真实性、有效性。
此外,由于是存储在区块链平台上各区块链节点设备的,因此,TPC-W测试结果也不用担心数据的丢失、数据查看的不便,可灵活地从任意区块链节点设备查阅目标TPC-E测试任务的TPC-W测试结果,显然,对于不同的TPC-W测试任务,在任务管理、任务跟踪、结果查阅上,本申请所提出的TPC-W测试机制,在保障了测试的真实性、有效性的采集上,都还具有灵活、方便的优点。
甚至,在又一种示例性的实现方式中,TPC-W测试的执行,也可以是以区块链技术的形式实现的,可以理解,区块链节点设备在执行区块链平台涉及的数据处理时,可调用平台分配的智能合约,遵守智能合约中的规范的数据处理形式,执行相应的数据处理。
与此同时,测试设备在获取了TPC-W测试任务时,则可调用智能合约,以其规范的测试程序,执行TPC-W测试任务,通过用户模拟程序模拟目标数据库的用户,并以并发模式向目标数据库发起TPC-W测试任务对应的TPC-W模拟事务,甚至还有后续的数据处理,如采集目标数据库对于TPC-W模拟事务的响应结果,分析TPC-W测试结果。
此外,测试设备在获取了TPC-W测试任务时,还可调用智能合约,以通过智能合约规范的任务检测策略,检测TPC-W测试任务是否有效,来确定是否执行该TPC-W测试任务。
显然,在该机制下,通过智能合约,对TPC-W测试任务的触发、执行,结果上传,都可进行相应的规范化,从而对于TPC-W测试而言,具有更高的透明度,保障其真实性、有效性。
例如,在执行TPC-W测试任务前,可结合上述两者智能合约的应用内容,即:
测试设备调用区块链平台的智能合约,以通过智能合约规范的任务检测策略,检测TPC-W测试任务是否有效;
若有效,则触发执行智能合约规范的测试程序,以执行TPC-W测试任务,通过用户模拟程序模拟目标数据库的用户,并以并发模式向目标数据库发起TPC-W测试任务对应的TPC-W模拟事务。
其中,智能合约规范的测试程序,即可以直接携带于智能合约中,也可以是配置在智能合约外,任务检测策略类似。
综上所述,从上述实施例内容可看出,针对TPC-W测试,本申请在基础的TPC-W测试的基础上,引入了区块链技术,当测试设备对目标数据库完成TPC-W测试,并得到TPC-W测试结果后,相比于现有技术中直接输出不同的是,本申请则将该TPC-W测试结果上链至区块链平台,凭借区块链平台保证平台上数据公开、真实的特点,可保障TPC-W测试结果不受到外界因素的干扰,例如数据篡改、数据丢失等,进一步保障了TPC-W测试的真实性、有效性。
以上是本申请提供TPC-W测试方法的介绍,为便于更好的实施本申请提供的TPC-W测试方法,本申请还从功能模块角度提供了一种TPC-W测试装置。
参阅图6,图6为本申请TPC-W测试装置的一种结构示意图,在本申请中,TPC-W测试装置600具体可包括如下结构:
获取单元601,用于获取针对目标数据库的TPC-W测试任务,TPC-W测试任务用于在TPC-W测试基准下,对目标数据库执行TPC-W测试;
发起单元602,用于通过用户模拟程序模拟目标数据库的用户,并以并发模式向目标数据库发起TPC-W测试任务对应的TPC-W模拟事务;
采集单元603,用于采集目标数据库对于TPC-W模拟事务的响应结果;
分析单元604,用于在预设的测试需求下根据TPC-W模拟事务的响应结果分析得到目标数据库的TPC-W测试结果;
上链单元605,用于将TPC-W测试结果上传至自身所属区块链平台中,进行数据上链。
在一种示例性的实现方式中,装置还包括接收单元606,用于:
接收用户通过区块链节点设备发起的TPC-W测试任务;
获取单元601,用于:
接收区块链平台分配的TPC-W测试任务。
在又一种示例性的实现方式中,装置还包括分配单元607,用于:
提取TPC-W测试任务的任务信息中携带的目标数据库的数据库标识以及设备位置;
从测试设备网络中筛选出与数据库标识以及设备位置两者相适配的测试设备。
在又一种示例性的实现方式中,获取单元601,具体用于:
接收用户通过UE发起的TPC-W测试任务;
或者,接收用户在自身录入的TPC-W测试任务。
在又一种示例性的实现方式中,装置还包括查询单元608,用于:
接收用户针对TPC-W测试任务的测试结果查询请求;
向用户反馈完成数据上链的TPC-W测试结果。
在又一种示例性的实现方式中,装置还包括触发单元609,用于:
调用区块链平台的智能合约,以通过智能合约规范的任务检测策略,检测TPC-W测试任务是否有效;
若有效,则触发执行智能合约规范的测试程序,以执行TPC-W测试任务,通过用户模拟程序模拟目标数据库的用户,并以并发模式向目标数据库发起TPC-W测试任务对应的TPC-W模拟事务。
在又一种示例性的实现方式中,TPC-W测试结果包括交易吞吐率测试结果以及ACID特性测试结果,交易吞吐率测试结果包括选定测试的比例因子下每秒的web交互次数WIPS@SF、正常商务模式下每个web交互的代价$/WIPS@SF、浏览模式下每秒的web交互次数WIPSb、订购模式下每秒的web交互次数WIPSo,ACID特性测试结果包括原子性测试结果、一致性测试结果、隔离性测试结果以及耐久性测试结果。
本申请还从硬件结构角度提供了一种TPC-W测试系统,TPC-W测试系统包括测试设备以及区块链平台,可以理解,为方便说明以及区分,在本申请中,测试设备可以理解为一种本地执行TPC-W测试的区块链节点设备,而区块链平台则可以理解为包含所有区块链节点设备、从整体进行数据处理的平台。
参阅图7,图7示出了本申请区块链节点设备(如本申请涉及的测试设备)的一种结构示意图,具体的,本申请区块链节点设备可包括处理器701、存储器702以及输入输出设备703,处理器701用于执行存储器702中存储的计算机程序时实现如图1对应实施例中TPC-W测试方法的相关步骤;或者,处理器701用于执行存储器702中存储的计算机程序时实现如图6对应实施例中相关单元的功能,存储器702用于存储处理器701执行上述图1对应实施例中TPC-W测试方法所需的相关计算机程序。
示例性的,计算机程序可以被分割成一个或多个模块/单元,一个或者多个模块/单元被存储在存储器702中,并由处理器701执行,以完成本申请。一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述计算机程序在计算机装置中的执行过程。
区块链节点设备可包括,但不仅限于处理器701、存储器702、输入输出设备703。本领域技术人员可以理解,示意仅仅是区块链节点设备的示例,并不构成对区块链节点设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如区块链节点设备还可以包括网络接入设备、总线等,处理器701、存储器702、输入输出设备703等通过总线相连。
处理器701可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,处理器是区块链节点设备的控制中心,利用各种接口和线路连接整个设备的各个部分。
存储器702可用于存储计算机程序和/或模块,处理器701通过运行或执行存储在存储器702内的计算机程序和/或模块,以及调用存储在存储器702内的数据,实现计算机装置的各种功能。存储器702可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据区块链节点设备的使用所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(SecureDigital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
处理器701用于执行存储器702中存储的计算机程序时,具体可实现以下功能:
获取针对目标数据库的TPC-W测试任务,TPC-W测试任务用于在TPC-W测试基准下,对目标数据库执行TPC-W测试;
通过用户模拟程序模拟目标数据库的用户,并以并发模式向目标数据库发起TPC-W测试任务对应的TPC-W模拟事务;
采集目标数据库对于TPC-W模拟事务的响应结果,并在预设的测试需求下根据TPC-W模拟事务的响应结果分析得到目标数据库的TPC-W测试结果;
将TPC-W测试结果上传至自身所属区块链平台中,进行数据上链。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的TPC-W测试装置、系统及其相应单元的具体工作过程,可以参考如图1对应实施例中TPC-W测试方法的说明,具体在此不再赘述。
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
为此,本申请提供一种计算机可读存储介质,其中存储有多条指令,该指令能够被处理器进行加载,以执行本申请如图1对应实施例中TPC-W测试方法的步骤,具体操作可参考如图1对应实施例中TPC-W测试方法的说明,在此不再赘述。
其中,该计算机可读存储介质可以包括:只读存储器(Read Only Memory,ROM)、随机存取记忆体(Random Access Memory,RAM)、磁盘或光盘等。
由于该计算机可读存储介质中所存储的指令,可以执行本申请如图1对应实施例中TPC-W测试方法的步骤,因此,可以实现本申请如图1对应实施例中TPC-W测试方法所能实现的有益效果,详见前面的说明,在此不再赘述。
以上对本申请提供的TPC-W测试方法、装置、系统以及计算机可读存储介质进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (10)
1.一种TPC-W测试方法,其特征在于,所述方法包括:
测试设备获取针对目标数据库的TPC-W测试任务,所述TPC-W测试任务用于在TPC-W测试基准下,对所述目标数据库执行TPC-W测试;
所述测试设备通过用户模拟程序模拟所述目标数据库的用户,并以并发模式向所述目标数据库发起所述TPC-W测试任务对应的TPC-W模拟事务;
所述测试设备采集所述目标数据库对于所述TPC-W模拟事务的响应结果,并在预设的测试需求下根据所述TPC-W模拟事务的响应结果分析得到所述目标数据库的TPC-W测试结果;
所述测试设备将所述TPC-W测试结果上传至自身所属区块链平台中,进行数据上链。
2.根据权利要求1所述的方法,其特征在于,所述测试设备获取针对目标数据库的TPC-W测试任务之前,所述方法还包括:
所述区块链平台接收用户通过区块链节点设备发起的所述TPC-W测试任务;
所述测试设备获取针对目标数据库的TPC-W测试任务,包括:
所述测试设备接收所述区块链平台分配的所述TPC-W测试任务。
3.根据权利要求2所述的方法,其特征在于,所述测试设备接收所述区块链平台分配的所述TPC-W测试任务之前,所述方法还包括:
所述区块链平台提取所述TPC-W测试任务的任务信息中携带的所述目标数据库的数据库标识以及设备位置;
所述区块链平台从测试设备网络中筛选出与所述数据库标识以及所述设备位置两者相适配的所述测试设备。
4.根据权利要求1所述的方法,其特征在于,所述测试设备获取针对目标数据库的TPC-W测试任务,包括:
所述测试设备接收用户通过用户设备UE发起的所述TPC-W测试任务;
或者,所述测试设备接收用户在自身录入的所述TPC-W测试任务。
5.根据权利要求1所述的方法,其特征在于,所述测试设备将所述TPC-W测试结果上传至自身所属区块链平台中,进行数据上链之后,所述方法还包括:
所述区块链平台的任意区块链节点设备接收用户针对所述TPC-W测试任务的测试结果查询请求;
所述区块链平台的任意区块链节点设备向用户反馈完成数据上链的所述TPC-W测试结果。
6.根据权利要求1所述的方法,其特征在于,所述测试设备通过用户模拟程序模拟所述目标数据库的用户,并以并发模式向所述目标数据库发起所述TPC-W测试任务对应的TPC-W模拟事务之前,所述方法还包括:
所述测试设备调用所述区块链平台的智能合约,以通过所述智能合约规范的任务检测策略,检测所述TPC-W测试任务是否有效;
若有效,则所述测试设备触发执行所述智能合约规范的测试程序,以执行所述TPC-W测试任务,通过所述用户模拟程序模拟所述目标数据库的用户,并以并发模式向所述目标数据库发起所述TPC-W测试任务对应的TPC-W模拟事务。
7.根据权利要求1所述的方法,其特征在于,所述TPC-W测试结果包括交易吞吐率测试结果以及ACID特性测试结果,所述交易吞吐率测试结果包括选定测试的比例因子下每秒的web交互次数WIPS@SF、正常商务模式下每个web交互的代价$/WIPS@SF、浏览模式下每秒的web交互次数WIPSb、订购模式下每秒的web交互次数WIPSo,所述ACID特性测试结果包括原子性测试结果、一致性测试结果、隔离性测试结果以及耐久性测试结果。
8.一种TPC-W测试装置,其特征在于,所述装置包括:
获取单元,用于获取针对目标数据库的TPC-W测试任务,所述TPC-W测试任务用于在TPC-W测试基准下,对所述目标数据库执行TPC-W测试;
发起单元,用于通过用户模拟程序模拟所述目标数据库的用户,并以并发模式向所述目标数据库发起所述TPC-W测试任务对应的TPC-W模拟事务;
采集单元,用于采集所述目标数据库对于所述TPC-W模拟事务的响应结果;
分析单元,用于在预设的测试需求下根据所述TPC-W模拟事务的响应结果分析得到所述目标数据库的TPC-W测试结果;
上链单元,用于所述测试设备将所述TPC-W测试结果上传至自身所属区块链平台中,进行数据上链。
9.一种TPC-W测试系统,其特征在于,所述TPC-W测试系统包括测试设备以及区块链平台,所述测试设备以及所述区块链平台,用于执行权利要求1至7任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有多条指令,所述指令适于处理器进行加载,以执行权利要求1至7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110915939.0A CN113656297A (zh) | 2021-08-10 | 2021-08-10 | 一种tpc-w测试方法、装置以及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110915939.0A CN113656297A (zh) | 2021-08-10 | 2021-08-10 | 一种tpc-w测试方法、装置以及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113656297A true CN113656297A (zh) | 2021-11-16 |
Family
ID=78479392
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110915939.0A Pending CN113656297A (zh) | 2021-08-10 | 2021-08-10 | 一种tpc-w测试方法、装置以及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113656297A (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109753433A (zh) * | 2018-12-26 | 2019-05-14 | 中链科技有限公司 | 基于区块链的自动化测试方法、装置及电子设备 |
CN109783372A (zh) * | 2018-12-26 | 2019-05-21 | 中链科技有限公司 | 基于区块链的软件测试方法、装置、电子设备及存储介质 |
-
2021
- 2021-08-10 CN CN202110915939.0A patent/CN113656297A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109753433A (zh) * | 2018-12-26 | 2019-05-14 | 中链科技有限公司 | 基于区块链的自动化测试方法、装置及电子设备 |
CN109783372A (zh) * | 2018-12-26 | 2019-05-21 | 中链科技有限公司 | 基于区块链的软件测试方法、装置、电子设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
凌秋惠: "数据库管理系统的TPC-W性能测试研究", 《万方学位论文》 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10789089B2 (en) | Dynamic application migration between cloud providers | |
USRE46055E1 (en) | Method and system for testing interactions between web clients and networked servers | |
CN110290189A (zh) | 一种容器集群管理方法、装置及系统 | |
CN102236851B (zh) | 基于用户赋权的多维信用体系实时计算的方法及系统 | |
CN110008257A (zh) | 数据处理方法、装置、系统、计算机设备和存储介质 | |
CN108683562A (zh) | 异常检测定位方法、装置、计算机设备及存储介质 | |
CN111506511A (zh) | 一种测试用例生成方法、装置、电子设备及介质 | |
CN109471795A (zh) | 分组测试方法、装置、计算机设备及存储介质 | |
CN106503912A (zh) | 一种数据服务系统 | |
CN107463641A (zh) | 用于改进对搜索结果的访问的系统和方法 | |
CN109753421B (zh) | 服务系统的优化方法、装置、计算机设备和存储介质 | |
JP2012501492A (ja) | インターネット上で商品のオブジェクト情報を提供するための方法およびシステム | |
CN110502579A (zh) | 用于批量和实时特征计算的系统和方法 | |
CN107423223A (zh) | 测试管理系统 | |
CN104270443B (zh) | 一种能够动态解析Web应用的云计算系统及方法 | |
CN110196680A (zh) | 数据处理方法、装置及存储介质 | |
CN109885535A (zh) | 一种文件存储的方法及相关装置 | |
KR20130089890A (ko) | 산업기술 지식정보 관리시스템 및 산업기술 지식정보의 서비스 방법 | |
KR20180122111A (ko) | 공연 및 행사기획 대행 온오프라인 서비스 제공방법 | |
CN113656297A (zh) | 一种tpc-w测试方法、装置以及系统 | |
CN104281584A (zh) | Xml数据库性能测试系统及方法 | |
CN113360418B (zh) | 一种系统测试方法以及装置 | |
CN108737133A (zh) | 用于cdn静态网络修复的方法及装置 | |
CN114428723A (zh) | 测试系统、系统测试方法、相关设备及存储介质 | |
CN109828983A (zh) | Pg数据库处理方法、装置、电子设备及存储介质 |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20211116 |