一种数据库的切换方法、主服务器以及从服务器与流程

文档序号:11519468阅读:284来源:国知局
一种数据库的切换方法、主服务器以及从服务器与流程

本发明实施例涉及通信领域,尤其涉及一种数据库的切换方法、主服务器以及从服务器。



背景技术:

随着信息化技术的快速发展,数据呈现爆炸式增长,随之用于管理数据的数据库就越来越重要了。当数据库出现异常时,需要维护数据导致数据停止工作,甚至由于数据库异常导致数据库中数据丢失,如此可能会给企业和用户带来难以估计的经济损失。因此,采取适当的措施来确保数据库集群的高可用性是非常必要的,这里高可用性是指通过减少因日常维护操作或突发异常导致数据库异常的现象,以提高系统的高可用性。例如,当某一数据库发生异常时,可以将与该数据库相关的请求转移到其他可以处于正常状态的数据库上,这样可以保证公司和企业的核心业务系统安全、高效的运行。

现有技术中解决方法是针对数据库集群中主服务器的节点选取,或是相同数据和业务处理中多个主服务器界节点的选取,但是如果数据库异常是由于高频交易或者大量的数据处理导致的,在切换到正常工作的数据库后仍会出现数据库异常的问题,如此,需要不停的切换数据库,而且需要不停的维护出现异常的数据库,严重影响到系统的运行效率和安全性。



技术实现要素:

本发明实施例提供一种数据库的切换方法、主服务器以及从服务器,用于通过简单的配置实现数据库组之间的独立监控与切换,有助于系统的的高可用性。

本发明实施例提供一种数据库的切换方法,包括:从服务器获取至少两组数据库中每组数据库中的每个数据库的状态信息;其中,所述每组数据库包括一个主数据库和至少一个备数据库,所述每组数据库对应四种功能类型中任一种或者任多种;所述四种功能类型包括增加功能、删除功能、更改功能以及查询功能;所述状态信息包括正常状态和异常状态;所述从服务器向主服务器发送所述每个数据库的信息,所述每个数据库的信息用于使所述主服务器根据所述每个数据库的状态信息确定数据库的组标识相同的数据库之间是否进行切换;其中,所述每个数据库的信息包括数据库的标识、数据库的组标识以及数据库的状态信息。

可选地,所述查询功能对应至少一组数据库;所述至少一组数据库中的每组数据库分别对应至少一种业务类型。

可选地,所述至少一组数据库中的每组数据库分别对应至少一种业务类型,包括:交易频率大于频率阈值的业务类型对应一组数据库;和/或;交易数量大于数量阈值的业务类型对应一组数据库。

可选地,所述从服务器获取至少两组数据库中每组数据库中的每个数据库的状态信息之前,还包括:所述从服务器周期性探测所述至少两组数据库中每组数据库中的每个数据库的状态信息;所述从服务器根据所述每个数据库的状态信息对所述数据库的历史状态信息进行更新操作;所述从服务器获取至少两组数据库中每组数据库中的每个数据库的状态信息,包括:所述从服务器获取更新后的每个数据库的状态信息,所述跟新后的每个数据库的状态信息是所述从服务器根据所述每个数据库的状态信息对所述数据库的历史状态信息进行更新操作得到的。

可选地,所述从服务器周期性探测所述至少两组数据库中每组数据库中的每个数据库的状态信息,包括:所述从服务器若确定上一次更新操作的总时长不大于第一预设时长,则从上一次更新操作起始,经过所述第一预设时长后开始探测所述至少两组数据库的每个数据库的状态信息;所述从服务器若确定上一次更新操作的总时长大于第一预设时长,则从上一次更新操作结束后开始探测所述至少两组数据库的每个数据库的状态信息。

本发明实施例提供一种数据库的切换方法,包括:主服务器接收从服务器发送的至少两组数据库中每组数据库中的每个数据库的信息;所述每个数据库的信息包括数据库的标识、数据库的组标识以及数据库的状态信息;

所述主服务器根据所述每个数据库的状态信息确定数据库的组标识相同的数据库之间是否进行切换。

