CN105528373A - 数据库故障处理方法、装置、系统及服务器 - Google Patents

数据库故障处理方法、装置、系统及服务器 Download PDF

Info

Publication number
CN105528373A
CN105528373A CN201410563658.3A CN201410563658A CN105528373A CN 105528373 A CN105528373 A CN 105528373A CN 201410563658 A CN201410563658 A CN 201410563658A CN 105528373 A CN105528373 A CN 105528373A
Authority
CN
China
Prior art keywords
database
service server
access rights
access
server
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
CN201410563658.3A
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.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding 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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201410563658.3A priority Critical patent/CN105528373A/zh
Publication of CN105528373A publication Critical patent/CN105528373A/zh
Priority to HK16110135.7A priority patent/HK1222010A1/zh
Pending legal-status Critical Current

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请公开了数据库故障处理方法、装置、系统及服务器,所述方法包括:在业务服务器对第一数据库进行访问时,检测第一数据库是否发生故障;当所述第一数据库发生故障时,修改业务服务器对所述第一数据库的访问权限为不可访问;将所述业务服务器切换为对第二数据库进行访问,其中,所述第二数据库与所述第一数据库之间通过数据同步保存所述业务服务器产生的业务数据。应用本申请实施例,可以通过故障处理服务器自动实现数据库的故障隔离和恢复处理,与管理员手动处理相比,减少了故障处理的响应时间,提高了故障处理效率。

Description

