CN114003612A - 针对数据库异常状况的处理方法及处理系统 - Google Patents
针对数据库异常状况的处理方法及处理系统 Download PDFInfo
- Publication number
- CN114003612A CN114003612A CN202111272554.3A CN202111272554A CN114003612A CN 114003612 A CN114003612 A CN 114003612A CN 202111272554 A CN202111272554 A CN 202111272554A CN 114003612 A CN114003612 A CN 114003612A
- Authority
- CN
- China
- Prior art keywords
- database
- distributed cache
- condition
- cache system
- synchronizing
- 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/23—Updating
- G06F16/2365—Ensuring data consistency and integrity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
-
- 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/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24552—Database cache management
-
- 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/25—Integrating or interfacing systems involving database management systems
-
- 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
-
- 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/28—Databases characterised by their database models, e.g. relational or object models
-
- 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/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
Abstract
本发明涉及信息技术领域,公开了一种针对数据库异常状况的处理方法及处理系统。所述处理方法包括:将数据库同步至分布式缓存系统;监听所述数据库的状态;在所述数据库的状态满足异常条件的情况下,将查询接口切换至所述分布式缓存系统;以及响应于查询操作,从所述分布式缓存系统中查询与所述查询操作相匹配的内容。本发明在数据库异常期间,即使访问流量较大也可通过分布式缓存系统来实现对数据的访问处理,从而有助于实现所述数据库与所述分布式缓存系统之间的数据最终一致性。
Description
技术领域
本发明涉及信息技术领域,具体地涉及一种针对数据库异常状况的处理方法及处理系统。
背景技术
在数据库出现异常状况时,通常直接将访问接口切换至一个备用库来实现对数据的处理(例如访问)过程。然而,借助备用库的处理方式存在以下两个缺陷:1.如果访问流量很大,则备用库可能无法应对高并发而继续出现问题;2.数据库异常期间的变更数据(例如新写入的数据)容易丢失。由此,上述借助备用库的处理方式无法保持所述数据库与所述备用库之间的数据一致性。
发明内容
本发明的目的是提供一种针对数据库异常状况的处理方法及处理系统,其在数据库异常期间,即使访问流量较大也可通过分布式缓存系统来实现对数据的访问处理,从而有助于实现所述数据库与所述分布式缓存系统之间的数据最终一致性。
为了实现上述目的,本发明第一方面提供一种针对数据库异常状况的处理方法,所述处理方法包括:将数据库同步至分布式缓存系统;监听所述数据库的状态;在所述数据库的状态满足异常条件的情况下,将查询接口切换至所述分布式缓存系统;以及响应于查询操作,从所述分布式缓存系统中查询与所述查询操作相匹配的内容。
可选地,所述处理方法还包括:在所述数据库的状态满足所述异常条件的情况下,响应于写操作,将与所述写操作相对应的变更数据同步到备用库与所述分布式缓存系统。
可选地,所述将与所述写操作相对应的变更数据同步到备用库与所述分布式缓存系统包括:将所述变更数据添加至消息队列系统,以按照变更顺序记录所述变更数据;以及将所述变更数据按照所述变更顺序同步到所述备用库与所述分布式缓存系统。
可选地,所述处理方法还包括:在所述数据库的状态不再满足所述异常条件且所述消息队列系统中的所述变更数据均被同步的情况下,执行以下操作:将所述备用库同步至所述数据库;或者将所述备用库设置为新的数据库且将所述数据库设置为新的备用库。
可选地,所述处理方法还包括:在将所述备用库同步至所述数据库的情况下,将所述查询接口由所述分布式缓存系统切换至所述数据库;或者在将所述备用库设置为新的数据库且将所述数据库设置为新的备用库的情况下,将所述查询接口由所述分布式缓存系统切换至所述新的数据库。
可选地,所述异常条件包括以下各项中的任一异常情况且所述异常情况在预设时间内出现的次数大于阈值:所述数据库的连接错误、所述数据库执行的线程数目大于预设数目、访问流量大于预设流量、域名解析失败。
可选地,所述将数据库同步至分布式缓存系统包括:基于日志文件将所述数据库同步至所述分布式缓存系统。
可选地,所述分布式缓存系统为PIKA存储系统。
通过上述技术方案,本发明创造性地首先通过将数据库同步至分布式缓存系统;然后监听所述数据库的状态,并在所述数据库的状态满足异常条件的情况下,将查询接口切换至所述分布式缓存系统;最后响应于查询操作从所述分布式缓存系统中查询与所述查询操作相匹配的内容,由此,本发明在数据库异常期间,即使访问流量较大也可通过分布式缓存系统来实现对数据的访问处理,从而有助于实现所述数据库与所述分布式缓存系统之间的数据最终一致性。
本发明第二方面提供一种针对数据库异常状况的处理系统,所述处理系统包括:第一同步装置,用于将数据库同步至分布式缓存系统;监听装置,用于监听所述数据库的状态;第一切换装置,用于在所述数据库的状态满足异常条件的情况下,将查询接口切换至所述分布式缓存系统;以及查询装置,用于响应于查询操作,从所述分布式缓存系统中查询与所述查询操作相匹配的内容。
可选地,所述处理系统还包括:第二同步装置,用于在所述数据库的状态满足所述异常条件的情况下,响应于写操作,将与所述写操作相对应的变更数据同步到备用库与所述分布式缓存系统。
可选地,所述第二同步装置包括:记录模块,用于将所述变更数据添加至消息队列系统,以按照变更顺序记录所述变更数据;以及同步模块,用于将所述变更数据按照所述变更顺序同步到所述备用库与所述分布式缓存系统。
可选地,所述处理系统还包括:执行装置,用于在所述数据库的状态不再满足所述异常条件且所述消息队列系统中的所述变更数据均被同步的情况下,执行以下操作:将所述备用库同步至所述数据库;或者将所述备用库设置为新的数据库且将所述数据库设置为新的备用库。
可选地,所述处理系统还包括:第二切换装置,用于在将所述备用库同步至所述数据库的情况下,将所述查询接口由所述分布式缓存系统切换至所述数据库;或者在将所述备用库设置为新的数据库且将所述数据库设置为新的备用库的情况下,将所述查询接口由所述分布式缓存系统切换至所述新的数据库。
可选地,所述异常条件包括以下各项中的任一异常情况且所述异常情况在预设时间内出现的次数大于阈值:所述数据库的连接错误、所述数据库执行的线程数目大于预设数目、访问流量大于预设流量、域名解析失败。
可选地,所述分布式缓存系统为PIKA存储系统。
有关本发明提供的针对数据库异常状况的处理系统的具体细节及益处可参阅上述针对数据库异常状况的处理方法的描述,于此不再赘述。
本发明第三方面还提供一种机器可读存储介质,所述机器可读存储介质上存储有指令,该指令用于使得机器执行所述的针对数据库异常状况的处理方法。
本发明第四方面还提供一种电子设备,所述电子设备包括:处理器;用于存储所述处理器可执行指令的存储器;所述处理器,用于从所述存储器中读取所述指令,并执行所述指令以实现所述的针对数据库异常状况的处理方法。
本发明的其它特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
附图是用来提供对本发明实施例的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本发明实施例,但并不构成对本发明实施例的限制。在附图中:
图1是本发明一实施例提供的针对数据库异常状况的处理方法的流程图;
图2是本发明一实施例提供的将写操作相关的数据写入PIKA存储系统的流程图;
图3是本发明一实施例提供的针对数据库异常状况的处理过程的流程图;以及
图4是本发明一实施例提供的针对数据库异常状况的处理系统的结构图。
具体实施方式
以下结合附图对本发明的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本发明,并不用于限制本发明。
在介绍本发明的各个实施例之前,先简要介绍几个概念。
一些分布式系统通过复制数据来提高系统的可靠性和容错性,并且将数据的不同的副本存放在不同的机器,由于维护数据副本的一致性代价高,因此许多系统采用弱一致性来提高性能,一些不同的一致性模型也相继被提出。
数据强一致性:要求无论更新操作实在哪一个副本执行,之后所有的读操作都要能获得最新的数据。
数据弱一致性:用户读到某一操作对系统特定数据的更新需要一段时间,我们称这段时间为“不一致性窗口”。
数据最终一致性:是弱一致性的一种特例,保证用户最终能够读取到某操作对系统特定数据的更新。
在数据库处于正常状态期间,由于各个数据库与其备用库内的数据保持同步更新,故此时可实现数据强一致性。然而,在数据库处于异常期间,当备用库内的数据发生更新但数据库内的数据无法更新时,无法实现数据强一致性,从而可通过降级的方式实现数据弱一致性或最终一致性。
对于现有的直接借助备用库的处理方式,由于在数据库异常期间且切换备用库的过程中会导致一些数据丢失,故其无法实现数据弱一致性。针对此缺陷,本申请通过分布式缓存系统与消息队列系统来实现数据库异常期间的数据最终一致性。
图1是本发明一实施例提供的针对数据库异常状况的处理方法的流程图。如图1所示,所述处理方法可包括以下步骤S101-S104。
步骤S101,将数据库同步至分布式缓存系统。
其中,所述数据库可为关系型数据库(例如,结构化查询语言(SQL)数据库,更具体地可为MySQL数据库)与非关系型数据库(例如,非结构化查询语言(SQL)数据库,更具体地可为Redis数据库)。
其中,所述分布式缓存系统可为PIKA存储系统。
所述PIKA存储系统是一种类Redis存储系统。但PIKA存储系统存储量大,且可使用多个工作线程来进行读写操作,由此其可用作全链路的缓存,即使遇到高并发的情况也可实现服务的可用性。此外,PIKA存储系统具有备份速度快等优势(即可实现更快更省空间的秒级备份),从而更有助于实现不同数据库之间的数据最终一致性。
其中,所述将数据库同步至分布式缓存系统包括:基于日志文件将所述数据库同步至所述分布式缓存系统。例如,可通过第一同步装置10基于日志文件(例如binlog)将Mysql数据库同步至PIKA存储系统。
步骤S102,监听所述数据库的状态。
所述监听装置20可设置服务器的一个线程来监听所述数据库的健康状况,一旦监听到所述数据库出现异常情况(可参见步骤S103处的相关描述),则将该异常情况主动抛出到所述服务器,以通过所述服务器对所述数据库的异常情况进行统计,从而判定所述数据库的状态是否满足异常条件(可参见步骤S103处的相关描述)。
步骤S103,在所述数据库的状态满足异常条件的情况下,将查询接口切换至所述分布式缓存系统。
其中,所述异常条件可包括以下各项中的任一异常情况且所述异常情况在预设时间内出现的次数大于阈值:所述数据库的连接错误、所述数据库执行的线程数目大于预设数目、访问流量大于预设流量、域名解析失败。其中,所述预设时间、所述阈值、所述预设数目及所述预设流量可根据实际情况进行合理设置。
在一实施例中,所述异常情况可包括以下各项中的任一者:连接错误、执行线程数目超出可允许数目、访问流量超过可允许流量(可能是外部黑客攻击或者实际场景中的爆点抽奖活动,导致某个数据库突然大量的访问,直接超出数据库承受的压力)、域名解析失败。所述异常条件可为在所述预设时间内所述异常情况出现的次数超过一阈值。具体地,可通过设置计数器或者滑动窗口算法对所述预设时间内出现的异常情况的次数进行统计。由此,本实施例的设置可避免因偶然因素导致所述异常情况出现的情形。
在监听到所述数据库满足所述异常条件的情况下,若接收到查询请求,则将数据库查询(即db查询)切换为分布式缓存系统查询(例如PIKA查询)。具体地,可通过第一切换装置30将与数据库连接的查询接口切换至PIKA存储系统,此后可通过所述PIKA存储系统提供相应的查询服务。由于PIKA存储系统具有存储量大且使用多线程进行读写操作等优势,故本实施例可在高并发访问的情形下提供正常的查询服务。
步骤S104,响应于查询操作,从所述分布式缓存系统中查询与所述查询操作相匹配的内容。
在通过步骤S103将所述查询接口切换至所述分布式缓存系统的情况下,所述查询装置40可基于所述分布式缓存系统查询与所述查询操作相匹配的内容,由此,对于查询用户而言,即使在数据库异常且高访问量的情况下其仍然可得到想要的查询结果。
在所述数据库异常期间,通过消息列队可顺序记录相应的变更数据(例如更新数据或删除数据),然后在所述数据库的备用库与所述分布式缓存系统中同步所记录的变更数据,以保持所述备用库与所述分布式缓存系统的数据最终一致性。
在一实施例中,所述处理方法还可包括:在所述数据库的状态满足所述异常条件的情况下,响应于写操作,将与所述写操作相对应的变更数据同步到备用库与所述分布式缓存系统。其中,所述备用库与所述数据库可为相同类型或不同类型的数据库。
所述将与所述写操作相对应的变更数据同步到备用库与所述分布式缓存系统可包括:将所述变更数据添加至消息队列系统,以按照变更顺序记录所述变更数据;以及将所述变更数据按照所述变更顺序同步到所述备用库与所述分布式缓存系统。其中,所述消息队列系统可为高吞吐量的分布式发布订阅消息系统(例如Kafka)
具体地,如图2所示,在监听到所述数据库的状态满足所述异常条件的情况下,若先后接收到用户1的写操作(如图2所示的首先在A场景中写入“偏好1-价格100(单位:万)”;其次在B场景中写入“偏好2-价格200(单位:万)”以及最后在C场景中写入“偏好3-价格300(单位:万)”),则将相应的变更数据添加至Kafka,以按照变更时序记录变更数据(该变更数据是用户想要修改或看到的数据),从而既避免了数据的丢失,也避免了因请求量过大服务器端压力大而导致的请求数据处理混乱;然后可通过常驻进程(例如deamon进程)将Kafka中的变更数据按照先后顺序同步到所述备用库与所述分布式缓存系统(例如PIKA存储系统)中(例如,先同步场景A对应的变更数据、再同步场景B对应的变更数据、最后同步场景C对应的变更数据),从而保持所述备用库与所述分布式缓存系统的数据最终一致性。因此,可将PIKA存储系统和备用库中的相应数据修改为用户想要更新的内容。而现有的直接借助备用库的处理方式,在切换至备用库的过程中,若用户想要修改自己的找房需求,则因为数据库异常而无法执行相应的写操作,从而影响用户的良好体验。
由此,在数据库异常状态出现之前,直接基于日志文件(例如binlog)所记录的内容同步数据库与分布式缓存系统(例如,PIKA存储系统),由此可根据策略实现同步的实时性,从而能够保证缓存中数据的有效性且减少了对数据库的调用,进而提高整体性能;而在数据库异常状态出现之后,基于消息队列系统(例如,Kafka)和常驻进程(例如deamon进程)同步备用库与分布式缓存系统(例如,PIKA存储系统),由此可按照先后顺序执行同步处理,从而可有效地保持数据最终一致性。
在所述数据库异常期间,如果用户多次重复同一写操作并且暴击保存数据,通过消息队列系统顺序性的特性,可以保证用户看到的是其最后一次提交的数据,而无需担心网络的延迟导致的数据的不一致性。上述实施例通过主动监听数据库的状态,在数据库异常期间可保证数据不会因为数据库的宕机而出现丢失的情况,并且虽然数据也存在一定的延时而无法实现数据强一致性,但借助PIKA存储系统可保持数据最终一致性。
所述处理方法还可包括:在所述数据库的状态不再满足所述异常条件且所述消息队列系统中的所述变更数据均被同步的情况下,执行以下操作:将所述备用库同步至所述数据库;或者将所述备用库设置为新的数据库且将所述数据库设置为新的备用库。
所述处理方法还可包括:在将所述备用库同步至所述数据库的情况下,将所述查询接口由所述分布式缓存系统切换至所述数据库;或者在将所述备用库设置为新的数据库且将所述数据库设置为新的备用库的情况下,将所述查询接口由所述分布式缓存系统切换至所述新的数据库。
具体地,在监听到所述数据库的状态由异常状态变为正常状态(即恢复至正常状态或不再满足所述异常条件)且异常期间消息队列系统中的数据均已被同步的情况下,由于所述数据库在异常期间未发生数据的更新,故为了保持数据的一致性,可将所述备用库同步至所述数据库;或者将备用库升级为新的数据库而将原来的数据库切换为备用库。与此同时,为了能够在数据库正常期间实现数据强一致性,则在将所述备用库同步至所述数据库(即原来的数据库仍然为主数据库)的情况下,将所述查询接口由所述分布式缓存系统(例如PIKA存储系统)切换回所述数据库;或者在将所述备用库升级为新的数据库(即将所述备用库设置为主数据库)的情况下,将所述查询接口由所述分布式缓存系统(例如PIKA存储系统)切换回所述新的数据库。由此,可继续由主数据库提供相应的读写服务,从而可实现数据强一致性。
下面以图3为例对针对数据库异常状况的处理过程进行解释和说明。其中,所述数据库为Mysql数据库、所述分布式缓存系统为PIKA存储系统、所述消息队列系统为Kafka及常驻进程为daemon进程。
如图3所示,所述针对数据库异常状况的处理过程可包括以下步骤S201-S207。
步骤S201,基于binlog将Mysql数据库同步至PIKA存储系统。
其中,binlog是二进制日志文件,用于记录Mysql数据库的数据更新或者潜在更新(比如DELETE语句执行删除而实际并没有符合条件的数据)。
步骤S202,通过服务器主动监听Mysql数据库。
步骤S203,在Mysql数据库满足异常条件的情况下,切换至PIKA查询。
步骤S204,响应于查询操作,从PIKA存储系统中查询与查询操作相匹配的内容。
步骤S205,响应于写操作,将变更数据添加至Kafka,以按照变更顺序记录所述变更数据。
步骤S206,通过daemon进程将Kafka中的变更数据按照所述变更顺序同步到备用库与KIPA存储系统。
步骤S207,在Mysql数据库不再满足异常条件的情况下,将所述备用库同步至所述数据库。
上述各个步骤可由服务器来执行,或者分别由独立的装置来完成(例如,步骤S201可通过第一同步装置10来完成,而步骤S202可由监听装置20来完成等,具体内容可详见下文描述)。
通过上述技术方案,本发明创造性地首先通过将数据库同步至分布式缓存系统;然后监听所述数据库的状态,并在所述数据库的状态满足异常条件的情况下,将查询接口切换至所述分布式缓存系统;最后响应于查询操作,从所述分布式缓存系统中查询与所述查询操作相匹配的内容,由此,本发明在数据库异常期间,即使访问流量较大也可通过分布式缓存系统来实现对数据的访问处理,从而有助于实现所述数据库与所述分布式缓存系统之间的数据最终一致性。
图4是本发明一实施例提供的针对数据库异常状况的处理系统的结构图。如图4所示,所述处理系统可包括:第一同步装置10,用于将数据库同步至分布式缓存系统;监听装置20,用于监听所述数据库的状态;第一切换装置30,用于在所述数据库的状态满足异常条件的情况下,将查询接口切换至所述分布式缓存系统;以及查询装置40,用于响应于查询操作,从所述分布式缓存系统中查询与所述查询操作相匹配的内容。
可选地,所述处理系统还包括:第二同步装置,用于在所述数据库的状态满足所述异常条件的情况下,响应于写操作,将与所述写操作相对应的变更数据同步到备用库与所述分布式缓存系统。
可选地,所述第二同步装置包括:记录模块,用于将所述变更数据添加至消息队列系统,以按照变更顺序记录所述变更数据;以及同步模块,用于将所述变更数据按照所述变更顺序同步到所述备用库与所述分布式缓存系统。
可选地,所述处理系统还包括:执行装置,用于在所述数据库的状态不再满足所述异常条件且所述消息队列系统中的所述变更数据均被同步的情况下,执行以下操作:将所述备用库同步至所述数据库;或者将所述备用库设置为新的数据库且将所述数据库设置为新的备用库。
可选地,所述处理系统还包括:第二切换装置,用于在将所述备用库同步至所述数据库的情况下,将所述查询接口由所述分布式缓存系统切换至所述数据库;或者在将所述备用库设置为新的数据库且将所述数据库设置为新的备用库的情况下,将所述查询接口由所述分布式缓存系统切换至所述新的数据库。
可选地,所述异常条件包括以下各项中的任一异常情况且所述异常情况在预设时间内出现的次数大于阈值:所述数据库的连接错误、所述数据库执行的线程数目大于预设数目、访问流量大于预设流量、域名解析失败。
可选地,所述分布式缓存系统为PIKA存储系统。
有关本发明提供的针对数据库异常状况的处理系统的具体细节及益处可参阅上述针对数据库异常状况的处理方法的描述,于此不再赘述。然而,上述各个装置或模块所执行的操作均可由一个或多个服务器来执行完成。
本发明一实施例还提供一种机器可读存储介质,所述机器可读存储介质上存储有指令,该指令用于使得机器执行所述的针对数据库异常状况的处理方法。
本发明一实施例还提供一种电子设备,所述电子设备包括:处理器;用于存储所述处理器可执行指令的存储器;所述处理器,用于从所述存储器中读取所述指令,并执行所述指令以实现所述的针对数据库异常状况的处理方法。
以上结合附图详细描述了本发明实施例的可选实施方式,但是,本发明实施例并不限于上述实施方式中的具体细节,在本发明实施例的技术构思范围内,可以对本发明实施例的技术方案进行多种简单变型,这些简单变型均属于本发明实施例的保护范围。
另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合。为了避免不必要的重复,本发明实施例对各种可能的组合方式不再另行说明。
本领域技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得单片机、芯片或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
此外,本发明实施例的各种不同的实施方式之间也可以进行任意组合,只要其不违背本发明实施例的思想,其同样应当视为本发明实施例所公开的内容。
Claims (10)
1.一种针对数据库异常状况的处理方法,其特征在于,所述处理方法包括:
将数据库同步至分布式缓存系统;
监听所述数据库的状态;
在所述数据库的状态满足异常条件的情况下,将查询接口切换至所述分布式缓存系统;以及
响应于查询操作,从所述分布式缓存系统中查询与所述查询操作相匹配的内容。
2.根据权利要求1所述的针对数据库异常状况的处理方法,其特征在于,所述处理方法还包括:
在所述数据库的状态满足所述异常条件的情况下,响应于写操作,将与所述写操作相对应的变更数据同步到备用库与所述分布式缓存系统。
3.根据权利要求2所述的针对数据库异常状况的处理方法,其特征在于,所述将与所述写操作相对应的变更数据同步到备用库与所述分布式缓存系统包括:
将所述变更数据添加至消息队列系统,以按照变更顺序记录所述变更数据;以及
将所述变更数据按照所述变更顺序同步到所述备用库与所述分布式缓存系统。
4.根据权利要求2所述的针对数据库异常状况的处理方法,其特征在于,所述处理方法还包括:
在所述数据库的状态不再满足所述异常条件且所述消息队列系统中的所述变更数据均被同步的情况下,执行以下操作:
将所述备用库同步至所述数据库;或者
将所述备用库设置为新的数据库且将所述数据库设置为新的备用库。
5.根据权利要求4所述的针对数据库异常状况的处理方法,其特征在于,所述处理方法还包括:
在将所述备用库同步至所述数据库的情况下,将所述查询接口由所述分布式缓存系统切换至所述数据库;或者
在将所述备用库设置为新的数据库且将所述数据库设置为新的备用库的情况下,将所述查询接口由所述分布式缓存系统切换至所述新的数据库。
6.根据权利要求1所述的针对数据库异常状况的处理方法,其特征在于,所述异常条件包括以下各项中的任一异常情况且所述异常情况在预设时间内出现的次数大于阈值:所述数据库的连接错误、所述数据库执行的线程数目大于预设数目、访问流量大于预设流量、域名解析失败。
7.根据权利要求1所述的针对数据库异常状况的处理方法,其特征在于,所述将数据库同步至分布式缓存系统包括:
基于日志文件将所述数据库同步至所述分布式缓存系统。
8.一种针对数据库异常状况的处理系统,其特征在于,所述处理系统包括:
同步装置,用于将数据库同步至分布式缓存系统;
监听装置,用于监听所述数据库的状态;
切换装置,用于在所述数据库的状态满足异常条件的情况下,将查询接口切换至所述分布式缓存系统;以及
查询装置,用于响应于查询操作,从所述分布式缓存系统中查询与所述查询操作相匹配的内容。
9.一种机器可读存储介质,其特征在于,所述机器可读存储介质上存储有指令,该指令用于使得机器执行上述权利要求1-7中任一项所述的针对数据库异常状况的处理方法。
10.一种电子设备,其特征在于,所述电子设备包括:
处理器;
用于存储所述处理器可执行指令的存储器;
所述处理器,用于从所述存储器中读取所述指令,并执行所述指令以实现上述权利要求1-7中任一项所述的针对数据库异常状况的处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111272554.3A CN114003612A (zh) | 2021-10-29 | 2021-10-29 | 针对数据库异常状况的处理方法及处理系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111272554.3A CN114003612A (zh) | 2021-10-29 | 2021-10-29 | 针对数据库异常状况的处理方法及处理系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114003612A true CN114003612A (zh) | 2022-02-01 |
Family
ID=79925144
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111272554.3A Pending CN114003612A (zh) | 2021-10-29 | 2021-10-29 | 针对数据库异常状况的处理方法及处理系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114003612A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114791823A (zh) * | 2022-05-10 | 2022-07-26 | 广州慧思软件科技有限公司 | 基于人工智能的软件工程数据库维护与预警方法及系统 |
-
2021
- 2021-10-29 CN CN202111272554.3A patent/CN114003612A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114791823A (zh) * | 2022-05-10 | 2022-07-26 | 广州慧思软件科技有限公司 | 基于人工智能的软件工程数据库维护与预警方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9645892B1 (en) | Recording file events in change logs while incrementally backing up file systems | |
US11307776B2 (en) | Method for accessing distributed storage system, related apparatus, and related system | |
CN106933843B (zh) | 数据库心跳检测方法以及装置 | |
US20150213100A1 (en) | Data synchronization method and system | |
US10204016B1 (en) | Incrementally backing up file system hard links based on change logs | |
US20080091895A1 (en) | Cache data backup method and system for computer clustering systems | |
CN104935654A (zh) | 一种服务器集群系统中的缓存方法、写入点客户端和读客户端 | |
CN107506266B (zh) | 一种数据恢复方法及系统 | |
CN109491609B (zh) | 一种缓存数据处理方法、装置、设备及可读存储介质 | |
US10628298B1 (en) | Resumable garbage collection | |
CN103761165A (zh) | 日志备份方法及装置 | |
CN113885809B (zh) | 数据管理系统及方法 | |
CN114003612A (zh) | 针对数据库异常状况的处理方法及处理系统 | |
CN108595287B (zh) | 基于纠删码的数据截断方法及装置 | |
JP2019204527A (ja) | 記憶機器のデータ位置の処理方法及び処理装置、コンピュータ機器並びにコンピュータ読み取り可能な記憶媒体 | |
CN113590379A (zh) | Redis数据持久化方法及系统 | |
US20210133103A1 (en) | Data caching method and apparatus | |
CN109254880B (zh) | 一种处理数据库宕机的方法及装置 | |
US20150088826A1 (en) | Enhanced Performance for Data Duplication | |
JP2010191499A (ja) | ストレージシステム | |
CN113536034A (zh) | 一种基于布隆过滤器的数据写入方法和数据读取方法 | |
JP4485560B2 (ja) | コンピュータ・システム及びシステム管理プログラム | |
CN115686951A (zh) | 一种数据库服务器的故障处理方法和装置 | |
CN110928945B (zh) | 一种针对数据库的数据处理方法及装置,数据处理系统 | |
US11645333B1 (en) | Garbage collection integrated with physical file verification |
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 |