CN116126832A - 数据库切换方法、切换装置、电子设备及存储介质 - Google Patents
数据库切换方法、切换装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN116126832A CN116126832A CN202310150447.6A CN202310150447A CN116126832A CN 116126832 A CN116126832 A CN 116126832A CN 202310150447 A CN202310150447 A CN 202310150447A CN 116126832 A CN116126832 A CN 116126832A
- Authority
- CN
- China
- Prior art keywords
- database
- switching
- main
- switched
- data
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/217—Database tuning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种数据库切换方法、切换装置、电子设备及存储介质。该方法包括:监测主数据库的运行状态是否异常,所述主数据库为第一数据库;若所述运行状态出现异常,则生成数据库切换指令;检测所述第一数据库与第二数据库的数据同步状态;当所述数据同步状态达到完全同步状态时,分别向第一数据库和第二数据库发送数据库切换指令,使所述第一数据库和所述第二数据库根据所述数据库切换指令完成将所述主数据库由所述第一数据库切换为所述第二数据库的操作。本申请的方法能够确保在主数据库出现运行状态异常时实现数据库快速切换,并降低切换过程中的数据缺失率,解决了相关技术中存在的数据库切换的反应速度慢、数据缺失率高的缺陷。
Description
技术领域
本申请涉及数据库技术领域,具体涉及一种数据库切换方法、切换装置、电子设备及存储介质。
背景技术
随着计算机技术的不断发展,当代社会进入了大数据时代。数据库作为数据的电子化文件柜,用于存储各种数据,是大数据时代不可或缺的重要组成部分。数据库的数据安全、数据完整程度等问题至关重要。当主数据库发生故障时,需要进行主数据库与备用数据库的切换。相关技术中存在数据库切换的反应速度慢、数据缺失率高的缺陷。
发明内容
本申请的目的是提供一种数据库切换方法、切换装置、电子设备及存储介质,能够实现数据库的快速切换、降低数据缺失率,解决了相关技术中存在的数据库切换的反应速度慢、数据缺失率高的缺陷。为了对披露的实施例的一些方面有一个基本的理解,下面给出了简单的概括。该概括部分不是泛泛评述,也不是要确定关键/重要组成元素或描绘这些实施例的保护范围。其唯一目的是用简单的形式呈现一些概念,以此作为后面的详细说明的序言。
根据本申请实施例的一个方面,提供一种数据库切换方法,应用于监控服务器,所述数据库切换方法包括:
监测主数据库的运行状态是否异常,所述主数据库为第一数据库;
若所述运行状态出现异常,则生成数据库切换指令;
检测所述第一数据库与第二数据库的数据同步状态;
当所述数据同步状态达到完全同步状态时,分别向所述第一数据库和所述第二数据库发送所述数据库切换指令,使所述第一数据库和所述第二数据库根据所述数据库切换指令完成将所述主数据库由所述第一数据库切换为所述第二数据库的操作。
根据本申请实施例的另一个方面,提供一种数据库切换装置,包括:
运行状态监测模块,用于监测主数据库的运行状态是否异常,所述主数据库为第一数据库;
切换指令生成模块,用于若所述运行状态出现异常,则生成数据库切换指令;
数据同步状态检测模块,用于检测所述第一数据库与第二数据库的数据同步状态;
切换执行模块,用于当所述数据同步状态达到完全同步状态时,分别向所述第一数据库和所述第二数据库发送所述数据库切换指令,使所述第一数据库和所述第二数据库根据所述数据库切换指令完成将所述主数据库由所述第一数据库切换为所述第二数据库的操作。
根据本申请实施例的另一个方面,提供一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序,以实现上述任一项的数据库切换方法。
根据本申请实施例的另一个方面,提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行,以实现上述任一项的数据库切换方法。
本申请实施例的其中一个方面提供的技术方案可以包括以下有益效果:
本申请实施例提供的数据库切换方法,监测主数据库的运行状态是否异常,若出现异常则生成数据库切换指令;检测第一数据库与第二数据库的数据同步状态;当数据同步状态达到完全同步状态时,分别向第一数据库和第二数据库发送数据库切换指令,使第一数据库和第二数据库根据数据库切换指令完成将主数据库由第一数据库切换为第二数据库的操作,从而能够确保在主数据库出现运行状态异常时实现数据库快速切换,并降低切换过程中的数据缺失率,解决了相关技术中存在的数据库切换的反应速度慢、数据缺失率高的缺陷。
本申请的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者,部分特征和优点可以从说明书中推知或毫无疑义地确定,或者通过实施本申请实施例了解。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了本申请实施例的数据库切换方法的应用场景图。
图2示出了本申请一个实施例的数据库切换方法流程图。
图3示出了图2中步骤S20的一些实施方式的流程图。
图4示出了本申请一个实施例的数据库切换装置结构框图。
图5示出了本申请一个实施例的电子设备结构框图。
图6示出了本申请一个实施例的计算机可读存储介质示意图。
本申请的目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,下面结合附图和具体实施例对本申请做进一步说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本申请所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
本申请实施例的方法的应用场景如图1所示,该应用场景中包括第一服务器110、第二服务器120和监控服务器130,第一数据库和第二数据库分别被部署在第一服务器110和第二服务器120中,第一数据库和第二数据库之间的交互数据通过监控服务器130进行中转。监控服务器130监测主数据库的运行状态是否异常,所述主数据库为第一数据库;若所述运行状态出现异常,则生成数据库切换指令;检测所述第一数据库与第二数据库的数据同步状态;当所述数据同步状态达到完全同步状态时,分别向所述第一数据库和所述第二数据库发送所述数据库切换指令,使所述第一数据库和所述第二数据库根据所述数据库切换指令完成将所述主数据库由所述第一数据库切换为所述第二数据库的操作。
针对相关技术中存在数据库切换的反应速度慢、数据缺失率高的缺陷,本申请的一个实施例提供了一种数据库切换方法,应用于监控服务器,如图2所示,该数据库切换方法可以包括步骤S10至S40:
S10、监测主数据库的运行状态是否异常,主数据库为第一数据库。
主数据库的运行状态可以通过预设检测项的检测结果进行表征,通过多种预设检测项的检测结果可以确定当前主数据库的运行状态是否存在导致产生数据缺失或错误的异常状况。在一些实施方式中,步骤S10、监测主数据库的运行状态是否异常,可以包括:检测主数据库的各个预设检测项是否都正常;若是,则确定主数据库的运行状态正常;否则,确定主数据库的运行状态存在异常。
其中,预设检测项可以包括数据库参数是否符合标准化、数据库参数文件是否符合标准化、以及数据库日志清理任务是否正确部署中的至少一项。
主数据库的运行状态可以通过心跳消息来确定。当主数据库发生宕机等情况时,无法产生心跳消息。心跳消息(Heartbeat Message)是一种发送源发送到接收方的消息,这种消息可以让接收方确定发送源是否以及何时出现故障或终止。通常,心跳消息从发送源启动时开始发送,直到发送源关闭,期间发送源会不间断的发送周期性或重复消息。当接收方在某个消息接收周期内未收到消息,接收方可能会认为发送源已经关闭、出现故障、或者当前不可用。如图3所示,在一些实施方式中,监测主数据库的运行状态是否异常,包括:S101、生成模拟应用程序配置信息文件;S102、基于配置信息文件生成模拟应用程序;S103、利用生成的所述模拟应用程序周期性地探测所述主数据库的运行心跳消息;S104、当在一个预设探测周期内未检测到所述运行心跳消息时,确定所述主数据库的运行状态出现异常。
生成模拟应用程序配置信息文件可以包括基于配置管理数据库CMDB生成模拟应用程序配置信息文件的步骤。
配置管理数据库(Configuration Management Database,CMDB)是一个逻辑数据库,包含了配置项全生命周期的信息以及配置项之间的关系(包括物理关系、实时通信关系、非实时通信关系和依赖关系)。
CMDB存储与管理企业IT架构中设备的各种配置信息,它与所有服务支持和服务交付流程都紧密相联,支持这些流程的运转、发挥配置信息的价值,同时依赖于相关流程保证数据的准确性。
S20、若运行状态出现异常,则生成数据库切换指令,该数据库切换指令用于控制将主数据库由第一数据库切换为第二数据库。
示例性地,如果主数据库的各个预设检测项中的至少一个预设检测项存在异常,则确定运行状态出现异常。
示例性地,当在一个预设探测周期内未检测到运行心跳消息时,确定主数据库的运行状态出现异常。
S30、检测第一数据库与第二数据库的数据同步状态。
第二数据库作为备数据库,保持运行数据同步机制,确保与作为主数据库的第一数据库之间的数据同步。
S40、当数据同步状态达到第一数据库和第二数据库的数据完全同步时,分别向第一数据库和第二数据库发送该数据库切换指令,使第一数据库和第二数据库根据该数据库切换指令完成将主数据库由第一数据库切换为第二数据库。
当数据同步状态达到第一数据库和第二数据库的数据完全同步时将主数据库由第一数据库切换为第二数据库,可以避免主数据库中的数据丢失。
所述使第一数据库和第二数据库根据该数据库切换指令完成将主数据库由第一数据库切换为第二数据库,包括:
判断所述第二数据库是否存在数据缺失;
若所述第二数据库不存在数据缺失,则记录所述第二数据库的当前日志位点,并将所述第二数据库设置为读写模式,将所述第一数据库设置为禁止写入模式;
根据所述数据库切换指令以及所述当前日志位点,将当前的主数据库由所述第一数据库切换为所述第二数据库。
在一些实施方式中,数据库切换指令中包括第一数据库的标识信息以及第二数据库的标识信息;标识信息包括数据库的IP地址和名称。
示例性地,使第一数据库和第二数据库根据该数据库切换指令完成将主数据库由第一数据库切换为第二数据库,包括:
将数据库标识信息写入至动态更新配置类中,其中,动态更新配置类可以通过对已有的数据库配置类进行重写得到;
基于动态更新配置类中的数据库标识信息,创建与待切换目标数据库的连接,以使当前的主数据库切换为待切换目标数据库。
第一数据库为第二数据库的待切换目标数据库,第二数据库为第一数据库的待切换目标数据库。
具体地,第一数据库将第二数据库的标识信息写入至动态更新配置类中,其中,所述动态更新配置类通过对已有的数据库配置类进行重写得到;
第一数据库基于动态更新配置类中的数据库标识信息,创建与第二数据库的连接,以使主数据库切换为第二数据库。
S50、利用模拟应用程序与切换后的主数据库进行交互,根据交互结果确定切换后的主数据库是否正常运行。
利用模拟应用程序与切换后的主数据库进行交互,根据交互结果确定切换后的主数据库是否正常运行,能够感知此时数据库的状态能否读写、能否提供正常使用,如果在切换之后,数据库的状态不正确,也能够快速感知,同时也能够检验业务能否正常连接数据库。
在一些实施方式中,S50、利用模拟应用程序与切换后的主数据库进行交互,根据交互结果确定切换后的主数据库是否正常运行,可以包括:
根据预设的交互协议使模拟应用程序与切换后的数据库进行交互,得到交互结果数据;
基于交互结果数据对切换后的数据库的功能进行校验;
若校验结果达到预设标准,则确定切换成功;
若校验结果未达到预设标准,则确定切换出错,发出提示切换出错的提醒信息,以提醒运维人员进行处理。
在一些实施方式中,利用模拟应用程序与切换后的主数据库进行交互,包括:
从来自模拟应用程序的元数据获取请求中提取接口函数特征信息,所述元数据获取请求用于请求从切换后的主数据库中获取元数据;
根据提取的接口函数特征信息,将切换后的主数据库对应的数据库访问指令和目标数据库表格的数据结构类型封装生成主数据库接口函数,其中,所述主数据库接口函数用于修改或者查询所述切换后的主数据库;
利用主数据库接口函数对接所述模拟应用程序,实现模拟应用程序与切换后的主数据库之间的交互。
元数据(Metadata),又称中介数据、中继数据,为描述数据的数据(data aboutdata),主要是描述数据属性(property)的信息,用来支持如指示存储位置、历史数据、资源查找、文件记录等功能。元数据算是一种电子式目录,为了达到编制目录的目的,必须在描述并收藏数据的内容或特色,进而达成协助数据检索的目的。
所述数据库的元数据包括数据库的数据表中所记录的表名、字段名、字段的长度、字段的备注、以及字段的属性值。
不同编程语言的接口函数采用不同的形式。例如,C语言中通过调用sqlite的接口函数来实现对数据库的管理(创建数据库、创建表格、***数据、查询、数据、删除数据等)。Java8在java.util.function包下预定义了大量的函数数式接口,包括Supplier接口、Consumer接口、Predicate接口和Function接口等。Java中的函数式编程体现就是Lambda表达式,所以函数式接口即可以适用于Lambda使用的接口。具体地,可以根据实际需要来采用对应的接口函数。
在一些实施方式中,利用模拟应用程序与切换后的主数据库进行交互,包括:
接收模拟应用程序发送的关于主数据库接口函数的调用请求,所述调用请求中包括访问切换后的主数据库的参数信息;
根据所述参数信息,确定与所述参数对应的访问数据库的指令,所述指令包含于所述主数据库接口函数的命令语句中;
解析所述指令,并根据所述指令的解析结果执行对切换后的主数据库的访问操作;
将所述的访问操作的执行结果发送给所述模拟应用程序。
本申请实施例提供的数据库切换方法,监测主数据库的运行状态是否异常,若出现异常则生成数据库切换指令;检测第一数据库与第二数据库的数据同步状态;当数据同步状态达到完全同步状态时,分别向第一数据库和第二数据库发送数据库切换指令,使第一数据库和第二数据库根据数据库切换指令完成将主数据库由第一数据库切换为第二数据库的操作,从而能够确保在主数据库出现运行状态异常时实现数据库快速切换,并降低切换过程中的数据缺失率,解决了相关技术中存在的数据库切换的反应速度慢、数据缺失率高的缺陷。
如图4所示,本申请的另一个实施例提供了一种数据库切换装置,包括:
运行状态监测模块,用于监测主数据库的运行状态是否异常,所述主数据库为第一数据库;
切换指令生成模块,用于若所述运行状态出现异常,则生成数据库切换指令;
数据同步状态检测模块,用于检测所述第一数据库与第二数据库的数据同步状态;
切换执行模块,用于当所述数据同步状态达到完全同步状态时,分别向所述第一数据库和所述第二数据库发送所述数据库切换指令,使所述第一数据库和所述第二数据库根据所述数据库切换指令完成将所述主数据库由所述第一数据库切换为所述第二数据库的操作。
在一些实施方式中,所述监测主数据库的运行状态是否异常,包括:生成模拟应用程序配置信息文件;基于所述配置信息文件生成模拟应用程序;利用生成的所述模拟应用程序周期性地探测所述主数据库的运行心跳消息;当在一个预设探测周期内未检测到所述运行心跳消息时,确定所述主数据库的运行状态出现异常。
在一些实施方式中,所述数据库切换装置还包括:
交互模块,用于利用模拟应用程序与切换后的主数据库进行交互,根据交互结果确定所述切换后的主数据库是否正常运行。
在一些实施方式中,利用模拟应用程序与切换后的主数据库进行交互,根据交互结果确定切换后的主数据库是否正常运行,包括:根据预设的交互协议使所述模拟应用程序与所述切换后的数据库进行交互,得到交互结果数据;基于所述交互结果数据对所述切换后的数据库进行功能校验;若校验结果达到预设标准,则确定切换成功;若所述校验结果未达到预设标准,则确定切换出错,发出提示切换出错的提醒信息。
在一些实施方式中,利用模拟应用程序与切换后的主数据库进行交互,包括:从来自所述模拟应用程序的元数据获取请求中提取接口函数特征信息,所述元数据获取请求用于请求从所述切换后的主数据库中获取元数据;根据提取的接口函数特征信息,将所述切换后的主数据库所对应的数据库访问指令以及数据库表格的数据结构类型封装生成与所述接口函数特征信息相对应的主数据库接口函数,其中,所述主数据库接口函数用于修改或者查询所述切换后的主数据库;利用所述主数据库接口函数对接所述模拟应用程序,实现所述模拟应用程序与所述切换后的主数据库之间的交互。
在一些实施方式中,数据库的元数据包括数据库的数据表中记录的表名、字段名、字段的长度、字段的备注、以及字段的属性值。
在一些实施方式中,使第一数据库和第二数据库根据该数据库切换指令完成将主数据库由第一数据库切换为第二数据库,包括:判断所述第二数据库是否存在数据缺失;若所述第二数据库不存在数据缺失,则记录所述第二数据库的当前日志位点,并将所述第二数据库设置为读写模式,将所述第一数据库设置为禁止写入模式;根据所述数据库切换指令以及所述当前日志位点,将当前的主数据库由所述第一数据库切换为所述第二数据库。
本申请实施例提供的数据库切换装置,能够监测主数据库的运行状态是否异常,若出现异常则生成数据库切换指令;检测第一数据库与第二数据库的数据同步状态;当数据同步状态达到完全同步状态时,分别向第一数据库和第二数据库发送数据库切换指令,使第一数据库和第二数据库根据数据库切换指令完成将主数据库由第一数据库切换为第二数据库的操作,从而能够确保在主数据库出现运行状态异常时实现数据库快速切换,并降低切换过程中的数据缺失率,解决了相关技术中存在的数据库切换的反应速度慢、数据缺失率高的缺陷。
本申请的另一个实施例提供了一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序,以实现上述任一实施方式所述的数据库切换方法。
如图5所示,电子设备10可以包括:处理器100,存储器101,总线102和通信接口103,处理器100、通信接口103和存储器101通过总线102连接;存储器101中存储有可在处理器100上运行的计算机程序,处理器100运行该计算机程序时执行本申请前述任一实施方式所提供的方法。
其中,存储器101可能包含高速随机存取存储器(RAM:Random Access Memory),也可能还可以包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口103(可以是有线或者无线)实现该***网元与至少一个其他网元之间的通信连接,可以使用互联网、广域网、本地网、城域网等。
总线102可以是ISA总线、PCI总线或EISA总线等。总线可以分为地址总线、数据总线、控制总线等。其中,存储器101用于存储程序,处理器100在接收到执行指令后,执行该程序,前述本申请实施例任一实施方式揭示的方法可以应用于处理器100中,或者由处理器100实现。
处理器100可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器100中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器100可以是通用处理器,可以包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器101,处理器100读取存储器101中的信息,结合其硬件完成上述方法的步骤。
本申请实施例提供的电子设备与本申请实施例提供的方法出于相同的发明构思,具有与其采用、运行或实现的方法相同的有益效果。
本申请的另一个实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行,以实现上述任一实施方式所述的数据库切换方法。
参考图6所示,其示出的计算机可读存储介质为光盘20,其上存储有计算机程序(即程序产品),该计算机程序在被处理器运行时,会执行前述任意实施方式所提供的方法。
需要说明的是,计算机可读存储介质的例子还可以包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他光学、磁性存储介质,在此不再一一赘述。
本申请的上述实施例提供的计算机可读存储介质与本申请实施例提供的方法出于相同的发明构思,具有与其存储的应用程序所采用、运行或实现的方法相同的有益效果。
需要说明的是:
术语“模块”并非意图受限于特定物理形式。取决于具体应用,模块可以实现为硬件、固件、软件和/或其组合。此外,不同的模块可以共享公共组件或甚至由相同组件实现。不同模块之间可以存在或不存在清楚的界限。
在此提供的算法和显示不与任何特定计算机、虚拟装置或者其它设备固有相关。各种通用装置也可以与基于在此的示例一起使用。根据上面的描述,构造这类装置所要求的结构是显而易见的。此外,本申请也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本申请的内容,并且上面对特定语言所做的描述是为了披露本申请的最佳实施方式。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
以上所述实施例仅表达了本申请的实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
Claims (10)
1.一种数据库切换方法,其特征在于,应用于监控服务器,所述数据库切换方法包括:
监测主数据库的运行状态是否异常,所述主数据库为第一数据库;
若所述运行状态出现异常,则生成数据库切换指令;
检测所述第一数据库与第二数据库的数据同步状态;
当所述数据同步状态达到完全同步状态时,分别向所述第一数据库和所述第二数据库发送所述数据库切换指令,使所述第一数据库和所述第二数据库根据所述数据库切换指令完成将所述主数据库由所述第一数据库切换为所述第二数据库的操作。
2.根据权利要求1所述的数据库切换方法,其特征在于,所述监测主数据库的运行状态是否异常,包括:
生成模拟应用程序配置信息文件;
基于所述配置信息文件生成模拟应用程序;
利用生成的所述模拟应用程序周期性地探测所述主数据库的运行心跳消息;
当在一个预设探测周期内未检测到所述运行心跳消息时,确定所述主数据库的运行状态出现异常。
3.根据权利要求1所述的数据库切换方法,其特征在于,所述数据库切换方法还包括:
利用模拟应用程序与切换后的主数据库进行交互,根据交互结果确定所述切换后的主数据库是否正常运行。
4.根据权利要求3所述的数据库切换方法,其特征在于,所述利用模拟应用程序与切换后的主数据库进行交互,根据交互结果确定切换后的主数据库是否正常运行,包括:
根据预设的交互协议使所述模拟应用程序与所述切换后的数据库进行交互,得到交互结果数据;
基于所述交互结果数据对所述切换后的数据库进行功能校验;
若校验结果达到预设标准,则确定切换成功;
若所述校验结果未达到预设标准,则确定切换出错,发出提示切换出错的提醒信息。
5.根据权利要求3所述的数据库切换方法,其特征在于,所述利用模拟应用程序与切换后的主数据库进行交互,包括:
从来自所述模拟应用程序的元数据获取请求中提取接口函数特征信息,所述元数据获取请求用于请求从所述切换后的主数据库中获取元数据;
根据提取的接口函数特征信息,将所述切换后的主数据库所对应的数据库访问指令以及数据库表格的数据结构类型封装生成与所述接口函数特征信息相对应的主数据库接口函数,其中,所述主数据库接口函数用于修改或者查询所述切换后的主数据库;
利用所述主数据库接口函数对接所述模拟应用程序,实现所述模拟应用程序与所述切换后的主数据库之间的交互。
6.根据权利要求5所述的数据库切换方法,其特征在于,所述数据库的元数据包括数据库的数据表中记录的表名、字段名、字段的长度、字段的备注、以及字段的属性值。
7.根据权利要求1所述的数据库切换方法,其特征在于,所述使第一数据库和第二数据库根据该数据库切换指令完成将主数据库由第一数据库切换为第二数据库,包括:
判断所述第二数据库是否存在数据缺失;
若所述第二数据库不存在数据缺失,则记录所述第二数据库的当前日志位点,并将所述第二数据库设置为读写模式,将所述第一数据库设置为禁止写入模式;
根据所述数据库切换指令以及所述当前日志位点,将当前的主数据库由所述第一数据库切换为所述第二数据库。
8.一种数据库切换装置,其特征在于,包括:
运行状态监测模块,用于监测主数据库的运行状态是否异常,所述主数据库为第一数据库;
切换指令生成模块,用于若所述运行状态出现异常,则生成数据库切换指令;
数据同步状态检测模块,用于检测所述第一数据库与第二数据库的数据同步状态;
切换执行模块,用于当所述数据同步状态达到完全同步状态时,分别向所述第一数据库和所述第二数据库发送所述数据库切换指令,使所述第一数据库和所述第二数据库根据所述数据库切换指令完成将所述主数据库由所述第一数据库切换为所述第二数据库的操作。
9.一种电子设备,其特征在于,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序,以实现如权利要求1-7中任一所述的数据库切换方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行,以实现如权利要求1-7中任一所述的数据库切换方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310150447.6A CN116126832A (zh) | 2023-02-09 | 2023-02-09 | 数据库切换方法、切换装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310150447.6A CN116126832A (zh) | 2023-02-09 | 2023-02-09 | 数据库切换方法、切换装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116126832A true CN116126832A (zh) | 2023-05-16 |
Family
ID=86311640
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310150447.6A Pending CN116126832A (zh) | 2023-02-09 | 2023-02-09 | 数据库切换方法、切换装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116126832A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116760693A (zh) * | 2023-08-18 | 2023-09-15 | 天津南大通用数据技术股份有限公司 | 一种数据库主备节点倒换的方法及*** |
-
2023
- 2023-02-09 CN CN202310150447.6A patent/CN116126832A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116760693A (zh) * | 2023-08-18 | 2023-09-15 | 天津南大通用数据技术股份有限公司 | 一种数据库主备节点倒换的方法及*** |
CN116760693B (zh) * | 2023-08-18 | 2023-10-27 | 天津南大通用数据技术股份有限公司 | 一种数据库主备节点倒换的方法及*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7836435B2 (en) | Checking for memory access collisions in a multi-processor architecture | |
CN107832230B (zh) | 基于数据调优的测试方法、设备以及*** | |
CN110300017B (zh) | 标准配置生成装置及方法和网络设备配置纠错装置及方法 | |
CN109788068B (zh) | 心跳状态信息上报方法、装置和设备及计算机存储介质 | |
CN111221800A (zh) | 数据库迁移方法、装置、电子设备及存储介质 | |
CN104320308A (zh) | 一种服务器异常检测的方法及装置 | |
CN100388234C (zh) | 一种基于有限状态机的对内存变量改写进行监控的方法 | |
CN109462507B (zh) | 配置更新方法、装置、***及电子设备 | |
CN111694612A (zh) | 配置检查方法、装置、计算机***及存储介质 | |
CN116126832A (zh) | 数据库切换方法、切换装置、电子设备及存储介质 | |
CN111092865A (zh) | 一种安全事件分析方法及*** | |
CN113448826A (zh) | 一种软件自动化测试***及方法 | |
CN112965882B (zh) | 一种数据故障分析的方法及装置 | |
CN111142469A (zh) | 一种plc的组态程序的调试方法及调试*** | |
CN111597093A (zh) | 一种异常处理方法、装置及其设备 | |
CN113220495B (zh) | 一种进程异常事件处理方法、装置、电子设备及存储介质 | |
CN111209138A (zh) | 数据存储***的运维方法及装置 | |
CN115080507A (zh) | 车辆故障快照数据存储方法、***、设备及存储介质 | |
KR20000016777A (ko) | 데이터 로딩 프로세스 | |
CN113157555A (zh) | 用于线上压测数据漏库实时检测的***、方法及设备 | |
CN107632917B (zh) | 服务器***及其温度监控方法 | |
CN112612592A (zh) | 可配置式定时任务处理方法、装置、设备及存储介质 | |
CN107797915B (zh) | 故障的修复方法、装置及*** | |
KR100256561B1 (ko) | 전전자 교환기의 불휘발성 램을 이용한 프로세서 장애 정보저장/확인 방법 | |
CN112199195B (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 |