可选地,所述主服务器根据所述每个数据库的状态信息确定数据库的组标识相同的数据库之间是否进行切换,包括:所述主服务器在确定所述数据库的组标识相同的数据库中存在至少一个数据库状态信息为正常状态的所述数据库时,则将数据库状态信息为异常状态的数据库切换所述数据库状态为正常状态的数据库。

可选地,所述主服务器接收从服务器发送的每个数据库的信息之后,包括:

所述主服务器在确定所述传输每个数据库的信息的时长不大于第二预设时长时,所述主服务器根据所述每个数据库的状态信息确定数据库的组标识相同的数据库之间是否进行切换;所述主服务器在确定所述传输每个数据库的信息的时长大于第二预设时长时,所述主服务器向所述从服务器发送获取每个数据库的信息的请求。

本发明实施例提供一种数据库的切换的从服务器,包括:获取单元,用于获取至少两组数据库中每组数据库中的每个数据库的状态信息;其中,所述每组数据库包括一个主数据库和至少一个备数据库,所述每组数据库对应四种功能类型中任一种或者任多种;所述四种功能类型包括增加功能、删除功能、更改功能以及查询功能;所述状态信息包括正常状态和异常状态;发送单元,用于向主服务器发送所述每个数据库的信息,所述每个数据库的信息用于使所述主服务器根据所述每个数据库的状态信息确定数据库的组标识相同的数据库之间是否进行切换;其中,所述每个数据库的信息包括数据库的标识、数据库的组标识以及数据库的状态信息。

可选地,所述查询功能对应至少一组数据库;所述至少一组数据库中的每组数据库分别对应至少一种业务类型。

可选地,所述至少一组数据库中的每组数据库分别对应至少一种业务类型,包括:交易频率大于频率阈值的业务类型对应一组数据库;和/或;交易数量大于数量阈值的业务类型对应一组数据库。

可选地,还包括探测单元,用于:周期性探测所述至少两组数据库中每组数据库中的每个数据库的状态信息;还包括更新单元,用于:所根据所述每个数据库的状态信息对所述数据库的历史状态信息进行更新操作;所述获取单元,用于:所获取更新后的每个数据库的状态信息,所述跟新后的每个数据库的状态信息是所述更新单元根据所述每个数据库的状态信息对所述数据库的历史状态信息进行更新操作得到的。

可选地,所述探测单元,用于:若确定上一次更新操作的总时长不大于第一预设时长,则从上一次更新操作起始,经过所述第一预设时长后开始探测所述至少两组数据库的每个数据库的状态信息;所述从服务器若确定上一次更新操作的总时长大于第一预设时长,则从上一次更新操作结束后开始探测所述至少两组数据库的每个数据库的状态信息。

本发明实施例提供一种数据库切换的主服务器,包括:接收单元,用于接收从服务器发送的至少两组数据库中每组数据库中的每个数据库的信息;所述每个数据库的信息包括数据库的标识、数据库的组标识以及数据库的状态信息;

所决策单元,用于根据所述每个数据库的状态信息确定数据库的组标识相同的数据库之间是否进行切换。

可选地,所述决策单元,用于:所在确定所述数据库的组标识相同的数据库中存在至少一个数据库状态信息为正常状态的所述数据库时,则将数据库状态信息为异常状态的数据库切换所述数据库状态为正常状态的数据库。

可选地,所述决策单元,用于:所在确定所述传输每个数据库的信息的时长不大于第二预设时长时,所述决策单元根据所述每个数据库的状态信息确定数据库的组标识相同的数据库之间是否进行切换;所述决策单元在确定所述传输每个数据库的信息的时长大于第二预设时长时,所述决策单元向所述从服务器发送获取每个数据库的信息的请求。

本发明实施例提供一种计算机存储介质,计算机存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述任意可能的实现方式中的方法。

本发明实施例提供一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任意可能的实现方式中的方法。

