一种基于主机系统交易重放的测试系统及方法与流程

文档序号:11154852
一种基于主机系统交易重放的测试系统及方法与制造工艺

本发明涉及计算机软件测试技术领域,尤其涉及金融机构业务运行的基础环境软件的测试领域,具体的讲是一种基于主机系统交易重放的测试系统及方法。



背景技术:

本部分旨在为权利要求书中陈述的本发明的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。

目前业界大量金融机构采用大型主机作为金融业务的核心服务器,大型机主机的系统软件需要定期升级,以满足不断发展的技术和业务需求。厂商发布前会有一系列的针对性测试,但厂商的测试环境与用户的实际运行环境差异较大。因此,用户在升级前还会在自己的环境进行验证升级版本的稳定性及可靠性。目前,用户主要是借助于业界常用的压力测试工具发起应用交易,验证系统软件的稳定性及可靠性。但往往实际生产环境的交易运行场景非常复杂,生产环境高峰期同时会有成千上万种业务同时在运行,而压力测试工具需要人工编写脚本,编写脚本耗费的人力非常大,因此只能发起简单的,预设的个别业务运行的测试场景,难以模拟生产环境高峰期的真实运行场景,从而使得部分系统软件的问题在生产环境触发,而无法在验证测试中发现,给生产的稳定运行带来一定的隐患。终端重放技术可以实现交易的重放,但生产环境上终端设备成千上万,在操作上较难实现生产交易的重放。

随着银行业务的不断发展,大型机的系统承载着越来越多的核心业务,生产环境的联机运行场景变得更加复杂。而随着科技的发展,对银行系统稳定运行的要求也越来越高,而系统软件的缺陷给用户往往带来全局性、灾难性的影响,如某银行因为数据库产品虚存计算的BUG,引起数据库下宕导致辖区几分钟无法正常处理业务,影响辖区全部业务。而在测试过程中,数据库软件产品处理正常,正因为在测试过程中无法模拟生产环境大量并发交易频繁使用虚存和回收虚存,导致在测试过程中无法发现系统软件的问题。因此在人力资源可控的情况下,迫切地需要一种能够模拟生产环境复杂的实时交易运行场景的方法及装置,来验证系统软件升级版本在用户环境下的稳定性及可靠性。



技术实现要素:

为解决现有技术中用户对系统软件测试方法的不足,本发明提供了一种基于主机系统交易重放的系统及方法,在不需要花费大量人力物力的情况下,以接近真实生产环境的场景下验证系统软件升级版本在用户环境下的稳定性及可靠性。

为了达到上述目的,本发明实施例提供一种基于主机系统交易重放的测试系统,包括:信息旁路装置,连接网关集群,用于在进行测试时从所述网关集群获取从终端发送至主机系统的交易报文;重放装置,连接所述信息旁路装置,用于接收所述信息旁路装置发送的交易报文,并根据设定的测试目标和负载配置,启动重放的模拟用户,控制所述模拟用户向所述主机系统中的主机业务交易系统发起交易,并接收所述主机业务交易系统返回的处理结果进而分析交易重放成功率,生成压力测试结果。

进一步地,在一实施例中,所述信息旁路装置从所述网关集群获取的从终端发送至主机系统的交易报文包括:交易码、报文时间戳、柜面号或终端编号、网关与主机的通讯报头、业务通讯区数据。

进一步地,在一实施例中,所述重放装置包括:信息接收单元,用于接收所述信息旁路装置发送的交易报文;重放定制单元,连接所述信息接收单元,用于根据设定的测试目标,筛选所需要的交易报文;负载均衡单元,连接所述重放定制单元,用于根据验证环境的负载配置,设计重放用户数,对筛选后的交易报文根据所述重放用户数进行合并、重拆分、排序,为每个重放用户分配模拟的交易量,以均衡地发起交易;重放控制单元,连接所述负载均衡单元,用于控制所述重放用户建立与所述主机业务交易系统的连接,并根据压力测试的需要控制重放的步伐,动态的发起交易请求并接收重放交易返回结果;交易运行汇总单元,连接所述重放控制单元,用于接收所述重放交易返回结果,分析交易重放成功率,生成压力测试结果。

