1.本发明涉及计算机技术领域,特别涉及一种银行核心系统的压力测试方法、装置、设备及介质。
背景技术:2.目前,在对银行核心系统进行测试时,一种方法是利用压力模拟软件来对银行核心系统进行压力测试,但是,利用压力模拟软件来对银行核心系统进行压力测试时,不仅需要对测试数据进行编撰,而且,测试数据也很难做到随机分配,比如:当多个并发进程同时向同一个账户进行连续存款时,就很容易造成该账户出现记录更新锁的问题,而该情况几乎在实际应用中不会发生。可见,通过压力模拟软件来对银行核心系统进行压力测试很难保证测试结果的准确性与可靠性。另一种方法是组织压力测试人员来对银行核心系统进行压力测试,但是此种测试方法需要组织上万人来对银行核心系统进行压力测试,需要巨大的财力支持。目前,针对上述技术问题,还没有较为有效的解决办法。
技术实现要素:3.有鉴于此,本发明的目的在于提供一种银行核心系统的压力测试方法、装置、设备及介质,以在保证银行核心系统压力测试结果准确性的同时,也可以降低在对银行核心系统进行压力测试时所需要的成本。其具体方案如下:
4.一种银行核心系统的压力测试方法,包括:
5.根据银行核心系统的配置信息创建测试主机,并获取所述银行核心系统在峰值交易时期的流水数据,得到目标数据报文;
6.利用时间戳确定所述目标数据报文中各数据报文之间的目标时间间隔;
7.通过对所述目标时间间隔进行调整,并按照所述目标数据报文的顺序控制模拟服务器将所述目标数据报文串行发送至所述测试主机,得到所述测试主机对所述模拟服务器的第一响应数据;
8.对所述目标数据报文进行拆分,得到拆分数据报文,通过对所述目标时间间隔进行调整,并控制所述模拟服务器将所述拆分数据报文并行发送至所述测试主机,得到所述测试主机对所述模拟服务器的第二响应数据;
9.根据所述第一响应数据和所述第二响应数据对所述银行核心系统的性能进行判定。
10.优选的,所述根据银行核心系统的配置信息创建测试主机的过程,包括:
11.根据所述银行核心系统的硬件配置信息、软件配置信息和负载信息创建所述测试主机。
12.优选的,还包括:
13.利用交易码对所述目标数据报文进行过滤。
14.优选的,还包括:
15.获取所述第一响应数据和所述第二响应数据中应答失败的数据,得到失败应答数据;
16.根据所述失败应答数据对所述目标数据报文和/或所述拆分数据报文进行调整。
17.优选的,所述对所述目标数据报文进行拆分,得到拆分数据报文的过程,包括:
18.根据业务交易类型对所述目标数据报文进行筛选,得到筛选数据报文;
19.对所述筛选数据报文进行拆分,得到所述拆分数据报文。
20.优选的,还包括:
21.根据所述测试主机与第三方的目标交易在所述测试主机中设置目标挡板程序。
22.相应的,本发明还公开了一种银行核心系统的压力测试装置,包括:
23.数据获取模块,用于根据银行核心系统的配置信息创建测试主机,并获取所述银行核心系统在峰值交易时期的流水数据,得到目标数据报文;
24.间隔确定模块,用于利用时间戳确定所述目标数据报文中各数据报文之间的目标时间间隔;
25.第一测试模块,用于通过对所述目标时间间隔进行调整,并按照所述目标数据报文的顺序控制模拟服务器将所述目标数据报文串行发送至所述测试主机,得到所述测试主机对所述模拟服务器的第一响应数据;
26.第二测试模块,用于对所述目标数据报文进行拆分,得到拆分数据报文,通过对所述目标时间间隔进行调整,并控制所述模拟服务器将所述拆分数据报文并行发送至所述测试主机,得到所述测试主机对所述模拟服务器的第二响应数据;
27.性能判定模块,用于根据所述第一响应数据和所述第二响应数据对所述银行核心系统的性能进行判定。
28.相应的,本发明还公开了一种银行核心系统的压力测试设备,包括:
29.存储器,用于存储计算机程序;
30.处理器,用于执行所述计算机程序时实现如前述所公开的一种银行核心系统的压力测试方法的步骤。
31.相应的,本发明还公开了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如前述所公开的一种银行核心系统的压力测试方法的步骤。
32.可见,在本发明中,首先是根据银行核心系统的配置信息创建测试主机,从而保证测试主机能够真实模拟银行核心系统在面对压力测试时的性能表现;然后,利用银行核心系统在峰值交易时期真实的目标数据报文来对测试主机进行压力测试,这样就可以保证压力测试数据的有效性与可靠性;在对银行核心系统进行压力测试的过程中,一种是按照目标数据报文的次序将目标数据报文串行发送至测试主机中,以对银行核心系统的真实交易进行还原;另一种是通过对目标数据报文进行拆分,得到拆分数据报文,并控制模拟服务器将拆分数据报文并行发送至测试主机,并以此来模拟银行核心系统在面对高压力交易时的场景;并且,在这两个测试场景下,都可以通过对模拟服务器向测试主机发送数据报文之间的时间间隔进行调整,来模拟银行核心系统在面对1到n倍于真实交易峰值时的交易环境。此时根据测试主机在不同测试场景下的响应数据就可以对银行核心系统的性能进行判定。这样不仅可以保证银行核心系统压力测试结果的准确性,而且,也可以显著降低在对银行
核心系统进行压力测试时所需要的成本。相应的,本发明所提供的一种银行核心系统的压力测试装置、设备及介质,同样具有上述有益效果。
附图说明
33.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
34.图1为本发明实施例所提供的一种银行核心系统的压力测试方法的流程图;
35.图2为本发明实施例所提供的一种银行核心系统的压力测试装置的结构图;
36.图3为本发明实施例所提供的一种银行核心系统的压力测试设备的结构图。
具体实施方式
37.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
38.请参见图1,图1为本发明实施例所提供的一种银行核心系统的压力测试方法的流程图。该压力测试方法包括:
39.步骤s11:根据银行核心系统的配置信息创建测试主机,并获取银行核心系统在峰值交易时期的流水数据,得到目标数据报文;
40.步骤s12:利用时间戳确定目标数据报文中各数据报文之间的目标时间间隔;
41.步骤s13:通过对目标时间间隔进行调整,并按照目标数据报文的顺序控制模拟服务器将目标数据报文串行发送至测试主机,得到测试主机对模拟服务器的第一响应数据;
42.步骤s14:对目标数据报文进行拆分,得到拆分数据报文,通过对目标时间间隔进行调整,并控制模拟服务器将拆分数据报文并行发送至测试主机,得到测试主机对模拟服务器的第二响应数据;
43.步骤s15:根据第一响应数据和第二响应数据对银行核心系统的性能进行判定。
44.在本实施例中,是提供了一种银行核心系统的压力测试方法,利用该压力测试方法不仅可以保证银行核心系统压力测试结果的准确性,而且,也可以显著降低在对银行核心系统进行压力测试时所需要的成本。
45.可以理解的是,在对银行核心系统进行压力测试时,必定需要使用一个与银行核心系统配置相一致的测试主机来模拟银行核心系统的运行环境,所以,在本实施例中,首先是根据银行核心系统的配置信息创建测试主机。之后,再获取银行核心系统在峰值交易时期的流水数据,得到目标数据报文。因为目标数据报文是银行核心系统在峰值交易时期的真实流水数据,所以,利用目标数据报文来对测试主机进行压力测试,就可以相对保证测试数据的准确性与可靠性。
46.当获取得到银行核心系统在峰值交易时期的目标数据报文之后,利用目标数据报文中的时间戳就可以确定出目标数据报文中各个数据报文之间的目标时间间隔。此时按照
目标数据报文中的时间戳控制模拟服务器将目标数据报文中的数据报文串行发送至测试主机,就可以模拟银行核心系统在面对峰值交易时的真实场景。
47.为了提高银行核心系统所面临到的交易压力,还可以通过缩短模拟服务器和测试主机之间的通信时间来提高测试主机的测试压力。具体的,可以通过对目标数据报文中各数据报文之间的间隔时间进行调整,并按照目标数据报文的顺序控制模拟服务器将目标数据报文串行发送至测试主机,这样就可以模拟银行核心系统在面对不同峰值交易时期的交易环境。也即,此时根据测试主机对模拟服务器的第一响应数据就可以确定出银行核心系统在面对不同压力测试时的反应性能。换言之,这样就相当于是压缩了模拟服务器与测试主机之间的通信时间,由此就可以测试出银行核心系统在面临较高压力测试时的反应性能。
48.在本实施例中,还可以通过并行提交测试数据的方式来模拟银行核心系统在面对n倍于真实峰值交易时期压力负载时的性能。具体的,在该测试场景中,首先需要对目标数据报文进行拆分,得到拆分数据报文,之后通过对目标数据报文中各数据报文之间的时间间隔进行调整,并控制模拟服务器将拆分数据并行发送至测试主机,这样就相当于是模拟了银行核心系统在面对n倍于真实峰值交易时期的压力测试场景。此时根据测试主机对模拟服务器的第二响应数据就可以确定出银行核心系统在面对n倍于真实峰值交易时期压力负载时的反应性能。
49.最后,根据第一响应数据和第二响应数据就可以确定出银行核心系统在面对不同应用场景时的反应性能。显然,通过该测试方法不仅可以保证银行核心系统压力测试结果的准确性与可靠性,而且,也可以显著降低在对银行核心系统进行压力测试时所需要的成本。
50.此外,利用本实施例所提供的压力测试方法,也可以对现有银行核心系统所出现的问题进行复现与还原。而在真实应用场景下,如果银行核心系统出现问题,很难有时间去收取完整的性能数据:比如存储的输入输出流水数据以及银行核心系统存储响应的具体指标等等。况且,即使保存了银行核心系统在出现问题时的故障数据,也不一定能保证找到问题出现的原因,由此也就无法保证同样的问题不会再次出现。显然,利用本实施例所提供的方法不仅可以在最大限度上还原银行核心系统在面对压力负载时的具体反应性能,而且,也可以完整的收集到银行核心系统在面对各种交易测试时的响应数据,这样就更加便于工作人员在后续过程中对银行核心系统的各种参数进行调试与修改,并确定出银行核心系统在修改参数之后其性能是否有改进等等。显然,通过本实施例所提供的方法就可以进一步提高人们在对银行核心系统进行压力测试时的便捷度以及测试体验。
51.可见,在本实施例中,首先是根据银行核心系统的配置信息创建测试主机,从而保证测试主机能够真实模拟银行核心系统在面对压力测试时的性能表现;然后,利用银行核心系统在峰值交易时期真实的目标数据报文来对测试主机进行压力测试,这样就可以保证压力测试数据的有效性与可靠性;在对银行核心系统进行压力测试的过程中,一种是按照目标数据报文的次序将目标数据报文串行发送至测试主机中,以对银行核心系统的真实交易进行还原;另一种是通过对目标数据报文进行拆分,得到拆分数据报文,并控制模拟服务器将拆分数据报文并行发送至测试主机,并以此来模拟银行核心系统在面对高压力交易时的场景;并且,在这两个测试场景下,都可以通过对模拟服务器向测试主机发送数据报文之
间的时间间隔进行调整,来模拟银行核心系统在面对1到n倍于真实交易峰值时的交易环境。此时根据测试主机在不同测试场景下的响应数据就可以对银行核心系统的性能进行判定。这样不仅可以保证银行核心系统压力测试结果的准确性,而且,也可以显著降低在对银行核心系统进行压力测试时所需要的成本。
52.基于上述实施例,本实施例对技术方案作进一步的说明与优化,作为一种优选的实施方式,上述步骤:根据银行核心系统的配置信息创建测试主机的过程,包括:
53.根据银行核心系统的硬件配置信息、软件配置信息和负载信息创建测试主机。
54.在本实施例中,为了保证测试主机能够准确表征出银行核心系统在面对各种压力测试的反应性能,是根据银行核心系统的硬件配置信息、软件配置信息和负载信息来创建测试主机。
55.其中,在根据银行核心系统的硬件配置信息创建测试主机的过程中,需要保证测试主机的cpu(central processing unit,中央处理器)、内存和io(input/output,输入输出)配置等信息与银行核心系统保持一致;而在根据银行核心系统的软件配置信息创建测试主机的过程中,需要保证测试主机安装的操作系统版本、授权软件版本、应用程序版本、操作系统补丁包、数据库补丁包以及应用补丁包等与银行核心系统的配置保持一致;另外,在根据银行核心系统的负载信息来创建测试主机的过程中,需要保证测试主机的负载与银行核心系统的负载保持一致,比如:需要注意银行核心系统中是否部署了powerha、是否部署了性能兼容软件等等。
56.显然,通过本实施例所提供的技术方案,就可以进一步保证在对银行核心系统进行压力测试时测试结果的准确性与可靠性。
57.基于上述实施例,本实施例对技术方案作进一步的说明与优化,作为一种优选的实施方式,上述压力测试方法还包括:
58.利用交易码对目标数据报文进行过滤。
59.可以理解的是,在实际应用中,并不会在银行核心系统中天天出现代发工资、机构撤并等交易类型。因此,如果根据交易码在目标数据报文中发现了此类交易类型,就可以将此类数据报文屏蔽掉,而只保留目标数据报文中日常所常见的交易类型,从而使得目标数据报文中所蕴含的数据能够体现银行核心系统的正常交易负载。
60.显然,通过本实施例所提供的技术方案,就可以相对提高在对银行核心系统进行压力测试时的测试效率。
61.基于上述实施例,本实施例对技术方案作进一步的说明与优化,作为一种优选的实施方式,上述压力测试方法还包括:
62.获取第一响应数据和第二响应数据中应答失败的数据,得到失败应答数据;
63.根据失败应答数据对目标数据报文和/或拆分数据报文进行调整。
64.可以理解的是,如果第一响应数据和第二响应数据中出现了应答失败的数据,则说明目标数据报文中可能存在错误数据,或者是拆分数据报文中出现了不能进行拆分而强制进行拆分的数据。此时为了保证模拟服务器和测试主机之间测试数据的有效性,则需要根据第一响应数据和第二响应数据中的失败应答数据对目标数据报文和/或拆分数据报文进行调整与修改。
65.可见,通过本实施例所提供的技术方案,就可以进一步保证银行核心系统压力测
试结果的整体可靠性。
66.基于上述实施例,本实施例对技术方案作进一步的说明与优化,作为一种优选的实施方式,上述步骤:对目标数据报文进行拆分,得到拆分数据报文的过程,包括:
67.根据业务交易类型对目标数据报文进行筛选,得到筛选数据报文;
68.对筛选数据报文进行拆分,得到拆分数据报文。
69.在本实施例中,为了保证在对银行核心系统进行压力测试时测试结果的准确性与可靠性,还需要根据业务交易类型来对目标数据报文进行筛选,比如:如果目标数据报文中存在账户代扣业务,则不能将该数据报文拆分成多个数据报文并行发送到测试主机中,因为如果将该种类型的数据报文拆分成多个数据报文并行发送到测试主机中,这个账户就会出现记录更新锁的问题,而该问题在实际应用中根本就不会发生。因此,在本实施例中,就可以根据业务交易类型对目标数据报文进行筛选,得到筛选数据报文,然后,再对筛选数据报文进行拆分,得到拆分数据报文。
70.显然,通过本实施例所提供的技术方案,就能够相对提高在对银行核心系统进行测试时的测试效率。
71.基于上述实施例,本实施例对技术方案作进一步的说明与优化,作为一种优选的实施方式,上述压力测试方法还包括:
72.根据测试主机与第三方的目标交易在测试主机中设置目标挡板程序。
73.能够想到的是,在实际应用中,银行核心系统除了会进行行内交易以外,还会与银联、微信、支付宝等第三方进行通讯交易,但是,测试主机由于测试环境的限制,却不能很好地对这些应用交易进行模拟。
74.因此,在本实施例中,为了使得模拟服务器和测试主机能够模拟银行核心系统与第三方之间所进行的交易,还可以根据测试主机与第三方之间的目标交易在测试主机中设置目标挡板程序来使得测试主机可以模拟银行核心系统在面对与第三方进行交易时的响应性能。
75.显然,通过本实施例所提供的技术方案,可以进一步保证银行核心系统压力测试结果的完整性与全面性。
76.请参见图2,图2为本发明实施例所提供的一种银行核心系统的压力测试装置的结构图,该压力测试装置包括:
77.数据获取模块21,用于根据银行核心系统的配置信息创建测试主机,并获取银行核心系统在峰值交易时期的流水数据,得到目标数据报文;
78.间隔确定模块22,用于利用时间戳确定目标数据报文中各数据报文之间的目标时间间隔;
79.第一测试模块23,用于通过对目标时间间隔进行调整,并按照目标数据报文的顺序控制模拟服务器将目标数据报文串行发送至测试主机,得到测试主机对模拟服务器的第一响应数据;
80.第二测试模块24,用于对目标数据报文进行拆分,得到拆分数据报文,通过对目标时间间隔进行调整,并控制模拟服务器将拆分数据报文并行发送至测试主机,得到测试主机对模拟服务器的第二响应数据;
81.性能判定模块25,用于根据第一响应数据和第二响应数据对银行核心系统的性能
进行判定。
82.本发明实施例所提供的一种银行核心系统的压力测试装置,具有前述所公开的一种银行核心系统的压力测试方法所具有的有益效果。
83.请参见图3,图3为本发明实施例所提供的一种银行核心系统的压力测试设备的结构图,该压力测试设备包括:
84.存储器31,用于存储计算机程序;
85.处理器32,用于执行计算机程序时实现如前述所公开的一种银行核心系统的压力测试方法的步骤。
86.本发明实施例所提供的一种银行核心系统的压力测试设备,具有前述所公开的一种银行核心系统的压力测试方法所具有的有益效果。
87.相应的,本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如前述所公开的一种银行核心系统的压力测试方法的步骤。
88.本发明实施例所提供的一种计算机可读存储介质,具有前述所公开的一种银行核心系统的压力测试方法所具有的有益效果。
89.本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
90.最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
91.以上对本发明所提供的一种银行核心系统的压力测试方法、装置、设备及介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。