由于本发明实施例中,从服务器获取至少两组数据库中每组数据库中的每个数据库的状态信息;其中,所述每组数据库包括一个主数据库和至少一个备数据库,所述每组数据库对应四种功能类型中任一种或者任多种;所述四种功能类型包括增加功能、删除功能、更改功能以及查询功能;所述状态信息包括正常状态和异常状态;根据数据库的功能类型分为至少两个数据库组,形成相互独立的至少两组数据库,各每组之间的数据相互独立;将至少两组数据库中的每个组数据库中的每个数据库的信息发送到主服务,主服务器根据每个数据库的状态信息确定在同一组中的数据库之间是否进行切换;如此,相同组标识之间的数据才能进行切换,通过简单的配置实现数据库组之间的独立监控与切换,进而有助于系统的的高可用性。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍。

图1为本发明实施例提供的一种通信系统架构示意图;

图2为本发明实施例提供的一种数据库的切换方法流程示意图;

图3为本发明实施例提供的一种从服务器的结构示意图;

图4为本发明实施例提供的一种主服务器的结构示意图。

具体实施方式

为了使本发明的目的、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

应理解,本发明实施例的技术方案可以应用于各种通信系统,例如:全球移动通讯(globalsystemofmobilecommunication,简称gsm)系统、码分多址(codedivisionmultipleaccess,简称cdma)系统、宽带码分多址(widebandcodedivisionmultipleaccess,简称wcdma)通用分组无线业务(generalpacketradioservice,简称gprs)系统、长期演进(longtermevolution,简称lte)系统、lte频分双工(frequencydivisionduplex,简称fdd)系统、lte时分双工(timedivisionduplex,简称tdd)、通用移动通信系统(universalmobiletelecommunicationsystem,简称umts)、全球互联微波接入(worldwideinteroperabilityformicrowaveaccess,简称wimax)通信系统,以及未来的5g通信系统等。

图1示出了应用本发明实施例的一种通信系统的构架示意图。如图1所示,该通信系统包括数据库集群101、从服务器102、主服务器103。主服务器与从服务器通过无线连接或有线连接或其它方式连接,从服务器与数据库集群中的每个数据库通过无线连接或有线连接或其它方式连接。

数据库集群101包括至少两组数据库,数据库组104和数据库组105,数据库组104和105分别包括一个主数据库和至少一个备数据库,数据库组104包括主数据库104a和备数据库104b,数据库组105包括主数据库105a和备数据库105b。主数据库和备数据库之间采用psy进行数据同步,确保主数据库和备数据库中数据的同步。每组数据库对应四种功能类型中任一种或者任多种;四种功能类型包括增加功能、删除功能、更改功能以及查询功能;比如该数据库集群包括两组数据库104和105,这两组数据库分别是:查询功能对应一组数据库104,增加功能、删除功能、更改功能对应另一组数据库105;其中,每种功能类型的数据库对应至少一组数据,查询功能对应至少一组数据库;至少一组数据库中的每组数据库分别对应至少一种业务类型,其中业务类型包括:取现、消费、查询余额等。

从服务器102上部署slave模块,slave模块包括数据库探测进程hcs_db106a~hcs_db106d、数据库组监控进程hcs_mon_agent107a~hcs_mon_agent107b以及数据库的信息发送进程udp_send108;数据库探测进程hcs_db106a~hcs_db106d用于探测与该从服务器连接的所有数据库的状态信息,每一个数据对应启动一个数据库探测进程hcs_db用来探测该数据的状态信息;即在该系统中数据库探测进程hcs_db106a用于探测数据库104a的数据库状态信息;hcs_db106b用于探测数据库104b的数据库状态信息、hcs_db106c用于探测数据库105a的数据库状态信息,hcs_db106d用于探测数据库105b的数据库状态信息;每一组数据库启动一个数据库组监控进程hcs_mon_agent来获取每组的数据库的信息,即hcs_mon_agent107a用于获取数据库组104的数据库信息,hcs_mon_agent107b用于获取数据库组105的数据库信息;数据库的信息发送进程udp_send108用来向主服务器103发送数据库组监控进程hcs_mon_agent107a~hcs_mon_agent107b获取的每组数据库的信息。

