交易系统的故障模拟方法、电子设备及存储介质与流程
未命名
07-14
阅读:122
评论:0
1.本技术涉及测试技术领域,特别是涉及交易系统的故障模拟方法、电子设备及存储介质。
背景技术:
2.现有技术中,例如在金融领域的交易系统中,为测试交易系统的故障应对措施是否能在交易系统出现故障时,及时启动并解决相应的故障问题,通常会在交易系统中进行相应的故障模拟。
3.现有技术的缺陷在于,在现有的故障模拟方法中,通常会制定新的测试接口进行故障模拟,以避免影响正常的交易接口的运作,但这也导致无法对实际应用的交易接口进行故障模拟的测试,使得现有的故障模拟方法的可靠性较差。
技术实现要素:
4.本技术主要解决的技术问题是如何提高故障模拟的可靠性。
5.为了解决上述技术问题,本技术采用的第一个技术方案是:一种交易系统的故障模拟方法,交易系统包括多个交易接口,目标交易接口为多个交易接口中的一交易接口;故障模拟方法包括:将目标交易接口对应的目标交易线程进行线程休眠,其中,线程休眠的总时长大于预设的超时时长;响应于目标交易线程的持续时长大于超时时长,基于目标交易线程进行抛出异常并返回相应的异常反馈信息;基于预设的多个交易接口的模拟故障比例确定目标负载均衡参数,并基于目标负载均衡参数对交易系统的服务器进行负载均衡控制。
6.其中,将目标交易接口对应的目标交易线程进行线程休眠,包括:响应于当前时刻处于预设时段内,将目标交易线程进行线程休眠;基于预设的多个交易接口的模拟故障比例确定目标负载均衡参数,并基于目标负载均衡参数对交易系统的服务器进行负载均衡控制,包括:响应于当前时刻处于预设时段内,基于模拟故障比例确定目标负载均衡参数,并基于目标负载均衡参数对服务器进行负载均衡控制。
7.其中,预设时段的总时长不大于5分钟。
8.其中,线程休眠的总时长不大于预设的最大消耗时长。
9.其中,超时时长为5秒,最大消耗时长为300秒。
10.其中,将目标交易接口对应的目标交易线程进行线程休眠,包括:响应于接收到第一设置指令,在目标交易线程的业务处理进程开始前,将目标交易接口对应的目标交易线程进行线程休眠;响应于接收到第二设置指令,在述目标交易线程的业务处理进程完成后,将目标交易接口对应的目标交易线程进行线程休眠。
11.其中,故障模拟方法还包括:判断交易系统的故障应对程序是否处于运行状态;基于运行状态对交易系统进行评估。
12.其中,故障模拟方法还包括:基于目标交易线程的持续时长,和服务器的负载均衡
状态,判定交易系统是否存在故障;若存在故障,则启动故障应对程序。
13.为了解决上述技术问题,本技术采用的第二个技术方案是:一种电子设备,包括:存储器和处理器;存储器用于存储程序指令,处理器用于执行程序指令以实现上述方法。
14.为了解决上述技术问题,本技术采用的第三个技术方案是:一种计算机可读存储介质,计算机可读存储介质存储有程序指令,程序指令被处理器执行时实现上述方法。
15.本技术的有益效果在于:区别于现有技术,本技术的技术方案中,通过对交易系统中用于供用户进行交易处理的目标交易接口进行线程休眠,以模拟目标交易接口处理的目标交易线程的故障超时状况,在目标交易线程的持续时长过长时,可通过抛出异常的方式输出异常反馈信息,以实现交易节点的故障模拟,并可通过基于预设的多个交易接口的模拟故障比例确定目标负载均衡参数,并基于目标负载均衡参数对交易系统的服务器进行负载均衡控制,以实现服务器因该故障而导致的负载状况的模拟,基于上述方式,能够在不影响各交易节点的正常运作的前提下,实现对实际进行交易处理的交易节点的故障模拟,提高了故障模拟的可靠性。
附图说明
16.为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
17.图1是本技术交易系统的故障模拟方法的一实施例流程示意图;
18.图2是本技术电子设备的一实施例结构示意图;
19.图3是本技术计算机可读存储介质的一实施例的结构示意图。
具体实施方式
20.下面结合附图和实施例,对本技术作进一步的详细描述。特别指出的是,以下实施例仅用于说明本技术,但不对本技术的范围进行限定。同样的,以下实施例仅为本技术的部分实施例而非全部实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本技术保护的范围。
21.在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本技术的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其他实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其他实施例相结合。
22.本技术的描述中,需要说明书的是,除非另外明确的规定和限定,术语“安装”、“设置”、“相连”、“连接”应做广义理解,例如,可以是固定连接,可以是可拆卸连接,或一体地连接;可以是机械来能接,也可以是电连接;可以是直接相连,也可以通过中间媒介间隔相连。对于本领域的普通技术人员而言,可以具体情况连接上述属于在本技术的具体含义。
23.本技术首先提出一种交易系统的故障模拟方法,交易系统包括多个交易接口,目标交易接口为多个交易接口中的一交易接口。
24.参见图1,图1是本技术交易系统的故障模拟方法的一实施例流程示意图,如图1所
示,故障模拟方法包括:
25.步骤s11:将目标交易接口对应的目标交易线程进行线程休眠。
26.其中,线程休眠的总时长大于预设的超时时长。
27.线程休眠是指,在指定线程的执行中,暂停指定时长,释放中央处理器的时间片。通常情况下,线程休眠是用于调节不同线程之间的执行顺序,从而满足特定的需求。而在步骤s11中,可通过对目标交易线程进行线程休眠的处理,以延长目标交易线程的存在时长,从而模拟出目标交易线程在发生故障时的处理时长过长的状态。
28.该预设的超时时长可以是基于预先记录好的多次发生故障的交易接口的交易线程的最小存在时长,也可以是用户设置的任意值的时长,此处不作限定。
29.步骤s12:响应于目标交易线程的持续时长大于超时时长,基于目标交易线程进行抛出异常并返回相应的异常反馈信息。
30.其中,在目标交易线程持续时长大于超时时长时,可继续对目标交易线程进行抛出异常的处理,以返回相应的异常反馈信息,例如:预设的应答码或其它类型的应答信息。
31.超时时长可以是0-20000毫秒,具体可以是5000毫秒或其它时长,此处不作限定。
32.步骤s13:基于预设的多个交易接口的模拟故障比例确定目标负载均衡参数,并基于目标负载均衡参数对交易系统的服务器进行负载均衡控制。
33.其中,需要说明的是,步骤s11-s12与步骤s13之间为并列关系,并无特定先后顺序的限制,当该两个步骤均完成后,即可使得交易系统模拟出相应的交易接口出现故障的状况。
34.经过步骤s11-s12的处理,可模拟出目标交易接口及其对应处理的目标交易线程的故障状态,而经过步骤s13的处理即可进一步模拟出交易系统的服务器在预设比例的交易接口出现故障时的负载状态,该预设比例即为上述故障模拟比例,该故障模拟比例用于描述全部交易接口中出现故障的接口所占的比例。
35.基于上述方式,即可在特定时段内将多个交易接口中的部分交易接口作为目标交易接口进行上述故障模拟的处理,并同时使得服务器模拟出对应的发生故障时的负载状态,从而在采用实际交易中会采用的交易接口进行故障模拟的同时,不会使得交易接口出现真正的故障,且配合服务器的负载状态的模拟,进一步提高了交易系统所模拟故障的真实性,使得基于模拟出的故障对故障应对程序是否正常启用的检测结果更具参考性,也即,提高了故障模拟的可靠性。
36.区别于现有技术,本技术的技术方案中,通过对交易系统中用于供用户进行交易处理的目标交易接口进行线程休眠,以模拟目标交易接口处理的目标交易线程的故障超时状况,在目标交易线程的持续时长过长时,可通过抛出异常的方式输出异常反馈信息,以实现交易节点的故障模拟,并可通过基于预设的多个交易接口的模拟故障比例确定目标负载均衡参数,并基于目标负载均衡参数对交易系统的服务器进行负载均衡控制,以实现服务器因该故障而导致的负载状况的模拟,基于上述方式,能够在不影响各交易节点的正常运作的前提下,实现对实际进行交易处理的交易节点的故障模拟,提高了故障模拟的可靠性。
37.在一实施例中,步骤s11具体可包括:
38.响应于当前时刻处于预设时段内,将目标交易线程进行线程休眠。
39.步骤s13具体可包括:
40.响应于当前时刻处于预设时段内,基于模拟故障比例确定目标负载均衡参数,并基于目标负载均衡参数对服务器进行负载均衡控制。
41.具体地,可预先接收用户输入的配置信息,基于配置信息确定需要目标交易接口模拟故障的时段,并将该时段记为预设时段,则在当前时刻处于预设时段内的时候,可将目标交易线程进行休眠。
42.还可基于配置信息确定全部交易接口中需要模拟故障的交易接口的数量,以得到相应的模拟故障比例,也即模拟故障的交易接口的数量占全部交易接口的总数量的比例,从而在当前时刻处于预设时段内时,基于模拟故障比例确定目标负载均衡参数,并进一步基于目标负载均衡参数对服务器进行负载均衡控制。模拟故障比例具体可以是30%或其它比例,此处不作限定。
43.基于上述方式,能够将预设时段设置为交易系统中的交易处理量较少的时段,从而减少故障模拟对交易系统造成的负面影响,提高了故障模拟的可靠性。
44.可选地,预设时段的总时长不大于5分钟。
45.具体地,可使得单个预设时段的总时长不超过5分钟或其它时长,从而减少故障模拟对交易系统的资源的占用,避免对交易系统的正常运作造成负面影响。
46.此外,还可在特定时段内设置多个预设时段,其中的每一个预设时段的总时长均不超过5分钟,举例说明,该特定时段可以是0点到1点,在0点到1点的一小时的时段中,可设置三个互不交叉的预设时段,每一个预设时段的总时长均为3分钟。
47.基于上述方式,能够在尽可能避免对交易系统的资源进行占用的同时,提高故障模拟的次数和总时长,以进行更完善的相关检测,提高了故障模拟的有效性。
48.在一实施例中,线程休眠的总时长不大于预设的最大消耗时长。
49.具体地,该最大消耗时长可为不大于预设时段的总时长的任意一时长,例如最大消耗时长为300秒。
50.基于上述方式,可为线程休眠限定一最大运行时长,避免线程休眠无休止地进行下去,从而导致交易系统的服务不可用的情况发生,提高了交易系统的可靠性。
51.在一实施例中,步骤s11具体可包括:
52.响应于接收到第一设置指令,在目标交易线程的业务处理进程开始前,将目标交易接口对应的目标交易线程进行线程休眠。
53.响应于接收到第二设置指令,在目标交易线程的业务处理进程完成后,将目标交易接口对应的目标交易线程进行线程休眠。
54.具体地,第一设置指令用于指示将故障模拟的时间点前置,也即在目标交易线程的业务处理进程开始前,将目标交易接口对应的目标交易线程进行线程休眠。
55.第二设置指令则用于指示将故障模拟的时间点后置,也即在目标交易线程的业务处理进程完成后,将目标交易接口对应的目标交易线程进行线程休眠。
56.基于上述方式,可根据用户发送的指令确定故障模拟的时间点,从而在特定时间点开始上述步骤s11-s13的处理以实现故障模拟,基于接收到的指令的不同,即可模拟出在不同时间点开始出现故障的状况,提高了故障模拟的可靠性。
57.在一实施例中,故障模拟方法还包括:
58.判断交易系统的故障应对程序是否处于运行状态。
59.基于运行状态对交易系统进行评估。
60.具体地,可在执行上述步骤s11-s13的故障模拟处理后,对交易系统的故障应对程序或其它故障应对措施进行运行状态的检测,判断交易系统是否以检测到了模拟出的故障,并判断交易系统是否针对该故障启动相应的故障应对程序或其它故障应对措施,从而完成对交易系统的故障应对能力的评估。
61.基于上述方式,能够在模拟故障后,完成对交易系统的故障应对能力的评估。
62.可选地,故障模拟方法还包括:
63.基于目标交易线程的持续时长,和服务器的负载均衡状态,判定交易系统是否存在故障。
64.若存在故障,则启动故障应对程序。
65.具体地,可通过对一交易接口的交易线程的持续时长的检测,结合对服务器的负载均衡状态的检测,即可确定交易系统中是否存在交易接口出现故障,进而基于判断结果确定是否启动故障应对程序。
66.故障应对程序具体可包括熔断程序和其它故障应对程序中的至少一种,此处不作限定。
67.基于上述方式,能结合交易线程和服务器的负载均衡状态,综合考虑交易系统中是否出现故障,从而确定是否需要启动故障应对程序,避免出现漏识别故障的情况发生,提高了交易系统的可靠性。
68.本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
69.为了便于理解,对上述交易系统的故障模拟方法实施例的应用场景进行举例说明。在上述交易系统的故障模拟方法应用于金融科技领域时,交易系统可以是证券交易系统或其它类型的交易系统,此处不作限定。
70.在实际中,交易系统具体可以是基于java构建的软件系统,在用户需要在交易系统中进行故障模拟的时候,用户可构建包含相应配置信息的jar包并输入交易系统中,交易系统可根据接收到的jar包确定配置信息,例如故障模拟时段、故障模拟时长、故障模拟频次等信息,并在满足配置信息所对应的条件时进行相应的故障模拟,以实现用户的需求。
71.本技术还提出一种电子设备,参见图2,图2是本技术电子设备的一实施例结构示意图,如图2所示,电子设备20包括处理器21、存储器22以及总线23。
72.该处理器21、存储器22分别与总线23相连,该存储器22中存储有程序指令,处理器21用于执行程序指令以实现上述实施例中的交易系统的故障模拟方法。
73.在本实施例中,处理器21还可以称为cpu(central processing unit,中央处理单元)。处理器21可能是一种集成电路芯片,具有信号的处理能力。处理器21还可以是通用处理器、数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器21也可以是任何常规的处理器等。
74.区别于现有技术,本技术的技术方案中,通过对交易系统中用于供用户进行交易处理的目标交易接口进行线程休眠,以模拟目标交易接口处理的目标交易线程的故障超时
状况,在目标交易线程的持续时长过长时,可通过抛出异常的方式输出异常反馈信息,以实现交易节点的故障模拟,并可通过基于预设的多个交易接口的模拟故障比例确定目标负载均衡参数,并基于目标负载均衡参数对交易系统的服务器进行负载均衡控制,以实现服务器因该故障而导致的负载状况的模拟,基于上述方式,能够在不影响各交易节点的正常运作的前提下,实现对实际进行交易处理的交易节点的故障模拟,提高了故障模拟的可靠性。
75.本技术还提出一种计算机可读存储介质,参见图3,图3是本技术计算机可读存储介质的一实施例的结构示意图,如图3所示,计算机可读存储介质30其上存储有程序指令31,程序指令31被处理器(图未示)执行时实现上述实施例中的交易系统的故障模拟方法。
76.本实施例计算机可读存储介质30可以是但不局限于u盘、sd卡、pd光驱、移动硬盘、大容量软驱、闪存、多媒体记忆卡、服务器、fpga或asic中的存储单元等。
77.区别于现有技术,本技术的技术方案中,通过对交易系统中用于供用户进行交易处理的目标交易接口进行线程休眠,以模拟目标交易接口处理的目标交易线程的故障超时状况,在目标交易线程的持续时长过长时,可通过抛出异常的方式输出异常反馈信息,以实现交易节点的故障模拟,并可通过基于预设的多个交易接口的模拟故障比例确定目标负载均衡参数,并基于目标负载均衡参数对交易系统的服务器进行负载均衡控制,以实现服务器因该故障而导致的负载状况的模拟,基于上述方式,能够在不影响各交易节点的正常运作的前提下,实现对实际进行交易处理的交易节点的故障模拟,提高了故障模拟的可靠性。
78.在本技术的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本技术的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
79.此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本技术的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
80.流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本技术的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本技术的实施例所属技术领域的技术人员所理解。
81.在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(可以是个人计算机,服务器,网络设备或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。
计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(ram),只读存储器(rom),可擦除可编辑只读存储器(eprom或闪速存储器),光纤装置,以及便携式光盘只读存储器(cdrom)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
82.以上所述仅为本技术的实施方式,并非因此限制本技术的专利范围,凡是利用本技术说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本技术的专利保护范围内。
技术特征:
1.一种交易系统的故障模拟方法,其特征在于,所述交易系统包括多个交易接口,目标交易接口为多个所述交易接口中的一交易接口;所述故障模拟方法包括:将所述目标交易接口对应的目标交易线程进行线程休眠,其中,所述线程休眠的总时长大于预设的超时时长;响应于所述目标交易线程的持续时长大于所述超时时长,基于所述目标交易线程进行抛出异常并返回相应的异常反馈信息;基于预设的多个所述交易接口的模拟故障比例确定目标负载均衡参数,并基于所述目标负载均衡参数对所述交易系统的服务器进行负载均衡控制。2.根据权利要求1所述的故障模拟方法,其特征在于,所述将所述目标交易接口对应的目标交易线程进行线程休眠,包括:响应于当前时刻处于预设时段内,将所述目标交易线程进行线程休眠;所述基于预设的多个所述交易接口的模拟故障比例确定目标负载均衡参数,并基于所述目标负载均衡参数对所述交易系统的服务器进行负载均衡控制,包括:响应于当前时刻处于所述预设时段内,基于所述模拟故障比例确定所述目标负载均衡参数,并基于所述目标负载均衡参数对所述服务器进行负载均衡控制。3.根据权利要求2所述的故障模拟方法,其特征在于,所述预设时段的总时长不大于5分钟。4.根据权利要求1至3任一项所述的故障模拟方法,其特征在于,所述线程休眠的总时长不大于预设的最大消耗时长。5.根据权利要求4所述的故障模拟方法,其特征在于,所述超时时长为5秒,所述最大消耗时长为300秒。6.根据权利要求1至3任一项所述的故障模拟方法,其特征在于,所述将所述目标交易接口对应的目标交易线程进行线程休眠,包括:响应于接收到第一设置指令,在所述目标交易线程的业务处理进程开始前,将所述目标交易接口对应的目标交易线程进行线程休眠;响应于接收到第二设置指令,在述目标交易线程的业务处理进程完成后,将所述目标交易接口对应的目标交易线程进行线程休眠。7.根据权利要求1至3任一项所述的故障模拟方法,其特征在于,所述故障模拟方法还包括:判断所述交易系统的故障应对程序是否处于运行状态;基于所述运行状态对所述交易系统进行评估。8.根据权利要求7所述的故障模拟方法,其特征在于,所述故障模拟方法还包括:基于所述目标交易线程的持续时长,和所述服务器的负载均衡状态,判定所述交易系统是否存在故障;若存在故障,则启动所述故障应对程序。9.一种电子设备,其特征在于,包括:存储器和处理器;所述存储器用于存储程序指令,所述处理器用于执行所述程序指令以实现如权利要求1至8任一项所述方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有程序指令,所述程序指令被处理器执行时实现如权利要求1至8任一项所述方法。
技术总结
本申请公开了交易系统的故障模拟方法、电子设备及存储介质,该故障模拟方法包括:将目标交易接口对应的目标交易线程进行线程休眠,其中,线程休眠的总时长大于预设的超时时长;响应于目标交易线程的持续时长大于超时时长,基于目标交易线程进行抛出异常并返回相应的异常反馈信息;基于预设的多个交易接口的模拟故障比例确定目标负载均衡参数,并基于目标负载均衡参数对交易系统的服务器进行负载均衡控制。基于上述方式,可有效提高故障模拟的可靠性。靠性。靠性。
技术研发人员:唐勇
受保护的技术使用者:平安银行股份有限公司
技术研发日:2023.04.12
技术公布日:2023/7/13
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
