CN117632563A - 一种键值存储数据库故障处理方案的决策方法及相关装置 - Google Patents

一种键值存储数据库故障处理方案的决策方法及相关装置 Download PDF

Info

Publication number
CN117632563A
CN117632563A CN202311680734.4A CN202311680734A CN117632563A CN 117632563 A CN117632563 A CN 117632563A CN 202311680734 A CN202311680734 A CN 202311680734A CN 117632563 A CN117632563 A CN 117632563A
Authority
CN
China
Prior art keywords
mode
target
target system
session management
key value
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.)
Pending
Application number
CN202311680734.4A
Other languages
English (en)
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.)
Bank Of Ningbo Co ltd
Original Assignee
Bank Of Ningbo Co ltd
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 Bank Of Ningbo Co ltd filed Critical Bank Of Ningbo Co ltd
Priority to CN202311680734.4A priority Critical patent/CN117632563A/zh
Publication of CN117632563A publication Critical patent/CN117632563A/zh
Pending legal-status Critical Current

Links

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请公开了一种键值存储数据库故障处理方案的决策方法及相关装置。在执行本申请实施例提供的方法时,首先可以获取目标系统的会话管理方式,并计算目标系统的每秒处理事务数TPS。当会话管理方式为Spring会话管理时,识别目标系统的容错能力,并根据容错能力为目标系统配置目标启动方式,同时根据目标系统的TPS为目标系统配置目标存储方式。再基于目标启动方式和目标存储方式为目标系统配置键值存储数据库故障处理方案。本申请基于目标启动方式和目标存储方式为目标系统配置合适的键值存储数据库故障处理方案,可以有效地避免键值存储数据库出现故障时用户无法正常登录系统的情况发生。

Description