数据库故障处理方法、装置、系统及服务器
技术领域
本申请涉及网络通信技术领域,尤其涉及数据库故障处理方法、装置、系统及服务器。
背景技术
随着大数据时代的来临,互联网企业在开展各种业务时,其部署的业务服务器会产生海量业务数据,这些业务数据通过业务数据库进行维护,业务服务器可以向业务数据库写入业务数据,也可以从业务数据库中读取业务数据。当业务数据库发生故障后,为了避免业务服务器访问到错误的数据,需要将业务服务器与业务数据库进行隔离,并在业务数据库恢复正常后,再允许业务服务器访问业务数据库。
但是,现有技术中,当业务数据库发生故障后,需要管理员采用手动方式对故障进行隔离,并且在业务数据库恢复正常后,同样需要管理员手动恢复业务服务器对业务数据库的访问。由此可知,现有技术需要管理员手动进行数据库的故障隔离和恢复处理,因此处理的响应时间较长,处理效率不高。
发明内容
本申请提供数据库故障处理方法、装置、系统及服务器,以解决现有数据库故障处理的响应时间较长,处理效率不高的问题。
根据本申请实施例的第一方面,提供一种数据库故障处理方法,所述方法包括:
在业务服务器对第一数据库进行访问时,检测第一数据库是否发生故障;
当所述第一数据库发生故障时,修改业务服务器对所述第一数据库的访问权限为不可访问;
将所述业务服务器切换为对第二数据库进行访问,其中,所述第二数据库与所述第一数据库之间通过数据同步保存所述业务服务器产生的业务数据。
根据本申请实施例的第二方面,提供一种数据库故障处理装置,所述装置包括:
检测单元,用于在业务服务器对第一数据库进行访问时,检测第一数据库是否发生故障;
修改单元,用于当所述检测单元检测到所述第一数据库发生故障时,修改业务服务器对所述第一数据库的访问权限为不可访问;
切换单元,用于将所述业务服务器切换为对第二数据库进行访问,其中,所述第二数据库与所述第一数据库之间通过数据同步保存所述业务服务器产生的业务数据。
根据本申请实施例的第三方面,提供一种数据库故障处理系统,所述系统包括:业务服务器、第一数据库、第二数据库和故障处理服务器,其中,
所述业务服务器,用于产生业务数据;
所述第一数据库,用于与所述第二数据库之间通过数据同步保存所述业务数据;
所述故障处理服务器,用于在所述业务服务器对第一数据库进行访问时,检测第一数据库是否发生故障,当所述第一数据库发生故障时,修改业务服务器对所述第一数据库的访问权限为不可访问,并将所述业务服务器切换为对第二数据库进行访问。
根据本申请实施例的第四方面,提供一种故障处理服务器,包括:
处理器;用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为:
在业务服务器对第一数据库进行访问时,检测第一数据库是否发生故障;
当所述第一数据库发生故障时,修改业务服务器对所述第一数据库的访问权限为不可访问;
将所述业务服务器切换为对第二数据库进行访问,其中,所述第二数据库与所述第一数据库之间通过数据同步保存所述业务服务器产生的业务数据。
应用本申请实施例,当业务服务器当前访问的第一数据库发生故障时,可以由故障处理服务器在检测到第一数据库故障时,通过修改业务服务器对第一数据库的访问权限为不可访问,从而将发生故障的第一数据库与业务服务器进行隔离,同时控制业务服务器切换到对与第一数据库同步了相同业务数据的第二数据库进行访问,以便保持业务服务器对业务数据的访问不会中断。由于本申请实施例可以通过故障处理服务器自动实现数据库的故障隔离和恢复处理,与管理员手动处理相比,减少了故障处理的响应时间,提高了故障处理效率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1为本申请数据库故障处理系统的实施例框图;
图2为本申请数据库故障处理方法的一个实施例流程图;
图3为采用本申请实施例实现业务数据同步的数据中心系统架构示意图;
图4为本申请数据库故障处理装置所在设备的一种硬件结构图;
图5为本申请数据库故障处理装置的实施例框图。
具体实施方式
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
随着大数据时代的来临,互联网企业在开展各种业务时,其部署的业务服务器会产生海量业务数据,这些业务数据通过业务数据库进行维护,业务服务器可以向业务数据库写入业务数据,也可以从业务数据库中读取业务数据。但是现有技术中,无论业务数据库发生故障,还是故障恢复,都需要管理员手动进行故障隔离或恢复,因此故障处理效率不高。基于此,本申请实施例通过设置故障处理服务器,对数据库是否发生故障,以及数据库故障是否恢复进行检测,从而自动控制业务服务器与故障数据库进行隔离,以及在数据库故障恢复后,自动恢复业务服务器对数据库的访问权限,下面结合具体实施例对本申请进行详细描述。
参见图1,为本申请数据库故障处理系统的实施例框图:
该系统包括:业务服务器110、第一数据库120、第二数据库130和故障处理服务器140。
其中,所述业务服务器110,用于产生业务数据;
所述第一数据库120,用于与所述第二数据库130之间通过数据同步保存所述业务数据;
所述故障处理服务器140,用于在所述业务服务器110对第一数据库120进行访问时,检测第一数据库120是否发生故障,当所述第一数据库120发生故障时,修改业务服务器110对所述第一数据库120的访问权限为不可访问,并将所述业务服务器110切换为对第二数据库进行访问。
需要说明的是,上述实施例为了示例方便,仅示出了一个第一数据库和一个第二数据库,实际应用中,该系统可以根据业务数据的存储需求设置两个以上的数据库,只要其中任意两个同步了相同业务数据的数据库能够按照本申请实施例示出的方式进行故障处理即可,对此本申请实施例不进行限制。
在上述实施例中,所述故障处理服务器140,还可以用于检测所述第一数据库120的故障是否恢复,当所述第一数据库120的故障恢复时,修改所述业务服务器110对所述第二数据库130的访问权限为不可访问,并将所述业务服务器110切换为对所述第一数据库120进行访问。
由上述实施例可见,当业务服务器当前访问的第一数据库发生故障时,可以由故障处理服务器在检测到第一数据库故障时,通过修改业务服务器对第一数据库的访问权限为不可访问,从而将发生故障的第一数据库与业务服务器进行隔离,同时控制业务服务器切换到对与第一数据库同步了相同业务数据的第二数据库进行访问,以便保持业务服务器对业务数据的访问不会中断。由于本申请实施例可以通过故障处理服务器自动实现数据库的故障隔离和恢复处理,与管理员手动处理相比,减少了故障处理的响应时间,提高了故障处理效率。
下面结合前述本申请数据库故障处理系统的实施例,对本申请数据库故障处理方法和装置的实施例进行详细描述。
参见图2,为本申请数据库故障处理方法的一个实施例流程图,该实施例从故障处理服务器侧进行描述:
步骤201:在业务服务器对第一数据库进行访问时,检测第一数据库是否发生故障。
本申请实施例中的业务服务器可以用于实现不同类型的业务,例如,交易业务、即时通信业务等。在实现不同业务的过程中,业务服务器会产生大量的业务数据,这些业务数据可以通过数据库进行保存,以便业务服务器可以通过访问数据库对业务数据进行回溯。
结合图1所示,初始时,业务服务器对第一数据库进行访问,包括将生成的业务数据写入到第一数据库,或者从第一数据库中读取业务数据。本实施例中,业务服务器上设置了数据库访问路由组件,该路由组件上可以保存数据库标识与访问权限的对应关系,当前业务服务器可以对第一数据库进行访问,因此路由组件中与第一数据库的第一标识对应的访问权限中,读权限为可读,且写权限为可写。并且,业务服务器在对第一数据库进行访问的同时,第一数据库可以将业务服务器写入的业务数据同步到第二数据库,第二数据库作为第一数据库的备份,与第一数据库保存相同的业务数据库,相应的,当前路由组件中与第二数据库的第二标识对应的访问权限中,读权限为不可读,且写权限为不可写。
在业务服务器访问第一数据库的过程中,故障处理服务器可以通过心跳检测方式检测第一数据库是否发生故障。在检测过程中,故障处理服务器可以按照预设的时间周期向第一数据库发送系统查询请求,在任一时间周期内,如果第一数据库针对该系统查询请求返回了系统查询时间,则可以确定第一数据库未发生故障,否则,可以确定第一数据库发生故障。
步骤202:当第一数据库发生故障时,修改业务服务器对第一数据库的访问权限为不可访问。
由步骤201中的描述可知,业务服务器上设置了数据库访问路由组件,同时该路由组件上可以提供由故障处理服务器调用的接口,在故障处理服务器检测到第一数据库发生故障时,故障处理服务器可以通过数据库访问路由组件提供的接口调用该数据库访问路由组件,并控制数据库访问路由组件根据第一数据库的第一标识查找前述保存的对应关系,获得与第一标识对应的第一数据库的访问权限中,第一读权限为可读,以及第一写权限为可写,因此故障处理服务器可以控制数据库访问路由组件将第一读权限修改为不可读,以及将第一写权限修改为不可写。
步骤203:将业务服务器切换为对第二数据库进行访问,其中,第二数据库与第一数据库之间通过数据同步保存业务服务器产生的业务数据。
在故障处理服务器修改业务服务器对第一数据库的访问权限为不可访问的同时或之后,可以控制数据库访问路由组件根据第二数据库的第二标识查找前述保存的对应关系,获得与第二标识对应的第二数据库的访问权限中,第二读权限为不可读,以及第二写权限为不可写,因此故障处理服务器控制数据库访问路由组件将第二读权限修改为可读,以及将第二写权限修改为可写。
由上述实施例可见,当业务服务器当前访问的第一数据库发生故障时,可以由故障处理服务器在检测到第一数据库故障时,通过修改业务服务器对第一数据库的访问权限为不可访问,从而将发生故障的第一数据库与业务服务器进行隔离,同时控制业务服务器切换到对与第一数据库同步了相同业务数据的第二数据库进行访问,以便保持业务服务器对业务数据的访问不会中断。由于本申请实施例可以通过故障处理服务器自动实现数据库的故障隔离和恢复处理,与管理员手动处理相比,减少了故障处理的响应时间,提高了故障处理效率。
参见图3,为本申请数据库故障处理方法的另一个实施例流程图,该实施例对故障隔离和故障恢复的处理过程进行详细描述:
步骤300:业务服务器的数据库访问路由组件保存了数据库标识与访问权限的对应关系。
结合图1可知,业务服务器对应两个数据库,分别为第一数据库和第二数据库,在同一时刻,业务服务器可以对任一数据库进行访问。其中第二数据库作为第一数据库的备份,与第一数据库同步业务服务器产生的业务数据。其中,第二数据库可以采用现有的failover(失效转移)操作模式,在此不再赘述。
本实施例中,业务服务器上设置了数据库访问路由组件,该路由组件上可以保存数据库标识与访问权限的对应关系,假设初始时,业务服务器对第一数据库进行访问,而不访问第二数据库,访问权限可以具体包括读权限和写权限,在实际应用中,可以为访问权限设置不同的权重值,例如,权重值最小为0,则对应的访问权限为不可访问,权重值最大为10,则对应的访问权限为可访问,假设写权限表示为W,读权限表示为R,第一数据库的第一标识为tradeDatabase1,第二数据库的第二标识为tradeDatabase2,则数据库访问路由组件中保存的对应关系可以如下表1所示:
表1
数据库标识 写读权限
tradeDatabase1 W10R10
tradeDatabase2 W0R0
由上述表1可知,初始时路由组件中保存了对第一数据库的访问权限为可读可写,对第二数据库的访问权限为不可读不可写。业务服务器可以按照路由组件中保存的上述对应关系,实现对第一数据库的访问。
下述步骤301至步骤308为故障隔离阶段:
步骤301:业务服务器对第一数据库进行访问。
步骤302:在每个预设的时间周期内,故障处理服务器向第一数据库发送系统查询请求。
在业务服务器访问第一数据库的过程中,故障处理服务器可以通过心跳检测方式检测第一数据库是否发生故障。本实施例中,数据库发生故障的原因可能有多种,例如,数据库访问量过大,或者数据库参数配置错误,或者数据库内部硬件故障等,本申请实施例对数据库产生的具体故障类型不做限定。
在故障检测过程中,故障处理服务器可以按照预设的时间周期向第一数据库发送系统查询请求,在发送系统查询请求时,故障处理服务器可以采用数据库通用的selectsysdatefromdual查询语句,通过调用基于jdbc(JavaDataBaseConnectivity,数据库连接)方式配置的API(ApplicationProgrammingInterface,应用程序编程接口)向第一数据库发送系统查询请求,例如,该系统查询请求可以如下所示:
步骤303:故障处理服务器判断在当前时间周期是否接收到第一数据库针对系统查询请求返回的系统查询时间,若否,则执行步骤304。
在每个时间周期内,当故障处理服务器向第一数据库发出系统查询请求后,如果第一数据库返回了系统查询时间,则确定第一数据库正常,业务服务器可以继续对第一数据库进行访问;如果第一数据库未返回系统查询时间,例如,返回了错误代码,或者异常信息,则可以确定第一数据库发生故障,此时执行步骤304。
步骤304:故障处理服务器通过业务服务器上数据库访问路由组件提供的接口调用数据库访问路由组件。
步骤305:故障处理服务器控制数据库访问路由组件根据第一数据库的第一标识查找保存的对应关系,获得与第一标识对应的第一数据库的访问权限。
步骤306:故障处理服务器控制数据库访问路由组件将第一读权限修改为不可读,以及将第一写权限修改为不可写。
针对上述步骤305和步骤306,结合表1可知,数据库访问路由组件中保存的第一数据库的访问权限中第一读权限为可读,以及第一写权限为可写,即第一数据库的写读权限为W10R10,故障处理服务器将该写读权限修改为W0R0,即将第一数据库的读权限修改为不可读,以及将第一数据库的写权限修改为不可写。通过故障处理服务器的上述操作,业务服务器无法再访问发生故障的第一数据库,从而实现对业务数据库的故障隔离。
步骤307:故障处理服务器控制数据库访问路由组件根据第二数据库的第二标识查找对应关系,获得与所述第二标识对应的第二数据库的访问权限。
步骤308:故障处理服务器控制数据库访问路由组件将第二读权限修改为不可读,以及将第二写权限修改为不可写。
针对上述步骤307和步骤308,结合表1可知,数据库访问路由组件中保存的第二数据库的访问权限中第二读权限为不可读,以及第一写权限为不可写,即第二数据库的写读权限为W0R0,故障处理服务器将该写读权限修改为W10R10,即将第二数据库的读权限修改为可读,以及将第二数据库的写权限修改为可写,相应的,数据库访问路由组件中保存的对应关系可以如下表2所示:
表2
数据库标识 写读权限
tradeDatabase1 W0R0
tradeDatabase2 W10R10
通过故障处理服务器的上述操作,业务服务器可以在第一数据库故障的情况下,访问第二数据库,以保证业务服务器对业务数据的访问不会中断。
下述步骤309至步骤316为故障恢复阶段:
步骤309:业务服务器对第二数据库进行访问
步骤310:在每个预设的时间周期内,故障处理服务器向第一数据库发送系统查询请求。
在第一数据库发生故障后,故障处理服务器仍然可以通过心跳检测方式检测第一数据库的故障是否恢复。在检测过程中,故障处理服务器仍然可以按照预设的时间周期向第一数据库发送系统查询请求,发送系统查询请求的具体过程与步骤302一致,在此不再赘述。
步骤311:故障处理服务器判断在当前时间周期是否接收到第一数据库针对系统查询请求返回的系统查询时间,若是,则执行步骤312。
步骤312:故障处理服务器通过业务服务器上数据库访问路由组件提供的接口调用数据库访问路由组件。
步骤313:故障处理服务器控制数据库访问路由组件根据第一数据库的第一标识查找保存的对应关系,获得与第一标识对应的第一数据库的访问权限。其中,第一数据库的访问权限中的第一读权限为不可读,以及第一写权限为不可写。
步骤314:故障处理服务器控制数据库访问路由组件将第一读权限修改为可读,以及将第一写权限修改为可写。
步骤315:故障处理服务器控制数据库访问路由组件根据第二数据库的第二标识查找保存的对应关系,获得与第二标识对应的第二数据库的访问权限。其中,第二数据库的访问权限中的第二读权限为可读,以及第二写权限为可写。
步骤316:故障处理服务器控制数据库访问路由组件将第二读权限修改为不可读,以及将所述第二写权限修改为不可写。
上述步骤311至步骤316的实现过程与前述步骤303至步骤308的实现过程类似,在此不再赘述。在第一数据库的故障恢复后,业务服务器重新切换到对第一数据库进行访问。
由上述实施例可见,当业务服务器当前访问的第一数据库发生故障时,可以由故障处理服务器在检测到第一数据库故障时,通过修改业务服务器对第一数据库的访问权限为不可访问,从而将发生故障的第一数据库与业务服务器进行隔离,同时控制业务服务器切换到对与第一数据库同步了相同业务数据的第二数据库进行访问,以便保持业务服务器对业务数据的访问不会中断。由于本申请实施例可以通过故障处理服务器自动实现数据库的故障隔离和恢复处理,与管理员手动处理相比,减少了故障处理的响应时间,提高了故障处理效率。
本申请数据库故障处理装置的实施例可以应用在故障处理服务器上。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图4所示,为本申请数据库故障处理装置所在设备的一种硬件结构图,除了图4所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的设备通常根据该设备的实际功能,还可以包括其他硬件,图4中不再一一示出。
参见图5,为本申请数据库故障处理装置的实施例框图:
该装置包括:检测单元510、修改单元520和切换单元530。
其中,检测单元510,用于在业务服务器对第一数据库进行访问时,检测第一数据库是否发生故障;
修改单元520,用于当所述检测单元检测到所述第一数据库发生故障时,修改业务服务器对所述第一数据库的访问权限为不可访问;
切换单元530,用于将所述业务服务器切换为对第二数据库进行访问,其中,所述第二数据库与所述第一数据库之间通过数据同步保存所述业务服务器产生的业务数据。
在一个可选的实现方式中:
所述检测单元510可以包括(图5中未示出):
请求发送子单元,用于在每个预设的时间周期内,向所述第一数据库发送系统查询请求;
故障检测子单元,用于如果在任一时间周期内接收到所述第一数据库针对所述系统查询请求返回的系统查询时间,则确定所述第一数据库未发生故障,否则,确定所述第一数据库发生故障。
其中,所述请求发送子单元,可以具体用于通过调用基于jdbc方式配置的API向所述第一数据库发送系统查询请求。
在另一个可选的实现方式中:
所述修改单元520可以包括(图5中未示出):
组件调用子单元,用于通过所述业务服务器上数据库访问路由组件提供的接口调用所述数据库访问路由组件,所述数据库访问路由组件保存了数据库标识与访问权限的对应关系;
第一权限获得子单元,用于控制所述数据库访问路由组件根据所述第一数据库的第一标识查找所述对应关系,获得与所述第一标识对应的第一数据库的访问权限,其中所述第一数据库的访问权限中的第一读权限为可读,以及第一写权限为可写;
第一权限修改子单元,用于控制所述数据库访问路由组件将所述第一读权限修改为不可读,以及将所述第一写权限修改为不可写。
在另一个可选的实现方式中:
所述切换单元530可以包括(图5中未示出):
第二权限获得子单元,用于控制所述数据库访问路由组件根据所述第二数据库的第二标识查找所述对应关系,获得与所述第二标识对应的第二数据库的访问权限,其中所述第二数据库的访问权限中的第二读权限为不可读,以及第二写权限为不可写;
第二权限修改子单元,用于控制所述数据库访问路由组件将所述第二读权限修改为不可读,以及将所述第二写权限修改为不可写。
在另一个可选的实现方式中:
所述检测单元510,还用于检测所述第一数据库的故障是否恢复;
所述修改单元520,还用于当所述第一数据库的故障恢复时,修改所述业务服务器对所述第二数据库的访问权限为不可访问;
所述切换单元530,还用于将所述业务服务器切换为对所述第一数据库进行访问。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
由上述实施例可见,当业务服务器当前访问的第一数据库发生故障时,可以由故障处理服务器在检测到第一数据库故障时,通过修改业务服务器对第一数据库的访问权限为不可访问,从而将发生故障的第一数据库与业务服务器进行隔离,同时控制业务服务器切换到对与第一数据库同步了相同业务数据的第二数据库进行访问,以便保持业务服务器对业务数据的访问不会中断。由于本申请实施例可以通过故障处理服务器自动实现数据库的故障隔离和恢复处理,与管理员手动处理相比,减少了故障处理的响应时间,提高了故障处理效率。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。