主服务器103上部署数据库监控与切换master模块,数据库监控与切换master模块包括接收进程infcollection109和决策进程infdecision110。接收进程infcollection109用于接收从服务器发送的数据库的信息;决策进程infdecision110用于根据接收到的从服务器发送的数据库的信息,确定数据库是否需要切换。

基于图1所示的系统架构,图2示例性示出了本发明实施例提供的一种数据库的切换方法流程示意图,如图2所示,本发明实施例提供的数据库切换方法,包括以下步骤:

步骤s201,从服务器获取至少两组数据库中每组数据库中的每个数据库的状态信息;其中,每组数据库包括一个主数据库和至少一个备数据库,每组数据库对应四种功能类型中任一种或者任多种;四种功能类型包括增加功能、删除功能、更改功能以及查询功能;状态信息包括正常状态和异常状态;

步骤s202,从服务器向主服务器发送每个数据库的信息,其中,每个数据库的信息包括数据库的标识、数据库的组标识以及数据库的状态信息;

步骤s203,主服务器接收从服务器发送的至少两组数据库中每组数据库中的每个数据库的信息;

步骤s204,主服务器根据每个数据库的状态信息确定数据库的组标识相同的数据库之间是否进行切换。

由于本发明实施例中,从服务器获取至少两组数据库中每组数据库中的每个数据库的状态信息;其中,每组数据库包括一个主数据库和至少一个备数据库,每组数据库对应四种功能类型中任一种或者任多种;四种功能类型包括增加功能、删除功能、更改功能以及查询功能;状态信息包括正常状态和异常状态;根据数据库的功能类型分为至少两个数据库组,形成相互独立的至少两组数据库,各每组之间的数据相互独立;将至少两组数据库中的每个组数据库中的每个数据库的信息发送到主服务,主服务器根据每个数据库的状态信息确定在同一组中的数据库之间是否进行切换;如此,相同组标识之间的数据才能进行切换,可以通过简单的配置实现数据库组之间的独立监控与切换,进而有助于数据库的高可用性。

在本发明实施例中,从服务器获取至少两组数据库中每组数据库中的每个数据库的状态信息,每组数据库对应四种功能类型中任一种或者任多种,四种功能包括增加功能、删除功能、更改功能以及查询功能;其中,数据库的查询功能的使用频率较高。可选地,查询功能对应至少一组数据库;至少一组数据库中的每组数据库分别对应至少一种业务类型。

本发明实施例中,查询功能对应至少一组数据库,增加功能、删除功能和更改功能对应至少另一组数据库;每组数据库对应至少一种业务类型,业务类型包括取现、转账、消费、预授权或者销户结清等;查询功能对应的该组数据库包括至少一组数据库,查询功能对应的该数据库也可以根据业务类型分为多组数据库;可选地,增加功能、删除功能和更改功能对应一组数据库,该组数据库也可以根据业务类型对应一组数据库或者多组数据库。

可选地,查询功能对应至少一组数据库,该至少一组数据库中的每组数据库分别对应至少一种业务类型,包括:交易频率大于频率阈值的业务类型对应一组数据库;和/或;交易数量大于数量阈值的业务类型对应一组数据库。

本发明实施例中,查询功能对应一组数据库,该组数据库中包括一个主数据库和至少一个备数据库。在查询功能对应的该组数据库中,可以继续分为多个组,比如交易频率大于频率阈值的业务类型对应一组数据库,交易频率不大于频率阈值的业务类型对应另一组数据库;或者在查询功能对应的该组数据库中,交易数量大于数量阈值的业务类型对应一组数据库,交易数量不大于数量阈值的业务类型对应另一组数据库;或者在查询功能对应的该组数据库中,交易频率大于频率阈值且交易数量大于数量阈值的业务类型对应一组数据库,其他的对应另一组数据库。

可选地,任一种或者任多种功能类型对应的一组数据库,其中,每组数据库对应至少一种业务类型,根据业务类型可以将任一种或者任多种功能类型对应的该组数据库继续分组,比如交易频率大于频率阈值的业务类型对应一组数据库;和/或;交易数量大于数量阈值的业务类型对应一组数据库。如此,在原通信系统的构建中,可以降低数据库的压力,特别是存在高频交易导致数据库崩溃时,通过分组的方式可以有效解决针对同类大量数据处理的压力问题。

