一种异步长挂分布式架构的测试方法和装置与流程

文档序号:32306360发布日期:2022-11-23 10:07阅读:74来源:国知局
一种异步长挂分布式架构的测试方法和装置与流程

1.本技术涉及计算机技术领域,特别是涉及一种异步长挂(asynchronous longrun,al)分布式架构的测试方法和装置。


背景技术:

2.许多核心系统(如银行核心系统)需要对接很多的外围系统,各个外围系统既可以做生产者(即把数据放到消息队列(message queue,mq)的一方),也可以做消费者(从mq里取数据的一方),与该核心系统进行交互。al作为一个应用,可以通过轮询的方式向mq收发消息报文,解决各个应用的异步消息处理需求,提供更便利的解决方案,受到这些核心系统的青睐。
3.通常,al以al分布式架构的方式提供服务。al分布式架构,是指al应用下挂多个节点,每个节点部署相应的服务,各节点调用其上部署的服务对mq进行处理。目前,为测试al各方面的功能,需要各相关外围系统都配置好mq参数,并且将环境链路打通,这部分准备工作需要消耗很大的时间和精力。对于mq,也需要将生产者和消费者之间的通道进行实联,且需要手工组报、提取消息,测试人员需关注组包规则、报文内容、队列状态等一系列内容。
4.基于此,亟待提供一种测试al分布式架构的技术方案,能够简单、方便的对al的功能进行测试,以便al分布式架构能够在其所属的核心系统发挥良好的作用。


技术实现要素:

5.本技术实施例提供了一种al分布式架构的测试方法和装置,将对al应用的测试独立出来,将al的功能模块化的封装到al分布式架构的测试装置中,使测试人员只需关注该al分布式架构的测试装置的运行结果,不再需要对环境参数过多的操作,能够简单和方便的实现对al分布式架构的测试,提高包括al分布式架构的系统的性能,提高用户使用该核心系统的体验。
6.第一方面,本技术实施例提供了一种异步长挂分布式架构的测试方法,包括:
7.基于待测试的mq、待测试的功能以及并发测试数量,获得测试数据;
8.设置异步长挂分布式架构的多个节点中可用状态的节点;
9.根据所述测试数据和所述异步长挂分布式架构,获得测试结果,所述测试结果包括所述可用状态的节点是否能够正常提供服务。
10.可选的,若所述测试结果指示所述可用状态的节点不能正常提供服务,则,所述方法还包括:
11.调整所述异步长挂分布式架构。
12.可选的,所述根据所述测试数据和所述异步长挂分布式架构获得测试结果,包括:
13.将所述测试数据输入所述异步长挂分布式架构,确定所述可用状态的节点正常提供服务;
14.测试数据写入异常,触发所述重试流程;
15.重试流程满足预设条件,则,确定所述异步长挂分布式架构的重试机制不完善,所述预设条件包括预设的重试次数用尽所述测试数据仍然未写入正常表,或者,达到预设的重试时间间隔所述测试数据仍然未写入正常表。
16.可选的,所述测试结果包括指示所述异步长挂分布式架构的重试机制不完善,则,所述方法还包括:
17.将异常表设置为锁止。
18.可选的,所述根据所述测试数据和所述异步长挂分布式架构获得测试结果,包括:
19.将所述测试数据输入所述异步长挂分布式架构,确定所述可用状态的节点正常提供服务;
20.使能延迟发送功能且获得预设的延迟时间;
21.若所述延迟时间之前,所述测试数据被发送,则,确定所述异步长挂分布式架构的延迟发送功能故障。
22.可选的,所述根据所述测试数据和所述异步长挂分布式架构获得测试结果,包括:
23.将所述测试数据输入所述异步长挂分布式架构,确定所述可用状态的节点正常提供服务;
24.使能优雅停机功能且将正在执行的服务关机;
25.若所述服务开机之后,所述服务对应的mq中仍然有待执行的任务,则,确定所述异步长挂分布式架构的优雅停机功能故障。
26.可选的,所述根据所述测试数据和所述异步长挂分布式架构获得测试结果,包括:
27.将所述测试数据输入所述异步长挂分布式架构,确定所述可用状态的节点正常提供服务;
28.若异常表中存在写入时长大于预设的保留时间的数据,则,确定所述异步长挂分布式架构的数据清理功能故障。
29.第二方面,本技术实施例还提供了一种异步长挂分布式架构的测试装置,包括:
30.第一获得单元,用于基于待测试的mq、待测试的功能以及并发测试数量,获得测试数据;
31.设置单元,用于设置异步长挂分布式架构的多个节点中可用状态的节点;
32.第二获得单元,用于根据所述测试数据和所述异步长挂分布式架构,获得测试结果,所述测试结果包括所述可用状态的节点是否能够正常提供服务。
33.可选的,所述装置还包括:
34.调整单元,用于若所述测试结果指示所述可用状态的节点不能正常提供服务,调整所述异步长挂分布式架构。
35.可选的,所述第二获得单元,包括:
36.输入子单元,用于将所述测试数据输入所述异步长挂分布式架构,确定所述可用状态的节点正常提供服务;
37.处理子单元,用于测试数据写入异常,触发所述重试流程;
38.确定子单元,用于重试流程满足预设条件,则,确定所述异步长挂分布式架构的重试机制不完善,所述预设条件包括预设的重试次数用尽所述测试数据仍然未写入正常表,或者,达到预设的重试时间间隔所述测试数据仍然未写入正常表。
39.可选的,所述装置还包括:
40.锁止单元,用于所述测试结果包括指示所述异步长挂分布式架构的重试机制不完善,将异常表设置为锁止。
41.可选的,所述第二获得单元,包括:
42.输入子单元,用于将所述测试数据输入所述异步长挂分布式架构,确定所述可用状态的节点正常提供服务;
43.处理子单元,用于使能延迟发送功能且获得预设的延迟时间;
44.确定子单元,用于若所述延迟时间之前,所述测试数据被发送,则,确定所述异步长挂分布式架构的延迟发送功能故障。
45.可选的,所述第二获得单元,包括:
46.输入子单元,用于将所述测试数据输入所述异步长挂分布式架构,确定所述可用状态的节点正常提供服务;
47.处理子单元,用于使能优雅停机功能且将正在执行的服务关机;
48.确定子单元,用于若所述服务开机之后,所述服务对应的mq中仍然有待执行的任务,则,确定所述异步长挂分布式架构的优雅停机功能故障。
49.可选的,所述第二获得单元,包括:
50.输入子单元,用于将所述测试数据输入所述异步长挂分布式架构,确定所述可用状态的节点正常提供服务;
51.确定子单元,用于若异常表中存在写入时长大于预设的保留时间的数据,则,确定所述异步长挂分布式架构的数据清理功能故障。
52.第三方面,本技术实施例还提供了一种电子设备,所述电子设备包括处理器以及存储器:
53.所述存储器用于存储计算机程序;
54.所述处理器用于根据所述计算机程序执行上述第一方面提供的所述方法。
55.第四方面,本技术实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质用于存储计算机程序,所述计算机程序用于执行上述第一方面提供的所述方法。
56.由此可见,本技术实施例具有如下有益效果:
57.本技术实施例提供了一种异步长挂分布式架构的测试方法,该方法由模块化的异步长挂分布式架构的测试装置执行,该方法例如可以包括:基于待测试的mq、待测试的功能以及并发测试数量,获得测试数据;设置异步长挂分布式架构的多个节点中可用状态的节点;从而,根据所述测试数据和所述异步长挂分布式架构,获得测试结果,所述测试结果包括所述可用状态的节点是否能够正常提供服务。如此,通过将对异步长挂应用的测试独立出来,并将收发消息队列、异常场景模拟进行模块化后集成到测试装置中,使测试过程更直观,操作更简便,无需将mq的生产者和消费者之间的通道进行实联,也无需手工组报、提取消息,测试人员无需关注组包规则、报文内容、队列状态等一系列内容,也不需要对环境参数、报文格式执行相应的操作,只要mq通道正常并针对异步长挂应用的功能模块进行设置,集成操作接口,即可实现测试,测试人员只需关注运行结果,对测试人员和用户而言,都十分友好。
附图说明
58.为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
59.图1为本技术实施例提供的一种al分布式架构的测试方法的流程示意图;
60.图2为本技术实施例中al分布式架构的示意图;
61.图3为本技术实施例提供的一种al分布式架构的测试装置300的结构示意图;
62.图4为本技术实施例提供的一种电子设备400的结构示意图。
具体实施方式
63.需要说明的是,本发明提供的一种异步长挂分布式架构的测试方法和装置可用于大数据领域、计算机技术领域或金融领域。上述仅为示例,并不对本发明提供的一种异步长挂分布式架构的测试方法和装置的应用领域进行限定。
64.本发明提供的一种异步长挂分布式架构的测试方法和装置可用于大数据领域、计算机技术领域、金融领域或其他领域,例如,可用于银行系统中异步长挂分布式架构的测试场景。其他领域为除大数据领域、计算机技术领域、金融领域之外的任意领域。上述仅为示例,并不对本发明提供的一种异步长挂分布式架构的测试方法和装置的应用领域进行限定。
65.为使本技术的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本技术实施例作进一步详细的说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本技术,并非对本技术的限定。另外,还需要说明的是,为便于描述,附图中仅示出了与本技术相关的部分,并非全部结构。
66.许多核心系统都需要对接多个外围系统,各外围系统既可以做该核心系统中mq的生产者,也可以做该核心系统中mq的消费者,与核心系统进行交互。例如,核心银行系统需要对接的外围系统很多,核心银行系统中可以配置al分布式架构,解决该核心银行系统中各个应用的异步消息处理需求,实现与多个外围系统之间的良好的交互。其中,mq在分布式系统中作为中间件,用来解决应用解耦、异步消息处理、流量削峰等问题,是实现高性能、高可用、可伸缩和最终一致性的分布式架构的关键。
67.作为核心系统中重要的组成部分,al分布式架构的各方面的功能的测试,对于核心系统而言十分关键和重要。目前,测试al分布式架构时,需要各相关外围都配置好mq参数,并且将环境链路打通,mq的生产者和消费者之间的通道进行实联,需要手工组报、提取消息,测试人员需关注组包规则、报文内容、队列状态等一系列内容,这部分准备工作需要消耗很大的时间和精力。而且,测试时系统间仍然需要保持联通状态,对系统维护的成本较高。可见,目前对al分布式架构的测试方式中,测试人员需关注的点较多,测试流程繁琐、低效。
68.基于此,本技术实施例提供了一种更加简单和高效的al分布式架构的测试方法,该方法例如可以包括:基于待测试的mq、待测试的功能以及并发测试数量,获得测试数据;设置异步长挂分布式架构的多个节点中可用状态的节点;从而,根据所述测试数据和所述异步长挂分布式架构,获得测试结果,所述测试结果包括所述可用状态的节点是否能够正
常提供服务。
69.如此,通过将对异步长挂应用的测试独立出来,并将收发消息队列、异常场景模拟进行模块化后集成到测试装置中,使测试过程更直观,操作更简便,无需将mq的生产者和消费者之间的通道进行实联,也无需手工组报、提取消息,测试人员无需关注组包规则、报文内容、队列状态等一系列内容,也不需要对环境参数、报文格式执行相应的操作,只要mq通道正常并针对异步长挂应用的功能模块进行设置,集成操作接口,即可实现测试,测试人员只需关注运行结果,对测试人员和用户而言,都十分友好。
70.为便于理解本技术实施例提供的al分布式架构的测试方法的具体实现,下面将结合附图进行说明。
71.需要说明的是,实施该al分布式架构的测试方法的主体可以为本技术实施例提供的al分布式架构的测试装置,该装置可以承载于电子设备或电子设备的功能模块中。本技术实施例中的电子设备,可以是任意的能够实施本技术实施例中的al分布式架构的测试方法的设备,例如可以是iot设备。
72.在执行本技术实施例之前,需要人工完成的配置工作例如可以包括:1、后台设置连接mq通道的参数,qmanager、initialq、本地队列、远端队列等,并在前端提供操作通道状态的按钮;2、预定义不同通道的消息报文格式,并显示消息模板,可手工修改消息内容,亦可批量自动生成消息队列;3、提供与后台数据库的接口,可以将消息数据写表4、对异常场景的模拟内置数据库脚本、shell脚本,封装成前端界面可视化的功能,用于操作表状态、通道状态。对于异常报文数据的生成,提供修改窗口。
73.图1为本技术实施例提供的一种al分布式架构的测试方法流程示意图。该方法可以应用于如图3所示的al分布式架构的测试装置300中,或者,也可以应用于图4所示的电子设备400中。
74.如图1所示,该方法例如可以包括:
75.s101,基于待测试的mq、待测试的功能以及并发测试数量,获得测试数据。
76.s102,设置异步长挂分布式架构的多个节点中可用状态的节点。
77.s103,根据所述测试数据和所述异步长挂分布式架构,获得测试结果,所述测试结果包括所述可用状态的节点是否能够正常提供服务。
78.参见图2所示的al分布式架构的示意图,可以包括:al应用10、节点21、节点22、
……
、节点2n(n为大于1的整数),还可以包括:普通流程模块30和节点状态模块40。其中,普通流程模块30可以执行s101以获得al分布式架构的测试装置的测试数据。
79.其中,普通流程模块30可以包括mq选择子模块31、功能选择子模块32和输入子模块33,可以通过mq选择子模块31选择待测试的mq,通过功能选择子模块32选择待测试的功能是接收功能还是发送功能,通过输入子模块33输入并发测试数据(例如输入1,表示待测试的是单笔交易,又例如输入3,表示待测试的是三笔并发交易)。al分布式架构的测试装置具备这三个方面的数据,即可验证正常状态下mq中消息的处理。普通流程模块30为测试正常状态的模块,包含单笔测试和多笔并发测试。
80.其中,s102可以通过节点状态模块40实现,即,通过在节点状态模块40设置al应用10下挂的节点中部分节点可用,其他节点不可用。具体实现时,该节点状态模块40针对al分布式架构内置shell脚本,操作不同节点状态。
81.如此,s103可以包括:按照节点状态模块40的输出配置各节点的状态后,将普通流程模块30的输出输入al应用10,经过各个节点之后,获得输出数据,如果输出数据指示可用状态的节点仍然能够提供特定的服务,即,其他不可用状态的节点即使宕机也不影响服务的正常提供,认为该al分布式架构稳定性和可靠性较好。
82.节点状态测试是al分布式架构测试的基础和关键。如果测试结果指示所述可用状态的节点不能正常提供服务,则,该方法还可以包括:调整所述al分布式架构。直到调整后的al分布式架构通过上述测试,可靠性和稳定性达标,即,设置的部分节点可用部分节点不可用的情况下,不影响服务的正常提供。节点状态模块40用于对al系统分布式架构的可用性、健壮性进行验证。
83.此外,如图2所示,还可以针对al分布式架构的其他功能进行单独的测试,对一个或多个al功能的测试可以封装为一个模块,执行相应功能的测试。下文中以一个al功能的测试封装为一个模块为例,对al分布式架构进行介绍。如图2所示,al分布式架构还可以包括:重试机制模块50、延迟发送模块60、优雅停机模块70或数据清理模块80中的至少一个。
84.对于重试机制模块50,可以包含表状态控制子模块51和重试参数设置子模块52。表状态控制子模块51可以通过封装数据库脚本控制表状态,从而触发重试机制,即,数据写表异常会自动触发启动重试机制。重试参数设置子模块52可以设置重试次数阈值和/或重试时间间隔,重试结束都无法正确消费(即数据无法正常写入),则,将该数据写入异常表;如在重试结束之前将表状态改回正常,则写正常表。重试结束可以指重试写入的次数达到预设的重试次数阈值,或者,当前时间距离开始重试(即触发重试机制)的时间达到预设的重试时间间隔。重试机制模块50用于消费失败后的处理机制,该消费失败通常是由于mq通道阻塞、表状态异常等引起,本技术实施例通过锁止异常表进行模拟。
85.具体实现时,s103还可以包括:将所述测试数据输入所述异步长挂分布式架构,确定所述可用状态的节点正常提供服务;测试数据写入异常,触发所述重试流程;重试流程满足预设条件,则,确定所述异步长挂分布式架构的重试机制不完善,所述预设条件包括预设的重试次数用尽所述测试数据仍然未写入正常表,或者,达到预设的重试时间间隔所述测试数据仍然未写入正常表。一种情况下,如果所述测试结果包括指示所述异步长挂分布式架构的重试机制不完善,则,所述方法还可以包括:将异常表设置为锁止。
86.对于延迟发送模块60,是al分布式架构中为了在发送消息的高峰期实现错峰发送而提高的功能,通过配置发送的时间点,实现对消息的延迟发送。该延迟发送模块60是一个定时作业,配置时间点,当时间到达该时间点时执行发送动作。该延迟发送模块60针对al应用10提供的定时功能进行测试。
87.具体实现时,s103还可以包括:将所述测试数据输入所述异步长挂分布式架构,确定所述可用状态的节点正常提供服务;使能延迟发送功能且获得预设的延迟时间;若所述延迟时间之前,所述测试数据被发送,则,确定所述异步长挂分布式架构的延迟发送功能故障。
88.对于优雅停机模块70,是al分布式架构为了在服务关机时,等待mq处理完成后才执行停机操作,提供消息处理的效率和准确性的功能。该优雅停机模块70内置shell脚本结束线程,但需等待该线程内正在进行的动作结束。优雅停机模块70用于测试停机时对在途消息的平滑处理。
89.具体实现时,s103还可以包括:将所述测试数据输入所述异步长挂分布式架构,确定所述可用状态的节点正常提供服务;使能优雅停机功能且将正在执行的服务关机;若所述服务再次开机之后,所述服务对应的mq中仍然有待执行的任务,则,确定所述异步长挂分布式架构的优雅停机功能故障。
90.对于数据清理模块80,是为了定时清理异常表中缓存的异常数据而提供的功能,节约存储空间。该数据清理模块80内置清理异常表的数据库脚本,同时设置保留时间,对异常表中超过保留时间的数据进行清理。数据清理模块80用于测试al应用提供的数据清理机制。
91.具体实现时,s103还可以包括:将所述测试数据输入所述异步长挂分布式架构,确定所述可用状态的节点正常提供服务;若异常表中存在写入时长大于预设的保留时间的数据,则,确定所述异步长挂分布式架构的数据清理功能故障。
92.可见,通过本技术实施例提供的方法,将对异步长挂应用的测试独立出来,并将收发消息队列、异常场景模拟进行模块化后集成到测试装置中,使测试过程更直观,操作更简便,无需将mq的生产者和消费者之间的通道进行实联,也无需手工组报、提取消息,测试人员无需关注组包规则、报文内容、队列状态等一系列内容,也不需要对环境参数、报文格式执行相应的操作,只要mq通道正常并针对异步长挂应用的功能模块进行设置,集成操作接口,即可实现测试,测试人员只需关注运行结果,对测试人员和用户而言,都十分友好。
93.参见图3,本技术实施例还提供了一种al分布式架构的测试装置300,所述装置300可以包括:第一获得单元301、设置单元302和第二获得单元303。其中:
94.第一获得单元301,用于基于待测试的mq、待测试的功能以及并发测试数量,获得测试数据;
95.设置单元302,用于设置异步长挂分布式架构的多个节点中可用状态的节点;
96.第二获得单元303,用于根据所述测试数据和所述异步长挂分布式架构,获得测试结果,所述测试结果包括所述可用状态的节点是否能够正常提供服务。
97.可选的,所述装置300还包括:
98.调整单元,用于若所述测试结果指示所述可用状态的节点不能正常提供服务,调整所述异步长挂分布式架构。
99.可选的,所述第二获得单元303,包括:
100.输入子单元,用于将所述测试数据输入所述异步长挂分布式架构,确定所述可用状态的节点正常提供服务;
101.处理子单元,用于测试数据写入异常,触发所述重试流程;
102.确定子单元,用于重试流程满足预设条件,则,确定所述异步长挂分布式架构的重试机制不完善,所述预设条件包括预设的重试次数用尽所述测试数据仍然未写入正常表,或者,达到预设的重试时间间隔所述测试数据仍然未写入正常表。
103.可选的,所述装置300还包括:
104.锁止单元,用于所述测试结果包括指示所述异步长挂分布式架构的重试机制不完善,将异常表设置为锁止。
105.可选的,所述第二获得单元303,包括:
106.输入子单元,用于将所述测试数据输入所述异步长挂分布式架构,确定所述可用
状态的节点正常提供服务;
107.处理子单元,用于使能延迟发送功能且获得预设的延迟时间;
108.确定子单元,用于若所述延迟时间之前,所述测试数据被发送,则,确定所述异步长挂分布式架构的延迟发送功能故障。
109.可选的,所述第二获得单元303,包括:
110.输入子单元,用于将所述测试数据输入所述异步长挂分布式架构,确定所述可用状态的节点正常提供服务;
111.处理子单元,用于使能优雅停机功能且将正在执行的服务关机;
112.确定子单元,用于若所述服务开机之后,所述服务对应的mq中仍然有待执行的任务,则,确定所述异步长挂分布式架构的优雅停机功能故障。
113.可选的,所述第二获得单元303,包括:
114.输入子单元,用于将所述测试数据输入所述异步长挂分布式架构,确定所述可用状态的节点正常提供服务;
115.确定子单元,用于若异常表中存在写入时长大于预设的保留时间的数据,则,确定所述异步长挂分布式架构的数据清理功能故障。
116.需要说明的是,该装置300的具体实现方式以及达到的技术效果,均可以参见图1所示的方法中的相关描述。
117.此外,本技术实施例还提供了一种电子设备400,如图4所示,所述电子设备400包括处理器401以及存储器402:
118.所述存储器402用于存储计算机程序;
119.所述处理器401用于根据所述计算机程序执行图1提供的方法。
120.此外,本技术实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质用于存储计算机程序,所述计算机程序用于执行本技术实施例提供的方法。
121.通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到上述实施例方法中的全部或部分步骤可借助软件加通用硬件平台的方式来实现。基于这样的理解,本技术的技术方案可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如只读存储器(英文:read-only memory,rom)/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者诸如路由器等网络通信设备)执行本技术各个实施例或者实施例的某些部分所述的方法。
122.本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例和设备实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的设备及系统实施例仅仅是示意性的,其中作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
123.以上所述仅是本技术的优选实施方式,并非用于限定本技术的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本技术的前提下,还可以作出若干改进
和润饰,这些改进和润饰也应视为本技术的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1