Claims (15)

1.一种数据库故障处理方法,其特征在于,所述方法包括:
在业务服务器对第一数据库进行访问时,检测第一数据库是否发生故障;
当所述第一数据库发生故障时,修改业务服务器对所述第一数据库的访问权限为不可访问;
将所述业务服务器切换为对第二数据库进行访问,其中,所述第二数据库与所述第一数据库之间通过数据同步保存所述业务服务器产生的业务数据。
2.根据权利要求1所述的方法,其特征在于,所述检测第一数据库是否发生故障,包括:
在每个预设的时间周期内,向所述第一数据库发送系统查询请求;
如果在任一时间周期内接收到所述第一数据库针对所述系统查询请求返回的系统查询时间,则确定所述第一数据库未发生故障,否则,确定所述第一数据库发生故障。
3.根据权利要求2所述的方法,其特征在于,所述向所述第一数据库发送系统查询请求,具体为:通过调用基于数据库连接jdbc方式配置的应用程序编程接口API向所述第一数据库发送系统查询请求。
4.根据权利要求1所述的方法,其特征在于,所述修改业务服务器对所述第一数据库的访问权限为不可访问,包括:
通过所述业务服务器上数据库访问路由组件提供的接口调用所述数据库访问路由组件,所述数据库访问路由组件保存了数据库标识与访问权限的对应关系;
控制所述数据库访问路由组件根据所述第一数据库的第一标识查找所述对应关系,获得与所述第一标识对应的第一数据库的访问权限,其中所述第一数据库的访问权限中的第一读权限为可读,以及第一写权限为可写;
控制所述数据库访问路由组件将所述第一读权限修改为不可读,以及将所述第一写权限修改为不可写。
5.根据权利要求4所述的方法,其特征在于,所述将所述业务服务器切换为对第二数据库进行访问,包括:
控制所述数据库访问路由组件根据所述第二数据库的第二标识查找所述对应关系,获得与所述第二标识对应的第二数据库的访问权限,其中所述第二数据库的访问权限中的第二读权限为不可读,以及第二写权限为不可写;
控制所述数据库访问路由组件将所述第二读权限修改为可读,以及将所述第二写权限修改为可写。
6.根据权利要求1至5任一所述的方法,其特征在于,所述将所述业务服务器切换为对第二数据库进行访问后,所述方法还包括:
检测所述第一数据库的故障是否恢复;
当所述第一数据库的故障恢复时,修改所述业务服务器对所述第二数据库的访问权限为不可访问;
将所述业务服务器切换为对所述第一数据库进行访问。
7.一种数据库故障处理装置,其特征在于,所述装置包括:
检测单元,用于在业务服务器对第一数据库进行访问时,检测第一数据库是否发生故障;
修改单元,用于当所述检测单元检测到所述第一数据库发生故障时,修改业务服务器对所述第一数据库的访问权限为不可访问;
切换单元,用于将所述业务服务器切换为对第二数据库进行访问,其中,所述第二数据库与所述第一数据库之间通过数据同步保存所述业务服务器产生的业务数据。
8.根据权利要求7所述的装置,其特征在于,所述检测单元包括:
请求发送子单元,用于在每个预设的时间周期内,向所述第一数据库发送系统查询请求;
故障检测子单元,用于如果在任一时间周期内接收到所述第一数据库针对所述系统查询请求返回的系统查询时间,则确定所述第一数据库未发生故障,否则,确定所述第一数据库发生故障。
9.根据权利要求8所述的装置,其特征在于,
所述请求发送子单元,具体用于通过调用基于jdbc方式配置的API向所述第一数据库发送系统查询请求。
10.根据权利要求7所述的装置,其特征在于,所述修改单元包括:
组件调用子单元,用于通过所述业务服务器上数据库访问路由组件提供的接口调用所述数据库访问路由组件,所述数据库访问路由组件保存了数据库标识与访问权限的对应关系;
第一权限获得子单元,用于控制所述数据库访问路由组件根据所述第一数据库的第一标识查找所述对应关系,获得与所述第一标识对应的第一数据库的访问权限,其中所述第一数据库的访问权限中的第一读权限为可读,以及第一写权限为可写;
第一权限修改子单元,用于控制所述数据库访问路由组件将所述第一读权限修改为不可读,以及将所述第一写权限修改为不可写。
11.根据权利要求10所述的装置,其特征在于,所述切换单元包括:
第二权限获得子单元,用于控制所述数据库访问路由组件根据所述第二数据库的第二标识查找所述对应关系,获得与所述第二标识对应的第二数据库的访问权限,其中所述第二数据库的访问权限中的第二读权限为不可读,以及第二写权限为不可写;
第二权限修改子单元,用于控制所述数据库访问路由组件将所述第二读权限修改为可读,以及将所述第二写权限修改为可写。
12.根据权利要求7至11任一所述的装置,其特征在于,
所述检测单元,还用于检测所述第一数据库的故障是否恢复;
所述修改单元,还用于当所述第一数据库的故障恢复时,修改所述业务服务器对所述第二数据库的访问权限为不可访问;
所述切换单元,还用于将所述业务服务器切换为对所述第一数据库进行访问。
13.一种数据库故障处理系统,其特征在于,所述系统包括:业务服务器、第一数据库、第二数据库和故障处理服务器,其中,
所述业务服务器,用于产生业务数据;
所述第一数据库,用于与所述第二数据库之间通过数据同步保存所述业务数据;
所述故障处理服务器,用于在所述业务服务器对第一数据库进行访问时,检测第一数据库是否发生故障,当所述第一数据库发生故障时,修改业务服务器对所述第一数据库的访问权限为不可访问,并将所述业务服务器切换为对第二数据库进行访问。
14.根据权利要求13所述的系统,其特征在于,
所述故障处理服务器,还用于检测所述第一数据库的故障是否恢复,当所述第一数据库的故障恢复时,修改所述业务服务器对所述第二数据库的访问权限为不可访问,并将所述业务服务器切换为对所述第一数据库进行访问。
15.一种故障处理服务器,其特征在于,包括:
处理器;用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为:
在业务服务器对第一数据库进行访问时,检测第一数据库是否发生故障;
当所述第一数据库发生故障时,修改业务服务器对所述第一数据库的访问权限为不可访问;
将所述业务服务器切换为对第二数据库进行访问,其中,所述第二数据库与所述第一数据库之间通过数据同步保存所述业务服务器产生的业务数据。
CN201410563658.3A 2014-10-21 2014-10-21 数据库故障处理方法、装置、系统及服务器 Pending CN105528373A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201410563658.3A CN105528373A (zh) 2014-10-21 2014-10-21 数据库故障处理方法、装置、系统及服务器
HK16110135.7A HK1222010A1 (zh) 2014-10-21 2016-08-25 數據庫故障處理方法、裝置、系統及服務器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410563658.3A CN105528373A (zh) 2014-10-21 2014-10-21 数据库故障处理方法、装置、系统及服务器