可选地,从服务器获取至少两组数据库中每组数据库中的每个数据库的状态信息之前,还包括:从服务器周期性探测至少两组数据库中每组数据库中的每个数据库的状态信息;从服务器根据每个数据库的状态信息对数据库的历史状态信息进行更新操作;从服务器获取至少两组数据库中每组数据库中的每个数据库的状态信息,包括:从服务器获取更新后的每个数据库的状态信息,跟新后的每个数据库的状态信息是从服务器根据每个数据库的状态信息对数据库的历史状态信息进行更新操作得到的。

在本发明实施例中,从服务器关联有多个数据库,从服务器上的数据库探测进程hcs_db用来周期性探测该从服务器所关联的每个数据的状态信息,假设数据库探测进程hcs_db探测数据库的周期为t,数据库探测进程hcs_db每隔周期t对所关联的数据库进行一次探测,从服务器根据每个数据库的状态信息对数据库的历史状态信息进行更新操作。更新操作需要一定的时间来完成。根据更新操作过程的时间来确定下一次启动数据库探测进程hcs_db的时间。

可选地,从服务器周期性探测至少两组数据库中每组数据库中的每个数据库的状态信息,包括:从服务器若确定上一次更新操作的总时长不大于第一预设时长,则从上一次更新操作起始,经过第一预设时长后开始探测至少两组数据库的每个数据库的状态信息;从服务器若确定上一次更新操作的总时长大于第一预设时长,则从上一次更新操作结束后开始探测至少两组数据库的每个数据库的状态信息。如此,既可以确保数据库探测进程hcs_db能及时探测数据库的状态信息,又可以保证数据库探测进程hcs_db不浪费网络资源。本发明实施例中,第一预设时长可以与周期t相等。

本发明实施例中,从服务器上的数据库探测进程hcs_db进行数据库的探测之后,根据每个数据库的状态信息对数据库的历史状态信息进行更新操作;数据库探测进程hcs_db将数据库的状态信息更新之后,从服务器启动数据库组监控进程hcs_mon_agent,获取更新后的数据库的状态信息。数据库组监控进程hcs_mon_agent确定获取更新后的数据库的状态信息的时间是否大于第三预设时长,其中,第三预设时长可以与周期相同。在确定不大于第三预设时长时,根据获取的每个数据库状态信息对数据库组监控进程hcs_mon_agent中的数据库的历史状态信息进行更新操作;更新完成后进行下一次获取至少两组数据库中每组数据库中的每个数据库的状态信息;根据预设的数据库的标识与数据库组标识的映射关系确定获取的每个数据库对应的数据库组标识。在确定大于第三预设时长时,数据库组监控进程hcs_mon_agent重新获取数据库探测进程hcs_db更新后的数据库状态信息,直到数据库组监控进程hcs_mon_agent确定获取更新后的数据库的状态信息的时间不大于第三预设时长时,根据获取的每个数据库状态信息对数据库组监控进程hcs_mon_agent中的数据库的历史状态信息进行更新操作,休眠t时长之后,下一次获取至少两组数据库中每组数据库中的每个数据库的状态信息。

本发明实施例中,数据库探测进程hcs_db在探测相应的数据状态信息,相应的待更新的数据库状态信息处于保护区域,数据库组监控进程hcs_mon_agent无法读取该保护区域中的数据库状态信息。通过确定获取更新后的数据库的状态信息的时间是否大于第三预设时长,可以及时获取到数据库的状态信息中的最近一次的状态信息。

本发明实施例中,从服务器上的数据库的信息发送进程udp_send将数据库组监控进程hcs_mon_agent中更新后的至少两组数据库中每组数据库中的每个数据库的信息发送到主服务器上,主服务器上的接收进程infcollection接收更新后的至少两组数据库中每组数据库中的每个数据库的信息。