一种键值存储数据库故障处理方案的决策方法及相关装置
技术领域
本申请涉及数据库故障处理技术领域,具体涉及一种键值存储数据库故障处理方案的决策方法及相关装置。
背景技术
银行的一些系统会有会话信息管理的需求,而且这些系统通常会采用双中心集群部署来提高可用性。而会话信息若保存在应用服务器本地,则一套系统会拥有多套会话信息导致无法进行用户管理。为方便用户对多套会话信息进行管理,相关技术是将会话信息管理在一个单独的存储件中,而会话信息操作一般为高频操作,因此业界选择将会话信息管理存储在高性能的库键值存储数据库中。
在硬件故障、网络故障或遇到大规模攻击等极端情况下,键值存储数据库会出现全部不可用的情况,此时银行系统无法从键值存储数据库中读取会话信息,也就无法对用户进行身份验证和授权,从而导致用户无法正常登录系统。
因此,如何提供一种键值存储数据库故障处理方案的决策来避免在键值存储数据库发生故障时用户无法正常登录系统的情况发生,是本领域技术人员急需解决的技术问题。
发明内容
基于上述问题,本申请提供了一种键值存储数据库故障处理方案的决策方法及相关装置,可以避免在键值存储数据库发生故障时用户无法正常登录系统的情况发生,从而提高用户体验和系统稳定性。
本申请实施例公开了如下技术方案:
一种键值存储数据库故障处理方案的决策方法,所述方法包括:
获取目标系统的会话管理方式,并计算所述目标系统的每秒处理事务数TPS,其中,所述目标系统为有会话信息管理需求的分布式系统;所述会话管理方式包括Spring会话管理或自定义会话管理;
当所述会话管理方式为所述Spring会话管理时,识别所述目标系统的容错能力;
根据所述容错能力为所述目标系统配置目标启动方式,并根据所述目标系统的TPS为所述目标系统配置目标存储方式;
基于所述目标启动方式和所述目标存储方式为所述目标系统配置键值存储数据库故障处理方案。
在一种可能的实现方式中,所述目标存储方式包括目标系统配置特殊存储方式或数据库存储方式;
所述根据所述目标系统的TPS为所述目标系统配置目标存储方式,包括:
当所述目标系统的TPS大于或等于处理阈值时,为所述目标系统配置所述特殊存储方式或所述数据库存储方式;
当所述目标系统的TPS小于处理阈值时,为所述目标系统配置所述数据库存储方式。
在一种可能的实现方式中,所述目标启动方式包括热开关启动方式或冷启动方式;
所述根据所述容错能力为所述目标系统配置目标启动方式,包括:
当所述容错能力满足目标能力时,为所述目标系统配置所述热开关启动方式或所述冷启动方式;
当所述容错能力不满足目标能力时,为所述目标系统配置所述冷启动方式。
在一种可能的实现方式中,所述基于所述目标启动方式和所述目标存储方式为所述目标系统配置键值存储数据库故障处理方案,包括:
当所述目标启动方式为所述热开关启动方式时,查询所述目标系统的会话管理方式接口;
确定所述目标系统配置键值存储数据库故障处理方案为,根据所述目标存储方式对所述目标系统的会话管理方式接口进行修改,并利用修改后的接口自动或手动重启所述目标系统。
在一种可能的实现方式中,所述基于所述目标启动方式和所述目标存储方式为所述目标系统配置键值存储数据库故障处理方案,包括:
当所述目标启动方式为所述冷启动方式时,查询所述目标系统的配置会话存储方式;
确定所述目标系统配置键值存储数据库故障处理方案为,根据所述目标存储方式对所述目标系统的所述配置会话存储方式进行修改,并对修改后的所述目标系统进行重启。
在一种可能的实现方式中,所述方法还包括:
当所述会话管理方式为所述自定义会话管理时,为所述目标系统创建会话管理接口;
确定所述目标系统配置键值存储数据库故障处理方案为,利用所述会话管理接口对所述目标系统的键值存储数据库积进行故障处理。
在一种可能的实现方式中,所述方法还包括:
为所述目标系统设置定时任务处理方式或消息队列方式;
利用所述目标系统的定时任务处理方式或消息队列方式执行所述目标系统配置键值存储数据库故障处理方案。
一种键值存储数据库故障处理方案的决策装置,所述装置包括:
获取计算单元,用于获取目标系统的会话管理方式,并计算所述目标系统的每秒处理事务数TPS,其中,所述目标系统为有会话信息管理需求的分布式系统;所述会话管理方式包括Spring会话管理或自定义会话管理;
识别单元,当所述会话管理方式为所述Spring会话管理时,用于识别所述目标系统的容错能力;
第一配置单元,用于根据所述容错能力为所述目标系统配置目标启动方式,并根据所述目标系统的TPS为所述目标系统配置目标存储方式;
第二配置单元,用于基于所述目标启动方式和所述目标存储方式为所述目标系统配置键值存储数据库故障处理方案。
一种键值存储数据库故障处理方案的决策设备,包括:存储器,处理器,及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现如上所述的键值存储数据库故障处理方案的决策方法。
一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备执行如上所述的键值存储数据库故障处理方案的决策方法。
相较于现有技术,本申请具有以下有益效果:
本申请提供了一种键值存储数据库故障处理方案的决策方法及相关装置。具体地,在执行本申请实施例提供的键值存储数据库故障处理方案的决策方法时,首先可以获取目标系统的会话管理方式,并计算目标系统的每秒处理事务数TPS。接着,当会话管理方式为Spring会话管理时,识别目标系统的容错能力。然后根据容错能力为目标系统配置目标启动方式,并根据目标系统的TPS为目标系统配置目标存储方式。再基于目标启动方式和目标存储方式为目标系统配置键值存储数据库故障处理方案。本申请基于目标启动方式和目标存储方式为目标系统配置合适的键值存储数据库故障处理方案,使得检测到目标系统所存储的键值存储数据库发生故障时可以及时地对键值存储数据库进行有效的故障处理,从而避免键值存储数据库被压垮,保证键值数据库可以正常运行。同时避免键值存储数据库出现故障时用户无法正常登录系统的情况发生。
附图说明
为更清楚地说明本实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种键值存储数据库故障处理方案的决策方法的方法流程图;
图2为本申请实施例提供的一种键值存储数据库故障处理方案的决策装置的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
为便于理解本申请实施例提供的技术方案,下面将先对本申请实施例涉及的背景技术进行说明。
键值存储数据库是一种内存数据库,它的特点是高性能、低延迟和可扩展性。
银行的一些系统会有会话信息管理的需求,特别是在以下几个方面:
网上银行系统:用户登录网上银行进行转账、支付或者查询时,需要通过会话信息来管理用户的登录状态和交易过程中的信息。
ATM(Automatic Teller Machine,自动取款机)系统:ATM也需要管理用户的会话信息,包括用户身份验证、交易记录等。
后台管理系统:银行内部的后台管理系统也需要对员工的会话进行管理,确保安全地进行操作和数据访问。
移动银行应用:随着移动应用的普及,银行的移动应用也需要对用户会话进行管理,以支持用户的各种金融操作和查询服务。
这些系统通常会采用双中心集群部署来提高可用性。而会话信息若保存在应用服务器本地,则一套系统会拥有多套会话信息导致无法进行用户管理。为方便用户对多套会话信息进行管理,相关技术是将会话信息管理在一个单独的存储件中,而会话信息操作一般为高频操作,因此业界选择将会话信息管理存储在高性能的库键值存储数据库中。
在硬件故障、网络故障或遇到大规模攻击等极端情况下,键值存储数据库会出现全部不可用的情况,此时银行系统无法从键值存储数据库中读取会话信息,也就无法对用户进行身份验证和授权,从而导致用户无法正常登录系统。
为了解决这一问题,在本申请实施例提供了一种键值存储数据库故障处理方案的决策方法及相关装置,先获取待清洗工业数据,并对待清洗工业数据进行数据划分得到多个数据类型。然后提取每个数据类型对应的特征数据构建特征数据的特征矩阵,并计算特征矩阵的归一化得分矩阵。接着,基于归一化得分确定待清洗工业数据的质量重要性等级,并根据质量重要性等级对待清洗工业数据进行键值存储数据库故障处理方案的决策。本申请能够根据实际数据质量,自动选择合适的清洗算法,这样可以减少低质量数据对分析的影响,从而提高数据质量,进而增加分析和决策的准确性。同时,根据数据的质量和重要性对待清洗工业数据进行键值存储数据库故障处理方案的决策,可以避免在高质量低重要性数据上使用复杂的清洗算法,能够节省计算资源和时间。相反,在低质量高重要性数据上使用更复杂的清洗算法,有助于挖掘更有意义的信息。此外本申请提供的这种可以进行动态调整的清洗算法可以更好地适应不断变化的工业数据,确保键值存储数据库故障处理方案的决策过程能够及时、准确地应对不同质量和重要性等级的数据,从而提高数据处理的灵活性和适应性。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
参见图1,该图为本申请实施例提供的一种键值存储数据库故障处理方案的决策方法的方法流程图,如图1所示,该键值存储数据库故障处理方案的决策方法可以包括步骤S101-S105:
S101:获取目标系统的会话管理方式,并计算所述目标系统的每秒处理事务数TPS,其中,所述目标系统为有会话信息管理需求的分布式系统;所述会话管理方式包括Spring会话管理或自定义会话管理。
目标系统是指银行系统中的网上银行系统、ATM系统、后台管理系统以及移动银行应用等系统中可能会有管理会话信息需求的分布式系统。
目标系统的会话管理方式是指系统如何管理和维护用户会话信息,以确保用户在登录后可以持续访问并使用系统。目标系统的会话管理方式包括Spring会话管理或自定义会话管理中的一种。
其中,Spring会话管理即Spring Session,Spring Session是Spring框架提供的一个模块,用于简化分布式系统中的会话管理。自建session指的是开发人员自行设计和实现的会话管理方案。自建session的实现需要开发人员自行处理各种会话管理的细节,包括会话存储、过期处理、会话同步等。总的来说,Spring Session是Spring框架提供的一个会话管理模块,可以简化开发人员在分布式系统中的会话管理工作;而自建session则是指开发人员自行设计和实现的会话管理方案,需要开发人员自行处理会话管理的各种细节。
键值存储数据库在会话信息管理中扮演着重要的角色,键值存储数据库可以用来存储会话信息管理中会话管理方式的会话信息,例如用户身份、权限、状态等。通过将会话信息系统可以维护会话状态,会话状态在前端应用程序开发中扮演着非常重要的角色,它不仅可以实现用户身份验证和个性化服务,还可以保证数据的一致性和提高系统的性能。
为避免目标系统的键值存储数据库出现故障导致键值存储数据库存储的会话信息无法被正常调用,从而无法实现用户身份验证和个性化服务,进而导致用户无法正常登录系统,需要提前为目标系统的键值存储数据库提供键值存储数据库故障处理方案。
为了实现为目标系统提供合适的键值存储数据库故障处理方案,首先需要获取目标系统的会话管理方式。要获取目标系统的会话管理方式,可以通过查看目标系统的官方文档、用户手册或者配置文件,寻找关于目标系统会话管理的相关信息。这些文档通常会提供有关系统架构、组件和功能的详细说明,包括会话管理方式。或者可以通过访问目标系统的源代码,搜索与会话管理相关的代码部分,以获取系统的管理会话方式。也可以使用网络抓包工具,例如开源的网络协议分析软件Wireshark,对系统的会话管理进行分析,从传输层面上了解目标系统的会话管理方式。
TPS(Transactions Per Second)是指每秒钟可以处理的事务数。在计算机应用中,事务通常指一次对数据库的读写操作。TPS是评估系统性能和吞吐量的重要指标之一,它反映了系统在单位时间内能够处理的请求量。通常情况下,系统的TPS越高,表示系统的性能越好,能够处理更多的请求,同时响应时间也更短。
在本申请中目标系统是一个有会话信息管理需求的分布式系统,会话管理方式包括Spring会话管理或自定义会话管理。计算每秒处理事务数可以帮助我们了解系统的负载情况,从而为系统的配置目标存储方式提供合理的参考。
因此为了实现为目标系统提供合适的键值存储数据库故障处理方案,还需要计算目标系统的TPS,以根据会话管理方式和TPS为目标系统提供更合适的键值存储数据库故障处理方案。
S102:当所述会话管理方式为所述Spring会话管理时,识别所述目标系统的容错能力。
在分布式环境下,Spring Session框架需要与其他组件(如负载均衡器、数据库等)协同工作,才能实现高可用性和容错性。因此,当使用Spring会话管理时,可以通过Session复制、负载均衡、异常处理和日志记录等方面来识别和评估目标系统的容错能力,从而根据容错能力为目标系统配置目标启动方式。
S103:根据所述容错能力为所述目标系统配置目标启动方式,并根据所述目标系统的TPS为所述目标系统配置目标存储方式。
目标启动方式包括热开关启动方式或冷启动方式。热开关启动方式是指对目标系统的会话管理方式接口进行修改,并利用修改后的接口自动或手动重启目标系统。而冷启动方式是对目标系统的配置会话存储方式进行修改,并对修改后的目标系统进行重启。
在热开关启动方式下,系统在运行时可以动态更改配置,而不需要停止和重新启动系统;在冷启动方式下,系统需要在故障发生后停止运行并重新启动。
因此,当目标系统能够受发生故障时通过修改配置和重启系统来解决问题(即容错能力满足目标能力)时,既可以为目标系统配置热开关启动方式,也可以为目标系统配置冷启动方式。
当目标系统不能够受发生故障时通过修改配置和重启系统来解决问题(即容错能力不满足目标能力)时,只能为目标系统配置冷启动方式。
目标存储方式包括目标系统配置特殊存储方式或数据库存储方式中的一种。
特殊存储方式是一种基于Java应用服务器和负载均衡设备的会话管理方式(如,JVM(Java Virtual Machine,Java虚拟机)和F5的会话管理),通过这种方式可以确保用户在使用应用时的会话状态得以保持。
“JVM”指的是Java虚拟机(Java Virtual Machine),它是能够运行Java字节码的虚拟机。在这里提到“JVM和F5的会话管理”,可能是指将用户的会话数据存放在应用服务器的内存中(JVM),并通过负载均衡设备(如F5负载均衡器)来确保用户的请求能够被引导到相同的应用服务器上,从而保持会话状态。
当目标系统的TPS大于或等于1000这个处理阈值时,可以为目标系统配置“JVM和F5的会话管理”这种特殊存储方式。这意味着使用JVM进行内存存储,并且结合F5负载均衡器来处理高并发请求。JVM中的内存操作速度快,适合对实时性能要求较高的数据。通过F5负载均衡器可以实现请求的分发和负载均衡,提高系统的可扩展性和并发处理能力。
当目标系统的TPS小于1000这个处理阈值时,为目标系统配置“JVM和F5的会话管理”这种特殊存储方式或数据库都是可行的,但需要根据具体情况进行选择。
如果TSP较低,但仍然需要支持快速的数据读写和查询操作,则可以考虑使用“JVM和F5的会话管理”。这种方案能够提供高效的数据处理和可靠的系统运行,并且可以通过添加更多的服务器来增加系统的容量和性能。
另一方面,如果TSP较低,但需要长期存储和管理数据,则可以考虑使用数据库进行数据存储。数据库提供了可靠的数据持久化机制,并且支持复杂的数据查询和分析功能,适合于长期存储和管理数据。
总之,在选择存储方案时,需要综合考虑系统负载、数据规模、数据访问模式等多个因素,并根据实际情况进行选择。
此外,本申请中的处理阈值一般设置为1000,但本申请对处理阈值的大小不做具体限制,处理阈值的大小可以根据用户实际需求进行调整。
S104:基于所述目标启动方式和所述目标存储方式为所述目标系统配置键值存储数据库故障处理方案。
当目标启动方式为热开关启动方式时需要查询目标系统的会话管理方式接口,并确定目标系统配置键值存储数据库故障处理方案为,根据目标存储方式对目标系统的会话管理方式接口进行修改,并利用修改后的接口自动或手动重启目标系统。
根据目标存储方式对目标系统的会话管理方式接口进行修改是指:当目标存储方式特殊存储方式时,将目标系统的会话管理方式接口中RedisHttpSession的注解配置去掉,只保留SpringHttpSession的配置,不让其自动注入RedisSessionRepository,然后增加JVM实现的JVMSessionRepository,同时增加代理ProxySessionRepository作为被注入者,旁路关闭时走RedisSessionRepository的实现,旁路开启时走JVMSessionRepository的实现,绕过唯一性检测。
当目标存储方式为数据库存储方式时,将目标系统的会话管理方式接口中RedisHttpSession的注解配置去掉,只保留SpringHttpSession的配置,不让其自动注入RedisSessionRepository,然后增加JDBC(Java Database Connectivity,Java数据库连接)实现的JDBCSessionRepository,同时增加代理ProxySessionRepository作为被注入者,旁路关闭时走RedisSessionRepository的实现,旁路开启时走JDBCSessionRepository的实现,绕过唯一性检测。
同时为JVMSessionRepository的实现和JDBCSessionRepository的实现设置接口按钮,使得用户可以通过接口按钮手动控制目标系统是否重启。
当目标启动方式为冷启动方式时需要查询目标系统的配置会话存储方式,并确定目标系统配置键值存储数据库故障处理方案为,根据目标存储方式对目标系统的所述配置会话存储方式进行修改,并对修改后的目标系统进行重启。
根据目标存储方式对目标系统的所述配置会话存储方式进行修改是指:
当目标存储方式特殊存储方式时,将配置会话存储方式的spring.session.store-type=REDIS修改为spring.session.store-type=NONE之后重启应用。若原来无此配置,添加即可。
当目标存储方式为数据库存储方式时,将配置会话存储方式的spring.session.store-type=REDIS修改为spring.session.store-type=JDBC。
JVM方案:在JVM方案中,会话信息通常存储在键值存储数据库中。通过设置spring.session.store-type=REDIS来指定会话存储在键值存储数据库中。而将spring.session.store-type=NONE则表示不使用特定的会话存储,即会话信息仅存在于内存中。修改配置后,应用程序需要重新启动以生效。
JDBC方案:JDBC方案是指将会话信息存储在关系型数据库中,通常是通过JDBC连接来实现。通过设置spring.session.store-type=JDBC来指定会话存储在关系型数据库中。如果之前未使用过spring-session-jdbc,则需要按照官方文档说明引入相关依赖,并进行相应的配置。这种方式可以与Redis等内存数据库共存,只需显式定义spring.session.store-type即可。
在一种可能的实现方式中,所述方法还包括:
当会话管理方式为自定义会话管理时,则需要为目标系统创建会话管理接口,并确定目标系统配置键值存储数据库故障处理方案为,利用会话管理接口对目标系统的键值存储数据库进行故障处理。
可以通过前端应用程序中的SessionManager和Session来为目标系统创建会话管理接口。SessionManager和Session是会话管理的核心接口之一,用于创建、获取、更新和删除会话等操作。具体来说,SessionManager接口包含一些用于管理会话的方法,例如创建会话、获取会话、清理过期会话等;而Session接口则定义了会话对象的操作方法,例如设置/获取自定义字段、刷新会话、获取最近触达时间等。
基于SessionManager和Session为目标系统创建会话管理接口,对键值存储数据库进行故障处理可以采取以下步骤:
监测键值存储数据库故障:首先通过合适的监控工具或机制,实时监测键值存储数据库的健康状态。可以包括监测键值存储数据库的连接状态、响应时间、错误日志等指标。
备份会话数据:然后在键值存储数据库故障之前,将所有的会话数据备份到另一可靠的存储介质中。这可以确保即使键值存储数据库故障,也可以从备份数据中恢复会话数据。
引入故障处理机制:接着当检测到键值存储数据库故障时,自建会话管理系统应该具备相应的故障处理机制。例如,可以自动切换至备用数据库,或者使用该存储介质提供的其他故障处理机制。同时,可以记录故障相关信息,以便进行故障排查。
恢复数据库连接:最后一旦键值存储数据库故障得到修复,自建会话管理系统应该尽快恢复与数据库的连接。这可能包括重新建立数据库连接、同步备份中的会话数据至数据库等操作,以确保数据的一致性。
此外,自建会话管理系统应该记录故障处理过程中的重要信息,包括故障原因、处理步骤、恢复时间等。此外,可以设置相应的报警机制,及时通知相关人员或团队进行故障处理。
在一种可能的实现方式中,所述方法还包括:根据实时开关的状态来动态选择使用RedisSessionRepository还是JVMSessionRepository,并且将这种选择逻辑封装在CompositeSession和CompositeSessionManager的实现中。
具体地,首先可以定义一个接口SessionRepository,包括存储和操作会话数据的方法。例如:createSession、getSession、destroySession等。
然后实现RedisSessionRepository和JVMSessionRepository,分别基于Redis(Remote Dictionary Server,远程字典服务)和JVM的实现方式来存储和操作会话数据。
再创建一个ProxySessionRepository,作为代理类来根据实时开关的状态动态选择调用RedisSessionRepository或JVMSessionRepository的实现。
接着在CompositeSessionManage中加入实时开关状态的判断,根据实时开关的状态选择调用RedisSessionRepository或JVMSessionRepository。CompositeSessionManage内部持有一个SessionRepository的引用,该引用会根据实时开关状态动态指向具体的实现。CompositeSession可以通过CompositeSessionManager来获取合适的SessionRepository实例,并进行相关的会话操作。
这样则可以将会话存储的选择逻辑封装在了CompositeSessionManage和SessionRepository的实现中,可以根据实际需求动态选择存储方式,使系统更加灵活和可扩展。
在一种可能的实现方式中,所述方法还包括:
为目标系统设置定时任务处理方式或消息队列方式,以利用目标系统的定时任务处理方式或消息队列方式执行目标系统配置键值存储数据库故障处理方案。
为了防止线程池满情况,可以使用定时任务处理方式或消息队列方式来接收目标系统配置键值存储数据库故障处理请求,并进行切换。具体实现方法如下:
定时任务方式:可以使用Spring框架提供的定时任务功能来实现定时检查旁路状态的逻辑。在Spring Boot应用中,可以通过在方法上添加@Scheduled注解来定义定时任务方法,然后在应用启动时开启定时任务调度器。
消息队列方式:可以使用消息队列(Message Queue,MQ)来实现接收旁路状态切换请求的功能。在应用中可以创建一个MQ消费者,监听旁路状态切换的消息,然后根据消息中的状态信息进行切换操作。
基于S101-S105的内容可知,先获取目标系统的会话管理方式,并计算目标系统的每秒处理事务数TPS。接着,在会话管理方式为Spring会话管理时,识别目标系统的容错能力。根据容错能力为目标系统配置目标启动方式,并根据目标系统的TPS为目标系统配置目标存储方式。最后,基于目标启动方式和目标存储方式为目标系统配置键值存储数据库故障处理方案。本申请基于目标启动方式和目标存储方式为目标系统配置合适的键值存储数据库故障处理方案,使得检测到目标系统所存储的键值存储数据库发生故障时可以及时地对键值存储数据库进行有效的故障处理,从而避免键值存储数据库被压垮,保证键值数据库可以正常运行。同时避免键值存储数据库出现故障时用户无法正常登录系统的情况发生。
参见图2,图2为本申请实施例提供的一种键值存储数据库故障处理方案的决策装置的结构示意图。如图2所示,该键值存储数据库故障处理方案的决策装置包括:
获取计算单元201,用于获取目标系统的会话管理方式,并计算所述目标系统的每秒处理事务数TPS,其中,所述目标系统为有会话信息管理需求的分布式系统;所述会话管理方式包括Spring会话管理或自定义会话管理;
识别单元202,当所述会话管理方式为所述Spring会话管理时,用于识别所述目标系统的容错能力;
第一配置单元203,用于根据所述容错能力为所述目标系统配置目标启动方式,并根据所述目标系统的TPS为所述目标系统配置目标存储方式;
第二配置单元204,用于基于所述目标启动方式和所述目标存储方式为所述目标系统配置键值存储数据库故障处理方案。
在一种可能的实现方式中,所述目标存储方式包括目标系统配置特殊存储方式或数据库存储方式。
在一种可能的实现方式中,所述第二配置单元204包括:
第三配置单元,当所述目标系统的TPS大于或等于处理阈值时,用于为所述目标系统配置所述特殊存储方式或所述数据库存储方式;
第四配置单元,当所述目标系统的TPS小于处理阈值时,用于为所述目标系统配置所述数据库存储方式。
在一种可能的实现方式中,所述目标启动方式包括热开关启动方式或冷启动方式。
在一种可能的实现方式中,所述第一配置单元203包括:
第五配置单元,当所述容错能力满足目标能力时,用于为所述目标系统配置所述热开关启动方式或所述冷启动方式;
第六配置单元,当所述容错能力不满足目标能力时,用于为所述目标系统配置所述冷启动方式。
在一种可能的实现方式中,所述第二配置单元204还包括:
第一查询单元,用于当所述目标启动方式为所述热开关启动方式时,查询所述目标系统的会话管理方式接口;
第一确定单元,用于确定所述目标系统配置键值存储数据库故障处理方案为,根据所述目标存储方式对所述目标系统的会话管理方式接口进行修改,并利用修改后的接口自动或手动重启所述目标系统。
在一种可能的实现方式中,所述第二配置单元204还包括:
第二查询单元,当所述目标启动方式为所述冷启动方式时,用于查询所述目标系统的配置会话存储方式;
第二确定单元,用于确定所述目标系统配置键值存储数据库故障处理方案为,根据所述目标存储方式对所述目标系统的所述配置会话存储方式进行修改,并对修改后的所述目标系统进行重启。
在一种可能的实现方式中,所述装置还包括:
创建单元,当所述会话管理方式为所述自定义会话管理时,用于为所述目标系统创建会话管理接口;
第三确定单元,用于确定所述目标系统配置键值存储数据库故障处理方案为,利用所述会话管理接口对所述目标系统的键值存储数据库积进行故障处理。
在一种可能的实现方式中,所述装置还包括:
设置单元,用于为所述目标系统设置定时任务处理方式或消息队列方式;
第七配置单元,用于利用所述目标系统的定时任务处理方式或消息队列方式执行所述目标系统配置键值存储数据库故障处理方案。
另外,本申请实施例还提供了一种键值存储数据库故障处理方案的决策设备,包括:存储器,处理器,及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现如上所述的键值存储数据库故障处理方案的决策方法。
另外,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备执行如上所述的键值存储数据库故障处理方案的决策方法。
本申请实施例提供了一种键值存储数据库故障处理方案的决策装置,先利用获取计算单元201获取目标系统的会话管理方式,并计算目标系统的每秒处理事务数TPS。当会话管理方式为Spring会话管理时,利用识别单元202识别目标系统的容错能力。然后通过第一配置单元203根据容错能力为目标系统配置目标启动方式,并根据目标系统的TPS为目标系统配置目标存储方式,以使第二配置单元204可以基于目标启动方式和目标存储方式为目标系统配置键值存储数据库故障处理方案。本申请基于目标启动方式和目标存储方式为目标系统配置合适的键值存储数据库故障处理方案,使得检测到目标系统所存储的键值存储数据库发生故障时可以及时地对键值存储数据库进行有效的故障处理,从而避免键值存储数据库被压垮,保证键值数据库可以正常运行。同时避免键值存储数据库出现故障时用户无法正常登录系统的情况发生。
以上对本申请所提供的一种键值存储数据库故障处理方案的决策方法及相关装置进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
应当理解,在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:只存在A,只存在B以及同时存在A和B三种情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (10)