Publications (1)

Publication Number Publication Date
CN105528373A true CN105528373A (zh) 2016-04-27

Family

ID=55770599

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410563658.3A Pending CN105528373A (zh) 2014-10-21 2014-10-21 数据库故障处理方法、装置、系统及服务器

Country Status (2)

Country Link
CN (1) CN105528373A (zh)
HK (1) HK1222010A1 (zh)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106557705A (zh) * 2016-11-10 2017-04-05 乐视控股(北京)有限公司 一种数据访问方法和装置
CN107451202A (zh) * 2017-07-06 2017-12-08 联动优势科技有限公司 一种数据访问方法及设备
CN107480185A (zh) * 2017-07-06 2017-12-15 联动优势科技有限公司 一种数据访问方法及设备
CN109002373A (zh) * 2018-07-24 2018-12-14 阿里巴巴集团控股有限公司 数据库连接异常处理方法及装置
WO2019000963A1 (zh) * 2017-06-25 2019-01-03 平安科技(深圳)有限公司 业务系统预先稽查方法、服务器及计算机可读存储介质
CN111367892A (zh) * 2020-03-31 2020-07-03 中国建设银行股份有限公司 数据迁移方法及装置
CN112199356A (zh) * 2020-12-09 2021-01-08 北京顺达同行科技有限公司 故障处理方法、装置、服务器以及存储介质
CN112306794A (zh) * 2020-09-28 2021-02-02 国网吉林省电力有限公司信息通信公司 一种数据库典型故障场景自动处理方法及其装置
CN112486956A (zh) * 2020-12-10 2021-03-12 北京字节跳动网络技术有限公司 数据存取方法、装置和电子设备
CN112749045A (zh) * 2021-01-11 2021-05-04 深圳市伊欧乐科技有限公司 数据库集群切换方法、设备、存储介质及装置
CN112948430A (zh) * 2021-03-30 2021-06-11 建信金融科技有限责任公司 一种日期数据查询方法和装置
CN113609104A (zh) * 2021-08-19 2021-11-05 京东科技信息技术有限公司 一种部分故障的键值对分布式存储系统访问方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120166393A1 (en) * 2010-12-27 2012-06-28 Sap Ag Shadow system mirroring of an original system during uptime of an upgrade process
CN102810111A (zh) * 2012-05-07 2012-12-05 互动在线(北京)科技有限公司 一种保持Oracle数据库服务高可用的实现方法和系统
CN103425645A (zh) * 2012-05-14 2013-12-04 阿里巴巴集团控股有限公司 数据库集群单点故障的监控系统及方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120166393A1 (en) * 2010-12-27 2012-06-28 Sap Ag Shadow system mirroring of an original system during uptime of an upgrade process
CN102810111A (zh) * 2012-05-07 2012-12-05 互动在线(北京)科技有限公司 一种保持Oracle数据库服务高可用的实现方法和系统
CN103425645A (zh) * 2012-05-14 2013-12-04 阿里巴巴集团控股有限公司 数据库集群单点故障的监控系统及方法

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106557705A (zh) * 2016-11-10 2017-04-05 乐视控股(北京)有限公司 一种数据访问方法和装置
WO2019000963A1 (zh) * 2017-06-25 2019-01-03 平安科技(深圳)有限公司 业务系统预先稽查方法、服务器及计算机可读存储介质
CN107451202A (zh) * 2017-07-06 2017-12-08 联动优势科技有限公司 一种数据访问方法及设备
CN107480185A (zh) * 2017-07-06 2017-12-15 联动优势科技有限公司 一种数据访问方法及设备
CN107451202B (zh) * 2017-07-06 2020-06-19 联动优势科技有限公司 一种数据访问方法及设备
CN109002373A (zh) * 2018-07-24 2018-12-14 阿里巴巴集团控股有限公司 数据库连接异常处理方法及装置
CN111367892A (zh) * 2020-03-31 2020-07-03 中国建设银行股份有限公司 数据迁移方法及装置
CN111367892B (zh) * 2020-03-31 2024-01-19 中国建设银行股份有限公司 数据迁移方法及装置
CN112306794A (zh) * 2020-09-28 2021-02-02 国网吉林省电力有限公司信息通信公司 一种数据库典型故障场景自动处理方法及其装置
CN112199356A (zh) * 2020-12-09 2021-01-08 北京顺达同行科技有限公司 故障处理方法、装置、服务器以及存储介质
CN112486956A (zh) * 2020-12-10 2021-03-12 北京字节跳动网络技术有限公司 数据存取方法、装置和电子设备
CN112749045A (zh) * 2021-01-11 2021-05-04 深圳市伊欧乐科技有限公司 数据库集群切换方法、设备、存储介质及装置
CN112749045B (zh) * 2021-01-11 2023-05-26 深圳市伊欧乐科技有限公司 数据库集群切换方法、设备、存储介质及装置
CN112948430A (zh) * 2021-03-30 2021-06-11 建信金融科技有限责任公司 一种日期数据查询方法和装置
CN113609104A (zh) * 2021-08-19 2021-11-05 京东科技信息技术有限公司 一种部分故障的键值对分布式存储系统访问方法及装置
CN113609104B (zh) * 2021-08-19 2023-11-03 京东科技信息技术有限公司 一种部分故障的键值对分布式存储系统访问方法及装置