可选地,主服务器接收从服务器发送的每个数据库的信息之后还包括:主服务器判断从服务器发送到主服务器接收过程的时长是否大于第二预设时长,主服务器在确定传输每个数据库的信息的时长不大于第二预设时长时,主服务器根据每个数据库的状态信息确定数据库的组标识相同的数据库之间是否进行切换。主服务器在确定每个数据库的信息的传输每个数据库的信息的时长大于第二预设时长时,主服务器向从服务器发送获取每个数据库的信息的请求。如此,可以防止主服务器和从服务器之间因链路中断造成主服务器获得历史数据库的信息。

本发明实施例中,主服务器接收到从服务器发送的至少两组数据库中每组数据库中的每个数据库的信息且传输的时间小于第二预设时长时,主服务器上的决策进程infdecision每个数据库的状态信息确定数据库的组标识相同的数据库之间是否进行切换。本发明实施例中提供了一种可选地实现方式:主服务器在确定数据库的组标识相同的数据库中存在至少一个数据库状态信息为正常状态的数据库时,则将数据库状态信息为异常状态的数据库切换数据库状态为正常状态的数据库。本发明实施例中通过简单的配置实现了多组数据库的独立监控与切换,并且保证了多组数据库之间互不干扰。在确定数据库状态信息异常时,可以自动切换到该组其他正常状态的数据库上。

本发明实施例中,主服务器判断数据库的组标识相同的数据库中是否存在数据库状态信息为异常状态的数据库,若存在,则在判断组标识相同的数据库中是否存在数据库状态信息为正常状态的数据库,若存在,则将该数据库状态信息为异常的数据库切换到数据库状态信息为正常状态的数据上。若数据库的组标识相同的数据库中不存在异常数据库则不处理;若数据库的组标识相同的数据库中均为异常数据库则也不处理。即数据库的切换只在组内进行,不同组之间不进行切换,如此,可以实现多组数据库之间的独立监控与切换,进而有助于系统的高可用性。

为了便于问题的理解,用一个具体的例子来说明主服务器的切换过程。假设主服务器接收到两组数据库的数据库信息,每个数据库的信息包括数据库的标识、数据库的组标识以及数据库的状态信息;比如组1包括两个数据库,数据库的标识分别为1a和1b,1a表示主数据库,1b表示备数据库,主数据库1a的状态信息为正常状态,备数据库1b的状态信息为异常状态;则将备数据库1b切换到主数据库1a;组2包括两个数据库,数据库的标识分别为2a和2b,2a表示主数据库,2b表示备数据库,主数据库2a的状态信息为异常,备数据库2b的状态为异常;不进行切换。即便组1中有正常状态的数据库也不进行切换操作,不会跨足进行数据库的切换,如此,可以保证多组数据库的高可用的独立监控与切换。

图3示例性示出了本发明实施例提供的一种数据库切换的从服务器的结构示意图。

基于相同构思,本发明实施例提供一种从服务器,如图3所示,从服务器用300包括获取单元301、发送单元302,还包括探测单元303和更新单元304。其中:

获取单元,用于获取至少两组数据库中每组数据库中的每个数据库的状态信息;其中,每组数据库包括一个主数据库和至少一个备数据库,每组数据库对应四种功能类型中任一种或者任多种;四种功能类型包括增加功能、删除功能、更改功能以及查询功能;状态信息包括正常状态和异常状态;发送单元,用于向主服务器发送每个数据库的信息,每个数据库的信息用于使主服务器根据每个数据库的状态信息确定数据库的组标识相同的数据库之间是否进行切换;其中,每个数据库的信息包括数据库的标识、数据库的组标识以及数据库的状态信息。

可选地,查询功能对应至少一组数据库;至少一组数据库中的每组数据库分别对应至少一种业务类型。

可选地,至少一组数据库中的每组数据库分别对应至少一种业务类型,包括:交易频率大于频率阈值的业务类型对应一组数据库;和/或;交易数量大于数量阈值的业务类型对应一组数据库。

