数据库切换方法、装置、设备及存储介质与流程

文档序号:30560983发布日期:2022-06-29 03:46阅读:68来源:国知局
数据库切换方法、装置、设备及存储介质与流程

1.本发明涉及计算机技术领域,尤其涉及一种数据库切换方法、装置、设备及存储介质。


背景技术:

2.现如今,对oracle rac此类集群数据库(不仅限于oracle rac,达梦的集群数据库也属于此类数据库)做应用级业务容灾的时候,常用的方法是通过oracle data guard、oracle golden gate来进行容灾。但是,不管使用oracle data guard还是oracle golden gate,在做业务切换或回切的时候,需要大量的人工操作与配置,不仅难度大,而且容易出错,使用起来相当困难,使用体验相当不好,水平稍微弱一点的数据库管理员都难以顺利操作,对业务的连续性影响很大。
3.上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。


技术实现要素:

4.本发明的主要目的在于提供一种数据库切换方法、装置、设备及存储介质,旨在解决现有技术对数据库进行业务切换或回切时操作复杂,实现困难的技术问题。
5.为实现上述目的,本发明提供了一种数据库切换方法,所述方法包括以下步骤:在检测到主数据库的业务异常时,读取所述主数据库中的访问ip配置信息;关停所述主数据库中的业务服务以及访问配置服务;在关停完成时,根据所述访问ip配置信息对备数据库进行访问ip配置,以将所述主数据库的业务访问切换至所述备数据库。
6.可选的,所述在关停完成时,根据所述访问ip配置信息对备数据库进行访问ip配置,以将所述主数据库的业务访问切换至所述备数据库的步骤之后,还包括:在所述主数据库修复完毕时,重启所述主数据库的业务服务,在所述主数据库中设置临时访问ip,并启动第一类型访问配置服务;基于所述临时访问ip将所述备数据库中的数据同步至所述主数据库中;在同步完成时,删除所述备数据库中的访问ip配置,并根据所述访问ip配置信息对所述主数据库进行访问ip配置;在访问ip配置完成时,将所述主数据库中的第二类型访问配置服务启动,以将业务访问切换回所述主数据库。
7.可选的,所述在所述主数据库修复完毕时,重启所述主数据库的业务服务,在所述主数据库中设置临时访问ip,并启动第一类型访问配置服务的步骤,包括:在所述主数据库修复完毕时,将所述主数据库中的监听ip地址修改为预设ip地址;在修改完成时,重启所述主数据库的业务服务;
若所述业务服务重启完毕,则在所述主数据库中设置临时访问ip,并启动所述主数据库的第一类型访问配置服务。
8.可选的,所述在所述主数据库修复完毕时,重启所述主数据库的业务服务,在所述主数据库中设置临时访问ip,并启动第一类型访问配置服务的步骤,包括:在所述主数据库修复完毕时,重启所述主数据库的业务服务;若所述业务服务重启完毕,则读取所述主数据库中的访问配置文件;检测所述访问配置文件中是否存在目标类型配置;若存在,则将所述目标类型配置从所述访问配置文件中移除;在移除完成时,将临时访问ip写入所述访问配置文件中,并启动所述主数据库的第一类型访问配置服务。
9.可选的,所述在同步完成时,删除所述备数据库中的访问ip配置,并根据所述访问ip配置信息对所述主数据库进行访问ip配置的步骤,包括:在同步完成时,删除所述备数据库中的访问ip配置,并根据所述访问ip配置信息生成第一类型配置信息及第二类型配置信息;将所述第一类型配置信息及所述第二类型配置信息写入所述主数据库的访问配置文件中,以实现对所述主数据库进行访问ip配置;通过配置操作系统ip地址方法令访问ip生效。
10.可选的,所述在检测到主数据库的业务异常时,读取所述主数据库中的访问ip配置信息的步骤之前,还包括:将备数据库中的监听ip地址修改为预设ip地址;若修改完成,则对所述备数据库进行重启;在对所述备数据库的重启完毕时,通过预设同步接口将主数据库中的数据同步至所述备数据库中。
11.可选的,所述将备数据库中的监听ip地址修改为预设ip地址的步骤,包括:根据预设文件路径生成文件删除指令;执行所述文件删除指令,将所述备数据库中的监听配置文件删除;在删除完成时,在所述监听配置文件的目录中创建与所述监听配置文件同名的同名配置文件;根据预设ip地址生成监听配置信息,并将所述监听配置信息写入所述同名配置文件中,以实现将备数据库中的监听ip地址修改为预设ip地址。
12.此外,为实现上述目的,本发明还提出一种数据库切换装置,所述数据库切换装置包括以下模块:数据获取模块,用于在检测到主数据库的业务异常时,读取所述主数据库中的访问ip配置信息;服务管理模块,用于关停所述主数据库中的业务服务以及访问配置服务;业务切换模块,用于在关停完成时,根据所述访问ip配置信息对备数据库进行访问ip配置,以将所述主数据库的业务访问切换至所述备数据库。
13.此外,为实现上述目的,本发明还提出一种数据库切换设备,所述数据库切换设备包括:处理器、存储器及存储在所述存储器上并可在所述处理器上运行的数据库切换程序,
所述数据库切换程序被处理器执行时实现如上所述的数据库切换方法的步骤。
14.此外,为实现上述目的,本发明还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有数据库切换程序,所述数据库切换程序执行时实现如上所述的数据库切换方法的步骤。
15.本发明通过在检测到主数据库的业务异常时,读取主数据库中的访问ip配置信息;关停主数据库中的业务服务以及访问配置服务;在关停完成时,根据访问ip配置信息对备数据库进行访问ip配置,以将主数据库的业务访问切换至备数据库。由于在主数据库的业务异常时,直接采用关停主数据库的服务,并根据主数据库中的访问ip配置信息对备数据库进行访问ip配置,使得业务系统的访问请求指向备数据库,在避免争抢ip地址的同时完成了数据库的切换,整体实现无需进行复杂配置及操作流程,简单可靠。
附图说明
16.图1是本发明实施例方案涉及的硬件运行环境的电子设备的结构示意图;图2为本发明数据库切换方法第一实施例的流程示意图;图3为本发明数据库切换方法第二实施例的流程示意图;图4为本发明数据库切换装置第一实施例的结构框图。
17.本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
18.应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
19.参照图1,图1为本发明实施例方案涉及的硬件运行环境的数据库切换设备结构示意图。
20.如图1所示,该电子设备可以包括:处理器1001,例如中央处理器(central processing unit,cpu),通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(display)、输入单元比如键盘(keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如无线保真(wireless-fidelity,wi-fi)接口)。存储器1005可以是高速的随机存取存储器(random access memory,ram),也可以是稳定的非易失性存储器(non-volatile memory,nvm),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
21.本领域技术人员可以理解,图1中示出的结构并不构成对电子设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
22.如图1所示,作为一种存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及数据库切换程序。
23.在图1所示的电子设备中,网络接口1004主要用于与网络服务器进行数据通信;用户接口1003主要用于与用户进行数据交互;本发明电子设备中的处理器1001、存储器1005可以设置在数据库切换设备中,所述电子设备通过处理器1001调用存储器1005中存储的数据库切换程序,并执行本发明实施例提供的数据库切换方法。
24.本发明实施例提供了一种数据库切换方法,参照图2,图2为本发明一种数据库切
换方法第一实施例的流程示意图。
25.本实施例中,所述数据库切换方法包括以下步骤:步骤s10:在检测到主数据库的业务异常时,读取所述主数据库中的访问ip配置信息。
26.需要说明的是,本实施例的执行主体可以是所述数据库切换设备,所述数据库切换设备可以是个人电脑、服务器等电子设备,还可以是其他可实现相同或相似功能的设备,本实施例对此不加以限制,在本实施例及下述各实施例中,以数据库切换设备为例对本发明数据库切换方法进行说明。
27.需要说明的是,主数据库可以是集群数据库(如oracle数据库),访问ip配置信息可以包括集群数据库的vip配置及scan ip配置。其中,vip可以是集群数据库(如oracle数据库)的virtual ip地址,集群中每个节点具有一个,应用程序可以通过该ip地址访问数据库业务,当该ip对应的主机发生故障的时候,数据库集群的集群软件会把该ip地址漂移到集群的其他主机上,保证数据库的业务可以正常访问。scan ip(single client access name ip)的功能等同于vip,通过scan ip访问集群数据库的数据库业务的时候可以实现负载均衡,只有部分版本的集群数据库支持scan ip,早期的版本不支持,scan ip也是由集群数据库的集群软件负责管理。
28.在具体实现中,读取所述主数据库中的访问ip配置信息可以是获取主数据库中各节点的vip配置,以及主数据库中的scan ip配置,将读取到的vip配置及scan ip配置组合为访问ip配置信息。其中,由于主数据库可能出现故障无法正常访问,此时可以直接从主数据库所在的服务器中获取相关的配置文件(当然,也可以在主数据库出故障之前预先获取),从配置文件中提取访问ip配置信息。
29.在实际使用中,在检测到主数据库出现故障或检测到启动容灾演练时,可以判定检测到主数据库的业务异常。
30.进一步的,缩短后续业务切换的时间,保证业务的连续性,本实施例所述步骤s10之前,还可以包括:将备数据库中的监听ip地址修改为预设ip地址;若修改完成,则对所述备数据库进行重启;在对所述备数据库的重启完毕时,通过预设同步接口将主数据库中的数据同步至所述备数据库中。
31.需要说明的是,预设ip地址可以是“0.0.0.0”,设定该监听地址之后,应用程序可以通过该主机的任意ip地址访问数据库业务。
32.需要说明的是,通常情况下,数据库的业务只会监听特定的ip地址,假设备库的主机ip地址是172.16.1.222,那么默认的情况下,备端数据库只会监听172.16.1.222这个ip地址。这个情况下,即使把scan ip、vip都配置到了备库的主机上,业务系统也无法通过scan ip、vip访问备数据库的服务。为了保证业务切换之后,业务系统能够通过scan ip、vip访问备库的业务,需要在把主库的数据同步数据到备库之前,先修改备数据库的监听ip地址,并将备数据库重启,使得备数据库监听0.0.0.0这个ip地址,然后再通过预设同步接口将主数据库中的数据同步至备数据库中,令备数据库中的数据与主数据库同步,这样当主数据库出现异常时,仅需把主数据库中的scan ip、vip都配置到备数据库的主机上,业务
系统就可以通过scan ip、vip访问备数据库的服务,而不必在scan ip、vip配置完成之后再修改备数据库的监听ip地址和重启监听服务,缩短业务切换的时间,保证业务的连续性。
33.在具体实现中,由于针对不同的场景,不同版本的数据库,直接对配置文件进行修改经常会遇到兼容性问题,为了可以简单、快速的完成配置,本实施所述将备数据库中的监听ip地址修改为预设ip地址的步骤,可以包括:根据预设文件路径生成文件删除指令;执行所述文件删除指令,将所述备数据库中的监听配置文件删除;在删除完成时,在所述监听配置文件的目录中创建与所述监听配置文件同名的同名配置文件;根据预设ip地址生成监听配置信息,并将所述监听配置信息写入所述同名配置文件中,以实现将备数据库中的监听ip地址修改为预设ip地址。
34.需要说明的是,预设文件路径可以是监听配置文件所在的路径,可以根据数据库程序的环境变量拼凑出来,该文件一般存放在“$oracle_home/network/admin”目录下。根据预设ip地址生成监听配置信息可以是将预设ip地址填充至预设配置模板中,从而生成监听配置信息,其中,预设配置模板可以由软件开发人员根据数据库版本预先进行设置。
35.可以理解的是,将原有的监听配置文件删除,然后在其同级目录下创建一同名配置文件,然后再在同名配置文件中写入监听配置信息,可以避免对原有的监听配置文件进行修改,从而避免了兼容性问题,可以适用于不同版本的数据库及不同架构的操作系统,通用性强,兼容性好。
36.例如:假设预设ip地址为“0.0.0.0”,则此时生成的监听配置信息为“listener=(description_list=(description=(address=(protocol=tcp)(host=0.0.0.0)(port=1521))))”,预设文件路径为“$oracle_home/network/admin/listener.ora”,则此时根据生成的文件删除指令会将“$oracle_home/network/admin/”目录下名为“listener.ora”的文件删除,然后创建一个名称为“listener.ora”的同名配置文件,然后向其中写入生成的监听配置信息,则此时就实现了将备数据库中的监听ip地址修改为预设ip地址。
37.步骤s20:关停所述主数据库中的业务服务以及访问配置服务。
38.需要说明的是,业务服务可以包括数据库服务、监听(listener)服务等服务。访问配置服务可以包括:vip对应的服务以及scan ip对应的服务。
39.需要说明的是,当主数据库业务出现故障的时候(或者启动业务容灾演练时),需要把数据库业务切换到备数据库,也就是把scan ip、vip从主数据库移除,然后配置到备数据库主机上。由于scan ip、vip是被oracle集群系统管理的,不能通过普通的删除操作系统ip地址的方法移除这些ip地址。这么做会引发一个问题,如果主数据库的主机发了重启(系统重启之后会自动启动集群服务)或者被误操作手工重启了集群服务,那么集群系统会尝试在主数据库的主机上配置scan ip和vip,导致ip冲突,轻则业务中断,严重的话可能会引发数据脑裂。为了避免此种问题,需要先关停主数据库中的scan ip和vip对应的服务,并将其禁用,以保证scan ip和vip对应的服务不会被误操作启动。
40.在具体实现中,由于若不停止主数据库的业务服务,可能会导致无法禁用scan ip和vip对应的服务,因此,可以先将主数据库中的业务服务关停,然后再将主数据库中的scan ip和vip对应的服务关停,并禁用。
41.在实际使用中,关停主数据库中的业务服务以及访问配置服务的具体操作流程可以是:a、把主数据库中所有节点的数据库服务关停(可用srvctl stop database命令),否则的话,可能无法禁用相关服务,导致后续操作失败。
42.b、把主数据库中所有节点的监听listener服务关闭(可用srvctl stop listener),否则的话,也可能导致后续操作的失败。
43.c、把主数据库中scan ip对应的服务(scan_listener和scan这2个服务)禁用掉(可用srvctl disable命令)。
44.d、把/etc/hosts中scan ip对应的条目删掉,这样即使有人误操作把禁用的服务再次启用了,也无法正常启动scan ip对应的服务(因为配置信息有缺失,会启动失败),避免争抢scan ip地址的风险。
45.e、用相同的方法禁用vip的服务,以及把/etc/hosts中vip对应的条目删掉,避免争抢vip地址的风险。
46.步骤s30:在关停完成时,根据所述访问ip配置信息对备数据库进行访问ip配置,以将所述主数据库的业务访问切换至所述备数据库。
47.需要说明的是,根据访问ip配置信息对备数据库进行访问可以是从访问ip配置信息中读取vip配置及scan ip配置,然后根据读取到的vip配置及scan ip配置在备数据库中配置vip和scan ip,而由于vip和scan ip均被配置至备数据库中,则业务系统的业务访问会直接被指向备数据库,从而实现了将主数据库的业务访问切换至备数据库,即实现了数据库切换。
48.本实施例通过在检测到主数据库的业务异常时,读取主数据库中的访问ip配置信息;关停主数据库中的业务服务以及访问配置服务;在关停完成时,根据访问ip配置信息对备数据库进行访问ip配置,以将主数据库的业务访问切换至备数据库。由于在主数据库的业务异常时,直接采用关停主数据库的服务,并根据主数据库中的访问ip配置信息对备数据库进行访问ip配置,使得业务系统的访问请求指向备数据库,在避免争抢ip地址的同时完成了数据库的切换,整体实现无需进行复杂配置及操作流程,简单可靠。
49.参考图3,图3为本发明一种数据库切换方法第二实施例的流程示意图。
50.基于上述第一实施例,本实施例数据库切换方法在所述步骤s30之后,还包括:步骤s40:在所述主数据库修复完毕时,重启所述主数据库的业务服务,在所述主数据库中设置临时访问ip,并启动第一类型访问配置服务。
51.需要说明的是,第一类型访问配置服务可以是vip对应的服务。主数据库相比备数据库一般配置更好、性能更高,因此,在主数据库修复完成时,一般会将业务访问切换回主数据库,但是,由于vip配置已经配置在了备数据库中,主数据库在没有配置vip的情况下,无法正常启动数据库业务,以从备数据库中接收数据实现数据同步。因此,此时可以在主数据库中设置一临时vip,即临时访问ip。
52.而由于集群和数据库关联的服务很多,并且相互依赖,如果某一个不正常,会出现连锁反应,导致后续其他的服务也不正常。此外,由于主库的业务切换到备库之后,主库上的很多服务都处于不正常状态。这个情况下尝试配置临时vip和启动服务,可能会成功,也可能会失败,还有可能会遇到各种未知的问题,为了规避这些问题,需要先把整个集群数据
库的业务服务停掉,再重新启动业务服务,待集群数据库中的服务进入一个可预知的状态,再配置临时访问ip。
53.可以理解的是,由于此前已经将主数据库中的vip服务关停并禁用,此时仅仅配置临时访问ip并不会生效,因此,在配置好临时访问ip之后,需要将vip对应的服务(即第一类型访问配置服务)启动。
54.进一步的,为了保证主数据库回切之后可正常访问,本实施例所述步骤s40,可以包括:在所述主数据库修复完毕时,将所述主数据库中的监听ip地址修改为预设ip地址;在修改完成时,重启所述主数据库的业务服务;若所述业务服务重启完毕,则在所述主数据库中设置临时访问ip,并启动所述主数据库的第一类型访问配置服务。
55.需要说明的是,默认情况下数据库只会监听特定的ip地址,主数据库也不例外,这会影响数据库业务回切之后业务的访问,所以在启动主数据库的业务服务之前,需要先修改监听器的配置文件,将主数据库中的监听ip地址修改为预设ip地址,让数据库业务监听预设ip地址,然后再重启主数据库中的业务服务,从而保证主数据库回切之后可以通过数据库主机上任意的ip地址正常访问数据库业务。
56.进一步的,为了避免出现业务中断或数据脑裂,本实施例所述步骤s40,可以包括:在所述主数据库修复完毕时,重启所述主数据库的业务服务;若所述业务服务重启完毕,则读取所述主数据库中的访问配置文件;检测所述访问配置文件中是否存在目标类型配置;若存在,则将所述目标类型配置从所述访问配置文件中移除;在移除完成时,将临时访问ip写入所述访问配置文件中,并启动所述主数据库的第一类型访问配置服务。
57.需要说明的是,目标类型配置可以是scan ip对应的配置条目。此时scan ip配置还存在于备数据库中,则此时在主数据库的业务服务启动之后,可以先把临时vip配置到/etc/hosts中,同时还需要检查配置文件是否存在scan ip配置条目,如果存在的话需要先删掉,否则主数据库中的scan ip服务一旦被误启动,会出现ip冲突,可能会导致业务中断或者数据脑裂,造成严重的后果。因此,可以在业务服务重启完毕时,读取主数据库中的访问配置文件,然后检查访问配置文件中是否存在目标类型配置,若存在,则表示访问配置文件中存在scan ip配置条目,此时可以将目标类型配置从配置文件中移除,然后在移除完成时,再将临时访问ip写入所述访问配置文件中,然后启动主数据库中各节点的第一类型访问配置服务(即vip对应的服务),令写入的临时访问ip生效。
58.其中,若此前将主数据库的业务访问切换至备数据库时不是禁用vip服务,而是删除vip服务,则还需要添加vip服务,然后再启动。
59.步骤s50:基于所述临时访问ip将所述备数据库中的数据同步至所述主数据库中。
60.可以理解的是,主数据库在配置了临时访问ip之后,就可以正常启动数据服务,因此,可以接收备数据库的反向同步数据,将备数据库中的数据同步至主数据库中。
61.步骤s60:在同步完成时,删除所述备数据库中的访问ip配置,并根据所述访问ip
配置信息对所述主数据库进行访问ip配置。
62.可以理解的是,待备数据库的数据完全同步回主数据库,则此时可以将业务访问从备数据库回切至主数据库,则此时需要将此前配置至备数据库的vip配置及scan ip配置均配置回主数据库中,而配置vip需要重启集群服务、数据库服务,引起业务中断,影响业务的连续性,则此时为了实现不中断业务实现业务回切,本技术方案将vip配置拆分为两个阶段,分别是修改集群配置和重启集群服务(本技术方案通过只执行修改集群配置操作,不执行重启集群服务操作,实现业务不中断回切),此时本实施例所述步骤s60,可以包括:在同步完成时,删除所述备数据库中的访问ip配置,并根据所述访问ip配置信息生成第一类型配置信息及第二类型配置信息;将所述第一类型配置信息及所述第二类型配置信息写入所述主数据库的访问配置文件中,以实现对所述主数据库进行访问ip配置;通过配置操作系统ip地址方法令访问ip生效。
63.需要说明的是,第一类型配置信息可以是vip配置信息,第二类型配置信息可以是scan ip配置信息。将第一类型配置信息及第二类型配置信息写入所述主数据库的访问配置文件中可以是将第一类型配置信息写入访问配置文件中,对访问配置文件中的vip配置进行覆盖,根据第二类型配置信息对访问配置文件中的scan ip条目进行修正。
64.需要说明的是,如果只是修改vip配置,但是没有重启集群服务,主数据库中各主机操作系统上原有的临时vip不会被移除,业务vip(即上述访问ip配置对应的vip地址)也不会被设置到操作系统上,业务系统无法通过业务vip访问数据库服务。临时访问ip没被移除,不会影响主数据库业务服务的正常使用,不需要额外处理;业务vip没有配置的问题,可以通过配置操作系统ip地址的方法(可以使用网络配置命令,也可以使用操作系统提供的系统调用),把业务vip配置到对应主机的操作系统上,这样业务系统就可以通过业务vip访问数据库服务了。由于业务vip配置已经写入到了集群配置文件中,已经覆盖了临时vip的配置,当集群中某个主机出现故障,集群配置文件中的业务vip会被集群系统自动漂移到集群的其他主机上,保证业务系统通过该业务vip也能正常访问数据库服务,满足了集群业务故障自动转移(failover)的特性,保证了业务系统的连续性。
65.步骤s70:在访问ip配置完成时,将所述主数据库中的第二类型访问配置服务启动,以将业务访问切换回所述主数据库。
66.需要说明的是,第二类型访问配置服务可以是scan ip对应的服务。
67.可以理解的是,在将主数据库的业务访问切换至备数据库的时候,只是禁用了scan ip的服务,回切的时候相对比较简单,只需要在/etc/hosts中修正scan ip条目之后,启用(enable)和启动(start)scan ip对应的服务(scan和scan_listener服务),则此时业务系统可以通过scan ip访问主数据库的业务服务,也就完成scan ip的回切,简单方便,兼容性好。
68.本实施例通过在所述主数据库修复完毕时,重启所述主数据库的业务服务,在所述主数据库中设置临时访问ip,并启动第一类型访问配置服务;基于所述临时访问ip将所述备数据库中的数据同步至所述主数据库中;在同步完成时,删除所述备数据库中的访问ip配置,并根据所述访问ip配置信息对所述主数据库进行访问ip配置;在访问ip配置完成时,将所述主数据库中的第二类型访问配置服务启动,以将业务访问切换回所述主数据库。
由于可先通过设置临时访问ip启动主数据库的业务服务,使得可以在不影响备数据库业务服务的情况下完成数据同步,并在同步完成之后采用分阶段配置的方式设置vip,使得在配置vip时无需重启主数据库的业务服务,既实现了业务访问的快速回切,又保证了业务连续性,并且具备了集群业务故障自动转移(failover)的特性。
69.此外,本发明实施例还提出一种存储介质,所述存储介质上存储有数据库切换程序,所述数据库切换程序被处理器执行时实现如上文所述的数据库切换方法的步骤。
70.参照图4,图4为本发明数据库切换装置第一实施例的结构框图。
71.如图4所示,本发明实施例提出的数据库切换装置包括:数据获取模块10,用于在检测到主数据库的业务异常时,读取所述主数据库中的访问ip配置信息;服务管理模块20,用于关停所述主数据库中的业务服务以及访问配置服务;业务切换模块30,用于在关停完成时,根据所述访问ip配置信息对备数据库进行访问ip配置,以将所述主数据库的业务访问切换至所述备数据库。
72.本实施例通过在检测到主数据库的业务异常时,读取主数据库中的访问ip配置信息;关停主数据库中的业务服务以及访问配置服务;在关停完成时,根据访问ip配置信息对备数据库进行访问ip配置,以将主数据库的业务访问切换至备数据库。由于在主数据库的业务异常时,直接采用关停主数据库的服务,并根据主数据库中的访问ip配置信息对备数据库进行访问ip配置,使得业务系统的访问请求指向备数据库,在避免争抢ip地址的同时完成了数据库的切换,整体实现无需进行复杂配置及操作流程,简单可靠。
73.进一步的,所述业务切换模块30,还用于在所述主数据库修复完毕时,重启所述主数据库的业务服务,在所述主数据库中设置临时访问ip,并启动第一类型访问配置服务;基于所述临时访问ip将所述备数据库中的数据同步至所述主数据库中;在同步完成时,删除所述备数据库中的访问ip配置,并根据所述访问ip配置信息对所述主数据库进行访问ip配置;在访问ip配置完成时,将所述主数据库中的第二类型访问配置服务启动,以将业务访问切换回所述主数据库。
74.进一步的,所述业务切换模块30,还用于在所述主数据库修复完毕时,将所述主数据库中的监听ip地址修改为预设ip地址;在修改完成时,重启所述主数据库的业务服务;若所述业务服务重启完毕,则在所述主数据库中设置临时访问ip,并启动所述主数据库的第一类型访问配置服务。
75.进一步的,所述业务切换模块30,还用于在所述主数据库修复完毕时,重启所述主数据库的业务服务;若所述业务服务重启完毕,则读取所述主数据库中的访问配置文件;检测所述访问配置文件中是否存在目标类型配置;若存在,则将所述目标类型配置从所述访问配置文件中移除;在移除完成时,将临时访问ip写入所述访问配置文件中,并启动所述主数据库的第一类型访问配置服务。
76.进一步的,所述业务切换模块30,还用于在同步完成时,删除所述备数据库中的访问ip配置,并根据所述访问ip配置信息生成第一类型配置信息及第二类型配置信息;将所述第一类型配置信息及所述第二类型配置信息写入所述主数据库的访问配置文件中,以实现对所述主数据库进行访问ip配置;通过配置操作系统ip地址方法令访问ip生效。
77.进一步的,所述数据获取模块,还用于将备数据库中的监听ip地址修改为预设ip
地址;若修改完成,则对所述备数据库进行重启;在对所述备数据库的重启完毕时,通过预设同步接口将主数据库中的数据同步至所述备数据库中。
78.进一步的,所述数据获取模块,还用于根据预设文件路径生成文件删除指令;执行所述文件删除指令,将所述备数据库中的监听配置文件删除;在删除完成时,在所述监听配置文件的目录中创建与所述监听配置文件同名的同名配置文件;根据预设ip地址生成监听配置信息,并将所述监听配置信息写入所述同名配置文件中,以实现将备数据库中的监听ip地址修改为预设ip地址。
79.应当理解的是,以上仅为举例说明,对本发明的技术方案并不构成任何限定,在具体应用中,本领域的技术人员可以根据需要进行设置,本发明对此不做限制。
80.需要说明的是,以上所描述的工作流程仅仅是示意性的,并不对本发明的保护范围构成限定,在实际应用中,本领域的技术人员可以根据实际的需要选择其中的部分或者全部来实现本实施例方案的目的,此处不做限制。
81.另外,未在本实施例中详尽描述的技术细节,可参见本发明任意实施例所提供的数据库切换方法,此处不再赘述。
82.此外,需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
83.上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
84.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如只读存储器(read only memory,rom)/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
85.以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1