CN110569190B - 交易压力测试方法和装置、以及电子设备和可读存储介质 - Google Patents

交易压力测试方法和装置、以及电子设备和可读存储介质 Download PDF

Info

Publication number
CN110569190B
CN110569190B CN201910799197.2A CN201910799197A CN110569190B CN 110569190 B CN110569190 B CN 110569190B CN 201910799197 A CN201910799197 A CN 201910799197A CN 110569190 B CN110569190 B CN 110569190B
Authority
CN
China
Prior art keywords
transaction
predetermined
predicted
transactions
data
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
Application number
CN201910799197.2A
Other languages
English (en)
Other versions
CN110569190A (zh
Inventor
张寒
王薇薇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Industrial and Commercial Bank of China Ltd ICBC
Original Assignee
Industrial and Commercial Bank of China Ltd ICBC
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Industrial and Commercial Bank of China Ltd ICBC filed Critical Industrial and Commercial Bank of China Ltd ICBC
Priority to CN201910799197.2A priority Critical patent/CN110569190B/zh
Publication of CN110569190A publication Critical patent/CN110569190A/zh
Application granted granted Critical
Publication of CN110569190B publication Critical patent/CN110569190B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3692Test management for test results analysis

Abstract

本公开提供了一种交易压力测试方法,包括:获取已交易数据,该已交易数据包括多种预定交易的交易数据;根据已交易数据,确定多种预定交易各自的预测交易量;根据多种预定交易各自的预测交易量,生成压力测试脚本;以及运行压力测试脚本进行压力测试,得到压力测试结果。本公开还提供了一种交易压力测试装置、一种电子设备和一种计算机可读存储介质。

Description

交易压力测试方法和装置、以及电子设备和可读存储介质
技术领域
本公开涉及计算机技术领域,更具体地,涉及一种交易压力测试方法和装置、以及一种电子设备和计算机可读存储介质。
背景技术
为确保软件***能够承受来自真实业务的请求压力,在***上线前,往往需要进行压力测试。
在实现本公开构思的过程中,发明人发现相关技术中至少存在如下问题:在相关技术中,主流的压力测试方案中采用的压力测试脚本主要包括基于单一交易生成大量访问请求而产生的脚本或直接基于历史交易数据而产生的脚本。其中,在采用基于单一交易生成大量访问请求而产生脚本时,只能测试***对单一交易的承受能力,很难直观地推断真实应用场景下大量用户进行多类交易的混合请求时***的性能表现情况。在采用直接基于历史交易数据产生脚本的方法时,仅能对给定的一段历史时间内的交易数据进行完全一致的测试,难以反映***在更长时间范围内的真实压力情况,也无法对测试请求进行针对性的调整。再者,主流的压力测试方案无法对未来交易走向进行预测,压力测试结果对***性能容量设计的指导意义有限。在生产环境性能发生问题后,若要进行问题的回溯,通过主流的压力测试方法很难得到分析结果。
发明内容
有鉴于此,本公开提供了一种能够根据历史交易数据生成符合实际情况的压力测试脚本的交易压力测试方法和装置,以及一种电子设备和计算机可读存储介质。
本公开的一个方面提供了一种交易压力测试方法,该方法包括:获取已交易数据,该已交易数据包括多种预定交易的交易数据;根据已交易数据,确定多种预定交易各自的预测交易量;根据多种预定交易各自的预测交易量,生成压力测试脚本;以及运行压力测试脚本进行压力测试,得到压力测试结果。
根据本公开的实施例,上述已交易数据包括第一时段的已交易数据;上述确定多种预定交易各自的预测交易量包括:根据多种预定交易的交易数据,确定多种预定交易各自在第一时段包括的多天中每天包括的多个第一子时段的交易量,得到多种预定交易各自针对多个第一子时段的多个交易量向量;以及根据多种预定交易各自针对多个子时段中每个第一子时段的交易量向量,确定多种预定交易各自在第二时段中每个第一子时段的预测交易量。
根据本公开的实施例,上述确定多种预定交易各自在第二时段中每个第一子时段的预测交易量包括:将针对多种预定交易各自针对每个第一子时段的交易量向量输入长短期记忆模型,确定得到多种预定交易各自在第二时段中每个第一子时段的预测交易量。
根据本公开的实施例,上述确定多种预定交易各自的预测交易量包括:根据已交易数据的数据总量及已交易数据包括的每种预定交易的交易数据的数据量,确定针对多种预定交易中每种预定交易的交易占比;以及根据针对每种预定交易的交易占比和压力测试规则,确定每种预定交易的预测交易量。
根据本公开的实施例,上述确定每种预定交易的预测交易量包括:根据压力测试规则,确定第二时段内每个第二子时段的预测交易总量;以及根据每个第二子时段的预测交易总量及针对每种预定交易的交易占比,确定每种预定交易在每个第二子时段的预测交易量。
根据本公开的实施例,上述确定多种预定交易各自的预测交易量还包括:根据已交易数据包括的每种预定交易的交易数据,确定多种预定交易中任意两种预定交易之间的相关系数;获取多种预定交易中至少一种预定交易的预测交易变化系数;根据相关系数及至少一种预定交易的预测交易变化系数,确定多种预定交易中除至少一种预定交易外的其他预定交易的预测交易变化系数。其中,每种预定交易在每个第二子时段的预测交易量是根据每个第二子时段的预测交易总量、针对每种预定交易的交易占比及每种预定交易的交易预测变化系数确定的。
根据本公开的实施例,上述交易数据包括第三时段的已交易数据。上述确定多种预定交易中任意两种预定交易之间的相关系数包括:根据已交易数据包括的每种预定交易的交易数据,确定多种预定交易各自在第三时段包括的m个第三子时段的交易量,得到多种预定交易各自的交易量集,其中每个交易量集包括与m个第三子时段分别对应的m个交易量;根据多种预定交易各自的交易量集,确定多种预定交易各自在m个第三子时段中相邻两个第三子时段的交易变化量,得到针对每种预定交易的(m-1)个交易变化量;以及根据针对每种预定交易的(m-1)个交易变化量,确定多种预定交易中任意两种预定交易之间的相关系数。其中,m为大于2的自然数。
根据本公开的实施例,上述相关系数采用以下公式计算得到:
Figure GDA0002226279680000031
其中,Rxy为多种预定交易中第x种预定交易与第y种预定交易之间的相关系数;dxi为针对第x种预定交易的(m-1)个交易变化量中的第i个交易变化量;dyi为针对第y种预定交易的(m-1)个交易变化量中的第i个交易变化量;
Figure GDA0002226279680000032
为针对第x种预定交易的(m-1)个交易变化量的平均值;/>
Figure GDA0002226279680000033
为针对第y种预定交易的(m-1)个交易变化量的平均值。
本公开的另一方面提供了一种交易压力测试装置,该装置包括:已交易数据获取模块,用于获取已交易数据,该已交易数据包括多种预定交易的交易数据;预测交易量确定模块,用于根据已交易数据,确定多种预定交易各自的预测交易量;测试脚本生成模块,用于根据多种预定交易各自的预测交易量,生成压力测试脚本;以及测试执行模块,用于运行压力测试脚本进行压力测试,得到压力测试结果。
本公开的另一方面提供了一种电子设备,包括:一个或多个处理器;以及存储装置,用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如上所述的交易压力测试方法。
本公开的另一方面提供了一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器实现如上所述的交易压力测试方法。
本公开的另一方面提供了一种计算机程序,所述计算机程序包括计算机可执行指令,所述指令在被执行时用于实现如上所述的交易压力测试方法。
根据本公开的实施例,先根据已交易数据来确定多种交易的预测交易量,再根据预测交易量生成测试脚本,可以使得该测试脚本包括的压力测试数据更为符合实际情况,使得根据测试脚本执行的交易压力测试方法能够真实反映服务上线后的实际压力情况。从而便于确定合适的服务器部署方案,使得服务器资源能够有效利用,并降低运营成本。
附图说明
通过以下参照附图对本公开实施例的描述,本公开的上述以及其他目的、特征和优点将更为清楚,在附图中:
图1示意性示出了根据本公开实施例的交易压力测试方法和装置、以及电子设备和计算机可读存储介质的应用场景;
图2示意性示出了根据本公开实施例的交易压力测试方法的流程图;
图3示意性示出了根据本公开示例性实施例一的确定多种预定交易各自的预测交易量的流程图;
图4示意性示出了根据本公开实施例的确定每种预定交易的预测交易量的流程图;
图5示意性示出了根据本公开示例性实施例二的确定多种预定交易各自的预测交易量的流程图;
图6示意性示出了根据本公开实施例的确定任意两种预定交易之间的相关系数的流程图;
图7示意性示出了根据本公开示例性实施例三的确定多种预定交易各自的预测交易量的流程图;
图8示意性示出了根据本公开实施例的交易压力测试装置的结构框图;以及
图9示意性示出了根据本公开实施例的适于执行交易压力测试方法的电子设备的结构框图。
具体实施方式
以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B和C中至少一个的***”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的***等)。在使用类似于“A、B或C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B或C中至少一个的***”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的***等)。
本公开的实施例提供了一种交易压力测试方法,该方法包括:获取已交易数据,该已交易数据包括多种预定交易的交易数据;根据已交易数据,确定多种预定交易各自的预测交易量;根据多种预定交易各自的预测交易量,生成压力测试脚本;以及运行压力测试脚本进行压力测试,得到压力测试结果。
图1示意性示出了根据本公开实施例的交易压力测试方法和装置、以及电子设备和可读存储介质的应用场景100。需要注意的是,图1所示仅为可以应用本公开实施例的应用场景的示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以用于其他设备、***、环境或场景。
如图1所示,本公开实施例的应用场景100可以包括终端设备101、102、103,数据库104、服务器105和网络106。网络106用于在终端设备101、102、103,数据库104与服务器105中的任意两个设备之间提供通信链路的介质。网络106可以包括各种连接类型,例如有线和/或无线通信链路等等。
其中,终端设备101、102、103例如可以是具有处理能力且具有显示屏的各种电子设备,包括但不限于台式计算机、膝上型便携计算机、平板电脑、智能手机、柜台机、ATM机等。
根据本公开的实施例,终端设备101、102、103例如可以从数据库104中获取存储的大量的已交易数据,并通过对已交易数据的处理得到多种预定交易的预测交易量。例如还可以根据预测交易量生成压力测试脚本,以通过运行该压力测试脚本来模拟实际的交易,完成对服务器105的访问,从而实现对服务器105中的交易***的压力测试。
根据本公开的实施例,数据库104和服务器105例如可以是服务机构(例如金融服务机构等)设置的数据库和服务器。数据库104用于存储终端设备通过访问服务器105生成的交易数据。
服务器105可以是用于向终端设备101、102、103提供各种服务的服务器,例如可以用于向终端设备101、102、103提供的交易服务提供支持。该服务器105例如还可以通过网络106与数据库104交互,以从数据库104中获取已交易数据,并通过处理该已交易数据生成压力测试脚本。以便于终端设备101、102、103通过运行该压力测试脚本实现对服务器105的压力测试。
可以理解的是,本公开实施例的交易压力测试方法可以由终端设备101、102、103执行;也可以部分由服务器105执行,部分由终端设备101、102、103执行。相应地,本公开实施例所提供的交易压力测试装置可以设置于终端设备101、102、103中;也可以部分模块设置于服务器105中,部分模块设置于终端设备101、102、103中。
应该理解,图1中的终端设备101、102、103,数据库104、服务器105和网络106的类型仅仅是示意性的。根据实现需要,可以具有任意类型的终端设备101、102、103,数据库104、服务器105和网络106。
图2示意性示出了根据本公开实施例的交易压力测试方法的流程图。
如图2所示,本公开实施例的交易压力测试方法包括操作S210~操作S240。
在操作S210,获取已交易数据,该已交易数据包括多种预定交易的交易数据。
根据本公开的实施例,该操作S210可以是从数据库104中获取预定时段内的交易数据。其中,获取的交易数据例如可以是如表1所示格式的数据。其中,多种预定交易例如可以包括交易A:“用户注册”交易、交易B:“用户登录”交易、交易C:“查询余额”交易、交易D:“转账”交易等。根据不同的应用场景,可以具有不同的多种预定交易。预定时段例如可以为1个季度、1个月、半个月、1周等,该预定时段可以根据实际需求进行设定,本公开对此不做限定。
表1
Figure GDA0002226279680000071
根据本公开的实施例,该操作S210例如还可以在生产环境下进行实时的数据采集,以采集预定时段内的实时交易数据。其中,数据采集例如可以是对于实际发生的每一次交易请求进行日志记录,以每一条日志记录作为一个已交易数据,日志记录的记录格式例如可以如表1所示。其中,交易代码为上述的多种预定交易的代码,每种预定交易具有唯一的一个代码,不同预定交易的代码不同。用户ID为通过终端设备101、102、103进行交易的用户标识。上送数据为用户通过终端设备101、102、103向服务器105上传的数据内容,返回数据为服务器105向终端设备101、102、103返回的数据内容。可以理解的是,图1中获取的已交易数据的格式仅作为示例以利于理解本公开,本公开对此不作限定。
在操作S220,根据已交易数据,确定多种预定交易各自的预测交易量。
根据本公开的实施例,该操作S220例如可以包括:根据已交易数据中的交易代码,将操作S210中获取的已交易数据归类为多个交易数据集,每个交易数据集包括具有同一交易代码的多个已交易数据。然后对多个交易数据集中各交易数据集包括的多个已交易数据的交易时间进行统计分析,得到各预定交易的交易规律,并根据各预定交易的交易规律推测得到各预定交易的预测交易量。
根据本公开的实施例,该操作S220例如可以包括:先根据操作S210中获取的已交易数据,统计得到各预定交易的交易占比,然后再根据各预定交易的交易占比来确定多种预定交易各自的预测交易量。例如,该操作S220可以通过图3或图5中任意一个示意图描述的方法来实现,在此不再详述。
根据本公开的实施例,为了提高操作S220的执行效率,该操作S220还可以采用预训练得到的预测模型来得到各预定交易的预测交易量。例如,该操作S220可以通过图7描述的方法来实现,在此不再详述。
在操作S230,根据多种预定交易各自的预测交易量,生成压力测试脚本。在操作S240,运行压力测试脚本进行压力测试,得到压力测试结果。
根据本公开的实施例,该操作S230例如可以包括:根据多种预定交易各自的预测交易量,确定各预定交易的预测交易量占多种预定交易的总预测交易量的占比。然后根据该占比生成压力测试脚本,使得压力测试脚本中包括的各预定交易的执行次数相对于总交易执行次数的占比与前述确定的交易量的占比相匹配。从而可以使得生成的压力测试脚本更为符合真实应用场景。
在生成压力测试脚本后,可以通过终端设备101、102、103运行该压力测试脚本,可以模拟真实的交易过程来对服务器105进行访问,并因此实现对服务器105的压力测试。压力测试结果可以用于表征服务器105是否能够承受运行该压力测试脚本时的访问压力。若能承受,则说明服务器105可以用于真实的交易场景,无需对服务器105进行扩容。若不能承受,则说明需要提高服务器105的配置,以使得真实交易的顺利实施,即可以通过对服务器105进行扩容而使得服务器105能够承受真实的交易压力。根据本公开的实施例,在压力测试结果表征服务器105能够承受运行压力测试脚本时的访问压力时,为了有效节省运营成本,还可以适当地对服务器105进行缩容,使得服务器105缩容后的配置恰好能够承受运行压力测试脚本的访问压力。
综上可知,本公开实施例的交易压力测试方法,通过根据各预定交易的预测交易量来生成压力测试脚本,可以使得压力测试脚本的运行更加符合真实的交易场景,从而可以提高压力测试结果的准确性,便于服务器部署方案的合理制定。
图3示意性示出了根据本公开示例性实施例一的确定多种预定交易各自的预测交易量的流程图。
如图3所示,图2中确定多种预定交易各自的预测交易量的操作S220例如可以包括操作S321~操作S322。
在操作S321,根据已交易数据的数据总量及已交易数据包括的每种预定交易的交易数据的数据量,确定针对多种预定交易中每种预定交易的交易占比。
根据本公开的实施例,该操作S321例如可以包括:先根据已交易数据的交易代码,将获取的已交易数据根据交易代码归类为多个交易数据集,每个交易数据集包括的已交易数据具有相同的交易代码,不同的交易数据集包括的已交易数据具有不同的交易代码。然后确定每个交易数据集包括的已交易数据的数据量。其中,多个交易数据集例如可以为n个,其中该n个交易数据集中第k个交易数据集包括的已交易数据的数据量可以表示为Sk。若该第k个交易数据集包括的已交易数据的交易代码为C,则交易代码为C的预定交易的交易占比PC可以采用以下公式(1)计算得到。采用如上述交易代码为C的预定交易的交易占比的方法可以计算得到多种预定交易中每种预定交易的交易占比,最终可以整理得到如表2所示的交易量占比表。其中,k为小于等于n的正整数。
Figure GDA0002226279680000101
表2交易量占比表
交易代码 交易占比
A P<sub>A</sub>
B P<sub>B</sub>
C P<sub>C</sub>
…… ……
N P<sub>N</sub>
在操作S322,根据针对每种预定交易的交易占比和压力测试规则,确定每种预定交易的预测交易量。
根据本公开的实施例,压力测试规则可以是:按预定的整体呈现递增的函数,使得交易量在压测时段内从0递增至目标交易量的规则。该压力测试规则例如可以包括以下至少之一:交易量线性递增的压力测试规则、交易量阶梯型递增的压力测试规则、交易量曲线递增的压力测试规则,相应地,预定的函数可以包括以下至少之一:线形递增函数、阶梯型递增函数、曲线递增函数等。例如,该压力测试规则可以为:在10分钟内将压测目标由0TPS线性增长至X TPS。其中,TPS为Transactions Per Second的缩写,即为服务器105每秒处理的事务数。目标交易量可以根据实际的交易需求进行设定,本公开对此不作限定。
根据本公开的实施例,该操作S322例如可以包括:根据该每种预定交易的交易占比和压力测试规则,确定每种交易在未来时段内的交易量。该操作S322例如可以通过图4描述的方法来确定每种预定交易的预测交易量,在此不再详述。
图4示意性示出了根据本公开实施例的确定每种预定交易的预测交易量的流程图。
如图4所示,确定每种预定交易的预测交易量的操作S322可以包括操作S4221~操作S4222。
在操作S4221,根据压力测试规则,确定第二时段内每个第二子时段的预测交易总量。
根据本公开的实施例,第二时段例如可以是不小于压力测试规则交易量递增时段的任意时段。其中,每个第二子时段的时长例如可以根据压力测试规则及压力测试精度来确定。例如,若压力测试规则为交易量线性递增的压力测试规则,则该第二子时段例如可以为1秒,或者1min。若压力测试精度要求较高,则该第二子时段应选择较小的时段。
根据本公开的实施例,上述操作S4221例如可以包括:先根据压力测试规则,确定第二时段及第二子时段的长度,然后再确定每个第二子时段的预测交易总量。例如,若压力测试规则为在10分钟内将压测目标由0TPS线性增长至X TPS,第二时段的时长可以为amin,第二子时段的时长可以为b min,因此,第二子时段的总个数为a/b。可以通过以下公式(2)计算得到a/b个第二子时段中第l个第二子时段的预测交易总量Sl。其中,a为大于等于10min的任意值,且a/b的取值为正整数,l为大于等于1、小于等于a/b的整数。
Figure GDA0002226279680000111
在操作S4222,根据每个第二子时段的预测交易总量及针对每种预定交易的交易占比,确定每种预定交易在每个第二子时段的预测交易量。
根据本公开的实施例,该操作S4222例如可以包括:根据操作S4221中确定的每个第二子时段的预测交易量与针对每种预定交易的交易占比相乘,计算得到每种预定交易在每个第二子时段的预测交易量。例如,对于交易代码为C的预定交易,其在第l个第二子时段的预测交易量SlC可以通过以下公式(3)计算得到。在确定得到每种预定交易在每个第二子时段的预测交易量后,即可根据该确定得到的预测交易量生成压力测试脚本,从而进行压力测试。
SlC=Sl×PC。 公式(3)
根据本公开的实施例,为了使得最终生成的压力测试脚本更为符合真实的交易场景,例如还可以对每种预定交易的预测交易量进行针对性的调整。该针对性的调整例如可以通过终端设备101、102、103与用户的交互结果来进行。例如可以获取用户通过终端设备101、102、103输入的至少一种预定交易在未来的预测增长率,并根据该预测增长率对至少一种预定交易的预测交易量进行调整。考虑到多种预定交易中除了至少一种预定交易外,其他预定交易可能与该至少一种预定交易具有关联关系,因此还应根据该关联关系对其他预定交易的预测交易量进行调整。
图5示意性示出了根据本公开示例性实施例二的确定多种预定交易各自的预测交易量的流程图。
如图5所示,确定多种预定交易各自的预测交易量的操作S220除了操作S321~操作S322外,还可以包括操作S523~操作S525。
在操作S523,根据已交易数据包括的每种预定交易的交易数据,确定多种预定交易中任意两种预定交易之间的相关系数。
根据本公开的实施例,该操作S523例如可以包括:先根据每种预定交易的交易数据,统计每种预定交易在所述预定时段包括的多个第三子时段中每个第三子时段的交易量。然后再根据该每个第三子时段的交易量,确定每种预定交易随时间的变化量。最后再根据任意两种预定交易随时间的变化量,确定任意两种预定交易之间的相关系数。
根据本公开的实施例,该操作S523例如可以通过图6描述的操作是6231~操作S6233来确定任意两种预定交易之间的相关系数,在此不再详述。
在操作S524,获取多种预定交易中至少一种预定交易的预测交易变化系数。
根据本公开的实施例,该操作S524例如可以是响应于用户对终端设备101、102、103的操作来获取至少一种预定交易的预测交易变化系数。该预测交易变化系数例如可以为预定交易的预测增长百分比,该预测交易变化系数为用户通过终端设备101、102、103输入的。可以理解的是,上述预测交易变化系数的类型及获取方式仅作为示例以利于理解本公开,本公开对此不作限定。例如,该操作S524中获取的预测交易变化系数例如可以仅包括交易代码为C的预定交易的预测交易变化系数TC
在操作S525,根据相关系数及至少一种预定交易的预测交易变化系数,确定多种预定交易中除所述至少一种预定交易外的其他预定交易的预测交易变化系数。
根据本公开的实施例,该操作S525例如可以包括:根据多种预定交易中除至少一种预定交易外的其他预定交易与至少一种预定交易的相关系数、及至少一种预定交易的预测交易变化系数,来确定其他预定交易的预测交易变化系数。
例如,若操作S524获取的是交易代码为C的预定交易的预测交易变化系数TC时,交易代码为A的预定交易的预测交易变化系数TA可以通过以下公式(4)计算得到:
TA=TC×RAC; 公式(4)
其中,RAC为交易代码为A的预定交易与交易代码为C的预定交易之间的相关系数。
根据本公开的实施例,若在操作S524中获取的预测交易变化系数为至少两种预定交易的预测交易变化系数,则可以通过为该至少两种预定交易的预测变化系数分配权重的方式来确定其他预定交易的预测交易变化系数。例如,若操作S524获取的预测交易变化系数包括:交易代码为C的预定交易的预测交易变化系数TC,以及交易代码为D的预定交易的预测交易变化系数TD。则可以分别为交易变化系数TC和交易变化系数TD分配权重,例如若为交易变化系数TC分配的权重为p,为交易变化系数TD分配的权重为q,则交易代码为A的预定交易的预测交易变化系数TA可以通过以下公式(5)计算得到:
TA=p×TC×RAC+q×Td×RAD; 公式(5)
其中,RAD为交易代码为A的预定交易与交易代码为D的预定交易之间的相关系数,p与q的和为1。
相应地,在本公开实施例中,操作S322例如可以通过操作S522来实现。在操作S522,根据每个第二子时段的预测交易总量、针对每种预定交易的交易占比及每种预定交易的交易预测变化系数,确定每种预定交易在每个第二子时段的预测交易量。例如,对于交易代码为A的预定交易,其在第l个第二子时段的预测交易量SlA可以通过以下公式(6)计算得到。
SlA=Sl×PA×TA。 公式(6)
图6示意性示出了根据本公开实施例的确定任意两种预定交易之间的相关系数的流程图。
如图6所示,确定任意两种预定交易之间的相关系数的操作S523可以包括操作S6231~S6233。其中,操作S210中获取的已交易数据例如可以是第三时段内的已交易数据。为了便于确定每种预定交易随时间的变化量,可以将该第三时段划分为多个第三子时段。该第三子时段的长度例如可以为1min,或者5min、10min等。该第三子时段的长度可以依据第三时段的长度来确定,也可根据实际需求来确定,本公开不作限定。
在操作S6231,根据已交易数据包括的每种预定交易的交易数据,确定多种预定交易各自在第三时段包括的m个第三子时段的交易量,得到多种预定交易各自的交易量集,其中每个交易量集包括与m个第三子时段分别对应的m个交易量。
根据本公开的实施例,该操作S6231例如可以包括:先确定操作S210中获取的已交易数据中,每种预定交易在m个第三子时段中每个第三子时段的交易量,得到针对每种预定交易的m个交易量。然后再将针对每种预定交易的m个交易量归集得到一个交易量集。
在操作S6232,根据多种预定交易各自的交易量集,确定多种预定交易各自在m个第三子时段中相邻两个第三子时段的交易变化量,得到针对每种预定交易的(m-1)个交易变化量。
根据本公开的实施例,若交易代码为A的预定交易的交易量集为QA,该QA包括的交易量例如可以有SA1、SA2、SA3、SA4、……、SAm。则通过操作S6232得到的针对每种预定交易的(m-1)个交易变化量包括:dA1、dA2、dA3、……、dA(m-1)。其中,dA1=SA2-SA1、dA2=SA3-SA2、……、dA(m-1)=SAm-SA(m-1)
在操作S6233,根据针对每种预定交易的(m-1)个交易变化量,确定多种预定交易中任意两种预定交易之间的相关系数。
根据本公开的实施例,对于多种预定交易中的第x种预定交易与第y种预定交易而言,该两者之间的相关系数例如可以通过以下公式(7)来确定:
Figure GDA0002226279680000151
其中,Rxy为多种预定交易中第x种预定交易与第y种预定交易之间的相关系数;dxi为针对第x种预定交易的(m-1)个交易变化量中的第i个交易变化量;dyi为针对第y种预定交易的(m-1)个交易变化量中的第i个交易变化量;
Figure GDA0002226279680000152
为针对第x种预定交易的(m-1)个交易变化量的平均值;/>
Figure GDA0002226279680000153
为针对第y种预定交易的(m-1)个交易变化量的平均值。其中,x、y例如还可以用预定交易的交易代码来替代。例如,在计算交易代码为A的预定交易与交易代码为B的预定交易之间的相关系数时,上述Rxy可以表示为RAB,dxi可以表示为dAi,dyi可以表示为dBi
根据本公开的实施例,为了提高处理效率,确定多种预定交易各自的预测交易量时,例如还可以采用预训练的预测模型来处理得到预测交易量。根据本公开的实施例,例如还可以定期对预测模型进行修正,以提高预测交易量的准确率。
图7示意性示出了根据本公开示例性实施例三的确定多种预定交易各自的预测交易量的流程图。
如图7所示,确定多种预定交易各自的预测交易量的操作S220例如可以包括操作S721~操作S722。其中,操作S210中获取的已交易数据例如可以为第一时段的交易数据。该第一时段与前述的第三时段可以为相同时段。为了便于预测每种预定交易的预测交易量,还可以将该第一时段划分为多个第一子时段,该第一子时段的划分方法可以与前述的第三子时段的划分方法相同或相似。为了提高预测交易量的准确性,该第一子时段的时长例如可以比第三子时段的时长短,该第一子时段例如可以按秒或按分划分得到,每个第一子时段的时长可以为1s、5s、10s、1min或5min等,该第一子时段的时长可以根据实际需求进行设定,本公开对此不作限定。
在操作S721,根据多种预定交易的交易数据,确定多种预定交易各自在第一时段包括的多天中每天包括的多个第一子时段的交易量,得到多种预定交易各自针对多个第一子时段的多个交易量向量。
根据本公开的实施例,该操作S721例如可以包括:先确定第一时段包括的天数,然后将第一时段包括的天数中的每天均划分为多个第一子时段。然后再根据多种预定交易的交易数据,确定每种预定交易各自针对每天中每个第一子时段的交易量。对于每种预定交易,均可统计得到以下表3所示的交易量汇总表,表3中以交易代码为A的预定交易为例进行说明。然后再将表3中多天中的相同第一子时段的交易量汇总得到一个交易量向量,从而得到每个预定交易针对多个第一子时段的多个交易量向量。对于每个预定交易,交易量向量的个数与每天包括的第一子时段的个数相同。
根据本公开的实施例,第一时段例如可以包括有W天,第一子时段的时长例如可以为1s,则第一子时段的个数为1440。通过操作S721得到的与每种预定交易对应的交易量向量的个数为1440个,对于交易代码为A的预定交易,表3中的每列包括的W个交易量构成一个交易量向量。
表3交易代码为A的预定交易的交易量汇总表
交易A 00:00 00:01 00:02 00:03 00:04 …… 23:59
第1日 SA<sub>1-0</sub> SA<sub>1-1</sub> SA<sub>1-2</sub> SA<sub>1-3</sub> SA<sub>1-4</sub> …… SA<sub>1-1439</sub>
第2日 SA<sub>2-0</sub> SA<sub>2-1</sub> SA<sub>2-2</sub> SA<sub>2-3</sub> SA<sub>2-4</sub> …… SA<sub>2-1439</sub>
第3日 SA<sub>3-0</sub> SA<sub>3-1</sub> SA<sub>3-2</sub> SA<sub>3-3</sub> SA<sub>3-4</sub> …… SA<sub>3-1439</sub>
…… …… …… …… …… …… …… ……
第W日 SA<sub>w-0</sub> SA<sub>w-1</sub> SA<sub>w-2</sub> SA<sub>w-3</sub> SA<sub>w-4</sub> …… SA<sub>w-1439</sub>
在操作S722,根据多种预定交易各自针对多个子时段中每个第一子时段的交易量向量,确定多种预定交易各自在第二时段中每个第一子时段的预测交易量。
根据本公开的实施例,该操作S722例如可以包括:将针对多种预定交易各自针对每个第一子时段的交易量向量输入长短期记忆模型(LSTM模型),确定得到多种预定交易各自在第二时段中每个第一子时段的预测交易量。具体可以包括:将每种预定交易针对每个第一子时段的交易量向量输入长短期记忆模型中,经由长短期记忆模型输出得到预测交易量向量,该预测交易量向量中包括未来几天内每个第一子时段的预测交易量。其中,预测交易量向量中包括的预测交易量的个数由对长短期记忆网络模型各个参数的设定来确定。
其中,长短期记忆模型例如可以是采用与交易量向量类似的大量向量样本训练得到。预测交易量向量中包括的预测交易量个数例如可以与作为输入的交易量向量包括的交易量个数相同。可以理解的是,上述采用的预测模型的类型仅作为示例以利于理解本公开,本公开对此不作限定,只要该预测模型能够考虑到时间相关性即可。
根据本公开的实施例,随着每日交易数据的不断生成、积累,例如可以定期的更新前述提及的每个预定交易的交易量占比、任意两个预定交易之间的相关系数。或者,可以根据实时更新的统计数据,对LSTM模型进行定期的针对性的修正。从而使得压力测试结果更为符合实际交易场景,以便于及时的对服务器进行扩容、缩容,从而有效节省交易的运营成本,提高资源利用率。
图8示意性示出了根据本公开实施例的交易压力测试装置的结构框图。
如图8所示,本公开实施例的交易压力测试装置800包括已交易数据获取模块810、预测交易量确定模块820、测试脚本生成模块830和测试执行模块840。
已交易数据获取模块810用于获取已交易数据,该已交易数据包括多种预定交易的交易数据(操作S210)。
预测交易量确定模块820用于根据已交易数据,确定多种预定交易各自的预测交易量(操作S220)。
测试脚本生成模块830用于根据多种预定交易各自的预测交易量,生成压力测试脚本(操作S230)。
测试执行模块840用于运行压力测试脚本进行压力测试,得到压力测试结果(操作S240)。
根据本公开的实施例,如图8所示,在一实施例中,预测交易量确定模块820例如可以包括交易占比确定子模块821和预测交易量确定子模块822。交易占比确定子模块821用于根据已交易数据的数据总量及已交易数据包括的每种预定交易的交易数据的数据量,确定针对多种预定交易中每种预定交易的交易占比(操作S321)。预测交易量确定子模块822用于根据针对每种预定交易的交易占比和压力测试规则,确定每种预定交易的预测交易量(操作S322)。
根据本公开的实施例,预测交易量确定子模块822例如可以用于:先根据压力测试规则,确定第二时段内每个第二子时段的预测交易总量(操作S4221),然后再根据每个第二子时段的预测交易总量及针对每种预定交易的交易占比,确定每种预定交易在每个第二子时段的预测交易量(操作S4222)。
根据本公开的实施例,如图8所示,在所述一实施例中,上述预测交易量确定模块820除了交易占比确定子模块821和预测交易量确定子模块822外,还可以包括相关系数确定子模块823、变化系数获取子模块824和变化系数确定子模块825。相关系数确定子模块823用于根据已交易数据包括的每种预定交易的交易数据,确定多种预定交易中任意两种预定交易之间的相关系数(操作S523)。变化系数获取子模块824用于获取多种预定交易中至少一种预定交易的预测交易变化系数(操作S524)。变化系数确定子模块825用于根据相关系数及至少一种预定交易的预测交易变化系数,确定多种预定交易中除至少一种预定交易外的其他预定交易的预测交易变化系数(操作S525)。相应地,上述预测交易量确定子模块822用于根据每个第二子时段的预测交易总量、针对每种预定交易的交易占比及每种预定交易的交易预测变化系数,确定每种预定交易在每个第二子时段的预测交易量(操作S522)。
根据本公开的实施例,上述交易数据包括第三时段的已交易数据,上述相关系数确定子模块823具体用于:根据已交易数据包括的每种预定交易的交易数据,确定多种预定交易各自在所述第三时段包括的m个第三子时段的交易量,得到多种预定交易各自的交易量集(操作S6231),其中每个交易量集包括与m个第三子时段分别对应的m个交易量;根据多种预定交易各自的交易量集,确定多种预定交易各自在m个第三子时段中相邻两个第三子时段的交易变化量,得到针对每种预定交易的(m-1)个交易变化量(操作S6232);以及根据针对每种预定交易的(m-1)个交易变化量,确定多种预定交易中任意两种预定交易之间的相关系数(操作S6233)。其中,m为大于2的自然数。
根据本公开的实施例,上述相关系数可以采用以下公式计算得到:
Figure GDA0002226279680000191
/>
其中,Rxy为多种预定交易中第x种预定交易与第y种预定交易之间的相关系数;dxi为针对第x种预定交易的(m-1)个交易变化量中的第i个交易变化量;dyi为针对第y种预定交易的(m-1)个交易变化量中的第i个交易变化量;
Figure GDA0002226279680000192
为针对第x种预定交易的(m-1)个交易变化量的平均值;/>
Figure GDA0002226279680000193
为针对第y种预定交易的(m-1)个交易变化量的平均值。
根据本公开的实施例,如图8所示,在另一实施例中,预测交易量确定模块820例如可以包括交易量确定子模块821’和交易量预测子模块822’。交易量确定子模块821’用于根据多种预定交易的交易数据,确定多种预定交易各自在第一时段包括的多天中每天包括的多个第一子时段的交易量,得到多种预定交易各自针对多个第一子时段的多个交易量向量(操作S721)。交易量预测子模块822’用于根据多种预定交易各自针对多个子时段中每个第一子时段的交易量向量,确定多种预定交易各自在第二时段中每个第一子时段的预测交易量(操作S722)。
根据本公开的实施例,上述交易量预测子模块822’具体用于将针对多种预定交易各自针对每个第一子时段的交易量向量输入长短期记忆模型,确定得到多种预定交易各自在第二时段中每个第一子时段的预测交易量。
根据本公开的实施例的模块、子模块、单元、子单元中的任意多个、或其中任意多个的至少部分功能可以在一个模块中实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以被拆分成多个模块来实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上***、基板上的***、封装上的***、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式的硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,根据本公开实施例的模块、子模块、单元、子单元中的一个或多个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
例如,已交易数据获取模块810、预测交易量确定模块820、测试脚本生成模块830、测试执行模块840、交易占比确定子模块821、预测交易量确定子模块822、相关系数确定子模块823、变化系数获取子模块824、变化系数确定子模块825、交易量确定子模块821’和交易量预测子模块822’中的任意多个可以合并在一个模块/单元/子单元。或者,这些模块/单元/子单元中的一个或多个模块/单元/子单元的至少部分功能可以与其他模块/单元/子单元的至少部分功能相结合,并在一个模块/单元/子单元中实现。根据本公开的实施例,已交易数据获取模块810、预测交易量确定模块820、测试脚本生成模块830、测试执行模块840、交易占比确定子模块821、预测交易量确定子模块822、相关系数确定子模块823、变化系数获取子模块824、变化系数确定子模块825、交易量确定子模块821’和交易量预测子模块822’中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上***、基板上的***、封装上的***、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,已交易数据获取模块810、预测交易量确定模块820、测试脚本生成模块830、测试执行模块840、交易占比确定子模块821、预测交易量确定子模块822、相关系数确定子模块823、变化系数获取子模块824、变化系数确定子模块825、交易量确定子模块821’和交易量预测子模块822’中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
图9示意性示出了根据本公开实施例的适于执行交易压力测试方法的电子设备的结构框图。图9示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图9所示,根据本公开实施例的电子设备900包括处理器901,其可以根据存储在只读存储器(ROM)902中的程序或者从存储部分908加载到随机访问存储器(RAM)903中的程序而执行各种适当的动作和处理。处理器901例如可以包括通用微处理器(例如CPU)、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC)),等等。处理器901还可以包括用于缓存用途的板载存储器。处理器901可以包括用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
在RAM 903中,存储有电子设备900操作所需的各种程序和数据。处理器901、ROM902以及RAM 903通过总线904彼此相连。处理器901通过执行ROM 902和/或RAM 903中的程序来执行根据本公开实施例的方法流程的各种操作。需要注意,所述程序也可以存储在除ROM 902和RAM 903以外的一个或多个存储器中。处理器901也可以通过执行存储在所述一个或多个存储器中的程序来执行根据本公开实施例的方法流程的各种操作。
根据本公开的实施例,电子设备900还可以包括输入/输出(I/O)接口905,输入/输出(I/O)接口905也连接至总线904。电子设备900还可以包括连接至I/O接口905的以下部件中的一项或多项:包括键盘、鼠标等的输入部分906;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分907;包括硬盘等的存储部分908;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分909。通信部分909经由诸如因特网的网络执行通信处理。驱动器910也根据需要连接至I/O接口905。可拆卸介质911,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器910上,以便于从其上读出的计算机程序根据需要被安装入存储部分908。
根据本公开的实施例,根据本公开实施例的方法流程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读存储介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分909从网络上被下载和安装,和/或从可拆卸介质911被安装。在该计算机程序被处理器901执行时,执行本公开实施例的***中限定的上述功能。根据本公开的实施例,上文描述的***、设备、装置、模块、单元等可以通过计算机程序模块来实现。
本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备/装置/***中所包含的;也可以是单独存在,而未装配入该设备/装置/***中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的方法。
根据本公开的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质。例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。
例如,根据本公开的实施例,计算机可读存储介质可以包括上文描述的ROM 902和/或RAM 903和/或ROM 902和RAM 903以外的一个或多个存储器。
附图中的流程图和框图,图示了按照本公开各种实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。

Claims (8)

1.一种交易压力测试方法,包括:
获取已交易数据,所述已交易数据包括多种预定交易的交易数据;
根据所述已交易数据,确定所述多种预定交易各自的预测交易量;
根据所述多种预定交易各自的预测交易量,生成压力测试脚本;以及
运行所述压力测试脚本进行压力测试,得到压力测试结果;
其中,确定所述多种预定交易各自的预测交易量包括:根据所述已交易数据的数据总量及所述已交易数据包括的每种预定交易的交易数据的数据量,确定针对所述多种预定交易中每种预定交易的交易占比;以及根据针对所述每种预定交易的交易占比和压力测试规则,确定所述每种预定交易的预测交易量;
确定所述每种预定交易的预测交易量包括:根据所述压力测试规则,确定第二时段内每个第二子时段的预测交易总量;以及根据所述每个第二子时段的预测交易总量及针对所述每种预定交易的交易占比,确定所述每种预定交易在所述每个第二子时段的预测交易量;
确定所述多种预定交易各自的预测交易量还包括:根据所述已交易数据包括的每种预定交易的交易数据,确定所述多种预定交易中任意两种预定交易之间的相关系数;获取所述多种预定交易中至少一种预定交易的预测交易变化系数;根据所述相关系数及所述至少一种预定交易的预测交易变化系数,确定所述多种预定交易中除所述至少一种预定交易外的其他预定交易的预测交易变化系数,所述每种预定交易在所述每个第二子时段的预测交易量是根据所述每个第二子时段的预测交易总量、针对所述每种预定交易的交易占比及所述每种预定交易的交易预测变化系数确定的,预测交易变化系数为预定交易的预测增长百分比;
根据多种预定交易各自的预测交易量,生成压力测试脚本包括:根据多种预定交易各自的预测交易量,确定各预定交易的预测交易量占多种预定交易的总预测交易量的占比,然后根据该占比生成压力测试脚本,使得压力测试脚本中包括的各预定交易的执行次数相对于总交易执行次数的占比与前述确定的交易量的占比相匹配。
2.根据权利要求1所述的方法,其中,所述已交易数据包括第一时段的已交易数据;确定所述多种预定交易各自的预测交易量包括:
根据所述多种预定交易的交易数据,确定所述多种预定交易各自在所述第一时段包括的多天中每天包括的多个第一子时段的交易量,得到所述多种预定交易各自针对所述多个第一子时段的多个交易量向量;以及
根据所述多种预定交易各自针对所述多个第一子时段中每个第一子时段的交易量向量,确定所述多种预定交易各自在第二时段中每个第一子时段的预测交易量。
3.根据权利要求2所述的方法,其中,确定所述多种预定交易各自在第二时段中每个第一子时段的预测交易量包括:
将针对所述多种预定交易各自针对所述每个第一子时段的交易量向量输入长短期记忆模型,确定得到所述多种预定交易各自在第二时段中每个第一子时段的预测交易量。
4.根据权利要求1所述的方法,其中,所述交易数据包括第三时段的已交易数据;确定所述多种预定交易中任意两种预定交易之间的相关系数包括:
根据所述已交易数据包括的每种预定交易的交易数据,确定所述多种预定交易各自在所述第三时段包括的m个第三子时段的交易量,得到所述多种预定交易各自的交易量集,其中每个交易量集包括与所述m个第三子时段分别对应的m个交易量;
根据所述多种预定交易各自的交易量集,确定所述多种预定交易各自在所述m个第三子时段中相邻两个第三子时段的交易变化量,得到针对每种预定交易的(m-1)个交易变化量;以及
根据针对每种预定交易的(m-1)个交易变化量,确定所述多种预定交易中任意两种预定交易之间的相关系数,
其中,m为大于2的自然数。
5.根据权利要求4所述的方法,其中,所述相关系数采用以下公式计算得到:
Figure QLYQS_1
其中,Rxy为多种预定交易中第x种预定交易与第y种预定交易之间的相关系数;dxi为针对所述第x种预定交易的(m-1)个交易变化量中的第i个交易变化量;dyi为针对所述第y种预定交易的(m-1)个交易变化量中的第i个交易变化量;
Figure QLYQS_2
为针对所述第x种预定交易的(m-1)个交易变化量的平均值;/>
Figure QLYQS_3
为针对所述第y种预定交易的(m-1)个交易变化量的平均值。
6.一种交易压力测试装置,包括:
已交易数据获取模块,用于获取已交易数据,所述已交易数据包括多种预定交易的交易数据;
预测交易量确定模块,用于根据所述已交易数据,确定所述多种预定交易各自的预测交易量;
测试脚本生成模块,用于根据所述多种预定交易各自的预测交易量,生成压力测试脚本;以及
测试执行模块,用于运行所述压力测试脚本进行压力测试,得到压力测试结果;
其中,确定所述多种预定交易各自的预测交易量包括:根据所述已交易数据的数据总量及所述已交易数据包括的每种预定交易的交易数据的数据量,确定针对所述多种预定交易中每种预定交易的交易占比;以及根据针对所述每种预定交易的交易占比和压力测试规则,确定所述每种预定交易的预测交易量;
确定所述每种预定交易的预测交易量包括:根据所述压力测试规则,确定第二时段内每个第二子时段的预测交易总量;以及根据所述每个第二子时段的预测交易总量及针对所述每种预定交易的交易占比,确定所述每种预定交易在所述每个第二子时段的预测交易量;
确定所述多种预定交易各自的预测交易量还包括:根据所述已交易数据包括的每种预定交易的交易数据,确定所述多种预定交易中任意两种预定交易之间的相关系数;获取所述多种预定交易中至少一种预定交易的预测交易变化系数;根据所述相关系数及所述至少一种预定交易的预测交易变化系数,确定所述多种预定交易中除所述至少一种预定交易外的其他预定交易的预测交易变化系数,所述每种预定交易在所述每个第二子时段的预测交易量是根据所述每个第二子时段的预测交易总量、针对所述每种预定交易的交易占比及所述每种预定交易的交易预测变化系数确定的,预测交易变化系数为预定交易的预测增长百分比;
根据多种预定交易各自的预测交易量,生成压力测试脚本包括:根据多种预定交易各自的预测交易量,确定各预定交易的预测交易量占多种预定交易的总预测交易量的占比,然后根据该占比生成压力测试脚本,使得压力测试脚本中包括的各预定交易的执行次数相对于总交易执行次数的占比与前述确定的交易量的占比相匹配。
7.一种电子设备,包括:
一个或多个处理器;以及
存储装置,用于存储一个或多个程序,
其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现权利要求1~5中任一项所述的方法。
8.一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器实现权利要求1~5中任一项所述的方法。
CN201910799197.2A 2019-08-27 2019-08-27 交易压力测试方法和装置、以及电子设备和可读存储介质 Active CN110569190B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910799197.2A CN110569190B (zh) 2019-08-27 2019-08-27 交易压力测试方法和装置、以及电子设备和可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910799197.2A CN110569190B (zh) 2019-08-27 2019-08-27 交易压力测试方法和装置、以及电子设备和可读存储介质

Publications (2)

Publication Number Publication Date
CN110569190A CN110569190A (zh) 2019-12-13
CN110569190B true CN110569190B (zh) 2023-03-31

Family

ID=68776405

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910799197.2A Active CN110569190B (zh) 2019-08-27 2019-08-27 交易压力测试方法和装置、以及电子设备和可读存储介质

Country Status (1)

Country Link
CN (1) CN110569190B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111309594B (zh) * 2020-01-17 2024-04-23 腾讯科技(深圳)有限公司 一种***测试方法、装置、设备及存储介质
CN112381322A (zh) * 2020-11-27 2021-02-19 上海九方云智能科技有限公司 基于期权计算波动率指数来进行风险预警的方法及***
CN112799950A (zh) * 2021-02-04 2021-05-14 北京中交兴路信息科技有限公司 后台服务的负载能力测试***、方法、存储介质及电子设备

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7328134B1 (en) * 2004-02-26 2008-02-05 Sprint Communications Company L.P. Enterprise integration test tool
CN102184135A (zh) * 2011-04-19 2011-09-14 中国工商银行股份有限公司 在银行***中基于指令脚本的测试方法及***
CN102890803A (zh) * 2011-07-21 2013-01-23 阿里巴巴集团控股有限公司 电子商品异常交易过程的确定方法及其装置
CN106470133A (zh) * 2015-08-20 2017-03-01 阿里巴巴集团控股有限公司 ***压力测试方法及装置
CN108304322A (zh) * 2018-01-12 2018-07-20 深圳壹账通智能科技有限公司 一种压力测试方法及终端设备
CN108537544A (zh) * 2018-04-04 2018-09-14 中南大学 一种交易***实时监控方法及其监控***
CN109165153A (zh) * 2018-09-06 2019-01-08 华泰证券股份有限公司 一种高***券业交易类***的性能测试方法
CN109636017A (zh) * 2018-11-29 2019-04-16 深圳昆腾信息科技有限公司 一种金融交易价格预测方法、装置、介质及设备
CN109919684A (zh) * 2019-03-18 2019-06-21 上海盛付通电子支付服务有限公司 用于生成信息预测模型的方法、电子设备和计算机可读存储介质
CN110009380A (zh) * 2018-11-29 2019-07-12 阿里巴巴集团控股有限公司 交易数据预测方法、装置、电子设备及计算机存储介质

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7328134B1 (en) * 2004-02-26 2008-02-05 Sprint Communications Company L.P. Enterprise integration test tool
CN102184135A (zh) * 2011-04-19 2011-09-14 中国工商银行股份有限公司 在银行***中基于指令脚本的测试方法及***
CN102890803A (zh) * 2011-07-21 2013-01-23 阿里巴巴集团控股有限公司 电子商品异常交易过程的确定方法及其装置
CN106470133A (zh) * 2015-08-20 2017-03-01 阿里巴巴集团控股有限公司 ***压力测试方法及装置
CN108304322A (zh) * 2018-01-12 2018-07-20 深圳壹账通智能科技有限公司 一种压力测试方法及终端设备
CN108537544A (zh) * 2018-04-04 2018-09-14 中南大学 一种交易***实时监控方法及其监控***
CN109165153A (zh) * 2018-09-06 2019-01-08 华泰证券股份有限公司 一种高***券业交易类***的性能测试方法
CN109636017A (zh) * 2018-11-29 2019-04-16 深圳昆腾信息科技有限公司 一种金融交易价格预测方法、装置、介质及设备
CN110009380A (zh) * 2018-11-29 2019-07-12 阿里巴巴集团控股有限公司 交易数据预测方法、装置、电子设备及计算机存储介质
CN109919684A (zh) * 2019-03-18 2019-06-21 上海盛付通电子支付服务有限公司 用于生成信息预测模型的方法、电子设备和计算机可读存储介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
基于大型金融***软件的压力测试研究及实现;史亚娟等;《计算技术与自动化》;20061201;全文 *
金融软件性能测试的专业技能;孙兴建等;《中国金融电脑》;20090615(第06期);全文 *

Also Published As

Publication number Publication date
CN110569190A (zh) 2019-12-13

Similar Documents

Publication Publication Date Title
CN110569190B (zh) 交易压力测试方法和装置、以及电子设备和可读存储介质
US10783002B1 (en) Cost determination of a service call
CN109272348B (zh) 活跃用户数量确定方法及装置、存储介质和电子设备
CN110753920A (zh) 用于优化和模拟网页排序和流量的***和方法
CN112598472B (zh) 产品推荐方法、装置、***、介质和程序产品
CN113034171B (zh) 一种业务数据处理方法、装置、计算机及可读存储介质
CN111415199A (zh) 一种基于大数据的客户预测更新方法、装置及存储介质
CN112016794B (zh) 资源配额管理方法、装置和电子设备
CN110245684B (zh) 数据处理方法、电子设备和介质
CN111681112A (zh) 一种管理投放策略的方法、装置和电子设备
CN111897706A (zh) 服务器性能预测方法、装置、计算机***和介质
US11037183B2 (en) System and method for blending promotion effects based on statistical relevance
CN109978594B (zh) 订单处理方法、装置及介质
US10956920B1 (en) Methods and systems for implementing automated bidding models
CN112950250A (zh) 房屋价值的评估方法、装置、存储介质和智能终端
CN114520773B (zh) 一种服务请求的响应方法、装置、服务器及存储介质
CN113592263A (zh) 基于动态资源归还增比的资源归还增量预测方法和装置
US20210065231A1 (en) Methods and apparatus to estimate census level impressions and unique audience sizes across demographics
US8881155B2 (en) Apportioning summarized metrics based on unsummarized metrics in a computing system
CN113672834A (zh) 数据处理方法、装置、电子设备及计算机可读介质
CN117349546A (zh) 用于生成信息的方法、装置和***
US11973576B2 (en) Methods, systems and apparatus to determine panel attrition
CN115689152A (zh) 企业产量的预测方法、装置、电子设备和介质
US20230385858A1 (en) Methods and apparatus to adjust for non-response using big data
CN111756590B (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