1.一种键值存储数据库故障处理方案的决策方法,其特征在于,所述方法包括:
获取目标系统的会话管理方式,并计算所述目标系统的每秒处理事务数TPS,其中,所述目标系统为有会话信息管理需求的分布式系统;所述会话管理方式包括Spring会话管理或自定义会话管理;
当所述会话管理方式为所述Spring会话管理时,识别所述目标系统的容错能力;
根据所述容错能力为所述目标系统配置目标启动方式,并根据所述目标系统的TPS为所述目标系统配置目标存储方式;
基于所述目标启动方式和所述目标存储方式为所述目标系统配置键值存储数据库故障处理方案。
2.根据权利要求1所述的方法,其特征在于,所述目标存储方式包括目标系统配置特殊存储方式或数据库存储方式;
所述根据所述目标系统的TPS为所述目标系统配置目标存储方式,包括:
当所述目标系统的TPS大于或等于处理阈值时,为所述目标系统配置所述特殊存储方式或所述数据库存储方式;
当所述目标系统的TPS小于处理阈值时,为所述目标系统配置所述数据库存储方式。
3.根据权利要求1所述的方法,其特征在于,所述目标启动方式包括热开关启动方式或冷启动方式;
所述根据所述容错能力为所述目标系统配置目标启动方式,包括:
当所述容错能力满足目标能力时,为所述目标系统配置所述热开关启动方式或所述冷启动方式;
当所述容错能力不满足目标能力时,为所述目标系统配置所述冷启动方式。
4.根据权利要求3所述的方法,其特征在于,所述基于所述目标启动方式和所述目标存储方式为所述目标系统配置键值存储数据库故障处理方案,包括:
当所述目标启动方式为所述热开关启动方式时,查询所述目标系统的会话管理方式接口;
确定所述目标系统配置键值存储数据库故障处理方案为,根据所述目标存储方式对所述目标系统的会话管理方式接口进行修改,并利用修改后的接口自动或手动重启所述目标系统。
5.根据权利要求3所述的方法,其特征在于,所述基于所述目标启动方式和所述目标存储方式为所述目标系统配置键值存储数据库故障处理方案,包括:
当所述目标启动方式为所述冷启动方式时,查询所述目标系统的配置会话存储方式;
确定所述目标系统配置键值存储数据库故障处理方案为,根据所述目标存储方式对所述目标系统的所述配置会话存储方式进行修改,并对修改后的所述目标系统进行重启。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当所述会话管理方式为所述自定义会话管理时,为所述目标系统创建会话管理接口;
确定所述目标系统配置键值存储数据库故障处理方案为,利用所述会话管理接口对所述目标系统的键值存储数据库积进行故障处理。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
为所述目标系统设置定时任务处理方式或消息队列方式;
利用所述目标系统的定时任务处理方式或消息队列方式执行所述目标系统配置键值存储数据库故障处理方案。
8.一种键值存储数据库故障处理方案的决策装置,其特征在于,所述装置包括:
获取计算单元,用于获取目标系统的会话管理方式,并计算所述目标系统的每秒处理事务数TPS,其中,所述目标系统为有会话信息管理需求的分布式系统;所述会话管理方式包括Spring会话管理或自定义会话管理;
识别单元,当所述会话管理方式为所述Spring会话管理时,用于识别所述目标系统的容错能力;
第一配置单元,用于根据所述容错能力为所述目标系统配置目标启动方式,并根据所述目标系统的TPS为所述目标系统配置目标存储方式;
第二配置单元,用于基于所述目标启动方式和所述目标存储方式为所述目标系统配置键值存储数据库故障处理方案。
9.一种键值存储数据库故障处理方案的决策设备,其特征在于,包括:存储器,处理器,及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现如权利要求1-7任一项所述的键值存储数据库故障处理方案的决策方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备执行如权利要求1-7任一项所述的键值存储数据库故障处理方案的决策方法。
CN202311680734.4A 2023-12-08 2023-12-08 一种键值存储数据库故障处理方案的决策方法及相关装置 Pending CN117632563A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311680734.4A CN117632563A (zh) 2023-12-08 2023-12-08 一种键值存储数据库故障处理方案的决策方法及相关装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311680734.4A CN117632563A (zh) 2023-12-08 2023-12-08 一种键值存储数据库故障处理方案的决策方法及相关装置