进一步地,在一实施例中,所述交易运行汇总单元还连接所述信息接收单元;其中,所述信息旁路装置还用于从所述网关集群获取生产交易时从所述主机业务交易系统返回的生产执行结果;所述交易运行汇总单元用于将从所述信息旁路单元获取的所述生产执行结果与所述重放交易返回结果进行对比,以分析重放行为的有效性。

进一步地,在一实施例中,所述测试系统还包括:安全校验屏蔽装置,连接所述主机业务交易系统,用于当所述主机业务交易系统发起安全校验检查时,实施对校验结果的屏蔽,自动设置为校验成功。

为了达到上述目的,本发明实施例还提供一种基于主机系统交易重放的测试方法,包括:从所述网关集群获取从终端发送至主机系统的交易报文;接收所述交易报文,并根据设定的测试目标和负载配置,启动重放的模拟用户,控制所述模拟用户向所述主机系统中的主机业务交易系统发起交易,并接收所述主机业务交易系统返回的处理结果进而分析交易重放成功率,生成压力测试结果。

进一步地,在一实施例中,所述从所述网关集群获取的从终端发送至主机系统的交易报文包括:交易码、报文时间戳、柜面号或终端编号、网关与主机的通讯包头、业务通讯区数据。

进一步地,在一实施例中,所述接收所述交易报文,并根据设定的测试目标和负载配置,启动重放的模拟用户,控制所述模拟用户向所述主机系统中的主机业务交易系统发起交易,并接收所述主机业务交易系统返回的处理结果进而分析交易重放成功率,生成压力测试结果的步骤,具体包括:接收所述交易报文;根据设定的测试目标,筛选所需要的交易报文;根据验证环境的负载配置,设计重放用户数,对筛选后的交易报文根据所述重放用户数进行合并、重拆分、排序,为每个重放用户分配模拟的交易量,以均衡地发起交易;控制所述重放用户建立与所述主机业务交易系统的连接,并根据压力测试的需要控制重放的步伐,动态的发起交易请求并接收重放交易返回结果;接收所述重放交易返回结果,分析交易重放成功率,生成压力测试结果。

进一步地,在一实施例中,所述测试方法还包括:从所述网关集群获取生产交易时从所述主机业务交易系统返回的生产执行结果;将所述生产执行结果与所述重放交易返回结果进行对比,以分析重放行为的有效性。

进一步地,在一实施例中,所述测试方法还包括:当所述主机业务交易系统发起安全校验检查时,实施对校验结果的屏蔽,自动设置为校验成功。

本发明提供的基于主机系统交易重放的测试系统及方法的有益效果是:可以解决传统压力测试方法的不足,在不需要大量投入人力的情况下,实现生产交易在验证环境映像式的重现,进一步提高系统软件升级版本在用户环境下的稳定性及可靠性。并且,本发明通过重放的加速减速功能,可以应用于模拟分析未来生产高峰的创新高的系统资源评估。通过需求定制,可以对特定业务的交易,或特定地区的交易进行专门的测试。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为现有技术的主机业务交易系统通讯结构流程图;

图2为本发明实施例的基于主机系统交易重放的测试系统的结构示意图;

图3为本发明实施例的重放装置22的结构示意图;

图4为本发明另一实施例的基于主机系统交易重放的测试系统的结构示意图;

图5为本发明又一实施例的基于主机系统交易重放的测试系统的结构示意图;

图6为本发明实施例的基于主机系统交易重放的测试方法的处理流程图;

图7为本发明的基于主机系统交易重放的测试方法的一具体实施例的处理流程图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本领域技术技术人员知道,本发明的实施方式可以实现为一种系统、装置、设备、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。

下面参考本发明的若干代表性实施方式,详细阐释本发明的原理和精神。

本发明提供的基于主机系统交易重放的测试系统及方法,在不花费企业大量人力物力的情况下,通过技术手段捕获生产交易的数据脚本,通过回放的方式,实现生产交易在验证环境映像式的重现,进一步提高系统软件升级版本在用户环境下的稳定性及可靠性。并且,本发明通过重放的加速减速功能,可以应用于模拟分析未来生产高峰的创新高的系统资源评估;通过需求定制,可以对特定业务的交易,或特定地区的交易进行专门的测试。本发明也可以应用于无版本变化的回归测试,应用于应用版本技术改造的技术性覆盖测试。