可选地,还包括探测单元,用于:周期性探测至少两组数据库中每组数据库中的每个数据库的状态信息;还包括更新单元,用于:所根据每个数据库的状态信息对数据库的历史状态信息进行更新操作;获取单元,用于:所获取更新后的每个数据库的状态信息,跟新后的每个数据库的状态信息是更新单元根据每个数据库的状态信息对数据库的历史状态信息进行更新操作得到的。

可选地,探测单元,用于:若确定上一次更新操作的总时长不大于第一预设时长,则从上一次更新操作起始,经过第一预设时长后开始探测至少两组数据库的每个数据库的状态信息;从服务器若确定上一次更新操作的总时长大于第一预设时长,则从上一次更新操作结束后开始探测至少两组数据库的每个数据库的状态信息。

从上述内容可以看出:由于本发明实施例中,从服务器获取至少两组数据库中每组数据库中的每个数据库的状态信息;其中,每组数据库包括一个主数据库和至少一个备数据库,每组数据库对应四种功能类型中任一种或者任多种;四种功能类型包括增加功能、删除功能、更改功能以及查询功能;状态信息包括正常状态和异常状态;根据数据库的功能类型分为至少两个数据库组,形成相互独立的至少两组数据库,各每组之间的数据相互独立;将至少两组数据库中的每个组数据库中的每个数据库的信息发送到主服务,主服务器根据每个数据库的状态信息确定在同一组中的数据库之间是否进行切换;如此,相同组标识之间的数据才能进行切换,可以通过简单的配置实现数据库组之间的独立监控与切换,进而有助于系统的的高可用性。

图4示例性示出了本发明实施例提供的一种数据库切换的主服务器的结构示意图。

基于相同构思,本发明实施例提供一种主服务器,如图4所示,主服务器400包括接收单元401、决策单元402。其中:

接收单元,用于接收从服务器发送的至少两组数据库中每组数据库中的每个数据库的信息;每个数据库的信息包括数据库的标识、数据库的组标识以及数据库的状态信息;

所决策单元,用于根据每个数据库的状态信息确定数据库的组标识相同的数据库之间是否进行切换。

可选地,决策单元,用于:所在确定数据库的组标识相同的数据库中存在至少一个数据库状态信息为正常状态的数据库时,则将数据库状态信息为异常状态的数据库切换数据库状态为正常状态的数据库。

可选地,决策单元,用于:所在确定传输每个数据库的信息的时长不大于第二预设时长时,决策单元根据每个数据库的状态信息确定数据库的组标识相同的数据库之间是否进行切换;决策单元在确定传输每个数据库的信息的时长大于第二预设时长时,决策单元向从服务器发送获取每个数据库的信息的请求。

从上述内容可以看出:由于本发明实施例中,从服务器获取至少两组数据库中每组数据库中的每个数据库的状态信息;其中,每组数据库包括一个主数据库和至少一个备数据库,每组数据库对应四种功能类型中任一种或者任多种;四种功能类型包括增加功能、删除功能、更改功能以及查询功能;状态信息包括正常状态和异常状态;根据数据库的功能类型分为至少两个数据库组,形成相互独立的至少两组数据库,各每组之间的数据相互独立;将至少两组数据库中的每个组数据库中的每个数据库的信息发送到主服务,主服务器根据每个数据库的状态信息确定在同一组中的数据库之间是否进行切换;如此,相同组标识之间的数据才能进行切换,可以通过简单的配置实现数据库组之间的独立监控与切换,进而有助于系统的的高可用性。

在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现、当使用软件程序实现时,可以全部或部分地以计算机程序产品的形式实现。计算机程序产品包括一个或多个指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本发明实施例的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。指令可以存储在计算机存储介质中,或者从一个计算机存储介质向另一个计算机存储介质传输,例如,指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。可用介质可以是磁性介质,(例如,软盘、硬盘、磁带、磁光盘(mo)等)、光介质(例如,cd、dvd、bd、hvd等)、或者半导体介质(例如rom、eprom、eeprom、非易失性存储器(nandflash)、固态硬盘(solidstatedisk,ssd))等。

本领域内的技术人员应明白,本发明实施例可提供为方法、系统、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本发明实施例是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

显然,本领域的技术人员可以对本发明实施例进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本发明实施例的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1