Publications (1)

Publication Number Publication Date
CN117632563A true CN117632563A (zh) 2024-03-01

Family

ID=90028691

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311680734.4A Pending CN117632563A (zh) 2023-12-08 2023-12-08 一种键值存储数据库故障处理方案的决策方法及相关装置

Country Status (1)

Country Link
CN (1) CN117632563A (zh)

Similar Documents

Publication Publication Date Title
US11550630B2 (en) Monitoring and automatic scaling of data volumes
US10795905B2 (en) Data stream ingestion and persistence techniques
US10691716B2 (en) Dynamic partitioning techniques for data streams
US7613597B2 (en) Non-intrusive method for simulation or replay of external events related to an application process, and a system implementing said method
EP1839152B1 (en) Predictive method for managing, logging or replaying non-deterministic operations within the execution of an application process
US10025802B2 (en) Automated configuration of log-coordinated storage groups
Didona et al. Transactional auto scaler: Elastic scaling of replicated in-memory transactional data grids
US10373247B2 (en) Lifecycle transitions in log-coordinated data stores
US9323569B2 (en) Scalable log-based transaction management
US9799017B1 (en) Cross-data-store operations in log-coordinated storage systems
US8904361B2 (en) Non-intrusive method for logging of internal events within an application process, and system implementing this method
EP1839153B1 (en) Non- intrusive method for replaying internal events in an application process, and system implementing this method
US8539434B2 (en) Method for the management, logging or replay of the execution of an application process
US9189348B2 (en) High availability database management system and database management method using same
US20110029498A1 (en) System and Method for Subunit Operations in a Database
CN110807064B (zh) Rac分布式数据库集群系统中的数据恢复装置
US20190265996A1 (en) Autonomous cell-based control plane for scalable virtualized computing
Wester et al. Tolerating Latency in Replicated State Machines Through Client Speculation.
CN107656705B (zh) 一种计算机存储介质和一种数据迁移方法、装置及系统
US20220358106A1 (en) Proxy-based database scaling
US8336053B2 (en) Transaction management
CN106874343B (zh) 一种时序数据库的数据删除方法及系统
CN117632563A (zh) 一种键值存储数据库故障处理方案的决策方法及相关装置
Huang et al. Cheap recovery: A key to self-managing state
CN105574020B (zh) 一种数据库操作方法和装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination