CN106528825B - 一种银行系统压力测试关联交易的发压方法及系统 - Google Patents

一种银行系统压力测试关联交易的发压方法及系统 Download PDF

Info

Publication number
CN106528825B
CN106528825B CN201611027573.9A CN201611027573A CN106528825B CN 106528825 B CN106528825 B CN 106528825B CN 201611027573 A CN201611027573 A CN 201611027573A CN 106528825 B CN106528825 B CN 106528825B
Authority
CN
China
Prior art keywords
transaction
serial number
data
source data
main table
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
CN201611027573.9A
Other languages
English (en)
Other versions
CN106528825A (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.)
Agricultural Bank of China
Original Assignee
Agricultural Bank of China
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 Agricultural Bank of China filed Critical Agricultural Bank of China
Priority to CN201611027573.9A priority Critical patent/CN106528825B/zh
Publication of CN106528825A publication Critical patent/CN106528825A/zh
Application granted granted Critical
Publication of CN106528825B publication Critical patent/CN106528825B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2282Tablespace storage structures; Management thereof

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种银行系统压力测试关联交易的发压方法,包括:按照交易顺序逐条提取交易过程中的交易源数据;对提取的交易源数据逐条判断是否在设定的关联交易范围内;当判断提取的交易源数据是否在设定的关联交易范围内的结果为否时,生成主表;当判断提取的交易源数据在设定的关联交易范围内时,生成关联表;基于主表和关联表进行关联交易报文中相关交易要素的替换;将更新完毕的报文发送至被测试环境。本发明能够在保证交易成功率的前提下,尽可能的提高发压每秒钟完成的交易数量。本发明还公开了一种银行系统压力测试关联交易的发压系统。

Description