为了更好的理解本发明实现的技术原理,参考图1对现有技术的主机业务交易系统通讯结构流程图作简要说明。如图1所示,以客户发起实时业务为例进行说明,包含部署在生产中心的终端系统11、网关集群12和主机系统13三部分,其中终端系统11与网关集群12连接,网关集群12与主机系统13连接。所有的交易均通过网关集群12上送到主机系统13,及通过网关集群12把主机系统13的处理结果返回给终端系统11。图1中描述的终端系统11,包含终端界面和终端服务器,用于接收客户的业务请求,同时将处理结果展现给客户。其中,主机系统13包含主机业务交易系统14,是业务处理的核心。网关集群12是主机业务交易系统14与终端系统11的连接接点,主要负责主机系统13与终端系统11的通讯协议转换,将客户的业务请求上送给主机系统13。

本发明所提出的基于主机系统交易重放的系统及方法,通过技术手段捕获生产交易的数据脚本,通过回放的方式,实现生产交易在验证环境映像式的重现,以接近真实生产环境的场景下验证系统软件升级版本在用户环境下的稳定性及可靠性。以图1为例,本发明即是从网关集群12获取终端系统11与主机业务交易系统14之间交易的数据,通过重放技术实现生产的交易数据在验证环境重放,模拟生产环境高峰期更加复杂的混合运行,以达到真实模拟生产环境的目的,来验证系统软件升级版本在用户环境下的稳定性及可靠性。并且,不需要每笔交易验证环境均执行成功,只要在验证环境执行成功率达到一定的比值(例如大于90%),则可达到验证系统软件升级版本的目的。

图2为本发明实施例的基于主机系统交易重放的测试系统的结构示意图。如图2所示,包括:

信息旁路装置21,连接网关集群12,用于在进行测试时从所述网关集群12获取从终端系统11发送至主机系统13的交易报文;重放装置22,连接所述信息旁路装置21,用于接收所述信息旁路装置21发送的交易报文,并根据设定的测试目标和负载配置,启动重放的模拟用户,控制所述模拟用户向所述主机系统13中的主机业务交易系统14发起交易,并接收所述主机业务交易系统14返回的处理结果进而分析交易重放成功率,生成压力测试结果。

在本实施例中,主机业务交易系统14的所有的联机交易均通过网关集群12进行路由转发。网关集群12在接收到终端报文并转成主机格式的报文后,把上送主机的整个报文旁路到信息旁路装置21的文件中,此节点旁路的报文由于是转换后的报文,主机直接可用。所述信息旁路装置21从所述网关集群12获取的从终端系统11发送至主机系统13的交易报文包含交易重新执行、负载均衡处理、交易过滤、重放节奏控制所需要的必要信息,例如交易码、报文时间戳、柜面号或终端编号、网关与主机的通讯报头、业务通讯区数据等关键信息。并且,为了不影响网关群集12的性能,信息旁路装置21应设置开关,只有在有压力测试需求时才开启旁路。

为了验证系统软件升级版本,通常会搭建一套与生产环境一样的验证环境。重放装置22直接与信息旁路装置21进行连接,其接收所述信息旁路装置21发送的交易报文,并根据设定的测试目标和负载配置,启动重放的模拟用户,控制所述模拟用户向所述主机系统13中的主机业务交易系统14发起交易,并接收所述主机业务交易系统14返回的处理结果进而分析交易重放成功率,生成压力测试结果。在一实施例中,如图3所示,其具体包括:

信息接收单元221,用于接收所述信息旁路装置21发送的交易报文。

重放定制单元222,连接所述信息接收单元221,用于根据设定的测试目标,筛选所需要的交易报文。例如,为了实现不同的重放需求,比如根据压力测试制定的测试目标,可按照白名单筛选需要的交易报文,或按照黑名单过滤不需要的交易报文。或者,根据重放目的的不同,只重放部分时段的交易,或只重放部分特定业务品种的交易和特定地区的交易,或不重放部分特定业务品种的交易。