Also Published As

Publication number Publication date
HK1222010A1 (zh) 2017-06-16

Similar Documents

Publication Publication Date Title
CN105528373A (zh) 数据库故障处理方法、装置、系统及服务器
US8619552B2 (en) Virtual router with a priority value per port
US7191198B2 (en) Storage operation management program and method and a storage management computer
US8074099B2 (en) Failure recovery method, failure recovery program and management server
CN110807064B (zh) Rac分布式数据库集群系统中的数据恢复装置
US8392758B2 (en) Remedying method for problems in virtual server system and system thereof
US7937617B1 (en) Automatic clusterwide fail-back
US20150058558A1 (en) Multi-path management
CN102810111B (zh) 一种保持Oracle数据库服务高可用的实现方法和系统
US20070050579A1 (en) Method and apparatus for synchronizing an industrial controller with a redundant controller
US6070251A (en) Method and apparatus for high availability and caching data storage devices
US8578202B2 (en) System and method for providing high availability for distributed application
CN105335448A (zh) 基于分布式环境的数据存储及处理系统
US12045137B2 (en) Data backup method, apparatus, and system
CN108255576A (zh) 虚拟机热迁移异常处理方法、装置和存储介质
CN105635310A (zh) 一种存储资源的访问方法及装置
CN107864209B (zh) 数据写入的方法、装置及服务器
US20190334810A1 (en) Rebuilt flow events
US11372886B2 (en) Method to dynamically detect objects out of sync in an active mirroring environment
US20100235549A1 (en) Computer and input/output control method
CN107291575B (zh) 一种数据中心故障时的处理方法和设备
CN105959128A (zh) 故障处理方法、装置以及网络设备
US10367887B2 (en) Data storage system and data storage method thereof
CN101714064A (zh) 数据存取方法及服务器
CN107592260B (zh) 基于快速重路由的vpws bypass保护倒换方法及系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1222010

Country of ref document: HK

RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20160427

REG Reference to a national code

Ref country code: HK

Ref legal event code: WD

Ref document number: 1222010

Country of ref document: HK