一种银行系统压力测试关联交易的发压方法及系统
技术领域
本发明涉及银行系统压力测试技术领域,尤其涉及一种银行系统压力测试关联交易的发压方法及系统。
背景技术
当今银行信息系统架构复杂、涉及子系统众多,且各子系统之间的交互关系复杂多样,单交易的发压测试、人工的业务测试、以及通用测试工具的回放测试均不能准确预测银行系统在实际业务场景下的综合表现与性能瓶颈,由此催生了商业银行自主研发的多样化的压力测试系统。
尽管这些压力测试系统各有特点,但从整体流程来看基本分为数据整理、发压、结果统计分析三步,并且有着共同的目标:在保证交易成功率的前提下尽可能提高发压每秒钟完成的交易数量。
在发压过程中,有着严格的先后执行顺序、后发送交易报文依赖先发交易的返回要素才能组装正确的交易报文,最终保障交易成功执行,这样的一组交易称为相互关联的交易。只有按照正确的顺序把相互关联交易发送至被压环境、将前导交易的返回要素传递给后序关联交易、后序交易根据前导交易返回报文中的交易要素进行必要的发送报文替换与组装,才能保证关联交易的发压成功率。
压力测试系统向主机进行发压时,为了达到预设的每秒钟完成的交易数量,总是采用并发的机制向被压环境发送交易。由于被测环境交易程序的逻辑不同,交易的响应时间千差万别,在这种多并发的场景下,很难保证交易完全按照理想的顺序完成。因此,大部分压力测试系统,没有对关联交易做特殊处理,容易由此造成失败;或仅简单的将关联交易从发压数据源剔除,这样压力测试并不能准确完整反映系统的综合表现与性能瓶颈。还有小部分压力测试系统在数据整理期间对交易的关联关系预先设定存储在表里,发压过程中前导交易发送线程实时更新关联关系表记录交易返回要素,关联交易发送线程实时查询关联关系表获取要素,由于高并发与交易响应时间的不固定,关联交易的完成顺序无法保障,存在关联交易先于前导交易完成而得不到所需交易要素的情况,并且由于涉及关联关系表的存取开销,这种方法耗时且不能确保关联交易的成功率。
因此,如何在保证交易成功率的前提下,尽可能的提高发压每秒钟完成的交易数量是一项亟待解决的问题。
发明内容
本发明提供了一种银行系统压力测试关联交易的发压方法,能够在保证交易成功率的前提下,尽可能的提高发压每秒钟完成的交易数量。
本发明提供了一种银行系统压力测试关联交易的发压方法,包括:
按照交易顺序逐条提取交易过程中的交易源数据;
对提取的所述交易源数据逐条判断是否在设定的关联交易范围内;
当判断提取的交易源数据是否在设定的关联交易范围内的结果为否时,生成主表;
当判断提取的交易源数据在设定的关联交易范围内时,生成关联表;
基于所述主表和关联表进行关联交易报文中相关交易要素的替换;
将更新完毕的报文发送至被测试环境。
优选地,在所述按照交易顺序逐条提取交易过程中的交易源数据之前,还包括:
基于交易源数据中的交易码设定关联交易范围。
优选地,所述当判断提取的交易源数据是否在设定的关联交易范围内的结果为否时,生成主表包括:
生成用于交易的连续的新序号;
设置关联交易标识为“假”;
插入交易记录。
优选地,所述当判断提取的交易源数据在设定的关联交易范围内时,生成关联表包括:
在所述主表中查询与当前交易关联的前导交易的新序号;
更新所述主表中所述前导交易的关联交易标识为“真”;
确定顺序号为关联交易的最大顺序号+1;
插入交易记录。
优选地,所述基于所述主表和关联表进行关联交易报文中相关交易要素的替换包括:
按照顺序从所述主表中获取一条交易数据;
判断所述交易数据中的关联交易标识;
当所述交易数据中的关联交易标识为“假”时,返回从所述主表中获取下一条交易数据;
当所述交易数据中的关联交易标识为“真”时,在发压线程的上下文环境中保存交易返回报文中的相关交易要素;
设关联交易顺序号N=1;
从关联表中获取第N条关联交易数据,判断是否存在关联交易;
当判断不存在关联交易时,返回从所述主表中获取下一条交易数据;
当判断存在关联交易时,利用当前线程上下文环境中保存的前导交易要素,进行关联交易报文中相关交易要素的替换;
置N=N+1,返回从关联表中获取第N条关联交易数据,判断是否存在关联交易。
一种银行系统压力测试关联交易的发压系统,包括:
提取模块,用于按照交易顺序逐条提取交易过程中的交易源数据;
判断模块,用于对提取的所述交易源数据逐条判断是否在设定的关联交易范围内;
生成模块,用于当判断提取的交易源数据是否在设定的关联交易范围内的结果为否时,生成主表,当判断提取的交易源数据在设定的关联交易范围内时,生成关联表;
替换模块,用于基于所述主表和关联表进行关联交易报文中相关交易要素的替换;
发送模块,用于将更新完毕的报文发送至被测试环境。
优选地,所述系统还包括:
设定模块,用于基于交易源数据中的交易码设定关联交易范围。
优选地,生成模块包括:
生成单元,用于生成用于交易的连续的新序号;
设置单元,用于设置关联交易标识为“假”;
第一插入单元,用于插入交易记录。
优选地,所述生成模块还包括:
查询单元,用于在所述主表中查询与当前交易关联的前导交易的新序号;
更新单元,用于更新所述主表中所述前导交易的关联交易标识为“真”;
确定单元,用于确定顺序号为关联交易的最大顺序号+1;
第二插入单元,用于插入交易记录。
优选地,所述替换模块包括:
获取单元,用于按照顺序从所述主表中获取一条交易数据;
第一判断单元,用于判断所述交易数据中的关联交易标识;
所述获取单元,还用于当所述交易数据中的关联交易标识为“假”时,返回从所述主表中获取下一条交易数据;
保存单元,用于当所述交易数据中的关联交易标识为“真”时,在发压线程的上下文环境中保存交易返回报文中的相关交易要素;
设置单元,用于设关联交易顺序号N=1;
第二判断单元,用于从关联表中获取第N条关联交易数据,判断是否存在关联交易;
所述获取单元,还用于当判断不存在关联交易时,返回从所述主表中获取下一条交易数据;
替换单元,用于当判断存在关联交易时,利用当前线程上下文环境中保存的前导交易要素,进行关联交易报文中相关交易要素的替换;
所述获取单元,还用于置N=N+1,返回从关联表中获取第N条关联交易数据,判断是否存在关联交易。
由上述方案可知,本发明提供的一种银行系统压力测试关联交易的发压方法,首先按照交易顺序逐条提取交易过程中的交易源数据,然后对提取的交易源数据逐条判断是否在设定的关联交易范围内,当判断提取的交易源数据是否在设定的关联交易范围内的结果为否时,生成主表;当判断提取的交易源数据在设定的关联交易范围内时,生成关联表;然后基于主表和关联表进行关联交易报文中相关交易要素的替换,最后将更新完毕的报文发送至被测试环境。在数据整理时用主表、关联表的数据结构存储数据,在发压时基于主表和关联表进行关联交易报文中相关交易要素的替换;将更新完毕的报文发送至被测试环境,能够在保证交易成功率的前提下,尽可能的提高发压每秒钟完成的交易数量。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明公开的一种银行系统压力测试关联交易的发压方法实施例1的流程图;
图2为本发明公开的一种银行系统压力测试关联交易的发压方法实施例2的流程图;
图3为本发明公开的一种银行系统压力测试关联交易的发压方法实施例3的流程图;
图4为本发明公开的一种银行系统压力测试关联交易的发压系统实施例1的结构示意图;
图5为本发明公开的一种银行系统压力测试关联交易的发压系统实施例2的结构示意图;
图6为本发明公开的一种银行系统压力测试关联交易的发压系统实施例3的结构示意图;
图7为本发明公开的表结构及数据的示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,为本发明公开的一种银行系统压力测试关联交易的发压方法实施例1的流程图,该方法包括以下步骤:
S101、按照交易顺序逐条提取交易过程中的交易源数据;
当需要进行银行系统压力测试关联交易的发压时,首选按照交易的先后顺序对交易过程中产生的交易源数据进行逐条的提取。
S102、对提取的交易源数据逐条判断是否在设定的关联交易范围内;
当提取到交易过程中的交易源数据后,对提取到的每一条交易源数据进行判断,判断提取到的交易源数据是否在设定的关联交易范围内。
S103、当判断提取的交易源数据是否在设定的关联交易范围内的结果为否时,生成主表;
当判断提取到的交易源数据不在设定的关联交易范围内时,生成主表。其中,主表中包含的信息有新序号、源序号、交易报文和关联交易标识。
S104、当判断提取的交易源数据在设定的关联交易范围内时,生成关联表;
当判断提取到的交易源数据在设定的关联交易范围内时,生成关联表。其中,关联表中包含的信息有新序号、关联顺序号、源序号和交易报文。
S105、基于主表和关联表进行关联交易报文中相关交易要素的替换;
基于主表和关联表中的内容,将关联交易报文中相关的交易要素进行替换。
S106、将更新完毕的报文发送至被测试环境。
将替换后得到的更新完毕的报文发送至被测试环境,完成发压过程。
综上所述,在上述实施例中,当进行银行系统压力测试关联交易的发压时,首先按照交易顺序逐条提取交易过程中的交易源数据,然后对提取的交易源数据逐条判断是否在设定的关联交易范围内,当判断提取的交易源数据是否在设定的关联交易范围内的结果为否时,生成主表;当判断提取的交易源数据在设定的关联交易范围内时,生成关联表;然后基于主表和关联表进行关联交易报文中相关交易要素的替换,最后将更新完毕的报文发送至被测试环境。在数据整理时用主表、关联表的数据结构存储数据,在发压时基于主表和关联表进行关联交易报文中相关交易要素的替换;将更新完毕的报文发送至被测试环境,能够在保证交易成功率的前提下,尽可能的提高发压每秒钟完成的交易数量。
如图2所示,为本发明公开的一种银行系统压力测试关联交易的发压方法实施例2的流程图,该方法包括以下步骤:
S201、基于交易源数据中的交易码设定关联交易范围;
S202、按照交易顺序逐条提取交易过程中的交易源数据;
当需要进行银行系统压力测试关联交易的发压时,首选按照交易的先后顺序对交易过程中产生的交易源数据进行逐条的提取。
S203、对提取的交易源数据逐条判断是否在设定的关联交易范围内;
当提取到交易过程中的交易源数据后,对提取到的每一条交易源数据进行判断,判断提取到的交易源数据是否在设定的关联交易范围内。
S204、当判断提取的交易源数据是否在设定的关联交易范围内的结果为否时,生成主表;
当判断提取到的交易源数据不在设定的关联交易范围内时,生成主表。其中,主表中包含的信息有新序号、源序号、交易报文和关联交易标识。
S205、当判断提取的交易源数据在设定的关联交易范围内时,生成关联表;
当判断提取到的交易源数据在设定的关联交易范围内时,生成关联表。其中,关联表中包含的信息有新序号、关联顺序号、源序号和交易报文。
S206、基于主表和关联表进行关联交易报文中相关交易要素的替换;
基于主表和关联表中的内容,将关联交易报文中相关的交易要素进行替换。
S207、将更新完毕的报文发送至被测试环境。
将替换后得到的更新完毕的报文发送至被测试环境,完成发压过程。
综上所述,在上述实施例中,当进行银行系统压力测试关联交易的发压时,首先基于交易源数据中的交易码设定关联交易范围,然后按照交易顺序逐条提取交易过程中的交易源数据,然后对提取的交易源数据逐条判断是否在设定的关联交易范围内,当判断提取的交易源数据是否在设定的关联交易范围内的结果为否时,生成主表;当判断提取的交易源数据在设定的关联交易范围内时,生成关联表;然后基于主表和关联表进行关联交易报文中相关交易要素的替换,最后将更新完毕的报文发送至被测试环境。在数据整理时用主表、关联表的数据结构存储数据,在发压时基于主表和关联表进行关联交易报文中相关交易要素的替换;将更新完毕的报文发送至被测试环境,能够在保证交易成功率的前提下,尽可能的提高发压每秒钟完成的交易数量。
如图3所示,为本发明公开的一种银行系统压力测试关联交易的发压方法实施例3的流程图,该方法包括以下步骤:
S301、基于交易源数据中的交易码设定关联交易范围;
S302、按照交易顺序逐条提取交易过程中的交易源数据;
当需要进行银行系统压力测试关联交易的发压时,首选按照交易的先后顺序对交易过程中产生的交易源数据进行逐条的提取。
S303、对提取的交易源数据逐条判断是否在设定的关联交易范围内;
当提取到交易过程中的交易源数据后,对提取到的每一条交易源数据进行判断,判断提取到的交易源数据是否在设定的关联交易范围内。
S304、当判断提取的交易源数据是否在设定的关联交易范围内的结果为否时,生成用于交易的连续的新序号;
S305、设置关联交易标识为“假”;
S306、插入交易记录生成主表;
S307、当判断提取的交易源数据在设定的关联交易范围内时,在所述主表中查询与当前交易关联的前导交易的新序号;
S308、更新所述主表中所述前导交易的关联交易标识为“真”;
S309、确定顺序号为关联交易的最大顺序号+1;
S310、插入交易记录生成关联表;
S311、按照顺序从所述主表中获取一条交易数据;
S312、判断所述交易数据中的关联交易标识;
当所述交易数据中的关联交易标识为“假”时,返回S311;
S313、当所述交易数据中的关联交易标识为“真”时,在发压线程的上下文环境中保存交易返回报文中的相关交易要素;
S314、设关联交易顺序号N=1;
S315、从关联表中获取第N条关联交易数据,判断是否存在关联交易;
当判断不存在关联交易时,返回S311;
S316、当判断存在关联交易时,利用当前线程上下文环境中保存的前导交易要素,进行关联交易报文中相关交易要素的替换;
S317、置N=N+1,返回S315。
下面以具体的实例进行说明,在数据整理时,建立源交易数据表、关联交易范围表、主表、关联表,并将测试数据导入源交易数据表,关联交易的交易码插入关联交易范围表,表结构及数据如图7所示。
按顺序从源交易数据表中查询出交易101,其交易码TCOD1不在关联交易范围表中,将交易要素按格式拼装成报文,生成交易新序号1,设关联交易标识为“假”,插入主表,如图7所示新序号为1的记录;
从源交易数据表查询出交易102,其交易码TCOD2在关联交易范围表中,关联的交易要素为101返回日志号,从主表中查询出源交易101对应的交易新序号为1,并更新其关联交易标识为“真”;查询关联表,新序号为1的关联交易不存在,所以置关联顺序号为1,插入关联表,如图7所示新序号为1,关联顺序号为1的记录;
从源交易数据表查询出交易103,其交易码TCOD3在关联交易范围表中,关联的交易要素为101返回日志号,从主表中查询出源交易101的对应的交易新序号为1,并更新其关联交易标识为“真”;查询关联表,已存在新序号为1的关联交易,其顺序号为1,所以置当前交易的关联顺序号为1+1=2,插入关联表,如上图所示新序号为1,关联顺序号为2的记录;
按顺序从源交易数据表中查询出交易104,其交易码TCOD4不在关联交易范围表中,将交易要素按格式拼装成报文,生成交易新序号2,设关联交易标识为“假”,插入主表,如图7所示新序号为2的记录。
在发压流程时,发压线程从主表获取新序号为1的交易,将报文发向被测环境;交易1的关联交易标识为“真”,在其内部变量中保存交易1返回日志号;
设关联顺序号=1,在关联表中查询新序号=1、关联顺序号=1的交易,存在,把报文中交易1返回日志号要素替换为发压线程内部保存的交易返回日志号,向被测环境发送报文;
关联顺序号+=1,在关联表中查询新序号=1、关联顺序号=2的交易,存在,把报文中交易1返回日志号要素替换为发压线程内部保存的交易返回日志号,向被测环境发送报文;
关联顺序号+=1,在关联表中查询新序号=1、关联顺序号=3的交易,不存在,继续发送主表交易;
从主表获取新序号为2的交易,将报文发向被测环境;交易2的关联交易标识为“假”,继续发送主表交易。
综上所述,在上述实施例中,在数据整理过程中,按照交易应有的发生顺序逐条处理交易数据,按序将前导交易与无关联交易的交易存储在主表中,将前导交易关联的交易存储在关联表中,为发压流程控制交易发生顺序与关联交易报文的正确替换更新打下了数据基础。在发压流程中,按交易序号发送交易报文,将关联交易的报文替换处理与发送统一到同一发压流程中,使得一组关联交易的发送顺序得到了正确控制、并且准确替换了关联交易的相关要素。由于前导交易返回报文中解析出的交易要素是保存在发压线程(或进程)的上下文环境中,关联交易获取这些交易要素只涉及内存变量的访问,不必进行任何数据库或外部文件的操作,因此有效的提高了发压系统的发压效率。
如图4所示,为本发明公开的一种银行系统压力测试关联交易的发压系统实施例1的结构示意图,该系统包括:
提取模块401,用于按照交易顺序逐条提取交易过程中的交易源数据;
当需要进行银行系统压力测试关联交易的发压时,首选按照交易的先后顺序对交易过程中产生的交易源数据进行逐条的提取。
判断模块402,用于对提取的交易源数据逐条判断是否在设定的关联交易范围内;
当提取到交易过程中的交易源数据后,对提取到的每一条交易源数据进行判断,判断提取到的交易源数据是否在设定的关联交易范围内。
生成模块403,用于当判断提取的交易源数据是否在设定的关联交易范围内的结果为否时,生成主表;
当判断提取到的交易源数据不在设定的关联交易范围内时,生成主表。其中,主表中包含的信息有新序号、源序号、交易报文和关联交易标识。
生成模块403,用于当判断提取的交易源数据在设定的关联交易范围内时,生成关联表;
当判断提取到的交易源数据在设定的关联交易范围内时,生成关联表。其中,关联表中包含的信息有新序号、关联顺序号、源序号和交易报文。
替换模块404,用于基于主表和关联表进行关联交易报文中相关交易要素的替换;
基于主表和关联表中的内容,将关联交易报文中相关的交易要素进行替换。
发送模块405,用于将更新完毕的报文发送至被测试环境。
将替换后得到的更新完毕的报文发送至被测试环境,完成发压过程。
综上所述,在上述实施例中,当进行银行系统压力测试关联交易的发压时,首先按照交易顺序逐条提取交易过程中的交易源数据,然后对提取的交易源数据逐条判断是否在设定的关联交易范围内,当判断提取的交易源数据是否在设定的关联交易范围内的结果为否时,生成主表;当判断提取的交易源数据在设定的关联交易范围内时,生成关联表;然后基于主表和关联表进行关联交易报文中相关交易要素的替换,最后将更新完毕的报文发送至被测试环境。在数据整理时用主表、关联表的数据结构存储数据,在发压时基于主表和关联表进行关联交易报文中相关交易要素的替换;将更新完毕的报文发送至被测试环境,能够在保证交易成功率的前提下,尽可能的提高发压每秒钟完成的交易数量。
如图5所示,为本发明公开的一种银行系统压力测试关联交易的发压系统实施例2的结构示意图,该系统包括:
设定模块501,用于基于交易源数据中的交易码设定关联交易范围;
提取模块502,用于按照交易顺序逐条提取交易过程中的交易源数据;
当需要进行银行系统压力测试关联交易的发压时,首选按照交易的先后顺序对交易过程中产生的交易源数据进行逐条的提取。
判断模块503,用于对提取的交易源数据逐条判断是否在设定的关联交易范围内;
当提取到交易过程中的交易源数据后,对提取到的每一条交易源数据进行判断,判断提取到的交易源数据是否在设定的关联交易范围内。
生成模块504,用于当判断提取的交易源数据是否在设定的关联交易范围内的结果为否时,生成主表;
当判断提取到的交易源数据不在设定的关联交易范围内时,生成主表。其中,主表中包含的信息有新序号、源序号、交易报文和关联交易标识。
生成模块504,用于当判断提取的交易源数据在设定的关联交易范围内时,生成关联表;
当判断提取到的交易源数据在设定的关联交易范围内时,生成关联表。其中,关联表中包含的信息有新序号、关联顺序号、源序号和交易报文。
替换模块505,用于基于主表和关联表进行关联交易报文中相关交易要素的替换;
基于主表和关联表中的内容,将关联交易报文中相关的交易要素进行替换。
发送模块506,用于将更新完毕的报文发送至被测试环境。
将替换后得到的更新完毕的报文发送至被测试环境,完成发压过程。
综上所述,在上述实施例中,当进行银行系统压力测试关联交易的发压时,首先基于交易源数据中的交易码设定关联交易范围,然后按照交易顺序逐条提取交易过程中的交易源数据,然后对提取的交易源数据逐条判断是否在设定的关联交易范围内,当判断提取的交易源数据是否在设定的关联交易范围内的结果为否时,生成主表;当判断提取的交易源数据在设定的关联交易范围内时,生成关联表;然后基于主表和关联表进行关联交易报文中相关交易要素的替换,最后将更新完毕的报文发送至被测试环境。在数据整理时用主表、关联表的数据结构存储数据,在发压时基于主表和关联表进行关联交易报文中相关交易要素的替换;将更新完毕的报文发送至被测试环境,能够在保证交易成功率的前提下,尽可能的提高发压每秒钟完成的交易数量。
如图6所示,为本发明公开的一种银行系统压力测试关联交易的发压系统实施例3的结构示意图,该系统包括:
设定模块601,用于基于交易源数据中的交易码设定关联交易范围;
提取模块602,用于按照交易顺序逐条提取交易过程中的交易源数据;
当需要进行银行系统压力测试关联交易的发压时,首选按照交易的先后顺序对交易过程中产生的交易源数据进行逐条的提取。
判断模块603,用于对提取的交易源数据逐条判断是否在设定的关联交易范围内;
当提取到交易过程中的交易源数据后,对提取到的每一条交易源数据进行判断,判断提取到的交易源数据是否在设定的关联交易范围内。
生成单元604,用于当判断提取的交易源数据是否在设定的关联交易范围内的结果为否时,生成用于交易的连续的新序号;
设置单元605,用于设置关联交易标识为“假”;
第一插入单元606,用于插入交易记录生成主表;
查询单元607,用于当判断提取的交易源数据在设定的关联交易范围内时,在所述主表中查询与当前交易关联的前导交易的新序号;
更新单元608,用于更新所述主表中所述前导交易的关联交易标识为“真”;
确定单元609,用于确定顺序号为关联交易的最大顺序号+1;
第二插入单元610,用于插入交易记录生成关联表;
获取单元611,用于按照顺序从所述主表中获取一条交易数据;
第一判断单元612,用于判断所述交易数据中的关联交易标识;
获取单元611,还用于当所述交易数据中的关联交易标识为“假”时,返回从所述主表中获取下一条交易数据;
保存单元613,用于当所述交易数据中的关联交易标识为“真”时,在发压线程的上下文环境中保存交易返回报文中的相关交易要素;
设置单元614,用于设关联交易顺序号N=1;
第二判断单元615,用于从关联表中获取第N条关联交易数据,判断是否存在关联交易;
获取单元611,还用于当判断不存在关联交易时,返回从所述主表中获取下一条交易数据;
替换单元616,用于当判断存在关联交易时,利用当前线程上下文环境中保存的前导交易要素,进行关联交易报文中相关交易要素的替换;
获取单元611,还用于置N=N+1,返回从关联表中获取第N条关联交易数据,判断是否存在关联交易。
下面以具体的实例进行说明,在数据整理时,建立源交易数据表、关联交易范围表、主表、关联表,并将测试数据导入源交易数据表,关联交易的交易码插入关联交易范围表,表结构及数据如图7所示。
按顺序从源交易数据表中查询出交易101,其交易码TCOD1不在关联交易范围表中,将交易要素按格式拼装成报文,生成交易新序号1,设关联交易标识为“假”,插入主表,如图7所示新序号为1的记录;
从源交易数据表查询出交易102,其交易码TCOD2在关联交易范围表中,关联的交易要素为101返回日志号,从主表中查询出源交易101对应的交易新序号为1,并更新其关联交易标识为“真”;查询关联表,新序号为1的关联交易不存在,所以置关联顺序号为1,插入关联表,如图7所示新序号为1,关联顺序号为1的记录;
从源交易数据表查询出交易103,其交易码TCOD3在关联交易范围表中,关联的交易要素为101返回日志号,从主表中查询出源交易101的对应的交易新序号为1,并更新其关联交易标识为“真”;查询关联表,已存在新序号为1的关联交易,其顺序号为1,所以置当前交易的关联顺序号为1+1=2,插入关联表,如上图所示新序号为1,关联顺序号为2的记录;
按顺序从源交易数据表中查询出交易104,其交易码TCOD4不在关联交易范围表中,将交易要素按格式拼装成报文,生成交易新序号2,设关联交易标识为“假”,插入主表,如图7所示新序号为2的记录。
在发压流程时,发压线程从主表获取新序号为1的交易,将报文发向被测环境;交易1的关联交易标识为“真”,在其内部变量中保存返交易返回日志号;
设关联顺序号=1,在关联表中查询新序号=1、关联顺序号=1的交易,存在,把报文中交易1返回日志号要素替换为发压线程内部保存的交易返回日志号,向被测环境发送报文;
关联顺序号+=1,在关联表中查询新序号=1、关联顺序号=2的交易,存在,把报文中交易1返回日志号要素替换为发压线程内部保存的交易返回日志号,向被测环境发送报文;
关联顺序号+=1,在关联表中查询新序号=1、关联顺序号=3的交易,不存在,继续发送主表交易;
从主表获取新序号为2的交易,将报文发向被测环境;交易2的关联交易标识为“假”,继续发送主表交易。
综上所述,在上述实施例中,在数据整理过程中,按照交易应有的发生顺序逐条处理交易数据,按序将前导交易与无关联交易的交易存储在主表中,将前导交易关联的交易存储在关联表中,为发压流程控制交易发生顺序与关联交易报文的正确替换更新打下了数据基础。在发压流程中,按交易序号发送交易报文,将关联交易的报文替换处理与发送统一到同一发压流程中,使得一组关联交易的发送顺序得到了正确控制、并且准确替换了关联交易的相关要素。由于前导交易返回报文中解析出的交易要素是保存在发压线程(或进程)的上下文环境中,关联交易获取这些交易要素只涉及内存变量的访问,不必进行任何数据库或外部文件的操作,因此有效的提高了发压系统的发压效率。
本实施例方法所述的功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算设备可读取存储介质中。基于这样的理解,本发明实施例对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一台计算设备(可以是个人计算机,服务器,移动计算设备或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (8)

1.一种银行系统压力测试关联交易的发压方法,其特征在于,包括:
按照交易顺序逐条提取交易过程中的交易源数据;
对提取的所述交易源数据逐条判断是否在设定的关联交易范围内;
当判断提取的交易源数据是否在设定的关联交易范围内的结果为否时,生成主表;所述主表中包含的信息有新序号、源序号、交易报文和关联交易标识;
当判断提取的交易源数据在设定的关联交易范围内时,生成关联表;所述关联表中包含的信息有新序号、关联顺序号、源序号和交易报文;
基于所述主表和关联表进行关联交易报文中相关交易要素的替换;
将更新完毕的报文发送至被测试环境;
其中,所述基于所述主表和关联表进行关联交易报文中相关交易要素的替换包括:
按照顺序从所述主表中获取一条交易数据;
判断所述交易数据中的关联交易标识;
当所述交易数据中的关联交易标识为“假”时,返回从所述主表中获取下一条交易数据;
当所述交易数据中的关联交易标识为“真”时,在发压线程的上下文环境中保存交易返回报文中的相关交易要素;
设关联交易顺序号N=1;
从关联表中获取第N条关联交易数据,判断是否存在关联交易;
当判断不存在关联交易时,返回从所述主表中获取下一条交易数据;
当判断存在关联交易时,利用当前线程上下文环境中保存的前导交易要素,进行关联交易报文中相关交易要素的替换;
置N=N+1,返回从关联表中获取第N条关联交易数据,判断是否存在关联交易。
2.根据权利要求1所述的方法,其特征在于,在所述按照交易顺序逐条提取交易过程中的交易源数据之前,还包括:
基于交易源数据中的交易码设定关联交易范围。
3.根据权利要求2所述的方法,其特征在于,所述当判断提取的交易源数据是否在设定的关联交易范围内的结果为否时,生成主表包括:
生成用于交易的连续的新序号;
设置关联交易标识为“假”;
插入交易记录。
4.根据权利要求3所述的方法,其特征在于,所述当判断提取的交易源数据在设定的关联交易范围内时,生成关联表包括:
在所述主表中查询与当前交易关联的前导交易的新序号;
更新所述主表中所述前导交易的关联交易标识为“真”;
确定顺序号为关联交易的最大顺序号+1;
插入交易记录。
5.一种银行系统压力测试关联交易的发压系统,其特征在于,包括:
提取模块,用于按照交易顺序逐条提取交易过程中的交易源数据;
判断模块,用于对提取的所述交易源数据逐条判断是否在设定的关联交易范围内;
生成模块,用于当判断提取的交易源数据是否在设定的关联交易范围内的结果为否时,生成主表,当判断提取的交易源数据在设定的关联交易范围内时,生成关联表;所述主表中包含的信息有新序号、源序号、交易报文和关联交易标识;所述关联表中包含的信息有新序号、关联顺序号、源序号和交易报文;
替换模块,用于基于所述主表和关联表进行关联交易报文中相关交易要素的替换;
发送模块,用于将更新完毕的报文发送至被测试环境;
其中,所述替换模块包括:
获取单元,用于按照顺序从所述主表中获取一条交易数据;
第一判断单元,用于判断所述交易数据中的关联交易标识;
所述获取单元,还用于当所述交易数据中的关联交易标识为“假”时,返回从所述主表中获取下一条交易数据;
保存单元,用于当所述交易数据中的关联交易标识为“真”时,在发压线程的上下文环境中保存交易返回报文中的相关交易要素;
设置单元,用于设关联交易顺序号N=1;
第二判断单元,用于从关联表中获取第N条关联交易数据,判断是否存在关联交易;
所述获取单元,还用于当判断不存在关联交易时,返回从所述主表中获取下一条交易数据;
替换单元,用于当判断存在关联交易时,利用当前线程上下文环境中保存的前导交易要素,进行关联交易报文中相关交易要素的替换;
所述获取单元,还用于置N=N+1,返回从关联表中获取第N条关联交易数据,判断是否存在关联交易。
6.根据权利要求5所述的系统,其特征在于,还包括:
设定模块,用于基于交易源数据中的交易码设定关联交易范围。
7.根据权利要求5所述的系统,其特征在于,生成模块包括:
生成单元,用于生成用于交易的连续的新序号;
设置单元,用于设置关联交易标识为“假”;
第一插入单元,用于插入交易记录。
8.根据权利要求5所述的系统,其特征在于,所述生成模块还包括:
查询单元,用于在所述主表中查询与当前交易关联的前导交易的新序号;
更新单元,用于更新所述主表中所述前导交易的关联交易标识为“真”;
确定单元,用于确定顺序号为关联交易的最大顺序号+1;
第二插入单元,用于插入交易记录。
CN201611027573.9A 2016-11-21 2016-11-21 一种银行系统压力测试关联交易的发压方法及系统 Active CN106528825B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611027573.9A CN106528825B (zh) 2016-11-21 2016-11-21 一种银行系统压力测试关联交易的发压方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611027573.9A CN106528825B (zh) 2016-11-21 2016-11-21 一种银行系统压力测试关联交易的发压方法及系统

Publications (2)

Publication Number Publication Date
CN106528825A CN106528825A (zh) 2017-03-22
CN106528825B true CN106528825B (zh) 2019-06-18

Family

ID=58353090

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611027573.9A Active CN106528825B (zh) 2016-11-21 2016-11-21 一种银行系统压力测试关联交易的发压方法及系统

Country Status (1)

Country Link
CN (1) CN106528825B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110034972B (zh) * 2019-03-22 2021-07-06 深圳市腾讯信息技术有限公司 服务器压力测试方法和装置
CN111752693A (zh) * 2020-06-24 2020-10-09 中国建设银行股份有限公司 一种交易处理的方法、装置、设备及存储介质
CN112882994A (zh) * 2021-03-30 2021-06-01 中信银行股份有限公司 一种日志提取方法和装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1648874A (zh) * 2005-03-18 2005-08-03 中国工商银行 一种银行主机运行压力测试系统
CN1975694A (zh) * 2006-12-22 2007-06-06 中国建设银行股份有限公司 银行主机压力测试方法及测试机
CN104408584A (zh) * 2014-12-18 2015-03-11 中国农业银行股份有限公司 一种交易关联性的分析方法及系统
CN105825428A (zh) * 2016-04-22 2016-08-03 中国农业银行股份有限公司 一种面向商业银行的生产模拟测试方法和系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1648874A (zh) * 2005-03-18 2005-08-03 中国工商银行 一种银行主机运行压力测试系统
CN1975694A (zh) * 2006-12-22 2007-06-06 中国建设银行股份有限公司 银行主机压力测试方法及测试机
CN104408584A (zh) * 2014-12-18 2015-03-11 中国农业银行股份有限公司 一种交易关联性的分析方法及系统
CN105825428A (zh) * 2016-04-22 2016-08-03 中国农业银行股份有限公司 一种面向商业银行的生产模拟测试方法和系统

Also Published As

Publication number Publication date
CN106528825A (zh) 2017-03-22

Similar Documents

Publication Publication Date Title
CN108073600B (zh) 一种智能问答交互方法、装置以及电子设备
CN107292493B (zh) 一种电力企业与银行之间的对账系统及方法
CN108459939A (zh) 一种日志收集方法、装置、终端设备及存储介质
CN108228166A (zh) 一种基于模板的后端代码生成方法及系统
CN106528825B (zh) 一种银行系统压力测试关联交易的发压方法及系统
CN110795697B (zh) 逻辑表达式的获取方法、装置、存储介质以及电子装置
CN106971254A (zh) 一种业务监控系统及方法
CN103246606A (zh) Esb平台的性能方法和系统
CN112650605A (zh) 一种基于智能合约的预言机调用过程实现方法及装置
CN103809985B (zh) 一种软件开发方案的生成方法及系统
CN117251547A (zh) 用户提问应答方法及其装置、设备、介质
CN104050193B (zh) 生成报文的方法和实现该方法的数据处理系统
CN111126071B (zh) 提问文本数据的确定方法、装置和客服群的数据处理方法
CN104866402A (zh) 一种测试服务器的方法及装置
CN105023170A (zh) 一种点击流数据的处理方法及装置
CN110443044A (zh) 区块链客户端漏洞挖掘方法、装置、设备及存储介质
CN102055780A (zh) 磁盘阵列测试系统及方法
CN109829759A (zh) 一种基于区块链的互联网广告联盟系统
CN115168205A (zh) 一种自动化测试方法及装置
CN104268161A (zh) Usb芯片验证结果的分析处理系统
CN111274138B (zh) 一种并账功能的测试方法及装置
CN108510188A (zh) 基于联盟运营的数据处理方法、装置及设备
CN101751460A (zh) 一种数据绑定的方法、装置及系统
CN106951449B (zh) 一种业务驱动方法和装置
CN110489629A (zh) 数据爬取方法、数据爬取装置、数据爬取设备及存储介质

Legal Events

Date Code Title Description
C06 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