负载均衡单元223,连接所述重放定制单元222,既可以实现跟生产环境一样的负载配置,也可以按压力测试需求(比如增加或减少运行业务交易的子系统)调整负载均衡配置,配置重放的并发用户数,以实现交易在主机业务交易系统运行的负载均衡。具体实施时,负载均衡单元223还可以根据验证环境的负载配置,设计重放用户数,对筛选后的交易报文根据所述重放用户数进行合并、重拆分、排序,为每个重放用户分配模拟的交易量并均衡地发起交易。

重放控制单元224,连接所述负载均衡单元223,用于控制所述重放用户建立与所述主机业务交易系统14的连接,并根据压力测试的需要控制重放的步伐,动态的发起交易请求并接收重放交易返回结果。具体实施时,重放控制单元224与负载均衡单元223连接,根据负载配置启动对应的模拟用户,实现模拟客户向主机业务交易系统14发起交易。重放控制单元224实现对重放过程的控制,重放控制单元224控制交易按生产时序执行,控制同一柜员或同一终端的交易按顺序执行。并且,可根据压力测试需求加速发起或减速发起交易,加速功能可实现比生产环境更高TPS的压力测试。在验证环境资源不足的情况下可采用减速功能,以降低重放时的TPS。重放控制单元224同时与主机业务交易系统14相连接,实现发起交易和接收交易的返回。根据负载均衡单元223的处理,各重放用户均衡地工作,动态地把交易请求发送到主机业务交易系统14,使各处理子系统负载均衡。

交易运行汇总单元225,连接所述重放控制单元224,用于接收交易的处理结果,并根据交易的特性分析统计业务处理成功失败情况,汇总整个重放过程中重放的交易品种、数量及重放成功率。

在一实施例中,如图4所示,交易运行汇总单225元同时与信息接收单元221连接。其中,所述信息旁路装置21还用于从所述网关集群12获取生产交易时从所述主机业务交易系统14返回的生产执行结果;所述交易运行汇总单元225用于将从所述信息旁路单元21获取的所述生产执行结果与所述重放交易返回结果进行对比,以分析重放行为的有效性。

在图4所示实施例中,所述测试系统还包括安全校验屏蔽装置23,连接所述主机业务交易系统14,用于当所述主机业务交易系统14发起安全校验检查时,实施对校验结果的屏蔽,自动设置为校验成功。为了避免交易重做的风险,交易在执行动作前,会增加很多规则检查,如业务执行时间有效性检查、柜面或终端序号检查。在一实施例中,安全校验屏蔽装置23利用主机的出口技术嵌入到主机业务交易系统14中,而不需要为压力测试专门修改主机业务交易系统14的校验规则。当发生安全校验检查时,实施对校验结果的屏蔽,自动置为校验成功,以便交易继续执行。

需要说明的是,上述实施例中提及的基于主机系统交易重放的测试系统可以为独立于主机系统、网关集群服务器以及终端系统之外的独立测试系统,也可以将各个模块安装在现有的交易系统服务器中。例如,如图5所示,信息旁路装置21可以安装在网关集群服务器中,重放装置22可以安装在验证环境的主机系统中,而安全校验屏蔽装置23则可以利用主机的出口技术嵌入到主机业务交易系统14中。

此外,尽管在上文详细描述中提及了基于主机系统交易重放的测试系统的若干单元,但是这种划分仅仅并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多单元的特征和功能可以在一个单元中具体化。同样,上文描述的一个单元的特征和功能也可以进一步划分为由多个单元来具体化。并且,上述所提及的术语“装置”和“单元”,可以是实现预定功能的软件和/或硬件。尽管上述实施例所描述的模块较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。

基于同一发明构思,本发明还提出一种基于主机系统交易重放的测试方法,其具体实施流程如图6所示,包括:

步骤S601,从所述网关集群获取从终端发送至主机系统的交易报文;

步骤S602,接收所述交易报文,并根据设定的测试目标和负载配置,启动重放的模拟用户,控制所述模拟用户向所述主机系统中的主机业务交易系统发起交易,并接收所述主机业务交易系统返回的处理结果进而分析交易重放成功率,生成压力测试结果。该步骤具体包括:接收所述交易报文;根据设定的测试目标,筛选所需要的交易报文;根据验证环境的负载配置,设计重放用户数,对筛选后的交易报文根据所述重放用户数进行合并、重拆分、排序,为每个重放用户分配模拟的交易量,以均衡地发起交易;控制所述重放用户建立与所述主机业务交易系统的连接,并根据压力测试的需要控制重放的步伐,动态的发起交易请求并接收重放交易返回结果;接收所述重放交易返回结果,分析交易重放成功率,生成压力测试结果。

并且,当所述主机业务交易系统发起安全校验检查时,实施对校验结果的屏蔽,自动设置为校验成功。

如图7所示,为本发明的基于主机系统交易重放的测试方法的一具体实施例的处理流程图。

步骤S701,在生产环境网关集群服务器上送报文到主机前的关键节点上,获取到经过协议转换成主机可识别的交易报文,旁路的信息包含交易重新执行、负载均衡处理、交易过滤、重放节奏控制所需要的必要信息。

步骤S702,将获取到的报文写到本地文件中,为重放提供数据准备。

旁路完成之后,可在生产非高峰时段,通过重放装置:

步骤S703,将生产网关旁路的交易报文传输到验证环境主机系统中。

步骤S704,根据压力测试制定的测试目标,可按照白名单筛选需要的交易报文,或按照黑名单过滤不需要的交易报文。

步骤S705,根据验证环境的配置,设计重放并发用户数,对筛选后的报文根据并发用户数进行合并、重拆分、排序,为每个重放用户分配模拟的交易量,以均衡地发起交易。

步骤S706,当数据准备就绪后,启动重放用户。

步骤S707,重放用户建立重放装置与主机业务交易系统的连接,用于发起交易及接收交易返回。重放用户读取旁路的交易报文,屏蔽交易入口的超时校验,发起交易。此步骤是重放的关键,重放用户按生产的时序读出报文,根据压力测试的需要控制重放的步伐,进行加速、与生产同速,减速重放。根据步骤S705的处理,各重放用户均衡地工作,动态地把交易请求发送到主机业务交易系统,使各处理子系统负载均衡。

步骤S708,主机业务交易系统受理业务请求,进行业务处理。本发明保持交易不需要作任何修改而支持重放。在交易处理到安全校验模块时,会自动触发安全校验屏蔽功能。

步骤S709,安全校验屏蔽模块通过主机出口技术捕捉到校验结果,把日期校验、柜员流水号校验、报文完整性校验失败的返回,自动调整为正常返回,以便重放场景下交易继续处理。

步骤S710,交易处理结束后,把处理结果返回给重放用户,重放用户把交易处理结果写入到文件中。

步骤S711,启动交易运行汇总单元,读取交易的重放结果,分析交易重放成功率,提供压力测试事后分析报表。

在执行重放前,为了提升交易的成功率,需要使用磁盘同步技术把生产环境同步到验证环境,使得之后执行的交易,在生产环境和验证环境处于同一起始点上,交易版本保持一致。

同时,基于数据安全的需要,旁路的交易数据及验证环境的数据在实际应用中一般需要执行跟生产环境一样的安全风险控制,并在验证结束后及时销毁。

应当注意,尽管在附图中以特定顺序描述了本发明方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。

本发明的目的是通过重放技术实现生产的交易数据在验证环境重放,来验证系统软件升级版本在用户环境下的稳定性及可靠性,因此并不需要每笔交易验证环境均执行成功,只要在验证环境执行成功率达到一定的比值(如大于90%),则可达到验证系统软件升级版本的目的。

本发明提供的基于主机系统交易重放的测试系统及方法,可以解决传统压力测试方法的不足,在不需要大量投入人力物力的情况下,实现生产交易在验证环境映像式的重现,进一步提高系统软件升级版本在用户环境下的稳定性及可靠性。

基于本发明的基于主机系统交易重放的测试系统及方法,在压力测试时,采用更加丰富的交易品种,模拟生产环境高峰期更加复杂的混合运行,以达到真实模拟生产环境的目的,从而提升系统软件新版本测试的有效性。本发明通过重放的加速减速功能,可以应用于模拟分析未来生产高峰的创新高的系统资源评估,通过需求定制,可以对特定业务的交易,或特定地区的交易进行专门的测试。本发明也可以应用于无版本变化的回归测试,应用于应用版本技术改造的技术性覆盖测试。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

本发明中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

再多了解一些
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1